Lines Matching refs:vm86
84 #define VFLAGS (*(unsigned short *)&(current->thread.vm86->veflags))
85 #define VEFLAGS (current->thread.vm86->veflags)
98 struct vm86 *vm86 = current->thread.vm86; in save_v86_state() local
108 if (!vm86 || !vm86->user_vm86) { in save_v86_state()
112 set_flags(regs->pt.flags, VEFLAGS, X86_EFLAGS_VIF | vm86->veflags_mask); in save_v86_state()
113 user = vm86->user_vm86; in save_v86_state()
115 if (!access_ok(VERIFY_WRITE, user, vm86->vm86plus.is_vm86pus ? in save_v86_state()
140 put_user_ex(vm86->screen_bitmap, &user->screen_bitmap); in save_v86_state()
148 tsk->thread.sp0 = vm86->saved_sp0; in save_v86_state()
151 vm86->saved_sp0 = 0; in save_v86_state()
154 memcpy(®s->pt, &vm86->regs32, sizeof(struct pt_regs)); in save_v86_state()
156 lazy_load_gs(vm86->regs32.gs); in save_v86_state()
204 SYSCALL_DEFINE2(vm86, unsigned long, cmd, unsigned long, arg) in SYSCALL_DEFINE2() argument
231 struct vm86 *vm86 = tsk->thread.vm86; in do_sys_vm86() local
262 if (!vm86) { in do_sys_vm86()
263 if (!(vm86 = kzalloc(sizeof(*vm86), GFP_KERNEL))) in do_sys_vm86()
265 tsk->thread.vm86 = vm86; in do_sys_vm86()
267 if (vm86->saved_sp0) in do_sys_vm86()
297 get_user_ex(vm86->flags, &user_vm86->flags); in do_sys_vm86()
298 get_user_ex(vm86->screen_bitmap, &user_vm86->screen_bitmap); in do_sys_vm86()
299 get_user_ex(vm86->cpu_type, &user_vm86->cpu_type); in do_sys_vm86()
304 if (copy_from_user(&vm86->int_revectored, in do_sys_vm86()
308 if (copy_from_user(&vm86->int21_revectored, in do_sys_vm86()
313 if (copy_from_user(&vm86->vm86plus, &user_vm86->vm86plus, in do_sys_vm86()
316 vm86->vm86plus.is_vm86pus = 1; in do_sys_vm86()
318 memset(&vm86->vm86plus, 0, in do_sys_vm86()
321 memcpy(&vm86->regs32, regs, sizeof(struct pt_regs)); in do_sys_vm86()
322 vm86->user_vm86 = user_vm86; in do_sys_vm86()
336 switch (vm86->cpu_type) { in do_sys_vm86()
338 vm86->veflags_mask = 0; in do_sys_vm86()
341 vm86->veflags_mask = X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
344 vm86->veflags_mask = X86_EFLAGS_AC | X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
347 vm86->veflags_mask = X86_EFLAGS_ID | X86_EFLAGS_AC | X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
354 vm86->saved_sp0 = tsk->thread.sp0; in do_sys_vm86()
355 lazy_save_gs(vm86->regs32.gs); in do_sys_vm86()
365 if (vm86->flags & VM86_SCREEN_BITMAP) in do_sys_vm86()
407 set_flags(VEFLAGS, flags, current->thread.vm86->veflags_mask); in set_vflags_long()
417 set_flags(VFLAGS, flags, current->thread.vm86->veflags_mask); in set_vflags_short()
432 return flags | (VEFLAGS & current->thread.vm86->veflags_mask); in get_vflags()
530 struct vm86 *vm86 = current->thread.vm86; in do_int() local
534 if (is_revectored(i, &vm86->int_revectored)) in do_int()
536 if (i == 0x21 && is_revectored(AH(regs), &vm86->int21_revectored)) in do_int()
560 struct vm86 *vm86 = current->thread.vm86; in handle_vm86_trap() local
562 if (vm86->vm86plus.is_vm86pus) { in handle_vm86_trap()
585 struct vm86plus_info_struct *vmpi = ¤t->thread.vm86->vm86plus; in handle_vm86_fault()