Re: IOBufferMemoryDescriptor::getVirtualSegment Deprecated and Missing?
Re: IOBufferMemoryDescriptor::getVirtualSegment Deprecated and Missing?
- Subject: Re: IOBufferMemoryDescriptor::getVirtualSegment Deprecated and Missing?
- From: "Duane Murphy" <email@hidden>
- Date: Sat, 11 Apr 2009 08:09:54 -0700
--- At Sat, 11 Apr 2009 07:13:16 -0400, Chas Williams (CONTRACTOR) wrote:
>In message <20090410204924.1368388445
>@mini.internal.murphyslogic.com>,"Duane Murphy" writes:
>>We are updating our drivers and moving them to 10.5 from 10.4. I am
>>getting a link/load error when loading the kext.
>>
>>Undefined Symbols:
>>IOBufferMemoryDescriptor::getVirtualSegment
>
>sure you dont want to use getBytesNoCopy()? getVirtualSegment() is
>basically the same except it optionally returned the remaining length
>of the segment.
Well, that's the interesting part; I'm _not_ calling
getVirtualSegment(); not using it at all.
Turns out I was subclassing IOBufferMemoryDescriptor. I haven't looked
at the implementation yet (I should do that), but I suspect that the way
it is setup, getVirtualSegment() is not part of the vtable for the
class, causing the vtable to not be able to be filled for a subclass.
Somehow, this manages to work for using IOBufferMemoryDescriptor, but
not for subclassing.
I've changed to sublcassing IOMemoryDescriptor, the root class of memory
management. The subclass keeps an IOBufferMemoryDescriptor as a member
and delegates the functions to that. I'm still having trouble with this,
so I suspect that I need to override and delegate more functions.
...Duane
_______________________________________________
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