summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/kvm_host.h
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2014-01-08 21:25:32 +1100
committerAlexander Graf <agraf@suse.de>2014-01-27 16:01:20 +0100
commit7b490411c37f7ab7965cbdfe5e3ec28eadb6db5b (patch)
tree04f0462eeb7c6d07b158726fbfa323d9dc68227d /arch/powerpc/include/asm/kvm_host.h
parent7b37a1232273912dd57cd72b82fe70407bff7683 (diff)
downloadop-kernel-dev-7b490411c37f7ab7965cbdfe5e3ec28eadb6db5b.zip
op-kernel-dev-7b490411c37f7ab7965cbdfe5e3ec28eadb6db5b.tar.gz
KVM: PPC: Book3S HV: Add new state for transactional memory
Add new state for transactional memory (TM) to kvm_vcpu_arch. Also add asm-offset bits that are going to be required. This also moves the existing TFHAR, TFIAR and TEXASR SPRs into a CONFIG_PPC_TRANSACTIONAL_MEM section. This requires some code changes to ensure we still compile with CONFIG_PPC_TRANSACTIONAL_MEM=N. Much of the added the added #ifdefs are removed in a later patch when the bulk of the TM code is added. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org> [agraf: fix merge conflict] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/asm/kvm_host.h')
-rw-r--r--arch/powerpc/include/asm/kvm_host.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h
index 7726a3b..1eaea2d 100644
--- a/arch/powerpc/include/asm/kvm_host.h
+++ b/arch/powerpc/include/asm/kvm_host.h
@@ -475,9 +475,6 @@ struct kvm_vcpu_arch {
ulong ppr;
ulong pspb;
ulong fscr;
- ulong tfhar;
- ulong tfiar;
- ulong texasr;
ulong ebbhr;
ulong ebbrr;
ulong bescr;
@@ -526,6 +523,27 @@ struct kvm_vcpu_arch {
u64 siar;
u64 sdar;
u64 sier;
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+ u64 tfhar;
+ u64 texasr;
+ u64 tfiar;
+
+ u32 cr_tm;
+ u64 lr_tm;
+ u64 ctr_tm;
+ u64 amr_tm;
+ u64 ppr_tm;
+ u64 dscr_tm;
+ u64 tar_tm;
+
+ ulong gpr_tm[32];
+
+ struct thread_fp_state fp_tm;
+
+ struct thread_vr_state vr_tm;
+ u32 vrsave_tm; /* also USPRG0 */
+
+#endif
#ifdef CONFIG_KVM_EXIT_TIMING
struct mutex exit_timing_lock;
OpenPOWER on IntegriCloud