Mercurial > cgi-bin > hgwebdir.cgi > PR > PR_Implementations > PR__Univ > PR__includes > PR__common_includes
view PR__primitives.h @ 1:c68d04a82e0b
modified repo purpose and added .hgeol -- so most of the changes are just EOL
author | Sean Halle <seanhalle@yahoo.com> |
---|---|
date | Sun, 21 Jul 2013 13:22:59 -0700 |
parents | e2db79e48144 |
children |
line source
1 /*
2 * Copyright 2009 OpenSourceResearchInstitute.org
3 * Licensed under GNU General Public License version 2
4 *
5 * Author: seanhalle@yahoo.com
6 *
7 */
9 #ifndef _PR__PRIMITIVES_H
10 #define _PR__PRIMITIVES_H
11 #define _GNU_SOURCE
13 void
14 recordCoreCtlrReturnLabelAddr(void **returnAddress);
16 void
17 switchToSlv(SlaveVP *nextSlave);
19 void
20 switchToCoreCtlr(SlaveVP *nextSlave);
22 void
23 masterSwitchToCoreCtlr(SlaveVP *nextSlave);
25 void
26 startUpBirthFn();
28 void
29 jmpToOneParamFn();
31 void
32 jmpToTwoParamFn();
34 void
35 asmTerminateCoreCtlr(SlaveVP *currSlv);
36 void
37 asmTerminateCoreCtlrSeq(SlaveVP *animatingSlv);
39 #define flushRegisters() \
40 asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15")
42 void
43 PR_int__save_return_into_ptd_to_loc_then_do_ret(void *ptdToLoc);
45 void
46 PR_int__return_to_addr_in_ptd_to_loc(void *ptdToLoc);
48 inline void
49 PR_int__point_slaveVP_to_OneParamFn( SlaveVP *slaveVP, void *fnPtr,
50 void *param);
52 inline void
53 PR_int__point_slaveVP_to_TwoParamFn( SlaveVP *slaveVP, void *fnPtr,
54 void *param1, void *param2);
56 #endif /* _PR__HW_DEPENDENT_H */