linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* I-cache flushing on the 7400
@ 2001-03-31 13:30 Samuel Rydh
  2001-03-31 17:07 ` Benjamin Herrenschmidt
  2001-03-31 17:51 ` Gabriel Paubert
  0 siblings, 2 replies; 5+ messages in thread
From: Samuel Rydh @ 2001-03-31 13:30 UTC (permalink / raw)
  To: linuxppc-dev


I recently discovered that the following sequence

	LI_PHYS( r2,split_store_patch )
	stw     r4,0(r2)			// store instruction
	dcbst   0,r2				// Flush cache
	sync
	icbi    0,r2
	isync

	.... some instructions and then a rfi to split_store_patch ....
	rfi

split_store_patch:
	nop

did not work properly on a G4s (but it did work flawlessly on my G3).
To make the i-cache flush effective, I had to insert an extra
'sync' before the last isync. Consulting my Motorola manuals,
the recommended sequence for the 7400 (but not for the 750) did have
that extra sync. Looking at the 2.4.3-pre8 BK source, I discovered
the 'sync' was sometimes missing (in flush_icache_range and in a
few places in head.S). Shouldn't the sync really be added?

/Samuel


----------------------------------------------------------
 E-mail <samuel@ibrium.se>  WWW: <http://www.ibrium.se>
  Phone/fax: (home) +46 8 4418431, (work) +46 8 7908470
----------------------------------------------------------

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2001-03-31 19:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-31 13:30 I-cache flushing on the 7400 Samuel Rydh
2001-03-31 17:07 ` Benjamin Herrenschmidt
2001-03-31 17:51 ` Gabriel Paubert
2001-03-31 18:15   ` Samuel Rydh
2001-03-31 19:26     ` Gabriel Paubert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).