Index: boot/arch/ia64/include/types.h
===================================================================
--- boot/arch/ia64/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ boot/arch/ia64/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -35,5 +35,5 @@
 
 typedef uint64_t size_t;
-typedef uint64_t unative_t;
+typedef uint64_t sysarg_t;
 typedef uint64_t uintptr_t;
 
@@ -61,5 +61,5 @@
 	unsigned int memmap_items;
 
-	unative_t *sapic;
+	sysarg_t *sapic;
 	unsigned long sys_freq;
 	unsigned long freq_scale;
Index: boot/arch/ppc32/include/types.h
===================================================================
--- boot/arch/ppc32/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ boot/arch/ppc32/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -35,5 +35,5 @@
 typedef uint32_t size_t;
 typedef uint32_t uintptr_t;
-typedef uint32_t unative_t;
+typedef uint32_t sysarg_t;
 typedef int32_t native_t;
 
Index: boot/arch/sparc64/include/types.h
===================================================================
--- boot/arch/sparc64/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ boot/arch/sparc64/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -35,5 +35,5 @@
 typedef uint64_t size_t;
 typedef uint64_t uintptr_t;
-typedef uint64_t unative_t;
+typedef uint64_t sysarg_t;
 typedef int64_t native_t;
 
Index: boot/genarch/include/ofw.h
===================================================================
--- boot/genarch/include/ofw.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ boot/genarch/include/ofw.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -40,5 +40,5 @@
 #define OFW_TREE_PROPERTY_MAX_VALUELEN  64
 
-typedef unative_t ofw_arg_t;
+typedef sysarg_t ofw_arg_t;
 typedef native_t ofw_ret_t;
 typedef uint32_t ofw_prop_t;
Index: contrib/arch/hadlbppp.py
===================================================================
--- contrib/arch/hadlbppp.py	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/hadlbppp.py	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1151,5 +1151,5 @@
 					continue
 				
-				if ((token == "ipcarg_t") or (token == "unative_t")):
+				if (token == "sysarg_t"):
 					output += "\n%s%s " % (tabs(indent), token)
 					context.add(PROTOTYPE)
