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

Aleksey Makarov aleksey.makarov at linaro.org
Fri Mar 4 03:53:15 PST 2016



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.

(If you don't want to specify it's address etc explicitly)




More information about the linux-arm-kernel mailing list