drop segments from safemap/safeunmap invocations

This commit is contained in:
Ben Gras
2012-06-16 18:42:27 +00:00
parent 7750657783
commit 0e35eb0c6b
7 changed files with 25 additions and 29 deletions

View File

@@ -194,7 +194,7 @@ int ds_retrieve_map(const char *ds_name, char *vaddr, size_t *length,
*length = (size_t) m.DS_VAL_LEN;
*length = (size_t) CLICK_FLOOR(*length);
r = sys_safemap(DS_PROC_NR, m.DS_VAL, 0,
(vir_bytes)vaddr, *length, D, 0);
(vir_bytes)vaddr, *length, 0);
/* Copy mapped memory range or a snapshot. */
} else if(flags & (DSMF_COPY_MAPPED|DSMF_COPY_SNAPSHOT)) {

View File

@@ -8,7 +8,7 @@
*===========================================================================*/
int sys_safemap(endpoint_t grantor, cp_grant_id_t grant,
vir_bytes grant_offset, vir_bytes my_address,
size_t bytes, int my_seg, int writable)
size_t bytes, int writable)
{
/* Map a block of data for which the other process has previously
* granted permission.
@@ -19,11 +19,12 @@ int sys_safemap(endpoint_t grantor, cp_grant_id_t grant,
copy_mess.SMAP_EP = grantor;
copy_mess.SMAP_GID = grant;
copy_mess.SMAP_OFFSET = grant_offset;
copy_mess.SMAP_SEG = (void*) my_seg;
copy_mess.SMAP_ADDRESS = my_address;
copy_mess.SMAP_BYTES = bytes;
copy_mess.SMAP_FLAG = writable;
copy_mess.SMAP_SEG_OBSOLETE = (void *) D;
return(_kernel_call(SYS_SAFEMAP, &copy_mess));
}
@@ -59,14 +60,15 @@ int sys_saferevmap_addr(vir_bytes addr)
/*===========================================================================*
* sys_safeunmap *
*===========================================================================*/
int sys_safeunmap(int my_seg, vir_bytes my_address)
int sys_safeunmap(vir_bytes my_address)
{
/* Requestor unmaps safemap. */
message copy_mess;
copy_mess.SMAP_SEG = (void*) my_seg;
copy_mess.SMAP_ADDRESS = my_address;
copy_mess.SMAP_SEG_OBSOLETE = (void *) D;
return(_kernel_call(SYS_SAFEUNMAP, &copy_mess));
}