History

Merge tag 'hyperv-next-signed-20220114' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux

Pull hyperv updates from Wei Liu: - More patches for Hyper-V isolation VM support (Tianyu Lan) - Bug fixes and clean-up patches from various people * tag 'hyperv-next-signed-20220114' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: scsi: storvsc: Fix storvsc_queuecommand() memory leak x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi() Drivers: hv: vmbus: Initialize request offers message for Isolation VM scsi: storvsc: Fix unsigned comparison to zero swiotlb: Add CONFIG_HAS_IOMEM check around swiotlb_mem_remap() x86/hyperv: Fix definition of hv_ghcb_pg variable Drivers: hv: Fix definition of hypercall input & output arg variables net: netvsc: Add Isolation VM support for netvsc driver scsi: storvsc: Add Isolation VM support for storvsc driver hyper-v: Enable swiotlb bounce buffer for Isolation VM x86/hyper-v: Add hyperv Isolation VM check in the cc_platform_has() swiotlb: Add swiotlb bounce buffer remap function for HV IVM

Linus Torvalds committed 4 years ago

Commit cb3f09f2 parents 4d66020 4eea53318 files · +328 −45Browse files

Showing the changes to include (3 of 18 files). Show all

Unified · Split

3 files
  1. include/asm-generic/mshyperv.h +4 −2
  2. include/linux/hyperv.h +6 −0
  3. include/linux/swiotlb.h +6 −0
include/asm-generic/mshyperv.h+4−2
@@ -49,8 +49,8 @@ struct ms_hyperv_info { · 48 unmodified lines
49};49};
50extern struct ms_hyperv_info ms_hyperv;50extern struct ms_hyperv_info ms_hyperv;
51 51
52extern void __percpu **hyperv_pcpu_input_arg;52extern void * __percpu *hyperv_pcpu_input_arg;
53extern void __percpu **hyperv_pcpu_output_arg;53extern void * __percpu *hyperv_pcpu_output_arg;
54 54
55extern u64 hv_do_hypercall(u64 control, void *inputaddr, void *outputaddr);55extern u64 hv_do_hypercall(u64 control, void *inputaddr, void *outputaddr);
56extern u64 hv_do_fast_hypercall8(u16 control, u64 input8);56extern u64 hv_do_fast_hypercall8(u16 control, u64 input8);
@@ -269,6 +269,8 @@ bool hv_isolation_type_snp(void); · 212 unmodified lines
269u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size);269u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size);
270void hyperv_cleanup(void);270void hyperv_cleanup(void);
271bool hv_query_ext_cap(u64 cap_query);271bool hv_query_ext_cap(u64 cap_query);
272void *hv_map_memory(void *addr, unsigned long size);
273void hv_unmap_memory(void *addr);
272#else /* CONFIG_HYPERV */274#else /* CONFIG_HYPERV */
273static inline bool hv_is_hyperv_initialized(void) { return false; }275static inline bool hv_is_hyperv_initialized(void) { return false; }
274static inline bool hv_is_hibernation_supported(void) { return false; }276static inline bool hv_is_hibernation_supported(void) { return false; }
include/linux/hyperv.h+6−0
@@ -1261,6 +1261,7 @@ struct hv_device { · 1260 unmodified lines
1261 1261
1262 struct vmbus_channel *channel;1262 struct vmbus_channel *channel;
1263 struct kset *channels_kset;1263 struct kset *channels_kset;
1264 struct device_dma_parameters dma_parms;
1264 1265
1265 /* place holder to keep track of the dir for hv device in debugfs */1266 /* place holder to keep track of the dir for hv device in debugfs */
1266 struct dentry *debug_dir;1267 struct dentry *debug_dir;
@@ -1583,6 +1584,11 @@ struct hyperv_service_callback { · 316 unmodified lines
1583 void (*callback)(void *context);1584 void (*callback)(void *context);
1584};1585};
1585 1586
1587struct hv_dma_range {
1588 dma_addr_t dma;
1589 u32 mapping_size;
1590};
1591
1586#define MAX_SRV_VER 0x7ffffff1592#define MAX_SRV_VER 0x7ffffff
1587extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf, u32 buflen,1593extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf, u32 buflen,
1588 const int *fw_version, int fw_vercnt,1594 const int *fw_version, int fw_vercnt,
include/linux/swiotlb.h+6−0
@@ -73,6 +73,9 @@ extern enum swiotlb_force swiotlb_force; · 72 unmodified lines
73 * @end: The end address of the swiotlb memory pool. Used to do a quick73 * @end: The end address of the swiotlb memory pool. Used to do a quick
74 * range check to see if the memory was in fact allocated by this74 * range check to see if the memory was in fact allocated by this
75 * API.75 * API.
76 * @vaddr: The vaddr of the swiotlb memory pool. The swiotlb memory pool
77 * may be remapped in the memory encrypted case and store virtual
78 * address for bounce buffer operation.
76 * @nslabs: The number of IO TLB blocks (in groups of 64) between @start and79 * @nslabs: The number of IO TLB blocks (in groups of 64) between @start and
77 * @end. For default swiotlb, this is command line adjustable via80 * @end. For default swiotlb, this is command line adjustable via
78 * setup_io_tlb_npages.81 * setup_io_tlb_npages.
@@ -92,6 +95,7 @@ extern enum swiotlb_force swiotlb_force; · 13 unmodified lines
92struct io_tlb_mem {95struct io_tlb_mem {
93 phys_addr_t start;96 phys_addr_t start;
94 phys_addr_t end;97 phys_addr_t end;
98 void *vaddr;
95 unsigned long nslabs;99 unsigned long nslabs;
96 unsigned long used;100 unsigned long used;
97 unsigned int index;101 unsigned int index;
@@ -186,4 +190,6 @@ static inline bool is_swiotlb_for_alloc(struct device *dev) · 88 unmodified lines
186}190}
187#endif /* CONFIG_DMA_RESTRICTED_POOL */191#endif /* CONFIG_DMA_RESTRICTED_POOL */
188 192
193extern phys_addr_t swiotlb_unencrypted_base;
194
189#endif /* __LINUX_SWIOTLB_H */195#endif /* __LINUX_SWIOTLB_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t