acpica: Import ACPICA 20220331

(cherry picked from commit ca1c95cc699a25d891e62ef863c8268c93b35cf8)
This commit is contained in:
Jung-uk Kim 2022-03-31 18:06:25 -04:00
parent 7bfe5e4515
commit ab71bbb75a
357 changed files with 2776 additions and 787 deletions

View File

@ -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:

View File

@ -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))
{

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"},

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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");

View File

@ -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",

View File

@ -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;

View File

@ -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

View File

@ -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[] =
{

View File

@ -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
};
/*******************************************************************************
*

View File

@ -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
};

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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);
/*

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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.
*
******************************************************************************/

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);
}

View File

@ -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),

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
{
/*

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 {}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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