Hi, I wrote:
No, I don't. But that was why the original code preferred the wired entry approach over ioremap() -- not to map a whole range...
Not the only one: dynamic ioremap() seems to be impossible in interruptcontext.
Well, ioremap() may sleep indeed.
So, the only viable option of using sofirq() is mapping all the sparce 2KiB regions at the __init time -- that will waste every half of page though...
That for the root PCI bus and 16 megs at 0x680000000 for the subordinates. WBR, Sergei