mirror of https://gitee.com/openkylin/linux.git
iommu/vt-d: Store bus information in RMRR PCI device path
This will be used later to match broken RMRR entries. Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
1196c2fb04
commit
57384592c4
|
@ -155,6 +155,7 @@ dmar_alloc_pci_notify_info(struct pci_dev *dev, unsigned long event)
|
|||
if (event == BUS_NOTIFY_ADD_DEVICE) {
|
||||
for (tmp = dev; tmp; tmp = tmp->bus->self) {
|
||||
level--;
|
||||
info->path[level].bus = tmp->bus->number;
|
||||
info->path[level].device = PCI_SLOT(tmp->devfn);
|
||||
info->path[level].function = PCI_FUNC(tmp->devfn);
|
||||
if (pci_is_root_bus(tmp->bus))
|
||||
|
|
|
@ -56,13 +56,19 @@ struct dmar_drhd_unit {
|
|||
struct intel_iommu *iommu;
|
||||
};
|
||||
|
||||
struct dmar_pci_path {
|
||||
u8 bus;
|
||||
u8 device;
|
||||
u8 function;
|
||||
};
|
||||
|
||||
struct dmar_pci_notify_info {
|
||||
struct pci_dev *dev;
|
||||
unsigned long event;
|
||||
int bus;
|
||||
u16 seg;
|
||||
u16 level;
|
||||
struct acpi_dmar_pci_path path[];
|
||||
struct dmar_pci_path path[];
|
||||
} __attribute__((packed));
|
||||
|
||||
extern struct rw_semaphore dmar_global_lock;
|
||||
|
|
Loading…
Reference in New Issue