Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 235 → Rev 234

/shark/trunk/ports/first/modules/rmstar.c
File deleted
/shark/trunk/ports/first/first-server.c
14,7 → 14,6
#include "fsf_contract.h"
#include "cbsstar.h"
#include "posixstar.h"
#include "rmstar.h"
#include "edfstar.h"
#include "posix.h"
#include "comm_message.h"
57,7 → 56,6
local_scheduler_level = EDFSTAR_register_level(fsf_cbsstar_level);
break;
case FSF_SCHEDULER_RM:
local_scheduler_level = RMSTAR_register_level(fsf_cbsstar_level);
break;
}
212,30 → 210,7
free(msg);
 
break;
 
case FSF_SCHEDULER_RM:
 
if (RMSTAR_getbudget(local_scheduler_level,thread) != -1)
return FSF_ERR_BIND_THREAD;
 
/* Set server on local scheduler */
RMSTAR_setbudget(local_scheduler_level,thread,(int)(server));
 
/* Send change level command to posix level */
msg = (STD_command_message *)malloc(sizeof(STD_command_message));
 
#ifdef FSF_DEBUG
kern_printf("(MSG RMSTAR LEV %d SEV %d THR %d)",local_scheduler_level,server,thread);
#endif
 
msg->command = STD_SET_NEW_MODEL;
msg->param = (void *)(rt_arg);
level_table[local_scheduler_level]->public_message(local_scheduler_level,thread,msg);
 
msg->command = STD_SET_NEW_LEVEL;
msg->param = (void *)(local_scheduler_level);
task_message(msg,thread,0);
 
default:
return FSF_ERR_BIND_THREAD;
break;
321,32 → 296,6
break;
 
case FSF_SCHEDULER_RM:
 
if (RMSTAR_getbudget(local_scheduler_level,thread) == -1)
return FSF_ERR_UNBIND_THREAD;
else {
 
STD_command_message *msg;
NRT_TASK_MODEL nrt;
 
nrt_task_default_model(nrt);
nrt_task_def_save_arrivals(nrt);
 
/* Send change level command to local scheduler */
msg = (STD_command_message *)malloc(sizeof(STD_command_message));
 
msg->command = STD_SET_NEW_MODEL;
msg->param = (void *)(&nrt);
level_table[fsf_posix_level]->public_message(fsf_posix_level,thread,msg);
 
msg->command = STD_SET_NEW_LEVEL;
msg->param = (void *)(fsf_posix_level);
task_message(msg,thread,0);
 
free(msg);
 
}
 
break;
}
 
416,10 → 365,7
case FSF_SCHEDULER_POSIX:
return POSIXSTAR_getbudget(local_scheduler_level,thread);
case FSF_SCHEDULER_EDF:
return EDFSTAR_getbudget(local_scheduler_level,thread);
case FSF_SCHEDULER_RM:
return RMSTAR_getbudget(local_scheduler_level,thread);
default:
return -1;
}
 
453,16 → 399,7
break;
case FSF_SCHEDULER_EDF:
/* Check if some thread use the server */
if(EDFSTAR_budget_has_thread(local_scheduler_level,*server))
return FSF_ERR_SERVER_USED;
break;
 
case FSF_SCHEDULER_RM:
/* Check if some thread use the server */
if(RMSTAR_budget_has_thread(local_scheduler_level,*server))
return FSF_ERR_SERVER_USED;
 
break;
}
 
/shark/trunk/ports/first/include/rmstar.h
File deleted
/shark/trunk/ports/first/include/fsf_contract.h
21,7 → 21,6
#include "posix.h"
#include "cbsstar.h"
#include "edfstar.h"
#include "rmstar.h"
#include "posixstar.h"
 
#ifndef _FSF_CONTRACT_H_
/shark/trunk/ports/first/makefile
12,7 → 12,7
 
FIRST = first-contract.o first-server.o first-sync.o \
./modules/cbsstar.o ./modules/posixstar.o ./modules/posix.o \
./modules/edfstar.o ./modules/rmstar.o
./modules/edfstar.o
 
OBJS = $(FIRST)