pcpup
struct pcpu *pcpup = &__pcpu[0];
pcpu_init(pcpup, 0, sizeof(struct pcpu));
pcpup->pc_mpidr = cp15_mpidr_get() & 0xFFFFFF;
pcpup->pc_curpcb = thread0.td_pcb;
extern struct pcpu *pcpup;
#define get_pcpu() (pcpup)
(pcpup + (id & CPU_MASK)); \
struct pcpu *pcpup;
pcpup = cpuid_to_pcpu[0];
MPASS(pcpup != NULL);
pcpup->pc_curpcb = thread0.td_pcb;
struct pcpu *pcpup;
pcpup = &pcpu0;
pcpu_init(pcpup, 0, sizeof(struct pcpu));
"msr tpidr_el1, %0" :: "r"(pcpup));
struct pcpu *pcpup;
pcpup = cpuid_to_pcpu[cpu];
pcpup->pc_midr = get_midr();
pcpup->pc_curthread = pcpup->pc_idlethread;
pcpup->pc_curpmap = pmap0;
struct pcpu *pcpup;
size = round_page(sizeof(*pcpup) + DPCPU_SIZE);
pcpup = kmem_malloc_domainset(DOMAINSET_PREF(domain), size,
pmap_disable_promotion((vm_offset_t)pcpup, size);
pcpu_init(pcpup, cpuid, sizeof(struct pcpu));
pcpup->pc_mpidr = target_cpu & CPU_AFF_MASK;
bootpcpu = pcpup;
pcpup->pc_release_addr = release_addr;
dpcpu[cpuid - 1] = (void *)(pcpup + 1);
pcpu_destroy(pcpup);
kmem_free(pcpup, size);
ap_pcpu = pcpup;
pcpup->pc_aim.slb[i].slbv = 0;
pcpup->pc_aim.slb[i].slbe = 0;
pcpup->pc_curthread = pcpup->pc_idlethread;
__asm __volatile("mr 13,%0" :: "r"(pcpup->pc_curthread));
__asm __volatile("mr 2,%0" :: "r"(pcpup->pc_curthread));
pcpup->pc_curpcb = pcpup->pc_curthread->td_pcb;
sp = pcpup->pc_curpcb->pcb_sp;
pcpup->pc_curthread = pcpup->pc_idlethread;
__asm __volatile("mr 13,%0" :: "r"(pcpup->pc_curthread));
__asm __volatile("mr 2,%0" :: "r"(pcpup->pc_curthread));
pcpup->pc_curpcb = pcpup->pc_curthread->td_pcb;
sp = pcpup->pc_curpcb->pcb_sp;
if (pc != pcpup) {
if (pc != pcpup) {
#define PCPU_GET(member) (pcpup->pc_ ## member)
#define PCPU_ADD(member, value) (pcpup->pc_ ## member += (value))
#define PCPU_PTR(member) (&pcpup->pc_ ## member)
#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value))
pc = pcpup;
ipimask = atomic_readandclear_32(&(pcpup->pc_ipimask));
if (pc != pcpup)
struct pcpu *pcpup;
pcpup = &__pcpu[0];
pcpup->pc_curpcb = thread0.td_pcb;
struct pcpu *pcpup;
pcpup = &__pcpu[0];
pcpu_init(pcpup, 0, sizeof(struct pcpu));
__asm __volatile("mv tp, %0" :: "r"(pcpup));
struct pcpu *pcpup;
pcpup = &__pcpu[cpuid];
__asm __volatile("mv tp, %0" :: "r"(pcpup));
pcpup->pc_curthread = pcpup->pc_idlethread;
struct pcpu *pcpup;
pcpup = &__pcpu[cpuid];
pcpu_init(pcpup, cpuid, sizeof(struct pcpu));
pcpup->pc_hart = hart;