view ProcrContext.h @ 99:9bc1e1c77a47

remove head
author Merten Sach <msach@mailbox.tu-berlin.de>
date Tue, 26 Jul 2011 16:26:58 +0200
parents fe5ec83f1baf
children dbfc8382d546 c11b9dcf6d24 d1dd9e6ee72c
line source
1 /*
2 * Copyright 2009 OpenSourceStewardshipFoundation.org
3 * Licensed under GNU General Public License version 2
4 *
5 * Author: seanhalle@yahoo.com
6 *
7 */
9 #ifndef _ProcrContext_H
10 #define _ProcrContext_H
11 #define _GNU_SOURCE
13 void saveCoreLoopReturnAddr(void **returnAddress);
15 void switchToVP(VirtProcr *nextProcr);
17 void switchToCoreLoop(VirtProcr *nextProcr);
19 void masterSwitchToCoreLoop(VirtProcr *nextProcr);
21 void startVirtProcrFn();
23 void *asmTerminateCoreLoop(VirtProcr *currPr);
25 #define flushRegisters() \
26 asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15")
28 inline VirtProcr *
29 create_procr_helper( VirtProcr *newPr, VirtProcrFnPtr fnPtr,
30 void *initialData, void *stackLocs );
32 #endif /* _ProcrContext_H */