Skip to content

Releases: Monotoba/toyix

Chapter 7

23 Jun 06:10

Choose a tag to compare

Chapter 7 adds a virtual memory manager with map/unmap/translate support, on-demand page-table setup, and the corresponding documentation updates.

Chapter 6

22 Jun 23:20

Choose a tag to compare

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

22 Jun 19:56

Choose a tag to compare

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

22 Jun 01:56

Choose a tag to compare

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

21 Jun 22:20

Choose a tag to compare

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

20 Jun 23:11

Choose a tag to compare

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

20 Jun 03:16

Choose a tag to compare

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.