commit fbd39d3228b71f6c2bb61b7234ee5bb7eb447e1a
parent e250c356eea26ef63234d8d2798e3299daeb9806
Author: Sylvia Ivory <git@sivory.net>
Date: Thu, 12 Mar 2026 20:17:25 -0700
Loader outline
Diffstat:
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/sylveos/loader.zig b/sylveos/loader.zig
@@ -0,0 +1,14 @@
+const std = @import("std");
+const pi = @import("pi");
+
+const process = @import("./process.zig");
+
+const ProcMap = pi.procmap.ProcMap;
+const Page = process.Page;
+
+// Program contains a static series of pages (unfortunately 1mb each)
+pub const Program = struct {
+ pages: std.ArrayList(Page),
+ proc_map: ProcMap,
+ entrypoint: u32,
+};
diff --git a/sylveos/process.zig b/sylveos/process.zig
@@ -15,11 +15,17 @@ pub const Handle = struct {
closed: bool,
};
+pub const Page = struct {
+ data: [1024 * 1024]u8,
+ addr: u32,
+};
+
pub const Process = struct {
pid: usize,
node: std.DoublyLinkedList.Node,
registers: Registers,
proc_map: ProcMap,
+ pages: std.ArrayList(Page),
handles: std.ArrayList(Handle),
pub fn close(self: *Process) void {