diff options
Diffstat (limited to 'arch/m68k/include/asm/processor.h')
| -rw-r--r-- | arch/m68k/include/asm/processor.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/m68k/include/asm/processor.h b/arch/m68k/include/asm/processor.h index 7a2da780830b..3c43c09d4489 100644 --- a/arch/m68k/include/asm/processor.h +++ b/arch/m68k/include/asm/processor.h @@ -8,6 +8,7 @@ #ifndef __ASM_M68K_PROCESSOR_H #define __ASM_M68K_PROCESSOR_H +#include <linux/preempt.h> #include <linux/thread_info.h> #include <asm/fpu.h> #include <asm/ptrace.h> @@ -94,10 +95,24 @@ static inline void set_fc(unsigned long val) "movec %0,%/dfc\n\t" : /* no outputs */ : "r" (val) : "memory"); } + +static inline unsigned long get_fc(void) +{ + unsigned long val; + + __asm__ ("movec %/dfc,%0" : "=r" (val) : ); + + return val; +} #else static inline void set_fc(unsigned long val) { } + +static inline unsigned long get_fc(void) +{ + return USER_DATA; +} #endif /* CONFIG_CPU_HAS_ADDRESS_SPACES */ struct thread_struct { |
