blob: 8ea0ed4508104be56b74fe4f9488113f3cde0819 [file] [log] [blame]
Matthew Wilcox1366c372016-03-17 14:21:45 -07001#ifndef _KERNEL_H
2#define _KERNEL_H
3
4#include <assert.h>
5#include <string.h>
6#include <stdio.h>
7#include <stddef.h>
8#include <limits.h>
9
Matthew Wilcoxf518b162016-05-20 17:01:36 -070010#include "../../include/linux/compiler.h"
11
Matthew Wilcox57578c22016-05-20 17:01:54 -070012#define CONFIG_RADIX_TREE_MULTIORDER
Matthew Wilcoxd42cb1a2016-05-20 17:01:39 -070013#define CONFIG_SHMEM
14#define CONFIG_SWAP
15
Ross Zwisler97d778b2016-05-20 17:01:42 -070016#define RADIX_TREE_MAP_SHIFT 3
17
Matthew Wilcox1366c372016-03-17 14:21:45 -070018#ifndef NULL
19#define NULL 0
20#endif
21
22#define BUG_ON(expr) assert(!(expr))
Matthew Wilcoxf518b162016-05-20 17:01:36 -070023#define WARN_ON(expr) assert(!(expr))
Matthew Wilcox1366c372016-03-17 14:21:45 -070024#define __init
Konstantin Khlebnikov2d6f45b2016-03-17 14:22:08 -070025#define __must_check
Matthew Wilcox1366c372016-03-17 14:21:45 -070026#define panic(expr)
27#define printk printf
28#define __force
Matthew Wilcox1366c372016-03-17 14:21:45 -070029#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
Matthew Wilcoxf518b162016-05-20 17:01:36 -070030#define pr_debug printk
31
32#define smp_rmb() barrier()
33#define smp_wmb() barrier()
34#define cpu_relax() barrier()
Matthew Wilcox1366c372016-03-17 14:21:45 -070035
36#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
37
38#define container_of(ptr, type, member) ({ \
39 const typeof( ((type *)0)->member ) *__mptr = (ptr); \
40 (type *)( (char *)__mptr - offsetof(type, member) );})
41#define min(a, b) ((a) < (b) ? (a) : (b))
42
Matthew Wilcoxf518b162016-05-20 17:01:36 -070043#define cond_resched() sched_yield()
44
Matthew Wilcox1366c372016-03-17 14:21:45 -070045static inline int in_interrupt(void)
46{
47 return 0;
48}
49#endif /* _KERNEL_H */