Re: [PATCH v8 0/4] ACPI: parse the SPCR table
From: Timur Tabi <hidden>
Date: 2016-06-17 23:25:03
Also in:
linux-acpi, linux-arm-kernel, lkml
On Fri, May 20, 2016 at 8:03 AM, Aleksey Makarov [off-list ref] wrote:
'ARM Server Base Boot Requirements' [1] mentions SPCR (Serial Port Console Redirection Table) [2] as a mandatory ACPI table that specifies the configuration of serial console. Move "earlycon" early_param handling to earlycon.c to parse this option once Parse SPCR table, setup earlycon and register specified console. Enable parsing this table on ARM64. Earlycon should be set up as early as possible. ACPI boot tables are mapped in arch/arm64/kernel/acpi.c:acpi_boot_table_init() called from setup_arch() and that's where we parse spcr. So it has to be opted-in per-arch. When ACPI_SPCR_TABLE is defined initialization of DT earlycon is deferred until the DT/ACPI decision is done. Implement console_match() for pl011. Based on the work by Leif Lindholm [3] Thanks to Peter Hurley for explaining how this should work. Should be applied to next-20160520 Tested on QEMU and ThunderX. SPCR support is included in QEMU's ARM64 mach-virt since 2.4 release. v8: - rebase to next-20160520 - remove the patch "ACPICA: Headers: Add new constants for the DBG2 ACPI table" as it have got to linux-next - add Acked-by: Greg Kroah-Hartman [off-list ref], Reviewed-by: Peter Hurley [off-list ref] (but see below) - fix the patch "serial: pl011: add console matching function". The patch by Christopher Covington [4] specifies that SBSA uart does 32-bit access to registers and this breaks the match function. In this series the function was changed to match when SPCR specifies both mmio32 and mmio access. I removed Acked-by: Greg from this patch because of these changes.
All four patches: Tested-by: Timur Tabi <redacted> -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.