Skip to content
  • Philippe Gerum's avatar
    evl: add support for compat mode · a56a66a1
    Philippe Gerum authored
    
    
    Compat mode (CONFIG_COMPAT) allows application binaries built for a
    32bit architecture to issue system calls to a 64bit kernel which
    implements such compatibility support.
    
    This work builds on the y2038 sanitization which eliminated the
    remaining assumptions about the size of native long integers in the
    same move.  Although these changes enable armv7 binaries to call an
    armv8 kernel, most of them are architecture-independent, and follow
    this pattern:
    
    - .compat_ioctl and .compat_oob_ioctl handlers are added to all file
      operations structs, pointing at compat_ptr_ioctl()
      compat_ptr_oob_ioctl() respectively.
    
    - all pointers passed by applications within ioctl() argument structs
      are conveyed as generic 64bit values.
    
    These changes mandate upgrading the ABI revision to #20.
    
    Signed-off-by: default avatarPhilippe Gerum <rpm@xenomai.org>
    a56a66a1