On 15/01/2025 12:07 pm, Yann Dirson wrote:
> ---
>
> Notes:
>     This is a very preliminar first draft for comments:
>     
>     - would this structuration be adequate?
>     
>     - Is my basic understanding correct, are those first enumerations
>     correct? (some of it come solely from console.txt, which has already
>     proven to be seriously outdated on many aspects)
>     
>     - is there some doc about the qemu/ioemu backend I missed?  Is it able to
>     deal with PV consoles, or is it just for virtual UARTS?

Consoles are probably one of the harder areas to get started.

First, we need to distinguish between host consoles and guest consoles,
because admin-guide/console could be either/both.

Host consoles are mostly UARTs, but we have several flavours including
usb2 and usb3 flavours.  ARM has extensive early printk support, which
RISC-V/PPC are borrowing too.  Xen is also capable of using
hypervisor-provided consoles too.

For guest consoles, there's the plain CONSOLEIO hypercalls, and whether
they do anything interesting depend on whether you're dom0 and/or the
CONFIG_VERBOSE build setting.  ARM has the ability to mutiplex output
from different guests onto the host console.  There's also the
xenconsoled, things emulated by Qemu or other emulators, and even the
in-Xen UART emulator currently on list.


Then, for specific guests, they've got different console options
available.  e.g. Linux has a dedicated earlyconsole option for Xen (uses
CONSOLEIO) as well as an hvc driver.


And ideally we want all this information documented nicely, between "how
do I set up debugging for my guest" and how do I write a driver for
xenconsoled.

~Andrew

Reply via email to