Skip to content

Commit 84fdfaf

Browse files
Lan Tianyujoergroedel
authored andcommitted
x86/Hyper-V: Set x2apic destination mode to physical when x2apic is available
Hyper-V doesn't provide irq remapping for IO-APIC. To enable x2apic, set x2apic destination mode to physcial mode when x2apic is available and Hyper-V IOMMU driver makes sure cpus assigned with IO-APIC irqs have 8-bit APIC id. Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Lan Tianyu <Tianyu.Lan@microsoft.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
1 parent 5908e6b commit 84fdfaf

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

arch/x86/kernel/cpu/mshyperv.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,18 @@ static void __init ms_hyperv_init_platform(void)
328328
# ifdef CONFIG_SMP
329329
smp_ops.smp_prepare_boot_cpu = hv_smp_prepare_boot_cpu;
330330
# endif
331+
332+
/*
333+
* Hyper-V doesn't provide irq remapping for IO-APIC. To enable x2apic,
334+
* set x2apic destination mode to physcial mode when x2apic is available
335+
* and Hyper-V IOMMU driver makes sure cpus assigned with IO-APIC irqs
336+
* have 8-bit APIC id.
337+
*/
338+
# ifdef CONFIG_X86_X2APIC
339+
if (x2apic_supported())
340+
x2apic_phys = 1;
341+
# endif
342+
331343
#endif
332344
}
333345

0 commit comments

Comments
 (0)