Decision 2026-02-12
TL;DR? See Miscellaneous.
(interactive - up one level: magnetite_os/)
Title
Reorganize shared resources module into a Rust crate
Status
Accepted
Rationale
- The decision to convert the
commonmodule into a Rust crate was conceived out of the desire to clarify the hierarchy withincommonand the relationship between the it and its dependents. - Additionally, the use of a crate allows for a more targeted generation of documentation, which may become useful as the crate grows larger.
Consequences
- The module
commonshall reside in thecommon/srcfolder, and should be exposed by thecommon/src/lib.rsfile. - The module
commonmust at the minimum contain thesharedandarchsubmodules. - The hierarchy as defined in decision 2025-09-01 is revised, so
that
common::archhandles architecture-specific definitions, whereascommon::plathandles platform-specific definitions. - Both
common::plat::*andcommon::arch::*must expose the submodulestructs.
Miscellaneous
In essence, the common module has been converted into a
proper Rust crate. The internal hierarchy is more or less
the same, with the addition of the plat submodule.