coreboot/src/acpi
Felix Held e3c9a04f8b acpi/acpigen: generate DWord IO resource in acpigen_resource_producer_io
When an IO resource producer is generated that covers the whole IO space
from 0 to 0xffff, the length field in the word resource ACPI type would
overflow and be truncated which results in Linux not finding any usable
IO space to use for the PCI IO BARs. Instead generate a double word IO
resource producer to have all cases supported. Beware that covering all
IO ports with the IO resource producer while covering the PCI config IO
ports with a resource consumer in the same PCI root device will make
Linux a bit unhappy and it will complain due to the overlap, but still
end up doing the right thing:

acpi PNP0A08:00: host bridge window expanded to [io 0x0000-0xffff]; [io 0x0000-0xffff window] ignored

The SoC code should make sure to carve out the PCI config IO ports from
the IO resource producer.

TEST=Both Ubuntu 2022.04.1 LTS and Windows 10 are ok with the IO DWord
resource producer.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I8a59cdfcfa30a8fdd13f8db3dc1447994c266c8b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75613
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-06-07 00:09:37 +00:00
..
acpi.c acpi/acpi.c: Assign coreboot_rsdp for QEMU 2023-05-11 16:49:50 +00:00
acpi_pm.c acpi/acpi_pm.c: refactor acpi_pm_state_for_* functions 2022-09-27 14:19:01 +00:00
acpigen.c acpi/acpigen: generate DWord IO resource in acpigen_resource_producer_io 2023-06-07 00:09:37 +00:00
acpigen_dptf.c Reland "drivers/intel/dptf: Add multiple fan support under dptf" 2023-04-12 14:11:45 +00:00
acpigen_dsm.c drivers/usb/acpi: Add USB _DSM method to enable/disable USB LPM per port 2023-01-19 05:58:33 +00:00
acpigen_extern.asl ChromeOS: Refactor ACPI CNVS generation 2021-12-23 21:18:25 +00:00
acpigen_pci.c acpi: Add acpigen_write_PRT* helpers for generating _PRT entries 2021-03-24 16:08:57 +00:00
acpigen_ps2_keybd.c arch/x86/acpi: Add code for KEY_MENU 2022-02-18 20:18:41 +00:00
acpigen_usb.c ec/google/chromeec: Add retimer handle to Type C conn 2022-05-04 13:15:30 +00:00
device.c acpi: Helper functions to add certain _DSD properties 2022-12-05 14:30:57 +00:00
dsdt_top.asl tree/acpi: Replace constant "Zero" with actual number 2022-12-27 09:06:47 +00:00
gnvs.c lib/hardwaremain.c: Move creating ACPI structs to bootstate hooks 2022-04-27 10:56:47 +00:00
Kconfig acpi/Kconfig: move \_SB scope out of ACPI_CPU_STRING 2023-05-13 18:34:44 +00:00
Makefile.inc vc/google/chromeos: Refactor GNVS init 2021-04-30 06:46:07 +00:00
pld.c
sata.c src/acpi: Remove unused <acpi/acpi.h> 2022-01-10 17:22:47 +00:00
soundwire.c src: Remove unused <stdbool> 2022-01-19 15:15:50 +00:00