Message ID | 20180228173308.GA12419@xps13.dannf |
---|---|
State | New |
Headers | show |
Series | [PULL,v2,Xenial] Support QEMU guests in ACPI mode | expand |
On 28.02.2018 18:33, dann frazier wrote: > 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 > The biggest changes are those adding the new console and the new irq chip. The remainder changes look sensible. Positive testing, too. And annotated to explain why. So Acked-by: Stefan Bader <stefan.bader@canonical.com>
On 02/28/18 18:33, dann frazier wrote: > 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 > Looks good to me, thanks for sending a v2 with the suggested changes. Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
On 02/28/18 18:33, dann frazier wrote: > 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 > Applied to xenial/master-next-backlog branch. Thanks, Kleber