ИМЯ¶
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@perm.ru> 2004