Subject: Re: evbppc reserved-tlb cleanup
To: Jachym Holecek <freza@dspfpga.com>
From: Jachym Holecek <freza@dspfpga.com>
List: port-powerpc
Date: 09/24/2006 15:59:11
# Juergen Hannken-Illjes 2006-09-24:
> On Sun, Sep 24, 2006 at 03:33:27PM +0200, Jachym Holecek wrote:
> > Hmm, interesting it worked before (pckbc was never reserve-mapped ;-).
> > I guess we can uncondionally map 0x7400'0000 -- 0x7500'0000 like below
> > (patch against -current, see the very end).
> > 
> > 	-- Jachym
> 
> The current set_tlb() aligns its address as 'addr &= ~(TLB_PG_SIZE-1);'
> 
> This converts BASE_COM == 0x740005f0 to 0x74000000 and so maps the complete
> ISA bus.

Yes, ppc4xx_tlb_reserve() does the same. This however happened only
in COM_IS_CONSOLE case. From the panic() message I assume tsutsui@
is testing the other case?

> Best way is to add a '#define BASE_ISA 0x74000000' to evbppc/include/explora.h
> and use it here like
> 
> 	ppc4xx_tlb_reserve(BASE_ISA, BASE_ISA, TLB_PG_SIZE, TLB_I | TLB_G);
> #ifndef COM_IS_CONSOLE
> 	ppc4xx_tlb_reserve(BASE_FB,  BASE_FB,  TLB_PG_SIZE, TLB_I | TLB_G);
> 	ppc4xx_tlb_reserve(BASE_FB2, BASE_FB2, TLB_PG_SIZE, TLB_I | TLB_G);
> #endif

Agreed, I'll make it so (if my second explora patch works).

	-- Jachym