Re: IOUserClient size limit?
Re: IOUserClient size limit?
- Subject: Re: IOUserClient size limit?
- From: Chris Sarcone <email@hidden>
- Date: Mon, 10 Nov 2008 16:53:42 -0800
Duane --I am seeing a kIOReturnIPCError form an IOUserClient down call (i.e. from my app into the kernel) when I have a structure that is over 4K (4096) bytes in size.
Is this a hard limit? Can I change this limit? I have some I/O through the user client that I would like to take a larger buffer (16K).
Yes, it's a hard limit for IPC.
Typically, you solve this by:
1) Save the task_t passed to your user client in initWithTask(). 2) Pass a pointer to the large buffer and use IOMD::withAddressRange() (which takes the task_t parameter) 3) prepare() it 4) Use it for DMA in conjunction with an IODMACommand or use readBytes()/writeBytes() 5) complete() it 6) release the IOMD
HTH,
-- Chris
------------------ 6 Infinite Loop M/S 306-2MS Cupertino CA 95014 phone: (408) 974-4033 fax: (408) 862-7577 email: email@hidden |
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden