Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: About #34

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
# You can also specify other tool versions:
# nodejs: "19"
# rust: "1.64"
# golang: "1.19"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: source/conf.py

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
# python:
# install:
# - requirements: docs/requirements.txt
python:
install:
- requirements: source/requirements.txt
19 changes: 19 additions & 0 deletions source/bao_hyp/overview.rst
Original file line number Diff line number Diff line change
@@ -1,2 +1,21 @@
Overview
========

Bao (from Mandarin Chinese “bǎohù”, meaning “to protect”) is a lightweight,
open-source embedded hypervisor which aims at providing strong isolation and
real-time guarantees. Bao provides a minimal, from-scratch implementation of
the partitioning hypervisor architecture. Designed mainly for targeting
mixed-criticality systems, Bao strongly focuses on isolation for
fault-containment and real-time behavior. Its implementation comprises only a
minimal, thin-layer of privileged software leveraging ISA virtualization
support to implement the static partitioning hypervisor architecture: resources
are statically partitioned and assigned at VM instantiation time; memory is
statically assigned using 2-stage translation; IO is pass-through only; virtual
interrupts are directly mapped to physical ones; and it implements a 1-1
mapping of virtual to physical CPUs, with no need for a scheduler. Bao has no
external dependencies, such as on privileged VMs running untrustable, large
monolithic general-purpose operating systems (e.g., Linux), and, as such,
encompasses a much smaller TCB. Bao originally targets the Armv8-A
architecture, but there is experimental support for the RISC-V architecture.


4 changes: 4 additions & 0 deletions source/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
sphinx
sphinxcontrib-spelling
sphinx-tabs
sphinx-rtd-theme
Loading