Re: [Skiboot] [PATCH v8 1/3] Self Save: Introducing Support for SPR Self Save

From: Vaidyanathan Srinivasan
Date: Wed Apr 29 2020 - 10:03:05 EST


* Pratik Rajesh Sampat <psampat@xxxxxxxxxxxxx> [2020-04-23 16:24:36]:

> From: Prem Shanker Jha <premjha2@xxxxxxxxxx>
>
> The commit is a merger of commits that makes the following changes:
> 1. Commit fixes some issues with code found during integration test
> - replacement of addi with xor instruction during self save API.
> - fixing instruction generation for MFMSR during self save
> - data struct updates in STOP API
> - error RC updates for hcode image build
> - HOMER parser updates.
> - removed self save support for URMOR and HRMOR
> - code changes for compilation with OPAL
> - populating CME Image header with unsecure HOMER address.
>
> Key_Cronus_Test=PM_REGRESS
>
> Change-Id: I7cedcc466267c4245255d8d75c01ed695e316720
> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66580
> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@xxxxxxxxxx>
> Tested-by: HWSV CI <hwsv-ci+hostboot@xxxxxxxxxx>
> Tested-by: PPE CI <ppe-ci+hostboot@xxxxxxxxxx>
> Tested-by: Jenkins Server <pfd-jenkins+hostboot@xxxxxxxxxx>
> Tested-by: Cronus HW CI <cronushw-ci+hostboot@xxxxxxxxxx>
> Tested-by: Hostboot CI <hostboot-ci+hostboot@xxxxxxxxxx>
> Reviewed-by: Gregory S. Still <stillgs@xxxxxxxxxx>
> Reviewed-by: RAHUL BATRA <rbatra@xxxxxxxxxx>
> Reviewed-by: Jennifer A. Stofer <stofer@xxxxxxxxxx>
> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66587
> Reviewed-by: Christian R. Geddes <crgeddes@xxxxxxxxxx>
> Signed-off-by: Prem Shanker Jha <premjha2@xxxxxxxxxx>
> Signed-off-by: Akshay Adiga <akshay.adiga@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Pratik Rajesh Sampat <psampat@xxxxxxxxxxxxx>

Reviewed-by: Vaidyanathan Srinivasan <svaidy@xxxxxxxxxxxxx>

> 2. The commit also incorporates changes that make STOP API project
> agnostic changes include defining wrapper functions which call legacy
> API. It also adds duplicate enum members which start with prefix PROC
> instead of P9.
>
> Key_Cronus_Test=PM_REGRESS
>
> Change-Id: If87970f3e8cf9b507f33eb1be249e03eb3836a5e
> RTC: 201128
> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71307
> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@xxxxxxxxxx>
> Tested-by: Jenkins Server <pfd-jenkins+hostboot@xxxxxxxxxx>
> Tested-by: Hostboot CI <hostboot-ci+hostboot@xxxxxxxxxx>
> Tested-by: Cronus HW CI <cronushw-ci+hostboot@xxxxxxxxxx>
> Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@xxxxxxxxxx>
> Reviewed-by: Gregory S. Still <stillgs@xxxxxxxxxx>
> Reviewed-by: Jennifer A Stofer <stofer@xxxxxxxxxx>
> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71314
> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@xxxxxxxxxx>
> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@xxxxxxxxxx>
> Reviewed-by: Daniel M. Crowell <dcrowell@xxxxxxxxxx>
> Signed-off-by: Prem Shanker Jha <premjha2@xxxxxxxxxx>
> Signed-off-by: Pratik Rajesh Sampat <psampat@xxxxxxxxxxxxx>
> ---
> include/p9_stop_api.H | 79 +-
> libpore/p9_cpu_reg_restore_instruction.H | 4 +
> libpore/p9_stop_api.C | 954 +++++++++++++----------
> libpore/p9_stop_api.H | 115 ++-
> libpore/p9_stop_data_struct.H | 4 +-
> libpore/p9_stop_util.H | 7 +-
> 6 files changed, 721 insertions(+), 442 deletions(-)


These code changes are from hcode component copied as is into OPAL
project for integration and use of stop-api.

Hcode component in cooperation with hostboot would be loaded in memory
before OPAL is loaded. This code will allow runtime changes and usage
of various power management save restore functions.

This patch specifically enables self-save feature by the microcode.

--Vaidy