[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1264877041@msgid.manchmal.in-ulm.de>
Date: Sat, 30 Jan 2010 19:46:24 +0100
From: Christoph Biedl <linux-kernel.bfrz@...chmal.in-ulm.de>
To: linux-kernel@...r.kernel.org
Subject: Re: 2.6.32 stalls as guest in virtualbox
Christoph Biedl wrote...
(...)
Christian Ehrhard gave me a lot of help understanding the kernel sides
of that issue, thanks for this. Appearently virtualbox cannot
properly deal with the result of alternative_io in
arch/x86/include/asm/cmpxchg_32.h since this klugdy patch
--- a/arch/x86/include/asm/cmpxchg_32.h
+++ b/arch/x86/include/asm/cmpxchg_32.h
@@ -317,7 +317,7 @@ extern unsigned long long cmpxchg_486_u64(volatile void *, u64, u64);
__typeof__(*(ptr)) __ret; \
__typeof__(*(ptr)) __old = (o); \
__typeof__(*(ptr)) __new = (n); \
- alternative_io("call cmpxchg8b_emu", \
+ alternative_io("lock; cmpxchg8b (%%esi)", \
"lock; cmpxchg8b (%%esi)" , \
X86_FEATURE_CX8, \
"=A" (__ret), \
fixes the problem,
Unlike his findings described in
<http://marc.info/?l=linux-kernel&m=121545190107704&w=2>, the guest
does not crash but seems to run into a busy loop instead.
A acceptable workaround is selecting CONFIG_M686 (but not CONFIG_M586).
Now I guess this is rather something to virtualbox guys should take
care of, therefore I've opened a ticket there:
http://www.virtualbox.org/ticket/6100
Christoph
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists