rtl: add LinkerSet

This commit is contained in:
Loïc Grégoire
2026-07-04 22:50:15 -04:00
parent 1647da3329
commit 2d18761822
12 changed files with 94 additions and 50 deletions
+5 -3
View File
@@ -40,12 +40,14 @@ const pcpu = ke.CpuLocal(PerCpu, .{
.queue = undefined,
});
export const dpc_percpu_init linksection(r.percpu_init) = &pcpu_init;
fn pcpu_init() linksection(r.init) callconv(.c) void {
fn pcpu_init() linksection(r.init) void {
pcpu.local().queue.init();
}
comptime {
_ = r.percpu_init_set.insert(&pcpu_init);
}
/// Enqueue a DPC.
/// If the DPC is already enqueued, this function is a no-op.
pub fn enqueue(dpc: *Dpc, arg: ?*anyopaque) void {