[haiku-development] Re: [Haiku-commits] r26488 - in haiku/trunk/src/system/kernel: device_manager fs

"François Revol" <revol@xxxxxxx> wrote:
> > * Implemented the DMA and I/O requests/scheduler framework - for
> > now
> > in C++ only. It's a work in progress and not used anywhere yet.
> Btw, talking about DMA, I'm digging vm setup on 68k, and talked with
> Travis, the current code doesn't differentiate DMAble memory from
> "fast" ram, it just sees it as a single pool.
> While it shouldn't be a problem for PCI initiated DMA on x86, it will
> certainly be an issue for ISA DMA, and on other platforms (I suppose
> PPC just uses PCI style DMA, but...).
> Without going as deep as handling NUMA ranges with cpu affinities, it
> would be nice to have the vm know about it so it can respect the
> B_LOMEM and B_SLOWMEM flags.

I don't really want to add support for those (although maybe we have to
in architecture independent way), but we definitely need a
create_area() version that allows for address and alignment
restrictions. We also need this to correctly implement DMAResource.

For platform wide but varying restrictions, something like B_LOMEM/
B_SLOWMEM might be a good idea, even though I would prefer a way to
retrieve general DMA restrictions from the bus in question.

Bye,
   Axel.


Other related posts: