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