This is the second version of my in-kernel timers using the architected timer. Not much has changed, apart from taking Christoffer's consideration into account, and fixing a couple of glaring bugs. This relies on my previously posted VGIC series. This is based on the kvm-arm-v10-stage branch, and is available at: git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-a15-v10-stage-v3.5-rc5-vgic Tested on the TC2 platform, A15 cluster only. Marc Zyngier (9): ARM: arch_timers: enable the use of the virtual timer ARM: arch_timers: register a time/cycle counter ARM: arch_timers: give the virtual timer its own interrupt handler ARM: arch_timers: dynamic switch to physical timer and virtual timer offloading ARM: KVM: Allow the host to use the physical timer from PL1 ARM: KVM: arch_timers: Add minimal infrastructure ARM: KVM: arch_timers: Add guest timer core support ARM: KVM: arch_timers: Add timer world switch ARM: KVM: arch_timers: Wire the init code and config option arch/arm/include/asm/arch_timer.h | 14 ++ arch/arm/include/asm/kvm_arch_timer.h | 59 ++++++ arch/arm/include/asm/kvm_host.h | 5 + arch/arm/kernel/arch_timer.c | 330 +++++++++++++++++++++++++++------ arch/arm/kernel/asm-offsets.c | 8 + arch/arm/kvm/Kconfig | 7 + arch/arm/kvm/Makefile | 1 + arch/arm/kvm/arm.c | 13 ++ arch/arm/kvm/init.S | 5 + arch/arm/kvm/interrupts.S | 66 ++++++- arch/arm/kvm/timer.c | 164 ++++++++++++++++ arch/arm/kvm/vgic.c | 4 + 12 files changed, 615 insertions(+), 61 deletions(-) create mode 100644 arch/arm/include/asm/kvm_arch_timer.h create mode 100644 arch/arm/kvm/timer.c -- 1.7.10.3