Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Apr 2005 18:37:55 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 74535 for review
Message-ID:  <200504051837.j35IbtGt063764@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=74535

Change 74535 by jhb@jhb_slimer on 2005/04/05 18:37:49

	Replay these diffs since the files moved on me.

Affected files ...

.. //depot/projects/smpng/sys/i386/include/bus.h#5 edit
.. //depot/projects/smpng/sys/pc98/include/bus.h#2 edit

Differences ...

==== //depot/projects/smpng/sys/i386/include/bus.h#5 (text+ko) ====

@@ -330,8 +330,8 @@
 		1:	movb (%2),%%al				\n\
 			stosb					\n\
 			loop 1b"				:
-		    "=D" (addr), "=c" (count)			:
-		    "r" (bsh + offset), "0" (addr), "1" (count)	:
+		    "+D" (addr), "+c" (count)			:
+		    "r" (bsh + offset)				:
 		    "%eax", "memory");
 #else
 # ifndef lint
@@ -363,8 +363,8 @@
 		1:	movw (%2),%%ax				\n\
 			stosw					\n\
 			loop 1b"				:
-		    "=D" (addr), "=c" (count)			:
-		    "r" (bsh + offset), "0" (addr), "1" (count)	:
+		    "+D" (addr), "+c" (count)			:
+		    "r" (bsh + offset)				:
 		    "%eax", "memory");
 #else
 # ifndef lint
@@ -396,8 +396,8 @@
 		1:	movl (%2),%%eax				\n\
 			stosl					\n\
 			loop 1b"				:
-		    "=D" (addr), "=c" (count)			:
-		    "r" (bsh + offset), "0" (addr), "1" (count)	:
+		    "+D" (addr), "+c" (count)			:
+		    "r" (bsh + offset)				:
 		    "%eax", "memory");
 #else
 # ifndef lint
@@ -450,9 +450,8 @@
 			stosb					\n\
 			incl %2					\n\
 			loop 1b"				:
-		    "=D" (addr), "=c" (count), "=d" (_port_)	:
-		    "0" (addr), "1" (count), "2" (_port_)	:
-		    "%eax", "memory", "cc");
+		    "+D" (addr), "+c" (count), "+d" (_port_)	: :
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -471,9 +470,8 @@
 			cld					\n\
 			repne					\n\
 			movsb"					:
-		    "=D" (addr), "=c" (count), "=S" (_port_)	:
-		    "0" (addr), "1" (count), "2" (_port_)	:
-		    "memory", "cc");
+		    "+D" (addr), "+c" (count), "+S" (_port_)	: :
+		    "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -500,9 +498,8 @@
 			stosw					\n\
 			addl $2,%2				\n\
 			loop 1b"				:
-		    "=D" (addr), "=c" (count), "=d" (_port_)	:
-		    "0" (addr), "1" (count), "2" (_port_)	:
-		    "%eax", "memory", "cc");
+		    "+D" (addr), "+c" (count), "+d" (_port_)	: :
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -521,9 +518,8 @@
 			cld					\n\
 			repne					\n\
 			movsw"					:
-		    "=D" (addr), "=c" (count), "=S" (_port_)	:
-		    "0" (addr), "1" (count), "2" (_port_)	:
-		    "memory", "cc");
+		    "+D" (addr), "+c" (count), "+S" (_port_)	: :
+		    "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -550,9 +546,8 @@
 			stosl					\n\
 			addl $4,%2				\n\
 			loop 1b"				:
-		    "=D" (addr), "=c" (count), "=d" (_port_)	:
-		    "0" (addr), "1" (count), "2" (_port_)	:
-		    "%eax", "memory", "cc");
+		    "+D" (addr), "+c" (count), "+d" (_port_)	: :
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -571,9 +566,8 @@
 			cld					\n\
 			repne					\n\
 			movsl"					:
-		    "=D" (addr), "=c" (count), "=S" (_port_)	:
-		    "0" (addr), "1" (count), "2" (_port_)	:
-		    "memory", "cc");
+		    "+D" (addr), "+c" (count), "+S" (_port_)	: :
+		    "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -705,9 +699,9 @@
 		1:	lodsb					\n\
 			movb %%al,(%2)				\n\
 			loop 1b"				:
-		    "=S" (addr), "=c" (count)			:
-		    "r" (bsh + offset), "0" (addr), "1" (count)	:
-		    "%eax", "memory", "cc");
+		    "+S" (addr), "+c" (count)			:
+		    "r" (bsh + offset)				:
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -738,9 +732,9 @@
 		1:	lodsw					\n\
 			movw %%ax,(%2)				\n\
 			loop 1b"				:
