TianoCore EDK2 master
Loading...
Searching...
No Matches
DmaRemappingReportingTable.h
Go to the documentation of this file.
1
18#ifndef _DMA_REMAPPING_REPORTING_TABLE_H_
19#define _DMA_REMAPPING_REPORTING_TABLE_H_
20
22
23#pragma pack(1)
24
28#define EFI_ACPI_DMAR_REVISION 0x01
29
30#define EFI_ACPI_DMAR_FLAGS_INTR_REMAP BIT0
31#define EFI_ACPI_DMAR_FLAGS_X2APIC_OPT_OUT BIT1
32#define EFI_ACPI_DMAR_FLAGS_DMA_CTRL_PLATFORM_OPT_IN_FLAG BIT2
34
38#define EFI_ACPI_DMAR_TYPE_DRHD 0x00
39#define EFI_ACPI_DMAR_TYPE_RMRR 0x01
40#define EFI_ACPI_DMAR_TYPE_ATSR 0x02
41#define EFI_ACPI_DMAR_TYPE_RHSA 0x03
42#define EFI_ACPI_DMAR_TYPE_ANDD 0x04
43#define EFI_ACPI_DMAR_TYPE_SATC 0x05
44#define EFI_ACPI_DMAR_TYPE_SIDP 0x06
46
50#define EFI_ACPI_DMAR_DRHD_FLAGS_INCLUDE_PCI_ALL BIT0
51
55#define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_PCI_ENDPOINT 0x01
56#define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_PCI_BRIDGE 0x02
57#define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_IOAPIC 0x03
58#define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_MSI_CAPABLE_HPET 0x04
59#define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_ACPI_NAMESPACE_DEVICE 0x05
60
61#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_NESTED_NOTALLOWED BIT0
62#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_PWSNP_NOTALLOWED BIT1
63#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_PGSNP_NOTALLOWED BIT2
64#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_ATC_HARDENED BIT3
65#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_ATC_REQUIRED BIT4
67
71#define EFI_ACPI_DMAR_ATSR_FLAGS_ALL_PORTS BIT0
72
76typedef struct {
77 UINT16 Type;
78 UINT16 Length;
80
84typedef struct {
85 UINT8 Device;
86 UINT8 Function;
88
92typedef struct {
93 UINT8 Type;
94 UINT8 Length;
95 UINT8 Flags;
96 UINT8 Reserved;
97 UINT8 EnumerationId;
98 UINT8 StartBusNumber;
100
107typedef struct {
109
121 UINT8 Flags;
122
129 UINT8 Size;
139
146typedef struct {
148 UINT8 Reserved[2];
158
167
178typedef struct {
180
189 UINT8 Flags;
190 UINT8 Reserved;
196
204typedef struct {
206 UINT8 Reserved[4];
218
225typedef struct {
227 UINT8 Reserved[3];
228
239
244typedef struct {
246
257 UINT8 Flags;
258 UINT8 Reserved;
266
271typedef struct {
273
274 UINT16 Reserved;
280
295typedef struct {
297
308
323 UINT8 Flags;
324 UINT8 Reserved[10];
326
327#pragma pack()
328
329#endif