On 15 September 2012 17:41, Blue Swirl <blauwir...@gmail.com> wrote: > On Sat, Sep 15, 2012 at 8:57 AM, Daniel Forsgren > <daniel.forsg...@enea.com> wrote: >> 1) What is considered to be part of the "core" and what is >> considered to be a device external to the core? To me, it looks >> like co-processor functionality in general is considered to be >> part of the core (implemented in target-arm/helper.c or similar), >> whereas timer devices in general are kept in hw/arm_* (c.f. >> arm_timer.c and arm_mptimer.c). But in this case I have a timer >> that is implemented as a coprocessor - where should that go? Or >> should it be split in two places? > > SoC devices attached to the CPU is a bit grey area. In this case, I > think coprocessor should be part of the CPU. Peter?
Yes, I think I would agree; as you say it's an odd case, but I would go for putting it in the CPU model. (For KVM the architectural timers are entirely handled in the kernel so it's not possible to have an in-kernel CPU model and out-of-kernel timers. I think that kind of weights towards calling this part of the CPU.) -- PMM