The mshv_mem_region structure represents guest address space regions, which can be either RAM-backed memory or memory-mapped IO regions without physical backing. The "mem_" prefix incorrectly suggests the structure only handles memory regions, creating confusion about its actual purpose.
Remove the "mem_" prefix to align with existing function naming (mshv_region_map, mshv_region_pin, etc.) and accurately reflect that this structure manages arbitrary guest address space mappings regardless of their backing type. Signed-off-by: Stanislav Kinsburskii <[email protected]> --- drivers/hv/mshv_regions.c | 76 ++++++++++++++++++++++--------------------- drivers/hv/mshv_root.h | 22 ++++++------ drivers/hv/mshv_root_main.c | 22 ++++++------ 3 files changed, 60 insertions(+), 60 deletions(-) diff --git a/drivers/hv/mshv_regions.c b/drivers/hv/mshv_regions.c index 894eb4dcad93f..f81951ae3f808 100644 --- a/drivers/hv/mshv_regions.c +++ b/drivers/hv/mshv_regions.c @@ -32,7 +32,7 @@ static inline bool mshv_pfn_valid(unsigned long pfn) return pfn != MSHV_INVALID_PFN; } -static void mshv_region_init_pfns_range(struct mshv_mem_region *region, +static void mshv_region_init_pfns_range(struct mshv_region *region, u64 pfn_offset, u64 pfn_count) { u64 i; @@ -41,7 +41,7 @@ static void mshv_region_init_pfns_range(struct mshv_mem_region *region, region->mreg_pfns[i] = MSHV_INVALID_PFN; } -void mshv_region_init_pfns(struct mshv_mem_region *region) +void mshv_region_init_pfns(struct mshv_region *region) { mshv_region_init_pfns_range(region, 0, region->nr_pfns); } @@ -106,7 +106,7 @@ static int mshv_chunk_stride(unsigned long pfn, u64 gfn, u64 pfn_count) * Return: Length of the run in PFNs, or a negative errno from * mshv_chunk_stride() if the backing folio order is unsupported. */ -static long mshv_region_chunk_size(struct mshv_mem_region *region, +static long mshv_region_chunk_size(struct mshv_region *region, u64 pfn_offset, u64 pfn_count, bool *huge_page) { @@ -164,10 +164,10 @@ static long mshv_region_chunk_size(struct mshv_mem_region *region, * * Returns 0 on success, or a negative error code on failure. */ -static int mshv_region_process_range(struct mshv_mem_region *region, +static int mshv_region_process_range(struct mshv_region *region, u32 flags, u64 pfn_offset, u64 pfn_count, - int (*handler)(struct mshv_mem_region *region, + int (*handler)(struct mshv_region *region, u32 flags, u64 pfn_offset, u64 pfn_count, @@ -202,13 +202,13 @@ static int mshv_region_process_range(struct mshv_mem_region *region, return 0; } -struct mshv_mem_region *mshv_region_create(struct mshv_partition *partition, - enum mshv_region_type type, - u64 guest_pfn, u64 nr_pfns, - u64 uaddr, u32 flags, - unsigned long mmio_pfn) +struct mshv_region *mshv_region_create(struct mshv_partition *partition, + enum mshv_region_type type, + u64 guest_pfn, u64 nr_pfns, + u64 uaddr, u32 flags, + unsigned long mmio_pfn) { - struct mshv_mem_region *region; + struct mshv_region *region; int ret = 0; region = vzalloc(struct_size(region, mreg_pfns, nr_pfns)); @@ -257,7 +257,7 @@ struct mshv_mem_region *mshv_region_create(struct mshv_partition *partition, return ERR_PTR(ret); } -static int mshv_region_chunk_share(struct mshv_mem_region *region, +static int mshv_region_chunk_share(struct mshv_region *region, u32 flags, u64 pfn_offset, u64 pfn_count, bool huge_page) @@ -276,7 +276,7 @@ static int mshv_region_chunk_share(struct mshv_mem_region *region, flags, true); } -static int mshv_region_share(struct mshv_mem_region *region) +static int mshv_region_share(struct mshv_region *region) { u32 flags = HV_MODIFY_SPA_PAGE_HOST_ACCESS_MAKE_SHARED; @@ -285,7 +285,7 @@ static int mshv_region_share(struct mshv_mem_region *region) mshv_region_chunk_share); } -static int mshv_region_chunk_unshare(struct mshv_mem_region *region, +static int mshv_region_chunk_unshare(struct mshv_region *region, u32 flags, u64 pfn_offset, u64 pfn_count, bool huge_page) @@ -302,7 +302,7 @@ static int mshv_region_chunk_unshare(struct mshv_mem_region *region, flags, false); } -static int mshv_region_unshare(struct mshv_mem_region *region) +static int mshv_region_unshare(struct mshv_region *region) { u32 flags = HV_MODIFY_SPA_PAGE_HOST_ACCESS_MAKE_EXCLUSIVE; @@ -311,7 +311,7 @@ static int mshv_region_unshare(struct mshv_mem_region *region) mshv_region_chunk_unshare); } -static int mshv_region_chunk_remap(struct mshv_mem_region *region, +static int mshv_region_chunk_remap(struct mshv_region *region, u32 flags, u64 pfn_offset, u64 pfn_count, bool huge_page) @@ -333,7 +333,7 @@ static int mshv_region_chunk_remap(struct mshv_mem_region *region, region->mreg_pfns + pfn_offset); } -static int mshv_region_remap_pfns(struct mshv_mem_region *region, +static int mshv_region_remap_pfns(struct mshv_region *region, u32 map_flags, u64 pfn_offset, u64 pfn_count) { @@ -342,7 +342,7 @@ static int mshv_region_remap_pfns(struct mshv_mem_region *region, mshv_region_chunk_remap); } -static int mshv_region_map(struct mshv_mem_region *region) +static int mshv_region_map(struct mshv_region *region) { u32 map_flags = region->hv_map_flags; @@ -350,7 +350,7 @@ static int mshv_region_map(struct mshv_mem_region *region) 0, region->nr_pfns); } -static void mshv_region_invalidate_pfns(struct mshv_mem_region *region, +static void mshv_region_invalidate_pfns(struct mshv_region *region, u64 pfn_offset, u64 pfn_count) { u64 i; @@ -366,12 +366,12 @@ static void mshv_region_invalidate_pfns(struct mshv_mem_region *region, mshv_region_init_pfns_range(region, pfn_offset, pfn_count); } -static void mshv_region_invalidate(struct mshv_mem_region *region) +static void mshv_region_invalidate(struct mshv_region *region) { mshv_region_invalidate_pfns(region, 0, region->nr_pfns); } -static int mshv_region_pin(struct mshv_mem_region *region) +static int mshv_region_pin(struct mshv_region *region) { u64 done_count, nr_pfns, i; unsigned long *pfns; @@ -426,7 +426,7 @@ static int mshv_region_pin(struct mshv_mem_region *region) return ret < 0 ? ret : -ENOMEM; } -static int mshv_region_chunk_unmap(struct mshv_mem_region *region, +static int mshv_region_chunk_unmap(struct mshv_region *region, u32 flags, u64 pfn_offset, u64 pfn_count, bool huge_page) @@ -439,7 +439,7 @@ static int mshv_region_chunk_unmap(struct mshv_mem_region *region, pfn_count, flags); } -static int mshv_region_unmap(struct mshv_mem_region *region) +static int mshv_region_unmap(struct mshv_region *region) { return mshv_region_process_range(region, 0, 0, region->nr_pfns, @@ -448,8 +448,8 @@ static int mshv_region_unmap(struct mshv_mem_region *region) static void mshv_region_destroy(struct kref *ref) { - struct mshv_mem_region *region = - container_of(ref, struct mshv_mem_region, mreg_refcount); + struct mshv_region *region = + container_of(ref, struct mshv_region, mreg_refcount); struct mshv_partition *partition = region->partition; int ret; @@ -473,12 +473,12 @@ static void mshv_region_destroy(struct kref *ref) vfree(region); } -void mshv_region_put(struct mshv_mem_region *region) +void mshv_region_put(struct mshv_region *region) { kref_put(®ion->mreg_refcount, mshv_region_destroy); } -int mshv_region_get(struct mshv_mem_region *region) +int mshv_region_get(struct mshv_region *region) { return kref_get_unless_zero(®ion->mreg_refcount); } @@ -505,7 +505,7 @@ int mshv_region_get(struct mshv_mem_region *region) * * Return: 0 on success, negative error code on failure. */ -static int mshv_region_hmm_fault_and_lock(struct mshv_mem_region *region, +static int mshv_region_hmm_fault_and_lock(struct mshv_region *region, unsigned long start, unsigned long end, unsigned long *pfns, @@ -595,7 +595,7 @@ static int mshv_region_hmm_fault_and_lock(struct mshv_mem_region *region, * * Return: 0 on success, negative errno on failure. */ -static int mshv_region_collect_and_map(struct mshv_mem_region *region, +static int mshv_region_collect_and_map(struct mshv_region *region, u64 pfn_offset, u64 pfn_count, bool do_fault) { @@ -640,14 +640,14 @@ static int mshv_region_collect_and_map(struct mshv_mem_region *region, return ret; } -static int mshv_region_range_fault(struct mshv_mem_region *region, +static int mshv_region_range_fault(struct mshv_region *region, u64 pfn_offset, u64 pfn_count) { return mshv_region_collect_and_map(region, pfn_offset, pfn_count, true); } -bool mshv_region_handle_gfn_fault(struct mshv_mem_region *region, u64 gfn) +bool mshv_region_handle_gfn_fault(struct mshv_region *region, u64 gfn) { u64 pfn_offset, pfn_count; int ret; @@ -693,9 +693,9 @@ static bool mshv_region_interval_invalidate(struct mmu_interval_notifier *mni, const struct mmu_notifier_range *range, unsigned long cur_seq) { - struct mshv_mem_region *region = container_of(mni, - struct mshv_mem_region, - mreg_mni); + struct mshv_region *region = container_of(mni, + struct mshv_region, + mreg_mni); u64 pfn_offset, pfn_count; unsigned long mstart, mend; int ret = -EPERM; @@ -754,7 +754,7 @@ static const struct mmu_interval_notifier_ops mshv_region_mni_ops = { * * Return: 0 on success, negative error code on failure. */ -static int mshv_map_pinned_region(struct mshv_mem_region *region) +static int mshv_map_pinned_region(struct mshv_region *region) { struct mshv_partition *partition = region->partition; int ret; @@ -824,7 +824,7 @@ static int mshv_map_pinned_region(struct mshv_mem_region *region) * * Returns: 0 on success, negative error code on failure. */ -static int mshv_map_movable_region(struct mshv_mem_region *region) +static int mshv_map_movable_region(struct mshv_region *region) { u64 pfn, count; int ret; @@ -842,7 +842,7 @@ static int mshv_map_movable_region(struct mshv_mem_region *region) return 0; } -static int mshv_map_mmio_region(struct mshv_mem_region *region) +static int mshv_map_mmio_region(struct mshv_region *region) { return hv_call_map_mmio_pfns(region->partition->pt_id, region->start_gfn, @@ -850,7 +850,7 @@ static int mshv_map_mmio_region(struct mshv_mem_region *region) region->nr_pfns); } -int mshv_map_region(struct mshv_mem_region *region) +int mshv_map_region(struct mshv_region *region) { switch (region->mreg_type) { case MSHV_REGION_TYPE_MEM_PINNED: diff --git a/drivers/hv/mshv_root.h b/drivers/hv/mshv_root.h index 40fcf57219ece..e9bd18013b486 100644 --- a/drivers/hv/mshv_root.h +++ b/drivers/hv/mshv_root.h @@ -82,7 +82,7 @@ enum mshv_region_type { MSHV_REGION_TYPE_MMIO }; -struct mshv_mem_region { +struct mshv_region { struct hlist_node hnode; struct kref mreg_refcount; u64 nr_pfns; @@ -370,15 +370,15 @@ extern struct mshv_root mshv_root; extern enum hv_scheduler_type hv_scheduler_type; extern u8 * __percpu *hv_synic_eventring_tail; -struct mshv_mem_region *mshv_region_create(struct mshv_partition *partition, - enum mshv_region_type type, - u64 guest_pfn, u64 nr_pfns, - u64 uaddr, u32 flags, - unsigned long mmio_pfn); -void mshv_region_init_pfns(struct mshv_mem_region *region); -void mshv_region_put(struct mshv_mem_region *region); -int mshv_region_get(struct mshv_mem_region *region); -bool mshv_region_handle_gfn_fault(struct mshv_mem_region *region, u64 gfn); -int mshv_map_region(struct mshv_mem_region *region); +struct mshv_region *mshv_region_create(struct mshv_partition *partition, + enum mshv_region_type type, + u64 guest_pfn, u64 nr_pfns, + u64 uaddr, u32 flags, + unsigned long mmio_pfn); +void mshv_region_init_pfns(struct mshv_region *region); +void mshv_region_put(struct mshv_region *region); +int mshv_region_get(struct mshv_region *region); +bool mshv_region_handle_gfn_fault(struct mshv_region *region, u64 gfn); +int mshv_map_region(struct mshv_region *region); #endif /* _MSHV_ROOT_H_ */ diff --git a/drivers/hv/mshv_root_main.c b/drivers/hv/mshv_root_main.c index 68609f2452b3a..0e9d14d1d6167 100644 --- a/drivers/hv/mshv_root_main.c +++ b/drivers/hv/mshv_root_main.c @@ -612,10 +612,10 @@ static long mshv_run_vp_with_root_scheduler(struct mshv_vp *vp) static_assert(sizeof(struct hv_message) <= MSHV_RUN_VP_BUF_SZ, "sizeof(struct hv_message) must not exceed MSHV_RUN_VP_BUF_SZ"); -static struct mshv_mem_region * +static struct mshv_region * mshv_partition_region_by_gfn(struct mshv_partition *partition, u64 gfn) { - struct mshv_mem_region *region; + struct mshv_region *region; hlist_for_each_entry(region, &partition->pt_mem_regions, hnode) { if (gfn >= region->start_gfn && @@ -626,10 +626,10 @@ mshv_partition_region_by_gfn(struct mshv_partition *partition, u64 gfn) return NULL; } -static struct mshv_mem_region * +static struct mshv_region * mshv_partition_region_by_gfn_get(struct mshv_partition *p, u64 gfn) { - struct mshv_mem_region *region; + struct mshv_region *region; spin_lock(&p->pt_mem_regions_lock); region = mshv_partition_region_by_gfn(p, gfn); @@ -656,7 +656,7 @@ mshv_partition_region_by_gfn_get(struct mshv_partition *p, u64 gfn) static bool mshv_handle_gpa_intercept(struct mshv_vp *vp) { struct mshv_partition *p = vp->vp_partition; - struct mshv_mem_region *region; + struct mshv_region *region; bool ret = false; u64 gfn; #if defined(CONFIG_X86_64) @@ -933,7 +933,7 @@ mshv_vp_ioctl_translate_gva(struct mshv_vp *vp, void __user *user_args) return ret; if (mshv_gpa_fault_retryable(result.result_code)) { - struct mshv_mem_region *region; + struct mshv_region *region; bool faulted; region = mshv_partition_region_by_gfn_get(partition, @@ -1309,9 +1309,9 @@ static void mshv_async_hvcall_handler(void *data, u64 *status) */ static int mshv_partition_create_region(struct mshv_partition *partition, struct mshv_user_mem_region *mem, - struct mshv_mem_region **regionpp) + struct mshv_region **regionpp) { - struct mshv_mem_region *rg; + struct mshv_region *rg; enum mshv_region_type type; u64 nr_pfns = HVPFN_DOWN(mem->size); struct vm_area_struct *vma; @@ -1372,7 +1372,7 @@ static long mshv_map_user_memory(struct mshv_partition *partition, struct mshv_user_mem_region *mem) { - struct mshv_mem_region *region; + struct mshv_region *region; long ret; if (mem->flags & BIT(MSHV_SET_MEM_BIT_UNMAP) || @@ -1408,7 +1408,7 @@ static long mshv_unmap_user_memory(struct mshv_partition *partition, struct mshv_user_mem_region *mem) { - struct mshv_mem_region *region; + struct mshv_region *region; if (!(mem->flags & BIT(MSHV_SET_MEM_BIT_UNMAP))) return -EINVAL; @@ -1780,7 +1780,7 @@ remove_partition(struct mshv_partition *partition) static void destroy_partition(struct mshv_partition *partition) { struct mshv_vp *vp; - struct mshv_mem_region *region; + struct mshv_region *region; struct hlist_node *n; int i;

