Skip to content

Commit

Permalink
IntelSiliconPkg/VTdInfoPpi: Let it follow DMAR table.
Browse files Browse the repository at this point in the history
We notice that there is real usage in PEI to show
the graphic out. As such we need report RMRR table
in PEI to let VTdPmrPei driver skip the IGD UMA region.

Now the VTD_INFO PPI uses the same DMAR data structure.

Cc: Star Zeng <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jiewen Yao <[email protected]>
Reviewed-by: Star Zeng <[email protected]>
  • Loading branch information
jyao1 committed Sep 20, 2017
1 parent 83a4578 commit f02c531
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions IntelSiliconPkg/Include/Ppi/VtdInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,25 @@
#ifndef __VTD_INFO_PPI_H__
#define __VTD_INFO_PPI_H__

#include <IndustryStandard/DmaRemappingReportingTable.h>

#define EDKII_VTD_INFO_PPI_GUID \
{ \
0x8a59fcb3, 0xf191, 0x400c, { 0x97, 0x67, 0x67, 0xaf, 0x2b, 0x25, 0x68, 0x4a } \
}

typedef struct _EDKII_VTD_INFO_PPI EDKII_VTD_INFO_PPI;

#define EDKII_VTD_INFO_PPI_REVISION 0x00010000

struct _EDKII_VTD_INFO_PPI {
UINT64 Revision;
UINT8 HostAddressWidth;
UINT8 Reserved[3];
UINT32 VTdEngineCount;
UINT64 VTdEngineAddress[1];
};
//
// VTD info PPI just use same data structure as DMAR table.
//
// The reported information must include what is needed in PEI phase, e.g.
// the VTd engine (such as DRHD)
// the reserved DMA address in PEI for eary graphic (such as RMRR for graphic UMA)
//
// The reported information can be and might be a subset of full DMAR table, e.g.
// if some data is not avaiable (such as ANDD),
// if some data is not needed (such as RMRR for legacy USB).
//
typedef EFI_ACPI_DMAR_HEADER EDKII_VTD_INFO_PPI;

extern EFI_GUID gEdkiiVTdInfoPpiGuid;

Expand Down

0 comments on commit f02c531

Please sign in to comment.