|
|
1.1 ! root 1: /* default linux values for the selectors */ ! 2: #define __USER_CS (0x23) ! 3: #define __USER_DS (0x2B) ! 4: ! 5: struct target_pt_regs { ! 6: long ebx; ! 7: long ecx; ! 8: long edx; ! 9: long esi; ! 10: long edi; ! 11: long ebp; ! 12: long eax; ! 13: int xds; ! 14: int xes; ! 15: long orig_eax; ! 16: long eip; ! 17: int xcs; ! 18: long eflags; ! 19: long esp; ! 20: int xss; ! 21: }; ! 22: ! 23: /* ioctls */ ! 24: ! 25: #define TARGET_LDT_ENTRIES 8192 ! 26: #define TARGET_LDT_ENTRY_SIZE 8 ! 27: ! 28: #define TARGET_GDT_ENTRIES 9 ! 29: #define TARGET_GDT_ENTRY_TLS_ENTRIES 3 ! 30: #define TARGET_GDT_ENTRY_TLS_MIN 6 ! 31: #define TARGET_GDT_ENTRY_TLS_MAX (TARGET_GDT_ENTRY_TLS_MIN + TARGET_GDT_ENTRY_TLS_ENTRIES - 1) ! 32: ! 33: struct target_modify_ldt_ldt_s { ! 34: unsigned int entry_number; ! 35: abi_ulong base_addr; ! 36: unsigned int limit; ! 37: unsigned int flags; ! 38: }; ! 39: ! 40: /* vm86 defines */ ! 41: ! 42: #define TARGET_BIOSSEG 0x0f000 ! 43: ! 44: #define TARGET_CPU_086 0 ! 45: #define TARGET_CPU_186 1 ! 46: #define TARGET_CPU_286 2 ! 47: #define TARGET_CPU_386 3 ! 48: #define TARGET_CPU_486 4 ! 49: #define TARGET_CPU_586 5 ! 50: ! 51: #define TARGET_VM86_SIGNAL 0 /* return due to signal */ ! 52: #define TARGET_VM86_UNKNOWN 1 /* unhandled GP fault - IO-instruction or similar */ ! 53: #define TARGET_VM86_INTx 2 /* int3/int x instruction (ARG = x) */ ! 54: #define TARGET_VM86_STI 3 /* sti/popf/iret instruction enabled virtual interrupts */ ! 55: ! 56: /* ! 57: * Additional return values when invoking new vm86() ! 58: */ ! 59: #define TARGET_VM86_PICRETURN 4 /* return due to pending PIC request */ ! 60: #define TARGET_VM86_TRAP 6 /* return due to DOS-debugger request */ ! 61: ! 62: /* ! 63: * function codes when invoking new vm86() ! 64: */ ! 65: #define TARGET_VM86_PLUS_INSTALL_CHECK 0 ! 66: #define TARGET_VM86_ENTER 1 ! 67: #define TARGET_VM86_ENTER_NO_BYPASS 2 ! 68: #define TARGET_VM86_REQUEST_IRQ 3 ! 69: #define TARGET_VM86_FREE_IRQ 4 ! 70: #define TARGET_VM86_GET_IRQ_BITS 5 ! 71: #define TARGET_VM86_GET_AND_RESET_IRQ 6 ! 72: ! 73: /* ! 74: * This is the stack-layout seen by the user space program when we have ! 75: * done a translation of "SAVE_ALL" from vm86 mode. The real kernel layout ! 76: * is 'kernel_vm86_regs' (see below). ! 77: */ ! 78: ! 79: struct target_vm86_regs { ! 80: /* ! 81: * normal regs, with special meaning for the segment descriptors.. ! 82: */ ! 83: abi_long ebx; ! 84: abi_long ecx; ! 85: abi_long edx; ! 86: abi_long esi; ! 87: abi_long edi; ! 88: abi_long ebp; ! 89: abi_long eax; ! 90: abi_long __null_ds; ! 91: abi_long __null_es; ! 92: abi_long __null_fs; ! 93: abi_long __null_gs; ! 94: abi_long orig_eax; ! 95: abi_long eip; ! 96: unsigned short cs, __csh; ! 97: abi_long eflags; ! 98: abi_long esp; ! 99: unsigned short ss, __ssh; ! 100: /* ! 101: * these are specific to v86 mode: ! 102: */ ! 103: unsigned short es, __esh; ! 104: unsigned short ds, __dsh; ! 105: unsigned short fs, __fsh; ! 106: unsigned short gs, __gsh; ! 107: }; ! 108: ! 109: struct target_revectored_struct { ! 110: abi_ulong __map[8]; /* 256 bits */ ! 111: }; ! 112: ! 113: struct target_vm86_struct { ! 114: struct target_vm86_regs regs; ! 115: abi_ulong flags; ! 116: abi_ulong screen_bitmap; ! 117: abi_ulong cpu_type; ! 118: struct target_revectored_struct int_revectored; ! 119: struct target_revectored_struct int21_revectored; ! 120: }; ! 121: ! 122: /* ! 123: * flags masks ! 124: */ ! 125: #define TARGET_VM86_SCREEN_BITMAP 0x0001 ! 126: ! 127: struct target_vm86plus_info_struct { ! 128: abi_ulong flags; ! 129: #define TARGET_force_return_for_pic (1 << 0) ! 130: #define TARGET_vm86dbg_active (1 << 1) /* for debugger */ ! 131: #define TARGET_vm86dbg_TFpendig (1 << 2) /* for debugger */ ! 132: #define TARGET_is_vm86pus (1 << 31) /* for vm86 internal use */ ! 133: unsigned char vm86dbg_intxxtab[32]; /* for debugger */ ! 134: }; ! 135: ! 136: struct target_vm86plus_struct { ! 137: struct target_vm86_regs regs; ! 138: abi_ulong flags; ! 139: abi_ulong screen_bitmap; ! 140: abi_ulong cpu_type; ! 141: struct target_revectored_struct int_revectored; ! 142: struct target_revectored_struct int21_revectored; ! 143: struct target_vm86plus_info_struct vm86plus; ! 144: }; ! 145: ! 146: #define UNAME_MACHINE "i386" ! 147:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.