<feed xmlns='http://www.w3.org/2005/Atom'>
<title>StrixKernel, branch CLAUDE_TEST</title>
<subtitle>Custom x86_64 kernel written in Rust
</subtitle>
<id>http://git.256phi.eu/StrixKernel/atom?h=CLAUDE_TEST</id>
<link rel='self' href='http://git.256phi.eu/StrixKernel/atom?h=CLAUDE_TEST'/>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/'/>
<updated>2026-04-08T18:31:54Z</updated>
<entry>
<title>[Phase 2.4-2.6] Process table, round-robin scheduler, Ring 3 spawn</title>
<updated>2026-04-08T18:31:54Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-08T18:31:54Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=4eddd10e22c6c439f88c97310031df68ec70e50a'/>
<id>urn:sha1:4eddd10e22c6c439f88c97310031df68ec70e50a</id>
<content type='text'>
Adds the task module (process control block, PROCESS_TABLE,
round-robin scheduler, and iretq-based Ring 3 entry) and wires
set_syscall_kernel_stack into the scheduler so SYSCALL uses the
current process's kernel stack.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>[Phase 2.2/2.3] SYSCALL/SYSRET MSR setup + syscall dispatcher</title>
<updated>2026-04-08T14:45:40Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-08T14:45:40Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=c683e9ba28583c4650992394067422bb6cff75f6'/>
<id>urn:sha1:c683e9ba28583c4650992394067422bb6cff75f6</id>
<content type='text'>
syscall/mod.rs:
- Configure STAR (kernel CS=0x08, user base=0x10), LSTAR, SFMASK (clear IF),
  EFER.SCE to enable the SYSCALL/SYSRET instruction pair
- Naked assembly entry stub: swapgs, save/restore user RSP via per-CPU static,
  remap r10→rcx for Linux arg4 convention, call Rust syscall_handler, sysretq
- validate_user_ptr(): bounds check for all user pointers (0..USER_ADDR_MAX)
- set_syscall_kernel_stack(): for scheduler to update per-CPU kernel RSP

syscall/dispatch.rs:
- dispatch(): routes syscall numbers; unknown → -ENOSYS (never panics)
- sys_write(fd, buf, count): fd 1/2 → serial; validates user ptr; read_volatile
  loop avoids Rust aliasing assumptions on untrusted memory
- sys_exit(): serial log + hlt_loop() placeholder; Phase 2.5 adds scheduling

lib.rs: register syscall::init() + syscall::init_kernel_stack() in strix_os::init()

All existing integration tests pass.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>[Phase 2.1] GDT user space segments + heap growth</title>
<updated>2026-04-08T14:40:09Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-08T14:40:09Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=af1089a4262414b64714b87180f2223c8a40918f'/>
<id>urn:sha1:af1089a4262414b64714b87180f2223c8a40918f</id>
<content type='text'>
- Restructure GDT to add kernel_data/user_data/user_code in the order
  required for SYSCALL/SYSRET ABI:
    0x08 kernel code, 0x10 kernel data, 0x18 user data, 0x20 user code, 0x28 TSS
  STAR MSR values: STAR[47:32]=0x08, STAR[63:48]=0x10
- Add TSS.privilege_stack_table[0] (RSP0) with 8 KiB static initial stack
  for Ring3→Ring0 hardware interrupt transitions
- Expose GDT static and all Selectors fields as pub (needed by syscall module)
- Add set_kernel_stack(VirtAddr) for scheduler to update RSP0 per-process
- Grow HEAP_SIZE 100 KiB → 4 MiB to support process table + kernel stacks
- Fix pre-existing lifetime elision lint in allocator.rs
- Update flake.nix: add cpio, busybox, gdb, binutils, e2fsprogs
- Update NOTES.md with decisions and next steps

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>[Step 0] Add PLAN.md and NOTES.md</title>
<updated>2026-04-08T14:29:35Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-08T14:29:35Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=eb61ec76367731579eb585f39b251da629beb871'/>
<id>urn:sha1:eb61ec76367731579eb585f39b251da629beb871</id>
<content type='text'>
PLAN.md: Full 7-phase development roadmap with progress tracker, per-phase
tasks, integration test specs, security baseline, and dependency list.

NOTES.md: Running developer log for context recovery after session resets.
Documents key architecture decisions (GDT segment order, filesystem strategy,
heap sizing, syscall ABI).

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>POST 11 DONE</title>
<updated>2026-04-01T18:05:06Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-01T18:05:06Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=0741fe434094aebab684c091e757812bff007a8e'/>
<id>urn:sha1:0741fe434094aebab684c091e757812bff007a8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>added a many_boxes_long_lived intgration test for heap_allocation</title>
<updated>2026-04-01T18:04:58Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-01T18:04:58Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=b30e04fe6dbe180abbd222dc0de81af1d4cc0cdb'/>
<id>urn:sha1:b30e04fe6dbe180abbd222dc0de81af1d4cc0cdb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added all new implemented allocators to allocator.rs</title>
<updated>2026-04-01T18:04:09Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-01T18:04:09Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=bd87767255c784156deb19ea166826ab78a023fb'/>
<id>urn:sha1:bd87767255c784156deb19ea166826ab78a023fb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>implemented a fixed size block allocator</title>
<updated>2026-04-01T18:03:46Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-01T18:03:46Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=4a1014593cd628098e80f15782a4cb51ce267cd4'/>
<id>urn:sha1:4a1014593cd628098e80f15782a4cb51ce267cd4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>implemented a linked list allocator</title>
<updated>2026-04-01T18:03:27Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-01T18:03:27Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=ffeb9ed00876c1284077e5ef4e4125f6ce8c93bf'/>
<id>urn:sha1:ffeb9ed00876c1284077e5ef4e4125f6ce8c93bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>implemented a bump allocator</title>
<updated>2026-04-01T18:03:09Z</updated>
<author>
<name>Natasha Moongrave</name>
<email>natasha@256phi.eu</email>
</author>
<published>2026-04-01T18:03:09Z</published>
<link rel='alternate' type='text/html' href='http://git.256phi.eu/StrixKernel/commit/?id=aef9730a5ec7740f8c9753f64c5a757cccc44f82'/>
<id>urn:sha1:aef9730a5ec7740f8c9753f64c5a757cccc44f82</id>
<content type='text'>
</content>
</entry>
</feed>
