qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows 10 won't run on default x86_64 machine anymore


From: Reinoud Zandijk
Subject: Re: Windows 10 won't run on default x86_64 machine anymore
Date: Tue, 16 Mar 2021 17:20:01 +0100

On Mon, Mar 15, 2021 at 06:55:03PM -0700, Isaku Yamahata wrote:
> > If I add in '-M pc-i440fx-5.2' it works again with the accelerator. If I add
> > in '-M q35' it does work fine with or without the accelerator.
> 
> Anyhow, can you please try "-global PIIX4_PM.smm-compat=on"
> (or "-global ICH9-LPC.smm-compat=on" if q35 is used) so that the old behavior
> is presented.

It works indeed with the default model when I specify the -global. With Q35
its not needed; it boots fine after reconfiguring itself.

> I think tcg case can be explained by x86_machine_is_smm_enabled()
> 
>   bool x86_machine_is_smm_enabled(const X86MachineState *x86ms)
>   ...
>       if (tcg_enabled() || qtest_enabled()) {
>           smm_available = true;
>       } else if (kvm_enabled()) {
>           smm_available = kvm_has_smm();
>       }
>   ...
> 
> Although I don't know about nvmm case, this function also needs to be updated
> if smi isn't supported.

The NVMM backend can only be used on x86_64 (for now) and then only for CPUs
with VMX or SVM support. It can run 32 and 64 bit OSes. On all other systems
the kernel module either does not exist or refuses to load.

NVMM has support code for it for the SVM and VMX backends and it allows them.
NVMM also handles the SMI just as WHPX does in the Qemu backend.

So maybe it an be set to default on in this test?

With regards,
Reinoud




reply via email to

[Prev in Thread] Current Thread [Next in Thread]