From 2701b0022c6c409d2172753aed48d616e789b98c Mon Sep 17 00:00:00 2001 From: Jeremy Erickson Date: Tue, 2 Nov 2010 12:37:14 -0400 Subject: Updated Mixed Criticality stuff --- bin/rt_launch.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'bin/rt_launch.c') diff --git a/bin/rt_launch.c b/bin/rt_launch.c index 3863031..f3fda65 100644 --- a/bin/rt_launch.c +++ b/bin/rt_launch.c @@ -29,11 +29,12 @@ int launch(void *task_info_p) { } void usage(char *error) { - fprintf(stderr, "%s\nUsage: rt_launch [-w][-v][-p cpu][-c hrt | srt | be] wcet period program [arg1 arg2 ...]\n" + fprintf(stderr, "%s\nUsage: rt_launch [-w][-v][-p cpu][-c hrt | srt | be][-r criticality] wcet period program [arg1 arg2 ...]\n" "\t-w\tSynchronous release\n" "\t-v\tVerbose\n" "\t-p\tcpu (or initial cpu)\n" "\t-c\tClass\n" + "\t-r\tCriticality\n" "\twcet, period in ms\n" "\tprogram to be launched\n", error); @@ -41,13 +42,14 @@ void usage(char *error) { } -#define OPTSTR "p:c:vw" +#define OPTSTR "p:c:r:vw" int main(int argc, char** argv) { int ret; lt_t wcet; lt_t period; + int criticality = 0; int migrate = 0; int cpu = 0; int opt; @@ -73,6 +75,17 @@ int main(int argc, char** argv) if (class == -1) usage("Unknown task class."); break; + case 'r': + criticality = atoi(optarg); + if (criticality > 1){ + if (criticality > 3){ + class = RT_CLASS_BEST_EFFORT; + } + else{ + class = RT_CLASS_SOFT; + } + } + break; case ':': usage("Argument missing."); @@ -107,7 +120,8 @@ int main(int argc, char** argv) if (ret < 0) bail_out("could not migrate to target partition"); } - ret = __create_rt_task(launch, &info, cpu, wcet, period, class); + ret = __create_rt_task(launch, &info, cpu, wcet, period, + criticality, class); if (ret < 0) -- cgit v1.2.2