[Qemu-devel] [PATCH 0/3] WHPX introduce changes for Windows Insider SDK 17110

Justin Terry (VM) via Qemu-devel posted 3 patches 7 years, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1521039163-138-1-git-send-email-juterry@microsoft.com
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test docker-quick@centos6 passed
Test s390x passed
configure              |  4 +++-
target/i386/whpx-all.c | 46 ++++++++++++++--------------------------------
2 files changed, 17 insertions(+), 33 deletions(-)
[Qemu-devel] [PATCH 0/3] WHPX introduce changes for Windows Insider SDK 17110
Posted by Justin Terry (VM) via Qemu-devel 7 years, 7 months ago
This change set fixes two breaking changes that were introduced in the
Windows Insider SDK 17110. First, a change to the WHvGetCapability function
decl to include the 'out' WrittenSizeInBytes. Second, changes to the
WHvSetPartitionProperty function decl and WHV_PARTITION_PROPERTY structure
to directly pass the PropertyCode at invocation.

Lastly, it introduces a major performance improvement in whpx_vcpu_post_run
using the VpContext exit structure rather than another round trip call to
WHvGetVirtualProcessorRegisters to synchronize vp state.

QEMU compiled against this SDK (17110+) is expected to work on all Windows
Insider Builds (17115+).

Thanks,
Justin Terry

Justin Terry (VM) (3):
  WHPX fix WHvGetCapability out WrittenSizeInBytes
  WHPX fix WHvSetPartitionProperty in PropertyCode
  WHPX improve vcpu_post_run perf

 configure              |  4 +++-
 target/i386/whpx-all.c | 46 ++++++++++++++--------------------------------
 2 files changed, 17 insertions(+), 33 deletions(-)

-- 
2.13.6


Re: [Qemu-devel] [PATCH 0/3] WHPX introduce changes for Windows Insider SDK 17110
Posted by Paolo Bonzini 7 years, 7 months ago
On 14/03/2018 15:52, Justin Terry (VM) wrote:
> This change set fixes two breaking changes that were introduced in the
> Windows Insider SDK 17110. First, a change to the WHvGetCapability function
> decl to include the 'out' WrittenSizeInBytes. Second, changes to the
> WHvSetPartitionProperty function decl and WHV_PARTITION_PROPERTY structure
> to directly pass the PropertyCode at invocation.
> 
> Lastly, it introduces a major performance improvement in whpx_vcpu_post_run
> using the VpContext exit structure rather than another round trip call to
> WHvGetVirtualProcessorRegisters to synchronize vp state.
> 
> QEMU compiled against this SDK (17110+) is expected to work on all Windows
> Insider Builds (17115+).
> 
> Thanks,
> Justin Terry
> 
> Justin Terry (VM) (3):
>   WHPX fix WHvGetCapability out WrittenSizeInBytes
>   WHPX fix WHvSetPartitionProperty in PropertyCode
>   WHPX improve vcpu_post_run perf
> 
>  configure              |  4 +++-
>  target/i386/whpx-all.c | 46 ++++++++++++++--------------------------------
>  2 files changed, 17 insertions(+), 33 deletions(-)
> 

Queued, thanks.

Paolo

Re: [Qemu-devel] [PATCH 0/3] WHPX introduce changes for Windows Insider SDK 17110
Posted by Stefan Weil 6 years, 9 months ago
Am 14.03.2018 um 15:52 schrieb Justin Terry (VM) via Qemu-devel:
> This change set fixes two breaking changes that were introduced in the
> Windows Insider SDK 17110. First, a change to the WHvGetCapability function
> decl to include the 'out' WrittenSizeInBytes. Second, changes to the
> WHvSetPartitionProperty function decl and WHV_PARTITION_PROPERTY structure
> to directly pass the PropertyCode at invocation.
> 
> Lastly, it introduces a major performance improvement in whpx_vcpu_post_run
> using the VpContext exit structure rather than another round trip call to
> WHvGetVirtualProcessorRegisters to synchronize vp state.
> 
> QEMU compiled against this SDK (17110+) is expected to work on all Windows
> Insider Builds (17115+).
> 
> Thanks,
> Justin Terry


Hi Justin,

as far as I know it still not possible to cross build a legal QEMU for
Windows on a Linux machine due to the license limitations of the SDK
which is needed. The header files needed for the QEMU build are "All
rights reserved".

People often ask me to add WHPX support to the QEMU installer for
Windows, but I have to tell them that I cannot do that currently.

This problem could be solved if the necessary header files were added to
QEMU with a permissive license by someone who has the rights to do so.

Could you add WinHvEmulation.h and WinHvPlatform.h or am I allowed to
make such files from the documentation at https://docs.microsoft.com/?

Thanks,
Stefan Weil

