HI, every in LKML.
I have a question that can not understand.
In kernel space, how linear address translate to physical address ?
In many kernel bookes,
they said "directly mappd", I think I seen what they said, their mean is
use __pa()/__va() macro
pair.
(My platform is i386.)
but these macro use in case that require use physical address
explicitly, but in most case,
kernel more need translate them hiddenly. In user space, this
translation is handled by MMU and
pagefault exception handler of kernel.
I think kernel can not use CR3 register directly for this purpose,
beacause of , for example,
when kernel need to switch between user space task, it need change CR3
regsiter to switch task
address space, if kernel also use CR3 register, this CR3 change will
break down kernel control flow.
I don't known if I say my question clearly, my english so poor. but
I am waitting to any answer.
Thanks in advanced.
liyu/NOW~
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|