linux/arch/h8300/include/asm/segment.h
<<
>>
Prefs
   1#ifndef _H8300_SEGMENT_H
   2#define _H8300_SEGMENT_H
   3
   4/* define constants */
   5#define USER_DATA     (1)
   6#ifndef __USER_DS
   7#define __USER_DS     (USER_DATA)
   8#endif
   9#define USER_PROGRAM  (2)
  10#define SUPER_DATA    (3)
  11#ifndef __KERNEL_DS
  12#define __KERNEL_DS   (SUPER_DATA)
  13#endif
  14#define SUPER_PROGRAM (4)
  15
  16#ifndef __ASSEMBLY__
  17
  18typedef struct {
  19        unsigned long seg;
  20} mm_segment_t;
  21
  22#define MAKE_MM_SEG(s)  ((mm_segment_t) { (s) })
  23#define USER_DS         MAKE_MM_SEG(__USER_DS)
  24#define KERNEL_DS       MAKE_MM_SEG(__KERNEL_DS)
  25
  26/*
  27 * Get/set the SFC/DFC registers for MOVES instructions
  28 */
  29
  30static inline mm_segment_t get_fs(void)
  31{
  32    return USER_DS;
  33}
  34
  35static inline mm_segment_t get_ds(void)
  36{
  37    /* return the supervisor data space code */
  38    return KERNEL_DS;
  39}
  40
  41static inline void set_fs(mm_segment_t val)
  42{
  43}
  44
  45#define segment_eq(a,b) ((a).seg == (b).seg)
  46
  47#endif /* __ASSEMBLY__ */
  48
  49#endif /* _H8300_SEGMENT_H */
  50