1
2
3
4#line 20 "include/asm-generic/int-ll64.h"
5typedef unsigned char __u8;
6#line 23 "include/asm-generic/int-ll64.h"
7typedef unsigned short __u16;
8#line 25 "include/asm-generic/int-ll64.h"
9typedef int __s32;
10#line 26 "include/asm-generic/int-ll64.h"
11typedef unsigned int __u32;
12#line 30 "include/asm-generic/int-ll64.h"
13typedef unsigned long long __u64;
14#line 43 "include/asm-generic/int-ll64.h"
15typedef unsigned char u8;
16#line 45 "include/asm-generic/int-ll64.h"
17typedef short s16;
18#line 46 "include/asm-generic/int-ll64.h"
19typedef unsigned short u16;
20#line 49 "include/asm-generic/int-ll64.h"
21typedef unsigned int u32;
22#line 51 "include/asm-generic/int-ll64.h"
23typedef long long s64;
24#line 52 "include/asm-generic/int-ll64.h"
25typedef unsigned long long u64;
26#line 14 "include/asm-generic/posix_types.h"
27typedef long __kernel_long_t;
28#line 15 "include/asm-generic/posix_types.h"
29typedef unsigned long __kernel_ulong_t;
30#line 31 "include/asm-generic/posix_types.h"
31typedef int __kernel_pid_t;
32#line 52 "include/asm-generic/posix_types.h"
33typedef unsigned int __kernel_uid32_t;
34#line 53 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_gid32_t;
36#line 75 "include/asm-generic/posix_types.h"
37typedef __kernel_ulong_t __kernel_size_t;
38#line 76 "include/asm-generic/posix_types.h"
39typedef __kernel_long_t __kernel_ssize_t;
40#line 91 "include/asm-generic/posix_types.h"
41typedef long long __kernel_loff_t;
42#line 92 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_time_t;
44#line 93 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_clock_t;
46#line 94 "include/asm-generic/posix_types.h"
47typedef int __kernel_timer_t;
48#line 95 "include/asm-generic/posix_types.h"
49typedef int __kernel_clockid_t;
50#line 21 "include/linux/types.h"
51typedef __u32 __kernel_dev_t;
52#line 24 "include/linux/types.h"
53typedef __kernel_dev_t dev_t;
54#line 27 "include/linux/types.h"
55typedef unsigned short umode_t;
56#line 30 "include/linux/types.h"
57typedef __kernel_pid_t pid_t;
58#line 35 "include/linux/types.h"
59typedef __kernel_clockid_t clockid_t;
60#line 38 "include/linux/types.h"
61typedef _Bool bool;
62#line 40 "include/linux/types.h"
63typedef __kernel_uid32_t uid_t;
64#line 41 "include/linux/types.h"
65typedef __kernel_gid32_t gid_t;
66#line 54 "include/linux/types.h"
67typedef __kernel_loff_t loff_t;
68#line 63 "include/linux/types.h"
69typedef __kernel_size_t size_t;
70#line 68 "include/linux/types.h"
71typedef __kernel_ssize_t ssize_t;
72#line 78 "include/linux/types.h"
73typedef __kernel_time_t time_t;
74#line 92 "include/linux/types.h"
75typedef unsigned char u_char;
76#line 95 "include/linux/types.h"
77typedef unsigned long u_long;
78#line 111 "include/linux/types.h"
79typedef __s32 int32_t;
80#line 115 "include/linux/types.h"
81typedef __u8 uint8_t;
82#line 117 "include/linux/types.h"
83typedef __u32 uint32_t;
84#line 120 "include/linux/types.h"
85typedef __u64 uint64_t;
86#line 202 "include/linux/types.h"
87typedef unsigned int gfp_t;
88#line 206 "include/linux/types.h"
89typedef u64 phys_addr_t;
90#line 211 "include/linux/types.h"
91typedef phys_addr_t resource_size_t;
92#line 219 "include/linux/types.h"
93struct __anonstruct_atomic_t_7 {
94 int counter ;
95};
96#line 219 "include/linux/types.h"
97typedef struct __anonstruct_atomic_t_7 atomic_t;
98#line 224 "include/linux/types.h"
99struct __anonstruct_atomic64_t_8 {
100 long counter ;
101};
102#line 224 "include/linux/types.h"
103typedef struct __anonstruct_atomic64_t_8 atomic64_t;
104#line 229 "include/linux/types.h"
105struct list_head {
106 struct list_head *next ;
107 struct list_head *prev ;
108};
109#line 233
110struct hlist_node;
111#line 233 "include/linux/types.h"
112struct hlist_head {
113 struct hlist_node *first ;
114};
115#line 237 "include/linux/types.h"
116struct hlist_node {
117 struct hlist_node *next ;
118 struct hlist_node **pprev ;
119};
120#line 253 "include/linux/types.h"
121struct rcu_head {
122 struct rcu_head *next ;
123 void (*func)(struct rcu_head *head ) ;
124};
125#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
126struct module;
127#line 56
128struct module;
129#line 146 "include/linux/init.h"
130typedef void (*ctor_fn_t)(void);
131#line 9 "include/linux/dynamic_debug.h"
132struct _ddebug {
133 char const *modname ;
134 char const *function ;
135 char const *filename ;
136 char const *format ;
137 unsigned int lineno : 18 ;
138 unsigned int flags : 8 ;
139} __attribute__((__aligned__(8))) ;
140#line 47
141struct device;
142#line 47
143struct device;
144#line 135 "include/linux/kernel.h"
145struct completion;
146#line 135
147struct completion;
148#line 136
149struct pt_regs;
150#line 136
151struct pt_regs;
152#line 349
153struct pid;
154#line 349
155struct pid;
156#line 12 "include/linux/thread_info.h"
157struct timespec;
158#line 12
159struct timespec;
160#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
161struct page;
162#line 18
163struct page;
164#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
165struct task_struct;
166#line 20
167struct task_struct;
168#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
169struct task_struct;
170#line 8
171struct mm_struct;
172#line 8
173struct mm_struct;
174#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
175struct pt_regs {
176 unsigned long r15 ;
177 unsigned long r14 ;
178 unsigned long r13 ;
179 unsigned long r12 ;
180 unsigned long bp ;
181 unsigned long bx ;
182 unsigned long r11 ;
183 unsigned long r10 ;
184 unsigned long r9 ;
185 unsigned long r8 ;
186 unsigned long ax ;
187 unsigned long cx ;
188 unsigned long dx ;
189 unsigned long si ;
190 unsigned long di ;
191 unsigned long orig_ax ;
192 unsigned long ip ;
193 unsigned long cs ;
194 unsigned long flags ;
195 unsigned long sp ;
196 unsigned long ss ;
197};
198#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
199struct __anonstruct____missing_field_name_15 {
200 unsigned int a ;
201 unsigned int b ;
202};
203#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
204struct __anonstruct____missing_field_name_16 {
205 u16 limit0 ;
206 u16 base0 ;
207 unsigned int base1 : 8 ;
208 unsigned int type : 4 ;
209 unsigned int s : 1 ;
210 unsigned int dpl : 2 ;
211 unsigned int p : 1 ;
212 unsigned int limit : 4 ;
213 unsigned int avl : 1 ;
214 unsigned int l : 1 ;
215 unsigned int d : 1 ;
216 unsigned int g : 1 ;
217 unsigned int base2 : 8 ;
218};
219#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
220union __anonunion____missing_field_name_14 {
221 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
222 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
223};
224#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
225struct desc_struct {
226 union __anonunion____missing_field_name_14 __annonCompField7 ;
227} __attribute__((__packed__)) ;
228#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
229typedef unsigned long pgdval_t;
230#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
231typedef unsigned long pgprotval_t;
232#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
233struct pgprot {
234 pgprotval_t pgprot ;
235};
236#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
237typedef struct pgprot pgprot_t;
238#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
239struct __anonstruct_pgd_t_20 {
240 pgdval_t pgd ;
241};
242#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
243typedef struct __anonstruct_pgd_t_20 pgd_t;
244#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
245typedef struct page *pgtable_t;
246#line 295
247struct file;
248#line 295
249struct file;
250#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
251struct page;
252#line 47
253struct thread_struct;
254#line 47
255struct thread_struct;
256#line 50
257struct mm_struct;
258#line 51
259struct desc_struct;
260#line 52
261struct task_struct;
262#line 53
263struct cpumask;
264#line 53
265struct cpumask;
266#line 329
267struct arch_spinlock;
268#line 329
269struct arch_spinlock;
270#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
271struct task_struct;
272#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
273struct kernel_vm86_regs {
274 struct pt_regs pt ;
275 unsigned short es ;
276 unsigned short __esh ;
277 unsigned short ds ;
278 unsigned short __dsh ;
279 unsigned short fs ;
280 unsigned short __fsh ;
281 unsigned short gs ;
282 unsigned short __gsh ;
283};
284#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
285union __anonunion____missing_field_name_24 {
286 struct pt_regs *regs ;
287 struct kernel_vm86_regs *vm86 ;
288};
289#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
290struct math_emu_info {
291 long ___orig_eip ;
292 union __anonunion____missing_field_name_24 __annonCompField8 ;
293};
294#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
295struct task_struct;
296#line 10 "include/asm-generic/bug.h"
297struct bug_entry {
298 int bug_addr_disp ;
299 int file_disp ;
300 unsigned short line ;
301 unsigned short flags ;
302};
303#line 12 "include/linux/bug.h"
304struct pt_regs;
305#line 14 "include/linux/cpumask.h"
306struct cpumask {
307 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
308};
309#line 14 "include/linux/cpumask.h"
310typedef struct cpumask cpumask_t;
311#line 637 "include/linux/cpumask.h"
312typedef struct cpumask *cpumask_var_t;
313#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
314struct static_key;
315#line 234
316struct static_key;
317#line 11 "include/linux/personality.h"
318struct pt_regs;
319#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
320struct i387_fsave_struct {
321 u32 cwd ;
322 u32 swd ;
323 u32 twd ;
324 u32 fip ;
325 u32 fcs ;
326 u32 foo ;
327 u32 fos ;
328 u32 st_space[20] ;
329 u32 status ;
330};
331#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
332struct __anonstruct____missing_field_name_31 {
333 u64 rip ;
334 u64 rdp ;
335};
336#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
337struct __anonstruct____missing_field_name_32 {
338 u32 fip ;
339 u32 fcs ;
340 u32 foo ;
341 u32 fos ;
342};
343#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
344union __anonunion____missing_field_name_30 {
345 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
346 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
347};
348#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
349union __anonunion____missing_field_name_33 {
350 u32 padding1[12] ;
351 u32 sw_reserved[12] ;
352};
353#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
354struct i387_fxsave_struct {
355 u16 cwd ;
356 u16 swd ;
357 u16 twd ;
358 u16 fop ;
359 union __anonunion____missing_field_name_30 __annonCompField14 ;
360 u32 mxcsr ;
361 u32 mxcsr_mask ;
362 u32 st_space[32] ;
363 u32 xmm_space[64] ;
364 u32 padding[12] ;
365 union __anonunion____missing_field_name_33 __annonCompField15 ;
366} __attribute__((__aligned__(16))) ;
367#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
368struct i387_soft_struct {
369 u32 cwd ;
370 u32 swd ;
371 u32 twd ;
372 u32 fip ;
373 u32 fcs ;
374 u32 foo ;
375 u32 fos ;
376 u32 st_space[20] ;
377 u8 ftop ;
378 u8 changed ;
379 u8 lookahead ;
380 u8 no_update ;
381 u8 rm ;
382 u8 alimit ;
383 struct math_emu_info *info ;
384 u32 entry_eip ;
385};
386#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
387struct ymmh_struct {
388 u32 ymmh_space[64] ;
389};
390#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
391struct xsave_hdr_struct {
392 u64 xstate_bv ;
393 u64 reserved1[2] ;
394 u64 reserved2[5] ;
395} __attribute__((__packed__)) ;
396#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
397struct xsave_struct {
398 struct i387_fxsave_struct i387 ;
399 struct xsave_hdr_struct xsave_hdr ;
400 struct ymmh_struct ymmh ;
401} __attribute__((__packed__, __aligned__(64))) ;
402#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
403union thread_xstate {
404 struct i387_fsave_struct fsave ;
405 struct i387_fxsave_struct fxsave ;
406 struct i387_soft_struct soft ;
407 struct xsave_struct xsave ;
408};
409#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
410struct fpu {
411 unsigned int last_cpu ;
412 unsigned int has_fpu ;
413 union thread_xstate *state ;
414};
415#line 433
416struct kmem_cache;
417#line 435
418struct perf_event;
419#line 435
420struct perf_event;
421#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
422struct thread_struct {
423 struct desc_struct tls_array[3] ;
424 unsigned long sp0 ;
425 unsigned long sp ;
426 unsigned long usersp ;
427 unsigned short es ;
428 unsigned short ds ;
429 unsigned short fsindex ;
430 unsigned short gsindex ;
431 unsigned long fs ;
432 unsigned long gs ;
433 struct perf_event *ptrace_bps[4] ;
434 unsigned long debugreg6 ;
435 unsigned long ptrace_dr7 ;
436 unsigned long cr2 ;
437 unsigned long trap_nr ;
438 unsigned long error_code ;
439 struct fpu fpu ;
440 unsigned long *io_bitmap_ptr ;
441 unsigned long iopl ;
442 unsigned int io_bitmap_max ;
443};
444#line 23 "include/asm-generic/atomic-long.h"
445typedef atomic64_t atomic_long_t;
446#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
447typedef u16 __ticket_t;
448#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
449typedef u32 __ticketpair_t;
450#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
451struct __raw_tickets {
452 __ticket_t head ;
453 __ticket_t tail ;
454};
455#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
456union __anonunion____missing_field_name_36 {
457 __ticketpair_t head_tail ;
458 struct __raw_tickets tickets ;
459};
460#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
461struct arch_spinlock {
462 union __anonunion____missing_field_name_36 __annonCompField17 ;
463};
464#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
465typedef struct arch_spinlock arch_spinlock_t;
466#line 12 "include/linux/lockdep.h"
467struct task_struct;
468#line 20 "include/linux/spinlock_types.h"
469struct raw_spinlock {
470 arch_spinlock_t raw_lock ;
471 unsigned int magic ;
472 unsigned int owner_cpu ;
473 void *owner ;
474};
475#line 20 "include/linux/spinlock_types.h"
476typedef struct raw_spinlock raw_spinlock_t;
477#line 64 "include/linux/spinlock_types.h"
478union __anonunion____missing_field_name_39 {
479 struct raw_spinlock rlock ;
480};
481#line 64 "include/linux/spinlock_types.h"
482struct spinlock {
483 union __anonunion____missing_field_name_39 __annonCompField19 ;
484};
485#line 64 "include/linux/spinlock_types.h"
486typedef struct spinlock spinlock_t;
487#line 119 "include/linux/seqlock.h"
488struct seqcount {
489 unsigned int sequence ;
490};
491#line 119 "include/linux/seqlock.h"
492typedef struct seqcount seqcount_t;
493#line 14 "include/linux/time.h"
494struct timespec {
495 __kernel_time_t tv_sec ;
496 long tv_nsec ;
497};
498#line 49 "include/linux/wait.h"
499struct __wait_queue_head {
500 spinlock_t lock ;
501 struct list_head task_list ;
502};
503#line 53 "include/linux/wait.h"
504typedef struct __wait_queue_head wait_queue_head_t;
505#line 55
506struct task_struct;
507#line 98 "include/linux/nodemask.h"
508struct __anonstruct_nodemask_t_42 {
509 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
510};
511#line 98 "include/linux/nodemask.h"
512typedef struct __anonstruct_nodemask_t_42 nodemask_t;
513#line 60 "include/linux/pageblock-flags.h"
514struct page;
515#line 48 "include/linux/mutex.h"
516struct mutex {
517 atomic_t count ;
518 spinlock_t wait_lock ;
519 struct list_head wait_list ;
520 struct task_struct *owner ;
521 char const *name ;
522 void *magic ;
523};
524#line 69 "include/linux/mutex.h"
525struct mutex_waiter {
526 struct list_head list ;
527 struct task_struct *task ;
528 void *magic ;
529};
530#line 19 "include/linux/rwsem.h"
531struct rw_semaphore;
532#line 19
533struct rw_semaphore;
534#line 25 "include/linux/rwsem.h"
535struct rw_semaphore {
536 long count ;
537 raw_spinlock_t wait_lock ;
538 struct list_head wait_list ;
539};
540#line 25 "include/linux/completion.h"
541struct completion {
542 unsigned int done ;
543 wait_queue_head_t wait ;
544};
545#line 188 "include/linux/rcupdate.h"
546struct notifier_block;
547#line 188
548struct notifier_block;
549#line 50 "include/linux/notifier.h"
550struct notifier_block {
551 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
552 struct notifier_block *next ;
553 int priority ;
554};
555#line 9 "include/linux/memory_hotplug.h"
556struct page;
557#line 202 "include/linux/ioport.h"
558struct device;
559#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
560struct device;
561#line 46 "include/linux/ktime.h"
562union ktime {
563 s64 tv64 ;
564};
565#line 59 "include/linux/ktime.h"
566typedef union ktime ktime_t;
567#line 10 "include/linux/timer.h"
568struct tvec_base;
569#line 10
570struct tvec_base;
571#line 12 "include/linux/timer.h"
572struct timer_list {
573 struct list_head entry ;
574 unsigned long expires ;
575 struct tvec_base *base ;
576 void (*function)(unsigned long ) ;
577 unsigned long data ;
578 int slack ;
579 int start_pid ;
580 void *start_site ;
581 char start_comm[16] ;
582};
583#line 289
584struct hrtimer;
585#line 289
586struct hrtimer;
587#line 290
588enum hrtimer_restart;
589#line 17 "include/linux/workqueue.h"
590struct work_struct;
591#line 17
592struct work_struct;
593#line 79 "include/linux/workqueue.h"
594struct work_struct {
595 atomic_long_t data ;
596 struct list_head entry ;
597 void (*func)(struct work_struct *work ) ;
598};
599#line 42 "include/linux/pm.h"
600struct device;
601#line 50 "include/linux/pm.h"
602struct pm_message {
603 int event ;
604};
605#line 50 "include/linux/pm.h"
606typedef struct pm_message pm_message_t;
607#line 264 "include/linux/pm.h"
608struct dev_pm_ops {
609 int (*prepare)(struct device *dev ) ;
610 void (*complete)(struct device *dev ) ;
611 int (*suspend)(struct device *dev ) ;
612 int (*resume)(struct device *dev ) ;
613 int (*freeze)(struct device *dev ) ;
614 int (*thaw)(struct device *dev ) ;
615 int (*poweroff)(struct device *dev ) ;
616 int (*restore)(struct device *dev ) ;
617 int (*suspend_late)(struct device *dev ) ;
618 int (*resume_early)(struct device *dev ) ;
619 int (*freeze_late)(struct device *dev ) ;
620 int (*thaw_early)(struct device *dev ) ;
621 int (*poweroff_late)(struct device *dev ) ;
622 int (*restore_early)(struct device *dev ) ;
623 int (*suspend_noirq)(struct device *dev ) ;
624 int (*resume_noirq)(struct device *dev ) ;
625 int (*freeze_noirq)(struct device *dev ) ;
626 int (*thaw_noirq)(struct device *dev ) ;
627 int (*poweroff_noirq)(struct device *dev ) ;
628 int (*restore_noirq)(struct device *dev ) ;
629 int (*runtime_suspend)(struct device *dev ) ;
630 int (*runtime_resume)(struct device *dev ) ;
631 int (*runtime_idle)(struct device *dev ) ;
632};
633#line 458
634enum rpm_status {
635 RPM_ACTIVE = 0,
636 RPM_RESUMING = 1,
637 RPM_SUSPENDED = 2,
638 RPM_SUSPENDING = 3
639} ;
640#line 480
641enum rpm_request {
642 RPM_REQ_NONE = 0,
643 RPM_REQ_IDLE = 1,
644 RPM_REQ_SUSPEND = 2,
645 RPM_REQ_AUTOSUSPEND = 3,
646 RPM_REQ_RESUME = 4
647} ;
648#line 488
649struct wakeup_source;
650#line 488
651struct wakeup_source;
652#line 495 "include/linux/pm.h"
653struct pm_subsys_data {
654 spinlock_t lock ;
655 unsigned int refcount ;
656};
657#line 506
658struct dev_pm_qos_request;
659#line 506
660struct pm_qos_constraints;
661#line 506 "include/linux/pm.h"
662struct dev_pm_info {
663 pm_message_t power_state ;
664 unsigned int can_wakeup : 1 ;
665 unsigned int async_suspend : 1 ;
666 bool is_prepared : 1 ;
667 bool is_suspended : 1 ;
668 bool ignore_children : 1 ;
669 spinlock_t lock ;
670 struct list_head entry ;
671 struct completion completion ;
672 struct wakeup_source *wakeup ;
673 bool wakeup_path : 1 ;
674 struct timer_list suspend_timer ;
675 unsigned long timer_expires ;
676 struct work_struct work ;
677 wait_queue_head_t wait_queue ;
678 atomic_t usage_count ;
679 atomic_t child_count ;
680 unsigned int disable_depth : 3 ;
681 unsigned int idle_notification : 1 ;
682 unsigned int request_pending : 1 ;
683 unsigned int deferred_resume : 1 ;
684 unsigned int run_wake : 1 ;
685 unsigned int runtime_auto : 1 ;
686 unsigned int no_callbacks : 1 ;
687 unsigned int irq_safe : 1 ;
688 unsigned int use_autosuspend : 1 ;
689 unsigned int timer_autosuspends : 1 ;
690 enum rpm_request request ;
691 enum rpm_status runtime_status ;
692 int runtime_error ;
693 int autosuspend_delay ;
694 unsigned long last_busy ;
695 unsigned long active_jiffies ;
696 unsigned long suspended_jiffies ;
697 unsigned long accounting_timestamp ;
698 ktime_t suspend_time ;
699 s64 max_time_suspended_ns ;
700 struct dev_pm_qos_request *pq_req ;
701 struct pm_subsys_data *subsys_data ;
702 struct pm_qos_constraints *constraints ;
703};
704#line 564 "include/linux/pm.h"
705struct dev_pm_domain {
706 struct dev_pm_ops ops ;
707};
708#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
709struct __anonstruct_mm_context_t_112 {
710 void *ldt ;
711 int size ;
712 unsigned short ia32_compat ;
713 struct mutex lock ;
714 void *vdso ;
715};
716#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
717typedef struct __anonstruct_mm_context_t_112 mm_context_t;
718#line 8 "include/linux/vmalloc.h"
719struct vm_area_struct;
720#line 8
721struct vm_area_struct;
722#line 994 "include/linux/mmzone.h"
723struct page;
724#line 10 "include/linux/gfp.h"
725struct vm_area_struct;
726#line 29 "include/linux/sysctl.h"
727struct completion;
728#line 100 "include/linux/rbtree.h"
729struct rb_node {
730 unsigned long rb_parent_color ;
731 struct rb_node *rb_right ;
732 struct rb_node *rb_left ;
733} __attribute__((__aligned__(sizeof(long )))) ;
734#line 110 "include/linux/rbtree.h"
735struct rb_root {
736 struct rb_node *rb_node ;
737};
738#line 939 "include/linux/sysctl.h"
739struct nsproxy;
740#line 939
741struct nsproxy;
742#line 48 "include/linux/kmod.h"
743struct cred;
744#line 48
745struct cred;
746#line 49
747struct file;
748#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
749struct task_struct;
750#line 18 "include/linux/elf.h"
751typedef __u64 Elf64_Addr;
752#line 19 "include/linux/elf.h"
753typedef __u16 Elf64_Half;
754#line 23 "include/linux/elf.h"
755typedef __u32 Elf64_Word;
756#line 24 "include/linux/elf.h"
757typedef __u64 Elf64_Xword;
758#line 194 "include/linux/elf.h"
759struct elf64_sym {
760 Elf64_Word st_name ;
761 unsigned char st_info ;
762 unsigned char st_other ;
763 Elf64_Half st_shndx ;
764 Elf64_Addr st_value ;
765 Elf64_Xword st_size ;
766};
767#line 194 "include/linux/elf.h"
768typedef struct elf64_sym Elf64_Sym;
769#line 438
770struct file;
771#line 20 "include/linux/kobject_ns.h"
772struct sock;
773#line 20
774struct sock;
775#line 21
776struct kobject;
777#line 21
778struct kobject;
779#line 27
780enum kobj_ns_type {
781 KOBJ_NS_TYPE_NONE = 0,
782 KOBJ_NS_TYPE_NET = 1,
783 KOBJ_NS_TYPES = 2
784} ;
785#line 40 "include/linux/kobject_ns.h"
786struct kobj_ns_type_operations {
787 enum kobj_ns_type type ;
788 void *(*grab_current_ns)(void) ;
789 void const *(*netlink_ns)(struct sock *sk ) ;
790 void const *(*initial_ns)(void) ;
791 void (*drop_ns)(void * ) ;
792};
793#line 22 "include/linux/sysfs.h"
794struct kobject;
795#line 23
796struct module;
797#line 24
798enum kobj_ns_type;
799#line 26 "include/linux/sysfs.h"
800struct attribute {
801 char const *name ;
802 umode_t mode ;
803};
804#line 56 "include/linux/sysfs.h"
805struct attribute_group {
806 char const *name ;
807 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
808 struct attribute **attrs ;
809};
810#line 85
811struct file;
812#line 86
813struct vm_area_struct;
814#line 88 "include/linux/sysfs.h"
815struct bin_attribute {
816 struct attribute attr ;
817 size_t size ;
818 void *private ;
819 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
820 loff_t , size_t ) ;
821 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
822 loff_t , size_t ) ;
823 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
824};
825#line 112 "include/linux/sysfs.h"
826struct sysfs_ops {
827 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
828 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
829 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
830};
831#line 118
832struct sysfs_dirent;
833#line 118
834struct sysfs_dirent;
835#line 22 "include/linux/kref.h"
836struct kref {
837 atomic_t refcount ;
838};
839#line 60 "include/linux/kobject.h"
840struct kset;
841#line 60
842struct kobj_type;
843#line 60 "include/linux/kobject.h"
844struct kobject {
845 char const *name ;
846 struct list_head entry ;
847 struct kobject *parent ;
848 struct kset *kset ;
849 struct kobj_type *ktype ;
850 struct sysfs_dirent *sd ;
851 struct kref kref ;
852 unsigned int state_initialized : 1 ;
853 unsigned int state_in_sysfs : 1 ;
854 unsigned int state_add_uevent_sent : 1 ;
855 unsigned int state_remove_uevent_sent : 1 ;
856 unsigned int uevent_suppress : 1 ;
857};
858#line 108 "include/linux/kobject.h"
859struct kobj_type {
860 void (*release)(struct kobject *kobj ) ;
861 struct sysfs_ops const *sysfs_ops ;
862 struct attribute **default_attrs ;
863 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
864 void const *(*namespace)(struct kobject *kobj ) ;
865};
866#line 116 "include/linux/kobject.h"
867struct kobj_uevent_env {
868 char *envp[32] ;
869 int envp_idx ;
870 char buf[2048] ;
871 int buflen ;
872};
873#line 123 "include/linux/kobject.h"
874struct kset_uevent_ops {
875 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
876 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
877 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
878};
879#line 140
880struct sock;
881#line 159 "include/linux/kobject.h"
882struct kset {
883 struct list_head list ;
884 spinlock_t list_lock ;
885 struct kobject kobj ;
886 struct kset_uevent_ops const *uevent_ops ;
887};
888#line 39 "include/linux/moduleparam.h"
889struct kernel_param;
890#line 39
891struct kernel_param;
892#line 41 "include/linux/moduleparam.h"
893struct kernel_param_ops {
894 int (*set)(char const *val , struct kernel_param const *kp ) ;
895 int (*get)(char *buffer , struct kernel_param const *kp ) ;
896 void (*free)(void *arg ) ;
897};
898#line 50
899struct kparam_string;
900#line 50
901struct kparam_array;
902#line 50 "include/linux/moduleparam.h"
903union __anonunion____missing_field_name_199 {
904 void *arg ;
905 struct kparam_string const *str ;
906 struct kparam_array const *arr ;
907};
908#line 50 "include/linux/moduleparam.h"
909struct kernel_param {
910 char const *name ;
911 struct kernel_param_ops const *ops ;
912 u16 perm ;
913 s16 level ;
914 union __anonunion____missing_field_name_199 __annonCompField32 ;
915};
916#line 63 "include/linux/moduleparam.h"
917struct kparam_string {
918 unsigned int maxlen ;
919 char *string ;
920};
921#line 69 "include/linux/moduleparam.h"
922struct kparam_array {
923 unsigned int max ;
924 unsigned int elemsize ;
925 unsigned int *num ;
926 struct kernel_param_ops const *ops ;
927 void *elem ;
928};
929#line 445
930struct module;
931#line 80 "include/linux/jump_label.h"
932struct module;
933#line 143 "include/linux/jump_label.h"
934struct static_key {
935 atomic_t enabled ;
936};
937#line 22 "include/linux/tracepoint.h"
938struct module;
939#line 23
940struct tracepoint;
941#line 23
942struct tracepoint;
943#line 25 "include/linux/tracepoint.h"
944struct tracepoint_func {
945 void *func ;
946 void *data ;
947};
948#line 30 "include/linux/tracepoint.h"
949struct tracepoint {
950 char const *name ;
951 struct static_key key ;
952 void (*regfunc)(void) ;
953 void (*unregfunc)(void) ;
954 struct tracepoint_func *funcs ;
955};
956#line 19 "include/linux/export.h"
957struct kernel_symbol {
958 unsigned long value ;
959 char const *name ;
960};
961#line 8 "include/asm-generic/module.h"
962struct mod_arch_specific {
963
964};
965#line 35 "include/linux/module.h"
966struct module;
967#line 37
968struct module_param_attrs;
969#line 37 "include/linux/module.h"
970struct module_kobject {
971 struct kobject kobj ;
972 struct module *mod ;
973 struct kobject *drivers_dir ;
974 struct module_param_attrs *mp ;
975};
976#line 44 "include/linux/module.h"
977struct module_attribute {
978 struct attribute attr ;
979 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
980 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
981 size_t count ) ;
982 void (*setup)(struct module * , char const * ) ;
983 int (*test)(struct module * ) ;
984 void (*free)(struct module * ) ;
985};
986#line 71
987struct exception_table_entry;
988#line 71
989struct exception_table_entry;
990#line 182
991struct notifier_block;
992#line 199
993enum module_state {
994 MODULE_STATE_LIVE = 0,
995 MODULE_STATE_COMING = 1,
996 MODULE_STATE_GOING = 2
997} ;
998#line 215 "include/linux/module.h"
999struct module_ref {
1000 unsigned long incs ;
1001 unsigned long decs ;
1002} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1003#line 220
1004struct module_sect_attrs;
1005#line 220
1006struct module_notes_attrs;
1007#line 220
1008struct ftrace_event_call;
1009#line 220 "include/linux/module.h"
1010struct module {
1011 enum module_state state ;
1012 struct list_head list ;
1013 char name[64UL - sizeof(unsigned long )] ;
1014 struct module_kobject mkobj ;
1015 struct module_attribute *modinfo_attrs ;
1016 char const *version ;
1017 char const *srcversion ;
1018 struct kobject *holders_dir ;
1019 struct kernel_symbol const *syms ;
1020 unsigned long const *crcs ;
1021 unsigned int num_syms ;
1022 struct kernel_param *kp ;
1023 unsigned int num_kp ;
1024 unsigned int num_gpl_syms ;
1025 struct kernel_symbol const *gpl_syms ;
1026 unsigned long const *gpl_crcs ;
1027 struct kernel_symbol const *unused_syms ;
1028 unsigned long const *unused_crcs ;
1029 unsigned int num_unused_syms ;
1030 unsigned int num_unused_gpl_syms ;
1031 struct kernel_symbol const *unused_gpl_syms ;
1032 unsigned long const *unused_gpl_crcs ;
1033 struct kernel_symbol const *gpl_future_syms ;
1034 unsigned long const *gpl_future_crcs ;
1035 unsigned int num_gpl_future_syms ;
1036 unsigned int num_exentries ;
1037 struct exception_table_entry *extable ;
1038 int (*init)(void) ;
1039 void *module_init ;
1040 void *module_core ;
1041 unsigned int init_size ;
1042 unsigned int core_size ;
1043 unsigned int init_text_size ;
1044 unsigned int core_text_size ;
1045 unsigned int init_ro_size ;
1046 unsigned int core_ro_size ;
1047 struct mod_arch_specific arch ;
1048 unsigned int taints ;
1049 unsigned int num_bugs ;
1050 struct list_head bug_list ;
1051 struct bug_entry *bug_table ;
1052 Elf64_Sym *symtab ;
1053 Elf64_Sym *core_symtab ;
1054 unsigned int num_symtab ;
1055 unsigned int core_num_syms ;
1056 char *strtab ;
1057 char *core_strtab ;
1058 struct module_sect_attrs *sect_attrs ;
1059 struct module_notes_attrs *notes_attrs ;
1060 char *args ;
1061 void *percpu ;
1062 unsigned int percpu_size ;
1063 unsigned int num_tracepoints ;
1064 struct tracepoint * const *tracepoints_ptrs ;
1065 unsigned int num_trace_bprintk_fmt ;
1066 char const **trace_bprintk_fmt_start ;
1067 struct ftrace_event_call **trace_events ;
1068 unsigned int num_trace_events ;
1069 struct list_head source_list ;
1070 struct list_head target_list ;
1071 struct task_struct *waiter ;
1072 void (*exit)(void) ;
1073 struct module_ref *refptr ;
1074 ctor_fn_t *ctors ;
1075 unsigned int num_ctors ;
1076};
1077#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1078struct exception_table_entry {
1079 unsigned long insn ;
1080 unsigned long fixup ;
1081};
1082#line 46 "include/linux/slub_def.h"
1083struct kmem_cache_cpu {
1084 void **freelist ;
1085 unsigned long tid ;
1086 struct page *page ;
1087 struct page *partial ;
1088 int node ;
1089 unsigned int stat[26] ;
1090};
1091#line 57 "include/linux/slub_def.h"
1092struct kmem_cache_node {
1093 spinlock_t list_lock ;
1094 unsigned long nr_partial ;
1095 struct list_head partial ;
1096 atomic_long_t nr_slabs ;
1097 atomic_long_t total_objects ;
1098 struct list_head full ;
1099};
1100#line 73 "include/linux/slub_def.h"
1101struct kmem_cache_order_objects {
1102 unsigned long x ;
1103};
1104#line 80 "include/linux/slub_def.h"
1105struct kmem_cache {
1106 struct kmem_cache_cpu *cpu_slab ;
1107 unsigned long flags ;
1108 unsigned long min_partial ;
1109 int size ;
1110 int objsize ;
1111 int offset ;
1112 int cpu_partial ;
1113 struct kmem_cache_order_objects oo ;
1114 struct kmem_cache_order_objects max ;
1115 struct kmem_cache_order_objects min ;
1116 gfp_t allocflags ;
1117 int refcount ;
1118 void (*ctor)(void * ) ;
1119 int inuse ;
1120 int align ;
1121 int reserved ;
1122 char const *name ;
1123 struct list_head list ;
1124 struct kobject kobj ;
1125 int remote_node_defrag_ratio ;
1126 struct kmem_cache_node *node[1 << 10] ;
1127};
1128#line 31 "include/linux/uio.h"
1129struct kvec {
1130 void *iov_base ;
1131 size_t iov_len ;
1132};
1133#line 19 "include/linux/klist.h"
1134struct klist_node;
1135#line 19
1136struct klist_node;
1137#line 39 "include/linux/klist.h"
1138struct klist_node {
1139 void *n_klist ;
1140 struct list_head n_node ;
1141 struct kref n_ref ;
1142};
1143#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1144struct dma_map_ops;
1145#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1146struct dev_archdata {
1147 void *acpi_handle ;
1148 struct dma_map_ops *dma_ops ;
1149 void *iommu ;
1150};
1151#line 28 "include/linux/device.h"
1152struct device;
1153#line 29
1154struct device_private;
1155#line 29
1156struct device_private;
1157#line 30
1158struct device_driver;
1159#line 30
1160struct device_driver;
1161#line 31
1162struct driver_private;
1163#line 31
1164struct driver_private;
1165#line 32
1166struct module;
1167#line 33
1168struct class;
1169#line 33
1170struct class;
1171#line 34
1172struct subsys_private;
1173#line 34
1174struct subsys_private;
1175#line 35
1176struct bus_type;
1177#line 35
1178struct bus_type;
1179#line 36
1180struct device_node;
1181#line 36
1182struct device_node;
1183#line 37
1184struct iommu_ops;
1185#line 37
1186struct iommu_ops;
1187#line 39 "include/linux/device.h"
1188struct bus_attribute {
1189 struct attribute attr ;
1190 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1191 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1192};
1193#line 89
1194struct device_attribute;
1195#line 89
1196struct driver_attribute;
1197#line 89 "include/linux/device.h"
1198struct bus_type {
1199 char const *name ;
1200 char const *dev_name ;
1201 struct device *dev_root ;
1202 struct bus_attribute *bus_attrs ;
1203 struct device_attribute *dev_attrs ;
1204 struct driver_attribute *drv_attrs ;
1205 int (*match)(struct device *dev , struct device_driver *drv ) ;
1206 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1207 int (*probe)(struct device *dev ) ;
1208 int (*remove)(struct device *dev ) ;
1209 void (*shutdown)(struct device *dev ) ;
1210 int (*suspend)(struct device *dev , pm_message_t state ) ;
1211 int (*resume)(struct device *dev ) ;
1212 struct dev_pm_ops const *pm ;
1213 struct iommu_ops *iommu_ops ;
1214 struct subsys_private *p ;
1215};
1216#line 127
1217struct device_type;
1218#line 159
1219struct notifier_block;
1220#line 214
1221struct of_device_id;
1222#line 214 "include/linux/device.h"
1223struct device_driver {
1224 char const *name ;
1225 struct bus_type *bus ;
1226 struct module *owner ;
1227 char const *mod_name ;
1228 bool suppress_bind_attrs ;
1229 struct of_device_id const *of_match_table ;
1230 int (*probe)(struct device *dev ) ;
1231 int (*remove)(struct device *dev ) ;
1232 void (*shutdown)(struct device *dev ) ;
1233 int (*suspend)(struct device *dev , pm_message_t state ) ;
1234 int (*resume)(struct device *dev ) ;
1235 struct attribute_group const **groups ;
1236 struct dev_pm_ops const *pm ;
1237 struct driver_private *p ;
1238};
1239#line 249 "include/linux/device.h"
1240struct driver_attribute {
1241 struct attribute attr ;
1242 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1243 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1244};
1245#line 330
1246struct class_attribute;
1247#line 330 "include/linux/device.h"
1248struct class {
1249 char const *name ;
1250 struct module *owner ;
1251 struct class_attribute *class_attrs ;
1252 struct device_attribute *dev_attrs ;
1253 struct bin_attribute *dev_bin_attrs ;
1254 struct kobject *dev_kobj ;
1255 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1256 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1257 void (*class_release)(struct class *class ) ;
1258 void (*dev_release)(struct device *dev ) ;
1259 int (*suspend)(struct device *dev , pm_message_t state ) ;
1260 int (*resume)(struct device *dev ) ;
1261 struct kobj_ns_type_operations const *ns_type ;
1262 void const *(*namespace)(struct device *dev ) ;
1263 struct dev_pm_ops const *pm ;
1264 struct subsys_private *p ;
1265};
1266#line 397 "include/linux/device.h"
1267struct class_attribute {
1268 struct attribute attr ;
1269 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1270 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1271 size_t count ) ;
1272 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1273};
1274#line 465 "include/linux/device.h"
1275struct device_type {
1276 char const *name ;
1277 struct attribute_group const **groups ;
1278 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1279 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1280 void (*release)(struct device *dev ) ;
1281 struct dev_pm_ops const *pm ;
1282};
1283#line 476 "include/linux/device.h"
1284struct device_attribute {
1285 struct attribute attr ;
1286 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1287 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1288 size_t count ) ;
1289};
1290#line 559 "include/linux/device.h"
1291struct device_dma_parameters {
1292 unsigned int max_segment_size ;
1293 unsigned long segment_boundary_mask ;
1294};
1295#line 627
1296struct dma_coherent_mem;
1297#line 627 "include/linux/device.h"
1298struct device {
1299 struct device *parent ;
1300 struct device_private *p ;
1301 struct kobject kobj ;
1302 char const *init_name ;
1303 struct device_type const *type ;
1304 struct mutex mutex ;
1305 struct bus_type *bus ;
1306 struct device_driver *driver ;
1307 void *platform_data ;
1308 struct dev_pm_info power ;
1309 struct dev_pm_domain *pm_domain ;
1310 int numa_node ;
1311 u64 *dma_mask ;
1312 u64 coherent_dma_mask ;
1313 struct device_dma_parameters *dma_parms ;
1314 struct list_head dma_pools ;
1315 struct dma_coherent_mem *dma_mem ;
1316 struct dev_archdata archdata ;
1317 struct device_node *of_node ;
1318 dev_t devt ;
1319 u32 id ;
1320 spinlock_t devres_lock ;
1321 struct list_head devres_head ;
1322 struct klist_node knode_class ;
1323 struct class *class ;
1324 struct attribute_group const **groups ;
1325 void (*release)(struct device *dev ) ;
1326};
1327#line 43 "include/linux/pm_wakeup.h"
1328struct wakeup_source {
1329 char const *name ;
1330 struct list_head entry ;
1331 spinlock_t lock ;
1332 struct timer_list timer ;
1333 unsigned long timer_expires ;
1334 ktime_t total_time ;
1335 ktime_t max_time ;
1336 ktime_t last_time ;
1337 unsigned long event_count ;
1338 unsigned long active_count ;
1339 unsigned long relax_count ;
1340 unsigned long hit_count ;
1341 unsigned int active : 1 ;
1342};
1343#line 143 "include/mtd/mtd-abi.h"
1344struct otp_info {
1345 __u32 start ;
1346 __u32 length ;
1347 __u32 locked ;
1348};
1349#line 217 "include/mtd/mtd-abi.h"
1350struct nand_oobfree {
1351 __u32 offset ;
1352 __u32 length ;
1353};
1354#line 247 "include/mtd/mtd-abi.h"
1355struct mtd_ecc_stats {
1356 __u32 corrected ;
1357 __u32 failed ;
1358 __u32 badblocks ;
1359 __u32 bbtblocks ;
1360};
1361#line 48 "include/linux/mtd/mtd.h"
1362struct mtd_info;
1363#line 48 "include/linux/mtd/mtd.h"
1364struct erase_info {
1365 struct mtd_info *mtd ;
1366 uint64_t addr ;
1367 uint64_t len ;
1368 uint64_t fail_addr ;
1369 u_long time ;
1370 u_long retries ;
1371 unsigned int dev ;
1372 unsigned int cell ;
1373 void (*callback)(struct erase_info *self ) ;
1374 u_long priv ;
1375 u_char state ;
1376 struct erase_info *next ;
1377};
1378#line 63 "include/linux/mtd/mtd.h"
1379struct mtd_erase_region_info {
1380 uint64_t offset ;
1381 uint32_t erasesize ;
1382 uint32_t numblocks ;
1383 unsigned long *lockmap ;
1384};
1385#line 89 "include/linux/mtd/mtd.h"
1386struct mtd_oob_ops {
1387 unsigned int mode ;
1388 size_t len ;
1389 size_t retlen ;
1390 size_t ooblen ;
1391 size_t oobretlen ;
1392 uint32_t ooboffs ;
1393 uint8_t *datbuf ;
1394 uint8_t *oobbuf ;
1395};
1396#line 108 "include/linux/mtd/mtd.h"
1397struct nand_ecclayout {
1398 __u32 eccbytes ;
1399 __u32 eccpos[448] ;
1400 __u32 oobavail ;
1401 struct nand_oobfree oobfree[32] ;
1402};
1403#line 115
1404struct module;
1405#line 117
1406struct backing_dev_info;
1407#line 117 "include/linux/mtd/mtd.h"
1408struct mtd_info {
1409 u_char type ;
1410 uint32_t flags ;
1411 uint64_t size ;
1412 uint32_t erasesize ;
1413 uint32_t writesize ;
1414 uint32_t writebufsize ;
1415 uint32_t oobsize ;
1416 uint32_t oobavail ;
1417 unsigned int erasesize_shift ;
1418 unsigned int writesize_shift ;
1419 unsigned int erasesize_mask ;
1420 unsigned int writesize_mask ;
1421 char const *name ;
1422 int index ;
1423 struct nand_ecclayout *ecclayout ;
1424 unsigned int ecc_strength ;
1425 int numeraseregions ;
1426 struct mtd_erase_region_info *eraseregions ;
1427 int (*_erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
1428 int (*_point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1429 void **virt , resource_size_t *phys ) ;
1430 int (*_unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1431 unsigned long (*_get_unmapped_area)(struct mtd_info *mtd , unsigned long len ,
1432 unsigned long offset , unsigned long flags ) ;
1433 int (*_read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1434 u_char *buf ) ;
1435 int (*_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1436 u_char const *buf ) ;
1437 int (*_panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1438 u_char const *buf ) ;
1439 int (*_read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
1440 int (*_write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
1441 int (*_get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1442 int (*_read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1443 u_char *buf ) ;
1444 int (*_get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1445 int (*_read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1446 u_char *buf ) ;
1447 int (*_write_user_prot_reg)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1448 u_char *buf ) ;
1449 int (*_lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1450 int (*_writev)(struct mtd_info *mtd , struct kvec const *vecs , unsigned long count ,
1451 loff_t to , size_t *retlen ) ;
1452 void (*_sync)(struct mtd_info *mtd ) ;
1453 int (*_lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1454 int (*_unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1455 int (*_is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1456 int (*_block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
1457 int (*_block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
1458 int (*_suspend)(struct mtd_info *mtd ) ;
1459 void (*_resume)(struct mtd_info *mtd ) ;
1460 int (*_get_device)(struct mtd_info *mtd ) ;
1461 void (*_put_device)(struct mtd_info *mtd ) ;
1462 struct backing_dev_info *backing_dev_info ;
1463 struct notifier_block reboot_notifier ;
1464 struct mtd_ecc_stats ecc_stats ;
1465 int subpage_sft ;
1466 void *priv ;
1467 struct module *owner ;
1468 struct device dev ;
1469 int usecount ;
1470};
1471#line 359
1472struct mtd_partition;
1473#line 359
1474struct mtd_partition;
1475#line 360
1476struct mtd_part_parser_data;
1477#line 360
1478struct mtd_part_parser_data;
1479#line 18 "include/linux/capability.h"
1480struct task_struct;
1481#line 94 "include/linux/capability.h"
1482struct kernel_cap_struct {
1483 __u32 cap[2] ;
1484};
1485#line 94 "include/linux/capability.h"
1486typedef struct kernel_cap_struct kernel_cap_t;
1487#line 378
1488struct user_namespace;
1489#line 378
1490struct user_namespace;
1491#line 14 "include/linux/prio_tree.h"
1492struct prio_tree_node;
1493#line 14 "include/linux/prio_tree.h"
1494struct raw_prio_tree_node {
1495 struct prio_tree_node *left ;
1496 struct prio_tree_node *right ;
1497 struct prio_tree_node *parent ;
1498};
1499#line 20 "include/linux/prio_tree.h"
1500struct prio_tree_node {
1501 struct prio_tree_node *left ;
1502 struct prio_tree_node *right ;
1503 struct prio_tree_node *parent ;
1504 unsigned long start ;
1505 unsigned long last ;
1506};
1507#line 23 "include/linux/mm_types.h"
1508struct address_space;
1509#line 23
1510struct address_space;
1511#line 40 "include/linux/mm_types.h"
1512union __anonunion____missing_field_name_204 {
1513 unsigned long index ;
1514 void *freelist ;
1515};
1516#line 40 "include/linux/mm_types.h"
1517struct __anonstruct____missing_field_name_208 {
1518 unsigned int inuse : 16 ;
1519 unsigned int objects : 15 ;
1520 unsigned int frozen : 1 ;
1521};
1522#line 40 "include/linux/mm_types.h"
1523union __anonunion____missing_field_name_207 {
1524 atomic_t _mapcount ;
1525 struct __anonstruct____missing_field_name_208 __annonCompField34 ;
1526};
1527#line 40 "include/linux/mm_types.h"
1528struct __anonstruct____missing_field_name_206 {
1529 union __anonunion____missing_field_name_207 __annonCompField35 ;
1530 atomic_t _count ;
1531};
1532#line 40 "include/linux/mm_types.h"
1533union __anonunion____missing_field_name_205 {
1534 unsigned long counters ;
1535 struct __anonstruct____missing_field_name_206 __annonCompField36 ;
1536};
1537#line 40 "include/linux/mm_types.h"
1538struct __anonstruct____missing_field_name_203 {
1539 union __anonunion____missing_field_name_204 __annonCompField33 ;
1540 union __anonunion____missing_field_name_205 __annonCompField37 ;
1541};
1542#line 40 "include/linux/mm_types.h"
1543struct __anonstruct____missing_field_name_210 {
1544 struct page *next ;
1545 int pages ;
1546 int pobjects ;
1547};
1548#line 40 "include/linux/mm_types.h"
1549union __anonunion____missing_field_name_209 {
1550 struct list_head lru ;
1551 struct __anonstruct____missing_field_name_210 __annonCompField39 ;
1552};
1553#line 40 "include/linux/mm_types.h"
1554union __anonunion____missing_field_name_211 {
1555 unsigned long private ;
1556 struct kmem_cache *slab ;
1557 struct page *first_page ;
1558};
1559#line 40 "include/linux/mm_types.h"
1560struct page {
1561 unsigned long flags ;
1562 struct address_space *mapping ;
1563 struct __anonstruct____missing_field_name_203 __annonCompField38 ;
1564 union __anonunion____missing_field_name_209 __annonCompField40 ;
1565 union __anonunion____missing_field_name_211 __annonCompField41 ;
1566 unsigned long debug_flags ;
1567} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1568#line 200 "include/linux/mm_types.h"
1569struct __anonstruct_vm_set_213 {
1570 struct list_head list ;
1571 void *parent ;
1572 struct vm_area_struct *head ;
1573};
1574#line 200 "include/linux/mm_types.h"
1575union __anonunion_shared_212 {
1576 struct __anonstruct_vm_set_213 vm_set ;
1577 struct raw_prio_tree_node prio_tree_node ;
1578};
1579#line 200
1580struct anon_vma;
1581#line 200
1582struct vm_operations_struct;
1583#line 200
1584struct mempolicy;
1585#line 200 "include/linux/mm_types.h"
1586struct vm_area_struct {
1587 struct mm_struct *vm_mm ;
1588 unsigned long vm_start ;
1589 unsigned long vm_end ;
1590 struct vm_area_struct *vm_next ;
1591 struct vm_area_struct *vm_prev ;
1592 pgprot_t vm_page_prot ;
1593 unsigned long vm_flags ;
1594 struct rb_node vm_rb ;
1595 union __anonunion_shared_212 shared ;
1596 struct list_head anon_vma_chain ;
1597 struct anon_vma *anon_vma ;
1598 struct vm_operations_struct const *vm_ops ;
1599 unsigned long vm_pgoff ;
1600 struct file *vm_file ;
1601 void *vm_private_data ;
1602 struct mempolicy *vm_policy ;
1603};
1604#line 257 "include/linux/mm_types.h"
1605struct core_thread {
1606 struct task_struct *task ;
1607 struct core_thread *next ;
1608};
1609#line 262 "include/linux/mm_types.h"
1610struct core_state {
1611 atomic_t nr_threads ;
1612 struct core_thread dumper ;
1613 struct completion startup ;
1614};
1615#line 284 "include/linux/mm_types.h"
1616struct mm_rss_stat {
1617 atomic_long_t count[3] ;
1618};
1619#line 288
1620struct linux_binfmt;
1621#line 288
1622struct mmu_notifier_mm;
1623#line 288 "include/linux/mm_types.h"
1624struct mm_struct {
1625 struct vm_area_struct *mmap ;
1626 struct rb_root mm_rb ;
1627 struct vm_area_struct *mmap_cache ;
1628 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1629 unsigned long pgoff , unsigned long flags ) ;
1630 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1631 unsigned long mmap_base ;
1632 unsigned long task_size ;
1633 unsigned long cached_hole_size ;
1634 unsigned long free_area_cache ;
1635 pgd_t *pgd ;
1636 atomic_t mm_users ;
1637 atomic_t mm_count ;
1638 int map_count ;
1639 spinlock_t page_table_lock ;
1640 struct rw_semaphore mmap_sem ;
1641 struct list_head mmlist ;
1642 unsigned long hiwater_rss ;
1643 unsigned long hiwater_vm ;
1644 unsigned long total_vm ;
1645 unsigned long locked_vm ;
1646 unsigned long pinned_vm ;
1647 unsigned long shared_vm ;
1648 unsigned long exec_vm ;
1649 unsigned long stack_vm ;
1650 unsigned long reserved_vm ;
1651 unsigned long def_flags ;
1652 unsigned long nr_ptes ;
1653 unsigned long start_code ;
1654 unsigned long end_code ;
1655 unsigned long start_data ;
1656 unsigned long end_data ;
1657 unsigned long start_brk ;
1658 unsigned long brk ;
1659 unsigned long start_stack ;
1660 unsigned long arg_start ;
1661 unsigned long arg_end ;
1662 unsigned long env_start ;
1663 unsigned long env_end ;
1664 unsigned long saved_auxv[44] ;
1665 struct mm_rss_stat rss_stat ;
1666 struct linux_binfmt *binfmt ;
1667 cpumask_var_t cpu_vm_mask_var ;
1668 mm_context_t context ;
1669 unsigned int faultstamp ;
1670 unsigned int token_priority ;
1671 unsigned int last_interval ;
1672 unsigned long flags ;
1673 struct core_state *core_state ;
1674 spinlock_t ioctx_lock ;
1675 struct hlist_head ioctx_list ;
1676 struct task_struct *owner ;
1677 struct file *exe_file ;
1678 unsigned long num_exe_file_vmas ;
1679 struct mmu_notifier_mm *mmu_notifier_mm ;
1680 pgtable_t pmd_huge_pte ;
1681 struct cpumask cpumask_allocation ;
1682};
1683#line 7 "include/asm-generic/cputime.h"
1684typedef unsigned long cputime_t;
1685#line 84 "include/linux/sem.h"
1686struct task_struct;
1687#line 101
1688struct sem_undo_list;
1689#line 101 "include/linux/sem.h"
1690struct sysv_sem {
1691 struct sem_undo_list *undo_list ;
1692};
1693#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1694struct siginfo;
1695#line 10
1696struct siginfo;
1697#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1698struct __anonstruct_sigset_t_215 {
1699 unsigned long sig[1] ;
1700};
1701#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1702typedef struct __anonstruct_sigset_t_215 sigset_t;
1703#line 17 "include/asm-generic/signal-defs.h"
1704typedef void __signalfn_t(int );
1705#line 18 "include/asm-generic/signal-defs.h"
1706typedef __signalfn_t *__sighandler_t;
1707#line 20 "include/asm-generic/signal-defs.h"
1708typedef void __restorefn_t(void);
1709#line 21 "include/asm-generic/signal-defs.h"
1710typedef __restorefn_t *__sigrestore_t;
1711#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1712struct sigaction {
1713 __sighandler_t sa_handler ;
1714 unsigned long sa_flags ;
1715 __sigrestore_t sa_restorer ;
1716 sigset_t sa_mask ;
1717};
1718#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1719struct k_sigaction {
1720 struct sigaction sa ;
1721};
1722#line 7 "include/asm-generic/siginfo.h"
1723union sigval {
1724 int sival_int ;
1725 void *sival_ptr ;
1726};
1727#line 7 "include/asm-generic/siginfo.h"
1728typedef union sigval sigval_t;
1729#line 48 "include/asm-generic/siginfo.h"
1730struct __anonstruct__kill_217 {
1731 __kernel_pid_t _pid ;
1732 __kernel_uid32_t _uid ;
1733};
1734#line 48 "include/asm-generic/siginfo.h"
1735struct __anonstruct__timer_218 {
1736 __kernel_timer_t _tid ;
1737 int _overrun ;
1738 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1739 sigval_t _sigval ;
1740 int _sys_private ;
1741};
1742#line 48 "include/asm-generic/siginfo.h"
1743struct __anonstruct__rt_219 {
1744 __kernel_pid_t _pid ;
1745 __kernel_uid32_t _uid ;
1746 sigval_t _sigval ;
1747};
1748#line 48 "include/asm-generic/siginfo.h"
1749struct __anonstruct__sigchld_220 {
1750 __kernel_pid_t _pid ;
1751 __kernel_uid32_t _uid ;
1752 int _status ;
1753 __kernel_clock_t _utime ;
1754 __kernel_clock_t _stime ;
1755};
1756#line 48 "include/asm-generic/siginfo.h"
1757struct __anonstruct__sigfault_221 {
1758 void *_addr ;
1759 short _addr_lsb ;
1760};
1761#line 48 "include/asm-generic/siginfo.h"
1762struct __anonstruct__sigpoll_222 {
1763 long _band ;
1764 int _fd ;
1765};
1766#line 48 "include/asm-generic/siginfo.h"
1767union __anonunion__sifields_216 {
1768 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1769 struct __anonstruct__kill_217 _kill ;
1770 struct __anonstruct__timer_218 _timer ;
1771 struct __anonstruct__rt_219 _rt ;
1772 struct __anonstruct__sigchld_220 _sigchld ;
1773 struct __anonstruct__sigfault_221 _sigfault ;
1774 struct __anonstruct__sigpoll_222 _sigpoll ;
1775};
1776#line 48 "include/asm-generic/siginfo.h"
1777struct siginfo {
1778 int si_signo ;
1779 int si_errno ;
1780 int si_code ;
1781 union __anonunion__sifields_216 _sifields ;
1782};
1783#line 48 "include/asm-generic/siginfo.h"
1784typedef struct siginfo siginfo_t;
1785#line 288
1786struct siginfo;
1787#line 10 "include/linux/signal.h"
1788struct task_struct;
1789#line 18
1790struct user_struct;
1791#line 28 "include/linux/signal.h"
1792struct sigpending {
1793 struct list_head list ;
1794 sigset_t signal ;
1795};
1796#line 239
1797struct timespec;
1798#line 240
1799struct pt_regs;
1800#line 50 "include/linux/pid.h"
1801struct pid_namespace;
1802#line 50 "include/linux/pid.h"
1803struct upid {
1804 int nr ;
1805 struct pid_namespace *ns ;
1806 struct hlist_node pid_chain ;
1807};
1808#line 57 "include/linux/pid.h"
1809struct pid {
1810 atomic_t count ;
1811 unsigned int level ;
1812 struct hlist_head tasks[3] ;
1813 struct rcu_head rcu ;
1814 struct upid numbers[1] ;
1815};
1816#line 69 "include/linux/pid.h"
1817struct pid_link {
1818 struct hlist_node node ;
1819 struct pid *pid ;
1820};
1821#line 100
1822struct pid_namespace;
1823#line 10 "include/linux/seccomp.h"
1824struct __anonstruct_seccomp_t_225 {
1825 int mode ;
1826};
1827#line 10 "include/linux/seccomp.h"
1828typedef struct __anonstruct_seccomp_t_225 seccomp_t;
1829#line 81 "include/linux/plist.h"
1830struct plist_head {
1831 struct list_head node_list ;
1832};
1833#line 85 "include/linux/plist.h"
1834struct plist_node {
1835 int prio ;
1836 struct list_head prio_list ;
1837 struct list_head node_list ;
1838};
1839#line 40 "include/linux/rtmutex.h"
1840struct rt_mutex_waiter;
1841#line 40
1842struct rt_mutex_waiter;
1843#line 42 "include/linux/resource.h"
1844struct rlimit {
1845 unsigned long rlim_cur ;
1846 unsigned long rlim_max ;
1847};
1848#line 81
1849struct task_struct;
1850#line 8 "include/linux/timerqueue.h"
1851struct timerqueue_node {
1852 struct rb_node node ;
1853 ktime_t expires ;
1854};
1855#line 13 "include/linux/timerqueue.h"
1856struct timerqueue_head {
1857 struct rb_root head ;
1858 struct timerqueue_node *next ;
1859};
1860#line 27 "include/linux/hrtimer.h"
1861struct hrtimer_clock_base;
1862#line 27
1863struct hrtimer_clock_base;
1864#line 28
1865struct hrtimer_cpu_base;
1866#line 28
1867struct hrtimer_cpu_base;
1868#line 44
1869enum hrtimer_restart {
1870 HRTIMER_NORESTART = 0,
1871 HRTIMER_RESTART = 1
1872} ;
1873#line 108 "include/linux/hrtimer.h"
1874struct hrtimer {
1875 struct timerqueue_node node ;
1876 ktime_t _softexpires ;
1877 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1878 struct hrtimer_clock_base *base ;
1879 unsigned long state ;
1880 int start_pid ;
1881 void *start_site ;
1882 char start_comm[16] ;
1883};
1884#line 145 "include/linux/hrtimer.h"
1885struct hrtimer_clock_base {
1886 struct hrtimer_cpu_base *cpu_base ;
1887 int index ;
1888 clockid_t clockid ;
1889 struct timerqueue_head active ;
1890 ktime_t resolution ;
1891 ktime_t (*get_time)(void) ;
1892 ktime_t softirq_time ;
1893 ktime_t offset ;
1894};
1895#line 178 "include/linux/hrtimer.h"
1896struct hrtimer_cpu_base {
1897 raw_spinlock_t lock ;
1898 unsigned long active_bases ;
1899 ktime_t expires_next ;
1900 int hres_active ;
1901 int hang_detected ;
1902 unsigned long nr_events ;
1903 unsigned long nr_retries ;
1904 unsigned long nr_hangs ;
1905 ktime_t max_hang_time ;
1906 struct hrtimer_clock_base clock_base[3] ;
1907};
1908#line 11 "include/linux/task_io_accounting.h"
1909struct task_io_accounting {
1910 u64 rchar ;
1911 u64 wchar ;
1912 u64 syscr ;
1913 u64 syscw ;
1914 u64 read_bytes ;
1915 u64 write_bytes ;
1916 u64 cancelled_write_bytes ;
1917};
1918#line 13 "include/linux/latencytop.h"
1919struct task_struct;
1920#line 20 "include/linux/latencytop.h"
1921struct latency_record {
1922 unsigned long backtrace[12] ;
1923 unsigned int count ;
1924 unsigned long time ;
1925 unsigned long max ;
1926};
1927#line 29 "include/linux/key.h"
1928typedef int32_t key_serial_t;
1929#line 32 "include/linux/key.h"
1930typedef uint32_t key_perm_t;
1931#line 34
1932struct key;
1933#line 34
1934struct key;
1935#line 75
1936struct user_struct;
1937#line 76
1938struct signal_struct;
1939#line 76
1940struct signal_struct;
1941#line 77
1942struct cred;
1943#line 79
1944struct key_type;
1945#line 79
1946struct key_type;
1947#line 81
1948struct keyring_list;
1949#line 81
1950struct keyring_list;
1951#line 124
1952struct key_user;
1953#line 124 "include/linux/key.h"
1954union __anonunion____missing_field_name_226 {
1955 time_t expiry ;
1956 time_t revoked_at ;
1957};
1958#line 124 "include/linux/key.h"
1959union __anonunion_type_data_227 {
1960 struct list_head link ;
1961 unsigned long x[2] ;
1962 void *p[2] ;
1963 int reject_error ;
1964};
1965#line 124 "include/linux/key.h"
1966union __anonunion_payload_228 {
1967 unsigned long value ;
1968 void *rcudata ;
1969 void *data ;
1970 struct keyring_list *subscriptions ;
1971};
1972#line 124 "include/linux/key.h"
1973struct key {
1974 atomic_t usage ;
1975 key_serial_t serial ;
1976 struct rb_node serial_node ;
1977 struct key_type *type ;
1978 struct rw_semaphore sem ;
1979 struct key_user *user ;
1980 void *security ;
1981 union __anonunion____missing_field_name_226 __annonCompField42 ;
1982 uid_t uid ;
1983 gid_t gid ;
1984 key_perm_t perm ;
1985 unsigned short quotalen ;
1986 unsigned short datalen ;
1987 unsigned long flags ;
1988 char *description ;
1989 union __anonunion_type_data_227 type_data ;
1990 union __anonunion_payload_228 payload ;
1991};
1992#line 18 "include/linux/selinux.h"
1993struct audit_context;
1994#line 18
1995struct audit_context;
1996#line 21 "include/linux/cred.h"
1997struct user_struct;
1998#line 22
1999struct cred;
2000#line 31 "include/linux/cred.h"
2001struct group_info {
2002 atomic_t usage ;
2003 int ngroups ;
2004 int nblocks ;
2005 gid_t small_block[32] ;
2006 gid_t *blocks[0] ;
2007};
2008#line 83 "include/linux/cred.h"
2009struct thread_group_cred {
2010 atomic_t usage ;
2011 pid_t tgid ;
2012 spinlock_t lock ;
2013 struct key *session_keyring ;
2014 struct key *process_keyring ;
2015 struct rcu_head rcu ;
2016};
2017#line 116 "include/linux/cred.h"
2018struct cred {
2019 atomic_t usage ;
2020 atomic_t subscribers ;
2021 void *put_addr ;
2022 unsigned int magic ;
2023 uid_t uid ;
2024 gid_t gid ;
2025 uid_t suid ;
2026 gid_t sgid ;
2027 uid_t euid ;
2028 gid_t egid ;
2029 uid_t fsuid ;
2030 gid_t fsgid ;
2031 unsigned int securebits ;
2032 kernel_cap_t cap_inheritable ;
2033 kernel_cap_t cap_permitted ;
2034 kernel_cap_t cap_effective ;
2035 kernel_cap_t cap_bset ;
2036 unsigned char jit_keyring ;
2037 struct key *thread_keyring ;
2038 struct key *request_key_auth ;
2039 struct thread_group_cred *tgcred ;
2040 void *security ;
2041 struct user_struct *user ;
2042 struct user_namespace *user_ns ;
2043 struct group_info *group_info ;
2044 struct rcu_head rcu ;
2045};
2046#line 61 "include/linux/llist.h"
2047struct llist_node;
2048#line 65 "include/linux/llist.h"
2049struct llist_node {
2050 struct llist_node *next ;
2051};
2052#line 97 "include/linux/sched.h"
2053struct futex_pi_state;
2054#line 97
2055struct futex_pi_state;
2056#line 98
2057struct robust_list_head;
2058#line 98
2059struct robust_list_head;
2060#line 99
2061struct bio_list;
2062#line 99
2063struct bio_list;
2064#line 100
2065struct fs_struct;
2066#line 100
2067struct fs_struct;
2068#line 101
2069struct perf_event_context;
2070#line 101
2071struct perf_event_context;
2072#line 102
2073struct blk_plug;
2074#line 102
2075struct blk_plug;
2076#line 151
2077struct cfs_rq;
2078#line 151
2079struct cfs_rq;
2080#line 259
2081struct task_struct;
2082#line 366
2083struct nsproxy;
2084#line 367
2085struct user_namespace;
2086#line 214 "include/linux/aio.h"
2087struct mm_struct;
2088#line 443 "include/linux/sched.h"
2089struct sighand_struct {
2090 atomic_t count ;
2091 struct k_sigaction action[64] ;
2092 spinlock_t siglock ;
2093 wait_queue_head_t signalfd_wqh ;
2094};
2095#line 450 "include/linux/sched.h"
2096struct pacct_struct {
2097 int ac_flag ;
2098 long ac_exitcode ;
2099 unsigned long ac_mem ;
2100 cputime_t ac_utime ;
2101 cputime_t ac_stime ;
2102 unsigned long ac_minflt ;
2103 unsigned long ac_majflt ;
2104};
2105#line 458 "include/linux/sched.h"
2106struct cpu_itimer {
2107 cputime_t expires ;
2108 cputime_t incr ;
2109 u32 error ;
2110 u32 incr_error ;
2111};
2112#line 476 "include/linux/sched.h"
2113struct task_cputime {
2114 cputime_t utime ;
2115 cputime_t stime ;
2116 unsigned long long sum_exec_runtime ;
2117};
2118#line 512 "include/linux/sched.h"
2119struct thread_group_cputimer {
2120 struct task_cputime cputime ;
2121 int running ;
2122 raw_spinlock_t lock ;
2123};
2124#line 519
2125struct autogroup;
2126#line 519
2127struct autogroup;
2128#line 528
2129struct tty_struct;
2130#line 528
2131struct taskstats;
2132#line 528
2133struct tty_audit_buf;
2134#line 528 "include/linux/sched.h"
2135struct signal_struct {
2136 atomic_t sigcnt ;
2137 atomic_t live ;
2138 int nr_threads ;
2139 wait_queue_head_t wait_chldexit ;
2140 struct task_struct *curr_target ;
2141 struct sigpending shared_pending ;
2142 int group_exit_code ;
2143 int notify_count ;
2144 struct task_struct *group_exit_task ;
2145 int group_stop_count ;
2146 unsigned int flags ;
2147 unsigned int is_child_subreaper : 1 ;
2148 unsigned int has_child_subreaper : 1 ;
2149 struct list_head posix_timers ;
2150 struct hrtimer real_timer ;
2151 struct pid *leader_pid ;
2152 ktime_t it_real_incr ;
2153 struct cpu_itimer it[2] ;
2154 struct thread_group_cputimer cputimer ;
2155 struct task_cputime cputime_expires ;
2156 struct list_head cpu_timers[3] ;
2157 struct pid *tty_old_pgrp ;
2158 int leader ;
2159 struct tty_struct *tty ;
2160 struct autogroup *autogroup ;
2161 cputime_t utime ;
2162 cputime_t stime ;
2163 cputime_t cutime ;
2164 cputime_t cstime ;
2165 cputime_t gtime ;
2166 cputime_t cgtime ;
2167 cputime_t prev_utime ;
2168 cputime_t prev_stime ;
2169 unsigned long nvcsw ;
2170 unsigned long nivcsw ;
2171 unsigned long cnvcsw ;
2172 unsigned long cnivcsw ;
2173 unsigned long min_flt ;
2174 unsigned long maj_flt ;
2175 unsigned long cmin_flt ;
2176 unsigned long cmaj_flt ;
2177 unsigned long inblock ;
2178 unsigned long oublock ;
2179 unsigned long cinblock ;
2180 unsigned long coublock ;
2181 unsigned long maxrss ;
2182 unsigned long cmaxrss ;
2183 struct task_io_accounting ioac ;
2184 unsigned long long sum_sched_runtime ;
2185 struct rlimit rlim[16] ;
2186 struct pacct_struct pacct ;
2187 struct taskstats *stats ;
2188 unsigned int audit_tty ;
2189 struct tty_audit_buf *tty_audit_buf ;
2190 struct rw_semaphore group_rwsem ;
2191 int oom_adj ;
2192 int oom_score_adj ;
2193 int oom_score_adj_min ;
2194 struct mutex cred_guard_mutex ;
2195};
2196#line 703 "include/linux/sched.h"
2197struct user_struct {
2198 atomic_t __count ;
2199 atomic_t processes ;
2200 atomic_t files ;
2201 atomic_t sigpending ;
2202 atomic_t inotify_watches ;
2203 atomic_t inotify_devs ;
2204 atomic_t fanotify_listeners ;
2205 atomic_long_t epoll_watches ;
2206 unsigned long mq_bytes ;
2207 unsigned long locked_shm ;
2208 struct key *uid_keyring ;
2209 struct key *session_keyring ;
2210 struct hlist_node uidhash_node ;
2211 uid_t uid ;
2212 struct user_namespace *user_ns ;
2213 atomic_long_t locked_vm ;
2214};
2215#line 747
2216struct backing_dev_info;
2217#line 748
2218struct reclaim_state;
2219#line 748
2220struct reclaim_state;
2221#line 751 "include/linux/sched.h"
2222struct sched_info {
2223 unsigned long pcount ;
2224 unsigned long long run_delay ;
2225 unsigned long long last_arrival ;
2226 unsigned long long last_queued ;
2227};
2228#line 763 "include/linux/sched.h"
2229struct task_delay_info {
2230 spinlock_t lock ;
2231 unsigned int flags ;
2232 struct timespec blkio_start ;
2233 struct timespec blkio_end ;
2234 u64 blkio_delay ;
2235 u64 swapin_delay ;
2236 u32 blkio_count ;
2237 u32 swapin_count ;
2238 struct timespec freepages_start ;
2239 struct timespec freepages_end ;
2240 u64 freepages_delay ;
2241 u32 freepages_count ;
2242};
2243#line 1088
2244struct io_context;
2245#line 1088
2246struct io_context;
2247#line 1097
2248struct audit_context;
2249#line 1098
2250struct mempolicy;
2251#line 1099
2252struct pipe_inode_info;
2253#line 1099
2254struct pipe_inode_info;
2255#line 1102
2256struct rq;
2257#line 1102
2258struct rq;
2259#line 1122 "include/linux/sched.h"
2260struct sched_class {
2261 struct sched_class const *next ;
2262 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2263 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2264 void (*yield_task)(struct rq *rq ) ;
2265 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2266 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2267 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2268 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2269 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2270 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2271 void (*post_schedule)(struct rq *this_rq ) ;
2272 void (*task_waking)(struct task_struct *task ) ;
2273 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2274 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2275 void (*rq_online)(struct rq *rq ) ;
2276 void (*rq_offline)(struct rq *rq ) ;
2277 void (*set_curr_task)(struct rq *rq ) ;
2278 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2279 void (*task_fork)(struct task_struct *p ) ;
2280 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2281 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2282 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2283 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2284 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2285};
2286#line 1167 "include/linux/sched.h"
2287struct load_weight {
2288 unsigned long weight ;
2289 unsigned long inv_weight ;
2290};
2291#line 1172 "include/linux/sched.h"
2292struct sched_statistics {
2293 u64 wait_start ;
2294 u64 wait_max ;
2295 u64 wait_count ;
2296 u64 wait_sum ;
2297 u64 iowait_count ;
2298 u64 iowait_sum ;
2299 u64 sleep_start ;
2300 u64 sleep_max ;
2301 s64 sum_sleep_runtime ;
2302 u64 block_start ;
2303 u64 block_max ;
2304 u64 exec_max ;
2305 u64 slice_max ;
2306 u64 nr_migrations_cold ;
2307 u64 nr_failed_migrations_affine ;
2308 u64 nr_failed_migrations_running ;
2309 u64 nr_failed_migrations_hot ;
2310 u64 nr_forced_migrations ;
2311 u64 nr_wakeups ;
2312 u64 nr_wakeups_sync ;
2313 u64 nr_wakeups_migrate ;
2314 u64 nr_wakeups_local ;
2315 u64 nr_wakeups_remote ;
2316 u64 nr_wakeups_affine ;
2317 u64 nr_wakeups_affine_attempts ;
2318 u64 nr_wakeups_passive ;
2319 u64 nr_wakeups_idle ;
2320};
2321#line 1207 "include/linux/sched.h"
2322struct sched_entity {
2323 struct load_weight load ;
2324 struct rb_node run_node ;
2325 struct list_head group_node ;
2326 unsigned int on_rq ;
2327 u64 exec_start ;
2328 u64 sum_exec_runtime ;
2329 u64 vruntime ;
2330 u64 prev_sum_exec_runtime ;
2331 u64 nr_migrations ;
2332 struct sched_statistics statistics ;
2333 struct sched_entity *parent ;
2334 struct cfs_rq *cfs_rq ;
2335 struct cfs_rq *my_q ;
2336};
2337#line 1233
2338struct rt_rq;
2339#line 1233 "include/linux/sched.h"
2340struct sched_rt_entity {
2341 struct list_head run_list ;
2342 unsigned long timeout ;
2343 unsigned int time_slice ;
2344 int nr_cpus_allowed ;
2345 struct sched_rt_entity *back ;
2346 struct sched_rt_entity *parent ;
2347 struct rt_rq *rt_rq ;
2348 struct rt_rq *my_q ;
2349};
2350#line 1264
2351struct files_struct;
2352#line 1264
2353struct css_set;
2354#line 1264
2355struct compat_robust_list_head;
2356#line 1264
2357struct mem_cgroup;
2358#line 1264 "include/linux/sched.h"
2359struct memcg_batch_info {
2360 int do_batch ;
2361 struct mem_cgroup *memcg ;
2362 unsigned long nr_pages ;
2363 unsigned long memsw_nr_pages ;
2364};
2365#line 1264 "include/linux/sched.h"
2366struct task_struct {
2367 long volatile state ;
2368 void *stack ;
2369 atomic_t usage ;
2370 unsigned int flags ;
2371 unsigned int ptrace ;
2372 struct llist_node wake_entry ;
2373 int on_cpu ;
2374 int on_rq ;
2375 int prio ;
2376 int static_prio ;
2377 int normal_prio ;
2378 unsigned int rt_priority ;
2379 struct sched_class const *sched_class ;
2380 struct sched_entity se ;
2381 struct sched_rt_entity rt ;
2382 struct hlist_head preempt_notifiers ;
2383 unsigned char fpu_counter ;
2384 unsigned int policy ;
2385 cpumask_t cpus_allowed ;
2386 struct sched_info sched_info ;
2387 struct list_head tasks ;
2388 struct plist_node pushable_tasks ;
2389 struct mm_struct *mm ;
2390 struct mm_struct *active_mm ;
2391 unsigned int brk_randomized : 1 ;
2392 int exit_state ;
2393 int exit_code ;
2394 int exit_signal ;
2395 int pdeath_signal ;
2396 unsigned int jobctl ;
2397 unsigned int personality ;
2398 unsigned int did_exec : 1 ;
2399 unsigned int in_execve : 1 ;
2400 unsigned int in_iowait : 1 ;
2401 unsigned int sched_reset_on_fork : 1 ;
2402 unsigned int sched_contributes_to_load : 1 ;
2403 unsigned int irq_thread : 1 ;
2404 pid_t pid ;
2405 pid_t tgid ;
2406 unsigned long stack_canary ;
2407 struct task_struct *real_parent ;
2408 struct task_struct *parent ;
2409 struct list_head children ;
2410 struct list_head sibling ;
2411 struct task_struct *group_leader ;
2412 struct list_head ptraced ;
2413 struct list_head ptrace_entry ;
2414 struct pid_link pids[3] ;
2415 struct list_head thread_group ;
2416 struct completion *vfork_done ;
2417 int *set_child_tid ;
2418 int *clear_child_tid ;
2419 cputime_t utime ;
2420 cputime_t stime ;
2421 cputime_t utimescaled ;
2422 cputime_t stimescaled ;
2423 cputime_t gtime ;
2424 cputime_t prev_utime ;
2425 cputime_t prev_stime ;
2426 unsigned long nvcsw ;
2427 unsigned long nivcsw ;
2428 struct timespec start_time ;
2429 struct timespec real_start_time ;
2430 unsigned long min_flt ;
2431 unsigned long maj_flt ;
2432 struct task_cputime cputime_expires ;
2433 struct list_head cpu_timers[3] ;
2434 struct cred const *real_cred ;
2435 struct cred const *cred ;
2436 struct cred *replacement_session_keyring ;
2437 char comm[16] ;
2438 int link_count ;
2439 int total_link_count ;
2440 struct sysv_sem sysvsem ;
2441 unsigned long last_switch_count ;
2442 struct thread_struct thread ;
2443 struct fs_struct *fs ;
2444 struct files_struct *files ;
2445 struct nsproxy *nsproxy ;
2446 struct signal_struct *signal ;
2447 struct sighand_struct *sighand ;
2448 sigset_t blocked ;
2449 sigset_t real_blocked ;
2450 sigset_t saved_sigmask ;
2451 struct sigpending pending ;
2452 unsigned long sas_ss_sp ;
2453 size_t sas_ss_size ;
2454 int (*notifier)(void *priv ) ;
2455 void *notifier_data ;
2456 sigset_t *notifier_mask ;
2457 struct audit_context *audit_context ;
2458 uid_t loginuid ;
2459 unsigned int sessionid ;
2460 seccomp_t seccomp ;
2461 u32 parent_exec_id ;
2462 u32 self_exec_id ;
2463 spinlock_t alloc_lock ;
2464 raw_spinlock_t pi_lock ;
2465 struct plist_head pi_waiters ;
2466 struct rt_mutex_waiter *pi_blocked_on ;
2467 struct mutex_waiter *blocked_on ;
2468 unsigned int irq_events ;
2469 unsigned long hardirq_enable_ip ;
2470 unsigned long hardirq_disable_ip ;
2471 unsigned int hardirq_enable_event ;
2472 unsigned int hardirq_disable_event ;
2473 int hardirqs_enabled ;
2474 int hardirq_context ;
2475 unsigned long softirq_disable_ip ;
2476 unsigned long softirq_enable_ip ;
2477 unsigned int softirq_disable_event ;
2478 unsigned int softirq_enable_event ;
2479 int softirqs_enabled ;
2480 int softirq_context ;
2481 void *journal_info ;
2482 struct bio_list *bio_list ;
2483 struct blk_plug *plug ;
2484 struct reclaim_state *reclaim_state ;
2485 struct backing_dev_info *backing_dev_info ;
2486 struct io_context *io_context ;
2487 unsigned long ptrace_message ;
2488 siginfo_t *last_siginfo ;
2489 struct task_io_accounting ioac ;
2490 u64 acct_rss_mem1 ;
2491 u64 acct_vm_mem1 ;
2492 cputime_t acct_timexpd ;
2493 nodemask_t mems_allowed ;
2494 seqcount_t mems_allowed_seq ;
2495 int cpuset_mem_spread_rotor ;
2496 int cpuset_slab_spread_rotor ;
2497 struct css_set *cgroups ;
2498 struct list_head cg_list ;
2499 struct robust_list_head *robust_list ;
2500 struct compat_robust_list_head *compat_robust_list ;
2501 struct list_head pi_state_list ;
2502 struct futex_pi_state *pi_state_cache ;
2503 struct perf_event_context *perf_event_ctxp[2] ;
2504 struct mutex perf_event_mutex ;
2505 struct list_head perf_event_list ;
2506 struct mempolicy *mempolicy ;
2507 short il_next ;
2508 short pref_node_fork ;
2509 struct rcu_head rcu ;
2510 struct pipe_inode_info *splice_pipe ;
2511 struct task_delay_info *delays ;
2512 int make_it_fail ;
2513 int nr_dirtied ;
2514 int nr_dirtied_pause ;
2515 unsigned long dirty_paused_when ;
2516 int latency_record_count ;
2517 struct latency_record latency_record[32] ;
2518 unsigned long timer_slack_ns ;
2519 unsigned long default_timer_slack_ns ;
2520 struct list_head *scm_work_list ;
2521 unsigned long trace ;
2522 unsigned long trace_recursion ;
2523 struct memcg_batch_info memcg_batch ;
2524 atomic_t ptrace_bp_refcnt ;
2525};
2526#line 1681
2527struct pid_namespace;
2528#line 27 "include/linux/mtd/nand.h"
2529struct mtd_info;
2530#line 28
2531struct nand_flash_dev;
2532#line 28
2533struct nand_flash_dev;
2534#line 575 "include/linux/mtd/nand.h"
2535struct nand_flash_dev {
2536 char *name ;
2537 int id ;
2538 unsigned long pagesize ;
2539 unsigned long chipsize ;
2540 unsigned long erasesize ;
2541 unsigned long options ;
2542};
2543#line 589 "include/linux/mtd/nand.h"
2544struct nand_manufacturers {
2545 int id ;
2546 char *name ;
2547};
2548#line 160 "include/linux/mtd/doc2000.h"
2549struct Nand {
2550 char floor ;
2551 char chip ;
2552 unsigned long curadr ;
2553 unsigned char curmode ;
2554};
2555#line 180 "include/linux/mtd/doc2000.h"
2556struct DiskOnChip {
2557 unsigned long physadr ;
2558 void *virtadr ;
2559 unsigned long totlen ;
2560 unsigned char ChipID ;
2561 int ioreg ;
2562 unsigned long mfr ;
2563 unsigned long id ;
2564 int chipshift ;
2565 char page256 ;
2566 char pageadrlen ;
2567 char interleave ;
2568 unsigned long erasesize ;
2569 int curfloor ;
2570 int curchip ;
2571 int numchips ;
2572 struct Nand *chips ;
2573 struct mtd_info *nextdoc ;
2574 struct mutex lock ;
2575};
2576#line 1 "<compiler builtins>"
2577long __builtin_expect(long val , long res ) ;
2578#line 397 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2579__inline static int ffs(int x ) __attribute__((__no_instrument_function__)) ;
2580#line 397 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2581__inline static int ffs(int x )
2582{ int r ;
2583 long tmp ;
2584
2585 {
2586#line 411
2587 tmp = -1L;
2588#line 412
2589 __asm__ ("bsfl %1,%0": "=r" (r): "rm" (x), "0" (tmp));
2590#line 425
2591 return (r + 1);
2592}
2593}
2594#line 100 "include/linux/printk.h"
2595extern int ( printk)(char const *fmt , ...) ;
2596#line 44 "include/linux/dynamic_debug.h"
2597extern int ( __dynamic_pr_debug)(struct _ddebug *descriptor ,
2598 char const *fmt , ...) ;
2599#line 152 "include/linux/mutex.h"
2600void mutex_lock(struct mutex *lock ) ;
2601#line 153
2602int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2603#line 154
2604int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2605#line 168
2606int mutex_trylock(struct mutex *lock ) ;
2607#line 169
2608void mutex_unlock(struct mutex *lock ) ;
2609#line 170
2610int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2611#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2612__inline static unsigned char readb(void const volatile *addr ) __attribute__((__no_instrument_function__)) ;
2613#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2614__inline static unsigned char readb(void const volatile *addr )
2615{ unsigned char ret ;
2616 unsigned char volatile *__cil_tmp3 ;
2617
2618 {
2619#line 53
2620 __cil_tmp3 = (unsigned char volatile *)addr;
2621#line 53
2622 __asm__ volatile ("mov"
2623 "b"
2624 " %1,%0": "=q" (ret): "m" (*__cil_tmp3): "memory");
2625#line 53
2626 return (ret);
2627}
2628}
2629#line 61
2630__inline static void writeb(unsigned char val , void volatile *addr ) __attribute__((__no_instrument_function__)) ;
2631#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2632__inline static void writeb(unsigned char val , void volatile *addr )
2633{ unsigned char volatile *__cil_tmp3 ;
2634
2635 {
2636#line 61
2637 __cil_tmp3 = (unsigned char volatile *)addr;
2638#line 61
2639 __asm__ volatile ("mov"
2640 "b"
2641 " %0,%1": : "q" (val), "m" (*__cil_tmp3): "memory");
2642#line 61
2643 return;
2644}
2645}
2646#line 187
2647extern void iounmap(void volatile *addr ) ;
2648#line 26 "include/linux/export.h"
2649extern struct module __this_module ;
2650#line 68 "include/linux/module.h"
2651void cleanup_module(void) ;
2652#line 161 "include/linux/slab.h"
2653extern void kfree(void const * ) ;
2654#line 221 "include/linux/slub_def.h"
2655extern void *__kmalloc(size_t size , gfp_t flags ) ;
2656#line 268
2657__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2658 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
2659#line 268 "include/linux/slub_def.h"
2660__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2661 gfp_t flags )
2662{ void *tmp___2 ;
2663
2664 {
2665 {
2666#line 283
2667 tmp___2 = __kmalloc(size, flags);
2668 }
2669#line 283
2670 return (tmp___2);
2671}
2672}
2673#line 362 "include/linux/mtd/mtd.h"
2674extern int mtd_device_parse_register(struct mtd_info *mtd , char const **part_probe_types ,
2675 struct mtd_part_parser_data *parser_data , struct mtd_partition const *defparts ,
2676 int defnr_parts ) ;
2677#line 369
2678extern int mtd_device_unregister(struct mtd_info *master ) ;
2679#line 388
2680extern void mtd_erase_callback(struct erase_info *instr ) ;
2681#line 594 "include/linux/mtd/nand.h"
2682extern struct nand_flash_dev nand_flash_ids[] ;
2683#line 595
2684extern struct nand_manufacturers nand_manuf_ids[] ;
2685#line 204 "include/linux/mtd/doc2000.h"
2686extern int doc_decode_ecc(unsigned char *sector , unsigned char *ecc1 ) ;
2687#line 36 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2688static int doc_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2689 u_char *buf ) ;
2690#line 38
2691static int doc_write(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
2692 u_char const *buf ) ;
2693#line 40
2694static int doc_read_oob(struct mtd_info *mtd , loff_t ofs , struct mtd_oob_ops *ops ) ;
2695#line 42
2696static int doc_write_oob(struct mtd_info *mtd , loff_t ofs , struct mtd_oob_ops *ops ) ;
2697#line 44
2698static int doc_erase(struct mtd_info *mtd , struct erase_info *instr ) ;
2699#line 46 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2700static struct mtd_info *docmilpluslist = (struct mtd_info *)((void *)0);
2701#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2702static void DoC_Delay(void *docptr , int cycles )
2703{ int i ;
2704 void *__cil_tmp4 ;
2705 void volatile *__cil_tmp5 ;
2706
2707 {
2708#line 54
2709 i = 0;
2710 {
2711#line 54
2712 while (1) {
2713 while_continue: ;
2714#line 54
2715 if (i < cycles) {
2716
2717 } else {
2718#line 54
2719 goto while_break;
2720 }
2721 {
2722#line 55
2723 __cil_tmp4 = docptr + 4098;
2724#line 55
2725 __cil_tmp5 = (void volatile *)__cil_tmp4;
2726#line 55
2727 writeb((unsigned char)0, __cil_tmp5);
2728#line 54
2729 i = i + 1;
2730 }
2731 }
2732 while_break: ;
2733 }
2734#line 56
2735 return;
2736}
2737}
2738#line 65
2739static int _DoC_WaitReady(void *docptr ) ;
2740#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2741static struct _ddebug __attribute__((__aligned__(8))) descriptor __attribute__((__used__,
2742__section__("__verbose"))) = {"doc2001plus", "_DoC_WaitReady", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c",
2743 "_DoC_WaitReady called for out-of-line wait\n", 65U, 0U};
2744#line 72
2745static int _DoC_WaitReady(void *docptr ) ;
2746#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2747static struct _ddebug __attribute__((__aligned__(8))) descriptor___0 __attribute__((__used__,
2748__section__("__verbose"))) = {"doc2001plus", "_DoC_WaitReady", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c",
2749 "_DoC_WaitReady timed out.\n", 72U, 0U};
2750#line 61 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2751static int _DoC_WaitReady(void *docptr )
2752{ unsigned int c ;
2753 long tmp___7 ;
2754 unsigned char tmp___8 ;
2755 long tmp___9 ;
2756 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp6 ;
2757 unsigned int __cil_tmp7 ;
2758 unsigned int __cil_tmp8 ;
2759 int __cil_tmp9 ;
2760 int __cil_tmp10 ;
2761 long __cil_tmp11 ;
2762 void *__cil_tmp12 ;
2763 void const volatile *__cil_tmp13 ;
2764 int __cil_tmp14 ;
2765 int __cil_tmp15 ;
2766 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp16 ;
2767 unsigned int __cil_tmp17 ;
2768 unsigned int __cil_tmp18 ;
2769 int __cil_tmp19 ;
2770 int __cil_tmp20 ;
2771 long __cil_tmp21 ;
2772
2773 {
2774#line 63
2775 c = 65535U;
2776 {
2777#line 65
2778 while (1) {
2779 while_continue: ;
2780 {
2781#line 65
2782 __cil_tmp6 = & descriptor;
2783#line 65
2784 __cil_tmp7 = __cil_tmp6->flags;
2785#line 65
2786 __cil_tmp8 = __cil_tmp7 & 1U;
2787#line 65
2788 __cil_tmp9 = ! __cil_tmp8;
2789#line 65
2790 __cil_tmp10 = ! __cil_tmp9;
2791#line 65
2792 __cil_tmp11 = (long )__cil_tmp10;
2793#line 65
2794 tmp___7 = __builtin_expect(__cil_tmp11, 0L);
2795 }
2796#line 65
2797 if (tmp___7) {
2798 {
2799#line 65
2800 __dynamic_pr_debug(& descriptor, "_DoC_WaitReady called for out-of-line wait\n");
2801 }
2802 } else {
2803
2804 }
2805#line 65
2806 goto while_break;
2807 }
2808 while_break: ;
2809 }
2810 {
2811#line 68
2812 while (1) {
2813 while_continue___0: ;
2814 {
2815#line 68
2816 __cil_tmp12 = docptr + 4128;
2817#line 68
2818 __cil_tmp13 = (void const volatile *)__cil_tmp12;
2819#line 68
2820 tmp___8 = readb(__cil_tmp13);
2821 }
2822 {
2823#line 68
2824 __cil_tmp14 = (int )tmp___8;
2825#line 68
2826 __cil_tmp15 = __cil_tmp14 & 192;
2827#line 68
2828 if (__cil_tmp15 != 192) {
2829#line 68
2830 c = c - 1U;
2831#line 68
2832 if (c) {
2833
2834 } else {
2835#line 68
2836 goto while_break___0;
2837 }
2838 } else {
2839#line 68
2840 goto while_break___0;
2841 }
2842 }
2843 }
2844 while_break___0: ;
2845 }
2846#line 71
2847 if (c == 0U) {
2848 {
2849#line 72
2850 while (1) {
2851 while_continue___1: ;
2852 {
2853#line 72
2854 __cil_tmp16 = & descriptor___0;
2855#line 72
2856 __cil_tmp17 = __cil_tmp16->flags;
2857#line 72
2858 __cil_tmp18 = __cil_tmp17 & 1U;
2859#line 72
2860 __cil_tmp19 = ! __cil_tmp18;
2861#line 72
2862 __cil_tmp20 = ! __cil_tmp19;
2863#line 72
2864 __cil_tmp21 = (long )__cil_tmp20;
2865#line 72
2866 tmp___9 = __builtin_expect(__cil_tmp21, 0L);
2867 }
2868#line 72
2869 if (tmp___9) {
2870 {
2871#line 72
2872 __dynamic_pr_debug(& descriptor___0, "_DoC_WaitReady timed out.\n");
2873 }
2874 } else {
2875
2876 }
2877#line 72
2878 goto while_break___1;
2879 }
2880 while_break___1: ;
2881 }
2882 } else {
2883
2884 }
2885#line 74
2886 return (c == 0U);
2887}
2888}
2889#line 77
2890__inline static int DoC_WaitReady(void *docptr ) __attribute__((__no_instrument_function__)) ;
2891#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2892__inline static int DoC_WaitReady(void *docptr )
2893{ int ret ;
2894 unsigned char tmp___7 ;
2895 void *__cil_tmp4 ;
2896 void const volatile *__cil_tmp5 ;
2897 int __cil_tmp6 ;
2898 int __cil_tmp7 ;
2899
2900 {
2901 {
2902#line 80
2903 ret = 0;
2904#line 84
2905 DoC_Delay(docptr, 4);
2906#line 86
2907 __cil_tmp4 = docptr + 4128;
2908#line 86
2909 __cil_tmp5 = (void const volatile *)__cil_tmp4;
2910#line 86
2911 tmp___7 = readb(__cil_tmp5);
2912 }
2913 {
2914#line 86
2915 __cil_tmp6 = (int )tmp___7;
2916#line 86
2917 __cil_tmp7 = __cil_tmp6 & 192;
2918#line 86
2919 if (__cil_tmp7 != 192) {
2920 {
2921#line 88
2922 ret = _DoC_WaitReady(docptr);
2923 }
2924 } else {
2925
2926 }
2927 }
2928#line 90
2929 return (ret);
2930}
2931}
2932#line 98
2933__inline static void DoC_CheckASIC(void *docptr ) __attribute__((__no_instrument_function__)) ;
2934#line 98 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2935__inline static void DoC_CheckASIC(void *docptr )
2936{ unsigned char tmp___7 ;
2937 void *__cil_tmp3 ;
2938 void const volatile *__cil_tmp4 ;
2939 int __cil_tmp5 ;
2940 int __cil_tmp6 ;
2941 void *__cil_tmp7 ;
2942 void volatile *__cil_tmp8 ;
2943 int __cil_tmp9 ;
2944 unsigned char __cil_tmp10 ;
2945 void *__cil_tmp11 ;
2946 void volatile *__cil_tmp12 ;
2947
2948 {
2949 {
2950#line 101
2951 __cil_tmp3 = docptr + 4102;
2952#line 101
2953 __cil_tmp4 = (void const volatile *)__cil_tmp3;
2954#line 101
2955 tmp___7 = readb(__cil_tmp4);
2956 }
2957 {
2958#line 101
2959 __cil_tmp5 = (int )tmp___7;
2960#line 101
2961 __cil_tmp6 = __cil_tmp5 & 1;
2962#line 101
2963 if (__cil_tmp6 == 0) {
2964 {
2965#line 102
2966 __cil_tmp7 = docptr + 4102;
2967#line 102
2968 __cil_tmp8 = (void volatile *)__cil_tmp7;
2969#line 102
2970 writeb((unsigned char)5, __cil_tmp8);
2971#line 103
2972 __cil_tmp9 = ~ 5;
2973#line 103
2974 __cil_tmp10 = (unsigned char )__cil_tmp9;
2975#line 103
2976 __cil_tmp11 = docptr + 4214;
2977#line 103
2978 __cil_tmp12 = (void volatile *)__cil_tmp11;
2979#line 103
2980 writeb(__cil_tmp10, __cil_tmp12);
2981 }
2982 } else {
2983
2984 }
2985 }
2986#line 105
2987 return;
2988}
2989}
2990#line 110 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
2991static void DoC_Command(void *docptr , unsigned char command , unsigned char xtraflags )
2992{ void *__cil_tmp4 ;
2993 void volatile *__cil_tmp5 ;
2994 void *__cil_tmp6 ;
2995 void volatile *__cil_tmp7 ;
2996 void *__cil_tmp8 ;
2997 void volatile *__cil_tmp9 ;
2998
2999 {
3000 {
3001#line 113
3002 __cil_tmp4 = docptr + 4132;
3003#line 113
3004 __cil_tmp5 = (void volatile *)__cil_tmp4;
3005#line 113
3006 writeb(command, __cil_tmp5);
3007#line 114
3008 __cil_tmp6 = docptr + 4142;
3009#line 114
3010 __cil_tmp7 = (void volatile *)__cil_tmp6;
3011#line 114
3012 writeb(command, __cil_tmp7);
3013#line 115
3014 __cil_tmp8 = docptr + 4142;
3015#line 115
3016 __cil_tmp9 = (void volatile *)__cil_tmp8;
3017#line 115
3018 writeb(command, __cil_tmp9);
3019 }
3020#line 116
3021 return;
3022}
3023}
3024#line 121
3025__inline static void DoC_Address(struct DiskOnChip *doc , int numbytes , unsigned long ofs ,
3026 unsigned char xtraflags1 , unsigned char xtraflags2 ) __attribute__((__no_instrument_function__)) ;
3027#line 121 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3028__inline static void DoC_Address(struct DiskOnChip *doc , int numbytes , unsigned long ofs ,
3029 unsigned char xtraflags1 , unsigned char xtraflags2 )
3030{ void *docptr ;
3031 unsigned long __cil_tmp7 ;
3032 unsigned long __cil_tmp8 ;
3033 unsigned long __cil_tmp9 ;
3034 unsigned long __cil_tmp10 ;
3035 char __cil_tmp11 ;
3036 int __cil_tmp12 ;
3037 unsigned long __cil_tmp13 ;
3038 unsigned char __cil_tmp14 ;
3039 void *__cil_tmp15 ;
3040 void volatile *__cil_tmp16 ;
3041 unsigned long __cil_tmp17 ;
3042 unsigned long __cil_tmp18 ;
3043 unsigned char __cil_tmp19 ;
3044 void *__cil_tmp20 ;
3045 void volatile *__cil_tmp21 ;
3046 unsigned long __cil_tmp22 ;
3047 unsigned long __cil_tmp23 ;
3048 unsigned char __cil_tmp24 ;
3049 void *__cil_tmp25 ;
3050 void volatile *__cil_tmp26 ;
3051 unsigned long __cil_tmp27 ;
3052 unsigned char __cil_tmp28 ;
3053 void *__cil_tmp29 ;
3054 void volatile *__cil_tmp30 ;
3055 unsigned long __cil_tmp31 ;
3056 unsigned long __cil_tmp32 ;
3057 unsigned char __cil_tmp33 ;
3058 void *__cil_tmp34 ;
3059 void volatile *__cil_tmp35 ;
3060 unsigned long __cil_tmp36 ;
3061 unsigned long __cil_tmp37 ;
3062 unsigned char __cil_tmp38 ;
3063 void *__cil_tmp39 ;
3064 void volatile *__cil_tmp40 ;
3065 void *__cil_tmp41 ;
3066 void volatile *__cil_tmp42 ;
3067 void *__cil_tmp43 ;
3068 void volatile *__cil_tmp44 ;
3069
3070 {
3071#line 125
3072 __cil_tmp7 = (unsigned long )doc;
3073#line 125
3074 __cil_tmp8 = __cil_tmp7 + 8;
3075#line 125
3076 docptr = *((void **)__cil_tmp8);
3077#line 128
3078 __cil_tmp9 = (unsigned long )doc;
3079#line 128
3080 __cil_tmp10 = __cil_tmp9 + 54;
3081#line 128
3082 __cil_tmp11 = *((char *)__cil_tmp10);
3083#line 128
3084 __cil_tmp12 = (int )__cil_tmp11;
3085#line 128
3086 ofs = ofs >> __cil_tmp12;
3087#line 131
3088 if (numbytes == 1) {
3089#line 131
3090 goto case_1;
3091 } else
3092#line 135
3093 if (numbytes == 2) {
3094#line 135
3095 goto case_2;
3096 } else
3097#line 140
3098 if (numbytes == 3) {
3099#line 140
3100 goto case_3;
3101 } else {
3102 {
3103#line 146
3104 goto switch_default;
3105#line 130
3106 if (0) {
3107 case_1:
3108 {
3109#line 133
3110 __cil_tmp13 = ofs & 255UL;
3111#line 133
3112 __cil_tmp14 = (unsigned char )__cil_tmp13;
3113#line 133
3114 __cil_tmp15 = docptr + 4134;
3115#line 133
3116 __cil_tmp16 = (void volatile *)__cil_tmp15;
3117#line 133
3118 writeb(__cil_tmp14, __cil_tmp16);
3119 }
3120#line 134
3121 goto switch_break;
3122 case_2:
3123 {
3124#line 137
3125 __cil_tmp17 = ofs >> 9;
3126#line 137
3127 __cil_tmp18 = __cil_tmp17 & 255UL;
3128#line 137
3129 __cil_tmp19 = (unsigned char )__cil_tmp18;
3130#line 137
3131 __cil_tmp20 = docptr + 4134;
3132#line 137
3133 __cil_tmp21 = (void volatile *)__cil_tmp20;
3134#line 137
3135 writeb(__cil_tmp19, __cil_tmp21);
3136#line 138
3137 __cil_tmp22 = ofs >> 17;
3138#line 138
3139 __cil_tmp23 = __cil_tmp22 & 255UL;
3140#line 138
3141 __cil_tmp24 = (unsigned char )__cil_tmp23;
3142#line 138
3143 __cil_tmp25 = docptr + 4134;
3144#line 138
3145 __cil_tmp26 = (void volatile *)__cil_tmp25;
3146#line 138
3147 writeb(__cil_tmp24, __cil_tmp26);
3148 }
3149#line 139
3150 goto switch_break;
3151 case_3:
3152 {
3153#line 142
3154 __cil_tmp27 = ofs & 255UL;
3155#line 142
3156 __cil_tmp28 = (unsigned char )__cil_tmp27;
3157#line 142
3158 __cil_tmp29 = docptr + 4134;
3159#line 142
3160 __cil_tmp30 = (void volatile *)__cil_tmp29;
3161#line 142
3162 writeb(__cil_tmp28, __cil_tmp30);
3163#line 143
3164 __cil_tmp31 = ofs >> 9;
3165#line 143
3166 __cil_tmp32 = __cil_tmp31 & 255UL;
3167#line 143
3168 __cil_tmp33 = (unsigned char )__cil_tmp32;
3169#line 143
3170 __cil_tmp34 = docptr + 4134;
3171#line 143
3172 __cil_tmp35 = (void volatile *)__cil_tmp34;
3173#line 143
3174 writeb(__cil_tmp33, __cil_tmp35);
3175#line 144
3176 __cil_tmp36 = ofs >> 17;
3177#line 144
3178 __cil_tmp37 = __cil_tmp36 & 255UL;
3179#line 144
3180 __cil_tmp38 = (unsigned char )__cil_tmp37;
3181#line 144
3182 __cil_tmp39 = docptr + 4134;
3183#line 144
3184 __cil_tmp40 = (void volatile *)__cil_tmp39;
3185#line 144
3186 writeb(__cil_tmp38, __cil_tmp40);
3187 }
3188#line 145
3189 goto switch_break;
3190 switch_default:
3191#line 147
3192 return;
3193 } else {
3194 switch_break: ;
3195 }
3196 }
3197 }
3198 {
3199#line 150
3200 __cil_tmp41 = docptr + 4142;
3201#line 150
3202 __cil_tmp42 = (void volatile *)__cil_tmp41;
3203#line 150
3204 writeb((unsigned char)0, __cil_tmp42);
3205#line 151
3206 __cil_tmp43 = docptr + 4142;
3207#line 151
3208 __cil_tmp44 = (void volatile *)__cil_tmp43;
3209#line 151
3210 writeb((unsigned char)0, __cil_tmp44);
3211 }
3212#line 152
3213 return;
3214}
3215}
3216#line 155 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3217static int DoC_SelectChip(void *docptr , int chip )
3218{
3219
3220 {
3221#line 158
3222 return (0);
3223}
3224}
3225#line 162 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3226static int DoC_SelectFloor(void *docptr , int floor )
3227{ int __cil_tmp3 ;
3228 unsigned char __cil_tmp4 ;
3229 void *__cil_tmp5 ;
3230 void volatile *__cil_tmp6 ;
3231
3232 {
3233 {
3234#line 164
3235 __cil_tmp3 = floor & 3;
3236#line 164
3237 __cil_tmp4 = (unsigned char )__cil_tmp3;
3238#line 164
3239 __cil_tmp5 = docptr + 4104;
3240#line 164
3241 __cil_tmp6 = (void volatile *)__cil_tmp5;
3242#line 164
3243 writeb(__cil_tmp4, __cil_tmp6);
3244 }
3245#line 165
3246 return (0);
3247}
3248}
3249#line 180 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3250static unsigned int DoC_GetDataOffset(struct mtd_info *mtd , loff_t *from )
3251{ struct DiskOnChip *this ;
3252 unsigned int ofs ;
3253 unsigned int cmd ;
3254 unsigned long __cil_tmp6 ;
3255 unsigned long __cil_tmp7 ;
3256 void *__cil_tmp8 ;
3257 unsigned long __cil_tmp9 ;
3258 unsigned long __cil_tmp10 ;
3259 loff_t __cil_tmp11 ;
3260 long long __cil_tmp12 ;
3261 unsigned int __cil_tmp13 ;
3262 long long __cil_tmp14 ;
3263 loff_t __cil_tmp15 ;
3264 long long __cil_tmp16 ;
3265 loff_t __cil_tmp17 ;
3266
3267 {
3268#line 182
3269 __cil_tmp6 = (unsigned long )mtd;
3270#line 182
3271 __cil_tmp7 = __cil_tmp6 + 360;
3272#line 182
3273 __cil_tmp8 = *((void **)__cil_tmp7);
3274#line 182
3275 this = (struct DiskOnChip *)__cil_tmp8;
3276 {
3277#line 184
3278 __cil_tmp9 = (unsigned long )this;
3279#line 184
3280 __cil_tmp10 = __cil_tmp9 + 54;
3281#line 184
3282 if (*((char *)__cil_tmp10)) {
3283#line 185
3284 __cil_tmp11 = *from;
3285#line 185
3286 __cil_tmp12 = __cil_tmp11 & 1023LL;
3287#line 185
3288 ofs = (unsigned int )__cil_tmp12;
3289#line 188
3290 if (ofs < 512U) {
3291#line 189
3292 cmd = 0U;
3293#line 190
3294 ofs = ofs & 511U;
3295 } else
3296#line 191
3297 if (ofs < 1014U) {
3298#line 192
3299 cmd = 1U;
3300#line 193
3301 __cil_tmp13 = ofs & 511U;
3302#line 193
3303 ofs = __cil_tmp13 + 10U;
3304 } else {
3305#line 195
3306 cmd = 80U;
3307#line 196
3308 ofs = ofs - 1014U;
3309 }
3310#line 199
3311 __cil_tmp14 = (long long )ofs;
3312#line 199
3313 __cil_tmp15 = *from;
3314#line 199
3315 __cil_tmp16 = __cil_tmp15 & -1024LL;
3316#line 199
3317 *from = __cil_tmp16 | __cil_tmp14;
3318#line 200
3319 return (cmd);
3320 } else {
3321 {
3322#line 203
3323 __cil_tmp17 = *from;
3324#line 203
3325 if (__cil_tmp17 & 256LL) {
3326#line 204
3327 return (1U);
3328 } else {
3329
3330 }
3331 }
3332#line 205
3333 return (0U);
3334 }
3335 }
3336}
3337}
3338#line 209 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3339static unsigned int DoC_GetECCOffset(struct mtd_info *mtd , loff_t *from )
3340{ unsigned int ofs ;
3341 unsigned int cmd ;
3342 loff_t __cil_tmp5 ;
3343 loff_t __cil_tmp6 ;
3344 long long __cil_tmp7 ;
3345 long long __cil_tmp8 ;
3346 loff_t __cil_tmp9 ;
3347 long long __cil_tmp10 ;
3348 long long __cil_tmp11 ;
3349 loff_t __cil_tmp12 ;
3350 long long __cil_tmp13 ;
3351
3352 {
3353 {
3354#line 213
3355 __cil_tmp5 = *from;
3356#line 213
3357 if (__cil_tmp5 & 512LL) {
3358#line 214
3359 cmd = 80U;
3360#line 215
3361 __cil_tmp6 = *from;
3362#line 215
3363 __cil_tmp7 = __cil_tmp6 & 15LL;
3364#line 215
3365 __cil_tmp8 = 10LL + __cil_tmp7;
3366#line 215
3367 ofs = (unsigned int )__cil_tmp8;
3368 } else {
3369#line 217
3370 cmd = 1U;
3371#line 218
3372 __cil_tmp9 = *from;
3373#line 218
3374 __cil_tmp10 = __cil_tmp9 & 15LL;
3375#line 218
3376 ofs = (unsigned int )__cil_tmp10;
3377 }
3378 }
3379#line 221
3380 __cil_tmp11 = (long long )ofs;
3381#line 221
3382 __cil_tmp12 = *from;
3383#line 221
3384 __cil_tmp13 = __cil_tmp12 & -1024LL;
3385#line 221
3386 *from = __cil_tmp13 | __cil_tmp11;
3387#line 222
3388 return (cmd);
3389}
3390}
3391#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3392static unsigned int DoC_GetFlagsOffset(struct mtd_info *mtd , loff_t *from )
3393{ unsigned int ofs ;
3394 unsigned int cmd ;
3395 loff_t __cil_tmp5 ;
3396 long long __cil_tmp6 ;
3397 loff_t __cil_tmp7 ;
3398 long long __cil_tmp8 ;
3399
3400 {
3401#line 229
3402 cmd = 1U;
3403 {
3404#line 230
3405 __cil_tmp5 = *from;
3406#line 230
3407 if (__cil_tmp5 & 512LL) {
3408#line 230
3409 ofs = 8U;
3410 } else {
3411#line 230
3412 ofs = 6U;
3413 }
3414 }
3415#line 231
3416 __cil_tmp6 = (long long )ofs;
3417#line 231
3418 __cil_tmp7 = *from;
3419#line 231
3420 __cil_tmp8 = __cil_tmp7 & -1024LL;
3421#line 231
3422 *from = __cil_tmp8 | __cil_tmp6;
3423#line 232
3424 return (cmd);
3425}
3426}
3427#line 235 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3428static unsigned int DoC_GetHdrOffset(struct mtd_info *mtd , loff_t *from )
3429{ unsigned int ofs ;
3430 unsigned int cmd ;
3431 loff_t __cil_tmp5 ;
3432 long long __cil_tmp6 ;
3433 loff_t __cil_tmp7 ;
3434 long long __cil_tmp8 ;
3435
3436 {
3437#line 239
3438 cmd = 80U;
3439 {
3440#line 240
3441 __cil_tmp5 = *from;
3442#line 240
3443 if (__cil_tmp5 & 512LL) {
3444#line 240
3445 ofs = 24U;
3446 } else {
3447#line 240
3448 ofs = 16U;
3449 }
3450 }
3451#line 241
3452 __cil_tmp6 = (long long )ofs;
3453#line 241
3454 __cil_tmp7 = *from;
3455#line 241
3456 __cil_tmp8 = __cil_tmp7 & -1024LL;
3457#line 241
3458 *from = __cil_tmp8 | __cil_tmp6;
3459#line 242
3460 return (cmd);
3461}
3462}
3463#line 245
3464__inline static void MemReadDOC(void *docptr , unsigned char *buf , int len ) __attribute__((__no_instrument_function__)) ;
3465#line 245 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3466__inline static void MemReadDOC(void *docptr , unsigned char *buf , int len )
3467{ int i ;
3468 unsigned char *__cil_tmp5 ;
3469 int __cil_tmp6 ;
3470 void *__cil_tmp7 ;
3471 void const volatile *__cil_tmp8 ;
3472
3473 {
3474#line 249
3475 i = 0;
3476 {
3477#line 249
3478 while (1) {
3479 while_continue: ;
3480#line 249
3481 if (i < len) {
3482
3483 } else {
3484#line 249
3485 goto while_break;
3486 }
3487 {
3488#line 250
3489 __cil_tmp5 = buf + i;
3490#line 250
3491 __cil_tmp6 = 2048 + i;
3492#line 250
3493 __cil_tmp7 = docptr + __cil_tmp6;
3494#line 250
3495 __cil_tmp8 = (void const volatile *)__cil_tmp7;
3496#line 250
3497 *__cil_tmp5 = readb(__cil_tmp8);
3498#line 249
3499 i = i + 1;
3500 }
3501 }
3502 while_break: ;
3503 }
3504#line 254
3505 return;
3506}
3507}
3508#line 256
3509__inline static void MemWriteDOC(void *docptr , unsigned char *buf , int len ) __attribute__((__no_instrument_function__)) ;
3510#line 256 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3511__inline static void MemWriteDOC(void *docptr , unsigned char *buf , int len )
3512{ int i ;
3513 unsigned char *__cil_tmp5 ;
3514 unsigned char __cil_tmp6 ;
3515 int __cil_tmp7 ;
3516 void *__cil_tmp8 ;
3517 void volatile *__cil_tmp9 ;
3518
3519 {
3520#line 260
3521 i = 0;
3522 {
3523#line 260
3524 while (1) {
3525 while_continue: ;
3526#line 260
3527 if (i < len) {
3528
3529 } else {
3530#line 260
3531 goto while_break;
3532 }
3533 {
3534#line 261
3535 __cil_tmp5 = buf + i;
3536#line 261
3537 __cil_tmp6 = *__cil_tmp5;
3538#line 261
3539 __cil_tmp7 = 2048 + i;
3540#line 261
3541 __cil_tmp8 = docptr + __cil_tmp7;
3542#line 261
3543 __cil_tmp9 = (void volatile *)__cil_tmp8;
3544#line 261
3545 writeb(__cil_tmp6, __cil_tmp9);
3546#line 260
3547 i = i + 1;
3548 }
3549 }
3550 while_break: ;
3551 }
3552#line 265
3553 return;
3554}
3555}
3556#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3557static int DoC_IdentChip(struct DiskOnChip *doc , int floor , int chip )
3558{ int mfr ;
3559 int id ;
3560 int i ;
3561 int j ;
3562 char volatile dummy ;
3563 void *docptr ;
3564 unsigned char tmp___7 ;
3565 unsigned char tmp___8 ;
3566 unsigned char tmp___9 ;
3567 unsigned char tmp___10 ;
3568 unsigned char tmp___11 ;
3569 unsigned char tmp___12 ;
3570 unsigned char tmp___13 ;
3571 unsigned char tmp___14 ;
3572 int tmp___15 ;
3573 unsigned long __cil_tmp19 ;
3574 unsigned long __cil_tmp20 ;
3575 void *__cil_tmp21 ;
3576 void volatile *__cil_tmp22 ;
3577 void *__cil_tmp23 ;
3578 void volatile *__cil_tmp24 ;
3579 void *__cil_tmp25 ;
3580 void const volatile *__cil_tmp26 ;
3581 void *__cil_tmp27 ;
3582 void const volatile *__cil_tmp28 ;
3583 void *__cil_tmp29 ;
3584 void const volatile *__cil_tmp30 ;
3585 unsigned long __cil_tmp31 ;
3586 unsigned long __cil_tmp32 ;
3587 void *__cil_tmp33 ;
3588 void const volatile *__cil_tmp34 ;
3589 void *__cil_tmp35 ;
3590 void const volatile *__cil_tmp36 ;
3591 unsigned long __cil_tmp37 ;
3592 unsigned long __cil_tmp38 ;
3593 void *__cil_tmp39 ;
3594 void const volatile *__cil_tmp40 ;
3595 void *__cil_tmp41 ;
3596 void const volatile *__cil_tmp42 ;
3597 void *__cil_tmp43 ;
3598 void const volatile *__cil_tmp44 ;
3599 void *__cil_tmp45 ;
3600 void volatile *__cil_tmp46 ;
3601 void *__cil_tmp47 ;
3602 unsigned long __cil_tmp48 ;
3603 unsigned long __cil_tmp49 ;
3604 unsigned long __cil_tmp50 ;
3605 char *__cil_tmp51 ;
3606 unsigned long __cil_tmp52 ;
3607 unsigned long __cil_tmp53 ;
3608 unsigned long __cil_tmp54 ;
3609 unsigned long __cil_tmp55 ;
3610 int __cil_tmp56 ;
3611 unsigned long __cil_tmp57 ;
3612 unsigned long __cil_tmp58 ;
3613 int __cil_tmp59 ;
3614 unsigned long __cil_tmp60 ;
3615 unsigned long __cil_tmp61 ;
3616 int __cil_tmp62 ;
3617 unsigned long __cil_tmp63 ;
3618 unsigned long __cil_tmp64 ;
3619 unsigned long __cil_tmp65 ;
3620 char *__cil_tmp66 ;
3621 unsigned long __cil_tmp67 ;
3622 unsigned long __cil_tmp68 ;
3623 char *__cil_tmp69 ;
3624 unsigned long __cil_tmp70 ;
3625 unsigned long __cil_tmp71 ;
3626 unsigned long __cil_tmp72 ;
3627 unsigned long __cil_tmp73 ;
3628 unsigned long __cil_tmp74 ;
3629 unsigned long __cil_tmp75 ;
3630 unsigned long __cil_tmp76 ;
3631 unsigned long __cil_tmp77 ;
3632 unsigned long __cil_tmp78 ;
3633 int __cil_tmp79 ;
3634 unsigned long __cil_tmp80 ;
3635 unsigned long __cil_tmp81 ;
3636 unsigned long __cil_tmp82 ;
3637 unsigned long __cil_tmp83 ;
3638 unsigned long __cil_tmp84 ;
3639 unsigned long __cil_tmp85 ;
3640 char __cil_tmp86 ;
3641 int __cil_tmp87 ;
3642 unsigned long __cil_tmp88 ;
3643 unsigned long __cil_tmp89 ;
3644 unsigned long __cil_tmp90 ;
3645 unsigned long __cil_tmp91 ;
3646 void *__cil_tmp92 ;
3647 unsigned long __cil_tmp93 ;
3648 unsigned long __cil_tmp94 ;
3649 unsigned long __cil_tmp95 ;
3650 char *__cil_tmp96 ;
3651 unsigned long __cil_tmp97 ;
3652
3653 {
3654 {
3655#line 272
3656 __cil_tmp19 = (unsigned long )doc;
3657#line 272
3658 __cil_tmp20 = __cil_tmp19 + 8;
3659#line 272
3660 docptr = *((void **)__cil_tmp20);
3661#line 275
3662 DoC_SelectFloor(docptr, floor);
3663#line 276
3664 DoC_SelectChip(docptr, chip);
3665#line 279
3666 __cil_tmp21 = docptr + 4130;
3667#line 279
3668 __cil_tmp22 = (void volatile *)__cil_tmp21;
3669#line 279
3670 writeb((unsigned char)192, __cil_tmp22);
3671#line 282
3672 DoC_Command(docptr, (unsigned char)255, (unsigned char)0);
3673#line 283
3674 DoC_WaitReady(docptr);
3675#line 286
3676 DoC_Command(docptr, (unsigned char)144, (unsigned char)0);
3677#line 289
3678 DoC_Address(doc, 1, 0UL, (unsigned char)0, (unsigned char)0);
3679#line 291
3680 __cil_tmp23 = docptr + 4128;
3681#line 291
3682 __cil_tmp24 = (void volatile *)__cil_tmp23;
3683#line 291
3684 writeb((unsigned char)0, __cil_tmp24);
3685#line 292
3686 DoC_WaitReady(docptr);
3687#line 296
3688 __cil_tmp25 = docptr + 4138;
3689#line 296
3690 __cil_tmp26 = (void const volatile *)__cil_tmp25;
3691#line 296
3692 tmp___7 = readb(__cil_tmp26);
3693#line 296
3694 dummy = (char volatile )tmp___7;
3695#line 297
3696 __cil_tmp27 = docptr + 4138;
3697#line 297
3698 __cil_tmp28 = (void const volatile *)__cil_tmp27;
3699#line 297
3700 tmp___8 = readb(__cil_tmp28);
3701#line 297
3702 dummy = (char volatile )tmp___8;
3703#line 299
3704 __cil_tmp29 = docptr + 2048;
3705#line 299
3706 __cil_tmp30 = (void const volatile *)__cil_tmp29;
3707#line 299
3708 tmp___9 = readb(__cil_tmp30);
3709#line 299
3710 mfr = (int )tmp___9;
3711 }
3712 {
3713#line 300
3714 __cil_tmp31 = (unsigned long )doc;
3715#line 300
3716 __cil_tmp32 = __cil_tmp31 + 54;
3717#line 300
3718 if (*((char *)__cil_tmp32)) {
3719 {
3720#line 301
3721 __cil_tmp33 = docptr + 2048;
3722#line 301
3723 __cil_tmp34 = (void const volatile *)__cil_tmp33;
3724#line 301
3725 tmp___10 = readb(__cil_tmp34);
3726#line 301
3727 dummy = (char volatile )tmp___10;
3728 }
3729 } else {
3730
3731 }
3732 }
3733 {
3734#line 303
3735 __cil_tmp35 = docptr + 2048;
3736#line 303
3737 __cil_tmp36 = (void const volatile *)__cil_tmp35;
3738#line 303
3739 tmp___11 = readb(__cil_tmp36);
3740#line 303
3741 id = (int )tmp___11;
3742 }
3743 {
3744#line 304
3745 __cil_tmp37 = (unsigned long )doc;
3746#line 304
3747 __cil_tmp38 = __cil_tmp37 + 54;
3748#line 304
3749 if (*((char *)__cil_tmp38)) {
3750 {
3751#line 305
3752 __cil_tmp39 = docptr + 2048;
3753#line 305
3754 __cil_tmp40 = (void const volatile *)__cil_tmp39;
3755#line 305
3756 tmp___12 = readb(__cil_tmp40);
3757#line 305
3758 dummy = (char volatile )tmp___12;
3759 }
3760 } else {
3761
3762 }
3763 }
3764 {
3765#line 307
3766 __cil_tmp41 = docptr + 4140;
3767#line 307
3768 __cil_tmp42 = (void const volatile *)__cil_tmp41;
3769#line 307
3770 tmp___13 = readb(__cil_tmp42);
3771#line 307
3772 dummy = (char volatile )tmp___13;
3773#line 308
3774 __cil_tmp43 = docptr + 4140;
3775#line 308
3776 __cil_tmp44 = (void const volatile *)__cil_tmp43;
3777#line 308
3778 tmp___14 = readb(__cil_tmp44);
3779#line 308
3780 dummy = (char volatile )tmp___14;
3781#line 311
3782 __cil_tmp45 = docptr + 4130;
3783#line 311
3784 __cil_tmp46 = (void volatile *)__cil_tmp45;
3785#line 311
3786 writeb((unsigned char)0, __cil_tmp46);
3787 }
3788#line 314
3789 if (mfr == 255) {
3790#line 315
3791 return (0);
3792 } else
3793#line 314
3794 if (mfr == 0) {
3795#line 315
3796 return (0);
3797 } else {
3798
3799 }
3800#line 317
3801 i = 0;
3802 {
3803#line 317
3804 while (1) {
3805 while_continue: ;
3806 {
3807#line 317
3808 __cil_tmp47 = (void *)0;
3809#line 317
3810 __cil_tmp48 = (unsigned long )__cil_tmp47;
3811#line 317
3812 __cil_tmp49 = i * 48UL;
3813#line 317
3814 __cil_tmp50 = (unsigned long )(nand_flash_ids) + __cil_tmp49;
3815#line 317
3816 __cil_tmp51 = *((char **)__cil_tmp50);
3817#line 317
3818 __cil_tmp52 = (unsigned long )__cil_tmp51;
3819#line 317
3820 if (__cil_tmp52 != __cil_tmp48) {
3821
3822 } else {
3823#line 317
3824 goto while_break;
3825 }
3826 }
3827 {
3828#line 318
3829 __cil_tmp53 = i * 48UL;
3830#line 318
3831 __cil_tmp54 = __cil_tmp53 + 8;
3832#line 318
3833 __cil_tmp55 = (unsigned long )(nand_flash_ids) + __cil_tmp54;
3834#line 318
3835 __cil_tmp56 = *((int *)__cil_tmp55);
3836#line 318
3837 if (id == __cil_tmp56) {
3838#line 320
3839 j = 0;
3840 {
3841#line 320
3842 while (1) {
3843 while_continue___0: ;
3844 {
3845#line 320
3846 __cil_tmp57 = j * 16UL;
3847#line 320
3848 __cil_tmp58 = (unsigned long )(nand_manuf_ids) + __cil_tmp57;
3849#line 320
3850 __cil_tmp59 = *((int *)__cil_tmp58);
3851#line 320
3852 if (__cil_tmp59 != 0) {
3853
3854 } else {
3855#line 320
3856 goto while_break___0;
3857 }
3858 }
3859 {
3860#line 321
3861 __cil_tmp60 = j * 16UL;
3862#line 321
3863 __cil_tmp61 = (unsigned long )(nand_manuf_ids) + __cil_tmp60;
3864#line 321
3865 __cil_tmp62 = *((int *)__cil_tmp61);
3866#line 321
3867 if (__cil_tmp62 == mfr) {
3868#line 322
3869 goto while_break___0;
3870 } else {
3871
3872 }
3873 }
3874#line 320
3875 j = j + 1;
3876 }
3877 while_break___0: ;
3878 }
3879 {
3880#line 324
3881 __cil_tmp63 = j * 16UL;
3882#line 324
3883 __cil_tmp64 = __cil_tmp63 + 8;
3884#line 324
3885 __cil_tmp65 = (unsigned long )(nand_manuf_ids) + __cil_tmp64;
3886#line 324
3887 __cil_tmp66 = *((char **)__cil_tmp65);
3888#line 324
3889 __cil_tmp67 = i * 48UL;
3890#line 324
3891 __cil_tmp68 = (unsigned long )(nand_flash_ids) + __cil_tmp67;
3892#line 324
3893 __cil_tmp69 = *((char **)__cil_tmp68);
3894#line 324
3895 printk("<6>Flash chip found: Manufacturer ID: %2.2X, Chip ID: %2.2X (%s:%s)\n",
3896 mfr, id, __cil_tmp66, __cil_tmp69);
3897#line 327
3898 __cil_tmp70 = (unsigned long )doc;
3899#line 327
3900 __cil_tmp71 = __cil_tmp70 + 32;
3901#line 327
3902 *((unsigned long *)__cil_tmp71) = (unsigned long )mfr;
3903#line 328
3904 __cil_tmp72 = (unsigned long )doc;
3905#line 328
3906 __cil_tmp73 = __cil_tmp72 + 40;
3907#line 328
3908 *((unsigned long *)__cil_tmp73) = (unsigned long )id;
3909#line 329
3910 __cil_tmp74 = i * 48UL;
3911#line 329
3912 __cil_tmp75 = __cil_tmp74 + 24;
3913#line 329
3914 __cil_tmp76 = (unsigned long )(nand_flash_ids) + __cil_tmp75;
3915#line 329
3916 __cil_tmp77 = *((unsigned long *)__cil_tmp76);
3917#line 329
3918 __cil_tmp78 = __cil_tmp77 << 20;
3919#line 329
3920 __cil_tmp79 = (int )__cil_tmp78;
3921#line 329
3922 tmp___15 = ffs(__cil_tmp79);
3923#line 329
3924 __cil_tmp80 = (unsigned long )doc;
3925#line 329
3926 __cil_tmp81 = __cil_tmp80 + 48;
3927#line 329
3928 *((int *)__cil_tmp81) = tmp___15 - 1;
3929#line 330
3930 __cil_tmp82 = (unsigned long )doc;
3931#line 330
3932 __cil_tmp83 = __cil_tmp82 + 56;
3933#line 330
3934 __cil_tmp84 = (unsigned long )doc;
3935#line 330
3936 __cil_tmp85 = __cil_tmp84 + 54;
3937#line 330
3938 __cil_tmp86 = *((char *)__cil_tmp85);
3939#line 330
3940 __cil_tmp87 = (int )__cil_tmp86;
3941#line 330
3942 __cil_tmp88 = i * 48UL;
3943#line 330
3944 __cil_tmp89 = __cil_tmp88 + 32;
3945#line 330
3946 __cil_tmp90 = (unsigned long )(nand_flash_ids) + __cil_tmp89;
3947#line 330
3948 __cil_tmp91 = *((unsigned long *)__cil_tmp90);
3949#line 330
3950 *((unsigned long *)__cil_tmp83) = __cil_tmp91 << __cil_tmp87;
3951 }
3952#line 331
3953 goto while_break;
3954 } else {
3955
3956 }
3957 }
3958#line 317
3959 i = i + 1;
3960 }
3961 while_break: ;
3962 }
3963 {
3964#line 335
3965 __cil_tmp92 = (void *)0;
3966#line 335
3967 __cil_tmp93 = (unsigned long )__cil_tmp92;
3968#line 335
3969 __cil_tmp94 = i * 48UL;
3970#line 335
3971 __cil_tmp95 = (unsigned long )(nand_flash_ids) + __cil_tmp94;
3972#line 335
3973 __cil_tmp96 = *((char **)__cil_tmp95);
3974#line 335
3975 __cil_tmp97 = (unsigned long )__cil_tmp96;
3976#line 335
3977 if (__cil_tmp97 == __cil_tmp93) {
3978#line 336
3979 return (0);
3980 } else {
3981
3982 }
3983 }
3984#line 337
3985 return (1);
3986}
3987}
3988#line 341 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
3989static void DoC_ScanChips(struct DiskOnChip *this )
3990{ int floor ;
3991 int chip ;
3992 int numchips[2] ;
3993 int ret ;
3994 u_char conf ;
3995 unsigned char tmp___7 ;
3996 char const *tmp___8 ;
3997 unsigned char tmp___9 ;
3998 void *tmp___10 ;
3999 unsigned long __cil_tmp11 ;
4000 unsigned long __cil_tmp12 ;
4001 unsigned long __cil_tmp13 ;
4002 unsigned long __cil_tmp14 ;
4003 unsigned long __cil_tmp15 ;
4004 unsigned long __cil_tmp16 ;
4005 unsigned long __cil_tmp17 ;
4006 unsigned long __cil_tmp18 ;
4007 unsigned long __cil_tmp19 ;
4008 unsigned long __cil_tmp20 ;
4009 unsigned char __cil_tmp21 ;
4010 int __cil_tmp22 ;
4011 unsigned long __cil_tmp23 ;
4012 unsigned long __cil_tmp24 ;
4013 unsigned long __cil_tmp25 ;
4014 unsigned long __cil_tmp26 ;
4015 void *__cil_tmp27 ;
4016 void *__cil_tmp28 ;
4017 void const volatile *__cil_tmp29 ;
4018 int __cil_tmp30 ;
4019 int __cil_tmp31 ;
4020 unsigned long __cil_tmp32 ;
4021 unsigned long __cil_tmp33 ;
4022 char __cil_tmp34 ;
4023 int __cil_tmp35 ;
4024 int __cil_tmp36 ;
4025 unsigned long __cil_tmp37 ;
4026 unsigned long __cil_tmp38 ;
4027 void *__cil_tmp39 ;
4028 void *__cil_tmp40 ;
4029 void const volatile *__cil_tmp41 ;
4030 unsigned long __cil_tmp42 ;
4031 unsigned long __cil_tmp43 ;
4032 int __cil_tmp44 ;
4033 int __cil_tmp45 ;
4034 unsigned long __cil_tmp46 ;
4035 unsigned long __cil_tmp47 ;
4036 void *__cil_tmp48 ;
4037 void *__cil_tmp49 ;
4038 void volatile *__cil_tmp50 ;
4039 unsigned long __cil_tmp51 ;
4040 unsigned long __cil_tmp52 ;
4041 unsigned long __cil_tmp53 ;
4042 unsigned long __cil_tmp54 ;
4043 unsigned long __cil_tmp55 ;
4044 unsigned long __cil_tmp56 ;
4045 int __cil_tmp57 ;
4046 unsigned long __cil_tmp58 ;
4047 unsigned long __cil_tmp59 ;
4048 unsigned long __cil_tmp60 ;
4049 unsigned long __cil_tmp61 ;
4050 int __cil_tmp62 ;
4051 unsigned long __cil_tmp63 ;
4052 unsigned long __cil_tmp64 ;
4053 int __cil_tmp65 ;
4054 unsigned long __cil_tmp66 ;
4055 unsigned long __cil_tmp67 ;
4056 int __cil_tmp68 ;
4057 unsigned long __cil_tmp69 ;
4058 unsigned long __cil_tmp70 ;
4059 unsigned long __cil_tmp71 ;
4060 unsigned long __cil_tmp72 ;
4061 unsigned long __cil_tmp73 ;
4062 unsigned long __cil_tmp74 ;
4063 struct Nand *__cil_tmp75 ;
4064 unsigned long __cil_tmp76 ;
4065 unsigned long __cil_tmp77 ;
4066 int __cil_tmp78 ;
4067 unsigned long __cil_tmp79 ;
4068 unsigned long __cil_tmp80 ;
4069 struct Nand *__cil_tmp81 ;
4070 struct Nand *__cil_tmp82 ;
4071 unsigned long __cil_tmp83 ;
4072 unsigned long __cil_tmp84 ;
4073 struct Nand *__cil_tmp85 ;
4074 struct Nand *__cil_tmp86 ;
4075 unsigned long __cil_tmp87 ;
4076 unsigned long __cil_tmp88 ;
4077 unsigned long __cil_tmp89 ;
4078 unsigned long __cil_tmp90 ;
4079 struct Nand *__cil_tmp91 ;
4080 struct Nand *__cil_tmp92 ;
4081 unsigned long __cil_tmp93 ;
4082 unsigned long __cil_tmp94 ;
4083 unsigned long __cil_tmp95 ;
4084 unsigned long __cil_tmp96 ;
4085 struct Nand *__cil_tmp97 ;
4086 struct Nand *__cil_tmp98 ;
4087 unsigned long __cil_tmp99 ;
4088 unsigned long __cil_tmp100 ;
4089 unsigned long __cil_tmp101 ;
4090 unsigned long __cil_tmp102 ;
4091 unsigned long __cil_tmp103 ;
4092 unsigned long __cil_tmp104 ;
4093 int __cil_tmp105 ;
4094 int __cil_tmp106 ;
4095 unsigned long __cil_tmp107 ;
4096 unsigned long __cil_tmp108 ;
4097 int __cil_tmp109 ;
4098 int __cil_tmp110 ;
4099 unsigned long __cil_tmp111 ;
4100 unsigned long __cil_tmp112 ;
4101 int __cil_tmp113 ;
4102 unsigned long __cil_tmp114 ;
4103 unsigned long __cil_tmp115 ;
4104 unsigned long __cil_tmp116 ;
4105 unsigned long __cil_tmp117 ;
4106
4107 {
4108#line 347
4109 __cil_tmp11 = (unsigned long )this;
4110#line 347
4111 __cil_tmp12 = __cil_tmp11 + 72;
4112#line 347
4113 *((int *)__cil_tmp12) = 0;
4114#line 348
4115 __cil_tmp13 = (unsigned long )this;
4116#line 348
4117 __cil_tmp14 = __cil_tmp13 + 32;
4118#line 348
4119 *((unsigned long *)__cil_tmp14) = 0UL;
4120#line 349
4121 __cil_tmp15 = (unsigned long )this;
4122#line 349
4123 __cil_tmp16 = __cil_tmp15 + 40;
4124#line 349
4125 *((unsigned long *)__cil_tmp16) = 0UL;
4126#line 352
4127 __cil_tmp17 = (unsigned long )this;
4128#line 352
4129 __cil_tmp18 = __cil_tmp17 + 54;
4130#line 352
4131 *((char *)__cil_tmp18) = (char)0;
4132 {
4133#line 353
4134 __cil_tmp19 = (unsigned long )this;
4135#line 353
4136 __cil_tmp20 = __cil_tmp19 + 24;
4137#line 353
4138 __cil_tmp21 = *((unsigned char *)__cil_tmp20);
4139#line 353
4140 __cil_tmp22 = (int )__cil_tmp21;
4141#line 353
4142 if (__cil_tmp22 == 64) {
4143#line 354
4144 __cil_tmp23 = (unsigned long )this;
4145#line 354
4146 __cil_tmp24 = __cil_tmp23 + 54;
4147#line 354
4148 *((char *)__cil_tmp24) = (char)1;
4149 } else {
4150
4151 }
4152 }
4153 {
4154#line 357
4155 __cil_tmp25 = (unsigned long )this;
4156#line 357
4157 __cil_tmp26 = __cil_tmp25 + 8;
4158#line 357
4159 __cil_tmp27 = *((void **)__cil_tmp26);
4160#line 357
4161 __cil_tmp28 = __cil_tmp27 + 4106;
4162#line 357
4163 __cil_tmp29 = (void const volatile *)__cil_tmp28;
4164#line 357
4165 tmp___9 = readb(__cil_tmp29);
4166 }
4167 {
4168#line 357
4169 __cil_tmp30 = (int )tmp___9;
4170#line 357
4171 __cil_tmp31 = __cil_tmp30 & 4;
4172#line 357
4173 __cil_tmp32 = (unsigned long )this;
4174#line 357
4175 __cil_tmp33 = __cil_tmp32 + 54;
4176#line 357
4177 __cil_tmp34 = *((char *)__cil_tmp33);
4178#line 357
4179 __cil_tmp35 = (int )__cil_tmp34;
4180#line 357
4181 __cil_tmp36 = __cil_tmp35 << 2;
4182#line 357
4183 if (__cil_tmp36 != __cil_tmp31) {
4184 {
4185#line 359
4186 __cil_tmp37 = (unsigned long )this;
4187#line 359
4188 __cil_tmp38 = __cil_tmp37 + 8;
4189#line 359
4190 __cil_tmp39 = *((void **)__cil_tmp38);
4191#line 359
4192 __cil_tmp40 = __cil_tmp39 + 4106;
4193#line 359
4194 __cil_tmp41 = (void const volatile *)__cil_tmp40;
4195#line 359
4196 tmp___7 = readb(__cil_tmp41);
4197#line 359
4198 conf = tmp___7;
4199 }
4200 {
4201#line 360
4202 __cil_tmp42 = (unsigned long )this;
4203#line 360
4204 __cil_tmp43 = __cil_tmp42 + 54;
4205#line 360
4206 if (*((char *)__cil_tmp43)) {
4207#line 360
4208 tmp___8 = "on (16-bit)";
4209 } else {
4210#line 360
4211 tmp___8 = "off (8-bit)";
4212 }
4213 }
4214 {
4215#line 360
4216 printk("<5>Setting DiskOnChip Millennium Plus interleave to %s\n", tmp___8);
4217#line 362
4218 __cil_tmp44 = (int )conf;
4219#line 362
4220 __cil_tmp45 = __cil_tmp44 ^ 4;
4221#line 362
4222 conf = (u_char )__cil_tmp45;
4223#line 363
4224 __cil_tmp46 = (unsigned long )this;
4225#line 363
4226 __cil_tmp47 = __cil_tmp46 + 8;
4227#line 363
4228 __cil_tmp48 = *((void **)__cil_tmp47);
4229#line 363
4230 __cil_tmp49 = __cil_tmp48 + 4106;
4231#line 363
4232 __cil_tmp50 = (void volatile *)__cil_tmp49;
4233#line 363
4234 writeb(conf, __cil_tmp50);
4235 }
4236 } else {
4237
4238 }
4239 }
4240#line 367
4241 floor = 0;
4242#line 367
4243 ret = 1;
4244 {
4245#line 367
4246 while (1) {
4247 while_continue: ;
4248#line 367
4249 if (floor < 2) {
4250
4251 } else {
4252#line 367
4253 goto while_break;
4254 }
4255#line 368
4256 __cil_tmp51 = floor * 4UL;
4257#line 368
4258 __cil_tmp52 = (unsigned long )(numchips) + __cil_tmp51;
4259#line 368
4260 *((int *)__cil_tmp52) = 0;
4261#line 369
4262 chip = 0;
4263 {
4264#line 369
4265 while (1) {
4266 while_continue___0: ;
4267#line 369
4268 if (chip < 1) {
4269#line 369
4270 if (ret != 0) {
4271
4272 } else {
4273#line 369
4274 goto while_break___0;
4275 }
4276 } else {
4277#line 369
4278 goto while_break___0;
4279 }
4280 {
4281#line 370
4282 ret = DoC_IdentChip(this, floor, chip);
4283 }
4284#line 371
4285 if (ret) {
4286#line 372
4287 __cil_tmp53 = floor * 4UL;
4288#line 372
4289 __cil_tmp54 = (unsigned long )(numchips) + __cil_tmp53;
4290#line 372
4291 __cil_tmp55 = floor * 4UL;
4292#line 372
4293 __cil_tmp56 = (unsigned long )(numchips) + __cil_tmp55;
4294#line 372
4295 __cil_tmp57 = *((int *)__cil_tmp56);
4296#line 372
4297 *((int *)__cil_tmp54) = __cil_tmp57 + 1;
4298#line 373
4299 __cil_tmp58 = (unsigned long )this;
4300#line 373
4301 __cil_tmp59 = __cil_tmp58 + 72;
4302#line 373
4303 __cil_tmp60 = (unsigned long )this;
4304#line 373
4305 __cil_tmp61 = __cil_tmp60 + 72;
4306#line 373
4307 __cil_tmp62 = *((int *)__cil_tmp61);
4308#line 373
4309 *((int *)__cil_tmp59) = __cil_tmp62 + 1;
4310 } else {
4311
4312 }
4313#line 369
4314 chip = chip + 1;
4315 }
4316 while_break___0: ;
4317 }
4318#line 367
4319 floor = floor + 1;
4320 }
4321 while_break: ;
4322 }
4323 {
4324#line 378
4325 __cil_tmp63 = (unsigned long )this;
4326#line 378
4327 __cil_tmp64 = __cil_tmp63 + 72;
4328#line 378
4329 __cil_tmp65 = *((int *)__cil_tmp64);
4330#line 378
4331 if (! __cil_tmp65) {
4332 {
4333#line 379
4334 printk("No flash chips recognised.\n");
4335 }
4336#line 380
4337 return;
4338 } else {
4339
4340 }
4341 }
4342 {
4343#line 384
4344 __cil_tmp66 = (unsigned long )this;
4345#line 384
4346 __cil_tmp67 = __cil_tmp66 + 72;
4347#line 384
4348 __cil_tmp68 = *((int *)__cil_tmp67);
4349#line 384
4350 __cil_tmp69 = (unsigned long )__cil_tmp68;
4351#line 384
4352 __cil_tmp70 = 24UL * __cil_tmp69;
4353#line 384
4354 tmp___10 = kmalloc(__cil_tmp70, 208U);
4355#line 384
4356 __cil_tmp71 = (unsigned long )this;
4357#line 384
4358 __cil_tmp72 = __cil_tmp71 + 80;
4359#line 384
4360 *((struct Nand **)__cil_tmp72) = (struct Nand *)tmp___10;
4361 }
4362 {
4363#line 385
4364 __cil_tmp73 = (unsigned long )this;
4365#line 385
4366 __cil_tmp74 = __cil_tmp73 + 80;
4367#line 385
4368 __cil_tmp75 = *((struct Nand **)__cil_tmp74);
4369#line 385
4370 if (! __cil_tmp75) {
4371 {
4372#line 386
4373 printk("MTD: No memory for allocating chip info structures\n");
4374 }
4375#line 387
4376 return;
4377 } else {
4378
4379 }
4380 }
4381#line 392
4382 floor = 0;
4383#line 392
4384 ret = 0;
4385 {
4386#line 392
4387 while (1) {
4388 while_continue___1: ;
4389#line 392
4390 if (floor < 2) {
4391
4392 } else {
4393#line 392
4394 goto while_break___1;
4395 }
4396#line 393
4397 chip = 0;
4398 {
4399#line 393
4400 while (1) {
4401 while_continue___2: ;
4402 {
4403#line 393
4404 __cil_tmp76 = floor * 4UL;
4405#line 393
4406 __cil_tmp77 = (unsigned long )(numchips) + __cil_tmp76;
4407#line 393
4408 __cil_tmp78 = *((int *)__cil_tmp77);
4409#line 393
4410 if (chip < __cil_tmp78) {
4411
4412 } else {
4413#line 393
4414 goto while_break___2;
4415 }
4416 }
4417#line 394
4418 __cil_tmp79 = (unsigned long )this;
4419#line 394
4420 __cil_tmp80 = __cil_tmp79 + 80;
4421#line 394
4422 __cil_tmp81 = *((struct Nand **)__cil_tmp80);
4423#line 394
4424 __cil_tmp82 = __cil_tmp81 + ret;
4425#line 394
4426 *((char *)__cil_tmp82) = (char )floor;
4427#line 395
4428 __cil_tmp83 = (unsigned long )this;
4429#line 395
4430 __cil_tmp84 = __cil_tmp83 + 80;
4431#line 395
4432 __cil_tmp85 = *((struct Nand **)__cil_tmp84);
4433#line 395
4434 __cil_tmp86 = __cil_tmp85 + ret;
4435#line 395
4436 __cil_tmp87 = (unsigned long )__cil_tmp86;
4437#line 395
4438 __cil_tmp88 = __cil_tmp87 + 1;
4439#line 395
4440 *((char *)__cil_tmp88) = (char )chip;
4441#line 396
4442 __cil_tmp89 = (unsigned long )this;
4443#line 396
4444 __cil_tmp90 = __cil_tmp89 + 80;
4445#line 396
4446 __cil_tmp91 = *((struct Nand **)__cil_tmp90);
4447#line 396
4448 __cil_tmp92 = __cil_tmp91 + ret;
4449#line 396
4450 __cil_tmp93 = (unsigned long )__cil_tmp92;
4451#line 396
4452 __cil_tmp94 = __cil_tmp93 + 8;
4453#line 396
4454 *((unsigned long *)__cil_tmp94) = 0UL;
4455#line 397
4456 __cil_tmp95 = (unsigned long )this;
4457#line 397
4458 __cil_tmp96 = __cil_tmp95 + 80;
4459#line 397
4460 __cil_tmp97 = *((struct Nand **)__cil_tmp96);
4461#line 397
4462 __cil_tmp98 = __cil_tmp97 + ret;
4463#line 397
4464 __cil_tmp99 = (unsigned long )__cil_tmp98;
4465#line 397
4466 __cil_tmp100 = __cil_tmp99 + 16;
4467#line 397
4468 *((unsigned char *)__cil_tmp100) = (unsigned char)80;
4469#line 398
4470 ret = ret + 1;
4471#line 393
4472 chip = chip + 1;
4473 }
4474 while_break___2: ;
4475 }
4476#line 392
4477 floor = floor + 1;
4478 }
4479 while_break___1: ;
4480 }
4481 {
4482#line 403
4483 __cil_tmp101 = (unsigned long )this;
4484#line 403
4485 __cil_tmp102 = __cil_tmp101 + 16;
4486#line 403
4487 __cil_tmp103 = (unsigned long )this;
4488#line 403
4489 __cil_tmp104 = __cil_tmp103 + 48;
4490#line 403
4491 __cil_tmp105 = *((int *)__cil_tmp104);
4492#line 403
4493 __cil_tmp106 = 1 << __cil_tmp105;
4494#line 403
4495 __cil_tmp107 = (unsigned long )this;
4496#line 403
4497 __cil_tmp108 = __cil_tmp107 + 72;
4498#line 403
4499 __cil_tmp109 = *((int *)__cil_tmp108);
4500#line 403
4501 __cil_tmp110 = __cil_tmp109 * __cil_tmp106;
4502#line 403
4503 *((unsigned long *)__cil_tmp102) = (unsigned long )__cil_tmp110;
4504#line 404
4505 __cil_tmp111 = (unsigned long )this;
4506#line 404
4507 __cil_tmp112 = __cil_tmp111 + 72;
4508#line 404
4509 __cil_tmp113 = *((int *)__cil_tmp112);
4510#line 404
4511 __cil_tmp114 = (unsigned long )this;
4512#line 404
4513 __cil_tmp115 = __cil_tmp114 + 16;
4514#line 404
4515 __cil_tmp116 = *((unsigned long *)__cil_tmp115);
4516#line 404
4517 __cil_tmp117 = __cil_tmp116 >> 20;
4518#line 404
4519 printk("<6>%d flash chips found. Total DiskOnChip size: %ld MiB\n", __cil_tmp113,
4520 __cil_tmp117);
4521 }
4522#line 406
4523 return;
4524}
4525}
4526#line 408 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
4527static int DoCMilPlus_is_alias(struct DiskOnChip *doc1 , struct DiskOnChip *doc2 )
4528{ int tmp1 ;
4529 int tmp2 ;
4530 int retval ;
4531 unsigned char tmp___7 ;
4532 unsigned char tmp___8 ;
4533 unsigned char tmp___9 ;
4534 unsigned long __cil_tmp9 ;
4535 unsigned long __cil_tmp10 ;
4536 unsigned long __cil_tmp11 ;
4537 unsigned long __cil_tmp12 ;
4538 void *__cil_tmp13 ;
4539 void *__cil_tmp14 ;
4540 void const volatile *__cil_tmp15 ;
4541 unsigned long __cil_tmp16 ;
4542 unsigned long __cil_tmp17 ;
4543 void *__cil_tmp18 ;
4544 void *__cil_tmp19 ;
4545 void const volatile *__cil_tmp20 ;
4546 int __cil_tmp21 ;
4547 int __cil_tmp22 ;
4548 unsigned char __cil_tmp23 ;
4549 unsigned long __cil_tmp24 ;
4550 unsigned long __cil_tmp25 ;
4551 void *__cil_tmp26 ;
4552 void *__cil_tmp27 ;
4553 void volatile *__cil_tmp28 ;
4554 unsigned long __cil_tmp29 ;
4555 unsigned long __cil_tmp30 ;
4556 void *__cil_tmp31 ;
4557 void *__cil_tmp32 ;
4558 void const volatile *__cil_tmp33 ;
4559 int __cil_tmp34 ;
4560 int __cil_tmp35 ;
4561 unsigned char __cil_tmp36 ;
4562 unsigned long __cil_tmp37 ;
4563 unsigned long __cil_tmp38 ;
4564 void *__cil_tmp39 ;
4565 void *__cil_tmp40 ;
4566 void volatile *__cil_tmp41 ;
4567
4568 {
4569 {
4570#line 412
4571 __cil_tmp9 = *((unsigned long *)doc2);
4572#line 412
4573 __cil_tmp10 = *((unsigned long *)doc1);
4574#line 412
4575 if (__cil_tmp10 == __cil_tmp9) {
4576#line 413
4577 return (1);
4578 } else {
4579
4580 }
4581 }
4582 {
4583#line 420
4584 __cil_tmp11 = (unsigned long )doc1;
4585#line 420
4586 __cil_tmp12 = __cil_tmp11 + 8;
4587#line 420
4588 __cil_tmp13 = *((void **)__cil_tmp12);
4589#line 420
4590 __cil_tmp14 = __cil_tmp13 + 4100;
4591#line 420
4592 __cil_tmp15 = (void const volatile *)__cil_tmp14;
4593#line 420
4594 tmp___7 = readb(__cil_tmp15);
4595#line 420
4596 tmp1 = (int )tmp___7;
4597#line 421
4598 __cil_tmp16 = (unsigned long )doc2;
4599#line 421
4600 __cil_tmp17 = __cil_tmp16 + 8;
4601#line 421
4602 __cil_tmp18 = *((void **)__cil_tmp17);
4603#line 421
4604 __cil_tmp19 = __cil_tmp18 + 4100;
4605#line 421
4606 __cil_tmp20 = (void const volatile *)__cil_tmp19;
4607#line 421
4608 tmp___8 = readb(__cil_tmp20);
4609#line 421
4610 tmp2 = (int )tmp___8;
4611 }
4612#line 422
4613 if (tmp1 != tmp2) {
4614#line 423
4615 return (0);
4616 } else {
4617
4618 }
4619 {
4620#line 425
4621 __cil_tmp21 = tmp1 + 1;
4622#line 425
4623 __cil_tmp22 = __cil_tmp21 % 255;
4624#line 425
4625 __cil_tmp23 = (unsigned char )__cil_tmp22;
4626#line 425
4627 __cil_tmp24 = (unsigned long )doc1;
4628#line 425
4629 __cil_tmp25 = __cil_tmp24 + 8;
4630#line 425
4631 __cil_tmp26 = *((void **)__cil_tmp25);
4632#line 425
4633 __cil_tmp27 = __cil_tmp26 + 4100;
4634#line 425
4635 __cil_tmp28 = (void volatile *)__cil_tmp27;
4636#line 425
4637 writeb(__cil_tmp23, __cil_tmp28);
4638#line 426
4639 __cil_tmp29 = (unsigned long )doc2;
4640#line 426
4641 __cil_tmp30 = __cil_tmp29 + 8;
4642#line 426
4643 __cil_tmp31 = *((void **)__cil_tmp30);
4644#line 426
4645 __cil_tmp32 = __cil_tmp31 + 4100;
4646#line 426
4647 __cil_tmp33 = (void const volatile *)__cil_tmp32;
4648#line 426
4649 tmp___9 = readb(__cil_tmp33);
4650#line 426
4651 tmp2 = (int )tmp___9;
4652 }
4653 {
4654#line 427
4655 __cil_tmp34 = tmp1 + 1;
4656#line 427
4657 __cil_tmp35 = __cil_tmp34 % 255;
4658#line 427
4659 if (tmp2 == __cil_tmp35) {
4660#line 428
4661 retval = 1;
4662 } else {
4663#line 430
4664 retval = 0;
4665 }
4666 }
4667 {
4668#line 434
4669 __cil_tmp36 = (unsigned char )tmp1;
4670#line 434
4671 __cil_tmp37 = (unsigned long )doc1;
4672#line 434
4673 __cil_tmp38 = __cil_tmp37 + 8;
4674#line 434
4675 __cil_tmp39 = *((void **)__cil_tmp38);
4676#line 434
4677 __cil_tmp40 = __cil_tmp39 + 4100;
4678#line 434
4679 __cil_tmp41 = (void volatile *)__cil_tmp40;
4680#line 434
4681 writeb(__cil_tmp36, __cil_tmp41);
4682 }
4683#line 436
4684 return (retval);
4685}
4686}
4687#line 441 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
4688void DoCMilPlus_init(struct mtd_info *mtd )
4689{ struct DiskOnChip *this ;
4690 struct DiskOnChip *old ;
4691 int tmp___7 ;
4692 uint32_t tmp___8 ;
4693 unsigned long __cil_tmp6 ;
4694 unsigned long __cil_tmp7 ;
4695 void *__cil_tmp8 ;
4696 void *__cil_tmp9 ;
4697 unsigned long __cil_tmp10 ;
4698 unsigned long __cil_tmp11 ;
4699 void *__cil_tmp12 ;
4700 unsigned long __cil_tmp13 ;
4701 unsigned long __cil_tmp14 ;
4702 unsigned long __cil_tmp15 ;
4703 void *__cil_tmp16 ;
4704 void volatile *__cil_tmp17 ;
4705 void const *__cil_tmp18 ;
4706 unsigned long __cil_tmp19 ;
4707 unsigned long __cil_tmp20 ;
4708 unsigned long __cil_tmp21 ;
4709 unsigned long __cil_tmp22 ;
4710 struct mtd_info *__cil_tmp23 ;
4711 unsigned long __cil_tmp24 ;
4712 unsigned long __cil_tmp25 ;
4713 void *__cil_tmp26 ;
4714 void *__cil_tmp27 ;
4715 unsigned long __cil_tmp28 ;
4716 unsigned long __cil_tmp29 ;
4717 unsigned long __cil_tmp30 ;
4718 unsigned long __cil_tmp31 ;
4719 unsigned long __cil_tmp32 ;
4720 unsigned long __cil_tmp33 ;
4721 unsigned long __cil_tmp34 ;
4722 unsigned long __cil_tmp35 ;
4723 unsigned long __cil_tmp36 ;
4724 unsigned long __cil_tmp37 ;
4725 unsigned long __cil_tmp38 ;
4726 unsigned long __cil_tmp39 ;
4727 unsigned long __cil_tmp40 ;
4728 unsigned long __cil_tmp41 ;
4729 unsigned long __cil_tmp42 ;
4730 unsigned long __cil_tmp43 ;
4731 unsigned long __cil_tmp44 ;
4732 unsigned long __cil_tmp45 ;
4733 unsigned long __cil_tmp46 ;
4734 unsigned long __cil_tmp47 ;
4735 unsigned long __cil_tmp48 ;
4736 unsigned long __cil_tmp49 ;
4737 unsigned long __cil_tmp50 ;
4738 unsigned long __cil_tmp51 ;
4739 unsigned long __cil_tmp52 ;
4740 unsigned long __cil_tmp53 ;
4741 unsigned long __cil_tmp54 ;
4742 unsigned long __cil_tmp55 ;
4743 unsigned long __cil_tmp56 ;
4744 unsigned long __cil_tmp57 ;
4745 unsigned long __cil_tmp58 ;
4746 unsigned long __cil_tmp59 ;
4747 void const *__cil_tmp60 ;
4748 unsigned long __cil_tmp61 ;
4749 unsigned long __cil_tmp62 ;
4750 void *__cil_tmp63 ;
4751 void volatile *__cil_tmp64 ;
4752 unsigned long __cil_tmp65 ;
4753 unsigned long __cil_tmp66 ;
4754 unsigned long __cil_tmp67 ;
4755 unsigned long __cil_tmp68 ;
4756 unsigned long __cil_tmp69 ;
4757 unsigned long __cil_tmp70 ;
4758 unsigned long __cil_tmp71 ;
4759 unsigned long __cil_tmp72 ;
4760 unsigned long __cil_tmp73 ;
4761 unsigned long __cil_tmp74 ;
4762 unsigned long __cil_tmp75 ;
4763 unsigned long __cil_tmp76 ;
4764 void *__cil_tmp77 ;
4765 char const **__cil_tmp78 ;
4766 void *__cil_tmp79 ;
4767 struct mtd_part_parser_data *__cil_tmp80 ;
4768 void *__cil_tmp81 ;
4769 struct mtd_partition const *__cil_tmp82 ;
4770
4771 {
4772#line 443
4773 __cil_tmp6 = (unsigned long )mtd;
4774#line 443
4775 __cil_tmp7 = __cil_tmp6 + 360;
4776#line 443
4777 __cil_tmp8 = *((void **)__cil_tmp7);
4778#line 443
4779 this = (struct DiskOnChip *)__cil_tmp8;
4780#line 444
4781 __cil_tmp9 = (void *)0;
4782#line 444
4783 old = (struct DiskOnChip *)__cil_tmp9;
4784#line 447
4785 if (docmilpluslist) {
4786#line 448
4787 __cil_tmp10 = (unsigned long )docmilpluslist;
4788#line 448
4789 __cil_tmp11 = __cil_tmp10 + 360;
4790#line 448
4791 __cil_tmp12 = *((void **)__cil_tmp11);
4792#line 448
4793 old = (struct DiskOnChip *)__cil_tmp12;
4794 } else {
4795
4796 }
4797 {
4798#line 450
4799 while (1) {
4800 while_continue: ;
4801#line 450
4802 if (old) {
4803
4804 } else {
4805#line 450
4806 goto while_break;
4807 }
4808 {
4809#line 451
4810 tmp___7 = DoCMilPlus_is_alias(this, old);
4811 }
4812#line 451
4813 if (tmp___7) {
4814 {
4815#line 452
4816 __cil_tmp13 = *((unsigned long *)this);
4817#line 452
4818 printk("<5>Ignoring DiskOnChip Millennium Plus at 0x%lX - already configured\n",
4819 __cil_tmp13);
4820#line 455
4821 __cil_tmp14 = (unsigned long )this;
4822#line 455
4823 __cil_tmp15 = __cil_tmp14 + 8;
4824#line 455
4825 __cil_tmp16 = *((void **)__cil_tmp15);
4826#line 455
4827 __cil_tmp17 = (void volatile *)__cil_tmp16;
4828#line 455
4829 iounmap(__cil_tmp17);
4830#line 456
4831 __cil_tmp18 = (void const *)mtd;
4832#line 456
4833 kfree(__cil_tmp18);
4834 }
4835#line 457
4836 return;
4837 } else {
4838
4839 }
4840 {
4841#line 459
4842 __cil_tmp19 = (unsigned long )old;
4843#line 459
4844 __cil_tmp20 = __cil_tmp19 + 88;
4845#line 459
4846 if (*((struct mtd_info **)__cil_tmp20)) {
4847#line 460
4848 __cil_tmp21 = (unsigned long )old;
4849#line 460
4850 __cil_tmp22 = __cil_tmp21 + 88;
4851#line 460
4852 __cil_tmp23 = *((struct mtd_info **)__cil_tmp22);
4853#line 460
4854 __cil_tmp24 = (unsigned long )__cil_tmp23;
4855#line 460
4856 __cil_tmp25 = __cil_tmp24 + 360;
4857#line 460
4858 __cil_tmp26 = *((void **)__cil_tmp25);
4859#line 460
4860 old = (struct DiskOnChip *)__cil_tmp26;
4861 } else {
4862#line 462
4863 __cil_tmp27 = (void *)0;
4864#line 462
4865 old = (struct DiskOnChip *)__cil_tmp27;
4866 }
4867 }
4868 }
4869 while_break: ;
4870 }
4871 {
4872#line 465
4873 __cil_tmp28 = (unsigned long )mtd;
4874#line 465
4875 __cil_tmp29 = __cil_tmp28 + 56;
4876#line 465
4877 *((char const **)__cil_tmp29) = "DiskOnChip Millennium Plus";
4878#line 466
4879 __cil_tmp30 = *((unsigned long *)this);
4880#line 466
4881 printk("<5>DiskOnChip Millennium Plus found at address 0x%lX\n", __cil_tmp30);
4882#line 469
4883 *((u_char *)mtd) = (u_char )4;
4884#line 470
4885 __cil_tmp31 = (unsigned long )mtd;
4886#line 470
4887 __cil_tmp32 = __cil_tmp31 + 4;
4888#line 470
4889 *((uint32_t *)__cil_tmp32) = (uint32_t )1024;
4890#line 471
4891 tmp___8 = (uint32_t )512;
4892#line 471
4893 __cil_tmp33 = (unsigned long )mtd;
4894#line 471
4895 __cil_tmp34 = __cil_tmp33 + 20;
4896#line 471
4897 *((uint32_t *)__cil_tmp34) = tmp___8;
4898#line 471
4899 __cil_tmp35 = (unsigned long )mtd;
4900#line 471
4901 __cil_tmp36 = __cil_tmp35 + 24;
4902#line 471
4903 *((uint32_t *)__cil_tmp36) = tmp___8;
4904#line 472
4905 __cil_tmp37 = (unsigned long )mtd;
4906#line 472
4907 __cil_tmp38 = __cil_tmp37 + 28;
4908#line 472
4909 *((uint32_t *)__cil_tmp38) = (uint32_t )16;
4910#line 473
4911 __cil_tmp39 = (unsigned long )mtd;
4912#line 473
4913 __cil_tmp40 = __cil_tmp39 + 80;
4914#line 473
4915 *((unsigned int *)__cil_tmp40) = 2U;
4916#line 474
4917 __cil_tmp41 = (unsigned long )mtd;
4918#line 474
4919 __cil_tmp42 = __cil_tmp41 + 368;
4920#line 474
4921 *((struct module **)__cil_tmp42) = & __this_module;
4922#line 475
4923 __cil_tmp43 = (unsigned long )mtd;
4924#line 475
4925 __cil_tmp44 = __cil_tmp43 + 96;
4926#line 475
4927 *((int (**)(struct mtd_info *mtd , struct erase_info *instr ))__cil_tmp44) = & doc_erase;
4928#line 476
4929 __cil_tmp45 = (unsigned long )mtd;
4930#line 476
4931 __cil_tmp46 = __cil_tmp45 + 128;
4932#line 476
4933 *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen , u_char *buf ))__cil_tmp46) = & doc_read;
4934#line 477
4935 __cil_tmp47 = (unsigned long )mtd;
4936#line 477
4937 __cil_tmp48 = __cil_tmp47 + 136;
4938#line 477
4939 *((int (**)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char const *buf ))__cil_tmp48) = & doc_write;
4940#line 478
4941 __cil_tmp49 = (unsigned long )mtd;
4942#line 478
4943 __cil_tmp50 = __cil_tmp49 + 152;
4944#line 478
4945 *((int (**)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ))__cil_tmp50) = & doc_read_oob;
4946#line 479
4947 __cil_tmp51 = (unsigned long )mtd;
4948#line 479
4949 __cil_tmp52 = __cil_tmp51 + 160;
4950#line 479
4951 *((int (**)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ))__cil_tmp52) = & doc_write_oob;
4952#line 480
4953 __cil_tmp53 = (unsigned long )this;
4954#line 480
4955 __cil_tmp54 = __cil_tmp53 + 64;
4956#line 480
4957 *((int *)__cil_tmp54) = -1;
4958#line 481
4959 __cil_tmp55 = (unsigned long )this;
4960#line 481
4961 __cil_tmp56 = __cil_tmp55 + 68;
4962#line 481
4963 *((int *)__cil_tmp56) = -1;
4964#line 484
4965 DoC_ScanChips(this);
4966 }
4967 {
4968#line 486
4969 __cil_tmp57 = (unsigned long )this;
4970#line 486
4971 __cil_tmp58 = __cil_tmp57 + 16;
4972#line 486
4973 __cil_tmp59 = *((unsigned long *)__cil_tmp58);
4974#line 486
4975 if (! __cil_tmp59) {
4976 {
4977#line 487
4978 __cil_tmp60 = (void const *)mtd;
4979#line 487
4980 kfree(__cil_tmp60);
4981#line 488
4982 __cil_tmp61 = (unsigned long )this;
4983#line 488
4984 __cil_tmp62 = __cil_tmp61 + 8;
4985#line 488
4986 __cil_tmp63 = *((void **)__cil_tmp62);
4987#line 488
4988 __cil_tmp64 = (void volatile *)__cil_tmp63;
4989#line 488
4990 iounmap(__cil_tmp64);
4991 }
4992 } else {
4993 {
4994#line 490
4995 __cil_tmp65 = (unsigned long )this;
4996#line 490
4997 __cil_tmp66 = __cil_tmp65 + 88;
4998#line 490
4999 *((struct mtd_info **)__cil_tmp66) = docmilpluslist;
5000#line 491
5001 docmilpluslist = mtd;
5002#line 492
5003 __cil_tmp67 = (unsigned long )mtd;
5004#line 492
5005 __cil_tmp68 = __cil_tmp67 + 8;
5006#line 492
5007 __cil_tmp69 = (unsigned long )this;
5008#line 492
5009 __cil_tmp70 = __cil_tmp69 + 16;
5010#line 492
5011 __cil_tmp71 = *((unsigned long *)__cil_tmp70);
5012#line 492
5013 *((uint64_t *)__cil_tmp68) = (uint64_t )__cil_tmp71;
5014#line 493
5015 __cil_tmp72 = (unsigned long )mtd;
5016#line 493
5017 __cil_tmp73 = __cil_tmp72 + 16;
5018#line 493
5019 __cil_tmp74 = (unsigned long )this;
5020#line 493
5021 __cil_tmp75 = __cil_tmp74 + 56;
5022#line 493
5023 __cil_tmp76 = *((unsigned long *)__cil_tmp75);
5024#line 493
5025 *((uint32_t *)__cil_tmp73) = (uint32_t )__cil_tmp76;
5026#line 494
5027 __cil_tmp77 = (void *)0;
5028#line 494
5029 __cil_tmp78 = (char const **)__cil_tmp77;
5030#line 494
5031 __cil_tmp79 = (void *)0;
5032#line 494
5033 __cil_tmp80 = (struct mtd_part_parser_data *)__cil_tmp79;
5034#line 494
5035 __cil_tmp81 = (void *)0;
5036#line 494
5037 __cil_tmp82 = (struct mtd_partition const *)__cil_tmp81;
5038#line 494
5039 mtd_device_parse_register(mtd, __cil_tmp78, __cil_tmp80, __cil_tmp82, 0);
5040 }
5041#line 495
5042 return;
5043 }
5044 }
5045#line 497
5046 return;
5047}
5048}
5049#line 498
5050extern void *__crc_DoCMilPlus_init __attribute__((__weak__)) ;
5051#line 498 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
5052static unsigned long const __kcrctab_DoCMilPlus_init __attribute__((__used__, __unused__,
5053__section__("___kcrctab_gpl+DoCMilPlus_init"))) = (unsigned long const )((unsigned long )(& __crc_DoCMilPlus_init));
5054#line 498 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
5055static char const __kstrtab_DoCMilPlus_init[16] __attribute__((__section__("__ksymtab_strings"),
5056__aligned__(1))) =
5057#line 498
5058 { (char const )'D', (char const )'o', (char const )'C', (char const )'M',
5059 (char const )'i', (char const )'l', (char const )'P', (char const )'l',
5060 (char const )'u', (char const )'s', (char const )'_', (char const )'i',
5061 (char const )'n', (char const )'i', (char const )'t', (char const )'\000'};
5062#line 498 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
5063static struct kernel_symbol const __ksymtab_DoCMilPlus_init __attribute__((__used__,
5064__unused__, __section__("___ksymtab_gpl+DoCMilPlus_init"))) = {(unsigned long )(& DoCMilPlus_init), __kstrtab_DoCMilPlus_init};
5065#line 575 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
5066static int doc_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
5067 u_char *buf )
5068{ int ret ;
5069 int i ;
5070 char volatile dummy ;
5071 loff_t fofs ;
5072 unsigned char syndrome[6] ;
5073 unsigned char eccbuf[6] ;
5074 struct DiskOnChip *this ;
5075 void *docptr ;
5076 struct Nand *mychip ;
5077 unsigned int tmp___7 ;
5078 unsigned char tmp___8 ;
5079 unsigned char tmp___9 ;
5080 int nb_errors ;
5081 unsigned char tmp___10 ;
5082 unsigned long __cil_tmp20 ;
5083 unsigned long __cil_tmp21 ;
5084 void *__cil_tmp22 ;
5085 unsigned long __cil_tmp23 ;
5086 unsigned long __cil_tmp24 ;
5087 unsigned long __cil_tmp25 ;
5088 unsigned long __cil_tmp26 ;
5089 int __cil_tmp27 ;
5090 loff_t __cil_tmp28 ;
5091 unsigned long __cil_tmp29 ;
5092 unsigned long __cil_tmp30 ;
5093 struct Nand *__cil_tmp31 ;
5094 long long __cil_tmp32 ;
5095 long long __cil_tmp33 ;
5096 loff_t __cil_tmp34 ;
5097 loff_t __cil_tmp35 ;
5098 long long __cil_tmp36 ;
5099 long long __cil_tmp37 ;
5100 long long __cil_tmp38 ;
5101 char __cil_tmp39 ;
5102 int __cil_tmp40 ;
5103 unsigned long __cil_tmp41 ;
5104 unsigned long __cil_tmp42 ;
5105 int __cil_tmp43 ;
5106 char __cil_tmp44 ;
5107 int __cil_tmp45 ;
5108 unsigned long __cil_tmp46 ;
5109 unsigned long __cil_tmp47 ;
5110 char __cil_tmp48 ;
5111 int __cil_tmp49 ;
5112 unsigned long __cil_tmp50 ;
5113 unsigned long __cil_tmp51 ;
5114 char __cil_tmp52 ;
5115 int __cil_tmp53 ;
5116 unsigned long __cil_tmp54 ;
5117 unsigned long __cil_tmp55 ;
5118 int __cil_tmp56 ;
5119 unsigned long __cil_tmp57 ;
5120 unsigned long __cil_tmp58 ;
5121 char __cil_tmp59 ;
5122 int __cil_tmp60 ;
5123 unsigned long __cil_tmp61 ;
5124 unsigned long __cil_tmp62 ;
5125 char __cil_tmp63 ;
5126 unsigned long __cil_tmp64 ;
5127 unsigned long __cil_tmp65 ;
5128 unsigned long __cil_tmp66 ;
5129 unsigned long __cil_tmp67 ;
5130 char __cil_tmp68 ;
5131 void *__cil_tmp69 ;
5132 void volatile *__cil_tmp70 ;
5133 loff_t *__cil_tmp71 ;
5134 unsigned char __cil_tmp72 ;
5135 loff_t *__cil_tmp73 ;
5136 loff_t __cil_tmp74 ;
5137 unsigned long __cil_tmp75 ;
5138 void *__cil_tmp76 ;
5139 void volatile *__cil_tmp77 ;
5140 void *__cil_tmp78 ;
5141 void volatile *__cil_tmp79 ;
5142 void *__cil_tmp80 ;
5143 void volatile *__cil_tmp81 ;
5144 void *__cil_tmp82 ;
5145 void const volatile *__cil_tmp83 ;
5146 void *__cil_tmp84 ;
5147 void const volatile *__cil_tmp85 ;
5148 int __cil_tmp86 ;
5149 unsigned long __cil_tmp87 ;
5150 unsigned long __cil_tmp88 ;
5151 unsigned char *__cil_tmp89 ;
5152 unsigned long __cil_tmp90 ;
5153 unsigned long __cil_tmp91 ;
5154 void *__cil_tmp92 ;
5155 void const volatile *__cil_tmp93 ;
5156 unsigned long __cil_tmp94 ;
5157 unsigned long __cil_tmp95 ;
5158 void *__cil_tmp96 ;
5159 void const volatile *__cil_tmp97 ;
5160 void *__cil_tmp98 ;
5161 void const volatile *__cil_tmp99 ;
5162 void *__cil_tmp100 ;
5163 void const volatile *__cil_tmp101 ;
5164 void *__cil_tmp102 ;
5165 void const volatile *__cil_tmp103 ;
5166 int __cil_tmp104 ;
5167 unsigned long __cil_tmp105 ;
5168 unsigned long __cil_tmp106 ;
5169 int __cil_tmp107 ;
5170 void *__cil_tmp108 ;
5171 void const volatile *__cil_tmp109 ;
5172 unsigned char *__cil_tmp110 ;
5173 unsigned long __cil_tmp111 ;
5174 unsigned long __cil_tmp112 ;
5175 unsigned char *__cil_tmp113 ;
5176 unsigned char *__cil_tmp114 ;
5177 void *__cil_tmp115 ;
5178 void volatile *__cil_tmp116 ;
5179 void *__cil_tmp117 ;
5180 void volatile *__cil_tmp118 ;
5181
5182 {
5183#line 582
5184 __cil_tmp20 = (unsigned long )mtd;
5185#line 582
5186 __cil_tmp21 = __cil_tmp20 + 360;
5187#line 582
5188 __cil_tmp22 = *((void **)__cil_tmp21);
5189#line 582
5190 this = (struct DiskOnChip *)__cil_tmp22;
5191#line 583
5192 __cil_tmp23 = (unsigned long )this;
5193#line 583
5194 __cil_tmp24 = __cil_tmp23 + 8;
5195#line 583
5196 docptr = *((void **)__cil_tmp24);
5197#line 584
5198 __cil_tmp25 = (unsigned long )this;
5199#line 584
5200 __cil_tmp26 = __cil_tmp25 + 48;
5201#line 584
5202 __cil_tmp27 = *((int *)__cil_tmp26);
5203#line 584
5204 __cil_tmp28 = from >> __cil_tmp27;
5205#line 584
5206 __cil_tmp29 = (unsigned long )this;
5207#line 584
5208 __cil_tmp30 = __cil_tmp29 + 80;
5209#line 584
5210 __cil_tmp31 = *((struct Nand **)__cil_tmp30);
5211#line 584
5212 mychip = __cil_tmp31 + __cil_tmp28;
5213 {
5214#line 587
5215 __cil_tmp32 = from | 511LL;
5216#line 587
5217 __cil_tmp33 = __cil_tmp32 + 1LL;
5218#line 587
5219 __cil_tmp34 = (loff_t )len;
5220#line 587
5221 __cil_tmp35 = from + __cil_tmp34;
5222#line 587
5223 if (__cil_tmp35 > __cil_tmp33) {
5224#line 588
5225 __cil_tmp36 = from | 511LL;
5226#line 588
5227 __cil_tmp37 = __cil_tmp36 + 1LL;
5228#line 588
5229 __cil_tmp38 = __cil_tmp37 - from;
5230#line 588
5231 len = (size_t )__cil_tmp38;
5232 } else {
5233
5234 }
5235 }
5236 {
5237#line 590
5238 DoC_CheckASIC(docptr);
5239 }
5240 {
5241#line 593
5242 __cil_tmp39 = *((char *)mychip);
5243#line 593
5244 __cil_tmp40 = (int )__cil_tmp39;
5245#line 593
5246 __cil_tmp41 = (unsigned long )this;
5247#line 593
5248 __cil_tmp42 = __cil_tmp41 + 64;
5249#line 593
5250 __cil_tmp43 = *((int *)__cil_tmp42);
5251#line 593
5252 if (__cil_tmp43 != __cil_tmp40) {
5253 {
5254#line 594
5255 __cil_tmp44 = *((char *)mychip);
5256#line 594
5257 __cil_tmp45 = (int )__cil_tmp44;
5258#line 594
5259 DoC_SelectFloor(docptr, __cil_tmp45);
5260#line 595
5261 __cil_tmp46 = (unsigned long )mychip;
5262#line 595
5263 __cil_tmp47 = __cil_tmp46 + 1;
5264#line 595
5265 __cil_tmp48 = *((char *)__cil_tmp47);
5266#line 595
5267 __cil_tmp49 = (int )__cil_tmp48;
5268#line 595
5269 DoC_SelectChip(docptr, __cil_tmp49);
5270 }
5271 } else {
5272 {
5273#line 596
5274 __cil_tmp50 = (unsigned long )mychip;
5275#line 596
5276 __cil_tmp51 = __cil_tmp50 + 1;
5277#line 596
5278 __cil_tmp52 = *((char *)__cil_tmp51);
5279#line 596
5280 __cil_tmp53 = (int )__cil_tmp52;
5281#line 596
5282 __cil_tmp54 = (unsigned long )this;
5283#line 596
5284 __cil_tmp55 = __cil_tmp54 + 68;
5285#line 596
5286 __cil_tmp56 = *((int *)__cil_tmp55);
5287#line 596
5288 if (__cil_tmp56 != __cil_tmp53) {
5289 {
5290#line 597
5291 __cil_tmp57 = (unsigned long )mychip;
5292#line 597
5293 __cil_tmp58 = __cil_tmp57 + 1;
5294#line 597
5295 __cil_tmp59 = *((char *)__cil_tmp58);
5296#line 597
5297 __cil_tmp60 = (int )__cil_tmp59;
5298#line 597
5299 DoC_SelectChip(docptr, __cil_tmp60);
5300 }
5301 } else {
5302
5303 }
5304 }
5305 }
5306 }
5307 {
5308#line 599
5309 __cil_tmp61 = (unsigned long )this;
5310#line 599
5311 __cil_tmp62 = __cil_tmp61 + 64;
5312#line 599
5313 __cil_tmp63 = *((char *)mychip);
5314#line 599
5315 *((int *)__cil_tmp62) = (int )__cil_tmp63;
5316#line 600
5317 __cil_tmp64 = (unsigned long )this;
5318#line 600
5319 __cil_tmp65 = __cil_tmp64 + 68;
5320#line 600
5321 __cil_tmp66 = (unsigned long )mychip;
5322#line 600
5323 __cil_tmp67 = __cil_tmp66 + 1;
5324#line 600
5325 __cil_tmp68 = *((char *)__cil_tmp67);
5326#line 600
5327 *((int *)__cil_tmp65) = (int )__cil_tmp68;
5328#line 603
5329 __cil_tmp69 = docptr + 4130;
5330#line 603
5331 __cil_tmp70 = (void volatile *)__cil_tmp69;
5332#line 603
5333 writeb((unsigned char)192, __cil_tmp70);
5334#line 606
5335 DoC_Command(docptr, (unsigned char)255, (unsigned char)0);
5336#line 607
5337 DoC_WaitReady(docptr);
5338#line 609
5339 __cil_tmp71 = & fofs;
5340#line 609
5341 *__cil_tmp71 = from;
5342#line 610
5343 tmp___7 = DoC_GetDataOffset(mtd, & fofs);
5344#line 610
5345 __cil_tmp72 = (unsigned char )tmp___7;
5346#line 610
5347 DoC_Command(docptr, __cil_tmp72, (unsigned char)0);
5348#line 611
5349 __cil_tmp73 = & fofs;
5350#line 611
5351 __cil_tmp74 = *__cil_tmp73;
5352#line 611
5353 __cil_tmp75 = (unsigned long )__cil_tmp74;
5354#line 611
5355 DoC_Address(this, 3, __cil_tmp75, (unsigned char)0, (unsigned char)0);
5356#line 612
5357 __cil_tmp76 = docptr + 4128;
5358#line 612
5359 __cil_tmp77 = (void volatile *)__cil_tmp76;
5360#line 612
5361 writeb((unsigned char)0, __cil_tmp77);
5362#line 613
5363 DoC_WaitReady(docptr);
5364#line 616
5365 __cil_tmp78 = docptr + 4166;
5366#line 616
5367 __cil_tmp79 = (void volatile *)__cil_tmp78;
5368#line 616
5369 writeb((unsigned char)0, __cil_tmp79);
5370#line 617
5371 __cil_tmp80 = docptr + 4166;
5372#line 617
5373 __cil_tmp81 = (void volatile *)__cil_tmp80;
5374#line 617
5375 writeb((unsigned char)10, __cil_tmp81);
5376#line 620
5377 *retlen = len;
5378#line 621
5379 ret = 0;
5380#line 623
5381 __cil_tmp82 = docptr + 4138;
5382#line 623
5383 __cil_tmp83 = (void const volatile *)__cil_tmp82;
5384#line 623
5385 readb(__cil_tmp83);
5386#line 624
5387 __cil_tmp84 = docptr + 4138;
5388#line 624
5389 __cil_tmp85 = (void const volatile *)__cil_tmp84;
5390#line 624
5391 readb(__cil_tmp85);
5392#line 628
5393 __cil_tmp86 = (int )len;
5394#line 628
5395 MemReadDOC(docptr, buf, __cil_tmp86);
5396#line 631
5397 __cil_tmp87 = 0 * 1UL;
5398#line 631
5399 __cil_tmp88 = (unsigned long )(eccbuf) + __cil_tmp87;
5400#line 631
5401 __cil_tmp89 = (unsigned char *)__cil_tmp88;
5402#line 631
5403 MemReadDOC(docptr, __cil_tmp89, 4);
5404#line 632
5405 __cil_tmp90 = 4 * 1UL;
5406#line 632
5407 __cil_tmp91 = (unsigned long )(eccbuf) + __cil_tmp90;
5408#line 632
5409 __cil_tmp92 = docptr + 4140;
5410#line 632
5411 __cil_tmp93 = (void const volatile *)__cil_tmp92;
5412#line 632
5413 *((unsigned char *)__cil_tmp91) = readb(__cil_tmp93);
5414#line 633
5415 __cil_tmp94 = 5 * 1UL;
5416#line 633
5417 __cil_tmp95 = (unsigned long )(eccbuf) + __cil_tmp94;
5418#line 633
5419 __cil_tmp96 = docptr + 4140;
5420#line 633
5421 __cil_tmp97 = (void const volatile *)__cil_tmp96;
5422#line 633
5423 *((unsigned char *)__cil_tmp95) = readb(__cil_tmp97);
5424#line 636
5425 __cil_tmp98 = docptr + 4166;
5426#line 636
5427 __cil_tmp99 = (void const volatile *)__cil_tmp98;
5428#line 636
5429 tmp___8 = readb(__cil_tmp99);
5430#line 636
5431 dummy = (char volatile )tmp___8;
5432#line 637
5433 __cil_tmp100 = docptr + 4166;
5434#line 637
5435 __cil_tmp101 = (void const volatile *)__cil_tmp100;
5436#line 637
5437 tmp___9 = readb(__cil_tmp101);
5438#line 637
5439 dummy = (char volatile )tmp___9;
5440#line 640
5441 __cil_tmp102 = docptr + 4166;
5442#line 640
5443 __cil_tmp103 = (void const volatile *)__cil_tmp102;
5444#line 640
5445 tmp___10 = readb(__cil_tmp103);
5446 }
5447 {
5448#line 640
5449 __cil_tmp104 = (int )tmp___10;
5450#line 640
5451 if (__cil_tmp104 & 128) {
5452#line 648
5453 i = 0;
5454 {
5455#line 648
5456 while (1) {
5457 while_continue: ;
5458#line 648
5459 if (i < 6) {
5460
5461 } else {
5462#line 648
5463 goto while_break;
5464 }
5465 {
5466#line 649
5467 __cil_tmp105 = i * 1UL;
5468#line 649
5469 __cil_tmp106 = (unsigned long )(syndrome) + __cil_tmp105;
5470#line 649
5471 __cil_tmp107 = 4160 + i;
5472#line 649
5473 __cil_tmp108 = docptr + __cil_tmp107;
5474#line 649
5475 __cil_tmp109 = (void const volatile *)__cil_tmp108;
5476#line 649
5477 *((unsigned char *)__cil_tmp106) = readb(__cil_tmp109);
5478#line 648
5479 i = i + 1;
5480 }
5481 }
5482 while_break: ;
5483 }
5484 {
5485#line 651
5486 __cil_tmp110 = (unsigned char *)buf;
5487#line 651
5488 __cil_tmp111 = 0 * 1UL;
5489#line 651
5490 __cil_tmp112 = (unsigned long )(syndrome) + __cil_tmp111;
5491#line 651
5492 __cil_tmp113 = (unsigned char *)__cil_tmp112;
5493#line 651
5494 __cil_tmp114 = (unsigned char *)__cil_tmp113;
5495#line 651
5496 nb_errors = doc_decode_ecc(__cil_tmp110, __cil_tmp114);
5497 }
5498#line 655
5499 if (nb_errors < 0) {
5500#line 672
5501 ret = -5;
5502 } else {
5503
5504 }
5505 } else {
5506
5507 }
5508 }
5509 {
5510#line 682
5511 __cil_tmp115 = docptr + 4166;
5512#line 682
5513 __cil_tmp116 = (void volatile *)__cil_tmp115;
5514#line 682
5515 writeb((unsigned char)2, __cil_tmp116);
5516#line 685
5517 __cil_tmp117 = docptr + 4130;
5518#line 685
5519 __cil_tmp118 = (void volatile *)__cil_tmp117;
5520#line 685
5521 writeb((unsigned char)0, __cil_tmp118);
5522 }
5523#line 687
5524 return (ret);
5525}
5526}
5527#line 690 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
5528static int doc_write(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
5529 u_char const *buf )
5530{ int i ;
5531 int before ;
5532 int ret ;
5533 loff_t fto ;
5534 char volatile dummy ;
5535 char eccbuf[6] ;
5536 struct DiskOnChip *this ;
5537 void *docptr ;
5538 struct Nand *mychip ;
5539 int tmp___7 ;
5540 unsigned int tmp___8 ;
5541 unsigned char tmp___9 ;
5542 unsigned char tmp___10 ;
5543 unsigned char tmp___11 ;
5544 unsigned char tmp___12 ;
5545 unsigned char tmp___13 ;
5546 unsigned long __cil_tmp22 ;
5547 unsigned long __cil_tmp23 ;
5548 void *__cil_tmp24 ;
5549 unsigned long __cil_tmp25 ;
5550 unsigned long __cil_tmp26 ;
5551 unsigned long __cil_tmp27 ;
5552 unsigned long __cil_tmp28 ;
5553 int __cil_tmp29 ;
5554 loff_t __cil_tmp30 ;
5555 unsigned long __cil_tmp31 ;
5556 unsigned long __cil_tmp32 ;
5557 struct Nand *__cil_tmp33 ;
5558 unsigned long __cil_tmp34 ;
5559 unsigned long __cil_tmp35 ;
5560 char __cil_tmp36 ;
5561 int __cil_tmp37 ;
5562 unsigned long __cil_tmp38 ;
5563 unsigned long __cil_tmp39 ;
5564 int __cil_tmp40 ;
5565 char __cil_tmp41 ;
5566 int __cil_tmp42 ;
5567 unsigned long __cil_tmp43 ;
5568 unsigned long __cil_tmp44 ;
5569 char __cil_tmp45 ;
5570 int __cil_tmp46 ;
5571 unsigned long __cil_tmp47 ;
5572 unsigned long __cil_tmp48 ;
5573 char __cil_tmp49 ;
5574 int __cil_tmp50 ;
5575 unsigned long __cil_tmp51 ;
5576 unsigned long __cil_tmp52 ;
5577 int __cil_tmp53 ;
5578 unsigned long __cil_tmp54 ;
5579 unsigned long __cil_tmp55 ;
5580 char __cil_tmp56 ;
5581 int __cil_tmp57 ;
5582 unsigned long __cil_tmp58 ;
5583 unsigned long __cil_tmp59 ;
5584 char __cil_tmp60 ;
5585 unsigned long __cil_tmp61 ;
5586 unsigned long __cil_tmp62 ;
5587 unsigned long __cil_tmp63 ;
5588 unsigned long __cil_tmp64 ;
5589 char __cil_tmp65 ;
5590 void *__cil_tmp66 ;
5591 void volatile *__cil_tmp67 ;
5592 loff_t *__cil_tmp68 ;
5593 unsigned char __cil_tmp69 ;
5594 void *__cil_tmp70 ;
5595 void volatile *__cil_tmp71 ;
5596 loff_t *__cil_tmp72 ;
5597 loff_t *__cil_tmp73 ;
5598 loff_t __cil_tmp74 ;
5599 loff_t *__cil_tmp75 ;
5600 loff_t __cil_tmp76 ;
5601 unsigned long __cil_tmp77 ;
5602 void *__cil_tmp78 ;
5603 void volatile *__cil_tmp79 ;
5604 void *__cil_tmp80 ;
5605 void volatile *__cil_tmp81 ;
5606 void *__cil_tmp82 ;
5607 void volatile *__cil_tmp83 ;
5608 void *__cil_tmp84 ;
5609 void volatile *__cil_tmp85 ;
5610 unsigned char *__cil_tmp86 ;
5611 int __cil_tmp87 ;
5612 int __cil_tmp88 ;
5613 void *__cil_tmp89 ;
5614 void const volatile *__cil_tmp90 ;
5615 unsigned long __cil_tmp91 ;
5616 unsigned long __cil_tmp92 ;
5617 void *__cil_tmp93 ;
5618 void volatile *__cil_tmp94 ;
5619 unsigned long __cil_tmp95 ;
5620 unsigned long __cil_tmp96 ;
5621 char *__cil_tmp97 ;
5622 unsigned char *__cil_tmp98 ;
5623 void *__cil_tmp99 ;
5624 void volatile *__cil_tmp100 ;
5625 void *__cil_tmp101 ;
5626 void volatile *__cil_tmp102 ;
5627 void *__cil_tmp103 ;
5628 void volatile *__cil_tmp104 ;
5629 void *__cil_tmp105 ;
5630 void volatile *__cil_tmp106 ;
5631 void *__cil_tmp107 ;
5632 void const volatile *__cil_tmp108 ;
5633 void *__cil_tmp109 ;
5634 void const volatile *__cil_tmp110 ;
5635 void *__cil_tmp111 ;
5636 void const volatile *__cil_tmp112 ;
5637 int volatile __cil_tmp113 ;
5638 int volatile __cil_tmp114 ;
5639 int volatile __cil_tmp115 ;
5640 int __cil_tmp116 ;
5641 void *__cil_tmp117 ;
5642 void const volatile *__cil_tmp118 ;
5643 void *__cil_tmp119 ;
5644 void volatile *__cil_tmp120 ;
5645
5646 {
5647#line 693
5648 ret = 0;
5649#line 697
5650 __cil_tmp22 = (unsigned long )mtd;
5651#line 697
5652 __cil_tmp23 = __cil_tmp22 + 360;
5653#line 697
5654 __cil_tmp24 = *((void **)__cil_tmp23);
5655#line 697
5656 this = (struct DiskOnChip *)__cil_tmp24;
5657#line 698
5658 __cil_tmp25 = (unsigned long )this;
5659#line 698
5660 __cil_tmp26 = __cil_tmp25 + 8;
5661#line 698
5662 docptr = *((void **)__cil_tmp26);
5663#line 699
5664 __cil_tmp27 = (unsigned long )this;
5665#line 699
5666 __cil_tmp28 = __cil_tmp27 + 48;
5667#line 699
5668 __cil_tmp29 = *((int *)__cil_tmp28);
5669#line 699
5670 __cil_tmp30 = to >> __cil_tmp29;
5671#line 699
5672 __cil_tmp31 = (unsigned long )this;
5673#line 699
5674 __cil_tmp32 = __cil_tmp31 + 80;
5675#line 699
5676 __cil_tmp33 = *((struct Nand **)__cil_tmp32);
5677#line 699
5678 mychip = __cil_tmp33 + __cil_tmp30;
5679#line 702
5680 if (to & 511LL) {
5681#line 703
5682 return (-22);
5683 } else
5684#line 702
5685 if (len != 512UL) {
5686#line 703
5687 return (-22);
5688 } else {
5689
5690 }
5691 {
5692#line 706
5693 __cil_tmp34 = (unsigned long )this;
5694#line 706
5695 __cil_tmp35 = __cil_tmp34 + 54;
5696#line 706
5697 if (*((char *)__cil_tmp35)) {
5698#line 706
5699 if (to & 512LL) {
5700#line 706
5701 tmp___7 = 1;
5702 } else {
5703#line 706
5704 tmp___7 = 0;
5705 }
5706 } else {
5707#line 706
5708 tmp___7 = 0;
5709 }
5710 }
5711 {
5712#line 706
5713 before = tmp___7;
5714#line 708
5715 DoC_CheckASIC(docptr);
5716 }
5717 {
5718#line 711
5719 __cil_tmp36 = *((char *)mychip);
5720#line 711
5721 __cil_tmp37 = (int )__cil_tmp36;
5722#line 711
5723 __cil_tmp38 = (unsigned long )this;
5724#line 711
5725 __cil_tmp39 = __cil_tmp38 + 64;
5726#line 711
5727 __cil_tmp40 = *((int *)__cil_tmp39);
5728#line 711
5729 if (__cil_tmp40 != __cil_tmp37) {
5730 {
5731#line 712
5732 __cil_tmp41 = *((char *)mychip);
5733#line 712
5734 __cil_tmp42 = (int )__cil_tmp41;
5735#line 712
5736 DoC_SelectFloor(docptr, __cil_tmp42);
5737#line 713
5738 __cil_tmp43 = (unsigned long )mychip;
5739#line 713
5740 __cil_tmp44 = __cil_tmp43 + 1;
5741#line 713
5742 __cil_tmp45 = *((char *)__cil_tmp44);
5743#line 713
5744 __cil_tmp46 = (int )__cil_tmp45;
5745#line 713
5746 DoC_SelectChip(docptr, __cil_tmp46);
5747 }
5748 } else {
5749 {
5750#line 714
5751 __cil_tmp47 = (unsigned long )mychip;
5752#line 714
5753 __cil_tmp48 = __cil_tmp47 + 1;
5754#line 714
5755 __cil_tmp49 = *((char *)__cil_tmp48);
5756#line 714
5757 __cil_tmp50 = (int )__cil_tmp49;
5758#line 714
5759 __cil_tmp51 = (unsigned long )this;
5760#line 714
5761 __cil_tmp52 = __cil_tmp51 + 68;
5762#line 714
5763 __cil_tmp53 = *((int *)__cil_tmp52);
5764#line 714
5765 if (__cil_tmp53 != __cil_tmp50) {
5766 {
5767#line 715
5768 __cil_tmp54 = (unsigned long )mychip;
5769#line 715
5770 __cil_tmp55 = __cil_tmp54 + 1;
5771#line 715
5772 __cil_tmp56 = *((char *)__cil_tmp55);
5773#line 715
5774 __cil_tmp57 = (int )__cil_tmp56;
5775#line 715
5776 DoC_SelectChip(docptr, __cil_tmp57);
5777 }
5778 } else {
5779
5780 }
5781 }
5782 }
5783 }
5784 {
5785#line 717
5786 __cil_tmp58 = (unsigned long )this;
5787#line 717
5788 __cil_tmp59 = __cil_tmp58 + 64;
5789#line 717
5790 __cil_tmp60 = *((char *)mychip);
5791#line 717
5792 *((int *)__cil_tmp59) = (int )__cil_tmp60;
5793#line 718
5794 __cil_tmp61 = (unsigned long )this;
5795#line 718
5796 __cil_tmp62 = __cil_tmp61 + 68;
5797#line 718
5798 __cil_tmp63 = (unsigned long )mychip;
5799#line 718
5800 __cil_tmp64 = __cil_tmp63 + 1;
5801#line 718
5802 __cil_tmp65 = *((char *)__cil_tmp64);
5803#line 718
5804 *((int *)__cil_tmp62) = (int )__cil_tmp65;
5805#line 721
5806 __cil_tmp66 = docptr + 4130;
5807#line 721
5808 __cil_tmp67 = (void volatile *)__cil_tmp66;
5809#line 721
5810 writeb((unsigned char)128, __cil_tmp67);
5811#line 724
5812 DoC_Command(docptr, (unsigned char)255, (unsigned char)0);
5813#line 725
5814 DoC_WaitReady(docptr);
5815#line 728
5816 __cil_tmp68 = & fto;
5817#line 728
5818 *__cil_tmp68 = to;
5819#line 729
5820 tmp___8 = DoC_GetDataOffset(mtd, & fto);
5821#line 729
5822 __cil_tmp69 = (unsigned char )tmp___8;
5823#line 729
5824 __cil_tmp70 = docptr + 4132;
5825#line 729
5826 __cil_tmp71 = (void volatile *)__cil_tmp70;
5827#line 729
5828 writeb(__cil_tmp69, __cil_tmp71);
5829 }
5830#line 732
5831 if (before) {
5832#line 733
5833 __cil_tmp72 = & fto;
5834#line 733
5835 __cil_tmp73 = & fto;
5836#line 733
5837 __cil_tmp74 = *__cil_tmp73;
5838#line 733
5839 *__cil_tmp72 = __cil_tmp74 - 2LL;
5840 } else {
5841
5842 }
5843 {
5844#line 736
5845 DoC_Command(docptr, (unsigned char)128, (unsigned char)0);
5846#line 737
5847 __cil_tmp75 = & fto;
5848#line 737
5849 __cil_tmp76 = *__cil_tmp75;
5850#line 737
5851 __cil_tmp77 = (unsigned long )__cil_tmp76;
5852#line 737
5853 DoC_Address(this, 3, __cil_tmp77, (unsigned char)0, (unsigned char)0);
5854#line 740
5855 __cil_tmp78 = docptr + 4166;
5856#line 740
5857 __cil_tmp79 = (void volatile *)__cil_tmp78;
5858#line 740
5859 writeb((unsigned char)0, __cil_tmp79);
5860 }
5861#line 742
5862 if (before) {
5863 {
5864#line 744
5865 __cil_tmp80 = docptr + 2048;
5866#line 744
5867 __cil_tmp81 = (void volatile *)__cil_tmp80;
5868#line 744
5869 writeb((unsigned char)85, __cil_tmp81);
5870#line 745
5871 __cil_tmp82 = docptr + 2048;
5872#line 745
5873 __cil_tmp83 = (void volatile *)__cil_tmp82;
5874#line 745
5875 writeb((unsigned char)85, __cil_tmp83);
5876 }
5877 } else {
5878
5879 }
5880 {
5881#line 749
5882 __cil_tmp84 = docptr + 4166;
5883#line 749
5884 __cil_tmp85 = (void volatile *)__cil_tmp84;
5885#line 749
5886 writeb((unsigned char)42, __cil_tmp85);
5887#line 751
5888 __cil_tmp86 = (unsigned char *)buf;
5889#line 751
5890 __cil_tmp87 = (int )len;
5891#line 751
5892 MemWriteDOC(docptr, __cil_tmp86, __cil_tmp87);
5893#line 755
5894 DoC_Delay(docptr, 3);
5895#line 758
5896 i = 0;
5897 }
5898 {
5899#line 758
5900 while (1) {
5901 while_continue: ;
5902#line 758
5903 if (i < 6) {
5904
5905 } else {
5906#line 758
5907 goto while_break;
5908 }
5909 {
5910#line 759
5911 __cil_tmp88 = 4160 + i;
5912#line 759
5913 __cil_tmp89 = docptr + __cil_tmp88;
5914#line 759
5915 __cil_tmp90 = (void const volatile *)__cil_tmp89;
5916#line 759
5917 tmp___9 = readb(__cil_tmp90);
5918#line 759
5919 __cil_tmp91 = i * 1UL;
5920#line 759
5921 __cil_tmp92 = (unsigned long )(eccbuf) + __cil_tmp91;
5922#line 759
5923 *((char *)__cil_tmp92) = (char )tmp___9;
5924#line 758
5925 i = i + 1;
5926 }
5927 }
5928 while_break: ;
5929 }
5930 {
5931#line 762
5932 __cil_tmp93 = docptr + 4166;
5933#line 762
5934 __cil_tmp94 = (void volatile *)__cil_tmp93;
5935#line 762
5936 writeb((unsigned char)2, __cil_tmp94);
5937#line 765
5938 __cil_tmp95 = 0 * 1UL;
5939#line 765
5940 __cil_tmp96 = (unsigned long )(eccbuf) + __cil_tmp95;
5941#line 765
5942 __cil_tmp97 = (char *)__cil_tmp96;
5943#line 765
5944 __cil_tmp98 = (unsigned char *)__cil_tmp97;
5945#line 765
5946 MemWriteDOC(docptr, __cil_tmp98, 6);
5947 }
5948#line 767
5949 if (! before) {
5950 {
5951#line 769
5952 __cil_tmp99 = docptr + 2054;
5953#line 769
5954 __cil_tmp100 = (void volatile *)__cil_tmp99;
5955#line 769
5956 writeb((unsigned char)85, __cil_tmp100);
5957#line 770
5958 __cil_tmp101 = docptr + 2055;
5959#line 770
5960 __cil_tmp102 = (void volatile *)__cil_tmp101;
5961#line 770
5962 writeb((unsigned char)85, __cil_tmp102);
5963 }
5964 } else {
5965
5966 }
5967 {
5968#line 779
5969 __cil_tmp103 = docptr + 4142;
5970#line 779
5971 __cil_tmp104 = (void volatile *)__cil_tmp103;
5972#line 779
5973 writeb((unsigned char)0, __cil_tmp104);
5974#line 780
5975 __cil_tmp105 = docptr + 4142;
5976#line 780
5977 __cil_tmp106 = (void volatile *)__cil_tmp105;
5978#line 780
5979 writeb((unsigned char)0, __cil_tmp106);
5980#line 784
5981 DoC_Command(docptr, (unsigned char)16, (unsigned char)0);
5982#line 785
5983 DoC_WaitReady(docptr);
5984#line 789
5985 DoC_Command(docptr, (unsigned char)112, (unsigned char)0);
5986#line 790
5987 __cil_tmp107 = docptr + 4138;
5988#line 790
5989 __cil_tmp108 = (void const volatile *)__cil_tmp107;
5990#line 790
5991 tmp___10 = readb(__cil_tmp108);
5992#line 790
5993 dummy = (char volatile )tmp___10;
5994#line 791
5995 __cil_tmp109 = docptr + 4138;
5996#line 791
5997 __cil_tmp110 = (void const volatile *)__cil_tmp109;
5998#line 791
5999 tmp___11 = readb(__cil_tmp110);
6000#line 791
6001 dummy = (char volatile )tmp___11;
6002#line 792
6003 DoC_Delay(docptr, 2);
6004#line 793
6005 __cil_tmp111 = docptr + 4140;
6006#line 793
6007 __cil_tmp112 = (void const volatile *)__cil_tmp111;
6008#line 793
6009 tmp___12 = readb(__cil_tmp112);
6010#line 793
6011 dummy = (char volatile )tmp___12;
6012 }
6013 {
6014#line 793
6015 __cil_tmp113 = (int volatile )1;
6016#line 793
6017 __cil_tmp114 = (int volatile )dummy;
6018#line 793
6019 if (__cil_tmp114 & __cil_tmp113) {
6020 {
6021#line 794
6022 __cil_tmp115 = (int volatile )dummy;
6023#line 794
6024 __cil_tmp116 = (int )to;
6025#line 794
6026 printk("MTD: Error 0x%x programming at 0x%x\n", __cil_tmp115, __cil_tmp116);
6027#line 797
6028 ret = -5;
6029 }
6030 } else {
6031
6032 }
6033 }
6034 {
6035#line 799
6036 __cil_tmp117 = docptr + 4140;
6037#line 799
6038 __cil_tmp118 = (void const volatile *)__cil_tmp117;
6039#line 799
6040 tmp___13 = readb(__cil_tmp118);
6041#line 799
6042 dummy = (char volatile )tmp___13;
6043#line 802
6044 __cil_tmp119 = docptr + 4130;
6045#line 802
6046 __cil_tmp120 = (void volatile *)__cil_tmp119;
6047#line 802
6048 writeb((unsigned char)0, __cil_tmp120);
6049#line 805
6050 *retlen = len;
6051 }
6052#line 807
6053 return (ret);
6054}
6055}
6056#line 810 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
6057static int doc_read_oob(struct mtd_info *mtd , loff_t ofs , struct mtd_oob_ops *ops )
6058{ loff_t fofs ;
6059 loff_t base ;
6060 struct DiskOnChip *this ;
6061 void *docptr ;
6062 struct Nand *mychip ;
6063 size_t i ;
6064 size_t size ;
6065 size_t got ;
6066 size_t want ;
6067 uint8_t *buf ;
6068 size_t len ;
6069 long tmp___7 ;
6070 unsigned int tmp___8 ;
6071 unsigned int tmp___9 ;
6072 unsigned int tmp___10 ;
6073 unsigned long __cil_tmp19 ;
6074 unsigned long __cil_tmp20 ;
6075 void *__cil_tmp21 ;
6076 unsigned long __cil_tmp22 ;
6077 unsigned long __cil_tmp23 ;
6078 unsigned long __cil_tmp24 ;
6079 unsigned long __cil_tmp25 ;
6080 int __cil_tmp26 ;
6081 loff_t __cil_tmp27 ;
6082 unsigned long __cil_tmp28 ;
6083 unsigned long __cil_tmp29 ;
6084 struct Nand *__cil_tmp30 ;
6085 unsigned long __cil_tmp31 ;
6086 unsigned long __cil_tmp32 ;
6087 unsigned long __cil_tmp33 ;
6088 unsigned long __cil_tmp34 ;
6089 unsigned int __cil_tmp35 ;
6090 int __cil_tmp36 ;
6091 int __cil_tmp37 ;
6092 int __cil_tmp38 ;
6093 long __cil_tmp39 ;
6094 unsigned long __cil_tmp40 ;
6095 unsigned long __cil_tmp41 ;
6096 uint32_t __cil_tmp42 ;
6097 loff_t __cil_tmp43 ;
6098 char __cil_tmp44 ;
6099 int __cil_tmp45 ;
6100 unsigned long __cil_tmp46 ;
6101 unsigned long __cil_tmp47 ;
6102 int __cil_tmp48 ;
6103 char __cil_tmp49 ;
6104 int __cil_tmp50 ;
6105 unsigned long __cil_tmp51 ;
6106 unsigned long __cil_tmp52 ;
6107 char __cil_tmp53 ;
6108 int __cil_tmp54 ;
6109 unsigned long __cil_tmp55 ;
6110 unsigned long __cil_tmp56 ;
6111 char __cil_tmp57 ;
6112 int __cil_tmp58 ;
6113 unsigned long __cil_tmp59 ;
6114 unsigned long __cil_tmp60 ;
6115 int __cil_tmp61 ;
6116 unsigned long __cil_tmp62 ;
6117 unsigned long __cil_tmp63 ;
6118 char __cil_tmp64 ;
6119 int __cil_tmp65 ;
6120 unsigned long __cil_tmp66 ;
6121 unsigned long __cil_tmp67 ;
6122 char __cil_tmp68 ;
6123 unsigned long __cil_tmp69 ;
6124 unsigned long __cil_tmp70 ;
6125 unsigned long __cil_tmp71 ;
6126 unsigned long __cil_tmp72 ;
6127 char __cil_tmp73 ;
6128 void *__cil_tmp74 ;
6129 void volatile *__cil_tmp75 ;
6130 void *__cil_tmp76 ;
6131 void volatile *__cil_tmp77 ;
6132 loff_t *__cil_tmp78 ;
6133 unsigned long __cil_tmp79 ;
6134 unsigned long __cil_tmp80 ;
6135 char __cil_tmp81 ;
6136 loff_t __cil_tmp82 ;
6137 unsigned char __cil_tmp83 ;
6138 loff_t __cil_tmp84 ;
6139 unsigned char __cil_tmp85 ;
6140 loff_t __cil_tmp86 ;
6141 unsigned char __cil_tmp87 ;
6142 loff_t __cil_tmp88 ;
6143 loff_t *__cil_tmp89 ;
6144 loff_t __cil_tmp90 ;
6145 unsigned long __cil_tmp91 ;
6146 void *__cil_tmp92 ;
6147 void volatile *__cil_tmp93 ;
6148 void *__cil_tmp94 ;
6149 void const volatile *__cil_tmp95 ;
6150 void *__cil_tmp96 ;
6151 void const volatile *__cil_tmp97 ;
6152 uint8_t *__cil_tmp98 ;
6153 size_t __cil_tmp99 ;
6154 int __cil_tmp100 ;
6155 size_t __cil_tmp101 ;
6156 size_t __cil_tmp102 ;
6157 uint8_t *__cil_tmp103 ;
6158 void *__cil_tmp104 ;
6159 void const volatile *__cil_tmp105 ;
6160 size_t __cil_tmp106 ;
6161 size_t __cil_tmp107 ;
6162 uint8_t *__cil_tmp108 ;
6163 void *__cil_tmp109 ;
6164 void const volatile *__cil_tmp110 ;
6165 loff_t __cil_tmp111 ;
6166 void *__cil_tmp112 ;
6167 void volatile *__cil_tmp113 ;
6168 unsigned long __cil_tmp114 ;
6169 unsigned long __cil_tmp115 ;
6170
6171 {
6172#line 814
6173 __cil_tmp19 = (unsigned long )mtd;
6174#line 814
6175 __cil_tmp20 = __cil_tmp19 + 360;
6176#line 814
6177 __cil_tmp21 = *((void **)__cil_tmp20);
6178#line 814
6179 this = (struct DiskOnChip *)__cil_tmp21;
6180#line 815
6181 __cil_tmp22 = (unsigned long )this;
6182#line 815
6183 __cil_tmp23 = __cil_tmp22 + 8;
6184#line 815
6185 docptr = *((void **)__cil_tmp23);
6186#line 816
6187 __cil_tmp24 = (unsigned long )this;
6188#line 816
6189 __cil_tmp25 = __cil_tmp24 + 48;
6190#line 816
6191 __cil_tmp26 = *((int *)__cil_tmp25);
6192#line 816
6193 __cil_tmp27 = ofs >> __cil_tmp26;
6194#line 816
6195 __cil_tmp28 = (unsigned long )this;
6196#line 816
6197 __cil_tmp29 = __cil_tmp28 + 80;
6198#line 816
6199 __cil_tmp30 = *((struct Nand **)__cil_tmp29);
6200#line 816
6201 mychip = __cil_tmp30 + __cil_tmp27;
6202#line 818
6203 __cil_tmp31 = (unsigned long )ops;
6204#line 818
6205 __cil_tmp32 = __cil_tmp31 + 56;
6206#line 818
6207 buf = *((uint8_t **)__cil_tmp32);
6208#line 819
6209 __cil_tmp33 = (unsigned long )ops;
6210#line 819
6211 __cil_tmp34 = __cil_tmp33 + 8;
6212#line 819
6213 len = *((size_t *)__cil_tmp34);
6214 {
6215#line 821
6216 while (1) {
6217 while_continue: ;
6218 {
6219#line 821
6220 __cil_tmp35 = *((unsigned int *)ops);
6221#line 821
6222 __cil_tmp36 = __cil_tmp35 != 0U;
6223#line 821
6224 __cil_tmp37 = ! __cil_tmp36;
6225#line 821
6226 __cil_tmp38 = ! __cil_tmp37;
6227#line 821
6228 __cil_tmp39 = (long )__cil_tmp38;
6229#line 821
6230 tmp___7 = __builtin_expect(__cil_tmp39, 0L);
6231 }
6232#line 821
6233 if (tmp___7) {
6234 {
6235#line 821
6236 while (1) {
6237 while_continue___0: ;
6238#line 821
6239 __asm__ volatile ("1:\tud2\n"
6240 ".pushsection __bug_table,\"a\"\n"
6241 "2:\t.long 1b - 2b, %c0 - 2b\n"
6242 "\t.word %c1, 0\n"
6243 "\t.org 2b+%c2\n"
6244 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"),
6245 "i" (821), "i" (12UL));
6246 {
6247#line 821
6248 while (1) {
6249 while_continue___1: ;
6250 }
6251 while_break___1: ;
6252 }
6253#line 821
6254 goto while_break___0;
6255 }
6256 while_break___0: ;
6257 }
6258 } else {
6259
6260 }
6261#line 821
6262 goto while_break;
6263 }
6264 while_break: ;
6265 }
6266 {
6267#line 823
6268 __cil_tmp40 = (unsigned long )ops;
6269#line 823
6270 __cil_tmp41 = __cil_tmp40 + 40;
6271#line 823
6272 __cil_tmp42 = *((uint32_t *)__cil_tmp41);
6273#line 823
6274 __cil_tmp43 = (loff_t )__cil_tmp42;
6275#line 823
6276 ofs = ofs + __cil_tmp43;
6277#line 825
6278 DoC_CheckASIC(docptr);
6279 }
6280 {
6281#line 828
6282 __cil_tmp44 = *((char *)mychip);
6283#line 828
6284 __cil_tmp45 = (int )__cil_tmp44;
6285#line 828
6286 __cil_tmp46 = (unsigned long )this;
6287#line 828
6288 __cil_tmp47 = __cil_tmp46 + 64;
6289#line 828
6290 __cil_tmp48 = *((int *)__cil_tmp47);
6291#line 828
6292 if (__cil_tmp48 != __cil_tmp45) {
6293 {
6294#line 829
6295 __cil_tmp49 = *((char *)mychip);
6296#line 829
6297 __cil_tmp50 = (int )__cil_tmp49;
6298#line 829
6299 DoC_SelectFloor(docptr, __cil_tmp50);
6300#line 830
6301 __cil_tmp51 = (unsigned long )mychip;
6302#line 830
6303 __cil_tmp52 = __cil_tmp51 + 1;
6304#line 830
6305 __cil_tmp53 = *((char *)__cil_tmp52);
6306#line 830
6307 __cil_tmp54 = (int )__cil_tmp53;
6308#line 830
6309 DoC_SelectChip(docptr, __cil_tmp54);
6310 }
6311 } else {
6312 {
6313#line 831
6314 __cil_tmp55 = (unsigned long )mychip;
6315#line 831
6316 __cil_tmp56 = __cil_tmp55 + 1;
6317#line 831
6318 __cil_tmp57 = *((char *)__cil_tmp56);
6319#line 831
6320 __cil_tmp58 = (int )__cil_tmp57;
6321#line 831
6322 __cil_tmp59 = (unsigned long )this;
6323#line 831
6324 __cil_tmp60 = __cil_tmp59 + 68;
6325#line 831
6326 __cil_tmp61 = *((int *)__cil_tmp60);
6327#line 831
6328 if (__cil_tmp61 != __cil_tmp58) {
6329 {
6330#line 832
6331 __cil_tmp62 = (unsigned long )mychip;
6332#line 832
6333 __cil_tmp63 = __cil_tmp62 + 1;
6334#line 832
6335 __cil_tmp64 = *((char *)__cil_tmp63);
6336#line 832
6337 __cil_tmp65 = (int )__cil_tmp64;
6338#line 832
6339 DoC_SelectChip(docptr, __cil_tmp65);
6340 }
6341 } else {
6342
6343 }
6344 }
6345 }
6346 }
6347 {
6348#line 834
6349 __cil_tmp66 = (unsigned long )this;
6350#line 834
6351 __cil_tmp67 = __cil_tmp66 + 64;
6352#line 834
6353 __cil_tmp68 = *((char *)mychip);
6354#line 834
6355 *((int *)__cil_tmp67) = (int )__cil_tmp68;
6356#line 835
6357 __cil_tmp69 = (unsigned long )this;
6358#line 835
6359 __cil_tmp70 = __cil_tmp69 + 68;
6360#line 835
6361 __cil_tmp71 = (unsigned long )mychip;
6362#line 835
6363 __cil_tmp72 = __cil_tmp71 + 1;
6364#line 835
6365 __cil_tmp73 = *((char *)__cil_tmp72);
6366#line 835
6367 *((int *)__cil_tmp70) = (int )__cil_tmp73;
6368#line 838
6369 __cil_tmp74 = docptr + 4130;
6370#line 838
6371 __cil_tmp75 = (void volatile *)__cil_tmp74;
6372#line 838
6373 writeb((unsigned char)192, __cil_tmp75);
6374#line 841
6375 __cil_tmp76 = docptr + 4166;
6376#line 841
6377 __cil_tmp77 = (void volatile *)__cil_tmp76;
6378#line 841
6379 writeb((unsigned char)0, __cil_tmp77);
6380#line 842
6381 DoC_WaitReady(docptr);
6382 }
6383#line 845
6384 if (len > 16UL) {
6385#line 846
6386 len = (size_t )16;
6387 } else {
6388
6389 }
6390#line 847
6391 got = (size_t )0;
6392#line 848
6393 want = len;
6394#line 850
6395 i = (size_t )0;
6396 {
6397#line 850
6398 while (1) {
6399 while_continue___2: ;
6400#line 850
6401 if (i < 3UL) {
6402#line 850
6403 if (want > 0UL) {
6404
6405 } else {
6406#line 850
6407 goto while_break___2;
6408 }
6409 } else {
6410#line 850
6411 goto while_break___2;
6412 }
6413#line 852
6414 __cil_tmp78 = & fofs;
6415#line 852
6416 *__cil_tmp78 = ofs;
6417#line 853
6418 base = ofs & 15LL;
6419 {
6420#line 854
6421 __cil_tmp79 = (unsigned long )this;
6422#line 854
6423 __cil_tmp80 = __cil_tmp79 + 54;
6424#line 854
6425 __cil_tmp81 = *((char *)__cil_tmp80);
6426#line 854
6427 if (! __cil_tmp81) {
6428 {
6429#line 855
6430 DoC_Command(docptr, (unsigned char)80, (unsigned char)0);
6431#line 856
6432 __cil_tmp82 = 16LL - base;
6433#line 856
6434 size = (size_t )__cil_tmp82;
6435 }
6436 } else
6437#line 857
6438 if (base < 6LL) {
6439 {
6440#line 858
6441 tmp___8 = DoC_GetECCOffset(mtd, & fofs);
6442#line 858
6443 __cil_tmp83 = (unsigned char )tmp___8;
6444#line 858
6445 DoC_Command(docptr, __cil_tmp83, (unsigned char)0);
6446#line 859
6447 __cil_tmp84 = 6LL - base;
6448#line 859
6449 size = (size_t )__cil_tmp84;
6450 }
6451 } else
6452#line 860
6453 if (base < 8LL) {
6454 {
6455#line 861
6456 tmp___9 = DoC_GetFlagsOffset(mtd, & fofs);
6457#line 861
6458 __cil_tmp85 = (unsigned char )tmp___9;
6459#line 861
6460 DoC_Command(docptr, __cil_tmp85, (unsigned char)0);
6461#line 862
6462 __cil_tmp86 = 8LL - base;
6463#line 862
6464 size = (size_t )__cil_tmp86;
6465 }
6466 } else {
6467 {
6468#line 864
6469 tmp___10 = DoC_GetHdrOffset(mtd, & fofs);
6470#line 864
6471 __cil_tmp87 = (unsigned char )tmp___10;
6472#line 864
6473 DoC_Command(docptr, __cil_tmp87, (unsigned char)0);
6474#line 865
6475 __cil_tmp88 = 16LL - base;
6476#line 865
6477 size = (size_t )__cil_tmp88;
6478 }
6479 }
6480 }
6481#line 867
6482 if (size > want) {
6483#line 868
6484 size = want;
6485 } else {
6486
6487 }
6488 {
6489#line 871
6490 __cil_tmp89 = & fofs;
6491#line 871
6492 __cil_tmp90 = *__cil_tmp89;
6493#line 871
6494 __cil_tmp91 = (unsigned long )__cil_tmp90;
6495#line 871
6496 DoC_Address(this, 3, __cil_tmp91, (unsigned char)0, (unsigned char)0);
6497#line 872
6498 __cil_tmp92 = docptr + 4128;
6499#line 872
6500 __cil_tmp93 = (void volatile *)__cil_tmp92;
6501#line 872
6502 writeb((unsigned char)0, __cil_tmp93);
6503#line 873
6504 DoC_WaitReady(docptr);
6505#line 875
6506 __cil_tmp94 = docptr + 4138;
6507#line 875
6508 __cil_tmp95 = (void const volatile *)__cil_tmp94;
6509#line 875
6510 readb(__cil_tmp95);
6511#line 876
6512 __cil_tmp96 = docptr + 4138;
6513#line 876
6514 __cil_tmp97 = (void const volatile *)__cil_tmp96;
6515#line 876
6516 readb(__cil_tmp97);
6517#line 877
6518 __cil_tmp98 = buf + got;
6519#line 877
6520 __cil_tmp99 = size - 2UL;
6521#line 877
6522 __cil_tmp100 = (int )__cil_tmp99;
6523#line 877
6524 MemReadDOC(docptr, __cil_tmp98, __cil_tmp100);
6525#line 878
6526 __cil_tmp101 = got + size;
6527#line 878
6528 __cil_tmp102 = __cil_tmp101 - 2UL;
6529#line 878
6530 __cil_tmp103 = buf + __cil_tmp102;
6531#line 878
6532 __cil_tmp104 = docptr + 4140;
6533#line 878
6534 __cil_tmp105 = (void const volatile *)__cil_tmp104;
6535#line 878
6536 *__cil_tmp103 = readb(__cil_tmp105);
6537#line 879
6538 __cil_tmp106 = got + size;
6539#line 879
6540 __cil_tmp107 = __cil_tmp106 - 1UL;
6541#line 879
6542 __cil_tmp108 = buf + __cil_tmp107;
6543#line 879
6544 __cil_tmp109 = docptr + 4140;
6545#line 879
6546 __cil_tmp110 = (void const volatile *)__cil_tmp109;
6547#line 879
6548 *__cil_tmp108 = readb(__cil_tmp110);
6549#line 881
6550 __cil_tmp111 = (loff_t )size;
6551#line 881
6552 ofs = ofs + __cil_tmp111;
6553#line 882
6554 got = got + size;
6555#line 883
6556 want = want - size;
6557#line 850
6558 i = i + 1UL;
6559 }
6560 }
6561 while_break___2: ;
6562 }
6563 {
6564#line 887
6565 __cil_tmp112 = docptr + 4130;
6566#line 887
6567 __cil_tmp113 = (void volatile *)__cil_tmp112;
6568#line 887
6569 writeb((unsigned char)0, __cil_tmp113);
6570#line 889
6571 __cil_tmp114 = (unsigned long )ops;
6572#line 889
6573 __cil_tmp115 = __cil_tmp114 + 16;
6574#line 889
6575 *((size_t *)__cil_tmp115) = len;
6576 }
6577#line 890
6578 return (0);
6579}
6580}
6581#line 893 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
6582static int doc_write_oob(struct mtd_info *mtd , loff_t ofs , struct mtd_oob_ops *ops )
6583{ char volatile dummy ;
6584 loff_t fofs ;
6585 loff_t base ;
6586 struct DiskOnChip *this ;
6587 void *docptr ;
6588 struct Nand *mychip ;
6589 size_t i ;
6590 size_t size ;
6591 size_t got ;
6592 size_t want ;
6593 int ret ;
6594 uint8_t *buf ;
6595 size_t len ;
6596 long tmp___7 ;
6597 unsigned int tmp___8 ;
6598 unsigned int tmp___9 ;
6599 unsigned int tmp___10 ;
6600 unsigned char tmp___11 ;
6601 unsigned char tmp___12 ;
6602 unsigned char tmp___13 ;
6603 unsigned char tmp___14 ;
6604 unsigned long __cil_tmp25 ;
6605 unsigned long __cil_tmp26 ;
6606 void *__cil_tmp27 ;
6607 unsigned long __cil_tmp28 ;
6608 unsigned long __cil_tmp29 ;
6609 unsigned long __cil_tmp30 ;
6610 unsigned long __cil_tmp31 ;
6611 int __cil_tmp32 ;
6612 loff_t __cil_tmp33 ;
6613 unsigned long __cil_tmp34 ;
6614 unsigned long __cil_tmp35 ;
6615 struct Nand *__cil_tmp36 ;
6616 unsigned long __cil_tmp37 ;
6617 unsigned long __cil_tmp38 ;
6618 unsigned long __cil_tmp39 ;
6619 unsigned long __cil_tmp40 ;
6620 unsigned int __cil_tmp41 ;
6621 int __cil_tmp42 ;
6622 int __cil_tmp43 ;
6623 int __cil_tmp44 ;
6624 long __cil_tmp45 ;
6625 unsigned long __cil_tmp46 ;
6626 unsigned long __cil_tmp47 ;
6627 uint32_t __cil_tmp48 ;
6628 loff_t __cil_tmp49 ;
6629 char __cil_tmp50 ;
6630 int __cil_tmp51 ;
6631 unsigned long __cil_tmp52 ;
6632 unsigned long __cil_tmp53 ;
6633 int __cil_tmp54 ;
6634 char __cil_tmp55 ;
6635 int __cil_tmp56 ;
6636 unsigned long __cil_tmp57 ;
6637 unsigned long __cil_tmp58 ;
6638 char __cil_tmp59 ;
6639 int __cil_tmp60 ;
6640 unsigned long __cil_tmp61 ;
6641 unsigned long __cil_tmp62 ;
6642 char __cil_tmp63 ;
6643 int __cil_tmp64 ;
6644 unsigned long __cil_tmp65 ;
6645 unsigned long __cil_tmp66 ;
6646 int __cil_tmp67 ;
6647 unsigned long __cil_tmp68 ;
6648 unsigned long __cil_tmp69 ;
6649 char __cil_tmp70 ;
6650 int __cil_tmp71 ;
6651 unsigned long __cil_tmp72 ;
6652 unsigned long __cil_tmp73 ;
6653 char __cil_tmp74 ;
6654 unsigned long __cil_tmp75 ;
6655 unsigned long __cil_tmp76 ;
6656 unsigned long __cil_tmp77 ;
6657 unsigned long __cil_tmp78 ;
6658 char __cil_tmp79 ;
6659 void *__cil_tmp80 ;
6660 void volatile *__cil_tmp81 ;
6661 loff_t *__cil_tmp82 ;
6662 unsigned long __cil_tmp83 ;
6663 unsigned long __cil_tmp84 ;
6664 char __cil_tmp85 ;
6665 void *__cil_tmp86 ;
6666 void volatile *__cil_tmp87 ;
6667 loff_t __cil_tmp88 ;
6668 unsigned char __cil_tmp89 ;
6669 void *__cil_tmp90 ;
6670 void volatile *__cil_tmp91 ;
6671 loff_t __cil_tmp92 ;
6672 unsigned char __cil_tmp93 ;
6673 void *__cil_tmp94 ;
6674 void volatile *__cil_tmp95 ;
6675 loff_t __cil_tmp96 ;
6676 unsigned char __cil_tmp97 ;
6677 void *__cil_tmp98 ;
6678 void volatile *__cil_tmp99 ;
6679 loff_t __cil_tmp100 ;
6680 loff_t *__cil_tmp101 ;
6681 loff_t __cil_tmp102 ;
6682 unsigned long __cil_tmp103 ;
6683 void *__cil_tmp104 ;
6684 void volatile *__cil_tmp105 ;
6685 uint8_t *__cil_tmp106 ;
6686 int __cil_tmp107 ;
6687 void *__cil_tmp108 ;
6688 void volatile *__cil_tmp109 ;
6689 void *__cil_tmp110 ;
6690 void volatile *__cil_tmp111 ;
6691 void *__cil_tmp112 ;
6692 void const volatile *__cil_tmp113 ;
6693 void *__cil_tmp114 ;
6694 void const volatile *__cil_tmp115 ;
6695 void *__cil_tmp116 ;
6696 void const volatile *__cil_tmp117 ;
6697 int volatile __cil_tmp118 ;
6698 int volatile __cil_tmp119 ;
6699 int volatile __cil_tmp120 ;
6700 int __cil_tmp121 ;
6701 unsigned long __cil_tmp122 ;
6702 unsigned long __cil_tmp123 ;
6703 void *__cil_tmp124 ;
6704 void const volatile *__cil_tmp125 ;
6705 loff_t __cil_tmp126 ;
6706 void *__cil_tmp127 ;
6707 void volatile *__cil_tmp128 ;
6708 unsigned long __cil_tmp129 ;
6709 unsigned long __cil_tmp130 ;
6710
6711 {
6712#line 898
6713 __cil_tmp25 = (unsigned long )mtd;
6714#line 898
6715 __cil_tmp26 = __cil_tmp25 + 360;
6716#line 898
6717 __cil_tmp27 = *((void **)__cil_tmp26);
6718#line 898
6719 this = (struct DiskOnChip *)__cil_tmp27;
6720#line 899
6721 __cil_tmp28 = (unsigned long )this;
6722#line 899
6723 __cil_tmp29 = __cil_tmp28 + 8;
6724#line 899
6725 docptr = *((void **)__cil_tmp29);
6726#line 900
6727 __cil_tmp30 = (unsigned long )this;
6728#line 900
6729 __cil_tmp31 = __cil_tmp30 + 48;
6730#line 900
6731 __cil_tmp32 = *((int *)__cil_tmp31);
6732#line 900
6733 __cil_tmp33 = ofs >> __cil_tmp32;
6734#line 900
6735 __cil_tmp34 = (unsigned long )this;
6736#line 900
6737 __cil_tmp35 = __cil_tmp34 + 80;
6738#line 900
6739 __cil_tmp36 = *((struct Nand **)__cil_tmp35);
6740#line 900
6741 mychip = __cil_tmp36 + __cil_tmp33;
6742#line 902
6743 ret = 0;
6744#line 903
6745 __cil_tmp37 = (unsigned long )ops;
6746#line 903
6747 __cil_tmp38 = __cil_tmp37 + 56;
6748#line 903
6749 buf = *((uint8_t **)__cil_tmp38);
6750#line 904
6751 __cil_tmp39 = (unsigned long )ops;
6752#line 904
6753 __cil_tmp40 = __cil_tmp39 + 8;
6754#line 904
6755 len = *((size_t *)__cil_tmp40);
6756 {
6757#line 906
6758 while (1) {
6759 while_continue: ;
6760 {
6761#line 906
6762 __cil_tmp41 = *((unsigned int *)ops);
6763#line 906
6764 __cil_tmp42 = __cil_tmp41 != 0U;
6765#line 906
6766 __cil_tmp43 = ! __cil_tmp42;
6767#line 906
6768 __cil_tmp44 = ! __cil_tmp43;
6769#line 906
6770 __cil_tmp45 = (long )__cil_tmp44;
6771#line 906
6772 tmp___7 = __builtin_expect(__cil_tmp45, 0L);
6773 }
6774#line 906
6775 if (tmp___7) {
6776 {
6777#line 906
6778 while (1) {
6779 while_continue___0: ;
6780#line 906
6781 __asm__ volatile ("1:\tud2\n"
6782 ".pushsection __bug_table,\"a\"\n"
6783 "2:\t.long 1b - 2b, %c0 - 2b\n"
6784 "\t.word %c1, 0\n"
6785 "\t.org 2b+%c2\n"
6786 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"),
6787 "i" (906), "i" (12UL));
6788 {
6789#line 906
6790 while (1) {
6791 while_continue___1: ;
6792 }
6793 while_break___1: ;
6794 }
6795#line 906
6796 goto while_break___0;
6797 }
6798 while_break___0: ;
6799 }
6800 } else {
6801
6802 }
6803#line 906
6804 goto while_break;
6805 }
6806 while_break: ;
6807 }
6808 {
6809#line 908
6810 __cil_tmp46 = (unsigned long )ops;
6811#line 908
6812 __cil_tmp47 = __cil_tmp46 + 40;
6813#line 908
6814 __cil_tmp48 = *((uint32_t *)__cil_tmp47);
6815#line 908
6816 __cil_tmp49 = (loff_t )__cil_tmp48;
6817#line 908
6818 ofs = ofs + __cil_tmp49;
6819#line 910
6820 DoC_CheckASIC(docptr);
6821 }
6822 {
6823#line 913
6824 __cil_tmp50 = *((char *)mychip);
6825#line 913
6826 __cil_tmp51 = (int )__cil_tmp50;
6827#line 913
6828 __cil_tmp52 = (unsigned long )this;
6829#line 913
6830 __cil_tmp53 = __cil_tmp52 + 64;
6831#line 913
6832 __cil_tmp54 = *((int *)__cil_tmp53);
6833#line 913
6834 if (__cil_tmp54 != __cil_tmp51) {
6835 {
6836#line 914
6837 __cil_tmp55 = *((char *)mychip);
6838#line 914
6839 __cil_tmp56 = (int )__cil_tmp55;
6840#line 914
6841 DoC_SelectFloor(docptr, __cil_tmp56);
6842#line 915
6843 __cil_tmp57 = (unsigned long )mychip;
6844#line 915
6845 __cil_tmp58 = __cil_tmp57 + 1;
6846#line 915
6847 __cil_tmp59 = *((char *)__cil_tmp58);
6848#line 915
6849 __cil_tmp60 = (int )__cil_tmp59;
6850#line 915
6851 DoC_SelectChip(docptr, __cil_tmp60);
6852 }
6853 } else {
6854 {
6855#line 916
6856 __cil_tmp61 = (unsigned long )mychip;
6857#line 916
6858 __cil_tmp62 = __cil_tmp61 + 1;
6859#line 916
6860 __cil_tmp63 = *((char *)__cil_tmp62);
6861#line 916
6862 __cil_tmp64 = (int )__cil_tmp63;
6863#line 916
6864 __cil_tmp65 = (unsigned long )this;
6865#line 916
6866 __cil_tmp66 = __cil_tmp65 + 68;
6867#line 916
6868 __cil_tmp67 = *((int *)__cil_tmp66);
6869#line 916
6870 if (__cil_tmp67 != __cil_tmp64) {
6871 {
6872#line 917
6873 __cil_tmp68 = (unsigned long )mychip;
6874#line 917
6875 __cil_tmp69 = __cil_tmp68 + 1;
6876#line 917
6877 __cil_tmp70 = *((char *)__cil_tmp69);
6878#line 917
6879 __cil_tmp71 = (int )__cil_tmp70;
6880#line 917
6881 DoC_SelectChip(docptr, __cil_tmp71);
6882 }
6883 } else {
6884
6885 }
6886 }
6887 }
6888 }
6889 {
6890#line 919
6891 __cil_tmp72 = (unsigned long )this;
6892#line 919
6893 __cil_tmp73 = __cil_tmp72 + 64;
6894#line 919
6895 __cil_tmp74 = *((char *)mychip);
6896#line 919
6897 *((int *)__cil_tmp73) = (int )__cil_tmp74;
6898#line 920
6899 __cil_tmp75 = (unsigned long )this;
6900#line 920
6901 __cil_tmp76 = __cil_tmp75 + 68;
6902#line 920
6903 __cil_tmp77 = (unsigned long )mychip;
6904#line 920
6905 __cil_tmp78 = __cil_tmp77 + 1;
6906#line 920
6907 __cil_tmp79 = *((char *)__cil_tmp78);
6908#line 920
6909 *((int *)__cil_tmp76) = (int )__cil_tmp79;
6910#line 923
6911 __cil_tmp80 = docptr + 4130;
6912#line 923
6913 __cil_tmp81 = (void volatile *)__cil_tmp80;
6914#line 923
6915 writeb((unsigned char)128, __cil_tmp81);
6916 }
6917#line 927
6918 if (len > 16UL) {
6919#line 928
6920 len = (size_t )16;
6921 } else {
6922
6923 }
6924#line 929
6925 got = (size_t )0;
6926#line 930
6927 want = len;
6928#line 932
6929 i = (size_t )0;
6930 {
6931#line 932
6932 while (1) {
6933 while_continue___2: ;
6934#line 932
6935 if (i < 3UL) {
6936#line 932
6937 if (want > 0UL) {
6938
6939 } else {
6940#line 932
6941 goto while_break___2;
6942 }
6943 } else {
6944#line 932
6945 goto while_break___2;
6946 }
6947 {
6948#line 934
6949 DoC_Command(docptr, (unsigned char)255, (unsigned char)0);
6950#line 935
6951 DoC_WaitReady(docptr);
6952#line 938
6953 __cil_tmp82 = & fofs;
6954#line 938
6955 *__cil_tmp82 = ofs;
6956#line 939
6957 base = ofs & 15LL;
6958 }
6959 {
6960#line 940
6961 __cil_tmp83 = (unsigned long )this;
6962#line 940
6963 __cil_tmp84 = __cil_tmp83 + 54;
6964#line 940
6965 __cil_tmp85 = *((char *)__cil_tmp84);
6966#line 940
6967 if (! __cil_tmp85) {
6968 {
6969#line 941
6970 __cil_tmp86 = docptr + 4132;
6971#line 941
6972 __cil_tmp87 = (void volatile *)__cil_tmp86;
6973#line 941
6974 writeb((unsigned char)80, __cil_tmp87);
6975#line 942
6976 __cil_tmp88 = 16LL - base;
6977#line 942
6978 size = (size_t )__cil_tmp88;
6979 }
6980 } else
6981#line 943
6982 if (base < 6LL) {
6983 {
6984#line 944
6985 tmp___8 = DoC_GetECCOffset(mtd, & fofs);
6986#line 944
6987 __cil_tmp89 = (unsigned char )tmp___8;
6988#line 944
6989 __cil_tmp90 = docptr + 4132;
6990#line 944
6991 __cil_tmp91 = (void volatile *)__cil_tmp90;
6992#line 944
6993 writeb(__cil_tmp89, __cil_tmp91);
6994#line 945
6995 __cil_tmp92 = 6LL - base;
6996#line 945
6997 size = (size_t )__cil_tmp92;
6998 }
6999 } else
7000#line 946
7001 if (base < 8LL) {
7002 {
7003#line 947
7004 tmp___9 = DoC_GetFlagsOffset(mtd, & fofs);
7005#line 947
7006 __cil_tmp93 = (unsigned char )tmp___9;
7007#line 947
7008 __cil_tmp94 = docptr + 4132;
7009#line 947
7010 __cil_tmp95 = (void volatile *)__cil_tmp94;
7011#line 947
7012 writeb(__cil_tmp93, __cil_tmp95);
7013#line 948
7014 __cil_tmp96 = 8LL - base;
7015#line 948
7016 size = (size_t )__cil_tmp96;
7017 }
7018 } else {
7019 {
7020#line 950
7021 tmp___10 = DoC_GetHdrOffset(mtd, & fofs);
7022#line 950
7023 __cil_tmp97 = (unsigned char )tmp___10;
7024#line 950
7025 __cil_tmp98 = docptr + 4132;
7026#line 950
7027 __cil_tmp99 = (void volatile *)__cil_tmp98;
7028#line 950
7029 writeb(__cil_tmp97, __cil_tmp99);
7030#line 951
7031 __cil_tmp100 = 16LL - base;
7032#line 951
7033 size = (size_t )__cil_tmp100;
7034 }
7035 }
7036 }
7037#line 953
7038 if (size > want) {
7039#line 954
7040 size = want;
7041 } else {
7042
7043 }
7044 {
7045#line 957
7046 DoC_Command(docptr, (unsigned char)128, (unsigned char)0);
7047#line 958
7048 __cil_tmp101 = & fofs;
7049#line 958
7050 __cil_tmp102 = *__cil_tmp101;
7051#line 958
7052 __cil_tmp103 = (unsigned long )__cil_tmp102;
7053#line 958
7054 DoC_Address(this, 3, __cil_tmp103, (unsigned char)0, (unsigned char)0);
7055#line 961
7056 __cil_tmp104 = docptr + 4166;
7057#line 961
7058 __cil_tmp105 = (void volatile *)__cil_tmp104;
7059#line 961
7060 writeb((unsigned char)0, __cil_tmp105);
7061#line 965
7062 __cil_tmp106 = buf + got;
7063#line 965
7064 __cil_tmp107 = (int )size;
7065#line 965
7066 MemWriteDOC(docptr, __cil_tmp106, __cil_tmp107);
7067#line 966
7068 __cil_tmp108 = docptr + 4142;
7069#line 966
7070 __cil_tmp109 = (void volatile *)__cil_tmp108;
7071#line 966
7072 writeb((unsigned char)0, __cil_tmp109);
7073#line 967
7074 __cil_tmp110 = docptr + 4142;
7075#line 967
7076 __cil_tmp111 = (void volatile *)__cil_tmp110;
7077#line 967
7078 writeb((unsigned char)0, __cil_tmp111);
7079#line 971
7080 DoC_Command(docptr, (unsigned char)16, (unsigned char)0);
7081#line 972
7082 DoC_WaitReady(docptr);
7083#line 976
7084 DoC_Command(docptr, (unsigned char)112, (unsigned char)0);
7085#line 977
7086 __cil_tmp112 = docptr + 4138;
7087#line 977
7088 __cil_tmp113 = (void const volatile *)__cil_tmp112;
7089#line 977
7090 tmp___11 = readb(__cil_tmp113);
7091#line 977
7092 dummy = (char volatile )tmp___11;
7093#line 978
7094 __cil_tmp114 = docptr + 4138;
7095#line 978
7096 __cil_tmp115 = (void const volatile *)__cil_tmp114;
7097#line 978
7098 tmp___12 = readb(__cil_tmp115);
7099#line 978
7100 dummy = (char volatile )tmp___12;
7101#line 979
7102 DoC_Delay(docptr, 2);
7103#line 980
7104 __cil_tmp116 = docptr + 4140;
7105#line 980
7106 __cil_tmp117 = (void const volatile *)__cil_tmp116;
7107#line 980
7108 tmp___13 = readb(__cil_tmp117);
7109#line 980
7110 dummy = (char volatile )tmp___13;
7111 }
7112 {
7113#line 980
7114 __cil_tmp118 = (int volatile )1;
7115#line 980
7116 __cil_tmp119 = (int volatile )dummy;
7117#line 980
7118 if (__cil_tmp119 & __cil_tmp118) {
7119 {
7120#line 981
7121 __cil_tmp120 = (int volatile )dummy;
7122#line 981
7123 __cil_tmp121 = (int )ofs;
7124#line 981
7125 printk("MTD: Error 0x%x programming oob at 0x%x\n", __cil_tmp120, __cil_tmp121);
7126#line 984
7127 __cil_tmp122 = (unsigned long )ops;
7128#line 984
7129 __cil_tmp123 = __cil_tmp122 + 16;
7130#line 984
7131 *((size_t *)__cil_tmp123) = (size_t )0;
7132#line 985
7133 ret = -5;
7134 }
7135 } else {
7136
7137 }
7138 }
7139 {
7140#line 987
7141 __cil_tmp124 = docptr + 4140;
7142#line 987
7143 __cil_tmp125 = (void const volatile *)__cil_tmp124;
7144#line 987
7145 tmp___14 = readb(__cil_tmp125);
7146#line 987
7147 dummy = (char volatile )tmp___14;
7148#line 989
7149 __cil_tmp126 = (loff_t )size;
7150#line 989
7151 ofs = ofs + __cil_tmp126;
7152#line 990
7153 got = got + size;
7154#line 991
7155 want = want - size;
7156#line 932
7157 i = i + 1UL;
7158 }
7159 }
7160 while_break___2: ;
7161 }
7162 {
7163#line 995
7164 __cil_tmp127 = docptr + 4130;
7165#line 995
7166 __cil_tmp128 = (void volatile *)__cil_tmp127;
7167#line 995
7168 writeb((unsigned char)0, __cil_tmp128);
7169#line 997
7170 __cil_tmp129 = (unsigned long )ops;
7171#line 997
7172 __cil_tmp130 = __cil_tmp129 + 16;
7173#line 997
7174 *((size_t *)__cil_tmp130) = len;
7175 }
7176#line 998
7177 return (ret);
7178}
7179}
7180#line 1001 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7181static int doc_erase(struct mtd_info *mtd , struct erase_info *instr )
7182{ char volatile dummy ;
7183 struct DiskOnChip *this ;
7184 __u32 ofs ;
7185 __u32 len ;
7186 void *docptr ;
7187 struct Nand *mychip ;
7188 unsigned char tmp___7 ;
7189 unsigned char tmp___8 ;
7190 unsigned char tmp___9 ;
7191 unsigned char tmp___10 ;
7192 unsigned long __cil_tmp13 ;
7193 unsigned long __cil_tmp14 ;
7194 void *__cil_tmp15 ;
7195 unsigned long __cil_tmp16 ;
7196 unsigned long __cil_tmp17 ;
7197 uint64_t __cil_tmp18 ;
7198 unsigned long __cil_tmp19 ;
7199 unsigned long __cil_tmp20 ;
7200 uint64_t __cil_tmp21 ;
7201 unsigned long __cil_tmp22 ;
7202 unsigned long __cil_tmp23 ;
7203 unsigned long __cil_tmp24 ;
7204 unsigned long __cil_tmp25 ;
7205 int __cil_tmp26 ;
7206 __u32 __cil_tmp27 ;
7207 unsigned long __cil_tmp28 ;
7208 unsigned long __cil_tmp29 ;
7209 struct Nand *__cil_tmp30 ;
7210 unsigned long __cil_tmp31 ;
7211 unsigned long __cil_tmp32 ;
7212 uint32_t __cil_tmp33 ;
7213 unsigned long __cil_tmp34 ;
7214 unsigned long __cil_tmp35 ;
7215 uint32_t __cil_tmp36 ;
7216 char __cil_tmp37 ;
7217 int __cil_tmp38 ;
7218 unsigned long __cil_tmp39 ;
7219 unsigned long __cil_tmp40 ;
7220 int __cil_tmp41 ;
7221 char __cil_tmp42 ;
7222 int __cil_tmp43 ;
7223 unsigned long __cil_tmp44 ;
7224 unsigned long __cil_tmp45 ;
7225 char __cil_tmp46 ;
7226 int __cil_tmp47 ;
7227 unsigned long __cil_tmp48 ;
7228 unsigned long __cil_tmp49 ;
7229 char __cil_tmp50 ;
7230 int __cil_tmp51 ;
7231 unsigned long __cil_tmp52 ;
7232 unsigned long __cil_tmp53 ;
7233 int __cil_tmp54 ;
7234 unsigned long __cil_tmp55 ;
7235 unsigned long __cil_tmp56 ;
7236 char __cil_tmp57 ;
7237 int __cil_tmp58 ;
7238 unsigned long __cil_tmp59 ;
7239 unsigned long __cil_tmp60 ;
7240 char __cil_tmp61 ;
7241 unsigned long __cil_tmp62 ;
7242 unsigned long __cil_tmp63 ;
7243 unsigned long __cil_tmp64 ;
7244 unsigned long __cil_tmp65 ;
7245 char __cil_tmp66 ;
7246 unsigned long __cil_tmp67 ;
7247 unsigned long __cil_tmp68 ;
7248 void *__cil_tmp69 ;
7249 void volatile *__cil_tmp70 ;
7250 unsigned long __cil_tmp71 ;
7251 unsigned long __cil_tmp72 ;
7252 unsigned long __cil_tmp73 ;
7253 void *__cil_tmp74 ;
7254 void const volatile *__cil_tmp75 ;
7255 void *__cil_tmp76 ;
7256 void const volatile *__cil_tmp77 ;
7257 void *__cil_tmp78 ;
7258 void const volatile *__cil_tmp79 ;
7259 int volatile __cil_tmp80 ;
7260 int volatile __cil_tmp81 ;
7261 int volatile __cil_tmp82 ;
7262 unsigned long __cil_tmp83 ;
7263 unsigned long __cil_tmp84 ;
7264 unsigned long __cil_tmp85 ;
7265 unsigned long __cil_tmp86 ;
7266 void *__cil_tmp87 ;
7267 void const volatile *__cil_tmp88 ;
7268 void *__cil_tmp89 ;
7269 void volatile *__cil_tmp90 ;
7270
7271 {
7272 {
7273#line 1004
7274 __cil_tmp13 = (unsigned long )mtd;
7275#line 1004
7276 __cil_tmp14 = __cil_tmp13 + 360;
7277#line 1004
7278 __cil_tmp15 = *((void **)__cil_tmp14);
7279#line 1004
7280 this = (struct DiskOnChip *)__cil_tmp15;
7281#line 1005
7282 __cil_tmp16 = (unsigned long )instr;
7283#line 1005
7284 __cil_tmp17 = __cil_tmp16 + 8;
7285#line 1005
7286 __cil_tmp18 = *((uint64_t *)__cil_tmp17);
7287#line 1005
7288 ofs = (__u32 )__cil_tmp18;
7289#line 1006
7290 __cil_tmp19 = (unsigned long )instr;
7291#line 1006
7292 __cil_tmp20 = __cil_tmp19 + 16;
7293#line 1006
7294 __cil_tmp21 = *((uint64_t *)__cil_tmp20);
7295#line 1006
7296 len = (__u32 )__cil_tmp21;
7297#line 1007
7298 __cil_tmp22 = (unsigned long )this;
7299#line 1007
7300 __cil_tmp23 = __cil_tmp22 + 8;
7301#line 1007
7302 docptr = *((void **)__cil_tmp23);
7303#line 1008
7304 __cil_tmp24 = (unsigned long )this;
7305#line 1008
7306 __cil_tmp25 = __cil_tmp24 + 48;
7307#line 1008
7308 __cil_tmp26 = *((int *)__cil_tmp25);
7309#line 1008
7310 __cil_tmp27 = ofs >> __cil_tmp26;
7311#line 1008
7312 __cil_tmp28 = (unsigned long )this;
7313#line 1008
7314 __cil_tmp29 = __cil_tmp28 + 80;
7315#line 1008
7316 __cil_tmp30 = *((struct Nand **)__cil_tmp29);
7317#line 1008
7318 mychip = __cil_tmp30 + __cil_tmp27;
7319#line 1010
7320 DoC_CheckASIC(docptr);
7321 }
7322 {
7323#line 1012
7324 __cil_tmp31 = (unsigned long )mtd;
7325#line 1012
7326 __cil_tmp32 = __cil_tmp31 + 16;
7327#line 1012
7328 __cil_tmp33 = *((uint32_t *)__cil_tmp32);
7329#line 1012
7330 if (len != __cil_tmp33) {
7331 {
7332#line 1013
7333 __cil_tmp34 = (unsigned long )mtd;
7334#line 1013
7335 __cil_tmp35 = __cil_tmp34 + 16;
7336#line 1013
7337 __cil_tmp36 = *((uint32_t *)__cil_tmp35);
7338#line 1013
7339 printk("<4>MTD: Erase not right size (%x != %x)n", len, __cil_tmp36);
7340 }
7341 } else {
7342
7343 }
7344 }
7345 {
7346#line 1017
7347 __cil_tmp37 = *((char *)mychip);
7348#line 1017
7349 __cil_tmp38 = (int )__cil_tmp37;
7350#line 1017
7351 __cil_tmp39 = (unsigned long )this;
7352#line 1017
7353 __cil_tmp40 = __cil_tmp39 + 64;
7354#line 1017
7355 __cil_tmp41 = *((int *)__cil_tmp40);
7356#line 1017
7357 if (__cil_tmp41 != __cil_tmp38) {
7358 {
7359#line 1018
7360 __cil_tmp42 = *((char *)mychip);
7361#line 1018
7362 __cil_tmp43 = (int )__cil_tmp42;
7363#line 1018
7364 DoC_SelectFloor(docptr, __cil_tmp43);
7365#line 1019
7366 __cil_tmp44 = (unsigned long )mychip;
7367#line 1019
7368 __cil_tmp45 = __cil_tmp44 + 1;
7369#line 1019
7370 __cil_tmp46 = *((char *)__cil_tmp45);
7371#line 1019
7372 __cil_tmp47 = (int )__cil_tmp46;
7373#line 1019
7374 DoC_SelectChip(docptr, __cil_tmp47);
7375 }
7376 } else {
7377 {
7378#line 1020
7379 __cil_tmp48 = (unsigned long )mychip;
7380#line 1020
7381 __cil_tmp49 = __cil_tmp48 + 1;
7382#line 1020
7383 __cil_tmp50 = *((char *)__cil_tmp49);
7384#line 1020
7385 __cil_tmp51 = (int )__cil_tmp50;
7386#line 1020
7387 __cil_tmp52 = (unsigned long )this;
7388#line 1020
7389 __cil_tmp53 = __cil_tmp52 + 68;
7390#line 1020
7391 __cil_tmp54 = *((int *)__cil_tmp53);
7392#line 1020
7393 if (__cil_tmp54 != __cil_tmp51) {
7394 {
7395#line 1021
7396 __cil_tmp55 = (unsigned long )mychip;
7397#line 1021
7398 __cil_tmp56 = __cil_tmp55 + 1;
7399#line 1021
7400 __cil_tmp57 = *((char *)__cil_tmp56);
7401#line 1021
7402 __cil_tmp58 = (int )__cil_tmp57;
7403#line 1021
7404 DoC_SelectChip(docptr, __cil_tmp58);
7405 }
7406 } else {
7407
7408 }
7409 }
7410 }
7411 }
7412 {
7413#line 1023
7414 __cil_tmp59 = (unsigned long )this;
7415#line 1023
7416 __cil_tmp60 = __cil_tmp59 + 64;
7417#line 1023
7418 __cil_tmp61 = *((char *)mychip);
7419#line 1023
7420 *((int *)__cil_tmp60) = (int )__cil_tmp61;
7421#line 1024
7422 __cil_tmp62 = (unsigned long )this;
7423#line 1024
7424 __cil_tmp63 = __cil_tmp62 + 68;
7425#line 1024
7426 __cil_tmp64 = (unsigned long )mychip;
7427#line 1024
7428 __cil_tmp65 = __cil_tmp64 + 1;
7429#line 1024
7430 __cil_tmp66 = *((char *)__cil_tmp65);
7431#line 1024
7432 *((int *)__cil_tmp63) = (int )__cil_tmp66;
7433#line 1026
7434 __cil_tmp67 = (unsigned long )instr;
7435#line 1026
7436 __cil_tmp68 = __cil_tmp67 + 72;
7437#line 1026
7438 *((u_char *)__cil_tmp68) = (u_char )1;
7439#line 1029
7440 __cil_tmp69 = docptr + 4130;
7441#line 1029
7442 __cil_tmp70 = (void volatile *)__cil_tmp69;
7443#line 1029
7444 writeb((unsigned char)128, __cil_tmp70);
7445#line 1031
7446 DoC_Command(docptr, (unsigned char)255, (unsigned char)0);
7447#line 1032
7448 DoC_WaitReady(docptr);
7449#line 1034
7450 DoC_Command(docptr, (unsigned char)96, (unsigned char)0);
7451#line 1035
7452 __cil_tmp71 = (unsigned long )ofs;
7453#line 1035
7454 DoC_Address(this, 2, __cil_tmp71, (unsigned char)0, (unsigned char)0);
7455#line 1036
7456 DoC_Command(docptr, (unsigned char)208, (unsigned char)0);
7457#line 1037
7458 DoC_WaitReady(docptr);
7459#line 1038
7460 __cil_tmp72 = (unsigned long )instr;
7461#line 1038
7462 __cil_tmp73 = __cil_tmp72 + 72;
7463#line 1038
7464 *((u_char *)__cil_tmp73) = (u_char )2;
7465#line 1042
7466 DoC_Command(docptr, (unsigned char)112, (unsigned char)0);
7467#line 1043
7468 __cil_tmp74 = docptr + 4138;
7469#line 1043
7470 __cil_tmp75 = (void const volatile *)__cil_tmp74;
7471#line 1043
7472 tmp___7 = readb(__cil_tmp75);
7473#line 1043
7474 dummy = (char volatile )tmp___7;
7475#line 1044
7476 __cil_tmp76 = docptr + 4138;
7477#line 1044
7478 __cil_tmp77 = (void const volatile *)__cil_tmp76;
7479#line 1044
7480 tmp___8 = readb(__cil_tmp77);
7481#line 1044
7482 dummy = (char volatile )tmp___8;
7483#line 1045
7484 __cil_tmp78 = docptr + 4140;
7485#line 1045
7486 __cil_tmp79 = (void const volatile *)__cil_tmp78;
7487#line 1045
7488 tmp___9 = readb(__cil_tmp79);
7489#line 1045
7490 dummy = (char volatile )tmp___9;
7491 }
7492 {
7493#line 1045
7494 __cil_tmp80 = (int volatile )1;
7495#line 1045
7496 __cil_tmp81 = (int volatile )dummy;
7497#line 1045
7498 if (__cil_tmp81 & __cil_tmp80) {
7499 {
7500#line 1046
7501 __cil_tmp82 = (int volatile )dummy;
7502#line 1046
7503 printk("MTD: Error 0x%x erasing at 0x%x\n", __cil_tmp82, ofs);
7504#line 1048
7505 __cil_tmp83 = (unsigned long )instr;
7506#line 1048
7507 __cil_tmp84 = __cil_tmp83 + 72;
7508#line 1048
7509 *((u_char *)__cil_tmp84) = (u_char )16;
7510 }
7511 } else {
7512#line 1050
7513 __cil_tmp85 = (unsigned long )instr;
7514#line 1050
7515 __cil_tmp86 = __cil_tmp85 + 72;
7516#line 1050
7517 *((u_char *)__cil_tmp86) = (u_char )8;
7518 }
7519 }
7520 {
7521#line 1052
7522 __cil_tmp87 = docptr + 4140;
7523#line 1052
7524 __cil_tmp88 = (void const volatile *)__cil_tmp87;
7525#line 1052
7526 tmp___10 = readb(__cil_tmp88);
7527#line 1052
7528 dummy = (char volatile )tmp___10;
7529#line 1055
7530 __cil_tmp89 = docptr + 4130;
7531#line 1055
7532 __cil_tmp90 = (void volatile *)__cil_tmp89;
7533#line 1055
7534 writeb((unsigned char)0, __cil_tmp90);
7535#line 1057
7536 mtd_erase_callback(instr);
7537 }
7538#line 1059
7539 return (0);
7540}
7541}
7542#line 1068
7543static void cleanup_doc2001plus(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
7544#line 1068 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7545static void cleanup_doc2001plus(void)
7546{ struct mtd_info *mtd ;
7547 struct DiskOnChip *this ;
7548 unsigned long __cil_tmp3 ;
7549 unsigned long __cil_tmp4 ;
7550 void *__cil_tmp5 ;
7551 unsigned long __cil_tmp6 ;
7552 unsigned long __cil_tmp7 ;
7553 unsigned long __cil_tmp8 ;
7554 unsigned long __cil_tmp9 ;
7555 void *__cil_tmp10 ;
7556 void volatile *__cil_tmp11 ;
7557 unsigned long __cil_tmp12 ;
7558 unsigned long __cil_tmp13 ;
7559 struct Nand *__cil_tmp14 ;
7560 void const *__cil_tmp15 ;
7561 void const *__cil_tmp16 ;
7562
7563 {
7564 {
7565#line 1073
7566 while (1) {
7567 while_continue: ;
7568#line 1073
7569 mtd = docmilpluslist;
7570#line 1073
7571 if (mtd) {
7572
7573 } else {
7574#line 1073
7575 goto while_break;
7576 }
7577 {
7578#line 1074
7579 __cil_tmp3 = (unsigned long )mtd;
7580#line 1074
7581 __cil_tmp4 = __cil_tmp3 + 360;
7582#line 1074
7583 __cil_tmp5 = *((void **)__cil_tmp4);
7584#line 1074
7585 this = (struct DiskOnChip *)__cil_tmp5;
7586#line 1075
7587 __cil_tmp6 = (unsigned long )this;
7588#line 1075
7589 __cil_tmp7 = __cil_tmp6 + 88;
7590#line 1075
7591 docmilpluslist = *((struct mtd_info **)__cil_tmp7);
7592#line 1077
7593 mtd_device_unregister(mtd);
7594#line 1079
7595 __cil_tmp8 = (unsigned long )this;
7596#line 1079
7597 __cil_tmp9 = __cil_tmp8 + 8;
7598#line 1079
7599 __cil_tmp10 = *((void **)__cil_tmp9);
7600#line 1079
7601 __cil_tmp11 = (void volatile *)__cil_tmp10;
7602#line 1079
7603 iounmap(__cil_tmp11);
7604#line 1080
7605 __cil_tmp12 = (unsigned long )this;
7606#line 1080
7607 __cil_tmp13 = __cil_tmp12 + 80;
7608#line 1080
7609 __cil_tmp14 = *((struct Nand **)__cil_tmp13);
7610#line 1080
7611 __cil_tmp15 = (void const *)__cil_tmp14;
7612#line 1080
7613 kfree(__cil_tmp15);
7614#line 1081
7615 __cil_tmp16 = (void const *)mtd;
7616#line 1081
7617 kfree(__cil_tmp16);
7618 }
7619 }
7620 while_break: ;
7621 }
7622#line 1083
7623 return;
7624}
7625}
7626#line 1085 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7627void cleanup_module(void)
7628{
7629
7630 {
7631 {
7632#line 1085
7633 cleanup_doc2001plus();
7634 }
7635#line 1085
7636 return;
7637}
7638}
7639#line 1087 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7640static char const __mod_license1087[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
7641__aligned__(1))) =
7642#line 1087
7643 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
7644 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
7645 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
7646#line 1088 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7647static char const __mod_author1088[47] __attribute__((__used__, __unused__, __section__(".modinfo"),
7648__aligned__(1))) =
7649#line 1088
7650 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
7651 (char const )'o', (char const )'r', (char const )'=', (char const )'G',
7652 (char const )'r', (char const )'e', (char const )'g', (char const )' ',
7653 (char const )'U', (char const )'n', (char const )'g', (char const )'e',
7654 (char const )'r', (char const )'e', (char const )'r', (char const )' ',
7655 (char const )'<', (char const )'g', (char const )'e', (char const )'r',
7656 (char const )'g', (char const )'@', (char const )'s', (char const )'n',
7657 (char const )'a', (char const )'p', (char const )'g', (char const )'e',
7658 (char const )'a', (char const )'r', (char const )'.', (char const )'c',
7659 (char const )'o', (char const )'m', (char const )'>', (char const )' ',
7660 (char const )'e', (char const )'t', (char const )' ', (char const )'a',
7661 (char const )'l', (char const )'.', (char const )'\000'};
7662#line 1089 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7663static char const __mod_description1089[50] __attribute__((__used__, __unused__,
7664__section__(".modinfo"), __aligned__(1))) =
7665#line 1089
7666 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
7667 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
7668 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
7669 (char const )'D', (char const )'r', (char const )'i', (char const )'v',
7670 (char const )'e', (char const )'r', (char const )' ', (char const )'f',
7671 (char const )'o', (char const )'r', (char const )' ', (char const )'D',
7672 (char const )'i', (char const )'s', (char const )'k', (char const )'O',
7673 (char const )'n', (char const )'C', (char const )'h', (char const )'i',
7674 (char const )'p', (char const )' ', (char const )'M', (char const )'i',
7675 (char const )'l', (char const )'l', (char const )'e', (char const )'n',
7676 (char const )'n', (char const )'i', (char const )'u', (char const )'m',
7677 (char const )' ', (char const )'P', (char const )'l', (char const )'u',
7678 (char const )'s', (char const )'\000'};
7679#line 1107
7680void ldv_check_final_state(void) ;
7681#line 1113
7682extern void ldv_initialize(void) ;
7683#line 1116
7684extern int __VERIFIER_nondet_int(void) ;
7685#line 1119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7686int LDV_IN_INTERRUPT ;
7687#line 1122 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7688void main(void)
7689{ int tmp___7 ;
7690 int tmp___8 ;
7691
7692 {
7693 {
7694#line 1134
7695 LDV_IN_INTERRUPT = 1;
7696#line 1143
7697 ldv_initialize();
7698 }
7699 {
7700#line 1145
7701 while (1) {
7702 while_continue: ;
7703 {
7704#line 1145
7705 tmp___8 = __VERIFIER_nondet_int();
7706 }
7707#line 1145
7708 if (tmp___8) {
7709
7710 } else {
7711#line 1145
7712 goto while_break;
7713 }
7714 {
7715#line 1148
7716 tmp___7 = __VERIFIER_nondet_int();
7717 }
7718 {
7719#line 1150
7720 goto switch_default;
7721#line 1148
7722 if (0) {
7723 switch_default:
7724#line 1150
7725 goto switch_break;
7726 } else {
7727 switch_break: ;
7728 }
7729 }
7730 }
7731 while_break: ;
7732 }
7733 {
7734#line 1183
7735 cleanup_doc2001plus();
7736 }
7737 {
7738#line 1186
7739 ldv_check_final_state();
7740 }
7741#line 1189
7742 return;
7743}
7744}
7745#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
7746void ldv_blast_assert(void)
7747{
7748
7749 {
7750 ERROR:
7751#line 6
7752 goto ERROR;
7753}
7754}
7755#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
7756extern int __VERIFIER_nondet_int(void) ;
7757#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7758int ldv_mutex = 1;
7759#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7760int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
7761{ int nondetermined ;
7762
7763 {
7764#line 29
7765 if (ldv_mutex == 1) {
7766
7767 } else {
7768 {
7769#line 29
7770 ldv_blast_assert();
7771 }
7772 }
7773 {
7774#line 32
7775 nondetermined = __VERIFIER_nondet_int();
7776 }
7777#line 35
7778 if (nondetermined) {
7779#line 38
7780 ldv_mutex = 2;
7781#line 40
7782 return (0);
7783 } else {
7784#line 45
7785 return (-4);
7786 }
7787}
7788}
7789#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7790int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
7791{ int nondetermined ;
7792
7793 {
7794#line 57
7795 if (ldv_mutex == 1) {
7796
7797 } else {
7798 {
7799#line 57
7800 ldv_blast_assert();
7801 }
7802 }
7803 {
7804#line 60
7805 nondetermined = __VERIFIER_nondet_int();
7806 }
7807#line 63
7808 if (nondetermined) {
7809#line 66
7810 ldv_mutex = 2;
7811#line 68
7812 return (0);
7813 } else {
7814#line 73
7815 return (-4);
7816 }
7817}
7818}
7819#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7820int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
7821{ int atomic_value_after_dec ;
7822
7823 {
7824#line 83
7825 if (ldv_mutex == 1) {
7826
7827 } else {
7828 {
7829#line 83
7830 ldv_blast_assert();
7831 }
7832 }
7833 {
7834#line 86
7835 atomic_value_after_dec = __VERIFIER_nondet_int();
7836 }
7837#line 89
7838 if (atomic_value_after_dec == 0) {
7839#line 92
7840 ldv_mutex = 2;
7841#line 94
7842 return (1);
7843 } else {
7844
7845 }
7846#line 98
7847 return (0);
7848}
7849}
7850#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7851void mutex_lock(struct mutex *lock )
7852{
7853
7854 {
7855#line 108
7856 if (ldv_mutex == 1) {
7857
7858 } else {
7859 {
7860#line 108
7861 ldv_blast_assert();
7862 }
7863 }
7864#line 110
7865 ldv_mutex = 2;
7866#line 111
7867 return;
7868}
7869}
7870#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7871int mutex_trylock(struct mutex *lock )
7872{ int nondetermined ;
7873
7874 {
7875#line 121
7876 if (ldv_mutex == 1) {
7877
7878 } else {
7879 {
7880#line 121
7881 ldv_blast_assert();
7882 }
7883 }
7884 {
7885#line 124
7886 nondetermined = __VERIFIER_nondet_int();
7887 }
7888#line 127
7889 if (nondetermined) {
7890#line 130
7891 ldv_mutex = 2;
7892#line 132
7893 return (1);
7894 } else {
7895#line 137
7896 return (0);
7897 }
7898}
7899}
7900#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7901void mutex_unlock(struct mutex *lock )
7902{
7903
7904 {
7905#line 147
7906 if (ldv_mutex == 2) {
7907
7908 } else {
7909 {
7910#line 147
7911 ldv_blast_assert();
7912 }
7913 }
7914#line 149
7915 ldv_mutex = 1;
7916#line 150
7917 return;
7918}
7919}
7920#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
7921void ldv_check_final_state(void)
7922{
7923
7924 {
7925#line 156
7926 if (ldv_mutex == 1) {
7927
7928 } else {
7929 {
7930#line 156
7931 ldv_blast_assert();
7932 }
7933 }
7934#line 157
7935 return;
7936}
7937}
7938#line 1198 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5407/dscv_tempdir/dscv/ri/32_1/drivers/mtd/devices/doc2001plus.c.common.c"
7939long s__builtin_expect(long val , long res )
7940{
7941
7942 {
7943#line 1199
7944 return (val);
7945}
7946}