Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/external/bsd/acpica/dist Import acpica-20210604



details:   https://anonhg.NetBSD.org/src/rev/7613b95cc4c0
branches:  trunk
changeset: 1022152:7613b95cc4c0
user:      christos <christos%NetBSD.org@localhost>
date:      Tue Jul 06 11:52:52 2021 +0000

description:
Import acpica-20210604

----------------------------------------
04 June 2021. Summary of changes for version 20210604:

1) ACPICA kernel-resident subsystem:

Cleaned up (delete) the context mutex during local address handler object
deletion.

Fixed a memory leak caused by the _CID repair function.

Added support for PlatformRtMechanism OperationRegion handler. Adds a new
utility function, AcpiUtConvertUuidToString. Writing a buffer to a
PlatformRtMechanism fieldunit invokes a bidirectional transaction. The
input buffer contains 26 bytes containing 9 bytes of status, a command
byte and a 16-byte UUID. This change will simply pass this incoming
buffer to a handler registered by the OS.

2) iASL Compiler/Disassembler and ACPICA tools:

Added full support for the PRMT ACPI table (Platform Runtime Mechanism
Table). Includes support in the iASL compiler, the disassembler, and the
template generator.

Added full support for the BDAT (BIOS Data ACPI Table) ACPI table.

Added full support for the RGRT (Regulatory Graphics Resource Table) ACPI
table.

Added full support for the SVKL (Storage Volume Key Location Table) ACPI
table. Header file support from Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy%linux.intel.com@localhost>.

Completed full support for the IVRS (I/O Virtualization Reporting
Structure) ACPI table. Added compiler support for IVRS, updated
disassembler support. Adds a new utility, UtIsIdInteger, to determine if
a HID/CID is an integer or a string.

Headers: Added more structs to the CEDT table: CXL fixed memory window
structure.

ACPI 6.4: MADT: added Multiprocessor Wakeup Mailbox Structure.

diffstat:

 sys/external/bsd/acpica/dist/changes.txt                |   42 +
 sys/external/bsd/acpica/dist/common/ahtable.c           |   42 +-
 sys/external/bsd/acpica/dist/common/dmtable.c           |  116 +++++-
 sys/external/bsd/acpica/dist/common/dmtbdump2.c         |  230 +++++++++-
 sys/external/bsd/acpica/dist/common/dmtbdump3.c         |   60 ++
 sys/external/bsd/acpica/dist/common/dmtbinfo1.c         |   13 +
 sys/external/bsd/acpica/dist/common/dmtbinfo2.c         |  203 +++++++-
 sys/external/bsd/acpica/dist/common/dmtbinfo3.c         |   24 +
 sys/external/bsd/acpica/dist/compiler/aslmessages.c     |    6 +-
 sys/external/bsd/acpica/dist/compiler/aslmessages.h     |    4 +-
 sys/external/bsd/acpica/dist/compiler/asluuid.c         |   47 --
 sys/external/bsd/acpica/dist/compiler/dtcompiler.h      |   16 +
 sys/external/bsd/acpica/dist/compiler/dtio.c            |    6 +-
 sys/external/bsd/acpica/dist/compiler/dttable1.c        |  338 +++++++++++----
 sys/external/bsd/acpica/dist/compiler/dttable2.c        |  169 ++++++++
 sys/external/bsd/acpica/dist/compiler/dttemplate.h      |  212 +++++++++-
 sys/external/bsd/acpica/dist/executer/exfield.c         |    6 +-
 sys/external/bsd/acpica/dist/executer/exserial.c        |   12 +
 sys/external/bsd/acpica/dist/include/acbuffer.h         |    9 +
 sys/external/bsd/acpica/dist/include/acconfig.h         |    1 +
 sys/external/bsd/acpica/dist/include/actbinfo.h         |    9 +
 sys/external/bsd/acpica/dist/include/actbl2.h           |  156 +++++++
 sys/external/bsd/acpica/dist/tools/acpiexec/aeinstall.c |    1 +
 sys/external/bsd/acpica/dist/tools/acpiexec/aeregion.c  |   17 +
 sys/external/bsd/acpica/dist/tools/acpisrc/astable.c    |    9 +
 25 files changed, 1492 insertions(+), 256 deletions(-)

diffs (truncated from 2608 to 300 lines):

