diff options
Diffstat (limited to 'compiler/dtutils.c')
-rw-r--r-- | compiler/dtutils.c | 18 |
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; |