Re: test version of 2.1.0 available

Gerard Roudier (
Wed, 25 Sep 1996 23:10:55 +0000 (GMT)


I just booted 2.1.0-#4 with mmio for the bsd ncr driver with success.
For the moment all is ok.

On Wed, 25 Sep 1996, Linus Torvalds wrote:

> On Tue, 24 Sep 1996, Gerard Roudier wrote:
> >
> > I remember that for high physical address space on i386, readX()/writeX()
> > won't work and that we must get a virtual address from vremap().
> Yes.

But seemed to me that was incorrect since the semantic of readX/writeX
was memory IO operations at a physical memory address of the bus.

> > Under ALPHA neither the physical address nor the remapped did work.
> Under alpha, readb() always works, and remapping is not wanted or even
> possible (remapping only works for memory accesses, and this is really an IO
> access).

Hmmm ...
I remember that I had sent to Harald a patch that just used the base
address returned by the pci bios and that did not work.

> I see now that vremap() was pretty badly designed, but I think I outlined
> a solution to this all in the previous mail.

My guess was that the design of vremap() was to remap physical main memory.
i386 architecture is a special case that throwed confusion.

> > I understand that now we can use the physical address with all
> > architectures and that will work like a charm.
> > I will try that on my pentium tomorrow.

Dont be afraid, I _never_ intended to do that. :)
In french, we say about such assertion:
"Precher le faux pour savoir le vrai".

> Nope, won't work. You still do need to remap on the x86, simply because the
> kernel address space cannot contain all of the 4GB PCI io space, only the
> "low" parts (ie the 640-1MB hole). The problem was a unfortunate interaction
> between the remap and the read{bwl} access functions.

Thanks for your explanations. All is now clear for me.
I looked into #4. "ioremap()" instead of "vremap()" is now clean and there
is no possible confusion.

> Anybody with an alpha with a ncr controller wants to test? If you could try
> the fix outlined in the previous mail to linux-kernel (just make vremap()
> directly return the argument address on an alpha), and see if memory mapped
> accesses work on the alpha with the BSD-NCR driver after that I'd be
> interested to hear about it..

The ncr driver does lots of 1 byte IO done through sparse space.
When Harald and I have tried mmio on Alpha, this code seemed untested.

What have you planned for 2.0.X?
Is 2.0.21 the last (sub)level of 2.0?

> Linus

Sorry for the questions and thanks a lot for starting Linux 2.1.X.