IOMemoryCursor segment size issue
IOMemoryCursor segment size issue
- Subject: IOMemoryCursor segment size issue
- From: "Peter Young" <email@hidden>
- Date: Thu, 13 Jun 2002 16:43:51 +0100
Hi,
I am creating an IOMemoryCursor using:
CursP = IOMemoryCursor::withSpecification ( SegFn, UINT_MAX, UINT_MAX,
1 );
which gives me a valid MemoryCursor.
I then call CursP->genPhysicalSegments( MemDescP,
start,
Segments,
NumSegments,
MaxTransferSize,
&BytesToTransfer );
to create the DMA address/len pairs I require in 'Segments'.
When I debug SegFn, the Segment.length field is ALWAYS 4096 regardless of
the values passed to the withSpecification function above. This gives me a
max transfer size of 0.5Mb (128 entries), which is way too small for my
requirements.
Questions:
1. Why does my segment function ONLY get 4k segments? What am I doing wrong?
2. When 'wiring' the User buffer, do I just need to 'prepare' the
MemoryDescriptor,
or do I need to 'map' it as well?
Thanks in advance,
Peter Young
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.