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: Isaku Yamahata
Subject: Re: Windows 10 won't run on default x86_64 machine anymore
Date: Mon, 15 Mar 2021 18:55:03 -0700
User-agent: Mutt/1.10.1 (2018-07-13)

On Mon, Mar 15, 2021 at 11:27:29PM +0100,
Reinoud Zandijk <reinoud@NetBSD.org> wrote:

> On Mon, Mar 15, 2021 at 06:53:02PM +0100, Igor Mammedov wrote:
> > Windows 10 1607x64 boots fine when I test it with default machine.
> > 
> > So
> >   1) can you provide full QEMU command line used
> >   2) What Windows build do you use
> >   3) is it existing guest image (i.e. installed in older QEMU version)
> 
> I've used:
> 
> qemu-system-x86_64 -m 4G -smp cores=2 -accel nvmm \
>       -snapshot \
>       -drive file=/home/reinoud/Downloads/Win10-demo.raw,format=raw \
>       -rtc base=localtime,clock=host \
>       -spice port=5924,disable-ticketing=on \
>       -vga qxl \
>       -usb -device usb-tablet \
>       -net nic -net tap,ifname=tap0,script=no &
> 
> 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.


> Surprisingly without accelerator ie with tcg the default machine does seem to
> get to the login prompt. Is the ACPI data tailored to indicate an
> accelerator/VM or is it static? Could it be that the CPU reported by my
> machine is causing the issue? With the NVMM accelerator it passes on the hosts

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.

Thanks,


> CPU:
> 
> cpu0: "Intel(R) Celeron(R) 2957U @ 1.40GHz"
> cpu0: Intel 4th gen Core, Xeon E3-12xx v3 (Haswell) (686-class), 1396.77 MHz
> cpu0: family 0x6 model 0x45 stepping 0x1 (id 0x40651)
> 
> Running with NVMM gives the following warnings that might be relevant though
> doesn't seem to bother the BSDs nor Linux last time I tried and Google tells
> me they are power saving related MSRs:
> 
> qemu-system-x86_64: NVMM: Unexpected RDMSR 0x611, ignored
> qemu-system-x86_64: NVMM: Unexpected RDMSR 0x641, ignored
> qemu-system-x86_64: NVMM: Unexpected RDMSR 0x606, ignored
> qemu-system-x86_64: NVMM: Unexpected RDMSR 0x606, ignored
> qemu-system-x86_64: NVMM: Unexpected RDMSR 0x641, ignored
> qemu-system-x86_64: NVMM: Unexpected RDMSR 0x611, ignored
> 
> I am not sure if that makes ACPI take a different route or not.
> 
> The Windows used is
>       Windows 10 Enterprise Evaluation
>       Build 17763.rs5_release.180914-1434
>       version 1809
> 
> The image file was downloaded pre-installed from Microsoft for Edge browser
> evaluation. I used it first on Qemu 5.1 IIRC and it kept working in Qemu 5.2.
> 
> The NVMM accelerator was presented here before but is not yet committed. Its
> API/construction is similar to WHPX.
> 
> As for the cause, I don't know; q35-6.0 works so why isn't pc-i440fx-6.0 ?
> 
> With regards,
> Reinoud
> 
> 

-- 
Isaku Yamahata <isaku.yamahata@gmail.com>



reply via email to

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