Lean Sheng Tan has submitted this change. ( https://review.coreboot.org/c/coreboot/+/80245?usp=email )
Change subject: cpu/x86/smm/pci_resource_store: Store DEV/VEN ID ......................................................................
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 --- M src/cpu/x86/smm/pci_resource_store.c M src/include/cpu/x86/smm.h 2 files changed, 4 insertions(+), 0 deletions(-)
Approvals: Arthur Heymans: Looks good to me, approved build bot (Jenkins): Verified
diff --git a/src/cpu/x86/smm/pci_resource_store.c b/src/cpu/x86/smm/pci_resource_store.c index 56bb766..f1d3e28 100644 --- a/src/cpu/x86/smm/pci_resource_store.c +++ b/src/cpu/x86/smm/pci_resource_store.c @@ -34,6 +34,8 @@ 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 dfb27cd..beb88fa 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -73,6 +73,8 @@
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];