From: Xiaoyao Li <xiaoyao.li@intel.com>
To: Manish <manish.mishra@nutanix.com>, Igor Mammedov <imammedo@redhat.com>
Cc: qemu-devel@nongnu.org, berrange@redhat.com, zhao1.liu@intel.com,
pbonzini@redhat.com, bob.ball@nutanix.com,
prerna.saxena@nutanix.com, john.levon@nutanix.com
Subject: Re: [PATCH v1] target/i386: Always set leaf 0x1f
Date: Wed, 31 Jul 2024 15:02:15 +0800 [thread overview]
Message-ID: <6e65dbb2-461e-44f4-842c-249c7b333885@intel.com> (raw)
In-Reply-To: <21ca5c19-677b-4fac-84d4-72413577f260@nutanix.com>
On 7/24/2024 6:29 PM, Manish wrote:
> Thanks Igor
>
> On 24/07/24 2:30 pm, Igor Mammedov wrote:
>> !-------------------------------------------------------------------|
>> CAUTION: External Email
>>
>> |-------------------------------------------------------------------!
>>
>> On Wed, 24 Jul 2024 07:52:26 +0000
>> "manish.mishra"<manish.mishra@nutanix.com> wrote:
>>
>>> From: Manish Mishra<manish.mishra@nutanix.com>
>>>
>>> QEMU does not set 0x1f in case VM does not have extended CPU topology
>>> and expects guests to fallback to 0xb. Some versions of Windows does not
>>> like this behavior and expects this leaf to be populated. As a result
>>> Windows
>>> VM fails with blue screen.
>> BSOD usually has error code displayed, it would be better to specify
>> it here
>> this way whomever searching for the error, can find this patch/commit
> Sorry for earlier response, i do not see blue screen it seems to be
> falling in uefi back quickly and i do not see any details here. I am
> attaching image.
>>
>>> Leaf 0x1f is superset of 0xb, so it makes sense to set 0x1f equivalent
>>> to 0xb by default and workaround windows issue.>
>>> This change adds a
>>> new property 'cpuid-0x1f-enforce' to set leaf 0x1f equivalent to 0xb in
>>> case extended CPU topology is not configured and behave as before
>>> otherwise.
>> repeating question
>> why we need to use extra property instead of just adding 0x1f leaf for
>> CPU models
>> that supposed to have it?
>
> As i mentioned in earlier response. "Windows expects it only when we
> have set max cpuid level greater than or equal to 0x1f. I mean if it is
> exposed it should not be all zeros. SapphireRapids CPU definition raised
> cpuid level to 0x20, so we starting seeing it with SapphireRapids."
>
> Windows does not expect 0x1f to be present for any CPU model. But if it
> is exposed to the guest, it expects non-zero values.
Please fix Windows!
No guarantee from Intel that leaf 0x1f should report non-zero value when
max cpuid level >= 0x1f.
Please see SDM.vol2.CPUID chapter.
INPUT EAX = 1FH: Returns V2 Extended Topology Information
When CPUID executes with EAX set to 1FH, the processor returns
information about extended topology enumeration data. Software must
detect the presence of CPUID leaf 1FH by verifying (a) the highest leaf
index supported by CPUID is >= 1FH, and (b) CPUID.1FH:EBX[15:0] reports
a non-zero value. See Table 3-17.
next prev parent reply other threads:[~2024-07-31 7:03 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-24 7:52 [PATCH v1] target/i386: Always set leaf 0x1f manish.mishra
2024-07-24 9:00 ` Igor Mammedov
2024-07-24 10:29 ` Manish
2024-07-24 11:13 ` John Levon
2024-07-24 12:38 ` Manish
2024-07-24 12:54 ` Igor Mammedov
2024-07-24 13:50 ` Manish
2024-07-24 15:00 ` Zhao Liu
2024-07-29 6:49 ` Manish
2024-07-29 12:18 ` Igor Mammedov
2024-07-29 12:42 ` Manish
2024-07-30 11:39 ` Igor Mammedov
2024-07-31 14:00 ` Manish
2024-08-02 2:33 ` Zhao Liu
2024-07-31 7:02 ` Xiaoyao Li [this message]
2024-07-31 8:49 ` John Levon
2024-07-31 15:31 ` Xiaoyao Li
2024-08-01 10:06 ` Manish
2024-08-01 10:25 ` Igor Mammedov
2024-08-01 15:11 ` Xiaoyao Li
2024-08-01 16:46 ` Manish
2024-08-02 7:35 ` Xiaoyao Li
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=6e65dbb2-461e-44f4-842c-249c7b333885@intel.com \
--to=xiaoyao.li@intel.com \
--cc=berrange@redhat.com \
--cc=bob.ball@nutanix.com \
--cc=imammedo@redhat.com \
--cc=john.levon@nutanix.com \
--cc=manish.mishra@nutanix.com \
--cc=pbonzini@redhat.com \
--cc=prerna.saxena@nutanix.com \
--cc=qemu-devel@nongnu.org \
--cc=zhao1.liu@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).