MdeModulePkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
committed by
mergify[bot]
parent
7c7184e201
commit
1436aea4d5
@@ -50,10 +50,10 @@ FindTableByBuffer (
|
||||
IN VOID *Buffer
|
||||
)
|
||||
{
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
EFI_ACPI_TABLE_LIST *CurrentTableList;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
EFI_ACPI_TABLE_LIST *CurrentTableList;
|
||||
LIST_ENTRY *StartLink;
|
||||
|
||||
//
|
||||
// Get the instance of the ACPI Table
|
||||
@@ -69,7 +69,8 @@ FindTableByBuffer (
|
||||
while (CurrentLink != StartLink) {
|
||||
CurrentTableList = EFI_ACPI_TABLE_LIST_FROM_LINK (CurrentLink);
|
||||
if (((UINTN)CurrentTableList->Table <= (UINTN)Buffer) &&
|
||||
((UINTN)CurrentTableList->Table + CurrentTableList->TableSize > (UINTN)Buffer)) {
|
||||
((UINTN)CurrentTableList->Table + CurrentTableList->TableSize > (UINTN)Buffer))
|
||||
{
|
||||
//
|
||||
// Good! Found Table.
|
||||
//
|
||||
@@ -96,7 +97,7 @@ SdtUpdateAmlChecksum (
|
||||
IN VOID *Buffer
|
||||
)
|
||||
{
|
||||
EFI_ACPI_TABLE_LIST *CurrentTableList;
|
||||
EFI_ACPI_TABLE_LIST *CurrentTableList;
|
||||
|
||||
CurrentTableList = FindTableByBuffer (Buffer);
|
||||
if (CurrentTableList == NULL) {
|
||||
@@ -123,11 +124,11 @@ SdtUpdateAmlChecksum (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtGetMaxAmlBufferSize (
|
||||
IN VOID *Buffer,
|
||||
OUT UINTN *MaxSize
|
||||
IN VOID *Buffer,
|
||||
OUT UINTN *MaxSize
|
||||
)
|
||||
{
|
||||
EFI_ACPI_TABLE_LIST *CurrentTableList;
|
||||
EFI_ACPI_TABLE_LIST *CurrentTableList;
|
||||
|
||||
CurrentTableList = FindTableByBuffer (Buffer);
|
||||
if (CurrentTableList == NULL) {
|
||||
@@ -147,16 +148,16 @@ SdtGetMaxAmlBufferSize (
|
||||
**/
|
||||
VOID
|
||||
SdtNotifyAcpiList (
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN EFI_ACPI_TABLE_VERSION Version,
|
||||
IN UINTN Handle
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN EFI_ACPI_TABLE_VERSION Version,
|
||||
IN UINTN Handle
|
||||
)
|
||||
{
|
||||
EFI_ACPI_NOTIFY_LIST *CurrentNotifyList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_ACPI_TABLE_LIST *Table;
|
||||
EFI_STATUS Status;
|
||||
EFI_ACPI_NOTIFY_LIST *CurrentNotifyList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_ACPI_TABLE_LIST *Table;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// We should not use Table buffer, because it is user input buffer.
|
||||
@@ -185,7 +186,7 @@ SdtNotifyAcpiList (
|
||||
CurrentLink = CurrentLink->ForwardLink;
|
||||
}
|
||||
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,33 +216,35 @@ SdtNotifyAcpiList (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtGetAcpiTable (
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
)
|
||||
{
|
||||
UINTN TableIndex;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_ACPI_TABLE_LIST *CurrentTable;
|
||||
UINTN TableIndex;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_ACPI_TABLE_LIST *CurrentTable;
|
||||
|
||||
//
|
||||
// Find the table
|
||||
//
|
||||
StartLink = &AcpiTableInstance->TableList;
|
||||
CurrentLink = StartLink->ForwardLink;
|
||||
TableIndex = 0;
|
||||
TableIndex = 0;
|
||||
|
||||
while (CurrentLink != StartLink) {
|
||||
if (TableIndex == Index) {
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
// Next one
|
||||
//
|
||||
CurrentLink = CurrentLink->ForwardLink;
|
||||
TableIndex ++;
|
||||
TableIndex++;
|
||||
}
|
||||
|
||||
if ((TableIndex != Index) || (CurrentLink == StartLink)) {
|
||||
@@ -251,10 +254,10 @@ SdtGetAcpiTable (
|
||||
//
|
||||
// Get handle and version
|
||||
//
|
||||
CurrentTable = EFI_ACPI_TABLE_LIST_FROM_LINK (CurrentLink);
|
||||
*TableKey = CurrentTable->Handle;
|
||||
*Version = CurrentTable->Version;
|
||||
*Table = (EFI_ACPI_SDT_HEADER *)CurrentTable->Table;
|
||||
CurrentTable = EFI_ACPI_TABLE_LIST_FROM_LINK (CurrentLink);
|
||||
*TableKey = CurrentTable->Handle;
|
||||
*Version = CurrentTable->Version;
|
||||
*Table = (EFI_ACPI_SDT_HEADER *)CurrentTable->Table;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -287,13 +290,13 @@ SdtGetAcpiTable (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetAcpiTable2 (
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
)
|
||||
{
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
|
||||
ASSERT (Table != NULL);
|
||||
ASSERT (Version != NULL);
|
||||
@@ -307,7 +310,6 @@ GetAcpiTable2 (
|
||||
return SdtGetAcpiTable (AcpiTableInstance, Index, Table, Version, TableKey);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Register a callback when an ACPI table is installed.
|
||||
|
||||
@@ -317,11 +319,11 @@ GetAcpiTable2 (
|
||||
**/
|
||||
VOID
|
||||
SdtRegisterNotify (
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
)
|
||||
{
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
EFI_ACPI_NOTIFY_LIST *CurrentNotifyList;
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
EFI_ACPI_NOTIFY_LIST *CurrentNotifyList;
|
||||
|
||||
//
|
||||
// Get the instance of the ACPI Table
|
||||
@@ -345,7 +347,7 @@ SdtRegisterNotify (
|
||||
//
|
||||
InsertTailList (&AcpiTableInstance->NotifyList, &CurrentNotifyList->Link);
|
||||
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -360,13 +362,13 @@ SdtRegisterNotify (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtUnregisterNotify (
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
)
|
||||
{
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
EFI_ACPI_NOTIFY_LIST *CurrentNotifyList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
EFI_ACPI_NOTIFY_LIST *CurrentNotifyList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
|
||||
//
|
||||
// Get the instance of the ACPI Table
|
||||
@@ -418,8 +420,8 @@ SdtUnregisterNotify (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
RegisterNotify (
|
||||
IN BOOLEAN Register,
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
IN BOOLEAN Register,
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -454,14 +456,14 @@ RegisterNotify (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtOpenSdtTable (
|
||||
IN UINTN TableKey,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
IN UINTN TableKey,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
)
|
||||
{
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
EFI_STATUS Status;
|
||||
EFI_ACPI_TABLE_LIST *Table;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance;
|
||||
EFI_STATUS Status;
|
||||
EFI_ACPI_TABLE_LIST *Table;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
|
||||
//
|
||||
// Get the instance of the ACPI Table
|
||||
@@ -480,11 +482,11 @@ SdtOpenSdtTable (
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
AmlHandle = AllocatePool (sizeof(*AmlHandle));
|
||||
AmlHandle = AllocatePool (sizeof (*AmlHandle));
|
||||
ASSERT (AmlHandle != NULL);
|
||||
AmlHandle->Signature = EFI_AML_ROOT_HANDLE_SIGNATURE;
|
||||
AmlHandle->Buffer = (VOID *)((UINTN)Table->Table + sizeof(EFI_ACPI_SDT_HEADER));
|
||||
AmlHandle->Size = Table->Table->Length - sizeof(EFI_ACPI_SDT_HEADER);
|
||||
AmlHandle->Buffer = (VOID *)((UINTN)Table->Table + sizeof (EFI_ACPI_SDT_HEADER));
|
||||
AmlHandle->Size = Table->Table->Length - sizeof (EFI_ACPI_SDT_HEADER);
|
||||
AmlHandle->AmlByteEncoding = NULL;
|
||||
AmlHandle->Modified = FALSE;
|
||||
|
||||
@@ -508,8 +510,8 @@ SdtOpenSdtTable (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
OpenSdt (
|
||||
IN UINTN TableKey,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
IN UINTN TableKey,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
)
|
||||
{
|
||||
if (Handle == NULL) {
|
||||
@@ -533,13 +535,13 @@ OpenSdt (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtOpenEx (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
)
|
||||
{
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
|
||||
AmlByteEncoding = AmlSearchByOpByte (Buffer);
|
||||
if (AmlByteEncoding == NULL) {
|
||||
@@ -556,7 +558,7 @@ SdtOpenEx (
|
||||
//
|
||||
// Good, find it
|
||||
//
|
||||
AmlHandle = AllocatePool (sizeof(*AmlHandle));
|
||||
AmlHandle = AllocatePool (sizeof (*AmlHandle));
|
||||
ASSERT (AmlHandle != NULL);
|
||||
|
||||
AmlHandle->Signature = EFI_AML_HANDLE_SIGNATURE;
|
||||
@@ -589,19 +591,19 @@ SdtOpenEx (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
Open (
|
||||
IN VOID *Buffer,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
IN VOID *Buffer,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINTN MaxSize;
|
||||
EFI_STATUS Status;
|
||||
UINTN MaxSize;
|
||||
|
||||
MaxSize = 0;
|
||||
|
||||
//
|
||||
// Check for invalid input parameters
|
||||
//
|
||||
if (Buffer == NULL || Handle == NULL) {
|
||||
if ((Buffer == NULL) || (Handle == NULL)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@@ -624,11 +626,11 @@ Open (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
Close (
|
||||
IN EFI_ACPI_HANDLE Handle
|
||||
IN EFI_ACPI_HANDLE Handle
|
||||
)
|
||||
{
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
EFI_STATUS Status;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
EFI_STATUS Status;
|
||||
|
||||
//
|
||||
// Check for invalid input parameters
|
||||
@@ -639,7 +641,8 @@ Close (
|
||||
|
||||
AmlHandle = (EFI_AML_HANDLE *)Handle;
|
||||
if ((AmlHandle->Signature != EFI_AML_ROOT_HANDLE_SIGNATURE) &&
|
||||
(AmlHandle->Signature != EFI_AML_HANDLE_SIGNATURE)) {
|
||||
(AmlHandle->Signature != EFI_AML_HANDLE_SIGNATURE))
|
||||
{
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@@ -682,9 +685,9 @@ GetOption (
|
||||
OUT UINTN *DataSize
|
||||
)
|
||||
{
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
EFI_STATUS Status;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
EFI_STATUS Status;
|
||||
|
||||
ASSERT (DataType != NULL);
|
||||
ASSERT (Data != NULL);
|
||||
@@ -740,10 +743,10 @@ GetOption (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SetOption (
|
||||
IN EFI_ACPI_HANDLE Handle,
|
||||
IN UINTN Index,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
IN EFI_ACPI_HANDLE Handle,
|
||||
IN UINTN Index,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
@@ -769,6 +772,7 @@ SetOption (
|
||||
if (AmlHandle->Signature != EFI_AML_HANDLE_SIGNATURE) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
AmlByteEncoding = AmlHandle->AmlByteEncoding;
|
||||
|
||||
if (Index > AmlByteEncoding->MaxIndex) {
|
||||
@@ -782,6 +786,7 @@ SetOption (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (DataType == EFI_ACPI_DATA_TYPE_NONE) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@@ -813,14 +818,14 @@ SetOption (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetChild (
|
||||
IN EFI_ACPI_HANDLE ParentHandle,
|
||||
IN OUT EFI_ACPI_HANDLE *Handle
|
||||
IN EFI_ACPI_HANDLE ParentHandle,
|
||||
IN OUT EFI_ACPI_HANDLE *Handle
|
||||
)
|
||||
{
|
||||
EFI_AML_HANDLE *AmlParentHandle;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
VOID *Buffer;
|
||||
EFI_STATUS Status;
|
||||
EFI_AML_HANDLE *AmlParentHandle;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
VOID *Buffer;
|
||||
EFI_STATUS Status;
|
||||
|
||||
ASSERT (Handle != NULL);
|
||||
|
||||
@@ -831,7 +836,7 @@ GetChild (
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
AmlHandle = *Handle;
|
||||
AmlHandle = *Handle;
|
||||
if ((AmlHandle != NULL) && (AmlHandle->Signature != EFI_AML_HANDLE_SIGNATURE)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@@ -857,10 +862,12 @@ GetChild (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Buffer == NULL) {
|
||||
*Handle = NULL;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
return SdtOpenEx (Buffer, (UINTN)AmlParentHandle->Buffer + AmlParentHandle->Size - (UINTN)Buffer, Handle);
|
||||
}
|
||||
|
||||
@@ -877,16 +884,16 @@ GetChild (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtFindPathFromNonRoot (
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN UINT8 *AmlPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN UINT8 *AmlPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
)
|
||||
{
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
VOID *Buffer;
|
||||
EFI_STATUS Status;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
VOID *Buffer;
|
||||
EFI_STATUS Status;
|
||||
|
||||
Buffer = NULL;
|
||||
Buffer = NULL;
|
||||
AmlHandle = (EFI_AML_HANDLE *)HandleIn;
|
||||
|
||||
//
|
||||
@@ -896,10 +903,12 @@ SdtFindPathFromNonRoot (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (Buffer == NULL) {
|
||||
*HandleOut = NULL;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
return SdtOpenEx (Buffer, (UINTN)AmlHandle->Buffer + AmlHandle->Size - (UINTN)Buffer, HandleOut);
|
||||
}
|
||||
|
||||
@@ -912,14 +921,14 @@ SdtFindPathFromNonRoot (
|
||||
**/
|
||||
EFI_AML_HANDLE *
|
||||
SdtDuplicateHandle (
|
||||
IN EFI_AML_HANDLE *AmlHandle
|
||||
IN EFI_AML_HANDLE *AmlHandle
|
||||
)
|
||||
{
|
||||
EFI_AML_HANDLE *DstAmlHandle;
|
||||
|
||||
DstAmlHandle = AllocatePool (sizeof(*DstAmlHandle));
|
||||
DstAmlHandle = AllocatePool (sizeof (*DstAmlHandle));
|
||||
ASSERT (DstAmlHandle != NULL);
|
||||
CopyMem (DstAmlHandle, (VOID *)AmlHandle, sizeof(*DstAmlHandle));
|
||||
CopyMem (DstAmlHandle, (VOID *)AmlHandle, sizeof (*DstAmlHandle));
|
||||
|
||||
return DstAmlHandle;
|
||||
}
|
||||
@@ -937,17 +946,17 @@ SdtDuplicateHandle (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtFindPathFromRoot (
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN UINT8 *AmlPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN UINT8 *AmlPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
)
|
||||
{
|
||||
EFI_ACPI_HANDLE ChildHandle;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
EFI_STATUS Status;
|
||||
VOID *Buffer;
|
||||
EFI_ACPI_HANDLE ChildHandle;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
EFI_STATUS Status;
|
||||
VOID *Buffer;
|
||||
|
||||
Buffer = NULL;
|
||||
Buffer = NULL;
|
||||
AmlHandle = (EFI_AML_HANDLE *)HandleIn;
|
||||
|
||||
//
|
||||
@@ -983,7 +992,7 @@ SdtFindPathFromRoot (
|
||||
// More child
|
||||
//
|
||||
AmlHandle = (EFI_AML_HANDLE *)ChildHandle;
|
||||
Status = AmlFindPath (AmlHandle, AmlPath, &Buffer, TRUE);
|
||||
Status = AmlFindPath (AmlHandle, AmlPath, &Buffer, TRUE);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
@@ -993,9 +1002,10 @@ SdtFindPathFromRoot (
|
||||
// Great! Find it, open
|
||||
//
|
||||
Status = SdtOpenEx (Buffer, (UINTN)AmlHandle->Buffer + AmlHandle->Size - (UINTN)Buffer, HandleOut);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
if (!EFI_ERROR (Status)) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
//
|
||||
// Not success, try next one
|
||||
//
|
||||
@@ -1021,14 +1031,14 @@ SdtFindPathFromRoot (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FindPath (
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN VOID *AcpiPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN VOID *AcpiPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
)
|
||||
{
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
EFI_STATUS Status;
|
||||
UINT8 *AmlPath;
|
||||
EFI_AML_HANDLE *AmlHandle;
|
||||
EFI_STATUS Status;
|
||||
UINT8 *AmlPath;
|
||||
|
||||
//
|
||||
// Check for invalid input parameters
|
||||
@@ -1079,13 +1089,12 @@ FindPath (
|
||||
**/
|
||||
VOID
|
||||
SdtAcpiTableAcpiSdtConstructor (
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance
|
||||
)
|
||||
{
|
||||
|
||||
InitializeListHead (&AcpiTableInstance->NotifyList);
|
||||
CopyMem (&AcpiTableInstance->AcpiSdtProtocol, &mAcpiSdtProtocolTemplate, sizeof(mAcpiSdtProtocolTemplate));
|
||||
CopyMem (&AcpiTableInstance->AcpiSdtProtocol, &mAcpiSdtProtocolTemplate, sizeof (mAcpiSdtProtocolTemplate));
|
||||
AcpiTableInstance->AcpiSdtProtocol.AcpiVersion = (EFI_ACPI_TABLE_VERSION)PcdGet32 (PcdAcpiExposedTableVersions);
|
||||
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
@@ -16,7 +16,7 @@
|
||||
//
|
||||
// ACPI Notify Linked List Signature.
|
||||
//
|
||||
#define EFI_ACPI_NOTIFY_LIST_SIGNATURE SIGNATURE_32 ('E', 'A', 'N', 'L')
|
||||
#define EFI_ACPI_NOTIFY_LIST_SIGNATURE SIGNATURE_32 ('E', 'A', 'N', 'L')
|
||||
|
||||
//
|
||||
// ACPI Notify List Entry definition.
|
||||
@@ -26,9 +26,9 @@
|
||||
// Notification is the callback function.
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link;
|
||||
EFI_ACPI_NOTIFICATION_FN Notification;
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link;
|
||||
EFI_ACPI_NOTIFICATION_FN Notification;
|
||||
} EFI_ACPI_NOTIFY_LIST;
|
||||
|
||||
//
|
||||
@@ -36,13 +36,13 @@ typedef struct {
|
||||
//
|
||||
#define EFI_ACPI_NOTIFY_LIST_FROM_LINK(_link) CR (_link, EFI_ACPI_NOTIFY_LIST, Link, EFI_ACPI_NOTIFY_LIST_SIGNATURE)
|
||||
|
||||
typedef struct _AML_BYTE_ENCODING AML_BYTE_ENCODING;
|
||||
typedef struct _EFI_AML_NODE_LIST EFI_AML_NODE_LIST;
|
||||
typedef struct _AML_BYTE_ENCODING AML_BYTE_ENCODING;
|
||||
typedef struct _EFI_AML_NODE_LIST EFI_AML_NODE_LIST;
|
||||
|
||||
//
|
||||
// AML Node Linked List Signature.
|
||||
//
|
||||
#define EFI_AML_NODE_LIST_SIGNATURE SIGNATURE_32 ('E', 'A', 'M', 'L')
|
||||
#define EFI_AML_NODE_LIST_SIGNATURE SIGNATURE_32 ('E', 'A', 'M', 'L')
|
||||
|
||||
//
|
||||
// AML Node Linked List Entry definition.
|
||||
@@ -58,14 +58,14 @@ typedef struct _EFI_AML_NODE_LIST EFI_AML_NODE_LIST;
|
||||
//
|
||||
|
||||
struct _EFI_AML_NODE_LIST {
|
||||
UINT32 Signature;
|
||||
UINT8 Name[AML_NAME_SEG_SIZE];
|
||||
UINT8 *Buffer;
|
||||
UINTN Size;
|
||||
LIST_ENTRY Link;
|
||||
LIST_ENTRY Children;
|
||||
EFI_AML_NODE_LIST *Parent;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
UINT32 Signature;
|
||||
UINT8 Name[AML_NAME_SEG_SIZE];
|
||||
UINT8 *Buffer;
|
||||
UINTN Size;
|
||||
LIST_ENTRY Link;
|
||||
LIST_ENTRY Children;
|
||||
EFI_AML_NODE_LIST *Parent;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
};
|
||||
|
||||
//
|
||||
@@ -76,8 +76,8 @@ struct _EFI_AML_NODE_LIST {
|
||||
//
|
||||
// AML Handle Signature.
|
||||
//
|
||||
#define EFI_AML_HANDLE_SIGNATURE SIGNATURE_32 ('E', 'A', 'H', 'S')
|
||||
#define EFI_AML_ROOT_HANDLE_SIGNATURE SIGNATURE_32 ('E', 'A', 'R', 'H')
|
||||
#define EFI_AML_HANDLE_SIGNATURE SIGNATURE_32 ('E', 'A', 'H', 'S')
|
||||
#define EFI_AML_ROOT_HANDLE_SIGNATURE SIGNATURE_32 ('E', 'A', 'R', 'H')
|
||||
|
||||
//
|
||||
// AML Handle Entry definition.
|
||||
@@ -88,50 +88,50 @@ struct _EFI_AML_NODE_LIST {
|
||||
// Size is the total size of this ACPI node buffer.
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
UINT8 *Buffer;
|
||||
UINTN Size;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
BOOLEAN Modified;
|
||||
UINT32 Signature;
|
||||
UINT8 *Buffer;
|
||||
UINTN Size;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
BOOLEAN Modified;
|
||||
} EFI_AML_HANDLE;
|
||||
|
||||
typedef UINT32 AML_OP_PARSE_INDEX;
|
||||
|
||||
#define AML_OP_PARSE_INDEX_GET_OPCODE 0
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM1 1
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM2 2
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM3 3
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM4 4
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM5 5
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM6 6
|
||||
#define AML_OP_PARSE_INDEX_GET_SIZE (AML_OP_PARSE_INDEX)-1
|
||||
#define AML_OP_PARSE_INDEX_GET_OPCODE 0
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM1 1
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM2 2
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM3 3
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM4 4
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM5 5
|
||||
#define AML_OP_PARSE_INDEX_GET_TERM6 6
|
||||
#define AML_OP_PARSE_INDEX_GET_SIZE (AML_OP_PARSE_INDEX)-1
|
||||
|
||||
typedef UINT32 AML_OP_PARSE_FORMAT;
|
||||
#define AML_NONE 0
|
||||
#define AML_OPCODE 1
|
||||
#define AML_UINT8 2
|
||||
#define AML_UINT16 3
|
||||
#define AML_UINT32 4
|
||||
#define AML_UINT64 5
|
||||
#define AML_NAME 6
|
||||
#define AML_STRING 7
|
||||
#define AML_OBJECT 8
|
||||
#define AML_NONE 0
|
||||
#define AML_OPCODE 1
|
||||
#define AML_UINT8 2
|
||||
#define AML_UINT16 3
|
||||
#define AML_UINT32 4
|
||||
#define AML_UINT64 5
|
||||
#define AML_NAME 6
|
||||
#define AML_STRING 7
|
||||
#define AML_OBJECT 8
|
||||
|
||||
typedef UINT32 AML_OP_ATTRIBUTE;
|
||||
#define AML_HAS_PKG_LENGTH 0x1 // It is ACPI attribute - if OpCode has PkgLength
|
||||
#define AML_IS_NAME_CHAR 0x2 // It is ACPI attribute - if this is NameChar
|
||||
#define AML_HAS_CHILD_OBJ 0x4 // it is ACPI attribute - if OpCode has Child Object.
|
||||
#define AML_IN_NAMESPACE 0x10000 // It is UEFI SDT attribute - if OpCode will be in NameSpace
|
||||
#define AML_HAS_PKG_LENGTH 0x1 // It is ACPI attribute - if OpCode has PkgLength
|
||||
#define AML_IS_NAME_CHAR 0x2 // It is ACPI attribute - if this is NameChar
|
||||
#define AML_HAS_CHILD_OBJ 0x4 // it is ACPI attribute - if OpCode has Child Object.
|
||||
#define AML_IN_NAMESPACE 0x10000 // It is UEFI SDT attribute - if OpCode will be in NameSpace
|
||||
// NOTE; Not all OBJECT will be in NameSpace
|
||||
// For example, BankField | CreateBitField | CreateByteField | CreateDWordField |
|
||||
// CreateField | CreateQWordField | CreateWordField | Field | IndexField.
|
||||
|
||||
struct _AML_BYTE_ENCODING {
|
||||
UINT8 OpCode;
|
||||
UINT8 SubOpCode;
|
||||
AML_OP_PARSE_INDEX MaxIndex;
|
||||
AML_OP_PARSE_FORMAT Format[6];
|
||||
AML_OP_ATTRIBUTE Attribute;
|
||||
UINT8 OpCode;
|
||||
UINT8 SubOpCode;
|
||||
AML_OP_PARSE_INDEX MaxIndex;
|
||||
AML_OP_PARSE_FORMAT Format[6];
|
||||
AML_OP_ATTRIBUTE Attribute;
|
||||
};
|
||||
|
||||
//
|
||||
@@ -167,10 +167,10 @@ struct _AML_BYTE_ENCODING {
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetAcpiTable2 (
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -190,8 +190,8 @@ GetAcpiTable2 (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
RegisterNotify (
|
||||
IN BOOLEAN Register,
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
IN BOOLEAN Register,
|
||||
IN EFI_ACPI_NOTIFICATION_FN Notification
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -206,8 +206,8 @@ RegisterNotify (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
OpenSdt (
|
||||
IN UINTN TableKey,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
IN UINTN TableKey,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -224,8 +224,8 @@ OpenSdt (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
Open (
|
||||
IN VOID *Buffer,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
IN VOID *Buffer,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -239,7 +239,7 @@ Open (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
Close (
|
||||
IN EFI_ACPI_HANDLE Handle
|
||||
IN EFI_ACPI_HANDLE Handle
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -284,10 +284,10 @@ GetOption (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
SetOption (
|
||||
IN EFI_ACPI_HANDLE Handle,
|
||||
IN UINTN Index,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
IN EFI_ACPI_HANDLE Handle,
|
||||
IN UINTN Index,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -304,8 +304,8 @@ SetOption (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetChild (
|
||||
IN EFI_ACPI_HANDLE ParentHandle,
|
||||
IN OUT EFI_ACPI_HANDLE *Handle
|
||||
IN EFI_ACPI_HANDLE ParentHandle,
|
||||
IN OUT EFI_ACPI_HANDLE *Handle
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -322,9 +322,9 @@ GetChild (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FindPath (
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN VOID *AcpiPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
IN EFI_ACPI_HANDLE HandleIn,
|
||||
IN VOID *AcpiPath,
|
||||
OUT EFI_ACPI_HANDLE *HandleOut
|
||||
);
|
||||
|
||||
//
|
||||
@@ -345,9 +345,9 @@ FindPath (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtOpenEx (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
);
|
||||
|
||||
//
|
||||
@@ -365,8 +365,8 @@ SdtOpenEx (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetNameStringSize (
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *BufferSize
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *BufferSize
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -379,8 +379,8 @@ AmlGetNameStringSize (
|
||||
**/
|
||||
UINTN
|
||||
AmlGetPkgLength (
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *PkgLength
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *PkgLength
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -404,7 +404,7 @@ AmlTypeToAcpiType (
|
||||
**/
|
||||
AML_BYTE_ENCODING *
|
||||
AmlSearchByOpByte (
|
||||
IN UINT8 *OpByteBuffer
|
||||
IN UINT8 *OpByteBuffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -418,9 +418,9 @@ AmlSearchByOpByte (
|
||||
**/
|
||||
UINTN
|
||||
AmlGetObjectSize (
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -432,7 +432,7 @@ AmlGetObjectSize (
|
||||
**/
|
||||
CHAR8 *
|
||||
AmlGetObjectName (
|
||||
IN EFI_AML_HANDLE *AmlHandle
|
||||
IN EFI_AML_HANDLE *AmlHandle
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -451,11 +451,11 @@ AmlGetObjectName (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlParseOptionHandleCommon (
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN AML_OP_PARSE_INDEX Index,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN AML_OP_PARSE_INDEX Index,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -469,8 +469,8 @@ AmlParseOptionHandleCommon (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetOffsetAfterLastOption (
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT UINT8 **Buffer
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT UINT8 **Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -486,9 +486,9 @@ AmlGetOffsetAfterLastOption (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromRoot (
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -504,9 +504,9 @@ AmlGetChildFromRoot (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromNonRoot (
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -519,7 +519,7 @@ AmlGetChildFromNonRoot (
|
||||
**/
|
||||
UINT8 *
|
||||
AmlNameFromAslName (
|
||||
IN UINT8 *AslPath
|
||||
IN UINT8 *AslPath
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -550,7 +550,7 @@ AmlFindPath (
|
||||
**/
|
||||
VOID
|
||||
AmlPrintNameString (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -560,7 +560,7 @@ AmlPrintNameString (
|
||||
**/
|
||||
VOID
|
||||
AmlPrintNameSeg (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -573,7 +573,7 @@ AmlPrintNameSeg (
|
||||
**/
|
||||
BOOLEAN
|
||||
AmlIsRootPath (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
);
|
||||
|
||||
#endif
|
||||
|
@@ -14,8 +14,8 @@
|
||||
//
|
||||
// Handle to install ACPI Table Protocol
|
||||
//
|
||||
EFI_HANDLE mHandle = NULL;
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_ACPI_TABLE_INSTANCE *mPrivateData = NULL;
|
||||
EFI_HANDLE mHandle = NULL;
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED EFI_ACPI_TABLE_INSTANCE *mPrivateData = NULL;
|
||||
|
||||
/**
|
||||
Entry point of the ACPI table driver.
|
||||
@@ -33,12 +33,12 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_ACPI_TABLE_INSTANCE *mPrivateData = NULL;
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
InitializeAcpiTableDxe (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_ACPI_TABLE_INSTANCE *PrivateData;
|
||||
EFI_STATUS Status;
|
||||
EFI_ACPI_TABLE_INSTANCE *PrivateData;
|
||||
|
||||
//
|
||||
// Initialize our protocol
|
||||
@@ -61,14 +61,14 @@ InitializeAcpiTableDxe (
|
||||
//
|
||||
if (FeaturePcdGet (PcdInstallAcpiSdtProtocol)) {
|
||||
mPrivateData = PrivateData;
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&mHandle,
|
||||
&gEfiAcpiTableProtocolGuid,
|
||||
&PrivateData->AcpiTableProtocol,
|
||||
&gEfiAcpiSdtProtocolGuid,
|
||||
&mPrivateData->AcpiSdtProtocol,
|
||||
NULL
|
||||
);
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&mHandle,
|
||||
&gEfiAcpiTableProtocolGuid,
|
||||
&PrivateData->AcpiTableProtocol,
|
||||
&gEfiAcpiSdtProtocolGuid,
|
||||
&mPrivateData->AcpiSdtProtocol,
|
||||
NULL
|
||||
);
|
||||
} else {
|
||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
&mHandle,
|
||||
@@ -77,8 +77,8 @@ InitializeAcpiTableDxe (
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
@@ -9,7 +9,6 @@
|
||||
#ifndef _ACPI_TABLE_H_
|
||||
#define _ACPI_TABLE_H_
|
||||
|
||||
|
||||
#include <PiDxe.h>
|
||||
|
||||
#include <Protocol/AcpiTable.h>
|
||||
@@ -37,7 +36,7 @@
|
||||
//
|
||||
// Great than or equal to 2.0.
|
||||
//
|
||||
#define ACPI_TABLE_VERSION_GTE_2_0 (EFI_ACPI_TABLE_VERSION_2_0 | \
|
||||
#define ACPI_TABLE_VERSION_GTE_2_0 (EFI_ACPI_TABLE_VERSION_2_0 |\
|
||||
EFI_ACPI_TABLE_VERSION_3_0 | \
|
||||
EFI_ACPI_TABLE_VERSION_4_0 | \
|
||||
EFI_ACPI_TABLE_VERSION_5_0)
|
||||
@@ -48,7 +47,7 @@
|
||||
//
|
||||
// ACPI Table Linked List Signature.
|
||||
//
|
||||
#define EFI_ACPI_TABLE_LIST_SIGNATURE SIGNATURE_32 ('E', 'A', 'T', 'L')
|
||||
#define EFI_ACPI_TABLE_LIST_SIGNATURE SIGNATURE_32 ('E', 'A', 'T', 'L')
|
||||
|
||||
//
|
||||
// ACPI Table Linked List Entry definition.
|
||||
@@ -65,13 +64,13 @@
|
||||
// TRUE: Table points to TableSize bytes allocated using gBS->AllocatePool ()
|
||||
//
|
||||
typedef struct {
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link;
|
||||
EFI_ACPI_TABLE_VERSION Version;
|
||||
EFI_ACPI_COMMON_HEADER *Table;
|
||||
UINTN TableSize;
|
||||
UINTN Handle;
|
||||
BOOLEAN PoolAllocation;
|
||||
UINT32 Signature;
|
||||
LIST_ENTRY Link;
|
||||
EFI_ACPI_TABLE_VERSION Version;
|
||||
EFI_ACPI_COMMON_HEADER *Table;
|
||||
UINTN TableSize;
|
||||
UINTN Handle;
|
||||
BOOLEAN PoolAllocation;
|
||||
} EFI_ACPI_TABLE_LIST;
|
||||
|
||||
//
|
||||
@@ -82,7 +81,7 @@ typedef struct {
|
||||
//
|
||||
// The maximum number of tables this driver supports
|
||||
//
|
||||
#define EFI_ACPI_MAX_NUM_TABLES 20
|
||||
#define EFI_ACPI_MAX_NUM_TABLES 20
|
||||
|
||||
//
|
||||
// Protocol private structure definition
|
||||
@@ -96,25 +95,25 @@ typedef struct {
|
||||
// ACPI support protocol instance data structure
|
||||
//
|
||||
typedef struct {
|
||||
UINTN Signature;
|
||||
EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER *Rsdp1; // Pointer to RSD_PTR structure
|
||||
EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER *Rsdp3; // Pointer to RSD_PTR structure
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Rsdt1; // Pointer to RSDT table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Rsdt3; // Pointer to RSDT table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Xsdt; // Pointer to XSDT table header
|
||||
EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt1; // Pointer to FADT table header
|
||||
EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt3; // Pointer to FADT table header
|
||||
EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs1; // Pointer to FACS table header
|
||||
EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs3; // Pointer to FACS table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Dsdt1; // Pointer to DSDT table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Dsdt3; // Pointer to DSDT table header
|
||||
LIST_ENTRY TableList;
|
||||
UINTN NumberOfTableEntries1; // Number of ACPI 1.0 tables
|
||||
UINTN NumberOfTableEntries3; // Number of ACPI 3.0 tables
|
||||
UINTN CurrentHandle;
|
||||
EFI_ACPI_TABLE_PROTOCOL AcpiTableProtocol;
|
||||
EFI_ACPI_SDT_PROTOCOL AcpiSdtProtocol;
|
||||
LIST_ENTRY NotifyList;
|
||||
UINTN Signature;
|
||||
EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER *Rsdp1; // Pointer to RSD_PTR structure
|
||||
EFI_ACPI_3_0_ROOT_SYSTEM_DESCRIPTION_POINTER *Rsdp3; // Pointer to RSD_PTR structure
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Rsdt1; // Pointer to RSDT table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Rsdt3; // Pointer to RSDT table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Xsdt; // Pointer to XSDT table header
|
||||
EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt1; // Pointer to FADT table header
|
||||
EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt3; // Pointer to FADT table header
|
||||
EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs1; // Pointer to FACS table header
|
||||
EFI_ACPI_3_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs3; // Pointer to FACS table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Dsdt1; // Pointer to DSDT table header
|
||||
EFI_ACPI_DESCRIPTION_HEADER *Dsdt3; // Pointer to DSDT table header
|
||||
LIST_ENTRY TableList;
|
||||
UINTN NumberOfTableEntries1; // Number of ACPI 1.0 tables
|
||||
UINTN NumberOfTableEntries3; // Number of ACPI 3.0 tables
|
||||
UINTN CurrentHandle;
|
||||
EFI_ACPI_TABLE_PROTOCOL AcpiTableProtocol;
|
||||
EFI_ACPI_SDT_PROTOCOL AcpiSdtProtocol;
|
||||
LIST_ENTRY NotifyList;
|
||||
} EFI_ACPI_TABLE_INSTANCE;
|
||||
|
||||
//
|
||||
@@ -143,10 +142,9 @@ typedef struct {
|
||||
**/
|
||||
EFI_STATUS
|
||||
AcpiTableAcpiTableConstructor (
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance
|
||||
EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Entry point of the ACPI table driver.
|
||||
Creates and initializes an instance of the ACPI Table
|
||||
@@ -163,8 +161,8 @@ AcpiTableAcpiTableConstructor (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
InitializeAcpiTableDxe (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -183,9 +181,9 @@ InitializeAcpiTableDxe (
|
||||
**/
|
||||
EFI_STATUS
|
||||
FindTableByHandle (
|
||||
IN UINTN Handle,
|
||||
IN LIST_ENTRY *TableList,
|
||||
OUT EFI_ACPI_TABLE_LIST **Table
|
||||
IN UINTN Handle,
|
||||
IN LIST_ENTRY *TableList,
|
||||
OUT EFI_ACPI_TABLE_LIST **Table
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -201,9 +199,9 @@ FindTableByHandle (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AcpiPlatformChecksum (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
IN UINTN ChecksumOffset
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
IN UINTN ChecksumOffset
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -215,9 +213,9 @@ AcpiPlatformChecksum (
|
||||
**/
|
||||
VOID
|
||||
SdtNotifyAcpiList (
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN EFI_ACPI_TABLE_VERSION Version,
|
||||
IN UINTN Handle
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN EFI_ACPI_TABLE_VERSION Version,
|
||||
IN UINTN Handle
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -227,7 +225,7 @@ SdtNotifyAcpiList (
|
||||
**/
|
||||
VOID
|
||||
SdtAcpiTableAcpiSdtConstructor (
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -257,17 +255,17 @@ SdtAcpiTableAcpiSdtConstructor (
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtGetAcpiTable (
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
IN EFI_ACPI_TABLE_INSTANCE *AcpiTableInstance,
|
||||
IN UINTN Index,
|
||||
OUT EFI_ACPI_SDT_HEADER **Table,
|
||||
OUT EFI_ACPI_TABLE_VERSION *Version,
|
||||
OUT UINTN *TableKey
|
||||
);
|
||||
|
||||
//
|
||||
// export PrivateData symbol, because we need that in AcpiSdtProtol implementation
|
||||
//
|
||||
extern EFI_HANDLE mHandle;
|
||||
extern EFI_ACPI_TABLE_INSTANCE *mPrivateData;
|
||||
extern EFI_HANDLE mHandle;
|
||||
extern EFI_ACPI_TABLE_INSTANCE *mPrivateData;
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -9,151 +9,151 @@
|
||||
#include "AcpiTable.h"
|
||||
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED
|
||||
AML_BYTE_ENCODING mAmlByteEncoding[] = {
|
||||
AML_BYTE_ENCODING mAmlByteEncoding[] = {
|
||||
// OpCode SubOpCode Num 1 2 3 4 5 6 Attribute
|
||||
/* ZeroOp - 0x00 */ {AML_ZERO_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* OneOp - 0x01 */ {AML_ONE_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* AliasOp - 0x06 */ {AML_ALIAS_OP, 0, 2, {AML_NAME, AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IN_NAMESPACE},
|
||||
/* NameOp - 0x08 */ {AML_NAME_OP, 0, 2, {AML_NAME, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IN_NAMESPACE},
|
||||
/* BytePrefix - 0x0A */ {AML_BYTE_PREFIX, 0, 1, {AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* WordPrefix - 0x0B */ {AML_WORD_PREFIX, 0, 1, {AML_UINT16, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* DWordPrefix - 0x0C */ {AML_DWORD_PREFIX, 0, 1, {AML_UINT32, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* StringPrefix - 0x0D */ {AML_STRING_PREFIX, 0, 1, {AML_STRING, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* QWordPrefix - 0x0E */ {AML_QWORD_PREFIX, 0, 1, {AML_UINT64, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ScopeOp - 0x10 */ {AML_SCOPE_OP, 0, 1, {AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE},
|
||||
/* BufferOp - 0x11 */ {AML_BUFFER_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH},
|
||||
/* PackageOp - 0x12 */ {AML_PACKAGE_OP, 0, 1, {AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ},
|
||||
/* VarPackageOp - 0x13 */ {AML_VAR_PACKAGE_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ},
|
||||
/* MethodOp - 0x14 */ {AML_METHOD_OP, 0, 2, {AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE},
|
||||
/* DualNamePrefix - 0x2F */ {AML_DUAL_NAME_PREFIX, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* MultiNamePrefix - 0x2F */ {AML_MULTI_NAME_PREFIX, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x41 */ {'A', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x42 */ {'B', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x43 */ {'C', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x44 */ {'D', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x45 */ {'E', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x46 */ {'F', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x47 */ {'G', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x48 */ {'H', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x49 */ {'I', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x4A */ {'J', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x4B */ {'K', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x4C */ {'L', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x4D */ {'M', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x4E */ {'N', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x4F */ {'O', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x50 */ {'P', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x51 */ {'Q', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x52 */ {'R', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x53 */ {'S', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x54 */ {'T', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x55 */ {'U', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x56 */ {'V', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x57 */ {'W', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x58 */ {'X', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x59 */ {'Y', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x5A */ {'Z', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* MutexOp - 0x5B 0x01 */ {AML_EXT_OP, AML_EXT_MUTEX_OP, 2, {AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IN_NAMESPACE},
|
||||
/* EventOp - 0x5B 0x02 */ {AML_EXT_OP, AML_EXT_EVENT_OP, 1, {AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IN_NAMESPACE},
|
||||
/* CondRefOfOp - 0x5B 0x12 */ {AML_EXT_OP, AML_EXT_COND_REF_OF_OP, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* CreateFieldOp - 0x5B 0x13 */ {AML_EXT_OP, AML_EXT_CREATE_FIELD_OP,4, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE}, 0},
|
||||
/* LoadTableOp - 0x5B 0x1F */ {AML_EXT_OP, AML_EXT_LOAD_TABLE_OP, 6, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT}, 0},
|
||||
/* LoadOp - 0x5B 0x20 */ {AML_EXT_OP, AML_EXT_LOAD_OP, 2, {AML_NAME, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* StallOp - 0x5B 0x21 */ {AML_EXT_OP, AML_EXT_STALL_OP, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* SleepOp - 0x5B 0x22 */ {AML_EXT_OP, AML_EXT_SLEEP_OP, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* AcquireOp - 0x5B 0x23 */ {AML_EXT_OP, AML_EXT_ACQUIRE_OP, 2, {AML_OBJECT, AML_UINT16, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* SignalOp - 0x5B 0x24 */ {AML_EXT_OP, AML_EXT_SIGNAL_OP, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* WaitOp - 0x5B 0x25 */ {AML_EXT_OP, AML_EXT_WAIT_OP, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ResetOp - 0x5B 0x26 */ {AML_EXT_OP, AML_EXT_RESET_OP, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ReleaseOp - 0x5B 0x27 */ {AML_EXT_OP, AML_EXT_RELEASE_OP, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* FromBCDOp - 0x5B 0x28 */ {AML_EXT_OP, AML_EXT_FROM_BCD_OP, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ToBCDOp - 0x5B 0x29 */ {AML_EXT_OP, AML_EXT_TO_BCD_OP, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* UnloadOp - 0x5B 0x2A */ {AML_EXT_OP, AML_EXT_UNLOAD_OP, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* RevisionOp - 0x5B 0x30 */ {AML_EXT_OP, AML_EXT_REVISION_OP, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* DebugOp - 0x5B 0x31 */ {AML_EXT_OP, AML_EXT_DEBUG_OP, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* FatalOp - 0x5B 0x32 */ {AML_EXT_OP, AML_EXT_FATAL_OP, 3, {AML_UINT8, AML_UINT32, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* TimerOp - 0x5B 0x33 */ {AML_EXT_OP, AML_EXT_TIMER_OP, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* OpRegionOp - 0x5B 0x80 */ {AML_EXT_OP, AML_EXT_REGION_OP, 4, {AML_NAME, AML_UINT8, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE}, AML_IN_NAMESPACE},
|
||||
/* FieldOp - 0x5B 0x81 */ {AML_EXT_OP, AML_EXT_FIELD_OP, 2, {AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH},
|
||||
/* DeviceOp - 0x5B 0x82 */ {AML_EXT_OP, AML_EXT_DEVICE_OP, 1, {AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE},
|
||||
/* ProcessorOp - 0x5B 0x83 */ {AML_EXT_OP, AML_EXT_PROCESSOR_OP, 4, {AML_NAME, AML_UINT8, AML_UINT32, AML_UINT8, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE},
|
||||
/* PowerResOp - 0x5B 0x84 */ {AML_EXT_OP, AML_EXT_POWER_RES_OP, 3, {AML_NAME, AML_UINT8, AML_UINT16, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE},
|
||||
/* ThermalZoneOp - 0x5B 0x85 */ {AML_EXT_OP, AML_EXT_THERMAL_ZONE_OP,1, {AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE},
|
||||
/* IndexFieldOp - 0x5B 0x86 */ {AML_EXT_OP, AML_EXT_INDEX_FIELD_OP, 3, {AML_NAME, AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH},
|
||||
/* BankFieldOp - 0x5B 0x87 */ {AML_EXT_OP, AML_EXT_BANK_FIELD_OP, 4, {AML_NAME, AML_NAME, AML_OBJECT, AML_UINT8, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH},
|
||||
/* DataRegionOp - 0x5B 0x88 */ {AML_EXT_OP, AML_EXT_DATA_REGION_OP, 4, {AML_NAME, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE}, AML_IN_NAMESPACE},
|
||||
/* RootChar - 0x5C */ {AML_ROOT_CHAR, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* ParentPrefixChar - 0x5E */ {AML_PARENT_PREFIX_CHAR, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* NameChar - 0x5F */ {'_', 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_IS_NAME_CHAR},
|
||||
/* Local0Op - 0x60 */ {AML_LOCAL0, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Local1Op - 0x61 */ {AML_LOCAL1, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Local2Op - 0x62 */ {AML_LOCAL2, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Local3Op - 0x63 */ {AML_LOCAL3, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Local4Op - 0x64 */ {AML_LOCAL4, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Local5Op - 0x65 */ {AML_LOCAL5, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Local6Op - 0x66 */ {AML_LOCAL6, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Local7Op - 0x67 */ {AML_LOCAL7, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Arg0Op - 0x68 */ {AML_ARG0, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Arg1Op - 0x69 */ {AML_ARG1, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Arg2Op - 0x6A */ {AML_ARG2, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Arg3Op - 0x6B */ {AML_ARG3, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Arg4Op - 0x6C */ {AML_ARG4, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Arg5Op - 0x6D */ {AML_ARG5, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* Arg6Op - 0x6E */ {AML_ARG6, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* StoreOp - 0x70 */ {AML_STORE_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* RefOfOp - 0x71 */ {AML_REF_OF_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* AddOp - 0x72 */ {AML_ADD_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ConcatOp - 0x73 */ {AML_CONCAT_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* SubtractOp - 0x74 */ {AML_SUBTRACT_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* IncrementOp - 0x75 */ {AML_INCREMENT_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* DecrementOp - 0x76 */ {AML_DECREMENT_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* MultiplyOp - 0x77 */ {AML_MULTIPLY_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* DivideOp - 0x78 */ {AML_DIVIDE_OP, 0, 4, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE}, 0},
|
||||
/* ShiftLeftOp - 0x79 */ {AML_SHIFT_LEFT_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ShiftRightOp - 0x7A */ {AML_SHIFT_RIGHT_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* AndOp - 0x7B */ {AML_AND_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* NAndOp - 0x7C */ {AML_NAND_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* OrOp - 0x7D */ {AML_OR_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* NorOp - 0x7E */ {AML_NOR_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* XOrOp - 0x7F */ {AML_XOR_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* NotOp - 0x80 */ {AML_NOT_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* FindSetLeftBitOp - 0x81 */ {AML_FIND_SET_LEFT_BIT_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* FindSetRightBitOp - 0x82 */ {AML_FIND_SET_RIGHT_BIT_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* DerefOfOp - 0x83 */ {AML_DEREF_OF_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ConcatResOp - 0x84 */ {AML_CONCAT_RES_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ModOp - 0x85 */ {AML_MOD_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* NotifyOp - 0x86 */ {AML_NOTIFY_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* SizeOfOp - 0x87 */ {AML_SIZE_OF_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* IndexOp - 0x88 */ {AML_INDEX_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* MatchOp - 0x89 */ {AML_MATCH_OP, 0, 6, {AML_OBJECT, AML_UINT8, AML_OBJECT, AML_UINT8, AML_OBJECT, AML_OBJECT}, 0},
|
||||
/* CreateDWordFieldOp - 0x8A */ {AML_CREATE_DWORD_FIELD_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* CreateWordFieldOp - 0x8B */ {AML_CREATE_WORD_FIELD_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* CreateByteFieldOp - 0x8C */ {AML_CREATE_BYTE_FIELD_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* CreateBitFieldOp - 0x8D */ {AML_CREATE_BIT_FIELD_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ObjectTypeOp - 0x8E */ {AML_OBJECT_TYPE_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* CreateQWordFieldOp - 0x8F */ {AML_CREATE_QWORD_FIELD_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* LAndOp - 0x90 */ {AML_LAND_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* LOrOp - 0x91 */ {AML_LOR_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* LNotOp - 0x92 */ {AML_LNOT_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* LEqualOp - 0x93 */ {AML_LEQUAL_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* LGreaterOp - 0x94 */ {AML_LGREATER_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* LLessOp - 0x95 */ {AML_LLESS_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ToBufferOp - 0x96 */ {AML_TO_BUFFER_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ToDecimalStringOp - 0x97 */ {AML_TO_DEC_STRING_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ToHexStringOp - 0x98 */ {AML_TO_HEX_STRING_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ToIntegerOp - 0x99 */ {AML_TO_INTEGER_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ToStringOp - 0x9C */ {AML_TO_STRING_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* CopyObjectOp - 0x9D */ {AML_COPY_OBJECT_OP, 0, 2, {AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* MidOp - 0x9E */ {AML_MID_OP, 0, 3, {AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ContinueOp - 0x9F */ {AML_CONTINUE_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* IfOp - 0xA0 */ {AML_IF_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ},
|
||||
/* ElseOp - 0xA1 */ {AML_ELSE_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ},
|
||||
/* WhileOp - 0xA2 */ {AML_WHILE_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ},
|
||||
/* NoopOp - 0xA3 */ {AML_NOOP_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ReturnOp - 0xA4 */ {AML_RETURN_OP, 0, 1, {AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* BreakOp - 0xA5 */ {AML_BREAK_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* BreakPointOp - 0xCC */ {AML_BREAK_POINT_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* OnesOp - 0xFF */ {AML_ONES_OP, 0, 0, {AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE}, 0},
|
||||
/* ZeroOp - 0x00 */ { AML_ZERO_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* OneOp - 0x01 */ { AML_ONE_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* AliasOp - 0x06 */ { AML_ALIAS_OP, 0, 2, { AML_NAME, AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IN_NAMESPACE },
|
||||
/* NameOp - 0x08 */ { AML_NAME_OP, 0, 2, { AML_NAME, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IN_NAMESPACE },
|
||||
/* BytePrefix - 0x0A */ { AML_BYTE_PREFIX, 0, 1, { AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* WordPrefix - 0x0B */ { AML_WORD_PREFIX, 0, 1, { AML_UINT16, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* DWordPrefix - 0x0C */ { AML_DWORD_PREFIX, 0, 1, { AML_UINT32, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* StringPrefix - 0x0D */ { AML_STRING_PREFIX, 0, 1, { AML_STRING, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* QWordPrefix - 0x0E */ { AML_QWORD_PREFIX, 0, 1, { AML_UINT64, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ScopeOp - 0x10 */ { AML_SCOPE_OP, 0, 1, { AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE },
|
||||
/* BufferOp - 0x11 */ { AML_BUFFER_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH },
|
||||
/* PackageOp - 0x12 */ { AML_PACKAGE_OP, 0, 1, { AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ },
|
||||
/* VarPackageOp - 0x13 */ { AML_VAR_PACKAGE_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ },
|
||||
/* MethodOp - 0x14 */ { AML_METHOD_OP, 0, 2, { AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE },
|
||||
/* DualNamePrefix - 0x2F */ { AML_DUAL_NAME_PREFIX, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* MultiNamePrefix - 0x2F */ { AML_MULTI_NAME_PREFIX, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x41 */ { 'A', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x42 */ { 'B', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x43 */ { 'C', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x44 */ { 'D', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x45 */ { 'E', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x46 */ { 'F', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x47 */ { 'G', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x48 */ { 'H', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x49 */ { 'I', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x4A */ { 'J', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x4B */ { 'K', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x4C */ { 'L', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x4D */ { 'M', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x4E */ { 'N', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x4F */ { 'O', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x50 */ { 'P', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x51 */ { 'Q', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x52 */ { 'R', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x53 */ { 'S', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x54 */ { 'T', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x55 */ { 'U', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x56 */ { 'V', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x57 */ { 'W', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x58 */ { 'X', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x59 */ { 'Y', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x5A */ { 'Z', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* MutexOp - 0x5B 0x01 */ { AML_EXT_OP, AML_EXT_MUTEX_OP, 2, { AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IN_NAMESPACE },
|
||||
/* EventOp - 0x5B 0x02 */ { AML_EXT_OP, AML_EXT_EVENT_OP, 1, { AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IN_NAMESPACE },
|
||||
/* CondRefOfOp - 0x5B 0x12 */ { AML_EXT_OP, AML_EXT_COND_REF_OF_OP, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* CreateFieldOp - 0x5B 0x13 */ { AML_EXT_OP, AML_EXT_CREATE_FIELD_OP, 4, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE }, 0 },
|
||||
/* LoadTableOp - 0x5B 0x1F */ { AML_EXT_OP, AML_EXT_LOAD_TABLE_OP, 6, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT }, 0 },
|
||||
/* LoadOp - 0x5B 0x20 */ { AML_EXT_OP, AML_EXT_LOAD_OP, 2, { AML_NAME, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* StallOp - 0x5B 0x21 */ { AML_EXT_OP, AML_EXT_STALL_OP, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* SleepOp - 0x5B 0x22 */ { AML_EXT_OP, AML_EXT_SLEEP_OP, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* AcquireOp - 0x5B 0x23 */ { AML_EXT_OP, AML_EXT_ACQUIRE_OP, 2, { AML_OBJECT, AML_UINT16, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* SignalOp - 0x5B 0x24 */ { AML_EXT_OP, AML_EXT_SIGNAL_OP, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* WaitOp - 0x5B 0x25 */ { AML_EXT_OP, AML_EXT_WAIT_OP, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ResetOp - 0x5B 0x26 */ { AML_EXT_OP, AML_EXT_RESET_OP, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ReleaseOp - 0x5B 0x27 */ { AML_EXT_OP, AML_EXT_RELEASE_OP, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* FromBCDOp - 0x5B 0x28 */ { AML_EXT_OP, AML_EXT_FROM_BCD_OP, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ToBCDOp - 0x5B 0x29 */ { AML_EXT_OP, AML_EXT_TO_BCD_OP, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* UnloadOp - 0x5B 0x2A */ { AML_EXT_OP, AML_EXT_UNLOAD_OP, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* RevisionOp - 0x5B 0x30 */ { AML_EXT_OP, AML_EXT_REVISION_OP, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* DebugOp - 0x5B 0x31 */ { AML_EXT_OP, AML_EXT_DEBUG_OP, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* FatalOp - 0x5B 0x32 */ { AML_EXT_OP, AML_EXT_FATAL_OP, 3, { AML_UINT8, AML_UINT32, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* TimerOp - 0x5B 0x33 */ { AML_EXT_OP, AML_EXT_TIMER_OP, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* OpRegionOp - 0x5B 0x80 */ { AML_EXT_OP, AML_EXT_REGION_OP, 4, { AML_NAME, AML_UINT8, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE }, AML_IN_NAMESPACE },
|
||||
/* FieldOp - 0x5B 0x81 */ { AML_EXT_OP, AML_EXT_FIELD_OP, 2, { AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH },
|
||||
/* DeviceOp - 0x5B 0x82 */ { AML_EXT_OP, AML_EXT_DEVICE_OP, 1, { AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE },
|
||||
/* ProcessorOp - 0x5B 0x83 */ { AML_EXT_OP, AML_EXT_PROCESSOR_OP, 4, { AML_NAME, AML_UINT8, AML_UINT32, AML_UINT8, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE },
|
||||
/* PowerResOp - 0x5B 0x84 */ { AML_EXT_OP, AML_EXT_POWER_RES_OP, 3, { AML_NAME, AML_UINT8, AML_UINT16, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE },
|
||||
/* ThermalZoneOp - 0x5B 0x85 */ { AML_EXT_OP, AML_EXT_THERMAL_ZONE_OP, 1, { AML_NAME, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ | AML_IN_NAMESPACE },
|
||||
/* IndexFieldOp - 0x5B 0x86 */ { AML_EXT_OP, AML_EXT_INDEX_FIELD_OP, 3, { AML_NAME, AML_NAME, AML_UINT8, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH },
|
||||
/* BankFieldOp - 0x5B 0x87 */ { AML_EXT_OP, AML_EXT_BANK_FIELD_OP, 4, { AML_NAME, AML_NAME, AML_OBJECT, AML_UINT8, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH },
|
||||
/* DataRegionOp - 0x5B 0x88 */ { AML_EXT_OP, AML_EXT_DATA_REGION_OP, 4, { AML_NAME, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE }, AML_IN_NAMESPACE },
|
||||
/* RootChar - 0x5C */ { AML_ROOT_CHAR, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* ParentPrefixChar - 0x5E */ { AML_PARENT_PREFIX_CHAR, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* NameChar - 0x5F */ { '_', 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_IS_NAME_CHAR },
|
||||
/* Local0Op - 0x60 */ { AML_LOCAL0, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Local1Op - 0x61 */ { AML_LOCAL1, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Local2Op - 0x62 */ { AML_LOCAL2, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Local3Op - 0x63 */ { AML_LOCAL3, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Local4Op - 0x64 */ { AML_LOCAL4, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Local5Op - 0x65 */ { AML_LOCAL5, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Local6Op - 0x66 */ { AML_LOCAL6, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Local7Op - 0x67 */ { AML_LOCAL7, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Arg0Op - 0x68 */ { AML_ARG0, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Arg1Op - 0x69 */ { AML_ARG1, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Arg2Op - 0x6A */ { AML_ARG2, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Arg3Op - 0x6B */ { AML_ARG3, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Arg4Op - 0x6C */ { AML_ARG4, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Arg5Op - 0x6D */ { AML_ARG5, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* Arg6Op - 0x6E */ { AML_ARG6, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* StoreOp - 0x70 */ { AML_STORE_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* RefOfOp - 0x71 */ { AML_REF_OF_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* AddOp - 0x72 */ { AML_ADD_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ConcatOp - 0x73 */ { AML_CONCAT_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* SubtractOp - 0x74 */ { AML_SUBTRACT_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* IncrementOp - 0x75 */ { AML_INCREMENT_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* DecrementOp - 0x76 */ { AML_DECREMENT_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* MultiplyOp - 0x77 */ { AML_MULTIPLY_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* DivideOp - 0x78 */ { AML_DIVIDE_OP, 0, 4, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE }, 0 },
|
||||
/* ShiftLeftOp - 0x79 */ { AML_SHIFT_LEFT_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ShiftRightOp - 0x7A */ { AML_SHIFT_RIGHT_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* AndOp - 0x7B */ { AML_AND_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* NAndOp - 0x7C */ { AML_NAND_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* OrOp - 0x7D */ { AML_OR_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* NorOp - 0x7E */ { AML_NOR_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* XOrOp - 0x7F */ { AML_XOR_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* NotOp - 0x80 */ { AML_NOT_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* FindSetLeftBitOp - 0x81 */ { AML_FIND_SET_LEFT_BIT_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* FindSetRightBitOp - 0x82 */ { AML_FIND_SET_RIGHT_BIT_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* DerefOfOp - 0x83 */ { AML_DEREF_OF_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ConcatResOp - 0x84 */ { AML_CONCAT_RES_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ModOp - 0x85 */ { AML_MOD_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* NotifyOp - 0x86 */ { AML_NOTIFY_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* SizeOfOp - 0x87 */ { AML_SIZE_OF_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* IndexOp - 0x88 */ { AML_INDEX_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* MatchOp - 0x89 */ { AML_MATCH_OP, 0, 6, { AML_OBJECT, AML_UINT8, AML_OBJECT, AML_UINT8, AML_OBJECT, AML_OBJECT }, 0 },
|
||||
/* CreateDWordFieldOp - 0x8A */ { AML_CREATE_DWORD_FIELD_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* CreateWordFieldOp - 0x8B */ { AML_CREATE_WORD_FIELD_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* CreateByteFieldOp - 0x8C */ { AML_CREATE_BYTE_FIELD_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* CreateBitFieldOp - 0x8D */ { AML_CREATE_BIT_FIELD_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ObjectTypeOp - 0x8E */ { AML_OBJECT_TYPE_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* CreateQWordFieldOp - 0x8F */ { AML_CREATE_QWORD_FIELD_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_NAME, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* LAndOp - 0x90 */ { AML_LAND_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* LOrOp - 0x91 */ { AML_LOR_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* LNotOp - 0x92 */ { AML_LNOT_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* LEqualOp - 0x93 */ { AML_LEQUAL_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* LGreaterOp - 0x94 */ { AML_LGREATER_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* LLessOp - 0x95 */ { AML_LLESS_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ToBufferOp - 0x96 */ { AML_TO_BUFFER_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ToDecimalStringOp - 0x97 */ { AML_TO_DEC_STRING_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ToHexStringOp - 0x98 */ { AML_TO_HEX_STRING_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ToIntegerOp - 0x99 */ { AML_TO_INTEGER_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ToStringOp - 0x9C */ { AML_TO_STRING_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* CopyObjectOp - 0x9D */ { AML_COPY_OBJECT_OP, 0, 2, { AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* MidOp - 0x9E */ { AML_MID_OP, 0, 3, { AML_OBJECT, AML_OBJECT, AML_OBJECT, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ContinueOp - 0x9F */ { AML_CONTINUE_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* IfOp - 0xA0 */ { AML_IF_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ },
|
||||
/* ElseOp - 0xA1 */ { AML_ELSE_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ },
|
||||
/* WhileOp - 0xA2 */ { AML_WHILE_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, AML_HAS_PKG_LENGTH | AML_HAS_CHILD_OBJ },
|
||||
/* NoopOp - 0xA3 */ { AML_NOOP_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* ReturnOp - 0xA4 */ { AML_RETURN_OP, 0, 1, { AML_OBJECT, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* BreakOp - 0xA5 */ { AML_BREAK_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* BreakPointOp - 0xCC */ { AML_BREAK_POINT_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
/* OnesOp - 0xFF */ { AML_ONES_OP, 0, 0, { AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE, AML_NONE }, 0 },
|
||||
};
|
||||
|
||||
GLOBAL_REMOVE_IF_UNREFERENCED
|
||||
@@ -178,12 +178,12 @@ EFI_ACPI_DATA_TYPE mAmlTypeToAcpiType[] = {
|
||||
**/
|
||||
AML_BYTE_ENCODING *
|
||||
AmlSearchByOpByte (
|
||||
IN UINT8 *OpByteBuffer
|
||||
IN UINT8 *OpByteBuffer
|
||||
)
|
||||
{
|
||||
UINT8 OpCode;
|
||||
UINT8 SubOpCode;
|
||||
UINTN Index;
|
||||
UINT8 OpCode;
|
||||
UINT8 SubOpCode;
|
||||
UINTN Index;
|
||||
|
||||
//
|
||||
// Get OpCode and SubOpCode
|
||||
@@ -198,7 +198,7 @@ AmlSearchByOpByte (
|
||||
//
|
||||
// Search the table
|
||||
//
|
||||
for (Index = 0; Index < sizeof(mAmlByteEncoding)/sizeof(mAmlByteEncoding[0]); Index++) {
|
||||
for (Index = 0; Index < sizeof (mAmlByteEncoding)/sizeof (mAmlByteEncoding[0]); Index++) {
|
||||
if ((mAmlByteEncoding[Index].OpCode == OpCode) && (mAmlByteEncoding[Index].SubOpCode == SubOpCode)) {
|
||||
return &mAmlByteEncoding[Index];
|
||||
}
|
||||
@@ -219,11 +219,12 @@ AmlTypeToAcpiType (
|
||||
IN AML_OP_PARSE_FORMAT AmlType
|
||||
)
|
||||
{
|
||||
if (AmlType >= sizeof(mAmlTypeToAcpiType)/sizeof(mAmlTypeToAcpiType[0])) {
|
||||
ASSERT(FALSE);
|
||||
if (AmlType >= sizeof (mAmlTypeToAcpiType)/sizeof (mAmlTypeToAcpiType[0])) {
|
||||
ASSERT (FALSE);
|
||||
return EFI_ACPI_DATA_TYPE_NONE;
|
||||
}
|
||||
return mAmlTypeToAcpiType [AmlType];
|
||||
|
||||
return mAmlTypeToAcpiType[AmlType];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -236,14 +237,14 @@ AmlTypeToAcpiType (
|
||||
**/
|
||||
UINTN
|
||||
AmlGetPkgLength (
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *PkgLength
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *PkgLength
|
||||
)
|
||||
{
|
||||
UINT8 LeadByte;
|
||||
UINT8 ByteCount;
|
||||
UINTN RealLength;
|
||||
UINTN Offset;
|
||||
UINT8 LeadByte;
|
||||
UINT8 ByteCount;
|
||||
UINTN RealLength;
|
||||
UINTN Offset;
|
||||
|
||||
//
|
||||
// <bit 7-6: ByteData count that follows (0-3)>
|
||||
@@ -261,36 +262,35 @@ AmlGetPkgLength (
|
||||
// length is 2**28.
|
||||
//
|
||||
|
||||
LeadByte = *Buffer;
|
||||
ByteCount = (UINT8)((LeadByte >> 6) & 0x03);
|
||||
Offset = ByteCount + 1;
|
||||
LeadByte = *Buffer;
|
||||
ByteCount = (UINT8)((LeadByte >> 6) & 0x03);
|
||||
Offset = ByteCount + 1;
|
||||
RealLength = 0;
|
||||
|
||||
switch (ByteCount) {
|
||||
case 0:
|
||||
RealLength = (UINT32)LeadByte;
|
||||
break;
|
||||
case 1:
|
||||
RealLength = *(Buffer + 1);
|
||||
RealLength = (RealLength << 4) | (LeadByte & 0xF);
|
||||
break;
|
||||
case 2:
|
||||
RealLength = *(Buffer + 1);
|
||||
RealLength |= (UINTN)((*(Buffer + 2)) << 8);
|
||||
RealLength = (RealLength << 4) | (LeadByte & 0xF);
|
||||
break;
|
||||
case 3:
|
||||
RealLength = *(Buffer + 1);
|
||||
RealLength |= (UINTN)((*(Buffer + 2)) << 8);
|
||||
RealLength |= (UINTN)((*(Buffer + 3)) << 16);
|
||||
RealLength = (RealLength << 4) | (LeadByte & 0xF);
|
||||
break;
|
||||
default:
|
||||
ASSERT (0);
|
||||
break;
|
||||
case 0:
|
||||
RealLength = (UINT32)LeadByte;
|
||||
break;
|
||||
case 1:
|
||||
RealLength = *(Buffer + 1);
|
||||
RealLength = (RealLength << 4) | (LeadByte & 0xF);
|
||||
break;
|
||||
case 2:
|
||||
RealLength = *(Buffer + 1);
|
||||
RealLength |= (UINTN)((*(Buffer + 2)) << 8);
|
||||
RealLength = (RealLength << 4) | (LeadByte & 0xF);
|
||||
break;
|
||||
case 3:
|
||||
RealLength = *(Buffer + 1);
|
||||
RealLength |= (UINTN)((*(Buffer + 2)) << 8);
|
||||
RealLength |= (UINTN)((*(Buffer + 3)) << 16);
|
||||
RealLength = (RealLength << 4) | (LeadByte & 0xF);
|
||||
break;
|
||||
default:
|
||||
ASSERT (0);
|
||||
break;
|
||||
}
|
||||
|
||||
*PkgLength = RealLength;
|
||||
return Offset;
|
||||
}
|
||||
|
||||
|
@@ -21,13 +21,13 @@
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromObjectBuffer (
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN UINT8 *CurrentBuffer,
|
||||
OUT VOID **Buffer
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN UINT8 *CurrentBuffer,
|
||||
OUT VOID **Buffer
|
||||
)
|
||||
{
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
UINTN DataSize;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
UINTN DataSize;
|
||||
|
||||
//
|
||||
// Root is considered as SCOPE, which has TermList.
|
||||
@@ -38,6 +38,7 @@ AmlGetChildFromObjectBuffer (
|
||||
if (AmlByteEncoding == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
// NOTE: We need return everything, because user might need parse the returned object.
|
||||
//
|
||||
@@ -54,6 +55,7 @@ AmlGetChildFromObjectBuffer (
|
||||
if (DataSize == 0) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
CurrentBuffer += DataSize;
|
||||
}
|
||||
|
||||
@@ -77,12 +79,12 @@ AmlGetChildFromObjectBuffer (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromRoot (
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
)
|
||||
{
|
||||
UINT8 *CurrentBuffer;
|
||||
UINT8 *CurrentBuffer;
|
||||
|
||||
if (AmlHandle == NULL) {
|
||||
//
|
||||
@@ -109,9 +111,9 @@ AmlGetChildFromRoot (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromOptionList (
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
)
|
||||
{
|
||||
EFI_ACPI_DATA_TYPE DataType;
|
||||
@@ -121,7 +123,7 @@ AmlGetChildFromOptionList (
|
||||
EFI_STATUS Status;
|
||||
AML_OP_PARSE_INDEX MaxTerm;
|
||||
|
||||
Index = AML_OP_PARSE_INDEX_GET_TERM1;
|
||||
Index = AML_OP_PARSE_INDEX_GET_TERM1;
|
||||
MaxTerm = AmlParentHandle->AmlByteEncoding->MaxIndex;
|
||||
while (Index <= MaxTerm) {
|
||||
Status = AmlParseOptionHandleCommon (
|
||||
@@ -134,6 +136,7 @@ AmlGetChildFromOptionList (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (DataType == EFI_ACPI_DATA_TYPE_NONE) {
|
||||
//
|
||||
// Not found
|
||||
@@ -145,17 +148,19 @@ AmlGetChildFromOptionList (
|
||||
// Find it, and Check Data
|
||||
//
|
||||
if ((DataType == EFI_ACPI_DATA_TYPE_CHILD) &&
|
||||
((UINTN)AmlHandle->Buffer < (UINTN)Data)) {
|
||||
((UINTN)AmlHandle->Buffer < (UINTN)Data))
|
||||
{
|
||||
//
|
||||
// Buffer < Data means current node is next one
|
||||
//
|
||||
*Buffer = Data;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
//
|
||||
// Not Child
|
||||
//
|
||||
Index ++;
|
||||
Index++;
|
||||
}
|
||||
|
||||
*Buffer = NULL;
|
||||
@@ -175,13 +180,13 @@ AmlGetChildFromOptionList (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromObjectChildList (
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINT8 *CurrentBuffer;
|
||||
EFI_STATUS Status;
|
||||
UINT8 *CurrentBuffer;
|
||||
|
||||
CurrentBuffer = NULL;
|
||||
|
||||
@@ -242,12 +247,12 @@ AmlGetChildFromObjectChildList (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromNonRoot (
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
IN EFI_AML_HANDLE *AmlParentHandle,
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT VOID **Buffer
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
if (AmlHandle == NULL) {
|
||||
//
|
||||
@@ -263,6 +268,7 @@ AmlGetChildFromNonRoot (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (*Buffer != NULL) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
@@ -20,9 +20,9 @@
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlConstructNodeList (
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -41,18 +41,18 @@ AmlCreateNode (
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding
|
||||
)
|
||||
{
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
|
||||
AmlNodeList = AllocatePool (sizeof(*AmlNodeList));
|
||||
AmlNodeList = AllocatePool (sizeof (*AmlNodeList));
|
||||
ASSERT (AmlNodeList != NULL);
|
||||
|
||||
AmlNodeList->Signature = EFI_AML_NODE_LIST_SIGNATURE;
|
||||
CopyMem (AmlNodeList->Name, NameSeg, AML_NAME_SEG_SIZE);
|
||||
AmlNodeList->Buffer = NULL;
|
||||
AmlNodeList->Size = 0;
|
||||
AmlNodeList->Buffer = NULL;
|
||||
AmlNodeList->Size = 0;
|
||||
InitializeListHead (&AmlNodeList->Link);
|
||||
InitializeListHead (&AmlNodeList->Children);
|
||||
AmlNodeList->Parent = Parent;
|
||||
AmlNodeList->Parent = Parent;
|
||||
AmlNodeList->AmlByteEncoding = AmlByteEncoding;
|
||||
|
||||
return AmlNodeList;
|
||||
@@ -69,15 +69,15 @@ AmlCreateNode (
|
||||
**/
|
||||
EFI_AML_NODE_LIST *
|
||||
AmlFindNodeInThis (
|
||||
IN UINT8 *NameSeg,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList,
|
||||
IN BOOLEAN Create
|
||||
IN UINT8 *NameSeg,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList,
|
||||
IN BOOLEAN Create
|
||||
)
|
||||
{
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
|
||||
StartLink = &AmlParentNodeList->Children;
|
||||
CurrentLink = StartLink->ForwardLink;
|
||||
@@ -93,6 +93,7 @@ AmlFindNodeInThis (
|
||||
//
|
||||
return CurrentAmlNodeList;
|
||||
}
|
||||
|
||||
CurrentLink = CurrentLink->ForwardLink;
|
||||
}
|
||||
|
||||
@@ -124,17 +125,17 @@ AmlFindNodeInThis (
|
||||
**/
|
||||
EFI_AML_NODE_LIST *
|
||||
AmlFindNodeInTheTree (
|
||||
IN UINT8 *NameString,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList,
|
||||
IN BOOLEAN Create
|
||||
IN UINT8 *NameString,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList,
|
||||
IN BOOLEAN Create
|
||||
)
|
||||
{
|
||||
UINT8 *Buffer;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
EFI_AML_NODE_LIST *AmlCurrentNodeList;
|
||||
UINT8 Index;
|
||||
UINT8 SegCount;
|
||||
UINT8 *Buffer;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
EFI_AML_NODE_LIST *AmlCurrentNodeList;
|
||||
UINT8 Index;
|
||||
UINT8 SegCount;
|
||||
|
||||
Buffer = NameString;
|
||||
|
||||
@@ -143,7 +144,7 @@ AmlFindNodeInTheTree (
|
||||
//
|
||||
if (*Buffer == AML_ROOT_CHAR) {
|
||||
AmlCurrentNodeList = AmlRootNodeList;
|
||||
Buffer += 1;
|
||||
Buffer += 1;
|
||||
} else if (*Buffer == AML_PARENT_PREFIX_CHAR) {
|
||||
AmlCurrentNodeList = AmlParentNodeList;
|
||||
do {
|
||||
@@ -155,6 +156,7 @@ AmlFindNodeInTheTree (
|
||||
//
|
||||
ASSERT (AmlCurrentNodeList == AmlRootNodeList);
|
||||
}
|
||||
|
||||
Buffer += 1;
|
||||
} while (*Buffer == AML_PARENT_PREFIX_CHAR);
|
||||
} else {
|
||||
@@ -165,12 +167,12 @@ AmlFindNodeInTheTree (
|
||||
// Handle name segment
|
||||
//
|
||||
if (*Buffer == AML_DUAL_NAME_PREFIX) {
|
||||
Buffer += 1;
|
||||
Buffer += 1;
|
||||
SegCount = 2;
|
||||
} else if (*Buffer == AML_MULTI_NAME_PREFIX) {
|
||||
Buffer += 1;
|
||||
Buffer += 1;
|
||||
SegCount = *Buffer;
|
||||
Buffer += 1;
|
||||
Buffer += 1;
|
||||
} else if (*Buffer == 0) {
|
||||
//
|
||||
// NULL name, only for Root
|
||||
@@ -190,9 +192,10 @@ AmlFindNodeInTheTree (
|
||||
if (AmlNodeList == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
AmlCurrentNodeList = AmlNodeList;
|
||||
Buffer += AML_NAME_SEG_SIZE;
|
||||
Index ++;
|
||||
Buffer += AML_NAME_SEG_SIZE;
|
||||
Index++;
|
||||
} while (Index < SegCount);
|
||||
|
||||
return AmlNodeList;
|
||||
@@ -211,14 +214,14 @@ AmlFindNodeInTheTree (
|
||||
**/
|
||||
EFI_AML_NODE_LIST *
|
||||
AmlInsertNodeToTree (
|
||||
IN UINT8 *NameString,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
IN UINT8 *NameString,
|
||||
IN VOID *Buffer,
|
||||
IN UINTN Size,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
)
|
||||
{
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
|
||||
AmlNodeList = AmlFindNodeInTheTree (
|
||||
NameString,
|
||||
@@ -243,10 +246,11 @@ AmlInsertNodeToTree (
|
||||
// We need check if new one is SCOPE_OP, because SCOPE_OP just means namespace, not a real device.
|
||||
// We should not return SCOPE_OP.
|
||||
//
|
||||
AmlNodeList->Buffer = Buffer;
|
||||
AmlNodeList->Size = Size;
|
||||
AmlNodeList->Buffer = Buffer;
|
||||
AmlNodeList->Size = Size;
|
||||
AmlNodeList->AmlByteEncoding = AmlSearchByOpByte (Buffer);
|
||||
}
|
||||
|
||||
return AmlNodeList;
|
||||
}
|
||||
|
||||
@@ -282,17 +286,17 @@ AmlInsertNodeToTree (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlConstructNodeListForChild (
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
)
|
||||
{
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
UINT8 *Buffer;
|
||||
UINTN BufferSize;
|
||||
UINT8 *CurrentBuffer;
|
||||
EFI_AML_HANDLE *AmlChildHandle;
|
||||
EFI_STATUS Status;
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
UINT8 *Buffer;
|
||||
UINTN BufferSize;
|
||||
UINT8 *CurrentBuffer;
|
||||
EFI_AML_HANDLE *AmlChildHandle;
|
||||
EFI_STATUS Status;
|
||||
|
||||
CurrentBuffer = NULL;
|
||||
AmlChildHandle = NULL;
|
||||
@@ -373,13 +377,13 @@ AmlConstructNodeListForChild (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlConstructNodeList (
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN EFI_AML_NODE_LIST *AmlRootNodeList,
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
)
|
||||
{
|
||||
VOID *NameString;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
VOID *NameString;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
|
||||
//
|
||||
// 1. Check if there is need to construct node for this OpCode.
|
||||
@@ -419,12 +423,12 @@ AmlConstructNodeList (
|
||||
**/
|
||||
VOID
|
||||
AmlDestructNodeList (
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList
|
||||
)
|
||||
{
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
LIST_ENTRY *StartLink;
|
||||
|
||||
//
|
||||
// Get the children link
|
||||
@@ -440,7 +444,7 @@ AmlDestructNodeList (
|
||||
// Destruct the child's list recursively
|
||||
//
|
||||
CurrentAmlNodeList = EFI_AML_NODE_LIST_FROM_LINK (CurrentLink);
|
||||
CurrentLink = CurrentLink->ForwardLink;
|
||||
CurrentLink = CurrentLink->ForwardLink;
|
||||
|
||||
//
|
||||
// Remove this child from list and free the node
|
||||
@@ -454,7 +458,7 @@ AmlDestructNodeList (
|
||||
// Done.
|
||||
//
|
||||
FreePool (AmlParentNodeList);
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -465,13 +469,13 @@ AmlDestructNodeList (
|
||||
**/
|
||||
VOID
|
||||
AmlDumpNodeInfo (
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList,
|
||||
IN UINTN Level
|
||||
IN EFI_AML_NODE_LIST *AmlParentNodeList,
|
||||
IN UINTN Level
|
||||
)
|
||||
{
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
volatile LIST_ENTRY *CurrentLink;
|
||||
UINTN Index;
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
volatile LIST_ENTRY *CurrentLink;
|
||||
UINTN Index;
|
||||
|
||||
CurrentLink = AmlParentNodeList->Children.ForwardLink;
|
||||
|
||||
@@ -481,8 +485,10 @@ AmlDumpNodeInfo (
|
||||
for (Index = 0; Index < Level; Index++) {
|
||||
DEBUG ((DEBUG_ERROR, " "));
|
||||
}
|
||||
|
||||
AmlPrintNameSeg (AmlParentNodeList->Name);
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_ERROR, "\n"));
|
||||
|
||||
while (CurrentLink != &AmlParentNodeList->Children) {
|
||||
@@ -491,7 +497,7 @@ AmlDumpNodeInfo (
|
||||
CurrentLink = CurrentLink->ForwardLink;
|
||||
}
|
||||
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -515,12 +521,12 @@ AmlFindPath (
|
||||
IN BOOLEAN FromRoot
|
||||
)
|
||||
{
|
||||
EFI_AML_NODE_LIST *AmlRootNodeList;
|
||||
EFI_STATUS Status;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
UINT8 RootNameSeg[AML_NAME_SEG_SIZE];
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
EFI_AML_NODE_LIST *AmlRootNodeList;
|
||||
EFI_STATUS Status;
|
||||
EFI_AML_NODE_LIST *AmlNodeList;
|
||||
UINT8 RootNameSeg[AML_NAME_SEG_SIZE];
|
||||
EFI_AML_NODE_LIST *CurrentAmlNodeList;
|
||||
LIST_ENTRY *CurrentLink;
|
||||
|
||||
//
|
||||
// 1. create tree
|
||||
@@ -529,8 +535,8 @@ AmlFindPath (
|
||||
//
|
||||
// Create root handle
|
||||
//
|
||||
RootNameSeg[0] = AML_ROOT_CHAR;
|
||||
RootNameSeg[1] = 0;
|
||||
RootNameSeg[0] = AML_ROOT_CHAR;
|
||||
RootNameSeg[1] = 0;
|
||||
AmlRootNodeList = AmlCreateNode (RootNameSeg, NULL, AmlHandle->AmlByteEncoding);
|
||||
|
||||
Status = AmlConstructNodeList (
|
||||
@@ -594,8 +600,8 @@ AmlFindPath (
|
||||
}
|
||||
|
||||
*Buffer = NULL;
|
||||
Status = EFI_SUCCESS;
|
||||
if (AmlNodeList != NULL && AmlNodeList->Buffer != NULL) {
|
||||
Status = EFI_SUCCESS;
|
||||
if ((AmlNodeList != NULL) && (AmlNodeList->Buffer != NULL)) {
|
||||
*Buffer = AmlNodeList->Buffer;
|
||||
}
|
||||
|
||||
|
@@ -25,95 +25,103 @@
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlParseOptionTerm (
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize,
|
||||
IN AML_OP_PARSE_INDEX TermIndex,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize,
|
||||
IN AML_OP_PARSE_INDEX TermIndex,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
)
|
||||
{
|
||||
AML_BYTE_ENCODING *ChildAmlByteEncoding;
|
||||
EFI_STATUS Status;
|
||||
AML_BYTE_ENCODING *ChildAmlByteEncoding;
|
||||
EFI_STATUS Status;
|
||||
|
||||
if (DataType != NULL) {
|
||||
*DataType = AmlTypeToAcpiType (AmlByteEncoding->Format[TermIndex - 1]);
|
||||
}
|
||||
|
||||
if (Data != NULL) {
|
||||
*Data = Buffer;
|
||||
}
|
||||
|
||||
//
|
||||
// Parse term according to AML type
|
||||
//
|
||||
switch (AmlByteEncoding->Format[TermIndex - 1]) {
|
||||
case AML_UINT8:
|
||||
*DataSize = sizeof(UINT8);
|
||||
break;
|
||||
case AML_UINT16:
|
||||
*DataSize = sizeof(UINT16);
|
||||
break;
|
||||
case AML_UINT32:
|
||||
*DataSize = sizeof(UINT32);
|
||||
break;
|
||||
case AML_UINT64:
|
||||
*DataSize = sizeof(UINT64);
|
||||
break;
|
||||
case AML_STRING:
|
||||
*DataSize = AsciiStrSize((CHAR8 *)Buffer);
|
||||
break;
|
||||
case AML_NAME:
|
||||
Status = AmlGetNameStringSize (Buffer, DataSize);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
break;
|
||||
case AML_OBJECT:
|
||||
ChildAmlByteEncoding = AmlSearchByOpByte (Buffer);
|
||||
if (ChildAmlByteEncoding == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
// NOTE: We need override DataType here, if there is a case the AML_OBJECT is AML_NAME.
|
||||
// We need convert type from EFI_ACPI_DATA_TYPE_CHILD to EFI_ACPI_DATA_TYPE_NAME_STRING.
|
||||
// We should not return CHILD because there is NO OpCode for NameString.
|
||||
//
|
||||
if ((ChildAmlByteEncoding->Attribute & AML_IS_NAME_CHAR) != 0) {
|
||||
if (DataType != NULL) {
|
||||
*DataType = AmlTypeToAcpiType (AML_NAME);
|
||||
}
|
||||
case AML_UINT8:
|
||||
*DataSize = sizeof (UINT8);
|
||||
break;
|
||||
case AML_UINT16:
|
||||
*DataSize = sizeof (UINT16);
|
||||
break;
|
||||
case AML_UINT32:
|
||||
*DataSize = sizeof (UINT32);
|
||||
break;
|
||||
case AML_UINT64:
|
||||
*DataSize = sizeof (UINT64);
|
||||
break;
|
||||
case AML_STRING:
|
||||
*DataSize = AsciiStrSize ((CHAR8 *)Buffer);
|
||||
break;
|
||||
case AML_NAME:
|
||||
Status = AmlGetNameStringSize (Buffer, DataSize);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
// It is real AML_OBJECT
|
||||
//
|
||||
*DataSize = AmlGetObjectSize (
|
||||
ChildAmlByteEncoding,
|
||||
Buffer,
|
||||
MaxBufferSize
|
||||
);
|
||||
if (*DataSize == 0) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
break;
|
||||
case AML_NONE:
|
||||
break;
|
||||
case AML_OBJECT:
|
||||
ChildAmlByteEncoding = AmlSearchByOpByte (Buffer);
|
||||
if (ChildAmlByteEncoding == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
// NOTE: We need override DataType here, if there is a case the AML_OBJECT is AML_NAME.
|
||||
// We need convert type from EFI_ACPI_DATA_TYPE_CHILD to EFI_ACPI_DATA_TYPE_NAME_STRING.
|
||||
// We should not return CHILD because there is NO OpCode for NameString.
|
||||
//
|
||||
if ((ChildAmlByteEncoding->Attribute & AML_IS_NAME_CHAR) != 0) {
|
||||
if (DataType != NULL) {
|
||||
*DataType = AmlTypeToAcpiType (AML_NAME);
|
||||
}
|
||||
|
||||
Status = AmlGetNameStringSize (Buffer, DataSize);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
//
|
||||
// It is real AML_OBJECT
|
||||
//
|
||||
*DataSize = AmlGetObjectSize (
|
||||
ChildAmlByteEncoding,
|
||||
Buffer,
|
||||
MaxBufferSize
|
||||
);
|
||||
if (*DataSize == 0) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
break;
|
||||
case AML_NONE:
|
||||
//
|
||||
// No term
|
||||
//
|
||||
case AML_OPCODE:
|
||||
default:
|
||||
ASSERT (FALSE);
|
||||
return EFI_INVALID_PARAMETER;
|
||||
case AML_OPCODE:
|
||||
default:
|
||||
ASSERT (FALSE);
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (*DataSize > MaxBufferSize) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -135,13 +143,13 @@ AmlParseOptionTerm (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlParseOptionCommon (
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize,
|
||||
IN AML_OP_PARSE_INDEX Index,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize,
|
||||
IN AML_OP_PARSE_INDEX Index,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
)
|
||||
{
|
||||
UINT8 *CurrentBuffer;
|
||||
@@ -163,6 +171,7 @@ AmlParseOptionCommon (
|
||||
if (Index != AML_OP_PARSE_INDEX_GET_SIZE) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
// return NameString size
|
||||
//
|
||||
@@ -170,9 +179,11 @@ AmlParseOptionCommon (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if (*DataSize > MaxBufferSize) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -186,27 +197,31 @@ AmlParseOptionCommon (
|
||||
//
|
||||
if (Index != AML_OP_PARSE_INDEX_GET_SIZE) {
|
||||
*DataType = EFI_ACPI_DATA_TYPE_OPCODE;
|
||||
*Data = (VOID *)CurrentBuffer;
|
||||
*Data = (VOID *)CurrentBuffer;
|
||||
}
|
||||
|
||||
if (*CurrentBuffer == AML_EXT_OP) {
|
||||
OpLength = 2;
|
||||
} else {
|
||||
OpLength = 1;
|
||||
}
|
||||
|
||||
*DataSize = OpLength;
|
||||
if (Index == AML_OP_PARSE_INDEX_GET_OPCODE) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
if (OpLength > MaxBufferSize) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
CurrentBuffer += OpLength;
|
||||
|
||||
//
|
||||
// 2. Skip PkgLength field, if have
|
||||
//
|
||||
if ((AmlByteEncoding->Attribute & AML_HAS_PKG_LENGTH) != 0) {
|
||||
PkgOffset = AmlGetPkgLength(CurrentBuffer, &PkgLength);
|
||||
PkgOffset = AmlGetPkgLength (CurrentBuffer, &PkgLength);
|
||||
//
|
||||
// Override MaxBufferSize if it is valid PkgLength
|
||||
//
|
||||
@@ -219,6 +234,7 @@ AmlParseOptionCommon (
|
||||
PkgOffset = 0;
|
||||
PkgLength = 0;
|
||||
}
|
||||
|
||||
CurrentBuffer += PkgOffset;
|
||||
|
||||
//
|
||||
@@ -250,7 +266,7 @@ AmlParseOptionCommon (
|
||||
// Parse next one
|
||||
//
|
||||
CurrentBuffer += *DataSize;
|
||||
TermIndex ++;
|
||||
TermIndex++;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -259,6 +275,7 @@ AmlParseOptionCommon (
|
||||
if ((UINTN)CurrentBuffer > (UINTN)Buffer + MaxBufferSize) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
if ((UINTN)CurrentBuffer == (UINTN)Buffer + MaxBufferSize) {
|
||||
if (Index != AML_OP_PARSE_INDEX_GET_SIZE) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
@@ -289,23 +306,23 @@ AmlParseOptionCommon (
|
||||
**/
|
||||
UINTN
|
||||
AmlGetObjectSize (
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize
|
||||
IN AML_BYTE_ENCODING *AmlByteEncoding,
|
||||
IN UINT8 *Buffer,
|
||||
IN UINTN MaxBufferSize
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINTN DataSize;
|
||||
EFI_STATUS Status;
|
||||
UINTN DataSize;
|
||||
|
||||
Status = AmlParseOptionCommon (
|
||||
AmlByteEncoding,
|
||||
Buffer,
|
||||
MaxBufferSize,
|
||||
AML_OP_PARSE_INDEX_GET_SIZE,
|
||||
NULL,
|
||||
NULL,
|
||||
&DataSize
|
||||
);
|
||||
AmlByteEncoding,
|
||||
Buffer,
|
||||
MaxBufferSize,
|
||||
AML_OP_PARSE_INDEX_GET_SIZE,
|
||||
NULL,
|
||||
NULL,
|
||||
&DataSize
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return 0;
|
||||
} else {
|
||||
@@ -322,7 +339,7 @@ AmlGetObjectSize (
|
||||
**/
|
||||
CHAR8 *
|
||||
AmlGetObjectName (
|
||||
IN EFI_AML_HANDLE *AmlHandle
|
||||
IN EFI_AML_HANDLE *AmlHandle
|
||||
)
|
||||
{
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
@@ -346,6 +363,7 @@ AmlGetObjectName (
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ASSERT (TermIndex != 0);
|
||||
|
||||
//
|
||||
@@ -361,6 +379,7 @@ AmlGetObjectName (
|
||||
if (EFI_ERROR (Status)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ASSERT (DataType == EFI_ACPI_DATA_TYPE_NAME_STRING);
|
||||
|
||||
return NameString;
|
||||
@@ -377,8 +396,8 @@ AmlGetObjectName (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetOffsetAfterLastOption (
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT UINT8 **Buffer
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
OUT UINT8 **Buffer
|
||||
)
|
||||
{
|
||||
EFI_ACPI_DATA_TYPE DataType;
|
||||
@@ -408,6 +427,7 @@ AmlGetOffsetAfterLastOption (
|
||||
if (DataType == EFI_ACPI_DATA_TYPE_OPCODE) {
|
||||
*Buffer += AmlGetPkgLength (*Buffer, &DataSize);
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -427,11 +447,11 @@ AmlGetOffsetAfterLastOption (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlParseOptionHandleCommon (
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN AML_OP_PARSE_INDEX Index,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
IN EFI_AML_HANDLE *AmlHandle,
|
||||
IN AML_OP_PARSE_INDEX Index,
|
||||
OUT EFI_ACPI_DATA_TYPE *DataType,
|
||||
OUT VOID **Data,
|
||||
OUT UINTN *DataSize
|
||||
)
|
||||
{
|
||||
return AmlParseOptionCommon (
|
||||
|
@@ -18,7 +18,7 @@
|
||||
**/
|
||||
BOOLEAN
|
||||
AmlIsRootPath (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
{
|
||||
if ((Buffer[0] == AML_ROOT_CHAR) && (Buffer[1] == 0)) {
|
||||
@@ -38,10 +38,10 @@ AmlIsRootPath (
|
||||
**/
|
||||
BOOLEAN
|
||||
AmlIsLeadName (
|
||||
IN CHAR8 Ch
|
||||
IN CHAR8 Ch
|
||||
)
|
||||
{
|
||||
if ((Ch == '_') || (Ch >= 'A' && Ch <= 'Z')) {
|
||||
if ((Ch == '_') || ((Ch >= 'A') && (Ch <= 'Z'))) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@@ -58,10 +58,10 @@ AmlIsLeadName (
|
||||
**/
|
||||
BOOLEAN
|
||||
AmlIsName (
|
||||
IN CHAR8 Ch
|
||||
IN CHAR8 Ch
|
||||
)
|
||||
{
|
||||
if (AmlIsLeadName (Ch) || (Ch >= '0' && Ch <= '9')) {
|
||||
if (AmlIsLeadName (Ch) || ((Ch >= '0') && (Ch <= '9'))) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@@ -78,18 +78,21 @@ AmlIsName (
|
||||
**/
|
||||
BOOLEAN
|
||||
AmlIsNameSeg (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
|
||||
if (!AmlIsLeadName (Buffer[0])) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (Index = 1; Index < AML_NAME_SEG_SIZE; Index++) {
|
||||
if (!AmlIsName (Buffer[Index])) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -104,13 +107,13 @@ AmlIsNameSeg (
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetNameStringSize (
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *BufferSize
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *BufferSize
|
||||
)
|
||||
{
|
||||
UINTN SegCount;
|
||||
UINTN Length;
|
||||
UINTN Index;
|
||||
UINTN SegCount;
|
||||
UINTN Length;
|
||||
UINTN Index;
|
||||
|
||||
Length = 0;
|
||||
|
||||
@@ -118,12 +121,12 @@ AmlGetNameStringSize (
|
||||
// Parse root or parent prefix
|
||||
//
|
||||
if (*Buffer == AML_ROOT_CHAR) {
|
||||
Buffer ++;
|
||||
Length ++;
|
||||
Buffer++;
|
||||
Length++;
|
||||
} else if (*Buffer == AML_PARENT_PREFIX_CHAR) {
|
||||
do {
|
||||
Buffer ++;
|
||||
Length ++;
|
||||
Buffer++;
|
||||
Length++;
|
||||
} while (*Buffer == AML_PARENT_PREFIX_CHAR);
|
||||
}
|
||||
|
||||
@@ -131,21 +134,21 @@ AmlGetNameStringSize (
|
||||
// Parse name segment
|
||||
//
|
||||
if (*Buffer == AML_DUAL_NAME_PREFIX) {
|
||||
Buffer ++;
|
||||
Length ++;
|
||||
Buffer++;
|
||||
Length++;
|
||||
SegCount = 2;
|
||||
} else if (*Buffer == AML_MULTI_NAME_PREFIX) {
|
||||
Buffer ++;
|
||||
Length ++;
|
||||
Buffer++;
|
||||
Length++;
|
||||
SegCount = *Buffer;
|
||||
Buffer ++;
|
||||
Length ++;
|
||||
Buffer++;
|
||||
Length++;
|
||||
} else if (*Buffer == 0) {
|
||||
//
|
||||
// NULL Name, only for Root
|
||||
//
|
||||
SegCount = 0;
|
||||
Buffer --;
|
||||
Buffer--;
|
||||
if ((Length == 1) && (*Buffer == AML_ROOT_CHAR)) {
|
||||
*BufferSize = 2;
|
||||
return EFI_SUCCESS;
|
||||
@@ -164,9 +167,10 @@ AmlGetNameStringSize (
|
||||
if (!AmlIsNameSeg (Buffer)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
Buffer += AML_NAME_SEG_SIZE;
|
||||
Length += AML_NAME_SEG_SIZE;
|
||||
Index ++;
|
||||
Index++;
|
||||
} while (Index < SegCount);
|
||||
|
||||
*BufferSize = Length;
|
||||
@@ -183,10 +187,10 @@ AmlGetNameStringSize (
|
||||
**/
|
||||
BOOLEAN
|
||||
AmlIsAslLeadName (
|
||||
IN CHAR8 Ch
|
||||
IN CHAR8 Ch
|
||||
)
|
||||
{
|
||||
if (AmlIsLeadName (Ch) || (Ch >= 'a' && Ch <= 'z')) {
|
||||
if (AmlIsLeadName (Ch) || ((Ch >= 'a') && (Ch <= 'z'))) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@@ -203,10 +207,10 @@ AmlIsAslLeadName (
|
||||
**/
|
||||
BOOLEAN
|
||||
AmlIsAslName (
|
||||
IN CHAR8 Ch
|
||||
IN CHAR8 Ch
|
||||
)
|
||||
{
|
||||
if (AmlIsAslLeadName (Ch) || (Ch >= '0' && Ch <= '9')) {
|
||||
if (AmlIsAslLeadName (Ch) || ((Ch >= '0') && (Ch <= '9'))) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
@@ -222,11 +226,11 @@ AmlIsAslName (
|
||||
**/
|
||||
UINTN
|
||||
AmlGetAslNameSegLength (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
{
|
||||
UINTN Length;
|
||||
UINTN Index;
|
||||
UINTN Length;
|
||||
UINTN Index;
|
||||
|
||||
if (*Buffer == 0) {
|
||||
return 0;
|
||||
@@ -237,20 +241,23 @@ AmlGetAslNameSegLength (
|
||||
// 1st
|
||||
//
|
||||
if (AmlIsAslLeadName (*Buffer)) {
|
||||
Length ++;
|
||||
Buffer ++;
|
||||
Length++;
|
||||
Buffer++;
|
||||
}
|
||||
|
||||
if ((*Buffer == 0) || (*Buffer == '.')) {
|
||||
return Length;
|
||||
}
|
||||
|
||||
//
|
||||
// 2, 3, 4 name char
|
||||
//
|
||||
for (Index = 0; Index < 3; Index++) {
|
||||
if (AmlIsAslName (*Buffer)) {
|
||||
Length ++;
|
||||
Buffer ++;
|
||||
Length++;
|
||||
Buffer++;
|
||||
}
|
||||
|
||||
if ((*Buffer == 0) || (*Buffer == '.')) {
|
||||
return Length;
|
||||
}
|
||||
@@ -274,27 +281,27 @@ AmlGetAslNameSegLength (
|
||||
**/
|
||||
UINTN
|
||||
AmlGetAslNameStringSize (
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *Root,
|
||||
OUT UINTN *Parent,
|
||||
OUT UINTN *SegCount
|
||||
IN UINT8 *Buffer,
|
||||
OUT UINTN *Root,
|
||||
OUT UINTN *Parent,
|
||||
OUT UINTN *SegCount
|
||||
)
|
||||
{
|
||||
UINTN NameLength;
|
||||
UINTN TotalLength;
|
||||
UINTN NameLength;
|
||||
UINTN TotalLength;
|
||||
|
||||
*Root = 0;
|
||||
*Parent = 0;
|
||||
*SegCount = 0;
|
||||
*Root = 0;
|
||||
*Parent = 0;
|
||||
*SegCount = 0;
|
||||
TotalLength = 0;
|
||||
NameLength = 0;
|
||||
NameLength = 0;
|
||||
if (*Buffer == AML_ROOT_CHAR) {
|
||||
*Root = 1;
|
||||
Buffer ++;
|
||||
Buffer++;
|
||||
} else if (*Buffer == AML_PARENT_PREFIX_CHAR) {
|
||||
do {
|
||||
Buffer ++;
|
||||
(*Parent) ++;
|
||||
Buffer++;
|
||||
(*Parent)++;
|
||||
} while (*Buffer == AML_PARENT_PREFIX_CHAR);
|
||||
}
|
||||
|
||||
@@ -306,12 +313,14 @@ AmlGetAslNameStringSize (
|
||||
if ((NameLength == 0) || (NameLength > AML_NAME_SEG_SIZE)) {
|
||||
return 0;
|
||||
}
|
||||
(*SegCount) ++;
|
||||
|
||||
(*SegCount)++;
|
||||
Buffer += NameLength;
|
||||
if (*Buffer == 0) {
|
||||
break;
|
||||
}
|
||||
Buffer ++;
|
||||
|
||||
Buffer++;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -334,7 +343,7 @@ AmlGetAslNameStringSize (
|
||||
//
|
||||
// Add NULL char
|
||||
//
|
||||
TotalLength ++;
|
||||
TotalLength++;
|
||||
|
||||
return TotalLength;
|
||||
}
|
||||
@@ -348,15 +357,15 @@ AmlGetAslNameStringSize (
|
||||
**/
|
||||
VOID
|
||||
AmlUpperCaseCopyMem (
|
||||
IN UINT8 *DstBuffer,
|
||||
IN UINT8 *SrcBuffer,
|
||||
IN UINTN Length
|
||||
IN UINT8 *DstBuffer,
|
||||
IN UINT8 *SrcBuffer,
|
||||
IN UINTN Length
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINTN Index;
|
||||
|
||||
for (Index = 0; Index < Length; Index++) {
|
||||
if (SrcBuffer[Index] >= 'a' && SrcBuffer[Index] <= 'z') {
|
||||
if ((SrcBuffer[Index] >= 'a') && (SrcBuffer[Index] <= 'z')) {
|
||||
DstBuffer[Index] = (UINT8)(SrcBuffer[Index] - 'a' + 'A');
|
||||
} else {
|
||||
DstBuffer[Index] = SrcBuffer[Index];
|
||||
@@ -374,17 +383,17 @@ AmlUpperCaseCopyMem (
|
||||
**/
|
||||
UINT8 *
|
||||
AmlNameFromAslName (
|
||||
IN UINT8 *AslPath
|
||||
IN UINT8 *AslPath
|
||||
)
|
||||
{
|
||||
UINTN Root;
|
||||
UINTN Parent;
|
||||
UINTN SegCount;
|
||||
UINTN TotalLength;
|
||||
UINTN NameLength;
|
||||
UINT8 *Buffer;
|
||||
UINT8 *AmlPath;
|
||||
UINT8 *AmlBuffer;
|
||||
UINTN Root;
|
||||
UINTN Parent;
|
||||
UINTN SegCount;
|
||||
UINTN TotalLength;
|
||||
UINTN NameLength;
|
||||
UINT8 *Buffer;
|
||||
UINT8 *AmlPath;
|
||||
UINT8 *AmlBuffer;
|
||||
|
||||
TotalLength = AmlGetAslNameStringSize (AslPath, &Root, &Parent, &SegCount);
|
||||
if (TotalLength == 0) {
|
||||
@@ -395,19 +404,19 @@ AmlNameFromAslName (
|
||||
ASSERT (AmlPath != NULL);
|
||||
|
||||
AmlBuffer = AmlPath;
|
||||
Buffer = AslPath;
|
||||
Buffer = AslPath;
|
||||
|
||||
//
|
||||
// Handle Root and Parent
|
||||
//
|
||||
if (Root == 1) {
|
||||
*AmlBuffer = AML_ROOT_CHAR;
|
||||
AmlBuffer ++;
|
||||
Buffer ++;
|
||||
AmlBuffer++;
|
||||
Buffer++;
|
||||
} else if (Parent > 0) {
|
||||
SetMem (AmlBuffer, Parent, AML_PARENT_PREFIX_CHAR);
|
||||
AmlBuffer += Parent;
|
||||
Buffer += Parent;
|
||||
Buffer += Parent;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -415,12 +424,12 @@ AmlNameFromAslName (
|
||||
//
|
||||
if (SegCount > 2) {
|
||||
*AmlBuffer = AML_MULTI_NAME_PREFIX;
|
||||
AmlBuffer ++;
|
||||
AmlBuffer++;
|
||||
*AmlBuffer = (UINT8)SegCount;
|
||||
AmlBuffer ++;
|
||||
AmlBuffer++;
|
||||
} else if (SegCount == 2) {
|
||||
*AmlBuffer = AML_DUAL_NAME_PREFIX;
|
||||
AmlBuffer ++;
|
||||
AmlBuffer++;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -431,12 +440,13 @@ AmlNameFromAslName (
|
||||
ASSERT ((NameLength != 0) && (NameLength <= AML_NAME_SEG_SIZE));
|
||||
AmlUpperCaseCopyMem (AmlBuffer, Buffer, NameLength);
|
||||
SetMem (AmlBuffer + NameLength, AML_NAME_SEG_SIZE - NameLength, AML_NAME_CHAR__);
|
||||
Buffer += NameLength;
|
||||
Buffer += NameLength;
|
||||
AmlBuffer += AML_NAME_SEG_SIZE;
|
||||
if (*Buffer == 0) {
|
||||
break;
|
||||
}
|
||||
Buffer ++;
|
||||
|
||||
Buffer++;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -454,23 +464,26 @@ AmlNameFromAslName (
|
||||
**/
|
||||
VOID
|
||||
AmlPrintNameSeg (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
{
|
||||
DEBUG ((DEBUG_ERROR, "%c", Buffer[0]));
|
||||
if ((Buffer[1] == '_') && (Buffer[2] == '_') && (Buffer[3] == '_')) {
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_ERROR, "%c", Buffer[1]));
|
||||
if ((Buffer[2] == '_') && (Buffer[3] == '_')) {
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_ERROR, "%c", Buffer[2]));
|
||||
if (Buffer[3] == '_') {
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_ERROR, "%c", Buffer[3]));
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -480,24 +493,24 @@ AmlPrintNameSeg (
|
||||
**/
|
||||
VOID
|
||||
AmlPrintNameString (
|
||||
IN UINT8 *Buffer
|
||||
IN UINT8 *Buffer
|
||||
)
|
||||
{
|
||||
UINT8 SegCount;
|
||||
UINT8 Index;
|
||||
UINT8 SegCount;
|
||||
UINT8 Index;
|
||||
|
||||
if (*Buffer == AML_ROOT_CHAR) {
|
||||
//
|
||||
// RootChar
|
||||
//
|
||||
Buffer ++;
|
||||
Buffer++;
|
||||
DEBUG ((DEBUG_ERROR, "\\"));
|
||||
} else if (*Buffer == AML_PARENT_PREFIX_CHAR) {
|
||||
//
|
||||
// ParentPrefixChar
|
||||
//
|
||||
do {
|
||||
Buffer ++;
|
||||
Buffer++;
|
||||
DEBUG ((DEBUG_ERROR, "^"));
|
||||
} while (*Buffer == AML_PARENT_PREFIX_CHAR);
|
||||
}
|
||||
@@ -506,20 +519,20 @@ AmlPrintNameString (
|
||||
//
|
||||
// DualName
|
||||
//
|
||||
Buffer ++;
|
||||
Buffer++;
|
||||
SegCount = 2;
|
||||
} else if (*Buffer == AML_MULTI_NAME_PREFIX) {
|
||||
//
|
||||
// MultiName
|
||||
//
|
||||
Buffer ++;
|
||||
Buffer++;
|
||||
SegCount = *Buffer;
|
||||
Buffer ++;
|
||||
Buffer++;
|
||||
} else if (*Buffer == 0) {
|
||||
//
|
||||
// NULL Name
|
||||
//
|
||||
return ;
|
||||
return;
|
||||
} else {
|
||||
//
|
||||
// NameSeg
|
||||
@@ -535,5 +548,5 @@ AmlPrintNameString (
|
||||
Buffer += AML_NAME_SEG_SIZE;
|
||||
}
|
||||
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
Reference in New Issue
Block a user