aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/asm-offsets.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-03-01 13:10:16 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-03-01 13:10:16 -0500
commitb286cedd473006b33d5ae076afac509e6b2c3bf4 (patch)
treef45cbb0337238771d6ebe2220f9d5b4f02771903 /arch/powerpc/kernel/asm-offsets.c
parent522214d9be9c9f00f34ed89cb95e901b7ac31c59 (diff)
parent9f3768e02335ddd6ebe1d85d5cb3a68ee6264004 (diff)
Merge tag 'powerpc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull more powerpc updates from Michael Ellerman: "Highlights include: - an update of the disassembly code used by xmon to the latest versions in binutils. We've received permission from all the authors of the relevant binutils changes to relicense their changes to the relevant files from GPLv3 to GPLv2, for inclusion in Linux. Thanks to Peter Bergner for doing the leg work to get permission from everyone. - addition of the "architected" Power9 CPU table entry, allowing us to boot in Power9 architected mode under a hypervisor. - updates to the Power9 PMU code. - implementation of clear_bit_unlock_is_negative_byte() to optimise unlock_page(). - Freescale updates from Scott: "Highlights include 8xx breakpoints and perf, t1042rdb display support, and board updates." Thanks to: Al Viro, Andrew Donnellan, Aneesh Kumar K.V, Balbir Singh, Douglas Miller, Frédéric Weisbecker, Gavin Shan, Madhavan Srinivasan, Michael Roth, Nathan Fontenot, Naveen N. Rao, Nicholas Piggin, Peter Bergner, Paul E. McKenney, Rashmica Gupta, Russell Currey, Sahil Mehta, Stewart Smith" * tag 'powerpc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (48 commits) powerpc: Remove leftover cputime_to_nsecs call causing build error powerpc/mm/hash: Always clear UPRT and Host Radix bits when setting up CPU powerpc/optprobes: Fix TOC handling in optprobes trampoline powerpc/pseries: Advertise Hot Plug Event support to firmware cxl: fix nested locking hang during EEH hotplug powerpc/xmon: Dump memory in CPU endian format powerpc/pseries: Revert 'Auto-online hotplugged memory' powerpc/powernv: Make PCI non-optional powerpc/64: Implement clear_bit_unlock_is_negative_byte() powerpc/powernv: Remove unused variable in pnv_pci_sriov_disable() powerpc/kernel: Remove error message in pcibios_setup_phb_resources() powerpc/mm: Fix typo in set_pte_at() pci/hotplug/pnv-php: Disable MSI and PCI device properly pci/hotplug/pnv-php: Disable surprise hotplug capability on conflicts pci/hotplug/pnv-php: Remove WARN_ON() in pnv_php_put_slot() powerpc: Add POWER9 architected mode to cputable powerpc/perf: use is_kernel_addr macro in perf_get_misc_flags() powerpc/perf: Avoid FAB_*_MATCH checks for power9 powerpc/perf: Add restrictions to PMC5 in power9 DD1 powerpc/perf: Use Instruction Counter value ...
Diffstat (limited to 'arch/powerpc/kernel/asm-offsets.c')
-rw-r--r--arch/powerpc/kernel/asm-offsets.c772
1 files changed, 372 insertions, 400 deletions
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index f25239b3a06f..4367e7df51a1 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -72,205 +72,190 @@
72#include <asm/fixmap.h> 72#include <asm/fixmap.h>
73#endif 73#endif
74 74
75#define STACK_PT_REGS_OFFSET(sym, val) \
76 DEFINE(sym, STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, val))
77
75int main(void) 78int main(void)
76{ 79{
77 DEFINE(THREAD, offsetof(struct task_struct, thread)); 80 OFFSET(THREAD, task_struct, thread);
78 DEFINE(MM, offsetof(struct task_struct, mm)); 81 OFFSET(MM, task_struct, mm);
79 DEFINE(MMCONTEXTID, offsetof(struct mm_struct, context.id)); 82 OFFSET(MMCONTEXTID, mm_struct, context.id);
80#ifdef CONFIG_PPC64 83#ifdef CONFIG_PPC64
81 DEFINE(SIGSEGV, SIGSEGV); 84 DEFINE(SIGSEGV, SIGSEGV);
82 DEFINE(NMI_MASK, NMI_MASK); 85 DEFINE(NMI_MASK, NMI_MASK);
83 DEFINE(TASKTHREADPPR, offsetof(struct task_struct, thread.ppr)); 86 OFFSET(TASKTHREADPPR, task_struct, thread.ppr);
84#else 87#else
85 DEFINE(THREAD_INFO, offsetof(struct task_struct, stack)); 88 OFFSET(THREAD_INFO, task_struct, stack);
86 DEFINE(THREAD_INFO_GAP, _ALIGN_UP(sizeof(struct thread_info), 16)); 89 DEFINE(THREAD_INFO_GAP, _ALIGN_UP(sizeof(struct thread_info), 16));
87 DEFINE(KSP_LIMIT, offsetof(struct thread_struct, ksp_limit)); 90 OFFSET(KSP_LIMIT, thread_struct, ksp_limit);
88#endif /* CONFIG_PPC64 */ 91#endif /* CONFIG_PPC64 */
89 92
90#ifdef CONFIG_LIVEPATCH 93#ifdef CONFIG_LIVEPATCH
91 DEFINE(TI_livepatch_sp, offsetof(struct thread_info, livepatch_sp)); 94 OFFSET(TI_livepatch_sp, thread_info, livepatch_sp);
92#endif 95#endif
93 96
94 DEFINE(KSP, offsetof(struct thread_struct, ksp)); 97 OFFSET(KSP, thread_struct, ksp);
95 DEFINE(PT_REGS, offsetof(struct thread_struct, regs)); 98 OFFSET(PT_REGS, thread_struct, regs);
96#ifdef CONFIG_BOOKE 99#ifdef CONFIG_BOOKE
97 DEFINE(THREAD_NORMSAVES, offsetof(struct thread_struct, normsave[0])); 100 OFFSET(THREAD_NORMSAVES, thread_struct, normsave[0]);
98#endif 101#endif
99 DEFINE(THREAD_FPEXC_MODE, offsetof(struct thread_struct, fpexc_mode)); 102 OFFSET(THREAD_FPEXC_MODE, thread_struct, fpexc_mode);
100 DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fp_state)); 103 OFFSET(THREAD_FPSTATE, thread_struct, fp_state);
101 DEFINE(THREAD_FPSAVEAREA, offsetof(struct thread_struct, fp_save_area)); 104 OFFSET(THREAD_FPSAVEAREA, thread_struct, fp_save_area);
102 DEFINE(FPSTATE_FPSCR, offsetof(struct thread_fp_state, fpscr)); 105 OFFSET(FPSTATE_FPSCR, thread_fp_state, fpscr);
103 DEFINE(THREAD_LOAD_FP, offsetof(struct thread_struct, load_fp)); 106 OFFSET(THREAD_LOAD_FP, thread_struct, load_fp);
104#ifdef CONFIG_ALTIVEC 107#ifdef CONFIG_ALTIVEC
105 DEFINE(THREAD_VRSTATE, offsetof(struct thread_struct, vr_state)); 108 OFFSET(THREAD_VRSTATE, thread_struct, vr_state);
106 DEFINE(THREAD_VRSAVEAREA, offsetof(struct thread_struct, vr_save_area)); 109 OFFSET(THREAD_VRSAVEAREA, thread_struct, vr_save_area);
107 DEFINE(THREAD_VRSAVE, offsetof(struct thread_struct, vrsave)); 110 OFFSET(THREAD_VRSAVE, thread_struct, vrsave);
108 DEFINE(THREAD_USED_VR, offsetof(struct thread_struct, used_vr)); 111 OFFSET(THREAD_USED_VR, thread_struct, used_vr);
109 DEFINE(VRSTATE_VSCR, offsetof(struct thread_vr_state, vscr)); 112 OFFSET(VRSTATE_VSCR, thread_vr_state, vscr);
110 DEFINE(THREAD_LOAD_VEC, offsetof(struct thread_struct, load_vec)); 113 OFFSET(THREAD_LOAD_VEC, thread_struct, load_vec);
111#endif /* CONFIG_ALTIVEC */ 114#endif /* CONFIG_ALTIVEC */
112#ifdef CONFIG_VSX 115#ifdef CONFIG_VSX
113 DEFINE(THREAD_USED_VSR, offsetof(struct thread_struct, used_vsr)); 116 OFFSET(THREAD_USED_VSR, thread_struct, used_vsr);
114#endif /* CONFIG_VSX */ 117#endif /* CONFIG_VSX */
115#ifdef CONFIG_PPC64 118#ifdef CONFIG_PPC64
116 DEFINE(KSP_VSID, offsetof(struct thread_struct, ksp_vsid)); 119 OFFSET(KSP_VSID, thread_struct, ksp_vsid);
117#else /* CONFIG_PPC64 */ 120#else /* CONFIG_PPC64 */
118 DEFINE(PGDIR, offsetof(struct thread_struct, pgdir)); 121 OFFSET(PGDIR, thread_struct, pgdir);
119#ifdef CONFIG_SPE 122#ifdef CONFIG_SPE
120 DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0])); 123 OFFSET(THREAD_EVR0, thread_struct, evr[0]);
121 DEFINE(THREAD_ACC, offsetof(struct thread_struct, acc)); 124 OFFSET(THREAD_ACC, thread_struct, acc);
122 DEFINE(THREAD_SPEFSCR, offsetof(struct thread_struct, spefscr)); 125 OFFSET(THREAD_SPEFSCR, thread_struct, spefscr);
123 DEFINE(THREAD_USED_SPE, offsetof(struct thread_struct, used_spe)); 126 OFFSET(THREAD_USED_SPE, thread_struct, used_spe);
124#endif /* CONFIG_SPE */ 127#endif /* CONFIG_SPE */
125#endif /* CONFIG_PPC64 */ 128#endif /* CONFIG_PPC64 */
126#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE) 129#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
127 DEFINE(THREAD_DBCR0, offsetof(struct thread_struct, debug.dbcr0)); 130 OFFSET(THREAD_DBCR0, thread_struct, debug.dbcr0);
128#endif 131#endif
129#ifdef CONFIG_KVM_BOOK3S_32_HANDLER 132#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
130 DEFINE(THREAD_KVM_SVCPU, offsetof(struct thread_struct, kvm_shadow_vcpu)); 133 OFFSET(THREAD_KVM_SVCPU, thread_struct, kvm_shadow_vcpu);
131#endif 134#endif
132#if defined(CONFIG_KVM) && defined(CONFIG_BOOKE) 135#if defined(CONFIG_KVM) && defined(CONFIG_BOOKE)
133 DEFINE(THREAD_KVM_VCPU, offsetof(struct thread_struct, kvm_vcpu)); 136 OFFSET(THREAD_KVM_VCPU, thread_struct, kvm_vcpu);
134#endif 137#endif
135 138
136#ifdef CONFIG_PPC_TRANSACTIONAL_MEM 139#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
137 DEFINE(PACATMSCRATCH, offsetof(struct paca_struct, tm_scratch)); 140 OFFSET(PACATMSCRATCH, paca_struct, tm_scratch);
138 DEFINE(THREAD_TM_TFHAR, offsetof(struct thread_struct, tm_tfhar)); 141 OFFSET(THREAD_TM_TFHAR, thread_struct, tm_tfhar);
139 DEFINE(THREAD_TM_TEXASR, offsetof(struct thread_struct, tm_texasr)); 142 OFFSET(THREAD_TM_TEXASR, thread_struct, tm_texasr);
140 DEFINE(THREAD_TM_TFIAR, offsetof(struct thread_struct, tm_tfiar)); 143 OFFSET(THREAD_TM_TFIAR, thread_struct, tm_tfiar);
141 DEFINE(THREAD_TM_TAR, offsetof(struct thread_struct, tm_tar)); 144 OFFSET(THREAD_TM_TAR, thread_struct, tm_tar);
142 DEFINE(THREAD_TM_PPR, offsetof(struct thread_struct, tm_ppr)); 145 OFFSET(THREAD_TM_PPR, thread_struct, tm_ppr);
143 DEFINE(THREAD_TM_DSCR, offsetof(struct thread_struct, tm_dscr)); 146 OFFSET(THREAD_TM_DSCR, thread_struct, tm_dscr);
144 DEFINE(PT_CKPT_REGS, offsetof(struct thread_struct, ckpt_regs)); 147 OFFSET(PT_CKPT_REGS, thread_struct, ckpt_regs);
145 DEFINE(THREAD_CKVRSTATE, offsetof(struct thread_struct, 148 OFFSET(THREAD_CKVRSTATE, thread_struct, ckvr_state);
146 ckvr_state)); 149 OFFSET(THREAD_CKVRSAVE, thread_struct, ckvrsave);
147 DEFINE(THREAD_CKVRSAVE, offsetof(struct thread_struct, 150 OFFSET(THREAD_CKFPSTATE, thread_struct, ckfp_state);
148 ckvrsave));
149 DEFINE(THREAD_CKFPSTATE, offsetof(struct thread_struct,
150 ckfp_state));
151 /* Local pt_regs on stack for Transactional Memory funcs. */ 151 /* Local pt_regs on stack for Transactional Memory funcs. */
152 DEFINE(TM_FRAME_SIZE, STACK_FRAME_OVERHEAD + 152 DEFINE(TM_FRAME_SIZE, STACK_FRAME_OVERHEAD +
153 sizeof(struct pt_regs) + 16); 153 sizeof(struct pt_regs) + 16);
154#endif /* CONFIG_PPC_TRANSACTIONAL_MEM */ 154#endif /* CONFIG_PPC_TRANSACTIONAL_MEM */
155 155
156 DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); 156 OFFSET(TI_FLAGS, thread_info, flags);
157 DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags)); 157 OFFSET(TI_LOCAL_FLAGS, thread_info, local_flags);
158 DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); 158 OFFSET(TI_PREEMPT, thread_info, preempt_count);
159 DEFINE(TI_TASK, offsetof(struct thread_info, task)); 159 OFFSET(TI_TASK, thread_info, task);
160 DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); 160 OFFSET(TI_CPU, thread_info, cpu);
161 161
162#ifdef CONFIG_PPC64 162#ifdef CONFIG_PPC64
163 DEFINE(DCACHEL1BLOCKSIZE, offsetof(struct ppc64_caches, l1d.block_size)); 163 OFFSET(DCACHEL1BLOCKSIZE, ppc64_caches, l1d.block_size);
164 DEFINE(DCACHEL1LOGBLOCKSIZE, offsetof(struct ppc64_caches, l1d.log_block_size)); 164 OFFSET(DCACHEL1LOGBLOCKSIZE, ppc64_caches, l1d.log_block_size);
165 DEFINE(DCACHEL1BLOCKSPERPAGE, offsetof(struct ppc64_caches, l1d.blocks_per_page)); 165 OFFSET(DCACHEL1BLOCKSPERPAGE, ppc64_caches, l1d.blocks_per_page);
166 DEFINE(ICACHEL1BLOCKSIZE, offsetof(struct ppc64_caches, l1i.block_size)); 166 OFFSET(ICACHEL1BLOCKSIZE, ppc64_caches, l1i.block_size);
167 DEFINE(ICACHEL1LOGBLOCKSIZE, offsetof(struct ppc64_caches, l1i.log_block_size)); 167 OFFSET(ICACHEL1LOGBLOCKSIZE, ppc64_caches, l1i.log_block_size);
168 DEFINE(ICACHEL1BLOCKSPERPAGE, offsetof(struct ppc64_caches, l1i.blocks_per_page)); 168 OFFSET(ICACHEL1BLOCKSPERPAGE, ppc64_caches, l1i.blocks_per_page);
169 /* paca */ 169 /* paca */
170 DEFINE(PACA_SIZE, sizeof(struct paca_struct)); 170 DEFINE(PACA_SIZE, sizeof(struct paca_struct));
171 DEFINE(PACAPACAINDEX, offsetof(struct paca_struct, paca_index)); 171 OFFSET(PACAPACAINDEX, paca_struct, paca_index);
172 DEFINE(PACAPROCSTART, offsetof(struct paca_struct, cpu_start)); 172 OFFSET(PACAPROCSTART, paca_struct, cpu_start);
173 DEFINE(PACAKSAVE, offsetof(struct paca_struct, kstack)); 173 OFFSET(PACAKSAVE, paca_struct, kstack);
174 DEFINE(PACACURRENT, offsetof(struct paca_struct, __current)); 174 OFFSET(PACACURRENT, paca_struct, __current);
175 DEFINE(PACASAVEDMSR, offsetof(struct paca_struct, saved_msr)); 175 OFFSET(PACASAVEDMSR, paca_struct, saved_msr);
176 DEFINE(PACASTABRR, offsetof(struct paca_struct, stab_rr)); 176 OFFSET(PACASTABRR, paca_struct, stab_rr);
177 DEFINE(PACAR1, offsetof(struct paca_struct, saved_r1)); 177 OFFSET(PACAR1, paca_struct, saved_r1);
178 DEFINE(PACATOC, offsetof(struct paca_struct, kernel_toc)); 178 OFFSET(PACATOC, paca_struct, kernel_toc);
179 DEFINE(PACAKBASE, offsetof(struct paca_struct, kernelbase)); 179 OFFSET(PACAKBASE, paca_struct, kernelbase);
180 DEFINE(PACAKMSR, offsetof(struct paca_struct, kernel_msr)); 180 OFFSET(PACAKMSR, paca_struct, kernel_msr);
181 DEFINE(PACASOFTIRQEN, offsetof(struct paca_struct, soft_enabled)); 181 OFFSET(PACASOFTIRQEN, paca_struct, soft_enabled);
182 DEFINE(PACAIRQHAPPENED, offsetof(struct paca_struct, irq_happened)); 182 OFFSET(PACAIRQHAPPENED, paca_struct, irq_happened);
183#ifdef CONFIG_PPC_BOOK3S 183#ifdef CONFIG_PPC_BOOK3S
184 DEFINE(PACACONTEXTID, offsetof(struct paca_struct, mm_ctx_id)); 184 OFFSET(PACACONTEXTID, paca_struct, mm_ctx_id);
185#ifdef CONFIG_PPC_MM_SLICES 185#ifdef CONFIG_PPC_MM_SLICES
186 DEFINE(PACALOWSLICESPSIZE, offsetof(struct paca_struct, 186 OFFSET(PACALOWSLICESPSIZE, paca_struct, mm_ctx_low_slices_psize);
187 mm_ctx_low_slices_psize)); 187 OFFSET(PACAHIGHSLICEPSIZE, paca_struct, mm_ctx_high_slices_psize);
188 DEFINE(PACAHIGHSLICEPSIZE, offsetof(struct paca_struct,
189 mm_ctx_high_slices_psize));
190 DEFINE(MMUPSIZEDEFSIZE, sizeof(struct mmu_psize_def)); 188 DEFINE(MMUPSIZEDEFSIZE, sizeof(struct mmu_psize_def));
191#endif /* CONFIG_PPC_MM_SLICES */ 189#endif /* CONFIG_PPC_MM_SLICES */
192#endif 190#endif
193 191
194#ifdef CONFIG_PPC_BOOK3E 192#ifdef CONFIG_PPC_BOOK3E
195 DEFINE(PACAPGD, offsetof(struct paca_struct, pgd)); 193 OFFSET(PACAPGD, paca_struct, pgd);
196 DEFINE(PACA_KERNELPGD, offsetof(struct paca_struct, kernel_pgd)); 194 OFFSET(PACA_KERNELPGD, paca_struct, kernel_pgd);
197 DEFINE(PACA_EXGEN, offsetof(struct paca_struct, exgen)); 195 OFFSET(PACA_EXGEN, paca_struct, exgen);
198 DEFINE(PACA_EXTLB, offsetof(struct paca_struct, extlb)); 196 OFFSET(PACA_EXTLB, paca_struct, extlb);
199 DEFINE(PACA_EXMC, offsetof(struct paca_struct, exmc)); 197 OFFSET(PACA_EXMC, paca_struct, exmc);
200 DEFINE(PACA_EXCRIT, offsetof(struct paca_struct, excrit)); 198 OFFSET(PACA_EXCRIT, paca_struct, excrit);
201 DEFINE(PACA_EXDBG, offsetof(struct paca_struct, exdbg)); 199 OFFSET(PACA_EXDBG, paca_struct, exdbg);
202 DEFINE(PACA_MC_STACK, offsetof(struct paca_struct, mc_kstack)); 200 OFFSET(PACA_MC_STACK, paca_struct, mc_kstack);
203 DEFINE(PACA_CRIT_STACK, offsetof(struct paca_struct, crit_kstack)); 201 OFFSET(PACA_CRIT_STACK, paca_struct, crit_kstack);
204 DEFINE(PACA_DBG_STACK, offsetof(struct paca_struct, dbg_kstack)); 202 OFFSET(PACA_DBG_STACK, paca_struct, dbg_kstack);
205 DEFINE(PACA_TCD_PTR, offsetof(struct paca_struct, tcd_ptr)); 203 OFFSET(PACA_TCD_PTR, paca_struct, tcd_ptr);
206 204
207 DEFINE(TCD_ESEL_NEXT, 205 OFFSET(TCD_ESEL_NEXT, tlb_core_data, esel_next);
208 offsetof(struct tlb_core_data, esel_next)); 206 OFFSET(TCD_ESEL_MAX, tlb_core_data, esel_max);
209 DEFINE(TCD_ESEL_MAX, 207 OFFSET(TCD_ESEL_FIRST, tlb_core_data, esel_first);
210 offsetof(struct tlb_core_data, esel_max));
211 DEFINE(TCD_ESEL_FIRST,
212 offsetof(struct tlb_core_data, esel_first));
213#endif /* CONFIG_PPC_BOOK3E */ 208#endif /* CONFIG_PPC_BOOK3E */
214 209
215#ifdef CONFIG_PPC_STD_MMU_64 210#ifdef CONFIG_PPC_STD_MMU_64
216 DEFINE(PACASLBCACHE, offsetof(struct paca_struct, slb_cache)); 211 OFFSET(PACASLBCACHE, paca_struct, slb_cache);
217 DEFINE(PACASLBCACHEPTR, offsetof(struct paca_struct, slb_cache_ptr)); 212 OFFSET(PACASLBCACHEPTR, paca_struct, slb_cache_ptr);
218 DEFINE(PACAVMALLOCSLLP, offsetof(struct paca_struct, vmalloc_sllp)); 213 OFFSET(PACAVMALLOCSLLP, paca_struct, vmalloc_sllp);
219#ifdef CONFIG_PPC_MM_SLICES 214#ifdef CONFIG_PPC_MM_SLICES
220 DEFINE(MMUPSIZESLLP, offsetof(struct mmu_psize_def, sllp)); 215 OFFSET(MMUPSIZESLLP, mmu_psize_def, sllp);
221#else 216#else
222 DEFINE(PACACONTEXTSLLP, offsetof(struct paca_struct, mm_ctx_sllp)); 217 OFFSET(PACACONTEXTSLLP, paca_struct, mm_ctx_sllp);
223#endif /* CONFIG_PPC_MM_SLICES */ 218#endif /* CONFIG_PPC_MM_SLICES */
224 DEFINE(PACA_EXGEN, offsetof(struct paca_struct, exgen)); 219 OFFSET(PACA_EXGEN, paca_struct, exgen);
225 DEFINE(PACA_EXMC, offsetof(struct paca_struct, exmc)); 220 OFFSET(PACA_EXMC, paca_struct, exmc);
226 DEFINE(PACA_EXSLB, offsetof(struct paca_struct, exslb)); 221 OFFSET(PACA_EXSLB, paca_struct, exslb);
227 DEFINE(PACALPPACAPTR, offsetof(struct paca_struct, lppaca_ptr)); 222 OFFSET(PACALPPACAPTR, paca_struct, lppaca_ptr);
228 DEFINE(PACA_SLBSHADOWPTR, offsetof(struct paca_struct, slb_shadow_ptr)); 223 OFFSET(PACA_SLBSHADOWPTR, paca_struct, slb_shadow_ptr);
229 DEFINE(SLBSHADOW_STACKVSID, 224 OFFSET(SLBSHADOW_STACKVSID, slb_shadow, save_area[SLB_NUM_BOLTED - 1].vsid);
230 offsetof(struct slb_shadow, save_area[SLB_NUM_BOLTED - 1].vsid)); 225 OFFSET(SLBSHADOW_STACKESID, slb_shadow, save_area[SLB_NUM_BOLTED - 1].esid);
231 DEFINE(SLBSHADOW_STACKESID, 226 OFFSET(SLBSHADOW_SAVEAREA, slb_shadow, save_area);
232 offsetof(struct slb_shadow, save_area[SLB_NUM_BOLTED - 1].esid)); 227 OFFSET(LPPACA_PMCINUSE, lppaca, pmcregs_in_use);
233 DEFINE(SLBSHADOW_SAVEAREA, offsetof(struct slb_shadow, save_area)); 228 OFFSET(LPPACA_DTLIDX, lppaca, dtl_idx);
234 DEFINE(LPPACA_PMCINUSE, offsetof(struct lppaca, pmcregs_in_use)); 229 OFFSET(LPPACA_YIELDCOUNT, lppaca, yield_count);
235 DEFINE(LPPACA_DTLIDX, offsetof(struct lppaca, dtl_idx)); 230 OFFSET(PACA_DTL_RIDX, paca_struct, dtl_ridx);
236 DEFINE(LPPACA_YIELDCOUNT, offsetof(struct lppaca, yield_count));
237 DEFINE(PACA_DTL_RIDX, offsetof(struct paca_struct, dtl_ridx));
238#endif /* CONFIG_PPC_STD_MMU_64 */ 231#endif /* CONFIG_PPC_STD_MMU_64 */
239 DEFINE(PACAEMERGSP, offsetof(struct paca_struct, emergency_sp)); 232 OFFSET(PACAEMERGSP, paca_struct, emergency_sp);
240#ifdef CONFIG_PPC_BOOK3S_64 233#ifdef CONFIG_PPC_BOOK3S_64
241 DEFINE(PACAMCEMERGSP, offsetof(struct paca_struct, mc_emergency_sp)); 234 OFFSET(PACAMCEMERGSP, paca_struct, mc_emergency_sp);
242 DEFINE(PACA_IN_MCE, offsetof(struct paca_struct, in_mce)); 235 OFFSET(PACA_IN_MCE, paca_struct, in_mce);
243#endif 236#endif
244 DEFINE(PACAHWCPUID, offsetof(struct paca_struct, hw_cpu_id)); 237 OFFSET(PACAHWCPUID, paca_struct, hw_cpu_id);
245 DEFINE(PACAKEXECSTATE, offsetof(struct paca_struct, kexec_state)); 238 OFFSET(PACAKEXECSTATE, paca_struct, kexec_state);
246 DEFINE(PACA_DSCR_DEFAULT, offsetof(struct paca_struct, dscr_default)); 239 OFFSET(PACA_DSCR_DEFAULT, paca_struct, dscr_default);
247 DEFINE(ACCOUNT_STARTTIME, 240 OFFSET(ACCOUNT_STARTTIME, paca_struct, accounting.starttime);
248 offsetof(struct paca_struct, accounting.starttime)); 241 OFFSET(ACCOUNT_STARTTIME_USER, paca_struct, accounting.starttime_user);
249 DEFINE(ACCOUNT_STARTTIME_USER, 242 OFFSET(ACCOUNT_USER_TIME, paca_struct, accounting.utime);
250 offsetof(struct paca_struct, accounting.starttime_user)); 243 OFFSET(ACCOUNT_SYSTEM_TIME, paca_struct, accounting.stime);
251 DEFINE(ACCOUNT_USER_TIME, 244 OFFSET(PACA_TRAP_SAVE, paca_struct, trap_save);
252 offsetof(struct paca_struct, accounting.utime)); 245 OFFSET(PACA_NAPSTATELOST, paca_struct, nap_state_lost);
253 DEFINE(ACCOUNT_SYSTEM_TIME, 246 OFFSET(PACA_SPRG_VDSO, paca_struct, sprg_vdso);
254 offsetof(struct paca_struct, accounting.stime));
255 DEFINE(PACA_TRAP_SAVE, offsetof(struct paca_struct, trap_save));
256 DEFINE(PACA_NAPSTATELOST, offsetof(struct paca_struct, nap_state_lost));
257 DEFINE(PACA_SPRG_VDSO, offsetof(struct paca_struct, sprg_vdso));
258#else /* CONFIG_PPC64 */ 247#else /* CONFIG_PPC64 */
259#ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE 248#ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
260 DEFINE(ACCOUNT_STARTTIME, 249 OFFSET(ACCOUNT_STARTTIME, thread_info, accounting.starttime);
261 offsetof(struct thread_info, accounting.starttime)); 250 OFFSET(ACCOUNT_STARTTIME_USER, thread_info, accounting.starttime_user);
262 DEFINE(ACCOUNT_STARTTIME_USER, 251 OFFSET(ACCOUNT_USER_TIME, thread_info, accounting.utime);
263 offsetof(struct thread_info, accounting.starttime_user)); 252 OFFSET(ACCOUNT_SYSTEM_TIME, thread_info, accounting.stime);
264 DEFINE(ACCOUNT_USER_TIME,
265 offsetof(struct thread_info, accounting.utime));
266 DEFINE(ACCOUNT_SYSTEM_TIME,
267 offsetof(struct thread_info, accounting.stime));
268#endif 253#endif
269#endif /* CONFIG_PPC64 */ 254#endif /* CONFIG_PPC64 */
270 255
271 /* RTAS */ 256 /* RTAS */
272 DEFINE(RTASBASE, offsetof(struct rtas_t, base)); 257 OFFSET(RTASBASE, rtas_t, base);
273 DEFINE(RTASENTRY, offsetof(struct rtas_t, entry)); 258 OFFSET(RTASENTRY, rtas_t, entry);
274 259
275 /* Interrupt register frame */ 260 /* Interrupt register frame */
276 DEFINE(INT_FRAME_SIZE, STACK_INT_FRAME_SIZE); 261 DEFINE(INT_FRAME_SIZE, STACK_INT_FRAME_SIZE);
@@ -280,38 +265,38 @@ int main(void)
280 DEFINE(PROM_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); 265 DEFINE(PROM_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16);
281 DEFINE(RTAS_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16); 266 DEFINE(RTAS_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16);
282#endif /* CONFIG_PPC64 */ 267#endif /* CONFIG_PPC64 */
283 DEFINE(GPR0, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[0])); 268 STACK_PT_REGS_OFFSET(GPR0, gpr[0]);
284 DEFINE(GPR1, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[1])); 269 STACK_PT_REGS_OFFSET(GPR1, gpr[1]);
285 DEFINE(GPR2, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[2])); 270 STACK_PT_REGS_OFFSET(GPR2, gpr[2]);
286 DEFINE(GPR3, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[3])); 271 STACK_PT_REGS_OFFSET(GPR3, gpr[3]);
287 DEFINE(GPR4, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[4])); 272 STACK_PT_REGS_OFFSET(GPR4, gpr[4]);
288 DEFINE(GPR5, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[5])); 273 STACK_PT_REGS_OFFSET(GPR5, gpr[5]);
289 DEFINE(GPR6, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[6])); 274 STACK_PT_REGS_OFFSET(GPR6, gpr[6]);
290 DEFINE(GPR7, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[7])); 275 STACK_PT_REGS_OFFSET(GPR7, gpr[7]);
291 DEFINE(GPR8, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[8])); 276 STACK_PT_REGS_OFFSET(GPR8, gpr[8]);
292 DEFINE(GPR9, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[9])); 277 STACK_PT_REGS_OFFSET(GPR9, gpr[9]);
293 DEFINE(GPR10, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[10])); 278 STACK_PT_REGS_OFFSET(GPR10, gpr[10]);
294 DEFINE(GPR11, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[11])); 279 STACK_PT_REGS_OFFSET(GPR11, gpr[11]);
295 DEFINE(GPR12, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[12])); 280 STACK_PT_REGS_OFFSET(GPR12, gpr[12]);
296 DEFINE(GPR13, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[13])); 281 STACK_PT_REGS_OFFSET(GPR13, gpr[13]);
297#ifndef CONFIG_PPC64 282#ifndef CONFIG_PPC64
298 DEFINE(GPR14, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[14])); 283 STACK_PT_REGS_OFFSET(GPR14, gpr[14]);
299#endif /* CONFIG_PPC64 */ 284#endif /* CONFIG_PPC64 */
300 /* 285 /*
301 * Note: these symbols include _ because they overlap with special 286 * Note: these symbols include _ because they overlap with special
302 * register names 287 * register names
303 */ 288 */
304 DEFINE(_NIP, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, nip)); 289 STACK_PT_REGS_OFFSET(_NIP, nip);
305 DEFINE(_MSR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, msr)); 290 STACK_PT_REGS_OFFSET(_MSR, msr);
306 DEFINE(_CTR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, ctr)); 291 STACK_PT_REGS_OFFSET(_CTR, ctr);
307 DEFINE(_LINK, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, link)); 292 STACK_PT_REGS_OFFSET(_LINK, link);
308 DEFINE(_CCR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, ccr)); 293 STACK_PT_REGS_OFFSET(_CCR, ccr);
309 DEFINE(_XER, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, xer)); 294 STACK_PT_REGS_OFFSET(_XER, xer);
310 DEFINE(_DAR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dar)); 295 STACK_PT_REGS_OFFSET(_DAR, dar);
311 DEFINE(_DSISR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dsisr)); 296 STACK_PT_REGS_OFFSET(_DSISR, dsisr);
312 DEFINE(ORIG_GPR3, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, orig_gpr3)); 297 STACK_PT_REGS_OFFSET(ORIG_GPR3, orig_gpr3);
313 DEFINE(RESULT, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, result)); 298 STACK_PT_REGS_OFFSET(RESULT, result);
314 DEFINE(_TRAP, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, trap)); 299 STACK_PT_REGS_OFFSET(_TRAP, trap);
315#ifndef CONFIG_PPC64 300#ifndef CONFIG_PPC64
316 /* 301 /*
317 * The PowerPC 400-class & Book-E processors have neither the DAR 302 * The PowerPC 400-class & Book-E processors have neither the DAR
@@ -319,10 +304,10 @@ int main(void)
319 * DEAR and ESR SPRs for such processors. For critical interrupts 304 * DEAR and ESR SPRs for such processors. For critical interrupts
320 * we use them to hold SRR0 and SRR1. 305 * we use them to hold SRR0 and SRR1.
321 */ 306 */
322 DEFINE(_DEAR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dar)); 307 STACK_PT_REGS_OFFSET(_DEAR, dar);
323 DEFINE(_ESR, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, dsisr)); 308 STACK_PT_REGS_OFFSET(_ESR, dsisr);
324#else /* CONFIG_PPC64 */ 309#else /* CONFIG_PPC64 */
325 DEFINE(SOFTE, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, softe)); 310 STACK_PT_REGS_OFFSET(SOFTE, softe);
326 311
327 /* These _only_ to be used with {PROM,RTAS}_FRAME_SIZE!!! */ 312 /* These _only_ to be used with {PROM,RTAS}_FRAME_SIZE!!! */
328 DEFINE(_SRR0, STACK_FRAME_OVERHEAD+sizeof(struct pt_regs)); 313 DEFINE(_SRR0, STACK_FRAME_OVERHEAD+sizeof(struct pt_regs));
@@ -351,17 +336,17 @@ int main(void)
351#endif 336#endif
352 337
353#ifndef CONFIG_PPC64 338#ifndef CONFIG_PPC64
354 DEFINE(MM_PGD, offsetof(struct mm_struct, pgd)); 339 OFFSET(MM_PGD, mm_struct, pgd);
355#endif /* ! CONFIG_PPC64 */ 340#endif /* ! CONFIG_PPC64 */
356 341
357 /* About the CPU features table */ 342 /* About the CPU features table */
358 DEFINE(CPU_SPEC_FEATURES, offsetof(struct cpu_spec, cpu_features)); 343 OFFSET(CPU_SPEC_FEATURES, cpu_spec, cpu_features);
359 DEFINE(CPU_SPEC_SETUP, offsetof(struct cpu_spec, cpu_setup)); 344 OFFSET(CPU_SPEC_SETUP, cpu_spec, cpu_setup);
360 DEFINE(CPU_SPEC_RESTORE, offsetof(struct cpu_spec, cpu_restore)); 345 OFFSET(CPU_SPEC_RESTORE, cpu_spec, cpu_restore);
361 346
362 DEFINE(pbe_address, offsetof(struct pbe, address)); 347 OFFSET(pbe_address, pbe, address);
363 DEFINE(pbe_orig_address, offsetof(struct pbe, orig_address)); 348 OFFSET(pbe_orig_address, pbe, orig_address);
364 DEFINE(pbe_next, offsetof(struct pbe, next)); 349 OFFSET(pbe_next, pbe, next);
365 350
366#ifndef CONFIG_PPC64 351#ifndef CONFIG_PPC64
367 DEFINE(TASK_SIZE, TASK_SIZE); 352 DEFINE(TASK_SIZE, TASK_SIZE);
@@ -369,40 +354,40 @@ int main(void)
369#endif /* ! CONFIG_PPC64 */ 354#endif /* ! CONFIG_PPC64 */
370 355
371 /* datapage offsets for use by vdso */ 356 /* datapage offsets for use by vdso */
372 DEFINE(CFG_TB_ORIG_STAMP, offsetof(struct vdso_data, tb_orig_stamp)); 357 OFFSET(CFG_TB_ORIG_STAMP, vdso_data, tb_orig_stamp);
373 DEFINE(CFG_TB_TICKS_PER_SEC, offsetof(struct vdso_data, tb_ticks_per_sec)); 358 OFFSET(CFG_TB_TICKS_PER_SEC, vdso_data, tb_ticks_per_sec);
374 DEFINE(CFG_TB_TO_XS, offsetof(struct vdso_data, tb_to_xs)); 359 OFFSET(CFG_TB_TO_XS, vdso_data, tb_to_xs);
375 DEFINE(CFG_TB_UPDATE_COUNT, offsetof(struct vdso_data, tb_update_count)); 360 OFFSET(CFG_TB_UPDATE_COUNT, vdso_data, tb_update_count);
376 DEFINE(CFG_TZ_MINUTEWEST, offsetof(struct vdso_data, tz_minuteswest)); 361 OFFSET(CFG_TZ_MINUTEWEST, vdso_data, tz_minuteswest);
377 DEFINE(CFG_TZ_DSTTIME, offsetof(struct vdso_data, tz_dsttime)); 362 OFFSET(CFG_TZ_DSTTIME, vdso_data, tz_dsttime);
378 DEFINE(CFG_SYSCALL_MAP32, offsetof(struct vdso_data, syscall_map_32)); 363 OFFSET(CFG_SYSCALL_MAP32, vdso_data, syscall_map_32);
379 DEFINE(WTOM_CLOCK_SEC, offsetof(struct vdso_data, wtom_clock_sec)); 364 OFFSET(WTOM_CLOCK_SEC, vdso_data, wtom_clock_sec);
380 DEFINE(WTOM_CLOCK_NSEC, offsetof(struct vdso_data, wtom_clock_nsec)); 365 OFFSET(WTOM_CLOCK_NSEC, vdso_data, wtom_clock_nsec);
381 DEFINE(STAMP_XTIME, offsetof(struct vdso_data, stamp_xtime)); 366 OFFSET(STAMP_XTIME, vdso_data, stamp_xtime);
382 DEFINE(STAMP_SEC_FRAC, offsetof(struct vdso_data, stamp_sec_fraction)); 367 OFFSET(STAMP_SEC_FRAC, vdso_data, stamp_sec_fraction);
383 DEFINE(CFG_ICACHE_BLOCKSZ, offsetof(struct vdso_data, icache_block_size)); 368 OFFSET(CFG_ICACHE_BLOCKSZ, vdso_data, icache_block_size);
384 DEFINE(CFG_DCACHE_BLOCKSZ, offsetof(struct vdso_data, dcache_block_size)); 369 OFFSET(CFG_DCACHE_BLOCKSZ, vdso_data, dcache_block_size);
385 DEFINE(CFG_ICACHE_LOGBLOCKSZ, offsetof(struct vdso_data, icache_log_block_size)); 370 OFFSET(CFG_ICACHE_LOGBLOCKSZ, vdso_data, icache_log_block_size);
386 DEFINE(CFG_DCACHE_LOGBLOCKSZ, offsetof(struct vdso_data, dcache_log_block_size)); 371 OFFSET(CFG_DCACHE_LOGBLOCKSZ, vdso_data, dcache_log_block_size);
387#ifdef CONFIG_PPC64 372#ifdef CONFIG_PPC64
388 DEFINE(CFG_SYSCALL_MAP64, offsetof(struct vdso_data, syscall_map_64)); 373 OFFSET(CFG_SYSCALL_MAP64, vdso_data, syscall_map_64);
389 DEFINE(TVAL64_TV_SEC, offsetof(struct timeval, tv_sec)); 374 OFFSET(TVAL64_TV_SEC, timeval, tv_sec);
390 DEFINE(TVAL64_TV_USEC, offsetof(struct timeval, tv_usec)); 375 OFFSET(TVAL64_TV_USEC, timeval, tv_usec);
391 DEFINE(TVAL32_TV_SEC, offsetof(struct compat_timeval, tv_sec)); 376 OFFSET(TVAL32_TV_SEC, compat_timeval, tv_sec);
392 DEFINE(TVAL32_TV_USEC, offsetof(struct compat_timeval, tv_usec)); 377 OFFSET(TVAL32_TV_USEC, compat_timeval, tv_usec);
393 DEFINE(TSPC64_TV_SEC, offsetof(struct timespec, tv_sec)); 378 OFFSET(TSPC64_TV_SEC, timespec, tv_sec);
394 DEFINE(TSPC64_TV_NSEC, offsetof(struct timespec, tv_nsec)); 379 OFFSET(TSPC64_TV_NSEC, timespec, tv_nsec);
395 DEFINE(TSPC32_TV_SEC, offsetof(struct compat_timespec, tv_sec)); 380 OFFSET(TSPC32_TV_SEC, compat_timespec, tv_sec);
396 DEFINE(TSPC32_TV_NSEC, offsetof(struct compat_timespec, tv_nsec)); 381 OFFSET(TSPC32_TV_NSEC, compat_timespec, tv_nsec);
397#else 382#else
398 DEFINE(TVAL32_TV_SEC, offsetof(struct timeval, tv_sec)); 383 OFFSET(TVAL32_TV_SEC, timeval, tv_sec);
399 DEFINE(TVAL32_TV_USEC, offsetof(struct timeval, tv_usec)); 384 OFFSET(TVAL32_TV_USEC, timeval, tv_usec);
400 DEFINE(TSPC32_TV_SEC, offsetof(struct timespec, tv_sec)); 385 OFFSET(TSPC32_TV_SEC, timespec, tv_sec);
401 DEFINE(TSPC32_TV_NSEC, offsetof(struct timespec, tv_nsec)); 386 OFFSET(TSPC32_TV_NSEC, timespec, tv_nsec);
402#endif 387#endif
403 /* timeval/timezone offsets for use by vdso */ 388 /* timeval/timezone offsets for use by vdso */
404 DEFINE(TZONE_TZ_MINWEST, offsetof(struct timezone, tz_minuteswest)); 389 OFFSET(TZONE_TZ_MINWEST, timezone, tz_minuteswest);
405 DEFINE(TZONE_TZ_DSTTIME, offsetof(struct timezone, tz_dsttime)); 390 OFFSET(TZONE_TZ_DSTTIME, timezone, tz_dsttime);
406 391
407 /* Other bits used by the vdso */ 392 /* Other bits used by the vdso */
408 DEFINE(CLOCK_REALTIME, CLOCK_REALTIME); 393 DEFINE(CLOCK_REALTIME, CLOCK_REALTIME);
@@ -422,170 +407,170 @@ int main(void)
422 DEFINE(PTE_SIZE, sizeof(pte_t)); 407 DEFINE(PTE_SIZE, sizeof(pte_t));
423 408
424#ifdef CONFIG_KVM 409#ifdef CONFIG_KVM
425 DEFINE(VCPU_HOST_STACK, offsetof(struct kvm_vcpu, arch.host_stack)); 410 OFFSET(VCPU_HOST_STACK, kvm_vcpu, arch.host_stack);
426 DEFINE(VCPU_HOST_PID, offsetof(struct kvm_vcpu, arch.host_pid)); 411 OFFSET(VCPU_HOST_PID, kvm_vcpu, arch.host_pid);
427 DEFINE(VCPU_GUEST_PID, offsetof(struct kvm_vcpu, arch.pid)); 412 OFFSET(VCPU_GUEST_PID, kvm_vcpu, arch.pid);
428 DEFINE(VCPU_GPRS, offsetof(struct kvm_vcpu, arch.gpr)); 413 OFFSET(VCPU_GPRS, kvm_vcpu, arch.gpr);
429 DEFINE(VCPU_VRSAVE, offsetof(struct kvm_vcpu, arch.vrsave)); 414 OFFSET(VCPU_VRSAVE, kvm_vcpu, arch.vrsave);
430 DEFINE(VCPU_FPRS, offsetof(struct kvm_vcpu, arch.fp.fpr)); 415 OFFSET(VCPU_FPRS, kvm_vcpu, arch.fp.fpr);
431#ifdef CONFIG_ALTIVEC 416#ifdef CONFIG_ALTIVEC
432 DEFINE(VCPU_VRS, offsetof(struct kvm_vcpu, arch.vr.vr)); 417 OFFSET(VCPU_VRS, kvm_vcpu, arch.vr.vr);
433#endif 418#endif
434 DEFINE(VCPU_XER, offsetof(struct kvm_vcpu, arch.xer)); 419 OFFSET(VCPU_XER, kvm_vcpu, arch.xer);
435 DEFINE(VCPU_CTR, offsetof(struct kvm_vcpu, arch.ctr)); 420 OFFSET(VCPU_CTR, kvm_vcpu, arch.ctr);
436 DEFINE(VCPU_LR, offsetof(struct kvm_vcpu, arch.lr)); 421 OFFSET(VCPU_LR, kvm_vcpu, arch.lr);
437#ifdef CONFIG_PPC_BOOK3S 422#ifdef CONFIG_PPC_BOOK3S
438 DEFINE(VCPU_TAR, offsetof(struct kvm_vcpu, arch.tar)); 423 OFFSET(VCPU_TAR, kvm_vcpu, arch.tar);
439#endif 424#endif
440 DEFINE(VCPU_CR, offsetof(struct kvm_vcpu, arch.cr)); 425 OFFSET(VCPU_CR, kvm_vcpu, arch.cr);
441 DEFINE(VCPU_PC, offsetof(struct kvm_vcpu, arch.pc)); 426 OFFSET(VCPU_PC, kvm_vcpu, arch.pc);
442#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE 427#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
443 DEFINE(VCPU_MSR, offsetof(struct kvm_vcpu, arch.shregs.msr)); 428 OFFSET(VCPU_MSR, kvm_vcpu, arch.shregs.msr);
444 DEFINE(VCPU_SRR0, offsetof(struct kvm_vcpu, arch.shregs.srr0)); 429 OFFSET(VCPU_SRR0, kvm_vcpu, arch.shregs.srr0);
445 DEFINE(VCPU_SRR1, offsetof(struct kvm_vcpu, arch.shregs.srr1)); 430 OFFSET(VCPU_SRR1, kvm_vcpu, arch.shregs.srr1);
446 DEFINE(VCPU_SPRG0, offsetof(struct kvm_vcpu, arch.shregs.sprg0)); 431 OFFSET(VCPU_SPRG0, kvm_vcpu, arch.shregs.sprg0);
447 DEFINE(VCPU_SPRG1, offsetof(struct kvm_vcpu, arch.shregs.sprg1)); 432 OFFSET(VCPU_SPRG1, kvm_vcpu, arch.shregs.sprg1);
448 DEFINE(VCPU_SPRG2, offsetof(struct kvm_vcpu, arch.shregs.sprg2)); 433 OFFSET(VCPU_SPRG2, kvm_vcpu, arch.shregs.sprg2);
449 DEFINE(VCPU_SPRG3, offsetof(struct kvm_vcpu, arch.shregs.sprg3)); 434 OFFSET(VCPU_SPRG3, kvm_vcpu, arch.shregs.sprg3);
450#endif 435#endif
451#ifdef CONFIG_KVM_BOOK3S_HV_EXIT_TIMING 436#ifdef CONFIG_KVM_BOOK3S_HV_EXIT_TIMING
452 DEFINE(VCPU_TB_RMENTRY, offsetof(struct kvm_vcpu, arch.rm_entry)); 437 OFFSET(VCPU_TB_RMENTRY, kvm_vcpu, arch.rm_entry);
453 DEFINE(VCPU_TB_RMINTR, offsetof(struct kvm_vcpu, arch.rm_intr)); 438 OFFSET(VCPU_TB_RMINTR, kvm_vcpu, arch.rm_intr);
454 DEFINE(VCPU_TB_RMEXIT, offsetof(struct kvm_vcpu, arch.rm_exit)); 439 OFFSET(VCPU_TB_RMEXIT, kvm_vcpu, arch.rm_exit);
455 DEFINE(VCPU_TB_GUEST, offsetof(struct kvm_vcpu, arch.guest_time)); 440 OFFSET(VCPU_TB_GUEST, kvm_vcpu, arch.guest_time);
456 DEFINE(VCPU_TB_CEDE, offsetof(struct kvm_vcpu, arch.cede_time)); 441 OFFSET(VCPU_TB_CEDE, kvm_vcpu, arch.cede_time);
457 DEFINE(VCPU_CUR_ACTIVITY, offsetof(struct kvm_vcpu, arch.cur_activity)); 442 OFFSET(VCPU_CUR_ACTIVITY, kvm_vcpu, arch.cur_activity);
458 DEFINE(VCPU_ACTIVITY_START, offsetof(struct kvm_vcpu, arch.cur_tb_start)); 443 OFFSET(VCPU_ACTIVITY_START, kvm_vcpu, arch.cur_tb_start);
459 DEFINE(TAS_SEQCOUNT, offsetof(struct kvmhv_tb_accumulator, seqcount)); 444 OFFSET(TAS_SEQCOUNT, kvmhv_tb_accumulator, seqcount);
460 DEFINE(TAS_TOTAL, offsetof(struct kvmhv_tb_accumulator, tb_total)); 445 OFFSET(TAS_TOTAL, kvmhv_tb_accumulator, tb_total);
461 DEFINE(TAS_MIN, offsetof(struct kvmhv_tb_accumulator, tb_min)); 446 OFFSET(TAS_MIN, kvmhv_tb_accumulator, tb_min);
462 DEFINE(TAS_MAX, offsetof(struct kvmhv_tb_accumulator, tb_max)); 447 OFFSET(TAS_MAX, kvmhv_tb_accumulator, tb_max);
463#endif 448#endif
464 DEFINE(VCPU_SHARED_SPRG3, offsetof(struct kvm_vcpu_arch_shared, sprg3)); 449 OFFSET(VCPU_SHARED_SPRG3, kvm_vcpu_arch_shared, sprg3);
465 DEFINE(VCPU_SHARED_SPRG4, offsetof(struct kvm_vcpu_arch_shared, sprg4)); 450 OFFSET(VCPU_SHARED_SPRG4, kvm_vcpu_arch_shared, sprg4);
466 DEFINE(VCPU_SHARED_SPRG5, offsetof(struct kvm_vcpu_arch_shared, sprg5)); 451 OFFSET(VCPU_SHARED_SPRG5, kvm_vcpu_arch_shared, sprg5);
467 DEFINE(VCPU_SHARED_SPRG6, offsetof(struct kvm_vcpu_arch_shared, sprg6)); 452 OFFSET(VCPU_SHARED_SPRG6, kvm_vcpu_arch_shared, sprg6);
468 DEFINE(VCPU_SHARED_SPRG7, offsetof(struct kvm_vcpu_arch_shared, sprg7)); 453 OFFSET(VCPU_SHARED_SPRG7, kvm_vcpu_arch_shared, sprg7);
469 DEFINE(VCPU_SHADOW_PID, offsetof(struct kvm_vcpu, arch.shadow_pid)); 454 OFFSET(VCPU_SHADOW_PID, kvm_vcpu, arch.shadow_pid);
470 DEFINE(VCPU_SHADOW_PID1, offsetof(struct kvm_vcpu, arch.shadow_pid1)); 455 OFFSET(VCPU_SHADOW_PID1, kvm_vcpu, arch.shadow_pid1);
471 DEFINE(VCPU_SHARED, offsetof(struct kvm_vcpu, arch.shared)); 456 OFFSET(VCPU_SHARED, kvm_vcpu, arch.shared);
472 DEFINE(VCPU_SHARED_MSR, offsetof(struct kvm_vcpu_arch_shared, msr)); 457 OFFSET(VCPU_SHARED_MSR, kvm_vcpu_arch_shared, msr);
473 DEFINE(VCPU_SHADOW_MSR, offsetof(struct kvm_vcpu, arch.shadow_msr)); 458 OFFSET(VCPU_SHADOW_MSR, kvm_vcpu, arch.shadow_msr);
474#if defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_KVM_BOOK3S_PR_POSSIBLE) 459#if defined(CONFIG_PPC_BOOK3S_64) && defined(CONFIG_KVM_BOOK3S_PR_POSSIBLE)
475 DEFINE(VCPU_SHAREDBE, offsetof(struct kvm_vcpu, arch.shared_big_endian)); 460 OFFSET(VCPU_SHAREDBE, kvm_vcpu, arch.shared_big_endian);
476#endif 461#endif
477 462
478 DEFINE(VCPU_SHARED_MAS0, offsetof(struct kvm_vcpu_arch_shared, mas0)); 463 OFFSET(VCPU_SHARED_MAS0, kvm_vcpu_arch_shared, mas0);
479 DEFINE(VCPU_SHARED_MAS1, offsetof(struct kvm_vcpu_arch_shared, mas1)); 464 OFFSET(VCPU_SHARED_MAS1, kvm_vcpu_arch_shared, mas1);
480 DEFINE(VCPU_SHARED_MAS2, offsetof(struct kvm_vcpu_arch_shared, mas2)); 465 OFFSET(VCPU_SHARED_MAS2, kvm_vcpu_arch_shared, mas2);
481 DEFINE(VCPU_SHARED_MAS7_3, offsetof(struct kvm_vcpu_arch_shared, mas7_3)); 466 OFFSET(VCPU_SHARED_MAS7_3, kvm_vcpu_arch_shared, mas7_3);
482 DEFINE(VCPU_SHARED_MAS4, offsetof(struct kvm_vcpu_arch_shared, mas4)); 467 OFFSET(VCPU_SHARED_MAS4, kvm_vcpu_arch_shared, mas4);
483 DEFINE(VCPU_SHARED_MAS6, offsetof(struct kvm_vcpu_arch_shared, mas6)); 468 OFFSET(VCPU_SHARED_MAS6, kvm_vcpu_arch_shared, mas6);
484 469
485 DEFINE(VCPU_KVM, offsetof(struct kvm_vcpu, kvm)); 470 OFFSET(VCPU_KVM, kvm_vcpu, kvm);
486 DEFINE(KVM_LPID, offsetof(struct kvm, arch.lpid)); 471 OFFSET(KVM_LPID, kvm, arch.lpid);
487 472
488 /* book3s */ 473 /* book3s */
489#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE 474#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
490 DEFINE(KVM_TLB_SETS, offsetof(struct kvm, arch.tlb_sets)); 475 OFFSET(KVM_TLB_SETS, kvm, arch.tlb_sets);
491 DEFINE(KVM_SDR1, offsetof(struct kvm, arch.sdr1)); 476 OFFSET(KVM_SDR1, kvm, arch.sdr1);
492 DEFINE(KVM_HOST_LPID, offsetof(struct kvm, arch.host_lpid)); 477 OFFSET(KVM_HOST_LPID, kvm, arch.host_lpid);
493 DEFINE(KVM_HOST_LPCR, offsetof(struct kvm, arch.host_lpcr)); 478 OFFSET(KVM_HOST_LPCR, kvm, arch.host_lpcr);
494 DEFINE(KVM_HOST_SDR1, offsetof(struct kvm, arch.host_sdr1)); 479 OFFSET(KVM_HOST_SDR1, kvm, arch.host_sdr1);
495 DEFINE(KVM_NEED_FLUSH, offsetof(struct kvm, arch.need_tlb_flush.bits)); 480 OFFSET(KVM_NEED_FLUSH, kvm, arch.need_tlb_flush.bits);
496 DEFINE(KVM_ENABLED_HCALLS, offsetof(struct kvm, arch.enabled_hcalls)); 481 OFFSET(KVM_ENABLED_HCALLS, kvm, arch.enabled_hcalls);
497 DEFINE(KVM_VRMA_SLB_V, offsetof(struct kvm, arch.vrma_slb_v)); 482 OFFSET(KVM_VRMA_SLB_V, kvm, arch.vrma_slb_v);
498 DEFINE(KVM_RADIX, offsetof(struct kvm, arch.radix)); 483 OFFSET(KVM_RADIX, kvm, arch.radix);
499 DEFINE(VCPU_DSISR, offsetof(struct kvm_vcpu, arch.shregs.dsisr)); 484 OFFSET(VCPU_DSISR, kvm_vcpu, arch.shregs.dsisr);
500 DEFINE(VCPU_DAR, offsetof(struct kvm_vcpu, arch.shregs.dar)); 485 OFFSET(VCPU_DAR, kvm_vcpu, arch.shregs.dar);
501 DEFINE(VCPU_VPA, offsetof(struct kvm_vcpu, arch.vpa.pinned_addr)); 486 OFFSET(VCPU_VPA, kvm_vcpu, arch.vpa.pinned_addr);
502 DEFINE(VCPU_VPA_DIRTY, offsetof(struct kvm_vcpu, arch.vpa.dirty)); 487 OFFSET(VCPU_VPA_DIRTY, kvm_vcpu, arch.vpa.dirty);
503 DEFINE(VCPU_HEIR, offsetof(struct kvm_vcpu, arch.emul_inst)); 488 OFFSET(VCPU_HEIR, kvm_vcpu, arch.emul_inst);
504 DEFINE(VCPU_CPU, offsetof(struct kvm_vcpu, cpu)); 489 OFFSET(VCPU_CPU, kvm_vcpu, cpu);
505 DEFINE(VCPU_THREAD_CPU, offsetof(struct kvm_vcpu, arch.thread_cpu)); 490 OFFSET(VCPU_THREAD_CPU, kvm_vcpu, arch.thread_cpu);
506#endif 491#endif
507#ifdef CONFIG_PPC_BOOK3S 492#ifdef CONFIG_PPC_BOOK3S
508 DEFINE(VCPU_PURR, offsetof(struct kvm_vcpu, arch.purr)); 493 OFFSET(VCPU_PURR, kvm_vcpu, arch.purr);
509 DEFINE(VCPU_SPURR, offsetof(struct kvm_vcpu, arch.spurr)); 494 OFFSET(VCPU_SPURR, kvm_vcpu, arch.spurr);
510 DEFINE(VCPU_IC, offsetof(struct kvm_vcpu, arch.ic)); 495 OFFSET(VCPU_IC, kvm_vcpu, arch.ic);
511 DEFINE(VCPU_DSCR, offsetof(struct kvm_vcpu, arch.dscr)); 496 OFFSET(VCPU_DSCR, kvm_vcpu, arch.dscr);
512 DEFINE(VCPU_AMR, offsetof(struct kvm_vcpu, arch.amr)); 497 OFFSET(VCPU_AMR, kvm_vcpu, arch.amr);
513 DEFINE(VCPU_UAMOR, offsetof(struct kvm_vcpu, arch.uamor)); 498 OFFSET(VCPU_UAMOR, kvm_vcpu, arch.uamor);
514 DEFINE(VCPU_IAMR, offsetof(struct kvm_vcpu, arch.iamr)); 499 OFFSET(VCPU_IAMR, kvm_vcpu, arch.iamr);
515 DEFINE(VCPU_CTRL, offsetof(struct kvm_vcpu, arch.ctrl)); 500 OFFSET(VCPU_CTRL, kvm_vcpu, arch.ctrl);
516 DEFINE(VCPU_DABR, offsetof(struct kvm_vcpu, arch.dabr)); 501 OFFSET(VCPU_DABR, kvm_vcpu, arch.dabr);
517 DEFINE(VCPU_DABRX, offsetof(struct kvm_vcpu, arch.dabrx)); 502 OFFSET(VCPU_DABRX, kvm_vcpu, arch.dabrx);
518 DEFINE(VCPU_DAWR, offsetof(struct kvm_vcpu, arch.dawr)); 503 OFFSET(VCPU_DAWR, kvm_vcpu, arch.dawr);
519 DEFINE(VCPU_DAWRX, offsetof(struct kvm_vcpu, arch.dawrx)); 504 OFFSET(VCPU_DAWRX, kvm_vcpu, arch.dawrx);
520 DEFINE(VCPU_CIABR, offsetof(struct kvm_vcpu, arch.ciabr)); 505 OFFSET(VCPU_CIABR, kvm_vcpu, arch.ciabr);
521 DEFINE(VCPU_HFLAGS, offsetof(struct kvm_vcpu, arch.hflags)); 506 OFFSET(VCPU_HFLAGS, kvm_vcpu, arch.hflags);
522 DEFINE(VCPU_DEC, offsetof(struct kvm_vcpu, arch.dec)); 507 OFFSET(VCPU_DEC, kvm_vcpu, arch.dec);
523 DEFINE(VCPU_DEC_EXPIRES, offsetof(struct kvm_vcpu, arch.dec_expires)); 508 OFFSET(VCPU_DEC_EXPIRES, kvm_vcpu, arch.dec_expires);
524 DEFINE(VCPU_PENDING_EXC, offsetof(struct kvm_vcpu, arch.pending_exceptions)); 509 OFFSET(VCPU_PENDING_EXC, kvm_vcpu, arch.pending_exceptions);
525 DEFINE(VCPU_CEDED, offsetof(struct kvm_vcpu, arch.ceded)); 510 OFFSET(VCPU_CEDED, kvm_vcpu, arch.ceded);
526 DEFINE(VCPU_PRODDED, offsetof(struct kvm_vcpu, arch.prodded)); 511 OFFSET(VCPU_PRODDED, kvm_vcpu, arch.prodded);
527 DEFINE(VCPU_MMCR, offsetof(struct kvm_vcpu, arch.mmcr)); 512 OFFSET(VCPU_MMCR, kvm_vcpu, arch.mmcr);
528 DEFINE(VCPU_PMC, offsetof(struct kvm_vcpu, arch.pmc)); 513 OFFSET(VCPU_PMC, kvm_vcpu, arch.pmc);
529 DEFINE(VCPU_SPMC, offsetof(struct kvm_vcpu, arch.spmc)); 514 OFFSET(VCPU_SPMC, kvm_vcpu, arch.spmc);
530 DEFINE(VCPU_SIAR, offsetof(struct kvm_vcpu, arch.siar)); 515 OFFSET(VCPU_SIAR, kvm_vcpu, arch.siar);
531 DEFINE(VCPU_SDAR, offsetof(struct kvm_vcpu, arch.sdar)); 516 OFFSET(VCPU_SDAR, kvm_vcpu, arch.sdar);
532 DEFINE(VCPU_SIER, offsetof(struct kvm_vcpu, arch.sier)); 517 OFFSET(VCPU_SIER, kvm_vcpu, arch.sier);
533 DEFINE(VCPU_SLB, offsetof(struct kvm_vcpu, arch.slb)); 518 OFFSET(VCPU_SLB, kvm_vcpu, arch.slb);
534 DEFINE(VCPU_SLB_MAX, offsetof(struct kvm_vcpu, arch.slb_max)); 519 OFFSET(VCPU_SLB_MAX, kvm_vcpu, arch.slb_max);
535 DEFINE(VCPU_SLB_NR, offsetof(struct kvm_vcpu, arch.slb_nr)); 520 OFFSET(VCPU_SLB_NR, kvm_vcpu, arch.slb_nr);
536 DEFINE(VCPU_FAULT_DSISR, offsetof(struct kvm_vcpu, arch.fault_dsisr)); 521 OFFSET(VCPU_FAULT_DSISR, kvm_vcpu, arch.fault_dsisr);
537 DEFINE(VCPU_FAULT_DAR, offsetof(struct kvm_vcpu, arch.fault_dar)); 522 OFFSET(VCPU_FAULT_DAR, kvm_vcpu, arch.fault_dar);
538 DEFINE(VCPU_FAULT_GPA, offsetof(struct kvm_vcpu, arch.fault_gpa)); 523 OFFSET(VCPU_FAULT_GPA, kvm_vcpu, arch.fault_gpa);
539 DEFINE(VCPU_INTR_MSR, offsetof(struct kvm_vcpu, arch.intr_msr)); 524 OFFSET(VCPU_INTR_MSR, kvm_vcpu, arch.intr_msr);
540 DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, arch.last_inst)); 525 OFFSET(VCPU_LAST_INST, kvm_vcpu, arch.last_inst);
541 DEFINE(VCPU_TRAP, offsetof(struct kvm_vcpu, arch.trap)); 526 OFFSET(VCPU_TRAP, kvm_vcpu, arch.trap);
542 DEFINE(VCPU_CFAR, offsetof(struct kvm_vcpu, arch.cfar)); 527 OFFSET(VCPU_CFAR, kvm_vcpu, arch.cfar);
543 DEFINE(VCPU_PPR, offsetof(struct kvm_vcpu, arch.ppr)); 528 OFFSET(VCPU_PPR, kvm_vcpu, arch.ppr);
544 DEFINE(VCPU_FSCR, offsetof(struct kvm_vcpu, arch.fscr)); 529 OFFSET(VCPU_FSCR, kvm_vcpu, arch.fscr);
545 DEFINE(VCPU_PSPB, offsetof(struct kvm_vcpu, arch.pspb)); 530 OFFSET(VCPU_PSPB, kvm_vcpu, arch.pspb);
546 DEFINE(VCPU_EBBHR, offsetof(struct kvm_vcpu, arch.ebbhr)); 531 OFFSET(VCPU_EBBHR, kvm_vcpu, arch.ebbhr);
547 DEFINE(VCPU_EBBRR, offsetof(struct kvm_vcpu, arch.ebbrr)); 532 OFFSET(VCPU_EBBRR, kvm_vcpu, arch.ebbrr);
548 DEFINE(VCPU_BESCR, offsetof(struct kvm_vcpu, arch.bescr)); 533 OFFSET(VCPU_BESCR, kvm_vcpu, arch.bescr);
549 DEFINE(VCPU_CSIGR, offsetof(struct kvm_vcpu, arch.csigr)); 534 OFFSET(VCPU_CSIGR, kvm_vcpu, arch.csigr);
550 DEFINE(VCPU_TACR, offsetof(struct kvm_vcpu, arch.tacr)); 535 OFFSET(VCPU_TACR, kvm_vcpu, arch.tacr);
551 DEFINE(VCPU_TCSCR, offsetof(struct kvm_vcpu, arch.tcscr)); 536 OFFSET(VCPU_TCSCR, kvm_vcpu, arch.tcscr);
552 DEFINE(VCPU_ACOP, offsetof(struct kvm_vcpu, arch.acop)); 537 OFFSET(VCPU_ACOP, kvm_vcpu, arch.acop);
553 DEFINE(VCPU_WORT, offsetof(struct kvm_vcpu, arch.wort)); 538 OFFSET(VCPU_WORT, kvm_vcpu, arch.wort);
554 DEFINE(VCPU_TID, offsetof(struct kvm_vcpu, arch.tid)); 539 OFFSET(VCPU_TID, kvm_vcpu, arch.tid);
555 DEFINE(VCPU_PSSCR, offsetof(struct kvm_vcpu, arch.psscr)); 540 OFFSET(VCPU_PSSCR, kvm_vcpu, arch.psscr);
556 DEFINE(VCORE_ENTRY_EXIT, offsetof(struct kvmppc_vcore, entry_exit_map)); 541 OFFSET(VCORE_ENTRY_EXIT, kvmppc_vcore, entry_exit_map);
557 DEFINE(VCORE_IN_GUEST, offsetof(struct kvmppc_vcore, in_guest)); 542 OFFSET(VCORE_IN_GUEST, kvmppc_vcore, in_guest);
558 DEFINE(VCORE_NAPPING_THREADS, offsetof(struct kvmppc_vcore, napping_threads)); 543 OFFSET(VCORE_NAPPING_THREADS, kvmppc_vcore, napping_threads);
559 DEFINE(VCORE_KVM, offsetof(struct kvmppc_vcore, kvm)); 544 OFFSET(VCORE_KVM, kvmppc_vcore, kvm);
560 DEFINE(VCORE_TB_OFFSET, offsetof(struct kvmppc_vcore, tb_offset)); 545 OFFSET(VCORE_TB_OFFSET, kvmppc_vcore, tb_offset);
561 DEFINE(VCORE_LPCR, offsetof(struct kvmppc_vcore, lpcr)); 546 OFFSET(VCORE_LPCR, kvmppc_vcore, lpcr);
562 DEFINE(VCORE_PCR, offsetof(struct kvmppc_vcore, pcr)); 547 OFFSET(VCORE_PCR, kvmppc_vcore, pcr);
563 DEFINE(VCORE_DPDES, offsetof(struct kvmppc_vcore, dpdes)); 548 OFFSET(VCORE_DPDES, kvmppc_vcore, dpdes);
564 DEFINE(VCORE_VTB, offsetof(struct kvmppc_vcore, vtb)); 549 OFFSET(VCORE_VTB, kvmppc_vcore, vtb);
565 DEFINE(VCPU_SLB_E, offsetof(struct kvmppc_slb, orige)); 550 OFFSET(VCPU_SLB_E, kvmppc_slb, orige);
566 DEFINE(VCPU_SLB_V, offsetof(struct kvmppc_slb, origv)); 551 OFFSET(VCPU_SLB_V, kvmppc_slb, origv);
567 DEFINE(VCPU_SLB_SIZE, sizeof(struct kvmppc_slb)); 552 DEFINE(VCPU_SLB_SIZE, sizeof(struct kvmppc_slb));
568#ifdef CONFIG_PPC_TRANSACTIONAL_MEM 553#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
569 DEFINE(VCPU_TFHAR, offsetof(struct kvm_vcpu, arch.tfhar)); 554 OFFSET(VCPU_TFHAR, kvm_vcpu, arch.tfhar);
570 DEFINE(VCPU_TFIAR, offsetof(struct kvm_vcpu, arch.tfiar)); 555 OFFSET(VCPU_TFIAR, kvm_vcpu, arch.tfiar);
571 DEFINE(VCPU_TEXASR, offsetof(struct kvm_vcpu, arch.texasr)); 556 OFFSET(VCPU_TEXASR, kvm_vcpu, arch.texasr);
572 DEFINE(VCPU_GPR_TM, offsetof(struct kvm_vcpu, arch.gpr_tm)); 557 OFFSET(VCPU_GPR_TM, kvm_vcpu, arch.gpr_tm);
573 DEFINE(VCPU_FPRS_TM, offsetof(struct kvm_vcpu, arch.fp_tm.fpr)); 558 OFFSET(VCPU_FPRS_TM, kvm_vcpu, arch.fp_tm.fpr);
574 DEFINE(VCPU_VRS_TM, offsetof(struct kvm_vcpu, arch.vr_tm.vr)); 559 OFFSET(VCPU_VRS_TM, kvm_vcpu, arch.vr_tm.vr);
575 DEFINE(VCPU_VRSAVE_TM, offsetof(struct kvm_vcpu, arch.vrsave_tm)); 560 OFFSET(VCPU_VRSAVE_TM, kvm_vcpu, arch.vrsave_tm);
576 DEFINE(VCPU_CR_TM, offsetof(struct kvm_vcpu, arch.cr_tm)); 561 OFFSET(VCPU_CR_TM, kvm_vcpu, arch.cr_tm);
577 DEFINE(VCPU_XER_TM, offsetof(struct kvm_vcpu, arch.xer_tm)); 562 OFFSET(VCPU_XER_TM, kvm_vcpu, arch.xer_tm);
578 DEFINE(VCPU_LR_TM, offsetof(struct kvm_vcpu, arch.lr_tm)); 563 OFFSET(VCPU_LR_TM, kvm_vcpu, arch.lr_tm);
579 DEFINE(VCPU_CTR_TM, offsetof(struct kvm_vcpu, arch.ctr_tm)); 564 OFFSET(VCPU_CTR_TM, kvm_vcpu, arch.ctr_tm);
580 DEFINE(VCPU_AMR_TM, offsetof(struct kvm_vcpu, arch.amr_tm)); 565 OFFSET(VCPU_AMR_TM, kvm_vcpu, arch.amr_tm);
581 DEFINE(VCPU_PPR_TM, offsetof(struct kvm_vcpu, arch.ppr_tm)); 566 OFFSET(VCPU_PPR_TM, kvm_vcpu, arch.ppr_tm);
582 DEFINE(VCPU_DSCR_TM, offsetof(struct kvm_vcpu, arch.dscr_tm)); 567 OFFSET(VCPU_DSCR_TM, kvm_vcpu, arch.dscr_tm);
583 DEFINE(VCPU_TAR_TM, offsetof(struct kvm_vcpu, arch.tar_tm)); 568 OFFSET(VCPU_TAR_TM, kvm_vcpu, arch.tar_tm);
584#endif 569#endif
585 570
586#ifdef CONFIG_PPC_BOOK3S_64 571#ifdef CONFIG_PPC_BOOK3S_64
587#ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE 572#ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE
588 DEFINE(PACA_SVCPU, offsetof(struct paca_struct, shadow_vcpu)); 573 OFFSET(PACA_SVCPU, paca_struct, shadow_vcpu);
589# define SVCPU_FIELD(x, f) DEFINE(x, offsetof(struct paca_struct, shadow_vcpu.f)) 574# define SVCPU_FIELD(x, f) DEFINE(x, offsetof(struct paca_struct, shadow_vcpu.f))
590#else 575#else
591# define SVCPU_FIELD(x, f) 576# define SVCPU_FIELD(x, f)
@@ -668,11 +653,11 @@ int main(void)
668 HSTATE_FIELD(HSTATE_DECEXP, dec_expires); 653 HSTATE_FIELD(HSTATE_DECEXP, dec_expires);
669 HSTATE_FIELD(HSTATE_SPLIT_MODE, kvm_split_mode); 654 HSTATE_FIELD(HSTATE_SPLIT_MODE, kvm_split_mode);
670 DEFINE(IPI_PRIORITY, IPI_PRIORITY); 655 DEFINE(IPI_PRIORITY, IPI_PRIORITY);
671 DEFINE(KVM_SPLIT_RPR, offsetof(struct kvm_split_mode, rpr)); 656 OFFSET(KVM_SPLIT_RPR, kvm_split_mode, rpr);
672 DEFINE(KVM_SPLIT_PMMAR, offsetof(struct kvm_split_mode, pmmar)); 657 OFFSET(KVM_SPLIT_PMMAR, kvm_split_mode, pmmar);
673 DEFINE(KVM_SPLIT_LDBAR, offsetof(struct kvm_split_mode, ldbar)); 658 OFFSET(KVM_SPLIT_LDBAR, kvm_split_mode, ldbar);
674 DEFINE(KVM_SPLIT_DO_NAP, offsetof(struct kvm_split_mode, do_nap)); 659 OFFSET(KVM_SPLIT_DO_NAP, kvm_split_mode, do_nap);
675 DEFINE(KVM_SPLIT_NAPPED, offsetof(struct kvm_split_mode, napped)); 660 OFFSET(KVM_SPLIT_NAPPED, kvm_split_mode, napped);
676#endif /* CONFIG_KVM_BOOK3S_HV_POSSIBLE */ 661#endif /* CONFIG_KVM_BOOK3S_HV_POSSIBLE */
677 662
678#ifdef CONFIG_PPC_BOOK3S_64 663#ifdef CONFIG_PPC_BOOK3S_64
@@ -682,32 +667,27 @@ int main(void)
682#endif /* CONFIG_PPC_BOOK3S_64 */ 667#endif /* CONFIG_PPC_BOOK3S_64 */
683 668
684#else /* CONFIG_PPC_BOOK3S */ 669#else /* CONFIG_PPC_BOOK3S */
685 DEFINE(VCPU_CR, offsetof(struct kvm_vcpu, arch.cr)); 670 OFFSET(VCPU_CR, kvm_vcpu, arch.cr);
686 DEFINE(VCPU_XER, offsetof(struct kvm_vcpu, arch.xer)); 671 OFFSET(VCPU_XER, kvm_vcpu, arch.xer);
687 DEFINE(VCPU_LR, offsetof(struct kvm_vcpu, arch.lr)); 672 OFFSET(VCPU_LR, kvm_vcpu, arch.lr);
688 DEFINE(VCPU_CTR, offsetof(struct kvm_vcpu, arch.ctr)); 673 OFFSET(VCPU_CTR, kvm_vcpu, arch.ctr);
689 DEFINE(VCPU_PC, offsetof(struct kvm_vcpu, arch.pc)); 674 OFFSET(VCPU_PC, kvm_vcpu, arch.pc);
690 DEFINE(VCPU_SPRG9, offsetof(struct kvm_vcpu, arch.sprg9)); 675 OFFSET(VCPU_SPRG9, kvm_vcpu, arch.sprg9);
691 DEFINE(VCPU_LAST_INST, offsetof(struct kvm_vcpu, arch.last_inst)); 676 OFFSET(VCPU_LAST_INST, kvm_vcpu, arch.last_inst);
692 DEFINE(VCPU_FAULT_DEAR, offsetof(struct kvm_vcpu, arch.fault_dear)); 677 OFFSET(VCPU_FAULT_DEAR, kvm_vcpu, arch.fault_dear);
693 DEFINE(VCPU_FAULT_ESR, offsetof(struct kvm_vcpu, arch.fault_esr)); 678 OFFSET(VCPU_FAULT_ESR, kvm_vcpu, arch.fault_esr);
694 DEFINE(VCPU_CRIT_SAVE, offsetof(struct kvm_vcpu, arch.crit_save)); 679 OFFSET(VCPU_CRIT_SAVE, kvm_vcpu, arch.crit_save);
695#endif /* CONFIG_PPC_BOOK3S */ 680#endif /* CONFIG_PPC_BOOK3S */
696#endif /* CONFIG_KVM */ 681#endif /* CONFIG_KVM */
697 682
698#ifdef CONFIG_KVM_GUEST 683#ifdef CONFIG_KVM_GUEST
699 DEFINE(KVM_MAGIC_SCRATCH1, offsetof(struct kvm_vcpu_arch_shared, 684 OFFSET(KVM_MAGIC_SCRATCH1, kvm_vcpu_arch_shared, scratch1);
700 scratch1)); 685 OFFSET(KVM_MAGIC_SCRATCH2, kvm_vcpu_arch_shared, scratch2);
701 DEFINE(KVM_MAGIC_SCRATCH2, offsetof(struct kvm_vcpu_arch_shared, 686 OFFSET(KVM_MAGIC_SCRATCH3, kvm_vcpu_arch_shared, scratch3);
702 scratch2)); 687 OFFSET(KVM_MAGIC_INT, kvm_vcpu_arch_shared, int_pending);
703 DEFINE(KVM_MAGIC_SCRATCH3, offsetof(struct kvm_vcpu_arch_shared, 688 OFFSET(KVM_MAGIC_MSR, kvm_vcpu_arch_shared, msr);
704 scratch3)); 689 OFFSET(KVM_MAGIC_CRITICAL, kvm_vcpu_arch_shared, critical);
705 DEFINE(KVM_MAGIC_INT, offsetof(struct kvm_vcpu_arch_shared, 690 OFFSET(KVM_MAGIC_SR, kvm_vcpu_arch_shared, sr);
706 int_pending));
707 DEFINE(KVM_MAGIC_MSR, offsetof(struct kvm_vcpu_arch_shared, msr));
708 DEFINE(KVM_MAGIC_CRITICAL, offsetof(struct kvm_vcpu_arch_shared,
709 critical));
710 DEFINE(KVM_MAGIC_SR, offsetof(struct kvm_vcpu_arch_shared, sr));
711#endif 691#endif
712 692
713#ifdef CONFIG_44x 693#ifdef CONFIG_44x
@@ -716,45 +696,37 @@ int main(void)
716#endif 696#endif
717#ifdef CONFIG_PPC_FSL_BOOK3E 697#ifdef CONFIG_PPC_FSL_BOOK3E
718 DEFINE(TLBCAM_SIZE, sizeof(struct tlbcam)); 698 DEFINE(TLBCAM_SIZE, sizeof(struct tlbcam));
719 DEFINE(TLBCAM_MAS0, offsetof(struct tlbcam, MAS0)); 699 OFFSET(TLBCAM_MAS0, tlbcam, MAS0);
720 DEFINE(TLBCAM_MAS1, offsetof(struct tlbcam, MAS1)); 700 OFFSET(TLBCAM_MAS1, tlbcam, MAS1);
721 DEFINE(TLBCAM_MAS2, offsetof(struct tlbcam, MAS2)); 701 OFFSET(TLBCAM_MAS2, tlbcam, MAS2);
722 DEFINE(TLBCAM_MAS3, offsetof(struct tlbcam, MAS3)); 702 OFFSET(TLBCAM_MAS3, tlbcam, MAS3);
723 DEFINE(TLBCAM_MAS7, offsetof(struct tlbcam, MAS7)); 703 OFFSET(TLBCAM_MAS7, tlbcam, MAS7);
724#endif 704#endif
725 705
726#if defined(CONFIG_KVM) && defined(CONFIG_SPE) 706#if defined(CONFIG_KVM) && defined(CONFIG_SPE)
727 DEFINE(VCPU_EVR, offsetof(struct kvm_vcpu, arch.evr[0])); 707 OFFSET(VCPU_EVR, kvm_vcpu, arch.evr[0]);
728 DEFINE(VCPU_ACC, offsetof(struct kvm_vcpu, arch.acc)); 708 OFFSET(VCPU_ACC, kvm_vcpu, arch.acc);
729 DEFINE(VCPU_SPEFSCR, offsetof(struct kvm_vcpu, arch.spefscr)); 709 OFFSET(VCPU_SPEFSCR, kvm_vcpu, arch.spefscr);
730 DEFINE(VCPU_HOST_SPEFSCR, offsetof(struct kvm_vcpu, arch.host_spefscr)); 710 OFFSET(VCPU_HOST_SPEFSCR, kvm_vcpu, arch.host_spefscr);
731#endif 711#endif
732 712
733#ifdef CONFIG_KVM_BOOKE_HV 713#ifdef CONFIG_KVM_BOOKE_HV
734 DEFINE(VCPU_HOST_MAS4, offsetof(struct kvm_vcpu, arch.host_mas4)); 714 OFFSET(VCPU_HOST_MAS4, kvm_vcpu, arch.host_mas4);
735 DEFINE(VCPU_HOST_MAS6, offsetof(struct kvm_vcpu, arch.host_mas6)); 715 OFFSET(VCPU_HOST_MAS6, kvm_vcpu, arch.host_mas6);
736#endif 716#endif
737 717
738#ifdef CONFIG_KVM_EXIT_TIMING 718#ifdef CONFIG_KVM_EXIT_TIMING
739 DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, 719 OFFSET(VCPU_TIMING_EXIT_TBU, kvm_vcpu, arch.timing_exit.tv32.tbu);
740 arch.timing_exit.tv32.tbu)); 720 OFFSET(VCPU_TIMING_EXIT_TBL, kvm_vcpu, arch.timing_exit.tv32.tbl);
741 DEFINE(VCPU_TIMING_EXIT_TBL, offsetof(struct kvm_vcpu, 721 OFFSET(VCPU_TIMING_LAST_ENTER_TBU, kvm_vcpu, arch.timing_last_enter.tv32.tbu);
742 arch.timing_exit.tv32.tbl)); 722 OFFSET(VCPU_TIMING_LAST_ENTER_TBL, kvm_vcpu, arch.timing_last_enter.tv32.tbl);
743 DEFINE(VCPU_TIMING_LAST_ENTER_TBU, offsetof(struct kvm_vcpu,
744 arch.timing_last_enter.tv32.tbu));
745 DEFINE(VCPU_TIMING_LAST_ENTER_TBL, offsetof(struct kvm_vcpu,
746 arch.timing_last_enter.tv32.tbl));
747#endif 723#endif
748 724
749#ifdef CONFIG_PPC_POWERNV 725#ifdef CONFIG_PPC_POWERNV
750 DEFINE(PACA_CORE_IDLE_STATE_PTR, 726 OFFSET(PACA_CORE_IDLE_STATE_PTR, paca_struct, core_idle_state_ptr);
751 offsetof(struct paca_struct, core_idle_state_ptr)); 727 OFFSET(PACA_THREAD_IDLE_STATE, paca_struct, thread_idle_state);
752 DEFINE(PACA_THREAD_IDLE_STATE, 728 OFFSET(PACA_THREAD_MASK, paca_struct, thread_mask);
753 offsetof(struct paca_struct, thread_idle_state)); 729 OFFSET(PACA_SUBCORE_SIBLING_MASK, paca_struct, subcore_sibling_mask);
754 DEFINE(PACA_THREAD_MASK,
755 offsetof(struct paca_struct, thread_mask));
756 DEFINE(PACA_SUBCORE_SIBLING_MASK,
757 offsetof(struct paca_struct, subcore_sibling_mask));
758#endif 730#endif
759 731
760 DEFINE(PPC_DBELL_SERVER, PPC_DBELL_SERVER); 732 DEFINE(PPC_DBELL_SERVER, PPC_DBELL_SERVER);