summaryrefslogtreecommitdiff
path: root/arch/m68k/include/asm/segment.h
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2011-10-14 14:43:30 +1000
committerGreg Ungerer <gerg@uclinux.org>2011-12-30 10:20:21 +1000
commite08d703cc2ab6e47dbd10a74eb029f7dfa93d71d (patch)
treef81a41ca2a92ed39a723b024b984d220373e6e01 /arch/m68k/include/asm/segment.h
parent2c9b82adb5ea65745d5d73d97bb0e1cc16cba4a0 (diff)
m68k: modify user space access functions to support ColdFire CPUs
Modify the user space access functions to support the ColdFire V4e cores running with MMU enabled. The ColdFire processors do not support the "moves" instruction used by the traditional 680x0 processors for moving data into and out of another address space. They only support the notion of a single address space, and you use the usual "move" instruction to access that. Create a new config symbol (CONFIG_CPU_HAS_ADDRESS_SPACES) to mark the CPU types that support separate address spaces, and thus also support the sfc/dfc registers and the "moves" instruction that go along with that. The code is almost identical for user space access, so lets just use a define to choose either the "move" or "moves" in the assembler code. 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/include/asm/segment.h')
-rw-r--r--arch/m68k/include/asm/segment.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/m68k/include/asm/segment.h b/arch/m68k/include/asm/segment.h
index ee959219fdfe..1a142e9ceaad 100644
--- a/arch/m68k/include/asm/segment.h
+++ b/arch/m68k/include/asm/segment.h
@@ -31,7 +31,7 @@ typedef struct {
static inline mm_segment_t get_fs(void)
{
-#ifdef CONFIG_MMU
+#ifdef CONFIG_CPU_HAS_ADDRESS_SPACES
mm_segment_t _v;
__asm__ ("movec %/dfc,%0":"=r" (_v.seg):);
@@ -49,7 +49,7 @@ static inline mm_segment_t get_ds(void)
static inline void set_fs(mm_segment_t val)
{
-#ifdef CONFIG_MMU
+#ifdef CONFIG_CPU_HAS_ADDRESS_SPACES
__asm__ __volatile__ ("movec %0,%/sfc\n\t"
"movec %0,%/dfc\n\t"
: /* no outputs */ : "r" (val.seg) : "memory");