Files

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}