Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
annotate ProcrContext.h @ 175:de5e7c522f1f
aligned memory allocation
| author | Merten Sach <msach@mailbox.tu-berlin.de> |
|---|---|
| date | Tue, 20 Dec 2011 19:17:11 +0100 |
| parents | 521c75d64cef |
| children |
| 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@169 | 23 void *asmTerminateCoreLoop(VirtProcr *currVP); |
| 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 |
