Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Apr 2011 23:59:59 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/i386/i386 machdep.c src/sys/i386/include atomic.h src/sys/pc98/pc98 machdep.c
Message-ID:  <201104070000.p3700n1j026270@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jkim        2011-04-06 23:59:59 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        machdep.c 
    sys/i386/include     atomic.h 
    sys/pc98/pc98        machdep.c 
  Log:
  SVN rev 220404 on 2011-04-06 23:59:59Z by jkim
  
  Implement atomic_load_acq_64(9) and atomic_store_rel_64(9) for i386.  These
  functions are implemented with CMPXCHG8B instruction where it is available,
  i. e., all Pentium-class and later processors.  Note this instruction is
  also used for atomic_store_rel_64() because a simple XCHG-like instruction
  for 64-bit memory access does not exist, unfortunately.  If the processor
  lacks the instruction, i. e., 80486-class CPUs, two 32-bit load/store are
  performed with interrupt temporarily disabled, assuming it does not support
  SMP.  Although this assumption may be little naive, it is true in reality.
  This implementation is inspired by Linux.
  
  Revision  Changes    Path
  1.727     +18 -0     src/sys/i386/i386/machdep.c
  1.57      +86 -0     src/sys/i386/include/atomic.h
  1.444     +17 -0     src/sys/pc98/pc98/machdep.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104070000.p3700n1j026270>