Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-2-0]: src/sys/arch/xen/i386 Pull up revision 1.7 (requested by tl...
details: https://anonhg.NetBSD.org/src/rev/768296fc6a5c
branches: netbsd-2-0
changeset: 564654:768296fc6a5c
user: jdc <jdc%NetBSD.org@localhost>
date: Fri Jan 07 15:54:20 2005 +0000
description:
Pull up revision 1.7 (requested by tls in ticket #1043).
HYPERVISOR_yield is one of the hypervisor calls that's "overloaded"; it
does different things depending what's in %ebx.
We weren't setting %ebx here *at all*; so we did not get SCHEDOP_yield,
which was what was wanted; so unpredictable things happened, notably
immediate return to the NetBSD idle loop, in other words spinning on CPU.
Definitely not cool!
Michael Kukat caught this one and suggested this fix on port-xen.
diffstat:
sys/arch/xen/i386/locore.S | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diffs (25 lines):
diff -r c498e7b1a437 -r 768296fc6a5c sys/arch/xen/i386/locore.S
--- a/sys/arch/xen/i386/locore.S Fri Jan 07 15:26:53 2005 +0000
+++ b/sys/arch/xen/i386/locore.S Fri Jan 07 15:54:20 2005 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.S,v 1.2.2.2 2004/09/23 02:41:01 jmc Exp $ */
+/* $NetBSD: locore.S,v 1.2.2.3 2005/01/07 15:54:20 jdc Exp $ */
/* NetBSD: locore.S,v 1.26 2004/04/12 13:17:46 yamt Exp */
/*-
@@ -238,6 +238,7 @@
#include <machine/xen.h>
#define __HYPERVISOR_yield 8
+#define __SCHEDOP_yield 0
.space 512
tmpstk:
@@ -1610,6 +1611,7 @@
jmp idle_start
4:
movl $__HYPERVISOR_yield,%eax
+ movl $__SCHEDOP_yield,%ebx
TRAP_INSTR
NENTRY(mpidle)
idle_start:
Home |
Main Index |
Thread Index |
Old Index