diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2010-07-06 17:18:05 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2010-07-06 17:18:05 +0000 |
commit | 6d31afa8e3ab79bfa6c97c341af73f4fc093351a (patch) | |
tree | 514e3ade7be23ac83127870abf009b5e5ae1d36f /compiler/dtutils.c | |
parent | f2bf96d30fe08965ffd53a28099131ac030e43d5 (diff) |
Notes
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 c3a4a85cd094..2394b300868b 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; |