VM86(2)

名前
vm86old, vm86 - 仮想 8086 モードへ移行する

書式
#include <sys/vm86.h>

int vm86old(struct vm86_struct *info);

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

説明
vm86() システムコールは Linux 0.97p2 で導入された。 これは Linux 2.1.15 と 2.0.28 で vm86old() に名前が変更され、 新しい vm86() が導入された。 struct vm86_struct の定義は 1.1.8 と 1.1.9 で変更された。

これらのコールによってプロセスは VM86 モード (Intel の文書では仮想 8086 モード) へと移行する。 これらのコールは dosemu で使用される。

VM86 モードはプロテクトモードタスクにおける リアルモードのエミュレーションである。

返り値
成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

EFAULT
    この返り値は i386 固有のものであり、 ユーザー空間のデータを取得する際に問題があったことを示す。

ENOSYS
    この返り値は、このコールが現在のアーキテクチャで実装されていないことを示す。

EPERM
    Saved kernel stack exists. (This is a kernel sanity check; the saved stack should exist only within vm86 mode itself.)

準拠
この関数は 32 ビット Intel プロセッサ上の Linux 特有の関数であり、 移植を意図したプログラムでは使用すべきでない。

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。