Chris Mason | 4920c9a | 2007-01-26 16:38:42 -0500 | [diff] [blame] | 1 | #ifndef __KERNCOMPAT |
| 2 | #define __KERNCOMPAT |
| 3 | #define gfp_t int |
| 4 | #define get_cpu_var(p) (p) |
| 5 | #define __get_cpu_var(p) (p) |
| 6 | #define BITS_PER_LONG 64 |
| 7 | #define __GFP_BITS_SHIFT 20 |
| 8 | #define __GFP_BITS_MASK ((int)((1 << __GFP_BITS_SHIFT) - 1)) |
Chris Mason | eb60cea | 2007-02-02 09:18:22 -0500 | [diff] [blame] | 9 | #define GFP_KERNEL 0 |
Chris Mason | 4920c9a | 2007-01-26 16:38:42 -0500 | [diff] [blame] | 10 | #define __read_mostly |
| 11 | #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) |
Chris Mason | 4920c9a | 2007-01-26 16:38:42 -0500 | [diff] [blame] | 12 | #define PAGE_SHIFT 12 |
| 13 | #define ULONG_MAX (~0UL) |
| 14 | #define BUG() abort() |
Chris Mason | bb492bb | 2007-03-12 12:29:44 -0400 | [diff] [blame] | 15 | #ifdef __CHECKER__ |
| 16 | #define __force __attribute__((force)) |
| 17 | #define __bitwise__ __attribute__((bitwise)) |
| 18 | #else |
| 19 | #define __force |
| 20 | #define __bitwise__ |
| 21 | #endif |
Chris Mason | 4920c9a | 2007-01-26 16:38:42 -0500 | [diff] [blame] | 22 | |
| 23 | typedef unsigned int u32; |
Chris Mason | 62e2749 | 2007-03-15 12:56:47 -0400 | [diff] [blame] | 24 | typedef u32 __u32; |
Chris Mason | 7cf7596 | 2007-02-26 10:55:01 -0500 | [diff] [blame] | 25 | typedef unsigned long long u64; |
Chris Mason | 4920c9a | 2007-01-26 16:38:42 -0500 | [diff] [blame] | 26 | typedef unsigned char u8; |
| 27 | typedef unsigned short u16; |
| 28 | |
| 29 | typedef unsigned long pgoff_t; |
| 30 | |
| 31 | #include <stdio.h> |
| 32 | #include <stdlib.h> |
| 33 | #include <string.h> |
| 34 | |
| 35 | struct vma_shared { int prio_tree_node; }; |
| 36 | struct vm_area_struct { |
| 37 | unsigned long vm_pgoff; |
| 38 | unsigned long vm_start; |
| 39 | unsigned long vm_end; |
| 40 | struct vma_shared shared; |
| 41 | }; |
| 42 | |
| 43 | struct page { |
| 44 | unsigned long index; |
| 45 | }; |
| 46 | |
| 47 | static inline void preempt_enable(void) { do {; } while(0);} |
| 48 | static inline void preempt_disable(void) { do {; } while(0);} |
| 49 | |
| 50 | static inline void __set_bit(int bit, unsigned long *map) { |
| 51 | unsigned long *p = map + bit / BITS_PER_LONG; |
| 52 | bit = bit & (BITS_PER_LONG -1); |
| 53 | *p |= 1UL << bit; |
| 54 | } |
| 55 | |
| 56 | static inline int test_bit(int bit, unsigned long *map) { |
| 57 | unsigned long *p = map + bit / BITS_PER_LONG; |
| 58 | bit = bit & (BITS_PER_LONG -1); |
| 59 | return *p & (1UL << bit) ? 1 : 0; |
| 60 | } |
| 61 | |
| 62 | static inline void __clear_bit(int bit, unsigned long *map) { |
| 63 | unsigned long *p = map + bit / BITS_PER_LONG; |
| 64 | bit = bit & (BITS_PER_LONG -1); |
| 65 | *p &= ~(1UL << bit); |
| 66 | } |
| 67 | #define BUG_ON(c) do { if (c) abort(); } while (0) |
| 68 | |
| 69 | #define container_of(ptr, type, member) ({ \ |
| 70 | const typeof( ((type *)0)->member ) *__mptr = (ptr); \ |
| 71 | (type *)( (char *)__mptr - __builtin_offsetof(type,member) );}) |
| 72 | |
Chris Mason | 4920c9a | 2007-01-26 16:38:42 -0500 | [diff] [blame] | 73 | #define ENOMEM 5 |
| 74 | #define EEXIST 6 |
Chris Mason | bb492bb | 2007-03-12 12:29:44 -0400 | [diff] [blame] | 75 | |
| 76 | #define __CHECK_ENDIAN__ |
| 77 | #ifdef __CHECK_ENDIAN__ |
| 78 | #define __bitwise __bitwise__ |
| 79 | #else |
| 80 | #define __bitwise |
| 81 | #endif |
| 82 | |
| 83 | typedef u16 __bitwise __le16; |
| 84 | typedef u16 __bitwise __be16; |
| 85 | typedef u32 __bitwise __le32; |
| 86 | typedef u32 __bitwise __be32; |
| 87 | typedef u64 __bitwise __le64; |
| 88 | typedef u64 __bitwise __be64; |
| 89 | |
| 90 | #define cpu_to_le64(x) ((__force __le64)(u64)(x)) |
| 91 | #define le64_to_cpu(x) ((__force u64)(__le64)(x)) |
| 92 | #define cpu_to_le32(x) ((__force __le32)(u32)(x)) |
| 93 | #define le32_to_cpu(x) ((__force u32)(__le32)(x)) |
| 94 | #define cpu_to_le16(x) ((__force __le16)(u16)(x)) |
| 95 | #define le16_to_cpu(x) ((__force u16)(__le16)(x)) |
Chris Mason | e2fa722 | 2007-03-12 16:22:34 -0400 | [diff] [blame] | 96 | #endif |