summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/runtime
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2017-08-15 10:44:28 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-18 10:25:30 -0400
commit6a040451c75c888ad1ecca9e10988c119cbbba84 (patch)
treea9d5a61847b56e5b55903a3e5f9e1f68ee919ea4 /src/usr/targeting/runtime
parent8709c1f2823e69ae8315967d5bc2f34646e90354 (diff)
downloadblackbird-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.H36
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);
}
};
OpenPOWER on IntegriCloud