coreboot/src/device
Nico Huber ae81497cb6 device/pci: Limit default domain memory window
When the default pci_domain_read_resources() is used,
keep 32-bit memory resources below the limit given by
CONFIG_DOMAIN_RESOURCE_32BIT_LIMIT. This serves as a
workaround for missing/wrong reservations of chipset
resources.

This will help to get more stable results from our own
allocator, but is far from a complete solution. Indvi-
dual platform ASL code also needs to be considered, so
the OS won't assign conflicting resources.

Most platforms have reserved space between 0xfe000000
and the 4G barrier. So use that as a global default.
In case of `soc/intel/common/`, use 0xe0000000 because
this is what is advertised in ACPI and there are traces
of resources below 0xfe000000 that are unknown to core-
boot's C code (PCH_PRESERVED_BASE?).

Tested on QEMU/Q35 and Siemens/Chili w/ and w/o top-
down allocation. Fixes EHCI w/ top-down in QEMU.

Change-Id: Iae0d888eebd0ec11a9d6f12975ae24dc32a80d8c
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75102
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-06-01 13:11:33 +00:00
..
dram device/dram: Update RDIMM classification from RIMM to DIMM 2023-05-31 18:52:39 +00:00
oprom treewide: Remove repeated words 2023-02-09 10:04:04 +00:00
azalia_device.c treewide: Get rid of CONFIG_AZALIA_MAX_CODECS 2022-02-22 17:40:30 +00:00
cardbus_device.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
cpu_device.c cpu/x86/topology: Add code to fill in topology on struct path 2023-04-06 15:27:23 +00:00
device.c arch/x86/ebda.c: Move setting up ebda to a BS hook 2022-05-17 11:24:12 +00:00
device_const.c src/device + util/sconfig: Introduce new device 'mdio' 2022-11-24 05:53:55 +00:00
device_util.c console: Add format-checking __printf() to die() 2023-05-17 11:23:59 +00:00
gpio.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
i2c.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
i2c_bus.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
Kconfig device/pci: Limit default domain memory window 2023-06-01 13:11:33 +00:00
Makefile.inc device/xhci: Add functions to work with resource pointers 2023-03-05 15:32:34 +00:00
mdio.c device/mdio: Provide helper functions for read and write 2022-11-24 05:58:28 +00:00
mmio.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
pci_class.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
pci_device.c device/pci: Limit default domain memory window 2023-06-01 13:11:33 +00:00
pci_early.c treewide: Remove duplicated include <device/pci.h> 2023-02-01 03:03:34 +00:00
pci_ops.c treewide: Remove duplicated include <device/pci.h> 2023-02-01 03:03:34 +00:00
pci_rom.c device/pci_rom: rework PCI ID remapping in pci_rom_probe 2023-03-09 20:57:40 +00:00
pciexp_device.c device/pciexp_device.c: Do not enable common clock if already active 2023-03-02 13:04:15 +00:00
pcix_device.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
pnp_device.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
resource_allocator_common.c src/device: Clean up includes 2022-10-26 16:38:11 +00:00
resource_allocator_v4.c device/resource_allocator_v4.c: Fix printing unsigned integers 2023-06-01 12:00:38 +00:00
root_device.c lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
smbus_ops.c console: Add format-checking __printf() to die() 2023-05-17 11:23:59 +00:00
software_i2c.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
xhci.c device/xhci: Add functions to work with resource pointers 2023-03-05 15:32:34 +00:00
xhci_resource.c device/xhci: Add functions to work with resource pointers 2023-03-05 15:32:34 +00:00