[PATCH 0/2] acpi, x86: Add SPCR table support

From: Prarit Bhargava
Date: Thu Dec 07 2017 - 12:29:33 EST


The SPCR (Serial Port Console Redirection) Table provides information
about the configuration of serial port. This information can be used
to configure the early console.

SPCR support was added for arm64 and is made available across all arches
in this patchset. The first patch adds a weak per-arch configuration function
and moves the SPCR code into ACPI. The second patch adds support to x86.

The existing behaviour on arm64 is maintained. If the SPCR exists the
earlycon and console are automatically configured.

The existing default behaviour on x86 is also maintained. If no console or
earlycon parameter is defined and the SPCR exists , the serial port is not
configured. If the earlycon parameter is used both the early console
and the console are configured using the data from the SPCR.

Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
Cc: linux-doc@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-pm@xxxxxxxxxxxxxxx
Cc: linux-acpi@xxxxxxxxxxxxxxx
Cc: linux-serial@xxxxxxxxxxxxxxx
Cc: Bhupesh Sharma <bhsharma@xxxxxxxxxx>
Cc: Lv Zheng <lv.zheng@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: x86@xxxxxxxxxx
Cc: Jonathan Corbet <corbet@xxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>

Prarit Bhargava (2):
acpi, spcr: Make SPCR avialable to other architectures
acpi, x86: Use SPCR table for earlycon on x86

Documentation/admin-guide/kernel-parameters.txt | 9 +-
arch/arm64/Kconfig | 1 -
arch/arm64/kernel/acpi.c | 128 +++++++++++++++++-
arch/x86/kernel/acpi/boot.c | 3 +
drivers/acpi/Kconfig | 11 +-
drivers/acpi/spcr.c | 171 ++++++------------------
drivers/tty/serial/earlycon.c | 16 +--
include/linux/acpi.h | 14 +-
include/linux/serial_core.h | 2 -
9 files changed, 195 insertions(+), 160 deletions(-)

--
1.8.3.1