[Top] [All Lists]

Re: port on exotic board.

To: Jun Sun <>
Subject: Re: port on exotic board.
From: moreau francis <>
Date: Wed, 22 Dec 2004 10:55:14 +0100 (CET)
In-reply-to: <>
Original-recipient: rfc822;
> Since nobody else is replying I am giving it a shot.
>  Hope it helps.

yes it helps, thanks for replying !

> Setting WIRED to zero is just part of kernel
> start-up initialization.
> I think
> this needs to be fixed.  A couple of boards should
> be broken because of this.

yes and anyway the default value for WIRED is zero
after a reset.

> > Why this assumption ?
> > 
> Because all other boards have phys memory starting
> from 0?  It simplies code for sure.

Well, a part of the kernel seems to support this
feature but not all, specially mips specific code...
That make me think that it would not so hard to change
I look at arm-arch code, and at the definition of
"page_to_pfn" and it does what I need:
      (((page) - mem_map) + PHYS_PFN_OFFSET)
I can't believe that I'm the first one on mips 
architecture who is trying to run kernel code located
at a physicall address different from 0 !

> > Are these pages going be used when the Linux is
> > running ?
> Not much in MIPS case I suppose.

If these pages are not used during kernel life, it
could save space to not map kernel code in "mem_map".
PFN 0 could be the first page that map kernel data.

This is specialy true if code starts at 0x20000000.

> > I noticed CPHYSADDR macro. This macro only works
> if
> > PAGE_OFFSET is equal to 0x80000000. Why does this 
> > macro exist ? Why not using __pa macro ?
> Don't know much about this one.

It is a typically mips specific code that prevents
kernel code to start at address different from 0.

> BTW, once there was a board whose memory starts from
> 0x90000000.  It had
> similar problems as yours, but I think it ran in the
> end.  Try to search
> the mailing list.

I can't find it in mailing list archive :(



Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails ! 
Créez votre Yahoo! Mail sur

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