1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/**
* @file
*
* Configuration file for Scheduler Simulator using Priority SMP
*/
#include <rtems.h>
#define CONFIGURE_INIT
#define CONFIGURE_MAXIMUM_TASKS 1000
#define CONFIGURE_MAXIMUM_SEMAPHORES 1000
#define CONFIGURE_MAXIMUM_PRIORITY 255
#define CONFIGURE_SMP_APPLICATION
#define CONFIGURE_SMP_MAXIMUM_PROCESSORS 4
#define CONFIGURE_SCHEDULER_PRIORITY
// #define CONFIGURE_SCHEDULER_PRIORITY_SMP
#define CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
#include <rtems/scheduler.h>
#include <schedsim_shell.h>
shell_scheduler_name shell_scheduler_list[] = {
"Priority Scheduler",
"Priority Affinity SMP Scheduler",
""
};
RTEMS_SCHEDULER_CONTEXT_PRIORITY(a, CONFIGURE_MAXIMUM_PRIORITY + 1);
RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP(
b,
CONFIGURE_MAXIMUM_PRIORITY + 1
);
#define CONFIGURE_SCHEDULER_CONTROLS \
RTEMS_SCHEDULER_CONTROL_PRIORITY(a, SCHED_NAME(0)), \
RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP(b, SCHED_NAME(1))
#define CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS \
RTEMS_SCHEDULER_ASSIGN(0, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL), \
RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL), \
RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL)
#define CONFIGURE_DISABLE_BSP_SETTINGS
#include <rtems/confdefs.h>
|