/kernel/trunk/generic/include/proc/task.h |
---|
67,6 → 67,6 |
extern void task_create_arch(task_t *t); |
#endif |
extern __native sys_get_task_id(task_id_t *uspace_task_id); |
extern __native sys_task_get_id(task_id_t *uspace_task_id); |
#endif |
/kernel/trunk/generic/include/ddi/ddi.h |
---|
33,8 → 33,8 |
#include <arch/types.h> |
#include <typedefs.h> |
extern __native sys_map_physmem(ddi_memarg_t *uspace_mem_arg); |
extern __native sys_enable_iospace(ddi_ioarg_t *uspace_io_arg); |
extern __native sys_physmem_map(ddi_memarg_t *uspace_mem_arg); |
extern __native sys_iospace_enable(ddi_ioarg_t *uspace_io_arg); |
/* |
* Interface to be implemented by all architectures. |
41,6 → 41,6 |
*/ |
extern __native ddi_int_control_arch(__native enable, __native *flags); |
extern __native ddi_int_control(__native enable, __native *flags); |
extern int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size); |
extern int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size); |
#endif |
/kernel/trunk/generic/include/mm/as.h |
---|
112,7 → 112,7 |
extern void as_init(void); |
extern as_t *as_create(int flags); |
extern as_area_t *as_area_create(as_t *as, int flags, size_t size, __address base); |
extern __address as_remap(as_t *as, __address address, size_t size, int flags); |
extern __address as_area_resize(as_t *as, __address address, size_t size, int flags); |
extern void as_set_mapping(as_t *as, __address page, __address frame); |
extern int as_page_fault(__address page); |
extern void as_switch(as_t *old, as_t *new); |
/kernel/trunk/generic/include/syscall/syscall.h |
---|
35,11 → 35,13 |
SYS_INT_CONTROL = 2, /* Hardcoded in all SYSCALL handlers */ |
SYS_THREAD_CREATE, |
SYS_THREAD_EXIT, |
SYS_TASK_GET_ID, |
SYS_FUTEX_SLEEP, |
SYS_FUTEX_WAKEUP, |
SYS_MMAP, |
SYS_MREMAP, |
SYS_GET_TASK_ID, |
SYS_AS_AREA_CREATE, |
SYS_AS_AREA_RESIZE, |
SYS_AS_AREA_SHARE_APPROVE, |
SYS_AS_AREA_SHARE_PERFORM, |
SYS_IPC_CALL_SYNC_FAST, |
SYS_IPC_CALL_SYNC, |
SYS_IPC_CALL_ASYNC_FAST, |
/kernel/trunk/generic/src/ddi/ddi.c |
---|
50,7 → 50,7 |
* ENOENT if there is no task matching the specified ID and ENOMEM if |
* there was a problem in creating address space area. |
*/ |
static int ddi_map_physmem(task_id_t id, __address pf, __address vp, count_t pages, bool writable) |
static int ddi_physmem_map(task_id_t id, __address pf, __address vp, count_t pages, bool writable) |
{ |
ipl_t ipl; |
cap_t caps; |
120,7 → 120,7 |
* @return 0 on success, EPERM if the caller lacks capabilities to use this syscall, |
* ENOENT if there is no task matching the specified ID. |
*/ |
static int ddi_enable_iospace(task_id_t id, __address ioaddr, size_t size) |
static int ddi_iospace_enable(task_id_t id, __address ioaddr, size_t size) |
{ |
ipl_t ipl; |
cap_t caps; |
158,7 → 158,7 |
spinlock_lock(&t->lock); |
spinlock_unlock(&tasks_lock); |
rc = ddi_enable_iospace_arch(t, ioaddr, size); |
rc = ddi_iospace_enable_arch(t, ioaddr, size); |
spinlock_unlock(&t->lock); |
interrupts_restore(ipl); |
171,12 → 171,12 |
* |
* @return 0 on success, otherwise it returns error code found in errno.h |
*/ |
__native sys_map_physmem(ddi_memarg_t *uspace_mem_arg) |
__native sys_physmem_map(ddi_memarg_t *uspace_mem_arg) |
{ |
ddi_memarg_t arg; |
copy_from_uspace(&arg, uspace_mem_arg, sizeof(ddi_memarg_t)); |
return (__native) ddi_map_physmem((task_id_t) arg.task_id, ALIGN_DOWN((__address) arg.phys_base, FRAME_SIZE), |
return (__native) ddi_physmem_map((task_id_t) arg.task_id, ALIGN_DOWN((__address) arg.phys_base, FRAME_SIZE), |
ALIGN_DOWN((__address) arg.virt_base, PAGE_SIZE), (count_t) arg.pages, |
(bool) arg.writable); |
} |
187,12 → 187,12 |
* |
* @return 0 on success, otherwise it returns error code found in errno.h |
*/ |
__native sys_enable_iospace(ddi_ioarg_t *uspace_io_arg) |
__native sys_iospace_enable(ddi_ioarg_t *uspace_io_arg) |
{ |
ddi_ioarg_t arg; |
copy_from_uspace(&arg, uspace_io_arg, sizeof(ddi_ioarg_t)); |
return (__native) ddi_enable_iospace((task_id_t) arg.task_id, (__address) arg.ioaddr, (size_t) arg.size); |
return (__native) ddi_iospace_enable((task_id_t) arg.task_id, (__address) arg.ioaddr, (size_t) arg.size); |
} |
__native ddi_int_control(__native enable, __native *flags) |
201,4 → 201,3 |
return EPERM; |
return ddi_int_control_arch(enable, flags); |
} |
/kernel/trunk/generic/src/proc/task.c |
---|
163,7 → 163,7 |
* |
* @return Always returns 0. |
*/ |
__native sys_get_task_id(task_id_t *uspace_task_id) |
__native sys_task_get_id(task_id_t *uspace_task_id) |
{ |
/* |
* No need to acquire lock on TASK because taskid |
/kernel/trunk/generic/src/mm/as.c |
---|
430,7 → 430,7 |
* |
* @return address on success, (__address) -1 otherwise. |
*/ |
__address as_remap(as_t *as, __address address, size_t size, int flags) |
__address as_area_resize(as_t *as, __address address, size_t size, int flags) |
{ |
as_area_t *area = NULL; |
ipl_t ipl; |
/kernel/trunk/generic/src/syscall/syscall.c |
---|
51,7 → 51,7 |
return count; |
} |
static __native sys_mmap(void *address, size_t size, int flags) |
static __native sys_as_area_create(void *address, size_t size, int flags) |
{ |
if (as_area_create(AS, flags, size, (__address) address)) |
return (__native) address; |
59,11 → 59,21 |
return (__native) -1; |
} |
static __native sys_mremap(void *address, size_t size, int flags) |
static __native sys_as_area_resize(void *address, size_t size, int flags) |
{ |
return as_remap(AS, (__address) address, size, 0); |
return as_area_resize(AS, (__address) address, size, 0); |
} |
static __native sys_as_area_share_approve() |
{ |
return 0; |
} |
static __native sys_as_area_share_perform() |
{ |
return 0; |
} |
static __native sys_int_control(int enable) |
{ |
panic("Not implemented."); |
85,11 → 95,13 |
sys_int_control, |
sys_thread_create, |
sys_thread_exit, |
sys_task_get_id, |
sys_futex_sleep_timeout, |
sys_futex_wakeup, |
sys_mmap, |
sys_mremap, |
sys_get_task_id, |
sys_as_area_create, |
sys_as_area_resize, |
sys_as_area_share_approve, |
sys_as_area_share_perform, |
sys_ipc_call_sync_fast, |
sys_ipc_call_sync, |
sys_ipc_call_async_fast, |
99,6 → 111,6 |
sys_ipc_forward_fast, |
sys_ipc_wait_for_call, |
sys_ipc_hangup, |
sys_map_physmem, |
sys_enable_iospace |
sys_physmem_map, |
sys_iospace_enable |
}; |
/kernel/trunk/arch/sparc64/src/ddi/ddi.c |
---|
41,7 → 41,7 |
* |
* @return 0 on success or an error code from errno.h. |
*/ |
int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size) |
int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size) |
{ |
return 0; |
} |
/kernel/trunk/arch/ia64/src/ddi/ddi.c |
---|
41,7 → 41,7 |
* |
* @return 0 on success or an error code from errno.h. |
*/ |
int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size) |
int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size) |
{ |
return 0; |
} |
/kernel/trunk/arch/ppc32/src/ddi/ddi.c |
---|
41,7 → 41,7 |
* |
* @return 0 on success or an error code from errno.h. |
*/ |
int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size) |
int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size) |
{ |
return 0; |
} |
/kernel/trunk/arch/amd64/src/ddi/ddi.c |
---|
46,7 → 46,7 |
* |
* @return 0 on success or an error code from errno.h. |
*/ |
int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size) |
int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size) |
{ |
count_t bits; |
/kernel/trunk/arch/ppc64/src/ddi/ddi.c |
---|
41,7 → 41,7 |
* |
* @return 0 on success or an error code from errno.h. |
*/ |
int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size) |
int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size) |
{ |
return 0; |
} |
/kernel/trunk/arch/mips32/src/ddi/ddi.c |
---|
44,7 → 44,7 |
* |
* @return 0 on success or an error code from errno.h. |
*/ |
int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size) |
int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size) |
{ |
return 0; |
} |
/kernel/trunk/arch/ia32/src/ddi/ddi.c |
---|
46,7 → 46,7 |
* |
* @return 0 on success or an error code from errno.h. |
*/ |
int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size) |
int ddi_iospace_enable_arch(task_t *task, __address ioaddr, size_t size) |
{ |
count_t bits; |