Loading...
Searching...
No Matches
Go to the documentation of this file. 1#ifndef X86_MATANEL_MACROS_H
2#define X86_MATANEL_MACROS_H
10#ifndef CONTAINING_RECORD
11#define CONTAINING_RECORD(ptr, type, member) \
12 ((type *)((char *)(ptr) - offsetof(type, member)))
17#define SIZE_T_MAX (size_t)-1
22#define UINT64_T_MAX (uint64_t)-1
26#define LK_KERNEL_START &kernel_start
29#define LK_KERNEL_END &kernel_end
31#define LK_KERNEL_SIZE (LK_KERNEL_END - LK_KERNEL_START)
35 __typeof__(a) _a = (a); \
36 __typeof__(b) _b = (b); \
41 __typeof__(a) _a = (a); \
42 __typeof__(b) _b = (b); \
51#define RETADDR(level) __builtin_return_address(level)
53#define RETADDR(level) (void)(level)
58#define likely(x) __builtin_expect(!!(x), 1)
62#define unlikely(x) __builtin_expect(!!(x), 0)
64#define FREEZE() __cli(); __hlt()
67#define FIELD_OFFSET(t,f) ((uint32_t)(uint32_t*)&(((t*) 0)->f))
69#define FIELD_OFFSET(t,f) ((uint32_t)__builtin_offsetof(t,f))