]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/kernel/asm-offsets.c
Merge tag 'kvm-3.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[karo-tx-linux.git] / arch / powerpc / kernel / asm-offsets.c
index 46f6afd2172aac2b006c21b9c9a870a624bad24b..b6c17ec9b1691c80de11785b9ea850930d778298 100644 (file)
@@ -77,6 +77,7 @@ int main(void)
        DEFINE(NMI_MASK, NMI_MASK);
        DEFINE(THREAD_DSCR, offsetof(struct thread_struct, dscr));
        DEFINE(THREAD_DSCR_INHERIT, offsetof(struct thread_struct, dscr_inherit));
+       DEFINE(TASKTHREADPPR, offsetof(struct task_struct, thread.ppr));
 #else
        DEFINE(THREAD_INFO, offsetof(struct task_struct, stack));
 #endif /* CONFIG_PPC64 */
@@ -121,6 +122,34 @@ int main(void)
        DEFINE(THREAD_KVM_VCPU, offsetof(struct thread_struct, kvm_vcpu));
 #endif
 
+#ifdef CONFIG_PPC_BOOK3S_64
+       DEFINE(THREAD_TAR, offsetof(struct thread_struct, tar));
+#endif
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+       DEFINE(PACATMSCRATCH, offsetof(struct paca_struct, tm_scratch));
+       DEFINE(THREAD_TM_TFHAR, offsetof(struct thread_struct, tm_tfhar));
+       DEFINE(THREAD_TM_TEXASR, offsetof(struct thread_struct, tm_texasr));
+       DEFINE(THREAD_TM_TFIAR, offsetof(struct thread_struct, tm_tfiar));
+       DEFINE(PT_CKPT_REGS, offsetof(struct thread_struct, ckpt_regs));
+       DEFINE(THREAD_TRANSACT_VR0, offsetof(struct thread_struct,
+                                        transact_vr[0]));
+       DEFINE(THREAD_TRANSACT_VSCR, offsetof(struct thread_struct,
+                                         transact_vscr));
+       DEFINE(THREAD_TRANSACT_VRSAVE, offsetof(struct thread_struct,
+                                           transact_vrsave));
+       DEFINE(THREAD_TRANSACT_FPR0, offsetof(struct thread_struct,
+                                         transact_fpr[0]));
+       DEFINE(THREAD_TRANSACT_FPSCR, offsetof(struct thread_struct,
+                                          transact_fpscr));
+#ifdef CONFIG_VSX
+       DEFINE(THREAD_TRANSACT_VSR0, offsetof(struct thread_struct,
+                                         transact_fpr[0]));
+#endif
+       /* Local pt_regs on stack for Transactional Memory funcs. */
+       DEFINE(TM_FRAME_SIZE, STACK_FRAME_OVERHEAD +
+              sizeof(struct pt_regs) + 16);
+#endif /* CONFIG_PPC_TRANSACTIONAL_MEM */
+
        DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
        DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags));
        DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count));
@@ -474,6 +503,7 @@ int main(void)
        DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, arch.last_inst));
        DEFINE(VCPU_TRAP, offsetof(struct kvm_vcpu, arch.trap));
        DEFINE(VCPU_PTID, offsetof(struct kvm_vcpu, arch.ptid));
+       DEFINE(VCPU_CFAR, offsetof(struct kvm_vcpu, arch.cfar));
        DEFINE(VCORE_ENTRY_EXIT, offsetof(struct kvmppc_vcore, entry_exit_count));
        DEFINE(VCORE_NAP_COUNT, offsetof(struct kvmppc_vcore, nap_count));
        DEFINE(VCORE_IN_GUEST, offsetof(struct kvmppc_vcore, in_guest));
@@ -553,6 +583,10 @@ int main(void)
        DEFINE(IPI_PRIORITY, IPI_PRIORITY);
 #endif /* CONFIG_KVM_BOOK3S_64_HV */
 
+#ifdef CONFIG_PPC_BOOK3S_64
+       HSTATE_FIELD(HSTATE_CFAR, cfar);
+#endif /* CONFIG_PPC_BOOK3S_64 */
+
 #else /* CONFIG_PPC_BOOK3S */
        DEFINE(VCPU_CR, offsetof(struct kvm_vcpu, arch.cr));
        DEFINE(VCPU_XER, offsetof(struct kvm_vcpu, arch.xer));