linux/arch/sh/include/asm/segment.h
<<
>>
Prefs
   1#ifndef __ASM_SH_SEGMENT_H
   2#define __ASM_SH_SEGMENT_H
   3
   4#ifndef __ASSEMBLY__
   5
   6typedef struct {
   7        unsigned long seg;
   8} mm_segment_t;
   9
  10#define MAKE_MM_SEG(s)  ((mm_segment_t) { (s) })
  11
  12/*
  13 * The fs value determines whether argument validity checking should be
  14 * performed or not.  If get_fs() == USER_DS, checking is performed, with
  15 * get_fs() == KERNEL_DS, checking is bypassed.
  16 *
  17 * For historical reasons, these macros are grossly misnamed.
  18 */
  19#define KERNEL_DS       MAKE_MM_SEG(0xFFFFFFFFUL)
  20#ifdef CONFIG_MMU
  21#define USER_DS         MAKE_MM_SEG(PAGE_OFFSET)
  22#else
  23#define USER_DS         KERNEL_DS
  24#endif
  25
  26#define segment_eq(a,b) ((a).seg == (b).seg)
  27
  28#define get_ds()        (KERNEL_DS)
  29
  30#define get_fs()        (current_thread_info()->addr_limit)
  31#define set_fs(x)       (current_thread_info()->addr_limit = (x))
  32
  33#endif /* __ASSEMBLY__ */
  34#endif /* __ASM_SH_SEGMENT_H */
  35