NetBSD/sys/arch/sparc
mrg a29cead266 fix sparc UP kernels with GCC 4.5, with special thanks to help from
mlelstv@ tracking down the real issue.

sp_tlb_flush() makes various assumptions about the ABI and what GCC
will do with the rest of this function.  the inputs were not referenced
by name but only as "%o0" etc inside the asm.  the result was that GCC
was not filling in the function parameters before calling it because
they were not used in the function.  so, sp_tlb_flush() was getting
random data for it's inputs.  oops.

for now, convert 2 asm() calls to pure C, and mark the inputs for
the sta calls.  this makes GCC generate the right code, but it still
isn't entirely optimal.

ideally a pure C version would exist, but that adds non-trivial
overhead (15 instructions vs 23 or so.)

one more enhancement to make here would be to assign the %o3, %o4 and
%o5 usage into explicit temp variables, instead of assuming that they
are going to be free to use.
2011-08-28 10:26:15 +00:00
..
compile
conf dependant -> dependent 2011-06-30 20:09:15 +00:00
dev Don't set the iobase and iosize members of pcmciabus_attach_args because 2011-07-26 22:52:47 +00:00
fpu Use lwp_getpcb() on sparc{64} and sun2/3 MD code, clean from struct user usage. 2009-11-21 04:16:51 +00:00
include Get rid of #ifdef __sparc__ in uvm code - as noted by cgd back 1996, 2011-07-30 19:29:12 +00:00
sparc fix sparc UP kernels with GCC 4.5, with special thanks to help from 2011-08-28 10:26:15 +00:00
stand emit some linker -Map files so that we can figure out what symbols 2011-08-28 08:03:49 +00:00
Makefile Fix target 'tags'. 2011-04-04 19:41:24 +00:00