[parisc-linux-cvs] DIFF -pa6 time.c

Grant Grundler grundler@puffin.external.hp.com
Sat, 17 Nov 2001 01:03:05 -0700


Grant Grundler wrote:
> +	 * FIXME: This won't work on smp because jiffies are updated by cpu 0.
> +	 *    Once parisc-linux learns the cr16 difference between processors,
> +	 *    this could be made to work.

For the record, the trick to making this work is get all but master CPU
spinning in tight loops on mfctl(eirr) (with ext intr masked) and testing
the same EIRR bit.
Then the master can write the broadcast interrupt with the bit value
the slaves are watching. The slaves exit the loop and read
CR16 at about the same time the master does and everyone goes on their
merry way with a fairly accurate offset from the master.

This only works because PA arch has the "broadcast" interrupt address.

grant