]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-x86/vm86.h
x86 - hide X86_VM_MASK from userland programs v3
[linux-2.6-omap-h63xx.git] / include / asm-x86 / vm86.h
index a5edf517b992d51a3689cb1539a7dd12f1368c13..cbf4a0effa75e908450f2eaa69c968bd5b003a80 100644 (file)
  * Linus
  */
 
-#define TF_MASK                0x00000100
-#define IF_MASK                0x00000200
-#define IOPL_MASK      0x00003000
-#define NT_MASK                0x00004000
-#ifdef CONFIG_VM86
-#define VM_MASK                0x00020000
-#else
-#define VM_MASK                0 /* ignored */
-#endif
-#define AC_MASK                0x00040000
-#define VIF_MASK       0x00080000      /* virtual interrupt flag */
-#define VIP_MASK       0x00100000      /* virtual interrupt pending */
-#define ID_MASK                0x00200000
+#include <asm/processor-flags.h>
 
 #define BIOSSEG                0x0f000
 
 #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_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 */
+#define VM86_STI       3       /* sti/popf/iret instruction enabled
+                                  virtual interrupts */
 
 /*
  * Additional return values when invoking new vm86()
@@ -137,6 +127,13 @@ struct vm86plus_struct {
 };
 
 #ifdef __KERNEL__
+
+#ifdef CONFIG_VM86
+#define X86_VM_MASK    X86_EFLAGS_VM
+#else
+#define X86_VM_MASK    0 /* No VM86 support */
+#endif
+
 /*
  * This is the (kernel) stack-layout when we have done a "SAVE_ALL" from vm86
  * mode - the main change is that the old segment descriptors aren't
@@ -195,6 +192,7 @@ struct kernel_vm86_struct {
 
 void handle_vm86_fault(struct kernel_vm86_regs *, long);
 int handle_vm86_trap(struct kernel_vm86_regs *, long, int);
+struct pt_regs *save_v86_state(struct kernel_vm86_regs *);
 
 struct task_struct;
 void release_vm86_irqs(struct task_struct *);
@@ -204,7 +202,8 @@ void release_vm86_irqs(struct task_struct *);
 #define handle_vm86_fault(a, b)
 #define release_vm86_irqs(a)
 
-static inline int handle_vm86_trap(struct kernel_vm86_regs *a, long b, int c) {
+static inline int handle_vm86_trap(struct kernel_vm86_regs *a, long b, int c)
+{
        return 0;
 }