Fuxin Zhang a écrit :
I've just found in LDD 2nd version book (page 218), that on MIPS,
addresses returned by vmalloc belong to a completely different address
range from kmalloc addresses, whereas on x86 platforms they belong to
Is it normal for the modules to be loaded at 0xc0000000 (this is
highmem, isn't it)? I see the same on my bcm1250 box. I've been wondering
why they can't be loaded in kseg0. Or is it because of bad
It is not necessary highmem. 0xc0000000 is a MAPPED(i.e. use TLB) kernel
used by vmalloc to allocate a large virtually continous memory area for
modules. Use kseg0 you have to get a large physically continuous area,
and that is difficult unless you reserve some memory.
Concerning the clues given by Ralf, I've tried insmoding the module by a
recent version of modutils instead of using the insmod brought with
Busybox : the kernel behaved the same, it doesn't want to use the
handler of my kernel.
I've also checked that I was compiling with the mlong-calls flag...
Therefore, I think I will compile my module into the kernel, until I
found a solution to this problem...