-		    "=S" (addr), "=c" (count)			:
-		    "r" (bsh + offset), "0" (addr), "1" (count)	:
-		    "%eax", "memory", "cc");
+		    "+S" (addr), "+c" (count)			:
+		    "r" (bsh + offset)				:
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -771,9 +765,9 @@
 		1:	lodsl					\n\
 			movl %%eax,(%2)				\n\
 			loop 1b"				:
-		    "=S" (addr), "=c" (count)			:
-		    "r" (bsh + offset), "0" (addr), "1" (count)	:
-		    "%eax", "memory", "cc");
+		    "+S" (addr), "+c" (count)			:
+		    "r" (bsh + offset)				:
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -826,9 +820,8 @@
 			outb %%al,%w0				\n\
 			incl %0					\n\
 			loop 1b"				:
-		    "=d" (_port_), "=S" (addr), "=c" (count)	:
-		    "0" (_port_), "1" (addr), "2" (count)	:
-		    "%eax", "memory", "cc");
+		    "+d" (_port_), "+S" (addr), "+c" (count)	: :
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -847,9 +840,8 @@
 			cld					\n\
 			repne					\n\
 			movsb"					:
-		    "=D" (_port_), "=S" (addr), "=c" (count)	:
-		    "0" (_port_), "1" (addr), "2" (count)	:
-		    "memory", "cc");
+		    "+D" (_port_), "+S" (addr), "+c" (count)	: :
+		    "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -876,9 +868,8 @@
 			outw %%ax,%w0				\n\
 			addl $2,%0				\n\
 			loop 1b"				:
-		    "=d" (_port_), "=S" (addr), "=c" (count)	:
-		    "0" (_port_), "1" (addr), "2" (count)	:
-		    "%eax", "memory", "cc");
+		    "+d" (_port_), "+S" (addr), "+c" (count)	: :
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -897,9 +888,8 @@
 			cld					\n\
 			repne					\n\
 			movsw"					:
-		    "=D" (_port_), "=S" (addr), "=c" (count)	:
-		    "0" (_port_), "1" (addr), "2" (count)	:
-		    "memory", "cc");
+		    "+D" (_port_), "+S" (addr), "+c" (count)	: :
+		    "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -926,9 +916,8 @@
 			outl %%eax,%w0				\n\
 			addl $4,%0				\n\
 			loop 1b"				:
-		    "=d" (_port_), "=S" (addr), "=c" (count)	:
-		    "0" (_port_), "1" (addr), "2" (count)	:
-		    "%eax", "memory", "cc");
+		    "+d" (_port_), "+S" (addr), "+c" (count)	: :
+		    "%eax", "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -947,9 +936,8 @@
 			cld					\n\
 			repne					\n\
 			movsl"					:
-		    "=D" (_port_), "=S" (addr), "=c" (count)	:
-		    "0" (_port_), "1" (addr), "2" (count)	:
-		    "memory", "cc");
+		    "+D" (_port_), "+S" (addr), "+c" (count)	: :
+		    "memory");
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"
@@ -1329,7 +1317,7 @@
 	if (flags & BUS_SPACE_BARRIER_READ)
 		__asm __volatile("lock; addl $0,0(%%esp)" : : : "memory");
 	else
-		__asm __volatile("" : : : "memory");
+		/* nothing */;
 #else
 # ifndef lint
 #  error "no assembler code for your compiler"

==== //depot/projects/smpng/sys/pc98/include/bus.h#2 (text+ko) ====

@@ -301,11 +301,10 @@
 								\
 	__asm __volatile("call *%2"  				\
 			:"=a" (result),				\
-			 "=d" (offset)				\
+			 "+d" (offset)				\
 			:"o" (bsh->bsh_bam.bs_read_##BWN),	\
-			 "b" (bsh),				\
-			 "1" (offset)				\
-			);					\
+			 "b" (bsh)				\
+			:"ecx","memory");			\
 								\
 	return result;						\
 }
@@ -327,12 +326,11 @@
 {								\
 								\
 	__asm __volatile("call *%1"				\
-			:"=d" (offset)				\
+			:"+d" (offset)				\
 			:"o" (bsh->bsh_bam.bs_write_##BWN),	\
 			 "a" (val),				\
-			 "b" (bsh),				\
-			 "0" (offset)				\
-			);					\
+			 "b" (bsh)				\
+			:"ecx","memory");			\
 }								
 
 _BUS_SPACE_WRITE(u_int8_t,1)
@@ -353,15 +351,12 @@
 {									\
 									\
 	__asm __volatile("call *%3"					\
-			:"=c" (cnt),					\
-			 "=d" (offset),					\
-			 "=D" (buf)					\
+			:"+c" (cnt),					\
+			 "+d" (offset),					\
+			 "+D" (buf)					\
 			:"o" (bsh->bsh_bam.bs_read_multi_##BWN),	\
-			 "b" (bsh),					\
-			 "0" (cnt),					\
-			 "1" (offset),					\
-			 "2" (buf)					\
-			:"memory");					\
+			 "b" (bsh)					\
+			:"eax","memory");				\
 }
 
 _BUS_SPACE_READ_MULTI(u_int8_t,1)
