diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-10-27 19:44:32 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-10-27 19:44:32 +0100 |
commit | 9675f765a06325bcbd5ac58a9eee8856cb2c5b7c (patch) | |
tree | 359703ed392ac61d3d4ff783c814e01a39fc2ff2 /microkernel/mach/gnumach/boot_trace.mdwn | |
parent | 8fac6986eadf6db5d155030cc67a904f22cadf29 (diff) | |
parent | 47e4d194dc36adfcfd2577fa4630c9fcded005d3 (diff) | |
download | web-9675f765a06325bcbd5ac58a9eee8856cb2c5b7c.tar.gz web-9675f765a06325bcbd5ac58a9eee8856cb2c5b7c.tar.bz2 web-9675f765a06325bcbd5ac58a9eee8856cb2c5b7c.zip |
Merge remote-tracking branch 'fp/master'
Diffstat (limited to 'microkernel/mach/gnumach/boot_trace.mdwn')
-rw-r--r-- | microkernel/mach/gnumach/boot_trace.mdwn | 22 |
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 |