Skip to content

Commit 39854a3

Browse files
Jenny Huynhcrgeddes
authored andcommitted
Add slbv, slbe extraction to p9_ram_core procedure
Change-Id: I6efe5d4f8fbb9f893a2371acd108d9d1d3002ecd Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82496 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Matt K Light <mklight@us.ibm.com> Reviewed-by: Thi N Tran <thi@us.ibm.com> Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82504 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com>
1 parent 69ad226 commit 39854a3

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

src/import/chips/p9/procedures/hwp/perv/p9_ram_core.C

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
8+
/* Contributors Listed Below - COPYRIGHT 2016,2019 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -49,6 +49,8 @@ const uint32_t RAM_REG_MSR = 2001;
4949
const uint32_t RAM_REG_CR = 2002;
5050
const uint32_t RAM_REG_FPSCR = 2003;
5151
const uint32_t RAM_REG_VSCR = 2004;
52+
const uint32_t RAM_REG_SLBE = 2005;
53+
const uint32_t RAM_REG_SLBV = 2006;
5254

5355
// opcode for ramming
5456
const uint32_t OPCODE_MTSPR_FROM_GPR0_TO_SPRD = 0x7C1543A6;
@@ -602,6 +604,16 @@ fapi2::ReturnCode RamCore::get_reg(const Enum_RegType i_type,
602604
opcodes[8] = {&l_backup_vr0_dw0, OPCODE_MFSPR_FROM_SPRD_TO_GPR0 + (1 << 21), NULL};
603605
opcodes[9] = {NULL, OPCODE_MTVSRDD_FROM_GPR1_0_TO_VSR32, NULL};
604606
}
607+
else if(i_reg_num == RAM_REG_SLBE)
608+
{
609+
opcodes[0] = {NULL, OPCODE_SLBMFEE, NULL};
610+
opcodes[1] = {NULL, OPCODE_MTSPR_FROM_GPR0_TO_SPRD, &o_buffer[0]};
611+
}
612+
else if(i_reg_num == RAM_REG_SLBV)
613+
{
614+
opcodes[0] = {NULL, OPCODE_SLBMFEV, NULL};
615+
opcodes[1] = {NULL, OPCODE_MTSPR_FROM_GPR0_TO_SPRD, &o_buffer[0]};
616+
}
605617
else
606618
{
607619
//1.create mfspr<gpr0, i_reg_num> opcode, ram into thread

src/import/chips/p9/procedures/hwp/perv/p9_spr_name_map.H

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2016,2018 */
8+
/* Contributors Listed Below - COPYRIGHT 2016,2019 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -234,7 +234,9 @@ typedef std::map<std::string, SPRMapEntry>::iterator SPR_MAP_IT;
234234
_op_(MSR ,2001, ECP.SD.T<??T>_MSR ,FLAG_READ_WRITE ,SPR_PER_PT ,64)\
235235
_op_(CR ,2002, N/A ,FLAG_READ_WRITE ,SPR_PER_PT ,32)\
236236
_op_(FPSCR ,2003, N/A ,FLAG_READ_WRITE ,SPR_PER_PT ,64)\
237-
_op_(VSCR ,2004, N/A ,FLAG_READ_WRITE ,SPR_PER_PT ,32)
237+
_op_(VSCR ,2004, N/A ,FLAG_READ_WRITE ,SPR_PER_PT ,32)\
238+
_op_(SLBE ,2005, N/A ,FLAG_READ_ONLY ,SPR_PER_PT ,64)\
239+
_op_(SLBV ,2006, N/A ,FLAG_READ_ONLY ,SPR_PER_PT ,64)
238240

239241
#define DO_SPR_MAP(in_name, in_number, in_spy_name, in_flag, in_share_type, in_bit_length)\
240242
SPRMapEntry entry##in_name; \

0 commit comments

Comments
 (0)