Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
comparison VMS.h @ 210:a18539c0bc37
Moved defines and probes into own directories
| author | Some Random Person <seanhalle@yahoo.com> |
|---|---|
| date | Wed, 07 Mar 2012 22:53:50 -0800 |
| parents | 0c83ea8adefc |
| children | 64737d3deeb4 |
comparison
equal
deleted
inserted
replaced
| 96:16bb3aa7337c | 97:197ccbf993bd |
|---|---|
| 18 #include "vmalloc.h" | 18 #include "vmalloc.h" |
| 19 | 19 |
| 20 #include <pthread.h> | 20 #include <pthread.h> |
| 21 #include <sys/time.h> | 21 #include <sys/time.h> |
| 22 | 22 |
| 23 #ifndef _LANG_NAME_ | |
| 24 #define _LANG_NAME_ "" | |
| 25 #endif | |
| 26 | |
| 27 //================= Defines: included from separate files ================= | 23 //================= Defines: included from separate files ================= |
| 28 // | 24 // |
| 29 // Note: ALL defines are in other files, none are in here | 25 // Note: ALL defines are in other files, none are in here |
| 30 // | 26 // |
| 31 #include "VMS_defs__main.h" | 27 #include "Defines/VMS_defs__main.h" |
| 32 | 28 |
| 33 | 29 |
| 34 //================================ Typedefs ================================= | 30 //================================ Typedefs ================================= |
| 35 // | 31 // |
| 36 typedef unsigned long long TSCount; | 32 typedef unsigned long long TSCount; |
| 109 | 105 |
| 110 /*WARNING: re-arranging this data structure could cause Slv switching | 106 /*WARNING: re-arranging this data structure could cause Slv switching |
| 111 * assembly code to fail -- hard-codes offsets of fields | 107 * assembly code to fail -- hard-codes offsets of fields |
| 112 */ | 108 */ |
| 113 struct _SlaveVP | 109 struct _SlaveVP |
| 114 { int procrID; //for debugging -- count up each time create | 110 { int procrID; //each slave given a unique ID |
| 115 int coreAnimatedBy; | 111 int coreAnimatedBy; |
| 116 void *startOfStack; | 112 void *startOfStack; |
| 117 void *stackPtr; | 113 void *stackPtr; |
| 118 void *framePtr; | 114 void *framePtr; |
| 119 void *resumeInstrPtr; | 115 void *resumeInstrPtr; |
| 123 void *coreLoopStackPtr; //restore before jmp back to core loop | 119 void *coreLoopStackPtr; //restore before jmp back to core loop |
| 124 | 120 |
| 125 SchedSlot *schedSlot; | 121 SchedSlot *schedSlot; |
| 126 VMSReqst *requests; | 122 VMSReqst *requests; |
| 127 | 123 |
| 128 void *semanticData; //this livesUSE_GNU here for the life of Slv | 124 void *semanticData; //this is live for the life of Slv |
| 129 void *dataRetFromReq;//values returned from plugin to Slv go here | 125 void *dataRetFromReq;//Used to return vals from plugin to Wrapper Lib |
| 130 | 126 |
| 131 //=========== MEASUREMENT STUFF ========== | 127 //=========== MEASUREMENT STUFF ========== |
| 132 MEAS__Insert_Meas_Fields_into_Slave; | 128 MEAS__Insert_Meas_Fields_into_Slave; |
| 133 //======================================== | 129 //======================================== |
| 134 | 130 |
| 145 { | 141 { |
| 146 Sched_Assigner slaveAssigner; | 142 Sched_Assigner slaveAssigner; |
| 147 RequestHandler requestHandler; | 143 RequestHandler requestHandler; |
| 148 | 144 |
| 149 SchedSlot ***allSchedSlots; | 145 SchedSlot ***allSchedSlots; |
| 150 VMSQueueStruc **readyToAnimateQs; | 146 VMSQueueStruc **readyToAnimateQs; |
| 151 SlaveVP **masterVPs; | 147 SlaveVP **masterVPs; |
| 152 | 148 |
| 153 void *semanticEnv; | 149 void *semanticEnv; |
| 154 void *OSEventStruc; //for future, when add I/O to BLIS | 150 void *OSEventStruc; //for future, when add I/O to BLIS |
| 155 MallocArrays *freeLists; | 151 MallocArrays *freeLists; |
| 156 int32 amtOfOutstandingMem; //total currently allocated | 152 int32 amtOfOutstandingMem; //total currently allocated |
| 286 inline SlaveVP * | 282 inline SlaveVP * |
| 287 VMS_int__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam ); | 283 VMS_int__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam ); |
| 288 #define VMS_PI__create_slaveVP VMS_int__create_slaveVP | 284 #define VMS_PI__create_slaveVP VMS_int__create_slaveVP |
| 289 #define VMS_WL__create_slaveVP VMS_int__create_slaveVP | 285 #define VMS_WL__create_slaveVP VMS_int__create_slaveVP |
| 290 | 286 |
| 287 //Use this to create processor inside entry point & other places outside | |
| 288 // the VMS system boundary (IE, don't animate with a SlaveVP or MasterVP) | |
| 289 SlaveVP * | |
| 290 VMS_ext__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam ); | |
| 291 | |
| 292 inline SlaveVP * | |
| 293 VMS_int__create_slaveVP_helper( SlaveVP *newSlv, TopLevelFnPtr fnPtr, | |
| 294 void *dataParam, void *stackLocs ); | |
| 295 | |
| 291 inline void | 296 inline void |
| 292 VMS_int__point_slaveVP_to_Fn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, | 297 VMS_int__point_slaveVP_to_Fn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, |
| 293 void *dataParam); | 298 void *dataParam); |
| 294 #define VMS_PI__point_slaveVP_to_Fn VMS_int__point_slaveVP_to_Fn | 299 |
| 295 #define VMS_WL__point_slaveVP_to_Fn VMS_int__point_slaveVP_to_Fn | 300 void |
| 296 | 301 VMS_int__dissipate_slaveVP( SlaveVP *slaveToDissipate ); |
| 297 void | 302 #define VMS_PI__dissipate_slaveVP VMS_int__dissipate_slaveVP |
| 298 VMS_int__dissipate_SlaveVP( SlaveVP *slaveToDissipate ); | 303 //WL: dissipate a SlaveVP by sending a request |
| 299 #define VMS_PI__dissipate_SlaveVP VMS_int__dissipateSlaveVP | |
| 300 //From WL, dissipate a SlaveVP by sending a request | |
| 301 | |
| 302 //Use this to create processor inside entry point & other places outside | |
| 303 // the VMS system boundary (IE, not run in slave nor Master) | |
| 304 SlaveVP * | |
| 305 VMS_ext__create_slaveVP( TopLevelFnPtr fnPtr, void *dataParam ); | |
| 306 | 304 |
| 307 void | 305 void |
| 308 VMS_ext__dissipate_slaveVP( SlaveVP *slaveToDissipate ); | 306 VMS_ext__dissipate_slaveVP( SlaveVP *slaveToDissipate ); |
| 309 | 307 |
| 310 void | 308 void |
| 353 VMS_WL__give_num_plugin_cycles(); | 351 VMS_WL__give_num_plugin_cycles(); |
| 354 uint32 | 352 uint32 |
| 355 VMS_WL__give_num_plugin_animations(); | 353 VMS_WL__give_num_plugin_animations(); |
| 356 | 354 |
| 357 | 355 |
| 358 #include "probes.h" | 356 //========================= Utilities ======================= |
| 359 #include "vutilities.h" | 357 inline char * |
| 360 | 358 VMS_int__strDup( char *str ); |
| 359 | |
| 360 | |
| 361 //========================= Probes ======================= | |
| 362 #include "Probes/probes.h" | |
| 363 | |
| 364 //================================================ | |
| 361 #endif /* _VMS_H */ | 365 #endif /* _VMS_H */ |
| 362 | 366 |
