On 14 May 2012 14:06, Marc Zyngier <marc.zyngier at arm.com> wrote: > This patch series adds support for the architected timer for the > guest. It relies on the VGIC code to inject timer interrupts. This seems like a good point to raise the suggestion that using the in-kernel support for the architected timer and VGIC should be mandatory. The rationale is: * You can't have an implementation of the architected cp15 timer in userspace, because the virtualization extensions don't allow trapping of this part of cp15 space to the hypervisor * Therefore the timer has to be implemented in kernel space * To support an out-of-kernel GIC would therefore need a special purpose code path and API to let the kernel pass an interrupt notification from the timer back out to userspace * Why add an extra API and not-usually-tested codepath in order to support a weird config we don't expect people to use in practice? Better to mandate that the GIC too is always in-kernel. (NB that only an A15 guest can have an in-kernel VGIC; if anybody wants to attempt to add support for A9 guests they can make it not enable the in-kernel VGIC I guess, and hope the guest doesn't rely on the timer part of cp15 space UNDEFing...) -- PMM