qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/5] Remove sysbus_add_memory and sysbus_del_memory
@ 2013-03-15 14:34 Peter Maydell
  2013-03-15 14:34 ` [Qemu-devel] [PATCH v3 1/5] sysbus: make SysBusDeviceClass::init optional Peter Maydell
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Peter Maydell @ 2013-03-15 14:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Michael Walle, Jan Kiszka, Andreas Färber,
	patches

The functions sysbus_add_memory and sysbus_del_memory are odd wrappers
around around memory_region_add/del_subregion, and their presence
is an encouragement to devices to try to map their own memory
regions into the system address space.

Since they're only used in a couple of places in the milkymist
and musicpal platforms, rewrite those uses to have the sysbus
devices expose the memory regions as sysbus mmio regions, and
then have the creator of the device (ie board code) map them
in the right places. Then we can remove the functions altogether.

The series includes a trivial patch to sysbus to make the init
method optional, since (as part of the move towards using only
instance_init and realize) it's now possible to have a simple
functional device which only needs an instance_init method
and no realize or init [the musicpal-misc device introduced
in patch 2 being one such example].

Tested on both musicpal and milkymist.

I rather suspect sysbus_add_io and sysbus_del_io should also be
removed, but since their users are in PPC and x86 platforms I'll
let somebody else do that part :-)

Changes v2->v3:
 * changed field name of parent obj in MusicPalMiscState to
   'parent_obj' as per convention
 * rebased on master
Changes v1->v2:
 * updated 'qdevify musicpal-misc' to drop unneeded typedef
   and QOM macros, as per review discussion


Peter Maydell (5):
  sysbus: make SysBusDeviceClass::init optional
  musicpal: qdevify musicpal-misc
  milkymist-minimac2: Just expose buffers as a sysbus mmio region
  milkymist-softusb: Don't map RAM memory regions in the device itself
  sysbus: Remove sysbus_add_memory and sysbus_del_memory

 hw/arm/musicpal.c       |   28 +++++++++++++++++++++++-----
 hw/milkymist-hw.h       |    6 +++---
 hw/milkymist-minimac2.c |    5 +----
 hw/milkymist-softusb.c  |   21 +++++++++++----------
 hw/sysbus.c             |   21 +++------------------
 hw/sysbus.h             |    5 -----
 6 files changed, 41 insertions(+), 45 deletions(-)

-- 
1.7.9.5

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

end of thread, other threads:[~2013-04-01 20:48 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-15 14:34 [Qemu-devel] [PATCH v3 0/5] Remove sysbus_add_memory and sysbus_del_memory Peter Maydell
2013-03-15 14:34 ` [Qemu-devel] [PATCH v3 1/5] sysbus: make SysBusDeviceClass::init optional Peter Maydell
2013-03-15 14:34 ` [Qemu-devel] [PATCH v3 2/5] musicpal: qdevify musicpal-misc Peter Maydell
2013-03-28 15:14   ` Andreas Färber
2013-03-15 14:34 ` [Qemu-devel] [PATCH v3 3/5] milkymist-minimac2: Just expose buffers as a sysbus mmio region Peter Maydell
2013-03-15 14:34 ` [Qemu-devel] [PATCH v3 4/5] milkymist-softusb: Don't map RAM memory regions in the device itself Peter Maydell
2013-03-28 17:55   ` Anthony Liguori
2013-03-28 18:31     ` Michael Walle
2013-03-28 18:33       ` Peter Maydell
2013-03-28 18:37         ` Michael Walle
2013-03-15 14:34 ` [Qemu-devel] [PATCH v3 5/5] sysbus: Remove sysbus_add_memory and sysbus_del_memory Peter Maydell
2013-03-15 16:00 ` [Qemu-devel] [PATCH v3 0/5] " Paolo Bonzini
2013-03-15 16:09   ` Peter Maydell
2013-03-15 16:19     ` Paolo Bonzini
2013-03-28 11:25 ` Peter Maydell
2013-03-28 15:15   ` Andreas Färber
2013-03-28 15:24     ` Peter Maydell
2013-03-28 15:38       ` Paolo Bonzini
2013-03-28 15:56       ` Anthony Liguori
2013-03-28 17:16         ` Peter Maydell
2013-04-01 20:48 ` Anthony Liguori

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).