int vm86(unsigned long fn, struct vm86plus_struct *v86);
DESCRIPTION
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.
RETURN VALUE
On success, zero is returned.
On error, -1 is returned, and
errno
is set appropriately.
ERRORS
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.)
CONFORMING TO
This call is specific to Linux on Intel processors, and should not be
used in programs intended to be portable.
COLOPHON
This page is part of release 3.14 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.