qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Ian Campbell <Ian.Campbell@eu.citrix.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Markus Armbruster <armbru@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] Allow to leave type on default in -machine
Date: Fri, 29 Jul 2011 09:37:12 -0500	[thread overview]
Message-ID: <4E32C598.4050503@us.ibm.com> (raw)
In-Reply-To: <4E2D95A8.4060303@siemens.com>

On 07/25/2011 11:11 AM, Jan Kiszka wrote:
> On 2011-07-25 13:48, Jan Kiszka wrote:
>> On 2011-07-25 13:39, Markus Armbruster wrote:
>>> Jan Kiszka<jan.kiszka@siemens.com>  writes:
>>>
>>>> On 2011-07-25 12:45, Richard W.M. Jones wrote:
>>>>> On Mon, Jul 25, 2011 at 12:33:01PM +0200, Jan Kiszka wrote:
>>>>>> On 2011-07-25 11:41, Richard W.M. Jones wrote:
>>>>>>> On Sat, Jul 23, 2011 at 12:38:37PM +0200, Jan Kiszka wrote:
>>>>>>>> From: Jan Kiszka<jan.kiszka@siemens.com>
>>>>>>>>
>>>>>>>> -machine somehow suggests that it selects the machine, but it doesn't.
>>>>>>>> Fix that before this command is set in stone.
>>>>>>>>
>>>>>>>> Actually, -machine should supersede -M and allow to introduce arbitrary
>>>>>>>> per-machine options to the command line. That will change the internal
>>>>>>>> realization again, but we will be able to keep the user interface
>>>>>>>> stable.
>>>>>>>
>>>>>>> This breaks libguestfs which was doing:
>>>>>>>
>>>>>>>    qemu -machine accel=kvm:tcg ...
>>>>>>>
>>>>>>> We are not passing any -M option at all.  We don't particularly care
>>>>>>> about the machine type since we're not that performance sensitive and
>>>>>>> we don't need to serialize the machine state.
>>>>>>>
>>>>>>> I have checked, and this works:
>>>>>>>
>>>>>>>    qemu -machine pc,accel=kvm:tcg ...
>>>>>>>
>>>>>>> "pc" is the default, right?  What about for other architectures?
>>>>>>
>>>>>> Yes, pc is the right default. Other arch have other defaults.
>>>>>
>>>>> So what you're saying is we have to parse qemu -machine \? output by
>>>>> looking for the string '(default)'?  eg:
>>>>>
>>>>> $ ./arm-softmmu/qemu-system-arm -machine \?|fgrep '(default)'
>>>>> integratorcp ARM Integrator/CP (ARM926EJ-S) (default)
>>>>>
>>>>> $ ./i386-softmmu/qemu -machine \?|fgrep '(default)'
>>>>> pc-0.14    Standard PC (default)
>>>>
>>>> I understand, this is clumsy. Will see if we can do better.
>>>
>>> Is there a technical reason why type isn't optional with -machine?
>>>
>>> [...]
>>
>> Maybe it's just the
>>
>> assert(!permit_abbrev || list->implied_opt_name);
>>
>> in qemu_opts_parse, but I haven't looked at all details (and all other
>> users) yet.
>
> I was incorrectly pointing the core, the problem is solvable at the
> level where we parse -machine:
>
> -------8<--------
>
> This allows to specify -machine options without setting an explicit
> machine type. We will pick the default machine in this case. Requesting
> the list of available machines is still possible via '-machine ?' e.g.
>
> Signed-off-by: Jan Kiszka<jan.kiszka@siemens.com>

Applied.  Thanks.

Regards,

Anthony Liguori

> ---
>   vl.c |    5 ++++-
>   1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 8256504..5e53ddc 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2720,7 +2720,10 @@ int main(int argc, char **argv, char **envp)
>                       fprintf(stderr, "parse error: %s\n", optarg);
>                       exit(1);
>                   }
> -                machine = machine_parse(qemu_opt_get(opts, "type"));
> +                optarg = qemu_opt_get(opts, "type");
> +                if (optarg) {
> +                    machine = machine_parse(optarg);
> +                }
>                   break;
>               case QEMU_OPTION_usb:
>                   usb_enabled = 1;

  parent reply	other threads:[~2011-07-29 14:37 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-23 10:38 [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option Jan Kiszka
2011-07-23 10:39 ` [Qemu-devel] [RESEND][PATCH 2/2] Deprecate -M command line options Jan Kiszka
2011-07-23 15:43 ` [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option Anthony Liguori
2011-07-25  9:41 ` Richard W.M. Jones
2011-07-25 10:33   ` Jan Kiszka
2011-07-25 10:45     ` Richard W.M. Jones
2011-07-25 10:59       ` Jan Kiszka
2011-07-25 11:39         ` Markus Armbruster
2011-07-25 11:48           ` Jan Kiszka
2011-07-25 16:11             ` [Qemu-devel] [PATCH] Allow to leave type on default in -machine Jan Kiszka
2011-07-25 16:21               ` Richard W.M. Jones
2011-07-25 16:33                 ` Alexander Graf
2011-07-29 14:37               ` Anthony Liguori [this message]
2011-07-25 12:23         ` [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option Anthony Liguori
2011-07-25 11:48       ` Peter Maydell
2011-07-25 12:05         ` Peter Maydell
2011-07-25 12:18           ` Jan Kiszka
2011-07-25 12:22             ` Peter Maydell
2011-07-25 12:27               ` Jan Kiszka
2011-07-25 12:44           ` Alexander Graf
2011-07-25 12:47             ` Anthony Liguori
2011-07-25 12:49               ` Richard W.M. Jones
2011-07-25 12:53                 ` Alexander Graf

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=4E32C598.4050503@us.ibm.com \
    --to=aliguori@us.ibm.com \
    --cc=Ian.Campbell@eu.citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=armbru@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.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).