|
AquilaOS documentation
How it works, and its code
|
Go to the source code of this file.
Data Structures | |
| struct | cpu |
| A processor, and what runs on it. More... | |
Macros | |
| #define | CPUS_MAX 32 |
Functions | |
| void | arch_cpu_kick (struct cpu *cpu) |
| Makes another CPU enter the kernel now, with an inter-processor interrupt: to run a thread that just became ready if it's idle, or so that its thread sees it was killed or takes its signals. | |
Variables | |
| struct cpu | cpus [CPUS_MAX] |
| int | cpus_count |
| #define CPUS_MAX 32 |
Definition at line 21 of file cpu.h.
Referenced by x86_apic_setup(), and x86_smp_init().
| void arch_cpu_kick | ( | struct cpu * | cpu | ) |
Makes another CPU enter the kernel now, with an inter-processor interrupt: to run a thread that just became ready if it's idle, or so that its thread sees it was killed or takes its signals.
Each architecture implements it; with one CPU, it does nothing.
| cpu | the CPU |
Definition at line 14 of file smp.c.
References arch_cpu::apic_id, cpu::arch, arch_cpu_kick(), ICR_ASSERT, x86_lapic_ipi(), and X86_WAKE_VECTOR.
Referenced by arch_cpu_kick(), arch_sched_init(), sched_cpu_wake(), and sched_thread_kick().
Definition at line 28 of file sched.c.
Referenced by aarch64_init(), arch_interrupts_info(), arch_sched_init(), arch_thread_kill(), sched_cpu_wake(), sched_thread_cpu(), tlb_shootdown(), x86_apic_setup(), x86_cpu_init(), and x86_smp_init().
|
extern |
Definition at line 29 of file sched.c.
Referenced by aarch64_init(), arch_interrupts_info(), arch_sched_init(), arch_thread_kill(), sched_cpu_wake(), sched_thread_cpu(), tlb_shootdown(), x86_cpu_init(), and x86_smp_init().