Re: [PATCH 0/3] ACPI: parse the SPCR table

From: Peter Hurley
Date: Mon Jan 25 2016 - 11:12:22 EST


On 01/25/2016 03:45 AM, Aleksey Makarov wrote:
> This patchset is based on the patchset by Leif Lindholm [1]
>
> 'ARM Server Base Boot Requirements' [2] mention SPCR
> (Serial Port Console Redirection Table) [3] as a mandatory
> ACPI table that specifies the configuration of serial console.
>
> Licensing concerns have prevented implementing it in the past, but as of
> 10 August 2015, these tables have both been released also under
> OWF 1.0 [4].

This license has a patent retaliation provision, which makes it
incompatible with GPLv2.

*If the license applies to this code*, then this patch set does not
meet the criteria for submission.

Regards,
Peter Hurley


> SPCR support is included in QEMU's ARM mach-virt since 2.4 release.
>
> Parse the SPCR table and check if any registered console match
> the description. If it does, enable that console.
>
> To implement that, introduce a new member
> int (*acpi_match)(struct console *, struct acpi_table_spcr *);
> of struct console. It allows drivers to check if they provide
> a matching console device.
>
> Also add an implementation of this member function to the pl011 driver
> and fix a minor issue in kernel/printk/printk.c
>
> [1] https://lkml.kernel.org/g/1441716217-23786-1-git-send-email-leif.lindholm@xxxxxxxxxx
> [2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0044a/index.html
> [3] https://msdn.microsoft.com/en-us/library/windows/hardware/dn639132(v=vs.85).aspx
> [4] http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0
>
> Aleksey Makarov (3):
> printk: make preferred_console local static bool
> ACPI: parse SPCR and enable matching console
> serial: pl011: add acpi_match for amba-pl011.c
>
> arch/arm64/Kconfig | 1 +
> drivers/acpi/Kconfig | 3 ++
> drivers/acpi/Makefile | 1 +
> drivers/acpi/spcr.c | 85 +++++++++++++++++++++++++++++++++++++
> drivers/tty/serial/amba-pl011.c | 14 ++++++
> include/acpi/actbl2.h | 4 ++
> include/linux/console.h | 12 ++++++
> kernel/printk/printk.c | 94 +++++++++++++++++++++++++++++++----------
> 8 files changed, 191 insertions(+), 23 deletions(-)
> create mode 100644 drivers/acpi/spcr.c
>