[U-Boot] [PATCH v2 3/9] openrisc: Add cpu files

Stefan Kristiansson stefan.kristiansson at saunalahti.fi
Fri Jan 6 14:22:54 CET 2012


On Thu, Jan 05, 2012 at 06:15:48PM -0500, Mike Frysinger wrote:
> On Thursday 22 December 2011 06:39:32 Stefan Kristiansson wrote:
> > On Thu, Dec 22, 2011 at 10:09:30AM +0100, Michal Simek wrote:
> > > Stefan Kristiansson wrote:
> > > >+
> > > >+void dcache_enable(void)
> > > >+{
> > > >+	mtspr(SPR_SR, mfspr(SPR_SR) | SPR_SR_DCE);
> > > >+	asm volatile("l.nop");
> > > >+	asm volatile("l.nop");
> > > >+	asm volatile("l.nop");
> > > >+	asm volatile("l.nop");
> > > >+	asm volatile("l.nop");
> > > >+	asm volatile("l.nop");
> > > >+	asm volatile("l.nop");
> > > >+	asm volatile("l.nop");
> > > 
> > > This is interesting. Are there 8 nops?
> > > Is there any reason for that? Is it just any waiting?
> > > If yes, maybe it will be worth to add any comment.
> > 
> > Yes, the number of nops are kind of arbitrary,
> > they are there to add some headroom for the cache
> > to startup without any load/stores in flight.
> > 
> > But you are right, a comment about this might be in place.
> 
> this is usually why the ISA provides some sort of sync or latch mechanism.  
> that way code is deterministic instead of being unsettling arbitrary (like it 
> is here).

The OpenRISC ISA does provide synch mechanisms, but they are unfortunately
optional and not supported by the (currently) only open implementation (or1200).

Stefan


More information about the U-Boot mailing list