Skip to content

Commit

Permalink
m68k: merge the mmu and non-mmu versions of segment.h
Browse files Browse the repository at this point in the history
Trivial merge of the mmu and non-mmu version of segment.h.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
  • Loading branch information
Greg Ungerer committed Mar 24, 2009
1 parent 872065e commit 4892242
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 111 deletions.
64 changes: 61 additions & 3 deletions arch/m68k/include/asm/segment.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,63 @@
#ifdef __uClinux__
#include "segment_no.h"
#ifndef _M68K_SEGMENT_H
#define _M68K_SEGMENT_H

/* define constants */
/* Address spaces (FC0-FC2) */
#define USER_DATA (1)
#ifndef __USER_DS
#define __USER_DS (USER_DATA)
#endif
#define USER_PROGRAM (2)
#define SUPER_DATA (5)
#ifndef __KERNEL_DS
#define __KERNEL_DS (SUPER_DATA)
#endif
#define SUPER_PROGRAM (6)
#define CPU_SPACE (7)

#ifndef __ASSEMBLY__

typedef struct {
unsigned long seg;
} mm_segment_t;

#define MAKE_MM_SEG(s) ((mm_segment_t) { (s) })
#define USER_DS MAKE_MM_SEG(__USER_DS)
#define KERNEL_DS MAKE_MM_SEG(__KERNEL_DS)

/*
* Get/set the SFC/DFC registers for MOVES instructions
*/

static inline mm_segment_t get_fs(void)
{
#ifdef CONFIG_MMU
mm_segment_t _v;
__asm__ ("movec %/dfc,%0":"=r" (_v.seg):);

return _v;
#else
#include "segment_mm.h"
return USER_DS;
#endif
}

static inline mm_segment_t get_ds(void)
{
/* return the supervisor data space code */
return KERNEL_DS;
}

static inline void set_fs(mm_segment_t val)
{
#ifdef CONFIG_MMU
__asm__ __volatile__ ("movec %0,%/sfc\n\t"
"movec %0,%/dfc\n\t"
: /* no outputs */ : "r" (val.seg) : "memory");
#endif
}

#define segment_eq(a,b) ((a).seg == (b).seg)

#endif /* __ASSEMBLY__ */

#endif /* _M68K_SEGMENT_H */
57 changes: 0 additions & 57 deletions arch/m68k/include/asm/segment_mm.h

This file was deleted.

51 changes: 0 additions & 51 deletions arch/m68k/include/asm/segment_no.h

This file was deleted.

0 comments on commit 4892242

Please sign in to comment.