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: Alexei Kosut <email@hidden>
- Date: Tue, 23 Jun 2009 17:18:45 -0700
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:
@apple.com
This email sent to email@hidden
_______________________________________________
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