x86/hyperv: Stop using 32-bit MSR interfaces

The 32-bit MSR interface rdmsr() is planned to be removed. Use the
related 64-bit variant instead.

This conversion also simplifies the code a bit.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: Dexuan Cui <decui@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Long Li <longli@microsoft.com>
Cc: Wei Liu <wei.liu@kernel.org>
Link: https://patch.msgid.link/20260629060526.3638272-28-jgross@suse.com
This commit is contained in:
Juergen Gross 2026-06-29 08:05:18 +02:00 committed by Ingo Molnar
parent cd5102479d
commit f1b5991064

View File

@ -60,17 +60,15 @@ void hv_enable_coco_interrupt(unsigned int cpu, unsigned int vector, bool set)
static u32 hv_apic_read(u32 reg)
{
u32 reg_val, hi;
struct msr reg_val;
switch (reg) {
case APIC_EOI:
rdmsr(HV_X64_MSR_EOI, reg_val, hi);
(void)hi;
return reg_val;
rdmsrq(HV_X64_MSR_EOI, reg_val.q);
return reg_val.l;
case APIC_TASKPRI:
rdmsr(HV_X64_MSR_TPR, reg_val, hi);
(void)hi;
return reg_val;
rdmsrq(HV_X64_MSR_TPR, reg_val.q);
return reg_val.l;
default:
return native_apic_mem_read(reg);