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>
 # ifdef CONFIG_SMP
        smp_ops.smp_prepare_boot_cpu = hv_smp_prepare_boot_cpu;
 # endif
+
+       /*
+        * 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.
+        */
+# ifdef CONFIG_X86_X2APIC
+       if (x2apic_supported())
+               x2apic_phys = 1;
+# endif
+
 #endif
 }