- 22 Jul, 2021 1 commit
-
-
Jan Kiszka authored
Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 04 Jun, 2021 1 commit
-
-
Jan Kiszka authored
Started to bite us on newer kernels / with dovetail. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 12 May, 2021 1 commit
-
-
After raising the topic of (dis)continuing support for the x32 ABI multiple times on the mailing list, it turned out that Xenomai has no known users of this dying ABI. So let's remove it. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 05 May, 2021 2 commits
-
-
As internal interfaces are gradually being made y2038-safe, the __kernel_timex type should be used internally by the kernel to represent time adjustment parameters. Apply the same reasoning to Cobalt. We still use a legacy y2038-unsafe timex type at the kernel<->user interface boundary (struct __user_old_timex) until libcobalt is y2038-safe. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
As internal interfaces are gradually being made y2038-safe, the timespec64 type should be used internally by the kernel to represent time values. Apply the same reasoning to Cobalt. We still use a legacy y2038-unsafe timespec type at the kernel<->user interface boundary (struct __user_old_timespec) until libcobalt is y2038-safe. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> [Florian: Fix regression in 32bit mode] Signed-off-by:
Florian Bezdeka <florian.bezdeka@siemens.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 02 Dec, 2019 2 commits
-
-
Jan Kiszka authored
This reverts commit b3c70f1a . Was broken by design and is now no longer needed. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
The approach of using thread_setschedparam_ex with __SCHED_CURRENT failed for policies with complex parameter sets. Therefore, introduce a syscall that is fully aware of how to apply only the priority change to the target thread's scheduling settings. We need a compat path as well because we are passing down pointers. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 03 Jun, 2019 1 commit
-
-
Jan Kiszka authored
The mayday mechanism exists in order to kick a xenomai userspace task into secondary mode while it is running userspace code. For that, we ask I-pipe to call us back when the task was interrupted and is about to return to userspace. So far we defer the relaxation from that callback via a VDSO-like mechanism that triggers a special syscall to the return path of that very same syscall. However, that is not desirable because it is a complex, arch-specific mechanism that can easily break and, specifically, that destroys the backtrace of ptraced tasks. Fortunately, we can fulfill the needs of mayday also by relaxing the task directly from the mayday callback. Tested successfully on x86-64 and ARM. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 19 Mar, 2019 1 commit
-
-
After kernel v4.18 commit 4a0772cf0674 ("tracing: Prevent further users of zero size static arrays in trace events") creating zero length arrays will force compile-time error This will fix BUILD_BUG_ON error on v4.18 and later Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 03 Jul, 2018 8 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
CONFIG_X86_X32 used to depend on CONFIG_IA32_EMULATION. Since upstream commit #9b54050b, this is not the case anymore, and both options can be enabled separately. Remove the assumption about such dependency, fixing the build issue.
-
Philippe Gerum authored
-
All these are synchronous, and the thread context is already recorded by ftrace. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Matching numbers against syscall.h, specifically when the call is compat or x32, is tedious work. Fortunately, ftrace allows up to automate this. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
The code of cobalt_print_sched_params is carried into the format string in tracefs, and trace-cmd tries to make any sense out of it. While it can process simply statements, this code is too complex and will prevent the parsing. Convert it into a function. That still does not resolve the parsing issue of trace-cmd, but that can be addressed by a custom plugin which can then interpret this tracepoint. That wouldn't be possible with the broken format string. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
__print_symbolic already ensures that unknown policies are printed numerically. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Define the internal scheduling policy "current": it shall refer to the target thread's current scheduling policy. This will allow to model pthread_setschedprio on top of pthread_setschedparam_ex with only a single syscall. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 01 Jul, 2017 1 commit
-
-
Philippe Gerum authored
-
- 09 May, 2017 1 commit
-
-
Philippe Gerum authored
-
- 14 May, 2016 1 commit
-
-
Using trace_seq_printf requires to terminate the generated string with 0, or we print additional garbage. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 27 Nov, 2015 1 commit
-
-
Philippe Gerum authored
-
- 10 Nov, 2015 1 commit
-
-
Philippe Gerum authored
-
- 30 Sep, 2015 2 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
- 18 Jun, 2015 1 commit
-
-
Philippe Gerum authored
-
- 17 Oct, 2014 1 commit
-
-
Philippe Gerum authored
-
- 21 Sep, 2014 1 commit
-
-
Philippe Gerum authored
-
- 09 Sep, 2014 2 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
- 03 Sep, 2014 1 commit
-
-
Philippe Gerum authored
There is no point in using 64bit long Cobalt handles internally on 64bit platforms. However it makes sense to keep them as 32bit values so that we may use them as atomic operands on either sides of a 64bit(kernel) <-> 32bit(user) ABI. At this chance, boilerplate/atomic.h is sanitized for disambiguating regular and long atomic set/get operations.
-
- 21 Aug, 2014 1 commit
-
-
Philippe Gerum authored
Since all userland processes belong to the Cobalt personality, all syscalls have been merged into the Cobalt table. As a consequence, all process context information maintained by the core has moved to the cobalt_process descriptor.
-
- 03 Jul, 2014 1 commit
-
-
Philippe Gerum authored
This service returns the per-task kernel pid of a local pthread.
-
- 01 Jul, 2014 1 commit
-
-
Philippe Gerum authored
To match the GNU extension equivalent, pthread_set_name_np() is renamed to pthread_setname_np(). For consistency with the previous change, pthread_set_mode_np() becomes pthread_setmode_np(). The former calls will be available from the upcoming transition kit.
-
- 17 Jun, 2014 1 commit
-
-
Philippe Gerum authored
We have no more in-tree users of these calls. With the introduction of services to support real-time signals, those two non-portable calls have become redundant. Instead, Cobalt-based applications should set up a periodic timer using the timer_create()+timer_settime() call pair, then wait for release points via sigwaitinfo(). Overruns can be detected by looking at the siginfo.si_overrun field. Alternatively, applications may obtain a file descriptor referring to a Cobalt timer via the timerfd() call, and read() from it to wait for timeouts. In addition, applications may include a timer in a synchronous multiplexing operation involving other event sources, by passing a file descriptor returned by the timerfd() service to a select() call.
-
- 02 Jun, 2014 1 commit
-
-
Gilles Chanteperdrix authored
-
- 27 May, 2014 2 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
- 19 May, 2014 1 commit
-
-
Philippe Gerum authored
-
- 13 May, 2014 1 commit
-
-
Philippe Gerum authored
-
- 12 May, 2014 1 commit
-
-
Philippe Gerum authored
-