summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2024-01-29 15:39:54 +0100
committerMartin L Roth <gaumless@gmail.com>2024-02-02 14:46:24 +0000
commit0c5b6320d4b55b6ca49e94883a45e05742a266a5 (patch)
treea168e64919ea2b743af689f06039184026be9e55
parent074fbfe8df647b96236b895ebf018c922f3097db (diff)
cpu/x86/smm/pci_resource_store: Allow devices with no resources
When a device with no resource is passed it will keep overwriting the current slot. Remove the conditional and allow a PCI device to not have any resources. This is particular useful for the next commits that makes use of the PCI resource store to pass UBOX devices to SMM that allow to lock-down SMM from within an SMI handler. Those devices do not have any resources and cannot be hardcoded in SMM as their PCI segment group and bus number varies depending on socket count, CPU discovery and configuration. Change-Id: I1a1b5944c97da5be6b9794c653b5159683f492e5 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80246 Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <gaumless@gmail.com>
-rw-r--r--src/cpu/x86/smm/pci_resource_store.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/src/cpu/x86/smm/pci_resource_store.c b/src/cpu/x86/smm/pci_resource_store.c
index f1d3e28d03..b1e61a9497 100644
--- a/src/cpu/x86/smm/pci_resource_store.c
+++ b/src/cpu/x86/smm/pci_resource_store.c
@@ -37,10 +37,6 @@ bool smm_pci_resource_store_fill_resources(struct smm_pci_resource_info *slots,
slots[i_slot].vendor_id = devices[i_dev]->vendor;
slots[i_slot].device_id = devices[i_dev]->device;
- /* Use the resource list to get our BARs. */
- if (!devices[i_dev]->resource_list)
- continue;
-
size_t i_res = 0;
for (const struct resource *res = devices[i_dev]->resource_list; res != NULL;
res = res->next) {