File tree Expand file tree Collapse file tree 1 file changed +3
-14
lines changed Expand file tree Collapse file tree 1 file changed +3
-14
lines changed Original file line number Diff line number Diff line change 89
89
ori reg,reg,(ABS_ADDR(label))@l; \
90
90
addis reg,reg,(ABS_ADDR(label))@h
91
91
92
- /*
93
- * Branch to label using its 0xC000 address. This results in instruction
94
- * address suitable for MSR[IR]=0 or 1, which allows relocation to be turned
95
- * on using mtmsr rather than rfid.
96
- *
97
- * This could set the 0xc bits for !RELOCATABLE as an immediate, rather than
98
- * load KBASE for a slight optimisation.
99
- */
100
- #define BRANCH_TO_C000(reg, label) \
101
- __LOAD_FAR_HANDLER(reg, label); \
102
- mtctr reg; \
103
- bctr
104
-
105
92
/*
106
93
* Interrupt code generation macros
107
94
*/
@@ -974,7 +961,9 @@ TRAMP_REAL_BEGIN(system_reset_idle_wake)
974
961
/* We are waking up from idle, so may clobber any volatile register */
975
962
cmpwi cr1,r5,2
976
963
bltlr cr1 /* no state loss, return to idle caller with r3=SRR1 */
977
- BRANCH_TO_C000(r12, DOTSYM(idle_return_gpr_loss))
964
+ __LOAD_FAR_HANDLER(r12, DOTSYM(idle_return_gpr_loss))
965
+ mtctr r12
966
+ bctr
978
967
#endif
979
968
980
969
#ifdef CONFIG_PPC_PSERIES
You can’t perform that action at this time.
0 commit comments