On 6/15/06, Prateek Dayal <prateek.dayal@xxxxxxxxx> wrote:
> > > i believe here we are not dealing with virtual addresses at all since > kernel uses only physical ones. also, since linking of modules takes > place only at load time, those offset addresses will also be properly > translated to kernel physical memory. Hi, I am not sure if this is entirely correct. The kernel does use virtual addresses at a lot of places. I am myself not very sure what exactly is the structure, but atleast in drivers I have seen a lot of physical I/O addresses being translated to virtual addresses and then being used in the code. grep for __pa() and __va() functions. Linux Device Drivers, 3rd edition may be a good reference to read.
ya i agree. any kernel using virtual memory has to use virtual addresses, but what i believe is that the kernel global symbols should reside in physical memory. otherwise, how can we access those directly from within kernel. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/