qemu/hw/arm
Manos Pitsidianakis 37fdb2f56a rust: add PL011 device model
This commit adds a re-implementation of hw/char/pl011.c in Rust.

How to build:

1. Configure a QEMU build with:
   --enable-system --target-list=aarch64-softmmu --enable-rust
2. Launching a VM with qemu-system-aarch64 should use the Rust version
   of the pl011 device

Co-authored-by: Junjie Mao <junjie.mao@intel.com>
Co-authored-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Link: https://lore.kernel.org/r/20241024-rust-round-2-v1-2-051e7a25b978@linaro.org
2024-11-05 14:18:15 +01:00
..
allwinner-a10.c replace error_setg(&error_fatal, ...) with error_report() 2024-10-21 22:40:47 +03:00
allwinner-h3.c replace error_setg(&error_fatal, ...) with error_report() 2024-10-21 22:40:47 +03:00
allwinner-r40.c replace error_setg(&error_fatal, ...) with error_report() 2024-10-21 22:40:47 +03:00
armsse.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
armv7m.c target/arm: Move ARM_CPU_IRQ/FIQ definitions to 'cpu-qom.h' header 2024-01-26 11:30:49 +00:00
aspeed_ast10x0.c aspeed: Make the ast1030-a1 SoC not user creatable 2024-03-25 09:57:56 +01:00
aspeed_ast27x0.c aspeed/soc: Support GPIO for AST2700 2024-10-24 07:57:47 +02:00
aspeed_ast2400.c hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
aspeed_ast2600.c aspeed: Introduce a AspeedSoCClass 'boot_from_emmc' handler 2024-07-21 07:46:38 +02:00
aspeed_eeprom.c aspeed: Clean up includes 2024-01-30 21:20:20 +03:00
aspeed_eeprom.h aspeed: Clean up includes 2024-01-30 21:20:20 +03:00
aspeed_soc_common.c hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
aspeed.c hw/arm/aspeed: Correct fmc_model w25q80bl for ast1030-a1 EVB 2024-10-24 07:57:47 +02:00
b-l475e-iot01a.c hw/arm : Connect DM163 to B-L475E-IOT01A 2024-04-30 16:05:08 +01:00
bananapi_m2u.c hw/arm: Check CPU type in machine_run_board_init() 2024-01-05 16:20:15 +01:00
bcm2835_peripherals.c hw/misc: Implement mailbox properties for customer OTP and device specific private keys 2024-07-01 12:48:55 +01:00
bcm2836.c hw/arm/bcm2836: Remove unusued struct 'BCM283XClass' 2024-06-30 19:51:44 +03:00
bcm2838_peripherals.c hw/arm/bcm2838_peripherals: Add clock_isp stub 2024-02-27 13:01:42 +00:00
bcm2838.c hw/arm: Introduce Raspberry PI 4 machine 2024-02-27 13:01:42 +00:00
boot.c hw/arm/boot: Explain why load_elf_hdr() error is ignored 2024-09-05 13:12:37 +01:00
collie.c hw/arm: Build various units only once 2024-01-26 11:30:49 +00:00
cubieboard.c hw/arm: Check CPU type in machine_run_board_init() 2024-01-05 16:20:15 +01:00
digic_boards.c hw/arm: Don't include qemu-common.h unnecessarily 2021-12-15 10:35:26 +00:00
digic.c arm/digic: replace snprintf() with g_strdup_printf() 2022-04-21 17:03:51 +04:00
exynos4_boards.c target/arm: fix exception syndrome for AArch32 bkpt insn 2024-02-02 18:56:32 +00:00
exynos4210.c hw/display/exynos4210_fimd: Pass frame buffer memory region as link 2024-02-26 18:40:09 +01:00
fby35.c hw/arm/aspeed: Move AspeedSoCState::a7mpcore to Aspeed2600SoCState 2023-10-25 09:52:44 +02:00
fsl-imx6.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx6ul.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx7.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx25.c hw/arm/fsl: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
fsl-imx31.c target/arm: Move ARM_CPU_IRQ/FIQ definitions to 'cpu-qom.h' header 2024-01-26 11:30:49 +00:00
highbank.c hw/arm: replace assert(0) with g_assert_not_reached() 2024-09-24 13:53:35 +02:00
imx25_pdk.c hw/arm/fsl-imx25: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
integratorcp.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
Kconfig rust: add PL011 device model 2024-11-05 14:18:15 +01:00
kzm.c hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
mcimx6ul-evk.c hw/arm/fsl-imx6ul: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
mcimx7d-sabre.c hw/arm/fsl-imx7: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
meson.build hw/arm: Remove omap2.c 2024-10-01 14:44:10 +01:00
microbit.c target/arm: Make boards pass base address to armv7m_load_kernel() 2022-09-14 11:19:40 +01:00
mps2-tz.c reset: Use ResetType for qemu_devices_reset() and MachineClass::reset() 2024-09-24 11:33:34 +02:00
mps2.c hw/net/lan9118: use qemu_configure_nic_device() 2024-02-02 16:23:47 +00:00
mps3r.c hw/arm/mps3r: Add remaining devices 2024-02-15 14:32:39 +00:00
msf2-soc.c hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
msf2-som.c hw/arm/msf2: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
musca.c hw/arm/musca: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
musicpal.c hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
netduino2.c hw/arm: Add missing QOM parent for v7-M SoCs 2024-01-09 14:42:40 +00:00
netduinoplus2.c hw/arm: Add missing QOM parent for v7-M SoCs 2024-01-09 14:42:40 +00:00
npcm7xx_boards.c hw/arm/npcm7xx_boards: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
npcm7xx.c hw/char: Extract serial-mm 2024-10-03 19:33:23 +02:00
nrf51_soc.c hw: Simplify memory_region_init_ram() calls 2024-01-05 16:20:15 +01:00
olimex-stm32-h405.c hw/arm: Add missing QOM parent for v7-M SoCs 2024-01-09 14:42:40 +00:00
omap1.c hw/arm/omap1: Remove unused omap_uwire_attach() method 2024-10-15 11:29:45 +01:00
omap_sx1.c hw/arm: Build various units only once 2024-01-26 11:30:49 +00:00
orangepi.c hw/arm: Check CPU type in machine_run_board_init() 2024-01-05 16:20:15 +01:00
raspi4b.c raspi4b: Reduce RAM to 1Gb on 32-bit hosts 2024-04-02 10:13:48 +01:00
raspi.c hw/arm/raspi4b: Temporarily disable unimplemented rpi4b devices 2024-02-27 13:01:42 +00:00
realview.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
sabrelite.c hw/arm/fsl-imx6: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
sbsa-ref.c hw/arm/sbsa-ref: Don't leak string in sbsa_fdt_add_gic_node() 2024-09-05 13:12:37 +01:00
smmu-common.c docs: Fix some typos (found by typos) and grammar issues 2024-08-16 14:12:59 +01:00
smmu-internal.h hw/arm/smmuv3: Add VMID to TLB tagging 2023-05-30 15:50:16 +01:00
smmuv3-internal.h hw/arm/smmuv3: Assert input to oas2bits() is valid 2024-07-29 13:34:18 +01:00
smmuv3.c hw/arm/smmuv3: Update comment documenting "stage" property 2024-09-05 13:12:36 +01:00
stellaris.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
stm32f100_soc.c hw/arm/socs: configure priority bits for existing SOCs 2024-01-09 14:42:40 +00:00
stm32f205_soc.c hw/arm/socs: configure priority bits for existing SOCs 2024-01-09 14:42:40 +00:00
stm32f405_soc.c hw/arm/stm32f405: Add RCC device to stm32f405 SoC 2024-10-15 11:29:45 +01:00
stm32l4x5_soc.c hw/misc: Create STM32L4x5 SYSCFG clock 2024-10-15 11:29:45 +01:00
stm32vldiscovery.c hw/arm: Add missing QOM parent for v7-M SoCs 2024-01-09 14:42:40 +00:00
strongarm.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
trace-events hw/arm: xenpvh: Break out a common PVH machine 2024-09-04 16:50:42 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
vexpress.c hw/display/pl110: Pass frame buffer memory region as link property 2024-02-26 18:39:58 +01:00
virt-acpi-build.c arm/virt: place power button pin number on a define 2024-08-12 11:40:16 +01:00
virt.c arm/kvm: add support for MTE 2024-10-29 12:54:40 +00:00
xen-pvh.c hw/arm: xenpvh: Enable PCI for ARM PVH 2024-10-03 19:37:35 +02:00
xen-stubs.c hw/arm: xenpvh: Move stubbed functions to xen-stubs.c 2024-09-04 16:50:42 +02:00
xilinx_zynq.c hw/arm/xilinx_zynq: Add various missing unimplemented devices 2024-10-15 15:16:17 +01:00
xlnx-versal-virt.c replace error_setg(&error_fatal, ...) with error_report() 2024-10-21 22:40:47 +03:00
xlnx-versal.c hw/arm/xlnx: Connect secondary CGEM IRQs 2024-10-01 13:55:38 +01:00
xlnx-zcu102.c hw/arm/xlnx-zynqmp: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
xlnx-zynqmp.c hw/arm/xlnx: Connect secondary CGEM IRQs 2024-10-01 13:55:38 +01:00