paca.h (f594d0b9b34aeb8e3ffa524eaa8a4085afb56d22) paca.h (7c379526d7e71d2041c8ca0bd9af4888916a14b9)
1/*
2 * This control block defines the PACA which defines the processor
3 * specific data for each logical processor on the system.
4 * There are some pointers defined that are utilized by PLIC.
5 *
6 * C 2001 PPC 64 Team, IBM Corp
7 *
8 * This program is free software; you can redistribute it and/or

--- 169 unchanged lines hidden (view full) ---

178 /* Exclusive emergency stack pointer for machine check exception. */
179 void *mc_emergency_sp;
180 /*
181 * Flag to check whether we are in machine check early handler
182 * and already using emergency stack.
183 */
184 u16 in_mce;
185 u8 hmi_event_available; /* HMI event is available */
1/*
2 * This control block defines the PACA which defines the processor
3 * specific data for each logical processor on the system.
4 * There are some pointers defined that are utilized by PLIC.
5 *
6 * C 2001 PPC 64 Team, IBM Corp
7 *
8 * This program is free software; you can redistribute it and/or

--- 169 unchanged lines hidden (view full) ---

178 /* Exclusive emergency stack pointer for machine check exception. */
179 void *mc_emergency_sp;
180 /*
181 * Flag to check whether we are in machine check early handler
182 * and already using emergency stack.
183 */
184 u16 in_mce;
185 u8 hmi_event_available; /* HMI event is available */
186 /*
187 * Bitmap for sibling subcore status. See kvm/book3s_hv_ras.c for
188 * more details
189 */
190 struct sibling_subcore_state *sibling_subcore_state;
191#endif
192
193 /* Stuff for accurate time accounting */
194 struct cpu_accounting_data accounting;
195 u64 stolen_time; /* TB ticks taken by hypervisor */
196 u64 dtl_ridx; /* read index in dispatch log */
197 struct dtl_entry *dtl_curr; /* pointer corresponding to dtl_ridx */
198
199#ifdef CONFIG_KVM_BOOK3S_HANDLER
200#ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE
201 /* We use this to store guest state in */
202 struct kvmppc_book3s_shadow_vcpu shadow_vcpu;
203#endif
204 struct kvmppc_host_state kvm_hstate;
186#endif
187
188 /* Stuff for accurate time accounting */
189 struct cpu_accounting_data accounting;
190 u64 stolen_time; /* TB ticks taken by hypervisor */
191 u64 dtl_ridx; /* read index in dispatch log */
192 struct dtl_entry *dtl_curr; /* pointer corresponding to dtl_ridx */
193
194#ifdef CONFIG_KVM_BOOK3S_HANDLER
195#ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE
196 /* We use this to store guest state in */
197 struct kvmppc_book3s_shadow_vcpu shadow_vcpu;
198#endif
199 struct kvmppc_host_state kvm_hstate;
200#ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
201 /*
202 * Bitmap for sibling subcore status. See kvm/book3s_hv_ras.c for
203 * more details
204 */
205 struct sibling_subcore_state *sibling_subcore_state;
205#endif
206#endif
207#endif
206};
207
208#ifdef CONFIG_PPC_BOOK3S
209static inline void copy_mm_to_paca(mm_context_t *context)
210{
211 get_paca()->mm_ctx_id = context->id;
212#ifdef CONFIG_PPC_MM_SLICES
213 get_paca()->mm_ctx_low_slices_psize = context->low_slices_psize;

--- 26 unchanged lines hidden ---
208};
209
210#ifdef CONFIG_PPC_BOOK3S
211static inline void copy_mm_to_paca(mm_context_t *context)
212{
213 get_paca()->mm_ctx_id = context->id;
214#ifdef CONFIG_PPC_MM_SLICES
215 get_paca()->mm_ctx_low_slices_psize = context->low_slices_psize;

--- 26 unchanged lines hidden ---