- Rename kernel.c -> kernel.cpp and uart.c -> uart.cpp - Add universalisos::uart namespace with constexpr register definitions - Use extern "C" linkage for kernel_main() called from boot.S - Compile with arm-none-eabi-g++ using C++17 freestanding flags (-fno-exceptions, -fno-rtti, -fno-threadsafe-statics, -fno-use-cxa-atexit) - Update Makefile to use g++ and .cpp build rules |
||
|---|---|---|
| docs | ||
| kernel | ||
| src | ||
| xsd/src | ||
| .gitignore | ||
| AURELIO_INTEGRATION.md | ||
| AUTOSAR_CPP.md | ||
| BUILD_ENVIRONMENT.md | ||
| COMPONENTS.md | ||
| HYPERVISOR.md | ||
| IMPORT_GUIDE.md | ||
| IMPORT_SUMMARY.md | ||
| LICENSE | ||
| README.md | ||
| XSD_WORKFLOW_ANALYSIS.md | ||
Universalisos - Type-1 Hypervisor Foundation
Universalisos is our safety-critical type-1 hypervisor foundation for cyber-physical systems, created from zero based on PikeOS architecture. This project imports the complete PikeOS ecosystem to serve as the reference architecture and codebase for Aurelio cyber-physical brain development.
Strategic Objectives
- Type-1 Hypervisor: Safety-critical embedded systems foundation
- AUTOSAR C++ Compliance: MISRA C++, MISRA C, DAL-B, DAL-A (avionics), ISO26262
- Aurelio Integration: PikeOS codegen workflow → Aurelio implementation patterns
- IP-XACT Architecture: Agent components as IP Cores with standard interfaces
- Airship Control Foundation: Type-1 hypervisor for cyber-physical simulation control
Repository Structure
universalisos/
├── kernel/ # Universalisos type-1 hypervisor implementation (C)
├── src/ # PikeOS source code import
├── test/ # PikeOS test framework source code
├── docs/ # Complete PDF documentation
├── ide/ # Eclipse-based IDE source code (XSD → C generation)
├── xsd/ # XSD schema files for C/C++ code generation
└── README.md # This file
Project Status
Current Phase: Stage 1 — Bare-Metal Hypervisor Skeleton
The PikeOS 5.0 ecosystem import is complete. Active work now focuses on the Universalisos type-1 hypervisor itself, starting with a bootable bare-metal skeleton for QEMU ARM virt.
Development Environment Setup
See BUILD_ENVIRONMENT.md for detailed setup instructions.
Required Toolchains:
- GCC cross-compilers (ARM, target architectures)
- CMake and Ninja build systems
- AUTOSAR build tools and code generation utilities
- XSD processing tools and validators
- Eclipse IDE for XSD workflow analysis
Documentation
- BUILD_ENVIRONMENT.md - Development environment setup and build process
- kernel/README.md - Stage 1 bare-metal kernel build/run guide
- AURELIO_INTEGRATION.md - PikeOS → Aurelio integration plan
- XSD_WORKFLOW_ANALYSIS.md - XSD → C code generation workflow
- AUTOSAR_CPP.md - Safety-critical compliance analysis
- COMPONENTS.md - Component categorization and architecture
- HYPERVISOR.md - Type-1 hypervisor design documentation
Hypervisor Kernel (C)
The kernel/ directory contains the actual Universalisos type-1 hypervisor
implementation, written in C++. Stage 1 is a bootable bare-metal skeleton
for QEMU ARM virt:
cd kernel
make
make run
See kernel/README.md for details.
Source Material
Source Location: Nextcloud cloud.portugalfuturista.org/s/devmm-arch
Contents:
- PikeOS source code
- Test frameworks
- PDF documentation
- Eclipse IDE source code (XSD → C generation)
- XSD schema files
Safety-Critical Standards
Universalisos follows strict safety-critical coding standards:
- AUTOSAR C++: Automotive software architecture compliance
- MISRA C++: Motor Industry Software Reliability Association guidelines
- MISRA C: C programming compliance
- DAL-B: Design Assurance Level B (avionics systems)
- DAL-A: Design Assurance Level A (critical avionics systems)
- ISO26262: Functional safety for road vehicles
License
MIT License - See LICENSE file for details
Integration with Ecosystem
Universalisos integrates with:
- nervura-electrica: Infrastructure platform and hosting
- replica-omnisciente: Agent orchestration and mega-brain foundation
- Aurelio: Compiler, gateway, and cyber-physical brain platform
Note: This repository is actively being populated with PikeOS ecosystem content. Documentation and implementation details are being added incrementally during the import process.