<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Nested hypervisor support under VBS (inc. Device Guard) in Workstation Tech Preview Discussions</title>
    <link>https://communities.vmware.com/t5/Workstation-Tech-Preview/Nested-hypervisor-support-under-VBS-inc-Device-Guard/m-p/2929480#M61</link>
    <description>&lt;P&gt;Looking at the Windows Hypervisor Platform headers it does appear to be possible.&lt;/P&gt;&lt;P&gt;There's the &lt;EM&gt;NestedVirtSupport&lt;/EM&gt; bit of the &lt;EM&gt;WHV_PROCESSOR_FEATURES1&lt;/EM&gt;&amp;nbsp; structure which is passed as the input buffer to &lt;A title="WHvSetPartitionProperty" href="https://learn.microsoft.com/en-us/virtualization/api/hypervisor-platform/funcs/whvsetpartitionproperty" target="_blank" rel="noopener"&gt;WHvSetPartitionProperty&lt;/A&gt; with the &lt;EM&gt;WHvPartitionPropertyCodeProcessorFeaturesBanks&lt;/EM&gt; property code. There's also the &lt;EM&gt;WHvPartitionPropertyCodeNestedVirtualization&lt;/EM&gt; property which appears to take a &lt;EM&gt;BOOL&lt;/EM&gt; as the input buffer to the function.&lt;/P&gt;&lt;P&gt;I'm not clear how these two approaches differ, or how one affects the other. The &lt;EM&gt;WHvPartitionPropertyCodeNestedVirtualization&lt;/EM&gt; property feels the most promising. It's noted in the &lt;A title="Data Types" href="https://learn.microsoft.com/en-us/virtualization/api/hypervisor-platform/funcs/whvpartitionpropertydatatypes" target="_self"&gt;Data Types&lt;/A&gt; documentation for the function that &lt;EM&gt;NestedVirtualisation&lt;/EM&gt; is supported since Windows 10 19H2.&lt;/P&gt;&lt;P&gt;This is from a very quick look at the API documentation and header files, so may not be 100% accurate, but overall appears promising.&lt;/P&gt;</description>
    <pubDate>Mon, 19 Sep 2022 02:46:48 GMT</pubDate>
    <dc:creator>ralish</dc:creator>
    <dc:date>2022-09-19T02:46:48Z</dc:date>
    <item>
      <title>Nested hypervisor support under VBS (inc. Device Guard)</title>
      <link>https://communities.vmware.com/t5/Workstation-Tech-Preview/Nested-hypervisor-support-under-VBS-inc-Device-Guard/m-p/2929466#M56</link>
      <description>&lt;P&gt;Seeing as the survey links are broken, at least for me (see &lt;A title=" Survey links are broken" href="https://communities.vmware.com/t5/Workstation-Tech-Preview/Survey-links-are-broken/m-p/2929465#M55" target="_blank" rel="noopener"&gt;here&lt;/A&gt;), I'm posting on the board instead.&lt;/P&gt;&lt;P&gt;A feature I haven't seen discussed but which would be extremely useful is nested hypervisor support under Hyper-V enabled hosts (i.e. using the Windows Hypervisor Platform). I've posted some thoughts about this before &lt;A title=" Nested hypervisor support under VBS" href="https://communities.vmware.com/t5/VMware-Workstation-Pro/Nested-hypervisor-support-under-VBS/m-p/2880169#M172754" target="_blank" rel="noopener"&gt;here&lt;/A&gt;, but to summarise, if running on a host which is Hyper-V enabled you can't run guests under VMware Workstation which expose Intel VT-x/EPT. I assume the same issue is present if exposing AMD-V/RVI but don't have such a system to test on. Virtualising the IOMMU does work.&lt;/P&gt;&lt;P&gt;The impact is you can't run nested virtualisation scenarios on a system with Hyper-V enabled, be it because you actually use Hyper-V alongside VMware Workstation, or it's a dependency of other features like Device Guard. Where this is particularly frustrating is it blocks running VBS enabled guests as they require VT-x/AMD-V.&lt;/P&gt;&lt;P&gt;This limitation doesn't appear to apply to Hyper-V itself, as such configurations work fine on Hyper-V VMs, which suggests it's technically possible.&lt;/P&gt;</description>
      <pubDate>Sun, 18 Sep 2022 21:32:59 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/Workstation-Tech-Preview/Nested-hypervisor-support-under-VBS-inc-Device-Guard/m-p/2929466#M56</guid>
      <dc:creator>ralish</dc:creator>
      <dc:date>2022-09-18T21:32:59Z</dc:date>
    </item>
    <item>
      <title>Re: Nested hypervisor support under VBS (inc. Device Guard)</title>
      <link>https://communities.vmware.com/t5/Workstation-Tech-Preview/Nested-hypervisor-support-under-VBS-inc-Device-Guard/m-p/2929471#M58</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.vmware.com/t5/user/viewprofilepage/user-id/272639"&gt;@ralish&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;This limitation doesn't appear to apply to Hyper-V itself, as such configurations work fine on Hyper-V VMs, which suggests it's technically possible.&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Technically possible for Hyper-V does not mean that Microsoft has made a programming interface available to do so from a programming point of view.&lt;/P&gt;&lt;P&gt;From what I understand so far, that is what is holding back VMware from having this feature. Without MS exposing this, VMware cannot provide it. It's a chicken &amp;amp; the egg problem.&lt;/P&gt;&lt;P&gt;AFAIK, there is no nested virtualisation possible when going through the &lt;A href="https://learn.microsoft.com/en-us/virtualization/api/hypervisor-platform/hypervisor-platform" target="_self"&gt;Windows Hypervisor Platform&lt;/A&gt; API's, only when using VMware's hypervisor or -like you say- using Hyper-V itself directly.&lt;/P&gt;&lt;P&gt;Perhaps this has changed with the new Workstation Tech Preview, but I've not read anything about that so far.&lt;/P&gt;&lt;P&gt;--&lt;BR /&gt;Wil&lt;/P&gt;</description>
      <pubDate>Sun, 18 Sep 2022 23:06:13 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/Workstation-Tech-Preview/Nested-hypervisor-support-under-VBS-inc-Device-Guard/m-p/2929471#M58</guid>
      <dc:creator>wila</dc:creator>
      <dc:date>2022-09-18T23:06:13Z</dc:date>
    </item>
    <item>
      <title>Re: Nested hypervisor support under VBS (inc. Device Guard)</title>
      <link>https://communities.vmware.com/t5/Workstation-Tech-Preview/Nested-hypervisor-support-under-VBS-inc-Device-Guard/m-p/2929480#M61</link>
      <description>&lt;P&gt;Looking at the Windows Hypervisor Platform headers it does appear to be possible.&lt;/P&gt;&lt;P&gt;There's the &lt;EM&gt;NestedVirtSupport&lt;/EM&gt; bit of the &lt;EM&gt;WHV_PROCESSOR_FEATURES1&lt;/EM&gt;&amp;nbsp; structure which is passed as the input buffer to &lt;A title="WHvSetPartitionProperty" href="https://learn.microsoft.com/en-us/virtualization/api/hypervisor-platform/funcs/whvsetpartitionproperty" target="_blank" rel="noopener"&gt;WHvSetPartitionProperty&lt;/A&gt; with the &lt;EM&gt;WHvPartitionPropertyCodeProcessorFeaturesBanks&lt;/EM&gt; property code. There's also the &lt;EM&gt;WHvPartitionPropertyCodeNestedVirtualization&lt;/EM&gt; property which appears to take a &lt;EM&gt;BOOL&lt;/EM&gt; as the input buffer to the function.&lt;/P&gt;&lt;P&gt;I'm not clear how these two approaches differ, or how one affects the other. The &lt;EM&gt;WHvPartitionPropertyCodeNestedVirtualization&lt;/EM&gt; property feels the most promising. It's noted in the &lt;A title="Data Types" href="https://learn.microsoft.com/en-us/virtualization/api/hypervisor-platform/funcs/whvpartitionpropertydatatypes" target="_self"&gt;Data Types&lt;/A&gt; documentation for the function that &lt;EM&gt;NestedVirtualisation&lt;/EM&gt; is supported since Windows 10 19H2.&lt;/P&gt;&lt;P&gt;This is from a very quick look at the API documentation and header files, so may not be 100% accurate, but overall appears promising.&lt;/P&gt;</description>
      <pubDate>Mon, 19 Sep 2022 02:46:48 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/Workstation-Tech-Preview/Nested-hypervisor-support-under-VBS-inc-Device-Guard/m-p/2929480#M61</guid>
      <dc:creator>ralish</dc:creator>
      <dc:date>2022-09-19T02:46:48Z</dc:date>
    </item>
  </channel>
</rss>

