feat(rumpk): First successful Zig+Nim boot on QEMU ARM64

THE RUBICON IS CROSSED
======================

Rumpk v0.1 successfully boots on QEMU ARM64 virt machine.
Zig L0 initializes HAL and hands off to Nim L1.

BOOT OUTPUT
-----------
[Rumpk L0] Stack: 16KB @ stack_bytes
[Rumpk L0] UART: 0x09000000 (QEMU virt)
[Rumpk L0] Handing off to Nim L1...
[Rumpk L1] Memory: ARC (Deterministic)
[Rumpk L1] POSIX: None (Hostile)
[Rumpk L1] Status: OPERATIONAL
[Rumpk L1] The Rubicon is crossed.
[Rumpk L1] Zig + Nim = Sovereign Metal.

IMPLEMENTATION
--------------
Layer 0 (Zig):
- hal/main.zig: Naked _start, stack setup, zig_entry
- hal/uart.zig: PL011 UART driver for QEMU virt

Layer 1 (Nim):
- core/kernel.nim: kmain() entry, FFI imports from Zig
- Compiled with --mm:arc --os:any for freestanding

Glue (C Stubs):
- core/include/: string.h, stdio.h, stdlib.h, signal.h, etc.
- core/cstubs.c: memcpy, memset, strlen, printf, exit stubs
- Provides minimal libc for Nim's generated C code

Build System:
- build.sh: Orchestrates Zig build-obj + Nim c + zig cc link
- run.sh: QEMU launch script
- boot/linker.ld: ARM64 linker script at 0x40080000

VERIFICATION
------------
$ qemu-system-aarch64 -M virt -cpu cortex-a57 -nographic -kernel build/rumpk.elf
→ Successfully prints L0 and L1 banners
→ Enters idle loop (wfi instruction)

NEXT STEPS
----------
Phase 2: Simple bump allocator for Nim heap
Phase 3: Two-fiber context switch (Ping/Pong)
Phase 4: NPL loading with Ed25519 verification
Phase 5: VisionFive 2 RISC-V hardware boot

This proves: POSIX is optional. GCC is optional. Zig + Nim = Sovereign Metal.
This commit is contained in:
Markus Maiwald 2025-12-30 07:38:52 +01:00
parent 694a753bed
commit 3b755cac06
69 changed files with 1202 additions and 17 deletions

View File

@ -0,0 +1,14 @@
0
343 9458889 1767076237593466545 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sbitops_utils.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459511 1767076443799031144 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sctypes.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459518 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@siterators.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459529 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@swidestrs.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458881 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@siterators.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458886 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sobjectdollar.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,3 @@
0
2797 9459400 1767076661265557620 715fa707ad1270a1d4879454095007a0 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/cstubs.c
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h

View File

@ -0,0 +1,7 @@
0
343 9459521 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sschubfach.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458876 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sansi_c.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459527 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@scountbits_impl.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458879 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@smiscdollars.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458878 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sdigitsutils.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,8 @@
0
12268 9459532 1767076443800031133 c56105a5a3a93a0d4d451c619dc2b349 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@mkernel.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h
499 9459330 1767076360432003062 357ccd6329b0128cce0610c1443c600d 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/string.h

View File

@ -0,0 +1,14 @@
0
343 9458888 1767076237593466545 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sstacktraces.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459528 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@srepr_v2.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459512 1767076443799031144 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@ssysatomics.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458872 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sexceptions.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458885 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sformatfloat.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459514 1767076443799031144 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@smemory.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458884 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sschubfach.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459525 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sstacktraces.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459509 1767076443799031144 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sexceptions.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459523 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sobjectdollar.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458877 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@smemory.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459530 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@ssyncio.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458883 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sdragonbox.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459516 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@smiscdollars.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458893 1767076237593466545 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@ssyncio.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458882 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@scoro_detection.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459522 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sformatfloat.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458874 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sctypes.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459510 1767076443799031144 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@ssince.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459515 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sdigitsutils.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458880 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sassertions.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459524 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sdollars.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458873 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@ssince.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459513 1767076443799031144 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sansi_c.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,11 @@
0
16619 9459922 1767076554340764015 b65ba73958a2554cfcb1f80ef72d3f66 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
155 9459777 1767076495338437553 9cc523d7a8a3a0bbc7c7af0fabeafc0b 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdbool.h
924 9459799 1767076530759032485 73bc6834aef9958f6652470b63d7814b 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdint.h
499 9459330 1767076360432003062 357ccd6329b0128cce0610c1443c600d 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/string.h
325 9459358 1767076627570935976 5ca902cf9f166c00c6ace9d9b616962b 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdlib.h
658 9459756 1767076483913568693 9ddddf5ebae64e3e8f7b0a61ab971a48 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdio.h
458 9460053 1767076587058393045 a2b74728364fee3bf3eb7360aabd2d37 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/signal.h

