blob: 965013c611acf2fabef2fe396bc1478bc4315be9 [file] [log] [blame]
Dmitry V. Levinfff2f312014-12-11 19:25:02 +00001#include "defs.h"
2
3#include <sched.h>
4
5#include "xlat/schedulers.h"
6
Dmitry V. Levina0bd3742015-04-07 01:36:50 +00007SYS_FUNC(sched_getscheduler)
Dmitry V. Levinfff2f312014-12-11 19:25:02 +00008{
9 if (entering(tcp)) {
10 tprintf("%d", (int) tcp->u_arg[0]);
11 } else if (!syserror(tcp)) {
12 tcp->auxstr = xlookup(schedulers, tcp->u_rval);
13 if (tcp->auxstr != NULL)
14 return RVAL_STR;
15 }
16 return 0;
17}
18
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000019SYS_FUNC(sched_setscheduler)
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000020{
21 if (entering(tcp)) {
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000022 tprintf("%d, ", (int) tcp->u_arg[0]);
23 printxval(schedulers, tcp->u_arg[1], "SCHED_???");
Dmitry V. Levinf8bf1d52015-07-17 16:12:22 +000024 tprints(", ");
25 printnum_int(tcp, tcp->u_arg[2], "%d");
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000026 }
27 return 0;
28}
29
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000030SYS_FUNC(sched_getparam)
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000031{
Dmitry V. Levinf8bf1d52015-07-17 16:12:22 +000032 if (entering(tcp))
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000033 tprintf("%d, ", (int) tcp->u_arg[0]);
Dmitry V. Levinf8bf1d52015-07-17 16:12:22 +000034 else
35 printnum_int(tcp, tcp->u_arg[1], "%d");
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000036 return 0;
37}
38
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000039SYS_FUNC(sched_setparam)
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000040{
41 if (entering(tcp)) {
Dmitry V. Levinf8bf1d52015-07-17 16:12:22 +000042 tprintf("%d, ", (int) tcp->u_arg[0]);
43 printnum_int(tcp, tcp->u_arg[1], "%d");
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000044 }
45 return 0;
46}
47
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000048SYS_FUNC(sched_get_priority_min)
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000049{
50 if (entering(tcp)) {
51 printxval(schedulers, tcp->u_arg[0], "SCHED_???");
52 }
53 return 0;
54}
55
Dmitry V. Levina0bd3742015-04-07 01:36:50 +000056SYS_FUNC(sched_rr_get_interval)
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000057{
58 if (entering(tcp)) {
Dmitry V. Levinf8bf1d52015-07-17 16:12:22 +000059 tprintf("%d, ", (int) tcp->u_arg[0]);
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000060 } else {
61 if (syserror(tcp))
Dmitry V. Levinf8bf1d52015-07-17 16:12:22 +000062 printaddr(tcp->u_arg[1]);
Dmitry V. Levinfff2f312014-12-11 19:25:02 +000063 else
64 print_timespec(tcp, tcp->u_arg[1]);
65 }
66 return 0;
67}