[PULL][SRU Xenial] Support QEMU guests in ACPI mode

Stefan Bader stefan.bader at canonical.com
Wed Feb 28 10:28:01 UTC 2018


On 26.02.2018 19:12, Kleber Souza wrote:
> Hi Dann,
> 
> Regarding patch 9/11 there's a comment on the bug:
> 
> "Patch 9 turns on CONFIG_ACPI_SPCR_TABLE - however, this driver will
> only be built for arm64. TBH, I'm not 100% sure how Kconfig knows not to
> build this for other archs - but I checked the logs, and there's no
> spcr.o built on other archs. (Not that that should be a problem - they
> would just grow a bit of unused code)."
> 
> Indeed the CONFIG_ACPI_SPCR_TABLE is not set for arches other than
> arm64, that's because the config option is added as non-visible and it's
> only selected by arch/arm64/Kconfig. But I'm a bit concerned about the
> possibility of an accidental enablement of this config option for
> another arch in the future.
> 
> To solve this problem, my suggestion would be to set the default of the
> config option to 'n' on drivers/acpi/Kconfig and set it to =y only on
> debian.master/config/arm64/config.common.arm64 (this would be done
> automatically by 'updateconfigs'). It's probably a good idea to add an
> entry on the annotations file as well.
> 
> 
> Thanks,
> Kleber
> 
> 
> On 02/02/18 00:00, dann frazier wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1744754
>>
>> qemu-efi, the UEFI firmware used to boot arm64 KVM guests, has
>> switched from devicetree to ACPI by default. 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.

I think this actually may be the doing of updateconfigs. IIRC it tries to put as
much as possible into the common file. Usually things that cannot be enabled due
to some dependencies are just silently dropped when running config.

That said, there is also the annotations file which probably should be updated
to match the expected setup.

-Stefan

>>
>> Test builds are available in ppa:dannf/test.
>>
>> 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 minacpi-x
>>
>> for you to fetch changes up to eb0e0630ae2860f70f017a1b11ee356d736edf9e:
>>
>>   serial: pl011: add console matching function (2018-01-31 16:12: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/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 +-
>>  15 files changed, 527 insertions(+), 69 deletions(-)
>>  create mode 100644 drivers/acpi/spcr.c
>>
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20180228/a7bbf03d/attachment.sig>


More information about the kernel-team mailing list