All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 0/8] include qdev core in *-user, make CPU child of DeviceState
@ 2012-08-21 15:42 ` Eduardo Habkost
  0 siblings, 0 replies; 46+ messages in thread
From: Eduardo Habkost @ 2012-08-21 15:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, jan.kiszka, mjt, mdroth, blauwirbel, kraxel,
	xen-devel, i.mitsyanko, armbru, avi, anthony.perard, lersek,
	stefanha, stefano.stabellini, sw, imammedo, lcapitulino, rth,
	kwolf, aliguori, mtosatti, pbonzini, afaerber

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

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2012-08-29 15:38 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-21 15:42 [Qemu-devel] [RFC 0/8] include qdev core in *-user, make CPU child of DeviceState Eduardo Habkost
2012-08-21 15:42 ` Eduardo Habkost
2012-08-21 15:42 ` [Qemu-devel] [RFC 1/8] move qemu_irq typedef out of cpu-common.h Eduardo Habkost
2012-08-21 15:42   ` Eduardo Habkost
2012-08-21 16:10   ` [Qemu-devel] " Peter Maydell
2012-08-21 16:10     ` Peter Maydell
2012-08-27 14:28     ` [Qemu-devel] " Igor Mammedov
2012-08-27 14:28       ` Igor Mammedov
2012-08-29 15:36     ` [Qemu-devel] [Xen-devel] " Igor Mammedov
2012-08-29 15:36       ` Igor Mammedov
2012-08-29 15:38       ` [Qemu-devel] " Peter Maydell
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   ` 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 15:42   ` Eduardo Habkost
2012-08-21 18:21   ` [Qemu-devel] " Luiz Capitulino
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 15:42   ` Eduardo Habkost
2012-08-21 16:45   ` [Qemu-devel] " Peter Maydell
2012-08-21 16:45     ` Peter Maydell
2012-08-21 16:53     ` [Qemu-devel] " Eduardo Habkost
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 15:42   ` Eduardo Habkost
2012-08-21 18:44   ` [Qemu-devel] " Blue Swirl
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 15:43   ` Eduardo Habkost
2012-08-21 16:29   ` [Qemu-devel] " Peter Maydell
2012-08-21 16:29     ` Peter Maydell
2012-08-21 18:25     ` [Qemu-devel] " Eduardo Habkost
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 15:43   ` Eduardo Habkost
2012-08-21 16:59   ` [Qemu-devel] " Peter Maydell
2012-08-21 16:59     ` Peter Maydell
2012-08-21 18:55     ` [Qemu-devel] " Eduardo Habkost
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-21 15:43   ` Eduardo Habkost
2012-08-22  9:05 ` [Qemu-devel] [RFC 0/8] include qdev core in *-user, make CPU " Avi Kivity
2012-08-22  9:05   ` Avi Kivity
2012-08-22 13:08   ` [Qemu-devel] " Eduardo Habkost
2012-08-22 13:08     ` Eduardo Habkost

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.