diff -r cbe78ffa128b -r 7613b95cc4c0 sys/external/bsd/acpica/dist/changes.txt
--- a/sys/external/bsd/acpica/dist/changes.txt  Tue Jul 06 11:49:36 2021 +0000
+++ b/sys/external/bsd/acpica/dist/changes.txt  Tue Jul 06 11:52:52 2021 +0000
@@ -1,4 +1,46 @@
 ----------------------------------------
+04 June 2021. Summary of changes for version 20210604:
+
+1) ACPICA kernel-resident subsystem:
+
+Cleaned up (delete) the context mutex during local address handler object 
+deletion.
+
+Fixed a memory leak caused by the _CID repair function.
+
+Added support for PlatformRtMechanism OperationRegion handler. Adds a new 
+utility function, AcpiUtConvertUuidToString. Writing a buffer to a 
+PlatformRtMechanism fieldunit invokes a bidirectional transaction. The 
+input buffer contains 26 bytes containing 9 bytes of status, a command 
+byte and a 16-byte UUID. This change will simply pass this incoming 
+buffer to a handler registered by the OS.
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+Added full support for the PRMT ACPI table (Platform Runtime Mechanism 
+Table). Includes support in the iASL compiler, the disassembler, and the 
+template generator.
+
+Added full support for the BDAT (BIOS Data ACPI Table) ACPI table.
+
+Added full support for the RGRT (Regulatory Graphics Resource Table) ACPI 
+table.
+
+Added full support for the SVKL (Storage Volume Key Location Table) ACPI 
+table. Header file support from Kuppuswamy Sathyanarayanan 
+<sathyanarayanan.kuppuswamy%linux.intel.com@localhost>.
+
+Completed full support for the IVRS (I/O Virtualization Reporting 
+Structure) ACPI table. Added compiler support for IVRS, updated 
+disassembler support. Adds a new utility, UtIsIdInteger, to determine if 
+a HID/CID is an integer or a string.
+
+Headers: Added more structs to the CEDT table: CXL fixed memory window 
+structure.
+
+ACPI 6.4: MADT: added Multiprocessor Wakeup Mailbox Structure.
+
+----------------------------------------
 31 March 2021. Summary of changes for version 20210331:
 
 This release is available at https://acpica.org/downloads, and includes 
