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>
This commit is contained in:
committed by
Lean Sheng Tan
parent
d42125cb95
commit
61ec6e9fa9
@@ -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].pci_addr = pci_addr;
|
||||||
slots[i_slot].class_device = PCI_CLASS_GET_DEVICE(devices[i_dev]->class);
|
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].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. */
|
/* Use the resource list to get our BARs. */
|
||||||
if (!devices[i_dev]->resource_list)
|
if (!devices[i_dev]->resource_list)
|
||||||
|
@@ -73,6 +73,8 @@ extern unsigned char _binary_smm_end[];
|
|||||||
|
|
||||||
struct smm_pci_resource_info {
|
struct smm_pci_resource_info {
|
||||||
pci_devfn_t pci_addr;
|
pci_devfn_t pci_addr;
|
||||||
|
uint16_t vendor_id;
|
||||||
|
uint16_t device_id;
|
||||||
uint16_t class_device;
|
uint16_t class_device;
|
||||||
uint8_t class_prog;
|
uint8_t class_prog;
|
||||||
struct resource resources[SMM_PCI_RESOURCE_STORE_NUM_RESOURCES];
|
struct resource resources[SMM_PCI_RESOURCE_STORE_NUM_RESOURCES];
|
||||||
|
Reference in New Issue
Block a user