svn commit: r196000 - in vendor-sys/acpica/dist: . common compiler
dispatcher executer hardware include namespace parser
tools/acpiexec tools/acpisrc utilities
Jung-uk Kim
jkim at FreeBSD.org
Fri Jul 31 15:25:40 UTC 2009
Author: jkim
Date: Fri Jul 31 15:25:39 2009
New Revision: 196000
URL: http://svn.freebsd.org/changeset/base/196000
Log:
Import ACPICA 20090730
Added:
vendor-sys/acpica/dist/namespace/nsrepair.c (contents, props changed)
Modified:
vendor-sys/acpica/dist/changes.txt
vendor-sys/acpica/dist/common/dmrestag.c
vendor-sys/acpica/dist/common/dmtable.c
vendor-sys/acpica/dist/common/dmtbdump.c
vendor-sys/acpica/dist/common/dmtbinfo.c
vendor-sys/acpica/dist/compiler/asldefine.h
vendor-sys/acpica/dist/compiler/aslstubs.c
vendor-sys/acpica/dist/dispatcher/dsfield.c
vendor-sys/acpica/dist/dispatcher/dsmethod.c
vendor-sys/acpica/dist/dispatcher/dswload.c
vendor-sys/acpica/dist/executer/exconfig.c
vendor-sys/acpica/dist/hardware/hwsleep.c
vendor-sys/acpica/dist/hardware/hwxface.c
vendor-sys/acpica/dist/include/acdisasm.h
vendor-sys/acpica/dist/include/acglobal.h
vendor-sys/acpica/dist/include/acnamesp.h
vendor-sys/acpica/dist/include/acobject.h
vendor-sys/acpica/dist/include/acparser.h
vendor-sys/acpica/dist/include/acpixf.h
vendor-sys/acpica/dist/include/acpredef.h
vendor-sys/acpica/dist/include/actbl.h
vendor-sys/acpica/dist/include/actbl1.h
vendor-sys/acpica/dist/include/actbl2.h
vendor-sys/acpica/dist/namespace/nseval.c
vendor-sys/acpica/dist/namespace/nspredef.c
vendor-sys/acpica/dist/namespace/nsxfeval.c
vendor-sys/acpica/dist/parser/psloop.c
vendor-sys/acpica/dist/parser/psxface.c
vendor-sys/acpica/dist/tools/acpiexec/Makefile
vendor-sys/acpica/dist/tools/acpisrc/asconvrt.c
vendor-sys/acpica/dist/tools/acpisrc/astable.c
vendor-sys/acpica/dist/utilities/utglobal.c
vendor-sys/acpica/dist/utilities/utinit.c
vendor-sys/acpica/dist/utilities/utxface.c
Modified: vendor-sys/acpica/dist/changes.txt
==============================================================================
--- vendor-sys/acpica/dist/changes.txt Fri Jul 31 14:43:05 2009 (r195999)
+++ vendor-sys/acpica/dist/changes.txt Fri Jul 31 15:25:39 2009 (r196000)
@@ -1,4 +1,76 @@
----------------------------------------
+30 July 2009. Summary of changes for version 20090730:
+
+This release is available at www.acpica.org/downloads
+
+The ACPI 4.0 implementation for ACPICA is complete with this release.
+
+1) ACPI CA Core Subsystem:
+
+ACPI 4.0: Added header file support for all new and changed ACPI tables.
+Completely new tables are: IBFT, IVRS, MSCT, and WAET. Tables that are new
+for ACPI 4.0, but have previously been supported in ACPICA are: CPEP, BERT,
+EINJ, ERST, and HEST. Other newly supported tables are: UEFI and WDAT. There
+have been some ACPI 4.0 changes to other existing tables. Split the large
+actbl1.h header into the existing actbl2.h header. ACPICA BZ 774.
+
+ACPI 4.0: Implemented predefined name validation for all new names. There are
+31 new names in ACPI 4.0. The predefined validation module was split into two
+files. The new file is namespace/nsrepair.c. ACPICA BZ 770.
+
+Implemented support for so-called "module-level executable code". This is
+executable AML code that exists outside of any control method and is intended
+to be executed at table load time. Although illegal since ACPI 2.0, this type
+of code still exists and is apparently still being created. Blocks of this
+code are now detected and executed as intended. Currently, the code blocks
+must exist under either an If, Else, or While construct; these are the
+typical cases seen in the field. ACPICA BZ 762. Lin Ming.
+
+Implemented an automatic dynamic repair for predefined names that return
+nested Package objects. This applies to predefined names that are defined to
+return a variable-length Package of sub-packages. If the number of sub-
+packages is one, BIOS code is occasionally seen that creates a simple single
+package with no sub-packages. This code attempts to fix the problem by
+wrapping a new package object around the existing package. These methods can
+be repaired: _ALR, _CSD, _HPX, _MLS, _PRT, _PSS, _TRT, and _TSS. ACPICA BZ
+790.
+
+Fixed a regression introduced in 20090625 for the AcpiGetDevices interface.
+The _HID/_CID matching was broken and no longer matched IDs correctly. ACPICA
+BZ 793.
+
+Fixed a problem with AcpiReset where the reset would silently fail if the
+register was one of the protected I/O ports. AcpiReset now bypasses the port
+validation mechanism. This may eventually be driven into the AcpiRead/Write
+interfaces.
+
+Fixed a regression related to the recent update of the AcpiRead/Write
+interfaces. A sleep/suspend could fail if the optional PM2 Control register
+does not exist during an attempt to write the Bus Master Arbitration bit.
+(However, some hosts already delete the code that writes this bit, and the
+code may in fact be obsolete at this date.) ACPICA BZ 799.
+
+Fixed a problem where AcpiTerminate could fault if inadvertently called twice
+in succession. ACPICA BZ 795.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 84.7K Code, 17.8K Data, 102.5K Total
+ Debug Version: 160.5K Code, 50.6K Data, 211.1K Total
+ Current Release:
+ Non-Debug Version: 85.5K Code, 18.0K Data, 103.5K Total
+ Debug Version: 161.6K Code, 50.9K Data, 212.5K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+ACPI 4.0: Implemented disassembler support for all new ACPI tables and
+changes to existing tables. ACPICA BZ 775.
+
+----------------------------------------
25 June 2009. Summary of changes for version 20090625:
This release is available at www.acpica.org/downloads
Modified: vendor-sys/acpica/dist/common/dmrestag.c
==============================================================================
--- vendor-sys/acpica/dist/common/dmrestag.c Fri Jul 31 14:43:05 2009 (r195999)
+++ vendor-sys/acpica/dist/common/dmrestag.c Fri Jul 31 15:25:39 2009 (r196000)
@@ -387,7 +387,7 @@ static ACPI_RESOURCE_TAG *AcpiGbl
static UINT32 AcpiGbl_NextResourceId = 0;
static UINT8 AcpiGbl_NextPrefix = 0;
-static UINT8 AcpiGbl_Prefix[ACPI_NUM_RES_PREFIX] =
+static char AcpiGbl_Prefix[ACPI_NUM_RES_PREFIX] =
{'Y','Z','J','K','X'};
Modified: vendor-sys/acpica/dist/common/dmtable.c
==============================================================================
--- vendor-sys/acpica/dist/common/dmtable.c Fri Jul 31 14:43:05 2009 (r195999)
+++ vendor-sys/acpica/dist/common/dmtable.c Fri Jul 31 15:25:39 2009 (r196000)
@@ -132,6 +132,7 @@ AcpiDmGetTableData (
static void
AcpiDmCheckAscii (
UINT8 *Target,
+ char *RepairedName,
UINT32 Count);
UINT8
@@ -156,17 +157,18 @@ static const char *AcpiDmDmarS
"Hardware Unit Definition",
"Reserved Memory Region",
"Root Port ATS Capability",
+ "Remapping Hardware Static Affinity",
"Unknown SubTable Type" /* Reserved */
};
static const char *AcpiDmHestSubnames[] =
{
- "XPF Machine Check Exception",
- "XPF Corrected Machine Check",
- "NOT USED???",
- "XPF Non-Maskable Interrupt",
- "IPF Corrected Machine Check",
- "IPF Corrected Platform Error",
+ "IA-32 Machine Check Exception",
+ "IA-32 Corrected Machine Check",
+ "IA-32 Non-Maskable Interrupt",
+ "Unknown SubTable Type", /* 3 - Reserved */
+ "Unknown SubTable Type", /* 4 - Reserved */
+ "Unknown SubTable Type", /* 5 - Reserved */
"PCI Express Root Port AER",
"PCI Express AER (AER Endpoint)",
"PCI Express/PCI-X Bridge AER",
@@ -208,6 +210,14 @@ static const char *AcpiDmSratS
"Unknown SubTable Type" /* Reserved */
};
+static const char *AcpiDmIvrsSubnames[] =
+{
+ "Hardware Definition Block",
+ "Memory Definition Block",
+ "Unknown SubTable Type" /* Reserved */
+};
+
+
#define ACPI_FADT_PM_RESERVED 8
@@ -224,11 +234,12 @@ static const char *AcpiDmFadtP
"Unknown Profile Type"
};
-
/*******************************************************************************
*
* ACPI Table Data, indexed by signature.
*
+ * Each entry contains: Signature, Table Info, Handler, Description
+ *
* Simple tables have only a TableInfo structure, complex tables have a handler.
* This table must be NULL terminated. RSDP and FACS are special-cased
* elsewhere.
@@ -249,8 +260,10 @@ static ACPI_DMTABLE_DATA AcpiDmTableD
{ACPI_SIG_FADT, NULL, AcpiDmDumpFadt, "Fixed ACPI Description Table"},
{ACPI_SIG_HEST, NULL, AcpiDmDumpHest, "Hardware Error Source Table"},
{ACPI_SIG_HPET, AcpiDmTableInfoHpet, NULL, "High Precision Event Timer table"},
+ {ACPI_SIG_IVRS, NULL, AcpiDmDumpIvrs, "I/O Virtualization Reporting Structure"},
{ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, "Multiple APIC Description Table"},
{ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, "Memory Mapped Configuration table"},
+ {ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, "Maximum System Characteristics Table"},
{ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, "Root System Description Table"},
{ACPI_SIG_SBST, AcpiDmTableInfoSbst, NULL, "Smart Battery Specification Table"},
{ACPI_SIG_SLIC, AcpiDmTableInfoSlic, NULL, "Software Licensing Description Table"},
@@ -259,6 +272,9 @@ static ACPI_DMTABLE_DATA AcpiDmTableD
{ACPI_SIG_SPMI, AcpiDmTableInfoSpmi, NULL, "Server Platform Management Interface table"},
{ACPI_SIG_SRAT, NULL, AcpiDmDumpSrat, "System Resource Affinity Table"},
{ACPI_SIG_TCPA, AcpiDmTableInfoTcpa, NULL, "Trusted Computing Platform Alliance table"},
+ {ACPI_SIG_UEFI, AcpiDmTableInfoUefi, NULL, "UEFI Boot Optimization Table"},
+ {ACPI_SIG_WAET, AcpiDmTableInfoWaet, NULL, "Windows ACPI Emulated Devices Table"},
+ {ACPI_SIG_WDAT, NULL, AcpiDmDumpWdat, "Watchdog Action Table"},
{ACPI_SIG_WDRT, AcpiDmTableInfoWdrt, NULL, "Watchdog Resource Table"},
{ACPI_SIG_XSDT, NULL, AcpiDmDumpXsdt, "Extended System Description Table"},
{NULL, NULL, NULL, NULL}
@@ -511,7 +527,9 @@ AcpiDmDumpTable (
UINT8 Temp8;
UINT16 Temp16;
ACPI_DMTABLE_DATA *TableData;
+ const char *Name;
BOOLEAN LastOutputBlankLine = FALSE;
+ char RepairedName[8];
if (!Info)
@@ -547,6 +565,7 @@ AcpiDmDumpTable (
case ACPI_DMT_UINT8:
case ACPI_DMT_CHKSUM:
case ACPI_DMT_SPACEID:
+ case ACPI_DMT_IVRS:
case ACPI_DMT_MADT:
case ACPI_DMT_SRAT:
case ACPI_DMT_ASF:
@@ -577,6 +596,9 @@ AcpiDmDumpTable (
case ACPI_DMT_NAME8:
ByteLength = 8;
break;
+ case ACPI_DMT_BUF16:
+ ByteLength = 16;
+ break;
case ACPI_DMT_STRING:
ByteLength = ACPI_STRLEN (ACPI_CAST_PTR (char, Target)) + 1;
break;
@@ -677,17 +699,28 @@ AcpiDmDumpTable (
ACPI_FORMAT_UINT64 (ACPI_GET64 (Target)));
break;
+ case ACPI_DMT_BUF16:
+
+ /* Buffer of length 16 */
+
+ for (Temp8 = 0; Temp8 < 16; Temp8++)
+ {
+ AcpiOsPrintf ("%2.2X,", Target[Temp8]);
+ }
+ AcpiOsPrintf ("\n");
+ break;
+
case ACPI_DMT_STRING:
- AcpiOsPrintf ("%s\n", ACPI_CAST_PTR (char, Target));
+ AcpiOsPrintf ("\"%s\"\n", ACPI_CAST_PTR (char, Target));
break;
/* Fixed length ASCII name fields */
case ACPI_DMT_SIG:
- AcpiDmCheckAscii (Target, 4);
- AcpiOsPrintf ("\"%4.4s\" ", Target);
+ AcpiDmCheckAscii (Target, RepairedName, 4);
+ AcpiOsPrintf ("\"%.4s\" ", RepairedName);
TableData = AcpiDmGetTableData (ACPI_CAST_PTR (char, Target));
if (TableData)
{
@@ -698,20 +731,20 @@ AcpiDmDumpTable (
case ACPI_DMT_NAME4:
- AcpiDmCheckAscii (Target, 4);
- AcpiOsPrintf ("\"%4.4s\"\n", Target);
+ AcpiDmCheckAscii (Target, RepairedName, 4);
+ AcpiOsPrintf ("\"%.4s\"\n", RepairedName);
break;
case ACPI_DMT_NAME6:
- AcpiDmCheckAscii (Target, 6);
- AcpiOsPrintf ("\"%6.6s\"\n", Target);
+ AcpiDmCheckAscii (Target, RepairedName, 6);
+ AcpiOsPrintf ("\"%.6s\"\n", RepairedName);
break;
case ACPI_DMT_NAME8:
- AcpiDmCheckAscii (Target, 8);
- AcpiOsPrintf ("\"%8.8s\"\n", Target);
+ AcpiDmCheckAscii (Target, RepairedName, 8);
+ AcpiOsPrintf ("\"%.8s\"\n", RepairedName);
break;
/* Special Data Types */
@@ -742,8 +775,8 @@ AcpiDmDumpTable (
/* Generic Address Structure */
AcpiOsPrintf ("<Generic Address Structure>\n");
- AcpiDmDumpTable (ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Length,
- CurrentOffset, Target, sizeof (ACPI_GENERIC_ADDRESS), AcpiDmTableInfoGas);
+ AcpiDmDumpTable (TableLength, CurrentOffset, Target,
+ sizeof (ACPI_GENERIC_ADDRESS), AcpiDmTableInfoGas);
AcpiOsPrintf ("\n");
LastOutputBlankLine = TRUE;
break;
@@ -790,8 +823,8 @@ AcpiDmDumpTable (
case ACPI_DMT_HESTNTFY:
AcpiOsPrintf ("<Hardware Error Notification Structure>\n");
- AcpiDmDumpTable (ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Length,
- CurrentOffset, Target, sizeof (ACPI_HEST_NOTIFY), AcpiDmTableInfoHestNotify);
+ AcpiDmDumpTable (TableLength, CurrentOffset, Target,
+ sizeof (ACPI_HEST_NOTIFY), AcpiDmTableInfoHestNotify);
AcpiOsPrintf ("\n");
LastOutputBlankLine = TRUE;
break;
@@ -849,6 +882,31 @@ AcpiDmDumpTable (
AcpiOsPrintf ("%2.2X (%s)\n", *Target, AcpiDmFadtProfiles[Temp8]);
break;
+ case ACPI_DMT_IVRS:
+
+ /* IVRS subtable types */
+
+ Temp8 = *Target;
+ switch (Temp8)
+ {
+ case ACPI_IVRS_TYPE_HARDWARE:
+ Name = AcpiDmIvrsSubnames[0];
+ break;
+
+ case ACPI_IVRS_TYPE_MEMORY1:
+ case ACPI_IVRS_TYPE_MEMORY2:
+ case ACPI_IVRS_TYPE_MEMORY3:
+ Name = AcpiDmIvrsSubnames[1];
+ break;
+
+ default:
+ Name = AcpiDmIvrsSubnames[2];
+ break;
+ }
+
+ AcpiOsPrintf ("%2.2X <%s>\n", *Target, Name);
+ break;
+
case ACPI_DMT_EXIT:
return (AE_OK);
@@ -888,6 +946,7 @@ AcpiDmDumpTable (
static void
AcpiDmCheckAscii (
UINT8 *Name,
+ char *RepairedName,
UINT32 Count)
{
UINT32 i;
@@ -895,9 +954,15 @@ AcpiDmCheckAscii (
for (i = 0; i < Count; i++)
{
- if (!Name[i] || !isprint (Name[i]))
+ RepairedName[i] = Name[i];
+
+ if (!Name[i])
+ {
+ return;
+ }
+ if (!isprint (Name[i]))
{
- Name[i] = ' ';
+ RepairedName[i] = ' ';
}
}
}
Modified: vendor-sys/acpica/dist/common/dmtbdump.c
==============================================================================
--- vendor-sys/acpica/dist/common/dmtbdump.c Fri Jul 31 14:43:05 2009 (r195999)
+++ vendor-sys/acpica/dist/common/dmtbdump.c Fri Jul 31 15:25:39 2009 (r196000)
@@ -306,6 +306,7 @@ AcpiDmDumpAsf (
UINT32 DataLength = 0;
UINT32 DataOffset = 0;
UINT32 i;
+ UINT8 Type;
/* No main table, only sub-tables */
@@ -322,7 +323,11 @@ AcpiDmDumpAsf (
return;
}
- switch (SubTable->Header.Type & 0x7F) /* Mask off top bit */
+ /* The actual type is the lower 7 bits of Type */
+
+ Type = (UINT8) (SubTable->Header.Type & 0x7F);
+
+ switch (Type)
{
case ACPI_ASF_TYPE_INFO:
InfoTable = AcpiDmTableInfoAsf0;
@@ -332,8 +337,8 @@ AcpiDmDumpAsf (
InfoTable = AcpiDmTableInfoAsf1;
DataInfoTable = AcpiDmTableInfoAsf1a;
DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ALERT));
- DataCount = ((ACPI_ASF_ALERT *) SubTable)->Alerts;
- DataLength = ((ACPI_ASF_ALERT *) SubTable)->DataLength;
+ DataCount = ACPI_CAST_PTR (ACPI_ASF_ALERT, SubTable)->Alerts;
+ DataLength = ACPI_CAST_PTR (ACPI_ASF_ALERT, SubTable)->DataLength;
DataOffset = Offset + sizeof (ACPI_ASF_ALERT);
break;
@@ -341,8 +346,8 @@ AcpiDmDumpAsf (
InfoTable = AcpiDmTableInfoAsf2;
DataInfoTable = AcpiDmTableInfoAsf2a;
DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_REMOTE));
- DataCount = ((ACPI_ASF_REMOTE *) SubTable)->Controls;
- DataLength = ((ACPI_ASF_REMOTE *) SubTable)->DataLength;
+ DataCount = ACPI_CAST_PTR (ACPI_ASF_REMOTE, SubTable)->Controls;
+ DataLength = ACPI_CAST_PTR (ACPI_ASF_REMOTE, SubTable)->DataLength;
DataOffset = Offset + sizeof (ACPI_ASF_REMOTE);
break;
@@ -353,7 +358,7 @@ AcpiDmDumpAsf (
case ACPI_ASF_TYPE_ADDRESS:
InfoTable = AcpiDmTableInfoAsf4;
DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ADDRESS));
- DataLength = ((ACPI_ASF_ADDRESS *) SubTable)->Devices;
+ DataLength = ACPI_CAST_PTR (ACPI_ASF_ADDRESS, SubTable)->Devices;
DataOffset = Offset + sizeof (ACPI_ASF_ADDRESS);
break;
@@ -371,7 +376,7 @@ AcpiDmDumpAsf (
/* Dump variable-length extra data */
- switch (SubTable->Header.Type & 0x7F) /* Mask off top bit */
+ switch (Type)
{
case ACPI_ASF_TYPE_ALERT:
case ACPI_ASF_TYPE_CONTROL:
@@ -471,7 +476,7 @@ AcpiDmDumpCpep (
{
AcpiOsPrintf ("\n");
Status = AcpiDmDumpTable (Length, Offset, SubTable,
- SubTable->Length, AcpiDmTableInfoCpep0);
+ SubTable->Header.Length, AcpiDmTableInfoCpep0);
if (ACPI_FAILURE (Status))
{
return;
@@ -479,8 +484,9 @@ AcpiDmDumpCpep (
/* Point to next sub-table */
- Offset += SubTable->Length;
- SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, SubTable, SubTable->Length);
+ Offset += SubTable->Header.Length;
+ SubTable = ACPI_ADD_PTR (ACPI_CPEP_POLLING, SubTable,
+ SubTable->Header.Length);
}
}
@@ -550,6 +556,10 @@ AcpiDmDumpDmar (
InfoTable = AcpiDmTableInfoDmar2;
ScopeOffset = sizeof (ACPI_DMAR_ATSR);
break;
+ case ACPI_DMAR_HARDWARE_AFFINITY:
+ InfoTable = AcpiDmTableInfoDmar3;
+ ScopeOffset = sizeof (ACPI_DMAR_RHSA);
+ break;
default:
AcpiOsPrintf ("\n**** Unknown DMAR sub-table type %X\n\n", SubTable->Type);
return;
@@ -754,29 +764,19 @@ AcpiDmDumpHest (
{
switch (SubTable->Type)
{
- case ACPI_HEST_TYPE_XPF_MACHINE_CHECK:
+ case ACPI_HEST_TYPE_IA32_CHECK:
InfoTable = AcpiDmTableInfoHest0;
- SubTableLength = sizeof (ACPI_HEST_XPF_MACHINE_CHECK);
+ SubTableLength = sizeof (ACPI_HEST_IA_MACHINE_CHECK);
break;
- case ACPI_HEST_TYPE_XPF_CORRECTED_MACHINE_CHECK:
+ case ACPI_HEST_TYPE_IA32_CORRECTED_CHECK:
InfoTable = AcpiDmTableInfoHest1;
- SubTableLength = sizeof (ACPI_HEST_XPF_CORRECTED);
- break;
-
- case ACPI_HEST_TYPE_XPF_NON_MASKABLE_INTERRUPT:
- InfoTable = AcpiDmTableInfoHest3;
- SubTableLength = sizeof (ACPI_HEST_XPF_NMI);
- break;
-
- case ACPI_HEST_TYPE_IPF_CORRECTED_MACHINE_CHECK:
- InfoTable = AcpiDmTableInfoHest4;
- SubTableLength = sizeof (ACPI_HEST_IPF_CORRECTED);
+ SubTableLength = sizeof (ACPI_HEST_IA_CORRECTED);
break;
- case ACPI_HEST_TYPE_IPF_CORRECTED_PLATFORM_ERROR:
- InfoTable = AcpiDmTableInfoHest5;
- SubTableLength = sizeof (ACPI_HEST_IPF_CORRECTED_PLATFORM);
+ case ACPI_HEST_TYPE_IA32_NMI:
+ InfoTable = AcpiDmTableInfoHest2;
+ SubTableLength = sizeof (ACPI_HEST_IA_NMI);
break;
case ACPI_HEST_TYPE_AER_ROOT_PORT:
@@ -794,7 +794,7 @@ AcpiDmDumpHest (
SubTableLength = sizeof (ACPI_HEST_AER_BRIDGE);
break;
- case ACPI_HEST_TYPE_GENERIC_HARDWARE_ERROR_SOURCE:
+ case ACPI_HEST_TYPE_GENERIC_ERROR:
InfoTable = AcpiDmTableInfoHest9;
SubTableLength = sizeof (ACPI_HEST_GENERIC);
break;
@@ -824,6 +824,179 @@ AcpiDmDumpHest (
/*******************************************************************************
*
+ * FUNCTION: AcpiDmDumpIvrs
+ *
+ * PARAMETERS: Table - A IVRS table
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Format the contents of a IVRS
+ *
+ ******************************************************************************/
+
+static UINT8 EntrySizes[] = {4,8,16,32};
+
+void
+AcpiDmDumpIvrs (
+ ACPI_TABLE_HEADER *Table)
+{
+ ACPI_STATUS Status;
+ UINT32 Offset = sizeof (ACPI_TABLE_IVRS);
+ UINT32 EntryOffset;
+ UINT32 EntryLength;
+ UINT32 EntryType;
+ ACPI_IVRS_DE_HEADER *DeviceEntry;
+ ACPI_IVRS_HEADER *SubTable;
+ ACPI_DMTABLE_INFO *InfoTable;
+
+
+ /* Main table */
+
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoIvrs);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Sub-tables */
+
+ SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, Table, Offset);
+ while (Offset < Table->Length)
+ {
+ /* Common sub-table header */
+
+ AcpiOsPrintf ("\n");
+ Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
+ SubTable->Length, AcpiDmTableInfoIvrsHdr);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ switch (SubTable->Type)
+ {
+ case ACPI_IVRS_TYPE_HARDWARE:
+ InfoTable = AcpiDmTableInfoIvrs0;
+ break;
+ case ACPI_IVRS_TYPE_MEMORY1:
+ case ACPI_IVRS_TYPE_MEMORY2:
+ case ACPI_IVRS_TYPE_MEMORY3:
+ InfoTable = AcpiDmTableInfoIvrs1;
+ break;
+ default:
+ AcpiOsPrintf ("\n**** Unknown IVRS sub-table type %X\n",
+ SubTable->Type);
+
+ /* Attempt to continue */
+
+ if (!SubTable->Length)
+ {
+ AcpiOsPrintf ("Invalid zero length subtable\n");
+ return;
+ }
+ goto NextSubTable;
+ }
+
+ /* Dump the subtable */
+
+ AcpiOsPrintf ("\n");
+ Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
+ SubTable->Length, InfoTable);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* The hardware subtable can contain multiple device entries */
+
+ if (SubTable->Type == ACPI_IVRS_TYPE_HARDWARE)
+ {
+ EntryOffset = Offset + sizeof (ACPI_IVRS_HARDWARE);
+ DeviceEntry = ACPI_ADD_PTR (ACPI_IVRS_DE_HEADER, SubTable,
+ sizeof (ACPI_IVRS_HARDWARE));
+
+ while (EntryOffset < (Offset + SubTable->Length))
+ {
+ AcpiOsPrintf ("\n");
+ /*
+ * Upper 2 bits of Type encode the length of the device entry
+ *
+ * 00 = 4 byte
+ * 01 = 8 byte
+ * 10 = 16 byte - currently no entries defined
+ * 11 = 32 byte - currently no entries defined
+ */
+ EntryType = DeviceEntry->Type;
+ EntryLength = EntrySizes [EntryType >> 6];
+
+ switch (EntryType)
+ {
+ /* 4-byte device entries */
+
+ case ACPI_IVRS_TYPE_PAD4:
+ case ACPI_IVRS_TYPE_ALL:
+ case ACPI_IVRS_TYPE_SELECT:
+ case ACPI_IVRS_TYPE_START:
+ case ACPI_IVRS_TYPE_END:
+
+ InfoTable = AcpiDmTableInfoIvrs4;
+ break;
+
+ /* 8-byte entries, type A */
+
+ case ACPI_IVRS_TYPE_ALIAS_SELECT:
+ case ACPI_IVRS_TYPE_ALIAS_START:
+
+ InfoTable = AcpiDmTableInfoIvrs8a;
+ break;
+
+ /* 8-byte entries, type B */
+
+ case ACPI_IVRS_TYPE_PAD8:
+ case ACPI_IVRS_TYPE_EXT_SELECT:
+ case ACPI_IVRS_TYPE_EXT_START:
+
+ InfoTable = AcpiDmTableInfoIvrs8b;
+ break;
+
+ /* 8-byte entries, type C */
+
+ case ACPI_IVRS_TYPE_SPECIAL:
+
+ InfoTable = AcpiDmTableInfoIvrs8c;
+ break;
+
+ default:
+ InfoTable = AcpiDmTableInfoIvrs4;
+ AcpiOsPrintf (
+ "\n**** Unknown IVRS device entry type/length: "
+ "%.2X/%X at offset %.4X: (header below)\n",
+ EntryType, EntryLength, EntryOffset);
+ break;
+ }
+
+ /* Dump the Device Entry */
+
+ Status = AcpiDmDumpTable (Table->Length, EntryOffset,
+ DeviceEntry, EntryLength, InfoTable);
+
+ EntryOffset += EntryLength;
+ DeviceEntry = ACPI_ADD_PTR (ACPI_IVRS_DE_HEADER, DeviceEntry,
+ EntryLength);
+ }
+ }
+
+NextSubTable:
+ /* Point to next sub-table */
+
+ Offset += SubTable->Length;
+ SubTable = ACPI_ADD_PTR (ACPI_IVRS_HEADER, SubTable, SubTable->Length);
+ }
+}
+
+
+/*******************************************************************************
+ *
* FUNCTION: AcpiDmDumpMadt
*
* PARAMETERS: Table - A MADT table
@@ -993,6 +1166,58 @@ AcpiDmDumpMcfg (
/*******************************************************************************
*
+ * FUNCTION: AcpiDmDumpMsct
+ *
+ * PARAMETERS: Table - A MSCT table
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Format the contents of a MSCT
+ *
+ ******************************************************************************/
+
+void
+AcpiDmDumpMsct (
+ ACPI_TABLE_HEADER *Table)
+{
+ ACPI_STATUS Status;
+ UINT32 Offset = sizeof (ACPI_TABLE_MSCT);
+ ACPI_MSCT_PROXIMITY *SubTable;
+
+
+ /* Main table */
+
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMsct);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Sub-tables */
+
+ SubTable = ACPI_ADD_PTR (ACPI_MSCT_PROXIMITY, Table, Offset);
+ while (Offset < Table->Length)
+ {
+ /* Common sub-table header */
+
+ AcpiOsPrintf ("\n");
+ Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
+ sizeof (ACPI_MSCT_PROXIMITY), AcpiDmTableInfoMsct0);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Point to next sub-table */
+
+ Offset += sizeof (ACPI_MSCT_PROXIMITY);
+ SubTable = ACPI_ADD_PTR (ACPI_MSCT_PROXIMITY, SubTable, sizeof (ACPI_MSCT_PROXIMITY));
+ }
+}
+
+
+/*******************************************************************************
+ *
* FUNCTION: AcpiDmDumpSlit
*
* PARAMETERS: Table - An SLIT
@@ -1149,3 +1374,54 @@ NextSubTable:
}
}
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiDmDumpWdat
+ *
+ * PARAMETERS: Table - A WDAT table
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Format the contents of a WDAT
+ *
+ ******************************************************************************/
+
+void
+AcpiDmDumpWdat (
+ ACPI_TABLE_HEADER *Table)
+{
+ ACPI_STATUS Status;
+ UINT32 Offset = sizeof (ACPI_TABLE_WDAT);
+ ACPI_WDAT_ENTRY *SubTable;
+
+
+ /* Main table */
+
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoWdat);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Sub-tables */
+
+ SubTable = ACPI_ADD_PTR (ACPI_WDAT_ENTRY, Table, Offset);
+ while (Offset < Table->Length)
+ {
+ /* Common sub-table header */
+
+ AcpiOsPrintf ("\n");
+ Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
+ sizeof (ACPI_WDAT_ENTRY), AcpiDmTableInfoWdat0);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Point to next sub-table */
+
+ Offset += sizeof (ACPI_WDAT_ENTRY);
+ SubTable = ACPI_ADD_PTR (ACPI_WDAT_ENTRY, SubTable, sizeof (ACPI_WDAT_ENTRY));
+ }
+}
Modified: vendor-sys/acpica/dist/common/dmtbinfo.c
==============================================================================
--- vendor-sys/acpica/dist/common/dmtbinfo.c Fri Jul 31 14:43:05 2009 (r195999)
+++ vendor-sys/acpica/dist/common/dmtbinfo.c Fri Jul 31 15:25:39 2009 (r196000)
@@ -139,14 +139,19 @@
#define ACPI_ERST_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_ERST,f)
#define ACPI_HEST_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_HEST,f)
#define ACPI_HPET_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_HPET,f)
+#define ACPI_IVRS_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_IVRS,f)
#define ACPI_MADT_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_MADT,f)
#define ACPI_MCFG_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_MCFG,f)
+#define ACPI_MSCT_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_MSCT,f)
#define ACPI_SBST_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_SBST,f)
#define ACPI_SLIT_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_SLIT,f)
#define ACPI_SPCR_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_SPCR,f)
#define ACPI_SPMI_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_SPMI,f)
#define ACPI_SRAT_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_SRAT,f)
#define ACPI_TCPA_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_TCPA,f)
+#define ACPI_UEFI_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_UEFI,f)
+#define ACPI_WAET_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_WAET,f)
+#define ACPI_WDAT_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_WDAT,f)
#define ACPI_WDRT_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_TABLE_WDRT,f)
/* Subtables */
@@ -163,17 +168,23 @@
#define ACPI_DMAR0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_DMAR_HARDWARE_UNIT,f)
#define ACPI_DMAR1_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_DMAR_RESERVED_MEMORY,f)
#define ACPI_DMAR2_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_DMAR_ATSR,f)
+#define ACPI_DMAR3_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_DMAR_RHSA,f)
#define ACPI_EINJ0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_WHEA_HEADER,f)
-#define ACPI_HEST0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_XPF_MACHINE_CHECK,f)
-#define ACPI_HEST1_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_XPF_CORRECTED,f)
-#define ACPI_HEST3_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_XPF_NMI,f)
-#define ACPI_HEST4_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_IPF_CORRECTED,f)
-#define ACPI_HEST5_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_IPF_CORRECTED_PLATFORM,f)
+#define ACPI_HEST0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_IA_MACHINE_CHECK,f)
+#define ACPI_HEST1_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_IA_CORRECTED,f)
+#define ACPI_HEST2_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_IA_NMI,f)
#define ACPI_HEST6_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_AER_ROOT,f)
#define ACPI_HEST7_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_AER,f)
#define ACPI_HEST8_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_AER_BRIDGE,f)
#define ACPI_HEST9_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_GENERIC,f)
#define ACPI_HESTN_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_HEST_NOTIFY,f)
+#define ACPI_IVRSH_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_IVRS_HEADER,f)
+#define ACPI_IVRS0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_IVRS_HARDWARE,f)
+#define ACPI_IVRS1_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_IVRS_MEMORY,f)
+#define ACPI_IVRSD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_IVRS_DE_HEADER,f)
+#define ACPI_IVRS8A_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_IVRS_DEVICE8A,f)
+#define ACPI_IVRS8B_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_IVRS_DEVICE8B,f)
+#define ACPI_IVRS8C_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_IVRS_DEVICE8C,f)
#define ACPI_MADT0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_MADT_LOCAL_APIC,f)
#define ACPI_MADT1_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_MADT_IO_APIC,f)
#define ACPI_MADT2_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_MADT_INTERRUPT_OVERRIDE,f)
@@ -187,10 +198,12 @@
#define ACPI_MADT10_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_MADT_LOCAL_X2APIC_NMI,f)
#define ACPI_MADTH_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f)
#define ACPI_MCFG0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f)
+#define ACPI_MSCT0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_MSCT_PROXIMITY,f)
#define ACPI_SRATH_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f)
#define ACPI_SRAT0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_SRAT_CPU_AFFINITY,f)
#define ACPI_SRAT1_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_SRAT_MEM_AFFINITY,f)
#define ACPI_SRAT2_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_SRAT_X2APIC_CPU_AFFINITY,f)
+#define ACPI_WDAT0_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_WDAT_ENTRY,f)
/*
* Simplify access to flag fields by breaking them up into bytes
@@ -306,7 +319,7 @@ ACPI_DMTABLE_INFO AcpiDmTableI
{ACPI_DMT_FLAG1, ACPI_FACS_FLAG_OFFSET (Flags,0), "64-bit Wake Supported (V2)"},
{ACPI_DMT_UINT64, ACPI_FACS_OFFSET (XFirmwareWakingVector), "64 Firmware Waking Vector"},
{ACPI_DMT_UINT8, ACPI_FACS_OFFSET (Version), "Version"},
- {ACPI_DMT_UINT24, ACPI_FACS_OFFSET (Reserved), "Reserved"},
+ {ACPI_DMT_UINT24, ACPI_FACS_OFFSET (Reserved[0]), "Reserved"},
{ACPI_DMT_UINT32, ACPI_FACS_OFFSET (OspmFlags), "OspmFlags (decoded below)"},
{ACPI_DMT_FLAG0, ACPI_FACS_FLAG_OFFSET (OspmFlags,0), "64-bit Wake Env Required (V2)"},
{ACPI_DMT_EXIT, 0, NULL}
@@ -458,9 +471,9 @@ ACPI_DMTABLE_INFO AcpiDmTableI
ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[] =
{
{ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinResetValue), "Minimum Reset Value"},
- {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinResetValue), "Minimum Polling Interval"},
+ {ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (MinPollInterval), "Minimum Polling Interval"},
{ACPI_DMT_UINT16, ACPI_ASF0_OFFSET (SystemId), "System ID"},
- {ACPI_DMT_UINT32, ACPI_ASF0_OFFSET (SystemId), "Manufacturer ID"},
+ {ACPI_DMT_UINT32, ACPI_ASF0_OFFSET (MfgId), "Manufacturer ID"},
{ACPI_DMT_UINT8, ACPI_ASF0_OFFSET (Flags), "Flags"},
{ACPI_DMT_UINT24, ACPI_ASF0_OFFSET (Reserved2[0]), "Reserved"},
{ACPI_DMT_EXIT, 0, NULL}
@@ -583,8 +596,8 @@ ACPI_DMTABLE_INFO AcpiDmTableI
ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[] =
{
- {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Type), "Subtable Type"},
- {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Length), "Length"},
+ {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Type), "Subtable Type"},
+ {ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Header.Length), "Length"},
{ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Id), "Processor ID"},
{ACPI_DMT_UINT8, ACPI_CPEP0_OFFSET (Eid), "Processor EID"},
{ACPI_DMT_UINT32, ACPI_CPEP0_OFFSET (Interval), "Polling Interval"},
@@ -675,6 +688,16 @@ ACPI_DMTABLE_INFO AcpiDmTableI
{ACPI_DMT_EXIT, 0, NULL}
};
+/* 3: Remapping Hardware Static Affinity Structure */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[] =
+{
+ {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (Reserved), "Reserved"},
+ {ACPI_DMT_UINT64, ACPI_DMAR3_OFFSET (BaseAddress), "Base Address"},
+ {ACPI_DMT_UINT32, ACPI_DMAR3_OFFSET (ProximityDomain), "Proximity Domain"},
+ {ACPI_DMT_EXIT, 0, NULL}
+};
+
/*******************************************************************************
*
@@ -702,7 +725,8 @@ ACPI_DMTABLE_INFO AcpiDmTableI
ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[] =
{
{ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (HeaderLength), "Injection Header Length"},
- {ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (Reserved), "Reserved"},
+ {ACPI_DMT_UINT8, ACPI_EINJ_OFFSET (Flags), "Flags"},
+ {ACPI_DMT_UINT24, ACPI_EINJ_OFFSET (Reserved[0]), "Reserved"},
{ACPI_DMT_UINT32, ACPI_EINJ_OFFSET (Entries), "Injection Entry Count"},
{ACPI_DMT_EXIT, 0, NULL}
};
@@ -747,97 +771,84 @@ ACPI_DMTABLE_INFO AcpiDmTableI
{ACPI_DMT_EXIT, 0, NULL}
};
+/* Common HEST structures for subtables */
+
+#define ACPI_DM_HEST_HEADER \
+ {ACPI_DMT_HEST, ACPI_HEST0_OFFSET (Header.Type), "Subtable Type"}, \
+ {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (Header.SourceId), "Source Id"}
+
+#define ACPI_DM_HEST_AER \
+ {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Reserved1), "Reserved"}, \
+ {ACPI_DMT_UINT8, ACPI_HEST6_OFFSET (Aer.Flags), "Flags"}, \
+ {ACPI_DMT_UINT8, ACPI_HEST6_OFFSET (Aer.Enabled), "Enabled"}, \
+ {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.RecordsToPreallocate), "Records To Preallocate"}, \
+ {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.MaxSectionsPerRecord), "Max Sections Per Record"}, \
+ {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.Bus), "Bus"}, \
+ {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Device), "Device"}, \
+ {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Function), "Function"}, \
+ {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.DeviceControl), "DeviceControl"}, \
+ {ACPI_DMT_UINT16, ACPI_HEST6_OFFSET (Aer.Reserved2), "Reserved"}, \
+ {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.UncorrectableMask), "Uncorrectable Mask"}, \
+ {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.UncorrectableSeverity), "Uncorrectable Severity"}, \
+ {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.CorrectableMask), "Correctable Mask"}, \
+ {ACPI_DMT_UINT32, ACPI_HEST6_OFFSET (Aer.AdvancedCapabilities), "Advanced Capabilities"}
+
+
/* HEST Subtables */
-/* 0: XPF Machine Check Exception */
+/* 0: IA32 Machine Check Exception */
ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[] =
{
- {ACPI_DMT_HEST, ACPI_HEST0_OFFSET (Header.Type), "Subtable Type"},
- {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (SourceId), "Source Id"},
- {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (ConfigWriteEnable), "Configuration Write Enable"},
+ ACPI_DM_HEST_HEADER,
+ {ACPI_DMT_UINT16, ACPI_HEST0_OFFSET (Reserved1), "Reserved"},
{ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (Flags), "Flags"},
- {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (Reserved1), "Reserved"},
- {ACPI_DMT_UINT32, ACPI_HEST0_OFFSET (RecordsToPreAllocate), "Records To Preallocate"},
+ {ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (Enabled), "Enabled"},
+ {ACPI_DMT_UINT32, ACPI_HEST0_OFFSET (RecordsToPreallocate), "Records To Preallocate"},
{ACPI_DMT_UINT32, ACPI_HEST0_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record"},
{ACPI_DMT_UINT64, ACPI_HEST0_OFFSET (GlobalCapabilityData), "Global Capability Data"},
{ACPI_DMT_UINT64, ACPI_HEST0_OFFSET (GlobalControlData), "Global Control Data"},
{ACPI_DMT_UINT8, ACPI_HEST0_OFFSET (NumHardwareBanks), "Num Hardware Banks"},
- {ACPI_DMT_UINT56, ACPI_HEST0_OFFSET (Reserved2), "Reserved"},
+ {ACPI_DMT_UINT56, ACPI_HEST0_OFFSET (Reserved3[0]), "Reserved"},
{ACPI_DMT_EXIT, 0, NULL}
};
-/* 1: XPF Corrected Machine Check */
+/* 1: IA32 Corrected Machine Check */
ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[] =
{
- {ACPI_DMT_HEST, ACPI_HEST1_OFFSET (Header.Type), "Subtable Type"},
- {ACPI_DMT_UINT16, ACPI_HEST1_OFFSET (SourceId), "Source Id"},
- {ACPI_DMT_UINT16, ACPI_HEST1_OFFSET (ConfigWriteEnable), "Configuration Write Enable"},
+ ACPI_DM_HEST_HEADER,
+ {ACPI_DMT_UINT16, ACPI_HEST1_OFFSET (Reserved1), "Reserved"},
{ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (Flags), "Flags"},
{ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (Enabled), "Enabled"},
- {ACPI_DMT_UINT32, ACPI_HEST1_OFFSET (RecordsToPreAllocate), "Records To Preallocate"},
+ {ACPI_DMT_UINT32, ACPI_HEST1_OFFSET (RecordsToPreallocate), "Records To Preallocate"},
{ACPI_DMT_UINT32, ACPI_HEST1_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record"},
{ACPI_DMT_HESTNTFY, ACPI_HEST1_OFFSET (Notify), "Notify"},
{ACPI_DMT_UINT8, ACPI_HEST1_OFFSET (NumHardwareBanks), "Num Hardware Banks"},
- {ACPI_DMT_UINT24, ACPI_HEST1_OFFSET (Reserved), "Reserved"},
+ {ACPI_DMT_UINT24, ACPI_HEST1_OFFSET (Reserved2[0]), "Reserved"},
{ACPI_DMT_EXIT, 0, NULL}
};
-/* 3: XPF Non-Maskable Interrupt */
+/* 2: IA32 Non-Maskable Interrupt */
-ACPI_DMTABLE_INFO AcpiDmTableInfoHest3[] =
+ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[] =
{
- {ACPI_DMT_HEST, ACPI_HEST3_OFFSET (Header.Type), "Subtable Type"},
- {ACPI_DMT_UINT16, ACPI_HEST3_OFFSET (SourceId), "Source Id"},
- {ACPI_DMT_UINT32, ACPI_HEST3_OFFSET (Reserved), "Reserved"},
- {ACPI_DMT_UINT32, ACPI_HEST3_OFFSET (RecordsToPreAllocate), "Records To Preallocate"},
- {ACPI_DMT_UINT32, ACPI_HEST3_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record"},
- {ACPI_DMT_UINT32, ACPI_HEST3_OFFSET (MaxRawDataLength), "Max Raw Data Length"},
+ ACPI_DM_HEST_HEADER,
+ {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (Reserved), "Reserved"},
+ {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (RecordsToPreallocate), "Records To Preallocate"},
+ {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (MaxSectionsPerRecord), "Max Sections Per Record"},
+ {ACPI_DMT_UINT32, ACPI_HEST2_OFFSET (MaxRawDataLength), "Max Raw Data Length"},
{ACPI_DMT_EXIT, 0, NULL}
};
-/* 4: IPF Corrected Machine Check */
-
-ACPI_DMTABLE_INFO AcpiDmTableInfoHest4[] =
-{
- {ACPI_DMT_HEST, ACPI_HEST4_OFFSET (Header.Type), "Subtable Type"},
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list