- 05 Feb, 2018 3 commits
-
-
Some SOCs will have two GPIO chips that require two independent drivers. In my case I was working with the Zynq SOC and needed a driver for the gpios on the FPGA and a driver for the gpios available on the ARM core. This change allows for two rt gpio drivers to be built and loaded at the same time. The rt gpio driver will be renamed from xeno-gpio to the following: xeno-gpio-bcm2835.ko xeno-gpio-mxc.ko xeno-gpio-sun8i-h3.ko xeno-gpio-zynq7000.ko This also moves the gpio-core logic into the kernel image.
-
If the device name from the device tree starts with a forward slash (/) the rtdm device stores it in the registry including the forward slash. When we go to use that device and do the registry lookup we use a relative path from /dev/rtdm which doesn't contain the forward slash and fails to find a match. Open won't return an error but IO calls will fail. To fix this when we register an RTDM device skip the first character if it's a forward slash. In my case the path from the device tree is /amba_pl/gpio@41200000/gpio905 which gets stored in the registry. When we want to use the device and look up the device path in the registry we use amba_pl/gpio@41200000/gpio905 which won't find a match in the registry. Tested on Zynq7000 gpio drivers
-
-
- 27 Jan, 2018 1 commit
-
-
It can be confusing for people reading a trace when a context switch due to a wake up in the IRQ handler comes before the handler was left. Move the exit instrumentation before the schedule, just like we already do in the clock handler. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 26 Jan, 2018 3 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
Philippe Gerum authored
-
- 23 Jan, 2018 4 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
Philippe Gerum authored
-
Philippe Gerum authored
-
- 15 Jan, 2018 4 commits
-
-
Philippe Gerum authored
This thread must wait for work in interruptible mode, does not wait for a device event. This fixes the bad process time accounting which otherwise would converge to 1.00 for an idle system when the Cobalt core is enabled.
-
Philippe Gerum authored
rtdm_gpiochip_alloc() is a way to instantiate a single GPIO descriptor instead of mapping all GPIO controllers defined by the firmware which belong to a particular type. This routine is matched by rtdm_gpiochip_remove() for deallocation. We need the former to return a pointer to the allocated descriptor we may then pass to the latter.
-
Philippe Gerum authored
Some client code may want to deal with GPIO interrupt handling directly, without support for an irq_chip controller paired with the GPIO chip. Assume that a failure to retrieve the IRQ number associated to a pin means exactly that, offloading interrupt handling to an open coded implementation the client code should provide for. In parallel, introduce rtdm_gpiochip_post_event() for notifying the GPIO core from an incoming interrupt event on a given pin.
-
Philippe Gerum authored
For creating a new RTDM-based GPIO chip descriptor (struct rtdm_gpio_chip), mapped to its regular counterpart (struct gpio_chip).
-
- 19 Dec, 2017 2 commits
-
-
Prefix CPPFLAGS and LDFLAGS with AM_ to make automake actually use those and propagate external CPPFLAGS and LDFLAGS settings into the build. Signed-off-by:
Marek Vasut <marex@denx.de>
-
Philippe Gerum authored
lib/boilerplate/bootstrap.c is meant to be glued to the application executable for bootstrapping the Cobalt services automatically at load up. From the standpoint of its sole author (i.e. me), doing so adds no requirement with respect to the licensing terms of the containing application. Allow lib/boilerplate/bootstrap.c to be distributed under the terms of the MIT license to reflect this fact.
-
- 10 Dec, 2017 2 commits
-
-
the local debug variable has a name-clash with a identically named function in arch/x86/include/asm/traps.h also a macro guard apparently used an outdated name. This patch is equivalent than the proposed one by Norbert Lange for the intel cards.
-
-
- 08 Dec, 2017 3 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
Philippe Gerum authored
-
- 05 Dec, 2017 3 commits
-
-
-
For the zynq platform (and possibly others in the future) we need to modify gpio-core to request gpio pins before using them. The open() function will now request a gpio and fail if it's already reserved. This should make the pin request transparent to the user. The ability to request and release pins is also available in an ioctrl message. Tested on Microzed Zynq-7010 platform and the raspberry pi 2 board.
-
split rtdm_fd_enter, move the functionality where we store the fd until after the open() call succeeds. Calls where open() fail a fd is left in the tree even after the cleanup code is executed. If this fd number is used again we will fail the call to open until a different fd is used. This patch addresses this situation by not adding the fd into the tree until open has succeeded and the fd is valid.
-
- 01 Dec, 2017 1 commit
-
-
Module: xenomai-jki Branch: for-forge Commit: dfec6f1f9448b4e207e36280a0e48923687a1cee URL: http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=dfec6f1f9448b4e207e36280a0e48923687a1cee Author: Jan Kiszka <jan.kiszka@siemens.com> Date: Thu Nov 30 21:39:44 2017 +0100 cobalt/rtdm: Avoid dereferencing NULL device in __rtdm_dev_ioctl_core File descriptors created by message queues or timerfds do not have devices associated with them. Dereferencing that pointer prior to checking if we have device fd in the first place is a recipe for crashes. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 25 Nov, 2017 1 commit
-
-
Philippe Gerum authored
TLSF's init_memory_pool() wants heaps to be larger than 4k on 64bit architectures, due to the increased size of the meta-data compared to their 32bit counterpart (struct tlsf). Use 8k as the minimum heap size instead of PAGE_SIZE in the pshared case, and make sure the main pool size amounts to at least 8k in the process-private case, so that init_memory_pool() never fails in heapobj_pkg_init_private().
-
- 22 Nov, 2017 1 commit
-
-
the local debug variable has a name-clash with a identically named function in arch/x86/include/asm/traps.h also a macro guard apparently used an outdated name Signed-off-by:
Norbert Lange <norbert.lange@andritz.com>
-
- 20 Nov, 2017 1 commit
-
-
Philippe Gerum authored
-
- 19 Nov, 2017 5 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
Philippe Gerum authored
This fixes a regression introduced by #4b4001c7.
-
Philippe Gerum authored
-
Philippe Gerum authored
-
- 18 Nov, 2017 4 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
-
Philippe Gerum authored
Often reported as a failure to build Xenomai over Debian Stretch, which ships with gcc6 built with --enable-default-pie, ld's -Ur option as given by wrap-link.sh does not mix well with -pie which is implicitly enabled, causing the linker to bail out on error. Since this script eventually completes the link stage to produce a fully resolved executable, collecting the ctors/dtors and resolving all references from the partially linked object file is implied anyway, making -Ur useless in stage2 at best. For details, see: http://xenomai.org/pipermail/xenomai/2017-October/037799.html https://xenomai.org/pipermail/xenomai/2017-August/037648.html http://www.xenomai.org/pipermail/xenomai/2017-May/037312.html
-
Philippe Gerum authored
We need unwind tables to be precise at the instruction level, so they can be used for accurate stack unwinding (e.g. backtrace()) from asynchronous events like signals. Slackspot depends on this ability. Failure to do so may cause applications to report incomplete backtraces with glibc's backtrace(), or even crash over libunwind, see http://xenomai.org/pipermail/xenomai/2017-October/037763.html Enable -fasynchronous-unwind-tables for building the Xenomai libraries and the user applications (via xeno-config --cflags). Report and suggestion for a fix by Andreas Glatz <andi.glatz@gmail.com>.
-
- 17 Nov, 2017 2 commits
-
-
Philippe Gerum authored
We do not want a syscall which is neither a Cobalt nor a Linux syscall to trigger a switch to secondary mode when issued from primary mode. Catch the situation early, returning ENOSYS.
-
Philippe Gerum authored
-