vm86(2) System Calls Manual vm86(2)

vm86old, vm86 - wchodzi w tryb wirtualny 8086

Standardowa biblioteka C (libc, -lc)

#include <sys/vm86.h>
int vm86old(struct vm86_struct *info);
int vm86(unsigned long fn, struct vm86plus_struct *v86);

Funkcja systemowa vm86() została wprowadzona w Linuksie 0.97p2. W Linuksie 2.1.15 i 2.0.28 została ona przemianowana na vm86old(), a wprowadzona została nowa vm86(). Definicja struct vm86_struct ulegała zmianie w 1.1.8 i 1.1.9.

Funkcje te powodują wejście procesu w tryb VM86 (w literaturze Intela określany jako virtual-8086) i są wykorzystywane przez dosemu.

Tryb VM86 jest emulacją trybu rzeczywistego w zadaniu trybu chronionego.

Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując błąd.

Ta wartość jest charakterystyczna dla i386 i wskazuje na problem z uzyskiwaniem danych z przestrzeni użytkownika.
Ta wartość wskazuje, że wywołanie nie zostało zaimplementowane na bieżącej architekturze.
Istnieje zachowany stos jądra (jest to kontrola poprawności w jądrze; zachowany stos powinien istnieć jedynie w obrębie trybu vm86).

Linux na 32-bitowych procesorach Intel.

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.8