diff options
author | kmacy <kmacy@FreeBSD.org> | 2006-12-17 03:17:46 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2006-12-17 03:17:46 +0000 |
commit | 4f9056e41299681208520834b50d9112a12ece4c (patch) | |
tree | 04c8e6d028f66fd8bdf3e2968b9e65876fd629f0 /sys/i386 | |
parent | 063528d699649e66f16573e115a0407aea7fae2f (diff) | |
download | FreeBSD-src-4f9056e41299681208520834b50d9112a12ece4c.zip FreeBSD-src-4f9056e41299681208520834b50d9112a12ece4c.tar.gz |
vm86_initflags was causing gcc41 and even gcc346 to get rather confused
- de-obfuscate
Suggested by: kan
Reviewed by: kan
Tested by: kan
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/vm86.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/sys/i386/i386/vm86.c b/sys/i386/i386/vm86.c index 875b775..06597d0 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; } /* |