vm86(2) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | STANDARDS | COLOPHON

vm86(2)                    System Calls Manual                   vm86(2)

NAME         top

       vm86old, vm86 - enter virtual 8086 mode

LIBRARY         top

       Standard C library (libc, -lc)

SYNOPSIS         top

       #include <sys/vm86.h>

       int vm86old(struct vm86_struct *info);
       int vm86(unsigned long fn, struct vm86plus_struct *v86);

DESCRIPTION         top

       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         top

       On success, zero is returned.  On error, -1 is returned, and
       errno is set to indicate the error.

ERRORS         top

       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         top

       Linux on 32-bit Intel processors.

COLOPHON         top

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.9.1.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
       2024-06-26.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to
       [email protected]

Linux man-pages 6.9.1          2024-05-02                        vm86(2)

Pages that refer to this page: modify_ldt(2)syscalls(2)unimplemented(2)systemd.exec(5)