[parisc-linux-cvs] linux jsm
John Marvin
jsm@puffin.external.hp.com
Thu, 8 Feb 2001 05:34:31 -0700
CVSROOT: /home/cvs/parisc
Module name: linux
Changes by: jsm 01/02/08 05:34:31
Modified files:
arch/parisc/kernel: pacache.S
Log message:
The fdce instruction is called multiple times for each line of a cache when
the cache is set associate (2-way on PCXL2, 4-way on PCXW). The hardware
maintains "state" regarding which "way" to flush, therefore can't allow
interrupts during the loop in flush_data_cache(). So, we disable interrupts.
Not sure I like this fix, but the alternatives aren't great either.
Note that this problem does NOT exist for the instruction cache using
fice (fice invalidates all "ways" simultaneously, since it doesn't have
to worry about pushing cache lines out).