Module Name: src Committed By: christos Date: Fri Sep 13 23:13:25 UTC 2024
Modified Files: src/sys/external/bsd/acpica/dist/common: dmtables.c dmtbdump.c src/sys/external/bsd/acpica/dist/compiler: aslcompile.c aslcompiler.h aslcompiler.l aslfiles.c asloptions.c dtfield.c dtutils.c prutils.c src/sys/external/bsd/acpica/dist/debugger: dbnames.c src/sys/external/bsd/acpica/dist/disassembler: dmwalk.c src/sys/external/bsd/acpica/dist/executer: exsystem.c src/sys/external/bsd/acpica/dist/hardware: hwxfsleep.c src/sys/external/bsd/acpica/dist/include: acdisasm.h acglobal.h aclocal.h acoutput.h acpixf.h actbl1.h actypes.h src/sys/external/bsd/acpica/dist/include/platform: acgcc.h src/sys/external/bsd/acpica/dist/resources: rsdump.c src/sys/external/bsd/acpica/dist/tables: tbfadt.c tbutils.c src/sys/external/bsd/acpica/dist/tools/acpixtract: acpixtract.c src/sys/external/bsd/acpica/dist/utilities: utdebug.c utdelete.c utosi.c Log Message: Merge conflicts between 20230628 and 20240827 To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/acpica/dist/common/dmtables.c cvs rdiff -u -r1.16 -r1.17 src/sys/external/bsd/acpica/dist/common/dmtbdump.c cvs rdiff -u -r1.23 -r1.24 \ src/sys/external/bsd/acpica/dist/compiler/aslcompile.c cvs rdiff -u -r1.21 -r1.22 \ src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h \ src/sys/external/bsd/acpica/dist/compiler/aslcompiler.l \ src/sys/external/bsd/acpica/dist/compiler/dtfield.c cvs rdiff -u -r1.20 -r1.21 \ src/sys/external/bsd/acpica/dist/compiler/aslfiles.c cvs rdiff -u -r1.17 -r1.18 \ src/sys/external/bsd/acpica/dist/compiler/asloptions.c cvs rdiff -u -r1.22 -r1.23 \ src/sys/external/bsd/acpica/dist/compiler/dtutils.c cvs rdiff -u -r1.16 -r1.17 \ src/sys/external/bsd/acpica/dist/compiler/prutils.c cvs rdiff -u -r1.17 -r1.18 \ src/sys/external/bsd/acpica/dist/debugger/dbnames.c cvs rdiff -u -r1.16 -r1.17 \ src/sys/external/bsd/acpica/dist/disassembler/dmwalk.c cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/acpica/dist/executer/exsystem.c cvs rdiff -u -r1.18 -r1.19 \ src/sys/external/bsd/acpica/dist/hardware/hwxfsleep.c cvs rdiff -u -r1.27 -r1.28 \ src/sys/external/bsd/acpica/dist/include/acdisasm.h \ src/sys/external/bsd/acpica/dist/include/acglobal.h cvs rdiff -u -r1.25 -r1.26 src/sys/external/bsd/acpica/dist/include/aclocal.h cvs rdiff -u -r1.17 -r1.18 \ src/sys/external/bsd/acpica/dist/include/acoutput.h cvs rdiff -u -r1.35 -r1.36 src/sys/external/bsd/acpica/dist/include/acpixf.h cvs rdiff -u -r1.22 -r1.23 src/sys/external/bsd/acpica/dist/include/actbl1.h cvs rdiff -u -r1.29 -r1.30 src/sys/external/bsd/acpica/dist/include/actypes.h cvs rdiff -u -r1.11 -r1.12 \ src/sys/external/bsd/acpica/dist/include/platform/acgcc.h cvs rdiff -u -r1.17 -r1.18 \ src/sys/external/bsd/acpica/dist/resources/rsdump.c cvs rdiff -u -r1.20 -r1.21 src/sys/external/bsd/acpica/dist/tables/tbfadt.c cvs rdiff -u -r1.22 -r1.23 src/sys/external/bsd/acpica/dist/tables/tbutils.c cvs rdiff -u -r1.17 -r1.18 \ src/sys/external/bsd/acpica/dist/tools/acpixtract/acpixtract.c cvs rdiff -u -r1.21 -r1.22 \ src/sys/external/bsd/acpica/dist/utilities/utdebug.c cvs rdiff -u -r1.10 -r1.11 \ src/sys/external/bsd/acpica/dist/utilities/utdelete.c cvs rdiff -u -r1.19 -r1.20 src/sys/external/bsd/acpica/dist/utilities/utosi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/acpica/dist/common/dmtables.c diff -u src/sys/external/bsd/acpica/dist/common/dmtables.c:1.8 src/sys/external/bsd/acpica/dist/common/dmtables.c:1.9 --- src/sys/external/bsd/acpica/dist/common/dmtables.c:1.8 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/common/dmtables.c Fri Sep 13 19:13:23 2024 @@ -82,7 +82,7 @@ extern ACPI_PARSE_OBJECT *AcpiGbl_Par * RETURN: None * * DESCRIPTION: Create the disassembler header, including ACPICA signon with - * current time and date. + * optional current time and date. * *****************************************************************************/ @@ -94,8 +94,6 @@ AdDisassemblerHeader ( time_t Timer; - time (&Timer); - /* Header and input table info */ AcpiOsPrintf ("/*\n"); @@ -117,7 +115,15 @@ AdDisassemblerHeader ( } } - AcpiOsPrintf (" * Disassembly of %s, %s", Filename, ctime (&Timer)); + if (AslGbl_Deterministic) + { + AcpiOsPrintf (" * Disassembly of %s\n", Filename); + } + else + { + time (&Timer); + AcpiOsPrintf (" * Disassembly of %s, %s", Filename, ctime (&Timer)); + } AcpiOsPrintf (" *\n"); } Index: src/sys/external/bsd/acpica/dist/common/dmtbdump.c diff -u src/sys/external/bsd/acpica/dist/common/dmtbdump.c:1.16 src/sys/external/bsd/acpica/dist/common/dmtbdump.c:1.17 --- src/sys/external/bsd/acpica/dist/common/dmtbdump.c:1.16 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/common/dmtbdump.c Fri Sep 13 19:13:23 2024 @@ -87,7 +87,9 @@ AcpiDmDumpBuffer ( char *Header) { UINT8 *Buffer; + UINT8 BufChar; UINT32 i; + UINT32 j; if (!Length) @@ -100,20 +102,65 @@ 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]); } - AcpiOsPrintf ("%.02X ", *Buffer); - i++; - Buffer++; - AbsoluteOffset++; + /* 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 */ + + AcpiOsPrintf (" */\\"); + + i += 16; /* Point to next line */ } AcpiOsPrintf ("\n"); @@ -407,7 +454,7 @@ AcpiDmDumpFadt ( /* Check for FADT revision 6 fields and up (ACPI 6.0+) */ - if (Table->Length > ACPI_FADT_V3_SIZE) + if (Table->Length > ACPI_FADT_V5_SIZE) { Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoFadt6); @@ -480,6 +527,11 @@ AcpiDmValidateFadtLength ( ExpectedLength = ACPI_FADT_V5_SIZE; break; + case 6: + + ExpectedLength = ACPI_FADT_V6_SIZE; + break; + default: return; Index: src/sys/external/bsd/acpica/dist/compiler/aslcompile.c diff -u src/sys/external/bsd/acpica/dist/compiler/aslcompile.c:1.23 src/sys/external/bsd/acpica/dist/compiler/aslcompile.c:1.24 --- src/sys/external/bsd/acpica/dist/compiler/aslcompile.c:1.23 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/aslcompile.c Fri Sep 13 19:13:23 2024 @@ -589,18 +589,24 @@ AslCompilerFileHeader ( break; } - /* Compilation header with timestamp */ - - Aclock = time (NULL); - NewTime = ctime (&Aclock); + /* Compilation header (with timestamp) */ FlPrintFile (FileId, - "%sCompilation of \"%s\" -", + "%sCompilation of \"%s\"", Prefix, AslGbl_Files[ASL_FILE_INPUT].Filename); - if (NewTime) + if (!AslGbl_Deterministic) + { + Aclock = time (NULL); + NewTime = ctime (&Aclock); + if (NewTime) + { + FlPrintFile (FileId, " - %s%s\n", NewTime, Prefix); + } + } + else { - FlPrintFile (FileId, " %s%s\n", NewTime, Prefix); + FlPrintFile (FileId, "\n"); } switch (FileId) Index: src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h diff -u src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h:1.21 src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h:1.22 --- src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h:1.21 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h Fri Sep 13 19:13:23 2024 @@ -1474,9 +1474,12 @@ RsDoDwordMemoryDescriptor ( ASL_RESOURCE_INFO *Info); ASL_RESOURCE_NODE * -RsDoDwordSpaceDescriptor ( +RsDoDwordPccDescriptor ( ASL_RESOURCE_INFO *Info); +ASL_RESOURCE_NODE * +RsDoDwordSpaceDescriptor ( + ASL_RESOURCE_INFO *Info); /* * aslrestype2e - Extended address descriptors @@ -1506,6 +1509,10 @@ RsDoQwordMemoryDescriptor ( ASL_RESOURCE_INFO *Info); ASL_RESOURCE_NODE * +RsDoQwordPccDescriptor ( + ASL_RESOURCE_INFO *Info); + +ASL_RESOURCE_NODE * RsDoQwordSpaceDescriptor ( ASL_RESOURCE_INFO *Info); @@ -1518,6 +1525,10 @@ RsDoWordIoDescriptor ( ASL_RESOURCE_INFO *Info); ASL_RESOURCE_NODE * +RsDoWordPccDescriptor ( + ASL_RESOURCE_INFO *Info); + +ASL_RESOURCE_NODE * RsDoWordSpaceDescriptor ( ASL_RESOURCE_INFO *Info); Index: src/sys/external/bsd/acpica/dist/compiler/aslcompiler.l diff -u src/sys/external/bsd/acpica/dist/compiler/aslcompiler.l:1.21 src/sys/external/bsd/acpica/dist/compiler/aslcompiler.l:1.22 --- src/sys/external/bsd/acpica/dist/compiler/aslcompiler.l:1.21 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/aslcompiler.l Fri Sep 13 19:13:23 2024 @@ -330,6 +330,7 @@ NamePathTail [.]{NameSeg} "DMA" { count (1); return (PARSEOP_DMA); } "DWordIO" { count (1); return (PARSEOP_DWORDIO); } "DWordMemory" { count (1); return (PARSEOP_DWORDMEMORY); } +"DWordPcc" { count (1); return (PARSEOP_DWORDPCC); } "DWordSpace" { count (1); return (PARSEOP_DWORDSPACE); } "EndDependentFn" { count (1); return (PARSEOP_ENDDEPENDENTFN); } "ExtendedIO" { count (1); return (PARSEOP_EXTENDEDIO); } @@ -356,6 +357,7 @@ NamePathTail [.]{NameSeg} "ClockInput" { count (1); return (PARSEOP_CLOCKINPUT); } "QWordIO" { count (1); return (PARSEOP_QWORDIO); } "QWordMemory" { count (1); return (PARSEOP_QWORDMEMORY); } +"QWordPcc" { count (1); return (PARSEOP_DWORDPCC); } "QWordSpace" { count (1); return (PARSEOP_QWORDSPACE); } "Register" { count (1); return (PARSEOP_REGISTER); } "SpiSerialBus" { count (1); return (PARSEOP_SPI_SERIALBUS); } @@ -368,6 +370,7 @@ NamePathTail [.]{NameSeg} "VendorShort" { count (1); return (PARSEOP_VENDORSHORT); } "WordBusNumber" { count (1); return (PARSEOP_WORDBUSNUMBER); } "WordIO" { count (1); return (PARSEOP_WORDIO); } +"WordPcc" { count (1); return (PARSEOP_DWORDPCC); } "WordSpace" { count (1); return (PARSEOP_WORDSPACE); } Index: src/sys/external/bsd/acpica/dist/compiler/dtfield.c diff -u src/sys/external/bsd/acpica/dist/compiler/dtfield.c:1.21 src/sys/external/bsd/acpica/dist/compiler/dtfield.c:1.22 --- src/sys/external/bsd/acpica/dist/compiler/dtfield.c:1.21 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/dtfield.c Fri Sep 13 19:13:23 2024 @@ -173,8 +173,8 @@ DtCompileString ( if (Length > ByteLength) { snprintf (AslGbl_MsgBuffer, sizeof(AslGbl_MsgBuffer), - "Maximum %u characters, found %u characters [%s]", - ByteLength, Length, Field->Value); + "Maximum %u characters, found %u characters [%.*s]", + ByteLength, Length, (ASL_MSG_BUFFER_SIZE / 2), Field->Value); DtError (ASL_ERROR, ASL_MSG_STRING_LENGTH, Field, AslGbl_MsgBuffer); Length = ByteLength; } Index: src/sys/external/bsd/acpica/dist/compiler/aslfiles.c diff -u src/sys/external/bsd/acpica/dist/compiler/aslfiles.c:1.20 src/sys/external/bsd/acpica/dist/compiler/aslfiles.c:1.21 --- src/sys/external/bsd/acpica/dist/compiler/aslfiles.c:1.20 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/aslfiles.c Fri Sep 13 19:13:23 2024 @@ -238,7 +238,9 @@ FlGetFileHandle ( while (Current) { - if (!strcmp (Current->Files[InFileId].Filename, Filename)) + if (!((Current->FileType == ASL_INPUT_TYPE_ASCII_DATA) && + (InFileId == ASL_FILE_SOURCE_OUTPUT)) && + !strcmp (Current->Files[InFileId].Filename, Filename)) { return (Current->Files[OutFileId].Handle); } Index: src/sys/external/bsd/acpica/dist/compiler/asloptions.c diff -u src/sys/external/bsd/acpica/dist/compiler/asloptions.c:1.17 src/sys/external/bsd/acpica/dist/compiler/asloptions.c:1.18 --- src/sys/external/bsd/acpica/dist/compiler/asloptions.c:1.17 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/asloptions.c Fri Sep 13 19:13:23 2024 @@ -522,6 +522,13 @@ AslDoOptions ( AcpiGbl_DmOpt_Listing = TRUE; break; + case 'd': + + /* Disable deterministic output, enabling timestamp */ + + AslGbl_Deterministic = FALSE; + break; + case 'i': /* Produce preprocessor output file */ Index: src/sys/external/bsd/acpica/dist/compiler/dtutils.c diff -u src/sys/external/bsd/acpica/dist/compiler/dtutils.c:1.22 src/sys/external/bsd/acpica/dist/compiler/dtutils.c:1.23 --- src/sys/external/bsd/acpica/dist/compiler/dtutils.c:1.22 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/dtutils.c Fri Sep 13 19:13:23 2024 @@ -331,6 +331,8 @@ DtGetFieldType ( case ACPI_DMT_BUF12: case ACPI_DMT_BUF16: case ACPI_DMT_BUF18: + case ACPI_DMT_BUF32: + case ACPI_DMT_BUF112: case ACPI_DMT_BUF128: case ACPI_DMT_PCI_PATH: case ACPI_DMT_PMTT_VENDOR: @@ -477,12 +479,6 @@ DtGetFieldLength ( case ACPI_DMT_GTDT: case ACPI_DMT_MADT: case ACPI_DMT_MPAM_LOCATOR: - 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: @@ -513,7 +509,6 @@ 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: @@ -645,6 +640,16 @@ DtGetFieldLength ( ByteLength = 18; break; + case ACPI_DMT_BUF32: + + ByteLength = 32; + break; + + case ACPI_DMT_BUF112: + + ByteLength = 112; + break; + case ACPI_DMT_BUF128: ByteLength = 128; Index: src/sys/external/bsd/acpica/dist/compiler/prutils.c diff -u src/sys/external/bsd/acpica/dist/compiler/prutils.c:1.16 src/sys/external/bsd/acpica/dist/compiler/prutils.c:1.17 --- src/sys/external/bsd/acpica/dist/compiler/prutils.c:1.16 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/compiler/prutils.c Fri Sep 13 19:13:23 2024 @@ -223,9 +223,17 @@ PrReplaceResizeSubstring( */ PrevOffset = Args->Offset[i]; temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); + if (temp == NULL) + { + return; + } ResetHere1: temp = strstr (temp, Args->Name); + if (temp == NULL) + { + return; + } Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - strlen (temp); if (Args->Offset[i] == 0) @@ -267,7 +275,7 @@ JumpHere1: Buff[j] = AslGbl_MacroTokenBuffer[j]; } Buff[strlen (AslGbl_MacroTokenBuffer)] = '\0'; - //fprintf (stderr, "Buff: %s\n", Buff); + /* fprintf(stderr, "Buff: %s\n", Buff); */ UINT32 len = strlen (Buff); @@ -296,7 +304,7 @@ JumpHere1: j--; } } - //fprintf(stderr, "Buff: %s\n", Buff); + /* fprintf(stderr, "Buff: %s\n", Buff); */ for (k = 0; k < strlen (Buff); k++) { @@ -323,9 +331,17 @@ JumpHere1: PrevOffset = Args->Offset[i]; temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); + if (temp == NULL) + { + return; + } ResetHere2: temp = strstr (temp, Args->Name); + if (temp == NULL) + { + return; + } Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - strlen (temp); if (Args->Offset[i] == 0) @@ -376,9 +392,17 @@ JumpHere2: */ PrevOffset = Args->Offset[i]; temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); + if (temp == NULL) + { + return; + } ResetHere3: temp = strstr (temp, Args->Name); + if (temp == NULL) + { + return; + } Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - strlen (temp); if (Args->Offset[i] == 0) Index: src/sys/external/bsd/acpica/dist/debugger/dbnames.c diff -u src/sys/external/bsd/acpica/dist/debugger/dbnames.c:1.17 src/sys/external/bsd/acpica/dist/debugger/dbnames.c:1.18 --- src/sys/external/bsd/acpica/dist/debugger/dbnames.c:1.17 Fri Sep 1 14:37:29 2023 +++ src/sys/external/bsd/acpica/dist/debugger/dbnames.c Fri Sep 13 19:13:23 2024 @@ -666,7 +666,12 @@ AcpiDbWalkForFields ( ACPI_FREE (Buffer.Pointer); Buffer.Length = ACPI_ALLOCATE_LOCAL_BUFFER; - AcpiEvaluateObject (ObjHandle, NULL, NULL, &Buffer); + Status = AcpiEvaluateObject (ObjHandle, NULL, NULL, &Buffer); + if (ACPI_FAILURE (Status)) + { + AcpiOsPrintf ("Could Not evaluate object %p\n", ObjHandle); + return (AE_OK); + } /* * Since this is a field unit, surround the output in braces Index: src/sys/external/bsd/acpica/dist/disassembler/dmwalk.c diff -u src/sys/external/bsd/acpica/dist/disassembler/dmwalk.c:1.16 src/sys/external/bsd/acpica/dist/disassembler/dmwalk.c:1.17 --- src/sys/external/bsd/acpica/dist/disassembler/dmwalk.c:1.16 Fri Sep 1 14:37:30 2023 +++ src/sys/external/bsd/acpica/dist/disassembler/dmwalk.c Fri Sep 13 19:13:23 2024 @@ -861,8 +861,6 @@ AcpiDmDescendingOp ( AcpiDmPredefinedDescription (Op->Asl.Parent); } - AcpiDmPredefinedDescription (Op->Asl.Parent); - AcpiOsPrintf ("\n"); AcpiDmIndent (Info->Level); AcpiOsPrintf ("{\n"); Index: src/sys/external/bsd/acpica/dist/executer/exsystem.c diff -u src/sys/external/bsd/acpica/dist/executer/exsystem.c:1.3 src/sys/external/bsd/acpica/dist/executer/exsystem.c:1.4 --- src/sys/external/bsd/acpica/dist/executer/exsystem.c:1.3 Fri Sep 1 14:37:30 2023 +++ src/sys/external/bsd/acpica/dist/executer/exsystem.c Fri Sep 13 19:13:24 2024 @@ -188,7 +188,7 @@ AcpiExSystemDoStall ( * (ACPI specifies 100 usec as max, but this gives some slack in * order to support existing BIOSs) */ - ACPI_ERROR ((AE_INFO, + ACPI_ERROR_ONCE ((AE_INFO, "Time parameter is too large (%u)", HowLongUs)); Status = AE_AML_OPERAND_VALUE; } @@ -196,7 +196,7 @@ AcpiExSystemDoStall ( { if (HowLongUs > 100) { - ACPI_WARNING ((AE_INFO, + ACPI_WARNING_ONCE ((AE_INFO, "Time parameter %u us > 100 us violating ACPI spec, please fix the firmware.", HowLongUs)); } AcpiOsStall (HowLongUs); Index: src/sys/external/bsd/acpica/dist/hardware/hwxfsleep.c diff -u src/sys/external/bsd/acpica/dist/hardware/hwxfsleep.c:1.18 src/sys/external/bsd/acpica/dist/hardware/hwxfsleep.c:1.19 --- src/sys/external/bsd/acpica/dist/hardware/hwxfsleep.c:1.18 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/hardware/hwxfsleep.c Fri Sep 13 19:13:24 2024 @@ -51,13 +51,11 @@ /* Local prototypes */ -#if (!ACPI_REDUCED_HARDWARE) static ACPI_STATUS AcpiHwSetFirmwareWakingVector ( ACPI_TABLE_FACS *Facs, ACPI_PHYSICAL_ADDRESS PhysicalAddress, ACPI_PHYSICAL_ADDRESS PhysicalAddress64); -#endif static ACPI_STATUS AcpiHwSleepDispatch ( @@ -91,13 +89,6 @@ static ACPI_SLEEP_FUNCTIONS Acpi }; -/* - * These functions are removed for the ACPI_REDUCED_HARDWARE case: - * AcpiSetFirmwareWakingVector - * AcpiEnterSleepStateS4bios - */ - -#if (!ACPI_REDUCED_HARDWARE) /******************************************************************************* * * FUNCTION: AcpiHwSetFirmwareWakingVector @@ -190,6 +181,12 @@ AcpiSetFirmwareWakingVector ( ACPI_EXPORT_SYMBOL (AcpiSetFirmwareWakingVector) +/* + * These functions are removed for the ACPI_REDUCED_HARDWARE case: + * AcpiEnterSleepStateS4bios + */ + +#if (!ACPI_REDUCED_HARDWARE) /******************************************************************************* * * FUNCTION: AcpiEnterSleepStateS4bios Index: src/sys/external/bsd/acpica/dist/include/acdisasm.h diff -u src/sys/external/bsd/acpica/dist/include/acdisasm.h:1.27 src/sys/external/bsd/acpica/dist/include/acdisasm.h:1.28 --- src/sys/external/bsd/acpica/dist/include/acdisasm.h:1.27 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/acdisasm.h Fri Sep 13 19:13:24 2024 @@ -118,6 +118,8 @@ typedef enum ACPI_DMT_BUF12, ACPI_DMT_BUF16, ACPI_DMT_BUF18, + ACPI_DMT_BUF32, + ACPI_DMT_BUF112, ACPI_DMT_BUF128, ACPI_DMT_SIG, ACPI_DMT_STRING, @@ -175,13 +177,6 @@ typedef enum ACPI_DMT_MADT, ACPI_DMT_MPAM_LOCATOR, 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, @@ -281,9 +276,17 @@ extern ACPI_DMTABLE_INFO AcpiDmTa extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestMemError[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestSmmuError[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorV2Error[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestPCIeError[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestProxyError[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXfaceHeader[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface4k[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface16k[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface64k[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXruptV2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAgdi[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoApmtNode[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; @@ -317,6 +320,8 @@ extern ACPI_DMTABLE_INFO AcpiDmTa extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1_te[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt2[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt2_te[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[]; @@ -440,10 +445,14 @@ extern ACPI_DMTABLE_INFO AcpiDmTa extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11a[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11b[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt18[]; @@ -493,24 +502,6 @@ extern ACPI_DMTABLE_INFO AcpiDmTa extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt3a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt5[]; -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 AcpiDmTableInfoNhlt7b[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNhlt9[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhatHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0a[]; @@ -543,6 +534,8 @@ extern ACPI_DMTABLE_INFO AcpiDmTa extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtModule[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHandler[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRas2[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRas2PccDesc[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhct[]; @@ -585,6 +578,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTa extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat6[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat7[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl[]; @@ -789,10 +783,6 @@ AcpiDmDumpNfit ( ACPI_TABLE_HEADER *Table); void -AcpiDmDumpNhlt ( - ACPI_TABLE_HEADER *Table); - -void AcpiDmDumpPcct ( ACPI_TABLE_HEADER *Table); @@ -817,6 +807,10 @@ AcpiDmDumpPrmt ( ACPI_TABLE_HEADER *Table); void +AcpiDmDumpRas2 ( + ACPI_TABLE_HEADER *Table); + +void AcpiDmDumpRgrt ( ACPI_TABLE_HEADER *Table); Index: src/sys/external/bsd/acpica/dist/include/acglobal.h diff -u src/sys/external/bsd/acpica/dist/include/acglobal.h:1.27 src/sys/external/bsd/acpica/dist/include/acglobal.h:1.28 --- src/sys/external/bsd/acpica/dist/include/acglobal.h:1.27 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/acglobal.h Fri Sep 13 19:13:24 2024 @@ -64,11 +64,7 @@ ACPI_INIT_GLOBAL (UINT32, ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FacsIndex, ACPI_INVALID_TABLE_INDEX); ACPI_INIT_GLOBAL (UINT32, AcpiGbl_XFacsIndex, ACPI_INVALID_TABLE_INDEX); ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FadtIndex, ACPI_INVALID_TABLE_INDEX); - -#if (!ACPI_REDUCED_HARDWARE) -ACPI_GLOBAL (ACPI_TABLE_FACS *, AcpiGbl_FACS); - -#endif /* !ACPI_REDUCED_HARDWARE */ +ACPI_INIT_GLOBAL (ACPI_TABLE_FACS *, AcpiGbl_FACS, NULL); /* These addresses are calculated from the FADT Event Block addresses */ Index: src/sys/external/bsd/acpica/dist/include/aclocal.h diff -u src/sys/external/bsd/acpica/dist/include/aclocal.h:1.25 src/sys/external/bsd/acpica/dist/include/aclocal.h:1.26 --- src/sys/external/bsd/acpica/dist/include/aclocal.h:1.25 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/aclocal.h Fri Sep 13 19:13:24 2024 @@ -664,7 +664,7 @@ typedef struct acpi_field_info typedef struct acpi_ged_handler_info { struct acpi_ged_handler_info *Next; - UINT32 IntId; /* The interrupt ID that triggers the execution ofthe EvtMethod. */ + UINT32 IntId; /* The interrupt ID that triggers the execution of the EvtMethod. */ ACPI_NAMESPACE_NODE *EvtMethod; /* The _EVT method to be executed when an interrupt with ID = IntID is received */ } ACPI_GED_HANDLER_INFO; @@ -1304,6 +1304,8 @@ typedef struct acpi_port_info #define ACPI_ADDRESS_TYPE_IO_RANGE 1 #define ACPI_ADDRESS_TYPE_BUS_NUMBER_RANGE 2 +#define ACPI_ADDRESS_TYPE_PCC_NUMBER 0xA + /* Resource descriptor types and masks */ #define ACPI_RESOURCE_NAME_LARGE 0x80 Index: src/sys/external/bsd/acpica/dist/include/acoutput.h diff -u src/sys/external/bsd/acpica/dist/include/acoutput.h:1.17 src/sys/external/bsd/acpica/dist/include/acoutput.h:1.18 --- src/sys/external/bsd/acpica/dist/include/acoutput.h:1.17 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/acoutput.h Fri Sep 13 19:13:24 2024 @@ -228,6 +228,7 @@ */ #ifndef ACPI_NO_ERROR_MESSAGES #define AE_INFO _AcpiModuleName, __LINE__ +#define ACPI_ONCE(_fn, _plist) { static char _done; if (!_done) { _done = 1; _fn _plist; } } /* * Error reporting. Callers module and line number are inserted by AE_INFO, @@ -236,8 +237,10 @@ */ #define ACPI_INFO(plist) AcpiInfo plist #define ACPI_WARNING(plist) AcpiWarning plist +#define ACPI_WARNING_ONCE(plist) ACPI_ONCE(AcpiWarning, plist) #define ACPI_EXCEPTION(plist) AcpiException plist #define ACPI_ERROR(plist) AcpiError plist +#define ACPI_ERROR_ONCE(plist) ACPI_ONCE(AcpiError, plist) #define ACPI_BIOS_WARNING(plist) AcpiBiosWarning plist #define ACPI_BIOS_EXCEPTION(plist) AcpiBiosException plist #define ACPI_BIOS_ERROR(plist) AcpiBiosError plist @@ -249,8 +252,10 @@ #define ACPI_INFO(plist) #define ACPI_WARNING(plist) +#define ACPI_WARNING_ONCE(plist) #define ACPI_EXCEPTION(plist) #define ACPI_ERROR(plist) +#define ACPI_ERROR_ONCE(plist) #define ACPI_BIOS_WARNING(plist) #define ACPI_BIOS_EXCEPTION(plist) #define ACPI_BIOS_ERROR(plist) Index: src/sys/external/bsd/acpica/dist/include/acpixf.h diff -u src/sys/external/bsd/acpica/dist/include/acpixf.h:1.35 src/sys/external/bsd/acpica/dist/include/acpixf.h:1.36 --- src/sys/external/bsd/acpica/dist/include/acpixf.h:1.35 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/acpixf.h Fri Sep 13 19:13:24 2024 @@ -46,7 +46,7 @@ /* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20230628 +#define ACPI_CA_VERSION 0x20240827 #include "acconfig.h" #include "actypes.h" @@ -1187,7 +1187,7 @@ ACPI_STATUS AcpiLeaveSleepState ( UINT8 SleepState)) -ACPI_HW_DEPENDENT_RETURN_STATUS ( +ACPI_EXTERNAL_RETURN_STATUS ( ACPI_STATUS AcpiSetFirmwareWakingVector ( ACPI_PHYSICAL_ADDRESS PhysicalAddress, Index: src/sys/external/bsd/acpica/dist/include/actbl1.h diff -u src/sys/external/bsd/acpica/dist/include/actbl1.h:1.22 src/sys/external/bsd/acpica/dist/include/actbl1.h:1.23 --- src/sys/external/bsd/acpica/dist/include/actbl1.h:1.22 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/actbl1.h Fri Sep 13 19:13:24 2024 @@ -608,6 +608,8 @@ typedef struct acpi_cdat_sslbe } ACPI_CDAT_SSLBE; +#define ACPI_CDAT_SSLBIS_US_PORT 0x0100 +#define ACPI_CDAT_SSLBIS_ANY_PORT 0xffff /******************************************************************************* * @@ -712,20 +714,25 @@ typedef struct acpi_cedt_cfmws_target_el /* 2: CXL XOR Interleave Math Structure */ -struct acpi_cedt_cxims { +typedef struct acpi_cedt_cxims { ACPI_CEDT_HEADER Header; UINT16 Reserved1; UINT8 Hbig; UINT8 NrXormaps; UINT64 XormapList[]; -}; +} ACPI_CEDT_CXIMS; + +typedef struct acpi_cedt_cxims_target_element +{ + UINT64 Xormap; + +} ACPI_CEDT_CXIMS_TARGET_ELEMENT; + /* 3: CXL RCEC Downstream Port Association Structure */ struct acpi_cedt_rdpas { ACPI_CEDT_HEADER Header; - UINT8 Reserved1; - UINT16 Length; UINT16 Segment; UINT16 Bdf; UINT8 Protocol; @@ -930,6 +937,7 @@ typedef struct acpi_dbg2_device #define ACPI_DBG2_16550_WITH_GAS 0x0012 #define ACPI_DBG2_SDM845_7_372MHZ 0x0013 #define ACPI_DBG2_INTEL_LPSS 0x0014 +#define ACPI_DBG2_RISCV_SBI_CON 0x0015 #define ACPI_DBG2_1394_STANDARD 0x0000 @@ -1340,6 +1348,12 @@ enum AcpiEinjCommandStatus #define ACPI_EINJ_PLATFORM_CORRECTABLE (1<<9) #define ACPI_EINJ_PLATFORM_UNCORRECTABLE (1<<10) #define ACPI_EINJ_PLATFORM_FATAL (1<<11) +#define ACPI_EINJ_CXL_CACHE_CORRECTABLE (1<<12) +#define ACPI_EINJ_CXL_CACHE_UNCORRECTABLE (1<<13) +#define ACPI_EINJ_CXL_CACHE_FATAL (1<<14) +#define ACPI_EINJ_CXL_MEM_CORRECTABLE (1<<15) +#define ACPI_EINJ_CXL_MEM_UNCORRECTABLE (1<<16) +#define ACPI_EINJ_CXL_MEM_FATAL (1<<17) #define ACPI_EINJ_VENDOR_DEFINED (1<<31) @@ -2148,7 +2162,7 @@ typedef struct acpi_hmat_cache UINT32 Reserved1; UINT64 CacheSize; UINT32 CacheAttributes; - UINT16 Reserved2; + UINT16 AddressMode; UINT16 NumberOfSMBIOSHandles; } ACPI_HMAT_CACHE; @@ -2161,6 +2175,9 @@ typedef struct acpi_hmat_cache #define ACPI_HMAT_WRITE_POLICY (0x0000F000) #define ACPI_HMAT_CACHE_LINE_SIZE (0xFFFF0000) +#define ACPI_HMAT_CACHE_MODE_UNKNOWN (0) +#define ACPI_HMAT_CACHE_MODE_EXTENDED_LINEAR (1) + /* Values for cache associativity flag */ #define ACPI_HMAT_CA_NONE (0) Index: src/sys/external/bsd/acpica/dist/include/actypes.h diff -u src/sys/external/bsd/acpica/dist/include/actypes.h:1.29 src/sys/external/bsd/acpica/dist/include/actypes.h:1.30 --- src/sys/external/bsd/acpica/dist/include/actypes.h:1.29 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/actypes.h Fri Sep 13 19:13:24 2024 @@ -1457,6 +1457,7 @@ typedef enum #define ACPI_OSI_WIN_10_19H1 0x14 #define ACPI_OSI_WIN_10_20H1 0x15 #define ACPI_OSI_WIN_11 0x16 +#define ACPI_OSI_WIN_11_22H2 0x17 /* Definitions of getopt */ Index: src/sys/external/bsd/acpica/dist/include/platform/acgcc.h diff -u src/sys/external/bsd/acpica/dist/include/platform/acgcc.h:1.11 src/sys/external/bsd/acpica/dist/include/platform/acgcc.h:1.12 --- src/sys/external/bsd/acpica/dist/include/platform/acgcc.h:1.11 Fri Sep 1 14:37:31 2023 +++ src/sys/external/bsd/acpica/dist/include/platform/acgcc.h Fri Sep 13 19:13:24 2024 @@ -112,10 +112,12 @@ typedef __builtin_va_list va_list; * C99, but this is not for any technical reason. Work around the * limitation. */ +#ifndef __cplusplus #define ACPI_FLEX_ARRAY(TYPE, NAME) \ struct { \ struct { } __Empty_ ## NAME; \ TYPE NAME[]; \ } +#endif #endif /* __ACGCC_H__ */ Index: src/sys/external/bsd/acpica/dist/resources/rsdump.c diff -u src/sys/external/bsd/acpica/dist/resources/rsdump.c:1.17 src/sys/external/bsd/acpica/dist/resources/rsdump.c:1.18 --- src/sys/external/bsd/acpica/dist/resources/rsdump.c:1.17 Fri Sep 1 14:37:32 2023 +++ src/sys/external/bsd/acpica/dist/resources/rsdump.c Fri Sep 13 19:13:24 2024 @@ -122,6 +122,7 @@ AcpiRsDumpDescriptor ( ACPI_RSDUMP_INFO *Table); +#ifdef ACPI_DEBUGGER /******************************************************************************* * * FUNCTION: AcpiRsDumpResourceList @@ -251,7 +252,7 @@ AcpiRsDumpIrqList ( PrtElement, PrtElement->Length); } } - +#endif /******************************************************************************* * Index: src/sys/external/bsd/acpica/dist/tables/tbfadt.c diff -u src/sys/external/bsd/acpica/dist/tables/tbfadt.c:1.20 src/sys/external/bsd/acpica/dist/tables/tbfadt.c:1.21 --- src/sys/external/bsd/acpica/dist/tables/tbfadt.c:1.20 Fri Sep 1 14:37:32 2023 +++ src/sys/external/bsd/acpica/dist/tables/tbfadt.c Fri Sep 13 19:13:24 2024 @@ -381,24 +381,19 @@ AcpiTbParseFadt ( ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL, NULL, FALSE, TRUE, &AcpiGbl_DsdtIndex); - /* If Hardware Reduced flag is set, there is no FACS */ - - if (!AcpiGbl_ReducedHardware) + if (AcpiGbl_FADT.Facs) { - if (AcpiGbl_FADT.Facs) - { - AcpiTbInstallStandardTable ( - (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.Facs, - 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, NULL, FALSE, TRUE, - &AcpiGbl_XFacsIndex); - } + AcpiTbInstallStandardTable ( + (ACPI_PHYSICAL_ADDRESS) AcpiGbl_FADT.Facs, + 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, NULL, FALSE, TRUE, + &AcpiGbl_XFacsIndex); } } Index: src/sys/external/bsd/acpica/dist/tables/tbutils.c diff -u src/sys/external/bsd/acpica/dist/tables/tbutils.c:1.22 src/sys/external/bsd/acpica/dist/tables/tbutils.c:1.23 --- src/sys/external/bsd/acpica/dist/tables/tbutils.c:1.22 Fri Sep 1 14:37:32 2023 +++ src/sys/external/bsd/acpica/dist/tables/tbutils.c Fri Sep 13 19:13:24 2024 @@ -57,7 +57,6 @@ AcpiTbGetRootTableEntry ( UINT32 TableEntrySize); -#if (!ACPI_REDUCED_HARDWARE) /******************************************************************************* * * FUNCTION: AcpiTbInitializeFacs @@ -77,15 +76,7 @@ AcpiTbInitializeFacs ( { ACPI_TABLE_FACS *Facs; - - /* If Hardware Reduced flag is set, there is no FACS */ - - if (AcpiGbl_ReducedHardware) - { - AcpiGbl_FACS = NULL; - return (AE_OK); - } - else if (AcpiGbl_FADT.XFacs && + if (AcpiGbl_FADT.XFacs && (!AcpiGbl_FADT.Facs || !AcpiGbl_Use32BitFacsAddresses)) { (void) AcpiGetTableByIndex (AcpiGbl_XFacsIndex, @@ -103,7 +94,6 @@ AcpiTbInitializeFacs ( return (AE_OK); } -#endif /* !ACPI_REDUCED_HARDWARE */ /******************************************************************************* Index: src/sys/external/bsd/acpica/dist/tools/acpixtract/acpixtract.c diff -u src/sys/external/bsd/acpica/dist/tools/acpixtract/acpixtract.c:1.17 src/sys/external/bsd/acpica/dist/tools/acpixtract/acpixtract.c:1.18 --- src/sys/external/bsd/acpica/dist/tools/acpixtract/acpixtract.c:1.17 Fri Sep 1 14:37:33 2023 +++ src/sys/external/bsd/acpica/dist/tools/acpixtract/acpixtract.c Fri Sep 13 19:13:24 2024 @@ -78,6 +78,7 @@ AxExtractTables ( int Status = 0; unsigned int State = AX_STATE_FIND_HEADER; + memset (UpperSignature, 0, sizeof(UpperSignature)); /* Open input in text mode, output is in binary mode */ @@ -104,7 +105,7 @@ AxExtractTables ( AxNormalizeSignature (UpperSignature); Instances = AxCountTableInstances (InputPathname, UpperSignature); - if (Instances < MinimumInstances) + if (Instances < MinimumInstances || MinimumInstances == AX_OPTIONAL_TABLES) { printf ("Table [%s] was not found in %s\n", UpperSignature, InputPathname); Index: src/sys/external/bsd/acpica/dist/utilities/utdebug.c diff -u src/sys/external/bsd/acpica/dist/utilities/utdebug.c:1.21 src/sys/external/bsd/acpica/dist/utilities/utdebug.c:1.22 --- src/sys/external/bsd/acpica/dist/utilities/utdebug.c:1.21 Fri Sep 1 14:37:33 2023 +++ src/sys/external/bsd/acpica/dist/utilities/utdebug.c Fri Sep 13 19:13:25 2024 @@ -107,7 +107,12 @@ AcpiUtTrackStackPtr ( if (&CurrentSp < AcpiGbl_LowestStackPointer) { +#pragma GCC diagnostic push +#if defined(__GNUC__) && __GNUC__ >= 12 +#pragma GCC diagnostic ignored "-Wdangling-pointer=" +#endif AcpiGbl_LowestStackPointer = &CurrentSp; +#pragma GCC diagnostic pop } if (AcpiGbl_NestingLevel > AcpiGbl_DeepestNesting) Index: src/sys/external/bsd/acpica/dist/utilities/utdelete.c diff -u src/sys/external/bsd/acpica/dist/utilities/utdelete.c:1.10 src/sys/external/bsd/acpica/dist/utilities/utdelete.c:1.11 --- src/sys/external/bsd/acpica/dist/utilities/utdelete.c:1.10 Fri Sep 1 14:37:33 2023 +++ src/sys/external/bsd/acpica/dist/utilities/utdelete.c Fri Sep 13 19:13:25 2024 @@ -185,7 +185,7 @@ AcpiUtDeleteInternalObj ( /* Global Lock has extra semaphore */ (void) AcpiOsDeleteSemaphore (AcpiGbl_GlobalLockSemaphore); - AcpiGbl_GlobalLockSemaphore = NULL; + AcpiGbl_GlobalLockSemaphore = ACPI_SEMAPHORE_NULL; AcpiOsDeleteMutex (Object->Mutex.OsMutex); AcpiGbl_GlobalLockMutex = NULL; @@ -204,7 +204,7 @@ AcpiUtDeleteInternalObj ( Object, Object->Event.OsSemaphore)); (void) AcpiOsDeleteSemaphore (Object->Event.OsSemaphore); - Object->Event.OsSemaphore = NULL; + Object->Event.OsSemaphore = ACPI_SEMAPHORE_NULL; break; case ACPI_TYPE_METHOD: Index: src/sys/external/bsd/acpica/dist/utilities/utosi.c diff -u src/sys/external/bsd/acpica/dist/utilities/utosi.c:1.19 src/sys/external/bsd/acpica/dist/utilities/utosi.c:1.20 --- src/sys/external/bsd/acpica/dist/utilities/utosi.c:1.19 Fri Sep 1 14:37:33 2023 +++ src/sys/external/bsd/acpica/dist/utilities/utosi.c Fri Sep 13 19:13:25 2024 @@ -114,6 +114,7 @@ static ACPI_INTERFACE_INFO AcpiDefaul {"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 */ + {"Windows 2022", NULL, 0, ACPI_OSI_WIN_11_22H2}, /* Windows 11 version 22H2 - Added 04/2024 */ /* Feature Group Strings */