mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
mshv: handle gpa intercepts for arm64
The mshv driver now uses movable pages for guests. For arm64 guests
to be functional, handle gpa intercepts for arm64 too (the current
code implements handling only for x86).
Move some arch-agnostic functions out of #ifdefs so that they can be
re-used.
Fixes: b9a66cd5cc ("mshv: Add support for movable memory regions")
Signed-off-by: Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
This commit is contained in:
parent
69c88a6a49
commit
12ffd561d2
|
|
@ -611,7 +611,6 @@ mshv_partition_region_by_gfn(struct mshv_partition *partition, u64 gfn)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
static struct mshv_mem_region *
|
||||
mshv_partition_region_by_gfn_get(struct mshv_partition *p, u64 gfn)
|
||||
{
|
||||
|
|
@ -643,12 +642,17 @@ static bool mshv_handle_gpa_intercept(struct mshv_vp *vp)
|
|||
{
|
||||
struct mshv_partition *p = vp->vp_partition;
|
||||
struct mshv_mem_region *region;
|
||||
struct hv_x64_memory_intercept_message *msg;
|
||||
bool ret;
|
||||
u64 gfn;
|
||||
|
||||
msg = (struct hv_x64_memory_intercept_message *)
|
||||
#if defined(CONFIG_X86_64)
|
||||
struct hv_x64_memory_intercept_message *msg =
|
||||
(struct hv_x64_memory_intercept_message *)
|
||||
vp->vp_intercept_msg_page->u.payload;
|
||||
#elif defined(CONFIG_ARM64)
|
||||
struct hv_arm64_memory_intercept_message *msg =
|
||||
(struct hv_arm64_memory_intercept_message *)
|
||||
vp->vp_intercept_msg_page->u.payload;
|
||||
#endif
|
||||
|
||||
gfn = HVPFN_DOWN(msg->guest_physical_address);
|
||||
|
||||
|
|
@ -666,9 +670,6 @@ static bool mshv_handle_gpa_intercept(struct mshv_vp *vp)
|
|||
|
||||
return ret;
|
||||
}
|
||||
#else /* CONFIG_X86_64 */
|
||||
static bool mshv_handle_gpa_intercept(struct mshv_vp *vp) { return false; }
|
||||
#endif /* CONFIG_X86_64 */
|
||||
|
||||
static bool mshv_vp_handle_intercept(struct mshv_vp *vp)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user