-
Notifications
You must be signed in to change notification settings - Fork 20
Paging mode ENABLE glitch from C devs #17
Copy link
Copy link
Open
Description
What steps will reproduce the problem?
'or' the paging BIT, AHEM BIT...by 8.
--affects all versions posted.
CORRECT FIX:
'or' the bit by 1. You cannot set a 0/1(binary) value to 8. This confuses the
processor and causes a triple fault.It also sets an incorrect value.These are
INTERNAL FLAGS, not LONGWORDS here people...
This did not dawn on me until I looked at WikiDocumentation.
NOTE: Under emulation this will cause QEMU to issue "executing beyond end of
ram" error. This is expected as we are now working/loading HIGH at pageDir 768
address space ~ @ C000 0000, which you probably do not have 3GB or more
allocated to QEMU. This is why this error trips. Its a nonsence error for
machines with less then 3GB to begin with.
Would recommend loading at another address, such as PageDir0 [otherwise 1:1
map] instead.To resolve this "new" error.
So, higher-half loading is out for the moment...
Note: you can 'map' in the kernel with the 'map' routine inside a repeat..until
loop by setting va to the page directory and pa to where we want the kernel
mapped to inside of the paging structure. I have done this and it otherwise
works.
Original issue reported on code.google.com by frazzled...@gmail.com on 2 Sep 2011 at 3:26
Reactions are currently unavailable