summaryrefslogtreecommitdiff
path: root/vere/pkg
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-10-06 23:06:50 +0700
committerpolwex <polwex@sortug.com>2025-10-06 23:06:50 +0700
commitfdab65f6dac4ba85ed4749f61970660d1132d453 (patch)
tree427123729c6d556f040bed6a0e461f6d0887c9bf /vere/pkg
parentbf4c5ff0fd28d94b7f22552a79e6fbe2561fe6cf (diff)
added mutable mugs
Diffstat (limited to 'vere/pkg')
-rw-r--r--vere/pkg/vere/ivory_boot_test.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/vere/pkg/vere/ivory_boot_test.c b/vere/pkg/vere/ivory_boot_test.c
index 0bd968b..cb531f9 100644
--- a/vere/pkg/vere/ivory_boot_test.c
+++ b/vere/pkg/vere/ivory_boot_test.c
@@ -21,14 +21,30 @@ _setup(void)
// Don't free ivory_jammed - it's managed by u3m_file
u3l_log("ivory_pil is_atom: %u", u3a_is_atom(pil));
+ u3l_log("ivory_pil mug: 0x%x", u3r_mug(pil));
- // Boot with ivory pill
+ // Extract the Arvo core (tail of [%ivory core])
+ u3_noun arvo_core = u3t(pil);
+ u3l_log("arvo_core mug: 0x%x", u3r_mug(arvo_core));
+
+ // Boot with ivory pill - this will call u3v_life() internally
u3l_log("Booting with ivory.pill from OCaml...");
if ( c3n == u3v_boot_lite(pil) ) {
printf("*** fail: ivory boot failed\n");
exit(1);
}
u3l_log("✓ Ivory boot completed!");
+
+ // Log kernel mugs after boot (u3A->roc is the kernel)
+ u3l_log("Kernel mug: 0x%x", u3r_mug(u3A->roc));
+
+ // Log mugs of key slots for verification
+ u3_noun slot2 = u3r_at(2, u3A->roc);
+ u3_noun slot3 = u3r_at(3, u3A->roc);
+ u3_noun slot23 = u3r_at(23, u3A->roc);
+ u3l_log("Kernel slot 2 (battery) mug: 0x%x", u3r_mug(slot2));
+ u3l_log("Kernel slot 3 (payload) mug: 0x%x", u3r_mug(slot3));
+ u3l_log("Kernel slot 23 (poke) mug: 0x%x", u3r_mug(slot23));
}
/* _test_lily(): test small noun parsing.