Subject: re: Need sparc openboot reference (fwd)
To: None <eeh@netbsd.org>
From: Kapil Chowksey <kch@kchowksey@hss.hns.com>
List: port-sparc
Date: 01/30/1999 21:05:45
On Saturday, 30 January, Eduardo E. Horvath wrote:

> > I'd wonder about the performance of using ASI's....
> 
> Should be faster since they explicitly bypass the MMU and don't take TLB
> miss traps.  However, the current scheme using gcc macros is not optimal
> since gcc can't do as good a job at scheduling the instructions.  The best
> solution would be to modify gcc so pointers could be explicitly assocated
> with ASIs.

Bypass ASI's should be better from the cache standpoint also because
using virtual addresses pollutes an on-cpu D$ cache line. Now, we will
the hitting the E$ cache.

I think the pointer approach that you mention will hurt gcc's register
allocation because the immediate-indexed addressing modes will not be
available eg. compiler cannot generate :

	ldxa	%l2, [%l1 + FOO_OFFSET] ASI_BYPASS

but it will have to do

	set	FOO_OFFSET, %l3
	ldxa	%l2, [%l1 + %l3] ASI_BYPASS

-- 
Kapil Chowksey				"Viva GNU !"
kch@kchowksey@hss.hns.com