Verify the register address in the FADT.

TEST=Build and run on Galileo Gen2 when the FADT was not present.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Lee Leahy <[email protected]>
---
 CorebootModulePkg/Library/CbParseLib/CbParseLib.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/CorebootModulePkg/Library/CbParseLib/CbParseLib.c 
b/CorebootModulePkg/Library/CbParseLib/CbParseLib.c
index 8509bd2..de6a5f7 100644
--- a/CorebootModulePkg/Library/CbParseLib/CbParseLib.c
+++ b/CorebootModulePkg/Library/CbParseLib/CbParseLib.c
@@ -478,6 +478,15 @@ CbParseFadtInfo (
           DEBUG ((EFI_D_INFO, "PmGpeEn Reg 0x%x\n", *pPmGpeEnReg));
         }
 
+        //
+        // Verify values for proper operation
+        //
+        ASSERT(Fadt->Pm1aCntBlk != 0);
+        ASSERT(Fadt->PmTmrBlk != 0);
+        ASSERT(Fadt->ResetReg.Address != 0);
+        ASSERT(Fadt->Pm1aEvtBlk != 0);
+        ASSERT(Fadt->Gpe0Blk != 0);
+
         return RETURN_SUCCESS;
       }
     }
-- 
1.9.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to