Hello All,
I'm reading x86_64 source code and trying to understand where are
fixmaps space in the virtual memory space. If I understand correctly
(but i'm really not sure about it), fixmap space is after vsyscall
space. As Documentation/x86/x86_64/mm.txt says vsyscall virtual space
is:
ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
With 'earlyprintk' i got FIXADDR_START and FIXADDR_TOP and they are:
FIXADDR_START - 0xffffffffff779000L
FIXADDR_TOP - 0xffffffffff7ff000L
with these addressess FIXADDR_START/FIXADDR_TOP overlap vsyscalls
area. Is it correct case that fixmaps are in vsyscal virtual memory
space or I'm wrong somewhere?
Thank you.
On 04/14/2015 06:16 AM, Alexander Kuleshov wrote:
> Hello All,
>
> I'm reading x86_64 source code and trying to understand where are
> fixmaps space in the virtual memory space. If I understand correctly
> (but i'm really not sure about it), fixmap space is after vsyscall
> space. As Documentation/x86/x86_64/mm.txt says vsyscall virtual space
> is:
>
> ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
>
> With 'earlyprintk' i got FIXADDR_START and FIXADDR_TOP and they are:
>
> FIXADDR_START - 0xffffffffff779000L
> FIXADDR_TOP - 0xffffffffff7ff000L
>
> with these addressess FIXADDR_START/FIXADDR_TOP overlap vsyscalls
> area. Is it correct case that fixmaps are in vsyscal virtual memory
> space or I'm wrong somewhere?
It's the other way around. vsyscalls are in the fixmap. I should fix
the docs.
--Andy