On Mon, Jan 26, 1998 at 05:51:40PM -0800, William J. Earl wrote:
> > But, I use the term 'work' with a grain of salt; the modules appear to
> > load, but I get errors like:
> > Illegal instruction at c000c0d0 ra=88034ed4
> > Unable to handle kernel paging request at virtual address c0008113, epc ==
> > c000c0d8, ra == 88034ed4
> > Killed
> ...
>
> I wonder if the kernel is properly synchronzing the I-cache with
> the D-cache after loading the module. In general, you need to
> writeback the primary D-cache and invalidate the primary I-cache for
> the range of addresses occupied by the driver (or simply
> index-writeback-invalidate all of the D-cache and index-invalidate all
> of the I-cache, if the driver is larger than the cache size).
Yes, we do that properly.
Alex, when compiling modules, does the compiler pass the flag -mlong-jumps?
Ralf
|