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

Joseph Salisbury joseph.salisbury at canonical.com
Mon Jan 31 23:08:37 UTC 2022



On 1/31/22 08:54, Tim Gardner wrote:
> 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

There are a lot of config changes performed by the first patch:
25696931fa618 ("UBUNTU: [Packaging] linux-azure: Add basic packaging 
support for arm64")

Some may not be needed, for example:
CONFIG_HID_PLAYSTATION=m

Is this because of changes in the the base Impish kernel?

This first patch does not apply to the master branch in Impish, but does 
apply cleanly to the master-next branch so:

Acked-by: Joseph Salisbury <joseph.salisbury at canonical.com>




More information about the kernel-team mailing list