Thread (19 messages) flat view 19 messages, 8 authors, 2006-09-20

Re: [POWERPC] convert string i/o operations to C

From: Michael Ellerman <hidden>
Date: 2006-09-20 04:38:27

On Wed, 2006-09-20 at 13:35 +1000, Stephen Rothwell wrote:
This produces essentially the same code and will make the iSeries i/o
consolidation easier.
A bit more white space would be nice :D, eg:
+void _insb(volatile u8 __iomem *port, void *buf, long count)
+{
+	u8 *tbuf = buf;
+	u8 tmp;
+
+	if (unlikely(count <= 0))
+		return;
+	asm volatile("sync");
+	do {
+		tmp = *port;
+		asm volatile("eieio");
+		*tbuf++ = tmp;
+	} while (--count != 0);
+	asm volatile("twi 0,%0,0; isync" : : "r" (tmp));
+}
+EXPORT_SYMBOL(_insb);
cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help