[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line opt
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option |
Date: |
Mon, 25 Jul 2011 12:59:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
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 <address@hidden>
>>>>
>>>> -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.
>
>>> Please add qemu capabilities, so we can reasonably detect what an
>>> unknown qemu binary supports and so we don't need to do endless
>>> parsing of the -help output and guesswork.
>>
>> This syntax was not yet released (but will be with 0.15, so I was
>> pushing this). Therefore, nothing was "officially" broken by this patch.
>>
>> I'm sorry if you may have released any libguestfs with the transient
>> syntax, but my patches were waiting quite a while for being merged since
>> the introduction of -machine.
>
> That's an excuse, not a practical solution. We have to be able to
> work with any qemu. eg. the qemu in current Fedora Rawhide which
> supports only -machine accel=, or qemu in other distros which are also
> branched from arbitrary git releases, or qemu that people compile
> themselves.
In principle, this is first of all a Rawhide problem. Upstream really
can't babysit every distro doing crazy things with arbitrary devel
snapshots. These patches were public, and the maintainers had a fair
chance to realize that the interface was not yet set in stone.
>
> Parsing -help output and guesswork isn't scalable, and this is not
> exactly the first time that people have complained about this.
I agree. That's why we try hard to release stable interfaces and then
maintain them.
>
> (Yes, libvirt and libguestfs do allow callers to mechanically query
> their respective APIs for capabilities.)
Maybe Anthony's (Liguori) rework of the QEMU config interfaces will
provide a better reflections, haven't checked. But for now you need to
stick with this model, specifically when you want to maintain all the
distro forks.
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
- [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Jan Kiszka, 2011/07/23
- [Qemu-devel] [RESEND][PATCH 2/2] Deprecate -M command line options, Jan Kiszka, 2011/07/23
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Anthony Liguori, 2011/07/23
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Richard W.M. Jones, 2011/07/25
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Jan Kiszka, 2011/07/25
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Richard W.M. Jones, 2011/07/25
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option,
Jan Kiszka <=
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Markus Armbruster, 2011/07/25
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Jan Kiszka, 2011/07/25
- [Qemu-devel] [PATCH] Allow to leave type on default in -machine, Jan Kiszka, 2011/07/25
- Re: [Qemu-devel] [PATCH] Allow to leave type on default in -machine, Richard W.M. Jones, 2011/07/25
- Re: [Qemu-devel] [PATCH] Allow to leave type on default in -machine, Alexander Graf, 2011/07/25
- Re: [Qemu-devel] [PATCH] Allow to leave type on default in -machine, Anthony Liguori, 2011/07/29
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Anthony Liguori, 2011/07/25
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Peter Maydell, 2011/07/25
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Peter Maydell, 2011/07/25
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Jan Kiszka, 2011/07/25