[U-Boot] ELF_RELOC causes strange I-cache issues

Stefan Roese sr at denx.de
Thu Oct 21 13:03:16 CEST 2010


On Thursday 21 October 2010 12:34:01 Albert ARIBAUD wrote:
> > But with DCACHE ON, the USB Stick is not found - maybe a timing problem:
> > 
> > TOP9000>  dc off
> > Data (writethrough) Cache is OFF
> > TOP9000>  usb reset
> > (Re)start USB...
> > USB:   scanning bus for devices... 2 USB Device(s) found
> > 
> >         scanning bus for storage devices... 1 Storage Device(s) found
> > 
> > TOP9000>  dc on
> > Data (writethrough) Cache is ON
> > TOP9000>  usb reset
> > (Re)start USB...
> > USB:   scanning bus for devices... ERROR: CTL:TIMEOUT
> > 2 USB Device(s) found
> > 
> >         scanning bus for storage devices... 0 Storage Device(s) found
> > 
> > TOP9000>
> > 
> > 
> > Reinhard
> 
> If the USB controller uses DMA, then the DCache issue probably has to do
> with making sure to flush the (relevant lines of) cache before
> memory-to-device DMAs and to invalidate the (again, relevant lines of)
> cache after device-to-memory DMAs.

Correct. Note that the EHCI driver already supports such a mode with d-cache 
enabled. You need to set CONFIG_EHCI_DCACHE to enable these cache handling 
functions.
 
> And I suggest we move this dcache issue to its own discussion thread.

Yes. This should be analysed/handled independently.

Cheers,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de


More information about the U-Boot mailing list