diff -r cbe78ffa128b -r 7613b95cc4c0 sys/external/bsd/acpica/dist/common/ahtable.c
--- a/sys/external/bsd/acpica/dist/common/ahtable.c     Tue Jul 06 11:49:36 2021 +0000
+++ b/sys/external/bsd/acpica/dist/common/ahtable.c     Tue Jul 06 11:52:52 2021 +0000
@@ -91,20 +91,21 @@
  */
 const AH_TABLE      AcpiGbl_SupportedTables[] =
 {
-    {ACPI_SIG_ASF,  "Alert Standard Format table"},
+    {ACPI_SIG_ASF,  "Alert Standard Format Table"},
+    {ACPI_SIG_BDAT, "BIOS Data ACPI Table"},
     {ACPI_SIG_BERT, "Boot Error Record Table"},
     {ACPI_SIG_BGRT, "Boot Graphics Resource Table"},
     {ACPI_SIG_BOOT, "Simple Boot Flag Table"},
     {ACPI_SIG_CEDT, "CXL Early Discovery Table"},
-    {ACPI_SIG_CPEP, "Corrected Platform Error Polling table"},
+    {ACPI_SIG_CPEP, "Corrected Platform Error Polling Table"},
     {ACPI_SIG_CSRT, "Core System Resource Table"},
-    {ACPI_SIG_DBG2, "Debug Port table type 2"},
-    {ACPI_SIG_DBGP, "Debug Port table"},
-    {ACPI_SIG_DMAR, "DMA Remapping table"},
-    {ACPI_SIG_DRTM, "Dynamic Root of Trust for Measurement table"},
+    {ACPI_SIG_DBG2, "Debug Port Table type 2"},
+    {ACPI_SIG_DBGP, "Debug Port Table"},
+    {ACPI_SIG_DMAR, "DMA Remapping Table"},
+    {ACPI_SIG_DRTM, "Dynamic Root of Trust for Measurement Table"},
     {ACPI_SIG_DSDT, "Differentiated System Description Table (AML table)"},
     {ACPI_SIG_ECDT, "Embedded Controller Boot Resources Table"},
-    {ACPI_SIG_EINJ, "Error Injection table"},
+    {ACPI_SIG_EINJ, "Error Injection Table"},
     {ACPI_SIG_ERST, "Error Record Serialization Table"},
     {ACPI_SIG_FACS, "Firmware ACPI Control Structure"},
     {ACPI_SIG_FADT, "Fixed ACPI Description Table (FADT)"},
@@ -112,38 +113,41 @@
     {ACPI_SIG_GTDT, "Generic Timer Description Table"},
     {ACPI_SIG_HEST, "Hardware Error Source Table"},
     {ACPI_SIG_HMAT, "Heterogeneous Memory Attributes Table"},
-    {ACPI_SIG_HPET, "High Precision Event Timer table"},
+    {ACPI_SIG_HPET, "High Precision Event Timer Table"},
     {ACPI_SIG_IORT, "IO Remapping Table"},
     {ACPI_SIG_IVRS, "I/O Virtualization Reporting Structure"},
     {ACPI_SIG_LPIT, "Low Power Idle Table"},
     {ACPI_SIG_MADT, "Multiple APIC Description Table (MADT)"},
-    {ACPI_SIG_MCFG, "Memory Mapped Configuration table"},
-    {ACPI_SIG_MCHI, "Management Controller Host Interface table"},
+    {ACPI_SIG_MCFG, "Memory Mapped Configuration Table"},
+    {ACPI_SIG_MCHI, "Management Controller Host Interface Table"},
     {ACPI_SIG_MPST, "Memory Power State Table"},
     {ACPI_SIG_MSCT, "Maximum System Characteristics Table"},
-    {ACPI_SIG_MSDM, "Microsoft Data Management table"},
+    {ACPI_SIG_MSDM, "Microsoft Data Management Table"},
     {ACPI_SIG_NFIT, "NVDIMM Firmware Interface Table"},
     {ACPI_SIG_PCCT, "Platform Communications Channel Table"},
+    {ACPI_SIG_PDTT, "Platform Debug Trigger Table"},
     {ACPI_SIG_PHAT, "Platform Health Assessment Table"},
-    {ACPI_SIG_PDTT, "Platform Debug Trigger Table"},
     {ACPI_SIG_PMTT, "Platform Memory Topology Table"},
     {ACPI_SIG_PPTT, "Processor Properties Topology Table"},
+    {ACPI_SIG_PRMT, "Platform Runtime Mechanism Table"},
     {ACPI_SIG_RASF, "RAS Features Table"},
+    {ACPI_SIG_RGRT, "Regulatory Graphics Resource Table"},
     {ACPI_RSDP_NAME,"Root System Description Pointer"},
     {ACPI_SIG_RSDT, "Root System Description Table"},
     {ACPI_SIG_S3PT, "S3 Performance Table"},
     {ACPI_SIG_SBST, "Smart Battery Specification Table"},
     {ACPI_SIG_SDEI, "Software Delegated Exception Interface Table"},
-    {ACPI_SIG_SDEV, "Secure Devices table"},
+    {ACPI_SIG_SDEV, "Secure Devices Table"},
     {ACPI_SIG_SLIC, "Software Licensing Description Table"},
     {ACPI_SIG_SLIT, "System Locality Information Table"},
-    {ACPI_SIG_SPCR, "Serial Port Console Redirection table"},
-    {ACPI_SIG_SPMI, "Server Platform Management Interface table"},
+    {ACPI_SIG_SPCR, "Serial Port Console Redirection Table"},
+    {ACPI_SIG_SPMI, "Server Platform Management Interface Table"},
     {ACPI_SIG_SRAT, "System Resource Affinity Table"},
     {ACPI_SIG_SSDT, "Secondary System Description Table (AML table)"},
-    {ACPI_SIG_STAO, "Status Override table"},
-    {ACPI_SIG_TCPA, "Trusted Computing Platform Alliance table"},
-    {ACPI_SIG_TPM2, "Trusted Platform Module hardware interface table"},
+    {ACPI_SIG_STAO, "Status Override Table"},
+    {ACPI_SIG_SVKL, "Storage Volume Key Location Table"},
+    {ACPI_SIG_TCPA, "Trusted Computing Platform Alliance 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"},
     {ACPI_SIG_WAET, "Windows ACPI Emulated Devices Table"},
@@ -152,7 +156,7 @@
     {ACPI_SIG_WDRT, "Watchdog Resource Table"},
     {ACPI_SIG_WPBT, "Windows Platform Binary Table"},
     {ACPI_SIG_WSMT, "Windows SMM Security Mitigations Table"},
-    {ACPI_SIG_XENV, "Xen Environment table"},
+    {ACPI_SIG_XENV, "Xen Environment Table"},
     {ACPI_SIG_XSDT, "Extended System Description Table"},
     {NULL,          NULL}
 };
