int vm86(unsigned long fn, struct vm86plus_struct *v86);
The system call
was introduced in Linux 0.97p2.
In Linux 2.1.15 and 2.0.28 it was renamed to
and a new
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
VM86 mode is an emulation of real mode within a protected mode task.
On success, zero is returned.
On error, -1 is returned, and
is set appropriately.
This return value is specific to i386 and indicates a problem with getting
This return value indicates the call is not implemented on the present
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 Intel processors, and should not be
used in programs intended to be portable.
This page is part of release 3.14 of the Linux
A description of the project,
and information about reporting bugs,
can be found at