summaryrefslogtreecommitdiffstats
path: root/src/include/bootloader/bootloaderif.H
diff options
context:
space:
mode:
authorcrgeddes <crgeddes@us.ibm.com>2017-08-09 13:42:03 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-18 10:26:41 -0400
commitd53d9f226aaa8080eb65717ae895dac06a855bf8 (patch)
treef94c901f3704d12d5e0999345a76faf8401e203b /src/include/bootloader/bootloaderif.H
parent6a040451c75c888ad1ecca9e10988c119cbbba84 (diff)
downloadtalos-hostboot-d53d9f226aaa8080eb65717ae895dac06a855bf8.tar.gz
talos-hostboot-d53d9f226aaa8080eb65717ae895dac06a855bf8.zip
Pass Key-Addr info through bootloader
RTC: 165369 Change-Id: If15f6ccc7a7c3649b8352467ae10173a15f3f501 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44426 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@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/include/bootloader/bootloaderif.H')
-rw-r--r--src/include/bootloader/bootloaderif.H29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/include/bootloader/bootloaderif.H b/src/include/bootloader/bootloaderif.H
index 82410235d..38b155230 100644
--- a/src/include/bootloader/bootloaderif.H
+++ b/src/include/bootloader/bootloaderif.H
@@ -43,6 +43,9 @@ namespace Bootloader{
// Size of PNOR partition without ECC, page algined down, minus 4K header
#define MAX_HBB_SIZE (904 * KILOBYTE)
+// Max Pairs
+#define MAX_ROW_COUNT 8
+
// Location of running copy of HBB
#ifdef BOOTLOADER
#define HBB_HRMOR (getHRMOR() - ( 2*MEGABYTE))
@@ -70,6 +73,7 @@ enum BlToHbDataVersion
BLTOHB_MMIOBARS = 0x0000000900000003,
BLTOHB_SECURE_OVERRIDES = 0x0000000900000004,
BLTOHB_SIZE = 0x0000000900000005,
+ BLTOHB_KEYADDR = 0x0000000900000006,
};
enum
@@ -79,6 +83,27 @@ enum
INITIAL_BLTOHB_PADDED_SIZE = 256
};
+
+//-----------------------------------------------------------------------------------
+// Structure definitions
+//-----------------------------------------------------------------------------------
+
+
+// To keep all the Stashed Keys & Addrs together within this struct
+struct keyAddrPair_t
+{
+ keyAddrPair_t(uint8_t initVal) {
+ for(uint8_t i=0; i < MAX_ROW_COUNT; i++)
+ {
+ key[i] = initVal;
+ addr[i] = initVal;
+ }
+ }
+ uint8_t key[MAX_ROW_COUNT];
+ uint64_t addr[MAX_ROW_COUNT];
+} __attribute__((packed));
+
+
/** @struct BlToHbData
* @brief Shared data between bootloader and Hostboot.
*
@@ -98,7 +123,7 @@ struct BlToHbData
xscomBAR(MMIO_GROUP0_CHIP0_XSCOM_BASE_ADDR),
lpcBAR(MMIO_GROUP0_CHIP0_LPC_BASE_ADDR),
securityOverride(0), allowAttrOverrides(0),
- sizeOfStructure(0) {}
+ sizeOfStructure(0), keyAddrStashData(0) {}
// Simple way to tell if data is valid
uint64_t eyeCatch;
@@ -130,6 +155,8 @@ struct BlToHbData
bool allowAttrOverrides;
// Size of this structure (Use for backwards compatibility)
size_t sizeOfStructure;
+ //keyAddr stash data
+ keyAddrPair_t keyAddrStashData;
} __attribute__((packed));
/**
OpenPOWER on IntegriCloud