_IO_IS_ISA question
linas at austin.ibm.com
linas at austin.ibm.com
Fri Mar 26 04:24:47 EST 2004
On Thu, Mar 25, 2004 at 11:15:50AM -0600, linas at austin.ibm.com wrote:
>
> On Thu, Mar 25, 2004 at 10:34:18AM +1100, Benjamin Herrenschmidt wrote:
> >
> > > > Paul, Ben and I were discussing it, and it would seem we can use the
> > > > existing exception stuff (aka get_user etc). This would remove all the
> > > > ISA_* checks we currently have and not require the added complexity that
> > > > this patch introduces.
> > >
> > > Ohh, yes, I like that, much better idea. I'm guessing a little bit
> > > how one might do that; I'm thinking a new 'copy_to_io' type function
> > > with the isa_port<0x10000 check in the ex_table code? I'm somewhat
> > > confused, since bad_page_fault usually runs at the end, not at the start
> > > of the exception handling.
> >
> > Look what ppc32 does
>
> Hmmm. include/asm-ppc/io.h ... twi ... isync ...
>
> I hope that we can do something that doesn't require either twi or isync,
> or sync for that matter, as the cure seems worse than the disease.
> I was assuming (and still kinda hoping) that a load/store to a bad
> ISA address would generate an exception that is synchronous with
> the load/store.
I take that all back, my comments are nonsense. I just actually read
the page for isync. Duhh. I thought it did something completely different.
> By 'cure worse than disease' I mean: performance-wise, Jake's
> if-test ((port<10000) && maskbits) (and the half dozen insns that this
> genarates) sounds to be faster than sync, or so I would think ...
Well, I suppose that's still a concern; how many cycles delay for
io-to-valid-addr+isync on power3/4/5 ?
--linas
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list