From 5e7ec9c81402d2f08b9a746184a47ef886287a5b Mon Sep 17 00:00:00 2001 From: Erin Abicht Date: Mon, 17 Apr 2023 23:01:54 -0400 Subject: [PATCH] Write up basic kernel info --- src/development/design/kernel.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/development/design/kernel.md b/src/development/design/kernel.md index 7ee7486..801332a 100644 --- a/src/development/design/kernel.md +++ b/src/development/design/kernel.md @@ -1 +1,11 @@ # Microkernel +The core `kernel` of **Mercury** will be highly limited, implementing only necessary portions. +This allows other functionality to be delegated to other code. How this will be done is still to be figured out. + +Additionally, most code should be put into separate libraries then pulled into the `kernel` code. +This will likely be done via `git submodules`. + +Initially, it will be built for `RISC-V`, then `ARM` *(focused on running in a [VM](/user/virtual-machine.md))*, then on a **Raspberry Pi**. +Afterwards, we can put focus towards building out various features. + +Support for multiple targets will be done via `Cargo.toml` targets, cross-compilation, and [conditional compilation](https://doc.rust-lang.org/reference/conditional-compilation.html).