diff ProcrContext.h @ 134:a9b72021f053

Distributed memory management w/o free requests working
author Merten Sach <msach@mailbox.tu-berlin.de>
date Fri, 16 Sep 2011 16:19:24 +0200
parents dbfc8382d546
children 99343ffe1918
line diff
     1.1 --- a/ProcrContext.h	Fri Sep 16 14:26:18 2011 +0200
     1.2 +++ b/ProcrContext.h	Fri Sep 16 16:19:24 2011 +0200
     1.3 @@ -9,10 +9,13 @@
     1.4  #define	_ProcrContext_H
     1.5  #define _GNU_SOURCE
     1.6  
     1.7 -#include "VMS.h"
     1.8 +typedef struct _VirtProcr VirtProcr;
     1.9 +typedef struct _VMSReqst  VMSReqst;
    1.10 +typedef void  (*VirtProcrFnPtr)  ( void *, VirtProcr * ); //initData, animPr
    1.11  
    1.12 -typedef struct _SchedSlot SchedSlot;
    1.13 -typedef struct _VirtProcr     VirtProcr;
    1.14 +
    1.15 +#include "VMS_primitive_data_types.h"
    1.16 +#include "scheduling.h"
    1.17  
    1.18  /*WARNING: re-arranging this data structure could cause VP switching
    1.19   *         assembly code to fail -- hard-codes offsets of fields
    1.20 @@ -52,13 +55,6 @@
    1.21   };
    1.22  //VirtProcr
    1.23  
    1.24 -struct _SchedSlot
    1.25 - {
    1.26 -   int         workIsDone;
    1.27 -   int         needsProcrAssigned;
    1.28 -   VirtProcr  *procrAssignedToSlot;
    1.29 - };
    1.30 -
    1.31  void saveCoreLoopReturnAddr(void **returnAddress);
    1.32  
    1.33  void switchToVP(VirtProcr *nextProcr);
    1.34 @@ -72,7 +68,7 @@
    1.35  void *asmTerminateCoreLoop(VirtProcr *currPr);
    1.36  
    1.37  #define flushRegisters() \
    1.38 -        asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15")
    1.39 +        asm volatile ("":::"%rbx", "%r12", "%r13","%r14","%r15");
    1.40  
    1.41  inline VirtProcr *
    1.42  create_procr_helper( VirtProcr *newPr,       VirtProcrFnPtr  fnPtr,