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