Where to map everything?
Posted: Sun Jun 15, 2014 9:08 am
Hey all,
I'm sure this question gets asked a lot, however I couldn't find any resources on the wiki, forum, or after some google searches...
I was wondering why people map their kernels to strange addresses such as 0xC0000000 in the case of the x64 tutorials, or 0xFF300000 in the case of pedigree (any may other locations when i have been looking through code from various other oses)
I can understand the reasoning for not mapping below the 1MB mark, however why not just map the kernel there? Why not use a linear space for the kernel then allocate virtual spaces from 1MB for each new userland application. Is this just personal taste or is there a better technical explanation for this?
Thanks!
I'm sure this question gets asked a lot, however I couldn't find any resources on the wiki, forum, or after some google searches...
I was wondering why people map their kernels to strange addresses such as 0xC0000000 in the case of the x64 tutorials, or 0xFF300000 in the case of pedigree (any may other locations when i have been looking through code from various other oses)
I can understand the reasoning for not mapping below the 1MB mark, however why not just map the kernel there? Why not use a linear space for the kernel then allocate virtual spaces from 1MB for each new userland application. Is this just personal taste or is there a better technical explanation for this?
Thanks!