File tree Expand file tree Collapse file tree 2 files changed +15
-6
lines changed Expand file tree Collapse file tree 2 files changed +15
-6
lines changed Original file line number Diff line number Diff line change @@ -95,7 +95,8 @@ __asm__ __volatile__( \
95
95
".section .fixup,#alloc,#execinstr\n\t" \
96
96
".align 4\n" \
97
97
"3:\n\t" \
98
- "b 2b\n\t" \
98
+ "sethi %%hi(2b), %0\n\t" \
99
+ "jmpl %0 + %%lo(2b), %%g0\n\t" \
99
100
" mov %3, %0\n\t" \
100
101
".previous\n\n\t" \
101
102
".section __ex_table,#alloc\n\t" \
@@ -163,8 +164,9 @@ __asm__ __volatile__( \
163
164
".section .fixup,#alloc,#execinstr\n\t" \
164
165
".align 4\n" \
165
166
"3:\n\t" \
167
+ "sethi %%hi(2b), %0\n\t" \
166
168
"clr %1\n\t" \
167
- "b 2b \n\t" \
169
+ "jmpl %0 + %%lo(2b), %%g0 \n\t" \
168
170
" mov %3, %0\n\n\t" \
169
171
".previous\n\t" \
170
172
".section __ex_table,#alloc\n\t" \
Original file line number Diff line number Diff line change @@ -118,9 +118,12 @@ current_pc:
118
118
mov %o7, %g3
119
119
120
120
tst %o0
121
- be no_sun4u_here
121
+ bne 2f
122
122
mov %g4, %o7 /* Previous %o7. */
123
-
123
+ sethi %hi(no_sun4u_here), %l1
124
+ jmpl %l1 + %lo(no_sun4u_here), %g0
125
+ nop
126
+ 2:
124
127
mov %o0, %l0 ! stash away romvec
125
128
mov %o0, %g7 ! put it here too
126
129
mov %o1, %l1 ! stash away debug_vec too
@@ -195,7 +198,8 @@ halt_notsup:
195
198
sub %o0, %l6, %o0
196
199
call %o1
197
200
nop
198
- ba halt_me
201
+ sethi %hi(halt_me), %o0
202
+ jmpl %o0 + %lo(halt_me), %g0
199
203
nop
200
204
201
205
not_a_sun4:
@@ -431,8 +435,11 @@ leon_init:
431
435
#ifdef CONFIG_SMP
432
436
ldub [%g2 + %lo(boot_cpu_id)], %g1
433
437
cmp %g1, 0xff ! unset means first CPU
434
- bne leon_smp_cpu_startup ! continue only with master
438
+ be 1f
439
+ sethi %hi(leon_smp_cpu_startup), %g1
440
+ jmpl %g1 + %lo(leon_smp_cpu_startup), %g0
435
441
nop
442
+ 1:
436
443
#endif
437
444
/* Get CPU-ID from most significant 4-bit of ASR17 */
438
445
rd %asr17, %g1
You can’t perform that action at this time.
0 commit comments