mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
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
This commit is contained in:
parent
ca5aa28e24
commit
37fdb2f56a
37 changed files with 1906 additions and 12 deletions
|
@ -20,7 +20,8 @@ config ARM_VIRT
|
|||
select PCI_EXPRESS
|
||||
select PCI_EXPRESS_GENERIC_BRIDGE
|
||||
select PFLASH_CFI01
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL031 # RTC
|
||||
select PL061 # GPIO
|
||||
select GPIO_PWR
|
||||
|
@ -73,7 +74,8 @@ config HIGHBANK
|
|||
select AHCI
|
||||
select ARM_TIMER # sp804
|
||||
select ARM_V7M
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL022 # SPI
|
||||
select PL031 # RTC
|
||||
select PL061 # GPIO
|
||||
|
@ -86,7 +88,8 @@ config INTEGRATOR
|
|||
depends on TCG && ARM
|
||||
select ARM_TIMER
|
||||
select INTEGRATOR_DEBUG
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL031 # RTC
|
||||
select PL041 # audio
|
||||
select PL050 # keyboard/mouse
|
||||
|
@ -104,7 +107,8 @@ config MUSCA
|
|||
default y
|
||||
depends on TCG && ARM
|
||||
select ARMSSE
|
||||
select PL011
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL031
|
||||
select SPLIT_IRQ
|
||||
select UNIMP
|
||||
|
@ -168,7 +172,8 @@ config REALVIEW
|
|||
select WM8750 # audio codec
|
||||
select LSI_SCSI_PCI
|
||||
select PCI
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL031 # RTC
|
||||
select PL041 # audio codec
|
||||
select PL050 # keyboard/mouse
|
||||
|
@ -193,7 +198,8 @@ config SBSA_REF
|
|||
select PCI_EXPRESS
|
||||
select PCI_EXPRESS_GENERIC_BRIDGE
|
||||
select PFLASH_CFI01
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL031 # RTC
|
||||
select PL061 # GPIO
|
||||
select USB_XHCI_SYSBUS
|
||||
|
@ -217,7 +223,8 @@ config STELLARIS
|
|||
select ARM_V7M
|
||||
select CMSDK_APB_WATCHDOG
|
||||
select I2C
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL022 # SPI
|
||||
select PL061 # GPIO
|
||||
select SSD0303 # OLED display
|
||||
|
@ -277,7 +284,8 @@ config VEXPRESS
|
|||
select ARM_TIMER # sp804
|
||||
select LAN9118
|
||||
select PFLASH_CFI01
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select PL041 # audio codec
|
||||
select PL181 # display
|
||||
select REALVIEW
|
||||
|
@ -362,7 +370,8 @@ config RASPI
|
|||
default y
|
||||
depends on TCG && ARM
|
||||
select FRAMEBUFFER
|
||||
select PL011 # UART
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select SDHCI
|
||||
select USB_DWC2
|
||||
select BCM2835_SPI
|
||||
|
@ -438,7 +447,8 @@ config XLNX_VERSAL
|
|||
select ARM_GIC
|
||||
select CPU_CLUSTER
|
||||
select DEVICE_TREE
|
||||
select PL011
|
||||
select PL011 if !HAVE_RUST # UART
|
||||
select X_PL011_RUST if HAVE_RUST # UART
|
||||
select CADENCE
|
||||
select VIRTIO_MMIO
|
||||
select UNIMP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue