All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roland Dreier <roland@topspin.com>
To: anton@au.ibm.com, linuxppc64-dev@lists.linuxppc.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] Fix ppc64 out_be64
Date: 12 Jun 2004 15:00:58 -0700	[thread overview]
Message-ID: <521xkk77xh.fsf@topspin.com> (raw)

I notice that the latest BK has a fix for the bugs in ppc64's out_le64
that I just spent a few hours tracking down in 2.6.6, but out_be64 is
still broken.

This patch fixes two problems with out_be64:
 - The val parameter has to be unsigned long (not int), since it's 64 bits.
 - Since we're passing *addr into the asm as an output parameter, we
   should just use %0 instead of 0(%0) -- what's written won't even
   compile.

My ppc64 asm skills are nearly nonexistent but I'm pretty sure this
fix is needed and correct.

Thanks,
  Roland

Signed-off-by: Roland Dreier <roland@topspin.com>

===== include/asm-ppc64/io.h 1.18 vs edited =====
--- 1.18/include/asm-ppc64/io.h	2004-05-21 00:50:11 -07:00
+++ edited/include/asm-ppc64/io.h	2004-06-12 14:55:49 -07:00
@@ -356,9 +356,9 @@
 			     : "=&r" (tmp) , "=&r" (val) : "1" (val) , "b" (addr) , "m" (*addr));
 }
 
-static inline void out_be64(volatile unsigned long *addr, int val)
+static inline void out_be64(volatile unsigned long *addr, unsigned long val)
 {
-	__asm__ __volatile__("std %1,0(%0); sync" : "=m" (*addr) : "r" (val));
+	__asm__ __volatile__("std %1,%0; sync" : "=m" (*addr) : "r" (val));
 }
 
 #ifndef CONFIG_PPC_ISERIES 

             reply	other threads:[~2004-06-12 22:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-12 22:00 Roland Dreier [this message]
2004-06-13 15:50 ` [PATCH] Fix ppc64 out_be64 Benjamin Herrenschmidt
2004-06-13 16:21   ` Anton Blanchard
2004-06-13 17:08     ` Benjamin Herrenschmidt
2004-06-13 16:48   ` Roland Dreier
2004-06-13 17:11     ` Benjamin Herrenschmidt
2004-06-14 20:26       ` Roland Dreier
2004-06-14 21:10         ` Benjamin Herrenschmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521xkk77xh.fsf@topspin.com \
    --to=roland@topspin.com \
    --cc=anton@au.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc64-dev@lists.linuxppc.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.