LCOV - code coverage report
Current view: top level - arch/arm/include/asm - swab.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 2 100.0 %
Date: 2014-02-18 Functions: 0 0 -
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /*
       2                 :            :  *  arch/arm/include/asm/byteorder.h
       3                 :            :  *
       4                 :            :  * ARM Endian-ness.  In little endian mode, the data bus is connected such
       5                 :            :  * that byte accesses appear as:
       6                 :            :  *  0 = d0...d7, 1 = d8...d15, 2 = d16...d23, 3 = d24...d31
       7                 :            :  * and word accesses (data or instruction) appear as:
       8                 :            :  *  d0...d31
       9                 :            :  *
      10                 :            :  * When in big endian mode, byte accesses appear as:
      11                 :            :  *  0 = d24...d31, 1 = d16...d23, 2 = d8...d15, 3 = d0...d7
      12                 :            :  * and word accesses (data or instruction) appear as:
      13                 :            :  *  d0...d31
      14                 :            :  */
      15                 :            : #ifndef __ASM_ARM_SWAB_H
      16                 :            : #define __ASM_ARM_SWAB_H
      17                 :            : 
      18                 :            : #include <uapi/asm/swab.h>
      19                 :            : 
      20                 :            : #if __LINUX_ARM_ARCH__ >= 6
      21                 :            : 
      22                 :            : static inline __attribute_const__ __u32 __arch_swahb32(__u32 x)
      23                 :            : {
      24                 :      70418 :         __asm__ ("rev16 %0, %1" : "=r" (x) : "r" (x));
      25                 :            :         return x;
      26                 :            : }
      27                 :            : #define __arch_swahb32 __arch_swahb32
      28                 :            : #define __arch_swab16(x) ((__u16)__arch_swahb32(x))
      29                 :            : 
      30                 :            : static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
      31                 :            : {
      32                 :     304686 :         __asm__ ("rev %0, %1" : "=r" (x) : "r" (x));
      33                 :            :         return x;
      34                 :            : }
      35                 :            : #define __arch_swab32 __arch_swab32
      36                 :            : 
      37                 :            : #endif
      38                 :            : #endif

Generated by: LCOV version 1.9