cpu_info_primary
ci = &cpu_info_primary;
ci = &cpu_info_primary;
struct cpu_info cpu_info_primary = { .ci_flags = CPUF_PRIMARY };
struct cpu_info *cpu_info_list = &cpu_info_primary;
alpha_pal_wrval((u_long)&cpu_info_primary);
cpu_info[cpu_id] = &cpu_info_primary;
extern struct cpu_info cpu_info_primary;
#define curcpu() (&cpu_info_primary)
cpu_init_msrs(&cpu_info_primary);
cpu_fix_msrs(&cpu_info_primary);
cpu_ucode_apply(&cpu_info_primary);
cpu_tsx_disable(&cpu_info_primary);
fpuinit(&cpu_info_primary);
cpu_init(&cpu_info_primary);
struct cpu_info *ci = &cpu_info_primary;
struct cpu_info *ci = &cpu_info_primary;
} else if (cpu_info_primary.ci_vmm_cap.vcc_vmx.vmx_has_l1_flush_msr == 1) {
.ci_self = &cpu_info_primary,
struct cpu_info *cpu_info_list = &cpu_info_primary;
struct cpu_info *cpu_info[MAXCPUS] = { &cpu_info_primary };
memcpy(ci->ci_gdt, cpu_info_primary.ci_gdt, GDT_SIZE);
ci = &cpu_info_primary;
struct cpu_info *ci = &cpu_info_primary;
static struct cpu_info *prevci = &cpu_info_primary;
ci = &cpu_info_primary;
ci = &cpu_info_primary;
cpu_set_vendor(&cpu_info_primary, cpuid_level, cpu_vendor);
cpu_init_msrs(&cpu_info_primary);
cpu_info_primary.ci_curpcb = &proc0.p_addr->u_pcb;
cpu_info_primary.ci_tss = &cpu_info_full_primary.cif_tss;
cpu_info_primary.ci_gdt = &cpu_info_full_primary.cif_gdt;
set_mem_segment(GDT_ADDR_MEM(cpu_info_primary.ci_gdt, GCODE_SEL), 0,
set_mem_segment(GDT_ADDR_MEM(cpu_info_primary.ci_gdt, GDATA_SEL), 0,
set_mem_segment(GDT_ADDR_MEM(cpu_info_primary.ci_gdt, GUDATA_SEL), 0,
set_mem_segment(GDT_ADDR_MEM(cpu_info_primary.ci_gdt, GUCODE_SEL), 0,
set_sys_segment(GDT_ADDR_SYS(cpu_info_primary.ci_gdt, GPROC0_SEL),
cpu_info_primary.ci_tss, sizeof (struct x86_64_tss)-1,
setregion(®ion, cpu_info_primary.ci_gdt, GDT_SIZE - 1);
fpuinit(&cpu_info_primary);
cpu_ucode_apply(&cpu_info_primary);
cpu_tsx_disable(&cpu_info_primary);
cpu_info_primary.ci_curpcb = pcb = &proc0.p_addr->u_pcb;
if ((cpu_info_primary.ci_flags & CPUF_PRESENT) == 0) {
setperf_setup(&cpu_info_primary);
struct cpu_info *ci = &cpu_info_primary;
struct cpu_info *ci = &cpu_info_primary;
#define curcpu() (&cpu_info_primary)
CTASSERT(&cpu_info_primary - &cpu_info_full_primary.cif_cpu == 0);
struct cpu_info cpu_info_primary;
struct cpu_info *cpu_info_list = &cpu_info_primary;
struct cpu_info *cpu_info[MAXCPUS] = { &cpu_info_primary };
ci = &cpu_info_primary;
ci = &cpu_info_primary;
ci = &cpu_info_primary;
extern struct cpu_info cpu_info_primary;
#define CPU_IS_PRIMARY(ci) ((ci) == &cpu_info_primary)
ci = &cpu_info_primary;
ci = &cpu_info_primary;
struct cpu_info *cpu_info_list = &cpu_info_primary;
"msr tpidr_el1, %0" :: "r"(&cpu_info_primary));
struct cpu_info cpu_info_primary;
struct cpu_info *cpu_info[MAXCPUS] = { &cpu_info_primary };
ci = &cpu_info_primary;
ci = &cpu_info_primary;
ci = &cpu_info_primary;
ci = &cpu_info_primary;
extern struct cpu_info cpu_info_primary;
#define CPU_IS_PRIMARY(ci) ((ci) == &cpu_info_primary)
ci = &cpu_info_primary;
ci = &cpu_info_primary;
ci = &cpu_info_primary;
npxinit(&cpu_info_primary);
cpu_init(&cpu_info_primary);
cpu_ucode_apply(&cpu_info_primary);
cpu_tsx_disable(&cpu_info_primary);
.ci_self = &cpu_info_primary,
struct cpu_info *cpu_info_list = &cpu_info_primary;
struct cpu_info *cpu_info[MAXCPUS] = { &cpu_info_primary };
ci = &cpu_info_primary;
struct segment_descriptor *sd = &cpu_info_primary.ci_gdt[sel].sd;
if (ci->ci_gdt != NULL && ci != &cpu_info_primary)
struct cpu_info *ci = &cpu_info_primary;
bcopy(cpu_info_primary.ci_gdt, ci->ci_gdt, GDT_SIZE);
cpu_info_primary.ci_self = &cpu_info_primary;
cpu_info_primary.ci_curpcb = &proc0.p_addr->u_pcb;
cpu_info_primary.ci_tss = &cpu_info_full_primary.cif_tss;
cpu_info_primary.ci_nmi_tss = &cpu_info_full_primary.cif_nmi_tss;
cpu_info_primary.ci_gdt = (void *)&cpu_info_full_primary.cif_gdt;
setsegment(&cpu_info_primary.ci_gdt[GCODE_SEL].sd, 0, 0xfffff,
setsegment(&cpu_info_primary.ci_gdt[GICODE_SEL].sd, 0, 0xfffff,
setsegment(&cpu_info_primary.ci_gdt[GDATA_SEL].sd, 0, 0xfffff,
setsegment(&cpu_info_primary.ci_gdt[GUCODE_SEL].sd, 0,
setsegment(&cpu_info_primary.ci_gdt[GUDATA_SEL].sd, 0,
setsegment(&cpu_info_primary.ci_gdt[GCPU_SEL].sd, &cpu_info_primary,
setsegment(&cpu_info_primary.ci_gdt[GUFS_SEL].sd, 0,
setsegment(&cpu_info_primary.ci_gdt[GUGS_SEL].sd, 0,
setsegment(&cpu_info_primary.ci_gdt[GTSS_SEL].sd,
cpu_info_primary.ci_tss, sizeof(struct i386tss)-1,
setsegment(&cpu_info_primary.ci_gdt[GNMITSS_SEL].sd,
cpu_info_primary.ci_nmi_tss, sizeof(struct i386tss)-1,
setregion(®ion, cpu_info_primary.ci_gdt, GDT_SIZE - 1);
if ((cpu_info_primary.ci_flags & CPUF_PRESENT) == 0) {
setperf_setup(&cpu_info_primary);
cpusensors_setup(&cpu_info_primary);
#define curcpu() (&cpu_info_primary)
CTASSERT(&cpu_info_primary - &cpu_info_full_primary.cif_cpu == 0);
npxinit(&cpu_info_primary);
if (ci != NULL && ci != &cpu_info_primary)
addr = 0xfee00000UL | (cpu_info_primary.ci_apicid << 12);
setcurcpu(&cpu_info_primary);
LA ci, cpu_info_primary
extern struct cpu_info cpu_info_primary;
#define curcpu() (&cpu_info_primary)
#define get_cpu_info(i) (&cpu_info_primary)
ci = &cpu_info_primary;
ci->ci_l1inst = cpu_info_primary.ci_l1inst;
ci->ci_l1data = cpu_info_primary.ci_l1data;
ci->ci_l2 = cpu_info_primary.ci_l2;
ci->ci_l3 = cpu_info_primary.ci_l3;
struct cpu_info cpu_info_primary = { .ci_flags = CPUF_PRIMARY };
struct cpu_info *cpu_info_list = &cpu_info_primary;
ci = &cpu_info_primary;
setcurcpu(&cpu_info_primary);
ci = cpu_info_primary;
ci = cpu_info_primary;
extern struct cpu_info *cpu_info_primary;
#define CPU_IS_PRIMARY(ci) ((ci) == cpu_info_primary)
struct cpu_info *cpu_info_primary = &cpu_info[0];
__asm volatile ("mtsprg0 %0" :: "r"(cpu_info_primary));
ci = &cpu_info_primary;
extern struct cpu_info cpu_info_primary;
#define CPU_IS_PRIMARY(ci) ((ci) == &cpu_info_primary)
ci = &cpu_info_primary;
ci = &cpu_info_primary;
struct cpu_info *cpu_info_list = &cpu_info_primary;
__asm volatile("mv tp, %0" :: "r"(&cpu_info_primary));
struct cpu_info cpu_info_primary;
struct cpu_info *cpu_info[MAXCPUS] = { &cpu_info_primary };
sched_peg_curproc(&cpu_info_primary);
sc = (struct acpicpu_softc *)cpu_info_primary.ci_acpicpudev;
sc = (struct acpicpu_softc *)cpu_info_primary.ci_acpicpudev;
sc = (struct acpicpu_softc *)cpu_info_primary.ci_acpicpudev;
struct cpu_info *ci = &cpu_info_primary;