Skip to content
WALDEMAR KOZACZUK edited this page Dec 19, 2021 · 17 revisions

Modularization/"Librarization"

  • Hide most symbols and C++ standard library (Partially addressed by #af2d371a61f6ab1eb5a066a0c3e93230faf6611c and other commits)
    • Issue 97 - Be more selective on symbols exported from the kernel
    • The research results with numbers described in this discussion and the older one seem to indicate that both C++ standard library and other non-public symbols should be hidden in the kernel to make this goal achievable
  • Create toolchain to optionally build custom kernel tailored to specific hypervisor or app
  • Reduce kernel size
    • Shrinking kernel described in this early discussion would really be a result of hiding C++ library and most symbols (see above) but also conditionally compiling in/out various modules (see the first bullet in the Modularization/"Librarization")
  • Expose C++ APIs as C to hide C++ completely

Merge ipv6 branch into master

Improve tooling

  • Improve capstan
    • Better support QEMU on OSX (new accelerators)
    • Support pulling artifacts from GitHub nightly releases repo
    • Support running Firecracker, QEMU microvm
    • Support Virtio-FS
  • Create IntelliJ, Maven and or Gradle plugins to deploy Java, Node, etc apps
  • Run Docker images on OSv (possibly musl-based like Alpine are better)

Other finer-level improvements

Improve AArch64 support

Clone this wiki locally