diff options
author | mbroyles <mbroyles@us.ibm.com> | 2017-11-01 08:44:03 -0500 |
---|---|---|
committer | Christopher J. Cain <cjcain@us.ibm.com> | 2017-11-03 15:16:58 -0400 |
commit | bb703e413c363255a578ffdb35e954a5b71de4c9 (patch) | |
tree | 7c804d5d9b1b6853b832526cefdfa391e1bf3e48 /src/occ_405/proc/proc_data.h | |
parent | d90b1dcc95523b0ed98ca4fdf4cc6bc84ba40102 (diff) | |
download | talos-occ-bb703e413c363255a578ffdb35e954a5b71de4c9.tar.gz talos-occ-bb703e413c363255a578ffdb35e954a5b71de4c9.zip |
Prevent logging 2A11 when quad is offline
Change-Id: Ic8cda9a6b8b311057ba2c4f0d9dc7e228e700c27
CQ: SW404469
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49093
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Diffstat (limited to 'src/occ_405/proc/proc_data.h')
-rwxr-xr-x | src/occ_405/proc/proc_data.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/occ_405/proc/proc_data.h b/src/occ_405/proc/proc_data.h index ebef6d0..f8b7870 100755 --- a/src/occ_405/proc/proc_data.h +++ b/src/occ_405/proc/proc_data.h @@ -50,9 +50,10 @@ #define NUM_CORE_DATA_DOUBLE_BUF 2 #define NUM_CORE_DATA_EMPTY_BUF 1 -#define LO_CORES_MASK 0xfff00000 -#define HI_CORES_MASK 0x000fff00 -#define HW_CORES_MASK 0xffffff00 +#define LO_CORES_MASK 0xfff00000 +#define HI_CORES_MASK 0x000fff00 +#define HW_CORES_MASK 0xffffff00 +#define QUAD0_CORES_PRESENT_MASK 0xf0000000 enum eOccProcCores { @@ -103,6 +104,9 @@ extern uint32_t G_present_cores; //AMEC needs to know when data for a core has been collected. extern uint32_t G_updated_core_mask; +//AMEC needs to know when a core is offline +extern uint32_t G_core_offline_mask; + // External reference to empath error mask extern uint32_t G_empath_error_core_mask; @@ -120,6 +124,17 @@ extern bool G_nest_dts_data_valid; #define CORE_EMPATH_ERROR(occ_core_id) \ ((CORE0_PRESENT_MASK >> occ_core_id) & G_empath_error_core_mask) +// Evaluates to true if the specified core is offline +#define CORE_OFFLINE(occ_core_id) \ + ((CORE0_PRESENT_MASK >> occ_core_id) & G_core_offline_mask) + +#define CLEAR_CORE_OFFLINE(occ_core_id) \ + G_core_offline_mask &= ~(CORE0_PRESENT_MASK >> occ_core_id) + +// Evaluates to true if the specified quad has at least 1 active present core +#define QUAD_ONLINE(occ_quad_id) \ + ( (QUAD0_CORES_PRESENT_MASK >> (occ_quad_id*4)) & ((~G_core_offline_mask) & G_present_cores) ) + //Collect bulk core data for all cores in specified range void task_core_data( task_t * i_task ); |