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