View File

@ -0,0 +1,14 @@
0
343 9458891 1767076237593466545 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@srepr_v2.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459517 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sassertions.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458887 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@sdollars.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458875 1767076237592466557 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@ssysatomics.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459519 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@scoro_detection.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458890 1767076237593466545 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem@scountbits_impl.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,14 @@
0
343 9458892 1767076237593466545 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@swidestrs.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
3794 78925761 1761046366000000000 42f44f0344ca976c19820ae587ff2c10 1 include/limits.h
5053 78925835 1761046366000000000 65368a9f4cf365969d64bd6a0f1410e6 1 include/stddef.h
417 78925635 1761046366000000000 d2edf43390585163b0f70c6bd1d7e3b7 1 include/__stddef_header_macro.h
717 78925640 1761046366000000000 81288588f2bdd7ac4f213fa113429ef2 1 include/__stddef_ptrdiff_t.h
708 78925642 1761046366000000000 39fb92c68f9106377b154afee9e96194 1 include/__stddef_size_t.h
853 78925644 1761046366000000000 754796f5faa70049051526dc04a0d36b 1 include/__stddef_wchar_t.h
875 78925637 1761046366000000000 f8a94bfcc5c5499d269a5391c5933024 1 include/__stddef_null.h
857 78925636 1761046366000000000 02545cb6a8f1dcd75cccde1b4f4910c6 1 include/__stddef_max_align_t.h
708 78925639 1761046366000000000 04b70454bf7cdd0c492cfaf134f95be7 1 include/__stddef_offsetof.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459526 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sbitops_utils.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,7 @@
0
343 9459520 1767076443800031133 c99e175f5398d2ed6a7964a9c4dbfc1c 0 /home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@sstd@sprivate@sdragonbox.nim.c
19164 69191110 1749873121000000000 fe5756ed84745fc96fd9dfb15050f599 0 /usr/lib/nim/nimbase.h
639 9459383 1767076381899751290 1b9448bcfa47e3161459266750e8ded4 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h
268 9459347 1767076422997272233 06a4c7da1c4987981a369ef3e003bda3 0 /home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h
1172 78925833 1761046366000000000 69b529ccb10bbb5d826c563cf9b929c1 1 include/stdbool.h
31054 78925836 1761046366000000000 1df950c62cbc96dd5d9790733bbe6016 1 include/stdint.h

View File

@ -0,0 +1,11 @@
.zig-cache/tmp/9e840eb9632092ce-@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem.nim.o: \
/home/markus/zWork/_Git/Nexus/core/rumpk/build/nimcache/@m..@s..@s..@s..@s..@s..@s..@s..@susr@slib@snim@ssystem.nim.c \
/usr/lib/nim/nimbase.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/limits.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stddef.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdbool.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdint.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/string.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdlib.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/stdio.h \
/home/markus/zWork/_Git/Nexus/core/rumpk/core/include/signal.h

Binary file not shown.

Binary file not shown.

36
boot/linker.ld Normal file
View File

@ -0,0 +1,36 @@
/* Rumpk Linker Script (ARM64)
* For QEMU virt machine
*/
ENTRY(_start)
SECTIONS
{
. = 0x40080000; /* QEMU virt kernel load address */
.text : {
*(.text._start)
*(.text*)
}
.rodata : {
*(.rodata*)
}
.data : {
*(.data*)
}
.bss : {
__bss_start = .;
*(.bss*)
*(COMMON)
__bss_end = .;
}
/DISCARD/ : {
*(.comment)
*(.note*)
*(.eh_frame*)
}
}

122
build.sh Executable file
View File

