From b8f4e5009a347a0201fbe09b3701ceeb6edd9bf2 Mon Sep 17 00:00:00 2001 From: Raja Das Date: Thu, 25 Oct 2018 11:26:25 +0530 Subject: OPAL/MPIPL: Processor Dump Area Table interfaces This patch adds support to collect processor architected register data. SBE <--> Hostboot : ------------------- During first boot, hostboot reserves memory to copy architected register data by SBE and sends address to each SBE (see commit 9f49d11b). During MPIPL SBE collects architected register data and copies to reserved memory. Hostboot <--> Hypervisor : -------------------------- HDAT/SPIRAH has new ntuple (Processor Dump Area) to pass various architected register data. During IPL/runtime hypervisor reserves memory for architected register data and updates SPIRAH. During MPIPL (istep 14.8), hostboot converts SBE formated architected registers data to HDAT format and copies to hypervisor reserved memory. It uses NACA/SPIRAH pointers to get hypervisor reserved memory details. Hostboot has to update SPIRAH ntuple after loading new LID to memory. Hence this patch introdues below new attributes: - PDA_CAPTURED_THREAD_REG_ARRAY_ADDR - PDA_CAPTURED_THREAD_REG_ARRAY_SIZE - PDA_THREAD_REG_ENTRY_SIZE - PDA_THREAD_REG_STATE_ENTRY_FORMAT Change-Id: Idc7489e8cf6fc68fe80f028ba6deb97aa72486bf CC: Sampa Misra CC: Daniel M. Crowell Signed-off-by: Vasant Hegde Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/61627 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW Reviewed-by: Daniel M. Crowell --- src/include/usr/vmmconst.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/include/usr/vmmconst.h') diff --git a/src/include/usr/vmmconst.h b/src/include/usr/vmmconst.h index 3cf33e96f..ee280c6c2 100644 --- a/src/include/usr/vmmconst.h +++ b/src/include/usr/vmmconst.h @@ -177,7 +177,11 @@ enum BlockPriority #define VMM_ALL_HOMER_OCC_MEMORY_SIZE \ (VMM_OCC_COMMON_SIZE + VMM_HOMER_REGION_SIZE) -/** Memory for Architected state (max 4 procs - 256KB Each) **/ +/** + * Memory for Architected state (max 4 procs - 256KB Each) + * XXX MPIPL depends on memory reservation layout. Any change in the + * reservation order impact MPIPL (see copyArchitectedRegs()). + */ #define VMM_ARCH_REG_DATA_START_OFFSET VMM_OCC_COMMON_END_OFFSET #define VMM_ARCH_REG_DATA_PER_PROC_SIZE_IN_KB 256 #define VMM_ARCH_REG_DATA_PER_PROC_SIZE \ -- cgit v1.2.1