ИМЯ
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 (виртуальный режим 8086 в литературе по Intel) и используются dosemu.
Режим VM86 − это эмуляция реального режима внутри задачи, которая работает в защищённом режиме.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха, возвращается ноль. При ошибке возвращается −1 и значение errno устанавливается соответствующим образом.
ОШИБКИ
EPERM |
Существует сохранённый стек ядра. (Это проверка ядра; сохранённый стек должен существовать только внутри самого режима vm86). | ||
EFAULT |
Возвращённое значение является специфичным для i386 и указывает на проблему получения данных в пространстве пользователя. | ||
ENOSYS |
Возвращённое значение указывает на вызов, который не реализован на данной архитектуре. |
СООТВЕТСТВИЕ СТАНДАРТАМ
Данный вызов является специфичным для Linux на процессорах Intel и не должен использоваться в программах, которые задумываются как переносимые на другие платформы.
ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone [AT] perm.ru> 2004