I386_VM86(2)

명칭
i386_vm86 - vm86 에 관련하는 함수를 제어한다

프로그램 라이브러리
libc

서식
<sys/types.h> <machine/sysarch.h> <machine/vm86.h> int i386_vm86(int function, void *data)

해설
i386_vm86() (은)는 vm86 에 관련하는 다양한 함수를 호출하는데 사용합니다. function (은)는 다음의 값 중의 1 개(살)로 할 수 있습니다.

VM86_INIT
    커널의 프로세스용 vm86 파라미터 area를 초기화해, 프로세스가 vm86 호출을 할 수 있도록(듯이) 합니다. data (은)는 다음의 구조체를 가리킵니다.

        struct vm86_init_args {
                int     debug;
                int     cpu_type;
                u_char  int_map[32];
        };

    debug (은)는 디버그 코드를 온으로 하기 위해서(때문에) 사용됩니다. cpu_type (은)는 에뮤레이트중의 타입의 CPU 를 제어하는 것입니다만, 현시점에서는 실장되고 있지 않습니다. int_map (은)는, vm86 세치기를 vm86 모드로 처리할 필요가 있는지, 또는 프로세스에 반영해 되돌려질 필요가 있는지 어떤지를 결정하는 비트 맵입니다. N 차례째 의 비트가 설정되어 있는 경우, 세치기는 프로세스에 반영됩니다. 그렇지 않은 경우, vm86 세치기 테이블에 의해 디스팟치 됩니다.

vm86 모드에 들어가려면 , vm86 용으로 올바르게 설정한 머신 문맥, 그리고 PSL_VM 비트를 설정해 sigreturn(2) (을)를 호출합니다. 시그널의 전달시에 제어가 프로세스로 돌아옵니다.

반환값

에러
i386_vm86() (은)는 다음의 경우에 실패합니다.

[EINVAL]
    커널에 vm86 서포트가 없는지, 또는 무효인 함수가 지정되었습니다.

[ENOMEM]
    커널 데이터 구조체를 초기화하는데 충분한 메모리가 없습니다.

저자
이 메뉴얼 페이지는 Jonathan Lemon 하지만 작성했습니다.