2 * $DragonFly: src/test/sysperf/upcall.S,v 1.1 2003/11/21 06:58:28 dillon Exp $
5 .globl callused_wrapper
8 * On entry: %eax contains function
10 * Stack: [eax,ecx,eflags,oldip]
13 pushl %edx /* save %edx */
14 pushl %ecx /* func(data) */
17 incl upc+8 /* set pending bit (prevents upcalls) */
18 subl $32,upc+4 /* cleanup critical section count */
20 pushl %esp /* sp pointing to os supplied frame */
22 pushl $2 /* FETCH next */