Tweak the context data a bit and do some code cleanup. Save %edx as well
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 21 Nov 2003 08:32:49 +0000 (08:32 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 21 Nov 2003 08:32:49 +0000 (08:32 +0000)
commit0a455ac5ad7d57832fd2c5ae8c7d11039ac8ffbe
tree3d563d33490e8b219b5301a7e01c7c3893f0d167
parent300aac009cd55a8a4643a63f7b00016281fe4ccf
Tweak the context data a bit and do some code cleanup.  Save %edx as well
as %eax and %ecx so we can throw the upcall pointer into %edx, which makes
it possible to create self-contained context assembly code.  This also
improves performance by giving the context assembly (see
src/test/sysperf/upcall.S) easier access to the upcall structure.

It's also safer (though not critical) to have the kernel save all the
call-used registers when setting up for an upcall.
lib/libc/sys/upc_register.2
sys/i386/i386/machdep.c
sys/kern/kern_upcall.c
sys/platform/pc32/i386/machdep.c
sys/sys/signalvar.h
sys/sys/upcall.h
test/sysperf/upcall.S