startup_32 : In how many ways shall I say I Love Thee ?

OK ! I am just talking atleast about about a startup_32 here.

But given that this routine ( or rather two routines with identical name but in different directories) get used at boot time, one after the other…. one just has to say I love thee atleast twice. Perhaps more.

/arch/x86/boot/compressed/head_64.S
/arch/x86/kernel/head_32.S

The startup_32 in the “kernel” area is the starting point for the execution of the “decompressed” kernel. It IS in x86 assembly. And guess the … what ? IT IS … located at the C0100000 watermark (per /proc/kallsyms). Atleast for 2.6.32.2

And it is also where the mapping for the first 8M of memory (Identity and Non-Identity mapped) will be set up before paging is enabled so that both the relocated high-mem to the 3G of PAGE_OFFSET (C0000000) and non-relocated addresses may be addressed by the processor, if only for the duration of the jump (Grep swapper_pg_dir within this file, or better yet grep for “Enable Paging”). This jump is the one that clears the processors prefetch queue just so TLBs may be used for the fetch of the first non-identity mapped instruction following the execution of the jump.

I explain Linux Kernel concepts and more in my classes ( Advanced Linux Kernel Programming @UCSC-Extension, and also in other classes that I teach independently). Please register for email updates and new posts.

-Anand

About Anand

Anand is a veteran of Silicon Valley with development experience and patents that span Processors, Operating systems, Networking and Systems development. Anand has been working for the past few years with Service Providers and large Enterprises developing e and Training systems.

,

5 Responses to startup_32 : In how many ways shall I say I Love Thee ?

  1. Upper back pain relief January 25, 2012 at 10:57 pm #

    Woah! I’m really loving the template/theme of this site. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between user friendliness and appearance. I must say you have done a amazing job with this. In addition, the blog loads super quick for me on Firefox. Exceptional Blog!

  2. Anand January 27, 2012 at 1:33 am #

    Thanks again ! We do appreciate the feedback.

  3. Buy oem Software February 7, 2012 at 5:01 pm #

    cxV2nR Good! Wish everybody wrote so:DD

    • Anand February 15, 2012 at 2:31 pm #

      Thanks, please email us with any questions

  4. this website March 11, 2012 at 11:31 pm #

    Greetings! Very helpful advice on this article! It is the little changes that make the biggest changes. Thanks a lot for sharing!

Leave a Reply to Anand Click here to cancel reply.