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 53struct 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 79struct revectored_struct { 80 unsigned long __map[8]; 81}; 82 83struct 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 94struct 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 103struct 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 114