minix/kernel
Tomas Hruby a774cc832f do_ipc() rearrangements
this patch does not add or change any functionality of do_ipc(), it
only makes things a little cleaner (hopefully).

Until now do_ipc() was responsible for handling all ipc calls. The
catch is that SENDA is fairly different which results in some ugly
code like this typecasting and variables naming which does not make
much sense for SENDA and makes the code hard to read.

result = mini_senda(caller_ptr, (asynmsg_t *)m_ptr, (size_t)src_dst_e);

As it is called directly from assembly, the new do_ipc() takes as
input values of 3 registers in reg_t variables (it used to be 4,
however, bit_map wasn't used so I removed it), does the checks common
to all ipc calls and call the appropriate handler either for
do_sync_ipc() (all except SENDA) or mini_senda() (for SENDA) while
typecasting the reg_t values correctly. As a result, handling SENDA
differences in do_sync_ipc() is no more needed. Also the code that
uses msg_size variable is improved a little bit.

arch_do_syscall() is simplified too.
2010-04-06 11:24:26 +00:00
..
arch/i386 do_ipc() rearrangements 2010-04-06 11:24:26 +00:00
system RTS_SYS_LOCK and do_runctl() 2010-04-06 11:18:04 +00:00
clock.c Userspace scheduling 2010-03-29 11:07:20 +00:00
clock.h Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
config.h Userspace scheduling 2010-03-29 11:07:20 +00:00
const.h Fixed brackets in bitmap macros 2010-03-30 08:34:33 +00:00
debug.c Userspace scheduling 2010-03-29 11:07:20 +00:00
debug.h NOREC_ENTER and NOREC_RETURN checks removed 2010-03-29 11:43:10 +00:00
glo.h Move archtypes.h, fpu.h, and stackframe.h 2010-03-09 09:41:14 +00:00
interrupt.c Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
ipc.h Userspace scheduling 2010-03-29 11:07:20 +00:00
kernel.h Time accounting based on TSC 2010-02-10 15:36:54 +00:00
main.c More use of endpoint_t. Other code cleanup. 2010-03-30 14:07:15 +00:00
Makefile Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
priv.h New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
proc.c do_ipc() rearrangements 2010-04-06 11:24:26 +00:00
proc.h RTS_SYS_LOCK and do_runctl() 2010-04-06 11:18:04 +00:00
profile.c Lots of const correctness. 2010-03-27 14:31:00 +00:00
profile.h cprofile not conditional 2009-01-09 21:44:52 +00:00
proto.h do_ipc() rearrangements 2010-04-06 11:24:26 +00:00
start.c Lots of const correctness. 2010-03-27 14:31:00 +00:00
system.c Move kernel signal SIGKNDELAY to system signal SIGSNDELAY and fix broken ptrace. 2010-03-31 08:55:12 +00:00
system.h Userspace scheduling 2010-03-29 11:07:20 +00:00
table.c Prioritized NOTIFY messages for reliable asynchonrous delivery of system events. 2010-03-22 23:44:55 +00:00
type.h Miscellaneous code cleanup. 2010-03-22 20:43:06 +00:00
utility.c panic() cleanup. 2010-03-05 15:05:11 +00:00
vm.h intr_disabled() tests removed 2010-02-09 15:29:58 +00:00
watchdog.c no more kprintf - kernel uses libsys printf now, only kputc is special 2010-03-03 15:45:01 +00:00
watchdog.h Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00