robert-w-gries / rxinu

Rust implementation of Xinu educational operating system
Apache License 2.0
34 stars 4 forks source link

Implement higher half kernel #27

Open robert-w-gries opened 6 years ago

robert-w-gries commented 6 years ago

Per OSDev:

IsaacWoods commented 6 years ago

Since this is aimed at Long Mode only, I would argue we should make use of more of the virtual address space. Why not map the kernel at 0xffffffff80000000 (-2GiB), as with many 64-bit kernels; this allows the compiler to use relative relocations (the signed offsets fit into the ELF fields) when compiling the kernel as well.

robert-w-gries commented 6 years ago

Hey @IsaacWoods, my kernel supports both 32 bit and 64 bit targets. I think you may have wandered into my repo through your blog_os issue :-)

Your suggestion is good for 64 bit targets, and I'll look into using that mapping when I implement the higher half kernel

IsaacWoods commented 6 years ago

So I have! Very sorry; completely missed that this was a different repo somehow!

Edit: feel free to delete these comments - didn't mean to clutter your issue tracker!

robert-w-gries commented 6 years ago

No need to apologize! I appreciate the contribution