Skip to content

0.0.2

Compare
Choose a tag to compare
@JonasKruckenberg JonasKruckenberg released this 23 Aug 14:42
· 223 commits to main since this release
d6e7525

This is a smaller release, focusing mostly on an improved developer experience, better code organization and bug fixes.

What's Changed

Better Build Setup

k23 now has a much cleaner build setup using just, nushell and optionally nix for dependency management.

# Run in QEMU
just run configs/riscv64-qemu.toml

# Runs tests in QEMU
just test configs/riscv64-qemu.toml

# And the basic check commands remain
just check configs/riscv64-qemu.toml
just clippy configs/riscv64-qemu.toml
just preflight

kconfig Build Configuration System

Compile-time configuration is now done through the kconfig system (not related to Linux's kconfig) which let's you declare
configuration symbols in Rust code and configure them in a unified .toml file:

#[kconfig_declare::symbol("kernel.stack-size-pages")]
pub const STACK_SIZE_PAGES: size = 32;

the above configuration symbol will read from the following .toml file

[kernel]
stack-size-pages = 128

Other

  • Fixed an issue mapping BSS segments larger than a page (#73)
  • Updated WASM spec test suite (#30)
  • Removed vendored gimli copy (#78)
  • Removed monolithic kstd crate in favor or multiple smaller ones (#90)