diff options
author | Yue Du <daviddu@us.ibm.com> | 2017-05-19 14:05:12 -0500 |
---|---|---|
committer | Joshua Hunsberger <jahunsbe@us.ibm.com> | 2017-10-23 17:53:44 -0500 |
commit | fb4b460ccbe3ed1c4c9e19982ffd0ca55a98bac8 (patch) | |
tree | 7327048127b658fb6eba2c282c2b1799e8d034c3 /import/chips/p9/common/pmlib/include | |
parent | 5225d641f4b91e9eeae9a548b74a5208d35bb16e (diff) | |
download | talos-hcode-fb4b460ccbe3ed1c4c9e19982ffd0ca55a98bac8.tar.gz talos-hcode-fb4b460ccbe3ed1c4c9e19982ffd0ca55a98bac8.zip |
STOP: Scrub _ANR and _OR opcode from regular cme getscom
Change-Id: Ie886e4d7f5b515e89cdef797e87deb07a822f058
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40765
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: BRIAN D. VICTOR <brian.d.victor1@ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'import/chips/p9/common/pmlib/include')
-rw-r--r-- | import/chips/p9/common/pmlib/include/cmehw_common.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/import/chips/p9/common/pmlib/include/cmehw_common.h b/import/chips/p9/common/pmlib/include/cmehw_common.h index 4b692087..b9587521 100644 --- a/import/chips/p9/common/pmlib/include/cmehw_common.h +++ b/import/chips/p9/common/pmlib/include/cmehw_common.h @@ -59,17 +59,32 @@ enum CME_BCEBAR_INDEXES #define CME_SCOM_ADDR(addr, core, op) (addr | (core << 22) | (op << 20)) +// cme getscom default with 'eq' op +#define CME_GETSCOM(addr, core, data) \ + PPE_LVD(CME_SCOM_ADDR(addr, core, CME_SCOM_EQ), data); + +// cme getscom with 'and' op +#define CME_GETSCOM_AND(addr, core, data) \ + PPE_LVD(CME_SCOM_ADDR(addr, core, CME_SCOM_AND), data); + +// cme getscom with 'or' op +#define CME_GETSCOM_OR(addr, core, data) \ + PPE_LVD(CME_SCOM_ADDR(addr, core, CME_SCOM_OR), data); + +// use this to override cme getscom with user specified op +#define CME_GETSCOM_OP(addr, core, scom_op, data) \ + PPE_LVD(CME_SCOM_ADDR(addr, core, scom_op), data); + + +// use this to override undesired queued cme putscom with nop #define CME_PUTSCOM_NOP(addr, core, data) \ putscom_norc(CME_SCOM_ADDR(addr, core, CME_SCOM_NOP), data); +// queued cme putscom if enabled; otherwise default with nop #if defined(USE_CME_QUEUED_SCOM) -#define CME_GETSCOM(addr, core, scom_op, data) \ - PPE_LVD(CME_SCOM_ADDR(addr, core, scom_op), data); #define CME_PUTSCOM(addr, core, data) \ putscom_norc(CME_SCOM_ADDR(addr, core, CME_SCOM_QUEUED), data); #else -#define CME_GETSCOM(addr, core, scom_op, data) \ - PPE_LVD(CME_SCOM_ADDR(addr, core, scom_op), data); #define CME_PUTSCOM(addr, core, data) \ putscom_norc(CME_SCOM_ADDR(addr, core, CME_SCOM_NOP), data); #endif |