From 83292bfda2256f326a506bc61752cb2b857be2e1 Mon Sep 17 00:00:00 2001 From: bunnie Date: Sat, 17 Apr 2021 15:03:18 +0800 Subject: [PATCH] Update startup.md --- docs/startup.md | 10 ++++++++++ 1 file changed, 10 insertions(+) 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: