aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Carvalho <cclaudio@linux.vnet.ibm.com>2016-09-28 05:01:04 -0300
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-10-05 14:42:26 +1100
commitbb9b93c512b55bb7de439623880c11439d2d0b35 (patch)
tree07430d3019c7b495fd9f5babcf6aed733fd64fda
parent26a1d0c487d6b61afb0a338189d98c91bb481ee9 (diff)
downloadskiboot-bb9b93c512b55bb7de439623880c11439d2d0b35.zip
skiboot-bb9b93c512b55bb7de439623880c11439d2d0b35.tar.gz
skiboot-bb9b93c512b55bb7de439623880c11439d2d0b35.tar.bz2
asm: add Hostboot rom_entry.S
This adds the Hostboot rom_entry.S used to jump into the verification code copied to RAM. https://github.com/open-power/hostboot/blob/master/src/usr/secureboot/base/rom_entry.S Signed-off-by: Claudio Carvalho <cclaudio@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--asm/rom_entry.S51
1 files changed, 51 insertions, 0 deletions
diff --git a/asm/rom_entry.S b/asm/rom_entry.S
new file mode 100644
index 0000000..71f7462
--- /dev/null
+++ b/asm/rom_entry.S
@@ -0,0 +1,51 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/secureboot/base/rom_entry.S $
+#
+# OpenPOWER HostBoot Project
+#
+# COPYRIGHT International Business Machines Corp. 2013,2014
+#
+# 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
+.include "kernel/ppcconsts.S"
+
+.section .text
+
+.global call_rom_verify
+.global call_rom_SHA512
+
+call_rom_verify:
+call_rom_SHA512:
+
+call_rom_entry:
+ std r2, 40(r1)
+ mflr r0
+ std r0, 16(r1)
+ stdu r1, -128(r1)
+ li r2, 0
+ mtctr r3
+ mr r3, r4
+ mr r4, r5
+ mr r5, r6
+ mr r6, r7
+ mr r7, r8
+ bctrl
+ addi r1, r1, 128
+ ld r2, 40(r1)
+ ld r0, 16(r1)
+ mtlr r0
+ blr
+