diff --git a/docs/startup.md b/docs/startup.md index b33832894..ad8e84df7 100644 --- a/docs/startup.md +++ b/docs/startup.md @@ -1,5 +1,15 @@ # Xous Startup Sequence +The loader broadly runs in two phases, called phase 1 and phase 2: + +1. Allocate memory and copy stuff into RAM. This is where the tags are copied, and executable data is unpacked into memory. This is almost entirely a copying phase. +2. Allocate and configure pagetables. This more or less does a second pass over the args table (so there's a possible TOCTOU here). + +After this it jumps to PID1. + +------------ +Below is historical notes + This document describes how a running system is established. It is, broadly, divided into four stages: