[Skiboot] [PATCH] STOP API: API conditionally supports 255 SCOM restore entries for each quad.

Akshay Adiga akshay.adiga at linux.vnet.ibm.com
Wed Jul 18 18:30:43 AEST 2018


On Tue, Jul 17, 2018 at 04:15:52PM +1000, Stewart Smith wrote:
> Akshay Adiga <akshay.adiga at linux.vnet.ibm.com> writes:
> > From: Prem Shanker Jha <premjha2 at in.ibm.com>
> >
> > This is first of the series of commits intended for incorporating
> > new mechanisms for SCOM restore. STOP API looks for a specific
> > version in QPMR header of HOMER. If version is greater than 2, it allows
> >  - 255 SCOM Restore entries per quad
> >  - doesn't divide quad restore region in to L2, L3 and EQ sub-region
> > If version is less than or equal to 2, API provideis legacy
> > functionality.
> > Key_Cronus_Test=PM_REGRESS
> 
> This patch appears to break things, we get these new OPAL errors:
> 
> [   81.249303719,3] IMC: IMC event_mask stopapi ret = 12, scoms = 20010aa8 (core id = 0)
> [   81.249405452,3] IMC: SCOM entries are full
> [  106.228080041,3] IMC: IMC event_mask stopapi ret = 12, scoms = 20010aa8 (core id = 0)
> [  106.228183131,3] IMC: SCOM entries are full
> 
> Is this a bug with the STOP API changes or have we just been silently
> dropping this and having bugs in IMC?

We have not been failing silently, This patch made it fail.

The patch expected a newer hostboot/firmware and was not able to handle
current firmware level. The following patch fixes it. 

diff --git a/libpore/p9_stop_api.C b/libpore/p9_stop_api.C
index df1188c5..3b39b0cf 100644
--- a/libpore/p9_stop_api.C
+++ b/libpore/p9_stop_api.C
@@ -836,6 +836,10 @@ StopReturnCode_t p9_stop_save_scom( void* const
i_pImage,
                 *(uint32_t*)((uint8_t*)i_pImage + CPMR_HOMER_OFFSET +
CPMR_MAX_SCOM_REST_PER_CORE_BYTE);
             pScomEntry              =   CORE_ID_SCOM_START(i_pImage,
chipletId )
                                         cacheEntry              =
false;
+               if( !l_maxScomRestoreEntry )
+               {
+                  l_maxScomRestoreEntry   = 15;
+               }
         }
         else
         {

This hunk is provided by Prem specifically for OPAL so that we can merge
these changes, the stop-api library will merge it a later point of time.
> 
> -- 
> Stewart Smith
> OPAL Architect, IBM.



More information about the Skiboot mailing list