sylveos

Toy Operating System
Log | Files | Refs

commit 7f79fb4ced52a3e457574df70715bdc89bbdb964
parent d52f8c55016a46522814644b5b81dfd8f22f2970
Author: Sylvia Ivory <git@sivory.net>
Date:   Thu, 15 Jan 2026 19:49:11 -0800

Calculate final checksum

Diffstat:
Mfake-pi/root.zig | 12++++++++++++
Msrc/test-runner.zig | 5-----
Mtests/runner | 6++++--
3 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/fake-pi/root.zig b/fake-pi/root.zig @@ -6,6 +6,8 @@ const c = @cImport({ }); const BASE_ADDRESS: u32 = 0x2000_0000; +const MAX_TRACE: usize = 128; + var trace_count: usize = 0; var stdout_buffer: [4096]u8 = undefined; @@ -33,6 +35,12 @@ fn trace(comptime format: []const u8, args: anytype) void { }; trace_count += 1; + + if (trace_count >= MAX_TRACE) { + trace_no_count("exiting after {} trace statements\n", .{trace_count}); + trace_no_count("pi exited cleanly: {} calls to random\n", .{c.fake_random_calls()}); + std.process.exit(0); + } } pub fn initialize() void { @@ -79,3 +87,7 @@ export fn put_u32(address: *u32, value: u32) void { } export fn nop() void {} + +export fn delay_cycles(cycles: u32) void { + trace("delaying {} cycles\n", .{cycles}); +} diff --git a/src/test-runner.zig b/src/test-runner.zig @@ -36,11 +36,6 @@ export fn gpio_set_output(pin: u8) void { gpio.set_output(pin) catch {}; } -export fn delay_cycles(cycles: u32) void { - // TODO; - _ = cycles; -} - pub fn kmain() void { gpio.initialize(0x2000_0000); c.notmain(); diff --git a/tests/runner b/tests/runner @@ -17,9 +17,11 @@ echo "success" # Final checksum echo -n "calculating final checksum: " +tmp_name=$(mktemp -d) for test in tests/$1/*.c; do name=$(basename $test) - tmp_name=$(mktemp) - ./zig-out/bin/${name}-test + ./zig-out/bin/${name}-test > ${tmp_name}/${name}.out done + +find ${tmp_name} -type f | sort | xargs cksum | cksum