df61f0409e
"To fully support self-modifying code in any situation, it is imperative that a CPUSHA intrcution is executed before the execution of the first self-modified instruction. The CPUSHA instruction has the effect of ensuring that there is no stale data iin memory, the pipeline is flushed, and instruction prefetches are repeated and taken from external memory." I verified that this is the only way (I can think of) to make the sigtramp regression test work on 68040. doing cpushl dc; cinvl ic; over the affected address range, then nop (to synchronize the pipeline) is not enough; apparently the nop does not FLUSH the pipeline and prefetch... Note that the 68060 UM has copied the above cited passage, but in fact this is not true. This might be connected to the fact that the 68060 does ensure memory access order under most conditions. |
||
---|---|---|
.. | ||
compile | ||
conf | ||
dev | ||
include | ||
stand | ||
usr.bin | ||
usr.sbin | ||
x68k | ||
Makefile |