diff options
Diffstat (limited to 'vere/pkg')
-rw-r--r-- | vere/pkg/vere/ivory_boot_test.c | 18 |
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. |