fpos icon indicating copy to clipboard operation
fpos copied to clipboard

Paging mode ENABLE glitch from C devs

Open GoogleCodeExporter opened this issue 10 years ago • 4 comments

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 [email protected] on 2 Sep 2011 at 3:26

GoogleCodeExporter avatar Mar 14 '15 03:03 GoogleCodeExporter

qemu screenshot is attached. THIS IS SUPPOSED TO HAPPEN. 

Original comment by [email protected] on 2 Sep 2011 at 3:45

Attachments:

  • [supposed to happen.png](https://storage.googleapis.com/google-code-attachments/fpos/issue-17/comment-1/supposed to happen.png)

GoogleCodeExporter avatar Mar 14 '15 03:03 GoogleCodeExporter

The screenshot is from the thigher half loader/linker with the kernel halting 
once code reaches the kernel.Obviously we never make it to PASCALMAIN(__main 
for the C devs) as there is no RAM allocated to QEMU at that location. CR0 
NEVER takes a longword entry.CR3 DOES however...

Original comment by [email protected] on 2 Sep 2011 at 3:48

GoogleCodeExporter avatar Mar 14 '15 03:03 GoogleCodeExporter

proposed low-level loading FIX(some routines may need beta testing, will adjust 
later if need be and re-upload. This file was pulled from sources here, and is 
not MY modified version.Will double check that one with PAE modes later 
on..lets use what works.

Original comment by [email protected] on 2 Sep 2011 at 4:26

Attachments:

GoogleCodeExporter avatar Mar 14 '15 03:03 GoogleCodeExporter

Solved with ASM sources. User mode and kernel mode memory are in wrong position.

Original comment by [email protected] on 11 Oct 2013 at 10:43

GoogleCodeExporter avatar Mar 14 '15 03:03 GoogleCodeExporter