[ACPICA] Update to version 20210604. CORE-17760

This commit is contained in:
Thomas Faber 2021-09-10 22:15:19 -04:00
parent 6eb8cc4979
commit 3c2845607c
No known key found for this signature in database
GPG key ID: 076E7C3D44720826
15 changed files with 336 additions and 11 deletions

View file

@ -187,7 +187,8 @@ AcpiExReadDataFromField (
else if ((ObjDesc->Common.Type == ACPI_TYPE_LOCAL_REGION_FIELD) && else if ((ObjDesc->Common.Type == ACPI_TYPE_LOCAL_REGION_FIELD) &&
(ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_SMBUS || (ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_SMBUS ||
ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_GSBUS || ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_GSBUS ||
ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_IPMI)) ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_IPMI ||
ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_PLATFORM_RT))
{ {
/* SMBus, GSBus, IPMI serial */ /* SMBus, GSBus, IPMI serial */
@ -359,7 +360,8 @@ AcpiExWriteDataToField (
else if ((ObjDesc->Common.Type == ACPI_TYPE_LOCAL_REGION_FIELD) && else if ((ObjDesc->Common.Type == ACPI_TYPE_LOCAL_REGION_FIELD) &&
(ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_SMBUS || (ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_SMBUS ||
ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_GSBUS || ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_GSBUS ||
ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_IPMI)) ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_IPMI ||
ObjDesc->Field.RegionObj->Region.SpaceId == ACPI_ADR_SPACE_PLATFORM_RT))
{ {
/* SMBus, GSBus, IPMI serial */ /* SMBus, GSBus, IPMI serial */

View file

@ -245,6 +245,12 @@ AcpiExReadSerialBus (
Function = ACPI_READ | (AccessorType << 16); Function = ACPI_READ | (AccessorType << 16);
break; break;
case ACPI_ADR_SPACE_PLATFORM_RT:
BufferLength = ACPI_PRM_INPUT_BUFFER_SIZE;
Function = ACPI_READ;
break;
default: default:
return_ACPI_STATUS (AE_AML_INVALID_SPACE_ID); return_ACPI_STATUS (AE_AML_INVALID_SPACE_ID);
} }
@ -364,6 +370,12 @@ AcpiExWriteSerialBus (
Function = ACPI_WRITE | (AccessorType << 16); Function = ACPI_WRITE | (AccessorType << 16);
break; break;
case ACPI_ADR_SPACE_PLATFORM_RT:
BufferLength = ACPI_PRM_INPUT_BUFFER_SIZE;
Function = ACPI_WRITE;
break;
default: default:
return_ACPI_STATUS (AE_AML_INVALID_SPACE_ID); return_ACPI_STATUS (AE_AML_INVALID_SPACE_ID);
} }

View file

@ -251,5 +251,14 @@ typedef struct acpi_pld_info
#define ACPI_PLD_GET_HORIZ_OFFSET(dword) ACPI_GET_BITS (dword, 16, ACPI_16BIT_MASK) #define ACPI_PLD_GET_HORIZ_OFFSET(dword) ACPI_GET_BITS (dword, 16, ACPI_16BIT_MASK)
#define ACPI_PLD_SET_HORIZ_OFFSET(dword,value) ACPI_SET_BITS (dword, 16, ACPI_16BIT_MASK, value) /* Offset 128+16=144, Len 16 */ #define ACPI_PLD_SET_HORIZ_OFFSET(dword,value) ACPI_SET_BITS (dword, 16, ACPI_16BIT_MASK, value) /* Offset 128+16=144, Len 16 */
/* Panel position defined in _PLD section of ACPI Specification 6.3 */
#define ACPI_PLD_PANEL_TOP 0
#define ACPI_PLD_PANEL_BOTTOM 1
#define ACPI_PLD_PANEL_LEFT 2
#define ACPI_PLD_PANEL_RIGHT 3
#define ACPI_PLD_PANEL_FRONT 4
#define ACPI_PLD_PANEL_BACK 5
#define ACPI_PLD_PANEL_UNKNOWN 6
#endif /* ACBUFFER_H */ #endif /* ACBUFFER_H */

View file

@ -225,6 +225,7 @@
#define ACPI_MAX_GSBUS_DATA_SIZE 255 #define ACPI_MAX_GSBUS_DATA_SIZE 255
#define ACPI_MAX_GSBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE #define ACPI_MAX_GSBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE
#define ACPI_PRM_INPUT_BUFFER_SIZE 26
/* _SxD and _SxW control methods */ /* _SxD and _SxW control methods */

View file

@ -158,6 +158,8 @@ typedef enum
ACPI_DMT_HMAT, ACPI_DMT_HMAT,
ACPI_DMT_IORTMEM, ACPI_DMT_IORTMEM,
ACPI_DMT_IVRS, ACPI_DMT_IVRS,
ACPI_DMT_IVRS_DE,
ACPI_DMT_IVRS_UNTERMINATED_STRING,
ACPI_DMT_LPIT, ACPI_DMT_LPIT,
ACPI_DMT_MADT, ACPI_DMT_MADT,
ACPI_DMT_NFIT, ACPI_DMT_NFIT,
@ -166,6 +168,7 @@ typedef enum
ACPI_DMT_PMTT, ACPI_DMT_PMTT,
ACPI_DMT_PMTT_VENDOR, ACPI_DMT_PMTT_VENDOR,
ACPI_DMT_PPTT, ACPI_DMT_PPTT,
ACPI_DMT_RGRT,
ACPI_DMT_SDEI, ACPI_DMT_SDEI,
ACPI_DMT_SDEV, ACPI_DMT_SDEV,
ACPI_DMT_SLIC, ACPI_DMT_SLIC,
@ -257,6 +260,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoBdat[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[];
@ -357,16 +361,20 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr3[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs01[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware23[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsMemory[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidString[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidInteger[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidString[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidInteger[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidString[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidInteger[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[];
@ -438,7 +446,12 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[]; 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 AcpiDmTableInfoRasf[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
@ -472,6 +485,8 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[];
@ -666,6 +681,14 @@ void
AcpiDmDumpPptt ( AcpiDmDumpPptt (
ACPI_TABLE_HEADER *Table); ACPI_TABLE_HEADER *Table);
void
AcpiDmDumpPrmt (
ACPI_TABLE_HEADER *Table);
void
AcpiDmDumpRgrt (
ACPI_TABLE_HEADER *Table);
UINT32 UINT32
AcpiDmDumpRsdp ( AcpiDmDumpRsdp (
ACPI_TABLE_HEADER *Table); ACPI_TABLE_HEADER *Table);
@ -698,6 +721,10 @@ void
AcpiDmDumpStao ( AcpiDmDumpStao (
ACPI_TABLE_HEADER *Table); ACPI_TABLE_HEADER *Table);
void
AcpiDmDumpSvkl (
ACPI_TABLE_HEADER *Table);
void void
AcpiDmDumpTcpa ( AcpiDmDumpTcpa (
ACPI_TABLE_HEADER *Table); ACPI_TABLE_HEADER *Table);

View file

@ -46,7 +46,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */ /* Current ACPICA subsystem version in YYYYMMDD format */
#define ACPI_CA_VERSION 0x20210331 #define ACPI_CA_VERSION 0x20210604
#include "acconfig.h" #include "acconfig.h"
#include "actypes.h" #include "actypes.h"

View file

@ -48,6 +48,7 @@
#define ACPI_GAS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,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) #define ACPI_HDR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f)
#define ACPI_RSDP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RSDP,f) #define ACPI_RSDP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RSDP,f)
#define ACPI_BDAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BDAT,f)
#define ACPI_BERT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BERT,f) #define ACPI_BERT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BERT,f)
#define ACPI_BGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BGRT,f) #define ACPI_BGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BGRT,f)
#define ACPI_BOOT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BOOT,f) #define ACPI_BOOT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BOOT,f)
@ -75,6 +76,7 @@
#define ACPI_PDTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PDTT,f) #define ACPI_PDTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PDTT,f)
#define ACPI_PMTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f) #define ACPI_PMTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f)
#define ACPI_RASF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RASF,f) #define ACPI_RASF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RASF,f)
#define ACPI_RGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RGRT,f)
#define ACPI_S3PT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f) #define ACPI_S3PT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f)
#define ACPI_SBST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f) #define ACPI_SBST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f)
#define ACPI_SDEI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEI,f) #define ACPI_SDEI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEI,f)
@ -84,6 +86,7 @@
#define ACPI_SPMI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SPMI,f) #define ACPI_SPMI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SPMI,f)
#define ACPI_SRAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SRAT,f) #define ACPI_SRAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SRAT,f)
#define ACPI_STAO_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_STAO,f) #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_TCPA_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_HDR,f)
#define ACPI_TPM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TPM2,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_TPM23_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TPM23,f)
@ -226,6 +229,9 @@
#define ACPI_PPTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE,f) #define ACPI_PPTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE,f)
#define ACPI_PPTT1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE_V1,f) #define ACPI_PPTT1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE_V1,f)
#define ACPI_PPTT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_ID,f) #define ACPI_PPTT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_ID,f)
#define ACPI_PRMTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PRMT_HEADER,f)
#define ACPI_PRMT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_MODULE_INFO,f)
#define ACPI_PRMT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_HANDLER_INFO,f)
#define ACPI_S3PTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f) #define ACPI_S3PTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f)
#define ACPI_S3PT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f) #define ACPI_S3PT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f)
#define ACPI_S3PT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f) #define ACPI_S3PT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f)
@ -245,6 +251,7 @@
#define ACPI_SRAT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GICC_AFFINITY,f) #define ACPI_SRAT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GICC_AFFINITY,f)
#define ACPI_SRAT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GIC_ITS_AFFINITY,f) #define ACPI_SRAT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GIC_ITS_AFFINITY,f)
#define ACPI_SRAT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GENERIC_AFFINITY,f) #define ACPI_SRAT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GENERIC_AFFINITY,f)
#define ACPI_SVKL0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SVKL_KEY,f)
#define ACPI_TCPA_CLIENT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_CLIENT,f) #define ACPI_TCPA_CLIENT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_CLIENT,f)
#define ACPI_TCPA_SERVER_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_SERVER,f) #define ACPI_TCPA_SERVER_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_SERVER,f)
#define ACPI_TPM2A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TPM2_TRAILER,f) #define ACPI_TPM2A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TPM2_TRAILER,f)
@ -290,6 +297,8 @@
#define ACPI_IORT6_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_RMR,f,o) #define ACPI_IORT6_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_RMR,f,o)
#define ACPI_IORTA_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_MEMORY_ACCESS,f,o) #define ACPI_IORTA_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_MEMORY_ACCESS,f,o)
#define ACPI_IORTM_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_ID_MAPPING,f,o) #define ACPI_IORTM_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_ID_MAPPING,f,o)
#define ACPI_IVRS_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IVRS_HEADER,f,o)
#define ACPI_IVRSDE_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IVRS_DE_HEADER,f,o)
#define ACPI_LPITH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_LPIT_HEADER,f,o) #define ACPI_LPITH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_LPIT_HEADER,f,o)
#define ACPI_MADT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_MADT,f,o) #define ACPI_MADT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_MADT,f,o)
#define ACPI_MADT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_APIC,f,o) #define ACPI_MADT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_APIC,f,o)

View file

@ -415,9 +415,19 @@ typedef struct acpi_cedt_header
enum AcpiCedtType enum AcpiCedtType
{ {
ACPI_CEDT_TYPE_CHBS = 0, 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 * CEDT subtables
@ -437,6 +447,37 @@ typedef struct acpi_cedt_chbs
} 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) * CPEP - Corrected Platform Error Polling table (ACPI 4.0)

View file

@ -60,6 +60,7 @@
* file. Useful because they make it more difficult to inadvertently type in * file. Useful because they make it more difficult to inadvertently type in
* the wrong signature. * the wrong signature.
*/ */
#define ACPI_SIG_BDAT "BDAT" /* BIOS Data ACPI Table */
#define ACPI_SIG_IORT "IORT" /* IO Remapping Table */ #define ACPI_SIG_IORT "IORT" /* IO Remapping Table */
#define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ #define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */
#define ACPI_SIG_LPIT "LPIT" /* Low Power Idle Table */ #define ACPI_SIG_LPIT "LPIT" /* Low Power Idle Table */
@ -75,11 +76,14 @@
#define ACPI_SIG_PHAT "PHAT" /* Platform Health Assessment Table */ #define ACPI_SIG_PHAT "PHAT" /* Platform Health Assessment Table */
#define ACPI_SIG_PMTT "PMTT" /* Platform Memory Topology Table */ #define ACPI_SIG_PMTT "PMTT" /* Platform Memory Topology Table */
#define ACPI_SIG_PPTT "PPTT" /* Processor Properties Topology Table */ #define ACPI_SIG_PPTT "PPTT" /* Processor Properties Topology Table */
#define ACPI_SIG_PRMT "PRMT" /* Platform Runtime Mechanism Table */
#define ACPI_SIG_RASF "RASF" /* RAS Feature table */ #define ACPI_SIG_RASF "RASF" /* RAS Feature table */
#define ACPI_SIG_RGRT "RGRT" /* Regulatory Graphics Resource Table */
#define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */ #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */
#define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */ #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */
#define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */
#define ACPI_SIG_NHLT "NHLT" /* Non-HDAudio Link Table */ #define ACPI_SIG_NHLT "NHLT" /* Non-HDAudio Link Table */
#define ACPI_SIG_SVKL "SVKL" /* Storage Volume Key Location Table */
/* /*
@ -101,6 +105,23 @@
*/ */
/*******************************************************************************
*
* BDAT - BIOS Data ACPI Table
*
* Conforms to "BIOS Data ACPI Table", Interface Specification v4.0 Draft 5
* Nov 2020
*
******************************************************************************/
typedef struct acpi_table_bdat
{
ACPI_TABLE_HEADER Header;
ACPI_GENERIC_ADDRESS Gas;
} ACPI_TABLE_BDAT;
/******************************************************************************* /*******************************************************************************
* *
* IORT - IO Remapping Table * IORT - IO Remapping Table
@ -541,6 +562,11 @@ typedef struct acpi_ivrs_device_hid
} ACPI_IVRS_DEVICE_HID; } ACPI_IVRS_DEVICE_HID;
/* Values for UidType above */
#define ACPI_IVRS_UID_NOT_PRESENT 0
#define ACPI_IVRS_UID_IS_INTEGER 1
#define ACPI_IVRS_UID_IS_STRING 2
/* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition Block (IVMD) */ /* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition Block (IVMD) */
@ -926,6 +952,22 @@ typedef struct acpi_madt_multiproc_wakeup
} ACPI_MADT_MULTIPROC_WAKEUP; } ACPI_MADT_MULTIPROC_WAKEUP;
#define ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE 2032
#define ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE 2048
typedef struct acpi_madt_multiproc_wakeup_mailbox
{
UINT16 Command;
UINT16 Reserved; /* reserved - must be zero */
UINT32 ApicId;
UINT64 WakeupVector;
UINT8 ReservedOs[ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE]; /* reserved for OS use */
UINT8 ReservedFirmware[ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE]; /* reserved for firmware use */
} ACPI_MADT_MULTIPROC_WAKEUP_MAILBOX;
#define ACPI_MP_WAKE_COMMAND_WAKEUP 1
/* /*
* Common flags fields for MADT subtables * Common flags fields for MADT subtables
@ -1992,6 +2034,52 @@ typedef struct acpi_pptt_id
} ACPI_PPTT_ID; } ACPI_PPTT_ID;
/*******************************************************************************
*
* PRMT - Platform Runtime Mechanism Table
* Version 1
*
******************************************************************************/
typedef struct acpi_table_prmt
{
ACPI_TABLE_HEADER Header; /* Common ACPI table header */
} ACPI_TABLE_PRMT;
typedef struct acpi_table_prmt_header
{
UINT8 PlatformGuid[16];
UINT32 ModuleInfoOffset;
UINT32 ModuleInfoCount;
} ACPI_TABLE_PRMT_HEADER;
typedef struct acpi_prmt_module_info
{
UINT16 Revision;
UINT16 Length;
UINT8 ModuleGuid[16];
UINT16 MajorRev;
UINT16 MinorRev;
UINT16 HandlerInfoCount;
UINT32 HandlerInfoOffset;
UINT64 MmioListPointer;
} ACPI_PRMT_MODULE_INFO;
typedef struct acpi_prmt_handler_info
{
UINT16 Revision;
UINT16 Length;
UINT8 HandlerGuid[16];
UINT64 HandlerAddress;
UINT64 StaticDataBufferAddress;
UINT64 AcpiParamBufferAddress;
} ACPI_PRMT_HANDLER_INFO;
/******************************************************************************* /*******************************************************************************
* *
* RASF - RAS Feature Table (ACPI 5.0) * RASF - RAS Feature Table (ACPI 5.0)
@ -2101,6 +2189,36 @@ enum AcpiRasfStatus
#define ACPI_RASF_STATUS (0x1F<<3) #define ACPI_RASF_STATUS (0x1F<<3)
/*******************************************************************************
*
* RGRT - Regulatory Graphics Resource Table
* Version 1
*
* Conforms to "ACPI RGRT" available at:
* https://microsoft.github.io/mu/dyn/mu_plus/MsCorePkg/AcpiRGRT/feature_acpi_rgrt/
*
******************************************************************************/
typedef struct acpi_table_rgrt
{
ACPI_TABLE_HEADER Header; /* Common ACPI table header */
UINT16 Version;
UINT8 ImageType;
UINT8 Reserved;
UINT8 Image[0];
} ACPI_TABLE_RGRT;
/* ImageType values */
enum AcpiRgrtImageType
{
ACPI_RGRT_TYPE_RESERVED0 = 0,
ACPI_RGRT_IMAGE_TYPE_PNG = 1,
ACPI_RGRT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
};
/******************************************************************************* /*******************************************************************************
* *
* SBST - Smart Battery Specification Table * SBST - Smart Battery Specification Table
@ -2263,6 +2381,44 @@ typedef struct acpi_sdev_pcie_path
} ACPI_SDEV_PCIE_PATH; } ACPI_SDEV_PCIE_PATH;
/*******************************************************************************
*
* SVKL - Storage Volume Key Location Table (ACPI 6.4)
* From: "Guest-Host-Communication Interface (GHCI) for Intel
* Trust Domain Extensions (Intel TDX)".
* Version 1
*
******************************************************************************/
typedef struct acpi_table_svkl
{
ACPI_TABLE_HEADER Header; /* Common ACPI table header */
UINT32 Count;
} ACPI_TABLE_SVKL;
typedef struct acpi_svkl_key
{
UINT16 Type;
UINT16 Format;
UINT32 Size;
UINT64 Address;
} ACPI_SVKL_KEY;
enum acpi_svkl_type
{
ACPI_SVKL_TYPE_MAIN_STORAGE = 0,
ACPI_SVKL_TYPE_RESERVED = 1 /* 1 and greater are reserved */
};
enum acpi_svkl_format
{
ACPI_SVKL_FORMAT_RAW_BINARY = 0,
ACPI_SVKL_FORMAT_RESERVED = 1 /* 1 and greater are reserved */
};
/* Reset to default packing */ /* Reset to default packing */
#pragma pack() #pragma pack()

View file

@ -1160,6 +1160,11 @@ void
AcpiUtConvertStringToUuid ( AcpiUtConvertStringToUuid (
char *InString, char *InString,
UINT8 *UuidBuffer); UINT8 *UuidBuffer);
ACPI_STATUS
AcpiUtConvertUuidToString (
char *UuidBuffer,
char *OutString);
#endif #endif
#endif /* _ACUTILS_H */ #endif /* _ACUTILS_H */

View file

@ -457,6 +457,13 @@ AcpiNsRepair_CID (
(*ElementPtr)->Common.ReferenceCount = (*ElementPtr)->Common.ReferenceCount =
OriginalRefCount; 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++; ElementPtr++;

View file

@ -335,6 +335,14 @@ AcpiUtDeleteInternalObj (
} }
break; break;
case ACPI_TYPE_LOCAL_ADDRESS_HANDLER:
ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS,
"***** Address handler %p\n", Object));
AcpiOsDeleteMutex (Object->AddressSpace.ContextMutex);
break;
default: default:
break; break;

View file

@ -622,7 +622,7 @@ vsnprintf (
case 'X': case 'X':
Type |= ACPI_FORMAT_UPPER; Type |= ACPI_FORMAT_UPPER;
/* FALLTHROUGH */ ACPI_FALLTHROUGH;
case 'x': case 'x':

View file

@ -100,4 +100,52 @@ AcpiUtConvertStringToUuid (
InString[AcpiGbl_MapToUuidOffset[i] + 1]); 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 #endif

View file

@ -69,7 +69,7 @@ URL: https://gitlab.freedesktop.org/mesa/glu, ftp://ftp.freedesktop.org/pub/mesa
Title: ACPICA Title: ACPICA
Path: drivers/bus/acpi/acpica Path: drivers/bus/acpi/acpica
Used Version: 20210331 Used Version: 20210604
License: GPL-2.0 (https://spdx.org/licenses/GPL-2.0.html) License: GPL-2.0 (https://spdx.org/licenses/GPL-2.0.html)
URL: https://acpica.org/ URL: https://acpica.org/