Subversion Repositories Kolibri OS

Rev

Rev 1119 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1119 Rev 1123
Line 36... Line 36...
36
typedef unsigned short       u16_t;
36
typedef unsigned short       u16_t;
37
typedef unsigned int         u32_t;
37
typedef unsigned int         u32_t;
38
typedef unsigned long long   u64_t;
38
typedef unsigned long long   u64_t;
39
 
39
 
Line -... Line 40...
-
 
40
typedef signed char          int8_t;
-
 
41
typedef signed long long     int64_t;
-
 
42
 
40
#define  NULL     (void*)0
43
#define  NULL     (void*)0
Line 41... Line 44...
41
 
44
 
42
typedef uint32_t             dma_addr_t;
45
typedef uint32_t             dma_addr_t;
Line 53... Line 56...
53
 
56
 
Line 54... Line 57...
54
#define likely(x)       __builtin_expect(!!(x), 1)
57
#define likely(x)       __builtin_expect(!!(x), 1)
55
#define unlikely(x)     __builtin_expect(!!(x), 0)
58
#define unlikely(x)     __builtin_expect(!!(x), 0)
Line -... Line 59...
-
 
59
 
-
 
60
#define BITS_PER_LONG 32
-
 
61
 
-
 
62
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
-
 
63
 
-
 
64
#define BITS_TO_LONGS(nr)   DIV_ROUND_UP(nr, BITS_PER_LONG)
-
 
65
 
-
 
66
#define DECLARE_BITMAP(name,bits) \
Line 56... Line 67...
56
 
67
        unsigned long name[BITS_TO_LONGS(bits)]
57
 
68
 
58
 
69
 
Line 113... Line 124...
113
int dbgprintf(const char* format, ...);
124
int dbgprintf(const char* format, ...);
Line 114... Line 125...
114
 
125
 
Line -... Line 126...
-
 
126
#define GFP_KERNEL           0
-
 
127
 
-
 
128
//#include 
-
 
129
 
-
 
130
int snprintf(char *str, size_t size, const char *format, ...);
115
#define GFP_KERNEL           0
131
 
Line 116... Line 132...
116
 
132
 
117
//#include 
133
//#include 
118
 
134
 
-
 
135
void*   memcpy(void *s1, const void *s2, size_t n);
Line 119... Line 136...
119
void*   memcpy(void *s1, const void *s2, size_t n);
136
void*   memset(void *s, int c, size_t n);
Line -... Line 137...
-
 
137
size_t  strlen(const char *s);
120
void*   memset(void *s, int c, size_t n);
138
char *strncpy (char *dst, const char *src, size_t len);
Line 121... Line 139...
121
size_t  strlen(const char *s);
139
 
122
 
140
void *malloc(size_t size);
123
void *malloc(size_t size);
141
 
Line 198... Line 216...
198
#define PAGE_SHIFT      12
216
#define PAGE_SHIFT      12
199
 
217
 
Line 200... Line 218...
200
#define upper_32_bits(n) ((u32)(((n) >> 16) >> 16))
218
#define upper_32_bits(n) ((u32)(((n) >> 16) >> 16))
Line -... Line 219...
-
 
219
 
-
 
220
static inline void bitmap_zero(unsigned long *dst, int nbits)
-
 
221
{
-
 
222
        if (nbits <= BITS_PER_LONG)
-
 
223
                *dst = 0UL;
-
 
224
        else {
-
 
225
                int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long);
-
 
226
                memset(dst, 0, len);
-
 
227
        }
-
 
228
}
-
 
229
 
-
 
230
#define EXPORT_SYMBOL(x)
-
 
231
 
-
 
232
#define IDR_BITS 5
-
 
233
#define IDR_FULL 0xfffffffful
-
 
234
 
-
 
235
struct idr_layer {
-
 
236
        unsigned long            bitmap; /* A zero bit means "space here" */
-
 
237
        struct idr_layer        *ary[1<
-
 
238
        int                      count;  /* When zero, we can release it */
-
 
239
};
-
 
240
 
-
 
241
struct idr {
-
 
242
        struct idr_layer *top;
-
 
243
        struct idr_layer *id_free;
-
 
244
        int               layers;
-
 
245
        int               id_free_cnt;
-
 
246
//        spinlock_t        lock;
-
 
247
};
-
 
248
 
-
 
249
 
-
 
250
#define min(x,y) ({ \
-
 
251
        typeof(x) _x = (x);     \
-
 
252
        typeof(y) _y = (y);     \
-
 
253
        (void) (&_x == &_y);            \
-
 
254
        _x < _y ? _x : _y; })
-
 
255
 
-
 
256
#define max(x,y) ({ \
-
 
257
        typeof(x) _x = (x);     \
-
 
258
        typeof(y) _y = (y);     \
-
 
259
        (void) (&_x == &_y);            \
-
 
260
        _x > _y ? _x : _y; })
-
 
261
 
-
 
262
 
-
 
263
extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
-
 
264
 
-
 
265
# define do_div(n,base) ({                             \
-
 
266
       uint32_t __base = (base);                       \
-
 
267
       uint32_t __rem;                                 \
-
 
268
       (void)(((typeof((n)) *)0) == ((uint64_t *)0));  \
-
 
269
       if (likely(((n) >> 32) == 0)) {                 \
-
 
270
               __rem = (uint32_t)(n) % __base;         \
-
 
271
               (n) = (uint32_t)(n) / __base;           \
-
 
272
       } else                                          \
-
 
273
               __rem = __div64_32(&(n), __base);       \
-
 
274
       __rem;                                          \
-
 
275
})
-
 
276
 
-
 
277
#define lower_32_bits(n) ((u32)(n))
-
 
278
 
-
 
279
#define INT_MAX         ((int)(~0U>>1))
-
 
280
#define INT_MIN         (-INT_MAX - 1)
-
 
281
#define UINT_MAX        (~0U)
-
 
282
#define LONG_MAX        ((long)(~0UL>>1))
-
 
283
#define LONG_MIN        (-LONG_MAX - 1)
-
 
284
#define ULONG_MAX       (~0UL)
-
 
285
#define LLONG_MAX       ((long long)(~0ULL>>1))
-
 
286
#define LLONG_MIN       (-LLONG_MAX - 1)
-
 
287
#define ULLONG_MAX      (~0ULL)
-
 
288
 
-
 
289
 
-
 
290
static inline void *kcalloc(size_t n, size_t size, u32_t flags)
-
 
291
{
-
 
292
        if (n != 0 && size > ULONG_MAX / n)
-
 
293
                return NULL;
-
 
294
        return kmalloc(n * size, 0);
Line 201... Line 295...
201
 
295
}