Re: Unidentified subject!
On Wed, Jan 09, 2002 at 11:20:52PM +0100, Christian Groessler wrote:
>
> .L1239:
> #APP
> .chip 68040
> pflush (%a0)
> .chip 68k
> #NO_APP
> clr.l %d1
> jbra .L1196
> .align 2
> .L1193:
> #APP
> ptestr (%a0)
> #NO_APP
> jbra .L1194
> .align 2
>
> There is the .chip 68k currently in effect.
I see, the compiler reordered the statements somewhat so the '.chip'
got lexicaly separated from the statements where it belongs to
logically.
Try this replacement-probe040, I can't even testcompile it now.
static inline unsigned long probe040(int iswrite, unsigned long addr, int wbs)
{
unsigned long mmusr;
mm_segment_t old_fs = get_fs();
set_fs(MAKE_MM_SEG(wbs));
asm volatile ( ".chip 68040\n"
"tst.l %2\n"
"jbne 1f\n"
"ptestr (%1)\n"
"jbra 2f\n"
"1: ptestw (%1)\n"
"2: movec %%mmusr,%0\n"
".chip 68k\n"
: "=r" (mmusr) : "a" (addr), "r" (iswrite));
set_fs(old_fs);
return mmusr;
}
> gcc version 3.0.2
no known problems, btw how many people besides me test gcc3 on kernels
actually?
Bye
Richard
Reply to: