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
So it's working, I have now access to the upper 8 GB RAM