Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/ia64/ia64 cpu_switchto() returns argument oldlwp. ...
details: https://anonhg.NetBSD.org/src/rev/dbfc54aa7046
branches: trunk
changeset: 784032:dbfc54aa7046
user: kiyohara <kiyohara%NetBSD.org@localhost>
date: Tue Jan 15 13:43:27 2013 +0000
description:
cpu_switchto() returns argument oldlwp. Not &ci->ci_curlwp.
diffstat:
sys/arch/ia64/ia64/context.S | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diffs (39 lines):
diff -r a47e08d2274c -r dbfc54aa7046 sys/arch/ia64/ia64/context.S
--- a/sys/arch/ia64/ia64/context.S Tue Jan 15 13:30:12 2013 +0000
+++ b/sys/arch/ia64/ia64/context.S Tue Jan 15 13:43:27 2013 +0000
@@ -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 @@
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)
;;
}
Home |
Main Index |
Thread Index |
Old Index