Module Name: src
Committed By: kiyohara
Date: Tue Jan 15 13:43:27 UTC 2013
Modified Files:
src/sys/arch/ia64/ia64: context.S
Log Message:
cpu_switchto() returns argument oldlwp. Not &ci->ci_curlwp.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/ia64/context.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/ia64/ia64/context.S
diff -u src/sys/arch/ia64/ia64/context.S:1.3 src/sys/arch/ia64/ia64/context.S:1.4
--- src/sys/arch/ia64/ia64/context.S:1.3 Fri Nov 27 03:23:10 2009
+++ src/sys/arch/ia64/ia64/context.S Tue Jan 15 13:43:27 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: context.S,v 1.3 2009/11/27 03:23:10 rmind Exp $ */
+/* $NetBSD: context.S,v 1.4 2013/01/15 13:43:27 kiyohara Exp $ */
/*
* Copyright (c) 2003 Marcel Moolenaar
@@ -28,7 +28,6 @@
* $FreeBSD: src/sys/ia64/ia64/context.S,v 1.3 2003/07/02 12:57:07 ru Exp $
*/
-#include <sys/cdefs.h>
#include <machine/asm.h>
#include "assym.h"
@@ -831,13 +830,19 @@ ENTRY(cpu_switchto, 3)
mov loc1=rp // save rp (loc1 = rp)
;;
}
+{ .mmi
+ st8 [r14]=in1 // ci->ci_curlwp = newlwp
+ mov r9=in0 // r9 = oldlwp
+ nop 0
+ ;;
+}
{ .mmb
+ nop 0
/*
* Switch to new context, if p6 == true.
* We assum to return to restorectx_return_here for swapped context.
*/
-(p6) ld8 out0=[r3] // if (p6) out0 = pcb of &newlwp
- xchg8 r9=[r14],in1 // ci->ci_curlwp = newlwp
+(p6) ld8 out0=[r3] // out0 = pcb of &newlwp
(p6) br.call.sptk.many rp=restorectx // if (p6) restorectx(out0)
;;
}