aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/time.h
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2014-06-05 17:38:02 +0530
committerAlexander Graf <agraf@suse.de>2014-07-28 15:21:50 +0200
commit8f42ab2749d00ea15157ab896cfbed73a247b3e1 (patch)
tree2ca02b2e03693367661a77c28746a05852b2ed1b /arch/powerpc/include/asm/time.h
parentKVM: PPC: BOOK3S: PR: Fix PURR and SPURR emulation (diff)
downloadlinux-dev-8f42ab2749d00ea15157ab896cfbed73a247b3e1.tar.xz
linux-dev-8f42ab2749d00ea15157ab896cfbed73a247b3e1.zip
KVM: PPC: BOOK3S: PR: Emulate virtual timebase register
virtual time base register is a per VM, per cpu register that needs to be saved and restored on vm exit and entry. Writing to VTB is not allowed in the privileged mode. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> [agraf: fix compile error] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/asm/time.h')
-rw-r--r--arch/powerpc/include/asm/time.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/time.h b/arch/powerpc/include/asm/time.h
index 1d428e6007ca..03cbada59d3a 100644
--- a/arch/powerpc/include/asm/time.h
+++ b/arch/powerpc/include/asm/time.h
@@ -102,6 +102,15 @@ static inline u64 get_rtc(void)
return (u64)hi * 1000000000 + lo;
}
+static inline u64 get_vtb(void)
+{
+#ifdef CONFIG_PPC_BOOK3S_64
+ if (cpu_has_feature(CPU_FTR_ARCH_207S))
+ return mfvtb();
+#endif
+ return 0;
+}
+
#ifdef CONFIG_PPC64
static inline u64 get_tb(void)
{