Messages in this thread |  | | Date | Wed, 25 Sep 1996 23:10:55 +0000 (GMT) | From | Gerard Roudier <> | Subject | Re: test version of 2.1.0 available |
| |
Linus,
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.
Gerard.
|  |