qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, jan.kiszka@siemens.com, mjt@tls.msk.ru,
	mdroth@linux.vnet.ibm.com, blauwirbel@gmail.com,
	kraxel@redhat.com, xen-devel@lists.xensource.com,
	i.mitsyanko@samsung.com, armbru@redhat.com, avi@redhat.com,
	anthony.perard@citrix.com, lersek@redhat.com,
	stefanha@linux.vnet.ibm.com, stefano.stabellini@eu.citrix.com,
	sw@weilnetz.de, imammedo@redhat.com, lcapitulino@redhat.com,
	rth@twiddle.net, kwolf@redhat.com, aliguori@us.ibm.com,
	mtosatti@redhat.com, pbonzini@redhat.com, afaerber@suse.de
Subject: [Qemu-devel] [RFC 0/8] include qdev core in *-user, make CPU child of DeviceState
Date: Tue, 21 Aug 2012 12:42:54 -0300	[thread overview]
Message-ID: <1345563782-11224-1-git-send-email-ehabkost@redhat.com> (raw)

So, here's a third suggestion to the CPU/DeviceState problem. Basically I split
the qdev code into a core (that can be easily compiled into *-user), and a part
specific to qemu-system-*.

There are two remaining parts that forced me to use #ifdefs in the "core" .c
files:

 - vmstate handling on qdev_init()
 - the qemu_register_reset() hack

If we address those two issues inside qemu-system-* (instead of inside the qdev
core code), using DeviceState inside *-user shouldn't be a big problem anymore.


Anthony Liguori (1):
  qdev: split up header so it can be used in cpu.h

Eduardo Habkost (3):
  split qdev into a core and code used only by qemu-system-*
  qdev: use full qdev.h include path on qdev*.c
  include core qdev code into *-user, too

Igor Mammedov (4):
  move qemu_irq typedef out of cpu-common.h
  qapi-types.h doesn't really need to include qemu-common.h
  cleanup error.h, included qapi-types.h aready has stdbool.h
  make CPU a child of DeviceState

 Makefile.objs                                   |   1 +
 error.h                                         |   1 -
 hw/Makefile.objs                                |   3 +-
 hw/arm-misc.h                                   |   1 +
 hw/bt.h                                         |   2 +
 hw/devices.h                                    |   2 +
 hw/irq.h                                        |   2 +
 hw/mc146818rtc.c                                |   1 +
 hw/omap.h                                       |   1 +
 hw/qdev-addr.c                                  |   1 +
 hw/qdev-core.h                                  | 240 +++++++++++++++
 hw/qdev-monitor.h                               |  16 +
 hw/qdev-properties-system.c                     | 329 +++++++++++++++++++++
 hw/qdev-properties.h                            | 129 ++++++++
 hw/qdev-system.c                                |  93 ++++++
 hw/qdev.h                                       | 371 +-----------------------
 hw/soc_dma.h                                    |   1 +
 hw/xen.h                                        |   1 +
 include/qemu/cpu.h                              |   6 +-
 qemu-common.h                                   |   1 -
 qom/Makefile.objs                               |   2 +-
 qom/cpu.c                                       |   3 +-
 hw/qdev-properties.c => qom/device-properties.c | 323 +--------------------
 hw/qdev.c => qom/device.c                       | 106 +------
 scripts/qapi-types.py                           |   2 +-
 sysemu.h                                        |   1 +
 26 files changed, 849 insertions(+), 790 deletions(-)
 create mode 100644 hw/qdev-core.h
 create mode 100644 hw/qdev-monitor.h
 create mode 100644 hw/qdev-properties-system.c
 create mode 100644 hw/qdev-properties.h
 create mode 100644 hw/qdev-system.c
 rename hw/qdev-properties.c => qom/device-properties.c (75%)
 rename hw/qdev.c => qom/device.c (89%)

-- 
1.7.11.4

             reply	other threads:[~2012-08-21 15:42 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-21 15:42 Eduardo Habkost [this message]
2012-08-21 15:42 ` [Qemu-devel] [RFC 1/8] move qemu_irq typedef out of cpu-common.h Eduardo Habkost
2012-08-21 16:10   ` Peter Maydell
2012-08-27 14:28     ` Igor Mammedov
2012-08-29 15:36     ` [Qemu-devel] [Xen-devel] " Igor Mammedov
2012-08-29 15:38       ` Peter Maydell
2012-08-21 15:42 ` [Qemu-devel] [RFC 2/8] qdev: split up header so it can be used in cpu.h Eduardo Habkost
2012-08-21 15:42 ` [Qemu-devel] [RFC 3/8] qapi-types.h doesn't really need to include qemu-common.h Eduardo Habkost
2012-08-21 18:21   ` Luiz Capitulino
2012-08-21 15:42 ` [Qemu-devel] [RFC 4/8] cleanup error.h, included qapi-types.h aready has stdbool.h Eduardo Habkost
2012-08-21 16:45   ` Peter Maydell
2012-08-21 16:53     ` Eduardo Habkost
2012-08-21 15:42 ` [Qemu-devel] [RFC 5/8] split qdev into a core and code used only by qemu-system-* Eduardo Habkost
2012-08-21 18:44   ` Blue Swirl
2012-08-21 15:43 ` [Qemu-devel] [RFC 6/8] qdev: use full qdev.h include path on qdev*.c Eduardo Habkost
2012-08-21 16:29   ` Peter Maydell
2012-08-21 18:25     ` Eduardo Habkost
2012-08-21 15:43 ` [Qemu-devel] [RFC 7/8] include core qdev code into *-user, too Eduardo Habkost
2012-08-21 16:59   ` Peter Maydell
2012-08-21 18:55     ` Eduardo Habkost
2012-08-21 15:43 ` [Qemu-devel] [RFC 8/8] make CPU a child of DeviceState Eduardo Habkost
2012-08-22  9:05 ` [Qemu-devel] [RFC 0/8] include qdev core in *-user, make CPU " Avi Kivity
2012-08-22 13:08   ` Eduardo Habkost

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=1345563782-11224-1-git-send-email-ehabkost@redhat.com \
    --to=ehabkost@redhat.com \
    --cc=afaerber@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=anthony.perard@citrix.com \
    --cc=armbru@redhat.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=i.mitsyanko@samsung.com \
    --cc=imammedo@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=mjt@tls.msk.ru \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=stefanha@linux.vnet.ibm.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=sw@weilnetz.de \
    --cc=xen-devel@lists.xensource.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).