github: style check on diff only for this repo
This repository is not yet fully style-clean, and the policy is to
update files as we touch them, not in one big go. Until we have reached
a fully style-clean state, we should check only the diff on push, not
all files.
Signed-off-by: Gerwin Klein gerwin.klein@proofcraft.systems
RefOS Repository
This is the git repository for RefOS. This repository is meant to be used as part of a Google repo setup. Instead of cloning it directly, please go to the following repository and follow the instructions there:
RefOS is currently supported on iMX3.1 KZM, iMX6 Sabre Lite and ia32 hardware platforms and on qemu-ARM kzm and qemu-i386 ia32.
Overview
The repository is organised as follows.
impl/apps
: RefOS system and userland applicationsselfloader
: Bootstrap application, which is responsible for starting user processes.process_server
: The process server, which runs as the root task and provides process and thread abstraction and initialises the entire system.file_server
: The cpio file server, which stores files and executables in a cpio archive and exposes them via a dataspace interface.console_server
: The console server, a system process which acts as the console device driver and manages serial input and output and EGA text mode output.timer_server
: The timer server, a userland driver process which manages the timer device and provides timer get time and sleep functionality.terminal
: The interactive terminal application.test_os
: RefOS operating system level test suite, which tests the operating system environment.test_user
: RefOS user-level test application, which is responsible for testing the operating system user environment.snake
: Example snake game.tetris
: Example tetris game.nethack
: Port of Nethack 3.4.3 roguelike game.impl/libs
: RefOS system and userland applicationslibdatastruct
: RefOS library that provides simple C data structures such as vectors, hash tables and allocation tables.librefos
: RefOS user and server shared definitions, RPC specifications and generated stubs and low level helper libraries.librefossys
: RefOS library that implements some POSIX system calls using low-level RefOS and thus allows the C library to work. This directory is intended to simplify RefOS userland applications and facilitate porting.impl/docs
: RefOS doxygen code documentation.design
: RefOS protocol design document.Suggested Future Work
The following is suggested future work that interested open-source developers could implement:
License
RefOS code is released under the BSD license where possible and GPL for some external software. Please see the individual file headers and
LICENSE.md
for details.Please note that RefOS is intended to be sample code and is not high assurance software. We are not reponsible for any consequences if you choose to deploy this software in production.