All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zhang <zhlcindy@linux.vnet.ibm.com>
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
Subject: Re: [Qemu-devel] [Qemu-ppc][PATCH v6 5/5] spapr: Add support for -vga option
Date: Sat, 04 Aug 2012 15:55:12 +0800	[thread overview]
Message-ID: <501CD560.6010208@linux.vnet.ibm.com> (raw)
In-Reply-To: <1344105663-22703-6-git-send-email-zhlcindy@gmail.com>

Reply to mailing list. :)

On 2012年08月05日 02:41, zhlcindy@gmail.com wrote:
> From: Li Zhang <zhlcindy@linux.vnet.ibm.com>
>
> 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(-)
>
> 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

  parent reply	other threads:[~2012-08-04  7:55 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1344105663-22703-1-git-send-email-zhlcindy@gmail.com>
2012-08-04  7:50 ` [Qemu-devel] [Qemu-ppc][PATCH v6 0/5] Add USB enablement and VGA enablement on sPAPR Li Zhang
     [not found] ` <1344105663-22703-3-git-send-email-zhlcindy@gmail.com>
2012-08-04  7:53   ` [Qemu-devel] [Qemu-ppc][PATCH v6 2/5] Get USB option by machine options on all platforms Li Zhang
     [not found] ` <1344105663-22703-4-git-send-email-zhlcindy@gmail.com>
2012-08-04  7:54   ` [Qemu-devel] [Qemu-ppc][PATCH v6 3/5] Add one new file vga-pci.h Li Zhang
     [not found] ` <1344105663-22703-5-git-send-email-zhlcindy@gmail.com>
2012-08-04  7:54   ` [Qemu-devel] [Qemu-ppc][PATCH v6 4/5] Cleanup pc.h on other platforms Li Zhang
     [not found] ` <1344105663-22703-6-git-send-email-zhlcindy@gmail.com>
2012-08-04  7:55   ` Li Zhang [this message]
2012-08-04 12:05 [Qemu-devel] [Qemu-ppc][PATCH v6 0/5] Add USB enablement and VGA enablement on sPAPR Li Zhang
2012-08-04 12:05 ` [Qemu-devel] [Qemu-ppc][PATCH v6 5/5] spapr: Add support for -vga option Li Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=501CD560.6010208@linux.vnet.ibm.com \
    --to=zhlcindy@linux.vnet.ibm.com \
    --cc=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=zhlcindy@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.