> "Kevin D. Kissell" wrote:
> > I had essentially the same problem at MIPS a year or two ago,
> > and I could have *sworn* that my fix, which ORed ST0_FR into
> > the initial Status register value set in the startup assembly code,
> > had made it into the standard distributions. It's at about line 530
> > of head.S, where a term is added to make the instruction
> > li t1,~(ST0_CU1|ST0_CU2|ST0_CU3|ST0_KX|ST0_SX|ST0_FR)
> > I spent days thinking it was a mipsel library problem,
> > because it only turned up when I tried exercising a
> > little-endian version of the same kernel that worked
> > sell big-endian on the Indy. But of course it was all
> > due to the mipsel system having a boot-prom that
> > cleverly enabled all the FP registers for me...
> > Kevin K.
> Your/Flo's/Ralf's thread in the MIPS Linux archives from last January
> what clued me into the ST0_FR setting in the first place. Ralf gave
> why he wouldn't take your change at that time, which is why that line
> the 2.4.x kernel.
Yeah, and I still think they are piss-poor arguments. ;-)
I still do not see much virtue in saying that one has a binary
kernel that supports either FR=0 or FR=1, *provided*
that the entire userland from init inward is built with the same
"polarity" *and* that the boot monitor is guaranteed to have
set FR the right way before launching the kernel. FR=0 (o32)
and FR=1 (n32, n64) binaries should be distinguishable at
exec() time, and the FR bit set appropriately at
that time. Making assumptions about what the bootloader
or bootprom has done is just plain foolish, IMHO.