Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1226 → Rev 1227

/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;