[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 07/13] HV/Vmbus: Add SNP support for VMbus channel initiate message



On Wed, Jul 28, 2021 at 10:52:22AM -0400, Tianyu Lan wrote:
> +     if (hv_is_isolation_supported()) {
> +             vmbus_connection.monitor_pages_va[0]
> +                     = vmbus_connection.monitor_pages[0];
> +             vmbus_connection.monitor_pages[0]
> +                     = memremap(msg->monitor_page1, HV_HYP_PAGE_SIZE,
> +                                MEMREMAP_WB);
> +             if (!vmbus_connection.monitor_pages[0])
> +                     return -ENOMEM;
> +
> +             vmbus_connection.monitor_pages_va[1]
> +                     = vmbus_connection.monitor_pages[1];
> +             vmbus_connection.monitor_pages[1]
> +                     = memremap(msg->monitor_page2, HV_HYP_PAGE_SIZE,
> +                                MEMREMAP_WB);
> +             if (!vmbus_connection.monitor_pages[1]) {
> +                     memunmap(vmbus_connection.monitor_pages[0]);
> +                     return -ENOMEM;
> +             }
> +
> +             memset(vmbus_connection.monitor_pages[0], 0x00,
> +                    HV_HYP_PAGE_SIZE);
> +             memset(vmbus_connection.monitor_pages[1], 0x00,
> +                    HV_HYP_PAGE_SIZE);
> +     }

Okay, let me see if I got this right. In Hyper-V Isolation VMs, when the
guest wants to make memory shared, it does":

        - Call to the Hypervisor the mark the pages shared. The
          Hypervisor will do the RMP update and remap the pages at
          (VTOM + pa)

        - The guest maps the memory again into its page-table, so that
          the entries point to the correct GPA (which is above VTOM
          now).

Or in other words, Hyper-V implements a hardware-independent and
configurable c-bit position, as the VTOM value is always power-of-two
aligned. Is that correct?
This would at least explain why there is no separate
allocation/dealloction of memory for the shared range.

Thanks,

        Joerg



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.