The SPCR (Serial Port Console Redirection) Table provides information about the configuration of the 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. Additional testing (requested by Timur): On Gigabyte (no quirks), Qualcomm Amberwing systems to test Qualcomm quirks, HPE Mantis system to test xgene quirks. Tested several x86 systems with and without a SPCR to confirm no changes in default behaviour. [v2]: See 1/2 for code changes. 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> Cc: Timur Tabi <timur@xxxxxxxxxxxxxx> 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/kernel/acpi.c | 128 ++++++++++++++++- arch/x86/kernel/acpi/boot.c | 4 + drivers/acpi/Kconfig | 7 +- drivers/acpi/spcr.c | 180 ++++++------------------ drivers/tty/serial/earlycon.c | 15 +- include/linux/acpi.h | 14 +- include/linux/serial_core.h | 2 - 8 files changed, 198 insertions(+), 161 deletions(-) -- 2.15.0.rc0.39.g2f0e14e64 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html