diff options
| author | Christopher M. Riedl <cmriedl@us.ibm.com> | 2017-08-02 20:12:04 -0500 |
|---|---|---|
| committer | hostboot <hostboot@us.ibm.com> | 2018-08-22 17:55:18 -0500 |
| commit | 1257a0854ca320878d59ab4fd0abb32a92bcbf0f (patch) | |
| tree | 75e739d5f1b624934a6a7d9fb289596cd6fdaf7d /import | |
| parent | 1d91a624cd08d1fc72333c6ab8d9f7b76d3d5740 (diff) | |
| download | talos-hcode-1257a0854ca320878d59ab4fd0abb32a92bcbf0f.tar.gz talos-hcode-1257a0854ca320878d59ab4fd0abb32a92bcbf0f.zip | |
IOTA
- implement iota panic ("dead") codes
- fix uih interrupt window condition leading to iota machine stack
overflow and/or phantom interrupt detection
- fix iota static machine stack init value
- refactor UIH for both IOTA and PK to pull the priority table from a
common source
- the entire INTERCME0 IRQ handler in PK is executed with EE=0, for IOTA
this can only be emulated by masking all higher priorities in the UIH
for that particular task/interrupt priority group
Change-Id: I4eafbe95870761bdf45ce17f9c6e0fee7a20f800
Original-Change-Id: I8357518b02922d3328aff4d80003ac3030fdd5e7
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44135
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian T. Vanderpool <vanderp@us.ibm.com>
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import')
| -rwxr-xr-x | import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c index 62efa1c9..c76e4aba 100755 --- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c +++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c @@ -975,7 +975,9 @@ p9_cme_stop_entry() (core << SHIFT32(15)) | (core << SHIFT32(17))); sync(); + wrteei(0); out32(CME_LCL_EIMR_OR, (BITS32(12, 6) | BITS32(20, 2))); + wrteei(1); #endif //=================== @@ -1189,7 +1191,9 @@ p9_cme_stop_entry() (core << SHIFT32(15)) | (core << SHIFT32(17))); sync(); + wrteei(0); out32(CME_LCL_EIMR_OR, (BITS32(12, 6) | BITS32(20, 2))); + wrteei(1); #endif //=================== |

