Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Apr 2003 21:32:13 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 28176 for review
Message-ID:  <200304050532.h355WDs8015446@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=28176

Change 28176 by peter@peter_overcee on 2003/04/04 21:32:09

	convert fu*

Affected files ...

.. //depot/projects/hammer/sys/x86_64/x86_64/support.s#11 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/x86_64/support.s#11 (text+ko) ====

@@ -180,16 +180,16 @@
  * casuptr.  Compare and set user pointer.  Returns -1 or the current value.
  */
 ENTRY(casuptr)
-	movl	PCPU(CURPCB),%ecx
-	movl	$fusufault,PCB_ONFAULT(%ecx)
-	movl	4(%esp),%edx			/* dst */
-	movl	8(%esp),%eax			/* old */
-	movl	12(%esp),%ecx			/* new */
+	movq	PCPU(CURPCB),%rcx
+	movq	$fusufault,PCB_ONFAULT(%rcx)
+	movq	8(%esp),%rdx			/* dst */
+	movq	16(%esp),%rax			/* old */
+	movq	24(%esp),%rcx			/* new */
 
-	cmpl	$VM_MAXUSER_ADDRESS-4,%edx	/* verify address is valid */
+	cmpq	$VM_MAXUSER_ADDRESS-4,%rdx	/* verify address is valid */
 	ja	fusufault
 
-	cmpxchgl %ecx, (%edx)
+	cmpxchgq %rcx, (%rdx)
 
 	/*
 	 * The old value is in %eax.  If the store succeeded it will be the
@@ -197,9 +197,9 @@
 	 * be the current value.
 	 */
 
-	movl	PCPU(CURPCB),%ecx
-	movl	$fusufault,PCB_ONFAULT(%ecx)
-	movl	$0,PCB_ONFAULT(%ecx)
+	movq	PCPU(CURPCB),%rcx
+	movq	$fusufault,PCB_ONFAULT(%rcx)
+	movq	$0,PCB_ONFAULT(%rcx)
 	ret
 
 /*
@@ -208,15 +208,17 @@
  *	Fetch a byte (sword, word) from user memory
  */
 ENTRY(fuword)
-	movl	PCPU(CURPCB),%ecx
-	movl	$fusufault,PCB_ONFAULT(%ecx)
-	movl	4(%esp),%edx			/* from */
+	movq	PCPU(CURPCB),%rcx
+	movq	$fusufault,PCB_ONFAULT(%rcx)
+	movq	8(%rsp),%edx			/* from */
 
-	cmpl	$VM_MAXUSER_ADDRESS-4,%edx	/* verify address is valid */
+	cmpq	$VM_MAXUSER_ADDRESS-4,%edx	/* verify address is valid */
 	ja	fusufault
 
-	movl	(%edx),%eax
-	movl	$0,PCB_ONFAULT(%ecx)
+# XXX use the 64 extend
+	xorq	%rax, %rax
+	movl	(%rdx),%eax
+	movq	$0,PCB_ONFAULT(%rcx)
 	ret
 
 ENTRY(fuword32)
@@ -230,45 +232,49 @@
  */
 ALTENTRY(suswintr)
 ENTRY(fuswintr)
-	movl	$-1,%eax
+	movq	$-1,%rax
 	ret
 
 /*
  * fuword16 - MP SAFE
  */
 ENTRY(fuword16)
-	movl	PCPU(CURPCB),%ecx
-	movl	$fusufault,PCB_ONFAULT(%ecx)
-	movl	4(%esp),%edx
+	movq	PCPU(CURPCB),%rcx
+	movq	$fusufault,PCB_ONFAULT(%rcx)
+	movq	8(%rsp),%rdx
 
-	cmpl	$VM_MAXUSER_ADDRESS-2,%edx
+	cmpq	$VM_MAXUSER_ADDRESS-2,%rdx
 	ja	fusufault
 
-	movzwl	(%edx),%eax
-	movl	$0,PCB_ONFAULT(%ecx)
+# XXX use the 64 extend
+	xorq	%rax, %rax
+	movzwl	(%rdx),%eax
+	movq	$0,PCB_ONFAULT(%rcx)
 	ret
 
 /*
  * fubyte - MP SAFE
  */
 ENTRY(fubyte)
-	movl	PCPU(CURPCB),%ecx
-	movl	$fusufault,PCB_ONFAULT(%ecx)
-	movl	4(%esp),%edx
+	movq	PCPU(CURPCB),%rcx
+	movq	$fusufault,PCB_ONFAULT(%rcx)
+	movq	8(%rsp),%edx
 
-	cmpl	$VM_MAXUSER_ADDRESS-1,%edx
+	cmpq	$VM_MAXUSER_ADDRESS-1,%rdx
 	ja	fusufault
 
-	movzbl	(%edx),%eax
-	movl	$0,PCB_ONFAULT(%ecx)
+# XXX use the 64 extend
+	xorq	%rax, %rax
+	movzbl	(%rdx),%eax
+	movl	$0,PCB_ONFAULT(%rcx)
 	ret
 
 	ALIGN_TEXT
 fusufault:
-	movl	PCPU(CURPCB),%ecx
-	xorl	%eax,%eax
-	movl	%eax,PCB_ONFAULT(%ecx)
-	decl	%eax
+	movq	PCPU(CURPCB),%rcx
+	xorq	%rax,%rax
+	movq	%rax,PCB_ONFAULT(%rcx)
+	decq	%rax
 	ret
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304050532.h355WDs8015446>