Marcin Witkowski e64ac727d1 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: Ia690006436b2bd5fc892bff139668f8d518cb426
GitOrigin-RevId: c8081ff8d932e5c9b427a1e9bb0bc2db7c674738
2022-10-06 18:48:34 +00:00
2022-10-06 18:34:04 +00:00
2022-10-06 18:41:15 +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.

Description
No description provided
Readme Apache-2.0 1.2 MiB
Languages
Rust 67.6%
Python 27.9%
C 2.1%
Makefile 1.6%
CMake 0.6%
Other 0.2%