Subject: Re: COPYIN/COPYOUT macro problems Re: IOCTL implementation and kernel/userland addresses
To: Gordon Waidhofer <firstname.lastname@example.org>
From: Reinoud Zandijk <email@example.com>
Date: 08/25/2005 23:29:46
Content-Type: text/plain; charset=us-ascii
On Thu, Aug 25, 2005 at 02:14:46PM -0700, Gordon Waidhofer wrote:
> Don't take this too seriously. It's just thought food.
> Some machine architectures have multiple address spaces.
> An easy example was the separate I&D (Instruction, Data)
> spaces on the PDP-11. The IBM EA architecture (don't know
> much about it) has multiple address spaces and an instruction
> set to allow "far" accesses.
> On a VM project I worked on a long, long time ago, our version
> of copyin/out took a pointer to the address space being operated
> upon. Think of this as a pointer to the vm_map anchor. Familiar
> interfaces, uiomove() et al, were bandaided at the time, and let
> the EA guys figure out how to do it right.
> This ioctl() question came up and I remembered all the long
> ago grapling.
> The upshot is that it might be helpful to think of the address
> space selector a little more broadly than a kernel/user flag.
> Perhaps these interfaces being discussed could take a parameter
> for address space rather than a flag. I always thought that
> the struct uio uio_segflg should be such a parameter rather
> than a flag or enumeration.
that would pose a more serious patch than the one i am preparing though not
a bad idea at all, thanks.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (NetBSD)
-----END PGP SIGNATURE-----