Split off sys_umap_remote from sys_umap

sys_umap now supports only:
- looking up the physical address of a virtual address in the address space
  of the caller;
- looking up the physical address of a grant for which the caller is the
  grantee.

This is enough for nearly all umap users. The new sys_umap_remote supports
lookups in arbitrary address spaces and grants for arbitrary grantees.
This commit is contained in:
Erik van der Kouwe
2011-06-10 14:28:20 +00:00
parent 25d26d76fd
commit 6e0f3b3bda
14 changed files with 198 additions and 95 deletions

View File

@@ -222,6 +222,7 @@ PUBLIC void system_init(void)
/* Copying. */
map(SYS_UMAP, do_umap); /* map virtual to physical address */
map(SYS_UMAP_REMOTE, do_umap_remote); /* do_umap for non-caller process */
map(SYS_VIRCOPY, do_vircopy); /* use pure virtual addressing */
map(SYS_PHYSCOPY, do_copy); /* use physical addressing */
map(SYS_SAFECOPYFROM, do_safecopy_from);/* copy with pre-granted permission */