]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellAcpiViewCommandLib/AcpiView.c
ShellPkg: acpiview: Check if SBBR mandatory ACPI tables are installed
[mirror_edk2.git] / ShellPkg / Library / UefiShellAcpiViewCommandLib / AcpiView.c
index 49c2e87c430d7fb57793f6405ebee91cb8f6cbaa..84ffb3595750a3e7d65fdb82c0f90bc2d76c659e 100644 (file)
@@ -2,6 +2,12 @@
 \r
   Copyright (c) 2016 - 2020, ARM Limited. All rights reserved.\r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+  @par Glossary:\r
+    - Sbbr or SBBR   - Server Base Boot Requirements\r
+\r
+  @par Reference(s):\r
+    - Arm Server Base Boot Requirements 1.2, September 2019\r
 **/\r
 \r
 #include <Library/PrintLib.h>\r
 #include "AcpiView.h"\r
 #include "UefiShellAcpiViewCommandLib.h"\r
 \r
+#if defined(MDE_CPU_ARM) || defined (MDE_CPU_AARCH64)\r
+#include "Arm/SbbrValidator.h"\r
+#endif\r
+\r
 EFI_HII_HANDLE gShellAcpiViewHiiHandle = NULL;\r
 \r
 // Report variables\r
@@ -438,6 +448,12 @@ AcpiView (
       return EFI_UNSUPPORTED;\r
     }\r
 \r
+#if defined(MDE_CPU_ARM) || defined (MDE_CPU_AARCH64)\r
+    if (GetMandatoryTableValidate ()) {\r
+      ArmSbbrResetTableCounts ();\r
+    }\r
+#endif\r
+\r
     // The RSDP length is 4 bytes starting at offset 20\r
     RsdpLength = *(UINT32*)(RsdpPtr + RSDP_LENGTH_OFFSET);\r
 \r
@@ -466,6 +482,12 @@ AcpiView (
     return EFI_NOT_FOUND;\r
   }\r
 \r
+#if defined(MDE_CPU_ARM) || defined (MDE_CPU_AARCH64)\r
+  if (GetMandatoryTableValidate ()) {\r
+    ArmSbbrReqsValidate ((ARM_SBBR_VERSION)GetMandatoryTableSpec ());\r
+  }\r
+#endif\r
+\r
   ReportOption = GetReportOption ();\r
   if (ReportTableList != ReportOption) {\r
     if (((ReportSelected == ReportOption)  ||\r