summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2006-12-17 03:17:46 +0000
committerkmacy <kmacy@FreeBSD.org>2006-12-17 03:17:46 +0000
commit4f9056e41299681208520834b50d9112a12ece4c (patch)
tree04c8e6d028f66fd8bdf3e2968b9e65876fd629f0 /sys/i386
parent063528d699649e66f16573e115a0407aea7fae2f (diff)
downloadFreeBSD-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.c14
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;
}
/*
OpenPOWER on IntegriCloud