diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2024-01-25 14:52:01 +0100 |
---|---|---|
committer | Lean Sheng Tan <sheng.tan@9elements.com> | 2024-01-31 14:47:54 +0000 |
commit | 61ec6e9fa944567022a135723e13d99516ef4481 (patch) | |
tree | fda9a7da562b273c0e7dad7ec0ff0b2182f2bd26 | |
parent | d42125cb95c75270dbccce1e038a9aa7e5aaca4f (diff) |
cpu/x86/smm/pci_resource_store: Store DEV/VEN ID
Allow SMM to verify the list of provided PCI devices by comparing
the device and vendor ID for each PCI device.
Change-Id: I7086fa450fcb117ef8767c199c30462c1ab1e1b6
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80245
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
-rw-r--r-- | src/cpu/x86/smm/pci_resource_store.c | 2 | ||||
-rw-r--r-- | src/include/cpu/x86/smm.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/x86/smm/pci_resource_store.c b/src/cpu/x86/smm/pci_resource_store.c index 56bb766cc3..f1d3e28d03 100644 --- a/src/cpu/x86/smm/pci_resource_store.c +++ b/src/cpu/x86/smm/pci_resource_store.c @@ -34,6 +34,8 @@ bool smm_pci_resource_store_fill_resources(struct smm_pci_resource_info *slots, slots[i_slot].pci_addr = pci_addr; slots[i_slot].class_device = PCI_CLASS_GET_DEVICE(devices[i_dev]->class); slots[i_slot].class_prog = PCI_CLASS_GET_PROG(devices[i_dev]->class); + 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) diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index dfb27cd202..beb88faeab 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -73,6 +73,8 @@ extern unsigned char _binary_smm_end[]; struct smm_pci_resource_info { pci_devfn_t pci_addr; + uint16_t vendor_id; + uint16_t device_id; uint16_t class_device; uint8_t class_prog; struct resource resources[SMM_PCI_RESOURCE_STORE_NUM_RESOURCES]; |