64580903c2
For AArch64, the existing "virt" machine is primarily meant to run on KVM and execute virtualization workloads, but we need an environment as faithful as possible to physical hardware, for supporting firmware and OS development for physical Aarch64 machines. This patch introduces new machine type 'sbsa-ref' with main features: - Based on 'virt' machine type. - A new memory map. - CPU type cortex-a57. - EL2 and EL3 are enabled. - GIC version 3. - System bus AHCI controller. - System bus EHCI controller. - CDROM and hard disc on AHCI bus. - E1000E ethernet card on PCIE bus. - VGA display adaptor on PCIE bus. - No virtio devices. - No fw_cfg device. - No ACPI table supplied. - Only minimal device tree nodes. Arm Trusted Firmware and UEFI porting to this are done accordingly, and the firmware should supply ACPI tables to the guest OS. The minimal device tree nodes supplied by QEMU for this platform are only to pass the dynamic info reflecting command line input to firmware, not for loading the guest OS. To make the review easier, this task is split into two patches, the fundamental skeleton part and the peripheral devices part; this patch is the first part. Signed-off-by: Hongbo Zhang <hongbo.zhang@linaro.org> Message-id: 1561890034-15921-2-git-send-email-hongbo.zhang@linaro.org [PMM: commit message tweaks; moved some bits between patch 1 and 2 to ensure patch 1 builds cleanly; removed unneeded lines from Kconfig stanza; only provide board for qemu-system-aarch64, not qemu-system-arm; added MAINTAINERS entry] Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
451 lines
7.9 KiB
Plaintext
451 lines
7.9 KiB
Plaintext
config ARM_VIRT
|
|
bool
|
|
imply PCI_DEVICES
|
|
imply TEST_DEVICES
|
|
imply VFIO_AMD_XGBE
|
|
imply VFIO_PLATFORM
|
|
imply VFIO_XGMAC
|
|
select A15MPCORE
|
|
select ACPI
|
|
select ARM_SMMUV3
|
|
select GPIO_KEY
|
|
select FW_CFG_DMA
|
|
select PCI_EXPRESS
|
|
select PCI_EXPRESS_GENERIC_BRIDGE
|
|
select PFLASH_CFI01
|
|
select PL011 # UART
|
|
select PL031 # RTC
|
|
select PL061 # GPIO
|
|
select PLATFORM_BUS
|
|
select SMBIOS
|
|
select VIRTIO_MMIO
|
|
select ACPI_PCI
|
|
|
|
config CHEETAH
|
|
bool
|
|
select OMAP
|
|
select TSC210X
|
|
|
|
config CUBIEBOARD
|
|
bool
|
|
select ALLWINNER_A10
|
|
|
|
config DIGIC
|
|
bool
|
|
select PTIMER
|
|
select PFLASH_CFI02
|
|
|
|
config EXYNOS4
|
|
bool
|
|
select A9MPCORE
|
|
select I2C
|
|
select LAN9118
|
|
select PL310 # cache controller
|
|
select PTIMER
|
|
select SDHCI
|
|
select USB_EHCI_SYSBUS
|
|
|
|
config HIGHBANK
|
|
bool
|
|
select A9MPCORE
|
|
select A15MPCORE
|
|
select AHCI
|
|
select ARM_TIMER # sp804
|
|
select ARM_V7M
|
|
select PL011 # UART
|
|
select PL022 # Serial port
|
|
select PL031 # RTC
|
|
select PL061 # GPIO
|
|
select PL310 # cache controller
|
|
select XGMAC # ethernet
|
|
|
|
config INTEGRATOR
|
|
bool
|
|
select ARM_TIMER
|
|
select INTEGRATOR_DEBUG
|
|
select PL011 # UART
|
|
select PL031 # RTC
|
|
select PL050 # keyboard/mouse
|
|
select PL110 # pl111 LCD controller
|
|
select PL181 # display
|
|
select SMC91C111
|
|
|
|
config MAINSTONE
|
|
bool
|
|
select PXA2XX
|
|
select PFLASH_CFI01
|
|
select SMC91C111
|
|
|
|
config MUSCA
|
|
bool
|
|
select ARMSSE
|
|
select PL011
|
|
select PL031
|
|
|
|
config MUSICPAL
|
|
bool
|
|
select BITBANG_I2C
|
|
select MARVELL_88W8618
|
|
select PTIMER
|
|
select PFLASH_CFI02
|
|
select SERIAL
|
|
select WM8750
|
|
|
|
config NETDUINO2
|
|
bool
|
|
select STM32F205_SOC
|
|
|
|
config NSERIES
|
|
bool
|
|
select OMAP
|
|
select TMP105 # tempature sensor
|
|
select BLIZZARD # LCD/TV controller
|
|
select ONENAND
|
|
select TSC210X # touchscreen/sensors/audio
|
|
select TSC2005 # touchscreen/sensors/keypad
|
|
select LM832X # GPIO keyboard chip
|
|
select TWL92230 # energy-management
|
|
select TUSB6010
|
|
|
|
config OMAP
|
|
bool
|
|
select FRAMEBUFFER
|
|
select I2C
|
|
select ECC
|
|
select NAND
|
|
select PFLASH_CFI01
|
|
select SD
|
|
select SERIAL
|
|
|
|
config PXA2XX
|
|
bool
|
|
select FRAMEBUFFER
|
|
select I2C
|
|
select SERIAL
|
|
select SD
|
|
select SSI
|
|
select USB_OHCI
|
|
|
|
config GUMSTIX
|
|
bool
|
|
select PFLASH_CFI01
|
|
select SMC91C111
|
|
select PXA2XX
|
|
|
|
config TOSA
|
|
bool
|
|
select ZAURUS # scoop
|
|
select MICRODRIVE
|
|
select PXA2XX
|
|
|
|
config SPITZ
|
|
bool
|
|
select ADS7846 # display
|
|
select MAX111X # A/D converter
|
|
select WM8750 # audio codec
|
|
select MAX7310 # GPIO expander
|
|
select ZAURUS # scoop
|
|
select NAND # memory
|
|
select ECC # Error-correcting for NAND
|
|
select MICRODRIVE
|
|
select PXA2XX
|
|
|
|
config Z2
|
|
bool
|
|
select PFLASH_CFI01
|
|
select WM8750
|
|
select PL011 # UART
|
|
select PXA2XX
|
|
|
|
config REALVIEW
|
|
bool
|
|
imply PCI_DEVICES
|
|
imply PCI_TESTDEV
|
|
select SMC91C111
|
|
select LAN9118
|
|
select A9MPCORE
|
|
select A15MPCORE
|
|
select ARM11MPCORE
|
|
select ARM_TIMER
|
|
select VERSATILE_PCI
|
|
select WM8750 # audio codec
|
|
select LSI_SCSI_PCI
|
|
select PCI
|
|
select PL011 # UART
|
|
select PL031 # RTC
|
|
select PL041 # audio codec
|
|
select PL050 # keyboard/mouse
|
|
select PL061 # GPIO
|
|
select PL080 # DMA controller
|
|
select PL110
|
|
select PL181 # display
|
|
select PL310 # cache controller
|
|
select VERSATILE_I2C
|
|
select DS1338 # I2C RTC+NVRAM
|
|
select USB_OHCI
|
|
|
|
config SBSA_REF
|
|
bool
|
|
imply PCI_DEVICES
|
|
select AHCI
|
|
select ARM_SMMUV3
|
|
select GPIO_KEY
|
|
select PCI_EXPRESS
|
|
select PCI_EXPRESS_GENERIC_BRIDGE
|
|
select PFLASH_CFI01
|
|
select PL011 # UART
|
|
select PL031 # RTC
|
|
select PL061 # GPIO
|
|
select USB_EHCI_SYSBUS
|
|
|
|
config SABRELITE
|
|
bool
|
|
select FSL_IMX6
|
|
select SSI_M25P80
|
|
|
|
config STELLARIS
|
|
bool
|
|
select ARM_V7M
|
|
select CMSDK_APB_WATCHDOG
|
|
select I2C
|
|
select PL011 # UART
|
|
select PL022 # Serial port
|
|
select PL061 # GPIO
|
|
select SSD0303 # OLED display
|
|
select SSD0323 # OLED display
|
|
select SSI_SD
|
|
select STELLARIS_INPUT
|
|
select STELLARIS_ENET # ethernet
|
|
|
|
config STRONGARM
|
|
bool
|
|
select PXA2XX
|
|
|
|
config COLLIE
|
|
bool
|
|
select PFLASH_CFI01
|
|
select ZAURUS # scoop
|
|
select STRONGARM
|
|
|
|
config SX1
|
|
bool
|
|
select OMAP
|
|
|
|
config VERSATILE
|
|
bool
|
|
select ARM_TIMER # sp804
|
|
select PFLASH_CFI01
|
|
select LSI_SCSI_PCI
|
|
select PL050 # keyboard/mouse
|
|
select PL080 # DMA controller
|
|
select PL190 # Vector PIC
|
|
select REALVIEW
|
|
select USB_OHCI
|
|
|
|
config VEXPRESS
|
|
bool
|
|
select A9MPCORE
|
|
select A15MPCORE
|
|
select ARM_MPTIMER
|
|
select ARM_TIMER # sp804
|
|
select LAN9118
|
|
select PFLASH_CFI01
|
|
select PL011 # UART
|
|
select PL041 # audio codec
|
|
select PL181 # display
|
|
select REALVIEW
|
|
select SII9022
|
|
select VIRTIO_MMIO
|
|
|
|
config ZYNQ
|
|
bool
|
|
select A9MPCORE
|
|
select CADENCE # UART
|
|
select PFLASH_CFI02
|
|
select PL330
|
|
select SDHCI
|
|
select SSI_M25P80
|
|
select USB_EHCI_SYSBUS
|
|
select XILINX # UART
|
|
select XILINX_AXI
|
|
select XILINX_SPI
|
|
select XILINX_SPIPS
|
|
select ZYNQ_DEVCFG
|
|
|
|
config ARM_V7M
|
|
bool
|
|
|
|
config ALLWINNER_A10
|
|
bool
|
|
select AHCI
|
|
select ALLWINNER_A10_PIT
|
|
select ALLWINNER_A10_PIC
|
|
select ALLWINNER_EMAC
|
|
select SERIAL
|
|
|
|
config RASPI
|
|
bool
|
|
select FRAMEBUFFER
|
|
select PL011 # UART
|
|
select SDHCI
|
|
|
|
config STM32F205_SOC
|
|
bool
|
|
select ARM_V7M
|
|
select STM32F2XX_TIMER
|
|
select STM32F2XX_USART
|
|
select STM32F2XX_SYSCFG
|
|
select STM32F2XX_ADC
|
|
select STM32F2XX_SPI
|
|
|
|
config XLNX_ZYNQMP_ARM
|
|
bool
|
|
select AHCI
|
|
select ARM_GIC
|
|
select CADENCE
|
|
select DDC
|
|
select DPCD
|
|
select SDHCI
|
|
select SSI
|
|
select SSI_M25P80
|
|
select XILINX_AXI
|
|
select XILINX_SPIPS
|
|
select XLNX_ZYNQMP
|
|
|
|
config XLNX_VERSAL
|
|
bool
|
|
select ARM_GIC
|
|
select PL011
|
|
select CADENCE
|
|
select VIRTIO_MMIO
|
|
|
|
config FSL_IMX25
|
|
bool
|
|
select IMX
|
|
select IMX_FEC
|
|
select IMX_I2C
|
|
select DS1338
|
|
|
|
config FSL_IMX31
|
|
bool
|
|
select SERIAL
|
|
select IMX
|
|
select IMX_I2C
|
|
select LAN9118
|
|
|
|
config FSL_IMX6
|
|
bool
|
|
select A9MPCORE
|
|
select IMX
|
|
select IMX_FEC
|
|
select IMX_I2C
|
|
select SDHCI
|
|
|
|
config ASPEED_SOC
|
|
bool
|
|
select DS1338
|
|
select FTGMAC100
|
|
select I2C
|
|
select PCA9552
|
|
select SERIAL
|
|
select SMBUS_EEPROM
|
|
select SSI
|
|
select SSI_M25P80
|
|
select TMP105
|
|
select TMP421
|
|
|
|
config MPS2
|
|
bool
|
|
select ARMSSE
|
|
select LAN9118
|
|
select MPS2_FPGAIO
|
|
select MPS2_SCC
|
|
select PL022 # Serial port
|
|
select PL080 # DMA controller
|
|
|
|
config FSL_IMX7
|
|
bool
|
|
imply PCI_DEVICES
|
|
imply TEST_DEVICES
|
|
select A15MPCORE
|
|
select PCI
|
|
select IMX
|
|
select IMX_FEC
|
|
select IMX_I2C
|
|
select PCI_EXPRESS_DESIGNWARE
|
|
select SDHCI
|
|
|
|
config ARM_SMMUV3
|
|
bool
|
|
|
|
config FSL_IMX6UL
|
|
bool
|
|
select A15MPCORE
|
|
select IMX
|
|
select IMX_FEC
|
|
select IMX_I2C
|
|
select SDHCI
|
|
|
|
config MICROBIT
|
|
bool
|
|
select NRF51_SOC
|
|
|
|
config NRF51_SOC
|
|
bool
|
|
select I2C
|
|
select ARM_V7M
|
|
|
|
config EMCRAFT_SF2
|
|
bool
|
|
select MSF2
|
|
select SSI_M25P80
|
|
|
|
config MSF2
|
|
bool
|
|
select ARM_V7M
|
|
select PTIMER
|
|
select SERIAL
|
|
select SSI
|
|
|
|
config ZAURUS
|
|
bool
|
|
select NAND
|
|
select ECC
|
|
|
|
config A9MPCORE
|
|
bool
|
|
select A9_GTIMER
|
|
select A9SCU # snoop control unit
|
|
select ARM_GIC
|
|
select ARM_MPTIMER
|
|
|
|
config A15MPCORE
|
|
bool
|
|
select ARM_GIC
|
|
|
|
config ARM11MPCORE
|
|
bool
|
|
select ARM11SCU
|
|
|
|
config ARMSSE
|
|
bool
|
|
select ARM_V7M
|
|
select ARMSSE_CPUID
|
|
select ARMSSE_MHU
|
|
select CMSDK_APB_TIMER
|
|
select CMSDK_APB_DUALTIMER
|
|
select CMSDK_APB_UART
|
|
select CMSDK_APB_WATCHDOG
|
|
select IOTKIT_SECCTL
|
|
select IOTKIT_SYSCTL
|
|
select IOTKIT_SYSINFO
|
|
select TZ_MPC
|
|
select TZ_MSC
|
|
select TZ_PPC
|
|
|
|
config ARMSSE_CPUID
|
|
bool
|
|
|
|
config ARMSSE_MHU
|
|
bool
|