603 support

Greg Alexander mol-devel@lists.maconlinux.org
Wed, 01 May 2002 12:45:44 -0500


This probably belongs in the developers list, so I'm going to leave it
there for the time being.

Okay, CTR should be used for that branch (assuming 603 is anything like
POWER4)  :), so...

1.) Is there still a way to get the current MOL working with a 2.2.20
kernel?  i.e. when did linux stop using page tables on the 603?

2.) The 603 problems seem to be related to telling linux that we've got
a 603... why not tell it we're running a sort of 604 in a kernel patch? 
Then wouldn't it use "real" page tables?

3.) If not #2, what do we currently try to do to get around the kernel
not using PPC page tables?

It looks to me like we build our own hash table, correct?

How do we ensure that this is kept in sync with what's really in memory?

4.) Do we really need to use SDR1? (not that I suspect this is the
problem, but it's worth looking into.)  Actually, the SDR1 code looks a
little suspiscious to me.  I'm going to look at it some more.


Sorry for asking so many questions.  I want to help but I've got to come
up to speed before I 
can.

Thanks,

GREG


samuel@ibrium.se wrote:
> 
> On Tue, Apr 30, 2002 at 03:42:15PM -0500, Greg Alexander wrote:
> > I'm interested in getting 603 support working.  From posts on the list
> > it looks like it isn't.
> >
> > I've been looking at the code in 603.S, and one glaring thing stands out
> > at me so far:
> >
> > Why do we believe that r0 gets the ctr after a page table searching
> > interrupt?
> 
> The vectors in 603.S are not invoked directly; they are
> called from trampolines. The trampolines check whether MOL owns
> the processor or not. If MOL is the owner, then the vector
> in 603.S is invoked. The glue for the 603 exceptions saves
> ctr in r0 (ctr is used for the branch). The actual code
> is in src/kmod/include/molasm.h.
> 
> > Other than the page table searching interrupts (which we make
> > disappear), what other 603-specific issues are there?  I'd like to check
> > some of these also.
> 
> Well, there is the code to allocate the page table and set
> SDR1 (in mmu.c), but that should be all.
> 
> Note that MOL *did* run on 603 processors when the kernel
> used page tables for the 603.
> 
> Cheers,
> 
> /Samuel