Subject: [PATCH v4 0/4] ACPI: parse the SPCR table

From: [email-masked] (Peter Hurley)
Date: Thu, 3 Mar 2016 07:35:40 -0800

On 03/03/2016 03:59 AM, Aleksey Makarov wrote:
> 
> 
> On 03/01/2016 06:31 PM, Peter Hurley wrote:
>> On 02/29/2016 04:02 AM, Aleksey Makarov 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.
>>>
>>> Introduce a new function acpi_console_check().  At the uart port
>>> registration, this function checks if the ACPI SPCR table specifies
>>> its argument of type struct uart_port to be a console
>>> and if so calls add_preferred_console().
>>
>> How will a user enable an earlycon on the same console as the SPCR
>> console if there is no DBG2 table?
> 
> ...
> [    0.000000] earlycon: pl11 at MMIO 0x0000000009000000 (options '')
> [    0.000000] bootconsole [pl11] enabled
> ...
> [    0.000000] Kernel command line:  root=/dev/vda1 rw systemd.show_status=no acpi=force earlycon=pl011,0x9000000
> ...
> [    0.318248] ACPI: SPCR: adding preferred console [ttyAMA0]
> [    0.318736] ARMH0011:00: ttyAMA0 at MMIO 0x9000000 (irq = 5, base_baud = 0) is a SBSA
> [    0.319502] console [ttyAMA0] enabled
> [    0.319502] console [ttyAMA0] enabled
> [    0.319933] bootconsole [pl11] disabled
> [    0.319933] bootconsole [pl11] disabled
> ...
> 
> Why?

That's pretty disingenuous; via command line?

By that measure, none of your patches are required because a user
can already start both console and earlycon without them.

With the console location specified in the SPCR, earlycon should
be opt-in on the command-line simply with "earlycon" command-line
parameter.