paca_struct
: "i" (offsetof(struct paca_struct, __current)));
: "i" (offsetof(struct paca_struct, irq_soft_mask)));
"i" (offsetof(struct paca_struct, irq_soft_mask))
extern struct paca_struct **paca_ptrs;
extern void initialise_paca(struct paca_struct *new_paca, int cpu);
extern void setup_paca(struct paca_struct *new_paca);
register struct paca_struct *local_paca asm("r13");
OFFSET(PACATMSCRATCH, paca_struct, tm_scratch);
OFFSET(PACAPACAINDEX, paca_struct, paca_index);
OFFSET(PACAPROCSTART, paca_struct, cpu_start);
OFFSET(PACAKSAVE, paca_struct, kstack);
OFFSET(PACACURRENT, paca_struct, __current);
DEFINE(PACA_THREAD_INFO, offsetof(struct paca_struct, __current) +
OFFSET(PACASAVEDMSR, paca_struct, saved_msr);
OFFSET(PACAR1, paca_struct, saved_r1);
OFFSET(PACATOC, paca_struct, kernel_toc);
OFFSET(PACAKBASE, paca_struct, kernelbase);
OFFSET(PACAKMSR, paca_struct, kernel_msr);
OFFSET(PACAHSRR_VALID, paca_struct, hsrr_valid);
OFFSET(PACASRR_VALID, paca_struct, srr_valid);
OFFSET(PACAIRQSOFTMASK, paca_struct, irq_soft_mask);
OFFSET(PACAIRQHAPPENED, paca_struct, irq_happened);
OFFSET(PACA_FTRACE_ENABLED, paca_struct, ftrace_enabled);
OFFSET(PACAPGD, paca_struct, pgd);
OFFSET(PACA_KERNELPGD, paca_struct, kernel_pgd);
OFFSET(PACA_EXGEN, paca_struct, exgen);
OFFSET(PACA_EXTLB, paca_struct, extlb);
OFFSET(PACA_EXMC, paca_struct, exmc);
OFFSET(PACA_EXCRIT, paca_struct, excrit);
OFFSET(PACA_EXDBG, paca_struct, exdbg);
OFFSET(PACA_MC_STACK, paca_struct, mc_kstack);
OFFSET(PACA_CRIT_STACK, paca_struct, crit_kstack);
OFFSET(PACA_DBG_STACK, paca_struct, dbg_kstack);
OFFSET(PACA_TCD_PTR, paca_struct, tcd_ptr);
OFFSET(PACA_EXGEN, paca_struct, exgen);
OFFSET(PACA_EXMC, paca_struct, exmc);
OFFSET(PACA_EXNMI, paca_struct, exnmi);
OFFSET(PACA_SLBSHADOWPTR, paca_struct, slb_shadow_ptr);
OFFSET(PACA_PMCINUSE, paca_struct, pmcregs_in_use);
OFFSET(PACAEMERGSP, paca_struct, emergency_sp);
OFFSET(PACAMCEMERGSP, paca_struct, mc_emergency_sp);
OFFSET(PACA_NMI_EMERG_SP, paca_struct, nmi_emergency_sp);
OFFSET(PACA_IN_MCE, paca_struct, in_mce);
OFFSET(PACA_IN_NMI, paca_struct, in_nmi);
OFFSET(PACA_RFI_FLUSH_FALLBACK_AREA, paca_struct, rfi_flush_fallback_area);
OFFSET(PACA_EXRFI, paca_struct, exrfi);
OFFSET(PACA_L1D_FLUSH_SIZE, paca_struct, l1d_flush_size);
OFFSET(PACAHWCPUID, paca_struct, hw_cpu_id);
OFFSET(PACAKEXECSTATE, paca_struct, kexec_state);
OFFSET(PACA_DSCR_DEFAULT, paca_struct, dscr_default);
OFFSET(PACA_EXIT_SAVE_R1, paca_struct, exit_save_r1);
OFFSET(PACA_TRAP_SAVE, paca_struct, trap_save);
OFFSET(PACA_SPRG_VDSO, paca_struct, sprg_vdso);
OFFSET(PACA_SVCPU, paca_struct, shadow_vcpu);
# define SVCPU_FIELD(x, f) DEFINE(x, offsetof(struct paca_struct, shadow_vcpu.f))
# define HSTATE_FIELD(x, f) DEFINE(x, offsetof(struct paca_struct, kvm_hstate.f))
OFFSET(PACA_CANARY, paca_struct, canary);
: : "i" (offsetof(struct paca_struct, irq_happened)),
"i" (offsetof(struct paca_struct, irq_soft_mask))
PPC_RAW_LD(_R12, _R13, offsetof(struct paca_struct, kernelbase)),
PPC_RAW_LD(_R12, _R13, offsetof(struct paca_struct, kernel_toc)),
struct paca_struct **paca_ptrs __read_mostly;
void __init initialise_paca(struct paca_struct *new_paca, int cpu)
void setup_paca(struct paca_struct *new_paca)
paca_ptrs_size = sizeof(struct paca_struct *) * nr_cpu_ids;
struct paca_struct *paca;
paca = alloc_paca_data(sizeof(struct paca_struct), L1_CACHE_BYTES,
paca_struct_size += sizeof(struct paca_struct);
new_ptrs_size = sizeof(struct paca_struct *) * nr_cpu_ids;
struct paca_struct *paca = paca_ptrs[cpu];
static void __init fixup_boot_paca(struct paca_struct *boot_paca)
static __initdata struct paca_struct boot_paca;
struct paca_struct *p;
: "i" (offsetof(struct paca_struct, irq_work_pending)));
"i" (offsetof(struct paca_struct, irq_work_pending)));
"i" (offsetof(struct paca_struct, irq_work_pending)));
PPC_RAW_LD(_R12, _R13, offsetof(struct paca_struct, kernel_toc)),
#define PACATOC offsetof(struct paca_struct, kernel_toc)
static struct paca_struct kexec_paca;
memcpy(&kexec_paca, get_paca(), sizeof(struct paca_struct));
struct paca_struct *tpaca;
struct paca_struct *tpaca;
struct paca_struct *tpaca;
struct paca_struct *paca = paca_ptrs[pcpu + thr];
struct paca_struct *paca = get_paca();
struct paca_struct *paca = get_paca();
struct paca_struct *paca = get_paca();
EMIT(PPC_RAW_LD(_R2, _R13, offsetof(struct paca_struct, kernel_toc)))
EMIT(PPC_RAW_LD(tmp1_reg, _R13, offsetof(struct paca_struct, data_offset)));
EMIT(PPC_RAW_LHZ(src_reg, _R13, offsetof(struct paca_struct, paca_index)));
EMIT(PPC_RAW_LD(src_reg, _R13, offsetof(struct paca_struct, __current)));
EMIT(PPC_RAW_LD(_R2, _R13, offsetof(struct paca_struct, kernel_toc)));
EMIT(PPC_RAW_LD(_R12, _R13, offsetof(struct paca_struct, kernelbase)));
EMIT(PPC_RAW_LD(_R2, _R13, offsetof(struct paca_struct, kernel_toc)));
struct paca_struct *p = paca_ptrs[cpu];
struct paca_struct *pp;
struct paca_struct *pp;
struct paca_struct *pp;
struct paca_struct *p;
offsetof(struct paca_struct, name));