[Pull Request] [impish/linux-azure] Enable arm64 for Hyper-V guests

Tim Gardner tim.gardner at canonical.com
Mon Jan 31 13:54:34 UTC 2022


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

[Impact]

Since linux-azure can also be used for local Hyper-V guests on
Windows 10 Pro running on arm64 platforms, enable arm64 build
for this kernel as well.

[Test Case]

Microsoft tested.
Boot an arm64 VM on a machine running Win10Pro with Hyper-V.

[Where things could go wrong]

Some of the patches touch common PCI code. Device detection could be 
impacted.

[Other info]

SF: #00310705

============================================================================

The following changes since commit 31e8bf881224f2c37047baecbeb6f2a0d160dac0:

   UBUNTU: Ubuntu-azure-5.13.0-1013.15 (2022-01-18 11:56:02 +0100)

are available in the Git repository at:

   git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/impish 
543a1af8a2e8609ced3fab77c03552fd13f6bb26

for you to fetch changes up to 543a1af8a2e8609ced3fab77c03552fd13f6bb26:

   UBUNTU: [Config] azure: Update arm64 policy for CONFIG_PCI_HYPERV 
(2022-01-31 06:47:15 -0700)

----------------------------------------------------------------
Andy Shevchenko (1):
       kernel.h: split out panic and oops helpers

Arnd Bergmann (1):
       PCI: hv: Generify PCI probing

Boqun Feng (7):
       PCI: Introduce domain_nr in pci_host_bridge
       PCI: Support populating MSI domains of root buses via bridges
       arm64: PCI: Restructure pcibios_root_bridge_prepare()
       arm64: PCI: Support root bridge preparation for Hyper-V
       PCI: hv: Set ->domain_nr of pci_host_bridge at probing time
       PCI: hv: Turn on the host bridge probing on ARM64
       PCI: hv: Set up MSI domain at bridge probing time

Michael Kelley (11):
       Drivers: hv: Move Hyper-V extended capability check to arch 
neutral code
       asm-generic/hyperv: Add missing #include of nmi.h
       Drivers: hv: Make portions of Hyper-V init code be arch neutral
       Drivers: hv: Add arch independent default functions for some 
Hyper-V handlers
       Drivers: hv: Move Hyper-V misc functionality to arch-neutral code
       drivers: hv: Decouple Hyper-V clock/timer code from VMbus drivers
       arm64: hyperv: Add Hyper-V hypercall and register access utilities
       arm64: hyperv: Add panic handler
       arm64: hyperv: Initialize hypervisor on boot
       arm64: efi: Export screen_info
       Drivers: hv: Enable Hyper-V code to be built on ARM64

Sudeep Holla (1):
       arm64: smccc: Add support for SMCCCv1.2 extended input/output 
registers

Sunil Muthuswamy (3):
       PCI: hv: Support for create interrupt v3
       PCI: hv: Make the code arch neutral by adding arch specific 
interfaces
       PCI: hv: Add arm64 Hyper-V vPCI support

Tim Gardner (4):
       UBUNTU: [Packaging] linux-azure: Add basic packaging support for 
arm64
       UBUNTU: [Config] azure: CONFIG_CMA=n [arm64]
       UBUNTU: [Config] azure: Ignore initial arm64 ABI
       UBUNTU: [Config] azure: Update arm64 policy for CONFIG_PCI_HYPERV

  MAINTAINERS                                       |    3 +
  arch/alpha/kernel/setup.c                         |    2 +-
  arch/arm64/Kbuild                                 |    1 +
  arch/arm64/hyperv/Makefile                        |    2 +
  arch/arm64/hyperv/hv_core.c                       |  181 ++
  arch/arm64/hyperv/mshyperv.c                      |   87 +
  arch/arm64/include/asm/hyperv-tlfs.h              |   78 +
  arch/arm64/include/asm/mshyperv.h                 |   54 +
  arch/arm64/kernel/asm-offsets.c                   |    9 +
  arch/arm64/kernel/efi.c                           |    1 +
  arch/arm64/kernel/pci.c                           |   29 +-
  arch/arm64/kernel/setup.c                         |    1 +
  arch/arm64/kernel/smccc-call.S                    |   57 +
  arch/ia64/include/asm/pal.h                       |    1 +
  arch/mips/kernel/relocate.c                       |    1 +
  arch/mips/sgi-ip22/ip22-reset.c                   |    1 +
  arch/mips/sgi-ip32/ip32-reset.c                   |    1 +
  arch/parisc/kernel/pdc_chassis.c                  |    1 +
  arch/powerpc/kernel/setup-common.c                |    1 +
  arch/s390/kernel/ipl.c                            |    1 +
  arch/sparc/kernel/sstate.c                        |    1 +
  arch/um/drivers/mconsole_kern.c                   |    1 +
  arch/um/kernel/um_arch.c                          |    1 +
  arch/x86/hyperv/hv_init.c                         |  148 +-
  arch/x86/include/asm/desc.h                       |    1 +
  arch/x86/include/asm/hyperv-tlfs.h                |   33 +
  arch/x86/include/asm/mshyperv.h                   |   11 -
  arch/x86/kernel/cpu/mshyperv.c                    |   20 +-
  arch/x86/kernel/setup.c                           |    1 +
  arch/x86/purgatory/purgatory.c                    |    2 +
  arch/x86/xen/enlighten.c                          |    1 +
  arch/xtensa/platforms/iss/setup.c                 |    1 +
  debian.azure/abi/arm64/ignore                     |    1 +
  debian.azure/abi/arm64/ignore.modules             |    1 +
  debian.azure/abi/arm64/ignore.retpoline           |    1 +
