diff options
| author | spashabk-in <shakeebbk@in.ibm.com> | 2018-04-16 01:51:22 -0500 |
|---|---|---|
| committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2018-06-01 23:26:33 -0400 |
| commit | c1da4a458459a9ab8a09421069d42f3154bd3792 (patch) | |
| tree | 76ec6db75e66eec61ebc9818b8f037a3209438d0 /src/boot | |
| parent | 13c1572a60e09a4e2e39ed951edaa246af30e37a (diff) | |
| download | talos-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.S | 24 |
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" |

