diff options
| author | Roman Kisel <romank@linux.microsoft.com> | 2025-10-08 16:34:07 -0700 |
|---|---|---|
| committer | Wei Liu <wei.liu@kernel.org> | 2025-11-15 06:18:14 +0000 |
| commit | a156ad8c508209ce22f3213d25c3c2ae1774a57d (patch) | |
| tree | 98183cc7b9144bd6d844d43fef78084438295671 /include/asm-generic | |
| parent | e6eeb3c782739cd1613a8da856b878b99f741943 (diff) | |
| download | linux-a156ad8c508209ce22f3213d25c3c2ae1774a57d.tar.gz linux-a156ad8c508209ce22f3213d25c3c2ae1774a57d.tar.bz2 linux-a156ad8c508209ce22f3213d25c3c2ae1774a57d.zip | |
arch/x86: mshyperv: Trap on access for some synthetic MSRs
hv_set_non_nested_msr() has special handling for SINT MSRs
when a paravisor is present. In addition to updating the MSR on the
host, the mirror MSR in the paravisor is updated, including with the
proxy bit. But with Confidential VMBus, the proxy bit must not be
used, so add a special case to skip it.
Signed-off-by: Roman Kisel <romank@linux.microsoft.com>
Reviewed-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: Tianyu Lan <tiala@microsoft.com>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'include/asm-generic')
| -rw-r--r-- | include/asm-generic/mshyperv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h index c328265de624..ecedab554c80 100644 --- a/include/asm-generic/mshyperv.h +++ b/include/asm-generic/mshyperv.h @@ -310,6 +310,7 @@ bool hv_isolation_type_snp(void); u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_size); u64 hv_tdx_hypercall(u64 control, u64 param1, u64 param2); void hv_enable_coco_interrupt(unsigned int cpu, unsigned int vector, bool set); +void hv_para_set_sint_proxy(bool enable); u64 hv_para_get_synic_register(unsigned int reg); void hv_para_set_synic_register(unsigned int reg, u64 val); void hyperv_cleanup(void); |
