|
miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
|
#include <miniOS/types.h>#include <miniOS/arch/x86_64/spinlock.h>#include <miniOS/arch/x86_64/smp.h>

Go to the source code of this file.
Classes | |
| struct | ipi_barrier_t |
Functions | |
| static void | ipi_barrier_ack (ipi_barrier_t *b) |
| Atomically decrement the barrier's ack_count. | |
| static void | ipi_barrier_wait (ipi_barrier_t *b) |
| Spin until barrier->ack_count reaches 0. | |
| void | ipi_tlb_shootdown (uint64_t virt) |
| Broadcast TLB-shootdown IPI and wait for all CPUs to flush. | |
| void | tlb_shootdown_isr (uint32_t src_cpu) |
| ISR for TLB_SHOOTDOWN_VECTOR_BASE + N on remote CPUs (one per possible initiator CPU N — see tlb_shootdown_wrapper0..7 in isr.asm). | |
| void | ipi_panic_halt (void) |
| Broadcast halt IPI to all APs on kernel panic. | |
| void | panic_halt_isr (void *frame) |
| ISR for PANIC_HALT_VECTOR (52) on APs. | |
Variables | |
| ipi_barrier_t | g_tlb_barriers [MAX_CPUS] |