• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_ASM_X86_VM86_H
8 #define _UAPI_ASM_X86_VM86_H
9 #include <asm/processor-flags.h>
10 #define BIOSSEG 0x0f000
11 #define CPU_086 0
12 #define CPU_186 1
13 #define CPU_286 2
14 #define CPU_386 3
15 #define CPU_486 4
16 #define CPU_586 5
17 #define VM86_TYPE(retval) ((retval) & 0xff)
18 #define VM86_ARG(retval) ((retval) >> 8)
19 #define VM86_SIGNAL 0
20 #define VM86_UNKNOWN 1
21 #define VM86_INTx 2
22 #define VM86_STI 3
23 #define VM86_PICRETURN 4
24 #define VM86_TRAP 6
25 #define VM86_PLUS_INSTALL_CHECK 0
26 #define VM86_ENTER 1
27 #define VM86_ENTER_NO_BYPASS 2
28 #define VM86_REQUEST_IRQ 3
29 #define VM86_FREE_IRQ 4
30 #define VM86_GET_IRQ_BITS 5
31 #define VM86_GET_AND_RESET_IRQ 6
32 struct vm86_regs {
33   long ebx;
34   long ecx;
35   long edx;
36   long esi;
37   long edi;
38   long ebp;
39   long eax;
40   long __null_ds;
41   long __null_es;
42   long __null_fs;
43   long __null_gs;
44   long orig_eax;
45   long eip;
46   unsigned short cs, __csh;
47   long eflags;
48   long esp;
49   unsigned short ss, __ssh;
50   unsigned short es, __esh;
51   unsigned short ds, __dsh;
52   unsigned short fs, __fsh;
53   unsigned short gs, __gsh;
54 };
55 struct revectored_struct {
56   unsigned long __map[8];
57 };
58 struct vm86_struct {
59   struct vm86_regs regs;
60   unsigned long flags;
61   unsigned long screen_bitmap;
62   unsigned long cpu_type;
63   struct revectored_struct int_revectored;
64   struct revectored_struct int21_revectored;
65 };
66 #define VM86_SCREEN_BITMAP 0x0001
67 struct vm86plus_info_struct {
68   unsigned long force_return_for_pic : 1;
69   unsigned long vm86dbg_active : 1;
70   unsigned long vm86dbg_TFpendig : 1;
71   unsigned long unused : 28;
72   unsigned long is_vm86pus : 1;
73   unsigned char vm86dbg_intxxtab[32];
74 };
75 struct vm86plus_struct {
76   struct vm86_regs regs;
77   unsigned long flags;
78   unsigned long screen_bitmap;
79   unsigned long cpu_type;
80   struct revectored_struct int_revectored;
81   struct revectored_struct int21_revectored;
82   struct vm86plus_info_struct vm86plus;
83 };
84 #endif
85