summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/i386/i386/kvm86call.S10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/arch/i386/i386/kvm86call.S b/sys/arch/i386/i386/kvm86call.S
index 0f022e852e5..de48f15ef8a 100644
--- a/sys/arch/i386/i386/kvm86call.S
+++ b/sys/arch/i386/i386/kvm86call.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: kvm86call.S,v 1.3 2006/11/30 00:05:40 gwk Exp $ */
+/* $OpenBSD: kvm86call.S,v 1.4 2006/12/11 23:45:13 gwk Exp $ */
/* $NetBSD: kvm86call.S,v 1.7 2006/04/11 17:14:07 drochner Exp $ */
/*-
@@ -88,9 +88,11 @@ ENTRY(kvm86_call)
leal _C_LABEL(cpu_info_primary),%ecx
#endif
- pushl %eax
- movl vm86pcb,%eax
- movl %eax,CPU_INFO_CURPCB(%ecx)
+ movl CPU_INFO_CURPCB(%ecx),%eax
+ pushl %eax /* save curpcb */
+
+ movl vm86pcb,%eax
+ movl %eax,CPU_INFO_CURPCB(%ecx) /* set curpcb to vm86pcb */
movl CPU_INFO_CURPROC(%ecx),%ecx
movl P_MD_TSS_SEL(%ecx),%edi