Page 1 of 1

[SOLVED] Cannot reach address over 8-GByte

Posted: Sat Aug 21, 2021 7:41 pm
by Rukog
After setting up my pagination (1-Gbyte page frame) with success, I tried to read high address and I am stuck at reading a 8-Gbyte address position, the CPU does a reset maybe a Page Fault.
Address below 8-Gbyte was readable.

So I am wondering if it's a matter of RAM stick management, I have two of 8 GB and maybe I have to know how can I reach the 2nd RAM stick.

How can I fix that issue.

Re: Cannot reach address over 8 GB

Posted: Sat Aug 21, 2021 8:17 pm
by Octocontrabass
Rukog wrote:maybe a Page Fault.
You don't know what kind of fault it is? You should set up exception handlers.
Rukog wrote:So I am wondering if it's a matter of RAM stick management, I have two of 8 GB and maybe I have to know how can I reach the 2nd RAM stick.
Use the firmware's memory map to find usable RAM.

Re: Cannot reach address over 8 GB

Posted: Sun Aug 22, 2021 2:58 am
by Rukog
Also I have made a discovery about mapping page frame, normally we are talking about storing physical address page frame inside page tables right.

But for the 1-GByte paging there was a problem, how can we map 256-TByte of address with only a 20-bit capable physical address inside a PDPTE, it was mission impossible.

So Ive tried another storing method and Ive just did a simple incrementation of page number, assuming it was the CPU that does the translation based on RAM divided into nĂ— 1GB frame

1st page refer to the 1st GByte, 2nd to the second and so on.

Not sure if it does apply the same for other page mapping.



Update:
Ok so ive found the bug and it was a mistype of offset in the code, so just a coincidence :mrgreen:

So it's working, I have now access to the upper 8 GB RAM

Re: [SOLVED] Cannot reach address over 8-GByte

Posted: Sun Aug 22, 2021 4:02 am
by iansjack
Note that you are only going to want to use 1GB pages in very specific, limited circumstances. Otherwise you lose most of the advantages of paying and will likely waste huge amounts of RAM.

Re: Cannot reach address over 8 GB

Posted: Sun Aug 22, 2021 2:51 pm
by Octocontrabass
Rukog wrote:But for the 1-GByte paging there was a problem, how can we map 256-TByte of address with only a 20-bit capable physical address inside a PDPTE, it was mission impossible.
The PDPTE only holds the upper bits of the physical address. 20 bits is more than enough for 256 TiB.