Hi everyone,
I hope someone @Xilinx will read this.
In the new EDK 8.1 the FSL access macros have changed name. And they also introduced _interruptible versions. Theses are defined in ${EDK_HOME}/sw/lib/bsp/standalone_v1_00_a/src/microblaze/mb_interface.h
The definitions for getfsl_interruptible and cgetfsl_interruptible are correct. But the ones for putfsl_interruptible and cputfsl_interruptible are incorrect. For example putfsl_interruptible is :
#define putfsl_interruptible(val, id) \ asm volatile ("\n1:\n\tnput\t%0,rfsl" #id "\n\t" \ "addic\tr18,r0,0\n\t" \ "bnei\tr18,1b\n" \ : "=d" (val) :: "r18")
and it should be :
#define putfsl_interruptible(val, id) \ asm volatile ("\n1:\n\tnput\t%0,rfsl" #id "\n\t" \ "addic\tr18,r0,0\n\t" \ "bnei\tr18,1b\n" \ :: "d" (val) : "r18")
Obviously val is a input in the case of a 'put' and not an output.
Another related question : In my code, when a replace all non _interruptible versions by their _interruptible counter parts, it doesn't behave as excpected anymore ... Does theses version require some hw support ?
Sylvain
PS: I know I should submit a webcase but when I try to login I just get "Server Error" ... and so I obviously can't even submit a webcase about my problem of being unable to log in into the webcase ...