Re: [Qemu-devel] [PATCH 0/3] WHPX introduce changes for Windows Insider SDK 17110
Posted by Frank Yang via Qemu-devel 6 years, 9 months ago
Is this useful at all for the Android Emulator? Does it break backward
compatibility for older Windows versions?

On Thu, Jan 17, 2019 at 12:39 PM Stefan Weil <sw@weilnetz.de> wrote:

> Am 14.03.2018 um 15:52 schrieb Justin Terry (VM) via Qemu-devel:
> > This change set fixes two breaking changes that were introduced in the
> > Windows Insider SDK 17110. First, a change to the WHvGetCapability
> function
> > decl to include the 'out' WrittenSizeInBytes. Second, changes to the
> > WHvSetPartitionProperty function decl and WHV_PARTITION_PROPERTY
> structure
> > to directly pass the PropertyCode at invocation.
> >
> > Lastly, it introduces a major performance improvement in
> whpx_vcpu_post_run
> > using the VpContext exit structure rather than another round trip call to
> > WHvGetVirtualProcessorRegisters to synchronize vp state.
> >
> > QEMU compiled against this SDK (17110+) is expected to work on all
> Windows
> > Insider Builds (17115+).
> >
> > Thanks,
> > Justin Terry
>
>
> Hi Justin,
>
> as far as I know it still not possible to cross build a legal QEMU for
> Windows on a Linux machine due to the license limitations of the SDK
> which is needed. The header files needed for the QEMU build are "All
> rights reserved".
>
> People often ask me to add WHPX support to the QEMU installer for
> Windows, but I have to tell them that I cannot do that currently.
>
> This problem could be solved if the necessary header files were added to
> QEMU with a permissive license by someone who has the rights to do so.
>
> Could you add WinHvEmulation.h and WinHvPlatform.h or am I allowed to
> make such files from the documentation at https://docs.microsoft.com/?
>
> Thanks,
> Stefan Weil
>
>
Re: [Qemu-devel] [PATCH 0/3] WHPX introduce changes for Windows Insider SDK 17110
Posted by Justin Terry (VM) via Qemu-devel 6 years, 9 months ago
Hey Stefan,

Not trying to ignore you here. I have reached out to members of management on our side I just don’t have any responses yet on what we can do here. Will update as I learn more.

Thanks,
Justin Terry

> -----Original Message-----
> From: Stefan Weil <sw@weilnetz.de>
> Sent: Thursday, January 17, 2019 12:38 PM
> To: Justin Terry (VM) <juterry@microsoft.com>; qemu-devel@nongnu.org
> Cc: pbonzini@redhat.com; ehabkost@redhat.com; rth@twiddle.net
> Subject: Re: [Qemu-devel] [PATCH 0/3] WHPX introduce changes for
> Windows Insider SDK 17110
> 
> Am 14.03.2018 um 15:52 schrieb Justin Terry (VM) via Qemu-devel:
> > This change set fixes two breaking changes that were introduced in the
> > Windows Insider SDK 17110. First, a change to the WHvGetCapability
> > function decl to include the 'out' WrittenSizeInBytes. Second, changes
> > to the WHvSetPartitionProperty function decl and
> > WHV_PARTITION_PROPERTY structure to directly pass the PropertyCode at
> invocation.
> >
> > Lastly, it introduces a major performance improvement in
> > whpx_vcpu_post_run using the VpContext exit structure rather than
> > another round trip call to WHvGetVirtualProcessorRegisters to synchronize
> vp state.
> >
> > QEMU compiled against this SDK (17110+) is expected to work on all
> > Windows Insider Builds (17115+).
> >
> > Thanks,
> > Justin Terry
> 
> 
> Hi Justin,
> 
> as far as I know it still not possible to cross build a legal QEMU for Windows
> on a Linux machine due to the license limitations of the SDK which is needed.
> The header files needed for the QEMU build are "All rights reserved".
> 
> People often ask me to add WHPX support to the QEMU installer for
> Windows, but I have to tell them that I cannot do that currently.
> 
> This problem could be solved if the necessary header files were added to
> QEMU with a permissive license by someone who has the rights to do so.
> 
> Could you add WinHvEmulation.h and WinHvPlatform.h or am I allowed to
> make such files from the documentation at
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs
> .microsoft.com%2F&amp;data=02%7C01%7Cjuterry%40microsoft.com%7Cae
> d2532cd05b4f2a5a0208d67cbba58f%7C72f988bf86f141af91ab2d7cd011db47%
> 7C1%7C0%7C636833542719466921&amp;sdata=%2FA7Kjkx5fnjMVnqezdmqi
> wgCZAFwoaNe2oCA%2BSdPbuo%3D&amp;reserved=0?
> 
> Thanks,
> Stefan Weil