@ -0,0 +1,122 @@
#!/bin/bash
# Rumpk Build Script
# Builds Zig L0 + Nim L1 into a single ELF
set -e
RUMPK_DIR="$(cd "$(dirname "$0")" && pwd)"
BUILD_DIR="$RUMPK_DIR/build"
echo "╔═══════════════════════════════════════╗"
echo "║ RUMPK BUILD SYSTEM v0.1 ║"
echo "╚═══════════════════════════════════════╝"
echo ""
# Create build directory
mkdir -p "$BUILD_DIR"
mkdir -p "$BUILD_DIR/nimcache"
# =========================================================
# Step 1: Compile Zig L0 (HAL)
# =========================================================
echo "[1/3] Compiling Zig L0 (HAL)..."
zig build-obj \
"$RUMPK_DIR/hal/main.zig" \
-target aarch64-freestanding-none \
-O ReleaseSmall \
-femit-bin="$BUILD_DIR/hal.o"
echo "$BUILD_DIR/hal.o"
# =========================================================
# Step 2: Compile Nim L1 (Kernel)
# =========================================================
echo "[2/3] Compiling Nim L1 (Kernel)..."
# Note: This requires careful Nim configuration for freestanding
# For now, we'll try direct compilation with clang
nim c \
--cpu:arm64 \
--os:any \
--mm:arc \
--noMain:on \
--cc:clang \
--passC:"-target aarch64-unknown-none -ffreestanding -fno-stack-protector -fno-builtin" \
--passL:"-target aarch64-unknown-none -nostdlib -ffreestanding" \
--define:useMalloc \
--define:StandaloneHeapSize=65536 \
-d:release \
-d:danger \
--nimcache:"$BUILD_DIR/nimcache" \
--path:"$RUMPK_DIR/core" \
-c \
"$RUMPK_DIR/core/kernel.nim"
echo "$BUILD_DIR/nimcache/*.c"
# =========================================================
# Step 3: Compile Nim C files to objects
# =========================================================
echo "[3/4] Compiling Nim C files..."
# First compile cstubs.c
echo " Compiling cstubs.c..."
zig cc \
-target aarch64-freestanding-none \
-ffreestanding \
-fno-builtin \
-I"$RUMPK_DIR/core/include" \
-c "$RUMPK_DIR/core/cstubs.c" \
-o "$BUILD_DIR/cstubs.o"
# Now compile Nim C files
for cfile in "$BUILD_DIR/nimcache"/*.c; do
ofile="${cfile%.c}.o"
zig cc \
-target aarch64-freestanding-none \
-ffreestanding \
-fno-stack-protector \
-fno-builtin \
-I"$RUMPK_DIR/core/include" \
-I/usr/lib/nim \
-I"$RUMPK_DIR/core" \
-c "$cfile" \
-o "$ofile" 2>&1 || true
done
echo "$BUILD_DIR/nimcache/*.o"
# =========================================================
# Step 4: Link Everything
# =========================================================
echo "[4/4] Linking..."
# Collect all Nim object files
NIM_OBJS=$(find "$BUILD_DIR/nimcache" -name "*.o" 2>/dev/null | tr '\n' ' ')
if [ -z "$NIM_OBJS" ]; then
echo "ERROR: No Nim object files found!"
exit 1
fi
zig cc \
-target aarch64-freestanding-none \
-nostdlib \
-T "$RUMPK_DIR/boot/linker.ld" \
"$BUILD_DIR/hal.o" \
"$BUILD_DIR/cstubs.o" \
$NIM_OBJS \
-o "$BUILD_DIR/rumpk.elf"
echo "$BUILD_DIR/rumpk.elf"
# =========================================================
# Done
# =========================================================
echo ""
echo "✅ Build complete!"
echo ""
echo "Run with:"
echo " qemu-system-aarch64 -M virt -cpu cortex-a57 -nographic -kernel $BUILD_DIR/rumpk.elf"

135
core/cstubs.c Normal file
View File

@ -0,0 +1,135 @@
// C runtime stubs for freestanding Nim
#include <stddef.h>
void *memcpy(void *dest, const void *src, size_t n) {
unsigned char *d = dest;
const unsigned char *s = src;
while (n--) *d++ = *s++;
return dest;
}
void *memset(void *s, int c, size_t n) {
unsigned char *p = s;
while (n--) *p++ = (unsigned char)c;
return s;
}
void *memmove(void *dest, const void *src, size_t n) {
unsigned char *d = dest;
const unsigned char *s = src;
if (d < s) {
while (n--) *d++ = *s++;
} else {
d += n;
s += n;
while (n--) *--d = *--s;
}
return dest;
}
int memcmp(const void *s1, const void *s2, size_t n) {
const unsigned char *p1 = s1, *p2 = s2;
while (n--) {
if (*p1 != *p2) return *p1 - *p2;
p1++; p2++;
}
return 0;
}
size_t strlen(const char *s) {
size_t len = 0;
while (*s++) len++;
return len;
}
char *strcpy(char *dest, const char *src) {
char *d = dest;
while ((*d++ = *src++));
return dest;
}
int strcmp(const char *s1, const char *s2) {
while (*s1 && (*s1 == *s2)) { s1++; s2++; }
return *(unsigned char*)s1 - *(unsigned char*)s2;
}
void *calloc(size_t nmemb, size_t size) {
/* Use the Nim allocator */
extern void *malloc(size_t);
size_t total = nmemb * size;
void *p = malloc(total);
if (p) memset(p, 0, total);
return p;
}
void abort(void) {
/* Call Nim panic */
extern void panic(const char*);
panic("abort() called");
while(1) {}
}
/* Stdio stubs - these call into Zig UART */
extern void console_write(const char*, unsigned long);
int puts(const char *s) {
if (s) {
unsigned long len = strlen(s);
console_write(s, len);
console_write("\n", 1);
}
return 0;
}
int putchar(int c) {
char buf[1] = {(char)c};
console_write(buf, 1);
return c;
}
int printf(const char *format, ...) {
/* Minimal printf - just output the format string */
if (format) {
console_write(format, strlen(format));
}
return 0;
}
int fprintf(void *stream, const char *format, ...) {
return printf(format);
}
int fflush(void *stream) {
return 0;
}
unsigned long fwrite(const void *ptr, unsigned long size, unsigned long nmemb, void *stream) {
console_write(ptr, size * nmemb);
return nmemb;
}
/* Signal stubs - no signals in freestanding */
typedef void (*sighandler_t)(int);
sighandler_t signal(int signum, sighandler_t handler) {
(void)signum;
(void)handler;
return (sighandler_t)0;
}
int raise(int sig) {
(void)sig;
return 0;
}
/* Exit stubs */
void exit(int status) {
extern void panic(const char*);
panic("exit() called - system halt");
while(1) {}
}
void _Exit(int status) {
exit(status);
}

