Subject: Re: Revision K strongarms ...
To: None <port-arm32@NetBSD.ORG>
From: Tony Houghton <tonyh@tcp.co.uk>
List: port-arm32
Date: 05/02/1998 11:53:05
I've just come back from holiday and found this very interesting thread
and related ones, so it's a case of pick a point at random to stick my
oar in...

In short, NetBSD is just about unusable for nearly everyone with a
StrongARM RiscPC. It's not NetBSD's fault, but surely if some reasonable
workaround can be found it's worth doing. Remember your roots guys! ;-)

I don't know the exact details of the bug, and the superficial details
I've seen here have two conflicting views. Most people seem to think
that the problem is caused by the LDM instruction itself lying on a page
boundary, but at least one posting says it's if the data it's loading is
on a page boundary. If the latter, it rules out one possible solution ie
replacing LDM with LDM followed by a noop and getting the linker to swap
them if necessary. That wouldn't be popular with the porting team
anyway, requiring the compiler and linker to be patched and most
binaries to be recompiled.

Another solution is to replace all LDMs with a set of LDRs, which I
gather gcc already has an option before. Although the resulting code is
theoretically just as fast on StrongARMs, I guess it would be
unacceptably detrimental to code density, and hence cache misses to some
extent. Still, not as bad as the pre-shared library versions I should
think, and it would be something that affected users could manage for
ourselves, although I think certain sources would have to be made more
available in ready-to-compile-for-arm32 form.

One person suggested that a trap handler in the kernel could be
rewritten to detect the bug when it happens and recover. If that's
possible, it has to be done! It's something that could easily be made
optional when compiling the kernel, so not at all detrimental to the
port for unbugged hardware.

As for getting StrongARM's replaced, I've spoken to someone (well before
this thread blew up) who thinks he could get the "raw" devices from a
supplier as a private customer even in quantities of one for probably
better than the 50ukp suggested here. And from personal experience I
think the likes of IFEL and Simtec wouldn't charge more than 30ukp for
the remount work. If Neil still has close ties with Simtec perhaps he
could arrange something.

OTOH the Clan has started promoting Linux and NetBSD to some extent [1],
so maybe we could put a bit of pressure on Acorn after all ;-).

[1] The latest mailing is reasonably sensible, unlike the utter bollocks
about ARMLinux ("the UNIX-like programming language") a while ago.

-- 
  \_________________
                    \  http://homepages.tcp.co.uk/~tonyh/
   The Curling Pages \ The home of WinEd, Bombz and POPstar for RISC OS