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 17:53:17 -0700
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
In a previous version, I used the async methods (setAsyncResult and
sendAsyncReference). I didn't like the client side because it required
too much integration with the app (e.g. RunLoops).
I assume for compatibility, I would use the newer "64" versions. Do
those work for both 32 and 64-bit applications?
I'm not sure which notifications you are referring too.
On Jun 23, 2009, at 5:18 PM, Alexei Kosut wrote:
> Duane,
>
> What are you using the notification semaphore for? Perhaps you can
> find a replacement with one of the supported IOKit user client
> functions, e.g., asynchronous methods or notifications.
>
> Alexei
>
> On Jun 23, 2009, at 2:22 PM, Duane Murphy wrote:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>> (moving to darwin-kernel in the hopes that someone here might be able
>> to help.)
>>
>> 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
>>
>> wsBVAwUBSkFJ9Erg9acQ4r2CAQicHwf/Z8Qf8B8h1VsjdDsa7o9SZr8L5+leyHmw
>> 2hIxU1KpNqh45a2K8+TlrQBJvavfc9br2PTDwshg4IK3JKprTVh1h+6omDsjeL2E
>> /s+7Rj6kHUQzZOG0lMyGNyUk7MPY9LKeP+MKqoSuF6UcI2fLWnFkDSzXzevQm+AM
>> MU+kkn/RQbwuRwt99tWxI/sfwwY0HCTPMtagVSQ7CF9wCzWhsw2KQYH4Qd1Kse6i
>> 7EiUMV+6g2UksKsanQG80vfonVby0asjM+ea5i2iY4r0SErxkPfe4dhOb71B67/F
>> 142FDpxW9ytHLIcddn8MIEMIFS6cHN1dFbFP/4DhN65Mg0LziPYIMA==
>> =8wJE
>> -----END PGP SIGNATURE-----
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Darwin-kernel mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
...Duane
-----BEGIN PGP SIGNATURE-----
Version: PGP Desktop 9.10.0 (Build 500)
Charset: US-ASCII
wsBVAwUBSkF5Bkrg9acQ4r2CAQjfyAf/aSIjvWYukUXqmdNwQSFFJwlsIqYehiHx
DA8FtUw/Nqo8Vx1v6CEKRY6bQawvKaxcwKsHeWVvIRzXbEB3xrUBC91VWh7xL8OL
Sq59qH9StigPp3VmPXdvpUxcwPkp36pSCZBTB3M99Ddq8R9jgex2e+UcV32kEQ0+
EUlZEtchLEbNg4fHNtNiyobK0NGFsWdKxQx/1IgtTAWh3g06z9zFw1YpWa1VQzOe
jMwB8WBMF/8+8Ia3OqJ3b0HT6vKkFxE9cWkZzyTWW/4XvU7oHJlHXwRYNTdE+wNK
LReovCPIvNhiY6vFqGNw1DrVT2huUIDDSrQvg7W1oL4Q+a5DB2qIAw==
=zilv
-----END PGP SIGNATURE-----
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden