hyperv-next for 5.16
-----BEGIN PGP SIGNATURE----- iQFHBAABCAAxFiEEIbPD0id6easf0xsudhRwX5BBoF4FAmGBMQUTHHdlaS5saXVA a2VybmVsLm9yZwAKCRB2FHBfkEGgXmE5B/9MK3Ju+tc6C8eyR3Ic4XBYHJ3voEKO M+R90gggBriDOgkz4B8vF+k0aD8wevXAUtmCSXonDzCh5H7GoyfrVZmJEVkwlioH ZMSMlFHcjGhCPIXhLbNtfo/NsAYEtT/lRM2lLGCSbdGuKabylXKujVdhuSIcRPdj Rj5innUgcAywOoxG6WzFt3JBzM33UQErCGfUF2b7Rvp9E+Zii4vIMxkMzUpnkEHH F8WMEdL0DqH5ThOs0MslNgy03pUC9wk1d5DNd9ytYHqiSQtcQZhFHw/P6dxzUFlW OptWv31PXUIsiJf4Zi9hmfjgUl+KZHeacZ2hXtidAo86VPcIjVs25OQW =40fn -----END PGP SIGNATURE----- Merge tag 'hyperv-next-signed-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux Pull hyperv updates from Wei Liu: - Initial patch set for Hyper-V isolation VM support (Tianyu Lan) - Fix a warning on preemption (Vitaly Kuznetsov) - A bunch of misc cleanup patches * tag 'hyperv-next-signed-20211102' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted Drivers: hv : vmbus: Adding NULL pointer check x86/hyperv: Remove duplicate include x86/hyperv: Remove duplicated include in hv_init Drivers: hv: vmbus: Remove unused code to check for subchannels Drivers: hv: vmbus: Initialize VMbus ring buffer for Isolation VM Drivers: hv: vmbus: Add SNP support for VMbus channel initiate message x86/hyperv: Add ghcb hvcall support for SNP VM x86/hyperv: Add Write/Read MSR registers via ghcb page Drivers: hv: vmbus: Mark vmbus ring buffer visible to host in Isolation VM x86/hyperv: Add new hvcall guest address host visibility support x86/hyperv: Initialize shared memory boundary in the Isolation VM. x86/hyperv: Initialize GHCB page in Isolation VM
This commit is contained in:
commit
44261f8e28
21 changed files with 761 additions and 172 deletions
|
|
@ -803,6 +803,12 @@ struct vmbus_device {
|
|||
|
||||
#define VMBUS_DEFAULT_MAX_PKT_SIZE 4096
|
||||
|
||||
struct vmbus_gpadl {
|
||||
u32 gpadl_handle;
|
||||
u32 size;
|
||||
void *buffer;
|
||||
};
|
||||
|
||||
struct vmbus_channel {
|
||||
struct list_head listentry;
|
||||
|
||||
|
|
@ -822,7 +828,7 @@ struct vmbus_channel {
|
|||
bool rescind_ref; /* got rescind msg, got channel reference */
|
||||
struct completion rescind_event;
|
||||
|
||||
u32 ringbuffer_gpadlhandle;
|
||||
struct vmbus_gpadl ringbuffer_gpadlhandle;
|
||||
|
||||
/* Allocated memory for ring buffer */
|
||||
struct page *ringbuffer_page;
|
||||
|
|
@ -1100,19 +1106,6 @@ void vmbus_set_sc_create_callback(struct vmbus_channel *primary_channel,
|
|||
void vmbus_set_chn_rescind_callback(struct vmbus_channel *channel,
|
||||
void (*chn_rescind_cb)(struct vmbus_channel *));
|
||||
|
||||
/*
|
||||
* Check if sub-channels have already been offerred. This API will be useful
|
||||
* when the driver is unloaded after establishing sub-channels. In this case,
|
||||
* when the driver is re-loaded, the driver would have to check if the
|
||||
* subchannels have already been established before attempting to request
|
||||
* the creation of sub-channels.
|
||||
* This function returns TRUE to indicate that subchannels have already been
|
||||
* created.
|
||||
* This function should be invoked after setting the callback function for
|
||||
* sub-channel creation.
|
||||
*/
|
||||
bool vmbus_are_subchannels_present(struct vmbus_channel *primary);
|
||||
|
||||
/* The format must be the same as struct vmdata_gpa_direct */
|
||||
struct vmbus_channel_packet_page_buffer {
|
||||
u16 type;
|
||||
|
|
@ -1192,10 +1185,10 @@ extern int vmbus_sendpacket_mpb_desc(struct vmbus_channel *channel,
|
|||
extern int vmbus_establish_gpadl(struct vmbus_channel *channel,
|
||||
void *kbuffer,
|
||||
u32 size,
|
||||
u32 *gpadl_handle);
|
||||
struct vmbus_gpadl *gpadl);
|
||||
|
||||
extern int vmbus_teardown_gpadl(struct vmbus_channel *channel,
|
||||
u32 gpadl_handle);
|
||||
struct vmbus_gpadl *gpadl);
|
||||
|
||||
void vmbus_reset_channel_cb(struct vmbus_channel *channel);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue