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