From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SxZCj-0004BE-Pa for qemu-devel@nongnu.org; Sat, 04 Aug 2012 03:55:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SxZCi-0001nB-FZ for qemu-devel@nongnu.org; Sat, 04 Aug 2012 03:55:21 -0400 Received: from e28smtp06.in.ibm.com ([122.248.162.6]:55441) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SxZCh-0001mt-Qm for qemu-devel@nongnu.org; Sat, 04 Aug 2012 03:55:20 -0400 Received: from /spool/local by e28smtp06.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 4 Aug 2012 13:25:18 +0530 Message-ID: <501CD560.6010208@linux.vnet.ibm.com> Date: Sat, 04 Aug 2012 15:55:12 +0800 From: Li Zhang MIME-Version: 1.0 References: <1344105663-22703-1-git-send-email-zhlcindy@gmail.com> <1344105663-22703-6-git-send-email-zhlcindy@gmail.com> In-Reply-To: <1344105663-22703-6-git-send-email-zhlcindy@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [Qemu-ppc][PATCH v6 5/5] spapr: Add support for -vga option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: zhlcindy@gmail.com Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, agraf@suse.de, qemu-ppc@nongnu.org, afaerber@suse.de, david@gibson.dropbear.id.au Reply to mailing list. :) On 2012年08月05日 02:41, zhlcindy@gmail.com wrote: > From: Li Zhang > > Also instanciate the USB keyboard and mouse when that option is used > (you can still use -device to create individual devices without all > the defaults) > > Signed-off-by: Benjamin Herrenschmidt > Signed-off-by: Li Zhang > --- > hw/spapr.c | 31 ++++++++++++++++++++++++++++++- > 1 files changed, 30 insertions(+), 1 deletions(-) > > diff --git a/hw/spapr.c b/hw/spapr.c > index 4dc5e59..e8eb947 100644 > --- a/hw/spapr.c > +++ b/hw/spapr.c > @@ -45,6 +45,8 @@ > #include "kvm.h" > #include "kvm_ppc.h" > #include "pci.h" > +#include "vga-pci.h" > +#include "usb.h" > > #include "exec-memory.h" > > @@ -82,6 +84,7 @@ > #define PHANDLE_XICP 0x00001111 > > sPAPREnvironment *spapr; > +bool spapr_has_graphics; > > qemu_irq spapr_allocate_irq(uint32_t hint, uint32_t *irq_num, > enum xics_irq_type type) > @@ -257,6 +260,9 @@ static void *spapr_create_fdt_skel(const char *cpu_model, > _FDT((fdt_property(fdt, "qemu,boot-kernel", &kprop, sizeof(kprop)))); > } > _FDT((fdt_property_string(fdt, "qemu,boot-device", boot_device))); > + _FDT((fdt_property_cell(fdt, "qemu,graphic-width", graphic_width))); > + _FDT((fdt_property_cell(fdt, "qemu,graphic-height", graphic_height))); > + _FDT((fdt_property_cell(fdt, "qemu,graphic-depth", graphic_depth))); > > _FDT((fdt_end_node(fdt))); > > @@ -503,7 +509,9 @@ static void spapr_finalize_fdt(sPAPREnvironment *spapr, > } > } > > - spapr_populate_chosen_stdout(fdt, spapr->vio_bus); > + if (!spapr_has_graphics) { > + spapr_populate_chosen_stdout(fdt, spapr->vio_bus); > + } > > _FDT((fdt_pack(fdt))); > > @@ -556,6 +564,18 @@ static void spapr_cpu_reset(void *opaque) > cpu_reset(CPU(cpu)); > } > > +static int spapr_vga_init(PCIBus *pci_bus) > +{ > + if (std_vga_enabled) { > + pci_vga_init(pci_bus); > + } else { > + fprintf(stderr, "This vga model is not supported," > + "currently it only supports -vga std\n"); > + return 0; > + } > + return 1; > +} > + > /* pSeries LPAR / sPAPR hardware init */ > static void ppc_spapr_init(ram_addr_t ram_size, > const char *boot_device, > @@ -712,6 +732,11 @@ static void ppc_spapr_init(ram_addr_t ram_size, > spapr_vscsi_create(spapr->vio_bus); > } > > + /* Graphics */ > + if (spapr_vga_init(QLIST_FIRST(&spapr->phbs)->host_state.bus)) { > + spapr_has_graphics = true; > + } > + > mach_opts = qemu_opts_find(qemu_find_opts("machine"), 0); > if (mach_opts) { > usb_enabled = qemu_opt_get_bool(mach_opts, "usb", true); > @@ -720,6 +745,10 @@ static void ppc_spapr_init(ram_addr_t ram_size, > 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)) { -- Li Zhang IBM China Linux Technology Centre