mirror of
https://github.com/AmbiML/sparrow-kata-full.git
synced 2025-09-15 06:29:14 +00:00
ddacc3762ef6c0ee1f60085b6c1b815d56c260e7
Add a new "camkes" submodule that consolidates KataOS CAmkES component integration boilerplate. Each component is expected to declare: static mut CAMKES: Camkes = Camkes::new("ProcessManager"); and then (typically) use "pre_init" to setup the logger, heap, and the slot allocator. More fine-grained control is provided by: fn init_logger(self: &Cmakes, level: Log::LevelFilter); fn init_allocator(self: &Camkes, heap: &'static mut [u8]); fn init_slot_allocator(self: &Camkes, first_slot: seL4_CPtr, last_slot: seL4_CPtr); When receiving capabilities use "init_recv_path" to setup the IPCBuffer receive path and "assert_recv_path" & "check_recv_path" calls to verify noting has clobbered the setting. The debug_assert_slot_* macros are wrapped in Camkes:: functions and a "top_level_path" function for constructing seL4_CPath objects. Altogether this normally allows a component to be written without direct use of the CAmkES global static identifiers SELF_CNODE*. Change-Id: Ia1351e411a5355789cf74bc0fcfe0e41a418b7d4 GitOrigin-RevId: fb81a8e0687ed9321c9961410edd5dbd54093ce5
Kata OS
This is a CAmkES project that assembles the entire Kata OS. It exists outside the seL4 source trees, since it contains code not intended to go to upstream seL4.
This uses the standard CAmkES build system by symlinking CMakeLists.txt. It also symlinks settings.cmake, and so retains the notion of "apps," which enables the build system to switch which assembly it builds using the CAMKES_APP CMake cache value. Kata OS just has one app, system.
Description
Languages
Rust
67.6%
Python
27.9%
C
2.1%
Makefile
1.6%
CMake
0.6%
Other
0.2%