[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How CPU(x86) resolve kernel address



I read all about the memory management in linux. all thing are clear to me
like there is 3GB space for user procee and 1GB for kernel and thats why
kernel address always greater then 0xC0000000. But one thing is not clear
that is for kernel address there is no page table, actually there is no
need because this is one to one mapping to physical memory but who resolve
kernel address to actual physical address how CPU(X86) perform this task
because when we do DMA we have to give actual physical address by
virt_to_phys() so what is the mechanism by which CPU translate kernel
address into physical address ( Somewhere i heard that CPU ignore some of
the upper bits of address if so then how much bits and why).

Thanks in advance 

--- Sanket Rathi


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/