From 00fdc6c2f7bf7fba06b5c15303a12aa8d81271c9 Mon Sep 17 00:00:00 2001 From: ntosx <19315218+ntosx@users.noreply.github.com> Date: Fri, 9 Nov 2018 00:28:00 -0500 Subject: [PATCH] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 862f882..d60757b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,11 @@ ### Summary Stage 1 loader loads stage 2 loader from the floppy and jumps to it. -Stage 2 loader initializes protected mode, detects system memory, loads the kernel from the floppy, and eventually calls "kmain" function in kernel.c. +Stage 2 loader initializes protected mode, detects system memory, loads stage 3 and kernel from the floppy and jumps to stage 3. + +Stage 3 is supposed perform initialization in protected mode. It should be called stage 2.5 because it's the same thing but 32 bit binary, it reloads GDT to predictable range, initializes IDT, tests #DIV exception and and eventually jumps to kernel. + +The kernel prints a welcome message and loops infinitely. Yes the ASM code and the makefile could use some refactoring. Yes I know floor can be calculated simply by (x + y - 1) / y.