Files
Zag/src/kern/root.zig
T
2026-06-27 10:55:19 -04:00

84 lines
2.1 KiB
Zig

// === Exported Modules ===
pub const private = @import("private.zig");
const p = private;
// === Exported types ===
pub const Ipl = p.ipl.Ipl;
pub const SpinLock = p.spinlock.SpinLock;
pub const QSpinLock = p.spinlock.QSpinLock;
pub const Thread = p.thread.Thread;
pub const Dpc = p.dpc.Dpc;
pub const TimeCounter = p.time.TimeCounter;
pub const Timer = p.timer.Timer;
pub const Console = p.log.Console;
pub const CpuLocal = p.cpu.CpuLocal;
pub const ExportedCpuLocal = p.cpu.ExportedCpuLocal;
pub const CpuMask = p.cpu.CpuMask;
pub const AtomicCpuMask = p.cpu.AtomicCpuMask;
pub const Event = p.event.Event;
pub const Queue = p.queue.Queue;
pub const Mutex = p.mutex.Mutex;
pub const ShootdownState = p.shootdown.ShootdownState;
// === Exported Interfaces ===
pub const panic = p.panic.panic;
pub const ipl = struct {
pub const raise = p.ipl.raise;
pub const lower = p.ipl.lower;
pub const set_hardware = p.ipl.set_hardware;
pub const current = p.ipl.current;
};
pub const thread = struct {
pub const init = p.thread.init;
};
pub const dpc = struct {
pub const enqueue = p.dpc.enqueue;
};
pub const time = struct {
pub const register_source = p.time.register_source;
pub const read_time = p.time.read_time;
pub const best = p.time.best;
pub const sleep = p.time.sleep;
};
pub const sched = struct {
pub const enqueue = p.sched.enqueue;
pub const block = p.sched.block;
pub const unblock = p.sched.unblock;
pub const late_init = p.sched.late_init;
};
pub const timer = struct {
pub const set = p.timer.set;
pub const cancel = p.timer.cancel;
};
pub const wait = struct {
pub const wait_one = p.wait.wait_one;
pub const wait_any = p.wait.wait_any;
};
pub const log = struct {
pub const register_console = p.log.register_console;
pub const log = p.log.log;
pub const ringbuffer = &p.log.ringbuffer;
pub const event = &p.log.event;
};
pub const cpu = struct {
pub const current = p.cpu.current;
};
pub const shootdown = struct {
pub const submit = p.shootdown.submit;
pub const shootdowns = &p.shootdown.shootdowns;
};
/// Number of CPUs on the system
pub var ncpus: usize = 0;