Re: highmem, aic7xxx, and vfat: too few segs for dma mapping

Gérard Roudier (groudier@free.fr)
Wed, 12 Dec 2001 18:22:30 +0100 (CET)


On Wed, 12 Dec 2001, Andrea Arcangeli wrote:

> On Wed, Dec 12, 2001 at 10:36:54AM +0100, Jens Axboe wrote:

> > > If one really wants for some marketing reason to support these ugly and
> > > stinky '32 bit machines that want to provide more than 4GB of memory by
> > > shoe-horning complexity all over the place', one should use his brain,
> > > when so-featured, prior to writing clueless code.
> >
> > First of all, virt_to_bus just cannot work on some archetectures that
> > are just slightly more advanced than x86. I'm quite sure Davem is ready
> > to lecture you on this.
>
> yes, the whole point of the iommu work (replacement for virt_to_bus) is
> for the 64bit machines, not for the 32bit machines. It's to allow the
> 64bit machines to do zerocopy dma (no bounce buffers) on memory above 4G
> with pci32 devices that doesn't support DAC.

So, the PCI group should just have specified a 16 bit BUS and have told
that systems should implement some IOMMU in order to address the whole
memory. :-)

PCI was intended to be implemented as a LOCAL BUS with all agents on the
LOCAL BUS being able to talk with any other agent using a flat addressing
scheme. Your PCI thing does not look like true PCI to me, but rather like
some bad mutant that has every chance not to survive a long time.

Gérard.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/