@@ -382,15 +377,12 @@
 {									\
 									\
 	__asm __volatile("call *%3"					\
-			:"=c" (cnt),					\
-			 "=d" (offset),					\
-			 "=S" (buf)					\
+			:"+c" (cnt),					\
+			 "+d" (offset),					\
+			 "+S" (buf)					\
 			:"o" (bsh->bsh_bam.bs_write_multi_##BWN),	\
-			 "b" (bsh),					\
-			 "0" (cnt),					\
-			 "1" (offset),					\
-			 "2" (buf)					\
-			);						\
+			 "b" (bsh)					\
+			:"eax","memory");				\
 }
 
 _BUS_SPACE_WRITE_MULTI(u_int8_t,1)
@@ -406,20 +398,17 @@
 	bus_space_tag_t tag;						\
 	bus_space_handle_t bsh;						\
 	bus_size_t offset;						\
-	TYPE *buf;						\
+	TYPE *buf;							\
 	size_t cnt;							\
 {									\
 									\
 	__asm __volatile("call *%3"					\
-			:"=c" (cnt),					\
-			 "=d" (offset),					\
-			 "=D" (buf)					\
+			:"+c" (cnt),					\
+			 "+d" (offset),					\
+			 "+D" (buf)					\
 			:"o" (bsh->bsh_bam.bs_read_region_##BWN),	\
-			 "b" (bsh),					\
-			 "0" (cnt),					\
-			 "1" (offset),					\
-			 "2" (buf)					\
-			:"memory");					\
+			 "b" (bsh)					\
+			:"eax","memory");				\
 }
 
 _BUS_SPACE_READ_REGION(u_int8_t,1)
@@ -440,15 +429,12 @@
 {									\
 									\
 	__asm __volatile("call *%3"					\
-			:"=c" (cnt),					\
-			 "=d" (offset),					\
-			 "=S" (buf)					\
+			:"+c" (cnt),					\
+			 "+d" (offset),					\
+			 "+S" (buf)					\
 			:"o" (bsh->bsh_bam.bs_write_region_##BWN),	\
-			 "b" (bsh),					\
-			 "0" (cnt),					\
-			 "1" (offset),					\
-			 "2" (buf)					\
-			);						\
+			 "b" (bsh)					\
+			:"eax","memory");				\
 }
 
 _BUS_SPACE_WRITE_REGION(u_int8_t,1)
@@ -469,14 +455,12 @@
 {									\
 									\
 	__asm __volatile("call *%2"					\
-			:"=c" (cnt),					\
-			 "=d" (offset)					\
+			:"+c" (cnt),					\
+			 "+d" (offset)					\
 			:"o" (bsh->bsh_bam.bs_set_multi_##BWN),		\
 			 "a" (val),					\
-			 "b" (bsh),					\
-			 "0" (cnt),					\
-			 "1" (offset)					\
-			);						\
+			 "b" (bsh)					\
+			:"memory");					\
 }
 
 _BUS_SPACE_SET_MULTI(u_int8_t,1)
@@ -497,14 +481,12 @@
 {									\
 									\
 	__asm __volatile("call *%2"					\
-			:"=c" (cnt),					\
-			 "=d" (offset)					\
+			:"+c" (cnt),					\
+			 "+d" (offset)					\
 			:"o" (bsh->bsh_bam.bs_set_region_##BWN),	\
 			 "a" (val),					\
-			 "b" (bsh),					\
-			 "0" (cnt),					\
-			 "1" (offset)					\
-			);						\
+			 "b" (bsh)					\
+			:"memory");					\
 }
 
 _BUS_SPACE_SET_REGION(u_int8_t,1)
@@ -529,16 +511,13 @@
 		panic("bus_space_copy_region: funcs mismatch (ENOSUPPORT)");\
 									\
 	__asm __volatile("call *%3"					\
-			:"=c" (cnt),					\
-			 "=S" (src),					\
-			 "=D" (dst)					\
+			:"+c" (cnt),					\
+			 "+S" (src),					\
+			 "+D" (dst)					\
 			:"o" (dbsh->bsh_bam.bs_copy_region_##BWN),	\
 			 "a" (sbsh),					\
-			 "b" (dbsh),					\
-			 "0" (cnt),					\
-			 "1" (src),					\
-			 "2" (dst)					\
-			);						\
+			 "b" (dbsh)					\
+			:"edx","memory");				\
 }
 
 _BUS_SPACE_COPY_REGION(1)



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