From 2c1709c67bb935d25111f61c50b119d80185dc81 Mon Sep 17 00:00:00 2001 From: Kip Macy Date: Sun, 17 Dec 2006 03:17:46 +0000 Subject: [PATCH] vm86_initflags was causing gcc41 and even gcc346 to get rather confused - de-obfuscate Suggested by: kan Reviewed by: kan Tested by: kan --- sys/i386/i386/vm86.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/i386/i386/vm86.c b/sys/i386/i386/vm86.c index 875b775308a7..06597d02dd0c 100644 --- a/sys/i386/i386/vm86.c +++ b/sys/i386/i386/vm86.c @@ -509,18 +509,12 @@ full: static void vm86_initflags(struct vm86frame *vmf) { - int eflags = vmf->vmf_eflags; struct vm86_kernel *vm86 = &PCPU_GET(curpcb)->pcb_ext->ext_vm86; - if (vm86->vm86_has_vme) { - eflags = (vmf->vmf_eflags & ~VME_USERCHANGE) | - (eflags & VME_USERCHANGE) | PSL_VM; - } else { - vm86->vm86_eflags = eflags; /* save VIF, VIP */ - eflags = (vmf->vmf_eflags & ~VM_USERCHANGE) | - (eflags & VM_USERCHANGE) | PSL_VM; - } - vmf->vmf_eflags = eflags | PSL_VM; + if (!vm86->vm86_has_vme) + vm86->vm86_eflags = vmf->vmf_eflags; /* save VIF, VIP */ + + vmf->vmf_eflags |= PSL_VM; } /*