Lines Matching refs:vm86

87 #define VFLAGS	(*(unsigned short *)&(current->thread.vm86->veflags))
88 #define VEFLAGS (current->thread.vm86->veflags)
100 struct vm86 *vm86 = current->thread.vm86; in save_v86_state() local
110 if (!vm86 || !vm86->user_vm86) { in save_v86_state()
114 set_flags(regs->pt.flags, VEFLAGS, X86_EFLAGS_VIF | vm86->veflags_mask); in save_v86_state()
115 user = vm86->user_vm86; in save_v86_state()
117 if (!access_ok(VERIFY_WRITE, user, vm86->vm86plus.is_vm86pus ? in save_v86_state()
142 put_user_ex(vm86->screen_bitmap, &user->screen_bitmap); in save_v86_state()
150 tsk->thread.sp0 = vm86->saved_sp0; in save_v86_state()
154 vm86->saved_sp0 = 0; in save_v86_state()
157 memcpy(&regs->pt, &vm86->regs32, sizeof(struct pt_regs)); in save_v86_state()
159 lazy_load_gs(vm86->regs32.gs); in save_v86_state()
216 SYSCALL_DEFINE2(vm86, unsigned long, cmd, unsigned long, arg) in SYSCALL_DEFINE2() argument
242 struct vm86 *vm86 = tsk->thread.vm86; in do_sys_vm86() local
273 if (!vm86) { in do_sys_vm86()
274 if (!(vm86 = kzalloc(sizeof(*vm86), GFP_KERNEL))) in do_sys_vm86()
276 tsk->thread.vm86 = vm86; in do_sys_vm86()
278 if (vm86->saved_sp0) in do_sys_vm86()
308 get_user_ex(vm86->flags, &user_vm86->flags); in do_sys_vm86()
309 get_user_ex(vm86->screen_bitmap, &user_vm86->screen_bitmap); in do_sys_vm86()
310 get_user_ex(vm86->cpu_type, &user_vm86->cpu_type); in do_sys_vm86()
315 if (copy_from_user(&vm86->int_revectored, in do_sys_vm86()
319 if (copy_from_user(&vm86->int21_revectored, in do_sys_vm86()
324 if (copy_from_user(&vm86->vm86plus, &user_vm86->vm86plus, in do_sys_vm86()
327 vm86->vm86plus.is_vm86pus = 1; in do_sys_vm86()
329 memset(&vm86->vm86plus, 0, in do_sys_vm86()
332 memcpy(&vm86->regs32, regs, sizeof(struct pt_regs)); in do_sys_vm86()
333 vm86->user_vm86 = user_vm86; in do_sys_vm86()
347 switch (vm86->cpu_type) { in do_sys_vm86()
349 vm86->veflags_mask = 0; in do_sys_vm86()
352 vm86->veflags_mask = X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
355 vm86->veflags_mask = X86_EFLAGS_AC | X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
358 vm86->veflags_mask = X86_EFLAGS_ID | X86_EFLAGS_AC | X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
365 vm86->saved_sp0 = tsk->thread.sp0; in do_sys_vm86()
366 lazy_save_gs(vm86->regs32.gs); in do_sys_vm86()
380 if (vm86->flags & VM86_SCREEN_BITMAP) in do_sys_vm86()
422 set_flags(VEFLAGS, flags, current->thread.vm86->veflags_mask); in set_vflags_long()
432 set_flags(VFLAGS, flags, current->thread.vm86->veflags_mask); in set_vflags_short()
447 return flags | (VEFLAGS & current->thread.vm86->veflags_mask); in get_vflags()
542 struct vm86 *vm86 = current->thread.vm86; in do_int() local
546 if (is_revectored(i, &vm86->int_revectored)) in do_int()
548 if (i == 0x21 && is_revectored(AH(regs), &vm86->int21_revectored)) in do_int()
572 struct vm86 *vm86 = current->thread.vm86; in handle_vm86_trap() local
574 if (vm86->vm86plus.is_vm86pus) { in handle_vm86_trap()
597 struct vm86plus_info_struct *vmpi = &current->thread.vm86->vm86plus; in handle_vm86_fault()