All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, Vadim Rozenfeld <vrozenfe@redhat.com>
Subject: Re: [PATCH] target/i386: introduce CPU property to work around Windows reset bug
Date: Thu, 24 Mar 2022 17:37:42 +0000	[thread overview]
Message-ID: <YjysZgWjdWxrZHin@redhat.com> (raw)
In-Reply-To: <78c4b687-473f-e3db-fcfd-9525e9a5c8f9@redhat.com>

On Thu, Mar 24, 2022 at 06:13:03PM +0100, Paolo Bonzini wrote:
> On 3/24/22 12:24, Paolo Bonzini wrote:
> > That said, the VMware kbase does paint a slightly different picture.  It
> > implies that starting with hardware version 11 rebooting Windows is done
> > through a hard reset instead of INIT.  I'm not sure how that would be
> > done, but in the meanwhile our fix should take care of do_cpu_init as
> > well.
> 
> Ok, so here are my findings:
> 
> - Windows resets the system by writing 0xFE to port 0x64.  This is a hard
> reset on QEMU, but presumably it was a soft reset (INIT) on VMware until
> version 10.
> 
> - QEMU _does_ try to write 0 to the TSC on hard reset.  But KVM special
> cases 0 as "somebody is trying to hot-plug a new CPU" and wants to help out,
> so it keeps the CPU synchronized with the previous TSC.
> 
> So this is a pretty clear-cut QEMU bug.  It can be fixed by e.g. writing 1
> to the TSC instead of 0.

Ah, excellant findings, so we won't need a config knob after all.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



      reply	other threads:[~2022-03-24 17:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-24  8:23 [PATCH] target/i386: introduce CPU property to work around Windows reset bug Paolo Bonzini
2022-03-24  9:13 ` Daniel P. Berrangé
2022-03-24  9:15   ` Daniel P. Berrangé
2022-03-24  9:42     ` Paolo Bonzini
2022-03-24 11:03       ` Daniel P. Berrangé
2022-03-24 11:24         ` Paolo Bonzini
2022-03-24 17:13           ` Paolo Bonzini
2022-03-24 17:37             ` Daniel P. Berrangé [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YjysZgWjdWxrZHin@redhat.com \
    --to=berrange@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vrozenfe@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.