On Thu, Jan 31, 2019 at 02:57:11PM +0000, Andre Przywara wrote: > On Wed, 30 Jan 2019 18:20:19 +0000 > Will Deacon <will.deacon@xxxxxxx> wrote: > > On Fri, Jan 25, 2019 at 06:07:57PM +0000, Andre Przywara wrote: > > > The DT spec describes the stdout-path property in the /chosen node > > > to contain the DT path for a default device usable for outputting > > > characters. The Linux kernel uses this for earlycon (without > > > further parameters), other DT users might rely on this as well. > > > > > > Add a property containing the path to our emulated 8250 serial > > > device. > > > > > > Even when we use the virtio console, the serial console is still > > > there and works, so we can expose this unconditionally. Putting the > > > virtio console path in there will not work anyway. > > > > > > Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> > > > --- > > > arm/fdt.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/arm/fdt.c b/arm/fdt.c > > > index 28ba1c2c..8cda3ded 100644 > > > --- a/arm/fdt.c > > > +++ b/arm/fdt.c > > > @@ -143,6 +143,7 @@ static int setup_fdt(struct kvm *kvm) > > > _FDT(fdt_property_cell(fdt, "linux,pci-probe-only", 1)); > > > _FDT(fdt_property_string(fdt, "bootargs", > > > kvm->cfg.real_cmdline)); _FDT(fdt_property_u64(fdt, "kaslr-seed", > > > kvm->cfg.arch.kaslr_seed)); > > > + _FDT(fdt_property_string(fdt, "stdout-path", > > > "/U6_16550A@3f8")); > > > > Since the last string here has to match the one in hw/serial.c, I > > think we should be retrieving it from there rather than hardcoding it > > here. > > Are you thinking about something like setting a "char > *primary_console_path" in hw/serial.c:serial8250_generate_fdt_node(), > then using this here in arm/fdt.c? > Or shall the generate function directly set the stdout-path? It's probably a bit dodgy doing it from the generate function, because I think we'd then be relying on the the /chosen node being created before the serial node (which is true, but I wouldn't like to rely on it). So I think either have a way to register the primary console device, or a way to squirrel the string away somewhere. Is there a variant of stdout-path which uses a phandle instead of a string? That might end up being cleaner to implement. Will