 |
My Project
|
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)
33#define MAX(a, b) (((a) > (b)) ? (a) : (b))
36#define RETADDR(level) __builtin_return_address(level)
38#define RETADDR(level) (void)(level)
43#define likely(x) __builtin_expect(!!(x), 1)
47#define unlikely(x) __builtin_expect(!!(x), 0)
49#define FREEZE() __cli(); __hlt()
52#define FIELD_OFFSET(t,f) ((uint32_t)(uint32_t*)&(((t*) 0)->f))
54#define FIELD_OFFSET(t,f) ((uint32_t)__builtin_offsetof(t,f))