Re: io_connect_get_notification_semaphore and x86_64
Re: io_connect_get_notification_semaphore and x86_64
- Subject: Re: io_connect_get_notification_semaphore and x86_64
- From: Duane Murphy <email@hidden>
- Date: Tue, 23 Jun 2009 14:06:06 -0700
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
I now know how this works, but it is unclear why this is not being
supported for 64-bit kernels. It would be nice if someone at Apple
could comment, otherwise, it's going to cost me a DTS incident and a
lot of work. :-(
io_connect_get_notification_semaphore() is mig generated. The
semaphore_t type has special mig handlers for incoming translation,
outgoing translation and destruction. The opaque semaphore_t structure
contains the mach port. The data sent to user space is the mach port
with send rights.
As this requires access to the opaque parts of the semaphore_t
structure, it is not a supported interface.
It sure would be nice if this was supported or something like it.
...Duane
On Jun 23, 2009, at 11:13 AM, Duane Murphy wrote:
> * PGP Signed: 06/23/09 at 11:13:32
>
> I've done some more work on this and could use some recommendations
> on how to make this work.
>
> My first attempt was to simply pass the semaphore_t from the kernel
> back to the app. That didn't work at all.
>
> I went back to the 32-bit app and the old code and noticed that the
> semaphore_t in user space does not appear to be the semaphore_t from
> the kernel. There must be some massaging going on somewhere.
>
> What kind of massaging is happening so that I can get this to work.
>
> Thanks for the help,
>
> On Jun 19, 2009, at 12:27 PM, Duane Murphy wrote:
>
>> > Old Signed: 06/19/09 at 12:27:20
>>
>> Is there a replacement or recommendation for a replacement for
>> io_connect_get_notification_semaphore() for 64-bit clients to an
>> IOUserClient?
>>
>> We were using io_connect_get_notification_semaphore() in our 32-bit
>> client side interface to our kext. It makes sense that this doesn't
>> work in LP64 (semphore* would be a problem).
>>
>> Is there a recommended method for doing this ourselves? Is there a
>> new and exciting interface wired to
>> IOUserClient::getNotificationSemaphore()?
>
> ...Duane
>
>
>
>
> * Duane Murphy <email@hidden>
> * 0x10E2BD82(L)
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
> @mac.com
>
> This email sent to email@hidden
...Duane
-----BEGIN PGP SIGNATURE-----
Version: PGP Desktop 9.10.0 (Build 500)
Charset: US-ASCII
wsBVAwUBSkFDx0rg9acQ4r2CAQjpVQf/c3t3RJWkGYsq1lBC36EAHy3l7UPmQX3A
0zvVE1EqtCW11iD9uyUEbn2l8MokoNtJcVUZ+lh+dIG2o8/lYKV/Ukc+J8tsYfYX
V31E3qRq5WgSG/mnGSUQhFS0qAcAV/YuCb+aoj29PbCrTr6yy8PwMI7a6jHC9wyl
gDwac6825z6zSjwXhf86fVFCdk3gBFRM9b7T/ytpClJbiiUJ+1M4J1H73+59qRAE
ZcAa74Rv0sBr+oNuY7l4MMHQtrSvrAi3yrP7LOFS3dZDIZRiyjSQiSU/21QRLhRP
YCbRAgOeiGah5pkG9Rl4DEDOeL/89Y/JM5rspuOTHEZKMfcIdb4IdQ==
=p+Yv
-----END PGP SIGNATURE-----
_______________________________________________
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