Port-amiga archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: amigappc test kernel for CSPPC and BPPC



Frank Wille wrote:
> Would be interesting to know why there is a maximum address at all? Maybe
> the intention was not to set a maximum address, but to restrict page tables
> and pmap allocations to a single 256MB region, because you don't want to
> use more than one BAT for it?

Could be something like that. I hope to find out the answer before this
is over. 

> Perhaps I have to read the whole thread again, but at the moment I don't
> understand why this is still needed, since pmap is allowed to use the
> on-board Fast RAM now, same as a CSPPC.

The combination of dcbz and memory coherence just doesn't seem to work
(causes freeze), even when fast memory is used. No idea why.

> And shouldn't dcbz at least work when you disable memory coherency?

If you mean the pmap_zero_page case, the function turns data address
translation off, which enables memory coherence for everything (page
tables and bats are ignored). 
 
> It could be interesting if Radek finds some time to test your modifications
> and disables the last two options just to see what happens. I see no reason
> why it should work differently on a CSPPC than on a BPPC once you have your
> pmap allocations in Fast RAM.

I guess the hardware is somewhat different.

> I just tested your patches with my CSPPC and can confirm that it does no
> harm to it. ;)

Guess that is something. :)

> > I think this is going to need some more work. Hopefully a better
> > solution to the dcbz problem could be found.
> 
> Yes. The first option is ok and can be argumented. But the other two are
> strange.

I'm not too excited about them either.
 
> > Also it looks like cpuclock/busclock calculation is a bit off.
> > This one should have 200Mhz processor instead of 233Mhz.
> Have a look at the pll603[] array in amigappc_identify(). There is probably
> a wrong entry for your CPU.

PLL_CFG has value 1110, which would indicate multiplier 3.5.

I might have been mistaken about 200MHz. I tried some powerup and
warpos tools and they say that cpuclock is 210 and busclock is 60. 

So it would seem that the multiplier is correct but busclock is
guessed wrong. Maybe we need a separate switch for BPPC for busclock
handling. Or maybe we need to implement measuring it like the
comment suggests.

-- jukka


Home | Main Index | Thread Index | Old Index