Re: [PATCH v2 06/13] mshv: detect and report SEV-SNP support at init

From: Wei Liu

Date: Mon Aug 10 2026 - 14:53:50 EST


On Mon, Aug 10, 2026 at 12:45:00PM +0000, Wei Hu wrote:
> From: Wei Liu <wei.liu@xxxxxxxxxx>
>
> Query Hyper-V dynamic processor features during mshv initialization to

s/Hyper-V/MSHV/

> determine SEV-SNP availability, and report the result: on success log the
> maximum number of encrypted partitions, otherwise log the decoded SNP
> status string so misconfigurations are diagnosable. Cloud Hypervisor
> expects the root driver to perform this capability check before SEV-SNP
> child partition setup.

No need to reference Cloud Hypervisor here. This applies to all VMMs.

>
> Signed-off-by: Wei Liu <wei.liu@xxxxxxxxxx>
> ---
> drivers/hv/mshv_root_main.c | 96 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 96 insertions(+)
>
[...]
> +static void __init mshv_check_sev_snp_support(struct device *dev)
> +{
> + struct hv_input_get_system_property *input;
> + struct hv_output_get_system_property *output;
> + unsigned long flags;
> + enum hv_snp_status snp_status;
> + u64 status;
> +
> + local_irq_save(flags);
> + input = *this_cpu_ptr(hyperv_pcpu_input_arg);
> + output = *this_cpu_ptr(hyperv_pcpu_output_arg);
> +
> + memset(input, 0, sizeof(*input));
> + input->property_id = HV_DYNAMIC_PROCESSOR_FEATURE_PROPERTY;
> + input->hv_processor_feature = HV_X64_DYNAMIC_PROCESSOR_FEATURE_SNP_STATUS;
> +
> + status = hv_do_hypercall(HVCALL_GET_SYSTEM_PROPERTY, input, output);
> + local_irq_restore(flags);
> + if (!hv_result_success(status)) {
> + dev_warn(dev, "Failed to get SNP support: %s\n",
> + hv_result_to_string(status));
> + return;
> + }
> +

Our internal testing has shown that running this on an L1VH partition
gets an error.

The error should be non-fatal. Please squash my internal patch to this
in the next revision.

Wei