drop segments from safemap/safeunmap invocations
This commit is contained in:
@@ -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)) {
|
||||
|
||||
@@ -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, ©_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, ©_mess));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user