On Fri, Oct 19, 2012 at 09:31:00AM +0200, Markus Armbruster wrote: > Eduardo Habkost <ehabk...@redhat.com> writes: > > > On Wed, Oct 17, 2012 at 01:00:55PM -0500, Anthony Liguori wrote: > [...] > >> I don't really understand the split here and the 'system' suffix really > >> doesn't explain it for me. Could you at least add a comment to each of > >> these files explaining what belongs in them? > > > > "system" here means "Code used only by qemu-system-*" (in other words, > > not used by *-user, and not part of the qdev core). Do you have other > > name suggestions? > > > > The goal here is to make qdev-core.c/qdev-properties as small as > > possible (only what's absolutely required for the CPU classes), and put > > everything else (that's only used by qemu-system-*) into > > qdev-system.c/qdev-properties-system.c. > > Creates a permanent if minor development burden: where should my > property code go? > > Doubt it's worth the trouble: > > text data bss dec hex filename > 15897 1448 0 17345 43c1 bld/hw/qdev-properties.o > > In theory, link-time optimizations can drop unused code. Not sure they > do in practice.
The reason for the split is not just to reduce qdev-core size, but keep qdev dependencies under control (so it becomes feasible to use qdev on *-user). Most of the code moved to qdev-properties-system.c was moved because it depends on other code that we don't include on *-user (like bdrv_get_device_name(), net_hub_port_find(), net_hub_id_for_client(), qemu_find_netdev(), bdrv_get_device_name(), qemu_chr_find()). -- Eduardo