summaryrefslogtreecommitdiffstats
path: root/compiler/dtutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/dtutils.c')
-rw-r--r--compiler/dtutils.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/compiler/dtutils.c b/compiler/dtutils.c
index c3a4a85..2394b30 100644
--- a/compiler/dtutils.c
+++ b/compiler/dtutils.c
@@ -472,11 +472,8 @@ DtGetFieldType (
case ACPI_DMT_BUFFER:
case ACPI_DMT_BUF16:
- Type = DT_FIELD_TYPE_BUFFER;
- break;
-
case ACPI_DMT_PCI_PATH:
- Type = DT_FIELD_TYPE_PCI_PATH;
+ Type = DT_FIELD_TYPE_BUFFER;
break;
case ACPI_DMT_GAS:
@@ -543,6 +540,8 @@ DtGetBufferLength (
*
* DESCRIPTION: Get length of bytes needed to compile the field
*
+ * Note: This function must remain in sync with AcpiDmDumpTable.
+ *
*****************************************************************************/
UINT32
@@ -574,12 +573,16 @@ DtGetFieldLength (
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:
case ACPI_DMT_HESTNTYP:
case ACPI_DMT_FADTPM:
- case ACPI_DMT_IVRS:
+ case ACPI_DMT_EINJACT:
+ case ACPI_DMT_EINJINST:
+ case ACPI_DMT_ERSTACT:
+ case ACPI_DMT_ERSTINST:
ByteLength = 1;
break;
@@ -753,6 +756,11 @@ DtSetTableLength (
ChildTable = DtGetNextSubtable (ParentTable, ChildTable);
if (ChildTable)
{
+ if (ChildTable->LengthField)
+ {
+ DtSetSubtableLength (ChildTable);
+ }
+
if (ChildTable->Child)
{
ParentTable = ChildTable;
OpenPOWER on IntegriCloud