Go to file
Marcin Witkowski 2a1cf83ac5 kata-os-common: improve portability & fix aarch64 platform
A smorgasbord of chnages to sel4-sys and kata-os-model mostly in support
of the aarch64 platform. This is derived from Marcin's aarch64 work.

TODO(sleffler): seL4_Page_Map_Flush maybe belongs in sel4-sys

sel4-sys changes:
- hoist seL4_ObjectTypeCount out of arch
- make seL4_Page_Map for ARM honor the grant right to set the NX bit
- fill-in seL4_ObjectType & related impl's for ARM & X86
- import cfg-if crate to cleanup various tangled conditionals

kata-os-model changes:
- add seL4_Page_Map_Flush to encapsulate arch-specific work needed after
  an seL4_Page_Map call; this is kept separate to avoid changing the
  Page_Map api
- purge kobject_t and replace kobject_get_type with get_frame_type
- purge kobject_get_size (only use was to calculate the size of the
  SchedContext object which is arch-independent)
- redo CDL_ObjectType to work for all arch's
- various fixes for target_arch aarch64
- construct platform_gen.rs at build-time from seL4's platform_gen.h for
  seL4_Page_Map_Flush to do it's job
- get target_arch arm closer (esp needs vspace setup fixed)
- correct various "arm" & "x86" target_arch checks to cover both 32-
  and 64-bit arch's
- misc style changes (e.g. sort imports)

capdl changes:
- add arch-specific CDL_CapType entries

NB: seL4_Page_Map_Flush for ARM is overly conservative in invalidating
    the data cache; this could be improved by identifying whether the page
    has a pre-assigned paddr
Change-Id: I005cbbbd36ea6711feed66412391e3790dda2966
GitOrigin-RevId: b5c6893fa1c7f3297d88aa7f522a2792ac3b75c7
2022-10-06 18:49:04 +00:00
apps/system kata-os-common: improve portability & fix aarch64 platform 2022-10-06 18:49:04 +00:00
src processmanager: Initial project skeleton 2022-10-06 17:54:12 +00:00
.gitignore Ignores __pycache__ files 2022-10-06 18:34:04 +00:00
CMakeLists.txt Replaces processmanager with a one-app CAmkES assembly for the entire Kata OS 2022-10-06 17:54:23 +00:00
easy-settings.cmake Add MemoryManager service. 2022-10-06 18:41:15 +00:00
README.md Replaces processmanager with a one-app CAmkES assembly for the entire Kata OS 2022-10-06 17:54:23 +00:00
settings.cmake Replaces processmanager with a one-app CAmkES assembly for the entire Kata OS 2022-10-06 17:54:23 +00:00

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.