• Home
  • Raw
  • Download

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
109 if (!vm86 || !vm86->user_vm86) { in save_v86_state()
113 set_flags(regs->pt.flags, VEFLAGS, X86_EFLAGS_VIF | vm86->veflags_mask); in save_v86_state()
114 user = vm86->user_vm86; in save_v86_state()
116 if (!user_access_begin(user, vm86->vm86plus.is_vm86pus ? in save_v86_state()
147 tsk->thread.sp0 = vm86->saved_sp0; in save_v86_state()
151 vm86->saved_sp0 = 0; in save_v86_state()
154 memcpy(&regs->pt, &vm86->regs32, sizeof(struct pt_regs)); in save_v86_state()
156 lazy_load_gs(vm86->regs32.gs); in save_v86_state()
178 SYSCALL_DEFINE2(vm86, unsigned long, cmd, unsigned long, arg) in SYSCALL_DEFINE2() argument
204 struct vm86 *vm86 = tsk->thread.vm86; in do_sys_vm86() local
236 if (!vm86) { in do_sys_vm86()
237 if (!(vm86 = kzalloc(sizeof(*vm86), GFP_KERNEL))) in do_sys_vm86()
239 tsk->thread.vm86 = vm86; in do_sys_vm86()
241 if (vm86->saved_sp0) in do_sys_vm86()
276 vm86->flags = v.flags; in do_sys_vm86()
277 vm86->cpu_type = v.cpu_type; in do_sys_vm86()
279 if (copy_from_user(&vm86->int_revectored, in do_sys_vm86()
283 if (copy_from_user(&vm86->int21_revectored, in do_sys_vm86()
288 if (copy_from_user(&vm86->vm86plus, &user_vm86->vm86plus, in do_sys_vm86()
291 vm86->vm86plus.is_vm86pus = 1; in do_sys_vm86()
293 memset(&vm86->vm86plus, 0, in do_sys_vm86()
296 memcpy(&vm86->regs32, regs, sizeof(struct pt_regs)); in do_sys_vm86()
297 vm86->user_vm86 = user_vm86; in do_sys_vm86()
311 switch (vm86->cpu_type) { in do_sys_vm86()
313 vm86->veflags_mask = 0; in do_sys_vm86()
316 vm86->veflags_mask = X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
319 vm86->veflags_mask = X86_EFLAGS_AC | X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
322 vm86->veflags_mask = X86_EFLAGS_ID | X86_EFLAGS_AC | X86_EFLAGS_NT | X86_EFLAGS_IOPL; in do_sys_vm86()
329 vm86->saved_sp0 = tsk->thread.sp0; in do_sys_vm86()
330 lazy_save_gs(vm86->regs32.gs); in do_sys_vm86()
382 set_flags(VEFLAGS, flags, current->thread.vm86->veflags_mask); in set_vflags_long()
392 set_flags(VFLAGS, flags, current->thread.vm86->veflags_mask); in set_vflags_short()
407 return flags | (VEFLAGS & current->thread.vm86->veflags_mask); in get_vflags()
502 struct vm86 *vm86 = current->thread.vm86; in do_int() local
506 if (is_revectored(i, &vm86->int_revectored)) in do_int()
508 if (i == 0x21 && is_revectored(AH(regs), &vm86->int21_revectored)) in do_int()
532 struct vm86 *vm86 = current->thread.vm86; in handle_vm86_trap() local
534 if (vm86->vm86plus.is_vm86pus) { in handle_vm86_trap()
557 struct vm86plus_info_struct *vmpi = &current->thread.vm86->vm86plus; in handle_vm86_fault()