diff options
| author | Prem Shanker Jha <premjha2@in.ibm.com> | 2017-10-25 06:18:02 -0500 |
|---|---|---|
| committer | hostboot <hostboot@us.ibm.com> | 2018-08-22 17:55:28 -0500 |
| commit | 2f1b55d0784af04fc62ed0105bcb4d5dc71531c0 (patch) | |
| tree | 934d8eacc4d5b4085c4aa497f4a144d070314d89 | |
| parent | 3f6199622ee9929cb0669c7bfa4c62520ae565ee (diff) | |
| download | talos-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.h | 28 |
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 |

