On Wed, Jun 6, 2012 at 8:12 PM, Peter Maydell <peter.maydell at linaro.org> wrote: > On 6 June 2012 16:55, Christoffer Dall <c.dall at virtualopensystems.com> wrote: >> On Wed, Jun 6, 2012 at 6:07 AM, Marc Zyngier <marc.zyngier at arm.com> wrote: >>> There is probably several configurations we want to support: >>> - Cortex-A7/15 host and guest: VGIC + ARCH_TIMER mandatory, or at least >>> be the default configuration. >>> - Hypothetical v7 + virt extensions but without VGIC: QEMU GIC emulation >>> + whatever timer the guest wants to use (and that QEMU provides). >>> >>> Whether or not someone will build this hypothetical v7, I have no idea. >>> But the fact that someone *could* build such a thing means we should >>> keep our interrupt injection code flexible enough. >> >> agreed >> >>> >>> When it comes to the architected timer, it is practically impossible to >>> use it in a guest without VGIC support. Even worse, it is impossible to >>> hide it from the guest. >>> >> >> so if there's architected timer support, mandate that the guest uses >> it, and make architected timer support rely on VGIC support is our >> scheme, right? > > We don't need to mandate that the guest uses it (it's fine for the > guest to completely ignore it). What is mandatory is that it has to > be implemented in KVM via the virtual timer + VGIC combo -- you can't > implement the arch. timers purely by dumping out to QEMU userspace. > I took "it is impossible to hide it [arch. timer support] from the guest" to mean that if the host has arch. timer support the guest must in fact support it. Or is it just a subtlety that we don't really care about? -Christoffer