diff options
author | Nico Huber <nico.h@gmx.de> | 2022-08-15 00:08:58 +0200 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2022-09-04 16:39:14 +0000 |
commit | 577c6b9225515aeb32918881bfb5503c3fd71068 (patch) | |
tree | 1bac9101bb9406e3d88d52e633b89a8ee8f1a567 /src/include | |
parent | 526c64249a0a0c7b83d1914b88d4f938ede7dc1c (diff) |
pciexp_device: Propagate above-4G flag to all hotplug devices
The `IORESOURCE_ABOVE_4G` flag was only explicitly set for our dummy
device that reserves resources behind a hotplug port. The current re-
source allocator implicitly extends this to all devices below the port,
including real ones. Let's make that explicit, so future changes to the
allocator can't break this rule.
Change-Id: Id4c90b60682cf5c8949cde25362d286625b3e953
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66719
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/device/device.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/include/device/device.h b/src/include/device/device.h index 43ac66dc0f..cd08f1db68 100644 --- a/src/include/device/device.h +++ b/src/include/device/device.h @@ -128,6 +128,7 @@ struct device { unsigned int hidden : 1; /* set if this device is used even in minimum PCI cases */ unsigned int mandatory : 1; + unsigned int hotplug_port : 1; u8 command; uint16_t hotplug_buses; /* Number of hotplug buses to allocate */ @@ -207,6 +208,9 @@ void add_more_links(struct device *dev, unsigned int total_links); bool is_dev_enabled(const struct device *const dev); bool is_devfn_enabled(unsigned int devfn); +/* Returns whether there is a hotplug port on the path to the given device. */ +extern bool dev_path_hotplug(const struct device *); + /* Option ROM helper functions */ void run_bios(struct device *dev, unsigned long addr); |