1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _ASM_X86_LDT_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _ASM_X86_LDT_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LDT_ENTRIES 8192
16951a39d68df598db08dfced8b4707755864a0492Ying Wang
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LDT_ENTRY_SIZE 8
18951a39d68df598db08dfced8b4707755864a0492Ying Wang
19951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef __ASSEMBLY__
20951a39d68df598db08dfced8b4707755864a0492Ying Wang
21951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct user_desc {
22951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int entry_number;
23951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int base_addr;
24951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int limit;
25951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int seg_32bit:1;
26951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int contents:2;
27951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int read_exec_only:1;
28951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int limit_in_pages:1;
29951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int seg_not_present:1;
30951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int useable:1;
31951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifdef __x86_64__
32951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int lm:1;
33951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
34951a39d68df598db08dfced8b4707755864a0492Ying Wang};
35951a39d68df598db08dfced8b4707755864a0492Ying Wang
36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MODIFY_LDT_CONTENTS_DATA 0
37951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MODIFY_LDT_CONTENTS_STACK 1
38951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MODIFY_LDT_CONTENTS_CODE 2
39951a39d68df598db08dfced8b4707755864a0492Ying Wang
40951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
41951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
42