VTD_ROOT_ENTRY *RootEntry;\r
VTD_CONTEXT_ENTRY *ContextEntryTable;\r
VTD_CONTEXT_ENTRY *ContextEntry;\r
- VTD_SOURCE_ID *PciDescriptor;\r
+ VTD_SOURCE_ID *PciSourceId;\r
VTD_SOURCE_ID SourceId;\r
UINTN MaxBusNumber;\r
UINTN EntryTablePages;\r
\r
MaxBusNumber = 0;\r
- for (Index = 0; Index < mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDescriptorNumber; Index++) {\r
- PciDescriptor = &mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDescriptors[Index];\r
- if (PciDescriptor->Bits.Bus > MaxBusNumber) {\r
- MaxBusNumber = PciDescriptor->Bits.Bus;\r
+ for (Index = 0; Index < mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDeviceDataNumber; Index++) {\r
+ PciSourceId = &mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDeviceData[Index].PciSourceId;\r
+ if (PciSourceId->Bits.Bus > MaxBusNumber) {\r
+ MaxBusNumber = PciSourceId->Bits.Bus;\r
}\r
}\r
DEBUG ((DEBUG_INFO," MaxBusNumber - 0x%x\n", MaxBusNumber));\r
mVtdUnitInformation[VtdIndex].RootEntryTable = (VTD_ROOT_ENTRY *)Buffer;\r
Buffer = (UINT8 *)Buffer + EFI_PAGES_TO_SIZE (RootPages);\r
\r
- for (Index = 0; Index < mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDescriptorNumber; Index++) {\r
- PciDescriptor = &mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDescriptors[Index];\r
+ for (Index = 0; Index < mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDeviceDataNumber; Index++) {\r
+ PciSourceId = &mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDeviceData[Index].PciSourceId;\r
\r
- SourceId.Bits.Bus = PciDescriptor->Bits.Bus;\r
- SourceId.Bits.Device = PciDescriptor->Bits.Device;\r
- SourceId.Bits.Function = PciDescriptor->Bits.Function;\r
+ SourceId.Bits.Bus = PciSourceId->Bits.Bus;\r
+ SourceId.Bits.Device = PciSourceId->Bits.Device;\r
+ SourceId.Bits.Function = PciSourceId->Bits.Function;\r
\r
RootEntry = &mVtdUnitInformation[VtdIndex].RootEntryTable[SourceId.Index.RootIndex];\r
if (RootEntry->Bits.Present == 0) {\r
VTD_CONTEXT_ENTRY *ContextEntry;\r
VTD_SECOND_LEVEL_PAGING_ENTRY *SecondLevelPagingEntry;\r
UINT64 Pt;\r
- UINTN PciDescriptorIndex;\r
+ UINTN PciDataIndex;\r
UINT16 DomainIdentifier;\r
\r
SecondLevelPagingEntry = NULL;\r
return EFI_DEVICE_ERROR;\r
}\r
\r
- PciDescriptorIndex = GetPciDescriptor (VtdIndex, Segment, SourceId);\r
- mVtdUnitInformation[VtdIndex].PciDeviceInfo.AccessCount[PciDescriptorIndex]++;\r
+ PciDataIndex = GetPciDataIndex (VtdIndex, Segment, SourceId);\r
+ mVtdUnitInformation[VtdIndex].PciDeviceInfo.PciDeviceData[PciDataIndex].AccessCount++;\r
//\r
// DomainId should not be 0.\r
//\r
- DomainIdentifier = (UINT16)(PciDescriptorIndex + 1);\r
+ DomainIdentifier = (UINT16)(PciDataIndex + 1);\r
\r
if (ExtContextEntry != NULL) {\r
if (ExtContextEntry->Bits.Present == 0) {\r