patch to get latest XFree 4.0 snapshot (xf3918) to work on pp cwith r128

Kevin Hendricks khendricks at ivey.uwo.ca
Thu Mar 9 14:11:31 EST 2000


Hi Kostas,

I took one more look at the cache flush code for what the loader loads and
would like to make one small change.  The reason is as follows:  if the object
is loaded at an address whose last 5 bits are not 0 (say they are 30 decimal for
the sake of argument and the size is 8 bytes really two cache lines should be
flushed and not just one.  The way it was previously (after your change to
ppc_flush_icache) only 1 cache line was being flushed in this case.

    if(read(fd,ptr,size)!=size)
	FatalError("\n_LoaderFileToMem() read() failed: %s\n",strerror(errno));

#if defined(linux) && defined(__powerpc__)
 {
 int i;
 for (i = 0; i < size; i += 32)
    ppc_flush_icache(ptr+i);

 /* add this line to make sure any partial ending cache line gets flushed too */
 ppc_flush_icache(ptr+size-1)
 }
#endif

#ifdef DEBUGMEM
    ErrorF("=%lx\n",ptr);
#endif


Thanks,

Kevin


--
Kevin B. Hendricks
Associate Professor of Operations and Information Technology
Richard Ivey School of Business, University of Western Ontario
London, Ontario  N6A-3K7  CANADA
khendricks at ivey.uwo.ca, (519) 661-3874, fax: 519-661-3959

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





More information about the Linuxppc-dev mailing list