Hi Gang,
Ralf wrote:
> Ok, bug #1:
>
>
> [...]
> lw k1, THREAD_PGDIR(k1)
> sll k0, k0, 2
> addu k1, k1, k0
> mfc0 k0, CP0_CONTEXT
> lw k1, (k1)
> srl k0, k0, 1
> and k0, k0, 0xffc
> addu k1, k1, k0
> lw k0, (k1)
> [...]
>
> Unlike the R4000 (64bit!) the R3000 context register refers to an
> array of four byte entries. So you must delete the srl instruction.
...I should probably say that I think this code is of dubious
parentage! It would probably be best for you to look closely at the
MMU code. I was only just getting my head around the R3K MMU when I
ran out of time to keep working on it, so I'd suggest you might even
want to throw it away and write it again!
Once the MMU code is up I'm expecting that we'll then spend most of
our time on device driver code (which is a bit easier!), so if you're
able to help here, Ralf, we should be able to move forward a lot
faster.
Regards,
Paul
_______________________________________________________________________________
Paul M. Antoine, Net: paul@sw.oz.au
Softway Pty Ltd WWW: www.softway.com.au
PO Box 305, Strawberry Hills, NSW 2012, Australia Tel: +61 2 9698 2322
Level 2, 79 Myrtle St, Chippendale, NSW 2008, Australia Fax: +61 2 9699 9174
"It is the lack of acceptance of diversity which threatens to
destroy society, NOT the free expression of it." - Me.
|