mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
accel/mshv: disable la57 (5lvl paging)
This change disable la57 paging on the mshv hypervisor on both the
mshv processor feature bitmap and mask the cpuid feature leaf to the
guest.
Since the removal of hypervisor-assisted gva=>gpa translation in
1c85a4a3d7 we have seen MMIO errors in guests on la57-enabled hw. We
will have to investigate and test this further.
Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
Reviewed-by: Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>
Reviewed-by: Wei Liu <wei.liu@kernel.org>
Reviewed-by: Doru Blânzeanu <dblanzeanu@linux.microsoft.com>
Link: https://lore.kernel.org/r/20260416121116.527927-10-magnuskulke@linux.microsoft.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Paolo Bonzini
parent
9c961adc87
commit
e7c9532d89
@@ -142,6 +142,8 @@ static int create_partition(int mshv_fd, int *vm_fd)
|
||||
int ret;
|
||||
uint64_t pt_flags, host_proc_features;
|
||||
union hv_partition_processor_xsave_features disabled_xsave_features;
|
||||
union hv_partition_processor_features disabled_partition_features = {0};
|
||||
|
||||
struct mshv_create_partition_v2 args = {0};
|
||||
|
||||
QEMU_BUILD_BUG_ON(MSHV_NUM_CPU_FEATURES_BANKS != 2);
|
||||
@@ -177,6 +179,11 @@ static int create_partition(int mshv_fd, int *vm_fd)
|
||||
}
|
||||
args.pt_cpu_fbanks[1] = ~host_proc_features;
|
||||
|
||||
/* arch-specific features we disable regardless of host support */
|
||||
mshv_arch_disable_partition_proc_features(&disabled_partition_features);
|
||||
args.pt_cpu_fbanks[0] |= disabled_partition_features.as_uint64[0];
|
||||
args.pt_cpu_fbanks[1] |= disabled_partition_features.as_uint64[1];
|
||||
|
||||
/* populate args structure */
|
||||
args.pt_flags = pt_flags;
|
||||
args.pt_isolation = MSHV_PT_ISOLATION_NONE;
|
||||
|
||||
Reference in New Issue
Block a user