Index: contrib/arch/kernel/kernel.adl
===================================================================
--- contrib/arch/kernel/kernel.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/kernel/kernel.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -5,5 +5,5 @@
 interface sys_klog {
 		/* Print using kernel facility */
-		unative_t sys_klog(int fd, const void *buf, size_t size);
+		sysarg_t sys_klog(int fd, const void *buf, size_t size);
 	protocol:
 		?sys_klog*
@@ -12,8 +12,8 @@
 interface sys_console {
 		/* Enable kernel console */
-		unative_t sys_debug_enable_console(void);
+		sysarg_t sys_debug_enable_console(void);
 		
 		/* Disable kernel console */
-		unative_t sys_debug_disable_console(void);
+		sysarg_t sys_debug_disable_console(void);
 	protocol:
 		(
@@ -25,5 +25,5 @@
 interface sys_tls {
 		/* Set thread-local storage pointer (on architectures where kernel mode is required) */
-		unative_t sys_tls_set(unative_t addr);
+		sysarg_t sys_tls_set(sysarg_t addr);
 	protocol:
 		?sys_tls_set*
@@ -32,11 +32,11 @@
 interface sys_thread {
 		/* Create new thread */
-		unative_t sys_thread_create(uspace_arg_t *uspace_uarg, char *uspace_name, size_t name_len, thread_id_t *uspace_thread_id);
+		sysarg_t sys_thread_create(uspace_arg_t *uspace_uarg, char *uspace_name, size_t name_len, thread_id_t *uspace_thread_id);
 		
 		/* Terminate current thread */
-		unative_t sys_thread_exit(int uspace_status);
+		sysarg_t sys_thread_exit(int uspace_status);
 		
 		/* Get current thread id */
-		unative_t sys_thread_get_id(thread_id_t *uspace_thread_id);
+		sysarg_t sys_thread_get_id(thread_id_t *uspace_thread_id);
 	protocol:
 		(
@@ -49,8 +49,8 @@
 interface sys_task {
 		/* Set name fo the current task */
-		unative_t sys_task_set_name(const char *uspace_name, size_t name_len);
+		sysarg_t sys_task_set_name(const char *uspace_name, size_t name_len);
 		
 		/* Get current task id */
-		unative_t sys_task_get_id(task_id_t *uspace_task_id);
+		sysarg_t sys_task_get_id(task_id_t *uspace_task_id);
 	protocol:
 		(
@@ -62,5 +62,5 @@
 interface sys_program {
 		/* Spawn a new instance of clonable loader service */
-		unative_t sys_program_spawn_loader(char *uspace_name, size_t name_len);
+		sysarg_t sys_program_spawn_loader(char *uspace_name, size_t name_len);
 	protocol:
 		?sys_program_spawn_loader*
@@ -69,8 +69,8 @@
 interface sys_futex {
 		/* Sleep in a futex wait queue */
-		unative_t sys_futex_sleep_timeout(uintptr_t uaddr, uint32_t usec, int flags);
+		sysarg_t sys_futex_sleep_timeout(uintptr_t uaddr, uint32_t usec, int flags);
 		
 		/* Wakeup one thread waiting in futex wait queue */
-		unative_t sys_futex_wakeup(uintptr_t uaddr);
+		sysarg_t sys_futex_wakeup(uintptr_t uaddr);
 	protocol:
 		(
@@ -82,5 +82,5 @@
 interface sys_smc {
 		/* Enforce self-modifying code cache coherency */
-		unative_t sys_smc_coherence(uintptr_t va, size_t size);
+		sysarg_t sys_smc_coherence(uintptr_t va, size_t size);
 	protocol:
 		?sys_smc_coherence*
@@ -89,14 +89,14 @@
 interface sys_as {
 		/* Create new address space area */
-		unative_t sys_as_area_create(uintptr_t address, size_t size, int flags);
+		sysarg_t sys_as_area_create(uintptr_t address, size_t size, int flags);
 		
 		/* Resize an address space area */
-		unative_t sys_as_area_resize(uinptr_t address, size_t size, int flags);
+		sysarg_t sys_as_area_resize(uinptr_t address, size_t size, int flags);
 		
 		/* Change flags of an address space area */
-		unative_t sys_as_area_change_flags(uintptr_t address, int flags);
+		sysarg_t sys_as_area_change_flags(uintptr_t address, int flags);
 		
 		/* Destroy an address space area */
-		unative_t sys_as_area_destroy(uintptr_t address);
+		sysarg_t sys_as_area_destroy(uintptr_t address);
 	protocol:
 		(
@@ -110,35 +110,35 @@
 interface sys_ipc {
 		/* Fast synchronous IPC call */
-		unative_t sys_ipc_call_sync_fast(unative_t phoneid, unative_t method, unative_t arg1, unative_t arg2, unative_t arg3, ipc_data_t *data);
+		sysarg_t sys_ipc_call_sync_fast(sysarg_t phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_data_t *data);
 		
 		/* Slow synchronous IPC call */
-		unative_t sys_ipc_call_sync_slow(unative_t phoneid, ipc_data_t *question, ipc_data_t *answer);
+		sysarg_t sys_ipc_call_sync_slow(sysarg_t phoneid, ipc_data_t *question, ipc_data_t *answer);
 		
 		/* Fast asynchronous IPC call */
-		unative_t sys_ipc_call_async_fast(unative_t phoneid, unative_t method, unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4);
+		sysarg_t sys_ipc_call_async_fast(sysarg_t phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4);
 		
 		/* Slow asynchronous IPC call */
-		unative_t sys_ipc_call_async_slow(unative_t phoneid, ipc_data_t *data);
+		sysarg_t sys_ipc_call_async_slow(sysarg_t phoneid, ipc_data_t *data);
 		
 		/* Fast forward a received IPC call to another destination */
-		unative_t sys_ipc_forward_fast(unative_t callid, unative_t phoneid, unative_t method, unative_t arg1, unative_t arg2, int mode);
+		sysarg_t sys_ipc_forward_fast(sysarg_t callid, sysarg_t phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2, int mode);
 		
 		/* Slow forward a received IPC call to another destination */
-		unative_t sys_ipc_forward_slow(unative_t callid, unative_t phoneid, ipc_data_t *data, int mode);
+		sysarg_t sys_ipc_forward_slow(sysarg_t callid, sysarg_t phoneid, ipc_data_t *data, int mode);
 		
 		/* Fast answer an IPC call */
-		unative_t sys_ipc_answer_fast(unative_t callid, unative_t retval, unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4);
+		sysarg_t sys_ipc_answer_fast(sysarg_t callid, sysarg_t retval, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4);
 		
 		/* Slow answer an IPC call */
-		unative_t sys_ipc_answer_slow(unative_t callid, ipc_data_t *data);
+		sysarg_t sys_ipc_answer_slow(sysarg_t callid, ipc_data_t *data);
 		
 		/* Hang up a phone */
-		unative_t sys_ipc_hangup(int phoneid);
+		sysarg_t sys_ipc_hangup(int phoneid);
 		
 		/* Wait for an incoming IPC call or answer */
-		unative_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec, int flags);
+		sysarg_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec, int flags);
 		
 		/* Interrupt one thread of the current task from waiting on IPC call */
-		unative_t sys_ipc_poke(void);
+		sysarg_t sys_ipc_poke(void);
 	protocol:
 		(
@@ -159,5 +159,5 @@
 interface sys_event {
 		/* Subscribe to kernel event notifications */
-		unative_t sys_event_subscribe(unative_t evno, unative_t method);
+		sysarg_t sys_event_subscribe(sysarg_t evno, sysarg_t method);
 	protocol:
 		?sys_event_subscribe*
@@ -166,8 +166,8 @@
 interface sys_cap {
 		/* Grant capabilities to a task */
-		unative_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps);
+		sysarg_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps);
 		
 		/* Revoke capabilities from a task */
-		unative_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps);
+		sysarg_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps);
 	protocol:
 		(
@@ -179,20 +179,20 @@
 interface sys_ddi {
 		/* Enable access I/O address space for the current task */
-		unative_t sys_enable_iospace(ddi_ioarg_t *uspace_io_arg);
+		sysarg_t sys_enable_iospace(ddi_ioarg_t *uspace_io_arg);
 		
 		/* Map physical memory to the current task's address space */
-		unative_t sys_physmem_map(unative_t phys_base, unative_t virt_base, unative_t pages, unative_t flags);
+		sysarg_t sys_physmem_map(sysarg_t phys_base, sysarg_t virt_base, sysarg_t pages, sysarg_t flags);
 		
 		/* Enable or disable preemption */
-		unative_t sys_preempt_control(int enable);
+		sysarg_t sys_preempt_control(int enable);
 		
 		/* Assign unique device number */
-		unative_t sys_device_assign_devno(void);
+		sysarg_t sys_device_assign_devno(void);
 		
 		/* Connect an IRQ handler to the current task */
-		unative_t sys_ipc_register_irq(inr_t inr, devno_t devno, unative_t method, irq_code_t *ucode);
+		sysarg_t sys_ipc_register_irq(inr_t inr, devno_t devno, sysarg_t method, irq_code_t *ucode);
 		
 		/* Disconnect an IRQ handler from the current task */
-		unative_t sys_ipc_unregister_irq(inr_t inr, devno_t devno);
+		sysarg_t sys_ipc_unregister_irq(inr_t inr, devno_t devno);
 	protocol:
 		(
@@ -208,8 +208,8 @@
 interface sys_sysinfo {
 		/* Check for sysinfo key validity */
-		unative_t sys_sysinfo_valid(unative_t ptr, unative_t len);
+		sysarg_t sys_sysinfo_valid(sysarg_t ptr, sysarg_t len);
 		
 		/* Get sysinfo key value */
-		unative_t sys_sysinfo_value(unatice_t ptr, unative_t len);
+		sysarg_t sys_sysinfo_value(unatice_t ptr, sysarg_t len);
 	protocol:
 		(
@@ -221,5 +221,5 @@
 interface sys_debug {
 		/* Connect to the kernel debugging answerbox of a given task */
-		unative_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid_arg);
+		sysarg_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid_arg);
 	protocol:
 		?sys_ipc_connect_kbox*
Index: contrib/arch/uspace/srv/bd/bd.adl
===================================================================
--- contrib/arch/uspace/srv/bd/bd.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/bd/bd.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,14 +1,14 @@
 interface bd extends service {
 		/* Share out data buffer */
-		ipcarg_t ipc_m_share_out(in ipcarg_t as_area_base, in ipcarg_t as_area_size, in ipcarg_t flags, out ipcarg_t dst_as_area_base);
+		sysarg_t ipc_m_share_out(in sysarg_t as_area_base, in sysarg_t as_area_size, in sysarg_t flags, out sysarg_t dst_as_area_base);
 		
 		/* Get block size */
-		ipcarg_t get_block_size(out ipcarg_t block_size);
+		sysarg_t get_block_size(out sysarg_t block_size);
 		
 		/* Read blocks via shared data buffer */
-		ipcarg_t read_blocks(in ipcarg_t index_lower, in ipcarg_t index_upper, in ipcarg_t count);
+		sysarg_t read_blocks(in sysarg_t index_lower, in sysarg_t index_upper, in sysarg_t count);
 		
 		/* Write blocks via shared data buffer */
-		ipcarg_t write_blocks(in ipcarg_t index_lower, in ipcarg_t index_upper, in ipcarg_t count);
+		sysarg_t write_blocks(in sysarg_t index_lower, in sysarg_t index_upper, in sysarg_t count);
 	protocol:
 		[bd.bp]
Index: contrib/arch/uspace/srv/console/console.adl
===================================================================
--- contrib/arch/uspace/srv/console/console.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/console/console.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,41 +1,41 @@
 interface console extends service {
 		/* Read characters from console */
-		ipcarg_t read(out_copy stream data);
+		sysarg_t read(out_copy stream data);
 		
 		/* Write characters to console */
-		ipcarg_t write(in_copy stream data);
+		sysarg_t write(in_copy stream data);
 		
 		/* Get last event from event queue */
-		ipcarg_t get_event(out ipcarg_t type, out ipcarg_t key, out ipcarg_t mods, out ipcarg_t char);
+		sysarg_t get_event(out sysarg_t type, out sysarg_t key, out sysarg_t mods, out sysarg_t char);
 		
 		/* Flush output buffer */
-		ipcarg_t sync(void);
+		sysarg_t sync(void);
 		
 		/* Clear console */
-		ipcarg_t clear(void);
+		sysarg_t clear(void);
 		
 		/* Move cursor to given position */
-		ipcarg_t goto(in ipcarg_t col, in ipcarg_t row);
+		sysarg_t goto(in sysarg_t col, in sysarg_t row);
 		
 		/* Get console dimensions (in character cells) */
-		ipcarg_t get_size(out ipcarg_t cols, in ipcarg_t rows);
+		sysarg_t get_size(out sysarg_t cols, in sysarg_t rows);
 		
 		/* Get color capabilities */
-		ipcarg_t get_color_cap(void);
+		sysarg_t get_color_cap(void);
 		
 		/* Set abstract text style */
-		ipcarg_t set_style(in ipcarg_t style);
+		sysarg_t set_style(in sysarg_t style);
 		
 		/* Set EGA-based text color */
-		ipcarg_t set_color(in ipcarg_t fb_color, in ipcarg_t bg_color, in ipcarg_t attr);
+		sysarg_t set_color(in sysarg_t fb_color, in sysarg_t bg_color, in sysarg_t attr);
 		
 		/* Set RGB-based text color */
-		ipcarg_t set_rgb_color(in ipcarg_t fb_color, in ipcarg_t bg_color);
+		sysarg_t set_rgb_color(in sysarg_t fb_color, in sysarg_t bg_color);
 		
 		/* Set cursor visibility */
-		ipcarg_t cursor_visibility(in ipcarg_t visible);
+		sysarg_t cursor_visibility(in sysarg_t visible);
 		
 		/* Switch to kernel debugging console (if available) */
-		ipcarg_t kcon_enable(void);
+		sysarg_t kcon_enable(void);
 	protocol:
 		[console.bp]
Index: contrib/arch/uspace/srv/devmap/devmap.adl
===================================================================
--- contrib/arch/uspace/srv/devmap/devmap.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/devmap/devmap.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,26 +1,26 @@
 interface devmap_driver {
 		/* Establish connection (iface is DEVMAP_DRIVER) */
-		ipcarg_t ipc_m_connect_me_to(in ipcarg_t iface);
+		sysarg_t ipc_m_connect_me_to(in sysarg_t iface);
 		
 		/* Register as a new driver */
-		ipcarg_t driver_register(in_copy string name);
+		sysarg_t driver_register(in_copy string name);
 		
 		/* Unregister all devices and the driver itself */
-		ipcarg_t driver_unregister(void);
+		sysarg_t driver_unregister(void);
 		
 		/* Register new device and return handle */
-		ipcarg_t device_register(in_copy string name, out ipcarg_t handle);
+		sysarg_t device_register(in_copy string name, out sysarg_t handle);
 		
 		/* Unregister device */
-		ipcarg_t device_unregister(in ipcarg_t handle);
+		sysarg_t device_unregister(in sysarg_t handle);
 		
 		/* Resolve device name to handle */
-		ipcarg_t device_get_handle(in ipcarg_t flags, in_copy string name);
+		sysarg_t device_get_handle(in sysarg_t flags, in_copy string name);
 		
 		/* Get device name for a given handle */
-		ipcarg_t device_get_name(in ipcarg_t handle);
+		sysarg_t device_get_name(in sysarg_t handle);
 		
 		/* Close connection */
-		ipcarg_t ipc_m_phone_hungup(void);
+		sysarg_t ipc_m_phone_hungup(void);
 	protocol:
 		[devmap_driver.bp]
@@ -29,26 +29,26 @@
 interface devmap_client {
 		/* Establish connection (iface is DEVMAP_CLIENT) or forward to device (iface is DEVMAP_CONNECT_TO_DEVICE) */
-		ipcarg_t ipc_m_connect_me_to(in ipcarg_t iface, in ipcarg_t handle);
+		sysarg_t ipc_m_connect_me_to(in sysarg_t iface, in sysarg_t handle);
 		
 		/* Resolve device name to handle */
-		ipcarg_t device_get_handle(in ipcarg_t flags, in_copy string name);
+		sysarg_t device_get_handle(in sysarg_t flags, in_copy string name);
 		
 		/* Get device name for a given handle */
-		ipcarg_t device_get_name(in ipcarg_t handle);
+		sysarg_t device_get_name(in sysarg_t handle);
 		
 		/* Clone NULL device */
-		ipcarg_t device_null_create(out ipcarg_t index);
+		sysarg_t device_null_create(out sysarg_t index);
 		
 		/* Destroy NULL device */
-		ipcarg_t device_null_destroy(in ipcarg_t index);
+		sysarg_t device_null_destroy(in sysarg_t index);
 		
 		/* Get number of devices */
-		ipcarg_t device_get_count(out ipcarg_t count);
+		sysarg_t device_get_count(out sysarg_t count);
 		
 		/* Get an array of (device_name, handle) pairs */
-		ipcarg_t device_get_devices(out_copy stream data);
+		sysarg_t device_get_devices(out_copy stream data);
 		
 		/* Close connection */
-		ipcarg_t ipc_m_phone_hungup(void);
+		sysarg_t ipc_m_phone_hungup(void);
 	protocol:
 		[devmap_client.bp]
Index: contrib/arch/uspace/srv/fb/fb.adl
===================================================================
--- contrib/arch/uspace/srv/fb/fb.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/fb/fb.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,98 +1,98 @@
 interface fb extends service {
 		/* Get screen resolution */
-		ipcarg_t get_resolution(out ipcarg_t width, out ipcarg_t height);
+		sysarg_t get_resolution(out sysarg_t width, out sysarg_t height);
 		
 		/* Yield screen */
-		ipcarg_t screen_yield(void);
+		sysarg_t screen_yield(void);
 		
 		/* Reclaim screen */
-		ipcarg_t screen_reclaim(void);
+		sysarg_t screen_reclaim(void);
 		
 		/* Set mouse cursor position on screen */
-		ipcarg_t pointer_move(in ipcarg_t x, in ipcarg_t y);
+		sysarg_t pointer_move(in sysarg_t x, in sysarg_t y);
 		
 		/* Create new viewport */
-		ipcarg_t viewport_create(in ipcarg_t origin, in ipcarg_t dimension);
+		sysarg_t viewport_create(in sysarg_t origin, in sysarg_t dimension);
 		
 		/* Get viewport size in character cells */
-		ipcarg_t get_csize(out ipcarg_t width, out ipcarg_t height);
+		sysarg_t get_csize(out sysarg_t width, out sysarg_t height);
 		
 		/* Clear viewport character buffer */
-		ipcarg_t clear(void);
+		sysarg_t clear(void);
 		
 		/* Scroll viewport character buffer */
-		ipcarg_t scroll(in ipcarg_t lines);
+		sysarg_t scroll(in sysarg_t lines);
 		
 		/* Set active viewport */
-		ipcarg_t viewport_switch(in ipcarg_t index);
+		sysarg_t viewport_switch(in sysarg_t index);
 		
 		/* Delete viewport */
-		ipcarg_t viewport_delete(in ipcarg_t index);
+		sysarg_t viewport_delete(in sysarg_t index);
 		
 		/* Get color capabilities of the screen */
-		ipcarg_t get_color_cap(void);
+		sysarg_t get_color_cap(void);
 		
 		/* Set abstract text style */
-		ipcarg_t set_style(in ipcarg_t style);
+		sysarg_t set_style(in sysarg_t style);
 		
 		/* Set EGA-based text color */
-		ipcarg_t set_color(in ipcarg_t fg_color, in ipcarg_t bg_color, in ipcarg_t atrr);
+		sysarg_t set_color(in sysarg_t fg_color, in sysarg_t bg_color, in sysarg_t atrr);
 		
 		/* Set RGB-based text color */
-		ipcarg_t set_rgb_color(in ipcarg_t fg_color, in ipcarg_t bg_color);
+		sysarg_t set_rgb_color(in sysarg_t fg_color, in sysarg_t bg_color);
 		
 		/* Put a character to a given position in viewport character buffer */
-		ipcarg_t putchar(in ipcarg_t char, in ipcarg_t col, in ipcarg_t row);
+		sysarg_t putchar(in sysarg_t char, in sysarg_t col, in sysarg_t row);
 		
 		/* Set character cursor visibility in viewport */
-		ipcarg_t cursor_visibility(in ipcarg_t visible);
+		sysarg_t cursor_visibility(in sysarg_t visible);
 		
 		/* Set character cursor position in viewport */
-		ipcarg_t cursor_goto(in ipcarg_t col, in ipcarg_t row);
+		sysarg_t cursor_goto(in sysarg_t col, in sysarg_t row);
 		
 		/* Prepare memory sharing of bitmaps */
-		ipcarg_t prepare_shm(in ipcarg_t as_area_base);
+		sysarg_t prepare_shm(in sysarg_t as_area_base);
 		
 		/* Share bitmap or text data */
-		ipcarg_t ipc_m_share_out(in ipcarg_t as_area_base, in ipcarg_t as_area_size, out ipcarg_t dst_as_area);
+		sysarg_t ipc_m_share_out(in sysarg_t as_area_base, in sysarg_t as_area_size, out sysarg_t dst_as_area);
 		
 		/* Drop memory sharing */
-		ipcarg_t drop_shm(void);
+		sysarg_t drop_shm(void);
 		
 		/* Draw PPM data from shared memory to viewport */
-		ipcarg_t draw_ppm(in ipcarg_t x, in ipcarg_t y);
+		sysarg_t draw_ppm(in sysarg_t x, in sysarg_t y);
 		
 		/* Put characters from shared memory to viewport */
-		ipcarg_t draw_text_data(in ipcarg_t x, in ipcarg_t y, in ipcarg_t width, in ipcarg_t height);
+		sysarg_t draw_text_data(in sysarg_t x, in sysarg_t y, in sysarg_t width, in sysarg_t height);
 		
 		/* Convert PPM data from shared memory to pixmap */
-		ipcarg_t shm2pixmap(void);
+		sysarg_t shm2pixmap(void);
 		
 		/* Save viewport contents to a pixmap */
-		ipcarg_t vp2pixmap(in ipcarg_t vp_index);
+		sysarg_t vp2pixmap(in sysarg_t vp_index);
 		
 		/* Draw pixmap to viewport */
-		ipcarg_t vp_draw_pixmap(in ipcarg_t vp_index, in ipcarg_t pm_index);
+		sysarg_t vp_draw_pixmap(in sysarg_t vp_index, in sysarg_t pm_index);
 		
 		/* Discard pixmap */
-		ipcarg_t drop_pixmap(in ipcarg_t pm_index);
+		sysarg_t drop_pixmap(in sysarg_t pm_index);
 		
 		/* Create new (empty) animation for a viewport */
-		ipcarg_t anim_create(in ipcarg_t vp_index);
+		sysarg_t anim_create(in sysarg_t vp_index);
 		
 		/* Append a pixmap to an animation */
-		ipcarg_t anim_addpixmap(in ipcarg_t anim_index, in ipcarg_t pm_index);
+		sysarg_t anim_addpixmap(in sysarg_t anim_index, in sysarg_t pm_index);
 		
 		/* Change a viewport associated with an animation */
-		ipcarg_t anim_chgvp(in ipcarg_t anim_index, in ipcarg_t vp_index);
+		sysarg_t anim_chgvp(in sysarg_t anim_index, in sysarg_t vp_index);
 		
 		/* Start animation playback */
-		ipcarg_t anim_start(in ipcarg_t anim_index);
+		sysarg_t anim_start(in sysarg_t anim_index);
 		
 		/* Stop animation playback */
-		ipcarg_t anim_stop(in ipcarg_t anim_index);
+		sysarg_t anim_stop(in sysarg_t anim_index);
 		
 		/* Delete animation */
-		ipcarg_t anim_drop(in ipcarg_t anim_index);
+		sysarg_t anim_drop(in sysarg_t anim_index);
 	protocol:
 		[fb.bp]
Index: contrib/arch/uspace/srv/kbd/kbd.adl
===================================================================
--- contrib/arch/uspace/srv/kbd/kbd.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/kbd/kbd.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,11 +1,11 @@
 interface kbd extends service {
 		/* Callback connection */
-		ipcarg_t ipc_m_connect_to_me(void);
+		sysarg_t ipc_m_connect_to_me(void);
 		
 		/* Yield hardware */
-		ipcarg_t yield(void);
+		sysarg_t yield(void);
 		
 		/* Reclaim hardware */
-		ipcarg_t reclaim(void);
+		sysarg_t reclaim(void);
 	protocol:
 		[kbd.bp]
@@ -14,5 +14,5 @@
 interface event {
 		/* Send keyboard event */
-		ipcarg_t event(in ipcarg_t type, in ipcarg_t key, in ipcarg_t mods, in ipcarg_t char);
+		sysarg_t event(in sysarg_t type, in sysarg_t key, in sysarg_t mods, in sysarg_t char);
 	protocol:
 		[event.bp]
Index: contrib/arch/uspace/srv/loader/loader.adl
===================================================================
--- contrib/arch/uspace/srv/loader/loader.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/loader/loader.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,20 +1,20 @@
 interface loader extends service {
 		/* Set task pathname */
-		ipcarg_t set_pathname(in_copy string pathname);
+		sysarg_t set_pathname(in_copy string pathname);
 		
 		/* Set task arguments */
-		ipcarg_t set_args(in_copy stream args);
+		sysarg_t set_args(in_copy stream args);
 		
 		/* Set task initial files */
-		ipcarg_t set_files(in_copy stream files);
+		sysarg_t set_files(in_copy stream files);
 		
 		/* Get task ID */
-		ipcarg_t get_taskid(out_copy stream id);
+		sysarg_t get_taskid(out_copy stream id);
 		
 		/* Load binary */
-		ipcarg_t load(void);
+		sysarg_t load(void);
 		
 		/* Run binary */
-		ipcarg_t run(void);
+		sysarg_t run(void);
 	protocol:
 		[loader.bp]
Index: contrib/arch/uspace/srv/ns/ns.adl
===================================================================
--- contrib/arch/uspace/srv/ns/ns.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/ns/ns.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,26 +1,26 @@
 interface ns {
 		/* Register a clonable service or a generic service */
-		ipcarg_t ipc_m_connect_to_me(in ipcarg_t service);
+		sysarg_t ipc_m_connect_to_me(in sysarg_t service);
 		
 		/* Connect to a clonable service or a generic service */
-		ipcarg_t ipc_m_connect_me_to(in ipcarg_t service, in ipcarg_t arg2, in ipcarg_t arg3, in ipcarg_t flags);
+		sysarg_t ipc_m_connect_me_to(in sysarg_t service, in sysarg_t arg2, in sysarg_t arg3, in sysarg_t flags);
 		
 		/* Share real-time clock page or klog page */
-		ipcarg_t ipc_m_share_in(in ipcarg_t as_area_base, in ipcarg_t as_area_size, in ipcarg_t service);
+		sysarg_t ipc_m_share_in(in sysarg_t as_area_base, in sysarg_t as_area_size, in sysarg_t service);
 		
 		/* For IPC testing purposes */
-		ipcarg_t ping(void);
+		sysarg_t ping(void);
 		
 		/* Wait for task exit and get exit status and return value */
-		ipcarg_t task_wait(in ipcarg_t id_lower, in ipcarg_t id_upper, out ipcarg_t status, out ipcarg_t retval);
+		sysarg_t task_wait(in sysarg_t id_lower, in sysarg_t id_upper, out sysarg_t status, out sysarg_t retval);
 		
 		/* Introduce a new loader task id in such a way it cannot be spoofed */
-		ipcarg_t id_intro(in ipcarg_t id_lower, in ipcarg_t id_upper);
+		sysarg_t id_intro(in sysarg_t id_lower, in sysarg_t id_upper);
 		
 		/* Set task return value */
-		ipcarg_t retval(in ipcarg_t retval);
+		sysarg_t retval(in sysarg_t retval);
 		
 		/* Implicit connection close */
-		ipcarg_t ipc_m_phone_hungup(void);
+		sysarg_t ipc_m_phone_hungup(void);
 	protocol:
 		[ns.bp]
Index: contrib/arch/uspace/srv/ns/service.adl
===================================================================
--- contrib/arch/uspace/srv/ns/service.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/ns/service.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -2,7 +2,7 @@
 		/* Establish connection with the service
 		   (this call is forwarded from Naming Service or Device Mapper) */
-		ipcarg_t ipc_m_connect_me_to(void);
+		sysarg_t ipc_m_connect_me_to(void);
 		
 		/* Close connection */
-		ipcarg_t ipc_m_phone_hungup(void);
+		sysarg_t ipc_m_phone_hungup(void);
 };
Index: contrib/arch/uspace/srv/vfs/vfs.adl
===================================================================
--- contrib/arch/uspace/srv/vfs/vfs.adl	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/arch/uspace/srv/vfs/vfs.adl	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1,50 +1,50 @@
 interface vfs extends service {
 		/* Register a filesystem driver */
-		ipcarg_t register(in_copy string name);
+		sysarg_t register(in_copy string name);
 		
 		/* Mount filesystem */
-		ipcarg_t mount(in ipcarg_t device, in ipcarg_t flags, in_copy string point, in_copy string opts, in_copy string fs);
+		sysarg_t mount(in sysarg_t device, in sysarg_t flags, in_copy string point, in_copy string opts, in_copy string fs);
 		
 		/* Open file */
-		ipcarg_t open(in ipcarg_t lflag, in ipcarg_t oflag, in ipcarg_t mode, in_copy string path, out ipcarg_t fd);
+		sysarg_t open(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, in_copy string path, out sysarg_t fd);
 		
 		/* Open file using node */
-		ipcarg_t open_node(in ipcarg_t fs_handle, in ipcarg_t dev_handle, in ipcarg_t index, in ipcarg_t oflag, out ipcarg_t fd);
+		sysarg_t open_node(in sysarg_t fs_handle, in sysarg_t dev_handle, in sysarg_t index, in sysarg_t oflag, out sysarg_t fd);
 		
 		/* Read data from file */
-		ipcarg_t read(in ipcarg_t fd, out_copy stream data);
+		sysarg_t read(in sysarg_t fd, out_copy stream data);
 		
 		/* Write data to file */
-		ipcarg_t write(in ipcarg_t fd, in_copy stream data);
+		sysarg_t write(in sysarg_t fd, in_copy stream data);
 		
 		/* Seek in file */
-		ipcarg_t seek(in ipcarg_t fd, in ipcarg_t offset, in ipcarg_t whence);
+		sysarg_t seek(in sysarg_t fd, in sysarg_t offset, in sysarg_t whence);
 		
 		/* Truncate file */
-		ipcarg_t truncate(in ipcarg_t fd, in ipcarg_t size);
+		sysarg_t truncate(in sysarg_t fd, in sysarg_t size);
 		
 		/* Get file metadata */
-		ipcarg_t fstat(in ipcarg_t fd, out_copy stream stat);
+		sysarg_t fstat(in sysarg_t fd, out_copy stream stat);
 		
 		/* Get directory entry metadata */
-		ipcarg_t stat(in_copy string path, out_copy stream stat);
+		sysarg_t stat(in_copy string path, out_copy stream stat);
 		
 		/* Create directory */
-		ipcarg_t mkdir(in ipcarg_t mode, in_copy string path);
+		sysarg_t mkdir(in sysarg_t mode, in_copy string path);
 		
 		/* Delete directory entry */
-		ipcarg_t unlink(in ipcarg_t lflag, in_copy string path);
+		sysarg_t unlink(in sysarg_t lflag, in_copy string path);
 		
 		/* Rename directory entry */
-		ipcarg_t rename(in_copy string old, in_copy string new);
+		sysarg_t rename(in_copy string old, in_copy string new);
 		
 		/* Flush file buffers */
-		ipcarg_t sync(in ipcarg_t fd);
+		sysarg_t sync(in sysarg_t fd);
 		
 		/* In-protocol status value */
-		ipcarg_t ipc_m_ping(void);
+		sysarg_t ipc_m_ping(void);
 		
 		/* Close connection */
-		ipcarg_t ipc_m_phone_hungup(void);
+		sysarg_t ipc_m_phone_hungup(void);
 	protocol:
 		[vfs.bp]
@@ -53,32 +53,32 @@
 interface fs extends service {
 		/* Notify filesystem that it was mounted */
-		ipcarg_t mounted(in ipcarg_t dev_handle, in_copy string opts);
+		sysarg_t mounted(in sysarg_t dev_handle, in_copy string opts);
 		
 		/* Mount filesystem */
-		ipcarg_t mount(in ipcarg_t device, in ipcarg_t flags, in_copy string point, in_copy string opts, ...);
+		sysarg_t mount(in sysarg_t device, in sysarg_t flags, in_copy string point, in_copy string opts, ...);
 		
 		/* Open file by node */
-		ipcarg_t open_node(in ipcarg_t lflag, in ipcarg_t oflag, in ipcarg_t mode, ...);
+		sysarg_t open_node(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, ...);
 		
 		/* Lookup file */
-		ipcarg_t lookup(in ipcarg_t lflag, in ipcarg_t oflag, in ipcarg_t mode, ...);
+		sysarg_t lookup(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, ...);
 		
 		/* Read data from file */
-		ipcarg_t read(in ipcarg_t dev_handle, in ipcarg_t fs_index, in ipcarg_t offset, out_copy stream data);
+		sysarg_t read(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t offset, out_copy stream data);
 		
 		/* Write data to file */
-		ipcarg_t write(in ipcarg_t dev_handle, in ipcarg_t fs_index, in ipcarg_t offset, in_copy stream data);
+		sysarg_t write(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t offset, in_copy stream data);
 		
 		/* Truncate file */
-		ipcarg_t truncate(in ipcarg_t dev_handle, in ipcarg_t fs_index, in ipcarg_t size);
+		sysarg_t truncate(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t size);
 		
 		/* Get directory entry metadata */
-		ipcarg_t stat(in ipcarg_t dev_handle, in ipcarg_t fs_index, out_copy stream stat);
+		sysarg_t stat(in sysarg_t dev_handle, in sysarg_t fs_index, out_copy stream stat);
 		
 		/* Flush file buffers */
-		ipcarg_t sync(in ipcarg_t dev_handle, in ipcarg_t fs_index);
+		sysarg_t sync(in sysarg_t dev_handle, in sysarg_t fs_index);
 		
 		/* Notify on file close */
-		ipcarg_t close(in ipcarg_t dev_handle, in ipcarg_t fs_index);
+		sysarg_t close(in sysarg_t dev_handle, in sysarg_t fs_index);
 };
 
Index: contrib/highlight/adl.syntax
===================================================================
--- contrib/highlight/adl.syntax	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ contrib/highlight/adl.syntax	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -17,5 +17,5 @@
 	keyword whole delegate yellow
 	
-	keyword whole ipcarg_t yellow
+	keyword whole sysarg_t yellow
 	keyword whole string yellow
 	keyword whole stream yellow
Index: kernel/arch/abs32le/include/types.h
===================================================================
--- kernel/arch/abs32le/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/abs32le/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -46,5 +46,5 @@
 typedef uint32_t ipl_t;
 
-typedef uint32_t unative_t;
+typedef uint32_t sysarg_t;
 typedef int32_t native_t;
 typedef uint32_t atomic_count_t;
@@ -57,6 +57,6 @@
 
 #define PRIdn  PRId32  /**< Format for native_t. */
-#define PRIun  PRIu32  /**< Format for unative_t. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: kernel/arch/abs32le/src/abs32le.c
===================================================================
--- kernel/arch/abs32le/src/abs32le.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/abs32le/src/abs32le.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -86,5 +86,5 @@
 }
 
-unative_t sys_tls_set(unative_t addr)
+sysarg_t sys_tls_set(sysarg_t addr)
 {
 	return EOK;
Index: kernel/arch/amd64/include/asm.h
===================================================================
--- kernel/arch/amd64/include/asm.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/amd64/include/asm.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -304,5 +304,5 @@
 }
 
-NO_TRACE static inline unative_t read_msr(uint32_t msr)
+NO_TRACE static inline sysarg_t read_msr(uint32_t msr)
 {
 	uint32_t ax, dx;
@@ -343,5 +343,5 @@
 	asm volatile (
 		"invlpg %[addr]\n"
-		:: [addr] "m" (*((unative_t *) addr))
+		:: [addr] "m" (*((sysarg_t *) addr))
 	);
 }
@@ -398,7 +398,7 @@
 }
 
-#define GEN_READ_REG(reg) NO_TRACE static inline unative_t read_ ##reg (void) \
+#define GEN_READ_REG(reg) NO_TRACE static inline sysarg_t read_ ##reg (void) \
 	{ \
-		unative_t res; \
+		sysarg_t res; \
 		asm volatile ( \
 			"movq %%" #reg ", %[res]" \
@@ -408,5 +408,5 @@
 	}
 
-#define GEN_WRITE_REG(reg) NO_TRACE static inline void write_ ##reg (unative_t regn) \
+#define GEN_WRITE_REG(reg) NO_TRACE static inline void write_ ##reg (sysarg_t regn) \
 	{ \
 		asm volatile ( \
Index: kernel/arch/amd64/include/proc/thread.h
===================================================================
--- kernel/arch/amd64/include/proc/thread.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/amd64/include/proc/thread.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -41,5 +41,5 @@
 
 typedef struct {
-	unative_t tls;
+	sysarg_t tls;
 	/** User and kernel RSP for syscalls. */
 	uint64_t syscall_rsp[2];
Index: kernel/arch/amd64/include/types.h
===================================================================
--- kernel/arch/amd64/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/amd64/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -43,5 +43,5 @@
 typedef uint64_t ipl_t;
 
-typedef uint64_t unative_t;
+typedef uint64_t sysarg_t;
 typedef int64_t native_t;
 typedef uint64_t atomic_count_t;
@@ -54,6 +54,6 @@
 
 #define PRIdn  PRId64  /**< Format for native_t. */
-#define PRIun  PRIu64  /**< Format for unative_t. */
-#define PRIxn  PRIx64  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu64  /**< Format for sysarg_t. */
+#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu64  /**< Format for atomic_count_t. */
 
Index: kernel/arch/amd64/src/amd64.c
===================================================================
--- kernel/arch/amd64/src/amd64.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/amd64/src/amd64.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -256,5 +256,5 @@
  * we need not to go to CPL0 to read it.
  */
-unative_t sys_tls_set(unative_t addr)
+sysarg_t sys_tls_set(sysarg_t addr)
 {
 	THREAD->arch.tls = addr;
Index: kernel/arch/amd64/src/debugger.c
===================================================================
--- kernel/arch/amd64/src/debugger.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/amd64/src/debugger.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -125,5 +125,5 @@
 	
 	/* Disable breakpoint in DR7 */
-	unative_t dr7 = read_dr7();
+	sysarg_t dr7 = read_dr7();
 	dr7 &= ~(0x02U << (curidx * 2));
 	
@@ -152,15 +152,15 @@
 		if (!(flags & BKPOINT_INSTR)) {
 #ifdef __32_BITS__
-			dr7 |= ((unative_t) 0x03U) << (18 + 4 * curidx);
+			dr7 |= ((sysarg_t) 0x03U) << (18 + 4 * curidx);
 #endif
 			
 #ifdef __64_BITS__
-			dr7 |= ((unative_t) 0x02U) << (18 + 4 * curidx);
+			dr7 |= ((sysarg_t) 0x02U) << (18 + 4 * curidx);
 #endif
 			
 			if ((flags & BKPOINT_WRITE))
-				dr7 |= ((unative_t) 0x01U) << (16 + 4 * curidx);
+				dr7 |= ((sysarg_t) 0x01U) << (16 + 4 * curidx);
 			else if ((flags & BKPOINT_READ_WRITE))
-				dr7 |= ((unative_t) 0x03U) << (16 + 4 * curidx);
+				dr7 |= ((sysarg_t) 0x03U) << (16 + 4 * curidx);
 		}
 		
@@ -227,5 +227,5 @@
 	if (!(breakpoints[slot].flags & BKPOINT_INSTR)) {
 		if ((breakpoints[slot].flags & BKPOINT_CHECK_ZERO)) {
-			if (*((unative_t *) breakpoints[slot].address) != 0)
+			if (*((sysarg_t *) breakpoints[slot].address) != 0)
 				return;
 			
@@ -234,5 +234,5 @@
 		} else {
 			printf("Data watchpoint - new data: %#" PRIxn "\n",
-			    *((unative_t *) breakpoints[slot].address));
+			    *((sysarg_t *) breakpoints[slot].address));
 		}
 	}
@@ -279,5 +279,5 @@
 #endif
 	
-	unative_t dr6 = read_dr6();
+	sysarg_t dr6 = read_dr6();
 	
 	unsigned int i;
@@ -384,5 +384,5 @@
 int cmd_del_breakpoint(cmd_arg_t *argv)
 {
-	unative_t bpno = argv->intval;
+	sysarg_t bpno = argv->intval;
 	if (bpno > BKPOINTS_MAX) {
 		printf("Invalid breakpoint number.\n");
Index: kernel/arch/arm32/include/types.h
===================================================================
--- kernel/arch/arm32/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/arm32/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -50,5 +50,5 @@
 typedef uint32_t ipl_t;
 
-typedef uint32_t unative_t;
+typedef uint32_t sysarg_t;
 typedef int32_t native_t;
 typedef uint32_t atomic_count_t;
@@ -61,6 +61,6 @@
 
 #define PRIdn  PRId32  /**< Format for native_t. */
-#define PRIun  PRIu32  /**< Format for unative_t. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: kernel/arch/arm32/src/mach/testarm/testarm.c
===================================================================
--- kernel/arch/arm32/src/mach/testarm/testarm.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/arm32/src/mach/testarm/testarm.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -123,5 +123,5 @@
 	sysinfo_set_item_val("kbd", NULL, true);
 	sysinfo_set_item_val("kbd.inr", NULL, GXEMUL_KBD_IRQ);
-	sysinfo_set_item_val("kbd.address.virtual", NULL, (unative_t) gxemul_kbd);
+	sysinfo_set_item_val("kbd.address.virtual", NULL, (sysarg_t) gxemul_kbd);
 #endif
 }
Index: kernel/arch/ia32/include/asm.h
===================================================================
--- kernel/arch/ia32/include/asm.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ia32/include/asm.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -64,7 +64,7 @@
 }
 
-#define GEN_READ_REG(reg) NO_TRACE static inline unative_t read_ ##reg (void) \
+#define GEN_READ_REG(reg) NO_TRACE static inline sysarg_t read_ ##reg (void) \
 	{ \
-		unative_t res; \
+		sysarg_t res; \
 		asm volatile ( \
 			"movl %%" #reg ", %[res]" \
@@ -74,5 +74,5 @@
 	}
 
-#define GEN_WRITE_REG(reg) NO_TRACE static inline void write_ ##reg (unative_t regn) \
+#define GEN_WRITE_REG(reg) NO_TRACE static inline void write_ ##reg (sysarg_t regn) \
 	{ \
 		asm volatile ( \
@@ -366,5 +366,5 @@
 	asm volatile (
 		"invlpg %[addr]\n"
-		:: [addr] "m" (*(unative_t *) addr)
+		:: [addr] "m" (*(sysarg_t *) addr)
 	);
 }
Index: kernel/arch/ia32/include/proc/thread.h
===================================================================
--- kernel/arch/ia32/include/proc/thread.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ia32/include/proc/thread.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -39,5 +39,5 @@
 
 typedef struct {
-	unative_t tls;
+	sysarg_t tls;
 } thread_arch_t;
 
Index: kernel/arch/ia32/include/types.h
===================================================================
--- kernel/arch/ia32/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ia32/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -43,5 +43,5 @@
 typedef uint32_t ipl_t;
 
-typedef uint32_t unative_t;
+typedef uint32_t sysarg_t;
 typedef int32_t native_t;
 typedef uint32_t atomic_count_t;
@@ -54,6 +54,6 @@
 
 #define PRIdn  PRId32  /**< Format for native_t. */
-#define PRIun  PRIu32  /**< Format for unative_t. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: kernel/arch/ia32/src/ia32.c
===================================================================
--- kernel/arch/ia32/src/ia32.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ia32/src/ia32.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -211,5 +211,5 @@
  * selector, and the descriptor->base is the correct address.
  */
-unative_t sys_tls_set(unative_t addr)
+sysarg_t sys_tls_set(sysarg_t addr)
 {
 	THREAD->arch.tls = addr;
Index: kernel/arch/ia64/include/bootinfo.h
===================================================================
--- kernel/arch/ia64/include/bootinfo.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ia64/include/bootinfo.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -62,5 +62,5 @@
 	unsigned int memmap_items;
 	
-	unative_t *sapic;
+	sysarg_t *sapic;
 	unsigned long sys_freq;
 	unsigned long freq_scale;
Index: kernel/arch/ia64/include/types.h
===================================================================
--- kernel/arch/ia64/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ia64/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -43,11 +43,11 @@
 typedef uint64_t ipl_t;
 
-typedef uint64_t unative_t;
+typedef uint64_t sysarg_t;
 typedef int64_t native_t;
 typedef uint64_t atomic_count_t;
 
 typedef struct {
-	unative_t fnc;
-	unative_t gp;
+	sysarg_t fnc;
+	sysarg_t gp;
 } __attribute__((may_alias)) fncptr_t;
 
@@ -56,6 +56,6 @@
 
 #define PRIdn  PRId64  /**< Format for native_t. */
-#define PRIun  PRIu64  /**< Format for unative_t. */
-#define PRIxn  PRIx64  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu64  /**< Format for sysarg_t. */
+#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu64  /**< Format for atomic_count_t. */
 
Index: kernel/arch/ia64/src/ia64.c
===================================================================
--- kernel/arch/ia64/src/ia64.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ia64/src/ia64.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -104,5 +104,5 @@
 static void iosapic_init(void)
 {
-	uint64_t IOSAPIC = PA2KA((unative_t)(iosapic_base)) | FW_OFFSET;
+	uint64_t IOSAPIC = PA2KA((sysarg_t)(iosapic_base)) | FW_OFFSET;
 	int i;
 	
@@ -251,5 +251,5 @@
  * We use r13 (a.k.a. tp) for this purpose.
  */
-unative_t sys_tls_set(unative_t addr)
+sysarg_t sys_tls_set(sysarg_t addr)
 {
 	return 0;
@@ -274,6 +274,6 @@
 void *arch_construct_function(fncptr_t *fptr, void *addr, void *caller)
 {
-	fptr->fnc = (unative_t) addr;
-	fptr->gp = ((unative_t *) caller)[1];
+	fptr->fnc = (sysarg_t) addr;
+	fptr->gp = ((sysarg_t *) caller)[1];
 	
 	return (void *) fptr;
Index: kernel/arch/mips32/include/debugger.h
===================================================================
--- kernel/arch/mips32/include/debugger.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/mips32/include/debugger.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -58,8 +58,8 @@
 
 typedef struct  {
-	uintptr_t address;          /**< Breakpoint address */
-	unative_t instruction;      /**< Original instruction */
-	unative_t nextinstruction;  /**< Original instruction following break */
-	unsigned int flags;         /**< Flags regarding breakpoint */
+	uintptr_t address;         /**< Breakpoint address */
+	sysarg_t instruction;      /**< Original instruction */
+	sysarg_t nextinstruction;  /**< Original instruction following break */
+	unsigned int flags;        /**< Flags regarding breakpoint */
 	size_t counter;
 	void (*bkfunc)(void *, istate_t *);
@@ -68,5 +68,5 @@
 extern bpinfo_t breakpoints[BKPOINTS_MAX];
 
-extern bool is_jump(unative_t);
+extern bool is_jump(sysarg_t);
 
 extern void debugger_init(void);
Index: kernel/arch/mips32/include/fpu_context.h
===================================================================
--- kernel/arch/mips32/include/fpu_context.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/mips32/include/fpu_context.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -38,9 +38,9 @@
 #include <typedefs.h>
 
-#define FPU_CONTEXT_ALIGN    sizeof(unative_t)
+#define FPU_CONTEXT_ALIGN    sizeof(sysarg_t)
 
 typedef struct {
-	unative_t dregs[32];
-	unative_t cregs[32];
+	sysarg_t dregs[32];
+	sysarg_t cregs[32];
 } fpu_context_t;
 
Index: kernel/arch/mips32/include/types.h
===================================================================
--- kernel/arch/mips32/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/mips32/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -43,5 +43,5 @@
 typedef uint32_t ipl_t;
 
-typedef uint32_t unative_t;
+typedef uint32_t sysarg_t;
 typedef int32_t native_t;
 typedef uint32_t atomic_count_t;
@@ -54,6 +54,6 @@
 
 #define PRIdn  PRId32  /**< Format for native_t. */
-#define PRIun  PRIu32  /**< Format for unative_t. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: kernel/arch/mips32/src/debugger.c
===================================================================
--- kernel/arch/mips32/src/debugger.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/mips32/src/debugger.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -134,5 +134,5 @@
  *
  */
-bool is_jump(unative_t instr)
+bool is_jump(sysarg_t instr)
 {
 	unsigned int i;
@@ -166,6 +166,6 @@
 			return 0;
 		} else if ((breakpoints[i].address == (uintptr_t) argv->intval +
-		    sizeof(unative_t)) || (breakpoints[i].address ==
-		    (uintptr_t) argv->intval - sizeof(unative_t))) {
+		    sizeof(sysarg_t)) || (breakpoints[i].address ==
+		    (uintptr_t) argv->intval - sizeof(sysarg_t))) {
 			printf("Adjacent breakpoints not supported, conflict "
 			    "with %d.\n", i);
@@ -194,6 +194,6 @@
 	
 	cur->address = (uintptr_t) argv->intval;
-	cur->instruction = ((unative_t *) cur->address)[0];
-	cur->nextinstruction = ((unative_t *) cur->address)[1];
+	cur->instruction = ((sysarg_t *) cur->address)[0];
+	cur->nextinstruction = ((sysarg_t *) cur->address)[1];
 	if (argv == &add_argv) {
 		cur->flags = 0;
@@ -209,5 +209,5 @@
 	
 	/* Set breakpoint */
-	*((unative_t *) cur->address) = 0x0d;
+	*((sysarg_t *) cur->address) = 0x0d;
 	smc_coherence(cur->address);
 	
@@ -341,5 +341,5 @@
 		/* Reinst only breakpoint */
 		if ((breakpoints[i].flags & BKPOINT_REINST) &&
-		    (fireaddr == breakpoints[i].address + sizeof(unative_t))) {
+		    (fireaddr == breakpoints[i].address + sizeof(sysarg_t))) {
 			cur = &breakpoints[i];
 			break;
Index: kernel/arch/mips32/src/mips32.c
===================================================================
--- kernel/arch/mips32/src/mips32.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/mips32/src/mips32.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -233,5 +233,5 @@
  * possible to have it separately in the future.
  */
-unative_t sys_tls_set(unative_t addr)
+sysarg_t sys_tls_set(sysarg_t addr)
 {
 	return 0;
Index: kernel/arch/ppc32/include/exception.h
===================================================================
--- kernel/arch/ppc32/include/exception.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ppc32/include/exception.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -98,10 +98,10 @@
 }
 
-NO_TRACE static inline unative_t istate_get_pc(istate_t *istate)
+NO_TRACE static inline sysarg_t istate_get_pc(istate_t *istate)
 {
 	return istate->pc;
 }
 
-NO_TRACE static inline unative_t istate_get_fp(istate_t *istate)
+NO_TRACE static inline sysarg_t istate_get_fp(istate_t *istate)
 {
 	return istate->sp;
Index: kernel/arch/ppc32/include/types.h
===================================================================
--- kernel/arch/ppc32/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/ppc32/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -43,5 +43,5 @@
 typedef uint32_t ipl_t;
 
-typedef uint32_t unative_t;
+typedef uint32_t sysarg_t;
 typedef int32_t native_t;
 typedef uint32_t atomic_count_t;
@@ -54,6 +54,6 @@
 
 #define PRIdn  PRId32  /**< Format for native_t. */
-#define PRIun  PRIu32  /**< Format for unative_t. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: kernel/arch/sparc64/include/mm/sun4u/tlb.h
===================================================================
--- kernel/arch/sparc64/include/mm/sun4u/tlb.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/sparc64/include/mm/sun4u/tlb.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -678,5 +678,5 @@
 }
 
-extern void fast_instruction_access_mmu_miss(unative_t, istate_t *);
+extern void fast_instruction_access_mmu_miss(sysarg_t, istate_t *);
 extern void fast_data_access_mmu_miss(tlb_tag_access_reg_t, istate_t *);
 extern void fast_data_access_protection(tlb_tag_access_reg_t , istate_t *);
Index: kernel/arch/sparc64/include/mm/sun4v/tlb.h
===================================================================
--- kernel/arch/sparc64/include/mm/sun4v/tlb.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/sparc64/include/mm/sun4v/tlb.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -141,7 +141,7 @@
 }
 
-extern void fast_instruction_access_mmu_miss(unative_t, istate_t *);
-extern void fast_data_access_mmu_miss(unative_t, istate_t *);
-extern void fast_data_access_protection(unative_t, istate_t *);
+extern void fast_instruction_access_mmu_miss(sysarg_t, istate_t *);
+extern void fast_data_access_mmu_miss(sysarg_t, istate_t *);
+extern void fast_data_access_protection(sysarg_t, istate_t *);
 
 extern void dtlb_insert_mapping(uintptr_t, uintptr_t, int, bool, bool);
Index: kernel/arch/sparc64/include/types.h
===================================================================
--- kernel/arch/sparc64/include/types.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/sparc64/include/types.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -43,5 +43,5 @@
 typedef uint64_t ipl_t;
 
-typedef uint64_t unative_t;
+typedef uint64_t sysarg_t;
 typedef int64_t native_t;
 typedef uint64_t atomic_count_t;
@@ -56,6 +56,6 @@
 
 #define PRIdn  PRId64  /**< Format for native_t. */
-#define PRIun  PRIu64  /**< Format for unative_t. */
-#define PRIxn  PRIx64  /**< Format for hexadecimal unative_t. */
+#define PRIun  PRIu64  /**< Format for sysarg_t. */
+#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu64  /**< Format for atomic_count_t. */
 
Index: kernel/arch/sparc64/src/mm/sun4u/tlb.c
===================================================================
--- kernel/arch/sparc64/src/mm/sun4u/tlb.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/sparc64/src/mm/sun4u/tlb.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -200,5 +200,5 @@
 
 /** ITLB miss handler. */
-void fast_instruction_access_mmu_miss(unative_t unused, istate_t *istate)
+void fast_instruction_access_mmu_miss(sysarg_t unused, istate_t *istate)
 {
 	uintptr_t page_16k = ALIGN_DOWN(istate->tpc, PAGE_SIZE);
Index: kernel/arch/sparc64/src/mm/sun4v/tlb.c
===================================================================
--- kernel/arch/sparc64/src/mm/sun4v/tlb.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/arch/sparc64/src/mm/sun4v/tlb.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -213,5 +213,5 @@
 
 /** ITLB miss handler. */
-void fast_instruction_access_mmu_miss(unative_t unused, istate_t *istate)
+void fast_instruction_access_mmu_miss(sysarg_t unused, istate_t *istate)
 {
 	uintptr_t va = ALIGN_DOWN(istate->tpc, PAGE_SIZE);
Index: kernel/genarch/src/acpi/acpi.c
===================================================================
--- kernel/genarch/src/acpi/acpi.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/genarch/src/acpi/acpi.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -116,5 +116,5 @@
 		    / sizeof(struct acpi_signature_map); j++) {
 			struct acpi_sdt_header *hdr =
-			    (struct acpi_sdt_header *) (unative_t) acpi_rsdt->entry[i];
+			    (struct acpi_sdt_header *) (sysarg_t) acpi_rsdt->entry[i];
 			
 			map_sdt(hdr);
Index: kernel/genarch/src/acpi/madt.c
===================================================================
--- kernel/genarch/src/acpi/madt.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/genarch/src/acpi/madt.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -165,5 +165,5 @@
 		/* Remember index of the first io apic entry */
 		madt_io_apic_entry_index = i;
-		io_apic = (uint32_t *) (unative_t) ioa->io_apic_address;
+		io_apic = (uint32_t *) (sysarg_t) ioa->io_apic_address;
 	} else {
 		/* Currently not supported */
@@ -190,5 +190,5 @@
 	struct madt_apic_header *hdr;
 	
-	l_apic = (uint32_t *) (unative_t) acpi_madt->l_apic_address;
+	l_apic = (uint32_t *) (sysarg_t) acpi_madt->l_apic_address;
 	
 	/* Count MADT entries */
Index: kernel/genarch/src/mm/page_ht.c
===================================================================
--- kernel/genarch/src/mm/page_ht.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/genarch/src/mm/page_ht.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -52,6 +52,6 @@
 #include <align.h>
 
-static size_t hash(unative_t[]);
-static bool compare(unative_t[], size_t, link_t *);
+static size_t hash(sysarg_t[]);
+static bool compare(sysarg_t[], size_t, link_t *);
 static void remove_callback(link_t *);
 
@@ -96,5 +96,5 @@
  *
  */
-size_t hash(unative_t key[])
+size_t hash(sysarg_t key[])
 {
 	as_t *as = (as_t *) key[KEY_AS];
@@ -115,5 +115,5 @@
 	 *
 	 */
-	index |= ((unative_t) as) & (PAGE_HT_ENTRIES - 1);
+	index |= ((sysarg_t) as) & (PAGE_HT_ENTRIES - 1);
 	
 	return index;
@@ -129,5 +129,5 @@
  *
  */
-bool compare(unative_t key[], size_t keys, link_t *item)
+bool compare(sysarg_t key[], size_t keys, link_t *item)
 {
 	ASSERT(item);
@@ -180,5 +180,5 @@
     unsigned int flags)
 {
-	unative_t key[2] = {
+	sysarg_t key[2] = {
 		(uintptr_t) as,
 		page = ALIGN_DOWN(page, PAGE_SIZE)
@@ -220,5 +220,5 @@
 void ht_mapping_remove(as_t *as, uintptr_t page)
 {
-	unative_t key[2] = {
+	sysarg_t key[2] = {
 		(uintptr_t) as,
 		page = ALIGN_DOWN(page, PAGE_SIZE)
@@ -247,5 +247,5 @@
 pte_t *ht_mapping_find(as_t *as, uintptr_t page)
 {
-	unative_t key[2] = {
+	sysarg_t key[2] = {
 		(uintptr_t) as,
 		page = ALIGN_DOWN(page, PAGE_SIZE)
Index: kernel/generic/include/adt/hash_table.h
===================================================================
--- kernel/generic/include/adt/hash_table.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/adt/hash_table.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -48,5 +48,5 @@
 	 * @return Index into hash table.
 	 */
-	size_t (* hash)(unative_t key[]);
+	size_t (* hash)(sysarg_t key[]);
 	
 	/** Hash table item comparison function.
@@ -57,5 +57,5 @@
 	 * @return true if the keys match, false otherwise.
 	 */
-	bool (*compare)(unative_t key[], size_t keys, link_t *item);
+	bool (*compare)(sysarg_t key[], size_t keys, link_t *item);
 
 	/** Hash table item removal callback.
@@ -79,7 +79,7 @@
 extern void hash_table_create(hash_table_t *h, size_t m, size_t max_keys,
     hash_table_operations_t *op);
-extern void hash_table_insert(hash_table_t *h, unative_t key[], link_t *item);
-extern link_t *hash_table_find(hash_table_t *h, unative_t key[]);
-extern void hash_table_remove(hash_table_t *h, unative_t key[], size_t keys);
+extern void hash_table_insert(hash_table_t *h, sysarg_t key[], link_t *item);
+extern link_t *hash_table_find(hash_table_t *h, sysarg_t key[]);
+extern void hash_table_remove(hash_table_t *h, sysarg_t key[], size_t keys);
 
 #endif
Index: kernel/generic/include/console/console.h
===================================================================
--- kernel/generic/include/console/console.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/console/console.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -67,11 +67,11 @@
 extern wchar_t getc(indev_t *indev);
 extern size_t gets(indev_t *indev, char *buf, size_t buflen);
-extern unative_t sys_klog(int fd, const void *buf, size_t size);
+extern sysarg_t sys_klog(int fd, const void *buf, size_t size);
 
 extern void grab_console(void);
 extern void release_console(void);
 
-extern unative_t sys_debug_enable_console(void);
-extern unative_t sys_debug_disable_console(void);
+extern sysarg_t sys_debug_enable_console(void);
+extern sysarg_t sys_debug_disable_console(void);
 
 #endif /* KERN_CONSOLE_H_ */
Index: kernel/generic/include/console/kconsole.h
===================================================================
--- kernel/generic/include/console/kconsole.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/console/kconsole.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -62,5 +62,5 @@
 	size_t len;
 	/** Integer value. */
-	unative_t intval;
+	sysarg_t intval;
 	/** Resulting type of variable arg */
 	cmd_arg_type_t vartype;
Index: kernel/generic/include/ddi/ddi.h
===================================================================
--- kernel/generic/include/ddi/ddi.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ddi/ddi.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -52,7 +52,7 @@
 extern void ddi_parea_register(parea_t *);
 
-extern unative_t sys_physmem_map(unative_t, unative_t, unative_t, unative_t);
-extern unative_t sys_iospace_enable(ddi_ioarg_t *);
-extern unative_t sys_interrupt_enable(int irq, int enable);
+extern sysarg_t sys_physmem_map(sysarg_t, sysarg_t, sysarg_t, sysarg_t);
+extern sysarg_t sys_iospace_enable(ddi_ioarg_t *);
+extern sysarg_t sys_interrupt_enable(int irq, int enable);
 
 /*
Index: kernel/generic/include/ddi/device.h
===================================================================
--- kernel/generic/include/ddi/device.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ddi/device.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -39,5 +39,5 @@
 
 extern devno_t device_assign_devno(void);
-extern unative_t sys_device_assign_devno(void);
+extern sysarg_t sys_device_assign_devno(void);
 
 #endif
Index: kernel/generic/include/ddi/irq.h
===================================================================
--- kernel/generic/include/ddi/irq.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ddi/irq.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -123,5 +123,5 @@
 	answerbox_t *answerbox;
 	/** Method to be used for the notification. */
-	unative_t method;
+	sysarg_t method;
 	/** Arguments that will be sent if the IRQ is claimed. */
 	uint32_t scratch[IPC_CALL_LEN];
Index: kernel/generic/include/ipc/event.h
===================================================================
--- kernel/generic/include/ipc/event.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ipc/event.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -48,5 +48,5 @@
 	answerbox_t *answerbox;
 	/** Method to be used for the notification. */
-	unative_t method;
+	sysarg_t method;
 	/** Counter. */
 	size_t counter;
@@ -54,5 +54,5 @@
 
 extern void event_init(void);
-extern unative_t sys_event_subscribe(unative_t, unative_t);
+extern sysarg_t sys_event_subscribe(sysarg_t, sysarg_t);
 extern bool event_is_subscribed(event_type_t);
 extern void event_cleanup_answerbox(answerbox_t *);
@@ -71,6 +71,6 @@
 	event_notify((e), (a1), (a2), (a3), (a4), (a5))
 
-extern void event_notify(event_type_t, unative_t, unative_t, unative_t,
-    unative_t, unative_t);
+extern void event_notify(event_type_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t);
 
 #endif
Index: kernel/generic/include/ipc/ipc.h
===================================================================
--- kernel/generic/include/ipc/ipc.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ipc/ipc.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -311,5 +311,5 @@
 
 typedef struct {
-	unative_t args[IPC_CALL_LEN];
+	sysarg_t args[IPC_CALL_LEN];
 	phone_t *phone;
 } ipc_data_t;
@@ -331,5 +331,5 @@
 	
 	/** Private data to internal IPC. */
-	unative_t priv;
+	sysarg_t priv;
 	
 	/** Data passed from/to userspace. */
@@ -368,5 +368,5 @@
 
 extern void ipc_cleanup(void);
-extern void ipc_backsend_err(phone_t *, call_t *, unative_t);
+extern void ipc_backsend_err(phone_t *, call_t *, sysarg_t);
 extern void ipc_answerbox_slam_phones(answerbox_t *, bool);
 extern void ipc_cleanup_call_list(link_t *);
Index: kernel/generic/include/ipc/ipcrsc.h
===================================================================
--- kernel/generic/include/ipc/ipcrsc.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ipc/ipcrsc.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -39,5 +39,5 @@
 #include <ipc/ipc.h>
 
-extern call_t * get_call(unative_t callid);
+extern call_t * get_call(sysarg_t callid);
 extern int phone_alloc(task_t *t);
 extern void phone_connect(int phoneid, answerbox_t *box);
Index: kernel/generic/include/ipc/irq.h
===================================================================
--- kernel/generic/include/ipc/irq.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ipc/irq.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -44,5 +44,5 @@
 #include <adt/list.h>
 
-extern int ipc_irq_register(answerbox_t *, inr_t, devno_t, unative_t,
+extern int ipc_irq_register(answerbox_t *, inr_t, devno_t, sysarg_t,
     irq_code_t *);
 
@@ -75,6 +75,6 @@
 	ipc_irq_send_msg((irq), (a1), (a2), (a3), (a4), (a5))
 
-extern void ipc_irq_send_msg(irq_t *, unative_t, unative_t, unative_t, unative_t,
-    unative_t);
+extern void ipc_irq_send_msg(irq_t *, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t);
 
 #endif
Index: kernel/generic/include/ipc/sysipc.h
===================================================================
--- kernel/generic/include/ipc/sysipc.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/ipc/sysipc.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -40,26 +40,26 @@
 #include <typedefs.h>
 
-extern unative_t sys_ipc_call_sync_fast(unative_t phoneid, unative_t method, 
-    unative_t arg1, unative_t arg2, unative_t arg3, ipc_data_t *data);
-extern unative_t sys_ipc_call_sync_slow(unative_t phoneid, ipc_data_t *question,
+extern sysarg_t sys_ipc_call_sync_fast(sysarg_t phoneid, sysarg_t method, 
+    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_data_t *data);
+extern sysarg_t sys_ipc_call_sync_slow(sysarg_t phoneid, ipc_data_t *question,
     ipc_data_t *reply);
-extern unative_t sys_ipc_call_async_fast(unative_t phoneid, unative_t method, 
-    unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4);
-extern unative_t sys_ipc_call_async_slow(unative_t phoneid, ipc_data_t *data);
-extern unative_t sys_ipc_answer_fast(unative_t callid, unative_t retval, 
-    unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4);
-extern unative_t sys_ipc_answer_slow(unative_t callid, ipc_data_t *data);
-extern unative_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec,
+extern sysarg_t sys_ipc_call_async_fast(sysarg_t phoneid, sysarg_t method, 
+    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4);
+extern sysarg_t sys_ipc_call_async_slow(sysarg_t phoneid, ipc_data_t *data);
+extern sysarg_t sys_ipc_answer_fast(sysarg_t callid, sysarg_t retval, 
+    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4);
+extern sysarg_t sys_ipc_answer_slow(sysarg_t callid, ipc_data_t *data);
+extern sysarg_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec,
     unsigned int nonblocking);
-extern unative_t sys_ipc_poke(void);
-extern unative_t sys_ipc_forward_fast(unative_t callid, unative_t phoneid,
-    unative_t method, unative_t arg1, unative_t arg2, unsigned int mode);
-extern unative_t sys_ipc_forward_slow(unative_t callid, unative_t phoneid,
+extern sysarg_t sys_ipc_poke(void);
+extern sysarg_t sys_ipc_forward_fast(sysarg_t callid, sysarg_t phoneid,
+    sysarg_t method, sysarg_t arg1, sysarg_t arg2, unsigned int mode);
+extern sysarg_t sys_ipc_forward_slow(sysarg_t callid, sysarg_t phoneid,
     ipc_data_t *data, unsigned int mode);
-extern unative_t sys_ipc_hangup(unative_t phoneid);
-extern unative_t sys_ipc_register_irq(inr_t inr, devno_t devno, unative_t method,
+extern sysarg_t sys_ipc_hangup(sysarg_t phoneid);
+extern sysarg_t sys_ipc_register_irq(inr_t inr, devno_t devno, sysarg_t method,
     irq_code_t *ucode);
-extern unative_t sys_ipc_unregister_irq(inr_t inr, devno_t devno);
-extern unative_t sys_ipc_connect_kbox(sysarg64_t *task_id);
+extern sysarg_t sys_ipc_unregister_irq(inr_t inr, devno_t devno);
+extern sysarg_t sys_ipc_connect_kbox(sysarg64_t *task_id);
 
 #endif
Index: kernel/generic/include/mm/as.h
===================================================================
--- kernel/generic/include/mm/as.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/mm/as.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -303,8 +303,8 @@
 
 /* Address space area related syscalls. */
-extern unative_t sys_as_area_create(uintptr_t, size_t, unsigned int);
-extern unative_t sys_as_area_resize(uintptr_t, size_t, unsigned int);
-extern unative_t sys_as_area_change_flags(uintptr_t, unsigned int);
-extern unative_t sys_as_area_destroy(uintptr_t);
+extern sysarg_t sys_as_area_create(uintptr_t, size_t, unsigned int);
+extern sysarg_t sys_as_area_resize(uintptr_t, size_t, unsigned int);
+extern sysarg_t sys_as_area_change_flags(uintptr_t, unsigned int);
+extern sysarg_t sys_as_area_destroy(uintptr_t);
 
 /* Introspection functions. */
Index: kernel/generic/include/mm/frame.h
===================================================================
--- kernel/generic/include/mm/frame.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/mm/frame.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -144,5 +144,5 @@
 
 #define IS_BUDDY_ORDER_OK(index, order) \
-    ((~(((unative_t) -1) << (order)) & (index)) == 0)
+    ((~(((sysarg_t) -1) << (order)) & (index)) == 0)
 #define IS_BUDDY_LEFT_BLOCK(zone, frame) \
     (((frame_index((zone), (frame)) >> (frame)->buddy_order) & 0x01) == 0)
Index: kernel/generic/include/proc/program.h
===================================================================
--- kernel/generic/include/proc/program.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/proc/program.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -59,5 +59,5 @@
 extern void program_ready(program_t *);
 
-extern unative_t sys_program_spawn_loader(char *, size_t);
+extern sysarg_t sys_program_spawn_loader(char *, size_t);
 
 #endif
Index: kernel/generic/include/proc/task.h
===================================================================
--- kernel/generic/include/proc/task.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/proc/task.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -145,6 +145,6 @@
 #endif
 
-extern unative_t sys_task_get_id(task_id_t *);
-extern unative_t sys_task_set_name(const char *, size_t);
+extern sysarg_t sys_task_get_id(task_id_t *);
+extern sysarg_t sys_task_set_name(const char *, size_t);
 
 #endif
Index: kernel/generic/include/proc/thread.h
===================================================================
--- kernel/generic/include/proc/thread.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/proc/thread.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -241,9 +241,9 @@
 
 /* Thread syscall prototypes. */
-extern unative_t sys_thread_create(uspace_arg_t *, char *, size_t,
+extern sysarg_t sys_thread_create(uspace_arg_t *, char *, size_t,
     thread_id_t *);
-extern unative_t sys_thread_exit(int);
-extern unative_t sys_thread_get_id(thread_id_t *);
-extern unative_t sys_thread_usleep(uint32_t);
+extern sysarg_t sys_thread_exit(int);
+extern sysarg_t sys_thread_get_id(thread_id_t *);
+extern sysarg_t sys_thread_usleep(uint32_t);
 
 #endif
Index: kernel/generic/include/security/cap.h
===================================================================
--- kernel/generic/include/security/cap.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/security/cap.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -76,6 +76,6 @@
 typedef uint32_t cap_t;
 
-extern unative_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps);
-extern unative_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps);
+extern sysarg_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps);
+extern sysarg_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps);
 
 #endif
Index: kernel/generic/include/synch/futex.h
===================================================================
--- kernel/generic/include/synch/futex.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/synch/futex.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -52,6 +52,6 @@
 
 extern void futex_init(void);
-extern unative_t sys_futex_sleep(uintptr_t);
-extern unative_t sys_futex_wakeup(uintptr_t);
+extern sysarg_t sys_futex_sleep(uintptr_t);
+extern sysarg_t sys_futex_wakeup(uintptr_t);
 
 extern void futex_cleanup(void);
Index: kernel/generic/include/synch/smc.h
===================================================================
--- kernel/generic/include/synch/smc.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/synch/smc.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -36,5 +36,5 @@
 #define KERN_SMC_H_
 
-extern unative_t sys_smc_coherence(uintptr_t va, size_t size);
+extern sysarg_t sys_smc_coherence(uintptr_t va, size_t size);
 
 #endif
Index: kernel/generic/include/syscall/syscall.h
===================================================================
--- kernel/generic/include/syscall/syscall.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/syscall/syscall.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -98,11 +98,11 @@
 #include <typedefs.h>
 
-typedef unative_t (*syshandler_t)(unative_t, unative_t, unative_t, unative_t,
-    unative_t, unative_t);
+typedef sysarg_t (*syshandler_t)(sysarg_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t);
 
 extern syshandler_t syscall_table[SYSCALL_END];
-extern unative_t syscall_handler(unative_t, unative_t, unative_t, unative_t,
-    unative_t, unative_t, unative_t);
-extern unative_t sys_tls_set(unative_t);
+extern sysarg_t syscall_handler(sysarg_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t, sysarg_t);
+extern sysarg_t sys_tls_set(sysarg_t);
 
 #endif
Index: kernel/generic/include/sysinfo/sysinfo.h
===================================================================
--- kernel/generic/include/sysinfo/sysinfo.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/sysinfo/sysinfo.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -65,5 +65,5 @@
 
 /** Gerated numeric value function */
-typedef unative_t (*sysinfo_fn_val_t)(struct sysinfo_item *);
+typedef sysarg_t (*sysinfo_fn_val_t)(struct sysinfo_item *);
 
 /** Generated binary data function */
@@ -82,5 +82,5 @@
  */
 typedef union {
-	unative_t val;              /**< Constant numberic value */
+	sysarg_t val;               /**< Constant numberic value */
 	sysinfo_fn_val_t fn_val;    /**< Generated numeric value function */
 	sysinfo_fn_data_t fn_data;  /**< Generated binary data function */
@@ -99,5 +99,5 @@
 	sysinfo_item_val_type_t tag;  /**< Return value type */
 	union {
-		unative_t val;            /**< Numberic value */
+		sysarg_t val;             /**< Numberic value */
 		sysinfo_data_t data;      /**< Binary data */
 	};
@@ -130,5 +130,5 @@
 } sysinfo_item_t;
 
-extern void sysinfo_set_item_val(const char *, sysinfo_item_t **, unative_t);
+extern void sysinfo_set_item_val(const char *, sysinfo_item_t **, sysarg_t);
 extern void sysinfo_set_item_data(const char *, sysinfo_item_t **, void *,
     size_t);
@@ -145,8 +145,8 @@
 extern void sysinfo_dump(sysinfo_item_t *);
 
-extern unative_t sys_sysinfo_get_tag(void *, size_t);
-extern unative_t sys_sysinfo_get_value(void *, size_t, void *);
-extern unative_t sys_sysinfo_get_data_size(void *, size_t, void *);
-extern unative_t sys_sysinfo_get_data(void *, size_t, void *, size_t);
+extern sysarg_t sys_sysinfo_get_tag(void *, size_t);
+extern sysarg_t sys_sysinfo_get_value(void *, size_t, void *);
+extern sysarg_t sys_sysinfo_get_data_size(void *, size_t, void *);
+extern sysarg_t sys_sysinfo_get_data(void *, size_t, void *, size_t);
 
 #endif
Index: kernel/generic/include/time/clock.h
===================================================================
--- kernel/generic/include/time/clock.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/time/clock.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -42,7 +42,7 @@
 /** Uptime structure */
 typedef struct {
-	unative_t seconds1;
-	unative_t useconds;
-	unative_t seconds2;
+	sysarg_t seconds1;
+	sysarg_t useconds;
+	sysarg_t seconds2;
 } uptime_t;
 
Index: kernel/generic/include/udebug/udebug.h
===================================================================
--- kernel/generic/include/udebug/udebug.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/udebug/udebug.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -212,5 +212,5 @@
 	waitq_t go_wq;
 	call_t *go_call;
-	unative_t syscall_args[6];
+	sysarg_t syscall_args[6];
 	istate_t *uspace_state;
 
@@ -229,6 +229,6 @@
 void udebug_thread_initialize(udebug_thread_t *ut);
 
-void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3,
-    unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc,
+void udebug_syscall_event(sysarg_t a1, sysarg_t a2, sysarg_t a3,
+    sysarg_t a4, sysarg_t a5, sysarg_t a6, sysarg_t id, sysarg_t rc,
     bool end_variant);
 
Index: kernel/generic/include/udebug/udebug_ops.h
===================================================================
--- kernel/generic/include/udebug/udebug_ops.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/include/udebug/udebug_ops.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -52,5 +52,5 @@
 int udebug_regs_read(thread_t *t, void **buffer);
 
-int udebug_mem_read(unative_t uspace_addr, size_t n, void **buffer);
+int udebug_mem_read(sysarg_t uspace_addr, size_t n, void **buffer);
 
 #endif
Index: kernel/generic/src/adt/hash_table.c
===================================================================
--- kernel/generic/src/adt/hash_table.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/adt/hash_table.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -82,5 +82,5 @@
  * @param item Item to be inserted into the hash table.
  */
-void hash_table_insert(hash_table_t *h, unative_t key[], link_t *item)
+void hash_table_insert(hash_table_t *h, sysarg_t key[], link_t *item)
 {
 	size_t chain;
@@ -105,5 +105,5 @@
  * @return Matching item on success, NULL if there is no such item.
  */
-link_t *hash_table_find(hash_table_t *h, unative_t key[])
+link_t *hash_table_find(hash_table_t *h, sysarg_t key[])
 {
 	link_t *cur;
@@ -138,5 +138,5 @@
  * @param keys Number of keys in the key array.
  */
-void hash_table_remove(hash_table_t *h, unative_t key[], size_t keys)
+void hash_table_remove(hash_table_t *h, sysarg_t key[], size_t keys)
 {
 	size_t chain;
Index: kernel/generic/src/console/cmd.c
===================================================================
--- kernel/generic/src/console/cmd.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/console/cmd.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -601,5 +601,5 @@
 	
 	/* This doesn't have to be very accurate */
-	unative_t sec = uptime->seconds1;
+	sysarg_t sec = uptime->seconds1;
 	
 	printf("Up %" PRIun " days, %" PRIun " hours, %" PRIun " minutes, %" PRIun " seconds\n",
@@ -656,5 +656,5 @@
 	uintptr_t symaddr;
 	char *symbol;
-	unative_t (*fnc)(void);
+	sysarg_t (*fnc)(void);
 	fncptr_t fptr;
 	int rc;
@@ -672,5 +672,5 @@
 
 		ipl = interrupts_disable();
-		fnc = (unative_t (*)(void)) arch_construct_function(&fptr,
+		fnc = (sysarg_t (*)(void)) arch_construct_function(&fptr,
 		    (void *) symaddr, (void *) cmd_call0);
 		printf("Calling %s() (%p)\n", symbol, (void *) symaddr);
@@ -720,6 +720,6 @@
 	uintptr_t symaddr;
 	char *symbol;
-	unative_t (*fnc)(unative_t, ...);
-	unative_t arg1 = argv[1].intval;
+	sysarg_t (*fnc)(sysarg_t, ...);
+	sysarg_t arg1 = argv[1].intval;
 	fncptr_t fptr;
 	int rc;
@@ -737,5 +737,5 @@
 
 		ipl = interrupts_disable();
-		fnc = (unative_t (*)(unative_t, ...))
+		fnc = (sysarg_t (*)(sysarg_t, ...))
 		    arch_construct_function(&fptr, (void *) symaddr,
 		    (void *) cmd_call1);
@@ -756,7 +756,7 @@
 	uintptr_t symaddr;
 	char *symbol;
-	unative_t (*fnc)(unative_t, unative_t, ...);
-	unative_t arg1 = argv[1].intval;
-	unative_t arg2 = argv[2].intval;
+	sysarg_t (*fnc)(sysarg_t, sysarg_t, ...);
+	sysarg_t arg1 = argv[1].intval;
+	sysarg_t arg2 = argv[2].intval;
 	fncptr_t fptr;
 	int rc;
@@ -774,5 +774,5 @@
 
 		ipl = interrupts_disable();
-		fnc = (unative_t (*)(unative_t, unative_t, ...))
+		fnc = (sysarg_t (*)(sysarg_t, sysarg_t, ...))
 		    arch_construct_function(&fptr, (void *) symaddr,
 		    (void *) cmd_call2);
@@ -792,8 +792,8 @@
 	uintptr_t symaddr;
 	char *symbol;
-	unative_t (*fnc)(unative_t, unative_t, unative_t, ...);
-	unative_t arg1 = argv[1].intval;
-	unative_t arg2 = argv[2].intval;
-	unative_t arg3 = argv[3].intval;
+	sysarg_t (*fnc)(sysarg_t, sysarg_t, sysarg_t, ...);
+	sysarg_t arg1 = argv[1].intval;
+	sysarg_t arg2 = argv[2].intval;
+	sysarg_t arg3 = argv[3].intval;
 	fncptr_t fptr;
 	int rc;
@@ -811,5 +811,5 @@
 
 		ipl = interrupts_disable();
-		fnc = (unative_t (*)(unative_t, unative_t, unative_t, ...))
+		fnc = (sysarg_t (*)(sysarg_t, sysarg_t, sysarg_t, ...))
 		    arch_construct_function(&fptr, (void *) symaddr,
 		    (void *) cmd_call3);
Index: kernel/generic/src/console/console.c
===================================================================
--- kernel/generic/src/console/console.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/console/console.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -162,5 +162,5 @@
 	ddi_parea_register(&klog_parea);
 	
-	sysinfo_set_item_val("klog.faddr", NULL, (unative_t) faddr);
+	sysinfo_set_item_val("klog.faddr", NULL, (sysarg_t) faddr);
 	sysinfo_set_item_val("klog.pages", NULL, KLOG_PAGES);
 	
@@ -193,5 +193,5 @@
 
 /** Tell kernel to get keyboard/console access again */
-unative_t sys_debug_enable_console(void)
+sysarg_t sys_debug_enable_console(void)
 {
 #ifdef CONFIG_KCONSOLE
@@ -204,5 +204,5 @@
 
 /** Tell kernel to relinquish keyboard/console access */
-unative_t sys_debug_disable_console(void)
+sysarg_t sys_debug_disable_console(void)
 {
 	release_console();
@@ -333,5 +333,5 @@
  *
  */
-unative_t sys_klog(int fd, const void *buf, size_t size)
+sysarg_t sys_klog(int fd, const void *buf, size_t size)
 {
 	char *data;
@@ -339,15 +339,15 @@
 	
 	if (size > PAGE_SIZE)
-		return (unative_t) ELIMIT;
+		return (sysarg_t) ELIMIT;
 	
 	if (size > 0) {
 		data = (char *) malloc(size + 1, 0);
 		if (!data)
-			return (unative_t) ENOMEM;
+			return (sysarg_t) ENOMEM;
 		
 		rc = copy_from_uspace(data, buf, size);
 		if (rc) {
 			free(data);
-			return (unative_t) rc;
+			return (sysarg_t) rc;
 		}
 		data[size] = 0;
Index: kernel/generic/src/console/kconsole.c
===================================================================
--- kernel/generic/src/console/kconsole.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/console/kconsole.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -426,5 +426,5 @@
 
 NO_TRACE static bool parse_int_arg(const char *text, size_t len,
-    unative_t *result)
+    sysarg_t *result)
 {
 	bool isaddr = false;
@@ -461,9 +461,9 @@
 		case EOK:
 			if (isaddr)
-				*result = (unative_t) symaddr;
+				*result = (sysarg_t) symaddr;
 			else if (isptr)
-				*result = **((unative_t **) symaddr);
+				*result = **((sysarg_t **) symaddr);
 			else
-				*result = *((unative_t *) symaddr);
+				*result = *((sysarg_t *) symaddr);
 			break;
 		default:
@@ -483,7 +483,7 @@
 			return false;
 		case EOK:
-			*result = (unative_t) value;
+			*result = (sysarg_t) value;
 			if (isptr)
-				*result = *((unative_t *) *result);
+				*result = *((sysarg_t *) *result);
 			break;
 		default:
@@ -629,5 +629,5 @@
 					    cmdline + start + 1,
 					    (end - start) - 1);
-					cmd->argv[i].intval = (unative_t) buf;
+					cmd->argv[i].intval = (sysarg_t) buf;
 					cmd->argv[i].vartype = ARG_TYPE_STRING;
 				} else {
Index: kernel/generic/src/ddi/ddi.c
===================================================================
--- kernel/generic/src/ddi/ddi.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ddi/ddi.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -232,8 +232,8 @@
  *
  */
-unative_t sys_physmem_map(unative_t phys_base, unative_t virt_base,
-    unative_t pages, unative_t flags)
-{
-	return (unative_t) ddi_physmem_map(ALIGN_DOWN((uintptr_t) phys_base,
+sysarg_t sys_physmem_map(sysarg_t phys_base, sysarg_t virt_base,
+    sysarg_t pages, sysarg_t flags)
+{
+	return (sysarg_t) ddi_physmem_map(ALIGN_DOWN((uintptr_t) phys_base,
 	    FRAME_SIZE), ALIGN_DOWN((uintptr_t) virt_base, PAGE_SIZE),
 	    (size_t) pages, (int) flags);
@@ -247,12 +247,12 @@
  *
  */
-unative_t sys_iospace_enable(ddi_ioarg_t *uspace_io_arg)
+sysarg_t sys_iospace_enable(ddi_ioarg_t *uspace_io_arg)
 {
 	ddi_ioarg_t arg;
 	int rc = copy_from_uspace(&arg, uspace_io_arg, sizeof(ddi_ioarg_t));
 	if (rc != 0)
-		return (unative_t) rc;
-	
-	return (unative_t) ddi_iospace_enable((task_id_t) arg.task_id,
+		return (sysarg_t) rc;
+	
+	return (sysarg_t) ddi_iospace_enable((task_id_t) arg.task_id,
 	    (uintptr_t) arg.ioaddr, (size_t) arg.size);
 }
@@ -265,5 +265,5 @@
  * @retutn Zero on success, error code otherwise.
  */
-unative_t sys_interrupt_enable(int irq, int enable)
+sysarg_t sys_interrupt_enable(int irq, int enable)
 {
 /* FIXME: this needs to be generic code, or better not be in kernel at all. */
Index: kernel/generic/src/ddi/device.c
===================================================================
--- kernel/generic/src/ddi/device.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ddi/device.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -54,7 +54,7 @@
 }
 
-unative_t sys_device_assign_devno(void)
+sysarg_t sys_device_assign_devno(void)
 {
-	return (unative_t) device_assign_devno();
+	return (sysarg_t) device_assign_devno();
 }
 
Index: kernel/generic/src/ddi/irq.c
===================================================================
--- kernel/generic/src/ddi/irq.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ddi/irq.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -106,6 +106,6 @@
  *
  */
-static size_t irq_ht_hash(unative_t *key);
-static bool irq_ht_compare(unative_t *key, size_t keys, link_t *item);
+static size_t irq_ht_hash(sysarg_t *key);
+static bool irq_ht_compare(sysarg_t *key, size_t keys, link_t *item);
 static void irq_ht_remove(link_t *item);
 
@@ -123,6 +123,6 @@
  *
  */
-static size_t irq_lin_hash(unative_t *key);
-static bool irq_lin_compare(unative_t *key, size_t keys, link_t *item);
+static size_t irq_lin_hash(sysarg_t *key);
+static bool irq_lin_compare(sysarg_t *key, size_t keys, link_t *item);
 static void irq_lin_remove(link_t *item);
 
@@ -194,7 +194,7 @@
 void irq_register(irq_t *irq)
 {
-	unative_t key[] = {
-		(unative_t) irq->inr,
-		(unative_t) irq->devno
+	sysarg_t key[] = {
+		(sysarg_t) irq->inr,
+		(sysarg_t) irq->devno
 	};
 	
@@ -212,7 +212,7 @@
 {
 	link_t *lnk;
-	unative_t key[] = {
-		(unative_t) inr,
-		(unative_t) -1    /* Search will use claim() instead of devno */
+	sysarg_t key[] = {
+		(sysarg_t) inr,
+		(sysarg_t) -1    /* Search will use claim() instead of devno */
 	};
 	
@@ -235,7 +235,7 @@
 {
 	link_t *lnk;
-	unative_t key[] = {
-		(unative_t) inr,
-		(unative_t) -1    /* Search will use claim() instead of devno */
+	sysarg_t key[] = {
+		(sysarg_t) inr,
+		(sysarg_t) -1    /* Search will use claim() instead of devno */
 	};
 	
@@ -306,5 +306,5 @@
  *
  */
-size_t irq_ht_hash(unative_t key[])
+size_t irq_ht_hash(sysarg_t key[])
 {
 	inr_t inr = (inr_t) key[KEY_INR];
@@ -333,5 +333,5 @@
  *
  */
-bool irq_ht_compare(unative_t key[], size_t keys, link_t *item)
+bool irq_ht_compare(sysarg_t key[], size_t keys, link_t *item)
 {
 	irq_t *irq = hash_table_get_instance(item, irq_t, link);
@@ -381,5 +381,5 @@
  *
  */
-size_t irq_lin_hash(unative_t key[])
+size_t irq_lin_hash(sysarg_t key[])
 {
 	inr_t inr = (inr_t) key[KEY_INR];
@@ -408,5 +408,5 @@
  *
  */
-bool irq_lin_compare(unative_t key[], size_t keys, link_t *item)
+bool irq_lin_compare(sysarg_t key[], size_t keys, link_t *item)
 {
 	irq_t *irq = list_get_instance(item, irq_t, link);
Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/interrupt/interrupt.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -197,5 +197,5 @@
 		/* Notify the subscriber that a fault occurred. */
 		event_notify_3(EVENT_FAULT, LOWER32(TASK->taskid),
-		    UPPER32(TASK->taskid), (unative_t) THREAD);
+		    UPPER32(TASK->taskid), (sysarg_t) THREAD);
 		
 #ifdef CONFIG_UDEBUG
@@ -263,5 +263,5 @@
 		
 		const char *symbol =
-		    symtab_fmt_name_lookup((unative_t) exc_table[i].handler);
+		    symtab_fmt_name_lookup((sysarg_t) exc_table[i].handler);
 		
 #ifdef __32_BITS__
Index: kernel/generic/src/ipc/event.c
===================================================================
--- kernel/generic/src/ipc/event.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ipc/event.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -61,5 +61,5 @@
 }
 
-static int event_subscribe(event_type_t evno, unative_t method,
+static int event_subscribe(event_type_t evno, sysarg_t method,
     answerbox_t *answerbox)
 {
@@ -84,7 +84,7 @@
 }
 
-unative_t sys_event_subscribe(unative_t evno, unative_t method)
+sysarg_t sys_event_subscribe(sysarg_t evno, sysarg_t method)
 {
-	return (unative_t) event_subscribe((event_type_t) evno, (unative_t)
+	return (sysarg_t) event_subscribe((event_type_t) evno, (sysarg_t)
 	    method, &TASK->answerbox);
 }
@@ -119,6 +119,6 @@
 }
 
-void event_notify(event_type_t evno, unative_t a1, unative_t a2, unative_t a3,
-    unative_t a4, unative_t a5)
+void event_notify(event_type_t evno, sysarg_t a1, sysarg_t a2, sysarg_t a3,
+    sysarg_t a4, sysarg_t a5)
 {
 	ASSERT(evno < EVENT_END);
Index: kernel/generic/src/ipc/ipc.c
===================================================================
--- kernel/generic/src/ipc/ipc.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ipc/ipc.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -270,5 +270,5 @@
  *
  */
-void ipc_backsend_err(phone_t *phone, call_t *call, unative_t err)
+void ipc_backsend_err(phone_t *phone, call_t *call, sysarg_t err)
 {
 	call->data.phone = phone;
Index: kernel/generic/src/ipc/ipcrsc.c
===================================================================
--- kernel/generic/src/ipc/ipcrsc.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ipc/ipcrsc.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -144,5 +144,5 @@
  *
  */
-call_t *get_call(unative_t callid)
+call_t *get_call(sysarg_t callid)
 {
 	link_t *lst;
@@ -153,5 +153,5 @@
 	    lst != &TASK->answerbox.dispatched_calls; lst = lst->next) {
 		call_t *call = list_get_instance(lst, call_t, link);
-		if ((unative_t) call == callid) {
+		if ((sysarg_t) call == callid) {
 			result = call;
 			break;
Index: kernel/generic/src/ipc/irq.c
===================================================================
--- kernel/generic/src/ipc/irq.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ipc/irq.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -140,9 +140,9 @@
  */
 int ipc_irq_register(answerbox_t *box, inr_t inr, devno_t devno,
-    unative_t method, irq_code_t *ucode)
-{
-	unative_t key[] = {
-		(unative_t) inr,
-		(unative_t) devno
+    sysarg_t method, irq_code_t *ucode)
+{
+	sysarg_t key[] = {
+		(sysarg_t) inr,
+		(sysarg_t) devno
 	};
 	
@@ -213,7 +213,7 @@
 int ipc_irq_unregister(answerbox_t *box, inr_t inr, devno_t devno)
 {
-	unative_t key[] = {
-		(unative_t) inr,
-		(unative_t) devno
+	sysarg_t key[] = {
+		(sysarg_t) inr,
+		(sysarg_t) devno
 	};
 	
@@ -290,5 +290,5 @@
 		}
 		
-		unative_t key[2];
+		sysarg_t key[2];
 		key[0] = irq->inr;
 		key[1] = irq->devno;
@@ -465,6 +465,6 @@
  *
  */
-void ipc_irq_send_msg(irq_t *irq, unative_t a1, unative_t a2, unative_t a3,
-    unative_t a4, unative_t a5)
+void ipc_irq_send_msg(irq_t *irq, sysarg_t a1, sysarg_t a2, sysarg_t a3,
+    sysarg_t a4, sysarg_t a5)
 {
 	irq_spinlock_lock(&irq->lock, true);
Index: kernel/generic/src/ipc/sysipc.c
===================================================================
--- kernel/generic/src/ipc/sysipc.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/ipc/sysipc.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -68,5 +68,5 @@
  *
  */
-static int phone_get(unative_t phoneid, phone_t **phone)
+static int phone_get(sysarg_t phoneid, phone_t **phone)
 {
 	if (phoneid >= IPC_MAX_PHONES)
@@ -84,5 +84,5 @@
  *
  */
-static inline bool method_is_system(unative_t method)
+static inline bool method_is_system(sysarg_t method)
 {
 	if (method <= IPC_M_LAST_SYSTEM)
@@ -102,5 +102,5 @@
  *
  */
-static inline bool method_is_forwardable(unative_t method)
+static inline bool method_is_forwardable(sysarg_t method)
 {
 	switch (method) {
@@ -124,5 +124,5 @@
  *
  */
-static inline bool method_is_immutable(unative_t method)
+static inline bool method_is_immutable(sysarg_t method)
 {
 	switch (method) {
@@ -248,5 +248,5 @@
 			/* Set 'phone hash' as arg5 of response */
 			IPC_SET_ARG5(answer->data,
-			    (unative_t) &TASK->phones[phoneid]);
+			    (sysarg_t) &TASK->phones[phoneid]);
 		}
 	} else if (IPC_GET_METHOD(*olddata) == IPC_M_CONNECT_ME_TO) {
@@ -399,5 +399,5 @@
 	}
 	case IPC_M_CONNECT_ME:
-		IPC_SET_ARG5(call->data, (unative_t) phone);
+		IPC_SET_ARG5(call->data, (sysarg_t) phone);
 		break;
 	case IPC_M_CONNECT_ME_TO: {
@@ -407,5 +407,5 @@
 		
 		/* Set arg5 for server */
-		IPC_SET_ARG5(call->data, (unative_t) &TASK->phones[newphid]);
+		IPC_SET_ARG5(call->data, (sysarg_t) &TASK->phones[newphid]);
 		call->flags |= IPC_CALL_CONN_ME_TO;
 		call->priv = newphid;
@@ -541,6 +541,6 @@
  *
  */
-unative_t sys_ipc_call_sync_fast(unative_t phoneid, unative_t method,
-    unative_t arg1, unative_t arg2, unative_t arg3, ipc_data_t *data)
+sysarg_t sys_ipc_call_sync_fast(sysarg_t phoneid, sysarg_t method,
+    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_data_t *data)
 {
 	phone_t *phone;
@@ -601,5 +601,5 @@
  *
  */
-unative_t sys_ipc_call_sync_slow(unative_t phoneid, ipc_data_t *question,
+sysarg_t sys_ipc_call_sync_slow(sysarg_t phoneid, ipc_data_t *question,
     ipc_data_t *reply)
 {
@@ -613,5 +613,5 @@
 	if (rc != 0) {
 		ipc_call_free(call);
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	}
 	
@@ -677,6 +677,6 @@
  *
  */
-unative_t sys_ipc_call_async_fast(unative_t phoneid, unative_t method,
-    unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4)
+sysarg_t sys_ipc_call_async_fast(sysarg_t phoneid, sysarg_t method,
+    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
 {
 	phone_t *phone;
@@ -707,5 +707,5 @@
 		ipc_backsend_err(phone, call, res);
 	
-	return (unative_t) call;
+	return (sysarg_t) call;
 }
 
@@ -718,5 +718,5 @@
  *
  */
-unative_t sys_ipc_call_async_slow(unative_t phoneid, ipc_data_t *data)
+sysarg_t sys_ipc_call_async_slow(sysarg_t phoneid, ipc_data_t *data)
 {
 	phone_t *phone;
@@ -732,5 +732,5 @@
 	if (rc != 0) {
 		ipc_call_free(call);
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	}
 	
@@ -742,5 +742,5 @@
 		ipc_backsend_err(phone, call, res);
 	
-	return (unative_t) call;
+	return (sysarg_t) call;
 }
 
@@ -767,7 +767,7 @@
  *
  */
-static unative_t sys_ipc_forward_common(unative_t callid, unative_t phoneid,
-    unative_t method, unative_t arg1, unative_t arg2, unative_t arg3,
-    unative_t arg4, unative_t arg5, unsigned int mode, bool slow)
+static sysarg_t sys_ipc_forward_common(sysarg_t callid, sysarg_t phoneid,
+    sysarg_t method, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3,
+    sysarg_t arg4, sysarg_t arg5, unsigned int mode, bool slow)
 {
 	call_t *call = get_call(callid);
@@ -846,6 +846,6 @@
  *
  */
-unative_t sys_ipc_forward_fast(unative_t callid, unative_t phoneid,
-    unative_t method, unative_t arg1, unative_t arg2, unsigned int mode)
+sysarg_t sys_ipc_forward_fast(sysarg_t callid, sysarg_t phoneid,
+    sysarg_t method, sysarg_t arg1, sysarg_t arg2, unsigned int mode)
 {
 	return sys_ipc_forward_common(callid, phoneid, method, arg1, arg2, 0, 0,
@@ -870,5 +870,5 @@
  *
  */
-unative_t sys_ipc_forward_slow(unative_t callid, unative_t phoneid,
+sysarg_t sys_ipc_forward_slow(sysarg_t callid, sysarg_t phoneid,
     ipc_data_t *data, unsigned int mode)
 {
@@ -877,5 +877,5 @@
 	    sizeof(newdata.args));
 	if (rc != 0)
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	
 	return sys_ipc_forward_common(callid, phoneid,
@@ -900,6 +900,6 @@
  *
  */
-unative_t sys_ipc_answer_fast(unative_t callid, unative_t retval,
-    unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4)
+sysarg_t sys_ipc_answer_fast(sysarg_t callid, sysarg_t retval,
+    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
 {
 	/* Do not answer notification callids */
@@ -945,5 +945,5 @@
  *
  */
-unative_t sys_ipc_answer_slow(unative_t callid, ipc_data_t *data)
+sysarg_t sys_ipc_answer_slow(sysarg_t callid, ipc_data_t *data)
 {
 	/* Do not answer notification callids */
@@ -982,5 +982,5 @@
  *
  */
-unative_t sys_ipc_hangup(unative_t phoneid)
+sysarg_t sys_ipc_hangup(sysarg_t phoneid)
 {
 	phone_t *phone;
@@ -1008,5 +1008,5 @@
  *
  */
-unative_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec,
+sysarg_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec,
     unsigned int flags)
 {
@@ -1037,5 +1037,5 @@
 		ipc_call_free(call);
 		
-		return ((unative_t) call) | IPC_CALLID_NOTIFICATION;
+		return ((sysarg_t) call) | IPC_CALLID_NOTIFICATION;
 	}
 	
@@ -1051,5 +1051,5 @@
 		ipc_call_free(call);
 		
-		return ((unative_t) call) | IPC_CALLID_ANSWERED;
+		return ((sysarg_t) call) | IPC_CALLID_ANSWERED;
 	}
 	
@@ -1079,5 +1079,5 @@
 	}
 	
-	return (unative_t) call;
+	return (sysarg_t) call;
 }
 
@@ -1085,5 +1085,5 @@
  *
  */
-unative_t sys_ipc_poke(void)
+sysarg_t sys_ipc_poke(void)
 {
 	waitq_unsleep(&TASK->answerbox.wq);
@@ -1101,5 +1101,5 @@
  *
  */
-unative_t sys_ipc_register_irq(inr_t inr, devno_t devno, unative_t method,
+sysarg_t sys_ipc_register_irq(inr_t inr, devno_t devno, sysarg_t method,
     irq_code_t *ucode)
 {
@@ -1118,5 +1118,5 @@
  *
  */
-unative_t sys_ipc_unregister_irq(inr_t inr, devno_t devno)
+sysarg_t sys_ipc_unregister_irq(inr_t inr, devno_t devno)
 {
 	if (!(cap_get(TASK) & CAP_IRQ_REG))
@@ -1135,5 +1135,5 @@
  *
  */
-unative_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid_arg)
+sysarg_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid_arg)
 {
 #ifdef CONFIG_UDEBUG
@@ -1141,5 +1141,5 @@
 	int rc = copy_from_uspace(&taskid_arg, uspace_taskid_arg, sizeof(sysarg64_t));
 	if (rc != 0)
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	
 	LOG("sys_ipc_connect_kbox(%" PRIu64 ")", taskid_arg.value);
@@ -1147,5 +1147,5 @@
 	return ipc_connect_kbox(taskid_arg.value);
 #else
-	return (unative_t) ENOTSUP;
+	return (sysarg_t) ENOTSUP;
 #endif
 }
Index: kernel/generic/src/lib/memstr.c
===================================================================
--- kernel/generic/src/lib/memstr.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/lib/memstr.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -62,15 +62,15 @@
 	unsigned int i, j;
 	
-	if (ALIGN_UP((uintptr_t) src, sizeof(unative_t)) != (uintptr_t) src ||
-	    ALIGN_UP((uintptr_t) dst, sizeof(unative_t)) != (uintptr_t) dst) {
+	if (ALIGN_UP((uintptr_t) src, sizeof(sysarg_t)) != (uintptr_t) src ||
+	    ALIGN_UP((uintptr_t) dst, sizeof(sysarg_t)) != (uintptr_t) dst) {
 		for (i = 0; i < cnt; i++)
 			((uint8_t *) dst)[i] = ((uint8_t *) src)[i];
 	} else { 
-		for (i = 0; i < cnt / sizeof(unative_t); i++)
-			((unative_t *) dst)[i] = ((unative_t *) src)[i];
+		for (i = 0; i < cnt / sizeof(sysarg_t); i++)
+			((sysarg_t *) dst)[i] = ((sysarg_t *) src)[i];
 		
-		for (j = 0; j < cnt % sizeof(unative_t); j++)
-			((uint8_t *)(((unative_t *) dst) + i))[j] =
-			    ((uint8_t *)(((unative_t *) src) + i))[j];
+		for (j = 0; j < cnt % sizeof(sysarg_t); j++)
+			((uint8_t *)(((sysarg_t *) dst) + i))[j] =
+			    ((uint8_t *)(((sysarg_t *) src) + i))[j];
 	}
 		
Index: kernel/generic/src/lib/rd.c
===================================================================
--- kernel/generic/src/lib/rd.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/lib/rd.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -96,5 +96,5 @@
 	sysinfo_set_item_val("rd.size", NULL, dsize);
 	sysinfo_set_item_val("rd.address.physical", NULL,
-	    (unative_t)	KA2PA((void *) header + hsize));
+	    (sysarg_t) KA2PA((void *) header + hsize));
 
 	return RE_OK;
Index: kernel/generic/src/mm/as.c
===================================================================
--- kernel/generic/src/mm/as.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/mm/as.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -2000,29 +2000,29 @@
 
 /** Wrapper for as_area_create(). */
-unative_t sys_as_area_create(uintptr_t address, size_t size, unsigned int flags)
+sysarg_t sys_as_area_create(uintptr_t address, size_t size, unsigned int flags)
 {
 	if (as_area_create(AS, flags | AS_AREA_CACHEABLE, size, address,
 	    AS_AREA_ATTR_NONE, &anon_backend, NULL))
-		return (unative_t) address;
+		return (sysarg_t) address;
 	else
-		return (unative_t) -1;
+		return (sysarg_t) -1;
 }
 
 /** Wrapper for as_area_resize(). */
-unative_t sys_as_area_resize(uintptr_t address, size_t size, unsigned int flags)
-{
-	return (unative_t) as_area_resize(AS, address, size, 0);
+sysarg_t sys_as_area_resize(uintptr_t address, size_t size, unsigned int flags)
+{
+	return (sysarg_t) as_area_resize(AS, address, size, 0);
 }
 
 /** Wrapper for as_area_change_flags(). */
-unative_t sys_as_area_change_flags(uintptr_t address, unsigned int flags)
-{
-	return (unative_t) as_area_change_flags(AS, flags, address);
+sysarg_t sys_as_area_change_flags(uintptr_t address, unsigned int flags)
+{
+	return (sysarg_t) as_area_change_flags(AS, flags, address);
 }
 
 /** Wrapper for as_area_destroy(). */
-unative_t sys_as_area_destroy(uintptr_t address)
-{
-	return (unative_t) as_area_destroy(AS, address);
+sysarg_t sys_as_area_destroy(uintptr_t address)
+{
+	return (sysarg_t) as_area_destroy(AS, address);
 }
 
Index: kernel/generic/src/mm/slab.c
===================================================================
--- kernel/generic/src/mm/slab.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/mm/slab.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -612,6 +612,6 @@
 	cache->name = name;
 	
-	if (align < sizeof(unative_t))
-		align = sizeof(unative_t);
+	if (align < sizeof(sysarg_t))
+		align = sizeof(sysarg_t);
 	
 	size = ALIGN_UP(size, align);
Index: kernel/generic/src/proc/program.c
===================================================================
--- kernel/generic/src/proc/program.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/proc/program.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -210,5 +210,5 @@
  *
  */
-unative_t sys_program_spawn_loader(char *uspace_name, size_t name_len)
+sysarg_t sys_program_spawn_loader(char *uspace_name, size_t name_len)
 {
 	/* Cap length of name and copy it from userspace. */
@@ -219,5 +219,5 @@
 	int rc = copy_from_uspace(namebuf, uspace_name, name_len);
 	if (rc != 0)
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	
 	namebuf[name_len] = 0;
Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/proc/task.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -298,5 +298,5 @@
  *
  */
-unative_t sys_task_get_id(task_id_t *uspace_task_id)
+sysarg_t sys_task_get_id(task_id_t *uspace_task_id)
 {
 	/*
@@ -304,5 +304,5 @@
 	 * the lifespan of the task.
 	 */
-	return (unative_t) copy_to_uspace(uspace_task_id, &TASK->taskid,
+	return (sysarg_t) copy_to_uspace(uspace_task_id, &TASK->taskid,
 	    sizeof(TASK->taskid));
 }
@@ -318,5 +318,5 @@
  *
  */
-unative_t sys_task_set_name(const char *uspace_name, size_t name_len)
+sysarg_t sys_task_set_name(const char *uspace_name, size_t name_len)
 {
 	int rc;
@@ -330,5 +330,5 @@
 	rc = copy_from_uspace(namebuf, uspace_name, name_len);
 	if (rc != 0)
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	
 	namebuf[name_len] = '\0';
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/proc/thread.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -755,5 +755,5 @@
  *
  */
-unative_t sys_thread_create(uspace_arg_t *uspace_uarg, char *uspace_name,
+sysarg_t sys_thread_create(uspace_arg_t *uspace_uarg, char *uspace_name,
     size_t name_len, thread_id_t *uspace_thread_id)
 {
@@ -764,5 +764,5 @@
 	int rc = copy_from_uspace(namebuf, uspace_name, name_len);
 	if (rc != 0)
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	
 	namebuf[name_len] = 0;
@@ -779,5 +779,5 @@
 	if (rc != 0) {
 		free(kernel_uarg);
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	}
 	
@@ -804,5 +804,5 @@
 				free(kernel_uarg);
 				
-				return (unative_t) rc;
+				return (sysarg_t) rc;
 			 }
 		}
@@ -827,5 +827,5 @@
 		free(kernel_uarg);
 	
-	return (unative_t) ENOMEM;
+	return (sysarg_t) ENOMEM;
 }
 
@@ -833,5 +833,5 @@
  *
  */
-unative_t sys_thread_exit(int uspace_status)
+sysarg_t sys_thread_exit(int uspace_status)
 {
 	thread_exit();
@@ -849,5 +849,5 @@
  *
  */
-unative_t sys_thread_get_id(thread_id_t *uspace_thread_id)
+sysarg_t sys_thread_get_id(thread_id_t *uspace_thread_id)
 {
 	/*
@@ -856,10 +856,10 @@
 	 *
 	 */
-	return (unative_t) copy_to_uspace(uspace_thread_id, &THREAD->tid,
+	return (sysarg_t) copy_to_uspace(uspace_thread_id, &THREAD->tid,
 	    sizeof(THREAD->tid));
 }
 
 /** Syscall wrapper for sleeping. */
-unative_t sys_thread_usleep(uint32_t usec)
+sysarg_t sys_thread_usleep(uint32_t usec)
 {
 	thread_usleep(usec);
Index: kernel/generic/src/security/cap.c
===================================================================
--- kernel/generic/src/security/cap.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/security/cap.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -85,13 +85,13 @@
  *
  */
-unative_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps)
+sysarg_t sys_cap_grant(sysarg64_t *uspace_taskid_arg, cap_t caps)
 {
 	if (!(cap_get(TASK) & CAP_CAP))
-		return (unative_t) EPERM;
+		return (sysarg_t) EPERM;
 	
 	sysarg64_t taskid_arg;
 	int rc = copy_from_uspace(&taskid_arg, uspace_taskid_arg, sizeof(sysarg64_t));
 	if (rc != 0)
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	
 	irq_spinlock_lock(&tasks_lock, true);
@@ -100,5 +100,5 @@
 	if ((!task) || (!context_check(CONTEXT, task->context))) {
 		irq_spinlock_unlock(&tasks_lock, true);
-		return (unative_t) ENOENT;
+		return (sysarg_t) ENOENT;
 	}
 	
@@ -122,10 +122,10 @@
  *
  */
-unative_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps)
+sysarg_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps)
 {
 	sysarg64_t taskid_arg;
 	int rc = copy_from_uspace(&taskid_arg, uspace_taskid_arg, sizeof(sysarg64_t));
 	if (rc != 0)
-		return (unative_t) rc;
+		return (sysarg_t) rc;
 	
 	irq_spinlock_lock(&tasks_lock, true);
@@ -134,5 +134,5 @@
 	if ((!task) || (!context_check(CONTEXT, task->context))) {
 		irq_spinlock_unlock(&tasks_lock, true);
-		return (unative_t) ENOENT;
+		return (sysarg_t) ENOENT;
 	}
 	
@@ -147,5 +147,5 @@
 		irq_spinlock_unlock(&TASK->lock, false);
 		irq_spinlock_unlock(&tasks_lock, true);
-		return (unative_t) EPERM;
+		return (sysarg_t) EPERM;
 	}
 	
Index: kernel/generic/src/synch/futex.c
===================================================================
--- kernel/generic/src/synch/futex.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/synch/futex.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -60,6 +60,6 @@
 
 static futex_t *futex_find(uintptr_t paddr);
-static size_t futex_ht_hash(unative_t *key);
-static bool futex_ht_compare(unative_t *key, size_t keys, link_t *item);
+static size_t futex_ht_hash(sysarg_t *key);
+static bool futex_ht_compare(sysarg_t *key, size_t keys, link_t *item);
 static void futex_ht_remove_callback(link_t *item);
 
@@ -108,5 +108,5 @@
  *			synch.h.
  */
-unative_t sys_futex_sleep(uintptr_t uaddr)
+sysarg_t sys_futex_sleep(uintptr_t uaddr)
 {
 	futex_t *futex;
@@ -122,5 +122,5 @@
 	if (!t || !PTE_VALID(t) || !PTE_PRESENT(t)) {
 		page_table_unlock(AS, true);
-		return (unative_t) ENOENT;
+		return (sysarg_t) ENOENT;
 	}
 	paddr = PTE_GET_FRAME(t) + (uaddr - ALIGN_DOWN(uaddr, PAGE_SIZE));
@@ -136,5 +136,5 @@
 	udebug_stoppable_end();
 #endif
-	return (unative_t) rc;
+	return (sysarg_t) rc;
 }
 
@@ -145,5 +145,5 @@
  * @return		ENOENT if there is no physical mapping for uaddr.
  */
-unative_t sys_futex_wakeup(uintptr_t uaddr)
+sysarg_t sys_futex_wakeup(uintptr_t uaddr)
 {
 	futex_t *futex;
@@ -158,5 +158,5 @@
 	if (!t || !PTE_VALID(t) || !PTE_PRESENT(t)) {
 		page_table_unlock(AS, true);
-		return (unative_t) ENOENT;
+		return (sysarg_t) ENOENT;
 	}
 	paddr = PTE_GET_FRAME(t) + (uaddr - ALIGN_DOWN(uaddr, PAGE_SIZE));
@@ -235,5 +235,5 @@
  * @return		Index into futex hash table.
  */
-size_t futex_ht_hash(unative_t *key)
+size_t futex_ht_hash(sysarg_t *key)
 {
 	return (*key & (FUTEX_HT_SIZE - 1));
@@ -247,5 +247,5 @@
  * @return		True if the item matches the key. False otherwise.
  */
-bool futex_ht_compare(unative_t *key, size_t keys, link_t *item)
+bool futex_ht_compare(sysarg_t *key, size_t keys, link_t *item)
 {
 	futex_t *futex;
Index: kernel/generic/src/synch/smc.c
===================================================================
--- kernel/generic/src/synch/smc.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/synch/smc.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -42,5 +42,5 @@
 #include <synch/smc.h>
 
-unative_t sys_smc_coherence(uintptr_t va, size_t size)
+sysarg_t sys_smc_coherence(uintptr_t va, size_t size)
 {
 	if (overlaps(va, size, (uintptr_t) NULL, PAGE_SIZE))
Index: kernel/generic/src/syscall/syscall.c
===================================================================
--- kernel/generic/src/syscall/syscall.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/syscall/syscall.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -56,6 +56,6 @@
 
 /** Dispatch system call */
-unative_t syscall_handler(unative_t a1, unative_t a2, unative_t a3,
-    unative_t a4, unative_t a5, unative_t a6, unative_t id)
+sysarg_t syscall_handler(sysarg_t a1, sysarg_t a2, sysarg_t a3,
+    sysarg_t a4, sysarg_t a5, sysarg_t a6, sysarg_t id)
 {
 	/* Do userpace accounting */
@@ -74,5 +74,5 @@
 #endif
 	
-	unative_t rc;
+	sysarg_t rc;
 	if (id < SYSCALL_END) {
 		rc = syscall_table[id](a1, a2, a3, a4, a5, a6);
Index: kernel/generic/src/sysinfo/stats.c
===================================================================
--- kernel/generic/src/sysinfo/stats.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/sysinfo/stats.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -87,5 +87,5 @@
  *
  */
-static unative_t get_stats_uptime(struct sysinfo_item *item)
+static sysarg_t get_stats_uptime(struct sysinfo_item *item)
 {
 	/* This doesn't have to be very accurate */
Index: kernel/generic/src/sysinfo/sysinfo.c
===================================================================
--- kernel/generic/src/sysinfo/sysinfo.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/sysinfo/sysinfo.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -296,5 +296,5 @@
  */
 void sysinfo_set_item_val(const char *name, sysinfo_item_t **root,
-    unative_t val)
+    sysarg_t val)
 {
 	/* Protect sysinfo tree consistency */
@@ -481,5 +481,5 @@
 		sysinfo_indent(depth);
 		
-		unative_t val;
+		sysarg_t val;
 		size_t size;
 		
@@ -660,5 +660,5 @@
  *
  */
-unative_t sys_sysinfo_get_tag(void *path_ptr, size_t path_size)
+sysarg_t sys_sysinfo_get_tag(void *path_ptr, size_t path_size)
 {
 	/*
@@ -679,5 +679,5 @@
 		ret.tag = SYSINFO_VAL_DATA;
 	
-	return (unative_t) ret.tag;
+	return (sysarg_t) ret.tag;
 }
 
@@ -696,5 +696,5 @@
  *
  */
-unative_t sys_sysinfo_get_value(void *path_ptr, size_t path_size,
+sysarg_t sys_sysinfo_get_value(void *path_ptr, size_t path_size,
     void *value_ptr)
 {
@@ -715,5 +715,5 @@
 		rc = EINVAL;
 	
-	return (unative_t) rc;
+	return (sysarg_t) rc;
 }
 
@@ -732,5 +732,5 @@
  *
  */
-unative_t sys_sysinfo_get_data_size(void *path_ptr, size_t path_size,
+sysarg_t sys_sysinfo_get_data_size(void *path_ptr, size_t path_size,
     void *size_ptr)
 {
@@ -752,5 +752,5 @@
 		rc = EINVAL;
 	
-	return (unative_t) rc;
+	return (sysarg_t) rc;
 }
 
@@ -774,5 +774,5 @@
  *
  */
-unative_t sys_sysinfo_get_data(void *path_ptr, size_t path_size,
+sysarg_t sys_sysinfo_get_data(void *path_ptr, size_t path_size,
     void *buffer_ptr, size_t buffer_size)
 {
@@ -797,5 +797,5 @@
 		free(ret.data.data);
 	
-	return (unative_t) rc;
+	return (sysarg_t) rc;
 }
 
Index: kernel/generic/src/time/clock.c
===================================================================
--- kernel/generic/src/time/clock.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/time/clock.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -70,5 +70,5 @@
  *
  */
-static unative_t secfrag = 0;
+static sysarg_t secfrag = 0;
 
 /** Initialize realtime clock counter
@@ -100,6 +100,6 @@
 	 *
 	 */
-	sysinfo_set_item_val("clock.cacheable", NULL, (unative_t) true);
-	sysinfo_set_item_val("clock.faddr", NULL, (unative_t) faddr);
+	sysinfo_set_item_val("clock.cacheable", NULL, (sysarg_t) true);
+	sysinfo_set_item_val("clock.faddr", NULL, (sysarg_t) faddr);
 }
 
Index: kernel/generic/src/udebug/udebug.c
===================================================================
--- kernel/generic/src/udebug/udebug.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/udebug/udebug.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -219,6 +219,6 @@
  *
  */
-void udebug_syscall_event(unative_t a1, unative_t a2, unative_t a3,
-    unative_t a4, unative_t a5, unative_t a6, unative_t id, unative_t rc,
+void udebug_syscall_event(sysarg_t a1, sysarg_t a2, sysarg_t a3,
+    sysarg_t a4, sysarg_t a5, sysarg_t a6, sysarg_t id, sysarg_t rc,
     bool end_variant)
 {
@@ -314,5 +314,5 @@
 	IPC_SET_RETVAL(call->data, 0);
 	IPC_SET_ARG1(call->data, UDEBUG_EVENT_THREAD_B);
-	IPC_SET_ARG2(call->data, (unative_t) thread);
+	IPC_SET_ARG2(call->data, (sysarg_t) thread);
 	
 	/*
Index: kernel/generic/src/udebug/udebug_ipc.c
===================================================================
--- kernel/generic/src/udebug/udebug_ipc.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/udebug/udebug_ipc.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -210,6 +210,6 @@
 static void udebug_receive_name_read(call_t *call)
 {
-	unative_t uspace_addr;
-	unative_t to_copy;
+	sysarg_t uspace_addr;
+	sysarg_t to_copy;
 	size_t data_size;
 	size_t buf_size;
@@ -257,6 +257,6 @@
 static void udebug_receive_areas_read(call_t *call)
 {
-	unative_t uspace_addr;
-	unative_t to_copy;
+	sysarg_t uspace_addr;
+	sysarg_t to_copy;
 	size_t data_size;
 	size_t buf_size;
@@ -304,5 +304,5 @@
 {
 	thread_t *t;
-	unative_t uspace_addr;
+	sysarg_t uspace_addr;
 	int rc;
 	void *buffer;
@@ -328,5 +328,5 @@
 	   (no way to distinguish method in answer) */
 	IPC_SET_ARG1(call->data, uspace_addr);
-	IPC_SET_ARG2(call->data, 6 * sizeof(unative_t));
+	IPC_SET_ARG2(call->data, 6 * sizeof(sysarg_t));
 	call->buffer = buffer;
 
@@ -341,6 +341,6 @@
 {
 	thread_t *t;
-	unative_t uspace_addr;
-	unative_t to_copy;
+	sysarg_t uspace_addr;
+	sysarg_t to_copy;
 	void *buffer;
 	int rc;
@@ -382,6 +382,6 @@
 static void udebug_receive_mem_read(call_t *call)
 {
-	unative_t uspace_dst;
-	unative_t uspace_src;
+	sysarg_t uspace_dst;
+	sysarg_t uspace_src;
 	unsigned size;
 	void *buffer;
Index: kernel/generic/src/udebug/udebug_ops.c
===================================================================
--- kernel/generic/src/udebug/udebug_ops.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/generic/src/udebug/udebug_ops.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -371,5 +371,5 @@
 	
 	/* Allocate a buffer to hold thread IDs */
-	unative_t *id_buffer = malloc(buf_size + 1, 0);
+	sysarg_t *id_buffer = malloc(buf_size + 1, 0);
 	
 	mutex_lock(&TASK->udebug.lock);
@@ -385,5 +385,5 @@
 	/* Copy down the thread IDs */
 	
-	size_t max_ids = buf_size / sizeof(unative_t);
+	size_t max_ids = buf_size / sizeof(sysarg_t);
 	size_t copied_ids = 0;
 	size_t extra_ids = 0;
@@ -404,5 +404,5 @@
 		if (copied_ids < max_ids) {
 			/* Using thread struct pointer as identification hash */
-			id_buffer[copied_ids++] = (unative_t) thread;
+			id_buffer[copied_ids++] = (sysarg_t) thread;
 		} else
 			extra_ids++;
@@ -414,6 +414,6 @@
 	
 	*buffer = id_buffer;
-	*stored = copied_ids * sizeof(unative_t);
-	*needed = (copied_ids + extra_ids) * sizeof(unative_t);
+	*stored = copied_ids * sizeof(sysarg_t);
+	*needed = (copied_ids + extra_ids) * sizeof(sysarg_t);
 	
 	return 0;
@@ -463,5 +463,5 @@
 {
 	/* Prepare a buffer to hold the arguments. */
-	unative_t *arg_buffer = malloc(6 * sizeof(unative_t), 0);
+	sysarg_t *arg_buffer = malloc(6 * sizeof(sysarg_t), 0);
 	
 	/* On success, this will lock t->udebug.lock. */
@@ -478,5 +478,5 @@
 	
 	/* Copy to a local buffer before releasing the lock. */
-	memcpy(arg_buffer, thread->udebug.syscall_args, 6 * sizeof(unative_t));
+	memcpy(arg_buffer, thread->udebug.syscall_args, 6 * sizeof(sysarg_t));
 	
 	_thread_op_end(thread);
@@ -539,5 +539,5 @@
  *
  */
-int udebug_mem_read(unative_t uspace_addr, size_t n, void **buffer)
+int udebug_mem_read(sysarg_t uspace_addr, size_t n, void **buffer)
 {
 	/* Verify task state */
Index: kernel/test/fpu/fpu1_ia64.c
===================================================================
--- kernel/test/fpu/fpu1_ia64.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/test/fpu/fpu1_ia64.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -85,5 +85,5 @@
 		
 		if ((int) (100000000 * e) != E_10e8) {
-			TPRINTF("tid%" PRIu64 ": e*10e8=%zd should be %" PRIun "\n", THREAD->tid, (unative_t) (100000000 * e), (unative_t) E_10e8);
+			TPRINTF("tid%" PRIu64 ": e*10e8=%zd should be %" PRIun "\n", THREAD->tid, (sysarg_t) (100000000 * e), (sysarg_t) E_10e8);
 			atomic_inc(&threads_fault);
 			break;
@@ -118,5 +118,5 @@
 		
 		if ((int) (1000000 * pi) != PI_10e8) {
-			TPRINTF("tid%" PRIu64 ": pi*10e8=%zd should be %" PRIun "\n", THREAD->tid, (unative_t) (1000000 * pi), (unative_t) (PI_10e8 / 100));
+			TPRINTF("tid%" PRIu64 ": pi*10e8=%zd should be %" PRIun "\n", THREAD->tid, (sysarg_t) (1000000 * pi), (sysarg_t) (PI_10e8 / 100));
 			atomic_inc(&threads_fault);
 			break;
Index: kernel/test/fpu/fpu1_x86.c
===================================================================
--- kernel/test/fpu/fpu1_x86.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/test/fpu/fpu1_x86.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -83,5 +83,5 @@
 		if ((int) (100000000 * e) != E_10e8) {
 			TPRINTF("tid%" PRIu64 ": e*10e8=%" PRIun " should be %" PRIun "\n",
-			    THREAD->tid, (unative_t) (100000000 * e), (unative_t) E_10e8);
+			    THREAD->tid, (sysarg_t) (100000000 * e), (sysarg_t) E_10e8);
 			atomic_inc(&threads_fault);
 			break;
@@ -117,5 +117,5 @@
 		if ((int) (100000000 * pi) != PI_10e8) {
 			TPRINTF("tid%" PRIu64 ": pi*10e8=%" PRIun " should be %" PRIun "\n",
-			    THREAD->tid, (unative_t) (100000000 * pi), (unative_t) PI_10e8);
+			    THREAD->tid, (sysarg_t) (100000000 * pi), (sysarg_t) PI_10e8);
 			atomic_inc(&threads_fault);
 			break;
Index: kernel/test/fpu/mips2.c
===================================================================
--- kernel/test/fpu/mips2.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/test/fpu/mips2.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -48,5 +48,5 @@
 {
 	int i;
-	int arg __attribute__((aligned(16))) = (int) ((unative_t) data);
+	int arg __attribute__((aligned(16))) = (int) ((sysarg_t) data);
 	int after_arg __attribute__((aligned(16)));
 	
@@ -80,5 +80,5 @@
 {
 	int i;
-	int arg __attribute__((aligned(16))) = (int) ((unative_t) data);
+	int arg __attribute__((aligned(16))) = (int) ((sysarg_t) data);
 	int after_arg __attribute__((aligned(16)));
 	
@@ -123,5 +123,5 @@
 		thread_t *t;
 		
-		if (!(t = thread_create(testit1, (void *) ((unative_t) 2 * i), TASK, 0, "testit1", false))) {
+		if (!(t = thread_create(testit1, (void *) ((sysarg_t) 2 * i), TASK, 0, "testit1", false))) {
 			TPRINTF("could not create thread %u\n", 2 * i);
 			break;
@@ -130,5 +130,5 @@
 		total++;
 		
-		if (!(t = thread_create(testit2, (void *) ((unative_t) 2 * i + 1), TASK, 0, "testit2", false))) {
+		if (!(t = thread_create(testit2, (void *) ((sysarg_t) 2 * i + 1), TASK, 0, "testit2", false))) {
 			TPRINTF("could not create thread %u\n", 2 * i + 1);
 			break;
Index: kernel/test/fpu/sse1.c
===================================================================
--- kernel/test/fpu/sse1.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/test/fpu/sse1.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -48,5 +48,5 @@
 {
 	int i;
-	int arg __attribute__((aligned(16))) = (int) ((unative_t) data);
+	int arg __attribute__((aligned(16))) = (int) ((sysarg_t) data);
 	int after_arg __attribute__((aligned(16)));
 	
@@ -79,5 +79,5 @@
 {
 	int i;
-	int arg __attribute__((aligned(16))) = (int) ((unative_t) data);
+	int arg __attribute__((aligned(16))) = (int) ((sysarg_t) data);
 	int after_arg __attribute__((aligned(16)));
 	
@@ -121,5 +121,5 @@
 		thread_t *t;
 		
-		if (!(t = thread_create(testit1, (void *) ((unative_t) 2 * i), TASK, 0, "testit1", false))) {
+		if (!(t = thread_create(testit1, (void *) ((sysarg_t) 2 * i), TASK, 0, "testit1", false))) {
 			TPRINTF("could not create thread %u\n", 2 * i);
 			break;
@@ -128,5 +128,5 @@
 		total++;
 		
-		if (!(t = thread_create(testit2, (void *) ((unative_t) 2 * i + 1), TASK, 0, "testit2", false))) {
+		if (!(t = thread_create(testit2, (void *) ((sysarg_t) 2 * i + 1), TASK, 0, "testit2", false))) {
 			TPRINTF("could not create thread %u\n", 2 * i + 1);
 			break;
Index: kernel/test/mm/slab1.c
===================================================================
--- kernel/test/mm/slab1.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/test/mm/slab1.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -123,5 +123,5 @@
 static void slabtest(void *data)
 {
-	int offs = (int) (unative_t) data;
+	int offs = (int) (sysarg_t) data;
 	int i, j;
 	
@@ -156,5 +156,5 @@
 	semaphore_initialize(&thr_sem, 0);
 	for (i = 0; i < THREADS; i++) {  
-		if (!(t = thread_create(slabtest, (void *) (unative_t) i, TASK, 0, "slabtest", false))) {
+		if (!(t = thread_create(slabtest, (void *) (sysarg_t) i, TASK, 0, "slabtest", false))) {
 			TPRINTF("Could not create thread %d\n", i);
 		} else
Index: kernel/test/print/print2.c
===================================================================
--- kernel/test/print/print2.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ kernel/test/print/print2.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -48,5 +48,5 @@
 	TPRINTF("Real output:     [%#x] [%#5.3x] [%#-5.3x] [%#3.5x] [%#-3.5x]\n\n", 17, 18, 19, 20, 21);
 	
-	unative_t nat = UINTN_C(0x12345678);
+	sysarg_t nat = UINTN_C(0x12345678);
 	
 	TPRINTF("Testing printf(\"%%#" PRIx64 " %%#" PRIx32 " %%#" PRIx16 " %%#" PRIx8 " %%#" PRIxn " %%#" PRIx64 " %%s\", (uint64_t) UINT64_C(0x1234567887654321), (uint32_t) UINT32_C(0x12345678), (uint16_t) UINT16_C(0x1234), (uint8_t) UINT8_C(0x12), nat, (uint64_t) UINT64_C(0x1234567887654321), \"Lovely string\"):\n");
Index: uspace/app/edit/edit.c
===================================================================
--- uspace/app/edit/edit.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/edit/edit.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -100,6 +100,6 @@
 static bool cursor_visible;
 
-static ipcarg_t scr_rows;
-static ipcarg_t scr_columns;
+static sysarg_t scr_rows;
+static sysarg_t scr_columns;
 
 #define ROW_BUF_SIZE 4096
@@ -684,5 +684,5 @@
 	
 	int i;
-	ipcarg_t j;
+	sysarg_t j;
 	for (i = rows; i < pane.rows; ++i) {
 		console_set_pos(con, 0, i);
Index: uspace/app/tester/hw/serial/serial1.c
===================================================================
--- uspace/app/tester/hw/serial/serial1.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/tester/hw/serial/serial1.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -93,8 +93,8 @@
 	}
 	
-	ipcarg_t old_baud;
-	ipcarg_t old_par;
-	ipcarg_t old_stop;
-	ipcarg_t old_word_size;
+	sysarg_t old_baud;
+	sysarg_t old_par;
+	sysarg_t old_stop;
+	sysarg_t old_word_size;
 	
 	res = ipc_call_sync_0_4(phone, SERIAL_GET_COM_PROPS, &old_baud,
Index: uspace/app/tester/ipc/register.c
===================================================================
--- uspace/app/tester/ipc/register.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/tester/ipc/register.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -79,5 +79,5 @@
 	async_set_client_connection(client_connection);
 	
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	int res = ipc_connect_to_me(PHONE_NS, IPC_TEST_SERVICE, 0, 0, &phonead);
 	if (res != 0)
Index: uspace/app/tetris/input.c
===================================================================
--- uspace/app/tetris/input.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/tetris/input.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -97,5 +97,5 @@
 	struct timeval starttv, endtv, *s;
 	static ipc_call_t charcall;
-	ipcarg_t rc;
+	sysarg_t rc;
 	
 	/*
Index: uspace/app/tetris/screen.c
===================================================================
--- uspace/app/tetris/screen.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/tetris/screen.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -120,5 +120,5 @@
 }
 
-void moveto(ipcarg_t r, ipcarg_t c)
+void moveto(sysarg_t r, sysarg_t c)
 {
 	fflush(stdout);
@@ -135,5 +135,5 @@
 static bool get_display_color_sup(void)
 {
-	ipcarg_t ccap;
+	sysarg_t ccap;
 	int rc = console_get_color_cap(fphone(stdout), &ccap);
 	
Index: uspace/app/tetris/screen.h
===================================================================
--- uspace/app/tetris/screen.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/tetris/screen.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -53,11 +53,11 @@
 
 typedef struct {
-	ipcarg_t ws_row;
-	ipcarg_t ws_col;
+	sysarg_t ws_row;
+	sysarg_t ws_col;
 } winsize_t;
 
 extern winsize_t winsize;
 
-extern void moveto(ipcarg_t r, ipcarg_t c);
+extern void moveto(sysarg_t r, sysarg_t c);
 extern void clear_screen(void);
 
Index: uspace/app/top/input.c
===================================================================
--- uspace/app/top/input.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/top/input.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -99,5 +99,5 @@
 	struct timeval starttv, endtv, *s;
 	static ipc_call_t charcall;
-	ipcarg_t rc;
+	sysarg_t rc;
 	
 	/*
Index: uspace/app/top/screen.c
===================================================================
--- uspace/app/top/screen.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/top/screen.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -47,6 +47,6 @@
 #include "top.h"
 
-static ipcarg_t warn_col = 0;
-static ipcarg_t warn_row = 0;
+static sysarg_t warn_col = 0;
+static sysarg_t warn_row = 0;
 
 static void screen_style_normal(void)
@@ -62,5 +62,5 @@
 }
 
-static void screen_moveto(ipcarg_t col, ipcarg_t row)
+static void screen_moveto(sysarg_t col, sysarg_t row)
 {
 	fflush(stdout);
@@ -68,5 +68,5 @@
 }
 
-static void screen_get_pos(ipcarg_t *col, ipcarg_t *row)
+static void screen_get_pos(sysarg_t *col, sysarg_t *row)
 {
 	fflush(stdout);
@@ -74,5 +74,5 @@
 }
 
-static void screen_get_size(ipcarg_t *col, ipcarg_t *row)
+static void screen_get_size(sysarg_t *col, sysarg_t *row)
 {
 	fflush(stdout);
@@ -94,13 +94,13 @@
 static void screen_newline(void)
 {
-	ipcarg_t cols;
-	ipcarg_t rows;
+	sysarg_t cols;
+	sysarg_t rows;
 	screen_get_size(&cols, &rows);
 	
-	ipcarg_t c;
-	ipcarg_t r;
+	sysarg_t c;
+	sysarg_t r;
 	screen_get_pos(&c, &r);
 	
-	ipcarg_t i;
+	sysarg_t i;
 	for (i = c + 1; i < cols; i++)
 		puts(" ");
@@ -142,10 +142,10 @@
 static void print_string(const char *str)
 {
-	ipcarg_t cols;
-	ipcarg_t rows;
+	sysarg_t cols;
+	sysarg_t rows;
 	screen_get_size(&cols, &rows);
 	
-	ipcarg_t c;
-	ipcarg_t r;
+	sysarg_t c;
+	sysarg_t r;
 	screen_get_pos(&c, &r);
 	
@@ -282,10 +282,10 @@
 static inline void print_tasks(data_t *data)
 {
-	ipcarg_t cols;
-	ipcarg_t rows;
+	sysarg_t cols;
+	sysarg_t rows;
 	screen_get_size(&cols, &rows);
 	
-	ipcarg_t col;
-	ipcarg_t row;
+	sysarg_t col;
+	sysarg_t row;
 	screen_get_pos(&col, &row);
 	
@@ -329,10 +329,10 @@
 static inline void print_ipc(data_t *data)
 {
-	ipcarg_t cols;
-	ipcarg_t rows;
+	sysarg_t cols;
+	sysarg_t rows;
 	screen_get_size(&cols, &rows);
 	
-	ipcarg_t col;
-	ipcarg_t row;
+	sysarg_t col;
+	sysarg_t row;
 	screen_get_pos(&col, &row);
 	
@@ -396,10 +396,10 @@
 static inline void print_excs(data_t *data)
 {
-	ipcarg_t cols;
-	ipcarg_t rows;
+	sysarg_t cols;
+	sysarg_t rows;
 	screen_get_size(&cols, &rows);
 	
-	ipcarg_t col;
-	ipcarg_t row;
+	sysarg_t col;
+	sysarg_t row;
 	screen_get_pos(&col, &row);
 	
@@ -439,10 +439,10 @@
 static void print_help(void)
 {
-	ipcarg_t cols;
-	ipcarg_t rows;
+	sysarg_t cols;
+	sysarg_t rows;
 	screen_get_size(&cols, &rows);
 	
-	ipcarg_t col;
-	ipcarg_t row;
+	sysarg_t col;
+	sysarg_t row;
 	screen_get_pos(&col, &row);
 	
Index: uspace/app/trace/ipcp.c
===================================================================
--- uspace/app/trace/ipcp.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/trace/ipcp.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -46,5 +46,5 @@
 
 typedef struct {
-	ipcarg_t phone_hash;
+	sysarg_t phone_hash;
 	ipc_call_t question;
 	oper_t *oper;
@@ -124,5 +124,5 @@
 }
 
-static void ipc_m_print(proto_t *proto, ipcarg_t method)
+static void ipc_m_print(proto_t *proto, sysarg_t method)
 {
 	oper_t *oper;
@@ -192,5 +192,5 @@
 	unsigned long key[1];
 	oper_t *oper;
-	ipcarg_t *args;
+	sysarg_t *args;
 	int i;
 
@@ -262,12 +262,12 @@
     ipc_call_t *answer)
 {
-	ipcarg_t phone;
-	ipcarg_t method;
-	ipcarg_t service;
-	ipcarg_t retval;
+	sysarg_t phone;
+	sysarg_t method;
+	sysarg_t service;
+	sysarg_t retval;
 	proto_t *proto;
 	int cphone;
 
-	ipcarg_t *resp;
+	sysarg_t *resp;
 	oper_t *oper;
 	int i;
Index: uspace/app/trace/proto.c
===================================================================
--- uspace/app/trace/proto.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/trace/proto.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -53,5 +53,5 @@
 
 typedef struct {
-	ipcarg_t method;
+	sysarg_t method;
 	oper_t *oper;
 	link_t link;
Index: uspace/app/trace/trace.c
===================================================================
--- uspace/app/trace/trace.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/app/trace/trace.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -287,5 +287,5 @@
 {
 	ipc_call_t call;
-	ipcarg_t phoneid;
+	sysarg_t phoneid;
 	
 	if (sc_rc == (sysarg_t) IPC_CALLRET_FATAL ||
Index: uspace/drv/ns8250/ns8250.c
===================================================================
--- uspace/drv/ns8250/ns8250.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/drv/ns8250/ns8250.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -887,5 +887,5 @@
     ipc_call_t *call)
 {
-	ipcarg_t method = IPC_GET_METHOD(*call);
+	sysarg_t method = IPC_GET_METHOD(*call);
 	int ret;
 	unsigned int baud_rate, parity, word_length, stop_bits;
Index: uspace/lib/block/libblock.c
===================================================================
--- uspace/lib/block/libblock.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/block/libblock.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -862,5 +862,5 @@
 static int get_block_size(int dev_phone, size_t *bsize)
 {
-	ipcarg_t bs;
+	sysarg_t bs;
 	int rc;
 
@@ -875,5 +875,5 @@
 static int get_num_blocks(int dev_phone, aoff64_t *nblocks)
 {
-	ipcarg_t nb_l, nb_h;
+	sysarg_t nb_l, nb_h;
 	int rc;
 
Index: uspace/lib/c/arch/abs32le/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/abs32le/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/abs32le/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_abs32le_INTTYPES_H_
 
-#define PRIdn  PRId32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId32  /**< Format for native_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/arch/amd64/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/amd64/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/amd64/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_amd64_INTTYPES_H_
 
-#define PRIdn  PRId64  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu64  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId64  /**< Format for native_t. */
+#define PRIun  PRIu64  /**< Format for sysarg_t. */
+#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu64  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/arch/arm32/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/arm32/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/arm32/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_arm32_INTTYPES_H_
 
-#define PRIdn  PRId32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId32  /**< Format for native_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/arch/ia32/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/ia32/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/ia32/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_ia32_INTTYPES_H_
 
-#define PRIdn  PRId32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId32  /**< Format for native_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/arch/ia64/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/ia64/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/ia64/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_ia64_INTTYPES_H_
 
-#define PRIdn  PRId64  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu64  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId64  /**< Format for native_t. */
+#define PRIun  PRIu64  /**< Format for sysarg_t. */
+#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu64  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/arch/mips32/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/mips32/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/mips32/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_mips32_INTTYPES_H_
 
-#define PRIdn  PRId32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId32  /**< Format for native_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/arch/ppc32/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/ppc32/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/ppc32/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_ppc32_INTTYPES_H_
 
-#define PRIdn  PRId32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu32  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId32  /**< Format for native_t. */
+#define PRIun  PRIu32  /**< Format for sysarg_t. */
+#define PRIxn  PRIx32  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu32  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/arch/sparc64/include/inttypes.h
===================================================================
--- uspace/lib/c/arch/sparc64/include/inttypes.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/arch/sparc64/include/inttypes.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -34,7 +34,7 @@
 #define LIBC_sparc64_INTTYPES_H_
 
-#define PRIdn  PRId64  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIun  PRIu64  /**< Format for sysarg_t, ipcarg_t, etc. */
-#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t, ipcarg_t, etc. */
+#define PRIdn  PRId64  /**< Format for native_t. */
+#define PRIun  PRIu64  /**< Format for sysarg_t. */
+#define PRIxn  PRIx64  /**< Format for hexadecimal sysarg_t. */
 #define PRIua  PRIu64  /**< Format for atomic_count_t. */
 
Index: uspace/lib/c/generic/async.c
===================================================================
--- uspace/lib/c/generic/async.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/async.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -120,5 +120,5 @@
 	ipc_call_t *dataptr;
 	
-	ipcarg_t retval;
+	sysarg_t retval;
 } amsg_t;
 
@@ -140,5 +140,5 @@
 	
 	/** Incoming phone hash. */
-	ipcarg_t in_phone_hash;
+	sysarg_t in_phone_hash;
 	
 	/** Messages that should be delivered to this fibril. */
@@ -529,5 +529,5 @@
  *
  */
-fid_t async_new_connection(ipcarg_t in_phone_hash, ipc_callid_t callid,
+fid_t async_new_connection(sysarg_t in_phone_hash, ipc_callid_t callid,
     ipc_call_t *call, void (*cfibril)(ipc_callid_t, ipc_call_t *))
 {
@@ -807,6 +807,6 @@
  *
  */
-aid_t async_send_fast(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipc_call_t *dataptr)
+aid_t async_send_fast(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, ipc_call_t *dataptr)
 {
 	amsg_t *msg = malloc(sizeof(*msg));
@@ -846,6 +846,6 @@
  *
  */
-aid_t async_send_slow(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5,
+aid_t async_send_slow(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5,
     ipc_call_t *dataptr)
 {
@@ -875,5 +875,5 @@
  *
  */
-void async_wait_for(aid_t amsgid, ipcarg_t *retval)
+void async_wait_for(aid_t amsgid, sysarg_t *retval)
 {
 	amsg_t *msg = (amsg_t *) amsgid;
@@ -911,5 +911,5 @@
  *
  */
-int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, suseconds_t timeout)
+int async_wait_timeout(aid_t amsgid, sysarg_t *retval, suseconds_t timeout)
 {
 	amsg_t *msg = (amsg_t *) amsgid;
@@ -1023,7 +1023,7 @@
  *
  */
-ipcarg_t async_req_fast(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t *r1, ipcarg_t *r2,
-    ipcarg_t *r3, ipcarg_t *r4, ipcarg_t *r5)
+sysarg_t async_req_fast(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2,
+    sysarg_t *r3, sysarg_t *r4, sysarg_t *r5)
 {
 	ipc_call_t result;
@@ -1031,5 +1031,5 @@
 	    &result);
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	async_wait_for(eid, &rc);
 	
@@ -1072,7 +1072,7 @@
  *
  */
-ipcarg_t async_req_slow(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5, ipcarg_t *r1,
-    ipcarg_t *r2, ipcarg_t *r3, ipcarg_t *r4, ipcarg_t *r5)
+sysarg_t async_req_slow(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1,
+    sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5)
 {
 	ipc_call_t result;
@@ -1080,5 +1080,5 @@
 	    &result);
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	async_wait_for(eid, &rc);
 	
@@ -1113,8 +1113,8 @@
  */
 int
-async_connect_me_to(int phoneid, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3)
+async_connect_me_to(int phoneid, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3)
 {
 	int rc;
-	ipcarg_t newphid;
+	sysarg_t newphid;
 
 	rc = async_req_3_5(phoneid, IPC_M_CONNECT_ME_TO, arg1, arg2, arg3, NULL,
@@ -1140,9 +1140,9 @@
  */
 int
-async_connect_me_to_blocking(int phoneid, ipcarg_t arg1, ipcarg_t arg2,
-    ipcarg_t arg3)
+async_connect_me_to_blocking(int phoneid, sysarg_t arg1, sysarg_t arg2,
+    sysarg_t arg3)
 {
 	int rc;
-	ipcarg_t newphid;
+	sysarg_t newphid;
 
 	rc = async_req_4_5(phoneid, IPC_M_CONNECT_ME_TO, arg1, arg2, arg3,
@@ -1166,11 +1166,11 @@
  * @return		Zero on success or a negative error code from errno.h.
  */
-int async_share_in_start(int phoneid, void *dst, size_t size, ipcarg_t arg,
+int async_share_in_start(int phoneid, void *dst, size_t size, sysarg_t arg,
     int *flags)
 {
 	int res;
 	sysarg_t tmp_flags;
-	res = async_req_3_2(phoneid, IPC_M_SHARE_IN, (ipcarg_t) dst,
-	    (ipcarg_t) size, arg, NULL, &tmp_flags);
+	res = async_req_3_2(phoneid, IPC_M_SHARE_IN, (sysarg_t) dst,
+	    (sysarg_t) size, arg, NULL, &tmp_flags);
 	if (flags)
 		*flags = tmp_flags;
@@ -1231,6 +1231,6 @@
 int async_share_out_start(int phoneid, void *src, int flags)
 {
-	return async_req_3_0(phoneid, IPC_M_SHARE_OUT, (ipcarg_t) src, 0,
-	    (ipcarg_t) flags);
+	return async_req_3_0(phoneid, IPC_M_SHARE_OUT, (sysarg_t) src, 0,
+	    (sysarg_t) flags);
 }
 
@@ -1292,6 +1292,6 @@
 int async_data_read_start(int phoneid, void *dst, size_t size)
 {
-	return async_req_2_0(phoneid, IPC_M_DATA_READ, (ipcarg_t) dst,
-	    (ipcarg_t) size);
+	return async_req_2_0(phoneid, IPC_M_DATA_READ, (sysarg_t) dst,
+	    (sysarg_t) size);
 }
 
@@ -1345,6 +1345,6 @@
  *
  */
-int async_data_read_forward_fast(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipc_call_t *dataptr)
+int async_data_read_forward_fast(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, ipc_call_t *dataptr)
 {
 	ipc_callid_t callid;
@@ -1369,5 +1369,5 @@
 	}
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	async_wait_for(msg, &rc);
 	
@@ -1386,6 +1386,6 @@
 int async_data_write_start(int phoneid, const void *src, size_t size)
 {
-	return async_req_2_0(phoneid, IPC_M_DATA_WRITE, (ipcarg_t) src,
-	    (ipcarg_t) size);
+	return async_req_2_0(phoneid, IPC_M_DATA_WRITE, (sysarg_t) src,
+	    (sysarg_t) size);
 }
 
@@ -1531,6 +1531,6 @@
  *
  */
-int async_data_write_forward_fast(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipc_call_t *dataptr)
+int async_data_write_forward_fast(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, ipc_call_t *dataptr)
 {
 	ipc_callid_t callid;
@@ -1555,5 +1555,5 @@
 	}
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	async_wait_for(msg, &rc);
 	
Index: uspace/lib/c/generic/clipboard.c
===================================================================
--- uspace/lib/c/generic/clipboard.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/clipboard.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -75,5 +75,5 @@
 		clip_connect();
 		
-		ipcarg_t rc = async_req_1_0(clip_phone, CLIPBOARD_PUT_DATA, CLIPBOARD_TAG_NONE);
+		sysarg_t rc = async_req_1_0(clip_phone, CLIPBOARD_PUT_DATA, CLIPBOARD_TAG_NONE);
 		
 		async_serialize_end();
@@ -85,7 +85,7 @@
 		
 		aid_t req = async_send_1(clip_phone, CLIPBOARD_PUT_DATA, CLIPBOARD_TAG_DATA, NULL);
-		ipcarg_t rc = async_data_write_start(clip_phone, (void *) str, size);
+		sysarg_t rc = async_data_write_start(clip_phone, (void *) str, size);
 		if (rc != EOK) {
-			ipcarg_t rc_orig;
+			sysarg_t rc_orig;
 			async_wait_for(req, &rc_orig);
 			async_serialize_end();
@@ -119,7 +119,7 @@
 		clip_connect();
 		
-		ipcarg_t size;
-		ipcarg_t tag;
-		ipcarg_t rc = async_req_0_2(clip_phone, CLIPBOARD_CONTENT, &size, &tag);
+		sysarg_t size;
+		sysarg_t tag;
+		sysarg_t rc = async_req_0_2(clip_phone, CLIPBOARD_CONTENT, &size, &tag);
 		
 		async_serialize_end();
@@ -158,5 +158,5 @@
 			
 			if (rc != EOK) {
-				ipcarg_t rc_orig;
+				sysarg_t rc_orig;
 				async_wait_for(req, &rc_orig);
 				async_serialize_end();
Index: uspace/lib/c/generic/device/char.c
===================================================================
--- uspace/lib/c/generic/device/char.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/device/char.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -76,5 +76,5 @@
 	}
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	if (ret != EOK) {
 		async_wait_for(req, &rc);
Index: uspace/lib/c/generic/device/hw_res.c
===================================================================
--- uspace/lib/c/generic/device/hw_res.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/device/hw_res.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -40,5 +40,5 @@
 bool get_hw_resources(int dev_phone, hw_resource_list_t *hw_resources)
 {
-	ipcarg_t count = 0;
+	sysarg_t count = 0;
 	int rc = async_req_1_1(dev_phone, DEV_IFACE_ID(HW_RES_DEV_IFACE), GET_RESOURCE_LIST, &count);
 	hw_resources->count = count;
Index: uspace/lib/c/generic/devman.c
===================================================================
--- uspace/lib/c/generic/devman.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/devman.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -95,5 +95,5 @@
 	aid_t req = async_send_2(phone, DEVMAN_DRIVER_REGISTER, 0, 0, &answer);
 	
-	ipcarg_t retval = async_data_write_start(phone, name, str_size(name));
+	sysarg_t retval = async_data_write_start(phone, name, str_size(name));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
@@ -104,5 +104,5 @@
 	async_set_client_connection(conn);
 	
-	ipcarg_t callback_phonehash;
+	sysarg_t callback_phonehash;
 	ipc_connect_to_me(phone, 0, 0, 0, &callback_phonehash);
 	async_wait_for(req, &retval);
@@ -155,5 +155,5 @@
 	aid_t req = async_send_2(phone, DEVMAN_ADD_CHILD_DEVICE, parent_handle, match_count, &answer);
 
-	ipcarg_t retval = async_data_write_start(phone, name, str_size(name));
+	sysarg_t retval = async_data_write_start(phone, name, str_size(name));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
@@ -192,5 +192,5 @@
 	aid_t req = async_send_1(phone, DEVMAN_ADD_DEVICE_TO_CLASS, devman_handle, &answer);
 	
-	ipcarg_t retval = async_data_write_start(phone, class_name, str_size(class_name));
+	sysarg_t retval = async_data_write_start(phone, class_name, str_size(class_name));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
@@ -268,5 +268,5 @@
 	    &answer);
 	
-	ipcarg_t retval = async_data_write_start(phone, pathname, str_size(pathname));
+	sysarg_t retval = async_data_write_start(phone, pathname, str_size(pathname));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
Index: uspace/lib/c/generic/devmap.c
===================================================================
--- uspace/lib/c/generic/devmap.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/devmap.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -107,5 +107,5 @@
 	aid_t req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer);
 	
-	ipcarg_t retval = async_data_write_start(phone, name, str_size(name));
+	sysarg_t retval = async_data_write_start(phone, name, str_size(name));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
@@ -116,5 +116,5 @@
 	async_set_client_connection(conn);
 	
-	ipcarg_t callback_phonehash;
+	sysarg_t callback_phonehash;
 	ipc_connect_to_me(phone, 0, 0, 0, &callback_phonehash);
 	async_wait_for(req, &retval);
@@ -145,5 +145,5 @@
 	    &answer);
 	
-	ipcarg_t retval = async_data_write_start(phone, fqdn, str_size(fqdn));
+	sysarg_t retval = async_data_write_start(phone, fqdn, str_size(fqdn));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
@@ -181,5 +181,5 @@
 	    &answer);
 	
-	ipcarg_t retval = async_data_write_start(phone, fqdn, str_size(fqdn));
+	sysarg_t retval = async_data_write_start(phone, fqdn, str_size(fqdn));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
@@ -217,5 +217,5 @@
 	    &answer);
 	
-	ipcarg_t retval = async_data_write_start(phone, name, str_size(name));
+	sysarg_t retval = async_data_write_start(phone, name, str_size(name));
 	if (retval != EOK) {
 		async_wait_for(req, NULL);
@@ -247,5 +247,5 @@
 		return phone;
 	
-	ipcarg_t type;
+	sysarg_t type;
 	int retval = async_req_1_1(phone, DEVMAP_HANDLE_PROBE, handle, &type);
 	if (retval != EOK)
@@ -277,5 +277,5 @@
 		return -1;
 	
-	ipcarg_t null_id;
+	sysarg_t null_id;
 	int retval = async_req_0_1(phone, DEVMAP_NULL_CREATE, &null_id);
 	if (retval != EOK)
@@ -292,10 +292,10 @@
 		return;
 	
-	async_req_1_0(phone, DEVMAP_NULL_DESTROY, (ipcarg_t) null_id);
+	async_req_1_0(phone, DEVMAP_NULL_DESTROY, (sysarg_t) null_id);
 }
 
 static size_t devmap_count_namespaces_internal(int phone)
 {
-	ipcarg_t count;
+	sysarg_t count;
 	int retval = async_req_0_1(phone, DEVMAP_GET_NAMESPACE_COUNT, &count);
 	if (retval != EOK)
@@ -307,5 +307,5 @@
 static size_t devmap_count_devices_internal(int phone, devmap_handle_t ns_handle)
 {
-	ipcarg_t count;
+	sysarg_t count;
 	int retval = async_req_1_1(phone, DEVMAP_GET_DEVICE_COUNT, ns_handle, &count);
 	if (retval != EOK)
@@ -375,5 +375,5 @@
 		}
 		
-		ipcarg_t retval;
+		sysarg_t retval;
 		async_wait_for(req, &retval);
 		async_serialize_end();
@@ -427,5 +427,5 @@
 		}
 		
-		ipcarg_t retval;
+		sysarg_t retval;
 		async_wait_for(req, &retval);
 		async_serialize_end();
Index: uspace/lib/c/generic/event.c
===================================================================
--- uspace/lib/c/generic/event.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/event.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -49,5 +49,5 @@
  * @return Value returned by the kernel.
  */
-int event_subscribe(event_type_t e, ipcarg_t method)
+int event_subscribe(event_type_t e, sysarg_t method)
 {
 	return __SYSCALL2(SYS_EVENT_SUBSCRIBE, (sysarg_t) e, (sysarg_t) method);
Index: uspace/lib/c/generic/io/console.c
===================================================================
--- uspace/lib/c/generic/io/console.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/io/console.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -45,5 +45,5 @@
 }
 
-int console_get_size(int phone, ipcarg_t *cols, ipcarg_t *rows)
+int console_get_size(int phone, sysarg_t *cols, sysarg_t *rows)
 {
 	return async_req_0_2(phone, CONSOLE_GET_SIZE, cols, rows);
@@ -71,5 +71,5 @@
 }
 
-int console_get_color_cap(int phone, ipcarg_t *ccap)
+int console_get_color_cap(int phone, sysarg_t *ccap)
 {
 	return async_req_0_1(phone, CONSOLE_GET_COLOR_CAP, ccap);
@@ -81,10 +81,10 @@
 }
 
-int console_get_pos(int phone, ipcarg_t *col, ipcarg_t *row)
+int console_get_pos(int phone, sysarg_t *col, sysarg_t *row)
 {
 	return async_req_0_2(phone, CONSOLE_GET_POS, col, row);
 }
 
-void console_set_pos(int phone, ipcarg_t col, ipcarg_t row)
+void console_set_pos(int phone, sysarg_t col, sysarg_t row)
 {
 	async_msg_2(phone, CONSOLE_GOTO, col, row);
@@ -93,8 +93,8 @@
 bool console_get_event(int phone, console_event_t *event)
 {
-	ipcarg_t type;
-	ipcarg_t key;
-	ipcarg_t mods;
-	ipcarg_t c;
+	sysarg_t type;
+	sysarg_t key;
+	sysarg_t mods;
+	sysarg_t c;
 	
 	int rc = async_req_0_4(phone, CONSOLE_GET_EVENT, &type, &key, &mods, &c);
Index: uspace/lib/c/generic/io/screenbuffer.c
===================================================================
--- uspace/lib/c/generic/io/screenbuffer.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/io/screenbuffer.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -67,6 +67,6 @@
  *
  */
-screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, ipcarg_t size_x,
-    ipcarg_t size_y)
+screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, sysarg_t size_x,
+    sysarg_t size_y)
 {
 	scr->buffer = (keyfield_t *) malloc(sizeof(keyfield_t) * size_x * size_y);
@@ -110,7 +110,7 @@
  *
  */
-void screenbuffer_clear_line(screenbuffer_t *scr, ipcarg_t line)
+void screenbuffer_clear_line(screenbuffer_t *scr, sysarg_t line)
 {
-	ipcarg_t x;
+	sysarg_t x;
 	
 	for (x = 0; x < scr->size_x; x++) {
@@ -141,5 +141,5 @@
  *
  */
-void screenbuffer_goto(screenbuffer_t *scr, ipcarg_t x, ipcarg_t y)
+void screenbuffer_goto(screenbuffer_t *scr, sysarg_t x, sysarg_t y)
 {
 	scr->position_x = x % scr->size_x;
Index: uspace/lib/c/generic/ipc.c
===================================================================
--- uspace/lib/c/generic/ipc.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/ipc.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -104,7 +104,7 @@
  */
 int
-ipc_call_sync_fast(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
-    ipcarg_t arg3, ipcarg_t *result1, ipcarg_t *result2, ipcarg_t *result3,
-    ipcarg_t *result4, ipcarg_t *result5)
+ipc_call_sync_fast(int phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2,
+    sysarg_t arg3, sysarg_t *result1, sysarg_t *result2, sysarg_t *result3,
+    sysarg_t *result4, sysarg_t *result5)
 {
 	ipc_call_t resdata;
@@ -148,7 +148,7 @@
  */
 int
-ipc_call_sync_slow(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
-    ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5, ipcarg_t *result1,
-    ipcarg_t *result2, ipcarg_t *result3, ipcarg_t *result4, ipcarg_t *result5)
+ipc_call_sync_slow(int phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2,
+    sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *result1,
+    sysarg_t *result2, sysarg_t *result3, sysarg_t *result4, sysarg_t *result5)
 {
 	ipc_call_t data;
@@ -289,6 +289,6 @@
  *			asynchronous calls.
  */
-void ipc_call_async_fast(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, void *private,
+void ipc_call_async_fast(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, void *private,
     ipc_async_callback_t callback, int can_preempt)
 {
@@ -351,6 +351,6 @@
  *
  */
-void ipc_call_async_slow(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5, void *private,
+void ipc_call_async_slow(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, void *private,
     ipc_async_callback_t callback, int can_preempt)
 {
@@ -393,6 +393,6 @@
  * @return		Zero on success or a value from @ref errno.h on failure.
  */
-ipcarg_t ipc_answer_fast(ipc_callid_t callid, ipcarg_t retval, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4)
+sysarg_t ipc_answer_fast(ipc_callid_t callid, sysarg_t retval, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
 {
 	return __SYSCALL6(SYS_IPC_ANSWER_FAST, callid, retval, arg1, arg2, arg3,
@@ -412,6 +412,6 @@
  * @return		Zero on success or a value from @ref errno.h on failure.
  */
-ipcarg_t ipc_answer_slow(ipc_callid_t callid, ipcarg_t retval, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5)
+sysarg_t ipc_answer_slow(ipc_callid_t callid, sysarg_t retval, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5)
 {
 	ipc_call_t data;
@@ -585,5 +585,5 @@
  */
 int ipc_connect_to_me(int phoneid, int arg1, int arg2, int arg3, 
-    ipcarg_t *phonehash)
+    sysarg_t *phonehash)
 {
 	return ipc_call_sync_3_5(phoneid, IPC_M_CONNECT_TO_ME, arg1, arg2,
@@ -602,5 +602,5 @@
 int ipc_connect_me_to(int phoneid, int arg1, int arg2, int arg3)
 {
-	ipcarg_t newphid;
+	sysarg_t newphid;
 	int res;
 
@@ -626,5 +626,5 @@
 int ipc_connect_me_to_blocking(int phoneid, int arg1, int arg2, int arg3)
 {
-	ipcarg_t newphid;
+	sysarg_t newphid;
 	int res;
 
@@ -691,5 +691,5 @@
  */
 int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method,
-    ipcarg_t arg1, ipcarg_t arg2, int mode)
+    sysarg_t arg1, sysarg_t arg2, int mode)
 {
 	return __SYSCALL6(SYS_IPC_FORWARD_FAST, callid, phoneid, method, arg1, 
@@ -699,5 +699,5 @@
 
 int ipc_forward_slow(ipc_callid_t callid, int phoneid, int method,
-    ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5,
+    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5,
     int mode)
 {
@@ -725,10 +725,10 @@
  * @return		Zero on success or a negative error code from errno.h.
  */
-int ipc_share_in_start(int phoneid, void *dst, size_t size, ipcarg_t arg,
+int ipc_share_in_start(int phoneid, void *dst, size_t size, sysarg_t arg,
     int *flags)
 {
 	sysarg_t tmp_flags = 0;
-	int res = ipc_call_sync_3_2(phoneid, IPC_M_SHARE_IN, (ipcarg_t) dst,
-	    (ipcarg_t) size, arg, NULL, &tmp_flags);
+	int res = ipc_call_sync_3_2(phoneid, IPC_M_SHARE_IN, (sysarg_t) dst,
+	    (sysarg_t) size, arg, NULL, &tmp_flags);
 	
 	if (flags)
@@ -751,5 +751,5 @@
 int ipc_share_in_finalize(ipc_callid_t callid, void *src, int flags)
 {
-	return ipc_answer_2(callid, EOK, (ipcarg_t) src, (ipcarg_t) flags);
+	return ipc_answer_2(callid, EOK, (sysarg_t) src, (sysarg_t) flags);
 }
 
@@ -764,6 +764,6 @@
 int ipc_share_out_start(int phoneid, void *src, int flags)
 {
-	return ipc_call_sync_3_0(phoneid, IPC_M_SHARE_OUT, (ipcarg_t) src, 0,
-	    (ipcarg_t) flags);
+	return ipc_call_sync_3_0(phoneid, IPC_M_SHARE_OUT, (sysarg_t) src, 0,
+	    (sysarg_t) flags);
 }
 
@@ -780,5 +780,5 @@
 int ipc_share_out_finalize(ipc_callid_t callid, void *dst)
 {
-	return ipc_answer_1(callid, EOK, (ipcarg_t) dst);
+	return ipc_answer_1(callid, EOK, (sysarg_t) dst);
 }
 
@@ -794,6 +794,6 @@
 int ipc_data_read_start(int phoneid, void *dst, size_t size)
 {
-	return ipc_call_sync_2_0(phoneid, IPC_M_DATA_READ, (ipcarg_t) dst,
-	    (ipcarg_t) size);
+	return ipc_call_sync_2_0(phoneid, IPC_M_DATA_READ, (sysarg_t) dst,
+	    (sysarg_t) size);
 }
 
@@ -812,5 +812,5 @@
 int ipc_data_read_finalize(ipc_callid_t callid, const void *src, size_t size)
 {
-	return ipc_answer_2(callid, EOK, (ipcarg_t) src, (ipcarg_t) size);
+	return ipc_answer_2(callid, EOK, (sysarg_t) src, (sysarg_t) size);
 }
 
@@ -825,6 +825,6 @@
 int ipc_data_write_start(int phoneid, const void *src, size_t size)
 {
-	return ipc_call_sync_2_0(phoneid, IPC_M_DATA_WRITE, (ipcarg_t) src,
-	    (ipcarg_t) size);
+	return ipc_call_sync_2_0(phoneid, IPC_M_DATA_WRITE, (sysarg_t) src,
+	    (sysarg_t) size);
 }
 
@@ -842,5 +842,5 @@
 int ipc_data_write_finalize(ipc_callid_t callid, void *dst, size_t size)
 {
-	return ipc_answer_2(callid, EOK, (ipcarg_t) dst, (ipcarg_t) size);
+	return ipc_answer_2(callid, EOK, (sysarg_t) dst, (sysarg_t) size);
 }
 
Index: uspace/lib/c/generic/loader.c
===================================================================
--- uspace/lib/c/generic/loader.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/loader.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -96,5 +96,5 @@
 	}
 	
-	ipcarg_t retval;
+	sysarg_t retval;
 	async_wait_for(req, &retval);
 	return (int) retval;
@@ -131,5 +131,5 @@
 	}
 	
-	ipcarg_t retval;
+	sysarg_t retval;
 	async_wait_for(req, &retval);
 	return (int) retval;
@@ -166,5 +166,5 @@
 	free(pa);
 	
-	ipcarg_t retval;
+	sysarg_t retval;
 	async_wait_for(req, &retval);
 	return (int) retval;
@@ -213,5 +213,5 @@
 	ipc_call_t answer;
 	aid_t req = async_send_0(ldr->phone_id, LOADER_SET_ARGS, &answer);
-	ipcarg_t rc = async_data_write_start(ldr->phone_id, (void *) arg_buf, buffer_size);
+	sysarg_t rc = async_data_write_start(ldr->phone_id, (void *) arg_buf, buffer_size);
 	if (rc != EOK) {
 		async_wait_for(req, NULL);
@@ -267,5 +267,5 @@
 	ipc_call_t answer;
 	aid_t req = async_send_0(ldr->phone_id, LOADER_SET_FILES, &answer);
-	ipcarg_t rc = async_data_write_start(ldr->phone_id, (void *) files_buf,
+	sysarg_t rc = async_data_write_start(ldr->phone_id, (void *) files_buf,
 	    count * sizeof(fdi_node_t));
 	if (rc != EOK) {
Index: uspace/lib/c/generic/net/icmp_api.c
===================================================================
--- uspace/lib/c/generic/net/icmp_api.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/net/icmp_api.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -81,5 +81,5 @@
 {
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 
 	if (addrlen <= 0)
@@ -87,5 +87,5 @@
 
 	message_id = async_send_5(icmp_phone, NET_ICMP_ECHO, size, timeout, ttl,
-	    tos, (ipcarg_t) dont_fragment, NULL);
+	    tos, (sysarg_t) dont_fragment, NULL);
 
 	// send the address
Index: uspace/lib/c/generic/net/modules.c
===================================================================
--- uspace/lib/c/generic/net/modules.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/net/modules.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -67,21 +67,21 @@
 		switch (answer_count) {
 		case 0:
-			ipc_answer_0(callid, (ipcarg_t) result);
+			ipc_answer_0(callid, (sysarg_t) result);
 			break;
 		case 1:
-			ipc_answer_1(callid, (ipcarg_t) result,
+			ipc_answer_1(callid, (sysarg_t) result,
 			    IPC_GET_ARG1(*answer));
 			break;
 		case 2:
-			ipc_answer_2(callid, (ipcarg_t) result,
+			ipc_answer_2(callid, (sysarg_t) result,
 			    IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer));
 			break;
 		case 3:
-			ipc_answer_3(callid, (ipcarg_t) result,
+			ipc_answer_3(callid, (sysarg_t) result,
 			    IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer),
 			    IPC_GET_ARG3(*answer));
 			break;
 		case 4:
-			ipc_answer_4(callid, (ipcarg_t) result,
+			ipc_answer_4(callid, (sysarg_t) result,
 			    IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer),
 			    IPC_GET_ARG3(*answer), IPC_GET_ARG4(*answer));
@@ -89,5 +89,5 @@
 		case 5:
 		default:
-			ipc_answer_5(callid, (ipcarg_t) result,
+			ipc_answer_5(callid, (sysarg_t) result,
 			    IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer),
 			    IPC_GET_ARG3(*answer), IPC_GET_ARG4(*answer),
@@ -111,5 +111,5 @@
  *			function.
  */
-int bind_service(services_t need, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3,
+int bind_service(services_t need, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3,
     async_client_conn_t client_receiver)
 {
@@ -134,6 +134,6 @@
  *
  */
-int bind_service_timeout(services_t need, ipcarg_t arg1, ipcarg_t arg2,
-    ipcarg_t arg3, async_client_conn_t client_receiver, suseconds_t timeout)
+int bind_service_timeout(services_t need, sysarg_t arg1, sysarg_t arg2,
+    sysarg_t arg3, async_client_conn_t client_receiver, suseconds_t timeout)
 {
 	int rc;
@@ -143,5 +143,5 @@
 	if (phone >= 0) {
 		/* Request the bidirectional connection */
-		ipcarg_t phonehash;
+		sysarg_t phonehash;
 		
 		rc = ipc_connect_to_me(phone, arg1, arg2, arg3, &phonehash);
Index: uspace/lib/c/generic/net/socket_client.c
===================================================================
--- uspace/lib/c/generic/net/socket_client.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/net/socket_client.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -278,5 +278,5 @@
 	}
 
-	ipc_answer_0(callid, (ipcarg_t) rc);
+	ipc_answer_0(callid, (sysarg_t) rc);
 	goto loop;
 }
@@ -404,6 +404,6 @@
 	int socket_id;
 	services_t service;
-	ipcarg_t fragment_size;
-	ipcarg_t header_size;
+	sysarg_t fragment_size;
+	sysarg_t header_size;
 	int rc;
 
@@ -494,5 +494,5 @@
 		dyn_fifo_destroy(&socket->accepted);
 		free(socket);
-		async_msg_3(phone, NET_SOCKET_CLOSE, (ipcarg_t) socket_id, 0,
+		async_msg_3(phone, NET_SOCKET_CLOSE, (sysarg_t) socket_id, 0,
 		    service);
 		return rc;
@@ -516,10 +516,10 @@
  */
 static int
-socket_send_data(int socket_id, ipcarg_t message, ipcarg_t arg2,
+socket_send_data(int socket_id, sysarg_t message, sysarg_t arg2,
     const void *data, size_t datalength)
 {
 	socket_t *socket;
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 
 	if (!data)
@@ -540,5 +540,5 @@
 	// request the message
 	message_id = async_send_3(socket->phone, message,
-	    (ipcarg_t) socket->socket_id, arg2, socket->service, NULL);
+	    (sysarg_t) socket->socket_id, arg2, socket->service, NULL);
 	// send the address
 	async_data_write_start(socket->phone, data, datalength);
@@ -600,5 +600,5 @@
 	// request listen backlog change
 	result = (int) async_req_3_0(socket->phone, NET_SOCKET_LISTEN,
-	    (ipcarg_t) socket->socket_id, (ipcarg_t) backlog, socket->service);
+	    (sysarg_t) socket->socket_id, (sysarg_t) backlog, socket->service);
 
 	fibril_rwlock_read_unlock(&socket_globals.lock);
@@ -625,5 +625,5 @@
 	socket_t *new_socket;
 	aid_t message_id;
-	ipcarg_t ipc_result;
+	sysarg_t ipc_result;
 	int result;
 	ipc_call_t answer;
@@ -683,5 +683,5 @@
 	// request accept
 	message_id = async_send_5(socket->phone, NET_SOCKET_ACCEPT,
-	    (ipcarg_t) socket->socket_id, 0, socket->service, 0,
+	    (sysarg_t) socket->socket_id, 0, socket->service, 0,
 	    new_socket->socket_id, &answer);
 
@@ -782,5 +782,5 @@
 	// request close
 	rc = (int) async_req_3_0(socket->phone, NET_SOCKET_CLOSE,
-	    (ipcarg_t) socket->socket_id, 0, socket->service);
+	    (sysarg_t) socket->socket_id, 0, socket->service);
 	if (rc != EOK) {
 		fibril_rwlock_write_unlock(&socket_globals.lock);
@@ -815,5 +815,5 @@
  */
 static int
-sendto_core(ipcarg_t message, int socket_id, const void *data,
+sendto_core(sysarg_t message, int socket_id, const void *data,
     size_t datalength, int flags, const struct sockaddr *toaddr,
     socklen_t addrlen)
@@ -821,5 +821,5 @@
 	socket_t *socket;
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 	size_t fragments;
 	ipc_call_t answer;
@@ -855,7 +855,7 @@
 	// request send
 	message_id = async_send_5(socket->phone, message,
-	    (ipcarg_t) socket->socket_id,
+	    (sysarg_t) socket->socket_id,
 	    (fragments == 1 ? datalength : socket->data_fragment_size),
-	    socket->service, (ipcarg_t) flags, fragments, &answer);
+	    socket->service, (sysarg_t) flags, fragments, &answer);
 
 	// send the address if given
@@ -973,10 +973,10 @@
  */
 static int
-recvfrom_core(ipcarg_t message, int socket_id, void *data, size_t datalength,
+recvfrom_core(sysarg_t message, int socket_id, void *data, size_t datalength,
     int flags, struct sockaddr *fromaddr, socklen_t *addrlen)
 {
 	socket_t *socket;
 	aid_t message_id;
-	ipcarg_t ipc_result;
+	sysarg_t ipc_result;
 	int result;
 	size_t fragments;
@@ -1031,6 +1031,6 @@
 		// request packet data
 		message_id = async_send_4(socket->phone, message,
-		    (ipcarg_t) socket->socket_id, 0, socket->service,
-		    (ipcarg_t) flags, &answer);
+		    (sysarg_t) socket->socket_id, 0, socket->service,
+		    (sysarg_t) flags, &answer);
 
 		// read the address if desired
@@ -1060,6 +1060,6 @@
 		// request packet data
 		message_id = async_send_4(socket->phone, message,
-		    (ipcarg_t) socket->socket_id, 0, socket->service,
-		    (ipcarg_t) flags, &answer);
+		    (sysarg_t) socket->socket_id, 0, socket->service,
+		    (sysarg_t) flags, &answer);
 
 		// read the address if desired
@@ -1160,5 +1160,5 @@
 	socket_t *socket;
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 
 	if (!value || !optlen)
@@ -1179,5 +1179,5 @@
 	// request option value
 	message_id = async_send_3(socket->phone, NET_SOCKET_GETSOCKOPT,
-	    (ipcarg_t) socket->socket_id, (ipcarg_t) optname, socket->service,
+	    (sysarg_t) socket->socket_id, (sysarg_t) optname, socket->service,
 	    NULL);
 
@@ -1214,5 +1214,5 @@
 	// send the value
 	return socket_send_data(socket_id, NET_SOCKET_SETSOCKOPT,
-	    (ipcarg_t) optname, value, optlen);
+	    (sysarg_t) optname, value, optlen);
 }
 
Index: uspace/lib/c/generic/task.c
===================================================================
--- uspace/lib/c/generic/task.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/task.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -211,5 +211,5 @@
 int task_wait(task_id_t id, task_exit_t *texit, int *retval)
 {
-	ipcarg_t te, rv;
+	sysarg_t te, rv;
 	int rc;
 
Index: uspace/lib/c/generic/udebug.c
===================================================================
--- uspace/lib/c/generic/udebug.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/udebug.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -57,5 +57,5 @@
 	size_t *copied, size_t *needed)
 {
-	ipcarg_t a_copied, a_needed;
+	sysarg_t a_copied, a_needed;
 	int rc;
 
@@ -72,5 +72,5 @@
 	size_t *copied, size_t *needed)
 {
-	ipcarg_t a_copied, a_needed;
+	sysarg_t a_copied, a_needed;
 	int rc;
 
@@ -87,5 +87,5 @@
 	size_t *copied, size_t *needed)
 {
-	ipcarg_t a_copied, a_needed;
+	sysarg_t a_copied, a_needed;
 	int rc;
 
@@ -120,5 +120,5 @@
     sysarg_t *val0, sysarg_t *val1)
 {
-	ipcarg_t a_ev_type;
+	sysarg_t a_ev_type;
 	int rc;
 
Index: uspace/lib/c/generic/vfs/vfs.c
===================================================================
--- uspace/lib/c/generic/vfs/vfs.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/generic/vfs/vfs.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -158,7 +158,7 @@
 	vfs_connect();
 	
-	ipcarg_t rc_orig;
+	sysarg_t rc_orig;
 	aid_t req = async_send_2(vfs_phone, VFS_IN_MOUNT, devmap_handle, flags, NULL);
-	ipcarg_t rc = async_data_write_start(vfs_phone, (void *) mpa, mpa_size);
+	sysarg_t rc = async_data_write_start(vfs_phone, (void *) mpa, mpa_size);
 	if (rc != EOK) {
 		async_wait_for(req, &rc_orig);
@@ -238,6 +238,6 @@
 int unmount(const char *mp)
 {
-	ipcarg_t rc;
-	ipcarg_t rc_orig;
+	sysarg_t rc;
+	sysarg_t rc_orig;
 	aid_t req;
 	size_t mpa_size;
@@ -282,8 +282,8 @@
 	ipc_call_t answer;
 	aid_t req = async_send_3(vfs_phone, VFS_IN_OPEN, lflag, oflag, 0, &answer);
-	ipcarg_t rc = async_data_write_start(vfs_phone, abs, abs_size);
-	
-	if (rc != EOK) {
-		ipcarg_t rc_orig;
+	sysarg_t rc = async_data_write_start(vfs_phone, abs, abs_size);
+	
+	if (rc != EOK) {
+		sysarg_t rc_orig;
 		async_wait_for(req, &rc_orig);
 		
@@ -330,5 +330,5 @@
 	    node->devmap_handle, node->index, oflag, &answer);
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	async_wait_for(req, &rc);
 	async_serialize_end();
@@ -343,5 +343,5 @@
 int close(int fildes)
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	
 	futex_down(&vfs_phone_futex);
@@ -359,5 +359,5 @@
 ssize_t read(int fildes, void *buf, size_t nbyte) 
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	ipc_call_t answer;
 	aid_t req;
@@ -370,5 +370,5 @@
 	rc = async_data_read_start(vfs_phone, (void *)buf, nbyte);
 	if (rc != EOK) {
-		ipcarg_t rc_orig;
+		sysarg_t rc_orig;
 	
 		async_wait_for(req, &rc_orig);
@@ -391,5 +391,5 @@
 ssize_t write(int fildes, const void *buf, size_t nbyte) 
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	ipc_call_t answer;
 	aid_t req;
@@ -402,5 +402,5 @@
 	rc = async_data_write_start(vfs_phone, (void *)buf, nbyte);
 	if (rc != EOK) {
-		ipcarg_t rc_orig;
+		sysarg_t rc_orig;
 	
 		async_wait_for(req, &rc_orig);
@@ -427,5 +427,5 @@
 	vfs_connect();
 	
-	ipcarg_t rc = async_req_1_0(vfs_phone, VFS_IN_SYNC, fildes);
+	sysarg_t rc = async_req_1_0(vfs_phone, VFS_IN_SYNC, fildes);
 	
 	async_serialize_end();
@@ -441,7 +441,7 @@
 	vfs_connect();
 	
-	ipcarg_t newoff_lo;
-	ipcarg_t newoff_hi;
-	ipcarg_t rc = async_req_4_2(vfs_phone, VFS_IN_SEEK, fildes,
+	sysarg_t newoff_lo;
+	sysarg_t newoff_hi;
+	sysarg_t rc = async_req_4_2(vfs_phone, VFS_IN_SEEK, fildes,
 	    LOWER32(offset), UPPER32(offset), whence,
 	    &newoff_lo, &newoff_hi);
@@ -458,5 +458,5 @@
 int ftruncate(int fildes, aoff64_t length)
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	
 	futex_down(&vfs_phone_futex);
@@ -474,5 +474,5 @@
 int fstat(int fildes, struct stat *stat)
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	aid_t req;
 
@@ -484,5 +484,5 @@
 	rc = async_data_read_start(vfs_phone, (void *) stat, sizeof(struct stat));
 	if (rc != EOK) {
-		ipcarg_t rc_orig;
+		sysarg_t rc_orig;
 		
 		async_wait_for(req, &rc_orig);
@@ -503,6 +503,6 @@
 int stat(const char *path, struct stat *stat)
 {
-	ipcarg_t rc;
-	ipcarg_t rc_orig;
+	sysarg_t rc;
+	sysarg_t rc_orig;
 	aid_t req;
 	
@@ -593,5 +593,5 @@
 int mkdir(const char *path, mode_t mode)
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	aid_t req;
 	
@@ -608,5 +608,5 @@
 	rc = async_data_write_start(vfs_phone, pa, pa_size);
 	if (rc != EOK) {
-		ipcarg_t rc_orig;
+		sysarg_t rc_orig;
 	
 		async_wait_for(req, &rc_orig);
@@ -628,5 +628,5 @@
 static int _unlink(const char *path, int lflag)
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	aid_t req;
 	
@@ -643,5 +643,5 @@
 	rc = async_data_write_start(vfs_phone, pa, pa_size);
 	if (rc != EOK) {
-		ipcarg_t rc_orig;
+		sysarg_t rc_orig;
 
 		async_wait_for(req, &rc_orig);
@@ -673,6 +673,6 @@
 int rename(const char *old, const char *new)
 {
-	ipcarg_t rc;
-	ipcarg_t rc_orig;
+	sysarg_t rc;
+	sysarg_t rc_orig;
 	aid_t req;
 	
@@ -810,6 +810,6 @@
 	vfs_connect();
 	
-	ipcarg_t ret;
-	ipcarg_t rc = async_req_2_1(vfs_phone, VFS_IN_DUP, oldfd, newfd, &ret);
+	sysarg_t ret;
+	sysarg_t rc = async_req_2_1(vfs_phone, VFS_IN_DUP, oldfd, newfd, &ret);
 	
 	async_serialize_end();
Index: uspace/lib/c/include/async.h
===================================================================
--- uspace/lib/c/include/async.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/async.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -84,14 +84,14 @@
 	    (arg5), (dataptr))
 
-extern aid_t async_send_fast(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipc_call_t *dataptr);
-extern aid_t async_send_slow(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5,
+extern aid_t async_send_fast(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, ipc_call_t *dataptr);
+extern aid_t async_send_slow(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5,
     ipc_call_t *dataptr);
-extern void async_wait_for(aid_t amsgid, ipcarg_t *result);
-extern int async_wait_timeout(aid_t amsgid, ipcarg_t *retval,
+extern void async_wait_for(aid_t amsgid, sysarg_t *result);
+extern int async_wait_timeout(aid_t amsgid, sysarg_t *retval,
     suseconds_t timeout);
 
-extern fid_t async_new_connection(ipcarg_t in_phone_hash, ipc_callid_t callid,
+extern fid_t async_new_connection(sysarg_t in_phone_hash, ipc_callid_t callid,
     ipc_call_t *call, void (*cthread)(ipc_callid_t, ipc_call_t *));
 extern void async_usleep(suseconds_t timeout);
@@ -242,10 +242,10 @@
 	    (arg5), (rc1), (rc2), (rc3), (rc4), (rc5))
 
-extern ipcarg_t async_req_fast(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t *r1, ipcarg_t *r2,
-    ipcarg_t *r3, ipcarg_t *r4, ipcarg_t *r5);
-extern ipcarg_t async_req_slow(int phoneid, ipcarg_t method, ipcarg_t arg1,
-    ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5, ipcarg_t *r1,
-    ipcarg_t *r2, ipcarg_t *r3, ipcarg_t *r4, ipcarg_t *r5);
+extern sysarg_t async_req_fast(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2,
+    sysarg_t *r3, sysarg_t *r4, sysarg_t *r5);
+extern sysarg_t async_req_slow(int phoneid, sysarg_t method, sysarg_t arg1,
+    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1,
+    sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5);
 
 static inline void async_serialize_start(void)
@@ -259,6 +259,6 @@
 }
 
-extern int async_connect_me_to(int, ipcarg_t, ipcarg_t, ipcarg_t);
-extern int async_connect_me_to_blocking(int, ipcarg_t, ipcarg_t, ipcarg_t);
+extern int async_connect_me_to(int, sysarg_t, sysarg_t, sysarg_t);
+extern int async_connect_me_to_blocking(int, sysarg_t, sysarg_t, sysarg_t);
 
 /*
@@ -274,5 +274,5 @@
 	async_share_in_start((phoneid), (dst), (size), (arg), (flags))
 
-extern int async_share_in_start(int, void *, size_t, ipcarg_t, int *);
+extern int async_share_in_start(int, void *, size_t, sysarg_t, int *);
 extern int async_share_in_receive(ipc_callid_t *, size_t *);
 extern int async_share_in_finalize(ipc_callid_t, void *, int );
@@ -314,6 +314,6 @@
 extern int async_data_read_finalize(ipc_callid_t, const void *, size_t);
 
-extern int async_data_read_forward_fast(int, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t, ipcarg_t, ipc_call_t *);
+extern int async_data_read_forward_fast(int, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t, ipc_call_t *);
 
 /*
@@ -356,6 +356,6 @@
 extern void async_data_write_void(const int);
 
-extern int async_data_write_forward_fast(int, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t, ipcarg_t, ipc_call_t *);
+extern int async_data_write_forward_fast(int, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t, ipc_call_t *);
 
 #endif
Index: uspace/lib/c/include/event.h
===================================================================
--- uspace/lib/c/include/event.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/event.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -39,5 +39,5 @@
 #include <ipc/ipc.h>
 
-extern int event_subscribe(event_type_t, ipcarg_t);
+extern int event_subscribe(event_type_t, sysarg_t);
 
 #endif
Index: uspace/lib/c/include/io/console.h
===================================================================
--- uspace/lib/c/include/io/console.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/io/console.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -68,7 +68,7 @@
 extern void console_clear(int phone);
 
-extern int console_get_size(int phone, ipcarg_t *cols, ipcarg_t *rows);
-extern int console_get_pos(int phone, ipcarg_t *col, ipcarg_t *row);
-extern void console_set_pos(int phone, ipcarg_t col, ipcarg_t row);
+extern int console_get_size(int phone, sysarg_t *cols, sysarg_t *rows);
+extern int console_get_pos(int phone, sysarg_t *col, sysarg_t *row);
+extern void console_set_pos(int phone, sysarg_t col, sysarg_t row);
 
 extern void console_set_style(int phone, uint8_t style);
@@ -78,5 +78,5 @@
 
 extern void console_cursor_visibility(int phone, bool show);
-extern int console_get_color_cap(int phone, ipcarg_t *ccap);
+extern int console_get_color_cap(int phone, sysarg_t *ccap);
 extern void console_kcon_enable(int phone);
 
Index: uspace/lib/c/include/io/screenbuffer.h
===================================================================
--- uspace/lib/c/include/io/screenbuffer.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/io/screenbuffer.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -84,10 +84,10 @@
 	keyfield_t *buffer;      /**< Screen content - characters and
 	                              their attributes (used as a circular buffer) */
-	ipcarg_t size_x;         /**< Number of columns  */
-	ipcarg_t size_y;         /**< Number of rows */
+	sysarg_t size_x;         /**< Number of columns  */
+	sysarg_t size_y;         /**< Number of rows */
 	
 	/** Coordinates of last printed character for determining cursor position */
-	ipcarg_t position_x;
-	ipcarg_t position_y;
+	sysarg_t position_x;
+	sysarg_t position_y;
 	
 	attrs_t attrs;           /**< Current attributes. */
@@ -109,5 +109,5 @@
  *
  */
-static inline keyfield_t *get_field_at(screenbuffer_t *scr, ipcarg_t x, ipcarg_t y)
+static inline keyfield_t *get_field_at(screenbuffer_t *scr, sysarg_t x, sysarg_t y)
 {
 	return scr->buffer + x + ((y + scr->top_line) % scr->size_y) * scr->size_x;
@@ -143,10 +143,10 @@
 
 extern void screenbuffer_putchar(screenbuffer_t *, wchar_t);
-extern screenbuffer_t *screenbuffer_init(screenbuffer_t *, ipcarg_t, ipcarg_t);
+extern screenbuffer_t *screenbuffer_init(screenbuffer_t *, sysarg_t, sysarg_t);
 
 extern void screenbuffer_clear(screenbuffer_t *);
-extern void screenbuffer_clear_line(screenbuffer_t *, ipcarg_t);
+extern void screenbuffer_clear_line(screenbuffer_t *, sysarg_t);
 extern void screenbuffer_copy_buffer(screenbuffer_t *, keyfield_t *);
-extern void screenbuffer_goto(screenbuffer_t *, ipcarg_t, ipcarg_t);
+extern void screenbuffer_goto(screenbuffer_t *, sysarg_t, sysarg_t);
 extern void screenbuffer_set_style(screenbuffer_t *, uint8_t);
 extern void screenbuffer_set_color(screenbuffer_t *, uint8_t, uint8_t, uint8_t);
Index: uspace/lib/c/include/ipc/devman.h
===================================================================
--- uspace/lib/c/include/ipc/devman.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/ipc/devman.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -42,5 +42,5 @@
 #define DEVMAN_NAME_MAXLEN 256
 
-typedef ipcarg_t devman_handle_t;
+typedef sysarg_t devman_handle_t;
 
 /** Ids of device models used for device-to-driver matching.
Index: uspace/lib/c/include/ipc/devmap.h
===================================================================
--- uspace/lib/c/include/ipc/devmap.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/ipc/devmap.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -40,5 +40,5 @@
 #define DEVMAP_NAME_MAXLEN  255
 
-typedef ipcarg_t devmap_handle_t;
+typedef sysarg_t devmap_handle_t;
 
 typedef enum {
Index: uspace/lib/c/include/ipc/ip.h
===================================================================
--- uspace/lib/c/include/ipc/ip.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/ipc/ip.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -93,5 +93,5 @@
 #define IP_SET_HEADERLEN(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG2(*answer, argument); \
 	} while (0)
Index: uspace/lib/c/include/ipc/ipc.h
===================================================================
--- uspace/lib/c/include/ipc/ipc.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/ipc/ipc.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -44,9 +44,7 @@
 #define IPC_FLAG_BLOCKING  0x01
 
-typedef sysarg_t ipcarg_t;
-
 typedef struct {
-	ipcarg_t args[IPC_CALL_LEN];
-	ipcarg_t in_phone_hash;
+	sysarg_t args[IPC_CALL_LEN];
+	sysarg_t in_phone_hash;
 } ipc_call_t;
 
@@ -183,10 +181,10 @@
 	    (arg4), (arg5), (res1), (res2), (res3), (res4), (res5))
 
-extern int ipc_call_sync_fast(int, ipcarg_t, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t *, ipcarg_t *, ipcarg_t *, ipcarg_t *, ipcarg_t *);
-
-extern int ipc_call_sync_slow(int, ipcarg_t, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t, ipcarg_t, ipcarg_t *, ipcarg_t *, ipcarg_t *, ipcarg_t *,
-    ipcarg_t *);
+extern int ipc_call_sync_fast(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *);
+
+extern int ipc_call_sync_slow(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *,
+    sysarg_t *);
 
 extern ipc_callid_t ipc_wait_cycle(ipc_call_t *, uint32_t, int);
@@ -220,8 +218,8 @@
 	ipc_answer_slow((callid), (retval), (arg1), (arg2), (arg3), (arg4), (arg5))
 
-extern ipcarg_t ipc_answer_fast(ipc_callid_t, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t, ipcarg_t);
-extern ipcarg_t ipc_answer_slow(ipc_callid_t, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t, ipcarg_t, ipcarg_t);
+extern sysarg_t ipc_answer_fast(ipc_callid_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t);
+extern sysarg_t ipc_answer_slow(ipc_callid_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t, sysarg_t);
 
 /*
@@ -255,10 +253,10 @@
 	    (arg4), (arg5), (private), (callback), (can_preempt))
 
-extern void ipc_call_async_fast(int, ipcarg_t, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t, void *, ipc_async_callback_t, int);
-extern void ipc_call_async_slow(int, ipcarg_t, ipcarg_t, ipcarg_t, ipcarg_t,
-    ipcarg_t, ipcarg_t, void *, ipc_async_callback_t, int);
-
-extern int ipc_connect_to_me(int, int, int, int, ipcarg_t *);
+extern void ipc_call_async_fast(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, void *, ipc_async_callback_t, int);
+extern void ipc_call_async_slow(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t, void *, ipc_async_callback_t, int);
+
+extern int ipc_connect_to_me(int, int, int, int, sysarg_t *);
 extern int ipc_connect_me_to(int, int, int, int);
 extern int ipc_connect_me_to_blocking(int, int, int, int);
@@ -266,7 +264,7 @@
 extern int ipc_register_irq(int, int, int, irq_code_t *);
 extern int ipc_unregister_irq(int, int);
-extern int ipc_forward_fast(ipc_callid_t, int, int, ipcarg_t, ipcarg_t, int);
-extern int ipc_forward_slow(ipc_callid_t, int, int, ipcarg_t, ipcarg_t,
-    ipcarg_t, ipcarg_t, ipcarg_t, int);
+extern int ipc_forward_fast(ipc_callid_t, int, int, sysarg_t, sysarg_t, int);
+extern int ipc_forward_slow(ipc_callid_t, int, int, sysarg_t, sysarg_t,
+    sysarg_t, sysarg_t, sysarg_t, int);
 
 /*
@@ -282,5 +280,5 @@
 	ipc_share_in_start((phoneid), (dst), (size), (arg), (flags))
 
-extern int ipc_share_in_start(int, void *, size_t, ipcarg_t, int *);
+extern int ipc_share_in_start(int, void *, size_t, sysarg_t, int *);
 extern int ipc_share_in_finalize(ipc_callid_t, void *, int );
 extern int ipc_share_out_start(int, void *, int);
Index: uspace/lib/c/include/ipc/net.h
===================================================================
--- uspace/lib/c/include/ipc/net.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/ipc/net.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -370,5 +370,5 @@
 #define IPC_SET_DEVICE(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG1(*answer, argument); \
 	} while (0)
@@ -379,5 +379,5 @@
 #define IPC_SET_ADDR(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG1(*answer, argument); \
 	} while (0)
@@ -388,5 +388,5 @@
 #define IPC_SET_PREFIX(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG2(*answer, argument); \
 	} while (0)
@@ -397,5 +397,5 @@
 #define IPC_SET_CONTENT(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG3(*answer, argument); \
 	} while (0)
@@ -406,5 +406,5 @@
 #define IPC_SET_SUFFIX(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG4(*answer, argument); \
 	} while (0)
Index: uspace/lib/c/include/ipc/socket.h
===================================================================
--- uspace/lib/c/include/ipc/socket.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/ipc/socket.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -84,5 +84,5 @@
 #define SOCKET_SET_SOCKET_ID(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG1(answer, argument); \
 	} while (0)
@@ -102,5 +102,5 @@
 #define SOCKET_SET_READ_DATA_LENGTH(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG1(answer, argument); \
 	} while (0)
@@ -147,5 +147,5 @@
 #define SOCKET_SET_DATA_FRAGMENT_SIZE(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG2(answer, argument); \
 	} while (0)
@@ -156,5 +156,5 @@
 #define SOCKET_SET_ADDRESS_LENGTH(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG3(answer, argument);\
 	} while (0)
@@ -174,5 +174,5 @@
 #define SOCKET_SET_HEADER_SIZE(answer, value) \
 	do { \
-		ipcarg_t argument = (ipcarg_t) (value); \
+		sysarg_t argument = (sysarg_t) (value); \
 		IPC_SET_ARG3(answer, argument); \
 	} while (0)
Index: uspace/lib/c/include/net/modules.h
===================================================================
--- uspace/lib/c/include/net/modules.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/c/include/net/modules.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -74,7 +74,7 @@
 
 extern void answer_call(ipc_callid_t, int, ipc_call_t *, int);
-extern int bind_service(services_t, ipcarg_t, ipcarg_t, ipcarg_t,
+extern int bind_service(services_t, sysarg_t, sysarg_t, sysarg_t,
     async_client_conn_t);
-extern int bind_service_timeout(services_t, ipcarg_t, ipcarg_t, ipcarg_t,
+extern int bind_service_timeout(services_t, sysarg_t, sysarg_t, sysarg_t,
     async_client_conn_t, suseconds_t);
 extern int connect_to_service(services_t);
Index: uspace/lib/clui/tinput.c
===================================================================
--- uspace/lib/clui/tinput.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/clui/tinput.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -140,6 +140,6 @@
 static void tinput_update_origin(tinput_t *ti)
 {
-	ipcarg_t width = ti->col0 + ti->nc;
-	ipcarg_t rows = (width / ti->con_cols) + 1;
+	sysarg_t width = ti->col0 + ti->nc;
+	sysarg_t rows = (width / ti->con_cols) + 1;
 	
 	/* Update row0 if the screen scrolled. */
@@ -153,8 +153,8 @@
 		return;
 	
-	ipcarg_t new_width = ti->col0 + ti->nc + 1;
+	sysarg_t new_width = ti->col0 + ti->nc + 1;
 	if (new_width % ti->con_cols == 0) {
 		/* Advancing to new line. */
-		ipcarg_t new_height = (new_width / ti->con_cols) + 1;
+		sysarg_t new_height = (new_width / ti->con_cols) + 1;
 		if (new_height >= ti->con_rows) {
 			/* Disallow text longer than 1 page for now. */
@@ -184,6 +184,6 @@
 		return;
 	
-	ipcarg_t new_width = ti->col0 + ti->nc + ilen;
-	ipcarg_t new_height = (new_width / ti->con_cols) + 1;
+	sysarg_t new_width = ti->col0 + ti->nc + ilen;
+	sysarg_t new_height = (new_width / ti->con_cols) + 1;
 	if (new_height >= ti->con_rows) {
 		/* Disallow text longer than 1 page for now. */
Index: uspace/lib/clui/tinput.h
===================================================================
--- uspace/lib/clui/tinput.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/clui/tinput.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -51,10 +51,10 @@
 	
 	/** Screen coordinates of the top-left corner of the text field */
-	ipcarg_t col0;
-	ipcarg_t row0;
+	sysarg_t col0;
+	sysarg_t row0;
 	
 	/** Screen dimensions */
-	ipcarg_t con_cols;
-	ipcarg_t con_rows;
+	sysarg_t con_cols;
+	sysarg_t con_rows;
 	
 	/** Number of characters in @c buffer */
Index: uspace/lib/drv/generic/dev_iface.c
===================================================================
--- uspace/lib/drv/generic/dev_iface.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/drv/generic/dev_iface.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -54,5 +54,5 @@
 
 remote_iface_func_ptr_t
-get_remote_method(remote_iface_t *rem_iface, ipcarg_t iface_method_idx)
+get_remote_method(remote_iface_t *rem_iface, sysarg_t iface_method_idx)
 {
 	if (iface_method_idx >= rem_iface->method_count) {
Index: uspace/lib/drv/generic/driver.c
===================================================================
--- uspace/lib/drv/generic/driver.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/drv/generic/driver.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -254,5 +254,5 @@
 		ipc_call_t call;
 		callid = async_get_call(&call);
-		ipcarg_t method = IPC_GET_METHOD(call);
+		sysarg_t method = IPC_GET_METHOD(call);
 		int iface_idx;
 		
@@ -308,5 +308,5 @@
 
 			/* get the method of the remote interface */
-			ipcarg_t iface_method_idx = IPC_GET_ARG1(call);
+			sysarg_t iface_method_idx = IPC_GET_ARG1(call);
 			remote_iface_func_ptr_t iface_method_ptr =
 			    get_remote_method(rem_iface, iface_method_idx);
@@ -346,5 +346,5 @@
 {
 	/* Select interface */
-	switch ((ipcarg_t) (IPC_GET_ARG1(*icall))) {
+	switch ((sysarg_t) (IPC_GET_ARG1(*icall))) {
 	case DRIVER_DEVMAN:
 		/* handle PnP events from device manager */
Index: uspace/lib/drv/include/driver.h
===================================================================
--- uspace/lib/drv/include/driver.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/drv/include/driver.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -79,5 +79,5 @@
 
 remote_iface_t *get_remote_iface(int);
-remote_iface_func_ptr_t get_remote_method(remote_iface_t *, ipcarg_t);
+remote_iface_func_ptr_t get_remote_method(remote_iface_t *, sysarg_t);
 
 
Index: uspace/lib/fs/libfs.c
===================================================================
--- uspace/lib/fs/libfs.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/fs/libfs.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -155,5 +155,5 @@
 	devmap_handle_t mr_devmap_handle = (devmap_handle_t) IPC_GET_ARG4(*request);
 	int res;
-	ipcarg_t rc;
+	sysarg_t rc;
 	
 	ipc_call_t call;
Index: uspace/lib/fs/libfs.h
===================================================================
--- uspace/lib/fs/libfs.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/fs/libfs.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -86,5 +86,5 @@
 typedef struct {
 	int fs_handle;           /**< File system handle. */
-	ipcarg_t vfs_phonehash;  /**< Initial VFS phonehash. */
+	sysarg_t vfs_phonehash;  /**< Initial VFS phonehash. */
 	uint8_t *plb_ro;         /**< Read-only PLB view. */
 } fs_reg_t;
Index: uspace/lib/net/generic/generic.c
===================================================================
--- uspace/lib/net/generic/generic.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/net/generic/generic.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -59,6 +59,6 @@
     int state, services_t target)
 {
-	async_msg_3(phone, (ipcarg_t) message, (ipcarg_t) device_id,
-	    (ipcarg_t) state, target);
+	async_msg_3(phone, (sysarg_t) message, (sysarg_t) device_id,
+	    (sysarg_t) state, target);
 	
 	return EOK;
@@ -81,6 +81,6 @@
     int arg2, services_t service)
 {
-	return (int) async_req_3_0(phone, (ipcarg_t) message,
-	    (ipcarg_t) device_id, (ipcarg_t) arg2, (ipcarg_t) service);
+	return (int) async_req_3_0(phone, (sysarg_t) message,
+	    (sysarg_t) device_id, (sysarg_t) arg2, (sysarg_t) service);
 }
 
@@ -103,5 +103,5 @@
 {
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 	int string;
 
@@ -110,6 +110,6 @@
 
 	// request the address
-	message_id = async_send_1(phone, (ipcarg_t) message,
-	    (ipcarg_t) device_id, NULL);
+	message_id = async_send_1(phone, (sysarg_t) message,
+	    (sysarg_t) device_id, NULL);
 	string = measured_strings_return(phone, address, data, 1);
 	async_wait_for(message_id, &result);
@@ -143,11 +143,11 @@
 		return EBADMEM;
 	
-	ipcarg_t addr_len;
-	ipcarg_t prefix;
-	ipcarg_t content;
-	ipcarg_t suffix;
-	
-	ipcarg_t result = async_req_1_4(phone, (ipcarg_t) message,
-	    (ipcarg_t) device_id, &addr_len, &prefix, &content, &suffix);
+	sysarg_t addr_len;
+	sysarg_t prefix;
+	sysarg_t content;
+	sysarg_t suffix;
+	
+	sysarg_t result = async_req_1_4(phone, (sysarg_t) message,
+	    (sysarg_t) device_id, &addr_len, &prefix, &content, &suffix);
 	
 	packet_dimension->prefix = (size_t) prefix;
@@ -175,9 +175,9 @@
 {
 	if (error) {
-		async_msg_4(phone, (ipcarg_t) message, (ipcarg_t) device_id,
-		    (ipcarg_t) packet_id, (ipcarg_t) target, (ipcarg_t) error);
+		async_msg_4(phone, (sysarg_t) message, (sysarg_t) device_id,
+		    (sysarg_t) packet_id, (sysarg_t) target, (sysarg_t) error);
 	} else {
-		async_msg_3(phone, (ipcarg_t) message, (ipcarg_t) device_id,
-		    (ipcarg_t) packet_id, (ipcarg_t) target);
+		async_msg_3(phone, (sysarg_t) message, (sysarg_t) device_id,
+		    (sysarg_t) packet_id, (sysarg_t) target);
 	}
 	
@@ -201,9 +201,9 @@
 {
 	if (error) {
-		async_msg_4(phone, (ipcarg_t) message, (ipcarg_t) device_id,
-		    (ipcarg_t) packet_id, (ipcarg_t) sender, (ipcarg_t) error);
+		async_msg_4(phone, (sysarg_t) message, (sysarg_t) device_id,
+		    (sysarg_t) packet_id, (sysarg_t) sender, (sysarg_t) error);
 	} else {
-		async_msg_3(phone, (ipcarg_t) message, (ipcarg_t) device_id,
-		    (ipcarg_t) packet_id, (ipcarg_t) sender);
+		async_msg_3(phone, (sysarg_t) message, (sysarg_t) device_id,
+		    (sysarg_t) packet_id, (sysarg_t) sender);
 	}
 	
@@ -237,5 +237,5 @@
 {
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 	int string;
 
@@ -246,6 +246,6 @@
 
 	// request the translation
-	message_id = async_send_3(phone, (ipcarg_t) message,
-	    (ipcarg_t) device_id, (ipcarg_t) count, (ipcarg_t) service, NULL);
+	message_id = async_send_3(phone, (sysarg_t) message,
+	    (sysarg_t) device_id, (sysarg_t) count, (sysarg_t) service, NULL);
 	measured_strings_send(phone, configuration, count);
 	string = measured_strings_return(phone, translation, data, count);
Index: uspace/lib/net/generic/packet_remote.c
===================================================================
--- uspace/lib/net/generic/packet_remote.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/net/generic/packet_remote.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -86,5 +86,5 @@
 	}
 	
-	ipcarg_t result;
+	sysarg_t result;
 	async_wait_for(message, &result);
 	
@@ -116,5 +116,5 @@
 	*packet = pm_find(packet_id);
 	if (!*packet) {
-		ipcarg_t size;
+		sysarg_t size;
 		
 		rc = async_req_1_1(phone, NET_PACKET_GET_SIZE, packet_id,
@@ -151,6 +151,6 @@
     size_t max_prefix, size_t max_suffix)
 {
-	ipcarg_t packet_id;
-	ipcarg_t size;
+	sysarg_t packet_id;
+	sysarg_t size;
 	int rc;
 	
@@ -182,6 +182,6 @@
 packet_t *packet_get_1_remote(int phone, size_t content)
 {
-	ipcarg_t packet_id;
-	ipcarg_t size;
+	sysarg_t packet_id;
+	sysarg_t size;
 	int rc;
 	
Index: uspace/lib/net/il/arp_remote.c
===================================================================
--- uspace/lib/net/il/arp_remote.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/net/il/arp_remote.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -86,8 +86,8 @@
 {
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 
 	message_id = async_send_2(arp_phone, NET_ARP_CLEAR_ADDRESS,
-	    (ipcarg_t) device_id, protocol, NULL);
+	    (sysarg_t) device_id, protocol, NULL);
 	measured_strings_send(arp_phone, address, 1);
 	async_wait_for(message_id, &result);
@@ -106,5 +106,5 @@
 {
 	return (int) async_req_1_0(arp_phone, NET_ARP_CLEAR_DEVICE,
-	    (ipcarg_t) device_id);
+	    (sysarg_t) device_id);
 }
 
@@ -136,8 +136,8 @@
 {
 	aid_t message_id;
-	ipcarg_t result;
+	sysarg_t result;
 
 	message_id = async_send_3(arp_phone, NET_ARP_DEVICE,
-	    (ipcarg_t) device_id, protocol, netif, NULL);
+	    (sysarg_t) device_id, protocol, netif, NULL);
 	measured_strings_send(arp_phone, address, 1);
 	async_wait_for(message_id, &result);
Index: uspace/lib/net/il/ip_remote.c
===================================================================
--- uspace/lib/net/il/ip_remote.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/net/il/ip_remote.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -67,6 +67,6 @@
 {
 	return (int) async_req_4_0(ip_phone, NET_IP_ADD_ROUTE,
-	    (ipcarg_t) device_id, (ipcarg_t) gateway.s_addr,
-	    (ipcarg_t) address.s_addr, (ipcarg_t) netmask.s_addr);
+	    (sysarg_t) device_id, (sysarg_t) gateway.s_addr,
+	    (sysarg_t) address.s_addr, (sysarg_t) netmask.s_addr);
 }
 
@@ -86,5 +86,5 @@
     async_client_conn_t receiver)
 {
-	return (int) bind_service(service, (ipcarg_t) protocol, me, service,
+	return (int) bind_service(service, (sysarg_t) protocol, me, service,
 	    receiver);
 }
@@ -151,5 +151,5 @@
 	ipc_call_t answer;
 	aid_t message_id = async_send_1(ip_phone, NET_IP_GET_ROUTE,
-	    (ipcarg_t) protocol, &answer);
+	    (sysarg_t) protocol, &answer);
 	
 	if ((async_data_write_start(ip_phone, destination, addrlen) == EOK) &&
@@ -164,5 +164,5 @@
 	}
 	
-	ipcarg_t result;
+	sysarg_t result;
 	async_wait_for(message_id, &result);
 	
@@ -244,5 +244,5 @@
 {
 	return (int) async_req_2_0(ip_phone, NET_IP_SET_GATEWAY,
-	    (ipcarg_t) device_id, (ipcarg_t) gateway.s_addr);
+	    (sysarg_t) device_id, (sysarg_t) gateway.s_addr);
 }
 
Index: uspace/lib/net/netif/netif_remote.c
===================================================================
--- uspace/lib/net/netif/netif_remote.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/net/netif/netif_remote.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -144,8 +144,8 @@
 	
 	aid_t message_id = async_send_1(netif_phone, NET_NETIF_STATS,
-	    (ipcarg_t) device_id, NULL);
+	    (sysarg_t) device_id, NULL);
 	async_data_read_start(netif_phone, stats, sizeof(*stats));
 	
-	ipcarg_t result;
+	sysarg_t result;
 	async_wait_for(message_id, &result);
 	
Index: uspace/lib/net/tl/icmp_remote.c
===================================================================
--- uspace/lib/net/tl/icmp_remote.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/net/tl/icmp_remote.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -65,6 +65,6 @@
     icmp_param_t mtu, packet_t *packet)
 {
-	async_msg_3(icmp_phone, NET_ICMP_DEST_UNREACH, (ipcarg_t) code,
-	    (ipcarg_t) packet_get_id(packet), (ipcarg_t) mtu);
+	async_msg_3(icmp_phone, NET_ICMP_DEST_UNREACH, (sysarg_t) code,
+	    (sysarg_t) packet_get_id(packet), (sysarg_t) mtu);
 	return EOK;
 }
@@ -85,5 +85,5 @@
 {
 	async_msg_2(icmp_phone, NET_ICMP_SOURCE_QUENCH, 0,
-	    (ipcarg_t) packet_get_id(packet));
+	    (sysarg_t) packet_get_id(packet));
 	return EOK;
 }
@@ -104,6 +104,6 @@
 int icmp_time_exceeded_msg(int icmp_phone, icmp_code_t code, packet_t *packet)
 {
-	async_msg_2(icmp_phone, NET_ICMP_TIME_EXCEEDED, (ipcarg_t) code,
-	    (ipcarg_t) packet_get_id(packet));
+	async_msg_2(icmp_phone, NET_ICMP_TIME_EXCEEDED, (sysarg_t) code,
+	    (sysarg_t) packet_get_id(packet));
 	return EOK;
 }
@@ -126,6 +126,6 @@
     icmp_param_t pointer, packet_t *packet)
 {
-	async_msg_3(icmp_phone, NET_ICMP_PARAMETERPROB, (ipcarg_t) code,
-	    (ipcarg_t) packet_get_id(packet), (ipcarg_t) pointer);
+	async_msg_3(icmp_phone, NET_ICMP_PARAMETERPROB, (sysarg_t) code,
+	    (sysarg_t) packet_get_id(packet), (sysarg_t) pointer);
 	return EOK;
 }
Index: uspace/lib/packet/generic/packet_server.c
===================================================================
--- uspace/lib/packet/generic/packet_server.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/lib/packet/generic/packet_server.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -337,6 +337,6 @@
 			return ENOMEM;
 		*answer_count = 2;
-		IPC_SET_ARG1(*answer, (ipcarg_t) packet->packet_id);
-		IPC_SET_ARG2(*answer, (ipcarg_t) packet->length);
+		IPC_SET_ARG1(*answer, (sysarg_t) packet->packet_id);
+		IPC_SET_ARG2(*answer, (sysarg_t) packet->length);
 		return EOK;
 	
@@ -351,6 +351,6 @@
 			return ENOMEM;
 		*answer_count = 2;
-		IPC_SET_ARG1(*answer, (ipcarg_t) packet->packet_id);
-		IPC_SET_ARG2(*answer, (ipcarg_t) packet->length);
+		IPC_SET_ARG1(*answer, (sysarg_t) packet->packet_id);
+		IPC_SET_ARG2(*answer, (sysarg_t) packet->length);
 		return EOK;
 	
@@ -365,5 +365,5 @@
 		if (!packet_is_valid(packet))
 			return ENOENT;
-		IPC_SET_ARG1(*answer, (ipcarg_t) packet->length);
+		IPC_SET_ARG1(*answer, (sysarg_t) packet->length);
 		*answer_count = 1;
 		return EOK;
Index: uspace/srv/bd/ata_bd/ata_bd.c
===================================================================
--- uspace/srv/bd/ata_bd/ata_bd.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/bd/ata_bd/ata_bd.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -229,5 +229,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	devmap_handle_t dh;
 	int flags;
Index: uspace/srv/bd/file_bd/file_bd.c
===================================================================
--- uspace/srv/bd/file_bd/file_bd.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/bd/file_bd/file_bd.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -177,5 +177,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	size_t comm_size;
 	int flags;
Index: uspace/srv/bd/gxe_bd/gxe_bd.c
===================================================================
--- uspace/srv/bd/gxe_bd/gxe_bd.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/bd/gxe_bd/gxe_bd.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -160,5 +160,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	devmap_handle_t dh;
 	int flags;
Index: uspace/srv/bd/part/guid_part/guid_part.c
===================================================================
--- uspace/srv/bd/part/guid_part/guid_part.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/bd/part/guid_part/guid_part.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -315,5 +315,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	devmap_handle_t dh;
 	int flags;
Index: uspace/srv/bd/part/mbr_part/mbr_part.c
===================================================================
--- uspace/srv/bd/part/mbr_part/mbr_part.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/bd/part/mbr_part/mbr_part.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -393,5 +393,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	devmap_handle_t dh;
 	int flags;
Index: uspace/srv/clip/clip.c
===================================================================
--- uspace/srv/clip/clip.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/clip/clip.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -118,5 +118,5 @@
 		}
 		
-		ipcarg_t retval = async_data_read_finalize(callid, clip_data, size);
+		sysarg_t retval = async_data_read_finalize(callid, clip_data, size);
 		if (retval != EOK) {
 			ipc_answer_0(rid, retval);
@@ -145,5 +145,5 @@
 	
 	fibril_mutex_unlock(&clip_mtx);
-	ipc_answer_2(rid, EOK, (ipcarg_t) size, (ipcarg_t) tag);
+	ipc_answer_2(rid, EOK, (sysarg_t) size, (sysarg_t) tag);
 }
 
@@ -183,5 +183,5 @@
 	async_set_client_connection(clip_connection);
 	
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	if (ipc_connect_to_me(PHONE_NS, SERVICE_CLIPBOARD, 0, 0, &phonead) != 0) 
 		return -1;
Index: uspace/srv/devman/devman.c
===================================================================
--- uspace/srv/devman/devman.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/devman/devman.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -498,5 +498,5 @@
  * @param phone		The phone to the driver.
  */
-void set_driver_phone(driver_t *driver, ipcarg_t phone)
+void set_driver_phone(driver_t *driver, sysarg_t phone)
 {
 	fibril_mutex_lock(&driver->driver_mutex);
@@ -692,5 +692,5 @@
 	    node->name);
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	ipc_call_t answer;
 	
Index: uspace/srv/devman/devman.h
===================================================================
--- uspace/srv/devman/devman.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/devman/devman.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -86,5 +86,5 @@
 	
 	/** Phone asociated with this driver. */
-	ipcarg_t phone;
+	sysarg_t phone;
 	/** Name of the device driver. */
 	char *name;
@@ -302,5 +302,5 @@
 
 extern driver_t *find_driver(driver_list_t *, const char *);
-extern void set_driver_phone(driver_t *, ipcarg_t);
+extern void set_driver_phone(driver_t *, sysarg_t);
 extern void initialize_running_driver(driver_t *, dev_tree_t *);
 
Index: uspace/srv/devman/main.c
===================================================================
--- uspace/srv/devman/main.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/devman/main.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -184,5 +184,5 @@
  * @return		Zero on success, negative error code otherwise.
  */
-static int devman_receive_match_ids(ipcarg_t match_count,
+static int devman_receive_match_ids(sysarg_t match_count,
     match_id_list_t *match_ids)
 {
@@ -211,5 +211,5 @@
 {
 	devman_handle_t parent_handle = IPC_GET_ARG1(*call);
-	ipcarg_t match_count = IPC_GET_ARG2(*call);
+	sysarg_t match_count = IPC_GET_ARG2(*call);
 	dev_tree_t *tree = &device_tree;
 	
@@ -531,5 +531,5 @@
 	
 	/* Select interface. */
-	switch ((ipcarg_t) (IPC_GET_ARG1(*icall))) {
+	switch ((sysarg_t) (IPC_GET_ARG1(*icall))) {
 	case DEVMAN_DRIVER:
 		devman_connection_driver(iid, icall);
@@ -599,5 +599,5 @@
 
 	/* Register device manager at naming service. */
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	if (ipc_connect_to_me(PHONE_NS, SERVICE_DEVMAN, 0, 0, &phonead) != 0)
 		return -1;
Index: uspace/srv/devmap/devmap.c
===================================================================
--- uspace/srv/devmap/devmap.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/devmap/devmap.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -61,5 +61,5 @@
 	link_t devices;
 	/** Phone asociated with this driver */
-	ipcarg_t phone;
+	sysarg_t phone;
 	/** Device driver name */
 	char *name;
@@ -823,5 +823,5 @@
 	}
 	
-	ipcarg_t retval = async_data_read_finalize(callid, desc, size);
+	sysarg_t retval = async_data_read_finalize(callid, desc, size);
 	
 	free(desc);
@@ -890,5 +890,5 @@
 	}
 	
-	ipcarg_t retval = async_data_read_finalize(callid, desc, size);
+	sysarg_t retval = async_data_read_finalize(callid, desc, size);
 	
 	free(desc);
@@ -964,10 +964,10 @@
 	fibril_mutex_unlock(&null_devices_mutex);
 	
-	ipc_answer_1(iid, EOK, (ipcarg_t) i);
+	ipc_answer_1(iid, EOK, (sysarg_t) i);
 }
 
 static void devmap_null_destroy(ipc_callid_t iid, ipc_call_t *icall)
 {
-	ipcarg_t i = IPC_GET_ARG1(*icall);
+	sysarg_t i = IPC_GET_ARG1(*icall);
 	if (i >= NULL_DEVICES) {
 		ipc_answer_0(iid, ELIMIT);
@@ -1121,5 +1121,5 @@
 {
 	/* Select interface */
-	switch ((ipcarg_t) (IPC_GET_ARG1(*icall))) {
+	switch ((sysarg_t) (IPC_GET_ARG1(*icall))) {
 	case DEVMAP_DRIVER:
 		devmap_connection_driver(iid, icall);
@@ -1154,5 +1154,5 @@
 	
 	/* Register device mapper at naming service */
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	if (ipc_connect_to_me(PHONE_NS, SERVICE_DEVMAP, 0, 0, &phonead) != 0) 
 		return -1;
Index: uspace/srv/fs/devfs/devfs_ops.c
===================================================================
--- uspace/srv/fs/devfs/devfs_ops.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/fs/devfs/devfs_ops.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -420,5 +420,5 @@
 	
 	/* Accept the mount options */
-	ipcarg_t retval = async_data_write_accept((void **) &opts, true, 0, 0,
+	sysarg_t retval = async_data_write_accept((void **) &opts, true, 0, 0,
 	    0, NULL);
 	if (retval != EOK) {
@@ -584,5 +584,5 @@
 		
 		/* Wait for reply from the driver. */
-		ipcarg_t rc;
+		sysarg_t rc;
 		async_wait_for(msg, &rc);
 		size_t bytes = IPC_GET_ARG1(answer);
@@ -648,5 +648,5 @@
 		
 		/* Wait for reply from the driver. */
-		ipcarg_t rc;
+		sysarg_t rc;
 		async_wait_for(msg, &rc);
 		size_t bytes = IPC_GET_ARG1(answer);
@@ -752,5 +752,5 @@
 		
 		/* Wait for reply from the driver */
-		ipcarg_t rc;
+		sysarg_t rc;
 		async_wait_for(msg, &rc);
 		
Index: uspace/srv/fs/fat/fat_ops.c
===================================================================
--- uspace/srv/fs/fat/fat_ops.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/fs/fat/fat_ops.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -1257,5 +1257,5 @@
 
 	rc = fat_node_put(fn);
-	ipc_answer_1(rid, rc, (ipcarg_t)bytes);
+	ipc_answer_1(rid, rc, (sysarg_t)bytes);
 }
 
Index: uspace/srv/hid/adb_mouse/adb_dev.c
===================================================================
--- uspace/srv/hid/adb_mouse/adb_dev.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/adb_mouse/adb_dev.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -68,5 +68,5 @@
 
 	/* NB: The callback connection is slotted for removal */
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	if (ipc_connect_to_me(dev_phone, 0, 0, 0, &phonehash) != 0) {
 		printf(NAME ": Failed to create callback from device\n");
Index: uspace/srv/hid/char_mouse/chardev.c
===================================================================
--- uspace/srv/hid/char_mouse/chardev.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/char_mouse/chardev.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -70,5 +70,5 @@
 
 	/* NB: The callback connection is slotted for removal */
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	if (ipc_connect_to_me(dev_phone, 0, 0, 0, &phonehash) != 0) {
 		printf(NAME ": Failed to create callback from device\n");
Index: uspace/srv/hid/console/console.c
===================================================================
--- uspace/srv/hid/console/console.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/console/console.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -74,7 +74,7 @@
 struct {
 	int phone;           /**< Framebuffer phone */
-	ipcarg_t cols;       /**< Framebuffer columns */
-	ipcarg_t rows;       /**< Framebuffer rows */
-	ipcarg_t color_cap;  /**< Color capabilities (FB_CCAP_xxx) */
+	sysarg_t cols;       /**< Framebuffer columns */
+	sysarg_t rows;       /**< Framebuffer rows */
+	sysarg_t color_cap;  /**< Color capabilities (FB_CCAP_xxx) */
 } fb_info;
 
@@ -101,7 +101,7 @@
 /** Information on row-span yet unsent to FB driver. */
 struct {
-	ipcarg_t col;  /**< Leftmost column of the span. */
-	ipcarg_t row;  /**< Row where the span lies. */
-	ipcarg_t cnt;  /**< Width of the span. */
+	sysarg_t col;  /**< Leftmost column of the span. */
+	sysarg_t row;  /**< Row where the span lies. */
+	sysarg_t cnt;  /**< Width of the span. */
 } fb_pending;
 
@@ -119,5 +119,5 @@
 }
 
-static void curs_goto(ipcarg_t x, ipcarg_t y)
+static void curs_goto(sysarg_t x, sysarg_t y)
 {
 	async_msg_2(fb_info.phone, FB_CURSOR_GOTO, x, y);
@@ -180,5 +180,5 @@
 }
 
-static int ccap_fb_to_con(ipcarg_t ccap_fb, ipcarg_t *ccap_con)
+static int ccap_fb_to_con(sysarg_t ccap_fb, sysarg_t *ccap_con)
 {
 	switch (ccap_fb) {
@@ -203,9 +203,9 @@
 
 /** Send an area of screenbuffer to the FB driver. */
-static void fb_update_area(console_t *cons, ipcarg_t x0, ipcarg_t y0, ipcarg_t width, ipcarg_t height)
+static void fb_update_area(console_t *cons, sysarg_t x0, sysarg_t y0, sysarg_t width, sysarg_t height)
 {
 	if (interbuffer) {
-		ipcarg_t x;
-		ipcarg_t y;
+		sysarg_t x;
+		sysarg_t y;
 		
 		for (y = 0; y < height; y++) {
@@ -237,5 +237,5 @@
  *
  */
-static void cell_mark_changed(ipcarg_t col, ipcarg_t row)
+static void cell_mark_changed(sysarg_t col, sysarg_t row)
 {
 	if (fb_pending.cnt != 0) {
@@ -255,5 +255,5 @@
 
 /** Print a character to the active VC with buffering. */
-static void fb_putchar(wchar_t c, ipcarg_t col, ipcarg_t row)
+static void fb_putchar(wchar_t c, sysarg_t col, sysarg_t row)
 {
 	async_msg_3(fb_info.phone, FB_PUTCHAR, c, col, row);
@@ -352,6 +352,6 @@
 		curs_visibility(false);
 		
-		ipcarg_t x;
-		ipcarg_t y;
+		sysarg_t x;
+		sysarg_t y;
 		int rc = 0;
 		
@@ -584,7 +584,7 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t arg1;
-	ipcarg_t arg2;
-	ipcarg_t arg3;
+	sysarg_t arg1;
+	sysarg_t arg2;
+	sysarg_t arg3;
 	
 	int rc;
@@ -726,5 +726,5 @@
 	
 	/* NB: The callback connection is slotted for removal */
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	if (ipc_connect_to_me(kbd_phone, SERVICE_CONSOLE, 0, 0, &phonehash) != 0) {
 		printf(NAME ": Failed to create callback from input device\n");
Index: uspace/srv/hid/console/gcons.c
===================================================================
--- uspace/srv/hid/console/gcons.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/console/gcons.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -82,6 +82,6 @@
 
 static bool use_gcons = false;
-static ipcarg_t xres;
-static ipcarg_t yres;
+static sysarg_t xres;
+static sysarg_t yres;
 
 enum butstate {
@@ -107,10 +107,10 @@
 static size_t active_console = 0;
 
-static ipcarg_t mouse_x = 0;
-static ipcarg_t mouse_y= 0;
+static sysarg_t mouse_x = 0;
+static sysarg_t mouse_y= 0;
 
 static bool btn_pressed = false;
-static ipcarg_t btn_x = 0;
-static ipcarg_t btn_y = 0;
+static sysarg_t btn_x = 0;
+static sysarg_t btn_y = 0;
 
 static void vp_switch(int vp)
@@ -120,5 +120,5 @@
 
 /** Create view port */
-static int vp_create(ipcarg_t x, ipcarg_t y, ipcarg_t width, ipcarg_t height)
+static int vp_create(sysarg_t x, sysarg_t y, sysarg_t width, sysarg_t height)
 {
 	return async_req_2_0(fbphone, FB_VIEWPORT_CREATE, (x << 16) | y,
@@ -137,5 +137,5 @@
 
 /** Transparent putchar */
-static void tran_putch(wchar_t ch, ipcarg_t col, ipcarg_t row)
+static void tran_putch(wchar_t ch, sysarg_t col, sysarg_t row)
 {
 	async_msg_3(fbphone, FB_PUTCHAR, ch, col, row);
@@ -297,7 +297,7 @@
 }
 
-static int gcons_find_conbut(ipcarg_t x, ipcarg_t y)
-{
-	ipcarg_t status_start = STATUS_START + (xres - 800) / 2;
+static int gcons_find_conbut(sysarg_t x, sysarg_t y)
+{
+	sysarg_t status_start = STATUS_START + (xres - 800) / 2;
 	
 	if ((y < STATUS_TOP) || (y >= STATUS_TOP + STATUS_HEIGHT))
@@ -313,5 +313,5 @@
 		return -1;
 	
-	ipcarg_t btn = (x - status_start) / (STATUS_WIDTH + STATUS_SPACE);
+	sysarg_t btn = (x - status_start) / (STATUS_WIDTH + STATUS_SPACE);
 	
 	if (btn < CONSOLE_COUNT)
@@ -363,5 +363,5 @@
  *
  */
-static void draw_pixmap(char *logo, size_t size, ipcarg_t x, ipcarg_t y)
+static void draw_pixmap(char *logo, size_t size, sysarg_t x, sysarg_t y)
 {
 	/* Create area */
@@ -374,5 +374,5 @@
 	
 	/* Send area */
-	int rc = async_req_1_0(fbphone, FB_PREPARE_SHM, (ipcarg_t) shm);
+	int rc = async_req_1_0(fbphone, FB_PREPARE_SHM, (sysarg_t) shm);
 	if (rc)
 		goto exit;
@@ -436,5 +436,5 @@
 	
 	/* Send area */
-	int rc = async_req_1_0(fbphone, FB_PREPARE_SHM, (ipcarg_t) shm);
+	int rc = async_req_1_0(fbphone, FB_PREPARE_SHM, (sysarg_t) shm);
 	if (rc)
 		goto exit;
@@ -513,5 +513,5 @@
 	
 	/* Create status buttons */
-	ipcarg_t status_start = STATUS_START + (xres - 800) / 2;
+	sysarg_t status_start = STATUS_START + (xres - 800) / 2;
 	size_t i;
 	for (i = 0; i < CONSOLE_COUNT; i++) {
Index: uspace/srv/hid/fb/ega.c
===================================================================
--- uspace/srv/hid/fb/ega.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/fb/ega.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -230,5 +230,5 @@
 static int save_screen(void)
 {
-	ipcarg_t i;
+	sysarg_t i;
 	
 	/* Find empty screen */
@@ -245,5 +245,5 @@
 }
 
-static int print_screen(ipcarg_t i)
+static int print_screen(sysarg_t i)
 {
 	if ((i >= MAX_SAVED_SCREENS) || (saved_screens[i].data))
@@ -276,8 +276,8 @@
 		wchar_t c;
 		
-		ipcarg_t col;
-		ipcarg_t row;
-		ipcarg_t w;
-		ipcarg_t h;
+		sysarg_t col;
+		sysarg_t row;
+		sysarg_t w;
+		sysarg_t h;
 		
 		ssize_t rows;
@@ -290,5 +290,5 @@
 		uint32_t bg_rgb;
 		
-		ipcarg_t scr;
+		sysarg_t scr;
 		int retval;
 		
@@ -370,10 +370,10 @@
 			
 			if (rows >= 0) {
-				if ((ipcarg_t) rows > scr_height) {
+				if ((sysarg_t) rows > scr_height) {
 					retval = EINVAL;
 					break;
 				}
 			} else {
-				if ((ipcarg_t) (-rows) > scr_height) {
+				if ((sysarg_t) (-rows) > scr_height) {
 					retval = EINVAL;
 					break;
Index: uspace/srv/hid/fb/fb.c
===================================================================
--- uspace/srv/hid/fb/fb.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/fb/fb.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -199,9 +199,9 @@
 static int rgb_from_attr(attr_rgb_t *rgb, const attrs_t *a);
 static int rgb_from_style(attr_rgb_t *rgb, int style);
-static int rgb_from_idx(attr_rgb_t *rgb, ipcarg_t fg_color,
-    ipcarg_t bg_color, ipcarg_t flags);
-
-static int fb_set_color(viewport_t *vport, ipcarg_t fg_color,
-    ipcarg_t bg_color, ipcarg_t attr);
+static int rgb_from_idx(attr_rgb_t *rgb, sysarg_t fg_color,
+    sysarg_t bg_color, sysarg_t flags);
+
+static int fb_set_color(viewport_t *vport, sysarg_t fg_color,
+    sysarg_t bg_color, sysarg_t attr);
 
 static void draw_glyph_aligned(unsigned int x, unsigned int y, bool cursor,
@@ -1072,5 +1072,5 @@
 	
 	static unsigned char *shm = NULL;
-	static ipcarg_t shm_id = 0;
+	static sysarg_t shm_id = 0;
 	static size_t shm_size;
 	
@@ -1529,6 +1529,6 @@
 }
 
-static int rgb_from_idx(attr_rgb_t *rgb, ipcarg_t fg_color,
-    ipcarg_t bg_color, ipcarg_t flags)
+static int rgb_from_idx(attr_rgb_t *rgb, sysarg_t fg_color,
+    sysarg_t bg_color, sysarg_t flags)
 {
 	fg_color = (fg_color & 7) | ((flags & CATTR_BRIGHT) ? 8 : 0);
@@ -1562,11 +1562,11 @@
 }
 
-static int fb_set_style(viewport_t *vport, ipcarg_t style)
+static int fb_set_style(viewport_t *vport, sysarg_t style)
 {
 	return rgb_from_style(&vport->attr, (int) style);
 }
 
-static int fb_set_color(viewport_t *vport, ipcarg_t fg_color,
-    ipcarg_t bg_color, ipcarg_t flags)
+static int fb_set_color(viewport_t *vport, sysarg_t fg_color,
+    sysarg_t bg_color, sysarg_t flags)
 {
 	return rgb_from_idx(&vport->attr, fg_color, bg_color, flags);
Index: uspace/srv/hid/fb/main.c
===================================================================
--- uspace/srv/hid/fb/main.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/fb/main.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -114,5 +114,5 @@
 		return -1;
 	
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	if (ipc_connect_to_me(PHONE_NS, SERVICE_VIDEO, 0, 0, &phonead) != 0) 
 		return -1;
Index: uspace/srv/hid/fb/serial_console.c
===================================================================
--- uspace/srv/hid/fb/serial_console.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/fb/serial_console.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -55,12 +55,12 @@
 #define MAX_CONTROL 20
 
-static ipcarg_t scr_width;
-static ipcarg_t scr_height;
+static sysarg_t scr_width;
+static sysarg_t scr_height;
 static bool color = true;    /**< True if producing color output. */
 static bool utf8 = false;    /**< True if producing UTF8 output. */
 static putc_function_t putc_function;
 
-static ipcarg_t lastcol = 0;
-static ipcarg_t lastrow = 0;
+static sysarg_t lastcol = 0;
+static sysarg_t lastrow = 0;
 static attrs_t cur_attr = {
 	.t = at_style,
@@ -130,5 +130,5 @@
 }
 
-void serial_goto(const ipcarg_t col, const ipcarg_t row)
+void serial_goto(const sysarg_t col, const sysarg_t row)
 {
 	if ((col > scr_width) || (row > scr_height))
@@ -252,5 +252,5 @@
 
 /** Set scrolling region. */
-void serial_set_scroll_region(ipcarg_t last_row)
+void serial_set_scroll_region(sysarg_t last_row)
 {
 	char control[MAX_CONTROL];
@@ -269,5 +269,5 @@
 }
 
-void serial_console_init(putc_function_t putc_fn, ipcarg_t w, ipcarg_t h)
+void serial_console_init(putc_function_t putc_fn, sysarg_t w, sysarg_t h)
 {
 	scr_width = w;
@@ -286,15 +286,15 @@
  *
  */
-static void draw_text_data(keyfield_t *data, ipcarg_t x0, ipcarg_t y0,
-    ipcarg_t width, ipcarg_t height)
+static void draw_text_data(keyfield_t *data, sysarg_t x0, sysarg_t y0,
+    sysarg_t width, sysarg_t height)
 {
 	attrs_t *a0 = &data[0].attrs;
 	serial_set_attrs(a0);
 	
-	ipcarg_t y;
+	sysarg_t y;
 	for (y = 0; y < height; y++) {
 		serial_goto(x0, y0 + y);
 		
-		ipcarg_t x;
+		sysarg_t x;
 		for (x = 0; x < width; x++) {
 			attrs_t *attr = &data[y * width + x].attrs;
@@ -337,8 +337,8 @@
 		
 		wchar_t c;
-		ipcarg_t col;
-		ipcarg_t row;
-		ipcarg_t w;
-		ipcarg_t h;
+		sysarg_t col;
+		sysarg_t row;
+		sysarg_t w;
+		sysarg_t h;
 		ssize_t rows;
 		
@@ -442,10 +442,10 @@
 			
 			if (rows >= 0) {
-				if ((ipcarg_t) rows > scr_height) {
+				if ((sysarg_t) rows > scr_height) {
 					retval = EINVAL;
 					break;
 				}
 			} else {
-				if ((ipcarg_t) (-rows) > scr_height) {
+				if ((sysarg_t) (-rows) > scr_height) {
 					retval = EINVAL;
 					break;
Index: uspace/srv/hid/fb/serial_console.h
===================================================================
--- uspace/srv/hid/fb/serial_console.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/fb/serial_console.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -44,11 +44,11 @@
 
 extern void serial_puts(const char *);
-extern void serial_goto(const ipcarg_t, const ipcarg_t);
+extern void serial_goto(const sysarg_t, const sysarg_t);
 extern void serial_clrscr(void);
 extern void serial_scroll(ssize_t);
 extern void serial_cursor_disable(void);
 extern void serial_cursor_enable(void);
-extern void serial_set_scroll_region(ipcarg_t);
-extern void serial_console_init(putc_function_t, ipcarg_t, ipcarg_t);
+extern void serial_set_scroll_region(sysarg_t);
+extern void serial_console_init(putc_function_t, sysarg_t, sysarg_t);
 extern void serial_client_connection(ipc_callid_t, ipc_call_t *);
 
Index: uspace/srv/hid/kbd/port/adb.c
===================================================================
--- uspace/srv/hid/kbd/port/adb.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/kbd/port/adb.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -71,5 +71,5 @@
 
 	/* NB: The callback connection is slotted for removal */
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	if (ipc_connect_to_me(dev_phone, 0, 0, 0, &phonehash) != 0) {
 		printf(NAME ": Failed to create callback from device\n");
Index: uspace/srv/hid/kbd/port/chardev.c
===================================================================
--- uspace/srv/hid/kbd/port/chardev.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hid/kbd/port/chardev.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -91,5 +91,5 @@
 
 	/* NB: The callback connection is slotted for removal */
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	if (ipc_connect_to_me(dev_phone, 0, 0, 0, &phonehash) != 0) {
 		printf(NAME ": Failed to create callback from device\n");
Index: uspace/srv/hw/bus/cuda_adb/cuda_adb.c
===================================================================
--- uspace/srv/hw/bus/cuda_adb/cuda_adb.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hw/bus/cuda_adb/cuda_adb.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -195,5 +195,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	devmap_handle_t dh;
 	int retval;
Index: uspace/srv/hw/char/i8042/i8042.c
===================================================================
--- uspace/srv/hw/char/i8042/i8042.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hw/char/i8042/i8042.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -219,5 +219,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	devmap_handle_t dh;
 	int retval;
Index: uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c
===================================================================
--- uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -116,5 +116,5 @@
 	ipc_callid_t callid;
 	ipc_call_t call;
-	ipcarg_t method;
+	sysarg_t method;
 	int retval;
 
Index: uspace/srv/hw/cir/fhc/fhc.c
===================================================================
--- uspace/srv/hw/cir/fhc/fhc.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hw/cir/fhc/fhc.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -133,5 +133,5 @@
 	
 	async_set_client_connection(fhc_connection);
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	ipc_connect_to_me(PHONE_NS, SERVICE_FHC, 0, 0, &phonead);
 	
Index: uspace/srv/hw/cir/obio/obio.c
===================================================================
--- uspace/srv/hw/cir/obio/obio.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hw/cir/obio/obio.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -134,5 +134,5 @@
 	
 	async_set_client_connection(obio_connection);
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	ipc_connect_to_me(PHONE_NS, SERVICE_OBIO, 0, 0, &phonead);
 	
Index: uspace/srv/hw/netif/dp8390/dp8390_module.c
===================================================================
--- uspace/srv/hw/netif/dp8390/dp8390_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/hw/netif/dp8390/dp8390_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -306,5 +306,5 @@
 
 int netif_initialize(void){
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 
 	async_set_interrupt_received(irq_handler);
Index: uspace/srv/loader/main.c
===================================================================
--- uspace/srv/loader/main.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/loader/main.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -423,5 +423,5 @@
 int main(int argc, char *argv[])
 {
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	task_id_t id;
 	int rc;
Index: uspace/srv/net/il/arp/arp.c
===================================================================
--- uspace/srv/net/il/arp/arp.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/il/arp/arp.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -320,5 +320,5 @@
 		/* Bind the new one */
 		device->phone = nil_bind_service(device->service,
-		    (ipcarg_t) device->device_id, SERVICE_ARP,
+		    (sysarg_t) device->device_id, SERVICE_ARP,
 		    arp_globals.client_connection);
 		if (device->phone < 0) {
Index: uspace/srv/net/il/arp/arp_module.c
===================================================================
--- uspace/srv/net/il/arp/arp_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/il/arp/arp_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -65,5 +65,5 @@
 int il_module_start_standalone(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 	
Index: uspace/srv/net/il/ip/ip.c
===================================================================
--- uspace/srv/net/il/ip/ip.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/il/ip/ip.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -430,5 +430,5 @@
 	// binds the netif service which also initializes the device
 	ip_netif->phone = nil_bind_service(ip_netif->service,
-	    (ipcarg_t) ip_netif->device_id, SERVICE_IP,
+	    (sysarg_t) ip_netif->device_id, SERVICE_IP,
 	    ip_globals.client_connection);
 	if (ip_netif->phone < 0) {
Index: uspace/srv/net/il/ip/ip_module.c
===================================================================
--- uspace/srv/net/il/ip/ip_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/il/ip/ip_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -66,5 +66,5 @@
 int il_module_start_standalone(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 	
Index: uspace/srv/net/net/net.c
===================================================================
--- uspace/srv/net/net/net.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/net/net.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -322,5 +322,5 @@
 static int net_module_start(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 	
Index: uspace/srv/net/netif/lo/lo.c
===================================================================
--- uspace/srv/net/netif/lo/lo.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/netif/lo/lo.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -164,5 +164,5 @@
 int netif_initialize(void)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 
 	return REGISTER_ME(SERVICE_LO, &phonehash);
Index: uspace/srv/net/nil/eth/eth.c
===================================================================
--- uspace/srv/net/nil/eth/eth.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/nil/eth/eth.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -251,8 +251,8 @@
 				    IPC_GET_DEVICE(icall), packet, 0);
 			}
-			ipc_answer_0(iid, (ipcarg_t) rc);
+			ipc_answer_0(iid, (sysarg_t) rc);
 			break;
 		default:
-			ipc_answer_0(iid, (ipcarg_t) ENOTSUP);
+			ipc_answer_0(iid, (sysarg_t) ENOTSUP);
 		}
 		
Index: uspace/srv/net/nil/eth/eth_module.c
===================================================================
--- uspace/srv/net/nil/eth/eth_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/nil/eth/eth_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -52,5 +52,5 @@
 int nil_module_start_standalone(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 	
Index: uspace/srv/net/nil/nildummy/nildummy.c
===================================================================
--- uspace/srv/net/nil/nildummy/nildummy.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/nil/nildummy/nildummy.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -114,5 +114,5 @@
 			rc = nil_device_state_msg_local(0,
 			    IPC_GET_DEVICE(icall), IPC_GET_STATE(icall));
-			ipc_answer_0(iid, (ipcarg_t) rc);
+			ipc_answer_0(iid, (sysarg_t) rc);
 			break;
 		
@@ -124,9 +124,9 @@
 				    IPC_GET_DEVICE(icall), packet, 0);
 			}
-			ipc_answer_0(iid, (ipcarg_t) rc);
+			ipc_answer_0(iid, (sysarg_t) rc);
 			break;
 		
 		default:
-			ipc_answer_0(iid, (ipcarg_t) ENOTSUP);
+			ipc_answer_0(iid, (sysarg_t) ENOTSUP);
 		}
 		
Index: uspace/srv/net/nil/nildummy/nildummy_module.c
===================================================================
--- uspace/srv/net/nil/nildummy/nildummy_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/nil/nildummy/nildummy_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -52,5 +52,5 @@
 int nil_module_start_standalone(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 	
Index: uspace/srv/net/tl/icmp/icmp_module.c
===================================================================
--- uspace/srv/net/tl/icmp/icmp_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/tl/icmp/icmp_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -58,5 +58,5 @@
 int tl_module_start_standalone(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 
Index: uspace/srv/net/tl/tcp/tcp.c
===================================================================
--- uspace/srv/net/tl/tcp/tcp.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/tl/tcp/tcp.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -829,8 +829,8 @@
 	/* Notify the destination socket */
 	async_msg_5(socket->phone, NET_SOCKET_RECEIVED,
-	    (ipcarg_t) socket->socket_id,
+	    (sysarg_t) socket->socket_id,
 	    ((packet_dimension->content < socket_data->data_fragment_size) ?
 	    packet_dimension->content : socket_data->data_fragment_size), 0, 0,
-	    (ipcarg_t) fragments);
+	    (sysarg_t) fragments);
 
 	return EOK;
@@ -1090,7 +1090,7 @@
 			/* Notify the destination socket */
 			async_msg_5(socket->phone, NET_SOCKET_ACCEPTED,
-			    (ipcarg_t) listening_socket->socket_id,
+			    (sysarg_t) listening_socket->socket_id,
 			    socket_data->data_fragment_size, TCP_HEADER_SIZE,
-			    0, (ipcarg_t) socket->socket_id);
+			    0, (sysarg_t) socket->socket_id);
 
 			fibril_rwlock_write_unlock(socket_data->local_lock);
Index: uspace/srv/net/tl/tcp/tcp_module.c
===================================================================
--- uspace/srv/net/tl/tcp/tcp_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/tl/tcp/tcp_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -61,5 +61,5 @@
 int tl_module_start_standalone(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 
Index: uspace/srv/net/tl/udp/udp.c
===================================================================
--- uspace/srv/net/tl/udp/udp.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/tl/udp/udp.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -393,6 +393,6 @@
 	fibril_rwlock_write_unlock(&udp_globals.lock);
 	async_msg_5(socket->phone, NET_SOCKET_RECEIVED,
-	    (ipcarg_t) socket->socket_id, packet_dimension->content, 0, 0,
-	    (ipcarg_t) fragments);
+	    (sysarg_t) socket->socket_id, packet_dimension->content, 0, 0,
+	    (sysarg_t) fragments);
 
 	return EOK;
Index: uspace/srv/net/tl/udp/udp_module.c
===================================================================
--- uspace/srv/net/tl/udp/udp_module.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/net/tl/udp/udp_module.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -59,5 +59,5 @@
 int tl_module_start_standalone(async_client_conn_t client_connection)
 {
-	ipcarg_t phonehash;
+	sysarg_t phonehash;
 	int rc;
 
Index: uspace/srv/ns/clonable.c
===================================================================
--- uspace/srv/ns/clonable.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/ns/clonable.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -46,5 +46,5 @@
 typedef struct {
 	link_t link;
-	ipcarg_t service;
+	sysarg_t service;
 	ipc_call_t call;
 	ipc_callid_t callid;
@@ -73,5 +73,5 @@
  *
  */
-void register_clonable(ipcarg_t service, ipcarg_t phone, ipc_call_t *call,
+void register_clonable(sysarg_t service, sysarg_t phone, ipc_call_t *call,
     ipc_callid_t callid)
 {
@@ -107,5 +107,5 @@
  *
  */
-void connect_to_clonable(ipcarg_t service, ipc_call_t *call,
+void connect_to_clonable(sysarg_t service, ipc_call_t *call,
     ipc_callid_t callid)
 {
Index: uspace/srv/ns/clonable.h
===================================================================
--- uspace/srv/ns/clonable.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/ns/clonable.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -40,7 +40,7 @@
 
 extern bool service_clonable(int service);
-extern void register_clonable(ipcarg_t service, ipcarg_t phone,
+extern void register_clonable(sysarg_t service, sysarg_t phone,
     ipc_call_t *call, ipc_callid_t callid);
-extern void connect_to_clonable(ipcarg_t service, ipc_call_t *call,
+extern void connect_to_clonable(sysarg_t service, ipc_call_t *call,
     ipc_callid_t callid);
 
Index: uspace/srv/ns/ns.c
===================================================================
--- uspace/srv/ns/ns.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/ns/ns.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -78,5 +78,5 @@
 	}
 	
-	ipc_answer_2(callid, EOK, (ipcarg_t) *addr, AS_AREA_READ);
+	ipc_answer_2(callid, EOK, (sysarg_t) *addr, AS_AREA_READ);
 }
 
@@ -135,5 +135,5 @@
 		
 		task_id_t id;
-		ipcarg_t retval;
+		sysarg_t retval;
 		
 		switch (IPC_GET_METHOD(call)) {
Index: uspace/srv/ns/service.c
===================================================================
--- uspace/srv/ns/service.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/ns/service.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -43,7 +43,7 @@
 typedef struct {
 	link_t link;
-	ipcarg_t service;        /**< Number of the service. */
-	ipcarg_t phone;          /**< Phone registered with the service. */
-	ipcarg_t in_phone_hash;  /**< Incoming phone hash. */
+	sysarg_t service;        /**< Number of the service. */
+	sysarg_t phone;          /**< Phone registered with the service. */
+	sysarg_t in_phone_hash;  /**< Incoming phone hash. */
 } hashed_service_t;
 
@@ -115,8 +115,8 @@
 typedef struct {
 	link_t link;
-	ipcarg_t service;        /**< Number of the service. */
+	sysarg_t service;        /**< Number of the service. */
 	ipc_callid_t callid;     /**< Call ID waiting for the connection */
-	ipcarg_t arg2;           /**< Second argument */
-	ipcarg_t arg3;           /**< Third argument */
+	sysarg_t arg2;           /**< Second argument */
+	sysarg_t arg3;           /**< Third argument */
 } pending_conn_t;
 
@@ -174,5 +174,5 @@
  *
  */
-int register_service(ipcarg_t service, ipcarg_t phone, ipc_call_t *call)
+int register_service(sysarg_t service, sysarg_t phone, ipc_call_t *call)
 {
 	unsigned long keys[3] = {
@@ -207,7 +207,7 @@
  *
  */
-void connect_to_service(ipcarg_t service, ipc_call_t *call, ipc_callid_t callid)
-{
-	ipcarg_t retval;
+void connect_to_service(sysarg_t service, ipc_call_t *call, ipc_callid_t callid)
+{
+	sysarg_t retval;
 	unsigned long keys[3] = {
 		service,
Index: uspace/srv/ns/service.h
===================================================================
--- uspace/srv/ns/service.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/ns/service.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -39,6 +39,6 @@
 extern void process_pending_conn(void);
 
-extern int register_service(ipcarg_t service, ipcarg_t phone, ipc_call_t *call);
-extern void connect_to_service(ipcarg_t service, ipc_call_t *call,
+extern int register_service(sysarg_t service, sysarg_t phone, ipc_call_t *call);
+extern void connect_to_service(sysarg_t service, ipc_call_t *call,
      ipc_callid_t callid);
 
Index: uspace/srv/ns/task.c
===================================================================
--- uspace/srv/ns/task.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/ns/task.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -45,5 +45,5 @@
 #define P2I_HASH_TABLE_CHAINS  256
 
-static int get_id_by_phone(ipcarg_t phone_hash, task_id_t *id);
+static int get_id_by_phone(sysarg_t phone_hash, task_id_t *id);
 
 /* TODO:
@@ -124,5 +124,5 @@
 typedef struct {
 	link_t link;
-	ipcarg_t phash;    /**< Task ID. */
+	sysarg_t phash;    /**< Task ID. */
 	task_id_t id;    /**< Task ID. */
 } p2i_entry_t;
@@ -248,5 +248,5 @@
 void wait_for_task(task_id_t id, ipc_call_t *call, ipc_callid_t callid)
 {
-	ipcarg_t retval;
+	sysarg_t retval;
 	task_exit_t texit;
 
@@ -393,5 +393,5 @@
 }
 
-static int get_id_by_phone(ipcarg_t phone_hash, task_id_t *id)
+static int get_id_by_phone(sysarg_t phone_hash, task_id_t *id)
 {
 	unsigned long keys[1];
Index: uspace/srv/vfs/vfs.c
===================================================================
--- uspace/srv/vfs/vfs.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/vfs/vfs.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -173,5 +173,5 @@
 	 * Register at the naming service.
 	 */
-	ipcarg_t phonead;
+	sysarg_t phonead;
 	ipc_connect_to_me(PHONE_NS, SERVICE_VFS, 0, 0, &phonead);
 	
Index: uspace/srv/vfs/vfs.h
===================================================================
--- uspace/srv/vfs/vfs.h	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/vfs/vfs.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -54,5 +54,5 @@
 	fs_handle_t fs_handle;
 	fibril_mutex_t phone_lock;
-	ipcarg_t phone;
+	sysarg_t phone;
 } fs_info_t;
 
Index: uspace/srv/vfs/vfs_lookup.c
===================================================================
--- uspace/srv/vfs/vfs_lookup.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/vfs/vfs_lookup.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -161,10 +161,10 @@
 	ipc_call_t answer;
 	int phone = vfs_grab_phone(root->fs_handle);
-	aid_t req = async_send_5(phone, VFS_OUT_LOOKUP, (ipcarg_t) first,
-	    (ipcarg_t) (first + len - 1) % PLB_SIZE,
-	    (ipcarg_t) root->devmap_handle, (ipcarg_t) lflag, (ipcarg_t) index,
+	aid_t req = async_send_5(phone, VFS_OUT_LOOKUP, (sysarg_t) first,
+	    (sysarg_t) (first + len - 1) % PLB_SIZE,
+	    (sysarg_t) root->devmap_handle, (sysarg_t) lflag, (sysarg_t) index,
 	    &answer);
 	
-	ipcarg_t rc;
+	sysarg_t rc;
 	async_wait_for(req, &rc);
 	vfs_release_phone(root->fs_handle, phone);
@@ -210,8 +210,8 @@
 	ipc_call_t answer;
 	aid_t req = async_send_2(phone, VFS_OUT_OPEN_NODE,
-	    (ipcarg_t) result->triplet.devmap_handle,
-	    (ipcarg_t) result->triplet.index, &answer);
-	
-	ipcarg_t rc;
+	    (sysarg_t) result->triplet.devmap_handle,
+	    (sysarg_t) result->triplet.index, &answer);
+	
+	sysarg_t rc;
 	async_wait_for(req, &rc);
 	vfs_release_phone(result->triplet.fs_handle, phone);
Index: uspace/srv/vfs/vfs_node.c
===================================================================
--- uspace/srv/vfs/vfs_node.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/vfs/vfs_node.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -129,7 +129,7 @@
 		 */
 		int phone = vfs_grab_phone(node->fs_handle);
-		ipcarg_t rc;
+		sysarg_t rc;
 		rc = async_req_2_0(phone, VFS_OUT_DESTROY,
-		    (ipcarg_t)node->devmap_handle, (ipcarg_t)node->index);
+		    (sysarg_t)node->devmap_handle, (sysarg_t)node->index);
 		assert(rc == EOK);
 		vfs_release_phone(node->fs_handle, phone);
Index: uspace/srv/vfs/vfs_ops.c
===================================================================
--- uspace/srv/vfs/vfs_ops.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/vfs/vfs_ops.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -79,5 +79,5 @@
 	size_t rsize;
 	unsigned rlnkcnt;
-	ipcarg_t rc;
+	sysarg_t rc;
 	int phone;
 	aid_t msg;
@@ -126,5 +126,5 @@
 			phone = vfs_grab_phone(fs_handle);
 			msg = async_send_1(phone, VFS_OUT_MOUNTED,
-			    (ipcarg_t) devmap_handle, &answer);
+			    (sysarg_t) devmap_handle, &answer);
 			/* send the mount options */
 			rc = async_data_write_start(phone, (void *)opts,
@@ -188,8 +188,8 @@
 	phone = vfs_grab_phone(mp_res.triplet.fs_handle);
 	msg = async_send_4(phone, VFS_OUT_MOUNT,
-	    (ipcarg_t) mp_res.triplet.devmap_handle,
-	    (ipcarg_t) mp_res.triplet.index,
-	    (ipcarg_t) fs_handle,
-	    (ipcarg_t) devmap_handle, &answer);
+	    (sysarg_t) mp_res.triplet.devmap_handle,
+	    (sysarg_t) mp_res.triplet.index,
+	    (sysarg_t) fs_handle,
+	    (sysarg_t) devmap_handle, &answer);
 	
 	/* send connection */
@@ -716,5 +716,5 @@
 
 	/* Wait for reply from the FS server. */
-	ipcarg_t rc;
+	sysarg_t rc;
 	async_wait_for(msg, &rc);
 	
@@ -747,5 +747,5 @@
 		
 		/* Wait for reply from the FS server. */
-		ipcarg_t rc;
+		sysarg_t rc;
 		async_wait_for(msg, &rc);
 		
@@ -839,5 +839,5 @@
 	 * don't have to bother.
 	 */
-	ipcarg_t rc;
+	sysarg_t rc;
 	ipc_call_t answer;
 	if (read) {
@@ -973,10 +973,10 @@
     fs_index_t index, aoff64_t size)
 {
-	ipcarg_t rc;
+	sysarg_t rc;
 	int fs_phone;
 	
 	fs_phone = vfs_grab_phone(fs_handle);
-	rc = async_req_4_0(fs_phone, VFS_OUT_TRUNCATE, (ipcarg_t) devmap_handle,
-	    (ipcarg_t) index, LOWER32(size), UPPER32(size));
+	rc = async_req_4_0(fs_phone, VFS_OUT_TRUNCATE, (sysarg_t) devmap_handle,
+	    (sysarg_t) index, LOWER32(size), UPPER32(size));
 	vfs_release_phone(fs_handle, fs_phone);
 	return (int)rc;
@@ -1005,5 +1005,5 @@
 
 	fibril_mutex_unlock(&file->lock);
-	ipc_answer_0(rid, (ipcarg_t)rc);
+	ipc_answer_0(rid, (sysarg_t)rc);
 }
 
@@ -1011,5 +1011,5 @@
 {
 	int fd = IPC_GET_ARG1(*request);
-	ipcarg_t rc;
+	sysarg_t rc;
 
 	vfs_file_t *file = vfs_file_get(fd);
@@ -1084,5 +1084,5 @@
 	ipc_forward_fast(callid, fs_phone, 0, 0, 0, IPC_FF_ROUTE_FROM_ME);
 	
-	ipcarg_t rv;
+	sysarg_t rv;
 	async_wait_for(msg, &rv);
 	vfs_release_phone(node->fs_handle, fs_phone);
Index: uspace/srv/vfs/vfs_register.c
===================================================================
--- uspace/srv/vfs/vfs_register.c	(revision 554debd87f844cb5803239317a4c966dbc5079a5)
+++ uspace/srv/vfs/vfs_register.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
@@ -235,5 +235,5 @@
 	 */
 	fs_info->fs_handle = (fs_handle_t) atomic_postinc(&fs_handle_next);
-	ipc_answer_1(rid, EOK, (ipcarg_t) fs_info->fs_handle);
+	ipc_answer_1(rid, EOK, (sysarg_t) fs_info->fs_handle);
 	
 	fibril_condvar_broadcast(&fs_head_cv);
