//kernel/trunk/generic/include/ddi/ddi_arg.h |
---|
36,6 → 36,13 |
void *virt_base; /** Virtual address of starting page. */ |
unsigned long pages; /** Number of pages to map. */ |
int writable; /** True if the mapping should be writable. */ |
} ddi_arg_t; |
} ddi_memarg_t; |
/** Structure encapsulating arguments for SYS_ENABLE_IOSPACE syscall. */ |
typedef struct { |
unsigned long long task_id; /** ID of the destination task. */ |
void *ioaddr; /** Starting I/O space address. */ |
unsigned long size; /** Number of bytes. */ |
} ddi_ioarg_t; |
#endif |
//kernel/trunk/generic/include/ddi/ddi.h |
---|
31,7 → 31,14 |
#include <ddi/ddi_arg.h> |
#include <arch/types.h> |
#include <typedefs.h> |
extern __native sys_map_physmem(ddi_arg_t *uspace_ddi_arg); |
extern __native sys_map_physmem(ddi_memarg_t *uspace_mem_arg); |
extern __native sys_enable_iospace(ddi_ioarg_t *uspace_io_arg); |
/* |
* Interface to be implemented by all architectures. |
*/ |
extern int ddi_enable_iospace_arch(task_t *task, __address ioaddr, size_t size); |
#endif |