[Top] [All Lists]

Re: Modpost warning on Alchemy

To: "Maciej W. Rozycki" <>
Subject: Re: Modpost warning on Alchemy
From: Sergei Shtylyov <>
Date: Wed, 01 Aug 2007 20:37:08 +0400
Cc: Ralf Baechle <>,
In-reply-to: <>
Organization: MontaVista Software Inc.
Original-recipient: rfc822;
References: <> <> <> <> <> <> <> <>
User-agent: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.2) Gecko/20040803
Maciej W. Rozycki wrote:

  PCI config. space is mapped at 0x600000000, well beyond KGSEG0/1.

It is still just fine with ioremap() -- it will simply use KSEG2 in this case. You cannot bypass the TLB here with a 32-bit processor no matter what.

And regarding what you have written above and the size issue you mentioned in another e-mail (do you map the whole PCI config space linearly in the physical address space of the CPU or suchlike?) -- PCI

No, I don't. But that was why the original code preferred the wired entry approach over ioremap() -- not to map a whole range...

config space accesses are rare (by design rather than chance), so

   That depends on the drivers used (some IDE drivers access it really often).

performance is a non-issue and it should be absolutely fine for you to call ioremap() and iounmap() in code specific for your PCI host bridge for the required fragment upon every access. There is no need for a permanent

That's an idea -- however, as the currecnt code uses a cached mapping, this part would certainly need to be saved in the new implementaion -- if someone will go and fix it eventually. :-)

map here. You probably waste more performance by taking away a TLB entry to wire it anyway.

   No, I didn't write that code. :-)

  Thanks for wasting time on my education about MIPS. ;-)

 Well, more about Linux perhaps than MIPS in general. :-)

   Let's say that was about Linux/MIPS.  But the key word was "wasting". ;-)


WBR, Sergei

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