kazmax - Linux で自宅サーバー

vm86 - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 準拠

名前

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 モードで しか存在しない。)

準拠

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