All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Alexey Kardashevskiy <aik@ozlabs.ru>,
	qemu-devel@nongnu.org
Cc: qemu-ppc@nongnu.org, Alexander Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] [PATCH v5 3/6] vl: allow customizing the class of /machine
Date: Thu, 27 Feb 2014 11:34:42 +0100	[thread overview]
Message-ID: <530F14C2.2050808@suse.de> (raw)
In-Reply-To: <530609F9.1060105@redhat.com>

Am 20.02.2014 14:58, schrieb Paolo Bonzini:
> Il 20/02/2014 14:50, Alexey Kardashevskiy ha scritto:
>> From: Paolo Bonzini <pbonzini@redhat.com>
>>
>> This is a first step towards QOMifying /machine.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> 
> The patch was originally mine, so I could get it in if Andreas wants me
> to handle patches 2-3.  But for anyone else it would be missing your
> S-o-b line.

With this patch I have been plagued by doubts of whether we can run into
a race of creating /machine through qdev_get_machine() via command line
option handling or whatever other code paths. I'm at a conference and
did not find time yet to test this out - if you two could investigate
and clarify, that would be helpful in moving forward.

Also I thought that someone else had looked into replacing the whole of
machine_init and QEMUMachine with QOM infrastructure? Anyway it was an
idea that I once had, Anthony didn't like at first and then someone else
(Luiz?) convinced Anthony to do it after all but then somehow it got
stuck with no patches posted... The discussed approach was instead of
creating a type in machine init depending on some
QEMUMachine::class_name, always create the type. But either approach
conflicts with creating /machine as Container type, as mentioned above.
If we go with such an interim solution then at least qdev.c needs to
grow an assert.

Regards,
Andreas

> 
> Paolo
> 
>> ---
>>  include/hw/boards.h | 1 +
>>  vl.c                | 5 +++++
>>  2 files changed, 6 insertions(+)
>>
>> diff --git a/include/hw/boards.h b/include/hw/boards.h
>> index c2096e6..8640272 100644
>> --- a/include/hw/boards.h
>> +++ b/include/hw/boards.h
>> @@ -29,6 +29,7 @@ struct QEMUMachine {
>>      const char *name;
>>      const char *alias;
>>      const char *desc;
>> +    const char *class_name;
>>      QEMUMachineInitFunc *init;
>>      QEMUMachineResetFunc *reset;
>>      QEMUMachineHotAddCPUFunc *hot_add_cpu;
>> diff --git a/vl.c b/vl.c
>> index 01ab7e4..b300721 100644
>> --- a/vl.c
>> +++ b/vl.c
>> @@ -4034,6 +4034,11 @@ int main(int argc, char **argv, char **envp)
>>          qtest_init(qtest_chrdev, qtest_log);
>>      }
>>
>> +    if (machine->class_name) {
>> +        Object *m = object_new(machine->class_name);
>> +        object_property_add_child(object_get_root(), "machine", m,
>> NULL);
>> +    }
>> +
>>      machine_opts = qemu_get_machine_opts();
>>      kernel_filename = qemu_opt_get(machine_opts, "kernel");
>>      initrd_filename = qemu_opt_get(machine_opts, "initrd");
>>
> 
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2014-02-27 10:35 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-20 13:50 [Qemu-devel] [PATCH v5 0/6] spapr: bootindex support Alexey Kardashevskiy
2014-02-20 13:50 ` [Qemu-devel] [PATCH v5 1/6] boot: extend get_boot_devices_list() to ignore suffixes Alexey Kardashevskiy
2014-02-20 13:55   ` Paolo Bonzini
2014-02-20 14:03     ` Alexey Kardashevskiy
2014-02-20 14:05       ` Paolo Bonzini
2014-03-13  3:32         ` Alexey Kardashevskiy
2014-03-13  8:00           ` Paolo Bonzini
2014-02-20 13:50 ` [Qemu-devel] [PATCH v5 2/6] qdev: introduce FWPathProvider interface Alexey Kardashevskiy
2014-03-12 18:07   ` Andreas Färber
2014-03-12 18:15     ` Paolo Bonzini
2014-03-12 23:02     ` Alexey Kardashevskiy
2014-03-12 23:38       ` Andreas Färber
2014-03-13  1:03         ` Alexey Kardashevskiy
2014-03-13  3:40     ` Alexey Kardashevskiy
2014-02-20 13:50 ` [Qemu-devel] [PATCH v5 3/6] vl: allow customizing the class of /machine Alexey Kardashevskiy
2014-02-20 13:58   ` Paolo Bonzini
2014-02-27 10:34     ` Andreas Färber [this message]
2014-02-27 10:41       ` Paolo Bonzini
2014-02-27 14:39         ` Marcel Apfelbaum
2014-02-27 14:59           ` Paolo Bonzini
2014-02-27 15:04             ` Marcel Apfelbaum
2014-02-28 15:03               ` Alexey Kardashevskiy
2014-02-28 15:05                 ` Paolo Bonzini
2014-02-28 15:08                   ` Alexey Kardashevskiy
2014-02-28 15:57                     ` Andreas Färber
2014-02-28 16:35                       ` Paolo Bonzini
2014-03-03 10:04                       ` Alexey Kardashevskiy
2014-02-21  3:04   ` Alexey Kardashevskiy
2014-02-21 10:30     ` Paolo Bonzini
2014-02-27  2:35       ` Alexey Kardashevskiy
2014-02-27  7:44         ` Markus Armbruster
2014-02-27 11:47           ` Alexey Kardashevskiy
2014-02-27 13:38             ` Markus Armbruster
2014-02-20 13:50 ` [Qemu-devel] [PATCH v5 4/6] spapr-llan: add to boot device list Alexey Kardashevskiy
2014-02-20 13:50 ` [Qemu-devel] [PATCH v5 5/6] spapr-vio: fix firmware names Alexey Kardashevskiy
2014-02-20 13:50 ` [Qemu-devel] [PATCH v5 6/6] spapr: define interface to fix device pathname Alexey Kardashevskiy
2014-02-20 13:58 ` [Qemu-devel] [PATCH v5 0/6] spapr: bootindex support Paolo Bonzini
2014-02-20 14:05   ` Alexey Kardashevskiy
2014-02-20 14:06     ` 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=530F14C2.2050808@suse.de \
    --to=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.