Hi everyone. Here is a problem with the SPAPR machine and a libvirt's habit to use "-nodefaults".
When we run QEMU with "-vga std", a VGA device is created from the machine_init callback and if VGA is added, then we automatically add a PCI USB OHCI adapter with a keyboard and everybody (SLOF, yaboot, guest kernel) is happy - there are both input and output devices. However libvirt uses "-device VGA" to create a VGA device. In this case the actual VGA device is created in vl.c and we (SPAPR) do not have control over this process so we do not automatically create anything in addition to VGA. As a result, yaboot fails as there is no input device. x86 creates a whole bunch of various devices including a keyboard controller (i8042) even with "-nodefaults" but this is not true for SPAPR. Since we (POWERPC folks) want everything to work as close to x86 as possible, we need to do something about it :) So the question is - is there any proper (i. e. qemu-upstreamable) way to detect a VGA device presence and create additional devices (OHCI, keyboard, mouse) as "-vga" does it now? The machine reset callback is too late for that. Or we should just print an error (in QEMU or SLOF) and do nothing and let the user configure all required devices in libvirt? -- Alexey