[SRU][bionic/azure-4.15][PATCH 0/5] add x2apic support

Bartlomiej Zolnierkiewicz bartlomiej.zolnierkiewicz at canonical.com
Fri Dec 10 17:40:40 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1951924

[SRU Justification]

[Impact]

Current linux-azure-4.15 kernel in bionic fails to boot Standard_M416s_v2 VM because of x2apic being disabled:

[ 0.000000] x2apic: IRQ remapping doesn't support X2APIC mode
[ 0.000000] unchecked MSR access error: WRMSR to 0x1b (tried to write 0x00000000fee00100) at rIP: 0xffffffff9325d1f8 (native_write_msr+0x8/0x30)
[ 0.000000] Call Trace:
[ 0.000000] __x2apic_disable.part.5+0x49/0x80
[ 0.000000] enable_IR_x2apic+0x123/0x18c
[ 0.000000] default_setup_apic_routing+0x16/0x73
[ 0.000000] apic_intr_mode_init+0x84/0x91
[ 0.000000] x86_late_time_init+0x24/0x2b
[ 0.000000] start_kernel+0x444/0x505
[ 0.000000] x86_64_start_reservations+0x24/0x26
[ 0.000000] x86_64_start_kernel+0x74/0x77
[ 0.000000] secondary_startup_64+0xa5/0xb0
[ 0.000000] x2apic disabled
[ 0.000000] Switched APIC routing to physical flat.

[Test Plan]

Run updated kernel (with x2apic support backported from linux-azure-5.4 kernel).

It should boot fine and display:

[ 0.000000] Setting APIC routing to physical x2apic.

[Where problems could occur]

Potentially x2apic may now be used on other VM instances.

[Other Info]

None.


Lan Tianyu (2):
  x86/Hyper-V: Set x2apic destination mode to physical when x2apic is
    available
  iommu/hyper-v: Add Hyper-V stub IOMMU driver

Marcelo Henrique Cerri (1):
  UBUNTU: [Config] linux-azure: CONFIG_HYPERV_IOMMU=y

Maya Nakamura (2):
  PCI: hv: Replace hv_vp_set with hv_vpset
  PCI: hv: Refactor hv_irq_unmask() to use cpumask_to_vpset()

 arch/x86/hyperv/hv_init.c                     |   1 +
 arch/x86/kernel/cpu/mshyperv.c                |  12 ++
 debian.azure-4.15/config/annotations          |   3 +
 debian.azure-4.15/config/config.common.ubuntu |   1 +
 drivers/iommu/Kconfig                         |   9 +
 drivers/iommu/Makefile                        |   1 +
 drivers/iommu/hyperv-iommu.c                  | 196 ++++++++++++++++++
 drivers/iommu/irq_remapping.c                 |   3 +
 drivers/iommu/irq_remapping.h                 |   1 +
 drivers/pci/host/pci-hyperv.c                 |  59 +++---
 10 files changed, 254 insertions(+), 32 deletions(-)
 create mode 100644 drivers/iommu/hyperv-iommu.c

-- 
2.25.1




More information about the kernel-team mailing list