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

Tim Gardner tim.gardner at canonical.com
Tue Feb 1 12:52:46 UTC 2022


Applied to Impish azure/master-next. Thanks.

-rtg

On 1/31/22 6:54 AM, 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

-- 
-----------
Tim Gardner
Canonical, Inc



More information about the kernel-team mailing list