mirror of
https://github.com/AmbiML/sparrow-kata-full.git
synced 2025-08-01 21:59:41 +00:00
The MemoryManager service allocates & frees seL4 objects. Requests can be batched. Capabilities to dynamically allocated objects are moved in CNode containers attached to IPC requests. Specific changes: - Add new CAmkES MemoryManager component. - Add api's for allocating & freeing singleton objects (e.g. kata_cnode_alloc) and batches of objects (kata_object_alloc & kata_object_free). - Add support to kata-os-rootserver to hand-off UntypedMemory objects just before terminating. The objects are placed directly in the MemoryManager's top-level CNode and a BootInfo frame is constructed that describes where the objects are. - Switch the rootserver to kata-os-rootserver as the C version lacks the UntypedMemory hand-off. - Add test_bootinfo kata-shell command to dump the MemoryManager BootInfo frame contents (broken for now because it directlry references the shared page). - Add test_obj_alloc kata-shell command that exercises the MemoryManager singleton and batch api's While here, did some cleanup of arg handling in kata-shell. TODO: top-level object allocations use a simplistic capability allocator TODO: move test_bootinfo to the MemoryManager and add an interface rpc Change-Id: I778b2d5fe7f2f9b65ee642ff905cf56d4b2b02fd GitOrigin-RevId: 7fc72d1927bba165234955e68f8b9ad1b556f6fb |
||
---|---|---|
apps/system | ||
src | ||
.gitignore | ||
CMakeLists.txt | ||
easy-settings.cmake | ||
README.md | ||
settings.cmake |
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.