60 lines
2.4 KiB
TeX
60 lines
2.4 KiB
TeX
%% Vol II, Chapter 4 — Platform Support
|
|
%% SOURCE: docs/working/scratch/src/platform-integration/ (multiple .adoc files)
|
|
%% docs/working/architecture/03-architecture/hal/ (HAL design — aspirational)
|
|
%% .claude/CLAUDE.md (Platform abstraction, build targets)
|
|
|
|
\chapter{Platform Support}
|
|
\label{vol2:chap:platforms}
|
|
|
|
%% TODO(bob): intro paragraph listing the three supported execution contexts:
|
|
%% 1. Hosted (Linux, POSIX)
|
|
%% 2. L4Re / Fiasco.OC microkernel
|
|
%% 3. Bare metal via LithosAnanke (amd64, aarch64, riscv64)
|
|
|
|
\section{Linux / Hosted}
|
|
\label{vol2:sec:platforms:linux}
|
|
|
|
%% SOURCE: src/platform/linux/time.c, .claude/CLAUDE.md
|
|
%% TODO(bob): describe POSIX timing, standard build, and the hosted execution path.
|
|
|
|
\section{L4Re / Fiasco.OC}
|
|
\label{vol2:sec:platforms:l4re}
|
|
|
|
%% SOURCE: docs/working/scratch/src/platform-integration/L4RE_INTEGRATION.adoc
|
|
%% docs/working/scratch/src/platform-integration/l_4_re_blkio_endpoints.adoc
|
|
%% TODO(bob): describe the L4Re integration: IPC, dataspaces, package structure,
|
|
%% and the blkio vtable API. Note that the malloc/free → L4Re-native allocator
|
|
%% migration (dictionary_management.c) is still pending.
|
|
|
|
\section{Bare Metal: amd64}
|
|
\label{vol2:sec:platforms:amd64}
|
|
|
|
%% SOURCE: .claude/CLAUDE.md (src/starkernel/arch/amd64/)
|
|
%% TODO(bob): describe the amd64 kernel path: arch.c, apic.c, timer.c,
|
|
%% interrupts.c, boot.S, isr.S.
|
|
|
|
\section{Bare Metal: aarch64 and riscv64}
|
|
\label{vol2:sec:platforms:arm-riscv}
|
|
|
|
%% SOURCE: docs/working/scratch/src/platform-integration/RASPBERRY_PI_BUILD.adoc
|
|
%% TODO(bob): describe aarch64 (Raspberry Pi 4) and riscv64 targets.
|
|
%% QEMU-based validation for all three arches.
|
|
|
|
\section{Platform Abstraction Layer (HAL Target)}
|
|
\label{vol2:sec:platforms:hal}
|
|
|
|
%% SOURCE: docs/working/architecture/03-architecture/hal/overview.md
|
|
%% IMPORTANT: the hal_* API described in the hal/ doc family is the TARGET
|
|
%% design, not the current codebase. Current code uses sf_time_backend_t-style
|
|
%% naming. This section describes the planned migration.
|
|
%% TODO(bob): review hal/migration-plan.md and decide whether to describe
|
|
%% the current state, the target, or both (with clear labeling).
|
|
|
|
\section{Raspberry Pi Build}
|
|
\label{vol2:sec:platforms:rpi}
|
|
|
|
%% SOURCE: docs/working/scratch/src/performance-profiling/ARM64_OPTIMIZATIONS.adoc
|
|
\begin{lstlisting}[language=bash, caption={Raspberry Pi cross-compilation}]
|
|
make rpi4-cross # Cross-compile for Raspberry Pi 4 (ARM64)
|
|
\end{lstlisting}
|