Message ID | 1344307320-25094-4-git-send-email-zhlcindy@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On 08/07/2012 04:42 AM, Li Zhang wrote: > 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 <benh@kernel.crashing.org> > Signed-off-by: Li Zhang <zhlcindy@linux.vnet.ibm.com> > --- > hw/spapr.c | 31 ++++++++++++++++++++++++++++++- > 1 files changed, 30 insertions(+), 1 deletions(-) Thanks, applied to ppc-next without the USB bits. I also get the following warning now: $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append root=/dev/null This vga model is not supported,currently it only supports -vga std [...] Fixing with a follow-up patch. Alex
On Tue, 2012-08-14 at 13:04 +0200, Alexander Graf wrote: > Thanks, applied to ppc-next without the USB bits. I also get the > following warning now: > > $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel > /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append > root=/dev/null > This vga model is not supported,currently it only supports -vga std > [...] > > Fixing with a follow-up patch. Right, nowadays qemu defaults to cirrus regardless of the arch which is annoying. In fact it even creates a vga card with -nographic, you have to do -vga none to avoid it which is even more annoying for us :-) That's an area where we want less stupid global magic in vl.c and more fine tunes arch control. Cheers, Ben
On Tue, Aug 14, 2012 at 10:04:03PM +1000, Benjamin Herrenschmidt wrote: > On Tue, 2012-08-14 at 13:04 +0200, Alexander Graf wrote: > > Thanks, applied to ppc-next without the USB bits. I also get the > > following warning now: > > > > $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel > > /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append > > root=/dev/null > > This vga model is not supported,currently it only supports -vga std > > [...] > > > > Fixing with a follow-up patch. > > Right, nowadays qemu defaults to cirrus regardless of the arch which is > annoying. In fact it even creates a vga card with -nographic, you have > to do -vga none to avoid it which is even more annoying for us :-) No, that's not the problem, or at least it's not the only problem. It actually rejected -vga none. I fixed that in the version in my tree, but I hadn't sent that out to Alex yet.
On Tue, Aug 14, 2012 at 7:04 PM, Alexander Graf <agraf@suse.de> wrote: > On 08/07/2012 04:42 AM, Li Zhang wrote: >> >> 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 <benh@kernel.crashing.org> >> Signed-off-by: Li Zhang <zhlcindy@linux.vnet.ibm.com> >> --- >> hw/spapr.c | 31 ++++++++++++++++++++++++++++++- >> 1 files changed, 30 insertions(+), 1 deletions(-) > > > Thanks, applied to ppc-next without the USB bits. I also get the following > warning now: > > $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel > /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append root=/dev/null > This vga model is not supported,currently it only supports -vga std > [...] > > Fixing with a follow-up patch. > Oh, got it. It's annoying. > > Alex >
On Tue, Aug 14, 2012 at 8:13 PM, David Gibson <dwg@au1.ibm.com> wrote: > On Tue, Aug 14, 2012 at 10:04:03PM +1000, Benjamin Herrenschmidt wrote: >> On Tue, 2012-08-14 at 13:04 +0200, Alexander Graf wrote: >> > Thanks, applied to ppc-next without the USB bits. I also get the >> > following warning now: >> > >> > $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel >> > /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append >> > root=/dev/null >> > This vga model is not supported,currently it only supports -vga std >> > [...] >> > >> > Fixing with a follow-up patch. >> >> Right, nowadays qemu defaults to cirrus regardless of the arch which is >> annoying. In fact it even creates a vga card with -nographic, you have >> to do -vga none to avoid it which is even more annoying for us :-) > > No, that's not the problem, or at least it's not the only problem. It > actually rejected -vga none. I fixed that in the version in my tree, > but I hadn't sent that out to Alex yet. OK, I see. I will redo USB patches. Let me pull the version from the internal tree and resend it with USB patches. > > -- > David Gibson | I'll have my music baroque, and my code > david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ > | _way_ _around_! > http://www.ozlabs.org/~dgibson > >
On Tue, Aug 14, 2012 at 11:13 PM, Li Zhang <zhlcindy@gmail.com> wrote: > On Tue, Aug 14, 2012 at 8:13 PM, David Gibson <dwg@au1.ibm.com> wrote: >> On Tue, Aug 14, 2012 at 10:04:03PM +1000, Benjamin Herrenschmidt wrote: >>> On Tue, 2012-08-14 at 13:04 +0200, Alexander Graf wrote: >>> > Thanks, applied to ppc-next without the USB bits. I also get the >>> > following warning now: >>> > >>> > $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel >>> > /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append >>> > root=/dev/null >>> > This vga model is not supported,currently it only supports -vga std >>> > [...] >>> > >>> > Fixing with a follow-up patch. >>> >>> Right, nowadays qemu defaults to cirrus regardless of the arch which is >>> annoying. In fact it even creates a vga card with -nographic, you have >>> to do -vga none to avoid it which is even more annoying for us :-) >> >> No, that's not the problem, or at least it's not the only problem. It >> actually rejected -vga none. I fixed that in the version in my tree, >> but I hadn't sent that out to Alex yet. > OK, I see. > I will redo USB patches. > Let me pull the version from the internal tree and resend it with USB patches. > David, I didn't find your latest version. I think I have to send out tomorrow morning. It seems that VPN server is down again. :( >> >> -- >> David Gibson | I'll have my music baroque, and my code >> david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ >> | _way_ _around_! >> http://www.ozlabs.org/~dgibson >> >> > > > > -- > > Best Regards > -Li
On Wed, Aug 15, 2012 at 1:19 AM, Li Zhang <zhlcindy@gmail.com> wrote: > On Tue, Aug 14, 2012 at 11:13 PM, Li Zhang <zhlcindy@gmail.com> wrote: >> On Tue, Aug 14, 2012 at 8:13 PM, David Gibson <dwg@au1.ibm.com> wrote: >>> On Tue, Aug 14, 2012 at 10:04:03PM +1000, Benjamin Herrenschmidt wrote: >>>> On Tue, 2012-08-14 at 13:04 +0200, Alexander Graf wrote: >>>> > Thanks, applied to ppc-next without the USB bits. I also get the >>>> > following warning now: >>>> > >>>> > $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel >>>> > /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append >>>> > root=/dev/null >>>> > This vga model is not supported,currently it only supports -vga std >>>> > [...] >>>> > >>>> > Fixing with a follow-up patch. >>>> >>>> Right, nowadays qemu defaults to cirrus regardless of the arch which is >>>> annoying. In fact it even creates a vga card with -nographic, you have >>>> to do -vga none to avoid it which is even more annoying for us :-) >>> >>> No, that's not the problem, or at least it's not the only problem. It >>> actually rejected -vga none. I fixed that in the version in my tree, >>> but I hadn't sent that out to Alex yet. >> OK, I see. >> I will redo USB patches. >> Let me pull the version from the internal tree and resend it with USB patches. >> > David, I didn't find your latest version. > I think I have to send out tomorrow morning. > It seems that VPN server is down again. :( > VPN can work now. I have sent out USB part. David, would you please send out the latest version of VGA part. Thanks. :) >>> >>> -- >>> David Gibson | I'll have my music baroque, and my code >>> david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ >>> | _way_ _around_! >>> http://www.ozlabs.org/~dgibson >>> >>> >> >> >> >> -- >> >> Best Regards >> -Li > > > > -- > > Best Regards > -Li
On Wed, Aug 15, 2012 at 01:52:55AM +0800, Li Zhang wrote: > On Wed, Aug 15, 2012 at 1:19 AM, Li Zhang <zhlcindy@gmail.com> wrote: > > On Tue, Aug 14, 2012 at 11:13 PM, Li Zhang <zhlcindy@gmail.com> wrote: > >> On Tue, Aug 14, 2012 at 8:13 PM, David Gibson <dwg@au1.ibm.com> wrote: > >>> On Tue, Aug 14, 2012 at 10:04:03PM +1000, Benjamin Herrenschmidt wrote: > >>>> On Tue, 2012-08-14 at 13:04 +0200, Alexander Graf wrote: > >>>> > Thanks, applied to ppc-next without the USB bits. I also get the > >>>> > following warning now: > >>>> > > >>>> > $ ./ppc64-softmmu/qemu-system-ppc64 -nographic -M pseries -kernel > >>>> > /boot/vmlinux -initrd /boot/initrd -enable-kvm -m 1G -append > >>>> > root=/dev/null > >>>> > This vga model is not supported,currently it only supports -vga std > >>>> > [...] > >>>> > > >>>> > Fixing with a follow-up patch. > >>>> > >>>> Right, nowadays qemu defaults to cirrus regardless of the arch which is > >>>> annoying. In fact it even creates a vga card with -nographic, you have > >>>> to do -vga none to avoid it which is even more annoying for us :-) > >>> > >>> No, that's not the problem, or at least it's not the only problem. It > >>> actually rejected -vga none. I fixed that in the version in my tree, > >>> but I hadn't sent that out to Alex yet. > >> OK, I see. > >> I will redo USB patches. > >> Let me pull the version from the internal tree and resend it with USB patches. > >> > > David, I didn't find your latest version. > > I think I have to send out tomorrow morning. > > It seems that VPN server is down again. :( > > > VPN can work now. I have sent out USB part. > David, would you please send out the latest version of VGA part. There's no need, Alex already pulled your patch and put an equivalent fix in.
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)) {