TianoCore EDK2 master
Loading...
Searching...
No Matches
ArmErrorSourceTable.h
Go to the documentation of this file.
1
18#ifndef ARM_ERROR_SOURCE_TABLE_H_
19#define ARM_ERROR_SOURCE_TABLE_H_
20
24#define EFI_ACPI_6_3_ARM_ERROR_SOURCE_TABLE_SIGNATURE SIGNATURE_32('A', 'E', 'S', 'T')
25
26#define EFI_ACPI_ARM_ERROR_SOURCE_TABLE_REVISION 1
27
28#pragma pack(1)
29
33typedef struct {
36
40typedef struct {
47 UINT8 Type;
48
50 UINT16 Length;
51
53 UINT8 Reserved;
54
56 UINT32 DataOffset;
57
60
63
66
67 // Generic node data
68
71
73 UINT64 Reserved1;
74
78
79// AEST Node type definitions
80#define EFI_ACPI_AEST_NODE_TYPE_PROCESSOR 0x0
81#define EFI_ACPI_AEST_NODE_TYPE_MEMORY 0x1
82#define EFI_ACPI_AEST_NODE_TYPE_SMMU 0x2
83#define EFI_ACPI_AEST_NODE_TYPE_VENDOR_DEFINED 0x3
84#define EFI_ACPI_AEST_NODE_TYPE_GIC 0x4
85
89typedef struct {
93 UINT8 Type;
94
96 UINT8 Reserved[3];
97
99 UINT32 Flags;
100
103
107
111
115
119
124
125// AEST Interface node type definitions.
126#define EFI_ACPI_AEST_INTERFACE_TYPE_SR 0x0
127#define EFI_ACPI_AEST_INTERFACE_TYPE_MMIO 0x1
128
129// AEST node interface flag definitions.
130#define EFI_ACPI_AEST_INTERFACE_FLAG_PRIVATE 0
131#define EFI_ACPI_AEST_INTERFACE_FLAG_SHARED BIT0
132#define EFI_ACPI_AEST_INTERFACE_FLAG_CLEAR_MISCX BIT1
133
137typedef struct {
142
144 UINT8 Reserved[2];
145
152
155
159
161 UINT8 Reserved1[3];
163
164// AEST Interrupt node - interrupt type defintions.
165#define EFI_ACPI_AEST_INTERRUPT_TYPE_FAULT_HANDLING 0x0
166#define EFI_ACPI_AEST_INTERRUPT_TYPE_ERROR_RECOVERY 0x1
167
168// AEST Interrupt node - interrupt flag defintions.
169#define EFI_ACPI_AEST_INTERRUPT_FLAG_TRIGGER_TYPE_EDGE 0
170#define EFI_ACPI_AEST_INTERRUPT_FLAG_TRIGGER_TYPE_LEVEL BIT0
171
175typedef struct {
178
180 UINT32 Reserved;
182
186typedef struct {
188 UINT32 TlbRefId;
189
191 UINT32 Reserved;
193
197typedef struct {
199 UINT32 Data;
201
205typedef union {
208
211
215
219typedef struct {
222
225
231
233 UINT8 Reserved;
234
236 UINT8 Flags;
237
239 UINT8 Revision;
240
244
247
248 // Node Interface
249 // EFI_ACPI_AEST_INTERFACE_STRUCT NodeInterface;
250
251 // Node Interrupt Array
252 // EFI_ACPI_AEST_INTERRUPT_STRUCT NodeInterruptArray[n];
254
255// AEST Processor resource type definitions.
256#define EFI_ACPI_AEST_PROCESSOR_RESOURCE_TYPE_CACHE 0x0
257#define EFI_ACPI_AEST_PROCESSOR_RESOURCE_TYPE_TLB 0x1
258#define EFI_ACPI_AEST_PROCESSOR_RESOURCE_TYPE_GENERIC 0x2
259
260// AEST Processor flag definitions.
261#define EFI_ACPI_AEST_PROCESSOR_FLAG_GLOBAL BIT0
262#define EFI_ACPI_AEST_PROCESSOR_FLAG_SHARED BIT1
263
267typedef struct {
270
273
274 // Node Interface
275 // EFI_ACPI_AEST_INTERFACE_STRUCT NodeInterface;
276
277 // Node Interrupt Array
278 // EFI_ACPI_AEST_INTERRUPT_STRUCT NodeInterruptArray[n];
280
284typedef struct {
287
289 UINT32 SmmuRefId;
290
294
295 // Node Interface
296 // EFI_ACPI_AEST_INTERFACE_STRUCT NodeInterface;
297
298 // Node Interrupt Array
299 // EFI_ACPI_AEST_INTERRUPT_STRUCT NodeInterruptArray[n];
301
305typedef struct {
308
311
313 UINT32 UniqueId;
314
316 UINT8 VendorData[16];
317
318 // Node Interface
319 // EFI_ACPI_AEST_INTERFACE_STRUCT NodeInterface;
320
321 // Node Interrupt Array
322 // EFI_ACPI_AEST_INTERRUPT_STRUCT NodeInterruptArray[n];
324
328typedef struct {
331
338
341
342 // Node Interface
343 // EFI_ACPI_AEST_INTERFACE_STRUCT NodeInterface;
344
345 // Node Interrupt Array
346 // EFI_ACPI_AEST_INTERRUPT_STRUCT NodeInterruptArray[n];
348
349// AEST GIC interface type definitions.
350#define EFI_ACPI_AEST_GIC_INTERFACE_TYPE_GICC 0x0
351#define EFI_ACPI_AEST_GIC_INTERFACE_TYPE_GICD 0x1
352#define EFI_ACPI_AEST_GIC_INTERFACE_TYPE_GICR 0x2
353#define EFI_ACPI_AEST_GIC_INTERFACE_TYPE_GITS 0x3
354
355#pragma pack()
356
357#endif // ARM_ERROR_SOURCE_TABLE_H_
EFI_ACPI_AEST_NODE_STRUCT NodeHeader
AEST Node header.
UINT32 GicInterfaceRefId
Identifier for the interface instance.
UINT64 BaseAddress
Base address of error group that contains the error node.
UINT32 Flags
AEST node interface flags.
UINT32 InterruptGsiv
GSIV of interrupt, if interrupt is an SPI or a PPI.
UINT32 ProximityDomain
SRAT proximity domain.
EFI_ACPI_AEST_NODE_STRUCT NodeHeader
AEST Node header.
UINT32 InterfaceOffset
Offset from the start of the node to the node interface structure.
UINT32 DataOffset
Offset from the start of the node to node-specific data.
UINT8 Reserved
Reserved - Must be zero.
UINT16 Length
Length of structure in bytes.
UINT64 ErrorInjectionCountdownRate
The rate in Hz at which the Error Generation Counter decrements.
UINT32 InterruptArrayOffset
Offset from the start of the node to node interrupt array.
UINT64 Reserved1
Reserved - Must be zero.
UINT64 TimestampRate
The timestamp frequency of the counter in Hz.
UINT32 InterruptArrayCount
Number of entries in the interrupt array.
UINT32 CacheRefId
Reference to the cache structure in the PPTT table.
UINT32 Data
Vendor-defined supplementary data.
UINT32 AcpiProcessorId
Processor ID of node.
UINT8 Flags
Processor structure flags.
UINT8 Revision
Processor structure revision.
UINT8 Reserved
Reserved - must be zero.
EFI_ACPI_AEST_PROCESSOR_RESOURCE Resource
Processor resource.
EFI_ACPI_AEST_NODE_STRUCT NodeHeader
AEST Node header.
UINT32 TlbRefId
TLB level from perspective of current processor.
UINT32 SmmuRefId
Reference to the IORT table node that describes this SMMU.
EFI_ACPI_AEST_NODE_STRUCT NodeHeader
AEST Node header.
UINT32 UniqueId
The ACPI Unique identifier of the component.
UINT32 HardwareId
ACPI HID of the component.
EFI_ACPI_AEST_NODE_STRUCT NodeHeader
AEST Node header.
EFI_ACPI_AEST_PROCESSOR_CACHE_RESOURCE_STRUCT Cache
Processor Cache resource.
EFI_ACPI_AEST_PROCESSOR_GENERIC_RESOURCE_STRUCT Generic
Processor Generic resource.
EFI_ACPI_AEST_PROCESSOR_TLB_RESOURCE_STRUCT Tlb
Processor TLB resource.