PPC860 cachelines corrected for glibc, need to correct also in kernel ?

Epicom epicom at idecnet.com
Thu Sep 30 17:16:31 EST 1999


Kari Hameenaho wrote:
> 
> There was previous correction in this mailing list for cachelines in glibc
> to be used in PPC860.
> 
> >Ok, here's how to build glibc for embedded PPC:
> 
> >First you must remove the assumption that cachelines are 32 bytes:
> >Apply this diff, and simply move sysdeps/powerpc/memset.S out of the
> >way for now:
> 
> >diff -ur orig/glibc-2.1.1/sysdeps/powerpc/dl-machine.c glibc-2.1.1/sysdeps/powerpc/dl-machine.c
> >--- orig/glibc-2.1.1/sysdeps/powerpc/dl-machine.c       Fri Mar  5 23:41:23 1999
> >+++ glibc-2.1.1/sysdeps/powerpc/dl-machine.c    Mon May 17 20:59:06 1999
> >@@ -250,7 +250,11 @@
> >         PowerPC processors have line sizes of exactly 32 bytes.  */
> >
> >       size_modified = lazy ? rel_offset_words : PLT_INITIAL_ENTRY_WORDS;
> >+#ifdef PPC_CACHELINESIZE_32
> >       for (i = 0; i < size_modified; i+= 8)
> >+#else
> >+      for (i = 0; i < size_modified; i+= 4)
> >+#endif
> >        PPC_DCBST (plt + i);
> >       PPC_DCBST (plt + size_modified - 1);
> >       PPC_SYNC;
> >
> 
> We have trouble with PCI bus master boards in Motorola MBX board (PPC860):
> seems like a cache problem, all data not correct as read from PCI bus.
> We have used kernels 2.2.5, 2.3.10 and 2.3.18.
> The memory area is reserved by __get_free_pages(GFP_KERNEL | GFP_DMA,5);
> 
> The situation is improved a lot (it may even be correctred totally) by
> changing
> cache setting in file ppc-asm/cache.h:
> 
> /* bytes per L1 cache line */
> #define        L1_CACHE_BYTES  32
> 
> =>
> 
> /* bytes per L1 cache line */
> #define        L1_CACHE_BYTES  16
> 
> There is also L1_CACHE_PAGES in this file, but it seems that that is not used
> anywhere.
> 
> Is this correct change or should we change something else to make access to
> DRAM more reliable
> from PCI ?
> Is anybody else having problems with PCI bus master access in PPC860 ?
> 
> ---
> Kari Hämeenaho

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/




More information about the Linuxppc-embedded mailing list