cvs commit: src/sys/sparc64/include cpufunc.hsrc/sys/sparc64/sparc64 support.S

Jake Burkholder jake at FreeBSD.org
Thu Apr 3 10:43:42 PST 2003


jake        2003/04/03 10:43:40 PST

  FreeBSD src repository

  Modified files:
    sys/sparc64/include  cpufunc.h 
    sys/sparc64/sparc64  support.S 
  Log:
  Add optimized block copy and zero functions using vis instructions, which
  can do 64 bytes at a time and don't allocate lines in the L2 cache.  These
  assume that everything is 64 byte aligned, and that there's more than 128
  bytes of data (best for whole pages).  The block load and store instructions
  don't follow normal memory ordering rules and require either a memory barrier
  or move between registers before the data can actually be used.  This
  implementation correctly shuffles around 3 out of the 4 sets of registers
  in order to avoid memory barriers expect for the last 2 blocks.
  
  Revision  Changes    Path
  1.15      +3 -0      src/sys/sparc64/include/cpufunc.h
  1.21      +137 -0    src/sys/sparc64/sparc64/support.S


More information about the cvs-src mailing list