Re: [BUG] kvm: guest can not startup due to triple fault

Avi Kivity
2010-10-18T13:50:20Z

On 10/18/2010 03:46 PM, Avi Kivity wrote:
> On 10/18/2010 03:45 PM, Dave Young wrote:
>> On Mon, Oct 18, 2010 at 03:26:30PM +0200, Avi Kivity wrote:
>> > On 10/18/2010 02:58 PM, Dave Young wrote:
>> > >>
>> > >> It's secondary_startup_64 enabling efer.sce and efer.nx.
>> > >>
>> > >> Dave, please post your /proc/cpuinfo. Is your host running
>> with NX
>> > >> disabled?
>> > >
>> > >I see nx bit in /proc/cpuinfo, Actually I don't know how to
>> disable it.
>> >
>> > Strange.
>> >
>> > Please patch arch/x86/kvm/x86.c to printk efer_reserved_bits (a
>> > global), efer (an argument) and old_efer (a local), and post the
>> > results.
>>
>> I add printk before kvm_mmu_reset_context(vcpu), correct? get
>> following value:
>>
>
> Add it at the beginning please, otherwise we'll miss the important one
> due to an early return.
>

No need actually:

> [ 3228.468325] efer_reserved_bits = 0xfffffffffffffafe

Bit 11 is reserved, so the guest can't enable nx.

From arch/x86/kvm/vmx.c:
> static __init int hardware_setup(void)
> {
> if (setup_vmcs_config(&vmcs_config) < 0)
> return -EIO;
>
> if (boot_cpu_has(X86_FEATURE_NX))
> kvm_enable_efer_bits(EFER_NX);
>

Please patch hardware_setup() to show the value of
boot_cpu_has(X86_FEATURE_NX).

--
error compiling committee.c: too many arguments to function