From: Naman Jain <[email protected]> Sent: Monday, March 16, 2026 5:13 AM > > The kernel currently sets the VSM configuration register, thereby > imposing certain VSM configuration on the userspace (OpenVMM). > > The userspace (OpenVMM) has the capability to configure this register, > and it is already doing it using the generic hypercall interface. > The configuration can vary based on the use case or architectures, so > let userspace take care of configuring it and remove this logic in the > kernel driver. > > Signed-off-by: Roman Kisel <[email protected]> > Signed-off-by: Naman Jain <[email protected]> > --- > drivers/hv/mshv_vtl_main.c | 29 ----------------------------- > 1 file changed, 29 deletions(-) > > diff --git a/drivers/hv/mshv_vtl_main.c b/drivers/hv/mshv_vtl_main.c > index c79d24317b8e..4c9ae65ad3e8 100644 > --- a/drivers/hv/mshv_vtl_main.c > +++ b/drivers/hv/mshv_vtl_main.c > @@ -222,30 +222,6 @@ static int mshv_vtl_get_vsm_regs(void) > return ret; > } > > -static int mshv_vtl_configure_vsm_partition(struct device *dev) > -{ > - union hv_register_vsm_partition_config config; > - struct hv_register_assoc reg_assoc; > - > - config.as_uint64 = 0; > - config.default_vtl_protection_mask = HV_MAP_GPA_PERMISSIONS_MASK; > - config.enable_vtl_protection = 1; > - config.zero_memory_on_reset = 1; > - config.intercept_vp_startup = 1; > - config.intercept_cpuid_unimplemented = 1; > - > - if (mshv_vsm_capabilities.intercept_page_available) { > - dev_dbg(dev, "using intercept page\n"); > - config.intercept_page = 1; > - } > - > - reg_assoc.name = HV_REGISTER_VSM_PARTITION_CONFIG; > - reg_assoc.value.reg64 = config.as_uint64; > - > - return hv_call_set_vp_registers(HV_VP_INDEX_SELF, HV_PARTITION_ID_SELF, > - 1, input_vtl_zero, ®_assoc); > -} > - > static void mshv_vtl_vmbus_isr(void) > { > struct hv_per_cpu_context *per_cpu; > @@ -1168,11 +1144,6 @@ static int __init mshv_vtl_init(void) > ret = -ENODEV; > goto free_dev; > } > - if (mshv_vtl_configure_vsm_partition(dev)) { > - dev_emerg(dev, "VSM configuration failed !!\n"); > - ret = -ENODEV; > - goto free_dev; > - } > > mshv_vtl_return_call_init(mshv_vsm_page_offsets.vtl_return_offset); > ret = hv_vtl_setup_synic(); > -- > 2.43.0 >
Reviewed-by: Michael Kelley <[email protected]>

