From: Paolo Bonzini <pbonzini@redhat.com>
To: Alexander Graf <agraf@suse.de>,
Marcel Apfelbaum <marcel@redhat.com>,
qemu-devel@nongnu.org
Cc: marcel.a@redhat.com
Subject: Re: [Qemu-devel] [PATCH for-2.3] powerpc: fix -machine usb=no for newworld and pseries machines
Date: Mon, 23 Mar 2015 21:11:23 +0100 [thread overview]
Message-ID: <5510736B.8000107@redhat.com> (raw)
In-Reply-To: <551059A0.9060602@suse.de>
On 23/03/2015 19:21, Alexander Graf wrote:
> On 03/23/2015 07:20 PM, Marcel Apfelbaum wrote:
>> On 03/23/2015 07:05 PM, Paolo Bonzini wrote:
>>> Capture the explicit setting of "usb=no" into a separate bool, and
>>> use it to skip the update of machine->usb in the board init function.
>>>
>>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>>> ---
>>> hw/core/machine.c | 1 +
>>> hw/ppc/mac_newworld.c | 2 +-
>>> hw/ppc/spapr.c | 2 +-
>>> include/hw/boards.h | 1 +
>>> 4 files changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/hw/core/machine.c b/hw/core/machine.c
>>> index cb1185a..25c45e6 100644
>>> --- a/hw/core/machine.c
>>> +++ b/hw/core/machine.c
>>> @@ -223,6 +223,7 @@ static void machine_set_usb(Object *obj, bool
>>> value, Error **errp)
>>> MachineState *ms = MACHINE(obj);
>>>
>>> ms->usb = value;
>>> + ms->usb_disabled = !value;
>> Maybe is too late now, but I really not like this pollution of
>> MachineState
>> with 'usb_disabled'. (Imagine we have this kind of fields for lots of
>> objects and lots
>> of corner cases...)
>> I know it comes to solve a bug, but we talked about it in another mail
>> thread and
>> this change in semantics was approved.
>>
>> Let me explain *why* I don't like it.
>> 1. We add an "usb_disabled" field to a base class (actually object)
>> of all the machines and the only place it is interesting is
>> for 2 machines on ppc.
So we do for kernel_irqchip_requested/allowed. Both approaches could be
replaced by a tri-state on/off/auto.
>> 2. Even for these 2 machines, the scenario of defaults=on and usb=off
>> is not practical.
Why? For example you could add a virtio-input device instead of a USB
keyboard and mouse.
> I'm personally fine either way, but I assumed that Paolo had a good
> reason for writing the patch?
Actually, two.
One good reason is that no matter how you look at it, it's at least
surprising and at worst a bug that "-machine usb=no" includes a default
USB controller.
The second good reason is that it's a guest ABI change for the versioned
pSeries machines, and as such it breaks migration.
Paolo
next prev parent reply other threads:[~2015-03-23 20:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-23 17:05 [Qemu-devel] [PATCH for-2.3] powerpc: fix -machine usb=no for newworld and pseries machines Paolo Bonzini
2015-03-23 17:28 ` Alexander Graf
2015-03-23 18:20 ` Marcel Apfelbaum
2015-03-23 18:21 ` Alexander Graf
2015-03-23 20:11 ` Paolo Bonzini [this message]
2015-03-23 22:00 ` Marcel Apfelbaum
2015-03-24 7:47 ` Paolo Bonzini
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=5510736B.8000107@redhat.com \
--to=pbonzini@redhat.com \
--cc=agraf@suse.de \
--cc=marcel.a@redhat.com \
--cc=marcel@redhat.com \
--cc=qemu-devel@nongnu.org \
/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).