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

From: [email-masked] (Aleksey Makarov)
Date: Fri, 11 Mar 2016 23:25:13 +0700

Hi Peter,

You are right, SPCR console should support earlycon.
I will send next version that will try to follow your recommendations in 
a week, after I return from vacations.

As we discussed with Christopher, "serial: pl011: use SPCR to setup 
32-bit access" will be dropped.

Thank you
Aleksey Makarov

On 04.03.2016 22:47, Peter Hurley wrote:
> On 03/04/2016 03:53 AM, Aleksey Makarov wrote:
>>
>>
>> On 03/03/2016 06:35 PM, Peter Hurley wrote:
>>> 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.
>>
>> Yes.  That's why we have SPCR *and* DBG2.
>> DBG2 specifies where we should run earlycon.
>>
>>>>> How will a user enable an earlycon on the same console as the SPCR
>>>>> console if there is no DBG2 table?
>>
>> In no way.  You need DBG2 to run earlycon.
>
> And that's an entirely arbitrary decision being made by you.
> Which I think is unnecessarily limited.
>
>
>> (If you don't want to specify it's address etc explicitly)
>
>