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)