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
next prev parent 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).