Jun Sun wrote:
We recently built the latest uclinux (2.6 kernel) and tried userland
XIP (built with PIC flag) on a ARM7 nommu board. However, userland
XIP is not working. Text is always copied to kmalloc'ed RAM before
the execution.
We traced the code and found the following call trace for the loader:
flat loader:
load_flat_file()
do_mmap()
mm/nommu.c:do_mmap_pgoff()
<call ROMFS fops->mmap()>
mm/filemap.c:generic_file_readonly_mmap()
generic_file_readonly_mmap() return -ENOSYS for NOMMU case. Hence
kernel will always do the kmalloc() and copy the program text.
That seems to indicate XIP does not work at all for 2.6. Can
someone confirm?
Further, we found MAGIC_ROM_PTR related code and patch for 2.4 kernel.
That seems to be the relavent code missing in 2.6 to support userland
XIP.
Does someone know if this is case? Has anybody tried this with 2.6 kernel?
Any gotcha's before we start the porting?
Not working for our uClinux build either, v2007-dist and v2.6 kernel on
arm with no mmu. Previously reported it was, but was a communication
error between myself and coworker.
Any idea on the difficulty of the port from 2.4 to 2.6?
thnx - bob
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev