Skip to content
This repository has been archived by the owner on Apr 6, 2020. It is now read-only.

move to a higher-half kernel #96

Open
steveklabnik opened this issue Oct 3, 2016 · 1 comment
Open

move to a higher-half kernel #96

steveklabnik opened this issue Oct 3, 2016 · 1 comment

Comments

@steveklabnik
Copy link
Member

@ketsuban has an example here: https://github.com/Ketsuban/finisterre

I think this would be a good idea before going to usermode, so cc #82

If anyone is interested in tackling this, please give it a try!

@ketsuban
Copy link

ketsuban commented Oct 3, 2016

Here's a link to the current commit to save me having to keep the master branch pristine in the interim. The main differences are in boot.asm and layout.ld, and should be fairly easy to port over to intermezzOS.

As written any identity-mapped virtual addresses (like the VGA buffer at 0xB8000) will continue to work, because there's no code removing the original identity mapping—if you want to follow page faults to find them something like this should go somewhere in start64 before the jump to kmain.

mov rax, pml4_table
mov qword [rax], 0
invlpg [0]

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants