diff options
3 files changed, 25 insertions, 0 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h b/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h index 6d76f329..63ad2414 100644 --- a/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h +++ b/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h @@ -57,6 +57,16 @@ // being enabled on all other dd levels unless this override #define DISABLE_CME_DUAL_CAST 0 +// NDD23 Secure Memory Support: RAM URMOR +#if NIMBUS_DD_LEVEL >= 23 || CUMULUS_DD_LEVEL >= 13 + + #define SMF_SUPPORT_ENABLE 1 + +#else + + #define SMF_SUPPORT_ENABLE 0 + +#endif #if NIMBUS_DD_LEVEL == 20 || DISABLE_CME_DUAL_CAST == 1 // NDD2: no catchup due to dual cast bug diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h index dbd9efdf..b6ad553b 100644 --- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h +++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop.h @@ -108,6 +108,7 @@ #define IMA_EVENT_MASK 0x20010AA8 #define CORE_THREAD_STATE 0x20010AB3 #define HRMOR 0x20010AB9 +#define URMOR 0x20010ABA #define C_SYNC_CONFIG 0x20030000 #define C_OPCG_ALIGN 0x20030001 diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c index 47fda5c0..f3aef781 100644 --- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c +++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c @@ -1140,6 +1140,20 @@ p9_cme_stop_exit() // Nimbus DD2+ #else +#if SMF_SUPPORT_ENABLE + +#if EPM_P9_TUNING + + CME_PUTSCOM(URMOR, core, 0xA200000); + +#else + + PK_TRACE_INF("Core Wakes Up, Write URMOR with HOMER address"); + CME_PUTSCOM(URMOR, core, scom_data.value); + +#endif + +#endif #if EPM_P9_TUNING |

