diff options
Diffstat (limited to 'include/asm-sh/system.h')
| -rw-r--r-- | include/asm-sh/system.h | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h index 4a6a19f4f8a..82f3e229e62 100644 --- a/include/asm-sh/system.h +++ b/include/asm-sh/system.h @@ -9,6 +9,7 @@  #include <linux/irqflags.h>  #include <linux/compiler.h>  #include <asm/types.h> +#include <asm/ptrace.h>  /*   *	switch_to() should switch tasks to task nr n, first @@ -81,16 +82,6 @@ static inline void sched_cacheflush(void)  }  #endif -static inline unsigned long tas(volatile int *m) -{ -	unsigned long retval; - -	__asm__ __volatile__ ("tas.b	@%1\n\t" -			      "movt	%0" -			      : "=r" (retval): "r" (m): "t", "memory"); -	return retval; -} -  /*   * A brief note on ctrl_barrier(), the control register write barrier.   * @@ -255,6 +246,8 @@ static inline unsigned long __cmpxchg(volatile void * ptr, unsigned long old,  				    (unsigned long)_n_, sizeof(*(ptr))); \    }) +extern void die(const char *str, struct pt_regs *regs, long err) __attribute__ ((noreturn)); +  extern void *set_exception_table_vec(unsigned int vec, void *handler);  static inline void *set_exception_table_evt(unsigned int evt, void *handler) @@ -262,6 +255,15 @@ static inline void *set_exception_table_evt(unsigned int evt, void *handler)  	return set_exception_table_vec(evt >> 5, handler);  } +/* + * SH-2A has both 16 and 32-bit opcodes, do lame encoding checks. + */ +#ifdef CONFIG_CPU_SH2A +extern unsigned int instruction_size(unsigned int insn); +#else +#define instruction_size(insn)	(2) +#endif +  /* XXX   * disable hlt during certain critical i/o operations   */  | 
