summaryrefslogtreecommitdiff
path: root/arch/ppc/kernel
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2003-03-16 17:27:28 +1100
committerPaul Mackerras <paulus@samba.org>2003-03-16 17:27:28 +1100
commite106935f0fab07a319b0fa2943ef7c11e932630b (patch)
tree7c85af5a5f7b3b7f845d73e2fad1c4eed63da99e /arch/ppc/kernel
parent2b3163d4ed502d8eda3b24323126ef88b230ce7a (diff)
parenta76d1bae3aa55f9fc981738ab3f1dd304a2a212b (diff)
Merge bk://stop.crashing.org/linux-2.5-misc
into samba.org:/home/paulus/kernel/for-linus-ppc
Diffstat (limited to 'arch/ppc/kernel')
-rw-r--r--arch/ppc/kernel/ppc-stub.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/arch/ppc/kernel/ppc-stub.c b/arch/ppc/kernel/ppc-stub.c
index 3a048ee52736..acc76c5f264b 100644
--- a/arch/ppc/kernel/ppc-stub.c
+++ b/arch/ppc/kernel/ppc-stub.c
@@ -420,18 +420,6 @@ static void kgdb_flush_cache_all(void)
flush_instruction_cache();
}
-static inline int get_msr(void)
-{
- int msr;
- asm volatile("mfmsr %0" : "=r" (msr):);
- return msr;
-}
-
-static inline void set_msr(int msr)
-{
- asm volatile("mtmsr %0" : : "r" (msr));
-}
-
/* Set up exception handlers for tracing and breakpoints
* [could be called kgdb_init()]
*/
@@ -598,8 +586,8 @@ handle_exception (struct pt_regs *regs)
kgdb_interruptible(0);
lock_kernel();
- msr = get_msr();
- set_msr(msr & ~MSR_EE); /* disable interrupts */
+ msr = mfmsr();
+ mtmsr(msr & ~MSR_EE); /* disable interrupts */
if (regs->nip == (unsigned long)breakinst) {
/* Skip over breakpoint trap insn */
@@ -626,7 +614,7 @@ handle_exception (struct pt_regs *regs)
*ptr++ = hexchars[SP_REGNUM >> 4];
*ptr++ = hexchars[SP_REGNUM & 0xf];
*ptr++ = ':';
- ptr = mem2hex(((char *)&regs) + SP_REGNUM*4, ptr, 4);
+ ptr = mem2hex(((char *)regs) + SP_REGNUM*4, ptr, 4);
*ptr++ = ';';
#endif
@@ -786,7 +774,7 @@ handle_exception (struct pt_regs *regs)
strcpy(remcomOutBuffer, "OK");
putpacket(remcomOutBuffer);
#endif
- set_msr(msr);
+ mtmsr(msr);
kgdb_interruptible(1);
unlock_kernel();
@@ -802,10 +790,9 @@ handle_exception (struct pt_regs *regs)
#if defined(CONFIG_40x)
regs->msr |= MSR_DE;
regs->dbcr0 |= (DBCR0_IDM | DBCR0_IC);
- set_msr(msr);
+ mtmsr(msr);
#else
regs->msr |= MSR_SE;
- set_msr(msr | MSR_SE);
#endif
unlock_kernel();
kgdb_active = 0;