Re: [Lguest] 2.6.32-rc5 guest crash

From: Johannes Stezenbach
Date: Mon Oct 26 2009 - 15:10:53 EST


On Mon, Oct 26, 2009 at 02:26:04PM +1030, Rusty Russell wrote:
>
> Subject: x86: sidestep lguest problem by only building cmpxchg8b_emu for pre-Pentium
>
> Arjen's 79e1dd05d1a22 "x86: Provide an alternative() based cmpxchg64()" broke
> lguest, even on systems which have cmpxchg8b support. The emulation code
> gets used until alternatives get run, but it contains native instructions,
> not their paravirt alternatives.
>
> The simplest fix is to turn this code off except for 386 and 486 builds.
>
> Reported-by: Johannes Stezenbach <js@xxxxxxxxx>
> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
>
> diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
> --- a/arch/x86/Kconfig.cpu
> +++ b/arch/x86/Kconfig.cpu
> @@ -400,7 +400,7 @@ config X86_TSC
>
> config X86_CMPXCHG64
> def_bool y
> - depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM
> + depends on !M386 && !M486


FWIW, I've tested it both with original host kernel (only used recompiled
kernel as guest), and after reboot, the guest works in both cases and
the host kernel still boots with the patch applied.


Thanks,
Johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/