summaryrefslogtreecommitdiffstats
path: root/src/usr/errl/errlsrc.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/errl/errlsrc.C')
-rw-r--r--src/usr/errl/errlsrc.C15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/usr/errl/errlsrc.C b/src/usr/errl/errlsrc.C
index 11e46d92b..69d29e18a 100644
--- a/src/usr/errl/errlsrc.C
+++ b/src/usr/errl/errlsrc.C
@@ -66,10 +66,11 @@ ErrlSrc::ErrlSrc( srcType_t i_srcType,
iv_reasonCode( i_reasonCode ),
iv_ssid( EPUB_FIRMWARE_SUBSYS ),
iv_user1( i_user1 ),
- iv_user2( i_user2 )
+ iv_user2( i_user2 ),
+ iv_deconfig(false),
+ iv_gard(false)
{
-
}
@@ -138,6 +139,16 @@ uint64_t ErrlSrc::flatten( void * o_pBuffer, const uint64_t i_cbBuffer )
// Stash the Hostboot module id into hex word 3
psrc->moduleId = iv_modId;
+ // set deconfigure and/or gard bits
+ if (iv_deconfig)
+ {
+ psrc->word5 |= 0x02000000; // deconfigure - bit 6
+ }
+ if (iv_gard)
+ {
+ psrc->word5 |= 0x01000000; // GARD - bit 7
+ }
+
// Stash the Hostboot long long words into the hexwords of the SRC.
psrc->word6 = iv_user1; // spans 6-7
psrc->word8 = iv_user2; // spans 8-9
OpenPOWER on IntegriCloud