From patchwork Thu Nov 4 12:54:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 1550891 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=h/+ThMat; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HlNsb1HWQz9sXM for ; Thu, 4 Nov 2021 23:55:30 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1micGx-0004NR-Mc; Thu, 04 Nov 2021 12:55:15 +0000 Received: from smtp-relay-internal-1.internal ([10.131.114.114] helo=smtp-relay-internal-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1micGw-0004N7-7K for kernel-team@lists.ubuntu.com; Thu, 04 Nov 2021 12:55:14 +0000 Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id BC74F3F1C0 for ; Thu, 4 Nov 2021 12:55:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1636030513; bh=cJ7rv+4WDERtH/NN/V7AQ3MVDe5CGVOaovcaFNL6HDc=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=h/+ThMatT9ep/yIM8J5saUWzkSryUHL2zyiEYGPdV1XUy/aBhOJk0FVa+gQpqNsX1 dh+jQhnK5EdMwXrDCqNwI18fXiorurqJhEV70aO0cxfJwIxQlLQsmv38vogw38LEAw 5c4KEzE3FQXt7YmUugw65dxA/LMnQaV8iuQa0odH4taFmTzwbpZ6kUUYyn9iEKV6Q7 t+XcYuwN/er5Zcpb6fySDofqCZ1yfHSIstOhQ5vr62t9xRifua51Rc58uRq6Z70CPb 78tRvpiPGE8jRtBXTNj4qkXGVNRZh59C64yb+z+YMyGjPy92/y/bgeegKWW7R58j5B BU92GbJmdMd5Q== Received: by mail-pg1-f198.google.com with SMTP id m74-20020a633f4d000000b0029fed7e61f9so3632910pga.16 for ; Thu, 04 Nov 2021 05:55:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cJ7rv+4WDERtH/NN/V7AQ3MVDe5CGVOaovcaFNL6HDc=; b=iSTTS0/l0aVKnVznz8gQ6N4BOgQy4cQGIUc5JAxWkWRiw3KRoKZxQk4A4/fqFCaxbs mhw2vrWd4VHcMrv1UYVlFCFhpspxxLX9C6ynAZOw2Zun6gAM2M+L+IrxVOCnTrhY651j eTqnt2wcVXvVU7qOFiLauOCye3isgf9FTCq6BQoB1BrWggeL5dT4h37Nu9fm4d3tB0vs JPeKuWQimH/FCLX7Z8S4mbYbuyl9Sqhv0XFPJM1dF1MFxjaAHroK1YrClR4mm+ZUfjNR 5nFHPpLykaIcZGgt4CvMPYeROPLlxDrVDWHKWPQh/HmeAskXkPQ4pMYTxyn6ms45RI3v D0YA== X-Gm-Message-State: AOAM530aeW71BNgqHq5qy23RRw7I5rGlXtqniPpIGFeK6s1z9hJeNOZM BlfHT0kqd8RUW3HdaWidcVLgthen0A2fSejNBlKHSJ/BrzvW5xBZhZ9azzO6cVJrlEEkRIPnAdh RL7y8NBkQvWIKvNWmZ4BHxqpxnr2nSXB87VVNYMA+qQ== X-Received: by 2002:a62:ab09:0:b0:48c:2ee2:7dbb with SMTP id p9-20020a62ab09000000b0048c2ee27dbbmr13972759pff.10.1636030511453; Thu, 04 Nov 2021 05:55:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwflwyv132ameQRfFGtBv/zv+GiP+AqeLqczJ/1IRQOg7iSaV4UMX5EnMCzfmN2dBeGT/epaw== X-Received: by 2002:a62:ab09:0:b0:48c:2ee2:7dbb with SMTP id p9-20020a62ab09000000b0048c2ee27dbbmr13972723pff.10.1636030511061; Thu, 04 Nov 2021 05:55:11 -0700 (PDT) Received: from localhost.localdomain ([69.163.84.166]) by smtp.gmail.com with ESMTPSA id y4sm5283859pfi.178.2021.11.04.05.55.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Nov 2021 05:55:10 -0700 (PDT) From: Tim Gardner To: kernel-team@lists.ubuntu.com Subject: [PATCH 0/41] [Hirsute/linux-azure] Enable arm64 Date: Thu, 4 Nov 2021 06:54:08 -0600 Message-Id: <20211104125449.16540-1-tim.gardner@canonical.com> X-Mailer: git-send-email 2.33.1 MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" 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 Acked-by: Marcelo Henrique Cerri Signed-off-by: Tim Gardner