mbox series

[0/41,Hirsute/linux-azure] Enable arm64

Message ID 20211104125449.16540-1-tim.gardner@canonical.com
Headers show
Series Enable arm64 | expand

Message

Tim Gardner Nov. 4, 2021, 12:54 p.m. UTC
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.

[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 5d3c090ec0e25a272da08305b377a2d2aede0109:

  UBUNTU: [Config] CONFIG_MICROSOFT_MANA=y (2021-11-02 11:53:39 -0600)

are available in the Git repository at:

  git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/hirsute cranky/azure

for you to fetch changes up to c2982e17c3704b205a08db13dac5f72ea9cce4b0:

  UBUNTU: [Packaging] linux-azure: Temporally disable signed image for the arm64 preview kernel (2021-11-04 06:40:27 -0600)

----------------------------------------------------------------
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 (2):
      UBUNTU: [Packaging] linux-azure: Add packaging support for arm64
      UBUNTU: [Packaging] linux-azure: Temporally disable signed image for the arm64 preview kernel

Michael Kelley (22):
      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
      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
      arm64: efi: Export screen_info
      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                        |  181 ++
 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-1020.21/arm64/azure.ignore |    1 +
 .../abi/5.11.0-1020.21/arm64/azure.ignore.compiler |    1 +
 .../abi/5.11.0-1020.21/arm64/azure.ignore.modules  |    1 +
 .../5.11.0-1020.21/arm64/azure.ignore.retpoline    |    1 +
 debian.azure/abi/5.11.0-1020.21/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/amd64.mk                      |    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 +
 55 files changed, 4083 insertions(+), 650 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-1020.21/arm64/azure.ignore
 create mode 100644 debian.azure/abi/5.11.0-1020.21/arm64/azure.ignore.compiler
 create mode 100644 debian.azure/abi/5.11.0-1020.21/arm64/azure.ignore.modules
 create mode 100644 debian.azure/abi/5.11.0-1020.21/arm64/azure.ignore.retpoline
 create mode 100644 debian.azure/abi/5.11.0-1020.21/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

Comments

Marcelo Henrique Cerri Nov. 5, 2021, 5:26 p.m. UTC | #1
Acked-by: Marcelo Henrique Cerri <marcelo.cerri@canonical.com>

We just need to drop the patch #41 before applying, that shouldn't be
necessary.

On Thu, Nov 04, 2021 at 06:54:08AM -0600, Tim Gardner wrote:
> 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.
> 
> [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 5d3c090ec0e25a272da08305b377a2d2aede0109:
> 
>   UBUNTU: [Config] CONFIG_MICROSOFT_MANA=y (2021-11-02 11:53:39 -0600)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/hirsute cranky/azure
> 
> for you to fetch changes up to c2982e17c3704b205a08db13dac5f72ea9cce4b0:
> 
>   UBUNTU: [Packaging] linux-azure: Temporally disable signed image for the arm64 preview kernel (2021-11-04 06:40:27 -0600)
> 
> ----------------------------------------------------------------
> 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 (2):
>       UBUNTU: [Packaging] linux-azure: Add packaging support for arm64
>       UBUNTU: [Packaging] linux-azure: Temporally disable signed image for the arm64 preview kernel
> 
> Michael Kelley (22):
>       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
>       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
>       arm64: efi: Export screen_info
>       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                        |  181 ++
>  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-1020.21/arm64/azure.ignore |    1 +
>  .../abi/5.11.0-1020.21/arm64/azure.ignore.compiler |    1 +
>  .../abi/5.11.0-1020.21/arm64/azure.ignore.modules  |    1 +
>  .../5.11.0-1020.21/arm64/azure.ignore.retpoline    |    1 +
>  debian.azure/abi/5.11.0-1020.21/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/amd64.mk                      |    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 +
>  55 files changed, 4083 insertions(+), 650 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-1020.21/arm64/azure.ignore
>  create mode 100644 debian.azure/abi/5.11.0-1020.21/arm64/azure.ignore.compiler
>  create mode 100644 debian.azure/abi/5.11.0-1020.21/arm64/azure.ignore.modules
>  create mode 100644 debian.azure/abi/5.11.0-1020.21/arm64/azure.ignore.retpoline
>  create mode 100644 debian.azure/abi/5.11.0-1020.21/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
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Krzysztof Kozlowski Dec. 1, 2021, 2:43 p.m. UTC | #2
On 04/11/2021 13:54, Tim Gardner wrote:
> 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.
> 
> [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 5d3c090ec0e25a272da08305b377a2d2aede0109:
> 
>   UBUNTU: [Config] CONFIG_MICROSOFT_MANA=y (2021-11-02 11:53:39 -0600)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/hirsute cranky/azure
> 
> for you to fetch changes up to c2982e17c3704b205a08db13dac5f72ea9cce4b0:
> 
>   UBUNTU: [Packaging] linux-azure: Temporally disable signed image for the arm64 preview kernel (2021-11-04 06:40:27 -0600)
> 

Most of the patches (done by Marcelo) lack your SoB which must be there
to satisfy the chain (your are sending them). It's trivial to add it -
just checkout new branch and cherry-pick entire range with -s.

Also in few patches you add comments after SoB, but these should be
before, so:
[rtg - minor context differences]
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>

Because otherwise someone expects SoB from "rtg" :)

The code look correct, more or less.

Best regards,
Krzysztof