1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 45 "include/asm-generic/int-ll64.h"
23typedef short s16;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 14 "include/asm-generic/posix_types.h"
35typedef long __kernel_long_t;
36#line 15 "include/asm-generic/posix_types.h"
37typedef unsigned long __kernel_ulong_t;
38#line 31 "include/asm-generic/posix_types.h"
39typedef int __kernel_pid_t;
40#line 52 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_uid32_t;
42#line 53 "include/asm-generic/posix_types.h"
43typedef unsigned int __kernel_gid32_t;
44#line 75 "include/asm-generic/posix_types.h"
45typedef __kernel_ulong_t __kernel_size_t;
46#line 76 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_ssize_t;
48#line 91 "include/asm-generic/posix_types.h"
49typedef long long __kernel_loff_t;
50#line 92 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_time_t;
52#line 93 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_clock_t;
54#line 94 "include/asm-generic/posix_types.h"
55typedef int __kernel_timer_t;
56#line 95 "include/asm-generic/posix_types.h"
57typedef int __kernel_clockid_t;
58#line 96 "include/asm-generic/posix_types.h"
59typedef char *__kernel_caddr_t;
60#line 21 "include/linux/types.h"
61typedef __u32 __kernel_dev_t;
62#line 24 "include/linux/types.h"
63typedef __kernel_dev_t dev_t;
64#line 27 "include/linux/types.h"
65typedef unsigned short umode_t;
66#line 30 "include/linux/types.h"
67typedef __kernel_pid_t pid_t;
68#line 35 "include/linux/types.h"
69typedef __kernel_clockid_t clockid_t;
70#line 38 "include/linux/types.h"
71typedef _Bool bool;
72#line 40 "include/linux/types.h"
73typedef __kernel_uid32_t uid_t;
74#line 41 "include/linux/types.h"
75typedef __kernel_gid32_t gid_t;
76#line 54 "include/linux/types.h"
77typedef __kernel_loff_t loff_t;
78#line 63 "include/linux/types.h"
79typedef __kernel_size_t size_t;
80#line 68 "include/linux/types.h"
81typedef __kernel_ssize_t ssize_t;
82#line 78 "include/linux/types.h"
83typedef __kernel_time_t time_t;
84#line 88 "include/linux/types.h"
85typedef __kernel_caddr_t caddr_t;
86#line 92 "include/linux/types.h"
87typedef unsigned char u_char;
88#line 95 "include/linux/types.h"
89typedef unsigned long u_long;
90#line 111 "include/linux/types.h"
91typedef __s32 int32_t;
92#line 115 "include/linux/types.h"
93typedef __u8 uint8_t;
94#line 116 "include/linux/types.h"
95typedef __u16 uint16_t;
96#line 117 "include/linux/types.h"
97typedef __u32 uint32_t;
98#line 120 "include/linux/types.h"
99typedef __u64 uint64_t;
100#line 142 "include/linux/types.h"
101typedef unsigned long sector_t;
102#line 143 "include/linux/types.h"
103typedef unsigned long blkcnt_t;
104#line 202 "include/linux/types.h"
105typedef unsigned int gfp_t;
106#line 203 "include/linux/types.h"
107typedef unsigned int fmode_t;
108#line 206 "include/linux/types.h"
109typedef u64 phys_addr_t;
110#line 211 "include/linux/types.h"
111typedef phys_addr_t resource_size_t;
112#line 219 "include/linux/types.h"
113struct __anonstruct_atomic_t_7 {
114 int counter ;
115};
116#line 219 "include/linux/types.h"
117typedef struct __anonstruct_atomic_t_7 atomic_t;
118#line 224 "include/linux/types.h"
119struct __anonstruct_atomic64_t_8 {
120 long counter ;
121};
122#line 224 "include/linux/types.h"
123typedef struct __anonstruct_atomic64_t_8 atomic64_t;
124#line 229 "include/linux/types.h"
125struct list_head {
126 struct list_head *next ;
127 struct list_head *prev ;
128};
129#line 233
130struct hlist_node;
131#line 233 "include/linux/types.h"
132struct hlist_head {
133 struct hlist_node *first ;
134};
135#line 237 "include/linux/types.h"
136struct hlist_node {
137 struct hlist_node *next ;
138 struct hlist_node **pprev ;
139};
140#line 253 "include/linux/types.h"
141struct rcu_head {
142 struct rcu_head *next ;
143 void (*func)(struct rcu_head *head ) ;
144};
145#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
146typedef u16 __ticket_t;
147#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
148typedef u32 __ticketpair_t;
149#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
150struct __raw_tickets {
151 __ticket_t head ;
152 __ticket_t tail ;
153};
154#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
155union __anonunion____missing_field_name_9 {
156 __ticketpair_t head_tail ;
157 struct __raw_tickets tickets ;
158};
159#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
160struct arch_spinlock {
161 union __anonunion____missing_field_name_9 __annonCompField4 ;
162};
163#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
164typedef struct arch_spinlock arch_spinlock_t;
165#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
166struct __anonstruct____missing_field_name_11 {
167 u32 read ;
168 s32 write ;
169};
170#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
171union __anonunion_arch_rwlock_t_10 {
172 s64 lock ;
173 struct __anonstruct____missing_field_name_11 __annonCompField5 ;
174};
175#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
176typedef union __anonunion_arch_rwlock_t_10 arch_rwlock_t;
177#line 12 "include/linux/lockdep.h"
178struct task_struct;
179#line 12
180struct task_struct;
181#line 391 "include/linux/lockdep.h"
182struct lock_class_key {
183
184};
185#line 20 "include/linux/spinlock_types.h"
186struct raw_spinlock {
187 arch_spinlock_t raw_lock ;
188 unsigned int magic ;
189 unsigned int owner_cpu ;
190 void *owner ;
191};
192#line 20 "include/linux/spinlock_types.h"
193typedef struct raw_spinlock raw_spinlock_t;
194#line 64 "include/linux/spinlock_types.h"
195union __anonunion____missing_field_name_12 {
196 struct raw_spinlock rlock ;
197};
198#line 64 "include/linux/spinlock_types.h"
199struct spinlock {
200 union __anonunion____missing_field_name_12 __annonCompField6 ;
201};
202#line 64 "include/linux/spinlock_types.h"
203typedef struct spinlock spinlock_t;
204#line 11 "include/linux/rwlock_types.h"
205struct __anonstruct_rwlock_t_13 {
206 arch_rwlock_t raw_lock ;
207 unsigned int magic ;
208 unsigned int owner_cpu ;
209 void *owner ;
210};
211#line 11 "include/linux/rwlock_types.h"
212typedef struct __anonstruct_rwlock_t_13 rwlock_t;
213#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
214struct task_struct;
215#line 8
216struct mm_struct;
217#line 8
218struct mm_struct;
219#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
220struct pt_regs {
221 unsigned long r15 ;
222 unsigned long r14 ;
223 unsigned long r13 ;
224 unsigned long r12 ;
225 unsigned long bp ;
226 unsigned long bx ;
227 unsigned long r11 ;
228 unsigned long r10 ;
229 unsigned long r9 ;
230 unsigned long r8 ;
231 unsigned long ax ;
232 unsigned long cx ;
233 unsigned long dx ;
234 unsigned long si ;
235 unsigned long di ;
236 unsigned long orig_ax ;
237 unsigned long ip ;
238 unsigned long cs ;
239 unsigned long flags ;
240 unsigned long sp ;
241 unsigned long ss ;
242};
243#line 146 "include/linux/init.h"
244typedef void (*ctor_fn_t)(void);
245#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
246struct __anonstruct____missing_field_name_15 {
247 unsigned int a ;
248 unsigned int b ;
249};
250#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
251struct __anonstruct____missing_field_name_16 {
252 u16 limit0 ;
253 u16 base0 ;
254 unsigned int base1 : 8 ;
255 unsigned int type : 4 ;
256 unsigned int s : 1 ;
257 unsigned int dpl : 2 ;
258 unsigned int p : 1 ;
259 unsigned int limit : 4 ;
260 unsigned int avl : 1 ;
261 unsigned int l : 1 ;
262 unsigned int d : 1 ;
263 unsigned int g : 1 ;
264 unsigned int base2 : 8 ;
265};
266#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
267union __anonunion____missing_field_name_14 {
268 struct __anonstruct____missing_field_name_15 __annonCompField7 ;
269 struct __anonstruct____missing_field_name_16 __annonCompField8 ;
270};
271#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
272struct desc_struct {
273 union __anonunion____missing_field_name_14 __annonCompField9 ;
274} __attribute__((__packed__)) ;
275#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
276typedef unsigned long pgdval_t;
277#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
278typedef unsigned long pgprotval_t;
279#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
280struct pgprot {
281 pgprotval_t pgprot ;
282};
283#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
284typedef struct pgprot pgprot_t;
285#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
286struct __anonstruct_pgd_t_20 {
287 pgdval_t pgd ;
288};
289#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
290typedef struct __anonstruct_pgd_t_20 pgd_t;
291#line 282
292struct page;
293#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
294typedef struct page *pgtable_t;
295#line 295
296struct file;
297#line 295
298struct file;
299#line 313
300struct seq_file;
301#line 313
302struct seq_file;
303#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
304struct page;
305#line 47
306struct thread_struct;
307#line 47
308struct thread_struct;
309#line 50
310struct mm_struct;
311#line 51
312struct desc_struct;
313#line 52
314struct task_struct;
315#line 53
316struct cpumask;
317#line 53
318struct cpumask;
319#line 329
320struct arch_spinlock;
321#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
322struct task_struct;
323#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
324struct kernel_vm86_regs {
325 struct pt_regs pt ;
326 unsigned short es ;
327 unsigned short __esh ;
328 unsigned short ds ;
329 unsigned short __dsh ;
330 unsigned short fs ;
331 unsigned short __fsh ;
332 unsigned short gs ;
333 unsigned short __gsh ;
334};
335#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
336union __anonunion____missing_field_name_24 {
337 struct pt_regs *regs ;
338 struct kernel_vm86_regs *vm86 ;
339};
340#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
341struct math_emu_info {
342 long ___orig_eip ;
343 union __anonunion____missing_field_name_24 __annonCompField10 ;
344};
345#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
346struct module;
347#line 56
348struct module;
349#line 9 "include/linux/dynamic_debug.h"
350struct _ddebug {
351 char const *modname ;
352 char const *function ;
353 char const *filename ;
354 char const *format ;
355 unsigned int lineno : 18 ;
356 unsigned int flags : 8 ;
357} __attribute__((__aligned__(8))) ;
358#line 47
359struct device;
360#line 47
361struct device;
362#line 135 "include/linux/kernel.h"
363struct completion;
364#line 135
365struct completion;
366#line 136
367struct pt_regs;
368#line 349
369struct pid;
370#line 349
371struct pid;
372#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
373struct task_struct;
374#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
375struct page;
376#line 10 "include/asm-generic/bug.h"
377struct bug_entry {
378 int bug_addr_disp ;
379 int file_disp ;
380 unsigned short line ;
381 unsigned short flags ;
382};
383#line 12 "include/linux/bug.h"
384struct pt_regs;
385#line 14 "include/linux/cpumask.h"
386struct cpumask {
387 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
388};
389#line 14 "include/linux/cpumask.h"
390typedef struct cpumask cpumask_t;
391#line 637 "include/linux/cpumask.h"
392typedef struct cpumask *cpumask_var_t;
393#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
394struct static_key;
395#line 234
396struct static_key;
397#line 11 "include/linux/personality.h"
398struct pt_regs;
399#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
400struct i387_fsave_struct {
401 u32 cwd ;
402 u32 swd ;
403 u32 twd ;
404 u32 fip ;
405 u32 fcs ;
406 u32 foo ;
407 u32 fos ;
408 u32 st_space[20] ;
409 u32 status ;
410};
411#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
412struct __anonstruct____missing_field_name_32 {
413 u64 rip ;
414 u64 rdp ;
415};
416#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
417struct __anonstruct____missing_field_name_33 {
418 u32 fip ;
419 u32 fcs ;
420 u32 foo ;
421 u32 fos ;
422};
423#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
424union __anonunion____missing_field_name_31 {
425 struct __anonstruct____missing_field_name_32 __annonCompField14 ;
426 struct __anonstruct____missing_field_name_33 __annonCompField15 ;
427};
428#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
429union __anonunion____missing_field_name_34 {
430 u32 padding1[12] ;
431 u32 sw_reserved[12] ;
432};
433#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
434struct i387_fxsave_struct {
435 u16 cwd ;
436 u16 swd ;
437 u16 twd ;
438 u16 fop ;
439 union __anonunion____missing_field_name_31 __annonCompField16 ;
440 u32 mxcsr ;
441 u32 mxcsr_mask ;
442 u32 st_space[32] ;
443 u32 xmm_space[64] ;
444 u32 padding[12] ;
445 union __anonunion____missing_field_name_34 __annonCompField17 ;
446} __attribute__((__aligned__(16))) ;
447#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
448struct i387_soft_struct {
449 u32 cwd ;
450 u32 swd ;
451 u32 twd ;
452 u32 fip ;
453 u32 fcs ;
454 u32 foo ;
455 u32 fos ;
456 u32 st_space[20] ;
457 u8 ftop ;
458 u8 changed ;
459 u8 lookahead ;
460 u8 no_update ;
461 u8 rm ;
462 u8 alimit ;
463 struct math_emu_info *info ;
464 u32 entry_eip ;
465};
466#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
467struct ymmh_struct {
468 u32 ymmh_space[64] ;
469};
470#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
471struct xsave_hdr_struct {
472 u64 xstate_bv ;
473 u64 reserved1[2] ;
474 u64 reserved2[5] ;
475} __attribute__((__packed__)) ;
476#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
477struct xsave_struct {
478 struct i387_fxsave_struct i387 ;
479 struct xsave_hdr_struct xsave_hdr ;
480 struct ymmh_struct ymmh ;
481} __attribute__((__packed__, __aligned__(64))) ;
482#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
483union thread_xstate {
484 struct i387_fsave_struct fsave ;
485 struct i387_fxsave_struct fxsave ;
486 struct i387_soft_struct soft ;
487 struct xsave_struct xsave ;
488};
489#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
490struct fpu {
491 unsigned int last_cpu ;
492 unsigned int has_fpu ;
493 union thread_xstate *state ;
494};
495#line 433
496struct kmem_cache;
497#line 435
498struct perf_event;
499#line 435
500struct perf_event;
501#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
502struct thread_struct {
503 struct desc_struct tls_array[3] ;
504 unsigned long sp0 ;
505 unsigned long sp ;
506 unsigned long usersp ;
507 unsigned short es ;
508 unsigned short ds ;
509 unsigned short fsindex ;
510 unsigned short gsindex ;
511 unsigned long fs ;
512 unsigned long gs ;
513 struct perf_event *ptrace_bps[4] ;
514 unsigned long debugreg6 ;
515 unsigned long ptrace_dr7 ;
516 unsigned long cr2 ;
517 unsigned long trap_nr ;
518 unsigned long error_code ;
519 struct fpu fpu ;
520 unsigned long *io_bitmap_ptr ;
521 unsigned long iopl ;
522 unsigned int io_bitmap_max ;
523};
524#line 23 "include/asm-generic/atomic-long.h"
525typedef atomic64_t atomic_long_t;
526#line 48 "include/linux/mutex.h"
527struct mutex {
528 atomic_t count ;
529 spinlock_t wait_lock ;
530 struct list_head wait_list ;
531 struct task_struct *owner ;
532 char const *name ;
533 void *magic ;
534};
535#line 69 "include/linux/mutex.h"
536struct mutex_waiter {
537 struct list_head list ;
538 struct task_struct *task ;
539 void *magic ;
540};
541#line 22 "include/linux/kref.h"
542struct kref {
543 atomic_t refcount ;
544};
545#line 20 "include/linux/kobject_ns.h"
546struct sock;
547#line 20
548struct sock;
549#line 21
550struct kobject;
551#line 21
552struct kobject;
553#line 27
554enum kobj_ns_type {
555 KOBJ_NS_TYPE_NONE = 0,
556 KOBJ_NS_TYPE_NET = 1,
557 KOBJ_NS_TYPES = 2
558} ;
559#line 40 "include/linux/kobject_ns.h"
560struct kobj_ns_type_operations {
561 enum kobj_ns_type type ;
562 void *(*grab_current_ns)(void) ;
563 void const *(*netlink_ns)(struct sock *sk ) ;
564 void const *(*initial_ns)(void) ;
565 void (*drop_ns)(void * ) ;
566};
567#line 22 "include/linux/sysfs.h"
568struct kobject;
569#line 23
570struct module;
571#line 24
572enum kobj_ns_type;
573#line 26 "include/linux/sysfs.h"
574struct attribute {
575 char const *name ;
576 umode_t mode ;
577};
578#line 56 "include/linux/sysfs.h"
579struct attribute_group {
580 char const *name ;
581 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
582 struct attribute **attrs ;
583};
584#line 85
585struct file;
586#line 86
587struct vm_area_struct;
588#line 86
589struct vm_area_struct;
590#line 88 "include/linux/sysfs.h"
591struct bin_attribute {
592 struct attribute attr ;
593 size_t size ;
594 void *private ;
595 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
596 loff_t , size_t ) ;
597 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
598 loff_t , size_t ) ;
599 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
600};
601#line 112 "include/linux/sysfs.h"
602struct sysfs_ops {
603 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
604 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
605 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
606};
607#line 118
608struct sysfs_dirent;
609#line 118
610struct sysfs_dirent;
611#line 27 "include/linux/mtd/blktrans.h"
612struct hd_geometry;
613#line 27
614struct hd_geometry;
615#line 28
616struct mtd_info;
617#line 28
618struct mtd_info;
619#line 29
620struct mtd_blktrans_ops;
621#line 29
622struct mtd_blktrans_ops;
623#line 30
624struct file;
625#line 31
626struct inode;
627#line 31
628struct inode;
629#line 33
630struct gendisk;
631#line 33
632struct request_queue;
633#line 33 "include/linux/mtd/blktrans.h"
634struct mtd_blktrans_dev {
635 struct mtd_blktrans_ops *tr ;
636 struct list_head list ;
637 struct mtd_info *mtd ;
638 struct mutex lock ;
639 int devnum ;
640 bool bg_stop ;
641 unsigned long size ;
642 int readonly ;
643 int open ;
644 struct kref ref ;
645 struct gendisk *disk ;
646 struct attribute_group *disk_attributes ;
647 struct task_struct *thread ;
648 struct request_queue *rq ;
649 spinlock_t queue_lock ;
650 void *priv ;
651 fmode_t file_mode ;
652};
653#line 53 "include/linux/mtd/blktrans.h"
654struct mtd_blktrans_ops {
655 char *name ;
656 int major ;
657 int part_bits ;
658 int blksize ;
659 int blkshift ;
660 int (*readsect)(struct mtd_blktrans_dev *dev , unsigned long block , char *buffer ) ;
661 int (*writesect)(struct mtd_blktrans_dev *dev , unsigned long block , char *buffer ) ;
662 int (*discard)(struct mtd_blktrans_dev *dev , unsigned long block , unsigned int nr_blocks ) ;
663 void (*background)(struct mtd_blktrans_dev *dev ) ;
664 int (*getgeo)(struct mtd_blktrans_dev *dev , struct hd_geometry *geo ) ;
665 int (*flush)(struct mtd_blktrans_dev *dev ) ;
666 int (*open)(struct mtd_blktrans_dev *dev ) ;
667 int (*release)(struct mtd_blktrans_dev *dev ) ;
668 void (*add_mtd)(struct mtd_blktrans_ops *tr , struct mtd_info *mtd ) ;
669 void (*remove_dev)(struct mtd_blktrans_dev *dev ) ;
670 struct list_head devs ;
671 struct list_head list ;
672 struct module *owner ;
673};
674#line 12 "include/linux/thread_info.h"
675struct timespec;
676#line 12
677struct timespec;
678#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
679struct task_struct;
680#line 119 "include/linux/seqlock.h"
681struct seqcount {
682 unsigned int sequence ;
683};
684#line 119 "include/linux/seqlock.h"
685typedef struct seqcount seqcount_t;
686#line 14 "include/linux/time.h"
687struct timespec {
688 __kernel_time_t tv_sec ;
689 long tv_nsec ;
690};
691#line 62 "include/linux/stat.h"
692struct kstat {
693 u64 ino ;
694 dev_t dev ;
695 umode_t mode ;
696 unsigned int nlink ;
697 uid_t uid ;
698 gid_t gid ;
699 dev_t rdev ;
700 loff_t size ;
701 struct timespec atime ;
702 struct timespec mtime ;
703 struct timespec ctime ;
704 unsigned long blksize ;
705 unsigned long long blocks ;
706};
707#line 49 "include/linux/wait.h"
708struct __wait_queue_head {
709 spinlock_t lock ;
710 struct list_head task_list ;
711};
712#line 53 "include/linux/wait.h"
713typedef struct __wait_queue_head wait_queue_head_t;
714#line 55
715struct task_struct;
716#line 98 "include/linux/nodemask.h"
717struct __anonstruct_nodemask_t_42 {
718 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
719};
720#line 98 "include/linux/nodemask.h"
721typedef struct __anonstruct_nodemask_t_42 nodemask_t;
722#line 60 "include/linux/pageblock-flags.h"
723struct page;
724#line 19 "include/linux/rwsem.h"
725struct rw_semaphore;
726#line 19
727struct rw_semaphore;
728#line 25 "include/linux/rwsem.h"
729struct rw_semaphore {
730 long count ;
731 raw_spinlock_t wait_lock ;
732 struct list_head wait_list ;
733};
734#line 25 "include/linux/completion.h"
735struct completion {
736 unsigned int done ;
737 wait_queue_head_t wait ;
738};
739#line 188 "include/linux/rcupdate.h"
740struct notifier_block;
741#line 188
742struct notifier_block;
743#line 50 "include/linux/notifier.h"
744struct notifier_block {
745 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
746 struct notifier_block *next ;
747 int priority ;
748};
749#line 9 "include/linux/memory_hotplug.h"
750struct page;
751#line 202 "include/linux/ioport.h"
752struct device;
753#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
754struct device;
755#line 46 "include/linux/ktime.h"
756union ktime {
757 s64 tv64 ;
758};
759#line 59 "include/linux/ktime.h"
760typedef union ktime ktime_t;
761#line 10 "include/linux/timer.h"
762struct tvec_base;
763#line 10
764struct tvec_base;
765#line 12 "include/linux/timer.h"
766struct timer_list {
767 struct list_head entry ;
768 unsigned long expires ;
769 struct tvec_base *base ;
770 void (*function)(unsigned long ) ;
771 unsigned long data ;
772 int slack ;
773 int start_pid ;
774 void *start_site ;
775 char start_comm[16] ;
776};
777#line 289
778struct hrtimer;
779#line 289
780struct hrtimer;
781#line 290
782enum hrtimer_restart;
783#line 17 "include/linux/workqueue.h"
784struct work_struct;
785#line 17
786struct work_struct;
787#line 79 "include/linux/workqueue.h"
788struct work_struct {
789 atomic_long_t data ;
790 struct list_head entry ;
791 void (*func)(struct work_struct *work ) ;
792};
793#line 92 "include/linux/workqueue.h"
794struct delayed_work {
795 struct work_struct work ;
796 struct timer_list timer ;
797};
798#line 42 "include/linux/pm.h"
799struct device;
800#line 50 "include/linux/pm.h"
801struct pm_message {
802 int event ;
803};
804#line 50 "include/linux/pm.h"
805typedef struct pm_message pm_message_t;
806#line 264 "include/linux/pm.h"
807struct dev_pm_ops {
808 int (*prepare)(struct device *dev ) ;
809 void (*complete)(struct device *dev ) ;
810 int (*suspend)(struct device *dev ) ;
811 int (*resume)(struct device *dev ) ;
812 int (*freeze)(struct device *dev ) ;
813 int (*thaw)(struct device *dev ) ;
814 int (*poweroff)(struct device *dev ) ;
815 int (*restore)(struct device *dev ) ;
816 int (*suspend_late)(struct device *dev ) ;
817 int (*resume_early)(struct device *dev ) ;
818 int (*freeze_late)(struct device *dev ) ;
819 int (*thaw_early)(struct device *dev ) ;
820 int (*poweroff_late)(struct device *dev ) ;
821 int (*restore_early)(struct device *dev ) ;
822 int (*suspend_noirq)(struct device *dev ) ;
823 int (*resume_noirq)(struct device *dev ) ;
824 int (*freeze_noirq)(struct device *dev ) ;
825 int (*thaw_noirq)(struct device *dev ) ;
826 int (*poweroff_noirq)(struct device *dev ) ;
827 int (*restore_noirq)(struct device *dev ) ;
828 int (*runtime_suspend)(struct device *dev ) ;
829 int (*runtime_resume)(struct device *dev ) ;
830 int (*runtime_idle)(struct device *dev ) ;
831};
832#line 458
833enum rpm_status {
834 RPM_ACTIVE = 0,
835 RPM_RESUMING = 1,
836 RPM_SUSPENDED = 2,
837 RPM_SUSPENDING = 3
838} ;
839#line 480
840enum rpm_request {
841 RPM_REQ_NONE = 0,
842 RPM_REQ_IDLE = 1,
843 RPM_REQ_SUSPEND = 2,
844 RPM_REQ_AUTOSUSPEND = 3,
845 RPM_REQ_RESUME = 4
846} ;
847#line 488
848struct wakeup_source;
849#line 488
850struct wakeup_source;
851#line 495 "include/linux/pm.h"
852struct pm_subsys_data {
853 spinlock_t lock ;
854 unsigned int refcount ;
855};
856#line 506
857struct dev_pm_qos_request;
858#line 506
859struct pm_qos_constraints;
860#line 506 "include/linux/pm.h"
861struct dev_pm_info {
862 pm_message_t power_state ;
863 unsigned int can_wakeup : 1 ;
864 unsigned int async_suspend : 1 ;
865 bool is_prepared : 1 ;
866 bool is_suspended : 1 ;
867 bool ignore_children : 1 ;
868 spinlock_t lock ;
869 struct list_head entry ;
870 struct completion completion ;
871 struct wakeup_source *wakeup ;
872 bool wakeup_path : 1 ;
873 struct timer_list suspend_timer ;
874 unsigned long timer_expires ;
875 struct work_struct work ;
876 wait_queue_head_t wait_queue ;
877 atomic_t usage_count ;
878 atomic_t child_count ;
879 unsigned int disable_depth : 3 ;
880 unsigned int idle_notification : 1 ;
881 unsigned int request_pending : 1 ;
882 unsigned int deferred_resume : 1 ;
883 unsigned int run_wake : 1 ;
884 unsigned int runtime_auto : 1 ;
885 unsigned int no_callbacks : 1 ;
886 unsigned int irq_safe : 1 ;
887 unsigned int use_autosuspend : 1 ;
888 unsigned int timer_autosuspends : 1 ;
889 enum rpm_request request ;
890 enum rpm_status runtime_status ;
891 int runtime_error ;
892 int autosuspend_delay ;
893 unsigned long last_busy ;
894 unsigned long active_jiffies ;
895 unsigned long suspended_jiffies ;
896 unsigned long accounting_timestamp ;
897 ktime_t suspend_time ;
898 s64 max_time_suspended_ns ;
899 struct dev_pm_qos_request *pq_req ;
900 struct pm_subsys_data *subsys_data ;
901 struct pm_qos_constraints *constraints ;
902};
903#line 564 "include/linux/pm.h"
904struct dev_pm_domain {
905 struct dev_pm_ops ops ;
906};
907#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
908struct __anonstruct_mm_context_t_112 {
909 void *ldt ;
910 int size ;
911 unsigned short ia32_compat ;
912 struct mutex lock ;
913 void *vdso ;
914};
915#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
916typedef struct __anonstruct_mm_context_t_112 mm_context_t;
917#line 8 "include/linux/vmalloc.h"
918struct vm_area_struct;
919#line 994 "include/linux/mmzone.h"
920struct page;
921#line 10 "include/linux/gfp.h"
922struct vm_area_struct;
923#line 29 "include/linux/sysctl.h"
924struct completion;
925#line 100 "include/linux/rbtree.h"
926struct rb_node {
927 unsigned long rb_parent_color ;
928 struct rb_node *rb_right ;
929 struct rb_node *rb_left ;
930} __attribute__((__aligned__(sizeof(long )))) ;
931#line 110 "include/linux/rbtree.h"
932struct rb_root {
933 struct rb_node *rb_node ;
934};
935#line 939 "include/linux/sysctl.h"
936struct nsproxy;
937#line 939
938struct nsproxy;
939#line 48 "include/linux/kmod.h"
940struct cred;
941#line 48
942struct cred;
943#line 49
944struct file;
945#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
946struct task_struct;
947#line 18 "include/linux/elf.h"
948typedef __u64 Elf64_Addr;
949#line 19 "include/linux/elf.h"
950typedef __u16 Elf64_Half;
951#line 23 "include/linux/elf.h"
952typedef __u32 Elf64_Word;
953#line 24 "include/linux/elf.h"
954typedef __u64 Elf64_Xword;
955#line 194 "include/linux/elf.h"
956struct elf64_sym {
957 Elf64_Word st_name ;
958 unsigned char st_info ;
959 unsigned char st_other ;
960 Elf64_Half st_shndx ;
961 Elf64_Addr st_value ;
962 Elf64_Xword st_size ;
963};
964#line 194 "include/linux/elf.h"
965typedef struct elf64_sym Elf64_Sym;
966#line 438
967struct file;
968#line 60 "include/linux/kobject.h"
969struct kset;
970#line 60
971struct kobj_type;
972#line 60 "include/linux/kobject.h"
973struct kobject {
974 char const *name ;
975 struct list_head entry ;
976 struct kobject *parent ;
977 struct kset *kset ;
978 struct kobj_type *ktype ;
979 struct sysfs_dirent *sd ;
980 struct kref kref ;
981 unsigned int state_initialized : 1 ;
982 unsigned int state_in_sysfs : 1 ;
983 unsigned int state_add_uevent_sent : 1 ;
984 unsigned int state_remove_uevent_sent : 1 ;
985 unsigned int uevent_suppress : 1 ;
986};
987#line 108 "include/linux/kobject.h"
988struct kobj_type {
989 void (*release)(struct kobject *kobj ) ;
990 struct sysfs_ops const *sysfs_ops ;
991 struct attribute **default_attrs ;
992 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
993 void const *(*namespace)(struct kobject *kobj ) ;
994};
995#line 116 "include/linux/kobject.h"
996struct kobj_uevent_env {
997 char *envp[32] ;
998 int envp_idx ;
999 char buf[2048] ;
1000 int buflen ;
1001};
1002#line 123 "include/linux/kobject.h"
1003struct kset_uevent_ops {
1004 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1005 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1006 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1007};
1008#line 140
1009struct sock;
1010#line 159 "include/linux/kobject.h"
1011struct kset {
1012 struct list_head list ;
1013 spinlock_t list_lock ;
1014 struct kobject kobj ;
1015 struct kset_uevent_ops const *uevent_ops ;
1016};
1017#line 39 "include/linux/moduleparam.h"
1018struct kernel_param;
1019#line 39
1020struct kernel_param;
1021#line 41 "include/linux/moduleparam.h"
1022struct kernel_param_ops {
1023 int (*set)(char const *val , struct kernel_param const *kp ) ;
1024 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1025 void (*free)(void *arg ) ;
1026};
1027#line 50
1028struct kparam_string;
1029#line 50
1030struct kparam_array;
1031#line 50 "include/linux/moduleparam.h"
1032union __anonunion____missing_field_name_199 {
1033 void *arg ;
1034 struct kparam_string const *str ;
1035 struct kparam_array const *arr ;
1036};
1037#line 50 "include/linux/moduleparam.h"
1038struct kernel_param {
1039 char const *name ;
1040 struct kernel_param_ops const *ops ;
1041 u16 perm ;
1042 s16 level ;
1043 union __anonunion____missing_field_name_199 __annonCompField32 ;
1044};
1045#line 63 "include/linux/moduleparam.h"
1046struct kparam_string {
1047 unsigned int maxlen ;
1048 char *string ;
1049};
1050#line 69 "include/linux/moduleparam.h"
1051struct kparam_array {
1052 unsigned int max ;
1053 unsigned int elemsize ;
1054 unsigned int *num ;
1055 struct kernel_param_ops const *ops ;
1056 void *elem ;
1057};
1058#line 445
1059struct module;
1060#line 80 "include/linux/jump_label.h"
1061struct module;
1062#line 143 "include/linux/jump_label.h"
1063struct static_key {
1064 atomic_t enabled ;
1065};
1066#line 22 "include/linux/tracepoint.h"
1067struct module;
1068#line 23
1069struct tracepoint;
1070#line 23
1071struct tracepoint;
1072#line 25 "include/linux/tracepoint.h"
1073struct tracepoint_func {
1074 void *func ;
1075 void *data ;
1076};
1077#line 30 "include/linux/tracepoint.h"
1078struct tracepoint {
1079 char const *name ;
1080 struct static_key key ;
1081 void (*regfunc)(void) ;
1082 void (*unregfunc)(void) ;
1083 struct tracepoint_func *funcs ;
1084};
1085#line 19 "include/linux/export.h"
1086struct kernel_symbol {
1087 unsigned long value ;
1088 char const *name ;
1089};
1090#line 8 "include/asm-generic/module.h"
1091struct mod_arch_specific {
1092
1093};
1094#line 35 "include/linux/module.h"
1095struct module;
1096#line 37
1097struct module_param_attrs;
1098#line 37 "include/linux/module.h"
1099struct module_kobject {
1100 struct kobject kobj ;
1101 struct module *mod ;
1102 struct kobject *drivers_dir ;
1103 struct module_param_attrs *mp ;
1104};
1105#line 44 "include/linux/module.h"
1106struct module_attribute {
1107 struct attribute attr ;
1108 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1109 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1110 size_t count ) ;
1111 void (*setup)(struct module * , char const * ) ;
1112 int (*test)(struct module * ) ;
1113 void (*free)(struct module * ) ;
1114};
1115#line 71
1116struct exception_table_entry;
1117#line 71
1118struct exception_table_entry;
1119#line 182
1120struct notifier_block;
1121#line 199
1122enum module_state {
1123 MODULE_STATE_LIVE = 0,
1124 MODULE_STATE_COMING = 1,
1125 MODULE_STATE_GOING = 2
1126} ;
1127#line 215 "include/linux/module.h"
1128struct module_ref {
1129 unsigned long incs ;
1130 unsigned long decs ;
1131} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1132#line 220
1133struct module_sect_attrs;
1134#line 220
1135struct module_notes_attrs;
1136#line 220
1137struct ftrace_event_call;
1138#line 220 "include/linux/module.h"
1139struct module {
1140 enum module_state state ;
1141 struct list_head list ;
1142 char name[64UL - sizeof(unsigned long )] ;
1143 struct module_kobject mkobj ;
1144 struct module_attribute *modinfo_attrs ;
1145 char const *version ;
1146 char const *srcversion ;
1147 struct kobject *holders_dir ;
1148 struct kernel_symbol const *syms ;
1149 unsigned long const *crcs ;
1150 unsigned int num_syms ;
1151 struct kernel_param *kp ;
1152 unsigned int num_kp ;
1153 unsigned int num_gpl_syms ;
1154 struct kernel_symbol const *gpl_syms ;
1155 unsigned long const *gpl_crcs ;
1156 struct kernel_symbol const *unused_syms ;
1157 unsigned long const *unused_crcs ;
1158 unsigned int num_unused_syms ;
1159 unsigned int num_unused_gpl_syms ;
1160 struct kernel_symbol const *unused_gpl_syms ;
1161 unsigned long const *unused_gpl_crcs ;
1162 struct kernel_symbol const *gpl_future_syms ;
1163 unsigned long const *gpl_future_crcs ;
1164 unsigned int num_gpl_future_syms ;
1165 unsigned int num_exentries ;
1166 struct exception_table_entry *extable ;
1167 int (*init)(void) ;
1168 void *module_init ;
1169 void *module_core ;
1170 unsigned int init_size ;
1171 unsigned int core_size ;
1172 unsigned int init_text_size ;
1173 unsigned int core_text_size ;
1174 unsigned int init_ro_size ;
1175 unsigned int core_ro_size ;
1176 struct mod_arch_specific arch ;
1177 unsigned int taints ;
1178 unsigned int num_bugs ;
1179 struct list_head bug_list ;
1180 struct bug_entry *bug_table ;
1181 Elf64_Sym *symtab ;
1182 Elf64_Sym *core_symtab ;
1183 unsigned int num_symtab ;
1184 unsigned int core_num_syms ;
1185 char *strtab ;
1186 char *core_strtab ;
1187 struct module_sect_attrs *sect_attrs ;
1188 struct module_notes_attrs *notes_attrs ;
1189 char *args ;
1190 void *percpu ;
1191 unsigned int percpu_size ;
1192 unsigned int num_tracepoints ;
1193 struct tracepoint * const *tracepoints_ptrs ;
1194 unsigned int num_trace_bprintk_fmt ;
1195 char const **trace_bprintk_fmt_start ;
1196 struct ftrace_event_call **trace_events ;
1197 unsigned int num_trace_events ;
1198 struct list_head source_list ;
1199 struct list_head target_list ;
1200 struct task_struct *waiter ;
1201 void (*exit)(void) ;
1202 struct module_ref *refptr ;
1203 ctor_fn_t *ctors ;
1204 unsigned int num_ctors ;
1205};
1206#line 16 "include/linux/uio.h"
1207struct iovec {
1208 void *iov_base ;
1209 __kernel_size_t iov_len ;
1210};
1211#line 31 "include/linux/uio.h"
1212struct kvec {
1213 void *iov_base ;
1214 size_t iov_len ;
1215};
1216#line 19 "include/linux/klist.h"
1217struct klist_node;
1218#line 19
1219struct klist_node;
1220#line 39 "include/linux/klist.h"
1221struct klist_node {
1222 void *n_klist ;
1223 struct list_head n_node ;
1224 struct kref n_ref ;
1225};
1226#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1227struct dma_map_ops;
1228#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1229struct dev_archdata {
1230 void *acpi_handle ;
1231 struct dma_map_ops *dma_ops ;
1232 void *iommu ;
1233};
1234#line 28 "include/linux/device.h"
1235struct device;
1236#line 29
1237struct device_private;
1238#line 29
1239struct device_private;
1240#line 30
1241struct device_driver;
1242#line 30
1243struct device_driver;
1244#line 31
1245struct driver_private;
1246#line 31
1247struct driver_private;
1248#line 32
1249struct module;
1250#line 33
1251struct class;
1252#line 33
1253struct class;
1254#line 34
1255struct subsys_private;
1256#line 34
1257struct subsys_private;
1258#line 35
1259struct bus_type;
1260#line 35
1261struct bus_type;
1262#line 36
1263struct device_node;
1264#line 36
1265struct device_node;
1266#line 37
1267struct iommu_ops;
1268#line 37
1269struct iommu_ops;
1270#line 39 "include/linux/device.h"
1271struct bus_attribute {
1272 struct attribute attr ;
1273 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1274 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1275};
1276#line 89
1277struct device_attribute;
1278#line 89
1279struct driver_attribute;
1280#line 89 "include/linux/device.h"
1281struct bus_type {
1282 char const *name ;
1283 char const *dev_name ;
1284 struct device *dev_root ;
1285 struct bus_attribute *bus_attrs ;
1286 struct device_attribute *dev_attrs ;
1287 struct driver_attribute *drv_attrs ;
1288 int (*match)(struct device *dev , struct device_driver *drv ) ;
1289 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1290 int (*probe)(struct device *dev ) ;
1291 int (*remove)(struct device *dev ) ;
1292 void (*shutdown)(struct device *dev ) ;
1293 int (*suspend)(struct device *dev , pm_message_t state ) ;
1294 int (*resume)(struct device *dev ) ;
1295 struct dev_pm_ops const *pm ;
1296 struct iommu_ops *iommu_ops ;
1297 struct subsys_private *p ;
1298};
1299#line 127
1300struct device_type;
1301#line 159
1302struct notifier_block;
1303#line 214
1304struct of_device_id;
1305#line 214 "include/linux/device.h"
1306struct device_driver {
1307 char const *name ;
1308 struct bus_type *bus ;
1309 struct module *owner ;
1310 char const *mod_name ;
1311 bool suppress_bind_attrs ;
1312 struct of_device_id const *of_match_table ;
1313 int (*probe)(struct device *dev ) ;
1314 int (*remove)(struct device *dev ) ;
1315 void (*shutdown)(struct device *dev ) ;
1316 int (*suspend)(struct device *dev , pm_message_t state ) ;
1317 int (*resume)(struct device *dev ) ;
1318 struct attribute_group const **groups ;
1319 struct dev_pm_ops const *pm ;
1320 struct driver_private *p ;
1321};
1322#line 249 "include/linux/device.h"
1323struct driver_attribute {
1324 struct attribute attr ;
1325 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1326 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1327};
1328#line 330
1329struct class_attribute;
1330#line 330 "include/linux/device.h"
1331struct class {
1332 char const *name ;
1333 struct module *owner ;
1334 struct class_attribute *class_attrs ;
1335 struct device_attribute *dev_attrs ;
1336 struct bin_attribute *dev_bin_attrs ;
1337 struct kobject *dev_kobj ;
1338 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1339 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1340 void (*class_release)(struct class *class ) ;
1341 void (*dev_release)(struct device *dev ) ;
1342 int (*suspend)(struct device *dev , pm_message_t state ) ;
1343 int (*resume)(struct device *dev ) ;
1344 struct kobj_ns_type_operations const *ns_type ;
1345 void const *(*namespace)(struct device *dev ) ;
1346 struct dev_pm_ops const *pm ;
1347 struct subsys_private *p ;
1348};
1349#line 397 "include/linux/device.h"
1350struct class_attribute {
1351 struct attribute attr ;
1352 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1353 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1354 size_t count ) ;
1355 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1356};
1357#line 465 "include/linux/device.h"
1358struct device_type {
1359 char const *name ;
1360 struct attribute_group const **groups ;
1361 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1362 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1363 void (*release)(struct device *dev ) ;
1364 struct dev_pm_ops const *pm ;
1365};
1366#line 476 "include/linux/device.h"
1367struct device_attribute {
1368 struct attribute attr ;
1369 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1370 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1371 size_t count ) ;
1372};
1373#line 559 "include/linux/device.h"
1374struct device_dma_parameters {
1375 unsigned int max_segment_size ;
1376 unsigned long segment_boundary_mask ;
1377};
1378#line 627
1379struct dma_coherent_mem;
1380#line 627 "include/linux/device.h"
1381struct device {
1382 struct device *parent ;
1383 struct device_private *p ;
1384 struct kobject kobj ;
1385 char const *init_name ;
1386 struct device_type const *type ;
1387 struct mutex mutex ;
1388 struct bus_type *bus ;
1389 struct device_driver *driver ;
1390 void *platform_data ;
1391 struct dev_pm_info power ;
1392 struct dev_pm_domain *pm_domain ;
1393 int numa_node ;
1394 u64 *dma_mask ;
1395 u64 coherent_dma_mask ;
1396 struct device_dma_parameters *dma_parms ;
1397 struct list_head dma_pools ;
1398 struct dma_coherent_mem *dma_mem ;
1399 struct dev_archdata archdata ;
1400 struct device_node *of_node ;
1401 dev_t devt ;
1402 u32 id ;
1403 spinlock_t devres_lock ;
1404 struct list_head devres_head ;
1405 struct klist_node knode_class ;
1406 struct class *class ;
1407 struct attribute_group const **groups ;
1408 void (*release)(struct device *dev ) ;
1409};
1410#line 43 "include/linux/pm_wakeup.h"
1411struct wakeup_source {
1412 char const *name ;
1413 struct list_head entry ;
1414 spinlock_t lock ;
1415 struct timer_list timer ;
1416 unsigned long timer_expires ;
1417 ktime_t total_time ;
1418 ktime_t max_time ;
1419 ktime_t last_time ;
1420 unsigned long event_count ;
1421 unsigned long active_count ;
1422 unsigned long relax_count ;
1423 unsigned long hit_count ;
1424 unsigned int active : 1 ;
1425};
1426#line 143 "include/mtd/mtd-abi.h"
1427struct otp_info {
1428 __u32 start ;
1429 __u32 length ;
1430 __u32 locked ;
1431};
1432#line 217 "include/mtd/mtd-abi.h"
1433struct nand_oobfree {
1434 __u32 offset ;
1435 __u32 length ;
1436};
1437#line 247 "include/mtd/mtd-abi.h"
1438struct mtd_ecc_stats {
1439 __u32 corrected ;
1440 __u32 failed ;
1441 __u32 badblocks ;
1442 __u32 bbtblocks ;
1443};
1444#line 48 "include/linux/mtd/mtd.h"
1445struct erase_info {
1446 struct mtd_info *mtd ;
1447 uint64_t addr ;
1448 uint64_t len ;
1449 uint64_t fail_addr ;
1450 u_long time ;
1451 u_long retries ;
1452 unsigned int dev ;
1453 unsigned int cell ;
1454 void (*callback)(struct erase_info *self ) ;
1455 u_long priv ;
1456 u_char state ;
1457 struct erase_info *next ;
1458};
1459#line 63 "include/linux/mtd/mtd.h"
1460struct mtd_erase_region_info {
1461 uint64_t offset ;
1462 uint32_t erasesize ;
1463 uint32_t numblocks ;
1464 unsigned long *lockmap ;
1465};
1466#line 89 "include/linux/mtd/mtd.h"
1467struct mtd_oob_ops {
1468 unsigned int mode ;
1469 size_t len ;
1470 size_t retlen ;
1471 size_t ooblen ;
1472 size_t oobretlen ;
1473 uint32_t ooboffs ;
1474 uint8_t *datbuf ;
1475 uint8_t *oobbuf ;
1476};
1477#line 108 "include/linux/mtd/mtd.h"
1478struct nand_ecclayout {
1479 __u32 eccbytes ;
1480 __u32 eccpos[448] ;
1481 __u32 oobavail ;
1482 struct nand_oobfree oobfree[32] ;
1483};
1484#line 115
1485struct module;
1486#line 117
1487struct backing_dev_info;
1488#line 117 "include/linux/mtd/mtd.h"
1489struct mtd_info {
1490 u_char type ;
1491 uint32_t flags ;
1492 uint64_t size ;
1493 uint32_t erasesize ;
1494 uint32_t writesize ;
1495 uint32_t writebufsize ;
1496 uint32_t oobsize ;
1497 uint32_t oobavail ;
1498 unsigned int erasesize_shift ;
1499 unsigned int writesize_shift ;
1500 unsigned int erasesize_mask ;
1501 unsigned int writesize_mask ;
1502 char const *name ;
1503 int index ;
1504 struct nand_ecclayout *ecclayout ;
1505 unsigned int ecc_strength ;
1506 int numeraseregions ;
1507 struct mtd_erase_region_info *eraseregions ;
1508 int (*_erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
1509 int (*_point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1510 void **virt , resource_size_t *phys ) ;
1511 int (*_unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1512 unsigned long (*_get_unmapped_area)(struct mtd_info *mtd , unsigned long len ,
1513 unsigned long offset , unsigned long flags ) ;
1514 int (*_read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1515 u_char *buf ) ;
1516 int (*_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1517 u_char const *buf ) ;
1518 int (*_panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1519 u_char const *buf ) ;
1520 int (*_read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
1521 int (*_write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
1522 int (*_get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1523 int (*_read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1524 u_char *buf ) ;
1525 int (*_get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1526 int (*_read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1527 u_char *buf ) ;
1528 int (*_write_user_prot_reg)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1529 u_char *buf ) ;
1530 int (*_lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1531 int (*_writev)(struct mtd_info *mtd , struct kvec const *vecs , unsigned long count ,
1532 loff_t to , size_t *retlen ) ;
1533 void (*_sync)(struct mtd_info *mtd ) ;
1534 int (*_lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1535 int (*_unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1536 int (*_is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1537 int (*_block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
1538 int (*_block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
1539 int (*_suspend)(struct mtd_info *mtd ) ;
1540 void (*_resume)(struct mtd_info *mtd ) ;
1541 int (*_get_device)(struct mtd_info *mtd ) ;
1542 void (*_put_device)(struct mtd_info *mtd ) ;
1543 struct backing_dev_info *backing_dev_info ;
1544 struct notifier_block reboot_notifier ;
1545 struct mtd_ecc_stats ecc_stats ;
1546 int subpage_sft ;
1547 void *priv ;
1548 struct module *owner ;
1549 struct device dev ;
1550 int usecount ;
1551};
1552#line 18 "include/linux/capability.h"
1553struct task_struct;
1554#line 94 "include/linux/capability.h"
1555struct kernel_cap_struct {
1556 __u32 cap[2] ;
1557};
1558#line 94 "include/linux/capability.h"
1559typedef struct kernel_cap_struct kernel_cap_t;
1560#line 377
1561struct dentry;
1562#line 377
1563struct dentry;
1564#line 378
1565struct user_namespace;
1566#line 378
1567struct user_namespace;
1568#line 14 "include/linux/prio_tree.h"
1569struct prio_tree_node;
1570#line 14 "include/linux/prio_tree.h"
1571struct raw_prio_tree_node {
1572 struct prio_tree_node *left ;
1573 struct prio_tree_node *right ;
1574 struct prio_tree_node *parent ;
1575};
1576#line 20 "include/linux/prio_tree.h"
1577struct prio_tree_node {
1578 struct prio_tree_node *left ;
1579 struct prio_tree_node *right ;
1580 struct prio_tree_node *parent ;
1581 unsigned long start ;
1582 unsigned long last ;
1583};
1584#line 28 "include/linux/prio_tree.h"
1585struct prio_tree_root {
1586 struct prio_tree_node *prio_tree_node ;
1587 unsigned short index_bits ;
1588 unsigned short raw ;
1589};
1590#line 23 "include/linux/mm_types.h"
1591struct address_space;
1592#line 23
1593struct address_space;
1594#line 40 "include/linux/mm_types.h"
1595union __anonunion____missing_field_name_204 {
1596 unsigned long index ;
1597 void *freelist ;
1598};
1599#line 40 "include/linux/mm_types.h"
1600struct __anonstruct____missing_field_name_208 {
1601 unsigned int inuse : 16 ;
1602 unsigned int objects : 15 ;
1603 unsigned int frozen : 1 ;
1604};
1605#line 40 "include/linux/mm_types.h"
1606union __anonunion____missing_field_name_207 {
1607 atomic_t _mapcount ;
1608 struct __anonstruct____missing_field_name_208 __annonCompField34 ;
1609};
1610#line 40 "include/linux/mm_types.h"
1611struct __anonstruct____missing_field_name_206 {
1612 union __anonunion____missing_field_name_207 __annonCompField35 ;
1613 atomic_t _count ;
1614};
1615#line 40 "include/linux/mm_types.h"
1616union __anonunion____missing_field_name_205 {
1617 unsigned long counters ;
1618 struct __anonstruct____missing_field_name_206 __annonCompField36 ;
1619};
1620#line 40 "include/linux/mm_types.h"
1621struct __anonstruct____missing_field_name_203 {
1622 union __anonunion____missing_field_name_204 __annonCompField33 ;
1623 union __anonunion____missing_field_name_205 __annonCompField37 ;
1624};
1625#line 40 "include/linux/mm_types.h"
1626struct __anonstruct____missing_field_name_210 {
1627 struct page *next ;
1628 int pages ;
1629 int pobjects ;
1630};
1631#line 40 "include/linux/mm_types.h"
1632union __anonunion____missing_field_name_209 {
1633 struct list_head lru ;
1634 struct __anonstruct____missing_field_name_210 __annonCompField39 ;
1635};
1636#line 40 "include/linux/mm_types.h"
1637union __anonunion____missing_field_name_211 {
1638 unsigned long private ;
1639 struct kmem_cache *slab ;
1640 struct page *first_page ;
1641};
1642#line 40 "include/linux/mm_types.h"
1643struct page {
1644 unsigned long flags ;
1645 struct address_space *mapping ;
1646 struct __anonstruct____missing_field_name_203 __annonCompField38 ;
1647 union __anonunion____missing_field_name_209 __annonCompField40 ;
1648 union __anonunion____missing_field_name_211 __annonCompField41 ;
1649 unsigned long debug_flags ;
1650} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1651#line 200 "include/linux/mm_types.h"
1652struct __anonstruct_vm_set_213 {
1653 struct list_head list ;
1654 void *parent ;
1655 struct vm_area_struct *head ;
1656};
1657#line 200 "include/linux/mm_types.h"
1658union __anonunion_shared_212 {
1659 struct __anonstruct_vm_set_213 vm_set ;
1660 struct raw_prio_tree_node prio_tree_node ;
1661};
1662#line 200
1663struct anon_vma;
1664#line 200
1665struct vm_operations_struct;
1666#line 200
1667struct mempolicy;
1668#line 200 "include/linux/mm_types.h"
1669struct vm_area_struct {
1670 struct mm_struct *vm_mm ;
1671 unsigned long vm_start ;
1672 unsigned long vm_end ;
1673 struct vm_area_struct *vm_next ;
1674 struct vm_area_struct *vm_prev ;
1675 pgprot_t vm_page_prot ;
1676 unsigned long vm_flags ;
1677 struct rb_node vm_rb ;
1678 union __anonunion_shared_212 shared ;
1679 struct list_head anon_vma_chain ;
1680 struct anon_vma *anon_vma ;
1681 struct vm_operations_struct const *vm_ops ;
1682 unsigned long vm_pgoff ;
1683 struct file *vm_file ;
1684 void *vm_private_data ;
1685 struct mempolicy *vm_policy ;
1686};
1687#line 257 "include/linux/mm_types.h"
1688struct core_thread {
1689 struct task_struct *task ;
1690 struct core_thread *next ;
1691};
1692#line 262 "include/linux/mm_types.h"
1693struct core_state {
1694 atomic_t nr_threads ;
1695 struct core_thread dumper ;
1696 struct completion startup ;
1697};
1698#line 284 "include/linux/mm_types.h"
1699struct mm_rss_stat {
1700 atomic_long_t count[3] ;
1701};
1702#line 288
1703struct linux_binfmt;
1704#line 288
1705struct mmu_notifier_mm;
1706#line 288 "include/linux/mm_types.h"
1707struct mm_struct {
1708 struct vm_area_struct *mmap ;
1709 struct rb_root mm_rb ;
1710 struct vm_area_struct *mmap_cache ;
1711 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1712 unsigned long pgoff , unsigned long flags ) ;
1713 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1714 unsigned long mmap_base ;
1715 unsigned long task_size ;
1716 unsigned long cached_hole_size ;
1717 unsigned long free_area_cache ;
1718 pgd_t *pgd ;
1719 atomic_t mm_users ;
1720 atomic_t mm_count ;
1721 int map_count ;
1722 spinlock_t page_table_lock ;
1723 struct rw_semaphore mmap_sem ;
1724 struct list_head mmlist ;
1725 unsigned long hiwater_rss ;
1726 unsigned long hiwater_vm ;
1727 unsigned long total_vm ;
1728 unsigned long locked_vm ;
1729 unsigned long pinned_vm ;
1730 unsigned long shared_vm ;
1731 unsigned long exec_vm ;
1732 unsigned long stack_vm ;
1733 unsigned long reserved_vm ;
1734 unsigned long def_flags ;
1735 unsigned long nr_ptes ;
1736 unsigned long start_code ;
1737 unsigned long end_code ;
1738 unsigned long start_data ;
1739 unsigned long end_data ;
1740 unsigned long start_brk ;
1741 unsigned long brk ;
1742 unsigned long start_stack ;
1743 unsigned long arg_start ;
1744 unsigned long arg_end ;
1745 unsigned long env_start ;
1746 unsigned long env_end ;
1747 unsigned long saved_auxv[44] ;
1748 struct mm_rss_stat rss_stat ;
1749 struct linux_binfmt *binfmt ;
1750 cpumask_var_t cpu_vm_mask_var ;
1751 mm_context_t context ;
1752 unsigned int faultstamp ;
1753 unsigned int token_priority ;
1754 unsigned int last_interval ;
1755 unsigned long flags ;
1756 struct core_state *core_state ;
1757 spinlock_t ioctx_lock ;
1758 struct hlist_head ioctx_list ;
1759 struct task_struct *owner ;
1760 struct file *exe_file ;
1761 unsigned long num_exe_file_vmas ;
1762 struct mmu_notifier_mm *mmu_notifier_mm ;
1763 pgtable_t pmd_huge_pte ;
1764 struct cpumask cpumask_allocation ;
1765};
1766#line 7 "include/asm-generic/cputime.h"
1767typedef unsigned long cputime_t;
1768#line 84 "include/linux/sem.h"
1769struct task_struct;
1770#line 101
1771struct sem_undo_list;
1772#line 101 "include/linux/sem.h"
1773struct sysv_sem {
1774 struct sem_undo_list *undo_list ;
1775};
1776#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1777struct siginfo;
1778#line 10
1779struct siginfo;
1780#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1781struct __anonstruct_sigset_t_215 {
1782 unsigned long sig[1] ;
1783};
1784#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1785typedef struct __anonstruct_sigset_t_215 sigset_t;
1786#line 17 "include/asm-generic/signal-defs.h"
1787typedef void __signalfn_t(int );
1788#line 18 "include/asm-generic/signal-defs.h"
1789typedef __signalfn_t *__sighandler_t;
1790#line 20 "include/asm-generic/signal-defs.h"
1791typedef void __restorefn_t(void);
1792#line 21 "include/asm-generic/signal-defs.h"
1793typedef __restorefn_t *__sigrestore_t;
1794#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1795struct sigaction {
1796 __sighandler_t sa_handler ;
1797 unsigned long sa_flags ;
1798 __sigrestore_t sa_restorer ;
1799 sigset_t sa_mask ;
1800};
1801#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1802struct k_sigaction {
1803 struct sigaction sa ;
1804};
1805#line 7 "include/asm-generic/siginfo.h"
1806union sigval {
1807 int sival_int ;
1808 void *sival_ptr ;
1809};
1810#line 7 "include/asm-generic/siginfo.h"
1811typedef union sigval sigval_t;
1812#line 48 "include/asm-generic/siginfo.h"
1813struct __anonstruct__kill_217 {
1814 __kernel_pid_t _pid ;
1815 __kernel_uid32_t _uid ;
1816};
1817#line 48 "include/asm-generic/siginfo.h"
1818struct __anonstruct__timer_218 {
1819 __kernel_timer_t _tid ;
1820 int _overrun ;
1821 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1822 sigval_t _sigval ;
1823 int _sys_private ;
1824};
1825#line 48 "include/asm-generic/siginfo.h"
1826struct __anonstruct__rt_219 {
1827 __kernel_pid_t _pid ;
1828 __kernel_uid32_t _uid ;
1829 sigval_t _sigval ;
1830};
1831#line 48 "include/asm-generic/siginfo.h"
1832struct __anonstruct__sigchld_220 {
1833 __kernel_pid_t _pid ;
1834 __kernel_uid32_t _uid ;
1835 int _status ;
1836 __kernel_clock_t _utime ;
1837 __kernel_clock_t _stime ;
1838};
1839#line 48 "include/asm-generic/siginfo.h"
1840struct __anonstruct__sigfault_221 {
1841 void *_addr ;
1842 short _addr_lsb ;
1843};
1844#line 48 "include/asm-generic/siginfo.h"
1845struct __anonstruct__sigpoll_222 {
1846 long _band ;
1847 int _fd ;
1848};
1849#line 48 "include/asm-generic/siginfo.h"
1850union __anonunion__sifields_216 {
1851 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1852 struct __anonstruct__kill_217 _kill ;
1853 struct __anonstruct__timer_218 _timer ;
1854 struct __anonstruct__rt_219 _rt ;
1855 struct __anonstruct__sigchld_220 _sigchld ;
1856 struct __anonstruct__sigfault_221 _sigfault ;
1857 struct __anonstruct__sigpoll_222 _sigpoll ;
1858};
1859#line 48 "include/asm-generic/siginfo.h"
1860struct siginfo {
1861 int si_signo ;
1862 int si_errno ;
1863 int si_code ;
1864 union __anonunion__sifields_216 _sifields ;
1865};
1866#line 48 "include/asm-generic/siginfo.h"
1867typedef struct siginfo siginfo_t;
1868#line 288
1869struct siginfo;
1870#line 10 "include/linux/signal.h"
1871struct task_struct;
1872#line 18
1873struct user_struct;
1874#line 28 "include/linux/signal.h"
1875struct sigpending {
1876 struct list_head list ;
1877 sigset_t signal ;
1878};
1879#line 239
1880struct timespec;
1881#line 240
1882struct pt_regs;
1883#line 6 "include/linux/pid.h"
1884enum pid_type {
1885 PIDTYPE_PID = 0,
1886 PIDTYPE_PGID = 1,
1887 PIDTYPE_SID = 2,
1888 PIDTYPE_MAX = 3
1889} ;
1890#line 50
1891struct pid_namespace;
1892#line 50 "include/linux/pid.h"
1893struct upid {
1894 int nr ;
1895 struct pid_namespace *ns ;
1896 struct hlist_node pid_chain ;
1897};
1898#line 57 "include/linux/pid.h"
1899struct pid {
1900 atomic_t count ;
1901 unsigned int level ;
1902 struct hlist_head tasks[3] ;
1903 struct rcu_head rcu ;
1904 struct upid numbers[1] ;
1905};
1906#line 69 "include/linux/pid.h"
1907struct pid_link {
1908 struct hlist_node node ;
1909 struct pid *pid ;
1910};
1911#line 100
1912struct pid_namespace;
1913#line 10 "include/linux/seccomp.h"
1914struct __anonstruct_seccomp_t_225 {
1915 int mode ;
1916};
1917#line 10 "include/linux/seccomp.h"
1918typedef struct __anonstruct_seccomp_t_225 seccomp_t;
1919#line 81 "include/linux/plist.h"
1920struct plist_head {
1921 struct list_head node_list ;
1922};
1923#line 85 "include/linux/plist.h"
1924struct plist_node {
1925 int prio ;
1926 struct list_head prio_list ;
1927 struct list_head node_list ;
1928};
1929#line 40 "include/linux/rtmutex.h"
1930struct rt_mutex_waiter;
1931#line 40
1932struct rt_mutex_waiter;
1933#line 42 "include/linux/resource.h"
1934struct rlimit {
1935 unsigned long rlim_cur ;
1936 unsigned long rlim_max ;
1937};
1938#line 81
1939struct task_struct;
1940#line 8 "include/linux/timerqueue.h"
1941struct timerqueue_node {
1942 struct rb_node node ;
1943 ktime_t expires ;
1944};
1945#line 13 "include/linux/timerqueue.h"
1946struct timerqueue_head {
1947 struct rb_root head ;
1948 struct timerqueue_node *next ;
1949};
1950#line 27 "include/linux/hrtimer.h"
1951struct hrtimer_clock_base;
1952#line 27
1953struct hrtimer_clock_base;
1954#line 28
1955struct hrtimer_cpu_base;
1956#line 28
1957struct hrtimer_cpu_base;
1958#line 44
1959enum hrtimer_restart {
1960 HRTIMER_NORESTART = 0,
1961 HRTIMER_RESTART = 1
1962} ;
1963#line 108 "include/linux/hrtimer.h"
1964struct hrtimer {
1965 struct timerqueue_node node ;
1966 ktime_t _softexpires ;
1967 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1968 struct hrtimer_clock_base *base ;
1969 unsigned long state ;
1970 int start_pid ;
1971 void *start_site ;
1972 char start_comm[16] ;
1973};
1974#line 145 "include/linux/hrtimer.h"
1975struct hrtimer_clock_base {
1976 struct hrtimer_cpu_base *cpu_base ;
1977 int index ;
1978 clockid_t clockid ;
1979 struct timerqueue_head active ;
1980 ktime_t resolution ;
1981 ktime_t (*get_time)(void) ;
1982 ktime_t softirq_time ;
1983 ktime_t offset ;
1984};
1985#line 178 "include/linux/hrtimer.h"
1986struct hrtimer_cpu_base {
1987 raw_spinlock_t lock ;
1988 unsigned long active_bases ;
1989 ktime_t expires_next ;
1990 int hres_active ;
1991 int hang_detected ;
1992 unsigned long nr_events ;
1993 unsigned long nr_retries ;
1994 unsigned long nr_hangs ;
1995 ktime_t max_hang_time ;
1996 struct hrtimer_clock_base clock_base[3] ;
1997};
1998#line 11 "include/linux/task_io_accounting.h"
1999struct task_io_accounting {
2000 u64 rchar ;
2001 u64 wchar ;
2002 u64 syscr ;
2003 u64 syscw ;
2004 u64 read_bytes ;
2005 u64 write_bytes ;
2006 u64 cancelled_write_bytes ;
2007};
2008#line 13 "include/linux/latencytop.h"
2009struct task_struct;
2010#line 20 "include/linux/latencytop.h"
2011struct latency_record {
2012 unsigned long backtrace[12] ;
2013 unsigned int count ;
2014 unsigned long time ;
2015 unsigned long max ;
2016};
2017#line 29 "include/linux/key.h"
2018typedef int32_t key_serial_t;
2019#line 32 "include/linux/key.h"
2020typedef uint32_t key_perm_t;
2021#line 34
2022struct key;
2023#line 34
2024struct key;
2025#line 74
2026struct seq_file;
2027#line 75
2028struct user_struct;
2029#line 76
2030struct signal_struct;
2031#line 76
2032struct signal_struct;
2033#line 77
2034struct cred;
2035#line 79
2036struct key_type;
2037#line 79
2038struct key_type;
2039#line 81
2040struct keyring_list;
2041#line 81
2042struct keyring_list;
2043#line 124
2044struct key_user;
2045#line 124 "include/linux/key.h"
2046union __anonunion____missing_field_name_226 {
2047 time_t expiry ;
2048 time_t revoked_at ;
2049};
2050#line 124 "include/linux/key.h"
2051union __anonunion_type_data_227 {
2052 struct list_head link ;
2053 unsigned long x[2] ;
2054 void *p[2] ;
2055 int reject_error ;
2056};
2057#line 124 "include/linux/key.h"
2058union __anonunion_payload_228 {
2059 unsigned long value ;
2060 void *rcudata ;
2061 void *data ;
2062 struct keyring_list *subscriptions ;
2063};
2064#line 124 "include/linux/key.h"
2065struct key {
2066 atomic_t usage ;
2067 key_serial_t serial ;
2068 struct rb_node serial_node ;
2069 struct key_type *type ;
2070 struct rw_semaphore sem ;
2071 struct key_user *user ;
2072 void *security ;
2073 union __anonunion____missing_field_name_226 __annonCompField42 ;
2074 uid_t uid ;
2075 gid_t gid ;
2076 key_perm_t perm ;
2077 unsigned short quotalen ;
2078 unsigned short datalen ;
2079 unsigned long flags ;
2080 char *description ;
2081 union __anonunion_type_data_227 type_data ;
2082 union __anonunion_payload_228 payload ;
2083};
2084#line 18 "include/linux/selinux.h"
2085struct audit_context;
2086#line 18
2087struct audit_context;
2088#line 21 "include/linux/cred.h"
2089struct user_struct;
2090#line 22
2091struct cred;
2092#line 23
2093struct inode;
2094#line 31 "include/linux/cred.h"
2095struct group_info {
2096 atomic_t usage ;
2097 int ngroups ;
2098 int nblocks ;
2099 gid_t small_block[32] ;
2100 gid_t *blocks[0] ;
2101};
2102#line 83 "include/linux/cred.h"
2103struct thread_group_cred {
2104 atomic_t usage ;
2105 pid_t tgid ;
2106 spinlock_t lock ;
2107 struct key *session_keyring ;
2108 struct key *process_keyring ;
2109 struct rcu_head rcu ;
2110};
2111#line 116 "include/linux/cred.h"
2112struct cred {
2113 atomic_t usage ;
2114 atomic_t subscribers ;
2115 void *put_addr ;
2116 unsigned int magic ;
2117 uid_t uid ;
2118 gid_t gid ;
2119 uid_t suid ;
2120 gid_t sgid ;
2121 uid_t euid ;
2122 gid_t egid ;
2123 uid_t fsuid ;
2124 gid_t fsgid ;
2125 unsigned int securebits ;
2126 kernel_cap_t cap_inheritable ;
2127 kernel_cap_t cap_permitted ;
2128 kernel_cap_t cap_effective ;
2129 kernel_cap_t cap_bset ;
2130 unsigned char jit_keyring ;
2131 struct key *thread_keyring ;
2132 struct key *request_key_auth ;
2133 struct thread_group_cred *tgcred ;
2134 void *security ;
2135 struct user_struct *user ;
2136 struct user_namespace *user_ns ;
2137 struct group_info *group_info ;
2138 struct rcu_head rcu ;
2139};
2140#line 61 "include/linux/llist.h"
2141struct llist_node;
2142#line 65 "include/linux/llist.h"
2143struct llist_node {
2144 struct llist_node *next ;
2145};
2146#line 97 "include/linux/sched.h"
2147struct futex_pi_state;
2148#line 97
2149struct futex_pi_state;
2150#line 98
2151struct robust_list_head;
2152#line 98
2153struct robust_list_head;
2154#line 99
2155struct bio_list;
2156#line 99
2157struct bio_list;
2158#line 100
2159struct fs_struct;
2160#line 100
2161struct fs_struct;
2162#line 101
2163struct perf_event_context;
2164#line 101
2165struct perf_event_context;
2166#line 102
2167struct blk_plug;
2168#line 102
2169struct blk_plug;
2170#line 150
2171struct seq_file;
2172#line 151
2173struct cfs_rq;
2174#line 151
2175struct cfs_rq;
2176#line 259
2177struct task_struct;
2178#line 366
2179struct nsproxy;
2180#line 367
2181struct user_namespace;
2182#line 58 "include/linux/aio_abi.h"
2183struct io_event {
2184 __u64 data ;
2185 __u64 obj ;
2186 __s64 res ;
2187 __s64 res2 ;
2188};
2189#line 15 "include/linux/aio.h"
2190struct kioctx;
2191#line 15
2192struct kioctx;
2193#line 87 "include/linux/aio.h"
2194union __anonunion_ki_obj_230 {
2195 void *user ;
2196 struct task_struct *tsk ;
2197};
2198#line 87
2199struct eventfd_ctx;
2200#line 87 "include/linux/aio.h"
2201struct kiocb {
2202 struct list_head ki_run_list ;
2203 unsigned long ki_flags ;
2204 int ki_users ;
2205 unsigned int ki_key ;
2206 struct file *ki_filp ;
2207 struct kioctx *ki_ctx ;
2208 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2209 ssize_t (*ki_retry)(struct kiocb * ) ;
2210 void (*ki_dtor)(struct kiocb * ) ;
2211 union __anonunion_ki_obj_230 ki_obj ;
2212 __u64 ki_user_data ;
2213 loff_t ki_pos ;
2214 void *private ;
2215 unsigned short ki_opcode ;
2216 size_t ki_nbytes ;
2217 char *ki_buf ;
2218 size_t ki_left ;
2219 struct iovec ki_inline_vec ;
2220 struct iovec *ki_iovec ;
2221 unsigned long ki_nr_segs ;
2222 unsigned long ki_cur_seg ;
2223 struct list_head ki_list ;
2224 struct list_head ki_batch ;
2225 struct eventfd_ctx *ki_eventfd ;
2226};
2227#line 166 "include/linux/aio.h"
2228struct aio_ring_info {
2229 unsigned long mmap_base ;
2230 unsigned long mmap_size ;
2231 struct page **ring_pages ;
2232 spinlock_t ring_lock ;
2233 long nr_pages ;
2234 unsigned int nr ;
2235 unsigned int tail ;
2236 struct page *internal_pages[8] ;
2237};
2238#line 179 "include/linux/aio.h"
2239struct kioctx {
2240 atomic_t users ;
2241 int dead ;
2242 struct mm_struct *mm ;
2243 unsigned long user_id ;
2244 struct hlist_node list ;
2245 wait_queue_head_t wait ;
2246 spinlock_t ctx_lock ;
2247 int reqs_active ;
2248 struct list_head active_reqs ;
2249 struct list_head run_list ;
2250 unsigned int max_reqs ;
2251 struct aio_ring_info ring_info ;
2252 struct delayed_work wq ;
2253 struct rcu_head rcu_head ;
2254};
2255#line 214
2256struct mm_struct;
2257#line 443 "include/linux/sched.h"
2258struct sighand_struct {
2259 atomic_t count ;
2260 struct k_sigaction action[64] ;
2261 spinlock_t siglock ;
2262 wait_queue_head_t signalfd_wqh ;
2263};
2264#line 450 "include/linux/sched.h"
2265struct pacct_struct {
2266 int ac_flag ;
2267 long ac_exitcode ;
2268 unsigned long ac_mem ;
2269 cputime_t ac_utime ;
2270 cputime_t ac_stime ;
2271 unsigned long ac_minflt ;
2272 unsigned long ac_majflt ;
2273};
2274#line 458 "include/linux/sched.h"
2275struct cpu_itimer {
2276 cputime_t expires ;
2277 cputime_t incr ;
2278 u32 error ;
2279 u32 incr_error ;
2280};
2281#line 476 "include/linux/sched.h"
2282struct task_cputime {
2283 cputime_t utime ;
2284 cputime_t stime ;
2285 unsigned long long sum_exec_runtime ;
2286};
2287#line 512 "include/linux/sched.h"
2288struct thread_group_cputimer {
2289 struct task_cputime cputime ;
2290 int running ;
2291 raw_spinlock_t lock ;
2292};
2293#line 519
2294struct autogroup;
2295#line 519
2296struct autogroup;
2297#line 528
2298struct tty_struct;
2299#line 528
2300struct taskstats;
2301#line 528
2302struct tty_audit_buf;
2303#line 528 "include/linux/sched.h"
2304struct signal_struct {
2305 atomic_t sigcnt ;
2306 atomic_t live ;
2307 int nr_threads ;
2308 wait_queue_head_t wait_chldexit ;
2309 struct task_struct *curr_target ;
2310 struct sigpending shared_pending ;
2311 int group_exit_code ;
2312 int notify_count ;
2313 struct task_struct *group_exit_task ;
2314 int group_stop_count ;
2315 unsigned int flags ;
2316 unsigned int is_child_subreaper : 1 ;
2317 unsigned int has_child_subreaper : 1 ;
2318 struct list_head posix_timers ;
2319 struct hrtimer real_timer ;
2320 struct pid *leader_pid ;
2321 ktime_t it_real_incr ;
2322 struct cpu_itimer it[2] ;
2323 struct thread_group_cputimer cputimer ;
2324 struct task_cputime cputime_expires ;
2325 struct list_head cpu_timers[3] ;
2326 struct pid *tty_old_pgrp ;
2327 int leader ;
2328 struct tty_struct *tty ;
2329 struct autogroup *autogroup ;
2330 cputime_t utime ;
2331 cputime_t stime ;
2332 cputime_t cutime ;
2333 cputime_t cstime ;
2334 cputime_t gtime ;
2335 cputime_t cgtime ;
2336 cputime_t prev_utime ;
2337 cputime_t prev_stime ;
2338 unsigned long nvcsw ;
2339 unsigned long nivcsw ;
2340 unsigned long cnvcsw ;
2341 unsigned long cnivcsw ;
2342 unsigned long min_flt ;
2343 unsigned long maj_flt ;
2344 unsigned long cmin_flt ;
2345 unsigned long cmaj_flt ;
2346 unsigned long inblock ;
2347 unsigned long oublock ;
2348 unsigned long cinblock ;
2349 unsigned long coublock ;
2350 unsigned long maxrss ;
2351 unsigned long cmaxrss ;
2352 struct task_io_accounting ioac ;
2353 unsigned long long sum_sched_runtime ;
2354 struct rlimit rlim[16] ;
2355 struct pacct_struct pacct ;
2356 struct taskstats *stats ;
2357 unsigned int audit_tty ;
2358 struct tty_audit_buf *tty_audit_buf ;
2359 struct rw_semaphore group_rwsem ;
2360 int oom_adj ;
2361 int oom_score_adj ;
2362 int oom_score_adj_min ;
2363 struct mutex cred_guard_mutex ;
2364};
2365#line 703 "include/linux/sched.h"
2366struct user_struct {
2367 atomic_t __count ;
2368 atomic_t processes ;
2369 atomic_t files ;
2370 atomic_t sigpending ;
2371 atomic_t inotify_watches ;
2372 atomic_t inotify_devs ;
2373 atomic_t fanotify_listeners ;
2374 atomic_long_t epoll_watches ;
2375 unsigned long mq_bytes ;
2376 unsigned long locked_shm ;
2377 struct key *uid_keyring ;
2378 struct key *session_keyring ;
2379 struct hlist_node uidhash_node ;
2380 uid_t uid ;
2381 struct user_namespace *user_ns ;
2382 atomic_long_t locked_vm ;
2383};
2384#line 747
2385struct backing_dev_info;
2386#line 748
2387struct reclaim_state;
2388#line 748
2389struct reclaim_state;
2390#line 751 "include/linux/sched.h"
2391struct sched_info {
2392 unsigned long pcount ;
2393 unsigned long long run_delay ;
2394 unsigned long long last_arrival ;
2395 unsigned long long last_queued ;
2396};
2397#line 763 "include/linux/sched.h"
2398struct task_delay_info {
2399 spinlock_t lock ;
2400 unsigned int flags ;
2401 struct timespec blkio_start ;
2402 struct timespec blkio_end ;
2403 u64 blkio_delay ;
2404 u64 swapin_delay ;
2405 u32 blkio_count ;
2406 u32 swapin_count ;
2407 struct timespec freepages_start ;
2408 struct timespec freepages_end ;
2409 u64 freepages_delay ;
2410 u32 freepages_count ;
2411};
2412#line 1088
2413struct io_context;
2414#line 1088
2415struct io_context;
2416#line 1097
2417struct audit_context;
2418#line 1098
2419struct mempolicy;
2420#line 1099
2421struct pipe_inode_info;
2422#line 1099
2423struct pipe_inode_info;
2424#line 1102
2425struct rq;
2426#line 1102
2427struct rq;
2428#line 1122 "include/linux/sched.h"
2429struct sched_class {
2430 struct sched_class const *next ;
2431 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2432 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2433 void (*yield_task)(struct rq *rq ) ;
2434 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2435 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2436 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2437 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2438 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2439 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2440 void (*post_schedule)(struct rq *this_rq ) ;
2441 void (*task_waking)(struct task_struct *task ) ;
2442 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2443 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2444 void (*rq_online)(struct rq *rq ) ;
2445 void (*rq_offline)(struct rq *rq ) ;
2446 void (*set_curr_task)(struct rq *rq ) ;
2447 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2448 void (*task_fork)(struct task_struct *p ) ;
2449 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2450 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2451 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2452 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2453 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2454};
2455#line 1167 "include/linux/sched.h"
2456struct load_weight {
2457 unsigned long weight ;
2458 unsigned long inv_weight ;
2459};
2460#line 1172 "include/linux/sched.h"
2461struct sched_statistics {
2462 u64 wait_start ;
2463 u64 wait_max ;
2464 u64 wait_count ;
2465 u64 wait_sum ;
2466 u64 iowait_count ;
2467 u64 iowait_sum ;
2468 u64 sleep_start ;
2469 u64 sleep_max ;
2470 s64 sum_sleep_runtime ;
2471 u64 block_start ;
2472 u64 block_max ;
2473 u64 exec_max ;
2474 u64 slice_max ;
2475 u64 nr_migrations_cold ;
2476 u64 nr_failed_migrations_affine ;
2477 u64 nr_failed_migrations_running ;
2478 u64 nr_failed_migrations_hot ;
2479 u64 nr_forced_migrations ;
2480 u64 nr_wakeups ;
2481 u64 nr_wakeups_sync ;
2482 u64 nr_wakeups_migrate ;
2483 u64 nr_wakeups_local ;
2484 u64 nr_wakeups_remote ;
2485 u64 nr_wakeups_affine ;
2486 u64 nr_wakeups_affine_attempts ;
2487 u64 nr_wakeups_passive ;
2488 u64 nr_wakeups_idle ;
2489};
2490#line 1207 "include/linux/sched.h"
2491struct sched_entity {
2492 struct load_weight load ;
2493 struct rb_node run_node ;
2494 struct list_head group_node ;
2495 unsigned int on_rq ;
2496 u64 exec_start ;
2497 u64 sum_exec_runtime ;
2498 u64 vruntime ;
2499 u64 prev_sum_exec_runtime ;
2500 u64 nr_migrations ;
2501 struct sched_statistics statistics ;
2502 struct sched_entity *parent ;
2503 struct cfs_rq *cfs_rq ;
2504 struct cfs_rq *my_q ;
2505};
2506#line 1233
2507struct rt_rq;
2508#line 1233 "include/linux/sched.h"
2509struct sched_rt_entity {
2510 struct list_head run_list ;
2511 unsigned long timeout ;
2512 unsigned int time_slice ;
2513 int nr_cpus_allowed ;
2514 struct sched_rt_entity *back ;
2515 struct sched_rt_entity *parent ;
2516 struct rt_rq *rt_rq ;
2517 struct rt_rq *my_q ;
2518};
2519#line 1264
2520struct files_struct;
2521#line 1264
2522struct css_set;
2523#line 1264
2524struct compat_robust_list_head;
2525#line 1264
2526struct mem_cgroup;
2527#line 1264 "include/linux/sched.h"
2528struct memcg_batch_info {
2529 int do_batch ;
2530 struct mem_cgroup *memcg ;
2531 unsigned long nr_pages ;
2532 unsigned long memsw_nr_pages ;
2533};
2534#line 1264 "include/linux/sched.h"
2535struct task_struct {
2536 long volatile state ;
2537 void *stack ;
2538 atomic_t usage ;
2539 unsigned int flags ;
2540 unsigned int ptrace ;
2541 struct llist_node wake_entry ;
2542 int on_cpu ;
2543 int on_rq ;
2544 int prio ;
2545 int static_prio ;
2546 int normal_prio ;
2547 unsigned int rt_priority ;
2548 struct sched_class const *sched_class ;
2549 struct sched_entity se ;
2550 struct sched_rt_entity rt ;
2551 struct hlist_head preempt_notifiers ;
2552 unsigned char fpu_counter ;
2553 unsigned int policy ;
2554 cpumask_t cpus_allowed ;
2555 struct sched_info sched_info ;
2556 struct list_head tasks ;
2557 struct plist_node pushable_tasks ;
2558 struct mm_struct *mm ;
2559 struct mm_struct *active_mm ;
2560 unsigned int brk_randomized : 1 ;
2561 int exit_state ;
2562 int exit_code ;
2563 int exit_signal ;
2564 int pdeath_signal ;
2565 unsigned int jobctl ;
2566 unsigned int personality ;
2567 unsigned int did_exec : 1 ;
2568 unsigned int in_execve : 1 ;
2569 unsigned int in_iowait : 1 ;
2570 unsigned int sched_reset_on_fork : 1 ;
2571 unsigned int sched_contributes_to_load : 1 ;
2572 unsigned int irq_thread : 1 ;
2573 pid_t pid ;
2574 pid_t tgid ;
2575 unsigned long stack_canary ;
2576 struct task_struct *real_parent ;
2577 struct task_struct *parent ;
2578 struct list_head children ;
2579 struct list_head sibling ;
2580 struct task_struct *group_leader ;
2581 struct list_head ptraced ;
2582 struct list_head ptrace_entry ;
2583 struct pid_link pids[3] ;
2584 struct list_head thread_group ;
2585 struct completion *vfork_done ;
2586 int *set_child_tid ;
2587 int *clear_child_tid ;
2588 cputime_t utime ;
2589 cputime_t stime ;
2590 cputime_t utimescaled ;
2591 cputime_t stimescaled ;
2592 cputime_t gtime ;
2593 cputime_t prev_utime ;
2594 cputime_t prev_stime ;
2595 unsigned long nvcsw ;
2596 unsigned long nivcsw ;
2597 struct timespec start_time ;
2598 struct timespec real_start_time ;
2599 unsigned long min_flt ;
2600 unsigned long maj_flt ;
2601 struct task_cputime cputime_expires ;
2602 struct list_head cpu_timers[3] ;
2603 struct cred const *real_cred ;
2604 struct cred const *cred ;
2605 struct cred *replacement_session_keyring ;
2606 char comm[16] ;
2607 int link_count ;
2608 int total_link_count ;
2609 struct sysv_sem sysvsem ;
2610 unsigned long last_switch_count ;
2611 struct thread_struct thread ;
2612 struct fs_struct *fs ;
2613 struct files_struct *files ;
2614 struct nsproxy *nsproxy ;
2615 struct signal_struct *signal ;
2616 struct sighand_struct *sighand ;
2617 sigset_t blocked ;
2618 sigset_t real_blocked ;
2619 sigset_t saved_sigmask ;
2620 struct sigpending pending ;
2621 unsigned long sas_ss_sp ;
2622 size_t sas_ss_size ;
2623 int (*notifier)(void *priv ) ;
2624 void *notifier_data ;
2625 sigset_t *notifier_mask ;
2626 struct audit_context *audit_context ;
2627 uid_t loginuid ;
2628 unsigned int sessionid ;
2629 seccomp_t seccomp ;
2630 u32 parent_exec_id ;
2631 u32 self_exec_id ;
2632 spinlock_t alloc_lock ;
2633 raw_spinlock_t pi_lock ;
2634 struct plist_head pi_waiters ;
2635 struct rt_mutex_waiter *pi_blocked_on ;
2636 struct mutex_waiter *blocked_on ;
2637 unsigned int irq_events ;
2638 unsigned long hardirq_enable_ip ;
2639 unsigned long hardirq_disable_ip ;
2640 unsigned int hardirq_enable_event ;
2641 unsigned int hardirq_disable_event ;
2642 int hardirqs_enabled ;
2643 int hardirq_context ;
2644 unsigned long softirq_disable_ip ;
2645 unsigned long softirq_enable_ip ;
2646 unsigned int softirq_disable_event ;
2647 unsigned int softirq_enable_event ;
2648 int softirqs_enabled ;
2649 int softirq_context ;
2650 void *journal_info ;
2651 struct bio_list *bio_list ;
2652 struct blk_plug *plug ;
2653 struct reclaim_state *reclaim_state ;
2654 struct backing_dev_info *backing_dev_info ;
2655 struct io_context *io_context ;
2656 unsigned long ptrace_message ;
2657 siginfo_t *last_siginfo ;
2658 struct task_io_accounting ioac ;
2659 u64 acct_rss_mem1 ;
2660 u64 acct_vm_mem1 ;
2661 cputime_t acct_timexpd ;
2662 nodemask_t mems_allowed ;
2663 seqcount_t mems_allowed_seq ;
2664 int cpuset_mem_spread_rotor ;
2665 int cpuset_slab_spread_rotor ;
2666 struct css_set *cgroups ;
2667 struct list_head cg_list ;
2668 struct robust_list_head *robust_list ;
2669 struct compat_robust_list_head *compat_robust_list ;
2670 struct list_head pi_state_list ;
2671 struct futex_pi_state *pi_state_cache ;
2672 struct perf_event_context *perf_event_ctxp[2] ;
2673 struct mutex perf_event_mutex ;
2674 struct list_head perf_event_list ;
2675 struct mempolicy *mempolicy ;
2676 short il_next ;
2677 short pref_node_fork ;
2678 struct rcu_head rcu ;
2679 struct pipe_inode_info *splice_pipe ;
2680 struct task_delay_info *delays ;
2681 int make_it_fail ;
2682 int nr_dirtied ;
2683 int nr_dirtied_pause ;
2684 unsigned long dirty_paused_when ;
2685 int latency_record_count ;
2686 struct latency_record latency_record[32] ;
2687 unsigned long timer_slack_ns ;
2688 unsigned long default_timer_slack_ns ;
2689 struct list_head *scm_work_list ;
2690 unsigned long trace ;
2691 unsigned long trace_recursion ;
2692 struct memcg_batch_info memcg_batch ;
2693 atomic_t ptrace_bp_refcnt ;
2694};
2695#line 1681
2696struct pid_namespace;
2697#line 46 "include/linux/slub_def.h"
2698struct kmem_cache_cpu {
2699 void **freelist ;
2700 unsigned long tid ;
2701 struct page *page ;
2702 struct page *partial ;
2703 int node ;
2704 unsigned int stat[26] ;
2705};
2706#line 57 "include/linux/slub_def.h"
2707struct kmem_cache_node {
2708 spinlock_t list_lock ;
2709 unsigned long nr_partial ;
2710 struct list_head partial ;
2711 atomic_long_t nr_slabs ;
2712 atomic_long_t total_objects ;
2713 struct list_head full ;
2714};
2715#line 73 "include/linux/slub_def.h"
2716struct kmem_cache_order_objects {
2717 unsigned long x ;
2718};
2719#line 80 "include/linux/slub_def.h"
2720struct kmem_cache {
2721 struct kmem_cache_cpu *cpu_slab ;
2722 unsigned long flags ;
2723 unsigned long min_partial ;
2724 int size ;
2725 int objsize ;
2726 int offset ;
2727 int cpu_partial ;
2728 struct kmem_cache_order_objects oo ;
2729 struct kmem_cache_order_objects max ;
2730 struct kmem_cache_order_objects min ;
2731 gfp_t allocflags ;
2732 int refcount ;
2733 void (*ctor)(void * ) ;
2734 int inuse ;
2735 int align ;
2736 int reserved ;
2737 char const *name ;
2738 struct list_head list ;
2739 struct kobject kobj ;
2740 int remote_node_defrag_ratio ;
2741 struct kmem_cache_node *node[1 << 10] ;
2742};
2743#line 15 "include/linux/blk_types.h"
2744struct page;
2745#line 16
2746struct block_device;
2747#line 16
2748struct block_device;
2749#line 33 "include/linux/list_bl.h"
2750struct hlist_bl_node;
2751#line 33 "include/linux/list_bl.h"
2752struct hlist_bl_head {
2753 struct hlist_bl_node *first ;
2754};
2755#line 37 "include/linux/list_bl.h"
2756struct hlist_bl_node {
2757 struct hlist_bl_node *next ;
2758 struct hlist_bl_node **pprev ;
2759};
2760#line 13 "include/linux/dcache.h"
2761struct nameidata;
2762#line 13
2763struct nameidata;
2764#line 14
2765struct path;
2766#line 14
2767struct path;
2768#line 15
2769struct vfsmount;
2770#line 15
2771struct vfsmount;
2772#line 35 "include/linux/dcache.h"
2773struct qstr {
2774 unsigned int hash ;
2775 unsigned int len ;
2776 unsigned char const *name ;
2777};
2778#line 88
2779struct dentry_operations;
2780#line 88
2781struct super_block;
2782#line 88 "include/linux/dcache.h"
2783union __anonunion_d_u_232 {
2784 struct list_head d_child ;
2785 struct rcu_head d_rcu ;
2786};
2787#line 88 "include/linux/dcache.h"
2788struct dentry {
2789 unsigned int d_flags ;
2790 seqcount_t d_seq ;
2791 struct hlist_bl_node d_hash ;
2792 struct dentry *d_parent ;
2793 struct qstr d_name ;
2794 struct inode *d_inode ;
2795 unsigned char d_iname[32] ;
2796 unsigned int d_count ;
2797 spinlock_t d_lock ;
2798 struct dentry_operations const *d_op ;
2799 struct super_block *d_sb ;
2800 unsigned long d_time ;
2801 void *d_fsdata ;
2802 struct list_head d_lru ;
2803 union __anonunion_d_u_232 d_u ;
2804 struct list_head d_subdirs ;
2805 struct list_head d_alias ;
2806};
2807#line 131 "include/linux/dcache.h"
2808struct dentry_operations {
2809 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2810 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2811 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2812 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2813 int (*d_delete)(struct dentry const * ) ;
2814 void (*d_release)(struct dentry * ) ;
2815 void (*d_prune)(struct dentry * ) ;
2816 void (*d_iput)(struct dentry * , struct inode * ) ;
2817 char *(*d_dname)(struct dentry * , char * , int ) ;
2818 struct vfsmount *(*d_automount)(struct path * ) ;
2819 int (*d_manage)(struct dentry * , bool ) ;
2820} __attribute__((__aligned__((1) << (6) ))) ;
2821#line 4 "include/linux/path.h"
2822struct dentry;
2823#line 5
2824struct vfsmount;
2825#line 7 "include/linux/path.h"
2826struct path {
2827 struct vfsmount *mnt ;
2828 struct dentry *dentry ;
2829};
2830#line 64 "include/linux/radix-tree.h"
2831struct radix_tree_node;
2832#line 64 "include/linux/radix-tree.h"
2833struct radix_tree_root {
2834 unsigned int height ;
2835 gfp_t gfp_mask ;
2836 struct radix_tree_node *rnode ;
2837};
2838#line 16 "include/linux/fiemap.h"
2839struct fiemap_extent {
2840 __u64 fe_logical ;
2841 __u64 fe_physical ;
2842 __u64 fe_length ;
2843 __u64 fe_reserved64[2] ;
2844 __u32 fe_flags ;
2845 __u32 fe_reserved[3] ;
2846};
2847#line 8 "include/linux/shrinker.h"
2848struct shrink_control {
2849 gfp_t gfp_mask ;
2850 unsigned long nr_to_scan ;
2851};
2852#line 31 "include/linux/shrinker.h"
2853struct shrinker {
2854 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
2855 int seeks ;
2856 long batch ;
2857 struct list_head list ;
2858 atomic_long_t nr_in_batch ;
2859};
2860#line 10 "include/linux/migrate_mode.h"
2861enum migrate_mode {
2862 MIGRATE_ASYNC = 0,
2863 MIGRATE_SYNC_LIGHT = 1,
2864 MIGRATE_SYNC = 2
2865} ;
2866#line 408 "include/linux/fs.h"
2867struct export_operations;
2868#line 408
2869struct export_operations;
2870#line 409
2871struct hd_geometry;
2872#line 410
2873struct iovec;
2874#line 411
2875struct nameidata;
2876#line 412
2877struct kiocb;
2878#line 413
2879struct kobject;
2880#line 414
2881struct pipe_inode_info;
2882#line 415
2883struct poll_table_struct;
2884#line 415
2885struct poll_table_struct;
2886#line 416
2887struct kstatfs;
2888#line 416
2889struct kstatfs;
2890#line 417
2891struct vm_area_struct;
2892#line 418
2893struct vfsmount;
2894#line 419
2895struct cred;
2896#line 469 "include/linux/fs.h"
2897struct iattr {
2898 unsigned int ia_valid ;
2899 umode_t ia_mode ;
2900 uid_t ia_uid ;
2901 gid_t ia_gid ;
2902 loff_t ia_size ;
2903 struct timespec ia_atime ;
2904 struct timespec ia_mtime ;
2905 struct timespec ia_ctime ;
2906 struct file *ia_file ;
2907};
2908#line 129 "include/linux/quota.h"
2909struct if_dqinfo {
2910 __u64 dqi_bgrace ;
2911 __u64 dqi_igrace ;
2912 __u32 dqi_flags ;
2913 __u32 dqi_valid ;
2914};
2915#line 50 "include/linux/dqblk_xfs.h"
2916struct fs_disk_quota {
2917 __s8 d_version ;
2918 __s8 d_flags ;
2919 __u16 d_fieldmask ;
2920 __u32 d_id ;
2921 __u64 d_blk_hardlimit ;
2922 __u64 d_blk_softlimit ;
2923 __u64 d_ino_hardlimit ;
2924 __u64 d_ino_softlimit ;
2925 __u64 d_bcount ;
2926 __u64 d_icount ;
2927 __s32 d_itimer ;
2928 __s32 d_btimer ;
2929 __u16 d_iwarns ;
2930 __u16 d_bwarns ;
2931 __s32 d_padding2 ;
2932 __u64 d_rtb_hardlimit ;
2933 __u64 d_rtb_softlimit ;
2934 __u64 d_rtbcount ;
2935 __s32 d_rtbtimer ;
2936 __u16 d_rtbwarns ;
2937 __s16 d_padding3 ;
2938 char d_padding4[8] ;
2939};
2940#line 146 "include/linux/dqblk_xfs.h"
2941struct fs_qfilestat {
2942 __u64 qfs_ino ;
2943 __u64 qfs_nblks ;
2944 __u32 qfs_nextents ;
2945};
2946#line 146 "include/linux/dqblk_xfs.h"
2947typedef struct fs_qfilestat fs_qfilestat_t;
2948#line 152 "include/linux/dqblk_xfs.h"
2949struct fs_quota_stat {
2950 __s8 qs_version ;
2951 __u16 qs_flags ;
2952 __s8 qs_pad ;
2953 fs_qfilestat_t qs_uquota ;
2954 fs_qfilestat_t qs_gquota ;
2955 __u32 qs_incoredqs ;
2956 __s32 qs_btimelimit ;
2957 __s32 qs_itimelimit ;
2958 __s32 qs_rtbtimelimit ;
2959 __u16 qs_bwarnlimit ;
2960 __u16 qs_iwarnlimit ;
2961};
2962#line 17 "include/linux/dqblk_qtree.h"
2963struct dquot;
2964#line 17
2965struct dquot;
2966#line 185 "include/linux/quota.h"
2967typedef __kernel_uid32_t qid_t;
2968#line 186 "include/linux/quota.h"
2969typedef long long qsize_t;
2970#line 200 "include/linux/quota.h"
2971struct mem_dqblk {
2972 qsize_t dqb_bhardlimit ;
2973 qsize_t dqb_bsoftlimit ;
2974 qsize_t dqb_curspace ;
2975 qsize_t dqb_rsvspace ;
2976 qsize_t dqb_ihardlimit ;
2977 qsize_t dqb_isoftlimit ;
2978 qsize_t dqb_curinodes ;
2979 time_t dqb_btime ;
2980 time_t dqb_itime ;
2981};
2982#line 215
2983struct quota_format_type;
2984#line 215
2985struct quota_format_type;
2986#line 217 "include/linux/quota.h"
2987struct mem_dqinfo {
2988 struct quota_format_type *dqi_format ;
2989 int dqi_fmt_id ;
2990 struct list_head dqi_dirty_list ;
2991 unsigned long dqi_flags ;
2992 unsigned int dqi_bgrace ;
2993 unsigned int dqi_igrace ;
2994 qsize_t dqi_maxblimit ;
2995 qsize_t dqi_maxilimit ;
2996 void *dqi_priv ;
2997};
2998#line 230
2999struct super_block;
3000#line 288 "include/linux/quota.h"
3001struct dquot {
3002 struct hlist_node dq_hash ;
3003 struct list_head dq_inuse ;
3004 struct list_head dq_free ;
3005 struct list_head dq_dirty ;
3006 struct mutex dq_lock ;
3007 atomic_t dq_count ;
3008 wait_queue_head_t dq_wait_unused ;
3009 struct super_block *dq_sb ;
3010 unsigned int dq_id ;
3011 loff_t dq_off ;
3012 unsigned long dq_flags ;
3013 short dq_type ;
3014 struct mem_dqblk dq_dqb ;
3015};
3016#line 305 "include/linux/quota.h"
3017struct quota_format_ops {
3018 int (*check_quota_file)(struct super_block *sb , int type ) ;
3019 int (*read_file_info)(struct super_block *sb , int type ) ;
3020 int (*write_file_info)(struct super_block *sb , int type ) ;
3021 int (*free_file_info)(struct super_block *sb , int type ) ;
3022 int (*read_dqblk)(struct dquot *dquot ) ;
3023 int (*commit_dqblk)(struct dquot *dquot ) ;
3024 int (*release_dqblk)(struct dquot *dquot ) ;
3025};
3026#line 316 "include/linux/quota.h"
3027struct dquot_operations {
3028 int (*write_dquot)(struct dquot * ) ;
3029 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3030 void (*destroy_dquot)(struct dquot * ) ;
3031 int (*acquire_dquot)(struct dquot * ) ;
3032 int (*release_dquot)(struct dquot * ) ;
3033 int (*mark_dirty)(struct dquot * ) ;
3034 int (*write_info)(struct super_block * , int ) ;
3035 qsize_t *(*get_reserved_space)(struct inode * ) ;
3036};
3037#line 329
3038struct path;
3039#line 332 "include/linux/quota.h"
3040struct quotactl_ops {
3041 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3042 int (*quota_on_meta)(struct super_block * , int , int ) ;
3043 int (*quota_off)(struct super_block * , int ) ;
3044 int (*quota_sync)(struct super_block * , int , int ) ;
3045 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3046 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3047 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3048 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3049 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3050 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3051};
3052#line 345 "include/linux/quota.h"
3053struct quota_format_type {
3054 int qf_fmt_id ;
3055 struct quota_format_ops const *qf_ops ;
3056 struct module *qf_owner ;
3057 struct quota_format_type *qf_next ;
3058};
3059#line 399 "include/linux/quota.h"
3060struct quota_info {
3061 unsigned int flags ;
3062 struct mutex dqio_mutex ;
3063 struct mutex dqonoff_mutex ;
3064 struct rw_semaphore dqptr_sem ;
3065 struct inode *files[2] ;
3066 struct mem_dqinfo info[2] ;
3067 struct quota_format_ops const *ops[2] ;
3068};
3069#line 532 "include/linux/fs.h"
3070struct page;
3071#line 533
3072struct address_space;
3073#line 534
3074struct writeback_control;
3075#line 534
3076struct writeback_control;
3077#line 577 "include/linux/fs.h"
3078union __anonunion_arg_239 {
3079 char *buf ;
3080 void *data ;
3081};
3082#line 577 "include/linux/fs.h"
3083struct __anonstruct_read_descriptor_t_238 {
3084 size_t written ;
3085 size_t count ;
3086 union __anonunion_arg_239 arg ;
3087 int error ;
3088};
3089#line 577 "include/linux/fs.h"
3090typedef struct __anonstruct_read_descriptor_t_238 read_descriptor_t;
3091#line 590 "include/linux/fs.h"
3092struct address_space_operations {
3093 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3094 int (*readpage)(struct file * , struct page * ) ;
3095 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3096 int (*set_page_dirty)(struct page *page ) ;
3097 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3098 unsigned int nr_pages ) ;
3099 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3100 unsigned int len , unsigned int flags , struct page **pagep ,
3101 void **fsdata ) ;
3102 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3103 unsigned int copied , struct page *page , void *fsdata ) ;
3104 sector_t (*bmap)(struct address_space * , sector_t ) ;
3105 void (*invalidatepage)(struct page * , unsigned long ) ;
3106 int (*releasepage)(struct page * , gfp_t ) ;
3107 void (*freepage)(struct page * ) ;
3108 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3109 unsigned long nr_segs ) ;
3110 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3111 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
3112 int (*launder_page)(struct page * ) ;
3113 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3114 int (*error_remove_page)(struct address_space * , struct page * ) ;
3115};
3116#line 645
3117struct backing_dev_info;
3118#line 646 "include/linux/fs.h"
3119struct address_space {
3120 struct inode *host ;
3121 struct radix_tree_root page_tree ;
3122 spinlock_t tree_lock ;
3123 unsigned int i_mmap_writable ;
3124 struct prio_tree_root i_mmap ;
3125 struct list_head i_mmap_nonlinear ;
3126 struct mutex i_mmap_mutex ;
3127 unsigned long nrpages ;
3128 unsigned long writeback_index ;
3129 struct address_space_operations const *a_ops ;
3130 unsigned long flags ;
3131 struct backing_dev_info *backing_dev_info ;
3132 spinlock_t private_lock ;
3133 struct list_head private_list ;
3134 struct address_space *assoc_mapping ;
3135} __attribute__((__aligned__(sizeof(long )))) ;
3136#line 669
3137struct request_queue;
3138#line 671
3139struct hd_struct;
3140#line 671 "include/linux/fs.h"
3141struct block_device {
3142 dev_t bd_dev ;
3143 int bd_openers ;
3144 struct inode *bd_inode ;
3145 struct super_block *bd_super ;
3146 struct mutex bd_mutex ;
3147 struct list_head bd_inodes ;
3148 void *bd_claiming ;
3149 void *bd_holder ;
3150 int bd_holders ;
3151 bool bd_write_holder ;
3152 struct list_head bd_holder_disks ;
3153 struct block_device *bd_contains ;
3154 unsigned int bd_block_size ;
3155 struct hd_struct *bd_part ;
3156 unsigned int bd_part_count ;
3157 int bd_invalidated ;
3158 struct gendisk *bd_disk ;
3159 struct request_queue *bd_queue ;
3160 struct list_head bd_list ;
3161 unsigned long bd_private ;
3162 int bd_fsfreeze_count ;
3163 struct mutex bd_fsfreeze_mutex ;
3164};
3165#line 749
3166struct posix_acl;
3167#line 749
3168struct posix_acl;
3169#line 761
3170struct inode_operations;
3171#line 761 "include/linux/fs.h"
3172union __anonunion____missing_field_name_240 {
3173 unsigned int const i_nlink ;
3174 unsigned int __i_nlink ;
3175};
3176#line 761 "include/linux/fs.h"
3177union __anonunion____missing_field_name_241 {
3178 struct list_head i_dentry ;
3179 struct rcu_head i_rcu ;
3180};
3181#line 761
3182struct file_operations;
3183#line 761
3184struct file_lock;
3185#line 761
3186struct cdev;
3187#line 761 "include/linux/fs.h"
3188union __anonunion____missing_field_name_242 {
3189 struct pipe_inode_info *i_pipe ;
3190 struct block_device *i_bdev ;
3191 struct cdev *i_cdev ;
3192};
3193#line 761 "include/linux/fs.h"
3194struct inode {
3195 umode_t i_mode ;
3196 unsigned short i_opflags ;
3197 uid_t i_uid ;
3198 gid_t i_gid ;
3199 unsigned int i_flags ;
3200 struct posix_acl *i_acl ;
3201 struct posix_acl *i_default_acl ;
3202 struct inode_operations const *i_op ;
3203 struct super_block *i_sb ;
3204 struct address_space *i_mapping ;
3205 void *i_security ;
3206 unsigned long i_ino ;
3207 union __anonunion____missing_field_name_240 __annonCompField44 ;
3208 dev_t i_rdev ;
3209 struct timespec i_atime ;
3210 struct timespec i_mtime ;
3211 struct timespec i_ctime ;
3212 spinlock_t i_lock ;
3213 unsigned short i_bytes ;
3214 blkcnt_t i_blocks ;
3215 loff_t i_size ;
3216 unsigned long i_state ;
3217 struct mutex i_mutex ;
3218 unsigned long dirtied_when ;
3219 struct hlist_node i_hash ;
3220 struct list_head i_wb_list ;
3221 struct list_head i_lru ;
3222 struct list_head i_sb_list ;
3223 union __anonunion____missing_field_name_241 __annonCompField45 ;
3224 atomic_t i_count ;
3225 unsigned int i_blkbits ;
3226 u64 i_version ;
3227 atomic_t i_dio_count ;
3228 atomic_t i_writecount ;
3229 struct file_operations const *i_fop ;
3230 struct file_lock *i_flock ;
3231 struct address_space i_data ;
3232 struct dquot *i_dquot[2] ;
3233 struct list_head i_devices ;
3234 union __anonunion____missing_field_name_242 __annonCompField46 ;
3235 __u32 i_generation ;
3236 __u32 i_fsnotify_mask ;
3237 struct hlist_head i_fsnotify_marks ;
3238 atomic_t i_readcount ;
3239 void *i_private ;
3240};
3241#line 942 "include/linux/fs.h"
3242struct fown_struct {
3243 rwlock_t lock ;
3244 struct pid *pid ;
3245 enum pid_type pid_type ;
3246 uid_t uid ;
3247 uid_t euid ;
3248 int signum ;
3249};
3250#line 953 "include/linux/fs.h"
3251struct file_ra_state {
3252 unsigned long start ;
3253 unsigned int size ;
3254 unsigned int async_size ;
3255 unsigned int ra_pages ;
3256 unsigned int mmap_miss ;
3257 loff_t prev_pos ;
3258};
3259#line 976 "include/linux/fs.h"
3260union __anonunion_f_u_243 {
3261 struct list_head fu_list ;
3262 struct rcu_head fu_rcuhead ;
3263};
3264#line 976 "include/linux/fs.h"
3265struct file {
3266 union __anonunion_f_u_243 f_u ;
3267 struct path f_path ;
3268 struct file_operations const *f_op ;
3269 spinlock_t f_lock ;
3270 int f_sb_list_cpu ;
3271 atomic_long_t f_count ;
3272 unsigned int f_flags ;
3273 fmode_t f_mode ;
3274 loff_t f_pos ;
3275 struct fown_struct f_owner ;
3276 struct cred const *f_cred ;
3277 struct file_ra_state f_ra ;
3278 u64 f_version ;
3279 void *f_security ;
3280 void *private_data ;
3281 struct list_head f_ep_links ;
3282 struct list_head f_tfile_llink ;
3283 struct address_space *f_mapping ;
3284 unsigned long f_mnt_write_state ;
3285};
3286#line 1111 "include/linux/fs.h"
3287typedef struct files_struct *fl_owner_t;
3288#line 1113 "include/linux/fs.h"
3289struct file_lock_operations {
3290 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3291 void (*fl_release_private)(struct file_lock * ) ;
3292};
3293#line 1118 "include/linux/fs.h"
3294struct lock_manager_operations {
3295 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3296 void (*lm_notify)(struct file_lock * ) ;
3297 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
3298 void (*lm_release_private)(struct file_lock * ) ;
3299 void (*lm_break)(struct file_lock * ) ;
3300 int (*lm_change)(struct file_lock ** , int ) ;
3301};
3302#line 4 "include/linux/nfs_fs_i.h"
3303struct nlm_lockowner;
3304#line 4
3305struct nlm_lockowner;
3306#line 9 "include/linux/nfs_fs_i.h"
3307struct nfs_lock_info {
3308 u32 state ;
3309 struct nlm_lockowner *owner ;
3310 struct list_head list ;
3311};
3312#line 15
3313struct nfs4_lock_state;
3314#line 15
3315struct nfs4_lock_state;
3316#line 16 "include/linux/nfs_fs_i.h"
3317struct nfs4_lock_info {
3318 struct nfs4_lock_state *owner ;
3319};
3320#line 1138 "include/linux/fs.h"
3321struct fasync_struct;
3322#line 1138 "include/linux/fs.h"
3323struct __anonstruct_afs_245 {
3324 struct list_head link ;
3325 int state ;
3326};
3327#line 1138 "include/linux/fs.h"
3328union __anonunion_fl_u_244 {
3329 struct nfs_lock_info nfs_fl ;
3330 struct nfs4_lock_info nfs4_fl ;
3331 struct __anonstruct_afs_245 afs ;
3332};
3333#line 1138 "include/linux/fs.h"
3334struct file_lock {
3335 struct file_lock *fl_next ;
3336 struct list_head fl_link ;
3337 struct list_head fl_block ;
3338 fl_owner_t fl_owner ;
3339 unsigned int fl_flags ;
3340 unsigned char fl_type ;
3341 unsigned int fl_pid ;
3342 struct pid *fl_nspid ;
3343 wait_queue_head_t fl_wait ;
3344 struct file *fl_file ;
3345 loff_t fl_start ;
3346 loff_t fl_end ;
3347 struct fasync_struct *fl_fasync ;
3348 unsigned long fl_break_time ;
3349 unsigned long fl_downgrade_time ;
3350 struct file_lock_operations const *fl_ops ;
3351 struct lock_manager_operations const *fl_lmops ;
3352 union __anonunion_fl_u_244 fl_u ;
3353};
3354#line 1378 "include/linux/fs.h"
3355struct fasync_struct {
3356 spinlock_t fa_lock ;
3357 int magic ;
3358 int fa_fd ;
3359 struct fasync_struct *fa_next ;
3360 struct file *fa_file ;
3361 struct rcu_head fa_rcu ;
3362};
3363#line 1418
3364struct file_system_type;
3365#line 1418
3366struct super_operations;
3367#line 1418
3368struct xattr_handler;
3369#line 1418 "include/linux/fs.h"
3370struct super_block {
3371 struct list_head s_list ;
3372 dev_t s_dev ;
3373 unsigned char s_dirt ;
3374 unsigned char s_blocksize_bits ;
3375 unsigned long s_blocksize ;
3376 loff_t s_maxbytes ;
3377 struct file_system_type *s_type ;
3378 struct super_operations const *s_op ;
3379 struct dquot_operations const *dq_op ;
3380 struct quotactl_ops const *s_qcop ;
3381 struct export_operations const *s_export_op ;
3382 unsigned long s_flags ;
3383 unsigned long s_magic ;
3384 struct dentry *s_root ;
3385 struct rw_semaphore s_umount ;
3386 struct mutex s_lock ;
3387 int s_count ;
3388 atomic_t s_active ;
3389 void *s_security ;
3390 struct xattr_handler const **s_xattr ;
3391 struct list_head s_inodes ;
3392 struct hlist_bl_head s_anon ;
3393 struct list_head *s_files ;
3394 struct list_head s_mounts ;
3395 struct list_head s_dentry_lru ;
3396 int s_nr_dentry_unused ;
3397 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
3398 struct list_head s_inode_lru ;
3399 int s_nr_inodes_unused ;
3400 struct block_device *s_bdev ;
3401 struct backing_dev_info *s_bdi ;
3402 struct mtd_info *s_mtd ;
3403 struct hlist_node s_instances ;
3404 struct quota_info s_dquot ;
3405 int s_frozen ;
3406 wait_queue_head_t s_wait_unfrozen ;
3407 char s_id[32] ;
3408 u8 s_uuid[16] ;
3409 void *s_fs_info ;
3410 unsigned int s_max_links ;
3411 fmode_t s_mode ;
3412 u32 s_time_gran ;
3413 struct mutex s_vfs_rename_mutex ;
3414 char *s_subtype ;
3415 char *s_options ;
3416 struct dentry_operations const *s_d_op ;
3417 int cleancache_poolid ;
3418 struct shrinker s_shrink ;
3419 atomic_long_t s_remove_count ;
3420 int s_readonly_remount ;
3421};
3422#line 1567 "include/linux/fs.h"
3423struct fiemap_extent_info {
3424 unsigned int fi_flags ;
3425 unsigned int fi_extents_mapped ;
3426 unsigned int fi_extents_max ;
3427 struct fiemap_extent *fi_extents_start ;
3428};
3429#line 1609 "include/linux/fs.h"
3430struct file_operations {
3431 struct module *owner ;
3432 loff_t (*llseek)(struct file * , loff_t , int ) ;
3433 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3434 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3435 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3436 loff_t ) ;
3437 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3438 loff_t ) ;
3439 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3440 loff_t , u64 , unsigned int ) ) ;
3441 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3442 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3443 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3444 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3445 int (*open)(struct inode * , struct file * ) ;
3446 int (*flush)(struct file * , fl_owner_t id ) ;
3447 int (*release)(struct inode * , struct file * ) ;
3448 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
3449 int (*aio_fsync)(struct kiocb * , int datasync ) ;
3450 int (*fasync)(int , struct file * , int ) ;
3451 int (*lock)(struct file * , int , struct file_lock * ) ;
3452 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3453 int ) ;
3454 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3455 unsigned long , unsigned long ) ;
3456 int (*check_flags)(int ) ;
3457 int (*flock)(struct file * , int , struct file_lock * ) ;
3458 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3459 unsigned int ) ;
3460 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3461 unsigned int ) ;
3462 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3463 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
3464};
3465#line 1639 "include/linux/fs.h"
3466struct inode_operations {
3467 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3468 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3469 int (*permission)(struct inode * , int ) ;
3470 struct posix_acl *(*get_acl)(struct inode * , int ) ;
3471 int (*readlink)(struct dentry * , char * , int ) ;
3472 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3473 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
3474 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3475 int (*unlink)(struct inode * , struct dentry * ) ;
3476 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3477 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
3478 int (*rmdir)(struct inode * , struct dentry * ) ;
3479 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
3480 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3481 void (*truncate)(struct inode * ) ;
3482 int (*setattr)(struct dentry * , struct iattr * ) ;
3483 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
3484 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3485 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3486 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3487 int (*removexattr)(struct dentry * , char const * ) ;
3488 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3489 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
3490} __attribute__((__aligned__((1) << (6) ))) ;
3491#line 1669
3492struct seq_file;
3493#line 1684 "include/linux/fs.h"
3494struct super_operations {
3495 struct inode *(*alloc_inode)(struct super_block *sb ) ;
3496 void (*destroy_inode)(struct inode * ) ;
3497 void (*dirty_inode)(struct inode * , int flags ) ;
3498 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
3499 int (*drop_inode)(struct inode * ) ;
3500 void (*evict_inode)(struct inode * ) ;
3501 void (*put_super)(struct super_block * ) ;
3502 void (*write_super)(struct super_block * ) ;
3503 int (*sync_fs)(struct super_block *sb , int wait ) ;
3504 int (*freeze_fs)(struct super_block * ) ;
3505 int (*unfreeze_fs)(struct super_block * ) ;
3506 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3507 int (*remount_fs)(struct super_block * , int * , char * ) ;
3508 void (*umount_begin)(struct super_block * ) ;
3509 int (*show_options)(struct seq_file * , struct dentry * ) ;
3510 int (*show_devname)(struct seq_file * , struct dentry * ) ;
3511 int (*show_path)(struct seq_file * , struct dentry * ) ;
3512 int (*show_stats)(struct seq_file * , struct dentry * ) ;
3513 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3514 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3515 loff_t ) ;
3516 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3517 int (*nr_cached_objects)(struct super_block * ) ;
3518 void (*free_cached_objects)(struct super_block * , int ) ;
3519};
3520#line 1835 "include/linux/fs.h"
3521struct file_system_type {
3522 char const *name ;
3523 int fs_flags ;
3524 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3525 void (*kill_sb)(struct super_block * ) ;
3526 struct module *owner ;
3527 struct file_system_type *next ;
3528 struct hlist_head fs_supers ;
3529 struct lock_class_key s_lock_key ;
3530 struct lock_class_key s_umount_key ;
3531 struct lock_class_key s_vfs_rename_key ;
3532 struct lock_class_key i_lock_key ;
3533 struct lock_class_key i_mutex_key ;
3534 struct lock_class_key i_mutex_dir_key ;
3535};
3536#line 323 "include/linux/hdreg.h"
3537struct hd_geometry {
3538 unsigned char heads ;
3539 unsigned char sectors ;
3540 unsigned short cylinders ;
3541 unsigned long start ;
3542};
3543#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
3544struct exception_table_entry {
3545 unsigned long insn ;
3546 unsigned long fixup ;
3547};
3548#line 34 "include/linux/mtd/ftl.h"
3549struct erase_unit_header_t {
3550 uint8_t LinkTargetTuple[5] ;
3551 uint8_t DataOrgTuple[10] ;
3552 uint8_t NumTransferUnits ;
3553 uint32_t EraseCount ;
3554 uint16_t LogicalEUN ;
3555 uint8_t BlockSize ;
3556 uint8_t EraseUnitSize ;
3557 uint16_t FirstPhysicalEUN ;
3558 uint16_t NumEraseUnits ;
3559 uint32_t FormattedSize ;
3560 uint32_t FirstVMAddress ;
3561 uint16_t NumVMPages ;
3562 uint8_t Flags ;
3563 uint8_t Code ;
3564 uint32_t SerialNumber ;
3565 uint32_t AltEUHOffset ;
3566 uint32_t BAMOffset ;
3567 uint8_t Reserved[12] ;
3568 uint8_t EndTuple[2] ;
3569};
3570#line 34 "include/linux/mtd/ftl.h"
3571typedef struct erase_unit_header_t erase_unit_header_t;
3572#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3573struct eun_info_t {
3574 uint32_t Offset ;
3575 uint32_t EraseCount ;
3576 uint32_t Free ;
3577 uint32_t Deleted ;
3578};
3579#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3580struct xfer_info_t {
3581 uint32_t Offset ;
3582 uint32_t EraseCount ;
3583 uint16_t state ;
3584};
3585#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3586struct partition_t {
3587 struct mtd_blktrans_dev mbd ;
3588 uint32_t state ;
3589 uint32_t *VirtualBlockMap ;
3590 uint32_t *VirtualPageMap ;
3591 uint32_t FreeTotal ;
3592 struct eun_info_t *EUNInfo ;
3593 struct xfer_info_t *XferInfo ;
3594 uint16_t bam_index ;
3595 uint32_t *bam_cache ;
3596 uint16_t DataUnits ;
3597 uint32_t BlocksPerUnit ;
3598 erase_unit_header_t header ;
3599};
3600#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3601typedef struct partition_t partition_t;
3602#line 1 "<compiler builtins>"
3603long __builtin_expect(long val , long res ) ;
3604#line 100 "include/linux/printk.h"
3605extern int ( printk)(char const *fmt , ...) ;
3606#line 44 "include/linux/dynamic_debug.h"
3607extern int ( __dynamic_pr_debug)(struct _ddebug *descriptor ,
3608 char const *fmt , ...) ;
3609#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
3610extern void *memset(void *s , int c , size_t n ) ;
3611#line 64
3612extern int strcmp(char const *cs , char const *ct ) ;
3613#line 152 "include/linux/mutex.h"
3614void mutex_lock(struct mutex *lock ) ;
3615#line 153
3616int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
3617#line 154
3618int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
3619#line 168
3620int mutex_trylock(struct mutex *lock ) ;
3621#line 169
3622void mutex_unlock(struct mutex *lock ) ;
3623#line 170
3624int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
3625#line 87 "include/linux/mtd/blktrans.h"
3626extern int register_mtd_blktrans(struct mtd_blktrans_ops *tr ) ;
3627#line 88
3628extern int deregister_mtd_blktrans(struct mtd_blktrans_ops *tr ) ;
3629#line 89
3630extern int add_mtd_blktrans_dev(struct mtd_blktrans_dev *dev ) ;
3631#line 90
3632extern int del_mtd_blktrans_dev(struct mtd_blktrans_dev *dev ) ;
3633#line 82 "include/linux/jiffies.h"
3634extern unsigned long volatile jiffies __attribute__((__section__(".data"))) ;
3635#line 54 "include/linux/vmalloc.h"
3636extern void *vmalloc(unsigned long size ) ;
3637#line 66
3638extern void vfree(void const *addr ) ;
3639#line 356 "include/linux/moduleparam.h"
3640extern struct kernel_param_ops param_ops_int ;
3641#line 26 "include/linux/export.h"
3642extern struct module __this_module ;
3643#line 67 "include/linux/module.h"
3644int init_module(void) ;
3645#line 68
3646void cleanup_module(void) ;
3647#line 246 "include/linux/mtd/mtd.h"
3648extern int mtd_erase(struct mtd_info *mtd , struct erase_info *instr ) ;
3649#line 252
3650extern int mtd_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
3651 u_char *buf ) ;
3652#line 254
3653extern int mtd_write(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
3654 u_char const *buf ) ;
3655#line 294
3656__inline static void mtd_sync(struct mtd_info *mtd ) __attribute__((__no_instrument_function__)) ;
3657#line 294 "include/linux/mtd/mtd.h"
3658__inline static void mtd_sync(struct mtd_info *mtd )
3659{ unsigned long __cil_tmp2 ;
3660 unsigned long __cil_tmp3 ;
3661 unsigned long __cil_tmp4 ;
3662 unsigned long __cil_tmp5 ;
3663 void (*__cil_tmp6)(struct mtd_info *mtd ) ;
3664
3665 {
3666 {
3667#line 296
3668 __cil_tmp2 = (unsigned long )mtd;
3669#line 296
3670 __cil_tmp3 = __cil_tmp2 + 224;
3671#line 296
3672 if (*((void (**)(struct mtd_info *mtd ))__cil_tmp3)) {
3673 {
3674#line 297
3675 __cil_tmp4 = (unsigned long )mtd;
3676#line 297
3677 __cil_tmp5 = __cil_tmp4 + 224;
3678#line 297
3679 __cil_tmp6 = *((void (**)(struct mtd_info *mtd ))__cil_tmp5);
3680#line 297
3681 (*__cil_tmp6)(mtd);
3682 }
3683 } else {
3684
3685 }
3686 }
3687#line 298
3688 return;
3689}
3690}
3691#line 161 "include/linux/slab.h"
3692extern void kfree(void const * ) ;
3693#line 221 "include/linux/slub_def.h"
3694extern void *__kmalloc(size_t size , gfp_t flags ) ;
3695#line 268
3696__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3697 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
3698#line 268 "include/linux/slub_def.h"
3699__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3700 gfp_t flags )
3701{ void *tmp___10 ;
3702
3703 {
3704 {
3705#line 283
3706 tmp___10 = __kmalloc(size, flags);
3707 }
3708#line 283
3709 return (tmp___10);
3710}
3711}
3712#line 349 "include/linux/slab.h"
3713__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
3714#line 349 "include/linux/slab.h"
3715__inline static void *kzalloc(size_t size , gfp_t flags )
3716{ void *tmp___7 ;
3717 unsigned int __cil_tmp4 ;
3718
3719 {
3720 {
3721#line 351
3722 __cil_tmp4 = flags | 32768U;
3723#line 351
3724 tmp___7 = kmalloc(size, __cil_tmp4);
3725 }
3726#line 351
3727 return (tmp___7);
3728}
3729}
3730#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3731static int shuffle_freq = 50;
3732#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3733static char const __param_str_shuffle_freq[13] =
3734#line 82
3735 { (char const )'s', (char const )'h', (char const )'u', (char const )'f',
3736 (char const )'f', (char const )'l', (char const )'e', (char const )'_',
3737 (char const )'f', (char const )'r', (char const )'e', (char const )'q',
3738 (char const )'\000'};
3739#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3740static struct kernel_param const __param_shuffle_freq __attribute__((__used__,
3741__unused__, __section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_shuffle_freq, (struct kernel_param_ops const *)(& param_ops_int),
3742 (u16 )0, (s16 )0, {(void *)(& shuffle_freq)}};
3743#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3744static char const __mod_shuffle_freqtype82[26] __attribute__((__used__, __unused__,
3745__section__(".modinfo"), __aligned__(1))) =
3746#line 82
3747 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
3748 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
3749 (char const )'=', (char const )'s', (char const )'h', (char const )'u',
3750 (char const )'f', (char const )'f', (char const )'l', (char const )'e',
3751 (char const )'_', (char const )'f', (char const )'r', (char const )'e',
3752 (char const )'q', (char const )':', (char const )'i', (char const )'n',
3753 (char const )'t', (char const )'\000'};
3754#line 148
3755static void ftl_erase_callback(struct erase_info *erase ) ;
3756#line 159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
3757static int scan_header(partition_t *part )
3758{ erase_unit_header_t header ;
3759 loff_t offset ;
3760 loff_t max_offset ;
3761 size_t ret ;
3762 int err ;
3763 uint32_t tmp___7 ;
3764 int tmp___8 ;
3765 unsigned long __cil_tmp9 ;
3766 unsigned long __cil_tmp10 ;
3767 unsigned long __cil_tmp11 ;
3768 unsigned long __cil_tmp12 ;
3769 unsigned long __cil_tmp13 ;
3770 unsigned long __cil_tmp14 ;
3771 struct mtd_info *__cil_tmp15 ;
3772 unsigned long __cil_tmp16 ;
3773 unsigned long __cil_tmp17 ;
3774 uint64_t __cil_tmp18 ;
3775 unsigned long __cil_tmp19 ;
3776 unsigned long __cil_tmp20 ;
3777 unsigned long __cil_tmp21 ;
3778 struct mtd_info *__cil_tmp22 ;
3779 unsigned long __cil_tmp23 ;
3780 unsigned long __cil_tmp24 ;
3781 uint64_t __cil_tmp25 ;
3782 loff_t __cil_tmp26 ;
3783 loff_t __cil_tmp27 ;
3784 unsigned long __cil_tmp28 ;
3785 unsigned long __cil_tmp29 ;
3786 unsigned long __cil_tmp30 ;
3787 struct mtd_info *__cil_tmp31 ;
3788 unsigned char *__cil_tmp32 ;
3789 unsigned long __cil_tmp33 ;
3790 unsigned long __cil_tmp34 ;
3791 unsigned long __cil_tmp35 ;
3792 uint8_t *__cil_tmp36 ;
3793 uint8_t *__cil_tmp37 ;
3794 char const *__cil_tmp38 ;
3795 unsigned long __cil_tmp39 ;
3796 unsigned long __cil_tmp40 ;
3797 unsigned long __cil_tmp41 ;
3798 struct mtd_info *__cil_tmp42 ;
3799 unsigned long __cil_tmp43 ;
3800 unsigned long __cil_tmp44 ;
3801 loff_t __cil_tmp45 ;
3802 unsigned long __cil_tmp46 ;
3803 uint8_t __cil_tmp47 ;
3804 int __cil_tmp48 ;
3805 unsigned long __cil_tmp49 ;
3806 uint8_t __cil_tmp50 ;
3807 int __cil_tmp51 ;
3808 unsigned long __cil_tmp52 ;
3809 uint8_t __cil_tmp53 ;
3810 int __cil_tmp54 ;
3811 unsigned long __cil_tmp55 ;
3812 uint16_t __cil_tmp56 ;
3813 int __cil_tmp57 ;
3814 unsigned long __cil_tmp58 ;
3815 uint8_t __cil_tmp59 ;
3816 int __cil_tmp60 ;
3817 unsigned long __cil_tmp61 ;
3818 unsigned long __cil_tmp62 ;
3819 unsigned long __cil_tmp63 ;
3820 struct mtd_info *__cil_tmp64 ;
3821 unsigned long __cil_tmp65 ;
3822 unsigned long __cil_tmp66 ;
3823 uint32_t __cil_tmp67 ;
3824 unsigned long __cil_tmp68 ;
3825 uint8_t __cil_tmp69 ;
3826 int __cil_tmp70 ;
3827 int __cil_tmp71 ;
3828 uint32_t __cil_tmp72 ;
3829 unsigned long __cil_tmp73 ;
3830 uint8_t __cil_tmp74 ;
3831 int __cil_tmp75 ;
3832 int __cil_tmp76 ;
3833 unsigned long __cil_tmp77 ;
3834 unsigned long __cil_tmp78 ;
3835 unsigned long __cil_tmp79 ;
3836 struct mtd_info *__cil_tmp80 ;
3837 unsigned long __cil_tmp81 ;
3838 unsigned long __cil_tmp82 ;
3839 uint32_t __cil_tmp83 ;
3840 unsigned long __cil_tmp84 ;
3841 unsigned long __cil_tmp85 ;
3842 erase_unit_header_t *__cil_tmp86 ;
3843
3844 {
3845#line 165
3846 __cil_tmp9 = 280 + 28;
3847#line 165
3848 __cil_tmp10 = (unsigned long )part;
3849#line 165
3850 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
3851#line 165
3852 *((uint32_t *)__cil_tmp11) = (uint32_t )0;
3853 {
3854#line 166
3855 __cil_tmp12 = 0 + 24;
3856#line 166
3857 __cil_tmp13 = (unsigned long )part;
3858#line 166
3859 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
3860#line 166
3861 __cil_tmp15 = *((struct mtd_info **)__cil_tmp14);
3862#line 166
3863 __cil_tmp16 = (unsigned long )__cil_tmp15;
3864#line 166
3865 __cil_tmp17 = __cil_tmp16 + 8;
3866#line 166
3867 __cil_tmp18 = *((uint64_t *)__cil_tmp17);
3868#line 166
3869 if (1048576ULL < __cil_tmp18) {
3870#line 166
3871 max_offset = (loff_t )1048576;
3872 } else {
3873#line 166
3874 __cil_tmp19 = 0 + 24;
3875#line 166
3876 __cil_tmp20 = (unsigned long )part;
3877#line 166
3878 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
3879#line 166
3880 __cil_tmp22 = *((struct mtd_info **)__cil_tmp21);
3881#line 166
3882 __cil_tmp23 = (unsigned long )__cil_tmp22;
3883#line 166
3884 __cil_tmp24 = __cil_tmp23 + 8;
3885#line 166
3886 __cil_tmp25 = *((uint64_t *)__cil_tmp24);
3887#line 166
3888 max_offset = (loff_t )__cil_tmp25;
3889 }
3890 }
3891#line 168
3892 offset = (loff_t )0;
3893 {
3894#line 168
3895 while (1) {
3896 while_continue: ;
3897 {
3898#line 168
3899 __cil_tmp26 = (loff_t )68UL;
3900#line 168
3901 __cil_tmp27 = offset + __cil_tmp26;
3902#line 168
3903 if (__cil_tmp27 < max_offset) {
3904
3905 } else {
3906#line 168
3907 goto while_break;
3908 }
3909 }
3910 {
3911#line 172
3912 __cil_tmp28 = 0 + 24;
3913#line 172
3914 __cil_tmp29 = (unsigned long )part;
3915#line 172
3916 __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
3917#line 172
3918 __cil_tmp31 = *((struct mtd_info **)__cil_tmp30);
3919#line 172
3920 __cil_tmp32 = (unsigned char *)(& header);
3921#line 172
3922 err = mtd_read(__cil_tmp31, offset, 68UL, & ret, __cil_tmp32);
3923 }
3924#line 175
3925 if (err) {
3926#line 176
3927 return (err);
3928 } else {
3929
3930 }
3931 {
3932#line 178
3933 __cil_tmp33 = 0 * 1UL;
3934#line 178
3935 __cil_tmp34 = 5 + __cil_tmp33;
3936#line 178
3937 __cil_tmp35 = (unsigned long )(& header) + __cil_tmp34;
3938#line 178
3939 __cil_tmp36 = (uint8_t *)__cil_tmp35;
3940#line 178
3941 __cil_tmp37 = __cil_tmp36 + 3;
3942#line 178
3943 __cil_tmp38 = (char const *)__cil_tmp37;
3944#line 178
3945 tmp___8 = strcmp(__cil_tmp38, "FTL100");
3946 }
3947#line 178
3948 if (tmp___8 == 0) {
3949#line 178
3950 goto while_break;
3951 } else {
3952
3953 }
3954#line 168
3955 __cil_tmp39 = 0 + 24;
3956#line 168
3957 __cil_tmp40 = (unsigned long )part;
3958#line 168
3959 __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
3960#line 168
3961 __cil_tmp42 = *((struct mtd_info **)__cil_tmp41);
3962#line 168
3963 __cil_tmp43 = (unsigned long )__cil_tmp42;
3964#line 168
3965 __cil_tmp44 = __cil_tmp43 + 16;
3966#line 168
3967 tmp___7 = *((uint32_t *)__cil_tmp44);
3968#line 168
3969 if (tmp___7) {
3970
3971 } else {
3972#line 168
3973 tmp___7 = (uint32_t )8192;
3974 }
3975#line 168
3976 __cil_tmp45 = (loff_t )tmp___7;
3977#line 168
3978 offset = offset + __cil_tmp45;
3979 }
3980 while_break: ;
3981 }
3982#line 181
3983 if (offset == max_offset) {
3984 {
3985#line 182
3986 printk("<5>ftl_cs: FTL header not found.\n");
3987 }
3988#line 183
3989 return (-2);
3990 } else {
3991
3992 }
3993 {
3994#line 185
3995 __cil_tmp46 = (unsigned long )(& header) + 22;
3996#line 185
3997 __cil_tmp47 = *((uint8_t *)__cil_tmp46);
3998#line 185
3999 __cil_tmp48 = (int )__cil_tmp47;
4000#line 185
4001 if (__cil_tmp48 != 9) {
4002 {
4003#line 188
4004 printk("<5>ftl_cs: FTL header corrupt!\n");
4005 }
4006#line 189
4007 return (-1);
4008 } else {
4009 {
4010#line 185
4011 __cil_tmp49 = (unsigned long )(& header) + 23;
4012#line 185
4013 __cil_tmp50 = *((uint8_t *)__cil_tmp49);
4014#line 185
4015 __cil_tmp51 = (int )__cil_tmp50;
4016#line 185
4017 if (__cil_tmp51 < 10) {
4018 {
4019#line 188
4020 printk("<5>ftl_cs: FTL header corrupt!\n");
4021 }
4022#line 189
4023 return (-1);
4024 } else {
4025 {
4026#line 185
4027 __cil_tmp52 = (unsigned long )(& header) + 23;
4028#line 185
4029 __cil_tmp53 = *((uint8_t *)__cil_tmp52);
4030#line 185
4031 __cil_tmp54 = (int )__cil_tmp53;
4032#line 185
4033 if (__cil_tmp54 > 31) {
4034 {
4035#line 188
4036 printk("<5>ftl_cs: FTL header corrupt!\n");
4037 }
4038#line 189
4039 return (-1);
4040 } else {
4041 {
4042#line 185
4043 __cil_tmp55 = (unsigned long )(& header) + 26;
4044#line 185
4045 __cil_tmp56 = *((uint16_t *)__cil_tmp55);
4046#line 185
4047 __cil_tmp57 = (int )__cil_tmp56;
4048#line 185
4049 __cil_tmp58 = (unsigned long )(& header) + 15;
4050#line 185
4051 __cil_tmp59 = *((uint8_t *)__cil_tmp58);
4052#line 185
4053 __cil_tmp60 = (int )__cil_tmp59;
4054#line 185
4055 if (__cil_tmp60 >= __cil_tmp57) {
4056 {
4057#line 188
4058 printk("<5>ftl_cs: FTL header corrupt!\n");
4059 }
4060#line 189
4061 return (-1);
4062 } else {
4063
4064 }
4065 }
4066 }
4067 }
4068 }
4069 }
4070 }
4071 }
4072 {
4073#line 191
4074 __cil_tmp61 = 0 + 24;
4075#line 191
4076 __cil_tmp62 = (unsigned long )part;
4077#line 191
4078 __cil_tmp63 = __cil_tmp62 + __cil_tmp61;
4079#line 191
4080 __cil_tmp64 = *((struct mtd_info **)__cil_tmp63);
4081#line 191
4082 __cil_tmp65 = (unsigned long )__cil_tmp64;
4083#line 191
4084 __cil_tmp66 = __cil_tmp65 + 16;
4085#line 191
4086 __cil_tmp67 = *((uint32_t *)__cil_tmp66);
4087#line 191
4088 __cil_tmp68 = (unsigned long )(& header) + 23;
4089#line 191
4090 __cil_tmp69 = *((uint8_t *)__cil_tmp68);
4091#line 191
4092 __cil_tmp70 = (int )__cil_tmp69;
4093#line 191
4094 __cil_tmp71 = 1 << __cil_tmp70;
4095#line 191
4096 __cil_tmp72 = (uint32_t )__cil_tmp71;
4097#line 191
4098 if (__cil_tmp72 != __cil_tmp67) {
4099 {
4100#line 192
4101 __cil_tmp73 = (unsigned long )(& header) + 23;
4102#line 192
4103 __cil_tmp74 = *((uint8_t *)__cil_tmp73);
4104#line 192
4105 __cil_tmp75 = (int )__cil_tmp74;
4106#line 192
4107 __cil_tmp76 = 1 << __cil_tmp75;
4108#line 192
4109 __cil_tmp77 = 0 + 24;
4110#line 192
4111 __cil_tmp78 = (unsigned long )part;
4112#line 192
4113 __cil_tmp79 = __cil_tmp78 + __cil_tmp77;
4114#line 192
4115 __cil_tmp80 = *((struct mtd_info **)__cil_tmp79);
4116#line 192
4117 __cil_tmp81 = (unsigned long )__cil_tmp80;
4118#line 192
4119 __cil_tmp82 = __cil_tmp81 + 16;
4120#line 192
4121 __cil_tmp83 = *((uint32_t *)__cil_tmp82);
4122#line 192
4123 printk("<5>ftl: FTL EraseUnitSize %x != MTD erasesize %x\n", __cil_tmp76, __cil_tmp83);
4124 }
4125#line 194
4126 return (-1);
4127 } else {
4128
4129 }
4130 }
4131#line 196
4132 __cil_tmp84 = (unsigned long )part;
4133#line 196
4134 __cil_tmp85 = __cil_tmp84 + 280;
4135#line 196
4136 __cil_tmp86 = & header;
4137#line 196
4138 *((erase_unit_header_t *)__cil_tmp85) = *__cil_tmp86;
4139#line 197
4140 return (0);
4141}
4142}
4143#line 200 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
4144static int build_maps(partition_t *part )
4145{ erase_unit_header_t header ;
4146 uint16_t xvalid ;
4147 uint16_t xtrans ;
4148 uint16_t i ;
4149 unsigned int blocks ;
4150 unsigned int j ;
4151 int hdr_ok ;
4152 int ret ;
4153 ssize_t retval ;
4154 loff_t offset ;
4155 void *tmp___7 ;
4156 void *tmp___8 ;
4157 int tmp___9 ;
4158 void *tmp___10 ;
4159 void *tmp___11 ;
4160 unsigned long __cil_tmp17 ;
4161 unsigned long __cil_tmp18 ;
4162 unsigned long __cil_tmp19 ;
4163 unsigned long __cil_tmp20 ;
4164 unsigned long __cil_tmp21 ;
4165 uint8_t __cil_tmp22 ;
4166 int __cil_tmp23 ;
4167 unsigned long __cil_tmp24 ;
4168 unsigned long __cil_tmp25 ;
4169 unsigned long __cil_tmp26 ;
4170 uint16_t __cil_tmp27 ;
4171 int __cil_tmp28 ;
4172 int __cil_tmp29 ;
4173 unsigned long __cil_tmp30 ;
4174 unsigned long __cil_tmp31 ;
4175 uint16_t __cil_tmp32 ;
4176 unsigned long __cil_tmp33 ;
4177 unsigned long __cil_tmp34 ;
4178 unsigned long __cil_tmp35 ;
4179 unsigned long __cil_tmp36 ;
4180 unsigned long __cil_tmp37 ;
4181 unsigned long __cil_tmp38 ;
4182 struct eun_info_t *__cil_tmp39 ;
4183 unsigned long __cil_tmp40 ;
4184 unsigned long __cil_tmp41 ;
4185 uint16_t __cil_tmp42 ;
4186 int __cil_tmp43 ;
4187 int __cil_tmp44 ;
4188 unsigned long __cil_tmp45 ;
4189 unsigned long __cil_tmp46 ;
4190 struct eun_info_t *__cil_tmp47 ;
4191 struct eun_info_t *__cil_tmp48 ;
4192 int __cil_tmp49 ;
4193 int __cil_tmp50 ;
4194 unsigned long __cil_tmp51 ;
4195 unsigned long __cil_tmp52 ;
4196 unsigned long __cil_tmp53 ;
4197 uint8_t __cil_tmp54 ;
4198 unsigned long __cil_tmp55 ;
4199 unsigned long __cil_tmp56 ;
4200 unsigned long __cil_tmp57 ;
4201 unsigned long __cil_tmp58 ;
4202 unsigned long __cil_tmp59 ;
4203 unsigned long __cil_tmp60 ;
4204 struct xfer_info_t *__cil_tmp61 ;
4205 unsigned long __cil_tmp62 ;
4206 unsigned long __cil_tmp63 ;
4207 unsigned long __cil_tmp64 ;
4208 uint16_t __cil_tmp65 ;
4209 int __cil_tmp66 ;
4210 int __cil_tmp67 ;
4211 unsigned long __cil_tmp68 ;
4212 unsigned long __cil_tmp69 ;
4213 unsigned long __cil_tmp70 ;
4214 uint8_t __cil_tmp71 ;
4215 int __cil_tmp72 ;
4216 unsigned long __cil_tmp73 ;
4217 unsigned long __cil_tmp74 ;
4218 unsigned long __cil_tmp75 ;
4219 uint16_t __cil_tmp76 ;
4220 int __cil_tmp77 ;
4221 int __cil_tmp78 ;
4222 int __cil_tmp79 ;
4223 int __cil_tmp80 ;
4224 unsigned long __cil_tmp81 ;
4225 unsigned long __cil_tmp82 ;
4226 unsigned long __cil_tmp83 ;
4227 struct mtd_info *__cil_tmp84 ;
4228 size_t *__cil_tmp85 ;
4229 unsigned char *__cil_tmp86 ;
4230 unsigned long __cil_tmp87 ;
4231 unsigned long __cil_tmp88 ;
4232 unsigned long __cil_tmp89 ;
4233 uint8_t *__cil_tmp90 ;
4234 uint8_t *__cil_tmp91 ;
4235 char const *__cil_tmp92 ;
4236 unsigned long __cil_tmp93 ;
4237 unsigned long __cil_tmp94 ;
4238 uint16_t __cil_tmp95 ;
4239 int __cil_tmp96 ;
4240 unsigned long __cil_tmp97 ;
4241 uint16_t __cil_tmp98 ;
4242 int __cil_tmp99 ;
4243 unsigned long __cil_tmp100 ;
4244 uint16_t __cil_tmp101 ;
4245 unsigned long __cil_tmp102 ;
4246 unsigned long __cil_tmp103 ;
4247 struct eun_info_t *__cil_tmp104 ;
4248 struct eun_info_t *__cil_tmp105 ;
4249 uint32_t __cil_tmp106 ;
4250 unsigned long __cil_tmp107 ;
4251 uint16_t __cil_tmp108 ;
4252 unsigned long __cil_tmp109 ;
4253 unsigned long __cil_tmp110 ;
4254 struct eun_info_t *__cil_tmp111 ;
4255 struct eun_info_t *__cil_tmp112 ;
4256 unsigned long __cil_tmp113 ;
4257 uint16_t __cil_tmp114 ;
4258 unsigned long __cil_tmp115 ;
4259 unsigned long __cil_tmp116 ;
4260 struct eun_info_t *__cil_tmp117 ;
4261 struct eun_info_t *__cil_tmp118 ;
4262 unsigned long __cil_tmp119 ;
4263 unsigned long __cil_tmp120 ;
4264 unsigned long __cil_tmp121 ;
4265 int __cil_tmp122 ;
4266 int __cil_tmp123 ;
4267 unsigned long __cil_tmp124 ;
4268 unsigned long __cil_tmp125 ;
4269 unsigned long __cil_tmp126 ;
4270 uint8_t __cil_tmp127 ;
4271 int __cil_tmp128 ;
4272 int __cil_tmp129 ;
4273 unsigned long __cil_tmp130 ;
4274 uint16_t __cil_tmp131 ;
4275 int __cil_tmp132 ;
4276 unsigned long __cil_tmp133 ;
4277 unsigned long __cil_tmp134 ;
4278 struct xfer_info_t *__cil_tmp135 ;
4279 struct xfer_info_t *__cil_tmp136 ;
4280 unsigned long __cil_tmp137 ;
4281 unsigned long __cil_tmp138 ;
4282 unsigned long __cil_tmp139 ;
4283 unsigned long __cil_tmp140 ;
4284 struct xfer_info_t *__cil_tmp141 ;
4285 struct xfer_info_t *__cil_tmp142 ;
4286 unsigned long __cil_tmp143 ;
4287 unsigned long __cil_tmp144 ;
4288 unsigned long __cil_tmp145 ;
4289 unsigned long __cil_tmp146 ;
4290 unsigned long __cil_tmp147 ;
4291 struct xfer_info_t *__cil_tmp148 ;
4292 struct xfer_info_t *__cil_tmp149 ;
4293 unsigned long __cil_tmp150 ;
4294 unsigned long __cil_tmp151 ;
4295 unsigned long __cil_tmp152 ;
4296 unsigned long __cil_tmp153 ;
4297 struct xfer_info_t *__cil_tmp154 ;
4298 struct xfer_info_t *__cil_tmp155 ;
4299 unsigned long __cil_tmp156 ;
4300 unsigned long __cil_tmp157 ;
4301 unsigned long __cil_tmp158 ;
4302 unsigned long __cil_tmp159 ;
4303 unsigned long __cil_tmp160 ;
4304 unsigned long __cil_tmp161 ;
4305 unsigned long __cil_tmp162 ;
4306 struct xfer_info_t *__cil_tmp163 ;
4307 struct xfer_info_t *__cil_tmp164 ;
4308 unsigned long __cil_tmp165 ;
4309 unsigned long __cil_tmp166 ;
4310 unsigned long __cil_tmp167 ;
4311 unsigned long __cil_tmp168 ;
4312 struct xfer_info_t *__cil_tmp169 ;
4313 struct xfer_info_t *__cil_tmp170 ;
4314 unsigned long __cil_tmp171 ;
4315 unsigned long __cil_tmp172 ;
4316 unsigned long __cil_tmp173 ;
4317 unsigned long __cil_tmp174 ;
4318 unsigned long __cil_tmp175 ;
4319 unsigned long __cil_tmp176 ;
4320 unsigned long __cil_tmp177 ;
4321 struct xfer_info_t *__cil_tmp178 ;
4322 struct xfer_info_t *__cil_tmp179 ;
4323 int __cil_tmp180 ;
4324 int __cil_tmp181 ;
4325 int __cil_tmp182 ;
4326 int __cil_tmp183 ;
4327 erase_unit_header_t *__cil_tmp184 ;
4328 unsigned long __cil_tmp185 ;
4329 unsigned long __cil_tmp186 ;
4330 unsigned long __cil_tmp187 ;
4331 uint8_t __cil_tmp188 ;
4332 int __cil_tmp189 ;
4333 int __cil_tmp190 ;
4334 unsigned long __cil_tmp191 ;
4335 uint16_t __cil_tmp192 ;
4336 int __cil_tmp193 ;
4337 int __cil_tmp194 ;
4338 int __cil_tmp195 ;
4339 int __cil_tmp196 ;
4340 unsigned long __cil_tmp197 ;
4341 uint8_t __cil_tmp198 ;
4342 int __cil_tmp199 ;
4343 unsigned long __cil_tmp200 ;
4344 uint32_t __cil_tmp201 ;
4345 unsigned long __cil_tmp202 ;
4346 unsigned long __cil_tmp203 ;
4347 unsigned long __cil_tmp204 ;
4348 unsigned long __cil_tmp205 ;
4349 unsigned long __cil_tmp206 ;
4350 unsigned long __cil_tmp207 ;
4351 uint32_t *__cil_tmp208 ;
4352 unsigned long __cil_tmp209 ;
4353 unsigned long __cil_tmp210 ;
4354 uint32_t *__cil_tmp211 ;
4355 void *__cil_tmp212 ;
4356 unsigned long __cil_tmp213 ;
4357 unsigned long __cil_tmp214 ;
4358 unsigned long __cil_tmp215 ;
4359 unsigned long __cil_tmp216 ;
4360 unsigned long __cil_tmp217 ;
4361 uint8_t __cil_tmp218 ;
4362 int __cil_tmp219 ;
4363 unsigned long __cil_tmp220 ;
4364 uint8_t __cil_tmp221 ;
4365 int __cil_tmp222 ;
4366 int __cil_tmp223 ;
4367 int __cil_tmp224 ;
4368 unsigned long __cil_tmp225 ;
4369 unsigned long __cil_tmp226 ;
4370 uint32_t __cil_tmp227 ;
4371 unsigned long __cil_tmp228 ;
4372 unsigned long __cil_tmp229 ;
4373 unsigned long __cil_tmp230 ;
4374 unsigned long __cil_tmp231 ;
4375 unsigned long __cil_tmp232 ;
4376 unsigned long __cil_tmp233 ;
4377 uint32_t *__cil_tmp234 ;
4378 unsigned long __cil_tmp235 ;
4379 unsigned long __cil_tmp236 ;
4380 unsigned long __cil_tmp237 ;
4381 unsigned long __cil_tmp238 ;
4382 unsigned long __cil_tmp239 ;
4383 unsigned long __cil_tmp240 ;
4384 uint16_t __cil_tmp241 ;
4385 int __cil_tmp242 ;
4386 int __cil_tmp243 ;
4387 unsigned long __cil_tmp244 ;
4388 unsigned long __cil_tmp245 ;
4389 struct eun_info_t *__cil_tmp246 ;
4390 struct eun_info_t *__cil_tmp247 ;
4391 unsigned long __cil_tmp248 ;
4392 unsigned long __cil_tmp249 ;
4393 unsigned long __cil_tmp250 ;
4394 unsigned long __cil_tmp251 ;
4395 struct eun_info_t *__cil_tmp252 ;
4396 struct eun_info_t *__cil_tmp253 ;
4397 unsigned long __cil_tmp254 ;
4398 unsigned long __cil_tmp255 ;
4399 unsigned long __cil_tmp256 ;
4400 uint32_t __cil_tmp257 ;
4401 unsigned long __cil_tmp258 ;
4402 unsigned long __cil_tmp259 ;
4403 struct eun_info_t *__cil_tmp260 ;
4404 struct eun_info_t *__cil_tmp261 ;
4405 uint32_t __cil_tmp262 ;
4406 uint32_t __cil_tmp263 ;
4407 unsigned long __cil_tmp264 ;
4408 unsigned long __cil_tmp265 ;
4409 unsigned long __cil_tmp266 ;
4410 struct mtd_info *__cil_tmp267 ;
4411 unsigned long __cil_tmp268 ;
4412 unsigned long __cil_tmp269 ;
4413 uint32_t __cil_tmp270 ;
4414 unsigned long __cil_tmp271 ;
4415 unsigned long __cil_tmp272 ;
4416 size_t *__cil_tmp273 ;
4417 unsigned long __cil_tmp274 ;
4418 unsigned long __cil_tmp275 ;
4419 uint32_t *__cil_tmp276 ;
4420 unsigned char *__cil_tmp277 ;
4421 unsigned long __cil_tmp278 ;
4422 unsigned long __cil_tmp279 ;
4423 uint32_t __cil_tmp280 ;
4424 unsigned long __cil_tmp281 ;
4425 unsigned long __cil_tmp282 ;
4426 uint32_t *__cil_tmp283 ;
4427 uint32_t *__cil_tmp284 ;
4428 uint32_t __cil_tmp285 ;
4429 unsigned long __cil_tmp286 ;
4430 unsigned long __cil_tmp287 ;
4431 struct eun_info_t *__cil_tmp288 ;
4432 struct eun_info_t *__cil_tmp289 ;
4433 unsigned long __cil_tmp290 ;
4434 unsigned long __cil_tmp291 ;
4435 unsigned long __cil_tmp292 ;
4436 unsigned long __cil_tmp293 ;
4437 struct eun_info_t *__cil_tmp294 ;
4438 struct eun_info_t *__cil_tmp295 ;
4439 unsigned long __cil_tmp296 ;
4440 unsigned long __cil_tmp297 ;
4441 uint32_t __cil_tmp298 ;
4442 unsigned long __cil_tmp299 ;
4443 unsigned long __cil_tmp300 ;
4444 unsigned long __cil_tmp301 ;
4445 unsigned long __cil_tmp302 ;
4446 uint32_t __cil_tmp303 ;
4447 unsigned long __cil_tmp304 ;
4448 unsigned long __cil_tmp305 ;
4449 uint32_t *__cil_tmp306 ;
4450 uint32_t *__cil_tmp307 ;
4451 uint32_t __cil_tmp308 ;
4452 unsigned int __cil_tmp309 ;
4453 unsigned long __cil_tmp310 ;
4454 unsigned long __cil_tmp311 ;
4455 uint32_t *__cil_tmp312 ;
4456 uint32_t *__cil_tmp313 ;
4457 uint32_t __cil_tmp314 ;
4458 __u32 __cil_tmp315 ;
4459 unsigned long __cil_tmp316 ;
4460 unsigned long __cil_tmp317 ;
4461 uint32_t *__cil_tmp318 ;
4462 uint32_t *__cil_tmp319 ;
4463 uint32_t __cil_tmp320 ;
4464 __u32 __cil_tmp321 ;
4465 unsigned long __cil_tmp322 ;
4466 unsigned long __cil_tmp323 ;
4467 uint32_t *__cil_tmp324 ;
4468 uint32_t *__cil_tmp325 ;
4469 unsigned long __cil_tmp326 ;
4470 uint8_t __cil_tmp327 ;
4471 int __cil_tmp328 ;
4472 unsigned int __cil_tmp329 ;
4473 unsigned long __cil_tmp330 ;
4474 uint8_t __cil_tmp331 ;
4475 int __cil_tmp332 ;
4476 int __cil_tmp333 ;
4477 int __cil_tmp334 ;
4478 unsigned int __cil_tmp335 ;
4479 unsigned long __cil_tmp336 ;
4480 unsigned long __cil_tmp337 ;
4481 uint32_t *__cil_tmp338 ;
4482 uint32_t *__cil_tmp339 ;
4483 uint32_t __cil_tmp340 ;
4484 unsigned long __cil_tmp341 ;
4485 unsigned long __cil_tmp342 ;
4486 struct eun_info_t *__cil_tmp343 ;
4487 struct eun_info_t *__cil_tmp344 ;
4488 unsigned long __cil_tmp345 ;
4489 unsigned long __cil_tmp346 ;
4490 unsigned long __cil_tmp347 ;
4491 unsigned long __cil_tmp348 ;
4492 struct eun_info_t *__cil_tmp349 ;
4493 struct eun_info_t *__cil_tmp350 ;
4494 unsigned long __cil_tmp351 ;
4495 unsigned long __cil_tmp352 ;
4496 uint32_t __cil_tmp353 ;
4497 unsigned long __cil_tmp354 ;
4498 unsigned long __cil_tmp355 ;
4499 uint32_t *__cil_tmp356 ;
4500 uint32_t *__cil_tmp357 ;
4501 uint32_t __cil_tmp358 ;
4502 unsigned long __cil_tmp359 ;
4503 unsigned long __cil_tmp360 ;
4504 struct eun_info_t *__cil_tmp361 ;
4505 struct eun_info_t *__cil_tmp362 ;
4506 unsigned long __cil_tmp363 ;
4507 unsigned long __cil_tmp364 ;
4508 unsigned long __cil_tmp365 ;
4509 unsigned long __cil_tmp366 ;
4510 struct eun_info_t *__cil_tmp367 ;
4511 struct eun_info_t *__cil_tmp368 ;
4512 unsigned long __cil_tmp369 ;
4513 unsigned long __cil_tmp370 ;
4514 uint32_t __cil_tmp371 ;
4515 int __cil_tmp372 ;
4516 int __cil_tmp373 ;
4517 unsigned long __cil_tmp374 ;
4518 unsigned long __cil_tmp375 ;
4519 uint32_t *__cil_tmp376 ;
4520 void const *__cil_tmp377 ;
4521 unsigned long __cil_tmp378 ;
4522 unsigned long __cil_tmp379 ;
4523 uint32_t *__cil_tmp380 ;
4524 void const *__cil_tmp381 ;
4525 unsigned long __cil_tmp382 ;
4526 unsigned long __cil_tmp383 ;
4527 struct xfer_info_t *__cil_tmp384 ;
4528 void const *__cil_tmp385 ;
4529 unsigned long __cil_tmp386 ;
4530 unsigned long __cil_tmp387 ;
4531 struct eun_info_t *__cil_tmp388 ;
4532 void const *__cil_tmp389 ;
4533
4534 {
4535 {
4536#line 205
4537 ret = -1;
4538#line 210
4539 __cil_tmp17 = (unsigned long )part;
4540#line 210
4541 __cil_tmp18 = __cil_tmp17 + 272;
4542#line 210
4543 __cil_tmp19 = 280 + 15;
4544#line 210
4545 __cil_tmp20 = (unsigned long )part;
4546#line 210
4547 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
4548#line 210
4549 __cil_tmp22 = *((uint8_t *)__cil_tmp21);
4550#line 210
4551 __cil_tmp23 = (int )__cil_tmp22;
4552#line 210
4553 __cil_tmp24 = 280 + 26;
4554#line 210
4555 __cil_tmp25 = (unsigned long )part;
4556#line 210
4557 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
4558#line 210
4559 __cil_tmp27 = *((uint16_t *)__cil_tmp26);
4560#line 210
4561 __cil_tmp28 = (int )__cil_tmp27;
4562#line 210
4563 __cil_tmp29 = __cil_tmp28 - __cil_tmp23;
4564#line 210
4565 *((uint16_t *)__cil_tmp18) = (uint16_t )__cil_tmp29;
4566#line 212
4567 __cil_tmp30 = (unsigned long )part;
4568#line 212
4569 __cil_tmp31 = __cil_tmp30 + 272;
4570#line 212
4571 __cil_tmp32 = *((uint16_t *)__cil_tmp31);
4572#line 212
4573 __cil_tmp33 = (unsigned long )__cil_tmp32;
4574#line 212
4575 __cil_tmp34 = __cil_tmp33 * 16UL;
4576#line 212
4577 tmp___7 = kmalloc(__cil_tmp34, 208U);
4578#line 212
4579 __cil_tmp35 = (unsigned long )part;
4580#line 212
4581 __cil_tmp36 = __cil_tmp35 + 240;
4582#line 212
4583 *((struct eun_info_t **)__cil_tmp36) = (struct eun_info_t *)tmp___7;
4584 }
4585 {
4586#line 214
4587 __cil_tmp37 = (unsigned long )part;
4588#line 214
4589 __cil_tmp38 = __cil_tmp37 + 240;
4590#line 214
4591 __cil_tmp39 = *((struct eun_info_t **)__cil_tmp38);
4592#line 214
4593 if (! __cil_tmp39) {
4594#line 215
4595 goto out;
4596 } else {
4597
4598 }
4599 }
4600#line 216
4601 i = (uint16_t )0;
4602 {
4603#line 216
4604 while (1) {
4605 while_continue: ;
4606 {
4607#line 216
4608 __cil_tmp40 = (unsigned long )part;
4609#line 216
4610 __cil_tmp41 = __cil_tmp40 + 272;
4611#line 216
4612 __cil_tmp42 = *((uint16_t *)__cil_tmp41);
4613#line 216
4614 __cil_tmp43 = (int )__cil_tmp42;
4615#line 216
4616 __cil_tmp44 = (int )i;
4617#line 216
4618 if (__cil_tmp44 < __cil_tmp43) {
4619
4620 } else {
4621#line 216
4622 goto while_break;
4623 }
4624 }
4625#line 217
4626 __cil_tmp45 = (unsigned long )part;
4627#line 217
4628 __cil_tmp46 = __cil_tmp45 + 240;
4629#line 217
4630 __cil_tmp47 = *((struct eun_info_t **)__cil_tmp46);
4631#line 217
4632 __cil_tmp48 = __cil_tmp47 + i;
4633#line 217
4634 *((uint32_t *)__cil_tmp48) = 4294967295U;
4635#line 216
4636 __cil_tmp49 = (int )i;
4637#line 216
4638 __cil_tmp50 = __cil_tmp49 + 1;
4639#line 216
4640 i = (uint16_t )__cil_tmp50;
4641 }
4642 while_break: ;
4643 }
4644 {
4645#line 218
4646 __cil_tmp51 = 280 + 15;
4647#line 218
4648 __cil_tmp52 = (unsigned long )part;
4649#line 218
4650 __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
4651#line 218
4652 __cil_tmp54 = *((uint8_t *)__cil_tmp53);
4653#line 218
4654 __cil_tmp55 = (unsigned long )__cil_tmp54;
4655#line 218
4656 __cil_tmp56 = __cil_tmp55 * 12UL;
4657#line 218
4658 tmp___8 = kmalloc(__cil_tmp56, 208U);
4659#line 218
4660 __cil_tmp57 = (unsigned long )part;
4661#line 218
4662 __cil_tmp58 = __cil_tmp57 + 248;
4663#line 218
4664 *((struct xfer_info_t **)__cil_tmp58) = (struct xfer_info_t *)tmp___8;
4665 }
4666 {
4667#line 221
4668 __cil_tmp59 = (unsigned long )part;
4669#line 221
4670 __cil_tmp60 = __cil_tmp59 + 248;
4671#line 221
4672 __cil_tmp61 = *((struct xfer_info_t **)__cil_tmp60);
4673#line 221
4674 if (! __cil_tmp61) {
4675#line 222
4676 goto out_EUNInfo;
4677 } else {
4678
4679 }
4680 }
4681#line 224
4682 xtrans = (uint16_t )0;
4683#line 224
4684 xvalid = xtrans;
4685#line 225
4686 i = (uint16_t )0;
4687 {
4688#line 225
4689 while (1) {
4690 while_continue___0: ;
4691 {
4692#line 225
4693 __cil_tmp62 = 280 + 26;
4694#line 225
4695 __cil_tmp63 = (unsigned long )part;
4696#line 225
4697 __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
4698#line 225
4699 __cil_tmp65 = *((uint16_t *)__cil_tmp64);
4700#line 225
4701 __cil_tmp66 = (int )__cil_tmp65;
4702#line 225
4703 __cil_tmp67 = (int )i;
4704#line 225
4705 if (__cil_tmp67 < __cil_tmp66) {
4706
4707 } else {
4708#line 225
4709 goto while_break___0;
4710 }
4711 }
4712 {
4713#line 226
4714 __cil_tmp68 = 280 + 23;
4715#line 226
4716 __cil_tmp69 = (unsigned long )part;
4717#line 226
4718 __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
4719#line 226
4720 __cil_tmp71 = *((uint8_t *)__cil_tmp70);
4721#line 226
4722 __cil_tmp72 = (int )__cil_tmp71;
4723#line 226
4724 __cil_tmp73 = 280 + 24;
4725#line 226
4726 __cil_tmp74 = (unsigned long )part;
4727#line 226
4728 __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
4729#line 226
4730 __cil_tmp76 = *((uint16_t *)__cil_tmp75);
4731#line 226
4732 __cil_tmp77 = (int )__cil_tmp76;
4733#line 226
4734 __cil_tmp78 = (int )i;
4735#line 226
4736 __cil_tmp79 = __cil_tmp78 + __cil_tmp77;
4737#line 226
4738 __cil_tmp80 = __cil_tmp79 << __cil_tmp72;
4739#line 226
4740 offset = (loff_t )__cil_tmp80;
4741#line 228
4742 __cil_tmp81 = 0 + 24;
4743#line 228
4744 __cil_tmp82 = (unsigned long )part;
4745#line 228
4746 __cil_tmp83 = __cil_tmp82 + __cil_tmp81;
4747#line 228
4748 __cil_tmp84 = *((struct mtd_info **)__cil_tmp83);
4749#line 228
4750 __cil_tmp85 = (size_t *)(& retval);
4751#line 228
4752 __cil_tmp86 = (unsigned char *)(& header);
4753#line 228
4754 ret = mtd_read(__cil_tmp84, offset, 68UL, __cil_tmp85, __cil_tmp86);
4755 }
4756#line 231
4757 if (ret) {
4758#line 232
4759 goto out_XferInfo;
4760 } else {
4761
4762 }
4763 {
4764#line 234
4765 ret = -1;
4766#line 236
4767 __cil_tmp87 = 0 * 1UL;
4768#line 236
4769 __cil_tmp88 = 5 + __cil_tmp87;
4770#line 236
4771 __cil_tmp89 = (unsigned long )(& header) + __cil_tmp88;
4772#line 236
4773 __cil_tmp90 = (uint8_t *)__cil_tmp89;
4774#line 236
4775 __cil_tmp91 = __cil_tmp90 + 3;
4776#line 236
4777 __cil_tmp92 = (char const *)__cil_tmp91;
4778#line 236
4779 tmp___9 = strcmp(__cil_tmp92, "FTL100");
4780#line 236
4781 hdr_ok = tmp___9 == 0;
4782 }
4783#line 237
4784 if (hdr_ok) {
4785 {
4786#line 237
4787 __cil_tmp93 = (unsigned long )part;
4788#line 237
4789 __cil_tmp94 = __cil_tmp93 + 272;
4790#line 237
4791 __cil_tmp95 = *((uint16_t *)__cil_tmp94);
4792#line 237
4793 __cil_tmp96 = (int )__cil_tmp95;
4794#line 237
4795 __cil_tmp97 = (unsigned long )(& header) + 20;
4796#line 237
4797 __cil_tmp98 = *((uint16_t *)__cil_tmp97);
4798#line 237
4799 __cil_tmp99 = (int )__cil_tmp98;
4800#line 237
4801 if (__cil_tmp99 < __cil_tmp96) {
4802 {
4803#line 237
4804 __cil_tmp100 = (unsigned long )(& header) + 20;
4805#line 237
4806 __cil_tmp101 = *((uint16_t *)__cil_tmp100);
4807#line 237
4808 __cil_tmp102 = (unsigned long )part;
4809#line 237
4810 __cil_tmp103 = __cil_tmp102 + 240;
4811#line 237
4812 __cil_tmp104 = *((struct eun_info_t **)__cil_tmp103);
4813#line 237
4814 __cil_tmp105 = __cil_tmp104 + __cil_tmp101;
4815#line 237
4816 __cil_tmp106 = *((uint32_t *)__cil_tmp105);
4817#line 237
4818 if (__cil_tmp106 == 4294967295U) {
4819#line 239
4820 __cil_tmp107 = (unsigned long )(& header) + 20;
4821#line 239
4822 __cil_tmp108 = *((uint16_t *)__cil_tmp107);
4823#line 239
4824 __cil_tmp109 = (unsigned long )part;
4825#line 239
4826 __cil_tmp110 = __cil_tmp109 + 240;
4827#line 239
4828 __cil_tmp111 = *((struct eun_info_t **)__cil_tmp110);
4829#line 239
4830 __cil_tmp112 = __cil_tmp111 + __cil_tmp108;
4831#line 239
4832 *((uint32_t *)__cil_tmp112) = (uint32_t )offset;
4833#line 240
4834 __cil_tmp113 = (unsigned long )(& header) + 20;
4835#line 240
4836 __cil_tmp114 = *((uint16_t *)__cil_tmp113);
4837#line 240
4838 __cil_tmp115 = (unsigned long )part;
4839#line 240
4840 __cil_tmp116 = __cil_tmp115 + 240;
4841#line 240
4842 __cil_tmp117 = *((struct eun_info_t **)__cil_tmp116);
4843#line 240
4844 __cil_tmp118 = __cil_tmp117 + __cil_tmp114;
4845#line 240
4846 __cil_tmp119 = (unsigned long )__cil_tmp118;
4847#line 240
4848 __cil_tmp120 = __cil_tmp119 + 4;
4849#line 240
4850 __cil_tmp121 = (unsigned long )(& header) + 16;
4851#line 240
4852 *((uint32_t *)__cil_tmp120) = *((uint32_t *)__cil_tmp121);
4853#line 242
4854 __cil_tmp122 = (int )xvalid;
4855#line 242
4856 __cil_tmp123 = __cil_tmp122 + 1;
4857#line 242
4858 xvalid = (uint16_t )__cil_tmp123;
4859 } else {
4860#line 237
4861 goto _L___0;
4862 }
4863 }
4864 } else {
4865#line 237
4866 goto _L___0;
4867 }
4868 }
4869 } else {
4870 _L___0:
4871 {
4872#line 244
4873 __cil_tmp124 = 280 + 15;
4874#line 244
4875 __cil_tmp125 = (unsigned long )part;
4876#line 244
4877 __cil_tmp126 = __cil_tmp125 + __cil_tmp124;
4878#line 244
4879 __cil_tmp127 = *((uint8_t *)__cil_tmp126);
4880#line 244
4881 __cil_tmp128 = (int )__cil_tmp127;
4882#line 244
4883 __cil_tmp129 = (int )xtrans;
4884#line 244
4885 if (__cil_tmp129 == __cil_tmp128) {
4886 {
4887#line 245
4888 printk("<5>ftl_cs: format error: too many transfer units!\n");
4889 }
4890#line 247
4891 goto out_XferInfo;
4892 } else {
4893
4894 }
4895 }
4896#line 249
4897 if (hdr_ok) {
4898 {
4899#line 249
4900 __cil_tmp130 = (unsigned long )(& header) + 20;
4901#line 249
4902 __cil_tmp131 = *((uint16_t *)__cil_tmp130);
4903#line 249
4904 __cil_tmp132 = (int )__cil_tmp131;
4905#line 249
4906 if (__cil_tmp132 == 65535) {
4907#line 250
4908 __cil_tmp133 = (unsigned long )part;
4909#line 250
4910 __cil_tmp134 = __cil_tmp133 + 248;
4911#line 250
4912 __cil_tmp135 = *((struct xfer_info_t **)__cil_tmp134);
4913#line 250
4914 __cil_tmp136 = __cil_tmp135 + xtrans;
4915#line 250
4916 __cil_tmp137 = (unsigned long )__cil_tmp136;
4917#line 250
4918 __cil_tmp138 = __cil_tmp137 + 8;
4919#line 250
4920 *((uint16_t *)__cil_tmp138) = (uint16_t )3;
4921#line 251
4922 __cil_tmp139 = (unsigned long )part;
4923#line 251
4924 __cil_tmp140 = __cil_tmp139 + 248;
4925#line 251
4926 __cil_tmp141 = *((struct xfer_info_t **)__cil_tmp140);
4927#line 251
4928 __cil_tmp142 = __cil_tmp141 + xtrans;
4929#line 251
4930 __cil_tmp143 = (unsigned long )__cil_tmp142;
4931#line 251
4932 __cil_tmp144 = __cil_tmp143 + 4;
4933#line 251
4934 __cil_tmp145 = (unsigned long )(& header) + 16;
4935#line 251
4936 *((uint32_t *)__cil_tmp144) = *((uint32_t *)__cil_tmp145);
4937 } else {
4938#line 253
4939 __cil_tmp146 = (unsigned long )part;
4940#line 253
4941 __cil_tmp147 = __cil_tmp146 + 248;
4942#line 253
4943 __cil_tmp148 = *((struct xfer_info_t **)__cil_tmp147);
4944#line 253
4945 __cil_tmp149 = __cil_tmp148 + xtrans;
4946#line 253
4947 __cil_tmp150 = (unsigned long )__cil_tmp149;
4948#line 253
4949 __cil_tmp151 = __cil_tmp150 + 8;
4950#line 253
4951 *((uint16_t *)__cil_tmp151) = (uint16_t )0;
4952#line 255
4953 __cil_tmp152 = (unsigned long )part;
4954#line 255
4955 __cil_tmp153 = __cil_tmp152 + 248;
4956#line 255
4957 __cil_tmp154 = *((struct xfer_info_t **)__cil_tmp153);
4958#line 255
4959 __cil_tmp155 = __cil_tmp154 + xtrans;
4960#line 255
4961 __cil_tmp156 = (unsigned long )__cil_tmp155;
4962#line 255
4963 __cil_tmp157 = __cil_tmp156 + 4;
4964#line 255
4965 __cil_tmp158 = 280 + 16;
4966#line 255
4967 __cil_tmp159 = (unsigned long )part;
4968#line 255
4969 __cil_tmp160 = __cil_tmp159 + __cil_tmp158;
4970#line 255
4971 *((uint32_t *)__cil_tmp157) = *((uint32_t *)__cil_tmp160);
4972 }
4973 }
4974 } else {
4975#line 253
4976 __cil_tmp161 = (unsigned long )part;
4977#line 253
4978 __cil_tmp162 = __cil_tmp161 + 248;
4979#line 253
4980 __cil_tmp163 = *((struct xfer_info_t **)__cil_tmp162);
4981#line 253
4982 __cil_tmp164 = __cil_tmp163 + xtrans;
4983#line 253
4984 __cil_tmp165 = (unsigned long )__cil_tmp164;
4985#line 253
4986 __cil_tmp166 = __cil_tmp165 + 8;
4987#line 253
4988 *((uint16_t *)__cil_tmp166) = (uint16_t )0;
4989#line 255
4990 __cil_tmp167 = (unsigned long )part;
4991#line 255
4992 __cil_tmp168 = __cil_tmp167 + 248;
4993#line 255
4994 __cil_tmp169 = *((struct xfer_info_t **)__cil_tmp168);
4995#line 255
4996 __cil_tmp170 = __cil_tmp169 + xtrans;
4997#line 255
4998 __cil_tmp171 = (unsigned long )__cil_tmp170;
4999#line 255
5000 __cil_tmp172 = __cil_tmp171 + 4;
5001#line 255
5002 __cil_tmp173 = 280 + 16;
5003#line 255
5004 __cil_tmp174 = (unsigned long )part;
5005#line 255
5006 __cil_tmp175 = __cil_tmp174 + __cil_tmp173;
5007#line 255
5008 *((uint32_t *)__cil_tmp172) = *((uint32_t *)__cil_tmp175);
5009 }
5010#line 258
5011 __cil_tmp176 = (unsigned long )part;
5012#line 258
5013 __cil_tmp177 = __cil_tmp176 + 248;
5014#line 258
5015 __cil_tmp178 = *((struct xfer_info_t **)__cil_tmp177);
5016#line 258
5017 __cil_tmp179 = __cil_tmp178 + xtrans;
5018#line 258
5019 *((uint32_t *)__cil_tmp179) = (uint32_t )offset;
5020#line 259
5021 __cil_tmp180 = (int )xtrans;
5022#line 259
5023 __cil_tmp181 = __cil_tmp180 + 1;
5024#line 259
5025 xtrans = (uint16_t )__cil_tmp181;
5026 }
5027#line 225
5028 __cil_tmp182 = (int )i;
5029#line 225
5030 __cil_tmp183 = __cil_tmp182 + 1;
5031#line 225
5032 i = (uint16_t )__cil_tmp183;
5033 }
5034 while_break___0: ;
5035 }
5036#line 263
5037 __cil_tmp184 = & header;
5038#line 263
5039 __cil_tmp185 = (unsigned long )part;
5040#line 263
5041 __cil_tmp186 = __cil_tmp185 + 280;
5042#line 263
5043 *__cil_tmp184 = *((erase_unit_header_t *)__cil_tmp186);
5044 {
5045#line 264
5046 __cil_tmp187 = (unsigned long )(& header) + 15;
5047#line 264
5048 __cil_tmp188 = *((uint8_t *)__cil_tmp187);
5049#line 264
5050 __cil_tmp189 = (int )__cil_tmp188;
5051#line 264
5052 __cil_tmp190 = (int )xtrans;
5053#line 264
5054 if (__cil_tmp190 != __cil_tmp189) {
5055 {
5056#line 266
5057 printk("<5>ftl_cs: format error: erase units don\'t add up!\n");
5058 }
5059#line 268
5060 goto out_XferInfo;
5061 } else {
5062 {
5063#line 264
5064 __cil_tmp191 = (unsigned long )(& header) + 26;
5065#line 264
5066 __cil_tmp192 = *((uint16_t *)__cil_tmp191);
5067#line 264
5068 __cil_tmp193 = (int )__cil_tmp192;
5069#line 264
5070 __cil_tmp194 = (int )xtrans;
5071#line 264
5072 __cil_tmp195 = (int )xvalid;
5073#line 264
5074 __cil_tmp196 = __cil_tmp195 + __cil_tmp194;
5075#line 264
5076 if (__cil_tmp196 != __cil_tmp193) {
5077 {
5078#line 266
5079 printk("<5>ftl_cs: format error: erase units don\'t add up!\n");
5080 }
5081#line 268
5082 goto out_XferInfo;
5083 } else {
5084
5085 }
5086 }
5087 }
5088 }
5089 {
5090#line 272
5091 __cil_tmp197 = (unsigned long )(& header) + 22;
5092#line 272
5093 __cil_tmp198 = *((uint8_t *)__cil_tmp197);
5094#line 272
5095 __cil_tmp199 = (int )__cil_tmp198;
5096#line 272
5097 __cil_tmp200 = (unsigned long )(& header) + 28;
5098#line 272
5099 __cil_tmp201 = *((uint32_t *)__cil_tmp200);
5100#line 272
5101 blocks = __cil_tmp201 >> __cil_tmp199;
5102#line 273
5103 __cil_tmp202 = (unsigned long )blocks;
5104#line 273
5105 __cil_tmp203 = __cil_tmp202 * 4UL;
5106#line 273
5107 tmp___10 = vmalloc(__cil_tmp203);
5108#line 273
5109 __cil_tmp204 = (unsigned long )part;
5110#line 273
5111 __cil_tmp205 = __cil_tmp204 + 216;
5112#line 273
5113 *((uint32_t **)__cil_tmp205) = (uint32_t *)tmp___10;
5114 }
5115 {
5116#line 274
5117 __cil_tmp206 = (unsigned long )part;
5118#line 274
5119 __cil_tmp207 = __cil_tmp206 + 216;
5120#line 274
5121 __cil_tmp208 = *((uint32_t **)__cil_tmp207);
5122#line 274
5123 if (! __cil_tmp208) {
5124#line 275
5125 goto out_XferInfo;
5126 } else {
5127
5128 }
5129 }
5130 {
5131#line 277
5132 __cil_tmp209 = (unsigned long )part;
5133#line 277
5134 __cil_tmp210 = __cil_tmp209 + 216;
5135#line 277
5136 __cil_tmp211 = *((uint32_t **)__cil_tmp210);
5137#line 277
5138 __cil_tmp212 = (void *)__cil_tmp211;
5139#line 277
5140 __cil_tmp213 = (unsigned long )blocks;
5141#line 277
5142 __cil_tmp214 = __cil_tmp213 * 4UL;
5143#line 277
5144 memset(__cil_tmp212, 255, __cil_tmp214);
5145#line 278
5146 __cil_tmp215 = (unsigned long )part;
5147#line 278
5148 __cil_tmp216 = __cil_tmp215 + 276;
5149#line 278
5150 __cil_tmp217 = (unsigned long )(& header) + 22;
5151#line 278
5152 __cil_tmp218 = *((uint8_t *)__cil_tmp217);
5153#line 278
5154 __cil_tmp219 = (int )__cil_tmp218;
5155#line 278
5156 __cil_tmp220 = (unsigned long )(& header) + 23;
5157#line 278
5158 __cil_tmp221 = *((uint8_t *)__cil_tmp220);
5159#line 278
5160 __cil_tmp222 = (int )__cil_tmp221;
5161#line 278
5162 __cil_tmp223 = 1 << __cil_tmp222;
5163#line 278
5164 __cil_tmp224 = __cil_tmp223 >> __cil_tmp219;
5165#line 278
5166 *((uint32_t *)__cil_tmp216) = (uint32_t )__cil_tmp224;
5167#line 280
5168 __cil_tmp225 = (unsigned long )part;
5169#line 280
5170 __cil_tmp226 = __cil_tmp225 + 276;
5171#line 280
5172 __cil_tmp227 = *((uint32_t *)__cil_tmp226);
5173#line 280
5174 __cil_tmp228 = (unsigned long )__cil_tmp227;
5175#line 280
5176 __cil_tmp229 = __cil_tmp228 * 4UL;
5177#line 280
5178 tmp___11 = kmalloc(__cil_tmp229, 208U);
5179#line 280
5180 __cil_tmp230 = (unsigned long )part;
5181#line 280
5182 __cil_tmp231 = __cil_tmp230 + 264;
5183#line 280
5184 *((uint32_t **)__cil_tmp231) = (uint32_t *)tmp___11;
5185 }
5186 {
5187#line 282
5188 __cil_tmp232 = (unsigned long )part;
5189#line 282
5190 __cil_tmp233 = __cil_tmp232 + 264;
5191#line 282
5192 __cil_tmp234 = *((uint32_t **)__cil_tmp233);
5193#line 282
5194 if (! __cil_tmp234) {
5195#line 283
5196 goto out_VirtualBlockMap;
5197 } else {
5198
5199 }
5200 }
5201#line 285
5202 __cil_tmp235 = (unsigned long )part;
5203#line 285
5204 __cil_tmp236 = __cil_tmp235 + 256;
5205#line 285
5206 *((uint16_t *)__cil_tmp236) = (uint16_t )65535;
5207#line 286
5208 __cil_tmp237 = (unsigned long )part;
5209#line 286
5210 __cil_tmp238 = __cil_tmp237 + 232;
5211#line 286
5212 *((uint32_t *)__cil_tmp238) = (uint32_t )0;
5213#line 288
5214 i = (uint16_t )0;
5215 {
5216#line 288
5217 while (1) {
5218 while_continue___1: ;
5219 {
5220#line 288
5221 __cil_tmp239 = (unsigned long )part;
5222#line 288
5223 __cil_tmp240 = __cil_tmp239 + 272;
5224#line 288
5225 __cil_tmp241 = *((uint16_t *)__cil_tmp240);
5226#line 288
5227 __cil_tmp242 = (int )__cil_tmp241;
5228#line 288
5229 __cil_tmp243 = (int )i;
5230#line 288
5231 if (__cil_tmp243 < __cil_tmp242) {
5232
5233 } else {
5234#line 288
5235 goto while_break___1;
5236 }
5237 }
5238 {
5239#line 289
5240 __cil_tmp244 = (unsigned long )part;
5241#line 289
5242 __cil_tmp245 = __cil_tmp244 + 240;
5243#line 289
5244 __cil_tmp246 = *((struct eun_info_t **)__cil_tmp245);
5245#line 289
5246 __cil_tmp247 = __cil_tmp246 + i;
5247#line 289
5248 __cil_tmp248 = (unsigned long )__cil_tmp247;
5249#line 289
5250 __cil_tmp249 = __cil_tmp248 + 8;
5251#line 289
5252 *((uint32_t *)__cil_tmp249) = (uint32_t )0;
5253#line 290
5254 __cil_tmp250 = (unsigned long )part;
5255#line 290
5256 __cil_tmp251 = __cil_tmp250 + 240;
5257#line 290
5258 __cil_tmp252 = *((struct eun_info_t **)__cil_tmp251);
5259#line 290
5260 __cil_tmp253 = __cil_tmp252 + i;
5261#line 290
5262 __cil_tmp254 = (unsigned long )__cil_tmp253;
5263#line 290
5264 __cil_tmp255 = __cil_tmp254 + 12;
5265#line 290
5266 *((uint32_t *)__cil_tmp255) = (uint32_t )0;
5267#line 291
5268 __cil_tmp256 = (unsigned long )(& header) + 48;
5269#line 291
5270 __cil_tmp257 = *((uint32_t *)__cil_tmp256);
5271#line 291
5272 __cil_tmp258 = (unsigned long )part;
5273#line 291
5274 __cil_tmp259 = __cil_tmp258 + 240;
5275#line 291
5276 __cil_tmp260 = *((struct eun_info_t **)__cil_tmp259);
5277#line 291
5278 __cil_tmp261 = __cil_tmp260 + i;
5279#line 291
5280 __cil_tmp262 = *((uint32_t *)__cil_tmp261);
5281#line 291
5282 __cil_tmp263 = __cil_tmp262 + __cil_tmp257;
5283#line 291
5284 offset = (loff_t )__cil_tmp263;
5285#line 293
5286 __cil_tmp264 = 0 + 24;
5287#line 293
5288 __cil_tmp265 = (unsigned long )part;
5289#line 293
5290 __cil_tmp266 = __cil_tmp265 + __cil_tmp264;
5291#line 293
5292 __cil_tmp267 = *((struct mtd_info **)__cil_tmp266);
5293#line 293
5294 __cil_tmp268 = (unsigned long )part;
5295#line 293
5296 __cil_tmp269 = __cil_tmp268 + 276;
5297#line 293
5298 __cil_tmp270 = *((uint32_t *)__cil_tmp269);
5299#line 293
5300 __cil_tmp271 = (unsigned long )__cil_tmp270;
5301#line 293
5302 __cil_tmp272 = __cil_tmp271 * 4UL;
5303#line 293
5304 __cil_tmp273 = (size_t *)(& retval);
5305#line 293
5306 __cil_tmp274 = (unsigned long )part;
5307#line 293
5308 __cil_tmp275 = __cil_tmp274 + 264;
5309#line 293
5310 __cil_tmp276 = *((uint32_t **)__cil_tmp275);
5311#line 293
5312 __cil_tmp277 = (unsigned char *)__cil_tmp276;
5313#line 293
5314 ret = mtd_read(__cil_tmp267, offset, __cil_tmp272, __cil_tmp273, __cil_tmp277);
5315 }
5316#line 297
5317 if (ret) {
5318#line 298
5319 goto out_bam_cache;
5320 } else {
5321
5322 }
5323#line 300
5324 j = 0U;
5325 {
5326#line 300
5327 while (1) {
5328 while_continue___2: ;
5329 {
5330#line 300
5331 __cil_tmp278 = (unsigned long )part;
5332#line 300
5333 __cil_tmp279 = __cil_tmp278 + 276;
5334#line 300
5335 __cil_tmp280 = *((uint32_t *)__cil_tmp279);
5336#line 300
5337 if (j < __cil_tmp280) {
5338
5339 } else {
5340#line 300
5341 goto while_break___2;
5342 }
5343 }
5344 {
5345#line 301
5346 __cil_tmp281 = (unsigned long )part;
5347#line 301
5348 __cil_tmp282 = __cil_tmp281 + 264;
5349#line 301
5350 __cil_tmp283 = *((uint32_t **)__cil_tmp282);
5351#line 301
5352 __cil_tmp284 = __cil_tmp283 + j;
5353#line 301
5354 __cil_tmp285 = *__cil_tmp284;
5355#line 301
5356 if (__cil_tmp285 == 4294967295U) {
5357#line 302
5358 __cil_tmp286 = (unsigned long )part;
5359#line 302
5360 __cil_tmp287 = __cil_tmp286 + 240;
5361#line 302
5362 __cil_tmp288 = *((struct eun_info_t **)__cil_tmp287);
5363#line 302
5364 __cil_tmp289 = __cil_tmp288 + i;
5365#line 302
5366 __cil_tmp290 = (unsigned long )__cil_tmp289;
5367#line 302
5368 __cil_tmp291 = __cil_tmp290 + 8;
5369#line 302
5370 __cil_tmp292 = (unsigned long )part;
5371#line 302
5372 __cil_tmp293 = __cil_tmp292 + 240;
5373#line 302
5374 __cil_tmp294 = *((struct eun_info_t **)__cil_tmp293);
5375#line 302
5376 __cil_tmp295 = __cil_tmp294 + i;
5377#line 302
5378 __cil_tmp296 = (unsigned long )__cil_tmp295;
5379#line 302
5380 __cil_tmp297 = __cil_tmp296 + 8;
5381#line 302
5382 __cil_tmp298 = *((uint32_t *)__cil_tmp297);
5383#line 302
5384 *((uint32_t *)__cil_tmp291) = __cil_tmp298 + 1U;
5385#line 303
5386 __cil_tmp299 = (unsigned long )part;
5387#line 303
5388 __cil_tmp300 = __cil_tmp299 + 232;
5389#line 303
5390 __cil_tmp301 = (unsigned long )part;
5391#line 303
5392 __cil_tmp302 = __cil_tmp301 + 232;
5393#line 303
5394 __cil_tmp303 = *((uint32_t *)__cil_tmp302);
5395#line 303
5396 *((uint32_t *)__cil_tmp300) = __cil_tmp303 + 1U;
5397 } else {
5398 {
5399#line 304
5400 __cil_tmp304 = (unsigned long )part;
5401#line 304
5402 __cil_tmp305 = __cil_tmp304 + 264;
5403#line 304
5404 __cil_tmp306 = *((uint32_t **)__cil_tmp305);
5405#line 304
5406 __cil_tmp307 = __cil_tmp306 + j;
5407#line 304
5408 __cil_tmp308 = *__cil_tmp307;
5409#line 304
5410 __cil_tmp309 = __cil_tmp308 & 127U;
5411#line 304
5412 if (__cil_tmp309 == 64U) {
5413 {
5414#line 304
5415 __cil_tmp310 = (unsigned long )part;
5416#line 304
5417 __cil_tmp311 = __cil_tmp310 + 264;
5418#line 304
5419 __cil_tmp312 = *((uint32_t **)__cil_tmp311);
5420#line 304
5421 __cil_tmp313 = __cil_tmp312 + j;
5422#line 304
5423 __cil_tmp314 = *__cil_tmp313;
5424#line 304
5425 __cil_tmp315 = __cil_tmp314 >> 9;
5426#line 304
5427 if (__cil_tmp315 < blocks) {
5428#line 306
5429 __cil_tmp316 = (unsigned long )part;
5430#line 306
5431 __cil_tmp317 = __cil_tmp316 + 264;
5432#line 306
5433 __cil_tmp318 = *((uint32_t **)__cil_tmp317);
5434#line 306
5435 __cil_tmp319 = __cil_tmp318 + j;
5436#line 306
5437 __cil_tmp320 = *__cil_tmp319;
5438#line 306
5439 __cil_tmp321 = __cil_tmp320 >> 9;
5440#line 306
5441 __cil_tmp322 = (unsigned long )part;
5442#line 306
5443 __cil_tmp323 = __cil_tmp322 + 216;
5444#line 306
5445 __cil_tmp324 = *((uint32_t **)__cil_tmp323);
5446#line 306
5447 __cil_tmp325 = __cil_tmp324 + __cil_tmp321;
5448#line 306
5449 __cil_tmp326 = (unsigned long )(& header) + 22;
5450#line 306
5451 __cil_tmp327 = *((uint8_t *)__cil_tmp326);
5452#line 306
5453 __cil_tmp328 = (int )__cil_tmp327;
5454#line 306
5455 __cil_tmp329 = j << __cil_tmp328;
5456#line 306
5457 __cil_tmp330 = (unsigned long )(& header) + 23;
5458#line 306
5459 __cil_tmp331 = *((uint8_t *)__cil_tmp330);
5460#line 306
5461 __cil_tmp332 = (int )__cil_tmp331;
5462#line 306
5463 __cil_tmp333 = (int )i;
5464#line 306
5465 __cil_tmp334 = __cil_tmp333 << __cil_tmp332;
5466#line 306
5467 __cil_tmp335 = (unsigned int )__cil_tmp334;
5468#line 306
5469 *__cil_tmp325 = __cil_tmp335 + __cil_tmp329;
5470 } else {
5471#line 304
5472 goto _L___1;
5473 }
5474 }
5475 } else {
5476 _L___1:
5477 {
5478#line 308
5479 __cil_tmp336 = (unsigned long )part;
5480#line 308
5481 __cil_tmp337 = __cil_tmp336 + 264;
5482#line 308
5483 __cil_tmp338 = *((uint32_t **)__cil_tmp337);
5484#line 308
5485 __cil_tmp339 = __cil_tmp338 + j;
5486#line 308
5487 __cil_tmp340 = *__cil_tmp339;
5488#line 308
5489 if (__cil_tmp340 == 0U) {
5490#line 309
5491 __cil_tmp341 = (unsigned long )part;
5492#line 309
5493 __cil_tmp342 = __cil_tmp341 + 240;
5494#line 309
5495 __cil_tmp343 = *((struct eun_info_t **)__cil_tmp342);
5496#line 309
5497 __cil_tmp344 = __cil_tmp343 + i;
5498#line 309
5499 __cil_tmp345 = (unsigned long )__cil_tmp344;
5500#line 309
5501 __cil_tmp346 = __cil_tmp345 + 12;
5502#line 309
5503 __cil_tmp347 = (unsigned long )part;
5504#line 309
5505 __cil_tmp348 = __cil_tmp347 + 240;
5506#line 309
5507 __cil_tmp349 = *((struct eun_info_t **)__cil_tmp348);
5508#line 309
5509 __cil_tmp350 = __cil_tmp349 + i;
5510#line 309
5511 __cil_tmp351 = (unsigned long )__cil_tmp350;
5512#line 309
5513 __cil_tmp352 = __cil_tmp351 + 12;
5514#line 309
5515 __cil_tmp353 = *((uint32_t *)__cil_tmp352);
5516#line 309
5517 *((uint32_t *)__cil_tmp346) = __cil_tmp353 + 1U;
5518 } else {
5519 {
5520#line 308
5521 __cil_tmp354 = (unsigned long )part;
5522#line 308
5523 __cil_tmp355 = __cil_tmp354 + 264;
5524#line 308
5525 __cil_tmp356 = *((uint32_t **)__cil_tmp355);
5526#line 308
5527 __cil_tmp357 = __cil_tmp356 + j;
5528#line 308
5529 __cil_tmp358 = *__cil_tmp357;
5530#line 308
5531 if (__cil_tmp358 == 4294967294U) {
5532#line 309
5533 __cil_tmp359 = (unsigned long )part;
5534#line 309
5535 __cil_tmp360 = __cil_tmp359 + 240;
5536#line 309
5537 __cil_tmp361 = *((struct eun_info_t **)__cil_tmp360);
5538#line 309
5539 __cil_tmp362 = __cil_tmp361 + i;
5540#line 309
5541 __cil_tmp363 = (unsigned long )__cil_tmp362;
5542#line 309
5543 __cil_tmp364 = __cil_tmp363 + 12;
5544#line 309
5545 __cil_tmp365 = (unsigned long )part;
5546#line 309
5547 __cil_tmp366 = __cil_tmp365 + 240;
5548#line 309
5549 __cil_tmp367 = *((struct eun_info_t **)__cil_tmp366);
5550#line 309
5551 __cil_tmp368 = __cil_tmp367 + i;
5552#line 309
5553 __cil_tmp369 = (unsigned long )__cil_tmp368;
5554#line 309
5555 __cil_tmp370 = __cil_tmp369 + 12;
5556#line 309
5557 __cil_tmp371 = *((uint32_t *)__cil_tmp370);
5558#line 309
5559 *((uint32_t *)__cil_tmp364) = __cil_tmp371 + 1U;
5560 } else {
5561
5562 }
5563 }
5564 }
5565 }
5566 }
5567 }
5568 }
5569 }
5570#line 300
5571 j = j + 1U;
5572 }
5573 while_break___2: ;
5574 }
5575#line 288
5576 __cil_tmp372 = (int )i;
5577#line 288
5578 __cil_tmp373 = __cil_tmp372 + 1;
5579#line 288
5580 i = (uint16_t )__cil_tmp373;
5581 }
5582 while_break___1: ;
5583 }
5584#line 313
5585 ret = 0;
5586#line 314
5587 goto out;
5588 out_bam_cache:
5589 {
5590#line 317
5591 __cil_tmp374 = (unsigned long )part;
5592#line 317
5593 __cil_tmp375 = __cil_tmp374 + 264;
5594#line 317
5595 __cil_tmp376 = *((uint32_t **)__cil_tmp375);
5596#line 317
5597 __cil_tmp377 = (void const *)__cil_tmp376;
5598#line 317
5599 kfree(__cil_tmp377);
5600 }
5601 out_VirtualBlockMap:
5602 {
5603#line 319
5604 __cil_tmp378 = (unsigned long )part;
5605#line 319
5606 __cil_tmp379 = __cil_tmp378 + 216;
5607#line 319
5608 __cil_tmp380 = *((uint32_t **)__cil_tmp379);
5609#line 319
5610 __cil_tmp381 = (void const *)__cil_tmp380;
5611#line 319
5612 vfree(__cil_tmp381);
5613 }
5614 out_XferInfo:
5615 {
5616#line 321
5617 __cil_tmp382 = (unsigned long )part;
5618#line 321
5619 __cil_tmp383 = __cil_tmp382 + 248;
5620#line 321
5621 __cil_tmp384 = *((struct xfer_info_t **)__cil_tmp383);
5622#line 321
5623 __cil_tmp385 = (void const *)__cil_tmp384;
5624#line 321
5625 kfree(__cil_tmp385);
5626 }
5627 out_EUNInfo:
5628 {
5629#line 323
5630 __cil_tmp386 = (unsigned long )part;
5631#line 323
5632 __cil_tmp387 = __cil_tmp386 + 240;
5633#line 323
5634 __cil_tmp388 = *((struct eun_info_t **)__cil_tmp387);
5635#line 323
5636 __cil_tmp389 = (void const *)__cil_tmp388;
5637#line 323
5638 kfree(__cil_tmp389);
5639 }
5640 out:
5641#line 325
5642 return (ret);
5643}
5644}
5645#line 343
5646static int erase_xfer(partition_t *part , uint16_t xfernum ) ;
5647#line 343 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
5648static struct _ddebug __attribute__((__aligned__(8))) descriptor __attribute__((__used__,
5649__section__("__verbose"))) = {"ftl", "erase_xfer", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
5650 "ftl_cs: erasing xfer unit at 0x%x\n", 343U, 0U};
5651#line 335 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
5652static int erase_xfer(partition_t *part , uint16_t xfernum )
5653{ int ret ;
5654 struct xfer_info_t *xfer ;
5655 struct erase_info *erase ;
5656 long tmp___7 ;
5657 void *tmp___8 ;
5658 unsigned long __cil_tmp8 ;
5659 unsigned long __cil_tmp9 ;
5660 struct xfer_info_t *__cil_tmp10 ;
5661 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp11 ;
5662 unsigned int __cil_tmp12 ;
5663 unsigned int __cil_tmp13 ;
5664 int __cil_tmp14 ;
5665 int __cil_tmp15 ;
5666 long __cil_tmp16 ;
5667 uint32_t __cil_tmp17 ;
5668 unsigned long __cil_tmp18 ;
5669 unsigned long __cil_tmp19 ;
5670 unsigned long __cil_tmp20 ;
5671 unsigned long __cil_tmp21 ;
5672 unsigned long __cil_tmp22 ;
5673 unsigned long __cil_tmp23 ;
5674 unsigned long __cil_tmp24 ;
5675 unsigned long __cil_tmp25 ;
5676 unsigned long __cil_tmp26 ;
5677 uint32_t __cil_tmp27 ;
5678 unsigned long __cil_tmp28 ;
5679 unsigned long __cil_tmp29 ;
5680 unsigned long __cil_tmp30 ;
5681 unsigned long __cil_tmp31 ;
5682 unsigned long __cil_tmp32 ;
5683 uint8_t __cil_tmp33 ;
5684 int __cil_tmp34 ;
5685 int __cil_tmp35 ;
5686 unsigned long __cil_tmp36 ;
5687 unsigned long __cil_tmp37 ;
5688 unsigned long __cil_tmp38 ;
5689 unsigned long __cil_tmp39 ;
5690 unsigned long __cil_tmp40 ;
5691 struct mtd_info *__cil_tmp41 ;
5692 unsigned long __cil_tmp42 ;
5693 unsigned long __cil_tmp43 ;
5694 unsigned long __cil_tmp44 ;
5695 unsigned long __cil_tmp45 ;
5696 uint32_t __cil_tmp46 ;
5697 void const *__cil_tmp47 ;
5698
5699 {
5700#line 342
5701 __cil_tmp8 = (unsigned long )part;
5702#line 342
5703 __cil_tmp9 = __cil_tmp8 + 248;
5704#line 342
5705 __cil_tmp10 = *((struct xfer_info_t **)__cil_tmp9);
5706#line 342
5707 xfer = __cil_tmp10 + xfernum;
5708 {
5709#line 343
5710 while (1) {
5711 while_continue: ;
5712 {
5713#line 343
5714 __cil_tmp11 = & descriptor;
5715#line 343
5716 __cil_tmp12 = __cil_tmp11->flags;
5717#line 343
5718 __cil_tmp13 = __cil_tmp12 & 1U;
5719#line 343
5720 __cil_tmp14 = ! __cil_tmp13;
5721#line 343
5722 __cil_tmp15 = ! __cil_tmp14;
5723#line 343
5724 __cil_tmp16 = (long )__cil_tmp15;
5725#line 343
5726 tmp___7 = __builtin_expect(__cil_tmp16, 0L);
5727 }
5728#line 343
5729 if (tmp___7) {
5730 {
5731#line 343
5732 __cil_tmp17 = *((uint32_t *)xfer);
5733#line 343
5734 __dynamic_pr_debug(& descriptor, "ftl_cs: erasing xfer unit at 0x%x\n", __cil_tmp17);
5735 }
5736 } else {
5737
5738 }
5739#line 343
5740 goto while_break;
5741 }
5742 while_break: ;
5743 }
5744 {
5745#line 344
5746 __cil_tmp18 = (unsigned long )xfer;
5747#line 344
5748 __cil_tmp19 = __cil_tmp18 + 8;
5749#line 344
5750 *((uint16_t *)__cil_tmp19) = (uint16_t )1;
5751#line 349
5752 tmp___8 = kmalloc(88UL, 208U);
5753#line 349
5754 erase = (struct erase_info *)tmp___8;
5755 }
5756#line 350
5757 if (! erase) {
5758#line 351
5759 return (-12);
5760 } else {
5761
5762 }
5763 {
5764#line 353
5765 __cil_tmp20 = 0 + 24;
5766#line 353
5767 __cil_tmp21 = (unsigned long )part;
5768#line 353
5769 __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
5770#line 353
5771 *((struct mtd_info **)erase) = *((struct mtd_info **)__cil_tmp22);
5772#line 354
5773 __cil_tmp23 = (unsigned long )erase;
5774#line 354
5775 __cil_tmp24 = __cil_tmp23 + 56;
5776#line 354
5777 *((void (**)(struct erase_info *self ))__cil_tmp24) = & ftl_erase_callback;
5778#line 355
5779 __cil_tmp25 = (unsigned long )erase;
5780#line 355
5781 __cil_tmp26 = __cil_tmp25 + 8;
5782#line 355
5783 __cil_tmp27 = *((uint32_t *)xfer);
5784#line 355
5785 *((uint64_t *)__cil_tmp26) = (uint64_t )__cil_tmp27;
5786#line 356
5787 __cil_tmp28 = (unsigned long )erase;
5788#line 356
5789 __cil_tmp29 = __cil_tmp28 + 16;
5790#line 356
5791 __cil_tmp30 = 280 + 23;
5792#line 356
5793 __cil_tmp31 = (unsigned long )part;
5794#line 356
5795 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
5796#line 356
5797 __cil_tmp33 = *((uint8_t *)__cil_tmp32);
5798#line 356
5799 __cil_tmp34 = (int )__cil_tmp33;
5800#line 356
5801 __cil_tmp35 = 1 << __cil_tmp34;
5802#line 356
5803 *((uint64_t *)__cil_tmp29) = (uint64_t )__cil_tmp35;
5804#line 357
5805 __cil_tmp36 = (unsigned long )erase;
5806#line 357
5807 __cil_tmp37 = __cil_tmp36 + 64;
5808#line 357
5809 *((u_long *)__cil_tmp37) = (u_long )part;
5810#line 359
5811 __cil_tmp38 = 0 + 24;
5812#line 359
5813 __cil_tmp39 = (unsigned long )part;
5814#line 359
5815 __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
5816#line 359
5817 __cil_tmp41 = *((struct mtd_info **)__cil_tmp40);
5818#line 359
5819 ret = mtd_erase(__cil_tmp41, erase);
5820 }
5821#line 361
5822 if (! ret) {
5823#line 362
5824 __cil_tmp42 = (unsigned long )xfer;
5825#line 362
5826 __cil_tmp43 = __cil_tmp42 + 4;
5827#line 362
5828 __cil_tmp44 = (unsigned long )xfer;
5829#line 362
5830 __cil_tmp45 = __cil_tmp44 + 4;
5831#line 362
5832 __cil_tmp46 = *((uint32_t *)__cil_tmp45);
5833#line 362
5834 *((uint32_t *)__cil_tmp43) = __cil_tmp46 + 1U;
5835 } else {
5836 {
5837#line 364
5838 __cil_tmp47 = (void const *)erase;
5839#line 364
5840 kfree(__cil_tmp47);
5841 }
5842 }
5843#line 366
5844 return (ret);
5845}
5846}
5847#line 376 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
5848static void ftl_erase_callback(struct erase_info *erase )
5849{ partition_t *part ;
5850 struct xfer_info_t *xfer ;
5851 int i ;
5852 unsigned long __cil_tmp5 ;
5853 unsigned long __cil_tmp6 ;
5854 u_long __cil_tmp7 ;
5855 unsigned long __cil_tmp8 ;
5856 unsigned long __cil_tmp9 ;
5857 unsigned long __cil_tmp10 ;
5858 uint8_t __cil_tmp11 ;
5859 int __cil_tmp12 ;
5860 unsigned long __cil_tmp13 ;
5861 unsigned long __cil_tmp14 ;
5862 uint64_t __cil_tmp15 ;
5863 unsigned long __cil_tmp16 ;
5864 unsigned long __cil_tmp17 ;
5865 struct xfer_info_t *__cil_tmp18 ;
5866 struct xfer_info_t *__cil_tmp19 ;
5867 uint32_t __cil_tmp20 ;
5868 uint64_t __cil_tmp21 ;
5869 unsigned long __cil_tmp22 ;
5870 unsigned long __cil_tmp23 ;
5871 unsigned long __cil_tmp24 ;
5872 uint8_t __cil_tmp25 ;
5873 int __cil_tmp26 ;
5874 unsigned long __cil_tmp27 ;
5875 unsigned long __cil_tmp28 ;
5876 struct xfer_info_t *__cil_tmp29 ;
5877 unsigned long __cil_tmp30 ;
5878 unsigned long __cil_tmp31 ;
5879 u_char __cil_tmp32 ;
5880 int __cil_tmp33 ;
5881 unsigned long __cil_tmp34 ;
5882 unsigned long __cil_tmp35 ;
5883 unsigned long __cil_tmp36 ;
5884 unsigned long __cil_tmp37 ;
5885 unsigned long __cil_tmp38 ;
5886 unsigned long __cil_tmp39 ;
5887 u_char __cil_tmp40 ;
5888 int __cil_tmp41 ;
5889 void const *__cil_tmp42 ;
5890
5891 {
5892#line 383
5893 __cil_tmp5 = (unsigned long )erase;
5894#line 383
5895 __cil_tmp6 = __cil_tmp5 + 64;
5896#line 383
5897 __cil_tmp7 = *((u_long *)__cil_tmp6);
5898#line 383
5899 part = (partition_t *)__cil_tmp7;
5900#line 385
5901 i = 0;
5902 {
5903#line 385
5904 while (1) {
5905 while_continue: ;
5906 {
5907#line 385
5908 __cil_tmp8 = 280 + 15;
5909#line 385
5910 __cil_tmp9 = (unsigned long )part;
5911#line 385
5912 __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
5913#line 385
5914 __cil_tmp11 = *((uint8_t *)__cil_tmp10);
5915#line 385
5916 __cil_tmp12 = (int )__cil_tmp11;
5917#line 385
5918 if (i < __cil_tmp12) {
5919
5920 } else {
5921#line 385
5922 goto while_break;
5923 }
5924 }
5925 {
5926#line 386
5927 __cil_tmp13 = (unsigned long )erase;
5928#line 386
5929 __cil_tmp14 = __cil_tmp13 + 8;
5930#line 386
5931 __cil_tmp15 = *((uint64_t *)__cil_tmp14);
5932#line 386
5933 __cil_tmp16 = (unsigned long )part;
5934#line 386
5935 __cil_tmp17 = __cil_tmp16 + 248;
5936#line 386
5937 __cil_tmp18 = *((struct xfer_info_t **)__cil_tmp17);
5938#line 386
5939 __cil_tmp19 = __cil_tmp18 + i;
5940#line 386
5941 __cil_tmp20 = *((uint32_t *)__cil_tmp19);
5942#line 386
5943 __cil_tmp21 = (uint64_t )__cil_tmp20;
5944#line 386
5945 if (__cil_tmp21 == __cil_tmp15) {
5946#line 386
5947 goto while_break;
5948 } else {
5949
5950 }
5951 }
5952#line 385
5953 i = i + 1;
5954 }
5955 while_break: ;
5956 }
5957 {
5958#line 388
5959 __cil_tmp22 = 280 + 15;
5960#line 388
5961 __cil_tmp23 = (unsigned long )part;
5962#line 388
5963 __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
5964#line 388
5965 __cil_tmp25 = *((uint8_t *)__cil_tmp24);
5966#line 388
5967 __cil_tmp26 = (int )__cil_tmp25;
5968#line 388
5969 if (i == __cil_tmp26) {
5970 {
5971#line 389
5972 printk("<5>ftl_cs: internal error: erase lookup failed!\n");
5973 }
5974#line 391
5975 return;
5976 } else {
5977
5978 }
5979 }
5980#line 394
5981 __cil_tmp27 = (unsigned long )part;
5982#line 394
5983 __cil_tmp28 = __cil_tmp27 + 248;
5984#line 394
5985 __cil_tmp29 = *((struct xfer_info_t **)__cil_tmp28);
5986#line 394
5987 xfer = __cil_tmp29 + i;
5988 {
5989#line 395
5990 __cil_tmp30 = (unsigned long )erase;
5991#line 395
5992 __cil_tmp31 = __cil_tmp30 + 72;
5993#line 395
5994 __cil_tmp32 = *((u_char *)__cil_tmp31);
5995#line 395
5996 __cil_tmp33 = (int )__cil_tmp32;
5997#line 395
5998 if (__cil_tmp33 == 8) {
5999#line 396
6000 __cil_tmp34 = (unsigned long )xfer;
6001#line 396
6002 __cil_tmp35 = __cil_tmp34 + 8;
6003#line 396
6004 *((uint16_t *)__cil_tmp35) = (uint16_t )2;
6005 } else {
6006 {
6007#line 398
6008 __cil_tmp36 = (unsigned long )xfer;
6009#line 398
6010 __cil_tmp37 = __cil_tmp36 + 8;
6011#line 398
6012 *((uint16_t *)__cil_tmp37) = (uint16_t )4;
6013#line 399
6014 __cil_tmp38 = (unsigned long )erase;
6015#line 399
6016 __cil_tmp39 = __cil_tmp38 + 72;
6017#line 399
6018 __cil_tmp40 = *((u_char *)__cil_tmp39);
6019#line 399
6020 __cil_tmp41 = (int )__cil_tmp40;
6021#line 399
6022 printk("<5>ftl_cs: erase failed: state = %d\n", __cil_tmp41);
6023 }
6024 }
6025 }
6026 {
6027#line 403
6028 __cil_tmp42 = (void const *)erase;
6029#line 403
6030 kfree(__cil_tmp42);
6031 }
6032#line 405
6033 return;
6034}
6035}
6036#line 419
6037static int prepare_xfer(partition_t *part , int i ) ;
6038#line 419 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
6039static struct _ddebug __attribute__((__aligned__(8))) descriptor___0 __attribute__((__used__,
6040__section__("__verbose"))) = {"ftl", "prepare_xfer", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
6041 "ftl_cs: preparing xfer unit at 0x%x\n", 419U, 0U};
6042#line 407 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
6043static int prepare_xfer(partition_t *part , int i )
6044{ erase_unit_header_t header ;
6045 struct xfer_info_t *xfer ;
6046 int nbam ;
6047 int ret ;
6048 uint32_t ctl ;
6049 ssize_t retlen ;
6050 loff_t offset ;
6051 long tmp___7 ;
6052 unsigned long __cil_tmp11 ;
6053 unsigned long __cil_tmp12 ;
6054 struct xfer_info_t *__cil_tmp13 ;
6055 unsigned long __cil_tmp14 ;
6056 unsigned long __cil_tmp15 ;
6057 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp16 ;
6058 unsigned int __cil_tmp17 ;
6059 unsigned int __cil_tmp18 ;
6060 int __cil_tmp19 ;
6061 int __cil_tmp20 ;
6062 long __cil_tmp21 ;
6063 uint32_t __cil_tmp22 ;
6064 erase_unit_header_t *__cil_tmp23 ;
6065 unsigned long __cil_tmp24 ;
6066 unsigned long __cil_tmp25 ;
6067 unsigned long __cil_tmp26 ;
6068 unsigned long __cil_tmp27 ;
6069 unsigned long __cil_tmp28 ;
6070 unsigned long __cil_tmp29 ;
6071 unsigned long __cil_tmp30 ;
6072 unsigned long __cil_tmp31 ;
6073 unsigned long __cil_tmp32 ;
6074 struct mtd_info *__cil_tmp33 ;
6075 uint32_t __cil_tmp34 ;
6076 loff_t __cil_tmp35 ;
6077 size_t *__cil_tmp36 ;
6078 u_char *__cil_tmp37 ;
6079 u_char const *__cil_tmp38 ;
6080 unsigned long __cil_tmp39 ;
6081 unsigned long __cil_tmp40 ;
6082 unsigned long __cil_tmp41 ;
6083 uint32_t __cil_tmp42 ;
6084 unsigned long __cil_tmp43 ;
6085 unsigned long __cil_tmp44 ;
6086 unsigned long __cil_tmp45 ;
6087 uint32_t __cil_tmp46 ;
6088 unsigned long __cil_tmp47 ;
6089 unsigned long __cil_tmp48 ;
6090 unsigned long __cil_tmp49 ;
6091 unsigned long __cil_tmp50 ;
6092 unsigned long __cil_tmp51 ;
6093 unsigned long __cil_tmp52 ;
6094 unsigned long __cil_tmp53 ;
6095 unsigned long __cil_tmp54 ;
6096 unsigned long __cil_tmp55 ;
6097 uint32_t __cil_tmp56 ;
6098 uint32_t __cil_tmp57 ;
6099 uint32_t __cil_tmp58 ;
6100 uint32_t *__cil_tmp59 ;
6101 unsigned long __cil_tmp60 ;
6102 unsigned long __cil_tmp61 ;
6103 unsigned long __cil_tmp62 ;
6104 struct mtd_info *__cil_tmp63 ;
6105 size_t *__cil_tmp64 ;
6106 u_char *__cil_tmp65 ;
6107 u_char const *__cil_tmp66 ;
6108 loff_t __cil_tmp67 ;
6109 unsigned long __cil_tmp68 ;
6110 unsigned long __cil_tmp69 ;
6111
6112 {
6113#line 416
6114 __cil_tmp11 = (unsigned long )part;
6115#line 416
6116 __cil_tmp12 = __cil_tmp11 + 248;
6117#line 416
6118 __cil_tmp13 = *((struct xfer_info_t **)__cil_tmp12);
6119#line 416
6120 xfer = __cil_tmp13 + i;
6121#line 417
6122 __cil_tmp14 = (unsigned long )xfer;
6123#line 417
6124 __cil_tmp15 = __cil_tmp14 + 8;
6125#line 417
6126 *((uint16_t *)__cil_tmp15) = (uint16_t )4;
6127 {
6128#line 419
6129 while (1) {
6130 while_continue: ;
6131 {
6132#line 419
6133 __cil_tmp16 = & descriptor___0;
6134#line 419
6135 __cil_tmp17 = __cil_tmp16->flags;
6136#line 419
6137 __cil_tmp18 = __cil_tmp17 & 1U;
6138#line 419
6139 __cil_tmp19 = ! __cil_tmp18;
6140#line 419
6141 __cil_tmp20 = ! __cil_tmp19;
6142#line 419
6143 __cil_tmp21 = (long )__cil_tmp20;
6144#line 419
6145 tmp___7 = __builtin_expect(__cil_tmp21, 0L);
6146 }
6147#line 419
6148 if (tmp___7) {
6149 {
6150#line 419
6151 __cil_tmp22 = *((uint32_t *)xfer);
6152#line 419
6153 __dynamic_pr_debug(& descriptor___0, "ftl_cs: preparing xfer unit at 0x%x\n",
6154 __cil_tmp22);
6155 }
6156 } else {
6157
6158 }
6159#line 419
6160 goto while_break;
6161 }
6162 while_break: ;
6163 }
6164 {
6165#line 422
6166 __cil_tmp23 = & header;
6167#line 422
6168 __cil_tmp24 = (unsigned long )part;
6169#line 422
6170 __cil_tmp25 = __cil_tmp24 + 280;
6171#line 422
6172 *__cil_tmp23 = *((erase_unit_header_t *)__cil_tmp25);
6173#line 423
6174 __cil_tmp26 = (unsigned long )(& header) + 20;
6175#line 423
6176 *((uint16_t *)__cil_tmp26) = (__u16 )65535;
6177#line 424
6178 __cil_tmp27 = (unsigned long )(& header) + 16;
6179#line 424
6180 __cil_tmp28 = (unsigned long )xfer;
6181#line 424
6182 __cil_tmp29 = __cil_tmp28 + 4;
6183#line 424
6184 *((uint32_t *)__cil_tmp27) = *((uint32_t *)__cil_tmp29);
6185#line 426
6186 __cil_tmp30 = 0 + 24;
6187#line 426
6188 __cil_tmp31 = (unsigned long )part;
6189#line 426
6190 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
6191#line 426
6192 __cil_tmp33 = *((struct mtd_info **)__cil_tmp32);
6193#line 426
6194 __cil_tmp34 = *((uint32_t *)xfer);
6195#line 426
6196 __cil_tmp35 = (loff_t )__cil_tmp34;
6197#line 426
6198 __cil_tmp36 = (size_t *)(& retlen);
6199#line 426
6200 __cil_tmp37 = (u_char *)(& header);
6201#line 426
6202 __cil_tmp38 = (u_char const *)__cil_tmp37;
6203#line 426
6204 ret = mtd_write(__cil_tmp33, __cil_tmp35, 68UL, __cil_tmp36, __cil_tmp38);
6205 }
6206#line 429
6207 if (ret) {
6208#line 430
6209 return (ret);
6210 } else {
6211
6212 }
6213#line 434
6214 __cil_tmp39 = 280 + 48;
6215#line 434
6216 __cil_tmp40 = (unsigned long )part;
6217#line 434
6218 __cil_tmp41 = __cil_tmp40 + __cil_tmp39;
6219#line 434
6220 __cil_tmp42 = *((uint32_t *)__cil_tmp41);
6221#line 434
6222 __cil_tmp43 = (unsigned long )__cil_tmp42;
6223#line 434
6224 __cil_tmp44 = (unsigned long )part;
6225#line 434
6226 __cil_tmp45 = __cil_tmp44 + 276;
6227#line 434
6228 __cil_tmp46 = *((uint32_t *)__cil_tmp45);
6229#line 434
6230 __cil_tmp47 = (unsigned long )__cil_tmp46;
6231#line 434
6232 __cil_tmp48 = __cil_tmp47 * 4UL;
6233#line 434
6234 __cil_tmp49 = __cil_tmp48 + __cil_tmp43;
6235#line 434
6236 __cil_tmp50 = __cil_tmp49 + 512UL;
6237#line 434
6238 __cil_tmp51 = __cil_tmp50 - 1UL;
6239#line 434
6240 __cil_tmp52 = __cil_tmp51 / 512UL;
6241#line 434
6242 nbam = (int )__cil_tmp52;
6243#line 437
6244 __cil_tmp53 = 280 + 48;
6245#line 437
6246 __cil_tmp54 = (unsigned long )part;
6247#line 437
6248 __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
6249#line 437
6250 __cil_tmp56 = *((uint32_t *)__cil_tmp55);
6251#line 437
6252 __cil_tmp57 = *((uint32_t *)xfer);
6253#line 437
6254 __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
6255#line 437
6256 offset = (loff_t )__cil_tmp58;
6257#line 438
6258 __cil_tmp59 = & ctl;
6259#line 438
6260 *__cil_tmp59 = (__u32 )48;
6261#line 440
6262 i = 0;
6263 {
6264#line 440
6265 while (1) {
6266 while_continue___0: ;
6267#line 440
6268 if (i < nbam) {
6269
6270 } else {
6271#line 440
6272 goto while_break___0;
6273 }
6274 {
6275#line 442
6276 __cil_tmp60 = 0 + 24;
6277#line 442
6278 __cil_tmp61 = (unsigned long )part;
6279#line 442
6280 __cil_tmp62 = __cil_tmp61 + __cil_tmp60;
6281#line 442
6282 __cil_tmp63 = *((struct mtd_info **)__cil_tmp62);
6283#line 442
6284 __cil_tmp64 = (size_t *)(& retlen);
6285#line 442
6286 __cil_tmp65 = (u_char *)(& ctl);
6287#line 442
6288 __cil_tmp66 = (u_char const *)__cil_tmp65;
6289#line 442
6290 ret = mtd_write(__cil_tmp63, offset, 4UL, __cil_tmp64, __cil_tmp66);
6291 }
6292#line 445
6293 if (ret) {
6294#line 446
6295 return (ret);
6296 } else {
6297
6298 }
6299#line 440
6300 i = i + 1;
6301#line 440
6302 __cil_tmp67 = (loff_t )4UL;
6303#line 440
6304 offset = offset + __cil_tmp67;
6305 }
6306 while_break___0: ;
6307 }
6308#line 448
6309 __cil_tmp68 = (unsigned long )xfer;
6310#line 448
6311 __cil_tmp69 = __cil_tmp68 + 8;
6312#line 448
6313 *((uint16_t *)__cil_tmp69) = (uint16_t )3;
6314#line 449
6315 return (0);
6316}
6317}
6318#line 480
6319static int copy_erase_unit(partition_t *part , uint16_t srcunit , uint16_t xferunit ) ;
6320#line 480 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
6321static struct _ddebug __attribute__((__aligned__(8))) descriptor___1 __attribute__((__used__,
6322__section__("__verbose"))) = {"ftl", "copy_erase_unit", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
6323 "ftl_cs: copying block 0x%x to 0x%x\n", 481U, 0U};
6324#line 465 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
6325static int copy_erase_unit(partition_t *part , uint16_t srcunit , uint16_t xferunit )
6326{ u_char buf[512] ;
6327 struct eun_info_t *eun ;
6328 struct xfer_info_t *xfer ;
6329 uint32_t src ;
6330 uint32_t dest ;
6331 uint32_t free ;
6332 uint32_t i ;
6333 uint16_t unit ;
6334 int ret ;
6335 ssize_t retlen ;
6336 loff_t offset ;
6337 uint16_t srcunitswap ;
6338 long tmp___7 ;
6339 uint16_t *__cil_tmp17 ;
6340 unsigned long __cil_tmp18 ;
6341 unsigned long __cil_tmp19 ;
6342 struct eun_info_t *__cil_tmp20 ;
6343 unsigned long __cil_tmp21 ;
6344 unsigned long __cil_tmp22 ;
6345 struct xfer_info_t *__cil_tmp23 ;
6346 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp24 ;
6347 unsigned int __cil_tmp25 ;
6348 unsigned int __cil_tmp26 ;
6349 int __cil_tmp27 ;
6350 int __cil_tmp28 ;
6351 long __cil_tmp29 ;
6352 uint32_t __cil_tmp30 ;
6353 uint32_t __cil_tmp31 ;
6354 int __cil_tmp32 ;
6355 unsigned long __cil_tmp33 ;
6356 unsigned long __cil_tmp34 ;
6357 uint16_t __cil_tmp35 ;
6358 int __cil_tmp36 ;
6359 unsigned long __cil_tmp37 ;
6360 unsigned long __cil_tmp38 ;
6361 unsigned long __cil_tmp39 ;
6362 uint32_t __cil_tmp40 ;
6363 uint32_t __cil_tmp41 ;
6364 uint32_t __cil_tmp42 ;
6365 unsigned long __cil_tmp43 ;
6366 unsigned long __cil_tmp44 ;
6367 unsigned long __cil_tmp45 ;
6368 struct mtd_info *__cil_tmp46 ;
6369 unsigned long __cil_tmp47 ;
6370 unsigned long __cil_tmp48 ;
6371 uint32_t __cil_tmp49 ;
6372 unsigned long __cil_tmp50 ;
6373 unsigned long __cil_tmp51 ;
6374 size_t *__cil_tmp52 ;
6375 unsigned long __cil_tmp53 ;
6376 unsigned long __cil_tmp54 ;
6377 uint32_t *__cil_tmp55 ;
6378 u_char *__cil_tmp56 ;
6379 unsigned long __cil_tmp57 ;
6380 unsigned long __cil_tmp58 ;
6381 unsigned long __cil_tmp59 ;
6382 unsigned long __cil_tmp60 ;
6383 uint32_t __cil_tmp61 ;
6384 uint32_t __cil_tmp62 ;
6385 uint16_t *__cil_tmp63 ;
6386 unsigned long __cil_tmp64 ;
6387 unsigned long __cil_tmp65 ;
6388 unsigned long __cil_tmp66 ;
6389 struct mtd_info *__cil_tmp67 ;
6390 size_t *__cil_tmp68 ;
6391 u_char *__cil_tmp69 ;
6392 u_char const *__cil_tmp70 ;
6393 unsigned long __cil_tmp71 ;
6394 unsigned long __cil_tmp72 ;
6395 uint32_t __cil_tmp73 ;
6396 unsigned long __cil_tmp74 ;
6397 unsigned long __cil_tmp75 ;
6398 uint32_t *__cil_tmp76 ;
6399 uint32_t *__cil_tmp77 ;
6400 uint32_t __cil_tmp78 ;
6401 unsigned int __cil_tmp79 ;
6402 unsigned long __cil_tmp80 ;
6403 unsigned long __cil_tmp81 ;
6404 unsigned long __cil_tmp82 ;
6405 struct mtd_info *__cil_tmp83 ;
6406 loff_t __cil_tmp84 ;
6407 size_t __cil_tmp85 ;
6408 size_t *__cil_tmp86 ;
6409 unsigned long __cil_tmp87 ;
6410 unsigned long __cil_tmp88 ;
6411 u_char *__cil_tmp89 ;
6412 unsigned long __cil_tmp90 ;
6413 unsigned long __cil_tmp91 ;
6414 unsigned long __cil_tmp92 ;
6415 struct mtd_info *__cil_tmp93 ;
6416 loff_t __cil_tmp94 ;
6417 size_t __cil_tmp95 ;
6418 size_t *__cil_tmp96 ;
6419 unsigned long __cil_tmp97 ;
6420 unsigned long __cil_tmp98 ;
6421 u_char *__cil_tmp99 ;
6422 u_char const *__cil_tmp100 ;
6423 unsigned long __cil_tmp101 ;
6424 unsigned long __cil_tmp102 ;
6425 uint32_t *__cil_tmp103 ;
6426 uint32_t *__cil_tmp104 ;
6427 unsigned long __cil_tmp105 ;
6428 unsigned long __cil_tmp106 ;
6429 unsigned long __cil_tmp107 ;
6430 struct mtd_info *__cil_tmp108 ;
6431 unsigned long __cil_tmp109 ;
6432 unsigned long __cil_tmp110 ;
6433 unsigned long __cil_tmp111 ;
6434 uint32_t __cil_tmp112 ;
6435 uint32_t __cil_tmp113 ;
6436 uint32_t __cil_tmp114 ;
6437 loff_t __cil_tmp115 ;
6438 unsigned long __cil_tmp116 ;
6439 unsigned long __cil_tmp117 ;
6440 uint32_t __cil_tmp118 ;
6441 unsigned long __cil_tmp119 ;
6442 unsigned long __cil_tmp120 ;
6443 size_t *__cil_tmp121 ;
6444 unsigned long __cil_tmp122 ;
6445 unsigned long __cil_tmp123 ;
6446 uint32_t *__cil_tmp124 ;
6447 u_char *__cil_tmp125 ;
6448 u_char const *__cil_tmp126 ;
6449 unsigned long __cil_tmp127 ;
6450 unsigned long __cil_tmp128 ;
6451 unsigned long __cil_tmp129 ;
6452 struct mtd_info *__cil_tmp130 ;
6453 uint32_t __cil_tmp131 ;
6454 uint32_t __cil_tmp132 ;
6455 loff_t __cil_tmp133 ;
6456 size_t *__cil_tmp134 ;
6457 u_char *__cil_tmp135 ;
6458 u_char const *__cil_tmp136 ;
6459 unsigned long __cil_tmp137 ;
6460 unsigned long __cil_tmp138 ;
6461 unsigned long __cil_tmp139 ;
6462 unsigned long __cil_tmp140 ;
6463 unsigned long __cil_tmp141 ;
6464 unsigned long __cil_tmp142 ;
6465 unsigned long __cil_tmp143 ;
6466 unsigned long __cil_tmp144 ;
6467 unsigned long __cil_tmp145 ;
6468 unsigned long __cil_tmp146 ;
6469 unsigned long __cil_tmp147 ;
6470 unsigned long __cil_tmp148 ;
6471 uint32_t __cil_tmp149 ;
6472 unsigned long __cil_tmp150 ;
6473 unsigned long __cil_tmp151 ;
6474 uint32_t __cil_tmp152 ;
6475 unsigned long __cil_tmp153 ;
6476 unsigned long __cil_tmp154 ;
6477 unsigned long __cil_tmp155 ;
6478 unsigned long __cil_tmp156 ;
6479 uint32_t __cil_tmp157 ;
6480 unsigned long __cil_tmp158 ;
6481 unsigned long __cil_tmp159 ;
6482 unsigned long __cil_tmp160 ;
6483 unsigned long __cil_tmp161 ;
6484 unsigned long __cil_tmp162 ;
6485 unsigned long __cil_tmp163 ;
6486
6487 {
6488#line 476
6489 __cil_tmp17 = & srcunitswap;
6490#line 476
6491 *__cil_tmp17 = srcunit;
6492#line 478
6493 __cil_tmp18 = (unsigned long )part;
6494#line 478
6495 __cil_tmp19 = __cil_tmp18 + 240;
6496#line 478
6497 __cil_tmp20 = *((struct eun_info_t **)__cil_tmp19);
6498#line 478
6499 eun = __cil_tmp20 + srcunit;
6500#line 479
6501 __cil_tmp21 = (unsigned long )part;
6502#line 479
6503 __cil_tmp22 = __cil_tmp21 + 248;
6504#line 479
6505 __cil_tmp23 = *((struct xfer_info_t **)__cil_tmp22);
6506#line 479
6507 xfer = __cil_tmp23 + xferunit;
6508 {
6509#line 480
6510 while (1) {
6511 while_continue: ;
6512 {
6513#line 480
6514 __cil_tmp24 = & descriptor___1;
6515#line 480
6516 __cil_tmp25 = __cil_tmp24->flags;
6517#line 480
6518 __cil_tmp26 = __cil_tmp25 & 1U;
6519#line 480
6520 __cil_tmp27 = ! __cil_tmp26;
6521#line 480
6522 __cil_tmp28 = ! __cil_tmp27;
6523#line 480
6524 __cil_tmp29 = (long )__cil_tmp28;
6525#line 480
6526 tmp___7 = __builtin_expect(__cil_tmp29, 0L);
6527 }
6528#line 480
6529 if (tmp___7) {
6530 {
6531#line 480
6532 __cil_tmp30 = *((uint32_t *)eun);
6533#line 480
6534 __cil_tmp31 = *((uint32_t *)xfer);
6535#line 480
6536 __dynamic_pr_debug(& descriptor___1, "ftl_cs: copying block 0x%x to 0x%x\n",
6537 __cil_tmp30, __cil_tmp31);
6538 }
6539 } else {
6540
6541 }
6542#line 480
6543 goto while_break;
6544 }
6545 while_break: ;
6546 }
6547 {
6548#line 485
6549 __cil_tmp32 = (int )srcunit;
6550#line 485
6551 __cil_tmp33 = (unsigned long )part;
6552#line 485
6553 __cil_tmp34 = __cil_tmp33 + 256;
6554#line 485
6555 __cil_tmp35 = *((uint16_t *)__cil_tmp34);
6556#line 485
6557 __cil_tmp36 = (int )__cil_tmp35;
6558#line 485
6559 if (__cil_tmp36 != __cil_tmp32) {
6560 {
6561#line 487
6562 __cil_tmp37 = 280 + 48;
6563#line 487
6564 __cil_tmp38 = (unsigned long )part;
6565#line 487
6566 __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
6567#line 487
6568 __cil_tmp40 = *((uint32_t *)__cil_tmp39);
6569#line 487
6570 __cil_tmp41 = *((uint32_t *)eun);
6571#line 487
6572 __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
6573#line 487
6574 offset = (loff_t )__cil_tmp42;
6575#line 489
6576 __cil_tmp43 = 0 + 24;
6577#line 489
6578 __cil_tmp44 = (unsigned long )part;
6579#line 489
6580 __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
6581#line 489
6582 __cil_tmp46 = *((struct mtd_info **)__cil_tmp45);
6583#line 489
6584 __cil_tmp47 = (unsigned long )part;
6585#line 489
6586 __cil_tmp48 = __cil_tmp47 + 276;
6587#line 489
6588 __cil_tmp49 = *((uint32_t *)__cil_tmp48);
6589#line 489
6590 __cil_tmp50 = (unsigned long )__cil_tmp49;
6591#line 489
6592 __cil_tmp51 = __cil_tmp50 * 4UL;
6593#line 489
6594 __cil_tmp52 = (size_t *)(& retlen);
6595#line 489
6596 __cil_tmp53 = (unsigned long )part;
6597#line 489
6598 __cil_tmp54 = __cil_tmp53 + 264;
6599#line 489
6600 __cil_tmp55 = *((uint32_t **)__cil_tmp54);
6601#line 489
6602 __cil_tmp56 = (u_char *)__cil_tmp55;
6603#line 489
6604 ret = mtd_read(__cil_tmp46, offset, __cil_tmp51, __cil_tmp52, __cil_tmp56);
6605#line 494
6606 __cil_tmp57 = (unsigned long )part;
6607#line 494
6608 __cil_tmp58 = __cil_tmp57 + 256;
6609#line 494
6610 *((uint16_t *)__cil_tmp58) = (uint16_t )65535;
6611 }
6612#line 496
6613 if (ret) {
6614 {
6615#line 497
6616 printk("<4>ftl: Failed to read BAM cache in copy_erase_unit()!\n");
6617 }
6618#line 498
6619 return (ret);
6620 } else {
6621
6622 }
6623 } else {
6624
6625 }
6626 }
6627 {
6628#line 503
6629 __cil_tmp59 = (unsigned long )xfer;
6630#line 503
6631 __cil_tmp60 = __cil_tmp59 + 8;
6632#line 503
6633 *((uint16_t *)__cil_tmp60) = (uint16_t )0;
6634#line 504
6635 __cil_tmp61 = *((uint32_t *)xfer);
6636#line 504
6637 __cil_tmp62 = __cil_tmp61 + 20U;
6638#line 504
6639 offset = (loff_t )__cil_tmp62;
6640#line 505
6641 __cil_tmp63 = & unit;
6642#line 505
6643 *__cil_tmp63 = (__u16 )32767;
6644#line 507
6645 __cil_tmp64 = 0 + 24;
6646#line 507
6647 __cil_tmp65 = (unsigned long )part;
6648#line 507
6649 __cil_tmp66 = __cil_tmp65 + __cil_tmp64;
6650#line 507
6651 __cil_tmp67 = *((struct mtd_info **)__cil_tmp66);
6652#line 507
6653 __cil_tmp68 = (size_t *)(& retlen);
6654#line 507
6655 __cil_tmp69 = (u_char *)(& unit);
6656#line 507
6657 __cil_tmp70 = (u_char const *)__cil_tmp69;
6658#line 507
6659 ret = mtd_write(__cil_tmp67, offset, 2UL, __cil_tmp68, __cil_tmp70);
6660 }
6661#line 510
6662 if (ret) {
6663 {
6664#line 511
6665 printk("<4>ftl: Failed to write back to BAM cache in copy_erase_unit()!\n");
6666 }
6667#line 512
6668 return (ret);
6669 } else {
6670
6671 }
6672#line 516
6673 src = *((uint32_t *)eun);
6674#line 516
6675 dest = *((uint32_t *)xfer);
6676#line 518
6677 free = (uint32_t )0;
6678#line 519
6679 ret = 0;
6680#line 520
6681 i = (uint32_t )0;
6682 {
6683#line 520
6684 while (1) {
6685 while_continue___0: ;
6686 {
6687#line 520
6688 __cil_tmp71 = (unsigned long )part;
6689#line 520
6690 __cil_tmp72 = __cil_tmp71 + 276;
6691#line 520
6692 __cil_tmp73 = *((uint32_t *)__cil_tmp72);
6693#line 520
6694 if (i < __cil_tmp73) {
6695
6696 } else {
6697#line 520
6698 goto while_break___0;
6699 }
6700 }
6701 {
6702#line 521
6703 __cil_tmp74 = (unsigned long )part;
6704#line 521
6705 __cil_tmp75 = __cil_tmp74 + 264;
6706#line 521
6707 __cil_tmp76 = *((uint32_t **)__cil_tmp75);
6708#line 521
6709 __cil_tmp77 = __cil_tmp76 + i;
6710#line 521
6711 __cil_tmp78 = *__cil_tmp77;
6712#line 521
6713 __cil_tmp79 = __cil_tmp78 & 127U;
6714#line 522
6715 if ((int )__cil_tmp79 == 48) {
6716#line 522
6717 goto case_48;
6718 } else
6719#line 525
6720 if ((int )__cil_tmp79 == 64) {
6721#line 525
6722 goto case_64;
6723 } else
6724#line 526
6725 if ((int )__cil_tmp79 == 96) {
6726#line 526
6727 goto case_64;
6728 } else {
6729 {
6730#line 543
6731 goto switch_default;
6732#line 521
6733 if (0) {
6734 case_48:
6735#line 524
6736 goto switch_break;
6737 case_64:
6738 case_96:
6739 {
6740#line 527
6741 __cil_tmp80 = 0 + 24;
6742#line 527
6743 __cil_tmp81 = (unsigned long )part;
6744#line 527
6745 __cil_tmp82 = __cil_tmp81 + __cil_tmp80;
6746#line 527
6747 __cil_tmp83 = *((struct mtd_info **)__cil_tmp82);
6748#line 527
6749 __cil_tmp84 = (loff_t )src;
6750#line 527
6751 __cil_tmp85 = (size_t )512;
6752#line 527
6753 __cil_tmp86 = (size_t *)(& retlen);
6754#line 527
6755 __cil_tmp87 = 0 * 1UL;
6756#line 527
6757 __cil_tmp88 = (unsigned long )(buf) + __cil_tmp87;
6758#line 527
6759 __cil_tmp89 = (u_char *)__cil_tmp88;
6760#line 527
6761 ret = mtd_read(__cil_tmp83, __cil_tmp84, __cil_tmp85, __cil_tmp86, __cil_tmp89);
6762 }
6763#line 529
6764 if (ret) {
6765 {
6766#line 530
6767 printk("<4>ftl: Error reading old xfer unit in copy_erase_unit\n");
6768 }
6769#line 531
6770 return (ret);
6771 } else {
6772
6773 }
6774 {
6775#line 535
6776 __cil_tmp90 = 0 + 24;
6777#line 535
6778 __cil_tmp91 = (unsigned long )part;
6779#line 535
6780 __cil_tmp92 = __cil_tmp91 + __cil_tmp90;
6781#line 535
6782 __cil_tmp93 = *((struct mtd_info **)__cil_tmp92);
6783#line 535
6784 __cil_tmp94 = (loff_t )dest;
6785#line 535
6786 __cil_tmp95 = (size_t )512;
6787#line 535
6788 __cil_tmp96 = (size_t *)(& retlen);
6789#line 535
6790 __cil_tmp97 = 0 * 1UL;
6791#line 535
6792 __cil_tmp98 = (unsigned long )(buf) + __cil_tmp97;
6793#line 535
6794 __cil_tmp99 = (u_char *)__cil_tmp98;
6795#line 535
6796 __cil_tmp100 = (u_char const *)__cil_tmp99;
6797#line 535
6798 ret = mtd_write(__cil_tmp93, __cil_tmp94, __cil_tmp95, __cil_tmp96, __cil_tmp100);
6799 }
6800#line 537
6801 if (ret) {
6802 {
6803#line 538
6804 printk("<4>ftl: Error writing new xfer unit in copy_erase_unit\n");
6805 }
6806#line 539
6807 return (ret);
6808 } else {
6809
6810 }
6811#line 542
6812 goto switch_break;
6813 switch_default:
6814#line 545
6815 __cil_tmp101 = (unsigned long )part;
6816#line 545
6817 __cil_tmp102 = __cil_tmp101 + 264;
6818#line 545
6819 __cil_tmp103 = *((uint32_t **)__cil_tmp102);
6820#line 545
6821 __cil_tmp104 = __cil_tmp103 + i;
6822#line 545
6823 *__cil_tmp104 = 4294967295U;
6824#line 546
6825 free = free + 1U;
6826#line 547
6827 goto switch_break;
6828 } else {
6829 switch_break: ;
6830 }
6831 }
6832 }
6833 }
6834#line 549
6835 src = src + 512U;
6836#line 550
6837 dest = dest + 512U;
6838#line 520
6839 i = i + 1U;
6840 }
6841 while_break___0: ;
6842 }
6843 {
6844#line 554
6845 __cil_tmp105 = 0 + 24;
6846#line 554
6847 __cil_tmp106 = (unsigned long )part;
6848#line 554
6849 __cil_tmp107 = __cil_tmp106 + __cil_tmp105;
6850#line 554
6851 __cil_tmp108 = *((struct mtd_info **)__cil_tmp107);
6852#line 554
6853 __cil_tmp109 = 280 + 48;
6854#line 554
6855 __cil_tmp110 = (unsigned long )part;
6856#line 554
6857 __cil_tmp111 = __cil_tmp110 + __cil_tmp109;
6858#line 554
6859 __cil_tmp112 = *((uint32_t *)__cil_tmp111);
6860#line 554
6861 __cil_tmp113 = *((uint32_t *)xfer);
6862#line 554
6863 __cil_tmp114 = __cil_tmp113 + __cil_tmp112;
6864#line 554
6865 __cil_tmp115 = (loff_t )__cil_tmp114;
6866#line 554
6867 __cil_tmp116 = (unsigned long )part;
6868#line 554
6869 __cil_tmp117 = __cil_tmp116 + 276;
6870#line 554
6871 __cil_tmp118 = *((uint32_t *)__cil_tmp117);
6872#line 554
6873 __cil_tmp119 = (unsigned long )__cil_tmp118;
6874#line 554
6875 __cil_tmp120 = __cil_tmp119 * 4UL;
6876#line 554
6877 __cil_tmp121 = (size_t *)(& retlen);
6878#line 554
6879 __cil_tmp122 = (unsigned long )part;
6880#line 554
6881 __cil_tmp123 = __cil_tmp122 + 264;
6882#line 554
6883 __cil_tmp124 = *((uint32_t **)__cil_tmp123);
6884#line 554
6885 __cil_tmp125 = (u_char *)__cil_tmp124;
6886#line 554
6887 __cil_tmp126 = (u_char const *)__cil_tmp125;
6888#line 554
6889 ret = mtd_write(__cil_tmp108, __cil_tmp115, __cil_tmp120, __cil_tmp121, __cil_tmp126);
6890 }
6891#line 559
6892 if (ret) {
6893 {
6894#line 560
6895 printk("<4>ftl: Error writing BAM in copy_erase_unit\n");
6896 }
6897#line 561
6898 return (ret);
6899 } else {
6900
6901 }
6902 {
6903#line 566
6904 __cil_tmp127 = 0 + 24;
6905#line 566
6906 __cil_tmp128 = (unsigned long )part;
6907#line 566
6908 __cil_tmp129 = __cil_tmp128 + __cil_tmp127;
6909#line 566
6910 __cil_tmp130 = *((struct mtd_info **)__cil_tmp129);
6911#line 566
6912 __cil_tmp131 = *((uint32_t *)xfer);
6913#line 566
6914 __cil_tmp132 = __cil_tmp131 + 20U;
6915#line 566
6916 __cil_tmp133 = (loff_t )__cil_tmp132;
6917#line 566
6918 __cil_tmp134 = (size_t *)(& retlen);
6919#line 566
6920 __cil_tmp135 = (u_char *)(& srcunitswap);
6921#line 566
6922 __cil_tmp136 = (u_char const *)__cil_tmp135;
6923#line 566
6924 ret = mtd_write(__cil_tmp130, __cil_tmp133, 2UL, __cil_tmp134, __cil_tmp136);
6925 }
6926#line 569
6927 if (ret) {
6928 {
6929#line 570
6930 printk("<4>ftl: Error writing new LogicalEUN in copy_erase_unit\n");
6931 }
6932#line 571
6933 return (ret);
6934 } else {
6935
6936 }
6937#line 576
6938 __cil_tmp137 = (unsigned long )xfer;
6939#line 576
6940 __cil_tmp138 = __cil_tmp137 + 4;
6941#line 576
6942 i = *((uint32_t *)__cil_tmp138);
6943#line 577
6944 __cil_tmp139 = (unsigned long )xfer;
6945#line 577
6946 __cil_tmp140 = __cil_tmp139 + 4;
6947#line 577
6948 __cil_tmp141 = (unsigned long )eun;
6949#line 577
6950 __cil_tmp142 = __cil_tmp141 + 4;
6951#line 577
6952 *((uint32_t *)__cil_tmp140) = *((uint32_t *)__cil_tmp142);
6953#line 578
6954 __cil_tmp143 = (unsigned long )eun;
6955#line 578
6956 __cil_tmp144 = __cil_tmp143 + 4;
6957#line 578
6958 *((uint32_t *)__cil_tmp144) = i;
6959#line 579
6960 i = *((uint32_t *)xfer);
6961#line 580
6962 *((uint32_t *)xfer) = *((uint32_t *)eun);
6963#line 581
6964 *((uint32_t *)eun) = i;
6965#line 582
6966 __cil_tmp145 = (unsigned long )part;
6967#line 582
6968 __cil_tmp146 = __cil_tmp145 + 232;
6969#line 582
6970 __cil_tmp147 = (unsigned long )eun;
6971#line 582
6972 __cil_tmp148 = __cil_tmp147 + 8;
6973#line 582
6974 __cil_tmp149 = *((uint32_t *)__cil_tmp148);
6975#line 582
6976 __cil_tmp150 = (unsigned long )part;
6977#line 582
6978 __cil_tmp151 = __cil_tmp150 + 232;
6979#line 582
6980 __cil_tmp152 = *((uint32_t *)__cil_tmp151);
6981#line 582
6982 *((uint32_t *)__cil_tmp146) = __cil_tmp152 - __cil_tmp149;
6983#line 583
6984 __cil_tmp153 = (unsigned long )part;
6985#line 583
6986 __cil_tmp154 = __cil_tmp153 + 232;
6987#line 583
6988 __cil_tmp155 = (unsigned long )part;
6989#line 583
6990 __cil_tmp156 = __cil_tmp155 + 232;
6991#line 583
6992 __cil_tmp157 = *((uint32_t *)__cil_tmp156);
6993#line 583
6994 *((uint32_t *)__cil_tmp154) = __cil_tmp157 + free;
6995#line 584
6996 __cil_tmp158 = (unsigned long )eun;
6997#line 584
6998 __cil_tmp159 = __cil_tmp158 + 8;
6999#line 584
7000 *((uint32_t *)__cil_tmp159) = free;
7001#line 585
7002 __cil_tmp160 = (unsigned long )eun;
7003#line 585
7004 __cil_tmp161 = __cil_tmp160 + 12;
7005#line 585
7006 *((uint32_t *)__cil_tmp161) = (uint32_t )0;
7007#line 588
7008 __cil_tmp162 = (unsigned long )part;
7009#line 588
7010 __cil_tmp163 = __cil_tmp162 + 256;
7011#line 588
7012 *((uint16_t *)__cil_tmp163) = srcunit;
7013#line 590
7014 return (0);
7015}
7016}
7017#line 615
7018static int reclaim_block(partition_t *part ) ;
7019#line 615 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7020static struct _ddebug __attribute__((__aligned__(8))) descriptor___2 __attribute__((__used__,
7021__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7022 "ftl_cs: reclaiming space...\n", 615U, 0U};
7023#line 616
7024static int reclaim_block(partition_t *part ) ;
7025#line 616 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7026static struct _ddebug __attribute__((__aligned__(8))) descriptor___3 __attribute__((__used__,
7027__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7028 "NumTransferUnits == %x\n", 616U, 0U};
7029#line 624
7030static int reclaim_block(partition_t *part ) ;
7031#line 624 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7032static struct _ddebug __attribute__((__aligned__(8))) descriptor___4 __attribute__((__used__,
7033__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7034 "XferInfo[%d].state == XFER_UNKNOWN\n", 624U, 0U};
7035#line 629
7036static int reclaim_block(partition_t *part ) ;
7037#line 629 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7038static struct _ddebug __attribute__((__aligned__(8))) descriptor___5 __attribute__((__used__,
7039__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7040 "XferInfo[%d].state == XFER_ERASING\n", 629U, 0U};
7041#line 634
7042static int reclaim_block(partition_t *part ) ;
7043#line 634 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7044static struct _ddebug __attribute__((__aligned__(8))) descriptor___6 __attribute__((__used__,
7045__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7046 "XferInfo[%d].state == XFER_ERASED\n", 634U, 0U};
7047#line 639
7048static int reclaim_block(partition_t *part ) ;
7049#line 639 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7050static struct _ddebug __attribute__((__aligned__(8))) descriptor___7 __attribute__((__used__,
7051__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7052 "XferInfo[%d].state == XFER_PREPARED\n", 639U, 0U};
7053#line 647
7054static int reclaim_block(partition_t *part ) ;
7055#line 647 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7056static struct _ddebug __attribute__((__aligned__(8))) descriptor___8 __attribute__((__used__,
7057__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7058 "XferInfo[%d].state == %x\n", 647U, 0U};
7059#line 652
7060static int reclaim_block(partition_t *part ) ;
7061#line 652 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7062static struct _ddebug __attribute__((__aligned__(8))) descriptor___9 __attribute__((__used__,
7063__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7064 "ftl_cs: waiting for transfer unit to be prepared...\n", 653U, 0U};
7065#line 656
7066static int reclaim_block(partition_t *part ) ;
7067#line 656 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7068static int ne = 0;
7069#line 661
7070static int reclaim_block(partition_t *part ) ;
7071#line 661 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7072static struct _ddebug __attribute__((__aligned__(8))) descriptor___10 __attribute__((__used__,
7073__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7074 "ftl_cs: reclaim failed: no suitable transfer units!\n", 662U, 0U};
7075#line 671
7076static int reclaim_block(partition_t *part ) ;
7077#line 671 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7078static struct _ddebug __attribute__((__aligned__(8))) descriptor___11 __attribute__((__used__,
7079__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7080 "ftl_cs: recycling freshest block...\n", 671U, 0U};
7081#line 686
7082static int reclaim_block(partition_t *part ) ;
7083#line 686 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7084static int ne___0 = 0;
7085#line 691
7086static int reclaim_block(partition_t *part ) ;
7087#line 691 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7088static struct _ddebug __attribute__((__aligned__(8))) descriptor___12 __attribute__((__used__,
7089__section__("__verbose"))) = {"ftl", "reclaim_block", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
7090 "ftl_cs: reclaim failed: no free blocks!\n", 692U, 0U};
7091#line 609 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
7092static int reclaim_block(partition_t *part )
7093{ uint16_t i ;
7094 uint16_t eun ;
7095 uint16_t xfer ;
7096 uint32_t best ;
7097 int queued ;
7098 int ret ;
7099 long tmp___7 ;
7100 long tmp___8 ;
7101 int n ;
7102 long tmp___9 ;
7103 long tmp___10 ;
7104 long tmp___11 ;
7105 long tmp___12 ;
7106 long tmp___13 ;
7107 long tmp___14 ;
7108 long tmp___15 ;
7109 long tmp___16 ;
7110 long tmp___17 ;
7111 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp20 ;
7112 unsigned int __cil_tmp21 ;
7113 unsigned int __cil_tmp22 ;
7114 int __cil_tmp23 ;
7115 int __cil_tmp24 ;
7116 long __cil_tmp25 ;
7117 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp26 ;
7118 unsigned int __cil_tmp27 ;
7119 unsigned int __cil_tmp28 ;
7120 int __cil_tmp29 ;
7121 int __cil_tmp30 ;
7122 long __cil_tmp31 ;
7123 unsigned long __cil_tmp32 ;
7124 unsigned long __cil_tmp33 ;
7125 unsigned long __cil_tmp34 ;
7126 uint8_t __cil_tmp35 ;
7127 int __cil_tmp36 ;
7128 unsigned long __cil_tmp37 ;
7129 unsigned long __cil_tmp38 ;
7130 unsigned long __cil_tmp39 ;
7131 uint8_t __cil_tmp40 ;
7132 int __cil_tmp41 ;
7133 int __cil_tmp42 ;
7134 unsigned long __cil_tmp43 ;
7135 unsigned long __cil_tmp44 ;
7136 struct xfer_info_t *__cil_tmp45 ;
7137 struct xfer_info_t *__cil_tmp46 ;
7138 unsigned long __cil_tmp47 ;
7139 unsigned long __cil_tmp48 ;
7140 uint16_t __cil_tmp49 ;
7141 int __cil_tmp50 ;
7142 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp51 ;
7143 unsigned int __cil_tmp52 ;
7144 unsigned int __cil_tmp53 ;
7145 int __cil_tmp54 ;
7146 int __cil_tmp55 ;
7147 long __cil_tmp56 ;
7148 int __cil_tmp57 ;
7149 unsigned long __cil_tmp58 ;
7150 unsigned long __cil_tmp59 ;
7151 struct xfer_info_t *__cil_tmp60 ;
7152 struct xfer_info_t *__cil_tmp61 ;
7153 unsigned long __cil_tmp62 ;
7154 unsigned long __cil_tmp63 ;
7155 uint16_t __cil_tmp64 ;
7156 int __cil_tmp65 ;
7157 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp66 ;
7158 unsigned int __cil_tmp67 ;
7159 unsigned int __cil_tmp68 ;
7160 int __cil_tmp69 ;
7161 int __cil_tmp70 ;
7162 long __cil_tmp71 ;
7163 int __cil_tmp72 ;
7164 unsigned long __cil_tmp73 ;
7165 unsigned long __cil_tmp74 ;
7166 struct xfer_info_t *__cil_tmp75 ;
7167 struct xfer_info_t *__cil_tmp76 ;
7168 unsigned long __cil_tmp77 ;
7169 unsigned long __cil_tmp78 ;
7170 uint16_t __cil_tmp79 ;
7171 int __cil_tmp80 ;
7172 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp81 ;
7173 unsigned int __cil_tmp82 ;
7174 unsigned int __cil_tmp83 ;
7175 int __cil_tmp84 ;
7176 int __cil_tmp85 ;
7177 long __cil_tmp86 ;
7178 int __cil_tmp87 ;
7179 int __cil_tmp88 ;
7180 unsigned long __cil_tmp89 ;
7181 unsigned long __cil_tmp90 ;
7182 struct xfer_info_t *__cil_tmp91 ;
7183 struct xfer_info_t *__cil_tmp92 ;
7184 unsigned long __cil_tmp93 ;
7185 unsigned long __cil_tmp94 ;
7186 uint16_t __cil_tmp95 ;
7187 int __cil_tmp96 ;
7188 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp97 ;
7189 unsigned int __cil_tmp98 ;
7190 unsigned int __cil_tmp99 ;
7191 int __cil_tmp100 ;
7192 int __cil_tmp101 ;
7193 long __cil_tmp102 ;
7194 int __cil_tmp103 ;
7195 unsigned long __cil_tmp104 ;
7196 unsigned long __cil_tmp105 ;
7197 struct xfer_info_t *__cil_tmp106 ;
7198 struct xfer_info_t *__cil_tmp107 ;
7199 unsigned long __cil_tmp108 ;
7200 unsigned long __cil_tmp109 ;
7201 uint32_t __cil_tmp110 ;
7202 unsigned long __cil_tmp111 ;
7203 unsigned long __cil_tmp112 ;
7204 struct xfer_info_t *__cil_tmp113 ;
7205 struct xfer_info_t *__cil_tmp114 ;
7206 unsigned long __cil_tmp115 ;
7207 unsigned long __cil_tmp116 ;
7208 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp117 ;
7209 unsigned int __cil_tmp118 ;
7210 unsigned int __cil_tmp119 ;
7211 int __cil_tmp120 ;
7212 int __cil_tmp121 ;
7213 long __cil_tmp122 ;
7214 int __cil_tmp123 ;
7215 unsigned long __cil_tmp124 ;
7216 unsigned long __cil_tmp125 ;
7217 struct xfer_info_t *__cil_tmp126 ;
7218 struct xfer_info_t *__cil_tmp127 ;
7219 unsigned long __cil_tmp128 ;
7220 unsigned long __cil_tmp129 ;
7221 uint16_t __cil_tmp130 ;
7222 int __cil_tmp131 ;
7223 int __cil_tmp132 ;
7224 int __cil_tmp133 ;
7225 int __cil_tmp134 ;
7226 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp135 ;
7227 unsigned int __cil_tmp136 ;
7228 unsigned int __cil_tmp137 ;
7229 int __cil_tmp138 ;
7230 int __cil_tmp139 ;
7231 long __cil_tmp140 ;
7232 unsigned long __cil_tmp141 ;
7233 unsigned long __cil_tmp142 ;
7234 unsigned long __cil_tmp143 ;
7235 struct mtd_info *__cil_tmp144 ;
7236 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp145 ;
7237 unsigned int __cil_tmp146 ;
7238 unsigned int __cil_tmp147 ;
7239 int __cil_tmp148 ;
7240 int __cil_tmp149 ;
7241 long __cil_tmp150 ;
7242 int __cil_tmp151 ;
7243 unsigned long volatile __cil_tmp152 ;
7244 int *__cil_tmp153 ;
7245 int __cil_tmp154 ;
7246 unsigned long volatile __cil_tmp155 ;
7247 unsigned long volatile __cil_tmp156 ;
7248 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp157 ;
7249 unsigned int __cil_tmp158 ;
7250 unsigned int __cil_tmp159 ;
7251 int __cil_tmp160 ;
7252 int __cil_tmp161 ;
7253 long __cil_tmp162 ;
7254 unsigned long __cil_tmp163 ;
7255 unsigned long __cil_tmp164 ;
7256 uint16_t __cil_tmp165 ;
7257 int __cil_tmp166 ;
7258 int __cil_tmp167 ;
7259 unsigned long __cil_tmp168 ;
7260 unsigned long __cil_tmp169 ;
7261 struct eun_info_t *__cil_tmp170 ;
7262 struct eun_info_t *__cil_tmp171 ;
7263 unsigned long __cil_tmp172 ;
7264 unsigned long __cil_tmp173 ;
7265 uint32_t __cil_tmp174 ;
7266 unsigned long __cil_tmp175 ;
7267 unsigned long __cil_tmp176 ;
7268 struct eun_info_t *__cil_tmp177 ;
7269 struct eun_info_t *__cil_tmp178 ;
7270 unsigned long __cil_tmp179 ;
7271 unsigned long __cil_tmp180 ;
7272 int __cil_tmp181 ;
7273 int __cil_tmp182 ;
7274 unsigned long __cil_tmp183 ;
7275 unsigned long __cil_tmp184 ;
7276 uint16_t __cil_tmp185 ;
7277 int __cil_tmp186 ;
7278 int __cil_tmp187 ;
7279 unsigned long __cil_tmp188 ;
7280 unsigned long __cil_tmp189 ;
7281 struct eun_info_t *__cil_tmp190 ;
7282 struct eun_info_t *__cil_tmp191 ;
7283 unsigned long __cil_tmp192 ;
7284 unsigned long __cil_tmp193 ;
7285 uint32_t __cil_tmp194 ;
7286 unsigned long __cil_tmp195 ;
7287 unsigned long __cil_tmp196 ;
7288 struct eun_info_t *__cil_tmp197 ;
7289 struct eun_info_t *__cil_tmp198 ;
7290 unsigned long __cil_tmp199 ;
7291 unsigned long __cil_tmp200 ;
7292 int __cil_tmp201 ;
7293 int __cil_tmp202 ;
7294 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp203 ;
7295 unsigned int __cil_tmp204 ;
7296 unsigned int __cil_tmp205 ;
7297 int __cil_tmp206 ;
7298 int __cil_tmp207 ;
7299 long __cil_tmp208 ;
7300
7301 {
7302 {
7303#line 615
7304 while (1) {
7305 while_continue: ;
7306 {
7307#line 615
7308 __cil_tmp20 = & descriptor___2;
7309#line 615
7310 __cil_tmp21 = __cil_tmp20->flags;
7311#line 615
7312 __cil_tmp22 = __cil_tmp21 & 1U;
7313#line 615
7314 __cil_tmp23 = ! __cil_tmp22;
7315#line 615
7316 __cil_tmp24 = ! __cil_tmp23;
7317#line 615
7318 __cil_tmp25 = (long )__cil_tmp24;
7319#line 615
7320 tmp___7 = __builtin_expect(__cil_tmp25, 0L);
7321 }
7322#line 615
7323 if (tmp___7) {
7324 {
7325#line 615
7326 __dynamic_pr_debug(& descriptor___2, "ftl_cs: reclaiming space...\n");
7327 }
7328 } else {
7329
7330 }
7331#line 615
7332 goto while_break;
7333 }
7334 while_break: ;
7335 }
7336 {
7337#line 616
7338 while (1) {
7339 while_continue___0: ;
7340 {
7341#line 616
7342 __cil_tmp26 = & descriptor___3;
7343#line 616
7344 __cil_tmp27 = __cil_tmp26->flags;
7345#line 616
7346 __cil_tmp28 = __cil_tmp27 & 1U;
7347#line 616
7348 __cil_tmp29 = ! __cil_tmp28;
7349#line 616
7350 __cil_tmp30 = ! __cil_tmp29;
7351#line 616
7352 __cil_tmp31 = (long )__cil_tmp30;
7353#line 616
7354 tmp___8 = __builtin_expect(__cil_tmp31, 0L);
7355 }
7356#line 616
7357 if (tmp___8) {
7358 {
7359#line 616
7360 __cil_tmp32 = 280 + 15;
7361#line 616
7362 __cil_tmp33 = (unsigned long )part;
7363#line 616
7364 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
7365#line 616
7366 __cil_tmp35 = *((uint8_t *)__cil_tmp34);
7367#line 616
7368 __cil_tmp36 = (int )__cil_tmp35;
7369#line 616
7370 __dynamic_pr_debug(& descriptor___3, "NumTransferUnits == %x\n", __cil_tmp36);
7371 }
7372 } else {
7373
7374 }
7375#line 616
7376 goto while_break___0;
7377 }
7378 while_break___0: ;
7379 }
7380#line 618
7381 best = 4294967295U;
7382#line 618
7383 xfer = (uint16_t )65535;
7384 {
7385#line 619
7386 while (1) {
7387 while_continue___1: ;
7388#line 620
7389 queued = 0;
7390#line 621
7391 i = (uint16_t )0;
7392 {
7393#line 621
7394 while (1) {
7395 while_continue___2: ;
7396 {
7397#line 621
7398 __cil_tmp37 = 280 + 15;
7399#line 621
7400 __cil_tmp38 = (unsigned long )part;
7401#line 621
7402 __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
7403#line 621
7404 __cil_tmp40 = *((uint8_t *)__cil_tmp39);
7405#line 621
7406 __cil_tmp41 = (int )__cil_tmp40;
7407#line 621
7408 __cil_tmp42 = (int )i;
7409#line 621
7410 if (__cil_tmp42 < __cil_tmp41) {
7411
7412 } else {
7413#line 621
7414 goto while_break___2;
7415 }
7416 }
7417#line 622
7418 n = 0;
7419 {
7420#line 623
7421 __cil_tmp43 = (unsigned long )part;
7422#line 623
7423 __cil_tmp44 = __cil_tmp43 + 248;
7424#line 623
7425 __cil_tmp45 = *((struct xfer_info_t **)__cil_tmp44);
7426#line 623
7427 __cil_tmp46 = __cil_tmp45 + i;
7428#line 623
7429 __cil_tmp47 = (unsigned long )__cil_tmp46;
7430#line 623
7431 __cil_tmp48 = __cil_tmp47 + 8;
7432#line 623
7433 __cil_tmp49 = *((uint16_t *)__cil_tmp48);
7434#line 623
7435 __cil_tmp50 = (int )__cil_tmp49;
7436#line 623
7437 if (__cil_tmp50 == 0) {
7438 {
7439#line 624
7440 while (1) {
7441 while_continue___3: ;
7442 {
7443#line 624
7444 __cil_tmp51 = & descriptor___4;
7445#line 624
7446 __cil_tmp52 = __cil_tmp51->flags;
7447#line 624
7448 __cil_tmp53 = __cil_tmp52 & 1U;
7449#line 624
7450 __cil_tmp54 = ! __cil_tmp53;
7451#line 624
7452 __cil_tmp55 = ! __cil_tmp54;
7453#line 624
7454 __cil_tmp56 = (long )__cil_tmp55;
7455#line 624
7456 tmp___9 = __builtin_expect(__cil_tmp56, 0L);
7457 }
7458#line 624
7459 if (tmp___9) {
7460 {
7461#line 624
7462 __cil_tmp57 = (int )i;
7463#line 624
7464 __dynamic_pr_debug(& descriptor___4, "XferInfo[%d].state == XFER_UNKNOWN\n",
7465 __cil_tmp57);
7466 }
7467 } else {
7468
7469 }
7470#line 624
7471 goto while_break___3;
7472 }
7473 while_break___3: ;
7474 }
7475 {
7476#line 625
7477 n = 1;
7478#line 626
7479 erase_xfer(part, i);
7480 }
7481 } else {
7482
7483 }
7484 }
7485 {
7486#line 628
7487 __cil_tmp58 = (unsigned long )part;
7488#line 628
7489 __cil_tmp59 = __cil_tmp58 + 248;
7490#line 628
7491 __cil_tmp60 = *((struct xfer_info_t **)__cil_tmp59);
7492#line 628
7493 __cil_tmp61 = __cil_tmp60 + i;
7494#line 628
7495 __cil_tmp62 = (unsigned long )__cil_tmp61;
7496#line 628
7497 __cil_tmp63 = __cil_tmp62 + 8;
7498#line 628
7499 __cil_tmp64 = *((uint16_t *)__cil_tmp63);
7500#line 628
7501 __cil_tmp65 = (int )__cil_tmp64;
7502#line 628
7503 if (__cil_tmp65 == 1) {
7504 {
7505#line 629
7506 while (1) {
7507 while_continue___4: ;
7508 {
7509#line 629
7510 __cil_tmp66 = & descriptor___5;
7511#line 629
7512 __cil_tmp67 = __cil_tmp66->flags;
7513#line 629
7514 __cil_tmp68 = __cil_tmp67 & 1U;
7515#line 629
7516 __cil_tmp69 = ! __cil_tmp68;
7517#line 629
7518 __cil_tmp70 = ! __cil_tmp69;
7519#line 629
7520 __cil_tmp71 = (long )__cil_tmp70;
7521#line 629
7522 tmp___10 = __builtin_expect(__cil_tmp71, 0L);
7523 }
7524#line 629
7525 if (tmp___10) {
7526 {
7527#line 629
7528 __cil_tmp72 = (int )i;
7529#line 629
7530 __dynamic_pr_debug(& descriptor___5, "XferInfo[%d].state == XFER_ERASING\n",
7531 __cil_tmp72);
7532 }
7533 } else {
7534
7535 }
7536#line 629
7537 goto while_break___4;
7538 }
7539 while_break___4: ;
7540 }
7541#line 630
7542 n = 1;
7543#line 631
7544 queued = 1;
7545 } else {
7546 {
7547#line 633
7548 __cil_tmp73 = (unsigned long )part;
7549#line 633
7550 __cil_tmp74 = __cil_tmp73 + 248;
7551#line 633
7552 __cil_tmp75 = *((struct xfer_info_t **)__cil_tmp74);
7553#line 633
7554 __cil_tmp76 = __cil_tmp75 + i;
7555#line 633
7556 __cil_tmp77 = (unsigned long )__cil_tmp76;
7557#line 633
7558 __cil_tmp78 = __cil_tmp77 + 8;
7559#line 633
7560 __cil_tmp79 = *((uint16_t *)__cil_tmp78);
7561#line 633
7562 __cil_tmp80 = (int )__cil_tmp79;
7563#line 633
7564 if (__cil_tmp80 == 2) {
7565 {
7566#line 634
7567 while (1) {
7568 while_continue___5: ;
7569 {
7570#line 634
7571 __cil_tmp81 = & descriptor___6;
7572#line 634
7573 __cil_tmp82 = __cil_tmp81->flags;
7574#line 634
7575 __cil_tmp83 = __cil_tmp82 & 1U;
7576#line 634
7577 __cil_tmp84 = ! __cil_tmp83;
7578#line 634
7579 __cil_tmp85 = ! __cil_tmp84;
7580#line 634
7581 __cil_tmp86 = (long )__cil_tmp85;
7582#line 634
7583 tmp___11 = __builtin_expect(__cil_tmp86, 0L);
7584 }
7585#line 634
7586 if (tmp___11) {
7587 {
7588#line 634
7589 __cil_tmp87 = (int )i;
7590#line 634
7591 __dynamic_pr_debug(& descriptor___6, "XferInfo[%d].state == XFER_ERASED\n",
7592 __cil_tmp87);
7593 }
7594 } else {
7595
7596 }
7597#line 634
7598 goto while_break___5;
7599 }
7600 while_break___5: ;
7601 }
7602 {
7603#line 635
7604 n = 1;
7605#line 636
7606 __cil_tmp88 = (int )i;
7607#line 636
7608 prepare_xfer(part, __cil_tmp88);
7609 }
7610 } else {
7611
7612 }
7613 }
7614 }
7615 }
7616 {
7617#line 638
7618 __cil_tmp89 = (unsigned long )part;
7619#line 638
7620 __cil_tmp90 = __cil_tmp89 + 248;
7621#line 638
7622 __cil_tmp91 = *((struct xfer_info_t **)__cil_tmp90);
7623#line 638
7624 __cil_tmp92 = __cil_tmp91 + i;
7625#line 638
7626 __cil_tmp93 = (unsigned long )__cil_tmp92;
7627#line 638
7628 __cil_tmp94 = __cil_tmp93 + 8;
7629#line 638
7630 __cil_tmp95 = *((uint16_t *)__cil_tmp94);
7631#line 638
7632 __cil_tmp96 = (int )__cil_tmp95;
7633#line 638
7634 if (__cil_tmp96 == 3) {
7635 {
7636#line 639
7637 while (1) {
7638 while_continue___6: ;
7639 {
7640#line 639
7641 __cil_tmp97 = & descriptor___7;
7642#line 639
7643 __cil_tmp98 = __cil_tmp97->flags;
7644#line 639
7645 __cil_tmp99 = __cil_tmp98 & 1U;
7646#line 639
7647 __cil_tmp100 = ! __cil_tmp99;
7648#line 639
7649 __cil_tmp101 = ! __cil_tmp100;
7650#line 639
7651 __cil_tmp102 = (long )__cil_tmp101;
7652#line 639
7653 tmp___12 = __builtin_expect(__cil_tmp102, 0L);
7654 }
7655#line 639
7656 if (tmp___12) {
7657 {
7658#line 639
7659 __cil_tmp103 = (int )i;
7660#line 639
7661 __dynamic_pr_debug(& descriptor___7, "XferInfo[%d].state == XFER_PREPARED\n",
7662 __cil_tmp103);
7663 }
7664 } else {
7665
7666 }
7667#line 639
7668 goto while_break___6;
7669 }
7670 while_break___6: ;
7671 }
7672#line 640
7673 n = 1;
7674 {
7675#line 641
7676 __cil_tmp104 = (unsigned long )part;
7677#line 641
7678 __cil_tmp105 = __cil_tmp104 + 248;
7679#line 641
7680 __cil_tmp106 = *((struct xfer_info_t **)__cil_tmp105);
7681#line 641
7682 __cil_tmp107 = __cil_tmp106 + i;
7683#line 641
7684 __cil_tmp108 = (unsigned long )__cil_tmp107;
7685#line 641
7686 __cil_tmp109 = __cil_tmp108 + 4;
7687#line 641
7688 __cil_tmp110 = *((uint32_t *)__cil_tmp109);
7689#line 641
7690 if (__cil_tmp110 <= best) {
7691#line 642
7692 __cil_tmp111 = (unsigned long )part;
7693#line 642
7694 __cil_tmp112 = __cil_tmp111 + 248;
7695#line 642
7696 __cil_tmp113 = *((struct xfer_info_t **)__cil_tmp112);
7697#line 642
7698 __cil_tmp114 = __cil_tmp113 + i;
7699#line 642
7700 __cil_tmp115 = (unsigned long )__cil_tmp114;
7701#line 642
7702 __cil_tmp116 = __cil_tmp115 + 4;
7703#line 642
7704 best = *((uint32_t *)__cil_tmp116);
7705#line 643
7706 xfer = i;
7707 } else {
7708
7709 }
7710 }
7711 } else {
7712
7713 }
7714 }
7715#line 646
7716 if (! n) {
7717 {
7718#line 647
7719 while (1) {
7720 while_continue___7: ;
7721 {
7722#line 647
7723 __cil_tmp117 = & descriptor___8;
7724#line 647
7725 __cil_tmp118 = __cil_tmp117->flags;
7726#line 647
7727 __cil_tmp119 = __cil_tmp118 & 1U;
7728#line 647
7729 __cil_tmp120 = ! __cil_tmp119;
7730#line 647
7731 __cil_tmp121 = ! __cil_tmp120;
7732#line 647
7733 __cil_tmp122 = (long )__cil_tmp121;
7734#line 647
7735 tmp___13 = __builtin_expect(__cil_tmp122, 0L);
7736 }
7737#line 647
7738 if (tmp___13) {
7739 {
7740#line 647
7741 __cil_tmp123 = (int )i;
7742#line 647
7743 __cil_tmp124 = (unsigned long )part;
7744#line 647
7745 __cil_tmp125 = __cil_tmp124 + 248;
7746#line 647
7747 __cil_tmp126 = *((struct xfer_info_t **)__cil_tmp125);
7748#line 647
7749 __cil_tmp127 = __cil_tmp126 + i;
7750#line 647
7751 __cil_tmp128 = (unsigned long )__cil_tmp127;
7752#line 647
7753 __cil_tmp129 = __cil_tmp128 + 8;
7754#line 647
7755 __cil_tmp130 = *((uint16_t *)__cil_tmp129);
7756#line 647
7757 __cil_tmp131 = (int )__cil_tmp130;
7758#line 647
7759 __dynamic_pr_debug(& descriptor___8, "XferInfo[%d].state == %x\n", __cil_tmp123,
7760 __cil_tmp131);
7761 }
7762 } else {
7763
7764 }
7765#line 647
7766 goto while_break___7;
7767 }
7768 while_break___7: ;
7769 }
7770 } else {
7771
7772 }
7773#line 621
7774 __cil_tmp132 = (int )i;
7775#line 621
7776 __cil_tmp133 = __cil_tmp132 + 1;
7777#line 621
7778 i = (uint16_t )__cil_tmp133;
7779 }
7780 while_break___2: ;
7781 }
7782 {
7783#line 650
7784 __cil_tmp134 = (int )xfer;
7785#line 650
7786 if (__cil_tmp134 == 65535) {
7787#line 651
7788 if (queued) {
7789 {
7790#line 652
7791 while (1) {
7792 while_continue___8: ;
7793 {
7794#line 652
7795 __cil_tmp135 = & descriptor___9;
7796#line 652
7797 __cil_tmp136 = __cil_tmp135->flags;
7798#line 652
7799 __cil_tmp137 = __cil_tmp136 & 1U;
7800#line 652
7801 __cil_tmp138 = ! __cil_tmp137;
7802#line 652
7803 __cil_tmp139 = ! __cil_tmp138;
7804#line 652
7805 __cil_tmp140 = (long )__cil_tmp139;
7806#line 652
7807 tmp___14 = __builtin_expect(__cil_tmp140, 0L);
7808 }
7809#line 652
7810 if (tmp___14) {
7811 {
7812#line 652
7813 __dynamic_pr_debug(& descriptor___9, "ftl_cs: waiting for transfer unit to be prepared...\n");
7814 }
7815 } else {
7816
7817 }
7818#line 652
7819 goto while_break___8;
7820 }
7821 while_break___8: ;
7822 }
7823 {
7824#line 654
7825 __cil_tmp141 = 0 + 24;
7826#line 654
7827 __cil_tmp142 = (unsigned long )part;
7828#line 654
7829 __cil_tmp143 = __cil_tmp142 + __cil_tmp141;
7830#line 654
7831 __cil_tmp144 = *((struct mtd_info **)__cil_tmp143);
7832#line 654
7833 mtd_sync(__cil_tmp144);
7834 }
7835 } else {
7836#line 657
7837 ne = ne + 1;
7838#line 657
7839 if (ne < 5) {
7840 {
7841#line 658
7842 printk("<5>ftl_cs: reclaim failed: no suitable transfer units!\n");
7843 }
7844 } else {
7845 {
7846#line 661
7847 while (1) {
7848 while_continue___9: ;
7849 {
7850#line 661
7851 __cil_tmp145 = & descriptor___10;
7852#line 661
7853 __cil_tmp146 = __cil_tmp145->flags;
7854#line 661
7855 __cil_tmp147 = __cil_tmp146 & 1U;
7856#line 661
7857 __cil_tmp148 = ! __cil_tmp147;
7858#line 661
7859 __cil_tmp149 = ! __cil_tmp148;
7860#line 661
7861 __cil_tmp150 = (long )__cil_tmp149;
7862#line 661
7863 tmp___15 = __builtin_expect(__cil_tmp150, 0L);
7864 }
7865#line 661
7866 if (tmp___15) {
7867 {
7868#line 661
7869 __dynamic_pr_debug(& descriptor___10, "ftl_cs: reclaim failed: no suitable transfer units!\n");
7870 }
7871 } else {
7872
7873 }
7874#line 661
7875 goto while_break___9;
7876 }
7877 while_break___9: ;
7878 }
7879 }
7880#line 664
7881 return (-5);
7882 }
7883 } else {
7884
7885 }
7886 }
7887 {
7888#line 619
7889 __cil_tmp151 = (int )xfer;
7890#line 619
7891 if (__cil_tmp151 == 65535) {
7892
7893 } else {
7894#line 619
7895 goto while_break___1;
7896 }
7897 }
7898 }
7899 while_break___1: ;
7900 }
7901#line 669
7902 eun = (uint16_t )0;
7903 {
7904#line 670
7905 __cil_tmp152 = (unsigned long volatile )0;
7906#line 670
7907 __cil_tmp153 = & shuffle_freq;
7908#line 670
7909 __cil_tmp154 = *__cil_tmp153;
7910#line 670
7911 __cil_tmp155 = (unsigned long volatile )__cil_tmp154;
7912#line 670
7913 __cil_tmp156 = jiffies % __cil_tmp155;
7914#line 670
7915 if (__cil_tmp156 == __cil_tmp152) {
7916 {
7917#line 671
7918 while (1) {
7919 while_continue___10: ;
7920 {
7921#line 671
7922 __cil_tmp157 = & descriptor___11;
7923#line 671
7924 __cil_tmp158 = __cil_tmp157->flags;
7925#line 671
7926 __cil_tmp159 = __cil_tmp158 & 1U;
7927#line 671
7928 __cil_tmp160 = ! __cil_tmp159;
7929#line 671
7930 __cil_tmp161 = ! __cil_tmp160;
7931#line 671
7932 __cil_tmp162 = (long )__cil_tmp161;
7933#line 671
7934 tmp___16 = __builtin_expect(__cil_tmp162, 0L);
7935 }
7936#line 671
7937 if (tmp___16) {
7938 {
7939#line 671
7940 __dynamic_pr_debug(& descriptor___11, "ftl_cs: recycling freshest block...\n");
7941 }
7942 } else {
7943
7944 }
7945#line 671
7946 goto while_break___10;
7947 }
7948 while_break___10: ;
7949 }
7950#line 672
7951 best = 4294967295U;
7952#line 673
7953 i = (uint16_t )0;
7954 {
7955#line 673
7956 while (1) {
7957 while_continue___11: ;
7958 {
7959#line 673
7960 __cil_tmp163 = (unsigned long )part;
7961#line 673
7962 __cil_tmp164 = __cil_tmp163 + 272;
7963#line 673
7964 __cil_tmp165 = *((uint16_t *)__cil_tmp164);
7965#line 673
7966 __cil_tmp166 = (int )__cil_tmp165;
7967#line 673
7968 __cil_tmp167 = (int )i;
7969#line 673
7970 if (__cil_tmp167 < __cil_tmp166) {
7971
7972 } else {
7973#line 673
7974 goto while_break___11;
7975 }
7976 }
7977 {
7978#line 674
7979 __cil_tmp168 = (unsigned long )part;
7980#line 674
7981 __cil_tmp169 = __cil_tmp168 + 240;
7982#line 674
7983 __cil_tmp170 = *((struct eun_info_t **)__cil_tmp169);
7984#line 674
7985 __cil_tmp171 = __cil_tmp170 + i;
7986#line 674
7987 __cil_tmp172 = (unsigned long )__cil_tmp171;
7988#line 674
7989 __cil_tmp173 = __cil_tmp172 + 4;
7990#line 674
7991 __cil_tmp174 = *((uint32_t *)__cil_tmp173);
7992#line 674
7993 if (__cil_tmp174 <= best) {
7994#line 675
7995 __cil_tmp175 = (unsigned long )part;
7996#line 675
7997 __cil_tmp176 = __cil_tmp175 + 240;
7998#line 675
7999 __cil_tmp177 = *((struct eun_info_t **)__cil_tmp176);
8000#line 675
8001 __cil_tmp178 = __cil_tmp177 + i;
8002#line 675
8003 __cil_tmp179 = (unsigned long )__cil_tmp178;
8004#line 675
8005 __cil_tmp180 = __cil_tmp179 + 4;
8006#line 675
8007 best = *((uint32_t *)__cil_tmp180);
8008#line 676
8009 eun = i;
8010 } else {
8011
8012 }
8013 }
8014#line 673
8015 __cil_tmp181 = (int )i;
8016#line 673
8017 __cil_tmp182 = __cil_tmp181 + 1;
8018#line 673
8019 i = (uint16_t )__cil_tmp182;
8020 }
8021 while_break___11: ;
8022 }
8023 } else {
8024#line 679
8025 best = (uint32_t )0;
8026#line 680
8027 i = (uint16_t )0;
8028 {
8029#line 680
8030 while (1) {
8031 while_continue___12: ;
8032 {
8033#line 680
8034 __cil_tmp183 = (unsigned long )part;
8035#line 680
8036 __cil_tmp184 = __cil_tmp183 + 272;
8037#line 680
8038 __cil_tmp185 = *((uint16_t *)__cil_tmp184);
8039#line 680
8040 __cil_tmp186 = (int )__cil_tmp185;
8041#line 680
8042 __cil_tmp187 = (int )i;
8043#line 680
8044 if (__cil_tmp187 < __cil_tmp186) {
8045
8046 } else {
8047#line 680
8048 goto while_break___12;
8049 }
8050 }
8051 {
8052#line 681
8053 __cil_tmp188 = (unsigned long )part;
8054#line 681
8055 __cil_tmp189 = __cil_tmp188 + 240;
8056#line 681
8057 __cil_tmp190 = *((struct eun_info_t **)__cil_tmp189);
8058#line 681
8059 __cil_tmp191 = __cil_tmp190 + i;
8060#line 681
8061 __cil_tmp192 = (unsigned long )__cil_tmp191;
8062#line 681
8063 __cil_tmp193 = __cil_tmp192 + 12;
8064#line 681
8065 __cil_tmp194 = *((uint32_t *)__cil_tmp193);
8066#line 681
8067 if (__cil_tmp194 >= best) {
8068#line 682
8069 __cil_tmp195 = (unsigned long )part;
8070#line 682
8071 __cil_tmp196 = __cil_tmp195 + 240;
8072#line 682
8073 __cil_tmp197 = *((struct eun_info_t **)__cil_tmp196);
8074#line 682
8075 __cil_tmp198 = __cil_tmp197 + i;
8076#line 682
8077 __cil_tmp199 = (unsigned long )__cil_tmp198;
8078#line 682
8079 __cil_tmp200 = __cil_tmp199 + 12;
8080#line 682
8081 best = *((uint32_t *)__cil_tmp200);
8082#line 683
8083 eun = i;
8084 } else {
8085
8086 }
8087 }
8088#line 680
8089 __cil_tmp201 = (int )i;
8090#line 680
8091 __cil_tmp202 = __cil_tmp201 + 1;
8092#line 680
8093 i = (uint16_t )__cil_tmp202;
8094 }
8095 while_break___12: ;
8096 }
8097#line 685
8098 if (best == 0U) {
8099#line 687
8100 ne___0 = ne___0 + 1;
8101#line 687
8102 if (ne___0 < 5) {
8103 {
8104#line 688
8105 printk("<5>ftl_cs: reclaim failed: no free blocks!\n");
8106 }
8107 } else {
8108 {
8109#line 691
8110 while (1) {
8111 while_continue___13: ;
8112 {
8113#line 691
8114 __cil_tmp203 = & descriptor___12;
8115#line 691
8116 __cil_tmp204 = __cil_tmp203->flags;
8117#line 691
8118 __cil_tmp205 = __cil_tmp204 & 1U;
8119#line 691
8120 __cil_tmp206 = ! __cil_tmp205;
8121#line 691
8122 __cil_tmp207 = ! __cil_tmp206;
8123#line 691
8124 __cil_tmp208 = (long )__cil_tmp207;
8125#line 691
8126 tmp___17 = __builtin_expect(__cil_tmp208, 0L);
8127 }
8128#line 691
8129 if (tmp___17) {
8130 {
8131#line 691
8132 __dynamic_pr_debug(& descriptor___12, "ftl_cs: reclaim failed: no free blocks!\n");
8133 }
8134 } else {
8135
8136 }
8137#line 691
8138 goto while_break___13;
8139 }
8140 while_break___13: ;
8141 }
8142 }
8143#line 694
8144 return (-5);
8145 } else {
8146
8147 }
8148 }
8149 }
8150 {
8151#line 697
8152 ret = copy_erase_unit(part, eun, xfer);
8153 }
8154#line 698
8155 if (! ret) {
8156 {
8157#line 699
8158 erase_xfer(part, xfer);
8159 }
8160 } else {
8161 {
8162#line 701
8163 printk("<5>ftl_cs: copy_erase_unit failed!\n");
8164 }
8165 }
8166#line 702
8167 return (ret);
8168}
8169}
8170#line 777
8171static uint32_t find_free(partition_t *part ) ;
8172#line 777 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
8173static struct _ddebug __attribute__((__aligned__(8))) descriptor___13 __attribute__((__used__,
8174__section__("__verbose"))) = {"ftl", "find_free", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
8175 "ftl_cs: found free block at %d in %d\n", 777U, 0U};
8176#line 728 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
8177static uint32_t find_free(partition_t *part )
8178{ uint16_t stop ;
8179 uint16_t eun ;
8180 uint32_t blk ;
8181 size_t retlen ;
8182 int ret ;
8183 long tmp___7 ;
8184 unsigned long __cil_tmp8 ;
8185 unsigned long __cil_tmp9 ;
8186 uint16_t __cil_tmp10 ;
8187 int __cil_tmp11 ;
8188 unsigned long __cil_tmp12 ;
8189 unsigned long __cil_tmp13 ;
8190 unsigned long __cil_tmp14 ;
8191 unsigned long __cil_tmp15 ;
8192 struct eun_info_t *__cil_tmp16 ;
8193 struct eun_info_t *__cil_tmp17 ;
8194 unsigned long __cil_tmp18 ;
8195 unsigned long __cil_tmp19 ;
8196 uint32_t __cil_tmp20 ;
8197 int __cil_tmp21 ;
8198 int __cil_tmp22 ;
8199 unsigned long __cil_tmp23 ;
8200 unsigned long __cil_tmp24 ;
8201 uint16_t __cil_tmp25 ;
8202 int __cil_tmp26 ;
8203 int __cil_tmp27 ;
8204 int __cil_tmp28 ;
8205 unsigned long __cil_tmp29 ;
8206 unsigned long __cil_tmp30 ;
8207 struct eun_info_t *__cil_tmp31 ;
8208 struct eun_info_t *__cil_tmp32 ;
8209 unsigned long __cil_tmp33 ;
8210 unsigned long __cil_tmp34 ;
8211 uint32_t __cil_tmp35 ;
8212 unsigned long __cil_tmp36 ;
8213 unsigned long __cil_tmp37 ;
8214 uint16_t __cil_tmp38 ;
8215 int __cil_tmp39 ;
8216 int __cil_tmp40 ;
8217 unsigned long __cil_tmp41 ;
8218 unsigned long __cil_tmp42 ;
8219 unsigned long __cil_tmp43 ;
8220 unsigned long __cil_tmp44 ;
8221 unsigned long __cil_tmp45 ;
8222 struct mtd_info *__cil_tmp46 ;
8223 unsigned long __cil_tmp47 ;
8224 unsigned long __cil_tmp48 ;
8225 unsigned long __cil_tmp49 ;
8226 uint32_t __cil_tmp50 ;
8227 unsigned long __cil_tmp51 ;
8228 unsigned long __cil_tmp52 ;
8229 struct eun_info_t *__cil_tmp53 ;
8230 struct eun_info_t *__cil_tmp54 ;
8231 uint32_t __cil_tmp55 ;
8232 uint32_t __cil_tmp56 ;
8233 loff_t __cil_tmp57 ;
8234 unsigned long __cil_tmp58 ;
8235 unsigned long __cil_tmp59 ;
8236 uint32_t __cil_tmp60 ;
8237 unsigned long __cil_tmp61 ;
8238 unsigned long __cil_tmp62 ;
8239 unsigned long __cil_tmp63 ;
8240 unsigned long __cil_tmp64 ;
8241 uint32_t *__cil_tmp65 ;
8242 u_char *__cil_tmp66 ;
8243 unsigned long __cil_tmp67 ;
8244 unsigned long __cil_tmp68 ;
8245 unsigned long __cil_tmp69 ;
8246 unsigned long __cil_tmp70 ;
8247 uint32_t __cil_tmp71 ;
8248 unsigned long __cil_tmp72 ;
8249 unsigned long __cil_tmp73 ;
8250 uint32_t *__cil_tmp74 ;
8251 uint32_t *__cil_tmp75 ;
8252 uint32_t __cil_tmp76 ;
8253 unsigned long __cil_tmp77 ;
8254 unsigned long __cil_tmp78 ;
8255 uint32_t __cil_tmp79 ;
8256 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp80 ;
8257 unsigned int __cil_tmp81 ;
8258 unsigned int __cil_tmp82 ;
8259 int __cil_tmp83 ;
8260 int __cil_tmp84 ;
8261 long __cil_tmp85 ;
8262 int __cil_tmp86 ;
8263
8264 {
8265 {
8266#line 736
8267 __cil_tmp8 = (unsigned long )part;
8268#line 736
8269 __cil_tmp9 = __cil_tmp8 + 256;
8270#line 736
8271 __cil_tmp10 = *((uint16_t *)__cil_tmp9);
8272#line 736
8273 __cil_tmp11 = (int )__cil_tmp10;
8274#line 736
8275 if (__cil_tmp11 == 65535) {
8276#line 736
8277 stop = (uint16_t )0;
8278 } else {
8279#line 736
8280 __cil_tmp12 = (unsigned long )part;
8281#line 736
8282 __cil_tmp13 = __cil_tmp12 + 256;
8283#line 736
8284 stop = *((uint16_t *)__cil_tmp13);
8285 }
8286 }
8287#line 737
8288 eun = stop;
8289 {
8290#line 738
8291 while (1) {
8292 while_continue: ;
8293 {
8294#line 739
8295 __cil_tmp14 = (unsigned long )part;
8296#line 739
8297 __cil_tmp15 = __cil_tmp14 + 240;
8298#line 739
8299 __cil_tmp16 = *((struct eun_info_t **)__cil_tmp15);
8300#line 739
8301 __cil_tmp17 = __cil_tmp16 + eun;
8302#line 739
8303 __cil_tmp18 = (unsigned long )__cil_tmp17;
8304#line 739
8305 __cil_tmp19 = __cil_tmp18 + 8;
8306#line 739
8307 __cil_tmp20 = *((uint32_t *)__cil_tmp19);
8308#line 739
8309 if (__cil_tmp20 != 0U) {
8310#line 739
8311 goto while_break;
8312 } else {
8313
8314 }
8315 }
8316#line 741
8317 __cil_tmp21 = (int )eun;
8318#line 741
8319 __cil_tmp22 = __cil_tmp21 + 1;
8320#line 741
8321 eun = (uint16_t )__cil_tmp22;
8322 {
8323#line 741
8324 __cil_tmp23 = (unsigned long )part;
8325#line 741
8326 __cil_tmp24 = __cil_tmp23 + 272;
8327#line 741
8328 __cil_tmp25 = *((uint16_t *)__cil_tmp24);
8329#line 741
8330 __cil_tmp26 = (int )__cil_tmp25;
8331#line 741
8332 if (eun == __cil_tmp26) {
8333#line 741
8334 eun = (uint16_t )0;
8335 } else {
8336
8337 }
8338 }
8339 {
8340#line 738
8341 __cil_tmp27 = (int )stop;
8342#line 738
8343 __cil_tmp28 = (int )eun;
8344#line 738
8345 if (__cil_tmp28 != __cil_tmp27) {
8346
8347 } else {
8348#line 738
8349 goto while_break;
8350 }
8351 }
8352 }
8353 while_break: ;
8354 }
8355 {
8356#line 744
8357 __cil_tmp29 = (unsigned long )part;
8358#line 744
8359 __cil_tmp30 = __cil_tmp29 + 240;
8360#line 744
8361 __cil_tmp31 = *((struct eun_info_t **)__cil_tmp30);
8362#line 744
8363 __cil_tmp32 = __cil_tmp31 + eun;
8364#line 744
8365 __cil_tmp33 = (unsigned long )__cil_tmp32;
8366#line 744
8367 __cil_tmp34 = __cil_tmp33 + 8;
8368#line 744
8369 __cil_tmp35 = *((uint32_t *)__cil_tmp34);
8370#line 744
8371 if (__cil_tmp35 == 0U) {
8372#line 745
8373 return ((uint32_t )0);
8374 } else {
8375
8376 }
8377 }
8378 {
8379#line 748
8380 __cil_tmp36 = (unsigned long )part;
8381#line 748
8382 __cil_tmp37 = __cil_tmp36 + 256;
8383#line 748
8384 __cil_tmp38 = *((uint16_t *)__cil_tmp37);
8385#line 748
8386 __cil_tmp39 = (int )__cil_tmp38;
8387#line 748
8388 __cil_tmp40 = (int )eun;
8389#line 748
8390 if (__cil_tmp40 != __cil_tmp39) {
8391 {
8392#line 750
8393 __cil_tmp41 = (unsigned long )part;
8394#line 750
8395 __cil_tmp42 = __cil_tmp41 + 256;
8396#line 750
8397 *((uint16_t *)__cil_tmp42) = (uint16_t )65535;
8398#line 752
8399 __cil_tmp43 = 0 + 24;
8400#line 752
8401 __cil_tmp44 = (unsigned long )part;
8402#line 752
8403 __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
8404#line 752
8405 __cil_tmp46 = *((struct mtd_info **)__cil_tmp45);
8406#line 752
8407 __cil_tmp47 = 280 + 48;
8408#line 752
8409 __cil_tmp48 = (unsigned long )part;
8410#line 752
8411 __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
8412#line 752
8413 __cil_tmp50 = *((uint32_t *)__cil_tmp49);
8414#line 752
8415 __cil_tmp51 = (unsigned long )part;
8416#line 752
8417 __cil_tmp52 = __cil_tmp51 + 240;
8418#line 752
8419 __cil_tmp53 = *((struct eun_info_t **)__cil_tmp52);
8420#line 752
8421 __cil_tmp54 = __cil_tmp53 + eun;
8422#line 752
8423 __cil_tmp55 = *((uint32_t *)__cil_tmp54);
8424#line 752
8425 __cil_tmp56 = __cil_tmp55 + __cil_tmp50;
8426#line 752
8427 __cil_tmp57 = (loff_t )__cil_tmp56;
8428#line 752
8429 __cil_tmp58 = (unsigned long )part;
8430#line 752
8431 __cil_tmp59 = __cil_tmp58 + 276;
8432#line 752
8433 __cil_tmp60 = *((uint32_t *)__cil_tmp59);
8434#line 752
8435 __cil_tmp61 = (unsigned long )__cil_tmp60;
8436#line 752
8437 __cil_tmp62 = __cil_tmp61 * 4UL;
8438#line 752
8439 __cil_tmp63 = (unsigned long )part;
8440#line 752
8441 __cil_tmp64 = __cil_tmp63 + 264;
8442#line 752
8443 __cil_tmp65 = *((uint32_t **)__cil_tmp64);
8444#line 752
8445 __cil_tmp66 = (u_char *)__cil_tmp65;
8446#line 752
8447 ret = mtd_read(__cil_tmp46, __cil_tmp57, __cil_tmp62, & retlen, __cil_tmp66);
8448 }
8449#line 758
8450 if (ret) {
8451 {
8452#line 759
8453 printk("<4>ftl: Error reading BAM in find_free\n");
8454 }
8455#line 760
8456 return ((uint32_t )0);
8457 } else {
8458
8459 }
8460#line 762
8461 __cil_tmp67 = (unsigned long )part;
8462#line 762
8463 __cil_tmp68 = __cil_tmp67 + 256;
8464#line 762
8465 *((uint16_t *)__cil_tmp68) = eun;
8466 } else {
8467
8468 }
8469 }
8470#line 766
8471 blk = (uint32_t )0;
8472 {
8473#line 766
8474 while (1) {
8475 while_continue___0: ;
8476 {
8477#line 766
8478 __cil_tmp69 = (unsigned long )part;
8479#line 766
8480 __cil_tmp70 = __cil_tmp69 + 276;
8481#line 766
8482 __cil_tmp71 = *((uint32_t *)__cil_tmp70);
8483#line 766
8484 if (blk < __cil_tmp71) {
8485
8486 } else {
8487#line 766
8488 goto while_break___0;
8489 }
8490 }
8491 {
8492#line 767
8493 __cil_tmp72 = (unsigned long )part;
8494#line 767
8495 __cil_tmp73 = __cil_tmp72 + 264;
8496#line 767
8497 __cil_tmp74 = *((uint32_t **)__cil_tmp73);
8498#line 767
8499 __cil_tmp75 = __cil_tmp74 + blk;
8500#line 767
8501 __cil_tmp76 = *__cil_tmp75;
8502#line 767
8503 if (__cil_tmp76 == 4294967295U) {
8504#line 767
8505 goto while_break___0;
8506 } else {
8507
8508 }
8509 }
8510#line 766
8511 blk = blk + 1U;
8512 }
8513 while_break___0: ;
8514 }
8515 {
8516#line 768
8517 __cil_tmp77 = (unsigned long )part;
8518#line 768
8519 __cil_tmp78 = __cil_tmp77 + 276;
8520#line 768
8521 __cil_tmp79 = *((uint32_t *)__cil_tmp78);
8522#line 768
8523 if (blk == __cil_tmp79) {
8524 {
8525#line 774
8526 printk("<5>ftl_cs: bad free list!\n");
8527 }
8528#line 775
8529 return ((uint32_t )0);
8530 } else {
8531
8532 }
8533 }
8534 {
8535#line 777
8536 while (1) {
8537 while_continue___1: ;
8538 {
8539#line 777
8540 __cil_tmp80 = & descriptor___13;
8541#line 777
8542 __cil_tmp81 = __cil_tmp80->flags;
8543#line 777
8544 __cil_tmp82 = __cil_tmp81 & 1U;
8545#line 777
8546 __cil_tmp83 = ! __cil_tmp82;
8547#line 777
8548 __cil_tmp84 = ! __cil_tmp83;
8549#line 777
8550 __cil_tmp85 = (long )__cil_tmp84;
8551#line 777
8552 tmp___7 = __builtin_expect(__cil_tmp85, 0L);
8553 }
8554#line 777
8555 if (tmp___7) {
8556 {
8557#line 777
8558 __cil_tmp86 = (int )eun;
8559#line 777
8560 __dynamic_pr_debug(& descriptor___13, "ftl_cs: found free block at %d in %d\n",
8561 blk, __cil_tmp86);
8562 }
8563 } else {
8564
8565 }
8566#line 777
8567 goto while_break___1;
8568 }
8569 while_break___1: ;
8570 }
8571#line 778
8572 return (blk);
8573}
8574}
8575#line 797
8576static int ftl_read(partition_t *part , caddr_t buffer , u_long sector , u_long nblocks ) ;
8577#line 797 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
8578static struct _ddebug __attribute__((__aligned__(8))) descriptor___14 __attribute__((__used__,
8579__section__("__verbose"))) = {"ftl", "ftl_read", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
8580 "ftl_cs: ftl_read(0x%p, 0x%lx, %ld)\n", 798U, 0U};
8581#line 789 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
8582static int ftl_read(partition_t *part , caddr_t buffer , u_long sector , u_long nblocks )
8583{ uint32_t log_addr ;
8584 uint32_t bsize ;
8585 u_long i ;
8586 int ret ;
8587 size_t offset ;
8588 size_t retlen ;
8589 long tmp___7 ;
8590 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp12 ;
8591 unsigned int __cil_tmp13 ;
8592 unsigned int __cil_tmp14 ;
8593 int __cil_tmp15 ;
8594 int __cil_tmp16 ;
8595 long __cil_tmp17 ;
8596 unsigned long __cil_tmp18 ;
8597 unsigned long __cil_tmp19 ;
8598 uint32_t __cil_tmp20 ;
8599 unsigned int __cil_tmp21 ;
8600 unsigned long __cil_tmp22 ;
8601 unsigned long __cil_tmp23 ;
8602 unsigned long __cil_tmp24 ;
8603 uint8_t __cil_tmp25 ;
8604 int __cil_tmp26 ;
8605 int __cil_tmp27 ;
8606 unsigned long __cil_tmp28 ;
8607 unsigned long __cil_tmp29 ;
8608 unsigned long __cil_tmp30 ;
8609 uint32_t __cil_tmp31 ;
8610 u_long __cil_tmp32 ;
8611 u_long __cil_tmp33 ;
8612 u_long __cil_tmp34 ;
8613 u_long __cil_tmp35 ;
8614 unsigned long __cil_tmp36 ;
8615 unsigned long __cil_tmp37 ;
8616 uint32_t *__cil_tmp38 ;
8617 uint32_t *__cil_tmp39 ;
8618 void *__cil_tmp40 ;
8619 size_t __cil_tmp41 ;
8620 unsigned int __cil_tmp42 ;
8621 uint32_t __cil_tmp43 ;
8622 unsigned long __cil_tmp44 ;
8623 unsigned long __cil_tmp45 ;
8624 struct eun_info_t *__cil_tmp46 ;
8625 struct eun_info_t *__cil_tmp47 ;
8626 uint32_t __cil_tmp48 ;
8627 uint32_t __cil_tmp49 ;
8628 unsigned long __cil_tmp50 ;
8629 unsigned long __cil_tmp51 ;
8630 unsigned long __cil_tmp52 ;
8631 struct mtd_info *__cil_tmp53 ;
8632 loff_t __cil_tmp54 ;
8633 size_t __cil_tmp55 ;
8634 u_char *__cil_tmp56 ;
8635
8636 {
8637 {
8638#line 797
8639 while (1) {
8640 while_continue: ;
8641 {
8642#line 797
8643 __cil_tmp12 = & descriptor___14;
8644#line 797
8645 __cil_tmp13 = __cil_tmp12->flags;
8646#line 797
8647 __cil_tmp14 = __cil_tmp13 & 1U;
8648#line 797
8649 __cil_tmp15 = ! __cil_tmp14;
8650#line 797
8651 __cil_tmp16 = ! __cil_tmp15;
8652#line 797
8653 __cil_tmp17 = (long )__cil_tmp16;
8654#line 797
8655 tmp___7 = __builtin_expect(__cil_tmp17, 0L);
8656 }
8657#line 797
8658 if (tmp___7) {
8659 {
8660#line 797
8661 __dynamic_pr_debug(& descriptor___14, "ftl_cs: ftl_read(0x%p, 0x%lx, %ld)\n",
8662 part, sector, nblocks);
8663 }
8664 } else {
8665
8666 }
8667#line 797
8668 goto while_break;
8669 }
8670 while_break: ;
8671 }
8672 {
8673#line 799
8674 __cil_tmp18 = (unsigned long )part;
8675#line 799
8676 __cil_tmp19 = __cil_tmp18 + 208;
8677#line 799
8678 __cil_tmp20 = *((uint32_t *)__cil_tmp19);
8679#line 799
8680 __cil_tmp21 = __cil_tmp20 & 1U;
8681#line 799
8682 if (! __cil_tmp21) {
8683 {
8684#line 800
8685 printk("<5>ftl_cs: bad partition\n");
8686 }
8687#line 801
8688 return (-5);
8689 } else {
8690
8691 }
8692 }
8693#line 803
8694 __cil_tmp22 = 280 + 23;
8695#line 803
8696 __cil_tmp23 = (unsigned long )part;
8697#line 803
8698 __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
8699#line 803
8700 __cil_tmp25 = *((uint8_t *)__cil_tmp24);
8701#line 803
8702 __cil_tmp26 = (int )__cil_tmp25;
8703#line 803
8704 __cil_tmp27 = 1 << __cil_tmp26;
8705#line 803
8706 bsize = (uint32_t )__cil_tmp27;
8707#line 805
8708 i = (u_long )0;
8709 {
8710#line 805
8711 while (1) {
8712 while_continue___0: ;
8713#line 805
8714 if (i < nblocks) {
8715
8716 } else {
8717#line 805
8718 goto while_break___0;
8719 }
8720 {
8721#line 806
8722 __cil_tmp28 = 280 + 28;
8723#line 806
8724 __cil_tmp29 = (unsigned long )part;
8725#line 806
8726 __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
8727#line 806
8728 __cil_tmp31 = *((uint32_t *)__cil_tmp30);
8729#line 806
8730 __cil_tmp32 = (u_long )__cil_tmp31;
8731#line 806
8732 __cil_tmp33 = sector + i;
8733#line 806
8734 __cil_tmp34 = __cil_tmp33 * 512UL;
8735#line 806
8736 if (__cil_tmp34 >= __cil_tmp32) {
8737 {
8738#line 807
8739 printk("<5>ftl_cs: bad read offset\n");
8740 }
8741#line 808
8742 return (-5);
8743 } else {
8744
8745 }
8746 }
8747#line 810
8748 __cil_tmp35 = sector + i;
8749#line 810
8750 __cil_tmp36 = (unsigned long )part;
8751#line 810
8752 __cil_tmp37 = __cil_tmp36 + 216;
8753#line 810
8754 __cil_tmp38 = *((uint32_t **)__cil_tmp37);
8755#line 810
8756 __cil_tmp39 = __cil_tmp38 + __cil_tmp35;
8757#line 810
8758 log_addr = *__cil_tmp39;
8759#line 811
8760 if (log_addr == 4294967295U) {
8761 {
8762#line 812
8763 __cil_tmp40 = (void *)buffer;
8764#line 812
8765 __cil_tmp41 = (size_t )512;
8766#line 812
8767 memset(__cil_tmp40, 0, __cil_tmp41);
8768 }
8769 } else {
8770 {
8771#line 814
8772 __cil_tmp42 = log_addr % bsize;
8773#line 814
8774 __cil_tmp43 = log_addr / bsize;
8775#line 814
8776 __cil_tmp44 = (unsigned long )part;
8777#line 814
8778 __cil_tmp45 = __cil_tmp44 + 240;
8779#line 814
8780 __cil_tmp46 = *((struct eun_info_t **)__cil_tmp45);
8781#line 814
8782 __cil_tmp47 = __cil_tmp46 + __cil_tmp43;
8783#line 814
8784 __cil_tmp48 = *((uint32_t *)__cil_tmp47);
8785#line 814
8786 __cil_tmp49 = __cil_tmp48 + __cil_tmp42;
8787#line 814
8788 offset = (size_t )__cil_tmp49;
8789#line 816
8790 __cil_tmp50 = 0 + 24;
8791#line 816
8792 __cil_tmp51 = (unsigned long )part;
8793#line 816
8794 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
8795#line 816
8796 __cil_tmp53 = *((struct mtd_info **)__cil_tmp52);
8797#line 816
8798 __cil_tmp54 = (loff_t )offset;
8799#line 816
8800 __cil_tmp55 = (size_t )512;
8801#line 816
8802 __cil_tmp56 = (u_char *)buffer;
8803#line 816
8804 ret = mtd_read(__cil_tmp53, __cil_tmp54, __cil_tmp55, & retlen, __cil_tmp56);
8805 }
8806#line 819
8807 if (ret) {
8808 {
8809#line 820
8810 printk("<4>Error reading MTD device in ftl_read()\n");
8811 }
8812#line 821
8813 return (ret);
8814 } else {
8815
8816 }
8817 }
8818#line 824
8819 buffer = buffer + 512;
8820#line 805
8821 i = i + 1UL;
8822 }
8823 while_break___0: ;
8824 }
8825#line 826
8826 return (0);
8827}
8828}
8829#line 846
8830static int set_bam_entry(partition_t *part , uint32_t log_addr , uint32_t virt_addr ) ;
8831#line 846 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
8832static struct _ddebug __attribute__((__aligned__(8))) descriptor___15 __attribute__((__used__,
8833__section__("__verbose"))) = {"ftl", "set_bam_entry", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
8834 "ftl_cs: set_bam_entry(0x%p, 0x%x, 0x%x)\n", 847U, 0U};
8835#line 835 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
8836static int set_bam_entry(partition_t *part , uint32_t log_addr , uint32_t virt_addr )
8837{ uint32_t bsize ;
8838 uint32_t blk ;
8839 uint32_t le_virt_addr ;
8840 uint16_t eun ;
8841 int ret ;
8842 size_t retlen ;
8843 size_t offset ;
8844 long tmp___7 ;
8845 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp12 ;
8846 unsigned int __cil_tmp13 ;
8847 unsigned int __cil_tmp14 ;
8848 int __cil_tmp15 ;
8849 int __cil_tmp16 ;
8850 long __cil_tmp17 ;
8851 unsigned long __cil_tmp18 ;
8852 unsigned long __cil_tmp19 ;
8853 unsigned long __cil_tmp20 ;
8854 uint8_t __cil_tmp21 ;
8855 int __cil_tmp22 ;
8856 int __cil_tmp23 ;
8857 uint32_t __cil_tmp24 ;
8858 unsigned int __cil_tmp25 ;
8859 unsigned long __cil_tmp26 ;
8860 unsigned long __cil_tmp27 ;
8861 unsigned long __cil_tmp28 ;
8862 uint32_t __cil_tmp29 ;
8863 unsigned long __cil_tmp30 ;
8864 unsigned long __cil_tmp31 ;
8865 unsigned long __cil_tmp32 ;
8866 unsigned long __cil_tmp33 ;
8867 unsigned long __cil_tmp34 ;
8868 struct eun_info_t *__cil_tmp35 ;
8869 struct eun_info_t *__cil_tmp36 ;
8870 uint32_t __cil_tmp37 ;
8871 unsigned long __cil_tmp38 ;
8872 unsigned long __cil_tmp39 ;
8873 uint32_t *__cil_tmp40 ;
8874 int __cil_tmp41 ;
8875 unsigned long __cil_tmp42 ;
8876 unsigned long __cil_tmp43 ;
8877 uint16_t __cil_tmp44 ;
8878 int __cil_tmp45 ;
8879 unsigned long __cil_tmp46 ;
8880 unsigned long __cil_tmp47 ;
8881 uint32_t *__cil_tmp48 ;
8882 uint32_t *__cil_tmp49 ;
8883 uint32_t *__cil_tmp50 ;
8884 unsigned long __cil_tmp51 ;
8885 unsigned long __cil_tmp52 ;
8886 unsigned long __cil_tmp53 ;
8887 struct mtd_info *__cil_tmp54 ;
8888 loff_t __cil_tmp55 ;
8889 u_char *__cil_tmp56 ;
8890 u_char const *__cil_tmp57 ;
8891
8892 {
8893 {
8894#line 846
8895 while (1) {
8896 while_continue: ;
8897 {
8898#line 846
8899 __cil_tmp12 = & descriptor___15;
8900#line 846
8901 __cil_tmp13 = __cil_tmp12->flags;
8902#line 846
8903 __cil_tmp14 = __cil_tmp13 & 1U;
8904#line 846
8905 __cil_tmp15 = ! __cil_tmp14;
8906#line 846
8907 __cil_tmp16 = ! __cil_tmp15;
8908#line 846
8909 __cil_tmp17 = (long )__cil_tmp16;
8910#line 846
8911 tmp___7 = __builtin_expect(__cil_tmp17, 0L);
8912 }
8913#line 846
8914 if (tmp___7) {
8915 {
8916#line 846
8917 __dynamic_pr_debug(& descriptor___15, "ftl_cs: set_bam_entry(0x%p, 0x%x, 0x%x)\n",
8918 part, log_addr, virt_addr);
8919 }
8920 } else {
8921
8922 }
8923#line 846
8924 goto while_break;
8925 }
8926 while_break: ;
8927 }
8928#line 848
8929 __cil_tmp18 = 280 + 23;
8930#line 848
8931 __cil_tmp19 = (unsigned long )part;
8932#line 848
8933 __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
8934#line 848
8935 __cil_tmp21 = *((uint8_t *)__cil_tmp20);
8936#line 848
8937 __cil_tmp22 = (int )__cil_tmp21;
8938#line 848
8939 __cil_tmp23 = 1 << __cil_tmp22;
8940#line 848
8941 bsize = (uint32_t )__cil_tmp23;
8942#line 849
8943 __cil_tmp24 = log_addr / bsize;
8944#line 849
8945 eun = (uint16_t )__cil_tmp24;
8946#line 850
8947 __cil_tmp25 = log_addr % bsize;
8948#line 850
8949 blk = __cil_tmp25 / 512U;
8950#line 851
8951 __cil_tmp26 = 280 + 48;
8952#line 851
8953 __cil_tmp27 = (unsigned long )part;
8954#line 851
8955 __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
8956#line 851
8957 __cil_tmp29 = *((uint32_t *)__cil_tmp28);
8958#line 851
8959 __cil_tmp30 = (unsigned long )__cil_tmp29;
8960#line 851
8961 __cil_tmp31 = (unsigned long )blk;
8962#line 851
8963 __cil_tmp32 = __cil_tmp31 * 4UL;
8964#line 851
8965 __cil_tmp33 = (unsigned long )part;
8966#line 851
8967 __cil_tmp34 = __cil_tmp33 + 240;
8968#line 851
8969 __cil_tmp35 = *((struct eun_info_t **)__cil_tmp34);
8970#line 851
8971 __cil_tmp36 = __cil_tmp35 + eun;
8972#line 851
8973 __cil_tmp37 = *((uint32_t *)__cil_tmp36);
8974#line 851
8975 __cil_tmp38 = (unsigned long )__cil_tmp37;
8976#line 851
8977 __cil_tmp39 = __cil_tmp38 + __cil_tmp32;
8978#line 851
8979 offset = __cil_tmp39 + __cil_tmp30;
8980#line 875
8981 __cil_tmp40 = & le_virt_addr;
8982#line 875
8983 *__cil_tmp40 = virt_addr;
8984 {
8985#line 876
8986 __cil_tmp41 = (int )eun;
8987#line 876
8988 __cil_tmp42 = (unsigned long )part;
8989#line 876
8990 __cil_tmp43 = __cil_tmp42 + 256;
8991#line 876
8992 __cil_tmp44 = *((uint16_t *)__cil_tmp43);
8993#line 876
8994 __cil_tmp45 = (int )__cil_tmp44;
8995#line 876
8996 if (__cil_tmp45 == __cil_tmp41) {
8997#line 890
8998 __cil_tmp46 = (unsigned long )part;
8999#line 890
9000 __cil_tmp47 = __cil_tmp46 + 264;
9001#line 890
9002 __cil_tmp48 = *((uint32_t **)__cil_tmp47);
9003#line 890
9004 __cil_tmp49 = __cil_tmp48 + blk;
9005#line 890
9006 __cil_tmp50 = & le_virt_addr;
9007#line 890
9008 *__cil_tmp49 = *__cil_tmp50;
9009 } else {
9010
9011 }
9012 }
9013 {
9014#line 892
9015 __cil_tmp51 = 0 + 24;
9016#line 892
9017 __cil_tmp52 = (unsigned long )part;
9018#line 892
9019 __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
9020#line 892
9021 __cil_tmp54 = *((struct mtd_info **)__cil_tmp53);
9022#line 892
9023 __cil_tmp55 = (loff_t )offset;
9024#line 892
9025 __cil_tmp56 = (u_char *)(& le_virt_addr);
9026#line 892
9027 __cil_tmp57 = (u_char const *)__cil_tmp56;
9028#line 892
9029 ret = mtd_write(__cil_tmp54, __cil_tmp55, 4UL, & retlen, __cil_tmp57);
9030 }
9031#line 895
9032 if (ret) {
9033 {
9034#line 896
9035 printk("<5>ftl_cs: set_bam_entry() failed!\n");
9036#line 897
9037 printk("<5>ftl_cs: log_addr = 0x%x, new = 0x%x\n", log_addr, virt_addr);
9038 }
9039 } else {
9040
9041 }
9042#line 900
9043 return (ret);
9044}
9045}
9046#line 911
9047static int ftl_write(partition_t *part , caddr_t buffer , u_long sector , u_long nblocks ) ;
9048#line 911 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9049static struct _ddebug __attribute__((__aligned__(8))) descriptor___16 __attribute__((__used__,
9050__section__("__verbose"))) = {"ftl", "ftl_write", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
9051 "ftl_cs: ftl_write(0x%p, %ld, %ld)\n", 912U, 0U};
9052#line 936
9053static int ftl_write(partition_t *part , caddr_t buffer , u_long sector , u_long nblocks ) ;
9054#line 936 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9055static int ne___1 = 0;
9056#line 903 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9057static int ftl_write(partition_t *part , caddr_t buffer , u_long sector , u_long nblocks )
9058{ uint32_t bsize ;
9059 uint32_t log_addr ;
9060 uint32_t virt_addr ;
9061 uint32_t old_addr ;
9062 uint32_t blk ;
9063 u_long i ;
9064 int ret ;
9065 size_t retlen ;
9066 size_t offset ;
9067 long tmp___7 ;
9068 int tmp___8 ;
9069 int tmp___9 ;
9070 int tmp___10 ;
9071 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp18 ;
9072 unsigned int __cil_tmp19 ;
9073 unsigned int __cil_tmp20 ;
9074 int __cil_tmp21 ;
9075 int __cil_tmp22 ;
9076 long __cil_tmp23 ;
9077 unsigned long __cil_tmp24 ;
9078 unsigned long __cil_tmp25 ;
9079 uint32_t __cil_tmp26 ;
9080 unsigned int __cil_tmp27 ;
9081 unsigned long __cil_tmp28 ;
9082 unsigned long __cil_tmp29 ;
9083 uint32_t __cil_tmp30 ;
9084 u_long __cil_tmp31 ;
9085 unsigned long __cil_tmp32 ;
9086 unsigned long __cil_tmp33 ;
9087 unsigned long __cil_tmp34 ;
9088 uint8_t __cil_tmp35 ;
9089 int __cil_tmp36 ;
9090 int __cil_tmp37 ;
9091 u_long __cil_tmp38 ;
9092 unsigned long __cil_tmp39 ;
9093 unsigned long __cil_tmp40 ;
9094 unsigned long __cil_tmp41 ;
9095 unsigned long __cil_tmp42 ;
9096 uint32_t __cil_tmp43 ;
9097 uint32_t __cil_tmp44 ;
9098 unsigned long __cil_tmp45 ;
9099 unsigned long __cil_tmp46 ;
9100 uint16_t __cil_tmp47 ;
9101 uint32_t __cil_tmp48 ;
9102 uint32_t __cil_tmp49 ;
9103 unsigned long __cil_tmp50 ;
9104 unsigned long __cil_tmp51 ;
9105 uint16_t __cil_tmp52 ;
9106 unsigned long __cil_tmp53 ;
9107 unsigned long __cil_tmp54 ;
9108 struct eun_info_t *__cil_tmp55 ;
9109 struct eun_info_t *__cil_tmp56 ;
9110 unsigned long __cil_tmp57 ;
9111 unsigned long __cil_tmp58 ;
9112 unsigned long __cil_tmp59 ;
9113 unsigned long __cil_tmp60 ;
9114 uint16_t __cil_tmp61 ;
9115 unsigned long __cil_tmp62 ;
9116 unsigned long __cil_tmp63 ;
9117 struct eun_info_t *__cil_tmp64 ;
9118 struct eun_info_t *__cil_tmp65 ;
9119 unsigned long __cil_tmp66 ;
9120 unsigned long __cil_tmp67 ;
9121 uint32_t __cil_tmp68 ;
9122 unsigned long __cil_tmp69 ;
9123 unsigned long __cil_tmp70 ;
9124 unsigned long __cil_tmp71 ;
9125 unsigned long __cil_tmp72 ;
9126 uint32_t __cil_tmp73 ;
9127 unsigned long __cil_tmp74 ;
9128 unsigned long __cil_tmp75 ;
9129 uint16_t __cil_tmp76 ;
9130 unsigned long __cil_tmp77 ;
9131 unsigned long __cil_tmp78 ;
9132 struct eun_info_t *__cil_tmp79 ;
9133 struct eun_info_t *__cil_tmp80 ;
9134 unsigned long __cil_tmp81 ;
9135 unsigned long __cil_tmp82 ;
9136 unsigned long __cil_tmp83 ;
9137 unsigned long __cil_tmp84 ;
9138 uint16_t __cil_tmp85 ;
9139 unsigned long __cil_tmp86 ;
9140 unsigned long __cil_tmp87 ;
9141 struct eun_info_t *__cil_tmp88 ;
9142 struct eun_info_t *__cil_tmp89 ;
9143 unsigned long __cil_tmp90 ;
9144 unsigned long __cil_tmp91 ;
9145 uint32_t __cil_tmp92 ;
9146 uint32_t __cil_tmp93 ;
9147 unsigned long __cil_tmp94 ;
9148 unsigned long __cil_tmp95 ;
9149 uint16_t __cil_tmp96 ;
9150 unsigned long __cil_tmp97 ;
9151 unsigned long __cil_tmp98 ;
9152 struct eun_info_t *__cil_tmp99 ;
9153 struct eun_info_t *__cil_tmp100 ;
9154 uint32_t __cil_tmp101 ;
9155 uint32_t __cil_tmp102 ;
9156 unsigned long __cil_tmp103 ;
9157 unsigned long __cil_tmp104 ;
9158 unsigned long __cil_tmp105 ;
9159 struct mtd_info *__cil_tmp106 ;
9160 loff_t __cil_tmp107 ;
9161 size_t __cil_tmp108 ;
9162 u_char const *__cil_tmp109 ;
9163 u_long __cil_tmp110 ;
9164 unsigned long __cil_tmp111 ;
9165 unsigned long __cil_tmp112 ;
9166 uint32_t *__cil_tmp113 ;
9167 uint32_t *__cil_tmp114 ;
9168 u_long __cil_tmp115 ;
9169 unsigned long __cil_tmp116 ;
9170 unsigned long __cil_tmp117 ;
9171 uint32_t *__cil_tmp118 ;
9172 uint32_t *__cil_tmp119 ;
9173 uint32_t __cil_tmp120 ;
9174 unsigned long __cil_tmp121 ;
9175 unsigned long __cil_tmp122 ;
9176 struct eun_info_t *__cil_tmp123 ;
9177 struct eun_info_t *__cil_tmp124 ;
9178 unsigned long __cil_tmp125 ;
9179 unsigned long __cil_tmp126 ;
9180 uint32_t __cil_tmp127 ;
9181 unsigned long __cil_tmp128 ;
9182 unsigned long __cil_tmp129 ;
9183 struct eun_info_t *__cil_tmp130 ;
9184 struct eun_info_t *__cil_tmp131 ;
9185 unsigned long __cil_tmp132 ;
9186 unsigned long __cil_tmp133 ;
9187 uint32_t __cil_tmp134 ;
9188 uint32_t __cil_tmp135 ;
9189 u_long __cil_tmp136 ;
9190 unsigned long __cil_tmp137 ;
9191 unsigned long __cil_tmp138 ;
9192 uint32_t *__cil_tmp139 ;
9193 uint32_t *__cil_tmp140 ;
9194 unsigned long __cil_tmp141 ;
9195 unsigned long __cil_tmp142 ;
9196 uint16_t __cil_tmp143 ;
9197 unsigned long __cil_tmp144 ;
9198 unsigned long __cil_tmp145 ;
9199 struct eun_info_t *__cil_tmp146 ;
9200 struct eun_info_t *__cil_tmp147 ;
9201 unsigned long __cil_tmp148 ;
9202 unsigned long __cil_tmp149 ;
9203 unsigned long __cil_tmp150 ;
9204 unsigned long __cil_tmp151 ;
9205 uint16_t __cil_tmp152 ;
9206 unsigned long __cil_tmp153 ;
9207 unsigned long __cil_tmp154 ;
9208 struct eun_info_t *__cil_tmp155 ;
9209 struct eun_info_t *__cil_tmp156 ;
9210 unsigned long __cil_tmp157 ;
9211 unsigned long __cil_tmp158 ;
9212 uint32_t __cil_tmp159 ;
9213
9214 {
9215 {
9216#line 911
9217 while (1) {
9218 while_continue: ;
9219 {
9220#line 911
9221 __cil_tmp18 = & descriptor___16;
9222#line 911
9223 __cil_tmp19 = __cil_tmp18->flags;
9224#line 911
9225 __cil_tmp20 = __cil_tmp19 & 1U;
9226#line 911
9227 __cil_tmp21 = ! __cil_tmp20;
9228#line 911
9229 __cil_tmp22 = ! __cil_tmp21;
9230#line 911
9231 __cil_tmp23 = (long )__cil_tmp22;
9232#line 911
9233 tmp___7 = __builtin_expect(__cil_tmp23, 0L);
9234 }
9235#line 911
9236 if (tmp___7) {
9237 {
9238#line 911
9239 __dynamic_pr_debug(& descriptor___16, "ftl_cs: ftl_write(0x%p, %ld, %ld)\n",
9240 part, sector, nblocks);
9241 }
9242 } else {
9243
9244 }
9245#line 911
9246 goto while_break;
9247 }
9248 while_break: ;
9249 }
9250 {
9251#line 913
9252 __cil_tmp24 = (unsigned long )part;
9253#line 913
9254 __cil_tmp25 = __cil_tmp24 + 208;
9255#line 913
9256 __cil_tmp26 = *((uint32_t *)__cil_tmp25);
9257#line 913
9258 __cil_tmp27 = __cil_tmp26 & 1U;
9259#line 913
9260 if (! __cil_tmp27) {
9261 {
9262#line 914
9263 printk("<5>ftl_cs: bad partition\n");
9264 }
9265#line 915
9266 return (-5);
9267 } else {
9268
9269 }
9270 }
9271 {
9272#line 918
9273 while (1) {
9274 while_continue___0: ;
9275 {
9276#line 918
9277 __cil_tmp28 = (unsigned long )part;
9278#line 918
9279 __cil_tmp29 = __cil_tmp28 + 232;
9280#line 918
9281 __cil_tmp30 = *((uint32_t *)__cil_tmp29);
9282#line 918
9283 __cil_tmp31 = (u_long )__cil_tmp30;
9284#line 918
9285 if (__cil_tmp31 < nblocks) {
9286
9287 } else {
9288#line 918
9289 goto while_break___0;
9290 }
9291 }
9292 {
9293#line 919
9294 ret = reclaim_block(part);
9295 }
9296#line 920
9297 if (ret) {
9298#line 921
9299 return (ret);
9300 } else {
9301
9302 }
9303 }
9304 while_break___0: ;
9305 }
9306#line 924
9307 __cil_tmp32 = 280 + 23;
9308#line 924
9309 __cil_tmp33 = (unsigned long )part;
9310#line 924
9311 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
9312#line 924
9313 __cil_tmp35 = *((uint8_t *)__cil_tmp34);
9314#line 924
9315 __cil_tmp36 = (int )__cil_tmp35;
9316#line 924
9317 __cil_tmp37 = 1 << __cil_tmp36;
9318#line 924
9319 bsize = (uint32_t )__cil_tmp37;
9320#line 926
9321 __cil_tmp38 = sector * 512UL;
9322#line 926
9323 __cil_tmp39 = __cil_tmp38 | 64UL;
9324#line 926
9325 virt_addr = (uint32_t )__cil_tmp39;
9326#line 927
9327 i = (u_long )0;
9328 {
9329#line 927
9330 while (1) {
9331 while_continue___1: ;
9332#line 927
9333 if (i < nblocks) {
9334
9335 } else {
9336#line 927
9337 goto while_break___1;
9338 }
9339 {
9340#line 928
9341 __cil_tmp40 = 280 + 28;
9342#line 928
9343 __cil_tmp41 = (unsigned long )part;
9344#line 928
9345 __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
9346#line 928
9347 __cil_tmp43 = *((uint32_t *)__cil_tmp42);
9348#line 928
9349 if (virt_addr >= __cil_tmp43) {
9350 {
9351#line 929
9352 printk("<5>ftl_cs: bad write offset\n");
9353 }
9354#line 930
9355 return (-5);
9356 } else {
9357
9358 }
9359 }
9360 {
9361#line 934
9362 blk = find_free(part);
9363 }
9364#line 935
9365 if (blk == 0U) {
9366#line 937
9367 ne___1 = ne___1 + 1;
9368#line 937
9369 if (ne___1 < 5) {
9370 {
9371#line 938
9372 printk("<5>ftl_cs: internal error: no free blocks!\n");
9373 }
9374 } else {
9375
9376 }
9377#line 940
9378 return (-28);
9379 } else {
9380
9381 }
9382 {
9383#line 944
9384 __cil_tmp44 = blk * 512U;
9385#line 944
9386 __cil_tmp45 = (unsigned long )part;
9387#line 944
9388 __cil_tmp46 = __cil_tmp45 + 256;
9389#line 944
9390 __cil_tmp47 = *((uint16_t *)__cil_tmp46);
9391#line 944
9392 __cil_tmp48 = (uint32_t )__cil_tmp47;
9393#line 944
9394 __cil_tmp49 = __cil_tmp48 * bsize;
9395#line 944
9396 log_addr = __cil_tmp49 + __cil_tmp44;
9397#line 945
9398 __cil_tmp50 = (unsigned long )part;
9399#line 945
9400 __cil_tmp51 = __cil_tmp50 + 256;
9401#line 945
9402 __cil_tmp52 = *((uint16_t *)__cil_tmp51);
9403#line 945
9404 __cil_tmp53 = (unsigned long )part;
9405#line 945
9406 __cil_tmp54 = __cil_tmp53 + 240;
9407#line 945
9408 __cil_tmp55 = *((struct eun_info_t **)__cil_tmp54);
9409#line 945
9410 __cil_tmp56 = __cil_tmp55 + __cil_tmp52;
9411#line 945
9412 __cil_tmp57 = (unsigned long )__cil_tmp56;
9413#line 945
9414 __cil_tmp58 = __cil_tmp57 + 8;
9415#line 945
9416 __cil_tmp59 = (unsigned long )part;
9417#line 945
9418 __cil_tmp60 = __cil_tmp59 + 256;
9419#line 945
9420 __cil_tmp61 = *((uint16_t *)__cil_tmp60);
9421#line 945
9422 __cil_tmp62 = (unsigned long )part;
9423#line 945
9424 __cil_tmp63 = __cil_tmp62 + 240;
9425#line 945
9426 __cil_tmp64 = *((struct eun_info_t **)__cil_tmp63);
9427#line 945
9428 __cil_tmp65 = __cil_tmp64 + __cil_tmp61;
9429#line 945
9430 __cil_tmp66 = (unsigned long )__cil_tmp65;
9431#line 945
9432 __cil_tmp67 = __cil_tmp66 + 8;
9433#line 945
9434 __cil_tmp68 = *((uint32_t *)__cil_tmp67);
9435#line 945
9436 *((uint32_t *)__cil_tmp58) = __cil_tmp68 - 1U;
9437#line 946
9438 __cil_tmp69 = (unsigned long )part;
9439#line 946
9440 __cil_tmp70 = __cil_tmp69 + 232;
9441#line 946
9442 __cil_tmp71 = (unsigned long )part;
9443#line 946
9444 __cil_tmp72 = __cil_tmp71 + 232;
9445#line 946
9446 __cil_tmp73 = *((uint32_t *)__cil_tmp72);
9447#line 946
9448 *((uint32_t *)__cil_tmp70) = __cil_tmp73 - 1U;
9449#line 947
9450 tmp___8 = set_bam_entry(part, log_addr, 4294967294U);
9451 }
9452#line 947
9453 if (tmp___8) {
9454#line 948
9455 return (-5);
9456 } else {
9457
9458 }
9459 {
9460#line 949
9461 __cil_tmp74 = (unsigned long )part;
9462#line 949
9463 __cil_tmp75 = __cil_tmp74 + 256;
9464#line 949
9465 __cil_tmp76 = *((uint16_t *)__cil_tmp75);
9466#line 949
9467 __cil_tmp77 = (unsigned long )part;
9468#line 949
9469 __cil_tmp78 = __cil_tmp77 + 240;
9470#line 949
9471 __cil_tmp79 = *((struct eun_info_t **)__cil_tmp78);
9472#line 949
9473 __cil_tmp80 = __cil_tmp79 + __cil_tmp76;
9474#line 949
9475 __cil_tmp81 = (unsigned long )__cil_tmp80;
9476#line 949
9477 __cil_tmp82 = __cil_tmp81 + 12;
9478#line 949
9479 __cil_tmp83 = (unsigned long )part;
9480#line 949
9481 __cil_tmp84 = __cil_tmp83 + 256;
9482#line 949
9483 __cil_tmp85 = *((uint16_t *)__cil_tmp84);
9484#line 949
9485 __cil_tmp86 = (unsigned long )part;
9486#line 949
9487 __cil_tmp87 = __cil_tmp86 + 240;
9488#line 949
9489 __cil_tmp88 = *((struct eun_info_t **)__cil_tmp87);
9490#line 949
9491 __cil_tmp89 = __cil_tmp88 + __cil_tmp85;
9492#line 949
9493 __cil_tmp90 = (unsigned long )__cil_tmp89;
9494#line 949
9495 __cil_tmp91 = __cil_tmp90 + 12;
9496#line 949
9497 __cil_tmp92 = *((uint32_t *)__cil_tmp91);
9498#line 949
9499 *((uint32_t *)__cil_tmp82) = __cil_tmp92 + 1U;
9500#line 950
9501 __cil_tmp93 = blk * 512U;
9502#line 950
9503 __cil_tmp94 = (unsigned long )part;
9504#line 950
9505 __cil_tmp95 = __cil_tmp94 + 256;
9506#line 950
9507 __cil_tmp96 = *((uint16_t *)__cil_tmp95);
9508#line 950
9509 __cil_tmp97 = (unsigned long )part;
9510#line 950
9511 __cil_tmp98 = __cil_tmp97 + 240;
9512#line 950
9513 __cil_tmp99 = *((struct eun_info_t **)__cil_tmp98);
9514#line 950
9515 __cil_tmp100 = __cil_tmp99 + __cil_tmp96;
9516#line 950
9517 __cil_tmp101 = *((uint32_t *)__cil_tmp100);
9518#line 950
9519 __cil_tmp102 = __cil_tmp101 + __cil_tmp93;
9520#line 950
9521 offset = (size_t )__cil_tmp102;
9522#line 952
9523 __cil_tmp103 = 0 + 24;
9524#line 952
9525 __cil_tmp104 = (unsigned long )part;
9526#line 952
9527 __cil_tmp105 = __cil_tmp104 + __cil_tmp103;
9528#line 952
9529 __cil_tmp106 = *((struct mtd_info **)__cil_tmp105);
9530#line 952
9531 __cil_tmp107 = (loff_t )offset;
9532#line 952
9533 __cil_tmp108 = (size_t )512;
9534#line 952
9535 __cil_tmp109 = (u_char const *)buffer;
9536#line 952
9537 ret = mtd_write(__cil_tmp106, __cil_tmp107, __cil_tmp108, & retlen, __cil_tmp109);
9538 }
9539#line 954
9540 if (ret) {
9541 {
9542#line 955
9543 printk("<5>ftl_cs: block write failed!\n");
9544#line 956
9545 printk("<5>ftl_cs: log_addr = 0x%x, virt_addr = 0x%x, Offset = 0x%zx\n", log_addr,
9546 virt_addr, offset);
9547 }
9548#line 959
9549 return (-5);
9550 } else {
9551
9552 }
9553#line 963
9554 __cil_tmp110 = sector + i;
9555#line 963
9556 __cil_tmp111 = (unsigned long )part;
9557#line 963
9558 __cil_tmp112 = __cil_tmp111 + 216;
9559#line 963
9560 __cil_tmp113 = *((uint32_t **)__cil_tmp112);
9561#line 963
9562 __cil_tmp114 = __cil_tmp113 + __cil_tmp110;
9563#line 963
9564 old_addr = *__cil_tmp114;
9565#line 964
9566 if (old_addr != 4294967295U) {
9567 {
9568#line 965
9569 __cil_tmp115 = sector + i;
9570#line 965
9571 __cil_tmp116 = (unsigned long )part;
9572#line 965
9573 __cil_tmp117 = __cil_tmp116 + 216;
9574#line 965
9575 __cil_tmp118 = *((uint32_t **)__cil_tmp117);
9576#line 965
9577 __cil_tmp119 = __cil_tmp118 + __cil_tmp115;
9578#line 965
9579 *__cil_tmp119 = 4294967295U;
9580#line 966
9581 __cil_tmp120 = old_addr / bsize;
9582#line 966
9583 __cil_tmp121 = (unsigned long )part;
9584#line 966
9585 __cil_tmp122 = __cil_tmp121 + 240;
9586#line 966
9587 __cil_tmp123 = *((struct eun_info_t **)__cil_tmp122);
9588#line 966
9589 __cil_tmp124 = __cil_tmp123 + __cil_tmp120;
9590#line 966
9591 __cil_tmp125 = (unsigned long )__cil_tmp124;
9592#line 966
9593 __cil_tmp126 = __cil_tmp125 + 12;
9594#line 966
9595 __cil_tmp127 = old_addr / bsize;
9596#line 966
9597 __cil_tmp128 = (unsigned long )part;
9598#line 966
9599 __cil_tmp129 = __cil_tmp128 + 240;
9600#line 966
9601 __cil_tmp130 = *((struct eun_info_t **)__cil_tmp129);
9602#line 966
9603 __cil_tmp131 = __cil_tmp130 + __cil_tmp127;
9604#line 966
9605 __cil_tmp132 = (unsigned long )__cil_tmp131;
9606#line 966
9607 __cil_tmp133 = __cil_tmp132 + 12;
9608#line 966
9609 __cil_tmp134 = *((uint32_t *)__cil_tmp133);
9610#line 966
9611 *((uint32_t *)__cil_tmp126) = __cil_tmp134 + 1U;
9612#line 967
9613 __cil_tmp135 = (uint32_t )0;
9614#line 967
9615 tmp___9 = set_bam_entry(part, old_addr, __cil_tmp135);
9616 }
9617#line 967
9618 if (tmp___9) {
9619#line 968
9620 return (-5);
9621 } else {
9622
9623 }
9624 } else {
9625
9626 }
9627 {
9628#line 972
9629 tmp___10 = set_bam_entry(part, log_addr, virt_addr);
9630 }
9631#line 972
9632 if (tmp___10) {
9633#line 973
9634 return (-5);
9635 } else {
9636
9637 }
9638#line 974
9639 __cil_tmp136 = sector + i;
9640#line 974
9641 __cil_tmp137 = (unsigned long )part;
9642#line 974
9643 __cil_tmp138 = __cil_tmp137 + 216;
9644#line 974
9645 __cil_tmp139 = *((uint32_t **)__cil_tmp138);
9646#line 974
9647 __cil_tmp140 = __cil_tmp139 + __cil_tmp136;
9648#line 974
9649 *__cil_tmp140 = log_addr;
9650#line 975
9651 __cil_tmp141 = (unsigned long )part;
9652#line 975
9653 __cil_tmp142 = __cil_tmp141 + 256;
9654#line 975
9655 __cil_tmp143 = *((uint16_t *)__cil_tmp142);
9656#line 975
9657 __cil_tmp144 = (unsigned long )part;
9658#line 975
9659 __cil_tmp145 = __cil_tmp144 + 240;
9660#line 975
9661 __cil_tmp146 = *((struct eun_info_t **)__cil_tmp145);
9662#line 975
9663 __cil_tmp147 = __cil_tmp146 + __cil_tmp143;
9664#line 975
9665 __cil_tmp148 = (unsigned long )__cil_tmp147;
9666#line 975
9667 __cil_tmp149 = __cil_tmp148 + 12;
9668#line 975
9669 __cil_tmp150 = (unsigned long )part;
9670#line 975
9671 __cil_tmp151 = __cil_tmp150 + 256;
9672#line 975
9673 __cil_tmp152 = *((uint16_t *)__cil_tmp151);
9674#line 975
9675 __cil_tmp153 = (unsigned long )part;
9676#line 975
9677 __cil_tmp154 = __cil_tmp153 + 240;
9678#line 975
9679 __cil_tmp155 = *((struct eun_info_t **)__cil_tmp154);
9680#line 975
9681 __cil_tmp156 = __cil_tmp155 + __cil_tmp152;
9682#line 975
9683 __cil_tmp157 = (unsigned long )__cil_tmp156;
9684#line 975
9685 __cil_tmp158 = __cil_tmp157 + 12;
9686#line 975
9687 __cil_tmp159 = *((uint32_t *)__cil_tmp158);
9688#line 975
9689 *((uint32_t *)__cil_tmp149) = __cil_tmp159 - 1U;
9690#line 977
9691 buffer = buffer + 512;
9692#line 978
9693 virt_addr = virt_addr + 512U;
9694#line 927
9695 i = i + 1UL;
9696 }
9697 while_break___1: ;
9698 }
9699#line 980
9700 return (0);
9701}
9702}
9703#line 983 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9704static int ftl_getgeo(struct mtd_blktrans_dev *dev , struct hd_geometry *geo )
9705{ partition_t *part ;
9706 u_long sect ;
9707 void *__cil_tmp5 ;
9708 unsigned long __cil_tmp6 ;
9709 unsigned long __cil_tmp7 ;
9710 unsigned long __cil_tmp8 ;
9711 uint32_t __cil_tmp9 ;
9712 __u32 __cil_tmp10 ;
9713 unsigned long __cil_tmp11 ;
9714 unsigned long __cil_tmp12 ;
9715 unsigned long __cil_tmp13 ;
9716 unsigned long __cil_tmp14 ;
9717 u_long __cil_tmp15 ;
9718
9719 {
9720#line 985
9721 __cil_tmp5 = (void *)dev;
9722#line 985
9723 part = (partition_t *)__cil_tmp5;
9724#line 989
9725 __cil_tmp6 = 280 + 28;
9726#line 989
9727 __cil_tmp7 = (unsigned long )part;
9728#line 989
9729 __cil_tmp8 = __cil_tmp7 + __cil_tmp6;
9730#line 989
9731 __cil_tmp9 = *((uint32_t *)__cil_tmp8);
9732#line 989
9733 __cil_tmp10 = __cil_tmp9 / 512U;
9734#line 989
9735 sect = (u_long )__cil_tmp10;
9736#line 991
9737 *((unsigned char *)geo) = (unsigned char)1;
9738#line 992
9739 __cil_tmp11 = (unsigned long )geo;
9740#line 992
9741 __cil_tmp12 = __cil_tmp11 + 1;
9742#line 992
9743 *((unsigned char *)__cil_tmp12) = (unsigned char)8;
9744#line 993
9745 __cil_tmp13 = (unsigned long )geo;
9746#line 993
9747 __cil_tmp14 = __cil_tmp13 + 2;
9748#line 993
9749 __cil_tmp15 = sect >> 3;
9750#line 993
9751 *((unsigned short *)__cil_tmp14) = (unsigned short )__cil_tmp15;
9752#line 995
9753 return (0);
9754}
9755}
9756#line 998 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9757static int ftl_readsect(struct mtd_blktrans_dev *dev , unsigned long block , char *buf )
9758{ int tmp___7 ;
9759 void *__cil_tmp5 ;
9760 partition_t *__cil_tmp6 ;
9761 u_long __cil_tmp7 ;
9762
9763 {
9764 {
9765#line 1001
9766 __cil_tmp5 = (void *)dev;
9767#line 1001
9768 __cil_tmp6 = (partition_t *)__cil_tmp5;
9769#line 1001
9770 __cil_tmp7 = (u_long )1;
9771#line 1001
9772 tmp___7 = ftl_read(__cil_tmp6, buf, block, __cil_tmp7);
9773 }
9774#line 1001
9775 return (tmp___7);
9776}
9777}
9778#line 1004 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9779static int ftl_writesect(struct mtd_blktrans_dev *dev , unsigned long block , char *buf )
9780{ int tmp___7 ;
9781 void *__cil_tmp5 ;
9782 partition_t *__cil_tmp6 ;
9783 u_long __cil_tmp7 ;
9784
9785 {
9786 {
9787#line 1007
9788 __cil_tmp5 = (void *)dev;
9789#line 1007
9790 __cil_tmp6 = (partition_t *)__cil_tmp5;
9791#line 1007
9792 __cil_tmp7 = (u_long )1;
9793#line 1007
9794 tmp___7 = ftl_write(__cil_tmp6, buf, block, __cil_tmp7);
9795 }
9796#line 1007
9797 return (tmp___7);
9798}
9799}
9800#line 1016
9801static int ftl_discardsect(struct mtd_blktrans_dev *dev , unsigned long sector , unsigned int nr_sects ) ;
9802#line 1016 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9803static struct _ddebug __attribute__((__aligned__(8))) descriptor___17 __attribute__((__used__,
9804__section__("__verbose"))) = {"ftl", "ftl_discardsect", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c",
9805 "FTL erase sector %ld for %d sectors\n", 1017U, 0U};
9806#line 1010 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9807static int ftl_discardsect(struct mtd_blktrans_dev *dev , unsigned long sector , unsigned int nr_sects )
9808{ partition_t *part ;
9809 uint32_t bsize ;
9810 long tmp___7 ;
9811 uint32_t old_addr ;
9812 int tmp___8 ;
9813 void *__cil_tmp9 ;
9814 unsigned long __cil_tmp10 ;
9815 unsigned long __cil_tmp11 ;
9816 unsigned long __cil_tmp12 ;
9817 uint8_t __cil_tmp13 ;
9818 int __cil_tmp14 ;
9819 int __cil_tmp15 ;
9820 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp16 ;
9821 unsigned int __cil_tmp17 ;
9822 unsigned int __cil_tmp18 ;
9823 int __cil_tmp19 ;
9824 int __cil_tmp20 ;
9825 long __cil_tmp21 ;
9826 unsigned long __cil_tmp22 ;
9827 unsigned long __cil_tmp23 ;
9828 uint32_t *__cil_tmp24 ;
9829 uint32_t *__cil_tmp25 ;
9830 unsigned long __cil_tmp26 ;
9831 unsigned long __cil_tmp27 ;
9832 uint32_t *__cil_tmp28 ;
9833 uint32_t *__cil_tmp29 ;
9834 uint32_t __cil_tmp30 ;
9835 unsigned long __cil_tmp31 ;
9836 unsigned long __cil_tmp32 ;
9837 struct eun_info_t *__cil_tmp33 ;
9838 struct eun_info_t *__cil_tmp34 ;
9839 unsigned long __cil_tmp35 ;
9840 unsigned long __cil_tmp36 ;
9841 uint32_t __cil_tmp37 ;
9842 unsigned long __cil_tmp38 ;
9843 unsigned long __cil_tmp39 ;
9844 struct eun_info_t *__cil_tmp40 ;
9845 struct eun_info_t *__cil_tmp41 ;
9846 unsigned long __cil_tmp42 ;
9847 unsigned long __cil_tmp43 ;
9848 uint32_t __cil_tmp44 ;
9849 uint32_t __cil_tmp45 ;
9850
9851 {
9852#line 1013
9853 __cil_tmp9 = (void *)dev;
9854#line 1013
9855 part = (partition_t *)__cil_tmp9;
9856#line 1014
9857 __cil_tmp10 = 280 + 23;
9858#line 1014
9859 __cil_tmp11 = (unsigned long )part;
9860#line 1014
9861 __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
9862#line 1014
9863 __cil_tmp13 = *((uint8_t *)__cil_tmp12);
9864#line 1014
9865 __cil_tmp14 = (int )__cil_tmp13;
9866#line 1014
9867 __cil_tmp15 = 1 << __cil_tmp14;
9868#line 1014
9869 bsize = (uint32_t )__cil_tmp15;
9870 {
9871#line 1016
9872 while (1) {
9873 while_continue: ;
9874 {
9875#line 1016
9876 __cil_tmp16 = & descriptor___17;
9877#line 1016
9878 __cil_tmp17 = __cil_tmp16->flags;
9879#line 1016
9880 __cil_tmp18 = __cil_tmp17 & 1U;
9881#line 1016
9882 __cil_tmp19 = ! __cil_tmp18;
9883#line 1016
9884 __cil_tmp20 = ! __cil_tmp19;
9885#line 1016
9886 __cil_tmp21 = (long )__cil_tmp20;
9887#line 1016
9888 tmp___7 = __builtin_expect(__cil_tmp21, 0L);
9889 }
9890#line 1016
9891 if (tmp___7) {
9892 {
9893#line 1016
9894 __dynamic_pr_debug(& descriptor___17, "FTL erase sector %ld for %d sectors\n",
9895 sector, nr_sects);
9896 }
9897 } else {
9898
9899 }
9900#line 1016
9901 goto while_break;
9902 }
9903 while_break: ;
9904 }
9905 {
9906#line 1019
9907 while (1) {
9908 while_continue___0: ;
9909#line 1019
9910 if (nr_sects) {
9911
9912 } else {
9913#line 1019
9914 goto while_break___0;
9915 }
9916#line 1020
9917 __cil_tmp22 = (unsigned long )part;
9918#line 1020
9919 __cil_tmp23 = __cil_tmp22 + 216;
9920#line 1020
9921 __cil_tmp24 = *((uint32_t **)__cil_tmp23);
9922#line 1020
9923 __cil_tmp25 = __cil_tmp24 + sector;
9924#line 1020
9925 old_addr = *__cil_tmp25;
9926#line 1021
9927 if (old_addr != 4294967295U) {
9928 {
9929#line 1022
9930 __cil_tmp26 = (unsigned long )part;
9931#line 1022
9932 __cil_tmp27 = __cil_tmp26 + 216;
9933#line 1022
9934 __cil_tmp28 = *((uint32_t **)__cil_tmp27);
9935#line 1022
9936 __cil_tmp29 = __cil_tmp28 + sector;
9937#line 1022
9938 *__cil_tmp29 = 4294967295U;
9939#line 1023
9940 __cil_tmp30 = old_addr / bsize;
9941#line 1023
9942 __cil_tmp31 = (unsigned long )part;
9943#line 1023
9944 __cil_tmp32 = __cil_tmp31 + 240;
9945#line 1023
9946 __cil_tmp33 = *((struct eun_info_t **)__cil_tmp32);
9947#line 1023
9948 __cil_tmp34 = __cil_tmp33 + __cil_tmp30;
9949#line 1023
9950 __cil_tmp35 = (unsigned long )__cil_tmp34;
9951#line 1023
9952 __cil_tmp36 = __cil_tmp35 + 12;
9953#line 1023
9954 __cil_tmp37 = old_addr / bsize;
9955#line 1023
9956 __cil_tmp38 = (unsigned long )part;
9957#line 1023
9958 __cil_tmp39 = __cil_tmp38 + 240;
9959#line 1023
9960 __cil_tmp40 = *((struct eun_info_t **)__cil_tmp39);
9961#line 1023
9962 __cil_tmp41 = __cil_tmp40 + __cil_tmp37;
9963#line 1023
9964 __cil_tmp42 = (unsigned long )__cil_tmp41;
9965#line 1023
9966 __cil_tmp43 = __cil_tmp42 + 12;
9967#line 1023
9968 __cil_tmp44 = *((uint32_t *)__cil_tmp43);
9969#line 1023
9970 *((uint32_t *)__cil_tmp36) = __cil_tmp44 + 1U;
9971#line 1024
9972 __cil_tmp45 = (uint32_t )0;
9973#line 1024
9974 tmp___8 = set_bam_entry(part, old_addr, __cil_tmp45);
9975 }
9976#line 1024
9977 if (tmp___8) {
9978#line 1025
9979 return (-5);
9980 } else {
9981
9982 }
9983 } else {
9984
9985 }
9986#line 1027
9987 nr_sects = nr_sects - 1U;
9988#line 1028
9989 sector = sector + 1UL;
9990 }
9991 while_break___0: ;
9992 }
9993#line 1031
9994 return (0);
9995}
9996}
9997#line 1035 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
9998static void ftl_freepart(partition_t *part )
9999{ unsigned long __cil_tmp2 ;
10000 unsigned long __cil_tmp3 ;
10001 uint32_t *__cil_tmp4 ;
10002 void const *__cil_tmp5 ;
10003 unsigned long __cil_tmp6 ;
10004 unsigned long __cil_tmp7 ;
10005 void *__cil_tmp8 ;
10006 unsigned long __cil_tmp9 ;
10007 unsigned long __cil_tmp10 ;
10008 uint32_t *__cil_tmp11 ;
10009 void const *__cil_tmp12 ;
10010 unsigned long __cil_tmp13 ;
10011 unsigned long __cil_tmp14 ;
10012 void *__cil_tmp15 ;
10013 unsigned long __cil_tmp16 ;
10014 unsigned long __cil_tmp17 ;
10015 struct eun_info_t *__cil_tmp18 ;
10016 void const *__cil_tmp19 ;
10017 unsigned long __cil_tmp20 ;
10018 unsigned long __cil_tmp21 ;
10019 void *__cil_tmp22 ;
10020 unsigned long __cil_tmp23 ;
10021 unsigned long __cil_tmp24 ;
10022 struct xfer_info_t *__cil_tmp25 ;
10023 void const *__cil_tmp26 ;
10024 unsigned long __cil_tmp27 ;
10025 unsigned long __cil_tmp28 ;
10026 void *__cil_tmp29 ;
10027 unsigned long __cil_tmp30 ;
10028 unsigned long __cil_tmp31 ;
10029 uint32_t *__cil_tmp32 ;
10030 void const *__cil_tmp33 ;
10031 unsigned long __cil_tmp34 ;
10032 unsigned long __cil_tmp35 ;
10033 void *__cil_tmp36 ;
10034
10035 {
10036 {
10037#line 1037
10038 __cil_tmp2 = (unsigned long )part;
10039#line 1037
10040 __cil_tmp3 = __cil_tmp2 + 216;
10041#line 1037
10042 __cil_tmp4 = *((uint32_t **)__cil_tmp3);
10043#line 1037
10044 __cil_tmp5 = (void const *)__cil_tmp4;
10045#line 1037
10046 vfree(__cil_tmp5);
10047#line 1038
10048 __cil_tmp6 = (unsigned long )part;
10049#line 1038
10050 __cil_tmp7 = __cil_tmp6 + 216;
10051#line 1038
10052 __cil_tmp8 = (void *)0;
10053#line 1038
10054 *((uint32_t **)__cil_tmp7) = (uint32_t *)__cil_tmp8;
10055#line 1039
10056 __cil_tmp9 = (unsigned long )part;
10057#line 1039
10058 __cil_tmp10 = __cil_tmp9 + 224;
10059#line 1039
10060 __cil_tmp11 = *((uint32_t **)__cil_tmp10);
10061#line 1039
10062 __cil_tmp12 = (void const *)__cil_tmp11;
10063#line 1039
10064 kfree(__cil_tmp12);
10065#line 1040
10066 __cil_tmp13 = (unsigned long )part;
10067#line 1040
10068 __cil_tmp14 = __cil_tmp13 + 224;
10069#line 1040
10070 __cil_tmp15 = (void *)0;
10071#line 1040
10072 *((uint32_t **)__cil_tmp14) = (uint32_t *)__cil_tmp15;
10073#line 1041
10074 __cil_tmp16 = (unsigned long )part;
10075#line 1041
10076 __cil_tmp17 = __cil_tmp16 + 240;
10077#line 1041
10078 __cil_tmp18 = *((struct eun_info_t **)__cil_tmp17);
10079#line 1041
10080 __cil_tmp19 = (void const *)__cil_tmp18;
10081#line 1041
10082 kfree(__cil_tmp19);
10083#line 1042
10084 __cil_tmp20 = (unsigned long )part;
10085#line 1042
10086 __cil_tmp21 = __cil_tmp20 + 240;
10087#line 1042
10088 __cil_tmp22 = (void *)0;
10089#line 1042
10090 *((struct eun_info_t **)__cil_tmp21) = (struct eun_info_t *)__cil_tmp22;
10091#line 1043
10092 __cil_tmp23 = (unsigned long )part;
10093#line 1043
10094 __cil_tmp24 = __cil_tmp23 + 248;
10095#line 1043
10096 __cil_tmp25 = *((struct xfer_info_t **)__cil_tmp24);
10097#line 1043
10098 __cil_tmp26 = (void const *)__cil_tmp25;
10099#line 1043
10100 kfree(__cil_tmp26);
10101#line 1044
10102 __cil_tmp27 = (unsigned long )part;
10103#line 1044
10104 __cil_tmp28 = __cil_tmp27 + 248;
10105#line 1044
10106 __cil_tmp29 = (void *)0;
10107#line 1044
10108 *((struct xfer_info_t **)__cil_tmp28) = (struct xfer_info_t *)__cil_tmp29;
10109#line 1045
10110 __cil_tmp30 = (unsigned long )part;
10111#line 1045
10112 __cil_tmp31 = __cil_tmp30 + 264;
10113#line 1045
10114 __cil_tmp32 = *((uint32_t **)__cil_tmp31);
10115#line 1045
10116 __cil_tmp33 = (void const *)__cil_tmp32;
10117#line 1045
10118 kfree(__cil_tmp33);
10119#line 1046
10120 __cil_tmp34 = (unsigned long )part;
10121#line 1046
10122 __cil_tmp35 = __cil_tmp34 + 264;
10123#line 1046
10124 __cil_tmp36 = (void *)0;
10125#line 1046
10126 *((uint32_t **)__cil_tmp35) = (uint32_t *)__cil_tmp36;
10127 }
10128#line 1047
10129 return;
10130}
10131}
10132#line 1049 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10133static void ftl_add_mtd(struct mtd_blktrans_ops *tr , struct mtd_info *mtd )
10134{ partition_t *partition ;
10135 void *tmp___7 ;
10136 int tmp___8 ;
10137 int tmp___9 ;
10138 int tmp___10 ;
10139 unsigned long __cil_tmp8 ;
10140 unsigned long __cil_tmp9 ;
10141 char const *__cil_tmp10 ;
10142 unsigned long __cil_tmp11 ;
10143 unsigned long __cil_tmp12 ;
10144 unsigned long __cil_tmp13 ;
10145 unsigned long __cil_tmp14 ;
10146 unsigned long __cil_tmp15 ;
10147 unsigned long __cil_tmp16 ;
10148 unsigned long __cil_tmp17 ;
10149 unsigned long __cil_tmp18 ;
10150 unsigned long __cil_tmp19 ;
10151 unsigned long __cil_tmp20 ;
10152 unsigned long __cil_tmp21 ;
10153 uint32_t __cil_tmp22 ;
10154 __u32 __cil_tmp23 ;
10155 unsigned long __cil_tmp24 ;
10156 unsigned long __cil_tmp25 ;
10157 unsigned long __cil_tmp26 ;
10158 void *__cil_tmp27 ;
10159 struct mtd_blktrans_dev *__cil_tmp28 ;
10160 void const *__cil_tmp29 ;
10161
10162 {
10163 {
10164#line 1053
10165 tmp___7 = kzalloc(352UL, 208U);
10166#line 1053
10167 partition = (partition_t *)tmp___7;
10168 }
10169#line 1055
10170 if (! partition) {
10171 {
10172#line 1056
10173 __cil_tmp8 = (unsigned long )mtd;
10174#line 1056
10175 __cil_tmp9 = __cil_tmp8 + 56;
10176#line 1056
10177 __cil_tmp10 = *((char const **)__cil_tmp9);
10178#line 1056
10179 printk("<4>No memory to scan for FTL on %s\n", __cil_tmp10);
10180 }
10181#line 1058
10182 return;
10183 } else {
10184
10185 }
10186 {
10187#line 1061
10188 __cil_tmp11 = 0 + 24;
10189#line 1061
10190 __cil_tmp12 = (unsigned long )partition;
10191#line 1061
10192 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
10193#line 1061
10194 *((struct mtd_info **)__cil_tmp13) = mtd;
10195#line 1063
10196 tmp___9 = scan_header(partition);
10197 }
10198#line 1063
10199 if (tmp___9 == 0) {
10200 {
10201#line 1063
10202 tmp___10 = build_maps(partition);
10203 }
10204#line 1063
10205 if (tmp___10 == 0) {
10206 {
10207#line 1066
10208 __cil_tmp14 = (unsigned long )partition;
10209#line 1066
10210 __cil_tmp15 = __cil_tmp14 + 208;
10211#line 1066
10212 *((uint32_t *)__cil_tmp15) = (uint32_t )1;
10213#line 1071
10214 __cil_tmp16 = 0 + 112;
10215#line 1071
10216 __cil_tmp17 = (unsigned long )partition;
10217#line 1071
10218 __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
10219#line 1071
10220 __cil_tmp19 = 280 + 28;
10221#line 1071
10222 __cil_tmp20 = (unsigned long )partition;
10223#line 1071
10224 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
10225#line 1071
10226 __cil_tmp22 = *((uint32_t *)__cil_tmp21);
10227#line 1071
10228 __cil_tmp23 = __cil_tmp22 >> 9;
10229#line 1071
10230 *((unsigned long *)__cil_tmp18) = (unsigned long )__cil_tmp23;
10231#line 1073
10232 *((struct mtd_blktrans_ops **)partition) = tr;
10233#line 1074
10234 __cil_tmp24 = 0 + 104;
10235#line 1074
10236 __cil_tmp25 = (unsigned long )partition;
10237#line 1074
10238 __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
10239#line 1074
10240 *((int *)__cil_tmp26) = -1;
10241#line 1075
10242 __cil_tmp27 = (void *)partition;
10243#line 1075
10244 __cil_tmp28 = (struct mtd_blktrans_dev *)__cil_tmp27;
10245#line 1075
10246 tmp___8 = add_mtd_blktrans_dev(__cil_tmp28);
10247 }
10248#line 1075
10249 if (tmp___8) {
10250
10251 } else {
10252#line 1076
10253 return;
10254 }
10255 } else {
10256
10257 }
10258 } else {
10259
10260 }
10261 {
10262#line 1079
10263 ftl_freepart(partition);
10264#line 1080
10265 __cil_tmp29 = (void const *)partition;
10266#line 1080
10267 kfree(__cil_tmp29);
10268 }
10269#line 1081
10270 return;
10271}
10272}
10273#line 1083 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10274static void ftl_remove_dev(struct mtd_blktrans_dev *dev )
10275{ partition_t *__cil_tmp2 ;
10276
10277 {
10278 {
10279#line 1085
10280 del_mtd_blktrans_dev(dev);
10281#line 1086
10282 __cil_tmp2 = (partition_t *)dev;
10283#line 1086
10284 ftl_freepart(__cil_tmp2);
10285 }
10286#line 1087
10287 return;
10288}
10289}
10290#line 1089 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10291static struct mtd_blktrans_ops ftl_tr =
10292#line 1089
10293 {(char *)"ftl", 44, 4, 512, 0, & ftl_readsect, & ftl_writesect, & ftl_discardsect,
10294 (void (*)(struct mtd_blktrans_dev *dev ))0, & ftl_getgeo, (int (*)(struct mtd_blktrans_dev *dev ))0,
10295 (int (*)(struct mtd_blktrans_dev *dev ))0, (int (*)(struct mtd_blktrans_dev *dev ))0,
10296 & ftl_add_mtd, & ftl_remove_dev, {(struct list_head *)0, (struct list_head *)0},
10297 {(struct list_head *)0, (struct list_head *)0}, & __this_module};
10298#line 1103
10299static int init_ftl(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
10300#line 1103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10301static int init_ftl(void)
10302{ int tmp___7 ;
10303
10304 {
10305 {
10306#line 1105
10307 tmp___7 = register_mtd_blktrans(& ftl_tr);
10308 }
10309#line 1105
10310 return (tmp___7);
10311}
10312}
10313#line 1108
10314static void cleanup_ftl(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
10315#line 1108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10316static void cleanup_ftl(void)
10317{
10318
10319 {
10320 {
10321#line 1110
10322 deregister_mtd_blktrans(& ftl_tr);
10323 }
10324#line 1111
10325 return;
10326}
10327}
10328#line 1113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10329int init_module(void)
10330{ int tmp___7 ;
10331
10332 {
10333 {
10334#line 1113
10335 tmp___7 = init_ftl();
10336 }
10337#line 1113
10338 return (tmp___7);
10339}
10340}
10341#line 1114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10342void cleanup_module(void)
10343{
10344
10345 {
10346 {
10347#line 1114
10348 cleanup_ftl();
10349 }
10350#line 1114
10351 return;
10352}
10353}
10354#line 1117 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10355static char const __mod_license1117[21] __attribute__((__used__, __unused__, __section__(".modinfo"),
10356__aligned__(1))) =
10357#line 1117
10358 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
10359 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
10360 (char const )'D', (char const )'u', (char const )'a', (char const )'l',
10361 (char const )' ', (char const )'M', (char const )'P', (char const )'L',
10362 (char const )'/', (char const )'G', (char const )'P', (char const )'L',
10363 (char const )'\000'};
10364#line 1118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10365static char const __mod_author1118[51] __attribute__((__used__, __unused__, __section__(".modinfo"),
10366__aligned__(1))) =
10367#line 1118
10368 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
10369 (char const )'o', (char const )'r', (char const )'=', (char const )'D',
10370 (char const )'a', (char const )'v', (char const )'i', (char const )'d',
10371 (char const )' ', (char const )'H', (char const )'i', (char const )'n',
10372 (char const )'d', (char const )'s', (char const )' ', (char const )'<',
10373 (char const )'d', (char const )'a', (char const )'h', (char const )'i',
10374 (char const )'n', (char const )'d', (char const )'s', (char const )'@',
10375 (char const )'u', (char const )'s', (char const )'e', (char const )'r',
10376 (char const )'s', (char const )'.', (char const )'s', (char const )'o',
10377 (char const )'u', (char const )'r', (char const )'c', (char const )'e',
10378 (char const )'f', (char const )'o', (char const )'r', (char const )'g',
10379 (char const )'e', (char const )'.', (char const )'n', (char const )'e',
10380 (char const )'t', (char const )'>', (char const )'\000'};
10381#line 1119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10382static char const __mod_description1119[77] __attribute__((__used__, __unused__,
10383__section__(".modinfo"), __aligned__(1))) =
10384#line 1119
10385 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
10386 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
10387 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
10388 (char const )'S', (char const )'u', (char const )'p', (char const )'p',
10389 (char const )'o', (char const )'r', (char const )'t', (char const )' ',
10390 (char const )'c', (char const )'o', (char const )'d', (char const )'e',
10391 (char const )' ', (char const )'f', (char const )'o', (char const )'r',
10392 (char const )' ', (char const )'F', (char const )'l', (char const )'a',
10393 (char const )'s', (char const )'h', (char const )' ', (char const )'T',
10394 (char const )'r', (char const )'a', (char const )'n', (char const )'s',
10395 (char const )'l', (char const )'a', (char const )'t', (char const )'i',
10396 (char const )'o', (char const )'n', (char const )' ', (char const )'L',
10397 (char const )'a', (char const )'y', (char const )'e', (char const )'r',
10398 (char const )',', (char const )' ', (char const )'u', (char const )'s',
10399 (char const )'e', (char const )'d', (char const )' ', (char const )'o',
10400 (char const )'n', (char const )' ', (char const )'P', (char const )'C',
10401 (char const )'M', (char const )'C', (char const )'I', (char const )'A',
10402 (char const )' ', (char const )'d', (char const )'e', (char const )'v',
10403 (char const )'i', (char const )'c', (char const )'e', (char const )'s',
10404 (char const )'\000'};
10405#line 1137
10406void ldv_check_final_state(void) ;
10407#line 1143
10408extern void ldv_initialize(void) ;
10409#line 1146
10410extern int __VERIFIER_nondet_int(void) ;
10411#line 1149 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10412int LDV_IN_INTERRUPT ;
10413#line 1152 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10414void main(void)
10415{ struct mtd_blktrans_dev *var_group1 ;
10416 unsigned long var_ftl_readsect_13_p1 ;
10417 char *var_ftl_readsect_13_p2 ;
10418 unsigned long var_ftl_writesect_14_p1 ;
10419 char *var_ftl_writesect_14_p2 ;
10420 unsigned long var_ftl_discardsect_15_p1 ;
10421 unsigned int var_ftl_discardsect_15_p2 ;
10422 struct hd_geometry *var_group2 ;
10423 struct mtd_blktrans_ops *var_group3 ;
10424 struct mtd_info *var_group4 ;
10425 int tmp___7 ;
10426 int tmp___8 ;
10427 int tmp___9 ;
10428
10429 {
10430 {
10431#line 1366
10432 LDV_IN_INTERRUPT = 1;
10433#line 1375
10434 ldv_initialize();
10435#line 1408
10436 tmp___7 = init_ftl();
10437 }
10438#line 1408
10439 if (tmp___7) {
10440#line 1409
10441 goto ldv_final;
10442 } else {
10443
10444 }
10445 {
10446#line 1413
10447 while (1) {
10448 while_continue: ;
10449 {
10450#line 1413
10451 tmp___9 = __VERIFIER_nondet_int();
10452 }
10453#line 1413
10454 if (tmp___9) {
10455
10456 } else {
10457#line 1413
10458 goto while_break;
10459 }
10460 {
10461#line 1416
10462 tmp___8 = __VERIFIER_nondet_int();
10463 }
10464#line 1418
10465 if (tmp___8 == 0) {
10466#line 1418
10467 goto case_0;
10468 } else
10469#line 1463
10470 if (tmp___8 == 1) {
10471#line 1463
10472 goto case_1;
10473 } else
10474#line 1508
10475 if (tmp___8 == 2) {
10476#line 1508
10477 goto case_2;
10478 } else
10479#line 1553
10480 if (tmp___8 == 3) {
10481#line 1553
10482 goto case_3;
10483 } else
10484#line 1598
10485 if (tmp___8 == 4) {
10486#line 1598
10487 goto case_4;
10488 } else
10489#line 1639
10490 if (tmp___8 == 5) {
10491#line 1639
10492 goto case_5;
10493 } else {
10494 {
10495#line 1682
10496 goto switch_default;
10497#line 1416
10498 if (0) {
10499 case_0:
10500 {
10501#line 1451
10502 ftl_readsect(var_group1, var_ftl_readsect_13_p1, var_ftl_readsect_13_p2);
10503 }
10504#line 1462
10505 goto switch_break;
10506 case_1:
10507 {
10508#line 1496
10509 ftl_writesect(var_group1, var_ftl_writesect_14_p1, var_ftl_writesect_14_p2);
10510 }
10511#line 1507
10512 goto switch_break;
10513 case_2:
10514 {
10515#line 1541
10516 ftl_discardsect(var_group1, var_ftl_discardsect_15_p1, var_ftl_discardsect_15_p2);
10517 }
10518#line 1552
10519 goto switch_break;
10520 case_3:
10521 {
10522#line 1586
10523 ftl_getgeo(var_group1, var_group2);
10524 }
10525#line 1597
10526 goto switch_break;
10527 case_4:
10528 {
10529#line 1631
10530 ftl_add_mtd(var_group3, var_group4);
10531 }
10532#line 1638
10533 goto switch_break;
10534 case_5:
10535 {
10536#line 1674
10537 ftl_remove_dev(var_group1);
10538 }
10539#line 1681
10540 goto switch_break;
10541 switch_default:
10542#line 1682
10543 goto switch_break;
10544 } else {
10545 switch_break: ;
10546 }
10547 }
10548 }
10549 }
10550 while_break: ;
10551 }
10552 {
10553#line 1721
10554 cleanup_ftl();
10555 }
10556 ldv_final:
10557 {
10558#line 1724
10559 ldv_check_final_state();
10560 }
10561#line 1727
10562 return;
10563}
10564}
10565#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
10566void ldv_blast_assert(void)
10567{
10568
10569 {
10570 ERROR:
10571#line 6
10572 goto ERROR;
10573}
10574}
10575#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
10576extern int __VERIFIER_nondet_int(void) ;
10577#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10578int ldv_mutex = 1;
10579#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10580int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
10581{ int nondetermined ;
10582
10583 {
10584#line 29
10585 if (ldv_mutex == 1) {
10586
10587 } else {
10588 {
10589#line 29
10590 ldv_blast_assert();
10591 }
10592 }
10593 {
10594#line 32
10595 nondetermined = __VERIFIER_nondet_int();
10596 }
10597#line 35
10598 if (nondetermined) {
10599#line 38
10600 ldv_mutex = 2;
10601#line 40
10602 return (0);
10603 } else {
10604#line 45
10605 return (-4);
10606 }
10607}
10608}
10609#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10610int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
10611{ int nondetermined ;
10612
10613 {
10614#line 57
10615 if (ldv_mutex == 1) {
10616
10617 } else {
10618 {
10619#line 57
10620 ldv_blast_assert();
10621 }
10622 }
10623 {
10624#line 60
10625 nondetermined = __VERIFIER_nondet_int();
10626 }
10627#line 63
10628 if (nondetermined) {
10629#line 66
10630 ldv_mutex = 2;
10631#line 68
10632 return (0);
10633 } else {
10634#line 73
10635 return (-4);
10636 }
10637}
10638}
10639#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10640int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
10641{ int atomic_value_after_dec ;
10642
10643 {
10644#line 83
10645 if (ldv_mutex == 1) {
10646
10647 } else {
10648 {
10649#line 83
10650 ldv_blast_assert();
10651 }
10652 }
10653 {
10654#line 86
10655 atomic_value_after_dec = __VERIFIER_nondet_int();
10656 }
10657#line 89
10658 if (atomic_value_after_dec == 0) {
10659#line 92
10660 ldv_mutex = 2;
10661#line 94
10662 return (1);
10663 } else {
10664
10665 }
10666#line 98
10667 return (0);
10668}
10669}
10670#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10671void mutex_lock(struct mutex *lock )
10672{
10673
10674 {
10675#line 108
10676 if (ldv_mutex == 1) {
10677
10678 } else {
10679 {
10680#line 108
10681 ldv_blast_assert();
10682 }
10683 }
10684#line 110
10685 ldv_mutex = 2;
10686#line 111
10687 return;
10688}
10689}
10690#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10691int mutex_trylock(struct mutex *lock )
10692{ int nondetermined ;
10693
10694 {
10695#line 121
10696 if (ldv_mutex == 1) {
10697
10698 } else {
10699 {
10700#line 121
10701 ldv_blast_assert();
10702 }
10703 }
10704 {
10705#line 124
10706 nondetermined = __VERIFIER_nondet_int();
10707 }
10708#line 127
10709 if (nondetermined) {
10710#line 130
10711 ldv_mutex = 2;
10712#line 132
10713 return (1);
10714 } else {
10715#line 137
10716 return (0);
10717 }
10718}
10719}
10720#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10721void mutex_unlock(struct mutex *lock )
10722{
10723
10724 {
10725#line 147
10726 if (ldv_mutex == 2) {
10727
10728 } else {
10729 {
10730#line 147
10731 ldv_blast_assert();
10732 }
10733 }
10734#line 149
10735 ldv_mutex = 1;
10736#line 150
10737 return;
10738}
10739}
10740#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
10741void ldv_check_final_state(void)
10742{
10743
10744 {
10745#line 156
10746 if (ldv_mutex == 1) {
10747
10748 } else {
10749 {
10750#line 156
10751 ldv_blast_assert();
10752 }
10753 }
10754#line 157
10755 return;
10756}
10757}
10758#line 1736 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5616/dscv_tempdir/dscv/ri/32_1/drivers/mtd/ftl.c.common.c"
10759long s__builtin_expect(long val , long res )
10760{
10761
10762 {
10763#line 1737
10764 return (val);
10765}
10766}