Lines Matching refs:percpu
98 struct x86_percpu* const percpu =
100 DEBUG_ASSERT(percpu->cpu_num == cpu_num);
101 DEBUG_ASSERT(percpu->direct == percpu);
105 DEBUG_ASSERT(read_msr(X86_MSR_IA32_GS_BASE) == (uintptr_t)percpu);
207 struct x86_percpu* percpu = x86_get_percpu();
208 DEBUG_ASSERT(percpu->cpu_num == 0);
209 percpu->apic_id = apic_id;
233 struct x86_percpu* percpu = cpu_id ? &ap_percpus[cpu_id - 1] : &bp_percpu;
241 uint8_t old_val = *percpu->monitor;
242 *percpu->monitor = 0;
265 struct x86_percpu* percpu = x86_get_percpu();
267 while (*percpu->monitor) {
268 x86_monitor(percpu->monitor);
269 // Check percpu->monitor in case it was cleared between the first check and
272 if (*percpu->monitor) {
318 struct x86_percpu* percpu;
320 percpu = &bp_percpu;
322 percpu = &ap_percpus[cpu_id - 1];
327 DEBUG_ASSERT(percpu->apic_id != INVALID_APIC_ID);
330 if (percpu->apic_id != INVALID_APIC_ID) {
331 apic_send_ipi(vector, (uint8_t)percpu->apic_id, DELIVERY_MODE_FIXED);
404 struct x86_percpu* percpu = &ap_percpus[cpu_id - 1];
405 DEBUG_ASSERT(percpu->apic_id != INVALID_APIC_ID);
406 return x86_bringup_aps(&percpu->apic_id, 1);