On Sat, Jun 16, 2012 at 6:51 AM, Benjamin Herrenschmidt
<b...@au1.ibm.com> wrote:
> On Fri, 2012-06-15 at 22:40 -0400, Li Zhang wrote:
>> For pseries machine, it needs to enable usb to add
>> keyboard or usb mouse. -usb option won't be used in
>> the future, and machine options is a better way to
>> enable usb.
>
> Patch looks much better. Now, should we also create the default keyboard
> and mouse ? After all that's the whole point of creating the default
> OHCI to begin with ....
OK. I think I should send the patch with vga enablement together.
That seems to be more reasonable. :)
>
> Also, feel free to pickup my internal patch for enabling -vga, removing
> the USB bits from it and submitting it too, that way we get both pieces
> of the puzzle together.
OK. I will send out this together with vga patch.
>
> Cheers,
> Ben.
>
>> So this patch is to add usb option to machine options
>> (-machine type=psereis,usb=on/off)to enable/disable
>> usb controller.
>>
>> For specific machines, they will get the machine option
>> and then create usb controller according to usb option.
>>
>> In this patch, usb is on by default on pseries.
>> So, for -nodefault,usb should be set off in the command
>> line as the following:
>>  -machine type=pseries,usb=off.
>>
>> Signed-off-by: Li Zhang <zhlci...@linux.vnet.ibm.com>
>> ---
>>  hw/spapr.c    |   10 ++++++++++
>>  qemu-config.c |    4 ++++
>>  2 files changed, 14 insertions(+), 0 deletions(-)
>>
>> diff --git a/hw/spapr.c b/hw/spapr.c
>> index d0bddbc..8d158d7 100644
>> --- a/hw/spapr.c
>> +++ b/hw/spapr.c
>> @@ -529,6 +529,8 @@ static void ppc_spapr_init(ram_addr_t ram_size,
>>      long load_limit, rtas_limit, fw_size;
>>      long pteg_shift = 17;
>>      char *filename;
>> +    QemuOpts * machine_opts;
>> +    bool usb_on = false;
>>
>>      spapr = g_malloc0(sizeof(*spapr));
>>      QLIST_INIT(&spapr->phbs);
>> @@ -661,6 +663,14 @@ static void ppc_spapr_init(ram_addr_t ram_size,
>>          spapr_vscsi_create(spapr->vio_bus);
>>      }
>>
>> +    machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0);
>> +    if (machine_opts)
>> +        usb_on = qemu_opt_get_bool(machine_opts, "usb", true);
>> +
>> +    if (usb_on == true) {
>> +        pci_create_simple(QLIST_FIRST(&spapr->phbs)->host_state.bus,
>> +                          -1, "pci-ohci");
>> +    }
>>      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);
>> diff --git a/qemu-config.c b/qemu-config.c
>> index bb3bff4..cdab765 100644
>> --- a/qemu-config.c
>> +++ b/qemu-config.c
>> @@ -583,6 +583,10 @@ static QemuOptsList qemu_machine_opts = {
>>              .name = "dtb",
>>              .type = QEMU_OPT_STRING,
>>              .help = "Linux kernel device tree file",
>> +        },{
>> +            .name = "usb",
>> +            .type = QEMU_OPT_BOOL,
>> +            .help = "Set on/off to enable/disable usb",
>>          },
>>          { /* End of list */ }
>>      },
>
>
>



-- 

Best Regards
-Li

Reply via email to