Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/amd64/amd64 Fix ucas_32/ucas_64 on amd64.



details:   https://anonhg.NetBSD.org/src/rev/df59e6b4bef3
branches:  trunk
changeset: 755808:df59e6b4bef3
user:      rmind <rmind%NetBSD.org@localhost>
date:      Tue Jun 22 18:26:05 2010 +0000

description:
Fix ucas_32/ucas_64 on amd64.

diffstat:

 sys/arch/amd64/amd64/copy.S |  12 +++---------
 1 files changed, 3 insertions(+), 9 deletions(-)

diffs (47 lines):

diff -r 8f398204eb27 -r df59e6b4bef3 sys/arch/amd64/amd64/copy.S
--- a/sys/arch/amd64/amd64/copy.S       Tue Jun 22 14:54:11 2010 +0000
+++ b/sys/arch/amd64/amd64/copy.S       Tue Jun 22 18:26:05 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: copy.S,v 1.16 2009/11/27 03:23:04 rmind Exp $  */
+/*     $NetBSD: copy.S,v 1.17 2010/06/22 18:26:05 rmind Exp $  */
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -501,7 +501,7 @@
        /* Fail if kernel-space */
        movq    $VM_MAXUSER_ADDRESS-8, %r8
        cmpq    %r8, %rdi
-       ja      1f
+       ja      _C_LABEL(ucas_fault)
        /* Label for fault handler */
 .Lucas64_start:
        /* Perform the CAS */
@@ -518,9 +518,6 @@
        xorq    %rax, %rax
        /* Clear the fault handler */
        movq    %rax, PCB_ONFAULT(%r8)
-1:
-       /* Failure case */
-       movq    $EFAULT, %rax
        ret
        DEFERRED_SWITCH_CALL
 
@@ -532,7 +529,7 @@
        /* Fail if kernel-space */
        movq    $VM_MAXUSER_ADDRESS-4, %r8
        cmpq    %r8, %rdi
-       ja      1f
+       ja      _C_LABEL(ucas_fault)
        /* Label for fault handler */
 .Lucas32_start:
        /* Perform the CAS */
@@ -545,9 +542,6 @@
         */
        movl    %eax, (%rcx)
        xorq    %rax, %rax
-1:
-       /* Failure case */
-       movq    $EFAULT, %rax
        ret
        DEFERRED_SWITCH_CALL
 



Home | Main Index | Thread Index | Old Index