Re: Mac OS X 10.4 (Tiger) compilation errors ( GCC v3.3 ) with X Code 2.0 tool
Re: Mac OS X 10.4 (Tiger) compilation errors ( GCC v3.3 ) with X Code 2.0 tool
- Subject: Re: Mac OS X 10.4 (Tiger) compilation errors ( GCC v3.3 ) with X Code 2.0 tool
- From: Terry Lambert <email@hidden>
- Date: Mon, 8 Aug 2005 17:53:15 -0700
On Aug 8, 2005, at 7:14 AM, Karunakar Reddy G wrote:
Hi,
Hey, I found the previous problem is due to copyin and copyout
kernel copy functions in the driver, the way it defined in Tiger is
different.
On Mac OS X 10.1 , defined as follows
int copyin(const void *uaddr, void *kaddr, size_t len);
int copyout(const void *kaddr, void *uaddr, size_t len);
But it is defined on Tiger as follows
int copyin(const user_addr_t uaddr, void *kaddr, size_t len);
int copyout(const void *kaddr, user_addr_t udaddr, size_t len);
Now, My problem is I don't have option to copy void * to void *,
which is very important in my driver, why they removed such a
beautiful option?
Is there any other new functions are available?
Is it possible to use same functions, then can any one have example
to use of them?
If you are using copyin()/copyout()/copyinstr() directly, rather than
using uiomove()/uiomove64(), then you will need to make changes to
your code.
The reason for the change to the parameters was to support copying in/
out data with 64 bit user space addresses for 64 bit processes.
Without the change, you would be limited to only passing data from
the first 4G of process memory into the kernel when using a 64 bit
process, and that wouldn't really be useful.
-- Terry
_______________________________________________
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