Skip to content
  • Philippe Gerum's avatar
    lib/init: state ABI requirement explicitly · 1565744d
    Philippe Gerum authored
    
    
    Instead of matching whatever ABI we might be compiled against like
    previously, define the kernel ABI we need as a prerequisite
    (EVL_KABI_PREREQ), checking for sanity at build time and runtime.
    
    This prerequisite is matched against the range of ABI revisions the
    kernel supports (from EVL_ABI_BASE to EVL_ABI_CURRENT). In the
    simplest case, the kernel implements a single ABI with no backward
    compatibility mechanism (EVL_ABI_BASE == EVL_ABI_CURRENT).
    
    This addresses two issues:
    
    - the fact that libevl might build against a given set of uapi/ files
      does not actually mean that the corresponding kernel ABI found there
      is fully compatible with what libevl expects. Specifying a
      compatible ABI prereq explicitly addresses this problem.
    
    - we can obtain services from EVL cores supporting multiple ABI
      revisions (i.e. providing backward compat feat).
    
    Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
    1565744d