Roadmap

Summary of the roadmap files in each repository. bedrock-core is at 0.0.3.

bedrock-core

ROADMAP.md
  1. 0.1.0In progress

    Stable kernel API and test infrastructure

    • Public API in bedrock.h marked as stable or experimental
    • Host-native HAL for x86-64 Linux
    • Unit tests for tasks, scheduler, semaphore, mutex, message queue, sleep list and pool allocator
    • CI pipeline on GitHub Actions: Cortex-M build and host tests
    • br_version.h with version macros
  2. 0.2.0Planned

    RISC-V port

    • arch/riscv32 with CLINT mtime/mtimecmp timer, RV32I context switch and mstatus.MIE interrupt control
    • boards/qemu-riscv32-virt with linker script, startup code and 16550 UART
    • Same examples/main.c running on both architectures
    • RISC-V target in chorus.build and Kconfig, CI for both architectures
  3. 0.3.0Planned

    Shell and introspection

    • Interrupt-driven UART receive
    • Shell with line editing and commands: tasks, mem, uptime, version, reboot
    • br_console formatted output
    • Stack high-water mark, per-task CPU statistics, idle hook
  4. 0.4.0Planned

    Driver model

    • br_device_t with register and find, and open, close, read, write, ioctl operations
    • GPIO, SPI, I2C and interrupt-driven UART drivers
    • Timer and counter driver for PWM and capture
    • Driver authoring guide
  5. 0.5.0Planned

    Filesystem module

    • Block device HAL
    • littlefs integration or a minimal FAT reader
    • Thin VFS layer: mount, open, read, write, close
    • RAM-backed block device for QEMU tests
  6. 0.6.0Planned

    Networking module

    • Network interface HAL
    • lwIP, picoTCP or a minimal UDP/IP stack
    • Socket-like API, loopback interface, QEMU network backend
    • UDP echo server example
  7. 0.7.0Planned

    Third architecture and real hardware

    • One of AVR, x86 or Xtensa
    • Real boards for ARM and RISC-V, for example STM32F4-Discovery and Sipeed Longan Nano
  8. 0.8.0Planned

    Memory protection

    • MPU on Cortex-M and PMP on RISC-V, per-task regions
    • Unprivileged tasks with a system call interface
    • Fault handlers with diagnostic output
    • Kernel code audit
  9. 0.9.0Planned

    API freeze

    • No breaking changes to bedrock.h after this version
    • Complete API reference and a getting-started tutorial
    • Benchmarks: context switch, interrupt latency, IPC throughput, footprint
    • Static analysis and release notes template

genesis

ROADMAP.md
  1. 0.1.0Done

    Minimum bootloader

    • RV32IMA and RV64GC from one codebase
    • M-mode bare-metal and S-mode via OpenSBI
    • NS16550A UART, CLINT timer, logger, panic handler
    • make targets: build, run, debug, size, disasm, clean
  2. 0.2.0Planned

    DTB parsing and memory map

    • Read-only FDT parser, memory and UART discovery
  3. 0.3.0Planned

    Kernel image loading

    • Header validation, relocation, hartid and DTB in a0/a1
  4. 0.4.0Planned

    VirtIO block device

    • MMIO transport, polling block driver, kernel load from disk
  5. 0.5.0Planned

    Configuration and multi-boot

    • INI config, boot menu over UART, fallback entry