diff -r cbe78ffa128b -r 7613b95cc4c0 sys/external/bsd/acpica/dist/common/dmtable.c
--- a/sys/external/bsd/acpica/dist/common/dmtable.c     Tue Jul 06 11:49:36 2021 +0000
+++ b/sys/external/bsd/acpica/dist/common/dmtable.c     Tue Jul 06 11:52:52 2021 +0000
@@ -79,6 +79,7 @@
 static const char           *AcpiDmCedtSubnames[] =
 {
     "CXL Host Bridge Structure",
+    "CXL Fixed Memory Window Structure",
     "Unknown Subtable Type"         /* Reserved */
 };
 
@@ -242,6 +243,7 @@
     "Generic MSI Frame",                /* ACPI_MADT_GENERIC_MSI_FRAME */
     "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 */
 };
 
@@ -293,6 +295,12 @@
     "Unknown Subtable Type"         /* Reserved */
 };
 
+static const char           *AcpiDmRgrtSubnames[] =
+{
+    "Unknown/Reserved Image Type",  /* ACPI_RGRT_TYPE_RESERVED0 */
+    "Type PNG"                      /* ACPI_RGRT_IMAGE_TYPE_PNG */
+};
+
 static const char           *AcpiDmSdevSubnames[] =
 {
     "Namespace Device",             /* ACPI_SDEV_TYPE_NAMESPACE_DEVICE */
@@ -330,9 +338,28 @@
 
 static const char           *AcpiDmIvrsSubnames[] =
 {
-    "Hardware Definition Block",
-    "Memory Definition Block",
-    "Unknown Subtable Type"         /* Reserved */
+    "Hardware Definition Block (IVHD)",
+    "Hardware Definition Block - Mixed Format (IVHD)",
+    "Memory Definition Block (IVMD)",
+    "Unknown/Reserved Subtable Type"            /* Reserved */
+};
+
+static const char           *AcpiDmIvrsDevEntryNames[] =
+{
+    "Unknown/Reserved Device Entry Type",       /* 0- Reserved */
+    "Device Entry: Select All Devices",         /* 1 */
+    "Device Entry: Select One Device",          /* 2 */
+    "Device Entry: Start of Range",             /* 3 */
+    "Device Entry: End of Range",               /* 4 */
+    "Device Entry: Alias Select",               /* 66 */
+    "Device Entry: Alias Start of Range",       /* 67 */
+    "Unknown/Reserved Device Entry Type",       /* 68- Reserved */
+    "Unknown/Reserved Device Entry Type",       /* 69- Reserved */
+    "Device Entry: Extended Select",            /* 70 */
+    "Device Entry: Extended Start of Range",    /* 71 */
+    "Device Entry: Special Device",             /* 72 */
+    "Device Entry: ACPI HID Named Device",      /* 240 */
+    "Unknown/Reserved Device Entry Type"        /* Reserved */
 };
 
 static const char           *AcpiDmLpitSubnames[] =
@@ -399,6 +426,7 @@
 const ACPI_DMTABLE_DATA     AcpiDmTableData[] =
 {
     {ACPI_SIG_ASF,  NULL,                   AcpiDmDumpAsf,  DtCompileAsf,   TemplateAsf},
+    {ACPI_SIG_BDAT, AcpiDmTableInfoBdat,    NULL,           NULL,           TemplateBdat},
     {ACPI_SIG_BERT, AcpiDmTableInfoBert,    NULL,           NULL,           TemplateBert},
     {ACPI_SIG_BGRT, AcpiDmTableInfoBgrt,    NULL,           NULL,           TemplateBgrt},
     {ACPI_SIG_BOOT, AcpiDmTableInfoBoot,    NULL,           NULL,           TemplateBoot},
@@ -433,7 +461,9 @@
     {ACPI_SIG_PHAT, NULL,                   AcpiDmDumpPhat, DtCompilePhat,  TemplatePhat},
     {ACPI_SIG_PMTT, NULL,                   AcpiDmDumpPmtt, DtCompilePmtt,  TemplatePmtt},
     {ACPI_SIG_PPTT, NULL,                   AcpiDmDumpPptt, DtCompilePptt,  TemplatePptt},
+    {ACPI_SIG_PRMT, NULL,                   AcpiDmDumpPrmt, DtCompilePrmt,  TemplatePrmt},
     {ACPI_SIG_RASF, AcpiDmTableInfoRasf,    NULL,           NULL,           TemplateRasf},
+    {ACPI_SIG_RGRT, NULL,                   AcpiDmDumpRgrt, DtCompileRgrt,  TemplateRgrt},
     {ACPI_SIG_RSDT, NULL,                   AcpiDmDumpRsdt, DtCompileRsdt,  TemplateRsdt},
     {ACPI_SIG_S3PT, NULL,                   NULL,           NULL,           TemplateS3pt},
     {ACPI_SIG_SBST, AcpiDmTableInfoSbst,    NULL,           NULL,           TemplateSbst},
@@ -445,6 +475,7 @@
     {ACPI_SIG_SPMI, AcpiDmTableInfoSpmi,    NULL,           NULL,           TemplateSpmi},
     {ACPI_SIG_SRAT, NULL,                   AcpiDmDumpSrat, DtCompileSrat,  TemplateSrat},
     {ACPI_SIG_STAO, NULL,                   AcpiDmDumpStao, DtCompileStao,  TemplateStao},
+    {ACPI_SIG_SVKL, AcpiDmTableInfoSvkl,    AcpiDmDumpSvkl, DtCompileSvkl,  TemplateSvkl},
     {ACPI_SIG_TCPA, NULL,                   AcpiDmDumpTcpa, DtCompileTcpa,  TemplateTcpa},
     {ACPI_SIG_TPM2, AcpiDmTableInfoTpm2,    AcpiDmDumpTpm2, DtCompileTpm2,  TemplateTpm2},
     {ACPI_SIG_UEFI, AcpiDmTableInfoUefi,    NULL,           DtCompileUefi,  TemplateUefi},
@@ -832,8 +863,8 @@
         if (SubtableLength && (Info->Offset >= SubtableLength))
         {
             AcpiOsPrintf (
-                "/**** ACPI subtable terminates early - "
-                "may be older version (dump table) */\n");
+                "/**** ACPI subtable terminates early (Len %u) - "
+                "may be older version (dump table) */\n", SubtableLength);
 
             /* Move on to next subtable */
 
@@ -858,11 +889,13 @@
         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:
@@ -969,6 +1002,11 @@
             ByteLength = strlen (ACPI_CAST_PTR (char, Target)) + 1;
             break;
 
+        case ACPI_DMT_IVRS_UNTERMINATED_STRING:
+
+            ByteLength = ((ACPI_CAST_PTR (ACPI_IVRS_DEVICE_HID, Target) -1)->UidLength);
+            break;
+
         case ACPI_DMT_GAS:
 
             if (!LastOutputBlankLine)
@@ -1165,7 +1203,7 @@
 
             /* Convert 16-byte UUID buffer to 36-byte formatted UUID string */
 
-            (void) AuConvertUuidToString ((char *) Target, AslGbl_MsgBuffer);
+            (void) AcpiUtConvertUuidToString ((char *) Target, AslGbl_MsgBuffer);
 
             AcpiOsPrintf ("%s\n", AslGbl_MsgBuffer);
             break;
@@ -1175,6 +1213,11 @@
             AcpiOsPrintf ("\"%s\"\n", ACPI_CAST_PTR (char, Target));
             break;
 
+        case ACPI_DMT_IVRS_UNTERMINATED_STRING:
+
+            AcpiOsPrintf ("\"%.*s\"\n", ByteLength, ACPI_CAST_PTR (char, Target));
+            break;
+
         /* Fixed length ASCII name fields */
 
         case ACPI_DMT_SIG:
@@ -1576,6 +1619,20 @@
             AcpiDmDumpBuffer (Target, 0, ByteLength, 0, NULL);
             break;
 
+        case ACPI_DMT_RGRT:
+
+            /* RGRT subtable types */
+



Home | Main Index | Thread Index | Old Index