Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Need to disable MMU in Linux. It needs a section of memory where virutal address=physical address in the memory mapping table. Is there any method to do the same dynamically(means to map a section of physical addresses to the same virutal addresses)
This is what we mainframers used to call a "V=R ('Virtual Equals Real') Region." (Also known as VEQR for those who don't like punctuation, or "page fixing.")
If Linux supports this, and I do not recall, then it will certainly remain a very difficult thing. There could be, for example, issues relating to where in the memory-space this buffer had to be: recall that the virtual address-space is segmented into "kernel" and "user" portions...
Is it not possible to design your program to permit the buffer to be (virtually) "anywhere," and to obtain the necessary addressing by means of offsets to that pointer? A simple #define macro could make the translation invisible to source-code readers.
Last edited by sundialsvcs; 06-22-2006 at 11:32 AM.
Hi, Thanks for the response.
My reqmnt is specific to the processor. I am doing some thing related to the system freq and i need to switch of the MMU for my implementation. I am doing the same with a kernel driver (assembly code is used for the actual cpu specific task)
Could you please provide any mech to do a 1:1 mapping dynamically inside my driver?
looks like wini_g got it - uclinux has some options to run without mmu - but it's a complete rewrite of the mm layer - not trivial. You're far better off working off the uclinux base than trying to "switch the mmu off" in this case.
The thing with this is that uclinux is primarily intended for embedded devices. Is that what you're trying to do? What arch are you on?