Re: test version of 2.1.0 available

Linus Torvalds (torvalds@cs.helsinki.fi)
Wed, 25 Sep 1996 08:10:54 +0300 (EET DST)


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.

> 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).

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

> 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.

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.

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..

Linus