• Linus Torvalds's avatar
    Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 5fc83528
    Linus Torvalds authored
    Pull virtio/vhost cross endian support from Michael Tsirkin:
     "I have just queued some more bugfix patches today but none fix
      regressions and none are related to these ones, so it looks like a
      good time for a merge for -rc1.
    
      The motivation for this is support for legacy BE guests on the new LE
      hosts.  There are two redeeming properties that made me merge this:
    
       - It's a trivial amount of code: since we wrap host/guest accesses
         anyway, almost all of it is well hidden from drivers.
    
       - Sane platforms would never set flags like VHOST_CROSS_ENDIAN_LEGACY,
         and when it's clear, there's zero overhead (as some point it was
         tested by compiling with and without the patches, got the same
         stripped binary).
    
      Maybe we could create a Kconfig symbol to enforce the second point:
      prevent people from enabling it eg on x86.  I will look into this"
    
    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
      virtio-pci: alloc only resources actually used.
      macvtap/tun: cross-endian support for little-endian hosts
      vhost: cross-endian support for legacy devices
      virtio: add explicit big-endian support to memory accessors
      vhost: introduce vhost_is_little_endian() helper
      vringh: introduce vringh_is_little_endian() helper
      macvtap: introduce macvtap_is_little_endian() helper
      tun: add tun_is_little_endian() helper
      virtio: introduce virtio_is_little_endian() helper
    5fc83528
tun.c 56.3 KB