linux-mips-fnet
[Top] [All Lists]

Re: 2.0.7 on DS5000/200 ...

To: linux-mips@fnet.fr
Subject: Re: 2.0.7 on DS5000/200 ...
From: paul@suite.sw.oz.au (Paul Antoine)
Date: Thu, 3 Oct 1996 18:52:42 +1000 (EST)
In-reply-to: <199610030830.JAA04457@vespa.unix-ag.uni-siegen.de> from "Michael Engel" at Oct 3, 96 09:30:22 am
Organization: Softway Pty Ltd
Hi Michael,

> last night I finally found time to try Paul's 2.0.7 kernel on my DS5000/200
> (haven't tried the 5000/120 yet).
> 
> It comes as far as 
> Initialising time ...
> 
> (init/main.c l. 773)
> and hangs.

...as all good kernels should!  I know it's not as impressive as a full
boot, but that's as far as I've got in writing code.  The major milestone
it represents is that the DECstation code is finally back into a
mainstream kernel release (or it will be once I give Ralf my patches!)

> By looking through the startup code I came across some things that 
> I didn't understand ... I'm still waiting for my copy of Kane's 
> "MIPS RISC architecture" book
> (our library has it, but it's currently loaned to s.o. else :().

You really need a copy of this, though there is a half-way decent
description of the R3000 architecture in the DEC documentation.

> I think most of my questions will be answered when I get better knowledge
> of the MIPS instruction set ...

Yep!

> But, one question remains ...
> 
> - Am I correct in assuming that the boot monitor already sets up a 
>   virtual->physical address mapping ? In dec_entry.S a commenct reads

Probably, though we don't care what it is.

>  * Now we need to move exception vector handler routines that appear
>  * in head.S down to the right addresses, 'cos the DECStation loads
>  * kernels at 0x80030000... <sigh>
> 
>   Afaik, the physical address space goes from 0x0 to 512 MBytes, so the 
>   0x80030000 should be a virtual address. Or did I get sth. wrong there ?

No, it's the physical address 0x0003000 in what's called KSEG0 which is 
main memory unmapped but cached.  KSEG1 at 0xA0000000 is the same memory
both unmapped and uncached, which is useful for accessing device registers.

KUSEG addresses start at 0x00000000 and are mapped via the TLB (i.e.
virtual) and cached.  The MIPS CPU's just work this way - and once you 
get used to it, it's pretty easy and very useful!

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.

<Prev in Thread] Current Thread [Next in Thread>