debian.azure/config/amd64/config.common.amd64     |   68 +
  debian.azure/config/annotations                   |  192 +-
  debian.azure/config/arm64/config.common.arm64     |   71 +
  debian.azure/config/arm64/config.flavour.azure    |    3 +
  debian.azure/config/config.common.ubuntu          | 2223 
++++++++++++++++++++-
  debian.azure/control.d/vars.azure                 |    4 +-
  debian.azure/control.stub.in                      |    7 +-
  debian.azure/d-i/kernel-versions                  |    1 +
  debian.azure/etc/getabis                          |    1 +
  debian.azure/etc/kernelconfig                     |    2 +-
  debian.azure/rules.d/arm64.mk                     |   28 +
  drivers/Makefile                                  |    2 +-
  drivers/bus/brcmstb_gisb.c                        |    1 +
  drivers/char/ipmi/ipmi_msghandler.c               |    1 +
  drivers/clk/analogbits/wrpll-cln28hpc.c           |    4 +
  drivers/clocksource/hyperv_timer.c                |    3 -
  drivers/edac/altera_edac.c                        |    1 +
  drivers/firmware/google/gsmi.c                    |    1 +
  drivers/hv/Kconfig                                |    7 +-
  drivers/hv/Makefile                               |    3 +
  drivers/hv/hv_common.c                            |  285 +++
  drivers/hv/hv_util.c                              |    5 -
  drivers/hv/vmbus_drv.c                            |    1 +
  drivers/hwtracing/coresight/coresight-cpu-debug.c |    1 +
  drivers/leds/trigger/ledtrig-activity.c           |    1 +
  drivers/leds/trigger/ledtrig-heartbeat.c          |    1 +
  drivers/leds/trigger/ledtrig-panic.c              |    1 +
  drivers/misc/bcm-vk/bcm_vk_dev.c                  |    1 +
  drivers/misc/ibmasm/heartbeat.c                   |    1 +
  drivers/misc/pvpanic/pvpanic.c                    |    1 +
  drivers/net/ipa/ipa_smp2p.c                       |    1 +
  drivers/parisc/power.c                            |    1 +
  drivers/pci/Kconfig                               |    2 +-
  drivers/pci/controller/Kconfig                    |    2 +-
  drivers/pci/controller/pci-hyperv.c               |  461 ++++-
  drivers/pci/probe.c                               |   12 +-
  drivers/power/reset/ltc2952-poweroff.c            |    1 +
  drivers/remoteproc/remoteproc_core.c              |    1 +
  drivers/s390/char/con3215.c                       |    1 +
  drivers/s390/char/con3270.c                       |    1 +
  drivers/s390/char/sclp.c                          |    1 +
  drivers/s390/char/sclp_con.c                      |    1 +
  drivers/s390/char/sclp_vt220.c                    |    1 +
  drivers/s390/char/zcore.c                         |    1 +
  drivers/soc/bcm/brcmstb/pm/pm-arm.c               |    1 +
  drivers/staging/olpc_dcon/olpc_dcon.c             |    1 +
  drivers/video/fbdev/hyperv_fb.c                   |    1 +
  include/asm-generic/bug.h                         |    3 +-
  include/asm-generic/hyperv-tlfs.h                 |   33 -
  include/asm-generic/mshyperv.h                    |   13 +
  include/clocksource/hyperv_timer.h                |   11 +-
  include/linux/arm-smccc.h                         |   55 +
  include/linux/kernel.h                            |   84 +-
  include/linux/panic.h                             |   98 +
  include/linux/panic_notifier.h                    |   12 +
  include/linux/pci.h                               |   11 +
  include/linux/thread_info.h                       |    1 +
  kernel/hung_task.c                                |    1 +
  kernel/kexec_core.c                               |    1 +
  kernel/panic.c                                    |    1 +
  kernel/rcu/tree.c                                 |    2 +
  kernel/sysctl.c                                   |    1 +
  kernel/trace/trace.c                              |    1 +
  98 files changed, 3936 insertions(+), 539 deletions(-)
  create mode 100644 arch/arm64/hyperv/Makefile
  create mode 100644 arch/arm64/hyperv/hv_core.c
  create mode 100644 arch/arm64/hyperv/mshyperv.c
  create mode 100644 arch/arm64/include/asm/hyperv-tlfs.h
  create mode 100644 arch/arm64/include/asm/mshyperv.h
  create mode 100644 debian.azure/abi/arm64/ignore
  create mode 100644 debian.azure/abi/arm64/ignore.modules
  create mode 100644 debian.azure/abi/arm64/ignore.retpoline
  create mode 100644 debian.azure/config/arm64/config.common.arm64
  create mode 100644 debian.azure/config/arm64/config.flavour.azure
  create mode 100644 debian.azure/rules.d/arm64.mk
  create mode 100644 drivers/hv/hv_common.c
  create mode 100644 include/linux/panic.h
  create mode 100644 include/linux/panic_notifier.h
-- 
-----------
Tim Gardner
Canonical, Inc



More information about the kernel-team mailing list