]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Xsdt/XsdtParser.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ShellPkg / Library / UefiShellAcpiViewCommandLib / Parsers / Xsdt / XsdtParser.c
index a5e1412484b56258c40e0cb4d795157ffbce6826..ff09f3ca7fd3ba797250817f91680213ba979212 100644 (file)
@@ -1,14 +1,8 @@
 /** @file\r
   XSDT table parser\r
 \r
-  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  Copyright (c) 2016 - 2019, ARM Limited. All rights reserved.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
   @par Reference(s):\r
     - ACPI 6.2 Specification - Errata A, September 2017\r
 #include "AcpiTableParser.h"\r
 \r
 // Local variables\r
-STATIC ACPI_DESCRIPTION_HEADER_INFO AcpiHdrInfo;\r
+STATIC ACPI_DESCRIPTION_HEADER_INFO  AcpiHdrInfo;\r
 \r
 /** An ACPI_PARSER array describing the ACPI XSDT table.\r
 */\r
-STATIC CONST ACPI_PARSER XsdtParser[] = {\r
+STATIC CONST ACPI_PARSER  XsdtParser[] = {\r
   PARSE_ACPI_HEADER (&AcpiHdrInfo)\r
 };\r
 \r
 /**\r
   Get the ACPI XSDT header info.\r
 **/\r
-CONST ACPI_DESCRIPTION_HEADER_INFO* CONST\r
+CONST ACPI_DESCRIPTION_HEADER_INFO *\r
 EFIAPI\r
 GetAcpiXsdtHeaderInfo (\r
   VOID\r
-)\r
+  )\r
 {\r
   return &AcpiHdrInfo;\r
 }\r
@@ -54,58 +48,48 @@ GetAcpiXsdtHeaderInfo (
 VOID\r
 EFIAPI\r
 ParseAcpiXsdt (\r
-  IN BOOLEAN Trace,\r
-  IN UINT8*  Ptr,\r
-  IN UINT32  AcpiTableLength,\r
-  IN UINT8   AcpiTableRevision\r
+  IN BOOLEAN  Trace,\r
+  IN UINT8    *Ptr,\r
+  IN UINT32   AcpiTableLength,\r
+  IN UINT8    AcpiTableRevision\r
   )\r
 {\r
-  UINT32        Offset;\r
-  UINT32        TableOffset;\r
-  UINT64*       TablePointer;\r
-  UINTN         EntryIndex;\r
-  CHAR16        Buffer[32];\r
-\r
-  // Parse the ACPI header to get the length\r
-  ParseAcpi (\r
-    FALSE,\r
-    0,\r
-    "XSDT",\r
-    Ptr,\r
-    ACPI_DESCRIPTION_HEADER_LENGTH,\r
-    PARSER_PARAMS (XsdtParser)\r
-    );\r
+  UINT32  Offset;\r
+  UINT32  TableOffset;\r
+  UINT64  *TablePointer;\r
+  UINTN   EntryIndex;\r
+  CHAR16  Buffer[32];\r
 \r
   Offset = ParseAcpi (\r
              Trace,\r
              0,\r
              "XSDT",\r
              Ptr,\r
-             *AcpiHdrInfo.Length,\r
+             AcpiTableLength,\r
              PARSER_PARAMS (XsdtParser)\r
              );\r
 \r
   TableOffset = Offset;\r
 \r
   if (Trace) {\r
-    EntryIndex = 0;\r
-    TablePointer = (UINT64*)(Ptr + TableOffset);\r
-    while (Offset < (*AcpiHdrInfo.Length)) {\r
-      CONST UINT32Signature;\r
-      CONST UINT32Length;\r
-      CONST UINT8*  Revision;\r
+    EntryIndex   = 0;\r
+    TablePointer = (UINT64 *)(Ptr + TableOffset);\r
+    while (Offset < AcpiTableLength) {\r
+      CONST UINT32  *Signature;\r
+      CONST UINT32  *Length;\r
+      CONST UINT8   *Revision;\r
 \r
-      if ((UINT64*)(UINTN)(*TablePointer) != NULL) {\r
-        UINT8*      SignaturePtr;\r
+      if ((UINT64 *)(UINTN)(*TablePointer) != NULL) {\r
+        UINT8  *SignaturePtr;\r
 \r
         ParseAcpiHeader (\r
-          (UINT8*)(UINTN)(*TablePointer),\r
+          (UINT8 *)(UINTN)(*TablePointer),\r
           &Signature,\r
           &Length,\r
           &Revision\r
           );\r
 \r
-        SignaturePtr = (UINT8*)Signature;\r
+        SignaturePtr = (UINT8 *)Signature;\r
 \r
         UnicodeSPrint (\r
           Buffer,\r
@@ -130,7 +114,7 @@ ParseAcpiXsdt (
       Print (L"0x%lx\n", *TablePointer);\r
 \r
       // Validate the table pointers are not NULL\r
-      if ((UINT64*)(UINTN)(*TablePointer) == NULL) {\r
+      if ((UINT64 *)(UINTN)(*TablePointer) == NULL) {\r
         IncrementErrorCount ();\r
         Print (\r
           L"ERROR: Invalid table entry at 0x%lx, table address is 0x%lx\n",\r
@@ -138,18 +122,20 @@ ParseAcpiXsdt (
           *TablePointer\r
           );\r
       }\r
+\r
       Offset += sizeof (UINT64);\r
       TablePointer++;\r
     } // while\r
   }\r
 \r
   // Process the tables\r
-  Offset = TableOffset;\r
-  TablePointer = (UINT64*)(Ptr + TableOffset);\r
-  while (Offset < (*AcpiHdrInfo.Length)) {\r
-    if ((UINT64*)(UINTN)(*TablePointer) != NULL) {\r
-      ProcessAcpiTable ((UINT8*)(UINTN)(*TablePointer));\r
+  Offset       = TableOffset;\r
+  TablePointer = (UINT64 *)(Ptr + TableOffset);\r
+  while (Offset < AcpiTableLength) {\r
+    if ((UINT64 *)(UINTN)(*TablePointer) != NULL) {\r
+      ProcessAcpiTable ((UINT8 *)(UINTN)(*TablePointer));\r
     }\r
+\r
     Offset += sizeof (UINT64);\r
     TablePointer++;\r
   } // while\r