Lines Matching refs:percpu
134 struct x86_percpu* const percpu = in x86_init_percpu() local
136 DEBUG_ASSERT(percpu->cpu_num == cpu_num); in x86_init_percpu()
137 DEBUG_ASSERT(percpu->direct == percpu); in x86_init_percpu()
141 DEBUG_ASSERT(read_msr(X86_MSR_IA32_GS_BASE) == (uintptr_t)percpu); in x86_init_percpu()
243 struct x86_percpu* percpu = x86_get_percpu(); in x86_set_local_apic_id() local
244 DEBUG_ASSERT(percpu->cpu_num == 0); in x86_set_local_apic_id()
245 percpu->apic_id = apic_id; in x86_set_local_apic_id()
269 struct x86_percpu* percpu = cpu_id ? &ap_percpus[cpu_id - 1] : &bp_percpu; in arch_mp_reschedule() local
277 uint8_t old_val = *percpu->monitor; in arch_mp_reschedule()
278 *percpu->monitor = 0; in arch_mp_reschedule()
301 struct x86_percpu* percpu = x86_get_percpu(); in arch_idle_thread_routine() local
303 while (*percpu->monitor) { in arch_idle_thread_routine()
304 x86_monitor(percpu->monitor); in arch_idle_thread_routine()
308 if (*percpu->monitor) { in arch_idle_thread_routine()
354 struct x86_percpu* percpu; in arch_mp_send_ipi() local
356 percpu = &bp_percpu; in arch_mp_send_ipi()
358 percpu = &ap_percpus[cpu_id - 1]; in arch_mp_send_ipi()
363 DEBUG_ASSERT(percpu->apic_id != INVALID_APIC_ID); in arch_mp_send_ipi()
366 if (percpu->apic_id != INVALID_APIC_ID) { in arch_mp_send_ipi()
367 apic_send_ipi(vector, (uint8_t)percpu->apic_id, DELIVERY_MODE_FIXED); in arch_mp_send_ipi()
440 struct x86_percpu* percpu = &ap_percpus[cpu_id - 1]; in arch_mp_cpu_hotplug() local
441 DEBUG_ASSERT(percpu->apic_id != INVALID_APIC_ID); in arch_mp_cpu_hotplug()
442 return x86_bringup_aps(&percpu->apic_id, 1); in arch_mp_cpu_hotplug()