| .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) |
| .\" Copyright 1997 Andries E. Brouwer (aeb@cwi.nl) |
| .\" |
| .\" %%%LICENSE_START(VERBATIM) |
| .\" Permission is granted to make and distribute verbatim copies of this |
| .\" manual provided the copyright notice and this permission notice are |
| .\" preserved on all copies. |
| .\" |
| .\" Permission is granted to copy and distribute modified versions of this |
| .\" manual under the conditions for verbatim copying, provided that the |
| .\" entire resulting derived work is distributed under the terms of a |
| .\" permission notice identical to this one. |
| .\" |
| .\" Since the Linux kernel and libraries are constantly changing, this |
| .\" manual page may be incorrect or out-of-date. The author(s) assume no |
| .\" responsibility for errors or omissions, or for damages resulting from |
| .\" the use of the information contained herein. The author(s) may not |
| .\" have taken the same level of care in the production of this manual, |
| .\" which is licensed free of charge, as they might when working |
| .\" professionally. |
| .\" |
| .\" Formatted or processed versions of this manual, if unaccompanied by |
| .\" the source, must acknowledge the copyright and authors of this work. |
| .\" %%%LICENSE_END |
| .\" |
| .TH VM86 2 2009-02-20 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| vm86old, vm86 \- enter virtual 8086 mode |
| .SH SYNOPSIS |
| .B #include <sys/vm86.h> |
| .sp |
| .BI "int vm86old(struct vm86_struct *" info ); |
| .sp |
| .BI "int vm86(unsigned long " fn ", struct vm86plus_struct *" v86 ); |
| .SH DESCRIPTION |
| The system call |
| .BR vm86 () |
| was introduced in Linux 0.97p2. |
| In Linux 2.1.15 and 2.0.28, it was renamed to |
| .BR vm86old (), |
| and a new |
| .BR vm86 () |
| was introduced. |
| The definition of |
| .IR "struct vm86_struct" |
| was changed |
| in 1.1.8 and 1.1.9. |
| .LP |
| These calls cause the process to enter VM86 mode (virtual-8086 in Intel |
| literature), and are used by |
| .BR dosemu . |
| .PP |
| VM86 mode is an emulation of real mode within a protected mode task. |
| .SH RETURN VALUE |
| On success, zero is returned. |
| On error, \-1 is returned, and |
| .I errno |
| is set appropriately. |
| .SH ERRORS |
| .TP |
| .B EFAULT |
| This return value is specific to i386 and indicates a problem with getting |
| user-space data. |
| .TP |
| .B ENOSYS |
| This return value indicates the call is not implemented on the present |
| architecture. |
| .TP |
| .B EPERM |
| Saved kernel stack exists. |
| (This is a kernel sanity check; the saved |
| stack should exist only within vm86 mode itself.) |
| .SH CONFORMING TO |
| This call is specific to Linux on 32-bit Intel processors, |
| and should not be used in programs intended to be portable. |