ZXFoundation 26h1 (Milestone 1)


It has been about 2 months since the initial commit of the ZXFoundation kernel. Commit afad088 on April 27th. The journey on z/Architecture has been great, but is also a lot of work. Currently, the stage of the kernel is still very early; we are still working on the architecture, hardening subsystems and step-by-step adding features to the kernel. It can be considered, at this stage, a WIP project or a barebones kernel.

This initial milestone-even though a big milestone, does not mean that the kernel is ready to be used. And there is actually nothing to showcase yet. It primarily serves as a reference material for the upcoming releases. Currently, key features include:

  • ZXFoundationLoader™ – a 2-stage bootloader
    • Mostly in C, ASM usage minimized
    • HHDM support
    • DASD/VTOC driver
    • Topologies support
    • Hardware-specific information
    • Somewhat portable if you want to use it
    • Custom protocol
  • ZXVerifiedLoad™ - security protocol
    • Kernel binary lock
    • Handshake stub
    • SHA256 signature verification
  • ZXFoundation™ – the kernel itself
    • SMP (and NUMA) support
    • 5 level paging (DAT)
    • EDAT-1/2 support
    • native 64 bit support (z/Architecture-exclusive)
    • basic hardware drivers like SCLP, STFLE, SIGP, …
    • zxallsyms for symbol lookup
    • libzxunwind for stack unwinding (backtrace)
    • libubsanrt for runtime sanitizers
    • koms as Kernel Object Managament System
    • simplelog/printk for logging

You can find the sources and changelog on GitHub.

Have fun!