]> git.wh0rd.org - ICEs.git/blob - 152840/ice.i.0
initial import
[ICEs.git] / 152840 / ice.i.0
1 // /usr/libexec/gcc/sh4-unknown-linux-gnu/4.1.1/cc1 -quiet -nostdinc -Iinclude -Iinclude2 -I/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include -I/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/drivers/mmc -Idrivers/mmc -D__KERNEL__ -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(mmc_block) -DKBUILD_MODNAME=KBUILD_STR(mmc_block) -isystem /usr/lib/gcc/sh4-unknown-linux-gnu/4.1.1/include -include include/linux/autoconf.h -MD drivers/mmc/.mmc_block.o.d /mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/drivers/mmc/mmc_block.c -quiet -dumpbase mmc_block.c -ml -m4 -m4-nofpu -auxbase-strip drivers/mmc/mmc_block.o -Os -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-aliasing -fno-common -fomit-frame-pointer -fno-stack-protector -o - -frandom-seed=0
2 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/drivers/mmc/mmc_block.c"
3 # 1 "<built-in>"
4 # 1 "<command line>"
5 # 1 "./include/linux/autoconf.h" 1
6 # 1 "<command line>" 2
7 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/drivers/mmc/mmc_block.c"
8 # 19 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/drivers/mmc/mmc_block.c"
9 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/moduleparam.h" 1
10
11
12
13 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/init.h" 1
14
15
16
17 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/compiler.h" 1
18 # 42 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/compiler.h"
19 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/compiler-gcc4.h" 1
20
21
22
23 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/compiler-gcc.h" 1
24 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/compiler-gcc4.h" 2
25 # 43 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/compiler.h" 2
26 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/init.h" 2
27 # 63 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/init.h"
28 typedef int (*initcall_t)(void);
29 typedef void (*exitcall_t)(void);
30
31 extern initcall_t __con_initcall_start[], __con_initcall_end[];
32 extern initcall_t __security_initcall_start[], __security_initcall_end[];
33
34
35 extern char saved_command_line[];
36 extern unsigned int reset_devices;
37
38
39 extern void setup_arch(char **);
40 # 114 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/init.h"
41 struct obs_kernel_param {
42 const char *str;
43 int (*setup_func)(char *);
44 int early;
45 };
46 # 149 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/init.h"
47 void __attribute__ ((__section__ (".init.text"))) parse_early_param(void);
48 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/moduleparam.h" 2
49 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/stringify.h" 1
50 # 6 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/moduleparam.h" 2
51 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h" 1
52 # 10 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h"
53 # 1 "/usr/lib/gcc/sh4-unknown-linux-gnu/4.1.1/include/stdarg.h" 1 3 4
54 # 43 "/usr/lib/gcc/sh4-unknown-linux-gnu/4.1.1/include/stdarg.h" 3 4
55 typedef __builtin_va_list __gnuc_va_list;
56 # 105 "/usr/lib/gcc/sh4-unknown-linux-gnu/4.1.1/include/stdarg.h" 3 4
57 typedef __gnuc_va_list va_list;
58 # 11 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h" 2
59 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/linkage.h" 1
60
61
62
63 # 1 "include2/asm/linkage.h" 1
64 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/linkage.h" 2
65 # 12 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h" 2
66 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/stddef.h" 1
67 # 15 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/stddef.h"
68 enum {
69 false = 0,
70 true = 1
71 };
72 # 13 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h" 2
73 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/types.h" 1
74 # 14 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/types.h"
75 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/posix_types.h" 1
76 # 36 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/posix_types.h"
77 typedef struct {
78 unsigned long fds_bits [(1024/(8 * sizeof(unsigned long)))];
79 } __kernel_fd_set;
80
81
82 typedef void (*__kernel_sighandler_t)(int);
83
84
85 typedef int __kernel_key_t;
86 typedef int __kernel_mqd_t;
87
88 # 1 "include2/asm/posix_types.h" 1
89 # 10 "include2/asm/posix_types.h"
90 typedef unsigned long __kernel_ino_t;
91 typedef unsigned short __kernel_mode_t;
92 typedef unsigned short __kernel_nlink_t;
93 typedef long __kernel_off_t;
94 typedef int __kernel_pid_t;
95 typedef unsigned short __kernel_ipc_pid_t;
96 typedef unsigned short __kernel_uid_t;
97 typedef unsigned short __kernel_gid_t;
98 typedef unsigned int __kernel_size_t;
99 typedef int __kernel_ssize_t;
100 typedef int __kernel_ptrdiff_t;
101 typedef long __kernel_time_t;
102 typedef long __kernel_suseconds_t;
103 typedef long __kernel_clock_t;
104 typedef int __kernel_timer_t;
105 typedef int __kernel_clockid_t;
106 typedef int __kernel_daddr_t;
107 typedef char * __kernel_caddr_t;
108 typedef unsigned short __kernel_uid16_t;
109 typedef unsigned short __kernel_gid16_t;
110 typedef unsigned int __kernel_uid32_t;
111 typedef unsigned int __kernel_gid32_t;
112
113 typedef unsigned short __kernel_old_uid_t;
114 typedef unsigned short __kernel_old_gid_t;
115 typedef unsigned short __kernel_old_dev_t;
116
117
118 typedef long long __kernel_loff_t;
119
120
121 typedef struct {
122
123 int val[2];
124
125
126
127 } __kernel_fsid_t;
128
129
130
131
132 static __inline__ __attribute__((always_inline)) void __FD_SET(unsigned long __fd, __kernel_fd_set *__fdsetp)
133 {
134 unsigned long __tmp = __fd / (8 * sizeof(unsigned long));
135 unsigned long __rem = __fd % (8 * sizeof(unsigned long));
136 __fdsetp->fds_bits[__tmp] |= (1UL<<__rem);
137 }
138
139
140 static __inline__ __attribute__((always_inline)) void __FD_CLR(unsigned long __fd, __kernel_fd_set *__fdsetp)
141 {
142 unsigned long __tmp = __fd / (8 * sizeof(unsigned long));
143 unsigned long __rem = __fd % (8 * sizeof(unsigned long));
144 __fdsetp->fds_bits[__tmp] &= ~(1UL<<__rem);
145 }
146
147
148
149 static __inline__ __attribute__((always_inline)) int __FD_ISSET(unsigned long __fd, const __kernel_fd_set *__p)
150 {
151 unsigned long __tmp = __fd / (8 * sizeof(unsigned long));
152 unsigned long __rem = __fd % (8 * sizeof(unsigned long));
153 return (__p->fds_bits[__tmp] & (1UL<<__rem)) != 0;
154 }
155
156
157
158
159
160
161 static __inline__ __attribute__((always_inline)) void __FD_ZERO(__kernel_fd_set *__p)
162 {
163 unsigned long *__tmp = __p->fds_bits;
164 int __i;
165
166 if (__builtin_constant_p((1024/(8 * sizeof(unsigned long))))) {
167 switch ((1024/(8 * sizeof(unsigned long)))) {
168 case 16:
169 __tmp[ 0] = 0; __tmp[ 1] = 0;
170 __tmp[ 2] = 0; __tmp[ 3] = 0;
171 __tmp[ 4] = 0; __tmp[ 5] = 0;
172 __tmp[ 6] = 0; __tmp[ 7] = 0;
173 __tmp[ 8] = 0; __tmp[ 9] = 0;
174 __tmp[10] = 0; __tmp[11] = 0;
175 __tmp[12] = 0; __tmp[13] = 0;
176 __tmp[14] = 0; __tmp[15] = 0;
177 return;
178
179 case 8:
180 __tmp[ 0] = 0; __tmp[ 1] = 0;
181 __tmp[ 2] = 0; __tmp[ 3] = 0;
182 __tmp[ 4] = 0; __tmp[ 5] = 0;
183 __tmp[ 6] = 0; __tmp[ 7] = 0;
184 return;
185
186 case 4:
187 __tmp[ 0] = 0; __tmp[ 1] = 0;
188 __tmp[ 2] = 0; __tmp[ 3] = 0;
189 return;
190 }
191 }
192 __i = (1024/(8 * sizeof(unsigned long)));
193 while (__i) {
194 __i--;
195 *__tmp = 0;
196 __tmp++;
197 }
198 }
199 # 48 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/posix_types.h" 2
200 # 15 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/types.h" 2
201 # 1 "include2/asm/types.h" 1
202
203
204
205
206
207 typedef unsigned short umode_t;
208
209
210
211
212
213
214 typedef __signed__ char __s8;
215 typedef unsigned char __u8;
216
217 typedef __signed__ short __s16;
218 typedef unsigned short __u16;
219
220 typedef __signed__ int __s32;
221 typedef unsigned int __u32;
222
223
224 typedef __signed__ long long __s64;
225 typedef unsigned long long __u64;
226 # 39 "include2/asm/types.h"
227 typedef __signed__ char s8;
228 typedef unsigned char u8;
229
230 typedef __signed__ short s16;
231 typedef unsigned short u16;
232
233 typedef __signed__ int s32;
234 typedef unsigned int u32;
235
236 typedef __signed__ long long s64;
237 typedef unsigned long long u64;
238
239
240
241 typedef u32 dma_addr_t;
242
243
244 typedef u64 sector_t;
245
246
247
248
249 typedef u64 blkcnt_t;
250 # 16 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/types.h" 2
251
252
253
254 typedef __u32 __kernel_dev_t;
255
256 typedef __kernel_fd_set fd_set;
257 typedef __kernel_dev_t dev_t;
258 typedef __kernel_ino_t ino_t;
259 typedef __kernel_mode_t mode_t;
260 typedef __kernel_nlink_t nlink_t;
261 typedef __kernel_off_t off_t;
262 typedef __kernel_pid_t pid_t;
263 typedef __kernel_daddr_t daddr_t;
264 typedef __kernel_key_t key_t;
265 typedef __kernel_suseconds_t suseconds_t;
266 typedef __kernel_timer_t timer_t;
267 typedef __kernel_clockid_t clockid_t;
268 typedef __kernel_mqd_t mqd_t;
269
270
271 typedef _Bool bool;
272
273 typedef __kernel_uid32_t uid_t;
274 typedef __kernel_gid32_t gid_t;
275 typedef __kernel_uid16_t uid16_t;
276 typedef __kernel_gid16_t gid16_t;
277
278
279
280 typedef __kernel_old_uid_t old_uid_t;
281 typedef __kernel_old_gid_t old_gid_t;
282 # 58 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/types.h"
283 typedef __kernel_loff_t loff_t;
284 # 67 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/types.h"
285 typedef __kernel_size_t size_t;
286
287
288
289
290 typedef __kernel_ssize_t ssize_t;
291
292
293
294
295 typedef __kernel_ptrdiff_t ptrdiff_t;
296
297
298
299
300 typedef __kernel_time_t time_t;
301
302
303
304
305 typedef __kernel_clock_t clock_t;
306
307
308
309
310 typedef __kernel_caddr_t caddr_t;
311
312
313
314 typedef unsigned char u_char;
315 typedef unsigned short u_short;
316 typedef unsigned int u_int;
317 typedef unsigned long u_long;
318
319
320 typedef unsigned char unchar;
321 typedef unsigned short ushort;
322 typedef unsigned int uint;
323 typedef unsigned long ulong;
324
325
326
327
328 typedef __u8 u_int8_t;
329 typedef __s8 int8_t;
330 typedef __u16 u_int16_t;
331 typedef __s16 int16_t;
332 typedef __u32 u_int32_t;
333 typedef __s32 int32_t;
334
335
336
337 typedef __u8 uint8_t;
338 typedef __u16 uint16_t;
339 typedef __u32 uint32_t;
340
341
342 typedef __u64 uint64_t;
343 typedef __u64 u_int64_t;
344 typedef __s64 int64_t;
345 # 175 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/types.h"
346 typedef __u16 __le16;
347 typedef __u16 __be16;
348 typedef __u32 __le32;
349 typedef __u32 __be32;
350
351 typedef __u64 __le64;
352 typedef __u64 __be64;
353
354
355
356 typedef unsigned gfp_t;
357
358
359
360
361 typedef u32 resource_size_t;
362
363
364
365
366 struct ustat {
367 __kernel_daddr_t f_tfree;
368 __kernel_ino_t f_tinode;
369 char f_fname[6];
370 char f_fpack[6];
371 };
372 # 14 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h" 2
373
374 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/bitops.h" 1
375 # 9 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/bitops.h"
376 # 1 "include2/asm/bitops.h" 1
377
378
379
380
381 # 1 "include2/asm/system.h" 1
382 # 66 "include2/asm/system.h"
383 static inline __attribute__((always_inline)) void sched_cacheflush(void)
384 {
385 }
386 # 82 "include2/asm/system.h"
387 static inline __attribute__((always_inline)) unsigned long tas(volatile int *m)
388 {
389 unsigned long retval;
390
391 __asm__ __volatile__ ("tas.b @%1\n\t"
392 "movt %0"
393 : "=r" (retval): "r" (m): "t", "memory");
394 return retval;
395 }
396 # 136 "include2/asm/system.h"
397 static inline __attribute__((always_inline)) void local_irq_enable(void)
398 {
399 unsigned long __dummy0, __dummy1;
400
401 __asm__ __volatile__("stc sr, %0\n\t"
402 "and %1, %0\n\t"
403 "stc r6_bank, %1\n\t"
404 "or %1, %0\n\t"
405 "ldc %0, sr"
406 : "=&r" (__dummy0), "=r" (__dummy1)
407 : "1" (~0x000000f0)
408 : "memory");
409 }
410 # 164 "include2/asm/system.h"
411 static inline __attribute__((always_inline)) void local_irq_disable(void)
412 {
413 unsigned long __dummy;
414 __asm__ __volatile__("stc sr, %0\n\t"
415 "or #0xf0, %0\n\t"
416 "ldc %0, sr"
417 : "=&z" (__dummy)
418 :
419 : "memory");
420 }
421
422 static inline __attribute__((always_inline)) void set_bl_bit(void)
423 {
424 unsigned long __dummy0, __dummy1;
425
426 __asm__ __volatile__ ("stc sr, %0\n\t"
427 "or %2, %0\n\t"
428 "and %3, %0\n\t"
429 "ldc %0, sr"
430 : "=&r" (__dummy0), "=r" (__dummy1)
431 : "r" (0x10000000), "r" (0xffffff0f)
432 : "memory");
433 }
434
435 static inline __attribute__((always_inline)) void clear_bl_bit(void)
436 {
437 unsigned long __dummy0, __dummy1;
438
439 __asm__ __volatile__ ("stc sr, %0\n\t"
440 "and %2, %0\n\t"
441 "ldc %0, sr"
442 : "=&r" (__dummy0), "=r" (__dummy1)
443 : "1" (~0x10000000)
444 : "memory");
445 }
446 # 210 "include2/asm/system.h"
447 static inline __attribute__((always_inline)) unsigned long local_irq_save(void)
448 {
449 unsigned long flags, __dummy;
450
451 __asm__ __volatile__("stc sr, %1\n\t"
452 "mov %1, %0\n\t"
453 "or #0xf0, %0\n\t"
454 "ldc %0, sr\n\t"
455 "mov %1, %0\n\t"
456 "and #0xf0, %0"
457 : "=&z" (flags), "=&r" (__dummy)
458 :
459 : "memory" );
460 return flags;
461 }
462 # 270 "include2/asm/system.h"
463 static inline __attribute__((always_inline)) unsigned long xchg_u32(volatile u32 *m, unsigned long val)
464 {
465 unsigned long flags, retval;
466
467 flags = local_irq_save();
468 retval = *m;
469 *m = val;
470 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
471 return retval;
472 }
473
474 static inline __attribute__((always_inline)) unsigned long xchg_u8(volatile u8 *m, unsigned long val)
475 {
476 unsigned long flags, retval;
477
478 flags = local_irq_save();
479 retval = *m;
480 *m = val & 0xff;
481 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
482 return retval;
483 }
484
485 extern void __xchg_called_with_bad_pointer(void);
486 # 317 "include2/asm/system.h"
487 static inline __attribute__((always_inline)) unsigned long __cmpxchg_u32(volatile int * m, unsigned long old,
488 unsigned long new)
489 {
490 __u32 retval;
491 unsigned long flags;
492
493 flags = local_irq_save();
494 retval = *m;
495 if (retval == old)
496 *m = new;
497 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
498 return retval;
499 }
500
501
502
503 extern void __cmpxchg_called_with_bad_pointer(void);
504
505
506
507 static inline __attribute__((always_inline)) unsigned long __cmpxchg(volatile void * ptr, unsigned long old,
508 unsigned long new, int size)
509 {
510 switch (size) {
511 case 4:
512 return __cmpxchg_u32(ptr, old, new);
513 }
514 __cmpxchg_called_with_bad_pointer();
515 return old;
516 }
517 # 360 "include2/asm/system.h"
518 void disable_hlt(void);
519 void enable_hlt(void);
520 # 6 "include2/asm/bitops.h" 2
521
522 # 1 "include2/asm/byteorder.h" 1
523 # 11 "include2/asm/byteorder.h"
524 static __inline__ __attribute__((always_inline)) __attribute__((__const__)) __u32 ___arch__swab32(__u32 x)
525 {
526 __asm__("swap.b %0, %0\n\t"
527 "swap.w %0, %0\n\t"
528 "swap.b %0, %0"
529 : "=r" (x)
530 : "0" (x));
531 return x;
532 }
533
534 static __inline__ __attribute__((always_inline)) __attribute__((__const__)) __u16 ___arch__swab16(__u16 x)
535 {
536 __asm__("swap.b %0, %0"
537 : "=r" (x)
538 : "0" (x));
539 return x;
540 }
541
542 static inline __attribute__((always_inline)) __u64 ___arch__swab64(__u64 val)
543 {
544 union {
545 struct { __u32 a,b; } s;
546 __u64 u;
547 } v, w;
548 v.u = val;
549 w.s.b = ___arch__swab32(v.s.a);
550 w.s.a = ___arch__swab32(v.s.b);
551 return w.u;
552 }
553 # 51 "include2/asm/byteorder.h"
554 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/little_endian.h" 1
555 # 12 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/little_endian.h"
556 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/swab.h" 1
557 # 133 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/swab.h"
558 static __inline__ __attribute__((always_inline)) __attribute__((__const__)) __u16 __fswab16(__u16 x)
559 {
560 return ___arch__swab16(x);
561 }
562 static __inline__ __attribute__((always_inline)) __u16 __swab16p(const __u16 *x)
563 {
564 return ___arch__swab16(*(x));
565 }
566 static __inline__ __attribute__((always_inline)) void __swab16s(__u16 *addr)
567 {
568 do { *(addr) = ___arch__swab16(*((addr))); } while (0);
569 }
570
571 static __inline__ __attribute__((always_inline)) __attribute__((__const__)) __u32 __fswab32(__u32 x)
572 {
573 return ___arch__swab32(x);
574 }
575 static __inline__ __attribute__((always_inline)) __u32 __swab32p(const __u32 *x)
576 {
577 return ___arch__swab32(*(x));
578 }
579 static __inline__ __attribute__((always_inline)) void __swab32s(__u32 *addr)
580 {
581 do { *(addr) = ___arch__swab32(*((addr))); } while (0);
582 }
583
584
585 static __inline__ __attribute__((always_inline)) __attribute__((__const__)) __u64 __fswab64(__u64 x)
586 {
587
588 __u32 h = x >> 32;
589 __u32 l = x & ((1ULL<<32)-1);
590 return (((__u64)(__builtin_constant_p((__u32)(l)) ? ({ __u32 __x = ((l)); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32((l)))) << 32) | ((__u64)((__builtin_constant_p((__u32)(h)) ? ({ __u32 __x = ((h)); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32((h)))));
591
592
593
594 }
595 static __inline__ __attribute__((always_inline)) __u64 __swab64p(const __u64 *x)
596 {
597 return ___arch__swab64(*(x));
598 }
599 static __inline__ __attribute__((always_inline)) void __swab64s(__u64 *addr)
600 {
601 do { *(addr) = ___arch__swab64(*((addr))); } while (0);
602 }
603 # 13 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/little_endian.h" 2
604 # 43 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/little_endian.h"
605 static inline __attribute__((always_inline)) __le64 __cpu_to_le64p(const __u64 *p)
606 {
607 return ( __le64)*p;
608 }
609 static inline __attribute__((always_inline)) __u64 __le64_to_cpup(const __le64 *p)
610 {
611 return ( __u64)*p;
612 }
613 static inline __attribute__((always_inline)) __le32 __cpu_to_le32p(const __u32 *p)
614 {
615 return ( __le32)*p;
616 }
617 static inline __attribute__((always_inline)) __u32 __le32_to_cpup(const __le32 *p)
618 {
619 return ( __u32)*p;
620 }
621 static inline __attribute__((always_inline)) __le16 __cpu_to_le16p(const __u16 *p)
622 {
623 return ( __le16)*p;
624 }
625 static inline __attribute__((always_inline)) __u16 __le16_to_cpup(const __le16 *p)
626 {
627 return ( __u16)*p;
628 }
629 static inline __attribute__((always_inline)) __be64 __cpu_to_be64p(const __u64 *p)
630 {
631 return ( __be64)__swab64p(p);
632 }
633 static inline __attribute__((always_inline)) __u64 __be64_to_cpup(const __be64 *p)
634 {
635 return __swab64p((__u64 *)p);
636 }
637 static inline __attribute__((always_inline)) __be32 __cpu_to_be32p(const __u32 *p)
638 {
639 return ( __be32)__swab32p(p);
640 }
641 static inline __attribute__((always_inline)) __u32 __be32_to_cpup(const __be32 *p)
642 {
643 return __swab32p((__u32 *)p);
644 }
645 static inline __attribute__((always_inline)) __be16 __cpu_to_be16p(const __u16 *p)
646 {
647 return ( __be16)__swab16p(p);
648 }
649 static inline __attribute__((always_inline)) __u16 __be16_to_cpup(const __be16 *p)
650 {
651 return __swab16p((__u16 *)p);
652 }
653 # 104 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/little_endian.h"
654 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/generic.h" 1
655 # 154 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/generic.h"
656 extern __u32 ntohl(__be32);
657 extern __be32 htonl(__u32);
658 extern __u16 ntohs(__be16);
659 extern __be16 htons(__u16);
660 # 105 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/byteorder/little_endian.h" 2
661 # 52 "include2/asm/byteorder.h" 2
662 # 8 "include2/asm/bitops.h" 2
663
664 static inline __attribute__((always_inline)) void set_bit(int nr, volatile void * addr)
665 {
666 int mask;
667 volatile unsigned int *a = addr;
668 unsigned long flags;
669
670 a += nr >> 5;
671 mask = 1 << (nr & 0x1f);
672 flags = local_irq_save();
673 *a |= mask;
674 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
675 }
676
677
678
679
680
681
682 static inline __attribute__((always_inline)) void clear_bit(int nr, volatile void * addr)
683 {
684 int mask;
685 volatile unsigned int *a = addr;
686 unsigned long flags;
687
688 a += nr >> 5;
689 mask = 1 << (nr & 0x1f);
690 flags = local_irq_save();
691 *a &= ~mask;
692 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
693 }
694
695 static inline __attribute__((always_inline)) void change_bit(int nr, volatile void * addr)
696 {
697 int mask;
698 volatile unsigned int *a = addr;
699 unsigned long flags;
700
701 a += nr >> 5;
702 mask = 1 << (nr & 0x1f);
703 flags = local_irq_save();
704 *a ^= mask;
705 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
706 }
707
708 static inline __attribute__((always_inline)) int test_and_set_bit(int nr, volatile void * addr)
709 {
710 int mask, retval;
711 volatile unsigned int *a = addr;
712 unsigned long flags;
713
714 a += nr >> 5;
715 mask = 1 << (nr & 0x1f);
716 flags = local_irq_save();
717 retval = (mask & *a) != 0;
718 *a |= mask;
719 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
720
721 return retval;
722 }
723
724 static inline __attribute__((always_inline)) int test_and_clear_bit(int nr, volatile void * addr)
725 {
726 int mask, retval;
727 volatile unsigned int *a = addr;
728 unsigned long flags;
729
730 a += nr >> 5;
731 mask = 1 << (nr & 0x1f);
732 flags = local_irq_save();
733 retval = (mask & *a) != 0;
734 *a &= ~mask;
735 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
736
737 return retval;
738 }
739
740 static inline __attribute__((always_inline)) int test_and_change_bit(int nr, volatile void * addr)
741 {
742 int mask, retval;
743 volatile unsigned int *a = addr;
744 unsigned long flags;
745
746 a += nr >> 5;
747 mask = 1 << (nr & 0x1f);
748 flags = local_irq_save();
749 retval = (mask & *a) != 0;
750 *a ^= mask;
751 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
752
753 return retval;
754 }
755
756 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/non-atomic.h" 1
757 # 18 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/non-atomic.h"
758 static inline __attribute__((always_inline)) void __set_bit(int nr, volatile unsigned long *addr)
759 {
760 unsigned long mask = (1UL << ((nr) % 32));
761 unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
762
763 *p |= mask;
764 }
765
766 static inline __attribute__((always_inline)) void __clear_bit(int nr, volatile unsigned long *addr)
767 {
768 unsigned long mask = (1UL << ((nr) % 32));
769 unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
770
771 *p &= ~mask;
772 }
773 # 43 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/non-atomic.h"
774 static inline __attribute__((always_inline)) void __change_bit(int nr, volatile unsigned long *addr)
775 {
776 unsigned long mask = (1UL << ((nr) % 32));
777 unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
778
779 *p ^= mask;
780 }
781 # 60 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/non-atomic.h"
782 static inline __attribute__((always_inline)) int __test_and_set_bit(int nr, volatile unsigned long *addr)
783 {
784 unsigned long mask = (1UL << ((nr) % 32));
785 unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
786 unsigned long old = *p;
787
788 *p = old | mask;
789 return (old & mask) != 0;
790 }
791 # 79 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/non-atomic.h"
792 static inline __attribute__((always_inline)) int __test_and_clear_bit(int nr, volatile unsigned long *addr)
793 {
794 unsigned long mask = (1UL << ((nr) % 32));
795 unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
796 unsigned long old = *p;
797
798 *p = old & ~mask;
799 return (old & mask) != 0;
800 }
801
802
803 static inline __attribute__((always_inline)) int __test_and_change_bit(int nr,
804 volatile unsigned long *addr)
805 {
806 unsigned long mask = (1UL << ((nr) % 32));
807 unsigned long *p = ((unsigned long *)addr) + ((nr) / 32);
808 unsigned long old = *p;
809
810 *p = old ^ mask;
811 return (old & mask) != 0;
812 }
813
814
815
816
817
818
819 static inline __attribute__((always_inline)) int test_bit(int nr, const volatile unsigned long *addr)
820 {
821 return 1UL & (addr[((nr) / 32)] >> (nr & (32 -1)));
822 }
823 # 102 "include2/asm/bitops.h" 2
824
825 static inline __attribute__((always_inline)) unsigned long ffz(unsigned long word)
826 {
827 unsigned long result;
828
829 __asm__("1:\n\t"
830 "shlr %1\n\t"
831 "bt/s 1b\n\t"
832 " add #1, %0"
833 : "=r" (result), "=r" (word)
834 : "0" (~0L), "1" (word)
835 : "t");
836 return result;
837 }
838
839
840
841
842
843
844
845 static inline __attribute__((always_inline)) unsigned long __ffs(unsigned long word)
846 {
847 unsigned long result;
848
849 __asm__("1:\n\t"
850 "shlr %1\n\t"
851 "bf/s 1b\n\t"
852 " add #1, %0"
853 : "=r" (result), "=r" (word)
854 : "0" (~0L), "1" (word)
855 : "t");
856 return result;
857 }
858
859 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/find.h" 1
860
861
862
863 extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
864 size, unsigned long offset);
865
866 extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
867 long size, unsigned long offset);
868 # 138 "include2/asm/bitops.h" 2
869 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/ffs.h" 1
870 # 12 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/ffs.h"
871 static inline __attribute__((always_inline)) int ffs(int x)
872 {
873 int r = 1;
874
875 if (!x)
876 return 0;
877 if (!(x & 0xffff)) {
878 x >>= 16;
879 r += 16;
880 }
881 if (!(x & 0xff)) {
882 x >>= 8;
883 r += 8;
884 }
885 if (!(x & 0xf)) {
886 x >>= 4;
887 r += 4;
888 }
889 if (!(x & 3)) {
890 x >>= 2;
891 r += 2;
892 }
893 if (!(x & 1)) {
894 x >>= 1;
895 r += 1;
896 }
897 return r;
898 }
899 # 139 "include2/asm/bitops.h" 2
900 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/hweight.h" 1
901
902
903
904
905
906 extern unsigned int hweight32(unsigned int w);
907 extern unsigned int hweight16(unsigned int w);
908 extern unsigned int hweight8(unsigned int w);
909 extern unsigned long hweight64(__u64 w);
910 # 140 "include2/asm/bitops.h" 2
911 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/sched.h" 1
912 # 13 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/sched.h"
913 static inline __attribute__((always_inline)) int sched_find_first_bit(const unsigned long *b)
914 {
915
916
917
918
919
920
921
922 if (__builtin_expect(!!(b[0]), 0))
923 return __ffs(b[0]);
924 if (__builtin_expect(!!(b[1]), 0))
925 return __ffs(b[1]) + 32;
926 if (__builtin_expect(!!(b[2]), 0))
927 return __ffs(b[2]) + 64;
928 if (b[3])
929 return __ffs(b[3]) + 96;
930 return __ffs(b[4]) + 128;
931
932
933
934 }
935 # 141 "include2/asm/bitops.h" 2
936 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/ext2-non-atomic.h" 1
937
938
939
940 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/le.h" 1
941 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/ext2-non-atomic.h" 2
942 # 142 "include2/asm/bitops.h" 2
943 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/ext2-atomic.h" 1
944 # 143 "include2/asm/bitops.h" 2
945 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/minix.h" 1
946 # 144 "include2/asm/bitops.h" 2
947 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/fls.h" 1
948 # 12 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/fls.h"
949 static inline __attribute__((always_inline)) int fls(int x)
950 {
951 int r = 32;
952
953 if (!x)
954 return 0;
955 if (!(x & 0xffff0000u)) {
956 x <<= 16;
957 r -= 16;
958 }
959 if (!(x & 0xff000000u)) {
960 x <<= 8;
961 r -= 8;
962 }
963 if (!(x & 0xf0000000u)) {
964 x <<= 4;
965 r -= 4;
966 }
967 if (!(x & 0xc0000000u)) {
968 x <<= 2;
969 r -= 2;
970 }
971 if (!(x & 0x80000000u)) {
972 x <<= 1;
973 r -= 1;
974 }
975 return r;
976 }
977 # 145 "include2/asm/bitops.h" 2
978 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bitops/fls64.h" 1
979
980
981
982
983
984 static inline __attribute__((always_inline)) int fls64(__u64 x)
985 {
986 __u32 h = x >> 32;
987 if (h)
988 return fls(h) + 32;
989 return fls(x);
990 }
991 # 146 "include2/asm/bitops.h" 2
992 # 10 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/bitops.h" 2
993
994 static __inline__ __attribute__((always_inline)) int get_bitmask_order(unsigned int count)
995 {
996 int order;
997
998 order = fls(count);
999 return order;
1000 }
1001
1002 static __inline__ __attribute__((always_inline)) int get_count_order(unsigned int count)
1003 {
1004 int order;
1005
1006 order = fls(count) - 1;
1007 if (count & (count - 1))
1008 order++;
1009 return order;
1010 }
1011
1012 static inline __attribute__((always_inline)) unsigned long hweight_long(unsigned long w)
1013 {
1014 return sizeof(w) == 4 ? hweight32(w) : hweight64(w);
1015 }
1016
1017
1018
1019
1020
1021
1022
1023 static inline __attribute__((always_inline)) __u32 rol32(__u32 word, unsigned int shift)
1024 {
1025 return (word << shift) | (word >> (32 - shift));
1026 }
1027
1028
1029
1030
1031
1032
1033
1034 static inline __attribute__((always_inline)) __u32 ror32(__u32 word, unsigned int shift)
1035 {
1036 return (word >> shift) | (word << (32 - shift));
1037 }
1038
1039 static inline __attribute__((always_inline)) unsigned fls_long(unsigned long l)
1040 {
1041 if (sizeof(l) == 4)
1042 return fls(l);
1043 return fls64(l);
1044 }
1045 # 16 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h" 2
1046
1047 # 1 "include2/asm/bug.h" 1
1048 # 17 "include2/asm/bug.h"
1049 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/bug.h" 1
1050 # 18 "include2/asm/bug.h" 2
1051 # 18 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h" 2
1052
1053 extern const char linux_banner[];
1054 # 48 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h"
1055 extern int console_printk[];
1056
1057
1058
1059
1060
1061
1062 struct completion;
1063 struct pt_regs;
1064 struct user;
1065 # 96 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h"
1066 extern struct atomic_notifier_head panic_notifier_list;
1067 extern long (*panic_blink)(long time);
1068 void panic(const char * fmt, ...)
1069 __attribute__ ((noreturn, format (printf, 1, 2)));
1070 extern void oops_enter(void);
1071 extern void oops_exit(void);
1072 extern int oops_may_print(void);
1073 void do_exit(long error_code)
1074 __attribute__((noreturn));
1075 void complete_and_exit(struct completion *, long)
1076 __attribute__((noreturn));
1077 extern unsigned long simple_strtoul(const char *,char **,unsigned int);
1078 extern long simple_strtol(const char *,char **,unsigned int);
1079 extern unsigned long long simple_strtoull(const char *,char **,unsigned int);
1080 extern long long simple_strtoll(const char *,char **,unsigned int);
1081 extern int sprintf(char * buf, const char * fmt, ...)
1082 __attribute__ ((format (printf, 2, 3)));
1083 extern int vsprintf(char *buf, const char *, va_list)
1084 __attribute__ ((format (printf, 2, 0)));
1085 extern int snprintf(char * buf, size_t size, const char * fmt, ...)
1086 __attribute__ ((format (printf, 3, 4)));
1087 extern int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
1088 __attribute__ ((format (printf, 3, 0)));
1089 extern int scnprintf(char * buf, size_t size, const char * fmt, ...)
1090 __attribute__ ((format (printf, 3, 4)));
1091 extern int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)
1092 __attribute__ ((format (printf, 3, 0)));
1093 extern char *kasprintf(gfp_t gfp, const char *fmt, ...)
1094 __attribute__ ((format (printf, 2, 3)));
1095
1096 extern int sscanf(const char *, const char *, ...)
1097 __attribute__ ((format (scanf, 2, 3)));
1098 extern int vsscanf(const char *, const char *, va_list)
1099 __attribute__ ((format (scanf, 2, 0)));
1100
1101 extern int get_option(char **str, int *pint);
1102 extern char *get_options(const char *str, int nints, int *ints);
1103 extern unsigned long long memparse(char *ptr, char **retptr);
1104
1105 extern int core_kernel_text(unsigned long addr);
1106 extern int __kernel_text_address(unsigned long addr);
1107 extern int kernel_text_address(unsigned long addr);
1108 extern int session_of_pgrp(int pgrp);
1109
1110 extern void dump_thread(struct pt_regs *regs, struct user *dump);
1111
1112
1113 int vprintk(const char *fmt, va_list args)
1114 __attribute__ ((format (printf, 1, 0)));
1115 int printk(const char * fmt, ...)
1116 __attribute__ ((format (printf, 1, 2)));
1117 # 156 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h"
1118 unsigned long int_sqrt(unsigned long);
1119
1120 static inline __attribute__((always_inline)) int __attribute__((pure)) long_log2(unsigned long x)
1121 {
1122 int r = 0;
1123 for (x >>= 1; x > 0; x >>= 1)
1124 r++;
1125 return r;
1126 }
1127
1128 static inline __attribute__((always_inline)) unsigned long
1129 __attribute__((__const__)) roundup_pow_of_two(unsigned long x)
1130 {
1131 return 1UL << fls_long(x - 1);
1132 }
1133
1134 extern int printk_ratelimit(void);
1135 extern int __printk_ratelimit(int ratelimit_jiffies, int ratelimit_burst);
1136
1137 static inline __attribute__((always_inline)) void console_silent(void)
1138 {
1139 (console_printk[0]) = 0;
1140 }
1141
1142 static inline __attribute__((always_inline)) void console_verbose(void)
1143 {
1144 if ((console_printk[0]))
1145 (console_printk[0]) = 15;
1146 }
1147
1148 extern void bust_spinlocks(int yes);
1149 extern int oops_in_progress;
1150 extern int panic_timeout;
1151 extern int panic_on_oops;
1152 extern int panic_on_unrecovered_nmi;
1153 extern int tainted;
1154 extern const char *print_tainted(void);
1155 extern void add_taint(unsigned);
1156
1157
1158 extern enum system_states {
1159 SYSTEM_BOOTING,
1160 SYSTEM_RUNNING,
1161 SYSTEM_HALT,
1162 SYSTEM_POWER_OFF,
1163 SYSTEM_RESTART,
1164 SYSTEM_SUSPEND_DISK,
1165 } system_state;
1166 # 212 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h"
1167 extern void dump_stack(void);
1168
1169
1170
1171
1172
1173
1174 static inline __attribute__((always_inline)) int __attribute__ ((format (printf, 1, 2))) pr_debug(const char * fmt, ...)
1175 {
1176 return 0;
1177 }
1178 # 326 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kernel.h"
1179 struct sysinfo {
1180 long uptime;
1181 unsigned long loads[3];
1182 unsigned long totalram;
1183 unsigned long freeram;
1184 unsigned long sharedram;
1185 unsigned long bufferram;
1186 unsigned long totalswap;
1187 unsigned long freeswap;
1188 unsigned short procs;
1189 unsigned short pad;
1190 unsigned long totalhigh;
1191 unsigned long freehigh;
1192 unsigned int mem_unit;
1193 char _f[20-2*sizeof(long)-sizeof(int)];
1194 };
1195 # 7 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/moduleparam.h" 2
1196 # 29 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/moduleparam.h"
1197 struct kernel_param;
1198
1199
1200 typedef int (*param_set_fn)(const char *val, struct kernel_param *kp);
1201
1202 typedef int (*param_get_fn)(char *buffer, struct kernel_param *kp);
1203
1204 struct kernel_param {
1205 const char *name;
1206 unsigned int perm;
1207 param_set_fn set;
1208 param_get_fn get;
1209 void *arg;
1210 };
1211
1212
1213 struct kparam_string {
1214 unsigned int maxlen;
1215 char *string;
1216 };
1217
1218
1219 struct kparam_array
1220 {
1221 unsigned int max;
1222 unsigned int *num;
1223 param_set_fn set;
1224 param_get_fn get;
1225 unsigned int elemsize;
1226 void *elem;
1227 };
1228 # 95 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/moduleparam.h"
1229 extern int parse_args(const char *name,
1230 char *args,
1231 struct kernel_param *params,
1232 unsigned num,
1233 int (*unknown)(char *param, char *val));
1234
1235
1236
1237
1238
1239
1240
1241 extern int param_set_byte(const char *val, struct kernel_param *kp);
1242 extern int param_get_byte(char *buffer, struct kernel_param *kp);
1243
1244
1245 extern int param_set_short(const char *val, struct kernel_param *kp);
1246 extern int param_get_short(char *buffer, struct kernel_param *kp);
1247
1248
1249 extern int param_set_ushort(const char *val, struct kernel_param *kp);
1250 extern int param_get_ushort(char *buffer, struct kernel_param *kp);
1251
1252
1253 extern int param_set_int(const char *val, struct kernel_param *kp);
1254 extern int param_get_int(char *buffer, struct kernel_param *kp);
1255
1256
1257 extern int param_set_uint(const char *val, struct kernel_param *kp);
1258 extern int param_get_uint(char *buffer, struct kernel_param *kp);
1259
1260
1261 extern int param_set_long(const char *val, struct kernel_param *kp);
1262 extern int param_get_long(char *buffer, struct kernel_param *kp);
1263
1264
1265 extern int param_set_ulong(const char *val, struct kernel_param *kp);
1266 extern int param_get_ulong(char *buffer, struct kernel_param *kp);
1267
1268
1269 extern int param_set_charp(const char *val, struct kernel_param *kp);
1270 extern int param_get_charp(char *buffer, struct kernel_param *kp);
1271
1272
1273 extern int param_set_bool(const char *val, struct kernel_param *kp);
1274 extern int param_get_bool(char *buffer, struct kernel_param *kp);
1275
1276
1277 extern int param_set_invbool(const char *val, struct kernel_param *kp);
1278 extern int param_get_invbool(char *buffer, struct kernel_param *kp);
1279 # 159 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/moduleparam.h"
1280 extern int param_array_set(const char *val, struct kernel_param *kp);
1281 extern int param_array_get(char *buffer, struct kernel_param *kp);
1282
1283 extern int param_set_copystring(const char *val, struct kernel_param *kp);
1284 extern int param_get_string(char *buffer, struct kernel_param *kp);
1285
1286
1287
1288 struct module;
1289
1290 extern int module_param_sysfs_setup(struct module *mod,
1291 struct kernel_param *kparam,
1292 unsigned int num_params);
1293
1294 extern void module_param_sysfs_remove(struct module *mod);
1295 # 20 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/drivers/mmc/mmc_block.c" 2
1296 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/module.h" 1
1297 # 9 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/module.h"
1298 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 1
1299
1300
1301
1302 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/auxvec.h" 1
1303
1304
1305
1306 # 1 "include2/asm/auxvec.h" 1
1307 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/auxvec.h" 2
1308 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
1309 # 40 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h"
1310 struct sched_param {
1311 int sched_priority;
1312 };
1313
1314 # 1 "include2/asm/param.h" 1
1315 # 45 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
1316
1317 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h" 1
1318 # 32 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h"
1319 typedef struct __user_cap_header_struct {
1320 __u32 version;
1321 int pid;
1322 } *cap_user_header_t;
1323
1324 typedef struct __user_cap_data_struct {
1325 __u32 effective;
1326 __u32 permitted;
1327 __u32 inheritable;
1328 } *cap_user_data_t;
1329
1330
1331
1332 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h" 1
1333 # 49 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h"
1334 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/preempt.h" 1
1335 # 9 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/preempt.h"
1336 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/thread_info.h" 1
1337 # 13 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/thread_info.h"
1338 struct restart_block {
1339 long (*fn)(struct restart_block *);
1340 unsigned long arg0, arg1, arg2, arg3;
1341 };
1342
1343 extern long do_no_restart_syscall(struct restart_block *parm);
1344
1345
1346 # 1 "include2/asm/thread_info.h" 1
1347 # 13 "include2/asm/thread_info.h"
1348 # 1 "include2/asm/page.h" 1
1349 # 44 "include2/asm/page.h"
1350 extern void (*clear_page)(void *to);
1351 extern void (*copy_page)(void *to, void *from);
1352
1353 extern unsigned long shm_align_mask;
1354
1355
1356 extern void clear_page_slow(void *to);
1357 extern void copy_page_slow(void *to, void *from);
1358
1359
1360
1361
1362
1363
1364
1365 struct page;
1366 extern void clear_user_page(void *to, unsigned long address, struct page *pg);
1367 extern void copy_user_page(void *to, void *from, unsigned long address, struct page *pg);
1368 extern void __clear_user_page(void *to, void *orig_to);
1369 extern void __copy_user_page(void *to, void *from, void *orig_to);
1370 # 72 "include2/asm/page.h"
1371 typedef struct { unsigned long pte; } pte_t;
1372 typedef struct { unsigned long pgd; } pgd_t;
1373 typedef struct { unsigned long pgprot; } pgprot_t;
1374 # 119 "include2/asm/page.h"
1375 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/memory_model.h" 1
1376 # 120 "include2/asm/page.h" 2
1377 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/page.h" 1
1378 # 10 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/page.h"
1379 static __inline__ __attribute__((always_inline)) __attribute__((__const__)) int get_order(unsigned long size)
1380 {
1381 int order;
1382
1383 size = (size - 1) >> (12 - 1);
1384 order = -1;
1385 do {
1386 size >>= 1;
1387 order++;
1388 } while (size);
1389 return order;
1390 }
1391 # 121 "include2/asm/page.h" 2
1392 # 14 "include2/asm/thread_info.h" 2
1393
1394
1395 # 1 "include2/asm/processor.h" 1
1396 # 15 "include2/asm/processor.h"
1397 # 1 "include2/asm/cache.h" 1
1398 # 12 "include2/asm/cache.h"
1399 # 1 "include/asm/cpu/cache.h" 1
1400 # 13 "include2/asm/cache.h" 2
1401 # 24 "include2/asm/cache.h"
1402 struct cache_info {
1403 unsigned int ways;
1404 unsigned int sets;
1405 unsigned int linesz;
1406
1407 unsigned int way_size;
1408
1409
1410
1411
1412
1413 unsigned int way_incr;
1414 unsigned int entry_shift;
1415 unsigned int entry_mask;
1416
1417
1418
1419
1420
1421
1422 unsigned int alias_mask;
1423
1424 unsigned int n_aliases;
1425
1426 unsigned long flags;
1427 };
1428 # 16 "include2/asm/processor.h" 2
1429 # 1 "include2/asm/ptrace.h" 1
1430 # 52 "include2/asm/ptrace.h"
1431 struct pt_regs {
1432 unsigned long regs[16];
1433 unsigned long pc;
1434 unsigned long pr;
1435 unsigned long sr;
1436 unsigned long gbr;
1437 unsigned long mach;
1438 unsigned long macl;
1439 long tra;
1440 };
1441
1442
1443
1444
1445
1446 struct pt_dspregs {
1447 unsigned long a1;
1448 unsigned long a0g;
1449 unsigned long a1g;
1450 unsigned long m0;
1451 unsigned long m1;
1452 unsigned long a0;
1453 unsigned long x0;
1454 unsigned long x1;
1455 unsigned long y0;
1456 unsigned long y1;
1457 unsigned long dsr;
1458 unsigned long rs;
1459 unsigned long re;
1460 unsigned long mod;
1461 };
1462
1463
1464
1465
1466
1467
1468
1469 extern void show_regs(struct pt_regs *);
1470 # 102 "include2/asm/ptrace.h"
1471 static inline __attribute__((always_inline)) unsigned long profile_pc(struct pt_regs *regs)
1472 {
1473 unsigned long pc = ((regs)->pc);
1474
1475 if (pc >= 0xa0000000UL && pc < 0xc0000000UL)
1476 pc -= 0x20000000;
1477 return pc;
1478 }
1479 # 17 "include2/asm/processor.h" 2
1480 # 1 "include2/asm/cpu-features.h" 1
1481 # 18 "include2/asm/processor.h" 2
1482 # 37 "include2/asm/processor.h"
1483 enum cpu_type {
1484
1485 CPU_SH7604,
1486
1487
1488 CPU_SH7705, CPU_SH7706, CPU_SH7707,
1489 CPU_SH7708, CPU_SH7708S, CPU_SH7708R,
1490 CPU_SH7709, CPU_SH7709A, CPU_SH7710,
1491 CPU_SH7729, CPU_SH7300,
1492
1493
1494 CPU_SH7750, CPU_SH7750S, CPU_SH7750R, CPU_SH7751, CPU_SH7751R,
1495 CPU_SH7760, CPU_ST40RA, CPU_ST40GX1, CPU_SH4_202, CPU_SH4_501,
1496 CPU_SH73180, CPU_SH7343, CPU_SH7770, CPU_SH7780, CPU_SH7781,
1497
1498
1499 CPU_SH_NONE
1500 };
1501
1502 struct sh_cpuinfo {
1503 unsigned int type;
1504 unsigned long loops_per_jiffy;
1505
1506 struct cache_info icache;
1507 struct cache_info dcache;
1508 struct cache_info scache;
1509
1510 unsigned long flags;
1511 } __attribute__ ((aligned((1 << 5))));
1512
1513 extern struct sh_cpuinfo boot_cpu_data;
1514 # 107 "include2/asm/processor.h"
1515 struct sh_fpu_hard_struct {
1516 unsigned long fp_regs[16];
1517 unsigned long xfp_regs[16];
1518 unsigned long fpscr;
1519 unsigned long fpul;
1520
1521 long status;
1522 };
1523
1524
1525 struct sh_fpu_soft_struct {
1526 unsigned long fp_regs[16];
1527 unsigned long xfp_regs[16];
1528 unsigned long fpscr;
1529 unsigned long fpul;
1530
1531 unsigned char lookahead;
1532 unsigned long entry_pc;
1533 };
1534
1535 union sh_fpu_union {
1536 struct sh_fpu_hard_struct hard;
1537 struct sh_fpu_soft_struct soft;
1538 };
1539
1540 struct thread_struct {
1541 unsigned long sp;
1542 unsigned long pc;
1543
1544 unsigned long trap_no, error_code;
1545 unsigned long address;
1546
1547 unsigned long ubc_pc;
1548
1549
1550 union sh_fpu_union fpu;
1551 };
1552
1553 typedef struct {
1554 unsigned long seg;
1555 } mm_segment_t;
1556
1557
1558 extern int ubc_usercnt;
1559 # 172 "include2/asm/processor.h"
1560 struct task_struct;
1561 struct mm_struct;
1562
1563
1564 extern void release_thread(struct task_struct *);
1565
1566
1567
1568
1569
1570
1571
1572 extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
1573 # 194 "include2/asm/processor.h"
1574 static __inline__ __attribute__((always_inline)) void disable_fpu(void)
1575 {
1576 unsigned long __dummy;
1577
1578
1579 __asm__ __volatile__("stc sr, %0\n\t"
1580 "or %1, %0\n\t"
1581 "ldc %0, sr"
1582 : "=&r" (__dummy)
1583 : "r" (0x00008000));
1584 }
1585
1586 static __inline__ __attribute__((always_inline)) void enable_fpu(void)
1587 {
1588 unsigned long __dummy;
1589
1590
1591 __asm__ __volatile__("stc sr, %0\n\t"
1592 "and %1, %0\n\t"
1593 "ldc %0, sr"
1594 : "=&r" (__dummy)
1595 : "r" (~0x00008000));
1596 }
1597
1598 static __inline__ __attribute__((always_inline)) void release_fpu(struct pt_regs *regs)
1599 {
1600 regs->sr |= 0x00008000;
1601 }
1602
1603 static __inline__ __attribute__((always_inline)) void grab_fpu(struct pt_regs *regs)
1604 {
1605 regs->sr &= ~0x00008000;
1606 }
1607
1608
1609 extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs);
1610 # 258 "include2/asm/processor.h"
1611 extern unsigned long get_wchan(struct task_struct *p);
1612 # 271 "include2/asm/processor.h"
1613 static inline __attribute__((always_inline)) void prefetch(void *x)
1614 {
1615 __asm__ __volatile__ ("pref @%0\n\t" : : "r" (x) : "memory");
1616 }
1617
1618
1619
1620
1621
1622 extern int vsyscall_init(void);
1623 # 17 "include2/asm/thread_info.h" 2
1624
1625 struct thread_info {
1626 struct task_struct *task;
1627 struct exec_domain *exec_domain;
1628 unsigned long flags;
1629 __u32 cpu;
1630 int preempt_count;
1631 mm_segment_t addr_limit;
1632 struct restart_block restart_block;
1633 unsigned long previous_sp;
1634
1635 __u8 supervisor_stack[0];
1636 };
1637 # 63 "include2/asm/thread_info.h"
1638 register unsigned long current_stack_pointer asm("r15") __attribute__((__used__));
1639
1640
1641 static inline __attribute__((always_inline)) struct thread_info *current_thread_info(void)
1642 {
1643 struct thread_info *ti;
1644
1645 __asm__("stc r7_bank, %0" : "=r" (ti));
1646 # 82 "include2/asm/thread_info.h"
1647 return ti;
1648 }
1649 # 22 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/thread_info.h" 2
1650 # 30 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/thread_info.h"
1651 static inline __attribute__((always_inline)) void set_ti_thread_flag(struct thread_info *ti, int flag)
1652 {
1653 set_bit(flag,&ti->flags);
1654 }
1655
1656 static inline __attribute__((always_inline)) void clear_ti_thread_flag(struct thread_info *ti, int flag)
1657 {
1658 clear_bit(flag,&ti->flags);
1659 }
1660
1661 static inline __attribute__((always_inline)) int test_and_set_ti_thread_flag(struct thread_info *ti, int flag)
1662 {
1663 return test_and_set_bit(flag,&ti->flags);
1664 }
1665
1666 static inline __attribute__((always_inline)) int test_and_clear_ti_thread_flag(struct thread_info *ti, int flag)
1667 {
1668 return test_and_clear_bit(flag,&ti->flags);
1669 }
1670
1671 static inline __attribute__((always_inline)) int test_ti_thread_flag(struct thread_info *ti, int flag)
1672 {
1673 return test_bit(flag,&ti->flags);
1674 }
1675 # 10 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/preempt.h" 2
1676 # 50 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h" 2
1677 # 78 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h"
1678 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types.h" 1
1679 # 12 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types.h"
1680 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/lockdep.h" 1
1681 # 243 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/lockdep.h"
1682 static inline __attribute__((always_inline)) void lockdep_off(void)
1683 {
1684 }
1685
1686 static inline __attribute__((always_inline)) void lockdep_on(void)
1687 {
1688 }
1689
1690 static inline __attribute__((always_inline)) int lockdep_internal(void)
1691 {
1692 return 0;
1693 }
1694 # 270 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/lockdep.h"
1695 struct lock_class_key { };
1696 # 13 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types.h" 2
1697
1698
1699
1700
1701 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types_up.h" 1
1702 # 29 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types_up.h"
1703 typedef struct { } raw_spinlock_t;
1704
1705
1706
1707
1708
1709 typedef struct {
1710
1711
1712
1713
1714 } raw_rwlock_t;
1715 # 18 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types.h" 2
1716
1717
1718 typedef struct {
1719 raw_spinlock_t raw_lock;
1720 # 32 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types.h"
1721 } spinlock_t;
1722
1723
1724
1725 typedef struct {
1726 raw_rwlock_t raw_lock;
1727 # 48 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_types.h"
1728 } rwlock_t;
1729 # 79 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h" 2
1730
1731 extern int __attribute__((section(".spinlock.text"))) generic__raw_read_trylock(raw_rwlock_t *lock);
1732
1733
1734
1735
1736
1737
1738
1739 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_up.h" 1
1740 # 89 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h" 2
1741 # 134 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h"
1742 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock_api_up.h" 1
1743 # 135 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h" 2
1744 # 259 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h"
1745 # 1 "include2/asm/atomic.h" 1
1746 # 10 "include2/asm/atomic.h"
1747 typedef struct { volatile int counter; } atomic_t;
1748 # 25 "include2/asm/atomic.h"
1749 static inline __attribute__((always_inline)) void atomic_add(int i, atomic_t *v)
1750 {
1751 # 39 "include2/asm/atomic.h"
1752 unsigned long flags;
1753
1754 flags = local_irq_save();
1755 *(long *)v += i;
1756 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1757
1758 }
1759
1760 static inline __attribute__((always_inline)) void atomic_sub(int i, atomic_t *v)
1761 {
1762 # 61 "include2/asm/atomic.h"
1763 unsigned long flags;
1764
1765 flags = local_irq_save();
1766 *(long *)v -= i;
1767 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1768
1769 }
1770 # 77 "include2/asm/atomic.h"
1771 static inline __attribute__((always_inline)) int atomic_add_return(int i, atomic_t *v)
1772 {
1773 unsigned long temp;
1774 # 92 "include2/asm/atomic.h"
1775 unsigned long flags;
1776
1777 flags = local_irq_save();
1778 temp = *(long *)v;
1779 temp += i;
1780 *(long *)v = temp;
1781 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1782
1783
1784 return temp;
1785 }
1786
1787
1788
1789 static inline __attribute__((always_inline)) int atomic_sub_return(int i, atomic_t *v)
1790 {
1791 unsigned long temp;
1792 # 121 "include2/asm/atomic.h"
1793 unsigned long flags;
1794
1795 flags = local_irq_save();
1796 temp = *(long *)v;
1797 temp -= i;
1798 *(long *)v = temp;
1799 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1800
1801
1802 return temp;
1803 }
1804 # 152 "include2/asm/atomic.h"
1805 static inline __attribute__((always_inline)) int atomic_cmpxchg(atomic_t *v, int old, int new)
1806 {
1807 int ret;
1808 unsigned long flags;
1809
1810 flags = local_irq_save();
1811 ret = v->counter;
1812 if (__builtin_expect(!!(ret == old), 1))
1813 v->counter = new;
1814 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1815
1816 return ret;
1817 }
1818
1819
1820
1821 static inline __attribute__((always_inline)) int atomic_add_unless(atomic_t *v, int a, int u)
1822 {
1823 int ret;
1824 unsigned long flags;
1825
1826 flags = local_irq_save();
1827 ret = v->counter;
1828 if (ret != u)
1829 v->counter += a;
1830 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1831
1832 return ret != u;
1833 }
1834
1835
1836 static inline __attribute__((always_inline)) void atomic_clear_mask(unsigned int mask, atomic_t *v)
1837 {
1838 # 197 "include2/asm/atomic.h"
1839 unsigned long flags;
1840
1841 flags = local_irq_save();
1842 *(long *)v &= ~mask;
1843 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1844
1845 }
1846
1847 static inline __attribute__((always_inline)) void atomic_set_mask(unsigned int mask, atomic_t *v)
1848 {
1849 # 219 "include2/asm/atomic.h"
1850 unsigned long flags;
1851
1852 flags = local_irq_save();
1853 *(long *)v |= mask;
1854 do { if ((flags & 0x000000f0) != 0x000000f0) local_irq_enable(); } while (0);
1855
1856 }
1857
1858
1859
1860
1861
1862
1863
1864 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/atomic.h" 1
1865 # 71 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/atomic.h"
1866 typedef atomic_t atomic_long_t;
1867
1868
1869 static inline __attribute__((always_inline)) long atomic_long_read(atomic_long_t *l)
1870 {
1871 atomic_t *v = (atomic_t *)l;
1872
1873 return (long)((v)->counter);
1874 }
1875
1876 static inline __attribute__((always_inline)) void atomic_long_set(atomic_long_t *l, long i)
1877 {
1878 atomic_t *v = (atomic_t *)l;
1879
1880 ((v)->counter = (i));
1881 }
1882
1883 static inline __attribute__((always_inline)) void atomic_long_inc(atomic_long_t *l)
1884 {
1885 atomic_t *v = (atomic_t *)l;
1886
1887 atomic_add(1,(v));
1888 }
1889
1890 static inline __attribute__((always_inline)) void atomic_long_dec(atomic_long_t *l)
1891 {
1892 atomic_t *v = (atomic_t *)l;
1893
1894 atomic_sub(1,(v));
1895 }
1896
1897 static inline __attribute__((always_inline)) void atomic_long_add(long i, atomic_long_t *l)
1898 {
1899 atomic_t *v = (atomic_t *)l;
1900
1901 atomic_add(i, v);
1902 }
1903
1904 static inline __attribute__((always_inline)) void atomic_long_sub(long i, atomic_long_t *l)
1905 {
1906 atomic_t *v = (atomic_t *)l;
1907
1908 atomic_sub(i, v);
1909 }
1910 # 234 "include2/asm/atomic.h" 2
1911 # 260 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/spinlock.h" 2
1912
1913
1914
1915
1916
1917 extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
1918 # 46 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h" 2
1919 # 1 "include2/asm/current.h" 1
1920 # 11 "include2/asm/current.h"
1921 struct task_struct;
1922
1923 static __inline__ __attribute__((always_inline)) struct task_struct * get_current(void)
1924 {
1925 return current_thread_info()->task;
1926 }
1927 # 47 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h" 2
1928 # 58 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h"
1929 typedef __u32 kernel_cap_t;
1930 # 295 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h"
1931 extern kernel_cap_t cap_bset;
1932 # 323 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h"
1933 static inline __attribute__((always_inline)) kernel_cap_t cap_combine(kernel_cap_t a, kernel_cap_t b)
1934 {
1935 kernel_cap_t dest;
1936 (dest) = (a) | (b);
1937 return dest;
1938 }
1939
1940 static inline __attribute__((always_inline)) kernel_cap_t cap_intersect(kernel_cap_t a, kernel_cap_t b)
1941 {
1942 kernel_cap_t dest;
1943 (dest) = (a) & (b);
1944 return dest;
1945 }
1946
1947 static inline __attribute__((always_inline)) kernel_cap_t cap_drop(kernel_cap_t a, kernel_cap_t drop)
1948 {
1949 kernel_cap_t dest;
1950 (dest) = (a) & ~(drop);
1951 return dest;
1952 }
1953
1954 static inline __attribute__((always_inline)) kernel_cap_t cap_invert(kernel_cap_t c)
1955 {
1956 kernel_cap_t dest;
1957 (dest) = ~(c);
1958 return dest;
1959 }
1960 # 360 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/capability.h"
1961 int capable(int cap);
1962 int __capable(struct task_struct *t, int cap);
1963 # 47 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
1964 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/threads.h" 1
1965 # 48 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
1966
1967
1968 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/timex.h" 1
1969 # 57 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/timex.h"
1970 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/time.h" 1
1971
1972
1973
1974
1975
1976
1977 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/seqlock.h" 1
1978 # 32 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/seqlock.h"
1979 typedef struct {
1980 unsigned sequence;
1981 spinlock_t lock;
1982 } seqlock_t;
1983 # 57 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/seqlock.h"
1984 static inline __attribute__((always_inline)) void write_seqlock(seqlock_t *sl)
1985 {
1986 do { do { } while (0); (void)0; (void)(&sl->lock); } while (0);
1987 ++sl->sequence;
1988 __asm__ __volatile__("": : :"memory");
1989 }
1990
1991 static inline __attribute__((always_inline)) void write_sequnlock(seqlock_t *sl)
1992 {
1993 __asm__ __volatile__("": : :"memory");
1994 sl->sequence++;
1995 do { do { } while (0); (void)0; (void)(&sl->lock); } while (0);
1996 }
1997
1998 static inline __attribute__((always_inline)) int write_tryseqlock(seqlock_t *sl)
1999 {
2000 int ret = (({ do { do { } while (0); (void)0; (void)(&sl->lock); } while (0); 1; }));
2001
2002 if (ret) {
2003 ++sl->sequence;
2004 __asm__ __volatile__("": : :"memory");
2005 }
2006 return ret;
2007 }
2008
2009
2010 static inline __attribute__((always_inline)) __attribute__((always_inline)) unsigned read_seqbegin(const seqlock_t *sl)
2011 {
2012 unsigned ret = sl->sequence;
2013 __asm__ __volatile__("": : :"memory");
2014 return ret;
2015 }
2016 # 98 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/seqlock.h"
2017 static inline __attribute__((always_inline)) __attribute__((always_inline)) int read_seqretry(const seqlock_t *sl, unsigned iv)
2018 {
2019 __asm__ __volatile__("": : :"memory");
2020 return (iv & 1) | (sl->sequence ^ iv);
2021 }
2022 # 112 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/seqlock.h"
2023 typedef struct seqcount {
2024 unsigned sequence;
2025 } seqcount_t;
2026
2027
2028
2029
2030
2031 static inline __attribute__((always_inline)) unsigned read_seqcount_begin(const seqcount_t *s)
2032 {
2033 unsigned ret = s->sequence;
2034 __asm__ __volatile__("": : :"memory");
2035 return ret;
2036 }
2037
2038
2039
2040
2041
2042
2043 static inline __attribute__((always_inline)) int read_seqcount_retry(const seqcount_t *s, unsigned iv)
2044 {
2045 __asm__ __volatile__("": : :"memory");
2046 return (iv & 1) | (s->sequence ^ iv);
2047 }
2048
2049
2050
2051
2052
2053
2054 static inline __attribute__((always_inline)) void write_seqcount_begin(seqcount_t *s)
2055 {
2056 s->sequence++;
2057 __asm__ __volatile__("": : :"memory");
2058 }
2059
2060 static inline __attribute__((always_inline)) void write_seqcount_end(seqcount_t *s)
2061 {
2062 __asm__ __volatile__("": : :"memory");
2063 s->sequence++;
2064 }
2065 # 8 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/time.h" 2
2066
2067
2068
2069
2070 struct timespec {
2071 time_t tv_sec;
2072 long tv_nsec;
2073 };
2074
2075
2076 struct timeval {
2077 time_t tv_sec;
2078 suseconds_t tv_usec;
2079 };
2080
2081 struct timezone {
2082 int tz_minuteswest;
2083 int tz_dsttime;
2084 };
2085 # 39 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/time.h"
2086 static inline __attribute__((always_inline)) int timespec_equal(struct timespec *a, struct timespec *b)
2087 {
2088 return (a->tv_sec == b->tv_sec) && (a->tv_nsec == b->tv_nsec);
2089 }
2090
2091
2092
2093
2094
2095
2096 static inline __attribute__((always_inline)) int timespec_compare(struct timespec *lhs, struct timespec *rhs)
2097 {
2098 if (lhs->tv_sec < rhs->tv_sec)
2099 return -1;
2100 if (lhs->tv_sec > rhs->tv_sec)
2101 return 1;
2102 return lhs->tv_nsec - rhs->tv_nsec;
2103 }
2104
2105 static inline __attribute__((always_inline)) int timeval_compare(struct timeval *lhs, struct timeval *rhs)
2106 {
2107 if (lhs->tv_sec < rhs->tv_sec)
2108 return -1;
2109 if (lhs->tv_sec > rhs->tv_sec)
2110 return 1;
2111 return lhs->tv_usec - rhs->tv_usec;
2112 }
2113
2114 extern unsigned long mktime(const unsigned int year, const unsigned int mon,
2115 const unsigned int day, const unsigned int hour,
2116 const unsigned int min, const unsigned int sec);
2117
2118 extern void set_normalized_timespec(struct timespec *ts, time_t sec, long nsec);
2119
2120
2121
2122
2123 static inline __attribute__((always_inline)) struct timespec timespec_sub(struct timespec lhs,
2124 struct timespec rhs)
2125 {
2126 struct timespec ts_delta;
2127 set_normalized_timespec(&ts_delta, lhs.tv_sec - rhs.tv_sec,
2128 lhs.tv_nsec - rhs.tv_nsec);
2129 return ts_delta;
2130 }
2131
2132
2133
2134
2135
2136
2137
2138 extern struct timespec xtime;
2139 extern struct timespec wall_to_monotonic;
2140 extern seqlock_t xtime_lock;
2141
2142 void timekeeping_init(void);
2143
2144 static inline __attribute__((always_inline)) unsigned long get_seconds(void)
2145 {
2146 return xtime.tv_sec;
2147 }
2148
2149 struct timespec current_kernel_time(void);
2150
2151
2152
2153
2154 extern void do_gettimeofday(struct timeval *tv);
2155 extern int do_settimeofday(struct timespec *tv);
2156 extern int do_sys_settimeofday(struct timespec *tv, struct timezone *tz);
2157
2158 extern long do_utimes(int dfd, char *filename, struct timeval *times);
2159 struct itimerval;
2160 extern int do_setitimer(int which, struct itimerval *value,
2161 struct itimerval *ovalue);
2162 extern unsigned int alarm_setitimer(unsigned int seconds);
2163 extern int do_getitimer(int which, struct itimerval *value);
2164 extern void getnstimeofday(struct timespec *tv);
2165
2166 extern struct timespec timespec_trunc(struct timespec t, unsigned gran);
2167 extern int timekeeping_is_continuous(void);
2168 # 129 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/time.h"
2169 static inline __attribute__((always_inline)) s64 timespec_to_ns(const struct timespec *ts)
2170 {
2171 return ((s64) ts->tv_sec * 1000000000L) + ts->tv_nsec;
2172 }
2173 # 141 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/time.h"
2174 static inline __attribute__((always_inline)) s64 timeval_to_ns(const struct timeval *tv)
2175 {
2176 return ((s64) tv->tv_sec * 1000000000L) +
2177 tv->tv_usec * 1000L;
2178 }
2179
2180
2181
2182
2183
2184
2185
2186 extern struct timespec ns_to_timespec(const s64 nsec);
2187
2188
2189
2190
2191
2192
2193
2194 extern struct timeval ns_to_timeval(const s64 nsec);
2195
2196
2197
2198
2199
2200
2201 static inline __attribute__((always_inline)) void timespec_add_ns(struct timespec *a, u64 ns)
2202 {
2203 ns += a->tv_nsec;
2204 while(__builtin_expect(!!(ns >= 1000000000L), 0)) {
2205 ns -= 1000000000L;
2206 a->tv_sec++;
2207 }
2208 a->tv_nsec = ns;
2209 }
2210 # 195 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/time.h"
2211 struct itimerspec {
2212 struct timespec it_interval;
2213 struct timespec it_value;
2214 };
2215
2216 struct itimerval {
2217 struct timeval it_interval;
2218 struct timeval it_value;
2219 };
2220 # 58 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/timex.h" 2
2221 # 100 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/timex.h"
2222 struct timex {
2223 unsigned int modes;
2224 long offset;
2225 long freq;
2226 long maxerror;
2227 long esterror;
2228 int status;
2229 long constant;
2230 long precision;
2231 long tolerance;
2232
2233
2234 struct timeval time;
2235 long tick;
2236
2237 long ppsfreq;
2238 long jitter;
2239 int shift;
2240 long stabil;
2241 long jitcnt;
2242 long calcnt;
2243 long errcnt;
2244 long stbcnt;
2245
2246 int :32; int :32; int :32; int :32;
2247 int :32; int :32; int :32; int :32;
2248 int :32; int :32; int :32; int :32;
2249 };
2250 # 187 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/timex.h"
2251 # 1 "include2/asm/timex.h" 1
2252 # 11 "include2/asm/timex.h"
2253 typedef unsigned long long cycles_t;
2254
2255 static __inline__ __attribute__((always_inline)) cycles_t get_cycles (void)
2256 {
2257 return 0;
2258 }
2259 # 188 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/timex.h" 2
2260
2261
2262
2263
2264
2265
2266 extern unsigned long tick_usec;
2267 extern unsigned long tick_nsec;
2268 extern int tickadj;
2269
2270
2271
2272
2273 extern int time_status;
2274 extern long time_maxerror;
2275 extern long time_esterror;
2276
2277 extern long time_freq;
2278
2279 extern long time_adjust;
2280
2281 extern void ntp_clear(void);
2282
2283
2284
2285
2286
2287 static inline __attribute__((always_inline)) int ntp_synced(void)
2288 {
2289 return !(time_status & 0x0040);
2290 }
2291 # 277 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/timex.h"
2292 static inline __attribute__((always_inline)) void time_interpolator_reset(void)
2293 {
2294 }
2295
2296 static inline __attribute__((always_inline)) void time_interpolator_update(long delta_nsec)
2297 {
2298 }
2299
2300
2301
2302
2303
2304
2305 extern u64 current_tick_length(void);
2306
2307 extern void second_overflow(void);
2308 extern void update_ntp_one_tick(void);
2309 extern int do_adjtimex(struct timex *);
2310 # 51 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
2311 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h" 1
2312
2313
2314
2315 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/calc64.h" 1
2316
2317
2318
2319
2320 # 1 "include2/asm/div64.h" 1
2321 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/div64.h" 1
2322 # 35 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/div64.h"
2323 extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
2324 # 1 "include2/asm/div64.h" 2
2325 # 6 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/calc64.h" 2
2326 # 20 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/calc64.h"
2327 static inline __attribute__((always_inline)) unsigned long do_div_llr(const long long dividend,
2328 const long divisor, long *remainder)
2329 {
2330 u64 result = dividend;
2331
2332 *(remainder) = ({ uint32_t __base = (divisor); uint32_t __rem; (void)(((typeof((result)) *)0) == ((uint64_t *)0)); if (__builtin_expect(!!(((result) >> 32) == 0), 1)) { __rem = (uint32_t)(result) % __base; (result) = (uint32_t)(result) / __base; } else __rem = __div64_32(&(result), __base); __rem; });
2333 return (unsigned long) result;
2334 }
2335
2336
2337
2338
2339
2340
2341
2342 static inline __attribute__((always_inline)) long div_long_long_rem_signed(const long long dividend,
2343 const long divisor, long *remainder)
2344 {
2345 long res;
2346
2347 if (__builtin_expect(!!(dividend < 0), 0)) {
2348 res = -do_div_llr((-dividend), divisor, remainder);
2349 *remainder = -(*remainder);
2350 } else
2351 res = do_div_llr((dividend), divisor, remainder);
2352
2353 return res;
2354 }
2355 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h" 2
2356 # 81 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h"
2357 extern u64 __attribute__((section(".data"))) jiffies_64;
2358 extern unsigned long volatile __attribute__((section(".data"))) jiffies;
2359
2360
2361 u64 get_jiffies_64(void);
2362 # 267 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h"
2363 static inline __attribute__((always_inline)) unsigned int jiffies_to_msecs(const unsigned long j)
2364 {
2365
2366 return (1000L / 100) * j;
2367
2368
2369
2370
2371
2372 }
2373
2374 static inline __attribute__((always_inline)) unsigned int jiffies_to_usecs(const unsigned long j)
2375 {
2376
2377 return (1000000L / 100) * j;
2378
2379
2380
2381
2382
2383 }
2384
2385 static inline __attribute__((always_inline)) unsigned long msecs_to_jiffies(const unsigned int m)
2386 {
2387 if (m > jiffies_to_msecs(((~0UL >> 1)-1)))
2388 return ((~0UL >> 1)-1);
2389
2390 return (m + (1000L / 100) - 1) / (1000L / 100);
2391
2392
2393
2394
2395
2396 }
2397
2398 static inline __attribute__((always_inline)) unsigned long usecs_to_jiffies(const unsigned int u)
2399 {
2400 if (u > jiffies_to_usecs(((~0UL >> 1)-1)))
2401 return ((~0UL >> 1)-1);
2402
2403 return (u + (1000000L / 100) - 1) / (1000000L / 100);
2404
2405
2406
2407
2408
2409 }
2410 # 326 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h"
2411 static __inline__ __attribute__((always_inline)) unsigned long
2412 timespec_to_jiffies(const struct timespec *value)
2413 {
2414 unsigned long sec = value->tv_sec;
2415 long nsec = value->tv_nsec + (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))))) - 1;
2416
2417 if (sec >= (long)((u64)((u64)((~0UL >> 1)-1) * (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))))) / 1000000000L)){
2418 sec = (long)((u64)((u64)((~0UL >> 1)-1) * (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))))) / 1000000000L);
2419 nsec = 0;
2420 }
2421 return (((u64)sec * ((unsigned long)((((u64)1000000000L << (32 - 7)) + (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))))) -1) / (u64)(( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))))))) +
2422 (((u64)nsec * ((unsigned long)((((u64)1 << ((32 - 7) + 29)) + (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))))) -1) / (u64)(( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))))))) >>
2423 (((32 - 7) + 29) - (32 - 7)))) >> (32 - 7);
2424
2425 }
2426
2427 static __inline__ __attribute__((always_inline)) void
2428 jiffies_to_timespec(const unsigned long jiffies, struct timespec *value)
2429 {
2430
2431
2432
2433
2434 u64 nsec = (u64)jiffies * (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))));
2435 value->tv_sec = do_div_llr((nsec), 1000000000L, &value->tv_nsec);
2436 }
2437 # 365 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h"
2438 static __inline__ __attribute__((always_inline)) unsigned long
2439 timeval_to_jiffies(const struct timeval *value)
2440 {
2441 unsigned long sec = value->tv_sec;
2442 long usec = value->tv_usec;
2443
2444 if (sec >= (long)((u64)((u64)((~0UL >> 1)-1) * (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))))) / 1000000000L)){
2445 sec = (long)((u64)((u64)((~0UL >> 1)-1) * (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))))) / 1000000000L);
2446 usec = 0;
2447 }
2448 return (((u64)sec * ((unsigned long)((((u64)1000000000L << (32 - 7)) + (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))))) -1) / (u64)(( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))))))) +
2449 (((u64)usec * ((unsigned long)((((u64)1000L << ((32 - 7) + 19)) + (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))))) -1) / (u64)(( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))))))) + (u64)(((u64)1 << ((32 - 7) + 19)) - 1)) >>
2450 (((32 - 7) + 19) - (32 - 7)))) >> (32 - 7);
2451 }
2452
2453 static __inline__ __attribute__((always_inline)) void
2454 jiffies_to_timeval(const unsigned long jiffies, struct timeval *value)
2455 {
2456
2457
2458
2459
2460 u64 nsec = (u64)jiffies * (( (((1000000UL * 1000) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((((1000000UL * 1000) % ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))) << (8)) + ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100))))) / 2) / ((( ((((33000000 / 4)) / ((((33000000 / 4) + 100/2) / 100))) << (8)) + (((((33000000 / 4)) % ((((33000000 / 4) + 100/2) / 100))) << (8)) + ((((33000000 / 4) + 100/2) / 100)) / 2) / ((((33000000 / 4) + 100/2) / 100)))))));
2461 long tv_usec;
2462
2463 value->tv_sec = do_div_llr((nsec), 1000000000L, &tv_usec);
2464 tv_usec /= 1000L;
2465 value->tv_usec = tv_usec;
2466 }
2467
2468
2469
2470
2471 static inline __attribute__((always_inline)) clock_t jiffies_to_clock_t(long x)
2472 {
2473
2474 return x / (100 / 100);
2475
2476
2477
2478
2479
2480 }
2481
2482 static inline __attribute__((always_inline)) unsigned long clock_t_to_jiffies(unsigned long x)
2483 {
2484
2485 if (x >= ~0UL / (100 / 100))
2486 return ~0UL;
2487 return x * (100 / 100);
2488 # 427 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h"
2489 }
2490
2491 static inline __attribute__((always_inline)) u64 jiffies_64_to_clock_t(u64 x)
2492 {
2493
2494 ({ uint32_t __base = (100 / 100); uint32_t __rem; (void)(((typeof((x)) *)0) == ((uint64_t *)0)); if (__builtin_expect(!!(((x) >> 32) == 0), 1)) { __rem = (uint32_t)(x) % __base; (x) = (uint32_t)(x) / __base; } else __rem = __div64_32(&(x), __base); __rem; });
2495 # 442 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h"
2496 return x;
2497 }
2498
2499 static inline __attribute__((always_inline)) u64 nsec_to_clock_t(u64 x)
2500 {
2501
2502 ({ uint32_t __base = ((1000000000L / 100)); uint32_t __rem; (void)(((typeof((x)) *)0) == ((uint64_t *)0)); if (__builtin_expect(!!(((x) >> 32) == 0), 1)) { __rem = (uint32_t)(x) % __base; (x) = (uint32_t)(x) / __base; } else __rem = __div64_32(&(x), __base); __rem; });
2503 # 462 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/jiffies.h"
2504 return x;
2505 }
2506 # 52 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
2507 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rbtree.h" 1
2508 # 100 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rbtree.h"
2509 struct rb_node
2510 {
2511 unsigned long rb_parent_color;
2512
2513
2514 struct rb_node *rb_right;
2515 struct rb_node *rb_left;
2516 } __attribute__((aligned(sizeof(long))));
2517
2518
2519 struct rb_root
2520 {
2521 struct rb_node *rb_node;
2522 };
2523 # 123 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rbtree.h"
2524 static inline __attribute__((always_inline)) void rb_set_parent(struct rb_node *rb, struct rb_node *p)
2525 {
2526 rb->rb_parent_color = (rb->rb_parent_color & 3) | (unsigned long)p;
2527 }
2528 static inline __attribute__((always_inline)) void rb_set_color(struct rb_node *rb, int color)
2529 {
2530 rb->rb_parent_color = (rb->rb_parent_color & ~1) | color;
2531 }
2532 # 139 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rbtree.h"
2533 extern void rb_insert_color(struct rb_node *, struct rb_root *);
2534 extern void rb_erase(struct rb_node *, struct rb_root *);
2535
2536
2537 extern struct rb_node *rb_next(struct rb_node *);
2538 extern struct rb_node *rb_prev(struct rb_node *);
2539 extern struct rb_node *rb_first(struct rb_root *);
2540 extern struct rb_node *rb_last(struct rb_root *);
2541
2542
2543 extern void rb_replace_node(struct rb_node *victim, struct rb_node *new,
2544 struct rb_root *root);
2545
2546 static inline __attribute__((always_inline)) void rb_link_node(struct rb_node * node, struct rb_node * parent,
2547 struct rb_node ** rb_link)
2548 {
2549 node->rb_parent_color = (unsigned long )parent;
2550 node->rb_left = node->rb_right = ((void *)0);
2551
2552 *rb_link = node;
2553 }
2554 # 53 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
2555
2556 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/cpumask.h" 1
2557 # 86 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/cpumask.h"
2558 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/bitmap.h" 1
2559
2560
2561
2562
2563
2564
2565
2566 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/string.h" 1
2567 # 16 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/string.h"
2568 extern char *strndup_user(const char *, long);
2569
2570
2571
2572
2573 # 1 "include2/asm/string.h" 1
2574 # 12 "include2/asm/string.h"
2575 static inline __attribute__((always_inline)) char *strcpy(char *__dest, const char *__src)
2576 {
2577 register char *__xdest = __dest;
2578 unsigned long __dummy;
2579
2580 __asm__ __volatile__("1:\n\t"
2581 "mov.b @%1+, %2\n\t"
2582 "mov.b %2, @%0\n\t"
2583 "cmp/eq #0, %2\n\t"
2584 "bf/s 1b\n\t"
2585 " add #1, %0\n\t"
2586 : "=r" (__dest), "=r" (__src), "=&z" (__dummy)
2587 : "0" (__dest), "1" (__src)
2588 : "memory", "t");
2589
2590 return __xdest;
2591 }
2592
2593
2594 static inline __attribute__((always_inline)) char *strncpy(char *__dest, const char *__src, size_t __n)
2595 {
2596 register char *__xdest = __dest;
2597 unsigned long __dummy;
2598
2599 if (__n == 0)
2600 return __xdest;
2601
2602 __asm__ __volatile__(
2603 "1:\n"
2604 "mov.b @%1+, %2\n\t"
2605 "mov.b %2, @%0\n\t"
2606 "cmp/eq #0, %2\n\t"
2607 "bt/s 2f\n\t"
2608 " cmp/eq %5,%1\n\t"
2609 "bf/s 1b\n\t"
2610 " add #1, %0\n"
2611 "2:"
2612 : "=r" (__dest), "=r" (__src), "=&z" (__dummy)
2613 : "0" (__dest), "1" (__src), "r" (__src+__n)
2614 : "memory", "t");
2615
2616 return __xdest;
2617 }
2618
2619
2620 static inline __attribute__((always_inline)) int strcmp(const char *__cs, const char *__ct)
2621 {
2622 register int __res;
2623 unsigned long __dummy;
2624
2625 __asm__ __volatile__(
2626 "mov.b @%1+, %3\n"
2627 "1:\n\t"
2628 "mov.b @%0+, %2\n\t"
2629 "cmp/eq #0, %3\n\t"
2630 "bt 2f\n\t"
2631 "cmp/eq %2, %3\n\t"
2632 "bt/s 1b\n\t"
2633 " mov.b @%1+, %3\n\t"
2634 "add #-2, %1\n\t"
2635 "mov.b @%1, %3\n\t"
2636 "sub %3, %2\n"
2637 "2:"
2638 : "=r" (__cs), "=r" (__ct), "=&r" (__res), "=&z" (__dummy)
2639 : "0" (__cs), "1" (__ct)
2640 : "t");
2641
2642 return __res;
2643 }
2644
2645
2646 static inline __attribute__((always_inline)) int strncmp(const char *__cs, const char *__ct, size_t __n)
2647 {
2648 register int __res;
2649 unsigned long __dummy;
2650
2651 if (__n == 0)
2652 return 0;
2653
2654 __asm__ __volatile__(
2655 "mov.b @%1+, %3\n"
2656 "1:\n\t"
2657 "mov.b @%0+, %2\n\t"
2658 "cmp/eq %6, %0\n\t"
2659 "bt/s 2f\n\t"
2660 " cmp/eq #0, %3\n\t"
2661 "bt/s 3f\n\t"
2662 " cmp/eq %3, %2\n\t"
2663 "bt/s 1b\n\t"
2664 " mov.b @%1+, %3\n\t"
2665 "add #-2, %1\n\t"
2666 "mov.b @%1, %3\n"
2667 "2:\n\t"
2668 "sub %3, %2\n"
2669 "3:"
2670 :"=r" (__cs), "=r" (__ct), "=&r" (__res), "=&z" (__dummy)
2671 : "0" (__cs), "1" (__ct), "r" (__cs+__n)
2672 : "t");
2673
2674 return __res;
2675 }
2676
2677
2678 extern void *memset(void *__s, int __c, size_t __count);
2679
2680
2681 extern void *memcpy(void *__to, __const__ void *__from, size_t __n);
2682
2683
2684 extern void *memmove(void *__dest, __const__ void *__src, size_t __n);
2685
2686
2687 extern void *memchr(const void *__s, int __c, size_t __n);
2688
2689
2690 extern size_t strlen(const char *);
2691
2692
2693 extern int strcasecmp(const char *, const char *);
2694 # 22 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/string.h" 2
2695 # 30 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/string.h"
2696 size_t strlcpy(char *, const char *, size_t);
2697
2698
2699 extern char * strcat(char *, const char *);
2700
2701
2702 extern char * strncat(char *, const char *, __kernel_size_t);
2703
2704
2705 extern size_t strlcat(char *, const char *, __kernel_size_t);
2706 # 48 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/string.h"
2707 extern int strnicmp(const char *, const char *, __kernel_size_t);
2708
2709
2710 extern char * strchr(const char *,int);
2711
2712
2713 extern char * strnchr(const char *, size_t, int);
2714
2715
2716 extern char * strrchr(const char *,int);
2717
2718 extern char * strstrip(char *);
2719
2720 extern char * strstr(const char *,const char *);
2721
2722
2723
2724
2725
2726 extern __kernel_size_t strnlen(const char *,__kernel_size_t);
2727
2728
2729 extern char * strpbrk(const char *,const char *);
2730
2731
2732 extern char * strsep(char **,const char *);
2733
2734
2735 extern __kernel_size_t strspn(const char *,const char *);
2736
2737
2738 extern __kernel_size_t strcspn(const char *,const char *);
2739 # 92 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/string.h"
2740 extern void * memscan(void *,int,__kernel_size_t);
2741
2742
2743 extern int memcmp(const void *,const void *,__kernel_size_t);
2744
2745
2746
2747
2748
2749 extern char *kstrdup(const char *s, gfp_t gfp);
2750 extern void *kmemdup(const void *src, size_t len, gfp_t gfp);
2751 # 9 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/bitmap.h" 2
2752 # 84 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/bitmap.h"
2753 extern int __bitmap_empty(const unsigned long *bitmap, int bits);
2754 extern int __bitmap_full(const unsigned long *bitmap, int bits);
2755 extern int __bitmap_equal(const unsigned long *bitmap1,
2756 const unsigned long *bitmap2, int bits);
2757 extern void __bitmap_complement(unsigned long *dst, const unsigned long *src,
2758 int bits);
2759 extern void __bitmap_shift_right(unsigned long *dst,
2760 const unsigned long *src, int shift, int bits);
2761 extern void __bitmap_shift_left(unsigned long *dst,
2762 const unsigned long *src, int shift, int bits);
2763 extern void __bitmap_and(unsigned long *dst, const unsigned long *bitmap1,
2764 const unsigned long *bitmap2, int bits);
2765 extern void __bitmap_or(unsigned long *dst, const unsigned long *bitmap1,
2766 const unsigned long *bitmap2, int bits);
2767 extern void __bitmap_xor(unsigned long *dst, const unsigned long *bitmap1,
2768 const unsigned long *bitmap2, int bits);
2769 extern void __bitmap_andnot(unsigned long *dst, const unsigned long *bitmap1,
2770 const unsigned long *bitmap2, int bits);
2771 extern int __bitmap_intersects(const unsigned long *bitmap1,
2772 const unsigned long *bitmap2, int bits);
2773 extern int __bitmap_subset(const unsigned long *bitmap1,
2774 const unsigned long *bitmap2, int bits);
2775 extern int __bitmap_weight(const unsigned long *bitmap, int bits);
2776
2777 extern int bitmap_scnprintf(char *buf, unsigned int len,
2778 const unsigned long *src, int nbits);
2779 extern int __bitmap_parse(const char *buf, unsigned int buflen, int is_user,
2780 unsigned long *dst, int nbits);
2781 extern int bitmap_parse_user(const char *ubuf, unsigned int ulen,
2782 unsigned long *dst, int nbits);
2783 extern int bitmap_scnlistprintf(char *buf, unsigned int len,
2784 const unsigned long *src, int nbits);
2785 extern int bitmap_parselist(const char *buf, unsigned long *maskp,
2786 int nmaskbits);
2787 extern void bitmap_remap(unsigned long *dst, const unsigned long *src,
2788 const unsigned long *old, const unsigned long *new, int bits);
2789 extern int bitmap_bitremap(int oldbit,
2790 const unsigned long *old, const unsigned long *new, int bits);
2791 extern int bitmap_find_free_region(unsigned long *bitmap, int bits, int order);
2792 extern void bitmap_release_region(unsigned long *bitmap, int pos, int order);
2793 extern int bitmap_allocate_region(unsigned long *bitmap, int pos, int order);
2794
2795
2796
2797
2798
2799
2800
2801 static inline __attribute__((always_inline)) void bitmap_zero(unsigned long *dst, int nbits)
2802 {
2803 if (nbits <= 32)
2804 *dst = 0UL;
2805 else {
2806 int len = (((nbits)+32 -1)/32) * sizeof(unsigned long);
2807 memset(dst, 0, len);
2808 }
2809 }
2810
2811 static inline __attribute__((always_inline)) void bitmap_fill(unsigned long *dst, int nbits)
2812 {
2813 size_t nlongs = (((nbits)+32 -1)/32);
2814 if (nlongs > 1) {
2815 int len = (nlongs - 1) * sizeof(unsigned long);
2816 memset(dst, 0xff, len);
2817 }
2818 dst[nlongs - 1] = ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL );
2819 }
2820
2821 static inline __attribute__((always_inline)) void bitmap_copy(unsigned long *dst, const unsigned long *src,
2822 int nbits)
2823 {
2824 if (nbits <= 32)
2825 *dst = *src;
2826 else {
2827 int len = (((nbits)+32 -1)/32) * sizeof(unsigned long);
2828 memcpy(dst, src, len);
2829 }
2830 }
2831
2832 static inline __attribute__((always_inline)) void bitmap_and(unsigned long *dst, const unsigned long *src1,
2833 const unsigned long *src2, int nbits)
2834 {
2835 if (nbits <= 32)
2836 *dst = *src1 & *src2;
2837 else
2838 __bitmap_and(dst, src1, src2, nbits);
2839 }
2840
2841 static inline __attribute__((always_inline)) void bitmap_or(unsigned long *dst, const unsigned long *src1,
2842 const unsigned long *src2, int nbits)
2843 {
2844 if (nbits <= 32)
2845 *dst = *src1 | *src2;
2846 else
2847 __bitmap_or(dst, src1, src2, nbits);
2848 }
2849
2850 static inline __attribute__((always_inline)) void bitmap_xor(unsigned long *dst, const unsigned long *src1,
2851 const unsigned long *src2, int nbits)
2852 {
2853 if (nbits <= 32)
2854 *dst = *src1 ^ *src2;
2855 else
2856 __bitmap_xor(dst, src1, src2, nbits);
2857 }
2858
2859 static inline __attribute__((always_inline)) void bitmap_andnot(unsigned long *dst, const unsigned long *src1,
2860 const unsigned long *src2, int nbits)
2861 {
2862 if (nbits <= 32)
2863 *dst = *src1 & ~(*src2);
2864 else
2865 __bitmap_andnot(dst, src1, src2, nbits);
2866 }
2867
2868 static inline __attribute__((always_inline)) void bitmap_complement(unsigned long *dst, const unsigned long *src,
2869 int nbits)
2870 {
2871 if (nbits <= 32)
2872 *dst = ~(*src) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL );
2873 else
2874 __bitmap_complement(dst, src, nbits);
2875 }
2876
2877 static inline __attribute__((always_inline)) int bitmap_equal(const unsigned long *src1,
2878 const unsigned long *src2, int nbits)
2879 {
2880 if (nbits <= 32)
2881 return ! ((*src1 ^ *src2) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
2882 else
2883 return __bitmap_equal(src1, src2, nbits);
2884 }
2885
2886 static inline __attribute__((always_inline)) int bitmap_intersects(const unsigned long *src1,
2887 const unsigned long *src2, int nbits)
2888 {
2889 if (nbits <= 32)
2890 return ((*src1 & *src2) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL )) != 0;
2891 else
2892 return __bitmap_intersects(src1, src2, nbits);
2893 }
2894
2895 static inline __attribute__((always_inline)) int bitmap_subset(const unsigned long *src1,
2896 const unsigned long *src2, int nbits)
2897 {
2898 if (nbits <= 32)
2899 return ! ((*src1 & ~(*src2)) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
2900 else
2901 return __bitmap_subset(src1, src2, nbits);
2902 }
2903
2904 static inline __attribute__((always_inline)) int bitmap_empty(const unsigned long *src, int nbits)
2905 {
2906 if (nbits <= 32)
2907 return ! (*src & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
2908 else
2909 return __bitmap_empty(src, nbits);
2910 }
2911
2912 static inline __attribute__((always_inline)) int bitmap_full(const unsigned long *src, int nbits)
2913 {
2914 if (nbits <= 32)
2915 return ! (~(*src) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
2916 else
2917 return __bitmap_full(src, nbits);
2918 }
2919
2920 static inline __attribute__((always_inline)) int bitmap_weight(const unsigned long *src, int nbits)
2921 {
2922 if (nbits <= 32)
2923 return hweight_long(*src & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL ));
2924 return __bitmap_weight(src, nbits);
2925 }
2926
2927 static inline __attribute__((always_inline)) void bitmap_shift_right(unsigned long *dst,
2928 const unsigned long *src, int n, int nbits)
2929 {
2930 if (nbits <= 32)
2931 *dst = *src >> n;
2932 else
2933 __bitmap_shift_right(dst, src, n, nbits);
2934 }
2935
2936 static inline __attribute__((always_inline)) void bitmap_shift_left(unsigned long *dst,
2937 const unsigned long *src, int n, int nbits)
2938 {
2939 if (nbits <= 32)
2940 *dst = (*src << n) & ( ((nbits) % 32) ? (1UL<<((nbits) % 32))-1 : ~0UL );
2941 else
2942 __bitmap_shift_left(dst, src, n, nbits);
2943 }
2944
2945 static inline __attribute__((always_inline)) int bitmap_parse(const char *buf, unsigned int buflen,
2946 unsigned long *maskp, int nmaskbits)
2947 {
2948 return __bitmap_parse(buf, buflen, 0, maskp, nmaskbits);
2949 }
2950 # 87 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/cpumask.h" 2
2951
2952 typedef struct { unsigned long bits[(((1)+32 -1)/32)]; } cpumask_t;
2953 extern cpumask_t _unused_cpumask_arg_;
2954
2955
2956 static inline __attribute__((always_inline)) void __cpu_set(int cpu, volatile cpumask_t *dstp)
2957 {
2958 set_bit(cpu, dstp->bits);
2959 }
2960
2961
2962 static inline __attribute__((always_inline)) void __cpu_clear(int cpu, volatile cpumask_t *dstp)
2963 {
2964 clear_bit(cpu, dstp->bits);
2965 }
2966
2967
2968 static inline __attribute__((always_inline)) void __cpus_setall(cpumask_t *dstp, int nbits)
2969 {
2970 bitmap_fill(dstp->bits, nbits);
2971 }
2972
2973
2974 static inline __attribute__((always_inline)) void __cpus_clear(cpumask_t *dstp, int nbits)
2975 {
2976 bitmap_zero(dstp->bits, nbits);
2977 }
2978
2979
2980
2981
2982
2983 static inline __attribute__((always_inline)) int __cpu_test_and_set(int cpu, cpumask_t *addr)
2984 {
2985 return test_and_set_bit(cpu, addr->bits);
2986 }
2987
2988
2989 static inline __attribute__((always_inline)) void __cpus_and(cpumask_t *dstp, const cpumask_t *src1p,
2990 const cpumask_t *src2p, int nbits)
2991 {
2992 bitmap_and(dstp->bits, src1p->bits, src2p->bits, nbits);
2993 }
2994
2995
2996 static inline __attribute__((always_inline)) void __cpus_or(cpumask_t *dstp, const cpumask_t *src1p,
2997 const cpumask_t *src2p, int nbits)
2998 {
2999 bitmap_or(dstp->bits, src1p->bits, src2p->bits, nbits);
3000 }
3001
3002
3003 static inline __attribute__((always_inline)) void __cpus_xor(cpumask_t *dstp, const cpumask_t *src1p,
3004 const cpumask_t *src2p, int nbits)
3005 {
3006 bitmap_xor(dstp->bits, src1p->bits, src2p->bits, nbits);
3007 }
3008
3009
3010
3011 static inline __attribute__((always_inline)) void __cpus_andnot(cpumask_t *dstp, const cpumask_t *src1p,
3012 const cpumask_t *src2p, int nbits)
3013 {
3014 bitmap_andnot(dstp->bits, src1p->bits, src2p->bits, nbits);
3015 }
3016
3017
3018 static inline __attribute__((always_inline)) void __cpus_complement(cpumask_t *dstp,
3019 const cpumask_t *srcp, int nbits)
3020 {
3021 bitmap_complement(dstp->bits, srcp->bits, nbits);
3022 }
3023
3024
3025 static inline __attribute__((always_inline)) int __cpus_equal(const cpumask_t *src1p,
3026 const cpumask_t *src2p, int nbits)
3027 {
3028 return bitmap_equal(src1p->bits, src2p->bits, nbits);
3029 }
3030
3031
3032 static inline __attribute__((always_inline)) int __cpus_intersects(const cpumask_t *src1p,
3033 const cpumask_t *src2p, int nbits)
3034 {
3035 return bitmap_intersects(src1p->bits, src2p->bits, nbits);
3036 }
3037
3038
3039 static inline __attribute__((always_inline)) int __cpus_subset(const cpumask_t *src1p,
3040 const cpumask_t *src2p, int nbits)
3041 {
3042 return bitmap_subset(src1p->bits, src2p->bits, nbits);
3043 }
3044
3045
3046 static inline __attribute__((always_inline)) int __cpus_empty(const cpumask_t *srcp, int nbits)
3047 {
3048 return bitmap_empty(srcp->bits, nbits);
3049 }
3050
3051
3052 static inline __attribute__((always_inline)) int __cpus_full(const cpumask_t *srcp, int nbits)
3053 {
3054 return bitmap_full(srcp->bits, nbits);
3055 }
3056
3057
3058 static inline __attribute__((always_inline)) int __cpus_weight(const cpumask_t *srcp, int nbits)
3059 {
3060 return bitmap_weight(srcp->bits, nbits);
3061 }
3062
3063
3064
3065 static inline __attribute__((always_inline)) void __cpus_shift_right(cpumask_t *dstp,
3066 const cpumask_t *srcp, int n, int nbits)
3067 {
3068 bitmap_shift_right(dstp->bits, srcp->bits, n, nbits);
3069 }
3070
3071
3072
3073 static inline __attribute__((always_inline)) void __cpus_shift_left(cpumask_t *dstp,
3074 const cpumask_t *srcp, int n, int nbits)
3075 {
3076 bitmap_shift_left(dstp->bits, srcp->bits, n, nbits);
3077 }
3078 # 270 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/cpumask.h"
3079 static inline __attribute__((always_inline)) int __cpumask_scnprintf(char *buf, int len,
3080 const cpumask_t *srcp, int nbits)
3081 {
3082 return bitmap_scnprintf(buf, len, srcp->bits, nbits);
3083 }
3084
3085
3086
3087 static inline __attribute__((always_inline)) int __cpumask_parse_user(const char *buf, int len,
3088 cpumask_t *dstp, int nbits)
3089 {
3090 return bitmap_parse_user(buf, len, dstp->bits, nbits);
3091 }
3092
3093
3094
3095 static inline __attribute__((always_inline)) int __cpulist_scnprintf(char *buf, int len,
3096 const cpumask_t *srcp, int nbits)
3097 {
3098 return bitmap_scnlistprintf(buf, len, srcp->bits, nbits);
3099 }
3100
3101
3102 static inline __attribute__((always_inline)) int __cpulist_parse(const char *buf, cpumask_t *dstp, int nbits)
3103 {
3104 return bitmap_parselist(buf, dstp->bits, nbits);
3105 }
3106
3107
3108
3109 static inline __attribute__((always_inline)) int __cpu_remap(int oldbit,
3110 const cpumask_t *oldp, const cpumask_t *newp, int nbits)
3111 {
3112 return bitmap_bitremap(oldbit, oldp->bits, newp->bits, nbits);
3113 }
3114
3115
3116
3117 static inline __attribute__((always_inline)) void __cpus_remap(cpumask_t *dstp, const cpumask_t *srcp,
3118 const cpumask_t *oldp, const cpumask_t *newp, int nbits)
3119 {
3120 bitmap_remap(dstp->bits, srcp->bits, oldp->bits, newp->bits, nbits);
3121 }
3122 # 380 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/cpumask.h"
3123 extern cpumask_t cpu_possible_map;
3124 extern cpumask_t cpu_online_map;
3125 extern cpumask_t cpu_present_map;
3126 # 55 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
3127 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/errno.h" 1
3128
3129
3130
3131 # 1 "include2/asm/errno.h" 1
3132
3133
3134
3135 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/errno.h" 1
3136
3137
3138
3139 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/errno-base.h" 1
3140 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/errno.h" 2
3141 # 5 "include2/asm/errno.h" 2
3142 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/errno.h" 2
3143 # 56 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
3144 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/nodemask.h" 1
3145 # 86 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/nodemask.h"
3146 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/numa.h" 1
3147 # 87 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/nodemask.h" 2
3148
3149 typedef struct { unsigned long bits[((((1 << 0))+32 -1)/32)]; } nodemask_t;
3150 extern nodemask_t _unused_nodemask_arg_;
3151
3152
3153 static inline __attribute__((always_inline)) void __node_set(int node, volatile nodemask_t *dstp)
3154 {
3155 set_bit(node, dstp->bits);
3156 }
3157
3158
3159 static inline __attribute__((always_inline)) void __node_clear(int node, volatile nodemask_t *dstp)
3160 {
3161 clear_bit(node, dstp->bits);
3162 }
3163
3164
3165 static inline __attribute__((always_inline)) void __nodes_setall(nodemask_t *dstp, int nbits)
3166 {
3167 bitmap_fill(dstp->bits, nbits);
3168 }
3169
3170
3171 static inline __attribute__((always_inline)) void __nodes_clear(nodemask_t *dstp, int nbits)
3172 {
3173 bitmap_zero(dstp->bits, nbits);
3174 }
3175
3176
3177
3178
3179
3180
3181 static inline __attribute__((always_inline)) int __node_test_and_set(int node, nodemask_t *addr)
3182 {
3183 return test_and_set_bit(node, addr->bits);
3184 }
3185
3186
3187
3188 static inline __attribute__((always_inline)) void __nodes_and(nodemask_t *dstp, const nodemask_t *src1p,
3189 const nodemask_t *src2p, int nbits)
3190 {
3191 bitmap_and(dstp->bits, src1p->bits, src2p->bits, nbits);
3192 }
3193
3194
3195
3196 static inline __attribute__((always_inline)) void __nodes_or(nodemask_t *dstp, const nodemask_t *src1p,
3197 const nodemask_t *src2p, int nbits)
3198 {
3199 bitmap_or(dstp->bits, src1p->bits, src2p->bits, nbits);
3200 }
3201
3202
3203
3204 static inline __attribute__((always_inline)) void __nodes_xor(nodemask_t *dstp, const nodemask_t *src1p,
3205 const nodemask_t *src2p, int nbits)
3206 {
3207 bitmap_xor(dstp->bits, src1p->bits, src2p->bits, nbits);
3208 }
3209
3210
3211
3212 static inline __attribute__((always_inline)) void __nodes_andnot(nodemask_t *dstp, const nodemask_t *src1p,
3213 const nodemask_t *src2p, int nbits)
3214 {
3215 bitmap_andnot(dstp->bits, src1p->bits, src2p->bits, nbits);
3216 }
3217
3218
3219
3220 static inline __attribute__((always_inline)) void __nodes_complement(nodemask_t *dstp,
3221 const nodemask_t *srcp, int nbits)
3222 {
3223 bitmap_complement(dstp->bits, srcp->bits, nbits);
3224 }
3225
3226
3227
3228 static inline __attribute__((always_inline)) int __nodes_equal(const nodemask_t *src1p,
3229 const nodemask_t *src2p, int nbits)
3230 {
3231 return bitmap_equal(src1p->bits, src2p->bits, nbits);
3232 }
3233
3234
3235
3236 static inline __attribute__((always_inline)) int __nodes_intersects(const nodemask_t *src1p,
3237 const nodemask_t *src2p, int nbits)
3238 {
3239 return bitmap_intersects(src1p->bits, src2p->bits, nbits);
3240 }
3241
3242
3243
3244 static inline __attribute__((always_inline)) int __nodes_subset(const nodemask_t *src1p,
3245 const nodemask_t *src2p, int nbits)
3246 {
3247 return bitmap_subset(src1p->bits, src2p->bits, nbits);
3248 }
3249
3250
3251 static inline __attribute__((always_inline)) int __nodes_empty(const nodemask_t *srcp, int nbits)
3252 {
3253 return bitmap_empty(srcp->bits, nbits);
3254 }
3255
3256
3257 static inline __attribute__((always_inline)) int __nodes_full(const nodemask_t *srcp, int nbits)
3258 {
3259 return bitmap_full(srcp->bits, nbits);
3260 }
3261
3262
3263 static inline __attribute__((always_inline)) int __nodes_weight(const nodemask_t *srcp, int nbits)
3264 {
3265 return bitmap_weight(srcp->bits, nbits);
3266 }
3267
3268
3269
3270 static inline __attribute__((always_inline)) void __nodes_shift_right(nodemask_t *dstp,
3271 const nodemask_t *srcp, int n, int nbits)
3272 {
3273 bitmap_shift_right(dstp->bits, srcp->bits, n, nbits);
3274 }
3275
3276
3277
3278 static inline __attribute__((always_inline)) void __nodes_shift_left(nodemask_t *dstp,
3279 const nodemask_t *srcp, int n, int nbits)
3280 {
3281 bitmap_shift_left(dstp->bits, srcp->bits, n, nbits);
3282 }
3283
3284
3285
3286
3287
3288 static inline __attribute__((always_inline)) int __first_node(const nodemask_t *srcp)
3289 {
3290 return ({ int __x = ((1 << 0)); int __y = (find_next_bit((srcp->bits), ((1 << 0)), 0)); __x < __y ? __x: __y; });
3291 }
3292
3293
3294 static inline __attribute__((always_inline)) int __next_node(int n, const nodemask_t *srcp)
3295 {
3296 return ({ int __x = ((1 << 0)); int __y = (find_next_bit(srcp->bits, (1 << 0), n+1)); __x < __y ? __x: __y; });
3297 }
3298 # 251 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/nodemask.h"
3299 static inline __attribute__((always_inline)) int __first_unset_node(const nodemask_t *maskp)
3300 {
3301 return ({ int __x = ((1 << 0)); int __y = (find_next_zero_bit((maskp->bits), ((1 << 0)), 0)); __x < __y ? __x: __y; });
3302
3303 }
3304 # 285 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/nodemask.h"
3305 static inline __attribute__((always_inline)) int __nodemask_scnprintf(char *buf, int len,
3306 const nodemask_t *srcp, int nbits)
3307 {
3308 return bitmap_scnprintf(buf, len, srcp->bits, nbits);
3309 }
3310
3311
3312
3313 static inline __attribute__((always_inline)) int __nodemask_parse_user(const char *buf, int len,
3314 nodemask_t *dstp, int nbits)
3315 {
3316 return bitmap_parse_user(buf, len, dstp->bits, nbits);
3317 }
3318
3319
3320
3321 static inline __attribute__((always_inline)) int __nodelist_scnprintf(char *buf, int len,
3322 const nodemask_t *srcp, int nbits)
3323 {
3324 return bitmap_scnlistprintf(buf, len, srcp->bits, nbits);
3325 }
3326
3327
3328 static inline __attribute__((always_inline)) int __nodelist_parse(const char *buf, nodemask_t *dstp, int nbits)
3329 {
3330 return bitmap_parselist(buf, dstp->bits, nbits);
3331 }
3332
3333
3334
3335 static inline __attribute__((always_inline)) int __node_remap(int oldbit,
3336 const nodemask_t *oldp, const nodemask_t *newp, int nbits)
3337 {
3338 return bitmap_bitremap(oldbit, oldp->bits, newp->bits, nbits);
3339 }
3340
3341
3342
3343 static inline __attribute__((always_inline)) void __nodes_remap(nodemask_t *dstp, const nodemask_t *srcp,
3344 const nodemask_t *oldp, const nodemask_t *newp, int nbits)
3345 {
3346 bitmap_remap(dstp->bits, srcp->bits, oldp->bits, newp->bits, nbits);
3347 }
3348 # 345 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/nodemask.h"
3349 extern nodemask_t node_online_map;
3350 extern nodemask_t node_possible_map;
3351 # 57 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
3352
3353
3354 # 1 "include2/asm/semaphore.h" 1
3355 # 17 "include2/asm/semaphore.h"
3356 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem.h" 1
3357 # 19 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem.h"
3358 struct rw_semaphore;
3359
3360
3361 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem-spinlock.h" 1
3362 # 16 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem-spinlock.h"
3363 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h" 1
3364
3365
3366
3367
3368
3369
3370 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/poison.h" 1
3371 # 8 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h" 2
3372 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/prefetch.h" 1
3373 # 58 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/prefetch.h"
3374 static inline __attribute__((always_inline)) void prefetch_range(void *addr, size_t len)
3375 {
3376
3377 char *cp;
3378 char *end = addr + len;
3379
3380 for (cp = addr; cp < end; cp += (1 << 5))
3381 prefetch(cp);
3382
3383 }
3384 # 9 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h" 2
3385 # 21 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3386 struct list_head {
3387 struct list_head *next, *prev;
3388 };
3389
3390
3391
3392
3393
3394
3395 static inline __attribute__((always_inline)) void INIT_LIST_HEAD(struct list_head *list)
3396 {
3397 list->next = list;
3398 list->prev = list;
3399 }
3400 # 43 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3401 static inline __attribute__((always_inline)) void __list_add(struct list_head *new,
3402 struct list_head *prev,
3403 struct list_head *next)
3404 {
3405 next->prev = new;
3406 new->next = next;
3407 new->prev = prev;
3408 prev->next = new;
3409 }
3410 # 67 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3411 static inline __attribute__((always_inline)) void list_add(struct list_head *new, struct list_head *head)
3412 {
3413 __list_add(new, head, head->next);
3414 }
3415 # 84 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3416 static inline __attribute__((always_inline)) void list_add_tail(struct list_head *new, struct list_head *head)
3417 {
3418 __list_add(new, head->prev, head);
3419 }
3420
3421
3422
3423
3424
3425
3426
3427 static inline __attribute__((always_inline)) void __list_add_rcu(struct list_head * new,
3428 struct list_head * prev, struct list_head * next)
3429 {
3430 new->next = next;
3431 new->prev = prev;
3432 __asm__ __volatile__("": : :"memory");
3433 next->prev = new;
3434 prev->next = new;
3435 }
3436 # 121 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3437 static inline __attribute__((always_inline)) void list_add_rcu(struct list_head *new, struct list_head *head)
3438 {
3439 __list_add_rcu(new, head, head->next);
3440 }
3441 # 142 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3442 static inline __attribute__((always_inline)) void list_add_tail_rcu(struct list_head *new,
3443 struct list_head *head)
3444 {
3445 __list_add_rcu(new, head->prev, head);
3446 }
3447 # 155 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3448 static inline __attribute__((always_inline)) void __list_del(struct list_head * prev, struct list_head * next)
3449 {
3450 next->prev = prev;
3451 prev->next = next;
3452 }
3453 # 168 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3454 static inline __attribute__((always_inline)) void list_del(struct list_head *entry)
3455 {
3456 __list_del(entry->prev, entry->next);
3457 entry->next = ((void *) 0x00100100);
3458 entry->prev = ((void *) 0x00200200);
3459 }
3460 # 202 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3461 static inline __attribute__((always_inline)) void list_del_rcu(struct list_head *entry)
3462 {
3463 __list_del(entry->prev, entry->next);
3464 entry->prev = ((void *) 0x00200200);
3465 }
3466
3467
3468
3469
3470
3471
3472
3473 static inline __attribute__((always_inline)) void list_replace(struct list_head *old,
3474 struct list_head *new)
3475 {
3476 new->next = old->next;
3477 new->next->prev = new;
3478 new->prev = old->prev;
3479 new->prev->next = new;
3480 }
3481
3482 static inline __attribute__((always_inline)) void list_replace_init(struct list_head *old,
3483 struct list_head *new)
3484 {
3485 list_replace(old, new);
3486 INIT_LIST_HEAD(old);
3487 }
3488 # 238 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3489 static inline __attribute__((always_inline)) void list_replace_rcu(struct list_head *old,
3490 struct list_head *new)
3491 {
3492 new->next = old->next;
3493 new->prev = old->prev;
3494 __asm__ __volatile__("": : :"memory");
3495 new->next->prev = new;
3496 new->prev->next = new;
3497 old->prev = ((void *) 0x00200200);
3498 }
3499
3500
3501
3502
3503
3504 static inline __attribute__((always_inline)) void list_del_init(struct list_head *entry)
3505 {
3506 __list_del(entry->prev, entry->next);
3507 INIT_LIST_HEAD(entry);
3508 }
3509
3510
3511
3512
3513
3514
3515 static inline __attribute__((always_inline)) void list_move(struct list_head *list, struct list_head *head)
3516 {
3517 __list_del(list->prev, list->next);
3518 list_add(list, head);
3519 }
3520
3521
3522
3523
3524
3525
3526 static inline __attribute__((always_inline)) void list_move_tail(struct list_head *list,
3527 struct list_head *head)
3528 {
3529 __list_del(list->prev, list->next);
3530 list_add_tail(list, head);
3531 }
3532
3533
3534
3535
3536
3537
3538 static inline __attribute__((always_inline)) int list_is_last(const struct list_head *list,
3539 const struct list_head *head)
3540 {
3541 return list->next == head;
3542 }
3543
3544
3545
3546
3547
3548 static inline __attribute__((always_inline)) int list_empty(const struct list_head *head)
3549 {
3550 return head->next == head;
3551 }
3552 # 315 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3553 static inline __attribute__((always_inline)) int list_empty_careful(const struct list_head *head)
3554 {
3555 struct list_head *next = head->next;
3556 return (next == head) && (next == head->prev);
3557 }
3558
3559 static inline __attribute__((always_inline)) void __list_splice(struct list_head *list,
3560 struct list_head *head)
3561 {
3562 struct list_head *first = list->next;
3563 struct list_head *last = list->prev;
3564 struct list_head *at = head->next;
3565
3566 first->prev = head;
3567 head->next = first;
3568
3569 last->next = at;
3570 at->prev = last;
3571 }
3572
3573
3574
3575
3576
3577
3578 static inline __attribute__((always_inline)) void list_splice(struct list_head *list, struct list_head *head)
3579 {
3580 if (!list_empty(list))
3581 __list_splice(list, head);
3582 }
3583 # 353 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3584 static inline __attribute__((always_inline)) void list_splice_init(struct list_head *list,
3585 struct list_head *head)
3586 {
3587 if (!list_empty(list)) {
3588 __list_splice(list, head);
3589 INIT_LIST_HEAD(list);
3590 }
3591 }
3592 # 607 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3593 struct hlist_head {
3594 struct hlist_node *first;
3595 };
3596
3597 struct hlist_node {
3598 struct hlist_node *next, **pprev;
3599 };
3600
3601
3602
3603
3604 static inline __attribute__((always_inline)) void INIT_HLIST_NODE(struct hlist_node *h)
3605 {
3606 h->next = ((void *)0);
3607 h->pprev = ((void *)0);
3608 }
3609
3610 static inline __attribute__((always_inline)) int hlist_unhashed(const struct hlist_node *h)
3611 {
3612 return !h->pprev;
3613 }
3614
3615 static inline __attribute__((always_inline)) int hlist_empty(const struct hlist_head *h)
3616 {
3617 return !h->first;
3618 }
3619
3620 static inline __attribute__((always_inline)) void __hlist_del(struct hlist_node *n)
3621 {
3622 struct hlist_node *next = n->next;
3623 struct hlist_node **pprev = n->pprev;
3624 *pprev = next;
3625 if (next)
3626 next->pprev = pprev;
3627 }
3628
3629 static inline __attribute__((always_inline)) void hlist_del(struct hlist_node *n)
3630 {
3631 __hlist_del(n);
3632 n->next = ((void *) 0x00100100);
3633 n->pprev = ((void *) 0x00200200);
3634 }
3635 # 669 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3636 static inline __attribute__((always_inline)) void hlist_del_rcu(struct hlist_node *n)
3637 {
3638 __hlist_del(n);
3639 n->pprev = ((void *) 0x00200200);
3640 }
3641
3642 static inline __attribute__((always_inline)) void hlist_del_init(struct hlist_node *n)
3643 {
3644 if (!hlist_unhashed(n)) {
3645 __hlist_del(n);
3646 INIT_HLIST_NODE(n);
3647 }
3648 }
3649 # 690 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3650 static inline __attribute__((always_inline)) void hlist_replace_rcu(struct hlist_node *old,
3651 struct hlist_node *new)
3652 {
3653 struct hlist_node *next = old->next;
3654
3655 new->next = next;
3656 new->pprev = old->pprev;
3657 __asm__ __volatile__("": : :"memory");
3658 if (next)
3659 new->next->pprev = &new->next;
3660 *new->pprev = new;
3661 old->pprev = ((void *) 0x00200200);
3662 }
3663
3664 static inline __attribute__((always_inline)) void hlist_add_head(struct hlist_node *n, struct hlist_head *h)
3665 {
3666 struct hlist_node *first = h->first;
3667 n->next = first;
3668 if (first)
3669 first->pprev = &n->next;
3670 h->first = n;
3671 n->pprev = &h->first;
3672 }
3673 # 734 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3674 static inline __attribute__((always_inline)) void hlist_add_head_rcu(struct hlist_node *n,
3675 struct hlist_head *h)
3676 {
3677 struct hlist_node *first = h->first;
3678 n->next = first;
3679 n->pprev = &h->first;
3680 __asm__ __volatile__("": : :"memory");
3681 if (first)
3682 first->pprev = &n->next;
3683 h->first = n;
3684 }
3685
3686
3687 static inline __attribute__((always_inline)) void hlist_add_before(struct hlist_node *n,
3688 struct hlist_node *next)
3689 {
3690 n->pprev = next->pprev;
3691 n->next = next;
3692 next->pprev = &n->next;
3693 *(n->pprev) = n;
3694 }
3695
3696 static inline __attribute__((always_inline)) void hlist_add_after(struct hlist_node *n,
3697 struct hlist_node *next)
3698 {
3699 next->next = n->next;
3700 n->next = next;
3701 next->pprev = &n->next;
3702
3703 if(next->next)
3704 next->next->pprev = &next->next;
3705 }
3706 # 785 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3707 static inline __attribute__((always_inline)) void hlist_add_before_rcu(struct hlist_node *n,
3708 struct hlist_node *next)
3709 {
3710 n->pprev = next->pprev;
3711 n->next = next;
3712 __asm__ __volatile__("": : :"memory");
3713 next->pprev = &n->next;
3714 *(n->pprev) = n;
3715 }
3716 # 813 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/list.h"
3717 static inline __attribute__((always_inline)) void hlist_add_after_rcu(struct hlist_node *prev,
3718 struct hlist_node *n)
3719 {
3720 n->next = prev->next;
3721 n->pprev = &prev->next;
3722 __asm__ __volatile__("": : :"memory");
3723 prev->next = n;
3724 if (n->next)
3725 n->next->pprev = &n->next;
3726 }
3727 # 17 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem-spinlock.h" 2
3728
3729
3730
3731
3732
3733 struct rwsem_waiter;
3734 # 31 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem-spinlock.h"
3735 struct rw_semaphore {
3736 __s32 activity;
3737 spinlock_t wait_lock;
3738 struct list_head wait_list;
3739
3740
3741
3742 };
3743 # 52 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem-spinlock.h"
3744 extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
3745 struct lock_class_key *key);
3746 # 62 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem-spinlock.h"
3747 extern void __down_read(struct rw_semaphore *sem);
3748 extern int __down_read_trylock(struct rw_semaphore *sem);
3749 extern void __down_write(struct rw_semaphore *sem);
3750 extern void __down_write_nested(struct rw_semaphore *sem, int subclass);
3751 extern int __down_write_trylock(struct rw_semaphore *sem);
3752 extern void __up_read(struct rw_semaphore *sem);
3753 extern void __up_write(struct rw_semaphore *sem);
3754 extern void __downgrade_write(struct rw_semaphore *sem);
3755
3756 static inline __attribute__((always_inline)) int rwsem_is_locked(struct rw_semaphore *sem)
3757 {
3758 return (sem->activity != 0);
3759 }
3760 # 23 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/rwsem.h" 2
3761
3762
3763
3764
3765
3766
3767
3768 extern void down_read(struct rw_semaphore *sem);
3769
3770
3771
3772
3773 extern int down_read_trylock(struct rw_semaphore *sem);
3774
3775
3776
3777
3778 extern void down_write(struct rw_semaphore *sem);
3779
3780
3781
3782
3783 extern int down_write_trylock(struct rw_semaphore *sem);
3784
3785
3786
3787
3788 extern void up_read(struct rw_semaphore *sem);
3789
3790
3791
3792
3793 extern void up_write(struct rw_semaphore *sem);
3794
3795
3796
3797
3798 extern void downgrade_write(struct rw_semaphore *sem);
3799 # 18 "include2/asm/semaphore.h" 2
3800 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/wait.h" 1
3801 # 28 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/wait.h"
3802 typedef struct __wait_queue wait_queue_t;
3803 typedef int (*wait_queue_func_t)(wait_queue_t *wait, unsigned mode, int sync, void *key);
3804 int default_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
3805
3806 struct __wait_queue {
3807 unsigned int flags;
3808
3809 void *private;
3810 wait_queue_func_t func;
3811 struct list_head task_list;
3812 };
3813
3814 struct wait_bit_key {
3815 void *flags;
3816 int bit_nr;
3817 };
3818
3819 struct wait_bit_queue {
3820 struct wait_bit_key key;
3821 wait_queue_t wait;
3822 };
3823
3824 struct __wait_queue_head {
3825 spinlock_t lock;
3826 struct list_head task_list;
3827 };
3828 typedef struct __wait_queue_head wait_queue_head_t;
3829
3830 struct task_struct;
3831 # 80 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/wait.h"
3832 extern void init_waitqueue_head(wait_queue_head_t *q);
3833
3834 static inline __attribute__((always_inline)) void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p)
3835 {
3836 q->flags = 0;
3837 q->private = p;
3838 q->func = default_wake_function;
3839 }
3840
3841 static inline __attribute__((always_inline)) void init_waitqueue_func_entry(wait_queue_t *q,
3842 wait_queue_func_t func)
3843 {
3844 q->flags = 0;
3845 q->private = ((void *)0);
3846 q->func = func;
3847 }
3848
3849 static inline __attribute__((always_inline)) int waitqueue_active(wait_queue_head_t *q)
3850 {
3851 return !list_empty(&q->task_list);
3852 }
3853 # 111 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/wait.h"
3854 extern void add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait);
3855 extern void add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait);
3856 extern void remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait);
3857
3858 static inline __attribute__((always_inline)) void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new)
3859 {
3860 list_add(&new->task_list, &head->task_list);
3861 }
3862
3863
3864
3865
3866 static inline __attribute__((always_inline)) void __add_wait_queue_tail(wait_queue_head_t *head,
3867 wait_queue_t *new)
3868 {
3869 list_add_tail(&new->task_list, &head->task_list);
3870 }
3871
3872 static inline __attribute__((always_inline)) void __remove_wait_queue(wait_queue_head_t *head,
3873 wait_queue_t *old)
3874 {
3875 list_del(&old->task_list);
3876 }
3877
3878 void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key);
3879 extern void __wake_up_locked(wait_queue_head_t *q, unsigned int mode);
3880 extern void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr);
3881 void __wake_up_bit(wait_queue_head_t *, void *, int);
3882 int __wait_on_bit(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned);
3883 int __wait_on_bit_lock(wait_queue_head_t *, struct wait_bit_queue *, int (*)(void *), unsigned);
3884 void wake_up_bit(void *, int);
3885 int out_of_line_wait_on_bit(void *, int, int (*)(void *), unsigned);
3886 int out_of_line_wait_on_bit_lock(void *, int, int (*)(void *), unsigned);
3887 wait_queue_head_t *bit_waitqueue(void *, int);
3888 # 342 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/wait.h"
3889 static inline __attribute__((always_inline)) void add_wait_queue_exclusive_locked(wait_queue_head_t *q,
3890 wait_queue_t * wait)
3891 {
3892 wait->flags |= 0x01;
3893 __add_wait_queue_tail(q, wait);
3894 }
3895
3896
3897
3898
3899 static inline __attribute__((always_inline)) void remove_wait_queue_locked(wait_queue_head_t *q,
3900 wait_queue_t * wait)
3901 {
3902 __remove_wait_queue(q, wait);
3903 }
3904
3905
3906
3907
3908
3909
3910 extern void sleep_on(wait_queue_head_t *q);
3911 extern long sleep_on_timeout(wait_queue_head_t *q, signed long timeout);
3912
3913 extern void interruptible_sleep_on(wait_queue_head_t *q);
3914 extern long interruptible_sleep_on_timeout(wait_queue_head_t *q, signed long timeout);
3915
3916
3917
3918
3919
3920 void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state);
3921
3922 void prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state);
3923
3924 void finish_wait(wait_queue_head_t *q, wait_queue_t *wait);
3925 int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
3926 int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
3927 # 420 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/wait.h"
3928 static inline __attribute__((always_inline)) int wait_on_bit(void *word, int bit,
3929 int (*action)(void *), unsigned mode)
3930 {
3931 if (!test_bit(bit, word))
3932 return 0;
3933 return out_of_line_wait_on_bit(word, bit, action, mode);
3934 }
3935 # 444 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/wait.h"
3936 static inline __attribute__((always_inline)) int wait_on_bit_lock(void *word, int bit,
3937 int (*action)(void *), unsigned mode)
3938 {
3939 if (!test_and_set_bit(bit, word))
3940 return 0;
3941 return out_of_line_wait_on_bit_lock(word, bit, action, mode);
3942 }
3943 # 19 "include2/asm/semaphore.h" 2
3944
3945
3946
3947
3948 struct semaphore {
3949 atomic_t count;
3950 int sleepers;
3951 wait_queue_head_t wait;
3952 };
3953 # 42 "include2/asm/semaphore.h"
3954 static inline __attribute__((always_inline)) void sema_init (struct semaphore *sem, int val)
3955 {
3956
3957
3958
3959
3960
3961
3962 ((&sem->count)->counter = (val));
3963 sem->sleepers = 0;
3964 init_waitqueue_head(&sem->wait);
3965 }
3966
3967 static inline __attribute__((always_inline)) void init_MUTEX (struct semaphore *sem)
3968 {
3969 sema_init(sem, 1);
3970 }
3971
3972 static inline __attribute__((always_inline)) void init_MUTEX_LOCKED (struct semaphore *sem)
3973 {
3974 sema_init(sem, 0);
3975 }
3976 # 72 "include2/asm/semaphore.h"
3977 void __down(struct semaphore * sem);
3978 int __down_interruptible(struct semaphore * sem);
3979 int __down_trylock(struct semaphore * sem);
3980 void __up(struct semaphore * sem);
3981
3982 extern spinlock_t semaphore_wake_lock;
3983
3984 static inline __attribute__((always_inline)) void down(struct semaphore * sem)
3985 {
3986 do { do { } while (0); } while (0);
3987 if (atomic_sub_return(1,(&sem->count)) < 0)
3988 __down(sem);
3989 }
3990
3991 static inline __attribute__((always_inline)) int down_interruptible(struct semaphore * sem)
3992 {
3993 int ret = 0;
3994
3995 do { do { } while (0); } while (0);
3996 if (atomic_sub_return(1,(&sem->count)) < 0)
3997 ret = __down_interruptible(sem);
3998 return ret;
3999 }
4000
4001 static inline __attribute__((always_inline)) int down_trylock(struct semaphore * sem)
4002 {
4003 int ret = 0;
4004
4005 if (atomic_sub_return(1,(&sem->count)) < 0)
4006 ret = __down_trylock(sem);
4007 return ret;
4008 }
4009
4010
4011
4012
4013
4014 static inline __attribute__((always_inline)) void up(struct semaphore * sem)
4015 {
4016 if (atomic_add_return(1,(&sem->count)) <= 0)
4017 __up(sem);
4018 }
4019 # 60 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
4020
4021
4022 # 1 "include2/asm/mmu.h" 1
4023 # 14 "include2/asm/mmu.h"
4024 typedef unsigned long mm_context_id_t;
4025
4026 typedef struct {
4027 mm_context_id_t id;
4028 void *vdso;
4029 } mm_context_t;
4030 # 47 "include2/asm/mmu.h"
4031 struct pmb_entry;
4032
4033 struct pmb_entry {
4034 unsigned long vpn;
4035 unsigned long ppn;
4036 unsigned long flags;
4037
4038
4039
4040
4041
4042 int entry;
4043
4044 struct pmb_entry *next;
4045
4046 struct pmb_entry *link;
4047 };
4048
4049
4050 int __set_pmb_entry(unsigned long vpn, unsigned long ppn,
4051 unsigned long flags, int *entry);
4052 int set_pmb_entry(struct pmb_entry *pmbe);
4053 void clear_pmb_entry(struct pmb_entry *pmbe);
4054 struct pmb_entry *pmb_alloc(unsigned long vpn, unsigned long ppn,
4055 unsigned long flags);
4056 void pmb_free(struct pmb_entry *pmbe);
4057 long pmb_remap(unsigned long virt, unsigned long phys,
4058 unsigned long size, unsigned long flags);
4059 void pmb_unmap(unsigned long addr);
4060 # 63 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
4061 # 1 "include2/asm/cputime.h" 1
4062
4063
4064
4065 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/cputime.h" 1
4066
4067
4068
4069
4070
4071
4072 typedef unsigned long cputime_t;
4073 # 23 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/cputime.h"
4074 typedef u64 cputime64_t;
4075 # 5 "include2/asm/cputime.h" 2
4076 # 64 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
4077
4078 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/smp.h" 1
4079 # 10 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/smp.h"
4080 extern void cpu_idle(void);
4081 # 87 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/smp.h"
4082 static inline __attribute__((always_inline)) int up_smp_call_function(void)
4083 {
4084 return 0;
4085 }
4086 # 99 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/smp.h"
4087 static inline __attribute__((always_inline)) void smp_send_reschedule(int cpu) { }
4088 # 131 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/smp.h"
4089 void smp_setup_processor_id(void);
4090 # 66 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
4091 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sem.h" 1
4092
4093
4094
4095 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/ipc.h" 1
4096 # 9 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/ipc.h"
4097 struct ipc_perm
4098 {
4099 __kernel_key_t key;
4100 __kernel_uid_t uid;
4101 __kernel_gid_t gid;
4102 __kernel_uid_t cuid;
4103 __kernel_gid_t cgid;
4104 __kernel_mode_t mode;
4105 unsigned short seq;
4106 };
4107
4108
4109 # 1 "include2/asm/ipcbuf.h" 1
4110 # 14 "include2/asm/ipcbuf.h"
4111 struct ipc64_perm
4112 {
4113 __kernel_key_t key;
4114 __kernel_uid32_t uid;
4115 __kernel_gid32_t gid;
4116 __kernel_uid32_t cuid;
4117 __kernel_gid32_t cgid;
4118 __kernel_mode_t mode;
4119 unsigned short __pad1;
4120 unsigned short seq;
4121 unsigned short __pad2;
4122 unsigned long __unused1;
4123 unsigned long __unused2;
4124 };
4125 # 22 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/ipc.h" 2
4126 # 54 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/ipc.h"
4127 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kref.h" 1
4128 # 23 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/kref.h"
4129 struct kref {
4130 atomic_t refcount;
4131 };
4132
4133 void kref_init(struct kref *kref);
4134 void kref_get(struct kref *kref);
4135 int kref_put(struct kref *kref, void (*release) (struct kref *kref));
4136 # 55 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/ipc.h" 2
4137
4138
4139
4140
4141 struct kern_ipc_perm
4142 {
4143 spinlock_t lock;
4144 int deleted;
4145 key_t key;
4146 uid_t uid;
4147 gid_t gid;
4148 uid_t cuid;
4149 gid_t cgid;
4150 mode_t mode;
4151 unsigned long seq;
4152 void *security;
4153 };
4154
4155 struct ipc_ids;
4156 struct ipc_namespace {
4157 struct kref kref;
4158 struct ipc_ids *ids[3];
4159
4160 int sem_ctls[4];
4161 int used_sems;
4162
4163 int msg_ctlmax;
4164 int msg_ctlmnb;
4165 int msg_ctlmni;
4166
4167 size_t shm_ctlmax;
4168 size_t shm_ctlall;
4169 int shm_ctlmni;
4170 int shm_tot;
4171 };
4172
4173 extern struct ipc_namespace init_ipc_ns;
4174 # 104 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/ipc.h"
4175 static inline __attribute__((always_inline)) int copy_ipcs(unsigned long flags, struct task_struct *tsk)
4176 {
4177 return 0;
4178 }
4179
4180
4181 static inline __attribute__((always_inline)) struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns)
4182 {
4183
4184
4185
4186
4187 return ns;
4188 }
4189
4190 static inline __attribute__((always_inline)) void put_ipc_ns(struct ipc_namespace *ns)
4191 {
4192
4193
4194
4195 }
4196 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sem.h" 2
4197 # 23 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sem.h"
4198 struct semid_ds {
4199 struct ipc_perm sem_perm;
4200 __kernel_time_t sem_otime;
4201 __kernel_time_t sem_ctime;
4202 struct sem *sem_base;
4203 struct sem_queue *sem_pending;
4204 struct sem_queue **sem_pending_last;
4205 struct sem_undo *undo;
4206 unsigned short sem_nsems;
4207 };
4208
4209
4210 # 1 "include2/asm/sembuf.h" 1
4211 # 14 "include2/asm/sembuf.h"
4212 struct semid64_ds {
4213 struct ipc64_perm sem_perm;
4214 __kernel_time_t sem_otime;
4215 unsigned long __unused1;
4216 __kernel_time_t sem_ctime;
4217 unsigned long __unused2;
4218 unsigned long sem_nsems;
4219 unsigned long __unused3;
4220 unsigned long __unused4;
4221 };
4222 # 36 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sem.h" 2
4223
4224
4225 struct sembuf {
4226 unsigned short sem_num;
4227 short sem_op;
4228 short sem_flg;
4229 };
4230
4231
4232 union semun {
4233 int val;
4234 struct semid_ds *buf;
4235 unsigned short *array;
4236 struct seminfo *__buf;
4237 void *__pad;
4238 };
4239
4240 struct seminfo {
4241 int semmap;
4242 int semmni;
4243 int semmns;
4244 int semmnu;
4245 int semmsl;
4246 int semopm;
4247 int semume;
4248 int semusz;
4249 int semvmx;
4250 int semaem;
4251 };
4252 # 82 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sem.h"
4253 struct task_struct;
4254
4255
4256 struct sem {
4257 int semval;
4258 int sempid;
4259 };
4260
4261
4262 struct sem_array {
4263 struct kern_ipc_perm sem_perm;
4264 int sem_id;
4265 time_t sem_otime;
4266 time_t sem_ctime;
4267 struct sem *sem_base;
4268 struct sem_queue *sem_pending;
4269 struct sem_queue **sem_pending_last;
4270 struct sem_undo *undo;
4271 unsigned long sem_nsems;
4272 };
4273
4274
4275 struct sem_queue {
4276 struct sem_queue * next;
4277 struct sem_queue ** prev;
4278 struct task_struct* sleeper;
4279 struct sem_undo * undo;
4280 int pid;
4281 int status;
4282 struct sem_array * sma;
4283 int id;
4284 struct sembuf * sops;
4285 int nsops;
4286 int alter;
4287 };
4288
4289
4290
4291
4292 struct sem_undo {
4293 struct sem_undo * proc_next;
4294 struct sem_undo * id_next;
4295 int semid;
4296 short * semadj;
4297 };
4298
4299
4300
4301
4302 struct sem_undo_list {
4303 atomic_t refcnt;
4304 spinlock_t lock;
4305 struct sem_undo *proc_list;
4306 };
4307
4308 struct sysv_sem {
4309 struct sem_undo_list *undo_list;
4310 };
4311
4312
4313
4314 extern int copy_semundo(unsigned long clone_flags, struct task_struct *tsk);
4315 extern void exit_sem(struct task_struct *tsk);
4316 # 67 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/sched.h" 2
4317 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/signal.h" 1
4318
4319
4320
4321 # 1 "include2/asm/signal.h" 1
4322
4323
4324
4325
4326
4327
4328 struct pt_regs;
4329 struct siginfo;
4330 # 18 "include2/asm/signal.h"
4331 typedef unsigned long old_sigset_t;
4332
4333 typedef struct {
4334 unsigned long sig[(64 / 32)];
4335 } sigset_t;
4336 # 109 "include2/asm/signal.h"
4337 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/signal.h" 1
4338 # 17 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/signal.h"
4339 typedef void __signalfn_t(int);
4340 typedef __signalfn_t *__sighandler_t;
4341
4342 typedef void __restorefn_t(void);
4343 typedef __restorefn_t *__sigrestore_t;
4344 # 110 "include2/asm/signal.h" 2
4345
4346
4347 struct old_sigaction {
4348 __sighandler_t sa_handler;
4349 old_sigset_t sa_mask;
4350 unsigned long sa_flags;
4351 void (*sa_restorer)(void);
4352 };
4353
4354 struct sigaction {
4355 __sighandler_t sa_handler;
4356 unsigned long sa_flags;
4357 void (*sa_restorer)(void);
4358 sigset_t sa_mask;
4359 };
4360
4361 struct k_sigaction {
4362 struct sigaction sa;
4363 };
4364 # 147 "include2/asm/signal.h"
4365 typedef struct sigaltstack {
4366 void *ss_sp;
4367 int ss_flags;
4368 size_t ss_size;
4369 } stack_t;
4370
4371
4372 # 1 "include2/asm/sigcontext.h" 1
4373
4374
4375
4376 struct sigcontext {
4377 unsigned long oldmask;
4378
4379
4380 unsigned long sc_regs[16];
4381 unsigned long sc_pc;
4382 unsigned long sc_pr;
4383 unsigned long sc_sr;
4384 unsigned long sc_gbr;
4385 unsigned long sc_mach;
4386 unsigned long sc_macl;
4387
4388
4389
4390 unsigned long sc_fpregs[16];
4391 unsigned long sc_xfpregs[16];
4392 unsigned int sc_fpscr;
4393 unsigned int sc_fpul;
4394 unsigned int sc_ownedfp;
4395
4396 };
4397 # 155 "include2/asm/signal.h" 2
4398 # 5 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/signal.h" 2
4399 # 1 "include2/asm/siginfo.h" 1
4400
4401
4402
4403 # 1 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/siginfo.h" 1
4404
4405
4406
4407
4408
4409
4410 typedef union sigval {
4411 int sival_int;
4412 void *sival_ptr;
4413 } sigval_t;
4414 # 40 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/siginfo.h"
4415 typedef struct siginfo {
4416 int si_signo;
4417 int si_errno;
4418 int si_code;
4419
4420 union {
4421 int _pad[((128 - (3 * sizeof(int))) / sizeof(int))];
4422
4423
4424 struct {
4425 pid_t _pid;
4426 uid_t _uid;
4427 } _kill;
4428
4429
4430 struct {
4431 timer_t _tid;
4432 int _overrun;
4433 char _pad[sizeof( uid_t) - sizeof(int)];
4434 sigval_t _sigval;
4435 int _sys_private;
4436 } _timer;
4437
4438
4439 struct {
4440 pid_t _pid;
4441 uid_t _uid;
4442 sigval_t _sigval;
4443 } _rt;
4444
4445
4446 struct {
4447 pid_t _pid;
4448 uid_t _uid;
4449 int _status;
4450 clock_t _utime;
4451 clock_t _stime;
4452 } _sigchld;
4453
4454
4455 struct {
4456 void *_addr;
4457
4458
4459
4460 } _sigfault;
4461
4462
4463 struct {
4464 long _band;
4465 int _fd;
4466 } _sigpoll;
4467 } _sifields;
4468 } siginfo_t;
4469 # 251 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/asm-generic/siginfo.h"
4470 typedef struct sigevent {
4471 sigval_t sigev_value;
4472 int sigev_signo;
4473 int sigev_notify;
4474 union {
4475 int _pad[((64 - (sizeof(int) * 2 + sizeof(sigval_t))) / sizeof(int))];
4476 int _tid;
4477
4478 struct {
4479 void (*_function)(sigval_t);
4480 void *_attribute;
4481 } _sigev_thread;
4482 } _sigev_un;
4483 } sigevent_t;
4484
4485
4486
4487
4488
4489
4490
4491 struct siginfo;
4492 void do_schedule_next_timer(struct siginfo *info);
4493
4494
4495
4496
4497
4498 static inline __attribute__((always_inline)) void copy_siginfo(struct siginfo *to, struct siginfo *from)
4499 {
4500 if (from->si_code < 0)
4501 memcpy(to, from, sizeof(*to));
4502 else
4503
4504 memcpy(to, from, (3 * sizeof(int)) + sizeof(from->_sifields._sigchld));
4505 }
4506
4507
4508
4509 extern int copy_siginfo_to_user(struct siginfo *to, struct siginfo *from);
4510 # 5 "include2/asm/siginfo.h" 2
4511 # 6 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/signal.h" 2
4512 # 15 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/signal.h"
4513 struct sigqueue {
4514 struct list_head list;
4515 int flags;
4516 siginfo_t info;
4517 struct user_struct *user;
4518 };
4519
4520
4521
4522
4523 struct sigpending {
4524 struct list_head list;
4525 sigset_t signal;
4526 };
4527 # 39 "/mnt/data/_home/mano/linuxsh/kernel/linux-2.6.19-rc2-work/include/linux/signal.h"
4528 static inline __attribute__((always_inline)) void sigaddset(sigset_t *set, int _sig)
4529 {
4530 unsigned long sig = _sig - 1;
4531 if ((64 / 32) == 1)
4532 set->sig[0] |= 1UL << sig;
4533 else
4534 set->sig[sig / 32] |= 1UL << (sig % 32);
4535 }
4536
4537 static inline __attribute__((always_inline)) void sigdelset(sigset_t *set, int _sig)
4538 {
4539 unsigned long sig = _sig - 1;
4540 if ((64 / 32) == 1)
4541 set->sig[0] &= ~(1UL << sig);
4542 else
4543 set->sig[sig / 32] &= ~(1UL << (sig % 32));
4544 }
4545
4546 static inline __attribute__((always_inline)) int sigismember(sigset_t *set, int _sig)
4547 {
4548 unsigned long sig = _sig - 1;
4549 if ((64 / 32) == 1)
4550 return 1 & (set->sig[0] >> sig);
4551 else
4552 return 1 & (set->sig[sig / 32] >> (sig % 32));
4553 }
4554
4555 static inline __attribute__((always_inline)) int sigfindinword(unsigned long word)