linux-mips
[Top] [All Lists]

Re: Preempted interrupt handler

To: Fuxin Zhang <fxzhang@ict.ac.cn>
Subject: Re: Preempted interrupt handler
From: Yoann Allain <yallain@avilinks.com>
Date: Thu, 22 Dec 2005 09:35:07 +0100
Cc: Srinivas Kommu <kommu@hotmail.com>, Linux/MIPS Development <linux-mips@linux-mips.org>
In-reply-to: <43A9F76A.4080305@ict.ac.cn>
Organization: Avilinks
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <43A6F155.7080402@avilinks.com> <20051220131829.GB3376@linux-mips.org> <20051221193906.GB1456@sjc-xdm-007.cisco.com> <43A9F76A.4080305@ict.ac.cn>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

Fuxin Zhang a écrit :

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
modutils/compiler flags?
It is not necessary highmem. 0xc0000000 is a MAPPED(i.e. use TLB) kernel
segment,
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.
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 the same.

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...

Thanks everyone!


<Prev in Thread] Current Thread [Next in Thread>