31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
|
diff -up skiboot-6.0.4/external/opal-prd/thunk.S.me skiboot-6.0.4/external/opal-prd/thunk.S
|
||
|
--- skiboot-6.0.4/external/opal-prd/thunk.S.me 2018-07-30 15:44:08.319427493 +0200
|
||
|
+++ skiboot-6.0.4/external/opal-prd/thunk.S 2018-07-30 15:44:54.541609924 +0200
|
||
|
@@ -118,7 +118,7 @@ call_le:
|
||
|
std %r0,(32+16)(%r1)
|
||
|
|
||
|
/* Branch to original function */
|
||
|
- mtlr %r11
|
||
|
+ mtlr %r12
|
||
|
blrl
|
||
|
|
||
|
/* Restore stack and LR */
|
||
|
@@ -136,7 +136,7 @@ call_le:
|
||
|
/* Callback from HBRT. There is one entry point per function.
|
||
|
*
|
||
|
* We assume the proper r2 is already set via the OPD, so we grab our
|
||
|
- * target function pointer in r11 and jump to call_le
|
||
|
+ * target function pointer in r12 and jump to call_le
|
||
|
*/
|
||
|
#define CALLBACK_THUNK(name) \
|
||
|
.pushsection ".text","ax" ;\
|
||
|
@@ -145,7 +145,7 @@ name##_thunk: ;\
|
||
|
.long 0x00000038 | le_si16(__NR_switch_endian) ;\
|
||
|
/* byteswapped li %r0,__NR_switch_endian */ ;\
|
||
|
.long 0x02000044 /* byteswapped sc */ ;\
|
||
|
- ld %r11,name@got(%r2) ;\
|
||
|
+ ld %r12,name@got(%r2) ;\
|
||
|
b call_le ;\
|
||
|
.popsection ;\
|
||
|
.pushsection ".data.thunk_opd","aw" ;\
|