Il 14/09/2012 21:51, Blue Swirl ha scritto: > On Fri, Sep 14, 2012 at 1:17 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: >> Hi all, >> >> here is a proposal for moving around 150 C files currently in the >> toplevel directory to separate, well-delimited subdirectories. Header >> files would be moved for now in include/, preparing for subsequent >> reorganization of headers. >> >> Usually the files would keep their names, but I loathe names starting >> with qemu-* so I took the occasion to rename those. >> >> This does not touch the hw/ directory, which is its own mess and worth a >> separate discussion. Cleaning it up may require introducing more >> CONFIG_* symbols and moving stuff to libhw whenever possible (for >> example if we want all NICs in hw/net, all RTCs in hw/rtc, etc. perhaps >> with some exceptions for USB). >> >> Opinions, flames, "stop this guy"s are welcome as usual. > > Good idea.
>> exec: > > These files need cleanup so that TCG code gets into tcg/. Maybe also > TB and CPUTLB handling. > >> cpu-exec.c >> disas.c >> exec.c >> gdbstub.c >> tci.c (note: TCI can't go in tcg/ for licensing reasons) > > The directory organization should not be affected by licensing issues, > it's licenses of each file that counts. We could create a new > directory and move code from TCG to that. exec/ is basically the common parts of user- and system-mode emulation. It's unrelated to separating TCG from other accelerators. >> translate-all.c >> sysemu: >> arch_init.c >> balloon.c >> cpus.c >> cputlb.c >> cursor.c >> device_tree.c >> dump-stub.c >> dump.c >> ioport.c >> kvm-all.c >> kvm-stub.c > > How about kvm and xen as top level directories? Note sure, it's just 2-3 files each for now. >> memory.c >> memory_mapping-stub.c >> memory_mapping.c >> os-posix.c >> os-win32.c >> pflib.c >> qemu-error.c sysemu/error.c >> qemu-seccomp.c sysemu/seccomp.c >> qtest.c >> vl.c >> xen-all.c >> xen-mapcache.c >> xen-stub.c >> qemu-options.hx >> >> sysemu/block: > > This distinction is not so clear to me. For example, why do block/ and > qobject/ reside in the top level? Because they are used by tools. sysemu/ is not going to be used by tools nor user-mode emulation. >> block/stream.c >> blockdev.c >> >> sysemu/bt: >> bt-host.c sysemu/bt/host.c >> bt-vhci.c sysemu/bt/vhci.c >> >> sysemu/char: >> qemu-char.c sysemu/char/chardev.c >> qemu-sockets.c sysemu/char/sockets.c >> spice-qemu-char.c sysemu/char/spice.c >> >> sysemu/migration: >> block-migration.c migration/block.c >> buffered_file.c >> migration-exec.c >> migration-fd.c >> migration-tcp.c >> migration-unix.c >> migration.c >> page_cache.c >> savevm.c >> >> sysemu/monitor: >> hmp.c >> monitor.c >> qmp.c >> readline.c >> hmp-commands.hx >> qmp-commands.hx > > I think audio and maybe net could also fit here as subdirectories of sysemu. Yes, also ui/, fsdev/, slirp/, but I omitted those for simplicity. Paolo