Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jun 2009 13:56:06 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r194110 - head/sys/i386/include
Message-ID:  <200906131356.n5DDu6bT015673@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ed
Date: Sat Jun 13 13:56:06 2009
New Revision: 194110
URL: http://svn.freebsd.org/changeset/base/194110

Log:
  Simplify the inline assembler (and correct potential error) of pte_load_store().
  
  Submitted by:	Christoph Mallon

Modified:
  head/sys/i386/include/pmap.h

Modified: head/sys/i386/include/pmap.h
==============================================================================
--- head/sys/i386/include/pmap.h	Sat Jun 13 13:54:03 2009	(r194109)
+++ head/sys/i386/include/pmap.h	Sat Jun 13 13:56:06 2009	(r194110)
@@ -362,15 +362,8 @@ pte_load(pt_entry_t *ptep)
 static __inline pt_entry_t
 pte_load_store(pt_entry_t *ptep, pt_entry_t pte)
 {
-	pt_entry_t r;
-
-	__asm __volatile(
-	    "xchgl %0,%1"
-	    : "=m" (*ptep),
-	      "=r" (r)
-	    : "1" (pte),
-	      "m" (*ptep));
-	return (r);
+	__asm volatile("xchgl %0, %1" : "+m" (*ptep), "+r" (pte));
+	return (pte);
 }
 
 #define	pte_load_clear(pte)	atomic_readandclear_int(pte)



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