mirror of
https://github.com/torvalds/linux.git
synced 2024-12-31 23:31:29 +00:00
f2f136c05f
The monitor pages in the CHANNELMSG_INITIATE_CONTACT msg are shared with host in Isolation VM and so it's necessary to use hvcall to set them visible to host. In Isolation VM with AMD SEV SNP, the access address should be in the extra space which is above shared gpa boundary. So remap these pages into the extra address(pa + shared_gpa_boundary). Introduce monitor_pages_original[] in the struct vmbus_connection to store monitor page virtual address returned by hv_alloc_hyperv_ zeroed_page() and free monitor page via monitor_pages_original in the vmbus_disconnect(). The monitor_pages[] is to used to access monitor page and it is initialized to be equal with monitor_pages_ original. The monitor_pages[] will be overridden in the isolation VM with va of extra address. Introduce monitor_pages_pa[] to store monitor pages' physical address and use it to populate pa in the initiate msg. Reviewed-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com> Link: https://lore.kernel.org/r/20211025122116.264793-9-ltykernel@gmail.com Signed-off-by: Wei Liu <wei.liu@kernel.org> |
||
---|---|---|
.. | ||
channel_mgmt.c | ||
channel.c | ||
connection.c | ||
hv_balloon.c | ||
hv_common.c | ||
hv_debugfs.c | ||
hv_fcopy.c | ||
hv_kvp.c | ||
hv_snapshot.c | ||
hv_trace_balloon.h | ||
hv_trace.c | ||
hv_trace.h | ||
hv_util.c | ||
hv_utils_transport.c | ||
hv_utils_transport.h | ||
hv.c | ||
hyperv_vmbus.h | ||
Kconfig | ||
Makefile | ||
ring_buffer.c | ||
vmbus_drv.c |