userspace markers initial code
[lttv.git] / markers-userspace / kernel-api.h
1 /*
2 * Kernel API extracted from Linux kernel headers.
3 */
4
5 #ifndef __KERNEL_API
6 #define __KERNEL_API
7
8 #define DECLARE_IMV(type, name) extern __typeof__(type) name##__imv
9 #define DEFINE_IMV(type, name) __typeof__(type) name##__imv
10
11 #define likely(x) __builtin_expect(!!(x), 1)
12 #define unlikely(x) __builtin_expect(!!(x), 0)
13
14 /**
15 * imv_read - read immediate variable
16 * @name: immediate value name
17 *
18 * Reads the value of @name.
19 */
20 #define imv_read(name) _imv_read(name)
21
22 /**
23 * _imv_read - Read immediate value with standard memory load.
24 * @name: immediate value name
25 *
26 * Force a data read of the immediate value instead of the immediate value
27 * based mechanism. Useful for __init and __exit section data read.
28 */
29 #define _imv_read(name) (name##__imv)
30
31 #endif
This page took 0.02898 seconds and 4 git commands to generate.