On Friday 12 February 2010 11:58:02 Øyvind Harboe wrote:
> On Fri, Feb 12, 2010 at 9:29 AM, Marc Pignat <marc.pig...@hevs.ch> wrote:
> > On Friday 12 February 2010 08:59:08 David Brownell wrote:
> >> On Thursday 11 February 2010, Marc Pignat wrote:
> >> >  What happens when we flush an address that is not in the data cache?
> >>
> >> We obviously *want* it to be a NOP... which is what section 2.3.11 of
> >> the ARM920T spec (mine says ARM DDI 0151B) seems to imply.  Table 2-15:
> >>
> >>  Clean and Invalidate D entry using either index or MVA
> >>
> >>  ... Writes the specified cache line to main memory, if the line is
> >>  marked valid and dirty. The line is marked not valid.
> >>
> >> The code uses an MVA (yes?) so if there's no valid/matching cacheline,
> >> that would be a NOP.
> >
> >
> > We use MCR p15,0,Rd,c7,c14,2 (Clean and Invalidate DCache entry (using 
> > Index))
> > but I think we should use MCR p15,0,Rd,c7,c14,1 - Clean and Invalidate 
> > DCache entry (using MVA)
> 
> Sounds reasonable!
> 
> >
> >>
> >>
> >> However, the ARM920T code is a bit vague about the particular
> >> coprocessor ops it's using.  I'm not sure I'd trust those 32-bit
> >> numbers to match the MCR instructions in the first comment ... and
> >> the second has no comment.  It'd be worth making them both of those
> >> use the MCR() opcode macros.
> >>
> >
> > I will have a look at this!
> 
> Could you try to make the patch I sent work using the correct cache flushing
> method?
> 
> 
I can't make it work, but if I read well int arm920t_write_cp15_interpreted, we 
should put
the address in value...

I mean we use MCR p15,0,r0,... and we put the VMA in r1, so it will be unused?



_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to