diff options
author | Greg Ungerer <gerg@uclinux.org> | 2011-10-14 01:41:56 -0400 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2011-12-29 19:20:24 -0500 |
commit | bbc6f1ba509cf9cda42ce63bbd40afe577ab028e (patch) | |
tree | 281010e3d781b995e429efaacd7c99d0947c2bdf /arch/m68k/kernel/entry_no.S | |
parent | 88be3515934004d271398129ba7145635e95127e (diff) |
m68k: set register a2 to current if MMU enabled on ColdFire
Virtual memory m68k systems build with register a2 dedicated to being the
current proc pointer (non-MMU don't do this). Add code to the ColdFire
interrupt and exception processing to set this on entry, and at context
switch time. We use the same GET_CURRENT() macro that MMU enabled code
uses - modifying it so that the assembler is ColdFire clean.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Matt Waddel <mwaddel@yahoo.com>
Acked-by: Kurt Mahan <kmahan@xmission.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k/kernel/entry_no.S')
-rw-r--r-- | arch/m68k/kernel/entry_no.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/m68k/kernel/entry_no.S b/arch/m68k/kernel/entry_no.S index ac86a9ffc1d7..d80cba45589f 100644 --- a/arch/m68k/kernel/entry_no.S +++ b/arch/m68k/kernel/entry_no.S | |||
@@ -44,6 +44,7 @@ | |||
44 | 44 | ||
45 | ENTRY(buserr) | 45 | ENTRY(buserr) |
46 | SAVE_ALL_INT | 46 | SAVE_ALL_INT |
47 | GET_CURRENT(%d0) | ||
47 | movel %sp,%sp@- /* stack frame pointer argument */ | 48 | movel %sp,%sp@- /* stack frame pointer argument */ |
48 | jsr buserr_c | 49 | jsr buserr_c |
49 | addql #4,%sp | 50 | addql #4,%sp |
@@ -51,6 +52,7 @@ ENTRY(buserr) | |||
51 | 52 | ||
52 | ENTRY(trap) | 53 | ENTRY(trap) |
53 | SAVE_ALL_INT | 54 | SAVE_ALL_INT |
55 | GET_CURRENT(%d0) | ||
54 | movel %sp,%sp@- /* stack frame pointer argument */ | 56 | movel %sp,%sp@- /* stack frame pointer argument */ |
55 | jsr trap_c | 57 | jsr trap_c |
56 | addql #4,%sp | 58 | addql #4,%sp |
@@ -61,6 +63,7 @@ ENTRY(trap) | |||
61 | .globl dbginterrupt | 63 | .globl dbginterrupt |
62 | ENTRY(dbginterrupt) | 64 | ENTRY(dbginterrupt) |
63 | SAVE_ALL_INT | 65 | SAVE_ALL_INT |
66 | GET_CURRENT(%d0) | ||
64 | movel %sp,%sp@- /* stack frame pointer argument */ | 67 | movel %sp,%sp@- /* stack frame pointer argument */ |
65 | jsr dbginterrupt_c | 68 | jsr dbginterrupt_c |
66 | addql #4,%sp | 69 | addql #4,%sp |