Skip to content
  • Jan Kiszka's avatar
    cobalt/kernel: Simplify mayday processing · 4e7bb325
    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: default avatarJan Kiszka <jan.kiszka@siemens.com>
    4e7bb325