annotate ProcrContext.h @ 166:aefd87f9d12f

loop graph
author Nina Engelhardt
date Tue, 18 Oct 2011 15:53:04 +0200
parents fe5ec83f1baf
children dbfc8382d546 c11b9dcf6d24 d1dd9e6ee72c
rev   line source
Me@55 1 /*
Me@55 2 * Copyright 2009 OpenSourceStewardshipFoundation.org
Me@55 3 * Licensed under GNU General Public License version 2
Me@55 4 *
Me@55 5 * Author: seanhalle@yahoo.com
Me@55 6 *
Me@55 7 */
Me@55 8
msach@77 9 #ifndef _ProcrContext_H
msach@77 10 #define _ProcrContext_H
msach@76 11 #define _GNU_SOURCE
Me@55 12
msach@76 13 void saveCoreLoopReturnAddr(void **returnAddress);
msach@71 14
msach@71 15 void switchToVP(VirtProcr *nextProcr);
msach@71 16
msach@71 17 void switchToCoreLoop(VirtProcr *nextProcr);
msach@71 18
msach@71 19 void masterSwitchToCoreLoop(VirtProcr *nextProcr);
msach@71 20
msach@76 21 void startVirtProcrFn();
msach@76 22
msach@78 23 void *asmTerminateCoreLoop(VirtProcr *currPr);
msach@78 24
msach@71 25 #define flushRegisters() \
msach@76 26 asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15")
msach@71 27
msach@77 28 inline VirtProcr *
msach@77 29 create_procr_helper( VirtProcr *newPr, VirtProcrFnPtr fnPtr,
msach@77 30 void *initialData, void *stackLocs );
Me@55 31
msach@77 32 #endif /* _ProcrContext_H */
Me@62 33