Am 18.04.2013 um 10:30 schrieb Peter Maydell peter.maydell@linaro.org:
On 18 April 2013 07:49, Marc Zyngier maz@misterjones.org wrote:
If you need an early console, why not simply wire the 8250 emulation in kvmtool to be useable from the MMIO bus? I reckon this would solve your problem in a more elegant way...
The other approach I thought of would be something involving defining a hypercall interface for console I/O, in the same way that we have hypercalls for "start cpu"/"stop cpu"/etc. Is there any mileage in considering that approach, or is it a non-starter?
It's exactly what we had for the s390-virtio machine. Virtio-console as console device plus a hypercall for early printk.
It was a mess.
Trying to inject character output that lands in machine context, where hypercalls get handled, inside of a specific virtio-console device, which owns the char output, is hard. We haven't found any good solution in qemu to layer this properly.
The closest approach to something workable was to create 2 char outputs and mux them together, like you usually would mus monitor and serial. Good luck muxing that one again with the monitor :).
I'd rather spare you guys from going through the same pain.
Alex