qemu-e2k/hw/arm
Andrew Jones 2c1fb4d5c0 hw/arm/virt-acpi-build: Only expose flash on older machine types
The flash device is exclusively for the host-controlled firmware, so
we should not expose it to the OS. Exposing it risks the OS messing
with it, which could break firmware runtime services and surprise the
OS when all its changes disappear after reboot.

As firmware needs the device and uses DT, we leave the device exposed
there. It's up to firmware to remove the nodes from DT before sending
it on to the OS. However, there's no need to force firmware to remove
tables from ACPI (which it doesn't know how to do anyway), so we
simply don't add the tables in the first place. But, as we've been
adding the tables for quite some time and don't want to change the
default hardware exposed to versioned machines, then we only stop
exposing the flash device tables for 5.1 and later machine types.

Suggested-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Suggested-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 20200629140938.17566-4-drjones@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-07-03 16:59:43 +01:00
..
allwinner-a10.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
allwinner-h3.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
armsse.c hw/arm/armsse: Fix armsse_realize() error API violation 2020-07-02 11:54:47 +02:00
armv7m.c hw/arm: Drop useless object_property_set_link() error handling 2020-07-02 06:25:29 +02:00
aspeed_ast2600.c aspeed: Fix realize error API violation 2020-07-02 11:54:47 +02:00
aspeed_soc.c aspeed: Fix realize error API violation 2020-07-02 11:54:47 +02:00
aspeed.c hw/arm/aspeed: Describe each PCA9552 device 2020-06-26 14:30:28 +01:00
bcm2835_peripherals.c arm/{bcm2835,fsl-imx25,fsl-imx6}: Fix realize error API violations 2020-07-02 11:54:47 +02:00
bcm2836.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
boot.c Remove unnecessary cast when using the address_space API 2020-02-20 14:47:08 +01:00
collie.c hw/arm/collie: Put StrongARMState* into a CollieMachineState struct 2020-04-03 19:23:37 +01:00
cubieboard.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
digic_boards.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
digic.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
exynos4_boards.c sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 1 2020-06-15 22:06:04 +02:00
exynos4210.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
fsl-imx6.c arm/{bcm2835,fsl-imx25,fsl-imx6}: Fix realize error API violations 2020-07-02 11:54:47 +02:00
fsl-imx6ul.c Add the ability to select a different PHY for each i.MX6UL FEC interface 2020-07-03 16:59:41 +01:00
fsl-imx7.c * hw: arm: Set vendor property for IMX SDHCI emulations 2020-06-16 13:36:31 +01:00
fsl-imx25.c arm/{bcm2835,fsl-imx25,fsl-imx6}: Fix realize error API violations 2020-07-02 11:54:47 +02:00
fsl-imx31.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
gumstix.c hw/arm/gumstix: Simplify since the machines are little-endian only 2020-03-05 16:09:14 +00:00
highbank.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
imx25_pdk.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
integratorcp.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
Kconfig hw/arm/mps2: Add I2C devices 2020-06-23 11:39:47 +01:00
kzm.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
mainstone.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
Makefile.objs hw/arm: add Xunlong Orange Pi PC machine 2020-03-12 16:27:33 +00:00
mcimx6ul-evk.c Select MDIO device 2 and 1 as PHY devices for i.MX6UL EVK board. 2020-07-03 16:59:41 +01:00
mcimx7d-sabre.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
microbit.c microbit: Eliminate two local variables in microbit_init() 2020-06-15 22:06:04 +02:00
mps2-tz.c hw/arm/mps2-tz: Use the ARM SBCon two-wire serial bus interface 2020-06-23 11:39:47 +01:00
mps2.c hw/arm/mps2: Add audio I2S interface as unimplemented device 2020-06-23 11:39:47 +01:00
msf2-soc.c sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 2 2020-06-15 22:06:04 +02:00
msf2-som.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
musca.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
musicpal.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
netduino2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
netduinoplus2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
nrf51_soc.c hw/arm: Drop useless object_property_set_link() error handling 2020-07-02 06:25:29 +02:00
nseries.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
omap1.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
omap2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
omap_sx1.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
orangepi.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
palm.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
pxa2xx_gpio.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
pxa2xx_pic.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
pxa2xx.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
raspi.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
realview.c hw/arm: Use TYPE_VERSATILE_I2C instead of hardcoded string 2020-06-23 11:39:47 +01:00
sabrelite.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
sbsa-ref.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
smmu-common.c hw/arm/smmu-common: Simplify smmu_find_smmu_pcibus() logic 2020-03-05 16:09:14 +00:00
smmu-internal.h
smmuv3-internal.h hw/arm/smmuv3: Use correct bit positions in EVT_SET_ADDR2 macro 2019-12-20 14:03:00 +00:00
smmuv3.c hw: Remove unnecessary cast when calling dma_memory_read() 2020-02-20 14:47:08 +01:00
spitz.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
stellaris.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
stm32f205_soc.c arm/stm32f205 arm/stm32f405: Fix realize error API violation 2020-07-02 11:54:47 +02:00
stm32f405_soc.c arm/stm32f205 arm/stm32f405: Fix realize error API violation 2020-07-02 11:54:47 +02:00
strongarm.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
sysbus-fdt.c hw/arm/virt: vTPM support 2020-03-05 12:18:16 -05:00
tosa.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c hw/arm: Use TYPE_VERSATILE_I2C instead of hardcoded string 2020-06-23 11:39:47 +01:00
vexpress.c Qdev patches for 2020-06-23 2020-06-25 09:34:52 +01:00
virt-acpi-build.c hw/arm/virt-acpi-build: Only expose flash on older machine types 2020-07-03 16:59:43 +01:00
virt.c hw/arm/virt-acpi-build: Only expose flash on older machine types 2020-07-03 16:59:43 +01:00
xilinx_zynq.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
xlnx-versal-virt.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
xlnx-versal.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
xlnx-zcu102.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
xlnx-zynqmp.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
z2.c hw/arm/z2: Simplify since the machines are little-endian only 2020-03-05 16:09:15 +00:00