qemu-e2k/hw
Hongbo Zhang 64580903c2 hw/arm: Add arm SBSA reference machine, skeleton part
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>
2019-07-01 17:29:00 +01:00
..
9pfs xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
acpi hw/acpi: extract acpi_add_rom_blob() 2019-06-16 16:16:52 -04:00
adc Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
alpha Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
arm hw/arm: Add arm SBSA reference machine, skeleton part 2019-07-01 17:29:00 +01:00
audio Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
block Xen queue 2019-07-01 13:03:51 +01:00
bt Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
char xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
core hw: Nuke hw_compat_4_0_1 and pc_compat_4_0_1 2019-06-21 13:25:29 +02:00
cpu Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
cris Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
display xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
dma dma/rc4030: Minor code style cleanup 2019-06-26 13:25:07 +02:00
gpio Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
hppa Supply missing header guards 2019-06-12 13:20:21 +02:00
hyperv Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
i2c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
i386 xen: Drop includes of xen/hvm/params.h 2019-06-24 10:42:30 +01:00
ide Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
input Supply missing header guards 2019-06-12 13:20:21 +02:00
intc aspeed: vic: Add support for legacy register interface 2019-07-01 17:29:00 +01:00
ipack Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ipmi Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
isa Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
lm32 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
m68k Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mem Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
microblaze Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mips hw/mips/gt64xxx_pci: Align the pci0-mem size 2019-06-26 13:23:27 +02:00
misc hw/misc/aspeed_xdma: New device 2019-07-01 17:29:00 +01:00
moxie Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
net xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
nios2 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
nvram Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
openrisc Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-bridge Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-host i.mx7d: pci: Update PCI IRQ mapping to match HW 2019-07-01 17:28:59 +01:00
pcmcia Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ppc ppc patch queue 2019-06-12 2019-06-12 14:43:47 +01:00
rdma Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
riscv Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
s390x Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
scsi Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sd sd: Fix out-of-bounds assertions 2019-06-21 13:25:29 +02:00
semihosting semihosting: split console_out into string and char versions 2019-06-12 17:53:22 +01:00
sh4 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
smbios Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
sparc Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
sparc64 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ssi aspeed/smc: add a 'sdram_base' property 2019-07-01 17:28:59 +01:00
timer aspeed/timer: Ensure positive muldiv delta 2019-07-01 17:28:59 +01:00
tpm Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tricore Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
unicore32 target/unicore32: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
usb xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
vfio vfio/common: Introduce vfio_set_irq_signaling helper 2019-06-13 09:57:37 -06:00
virtio vhost: fix vhost_log size overflow during migration 2019-06-16 16:16:52 -04:00
watchdog aspeed: Link SCU to the watchdog 2019-07-01 17:29:00 +01:00
xen xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xenpv xen: Replace few mentions of xend by libxl 2019-01-14 13:45:40 +00:00
xtensa Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
Kconfig semihosting: introduce CONFIG_SEMIHOSTING 2019-05-28 10:28:50 +01:00
Makefile.objs semihosting: move semihosting configuration into its own directory 2019-05-28 10:28:50 +01:00