lkml.org 
[lkml]   [1998]   [Mar]   [12]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromJakub Jelinek <>
SubjectRe: MMX bzero of a page...
DateThu, 12 Mar 1998 08:23:50 +0100 (MET)
> > Look into the btfixup mechanism the 32-bit sparc port now uses in the
> > vger CVS sources.   You can have multiple memcpy/memset
> > etc. implementations, pick the one which performs best at boot time,
> > and make it zero cost.
> 
> Ahh, cute!  (You sparc guys seem to come up with the most fascinating
> code.)  On intel's we can get away with self modifying code which is a
> bit easier, though.  I never thought I'd be endorsing the use of self
> modifying code... oh well ;-) 

Actually, btfixup is self-modifying code, but the modification is done at
boot time and then are all I-caches flushed. From that time the kernel code
does not change.
We needed it a lot - sparc32 has two completely incompatible mmus, 3
incompatible IRQ handlings, etc. - and all that is done by one single image
kernel. We used indirect calls before, but it was way slower.

Cheers,
    Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.89 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 12:41    [from the cache]
©2003-2008