
17 Mar
2004
17 Mar
'04
3:02 a.m.
Joshua,
The code from Xilinx is as follows...
void XIo_Out32(XIo_Address OutAddress, Xuint32 Value) { __asm__ volatile ("stw %0,0(%1); eieio" : : "r" (Value), "r" (OutAddress)); }
Yes, this code is broken. You can use the work-around as pointed out by Wolfgang or you can use the xio.h that is part of u-boot and the Linux kernel. In u-boot you can find it at board/xilinx/common/xio.h In Linux you can find it at arch/ppc/platforms/xilinx_ocp/xio.h
I will make sure this piece of code gets fixed in EDK.
- Peter