Skip to main content
Ctrl+K
CellulOS 0.1 documentation - Home CellulOS 0.1 documentation - Home
  • Welcome to CellulOS’s Wiki!

User Guide

  • Getting Started
    • Booting the System
  • Executing User Code
    • Spawning Common PDs
    • Flexible PD Configuration
  • Configuration Options
  • System Tests
  • Model State
  • Benchmarking

Development

  • Resource Servers
    • Requirements
    • Creation
    • Communications
    • Registry Library
    • Creating a Resource Server: Step by Step
  • Resources in CellulOS
  • Implementation Glossary
  • Virtual Machine Monitor
  • Troubleshooting Development Errors
  • Endpoint Component

Design

  • Design Overview
  • Apps
    • The Ramdisk Server
    • The File Server
    • The KVStore Server
  • Design Decisions
    • Preventing Deadlocks with Async Messages
    • Cleanup Policy Design
    • PD Configuration Design
      • PD Runtime Setup
      • Unified PD Entry and Exit Point
  • Design Quirks
  • Known Limitations
  • .md

PD Configuration Design

PD Configuration Design#

  • PD Runtime Setup
    • Conditions for setup method
    • Passing Arguments to the PD
      • Stack Layout for C runtime setup
      • Stack Layout with TLS setup
    • The Root Task’s Role in PD configuration
      • pd_client_runtime_setup()
      • ELF metadata
      • Elevated CPUs
    • TLS setup
  • Unified PD Entry and Exit Point
    • Three main setup pathways:
    • main or entry function visible to the started PD
    • C runtime library
    • CellulOS PD Exit Point
    • libc _start
      • sel4utils processes
      • CellulOS process-like PDs
      • CellulOS thread-like PDs
    • Guest-OS PD Entry
      • Linux Guests
    • Custom startup and shutdown policies

previous

Cleanup Policy Design

next

PD Runtime Setup

By Sid Agrawal, Linh Pham, Arya Stevinson

© Copyright 2024, Sid Agrawal.