summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrem Shanker Jha <premjha2@in.ibm.com>2018-04-17 11:24:24 -0500
committerhostboot <hostboot@us.ibm.com>2018-11-13 16:46:40 -0600
commit2f1739a53581354835b8caf5b4a8f3e80f016c91 (patch)
tree09aba513a39095e330e9547362218e1b1f1034d9
parent03fb4ce4857562b2fb739ddcb7fd9a3fba464498 (diff)
downloadtalos-hcode-2f1739a53581354835b8caf5b4a8f3e80f016c91.tar.gz
talos-hcode-2f1739a53581354835b8caf5b4a8f3e80f016c91.zip
Self Restore: Integrated support for build of self-restore code in EKB.
Self restore binary used to get built by a shell script standalone. It used to get checked in to EKB. Hardware image build infrastructure used to just pick that binary and insert it into the hardware image. This commit augments the EKB build flow by incorporating a capability to build self restore binary like any other executable generated during EKB build. Syntax to build binary: ekb build p9_core_restore_routines Key_Cronus_Test=PM_REGRESS Change-Id: Id8f2e50d4eddb3fec9510ecf4ed1058d782167e2 Original-Change-Id: Ifdcf31df6ceded564222f6962d94a3459072a3d3 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57345 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Kahn C. Evans <kahnevan@us.ibm.com> Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
-rwxr-xr-ximport/chips/p9/procedures/utils/stopreg/self.sh53
-rw-r--r--import/chips/p9/procedures/utils/stopreg/selfLink13
-rw-r--r--import/chips/p9/procedures/utils/stopreg/selfRest.list146
-rw-r--r--import/chips/p9/procedures/utils/stopreg/selfRest.map28
4 files changed, 0 insertions, 240 deletions
diff --git a/import/chips/p9/procedures/utils/stopreg/self.sh b/import/chips/p9/procedures/utils/stopreg/self.sh
deleted file mode 100755
index c4ba7089..00000000
--- a/import/chips/p9/procedures/utils/stopreg/self.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: import/chips/p9/procedures/utils/stopreg/self.sh $
-#
-# OpenPOWER HCODE Project
-#
-# COPYRIGHT 2016,2018
-# [+] International Business Machines Corp.
-#
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# permissions and limitations under the License.
-#
-# IBM_PROLOG_END_TAG
-#first first. Remove object file and executable file.
-
-#!/bin/bash
-SELF_REST_PATH=$PROJECT_ROOT/chips/p9/procedures/utils/stopreg
-SRC=$SELF_REST_PATH/p9_core_restore_routines.S
-OBJ=$SELF_REST_PATH/p9_core_restore_routines.o
-IMG=$SELF_REST_PATH/selfRest
-LINK=$SELF_REST_PATH/link.c
-OBJDUMP="/opt/mcp/shared/powerpc64-gcc-20150516/wrappers/powerpc64-unknown-linux-gnu-objdump "
-#set compiler path
-ASMFILE="/opt/mcp/shared/powerpc64-gcc-20150516/wrappers/powerpc64-unknown-linux-gnu-gcc "
-ASFLAGS="-save-temps -std=c99 -c -O3 -nostdlib -mcpu=power7 -mbig-endian -ffreestanding -mabi=elfv1"
-#linker script after C preprocessing
-LINK_SCRIPT=$SELF_REST_PATH/selfLink
-if [ -f $IMG ]
-then
- rm -f $IMG_MAP
- rm -f $DIS
- rm -f $IMG.bin
-fi
-#set linker path
-LOAD=/opt/mcp/shared/powerpc64-gcc-20150516/wrappers/powerpc64-unknown-linux-gnu-ld
-#passing linker through pre-processor
-$ASMFILE -E -c -P $LINK -o $LINK_SCRIPT
-#compiling Source file
-$ASMFILE $SRC $ASFLAGS -o $OBJ
-#linking
-$LOAD -T$LINK_SCRIPT -Map $IMG.map -Bstatic -o $IMG.bin $OBJ
-$OBJDUMP -d $OBJ >$IMG.list
diff --git a/import/chips/p9/procedures/utils/stopreg/selfLink b/import/chips/p9/procedures/utils/stopreg/selfLink
deleted file mode 100644
index 6334172b..00000000
--- a/import/chips/p9/procedures/utils/stopreg/selfLink
+++ /dev/null
@@ -1,13 +0,0 @@
-OUTPUT_FORMAT(binary)
-MEMORY
-{
- selfRestoreRegion (rx) : ORIGIN = 0x00, LENGTH = 0x2100
- }
- SECTIONS
-{
- . = 0;
- . = ALIGN(128);
- _SELF_RESTORE_START = .;
-.selfRestore _SELF_RESTORE_START :
- { *(.selfRestore) } > selfRestoreRegion
-}
diff --git a/import/chips/p9/procedures/utils/stopreg/selfRest.list b/import/chips/p9/procedures/utils/stopreg/selfRest.list
deleted file mode 100644
index 56af59a8..00000000
--- a/import/chips/p9/procedures/utils/stopreg/selfRest.list
+++ /dev/null
@@ -1,146 +0,0 @@
-
-/gsa/ausgsa/projects/i/indiateam01/premjha2/ekb/chips/p9/procedures/utils/stopreg/p9_core_restore_routines.o: file format elf64-powerpc
-
-
-Disassembly of section .selfRestore:
-
-0000000000000000 <_start>:
- ...
-
-0000000000000100 <_sreset_hndlr>:
- 100: 7e 99 4a a6 mfspr r20,313
- 104: 39 14 20 00 addi r8,r20,8192
- 108: 7d 1a 03 a6 mtsrr0 r8
- 10c: 7e a0 00 a6 mfmsr r21
- 110: 62 b5 10 00 ori r21,r21,4096
- 114: 7e bb 03 a6 mtsrr1 r21
- 118: 4c 00 00 24 rfid
- ...
- 200: 00 00 02 00 attn
- ...
- 300: 00 00 02 00 attn
- ...
- 380: 00 00 02 00 attn
- ...
- 400: 00 00 02 00 attn
- ...
- 480: 00 00 02 00 attn
- ...
- 500: 00 00 02 00 attn
- ...
- 600: 00 00 02 00 attn
- ...
- 700: 00 00 02 00 attn
- ...
- 800: 00 00 02 00 attn
- ...
- 900: 00 00 02 00 attn
- ...
- 980: 00 00 02 00 attn
- ...
- a00: 00 00 02 00 attn
- ...
- b00: 00 00 02 00 attn
- ...
- c00: 00 00 02 00 attn
- ...
- d00: 00 00 02 00 attn
- ...
- e00: 00 00 02 00 attn
- ...
- e20: 00 00 02 00 attn
- ...
- e40: 00 00 02 00 attn
- ...
- e60: 00 00 02 00 attn
- ...
- e80: 00 00 02 00 attn
- ...
- ea0: 00 00 02 00 attn
- ...
- ec0: 00 00 02 00 attn
- ...
- ee0: 00 00 02 00 attn
- ...
- f00: 00 00 02 00 attn
- ...
- f20: 00 00 02 00 attn
- ...
- f40: 00 00 02 00 attn
- ...
- f60: 00 00 02 00 attn
- ...
- f80: 00 00 02 00 attn
- ...
- 1200: 7d 59 4b a6 mtspr 313,r10
- 1204: 7c 00 03 e4 slbia
- 1208: 4c 00 02 e4 .long 0x4c0002e4
- 120c: 00 00 02 00 attn
- ...
- 1280: a6 4b 59 7d lhzu r18,22909(r11)
- 1284: e4 03 00 7c lfdp f0,124(r3)
- 1288: e4 02 00 4c lfdp f0,76(r2)
- 128c: 00 02 00 00 .long 0x20000
- ...
-
-0000000000002000 <thread_launcher_start>:
- 2000: 7c 5f fa a6 mfspr r2,1023
- 2004: 39 00 01 e0 li r8,480
- 2008: 7d 14 43 a6 mtspr 276,r8
- 200c: 7c 95 42 a6 mfspr r4,277
- 2010: 78 84 07 e1 clrldi. r4,r4,63
- 2014: 41 82 00 1c beq 2030 <core_is_not_fused>
-
-0000000000002018 <core_is_fused>:
- 2018: 78 45 ef e2 rldicl r5,r2,61,63
- 201c: 78 a5 0f a4 rldicr r5,r5,1,62
- 2020: 78 48 07 e0 clrldi r8,r2,63
- 2024: 7c a5 42 14 add r5,r5,r8
- 2028: 78 46 ff a2 rldicl r6,r2,63,62
- 202c: 48 00 00 0c b 2038 <jump_thread_restore>
-
-0000000000002030 <core_is_not_fused>:
- 2030: 78 45 f7 a2 rldicl r5,r2,62,62
- 2034: 78 46 07 a0 clrldi r6,r2,62
-
-0000000000002038 <jump_thread_restore>:
- 2038: 78 48 e7 62 rldicl r8,r2,60,61
- 203c: 79 08 17 64 rldicr r8,r8,2,61
- 2040: 7c a5 42 14 add r5,r5,r8
- 2044: 7c 79 4a a6 mfspr r3,313
- 2048: 78 a7 6c a4 rldicr r7,r5,13,50
- 204c: 7c e7 1a 14 add r7,r7,r3
- 2050: 38 e7 21 00 addi r7,r7,8448
- 2054: 78 c8 5d 24 rldicr r8,r6,11,52
- 2058: 7d 07 42 14 add r8,r7,r8
- 205c: 39 88 04 00 addi r12,r8,1024
- 2060: 7d 08 03 a6 mtlr r8
- 2064: 4e 80 00 21 blrl
-
-0000000000002068 <thread_restore_return>:
- 2068: 2c 06 00 00 cmpwi r6,0
- 206c: 40 82 00 1c bne 2088 <core_reg_restore_return>
-
-0000000000002070 <wait_until_single_thread>:
- 2070: 7d 15 42 a6 mfspr r8,277
- 2074: 79 08 e7 22 rldicl r8,r8,60,60
- 2078: 2c 08 00 07 cmpwi r8,7
- 207c: 40 82 ff f4 bne 2070 <wait_until_single_thread>
- 2080: 7d 88 03 a6 mtlr r12
- 2084: 4e 80 00 21 blrl
-
-0000000000002088 <core_reg_restore_return>:
- 2088: 7e bb 03 a6 mtsrr1 r21
- 208c: 39 14 12 00 addi r8,r20,4608
- 2090: 7a b5 07 e1 clrldi. r21,r21,63
- 2094: 41 82 00 08 beq 209c <skip_le1_offset>
- 2098: 39 14 12 80 addi r8,r20,4736
-
-000000000000209c <skip_le1_offset>:
- 209c: 2c 06 00 00 cmpwi r6,0
- 20a0: 41 82 00 08 beq 20a8 <update_srr0>
- 20a4: 39 08 00 04 addi r8,r8,4
-
-00000000000020a8 <update_srr0>:
- 20a8: 7d 1a 03 a6 mtsrr0 r8
- 20ac: 4c 00 00 24 rfid
diff --git a/import/chips/p9/procedures/utils/stopreg/selfRest.map b/import/chips/p9/procedures/utils/stopreg/selfRest.map
deleted file mode 100644
index 21a7f70b..00000000
--- a/import/chips/p9/procedures/utils/stopreg/selfRest.map
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Memory Configuration
-
-Name Origin Length Attributes
-selfRestoreRegion 0x0000000000000000 0x0000000000002100 xr
-*default* 0x0000000000000000 0xffffffffffffffff
-
-Linker script and memory map
-
- 0x0000000000000000 . = 0x0
- 0x0000000000000000 . = ALIGN (0x80)
- 0x0000000000000000 _SELF_RESTORE_START = .
-
-.selfRestore 0x0000000000000000 0x20b0
- *(.selfRestore)
- .selfRestore 0x0000000000000000 0x20b0 /gsa/ausgsa/projects/i/indiateam01/premjha2/ekb/chips/p9/procedures/utils/stopreg/p9_core_restore_routines.o
- 0x0000000000000000 _start
-LOAD /gsa/ausgsa/projects/i/indiateam01/premjha2/ekb/chips/p9/procedures/utils/stopreg/p9_core_restore_routines.o
-OUTPUT(/gsa/ausgsa/projects/i/indiateam01/premjha2/ekb/chips/p9/procedures/utils/stopreg/selfRest.bin binary)
-
-.text 0x00000000000020b0 0x0
- .text 0x00000000000020b0 0x0 /gsa/ausgsa/projects/i/indiateam01/premjha2/ekb/chips/p9/procedures/utils/stopreg/p9_core_restore_routines.o
-
-.data 0x00000000000020b0 0x0
- .data 0x00000000000020b0 0x0 /gsa/ausgsa/projects/i/indiateam01/premjha2/ekb/chips/p9/procedures/utils/stopreg/p9_core_restore_routines.o
-
-.bss 0x00000000000020b0 0x0
- .bss 0x00000000000020b0 0x0 /gsa/ausgsa/projects/i/indiateam01/premjha2/ekb/chips/p9/procedures/utils/stopreg/p9_core_restore_routines.o
OpenPOWER on IntegriCloud