control.h 767 Bytes
Newer Older
1
2
3
4
5
6
/*
 * SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 *
 * Copyright (C) 2018 Philippe Gerum  <rpm@xenomai.org>
 */

7
8
#ifndef _EVL_UAPI_CONTROL_H
#define _EVL_UAPI_CONTROL_H
9

10
#include <linux/types.h>
11
#include <uapi/evl/sched.h>
12

13
#define EVL_ABI_LEVEL  11
Philippe Gerum's avatar
Philippe Gerum committed
14

15
16
#define EVL_CONTROL_DEV  "/dev/evl/control"

17
18
19
20
21
22
struct evl_core_info {
	__u32 abi_level;
	__u32 fpu_features;
	__u64 shm_size;
};

23
24
25
26
27
struct evl_cpu_state {
	__u32 cpu;
	__u32 *state;
};

28
29
30
#define EVL_CONTROL_IOCBASE	'C'

#define EVL_CTLIOC_GET_COREINFO		_IOR(EVL_CONTROL_IOCBASE, 0, struct evl_core_info)
31
#define EVL_CTLIOC_SCHEDCTL		_IOWR(EVL_CONTROL_IOCBASE, 1, struct evl_sched_ctlreq)
32
#define EVL_CTLIOC_GET_CPUSTATE		_IOR(EVL_CONTROL_IOCBASE, 2, struct evl_cpu_state)
33

34
#endif /* !_EVL_UAPI_CONTROL_H */