From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50186) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCdRS-0003pQ-FH for qemu-devel@nongnu.org; Fri, 14 Sep 2012 17:28:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCdRR-0003Y0-7a for qemu-devel@nongnu.org; Fri, 14 Sep 2012 17:28:50 -0400 Received: from mail-we0-f173.google.com ([74.125.82.173]:52851) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCdRQ-0003Xq-Uq for qemu-devel@nongnu.org; Fri, 14 Sep 2012 17:28:49 -0400 Received: by weyz53 with SMTP id z53so2576467wey.4 for ; Fri, 14 Sep 2012 14:28:48 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <5053A18D.10304@redhat.com> Date: Fri, 14 Sep 2012 23:28:45 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <50532E80.5060905@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] directory hierarchy List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel Il 14/09/2012 21:51, Blue Swirl ha scritto: > On Fri, Sep 14, 2012 at 1:17 PM, Paolo Bonzini 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