How linear address translate to physical address in kernel space?

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

 



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]
  Powered by Linux