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>
54 lines
2 KiB
Makefile
54 lines
2 KiB
Makefile
obj-y += boot.o
|
|
obj-$(CONFIG_PLATFORM_BUS) += sysbus-fdt.o
|
|
obj-$(CONFIG_ARM_VIRT) += virt.o
|
|
obj-$(CONFIG_ACPI) += virt-acpi-build.o
|
|
obj-$(CONFIG_DIGIC) += digic_boards.o
|
|
obj-$(CONFIG_EXYNOS4) += exynos4_boards.o
|
|
obj-$(CONFIG_EMCRAFT_SF2) += msf2-som.o
|
|
obj-$(CONFIG_HIGHBANK) += highbank.o
|
|
obj-$(CONFIG_INTEGRATOR) += integratorcp.o
|
|
obj-$(CONFIG_MAINSTONE) += mainstone.o
|
|
obj-$(CONFIG_MICROBIT) += microbit.o
|
|
obj-$(CONFIG_MUSICPAL) += musicpal.o
|
|
obj-$(CONFIG_NETDUINO2) += netduino2.o
|
|
obj-$(CONFIG_NSERIES) += nseries.o
|
|
obj-$(CONFIG_SX1) += omap_sx1.o
|
|
obj-$(CONFIG_CHEETAH) += palm.o
|
|
obj-$(CONFIG_GUMSTIX) += gumstix.o
|
|
obj-$(CONFIG_SPITZ) += spitz.o
|
|
obj-$(CONFIG_TOSA) += tosa.o
|
|
obj-$(CONFIG_Z2) += z2.o
|
|
obj-$(CONFIG_REALVIEW) += realview.o
|
|
obj-$(CONFIG_SBSA_REF) += sbsa-ref.o
|
|
obj-$(CONFIG_STELLARIS) += stellaris.o
|
|
obj-$(CONFIG_COLLIE) += collie.o
|
|
obj-$(CONFIG_VERSATILE) += versatilepb.o
|
|
obj-$(CONFIG_VEXPRESS) += vexpress.o
|
|
obj-$(CONFIG_ZYNQ) += xilinx_zynq.o
|
|
obj-$(CONFIG_SABRELITE) += sabrelite.o
|
|
|
|
obj-$(CONFIG_ARM_V7M) += armv7m.o
|
|
obj-$(CONFIG_EXYNOS4) += exynos4210.o
|
|
obj-$(CONFIG_PXA2XX) += pxa2xx.o pxa2xx_gpio.o pxa2xx_pic.o
|
|
obj-$(CONFIG_DIGIC) += digic.o
|
|
obj-$(CONFIG_OMAP) += omap1.o omap2.o
|
|
obj-$(CONFIG_STRONGARM) += strongarm.o
|
|
obj-$(CONFIG_ALLWINNER_A10) += allwinner-a10.o cubieboard.o
|
|
obj-$(CONFIG_RASPI) += bcm2835_peripherals.o bcm2836.o raspi.o
|
|
obj-$(CONFIG_STM32F205_SOC) += stm32f205_soc.o
|
|
obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx-zynqmp.o xlnx-zcu102.o
|
|
obj-$(CONFIG_XLNX_VERSAL) += xlnx-versal.o xlnx-versal-virt.o
|
|
obj-$(CONFIG_FSL_IMX25) += fsl-imx25.o imx25_pdk.o
|
|
obj-$(CONFIG_FSL_IMX31) += fsl-imx31.o kzm.o
|
|
obj-$(CONFIG_FSL_IMX6) += fsl-imx6.o
|
|
obj-$(CONFIG_ASPEED_SOC) += aspeed_soc.o aspeed.o
|
|
obj-$(CONFIG_MPS2) += mps2.o
|
|
obj-$(CONFIG_MPS2) += mps2-tz.o
|
|
obj-$(CONFIG_MSF2) += msf2-soc.o
|
|
obj-$(CONFIG_MUSCA) += musca.o
|
|
obj-$(CONFIG_ARMSSE) += armsse.o
|
|
obj-$(CONFIG_FSL_IMX7) += fsl-imx7.o mcimx7d-sabre.o
|
|
obj-$(CONFIG_ARM_SMMUV3) += smmu-common.o smmuv3.o
|
|
obj-$(CONFIG_FSL_IMX6UL) += fsl-imx6ul.o mcimx6ul-evk.o
|
|
obj-$(CONFIG_NRF51_SOC) += nrf51_soc.o
|