diff options
| author | Mike Baiocchi <mbaiocch@us.ibm.com> | 2017-08-15 10:44:28 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-08-18 10:25:30 -0400 |
| commit | 6a040451c75c888ad1ecca9e10988c119cbbba84 (patch) | |
| tree | a9d5a61847b56e5b55903a3e5f9e1f68ee919ea4 /src/usr/targeting/runtime | |
| parent | 8709c1f2823e69ae8315967d5bc2f34646e90354 (diff) | |
| download | blackbird-hostboot-6a040451c75c888ad1ecca9e10988c119cbbba84.tar.gz blackbird-hostboot-6a040451c75c888ad1ecca9e10988c119cbbba84.zip | |
Fix SECUREBOOT runtime interfaces and tests
This commit fixes the SECUREBOOT::allowAttrOverrides() function and
also allows for more accurate secureboot testing at runtime.
Change-Id: Ife86bd3f6311247438dd68a1a191d5de86892512
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44635
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/targeting/runtime')
| -rw-r--r-- | src/usr/targeting/runtime/test/testtargeting.H | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/src/usr/targeting/runtime/test/testtargeting.H b/src/usr/targeting/runtime/test/testtargeting.H index db9c74415..0e539ae85 100644 --- a/src/usr/targeting/runtime/test/testtargeting.H +++ b/src/usr/targeting/runtime/test/testtargeting.H @@ -155,10 +155,29 @@ class TargetingTestSuite : public CxxTest::TestSuite void testApplyAttrOverrides() { using namespace TARGETING; - TRACFCOMP(g_trac_targeting,"testApplyAttrOverrides"); - do + TRACFCOMP(g_trac_targeting,"testApplyAttrOverrides (temporarily allow Attr Overrides)"); + + // Must Temporarily Allow Attribute Overrides since secureboot is + // now set at runtime. Will restore later. + bool allow_attr_overrides = false; + TargetService& l_targetService = targetService(); + TARGETING::Target* l_pTarget = nullptr; + (void) l_targetService.getTopLevelTarget(l_pTarget); + if (l_pTarget == nullptr) + { + TS_FAIL("Top level target handle is NULL"); + } + else { + allow_attr_overrides = l_pTarget->getAttr< + TARGETING::ATTR_ALLOW_ATTR_OVERRIDES_IN_SECURE_MODE>(); + l_pTarget->setAttr< + TARGETING::ATTR_ALLOW_ATTR_OVERRIDES_IN_SECURE_MODE>(true); + } + + do + { // Get the address of the runtime apply overrides function runtimeInterfaces_t* rt_intf = getRuntimeInterfaces(); if(rt_intf == NULL) @@ -173,14 +192,6 @@ class TargetingTestSuite : public CxxTest::TestSuite } // Get the initial value of the test attribute - TargetService& l_targetService = targetService(); - TARGETING::Target* l_pTarget = NULL; - (void) l_targetService.getTopLevelTarget(l_pTarget); - if (l_pTarget == NULL) - { - TS_FAIL("Top level target handle is NULL"); - break; - } uint8_t l_attrVal = l_pTarget->getAttr<TARGETING::ATTR_SCRATCH_UINT8_1>(); uint8_t l_attrOverrideVal = l_attrVal + 1; @@ -263,6 +274,11 @@ class TargetingTestSuite : public CxxTest::TestSuite TRACFCOMP(g_trac_targeting,"testApplyAttrOverrides SUCCESS"); } while (0); + + // Restore allow_attr_overrides setting + l_pTarget->setAttr< + TARGETING::ATTR_ALLOW_ATTR_OVERRIDES_IN_SECURE_MODE>( + allow_attr_overrides); } }; |