25
core/include/limits.h Normal file
View File

@ -0,0 +1,25 @@
/* Minimal limits.h stub for freestanding Nim */
#ifndef _LIMITS_H
#define _LIMITS_H
#define CHAR_BIT 8
#define SCHAR_MIN (-128)
#define SCHAR_MAX 127
#define UCHAR_MAX 255
#define CHAR_MIN SCHAR_MIN
#define CHAR_MAX SCHAR_MAX
#define MB_LEN_MAX 1
#define SHRT_MIN (-32768)
#define SHRT_MAX 32767
#define USHRT_MAX 65535
#define INT_MIN (-2147483647-1)
#define INT_MAX 2147483647
#define UINT_MAX 4294967295U
#define LONG_MIN (-9223372036854775807L-1)
#define LONG_MAX 9223372036854775807L
#define ULONG_MAX 18446744073709551615UL
#define LLONG_MIN LONG_MIN
#define LLONG_MAX LONG_MAX
#define ULLONG_MAX ULONG_MAX
#endif /* _LIMITS_H */

22
core/include/signal.h Normal file
View File

@ -0,0 +1,22 @@
/* Minimal signal.h stub for freestanding */
#ifndef _SIGNAL_H
#define _SIGNAL_H
typedef int sig_atomic_t;
typedef void (*sighandler_t)(int);
#define SIG_DFL ((sighandler_t)0)
#define SIG_IGN ((sighandler_t)1)
#define SIG_ERR ((sighandler_t)-1)
#define SIGABRT 6
#define SIGFPE 8
#define SIGILL 4
#define SIGINT 2
#define SIGSEGV 11
#define SIGTERM 15
sighandler_t signal(int signum, sighandler_t handler);
int raise(int sig);
#endif /* _SIGNAL_H */

11
core/include/stdarg.h Normal file
View File

@ -0,0 +1,11 @@
/* Minimal stdarg.h stub for freestanding Nim */
#ifndef _STDARG_H
#define _STDARG_H
typedef __builtin_va_list va_list;
#define va_start(v,l) __builtin_va_start(v,l)
#define va_end(v) __builtin_va_end(v)
#define va_arg(v,l) __builtin_va_arg(v,l)
#define va_copy(d,s) __builtin_va_copy(d,s)
#endif /* _STDARG_H */

