qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Marcel Apfelbaum <marcel.a@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, mst@redhat.com, armbru@redhat.com,
	lcapitulino@redhat.com, blauwirbel@gmail.com,
	aliguori@amazon.com, pbonzini@redhat.com, afaerber@suse.de
Subject: [Qemu-devel]  [PATCH RFC 0/5] qemu-machine as a QOM object
Date: Thu, 30 Jan 2014 16:47:20 +0200	[thread overview]
Message-ID: <1391093245-14277-1-git-send-email-marcel.a@redhat.com> (raw)

This is an early RFC, the work is in very early stages, I am interested
to know if there is a consensus that this is the right path.

The main benefit of QOMifying the qemu machine would be the possibility
to have options per machine type and not global.
However, there are other benefits as:
  - accessing qemu object properties instead of a global QemuOpts
    list from different code subsystems.
  - improving the machine "initialization" code (compat and stuff)
  - getting more close to QOM's vision of single interface for
    device creation and so on.

Basically the series aims (in the long run) to convert:
    QEMUMachine -> QemuMachineClass
    QEMUMachineInitArgs -> QemuMachineState.
As a first step, in order to make possible an incremental development,
both QEMUMachine and QEMUMachineInitArgs are being embedded into the
new types.

Your comments are welcomed,
Marcel

Marcel Apfelbaum (5):
  hw/core: introduced qemu machine as QOM object
  vl: use qemu machine QOM class instead of global machines list
  hw/boards: converted current_machine to be an instance of
    QemuMachineCLass
  hw/machine: add qemu machine opts as properties to QemuMachineState
  vl.c: set current_machine's properties

 device-hotplug.c      |   4 +-
 hw/core/Makefile.objs |   2 +-
 hw/core/machine.c     | 289 ++++++++++++++++++++++++++++++++++++++++++++++++++
 include/hw/boards.h   |  55 +++++++++-
 qmp.c                 |   7 +-
 vl.c                  | 122 ++++++++++++++-------
 6 files changed, 435 insertions(+), 44 deletions(-)
 create mode 100644 hw/core/machine.c

-- 
1.8.3.1

             reply	other threads:[~2014-01-30 14:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-30 14:47 Marcel Apfelbaum [this message]
2014-01-30 14:47 ` [Qemu-devel] [PATCH RFC 1/5] hw/core: introduced qemu machine as QOM object Marcel Apfelbaum
2014-01-30 14:47 ` [Qemu-devel] [PATCH RFC 2/5] vl: use qemu machine QOM class instead of global machines list Marcel Apfelbaum
2014-01-30 14:47 ` [Qemu-devel] [PATCH RFC 3/5] hw/boards: converted current_machine to be an instance of QemuMachineCLass Marcel Apfelbaum
2014-01-30 14:47 ` [Qemu-devel] [PATCH RFC 4/5] hw/machine: add qemu machine opts as properties to QemuMachineState Marcel Apfelbaum
2014-01-30 16:48   ` Paolo Bonzini
2014-01-30 17:28     ` Marcel Apfelbaum
2014-01-30 17:29       ` Paolo Bonzini
2014-01-30 14:47 ` [Qemu-devel] [PATCH RFC 5/5] vl.c: set current_machine's properties Marcel Apfelbaum

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=1391093245-14277-1-git-send-email-marcel.a@redhat.com \
    --to=marcel.a@redhat.com \
    --cc=afaerber@suse.de \
    --cc=aliguori@amazon.com \
    --cc=armbru@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=lcapitulino@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --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).