[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Allow to leave type on default in -machine
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH] Allow to leave type on default in -machine |
Date: |
Mon, 25 Jul 2011 18:11:20 +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 13:48, Jan Kiszka wrote:
> On 2011-07-25 13:39, Markus Armbruster wrote:
>> Jan Kiszka <address@hidden> 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 <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.
>>
>> 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 <address@hidden>
---
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;
--
1.7.3.4
- [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, 2011/07/25
- 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 <=
- 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
- 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
- Re: [Qemu-devel] [RESEND][PATCH v3] Generalize -machine command line option, Alexander Graf, 2011/07/25