Subversion Repositories shark

Compare Revisions

Regard whitespace Rev 1526 → Rev 1527

/demos/trunk/loader/shark/func.h
2,10 → 2,18
#define __FUNC_H__
 
#include "kernel/kern.h"
#include "fsf_contract.h"
#include "fsf_server.h"
#include "shark.h"
 
#define OS_SHARK
 
typedef struct {
fsf_shared_object_t object;
fsf_shared_operation_t operation;
} mutex_object;
 
 
#define get_current_exec_task() exec_shadow
/* Return the PID/pthread_t of calling task */
 
84,15 → 92,15
 
/* Mutex */
extern __inline__ void generic_lock_mutex(int res) {
extern mutex_t mutex_table[MAX_MUTEX];
extern mutex_object mutex_table[MAX_MUTEX];
 
mutex_lock(&mutex_table[res]);
fsf_lock_object(&mutex_table[res].operation);
}
 
extern __inline__ void generic_unlock_mutex(int res) {
extern mutex_t mutex_table[MAX_MUTEX];
extern mutex_object mutex_table[MAX_MUTEX];
mutex_unlock(&mutex_table[res]);
fsf_unlock_object(&mutex_table[res].operation);
}
 
/* TASK RUNTIME FUNCTIONS */
/demos/trunk/loader/shark/fsfinit.c
1,6 → 1,6
#include "kernel/kern.h"
#include "fsf_contract.h"
#include "fsf_server.h"
#include "fsf_contract.h"
#include "func.h"
 
extern struct loader_contract loader_contract_list[];
/demos/trunk/loader/shark/shark.c
12,7 → 12,7
extern int total_loader_task;
extern int total_loader_contract;
 
mutex_t mutex_table[MAX_MUTEX];
mutex_object mutex_table[MAX_MUTEX];
int main_chunk;
 
/* Runtime Calibration */
169,14 → 169,12
/* Set the zero_time and post the first activation event */
void start_simulation() {
int i;
int i, object;
struct loader_task *l = loader_task_list;
struct timespec end_time;
PI_mutexattr_t a;
 
PI_mutexattr_default(a);
 
i = 0;
object = 0;
 
#ifdef __NEW_TRACER__
 
195,7 → 193,13
while (i < total_loader_task) {
if (l->muxstatus == 1) {
mutex_init(&mutex_table[l->resource],&a);
fsf_init_shared_object(&(mutex_table[l->resource]).object,object);
mutex_table[l->resource].operation.op_id=1;
mutex_table[l->resource].operation.wcet.tv_sec=l->block[i].tv_sec;
mutex_table[l->resource].operation.wcet.tv_nsec=l->block[i].tv_nsec;
fsf_declare_shared_object_operation(&mutex_table[l->resource].object,
&mutex_table[l->resource].object);
 
l->muxstatus = 2;
}