Expand description
VeridianOS Kernel Library
This library provides the core functionality for the VeridianOS kernel and exports necessary items for testing.
Re-exports§
pub use mm::FrameNumber;pub use mm::MemoryRegion;pub use mm::FRAME_SIZE;pub use sched::Priority;pub use sched::SchedClass;pub use sched::Task;
Modules§
- arch
- Architecture abstraction layer for VeridianOS.
- audio
- Audio subsystem for VeridianOS
- bench
- Benchmarking framework for VeridianOS kernel
- bootstrap
- Bootstrap module for kernel initialization
- browser
- Web Browser Engine for VeridianOS
- crypto
- Cryptographic Infrastructure
- debug
- Kernel Debug Infrastructure
- desktop
- Desktop subsystem
- devtools
- Developer Tools
- drivers
- Device drivers module
- elf
- ELF64 Binary Loader
- error
- Comprehensive error types for VeridianOS kernel
- fs
- Virtual Filesystem (VFS) Layer
- graphics
- Graphics and GUI subsystem
- ipc
- Inter-Process Communication (IPC) subsystem for VeridianOS
- irq
- Architecture-independent IRQ abstraction layer
- log_
service - Structured kernel log service
- media
- Media codecs and processing for VeridianOS
- mm
- Memory management subsystem
- net
- Network stack for VeridianOS
- perf
- Performance optimization and monitoring
- phase2_
validation - Phase 2 Complete Validation
- pkg
- Package Management System
- power
- Power management subsystem for VeridianOS
- Kernel printing macros.
- print_
capture - Output capture buffer for redirecting
println!output. - process
- Process management module
- raii
- RAII (Resource Acquisition Is Initialization) patterns for kernel resources
- sched
- Process and thread scheduling module
- security
- Security infrastructure for VeridianOS This module provides comprehensive security features including:
- serial
- Generic serial interface for kernel console output.
- services
- System services module
- stdlib
- Standard Library Foundation
- sync
- Synchronization Primitives
- sysfs
- Virtual sysfs filesystem for VeridianOS.
- test_
tasks - Test tasks for verifying context switching functionality
- thread_
api - Thread Management APIs
- timer
- High-resolution timer management for VeridianOS.
- userland
- Userland Module
- userspace
- User-space support module
- utils
- Kernel utilities
- verification
- Formal Verification Module
- video
- Video framework for VeridianOS
- virt
- Virtualization subsystem - VMX hypervisor, EPT memory, containers
Macros§
- benchmark
- boot_
print_ num - Number printing (legacy - prefer kprint_num!)
- boot_
println - Bootstrap-safe println (legacy - prefer kprintln!)
- defer
- Macro to create RAII scope guards
- define_
bootstrap_ stages - Macro to generate the 12 bootstrap stage tracking functions.
- early_
print - Early print macro for debugging
- early_
println - Early println macro for debugging
- kernel_
assert - Assertion macros for kernel tests
- kernel_
assert_ eq - kernel_
assert_ ne - kernel_
bench - Macro for creating benchmarks
- kernel_
error - kernel_
test - Macro to define kernel tests
- kprint
- Print a string literal to the kernel console (all architectures). For formatted output, works on x86_64 and RISC-V only; no-op on AArch64.
- kprint_
num - Print a literal prefix followed by a number on all architectures. On AArch64, uses direct_uart assembly-based number printing.
- kprint_
rt - Print a runtime &str expression (not just a literal) on all architectures. On AArch64, uses direct_uart; on x86_64/RISC-V, uses serial print.
- kprint_
u64 - Print a u64 number without newline on all architectures. On AArch64, uses direct_uart assembly; on x86_64/RISC-V, uses serial.
- kprintln
- Print a string literal followed by newline (all architectures). For formatted output, works on x86_64 and RISC-V only; no-op on AArch64.
- println
- register_
test - require_
capability - Capability check macro for system calls
- serial_
print - serial_
println - test_
module - Helper macro for creating test modules
- test_
timeout - trace
- Convenience macro for recording trace events with zero overhead when disabled.
Structs§
- Benchmark
Runner - Benchmark runner
Enums§
Traits§
- Testable
- Trait that all testable functions must implement
Functions§
- cycles_
to_ ns - Convert CPU cycles to nanoseconds (approximate)
- exit_
qemu - Exit QEMU with a specific exit code
- get_
allocator - Get a reference to the global allocator
- read_
timestamp - Get current timestamp in nanoseconds (architecture-specific).
- test_
panic_ handler - Panic handler for test mode