On Fri, 5 Jan 2001 Lisa.Hsu@taec.toshiba.com wrote:
> With the help from Kevin Kissell, I've found out that the compilation
> directives "set .mips3[4]" were turned on before cpu_probe() and cpu_probe
> () functions in my head.S file. This is the reason why I've got that wrong
> code generated although I've specified mip1 in the gcc options.
>
> I 've temporarily used #define to add "set .mips1" in the code to fix the
> problem. My question now, is: how can we make the kernel code flexible
> to free from the problem of the one that I've got?
1. Don't use "set .mips*" unless absolutely needed. The right ISA level
is already set via a compiler option depending on the host CPU selected
upon kernel configuration.
2. If you can't avoid "set .mips*" for some reason, then always restore
the default state after the relevant code, either by ".set mips0" or by
".set push" and ".set pop".
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
|