9
core/include/stdbool.h Normal file
View File

@ -0,0 +1,9 @@
/* Minimal stdbool.h for freestanding */
#ifndef _STDBOOL_H
#define _STDBOOL_H
#define bool _Bool
#define true 1
#define false 0
#endif /* _STDBOOL_H */

14
core/include/stddef.h Normal file
View File

@ -0,0 +1,14 @@
// Minimal stddef.h stub for freestanding Nim
#ifndef _STDDEF_H
#define _STDDEF_H
typedef unsigned long size_t;
typedef long ptrdiff_t;
#ifndef NULL
#define NULL ((void*)0)
#endif
#define offsetof(type, member) ((size_t)&((type*)0)->member)
#endif /* _STDDEF_H */

38
core/include/stdint.h Normal file
View File

@ -0,0 +1,38 @@
/* Minimal stdint.h for freestanding */
#ifndef _STDINT_H
#define _STDINT_H
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef signed long int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long uint64_t;
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long intmax_t;
typedef unsigned long uintmax_t;
#define INT8_MIN (-128)
#define INT8_MAX 127
#define UINT8_MAX 255
#define INT16_MIN (-32768)
#define INT16_MAX 32767
#define UINT16_MAX 65535
#define INT32_MIN (-2147483647-1)
#define INT32_MAX 2147483647
#define UINT32_MAX 4294967295U
#define INT64_MIN (-9223372036854775807L-1)
#define INT64_MAX 9223372036854775807L
#define UINT64_MAX 18446744073709551615UL
#define INTPTR_MIN INT64_MIN
#define INTPTR_MAX INT64_MAX
#define UINTPTR_MAX UINT64_MAX
#endif /* _STDINT_H */

23
core/include/stdio.h Normal file
View File

