Man Linux: Main Page and Category List


       vm86old, vm86 - enter virtual 8086 mode


       #include <sys/vm86.h>

       int vm86old(struct vm86_struct *info);

       int vm86(unsigned long fn, struct vm86plus_struct *v86);


       The system call vm86() was introduced in Linux 0.97p2.  In Linux 2.1.15
       and  2.0.28  it  was  renamed  to  vm86old(),  and  a  new  vm86()  was
       introduced.   The definition of struct vm86_struct was changed in 1.1.8
       and 1.1.9.

       These calls cause the process to enter VM86 mode (virtual-8086 in Intel
       literature), and are used by dosemu.

       VM86 mode is an emulation of real mode within a protected mode task.


       On  success,  zero is returned.  On error, -1 is returned, and errno is
       set appropriately.


       EFAULT This return value is specific to i386 and  indicates  a  problem
              with getting userspace data.

       ENOSYS This  return  value indicates the call is not implemented on the
              present architecture.

       EPERM  Saved kernel stack exists.  (This is a kernel sanity check;  the
              saved stack should only exist within vm86 mode itself.)


       This  call  is specific to Linux on 32-bit Intel processors, and should
       not be used in programs intended to be portable.


       This page is part of release 3.24 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at