diff options
author | Chris Cain <cjcain@us.ibm.com> | 2019-02-20 12:14:58 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-03-30 21:39:14 -0500 |
commit | ad388de1a208b56183ac361414e8e1ae9f5ceb1f (patch) | |
tree | a9359d2f36b3ff5090cd1a5361f9c7cf74fb1d77 /src/import/chips/p9/common/pmlib/include | |
parent | 9011abf477a1b97fa3dfebf7f8d4b9217d0e4cd8 (diff) | |
download | talos-hostboot-ad388de1a208b56183ac361414e8e1ae9f5ceb1f.tar.gz talos-hostboot-ad388de1a208b56183ac361414e8e1ae9f5ceb1f.zip |
Proposed structure change for OCC
Change-Id: I8d6afd28e96ed987333471a3f0317b4ff06a8671
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72201
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72210
Tested-by: Jenkins OP Build CI <op-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/import/chips/p9/common/pmlib/include')
-rw-r--r-- | src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h | 91 |
1 files changed, 35 insertions, 56 deletions
diff --git a/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h b/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h index 80354a70d..b8d4c030e 100644 --- a/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h +++ b/src/import/chips/p9/common/pmlib/include/pstate_pgpe_occ_api.h @@ -406,6 +406,22 @@ typedef struct } dw3; } pgpe_wof_values_t; +// ----------------------------------------------------------------------------- +// Start Error Log Table + +/// Maximum number of error log entries available +#define MAX_HCODE_ELOG_ENTRIES 4 + +/// Index into the array of error log entries +enum elog_entry_index +{ + ELOG_PGPE_CRITICAL = 0, + ELOG_PGPE_INFO = 1, + ELOG_SGPE_CRITICAL = 2, + ELOG_SGPE_INFO = 3, +}; + +/// Structure of an individual error log entry typedef struct { union @@ -418,59 +434,17 @@ typedef struct } words; struct { - uint64_t magic_word : 32; //ELTC - uint64_t total_log_slots : 8; - uint64_t reserved : 24; - } fields; - } dw0; - union - { - uint64_t value; - struct - { - uint32_t high_order; - uint32_t low_order; - } words; - struct - { uint64_t errlog_id : 8; uint64_t errlog_src : 8; uint64_t errlog_len : 16; - uint64_t pgpe_critical_log_address : 32; + uint64_t errlog_addr : 32; } fields; - } dw1; - union - { - uint64_t value; - struct - { - uint32_t high_order; - uint32_t low_order; - } words; - struct - { - uint64_t errlog_id : 8; - uint64_t errlog_src : 8; - uint64_t errlog_len : 16; - uint64_t pgpe_info_log_address : 32; - } fields; - } dw2; - union - { - uint64_t value; - struct - { - uint32_t high_order; - uint32_t low_order; - } words; - struct - { - uint64_t errlog_id : 8; - uint64_t errlog_src : 8; - uint64_t errlog_len : 16; - uint64_t sgpe_critical_log_address : 32; - } fields; - } dw3; + } dw0; +} hcode_elog_entry_t; + +/// Full Error Log Table +typedef struct hcode_error_table +{ union { uint64_t value; @@ -481,13 +455,18 @@ typedef struct } words; struct { - uint64_t errlog_id : 8; - uint64_t errlog_src : 8; - uint64_t errlog_len : 16; - uint64_t sgpe_info_log_address : 32; + uint64_t magic_word : 32; //ELTC + uint64_t total_log_slots : 8; + uint64_t reserved : 24; } fields; - } dw4; -} errlog_idx_t; + } dw0; + + /// Array of error log entries (index with enum elog_entry_index) + hcode_elog_entry_t elog[MAX_HCODE_ELOG_ENTRIES]; +} hcode_error_table_t; + +// End Error Log Table +// ----------------------------------------------------------------------------- typedef struct { @@ -516,7 +495,7 @@ typedef struct uint64_t reserved1; /// Hcode Error Log Index - errlog_idx_t errlog_idx; + hcode_error_table_t errlog_idx; //Reserved uint64_t reserved2[24]; |