/trunk/kernel/generic/include/mm/as.h |
---|
272,7 → 272,7 |
extern int as_area_get_flags(as_area_t *area); |
extern bool as_area_check_access(as_area_t *area, pf_access_t access); |
extern size_t as_get_size(uintptr_t base); |
extern size_t as_area_get_size(uintptr_t base); |
extern int used_space_insert(as_area_t *a, uintptr_t page, count_t count); |
extern int used_space_remove(as_area_t *a, uintptr_t page, count_t count); |
/trunk/kernel/generic/src/mm/as.c |
---|
1223,8 → 1223,14 |
return true; |
} |
/** Return size of the address space area with given base. */ |
size_t as_get_size(uintptr_t base) |
/** Return size of the address space area with given base. |
* |
* @param base Arbitrary address insede the address space area. |
* |
* @return Size of the address space area in bytes or zero if it |
* does not exist. |
*/ |
size_t as_area_get_size(uintptr_t base) |
{ |
ipl_t ipl; |
as_area_t *src_area; |
/trunk/kernel/generic/src/ipc/sysipc.c |
---|
256,7 → 256,7 |
call->priv = newphid; |
break; |
case IPC_M_AS_AREA_SEND: |
size = as_get_size(IPC_GET_ARG1(call->data)); |
size = as_area_get_size(IPC_GET_ARG1(call->data)); |
if (!size) |
return EPERM; |
IPC_SET_ARG2(call->data, size); |