]> Pileus Git - ~andy/linux/blobdiff - arch/x86/include/asm/vm86.h
Merge tag 'byteswap-for-linus-20121219' of git://git.infradead.org/users/dwmw2/byteswap
[~andy/linux] / arch / x86 / include / asm / vm86.h
index f9303602fbc09b733e3f52319d43e0c3c65c8de3..1d8de3f3fecade2fc63bdab01582f566aa1d47d5 100644 (file)
@@ -1,133 +1,9 @@
 #ifndef _ASM_X86_VM86_H
 #define _ASM_X86_VM86_H
 
-/*
- * I'm guessing at the VIF/VIP flag usage, but hope that this is how
- * the Pentium uses them. Linux will return from vm86 mode when both
- * VIF and VIP is set.
- *
- * On a Pentium, we could probably optimize the virtual flags directly
- * in the eflags register instead of doing it "by hand" in vflags...
- *
- * Linus
- */
-
-#include <asm/processor-flags.h>
-
-#define BIOSSEG                0x0f000
-
-#define CPU_086                0
-#define CPU_186                1
-#define CPU_286                2
-#define CPU_386                3
-#define CPU_486                4
-#define CPU_586                5
-
-/*
- * Return values for the 'vm86()' system call
- */
-#define VM86_TYPE(retval)      ((retval) & 0xff)
-#define VM86_ARG(retval)       ((retval) >> 8)
-
-#define VM86_SIGNAL    0       /* return due to signal */
-#define VM86_UNKNOWN   1       /* unhandled GP fault
-                                  - IO-instruction or similar */
-#define VM86_INTx      2       /* int3/int x instruction (ARG = x) */
-#define VM86_STI       3       /* sti/popf/iret instruction enabled
-                                  virtual interrupts */
-
-/*
- * Additional return values when invoking new vm86()
- */
-#define VM86_PICRETURN 4       /* return due to pending PIC request */
-#define VM86_TRAP      6       /* return due to DOS-debugger request */
-
-/*
- * function codes when invoking new vm86()
- */
-#define VM86_PLUS_INSTALL_CHECK        0
-#define VM86_ENTER             1
-#define VM86_ENTER_NO_BYPASS   2
-#define        VM86_REQUEST_IRQ        3
-#define VM86_FREE_IRQ          4
-#define VM86_GET_IRQ_BITS      5
-#define VM86_GET_AND_RESET_IRQ 6
-
-/*
- * This is the stack-layout seen by the user space program when we have
- * done a translation of "SAVE_ALL" from vm86 mode. The real kernel layout
- * is 'kernel_vm86_regs' (see below).
- */
-
-struct vm86_regs {
-/*
- * normal regs, with special meaning for the segment descriptors..
- */
-       long ebx;
-       long ecx;
-       long edx;
-       long esi;
-       long edi;
-       long ebp;
-       long eax;
-       long __null_ds;
-       long __null_es;
-       long __null_fs;
-       long __null_gs;
-       long orig_eax;
-       long eip;
-       unsigned short cs, __csh;
-       long eflags;
-       long esp;
-       unsigned short ss, __ssh;
-/*
- * these are specific to v86 mode:
- */
-       unsigned short es, __esh;
-       unsigned short ds, __dsh;
-       unsigned short fs, __fsh;
-       unsigned short gs, __gsh;
-};
-
-struct revectored_struct {
-       unsigned long __map[8];                 /* 256 bits */
-};
-
-struct vm86_struct {
-       struct vm86_regs regs;
-       unsigned long flags;
-       unsigned long screen_bitmap;
-       unsigned long cpu_type;
-       struct revectored_struct int_revectored;
-       struct revectored_struct int21_revectored;
-};
-
-/*
- * flags masks
- */
-#define VM86_SCREEN_BITMAP     0x0001
-
-struct vm86plus_info_struct {
-       unsigned long force_return_for_pic:1;
-       unsigned long vm86dbg_active:1;       /* for debugger */
-       unsigned long vm86dbg_TFpendig:1;     /* for debugger */
-       unsigned long unused:28;
-       unsigned long is_vm86pus:1;           /* for vm86 internal use */
-       unsigned char vm86dbg_intxxtab[32];   /* for debugger */
-};
-struct vm86plus_struct {
-       struct vm86_regs regs;
-       unsigned long flags;
-       unsigned long screen_bitmap;
-       unsigned long cpu_type;
-       struct revectored_struct int_revectored;
-       struct revectored_struct int21_revectored;
-       struct vm86plus_info_struct vm86plus;
-};
-
-#ifdef __KERNEL__
 
 #include <asm/ptrace.h>
+#include <uapi/asm/vm86.h>
 
 /*
  * This is the (kernel) stack-layout when we have done a "SAVE_ALL" from vm86
@@ -203,6 +79,4 @@ static inline int handle_vm86_trap(struct kernel_vm86_regs *a, long b, int c)
 
 #endif /* CONFIG_VM86 */
 
-#endif /* __KERNEL__ */
-
 #endif /* _ASM_X86_VM86_H */