diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2017-11-29 15:36:59 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-12-03 22:10:55 -0600 |
commit | b41553c2240240fee094830b0ef80699791ca47d (patch) | |
tree | d491ae7ca1ff455678e7ba2797ead513bd6855df /asm | |
parent | 9c565ee6bca4b665d9d1120bfff5e88ee80615bc (diff) | |
download | skiboot-b41553c2240240fee094830b0ef80699791ca47d.zip skiboot-b41553c2240240fee094830b0ef80699791ca47d.tar.gz skiboot-b41553c2240240fee094830b0ef80699791ca47d.tar.bz2 |
asm/head: move opal entry token check into C
Move opal_check_token from asm to C.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'asm')
-rw-r--r-- | asm/head.S | 13 |
1 files changed, 2 insertions, 11 deletions
@@ -964,7 +964,7 @@ opal_entry: LOAD_ADDR_FROM_TOC(%r12, reboot_in_progress) lbz %r12,0(%r12) cmpwi %r12,0 - bne 3f + bne 2f /* Check entry */ mr %r3,%r1 @@ -986,13 +986,9 @@ opal_entry: * function pointer. Also check the token. * For ELFv2 ABI, the local entry point is used so no need for r12. */ - cmpldi %r0,OPAL_LAST - bgt- 2f sldi %r0,%r0,3 LOAD_ADDR_FROM_TOC(%r12, opal_branch_table) ldx %r0,%r12,%r0 - cmpldi %r0,0 - beq- 2f mtctr %r0 /* Jump ! */ @@ -1007,12 +1003,7 @@ opal_entry: ld %r1,STACK_GPR1(%r1) blr -2: /* Bad token */ - ld %r3,STACK_GPR0(%r1) - bl opal_bad_token - b 1b - -3: /* Reboot in progress, reject all calls */ +2: /* Reboot in progress, reject all calls */ li %r3,OPAL_BUSY b 1b |