pseries: Instantiate USB interface when required

The pseries machine already supports the -vga std option, creating a
graphics adapter.  However, this is not very useful without being able to
add a keyboard and mouse as well.  This patch addresses this by adding
a USB interface when requested, and automatically adding a USB keyboard
and mouse when VGA is enabled.

This is a stop gap measure to get usable graphics mode on pseries while
waiting for Li Zhang's rework of USB options to go in after 1.2.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
David Gibson 2012-08-16 12:03:56 +10:00 committed by Anthony Liguori
parent d973ba18ce
commit 35139a590c
1 changed files with 10 additions and 0 deletions

View File

@ -49,6 +49,7 @@
#include "vga-pci.h"
#include "exec-memory.h"
#include "hw/usb.h"
#include <libfdt.h>
@ -765,6 +766,15 @@ static void ppc_spapr_init(ram_addr_t ram_size,
spapr->has_graphics = true;
}
if (usb_enabled) {
pci_create_simple(QLIST_FIRST(&spapr->phbs)->host_state.bus,
-1, "pci-ohci");
if (spapr->has_graphics) {
usbdevice_create("keyboard");
usbdevice_create("mouse");
}
}
if (rma_size < (MIN_RMA_SLOF << 20)) {
fprintf(stderr, "qemu: pSeries SLOF firmware requires >= "
"%ldM guest RMA (Real Mode Area memory)\n", MIN_RMA_SLOF);