12-29-2009 09:50 PM
The new (11.4) MicroBlaze synchronization instructions LWX/SWX do not specify whether or not the resevation is accessible to external devices such as hardware accelerators and other processors. The documentaiton says that the state is held internally (page 25 of mb_ref_guide.pdf), which leads me to believe that it can only be used for uni-processor synchronization. The reference guide also mentions a new MSR coherence bit, but the current implementation does not yet support the coherence functionality.
Does anybody have any additional information on the subject? Any info will be greatly appreciated.
01-08-2010 04:18 AM
There is no way to do synchronization accesses over PLB or XCL so the current implementation only works internally to MicroBlaze.
The usage is for creating synchronization primitives like spinlock.
I don't know what coherence bit for MSR you are referring to and the only meantioning of the word "coherence" in the reference guide is for the MMU TLB information.