mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 11:41:42 +00:00
[ACPICA] Update to version 20200326. CORE-16783
This commit is contained in:
parent
bfdd6261f2
commit
040546d8ff
16 changed files with 116 additions and 30 deletions
|
@ -50,7 +50,9 @@
|
|||
#include "acinterp.h"
|
||||
#include "acnamesp.h"
|
||||
#include "acdebug.h"
|
||||
|
||||
#ifdef ACPI_EXEC_APP
|
||||
#include "aecommon.h"
|
||||
#endif
|
||||
|
||||
#define _COMPONENT ACPI_DISPATCHER
|
||||
ACPI_MODULE_NAME ("dswexec")
|
||||
|
@ -396,7 +398,10 @@ AcpiDsExecEndOp (
|
|||
UINT32 OpClass;
|
||||
ACPI_PARSE_OBJECT *NextOp;
|
||||
ACPI_PARSE_OBJECT *FirstArg;
|
||||
|
||||
#ifdef ACPI_EXEC_APP
|
||||
char *Namepath;
|
||||
ACPI_OPERAND_OBJECT *ObjDesc;
|
||||
#endif
|
||||
|
||||
ACPI_FUNCTION_TRACE_PTR (DsExecEndOp, WalkState);
|
||||
|
||||
|
@ -609,6 +614,29 @@ AcpiDsExecEndOp (
|
|||
}
|
||||
|
||||
Status = AcpiDsEvalBufferFieldOperands (WalkState, Op);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef ACPI_EXEC_APP
|
||||
/*
|
||||
* AcpiExec support for namespace initialization file (initialize
|
||||
* BufferFields in this code.)
|
||||
*/
|
||||
Namepath = AcpiNsGetExternalPathname (Op->Common.Node);
|
||||
Status = AeLookupInitFileEntry (Namepath, &ObjDesc);
|
||||
if (ACPI_SUCCESS (Status))
|
||||
{
|
||||
Status = AcpiExWriteDataToField (ObjDesc, Op->Common.Node->Object, NULL);
|
||||
if ACPI_FAILURE (Status)
|
||||
{
|
||||
ACPI_EXCEPTION ((AE_INFO, Status, "While writing to buffer field"));
|
||||
}
|
||||
}
|
||||
ACPI_FREE (Namepath);
|
||||
Status = AE_OK;
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
#include "acdispat.h"
|
||||
#include "acinterp.h"
|
||||
#include "acnamesp.h"
|
||||
|
||||
#ifdef ACPI_ASL_COMPILER
|
||||
#include "acdisasm.h"
|
||||
#endif
|
||||
|
@ -447,7 +446,6 @@ AcpiDsLoad1EndOp (
|
|||
ACPI_PARSE_OBJECT *Op;
|
||||
ACPI_OBJECT_TYPE ObjectType;
|
||||
ACPI_STATUS Status = AE_OK;
|
||||
|
||||
#ifdef ACPI_ASL_COMPILER
|
||||
UINT8 ParamCount;
|
||||
#endif
|
||||
|
|
|
@ -49,6 +49,9 @@
|
|||
#include "acinterp.h"
|
||||
#include "acnamesp.h"
|
||||
#include "acevents.h"
|
||||
#ifdef ACPI_EXEC_APP
|
||||
#include "aecommon.h"
|
||||
#endif
|
||||
|
||||
#define _COMPONENT ACPI_DISPATCHER
|
||||
ACPI_MODULE_NAME ("dswload2")
|
||||
|
@ -423,6 +426,10 @@ AcpiDsLoad2EndOp (
|
|||
ACPI_NAMESPACE_NODE *NewNode;
|
||||
UINT32 i;
|
||||
UINT8 RegionSpace;
|
||||
#ifdef ACPI_EXEC_APP
|
||||
ACPI_OPERAND_OBJECT *ObjDesc;
|
||||
char *Namepath;
|
||||
#endif
|
||||
|
||||
|
||||
ACPI_FUNCTION_TRACE (DsLoad2EndOp);
|
||||
|
@ -519,6 +526,11 @@ AcpiDsLoad2EndOp (
|
|||
* be evaluated later during the execution phase
|
||||
*/
|
||||
Status = AcpiDsCreateBufferField (Op, WalkState);
|
||||
if ACPI_FAILURE (Status)
|
||||
{
|
||||
ACPI_EXCEPTION ((AE_INFO, Status, "CreateBufferField failure"));
|
||||
goto Cleanup;
|
||||
}
|
||||
break;
|
||||
|
||||
case AML_TYPE_NAMED_FIELD:
|
||||
|
@ -658,6 +670,31 @@ AcpiDsLoad2EndOp (
|
|||
case AML_NAME_OP:
|
||||
|
||||
Status = AcpiDsCreateNode (WalkState, Node, Op);
|
||||
if (ACPI_FAILURE (Status))
|
||||
{
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
#ifdef ACPI_EXEC_APP
|
||||
/*
|
||||
* AcpiExec support for namespace initialization file (initialize
|
||||
* Name opcodes in this code.)
|
||||
*/
|
||||
Namepath = AcpiNsGetExternalPathname (Node);
|
||||
Status = AeLookupInitFileEntry (Namepath, &ObjDesc);
|
||||
if (ACPI_SUCCESS (Status))
|
||||
{
|
||||
/* Detach any existing object, attach new object */
|
||||
|
||||
if (Node->Object)
|
||||
{
|
||||
AcpiNsDetachObject (Node);
|
||||
}
|
||||
AcpiNsAttachObject (Node, ObjDesc, ObjDesc->Common.Type);
|
||||
}
|
||||
ACPI_FREE (Namepath);
|
||||
Status = AE_OK;
|
||||
#endif
|
||||
break;
|
||||
|
||||
case AML_METHOD_OP:
|
||||
|
|
|
@ -358,11 +358,11 @@ AcpiHwLegacyWake (
|
|||
|
||||
/* Enable sleep button */
|
||||
|
||||
(void) AcpiWriteBitRegister (
|
||||
(void) AcpiWriteBitRegister (
|
||||
AcpiGbl_FixedEventInfo[ACPI_EVENT_SLEEP_BUTTON].EnableRegisterId,
|
||||
ACPI_ENABLE_EVENT);
|
||||
|
||||
(void) AcpiWriteBitRegister (
|
||||
(void) AcpiWriteBitRegister (
|
||||
AcpiGbl_FixedEventInfo[ACPI_EVENT_SLEEP_BUTTON].StatusRegisterId,
|
||||
ACPI_CLEAR_STATUS);
|
||||
|
||||
|
|
|
@ -349,6 +349,7 @@ 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 AcpiDmTableInfoIvrs4[];
|
||||
extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[];
|
||||
|
|
|
@ -379,6 +379,10 @@ AcpiNsBuildNormalizedPath (
|
|||
UINT32 PathSize,
|
||||
BOOLEAN NoTrailing);
|
||||
|
||||
void
|
||||
AcpiNsNormalizePathname (
|
||||
char *OriginalPath);
|
||||
|
||||
char *
|
||||
AcpiNsGetNormalizedPathname (
|
||||
ACPI_NAMESPACE_NODE *Node,
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
|
||||
/* Current ACPICA subsystem version in YYYYMMDD format */
|
||||
|
||||
#define ACPI_CA_VERSION 0x20200214
|
||||
#define ACPI_CA_VERSION 0x20200326
|
||||
|
||||
#include "acconfig.h"
|
||||
#include "actypes.h"
|
||||
|
|
|
@ -156,7 +156,8 @@
|
|||
#define ACPI_IORTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_NODE,f)
|
||||
#define ACPI_IORTM_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_ID_MAPPING,f)
|
||||
#define ACPI_IVRSH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HEADER,f)
|
||||
#define ACPI_IVRS0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HARDWARE,f)
|
||||
#define ACPI_IVRS0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HARDWARE1,f)
|
||||
#define ACPI_IVRS01_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HARDWARE2,f)
|
||||
#define ACPI_IVRS1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_MEMORY,f)
|
||||
#define ACPI_IVRSD_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DE_HEADER,f)
|
||||
#define ACPI_IVRS8A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE8A,f)
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
#define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */
|
||||
#define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */
|
||||
#define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */
|
||||
#define ACPI_SIG_NHLT "NHLT" /* Non-HDAudio Link Table */
|
||||
|
||||
|
||||
/*
|
||||
|
@ -349,7 +350,8 @@ typedef struct acpi_ivrs_header
|
|||
|
||||
enum AcpiIvrsType
|
||||
{
|
||||
ACPI_IVRS_TYPE_HARDWARE = 0x10,
|
||||
ACPI_IVRS_TYPE_HARDWARE1 = 0x10,
|
||||
ACPI_IVRS_TYPE_HARDWARE2 = 0x11,
|
||||
ACPI_IVRS_TYPE_MEMORY1 = 0x20,
|
||||
ACPI_IVRS_TYPE_MEMORY2 = 0x21,
|
||||
ACPI_IVRS_TYPE_MEMORY3 = 0x22
|
||||
|
@ -377,16 +379,30 @@ enum AcpiIvrsType
|
|||
|
||||
/* 0x10: I/O Virtualization Hardware Definition Block (IVHD) */
|
||||
|
||||
typedef struct acpi_ivrs_hardware
|
||||
typedef struct acpi_ivrs_hardware_10
|
||||
{
|
||||
ACPI_IVRS_HEADER Header;
|
||||
UINT16 CapabilityOffset; /* Offset for IOMMU control fields */
|
||||
UINT64 BaseAddress; /* IOMMU control registers */
|
||||
UINT16 PciSegmentGroup;
|
||||
UINT16 Info; /* MSI number and unit ID */
|
||||
UINT32 Reserved;
|
||||
UINT32 FeatureReporting;
|
||||
|
||||
} ACPI_IVRS_HARDWARE;
|
||||
} ACPI_IVRS_HARDWARE1;
|
||||
|
||||
/* 0x11: I/O Virtualization Hardware Definition Block (IVHD) */
|
||||
|
||||
typedef struct acpi_ivrs_hardware_11
|
||||
{
|
||||
ACPI_IVRS_HEADER Header;
|
||||
UINT16 CapabilityOffset; /* Offset for IOMMU control fields */
|
||||
UINT64 BaseAddress; /* IOMMU control registers */
|
||||
UINT16 PciSegmentGroup;
|
||||
UINT16 Info; /* MSI number and unit ID */
|
||||
UINT32 Attributes;
|
||||
UINT64 EfrRegisterImage;
|
||||
UINT64 Reserved;
|
||||
} ACPI_IVRS_HARDWARE2;
|
||||
|
||||
/* Masks for Info field above */
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
#define ACPI_SIG_WDDT "WDDT" /* Watchdog Timer Description Table */
|
||||
#define ACPI_SIG_WDRT "WDRT" /* Watchdog Resource Table */
|
||||
#define ACPI_SIG_WPBT "WPBT" /* Windows Platform Binary Table */
|
||||
#define ACPI_SIG_WSMT "WSMT" /* Windows SMM Security Migrations Table */
|
||||
#define ACPI_SIG_WSMT "WSMT" /* Windows SMM Security Mitigations Table */
|
||||
#define ACPI_SIG_XENV "XENV" /* Xen Environment table */
|
||||
#define ACPI_SIG_XXXX "XXXX" /* Intermediate AML header for ASL/ASL+ converter */
|
||||
|
||||
|
@ -796,10 +796,10 @@ typedef struct acpi_table_wpbt
|
|||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* WSMT - Windows SMM Security Migrations Table
|
||||
* WSMT - Windows SMM Security Mitigations Table
|
||||
* Version 1
|
||||
*
|
||||
* Conforms to "Windows SMM Security Migrations Table",
|
||||
* Conforms to "Windows SMM Security Mitigations Table",
|
||||
* Version 1.0, April 18, 2016
|
||||
*
|
||||
******************************************************************************/
|
||||
|
|
|
@ -92,4 +92,4 @@
|
|||
#define UUID_DEVICE_PROPERTIES "daffd814-6eba-4d8c-8a91-bc9bbf4aa301"
|
||||
|
||||
|
||||
#endif /* __AUUID_H__ */
|
||||
#endif /* __ACUUID_H__ */
|
||||
|
|
|
@ -50,12 +50,6 @@
|
|||
#define _COMPONENT ACPI_NAMESPACE
|
||||
ACPI_MODULE_NAME ("nsnames")
|
||||
|
||||
/* Local Prototypes */
|
||||
|
||||
static void
|
||||
AcpiNsNormalizePathname (
|
||||
char *OriginalPath);
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
|
@ -508,7 +502,7 @@ Cleanup:
|
|||
*
|
||||
******************************************************************************/
|
||||
|
||||
static void
|
||||
void
|
||||
AcpiNsNormalizePathname (
|
||||
char *OriginalPath)
|
||||
{
|
||||
|
|
|
@ -116,7 +116,7 @@ const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS] =
|
|||
"IPMI", /* 0x07 */
|
||||
"GeneralPurposeIo", /* 0x08 */
|
||||
"GenericSerialBus", /* 0x09 */
|
||||
"PlatformCommChannel"/* 0x0A */
|
||||
"PCC" /* 0x0A */
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -518,13 +518,13 @@ AcpiUtUpdateRefCount (
|
|||
*
|
||||
* FUNCTION: AcpiUtUpdateObjectReference
|
||||
*
|
||||
* PARAMETERS: Object - Increment ref count for this object
|
||||
* and all sub-objects
|
||||
* PARAMETERS: Object - Increment or decrement the ref count for
|
||||
* this object and all sub-objects
|
||||
* Action - Either REF_INCREMENT or REF_DECREMENT
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
* DESCRIPTION: Increment the object reference count
|
||||
* DESCRIPTION: Increment or decrement the object reference count
|
||||
*
|
||||
* Object references are incremented when:
|
||||
* 1) An object is attached to a Node (namespace object)
|
||||
|
@ -563,7 +563,7 @@ AcpiUtUpdateObjectReference (
|
|||
}
|
||||
|
||||
/*
|
||||
* All sub-objects must have their reference count incremented
|
||||
* All sub-objects must have their reference count updated
|
||||
* also. Different object types have different subobjects.
|
||||
*/
|
||||
switch (Object->Common.Type)
|
||||
|
@ -632,6 +632,7 @@ AcpiUtUpdateObjectReference (
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
NextObject = NULL;
|
||||
break;
|
||||
|
||||
|
|
|
@ -452,7 +452,13 @@ vsnprintf (
|
|||
|
||||
|
||||
Pos = String;
|
||||
End = String + Size;
|
||||
|
||||
|
||||
if (Size != ACPI_UINT32_MAX) {
|
||||
End = String + Size;
|
||||
} else {
|
||||
End = ACPI_CAST_PTR(char, ACPI_UINT32_MAX);
|
||||
}
|
||||
|
||||
for (; *Format; ++Format)
|
||||
{
|
||||
|
|
|
@ -92,7 +92,7 @@ Used Version: 1.6.37
|
|||
Website: http://libpng.sourceforge.net/
|
||||
|
||||
Title: ACPICA
|
||||
Used Version: 20200110
|
||||
Used Version: 20200326
|
||||
Website: https://acpica.org/
|
||||
|
||||
Title: Schily Tools, mkisofs
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue