DynamicTablesPkg: Apply uncrustify changes

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the DynamicTablesPkg 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: Sami Mujawar <sami.mujawar@arm.com>
This commit is contained in:
Michael Kubacki
2021-12-05 14:53:55 -08:00
committed by mergify[bot]
parent 7c34237831
commit 731c67e1d7
85 changed files with 5347 additions and 4795 deletions

View File

@@ -110,18 +110,18 @@
*/
typedef struct AmlPathSearchContext {
/// Backward stream holding the raw AML absolute searched path.
AML_STREAM * SearchPathBStream;
AML_STREAM *SearchPathBStream;
/// An empty backward stream holding a pre-allocated buffer. This prevents
/// from having to do multiple allocations during the search.
/// This stream is used to query the raw AML absolute path of the node
/// currently being probed.
AML_STREAM * CurrNodePathBStream;
AML_STREAM *CurrNodePathBStream;
/// If the node being visited is the node being searched,
/// i.e. its path and the searched path match,
/// save its reference in this pointer.
AML_NODE_HEADER * OutNode;
AML_NODE_HEADER *OutNode;
} AML_PATH_SEARCH_CONTEXT;
/** Return the first AML namespace node up in the parent hierarchy.
@@ -140,12 +140,13 @@ typedef struct AmlPathSearchContext {
EFI_STATUS
EFIAPI
AmlGetFirstAncestorNameSpaceNode (
IN CONST AML_NODE_HEADER * Node,
OUT AML_NODE_HEADER ** OutNode
IN CONST AML_NODE_HEADER *Node,
OUT AML_NODE_HEADER **OutNode
)
{
if (!IS_AML_NODE_VALID (Node) ||
(OutNode == NULL)) {
(OutNode == NULL))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
@@ -156,7 +157,7 @@ AmlGetFirstAncestorNameSpaceNode (
return EFI_SUCCESS;
} else {
// Else, get the parent node.
Node = AmlGetParent ((AML_NODE_HEADER*)Node);
Node = AmlGetParent ((AML_NODE_HEADER *)Node);
if (!IS_AML_NODE_VALID (Node)) {
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -168,12 +169,13 @@ AmlGetFirstAncestorNameSpaceNode (
if (IS_AML_ROOT_NODE (Node)) {
break;
} else if (AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)Node,
(CONST AML_OBJECT_NODE *)Node,
AML_IN_NAMESPACE
)) {
))
{
break;
} else {
Node = AmlGetParent ((AML_NODE_HEADER*)Node);
Node = AmlGetParent ((AML_NODE_HEADER *)Node);
if (!IS_AML_NODE_VALID (Node)) {
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -181,7 +183,7 @@ AmlGetFirstAncestorNameSpaceNode (
}
} // while
*OutNode = (AML_NODE_HEADER*)Node;
*OutNode = (AML_NODE_HEADER *)Node;
return EFI_SUCCESS;
}
@@ -234,46 +236,47 @@ STATIC
EFI_STATUS
EFIAPI
AmlGetAncestorNameSpaceNode (
IN CONST AML_OBJECT_NODE * Node,
IN OUT UINT32 * Levels,
OUT UINT32 * HasRoot,
OUT CONST AML_NODE_HEADER ** OutNode
IN CONST AML_OBJECT_NODE *Node,
IN OUT UINT32 *Levels,
OUT UINT32 *HasRoot,
OUT CONST AML_NODE_HEADER **OutNode
)
{
EFI_STATUS Status;
EFI_STATUS Status;
CONST AML_NODE_HEADER * NameSpaceNode;
CHAR8 * NodeName;
UINT32 ParentCnt;
CONST AML_NODE_HEADER *NameSpaceNode;
CHAR8 *NodeName;
UINT32 ParentCnt;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
if (!IS_AML_OBJECT_NODE (Node) ||
(Levels == NULL) ||
(HasRoot == NULL) ||
(OutNode == NULL)) {
(OutNode == NULL))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
ParentCnt = *Levels;
*HasRoot = 0;
*HasRoot = 0;
// ParentCnt namespace levels need to be climbed.
do {
// Get the next namespace node in the hierarchy.
Status = AmlGetFirstAncestorNameSpaceNode (
(CONST AML_NODE_HEADER*)Node,
(AML_NODE_HEADER**)&NameSpaceNode
(CONST AML_NODE_HEADER *)Node,
(AML_NODE_HEADER **)&NameSpaceNode
);
if (EFI_ERROR (Status)) {
ASSERT (0);
return Status;
}
Node = (CONST AML_OBJECT_NODE*)NameSpaceNode;
Node = (CONST AML_OBJECT_NODE *)NameSpaceNode;
if (IS_AML_ROOT_NODE (Node)) {
// Node is the root node. It is not possible to go beyond.
@@ -281,11 +284,12 @@ AmlGetAncestorNameSpaceNode (
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
*HasRoot = 1;
break;
}
NodeName = AmlNodeGetName ((CONST AML_OBJECT_NODE*)Node);
NodeName = AmlNodeGetName ((CONST AML_OBJECT_NODE *)Node);
if (NodeName == NULL) {
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -293,11 +297,11 @@ AmlGetAncestorNameSpaceNode (
// Analyze the node name.
Status = AmlParseNameStringInfo (
NodeName,
&Root,
&ParentPrefix,
&SegCount
);
NodeName,
&Root,
&ParentPrefix,
&SegCount
);
if (EFI_ERROR (Status)) {
ASSERT (0);
return Status;
@@ -316,9 +320,9 @@ AmlGetAncestorNameSpaceNode (
if (SegCount == ParentCnt) {
// There are exactly enough AML namespace levels to consume.
// This means the root node was the searched node.
Node = (CONST AML_OBJECT_NODE*)AmlGetRootNode (
(CONST AML_NODE_HEADER*)Node
);
Node = (CONST AML_OBJECT_NODE *)AmlGetRootNode (
(CONST AML_NODE_HEADER *)Node
);
if (!IS_AML_ROOT_NODE (Node)) {
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -350,14 +354,15 @@ AmlGetAncestorNameSpaceNode (
// The node name doesn't have any carets. Get the next namespace
// node and return.
Status = AmlGetFirstAncestorNameSpaceNode (
(CONST AML_NODE_HEADER*)Node,
(AML_NODE_HEADER**)&NameSpaceNode
(CONST AML_NODE_HEADER *)Node,
(AML_NODE_HEADER **)&NameSpaceNode
);
if (EFI_ERROR (Status)) {
ASSERT (0);
return Status;
}
Node = (CONST AML_OBJECT_NODE*)NameSpaceNode;
Node = (CONST AML_OBJECT_NODE *)NameSpaceNode;
ParentCnt = 0;
break;
} else {
@@ -375,8 +380,8 @@ AmlGetAncestorNameSpaceNode (
}
} while (ParentCnt != 0);
*OutNode = (CONST AML_NODE_HEADER*)Node;
*Levels = ParentCnt;
*OutNode = (CONST AML_NODE_HEADER *)Node;
*Levels = ParentCnt;
return EFI_SUCCESS;
}
@@ -415,29 +420,31 @@ AmlGetAncestorNameSpaceNode (
EFI_STATUS
EFIAPI
AmlGetRawNameSpacePath (
IN CONST AML_NODE_HEADER * Node,
IN UINT32 InputParent,
OUT AML_STREAM * RawAbsPathBStream
IN CONST AML_NODE_HEADER *Node,
IN UINT32 InputParent,
OUT AML_STREAM *RawAbsPathBStream
)
{
EFI_STATUS Status;
EFI_STATUS Status;
AML_NODE_HEADER * ParentNode;
CHAR8 * NodeName;
AML_NODE_HEADER *ParentNode;
CHAR8 *NodeName;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
CONST CHAR8 * NameSeg;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
CONST CHAR8 *NameSeg;
if ((!IS_AML_ROOT_NODE (Node) &&
!AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)Node,
AML_IN_NAMESPACE)) ||
(CONST AML_OBJECT_NODE *)Node,
AML_IN_NAMESPACE
)) ||
!IS_STREAM (RawAbsPathBStream) ||
IS_END_OF_STREAM (RawAbsPathBStream) ||
!IS_STREAM_BACKWARD (RawAbsPathBStream) ||
(InputParent > MAX_UINT8)) {
(InputParent > MAX_UINT8))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
@@ -447,7 +454,7 @@ AmlGetRawNameSpacePath (
break;
}
NodeName = AmlNodeGetName ((CONST AML_OBJECT_NODE*)Node);
NodeName = AmlNodeGetName ((CONST AML_OBJECT_NODE *)Node);
if (NodeName == NULL) {
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -468,15 +475,16 @@ AmlGetRawNameSpacePath (
// 1.1. If the Node's name has enough levels to consume all the
// InputParent carets, write the levels that are left.
NameSeg = AmlGetFirstNameSeg (NodeName, Root, ParentPrefix);
Status = AmlStreamWrite (
Status = AmlStreamWrite (
RawAbsPathBStream,
(CONST UINT8*)NameSeg,
(CONST UINT8 *)NameSeg,
(SegCount - InputParent) * AML_NAME_SEG_SIZE
);
if (EFI_ERROR (Status)) {
ASSERT (0);
return Status;
}
InputParent = 0;
} else {
// (SegCount <= InputParent)
@@ -488,23 +496,25 @@ AmlGetRawNameSpacePath (
InputParent += ParentPrefix;
if (Root != 0) {
// 2. The Node's name is an absolute path.
// Exit, the root has been reached.
// 2. The Node's name is an absolute path.
// Exit, the root has been reached.
if (InputParent != 0) {
ASSERT (0);
return EFI_NOT_FOUND;
}
break;
}
Status = AmlGetAncestorNameSpaceNode (
(CONST AML_OBJECT_NODE*)Node,
(CONST AML_OBJECT_NODE *)Node,
&InputParent,
&Root,
(CONST AML_NODE_HEADER**)&ParentNode
(CONST AML_NODE_HEADER **)&ParentNode
);
if (EFI_ERROR (Status) ||
(!IS_AML_NODE_VALID (ParentNode))) {
(!IS_AML_NODE_VALID (ParentNode)))
{
ASSERT (0);
return Status;
}
@@ -524,7 +534,7 @@ AmlGetRawNameSpacePath (
// Then exit.
if (InputParent != 0) {
// Get the absolute pathname.
NodeName = AmlNodeGetName ((CONST AML_OBJECT_NODE*)Node);
NodeName = AmlNodeGetName ((CONST AML_OBJECT_NODE *)Node);
if (NodeName == NULL) {
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -532,11 +542,11 @@ AmlGetRawNameSpacePath (
// Analyze the absolute pathname.
Status = AmlParseNameStringInfo (
NodeName,
&Root,
&ParentPrefix,
&SegCount
);
NodeName,
&Root,
&ParentPrefix,
&SegCount
);
if (EFI_ERROR (Status)) {
ASSERT (0);
return Status;
@@ -545,9 +555,9 @@ AmlGetRawNameSpacePath (
// Writing the n first NameSegs.
// n = SegCount - InputParent
NameSeg = AmlGetFirstNameSeg (NodeName, Root, ParentPrefix);
Status = AmlStreamWrite (
Status = AmlStreamWrite (
RawAbsPathBStream,
(CONST UINT8*)NameSeg,
(CONST UINT8 *)NameSeg,
(SegCount - InputParent) * AML_NAME_SEG_SIZE
);
if (EFI_ERROR (Status)) {
@@ -557,7 +567,6 @@ AmlGetRawNameSpacePath (
break;
} // (InputParent != 0)
}
} // while
@@ -584,21 +593,22 @@ STATIC
EFI_STATUS
EFIAPI
AmlAddPrefix (
IN OUT AML_STREAM * AmlPathBStream
IN OUT AML_STREAM *AmlPathBStream
)
{
EFI_STATUS Status;
UINT32 NameSegCount;
UINT32 NameSegSize;
EFI_STATUS Status;
UINT32 NameSegCount;
UINT32 NameSegSize;
// At most 3 bytes are needed for: RootChar + MultiNamePrefix + SegCount.
CHAR8 Prefix[3];
UINT32 PrefixSize;
CHAR8 Prefix[3];
UINT32 PrefixSize;
// The Stream contains concatenated NameSegs.
if (!IS_STREAM (AmlPathBStream) ||
IS_END_OF_STREAM (AmlPathBStream) ||
!IS_STREAM_BACKWARD (AmlPathBStream)) {
!IS_STREAM_BACKWARD (AmlPathBStream))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
@@ -625,7 +635,7 @@ AmlAddPrefix (
case 0:
{
// Root and parents only NameString (no NameSeg(s)) end with '\0'.
Prefix[1] = AML_ZERO_OP;
Prefix[1] = AML_ZERO_OP;
PrefixSize = 2;
break;
}
@@ -636,21 +646,21 @@ AmlAddPrefix (
}
case 2:
{
Prefix[1] = AML_DUAL_NAME_PREFIX;
Prefix[1] = AML_DUAL_NAME_PREFIX;
PrefixSize = 2;
break;
}
default:
{
Prefix[1] = AML_MULTI_NAME_PREFIX;
Prefix[2] = (UINT8)NameSegCount;
Prefix[1] = AML_MULTI_NAME_PREFIX;
Prefix[2] = (UINT8)NameSegCount;
PrefixSize = 3;
break;
}
}
// Add the RootChar + prefix (if needed) at the beginning of the pathname.
Status = AmlStreamWrite (AmlPathBStream, (CONST UINT8*)Prefix, PrefixSize);
Status = AmlStreamWrite (AmlPathBStream, (CONST UINT8 *)Prefix, PrefixSize);
if (EFI_ERROR (Status)) {
ASSERT (0);
return Status;
@@ -679,27 +689,28 @@ STATIC
EFI_STATUS
EFIAPI
AmlRemovePrefix (
IN OUT AML_STREAM * AmlPathBStream
IN OUT AML_STREAM *AmlPathBStream
)
{
EFI_STATUS Status;
EFI_STATUS Status;
UINT32 TotalSize;
UINT32 RewindSize;
UINT32 TotalSize;
UINT32 RewindSize;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
if (!IS_STREAM (AmlPathBStream) ||
IS_END_OF_STREAM (AmlPathBStream) ||
!IS_STREAM_BACKWARD (AmlPathBStream)) {
!IS_STREAM_BACKWARD (AmlPathBStream))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
Status = AmlParseNameStringInfo (
(CHAR8*)AmlStreamGetCurrPos (AmlPathBStream),
(CHAR8 *)AmlStreamGetCurrPos (AmlPathBStream),
&Root,
&ParentPrefix,
&SegCount
@@ -755,31 +766,33 @@ AmlRemovePrefix (
EFI_STATUS
EFIAPI
AmlGetAslPathName (
IN AML_NODE_HEADER * Node,
OUT CHAR8 * Buffer,
IN OUT UINT32 * BufferSize
IN AML_NODE_HEADER *Node,
OUT CHAR8 *Buffer,
IN OUT UINT32 *BufferSize
)
{
EFI_STATUS Status;
EFI_STATUS Status;
// Backward stream used to build the raw AML absolute path to the node.
AML_STREAM RawAmlAbsPathBStream;
CHAR8 * RawAmlAbsPathBuffer;
UINT32 RawAmlAbsPathBufferSize;
AML_STREAM RawAmlAbsPathBStream;
CHAR8 *RawAmlAbsPathBuffer;
UINT32 RawAmlAbsPathBufferSize;
CHAR8 * AmlPathName;
CHAR8 * AslPathName;
UINT32 AslPathNameSize;
CHAR8 *AmlPathName;
CHAR8 *AslPathName;
UINT32 AslPathNameSize;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
if ((!IS_AML_ROOT_NODE (Node) &&
!AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)Node,
AML_IN_NAMESPACE)) ||
(BufferSize == NULL)) {
(CONST AML_OBJECT_NODE *)Node,
AML_IN_NAMESPACE
)) ||
(BufferSize == NULL))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
@@ -788,7 +801,7 @@ AmlGetAslPathName (
// Allocate a Stream to get the raw AML absolute pathname.
RawAmlAbsPathBufferSize = MAX_AML_NAMESTRING_SIZE;
RawAmlAbsPathBuffer = AllocateZeroPool (RawAmlAbsPathBufferSize);
RawAmlAbsPathBuffer = AllocateZeroPool (RawAmlAbsPathBufferSize);
if (RawAmlAbsPathBuffer == NULL) {
ASSERT (0);
return EFI_OUT_OF_RESOURCES;
@@ -796,7 +809,7 @@ AmlGetAslPathName (
Status = AmlStreamInit (
&RawAmlAbsPathBStream,
(UINT8*)RawAmlAbsPathBuffer,
(UINT8 *)RawAmlAbsPathBuffer,
RawAmlAbsPathBufferSize,
EAmlStreamDirectionBackward
);
@@ -821,11 +834,11 @@ AmlGetAslPathName (
goto exit_handler;
}
AmlPathName = (CHAR8*)AmlStreamGetCurrPos (&RawAmlAbsPathBStream);
AmlPathName = (CHAR8 *)AmlStreamGetCurrPos (&RawAmlAbsPathBStream);
// Analyze the NameString.
Status = AmlParseNameStringInfo (
(CONST CHAR8*)AmlPathName,
(CONST CHAR8 *)AmlPathName,
&Root,
&ParentPrefix,
&SegCount
@@ -890,33 +903,36 @@ STATIC
BOOLEAN
EFIAPI
AmlDbgPrintNameSpaceCallback (
IN AML_NODE_HEADER * Node,
IN VOID * Context,
IN OUT EFI_STATUS * Status OPTIONAL
IN AML_NODE_HEADER *Node,
IN VOID *Context,
IN OUT EFI_STATUS *Status OPTIONAL
)
{
BOOLEAN ContinueEnum;
EFI_STATUS Status1;
BOOLEAN ContinueEnum;
EFI_STATUS Status1;
AML_STREAM * CurrNodePathFStream;
CHAR8 * CurrNodePathBuffer;
UINT32 CurrNodePathBufferSize;
AML_STREAM *CurrNodePathFStream;
CHAR8 *CurrNodePathBuffer;
UINT32 CurrNodePathBufferSize;
ContinueEnum = TRUE;
Status1 = EFI_SUCCESS;
Status1 = EFI_SUCCESS;
if (!IS_AML_NODE_VALID (Node) ||
(Context == NULL)) {
(Context == NULL))
{
ASSERT (0);
Status1 = EFI_INVALID_PARAMETER;
Status1 = EFI_INVALID_PARAMETER;
ContinueEnum = FALSE;
goto exit_handler;
}
if (!IS_AML_ROOT_NODE (Node) &&
!AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)Node,
AML_IN_NAMESPACE)) {
(CONST AML_OBJECT_NODE *)Node,
AML_IN_NAMESPACE
))
{
// Skip this node and continue enumeration.
goto exit_handler;
}
@@ -924,40 +940,41 @@ AmlDbgPrintNameSpaceCallback (
if (IS_AML_ROOT_NODE (Node)) {
DEBUG ((DEBUG_INFO, "\\\n"));
} else if (AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)Node,
AML_IN_NAMESPACE)) {
(CONST AML_OBJECT_NODE *)Node,
AML_IN_NAMESPACE
))
{
CurrNodePathFStream = (AML_STREAM *)Context;
CurrNodePathFStream = (AML_STREAM*)Context;
// Check the Context's content.
if (!IS_STREAM (CurrNodePathFStream) ||
IS_END_OF_STREAM (CurrNodePathFStream) ||
!IS_STREAM_FORWARD (CurrNodePathFStream))
{
ASSERT (0);
Status1 = EFI_INVALID_PARAMETER;
ContinueEnum = FALSE;
goto exit_handler;
}
// Check the Context's content.
if (!IS_STREAM (CurrNodePathFStream) ||
IS_END_OF_STREAM (CurrNodePathFStream) ||
!IS_STREAM_FORWARD (CurrNodePathFStream)) {
ASSERT (0);
Status1 = EFI_INVALID_PARAMETER;
ContinueEnum = FALSE;
goto exit_handler;
}
CurrNodePathBuffer = (CHAR8 *)AmlStreamGetBuffer (CurrNodePathFStream);
CurrNodePathBufferSize = AmlStreamGetMaxBufferSize (CurrNodePathFStream);
CurrNodePathBuffer = (CHAR8*)AmlStreamGetBuffer (CurrNodePathFStream);
CurrNodePathBufferSize = AmlStreamGetMaxBufferSize (CurrNodePathFStream);
Status1 = AmlGetAslPathName (
(AML_NODE_HEADER*)Node,
CurrNodePathBuffer,
&CurrNodePathBufferSize
);
if (EFI_ERROR (Status1)) {
ASSERT (0);
ContinueEnum = FALSE;
goto exit_handler;
}
DEBUG ((DEBUG_INFO, "%a\n", CurrNodePathBuffer));
Status1 = AmlGetAslPathName (
(AML_NODE_HEADER *)Node,
CurrNodePathBuffer,
&CurrNodePathBufferSize
);
if (EFI_ERROR (Status1)) {
ASSERT (0);
ContinueEnum = FALSE;
goto exit_handler;
}
DEBUG ((DEBUG_INFO, "%a\n", CurrNodePathBuffer));
} else {
ASSERT (0);
Status1 = EFI_INVALID_PARAMETER;
Status1 = EFI_INVALID_PARAMETER;
ContinueEnum = FALSE;
}
@@ -982,14 +999,14 @@ exit_handler:
EFI_STATUS
EFIAPI
AmlDbgPrintNameSpace (
IN AML_ROOT_NODE * RootNode
IN AML_ROOT_NODE *RootNode
)
{
EFI_STATUS Status;
EFI_STATUS Status;
AML_STREAM CurrNodePathFStream;
CHAR8 * CurrNodePathBuffer;
UINT32 CurrNodePathBufferSize;
AML_STREAM CurrNodePathFStream;
CHAR8 *CurrNodePathBuffer;
UINT32 CurrNodePathBufferSize;
if (!IS_AML_ROOT_NODE (RootNode)) {
ASSERT (0);
@@ -1000,7 +1017,7 @@ AmlDbgPrintNameSpace (
// Allocate memory to build the absolute ASL path to each node.
CurrNodePathBufferSize = MAX_AML_NAMESTRING_SIZE;
CurrNodePathBuffer = AllocateZeroPool (CurrNodePathBufferSize);
CurrNodePathBuffer = AllocateZeroPool (CurrNodePathBufferSize);
if (CurrNodePathBuffer == NULL) {
ASSERT (0);
return EFI_OUT_OF_RESOURCES;
@@ -1010,7 +1027,7 @@ AmlDbgPrintNameSpace (
// to avoid multiple allocations during the enumeration.
Status = AmlStreamInit (
&CurrNodePathFStream,
(UINT8*)CurrNodePathBuffer,
(UINT8 *)CurrNodePathBuffer,
CurrNodePathBufferSize,
EAmlStreamDirectionForward
);
@@ -1020,9 +1037,9 @@ AmlDbgPrintNameSpace (
}
AmlEnumTree (
(AML_NODE_HEADER*)RootNode,
(AML_NODE_HEADER *)RootNode,
AmlDbgPrintNameSpaceCallback,
(VOID*)&CurrNodePathFStream,
(VOID *)&CurrNodePathFStream,
&Status
);
ASSERT_EFI_ERROR (Status);
@@ -1064,40 +1081,43 @@ STATIC
BOOLEAN
EFIAPI
AmlEnumeratePathCallback (
IN AML_NODE_HEADER * Node,
IN OUT VOID * Context,
IN OUT EFI_STATUS * Status OPTIONAL
)
IN AML_NODE_HEADER *Node,
IN OUT VOID *Context,
IN OUT EFI_STATUS *Status OPTIONAL
)
{
BOOLEAN ContinueEnum;
EFI_STATUS Status1;
BOOLEAN ContinueEnum;
EFI_STATUS Status1;
AML_PATH_SEARCH_CONTEXT * PathSearchContext;
AML_PATH_SEARCH_CONTEXT *PathSearchContext;
AML_STREAM * SearchPathBStream;
AML_STREAM *SearchPathBStream;
AML_STREAM * CurrNodePathBStream;
UINT32 CurrNodePathSize;
AML_STREAM *CurrNodePathBStream;
UINT32 CurrNodePathSize;
ContinueEnum = TRUE;
Status1 = EFI_SUCCESS;
Status1 = EFI_SUCCESS;
if (!IS_AML_NODE_VALID (Node) ||
(Context == NULL)) {
(Context == NULL))
{
ASSERT (0);
Status1 = EFI_INVALID_PARAMETER;
Status1 = EFI_INVALID_PARAMETER;
ContinueEnum = FALSE;
goto exit_handler;
}
if (!AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)Node,
AML_IN_NAMESPACE)) {
(CONST AML_OBJECT_NODE *)Node,
AML_IN_NAMESPACE
))
{
goto exit_handler;
}
PathSearchContext = (AML_PATH_SEARCH_CONTEXT*)Context;
SearchPathBStream = PathSearchContext->SearchPathBStream;
PathSearchContext = (AML_PATH_SEARCH_CONTEXT *)Context;
SearchPathBStream = PathSearchContext->SearchPathBStream;
CurrNodePathBStream = PathSearchContext->CurrNodePathBStream;
// Check the Context's content.
@@ -1106,9 +1126,10 @@ AmlEnumeratePathCallback (
!IS_STREAM_BACKWARD (SearchPathBStream) ||
!IS_STREAM (CurrNodePathBStream) ||
IS_END_OF_STREAM (CurrNodePathBStream) ||
!IS_STREAM_BACKWARD (CurrNodePathBStream)) {
!IS_STREAM_BACKWARD (CurrNodePathBStream))
{
ASSERT (0);
Status1 = EFI_INVALID_PARAMETER;
Status1 = EFI_INVALID_PARAMETER;
ContinueEnum = FALSE;
goto exit_handler;
}
@@ -1116,7 +1137,7 @@ AmlEnumeratePathCallback (
CurrNodePathSize = AmlStreamGetMaxBufferSize (CurrNodePathBStream);
if (CurrNodePathSize == 0) {
ASSERT (0);
Status1 = EFI_INVALID_PARAMETER;
Status1 = EFI_INVALID_PARAMETER;
ContinueEnum = FALSE;
goto exit_handler;
}
@@ -1137,26 +1158,28 @@ AmlEnumeratePathCallback (
DEBUG ((DEBUG_VERBOSE, "Search path:"));
AMLDBG_PRINT_CHARS (
DEBUG_VERBOSE,
(CHAR8*)AmlStreamGetCurrPos (SearchPathBStream),
(CHAR8 *)AmlStreamGetCurrPos (SearchPathBStream),
AmlStreamGetIndex (SearchPathBStream)
);
DEBUG ((DEBUG_VERBOSE, "\nPath of the current node: "));
AMLDBG_PRINT_CHARS (
DEBUG_VERBOSE,
(CHAR8*)AmlStreamGetCurrPos (CurrNodePathBStream),
(CHAR8 *)AmlStreamGetCurrPos (CurrNodePathBStream),
AmlStreamGetIndex (CurrNodePathBStream)
);
DEBUG ((DEBUG_VERBOSE, "\n"));
// Compare the searched path and Node's path.
if ((AmlStreamGetIndex (CurrNodePathBStream) ==
AmlStreamGetIndex (SearchPathBStream)) &&
AmlStreamGetIndex (SearchPathBStream)) &&
(CompareMem (
AmlStreamGetCurrPos (CurrNodePathBStream),
AmlStreamGetCurrPos (SearchPathBStream),
AmlStreamGetIndex (SearchPathBStream)) == 0)) {
Status1 = EFI_SUCCESS;
ContinueEnum = FALSE;
AmlStreamGetIndex (SearchPathBStream)
) == 0))
{
Status1 = EFI_SUCCESS;
ContinueEnum = FALSE;
PathSearchContext->OutNode = Node;
} else {
// If the paths don't match, reset the CurrNodePathStream's content.
@@ -1210,27 +1233,29 @@ STATIC
EFI_STATUS
EFIAPI
AmlBuildAbsoluteAmlPath (
IN AML_NODE_HEADER * ReferenceNode,
IN CHAR8 * AslPath,
IN OUT AML_STREAM * RawAmlAbsSearchPathBStream
IN AML_NODE_HEADER *ReferenceNode,
IN CHAR8 *AslPath,
IN OUT AML_STREAM *RawAmlAbsSearchPathBStream
)
{
EFI_STATUS Status;
CHAR8 * AmlPath;
EFI_STATUS Status;
CHAR8 *AmlPath;
UINT32 AmlNameStringSize;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
UINT32 AmlNameStringSize;
UINT32 Root;
UINT32 ParentPrefix;
UINT32 SegCount;
if ((!IS_AML_ROOT_NODE (ReferenceNode) &&
!AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)ReferenceNode,
AML_IN_NAMESPACE)) ||
(CONST AML_OBJECT_NODE *)ReferenceNode,
AML_IN_NAMESPACE
)) ||
(AslPath == NULL) ||
!IS_STREAM (RawAmlAbsSearchPathBStream) ||
IS_END_OF_STREAM (RawAmlAbsSearchPathBStream) ||
!IS_STREAM_BACKWARD (RawAmlAbsSearchPathBStream)) {
!IS_STREAM_BACKWARD (RawAmlAbsSearchPathBStream))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
@@ -1264,10 +1289,10 @@ AmlBuildAbsoluteAmlPath (
// 2.1. Write the AML path to the stream.
Status = AmlStreamWrite (
RawAmlAbsSearchPathBStream,
(CONST UINT8*)AmlPath,
AmlNameStringSize
);
RawAmlAbsSearchPathBStream,
(CONST UINT8 *)AmlPath,
AmlNameStringSize
);
if (EFI_ERROR (Status)) {
ASSERT (0);
goto exit_handler;
@@ -1347,47 +1372,49 @@ exit_handler:
EFI_STATUS
EFIAPI
AmlFindNode (
IN AML_NODE_HEADER * ReferenceNode,
IN CHAR8 * AslPath,
OUT AML_NODE_HEADER ** OutNode
IN AML_NODE_HEADER *ReferenceNode,
IN CHAR8 *AslPath,
OUT AML_NODE_HEADER **OutNode
)
{
EFI_STATUS Status;
EFI_STATUS Status;
AML_PATH_SEARCH_CONTEXT PathSearchContext;
AML_ROOT_NODE * RootNode;
AML_PATH_SEARCH_CONTEXT PathSearchContext;
AML_ROOT_NODE *RootNode;
// Backward stream used to build the raw AML absolute path to the searched
// node.
AML_STREAM RawAmlAbsSearchPathBStream;
CHAR8 * RawAmlAbsSearchPathBuffer;
UINT32 RawAmlAbsSearchPathBufferSize;
AML_STREAM RawAmlAbsSearchPathBStream;
CHAR8 *RawAmlAbsSearchPathBuffer;
UINT32 RawAmlAbsSearchPathBufferSize;
// Backward stream used to store the raw AML absolute path of the node
// currently enumerated in the tree. This path can then be compared to the
// RawAmlAbsSearchPath.
AML_STREAM RawAmlAbsCurrNodePathBStream;
CHAR8 * RawAmlAbsCurrNodePathBuffer;
UINT32 RawAmlAbsCurrNodePathBufferSize;
AML_STREAM RawAmlAbsCurrNodePathBStream;
CHAR8 *RawAmlAbsCurrNodePathBuffer;
UINT32 RawAmlAbsCurrNodePathBufferSize;
if ((!IS_AML_ROOT_NODE (ReferenceNode) &&
!AmlNodeHasAttribute (
(CONST AML_OBJECT_NODE*)ReferenceNode,
AML_IN_NAMESPACE)) ||
(CONST AML_OBJECT_NODE *)ReferenceNode,
AML_IN_NAMESPACE
)) ||
(AslPath == NULL) ||
(OutNode == NULL)) {
(OutNode == NULL))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
}
*OutNode = NULL;
*OutNode = NULL;
RawAmlAbsCurrNodePathBuffer = NULL;
// 1. Build a raw absolute AML path from the reference node and the ASL
// path. For this:
// 1.1. First initialize a backward stream.
RawAmlAbsSearchPathBufferSize = MAX_AML_NAMESTRING_SIZE;
RawAmlAbsSearchPathBuffer = AllocateZeroPool (RawAmlAbsSearchPathBufferSize);
RawAmlAbsSearchPathBuffer = AllocateZeroPool (RawAmlAbsSearchPathBufferSize);
if (RawAmlAbsSearchPathBuffer == NULL) {
ASSERT (0);
return EFI_OUT_OF_RESOURCES;
@@ -1395,7 +1422,7 @@ AmlFindNode (
Status = AmlStreamInit (
&RawAmlAbsSearchPathBStream,
(UINT8*)RawAmlAbsSearchPathBuffer,
(UINT8 *)RawAmlAbsSearchPathBuffer,
RawAmlAbsSearchPathBufferSize,
EAmlStreamDirectionBackward
);
@@ -1427,8 +1454,8 @@ AmlFindNode (
// For the Root Node there is no NameSegs so the length of
// the stream will be zero.
if (AmlStreamGetIndex (&RawAmlAbsSearchPathBStream) == 0) {
*OutNode = (AML_NODE_HEADER*)RootNode;
Status = EFI_SUCCESS;
*OutNode = (AML_NODE_HEADER *)RootNode;
Status = EFI_SUCCESS;
goto exit_handler;
}
@@ -1436,9 +1463,9 @@ AmlFindNode (
// during enumeration. This prevents from doing multiple allocation/free
// operations.
RawAmlAbsCurrNodePathBufferSize = MAX_ASL_NAMESTRING_SIZE;
RawAmlAbsCurrNodePathBuffer = AllocateZeroPool (
RawAmlAbsCurrNodePathBufferSize
);
RawAmlAbsCurrNodePathBuffer = AllocateZeroPool (
RawAmlAbsCurrNodePathBufferSize
);
if (RawAmlAbsCurrNodePathBuffer == NULL) {
ASSERT (0);
Status = EFI_OUT_OF_RESOURCES;
@@ -1447,7 +1474,7 @@ AmlFindNode (
Status = AmlStreamInit (
&RawAmlAbsCurrNodePathBStream,
(UINT8*)RawAmlAbsCurrNodePathBuffer,
(UINT8 *)RawAmlAbsCurrNodePathBuffer,
RawAmlAbsCurrNodePathBufferSize,
EAmlStreamDirectionBackward
);
@@ -1462,17 +1489,17 @@ AmlFindNode (
// - CurrNodePathStream: backward stream containing the raw absolute AML
// of the node currently being enumerated;
// - OutNode: node pointer to the store the potentially found node.
PathSearchContext.SearchPathBStream = &RawAmlAbsSearchPathBStream;
PathSearchContext.SearchPathBStream = &RawAmlAbsSearchPathBStream;
PathSearchContext.CurrNodePathBStream = &RawAmlAbsCurrNodePathBStream;
PathSearchContext.OutNode = NULL;
PathSearchContext.OutNode = NULL;
// 6. Iterate through the namespace nodes of the tree.
// For each namespace node, build its raw AML absolute path. Then compare
// it with the search path.
AmlEnumTree (
(AML_NODE_HEADER*)RootNode,
(AML_NODE_HEADER *)RootNode,
AmlEnumeratePathCallback,
(VOID*)&PathSearchContext,
(VOID *)&PathSearchContext,
&Status
);
if (EFI_ERROR (Status)) {