Module Name: src
Committed By: christos
Date: Tue Jul 6 12:23:46 UTC 2021
Modified Files:
src/sys/external/bsd/acpica/dist/compiler: aslcompiler.h aslutils.c
dtfield.c dtutils.c
src/sys/external/bsd/acpica/dist/include: acdisasm.h acpixf.h actbl1.h
acutils.h
src/sys/external/bsd/acpica/dist/namespace: nsrepair2.c
src/sys/external/bsd/acpica/dist/utilities: utdelete.c utprint.c
utuuid.c
Log Message:
merge changes for acpica-20210604
To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 \
src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h
cvs rdiff -u -r1.28 -r1.29 \
src/sys/external/bsd/acpica/dist/compiler/aslutils.c
cvs rdiff -u -r1.17 -r1.18 \
src/sys/external/bsd/acpica/dist/compiler/dtfield.c
cvs rdiff -u -r1.16 -r1.17 \
src/sys/external/bsd/acpica/dist/compiler/dtutils.c
cvs rdiff -u -r1.21 -r1.22 \
src/sys/external/bsd/acpica/dist/include/acdisasm.h
cvs rdiff -u -r1.29 -r1.30 src/sys/external/bsd/acpica/dist/include/acpixf.h
cvs rdiff -u -r1.17 -r1.18 src/sys/external/bsd/acpica/dist/include/actbl1.h
cvs rdiff -u -r1.23 -r1.24 src/sys/external/bsd/acpica/dist/include/acutils.h
cvs rdiff -u -r1.17 -r1.18 \
src/sys/external/bsd/acpica/dist/namespace/nsrepair2.c
cvs rdiff -u -r1.6 -r1.7 \
src/sys/external/bsd/acpica/dist/utilities/utdelete.c
cvs rdiff -u -r1.10 -r1.11 \
src/sys/external/bsd/acpica/dist/utilities/utprint.c
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/acpica/dist/utilities/utuuid.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/compiler/aslcompiler.h
diff -u src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h:1.18 src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h:1.19
--- src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h:1.18 Sat Apr 3 13:45:02 2021
+++ src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h Tue Jul 6 08:23:46 2021
@@ -1116,6 +1116,10 @@ DbgPrint (
#define ASL_PARSE_OUTPUT 1
#define ASL_TREE_OUTPUT 2
+BOOLEAN
+UtIsIdInteger (
+ UINT8 *Target);
+
UINT8
UtIsBigEndianMachine (
void);
Index: src/sys/external/bsd/acpica/dist/compiler/aslutils.c
diff -u src/sys/external/bsd/acpica/dist/compiler/aslutils.c:1.28 src/sys/external/bsd/acpica/dist/compiler/aslutils.c:1.29
--- src/sys/external/bsd/acpica/dist/compiler/aslutils.c:1.28 Sat Apr 3 13:45:02 2021
+++ src/sys/external/bsd/acpica/dist/compiler/aslutils.c Tue Jul 6 08:23:46 2021
@@ -98,6 +98,46 @@ UtIsBigEndianMachine (
}
+/*******************************************************************************
+ *
+ * FUNCTION: UtIsIdInteger
+ *
+ * PARAMETERS: Pointer to an ACPI ID (HID, CID) string
+ *
+ * RETURN: TRUE if string is an integer
+ * FALSE if string is not an integer
+ *
+ * DESCRIPTION: Determine whether the input ACPI ID string can be converted to
+ * an integer value.
+ *
+ ******************************************************************************/
+
+BOOLEAN
+UtIsIdInteger (
+ UINT8 *Target)
+{
+ UINT32 i;
+
+
+ /* The first three characters of the string must be alphabetic */
+
+ for (i = 0; i < 3; i++)
+ {
+ if (!isalpha ((int) Target[i]))
+ {
+ break;
+ }
+ }
+
+ if (i < 3)
+ {
+ return (TRUE);
+ }
+
+ return (FALSE);
+}
+
+
/******************************************************************************
*
* FUNCTION: UtQueryForOverwrite
Index: src/sys/external/bsd/acpica/dist/compiler/dtfield.c
diff -u src/sys/external/bsd/acpica/dist/compiler/dtfield.c:1.17 src/sys/external/bsd/acpica/dist/compiler/dtfield.c:1.18
--- src/sys/external/bsd/acpica/dist/compiler/dtfield.c:1.17 Sat Apr 3 13:45:02 2021
+++ src/sys/external/bsd/acpica/dist/compiler/dtfield.c Tue Jul 6 08:23:46 2021
@@ -326,14 +326,14 @@ DtCompileInteger (
{
if (Value != 1)
{
- DtError (ASL_WARNING, ASL_MSG_RESERVED_VALUE, Field,
+ DtError (ASL_WARNING, ASL_MSG_RESERVED_FIELD, Field,
"Must be one, setting to one");
Value = 1;
}
}
else if (Value != 0)
{
- DtError (ASL_WARNING, ASL_MSG_RESERVED_VALUE, Field,
+ DtError (ASL_WARNING, ASL_MSG_RESERVED_FIELD, Field,
"Must be zero, setting to zero");
Value = 0;
}
Index: src/sys/external/bsd/acpica/dist/compiler/dtutils.c
diff -u src/sys/external/bsd/acpica/dist/compiler/dtutils.c:1.16 src/sys/external/bsd/acpica/dist/compiler/dtutils.c:1.17
--- src/sys/external/bsd/acpica/dist/compiler/dtutils.c:1.16 Sat Apr 3 13:45:02 2021
+++ src/sys/external/bsd/acpica/dist/compiler/dtutils.c Tue Jul 6 08:23:46 2021
@@ -318,6 +318,7 @@ DtGetFieldType (
case ACPI_DMT_NAME6:
case ACPI_DMT_NAME8:
case ACPI_DMT_STRING:
+ case ACPI_DMT_IVRS_UNTERMINATED_STRING:
Type = DT_FIELD_TYPE_STRING;
break;
@@ -468,11 +469,13 @@ DtGetFieldLength (
case ACPI_DMT_ACCWIDTH:
case ACPI_DMT_CEDT:
case ACPI_DMT_IVRS:
+ case ACPI_DMT_IVRS_DE:
case ACPI_DMT_GTDT:
case ACPI_DMT_MADT:
case ACPI_DMT_PCCT:
case ACPI_DMT_PMTT:
case ACPI_DMT_PPTT:
+ case ACPI_DMT_RGRT:
case ACPI_DMT_SDEV:
case ACPI_DMT_SRAT:
case ACPI_DMT_ASF:
@@ -552,6 +555,22 @@ DtGetFieldLength (
}
break;
+ case ACPI_DMT_IVRS_UNTERMINATED_STRING:
+
+ Value = DtGetFieldValue (Field);
+ if (Value)
+ {
+ ByteLength = strlen (Value);
+ }
+ else
+ { /* At this point, this is a fatal error */
+
+ sprintf (AslGbl_MsgBuffer, "Expected \"%s\"", Info->Name);
+ DtFatal (ASL_MSG_COMPILER_INTERNAL, NULL, AslGbl_MsgBuffer);
+ return (0);
+ }
+ break;
+
case ACPI_DMT_GAS:
ByteLength = sizeof (ACPI_GENERIC_ADDRESS);
Index: src/sys/external/bsd/acpica/dist/include/acdisasm.h
diff -u src/sys/external/bsd/acpica/dist/include/acdisasm.h:1.21 src/sys/external/bsd/acpica/dist/include/acdisasm.h:1.22
--- src/sys/external/bsd/acpica/dist/include/acdisasm.h:1.21 Sat Apr 3 13:45:03 2021
+++ src/sys/external/bsd/acpica/dist/include/acdisasm.h Tue Jul 6 08:23:46 2021
@@ -158,6 +158,8 @@ typedef enum
ACPI_DMT_HMAT,
ACPI_DMT_IORTMEM,
ACPI_DMT_IVRS,
+ ACPI_DMT_IVRS_DE,
+ ACPI_DMT_IVRS_UNTERMINATED_STRING,
ACPI_DMT_LPIT,
ACPI_DMT_MADT,
ACPI_DMT_NFIT,
@@ -166,6 +168,7 @@ typedef enum
ACPI_DMT_PMTT,
ACPI_DMT_PMTT_VENDOR,
ACPI_DMT_PPTT,
+ ACPI_DMT_RGRT,
ACPI_DMT_SDEI,
ACPI_DMT_SDEV,
ACPI_DMT_SLIC,
@@ -257,6 +260,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTa
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoBdat[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[];
@@ -357,16 +361,20 @@ extern ACPI_DMTABLE_INFO AcpiDmTa
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[];
-extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[];
-extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs01[];
-extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware1[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware23[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsMemory[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidString[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidInteger[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid[];
-extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid1[];
-extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidString[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidInteger[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidString[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidInteger[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
@@ -438,7 +446,12 @@ extern ACPI_DMTABLE_INFO AcpiDmTa
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHdr[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtModule[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHandler[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
@@ -472,6 +485,8 @@ extern ACPI_DMTABLE_INFO AcpiDmTa
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[];
@@ -666,6 +681,14 @@ void
AcpiDmDumpPptt (
ACPI_TABLE_HEADER *Table);
+void
+AcpiDmDumpPrmt (
+ ACPI_TABLE_HEADER *Table);
+
+void
+AcpiDmDumpRgrt (
+ ACPI_TABLE_HEADER *Table);
+
UINT32
AcpiDmDumpRsdp (
ACPI_TABLE_HEADER *Table);
@@ -699,6 +722,10 @@ AcpiDmDumpStao (
ACPI_TABLE_HEADER *Table);
void
+AcpiDmDumpSvkl (
+ ACPI_TABLE_HEADER *Table);
+
+void
AcpiDmDumpTcpa (
ACPI_TABLE_HEADER *Table);
Index: src/sys/external/bsd/acpica/dist/include/acpixf.h
diff -u src/sys/external/bsd/acpica/dist/include/acpixf.h:1.29 src/sys/external/bsd/acpica/dist/include/acpixf.h:1.30
--- src/sys/external/bsd/acpica/dist/include/acpixf.h:1.29 Sat Apr 3 13:45:03 2021
+++ src/sys/external/bsd/acpica/dist/include/acpixf.h Tue Jul 6 08:23:46 2021
@@ -46,7 +46,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20210331
+#define ACPI_CA_VERSION 0x20210604
#include "acconfig.h"
#include "actypes.h"
Index: src/sys/external/bsd/acpica/dist/include/actbl1.h
diff -u src/sys/external/bsd/acpica/dist/include/actbl1.h:1.17 src/sys/external/bsd/acpica/dist/include/actbl1.h:1.18
--- src/sys/external/bsd/acpica/dist/include/actbl1.h:1.17 Sat Apr 3 13:45:03 2021
+++ src/sys/external/bsd/acpica/dist/include/actbl1.h Tue Jul 6 08:23:46 2021
@@ -415,9 +415,19 @@ typedef struct acpi_cedt_header
enum AcpiCedtType
{
ACPI_CEDT_TYPE_CHBS = 0,
- ACPI_CEDT_TYPE_RESERVED = 1
+ ACPI_CEDT_TYPE_CFMWS = 1,
+ ACPI_CEDT_TYPE_RESERVED = 2,
};
+/* Values for version field above */
+
+#define ACPI_CEDT_CHBS_VERSION_CXL11 (0)
+#define ACPI_CEDT_CHBS_VERSION_CXL20 (1)
+
+/* Values for length field above */
+
+#define ACPI_CEDT_CHBS_LENGTH_CXL11 (0x2000)
+#define ACPI_CEDT_CHBS_LENGTH_CXL20 (0x10000)
/*
* CEDT subtables
@@ -437,6 +447,37 @@ typedef struct acpi_cedt_chbs
} ACPI_CEDT_CHBS;
+/* 1: CXL Fixed Memory Window Structure */
+
+typedef struct acpi_cedt_cfmws
+{
+ ACPI_CEDT_HEADER Header;
+ UINT32 Reserved1;
+ UINT64 BaseHpa;
+ UINT64 WindowSize;
+ UINT8 InterleaveWays;
+ UINT8 InterleaveArithmetic;
+ UINT16 Reserved2;
+ UINT32 Granularity;
+ UINT16 Restrictions;
+ UINT16 QtgId;
+ UINT32 InterleaveTargets[];
+
+} ACPI_CEDT_CFMWS;
+
+/* Values for Interleave Arithmetic field above */
+
+#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)
+
+
/*******************************************************************************
*
* CPEP - Corrected Platform Error Polling table (ACPI 4.0)
Index: src/sys/external/bsd/acpica/dist/include/acutils.h
diff -u src/sys/external/bsd/acpica/dist/include/acutils.h:1.23 src/sys/external/bsd/acpica/dist/include/acutils.h:1.24
--- src/sys/external/bsd/acpica/dist/include/acutils.h:1.23 Sat Apr 3 13:45:03 2021
+++ src/sys/external/bsd/acpica/dist/include/acutils.h Tue Jul 6 08:23:46 2021
@@ -1160,6 +1160,11 @@ void
AcpiUtConvertStringToUuid (
const char *InString,
UINT8 *UuidBuffer);
+
+ACPI_STATUS
+AcpiUtConvertUuidToString (
+ char *UuidBuffer,
+ char *OutString);
#endif
#endif /* _ACUTILS_H */
Index: src/sys/external/bsd/acpica/dist/namespace/nsrepair2.c
diff -u src/sys/external/bsd/acpica/dist/namespace/nsrepair2.c:1.17 src/sys/external/bsd/acpica/dist/namespace/nsrepair2.c:1.18
--- src/sys/external/bsd/acpica/dist/namespace/nsrepair2.c:1.17 Sat Apr 3 13:45:03 2021
+++ src/sys/external/bsd/acpica/dist/namespace/nsrepair2.c Tue Jul 6 08:23:46 2021
@@ -457,6 +457,13 @@ AcpiNsRepair_CID (
(*ElementPtr)->Common.ReferenceCount =
OriginalRefCount;
+
+ /*
+ * The OriginalElement holds a reference from the package object
+ * that represents _HID. Since a new element was created by _HID,
+ * remove the reference from the _CID package.
+ */
+ AcpiUtRemoveReference (OriginalElement);
}
ElementPtr++;
Index: src/sys/external/bsd/acpica/dist/utilities/utdelete.c
diff -u src/sys/external/bsd/acpica/dist/utilities/utdelete.c:1.6 src/sys/external/bsd/acpica/dist/utilities/utdelete.c:1.7
--- src/sys/external/bsd/acpica/dist/utilities/utdelete.c:1.6 Sat Apr 3 13:45:04 2021
+++ src/sys/external/bsd/acpica/dist/utilities/utdelete.c Tue Jul 6 08:23:46 2021
@@ -335,6 +335,14 @@ AcpiUtDeleteInternalObj (
}
break;
+ case ACPI_TYPE_LOCAL_ADDRESS_HANDLER:
+
+ ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS,
+ "***** Address handler %p\n", Object));
+
+ AcpiOsDeleteMutex (Object->AddressSpace.ContextMutex);
+ break;
+
default:
break;
Index: src/sys/external/bsd/acpica/dist/utilities/utprint.c
diff -u src/sys/external/bsd/acpica/dist/utilities/utprint.c:1.10 src/sys/external/bsd/acpica/dist/utilities/utprint.c:1.11
--- src/sys/external/bsd/acpica/dist/utilities/utprint.c:1.10 Sat Apr 3 13:45:04 2021
+++ src/sys/external/bsd/acpica/dist/utilities/utprint.c Tue Jul 6 08:23:46 2021
@@ -624,7 +624,7 @@ vsnprintf (
case 'X':
Type |= ACPI_FORMAT_UPPER;
- /* FALLTHROUGH */
+ ACPI_FALLTHROUGH;
case 'x':
Index: src/sys/external/bsd/acpica/dist/utilities/utuuid.c
diff -u src/sys/external/bsd/acpica/dist/utilities/utuuid.c:1.9 src/sys/external/bsd/acpica/dist/utilities/utuuid.c:1.10
--- src/sys/external/bsd/acpica/dist/utilities/utuuid.c:1.9 Sat Apr 3 13:45:04 2021
+++ src/sys/external/bsd/acpica/dist/utilities/utuuid.c Tue Jul 6 08:23:46 2021
@@ -100,4 +100,52 @@ AcpiUtConvertStringToUuid (
InString[AcpiGbl_MapToUuidOffset[i] + 1]);
}
}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiUtConvertUuidToString
+ *
+ * PARAMETERS: UuidBuffer - 16-byte UUID buffer
+ * OutString - 36-byte formatted UUID string
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Convert 16-byte UUID buffer to 36-byte formatted UUID string
+ * OutString must be 37 bytes to include null terminator.
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+AcpiUtConvertUuidToString (
+ char *UuidBuffer,
+ char *OutString)
+{
+ UINT32 i;
+
+
+ if (!UuidBuffer || !OutString)
+ {
+ return (AE_BAD_PARAMETER);
+ }
+
+ for (i = 0; i < UUID_BUFFER_LENGTH; i++)
+ {
+ OutString[AcpiGbl_MapToUuidOffset[i]] =
+ AcpiUtHexToAsciiChar (UuidBuffer[i], 4);
+
+ OutString[AcpiGbl_MapToUuidOffset[i] + 1] =
+ AcpiUtHexToAsciiChar (UuidBuffer[i], 0);
+ }
+
+ /* Insert required hyphens (dashes) */
+
+ OutString[UUID_HYPHEN1_OFFSET] =
+ OutString[UUID_HYPHEN2_OFFSET] =
+ OutString[UUID_HYPHEN3_OFFSET] =
+ OutString[UUID_HYPHEN4_OFFSET] = '-';
+
+ OutString[UUID_STRING_LENGTH] = 0; /* Null terminate */
+ return (AE_OK);
+}
#endif