2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
5 Desc: Stubs to call C functions while preserving all registers, ARM version
9 #include "aros/armeb/asm.h"
12 * Up to 4 arguments can be handled in this way.
13 * Our stubbed functions use only up to two.
15 #define STUB(cname,name) \
17 .type cname, %function ; \
21 push
{r0, r1, r2, r3, r9, r12} ; \
24 pop
{r0, r1, r2, r3, r9, r12} ; \
32 /* Call functions and preserve registers */
34 STUB
(AROS_SLIB_ENTRY
(Disable
,Exec
,20),AROS_CSYMNAME
(_Exec_20_Disable
))
35 STUB
(AROS_SLIB_ENTRY
(Enable
,Exec
,21),AROS_CSYMNAME
(_Exec_21_Enable
))
36 STUB
(AROS_SLIB_ENTRY
(Forbid
,Exec
,22),AROS_CSYMNAME
(_Exec_22_Forbid
))
37 STUB
(AROS_SLIB_ENTRY
(Permit
,Exec
,23),AROS_CSYMNAME
(_Exec_23_Permit
))
39 STUB
(AROS_SLIB_ENTRY
(ObtainSemaphore
,Exec
,94),AROS_CSYMNAME
(_Exec_94_ObtainSemaphore
))
40 STUB
(AROS_SLIB_ENTRY
(ReleaseSemaphore
,Exec
,95),AROS_CSYMNAME
(_Exec_95_ReleaseSemaphore
))
41 STUB
(AROS_SLIB_ENTRY
(ObtainSemaphoreShared
,Exec
,113),AROS_CSYMNAME
(_Exec_113_ObtainSemaphoreShared
))