|
PatchworkOS
|
#include <kernel/cpu/smp.h>#include <kernel/acpi/tables.h>#include <kernel/cpu/cpu.h>#include <kernel/cpu/interrupt.h>#include <kernel/cpu/trampoline.h>#include <kernel/drivers/apic.h>#include <kernel/log/log.h>#include <kernel/log/panic.h>#include <kernel/mem/vmm.h>#include <kernel/cpu/regs.h>#include <kernel/defs.h>#include <assert.h>#include <stdatomic.h>#include <stdint.h>Go to the source code of this file.
Functions | |
| static cpu_t bootstrapCpu | ALIGNED (PAGE_SIZE) |
| void | smp_bootstrap_init_early (void) |
| Early initialization of the bootstrap CPU. | |
| void | smp_bootstrap_init (void) |
| Initializes the bootstrap CPU structure. | |
| void | smp_others_init (void) |
| Initializes the other CPUs. | |
| static void | smp_halt_ipi (interrupt_frame_t *frame) |
| void | smp_halt_others (void) |
| Halts all CPUs except the current one. | |
Variables | |
| cpu_t * | _cpus [CPU_MAX] = {&bootstrapCpu} |
| Array of pointers to cpu_t structures for each CPU. | |
| uint16_t | _cpuAmount = 1 |
| The number of CPUs currently identified. | |
| static atomic_uint16_t | haltedAmount = ATOMIC_VAR_INIT(0) |
|
static |
Definition at line 89 of file smp.c.
References atomic_fetch_add, and haltedAmount.
|
static |
Definition at line 24 of file smp.c.
Referenced by smp_halt_ipi().