summaryrefslogtreecommitdiff
path: root/microkernel/mach/gnumach/boot_trace.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'microkernel/mach/gnumach/boot_trace.mdwn')
-rw-r--r--microkernel/mach/gnumach/boot_trace.mdwn22
1 files changed, 22 insertions, 0 deletions
diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn
index 7b729c23..ea999a9b 100644
--- a/microkernel/mach/gnumach/boot_trace.mdwn
+++ b/microkernel/mach/gnumach/boot_trace.mdwn
@@ -227,3 +227,25 @@ License|/fdl]]."]]"""]]
>> vm\_pageout
>> Does not return.
+
+
+# IRC, freenode, #hurd, 2013-10-07
+
+ <cureOS> look, where should i dig or where from should i start from, if i
+ have desire to know how the kernel was written from baremetal? Can it be
+ ever done nowadays?
+ <youpi> cureOS: the boot entry of the kernel is i386/i386at/boothdr.S ,
+ boot_entry
+ <youpi> that's what grub jumps to
+ <youpi> then that jumps to c_boot_entry
+ <youpi> and everything else is C
+ <cureOS> grub loads it somehow. how does it prepare cpu and memoty, cpu
+ cache control if any... segments for stack..
+ <youpi> see the grub documentation
+ <youpi> basically it's all flat linear space
+ <cureOS> does kernel transform it after that?
+ <youpi> see the ldt/gdt initialization
+ <youpi> from i386at_init and children
+ <youpi> nothing much fancy, a kernel cs/ds, and user cs/ds
+ <braunr> and paging, naturally
+ <youpi> sure