[uClinux-dev] Build error on LPC22XX with CONFIG_PACKET_MMAP=y

Brandon Fosdick brandon at teslamotors.com
Thu Jan 4 15:36:18 EST 2007


In trying to build something that will run on my LPC2294 board, I 
enabled CONFIG_PACKET_MMAP in the .config for the 2.6.x kernel. The 
build failed with an undefined reference to vm_insert_page() in function 
packet_mmap() (net/packet/af_packet.c:1734).

vm_insert_page() is in mm/memory.c, but mm/Makefile doesn't include it 
in the !MMU case. Instead, mm/Makefile uses mm/nommu.c, which doesn't 
have a vm_insert_page(). So, either nommu.c needs an equivalent for 
vm_insert_page(), or CONFIG_PACKET_MMAP needs to be made dependent on 
CONFIG_MMU.

Interestingly, CONFIG_PACKET_MMAP works fine in the 2.6.11.8 kernel w/o 
MMU (Hyok's patches), but packet_mmap() calls remap_pfn_range() instead 
of vm_insert_page(). It appears that vm_insert_page() was added to 
mm/memory.c in 2.6.15. mm/nommu.c still has remap_pfn_range().

Here's the build output...
---
<snip>
   CHK     include/linux/compile.h
   UPD     include/linux/compile.h
   CC      init/version.o
   LD      init/built-in.o
   LD      vmlinux
net/built-in.o: In function `packet_mmap':
sysctl_net.c:(.text+0x55988): undefined reference to `vm_insert_page'
make[1]: *** [vmlinux] Error 1
make[1]: Leaving directory 
`/home/bfoz/Downloads/uClinux-dist-test/linux-2.6.x'
make: *** [linux] Error 1
---

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________


More information about the uClinux-dev mailing list