summaryrefslogtreecommitdiff
path: root/i386
diff options
context:
space:
mode:
Diffstat (limited to 'i386')
-rw-r--r--i386/i386/locore.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/i386/i386/locore.S b/i386/i386/locore.S
index 29c7791..58d5efd 100644
--- a/i386/i386/locore.S
+++ b/i386/i386/locore.S
@@ -1295,7 +1295,7 @@ Entry(copyoutmsg)
copyout_retry:
#if !defined(MACH_HYP) && !PAE
cmpl $3,machine_slot+SUB_TYPE_CPU_TYPE
- ja 0f /* Skip on i486 and above */
+ ja 1f /* Skip on i486 and above */
movl %cr3,%ecx /* point to page directory */
movl %edi,%eax /* get page directory bits */
shrl $(PDESHIFT),%eax /* from user address */
@@ -1321,7 +1321,6 @@ copyout_retry:
movl %cr3,%eax /* invalidate TLB */
movl %eax,%cr3
0:
-#endif /* !defined(MACH_HYP) && !PAE */
/*
* Copy only what fits on the current destination page.
@@ -1331,9 +1330,11 @@ copyout_retry:
andl $(-NBPG),%eax /* start of next page */
subl %edi,%eax /* get number of bytes to that point */
cmpl %edx,%eax /* bigger than count? */
- jle 1f /* if so, */
- movl %edx,%eax /* use count */
+ jle 2f /* if so, */
1:
+#endif /* !defined(MACH_HYP) && !PAE */
+ movl %edx,%eax /* use count */
+2:
/*cld*/ /* count up: always this way in GCC code */
movl %eax,%ecx /* move by longwords first */