[PATCH 0/2 v2] [Hirsute/linux-azure, Hirsute/linux-meta-azure, Hirsute/linux-signed-azure] Enable arm64
Tim Gardner
tim.gardner at canonical.com
Tue Nov 9 15:03:56 UTC 2021
v2 - Included patches for linux-meta and linux-signed.
Dropped the kernel patch bomb in favor of just the pull request.
BugLink: https://bugs.launchpad.net/bugs/1949770
SRU Justification
[Impact]
Microsoft has asked to enable arm64 in Azure 5.11 and subsequent kernels.
This is a preview which will be used to test arm64 as well as ensure
that nothing has been broken in x64 land.
Aside from the pull request, there are 2 patches to enable arm64 in linux-meta and linux-signed.
[Test Case]
Microsoft tested.
[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 42a65030ea4bdb93e54bce7a276bf71d9eb19ec2:
UBUNTU: Ubuntu-azure-5.11.0-1021.22 (2021-10-08 11:46:33 -0600)
are available in the Git repository at:
git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/hirsute ecdbd33df38363d04eefecb6477dfd14fb877dcb
for you to fetch changes up to ecdbd33df38363d04eefecb6477dfd14fb877dcb:
Drivers: hv: Enable Hyper-V code to be built on ARM64 (2021-11-09 06:57:11 -0700)
----------------------------------------------------------------
Ani Sinha (1):
x86/hyperv: fix for unwanted manipulation of sched_clock when TSC marked unstable
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
Joseph Salisbury (2):
x86/hyperv: Move hv_do_rep_hypercall to asm-generic
drivers: hv: Create a consistent pattern for checking Hyper-V hypercall status
Marcelo Henrique Cerri (4):
UBUNTU: [Packaging] linux-azure: Add basic packaging support for arm64
UBUNTU: [Config] linux-azure: Extending existing annotations to arm64
UBUNTU: [Config] linux-azure: Generate initial config for arm64
UBUNTU: [Packaging] linux-azure: Ignore initial arm64 ABI
Michael Kelley (23):
Drivers: hv: vmbus: Move Hyper-V page allocator to arch neutral code
x86/hyper-v: Move hv_message_type to architecture neutral module
Drivers: hv: Redo Hyper-V synthetic MSR get/set functions
Drivers: hv: vmbus: Move hyperv_report_panic_msg to arch neutral code
Drivers: hv: vmbus: Handle auto EOI quirk inline
Drivers: hv: vmbus: Move handling of VMbus interrupts
clocksource/drivers/hyper-v: Handle vDSO differences inline
clocksource/drivers/hyper-v: Handle sched_clock differences inline
clocksource/drivers/hyper-v: Set clocksource rating based on Hyper-V feature
clocksource/drivers/hyper-v: Move handling of STIMER0 interrupts
Drivers: hv: Move Hyper-V extended capability check to arch neutral code
UBUNTU: SAUCE: asm-generic: hyperv: Fix incorrect architecture dependencies
UBUNTU: SAUCE: arm64: hyperv: Add Hyper-V hypercall and register access utilities
UBUNTU: SAUCE: arm64: hyperv: Add Hyper-V clocksource/clockevent support
UBUNTU: SAUCE: arm64: hyperv: Add kexec and panic handlers
UBUNTU: SAUCE: arm64: hyperv: Initialize hypervisor on boot
UBUNTU: SAUCE: arm64: efi: Export screen_info
UBUNTU: SAUCE: Drivers: hv: Enable Hyper-V code to be built on ARM64
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: Decouple Hyper-V clock/timer code from VMbus drivers
Drivers: hv: Move Hyper-V misc functionality to arch-neutral code
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 (1):
x86/Hyper-V: Support for free page reporting
Vasanth (1):
drivers: hv: Fix whitespace errors
Wei Liu (3):
asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT
x86/hyperv: detect if Linux is the root partition
clocksource/hyperv: use MSR-based access if running as root
MAINTAINERS | 3 +
arch/arm64/Kbuild | 1 +
arch/arm64/hyperv/Makefile | 2 +
arch/arm64/hyperv/hv_core.c | 182 ++
arch/arm64/hyperv/mshyperv.c | 191 ++
arch/arm64/include/asm/hyperv-tlfs.h | 69 +
arch/arm64/include/asm/mshyperv.h | 72 +
arch/arm64/kernel/asm-offsets.c | 9 +
arch/arm64/kernel/efi.c | 1 +
arch/arm64/kernel/pci.c | 29 +-
arch/arm64/kernel/setup.c | 4 +
arch/arm64/kernel/smccc-call.S | 57 +
arch/x86/hyperv/hv_apic.c | 16 +-
arch/x86/hyperv/hv_init.c | 128 +-
arch/x86/hyperv/mmu.c | 8 +-
arch/x86/hyperv/nested.c | 8 +-
arch/x86/include/asm/hyperv-tlfs.h | 141 +-
arch/x86/include/asm/mshyperv.h | 101 +-
arch/x86/kernel/cpu/mshyperv.c | 69 +-
debian.azure/abi/5.11.0-1019.20/arm64/azure.ignore | 1 +
.../abi/5.11.0-1019.20/arm64/azure.ignore.compiler | 1 +
.../abi/5.11.0-1019.20/arm64/azure.ignore.modules | 1 +
.../5.11.0-1019.20/arm64/azure.ignore.retpoline | 1 +
debian.azure/abi/5.11.0-1019.20/arm64/ignore | 1 +
debian.azure/config/amd64/config.common.amd64 | 37 +
debian.azure/config/annotations | 190 +-
debian.azure/config/arm64/config.common.arm64 | 40 +
debian.azure/config/arm64/config.flavour.azure | 3 +
debian.azure/config/config.common.ubuntu | 2135 +++++++++++++++++++-
debian.azure/control.d/flavour-control.stub | 2 +-
debian.azure/control.d/vars.azure | 4 +-
debian.azure/control.stub.in | 9 +-
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/clocksource/hyperv_timer.c | 269 ++-
drivers/hv/Kconfig | 8 +-
drivers/hv/Makefile | 3 +
drivers/hv/channel.c | 2 +-
drivers/hv/connection.c | 2 +-
drivers/hv/hv.c | 95 +-
drivers/hv/hv_balloon.c | 89 +
drivers/hv/hv_common.c | 284 +++
drivers/hv/hv_util.c | 5 -
drivers/hv/vmbus_drv.c | 89 +-
drivers/pci/controller/pci-hyperv.c | 88 +-
drivers/pci/probe.c | 12 +-
include/asm-generic/hyperv-tlfs.h | 72 +-
include/asm-generic/mshyperv.h | 84 +-
include/clocksource/hyperv_timer.h | 14 +-
include/linux/arm-smccc.h | 55 +
include/linux/pci.h | 11 +
54 files changed, 4083 insertions(+), 649 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/5.11.0-1019.20/arm64/azure.ignore
create mode 100644 debian.azure/abi/5.11.0-1019.20/arm64/azure.ignore.compiler
create mode 100644 debian.azure/abi/5.11.0-1019.20/arm64/azure.ignore.modules
create mode 100644 debian.azure/abi/5.11.0-1019.20/arm64/azure.ignore.retpoline
create mode 100644 debian.azure/abi/5.11.0-1019.20/arm64/ignore
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
More information about the kernel-team
mailing list