mirror of
https://github.com/acpica/acpica/
synced 2025-01-08 02:22:12 +03:00
Merge pull request #911 from winterddd/master
iASL: Add support for the AEST V2 table
This commit is contained in:
commit
8ff276b77c
@ -190,6 +190,8 @@ static const char *AcpiDmAestSubnames[] =
|
||||
"SMMU Error Node",
|
||||
"Vendor-defined Error Node",
|
||||
"GIC Error Node",
|
||||
"PCIE Error Node",
|
||||
"PROXY Error Node",
|
||||
"Unknown Subtable Type" /* Reserved */
|
||||
};
|
||||
|
||||
@ -214,6 +216,7 @@ static const char *AcpiDmAestXfaceNames[] =
|
||||
{
|
||||
"System Register Interface",
|
||||
"Memory Mapped Interface",
|
||||
"Single Record Memory Mapped Interface",
|
||||
"Unknown Interface Type" /* Reserved */
|
||||
};
|
||||
|
||||
@ -1198,6 +1201,16 @@ AcpiDmDumpTable (
|
||||
ByteLength = 18;
|
||||
break;
|
||||
|
||||
case ACPI_DMT_BUF32:
|
||||
|
||||
ByteLength = 32;
|
||||
break;
|
||||
|
||||
case ACPI_DMT_BUF112:
|
||||
|
||||
ByteLength = 112;
|
||||
break;
|
||||
|
||||
case ACPI_DMT_BUF128:
|
||||
|
||||
ByteLength = 128;
|
||||
@ -1409,6 +1422,8 @@ AcpiDmDumpTable (
|
||||
case ACPI_DMT_BUF12:
|
||||
case ACPI_DMT_BUF16:
|
||||
case ACPI_DMT_BUF18:
|
||||
case ACPI_DMT_BUF32:
|
||||
case ACPI_DMT_BUF112:
|
||||
case ACPI_DMT_BUF128:
|
||||
/*
|
||||
* Buffer: Size depends on the opcode and was set above.
|
||||
|
@ -195,6 +195,9 @@ AcpiDmDumpAest (
|
||||
ACPI_DMTABLE_INFO *InfoTable;
|
||||
ACPI_SIZE Length;
|
||||
UINT8 Type;
|
||||
UINT8 Revision = Table->Revision;
|
||||
UINT32 Count;
|
||||
ACPI_AEST_NODE_INTERFACE_HEADER *InterfaceHeader;
|
||||
|
||||
|
||||
/* Very small, generic main table. AEST consists of mostly subtables */
|
||||
@ -234,8 +237,22 @@ AcpiDmDumpAest (
|
||||
break;
|
||||
|
||||
case ACPI_AEST_VENDOR_ERROR_NODE:
|
||||
InfoTable = AcpiDmTableInfoAestVendorError;
|
||||
Length = sizeof (ACPI_AEST_VENDOR);
|
||||
switch (Revision)
|
||||
{
|
||||
case 1:
|
||||
InfoTable = AcpiDmTableInfoAestVendorError;
|
||||
Length = sizeof (ACPI_AEST_VENDOR);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
InfoTable = AcpiDmTableInfoAestVendorV2Error;
|
||||
Length = sizeof (ACPI_AEST_VENDOR_V2);
|
||||
break;
|
||||
|
||||
default:
|
||||
AcpiOsPrintf ("\n**** Unknown AEST revision 0x%X\n", Revision);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case ACPI_AEST_GIC_ERROR_NODE:
|
||||
@ -243,6 +260,16 @@ AcpiDmDumpAest (
|
||||
Length = sizeof (ACPI_AEST_GIC);
|
||||
break;
|
||||
|
||||
case ACPI_AEST_PCIE_ERROR_NODE:
|
||||
InfoTable = AcpiDmTableInfoAestPCIeError;
|
||||
Length = sizeof (ACPI_AEST_PCIE);
|
||||
break;
|
||||
|
||||
case ACPI_AEST_PROXY_ERROR_NODE:
|
||||
InfoTable = AcpiDmTableInfoAestProxyError;
|
||||
Length = sizeof (ACPI_AEST_PROXY);
|
||||
break;
|
||||
|
||||
/* Error case below */
|
||||
default:
|
||||
|
||||
@ -335,8 +362,57 @@ AcpiDmDumpAest (
|
||||
return;
|
||||
}
|
||||
|
||||
Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
|
||||
sizeof (ACPI_AEST_NODE_INTERFACE), AcpiDmTableInfoAestXface);
|
||||
if (Revision == 1)
|
||||
{
|
||||
InfoTable = AcpiDmTableInfoAestXface;
|
||||
Length = sizeof (ACPI_AEST_NODE_INTERFACE);
|
||||
}
|
||||
else if (Revision == 2)
|
||||
{
|
||||
InfoTable = AcpiDmTableInfoAestXfaceHeader;
|
||||
Length = sizeof (ACPI_AEST_NODE_INTERFACE_HEADER);
|
||||
|
||||
Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, Length, InfoTable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Offset += Length;
|
||||
|
||||
InterfaceHeader = ACPI_CAST_PTR (ACPI_AEST_NODE_INTERFACE_HEADER, Subtable);
|
||||
switch (InterfaceHeader->GroupFormat)
|
||||
{
|
||||
case ACPI_AEST_NODE_GROUP_FORMAT_4K:
|
||||
InfoTable = AcpiDmTableInfoAestXface4k;
|
||||
Length = sizeof (ACPI_AEST_NODE_INTERFACE_4K);
|
||||
break;
|
||||
|
||||
case ACPI_AEST_NODE_GROUP_FORMAT_16K:
|
||||
InfoTable = AcpiDmTableInfoAestXface16k;
|
||||
Length = sizeof (ACPI_AEST_NODE_INTERFACE_16K);
|
||||
break;
|
||||
|
||||
case ACPI_AEST_NODE_GROUP_FORMAT_64K:
|
||||
InfoTable = AcpiDmTableInfoAestXface64k;
|
||||
Length = sizeof (ACPI_AEST_NODE_INTERFACE_64K);
|
||||
break;
|
||||
|
||||
default:
|
||||
AcpiOsPrintf ("\n**** Unknown AEST Interface Group Format 0x%X\n",
|
||||
InterfaceHeader->GroupFormat);
|
||||
return;
|
||||
}
|
||||
|
||||
Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset);
|
||||
}
|
||||
else
|
||||
{
|
||||
AcpiOsPrintf ("\n**** Unknown AEST revision 0x%X\n", Revision);
|
||||
return;
|
||||
}
|
||||
|
||||
Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, Length, InfoTable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
@ -345,22 +421,36 @@ AcpiDmDumpAest (
|
||||
/* Point past the interface structure */
|
||||
|
||||
AcpiOsPrintf ("\n");
|
||||
Offset += sizeof (ACPI_AEST_NODE_INTERFACE);
|
||||
Offset += Length;
|
||||
|
||||
/* Dump the entire interrupt structure array, if present */
|
||||
|
||||
if (NodeHeader->NodeInterruptOffset)
|
||||
{
|
||||
Length = NodeHeader->NodeInterruptCount;
|
||||
Count = NodeHeader->NodeInterruptCount;
|
||||
Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset);
|
||||
|
||||
while (Length)
|
||||
while (Count)
|
||||
{
|
||||
/* Dump the interrupt structure */
|
||||
|
||||
switch (Revision) {
|
||||
case 1:
|
||||
InfoTable = AcpiDmTableInfoAestXrupt;
|
||||
Length = sizeof (ACPI_AEST_NODE_INTERRUPT);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
InfoTable = AcpiDmTableInfoAestXruptV2;
|
||||
Length = sizeof (ACPI_AEST_NODE_INTERRUPT_V2);
|
||||
break;
|
||||
default:
|
||||
AcpiOsPrintf ("\n**** Unknown AEST revision 0x%X\n",
|
||||
Revision);
|
||||
return;
|
||||
}
|
||||
Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
|
||||
sizeof (ACPI_AEST_NODE_INTERRUPT),
|
||||
AcpiDmTableInfoAestXrupt);
|
||||
Length, InfoTable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
@ -368,9 +458,9 @@ AcpiDmDumpAest (
|
||||
|
||||
/* Point to the next interrupt structure */
|
||||
|
||||
Offset += sizeof (ACPI_AEST_NODE_INTERRUPT);
|
||||
Offset += Length;
|
||||
Subtable = ACPI_ADD_PTR (ACPI_AEST_HEADER, Table, Offset);
|
||||
Length--;
|
||||
Count--;
|
||||
AcpiOsPrintf ("\n");
|
||||
}
|
||||
}
|
||||
|
@ -287,6 +287,16 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* 3: Vendor Defined V2 */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorV2Error[] =
|
||||
{
|
||||
{ACPI_DMT_UINT64, ACPI_AEST3A_OFFSET (AcpiHid), "ACPI HID", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AEST3A_OFFSET (AcpiUid), "ACPI UID", 0},
|
||||
{ACPI_DMT_BUF16, ACPI_AEST3A_OFFSET (VendorSpecificData), "Vendor Specific Data", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* 4: Gic Error */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[] =
|
||||
@ -296,6 +306,31 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* 5: PCIe Error */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestPCIeError[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_AEST5_OFFSET (IortNodeReference), "Iort Node Reference", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* 6: Proxy Error */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestProxyError[] =
|
||||
{
|
||||
{ACPI_DMT_UINT64, ACPI_AEST6_OFFSET (NodeAddress), "Proxy Node Address", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* Common AEST structures for subtables */
|
||||
|
||||
#define ACPI_DM_AEST_INTERFACE_COMMON(a) \
|
||||
{ACPI_DMT_UINT32, ACPI_AEST0D##a##_OFFSET (Common.ErrorNodeDevice), "Arm Error Node Device", 0},\
|
||||
{ACPI_DMT_UINT32, ACPI_AEST0D##a##_OFFSET (Common.ProcessorAffinity), "Processor Affinity", 0}, \
|
||||
{ACPI_DMT_UINT64, ACPI_AEST0D##a##_OFFSET (Common.ErrorGroupRegisterBase), "Err-Group Register Addr", 0}, \
|
||||
{ACPI_DMT_UINT64, ACPI_AEST0D##a##_OFFSET (Common.FaultInjectRegisterBase), "Err-Inject Register Addr", 0}, \
|
||||
{ACPI_DMT_UINT64, ACPI_AEST0D##a##_OFFSET (Common.InterruptConfigRegisterBase), "IRQ-Config Register Addr", 0},
|
||||
|
||||
/* AestXface: Node Interface Structure */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[] =
|
||||
@ -314,6 +349,60 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* AestXface: Node Interface Structure V2 Header */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestXfaceHeader[] =
|
||||
{
|
||||
{ACPI_DMT_AEST_XFACE, ACPI_AEST0DH_OFFSET (Type), "Interface Type", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_AEST0DH_OFFSET (GroupFormat), "Group Format", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_AEST0DH_OFFSET (Reserved[0]), "Reserved", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AEST0DH_OFFSET (Flags), "Flags (decoded below)", 0},
|
||||
{ACPI_DMT_FLAG0, ACPI_AEST0D_FLAG_OFFSET (Flags, 0), "Shared Interface", 0},
|
||||
{ACPI_DMT_FLAG1, ACPI_AEST0D_FLAG_OFFSET (Flags, 0), "Clear MISCx Registers", 0},
|
||||
{ACPI_DMT_FLAG2, ACPI_AEST0D_FLAG_OFFSET (Flags, 0), "Error Node Device Valid", 0},
|
||||
{ACPI_DMT_FLAG3, ACPI_AEST0D_FLAG_OFFSET (Flags, 0), "Affinity Type", 0},
|
||||
{ACPI_DMT_FLAG4, ACPI_AEST0D_FLAG_OFFSET (Flags, 0), "Error group Address Valid", 0},
|
||||
{ACPI_DMT_FLAG5, ACPI_AEST0D_FLAG_OFFSET (Flags, 0), "Fault Injection Address Valid", 0},
|
||||
{ACPI_DMT_FLAG7, ACPI_AEST0D_FLAG_OFFSET (Flags, 0), "Interrupt Config Address valid", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_AEST0DH_OFFSET (Address), "Address", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AEST0DH_OFFSET (ErrorRecordIndex), "Error Record Index", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AEST0DH_OFFSET (ErrorRecordCount), "Error Record Count", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* AestXface: Node Interface Structure V2 4K Group Format */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface4k[] =
|
||||
{
|
||||
{ACPI_DMT_UINT64, ACPI_AEST0D4_OFFSET (ErrorRecordImplemented),"Error Record Implemented", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_AEST0D4_OFFSET (ErrorStatusReporting), "Error Status Reporting", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_AEST0D4_OFFSET (AddressingMode), "Addressing Mode", 0},
|
||||
ACPI_DM_AEST_INTERFACE_COMMON(4)
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* AestXface: Node Interface Structure V2 16K Group Format */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface16k[] =
|
||||
{
|
||||
{ACPI_DMT_BUF32, ACPI_AEST0D16_OFFSET (ErrorRecordImplemented[0]),"Error Record Implemented", 0},
|
||||
{ACPI_DMT_BUF32, ACPI_AEST0D16_OFFSET (ErrorStatusReporting[0]), "Error Status Reporting", 0},
|
||||
{ACPI_DMT_BUF32, ACPI_AEST0D16_OFFSET (AddressingMode[0]), "Addressing Mode", 0},
|
||||
ACPI_DM_AEST_INTERFACE_COMMON(16)
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* AestXface: Node Interface Structure V2 64K Group Format */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface64k[] =
|
||||
{
|
||||
{ACPI_DMT_BUF112, ACPI_AEST0D64_OFFSET (ErrorRecordImplemented[0]),"Error Record Implemented", 0},
|
||||
{ACPI_DMT_BUF112, ACPI_AEST0D64_OFFSET (ErrorStatusReporting[0]), "Error Status Reporting", 0},
|
||||
{ACPI_DMT_BUF112, ACPI_AEST0D64_OFFSET (AddressingMode[0]), "Addressing Mode", 0},
|
||||
ACPI_DM_AEST_INTERFACE_COMMON(64)
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* AestXrupt: Node Interrupt Structure */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[] =
|
||||
@ -329,6 +418,20 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[] =
|
||||
};
|
||||
|
||||
|
||||
/* AestXrupt: Node Interrupt Structure V2 */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAestXruptV2[] =
|
||||
{
|
||||
{ACPI_DMT_AEST_XRUPT, ACPI_AEST0EA_OFFSET (Type), "Interrupt Type", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_AEST0EA_OFFSET (Reserved), "Reserved", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_AEST0EA_OFFSET (Flags), "Flags (decoded below)", 0},
|
||||
{ACPI_DMT_FLAG0, ACPI_AEST0EA_FLAG_OFFSET (Flags, 0), "Level Triggered", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AEST0EA_OFFSET (Gsiv), "Gsiv", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AEST0EA_OFFSET (Reserved1[0]), "Reserved", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* ASF - Alert Standard Format table (Signature "ASF!")
|
||||
|
@ -206,7 +206,14 @@ DtCompileAest (
|
||||
UINT32 i;
|
||||
UINT32 Offset;
|
||||
DT_FIELD **PFieldList = (DT_FIELD **) List;
|
||||
ACPI_AEST_NODE_INTERFACE_HEADER *AestNodeHeader;
|
||||
UINT8 Revision;
|
||||
ACPI_TABLE_HEADER *Header;
|
||||
|
||||
ParentTable = DtPeekSubtable ();
|
||||
|
||||
Header = ACPI_CAST_PTR (ACPI_TABLE_HEADER, ParentTable->Buffer);
|
||||
Revision = Header->Revision;
|
||||
|
||||
while (*PFieldList)
|
||||
{
|
||||
@ -257,8 +264,21 @@ DtCompileAest (
|
||||
break;
|
||||
|
||||
case ACPI_AEST_VENDOR_ERROR_NODE:
|
||||
switch (Revision)
|
||||
{
|
||||
case 1:
|
||||
InfoTable = AcpiDmTableInfoAestVendorError;
|
||||
break;
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestVendorError;
|
||||
case 2:
|
||||
InfoTable = AcpiDmTableInfoAestVendorV2Error;
|
||||
break;
|
||||
|
||||
default:
|
||||
AcpiOsPrintf ("Unknown AEST Vendor Error Revision: %X\n",
|
||||
Revision);
|
||||
return (AE_ERROR);
|
||||
}
|
||||
break;
|
||||
|
||||
case ACPI_AEST_GIC_ERROR_NODE:
|
||||
@ -266,6 +286,16 @@ DtCompileAest (
|
||||
InfoTable = AcpiDmTableInfoAestGicError;
|
||||
break;
|
||||
|
||||
case ACPI_AEST_PCIE_ERROR_NODE:
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestPCIeError;
|
||||
break;
|
||||
|
||||
case ACPI_AEST_PROXY_ERROR_NODE:
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestProxyError;
|
||||
break;
|
||||
|
||||
/* Error case below */
|
||||
default:
|
||||
AcpiOsPrintf ("Unknown AEST Subtable Type: %X\n",
|
||||
@ -341,9 +371,57 @@ DtCompileAest (
|
||||
}
|
||||
|
||||
/* Compile the (required) node interface structure */
|
||||
if (Revision == 1)
|
||||
{
|
||||
InfoTable = AcpiDmTableInfoAestXface;
|
||||
}
|
||||
else if (Revision == 2)
|
||||
{
|
||||
Status = DtCompileTable (PFieldList, AcpiDmTableInfoAestXfaceHeader,
|
||||
&Subtable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
}
|
||||
|
||||
Status = DtCompileTable (PFieldList, AcpiDmTableInfoAestXface,
|
||||
&Subtable);
|
||||
ParentTable = DtPeekSubtable ();
|
||||
DtInsertSubtable (ParentTable, Subtable);
|
||||
|
||||
Offset += Subtable->Length;
|
||||
|
||||
AestNodeHeader = ACPI_CAST_PTR (ACPI_AEST_NODE_INTERFACE_HEADER,
|
||||
Subtable->Buffer);
|
||||
|
||||
switch (AestNodeHeader->GroupFormat)
|
||||
{
|
||||
case ACPI_AEST_NODE_GROUP_FORMAT_4K:
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestXface4k;
|
||||
break;
|
||||
|
||||
case ACPI_AEST_NODE_GROUP_FORMAT_16K:
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestXface16k;
|
||||
break;
|
||||
|
||||
case ACPI_AEST_NODE_GROUP_FORMAT_64K:
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestXface64k;
|
||||
break;
|
||||
|
||||
/* Error case below */
|
||||
default:
|
||||
AcpiOsPrintf ("Unknown AEST Interface Group Format: %X\n",
|
||||
AestNodeHeader->GroupFormat);
|
||||
return (AE_ERROR);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AcpiOsPrintf ("Unknown AEST Revision: %X\n", Revision);
|
||||
}
|
||||
|
||||
Status = DtCompileTable (PFieldList, InfoTable, &Subtable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
@ -367,8 +445,22 @@ DtCompileAest (
|
||||
|
||||
for (i = 0; i < ErrorNodeHeader->NodeInterruptCount; i++)
|
||||
{
|
||||
Status = DtCompileTable (PFieldList, AcpiDmTableInfoAestXrupt,
|
||||
&Subtable);
|
||||
switch (Revision) {
|
||||
case 1:
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestXrupt;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
|
||||
InfoTable = AcpiDmTableInfoAestXruptV2;
|
||||
break;
|
||||
|
||||
default:
|
||||
AcpiOsPrintf ("Unknown AEST Revision: %X\n", Revision);
|
||||
return (AE_ERROR);
|
||||
}
|
||||
Status = DtCompileTable (PFieldList, InfoTable, &Subtable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return (Status);
|
||||
|
@ -157,13 +157,13 @@
|
||||
|
||||
const unsigned char TemplateAest[] =
|
||||
{
|
||||
0x41,0x45,0x53,0x54,0xCC,0x02,0x00,0x00, /* 00000000 "AEST...." */
|
||||
0x01,0x2A,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 ".*INTEL " */
|
||||
0x41,0x45,0x53,0x54,0x90,0x03,0x00,0x00, /* 00000000 "AEST...." */
|
||||
0x02,0xE6,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */
|
||||
0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000010 "Template" */
|
||||
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
|
||||
0x04,0x06,0x21,0x20,0x00,0x80,0x00,0x00, /* 00000020 "..! ...." */
|
||||
0x28,0x06,0x23,0x20,0x00,0xA0,0x00,0x00, /* 00000020 "(.# ...." */
|
||||
0x2C,0x00,0x00,0x00,0x44,0x00,0x00,0x00, /* 00000028 ",...D..." */
|
||||
0x74,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000030 "t......." */
|
||||
0x94,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000030 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000038 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000040 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */
|
||||
@ -177,76 +177,100 @@ const unsigned char TemplateAest[] =
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000088 "........" */
|
||||
0x11,0x11,0x11,0x01,0x00,0x00,0x00,0x00, /* 00000090 "........" */
|
||||
0x01,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x78, /* 00000098 ".......x" */
|
||||
0x56,0x00,0x00,0x00,0x00,0x74,0x00,0x00, /* 000000A0 "V....t.." */
|
||||
0x2C,0x00,0x00,0x00,0x44,0x00,0x00,0x00, /* 000000A8 ",...D..." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B0 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000B8 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000C0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000C8 "........" */
|
||||
0x11,0x11,0x00,0x00,0x01,0x00,0x01,0x00, /* 000000D0 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000D8 "....gE#." */
|
||||
0x67,0x67,0x67,0x67,0x00,0x00,0x00,0x00, /* 000000E0 "gggg...." */
|
||||
0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00, /* 000000E8 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000F0 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000000F8 "........" */
|
||||
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000100 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000108 "........" */
|
||||
0x11,0x11,0x11,0x01,0x00,0x00,0x00,0x00, /* 00000110 "........" */
|
||||
0x01,0x60,0x00,0x00,0x2C,0x00,0x00,0x00, /* 00000118 ".`..,..." */
|
||||
0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000120 "0......." */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000a0 "....gE#." */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000a8 "....gE#." */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000b0 "....gE#." */
|
||||
0x01,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x78, /* 000000b8 ".......x" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x94,0x00,0x00, /* 000000c0 "........" */
|
||||
0x2C,0x00,0x00,0x00,0x44,0x00,0x00,0x00, /* 000000c8 ",...D..." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000d0 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000d8 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000e0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000e8 "........" */
|
||||
0x11,0x11,0x00,0x00,0x01,0x00,0x01,0x00, /* 000000f0 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000000f8 "....gE#." */
|
||||
0x67,0x67,0x67,0x67,0x00,0x00,0x00,0x00, /* 00000100 "gggg...." */
|
||||
0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00, /* 00000108 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000110 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000118 "........" */
|
||||
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000120 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000128 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000130 "........" */
|
||||
0x00,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 00000138 "........" */
|
||||
0x67,0x45,0x23,0x01,0xAA,0xAA,0x00,0x00, /* 00000140 "gE#....." */
|
||||
0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000148 "........" */
|
||||
0x11,0x11,0x11,0x01,0x00,0x00,0x00,0x00, /* 00000130 "........" */
|
||||
0x01,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x78, /* 00000138 ".......x" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000140 "....gE#." */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000148 "....gE#." */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000150 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000158 "........" */
|
||||
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000160 "........" */
|
||||
0x01,0x80,0x00,0x00,0x2C,0x00,0x00,0x00, /* 00000158 "....,..." */
|
||||
0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000160 "0......." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000168 "........" */
|
||||
0x11,0x11,0x11,0x01,0x00,0x00,0x00,0x00, /* 00000170 "........" */
|
||||
0x02,0x64,0x00,0x00,0x2C,0x00,0x00,0x00, /* 00000178 ".d..,..." */
|
||||
0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000180 "4......." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000188 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000190 "........" */
|
||||
0x00,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 00000198 "........" */
|
||||
0x67,0x45,0x23,0x01,0x55,0x55,0x55,0x55, /* 000001A0 "gE#.UUUU" */
|
||||
0x66,0x66,0x66,0x66,0x01,0x00,0x00,0x00, /* 000001A8 "ffff...." */
|
||||
0x03,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 000001B0 "........" */
|
||||
0x67,0x45,0x23,0x01,0x00,0x00,0x00,0x00, /* 000001B8 "gE#....." */
|
||||
0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000001C0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001C8 "........" */
|
||||
0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x01, /* 000001D0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x03,0x74,0x00,0x00, /* 000001D8 ".....t.." */
|
||||
0x2C,0x00,0x00,0x00,0x44,0x00,0x00,0x00, /* 000001E0 ",...D..." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001E8 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001F0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001F8 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000200 "....gE#." */
|
||||
0x33,0x33,0x33,0x33,0x44,0x44,0x44,0x44, /* 00000208 "3333DDDD" */
|
||||
0x12,0x23,0x34,0x45,0x56,0x67,0x78,0x89, /* 00000210 ".#4EVgx." */
|
||||
0x9A,0xAB,0xBC,0xCD,0xDE,0xEF,0xFF,0x55, /* 00000218 ".......U" */
|
||||
0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 00000220 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000228 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000230 "........" */
|
||||
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000238 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000240 "........" */
|
||||
0x11,0x11,0x11,0x01,0x00,0x00,0x00,0x00, /* 00000248 "........" */
|
||||
0x04,0x7C,0x00,0x00,0x2C,0x00,0x00,0x00, /* 00000250 ".|..,..." */
|
||||
0x34,0x00,0x00,0x00,0x64,0x00,0x00,0x00, /* 00000258 "4...d..." */
|
||||
0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000260 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000170 "........" */
|
||||
0x00,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 00000178 "........" */
|
||||
0x67,0x45,0x23,0x01,0xAA,0xAA,0x00,0x00, /* 00000180 "gE#....." */
|
||||
0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000188 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000190 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000198 "........" */
|
||||
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001a0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001a8 "........" */
|
||||
0x11,0x11,0x11,0x01,0x00,0x00,0x00,0x00, /* 000001b0 "........" */
|
||||
0x01,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x78, /* 000001b8 ".......x" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000001c0 "....gE#." */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 000001c8 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001d0 "........" */
|
||||
0x02,0x84,0x00,0x00,0x2C,0x00,0x00,0x00, /* 000001d8 "....,..." */
|
||||
0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001e0 "4......." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001e8 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001f0 "........" */
|
||||
0x00,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 000001f8 "........" */
|
||||
0x67,0x45,0x23,0x01,0x55,0x55,0x55,0x55, /* 00000200 "gE#.UUUU" */
|
||||
0x66,0x66,0x66,0x66,0x01,0x00,0x00,0x00, /* 00000208 "ffff...." */
|
||||
0x03,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 00000210 "........" */
|
||||
0x67,0x45,0x23,0x01,0x00,0x00,0x00,0x00, /* 00000218 "gE#....." */
|
||||
0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000220 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000228 "........" */
|
||||
0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x01, /* 00000230 "........" */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000238 "........" */
|
||||
0xEF,0xCD,0xAB,0x78,0xEF,0xCD,0xAB,0x89, /* 00000240 "...x...." */
|
||||
0x67,0x45,0x23,0x01,0xEF,0xCD,0xAB,0x89, /* 00000248 "gE#....." */
|
||||
0x67,0x45,0x23,0x01,0xEF,0xCD,0xAB,0x89, /* 00000250 "gE#....." */
|
||||
0x67,0x45,0x23,0x01,0x03,0x98,0x00,0x00, /* 00000258 "gE#....." */
|
||||
0x2C,0x00,0x00,0x00,0x48,0x00,0x00,0x00, /* 00000260 ",...H..." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000268 "........" */
|
||||
0x00,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 00000270 "........" */
|
||||
0x67,0x45,0x23,0x01,0x03,0x00,0x00,0x00, /* 00000278 "gE#....." */
|
||||
0x88,0x88,0x77,0x77,0x00,0x00,0x00,0x00, /* 00000280 "..ww...." */
|
||||
0x03,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 00000288 "........" */
|
||||
0x67,0x45,0x23,0x01,0x00,0x00,0x00,0x00, /* 00000290 "gE#....." */
|
||||
0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000298 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000002A0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x01, /* 000002A8 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000002B0 "........" */
|
||||
0xBB,0xBB,0xAA,0xAA,0xCC,0x00,0x00,0x00, /* 000002B8 "........" */
|
||||
0x01,0x00,0x00,0x01,0xEF,0xCD,0xAB,0x78, /* 000002C0 ".......x" */
|
||||
0x56,0x00,0x00,0x00 /* 000002C8 "V..." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000270 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000278 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000280 "....gE#." */
|
||||
0x33,0x33,0x33,0x33,0x22,0x22,0x22,0x22, /* 00000288 "3333""""" */
|
||||
0x44,0x44,0x44,0x44,0x12,0x23,0x34,0x45, /* 00000290 "DDDD.#4E" */
|
||||
0x56,0x67,0x78,0x89,0x9A,0xAB,0xBC,0xCD, /* 00000298 "Vgx....." */
|
||||
0xDE,0xEF,0xFF,0x55,0x01,0x00,0x00,0x00, /* 000002a0 "...U...." */
|
||||
0x02,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x89, /* 000002a8 "........" */
|
||||
0x67,0x45,0x23,0x01,0x00,0x00,0x00,0x00, /* 000002b0 "gE#....." */
|
||||
0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000002b8 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000002c0 "........" */
|
||||
0x00,0x00,0x00,0x00,0x11,0x11,0x11,0x01, /* 000002c8 "........" */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000002d0 "........" */
|
||||
0xEF,0xCD,0xAB,0x78,0xEF,0xCD,0xAB,0x89, /* 000002d8 "...x...." */
|
||||
0x67,0x45,0x23,0x01,0xEF,0xCD,0xAB,0x89, /* 000002e0 "gE#....." */
|
||||
0x67,0x45,0x23,0x01,0xEF,0xCD,0xAB,0x89, /* 000002e8 "gE#....." */
|
||||
0x67,0x45,0x23,0x01,0x04,0x9C,0x00,0x00, /* 000002f0 "gE#....." */
|
||||
0x2C,0x00,0x00,0x00,0x34,0x00,0x00,0x00, /* 000002f8 ",...4..." */
|
||||
0x84,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 00000300 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000308 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000310 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000318 "....gE#." */
|
||||
0x03,0x00,0x00,0x00,0x88,0x88,0x77,0x77, /* 00000320 "......ww" */
|
||||
0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00, /* 00000328 "........" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000330 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000338 "........" */
|
||||
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000340 "........" */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000348 "........" */
|
||||
0x11,0x11,0x11,0x01,0x00,0x00,0x00,0x00, /* 00000350 "........" */
|
||||
0x01,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x78, /* 00000358 ".......x" */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000360 "....gE#." */
|
||||
0xEF,0xCD,0xAB,0x89,0x67,0x45,0x23,0x01, /* 00000368 "....gE#." */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000370 "........" */
|
||||
0x00,0x00,0x00,0x00,0xBB,0xBB,0xAA,0xAA, /* 00000378 "........" */
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01, /* 00000380 "........" */
|
||||
0xEF,0xCD,0xAB,0x78,0x00,0x00,0x00,0x00, /* 00000388 "...x...." */
|
||||
};
|
||||
|
||||
const unsigned char TemplateAgdi[] =
|
||||
|
@ -439,6 +439,8 @@ DtGetFieldType (
|
||||
case ACPI_DMT_BUF12:
|
||||
case ACPI_DMT_BUF16:
|
||||
case ACPI_DMT_BUF18:
|
||||
case ACPI_DMT_BUF32:
|
||||
case ACPI_DMT_BUF112:
|
||||
case ACPI_DMT_BUF128:
|
||||
case ACPI_DMT_PCI_PATH:
|
||||
case ACPI_DMT_PMTT_VENDOR:
|
||||
@ -746,6 +748,16 @@ DtGetFieldLength (
|
||||
ByteLength = 18;
|
||||
break;
|
||||
|
||||
case ACPI_DMT_BUF32:
|
||||
|
||||
ByteLength = 32;
|
||||
break;
|
||||
|
||||
case ACPI_DMT_BUF112:
|
||||
|
||||
ByteLength = 112;
|
||||
break;
|
||||
|
||||
case ACPI_DMT_BUF128:
|
||||
|
||||
ByteLength = 128;
|
||||
|
@ -226,6 +226,8 @@ typedef enum
|
||||
ACPI_DMT_BUF12,
|
||||
ACPI_DMT_BUF16,
|
||||
ACPI_DMT_BUF18,
|
||||
ACPI_DMT_BUF32,
|
||||
ACPI_DMT_BUF112,
|
||||
ACPI_DMT_BUF128,
|
||||
ACPI_DMT_SIG,
|
||||
ACPI_DMT_STRING,
|
||||
@ -382,9 +384,17 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGenRsrc[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestMemError[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestSmmuError[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorV2Error[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestPCIeError[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestProxyError[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXfaceHeader[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface4k[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface16k[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface64k[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXruptV2[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAgdi[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoApmtNode[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[];
|
||||
|
@ -225,9 +225,17 @@
|
||||
#define ACPI_AEST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_MEMORY,f)
|
||||
#define ACPI_AEST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_SMMU,f)
|
||||
#define ACPI_AEST3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_VENDOR,f)
|
||||
#define ACPI_AEST3A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_VENDOR_V2,f)
|
||||
#define ACPI_AEST4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_GIC,f)
|
||||
#define ACPI_AEST5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PCIE,f)
|
||||
#define ACPI_AEST6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PROXY,f)
|
||||
#define ACPI_AEST0D_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERFACE,f)
|
||||
#define ACPI_AEST0DH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERFACE_HEADER,f)
|
||||
#define ACPI_AEST0D4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERFACE_4K,f)
|
||||
#define ACPI_AEST0D16_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERFACE_16K,f)
|
||||
#define ACPI_AEST0D64_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERFACE_64K,f)
|
||||
#define ACPI_AEST0E_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERRUPT,f)
|
||||
#define ACPI_AEST0EA_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERRUPT_V2,f)
|
||||
#define ACPI_APMTN_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_APMT_NODE,f)
|
||||
#define ACPI_ASF0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_INFO,f)
|
||||
#define ACPI_ASF1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT,f)
|
||||
@ -448,6 +456,7 @@
|
||||
#define ACPI_AEST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_PROCESSOR,f,o)
|
||||
#define ACPI_AEST0D_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERFACE,f,o)
|
||||
#define ACPI_AEST0E_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERRUPT,f,o)
|
||||
#define ACPI_AEST0EA_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERRUPT_V2,f,o)
|
||||
#define ACPI_AGDI_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_AGDI,f,o)
|
||||
#define ACPI_APMTN_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_APMT_NODE,f,o)
|
||||
#define ACPI_BGRT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_BGRT,f,o)
|
||||
|
@ -259,7 +259,9 @@ typedef struct acpi_aest_hdr
|
||||
#define ACPI_AEST_SMMU_ERROR_NODE 2
|
||||
#define ACPI_AEST_VENDOR_ERROR_NODE 3
|
||||
#define ACPI_AEST_GIC_ERROR_NODE 4
|
||||
#define ACPI_AEST_NODE_TYPE_RESERVED 5 /* 5 and above are reserved */
|
||||
#define ACPI_AEST_PCIE_ERROR_NODE 5
|
||||
#define ACPI_AEST_PROXY_ERROR_NODE 6
|
||||
#define ACPI_AEST_NODE_TYPE_RESERVED 7 /* 7 and above are reserved */
|
||||
|
||||
|
||||
/*
|
||||
@ -346,6 +348,16 @@ typedef struct acpi_aest_vendor
|
||||
|
||||
} ACPI_AEST_VENDOR;
|
||||
|
||||
/* 3: Vendor Defined V2 */
|
||||
|
||||
typedef struct acpi_aest_vendor_v2
|
||||
{
|
||||
UINT64 AcpiHid;
|
||||
UINT32 AcpiUid;
|
||||
UINT8 VendorSpecificData[16];
|
||||
|
||||
} ACPI_AEST_VENDOR_V2;
|
||||
|
||||
/* 4: Gic Error */
|
||||
|
||||
typedef struct acpi_aest_gic
|
||||
@ -363,6 +375,22 @@ typedef struct acpi_aest_gic
|
||||
#define ACPI_AEST_GIC_ITS 3
|
||||
#define ACPI_AEST_GIC_RESERVED 4 /* 4 and above are reserved */
|
||||
|
||||
/* 5: PCIe Error */
|
||||
|
||||
typedef struct acpi_aest_pcie
|
||||
{
|
||||
UINT32 IortNodeReference;
|
||||
|
||||
} ACPI_AEST_PCIE;
|
||||
|
||||
|
||||
/* 6: Proxy Error */
|
||||
|
||||
typedef struct acpi_aest_proxy
|
||||
{
|
||||
UINT64 NodeAddress;
|
||||
|
||||
} ACPI_AEST_PROXY;
|
||||
|
||||
/* Node Interface Structure */
|
||||
|
||||
@ -380,11 +408,67 @@ typedef struct acpi_aest_node_interface
|
||||
|
||||
} ACPI_AEST_NODE_INTERFACE;
|
||||
|
||||
/* Node Interface Structure V2*/
|
||||
|
||||
typedef struct acpi_aest_node_interface_header
|
||||
{
|
||||
UINT8 Type;
|
||||
UINT8 GroupFormat;
|
||||
UINT8 Reserved[2];
|
||||
UINT32 Flags;
|
||||
UINT64 Address;
|
||||
UINT32 ErrorRecordIndex;
|
||||
UINT32 ErrorRecordCount;
|
||||
|
||||
} ACPI_AEST_NODE_INTERFACE_HEADER;
|
||||
|
||||
#define ACPI_AEST_NODE_GROUP_FORMAT_4K 0
|
||||
#define ACPI_AEST_NODE_GROUP_FORMAT_16K 1
|
||||
#define ACPI_AEST_NODE_GROUP_FORMAT_64K 2
|
||||
|
||||
typedef struct acpi_aest_node_interface_common
|
||||
{
|
||||
UINT32 ErrorNodeDevice;
|
||||
UINT32 ProcessorAffinity;
|
||||
UINT64 ErrorGroupRegisterBase;
|
||||
UINT64 FaultInjectRegisterBase;
|
||||
UINT64 InterruptConfigRegisterBase;
|
||||
|
||||
} ACPI_AEST_NODE_INTERFACE_COMMON;
|
||||
|
||||
typedef struct acpi_aest_node_interface_4k
|
||||
{
|
||||
UINT64 ErrorRecordImplemented;
|
||||
UINT64 ErrorStatusReporting;
|
||||
UINT64 AddressingMode;
|
||||
ACPI_AEST_NODE_INTERFACE_COMMON Common;
|
||||
|
||||
} ACPI_AEST_NODE_INTERFACE_4K;
|
||||
|
||||
typedef struct acpi_aest_node_interface_16k
|
||||
{
|
||||
UINT64 ErrorRecordImplemented[4];
|
||||
UINT64 ErrorStatusReporting[4];
|
||||
UINT64 AddressingMode[4];
|
||||
ACPI_AEST_NODE_INTERFACE_COMMON Common;
|
||||
|
||||
} ACPI_AEST_NODE_INTERFACE_16K;
|
||||
|
||||
typedef struct acpi_aest_node_interface_64k
|
||||
{
|
||||
INT64 ErrorRecordImplemented[14];
|
||||
UINT64 ErrorStatusReporting[14];
|
||||
UINT64 AddressingMode[14];
|
||||
ACPI_AEST_NODE_INTERFACE_COMMON Common;
|
||||
|
||||
} ACPI_AEST_NODE_INTERFACE_64K;
|
||||
|
||||
/* Values for Type field above */
|
||||
|
||||
#define ACPI_AEST_NODE_SYSTEM_REGISTER 0
|
||||
#define ACPI_AEST_NODE_MEMORY_MAPPED 1
|
||||
#define ACPI_AEST_XFACE_RESERVED 2 /* 2 and above are reserved */
|
||||
#define ACPI_AEST_NODE_SYSTEM_REGISTER 0
|
||||
#define ACPI_AEST_NODE_MEMORY_MAPPED 1
|
||||
#define ACPI_AEST_NODE_SINGLE_RECORD_MEMORY_MAPPED 2
|
||||
#define ACPI_AEST_XFACE_RESERVED 3 /* 2 and above are reserved */
|
||||
|
||||
/* Node Interrupt Structure */
|
||||
|
||||
@ -399,6 +483,18 @@ typedef struct acpi_aest_node_interrupt
|
||||
|
||||
} ACPI_AEST_NODE_INTERRUPT;
|
||||
|
||||
/* Node Interrupt Structure V2 */
|
||||
|
||||
typedef struct acpi_aest_node_interrupt_v2
|
||||
{
|
||||
UINT8 Type;
|
||||
UINT8 Reserved[2];
|
||||
UINT8 Flags;
|
||||
UINT32 Gsiv;
|
||||
UINT8 Reserved1[4];
|
||||
|
||||
} ACPI_AEST_NODE_INTERRUPT_V2;
|
||||
|
||||
/* Values for Type field above */
|
||||
|
||||
#define ACPI_AEST_NODE_FAULT_HANDLING 0
|
||||
|
@ -727,12 +727,14 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
|
||||
{"ACPI_AEST_MEMORY", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_NODE_INTERFACE", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_NODE_INTERRUPT", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_NODE_INTERRUPT_V2", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_PROCESSOR", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_PROCESSOR_CACHE", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_PROCESSOR_GENERIC", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_PROCESSOR_TLB", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_SMMU", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_VENDOR", SRC_TYPE_STRUCT},
|
||||
{"ACPI_AEST_VENDOR_V2", SRC_TYPE_STRUCT},
|
||||
{"ACPI_ASF_ADDRESS", SRC_TYPE_STRUCT},
|
||||
{"ACPI_ASF_ALERT", SRC_TYPE_STRUCT},
|
||||
{"ACPI_ASF_ALERT_DATA", SRC_TYPE_STRUCT},
|
||||
|
Loading…
Reference in New Issue
Block a user