1#ifndef __UM_SEGMENT_H 2#define __UM_SEGMENT_H 3 4extern int host_gdt_entry_tls_min; 5 6#define GDT_ENTRY_TLS_ENTRIES 3 7#define GDT_ENTRY_TLS_MIN host_gdt_entry_tls_min 8#define GDT_ENTRY_TLS_MAX (GDT_ENTRY_TLS_MIN + GDT_ENTRY_TLS_ENTRIES - 1) 9 10typedef struct { 11 unsigned long seg; 12} mm_segment_t; 13 14#define MAKE_MM_SEG(s) ((mm_segment_t) { (s) }) 15#define KERNEL_DS MAKE_MM_SEG(~0UL) 16#define USER_DS MAKE_MM_SEG(TASK_SIZE) 17 18#endif 19