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