Subject: Re: Kernel copyin/out optimizations for ARM...
To: None <port-arm@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: port-arm
Date: 03/14/2002 17:31:25
On Thu, Mar 14, 2002 at 03:19:15PM +0000, Richard Earnshaw wrote:
> 
> ldm doesn't require any more alignment than ldr.

Except that if you use it for the usespace side of copyin/out
you need to ensure that it doesn't cross a page boundary...
(having tested the page with ldrt).

I've also spotted a bug (quite serious) in the current arm32
copyin and copyout.

If the user mmap()s something right at the top of the user address
space, then copies off the end of that area the copy will not be
errored.

This area might be the user page table (they are in the space
above valid user addresses and below the kernel proper).
I even think you get write access to them!

I've written a new copyin this afternoon.  1 byte xfers are
15 instructions - 2 jumps, no register saves.
Must do copyout then try to compile it....

	David

-- 
David Laight: david@l8s.co.uk