On 7 June 2012 15:32, Christoffer Dall <c.dall at virtualopensystems.com> wrote: > On Thu, Jun 7, 2012 at 10:20 AM, Peter Maydell <peter.maydell at linaro.org> wrote: >> No. That means "if the host has arch.timer support it is not >> possible to present to the guest a virtual CPU which does not >> have arch.timers". (You can fake the ID register to not set the >> bit which says "arch timers present", but you can't make the >> cp15 registers UNDEF if the guest goes ahead and prods them >> anyway.) > I understand, but what happens if VGIC support is not enabled in the > host (and thereby arch. timer for VMs are not enabled in KVM) adn the > guest still prods the cp15 registers? everything breaks or just the > guest? I'm not sure exactly how much breaks (Marc would know), but basically if your host has arch.timers then you must have virtual arch.timer support enabled and therefore you must have VGIC enabled. Anything else is just not a sensible config. The only case where you could validly not have VGIC support enabled would be this hypothetical "ARMv7 + virt.extensions but not arch timers" CPU, which I think is basically not likely to actually be built. Personally I don't think we should expend too much effort on trying to be flexible enough to support hypotheticals, although it can be an argument for not ripping out code we already have... -- PMM