linux/arch/x86/include/uapi/asm/vm86.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_ASM_X86_VM86_H
#define _UAPI_ASM_X86_VM86_H

/*
 * I'm guessing at the VIF/VIP flag usage, but hope that this is how
 * the Pentium uses them. Linux will return from vm86 mode when both
 * VIF and VIP is set.
 *
 * On a Pentium, we could probably optimize the virtual flags directly
 * in the eflags register instead of doing it "by hand" in vflags...
 *
 * Linus
 */

#include <asm/processor-flags.h>

#define BIOSSEG

#define CPU_086
#define CPU_186
#define CPU_286
#define CPU_386
#define CPU_486
#define CPU_586

/*
 * Return values for the 'vm86()' system call
 */
#define VM86_TYPE(retval)
#define VM86_ARG(retval)

#define VM86_SIGNAL
#define VM86_UNKNOWN
#define VM86_INTx
#define VM86_STI

/*
 * Additional return values when invoking new vm86()
 */
#define VM86_PICRETURN
#define VM86_TRAP

/*
 * function codes when invoking new vm86()
 */
#define VM86_PLUS_INSTALL_CHECK
#define VM86_ENTER
#define VM86_ENTER_NO_BYPASS
#define VM86_REQUEST_IRQ
#define VM86_FREE_IRQ
#define VM86_GET_IRQ_BITS
#define VM86_GET_AND_RESET_IRQ

/*
 * This is the stack-layout seen by the user space program when we have
 * done a translation of "SAVE_ALL" from vm86 mode. The real kernel layout
 * is 'kernel_vm86_regs' (see below).
 */

struct vm86_regs {};

struct revectored_struct {};

struct vm86_struct {};

/*
 * flags masks
 */
#define VM86_SCREEN_BITMAP

struct vm86plus_info_struct {};
struct vm86plus_struct {};


#endif /* _UAPI_ASM_X86_VM86_H */