acpica: Import ACPICA 20220331
(cherry picked from commit ca1c95cc699a25d891e62ef863c8268c93b35cf8)
This commit is contained in:
parent
7bfe5e4515
commit
ab71bbb75a
@ -1,3 +1,129 @@
|
||||
----------------------------------------
|
||||
31 March 2022. Summary of changes for version 20220331:
|
||||
|
||||
0) Global changes:
|
||||
|
||||
Update all copyright notices to the year 2022. This effects all source
|
||||
modules, as well as utility signons.
|
||||
|
||||
|
||||
1) ACPICA kernel-resident subsystem:
|
||||
|
||||
For the ASL Sleep() operator, issue a warning if the sleep value is
|
||||
greater than 10 Milliseconds. Quick boottime is important, so warn about
|
||||
sleeps greater than 10 ms. Distribution Linux kernels reach initrd in 350
|
||||
ms, so excessive delays should be called out. 10 ms is chosen randomly,
|
||||
but three of such delays would already make up ten percent of the
|
||||
boottime.
|
||||
|
||||
Namespace: Avoid attempting to walk the Namespace if the Namespace does
|
||||
not exist.
|
||||
|
||||
AML interpreter/iASL compiler: Add new Acpi 6.4 semantics for the
|
||||
LoadTable and Load operators. DDB_HANDLE is gone, now loadtable returns a
|
||||
pass/fail integer. Now load returns a pass/fail integer, as well as
|
||||
storing the return value in an optional 2nd argument.
|
||||
|
||||
Headers: Use uintptr_t and offsetof() in Linux kernel builds. To avoid
|
||||
"performing pointer subtraction with a null pointer has undefined
|
||||
behavior" compiler warnings, use uintptr_t and offsetof() that are always
|
||||
available during Linux kernel builds to define ACPI_UINTPTR_T and the
|
||||
ACPI_TO_INTEGER() and ACPI_OFFSET() macros when building the ACPICA code
|
||||
in the Linux kernel.
|
||||
|
||||
Added support for the Windows 11 _OSI string ("Windows 2021"). Submitted
|
||||
by superm1.
|
||||
|
||||
executer/exsystem: Inform users about ACPI spec violation for the Stall()
|
||||
operator. Values greater than 100 microseconds violate the ACPI
|
||||
specification, so warn users about it. From the ACPI Specification
|
||||
version 6.2 Errata A, 19.6.128 *Stall (Stall for a Short Time)*:
|
||||
> The implementation of Stall is OS-specific, but must not relinquish
|
||||
> control of the processor. Because of this, delays longer than 100
|
||||
> microseconds must use Sleep instead of Stall.
|
||||
|
||||
|
||||
2) iASL Compiler/Disassembler and ACPICA tools:
|
||||
|
||||
Data Table Compiler/Disassembler: Add support for the APMT table - ARM
|
||||
Performance Monitoring Unit table. Submitted by @bwicaksononv.
|
||||
|
||||
Data Table Compiler/Disassembler: For MADT, add support for the OEM-
|
||||
defined subtables (Types 0x80-0x7F).
|
||||
|
||||
Data Table Compiler: Fixed a problem with support for the SDEV table,
|
||||
where a subtable Length was not computed correctly.
|
||||
|
||||
Data Table Compiler/Disassembler: Add/fix the CFMWS subtable to the CEDT
|
||||
Acpi table support.
|
||||
|
||||
Data Table Compiler/Disassembler: Fix a compile issue with the CEDT and
|
||||
add template. Submitted by MasterDrogo.
|
||||
|
||||
Data Table Compiler/Disassembler: NHLT Changes provided by Piotr Maziarz:
|
||||
iASL/NHLT: Rename linux specific structures to DeviceInfo to improve
|
||||
readability of the code.
|
||||
iASL/NHLT: Fix parsing undocumented bytes at the end of Endpoint.
|
||||
Undocumented bytes at the end of Endpoint Descriptor can be present
|
||||
independently of Linux-specific structures. Their size can also vary.
|
||||
iASL/NHLT: Treat TableTerminator as SpecificConfig. SpecificConfig has 4
|
||||
bytes of size and then an amount of bytes specified by size. All of the
|
||||
terminators that I've seen had a size equal to 4, but theoretically it
|
||||
can vary.
|
||||
|
||||
iASL/AcpiExec: Use _exit instead of exit in signal handers (ctrl-C).
|
||||
|
||||
iASL: Remove a remark due to excessive output. Removed a remark for
|
||||
duplicate Offset() operators, due to a user complaint.
|
||||
|
||||
----------------------------------------
|
||||
17 December 2021. Summary of changes for version 20211217:
|
||||
|
||||
1) ACPICA kernel-resident subsystem:
|
||||
|
||||
Hardware: Do not flush CPU cache when entering S4 and S5. According to
|
||||
ACPI 6.4, Section 16.2, the CPU cache flushing is required on entering to
|
||||
S1, S2, and S3, but the ACPICA code flushes the CPU cache regardless of
|
||||
the sleep state. Blind cache flush on entering S5 causes problems for
|
||||
TDX.
|
||||
|
||||
Avoid subobject buffer overflow when validating RSDP signature. Since the
|
||||
Signature member is accessed through an ACPI_TABLE_HEADER, the pointer to
|
||||
it is only to a 4-char array, and so trying to read past the 4th
|
||||
character, as will be done when it is an RSDP, reads beyond the bounds of
|
||||
the accessed member. Contributed by jrtc27.
|
||||
|
||||
Add support for PCC Opregion special context data. PCC Opregion added in
|
||||
ACPIC 6.3 requires special context data similar to GPIO and Generic
|
||||
Serial Bus as it needs to know the internal PCC buffer and its length as
|
||||
well as the PCC channel index when the opregion handler is being executed
|
||||
by the OSPM. Adds support for the special context data needed by PCC
|
||||
Opregion. Submitted by Sudeep Holla <sudeep.holla@arm.com>
|
||||
|
||||
2) iASL Compiler/Disassembler and ACPICA tools:
|
||||
|
||||
iASL: Completed compiler support for the NHLT ACPI table.
|
||||
|
||||
iASL/NHLT table: Fixed a reported problem where a fault would occur
|
||||
during disassembly of a "Linux-Specific" section if the "Specific Data"
|
||||
part was not present.
|
||||
|
||||
iASL: Added full support (compiler and disassembler) for the AGDI ACPI
|
||||
table. Contributed by: Ilkka Koskinen <ilkka@os.amperecomputing.com>.
|
||||
|
||||
iASL: Added full support for the TDEL ACPI table.
|
||||
|
||||
iASL table compiler: FADT support updates:
|
||||
1) Allow the 32-bit DSDT address to be zero.
|
||||
2) Issue error if both the 32-bit and 64-bit DSDT addresses are zero.
|
||||
|
||||
iASL: Fix unaligned accesses to local cache allocations. Contributed by
|
||||
jrtc27.
|
||||
|
||||
iASL: Open binary input files in binary mode, not text mode Affects
|
||||
binary input AML files, as well as binary data table files, for
|
||||
disassembly.
|
||||
|
||||
----------------------------------------
|
||||
30 September 2021. Summary of changes for version 20210930:
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -552,10 +552,15 @@ AcValidateTableHeader (
|
||||
/* Read a potential table header */
|
||||
|
||||
OriginalOffset = ftell (File);
|
||||
fseek (File, TableOffset, SEEK_SET);
|
||||
|
||||
if (fseek (File, TableOffset, SEEK_SET))
|
||||
{
|
||||
fprintf (stderr, "SEEK error\n");
|
||||
}
|
||||
Actual = fread (&TableHeader, 1, sizeof (ACPI_TABLE_HEADER), File);
|
||||
fseek (File, OriginalOffset, SEEK_SET);
|
||||
if (fseek (File, OriginalOffset, SEEK_SET))
|
||||
{
|
||||
fprintf (stderr, "SEEK error\n");
|
||||
}
|
||||
|
||||
if (Actual < sizeof (ACPI_TABLE_HEADER))
|
||||
{
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -200,6 +200,7 @@ AcpiAhGetTableInfo (
|
||||
const AH_TABLE AcpiGbl_SupportedTables[] =
|
||||
{
|
||||
{ACPI_SIG_AEST, "Arm Error Source Table"},
|
||||
{ACPI_SIG_AGDI, "Arm Generic Diagnostic Dump and Reset Device Interface Table"},
|
||||
{ACPI_SIG_ASF, "Alert Standard Format Table"},
|
||||
{ACPI_SIG_BDAT, "BIOS Data ACPI Table"},
|
||||
{ACPI_SIG_BERT, "Boot Error Record Table"},
|
||||
@ -233,6 +234,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] =
|
||||
{ACPI_SIG_MSCT, "Maximum System Characteristics Table"},
|
||||
{ACPI_SIG_MSDM, "Microsoft Data Management Table"},
|
||||
{ACPI_SIG_NFIT, "NVDIMM Firmware Interface Table"},
|
||||
{ACPI_SIG_NHLT, "Non HD Audio Link Table"},
|
||||
{ACPI_SIG_PCCT, "Platform Communications Channel Table"},
|
||||
{ACPI_SIG_PDTT, "Platform Debug Trigger Table"},
|
||||
{ACPI_SIG_PHAT, "Platform Health Assessment Table"},
|
||||
@ -256,6 +258,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] =
|
||||
{ACPI_SIG_STAO, "Status Override Table"},
|
||||
{ACPI_SIG_SVKL, "Storage Volume Key Location Table"},
|
||||
{ACPI_SIG_TCPA, "Trusted Computing Platform Alliance Table"},
|
||||
{ACPI_SIG_TDEL, "TD-Event Log Table"},
|
||||
{ACPI_SIG_TPM2, "Trusted Platform Module hardware interface Table"},
|
||||
{ACPI_SIG_UEFI, "UEFI Boot Optimization Table"},
|
||||
{ACPI_SIG_VIOT, "Virtual I/O Translation Table"},
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -167,10 +167,11 @@ AcpiAhGetTableInfo (
|
||||
|
||||
/* Common format strings for commented values */
|
||||
|
||||
#define UINT8_FORMAT "%2.2X [%s]\n"
|
||||
#define UINT16_FORMAT "%4.4X [%s]\n"
|
||||
#define UINT32_FORMAT "%8.8X [%s]\n"
|
||||
#define STRING_FORMAT "[%s]\n"
|
||||
#define UINT8_FORMAT "%2.2X [%s]\n"
|
||||
#define UINT8_FORMAT_NO_NEWLINE "%2.2X [%s]"
|
||||
#define UINT16_FORMAT "%4.4X [%s]\n"
|
||||
#define UINT32_FORMAT "%8.8X [%s]\n"
|
||||
#define STRING_FORMAT "[%s]\n"
|
||||
|
||||
/* These tables map a subtable type to a description string */
|
||||
|
||||
@ -247,6 +248,7 @@ static const char *AcpiDmDmarSubnames[] =
|
||||
"Root Port ATS Capability",
|
||||
"Remapping Hardware Static Affinity",
|
||||
"ACPI Namespace Device Declaration",
|
||||
"SoC Integrated Address Translation Cache",
|
||||
"Unknown Subtable Type" /* Reserved */
|
||||
};
|
||||
|
||||
@ -401,7 +403,8 @@ static const char *AcpiDmMadtSubnames[] =
|
||||
"Generic Interrupt Redistributor", /* ACPI_MADT_GENERIC_REDISTRIBUTOR */
|
||||
"Generic Interrupt Translator", /* ACPI_MADT_GENERIC_TRANSLATOR */
|
||||
"Mutiprocessor Wakeup", /* ACPI_MADT_TYPE_MULTIPROC_WAKEUP */
|
||||
"Unknown Subtable Type" /* Reserved */
|
||||
"Unknown Subtable Type", /* Reserved */
|
||||
"Types 80-FF are used for OEM data" /* Reserved for OEM data */
|
||||
};
|
||||
|
||||
static const char *AcpiDmNfitSubnames[] =
|
||||
@ -437,6 +440,50 @@ static const char *AcpiDmNhltDirectionNames[] =
|
||||
"Unknown Direction" /* Reserved */
|
||||
};
|
||||
|
||||
static const char *AcpiDmNhltMicTypeNames[] =
|
||||
{
|
||||
"Omnidirectional", /* ACPI_NHLT_MIC_OMNIDIRECTIONAL */
|
||||
"Subcardioid", /* ACPI_NHLT_MIC_SUBCARDIOID */
|
||||
"Cardioid", /* ACPI_NHLT_MIC_CARDIOID */
|
||||
"SuperCardioid", /* ACPI_NHLT_MIC_SUPER_CARDIOID */
|
||||
"HyperCardioid", /* ACPI_NHLT_MIC_HYPER_CARDIOID */
|
||||
"8 Shaped", /* ACPI_NHLT_MIC_8_SHAPED */
|
||||
"Reserved Mic Type", /* Reserved */
|
||||
"Vendor Defined", /* ACPI_NHLT_MIC_VENDOR_DEFINED */
|
||||
"Unknown Mic Type" /* ACPI_NHLT_MIC_RESERVED */
|
||||
};
|
||||
|
||||
static const char *AcpiDmNhltMicPositionNames[] =
|
||||
{
|
||||
"Top", /* ACPI_NHLT_MIC_POSITION_TOP */
|
||||
"Bottom", /* ACPI_NHLT_MIC_POSITION_BOTTOM */
|
||||
"Left", /* ACPI_NHLT_MIC_POSITION_LEFT */
|
||||
"Right", /* ACPI_NHLT_MIC_POSITION_RIGHT */
|
||||
"Front", /* ACPI_NHLT_MIC_POSITION_FRONT */
|
||||
"Back", /* ACPI_NHLT_MIC_POSITION_BACK */
|
||||
"Unknown Mic Position" /* 6 and above are reserved */
|
||||
};
|
||||
|
||||
static const char *AcpiDmNhltMicArrayTypeNames[] =
|
||||
{
|
||||
"Unknown Array Type", /* ACPI_NHLT_ARRAY_TYPE_RESERVED */
|
||||
"Small Linear 2-element", /* ACPI_NHLT_SMALL_LINEAR_2ELEMENT */
|
||||
"Big Linear 2-element", /* ACPI_NHLT_BIG_LINEAR_2ELEMENT */
|
||||
"Linear 4-element 1st Geometry", /* ACPI_NHLT_FIRST_GEOMETRY_LINEAR_4ELEMENT */
|
||||
"Planar L-shaped 4-element", /* ACPI_NHLT_PLANAR_LSHAPED_4ELEMENT */
|
||||
"Linear 4-element 2nd Geometry", /* ACPI_NHLT_SECOND_GEOMETRY_LINEAR_4ELEMENT */
|
||||
"Vendor Defined" /* ACPI_NHLT_VENDOR_DEFINED */
|
||||
};
|
||||
|
||||
static const char *AcpiDmNhltConfigTypeNames[] =
|
||||
{
|
||||
"Generic Type", /* ACPI_NHLT_CONFIG_TYPE_GENERIC */
|
||||
"Microphone Array", /* ACPI_NHLT_CONFIG_TYPE_MIC_ARRAY */
|
||||
"Reserved", /* ACPI_NHLT_CONFIG_TYPE_RESERVED */
|
||||
"Render Feedback", /* ACPI_NHLT_CONFIG_TYPE_RENDER_FEEDBACK */
|
||||
"Unknown Config Type" /* ACPI_NHLT_CONFIG_TYPE_RESERVED */
|
||||
};
|
||||
|
||||
static const char *AcpiDmPcctSubnames[] =
|
||||
{
|
||||
"Generic Communications Subspace", /* ACPI_PCCT_TYPE_GENERIC_SUBSPACE */
|
||||
@ -604,6 +651,8 @@ static const char *AcpiDmGasAccessWidth[] =
|
||||
const ACPI_DMTABLE_DATA AcpiDmTableData[] =
|
||||
{
|
||||
{ACPI_SIG_AEST, NULL, AcpiDmDumpAest, DtCompileAest, TemplateAest},
|
||||
{ACPI_SIG_AGDI, AcpiDmTableInfoAgdi, NULL, NULL, TemplateAgdi},
|
||||
{ACPI_SIG_APMT, NULL, AcpiDmDumpApmt, DtCompileApmt, TemplateApmt},
|
||||
{ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, DtCompileAsf, TemplateAsf},
|
||||
{ACPI_SIG_BDAT, AcpiDmTableInfoBdat, NULL, NULL, TemplateBdat},
|
||||
{ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, NULL, TemplateBert},
|
||||
@ -635,7 +684,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] =
|
||||
{ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, DtCompileMsct, TemplateMsct},
|
||||
{ACPI_SIG_MSDM, NULL, AcpiDmDumpSlic, DtCompileSlic, TemplateMsdm},
|
||||
{ACPI_SIG_NFIT, AcpiDmTableInfoNfit, AcpiDmDumpNfit, DtCompileNfit, TemplateNfit},
|
||||
{ACPI_SIG_NHLT, AcpiDmTableInfoNhlt, AcpiDmDumpNhlt, NULL, NULL},
|
||||
{ACPI_SIG_NHLT, AcpiDmTableInfoNhlt, AcpiDmDumpNhlt, DtCompileNhlt, TemplateNhlt},
|
||||
{ACPI_SIG_PCCT, AcpiDmTableInfoPcct, AcpiDmDumpPcct, DtCompilePcct, TemplatePcct},
|
||||
{ACPI_SIG_PDTT, AcpiDmTableInfoPdtt, AcpiDmDumpPdtt, DtCompilePdtt, TemplatePdtt},
|
||||
{ACPI_SIG_PHAT, NULL, AcpiDmDumpPhat, DtCompilePhat, TemplatePhat},
|
||||
@ -657,6 +706,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] =
|
||||
{ACPI_SIG_STAO, NULL, AcpiDmDumpStao, DtCompileStao, TemplateStao},
|
||||
{ACPI_SIG_SVKL, AcpiDmTableInfoSvkl, AcpiDmDumpSvkl, DtCompileSvkl, TemplateSvkl},
|
||||
{ACPI_SIG_TCPA, NULL, AcpiDmDumpTcpa, DtCompileTcpa, TemplateTcpa},
|
||||
{ACPI_SIG_TDEL, AcpiDmTableInfoTdel, NULL, NULL, TemplateTdel},
|
||||
{ACPI_SIG_TPM2, AcpiDmTableInfoTpm2, AcpiDmDumpTpm2, DtCompileTpm2, TemplateTpm2},
|
||||
{ACPI_SIG_UEFI, AcpiDmTableInfoUefi, NULL, DtCompileUefi, TemplateUefi},
|
||||
{ACPI_SIG_VIOT, AcpiDmTableInfoViot, AcpiDmDumpViot, DtCompileViot, TemplateViot},
|
||||
@ -795,7 +845,8 @@ AcpiDmDumpDataTable (
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (ACPI_VALIDATE_RSDP_SIG (Table->Signature))
|
||||
else if (ACPI_VALIDATE_RSDP_SIG (ACPI_CAST_PTR (ACPI_TABLE_RSDP,
|
||||
Table)->Signature))
|
||||
{
|
||||
Length = AcpiDmDumpRsdp (Table);
|
||||
}
|
||||
@ -1040,7 +1091,7 @@ AcpiDmDumpTable (
|
||||
|
||||
/* Check for beyond subtable end or (worse) beyond EOT */
|
||||
|
||||
if (SubtableLength && (Info->Offset >= SubtableLength))
|
||||
if (SubtableLength && (Info->Offset > SubtableLength))
|
||||
{
|
||||
AcpiOsPrintf (
|
||||
"/**** ACPI subtable terminates early (Len %u) - "
|
||||
@ -1074,6 +1125,10 @@ AcpiDmDumpTable (
|
||||
case ACPI_DMT_MADT:
|
||||
case ACPI_DMT_NHLT1:
|
||||
case ACPI_DMT_NHLT1a:
|
||||
case ACPI_DMT_NHLT1b:
|
||||
case ACPI_DMT_NHLT1c:
|
||||
case ACPI_DMT_NHLT1d:
|
||||
case ACPI_DMT_NHLT1f:
|
||||
case ACPI_DMT_PCCT:
|
||||
case ACPI_DMT_PMTT:
|
||||
case ACPI_DMT_PPTT:
|
||||
@ -1102,6 +1157,7 @@ AcpiDmDumpTable (
|
||||
case ACPI_DMT_HEST:
|
||||
case ACPI_DMT_HMAT:
|
||||
case ACPI_DMT_NFIT:
|
||||
case ACPI_DMT_NHLT1e:
|
||||
case ACPI_DMT_PHAT:
|
||||
|
||||
ByteLength = 2;
|
||||
@ -1308,7 +1364,12 @@ AcpiDmDumpTable (
|
||||
AcpiOsPrintf ("%1.1X\n", (*Target >> 2) & 0x03);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_FLAGS4:
|
||||
case ACPI_DMT_FLAGS8_2:
|
||||
|
||||
AcpiOsPrintf ("%2.2X\n", (*Target >> 2) & 0xFF);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_FLAGS4:
|
||||
|
||||
AcpiOsPrintf ("%1.1X\n", (*Target >> 4) & 0x03);
|
||||
break;
|
||||
@ -1797,11 +1858,14 @@ AcpiDmDumpTable (
|
||||
/* MADT subtable types */
|
||||
|
||||
Temp8 = *Target;
|
||||
if (Temp8 > ACPI_MADT_TYPE_RESERVED)
|
||||
if ((Temp8 >= ACPI_MADT_TYPE_RESERVED) && (Temp8 < ACPI_MADT_TYPE_OEM_RESERVED))
|
||||
{
|
||||
Temp8 = ACPI_MADT_TYPE_RESERVED;
|
||||
}
|
||||
|
||||
else if (Temp8 >= ACPI_MADT_TYPE_OEM_RESERVED)
|
||||
{
|
||||
Temp8 = ACPI_MADT_TYPE_RESERVED + 1;
|
||||
}
|
||||
AcpiOsPrintf (UINT8_FORMAT, *Target,
|
||||
AcpiDmMadtSubnames[Temp8]);
|
||||
break;
|
||||
@ -1848,6 +1912,95 @@ AcpiDmDumpTable (
|
||||
AcpiDmNhltDirectionNames[Temp8]);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_NHLT1b:
|
||||
|
||||
/* NHLT microphone type */
|
||||
|
||||
Temp8 = *Target;
|
||||
if (Temp8 > ACPI_NHLT_MIC_RESERVED)
|
||||
{
|
||||
Temp8 = ACPI_NHLT_MIC_RESERVED;
|
||||
}
|
||||
|
||||
AcpiOsPrintf (UINT8_FORMAT, *Target,
|
||||
AcpiDmNhltMicTypeNames[Temp8]);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_NHLT1c:
|
||||
|
||||
/* NHLT microphone position */
|
||||
|
||||
Temp8 = *Target;
|
||||
if (Temp8 > ACPI_NHLT_MIC_POSITION_RESERVED)
|
||||
{
|
||||
Temp8 = ACPI_NHLT_MIC_POSITION_RESERVED;
|
||||
}
|
||||
|
||||
AcpiOsPrintf (UINT8_FORMAT, *Target,
|
||||
AcpiDmNhltMicPositionNames[Temp8]);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_NHLT1d:
|
||||
|
||||
/* NHLT microphone array type */
|
||||
|
||||
Temp8 = *Target & ACPI_NHLT_ARRAY_TYPE_MASK;
|
||||
if (Temp8 < ACPI_NHLT_ARRAY_TYPE_RESERVED)
|
||||
{
|
||||
Temp8 = ACPI_NHLT_ARRAY_TYPE_RESERVED;
|
||||
}
|
||||
|
||||
AcpiOsPrintf (UINT8_FORMAT_NO_NEWLINE, *Target,
|
||||
AcpiDmNhltMicArrayTypeNames[Temp8 - ACPI_NHLT_ARRAY_TYPE_RESERVED]);
|
||||
|
||||
Temp8 = *Target;
|
||||
if (Temp8 & ACPI_NHLT_MIC_SNR_SENSITIVITY_EXT)
|
||||
{
|
||||
AcpiOsPrintf (" [%s]", "SNR and Sensitivity");
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("\n");
|
||||
break;
|
||||
|
||||
case ACPI_DMT_NHLT1e:
|
||||
|
||||
/* NHLT Endpoint Device ID */
|
||||
|
||||
Temp16 = ACPI_GET16 (Target);
|
||||
if (Temp16 == 0xAE20)
|
||||
{
|
||||
Name = "PDM DMIC";
|
||||
}
|
||||
else if (Temp16 == 0xAE30)
|
||||
{
|
||||
Name = "BT Sideband";
|
||||
}
|
||||
else if (Temp16 == 0xAE34)
|
||||
{
|
||||
Name = "I2S/TDM Codecs";
|
||||
}
|
||||
else
|
||||
{
|
||||
Name = "Unknown Device ID";
|
||||
}
|
||||
|
||||
AcpiOsPrintf (UINT16_FORMAT, Temp16, Name);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_NHLT1f:
|
||||
|
||||
/* NHLT ConfigType field */
|
||||
|
||||
Temp8 = *Target;
|
||||
if (Temp8 > ACPI_NHLT_CONFIG_TYPE_RESERVED)
|
||||
{
|
||||
Temp8 = ACPI_NHLT_CONFIG_TYPE_RESERVED;
|
||||
}
|
||||
|
||||
AcpiOsPrintf (UINT8_FORMAT, *Target,
|
||||
AcpiDmNhltConfigTypeNames[Temp8]);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_PCCT:
|
||||
|
||||
/* PCCT subtable types */
|
||||
@ -1929,7 +2082,7 @@ AcpiDmDumpTable (
|
||||
break;
|
||||
}
|
||||
|
||||
AcpiDmDumpBuffer (Target, 0, ByteLength, 0, NULL);
|
||||
AcpiDmDumpBuffer (Target, 0, ByteLength, CurrentOffset, NULL);
|
||||
break;
|
||||
|
||||
case ACPI_DMT_RGRT:
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -195,7 +195,9 @@ AcpiDmDumpBuffer (
|
||||
char *Header)
|
||||
{
|
||||
UINT8 *Buffer;
|
||||
UINT8 BufChar;
|
||||
UINT32 i;
|
||||
UINT32 j;
|
||||
|
||||
|
||||
if (!Length)
|
||||
@ -208,20 +210,72 @@ AcpiDmDumpBuffer (
|
||||
|
||||
while (i < Length)
|
||||
{
|
||||
if (!(i % 16))
|
||||
if ((Length > 16) && (i != 0))
|
||||
{
|
||||
/* Insert a backslash - line continuation character */
|
||||
if ((Length - i) < 16)
|
||||
AcpiOsPrintf ("\n/* %3.3Xh %4.4u %3u */ ", AbsoluteOffset, AbsoluteOffset, Length - i);
|
||||
else
|
||||
AcpiOsPrintf ("\n/* %3.3Xh %4.4u 16 */ ", AbsoluteOffset, AbsoluteOffset);
|
||||
}
|
||||
AbsoluteOffset += 16;
|
||||
|
||||
if (Length > 16)
|
||||
/* Emit the raw data bytes*/
|
||||
|
||||
for (j = 0; j < 16; j++)
|
||||
{
|
||||
if (i + j >= Length)
|
||||
{
|
||||
AcpiOsPrintf ("\\\n ");
|
||||
/* Dump fill spaces */
|
||||
|
||||
AcpiOsPrintf ("%*s", (48 - (3 * (Length -i))), " ");
|
||||
break;
|
||||
}
|
||||
AcpiOsPrintf ("%.02X ", Buffer[(ACPI_SIZE) i + j]);
|
||||
}
|
||||
|
||||
/* Emit the ASCII equivalent to the raw data bytes */
|
||||
|
||||
for (j = 0; j < 16; j++)
|
||||
{
|
||||
if (i + j >= Length)
|
||||
{
|
||||
AcpiOsPrintf (" */\\\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add comment characters so rest of line is ignored when
|
||||
* compiled
|
||||
*/
|
||||
if (j == 0)
|
||||
{
|
||||
AcpiOsPrintf ("/* ");
|
||||
}
|
||||
|
||||
BufChar = Buffer[(ACPI_SIZE) i + j];
|
||||
if (isprint (BufChar))
|
||||
{
|
||||
AcpiOsPrintf ("%c", BufChar);
|
||||
}
|
||||
else
|
||||
{
|
||||
AcpiOsPrintf (".");
|
||||
}
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("%.02X ", *Buffer);
|
||||
i++;
|
||||
Buffer++;
|
||||
AbsoluteOffset++;
|
||||
/* Done with that line. */
|
||||
/* Close the comment and insert a backslash - line continuation character */
|
||||
|
||||
if (Length > 16)
|
||||
{
|
||||
AcpiOsPrintf (" */\\");
|
||||
}
|
||||
else
|
||||
{
|
||||
AcpiOsPrintf (" */\\");
|
||||
}
|
||||
|
||||
i += 16; /* Point to next line */
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("\n");
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -296,8 +296,6 @@ AcpiDmDumpAest (
|
||||
case ACPI_AEST_GENERIC_RESOURCE:
|
||||
InfoTable = AcpiDmTableInfoAestGenRsrc;
|
||||
Length = sizeof (ACPI_AEST_PROCESSOR_GENERIC);
|
||||
AcpiOsPrintf ("Generic Resource Type (%X) is not supported at this time\n",
|
||||
ProcessorSubtable->ResourceType);
|
||||
break;
|
||||
|
||||
/* Error case below */
|
||||
@ -378,6 +376,68 @@ AcpiDmDumpAest (
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: AcpiDmDumpApmt
|
||||
*
|
||||
* PARAMETERS: Table - A APMT table
|
||||
*
|
||||
* RETURN: None
|
||||
*
|
||||
* DESCRIPTION: Format the contents of a APMT. This table type consists
|
||||
* of an open-ended number of subtables.
|
||||
*
|
||||
*
|
||||
* APMT - ARM Performance Monitoring Unit table. Conforms to:
|
||||
* ARM Performance Monitoring Unit Architecture 1.0 Platform Design Document
|
||||
* ARM DEN0117 v1.0 November 25, 2021
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
void
|
||||
AcpiDmDumpApmt (
|
||||
ACPI_TABLE_HEADER *Table)
|
||||
{
|
||||
ACPI_STATUS Status;
|
||||
ACPI_APMT_NODE *Subtable;
|
||||
UINT32 Length = Table->Length;
|
||||
UINT32 Offset = sizeof (ACPI_TABLE_APMT);
|
||||
UINT32 NodeNum = 0;
|
||||
|
||||
/* There is no main table (other than the standard ACPI header) */
|
||||
|
||||
/* Subtables */
|
||||
|
||||
Subtable = ACPI_ADD_PTR (ACPI_APMT_NODE, Table, Offset);
|
||||
while (Offset < Table->Length)
|
||||
{
|
||||
AcpiOsPrintf ("\n");
|
||||
|
||||
if (Subtable->Type >= ACPI_APMT_NODE_TYPE_COUNT)
|
||||
{
|
||||
AcpiOsPrintf ("\n**** Unknown APMT subtable type 0x%X\n",
|
||||
Subtable->Type);
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("/* APMT Node-%u */\n", NodeNum++);
|
||||
|
||||
Status = AcpiDmDumpTable (Length, Offset, Subtable,
|
||||
Subtable->Length, AcpiDmTableInfoApmtNode);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* Point to next subtable */
|
||||
|
||||
Offset += Subtable->Length;
|
||||
Subtable = ACPI_ADD_PTR (ACPI_APMT_NODE, Subtable,
|
||||
Subtable->Length);
|
||||
AcpiOsPrintf ("\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
@ -569,7 +629,6 @@ AcpiDmDumpCedt (
|
||||
ACPI_CEDT_HEADER *Subtable;
|
||||
UINT32 Length = Table->Length;
|
||||
UINT32 Offset = sizeof (ACPI_TABLE_CEDT);
|
||||
ACPI_DMTABLE_INFO *InfoTable;
|
||||
|
||||
|
||||
/* There is no main table (other than the standard ACPI header) */
|
||||
@ -590,35 +649,52 @@ AcpiDmDumpCedt (
|
||||
switch (Subtable->Type)
|
||||
{
|
||||
case ACPI_CEDT_TYPE_CHBS:
|
||||
|
||||
InfoTable = AcpiDmTableInfoCedt0;
|
||||
Status = AcpiDmDumpTable (Length, Offset, Subtable,
|
||||
Subtable->Length, AcpiDmTableInfoCedt0);
|
||||
if (ACPI_FAILURE (Status)) {
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
case ACPI_CEDT_TYPE_CFMWS: {
|
||||
ACPI_CEDT_CFMWS *ptr = (ACPI_CEDT_CFMWS *) Subtable;
|
||||
unsigned int i, max = 0x01 << (ptr->InterleaveWays);
|
||||
|
||||
/* print out table with first "Interleave target" */
|
||||
|
||||
Status = AcpiDmDumpTable (Length, Offset, Subtable,
|
||||
Subtable->Length, AcpiDmTableInfoCedt1);
|
||||
if (ACPI_FAILURE (Status)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Now, print out any interleave targets beyond the first. */
|
||||
|
||||
for (i = 1; i < max; i++) {
|
||||
unsigned int loc_offset = Offset + (i * 4) + ACPI_OFFSET(ACPI_CEDT_CFMWS, InterleaveTargets);
|
||||
unsigned int *trg = &(ptr->InterleaveTargets[i]);
|
||||
Status = AcpiDmDumpTable (Length, loc_offset, trg,
|
||||
Subtable->Length, AcpiDmTableInfoCedt1_te);
|
||||
if (ACPI_FAILURE (Status)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
AcpiOsPrintf ("\n**** Unknown CEDT subtable type 0x%X\n\n",
|
||||
Subtable->Type);
|
||||
|
||||
/* Attempt to continue */
|
||||
|
||||
if (!Subtable->Length)
|
||||
{
|
||||
AcpiOsPrintf ("Invalid zero length subtable\n");
|
||||
return;
|
||||
}
|
||||
goto NextSubtable;
|
||||
}
|
||||
|
||||
Status = AcpiDmDumpTable (Length, Offset, Subtable,
|
||||
Subtable->Length, InfoTable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
NextSubtable:
|
||||
/* Point to next subtable */
|
||||
|
||||
Offset += Subtable->Length;
|
||||
Subtable = ACPI_ADD_PTR (ACPI_CEDT_HEADER, Subtable,
|
||||
Subtable->Length);
|
||||
@ -990,6 +1066,12 @@ AcpiDmDumpDmar (
|
||||
ScopeOffset = sizeof (ACPI_DMAR_ANDD);
|
||||
break;
|
||||
|
||||
case ACPI_DMAR_TYPE_SATC:
|
||||
|
||||
InfoTable = AcpiDmTableInfoDmar5;
|
||||
ScopeOffset = sizeof (ACPI_DMAR_SATC);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
AcpiOsPrintf ("\n**** Unknown DMAR subtable type 0x%X\n\n",
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -203,9 +203,9 @@ AcpiDmDumpIort (
|
||||
|
||||
Revision = Table->Revision;
|
||||
|
||||
/* Both IORT Rev E and E.a have known issues and are not supported */
|
||||
/* IORT Revisions E, E.a and E.c have known issues and are not supported */
|
||||
|
||||
if (Revision == 1 || Revision == 2)
|
||||
if (Revision == 1 || Revision == 2 || Revision == 4)
|
||||
{
|
||||
AcpiOsPrintf ("\n**** Unsupported IORT revision 0x%X\n",
|
||||
Revision);
|
||||
@ -445,7 +445,7 @@ AcpiDmDumpIort (
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
@ -887,6 +887,8 @@ AcpiDmDumpMadt (
|
||||
/* Subtables */
|
||||
|
||||
Subtable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Table, Offset);
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//0B) Offset %X, from table start: 0x%8.8X%8.8X\n",
|
||||
Offset, ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table)));
|
||||
while (Offset < Table->Length)
|
||||
{
|
||||
/* Common subtable header */
|
||||
@ -899,6 +901,7 @@ AcpiDmDumpMadt (
|
||||
return;
|
||||
}
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "subtableType: %X\n", Subtable->Type);
|
||||
switch (Subtable->Type)
|
||||
{
|
||||
case ACPI_MADT_TYPE_LOCAL_APIC:
|
||||
@ -988,8 +991,23 @@ AcpiDmDumpMadt (
|
||||
|
||||
default:
|
||||
|
||||
AcpiOsPrintf ("\n**** Unknown MADT subtable type 0x%X\n\n",
|
||||
Subtable->Type);
|
||||
if ((Subtable->Type >= ACPI_MADT_TYPE_RESERVED) &&
|
||||
(Subtable->Type < ACPI_MADT_TYPE_OEM_RESERVED))
|
||||
{
|
||||
AcpiOsPrintf ("\n**** Unknown MADT subtable type 0x%X\n\n",
|
||||
Subtable->Type);
|
||||
goto NextSubtable;
|
||||
}
|
||||
else if (Subtable->Type >= ACPI_MADT_TYPE_OEM_RESERVED)
|
||||
{
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[Found an OEM structure, type = %0x]\n",
|
||||
Subtable->Type);
|
||||
Offset += sizeof (ACPI_SUBTABLE_HEADER);
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[0) Subtable->Length = %X, Subtable = %p, Offset = %X]\n",
|
||||
Subtable->Length, Subtable, Offset);
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[0A) Offset from table start: 0x%8.8X%8.8X]\n",
|
||||
ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table)));
|
||||
}
|
||||
|
||||
/* Attempt to continue */
|
||||
|
||||
@ -999,9 +1017,24 @@ AcpiDmDumpMadt (
|
||||
return;
|
||||
}
|
||||
|
||||
/* Dump the OEM data */
|
||||
|
||||
Status = AcpiDmDumpTable (Length, Offset, ACPI_CAST_PTR (UINT8, Table) + Offset,
|
||||
Subtable->Length - sizeof (ACPI_SUBTABLE_HEADER), AcpiDmTableInfoMadt17);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[1) Subtable->Length = %X, Offset = %X]\n",
|
||||
Subtable->Length, Offset);
|
||||
Offset -= sizeof (ACPI_SUBTABLE_HEADER);
|
||||
|
||||
goto NextSubtable;
|
||||
}
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[2) Subtable->Length = %X, Offset = %X]\n",
|
||||
Subtable->Length, Offset);
|
||||
Status = AcpiDmDumpTable (Length, Offset, Subtable,
|
||||
Subtable->Length, InfoTable);
|
||||
if (ACPI_FAILURE (Status))
|
||||
@ -1012,9 +1045,28 @@ AcpiDmDumpMadt (
|
||||
NextSubtable:
|
||||
/* Point to next subtable */
|
||||
|
||||
Offset += Subtable->Length;
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[3) Subtable->Length = %X, Offset = %X]\n",
|
||||
Subtable->Length, Offset);
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[4) Offset from table start: 0x%8.8X%8.8X (%p) %p]\n",
|
||||
ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (UINT8, Subtable) - ACPI_CAST_PTR (UINT8, Table)), Subtable, Table);
|
||||
if (Offset > Table->Length)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Subtable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Subtable,
|
||||
Subtable->Length);
|
||||
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[5) Next Subtable %p, length %X]\n",
|
||||
Subtable, Subtable->Length);
|
||||
DbgPrint (ASL_PARSE_OUTPUT, "//[5B) Offset from table start: 0x%8.8X%8.8X (%p)]\n",
|
||||
ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table)), Subtable);
|
||||
|
||||
Offset = ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table);
|
||||
if (Offset >= Table->Length)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1494,19 +1546,21 @@ AcpiDmDumpNhlt (
|
||||
UINT32 CapabilitiesSize;
|
||||
UINT32 i;
|
||||
UINT32 j;
|
||||
UINT32 k;
|
||||
UINT32 EndpointEndOffset;
|
||||
UINT8 ConfigType = 0;
|
||||
UINT8 ArrayType;
|
||||
UINT8 MicrophoneCount;
|
||||
ACPI_NHLT_VENDOR_MIC_COUNT *MicCount;
|
||||
ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A *DevSpecific;
|
||||
ACPI_NHLT_FORMATS_CONFIG *FormatsConfig;
|
||||
ACPI_NHLT_LINUX_SPECIFIC_COUNT *Count;
|
||||
ACPI_NHLT_LINUX_SPECIFIC_DATA *LinuxData;
|
||||
ACPI_NHLT_DEVICE_INFO_COUNT *Count;
|
||||
ACPI_NHLT_DEVICE_INFO *DeviceInfo;
|
||||
ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B *Capabilities;
|
||||
|
||||
|
||||
/* Main table */
|
||||
|
||||
AcpiOsPrintf ("/* Main table */\n");
|
||||
AcpiOsPrintf (" /* Main table */\n");
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, 0, Table, 0, AcpiDmTableInfoNhlt);
|
||||
if (ACPI_FAILURE (Status))
|
||||
@ -1532,52 +1586,59 @@ AcpiDmDumpNhlt (
|
||||
/* Do the Endpoint Descriptor table */
|
||||
|
||||
Subtable = ACPI_ADD_PTR (ACPI_NHLT_ENDPOINT, Table, Offset);
|
||||
|
||||
/* Check for endpoint descriptor length beyond end-of-table */
|
||||
|
||||
if (Subtable->DescriptorLength > TableLength)
|
||||
{
|
||||
Offset += 1;
|
||||
AcpiOsPrintf ("\n/* Endpoint Descriptor Length larger than"
|
||||
AcpiOsPrintf ("\n /* Endpoint Descriptor Length larger than"
|
||||
" table size: %X, table %X, adjusting table offset (+1) */\n",
|
||||
Subtable->DescriptorLength, TableLength);
|
||||
|
||||
Subtable = ACPI_ADD_PTR (ACPI_NHLT_ENDPOINT, Table, Offset);
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("\n/* Endpoint Descriptor #%u */\n", i+1);
|
||||
AcpiOsPrintf ("\n /* Endpoint Descriptor #%u */\n", i+1);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, Subtable,
|
||||
Subtable->DescriptorLength, AcpiDmTableInfoNhlt0);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EndpointEndOffset = Subtable->DescriptorLength + Offset;
|
||||
|
||||
/* Check for endpoint descriptor beyond end-of-table */
|
||||
|
||||
if (Subtable->DescriptorLength > TableLength)
|
||||
{
|
||||
AcpiOsPrintf ("\n/* Endpoint Descriptor Length larger than table size: %X, table %X */\n",
|
||||
AcpiOsPrintf ("\n /* Endpoint Descriptor Length larger than table size: %X, table %X */\n",
|
||||
Subtable->DescriptorLength, TableLength);
|
||||
}
|
||||
|
||||
Offset += sizeof (ACPI_NHLT_ENDPOINT);
|
||||
Subtable = ACPI_ADD_PTR (ACPI_NHLT_ENDPOINT, Table, Offset);
|
||||
|
||||
/* Do the Device Specific table */
|
||||
|
||||
AcpiOsPrintf ("\n/* Endpoint Device_Specific_Config table */\n");
|
||||
AcpiOsPrintf ("\n /* Endpoint Device_Specific_Config table */\n");
|
||||
DevSpecific = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A, Subtable);
|
||||
CapabilitiesSize = DevSpecific->CapabilitiesSize;
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B), AcpiDmTableInfoNhlt5b);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
ArrayType = 0;
|
||||
|
||||
/* Different subtables based upon capabilities_size */
|
||||
|
||||
switch (CapabilitiesSize)
|
||||
{
|
||||
case 0:
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B), AcpiDmTableInfoNhlt5b);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Offset += sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B);
|
||||
break;
|
||||
|
||||
@ -1602,6 +1663,9 @@ AcpiDmDumpNhlt (
|
||||
break;
|
||||
|
||||
case 3:
|
||||
default:
|
||||
/* Extract the ConfigType and ArrayType */
|
||||
|
||||
ConfigType = DevSpecific->ConfigType;
|
||||
ArrayType = DevSpecific->ArrayType;
|
||||
|
||||
@ -1614,56 +1678,113 @@ AcpiDmDumpNhlt (
|
||||
|
||||
/* Capabilities Size == 3 */
|
||||
Offset += sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A);
|
||||
break;
|
||||
|
||||
/* Check for a vendor-defined mic array */
|
||||
case 7:
|
||||
ConfigType = DevSpecific->ConfigType;
|
||||
Subtable = ACPI_ADD_PTR (ACPI_NHLT_ENDPOINT, Table, Offset);
|
||||
DevSpecific = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A, Subtable);
|
||||
|
||||
if ((ConfigType == ACPI_NHLT_TYPE_MIC_ARRAY) && ((ArrayType & ARRAY_TYPE_MASK) == VENDOR_DEFINED))
|
||||
AcpiOsPrintf ("\n /* Render Feedback Device-Specific table */\n");
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG), AcpiDmTableInfoNhlt5);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
/* Vendor-defined microphone array */
|
||||
return;
|
||||
}
|
||||
|
||||
AcpiOsPrintf ("\n/* Vendor-defined microphone array */\n");
|
||||
/* Capabilities Size = 7 */
|
||||
Offset += sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG);
|
||||
|
||||
if (ConfigType == ACPI_NHLT_CONFIG_TYPE_RENDER_FEEDBACK)
|
||||
{
|
||||
Subtable = ACPI_ADD_PTR (ACPI_NHLT_ENDPOINT, Table, Offset);
|
||||
DevSpecific = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A, Subtable);
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
sizeof (ACPI_NHLT_VENDOR_MIC_CONFIG), AcpiDmTableInfoNhlt6);
|
||||
sizeof (ACPI_NHLT_RENDER_FEEDBACK_DEVICE_SPECIFIC_CONFIG), AcpiDmTableInfoNhlt6b);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Offset += sizeof (ACPI_NHLT_VENDOR_MIC_CONFIG);
|
||||
Offset += sizeof (ACPI_NHLT_RENDER_FEEDBACK_DEVICE_SPECIFIC_CONFIG);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B), AcpiDmTableInfoNhlt5b);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
/* Check for a vendor-defined mic array */
|
||||
|
||||
Offset += sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
CapabilitiesSize, AcpiDmTableInfoNhlt3a);
|
||||
if (ACPI_FAILURE (Status))
|
||||
if (ConfigType == ACPI_NHLT_CONFIG_TYPE_MIC_ARRAY)
|
||||
{
|
||||
if ((ArrayType & ACPI_NHLT_ARRAY_TYPE_MASK) == ACPI_NHLT_VENDOR_DEFINED)
|
||||
{
|
||||
return;
|
||||
/* Vendor-defined microphone array; get the microphone count first */
|
||||
|
||||
AcpiOsPrintf ("\n /* Vendor-defined microphone count */\n");
|
||||
MicCount = ACPI_ADD_PTR (ACPI_NHLT_VENDOR_MIC_COUNT, Table, Offset);
|
||||
MicrophoneCount = MicCount->MicrophoneCount;
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, MicCount,
|
||||
sizeof (ACPI_NHLT_VENDOR_MIC_COUNT), AcpiDmTableInfoNhlt6a);
|
||||
Offset += sizeof (ACPI_NHLT_VENDOR_MIC_COUNT);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get the vendor microphone config structure(s) */
|
||||
|
||||
for (j = 0; j < MicrophoneCount; j++)
|
||||
{
|
||||
AcpiOsPrintf ("\n /* Vendor-defined microphone array #%u*/\n", j+1);
|
||||
DevSpecific = ACPI_ADD_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A, Table, Offset);
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
sizeof (ACPI_NHLT_VENDOR_MIC_CONFIG), AcpiDmTableInfoNhlt6);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Offset += sizeof (ACPI_NHLT_VENDOR_MIC_CONFIG);
|
||||
}
|
||||
|
||||
/* Check for Microphone SNR and sensitivity extension */
|
||||
|
||||
if ((ArrayType & ACPI_NHLT_ARRAY_TYPE_EXT_MASK) == ACPI_NHLT_MIC_SNR_SENSITIVITY_EXT)
|
||||
{
|
||||
AcpiOsPrintf ("\n /* Microphone SNR and sensitivity array */\n");
|
||||
DevSpecific = ACPI_ADD_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A, Table, Offset);
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DevSpecific,
|
||||
sizeof (ACPI_NHLT_MIC_SNR_SENSITIVITY_EXTENSION), AcpiDmTableInfoNhlt9);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Offset += sizeof (ACPI_NHLT_MIC_SNR_SENSITIVITY_EXTENSION);
|
||||
}
|
||||
}
|
||||
Offset += CapabilitiesSize;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Do the Formats_Config table */
|
||||
/* Do the Formats_Config table - starts with the FormatsCount field */
|
||||
|
||||
FormatsConfig = ACPI_ADD_PTR (ACPI_NHLT_FORMATS_CONFIG, Table, Offset);
|
||||
FormatsCount = FormatsConfig->FormatsCount;
|
||||
|
||||
AcpiOsPrintf ("\n/* Formats_Config table */\n");
|
||||
AcpiOsPrintf ("\n /* Formats_Config table */\n");
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, FormatsConfig,
|
||||
sizeof (ACPI_NHLT_FORMATS_CONFIG), AcpiDmTableInfoNhlt4);
|
||||
if (ACPI_FAILURE (Status))
|
||||
/* Dump the FormatsCount value */
|
||||
|
||||
if (FormatsCount > 0)
|
||||
{
|
||||
return;
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, FormatsConfig,
|
||||
sizeof (ACPI_NHLT_FORMATS_CONFIG), AcpiDmTableInfoNhlt4);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
Offset += sizeof (ACPI_NHLT_FORMATS_CONFIG);
|
||||
|
||||
@ -1676,90 +1797,125 @@ AcpiDmDumpNhlt (
|
||||
|
||||
/* Do the Wave_extensible struct */
|
||||
|
||||
AcpiOsPrintf ("\n/* Wave_Format_Extensible table #%u */\n", j+1);
|
||||
AcpiOsPrintf ("\n /* Wave_Format_Extensible table #%u */\n", j+1);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, FormatSubtable,
|
||||
sizeof (ACPI_NHLT_FORMAT_CONFIG), AcpiDmTableInfoNhlt3);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Offset += sizeof (ACPI_NHLT_WAVE_EXTENSIBLE);
|
||||
|
||||
/* Do the Capabilities array */
|
||||
Offset += sizeof (ACPI_NHLT_FORMAT_CONFIG);
|
||||
|
||||
Offset += sizeof (UINT32);
|
||||
AcpiOsPrintf ("\n/* Specific_Config table #%u */\n", j+1);
|
||||
FormatSubtable = ACPI_ADD_PTR (ACPI_NHLT_FORMAT_CONFIG, Table, Offset);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, FormatSubtable,
|
||||
CapabilitiesSize, AcpiDmTableInfoNhlt3a);
|
||||
if (ACPI_FAILURE (Status))
|
||||
if (CapabilitiesSize > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
Offset += CapabilitiesSize;
|
||||
}
|
||||
UINT8* CapabilitiesBuf = ACPI_ADD_PTR (UINT8, Table, Offset);
|
||||
/* Do the Capabilities array (of bytes) */
|
||||
|
||||
/*
|
||||
* If we are not done with the Endpoint(s) yet, then there must be
|
||||
* some Linux-specific structure(s) yet to be processed.
|
||||
*/
|
||||
if (Offset < EndpointEndOffset)
|
||||
{
|
||||
AcpiOsPrintf ("\n");
|
||||
Count = ACPI_ADD_PTR (ACPI_NHLT_LINUX_SPECIFIC_COUNT, Table, Offset);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, Count,
|
||||
sizeof (ACPI_NHLT_LINUX_SPECIFIC_COUNT), AcpiDmTableInfoNhlt7);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Offset += sizeof (ACPI_NHLT_LINUX_SPECIFIC_COUNT);
|
||||
AcpiOsPrintf ("\n /* Specific_Config table #%u */\n", j+1);
|
||||
|
||||
/* Variable number of linux-specific structures */
|
||||
|
||||
for (k = 0; k < Count->StructureCount; k++)
|
||||
{
|
||||
LinuxData = ACPI_ADD_PTR (ACPI_NHLT_LINUX_SPECIFIC_DATA, Table, Offset);
|
||||
|
||||
AcpiOsPrintf ("\n/* Linux-specific structure #%u */\n", k+1);
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, LinuxData,
|
||||
sizeof (ACPI_NHLT_LINUX_SPECIFIC_DATA), AcpiDmTableInfoNhlt7a);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, CapabilitiesBuf,
|
||||
CapabilitiesSize, AcpiDmTableInfoNhlt3a);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Offset += sizeof (ACPI_NHLT_LINUX_SPECIFIC_DATA);
|
||||
Offset += CapabilitiesSize; /* + sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B); */
|
||||
}
|
||||
|
||||
/* Should be at the end of the Endpoint structure. Skip any extra bytes */
|
||||
} /* for (j = 0; j < FormatsCount; j++) */
|
||||
|
||||
/*
|
||||
* If we are not done with the current Endpoint yet, then there must be
|
||||
* some non documented structure(s) yet to be processed. First, get
|
||||
* the count of such structure(s).
|
||||
*/
|
||||
if (Offset < EndpointEndOffset)
|
||||
{
|
||||
AcpiOsPrintf ("\n /* Structures that are not part of NHLT spec */\n");
|
||||
Count = ACPI_ADD_PTR (ACPI_NHLT_DEVICE_INFO_COUNT, Table, Offset);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, Count,
|
||||
sizeof (ACPI_NHLT_DEVICE_INFO_COUNT), AcpiDmTableInfoNhlt7);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Offset += sizeof (ACPI_NHLT_DEVICE_INFO_COUNT);
|
||||
|
||||
/* Variable number of device structures */
|
||||
|
||||
for (j = 0; j < Count->StructureCount; j++)
|
||||
{
|
||||
DeviceInfo = ACPI_ADD_PTR (ACPI_NHLT_DEVICE_INFO, Table, Offset);
|
||||
AcpiOsPrintf ("\n /* Device Info structure #%u (not part of NHLT spec) */\n", j+1);
|
||||
|
||||
/*
|
||||
* Dump the following Device Info fields:
|
||||
* 1) Device ID
|
||||
* 2) Device Instance ID
|
||||
* 3) Device Port ID
|
||||
*/
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, DeviceInfo,
|
||||
sizeof (ACPI_NHLT_DEVICE_INFO), AcpiDmTableInfoNhlt7a);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Offset += sizeof (ACPI_NHLT_DEVICE_INFO);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check that the current offset is not beyond the end of
|
||||
* this endpoint descriptor. If it is not, print those
|
||||
* undocumented bytes.
|
||||
*/
|
||||
if (Offset < EndpointEndOffset)
|
||||
{
|
||||
AcpiOsPrintf ("\n/* Endpoint descriptor ended before endpoint size was reached. "
|
||||
"skipped %X input bytes, current offset: %X, Endpoint End Offset: %X */\n",
|
||||
EndpointEndOffset - Offset, Offset, EndpointEndOffset);
|
||||
AcpiUtDumpBuffer (((UINT8 *)Table)+Offset,
|
||||
EndpointEndOffset - Offset, DB_BYTE_DISPLAY, Offset);
|
||||
/* Unknown data at the end of the Endpoint */
|
||||
UINT32 size = EndpointEndOffset - Offset;
|
||||
UINT8* buffer = ACPI_ADD_PTR (UINT8, Table, Offset);
|
||||
AcpiOsPrintf ("\n /* Unknown data at the end of the Endpoint, size: %X */\n", size);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, buffer,
|
||||
size, AcpiDmTableInfoNhlt7b);
|
||||
Offset = EndpointEndOffset;
|
||||
}
|
||||
|
||||
/* Should be at the end of the Endpoint structure. */
|
||||
}
|
||||
}
|
||||
|
||||
/* Emit the table terminator (if present) */
|
||||
} /* for (i = 0; i < EndpointCount; i++) */
|
||||
|
||||
if (Offset == TableLength - sizeof (ACPI_NHLT_TABLE_TERMINATOR))
|
||||
|
||||
/*
|
||||
* Done with all of the Endpoint Descriptors, Emit the table terminator
|
||||
* (if such a legacy structure is present -- not in NHLT specification)
|
||||
*/
|
||||
if (Offset < TableLength)
|
||||
{
|
||||
LinuxData = ACPI_ADD_PTR (ACPI_NHLT_LINUX_SPECIFIC_DATA, Table, Offset);
|
||||
AcpiOsPrintf ("\n/* Table terminator structure */\n");
|
||||
Capabilities = ACPI_ADD_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B, Table, Offset);
|
||||
AcpiOsPrintf ("\n/* Terminating specific config (not part of NHLT spec) */\n");
|
||||
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, LinuxData,
|
||||
sizeof (ACPI_NHLT_TABLE_TERMINATOR), AcpiDmTableInfoNhlt8);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, Capabilities,
|
||||
sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B), AcpiDmTableInfoNhlt5b);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Offset += sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B);
|
||||
|
||||
if (Capabilities->CapabilitiesSize > 0)
|
||||
{
|
||||
UINT32 remainingBytes = TableLength - Offset;
|
||||
UINT8* buffer = ACPI_ADD_PTR (UINT8, Table, Offset);
|
||||
|
||||
if (remainingBytes != Capabilities->CapabilitiesSize)
|
||||
AcpiOsPrintf ("\n/* Incorrect config size, should be %X, is %X */\n",
|
||||
Capabilities->CapabilitiesSize, remainingBytes);
|
||||
Status = AcpiDmDumpTable (TableLength, Offset, buffer,
|
||||
remainingBytes, AcpiDmTableInfoNhlt3a);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -292,7 +292,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[] =
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Facs), "FACS Address", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address", DT_NON_ZERO},
|
||||
{ACPI_DMT_UINT32, ACPI_FADT_OFFSET (Dsdt), "DSDT Address", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_FADT_OFFSET (Model), "Model", 0},
|
||||
{ACPI_DMT_FADTPM, ACPI_FADT_OFFSET (PreferredProfile), "PM Profile", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_FADT_OFFSET (SciInterrupt), "SCI Interrupt", 0},
|
||||
@ -408,7 +408,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* ACPI 5.0 Extensions (FADT version 5) */
|
||||
/* Extensions for FADT version 5 */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[] =
|
||||
{
|
||||
@ -417,7 +417,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* ACPI 6.0 Extensions (FADT version 6) */
|
||||
/* Extensions for FADT version 6 */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[] =
|
||||
{
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -521,6 +521,28 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoCedt0[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* 1: CXL Fixed Memory Window Structure */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_CEDT1_OFFSET (Reserved1), "Reserved", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_CEDT1_OFFSET (BaseHpa), "Window base address", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_CEDT1_OFFSET (WindowSize), "Window size", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_CEDT1_OFFSET (InterleaveWays), "Interleave Members (2^n)", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_CEDT1_OFFSET (InterleaveArithmetic), "Interleave Arithmetic", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_CEDT1_OFFSET (Reserved2), "Reserved", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_CEDT1_OFFSET (Granularity), "Granularity", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_CEDT1_OFFSET (Restrictions), "Restrictions", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_CEDT1_OFFSET (QtgId), "QtgId", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_CEDT1_OFFSET (InterleaveTargets), "First Target", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1_te[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_CEDT1_TE_OFFSET (InterleaveTarget), "Next Target", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
@ -768,6 +790,15 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* 5: Hardware Unit Definition */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoDmar5[] =
|
||||
{
|
||||
{ACPI_DMT_UINT8, ACPI_DMAR5_OFFSET (Flags), "Flags", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_DMAR5_OFFSET (Reserved), "Reserved", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_DMAR5_OFFSET (Segment), "PCI Segment Number", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -188,6 +188,59 @@
|
||||
* Remaining tables are not consumed directly by the ACPICA subsystem
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* AGDI - Arm Generic Diagnostic Dump and Reset Device Interface
|
||||
*
|
||||
* Conforms to "ACPI for Arm Components 1.1, Platform Design Document"
|
||||
* ARM DEN0093 v1.1
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoAgdi[] =
|
||||
{
|
||||
{ACPI_DMT_UINT8, ACPI_AGDI_OFFSET (Flags), "Flags (decoded below)", 0},
|
||||
{ACPI_DMT_FLAG0, ACPI_AGDI_FLAG_OFFSET (Flags, 0), "Signalling mode", 0},
|
||||
{ACPI_DMT_UINT24, ACPI_AGDI_OFFSET (Reserved[0]), "Reserved", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AGDI_OFFSET (SdeiEvent), "SdeiEvent", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_AGDI_OFFSET (Gsiv), "Gsiv", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* APMT - ARM Performance Monitoring Unit Table
|
||||
*
|
||||
* Conforms to:
|
||||
* ARM Performance Monitoring Unit Architecture 1.0 Platform Design Document
|
||||
* ARM DEN0117 v1.0 November 25, 2021
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoApmtNode[] =
|
||||
{
|
||||
{ACPI_DMT_UINT16, ACPI_APMTN_OFFSET (Length), "Length of APMT Node", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_APMTN_OFFSET (Flags), "Node Flags", 0},
|
||||
{ACPI_DMT_FLAG0, ACPI_APMTN_FLAG_OFFSET (Flags, 0), "Dual Page Extension", 0},
|
||||
{ACPI_DMT_FLAG1, ACPI_APMTN_FLAG_OFFSET (Flags, 0), "Processor Affinity Type", 0},
|
||||
{ACPI_DMT_FLAG2, ACPI_APMTN_FLAG_OFFSET (Flags, 0), "64-bit Atomic Support", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_APMTN_OFFSET (Type), "Node Type", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_APMTN_OFFSET (Id), "Unique Node Identifier", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_APMTN_OFFSET (InstPrimary), "Primary Node Instance", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_APMTN_OFFSET (InstSecondary), "Secondary Node Instance", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_APMTN_OFFSET (BaseAddress0), "Page 0 Base Address", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_APMTN_OFFSET (BaseAddress1), "Page 1 Base Address", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_APMTN_OFFSET (OvflwIrq), "Overflow Interrupt ID", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_APMTN_OFFSET (Reserved), "Reserved", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_APMTN_OFFSET (OvflwIrqFlags), "Overflow Interrupt Flags", 0},
|
||||
{ACPI_DMT_FLAG0, ACPI_APMTN_FLAG_OFFSET (OvflwIrqFlags, 0), "Interrupt Mode", 0},
|
||||
{ACPI_DMT_FLAG1, ACPI_APMTN_FLAG_OFFSET (OvflwIrqFlags, 0), "Interrupt Type", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_APMTN_OFFSET (ProcAffinity), "Processor Affinity", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_APMTN_OFFSET (ImplId), "Implementation ID", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
@ -304,7 +357,8 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[] =
|
||||
{ACPI_DMT_UINT32, ACPI_IORT2_OFFSET (AtsAttribute), "ATS Attribute", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_IORT2_OFFSET (PciSegmentNumber), "PCI Segment Number", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_IORT2_OFFSET (MemoryAddressLimit), "Memory Size Limit", 0},
|
||||
{ACPI_DMT_UINT24, ACPI_IORT2_OFFSET (Reserved[0]), "Reserved", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_IORT2_OFFSET (PasidCapabilities), "PASID Capabilities", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_IORT2_OFFSET (Reserved[0]), "Reserved", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -388,6 +442,8 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoIort6[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_IORT6_OFFSET (Flags), "Flags (decoded below)", 0},
|
||||
{ACPI_DMT_FLAG0, ACPI_IORT6_FLAG_OFFSET (Flags, 0), "Remapping Permitted", 0},
|
||||
{ACPI_DMT_FLAG1, ACPI_IORT6_FLAG_OFFSET (Flags, 0), "Access Privileged", 0},
|
||||
{ACPI_DMT_FLAGS8_2, ACPI_IORT6_FLAG_OFFSET (Flags, 0), "Access Attributes", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_IORT6_OFFSET (RmrCount), "Number of RMR Descriptors", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_IORT6_OFFSET (RmrOffset), "RMR Descriptor Offset", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
@ -868,6 +924,13 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* 17: OEM data structure */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[] =
|
||||
{
|
||||
{ACPI_DMT_RAW_BUFFER, 0, "OEM Data", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
@ -1217,7 +1280,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt0[] =
|
||||
{ACPI_DMT_NHLT1, ACPI_NHLT0_OFFSET (LinkType), "Link Type", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT0_OFFSET (InstanceId), "Instance Id", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT0_OFFSET (VendorId), "Vendor Id", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT0_OFFSET (DeviceId), "Device Id", 0},
|
||||
{ACPI_DMT_NHLT1e, ACPI_NHLT0_OFFSET (DeviceId), "Device Id", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT0_OFFSET (RevisionId), "Revision Id", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT0_OFFSET (SubsystemId), "Subsystem Id", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT0_OFFSET (DeviceType), "Device Type", 0},
|
||||
@ -1230,9 +1293,9 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt0[] =
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt1[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT1_OFFSET (CapabilitiesSize), "Capabilities Size", DT_LENGTH},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT1_OFFSET (CapabilitiesSize), "Capabilities Size", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT1_OFFSET (VirtualSlot), "Virtual Slot", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT1_OFFSET (ConfigType), "Config Type", 0},
|
||||
{ACPI_DMT_NHLT1f, ACPI_NHLT1_OFFSET (ConfigType), "Config Type", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1253,7 +1316,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt2[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* Format Config */
|
||||
/* Format Config (wave_format_extensible structure) */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3[] =
|
||||
{
|
||||
@ -1267,7 +1330,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3[] =
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT3_OFFSET (Format.ValidBitsPerSample), "Valid Bits Per Sample", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT3_OFFSET (Format.ChannelMask), "Channel Mask", 0},
|
||||
{ACPI_DMT_UUID, ACPI_NHLT3_OFFSET (Format.SubFormatGuid), "SubFormat GUID", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT3_OFFSET (CapabilitySize), "Capabilities Length", DT_LENGTH},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT3_OFFSET (CapabilitySize), "Capabilities Length", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1281,7 +1344,6 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3a[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
|
||||
/* Formats Config */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt4[] =
|
||||
@ -1294,9 +1356,8 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt4[] =
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT5_OFFSET (CapabilitiesSize), "Capabilities Size", DT_LENGTH},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT5_OFFSET (VirtualSlot), "Virtual Slot", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT5_OFFSET (ConfigType), "Config Type", 0},
|
||||
{ACPI_DMT_NHLT1f, ACPI_NHLT5_OFFSET (ConfigType), "Config Type", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1304,10 +1365,9 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5[] =
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5a[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT5A_OFFSET (CapabilitiesSize), "Capabilities Size", DT_LENGTH},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT5A_OFFSET (VirtualSlot), "Virtual Slot", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT5A_OFFSET (ConfigType), "Config Type", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT5A_OFFSET (ArrayType), "Array Type", 0},
|
||||
{ACPI_DMT_NHLT1f, ACPI_NHLT5A_OFFSET (ConfigType), "Config Type", 0},
|
||||
{ACPI_DMT_NHLT1d, ACPI_NHLT5A_OFFSET (ArrayType), "Array Type", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1315,7 +1375,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5a[] =
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5b[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT5B_OFFSET (CapabilitiesSize), "Capabilities Size", DT_LENGTH},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT5B_OFFSET (CapabilitiesSize), "Capabilities Size", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1323,17 +1383,32 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5b[] =
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5c[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT5C_OFFSET (CapabilitiesSize), "Capabilities Size", DT_LENGTH},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT5C_OFFSET (VirtualSlot), "Virtual Slot", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* Microphone array Config */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6a[] =
|
||||
{
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT6A_OFFSET (MicrophoneCount), "Microphone Count", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* Render Feedback Device Config, CapabilitiesSize == 7 */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6b[] =
|
||||
{
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT6B_OFFSET (FeedbackVirtualSlot), "Feedback Virtual Slot", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT6B_OFFSET (FeedbackChannels), "Feedback Channels", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT6B_OFFSET (FeedbackValidBitsPerSample),"Valid Bits Per Sample", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6[] =
|
||||
{
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT6_OFFSET (Type), "Type", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT6_OFFSET (Panel), "Panel", 0},
|
||||
{ACPI_DMT_NHLT1b, ACPI_NHLT6_OFFSET (Type), "Type", 0},
|
||||
{ACPI_DMT_NHLT1c, ACPI_NHLT6_OFFSET (Panel), "Panel", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT6_OFFSET (SpeakerPositionDistance), "Speaker Position Distance", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT6_OFFSET (HorizontalOffset), "Horizontal Offset", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_NHLT6_OFFSET (VerticalOffset), "Vertical Offset", 0},
|
||||
@ -1348,31 +1423,36 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6[] =
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* Number of Linux-specific structures */
|
||||
/* Number of DeviceInfo structures */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7[] =
|
||||
{
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT7_OFFSET (StructureCount), "Linux-specific struct count", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT7_OFFSET (StructureCount), "Device Info struct count", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* The Linux-specific structure */
|
||||
/* The DeviceInfo structure */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7a[] =
|
||||
{
|
||||
{ACPI_DMT_BUF16, ACPI_NHLT7A_OFFSET (DeviceId), "Device ID", 0},
|
||||
{ACPI_DMT_UUID, ACPI_NHLT7A_OFFSET (DeviceId), "Device ID GUID", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT7A_OFFSET (DeviceInstanceId), "Device Instance ID", 0},
|
||||
{ACPI_DMT_UINT8, ACPI_NHLT7A_OFFSET (DevicePortId), "Device Port ID", 0},
|
||||
{ACPI_DMT_BUF18, ACPI_NHLT7A_OFFSET (Filler), "Specific Data", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* Table terminator (may or may not be present) */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt8[] =
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7b[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT8_OFFSET (TerminatorValue), "Terminator Value", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT8_OFFSET (TerminatorSignature), "Terminator Signature", 0},
|
||||
{ACPI_DMT_RAW_BUFFER, 0, "Bytes", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/* Sensitivity Extension */
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt9[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT9_OFFSET (SNR), "Signal-to-noise ratio", 0},
|
||||
{ACPI_DMT_UINT32, ACPI_NHLT9_OFFSET (Sensitivity), "Mic Sensitivity", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
@ -1950,7 +2030,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[] =
|
||||
{ACPI_DMT_UINT8, ACPI_SDEVH_OFFSET (Flags), "Flags (decoded below)", 0},
|
||||
{ACPI_DMT_FLAG0, ACPI_SDEVH_FLAG_OFFSET (Flags,0), "Allow handoff to unsecure OS", 0},
|
||||
{ACPI_DMT_FLAG1, ACPI_SDEVH_FLAG_OFFSET (Flags,0), "Secure access components present", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_SDEVH_OFFSET (Length), "Length", 0},
|
||||
{ACPI_DMT_UINT16, ACPI_SDEVH_OFFSET (Length), "Length", DT_LENGTH},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -491,6 +491,20 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[] =
|
||||
};
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* TDEL - TD-Event Log Table
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
ACPI_DMTABLE_INFO AcpiDmTableInfoTdel[] =
|
||||
{
|
||||
{ACPI_DMT_UINT32, ACPI_TDEL_OFFSET (Reserved), "Reserved", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_TDEL_OFFSET (LogAreaMinimumLength), "Log Area Minimum Length", 0},
|
||||
{ACPI_DMT_UINT64, ACPI_TDEL_OFFSET (LogAreaStartAddress), "Log Area Start Address", 0},
|
||||
ACPI_DMT_TERMINATOR
|
||||
};
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -183,6 +183,11 @@ UtLocalCacheCalloc (
|
||||
UINT32 CacheSize = ASL_STRING_CACHE_SIZE;
|
||||
|
||||
|
||||
#ifdef ACPI_MISALIGNMENT_NOT_SUPPORTED
|
||||
/* Used for objects other than strings, so keep allocations aligned */
|
||||
Length = ACPI_ROUND_UP_TO_NATIVE_WORD (Length);
|
||||
#endif
|
||||
|
||||
if (Length > CacheSize)
|
||||
{
|
||||
CacheSize = Length;
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -915,10 +915,11 @@ CmCleanupAndExit (
|
||||
|
||||
if (AslGbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT)
|
||||
{
|
||||
printf ("\nMaximum error count (%d) exceeded\n",
|
||||
printf ("\nMaximum error count (%d) exceeded (aslcompile.c)\n",
|
||||
ASL_MAX_ERROR_COUNT);
|
||||
}
|
||||
|
||||
AslGbl_ExceptionCount[ASL_ERROR] = 0;
|
||||
UtDisplaySummary (ASL_FILE_STDOUT);
|
||||
|
||||
/*
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -1025,7 +1025,7 @@ AslLogNewError (
|
||||
AslGbl_ExceptionCount[ModifiedLevel]++;
|
||||
if (!AslGbl_IgnoreErrors && AslGbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT)
|
||||
{
|
||||
printf ("\nMaximum error count (%u) exceeded\n", ASL_MAX_ERROR_COUNT);
|
||||
printf ("\nMaximum error count (%u) exceeded (aslerror.c)\n", ASL_MAX_ERROR_COUNT);
|
||||
|
||||
AslGbl_SourceLine = 0;
|
||||
AslGbl_NextError = AslGbl_ErrorLog;
|
||||
@ -1033,6 +1033,7 @@ AslLogNewError (
|
||||
exit(1);
|
||||
}
|
||||
|
||||
AslGbl_ExceptionCount[ASL_ERROR] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -835,8 +835,8 @@ FlOpenIncludeFile (
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Open the specified input file, and save the directory path to
|
||||
* the file so that include files can be opened in
|
||||
* the same directory.
|
||||
* the file so that include files can be opened in the same
|
||||
* directory. NOTE: File is opened in text mode.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -417,7 +417,7 @@ AslSignalHandler (
|
||||
}
|
||||
|
||||
printf (ASL_PREFIX "Terminating\n");
|
||||
exit (0);
|
||||
_exit (0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -379,8 +379,8 @@ const ASL_MAPPING_ENTRY AslKeywordMapping [] =
|
||||
/* LLESSEQUAL */ OP_TABLE_ENTRY (AML_LOGICAL_LESS_EQUAL_OP, 0, 0, ACPI_BTYPE_INTEGER),
|
||||
/* LNOT */ OP_TABLE_ENTRY (AML_LOGICAL_NOT_OP, 0, 0, ACPI_BTYPE_INTEGER),
|
||||
/* LNOTEQUAL */ OP_TABLE_ENTRY (AML_LOGICAL_NOT_EQUAL_OP, 0, 0, ACPI_BTYPE_INTEGER),
|
||||
/* LOAD */ OP_TABLE_ENTRY (AML_LOAD_OP, 0, 0, 0),
|
||||
/* LOADTABLE */ OP_TABLE_ENTRY (AML_LOAD_TABLE_OP, 0, 0, ACPI_BTYPE_DDB_HANDLE),
|
||||
/* LOAD */ OP_TABLE_ENTRY (AML_LOAD_OP, 0, 0, ACPI_BTYPE_INTEGER),
|
||||
/* LOADTABLE */ OP_TABLE_ENTRY (AML_LOAD_TABLE_OP, 0, 0, ACPI_BTYPE_INTEGER),
|
||||
/* LOCAL0 */ OP_TABLE_ENTRY (AML_LOCAL0, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS),
|
||||
/* LOCAL1 */ OP_TABLE_ENTRY (AML_LOCAL1, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS),
|
||||
/* LOCAL2 */ OP_TABLE_ENTRY (AML_LOCAL2, 0, 0, ACPI_BTYPE_OBJECTS_AND_REFS),
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -193,7 +193,8 @@ const char *AslErrorLevelIde [ASL_NUM_REPORT_LEVELS] = {
|
||||
*
|
||||
* NOTE2: With the introduction of the -vw option to disable specific messages,
|
||||
* new messages should only be added to the end of this list, so that values
|
||||
* for existing messages are not disturbed.
|
||||
* for existing messages are not disturbed. As important, obsolete messages
|
||||
* cannot be removed from this list, as it will affect the -vw option.
|
||||
*/
|
||||
|
||||
/* ASL compiler */
|
||||
@ -410,6 +411,8 @@ const char *AslTableCompilerMsgs [] =
|
||||
/* ASL_MSG_ENTRY_LIST */ "Invalid entry initializer list",
|
||||
/* ASL_MSG_UNKNOWN_FORMAT */ "Unknown format value",
|
||||
/* ASL_MSG_RESERVED_VALUE */ "Value for field is reserved or unknown",
|
||||
/* ASL_MSG_TWO_ZERO_VALUES */ "32-bit DSDT Address and 64-bit X_DSDT Address cannot both be zero",
|
||||
/* ASL_MSG_BAD_PARSE_TREE */ "Parse tree appears to be ill-defined"
|
||||
};
|
||||
|
||||
/* Preprocessor */
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -412,6 +412,8 @@ typedef enum
|
||||
ASL_MSG_ENTRY_LIST,
|
||||
ASL_MSG_UNKNOWN_FORMAT,
|
||||
ASL_MSG_RESERVED_VALUE,
|
||||
ASL_MSG_TWO_ZERO_VALUES,
|
||||
ASL_MSG_BAD_PARSE_TREE,
|
||||
|
||||
/* These messages are used by the Preprocessor only */
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -429,6 +429,11 @@ OpnDoFieldCommon (
|
||||
Next->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG;
|
||||
PkgLengthNode->Asl.ParseOpcode = PARSEOP_DEFAULT_ARG;
|
||||
}
|
||||
#ifdef _OBSOLETE_CODE
|
||||
/*
|
||||
* January 2022: removed this check due to complaints by users
|
||||
* for too many (invalid) remarks.
|
||||
*/
|
||||
else if (NewBitOffset == CurrentBitOffset)
|
||||
{
|
||||
/*
|
||||
@ -459,6 +464,7 @@ OpnDoFieldCommon (
|
||||
CurrentBitOffset = NewBitOffset;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
/*
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -11,7 +11,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -843,7 +843,7 @@ LoadTerm
|
||||
: PARSEOP_LOAD
|
||||
PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_LOAD);}
|
||||
NameString
|
||||
RequiredTarget
|
||||
Target
|
||||
PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,$4,$5);}
|
||||
| PARSEOP_LOAD
|
||||
PARSEOP_OPEN_PAREN
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -11,7 +11,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -11,7 +11,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -261,11 +261,11 @@ Target
|
||||
| ',' {$$ = TrCreateNullTargetOp ();} /* Placeholder is a ZeroOp object */
|
||||
| ',' SuperName {$$ = TrSetOpFlags ($2, OP_IS_TARGET);}
|
||||
;
|
||||
|
||||
/*
|
||||
RequiredTarget
|
||||
: ',' SuperName {$$ = TrSetOpFlags ($2, OP_IS_TARGET);}
|
||||
;
|
||||
|
||||
*/
|
||||
TermArg
|
||||
: SimpleName {$$ = TrSetOpFlags ($1, OP_IS_TERM_ARG);}
|
||||
| Type2Opcode {$$ = TrSetOpFlags ($1, OP_IS_TERM_ARG);}
|
||||
@ -715,7 +715,6 @@ Type1Opcode
|
||||
| FatalTerm {}
|
||||
| ForTerm {}
|
||||
| ElseIfTerm {}
|
||||
| LoadTerm {}
|
||||
| NoOpTerm {}
|
||||
| NotifyTerm {}
|
||||
| ReleaseTerm {}
|
||||
@ -734,6 +733,7 @@ Type2Opcode
|
||||
| CondRefOfTerm {}
|
||||
| CopyObjectTerm {}
|
||||
| DerefOfTerm {}
|
||||
| LoadTerm {} /* Moved from Type1 -- now returns an integer (ACPI 6.4) */
|
||||
| ObjectTypeTerm {}
|
||||
| RefOfTerm {}
|
||||
| SizeOfTerm {}
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -293,9 +293,17 @@ AslDetectSourceFileType (
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
/* We have some sort of binary table, check for valid ACPI table */
|
||||
|
||||
fseek (Info->Handle, 0, SEEK_SET);
|
||||
/*
|
||||
* We have some sort of binary table; reopen in binary mode, then
|
||||
* check for valid ACPI table
|
||||
*/
|
||||
fclose (Info->Handle);
|
||||
Info->Handle = fopen (Info->Filename, "rb");
|
||||
if (!Info->Handle)
|
||||
{
|
||||
fprintf (stderr, "Could not open input file %s\n",
|
||||
Info->Filename);
|
||||
}
|
||||
|
||||
Status = AcValidateTableHeader (Info->Handle, 0);
|
||||
if (ACPI_SUCCESS (Status))
|
||||
@ -446,8 +454,9 @@ AslDoOneFile (
|
||||
UtConvertBackslashes (AslGbl_Files[ASL_FILE_INPUT].Filename);
|
||||
|
||||
/*
|
||||
* Open the input file. Here, this should be an ASCII source file,
|
||||
* either an ASL file or a Data Table file
|
||||
* Open the input file. Here, this could be an ASCII source file,
|
||||
* either an ASL file or a Data Table file, or a binary AML file
|
||||
* or binary data table file (For disassembly).
|
||||
*/
|
||||
Status = FlOpenInputFile (AslGbl_Files[ASL_FILE_INPUT].Filename);
|
||||
if (ACPI_FAILURE (Status))
|
||||
@ -458,8 +467,6 @@ AslDoOneFile (
|
||||
|
||||
FileNode = FlGetCurrentFileNode();
|
||||
|
||||
FileNode->OriginalInputFileSize = FlGetFileSize (ASL_FILE_INPUT);
|
||||
|
||||
/* Determine input file type */
|
||||
|
||||
AslGbl_FileType = AslDetectSourceFileType (&AslGbl_Files[ASL_FILE_INPUT]);
|
||||
@ -469,6 +476,8 @@ AslDoOneFile (
|
||||
return (AE_ERROR);
|
||||
}
|
||||
|
||||
FileNode->OriginalInputFileSize = FlGetFileSize (ASL_FILE_INPUT);
|
||||
|
||||
/*
|
||||
* If -p not specified, we will use the input filename as the
|
||||
* output filename prefix
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -9,7 +9,7 @@ NoEcho('
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -175,7 +175,9 @@ NoEcho('
|
||||
%type <n> ParameterTypePackageList
|
||||
%type <n> ParameterTypesPackage
|
||||
%type <n> ParameterTypesPackageList
|
||||
/*
|
||||
%type <n> RequiredTarget
|
||||
*/
|
||||
%type <n> SimpleName
|
||||
%type <n> StringData
|
||||
%type <n> StringLiteral
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
@ -211,4 +211,3 @@ AuValidateUuid (
|
||||
|
||||
return (AE_OK);
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
* 1. Copyright Notice
|
||||
*
|
||||
* Some or all of this work - Copyright (c) 1999 - 2021, Intel Corp.
|
||||
* Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
|
||||
* All rights reserved.
|
||||
*
|
||||
* 2. License
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user