On 11 March 2013 11:17, Paolo Bonzini <pbonz...@redhat.com> wrote: > - Files go in hw/ARCH/ if they used to be in hw/ARCH/Makefile.objs and > they define multiple devices (example: hw/arm/tc6393xb.c)
Why are multiple devices in one file a bad thing (or at least, a thing that should determine where a file lives)? Should piix_pci.c move to hw/i386 because it happens to define four devices? Basically I disagree that trying to move more things into hw/$ARCH serves any useful purpose. The split-by-subsystem stuff looks good. > == hw/arm == > hw/a15mpcore.c hw/arm/a15mpcore.c One device. > hw/a9mpcore.c hw/arm/a9mpcore.c One device. > hw/arm11mpcore.c hw/arm/arm11mpcore.c Two devices but I can split them if you insist. > hw/kvm/arm_gic.c hw/arm/kvm/arm_gic.c If we're going to move kvm specific devices out of hw/kvm I'd rather they just went in hw/. It's an implementation detail that a device's back end is KVM specific, so kvm_arm_gic.c should go alongside arm_gic.c. > hw/strongarm.c hw/arm/strongarm.c We could split the individual devices out into files, which would leave sa1110_init() itself (which kind of wants to be a SoC container eventually I guess). > hw/tc6393xb.c hw/arm/tc6393xb.c This is only a single device. (It happens to be a not-converted-to-qdev device.) -- PMM