Genode OS Framework Foundations
- Introduction
- Getting started
- Architecture
- Components
- Development
- System configuration
- Nested configuration concept
- The init component
- Session routing
- Resource assignment
- Multiple instantiation of a single ELF binary
- Session-label rewriting
- Nested configuration
- Configuring components from distinct ROM modules
- Assigning subsystems to CPUs
- Priority support
- Propagation of exit events
- State reporting
- Init verbosity
- Service forwarding
- Component health monitoring
- Unlabeled of LOG messages
- Session routing
- Nested configuration concept
- Under the hood
- Component-local startup code and linker scripts
- C++ runtime
- Interaction of core with the underlying kernel
- Asynchronous notification mechanism
- Parent-child interaction in detail
- Dynamic linker
- Execution on bare hardware (base-hw)
- Bootstrapping of base-hw
- Kernel entry and exit
- Interrupt handling and preemptive multi-threading
- Split kernel interface
- Public part of the kernel interface
- Core-private part of the kernel interface
- Scheduler of the base-hw kernel
- Sparsely populated core address space
- Multi-processor support of base-hw
- Asynchronous notifications on base-hw
- Bootstrapping of base-hw
- Execution on the NOVA microhypervisor (base-nova)
- Integration of NOVA with Genode
- Bootstrapping of a NOVA-based system
- Log output on modern PC hardware
- Relation of NOVA's kernel objects to Genode's core services
- Page-fault handling on NOVA
- Asynchronous notifications on NOVA
- IOMMU support
- Genode-specific modifications of the NOVA kernel
- Known limitations of NOVA
- Integration of NOVA with Genode
- Functional specification
- API primitives
- Component execution environment
- Entrypoint
- Region-map interface
- Session interfaces of the base API
- OS-level session interfaces
- Report session interface
- Terminal and UART session interfaces
- Event session interface
- Capture session interface
- GUI session interface
- Capture session interface
- Platform session interface
- Block session interface
- Timer session interface
- NIC and uplink session interfaces
- Audio-out session interface
- File-system session interface
- Report session interface
- Fundamental types
- Data structures
- Object lifetime management
- Physical memory allocation
- Component-local allocators
- String processing
- Multi-threading and synchronization
- Signalling
- Remote procedure calls
- XML processing
- Component management
- Utilities for user-level device drivers