PERFORCE change 28416 for review

Peter Wemm peter at FreeBSD.org
Mon Apr 7 00:59:48 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=28416

Change 28416 by peter at peter_overcee on 2003/04/07 00:58:49

	add 8-byte PCPU* implementation

Affected files ...

.. //depot/projects/hammer/sys/x86_64/include/pcpu.h#6 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/include/pcpu.h#6 (text+ko) ====

@@ -104,6 +104,12 @@
 		    : "=r" (__i)					\
 		    : "m" (*(u_int *)(__pcpu_offset(name))));		\
 		__result = *(__pcpu_type(name) *)&__i;			\
+	} else if (sizeof(__result) == 8) {				\
+		u_long __l;						\
+		__asm __volatile("movq %%fs:%1,%0"			\
+		    : "=r" (__l)					\
+		    : "m" (*(u_long *)(__pcpu_offset(name))));		\
+		__result = *(__pcpu_type(name) *)&__l;			\
 	} else {							\
 		__result = *__PCPU_PTR(name);				\
 	}								\
@@ -135,6 +141,12 @@
 		__asm __volatile("movl %1,%%fs:%0"			\
 		    : "=m" (*(u_int *)(__pcpu_offset(name)))		\
 		    : "r" (__i));					\
+	} else if (sizeof(__val) == 8) {				\
+		u_long __l;						\
+		__l = *(u_long *)&__val;				\
+		__asm __volatile("movq %1,%%fs:%0"			\
+		    : "=m" (*(u_long *)(__pcpu_offset(name)))		\
+		    : "r" (__l));					\
 	} else {							\
 		*__PCPU_PTR(name) = __val;				\
 	}								\


More information about the p4-projects mailing list