summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrem Shanker Jha <premjha2@in.ibm.com>2017-10-25 06:18:02 -0500
committerhostboot <hostboot@us.ibm.com>2018-08-22 17:55:28 -0500
commit2f1b55d0784af04fc62ed0105bcb4d5dc71531c0 (patch)
tree934d8eacc4d5b4085c4aa497f4a144d070314d89
parent3f6199622ee9929cb0669c7bfa4c62520ae565ee (diff)
downloadtalos-hcode-2f1b55d0784af04fc62ed0105bcb4d5dc71531c0.tar.gz
talos-hcode-2f1b55d0784af04fc62ed0105bcb4d5dc71531c0.zip
EQ SCOM Restore: Introduced version control in SCOM restore entry.
- introduces version control in header of SCOM restore entry - ensures backward compatibility - introduces flexibility to handle any number of SCOM restore entry. Key_Cronus_Test=NO_TEST CQ:HW423686 HW-Image-Prereq: Ie1611b009e95192a0dad3a47af14ef8a36dd454b Change-Id: I084ebcfda24ba2ef8501a94373aaf474036e8c12 Original-Change-Id: I781b0862dc983001574ba5f09a84ea0a2f7f781f Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48793 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
index 95f66d28..c6b62280 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
@@ -258,6 +258,13 @@ enum SGPE_STOP_VECTOR_INDEX
};
+enum SCOM_RESTORE_CONST
+{
+ SCOM_ENTRY_MARK = 0xDEADDEAD,
+ SCOM_REST_SIZE_PER_EQ = 0x300, //default size
+ SCOM_REST_SKIP_CODE = 0x60000000,
+};
+
typedef struct
{
// requested stop state calculated from core stop levels
@@ -326,13 +333,30 @@ typedef struct
PkSemaphore sem[2];
} SgpeStopRecord __attribute__ ((aligned (8)));
-typedef struct
+/// SCOM restore entry header description
+typedef struct __attribute__((__packed__)) ScomRestoreHeader
{
- uint32_t scomEntryHeader;
+ uint32_t entryType: 1; // 0 - 0xDEADDEAD, 1 - under version control
+ uint32_t entryVersion: 3; // version number
+ uint32_t reserved: 20; // reserved
+ uint32_t entryLimit: 8; // Max scom entries allowed
+} ScomRestoreHeader_t;
+
+typedef union __attribute__((__packed__)) ScomRestValdityMark
+{
+ ScomRestoreHeader_t scomRestHeader;
+ uint32_t scomRestHeaderValue;
+} ScomRestValdityMark_t;
+
+/// SCOM restore entry description
+typedef struct __attribute__((__packed__)) ScomEntry
+{
+ ScomRestValdityMark_t scomEntryHeader;
uint32_t scomEntryAddress;
uint64_t scomEntryData;
} ScomEntry_t;
+
#if HW386311_NDD1_PBIE_RW_PTR_STOP11_FIX
// Types for PB EQ asynch work-around
struct ring_save
OpenPOWER on IntegriCloud