1VM86(2) Linux Programmer's Manual VM86(2)
2
3
4
6 vm86old, vm86 - enter virtual 8086 mode
7
9 #include <sys/vm86.h>
10
11 int vm86old(struct vm86_struct *info);
12
13 int vm86(unsigned long fn, struct vm86plus_struct *v86);
14
16 The system call vm86() was introduced in Linux 0.97p2. In Linux 2.1.15
17 and 2.0.28 it was renamed to vm86old(), and a new vm86() was intro‐
18 duced. The definition of struct vm86_struct was changed in 1.1.8 and
19 1.1.9.
20
21 These calls cause the process to enter VM86 mode (virtual-8086 in Intel
22 literature), and are used by dosemu.
23
24 VM86 mode is an emulation of real mode within a protected mode task.
25
27 On success, zero is returned. On error, -1 is returned, and errno is
28 set appropriately.
29
31 EFAULT This return value is specific to i386 and indicates a problem
32 with getting userspace data.
33
34 ENOSYS This return value indicates the call is not implemented on the
35 present architecture.
36
37 EPERM Saved kernel stack exists. (This is a kernel sanity check; the
38 saved stack should only exist within vm86 mode itself.)
39
41 This call is specific to Linux on 32-bit Intel processors, and should
42 not be used in programs intended to be portable.
43
45 This page is part of release 3.22 of the Linux man-pages project. A
46 description of the project, and information about reporting bugs, can
47 be found at http://www.kernel.org/doc/man-pages/.
48
49
50
51Linux 2009-02-20 VM86(2)