diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2022-03-31 22:06:25 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2022-03-31 22:06:25 +0000 |
commit | ca1c95cc699a25d891e62ef863c8268c93b35cf8 (patch) | |
tree | 8c79c367e505963d6b4aeb8b61e56c51869dc9a3 | |
parent | c509b6ab0d7e5bafc5348b08653b8738bd40716e (diff) |
Import ACPICA 20220331vendor/acpica/20220331
426 files changed, 2857 insertions, 848 deletions
diff --git a/changes.txt b/changes.txt index ad2323971aea..cf3c21898c51 100644 --- a/changes.txt +++ b/changes.txt @@ -1,4 +1,130 @@ ---------------------------------------- +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: This release is available at https://acpica.org/downloads diff --git a/source/common/acfileio.c b/source/common/acfileio.c index 99f8972985ec..7c624f5d3644 100644 --- a/source/common/acfileio.c +++ b/source/common/acfileio.c @@ -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)) { diff --git a/source/common/acgetline.c b/source/common/acgetline.c index 88479d619a64..e5d0bf560fae 100644 --- a/source/common/acgetline.c +++ b/source/common/acgetline.c @@ -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 diff --git a/source/common/adfile.c b/source/common/adfile.c index db6bcabc1efa..647333d9d682 100644 --- a/source/common/adfile.c +++ b/source/common/adfile.c @@ -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 diff --git a/source/common/adisasm.c b/source/common/adisasm.c index f549bd5aa3ea..ecb984858388 100644 --- a/source/common/adisasm.c +++ b/source/common/adisasm.c @@ -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 diff --git a/source/common/adwalk.c b/source/common/adwalk.c index c4d149e3d4d6..6d51c7e17748 100644 --- a/source/common/adwalk.c +++ b/source/common/adwalk.c @@ -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 diff --git a/source/common/ahids.c b/source/common/ahids.c index b58bc082054a..05c31bf50fd0 100644 --- a/source/common/ahids.c +++ b/source/common/ahids.c @@ -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 diff --git a/source/common/ahpredef.c b/source/common/ahpredef.c index d92417d16ca4..724abe6a33d0 100644 --- a/source/common/ahpredef.c +++ b/source/common/ahpredef.c @@ -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 diff --git a/source/common/ahtable.c b/source/common/ahtable.c index d7ce88a973f2..bff8ae79080b 100644 --- a/source/common/ahtable.c +++ b/source/common/ahtable.c @@ -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"}, diff --git a/source/common/ahuuids.c b/source/common/ahuuids.c index eef1c5688cfd..909698c572a9 100644 --- a/source/common/ahuuids.c +++ b/source/common/ahuuids.c @@ -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 diff --git a/source/common/cmfsize.c b/source/common/cmfsize.c index 38ec915a989d..474ccd9501f8 100644 --- a/source/common/cmfsize.c +++ b/source/common/cmfsize.c @@ -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 diff --git a/source/common/dmextern.c b/source/common/dmextern.c index 36d586008cb6..806daa33f94b 100644 --- a/source/common/dmextern.c +++ b/source/common/dmextern.c @@ -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 diff --git a/source/common/dmrestag.c b/source/common/dmrestag.c index 59d5c4f4faeb..b677298436fc 100644 --- a/source/common/dmrestag.c +++ b/source/common/dmrestag.c @@ -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 diff --git a/source/common/dmswitch.c b/source/common/dmswitch.c index 2b894c65dcd5..4a4347368c9e 100644 --- a/source/common/dmswitch.c +++ b/source/common/dmswitch.c @@ -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 diff --git a/source/common/dmtable.c b/source/common/dmtable.c index dff1c6139cd7..440c5fb409fd 100644 --- a/source/common/dmtable.c +++ b/source/common/dmtable.c @@ -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: diff --git a/source/common/dmtables.c b/source/common/dmtables.c index fa04e0c88979..6f42bcb3bf66 100644 --- a/source/common/dmtables.c +++ b/source/common/dmtables.c @@ -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 diff --git a/source/common/dmtbdump.c b/source/common/dmtbdump.c index abeb06fa5c38..b4faf68316ff 100644 --- a/source/common/dmtbdump.c +++ b/source/common/dmtbdump.c @@ -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; + + /* Emit the raw data bytes*/ - if (Length > 16) + 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 ("."); + } + } + + /* Done with that line. */ + /* Close the comment and insert a backslash - line continuation character */ + + if (Length > 16) + { + AcpiOsPrintf (" */\\"); + } + else + { + AcpiOsPrintf (" */\\"); } - AcpiOsPrintf ("%.02X ", *Buffer); - i++; - Buffer++; - AbsoluteOffset++; + i += 16; /* Point to next line */ } AcpiOsPrintf ("\n"); diff --git a/source/common/dmtbdump1.c b/source/common/dmtbdump1.c index 3a97af4680f7..13662611e0a6 100644 --- a/source/common/dmtbdump1.c +++ b/source/common/dmtbdump1.c @@ -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: + Status = AcpiDmDumpTable (Length, Offset, Subtable, + Subtable->Length, AcpiDmTableInfoCedt0); + if (ACPI_FAILURE (Status)) { + return; + } + break; + + case ACPI_CEDT_TYPE_CFMWS: { + ACPI_CEDT_CFMWS *ptr = (ACPI_CEDT_CFMWS *) Subtable; + unsigned int i, max = 0x01 << (ptr->InterleaveWays); - InfoTable = AcpiDmTableInfoCedt0; + /* 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", diff --git a/source/common/dmtbdump2.c b/source/common/dmtbdump2.c index 118b96eeab0f..c50a6a2470bd 100644 --- a/source/common/dmtbdump2.c +++ b/source/common/dmtbdump2.c @@ -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; + UINT8* CapabilitiesBuf = ACPI_ADD_PTR (UINT8, Table, Offset); + /* Do the Capabilities array (of bytes) */ + + AcpiOsPrintf ("\n /* Specific_Config table #%u */\n", j+1); + + Status = AcpiDmDumpTable (TableLength, Offset, CapabilitiesBuf, + CapabilitiesSize, AcpiDmTableInfoNhlt3a); + if (ACPI_FAILURE (Status)) + { + return; + } + + Offset += CapabilitiesSize; /* + sizeof (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B); */ } - Offset += CapabilitiesSize; - } + + } /* for (j = 0; j < FormatsCount; j++) */ /* - * If we are not done with the Endpoint(s) yet, then there must be - * some Linux-specific structure(s) yet to be processed. + * 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"); - Count = ACPI_ADD_PTR (ACPI_NHLT_LINUX_SPECIFIC_COUNT, Table, Offset); + 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_LINUX_SPECIFIC_COUNT), AcpiDmTableInfoNhlt7); + sizeof (ACPI_NHLT_DEVICE_INFO_COUNT), AcpiDmTableInfoNhlt7); if (ACPI_FAILURE (Status)) { return; } - Offset += sizeof (ACPI_NHLT_LINUX_SPECIFIC_COUNT); + Offset += sizeof (ACPI_NHLT_DEVICE_INFO_COUNT); - /* Variable number of linux-specific structures */ + /* Variable number of device structures */ - for (k = 0; k < Count->StructureCount; k++) + for (j = 0; j < Count->StructureCount; j++) { - LinuxData = ACPI_ADD_PTR (ACPI_NHLT_LINUX_SPECIFIC_DATA, Table, Offset); + DeviceInfo = ACPI_ADD_PTR (ACPI_NHLT_DEVICE_INFO, Table, Offset); + AcpiOsPrintf ("\n /* Device Info structure #%u (not part of NHLT spec) */\n", j+1); - AcpiOsPrintf ("\n/* Linux-specific structure #%u */\n", k+1); - - Status = AcpiDmDumpTable (TableLength, Offset, LinuxData, - sizeof (ACPI_NHLT_LINUX_SPECIFIC_DATA), AcpiDmTableInfoNhlt7a); + /* + * 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_LINUX_SPECIFIC_DATA); + Offset += sizeof (ACPI_NHLT_DEVICE_INFO); } - /* Should be at the end of the Endpoint structure. Skip any extra bytes */ - + /* + * 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; diff --git a/source/common/dmtbdump3.c b/source/common/dmtbdump3.c index 63b6d2d5e2e2..cbcd9e7f0e11 100644 --- a/source/common/dmtbdump3.c +++ b/source/common/dmtbdump3.c @@ -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 diff --git a/source/common/dmtbinfo.c b/source/common/dmtbinfo.c index 347f9d367b17..4053996992e4 100644 --- a/source/common/dmtbinfo.c +++ b/source/common/dmtbinfo.c @@ -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[] = { diff --git a/source/common/dmtbinfo1.c b/source/common/dmtbinfo1.c index b30cafa9f773..d6a94bfc1025 100644 --- a/source/common/dmtbinfo1.c +++ b/source/common/dmtbinfo1.c @@ -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 +}; /******************************************************************************* * diff --git a/source/common/dmtbinfo2.c b/source/common/dmtbinfo2.c index 4cbe112eb0ad..2c7d81785086 100644 --- a/source/common/dmtbinfo2.c +++ b/source/common/dmtbinfo2.c @@ -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 AcpiDmTableInfoNhlt7b[] = +{ + {ACPI_DMT_RAW_BUFFER, 0, "Bytes", 0}, + ACPI_DMT_TERMINATOR +}; + +/* Sensitivity Extension */ -ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt8[] = +ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt9[] = { - {ACPI_DMT_UINT32, ACPI_NHLT8_OFFSET (TerminatorValue), "Terminator Value", 0}, - {ACPI_DMT_UINT32, ACPI_NHLT8_OFFSET (TerminatorSignature), "Terminator Signature", 0}, + {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 }; diff --git a/source/common/dmtbinfo3.c b/source/common/dmtbinfo3.c index 12e1be4cacc5..fa698d2f40e5 100644 --- a/source/common/dmtbinfo3.c +++ b/source/common/dmtbinfo3.c @@ -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 @@ -493,6 +493,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 * ******************************************************************************/ diff --git a/source/common/getopt.c b/source/common/getopt.c index 766ab8e35448..772b66c0d932 100644 --- a/source/common/getopt.c +++ b/source/common/getopt.c @@ -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 diff --git a/source/compiler/aslallocate.c b/source/compiler/aslallocate.c index 8be711b2c017..d697d059e6d1 100644 --- a/source/compiler/aslallocate.c +++ b/source/compiler/aslallocate.c @@ -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 diff --git a/source/compiler/aslanalyze.c b/source/compiler/aslanalyze.c index c54ff8a215e4..9db7d4fbe81a 100644 --- a/source/compiler/aslanalyze.c +++ b/source/compiler/aslanalyze.c @@ -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 diff --git a/source/compiler/aslascii.c b/source/compiler/aslascii.c index 0e8c4d4e0f40..6c0e62c41177 100644 --- a/source/compiler/aslascii.c +++ b/source/compiler/aslascii.c @@ -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 diff --git a/source/compiler/aslbtypes.c b/source/compiler/aslbtypes.c index ebb798a7d8b5..f7b3fb1bec75 100644 --- a/source/compiler/aslbtypes.c +++ b/source/compiler/aslbtypes.c @@ -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 diff --git a/source/compiler/aslcache.c b/source/compiler/aslcache.c index 51e6f4c46f86..9cc707e207d3 100644 --- a/source/compiler/aslcache.c +++ b/source/compiler/aslcache.c @@ -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; diff --git a/source/compiler/aslcodegen.c b/source/compiler/aslcodegen.c index 757886893b42..6ae3a0aa202b 100644 --- a/source/compiler/aslcodegen.c +++ b/source/compiler/aslcodegen.c @@ -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 diff --git a/source/compiler/aslcompile.c b/source/compiler/aslcompile.c index ffb7496dd6fe..c17e219c1a4c 100644 --- a/source/compiler/aslcompile.c +++ b/source/compiler/aslcompile.c @@ -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); /* diff --git a/source/compiler/aslcompiler.h b/source/compiler/aslcompiler.h index 5112ea49695c..d52f60f2180b 100644 --- a/source/compiler/aslcompiler.h +++ b/source/compiler/aslcompiler.h @@ -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 diff --git a/source/compiler/aslcompiler.l b/source/compiler/aslcompiler.l index e0985362fb94..881096ad5bbf 100644 --- a/source/compiler/aslcompiler.l +++ b/source/compiler/aslcompiler.l @@ -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 diff --git a/source/compiler/aslcstyle.y b/source/compiler/aslcstyle.y index 2f032fac9d2f..b4e9065fee0f 100644 --- a/source/compiler/aslcstyle.y +++ b/source/compiler/aslcstyle.y @@ -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 diff --git a/source/compiler/asldebug.c b/source/compiler/asldebug.c index 636fe0518209..5ac6a4ed6059 100644 --- a/source/compiler/asldebug.c +++ b/source/compiler/asldebug.c @@ -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 diff --git a/source/compiler/asldefine.h b/source/compiler/asldefine.h index 9149ff60377b..12b2899e4062 100644 --- a/source/compiler/asldefine.h +++ b/source/compiler/asldefine.h @@ -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 diff --git a/source/compiler/aslerror.c b/source/compiler/aslerror.c index d73d7de903a1..a0ebe7b34e7d 100644 --- a/source/compiler/aslerror.c +++ b/source/compiler/aslerror.c @@ -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; } diff --git a/source/compiler/aslexternal.c b/source/compiler/aslexternal.c index 80edfd2bf9fd..a7d2c9c3d36d 100644 --- a/source/compiler/aslexternal.c +++ b/source/compiler/aslexternal.c @@ -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 diff --git a/source/compiler/aslfileio.c b/source/compiler/aslfileio.c index a55b2dbc293a..88b9def907f2 100644 --- a/source/compiler/aslfileio.c +++ b/source/compiler/aslfileio.c @@ -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 diff --git a/source/compiler/aslfiles.c b/source/compiler/aslfiles.c index a93417c6de5b..2479b404ee41 100644 --- a/source/compiler/aslfiles.c +++ b/source/compiler/aslfiles.c @@ -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 @@ ErrorExit: * 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. * ******************************************************************************/ diff --git a/source/compiler/aslfold.c b/source/compiler/aslfold.c index d9cc88035efb..316890c4ac06 100644 --- a/source/compiler/aslfold.c +++ b/source/compiler/aslfold.c @@ -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 diff --git a/source/compiler/aslglobal.h b/source/compiler/aslglobal.h index 540d7dd9d361..ff00b92ef1ea 100644 --- a/source/compiler/aslglobal.h +++ b/source/compiler/aslglobal.h @@ -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 diff --git a/source/compiler/aslhelp.c b/source/compiler/aslhelp.c index 3131b9db037d..d83d41e3d584 100644 --- a/source/compiler/aslhelp.c +++ b/source/compiler/aslhelp.c @@ -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 diff --git a/source/compiler/aslhelpers.y b/source/compiler/aslhelpers.y index abb729c33320..2764bf65b9f7 100644 --- a/source/compiler/aslhelpers.y +++ b/source/compiler/aslhelpers.y @@ -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 diff --git a/source/compiler/aslhex.c b/source/compiler/aslhex.c index 95b364ff2268..a6e80fdf57ac 100644 --- a/source/compiler/aslhex.c +++ b/source/compiler/aslhex.c @@ -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 diff --git a/source/compiler/aslkeywords.y b/source/compiler/aslkeywords.y index 54314e64504e..661cfc9397b0 100644 --- a/source/compiler/aslkeywords.y +++ b/source/compiler/aslkeywords.y @@ -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 diff --git a/source/compiler/asllength.c b/source/compiler/asllength.c index a2a550949e3b..b1c06246411c 100644 --- a/source/compiler/asllength.c +++ b/source/compiler/asllength.c @@ -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 diff --git a/source/compiler/asllisting.c b/source/compiler/asllisting.c index 6ed161390c43..290d506210e5 100644 --- a/source/compiler/asllisting.c +++ b/source/compiler/asllisting.c @@ -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 diff --git a/source/compiler/asllistsup.c b/source/compiler/asllistsup.c index 60d304230596..b03560d3612a 100644 --- a/source/compiler/asllistsup.c +++ b/source/compiler/asllistsup.c @@ -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 diff --git a/source/compiler/aslload.c b/source/compiler/aslload.c index f73135f336b0..3f827d0ba4d5 100644 --- a/source/compiler/aslload.c +++ b/source/compiler/aslload.c @@ -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 diff --git a/source/compiler/asllookup.c b/source/compiler/asllookup.c index 50f087d705ed..44bf9a38667a 100644 --- a/source/compiler/asllookup.c +++ b/source/compiler/asllookup.c @@ -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 diff --git a/source/compiler/aslmain.c b/source/compiler/aslmain.c index 1df36a2b312d..3c2ce58ea0b2 100644 --- a/source/compiler/aslmain.c +++ b/source/compiler/aslmain.c @@ -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); } diff --git a/source/compiler/aslmap.c b/source/compiler/aslmap.c index 7b591bc6e8fa..782d0d96cfb4 100644 --- a/source/compiler/aslmap.c +++ b/source/compiler/aslmap.c @@ -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), diff --git a/source/compiler/aslmapenter.c b/source/compiler/aslmapenter.c index 7ade1a31dbba..5dae3e9ea86b 100644 --- a/source/compiler/aslmapenter.c +++ b/source/compiler/aslmapenter.c @@ -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 diff --git a/source/compiler/aslmapoutput.c b/source/compiler/aslmapoutput.c index 0fe7b1173dc9..95146ea65fbb 100644 --- a/source/compiler/aslmapoutput.c +++ b/source/compiler/aslmapoutput.c @@ -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 diff --git a/source/compiler/aslmaputils.c b/source/compiler/aslmaputils.c index c376bc0a2888..0b2c7e2615e9 100644 --- a/source/compiler/aslmaputils.c +++ b/source/compiler/aslmaputils.c @@ -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 diff --git a/source/compiler/aslmessages.c b/source/compiler/aslmessages.c index 4dd6422ba75a..990e376f76bd 100644 --- a/source/compiler/aslmessages.c +++ b/source/compiler/aslmessages.c @@ -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 */ diff --git a/source/compiler/aslmessages.h b/source/compiler/aslmessages.h index 69c2561bad0f..197e9e2276c0 100644 --- a/source/compiler/aslmessages.h +++ b/source/compiler/aslmessages.h @@ -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 */ diff --git a/source/compiler/aslmethod.c b/source/compiler/aslmethod.c index 4b3b66a5ab40..517ba778cd8e 100644 --- a/source/compiler/aslmethod.c +++ b/source/compiler/aslmethod.c @@ -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 diff --git a/source/compiler/aslnamesp.c b/source/compiler/aslnamesp.c index 6f9bb65a4d6c..60c488db05a0 100644 --- a/source/compiler/aslnamesp.c +++ b/source/compiler/aslnamesp.c @@ -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 diff --git a/source/compiler/asloffset.c b/source/compiler/asloffset.c index 5f2661e42107..b0954c70105c 100644 --- a/source/compiler/asloffset.c +++ b/source/compiler/asloffset.c @@ -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 diff --git a/source/compiler/aslopcodes.c b/source/compiler/aslopcodes.c index 2f2c77446c22..e07910b1f5f6 100644 --- a/source/compiler/aslopcodes.c +++ b/source/compiler/aslopcodes.c @@ -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 diff --git a/source/compiler/asloperands.c b/source/compiler/asloperands.c index ae3b918dffda..9330fdfb4244 100644 --- a/source/compiler/asloperands.c +++ b/source/compiler/asloperands.c @@ -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 { /* diff --git a/source/compiler/aslopt.c b/source/compiler/aslopt.c index 0246b312a9f6..916aebfba1cd 100644 --- a/source/compiler/aslopt.c +++ b/source/compiler/aslopt.c @@ -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 diff --git a/source/compiler/asloptions.c b/source/compiler/asloptions.c index ab9daa4046d4..2808650e3dd0 100644 --- a/source/compiler/asloptions.c +++ b/source/compiler/asloptions.c @@ -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 diff --git a/source/compiler/aslparseop.c b/source/compiler/aslparseop.c index 92eeb0fb6260..ab81ac286e7d 100644 --- a/source/compiler/aslparseop.c +++ b/source/compiler/aslparseop.c @@ -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 diff --git a/source/compiler/aslparser.y b/source/compiler/aslparser.y index 0a6fb64d62d8..dff15619283b 100644 --- a/source/compiler/aslparser.y +++ b/source/compiler/aslparser.y @@ -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 diff --git a/source/compiler/aslpld.c b/source/compiler/aslpld.c index 0939c5c62d8c..9faa8c263d6f 100644 --- a/source/compiler/aslpld.c +++ b/source/compiler/aslpld.c @@ -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 diff --git a/source/compiler/aslpredef.c b/source/compiler/aslpredef.c index aa1a95704dfe..c52295ee854b 100644 --- a/source/compiler/aslpredef.c +++ b/source/compiler/aslpredef.c @@ -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 diff --git a/source/compiler/aslprepkg.c b/source/compiler/aslprepkg.c index 380c48b01ab0..f562dbe6b820 100644 --- a/source/compiler/aslprepkg.c +++ b/source/compiler/aslprepkg.c @@ -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 diff --git a/source/compiler/aslprimaries.y b/source/compiler/aslprimaries.y index dd1310b07469..69565defe405 100644 --- a/source/compiler/aslprimaries.y +++ b/source/compiler/aslprimaries.y @@ -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 diff --git a/source/compiler/aslprintf.c b/source/compiler/aslprintf.c index 04f2d31eaee5..3f270fec9da8 100644 --- a/source/compiler/aslprintf.c +++ b/source/compiler/aslprintf.c @@ -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 diff --git a/source/compiler/aslprune.c b/source/compiler/aslprune.c index 78b2e34f5c61..4626a1eef08d 100644 --- a/source/compiler/aslprune.c +++ b/source/compiler/aslprune.c @@ -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 diff --git a/source/compiler/aslresource.c b/source/compiler/aslresource.c index a2d855684d6b..104a48357372 100644 --- a/source/compiler/aslresource.c +++ b/source/compiler/aslresource.c @@ -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 diff --git a/source/compiler/aslresources.y b/source/compiler/aslresources.y index 86c8981f79b6..a5752b01c04f 100644 --- a/source/compiler/aslresources.y +++ b/source/compiler/aslresources.y @@ -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 diff --git a/source/compiler/aslrestype1.c b/source/compiler/aslrestype1.c index 6751444a2afc..a6625c08c9cd 100644 --- a/source/compiler/aslrestype1.c +++ b/source/compiler/aslrestype1.c @@ -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 diff --git a/source/compiler/aslrestype1i.c b/source/compiler/aslrestype1i.c index c880a7400221..84d5b653fe8b 100644 --- a/source/compiler/aslrestype1i.c +++ b/source/compiler/aslrestype1i.c @@ -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 diff --git a/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c index 4c308aaacf4f..387e85c80e41 100644 --- a/source/compiler/aslrestype2.c +++ b/source/compiler/aslrestype2.c @@ -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 diff --git a/source/compiler/aslrestype2d.c b/source/compiler/aslrestype2d.c index c1cafe207d73..6b597e257758 100644 --- a/source/compiler/aslrestype2d.c +++ b/source/compiler/aslrestype2d.c @@ -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 diff --git a/source/compiler/aslrestype2e.c b/source/compiler/aslrestype2e.c index 63db785270e2..414b2d23f851 100644 --- a/source/compiler/aslrestype2e.c +++ b/source/compiler/aslrestype2e.c @@ -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 diff --git a/source/compiler/aslrestype2q.c b/source/compiler/aslrestype2q.c index ec64da2b3616..ce79659720ee 100644 --- a/source/compiler/aslrestype2q.c +++ b/source/compiler/aslrestype2q.c @@ -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 diff --git a/source/compiler/aslrestype2s.c b/source/compiler/aslrestype2s.c index 607aca8be350..ea832da3db2c 100644 --- a/source/compiler/aslrestype2s.c +++ b/source/compiler/aslrestype2s.c @@ -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 diff --git a/source/compiler/aslrestype2w.c b/source/compiler/aslrestype2w.c index 3c3fed7b06a7..a758e0581d38 100644 --- a/source/compiler/aslrestype2w.c +++ b/source/compiler/aslrestype2w.c @@ -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 diff --git a/source/compiler/aslrules.y b/source/compiler/aslrules.y index a944308e39c2..79aa2210abb8 100644 --- a/source/compiler/aslrules.y +++ b/source/compiler/aslrules.y @@ -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 {} diff --git a/source/compiler/aslstartup.c b/source/compiler/aslstartup.c index 97881e14d288..45462adf9519 100644 --- a/source/compiler/aslstartup.c +++ b/source/compiler/aslstartup.c @@ -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 diff --git a/source/compiler/aslstubs.c b/source/compiler/aslstubs.c index be3337ab8a99..0e6cd56f48e7 100644 --- a/source/compiler/aslstubs.c +++ b/source/compiler/aslstubs.c @@ -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 diff --git a/source/compiler/aslsupport.l b/source/compiler/aslsupport.l index a507e99b3327..0daec602e148 100644 --- a/source/compiler/aslsupport.l +++ b/source/compiler/aslsupport.l @@ -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 diff --git a/source/compiler/aslsupport.y b/source/compiler/aslsupport.y index dfc427a9d796..3f19af2f48b1 100644 --- a/source/compiler/aslsupport.y +++ b/source/compiler/aslsupport.y @@ -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 diff --git a/source/compiler/asltokens.y b/source/compiler/asltokens.y index 5e205e01de3c..c43561e7a4a3 100644 --- a/source/compiler/asltokens.y +++ b/source/compiler/asltokens.y @@ -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 diff --git a/source/compiler/asltransform.c b/source/compiler/asltransform.c index 91655420fee8..573ddad1565f 100644 --- a/source/compiler/asltransform.c +++ b/source/compiler/asltransform.c @@ -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 diff --git a/source/compiler/asltree.c b/source/compiler/asltree.c index 91db420f949a..9cf49269f377 100644 --- a/source/compiler/asltree.c +++ b/source/compiler/asltree.c @@ -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 diff --git a/source/compiler/asltypes.h b/source/compiler/asltypes.h index 760995f59fea..d5689dea58b0 100644 --- a/source/compiler/asltypes.h +++ b/source/compiler/asltypes.h @@ -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 diff --git a/source/compiler/asltypes.y b/source/compiler/asltypes.y index aaa732f4dc45..ba98362cd323 100644 --- a/source/compiler/asltypes.y +++ b/source/compiler/asltypes.y @@ -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 diff --git a/source/compiler/aslutils.c b/source/compiler/aslutils.c index c4325c3b253a..e91fd4602c26 100644 --- a/source/compiler/aslutils.c +++ b/source/compiler/aslutils.c @@ -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 diff --git a/source/compiler/asluuid.c b/source/compiler/asluuid.c index 30540acdaeaa..0eb36050e882 100644 --- a/source/compiler/asluuid.c +++ b/source/compiler/asluuid.c @@ -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); } - diff --git a/source/compiler/aslwalks.c b/source/compiler/aslwalks.c index 8ee5122c21f1..6e32f0818725 100644 --- a/source/compiler/aslwalks.c +++ b/source/compiler/aslwalks.c @@ -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 diff --git a/source/compiler/aslxref.c b/source/compiler/aslxref.c index ef99a971de5b..3a00f5a92cbc 100644 --- a/source/compiler/aslxref.c +++ b/source/compiler/aslxref.c @@ -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 diff --git a/source/compiler/aslxrefout.c b/source/compiler/aslxrefout.c index 843504a02543..dd3fe80c275f 100644 --- a/source/compiler/aslxrefout.c +++ b/source/compiler/aslxrefout.c @@ -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 diff --git a/source/compiler/cvcompiler.c b/source/compiler/cvcompiler.c index 633a31d893ff..b51a688b3a59 100644 --- a/source/compiler/cvcompiler.c +++ b/source/compiler/cvcompiler.c @@ -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 diff --git a/source/compiler/cvdisasm.c b/source/compiler/cvdisasm.c index be3378ba9ae4..250c009ac315 100644 --- a/source/compiler/cvdisasm.c +++ b/source/compiler/cvdisasm.c @@ -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 diff --git a/source/compiler/cvparser.c b/source/compiler/cvparser.c index 62d981fbdd1f..66b04e9a8597 100644 --- a/source/compiler/cvparser.c +++ b/source/compiler/cvparser.c @@ -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 diff --git a/source/compiler/dtcompile.c b/source/compiler/dtcompile.c index 84d8e5c1b629..89eb937d5fc3 100644 --- a/source/compiler/dtcompile.c +++ b/source/compiler/dtcompile.c @@ -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 diff --git a/source/compiler/dtcompiler.h b/source/compiler/dtcompiler.h index 614a686f1ad4..3b3683cc6b74 100644 --- a/source/compiler/dtcompiler.h +++ b/source/compiler/dtcompiler.h @@ -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 @@ -570,6 +570,10 @@ DtCompileAest ( void **PFieldList); ACPI_STATUS +DtCompileApmt ( + void **PFieldList); + +ACPI_STATUS DtCompileAsf ( void **PFieldList); @@ -762,6 +766,8 @@ DtGetGenericTableInfo ( /* ACPI Table templates */ extern const unsigned char TemplateAest[]; +extern const unsigned char TemplateAgdi[]; +extern const unsigned char TemplateApmt[]; extern const unsigned char TemplateAsf[]; extern const unsigned char TemplateBoot[]; extern const unsigned char TemplateBdat[]; @@ -793,6 +799,7 @@ extern const unsigned char TemplateMpst[]; extern const unsigned char TemplateMsct[]; extern const unsigned char TemplateMsdm[]; extern const unsigned char TemplateNfit[]; +extern const unsigned char TemplateNhlt[]; extern const unsigned char TemplatePcct[]; extern const unsigned char TemplatePdtt[]; extern const unsigned char TemplatePhat[]; @@ -814,6 +821,7 @@ extern const unsigned char TemplateSrat[]; extern const unsigned char TemplateStao[]; extern const unsigned char TemplateSvkl[]; extern const unsigned char TemplateTcpa[]; +extern const unsigned char TemplateTdel[]; extern const unsigned char TemplateTpm2[]; extern const unsigned char TemplateUefi[]; extern const unsigned char TemplateViot[]; diff --git a/source/compiler/dtcompilerparser.l b/source/compiler/dtcompilerparser.l index bd128bed71ad..a00ef56e2481 100644 --- a/source/compiler/dtcompilerparser.l +++ b/source/compiler/dtcompilerparser.l @@ -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 diff --git a/source/compiler/dtcompilerparser.y b/source/compiler/dtcompilerparser.y index 3b1a67a0707a..30ead3afa9ad 100644 --- a/source/compiler/dtcompilerparser.y +++ b/source/compiler/dtcompilerparser.y @@ -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 diff --git a/source/compiler/dtexpress.c b/source/compiler/dtexpress.c index c9705c9d0f7e..fd292d8fec76 100644 --- a/source/compiler/dtexpress.c +++ b/source/compiler/dtexpress.c @@ -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 diff --git a/source/compiler/dtfield.c b/source/compiler/dtfield.c index f4c7114743cb..f931631955c2 100644 --- a/source/compiler/dtfield.c +++ b/source/compiler/dtfield.c @@ -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 @@ -676,6 +676,12 @@ DtCompileFlag ( BitLength = 2; break; + case ACPI_DMT_FLAGS8_2: + + BitPosition = 2; + BitLength = 8; + break; + case ACPI_DMT_FLAGS4: BitPosition = 4; diff --git a/source/compiler/dtio.c b/source/compiler/dtio.c index e1776f3f2919..1a00424c6abf 100644 --- a/source/compiler/dtio.c +++ b/source/compiler/dtio.c @@ -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 diff --git a/source/compiler/dtparser.l b/source/compiler/dtparser.l index 9d2e3afe4283..b7cb26e2ba32 100644 --- a/source/compiler/dtparser.l +++ b/source/compiler/dtparser.l @@ -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 diff --git a/source/compiler/dtparser.y b/source/compiler/dtparser.y index 1b6f6df6138f..fc8275cc209c 100644 --- a/source/compiler/dtparser.y +++ b/source/compiler/dtparser.y @@ -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 diff --git a/source/compiler/dtsubtable.c b/source/compiler/dtsubtable.c index 6ea538e6c66b..3c2798b64dbd 100644 --- a/source/compiler/dtsubtable.c +++ b/source/compiler/dtsubtable.c @@ -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 diff --git a/source/compiler/dttable.c b/source/compiler/dttable.c index 702c83ee2196..dfc34c134667 100644 --- a/source/compiler/dttable.c +++ b/source/compiler/dttable.c @@ -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 @@ -223,10 +223,12 @@ DtCompileRsdp ( * * RETURN: Status * - * DESCRIPTION: Compile FADT. + * DESCRIPTION: Compile FADT (signature FACP). * *****************************************************************************/ +#define ACPI_XDSDT_LOCATION_IN_LIST 11 + ACPI_STATUS DtCompileFadt ( void **List) @@ -235,10 +237,17 @@ DtCompileFadt ( DT_SUBTABLE *Subtable; DT_SUBTABLE *ParentTable; DT_FIELD **PFieldList = (DT_FIELD **) List; - ACPI_TABLE_HEADER *Table; + DT_FIELD *DsdtFieldList; + ACPI_TABLE_FADT *Table; UINT8 Revision; + UINT32 DsdtAddress; + UINT64 X_DsdtAddress; + UINT32 i; + + /* Get the table revision and 32-bit DSDT Address definition */ + DsdtFieldList = (*PFieldList)->Next; Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt1, &Subtable); if (ACPI_FAILURE (Status)) @@ -249,8 +258,16 @@ DtCompileFadt ( ParentTable = DtPeekSubtable (); DtInsertSubtable (ParentTable, Subtable); - Table = ACPI_CAST_PTR (ACPI_TABLE_HEADER, ParentTable->Buffer); - Revision = Table->Revision; + Table = ACPI_CAST_PTR (ACPI_TABLE_FADT, ParentTable->Buffer); + Revision = Table->Header.Revision; + DsdtAddress = Table->Dsdt; + + /* FADT version 1 has only 32-bit addresses - error if DSDT address is NULL */ + + if ((Revision == 1) && (!DsdtAddress)) + { + DtError (ASL_ERROR, ASL_MSG_ZERO_VALUE, DsdtFieldList, NULL); + } if (Revision == 2) { @@ -263,8 +280,24 @@ DtCompileFadt ( DtInsertSubtable (ParentTable, Subtable); } - else if (Revision >= 2) + + else if (Revision > 2) { + /* + * Rev 3 and greater have 64-bit addresses (as well as 32-bit). + * Get the 64-bit DSDT (X_DSDT) Address definition. Note: This + * appears at field list offset 11 within AcpiDmTableInfoFadt3. + */ + DsdtFieldList = *PFieldList; + for (i = 0; i < ACPI_XDSDT_LOCATION_IN_LIST; i++) + { + DsdtFieldList = DsdtFieldList->Next; + if (!DsdtFieldList) + { + return (ASL_MSG_BAD_PARSE_TREE); + } + } + Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt3, &Subtable); if (ACPI_FAILURE (Status)) @@ -274,6 +307,20 @@ DtCompileFadt ( DtInsertSubtable (ParentTable, Subtable); + Table = ACPI_CAST_PTR (ACPI_TABLE_FADT, ParentTable->Buffer); + X_DsdtAddress = Table->XDsdt; + + /* + * Error if both the 32-bit DSDT address and the + * 64-bit X_DSDT address are zero. + */ + if ((!X_DsdtAddress) && (!DsdtAddress)) + { + DtError (ASL_ERROR, ASL_MSG_TWO_ZERO_VALUES, DsdtFieldList, NULL); + } + + /* Fields specific to FADT Revision 5 (appended to previous) */ + if (Revision >= 5) { Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt5, @@ -286,6 +333,8 @@ DtCompileFadt ( DtInsertSubtable (ParentTable, Subtable); } + /* Fields specific to FADT Revision 6 (appended to previous) */ + if (Revision >= 6) { Status = DtCompileTable (PFieldList, AcpiDmTableInfoFadt6, diff --git a/source/compiler/dttable1.c b/source/compiler/dttable1.c index 2e6a856912cd..9ac0435069f6 100644 --- a/source/compiler/dttable1.c +++ b/source/compiler/dttable1.c @@ -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 @@ -389,6 +389,102 @@ DtCompileAest ( /****************************************************************************** * + * FUNCTION: DtCompileApmt + * + * PARAMETERS: List - Current field list pointer + * + * RETURN: Status + * + * DESCRIPTION: Compile APMT. + * + *****************************************************************************/ + +ACPI_STATUS +DtCompileApmt ( + void **List) +{ + ACPI_STATUS Status; + ACPI_TABLE_HEADER *Header; + ACPI_APMT_NODE *ApmtNode; + ACPI_APMT_NODE *PeerApmtNode; + DT_SUBTABLE *Subtable; + DT_SUBTABLE *PeerSubtable; + DT_SUBTABLE *ParentTable; + DT_FIELD **PFieldList = (DT_FIELD**)List; + DT_FIELD *SubtableStart; + UINT32 CurLength; + char MsgBuffer[64] = ""; + + ParentTable = DtPeekSubtable(); + + Header = ACPI_CAST_PTR(ACPI_TABLE_HEADER, ParentTable->Buffer); + + CurLength = sizeof(ACPI_TABLE_HEADER); + + /* Walk the parse tree */ + + while (*PFieldList) + { + /* APMT Node Subtable */ + + SubtableStart = *PFieldList; + + Status = DtCompileTable(PFieldList, AcpiDmTableInfoApmtNode, &Subtable); + + if (ACPI_FAILURE(Status)) + { + return (Status); + } + + ApmtNode = ACPI_CAST_PTR(ACPI_APMT_NODE, Subtable->Buffer); + + if (ApmtNode->Length != sizeof(ACPI_APMT_NODE)) + { + DtFatal(ASL_MSG_INVALID_LENGTH, SubtableStart, "APMT"); + return (AE_ERROR); + } + + if (ApmtNode->Type >= ACPI_APMT_NODE_TYPE_COUNT) + { + snprintf(MsgBuffer, 64, "Node Type : 0x%X", ApmtNode->Type); + DtFatal(ASL_MSG_INVALID_TYPE, SubtableStart, MsgBuffer); + return (AE_ERROR); + } + + PeerSubtable = DtGetNextSubtable(ParentTable, NULL); + + /* Validate the node id needs to be unique. */ + while(PeerSubtable) + { + PeerApmtNode = ACPI_CAST_PTR(ACPI_APMT_NODE, PeerSubtable->Buffer); + if (PeerApmtNode->Id == ApmtNode->Id) + { + snprintf(MsgBuffer, 64, "Node Id : 0x%X existed", ApmtNode->Id); + DtFatal(ASL_MSG_DUPLICATE_ITEM, SubtableStart, MsgBuffer); + return (AE_ERROR); + } + + PeerSubtable = DtGetNextSubtable(ParentTable, PeerSubtable); + } + + CurLength += ApmtNode->Length; + + DtInsertSubtable(ParentTable, Subtable); + } + + if (Header->Length != CurLength) + { + snprintf(MsgBuffer, 64, " - APMT Length : %u (expected: %u)", + Header->Length, CurLength); + DtFatal(ASL_MSG_INVALID_LENGTH, NULL, MsgBuffer); + return (AE_ERROR); + } + + return (AE_OK); +} + +/****************************************************************************** + * * FUNCTION: DtCompileAsf * * PARAMETERS: List - Current field list pointer @@ -587,6 +683,9 @@ DtCompileCedt ( while (*PFieldList) { + /* if CFMWS and has more than one target, then set to zero later */ + + int InsertFlag = 1; SubtableStart = *PFieldList; /* CEDT Header */ @@ -607,25 +706,72 @@ DtCompileCedt ( switch (CedtHeader->Type) { case ACPI_CEDT_TYPE_CHBS: + Status = DtCompileTable (PFieldList, AcpiDmTableInfoCedt0, &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + break; + case ACPI_CEDT_TYPE_CFMWS: { + unsigned char *dump; + unsigned int idx, offset, max = 0; + + /* Compile table with first "Interleave target" */ + Status = DtCompileTable (PFieldList, AcpiDmTableInfoCedt1, &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + /* Look in buffer for the number of targets */ + offset = (unsigned int) ACPI_OFFSET (ACPI_CEDT_CFMWS, InterleaveWays); + dump = (unsigned char *) Subtable->Buffer - 4; /* place at beginning of cedt1 */ + max = 0x01 << dump[offset]; /* 2^max, so 0=1, 1=2, 2=4, 3=8. 8 is MAX */ + if (max > 8) max=1; /* Error in encoding Interleaving Ways. */ + if (max == 1) /* if only one target, then break here. */ + break; /* break if only one target. */ + + /* We need to add more interleave targets, so write the current Subtable. */ + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); /* Insert AcpiDmTableInfoCedt1 table so we can put in */ + DtPushSubtable (Subtable); /* the targets > the first. */ + + /* Now, find out all interleave targets beyond the first. */ + + for (idx = 1; idx < max; idx++) { + ParentTable = DtPeekSubtable (); + + if (*PFieldList) + { + Status = DtCompileTable (PFieldList, AcpiDmTableInfoCedt1_te, &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + if (Subtable) + { + DtInsertSubtable (ParentTable, Subtable); /* got a target, so insert table. */ + InsertFlag = 0; + } + } + } + + DtPopSubtable (); + ParentTable = DtPeekSubtable (); break; + } default: - DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "CEDT"); return (AE_ERROR); } - /* CEDT Subtable */ - - Status = DtCompileTable (PFieldList, AcpiDmTableInfoCedt0, &Subtable); - if (ACPI_FAILURE (Status)) - { - return (Status); - } - ParentTable = DtPeekSubtable (); - DtInsertSubtable (ParentTable, Subtable); + if (InsertFlag == 1) { + DtInsertSubtable (ParentTable, Subtable); + } DtPopSubtable (); } @@ -1005,6 +1151,11 @@ DtCompileDmar ( InfoTable = AcpiDmTableInfoDmar4; break; + case ACPI_DMAR_TYPE_SATC: + + InfoTable = AcpiDmTableInfoDmar5; + break; + default: DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "DMAR"); @@ -1903,9 +2054,9 @@ DtCompileIort ( Table = ACPI_CAST_PTR (ACPI_TABLE_HEADER, ParentTable->Buffer); Revision = Table->Revision; - /* Both IORT Rev E and E.a have known issues and are not supported */ + /* IORT Revisions E, E.a & E.c have known issues and are not supported */ - if (Revision == 1 || Revision == 2) + if (Revision == 1 || Revision == 2 || Revision == 4) { DtError (ASL_ERROR, ASL_MSG_UNSUPPORTED, NULL, "IORT table revision"); return (AE_ERROR); @@ -2218,7 +2369,7 @@ DtCompileIort ( IortRmr->RmrCount = RmrCount; break; - default: + default: DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "IORT"); return (AE_ERROR); diff --git a/source/compiler/dttable2.c b/source/compiler/dttable2.c index b94451229e47..1798a963e744 100644 --- a/source/compiler/dttable2.c +++ b/source/compiler/dttable2.c @@ -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 @@ -373,8 +373,17 @@ DtCompileMadt ( default: - DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "MADT"); - return (AE_ERROR); + if (MadtHeader->Type >= ACPI_MADT_TYPE_OEM_RESERVED) + { + InfoTable = AcpiDmTableInfoMadt17; + } + else + { + DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "MADT"); + return (AE_ERROR); + } + + break; } Status = DtCompileTable (PFieldList, InfoTable, &Subtable); @@ -783,6 +792,394 @@ DtCompileNfit ( /****************************************************************************** * + * FUNCTION: DtCompileNhlt + * + * PARAMETERS: List - Current field list pointer + * + * RETURN: Status + * + * DESCRIPTION: Compile NHLT. + * + *****************************************************************************/ + +ACPI_STATUS +DtCompileNhlt ( + void **List) +{ + ACPI_STATUS Status; + UINT32 EndpointCount; + UINT32 MicrophoneCount; + UINT32 FormatsCount; + DT_SUBTABLE *Subtable; + DT_SUBTABLE *ParentTable; + DT_FIELD **PFieldList = (DT_FIELD **) List; + UINT32 CapabilitiesSize; + UINT8 ArrayType; + UINT8 ConfigType; + UINT8 DeviceInfoCount; + UINT32 i; + UINT32 j; + ACPI_TABLE_NHLT_ENDPOINT_COUNT *MainTable; + ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A *DevSpecific; + ACPI_NHLT_VENDOR_MIC_COUNT *MicCount; + ACPI_NHLT_FORMATS_CONFIG *FormatsConfig; + ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_D *ConfigSpecific; + ACPI_NHLT_DEVICE_INFO_COUNT *DeviceInfo; + + + /* Main table */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + /* Get the Endpoint Descriptor count */ + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + DtPushSubtable (Subtable); + + MainTable = ACPI_CAST_PTR (ACPI_TABLE_NHLT_ENDPOINT_COUNT, Subtable->Buffer); + EndpointCount = MainTable->EndpointCount; + + /* Subtables */ + + while (*PFieldList) + { + /* Variable number of Endpoint descriptors */ + + for (i = 0; i < EndpointCount; i++) + { + /* Do the Endpoint Descriptor */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt0, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + DtPushSubtable (Subtable); + + /* Do the Device Specific table */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5b, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + DtPushSubtable (Subtable); + + DevSpecific = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A, Subtable->Buffer); + CapabilitiesSize = DevSpecific->CapabilitiesSize; + + ArrayType = 0; + ConfigType = 0; + + switch (CapabilitiesSize) + { + case 0: + break; + + case 1: + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5c, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + break; + + case 2: + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + break; + + case 3: + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5a, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + ConfigSpecific = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_D, Subtable->Buffer); + ArrayType = ConfigSpecific->ArrayType; + ConfigType = ConfigSpecific->ConfigType; + break; + + case 7: + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt6b, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + ConfigSpecific = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_D, Subtable->Buffer); + ArrayType = ConfigSpecific->ArrayType; + ConfigType = ConfigSpecific->ConfigType; + break; + + default: + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5a, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + ConfigSpecific = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_D, Subtable->Buffer); + ArrayType = ConfigSpecific->ArrayType; + ConfigType = ConfigSpecific->ConfigType; + break; + + } /* switch (CapabilitiesSize) */ + + if (CapabilitiesSize >= 3) + { + /* Check for a vendor-defined mic array */ + + if (ConfigType == ACPI_NHLT_CONFIG_TYPE_MIC_ARRAY) + { + if ((ArrayType & ACPI_NHLT_ARRAY_TYPE_MASK) == ACPI_NHLT_VENDOR_DEFINED) + { + /* Get the microphone count */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt6a, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + MicCount = ACPI_CAST_PTR (ACPI_NHLT_VENDOR_MIC_COUNT, Subtable->Buffer); + MicrophoneCount = MicCount->MicrophoneCount; + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + /* Variable number of microphones */ + + for (j = 0; j < MicrophoneCount; j++) + { + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt6, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + } + + /* Do the MIC_SNR_SENSITIVITY_EXTENSION, if present */ + + if (ArrayType & ACPI_NHLT_ARRAY_TYPE_EXT_MASK) + { + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt9, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + } + } + } + } + + /* Get the formats count */ + + DtPopSubtable (); + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt4, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + FormatsConfig = ACPI_CAST_PTR (ACPI_NHLT_FORMATS_CONFIG, Subtable->Buffer); + FormatsCount = FormatsConfig->FormatsCount; + + /* Variable number of wave_format_extensible structs */ + + for (j = 0; j < FormatsCount; j++) + { + /* Do the main wave_format_extensible structure */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt3, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + DtPushSubtable (Subtable); + + /* Do the capabilities list */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt3a, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + DtPopSubtable (); + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + } /* for (j = 0; j < FormatsCount; j++) */ + + /* + * If we are not done with the current Endpoint yet, then there must be + * some non documeneted structure(s) yet to be processed. First, get + * the count of such structure(s). + */ + if (*PFieldList && (strcmp ((const char *) (*PFieldList)->Name, "Descriptor Length"))) + { + /* Get the count of non documented structures */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt7, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + DeviceInfo = ACPI_CAST_PTR (ACPI_NHLT_DEVICE_INFO_COUNT, Subtable->Buffer); + DeviceInfoCount = DeviceInfo->StructureCount; + + for (j = 0; j < DeviceInfoCount; j++) + { + /* + * Compile the following Device Info fields: + * 1) Device ID + * 2) Device Instance ID + * 3) Device Port ID + */ + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt7a, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + } /* for (j = 0; j < LinuxSpecificCount; j++) */ + + + /* Undocumented data at the end of endpoint */ + if (*PFieldList && (strcmp ((const char *) (*PFieldList)->Name, "Descriptor Length"))) + { + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt7b, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + } + } + + DtPopSubtable (); + + } /* for (i = 0; i < EndpointCount; i++) */ + + /* + * All Endpoint Descriptors are completed. + * Do the table terminator specific config (not in NHLT spec, optional) + */ + if (*PFieldList && (strcmp ((const char *) (*PFieldList)->Name, "Descriptor Length"))) + { + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt5b, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoNhlt3a, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + } + + return (AE_OK); + } + + return (AE_OK); +} + + +/****************************************************************************** + * * FUNCTION: DtCompilePcct * * PARAMETERS: List - Current field list pointer @@ -2141,7 +2538,6 @@ DtCompileStao ( } - /****************************************************************************** * * FUNCTION: DtCompileSvkl diff --git a/source/compiler/dttemplate.c b/source/compiler/dttemplate.c index 8154abb58ec3..1bcc4a12cbf1 100644 --- a/source/compiler/dttemplate.c +++ b/source/compiler/dttemplate.c @@ -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 diff --git a/source/compiler/dttemplate.h b/source/compiler/dttemplate.h index 24c8c6f93e5d..ad5af70748dc 100644 --- a/source/compiler/dttemplate.h +++ b/source/compiler/dttemplate.h @@ -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 @@ -249,6 +249,39 @@ const unsigned char TemplateAest[] = 0x56,0x00,0x00,0x00 /* 000002C8 "V..." */ }; +const unsigned char TemplateAgdi[] = +{ + 0x41,0x47,0x44,0x49,0x30,0x00,0x00,0x00, /* 00000000 "AGDI0..." */ + 0x01,0xE4,0x41,0x4D,0x50,0x45,0x52,0x45, /* 00000008 "..AMPERE" */ + 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x05,0x01,0x21,0x20,0x00,0x00,0x00,0x00, /* 00000020 "..! ...." */ + 0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00 /* 00000028 "...@...." */ +}; + +const unsigned char TemplateApmt[] = +{ + 0x41,0x50,0x4D,0x54,0x94,0x00,0x00,0x00, /* 00000000 "APMT...." */ + 0x00,0x79,0x4E,0x56,0x49,0x44,0x49,0x41, /* 00000008 ".yNVIDIA" */ + 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ + 0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x17,0x12,0x21,0x20,0x38,0x00,0x04,0x03, /* 00000020 "..! 8..." */ + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000028 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000030 "........" */ + 0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 ". ......" */ + 0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000040 ". ......" */ + 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000050 "........" */ + 0x6B,0x03,0x00,0x00,0x38,0x00,0x06,0x03, /* 00000058 "k...8..." */ + 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 00000060 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000068 "........" */ + 0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000070 ".0......" */ + 0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 ".0......" */ + 0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000080 "........" */ + 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000088 "........" */ + 0x6B,0x03,0x00,0x00 /* 00000090 "k..." */ +}; + const unsigned char TemplateAsf[] = { 0x41,0x53,0x46,0x21,0x72,0x00,0x00,0x00, /* 00000000 "ASF!r..." */ @@ -310,23 +343,58 @@ const unsigned char TemplateBoot[] = const unsigned char TemplateCedt[] = { - 0x43,0x45,0x44,0x54,0x84,0x00,0x00,0x00, /* 00000000 "CEDT...." */ - 0x01,0x8B,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ - 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ - 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x05,0x01,0x21,0x20,0x00,0x00,0x20,0x00, /* 00000020 "..! .. ." */ - 0x33,0x33,0xCD,0xAB,0x01,0x00,0x00,0x00, /* 00000028 "33......" */ - 0x00,0x00,0x00,0x00,0x00,0x21,0x43,0xD5, /* 00000030 ".....!C." */ - 0x00,0x00,0x00,0x00,0x45,0x23,0x01,0x00, /* 00000038 "....E#.." */ + 0x43,0x45,0x44,0x54,0x9c,0x01,0x00,0x00, /* 00000000 "CEDT...." */ + 0x01,0x87,0x49,0x4e,0x54,0x45,0x4c,0x20, /* 00000008 "..INTEL " */ + 0x54,0x45,0x4d,0x50,0x4c,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ + 0x00,0x00,0x00,0x00,0x49,0x4e,0x54,0x4c, /* 00000018 "....INTL" */ + 0x17,0x12,0x21,0x20,0x00,0x00,0x20,0x00, /* 00000020 "..! .. ." */ + 0x00,0x5e,0xba,0x00,0x00,0x00,0x00,0x00, /* 00000028 ".^......" */ + 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00, /* 00000030 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00, /* 00000038 "..... .." */ 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00, /* 00000040 "...... ." */ - 0x44,0x44,0xCD,0xAB,0x01,0x00,0x00,0x00, /* 00000048 "DD......" */ - 0x00,0x00,0x00,0x00,0x00,0x21,0x43,0xA5, /* 00000050 ".....!C." */ - 0x00,0x00,0x00,0x00,0x45,0x23,0xB1,0x00, /* 00000058 "....E#.." */ + 0x01,0x5e,0xba,0x00,0x00,0x00,0x00,0x00, /* 00000048 ".^......" */ + 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00, /* 00000050 "..... .." */ + 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00, /* 00000058 "..... .." */ 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00, /* 00000060 "...... ." */ - 0x55,0x55,0xCD,0xAB,0x01,0x00,0x00,0x00, /* 00000068 "UU......" */ - 0x00,0x00,0x00,0x00,0x00,0x21,0x43,0xB5, /* 00000070 ".....!C." */ - 0x00,0x00,0x00,0x00,0x45,0x23,0xB1,0x00, /* 00000078 "....E#.." */ - 0x00,0x00,0x00,0x00 /* 00000080 "...." */ + 0x02,0x5e,0xba,0x00,0x00,0x00,0x00,0x00, /* 00000068 ".^......" */ + 0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00, /* 00000070 ".....0.." */ + 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00, /* 00000078 "..... .." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00, /* 00000080 "...... ." */ + 0x03,0x5e,0xba,0x00,0x00,0x00,0x00,0x00, /* 00000088 ".^......" */ + 0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00, /* 00000090 ".....@.." */ + 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00, /* 00000098 "..... .." */ + 0x00,0x00,0x00,0x00,0x01,0x00,0x28,0x00, /* 000000a0 "......(." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000a8 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000b0 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000b8 "........" */ + 0x03,0x00,0x00,0x00,0x06,0x00,0x01,0x00, /* 000000c0 "........" */ + 0x00,0x5e,0xba,0x00,0x01,0x00,0x28,0x00, /* 000000c8 ".^....(." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000d0 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000d8 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000e0 "........" */ + 0x03,0x00,0x00,0x00,0x06,0x00,0x01,0x00, /* 000000e8 "........" */ + 0x01,0x5e,0xba,0x00,0x01,0x00,0x28,0x00, /* 000000f0 ".^....(." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000f8 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000100 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000108 "........" */ + 0x03,0x00,0x00,0x00,0x06,0x00,0x01,0x00, /* 00000110 "........" */ + 0x02,0x5e,0xba,0x00,0x01,0x00,0x28,0x00, /* 00000118 ".^....(." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000120 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000128 "........" */ + 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000130 "........" */ + 0x03,0x00,0x00,0x00,0x06,0x00,0x01,0x00, /* 00000138 "........" */ + 0x03,0x5e,0xba,0x00,0x01,0x00,0x2c,0x00, /* 00000140 ".^....,." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000148 "........" */ + 0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000150 "........" */ + 0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000158 "........" */ + 0x03,0x00,0x00,0x00,0x06,0x00,0x01,0x00, /* 00000160 "........" */ + 0x00,0x5e,0xba,0x00,0x01,0x5e,0xba,0x00, /* 00000160 ".^...^.." */ + 0x01,0x00,0x2c,0x00,0x00,0x00,0x00,0x00, /* 00000170 "..,....." */ + 0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00, /* 00000178 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 00000180 "........" */ + 0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, /* 00000188 "........" */ + 0x0a,0x00,0x01,0x00,0x02,0x5e,0xba,0x00, /* 00000190 ".....^.." */ + 0x03,0x5e,0xba,0x00 /* 00000198 ".^.." */ }; const unsigned char TemplateCpep[] = @@ -426,11 +494,11 @@ const unsigned char TemplateDbgp[] = const unsigned char TemplateDmar[] = { - 0x44,0x4D,0x41,0x52,0x8C,0x00,0x00,0x00, /* 00000000 "DMAR...." */ - 0x01,0x03,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ + 0x44,0x4D,0x41,0x52,0x9C,0x00,0x00,0x00, /* 00000000 "DMAR...." */ + 0x01,0xB8,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x17,0x05,0x13,0x20,0x2F,0x01,0x00,0x00, /* 00000020 "... /..." */ + 0x17,0x12,0x21,0x20,0x2F,0x01,0x00,0x00, /* 00000020 "..! /..." */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */ 0x00,0x00,0x18,0x00,0x01,0x00,0x00,0x00, /* 00000030 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */ @@ -443,7 +511,9 @@ const unsigned char TemplateDmar[] = 0x02,0x08,0x00,0x00,0x00,0x00,0x00,0x03, /* 00000070 "........" */ 0x03,0x00,0x14,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000080 "........" */ - 0x00,0x00,0x00,0x00 /* 00000088 "...." */ + 0x00,0x00,0x00,0x00,0x05,0x00,0x10,0x00, /* 00000088 "........" */ + 0x00,0x00,0x00,0x00,0x01,0x08,0x00,0x00, /* 00000090 "........" */ + 0x00,0x00,0x00,0x02 /* 00000098 "...." */ }; const unsigned char TemplateDrtm[] = @@ -823,10 +893,10 @@ const unsigned char TemplateHpet[] = const unsigned char TemplateIort[] = { 0x49,0x4F,0x52,0x54,0x3C,0x02,0x00,0x00, /* 00000000 "IORT<..." */ - 0x03,0xF1,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ + 0x05,0xCB,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ 0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000010 "Template" */ 0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x05,0x01,0x21,0x20,0x07,0x00,0x00,0x00, /* 00000020 "..! ...." */ + 0x17,0x12,0x21,0x20,0x07,0x00,0x00,0x00, /* 00000020 "..! ...." */ 0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000028 "4......." */ 0x49,0x4F,0x52,0x54,0x00,0x18,0x00,0x01, /* 00000030 "IORT...." */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */ @@ -838,7 +908,7 @@ const unsigned char TemplateIort[] = 0x00,0x5C,0x5F,0x53,0x42,0x2E,0x50,0x43, /* 00000068 ".\_SB.PC" */ 0x49,0x30,0x2E,0x44,0x45,0x56,0x30,0x00, /* 00000070 "I0.DEV0." */ 0x49,0x4F,0x52,0x54,0x3C,0x02,0x00,0x00, /* 00000078 "IORT<..." */ - 0x03,0xF2,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000080 "..INTEL " */ + 0x03,0xF1,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000080 "..INTEL " */ 0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000088 "Template" */ 0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000090 "....INTL" */ 0x05,0x01,0x21,0x20,0x07,0x00,0x00,0x00, /* 00000098 "..! ...." */ @@ -847,7 +917,7 @@ const unsigned char TemplateIort[] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B0 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B8 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000C0 "........" */ - 0x00,0x00,0x00,0x00,0x02,0x38,0x00,0x03, /* 000000C8 ".....8.." */ + 0x00,0x00,0x00,0x00,0x02,0x38,0x00,0x04, /* 000000C8 ".....8.." */ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000000D0 "........" */ 0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000D8 "$......." */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000E0 "........" */ @@ -885,7 +955,7 @@ const unsigned char TemplateIort[] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001E0 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001E8 "........" */ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000001F0 "........" */ - 0x06,0x44,0x00,0x01,0x00,0x00,0x00,0x00, /* 000001F8 ".D......" */ + 0x06,0x44,0x00,0x03,0x00,0x00,0x00,0x00, /* 000001F8 ".D......" */ 0x01,0x00,0x00,0x00,0x30,0x00,0x00,0x00, /* 00000200 "....0..." */ 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 00000208 "........" */ 0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000210 "........" */ @@ -893,7 +963,7 @@ const unsigned char TemplateIort[] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000220 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000228 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000230 "........" */ - 0x01,0x00,0x00,0x00 /* 00000238 "...." */ + 0x00,0x00,0x00,0x00 /* 00000238 "...." */ }; const unsigned char TemplateIvrs[] = @@ -1185,6 +1255,78 @@ const unsigned char TemplateNfit[] = 0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00 /* 00000180 "........" */ }; +const unsigned char TemplateNhlt[] = +{ + 0x4E,0x48,0x4C,0x54,0x1E,0x02,0x00,0x00, /* 00000000 "NHLT...." */ + 0x01,0xF7,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ + 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x30,0x09,0x21,0x20,0x04,0xAD,0x00,0x00, /* 00000020 "0.! ...." */ + 0x00,0x02,0x06,0x07,0x00,0x30,0xAE,0x09, /* 00000028 ".....0.." */ + 0x00,0x0A,0x00,0x00,0x00,0x02,0x03,0x0D, /* 00000030 "........" */ + 0x38,0x00,0x00,0x00,0xCC,0x01,0x1F,0x02, /* 00000038 "8......." */ + 0x04,0x00,0x13,0x00,0x09,0x00,0x11,0x00, /* 00000040 "........" */ + 0x04,0x20,0x07,0x00,0x09,0x00,0x18,0x00, /* 00000048 ". ......" */ + 0x22,0x00,0x11,0x00,0x15,0x00,0x05,0x03, /* 00000050 ""......." */ + 0x13,0x00,0x09,0x00,0x11,0x00,0x04,0x20, /* 00000058 "....... " */ + 0x07,0x00,0x09,0x00,0x18,0x00,0x22,0x00, /* 00000060 "......"." */ + 0x11,0x00,0x15,0x00,0xAA,0xAA,0x99,0x99, /* 00000068 "........" */ + 0x78,0x56,0x34,0x12,0x02,0xFE,0xFF,0x78, /* 00000070 "xV4....x" */ + 0x56,0x44,0x33,0x00,0x00,0x66,0x55,0x00, /* 00000078 "VD3..fU." */ + 0x00,0x00,0x80,0x16,0x00,0x32,0x00,0x04, /* 00000080 ".....2.." */ + 0x00,0x99,0x99,0x88,0x88,0x6E,0x88,0x9F, /* 00000088 ".....n.." */ + 0xA6,0xEB,0x6C,0x94,0x45,0xA4,0x1F,0x7B, /* 00000090 "..l.E..{" */ + 0x5D,0xCE,0x24,0xC5,0x53,0x02,0x00,0x00, /* 00000098 "].$.S..." */ + 0x00,0x30,0x40,0xFE,0xFF,0x78,0x56,0x44, /* 000000A0 ".0@..xVD" */ + 0x33,0x00,0x00,0x66,0x55,0x00,0x00,0x00, /* 000000A8 "3..fU..." */ + 0x80,0x16,0x00,0x32,0x00,0x04,0x00,0x99, /* 000000B0 "...2...." */ + 0x99,0x88,0x88,0x6E,0x88,0x9F,0xA6,0xEB, /* 000000B8 "...n...." */ + 0x6C,0x94,0x45,0xA4,0x1F,0x7B,0x5D,0xCE, /* 000000C0 "l.E..{]." */ + 0x24,0xC5,0x53,0x03,0x00,0x00,0x00,0x50, /* 000000C8 "$.S....P" */ + 0x60,0x70,0x48,0x00,0x00,0x00,0x05,0x06, /* 000000D0 "`pH....." */ + 0x07,0x00,0x34,0xAE,0x09,0x00,0x0A,0x00, /* 000000D8 "..4....." */ + 0x00,0x00,0x02,0x00,0x0D,0x02,0x00,0x00, /* 000000E0 "........" */ + 0x00,0xCC,0x00,0x01,0xFE,0xFF,0x78,0x56, /* 000000E8 "......xV" */ + 0x44,0x33,0x00,0x00,0x66,0x55,0x00,0x00, /* 000000F0 "D3..fU.." */ + 0x00,0x80,0x16,0x00,0x32,0x00,0x04,0x00, /* 000000F8 "....2..." */ + 0x99,0x99,0x88,0x88,0x6E,0x88,0x9F,0xA6, /* 00000100 "....n..." */ + 0xEB,0x6C,0x94,0x45,0xA4,0x1F,0x7B,0x5D, /* 00000108 ".l.E..{]" */ + 0xCE,0x24,0xC5,0x53,0x02,0x00,0x00,0x00, /* 00000110 ".$.S...." */ + 0x70,0x80,0x80,0x00,0x00,0x00,0x02,0x06, /* 00000118 "p......." */ + 0x07,0x00,0x30,0xAE,0x09,0x00,0x0A,0x00, /* 00000120 "..0....." */ + 0x00,0x00,0x02,0x03,0x0D,0x07,0x00,0x00, /* 00000128 "........" */ + 0x00,0xCC,0x03,0x09,0x34,0x12,0x28,0x01, /* 00000130 "....4.(." */ + 0x02,0xFE,0xFF,0x78,0x56,0x44,0x33,0x00, /* 00000138 "...xVD3." */ + 0x00,0x66,0x55,0x00,0x00,0x00,0x80,0x16, /* 00000140 ".fU....." */ + 0x00,0x32,0x00,0x04,0x00,0x99,0x99,0x88, /* 00000148 ".2......" */ + 0x88,0x6E,0x88,0x9F,0xA6,0xEB,0x6C,0x94, /* 00000150 ".n....l." */ + 0x45,0xA4,0x1F,0x7B,0x5D,0xCE,0x24,0xC5, /* 00000158 "E..{].$." */ + 0x53,0x04,0x00,0x00,0x00,0x70,0x80,0x90, /* 00000160 "S....p.." */ + 0xA0,0xFE,0xFF,0x78,0x56,0x44,0x33,0x00, /* 00000168 "...xVD3." */ + 0x00,0x66,0x55,0x00,0x00,0x00,0x80,0x16, /* 00000170 ".fU....." */ + 0x00,0x32,0x00,0x04,0x00,0x99,0x99,0x88, /* 00000178 ".2......" */ + 0x88,0x6E,0x88,0x9F,0xA6,0xEB,0x6C,0x94, /* 00000180 ".n....l." */ + 0x45,0xA4,0x1F,0x7B,0x5D,0xCE,0x24,0xC5, /* 00000188 "E..{].$." */ + 0x53,0x05,0x00,0x00,0x00,0x70,0x80,0x90, /* 00000190 "S....p.." */ + 0xA0,0xB0,0x7C,0x00,0x00,0x00,0x05,0x06, /* 00000198 "..|....." */ + 0x07,0x00,0x34,0xAE,0x09,0x00,0x0A,0x00, /* 000001A0 "..4....." */ + 0x00,0x00,0x02,0x00,0x0D,0x02,0x00,0x00, /* 000001A8 "........" */ + 0x00,0xCC,0x00,0x01,0xFE,0xFF,0x78,0x56, /* 000001B0 "......xV" */ + 0x44,0x33,0x00,0x00,0x66,0x55,0x00,0x00, /* 000001B8 "D3..fU.." */ + 0x00,0x80,0x16,0x00,0x32,0x00,0x04,0x00, /* 000001C0 "....2..." */ + 0x99,0x99,0x88,0x88,0x6E,0x88,0x9F,0xA6, /* 000001C8 "....n..." */ + 0xEB,0x6C,0x94,0x45,0xA4,0x1F,0x7B,0x5D, /* 000001D0 ".l.E..{]" */ + 0xCE,0x24,0xC5,0x53,0x11,0x00,0x00,0x00, /* 000001D8 ".$.S...." */ + 0x00,0x01,0x32,0x03,0x04,0x05,0x06,0x37, /* 000001E0 "..2....7" */ + 0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x3F, /* 000001E8 ".......?" */ + 0x0A,0x01,0x00,0x01,0x32,0x03,0x04,0x05, /* 000001F0 "....2..." */ + 0x06,0x37,0x08,0x09,0x0A,0x0B,0x0C,0x0D, /* 000001F8 ".7......" */ + 0x0E,0x3F,0x44,0x9A,0x00,0x01,0x32,0x03, /* 00000200 ".?D...2." */ + 0x04,0x05,0x06,0x37,0x08,0x09,0x0A,0x0B, /* 00000208 "...7...." */ + 0x0C,0x0D,0x0E,0x3F,0x0A,0x0B,0x04,0x00, /* 00000210 "...?...." */ + 0x00,0x00,0xEF,0xBE,0xAD,0xDE /* 00000218 "......" */ +}; + const unsigned char TemplatePcct[] = { 0x50,0x43,0x43,0x54,0xAE,0x02,0x00,0x00, /* 00000000 "PCCT...." */ @@ -1756,6 +1898,17 @@ const unsigned char TemplateTcpa[] = 0x01,0x01,0x01,0x01 /* 00000060 "...." */ }; +const unsigned char TemplateTdel[] = +{ + 0x54,0x44,0x45,0x4C,0x38,0x00,0x00,0x00, /* 00000000 "TDEL8..." */ + 0x04,0x1C,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */ + 0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000010 "Template" */ + 0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x30,0x09,0x21,0x20,0x00,0x00,0x00,0x00, /* 00000020 "0.! ...." */ + 0xEF,0xCD,0xAB,0x78,0x56,0x34,0x12,0x00, /* 00000028 "...xV4.." */ + 0x78,0x56,0x34,0x12,0xEF,0xCD,0xAB,0x00 /* 00000030 "xV4....." */ +}; + const unsigned char TemplateTpm2[] = { 0x54,0x50,0x4D,0x32,0x4C,0x00,0x00,0x00, /* 00000000 "TPM2L..." */ diff --git a/source/compiler/dtutils.c b/source/compiler/dtutils.c index 52180fb3fd10..e950763e7d1c 100644 --- a/source/compiler/dtutils.c +++ b/source/compiler/dtutils.c @@ -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 @@ -411,6 +411,7 @@ DtGetFieldType ( case ACPI_DMT_FLAGS0: case ACPI_DMT_FLAGS1: case ACPI_DMT_FLAGS2: + case ACPI_DMT_FLAGS8_2: case ACPI_DMT_FLAGS4: case ACPI_DMT_FLAGS4_0: case ACPI_DMT_FLAGS4_4: @@ -437,6 +438,7 @@ DtGetFieldType ( case ACPI_DMT_BUF10: case ACPI_DMT_BUF12: case ACPI_DMT_BUF16: + case ACPI_DMT_BUF18: case ACPI_DMT_BUF128: case ACPI_DMT_PCI_PATH: case ACPI_DMT_PMTT_VENDOR: @@ -560,6 +562,7 @@ DtGetFieldLength ( case ACPI_DMT_FLAGS0: case ACPI_DMT_FLAGS1: case ACPI_DMT_FLAGS2: + case ACPI_DMT_FLAGS8_2: case ACPI_DMT_FLAGS4: case ACPI_DMT_FLAGS4_0: case ACPI_DMT_FLAGS4_4: @@ -583,6 +586,10 @@ DtGetFieldLength ( 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: @@ -611,6 +618,7 @@ DtGetFieldLength ( case ACPI_DMT_HEST: case ACPI_DMT_HMAT: case ACPI_DMT_NFIT: + case ACPI_DMT_NHLT1e: case ACPI_DMT_PCI_PATH: case ACPI_DMT_PHAT: @@ -737,6 +745,11 @@ DtGetFieldLength ( ByteLength = 16; break; + case ACPI_DMT_BUF18: + + ByteLength = 18; + break; + case ACPI_DMT_BUF128: ByteLength = 128; diff --git a/source/compiler/preprocess.h b/source/compiler/preprocess.h index f4c8c30966a2..9c25dd132a74 100644 --- a/source/compiler/preprocess.h +++ b/source/compiler/preprocess.h @@ -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 diff --git a/source/compiler/prexpress.c b/source/compiler/prexpress.c index db2e76ec87f9..8ac1fd88767e 100644 --- a/source/compiler/prexpress.c +++ b/source/compiler/prexpress.c @@ -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 diff --git a/source/compiler/prmacros.c b/source/compiler/prmacros.c index ab1255f665eb..5b3669784204 100644 --- a/source/compiler/prmacros.c +++ b/source/compiler/prmacros.c @@ -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 diff --git a/source/compiler/prparser.l b/source/compiler/prparser.l index febcc3192541..828d81b263f2 100644 --- a/source/compiler/prparser.l +++ b/source/compiler/prparser.l @@ -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 diff --git a/source/compiler/prparser.y b/source/compiler/prparser.y index f7e052d910ee..3854d989126f 100644 --- a/source/compiler/prparser.y +++ b/source/compiler/prparser.y @@ -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 diff --git a/source/compiler/prscan.c b/source/compiler/prscan.c index 7672ef895ef2..0d9af86ea475 100644 --- a/source/compiler/prscan.c +++ b/source/compiler/prscan.c @@ -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 diff --git a/source/compiler/prutils.c b/source/compiler/prutils.c index e793b4c470e7..eea42f890b00 100644 --- a/source/compiler/prutils.c +++ b/source/compiler/prutils.c @@ -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 diff --git a/source/components/debugger/dbcmds.c b/source/components/debugger/dbcmds.c index 1b10f161ac0b..6f55147633b5 100644 --- a/source/components/debugger/dbcmds.c +++ b/source/components/debugger/dbcmds.c @@ -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 diff --git a/source/components/debugger/dbconvert.c b/source/components/debugger/dbconvert.c index 55307d0871d9..9d1e1dddc9c6 100644 --- a/source/components/debugger/dbconvert.c +++ b/source/components/debugger/dbconvert.c @@ -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 diff --git a/source/components/debugger/dbdisply.c b/source/components/debugger/dbdisply.c index b434cdc6b834..276217f58ef3 100644 --- a/source/components/debugger/dbdisply.c +++ b/source/components/debugger/dbdisply.c @@ -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 diff --git a/source/components/debugger/dbexec.c b/source/components/debugger/dbexec.c index 26cc73f98e32..eed0aa35cd4c 100644 --- a/source/components/debugger/dbexec.c +++ b/source/components/debugger/dbexec.c @@ -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 diff --git a/source/components/debugger/dbfileio.c b/source/components/debugger/dbfileio.c index 70b9650ac9ba..09f8f2271d39 100644 --- a/source/components/debugger/dbfileio.c +++ b/source/components/debugger/dbfileio.c @@ -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 diff --git a/source/components/debugger/dbhistry.c b/source/components/debugger/dbhistry.c index d5ae07f9edac..31bfc3c56a37 100644 --- a/source/components/debugger/dbhistry.c +++ b/source/components/debugger/dbhistry.c @@ -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 diff --git a/source/components/debugger/dbinput.c b/source/components/debugger/dbinput.c index d0b77e7729a2..0f21b731c67b 100644 --- a/source/components/debugger/dbinput.c +++ b/source/components/debugger/dbinput.c @@ -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 diff --git a/source/components/debugger/dbmethod.c b/source/components/debugger/dbmethod.c index 4e9a8b53c924..82202e8e2cbe 100644 --- a/source/components/debugger/dbmethod.c +++ b/source/components/debugger/dbmethod.c @@ -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 diff --git a/source/components/debugger/dbnames.c b/source/components/debugger/dbnames.c index b7b45ecf37f1..963f81251e8d 100644 --- a/source/components/debugger/dbnames.c +++ b/source/components/debugger/dbnames.c @@ -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 diff --git a/source/components/debugger/dbobject.c b/source/components/debugger/dbobject.c index 5b98319a505a..b8bade432f62 100644 --- a/source/components/debugger/dbobject.c +++ b/source/components/debugger/dbobject.c @@ -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 diff --git a/source/components/debugger/dbstats.c b/source/components/debugger/dbstats.c index 7cca32f76f0f..30a686dc6d42 100644 --- a/source/components/debugger/dbstats.c +++ b/source/components/debugger/dbstats.c @@ -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 diff --git a/source/components/debugger/dbtest.c b/source/components/debugger/dbtest.c index cb9c721419e6..23690ed67bc7 100644 --- a/source/components/debugger/dbtest.c +++ b/source/components/debugger/dbtest.c @@ -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 diff --git a/source/components/debugger/dbutils.c b/source/components/debugger/dbutils.c index 338d1fc28b5a..ef649b2c12d1 100644 --- a/source/components/debugger/dbutils.c +++ b/source/components/debugger/dbutils.c @@ -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 diff --git a/source/components/debugger/dbxface.c b/source/components/debugger/dbxface.c index 472e30df0285..c44e1d0d5e49 100644 --- a/source/components/debugger/dbxface.c +++ b/source/components/debugger/dbxface.c @@ -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 diff --git a/source/components/disassembler/dmbuffer.c b/source/components/disassembler/dmbuffer.c index 208fb84f84ae..d5d813c83bc8 100644 --- a/source/components/disassembler/dmbuffer.c +++ b/source/components/disassembler/dmbuffer.c @@ -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 diff --git a/source/components/disassembler/dmcstyle.c b/source/components/disassembler/dmcstyle.c index 991b87141435..f0bef68ef982 100644 --- a/source/components/disassembler/dmcstyle.c +++ b/source/components/disassembler/dmcstyle.c @@ -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 diff --git a/source/components/disassembler/dmdeferred.c b/source/components/disassembler/dmdeferred.c index 23e1c58fa3d9..82ce2bec3bf8 100644 --- a/source/components/disassembler/dmdeferred.c +++ b/source/components/disassembler/dmdeferred.c @@ -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 diff --git a/source/components/disassembler/dmnames.c b/source/components/disassembler/dmnames.c index 85da99645186..8852921f9478 100644 --- a/source/components/disassembler/dmnames.c +++ b/source/components/disassembler/dmnames.c @@ -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 diff --git a/source/components/disassembler/dmopcode.c b/source/components/disassembler/dmopcode.c index 80cf72f904d4..1cfe710d7c05 100644 --- a/source/components/disassembler/dmopcode.c +++ b/source/components/disassembler/dmopcode.c @@ -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 diff --git a/source/components/disassembler/dmresrc.c b/source/components/disassembler/dmresrc.c index 12cf5e6bcb01..0a183e9c5b87 100644 --- a/source/components/disassembler/dmresrc.c +++ b/source/components/disassembler/dmresrc.c @@ -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 diff --git a/source/components/disassembler/dmresrcl.c b/source/components/disassembler/dmresrcl.c index b30316b8b603..9aa6ac1fbe5f 100644 --- a/source/components/disassembler/dmresrcl.c +++ b/source/components/disassembler/dmresrcl.c @@ -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 diff --git a/source/components/disassembler/dmresrcl2.c b/source/components/disassembler/dmresrcl2.c index ae15e3d8aa7f..59d00f6c3967 100644 --- a/source/components/disassembler/dmresrcl2.c +++ b/source/components/disassembler/dmresrcl2.c @@ -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 diff --git a/source/components/disassembler/dmresrcs.c b/source/components/disassembler/dmresrcs.c index f323329f4dd9..db5ce5db984f 100644 --- a/source/components/disassembler/dmresrcs.c +++ b/source/components/disassembler/dmresrcs.c @@ -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 diff --git a/source/components/disassembler/dmutils.c b/source/components/disassembler/dmutils.c index 1c1e400e32c8..2a7b7b330e55 100644 --- a/source/components/disassembler/dmutils.c +++ b/source/components/disassembler/dmutils.c @@ -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 diff --git a/source/components/disassembler/dmwalk.c b/source/components/disassembler/dmwalk.c index 75d75eab3d75..7d2429b721e6 100644 --- a/source/components/disassembler/dmwalk.c +++ b/source/components/disassembler/dmwalk.c @@ -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 @@ -959,7 +959,15 @@ AcpiDmDescendingOp ( NextOp->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE; ASL_CV_CLOSE_PAREN (Op, Level); - /* Emit description comment for Name() with a predefined ACPI name */ + if (Op->Asl.Parent->Common.AmlOpcode == AML_NAME_OP) + { + /* + * Emit description comment showing the full ACPI name + * of the ResourceTemplate only if it was defined using a + * Name statement. + */ + AcpiDmPredefinedDescription (Op->Asl.Parent); + } AcpiDmPredefinedDescription (Op->Asl.Parent); diff --git a/source/components/dispatcher/dsargs.c b/source/components/dispatcher/dsargs.c index 4a24160c596a..52246693997d 100644 --- a/source/components/dispatcher/dsargs.c +++ b/source/components/dispatcher/dsargs.c @@ -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 diff --git a/source/components/dispatcher/dscontrol.c b/source/components/dispatcher/dscontrol.c index 8b860a553fe2..1d7d676c2c30 100644 --- a/source/components/dispatcher/dscontrol.c +++ b/source/components/dispatcher/dscontrol.c @@ -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 diff --git a/source/components/dispatcher/dsdebug.c b/source/components/dispatcher/dsdebug.c index 26504c5a9cf5..9111a215696e 100644 --- a/source/components/dispatcher/dsdebug.c +++ b/source/components/dispatcher/dsdebug.c @@ -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 diff --git a/source/components/dispatcher/dsfield.c b/source/components/dispatcher/dsfield.c index bd2755aec29b..2d3851ff9d7d 100644 --- a/source/components/dispatcher/dsfield.c +++ b/source/components/dispatcher/dsfield.c @@ -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 diff --git a/source/components/dispatcher/dsinit.c b/source/components/dispatcher/dsinit.c index 82857cb68ecb..5f941f0c94cc 100644 --- a/source/components/dispatcher/dsinit.c +++ b/source/components/dispatcher/dsinit.c @@ -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 diff --git a/source/components/dispatcher/dsmethod.c b/source/components/dispatcher/dsmethod.c index fd56bd509ef7..d5fc3038f643 100644 --- a/source/components/dispatcher/dsmethod.c +++ b/source/components/dispatcher/dsmethod.c @@ -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 diff --git a/source/components/dispatcher/dsmthdat.c b/source/components/dispatcher/dsmthdat.c index ab0a9d118fc0..af156790166d 100644 --- a/source/components/dispatcher/dsmthdat.c +++ b/source/components/dispatcher/dsmthdat.c @@ -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 diff --git a/source/components/dispatcher/dsobject.c b/source/components/dispatcher/dsobject.c index 20dd20c11a12..5ffd198ba0bd 100644 --- a/source/components/dispatcher/dsobject.c +++ b/source/components/dispatcher/dsobject.c @@ -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 diff --git a/source/components/dispatcher/dsopcode.c b/source/components/dispatcher/dsopcode.c index 153cd89adfd1..190be1b3f7d1 100644 --- a/source/components/dispatcher/dsopcode.c +++ b/source/components/dispatcher/dsopcode.c @@ -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 @@ -707,6 +707,7 @@ AcpiDsEvalTableRegionOperands ( ObjDesc->Region.Address = ACPI_PTR_TO_PHYSADDR (Table); ObjDesc->Region.Length = Table->Length; + ObjDesc->Region.Pointer = Table; ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "RgnObj %p Addr %8.8X%8.8X Len %X\n", ObjDesc, ACPI_FORMAT_UINT64 (ObjDesc->Region.Address), diff --git a/source/components/dispatcher/dspkginit.c b/source/components/dispatcher/dspkginit.c index 06c0341458f1..bd2bf2e32a63 100644 --- a/source/components/dispatcher/dspkginit.c +++ b/source/components/dispatcher/dspkginit.c @@ -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 diff --git a/source/components/dispatcher/dsutils.c b/source/components/dispatcher/dsutils.c index 0bb4fb2d330d..b159b34c3fa4 100644 --- a/source/components/dispatcher/dsutils.c +++ b/source/components/dispatcher/dsutils.c @@ -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 diff --git a/source/components/dispatcher/dswexec.c b/source/components/dispatcher/dswexec.c index 636067bfe75e..686f03c8cc59 100644 --- a/source/components/dispatcher/dswexec.c +++ b/source/components/dispatcher/dswexec.c @@ -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 @@ -173,7 +173,7 @@ static ACPI_EXECUTE_OP AcpiGbl_OpTypeDispatch [] = AcpiExOpcode_0A_0T_1R, AcpiExOpcode_1A_0T_0R, AcpiExOpcode_1A_0T_1R, - AcpiExOpcode_1A_1T_0R, + NULL, /* Was: AcpiExOpcode_1A_0T_0R (Was for Load operator) */ AcpiExOpcode_1A_1T_1R, AcpiExOpcode_2A_0T_0R, AcpiExOpcode_2A_0T_1R, diff --git a/source/components/dispatcher/dswload.c b/source/components/dispatcher/dswload.c index a9b22dd15acc..4fdf955a5a61 100644 --- a/source/components/dispatcher/dswload.c +++ b/source/components/dispatcher/dswload.c @@ -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 diff --git a/source/components/dispatcher/dswload2.c b/source/components/dispatcher/dswload2.c index 0311d0d991f8..496ee91fbc06 100644 --- a/source/components/dispatcher/dswload2.c +++ b/source/components/dispatcher/dswload2.c @@ -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 diff --git a/source/components/dispatcher/dswscope.c b/source/components/dispatcher/dswscope.c index bc360b66ec6e..dad0c4974a48 100644 --- a/source/components/dispatcher/dswscope.c +++ b/source/components/dispatcher/dswscope.c @@ -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 diff --git a/source/components/dispatcher/dswstate.c b/source/components/dispatcher/dswstate.c index 9f79601fa1ae..68b7f3d10378 100644 --- a/source/components/dispatcher/dswstate.c +++ b/source/components/dispatcher/dswstate.c @@ -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 diff --git a/source/components/events/evevent.c b/source/components/events/evevent.c index b935960835f6..8b08338a21b7 100644 --- a/source/components/events/evevent.c +++ b/source/components/events/evevent.c @@ -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 diff --git a/source/components/events/evglock.c b/source/components/events/evglock.c index 1eb740d94fb3..79b519a0f75d 100644 --- a/source/components/events/evglock.c +++ b/source/components/events/evglock.c @@ -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 diff --git a/source/components/events/evgpe.c b/source/components/events/evgpe.c index 45c506ab7560..b246567d34c5 100644 --- a/source/components/events/evgpe.c +++ b/source/components/events/evgpe.c @@ -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 diff --git a/source/components/events/evgpeblk.c b/source/components/events/evgpeblk.c index 03bb0b053f9f..4dac205ee1c4 100644 --- a/source/components/events/evgpeblk.c +++ b/source/components/events/evgpeblk.c @@ -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 diff --git a/source/components/events/evgpeinit.c b/source/components/events/evgpeinit.c index 7a41fae0e969..6f0472cf1963 100644 --- a/source/components/events/evgpeinit.c +++ b/source/components/events/evgpeinit.c @@ -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 diff --git a/source/components/events/evgpeutil.c b/source/components/events/evgpeutil.c index 679ca6986291..1f66717df278 100644 --- a/source/components/events/evgpeutil.c +++ b/source/components/events/evgpeutil.c @@ -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 diff --git a/source/components/events/evhandler.c b/source/components/events/evhandler.c index 39171014ee54..e0859c30a599 100644 --- a/source/components/events/evhandler.c +++ b/source/components/events/evhandler.c @@ -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 @@ -563,7 +563,7 @@ AcpiEvInstallSpaceHandler ( case ACPI_ADR_SPACE_DATA_TABLE: Handler = AcpiExDataTableSpaceHandler; - Setup = NULL; + Setup = AcpiEvDataTableRegionSetup; break; default: diff --git a/source/components/events/evmisc.c b/source/components/events/evmisc.c index 5052a1fdce65..b6c6eb6ad33e 100644 --- a/source/components/events/evmisc.c +++ b/source/components/events/evmisc.c @@ -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 diff --git a/source/components/events/evregion.c b/source/components/events/evregion.c index 2624cd65d38a..6cf77791f105 100644 --- a/source/components/events/evregion.c +++ b/source/components/events/evregion.c @@ -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 @@ -320,6 +320,15 @@ AcpiEvAddressSpaceDispatch ( return_ACPI_STATUS (AE_NOT_EXIST); } + if (RegionObj->Region.SpaceId == ACPI_ADR_SPACE_PLATFORM_COMM) + { + ACPI_PCC_INFO *Ctx = HandlerDesc->AddressSpace.Context; + + Ctx->InternalBuffer = FieldObj->Field.InternalPccBuffer; + Ctx->Length = (UINT16) RegionObj->Region.Length; + Ctx->SubspaceId = (UINT8) RegionObj->Region.Address; + } + /* * We must exit the interpreter because the region setup will * potentially execute control methods (for example, the _REG method diff --git a/source/components/events/evrgnini.c b/source/components/events/evrgnini.c index 9327d8f7ff81..7cbbe30c069b 100644 --- a/source/components/events/evrgnini.c +++ b/source/components/events/evrgnini.c @@ -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 @@ -601,6 +601,64 @@ AcpiEvCmosRegionSetup ( /******************************************************************************* * + * FUNCTION: AcpiEvDataTableRegionSetup + * + * PARAMETERS: Handle - Region we are interested in + * Function - Start or stop + * HandlerContext - Address space handler context + * RegionContext - Region specific context + * + * RETURN: Status + * + * DESCRIPTION: Setup a DataTableRegion + * + * MUTEX: Assumes namespace is not locked + * + ******************************************************************************/ + +ACPI_STATUS +AcpiEvDataTableRegionSetup ( + ACPI_HANDLE Handle, + UINT32 Function, + void *HandlerContext, + void **RegionContext) +{ + ACPI_OPERAND_OBJECT *RegionDesc = (ACPI_OPERAND_OBJECT *) Handle; + ACPI_DATA_TABLE_MAPPING *LocalRegionContext; + + + ACPI_FUNCTION_TRACE (EvDataTableRegionSetup); + + + if (Function == ACPI_REGION_DEACTIVATE) + { + if (*RegionContext) + { + ACPI_FREE (*RegionContext); + *RegionContext = NULL; + } + return_ACPI_STATUS (AE_OK); + } + + /* Create a new context */ + + LocalRegionContext = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_DATA_TABLE_MAPPING)); + if (!(LocalRegionContext)) + { + return_ACPI_STATUS (AE_NO_MEMORY); + } + + /* Save the data table pointer for use in the handler */ + + LocalRegionContext->Pointer = RegionDesc->Region.Pointer; + + *RegionContext = LocalRegionContext; + return_ACPI_STATUS (AE_OK); +} + + +/******************************************************************************* + * * FUNCTION: AcpiEvDefaultRegionSetup * * PARAMETERS: Handle - Region we are interested in diff --git a/source/components/events/evsci.c b/source/components/events/evsci.c index 47ac23f81608..26891925293c 100644 --- a/source/components/events/evsci.c +++ b/source/components/events/evsci.c @@ -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 diff --git a/source/components/events/evxface.c b/source/components/events/evxface.c index 01d5f00fbe72..245ca8a41fb5 100644 --- a/source/components/events/evxface.c +++ b/source/components/events/evxface.c @@ -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 diff --git a/source/components/events/evxfevnt.c b/source/components/events/evxfevnt.c index a34547117092..3384e0982e82 100644 --- a/source/components/events/evxfevnt.c +++ b/source/components/events/evxfevnt.c @@ -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 diff --git a/source/components/events/evxfgpe.c b/source/components/events/evxfgpe.c index 1fe27e759322..87dab0f8119f 100644 --- a/source/components/events/evxfgpe.c +++ b/source/components/events/evxfgpe.c @@ -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 diff --git a/source/components/events/evxfregn.c b/source/components/events/evxfregn.c index 3febc81c216c..ee44e10d5784 100644 --- a/source/components/events/evxfregn.c +++ b/source/components/events/evxfregn.c @@ -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 diff --git a/source/components/executer/exconcat.c b/source/components/executer/exconcat.c index bd7374e88769..335d78f19671 100644 --- a/source/components/executer/exconcat.c +++ b/source/components/executer/exconcat.c @@ -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 diff --git a/source/components/executer/exconfig.c b/source/components/executer/exconfig.c index 301e883072e6..a87316ba866a 100644 --- a/source/components/executer/exconfig.c +++ b/source/components/executer/exconfig.c @@ -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 @@ -244,6 +244,7 @@ AcpiExLoadTableOp ( ACPI_NAMESPACE_NODE *ParentNode; ACPI_NAMESPACE_NODE *StartNode; ACPI_NAMESPACE_NODE *ParameterNode = NULL; + ACPI_OPERAND_OBJECT *ReturnObj; ACPI_OPERAND_OBJECT *DdbHandle; UINT32 TableIndex; @@ -251,6 +252,16 @@ AcpiExLoadTableOp ( ACPI_FUNCTION_TRACE (ExLoadTableOp); + /* Create the return object */ + + ReturnObj = AcpiUtCreateIntegerObject ((UINT64) 0); + if (!ReturnObj) + { + return_ACPI_STATUS (AE_NO_MEMORY); + } + + *ReturnDesc = ReturnObj; + /* Find the ACPI table in the RSDT/XSDT */ AcpiExExitInterpreter (); @@ -268,13 +279,6 @@ AcpiExLoadTableOp ( /* Table not found, return an Integer=0 and AE_OK */ - DdbHandle = AcpiUtCreateIntegerObject ((UINT64) 0); - if (!DdbHandle) - { - return_ACPI_STATUS (AE_NO_MEMORY); - } - - *ReturnDesc = DdbHandle; return_ACPI_STATUS (AE_OK); } @@ -365,7 +369,13 @@ AcpiExLoadTableOp ( } } - *ReturnDesc = DdbHandle; + /* Remove the reference to DdbHandle created by AcpiExAddTable above */ + + AcpiUtRemoveReference (DdbHandle); + + /* Return -1 (non-zero) indicates success */ + + ReturnObj->Integer.Value = 0xFFFFFFFFFFFFFFFF; return_ACPI_STATUS (Status); } @@ -423,7 +433,7 @@ AcpiExRegionRead ( * * PARAMETERS: ObjDesc - Region or Buffer/Field where the table will be * obtained - * Target - Where a handle to the table will be stored + * Target - Where the status of the load will be stored * WalkState - Current state * * RETURN: Status @@ -455,6 +465,18 @@ AcpiExLoadOp ( ACPI_FUNCTION_TRACE (ExLoadOp); + if (Target->Common.DescriptorType == ACPI_DESC_TYPE_NAMED) + { + Target = AcpiNsGetAttachedObject (ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, Target)); + } + if (Target->Common.Type != ACPI_TYPE_INTEGER) + { + fprintf (stderr, "Type not integer: %X\n", Target->Common.Type); + return_ACPI_STATUS (AE_AML_OPERAND_TYPE); + } + + Target->Integer.Value = 0; + /* Source Object can be either an OpRegion or a Buffer/Field */ switch (ObjDesc->Common.Type) @@ -596,7 +618,7 @@ AcpiExLoadOp ( ACPI_INFO (("Dynamic OEM Table Load:")); AcpiExExitInterpreter (); Status = AcpiTbInstallAndLoadTable (ACPI_PTR_TO_PHYSADDR (Table), - ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL, TRUE, &TableIndex); + ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL, Table, TRUE, &TableIndex); AcpiExEnterInterpreter (); if (ACPI_FAILURE (Status)) { @@ -616,8 +638,6 @@ AcpiExLoadOp ( Status = AcpiExAddTable (TableIndex, &DdbHandle); if (ACPI_FAILURE (Status)) { - /* On error, TablePtr was deallocated above */ - return_ACPI_STATUS (Status); } @@ -627,22 +647,13 @@ AcpiExLoadOp ( AcpiNsInitializeObjects (); AcpiExEnterInterpreter (); - /* Store the DdbHandle into the Target operand */ + /* Remove the reference to DdbHandle created by AcpiExAddTable above */ - Status = AcpiExStore (DdbHandle, Target, WalkState); - if (ACPI_FAILURE (Status)) - { - (void) AcpiExUnloadTable (DdbHandle); - - /* TablePtr was deallocated above */ - - AcpiUtRemoveReference (DdbHandle); - return_ACPI_STATUS (Status); - } + AcpiUtRemoveReference (DdbHandle); - /* Remove the reference by added by AcpiExStore above */ + /* Return -1 (non-zero) indicates success */ - AcpiUtRemoveReference (DdbHandle); + Target->Integer.Value = 0xFFFFFFFFFFFFFFFF; return_ACPI_STATUS (Status); } diff --git a/source/components/executer/exconvrt.c b/source/components/executer/exconvrt.c index 4f6077ff0665..c9572e90bbb7 100644 --- a/source/components/executer/exconvrt.c +++ b/source/components/executer/exconvrt.c @@ -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 diff --git a/source/components/executer/excreate.c b/source/components/executer/excreate.c index 8afae43c7cd7..e83810810e36 100644 --- a/source/components/executer/excreate.c +++ b/source/components/executer/excreate.c @@ -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 @@ -451,6 +451,7 @@ AcpiExCreateRegion ( ObjDesc->Region.SpaceId = SpaceId; ObjDesc->Region.Address = 0; ObjDesc->Region.Length = 0; + ObjDesc->Region.Pointer = NULL; ObjDesc->Region.Node = Node; ObjDesc->Region.Handler = NULL; ObjDesc->Common.Flags &= diff --git a/source/components/executer/exdebug.c b/source/components/executer/exdebug.c index 39fc73521c12..88f75966d848 100644 --- a/source/components/executer/exdebug.c +++ b/source/components/executer/exdebug.c @@ -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 diff --git a/source/components/executer/exdump.c b/source/components/executer/exdump.c index b14cfe8443f6..e72ac01fc0a5 100644 --- a/source/components/executer/exdump.c +++ b/source/components/executer/exdump.c @@ -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 diff --git a/source/components/executer/exfield.c b/source/components/executer/exfield.c index 7871e3502bee..2834e7b3800a 100644 --- a/source/components/executer/exfield.c +++ b/source/components/executer/exfield.c @@ -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 @@ -492,9 +492,7 @@ AcpiExWriteDataToField ( ObjDesc->Field.BaseByteOffset, SourceDesc->Buffer.Pointer, DataLength); - if ((ObjDesc->Field.RegionObj->Region.Address == PCC_MASTER_SUBSPACE && - MASTER_SUBSPACE_COMMAND (ObjDesc->Field.BaseByteOffset)) || - GENERIC_SUBSPACE_COMMAND (ObjDesc->Field.BaseByteOffset)) + if (MASTER_SUBSPACE_COMMAND (ObjDesc->Field.BaseByteOffset)) { /* Perform the write */ diff --git a/source/components/executer/exfldio.c b/source/components/executer/exfldio.c index 6a5a5fe1b8b3..30d17c196be4 100644 --- a/source/components/executer/exfldio.c +++ b/source/components/executer/exfldio.c @@ -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 @@ -262,7 +262,7 @@ AcpiExSetupRegion ( #ifdef ACPI_UNDER_DEVELOPMENT /* * If the Field access is AnyAcc, we can now compute the optimal - * access (because we know know the length of the parent region) + * access (because we know the length of the parent region) */ if (!(ObjDesc->Common.Flags & AOPOBJ_DATA_VALID)) { diff --git a/source/components/executer/exmisc.c b/source/components/executer/exmisc.c index 220417b99348..4a1e2ff25239 100644 --- a/source/components/executer/exmisc.c +++ b/source/components/executer/exmisc.c @@ -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 diff --git a/source/components/executer/exmutex.c b/source/components/executer/exmutex.c index 010f5bdd66d3..8b335680dc30 100644 --- a/source/components/executer/exmutex.c +++ b/source/components/executer/exmutex.c @@ -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 diff --git a/source/components/executer/exnames.c b/source/components/executer/exnames.c index 025907281978..6045bc6b3176 100644 --- a/source/components/executer/exnames.c +++ b/source/components/executer/exnames.c @@ -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 diff --git a/source/components/executer/exoparg1.c b/source/components/executer/exoparg1.c index bf40b69770c6..2d9bbddf271f 100644 --- a/source/components/executer/exoparg1.c +++ b/source/components/executer/exoparg1.c @@ -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 @@ -323,6 +323,7 @@ AcpiExOpcode_1A_0T_0R ( } +#ifdef _OBSOLETE_CODE /* Was originally used for Load() operator */ /******************************************************************************* * * FUNCTION: AcpiExOpcode_1A_1T_0R @@ -352,10 +353,12 @@ AcpiExOpcode_1A_1T_0R ( switch (WalkState->Opcode) { +#ifdef _OBSOLETE_CODE case AML_LOAD_OP: Status = AcpiExLoadOp (Operand[0], Operand[1], WalkState); break; +#endif default: /* Unknown opcode */ @@ -370,7 +373,7 @@ Cleanup: return_ACPI_STATUS (Status); } - +#endif /******************************************************************************* * @@ -382,6 +385,8 @@ Cleanup: * * DESCRIPTION: Execute opcode with one argument, one target, and a * return value. + * January 2022: Added Load operator, with new ACPI 6.4 + * semantics. * ******************************************************************************/ @@ -411,6 +416,7 @@ AcpiExOpcode_1A_1T_1R ( case AML_FIND_SET_LEFT_BIT_OP: case AML_FIND_SET_RIGHT_BIT_OP: case AML_FROM_BCD_OP: + case AML_LOAD_OP: case AML_TO_BCD_OP: case AML_CONDITIONAL_REF_OF_OP: @@ -512,6 +518,18 @@ AcpiExOpcode_1A_1T_1R ( } break; + case AML_LOAD_OP: /* Result1 = Load (Operand[0], Result1) */ + + ReturnDesc->Integer.Value = 0; + Status = AcpiExLoadOp (Operand[0], ReturnDesc, WalkState); + if (ACPI_SUCCESS (Status)) + { + /* Return -1 (non-zero) indicates success */ + + ReturnDesc->Integer.Value = 0xFFFFFFFFFFFFFFFF; + } + break; + case AML_TO_BCD_OP: /* ToBcd (Operand, Result) */ ReturnDesc->Integer.Value = 0; @@ -1193,7 +1211,7 @@ AcpiExOpcode_1A_0T_1R ( WalkState, ReturnDesc, &TempDesc); if (ACPI_FAILURE (Status)) { - goto Cleanup; + return_ACPI_STATUS (Status); } ReturnDesc = TempDesc; diff --git a/source/components/executer/exoparg2.c b/source/components/executer/exoparg2.c index d1fc7c1160eb..8b63d615fa51 100644 --- a/source/components/executer/exoparg2.c +++ b/source/components/executer/exoparg2.c @@ -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 diff --git a/source/components/executer/exoparg3.c b/source/components/executer/exoparg3.c index 02e73bd4de0e..7b74d32ef374 100644 --- a/source/components/executer/exoparg3.c +++ b/source/components/executer/exoparg3.c @@ -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 diff --git a/source/components/executer/exoparg6.c b/source/components/executer/exoparg6.c index 23f8e2956045..5506b2c1a75b 100644 --- a/source/components/executer/exoparg6.c +++ b/source/components/executer/exoparg6.c @@ -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 diff --git a/source/components/executer/exprep.c b/source/components/executer/exprep.c index c7b55c547b70..6d239d7a78f6 100644 --- a/source/components/executer/exprep.c +++ b/source/components/executer/exprep.c @@ -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 diff --git a/source/components/executer/exregion.c b/source/components/executer/exregion.c index 2f49eb0a2bc5..01d49065ddd4 100644 --- a/source/components/executer/exregion.c +++ b/source/components/executer/exregion.c @@ -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 @@ -692,9 +692,17 @@ AcpiExDataTableSpaceHandler ( void *HandlerContext, void *RegionContext) { + ACPI_DATA_TABLE_MAPPING *Mapping; + char *Pointer; + + ACPI_FUNCTION_TRACE (ExDataTableSpaceHandler); + Mapping = (ACPI_DATA_TABLE_MAPPING *) RegionContext; + Pointer = ACPI_CAST_PTR (char, Mapping->Pointer) + + (Address - ACPI_PTR_TO_PHYSADDR (Mapping->Pointer)); + /* * Perform the memory read or write. The BitWidth was already * validated. @@ -703,14 +711,12 @@ AcpiExDataTableSpaceHandler ( { case ACPI_READ: - memcpy (ACPI_CAST_PTR (char, Value), ACPI_PHYSADDR_TO_PTR (Address), - ACPI_DIV_8 (BitWidth)); + memcpy (ACPI_CAST_PTR (char, Value), Pointer, ACPI_DIV_8 (BitWidth)); break; case ACPI_WRITE: - memcpy (ACPI_PHYSADDR_TO_PTR (Address), ACPI_CAST_PTR (char, Value), - ACPI_DIV_8 (BitWidth)); + memcpy (Pointer, ACPI_CAST_PTR (char, Value), ACPI_DIV_8 (BitWidth)); break; default: diff --git a/source/components/executer/exresnte.c b/source/components/executer/exresnte.c index 445a1b5e085b..6801b25beef9 100644 --- a/source/components/executer/exresnte.c +++ b/source/components/executer/exresnte.c @@ -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 diff --git a/source/components/executer/exresolv.c b/source/components/executer/exresolv.c index 78b26041948d..af5202ab8e05 100644 --- a/source/components/executer/exresolv.c +++ b/source/components/executer/exresolv.c @@ -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 diff --git a/source/components/executer/exresop.c b/source/components/executer/exresop.c index 619da90fb6f7..4abe93766ae7 100644 --- a/source/components/executer/exresop.c +++ b/source/components/executer/exresop.c @@ -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 diff --git a/source/components/executer/exserial.c b/source/components/executer/exserial.c index 776409db718d..4dfd65992ab2 100644 --- a/source/components/executer/exserial.c +++ b/source/components/executer/exserial.c @@ -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 diff --git a/source/components/executer/exstore.c b/source/components/executer/exstore.c index 79564db35379..ba1a05d94561 100644 --- a/source/components/executer/exstore.c +++ b/source/components/executer/exstore.c @@ -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 diff --git a/source/components/executer/exstoren.c b/source/components/executer/exstoren.c index f43e67cdb31b..df4a6f405cea 100644 --- a/source/components/executer/exstoren.c +++ b/source/components/executer/exstoren.c @@ -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 diff --git a/source/components/executer/exstorob.c b/source/components/executer/exstorob.c index 1ed937340c0e..56d048a7e5c6 100644 --- a/source/components/executer/exstorob.c +++ b/source/components/executer/exstorob.c @@ -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 diff --git a/source/components/executer/exsystem.c b/source/components/executer/exsystem.c index cf10a5e7bdab..62768bcf010f 100644 --- a/source/components/executer/exsystem.c +++ b/source/components/executer/exsystem.c @@ -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 @@ -265,7 +265,7 @@ AcpiExSystemWaitMutex ( * * FUNCTION: AcpiExSystemDoStall * - * PARAMETERS: HowLong - The amount of time to stall, + * PARAMETERS: HowLongUs - The amount of time to stall, * in microseconds * * RETURN: Status @@ -280,7 +280,7 @@ AcpiExSystemWaitMutex ( ACPI_STATUS AcpiExSystemDoStall ( - UINT32 HowLong) + UINT32 HowLongUs) { ACPI_STATUS Status = AE_OK; @@ -288,21 +288,26 @@ AcpiExSystemDoStall ( ACPI_FUNCTION_ENTRY (); - if (HowLong > 255) /* 255 microseconds */ + if (HowLongUs > 255) { /* - * Longer than 255 usec, this is an error + * Longer than 255 microseconds, this is an error * * (ACPI specifies 100 usec as max, but this gives some slack in * order to support existing BIOSs) */ ACPI_ERROR ((AE_INFO, - "Time parameter is too large (%u)", HowLong)); + "Time parameter is too large (%u)", HowLongUs)); Status = AE_AML_OPERAND_VALUE; } else { - AcpiOsStall (HowLong); + if (HowLongUs > 100) + { + ACPI_WARNING ((AE_INFO, + "Time parameter %u us > 100 us violating ACPI spec, please fix the firmware.", HowLongUs)); + } + AcpiOsStall (HowLongUs); } return (Status); @@ -313,7 +318,7 @@ AcpiExSystemDoStall ( * * FUNCTION: AcpiExSystemDoSleep * - * PARAMETERS: HowLong - The amount of time to sleep, + * PARAMETERS: HowLongMs - The amount of time to sleep, * in milliseconds * * RETURN: None @@ -324,7 +329,7 @@ AcpiExSystemDoStall ( ACPI_STATUS AcpiExSystemDoSleep ( - UINT64 HowLong) + UINT64 HowLongMs) { ACPI_FUNCTION_ENTRY (); @@ -334,15 +339,27 @@ AcpiExSystemDoSleep ( AcpiExExitInterpreter (); /* + * Warn users about excessive sleep times, so ASL code can be improved to + * use polling or similar techniques. + */ + if (HowLongMs > 10) + { + ACPI_WARNING ((AE_INFO, + "Firmware issue: Excessive sleep time (0x%8.8X%8.8X ms > 10 ms)" + " in ACPI Control Method", + ACPI_FORMAT_UINT64 (HowLongMs))); + } + + /* * For compatibility with other ACPI implementations and to prevent * accidental deep sleeps, limit the sleep time to something reasonable. */ - if (HowLong > ACPI_MAX_SLEEP) + if (HowLongMs > ACPI_MAX_SLEEP) { - HowLong = ACPI_MAX_SLEEP; + HowLongMs = ACPI_MAX_SLEEP; } - AcpiOsSleep (HowLong); + AcpiOsSleep (HowLongMs); /* And now we must get the interpreter again */ diff --git a/source/components/executer/extrace.c b/source/components/executer/extrace.c index 22c2b8bb8639..a677393f18a7 100644 --- a/source/components/executer/extrace.c +++ b/source/components/executer/extrace.c @@ -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 diff --git a/source/components/executer/exutils.c b/source/components/executer/exutils.c index 86114c8ec831..e27f567b6e39 100644 --- a/source/components/executer/exutils.c +++ b/source/components/executer/exutils.c @@ -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 diff --git a/source/components/hardware/hwacpi.c b/source/components/hardware/hwacpi.c index 71b71cbc64bf..8b3222099db4 100644 --- a/source/components/hardware/hwacpi.c +++ b/source/components/hardware/hwacpi.c @@ -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 diff --git a/source/components/hardware/hwesleep.c b/source/components/hardware/hwesleep.c index e8db4d26dc9e..85e4cb950192 100644 --- a/source/components/hardware/hwesleep.c +++ b/source/components/hardware/hwesleep.c @@ -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 @@ -261,7 +261,10 @@ AcpiHwExtendedSleep ( /* Flush caches, as per ACPI specification */ - ACPI_FLUSH_CPU_CACHE (); + if (SleepState < ACPI_STATE_S4) + { + ACPI_FLUSH_CPU_CACHE (); + } Status = AcpiOsEnterSleep (SleepState, SleepControl, 0); if (Status == AE_CTRL_TERMINATE) diff --git a/source/components/hardware/hwgpe.c b/source/components/hardware/hwgpe.c index bf333a3fee32..7f9a5f052fa3 100644 --- a/source/components/hardware/hwgpe.c +++ b/source/components/hardware/hwgpe.c @@ -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 diff --git a/source/components/hardware/hwpci.c b/source/components/hardware/hwpci.c index 1b0721e3a69c..b8e8aa9f3b2b 100644 --- a/source/components/hardware/hwpci.c +++ b/source/components/hardware/hwpci.c @@ -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 diff --git a/source/components/hardware/hwregs.c b/source/components/hardware/hwregs.c index 712a0887b48f..7b4ae88af8dd 100644 --- a/source/components/hardware/hwregs.c +++ b/source/components/hardware/hwregs.c @@ -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 @@ -633,7 +633,7 @@ AcpiHwGetBitRegisterInfo ( * RETURN: Status * * DESCRIPTION: Write the PM1 A/B control registers. These registers are - * different than than the PM1 A/B status and enable registers + * different than the PM1 A/B status and enable registers * in that different values can be written to the A/B registers. * Most notably, the SLP_TYP bits can be different, as per the * values returned from the _Sx predefined methods. diff --git a/source/components/hardware/hwsleep.c b/source/components/hardware/hwsleep.c index 2b857d970e9f..45ff336a1860 100644 --- a/source/components/hardware/hwsleep.c +++ b/source/components/hardware/hwsleep.c @@ -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 @@ -262,7 +262,10 @@ AcpiHwLegacySleep ( /* Flush caches, as per ACPI specification */ - ACPI_FLUSH_CPU_CACHE (); + if (SleepState < ACPI_STATE_S4) + { + ACPI_FLUSH_CPU_CACHE (); + } Status = AcpiOsEnterSleep (SleepState, Pm1aControl, Pm1bControl); if (Status == AE_CTRL_TERMINATE) @@ -376,7 +379,7 @@ AcpiHwLegacyWakePrep ( Pm1aControl |= (AcpiGbl_SleepTypeAS0 << SleepTypeRegInfo->BitPosition); - Pm1aControl |= (AcpiGbl_SleepTypeBS0 << + Pm1bControl |= (AcpiGbl_SleepTypeBS0 << SleepTypeRegInfo->BitPosition); /* Write the control registers and ignore any errors */ diff --git a/source/components/hardware/hwtimer.c b/source/components/hardware/hwtimer.c index 0e4102db4c76..829e2a35340e 100644 --- a/source/components/hardware/hwtimer.c +++ b/source/components/hardware/hwtimer.c @@ -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 diff --git a/source/components/hardware/hwvalid.c b/source/components/hardware/hwvalid.c index 96b5ac7e6e81..d297905b79a0 100644 --- a/source/components/hardware/hwvalid.c +++ b/source/components/hardware/hwvalid.c @@ -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 diff --git a/source/components/hardware/hwxface.c b/source/components/hardware/hwxface.c index 5daed99ad72e..8fd3561a05ff 100644 --- a/source/components/hardware/hwxface.c +++ b/source/components/hardware/hwxface.c @@ -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 diff --git a/source/components/hardware/hwxfsleep.c b/source/components/hardware/hwxfsleep.c index f1a1344c744a..5f8b7db0a2fa 100644 --- a/source/components/hardware/hwxfsleep.c +++ b/source/components/hardware/hwxfsleep.c @@ -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 @@ -353,8 +353,6 @@ AcpiEnterSleepStateS4bios ( return_ACPI_STATUS (Status); } - ACPI_FLUSH_CPU_CACHE (); - Status = AcpiHwWritePort (AcpiGbl_FADT.SmiCommand, (UINT32) AcpiGbl_FADT.S4BiosRequest, 8); if (ACPI_FAILURE (Status)) diff --git a/source/components/namespace/nsaccess.c b/source/components/namespace/nsaccess.c index 4286223efe4e..2b810facb035 100644 --- a/source/components/namespace/nsaccess.c +++ b/source/components/namespace/nsaccess.c @@ -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 diff --git a/source/components/namespace/nsalloc.c b/source/components/namespace/nsalloc.c index 1deb87c6b2e3..560f6f3635d9 100644 --- a/source/components/namespace/nsalloc.c +++ b/source/components/namespace/nsalloc.c @@ -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 diff --git a/source/components/namespace/nsarguments.c b/source/components/namespace/nsarguments.c index fe51156578aa..2da06f2f6103 100644 --- a/source/components/namespace/nsarguments.c +++ b/source/components/namespace/nsarguments.c @@ -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 diff --git a/source/components/namespace/nsconvert.c b/source/components/namespace/nsconvert.c index 7d68386d5f40..2971f08ecd6b 100644 --- a/source/components/namespace/nsconvert.c +++ b/source/components/namespace/nsconvert.c @@ -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 diff --git a/source/components/namespace/nsdump.c b/source/components/namespace/nsdump.c index 63a449ab6f5a..36cfbdf6b172 100644 --- a/source/components/namespace/nsdump.c +++ b/source/components/namespace/nsdump.c @@ -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 diff --git a/source/components/namespace/nsdumpdv.c b/source/components/namespace/nsdumpdv.c index 55ab899d2867..0cc9b5a5e09c 100644 --- a/source/components/namespace/nsdumpdv.c +++ b/source/components/namespace/nsdumpdv.c @@ -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 diff --git a/source/components/namespace/nseval.c b/source/components/namespace/nseval.c index 1b80202bae86..1cb07615d52f 100644 --- a/source/components/namespace/nseval.c +++ b/source/components/namespace/nseval.c @@ -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 diff --git a/source/components/namespace/nsinit.c b/source/components/namespace/nsinit.c index cc15644fc4a5..c523035f1d0a 100644 --- a/source/components/namespace/nsinit.c +++ b/source/components/namespace/nsinit.c @@ -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 diff --git a/source/components/namespace/nsload.c b/source/components/namespace/nsload.c index 0a368ab3e603..c3423e55ba01 100644 --- a/source/components/namespace/nsload.c +++ b/source/components/namespace/nsload.c @@ -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 diff --git a/source/components/namespace/nsnames.c b/source/components/namespace/nsnames.c index 4c0f6991fe1e..c8412c2edf29 100644 --- a/source/components/namespace/nsnames.c +++ b/source/components/namespace/nsnames.c @@ -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 diff --git a/source/components/namespace/nsobject.c b/source/components/namespace/nsobject.c index 529d816f4334..82d735eb186e 100644 --- a/source/components/namespace/nsobject.c +++ b/source/components/namespace/nsobject.c @@ -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 diff --git a/source/components/namespace/nsparse.c b/source/components/namespace/nsparse.c index 5f7973aa1a20..0ac5efb428b5 100644 --- a/source/components/namespace/nsparse.c +++ b/source/components/namespace/nsparse.c @@ -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 diff --git a/source/components/namespace/nspredef.c b/source/components/namespace/nspredef.c index 410eaeb0fc9c..e28d689670b9 100644 --- a/source/components/namespace/nspredef.c +++ b/source/components/namespace/nspredef.c @@ -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 diff --git a/source/components/namespace/nsprepkg.c b/source/components/namespace/nsprepkg.c index e56bcb5d16ca..e6959dacaaf2 100644 --- a/source/components/namespace/nsprepkg.c +++ b/source/components/namespace/nsprepkg.c @@ -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 diff --git a/source/components/namespace/nsrepair.c b/source/components/namespace/nsrepair.c index 24094714b56d..59f7aa33f32a 100644 --- a/source/components/namespace/nsrepair.c +++ b/source/components/namespace/nsrepair.c @@ -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 diff --git a/source/components/namespace/nsrepair2.c b/source/components/namespace/nsrepair2.c index 40f0634de8c0..bf76b7dd7ba3 100644 --- a/source/components/namespace/nsrepair2.c +++ b/source/components/namespace/nsrepair2.c @@ -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 diff --git a/source/components/namespace/nssearch.c b/source/components/namespace/nssearch.c index 408a38e68866..706963c49633 100644 --- a/source/components/namespace/nssearch.c +++ b/source/components/namespace/nssearch.c @@ -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 diff --git a/source/components/namespace/nsutils.c b/source/components/namespace/nsutils.c index 1ce7fe407e1a..f4208179bc41 100644 --- a/source/components/namespace/nsutils.c +++ b/source/components/namespace/nsutils.c @@ -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 diff --git a/source/components/namespace/nswalk.c b/source/components/namespace/nswalk.c index 50c5ed5bae55..3d0fc639f65b 100644 --- a/source/components/namespace/nswalk.c +++ b/source/components/namespace/nswalk.c @@ -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 @@ -322,6 +322,10 @@ AcpiNsWalkNamespace ( if (StartNode == ACPI_ROOT_OBJECT) { StartNode = AcpiGbl_RootNode; + if (!StartNode) + { + return_ACPI_STATUS (AE_NO_NAMESPACE); + } } /* Null child means "get first node" */ diff --git a/source/components/namespace/nsxfeval.c b/source/components/namespace/nsxfeval.c index b067f6e81936..9724d02427be 100644 --- a/source/components/namespace/nsxfeval.c +++ b/source/components/namespace/nsxfeval.c @@ -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 diff --git a/source/components/namespace/nsxfname.c b/source/components/namespace/nsxfname.c index 7a7393b61a7b..7d52330f6629 100644 --- a/source/components/namespace/nsxfname.c +++ b/source/components/namespace/nsxfname.c @@ -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 diff --git a/source/components/namespace/nsxfobj.c b/source/components/namespace/nsxfobj.c index fb08e76f6247..2aa1fc17b9cc 100644 --- a/source/components/namespace/nsxfobj.c +++ b/source/components/namespace/nsxfobj.c @@ -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 diff --git a/source/components/parser/psargs.c b/source/components/parser/psargs.c index 895feba0ace6..f510623ebbb7 100644 --- a/source/components/parser/psargs.c +++ b/source/components/parser/psargs.c @@ -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 diff --git a/source/components/parser/psloop.c b/source/components/parser/psloop.c index 478256f29bc5..2b4c1f2a8d78 100644 --- a/source/components/parser/psloop.c +++ b/source/components/parser/psloop.c @@ -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 diff --git a/source/components/parser/psobject.c b/source/components/parser/psobject.c index c0c3e9654c03..18a32ef36d3f 100644 --- a/source/components/parser/psobject.c +++ b/source/components/parser/psobject.c @@ -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 diff --git a/source/components/parser/psopcode.c b/source/components/parser/psopcode.c index 4f153303fbcd..540716af5b08 100644 --- a/source/components/parser/psopcode.c +++ b/source/components/parser/psopcode.c @@ -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 @@ -375,7 +375,7 @@ const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES] = /* 47 */ ACPI_OP ("Event", ARGP_EVENT_OP, ARGI_EVENT_OP, ACPI_TYPE_EVENT, AML_CLASS_NAMED_OBJECT, AML_TYPE_NAMED_SIMPLE, AML_NSOBJECT | AML_NSOPCODE | AML_NSNODE | AML_NAMED ), /* 48 */ ACPI_OP ("CondRefOf", ARGP_COND_REF_OF_OP, ARGI_COND_REF_OF_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R), /* 49 */ ACPI_OP ("CreateField", ARGP_CREATE_FIELD_OP, ARGI_CREATE_FIELD_OP, ACPI_TYPE_BUFFER_FIELD, AML_CLASS_CREATE, AML_TYPE_CREATE_FIELD, AML_HAS_ARGS | AML_NSOBJECT | AML_NSNODE | AML_DEFER | AML_FIELD | AML_CREATE), -/* 4A */ ACPI_OP ("Load", ARGP_LOAD_OP, ARGI_LOAD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_0R, AML_FLAGS_EXEC_1A_1T_0R), +/* 4A */ ACPI_OP ("Load", ARGP_LOAD_OP, ARGI_LOAD_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_1T_1R, AML_FLAGS_EXEC_1A_1T_1R), /* 4B */ ACPI_OP ("Stall", ARGP_STALL_OP, ARGI_STALL_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), /* 4C */ ACPI_OP ("Sleep", ARGP_SLEEP_OP, ARGI_SLEEP_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_1A_0T_0R, AML_FLAGS_EXEC_1A_0T_0R), /* 4D */ ACPI_OP ("Acquire", ARGP_ACQUIRE_OP, ARGI_ACQUIRE_OP, ACPI_TYPE_ANY, AML_CLASS_EXECUTE, AML_TYPE_EXEC_2A_0T_1R, AML_FLAGS_EXEC_2A_0T_1R), diff --git a/source/components/parser/psopinfo.c b/source/components/parser/psopinfo.c index 30447c78b182..fcb080cacab2 100644 --- a/source/components/parser/psopinfo.c +++ b/source/components/parser/psopinfo.c @@ -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 diff --git a/source/components/parser/psparse.c b/source/components/parser/psparse.c index 3b2a3c4c18b3..e0cd5915b6ad 100644 --- a/source/components/parser/psparse.c +++ b/source/components/parser/psparse.c @@ -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 diff --git a/source/components/parser/psscope.c b/source/components/parser/psscope.c index cbe575dc523e..269410a6acf7 100644 --- a/source/components/parser/psscope.c +++ b/source/components/parser/psscope.c @@ -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 diff --git a/source/components/parser/pstree.c b/source/components/parser/pstree.c index 7f92b773aca6..92f623046cf0 100644 --- a/source/components/parser/pstree.c +++ b/source/components/parser/pstree.c @@ -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 diff --git a/source/components/parser/psutils.c b/source/components/parser/psutils.c index 223f68db6dc8..a9ea353641d9 100644 --- a/source/components/parser/psutils.c +++ b/source/components/parser/psutils.c @@ -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 diff --git a/source/components/parser/pswalk.c b/source/components/parser/pswalk.c index 0d5b78ddb211..31232fd46a7b 100644 --- a/source/components/parser/pswalk.c +++ b/source/components/parser/pswalk.c @@ -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 diff --git a/source/components/parser/psxface.c b/source/components/parser/psxface.c index 102033fee81e..295da1af6988 100644 --- a/source/components/parser/psxface.c +++ b/source/components/parser/psxface.c @@ -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 diff --git a/source/components/resources/rsaddr.c b/source/components/resources/rsaddr.c index 06f8c44ae6c9..93d45ca35718 100644 --- a/source/components/resources/rsaddr.c +++ b/source/components/resources/rsaddr.c @@ -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 diff --git a/source/components/resources/rscalc.c b/source/components/resources/rscalc.c index 2e878e80f057..c966636b6afe 100644 --- a/source/components/resources/rscalc.c +++ b/source/components/resources/rscalc.c @@ -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 diff --git a/source/components/resources/rscreate.c b/source/components/resources/rscreate.c index 8443d7522e28..6c230bce0ee5 100644 --- a/source/components/resources/rscreate.c +++ b/source/components/resources/rscreate.c @@ -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 diff --git a/source/components/resources/rsdump.c b/source/components/resources/rsdump.c index 44b552ada5b4..e8f13724c90c 100644 --- a/source/components/resources/rsdump.c +++ b/source/components/resources/rsdump.c @@ -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 diff --git a/source/components/resources/rsdumpinfo.c b/source/components/resources/rsdumpinfo.c index 26f4993d5a54..83b22caa62f9 100644 --- a/source/components/resources/rsdumpinfo.c +++ b/source/components/resources/rsdumpinfo.c @@ -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 diff --git a/source/components/resources/rsinfo.c b/source/components/resources/rsinfo.c index 9687bfb44648..b9d4df46b432 100644 --- a/source/components/resources/rsinfo.c +++ b/source/components/resources/rsinfo.c @@ -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 diff --git a/source/components/resources/rsio.c b/source/components/resources/rsio.c index 4be6a7d16a90..299326232bec 100644 --- a/source/components/resources/rsio.c +++ b/source/components/resources/rsio.c @@ -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 diff --git a/source/components/resources/rsirq.c b/source/components/resources/rsirq.c index 1a44bdbe9f91..9a8fc18fc568 100644 --- a/source/components/resources/rsirq.c +++ b/source/components/resources/rsirq.c @@ -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 diff --git a/source/components/resources/rslist.c b/source/components/resources/rslist.c index 1867c0a95479..fdd24688c2d5 100644 --- a/source/components/resources/rslist.c +++ b/source/components/resources/rslist.c @@ -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 diff --git a/source/components/resources/rsmemory.c b/source/components/resources/rsmemory.c index e5562a046685..e527bad7bf0c 100644 --- a/source/components/resources/rsmemory.c +++ b/source/components/resources/rsmemory.c @@ -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 diff --git a/source/components/resources/rsmisc.c b/source/components/resources/rsmisc.c index f0f186b83583..16c52134ed8c 100644 --- a/source/components/resources/rsmisc.c +++ b/source/components/resources/rsmisc.c @@ -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 diff --git a/source/components/resources/rsserial.c b/source/components/resources/rsserial.c index d505ea949441..3075b4c47dcc 100644 --- a/source/components/resources/rsserial.c +++ b/source/components/resources/rsserial.c @@ -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 diff --git a/source/components/resources/rsutils.c b/source/components/resources/rsutils.c index 6aa2833797c1..7110406f4e9e 100644 --- a/source/components/resources/rsutils.c +++ b/source/components/resources/rsutils.c @@ -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 diff --git a/source/components/resources/rsxface.c b/source/components/resources/rsxface.c index 3f055af4a349..d3aaf1d0fd88 100644 --- a/source/components/resources/rsxface.c +++ b/source/components/resources/rsxface.c @@ -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 diff --git a/source/components/tables/tbdata.c b/source/components/tables/tbdata.c index 522234d96d3b..5e4f7ca7402e 100644 --- a/source/components/tables/tbdata.c +++ b/source/components/tables/tbdata.c @@ -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 @@ -243,14 +243,28 @@ AcpiTbInitTableDescriptor ( { /* - * Initialize the table descriptor. Set the pointer to NULL, since the - * table is not fully mapped at this time. + * Initialize the table descriptor. Set the pointer to NULL for external + * tables, since the table is not fully mapped at this time. */ memset (TableDesc, 0, sizeof (ACPI_TABLE_DESC)); TableDesc->Address = Address; TableDesc->Length = Table->Length; TableDesc->Flags = Flags; ACPI_MOVE_32_TO_32 (TableDesc->Signature.Ascii, Table->Signature); + + switch (TableDesc->Flags & ACPI_TABLE_ORIGIN_MASK) + { + case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL: + case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL: + + TableDesc->Pointer = Table; + break; + + case ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL: + default: + + break; + } } @@ -290,8 +304,7 @@ AcpiTbAcquireTable ( case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL: case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL: - Table = ACPI_CAST_PTR (ACPI_TABLE_HEADER, - ACPI_PHYSADDR_TO_PTR (TableDesc->Address)); + Table = TableDesc->Pointer; break; default: @@ -359,6 +372,8 @@ AcpiTbReleaseTable ( * PARAMETERS: TableDesc - Table descriptor to be acquired * Address - Address of the table * Flags - Allocation flags of the table + * Table - Pointer to the table (required for virtual + * origins, optional for physical) * * RETURN: Status * @@ -373,9 +388,10 @@ ACPI_STATUS AcpiTbAcquireTempTable ( ACPI_TABLE_DESC *TableDesc, ACPI_PHYSICAL_ADDRESS Address, - UINT8 Flags) + UINT8 Flags, + ACPI_TABLE_HEADER *Table) { - ACPI_TABLE_HEADER *TableHeader; + BOOLEAN MappedTable = FALSE; switch (Flags & ACPI_TABLE_ORIGIN_MASK) @@ -384,37 +400,43 @@ AcpiTbAcquireTempTable ( /* Get the length of the full table from the header */ - TableHeader = AcpiOsMapMemory (Address, sizeof (ACPI_TABLE_HEADER)); - if (!TableHeader) + if (!Table) { - return (AE_NO_MEMORY); + Table = AcpiOsMapMemory (Address, sizeof (ACPI_TABLE_HEADER)); + if (!Table) + { + return (AE_NO_MEMORY); + } + + MappedTable = TRUE; } - AcpiTbInitTableDescriptor (TableDesc, Address, Flags, TableHeader); - AcpiOsUnmapMemory (TableHeader, sizeof (ACPI_TABLE_HEADER)); - return (AE_OK); + break; case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL: case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL: - TableHeader = ACPI_CAST_PTR (ACPI_TABLE_HEADER, - ACPI_PHYSADDR_TO_PTR (Address)); - if (!TableHeader) + if (!Table) { - return (AE_NO_MEMORY); + return (AE_BAD_PARAMETER); } - AcpiTbInitTableDescriptor (TableDesc, Address, Flags, TableHeader); - return (AE_OK); + break; default: - break; + /* Table is not valid yet */ + + return (AE_NO_MEMORY); } - /* Table is not valid yet */ + AcpiTbInitTableDescriptor (TableDesc, Address, Flags, Table); + if (MappedTable) + { + AcpiOsUnmapMemory (Table, sizeof (ACPI_TABLE_HEADER)); + } - return (AE_NO_MEMORY); + return (AE_OK); } @@ -513,7 +535,20 @@ AcpiTbInvalidateTable ( AcpiTbReleaseTable (TableDesc->Pointer, TableDesc->Length, TableDesc->Flags); - TableDesc->Pointer = NULL; + + switch (TableDesc->Flags & ACPI_TABLE_ORIGIN_MASK) + { + case ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL: + + TableDesc->Pointer = NULL; + break; + + case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL: + case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL: + default: + + break; + } return_VOID; } @@ -1219,6 +1254,9 @@ AcpiTbLoadTable ( * * PARAMETERS: Address - Physical address of the table * Flags - Allocation flags of the table + * Table - Pointer to the table (required for + * virtual origins, optional for + * physical) * Override - Whether override should be performed * TableIndex - Where table index is returned * @@ -1232,6 +1270,7 @@ ACPI_STATUS AcpiTbInstallAndLoadTable ( ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, + ACPI_TABLE_HEADER *Table, BOOLEAN Override, UINT32 *TableIndex) { @@ -1244,7 +1283,7 @@ AcpiTbInstallAndLoadTable ( /* Install the table and load it into the namespace */ - Status = AcpiTbInstallStandardTable (Address, Flags, TRUE, + Status = AcpiTbInstallStandardTable (Address, Flags, Table, TRUE, Override, &i); if (ACPI_FAILURE (Status)) { diff --git a/source/components/tables/tbfadt.c b/source/components/tables/tbfadt.c index 8196e7afbaa2..7ae35f19017a 100644 --- a/source/components/tables/tbfadt.c +++ b/source/components/tables/tbfadt.c @@ -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 @@ -486,7 +486,7 @@ AcpiTbParseFadt ( AcpiTbInstallStandardTable ( (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.XDsdt, - ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, FALSE, TRUE, + ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, NULL, FALSE, TRUE, &AcpiGbl_DsdtIndex); /* If Hardware Reduced flag is set, there is no FACS */ @@ -497,14 +497,14 @@ AcpiTbParseFadt ( { AcpiTbInstallStandardTable ( (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.Facs, - ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, FALSE, TRUE, + ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, NULL, FALSE, TRUE, &AcpiGbl_FacsIndex); } if (AcpiGbl_FADT.XFacs) { AcpiTbInstallStandardTable ( (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.XFacs, - ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, FALSE, TRUE, + ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, NULL, FALSE, TRUE, &AcpiGbl_XFacsIndex); } } diff --git a/source/components/tables/tbfind.c b/source/components/tables/tbfind.c index 1bc21b3e0164..81ed2d97a66e 100644 --- a/source/components/tables/tbfind.c +++ b/source/components/tables/tbfind.c @@ -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 diff --git a/source/components/tables/tbinstal.c b/source/components/tables/tbinstal.c index dcbb2a745b45..9253bd1db0a3 100644 --- a/source/components/tables/tbinstal.c +++ b/source/components/tables/tbinstal.c @@ -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 @@ -227,6 +227,8 @@ AcpiTbInstallTableWithOverride ( * PARAMETERS: Address - Address of the table (might be a virtual * address depending on the TableFlags) * Flags - Flags for the table + * Table - Pointer to the table (required for virtual + * origins, optional for physical) * Reload - Whether reload should be performed * Override - Whether override should be performed * TableIndex - Where the table index is returned @@ -245,6 +247,7 @@ ACPI_STATUS AcpiTbInstallStandardTable ( ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, + ACPI_TABLE_HEADER *Table, BOOLEAN Reload, BOOLEAN Override, UINT32 *TableIndex) @@ -259,7 +262,7 @@ AcpiTbInstallStandardTable ( /* Acquire a temporary table descriptor for validation */ - Status = AcpiTbAcquireTempTable (&NewTableDesc, Address, Flags); + Status = AcpiTbAcquireTempTable (&NewTableDesc, Address, Flags, Table); if (ACPI_FAILURE (Status)) { ACPI_ERROR ((AE_INFO, @@ -369,7 +372,7 @@ AcpiTbOverrideTable ( if (ACPI_SUCCESS (Status) && Table) { AcpiTbAcquireTempTable (&NewTableDesc, ACPI_PTR_TO_PHYSADDR (Table), - ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL); + ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, Table); ACPI_ERROR_ONLY (OverrideType = "Logical"); goto FinishOverride; } @@ -381,7 +384,7 @@ AcpiTbOverrideTable ( if (ACPI_SUCCESS (Status) && Address && Length) { AcpiTbAcquireTempTable (&NewTableDesc, Address, - ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL); + ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, NULL); ACPI_ERROR_ONLY (OverrideType = "Physical"); goto FinishOverride; } @@ -457,7 +460,8 @@ AcpiTbUninstallTable ( if ((TableDesc->Flags & ACPI_TABLE_ORIGIN_MASK) == ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL) { - ACPI_FREE (ACPI_PHYSADDR_TO_PTR (TableDesc->Address)); + ACPI_FREE (TableDesc->Pointer); + TableDesc->Pointer = NULL; } TableDesc->Address = ACPI_PTR_TO_PHYSADDR (NULL); diff --git a/source/components/tables/tbprint.c b/source/components/tables/tbprint.c index 392ff95a2e0f..0b53e73730a9 100644 --- a/source/components/tables/tbprint.c +++ b/source/components/tables/tbprint.c @@ -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 @@ -261,7 +261,8 @@ AcpiTbPrintTableHeader ( Header->Signature, ACPI_FORMAT_UINT64 (Address), Header->Length)); } - else if (ACPI_VALIDATE_RSDP_SIG (Header->Signature)) + else if (ACPI_VALIDATE_RSDP_SIG (ACPI_CAST_PTR (ACPI_TABLE_RSDP, + Header)->Signature)) { /* RSDP has no common fields */ diff --git a/source/components/tables/tbutils.c b/source/components/tables/tbutils.c index 6316f258c3fa..d2a30dc383dc 100644 --- a/source/components/tables/tbutils.c +++ b/source/components/tables/tbutils.c @@ -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 @@ -500,7 +500,8 @@ AcpiTbParseRootTable ( } Status = AcpiTbInstallStandardTable (Address, - ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, FALSE, TRUE, &TableIndex); + ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, NULL, FALSE, TRUE, + &TableIndex); if (ACPI_SUCCESS (Status) && ACPI_COMPARE_NAMESEG ( diff --git a/source/components/tables/tbxface.c b/source/components/tables/tbxface.c index d861d9e6aa2e..919ad13813d6 100644 --- a/source/components/tables/tbxface.c +++ b/source/components/tables/tbxface.c @@ -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 diff --git a/source/components/tables/tbxfload.c b/source/components/tables/tbxfload.c index 046487ba36ee..ddd9b795e50a 100644 --- a/source/components/tables/tbxfload.c +++ b/source/components/tables/tbxfload.c @@ -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 @@ -396,9 +396,7 @@ UnlockAndExit: * * FUNCTION: AcpiInstallTable * - * PARAMETERS: Address - Address of the ACPI table to be installed. - * Physical - Whether the address is a physical table - * address or not + * PARAMETERS: Table - Pointer to the ACPI table to be installed. * * RETURN: Status * @@ -410,28 +408,17 @@ UnlockAndExit: ACPI_STATUS ACPI_INIT_FUNCTION AcpiInstallTable ( - ACPI_PHYSICAL_ADDRESS Address, - BOOLEAN Physical) + ACPI_TABLE_HEADER *Table) { ACPI_STATUS Status; - UINT8 Flags; UINT32 TableIndex; ACPI_FUNCTION_TRACE (AcpiInstallTable); - if (Physical) - { - Flags = ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL; - } - else - { - Flags = ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL; - } - - Status = AcpiTbInstallStandardTable (Address, Flags, - FALSE, FALSE, &TableIndex); + Status = AcpiTbInstallStandardTable (ACPI_PTR_TO_PHYSADDR (Table), + ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, Table, FALSE, FALSE, &TableIndex); return_ACPI_STATUS (Status); } @@ -441,6 +428,40 @@ ACPI_EXPORT_SYMBOL_INIT (AcpiInstallTable) /******************************************************************************* * + * FUNCTION: AcpiInstallPhysicalTable + * + * PARAMETERS: Address - Address of the ACPI table to be installed. + * + * RETURN: Status + * + * DESCRIPTION: Dynamically install an ACPI table. + * Note: This function should only be invoked after + * AcpiInitializeTables() and before AcpiLoadTables(). + * + ******************************************************************************/ + +ACPI_STATUS ACPI_INIT_FUNCTION +AcpiInstallPhysicalTable ( + ACPI_PHYSICAL_ADDRESS Address) +{ + ACPI_STATUS Status; + UINT32 TableIndex; + + + ACPI_FUNCTION_TRACE (AcpiInstallPhysicalTable); + + + Status = AcpiTbInstallStandardTable (Address, + ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, NULL, FALSE, FALSE, &TableIndex); + + return_ACPI_STATUS (Status); +} + +ACPI_EXPORT_SYMBOL_INIT (AcpiInstallPhysicalTable) + + +/******************************************************************************* + * * FUNCTION: AcpiLoadTable * * PARAMETERS: Table - Pointer to a buffer containing the ACPI @@ -481,7 +502,7 @@ AcpiLoadTable ( ACPI_INFO (("Host-directed Dynamic ACPI Table Load:")); Status = AcpiTbInstallAndLoadTable (ACPI_PTR_TO_PHYSADDR (Table), - ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, FALSE, &TableIndex); + ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, Table, FALSE, &TableIndex); if (TableIdx) { *TableIdx = TableIndex; diff --git a/source/components/tables/tbxfroot.c b/source/components/tables/tbxfroot.c index ed33c9b67acf..bb90f6059647 100644 --- a/source/components/tables/tbxfroot.c +++ b/source/components/tables/tbxfroot.c @@ -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 diff --git a/source/components/utilities/utaddress.c b/source/components/utilities/utaddress.c index 92039cfa0f64..5aa12832bd41 100644 --- a/source/components/utilities/utaddress.c +++ b/source/components/utilities/utaddress.c @@ -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 diff --git a/source/components/utilities/utalloc.c b/source/components/utilities/utalloc.c index 276a531917b1..aa06339cb8c7 100644 --- a/source/components/utilities/utalloc.c +++ b/source/components/utilities/utalloc.c @@ -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 diff --git a/source/components/utilities/utascii.c b/source/components/utilities/utascii.c index a375e44d058d..db2389024d02 100644 --- a/source/components/utilities/utascii.c +++ b/source/components/utilities/utascii.c @@ -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 diff --git a/source/components/utilities/utbuffer.c b/source/components/utilities/utbuffer.c index 214ff20bfb72..2cf097bf5ceb 100644 --- a/source/components/utilities/utbuffer.c +++ b/source/components/utilities/utbuffer.c @@ -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 diff --git a/source/components/utilities/utcache.c b/source/components/utilities/utcache.c index 4e5de96f27b1..2ff1540c1662 100644 --- a/source/components/utilities/utcache.c +++ b/source/components/utilities/utcache.c @@ -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 diff --git a/source/components/utilities/utclib.c b/source/components/utilities/utclib.c index 1c19a11d3a85..42f8d171401c 100644 --- a/source/components/utilities/utclib.c +++ b/source/components/utilities/utclib.c @@ -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 diff --git a/source/components/utilities/utcopy.c b/source/components/utilities/utcopy.c index 329416480a38..e725d55b5ef2 100644 --- a/source/components/utilities/utcopy.c +++ b/source/components/utilities/utcopy.c @@ -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 diff --git a/source/components/utilities/utdebug.c b/source/components/utilities/utdebug.c index 6d8ab27baa4d..f789e686da20 100644 --- a/source/components/utilities/utdebug.c +++ b/source/components/utilities/utdebug.c @@ -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 diff --git a/source/components/utilities/utdecode.c b/source/components/utilities/utdecode.c index 11818b4f8c36..2a49cbd8d83c 100644 --- a/source/components/utilities/utdecode.c +++ b/source/components/utilities/utdecode.c @@ -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 diff --git a/source/components/utilities/utdelete.c b/source/components/utilities/utdelete.c index 624aa6870809..b36c4bb3a77a 100644 --- a/source/components/utilities/utdelete.c +++ b/source/components/utilities/utdelete.c @@ -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 @@ -594,6 +594,7 @@ AcpiUtUpdateRefCount ( ACPI_WARNING ((AE_INFO, "Obj %p, Reference Count is already zero, cannot decrement\n", Object)); + return; } ACPI_DEBUG_PRINT_RAW ((ACPI_DB_ALLOCATIONS, diff --git a/source/components/utilities/uterror.c b/source/components/utilities/uterror.c index 51ce8d59090a..2aee4d54f9c4 100644 --- a/source/components/utilities/uterror.c +++ b/source/components/utilities/uterror.c @@ -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 diff --git a/source/components/utilities/uteval.c b/source/components/utilities/uteval.c index 9e30ee8d9ef4..f4ccea68bd9c 100644 --- a/source/components/utilities/uteval.c +++ b/source/components/utilities/uteval.c @@ -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 diff --git a/source/components/utilities/utexcep.c b/source/components/utilities/utexcep.c index 4e7e3f55443a..279d33fcde5d 100644 --- a/source/components/utilities/utexcep.c +++ b/source/components/utilities/utexcep.c @@ -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 diff --git a/source/components/utilities/utglobal.c b/source/components/utilities/utglobal.c index 65189ff2de12..7de4a9c31bc7 100644 --- a/source/components/utilities/utglobal.c +++ b/source/components/utilities/utglobal.c @@ -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 diff --git a/source/components/utilities/uthex.c b/source/components/utilities/uthex.c index 5cbc8fa6d6b0..c64d3def8839 100644 --- a/source/components/utilities/uthex.c +++ b/source/components/utilities/uthex.c @@ -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 diff --git a/source/components/utilities/utids.c b/source/components/utilities/utids.c index 4ef4fccaaca8..498338a10b68 100644 --- a/source/components/utilities/utids.c +++ b/source/components/utilities/utids.c @@ -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 diff --git a/source/components/utilities/utinit.c b/source/components/utilities/utinit.c index 27f1e37b835d..0f2cf48907a9 100644 --- a/source/components/utilities/utinit.c +++ b/source/components/utilities/utinit.c @@ -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 diff --git a/source/components/utilities/utlock.c b/source/components/utilities/utlock.c index a1501189d070..9357279b3653 100644 --- a/source/components/utilities/utlock.c +++ b/source/components/utilities/utlock.c @@ -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 diff --git a/source/components/utilities/utmath.c b/source/components/utilities/utmath.c index 2580cb6e931d..b534bb3e070b 100644 --- a/source/components/utilities/utmath.c +++ b/source/components/utilities/utmath.c @@ -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 diff --git a/source/components/utilities/utmisc.c b/source/components/utilities/utmisc.c index f2db74e8f361..1efe0afc99bf 100644 --- a/source/components/utilities/utmisc.c +++ b/source/components/utilities/utmisc.c @@ -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 diff --git a/source/components/utilities/utmutex.c b/source/components/utilities/utmutex.c index b723f5b27de6..1f1c1d82d055 100644 --- a/source/components/utilities/utmutex.c +++ b/source/components/utilities/utmutex.c @@ -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 diff --git a/source/components/utilities/utnonansi.c b/source/components/utilities/utnonansi.c index cf3763bc1d2e..e3c2f460d869 100644 --- a/source/components/utilities/utnonansi.c +++ b/source/components/utilities/utnonansi.c @@ -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 diff --git a/source/components/utilities/utobject.c b/source/components/utilities/utobject.c index 8b3dcd5f2129..52e02beb9596 100644 --- a/source/components/utilities/utobject.c +++ b/source/components/utilities/utobject.c @@ -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 diff --git a/source/components/utilities/utosi.c b/source/components/utilities/utosi.c index 756ca35c35b1..700f30a686d3 100644 --- a/source/components/utilities/utosi.c +++ b/source/components/utilities/utosi.c @@ -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 @@ -221,6 +221,7 @@ static ACPI_INTERFACE_INFO AcpiDefaultSupportedInterfaces[] = {"Windows 2018.2", NULL, 0, ACPI_OSI_WIN_10_RS5}, /* Windows 10 version 1809 - Added 11/2018 */ {"Windows 2019", NULL, 0, ACPI_OSI_WIN_10_19H1}, /* Windows 10 version 1903 - Added 08/2019 */ {"Windows 2020", NULL, 0, ACPI_OSI_WIN_10_20H1}, /* Windows 10 version 2004 - Added 08/2021 */ + {"Windows 2021", NULL, 0, ACPI_OSI_WIN_11}, /* Windows 11 - Added 01/2022 */ /* Feature Group Strings */ diff --git a/source/components/utilities/utownerid.c b/source/components/utilities/utownerid.c index 2bea3e578862..30ba6b7500a7 100644 --- a/source/components/utilities/utownerid.c +++ b/source/components/utilities/utownerid.c @@ -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 diff --git a/source/components/utilities/utpredef.c b/source/components/utilities/utpredef.c index c9a830c2c5dd..7f97ee7c4e10 100644 --- a/source/components/utilities/utpredef.c +++ b/source/components/utilities/utpredef.c @@ -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 diff --git a/source/components/utilities/utprint.c b/source/components/utilities/utprint.c index 96a9ea5d7c28..4d9252ac5a87 100644 --- a/source/components/utilities/utprint.c +++ b/source/components/utilities/utprint.c @@ -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 diff --git a/source/components/utilities/utresdecode.c b/source/components/utilities/utresdecode.c index 561240f06724..12ab687588cc 100644 --- a/source/components/utilities/utresdecode.c +++ b/source/components/utilities/utresdecode.c @@ -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 diff --git a/source/components/utilities/utresrc.c b/source/components/utilities/utresrc.c index 70e5119e807f..26c382d879a9 100644 --- a/source/components/utilities/utresrc.c +++ b/source/components/utilities/utresrc.c @@ -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 diff --git a/source/components/utilities/utstate.c b/source/components/utilities/utstate.c index ac85c00203b8..f089ffeaa66b 100644 --- a/source/components/utilities/utstate.c +++ b/source/components/utilities/utstate.c @@ -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 diff --git a/source/components/utilities/utstring.c b/source/components/utilities/utstring.c index 5218ebab207b..5af4c4d3624d 100644 --- a/source/components/utilities/utstring.c +++ b/source/components/utilities/utstring.c @@ -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 diff --git a/source/components/utilities/utstrsuppt.c b/source/components/utilities/utstrsuppt.c index f2a02eabb2ab..0487a4f63fdc 100644 --- a/source/components/utilities/utstrsuppt.c +++ b/source/components/utilities/utstrsuppt.c @@ -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 diff --git a/source/components/utilities/utstrtoul64.c b/source/components/utilities/utstrtoul64.c index 6a121c730256..1ef50eac07cf 100644 --- a/source/components/utilities/utstrtoul64.c +++ b/source/components/utilities/utstrtoul64.c @@ -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 diff --git a/source/components/utilities/uttrack.c b/source/components/utilities/uttrack.c index b7928b155c75..7791fe9b7f73 100644 --- a/source/components/utilities/uttrack.c +++ b/source/components/utilities/uttrack.c @@ -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 diff --git a/source/components/utilities/utuuid.c b/source/components/utilities/utuuid.c index 299353ccea87..8fd85d62960e 100644 --- a/source/components/utilities/utuuid.c +++ b/source/components/utilities/utuuid.c @@ -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 diff --git a/source/components/utilities/utxface.c b/source/components/utilities/utxface.c index 227d18cae9a1..74a8ff485bc5 100644 --- a/source/components/utilities/utxface.c +++ b/source/components/utilities/utxface.c @@ -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 diff --git a/source/components/utilities/utxferror.c b/source/components/utilities/utxferror.c index 0c6b1c769661..77701dfec99a 100644 --- a/source/components/utilities/utxferror.c +++ b/source/components/utilities/utxferror.c @@ -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 diff --git a/source/components/utilities/utxfinit.c b/source/components/utilities/utxfinit.c index 15756cb76655..865fe9d2dee8 100644 --- a/source/components/utilities/utxfinit.c +++ b/source/components/utilities/utxfinit.c @@ -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 diff --git a/source/components/utilities/utxfmutex.c b/source/components/utilities/utxfmutex.c index 68472b7fb376..2e77fc95ab65 100644 --- a/source/components/utilities/utxfmutex.c +++ b/source/components/utilities/utxfmutex.c @@ -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 diff --git a/source/include/acapps.h b/source/include/acapps.h index 3f1833c5f996..382ab1700b34 100644 --- a/source/include/acapps.h +++ b/source/include/acapps.h @@ -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 @@ -159,7 +159,7 @@ /* Common info for tool signons */ #define ACPICA_NAME "Intel ACPI Component Architecture" -#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2021 Intel Corporation" +#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2022 Intel Corporation" #if ACPI_MACHINE_WIDTH == 64 #define ACPI_WIDTH " (64-bit version)" diff --git a/source/include/acbuffer.h b/source/include/acbuffer.h index 1576afa6ff95..0739feb52817 100644 --- a/source/include/acbuffer.h +++ b/source/include/acbuffer.h @@ -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 diff --git a/source/include/acclib.h b/source/include/acclib.h index c91b1edf1af5..75c48119cab7 100644 --- a/source/include/acclib.h +++ b/source/include/acclib.h @@ -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 diff --git a/source/include/accommon.h b/source/include/accommon.h index 4ef3f5bc1604..210035cd4961 100644 --- a/source/include/accommon.h +++ b/source/include/accommon.h @@ -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 diff --git a/source/include/acconfig.h b/source/include/acconfig.h index a580852698ab..8ba7dc28473a 100644 --- a/source/include/acconfig.h +++ b/source/include/acconfig.h @@ -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 diff --git a/source/include/acconvert.h b/source/include/acconvert.h index b654b18b4dc5..048fd53e4de2 100644 --- a/source/include/acconvert.h +++ b/source/include/acconvert.h @@ -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 diff --git a/source/include/acdebug.h b/source/include/acdebug.h index 434745d1458c..6716a094d4ad 100644 --- a/source/include/acdebug.h +++ b/source/include/acdebug.h @@ -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 diff --git a/source/include/acdisasm.h b/source/include/acdisasm.h index 6e162d6a4c86..352417cbb69a 100644 --- a/source/include/acdisasm.h +++ b/source/include/acdisasm.h @@ -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 @@ -206,6 +206,7 @@ typedef enum ACPI_DMT_FLAGS0, ACPI_DMT_FLAGS1, ACPI_DMT_FLAGS2, + ACPI_DMT_FLAGS8_2, ACPI_DMT_FLAGS4, ACPI_DMT_FLAGS4_0, ACPI_DMT_FLAGS4_4, @@ -257,6 +258,7 @@ typedef enum ACPI_DMT_AEST_RES, ACPI_DMT_AEST_XFACE, ACPI_DMT_AEST_XRUPT, + ACPI_DMT_AGDI, ACPI_DMT_ASF, ACPI_DMT_CEDT, ACPI_DMT_DMAR, @@ -280,6 +282,11 @@ typedef enum ACPI_DMT_NFIT, ACPI_DMT_NHLT1, ACPI_DMT_NHLT1a, + ACPI_DMT_NHLT1b, + ACPI_DMT_NHLT1c, + ACPI_DMT_NHLT1d, + ACPI_DMT_NHLT1e, + ACPI_DMT_NHLT1f, ACPI_DMT_PCCT, ACPI_DMT_PHAT, ACPI_DMT_PMTT, @@ -381,6 +388,8 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAgdi[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoApmtNode[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; @@ -395,6 +404,8 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedtHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt0[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1_te[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[]; @@ -416,6 +427,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar5[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[]; @@ -522,6 +534,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; @@ -559,9 +572,12 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5b[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5c[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6a[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt6b[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt8[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt7b[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt9[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhatHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0a[]; @@ -635,6 +651,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoTdel[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[]; @@ -723,6 +740,10 @@ AcpiDmDumpAest ( ACPI_TABLE_HEADER *Table); void +AcpiDmDumpApmt ( + ACPI_TABLE_HEADER *Table); + +void AcpiDmDumpAsf ( ACPI_TABLE_HEADER *Table); @@ -883,6 +904,10 @@ AcpiDmDumpTcpa ( ACPI_TABLE_HEADER *Table); void +AcpiDmDumpTdel ( + ACPI_TABLE_HEADER *Table); + +void AcpiDmDumpTpm2 ( ACPI_TABLE_HEADER *Table); diff --git a/source/include/acdispat.h b/source/include/acdispat.h index 2047779ff4d8..2c44c9f19613 100644 --- a/source/include/acdispat.h +++ b/source/include/acdispat.h @@ -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 diff --git a/source/include/acevents.h b/source/include/acevents.h index 77475ac98a20..f8c5d77699a0 100644 --- a/source/include/acevents.h +++ b/source/include/acevents.h @@ -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 @@ -458,6 +458,13 @@ AcpiEvPciBarRegionSetup ( void **RegionContext); ACPI_STATUS +AcpiEvDataTableRegionSetup ( + ACPI_HANDLE Handle, + UINT32 Function, + void *HandlerContext, + void **RegionContext); + +ACPI_STATUS AcpiEvDefaultRegionSetup ( ACPI_HANDLE Handle, UINT32 Function, diff --git a/source/include/acexcep.h b/source/include/acexcep.h index 6312602e9251..92e949722940 100644 --- a/source/include/acexcep.h +++ b/source/include/acexcep.h @@ -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 diff --git a/source/include/acglobal.h b/source/include/acglobal.h index 354268655220..b8831b467232 100644 --- a/source/include/acglobal.h +++ b/source/include/acglobal.h @@ -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 diff --git a/source/include/achware.h b/source/include/achware.h index 994e9767a2ee..256008c74c7a 100644 --- a/source/include/achware.h +++ b/source/include/achware.h @@ -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 diff --git a/source/include/acinterp.h b/source/include/acinterp.h index c6e27cc21e3c..d9cec3455d7b 100644 --- a/source/include/acinterp.h +++ b/source/include/acinterp.h @@ -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 diff --git a/source/include/aclocal.h b/source/include/aclocal.h index e4f46b8877b3..74eb6e27f08c 100644 --- a/source/include/aclocal.h +++ b/source/include/aclocal.h @@ -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 diff --git a/source/include/acmacros.h b/source/include/acmacros.h index a7a79fc80e31..11fd47cc3cab 100644 --- a/source/include/acmacros.h +++ b/source/include/acmacros.h @@ -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 diff --git a/source/include/acnames.h b/source/include/acnames.h index 9075ca740116..846d192b229d 100644 --- a/source/include/acnames.h +++ b/source/include/acnames.h @@ -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 diff --git a/source/include/acnamesp.h b/source/include/acnamesp.h index 2edd99d79e11..7b8d069d6b26 100644 --- a/source/include/acnamesp.h +++ b/source/include/acnamesp.h @@ -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 diff --git a/source/include/acobject.h b/source/include/acobject.h index e7d9f1c9bb61..b2c9dd9b7a0f 100644 --- a/source/include/acobject.h +++ b/source/include/acobject.h @@ -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 @@ -313,6 +313,7 @@ typedef struct acpi_object_region union acpi_operand_object *Next; ACPI_PHYSICAL_ADDRESS Address; UINT32 Length; + void *Pointer; /* Only for data table regions */ } ACPI_OBJECT_REGION; diff --git a/source/include/acopcode.h b/source/include/acopcode.h index 91cce057b1ea..7e54a47f7063 100644 --- a/source/include/acopcode.h +++ b/source/include/acopcode.h @@ -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 diff --git a/source/include/acoutput.h b/source/include/acoutput.h index b72c9a949620..cd3d26d52a22 100644 --- a/source/include/acoutput.h +++ b/source/include/acoutput.h @@ -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 diff --git a/source/include/acparser.h b/source/include/acparser.h index 94674d8cbe68..4437d612ea63 100644 --- a/source/include/acparser.h +++ b/source/include/acparser.h @@ -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 diff --git a/source/include/acpi.h b/source/include/acpi.h index 0a50a44340ff..081e3b7d2ea7 100644 --- a/source/include/acpi.h +++ b/source/include/acpi.h @@ -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 diff --git a/source/include/acpiosxf.h b/source/include/acpiosxf.h index af90cb9ce49f..67c110136a54 100644 --- a/source/include/acpiosxf.h +++ b/source/include/acpiosxf.h @@ -10,7 +10,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 diff --git a/source/include/acpixf.h b/source/include/acpixf.h index 7f4b31ee45a8..f62c16cbd40e 100644 --- a/source/include/acpixf.h +++ b/source/include/acpixf.h @@ -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 @@ -154,7 +154,7 @@ /* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20210930 +#define ACPI_CA_VERSION 0x20220331 #include "acconfig.h" #include "actypes.h" @@ -658,8 +658,12 @@ AcpiDecodePldBuffer ( ACPI_EXTERNAL_RETURN_STATUS ( ACPI_STATUS ACPI_INIT_FUNCTION AcpiInstallTable ( - ACPI_PHYSICAL_ADDRESS Address, - BOOLEAN Physical)) + ACPI_TABLE_HEADER *Table)) + +ACPI_EXTERNAL_RETURN_STATUS ( +ACPI_STATUS ACPI_INIT_FUNCTION +AcpiInstallPhysicalTable ( + ACPI_PHYSICAL_ADDRESS Address)) ACPI_EXTERNAL_RETURN_STATUS ( ACPI_STATUS diff --git a/source/include/acpredef.h b/source/include/acpredef.h index bc55155cfa99..9ad8c0ffcc38 100644 --- a/source/include/acpredef.h +++ b/source/include/acpredef.h @@ -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 diff --git a/source/include/acresrc.h b/source/include/acresrc.h index 816d4fa4383f..8214ed835c5b 100644 --- a/source/include/acresrc.h +++ b/source/include/acresrc.h @@ -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 diff --git a/source/include/acrestyp.h b/source/include/acrestyp.h index 3c258de9de32..f045c2000b71 100644 --- a/source/include/acrestyp.h +++ b/source/include/acrestyp.h @@ -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 diff --git a/source/include/acstruct.h b/source/include/acstruct.h index c07a319d4027..d50c7a1b6468 100644 --- a/source/include/acstruct.h +++ b/source/include/acstruct.h @@ -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 diff --git a/source/include/actables.h b/source/include/actables.h index 038085c8761f..40b79a47c219 100644 --- a/source/include/actables.h +++ b/source/include/actables.h @@ -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 @@ ACPI_STATUS AcpiTbAcquireTempTable ( ACPI_TABLE_DESC *TableDesc, ACPI_PHYSICAL_ADDRESS Address, - UINT8 Flags); + UINT8 Flags, + ACPI_TABLE_HEADER *Table); void AcpiTbReleaseTempTable ( @@ -279,6 +280,7 @@ ACPI_STATUS AcpiTbInstallStandardTable ( ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, + ACPI_TABLE_HEADER *Table, BOOLEAN Reload, BOOLEAN Override, UINT32 *TableIndex); @@ -296,6 +298,7 @@ ACPI_STATUS AcpiTbInstallAndLoadTable ( ACPI_PHYSICAL_ADDRESS Address, UINT8 Flags, + ACPI_TABLE_HEADER *Table, BOOLEAN Override, UINT32 *TableIndex); diff --git a/source/include/actbinfo.h b/source/include/actbinfo.h index 8a9ff736c9da..633f7349b390 100644 --- a/source/include/actbinfo.h +++ b/source/include/actbinfo.h @@ -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 @@ -152,6 +152,7 @@ /* * Macros used to generate offsets to specific table fields */ +#define ACPI_AGDI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_AGDI,f) #define ACPI_FACS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_FACS,f) #define ACPI_GAS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,f) #define ACPI_HDR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f) @@ -197,6 +198,7 @@ #define ACPI_STAO_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_STAO,f) #define ACPI_SVKL_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SVKL,f) #define ACPI_TCPA_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_HDR,f) +#define ACPI_TDEL_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TDEL,f) #define ACPI_TPM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TPM2,f) #define ACPI_TPM23_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TPM23,f) #define ACPI_UEFI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_UEFI,f) @@ -223,6 +225,7 @@ #define ACPI_AEST4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_GIC,f) #define ACPI_AEST0D_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERFACE,f) #define ACPI_AEST0E_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERRUPT,f) +#define ACPI_APMTN_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_APMT_NODE,f) #define ACPI_ASF0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_INFO,f) #define ACPI_ASF1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT,f) #define ACPI_ASF1a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT_DATA,f) @@ -232,6 +235,8 @@ #define ACPI_ASF4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f) #define ACPI_CEDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_HEADER, f) #define ACPI_CEDT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_CHBS, f) +#define ACPI_CEDT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_CFMWS, f) +#define ACPI_CEDT1_TE_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_CFMWS_TARGET_ELEMENT, f) #define ACPI_CPEP0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CPEP_POLLING,f) #define ACPI_CSRT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_GROUP,f) #define ACPI_CSRT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_SHARED_INFO,f) @@ -243,6 +248,7 @@ #define ACPI_DMAR2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_ATSR,f) #define ACPI_DMAR3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_RHSA,f) #define ACPI_DMAR4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_ANDD,f) +#define ACPI_DMAR5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_SATC,f) #define ACPI_DRTM0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DRTM_VTABLE_LIST,f) #define ACPI_DRTM1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DRTM_RESOURCE_LIST,f) #define ACPI_DRTM1a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DRTM_RESOURCE,f) @@ -312,6 +318,7 @@ #define ACPI_MADT14_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_REDISTRIBUTOR,f) #define ACPI_MADT15_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_TRANSLATOR,f) #define ACPI_MADT16_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_MULTIPROC_WAKEUP,f) +#define ACPI_MADT17_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f) #define ACPI_MADTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) #define ACPI_MCFG0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f) #define ACPI_MPST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f) @@ -339,9 +346,11 @@ #define ACPI_NHLT5B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B,f) #define ACPI_NHLT5C_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_C,f) #define ACPI_NHLT6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_VENDOR_MIC_CONFIG,f) -#define ACPI_NHLT7_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_LINUX_SPECIFIC_COUNT,f) -#define ACPI_NHLT7A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_LINUX_SPECIFIC_DATA,f) -#define ACPI_NHLT8_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_TABLE_TERMINATOR,f) +#define ACPI_NHLT6A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_VENDOR_MIC_COUNT,f) +#define ACPI_NHLT6B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_RENDER_FEEDBACK_DEVICE_SPECIFIC_CONFIG,f) +#define ACPI_NHLT7_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_DEVICE_INFO_COUNT,f) +#define ACPI_NHLT7A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_DEVICE_INFO,f) +#define ACPI_NHLT9_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NHLT_MIC_SNR_SENSITIVITY_EXTENSION,f) #define ACPI_PCCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_SUBSPACE,f) #define ACPI_PCCT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED,f) #define ACPI_PCCT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED_TYPE2,f) @@ -408,6 +417,8 @@ #define ACPI_AEST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_PROCESSOR,f,o) #define ACPI_AEST0D_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERFACE,f,o) #define ACPI_AEST0E_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERRUPT,f,o) +#define ACPI_AGDI_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_AGDI,f,o) +#define ACPI_APMTN_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_APMT_NODE,f,o) #define ACPI_BGRT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_BGRT,f,o) #define ACPI_DRTM_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_DRTM,f,o) #define ACPI_DRTM1a_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_DRTM_RESOURCE,f,o) diff --git a/source/include/actbl.h b/source/include/actbl.h index f70f1b5909ed..f23080fb4f80 100644 --- a/source/include/actbl.h +++ b/source/include/actbl.h @@ -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 diff --git a/source/include/actbl1.h b/source/include/actbl1.h index 09e68293ada2..3de78b0d8f01 100644 --- a/source/include/actbl1.h +++ b/source/include/actbl1.h @@ -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 @@ -574,17 +574,23 @@ typedef struct acpi_cedt_cfmws } ACPI_CEDT_CFMWS; +typedef struct acpi_cedt_cfmws_target_element +{ + UINT32 InterleaveTarget; + +} ACPI_CEDT_CFMWS_TARGET_ELEMENT; + /* Values for Interleave Arithmetic field above */ -#define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO (0) +#define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO (0) /* Values for Restrictions field above */ -#define ACPI_CEDT_CFMWS_RESTRICT_TYPE2 (1) -#define ACPI_CEDT_CFMWS_RESTRICT_TYPE3 (1<<1) -#define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE (1<<2) -#define ACPI_CEDT_CFMWS_RESTRICT_PMEM (1<<3) -#define ACPI_CEDT_CFMWS_RESTRICT_FIXED (1<<4) +#define ACPI_CEDT_CFMWS_RESTRICT_TYPE2 (1) +#define ACPI_CEDT_CFMWS_RESTRICT_TYPE3 (1<<1) +#define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE (1<<2) +#define ACPI_CEDT_CFMWS_RESTRICT_PMEM (1<<3) +#define ACPI_CEDT_CFMWS_RESTRICT_FIXED (1<<4) /******************************************************************************* @@ -847,7 +853,8 @@ enum AcpiDmarType ACPI_DMAR_TYPE_ROOT_ATS = 2, ACPI_DMAR_TYPE_HARDWARE_AFFINITY = 3, ACPI_DMAR_TYPE_NAMESPACE = 4, - ACPI_DMAR_TYPE_RESERVED = 5 /* 5 and greater are reserved */ + ACPI_DMAR_TYPE_SATC = 5, + ACPI_DMAR_TYPE_RESERVED = 6 /* 6 and greater are reserved */ }; @@ -962,6 +969,18 @@ typedef struct acpi_dmar_andd } ACPI_DMAR_ANDD; +/* 5: SoC Integrated Address Translation Cache (SATC) */ + +typedef struct acpi_dmar_satc +{ + ACPI_DMAR_HEADER Header; + UINT8 Flags; + UINT8 Reserved; + UINT16 Segment; + +} ACPI_DMAR_SATC + +; /******************************************************************************* * * DRTM - Dynamic Root of Trust for Measurement table diff --git a/source/include/actbl2.h b/source/include/actbl2.h index 0c80aae24f99..3032c5e25003 100644 --- a/source/include/actbl2.h +++ b/source/include/actbl2.h @@ -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 @@ -168,6 +168,8 @@ * file. Useful because they make it more difficult to inadvertently type in * the wrong signature. */ +#define ACPI_SIG_AGDI "AGDI" /* Arm Generic Diagnostic Dump and Reset Device Interface */ +#define ACPI_SIG_APMT "APMT" /* Arm Performance Monitoring Unit table */ #define ACPI_SIG_BDAT "BDAT" /* BIOS Data ACPI Table */ #define ACPI_SIG_IORT "IORT" /* IO Remapping Table */ #define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ @@ -192,6 +194,7 @@ #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */ #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ #define ACPI_SIG_SVKL "SVKL" /* Storage Volume Key Location Table */ +#define ACPI_SIG_TDEL "TDEL" /* TD Event Log Table */ /* @@ -309,7 +312,7 @@ typedef struct acpi_aest_processor_tlb typedef struct acpi_aest_processor_generic { - UINT8 *Resource; + UINT32 Resource; } ACPI_AEST_PROCESSOR_GENERIC; @@ -401,6 +404,108 @@ typedef struct acpi_aest_node_interrupt /******************************************************************************* + * AGDI - Arm Generic Diagnostic Dump and Reset Device Interface + * + * Conforms to "ACPI for Arm Components 1.1, Platform Design Document" + * ARM DEN0093 v1.1 + * + ******************************************************************************/ +typedef struct acpi_table_agdi +{ + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ + UINT8 Flags; + UINT8 Reserved[3]; + UINT32 SdeiEvent; + UINT32 Gsiv; + +} ACPI_TABLE_AGDI; + +/* Mask for Flags field above */ + +#define ACPI_AGDI_SIGNALING_MODE (1) + + +/******************************************************************************* + * + * 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 + * + ******************************************************************************/ + +typedef struct acpi_table_apmt { + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ +} ACPI_TABLE_APMT; + +#define ACPI_APMT_NODE_ID_LENGTH 4 + +/* + * APMT subtables + */ +typedef struct acpi_apmt_node { + UINT16 Length; + UINT8 Flags; + UINT8 Type; + UINT32 Id; + UINT64 InstPrimary; + UINT32 InstSecondary; + UINT64 BaseAddress0; + UINT64 BaseAddress1; + UINT32 OvflwIrq; + UINT32 Reserved; + UINT32 OvflwIrqFlags; + UINT32 ProcAffinity; + UINT32 ImplId; +} ACPI_APMT_NODE; + +/* Masks for Flags field above */ + +#define ACPI_APMT_FLAGS_DUAL_PAGE (1<<0) +#define ACPI_APMT_FLAGS_AFFINITY (1<<1) +#define ACPI_APMT_FLAGS_ATOMIC (1<<2) + +/* Values for Flags dual page field above */ + +#define ACPI_APMT_FLAGS_DUAL_PAGE_NSUPP (0<<0) +#define ACPI_APMT_FLAGS_DUAL_PAGE_SUPP (1<<0) + +/* Values for Flags processor affinity field above */ +#define ACPI_APMT_FLAGS_AFFINITY_PROC (0<<1) +#define ACPI_APMT_FLAGS_AFFINITY_PROC_CONTAINER (1<<1) + +/* Values for Flags 64-bit atomic field above */ +#define ACPI_APMT_FLAGS_ATOMIC_NSUPP (0<<2) +#define ACPI_APMT_FLAGS_ATOMIC_SUPP (1<<2) + +/* Values for Type field above */ + +enum acpi_apmt_node_type { + ACPI_APMT_NODE_TYPE_MC = 0x00, + ACPI_APMT_NODE_TYPE_SMMU = 0x01, + ACPI_APMT_NODE_TYPE_PCIE_ROOT = 0x02, + ACPI_APMT_NODE_TYPE_ACPI = 0x03, + ACPI_APMT_NODE_TYPE_CACHE = 0x04, + ACPI_APMT_NODE_TYPE_COUNT +}; + +/* Masks for ovflw_irq_flags field above */ + +#define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE (1<<0) +#define ACPI_APMT_OVFLW_IRQ_FLAGS_TYPE (1<<1) + +/* Values for ovflw_irq_flags mode field above */ + +#define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE_LEVEL (0<<0) +#define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE_EDGE (1<<0) + +/* Values for ovflw_irq_flags type field above */ + +#define ACPI_APMT_OVFLW_IRQ_FLAGS_TYPE_WIRED (0<<1) + + +/******************************************************************************* * * BDAT - BIOS Data ACPI Table * @@ -422,7 +527,7 @@ typedef struct acpi_table_bdat * IORT - IO Remapping Table * * Conforms to "IO Remapping Table System Software on ARM Platforms", - * Document number: ARM DEN 0049E.b, Feb 2021 + * Document number: ARM DEN 0049E.d, Feb 2022 * ******************************************************************************/ @@ -538,7 +643,8 @@ typedef struct acpi_iort_root_complex UINT32 AtsAttribute; UINT32 PciSegmentNumber; UINT8 MemoryAddressLimit; /* Memory address size limit */ - UINT8 Reserved[3]; /* Reserved, must be zero */ + UINT16 PasidCapabilities; /* PASID Capabilities */ + UINT8 Reserved[1]; /* Reserved, must be zero */ } ACPI_IORT_ROOT_COMPLEX; @@ -548,6 +654,8 @@ typedef struct acpi_iort_root_complex #define ACPI_IORT_PRI_SUPPORTED (1<<1) /* The root complex PRI support */ #define ACPI_IORT_PASID_FWD_SUPPORTED (1<<2) /* The root complex PASID forward support */ +/* Masks for PasidCapabilities field above */ +#define ACPI_IORT_PASID_MAX_WIDTH (0x1F) /* Bits 0-4 */ typedef struct acpi_iort_smmu { @@ -634,6 +742,25 @@ typedef struct acpi_iort_rmr { } ACPI_IORT_RMR; +/* Masks for Flags field above */ +#define ACPI_IORT_RMR_REMAP_PERMITTED (1) +#define ACPI_IORT_RMR_ACCESS_PRIVILEGE (1<<1) + +/* + * Macro to access the Access Attributes in flags field above: + * Access Attributes is encoded in bits 9:2 + */ +#define ACPI_IORT_RMR_ACCESS_ATTRIBUTES(flags) (((flags) >> 2) & 0xFF) + +/* Values for above Access Attributes */ + +#define ACPI_IORT_RMR_ATTR_DEVICE_NGNRNE 0x00 +#define ACPI_IORT_RMR_ATTR_DEVICE_NGNRE 0x01 +#define ACPI_IORT_RMR_ATTR_DEVICE_NGRE 0x02 +#define ACPI_IORT_RMR_ATTR_DEVICE_GRE 0x03 +#define ACPI_IORT_RMR_ATTR_NORMAL_NC 0x04 +#define ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB 0x05 + typedef struct acpi_iort_rmr_desc { UINT64 BaseAddress; UINT64 Length; @@ -980,7 +1107,8 @@ enum AcpiMadtType ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14, ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15, ACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16, - ACPI_MADT_TYPE_RESERVED = 17 /* 17 and greater are reserved */ + ACPI_MADT_TYPE_RESERVED = 17, /* 17 to 0x7F are reserved */ + ACPI_MADT_TYPE_OEM_RESERVED = 0x80 /* 0x80 to 0xFF are reserved for OEM use */ }; @@ -1247,8 +1375,8 @@ typedef struct acpi_madt_multiproc_wakeup } ACPI_MADT_MULTIPROC_WAKEUP; -#define ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE 2032 -#define ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE 2048 +#define ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE 2032 +#define ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE 2048 typedef struct acpi_madt_multiproc_wakeup_mailbox { @@ -1263,6 +1391,13 @@ typedef struct acpi_madt_multiproc_wakeup_mailbox #define ACPI_MP_WAKE_COMMAND_WAKEUP 1 +/* 17: OEM data */ + +typedef struct acpi_madt_oem_data +{ + UINT8 OemData[0]; +} ACPI_MADT_OEM_DATA; + /* * Common flags fields for MADT subtables @@ -1796,6 +1931,12 @@ typedef struct acpi_table_nhlt } ACPI_TABLE_NHLT; +typedef struct acpi_table_nhlt_endpoint_count +{ + UINT8 EndpointCount; + +} ACPI_TABLE_NHLT_ENDPOINT_COUNT; + typedef struct acpi_nhlt_endpoint { UINT32 DescriptorLength; @@ -1852,6 +1993,8 @@ typedef struct acpi_nhlt_endpoint #define ACPI_NHLT_DIR_RENDER_FEEDBACK 3 #define ACPI_NHLT_DIR_RESERVED 4 /* 4 and above are reserved */ +/* Capabilities = 2 */ + typedef struct acpi_nhlt_device_specific_config { UINT32 CapabilitiesSize; @@ -1860,6 +2003,8 @@ typedef struct acpi_nhlt_device_specific_config } ACPI_NHLT_DEVICE_SPECIFIC_CONFIG; +/* Capabilities = 3 */ + typedef struct acpi_nhlt_device_specific_config_a { UINT32 CapabilitiesSize; @@ -1869,14 +2014,24 @@ typedef struct acpi_nhlt_device_specific_config_a } ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A; -/* Values for Config Type above */ +/* Capabilities = 3 */ -#define ACPI_NHLT_TYPE_MIC_ARRAY 0x01 -#define ACPI_NHLT_TYPE_GENERIC 0x00 +typedef struct acpi_nhlt_device_specific_config_d +{ + UINT8 VirtualSlot; + UINT8 ConfigType; + UINT8 ArrayType; -/* Mask for Extension field of ArrayType */ +} ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_D; -#define ACPI_NHLT_ARRAY_TYPE_MASK 0x10 +/* Values for Config Type above */ + +#define ACPI_NHLT_CONFIG_TYPE_GENERIC 0x00 +#define ACPI_NHLT_CONFIG_TYPE_MIC_ARRAY 0x01 +#define ACPI_NHLT_CONFIG_TYPE_RENDER_FEEDBACK 0x03 +#define ACPI_NHLT_CONFIG_TYPE_RESERVED 0x04 /* 4 and above are reserved */ + +/* Capabilities = 0 */ typedef struct acpi_nhlt_device_specific_config_b { @@ -1884,6 +2039,8 @@ typedef struct acpi_nhlt_device_specific_config_b } ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B; +/* Capabilities = 1 */ + typedef struct acpi_nhlt_device_specific_config_c { UINT32 CapabilitiesSize; @@ -1891,6 +2048,13 @@ typedef struct acpi_nhlt_device_specific_config_c } ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_C; +typedef struct acpi_nhlt_render_device_specific_config +{ + UINT32 CapabilitiesSize; + UINT8 VirtualSlot; + +} ACPI_NHLT_RENDER_DEVICE_SPECIFIC_CONFIG; + typedef struct acpi_nhlt_wave_extensible { UINT16 FormatTag; @@ -1963,61 +2127,70 @@ typedef struct acpi_nhlt_mic_device_specific_config /* Values for ArrayTypeExt above */ -#define SMALL_LINEAR_2ELEMENT 0x0A -#define BIG_LINEAR_2ELEMENT 0x0B -#define FIRST_GEOMETRY_LINEAR_4ELEMENT 0x0C -#define PLANAR_LSHAPED_4ELEMENT 0x0D -#define SECOND_GEOMETRY_LINEAR_4ELEMENT 0x0E -#define VENDOR_DEFINED 0x0F -#define ARRAY_TYPE_MASK 0x0F -#define ARRAY_TYPE_EXT_MASK 0x10 +#define ACPI_NHLT_ARRAY_TYPE_RESERVED 0x09 /* 9 and below are reserved */ +#define ACPI_NHLT_SMALL_LINEAR_2ELEMENT 0x0A +#define ACPI_NHLT_BIG_LINEAR_2ELEMENT 0x0B +#define ACPI_NHLT_FIRST_GEOMETRY_LINEAR_4ELEMENT 0x0C +#define ACPI_NHLT_PLANAR_LSHAPED_4ELEMENT 0x0D +#define ACPI_NHLT_SECOND_GEOMETRY_LINEAR_4ELEMENT 0x0E +#define ACPI_NHLT_VENDOR_DEFINED 0x0F +#define ACPI_NHLT_ARRAY_TYPE_MASK 0x0F +#define ACPI_NHLT_ARRAY_TYPE_EXT_MASK 0x10 -#define NO_EXTENSION 0x0 -#define MIC_SNR_SENSITIVITY_EXT 0x1 +#define ACPI_NHLT_NO_EXTENSION 0x0 +#define ACPI_NHLT_MIC_SNR_SENSITIVITY_EXT (1<<4) +typedef struct acpi_nhlt_vendor_mic_count +{ + UINT8 MicrophoneCount; + +} ACPI_NHLT_VENDOR_MIC_COUNT; typedef struct acpi_nhlt_vendor_mic_config { UINT8 Type; UINT8 Panel; - UINT16 SpeakerPositionDistance; // mm - UINT16 HorizontalOffset; // mm - UINT16 VerticalOffset; // mm - UINT8 FrequencyLowBand; // 5*Hz - UINT8 FrequencyHighBand; // 500*Hz - UINT16 DirectionAngle; // -180 - + 180 - UINT16 ElevationAngle; // -180 - + 180 - UINT16 WorkVerticalAngleBegin; // -180 - + 180 with 2 deg step - UINT16 WorkVerticalAngleEnd; // -180 - + 180 with 2 deg step - UINT16 WorkHorizontalAngleBegin; // -180 - + 180 with 2 deg step - UINT16 WorkHorizontalAngleEnd; // -180 - + 180 with 2 deg step + UINT16 SpeakerPositionDistance; /* mm */ + UINT16 HorizontalOffset; /* mm */ + UINT16 VerticalOffset; /* mm */ + UINT8 FrequencyLowBand; /* 5*Hz */ + UINT8 FrequencyHighBand; /* 500*Hz */ + UINT16 DirectionAngle; /* -180 - + 180 */ + UINT16 ElevationAngle; /* -180 - + 180 */ + UINT16 WorkVerticalAngleBegin; /* -180 - + 180 with 2 deg step */ + UINT16 WorkVerticalAngleEnd; /* -180 - + 180 with 2 deg step */ + UINT16 WorkHorizontalAngleBegin; /* -180 - + 180 with 2 deg step */ + UINT16 WorkHorizontalAngleEnd; /* -180 - + 180 with 2 deg step */ } ACPI_NHLT_VENDOR_MIC_CONFIG; /* Values for Type field above */ -#define MIC_OMNIDIRECTIONAL 0 -#define MIC_SUBCARDIOID 1 -#define MIC_CARDIOID 2 -#define MIC_SUPER_CARDIOID 3 -#define MIC_HYPER_CARDIOID 4 -#define MIC_8_SHAPED 5 -#define MIC_VENDOR_DEFINED 7 +#define ACPI_NHLT_MIC_OMNIDIRECTIONAL 0 +#define ACPI_NHLT_MIC_SUBCARDIOID 1 +#define ACPI_NHLT_MIC_CARDIOID 2 +#define ACPI_NHLT_MIC_SUPER_CARDIOID 3 +#define ACPI_NHLT_MIC_HYPER_CARDIOID 4 +#define ACPI_NHLT_MIC_8_SHAPED 5 +#define ACPI_NHLT_MIC_RESERVED6 6 /* 6 is reserved */ +#define ACPI_NHLT_MIC_VENDOR_DEFINED 7 +#define ACPI_NHLT_MIC_RESERVED 8 /* 8 and above are reserved */ /* Values for Panel field above */ -#define MIC_TOP 0 -#define MIC_BOTTOM 1 -#define MIC_LEFT 2 -#define MIC_RIGHT 3 -#define MIC_FRONT 4 -#define MIC_REAR 5 +#define ACPI_NHLT_MIC_POSITION_TOP 0 +#define ACPI_NHLT_MIC_POSITION_BOTTOM 1 +#define ACPI_NHLT_MIC_POSITION_LEFT 2 +#define ACPI_NHLT_MIC_POSITION_RIGHT 3 +#define ACPI_NHLT_MIC_POSITION_FRONT 4 +#define ACPI_NHLT_MIC_POSITION_BACK 5 +#define ACPI_NHLT_MIC_POSITION_RESERVED 6 /* 6 and above are reserved */ typedef struct acpi_nhlt_vendor_mic_device_specific_config { ACPI_NHLT_MIC_DEVICE_SPECIFIC_CONFIG MicArrayDeviceConfig; UINT8 NumberOfMicrophones; - ACPI_NHLT_VENDOR_MIC_CONFIG MicConfig[]; // Indexed by NumberOfMicrophones + ACPI_NHLT_VENDOR_MIC_CONFIG MicConfig[]; /* Indexed by NumberOfMicrophones */ } ACPI_NHLT_VENDOR_MIC_DEVICE_SPECIFIC_CONFIG; @@ -2030,38 +2203,31 @@ typedef struct acpi_nhlt_mic_snr_sensitivity_extension } ACPI_NHLT_MIC_SNR_SENSITIVITY_EXTENSION; +/* Render device with feedback */ + typedef struct acpi_nhlt_render_feedback_device_specific_config { - ACPI_NHLT_DEVICE_SPECIFIC_CONFIG DeviceConfig; - UINT8 FeedbackVirtualSlot; // Render slot in case of capture - UINT16 FeedbackChannels; // Informative only + UINT8 FeedbackVirtualSlot; /* Render slot in case of capture */ + UINT16 FeedbackChannels; /* Informative only */ UINT16 FeedbackValidBitsPerSample; } ACPI_NHLT_RENDER_FEEDBACK_DEVICE_SPECIFIC_CONFIG; -/* Linux-specific structures */ +/* Non documented structures */ -typedef struct acpi_nhlt_linux_specific_count +typedef struct acpi_nhlt_device_info_count { UINT8 StructureCount; -} ACPI_NHLT_LINUX_SPECIFIC_COUNT; +} ACPI_NHLT_DEVICE_INFO_COUNT; -typedef struct acpi_nhlt_linux_specific_data +typedef struct acpi_nhlt_device_info { UINT8 DeviceId[16]; UINT8 DeviceInstanceId; UINT8 DevicePortId; - UINT8 Filler[18]; -} ACPI_NHLT_LINUX_SPECIFIC_DATA; - -typedef struct acpi_nhlt_table_terminator -{ - UINT32 TerminatorValue; - UINT32 TerminatorSignature; - -} ACPI_NHLT_TABLE_TERMINATOR; +} ACPI_NHLT_DEVICE_INFO; /******************************************************************************* @@ -2639,8 +2805,8 @@ typedef struct acpi_table_prmt_header typedef struct acpi_prmt_module_header { - UINT16 Revision; - UINT16 Length; + UINT16 Revision; + UINT16 Length; } ACPI_PRMT_MODULE_HEADER; @@ -2794,7 +2960,7 @@ typedef struct acpi_table_rgrt UINT16 Version; UINT8 ImageType; UINT8 Reserved; - UINT8 Image[0]; + UINT8 Image[]; } ACPI_TABLE_RGRT; @@ -3008,6 +3174,24 @@ enum acpi_svkl_format }; +/******************************************************************************* + * + * TDEL - TD-Event Log + * From: "Guest-Host-Communication Interface (GHCI) for Intel + * Trust Domain Extensions (Intel TDX)". + * September 2020 + * + ******************************************************************************/ + +typedef struct acpi_table_tdel +{ + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ + UINT32 Reserved; + UINT64 LogAreaMinimumLength; + UINT64 LogAreaStartAddress; + +} ACPI_TABLE_TDEL; + /* Reset to default packing */ #pragma pack() diff --git a/source/include/actbl3.h b/source/include/actbl3.h index 40cf71306af4..7cc633a27b7c 100644 --- a/source/include/actbl3.h +++ b/source/include/actbl3.h @@ -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 diff --git a/source/include/actypes.h b/source/include/actypes.h index 5138342c990a..99588f6717a0 100644 --- a/source/include/actypes.h +++ b/source/include/actypes.h @@ -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 @@ -658,9 +658,12 @@ typedef UINT64 ACPI_INTEGER; /* Pointer/Integer type conversions */ #define ACPI_TO_POINTER(i) ACPI_CAST_PTR (void, (ACPI_SIZE) (i)) +#ifndef ACPI_TO_INTEGER #define ACPI_TO_INTEGER(p) ACPI_PTR_DIFF (p, (void *) 0) +#endif +#ifndef ACPI_OFFSET #define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0) -#define ACPI_PHYSADDR_TO_PTR(i) ACPI_TO_POINTER(i) +#endif #define ACPI_PTR_TO_PHYSADDR(i) ACPI_TO_INTEGER(i) /* Optimizations for 4-character (32-bit) ACPI_NAME manipulation */ @@ -687,9 +690,14 @@ typedef UINT64 ACPI_INTEGER; * Can be used with AccessSize field of ACPI_GENERIC_ADDRESS and * ACPI_RESOURCE_GENERIC_REGISTER. */ -#define ACPI_ACCESS_BIT_WIDTH(AccessSize) (1 << ((AccessSize) + 2)) -#define ACPI_ACCESS_BYTE_WIDTH(AccessSize) (1 << ((AccessSize) - 1)) - +#define ACPI_ACCESS_BIT_SHIFT 2 +#define ACPI_ACCESS_BYTE_SHIFT -1 +#define ACPI_ACCESS_BIT_MAX (31 - ACPI_ACCESS_BIT_SHIFT) +#define ACPI_ACCESS_BYTE_MAX (31 - ACPI_ACCESS_BYTE_SHIFT) +#define ACPI_ACCESS_BIT_DEFAULT (8 - ACPI_ACCESS_BIT_SHIFT) +#define ACPI_ACCESS_BYTE_DEFAULT (8 - ACPI_ACCESS_BYTE_SHIFT) +#define ACPI_ACCESS_BIT_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BIT_SHIFT)) +#define ACPI_ACCESS_BYTE_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BYTE_SHIFT)) /******************************************************************************* * @@ -1319,6 +1327,14 @@ typedef struct acpi_connection_info } ACPI_CONNECTION_INFO; +/* Special Context data for PCC Opregion (ACPI 6.3) */ + +typedef struct acpi_pcc_info { + UINT8 SubspaceId; + UINT16 Length; + UINT8 *InternalBuffer; +} ACPI_PCC_INFO; + typedef ACPI_STATUS (*ACPI_ADR_SPACE_SETUP) ( @@ -1458,6 +1474,12 @@ typedef struct acpi_mem_space_context } ACPI_MEM_SPACE_CONTEXT; +typedef struct acpi_data_table_space_context +{ + void *Pointer; + +} ACPI_DATA_TABLE_MAPPING; + /* * ACPI_MEMORY_LIST is used only if the ACPICA local cache is enabled @@ -1532,6 +1554,7 @@ typedef enum #define ACPI_OSI_WIN_10_RS5 0x13 #define ACPI_OSI_WIN_10_19H1 0x14 #define ACPI_OSI_WIN_10_20H1 0x15 +#define ACPI_OSI_WIN_11 0x16 /* Definitions of getopt */ diff --git a/source/include/acutils.h b/source/include/acutils.h index 791b7d9ce562..f23ee559b71b 100644 --- a/source/include/acutils.h +++ b/source/include/acutils.h @@ -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 diff --git a/source/include/acuuid.h b/source/include/acuuid.h index 48f4c9a1c346..bc41fa40bab9 100644 --- a/source/include/acuuid.h +++ b/source/include/acuuid.h @@ -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 diff --git a/source/include/amlcode.h b/source/include/amlcode.h index f7ad22a18120..25d591e55d95 100644 --- a/source/include/amlcode.h +++ b/source/include/amlcode.h @@ -10,7 +10,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 diff --git a/source/include/amlresrc.h b/source/include/amlresrc.h index a97a1c63259d..e89cd824d11d 100644 --- a/source/include/amlresrc.h +++ b/source/include/amlresrc.h @@ -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 diff --git a/source/include/platform/accygwin.h b/source/include/platform/accygwin.h index 1eec32ac34cb..217237d9ba82 100644 --- a/source/include/platform/accygwin.h +++ b/source/include/platform/accygwin.h @@ -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 diff --git a/source/include/platform/acdragonflyex.h b/source/include/platform/acdragonflyex.h index 6c11c1773f05..ba3ef0168422 100644 --- a/source/include/platform/acdragonflyex.h +++ b/source/include/platform/acdragonflyex.h @@ -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 diff --git a/source/include/platform/acefi.h b/source/include/platform/acefi.h index c61798fd4268..fefcca84311d 100644 --- a/source/include/platform/acefi.h +++ b/source/include/platform/acefi.h @@ -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 diff --git a/source/include/platform/acefiex.h b/source/include/platform/acefiex.h index f0ae56cc8f62..83aa907b6013 100644 --- a/source/include/platform/acefiex.h +++ b/source/include/platform/acefiex.h @@ -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 diff --git a/source/include/platform/acenv.h b/source/include/platform/acenv.h index 740d449556e8..674c4c7d02c3 100644 --- a/source/include/platform/acenv.h +++ b/source/include/platform/acenv.h @@ -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 diff --git a/source/include/platform/acenvex.h b/source/include/platform/acenvex.h index 42bb49010bdf..32db36c6e86c 100644 --- a/source/include/platform/acenvex.h +++ b/source/include/platform/acenvex.h @@ -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 diff --git a/source/include/platform/acfreebsd.h b/source/include/platform/acfreebsd.h index 91e468795cfd..fdf99082530d 100644 --- a/source/include/platform/acfreebsd.h +++ b/source/include/platform/acfreebsd.h @@ -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 diff --git a/source/include/platform/acgcc.h b/source/include/platform/acgcc.h index 148190a3a6a5..3ad22a1f8ac1 100644 --- a/source/include/platform/acgcc.h +++ b/source/include/platform/acgcc.h @@ -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 diff --git a/source/include/platform/acgccex.h b/source/include/platform/acgccex.h index 61d428524f8a..035b999d95c3 100644 --- a/source/include/platform/acgccex.h +++ b/source/include/platform/acgccex.h @@ -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 diff --git a/source/include/platform/achaiku.h b/source/include/platform/achaiku.h index b7ec29f47d5d..81c1927ccc7f 100644 --- a/source/include/platform/achaiku.h +++ b/source/include/platform/achaiku.h @@ -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 diff --git a/source/include/platform/acintel.h b/source/include/platform/acintel.h index 352c628cd887..889c7594ef73 100644 --- a/source/include/platform/acintel.h +++ b/source/include/platform/acintel.h @@ -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 diff --git a/source/include/platform/aclinux.h b/source/include/platform/aclinux.h index 17fd5113112f..1c55c659f357 100644 --- a/source/include/platform/aclinux.h +++ b/source/include/platform/aclinux.h @@ -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 @@ -252,6 +252,11 @@ #define ACPI_SPINLOCK spinlock_t * #define ACPI_CPU_FLAGS unsigned long +#define ACPI_UINTPTR_T uintptr_t + +#define ACPI_TO_INTEGER(p) ((uintptr_t)(p)) +#define ACPI_OFFSET(d, f) offsetof(d, f) + /* Use native linux version of AcpiOsAllocateZeroed */ #define USE_NATIVE_ALLOCATE_ZEROED diff --git a/source/include/platform/aclinuxex.h b/source/include/platform/aclinuxex.h index f88559d2f1f4..4e84cd4b7e94 100644 --- a/source/include/platform/aclinuxex.h +++ b/source/include/platform/aclinuxex.h @@ -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 diff --git a/source/include/platform/acmacosx.h b/source/include/platform/acmacosx.h index fd5f2b3f6b60..0335cc0ae5d6 100644 --- a/source/include/platform/acmacosx.h +++ b/source/include/platform/acmacosx.h @@ -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 diff --git a/source/include/platform/acmsvc.h b/source/include/platform/acmsvc.h index a2b9e4ced77d..736706530d93 100644 --- a/source/include/platform/acmsvc.h +++ b/source/include/platform/acmsvc.h @@ -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 diff --git a/source/include/platform/acmsvcex.h b/source/include/platform/acmsvcex.h index 8c837ec6ab03..2350d859641a 100644 --- a/source/include/platform/acmsvcex.h +++ b/source/include/platform/acmsvcex.h @@ -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 diff --git a/source/include/platform/acnetbsd.h b/source/include/platform/acnetbsd.h index 138b9ba6b4f9..c0e3619d6597 100644 --- a/source/include/platform/acnetbsd.h +++ b/source/include/platform/acnetbsd.h @@ -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 diff --git a/source/include/platform/acos2.h b/source/include/platform/acos2.h index e93aba114545..fe776095e3cd 100644 --- a/source/include/platform/acos2.h +++ b/source/include/platform/acos2.h @@ -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 diff --git a/source/include/platform/acqnx.h b/source/include/platform/acqnx.h index 30c12e9ef33b..db1c103fa4cb 100644 --- a/source/include/platform/acqnx.h +++ b/source/include/platform/acqnx.h @@ -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 diff --git a/source/include/platform/acwin.h b/source/include/platform/acwin.h index 84e800023b3e..dc2d1eb5b5d0 100644 --- a/source/include/platform/acwin.h +++ b/source/include/platform/acwin.h @@ -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 diff --git a/source/include/platform/acwin64.h b/source/include/platform/acwin64.h index 49b330aa7829..e20454520a4e 100644 --- a/source/include/platform/acwin64.h +++ b/source/include/platform/acwin64.h @@ -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 diff --git a/source/os_specific/service_layers/osbsdtbl.c b/source/os_specific/service_layers/osbsdtbl.c index 410a6f47a4e9..043dec46f0ca 100644 --- a/source/os_specific/service_layers/osbsdtbl.c +++ b/source/os_specific/service_layers/osbsdtbl.c @@ -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 diff --git a/source/os_specific/service_layers/oslinuxtbl.c b/source/os_specific/service_layers/oslinuxtbl.c index c1438f8e9b30..ad5888f10859 100644 --- a/source/os_specific/service_layers/oslinuxtbl.c +++ b/source/os_specific/service_layers/oslinuxtbl.c @@ -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 diff --git a/source/os_specific/service_layers/osunixdir.c b/source/os_specific/service_layers/osunixdir.c index a889c4b8d522..54f53ea2deb4 100644 --- a/source/os_specific/service_layers/osunixdir.c +++ b/source/os_specific/service_layers/osunixdir.c @@ -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 diff --git a/source/os_specific/service_layers/osunixmap.c b/source/os_specific/service_layers/osunixmap.c index be8423f689f7..2f6e0b14b632 100644 --- a/source/os_specific/service_layers/osunixmap.c +++ b/source/os_specific/service_layers/osunixmap.c @@ -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 diff --git a/source/os_specific/service_layers/osunixxf.c b/source/os_specific/service_layers/osunixxf.c index 33fbb0ceadaf..ef1651b67d9f 100644 --- a/source/os_specific/service_layers/osunixxf.c +++ b/source/os_specific/service_layers/osunixxf.c @@ -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 diff --git a/source/os_specific/service_layers/oswindir.c b/source/os_specific/service_layers/oswindir.c index bbad99753c50..b523102a5546 100644 --- a/source/os_specific/service_layers/oswindir.c +++ b/source/os_specific/service_layers/oswindir.c @@ -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 diff --git a/source/os_specific/service_layers/oswintbl.c b/source/os_specific/service_layers/oswintbl.c index 34176dd8ddf8..e053f056850a 100644 --- a/source/os_specific/service_layers/oswintbl.c +++ b/source/os_specific/service_layers/oswintbl.c @@ -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 diff --git a/source/os_specific/service_layers/oswinxf.c b/source/os_specific/service_layers/oswinxf.c index b903f09aa499..dc85f9bcf13b 100644 --- a/source/os_specific/service_layers/oswinxf.c +++ b/source/os_specific/service_layers/oswinxf.c @@ -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 diff --git a/source/tools/acpibin/abcompare.c b/source/tools/acpibin/abcompare.c index cd9d833406ae..f974f129ac14 100644 --- a/source/tools/acpibin/abcompare.c +++ b/source/tools/acpibin/abcompare.c @@ -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 diff --git a/source/tools/acpibin/abmain.c b/source/tools/acpibin/abmain.c index b953e264f575..365b437d90aa 100644 --- a/source/tools/acpibin/abmain.c +++ b/source/tools/acpibin/abmain.c @@ -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 diff --git a/source/tools/acpibin/acpibin.h b/source/tools/acpibin/acpibin.h index 1c3c9d433b4b..510b3a855c99 100644 --- a/source/tools/acpibin/acpibin.h +++ b/source/tools/acpibin/acpibin.h @@ -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 diff --git a/source/tools/acpidump/acpidump.h b/source/tools/acpidump/acpidump.h index 78169682c5e9..87858875f2ae 100644 --- a/source/tools/acpidump/acpidump.h +++ b/source/tools/acpidump/acpidump.h @@ -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 diff --git a/source/tools/acpidump/apdump.c b/source/tools/acpidump/apdump.c index 90444084b5cb..d66832d1a4e9 100644 --- a/source/tools/acpidump/apdump.c +++ b/source/tools/acpidump/apdump.c @@ -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 diff --git a/source/tools/acpidump/apfiles.c b/source/tools/acpidump/apfiles.c index d9e4e5cfd6b7..16371088efa3 100644 --- a/source/tools/acpidump/apfiles.c +++ b/source/tools/acpidump/apfiles.c @@ -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 diff --git a/source/tools/acpidump/apmain.c b/source/tools/acpidump/apmain.c index 592d33a5120f..5fba99bb1627 100644 --- a/source/tools/acpidump/apmain.c +++ b/source/tools/acpidump/apmain.c @@ -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 diff --git a/source/tools/acpiexec/aecommon.h b/source/tools/acpiexec/aecommon.h index c325d8f3b641..7bfdd278c17d 100644 --- a/source/tools/acpiexec/aecommon.h +++ b/source/tools/acpiexec/aecommon.h @@ -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 diff --git a/source/tools/acpiexec/aeexception.c b/source/tools/acpiexec/aeexception.c index df35aa864f63..f0903c1f65fc 100644 --- a/source/tools/acpiexec/aeexception.c +++ b/source/tools/acpiexec/aeexception.c @@ -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 @@ -334,7 +334,7 @@ AeSignalHandler ( SigintCount++; if (SigintCount >= ACPI_MAX_CONTROL_C) { - exit (0); + _exit (0); } /* Abort the application if there are no methods executing */ @@ -368,7 +368,7 @@ AeSignalHandler ( AcpiOsPrintf (AE_PREFIX "Terminating\n"); (void) AcpiOsTerminate (); - exit (0); + _exit (0); } diff --git a/source/tools/acpiexec/aeexec.c b/source/tools/acpiexec/aeexec.c index d8d93e6182c6..5bf1ebd33893 100644 --- a/source/tools/acpiexec/aeexec.c +++ b/source/tools/acpiexec/aeexec.c @@ -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 diff --git a/source/tools/acpiexec/aehandlers.c b/source/tools/acpiexec/aehandlers.c index a1abdddd0213..9b12aa65e0fb 100644 --- a/source/tools/acpiexec/aehandlers.c +++ b/source/tools/acpiexec/aehandlers.c @@ -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 diff --git a/source/tools/acpiexec/aeinitfile.c b/source/tools/acpiexec/aeinitfile.c index d568b50e9361..600f2c7d8044 100644 --- a/source/tools/acpiexec/aeinitfile.c +++ b/source/tools/acpiexec/aeinitfile.c @@ -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 diff --git a/source/tools/acpiexec/aeinstall.c b/source/tools/acpiexec/aeinstall.c index 1d32443b1568..28d08d8abf82 100644 --- a/source/tools/acpiexec/aeinstall.c +++ b/source/tools/acpiexec/aeinstall.c @@ -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 diff --git a/source/tools/acpiexec/aemain.c b/source/tools/acpiexec/aemain.c index 7db86f78409b..9c5a6e0db151 100644 --- a/source/tools/acpiexec/aemain.c +++ b/source/tools/acpiexec/aemain.c @@ -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 diff --git a/source/tools/acpiexec/aeregion.c b/source/tools/acpiexec/aeregion.c index decd17f7fcff..400fd66e3f07 100644 --- a/source/tools/acpiexec/aeregion.c +++ b/source/tools/acpiexec/aeregion.c @@ -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 diff --git a/source/tools/acpiexec/aetables.c b/source/tools/acpiexec/aetables.c index 510c7e2e63e0..97f4fb73a8ae 100644 --- a/source/tools/acpiexec/aetables.c +++ b/source/tools/acpiexec/aetables.c @@ -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 diff --git a/source/tools/acpiexec/aetables.h b/source/tools/acpiexec/aetables.h index 88cbfc5c55a8..446210ae325d 100644 --- a/source/tools/acpiexec/aetables.h +++ b/source/tools/acpiexec/aetables.h @@ -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 diff --git a/source/tools/acpiexec/aetests.c b/source/tools/acpiexec/aetests.c index 4491186e1d62..94e26686ae51 100644 --- a/source/tools/acpiexec/aetests.c +++ b/source/tools/acpiexec/aetests.c @@ -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 diff --git a/source/tools/acpihelp/acpihelp.h b/source/tools/acpihelp/acpihelp.h index e6c778f2f789..abc9480ef7cb 100644 --- a/source/tools/acpihelp/acpihelp.h +++ b/source/tools/acpihelp/acpihelp.h @@ -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 diff --git a/source/tools/acpihelp/ahaml.c b/source/tools/acpihelp/ahaml.c index a077caf2a51b..df8326908240 100644 --- a/source/tools/acpihelp/ahaml.c +++ b/source/tools/acpihelp/ahaml.c @@ -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 diff --git a/source/tools/acpihelp/ahamlops.c b/source/tools/acpihelp/ahamlops.c index 76ca2b3ed712..bd2b13fb7239 100644 --- a/source/tools/acpihelp/ahamlops.c +++ b/source/tools/acpihelp/ahamlops.c @@ -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 diff --git a/source/tools/acpihelp/ahasl.c b/source/tools/acpihelp/ahasl.c index b77c875dfd6c..0b046995f612 100644 --- a/source/tools/acpihelp/ahasl.c +++ b/source/tools/acpihelp/ahasl.c @@ -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 diff --git a/source/tools/acpihelp/ahaslkey.c b/source/tools/acpihelp/ahaslkey.c index 068ef4690c32..40da5b33d7c4 100644 --- a/source/tools/acpihelp/ahaslkey.c +++ b/source/tools/acpihelp/ahaslkey.c @@ -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 diff --git a/source/tools/acpihelp/ahaslops.c b/source/tools/acpihelp/ahaslops.c index df495032b07e..00c05de2cf0b 100644 --- a/source/tools/acpihelp/ahaslops.c +++ b/source/tools/acpihelp/ahaslops.c @@ -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 diff --git a/source/tools/acpihelp/ahdecode.c b/source/tools/acpihelp/ahdecode.c index 150ef6c05b43..0de81918f783 100644 --- a/source/tools/acpihelp/ahdecode.c +++ b/source/tools/acpihelp/ahdecode.c @@ -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 diff --git a/source/tools/acpihelp/ahgrammar.c b/source/tools/acpihelp/ahgrammar.c index e12cc6dbecd2..03838bd97c1c 100644 --- a/source/tools/acpihelp/ahgrammar.c +++ b/source/tools/acpihelp/ahgrammar.c @@ -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 diff --git a/source/tools/acpihelp/ahmain.c b/source/tools/acpihelp/ahmain.c index 5310d6010025..808a8edafbbc 100644 --- a/source/tools/acpihelp/ahmain.c +++ b/source/tools/acpihelp/ahmain.c @@ -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 diff --git a/source/tools/acpisrc/acpisrc.h b/source/tools/acpisrc/acpisrc.h index 4cc19c731d05..0ebfaef35f3f 100644 --- a/source/tools/acpisrc/acpisrc.h +++ b/source/tools/acpisrc/acpisrc.h @@ -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 diff --git a/source/tools/acpisrc/ascase.c b/source/tools/acpisrc/ascase.c index f3946a8fefb3..4f231704b0e6 100644 --- a/source/tools/acpisrc/ascase.c +++ b/source/tools/acpisrc/ascase.c @@ -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 diff --git a/source/tools/acpisrc/asconvrt.c b/source/tools/acpisrc/asconvrt.c index 24ff24cd0e8c..ab34a6fe17a2 100644 --- a/source/tools/acpisrc/asconvrt.c +++ b/source/tools/acpisrc/asconvrt.c @@ -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 @@ -185,7 +185,7 @@ AsCountLines ( #define MODULE_HEADER_BEGIN "/******************************************************************************\n *\n * Module Name:"; #define MODULE_HEADER_END " *****************************************************************************/\n\n" -#define INTEL_COPYRIGHT " * Copyright (C) 2000 - 2021, Intel Corp.\n" +#define INTEL_COPYRIGHT " * Copyright (C) 2000 - 2022, Intel Corp.\n" /* Opening signature of the Intel legal header */ diff --git a/source/tools/acpisrc/asfile.c b/source/tools/acpisrc/asfile.c index 41900a31fbbb..3f8f97c44b2a 100644 --- a/source/tools/acpisrc/asfile.c +++ b/source/tools/acpisrc/asfile.c @@ -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 diff --git a/source/tools/acpisrc/asmain.c b/source/tools/acpisrc/asmain.c index 206feb445650..aa382f0b2d0e 100644 --- a/source/tools/acpisrc/asmain.c +++ b/source/tools/acpisrc/asmain.c @@ -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 diff --git a/source/tools/acpisrc/asremove.c b/source/tools/acpisrc/asremove.c index 9ab6cb4b9992..7f230af15251 100644 --- a/source/tools/acpisrc/asremove.c +++ b/source/tools/acpisrc/asremove.c @@ -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 diff --git a/source/tools/acpisrc/astable.c b/source/tools/acpisrc/astable.c index 59f1ab8bd4dc..ec4344776c24 100644 --- a/source/tools/acpisrc/astable.c +++ b/source/tools/acpisrc/astable.c @@ -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 @@ -197,7 +197,7 @@ ACPI_STRING_TABLE StandardDataTypes[] = { char EmptyHeader[] = ""; char DualLicenseHeader[] = "/*\n" -" * Copyright (C) 2000 - 2021, Intel Corp.\n" +" * Copyright (C) 2000 - 2022, Intel Corp.\n" " * All rights reserved.\n" " *\n" " * Redistribution and use in source and binary forms, with or without\n" @@ -388,6 +388,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = { {"ACPI_NATIVE_INT", SRC_TYPE_SIMPLE}, {"ACPI_NATIVE_UINT", SRC_TYPE_SIMPLE}, {"ACPI_NEW_TABLE_DESC", SRC_TYPE_STRUCT}, + {"ACPI_NOTIFY_HANDLER", SRC_TYPE_SIMPLE}, {"ACPI_NOTIFY_INFO", SRC_TYPE_STRUCT}, {"ACPI_NS_SEARCH_DATA", SRC_TYPE_STRUCT}, @@ -442,6 +443,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = { {"ACPI_PARSE_STATE", SRC_TYPE_STRUCT}, {"ACPI_PARSE_UPWARDS", SRC_TYPE_SIMPLE}, {"ACPI_PARSE_VALUE", SRC_TYPE_UNION}, + {"ACPI_PCC_INFO", SRC_TYPE_STRUCT}, {"ACPI_PCI_DEVICE", SRC_TYPE_STRUCT}, {"ACPI_PCI_ID", SRC_TYPE_STRUCT}, {"ACPI_PCI_ROUTING_TABLE", SRC_TYPE_STRUCT}, @@ -640,6 +642,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = { * Acpi table definition names. */ {"ACPI_TABLE_AEST", SRC_TYPE_STRUCT}, + {"ACPI_TABLE_AGDI", SRC_TYPE_STRUCT}, {"ACPI_TABLE_ASF", SRC_TYPE_STRUCT}, {"ACPI_TABLE_BDAT", SRC_TYPE_STRUCT}, {"ACPI_TABLE_BERT", SRC_TYPE_STRUCT}, @@ -695,6 +698,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = { {"ACPI_TABLE_SRAT", SRC_TYPE_STRUCT}, {"ACPI_TABLE_STAO", SRC_TYPE_STRUCT}, {"ACPI_TABLE_TCPA", SRC_TYPE_STRUCT}, + {"ACPI_TABLE_TDEL", SRC_TYPE_STRUCT}, {"ACPI_TABLE_TPM2", SRC_TYPE_STRUCT}, {"ACPI_TABLE_TPM23", SRC_TYPE_STRUCT}, {"ACPI_TABLE_UEFI", SRC_TYPE_STRUCT}, @@ -846,19 +850,31 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = { {"ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_A", SRC_TYPE_STRUCT}, {"ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_B", SRC_TYPE_STRUCT}, {"ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_C", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_DEVICE_SPECIFIC_CONFIG_D", SRC_TYPE_STRUCT}, {"ACPI_NHLT_DEVICE_SPECIFIC_HDR", SRC_TYPE_STRUCT}, {"ACPI_NHLT_ENDPOINT", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_ENDPOINT_COUNT", SRC_TYPE_STRUCT}, {"ACPI_NHLT_FORMAT_CONFIG", SRC_TYPE_STRUCT}, {"ACPI_NHLT_FORMATS_CONFIG", SRC_TYPE_STRUCT}, - {"ACPI_NHLT_LINUX_SPECIFIC_COUNT", SRC_TYPE_STRUCT}, - {"ACPI_NHLT_LINUX_SPECIFIC_DATA", SRC_TYPE_STRUCT}, - {"ACPI_NHLT_MIC_DEVICE_SPECIFIC_CONFIG", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_DEVICE_INFO_COUNT", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_DEVICE_INFO", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_MIC_DEVICE_SPECIFIC_CONFIG", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_MIC_SNR_SENSITIVITY_EXTENSION",SRC_TYPE_STRUCT}, + {"ACPI_NHLT_RENDER_DEVICE_SPECIFIC_CONFIG", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_RENDER_FEEDBACK_DEVICE_SPECIFIC_CONFIG", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_TABLE_TERMINATOR", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_WAVE_EXTENSIBLE", SRC_TYPE_STRUCT}, + {"ACPI_TABLE_NHLT_ENDPOINT", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_VENDOR_MIC_DEVICE_SPECIFIC_CONFIG", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_MIC_DEVICE_SPECIFIC_CONFIG",SRC_TYPE_STRUCT}, {"ACPI_NHLT_MIC_SNR_SENSITIVITY_EXTENSION", SRC_TYPE_STRUCT}, {"ACPI_NHLT_RENDER_FEEDBACK_DEVICE_SPECIFIC_CONFIG",SRC_TYPE_STRUCT}, - {"ACPI_NHLT_TABLE_TERMINATOR", SRC_TYPE_STRUCT}, - {"ACPI_NHLT_VENDOR_MIC_CONFIG", SRC_TYPE_STRUCT}, + {"ACPI_TABLE_NHLT_ENDPOINT_COUNT", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_TABLE_TERMINATOR", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_VENDOR_MIC_CONFIG", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_VENDOR_MIC_COUNT", SRC_TYPE_STRUCT}, {"ACPI_NHLT_VENDOR_MIC_DEVICE_SPECIFIC_CONFIG", SRC_TYPE_STRUCT}, - {"ACPI_NHLT_WAVE_EXTENSIBLE", SRC_TYPE_STRUCT}, + {"ACPI_NHLT_WAVE_EXTENSIBLE", SRC_TYPE_STRUCT}, {"ACPI_PCCT_EXT_PCC_SHARED_MEMORY", SRC_TYPE_STRUCT}, {"ACPI_PCCT_HW_REDUCED", SRC_TYPE_STRUCT}, {"ACPI_PCCT_HW_REDUCED_TYPE2", SRC_TYPE_STRUCT}, @@ -1231,8 +1247,8 @@ ACPI_CONVERSION_TABLE LicenseConversionTable = ACPI_STRING_TABLE CustomReplacements[] = { - {"(c) 1999 - 2020", "(c) 1999 - 2021", REPLACE_WHOLE_WORD}, /* Main ACPICA source */ - {"(c) 2006 - 2020", "(c) 2006 - 2021", REPLACE_WHOLE_WORD}, /* Test suites */ + {"(c) 1999 - 2021", "(c) 1999 - 2022", REPLACE_WHOLE_WORD}, /* Main ACPICA source */ + {"(c) 2006 - 2021", "(c) 2006 - 2022", REPLACE_WHOLE_WORD}, /* Test suites */ #if 0 {"SUPPORT, ASSISTANCE", "SUPPORT, ASSISTANCE", REPLACE_WHOLE_WORD}, /* Fix intel header */ diff --git a/source/tools/acpisrc/asutils.c b/source/tools/acpisrc/asutils.c index b1cac273bd47..cc97cca6b2cd 100644 --- a/source/tools/acpisrc/asutils.c +++ b/source/tools/acpisrc/asutils.c @@ -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 diff --git a/source/tools/acpixtract/acpixtract.c b/source/tools/acpixtract/acpixtract.c index 27810124372f..480e20e808b4 100644 --- a/source/tools/acpixtract/acpixtract.c +++ b/source/tools/acpixtract/acpixtract.c @@ -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 diff --git a/source/tools/acpixtract/acpixtract.h b/source/tools/acpixtract/acpixtract.h index c852a80dc1e9..2e7646bbd68e 100644 --- a/source/tools/acpixtract/acpixtract.h +++ b/source/tools/acpixtract/acpixtract.h @@ -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 diff --git a/source/tools/acpixtract/axmain.c b/source/tools/acpixtract/axmain.c index 2d41c8594329..30f3d68a9517 100644 --- a/source/tools/acpixtract/axmain.c +++ b/source/tools/acpixtract/axmain.c @@ -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 diff --git a/source/tools/acpixtract/axutils.c b/source/tools/acpixtract/axutils.c index cdb22b54d3ab..54021778f4d4 100644 --- a/source/tools/acpixtract/axutils.c +++ b/source/tools/acpixtract/axutils.c @@ -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 diff --git a/source/tools/efihello/efihello.c b/source/tools/efihello/efihello.c index a9b169a401ea..ed4c8b4ec6bb 100644 --- a/source/tools/efihello/efihello.c +++ b/source/tools/efihello/efihello.c @@ -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 diff --git a/source/tools/examples/examples.c b/source/tools/examples/examples.c index c27d90717391..0b4497508a5f 100644 --- a/source/tools/examples/examples.c +++ b/source/tools/examples/examples.c @@ -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 diff --git a/source/tools/examples/examples.h b/source/tools/examples/examples.h index fc61502f0dc7..66c28219b0e1 100644 --- a/source/tools/examples/examples.h +++ b/source/tools/examples/examples.h @@ -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 diff --git a/source/tools/examples/exstubs.c b/source/tools/examples/exstubs.c index cb3b0049ae99..2cc8636fb996 100644 --- a/source/tools/examples/exstubs.c +++ b/source/tools/examples/exstubs.c @@ -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 diff --git a/source/tools/examples/extables.c b/source/tools/examples/extables.c index 6571d16a5ae5..9f2bcc10838a 100644 --- a/source/tools/examples/extables.c +++ b/source/tools/examples/extables.c @@ -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 |