OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / prebuilt / ndk / android-ndk-r4 / platforms / android-5 / arch-x86 / usr / include / asm / vm86.h
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef _LINUX_VM86_H
13 #define _LINUX_VM86_H
14
15 #define TF_MASK 0x00000100
16 #define IF_MASK 0x00000200
17 #define IOPL_MASK 0x00003000
18 #define NT_MASK 0x00004000
19 #define VM_MASK 0  
20 #define AC_MASK 0x00040000
21 #define VIF_MASK 0x00080000  
22 #define VIP_MASK 0x00100000  
23 #define ID_MASK 0x00200000
24
25 #define BIOSSEG 0x0f000
26
27 #define CPU_086 0
28 #define CPU_186 1
29 #define CPU_286 2
30 #define CPU_386 3
31 #define CPU_486 4
32 #define CPU_586 5
33
34 #define VM86_TYPE(retval) ((retval) & 0xff)
35 #define VM86_ARG(retval) ((retval) >> 8)
36
37 #define VM86_SIGNAL 0  
38 #define VM86_UNKNOWN 1  
39 #define VM86_INTx 2  
40 #define VM86_STI 3  
41
42 #define VM86_PICRETURN 4  
43 #define VM86_TRAP 6  
44
45 #define VM86_PLUS_INSTALL_CHECK 0
46 #define VM86_ENTER 1
47 #define VM86_ENTER_NO_BYPASS 2
48 #define VM86_REQUEST_IRQ 3
49 #define VM86_FREE_IRQ 4
50 #define VM86_GET_IRQ_BITS 5
51 #define VM86_GET_AND_RESET_IRQ 6
52
53 struct vm86_regs {
54
55  long ebx;
56  long ecx;
57  long edx;
58  long esi;
59  long edi;
60  long ebp;
61  long eax;
62  long __null_ds;
63  long __null_es;
64  long __null_fs;
65  long __null_gs;
66  long orig_eax;
67  long eip;
68  unsigned short cs, __csh;
69  long eflags;
70  long esp;
71  unsigned short ss, __ssh;
72
73  unsigned short es, __esh;
74  unsigned short ds, __dsh;
75  unsigned short fs, __fsh;
76  unsigned short gs, __gsh;
77 };
78
79 struct revectored_struct {
80  unsigned long __map[8];
81 };
82
83 struct vm86_struct {
84  struct vm86_regs regs;
85  unsigned long flags;
86  unsigned long screen_bitmap;
87  unsigned long cpu_type;
88  struct revectored_struct int_revectored;
89  struct revectored_struct int21_revectored;
90 };
91
92 #define VM86_SCREEN_BITMAP 0x0001
93
94 struct vm86plus_info_struct {
95  unsigned long force_return_for_pic:1;
96  unsigned long vm86dbg_active:1;
97  unsigned long vm86dbg_TFpendig:1;
98  unsigned long unused:28;
99  unsigned long is_vm86pus:1;
100  unsigned char vm86dbg_intxxtab[32];
101 };
102
103 struct vm86plus_struct {
104  struct vm86_regs regs;
105  unsigned long flags;
106  unsigned long screen_bitmap;
107  unsigned long cpu_type;
108  struct revectored_struct int_revectored;
109  struct revectored_struct int21_revectored;
110  struct vm86plus_info_struct vm86plus;
111 };
112
113 #endif