| EFAULT | This return value is specific to i386 and indicates a problem with getting user-space 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 exist only within vm86 mode itself.) |
NAME
vm86old, vm86 - enter virtual 8086 mode
LIBRARY
Standard C library (libc, -lc)
SYNOPSIS
#include <sys/vm86.h>int vm86old(struct vm86_struct *\ninfo\n);\n
\nint vm86(unsigned long \nfn\n, struct vm86plus_struct *\nv86\n);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 to indicate the error.
ERRORS
- EFAULT
This return value is specific to i386 and indicates a problem with getting user-space 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 exist only within vm86 mode itself.)
STANDARDS
Linux on 32-bit Intel processors.