• A
    vfio: Make BARs native endian · c4070817
    Alexey Kardashevskiy 提交于
    Slow BAR access path is used when VFIO fails to mmap() BAR.
    Since this is just a transport between the guest and a device, there is
    no need to do endianness swapping.
    
    This changes BARs to use native endianness. Since non-ROM BARs were
    doing byte swapping, we need to remove it so does the patch.
    As the result, this eliminates cancelling byte swaps and there is
    no change in behavior for non-ROM BARs.
    
    ROM BARs were declared little endian too but byte swapping was not
    implemented for them so they never actually worked on big endian systems
    as there was no cancelling byte swap. This fixes endiannes for ROM BARs
    by declaring them native endian and only fixing access sizes as it is
    done for non-ROM BARs.
    Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
    c4070817
vfio.c 139.8 KB