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
4949 };
5050 extern struct ms_hyperv_info ms_hyperv;
5151
52−extern void __percpu **hyperv_pcpu_input_arg;
53−extern void __percpu **hyperv_pcpu_output_arg;
52+extern void * __percpu *hyperv_pcpu_input_arg;
53+extern void * __percpu *hyperv_pcpu_output_arg;
5454
5555 extern u64 hv_do_hypercall(u64 control, void *inputaddr, void *outputaddr);
5656 extern u64 hv_do_fast_hypercall8(u16 control, u64 input8);
@@ -269,6 +269,8 @@ bool hv_isolation_type_snp(void); · 212 unmodified lines
269269 u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size);
270270 void hyperv_cleanup(void);
271271 bool hv_query_ext_cap(u64 cap_query);
272+void *hv_map_memory(void *addr, unsigned long size);
273+void hv_unmap_memory(void *addr);
272274 #else /* CONFIG_HYPERV */
273275 static inline bool hv_is_hyperv_initialized(void) { return false; }
274276 static 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
12611261
12621262 struct vmbus_channel *channel;
12631263 struct kset *channels_kset;
1264+ struct device_dma_parameters dma_parms;
12641265
12651266 /* place holder to keep track of the dir for hv device in debugfs */
12661267 struct dentry *debug_dir;
@@ -1583,6 +1584,11 @@ struct hyperv_service_callback { · 316 unmodified lines
15831584 void (*callback)(void *context);
15841585 };
15851586
1587+struct hv_dma_range {
1588+ dma_addr_t dma;
1589+ u32 mapping_size;
1590+};
1591+
15861592 #define MAX_SRV_VER 0x7ffffff
15871593 extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf, u32 buflen,
15881594 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
7373 * @end: The end address of the swiotlb memory pool. Used to do a quick
7474 * range check to see if the memory was in fact allocated by this
7575 * 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.
7679 * @nslabs: The number of IO TLB blocks (in groups of 64) between @start and
7780 * @end. For default swiotlb, this is command line adjustable via
7881 * setup_io_tlb_npages.
@@ -92,6 +95,7 @@ extern enum swiotlb_force swiotlb_force; · 13 unmodified lines
9295 struct io_tlb_mem {
9396 phys_addr_t start;
9497 phys_addr_t end;
98+ void *vaddr;
9599 unsigned long nslabs;
96100 unsigned long used;
97101 unsigned int index;
@@ -186,4 +190,6 @@ static inline bool is_swiotlb_for_alloc(struct device *dev) · 88 unmodified lines
186190 }
187191 #endif /* CONFIG_DMA_RESTRICTED_POOL */
188192
193+extern phys_addr_t swiotlb_unencrypted_base;
194+
189195 #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