aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/misc_32.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/misc_32.S')
-rw-r--r--arch/powerpc/kernel/misc_32.S31
1 files changed, 28 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index 9d2c56621f1e..89aaaa6f3561 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -32,6 +32,31 @@
32 32
33 .text 33 .text
34 34
35#ifdef CONFIG_IRQSTACKS
36_GLOBAL(call_do_softirq)
37 mflr r0
38 stw r0,4(r1)
39 stwu r1,THREAD_SIZE-STACK_FRAME_OVERHEAD(r3)
40 mr r1,r3
41 bl __do_softirq
42 lwz r1,0(r1)
43 lwz r0,4(r1)
44 mtlr r0
45 blr
46
47_GLOBAL(call_handle_irq)
48 mflr r0
49 stw r0,4(r1)
50 mtctr r6
51 stwu r1,THREAD_SIZE-STACK_FRAME_OVERHEAD(r5)
52 mr r1,r5
53 bctrl
54 lwz r1,0(r1)
55 lwz r0,4(r1)
56 mtlr r0
57 blr
58#endif /* CONFIG_IRQSTACKS */
59
35/* 60/*
36 * This returns the high 64 bits of the product of two 64-bit numbers. 61 * This returns the high 64 bits of the product of two 64-bit numbers.
37 */ 62 */
@@ -152,7 +177,7 @@ _GLOBAL(low_choose_750fx_pll)
152 mtspr SPRN_HID1,r4 177 mtspr SPRN_HID1,r4
153 178
154 /* Store new HID1 image */ 179 /* Store new HID1 image */
155 rlwinm r6,r1,0,0,18 180 rlwinm r6,r1,0,0,(31-THREAD_SHIFT)
156 lwz r6,TI_CPU(r6) 181 lwz r6,TI_CPU(r6)
157 slwi r6,r6,2 182 slwi r6,r6,2
158 addis r6,r6,nap_save_hid1@ha 183 addis r6,r6,nap_save_hid1@ha
@@ -281,7 +306,7 @@ _GLOBAL(_tlbia)
281#endif /* CONFIG_SMP */ 306#endif /* CONFIG_SMP */
282#else /* !(CONFIG_40x || CONFIG_44x || CONFIG_FSL_BOOKE) */ 307#else /* !(CONFIG_40x || CONFIG_44x || CONFIG_FSL_BOOKE) */
283#if defined(CONFIG_SMP) 308#if defined(CONFIG_SMP)
284 rlwinm r8,r1,0,0,18 309 rlwinm r8,r1,0,0,(31-THREAD_SHIFT)
285 lwz r8,TI_CPU(r8) 310 lwz r8,TI_CPU(r8)
286 oris r8,r8,10 311 oris r8,r8,10
287 mfmsr r10 312 mfmsr r10
@@ -377,7 +402,7 @@ _GLOBAL(_tlbie)
377#endif /* CONFIG_SMP */ 402#endif /* CONFIG_SMP */
378#else /* !(CONFIG_40x || CONFIG_44x || CONFIG_FSL_BOOKE) */ 403#else /* !(CONFIG_40x || CONFIG_44x || CONFIG_FSL_BOOKE) */
379#if defined(CONFIG_SMP) 404#if defined(CONFIG_SMP)
380 rlwinm r8,r1,0,0,18 405 rlwinm r8,r1,0,0,(31-THREAD_SHIFT)
381 lwz r8,TI_CPU(r8) 406 lwz r8,TI_CPU(r8)
382 oris r8,r8,11 407 oris r8,r8,11
383 mfmsr r10 408 mfmsr r10