dev, arm: Add virtual timers to the generic timer model
authorAndreas Sandberg <andreas.sandberg@arm.com>
Sat, 23 May 2015 12:46:53 +0000 (13:46 +0100)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Sat, 23 May 2015 12:46:53 +0000 (13:46 +0100)
commit2278fec1d1064ec1622098153b20a773fb688e78
treefcb7441fb487261ba3e9465fa30ad856e286f7ca
parent65f3f097d3c270d2f28fc7d55651afaefb56ceed
dev, arm: Add virtual timers to the generic timer model

The generic timer model currently does not support virtual
counters. Virtual and physical counters both tick with the same
frequency. However, virtual timers allow a hypervisor to set an offset
that is subtracted from the counter when it is read. This enables the
hypervisor to present a time base that ticks with virtual time in the
VM (i.e., doesn't tick when the VM isn't running). Modern Linux
kernels generally assume that virtual counters exist and try to use
them by default.
src/arch/arm/miscregs.cc
src/dev/arm/RealView.py
src/dev/arm/generic_timer.cc
src/dev/arm/generic_timer.hh