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

Go to the source code of this file.
Classes | |
| struct | cpu_t |
Macros | |
| #define | MAX_CPUS 8 |
Typedefs | |
| typedef struct cpu_t | cpu_t |
Functions | |
| static cpu_t * | cpu_local (void) |
| void | cpu_enable_sse (void) |
| Enable SSE/SSE2 on the calling CPU. | |
| void | per_cpu_init (uint32_t cpu_id) |
| Initialise per-CPU GDT, TSS, IDT, and GS base for one CPU. | |
| void | acpi_find_madt (uint64_t mb_info_phys) |
| Parse ACPI MADT and populate smp_lapic_ids[]/smp_cpu_count. | |
| void | smp_boot_aps (void) |
| Send INIT-SIPI-SIPI sequence to all non-BSP CPUs. | |
| void | per_cpu_update_rsp0 (uint64_t rsp0) |
| Update this CPU's TSS RSP0 and cpu_t.kstack_top. | |
| void | ap_barrier_checkin (void) |
| Signal that this AP has completed its CPU init. | |
| void | smp_wait_for_aps (void) |
| Block until all APs have checked in at the rendezvous barrier. | |
| void | lapic_timer_init_ap (void) |
| Start LAPIC timer on the calling AP using the BSP-calibrated ICR. | |
Variables | |
| uint32_t | smp_cpu_count |
| uint8_t | smp_lapic_ids [MAX_CPUS] |
| cpu_t | g_cpus [MAX_CPUS] |
| volatile uint32_t | smp_aps_ready |