On 20 March 2013 00:00, Paolo Bonzini <pbonz...@redhat.com> wrote: > ARM is already quite good in that respect. However, until all > architectures are converted cpu_*_init needs to remain because of > user-mode targets (where the CPUs are created by common code, there is > no board to encapsulate the target-specific differences). IMHO waiting > for the demise of cpu_*_init is putting the cart before the horse, or > another similar proverb.
As I say, I don't object to you moving the cpu init code into the a*mpcore containers. I do object to you moving the a*mpcore containers into hw/arm, and so transitively I object to changes to the containers made only with the intent to cause them to move into hw/arm. > (Also, I don't see much difference between using a function in > target-ARCH and using a TYPE_FOO define from target-ARCH. They are the > same thing masked through RTTI. hw/ARCH should really be the bridge > between target-ARCH and hw/everything-else, and a*mpcore.c fits in that > description). Basically I don't like the way your categorization scheme seems to be "kind of device, except for stuff in hw/ARCH which has a completely different rationale". I'm OK with hw/ARCH having board models, because that's really "kind of device", it's just split what ought to be hw/boards into a bunch of separate directories. And I've accepted having some of the random "needs fixing and splitting and chucking back out of hw/ARCH" code as a temporary measure. But please stop trying to push stuff into hw/ARCH rather than categorising it properly. I feel like I'm arguing round in circles here. -- PMM