| /kernel/arch/x86/ |
| A D | arch.cpp | 116 volatile int* aps_still_booting, thread_t* thread, uint cpu_num) { in finish_secondary_entry() argument 122 int old_val = atomic_and(aps_still_booting, ~(1U << cpu_num)); in finish_secondary_entry() 136 x86_pat_sync(1U << cpu_num); in finish_secondary_entry() 170 int cpu_num = x86_apic_id_to_cpu_num(local_apic_id); in x86_secondary_entry() local 171 if (cpu_num < 0) { in x86_secondary_entry() 179 DEBUG_ASSERT(cpu_num > 0); in x86_secondary_entry() 184 struct x86_percpu* const percpu = &ap_percpus[cpu_num - 1]; in x86_secondary_entry() 197 x86_init_percpu((uint)cpu_num); in x86_secondary_entry() 201 finish_secondary_entry(aps_still_booting, thread, cpu_num); in x86_secondary_entry()
|
| A D | mp.cpp | 72 .cpu_num = 0, 123 ap_percpus[apic_idx].cpu_num = apic_idx + 1; in x86_allocate_ap_structures() 133 void x86_init_percpu(cpu_num_t cpu_num) { in x86_init_percpu() argument 135 cpu_num == 0 ? &bp_percpu : &ap_percpus[cpu_num - 1]; in x86_init_percpu() 136 DEBUG_ASSERT(percpu->cpu_num == cpu_num); in x86_init_percpu() 165 if (cpu_num == 0) { in x86_init_percpu() 244 DEBUG_ASSERT(percpu->cpu_num == 0); in x86_set_local_apic_id() 250 return (int)bp_percpu.cpu_num; in x86_apic_id_to_cpu_num() 255 return (int)ap_percpus[i].cpu_num; in x86_apic_id_to_cpu_num()
|
| A D | descriptor.cpp | 47 uint cpu_num = percpu->cpu_num; in x86_initialize_percpu_tss() local 52 …set_global_desc_64(TSS_SELECTOR(cpu_num), (uintptr_t)tss, sizeof(*tss) - 1, 1, 0, 0, SEG_TYPE_TSS,… in x86_initialize_percpu_tss() 60 x86_ltr(TSS_SELECTOR(cpu_num)); in x86_initialize_percpu_tss()
|
| /kernel/arch/x86/include/arch/x86/ |
| A D | mp.h | 69 cpu_num_t cpu_num; member 84 static_assert(__offsetof(struct x86_percpu, cpu_num) == PERCPU_CPU_NUM_OFFSET, ""); 93 void x86_init_percpu(uint cpu_num); 110 return x86_get_percpu()->cpu_num; in arch_curr_cpu_num()
|
| /kernel/arch/arm64/ |
| A D | arch.cpp | 102 cpu_num_t cpu_num = arch_mpid_to_cpu_num(cluster, cpu); in arm64_create_secondary_stack() local 103 DEBUG_ASSERT(cpu_num > 0 && cpu_num < SMP_MAX_CPUS); in arm64_create_secondary_stack() 104 kstack_t* stack = &_init_thread[cpu_num - 1].stack; in arm64_create_secondary_stack() 142 cpu_num_t cpu_num = arch_mpid_to_cpu_num(cluster, cpu); in arm64_free_secondary_stack() local 143 DEBUG_ASSERT(cpu_num > 0 && cpu_num < SMP_MAX_CPUS); in arm64_free_secondary_stack() 144 kstack_t* stack = &_init_thread[cpu_num - 1].stack; in arm64_free_secondary_stack()
|
| A D | mp.cpp | 52 arm64_percpu_array[cpu_id].cpu_num = cpu_id; in arch_init_cpu_map()
|
| /kernel/lib/hypervisor/ |
| A D | cpu.cpp | 31 cpu_num_t cpu_num = arch_curr_cpu_num(); in percpu_task() local 32 zx_status_t status = state->task(state->context, cpu_num); in percpu_task() 34 state->cpu_mask.fetch_or(cpu_num_to_mask(cpu_num)); in percpu_task()
|
| /kernel/tests/ |
| A D | sync_ipi_tests.cpp | 30 uint cpu_num = arch_curr_cpu_num(); in inorder_count_task() local 33 ASSERT(oldval == (int)cpu_num); in inorder_count_task() 34 LTRACEF(" CPU %u checked in\n", cpu_num); in inorder_count_task()
|
| /kernel/arch/arm64/include/arch/arm64/ |
| A D | mp.h | 38 uint32_t cpu_num; member 79 return arm64_read_percpu_u32(offsetof(struct arm64_percpu, cpu_num)); in arch_curr_cpu_num()
|
| /kernel/lib/hypervisor/include/hypervisor/ |
| A D | cpu.h | 14 typedef zx_status_t (* percpu_task_t)(void* context, cpu_num_t cpu_num);
|
| /kernel/arch/arm64/hypervisor/ |
| A D | el2_cpu_state.cpp | 62 zx_status_t El2CpuState::OnTask(void* context, uint cpu_num) { in OnTask() argument 65 El2Stack& stack = cpu_state->stacks_[cpu_num]; in OnTask() 68 dprintf(CRITICAL, "Failed to turn EL2 on for CPU %u\n", cpu_num); in OnTask()
|
| A D | el2_cpu_state_priv.h | 48 static zx_status_t OnTask(void* context, uint cpu_num);
|
| /kernel/kernel/ |
| A D | dpc.cpp | 172 uint cpu_num = arch_curr_cpu_num(); in dpc_init_for_cpu() local 184 snprintf(name, sizeof(name), "dpc-%u", cpu_num); in dpc_init_for_cpu() 186 thread_set_cpu_affinity(cpu->dpc_thread, cpu_num_to_mask(cpu_num)); in dpc_init_for_cpu()
|
| A D | sched.cpp | 312 cpu_num_t cpu_num; in find_cpu_and_insert() local 316 cpu_num = lowest_cpu_set(cpu); in find_cpu_and_insert() 317 if (cpu_num == arch_curr_cpu_num()) { in find_cpu_and_insert() 320 *accum_cpu_mask |= cpu_num_to_mask(cpu_num); in find_cpu_and_insert() 323 t->curr_cpu = cpu_num; in find_cpu_and_insert() 325 insert_in_run_queue_head(cpu_num, t); in find_cpu_and_insert() 327 insert_in_run_queue_tail(cpu_num, t); in find_cpu_and_insert()
|
| A D | thread.cpp | 1132 thread_t* thread_create_idle_thread(cpu_num_t cpu_num) { in thread_create_idle_thread() argument 1133 DEBUG_ASSERT(cpu_num != 0 && cpu_num < SMP_MAX_CPUS); in thread_create_idle_thread() 1136 DEBUG_ASSERT(percpu[cpu_num].idle_thread.magic != THREAD_MAGIC); in thread_create_idle_thread() 1139 snprintf(name, sizeof(name), "idle %u", cpu_num); in thread_create_idle_thread() 1142 &percpu[cpu_num].idle_thread, name, in thread_create_idle_thread() 1149 t->cpu_affinity = cpu_num_to_mask(cpu_num); in thread_create_idle_thread()
|
| A D | mp.cpp | 231 cpu_num_t cpu_num = arch_curr_cpu_num(); in mp_unplug_trampoline() local 232 sched_transition_off_cpu(cpu_num); in mp_unplug_trampoline()
|
| /kernel/arch/x86/hypervisor/ |
| A D | vmx_cpu_state.cpp | 88 static zx_status_t vmxon_task(void* context, cpu_num_t cpu_num) { in vmxon_task() argument 90 VmxPage& page = (*pages)[cpu_num]; in vmxon_task() 145 dprintf(CRITICAL, "Failed to turn on VMX on CPU %u\n", cpu_num); in vmxon_task()
|
| A D | vcpu.cpp | 486 vmcs.Write(VmcsField16::HOST_TR_SELECTOR, TSS_SELECTOR(percpu->cpu_num)); in vmcs_init()
|
| /kernel/arch/arm64/hypervisor/gic/ |
| A D | gicv3.cpp | 73 cpu_num_t cpu_num = arch_curr_cpu_num(); in gicv3_write_gich_lr() local 74 GICREG(0, GICR_ISACTIVER0(cpu_num)) = mask; in gicv3_write_gich_lr()
|
| /kernel/dev/interrupt/arm_gic/v3/ |
| A D | arm_gicv3.cpp | 416 uint cpu_num = arch_curr_cpu_num(); in is_ppi_enabled() local 417 uint32_t reg = GICREG(0, GICR_ICENABLER0(cpu_num)); in is_ppi_enabled() 429 uint cpu_num = arch_curr_cpu_num(); in is_spi_enabled() local 432 uint aff0 = arch_cpu_num_to_cpu_id(cpu_num); in is_spi_enabled() 433 uint aff1 = arch_cpu_num_to_cluster_id(cpu_num); in is_spi_enabled()
|
| /kernel/dev/interrupt/arm_gic/v2/ |
| A D | arm_gicv2.cpp | 355 uint cpu_num = arch_curr_cpu_num(); in is_spi_enabled() local 356 DEBUG_ASSERT(cpu_num < 8); in is_spi_enabled() 357 uint32_t mask = 0x01010101U << cpu_num; in is_spi_enabled()
|
| /kernel/include/kernel/ |
| A D | thread.h | 239 thread_t* thread_create_idle_thread(uint cpu_num);
|