On Sep 13, 2006, at 8:32 PM, Eric Lowe wrote:

I propose a virtual memory project, DMA Memory Infrastructure (DMI for
short).

This project will provide infrastructure to:

- Allocate physical memory in contiguous [1], large page [1], or small
  page-size chunks within device address constraints
- Lock and unlock the allocated memory pages and return bus addresses as
  a scatter/gather list
- Create kmem caches for frequently constructed DMA objects
- Reduce external fragmentation on x86/x64 platform for more efficient
  scatter/gather DMA
- Optionally map the memory into process address spaces and unmap it
  when required
- Optionally map the memory into kernel address space and callback to
  device drivers to unmap it when required
- Optionally reserve physical memory at boot for contiguous device
  allocation (useful for devices like shared memory frame buffers)
- Control processor cache attributes for all established mappings

This project does NOT provide leaf driver interfaces -- that is out of
scope -- it only provides the core kernel infrastructure required for
developing new high-performance DDI DMA interfaces with improved RAS.
However the interfaces should also be usable by existing driver
_frameworks_ such as GLD, SCSA, and SATA.

Initial leads will be myself and Mike Corcoran.

- Eric

[1] When physical memory is not fragmented.

Go for it.



Kaiser Jasse -- Authorized Stealth Oracle

The axioms of wisdom:
1. You can't outstubborn a cat
2. You can't conquer the universe without the knowledge of FORTRAN
3. In the Unix realm, 10% of work fixes 90% of the problems



_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to