qemu-e2k/hw/pci-host
Michael S. Tsirkin 40c3472a29 Revert "acpi/gpex: Inform os to keep firmware resource map"
This reverts commit 0cf8882fd0.

Which this commit, with aarch64 when using efi PCI devices with IO ports
do not work.  The reason is that EFI creates I/O port mappings below
0x1000 (in fact, at 0). However Linux, for legacy reasons, does not
support I/O ports <= 0x1000 on PCI, so the I/O assignment created by EFI
is rejected.

EFI creates the mappings primarily for itself, and up until DSM #5
started to be enforced, all PCI resource allocations that existed at
boot were ignored by Linux and recreated from scratch.

Also, the commit in question looks dubious - it seems unlikely that
Linux would fail to create a resource tree. What does
happen is that BARs get moved around, which may cause trouble in some
cases: for instance, Linux had to add special code to the EFI framebuffer
driver to copy with framebuffer BARs being relocated.

DSM #5 has a long history of debate and misinterpretation.

Link: https://lore.kernel.org/r/20210724185234.GA2265457@roeck-us.net/
Fixes: 0cf8882fd0 ("acpi/gpex: Inform os to keep firmware resource map")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2021-08-03 16:32:34 -04:00
..
bonito.c hw/pci-host/bonito: Allow PCI config accesses smaller than 32-bit 2021-07-02 17:34:55 +02:00
designware.c
gpex-acpi.c Revert "acpi/gpex: Inform os to keep firmware resource map" 2021-08-03 16:32:34 -04:00
gpex.c
grackle.c
i440fx.c
Kconfig hw/pci-host/Kconfig: Add missing dependency MV64361 -> I8259 2021-07-20 20:10:03 +02:00
meson.build hw/pci-host: Rename Raven ASIC PCI bridge as raven.c 2021-07-11 22:29:04 +02:00
mv643xx.h hw/pci-host: Add emulation of Marvell MV64361 PPC system controller 2021-05-04 11:41:25 +10:00
mv64361.c mv64361: Remove extra break from a switch case 2021-07-13 10:12:17 +10:00
pam.c
pnv_phb3_msi.c
pnv_phb3_pbcq.c
pnv_phb3.c
pnv_phb4_pec.c
pnv_phb4.c hw/pci-hist/pnv_phb4: Fix typo in pnv_phb4_ioda_write 2021-07-26 07:07:07 -10:00
ppce500.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
q35.c hw/i386: Add a default_bus_bypass_iommu pc machine option 2021-07-16 11:10:45 -04:00
raven.c hw/pci-host/raven: Add PCI_IO_BASE_ADDR definition 2021-07-11 22:29:04 +02:00
remote.c
sabre.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sh_pci.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
trace-events hw/pci-host/bonito: Trace PCI config accesses smaller than 32-bit 2021-07-02 10:41:16 +02:00
trace.h
uninorth.c
versatile.c
xen_igd_pt.c
xilinx-pcie.c