[parisc-linux] Question about cache flushing and fork

John David Anglin dave at hiauly1.hia.nrc.ca
Tue Dec 16 15:51:38 MST 2003


> On Tue, Dec 16, 2003 at 12:06:57AM -0500, John David Anglin wrote:
> > According to my understanding, all PA 2.0 machines use a 64 byte
> > cache line.  On the otherhand, the PA 2.0 documentation states that
> > a cache line on a PA 2.0 machine can be 16, 32 or 64 bytes if I
> > remember correctly.
> 
> Correct.  I believe that PDC_CACHE returns the actual size (among other
> things.)

Is it possible to do PDC calls from user space under hpux to determine
cache parameters?

> If the C200 is genuinely a PA2.0 machine, then that's, umm, interesting,
> since the arch document doesn't say that it's hversion dependent...  The 
> instruction is undefined(*) on PA1.1 - you must bl .+8,<register>, which
> will get you the address of .+8 (regardless of where you branch.)

I revised GCC's trampoline code to assume a line length of 32 instead
of 64 on hppa64.  It can now flush arbitrarily long regions of memory.
The test now passes.  This seems to imply that the cache length of a
C200 under hpux11.00 is 32 bytes.

Thanks,
Dave
-- 
J. David Anglin                                  dave.anglin at nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


More information about the parisc-linux mailing list