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
- 保存されたカーネルスタックが既に存在している。(これはカーネルが通常の
状態であるかをチェックしている。保存されたスタックは
vm86 モードで
しか存在しない。)
この関数は 32 ビット Intel
プロセッサ上の Linux
特有の関数であり、
移植を意図したプログラムでは使用すべきでない。
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。