Re: 2.6.32 stalls as guest in virtualbox

From: Christoph Biedl
Date: Sat Jan 30 2010 - 13:46:35 EST

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)" , \
"=A" (__ret), \

fixes the problem,

Unlike his findings described in
<>, 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:

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at