Thread (1 message) 1 message, 1 author, 1999-08-14

Re: [linux-fbdev] Re: readl() and friends and eieio on PPC

From: Geert Uytterhoeven <hidden>
Date: 1999-08-14 18:34:10

On 14 Aug 1999, Jes Sorensen wrote:
quoted
quoted
quoted
quoted
quoted
"David" == David A Gatwood [off-list ref] writes:
David> On Fri, 13 Aug 1999, Paul Mackerras wrote:
quoted
quoted
Surely it should only take a couple of cycles to move a register to
another and clear it?  I agree it's a pain though.  Actually, with
gcc the asm statement that uses the eieio could just specify the
register (which one is it?) as an input and give it the value 0.
David> For some reason, just loading the value isn't enough.  The code
David> that Gilbert put in as a workaround shortly before DR3 looks
David> like this:

David> #define eieio() __asm__ volatile("li 0,0: cmpwi 0,0; bne+ 0f;
David> eieio; 0:" : : : "0")

Defininf a C function with the name of a PPC specific assembler
function is pretty stupid. To the best of my knowledge wmb() is the
Well, David was talking about replacing the eieio() macro (which Linux/PPC had
since ages) by something that works around bugs in the hardware.
generic name for the thing you are looking for.
Time to start grepping in include/asm-alpha/system.h. Huh, Alpha AXP has no
`rmb' mnemonic ;-)

Greetings,

						Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium



[[ This message was sent via the linuxppc-dev mailing list.  Replies are ]]
[[ not  forced  back  to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting.   ]]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help