diff options
Diffstat (limited to 'arch/powerpc/include/asm/system.h')
| -rw-r--r-- | arch/powerpc/include/asm/system.h | 21 | 
1 files changed, 13 insertions, 8 deletions
diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h index bb8e006a47c..a6297c67c3d 100644 --- a/arch/powerpc/include/asm/system.h +++ b/arch/powerpc/include/asm/system.h @@ -112,8 +112,13 @@ static inline int debugger_fault_handler(struct pt_regs *regs) { return 0; }  #endif  extern int set_dabr(unsigned long dabr); +#ifdef CONFIG_PPC_ADV_DEBUG_REGS +extern void do_send_trap(struct pt_regs *regs, unsigned long address, +			 unsigned long error_code, int signal_code, int brkpt); +#else  extern void do_dabr(struct pt_regs *regs, unsigned long address,  		    unsigned long error_code); +#endif  extern void print_backtrace(unsigned long *);  extern void show_regs(struct pt_regs * regs);  extern void flush_instruction_cache(void); @@ -232,12 +237,12 @@ __xchg_u32(volatile void *p, unsigned long val)  	unsigned long prev;  	__asm__ __volatile__( -	LWSYNC_ON_SMP +	PPC_RELEASE_BARRIER  "1:	lwarx	%0,0,%2 \n"  	PPC405_ERR77(0,%2)  "	stwcx.	%3,0,%2 \n\  	bne-	1b" -	ISYNC_ON_SMP +	PPC_ACQUIRE_BARRIER  	: "=&r" (prev), "+m" (*(volatile unsigned int *)p)  	: "r" (p), "r" (val)  	: "cc", "memory"); @@ -275,12 +280,12 @@ __xchg_u64(volatile void *p, unsigned long val)  	unsigned long prev;  	__asm__ __volatile__( -	LWSYNC_ON_SMP +	PPC_RELEASE_BARRIER  "1:	ldarx	%0,0,%2 \n"  	PPC405_ERR77(0,%2)  "	stdcx.	%3,0,%2 \n\  	bne-	1b" -	ISYNC_ON_SMP +	PPC_ACQUIRE_BARRIER  	: "=&r" (prev), "+m" (*(volatile unsigned long *)p)  	: "r" (p), "r" (val)  	: "cc", "memory"); @@ -366,14 +371,14 @@ __cmpxchg_u32(volatile unsigned int *p, unsigned long old, unsigned long new)  	unsigned int prev;  	__asm__ __volatile__ ( -	LWSYNC_ON_SMP +	PPC_RELEASE_BARRIER  "1:	lwarx	%0,0,%2		# __cmpxchg_u32\n\  	cmpw	0,%0,%3\n\  	bne-	2f\n"  	PPC405_ERR77(0,%2)  "	stwcx.	%4,0,%2\n\  	bne-	1b" -	ISYNC_ON_SMP +	PPC_ACQUIRE_BARRIER  	"\n\  2:"  	: "=&r" (prev), "+m" (*p) @@ -412,13 +417,13 @@ __cmpxchg_u64(volatile unsigned long *p, unsigned long old, unsigned long new)  	unsigned long prev;  	__asm__ __volatile__ ( -	LWSYNC_ON_SMP +	PPC_RELEASE_BARRIER  "1:	ldarx	%0,0,%2		# __cmpxchg_u64\n\  	cmpd	0,%0,%3\n\  	bne-	2f\n\  	stdcx.	%4,0,%2\n\  	bne-	1b" -	ISYNC_ON_SMP +	PPC_ACQUIRE_BARRIER  	"\n\  2:"  	: "=&r" (prev), "+m" (*p)  |