In the old Itanium days, I created a PCDP table that also includes GUI console https://coral.googlesource.com/linux-imx/+/refs/tags/4-2/drivers/firmware/pc... for non-Windows OSes.
Unfortunately, it did not get widely accepted, Linux on x86 still prefers to adopt Microsoft standards 😊.
From: Ard Biesheuvel ardb@kernel.org Date: Tuesday, January 19, 2021 at 12:30 AM To: Dong Wei Dong.Wei@arm.com Cc: François Ozog francois.ozog@linaro.org, Grant Likely Grant.Likely@arm.com, Jeff Booher-Kaeding Jeff.Booher-Kaeding@arm.com, Samer El-Haj-Mahmoud Samer.El-Haj-Mahmoud@arm.com, mbrugger@suse.com mbrugger@suse.com, Jose Marinho Jose.Marinho@arm.com, sjg@google.com sjg@google.com, bill.mills@linaro.org bill.mills@linaro.org, boot-architecture@lists.linaro.org boot-architecture@lists.linaro.org, Reed Hinkel Reed.Hinkel@arm.com, takahiro.akashi@linaro.org takahiro.akashi@linaro.org, daniel.thompson@linaro.org daniel.thompson@linaro.org, Mark Brown Mark.Brown@arm.com, atishp@atishpatra.org atishp@atishpatra.org, joakim.bech@linaro.org joakim.bech@linaro.org, duwe@suse.de duwe@suse.de Subject: Re: EBBR Biweekly for 18 Jan 2021 On Tue, 19 Jan 2021 at 05:54, Dong Wei Dong.Wei@arm.com wrote:
There is also the SPCR table https://docs.microsoft.com/en-us/windows-hardware/drivers/serports/serial-po... This is the primary serial console
One of the issues we still have not fixed in Linux is the inconsistency in interpretation of what 'serial console' actually means.
On Windows, the serial console is a low-level admin interface that may be exposed in addition to the full blown graphical user interface, which is always available. The SPCR describes how this admin interface is exposed, but does not affect what happens on the GUI.
In Linux, the console *is* the primary interface, either graphical or serial. Currently, the mere presence of a SPCR is taken as an indication that only the serial console should be enabled; for this reason, the UEFI ports we have for platforms with PCIe expansion carry a driver that removes the SPCR again if UEFI detects the presence of a graphical interface.
Unfortunately, this is not something we can easily change without breaking existing systems. Note that annotating device objects in the DSDT is probably not the right approach here, given that this requires the AML interpreter to be up and running before we can decide where the console lives.
As Heinrich points out, we have a similar problem today when it comes to the graphical interface on DT systems, i.e., it is not clear how to convey that the user expects the interaction with the system to occur via the graphical UI and not via a serial port. For a bootloader such as u-boot, it should be fairly easy to suppress the stdout-path if u-boot itself is running on the graphical display, but it would be better to communicate the presence of this GUI *in addition to* a serial port serving as a console. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.