--- head.S-org Wed Feb 17 06:59:32 1999 +++ head.S Sun Feb 21 22:20:49 1999 @@ -1361,13 +1361,6 @@ found_slot: stw r6,4(r3) SYNC -/* - * These nop's seem to be necessary to avoid getting a machine - * check on the rfi on 601 processors. - */ - nop - nop - #else /* __SMP__ */ /* * Between the tlbie above and updating the hash table entry below, @@ -1441,7 +1434,22 @@ lwz r21,GPR21(r21) SYNC rfi - + +/* + * These 8 nop's are here to avoid lockup of the 601 on the previous rfi + * instruction. They make sure that rfi gets a different cache sector than + * the following hash_page_out code and thus the rfi instruction is not + * prefetched by not-taken branch instructions in the hash_page code. + */ + nop + nop + nop + nop + nop + nop + nop + nop + hash_page_out: #ifdef __SMP__ lis r2,hash_table_lock@ha