root/arch/sh/include/asm/segment.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __ASM_SH_SEGMENT_H
   3 #define __ASM_SH_SEGMENT_H
   4 
   5 #ifndef __ASSEMBLY__
   6 
   7 typedef struct {
   8         unsigned long seg;
   9 } mm_segment_t;
  10 
  11 #define MAKE_MM_SEG(s)  ((mm_segment_t) { (s) })
  12 
  13 /*
  14  * The fs value determines whether argument validity checking should be
  15  * performed or not.  If get_fs() == USER_DS, checking is performed, with
  16  * get_fs() == KERNEL_DS, checking is bypassed.
  17  *
  18  * For historical reasons, these macros are grossly misnamed.
  19  */
  20 #define KERNEL_DS       MAKE_MM_SEG(0xFFFFFFFFUL)
  21 #ifdef CONFIG_MMU
  22 #define USER_DS         MAKE_MM_SEG(PAGE_OFFSET)
  23 #else
  24 #define USER_DS         KERNEL_DS
  25 #endif
  26 
  27 #define segment_eq(a, b) ((a).seg == (b).seg)
  28 
  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 */

/* [<][>][^][v][top][bottom][index][help] */