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 32-bit Intel processors,
and should not be used in programs intended to be portable.
COLOPHON
This page is part of release 3.27 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/.