public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] arm: empty isb() in set_cr
@ 2012-11-27 15:01 Joe Kulikauskas
  0 siblings, 0 replies; only message in thread
From: Joe Kulikauskas @ 2012-11-27 15:01 UTC (permalink / raw)
  To: u-boot

#define isb() __asm__ __volatile__ ("" : : : "memory")
is in arch/arm/include/asm/system.h.  In my build, that is going into 
set_cr(), producing no instruction.

Is that correct?  It has been in code since 
http://lists.denx.de/pipermail/u-boot/2009-March/049870.html.

Looks like it's used only in set_cr.  Other points in the code have 
nonempty code for ISB, for example
#define CP15ISB    asm volatile ("mcr     p15, 0, %0, c7, c5, 4" : : "r" 
(0))
which is in armv7.h

I don't have a standard reference platform to experiment with. The 
platform that I have uses a Cortex-A9 core, u-boot.2012.07 is ported and 
running. There are some intermittent issues there relating to enabling 
MMU/cache, lack of instruction barriers would be a plausible explanation.

Adding ISB SY in set_cr doesn't fix my issues, but it looks like a step 
in right direction. If someone could explain, or point me to email, I 
would appreciate it. Thanks in advance.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-11-27 15:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-27 15:01 [U-Boot] arm: empty isb() in set_cr Joe Kulikauskas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox