diff options
author | Scott Wood <scottwood@freescale.com> | 2011-11-17 07:39:59 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2012-03-05 07:52:27 -0500 |
commit | dfd4d47e9a71c5a35eb67a44cd311efbe1846b7e (patch) | |
tree | 1115128a884dabf7d853466b82c553561e4f7b27 /arch/powerpc/include/asm/kvm_host.h | |
parent | b59049720dd95021dfe0d9f4e1fa9458a67cfe29 (diff) |
KVM: PPC: booke: Improve timer register emulation
Decrementers are now properly driven by TCR/TSR, and the guest
has full read/write access to these registers.
The decrementer keeps ticking (and setting the TSR bit) regardless of
whether the interrupts are enabled with TCR.
The decrementer stops at zero, rather than going negative.
Decrementers (and FITs, once implemented) are delivered as
level-triggered interrupts -- dequeued when the TSR bit is cleared, not
on delivery.
Signed-off-by: Liu Yu <yu.liu@freescale.com>
[scottwood@freescale.com: significant changes]
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/include/asm/kvm_host.h')
-rw-r--r-- | arch/powerpc/include/asm/kvm_host.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h index bfd0c9912da5..66c75cddaec6 100644 --- a/arch/powerpc/include/asm/kvm_host.h +++ b/arch/powerpc/include/asm/kvm_host.h | |||
@@ -330,7 +330,7 @@ struct kvm_vcpu_arch { | |||
330 | u32 tbl; | 330 | u32 tbl; |
331 | u32 tbu; | 331 | u32 tbu; |
332 | u32 tcr; | 332 | u32 tcr; |
333 | u32 tsr; | 333 | ulong tsr; /* we need to perform set/clr_bits() which requires ulong */ |
334 | u32 ivor[64]; | 334 | u32 ivor[64]; |
335 | ulong ivpr; | 335 | ulong ivpr; |
336 | u32 pvr; | 336 | u32 pvr; |