Hello,
While I was working on shared memory, it appears that user mode can't access memory above 0xFFFFFFFFFFF in long mode. It page faults when I do so. Is that so?
Thanks,
nexos
Can user mode access high memory?
Re: Can user mode access high memory?
That's determined by your page table. You are trying to access a canonical address?
Re: Can user mode access high memory?
No, that does work. Linux maps stack and VDSO and VVAR to very high addresses, usually just below the canonical end at 0x7fff_ffff_ffff. In case you mistyped and meant that address: Yes, under normal circumstances there is no way to map the memory between 0x8000_0000_0000 and 0xffff_7fff_ffff_ffff. Therefore this is called the canonical memory hole. Usually accessing that area should net you a general protection fault, not a page fault. I don't know what is going on with that problem for you.
Carpe diem!
Re: Can user mode access high memory?
nullplan, you were right. I was actually assuming it was a PF as the exception occurred in user mode. After digging a little deeper, it was a GPF and the problem is fixed now.