Releases: Monotoba/toyix
Chapter 7
Chapter 6
Chapter 6 adds Toyix's first kernel heap and shared kernel allocation interface.
Highlights:
- Moves public kernel headers under include/kernel.
- Adds shared freestanding string/memory declarations.
- Adds an early kernel heap with kmalloc, kcalloc, and kfree.
- Adds heap block splitting, coalescing, statistics, and boot-time sanity checks.
- Adds PMM helpers for allocations below the identity-mapped limit.
- Adds heap coverage to the normal QEMU smoke test.
- Tracks CFLAGS_EXTRA changes so test-only builds do not poison later normal builds.
Chapter 5
Chapter 5 enables initial 32-bit x86 paging in Toyix.
Highlights:
- Adds identity-mapped paging for the first 16 MiB.
- Adds CR0, CR2, and CR3 paging helpers.
- Adds page-fault diagnostics using CR2 and decoded page-fault error bits.
- Adds boot-time paging sanity checks.
- Adds a dedicated page-fault test target with QEMU serial log validation.
- Updates Chapter 5 documentation, README, changelog, and series index.
Chapter 4
Chapter 4 release for Toyix: Multiboot memory map parsing and a physical page allocator.\n\nHighlights:\n- Parses the Multiboot memory map from GRUB.\n- Adds a bitmap-backed physical page allocator for 4 KiB frames.\n- Reserves low memory, the kernel image, and bootloader memory-map data.\n- Adds decimal console output for PMM statistics.\n- Extends smoke coverage for PMM initialization and allocation/free sanity checks.\n- Fixes build flag tracking so exception-test builds do not affect later normal runs.\n\nCI: GitHub Actions run 27924793117 passed on main before this release.
Chapter 3
Chapter 3 release for Toyix: hardware IRQs and an interruptible kernel idle loop.\n\nHighlights:\n- Adds remapped 8259 PIC hardware IRQ handling.\n- Adds IRQ stubs for vectors 0x20-0x2F.\n- Adds PIT timer ticks and timer wait support.\n- Adds an early PS/2 keyboard scancode echo driver.\n- Adds an interruptible idle loop for normal kernel sleep.\n- Extends smoke coverage for IRQ setup and timer ticks.\n\nCI: GitHub Actions run 27919253150 passed on main before this release.
Chapter 02
Chapter 02 release for Toyix: GDT, IDT, and surviving the first kernel crash.\n\nHighlights:\n- Installs a flat ring-0 Global Descriptor Table.\n- Installs Interrupt Descriptor Table entries for CPU exceptions 0-31.\n- Adds assembly ISR stubs and a shared C exception handler.\n- Adds kernel panic and halt support for unrecoverable exceptions.\n- Extends smoke coverage with a deliberate invalid-opcode exception test.\n\nCI: GitHub Actions run 27886759617 passed on main before this release.
Chapter 01
Chapter 01 release for Toyix: the smallest useful kernel.\n\nHighlights:\n- Boots a Multiboot-compatible i686 kernel through GRUB.\n- Initializes serial and VGA text console output.\n- Includes a QEMU smoke test that validates boot output.\n- Publishes the bootable ISO artifact for this chapter.