Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/xen/byteorder/generic.h
Line
Count
Source (jump to first uncovered line)
1
#ifndef __XEN_BYTEORDER_GENERIC_H__
2
#define __XEN_BYTEORDER_GENERIC_H__
3
4
/*
5
 * Generic Byte-reordering support
6
 *
7
 * The "... p" macros, like le64_to_cpup, can be used with pointers
8
 * to unaligned data, but there will be a performance penalty on 
9
 * some architectures.  Use get_unaligned for unaligned data.
10
 *
11
 * The following macros are to be defined by <asm/byteorder.h>:
12
 *
13
 * Conversion of XX-bit integers (16- 32- or 64-)
14
 * between native CPU format and little/big endian format
15
 * 64-bit stuff only defined for proper architectures
16
 *     cpu_to_[bl]eXX(__uXX x)
17
 *     [bl]eXX_to_cpu(__uXX x)
18
 *
19
 * The same, but takes a pointer to the value to convert
20
 *     cpu_to_[bl]eXXp(__uXX x)
21
 *     [bl]eXX_to_cpup(__uXX x)
22
 *
23
 * The same, but change in situ
24
 *     cpu_to_[bl]eXXs(__uXX x)
25
 *     [bl]eXX_to_cpus(__uXX x)
26
 *
27
 * See asm-foo/byteorder.h for examples of how to provide
28
 * architecture-optimized versions
29
 */
30
31
#define cpu_to_le64 __cpu_to_le64
32
#define le64_to_cpu __le64_to_cpu
33
#define cpu_to_le32 __cpu_to_le32
34
#define le32_to_cpu __le32_to_cpu
35
0
#define cpu_to_le16 __cpu_to_le16
36
#define le16_to_cpu __le16_to_cpu
37
#define cpu_to_be64 __cpu_to_be64
38
#define be64_to_cpu __be64_to_cpu
39
#define cpu_to_be32 __cpu_to_be32
40
#define be32_to_cpu __be32_to_cpu
41
#define cpu_to_be16 __cpu_to_be16
42
#define be16_to_cpu __be16_to_cpu
43
#define cpu_to_le64p __cpu_to_le64p
44
#define le64_to_cpup __le64_to_cpup
45
#define cpu_to_le32p __cpu_to_le32p
46
#define le32_to_cpup __le32_to_cpup
47
#define cpu_to_le16p __cpu_to_le16p
48
#define le16_to_cpup __le16_to_cpup
49
#define cpu_to_be64p __cpu_to_be64p
50
#define be64_to_cpup __be64_to_cpup
51
#define cpu_to_be32p __cpu_to_be32p
52
#define be32_to_cpup __be32_to_cpup
53
#define cpu_to_be16p __cpu_to_be16p
54
#define be16_to_cpup __be16_to_cpup
55
#define cpu_to_le64s __cpu_to_le64s
56
#define le64_to_cpus __le64_to_cpus
57
#define cpu_to_le32s __cpu_to_le32s
58
#define le32_to_cpus __le32_to_cpus
59
#define cpu_to_le16s __cpu_to_le16s
60
#define le16_to_cpus __le16_to_cpus
61
#define cpu_to_be64s __cpu_to_be64s
62
#define be64_to_cpus __be64_to_cpus
63
#define cpu_to_be32s __cpu_to_be32s
64
#define be32_to_cpus __be32_to_cpus
65
#define cpu_to_be16s __cpu_to_be16s
66
#define be16_to_cpus __be16_to_cpus
67
68
#endif /* __XEN_BYTEORDER_GENERIC_H__ */