From patchwork Wed Feb 28 17:33:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: dann frazier X-Patchwork-Id: 879233 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3zs2hs6h5qz9ry4; Thu, 1 Mar 2018 04:33:17 +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 1er5bN-0000nJ-6Z; Wed, 28 Feb 2018 17:33:13 +0000 Received: from complete.lackof.org ([198.49.126.79]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1er5bL-0000mt-I6 for kernel-team@lists.ubuntu.com; Wed, 28 Feb 2018 17:33:11 +0000 Received: from localhost (c-73-78-137-212.hsd1.co.comcast.net [73.78.137.212]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by complete.lackof.org (Postfix) with ESMTPSA id F043A33E0130 for ; Wed, 28 Feb 2018 10:33:08 -0700 (MST) Date: Wed, 28 Feb 2018 10:33:08 -0700 From: dann frazier To: kernel-team@lists.ubuntu.com Subject: [PULL v2][Xenial] Support QEMU guests in ACPI mode Message-ID: <20180228173308.GA12419@xps13.dannf> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.9.3 (2018-01-21) X-Virus-Scanned: clamav-milter 0.99.2 at complete.lackof.org X-Virus-Status: Clean X-Spam-Status: No, score=0.3 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on complete.lackof.org 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/1744754 qemu-efi, the package that provides UEFI firmware used to boot arm64 KVM guests, switched from exposing devicetree to ACPI by default after the xenial release. This was inherited from upstream. However, the GA xenial kernel didn't have enough ACPI support to boot in this mode. That means, for example, that your bionic-based OpenStack won't be able to boot xenial cloud images. This series backports the minimum necessary ACPI support back to 4.4: GICv3 and SPCR console detection. The testing/risk assessment is all there in the bug, as is a discussion of other possible solutions. The GICv3 support comprises all clean cherry-picks. Some backporting was required for the console stuff - I've annotated each patch with the details in each patch above my S-o-b. Test builds are available in ppa:dannf/test v2: - Update config annotations for CONFIG_ACPI_SPCR_TABLE (squashed into the commit that enables it). - Update cover letter to be clear that the change in qemu-efi happened after xenial. The following changes since commit 355335ee775c4016a34b22e99e14cf5bc9534c1b: UBUNTU: [Packaging] update urgency to medium by default (2018-01-29 13:09:24 +0100) are available in the Git repository at: git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux xenial-spcr-annotated for you to fetch changes up to c3beab50e1cd3bc947773a41da36a4c2e15ff73d: serial: pl011: add console matching function (2018-02-28 10:17:16 -0700) ---------------------------------------------------------------- Aleksey Makarov (4): ACPICA: Headers: Add new constants for the DBG2 ACPI table ACPI: parse SPCR and enable matching console ARM64: ACPI: enable ACPI_SPCR_TABLE serial: pl011: add console matching function Hanjun Guo (1): irqchip/gic-v3: Remove gic_root_node variable from the ITS code Leif Lindholm (1): of/serial: move earlycon early_param handling to serial Tomasz Nowicki (4): irqchip/gic-v3: Refactor gic_of_init() for GICv3 driver irqchip/gic-v3: Add ACPI support for GICv3/4 initialization irqchip/gic-v3: ACPI: Add redistributor support via GICC structures irqchip/gic-v3-its: Mark its_init() and its children as __init dann frazier (1): UBUNTU: [Config] CONFIG_ACPI_SPCR_TABLE=y arch/arm64/Kconfig | 1 + arch/arm64/kernel/acpi.c | 11 +- debian.master/config/annotations | 2 + debian.master/config/config.common.ubuntu | 1 + drivers/acpi/Kconfig | 3 + drivers/acpi/Makefile | 1 + drivers/acpi/spcr.c | 111 ++++++++++ drivers/irqchip/irq-gic-v3-its.c | 10 +- drivers/irqchip/irq-gic-v3.c | 347 +++++++++++++++++++++++++----- drivers/of/fdt.c | 11 +- drivers/tty/serial/amba-pl011.c | 55 +++++ drivers/tty/serial/earlycon.c | 20 +- include/acpi/actbl2.h | 7 +- include/linux/acpi.h | 6 + include/linux/of_fdt.h | 3 + include/linux/serial_core.h | 9 +- 16 files changed, 529 insertions(+), 69 deletions(-) create mode 100644 drivers/acpi/spcr.c Acked-by: Stefan Bader Acked-by: Kleber Sacilotto de Souza