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 32-bit Intel processors,
and should not be used in programs intended to be portable.
This page is part of release 3.27 of the Linux
A description of the project,
and information about reporting bugs,
can be found at