Skip to content
  • Philippe Gerum's avatar
    lib/syscall: convert to prctl-based syscall form · 2dcda22d
    Philippe Gerum authored
    
    
    The syscall form used for issuing requests to the companion core is
    based on ORing __OOB_SYSCALL_BIT to the syscall register for tagging
    an out-of-band syscall, which is outside of the valid in-band range
    for syscall numbers.
    
    Unfortunately, this method has a major drawback: tools like Valgrind
    which track system calls issued by applications may choke on
    out-of-band system calls since these do not belong to the common set
    it recognizes. Although adding syscall wrappers to Valgrind might be a
    solution, this would not be the most practical one for dual kernel
    syscall interfaces. The most practical approach would be to piggyback
    on an existing system call which Valgrind (and others) already
    recognizes. For this reason, Dovetail introduced a new syscall form
    based on the regular prctl(2) syscall.
    
    In order to benefit from this feature, EVL syscalls are now folded
    into a prctl() request, which the core receives.
    
    This change introduces ABI #27. Recent revisions of the EVL core
    support both the former ABI and the new (prctl-based) one
    indifferently.
    
    Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
    2dcda22d