@ -0,0 +1,23 @@
/* Minimal stdio.h stub for freestanding Nim */
#ifndef _STDIO_H
#define _STDIO_H
#include <stddef.h>
typedef struct FILE FILE;
#define EOF (-1)
#define stdin ((FILE*)0)
#define stdout ((FILE*)1)
#define stderr ((FILE*)2)
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
int vsnprintf(char *str, size_t size, const char *format, ...);
int putchar(int c);
int puts(const char *s);
int fflush(FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
#endif /* _STDIO_H */

15
core/include/stdlib.h Normal file
View File

@ -0,0 +1,15 @@
/* Minimal stdlib.h stub for freestanding Nim */
#ifndef _STDLIB_H
#define _STDLIB_H
#include <stddef.h>
void *malloc(size_t size);
void free(void *ptr);
void *realloc(void *ptr, size_t size);
void *calloc(size_t nmemb, size_t size);
void abort(void);
void exit(int status);
void _Exit(int status);
#endif /* _STDLIB_H */

16
core/include/string.h Normal file
View File

@ -0,0 +1,16 @@
/* Minimal string.h stub for freestanding Nim */
#ifndef _STRING_H
#define _STRING_H
#include <stddef.h>
/* Minimal implementations defined in cstubs.c */
void *memcpy(void *dest, const void *src, size_t n);
void *memset(void *s, int c, size_t n);
void *memmove(void *dest, const void *src, size_t n);
int memcmp(const void *s1, const void *s2, size_t n);
size_t strlen(const char *s);
char *strcpy(char *dest, const char *src);
int strcmp(const char *s1, const char *s2);
#endif /* _STRING_H */

View File

@ -1,13 +1,16 @@
# Rumpk Kernel Core (Nim) # Rumpk Layer 1: The Logic Core
# kmain() entry point - called from L0 Zig boot # Markus Maiwald (Architect) | Voxis Forge (AI)
#
# This is the Nim kernel entry point.
# Compiled with --os:standalone --mm:arc
{.push stackTrace: off.} {.push stackTrace: off, lineTrace: off.}
# ========================================================= # =========================================================
# FFI Imports from L0 (Zig HAL) # HAL Imports from Zig (Layer 0)
# ========================================================= # =========================================================
proc rumpk_console_write(p: pointer, len: csize_t) {.importc, cdecl.} proc console_write(p: pointer, len: csize_t) {.importc, cdecl.}
proc rumpk_halt() {.importc, cdecl, noreturn.} proc rumpk_halt() {.importc, cdecl, noreturn.}
# ========================================================= # =========================================================
@ -16,26 +19,80 @@ proc rumpk_halt() {.importc, cdecl, noreturn.}
proc kprint(s: string) = proc kprint(s: string) =
if s.len > 0: if s.len > 0:
rumpk_console_write(unsafeAddr s[0], csize_t(s.len)) console_write(unsafeAddr s[0], csize_t(s.len))
proc kprintln(s: string) = proc kprintln(s: string) =
kprint(s) kprint(s)
kprint("\n") kprint("\n")
# ========================================================= # =========================================================
# Kernel Main # Panic Handler (Required for --os:standalone)
# ========================================================= # =========================================================
proc kmain() {.exportc, cdecl, noreturn.} = proc nimPanic(msg: cstring) {.exportc: "panic", cdecl, noreturn.} =
kprintln("╔═══════════════════════════════════════╗") kprint("\n[PANIC] ")
kprintln("║ RUMPK UNIKERNEL v0.0 ║") if msg != nil:
kprintln("║ Zig+Nim • Zero POSIX • Modular ║") var i = 0
kprintln("╚═══════════════════════════════════════╝") while msg[i] != '\0':
kprintln("") var buf: array[1, char]
kprintln("[rumpk] L0 HAL initialized (Zig)") buf[0] = msg[i]
kprintln("[rumpk] L1 Logic running (Nim)") console_write(addr buf[0], 1)
kprintln("[rumpk] Entering halt...") inc i
kprint("\n")
rumpk_halt() rumpk_halt()
# =========================================================
# Memory Allocator Stubs (Required for ARC on freestanding)
# =========================================================
# Static heap for bare metal (64KB)
var heapBase {.exportc.}: array[64 * 1024, byte]
var heapOffset {.exportc.}: csize_t = 0
proc allocImpl(size: csize_t): pointer {.exportc: "malloc", cdecl.} =
if heapOffset + size > csize_t(heapBase.len):
return nil
result = addr heapBase[heapOffset]
heapOffset += size
proc deallocImpl(p: pointer) {.exportc: "free", cdecl.} =
# Bump allocator - no dealloc
discard
proc reallocImpl(p: pointer, size: csize_t): pointer {.exportc: "realloc", cdecl.} =
# Simple realloc - just allocate new (wasteful but works)
result = allocImpl(size)
# Nim's internal allocation hooks
proc rawAlloc(size: Natural): pointer {.exportc: "rawAlloc", cdecl.} =
result = allocImpl(csize_t(size))
proc rawDealloc(p: pointer) {.exportc: "rawDealloc", cdecl.} =
deallocImpl(p)
proc rawRealloc(p: pointer, size: Natural): pointer {.exportc: "rawRealloc", cdecl.} =
result = reallocImpl(p, csize_t(size))
# =========================================================
# Kernel Main Entry
# =========================================================
proc kmain() {.exportc, cdecl.} =
kprintln("╔═══════════════════════════════════════╗")
kprintln("║ Layer 1: Nim Kernel Alive! ║")
kprintln("╚═══════════════════════════════════════╝")
kprintln("")
kprintln("[Rumpk L1] Memory: ARC (Deterministic)")
kprintln("[Rumpk L1] POSIX: None (Hostile)")
kprintln("[Rumpk L1] Status: OPERATIONAL")
kprintln("")
kprintln("[Rumpk L1] The Rubicon is crossed.")
kprintln("[Rumpk L1] Zig + Nim = Sovereign Metal.")
kprintln("")
kprintln("[Rumpk L1] Entering idle loop...")
# Idle loop - in real kernel, this would be the scheduler
while true:
{.emit: "asm volatile(\"wfi\");".}
{.pop.} {.pop.}

26
core/panicoverride.nim Normal file
View File

@ -0,0 +1,26 @@
# Rumpk Panic Override
# Required for Nim --os:any / --os:standalone
# This file must be named panicoverride.nim
{.push stackTrace: off.}
proc console_write(p: pointer, len: csize_t) {.importc, cdecl.}
proc rumpk_halt() {.importc, cdecl, noreturn.}
proc rawoutput(s: string) =
if s.len > 0:
console_write(unsafeAddr s[0], csize_t(s.len))
proc panic(s: cstring) {.exportc, noreturn.} =
rawoutput("[PANIC] ")
if s != nil:
var i = 0
while s[i] != '\0':
var buf: array[1, char]
buf[0] = s[i]
console_write(addr buf[0], 1)
inc i
rawoutput("\n")
rumpk_halt()
{.pop.}

74
hal/main.zig Normal file
View File

@ -0,0 +1,74 @@
// Rumpk Layer 0: The Concrete Foundation
// Markus Maiwald (Architect) | Voxis Forge (AI)
//
// This is the hardware floor. Sets up stack and calls Nim.
const uart = @import("uart.zig");
// =========================================================
// Stack Setup (16KB)
// =========================================================
export var stack_bytes: [16 * 1024]u8 align(16) = undefined;
// =========================================================
// Entry Point (Naked - no prologue)
// =========================================================
export fn _start() callconv(.naked) noreturn {
// ARM64: Set up stack pointer, then call zig_entry
asm volatile (
\\ adrp x0, stack_bytes
\\ add x0, x0, :lo12:stack_bytes
\\ add sp, x0, #16384
\\ bl zig_entry
\\ b .
);
unreachable;
}
// =========================================================
// HAL Exports to Nim (The ABI Contract)
// =========================================================
export fn console_write(ptr: [*]const u8, len: usize) void {
uart.write_bytes(ptr[0..len]);
}
export fn rumpk_halt() noreturn {
uart.puts("[Rumpk L0] Halting.\n");
while (true) {
asm volatile ("wfi");
}
}
// =========================================================
// Nim Entry Point (extern)
// =========================================================
extern fn kmain() void;
// =========================================================
// Zig Entry (called from _start)
// =========================================================
export fn zig_entry() void {
uart.init();
uart.puts("\n");
uart.puts("╔═══════════════════════════════════════╗\n");
uart.puts("║ RUMPK UNIKERNEL v0.1 ║\n");
uart.puts("║ Layer 0: Zig HAL Initialized ║\n");
uart.puts("╚═══════════════════════════════════════╝\n");
uart.puts("\n");
uart.puts("[Rumpk L0] Stack: 16KB @ stack_bytes\n");
uart.puts("[Rumpk L0] UART: 0x09000000 (QEMU virt)\n");
uart.puts("[Rumpk L0] Handing off to Nim L1...\n");
uart.puts("\n");
// THE RUBICON CROSSING
kmain();
// If Nim returns, halt
uart.puts("[Rumpk L0] Nim returned unexpectedly.\n");
rumpk_halt();
}

45
hal/uart.zig Normal file
View File

@ -0,0 +1,45 @@
// Rumpk Layer 0: UART Driver
// Minimal serial output for QEMU 'virt' machine
//
// QEMU virt UART: PL011 @ 0x09000000
const UART0_BASE: usize = 0x09000000;
// PL011 Register Offsets
const UARTDR: usize = 0x00; // Data Register
const UARTFR: usize = 0x18; // Flag Register
const UARTFR_TXFF: u32 = 1 << 5; // TX FIFO Full
pub fn init() void {
// QEMU PL011 is pre-initialized, no setup needed
}
fn write_char(c: u8) void {
const dr: *volatile u32 = @ptrFromInt(UART0_BASE + UARTDR);
const fr: *volatile u32 = @ptrFromInt(UART0_BASE + UARTFR);
// Wait for TX FIFO to have space
while ((fr.* & UARTFR_TXFF) != 0) {}
dr.* = c;
}
pub fn write_bytes(bytes: []const u8) void {
for (bytes) |b| {
if (b == '\n') {
write_char('\r');
}
write_char(b);
}
}
pub fn puts(s: []const u8) void {
write_bytes(s);
}
pub fn putc(c: u8) void {
if (c == '\n') {
write_char('\r');
}
write_char(c);
}

22
run.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
# Rumpk QEMU Boot Script
RUMPK_DIR="$(cd "$(dirname "$0")" && pwd)"
KERNEL="$RUMPK_DIR/build/rumpk.elf"
if [ ! -f "$KERNEL" ]; then
echo "ERROR: Kernel not found at $KERNEL"
echo "Run ./build.sh first"
exit 1
fi
echo "🚀 Booting Rumpk..."
echo " Kernel: $KERNEL"
echo ""
qemu-system-aarch64 \
-M virt \
-cpu cortex-a57 \
-m 128M \
-nographic \
-kernel "$KERNEL"