summaryrefslogtreecommitdiffstats
path: root/src/boot
diff options
context:
space:
mode:
authorspashabk-in <shakeebbk@in.ibm.com>2018-04-16 01:51:22 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2018-06-01 23:26:33 -0400
commitc1da4a458459a9ab8a09421069d42f3154bd3792 (patch)
tree76ec6db75e66eec61ebc9818b8f037a3209438d0 /src/boot
parent13c1572a60e09a4e2e39ed951edaa246af30e37a (diff)
downloadtalos-sbe-c1da4a458459a9ab8a09421069d42f3154bd3792.tar.gz
talos-sbe-c1da4a458459a9ab8a09421069d42f3154bd3792.zip
Handle hreset of SBE
Figure out hreset from l1 loader, and if it is hreset avoid l2 loader and instead jump to kernel boot. In kernel boot - avoid contructor calls and any intialization RTC: 165477 Change-Id: Ia10c83dd7c15fb5115964cba315fbedfe10a636e Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57246 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: RAJA DAS <rajadas2@in.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/loader_l1.S24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/boot/loader_l1.S b/src/boot/loader_l1.S
index 92259e3c..593b586d 100644
--- a/src/boot/loader_l1.S
+++ b/src/boot/loader_l1.S
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -57,7 +57,14 @@ __l1Loader:
li r1, 0x00
stvd d0, 0(r5)
+ # If hreset of SBE, jump directly to kernel, as all the pibmem contents
+ # are already populated
+ _liw %r3, 0x50008
+ lvd d3,0(r3)
+ bb1wi r3,13,jump_to_kernel
+
bl _pibmemRepair
+
_liw %r3, SBE_LOADER_BASE_SECTION # Base Loader Section Location
_liw %r4, SBE_LOADER_BASE_ORIGIN # dest
_liw %r9, SBE_SEEPROM_BASE_ORIGIN
@@ -107,4 +114,19 @@ copy_loop_init:
blr
+jump_to_kernel:
+ # setup IVPR before jumping to kernel
+ _liw %r8, SBE_BASE_ORIGIN
+ li r9,0
+ _liw %r10, 0xC0000160
+ stvd d8,0(r10)
+ ############################################################
+ # SBE entry function is 4 byte number in image header
+ ############################################################
+
+ _liw %r3, SBE_SEEPROM_BASE_ORIGIN + SBE_KERNEL_ENTRY_HEADER_OFFSET
+ lwz r6, 0(r3)
+ mtlr r6
+ blr
+
#include "pibmem_repair.S"
OpenPOWER on IntegriCloud