sylveos

Toy Operating System
Log | Files | Refs

commit fbd39d3228b71f6c2bb61b7234ee5bb7eb447e1a
parent e250c356eea26ef63234d8d2798e3299daeb9806
Author: Sylvia Ivory <git@sivory.net>
Date:   Thu, 12 Mar 2026 20:17:25 -0700

Loader outline

Diffstat:
Asylveos/loader.zig | 14++++++++++++++
Msylveos/process.zig | 6++++++
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 {