qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Alexander Graf <agraf@suse.de>
Cc: benh@au1.ibm.com, shangw@linux.vnet.ibm.com,
	qemu-devel@nongnu.org, Li Zhang <zhlcindy@linux.vnet.ibm.com>,
	qemu-ppc@nongnu.org, zhlcindy@gmail.com
Subject: Re: [Qemu-devel] [Qemu-ppc][PATCH v5 1/4] Add usb option in machine options
Date: Fri, 06 Jul 2012 18:08:21 +0200	[thread overview]
Message-ID: <4FF70D75.7050104@suse.de> (raw)
In-Reply-To: <E809D7E4-7FA2-4825-BB08-92914D437493@suse.de>

Am 06.07.2012 18:03, schrieb Alexander Graf:
> 
> On 06.07.2012, at 17:58, Andreas Färber wrote:
> 
>> Am 06.07.2012 15:43, schrieb Alexander Graf:
>>>
>>> On 02.07.2012, at 07:25, zhlcindy@gmail.com wrote:
>>>
>>>> From: Li Zhang <zhlcindy@linux.vnet.ibm.com>
>>>>
>>>> pSeries machine needs to enable USB to add a USB
>>>> keyboard or USB mouse. -usb option won't be used in
>>>> the future, and machine options are a better way to
>>>> enable USB.
>>>>
>>>> So this patch is to add USB option to machine options
>>>> (-machine type=pseries,usb=on/off) to enable/disable
>>>> USB controller. And machines will get the machine option
>>>> and create a USB controller if USB is on.
>>>>
>>>> By the way, USB is on by default on pSeries machine.
>>>> So USB controller should be turned off explicitly through
>>>> the command line for "-nodefault" case as the following:
>>>> -machine type=pseries,usb=off.
>>>>
>>>> Signed-off-by: Li Zhang <zhlcindy@linux.vnet.ibm.com>
>>>> Reviewed-by: Andreas Färber <afaerber@suse.de>
>>>> ---
>>>> hw/spapr.c    |   11 +++++++++++
>>>> qemu-config.c |    4 ++++
>>>> 2 files changed, 15 insertions(+)
>>>>
>>>> diff --git a/hw/spapr.c b/hw/spapr.c
>>>> index 81c9343..973de1b 100644
>>>> --- a/hw/spapr.c
>>>> +++ b/hw/spapr.c
>> [...]
>>>> @@ -710,6 +712,15 @@ 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) {
>>>> +        add_usb = qemu_opt_get_bool(machine_opts, "usb", true);
>>>> +    }
>>>> +
>>>> +    if (add_usb) {
>>>> +        pci_create_simple(QLIST_FIRST(&spapr->phbs)->host_state.bus,
>>>> +                          -1, "pci-ohci");
>>>> +    }
>>>
>>> Didn't I ask you to extract this out to generic code? I don't want to have a "usb" machine opt that is only available for -M pseries.
>>
>> Isn't the mapping from "usb=on" to device-level actions
>> machine-specific? We have ohci, uhci, ehci, xhci to choose from. And the
>> bus to place it on is machine-specific, too.
>>
>> So did you rather mean adding usb= awareness to more machines? If we
>> generalize usb=on to usb=none/ohci/... plus some usbbus= we get -device.
> 
> I was thinking of replacing usb_enabled with
> 
> static inline int usb_enabled(bool default) {
>     machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0);
>     if (machine_opts) {
>         return qemu_opt_get_bool(machine_opts, "usb", default);
>     }
>     return default;
> }
> 
> Whereas -usb in vl.c would set machine.usb = on. Then all users of usb_enabled would automatically be converted to the new syntax and we could even use the same logic in spapr.c.

Oh sure, if we return bool and keep QemuOpts* locally it's perfect. :)

I understood you wanted to generalize the if (add_usb) {} that you
replied under. ;)

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2012-07-06 16:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-02  5:25 [Qemu-devel] [Qemu-ppc][PATCH v5 0/4] Add USB option and enable vga on spapr zhlcindy
2012-07-02  5:25 ` [Qemu-devel] [Qemu-ppc][PATCH v5 1/4] Add usb option in machine options zhlcindy
2012-07-06 13:43   ` Alexander Graf
2012-07-06 15:58     ` Andreas Färber
2012-07-06 16:03       ` Alexander Graf
2012-07-06 16:08         ` Andreas Färber [this message]
2012-07-08 14:46         ` Li Zhang
2012-07-08 15:02           ` Alexander Graf
2012-07-08 15:15             ` Li Zhang
2012-07-08 14:21     ` Li Zhang
2012-07-08 14:45       ` Alexander Graf
2012-07-08 14:52         ` Li Zhang
2012-07-02  5:25 ` [Qemu-devel] [Qemu-ppc][PATCH v5 2/4] Add one new file vga-pci.h zhlcindy
2012-07-03  7:17   ` [Qemu-devel] [Qemu-ppc] [PATCH " Li Zhang
2012-07-02  5:25 ` [Qemu-devel] [Qemu-ppc][PATCH v5 3/4] Cleanup pc.h on other platforms zhlcindy
2012-07-02  5:25 ` [Qemu-devel] [Qemu-ppc][PATCH v5 4/4] spapr: Add support for -vga option zhlcindy
2012-07-06 13:50   ` Alexander Graf
2012-07-06 13:58     ` Andreas Färber
2012-07-08 15:08     ` Li Zhang
2012-07-08 21:54       ` Benjamin Herrenschmidt

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=4FF70D75.7050104@suse.de \
    --to=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=benh@au1.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=shangw@linux.vnet.ibm.com \
    --cc=zhlcindy@gmail.com \
    --cc=zhlcindy@linux.vnet.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).