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 94 "include/linux/types.h"
77typedef unsigned int u_int;
78#line 95 "include/linux/types.h"
79typedef unsigned long u_long;
80#line 111 "include/linux/types.h"
81typedef __s32 int32_t;
82#line 115 "include/linux/types.h"
83typedef __u8 uint8_t;
84#line 116 "include/linux/types.h"
85typedef __u16 uint16_t;
86#line 117 "include/linux/types.h"
87typedef __u32 uint32_t;
88#line 120 "include/linux/types.h"
89typedef __u64 uint64_t;
90#line 178 "include/linux/types.h"
91typedef __u16 __le16;
92#line 179 "include/linux/types.h"
93typedef __u16 __be16;
94#line 180 "include/linux/types.h"
95typedef __u32 __le32;
96#line 181 "include/linux/types.h"
97typedef __u32 __be32;
98#line 182 "include/linux/types.h"
99typedef __u64 __le64;
100#line 202 "include/linux/types.h"
101typedef unsigned int gfp_t;
102#line 206 "include/linux/types.h"
103typedef u64 phys_addr_t;
104#line 211 "include/linux/types.h"
105typedef phys_addr_t resource_size_t;
106#line 219 "include/linux/types.h"
107struct __anonstruct_atomic_t_7 {
108 int counter ;
109};
110#line 219 "include/linux/types.h"
111typedef struct __anonstruct_atomic_t_7 atomic_t;
112#line 224 "include/linux/types.h"
113struct __anonstruct_atomic64_t_8 {
114 long counter ;
115};
116#line 224 "include/linux/types.h"
117typedef struct __anonstruct_atomic64_t_8 atomic64_t;
118#line 229 "include/linux/types.h"
119struct list_head {
120 struct list_head *next ;
121 struct list_head *prev ;
122};
123#line 233
124struct hlist_node;
125#line 233 "include/linux/types.h"
126struct hlist_head {
127 struct hlist_node *first ;
128};
129#line 237 "include/linux/types.h"
130struct hlist_node {
131 struct hlist_node *next ;
132 struct hlist_node **pprev ;
133};
134#line 253 "include/linux/types.h"
135struct rcu_head {
136 struct rcu_head *next ;
137 void (*func)(struct rcu_head *head ) ;
138};
139#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
140struct module;
141#line 56
142struct module;
143#line 146 "include/linux/init.h"
144typedef void (*ctor_fn_t)(void);
145#line 9 "include/linux/dynamic_debug.h"
146struct _ddebug {
147 char *modname ;
148 char *function ;
149 char *filename ;
150 char *format ;
151 unsigned int lineno : 18 ;
152 unsigned int flags : 8 ;
153} __attribute__((__aligned__(8))) ;
154#line 47
155struct device;
156#line 47
157struct device;
158#line 135 "include/linux/kernel.h"
159struct completion;
160#line 135
161struct completion;
162#line 136
163struct pt_regs;
164#line 136
165struct pt_regs;
166#line 349
167struct pid;
168#line 349
169struct pid;
170#line 12 "include/linux/thread_info.h"
171struct timespec;
172#line 12
173struct timespec;
174#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
175struct page;
176#line 18
177struct page;
178#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
179struct task_struct;
180#line 20
181struct task_struct;
182#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
183struct task_struct;
184#line 8
185struct mm_struct;
186#line 8
187struct mm_struct;
188#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
189struct pt_regs {
190 unsigned long r15 ;
191 unsigned long r14 ;
192 unsigned long r13 ;
193 unsigned long r12 ;
194 unsigned long bp ;
195 unsigned long bx ;
196 unsigned long r11 ;
197 unsigned long r10 ;
198 unsigned long r9 ;
199 unsigned long r8 ;
200 unsigned long ax ;
201 unsigned long cx ;
202 unsigned long dx ;
203 unsigned long si ;
204 unsigned long di ;
205 unsigned long orig_ax ;
206 unsigned long ip ;
207 unsigned long cs ;
208 unsigned long flags ;
209 unsigned long sp ;
210 unsigned long ss ;
211};
212#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
213struct __anonstruct____missing_field_name_15 {
214 unsigned int a ;
215 unsigned int b ;
216};
217#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
218struct __anonstruct____missing_field_name_16 {
219 u16 limit0 ;
220 u16 base0 ;
221 unsigned int base1 : 8 ;
222 unsigned int type : 4 ;
223 unsigned int s : 1 ;
224 unsigned int dpl : 2 ;
225 unsigned int p : 1 ;
226 unsigned int limit : 4 ;
227 unsigned int avl : 1 ;
228 unsigned int l : 1 ;
229 unsigned int d : 1 ;
230 unsigned int g : 1 ;
231 unsigned int base2 : 8 ;
232};
233#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
234union __anonunion____missing_field_name_14 {
235 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
236 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
237};
238#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
239struct desc_struct {
240 union __anonunion____missing_field_name_14 __annonCompField7 ;
241} __attribute__((__packed__)) ;
242#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
243typedef unsigned long pgdval_t;
244#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
245typedef unsigned long pgprotval_t;
246#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
247struct pgprot {
248 pgprotval_t pgprot ;
249};
250#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
251typedef struct pgprot pgprot_t;
252#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
253struct __anonstruct_pgd_t_20 {
254 pgdval_t pgd ;
255};
256#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
257typedef struct __anonstruct_pgd_t_20 pgd_t;
258#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
259typedef struct page *pgtable_t;
260#line 295
261struct file;
262#line 295
263struct file;
264#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
265struct page;
266#line 47
267struct thread_struct;
268#line 47
269struct thread_struct;
270#line 50
271struct mm_struct;
272#line 51
273struct desc_struct;
274#line 52
275struct task_struct;
276#line 53
277struct cpumask;
278#line 53
279struct cpumask;
280#line 329
281struct arch_spinlock;
282#line 329
283struct arch_spinlock;
284#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
285struct task_struct;
286#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
287struct kernel_vm86_regs {
288 struct pt_regs pt ;
289 unsigned short es ;
290 unsigned short __esh ;
291 unsigned short ds ;
292 unsigned short __dsh ;
293 unsigned short fs ;
294 unsigned short __fsh ;
295 unsigned short gs ;
296 unsigned short __gsh ;
297};
298#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
299union __anonunion____missing_field_name_24 {
300 struct pt_regs *regs ;
301 struct kernel_vm86_regs *vm86 ;
302};
303#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
304struct math_emu_info {
305 long ___orig_eip ;
306 union __anonunion____missing_field_name_24 __annonCompField8 ;
307};
308#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
309struct task_struct;
310#line 10 "include/asm-generic/bug.h"
311struct bug_entry {
312 int bug_addr_disp ;
313 int file_disp ;
314 unsigned short line ;
315 unsigned short flags ;
316};
317#line 12 "include/linux/bug.h"
318struct pt_regs;
319#line 14 "include/linux/cpumask.h"
320struct cpumask {
321 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
322};
323#line 14 "include/linux/cpumask.h"
324typedef struct cpumask cpumask_t;
325#line 637 "include/linux/cpumask.h"
326typedef struct cpumask *cpumask_var_t;
327#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
328struct static_key;
329#line 234
330struct static_key;
331#line 11 "include/linux/personality.h"
332struct pt_regs;
333#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
334struct i387_fsave_struct {
335 u32 cwd ;
336 u32 swd ;
337 u32 twd ;
338 u32 fip ;
339 u32 fcs ;
340 u32 foo ;
341 u32 fos ;
342 u32 st_space[20] ;
343 u32 status ;
344};
345#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
346struct __anonstruct____missing_field_name_31 {
347 u64 rip ;
348 u64 rdp ;
349};
350#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
351struct __anonstruct____missing_field_name_32 {
352 u32 fip ;
353 u32 fcs ;
354 u32 foo ;
355 u32 fos ;
356};
357#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
358union __anonunion____missing_field_name_30 {
359 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
360 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
361};
362#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
363union __anonunion____missing_field_name_33 {
364 u32 padding1[12] ;
365 u32 sw_reserved[12] ;
366};
367#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
368struct i387_fxsave_struct {
369 u16 cwd ;
370 u16 swd ;
371 u16 twd ;
372 u16 fop ;
373 union __anonunion____missing_field_name_30 __annonCompField14 ;
374 u32 mxcsr ;
375 u32 mxcsr_mask ;
376 u32 st_space[32] ;
377 u32 xmm_space[64] ;
378 u32 padding[12] ;
379 union __anonunion____missing_field_name_33 __annonCompField15 ;
380} __attribute__((__aligned__(16))) ;
381#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
382struct i387_soft_struct {
383 u32 cwd ;
384 u32 swd ;
385 u32 twd ;
386 u32 fip ;
387 u32 fcs ;
388 u32 foo ;
389 u32 fos ;
390 u32 st_space[20] ;
391 u8 ftop ;
392 u8 changed ;
393 u8 lookahead ;
394 u8 no_update ;
395 u8 rm ;
396 u8 alimit ;
397 struct math_emu_info *info ;
398 u32 entry_eip ;
399};
400#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
401struct ymmh_struct {
402 u32 ymmh_space[64] ;
403};
404#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
405struct xsave_hdr_struct {
406 u64 xstate_bv ;
407 u64 reserved1[2] ;
408 u64 reserved2[5] ;
409} __attribute__((__packed__)) ;
410#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
411struct xsave_struct {
412 struct i387_fxsave_struct i387 ;
413 struct xsave_hdr_struct xsave_hdr ;
414 struct ymmh_struct ymmh ;
415} __attribute__((__packed__, __aligned__(64))) ;
416#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
417union thread_xstate {
418 struct i387_fsave_struct fsave ;
419 struct i387_fxsave_struct fxsave ;
420 struct i387_soft_struct soft ;
421 struct xsave_struct xsave ;
422};
423#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
424struct fpu {
425 unsigned int last_cpu ;
426 unsigned int has_fpu ;
427 union thread_xstate *state ;
428};
429#line 433
430struct kmem_cache;
431#line 435
432struct perf_event;
433#line 435
434struct perf_event;
435#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
436struct thread_struct {
437 struct desc_struct tls_array[3] ;
438 unsigned long sp0 ;
439 unsigned long sp ;
440 unsigned long usersp ;
441 unsigned short es ;
442 unsigned short ds ;
443 unsigned short fsindex ;
444 unsigned short gsindex ;
445 unsigned long fs ;
446 unsigned long gs ;
447 struct perf_event *ptrace_bps[4] ;
448 unsigned long debugreg6 ;
449 unsigned long ptrace_dr7 ;
450 unsigned long cr2 ;
451 unsigned long trap_nr ;
452 unsigned long error_code ;
453 struct fpu fpu ;
454 unsigned long *io_bitmap_ptr ;
455 unsigned long iopl ;
456 unsigned int io_bitmap_max ;
457};
458#line 23 "include/asm-generic/atomic-long.h"
459typedef atomic64_t atomic_long_t;
460#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
461typedef u16 __ticket_t;
462#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
463typedef u32 __ticketpair_t;
464#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
465struct __raw_tickets {
466 __ticket_t head ;
467 __ticket_t tail ;
468};
469#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
470union __anonunion____missing_field_name_36 {
471 __ticketpair_t head_tail ;
472 struct __raw_tickets tickets ;
473};
474#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
475struct arch_spinlock {
476 union __anonunion____missing_field_name_36 __annonCompField17 ;
477};
478#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
479typedef struct arch_spinlock arch_spinlock_t;
480#line 12 "include/linux/lockdep.h"
481struct task_struct;
482#line 391 "include/linux/lockdep.h"
483struct lock_class_key {
484
485};
486#line 20 "include/linux/spinlock_types.h"
487struct raw_spinlock {
488 arch_spinlock_t raw_lock ;
489 unsigned int magic ;
490 unsigned int owner_cpu ;
491 void *owner ;
492};
493#line 20 "include/linux/spinlock_types.h"
494typedef struct raw_spinlock raw_spinlock_t;
495#line 64 "include/linux/spinlock_types.h"
496union __anonunion____missing_field_name_39 {
497 struct raw_spinlock rlock ;
498};
499#line 64 "include/linux/spinlock_types.h"
500struct spinlock {
501 union __anonunion____missing_field_name_39 __annonCompField19 ;
502};
503#line 64 "include/linux/spinlock_types.h"
504typedef struct spinlock spinlock_t;
505#line 119 "include/linux/seqlock.h"
506struct seqcount {
507 unsigned int sequence ;
508};
509#line 119 "include/linux/seqlock.h"
510typedef struct seqcount seqcount_t;
511#line 14 "include/linux/time.h"
512struct timespec {
513 __kernel_time_t tv_sec ;
514 long tv_nsec ;
515};
516#line 27 "include/linux/wait.h"
517struct __wait_queue;
518#line 27 "include/linux/wait.h"
519typedef struct __wait_queue wait_queue_t;
520#line 31 "include/linux/wait.h"
521struct __wait_queue {
522 unsigned int flags ;
523 void *private ;
524 int (*func)(wait_queue_t *wait , unsigned int mode , int flags , void *key ) ;
525 struct list_head task_list ;
526};
527#line 49 "include/linux/wait.h"
528struct __wait_queue_head {
529 spinlock_t lock ;
530 struct list_head task_list ;
531};
532#line 53 "include/linux/wait.h"
533typedef struct __wait_queue_head wait_queue_head_t;
534#line 55
535struct task_struct;
536#line 98 "include/linux/nodemask.h"
537struct __anonstruct_nodemask_t_42 {
538 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
539};
540#line 98 "include/linux/nodemask.h"
541typedef struct __anonstruct_nodemask_t_42 nodemask_t;
542#line 60 "include/linux/pageblock-flags.h"
543struct page;
544#line 48 "include/linux/mutex.h"
545struct mutex {
546 atomic_t count ;
547 spinlock_t wait_lock ;
548 struct list_head wait_list ;
549 struct task_struct *owner ;
550 char *name ;
551 void *magic ;
552};
553#line 69 "include/linux/mutex.h"
554struct mutex_waiter {
555 struct list_head list ;
556 struct task_struct *task ;
557 void *magic ;
558};
559#line 19 "include/linux/rwsem.h"
560struct rw_semaphore;
561#line 19
562struct rw_semaphore;
563#line 25 "include/linux/rwsem.h"
564struct rw_semaphore {
565 long count ;
566 raw_spinlock_t wait_lock ;
567 struct list_head wait_list ;
568};
569#line 25 "include/linux/completion.h"
570struct completion {
571 unsigned int done ;
572 wait_queue_head_t wait ;
573};
574#line 188 "include/linux/rcupdate.h"
575struct notifier_block;
576#line 188
577struct notifier_block;
578#line 50 "include/linux/notifier.h"
579struct notifier_block {
580 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
581 struct notifier_block *next ;
582 int priority ;
583};
584#line 9 "include/linux/memory_hotplug.h"
585struct page;
586#line 202 "include/linux/ioport.h"
587struct device;
588#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
589struct device;
590#line 46 "include/linux/ktime.h"
591union ktime {
592 s64 tv64 ;
593};
594#line 59 "include/linux/ktime.h"
595typedef union ktime ktime_t;
596#line 10 "include/linux/timer.h"
597struct tvec_base;
598#line 10
599struct tvec_base;
600#line 12 "include/linux/timer.h"
601struct timer_list {
602 struct list_head entry ;
603 unsigned long expires ;
604 struct tvec_base *base ;
605 void (*function)(unsigned long ) ;
606 unsigned long data ;
607 int slack ;
608 int start_pid ;
609 void *start_site ;
610 char start_comm[16] ;
611};
612#line 289
613struct hrtimer;
614#line 289
615struct hrtimer;
616#line 290
617enum hrtimer_restart;
618#line 17 "include/linux/workqueue.h"
619struct work_struct;
620#line 17
621struct work_struct;
622#line 79 "include/linux/workqueue.h"
623struct work_struct {
624 atomic_long_t data ;
625 struct list_head entry ;
626 void (*func)(struct work_struct *work ) ;
627};
628#line 42 "include/linux/pm.h"
629struct device;
630#line 50 "include/linux/pm.h"
631struct pm_message {
632 int event ;
633};
634#line 50 "include/linux/pm.h"
635typedef struct pm_message pm_message_t;
636#line 264 "include/linux/pm.h"
637struct dev_pm_ops {
638 int (*prepare)(struct device *dev ) ;
639 void (*complete)(struct device *dev ) ;
640 int (*suspend)(struct device *dev ) ;
641 int (*resume)(struct device *dev ) ;
642 int (*freeze)(struct device *dev ) ;
643 int (*thaw)(struct device *dev ) ;
644 int (*poweroff)(struct device *dev ) ;
645 int (*restore)(struct device *dev ) ;
646 int (*suspend_late)(struct device *dev ) ;
647 int (*resume_early)(struct device *dev ) ;
648 int (*freeze_late)(struct device *dev ) ;
649 int (*thaw_early)(struct device *dev ) ;
650 int (*poweroff_late)(struct device *dev ) ;
651 int (*restore_early)(struct device *dev ) ;
652 int (*suspend_noirq)(struct device *dev ) ;
653 int (*resume_noirq)(struct device *dev ) ;
654 int (*freeze_noirq)(struct device *dev ) ;
655 int (*thaw_noirq)(struct device *dev ) ;
656 int (*poweroff_noirq)(struct device *dev ) ;
657 int (*restore_noirq)(struct device *dev ) ;
658 int (*runtime_suspend)(struct device *dev ) ;
659 int (*runtime_resume)(struct device *dev ) ;
660 int (*runtime_idle)(struct device *dev ) ;
661};
662#line 458
663enum rpm_status {
664 RPM_ACTIVE = 0,
665 RPM_RESUMING = 1,
666 RPM_SUSPENDED = 2,
667 RPM_SUSPENDING = 3
668} ;
669#line 480
670enum rpm_request {
671 RPM_REQ_NONE = 0,
672 RPM_REQ_IDLE = 1,
673 RPM_REQ_SUSPEND = 2,
674 RPM_REQ_AUTOSUSPEND = 3,
675 RPM_REQ_RESUME = 4
676} ;
677#line 488
678struct wakeup_source;
679#line 488
680struct wakeup_source;
681#line 495 "include/linux/pm.h"
682struct pm_subsys_data {
683 spinlock_t lock ;
684 unsigned int refcount ;
685};
686#line 506
687struct dev_pm_qos_request;
688#line 506
689struct pm_qos_raints;
690#line 506 "include/linux/pm.h"
691struct dev_pm_info {
692 pm_message_t power_state ;
693 unsigned int can_wakeup : 1 ;
694 unsigned int async_suspend : 1 ;
695 bool is_prepared : 1 ;
696 bool is_suspended : 1 ;
697 bool ignore_children : 1 ;
698 spinlock_t lock ;
699 struct list_head entry ;
700 struct completion completion ;
701 struct wakeup_source *wakeup ;
702 bool wakeup_path : 1 ;
703 struct timer_list suspend_timer ;
704 unsigned long timer_expires ;
705 struct work_struct work ;
706 wait_queue_head_t wait_queue ;
707 atomic_t usage_count ;
708 atomic_t child_count ;
709 unsigned int disable_depth : 3 ;
710 unsigned int idle_notification : 1 ;
711 unsigned int request_pending : 1 ;
712 unsigned int deferred_resume : 1 ;
713 unsigned int run_wake : 1 ;
714 unsigned int runtime_auto : 1 ;
715 unsigned int no_callbacks : 1 ;
716 unsigned int irq_safe : 1 ;
717 unsigned int use_autosuspend : 1 ;
718 unsigned int timer_autosuspends : 1 ;
719 enum rpm_request request ;
720 enum rpm_status runtime_status ;
721 int runtime_error ;
722 int autosuspend_delay ;
723 unsigned long last_busy ;
724 unsigned long active_jiffies ;
725 unsigned long suspended_jiffies ;
726 unsigned long accounting_timestamp ;
727 ktime_t suspend_time ;
728 s64 max_time_suspended_ns ;
729 struct dev_pm_qos_request *pq_req ;
730 struct pm_subsys_data *subsys_data ;
731 struct pm_qos_raints *raints ;
732};
733#line 564 "include/linux/pm.h"
734struct dev_pm_domain {
735 struct dev_pm_ops ops ;
736};
737#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
738struct __anonstruct_mm_context_t_112 {
739 void *ldt ;
740 int size ;
741 unsigned short ia32_compat ;
742 struct mutex lock ;
743 void *vdso ;
744};
745#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
746typedef struct __anonstruct_mm_context_t_112 mm_context_t;
747#line 8 "include/linux/vmalloc.h"
748struct vm_area_struct;
749#line 8
750struct vm_area_struct;
751#line 994 "include/linux/mmzone.h"
752struct page;
753#line 10 "include/linux/gfp.h"
754struct vm_area_struct;
755#line 29 "include/linux/sysctl.h"
756struct completion;
757#line 100 "include/linux/rbtree.h"
758struct rb_node {
759 unsigned long rb_parent_color ;
760 struct rb_node *rb_right ;
761 struct rb_node *rb_left ;
762} __attribute__((__aligned__(sizeof(long )))) ;
763#line 110 "include/linux/rbtree.h"
764struct rb_root {
765 struct rb_node *rb_node ;
766};
767#line 939 "include/linux/sysctl.h"
768struct nsproxy;
769#line 939
770struct nsproxy;
771#line 48 "include/linux/kmod.h"
772struct cred;
773#line 48
774struct cred;
775#line 49
776struct file;
777#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
778struct task_struct;
779#line 18 "include/linux/elf.h"
780typedef __u64 Elf64_Addr;
781#line 19 "include/linux/elf.h"
782typedef __u16 Elf64_Half;
783#line 23 "include/linux/elf.h"
784typedef __u32 Elf64_Word;
785#line 24 "include/linux/elf.h"
786typedef __u64 Elf64_Xword;
787#line 194 "include/linux/elf.h"
788struct elf64_sym {
789 Elf64_Word st_name ;
790 unsigned char st_info ;
791 unsigned char st_other ;
792 Elf64_Half st_shndx ;
793 Elf64_Addr st_value ;
794 Elf64_Xword st_size ;
795};
796#line 194 "include/linux/elf.h"
797typedef struct elf64_sym Elf64_Sym;
798#line 438
799struct file;
800#line 20 "include/linux/kobject_ns.h"
801struct sock;
802#line 20
803struct sock;
804#line 21
805struct kobject;
806#line 21
807struct kobject;
808#line 27
809enum kobj_ns_type {
810 KOBJ_NS_TYPE_NONE = 0,
811 KOBJ_NS_TYPE_NET = 1,
812 KOBJ_NS_TYPES = 2
813} ;
814#line 40 "include/linux/kobject_ns.h"
815struct kobj_ns_type_operations {
816 enum kobj_ns_type type ;
817 void *(*grab_current_ns)(void) ;
818 void *(*netlink_ns)(struct sock *sk ) ;
819 void *(*initial_ns)(void) ;
820 void (*drop_ns)(void * ) ;
821};
822#line 22 "include/linux/sysfs.h"
823struct kobject;
824#line 23
825struct module;
826#line 24
827enum kobj_ns_type;
828#line 26 "include/linux/sysfs.h"
829struct attribute {
830 char *name ;
831 umode_t mode ;
832};
833#line 56 "include/linux/sysfs.h"
834struct attribute_group {
835 char *name ;
836 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
837 struct attribute **attrs ;
838};
839#line 85
840struct file;
841#line 86
842struct vm_area_struct;
843#line 88 "include/linux/sysfs.h"
844struct bin_attribute {
845 struct attribute attr ;
846 size_t size ;
847 void *private ;
848 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
849 loff_t , size_t ) ;
850 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
851 loff_t , size_t ) ;
852 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
853};
854#line 112 "include/linux/sysfs.h"
855struct sysfs_ops {
856 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
857 ssize_t (*store)(struct kobject * , struct attribute * , char * , size_t ) ;
858 void *(*namespace)(struct kobject * , struct attribute * ) ;
859};
860#line 118
861struct sysfs_dirent;
862#line 118
863struct sysfs_dirent;
864#line 22 "include/linux/kref.h"
865struct kref {
866 atomic_t refcount ;
867};
868#line 60 "include/linux/kobject.h"
869struct kset;
870#line 60
871struct kobj_type;
872#line 60 "include/linux/kobject.h"
873struct kobject {
874 char *name ;
875 struct list_head entry ;
876 struct kobject *parent ;
877 struct kset *kset ;
878 struct kobj_type *ktype ;
879 struct sysfs_dirent *sd ;
880 struct kref kref ;
881 unsigned int state_initialized : 1 ;
882 unsigned int state_in_sysfs : 1 ;
883 unsigned int state_add_uevent_sent : 1 ;
884 unsigned int state_remove_uevent_sent : 1 ;
885 unsigned int uevent_suppress : 1 ;
886};
887#line 108 "include/linux/kobject.h"
888struct kobj_type {
889 void (*release)(struct kobject *kobj ) ;
890 struct sysfs_ops *sysfs_ops ;
891 struct attribute **default_attrs ;
892 struct kobj_ns_type_operations *(*child_ns_type)(struct kobject *kobj ) ;
893 void *(*namespace)(struct kobject *kobj ) ;
894};
895#line 116 "include/linux/kobject.h"
896struct kobj_uevent_env {
897 char *envp[32] ;
898 int envp_idx ;
899 char buf[2048] ;
900 int buflen ;
901};
902#line 123 "include/linux/kobject.h"
903struct kset_uevent_ops {
904 int (* filter)(struct kset *kset , struct kobject *kobj ) ;
905 char *(* name)(struct kset *kset , struct kobject *kobj ) ;
906 int (* uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
907};
908#line 140
909struct sock;
910#line 159 "include/linux/kobject.h"
911struct kset {
912 struct list_head list ;
913 spinlock_t list_lock ;
914 struct kobject kobj ;
915 struct kset_uevent_ops *uevent_ops ;
916};
917#line 39 "include/linux/moduleparam.h"
918struct kernel_param;
919#line 39
920struct kernel_param;
921#line 41 "include/linux/moduleparam.h"
922struct kernel_param_ops {
923 int (*set)(char *val , struct kernel_param *kp ) ;
924 int (*get)(char *buffer , struct kernel_param *kp ) ;
925 void (*free)(void *arg ) ;
926};
927#line 50
928struct kparam_string;
929#line 50
930struct kparam_array;
931#line 50 "include/linux/moduleparam.h"
932union __anonunion____missing_field_name_199 {
933 void *arg ;
934 struct kparam_string *str ;
935 struct kparam_array *arr ;
936};
937#line 50 "include/linux/moduleparam.h"
938struct kernel_param {
939 char *name ;
940 struct kernel_param_ops *ops ;
941 u16 perm ;
942 s16 level ;
943 union __anonunion____missing_field_name_199 __annonCompField32 ;
944};
945#line 63 "include/linux/moduleparam.h"
946struct kparam_string {
947 unsigned int maxlen ;
948 char *string ;
949};
950#line 69 "include/linux/moduleparam.h"
951struct kparam_array {
952 unsigned int max ;
953 unsigned int elemsize ;
954 unsigned int *num ;
955 struct kernel_param_ops *ops ;
956 void *elem ;
957};
958#line 445
959struct module;
960#line 80 "include/linux/jump_label.h"
961struct module;
962#line 143 "include/linux/jump_label.h"
963struct static_key {
964 atomic_t enabled ;
965};
966#line 22 "include/linux/tracepoint.h"
967struct module;
968#line 23
969struct tracepoint;
970#line 23
971struct tracepoint;
972#line 25 "include/linux/tracepoint.h"
973struct tracepoint_func {
974 void *func ;
975 void *data ;
976};
977#line 30 "include/linux/tracepoint.h"
978struct tracepoint {
979 char *name ;
980 struct static_key key ;
981 void (*regfunc)(void) ;
982 void (*unregfunc)(void) ;
983 struct tracepoint_func *funcs ;
984};
985#line 19 "include/linux/export.h"
986struct kernel_symbol {
987 unsigned long value ;
988 char *name ;
989};
990#line 8 "include/asm-generic/module.h"
991struct mod_arch_specific {
992
993};
994#line 35 "include/linux/module.h"
995struct module;
996#line 37
997struct module_param_attrs;
998#line 37 "include/linux/module.h"
999struct module_kobject {
1000 struct kobject kobj ;
1001 struct module *mod ;
1002 struct kobject *drivers_dir ;
1003 struct module_param_attrs *mp ;
1004};
1005#line 44 "include/linux/module.h"
1006struct module_attribute {
1007 struct attribute attr ;
1008 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1009 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char * ,
1010 size_t count ) ;
1011 void (*setup)(struct module * , char * ) ;
1012 int (*test)(struct module * ) ;
1013 void (*free)(struct module * ) ;
1014};
1015#line 71
1016struct exception_table_entry;
1017#line 71
1018struct exception_table_entry;
1019#line 182
1020struct notifier_block;
1021#line 199
1022enum module_state {
1023 MODULE_STATE_LIVE = 0,
1024 MODULE_STATE_COMING = 1,
1025 MODULE_STATE_GOING = 2
1026} ;
1027#line 215 "include/linux/module.h"
1028struct module_ref {
1029 unsigned long incs ;
1030 unsigned long decs ;
1031} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1032#line 220
1033struct module_sect_attrs;
1034#line 220
1035struct module_notes_attrs;
1036#line 220
1037struct ftrace_event_call;
1038#line 220 "include/linux/module.h"
1039struct module {
1040 enum module_state state ;
1041 struct list_head list ;
1042 char name[64UL - sizeof(unsigned long )] ;
1043 struct module_kobject mkobj ;
1044 struct module_attribute *modinfo_attrs ;
1045 char *version ;
1046 char *srcversion ;
1047 struct kobject *holders_dir ;
1048 struct kernel_symbol *syms ;
1049 unsigned long *crcs ;
1050 unsigned int num_syms ;
1051 struct kernel_param *kp ;
1052 unsigned int num_kp ;
1053 unsigned int num_gpl_syms ;
1054 struct kernel_symbol *gpl_syms ;
1055 unsigned long *gpl_crcs ;
1056 struct kernel_symbol *unused_syms ;
1057 unsigned long *unused_crcs ;
1058 unsigned int num_unused_syms ;
1059 unsigned int num_unused_gpl_syms ;
1060 struct kernel_symbol *unused_gpl_syms ;
1061 unsigned long *unused_gpl_crcs ;
1062 struct kernel_symbol *gpl_future_syms ;
1063 unsigned long *gpl_future_crcs ;
1064 unsigned int num_gpl_future_syms ;
1065 unsigned int num_exentries ;
1066 struct exception_table_entry *extable ;
1067 int (*init)(void) ;
1068 void *module_init ;
1069 void *module_core ;
1070 unsigned int init_size ;
1071 unsigned int core_size ;
1072 unsigned int init_text_size ;
1073 unsigned int core_text_size ;
1074 unsigned int init_ro_size ;
1075 unsigned int core_ro_size ;
1076 struct mod_arch_specific arch ;
1077 unsigned int taints ;
1078 unsigned int num_bugs ;
1079 struct list_head bug_list ;
1080 struct bug_entry *bug_table ;
1081 Elf64_Sym *symtab ;
1082 Elf64_Sym *core_symtab ;
1083 unsigned int num_symtab ;
1084 unsigned int core_num_syms ;
1085 char *strtab ;
1086 char *core_strtab ;
1087 struct module_sect_attrs *sect_attrs ;
1088 struct module_notes_attrs *notes_attrs ;
1089 char *args ;
1090 void *percpu ;
1091 unsigned int percpu_size ;
1092 unsigned int num_tracepoints ;
1093 struct tracepoint * *tracepoints_ptrs ;
1094 unsigned int num_trace_bprintk_fmt ;
1095 char **trace_bprintk_fmt_start ;
1096 struct ftrace_event_call **trace_events ;
1097 unsigned int num_trace_events ;
1098 struct list_head source_list ;
1099 struct list_head target_list ;
1100 struct task_struct *waiter ;
1101 void (*exit)(void) ;
1102 struct module_ref *refptr ;
1103 ctor_fn_t *ctors ;
1104 unsigned int num_ctors ;
1105};
1106#line 18 "include/linux/capability.h"
1107struct task_struct;
1108#line 94 "include/linux/capability.h"
1109struct kernel_cap_struct {
1110 __u32 cap[2] ;
1111};
1112#line 94 "include/linux/capability.h"
1113typedef struct kernel_cap_struct kernel_cap_t;
1114#line 378
1115struct user_namespace;
1116#line 378
1117struct user_namespace;
1118#line 14 "include/linux/prio_tree.h"
1119struct prio_tree_node;
1120#line 14 "include/linux/prio_tree.h"
1121struct raw_prio_tree_node {
1122 struct prio_tree_node *left ;
1123 struct prio_tree_node *right ;
1124 struct prio_tree_node *parent ;
1125};
1126#line 20 "include/linux/prio_tree.h"
1127struct prio_tree_node {
1128 struct prio_tree_node *left ;
1129 struct prio_tree_node *right ;
1130 struct prio_tree_node *parent ;
1131 unsigned long start ;
1132 unsigned long last ;
1133};
1134#line 23 "include/linux/mm_types.h"
1135struct address_space;
1136#line 23
1137struct address_space;
1138#line 40 "include/linux/mm_types.h"
1139union __anonunion____missing_field_name_203 {
1140 unsigned long index ;
1141 void *freelist ;
1142};
1143#line 40 "include/linux/mm_types.h"
1144struct __anonstruct____missing_field_name_207 {
1145 unsigned int inuse : 16 ;
1146 unsigned int objects : 15 ;
1147 unsigned int frozen : 1 ;
1148};
1149#line 40 "include/linux/mm_types.h"
1150union __anonunion____missing_field_name_206 {
1151 atomic_t _mapcount ;
1152 struct __anonstruct____missing_field_name_207 __annonCompField34 ;
1153};
1154#line 40 "include/linux/mm_types.h"
1155struct __anonstruct____missing_field_name_205 {
1156 union __anonunion____missing_field_name_206 __annonCompField35 ;
1157 atomic_t _count ;
1158};
1159#line 40 "include/linux/mm_types.h"
1160union __anonunion____missing_field_name_204 {
1161 unsigned long counters ;
1162 struct __anonstruct____missing_field_name_205 __annonCompField36 ;
1163};
1164#line 40 "include/linux/mm_types.h"
1165struct __anonstruct____missing_field_name_202 {
1166 union __anonunion____missing_field_name_203 __annonCompField33 ;
1167 union __anonunion____missing_field_name_204 __annonCompField37 ;
1168};
1169#line 40 "include/linux/mm_types.h"
1170struct __anonstruct____missing_field_name_209 {
1171 struct page *next ;
1172 int pages ;
1173 int pobjects ;
1174};
1175#line 40 "include/linux/mm_types.h"
1176union __anonunion____missing_field_name_208 {
1177 struct list_head lru ;
1178 struct __anonstruct____missing_field_name_209 __annonCompField39 ;
1179};
1180#line 40 "include/linux/mm_types.h"
1181union __anonunion____missing_field_name_210 {
1182 unsigned long private ;
1183 struct kmem_cache *slab ;
1184 struct page *first_page ;
1185};
1186#line 40 "include/linux/mm_types.h"
1187struct page {
1188 unsigned long flags ;
1189 struct address_space *mapping ;
1190 struct __anonstruct____missing_field_name_202 __annonCompField38 ;
1191 union __anonunion____missing_field_name_208 __annonCompField40 ;
1192 union __anonunion____missing_field_name_210 __annonCompField41 ;
1193 unsigned long debug_flags ;
1194} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1195#line 200 "include/linux/mm_types.h"
1196struct __anonstruct_vm_set_212 {
1197 struct list_head list ;
1198 void *parent ;
1199 struct vm_area_struct *head ;
1200};
1201#line 200 "include/linux/mm_types.h"
1202union __anonunion_shared_211 {
1203 struct __anonstruct_vm_set_212 vm_set ;
1204 struct raw_prio_tree_node prio_tree_node ;
1205};
1206#line 200
1207struct anon_vma;
1208#line 200
1209struct vm_operations_struct;
1210#line 200
1211struct mempolicy;
1212#line 200 "include/linux/mm_types.h"
1213struct vm_area_struct {
1214 struct mm_struct *vm_mm ;
1215 unsigned long vm_start ;
1216 unsigned long vm_end ;
1217 struct vm_area_struct *vm_next ;
1218 struct vm_area_struct *vm_prev ;
1219 pgprot_t vm_page_prot ;
1220 unsigned long vm_flags ;
1221 struct rb_node vm_rb ;
1222 union __anonunion_shared_211 shared ;
1223 struct list_head anon_vma_chain ;
1224 struct anon_vma *anon_vma ;
1225 struct vm_operations_struct *vm_ops ;
1226 unsigned long vm_pgoff ;
1227 struct file *vm_file ;
1228 void *vm_private_data ;
1229 struct mempolicy *vm_policy ;
1230};
1231#line 257 "include/linux/mm_types.h"
1232struct core_thread {
1233 struct task_struct *task ;
1234 struct core_thread *next ;
1235};
1236#line 262 "include/linux/mm_types.h"
1237struct core_state {
1238 atomic_t nr_threads ;
1239 struct core_thread dumper ;
1240 struct completion startup ;
1241};
1242#line 284 "include/linux/mm_types.h"
1243struct mm_rss_stat {
1244 atomic_long_t count[3] ;
1245};
1246#line 288
1247struct linux_binfmt;
1248#line 288
1249struct mmu_notifier_mm;
1250#line 288 "include/linux/mm_types.h"
1251struct mm_struct {
1252 struct vm_area_struct *mmap ;
1253 struct rb_root mm_rb ;
1254 struct vm_area_struct *mmap_cache ;
1255 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1256 unsigned long pgoff , unsigned long flags ) ;
1257 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1258 unsigned long mmap_base ;
1259 unsigned long task_size ;
1260 unsigned long cached_hole_size ;
1261 unsigned long free_area_cache ;
1262 pgd_t *pgd ;
1263 atomic_t mm_users ;
1264 atomic_t mm_count ;
1265 int map_count ;
1266 spinlock_t page_table_lock ;
1267 struct rw_semaphore mmap_sem ;
1268 struct list_head mmlist ;
1269 unsigned long hiwater_rss ;
1270 unsigned long hiwater_vm ;
1271 unsigned long total_vm ;
1272 unsigned long locked_vm ;
1273 unsigned long pinned_vm ;
1274 unsigned long shared_vm ;
1275 unsigned long exec_vm ;
1276 unsigned long stack_vm ;
1277 unsigned long reserved_vm ;
1278 unsigned long def_flags ;
1279 unsigned long nr_ptes ;
1280 unsigned long start_code ;
1281 unsigned long end_code ;
1282 unsigned long start_data ;
1283 unsigned long end_data ;
1284 unsigned long start_brk ;
1285 unsigned long brk ;
1286 unsigned long start_stack ;
1287 unsigned long arg_start ;
1288 unsigned long arg_end ;
1289 unsigned long env_start ;
1290 unsigned long env_end ;
1291 unsigned long saved_auxv[44] ;
1292 struct mm_rss_stat rss_stat ;
1293 struct linux_binfmt *binfmt ;
1294 cpumask_var_t cpu_vm_mask_var ;
1295 mm_context_t context ;
1296 unsigned int faultstamp ;
1297 unsigned int token_priority ;
1298 unsigned int last_interval ;
1299 unsigned long flags ;
1300 struct core_state *core_state ;
1301 spinlock_t ioctx_lock ;
1302 struct hlist_head ioctx_list ;
1303 struct task_struct *owner ;
1304 struct file *exe_file ;
1305 unsigned long num_exe_file_vmas ;
1306 struct mmu_notifier_mm *mmu_notifier_mm ;
1307 pgtable_t pmd_huge_pte ;
1308 struct cpumask cpumask_allocation ;
1309};
1310#line 7 "include/asm-generic/cputime.h"
1311typedef unsigned long cputime_t;
1312#line 84 "include/linux/sem.h"
1313struct task_struct;
1314#line 101
1315struct sem_undo_list;
1316#line 101 "include/linux/sem.h"
1317struct sysv_sem {
1318 struct sem_undo_list *undo_list ;
1319};
1320#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1321struct siginfo;
1322#line 10
1323struct siginfo;
1324#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1325struct __anonstruct_sigset_t_214 {
1326 unsigned long sig[1] ;
1327};
1328#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1329typedef struct __anonstruct_sigset_t_214 sigset_t;
1330#line 17 "include/asm-generic/signal-defs.h"
1331typedef void __signalfn_t(int );
1332#line 18 "include/asm-generic/signal-defs.h"
1333typedef __signalfn_t *__sighandler_t;
1334#line 20 "include/asm-generic/signal-defs.h"
1335typedef void __restorefn_t(void);
1336#line 21 "include/asm-generic/signal-defs.h"
1337typedef __restorefn_t *__sigrestore_t;
1338#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1339struct sigaction {
1340 __sighandler_t sa_handler ;
1341 unsigned long sa_flags ;
1342 __sigrestore_t sa_restorer ;
1343 sigset_t sa_mask ;
1344};
1345#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1346struct k_sigaction {
1347 struct sigaction sa ;
1348};
1349#line 7 "include/asm-generic/siginfo.h"
1350union sigval {
1351 int sival_int ;
1352 void *sival_ptr ;
1353};
1354#line 7 "include/asm-generic/siginfo.h"
1355typedef union sigval sigval_t;
1356#line 48 "include/asm-generic/siginfo.h"
1357struct __anonstruct__kill_216 {
1358 __kernel_pid_t _pid ;
1359 __kernel_uid32_t _uid ;
1360};
1361#line 48 "include/asm-generic/siginfo.h"
1362struct __anonstruct__timer_217 {
1363 __kernel_timer_t _tid ;
1364 int _overrun ;
1365 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1366 sigval_t _sigval ;
1367 int _sys_private ;
1368};
1369#line 48 "include/asm-generic/siginfo.h"
1370struct __anonstruct__rt_218 {
1371 __kernel_pid_t _pid ;
1372 __kernel_uid32_t _uid ;
1373 sigval_t _sigval ;
1374};
1375#line 48 "include/asm-generic/siginfo.h"
1376struct __anonstruct__sigchld_219 {
1377 __kernel_pid_t _pid ;
1378 __kernel_uid32_t _uid ;
1379 int _status ;
1380 __kernel_clock_t _utime ;
1381 __kernel_clock_t _stime ;
1382};
1383#line 48 "include/asm-generic/siginfo.h"
1384struct __anonstruct__sigfault_220 {
1385 void *_addr ;
1386 short _addr_lsb ;
1387};
1388#line 48 "include/asm-generic/siginfo.h"
1389struct __anonstruct__sigpoll_221 {
1390 long _band ;
1391 int _fd ;
1392};
1393#line 48 "include/asm-generic/siginfo.h"
1394union __anonunion__sifields_215 {
1395 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1396 struct __anonstruct__kill_216 _kill ;
1397 struct __anonstruct__timer_217 _timer ;
1398 struct __anonstruct__rt_218 _rt ;
1399 struct __anonstruct__sigchld_219 _sigchld ;
1400 struct __anonstruct__sigfault_220 _sigfault ;
1401 struct __anonstruct__sigpoll_221 _sigpoll ;
1402};
1403#line 48 "include/asm-generic/siginfo.h"
1404struct siginfo {
1405 int si_signo ;
1406 int si_errno ;
1407 int si_code ;
1408 union __anonunion__sifields_215 _sifields ;
1409};
1410#line 48 "include/asm-generic/siginfo.h"
1411typedef struct siginfo siginfo_t;
1412#line 288
1413struct siginfo;
1414#line 10 "include/linux/signal.h"
1415struct task_struct;
1416#line 18
1417struct user_struct;
1418#line 28 "include/linux/signal.h"
1419struct sigpending {
1420 struct list_head list ;
1421 sigset_t signal ;
1422};
1423#line 239
1424struct timespec;
1425#line 240
1426struct pt_regs;
1427#line 50 "include/linux/pid.h"
1428struct pid_namespace;
1429#line 50 "include/linux/pid.h"
1430struct upid {
1431 int nr ;
1432 struct pid_namespace *ns ;
1433 struct hlist_node pid_chain ;
1434};
1435#line 57 "include/linux/pid.h"
1436struct pid {
1437 atomic_t count ;
1438 unsigned int level ;
1439 struct hlist_head tasks[3] ;
1440 struct rcu_head rcu ;
1441 struct upid numbers[1] ;
1442};
1443#line 69 "include/linux/pid.h"
1444struct pid_link {
1445 struct hlist_node node ;
1446 struct pid *pid ;
1447};
1448#line 100
1449struct pid_namespace;
1450#line 10 "include/linux/seccomp.h"
1451struct __anonstruct_seccomp_t_224 {
1452 int mode ;
1453};
1454#line 10 "include/linux/seccomp.h"
1455typedef struct __anonstruct_seccomp_t_224 seccomp_t;
1456#line 81 "include/linux/plist.h"
1457struct plist_head {
1458 struct list_head node_list ;
1459};
1460#line 85 "include/linux/plist.h"
1461struct plist_node {
1462 int prio ;
1463 struct list_head prio_list ;
1464 struct list_head node_list ;
1465};
1466#line 40 "include/linux/rtmutex.h"
1467struct rt_mutex_waiter;
1468#line 40
1469struct rt_mutex_waiter;
1470#line 42 "include/linux/resource.h"
1471struct rlimit {
1472 unsigned long rlim_cur ;
1473 unsigned long rlim_max ;
1474};
1475#line 81
1476struct task_struct;
1477#line 8 "include/linux/timerqueue.h"
1478struct timerqueue_node {
1479 struct rb_node node ;
1480 ktime_t expires ;
1481};
1482#line 13 "include/linux/timerqueue.h"
1483struct timerqueue_head {
1484 struct rb_root head ;
1485 struct timerqueue_node *next ;
1486};
1487#line 27 "include/linux/hrtimer.h"
1488struct hrtimer_clock_base;
1489#line 27
1490struct hrtimer_clock_base;
1491#line 28
1492struct hrtimer_cpu_base;
1493#line 28
1494struct hrtimer_cpu_base;
1495#line 44
1496enum hrtimer_restart {
1497 HRTIMER_NORESTART = 0,
1498 HRTIMER_RESTART = 1
1499} ;
1500#line 108 "include/linux/hrtimer.h"
1501struct hrtimer {
1502 struct timerqueue_node node ;
1503 ktime_t _softexpires ;
1504 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1505 struct hrtimer_clock_base *base ;
1506 unsigned long state ;
1507 int start_pid ;
1508 void *start_site ;
1509 char start_comm[16] ;
1510};
1511#line 145 "include/linux/hrtimer.h"
1512struct hrtimer_clock_base {
1513 struct hrtimer_cpu_base *cpu_base ;
1514 int index ;
1515 clockid_t clockid ;
1516 struct timerqueue_head active ;
1517 ktime_t resolution ;
1518 ktime_t (*get_time)(void) ;
1519 ktime_t softirq_time ;
1520 ktime_t offset ;
1521};
1522#line 178 "include/linux/hrtimer.h"
1523struct hrtimer_cpu_base {
1524 raw_spinlock_t lock ;
1525 unsigned long active_bases ;
1526 ktime_t expires_next ;
1527 int hres_active ;
1528 int hang_detected ;
1529 unsigned long nr_events ;
1530 unsigned long nr_retries ;
1531 unsigned long nr_hangs ;
1532 ktime_t max_hang_time ;
1533 struct hrtimer_clock_base clock_base[3] ;
1534};
1535#line 11 "include/linux/task_io_accounting.h"
1536struct task_io_accounting {
1537 u64 rchar ;
1538 u64 wchar ;
1539 u64 syscr ;
1540 u64 syscw ;
1541 u64 read_bytes ;
1542 u64 write_bytes ;
1543 u64 cancelled_write_bytes ;
1544};
1545#line 13 "include/linux/latencytop.h"
1546struct task_struct;
1547#line 20 "include/linux/latencytop.h"
1548struct latency_record {
1549 unsigned long backtrace[12] ;
1550 unsigned int count ;
1551 unsigned long time ;
1552 unsigned long max ;
1553};
1554#line 29 "include/linux/key.h"
1555typedef int32_t key_serial_t;
1556#line 32 "include/linux/key.h"
1557typedef uint32_t key_perm_t;
1558#line 34
1559struct key;
1560#line 34
1561struct key;
1562#line 75
1563struct user_struct;
1564#line 76
1565struct signal_struct;
1566#line 76
1567struct signal_struct;
1568#line 77
1569struct cred;
1570#line 79
1571struct key_type;
1572#line 79
1573struct key_type;
1574#line 81
1575struct keyring_list;
1576#line 81
1577struct keyring_list;
1578#line 124
1579struct key_user;
1580#line 124 "include/linux/key.h"
1581union __anonunion____missing_field_name_225 {
1582 time_t expiry ;
1583 time_t revoked_at ;
1584};
1585#line 124 "include/linux/key.h"
1586union __anonunion_type_data_226 {
1587 struct list_head link ;
1588 unsigned long x[2] ;
1589 void *p[2] ;
1590 int reject_error ;
1591};
1592#line 124 "include/linux/key.h"
1593union __anonunion_payload_227 {
1594 unsigned long value ;
1595 void *rcudata ;
1596 void *data ;
1597 struct keyring_list *subscriptions ;
1598};
1599#line 124 "include/linux/key.h"
1600struct key {
1601 atomic_t usage ;
1602 key_serial_t serial ;
1603 struct rb_node serial_node ;
1604 struct key_type *type ;
1605 struct rw_semaphore sem ;
1606 struct key_user *user ;
1607 void *security ;
1608 union __anonunion____missing_field_name_225 __annonCompField42 ;
1609 uid_t uid ;
1610 gid_t gid ;
1611 key_perm_t perm ;
1612 unsigned short quotalen ;
1613 unsigned short datalen ;
1614 unsigned long flags ;
1615 char *description ;
1616 union __anonunion_type_data_226 type_data ;
1617 union __anonunion_payload_227 payload ;
1618};
1619#line 18 "include/linux/selinux.h"
1620struct audit_context;
1621#line 18
1622struct audit_context;
1623#line 21 "include/linux/cred.h"
1624struct user_struct;
1625#line 22
1626struct cred;
1627#line 31 "include/linux/cred.h"
1628struct group_info {
1629 atomic_t usage ;
1630 int ngroups ;
1631 int nblocks ;
1632 gid_t small_block[32] ;
1633 gid_t *blocks[0] ;
1634};
1635#line 83 "include/linux/cred.h"
1636struct thread_group_cred {
1637 atomic_t usage ;
1638 pid_t tgid ;
1639 spinlock_t lock ;
1640 struct key *session_keyring ;
1641 struct key *process_keyring ;
1642 struct rcu_head rcu ;
1643};
1644#line 116 "include/linux/cred.h"
1645struct cred {
1646 atomic_t usage ;
1647 atomic_t subscribers ;
1648 void *put_addr ;
1649 unsigned int magic ;
1650 uid_t uid ;
1651 gid_t gid ;
1652 uid_t suid ;
1653 gid_t sgid ;
1654 uid_t euid ;
1655 gid_t egid ;
1656 uid_t fsuid ;
1657 gid_t fsgid ;
1658 unsigned int securebits ;
1659 kernel_cap_t cap_inheritable ;
1660 kernel_cap_t cap_permitted ;
1661 kernel_cap_t cap_effective ;
1662 kernel_cap_t cap_bset ;
1663 unsigned char jit_keyring ;
1664 struct key *thread_keyring ;
1665 struct key *request_key_auth ;
1666 struct thread_group_cred *tgcred ;
1667 void *security ;
1668 struct user_struct *user ;
1669 struct user_namespace *user_ns ;
1670 struct group_info *group_info ;
1671 struct rcu_head rcu ;
1672};
1673#line 61 "include/linux/llist.h"
1674struct llist_node;
1675#line 65 "include/linux/llist.h"
1676struct llist_node {
1677 struct llist_node *next ;
1678};
1679#line 97 "include/linux/sched.h"
1680struct futex_pi_state;
1681#line 97
1682struct futex_pi_state;
1683#line 98
1684struct robust_list_head;
1685#line 98
1686struct robust_list_head;
1687#line 99
1688struct bio_list;
1689#line 99
1690struct bio_list;
1691#line 100
1692struct fs_struct;
1693#line 100
1694struct fs_struct;
1695#line 101
1696struct perf_event_context;
1697#line 101
1698struct perf_event_context;
1699#line 102
1700struct blk_plug;
1701#line 102
1702struct blk_plug;
1703#line 151
1704struct cfs_rq;
1705#line 151
1706struct cfs_rq;
1707#line 259
1708struct task_struct;
1709#line 366
1710struct nsproxy;
1711#line 367
1712struct user_namespace;
1713#line 31 "include/linux/uio.h"
1714struct kvec {
1715 void *iov_base ;
1716 size_t iov_len ;
1717};
1718#line 214 "include/linux/aio.h"
1719struct mm_struct;
1720#line 443 "include/linux/sched.h"
1721struct sighand_struct {
1722 atomic_t count ;
1723 struct k_sigaction action[64] ;
1724 spinlock_t siglock ;
1725 wait_queue_head_t signalfd_wqh ;
1726};
1727#line 450 "include/linux/sched.h"
1728struct pacct_struct {
1729 int ac_flag ;
1730 long ac_exitcode ;
1731 unsigned long ac_mem ;
1732 cputime_t ac_utime ;
1733 cputime_t ac_stime ;
1734 unsigned long ac_minflt ;
1735 unsigned long ac_majflt ;
1736};
1737#line 458 "include/linux/sched.h"
1738struct cpu_itimer {
1739 cputime_t expires ;
1740 cputime_t incr ;
1741 u32 error ;
1742 u32 incr_error ;
1743};
1744#line 476 "include/linux/sched.h"
1745struct task_cputime {
1746 cputime_t utime ;
1747 cputime_t stime ;
1748 unsigned long long sum_exec_runtime ;
1749};
1750#line 512 "include/linux/sched.h"
1751struct thread_group_cputimer {
1752 struct task_cputime cputime ;
1753 int running ;
1754 raw_spinlock_t lock ;
1755};
1756#line 519
1757struct autogroup;
1758#line 519
1759struct autogroup;
1760#line 528
1761struct tty_struct;
1762#line 528
1763struct taskstats;
1764#line 528
1765struct tty_audit_buf;
1766#line 528 "include/linux/sched.h"
1767struct signal_struct {
1768 atomic_t sigcnt ;
1769 atomic_t live ;
1770 int nr_threads ;
1771 wait_queue_head_t wait_chldexit ;
1772 struct task_struct *curr_target ;
1773 struct sigpending shared_pending ;
1774 int group_exit_code ;
1775 int notify_count ;
1776 struct task_struct *group_exit_task ;
1777 int group_stop_count ;
1778 unsigned int flags ;
1779 unsigned int is_child_subreaper : 1 ;
1780 unsigned int has_child_subreaper : 1 ;
1781 struct list_head posix_timers ;
1782 struct hrtimer real_timer ;
1783 struct pid *leader_pid ;
1784 ktime_t it_real_incr ;
1785 struct cpu_itimer it[2] ;
1786 struct thread_group_cputimer cputimer ;
1787 struct task_cputime cputime_expires ;
1788 struct list_head cpu_timers[3] ;
1789 struct pid *tty_old_pgrp ;
1790 int leader ;
1791 struct tty_struct *tty ;
1792 struct autogroup *autogroup ;
1793 cputime_t utime ;
1794 cputime_t stime ;
1795 cputime_t cutime ;
1796 cputime_t cstime ;
1797 cputime_t gtime ;
1798 cputime_t cgtime ;
1799 cputime_t prev_utime ;
1800 cputime_t prev_stime ;
1801 unsigned long nvcsw ;
1802 unsigned long nivcsw ;
1803 unsigned long cnvcsw ;
1804 unsigned long cnivcsw ;
1805 unsigned long min_flt ;
1806 unsigned long maj_flt ;
1807 unsigned long cmin_flt ;
1808 unsigned long cmaj_flt ;
1809 unsigned long inblock ;
1810 unsigned long oublock ;
1811 unsigned long cinblock ;
1812 unsigned long coublock ;
1813 unsigned long maxrss ;
1814 unsigned long cmaxrss ;
1815 struct task_io_accounting ioac ;
1816 unsigned long long sum_sched_runtime ;
1817 struct rlimit rlim[16] ;
1818 struct pacct_struct pacct ;
1819 struct taskstats *stats ;
1820 unsigned int audit_tty ;
1821 struct tty_audit_buf *tty_audit_buf ;
1822 struct rw_semaphore group_rwsem ;
1823 int oom_adj ;
1824 int oom_score_adj ;
1825 int oom_score_adj_min ;
1826 struct mutex cred_guard_mutex ;
1827};
1828#line 703 "include/linux/sched.h"
1829struct user_struct {
1830 atomic_t __count ;
1831 atomic_t processes ;
1832 atomic_t files ;
1833 atomic_t sigpending ;
1834 atomic_t inotify_watches ;
1835 atomic_t inotify_devs ;
1836 atomic_t fanotify_listeners ;
1837 atomic_long_t epoll_watches ;
1838 unsigned long mq_bytes ;
1839 unsigned long locked_shm ;
1840 struct key *uid_keyring ;
1841 struct key *session_keyring ;
1842 struct hlist_node uidhash_node ;
1843 uid_t uid ;
1844 struct user_namespace *user_ns ;
1845 atomic_long_t locked_vm ;
1846};
1847#line 747
1848struct backing_dev_info;
1849#line 747
1850struct backing_dev_info;
1851#line 748
1852struct reclaim_state;
1853#line 748
1854struct reclaim_state;
1855#line 751 "include/linux/sched.h"
1856struct sched_info {
1857 unsigned long pcount ;
1858 unsigned long long run_delay ;
1859 unsigned long long last_arrival ;
1860 unsigned long long last_queued ;
1861};
1862#line 763 "include/linux/sched.h"
1863struct task_delay_info {
1864 spinlock_t lock ;
1865 unsigned int flags ;
1866 struct timespec blkio_start ;
1867 struct timespec blkio_end ;
1868 u64 blkio_delay ;
1869 u64 swapin_delay ;
1870 u32 blkio_count ;
1871 u32 swapin_count ;
1872 struct timespec freepages_start ;
1873 struct timespec freepages_end ;
1874 u64 freepages_delay ;
1875 u32 freepages_count ;
1876};
1877#line 1088
1878struct io_context;
1879#line 1088
1880struct io_context;
1881#line 1097
1882struct audit_context;
1883#line 1098
1884struct mempolicy;
1885#line 1099
1886struct pipe_inode_info;
1887#line 1099
1888struct pipe_inode_info;
1889#line 1102
1890struct rq;
1891#line 1102
1892struct rq;
1893#line 1122 "include/linux/sched.h"
1894struct sched_class {
1895 struct sched_class *next ;
1896 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
1897 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
1898 void (*yield_task)(struct rq *rq ) ;
1899 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
1900 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
1901 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
1902 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
1903 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
1904 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
1905 void (*post_schedule)(struct rq *this_rq ) ;
1906 void (*task_waking)(struct task_struct *task ) ;
1907 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
1908 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask *newmask ) ;
1909 void (*rq_online)(struct rq *rq ) ;
1910 void (*rq_offline)(struct rq *rq ) ;
1911 void (*set_curr_task)(struct rq *rq ) ;
1912 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
1913 void (*task_fork)(struct task_struct *p ) ;
1914 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
1915 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
1916 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
1917 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
1918 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
1919};
1920#line 1167 "include/linux/sched.h"
1921struct load_weight {
1922 unsigned long weight ;
1923 unsigned long inv_weight ;
1924};
1925#line 1172 "include/linux/sched.h"
1926struct sched_statistics {
1927 u64 wait_start ;
1928 u64 wait_max ;
1929 u64 wait_count ;
1930 u64 wait_sum ;
1931 u64 iowait_count ;
1932 u64 iowait_sum ;
1933 u64 sleep_start ;
1934 u64 sleep_max ;
1935 s64 sum_sleep_runtime ;
1936 u64 block_start ;
1937 u64 block_max ;
1938 u64 exec_max ;
1939 u64 slice_max ;
1940 u64 nr_migrations_cold ;
1941 u64 nr_failed_migrations_affine ;
1942 u64 nr_failed_migrations_running ;
1943 u64 nr_failed_migrations_hot ;
1944 u64 nr_forced_migrations ;
1945 u64 nr_wakeups ;
1946 u64 nr_wakeups_sync ;
1947 u64 nr_wakeups_migrate ;
1948 u64 nr_wakeups_local ;
1949 u64 nr_wakeups_remote ;
1950 u64 nr_wakeups_affine ;
1951 u64 nr_wakeups_affine_attempts ;
1952 u64 nr_wakeups_passive ;
1953 u64 nr_wakeups_idle ;
1954};
1955#line 1207 "include/linux/sched.h"
1956struct sched_entity {
1957 struct load_weight load ;
1958 struct rb_node run_node ;
1959 struct list_head group_node ;
1960 unsigned int on_rq ;
1961 u64 exec_start ;
1962 u64 sum_exec_runtime ;
1963 u64 vruntime ;
1964 u64 prev_sum_exec_runtime ;
1965 u64 nr_migrations ;
1966 struct sched_statistics statistics ;
1967 struct sched_entity *parent ;
1968 struct cfs_rq *cfs_rq ;
1969 struct cfs_rq *my_q ;
1970};
1971#line 1233
1972struct rt_rq;
1973#line 1233 "include/linux/sched.h"
1974struct sched_rt_entity {
1975 struct list_head run_list ;
1976 unsigned long timeout ;
1977 unsigned int time_slice ;
1978 int nr_cpus_allowed ;
1979 struct sched_rt_entity *back ;
1980 struct sched_rt_entity *parent ;
1981 struct rt_rq *rt_rq ;
1982 struct rt_rq *my_q ;
1983};
1984#line 1264
1985struct files_struct;
1986#line 1264
1987struct css_set;
1988#line 1264
1989struct compat_robust_list_head;
1990#line 1264
1991struct mem_cgroup;
1992#line 1264 "include/linux/sched.h"
1993struct memcg_batch_info {
1994 int do_batch ;
1995 struct mem_cgroup *memcg ;
1996 unsigned long nr_pages ;
1997 unsigned long memsw_nr_pages ;
1998};
1999#line 1264 "include/linux/sched.h"
2000struct task_struct {
2001 long volatile state ;
2002 void *stack ;
2003 atomic_t usage ;
2004 unsigned int flags ;
2005 unsigned int ptrace ;
2006 struct llist_node wake_entry ;
2007 int on_cpu ;
2008 int on_rq ;
2009 int prio ;
2010 int static_prio ;
2011 int normal_prio ;
2012 unsigned int rt_priority ;
2013 struct sched_class *sched_class ;
2014 struct sched_entity se ;
2015 struct sched_rt_entity rt ;
2016 struct hlist_head preempt_notifiers ;
2017 unsigned char fpu_counter ;
2018 unsigned int policy ;
2019 cpumask_t cpus_allowed ;
2020 struct sched_info sched_info ;
2021 struct list_head tasks ;
2022 struct plist_node pushable_tasks ;
2023 struct mm_struct *mm ;
2024 struct mm_struct *active_mm ;
2025 unsigned int brk_randomized : 1 ;
2026 int exit_state ;
2027 int exit_code ;
2028 int exit_signal ;
2029 int pdeath_signal ;
2030 unsigned int jobctl ;
2031 unsigned int personality ;
2032 unsigned int did_exec : 1 ;
2033 unsigned int in_execve : 1 ;
2034 unsigned int in_iowait : 1 ;
2035 unsigned int sched_reset_on_fork : 1 ;
2036 unsigned int sched_contributes_to_load : 1 ;
2037 unsigned int irq_thread : 1 ;
2038 pid_t pid ;
2039 pid_t tgid ;
2040 unsigned long stack_canary ;
2041 struct task_struct *real_parent ;
2042 struct task_struct *parent ;
2043 struct list_head children ;
2044 struct list_head sibling ;
2045 struct task_struct *group_leader ;
2046 struct list_head ptraced ;
2047 struct list_head ptrace_entry ;
2048 struct pid_link pids[3] ;
2049 struct list_head thread_group ;
2050 struct completion *vfork_done ;
2051 int *set_child_tid ;
2052 int *clear_child_tid ;
2053 cputime_t utime ;
2054 cputime_t stime ;
2055 cputime_t utimescaled ;
2056 cputime_t stimescaled ;
2057 cputime_t gtime ;
2058 cputime_t prev_utime ;
2059 cputime_t prev_stime ;
2060 unsigned long nvcsw ;
2061 unsigned long nivcsw ;
2062 struct timespec start_time ;
2063 struct timespec real_start_time ;
2064 unsigned long min_flt ;
2065 unsigned long maj_flt ;
2066 struct task_cputime cputime_expires ;
2067 struct list_head cpu_timers[3] ;
2068 struct cred *real_cred ;
2069 struct cred *cred ;
2070 struct cred *replacement_session_keyring ;
2071 char comm[16] ;
2072 int link_count ;
2073 int total_link_count ;
2074 struct sysv_sem sysvsem ;
2075 unsigned long last_switch_count ;
2076 struct thread_struct thread ;
2077 struct fs_struct *fs ;
2078 struct files_struct *files ;
2079 struct nsproxy *nsproxy ;
2080 struct signal_struct *signal ;
2081 struct sighand_struct *sighand ;
2082 sigset_t blocked ;
2083 sigset_t real_blocked ;
2084 sigset_t saved_sigmask ;
2085 struct sigpending pending ;
2086 unsigned long sas_ss_sp ;
2087 size_t sas_ss_size ;
2088 int (*notifier)(void *priv ) ;
2089 void *notifier_data ;
2090 sigset_t *notifier_mask ;
2091 struct audit_context *audit_context ;
2092 uid_t loginuid ;
2093 unsigned int sessionid ;
2094 seccomp_t seccomp ;
2095 u32 parent_exec_id ;
2096 u32 self_exec_id ;
2097 spinlock_t alloc_lock ;
2098 raw_spinlock_t pi_lock ;
2099 struct plist_head pi_waiters ;
2100 struct rt_mutex_waiter *pi_blocked_on ;
2101 struct mutex_waiter *blocked_on ;
2102 unsigned int irq_events ;
2103 unsigned long hardirq_enable_ip ;
2104 unsigned long hardirq_disable_ip ;
2105 unsigned int hardirq_enable_event ;
2106 unsigned int hardirq_disable_event ;
2107 int hardirqs_enabled ;
2108 int hardirq_context ;
2109 unsigned long softirq_disable_ip ;
2110 unsigned long softirq_enable_ip ;
2111 unsigned int softirq_disable_event ;
2112 unsigned int softirq_enable_event ;
2113 int softirqs_enabled ;
2114 int softirq_context ;
2115 void *journal_info ;
2116 struct bio_list *bio_list ;
2117 struct blk_plug *plug ;
2118 struct reclaim_state *reclaim_state ;
2119 struct backing_dev_info *backing_dev_info ;
2120 struct io_context *io_context ;
2121 unsigned long ptrace_message ;
2122 siginfo_t *last_siginfo ;
2123 struct task_io_accounting ioac ;
2124 u64 acct_rss_mem1 ;
2125 u64 acct_vm_mem1 ;
2126 cputime_t acct_timexpd ;
2127 nodemask_t mems_allowed ;
2128 seqcount_t mems_allowed_seq ;
2129 int cpuset_mem_spread_rotor ;
2130 int cpuset_slab_spread_rotor ;
2131 struct css_set *cgroups ;
2132 struct list_head cg_list ;
2133 struct robust_list_head *robust_list ;
2134 struct compat_robust_list_head *compat_robust_list ;
2135 struct list_head pi_state_list ;
2136 struct futex_pi_state *pi_state_cache ;
2137 struct perf_event_context *perf_event_ctxp[2] ;
2138 struct mutex perf_event_mutex ;
2139 struct list_head perf_event_list ;
2140 struct mempolicy *mempolicy ;
2141 short il_next ;
2142 short pref_node_fork ;
2143 struct rcu_head rcu ;
2144 struct pipe_inode_info *splice_pipe ;
2145 struct task_delay_info *delays ;
2146 int make_it_fail ;
2147 int nr_dirtied ;
2148 int nr_dirtied_pause ;
2149 unsigned long dirty_paused_when ;
2150 int latency_record_count ;
2151 struct latency_record latency_record[32] ;
2152 unsigned long timer_slack_ns ;
2153 unsigned long default_timer_slack_ns ;
2154 struct list_head *scm_work_list ;
2155 unsigned long trace ;
2156 unsigned long trace_recursion ;
2157 struct memcg_batch_info memcg_batch ;
2158 atomic_t ptrace_bp_refcnt ;
2159};
2160#line 1681
2161struct pid_namespace;
2162#line 46 "include/linux/slub_def.h"
2163struct kmem_cache_cpu {
2164 void **freelist ;
2165 unsigned long tid ;
2166 struct page *page ;
2167 struct page *partial ;
2168 int node ;
2169 unsigned int stat[26] ;
2170};
2171#line 57 "include/linux/slub_def.h"
2172struct kmem_cache_node {
2173 spinlock_t list_lock ;
2174 unsigned long nr_partial ;
2175 struct list_head partial ;
2176 atomic_long_t nr_slabs ;
2177 atomic_long_t total_objects ;
2178 struct list_head full ;
2179};
2180#line 73 "include/linux/slub_def.h"
2181struct kmem_cache_order_objects {
2182 unsigned long x ;
2183};
2184#line 80 "include/linux/slub_def.h"
2185struct kmem_cache {
2186 struct kmem_cache_cpu *cpu_slab ;
2187 unsigned long flags ;
2188 unsigned long min_partial ;
2189 int size ;
2190 int objsize ;
2191 int offset ;
2192 int cpu_partial ;
2193 struct kmem_cache_order_objects oo ;
2194 struct kmem_cache_order_objects max ;
2195 struct kmem_cache_order_objects min ;
2196 gfp_t allocflags ;
2197 int refcount ;
2198 void (*ctor)(void * ) ;
2199 int inuse ;
2200 int align ;
2201 int reserved ;
2202 char *name ;
2203 struct list_head list ;
2204 struct kobject kobj ;
2205 int remote_node_defrag_ratio ;
2206 struct kmem_cache_node *node[1 << 10] ;
2207};
2208#line 32 "include/linux/irq.h"
2209struct module;
2210#line 14 "include/linux/irqdesc.h"
2211struct module;
2212#line 17 "include/linux/profile.h"
2213struct pt_regs;
2214#line 18
2215struct notifier_block;
2216#line 65
2217struct task_struct;
2218#line 66
2219struct mm_struct;
2220#line 88
2221struct pt_regs;
2222#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
2223struct exception_table_entry {
2224 unsigned long insn ;
2225 unsigned long fixup ;
2226};
2227#line 132 "include/linux/hardirq.h"
2228struct task_struct;
2229#line 187 "include/linux/interrupt.h"
2230struct device;
2231#line 60 "include/linux/reboot.h"
2232struct pt_regs;
2233#line 186 "include/linux/mtd/map.h"
2234union __anonunion_map_word_239 {
2235 unsigned long x[4] ;
2236};
2237#line 186 "include/linux/mtd/map.h"
2238typedef union __anonunion_map_word_239 map_word;
2239#line 208
2240struct mtd_chip_driver;
2241#line 208 "include/linux/mtd/map.h"
2242struct map_info {
2243 char *name ;
2244 unsigned long size ;
2245 resource_size_t phys ;
2246 void *virt ;
2247 void *cached ;
2248 int swap ;
2249 int bankwidth ;
2250 map_word (*read)(struct map_info * , unsigned long ) ;
2251 void (*copy_from)(struct map_info * , void * , unsigned long , ssize_t ) ;
2252 void (*write)(struct map_info * , map_word , unsigned long ) ;
2253 void (*copy_to)(struct map_info * , unsigned long , void * , ssize_t ) ;
2254 void (*inval_cache)(struct map_info * , unsigned long , ssize_t ) ;
2255 void (*set_vpp)(struct map_info * , int ) ;
2256 unsigned long pfow_base ;
2257 unsigned long map_priv_1 ;
2258 unsigned long map_priv_2 ;
2259 void *fldrv_priv ;
2260 struct mtd_chip_driver *fldrv ;
2261};
2262#line 252
2263struct mtd_info;
2264#line 252 "include/linux/mtd/map.h"
2265struct mtd_chip_driver {
2266 struct mtd_info *(*probe)(struct map_info *map ) ;
2267 void (*destroy)(struct mtd_info * ) ;
2268 struct module *module ;
2269 char *name ;
2270 struct list_head list ;
2271};
2272#line 19 "include/linux/klist.h"
2273struct klist_node;
2274#line 19
2275struct klist_node;
2276#line 39 "include/linux/klist.h"
2277struct klist_node {
2278 void *n_klist ;
2279 struct list_head n_node ;
2280 struct kref n_ref ;
2281};
2282#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2283struct dma_map_ops;
2284#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2285struct dev_archdata {
2286 void *acpi_handle ;
2287 struct dma_map_ops *dma_ops ;
2288 void *iommu ;
2289};
2290#line 28 "include/linux/device.h"
2291struct device;
2292#line 29
2293struct device_private;
2294#line 29
2295struct device_private;
2296#line 30
2297struct device_driver;
2298#line 30
2299struct device_driver;
2300#line 31
2301struct driver_private;
2302#line 31
2303struct driver_private;
2304#line 32
2305struct module;
2306#line 33
2307struct class;
2308#line 33
2309struct class;
2310#line 34
2311struct subsys_private;
2312#line 34
2313struct subsys_private;
2314#line 35
2315struct bus_type;
2316#line 35
2317struct bus_type;
2318#line 36
2319struct device_node;
2320#line 36
2321struct device_node;
2322#line 37
2323struct iommu_ops;
2324#line 37
2325struct iommu_ops;
2326#line 39 "include/linux/device.h"
2327struct bus_attribute {
2328 struct attribute attr ;
2329 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2330 ssize_t (*store)(struct bus_type *bus , char *buf , size_t count ) ;
2331};
2332#line 89
2333struct device_attribute;
2334#line 89
2335struct driver_attribute;
2336#line 89 "include/linux/device.h"
2337struct bus_type {
2338 char *name ;
2339 char *dev_name ;
2340 struct device *dev_root ;
2341 struct bus_attribute *bus_attrs ;
2342 struct device_attribute *dev_attrs ;
2343 struct driver_attribute *drv_attrs ;
2344 int (*match)(struct device *dev , struct device_driver *drv ) ;
2345 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2346 int (*probe)(struct device *dev ) ;
2347 int (*remove)(struct device *dev ) ;
2348 void (*shutdown)(struct device *dev ) ;
2349 int (*suspend)(struct device *dev , pm_message_t state ) ;
2350 int (*resume)(struct device *dev ) ;
2351 struct dev_pm_ops *pm ;
2352 struct iommu_ops *iommu_ops ;
2353 struct subsys_private *p ;
2354};
2355#line 127
2356struct device_type;
2357#line 159
2358struct notifier_block;
2359#line 214
2360struct of_device_id;
2361#line 214 "include/linux/device.h"
2362struct device_driver {
2363 char *name ;
2364 struct bus_type *bus ;
2365 struct module *owner ;
2366 char *mod_name ;
2367 bool suppress_bind_attrs ;
2368 struct of_device_id *of_match_table ;
2369 int (*probe)(struct device *dev ) ;
2370 int (*remove)(struct device *dev ) ;
2371 void (*shutdown)(struct device *dev ) ;
2372 int (*suspend)(struct device *dev , pm_message_t state ) ;
2373 int (*resume)(struct device *dev ) ;
2374 struct attribute_group **groups ;
2375 struct dev_pm_ops *pm ;
2376 struct driver_private *p ;
2377};
2378#line 249 "include/linux/device.h"
2379struct driver_attribute {
2380 struct attribute attr ;
2381 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2382 ssize_t (*store)(struct device_driver *driver , char *buf , size_t count ) ;
2383};
2384#line 330
2385struct class_attribute;
2386#line 330 "include/linux/device.h"
2387struct class {
2388 char *name ;
2389 struct module *owner ;
2390 struct class_attribute *class_attrs ;
2391 struct device_attribute *dev_attrs ;
2392 struct bin_attribute *dev_bin_attrs ;
2393 struct kobject *dev_kobj ;
2394 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2395 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2396 void (*class_release)(struct class *class ) ;
2397 void (*dev_release)(struct device *dev ) ;
2398 int (*suspend)(struct device *dev , pm_message_t state ) ;
2399 int (*resume)(struct device *dev ) ;
2400 struct kobj_ns_type_operations *ns_type ;
2401 void *(*namespace)(struct device *dev ) ;
2402 struct dev_pm_ops *pm ;
2403 struct subsys_private *p ;
2404};
2405#line 397 "include/linux/device.h"
2406struct class_attribute {
2407 struct attribute attr ;
2408 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2409 ssize_t (*store)(struct class *class , struct class_attribute *attr , char *buf ,
2410 size_t count ) ;
2411 void *(*namespace)(struct class *class , struct class_attribute *attr ) ;
2412};
2413#line 465 "include/linux/device.h"
2414struct device_type {
2415 char *name ;
2416 struct attribute_group **groups ;
2417 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2418 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2419 void (*release)(struct device *dev ) ;
2420 struct dev_pm_ops *pm ;
2421};
2422#line 476 "include/linux/device.h"
2423struct device_attribute {
2424 struct attribute attr ;
2425 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2426 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char *buf ,
2427 size_t count ) ;
2428};
2429#line 559 "include/linux/device.h"
2430struct device_dma_parameters {
2431 unsigned int max_segment_size ;
2432 unsigned long segment_boundary_mask ;
2433};
2434#line 627
2435struct dma_coherent_mem;
2436#line 627 "include/linux/device.h"
2437struct device {
2438 struct device *parent ;
2439 struct device_private *p ;
2440 struct kobject kobj ;
2441 char *init_name ;
2442 struct device_type *type ;
2443 struct mutex mutex ;
2444 struct bus_type *bus ;
2445 struct device_driver *driver ;
2446 void *platform_data ;
2447 struct dev_pm_info power ;
2448 struct dev_pm_domain *pm_domain ;
2449 int numa_node ;
2450 u64 *dma_mask ;
2451 u64 coherent_dma_mask ;
2452 struct device_dma_parameters *dma_parms ;
2453 struct list_head dma_pools ;
2454 struct dma_coherent_mem *dma_mem ;
2455 struct dev_archdata archdata ;
2456 struct device_node *of_node ;
2457 dev_t devt ;
2458 u32 id ;
2459 spinlock_t devres_lock ;
2460 struct list_head devres_head ;
2461 struct klist_node knode_class ;
2462 struct class *class ;
2463 struct attribute_group **groups ;
2464 void (*release)(struct device *dev ) ;
2465};
2466#line 43 "include/linux/pm_wakeup.h"
2467struct wakeup_source {
2468 char *name ;
2469 struct list_head entry ;
2470 spinlock_t lock ;
2471 struct timer_list timer ;
2472 unsigned long timer_expires ;
2473 ktime_t total_time ;
2474 ktime_t max_time ;
2475 ktime_t last_time ;
2476 unsigned long event_count ;
2477 unsigned long active_count ;
2478 unsigned long relax_count ;
2479 unsigned long hit_count ;
2480 unsigned int active : 1 ;
2481};
2482#line 143 "include/mtd/mtd-abi.h"
2483struct otp_info {
2484 __u32 start ;
2485 __u32 length ;
2486 __u32 locked ;
2487};
2488#line 217 "include/mtd/mtd-abi.h"
2489struct nand_oobfree {
2490 __u32 offset ;
2491 __u32 length ;
2492};
2493#line 247 "include/mtd/mtd-abi.h"
2494struct mtd_ecc_stats {
2495 __u32 corrected ;
2496 __u32 failed ;
2497 __u32 badblocks ;
2498 __u32 bbtblocks ;
2499};
2500#line 48 "include/linux/mtd/mtd.h"
2501struct erase_info {
2502 struct mtd_info *mtd ;
2503 uint64_t addr ;
2504 uint64_t len ;
2505 uint64_t fail_addr ;
2506 u_long time ;
2507 u_long retries ;
2508 unsigned int dev ;
2509 unsigned int cell ;
2510 void (*callback)(struct erase_info *self ) ;
2511 u_long priv ;
2512 u_char state ;
2513 struct erase_info *next ;
2514};
2515#line 63 "include/linux/mtd/mtd.h"
2516struct mtd_erase_region_info {
2517 uint64_t offset ;
2518 uint32_t erasesize ;
2519 uint32_t numblocks ;
2520 unsigned long *lockmap ;
2521};
2522#line 89 "include/linux/mtd/mtd.h"
2523struct mtd_oob_ops {
2524 unsigned int mode ;
2525 size_t len ;
2526 size_t retlen ;
2527 size_t ooblen ;
2528 size_t oobretlen ;
2529 uint32_t ooboffs ;
2530 uint8_t *datbuf ;
2531 uint8_t *oobbuf ;
2532};
2533#line 108 "include/linux/mtd/mtd.h"
2534struct nand_ecclayout {
2535 __u32 eccbytes ;
2536 __u32 eccpos[448] ;
2537 __u32 oobavail ;
2538 struct nand_oobfree oobfree[32] ;
2539};
2540#line 115
2541struct module;
2542#line 117 "include/linux/mtd/mtd.h"
2543struct mtd_info {
2544 u_char type ;
2545 uint32_t flags ;
2546 uint64_t size ;
2547 uint32_t erasesize ;
2548 uint32_t writesize ;
2549 uint32_t writebufsize ;
2550 uint32_t oobsize ;
2551 uint32_t oobavail ;
2552 unsigned int erasesize_shift ;
2553 unsigned int writesize_shift ;
2554 unsigned int erasesize_mask ;
2555 unsigned int writesize_mask ;
2556 char *name ;
2557 int index ;
2558 struct nand_ecclayout *ecclayout ;
2559 unsigned int ecc_strength ;
2560 int numeraseregions ;
2561 struct mtd_erase_region_info *eraseregions ;
2562 int (*_erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
2563 int (*_point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2564 void **virt , resource_size_t *phys ) ;
2565 int (*_unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
2566 unsigned long (*_get_unmapped_area)(struct mtd_info *mtd , unsigned long len ,
2567 unsigned long offset , unsigned long flags ) ;
2568 int (*_read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2569 u_char *buf ) ;
2570 int (*_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
2571 u_char *buf ) ;
2572 int (*_panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
2573 u_char *buf ) ;
2574 int (*_read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
2575 int (*_write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
2576 int (*_get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
2577 int (*_read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2578 u_char *buf ) ;
2579 int (*_get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
2580 int (*_read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2581 u_char *buf ) ;
2582 int (*_write_user_prot_reg)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
2583 u_char *buf ) ;
2584 int (*_lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
2585 int (*_writev)(struct mtd_info *mtd , struct kvec *vecs , unsigned long count ,
2586 loff_t to , size_t *retlen ) ;
2587 void (*_sync)(struct mtd_info *mtd ) ;
2588 int (*_lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2589 int (*_unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2590 int (*_is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2591 int (*_block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
2592 int (*_block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
2593 int (*_suspend)(struct mtd_info *mtd ) ;
2594 void (*_resume)(struct mtd_info *mtd ) ;
2595 int (*_get_device)(struct mtd_info *mtd ) ;
2596 void (*_put_device)(struct mtd_info *mtd ) ;
2597 struct backing_dev_info *backing_dev_info ;
2598 struct notifier_block reboot_notifier ;
2599 struct mtd_ecc_stats ecc_stats ;
2600 int subpage_sft ;
2601 void *priv ;
2602 struct module *owner ;
2603 struct device dev ;
2604 int usecount ;
2605};
2606#line 31 "include/linux/mtd/flashchip.h"
2607enum __anonenum_flstate_t_241 {
2608 FL_READY = 0,
2609 FL_STATUS = 1,
2610 FL_CFI_QUERY = 2,
2611 FL_JEDEC_QUERY = 3,
2612 FL_ERASING = 4,
2613 FL_ERASE_SUSPENDING = 5,
2614 FL_ERASE_SUSPENDED = 6,
2615 FL_WRITING = 7,
2616 FL_WRITING_TO_BUFFER = 8,
2617 FL_OTP_WRITE = 9,
2618 FL_WRITE_SUSPENDING = 10,
2619 FL_WRITE_SUSPENDED = 11,
2620 FL_PM_SUSPENDED = 12,
2621 FL_SYNCING = 13,
2622 FL_UNLOADING = 14,
2623 FL_LOCKING = 15,
2624 FL_UNLOCKING = 16,
2625 FL_POINT = 17,
2626 FL_XIP_WHILE_ERASING = 18,
2627 FL_XIP_WHILE_WRITING = 19,
2628 FL_SHUTDOWN = 20,
2629 FL_READING = 21,
2630 FL_CACHEDPRG = 22,
2631 FL_RESETING = 23,
2632 FL_OTPING = 24,
2633 FL_PREPARING_ERASE = 25,
2634 FL_VERIFYING_ERASE = 26,
2635 FL_UNKNOWN = 27
2636} ;
2637#line 31 "include/linux/mtd/flashchip.h"
2638typedef enum __anonenum_flstate_t_241 flstate_t;
2639#line 71 "include/linux/mtd/flashchip.h"
2640struct flchip {
2641 unsigned long start ;
2642 int ref_point_counter ;
2643 flstate_t state ;
2644 flstate_t oldstate ;
2645 unsigned int write_suspended : 1 ;
2646 unsigned int erase_suspended : 1 ;
2647 unsigned long in_progress_block_addr ;
2648 struct mutex mutex ;
2649 wait_queue_head_t wq ;
2650 int word_write_time ;
2651 int buffer_write_time ;
2652 int erase_time ;
2653 int word_write_time_max ;
2654 int buffer_write_time_max ;
2655 int erase_time_max ;
2656 void *priv ;
2657};
2658#line 105 "include/linux/mtd/flashchip.h"
2659struct flchip_shared {
2660 struct mutex lock ;
2661 struct flchip *writing ;
2662 struct flchip *erasing ;
2663};
2664#line 133 "include/linux/mtd/cfi.h"
2665struct cfi_ident {
2666 uint8_t qry[3] ;
2667 uint16_t P_ID ;
2668 uint16_t P_ADR ;
2669 uint16_t A_ID ;
2670 uint16_t A_ADR ;
2671 uint8_t VccMin ;
2672 uint8_t VccMax ;
2673 uint8_t VppMin ;
2674 uint8_t VppMax ;
2675 uint8_t WordWriteTimeoutTyp ;
2676 uint8_t BufWriteTimeoutTyp ;
2677 uint8_t BlockEraseTimeoutTyp ;
2678 uint8_t ChipEraseTimeoutTyp ;
2679 uint8_t WordWriteTimeoutMax ;
2680 uint8_t BufWriteTimeoutMax ;
2681 uint8_t BlockEraseTimeoutMax ;
2682 uint8_t ChipEraseTimeoutMax ;
2683 uint8_t DevSize ;
2684 uint16_t InterfaceDesc ;
2685 uint16_t MaxBufWriteSize ;
2686 uint8_t NumEraseRegions ;
2687 uint32_t EraseRegionInfo[0] ;
2688} __attribute__((__packed__)) ;
2689#line 160 "include/linux/mtd/cfi.h"
2690struct cfi_extquery {
2691 uint8_t pri[3] ;
2692 uint8_t MajorVersion ;
2693 uint8_t MinorVersion ;
2694} __attribute__((__packed__)) ;
2695#line 168 "include/linux/mtd/cfi.h"
2696struct cfi_pri_intelext {
2697 uint8_t pri[3] ;
2698 uint8_t MajorVersion ;
2699 uint8_t MinorVersion ;
2700 uint32_t FeatureSupport ;
2701 uint8_t SuspendCmdSupport ;
2702 uint16_t BlkStatusRegMask ;
2703 uint8_t VccOptimal ;
2704 uint8_t VppOptimal ;
2705 uint8_t NumProtectionFields ;
2706 uint16_t ProtRegAddr ;
2707 uint8_t FactProtRegSize ;
2708 uint8_t UserProtRegSize ;
2709 uint8_t extra[0] ;
2710} __attribute__((__packed__)) ;
2711#line 185 "include/linux/mtd/cfi.h"
2712struct cfi_intelext_otpinfo {
2713 uint32_t ProtRegAddr ;
2714 uint16_t FactGroups ;
2715 uint8_t FactProtRegSize ;
2716 uint16_t UserGroups ;
2717 uint8_t UserProtRegSize ;
2718} __attribute__((__packed__)) ;
2719#line 193 "include/linux/mtd/cfi.h"
2720struct cfi_intelext_blockinfo {
2721 uint16_t NumIdentBlocks ;
2722 uint16_t BlockSize ;
2723 uint16_t MinBlockEraseCycles ;
2724 uint8_t BitsPerCell ;
2725 uint8_t BlockCap ;
2726} __attribute__((__packed__)) ;
2727#line 201 "include/linux/mtd/cfi.h"
2728struct cfi_intelext_regioninfo {
2729 uint16_t NumIdentPartitions ;
2730 uint8_t NumOpAllowed ;
2731 uint8_t NumOpAllowedSimProgMode ;
2732 uint8_t NumOpAllowedSimEraMode ;
2733 uint8_t NumBlockTypes ;
2734 struct cfi_intelext_blockinfo BlockTypes[1] ;
2735} __attribute__((__packed__)) ;
2736#line 210 "include/linux/mtd/cfi.h"
2737struct cfi_intelext_programming_regioninfo {
2738 uint8_t ProgRegShift ;
2739 uint8_t Reserved1 ;
2740 uint8_t ControlValid ;
2741 uint8_t Reserved2 ;
2742 uint8_t ControlInvalid ;
2743 uint8_t Reserved3 ;
2744} __attribute__((__packed__)) ;
2745#line 240 "include/linux/mtd/cfi.h"
2746struct cfi_pri_atmel {
2747 uint8_t pri[3] ;
2748 uint8_t MajorVersion ;
2749 uint8_t MinorVersion ;
2750 uint8_t Features ;
2751 uint8_t BottomBoot ;
2752 uint8_t BurstMode ;
2753 uint8_t PageMode ;
2754} __attribute__((__packed__)) ;
2755#line 280 "include/linux/mtd/cfi.h"
2756struct cfi_private {
2757 uint16_t cmdset ;
2758 void *cmdset_priv ;
2759 int interleave ;
2760 int device_type ;
2761 int cfi_mode ;
2762 int addr_unlock1 ;
2763 int addr_unlock2 ;
2764 struct mtd_info *(*cmdset_setup)(struct map_info * ) ;
2765 struct cfi_ident *cfiq ;
2766 int mfr ;
2767 int id ;
2768 int numchips ;
2769 map_word sector_erase_cmd ;
2770 unsigned long chipshift ;
2771 char *im_name ;
2772 struct flchip chips[0] ;
2773};
2774#line 528 "include/linux/mtd/cfi.h"
2775struct cfi_fixup {
2776 uint16_t mfr ;
2777 uint16_t id ;
2778 void (*fixup)(struct mtd_info *mtd ) ;
2779};
2780#line 5 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
2781enum fwh_lock_state {
2782 FWH_UNLOCKED = 0,
2783 FWH_DENY_WRITE = 1,
2784 FWH_IMMUTABLE = 2,
2785 FWH_DENY_READ = 4
2786} ;
2787#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
2788struct fwh_xxlock_thunk {
2789 enum fwh_lock_state val ;
2790 flstate_t state ;
2791};
2792#line 1 "<compiler builtins>"
2793
2794#line 1
2795long __builtin_expect(long val , long res ) ;
2796#line 59 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2797__inline static void ( __attribute__((__always_inline__)) set_bit)(unsigned int nr ,
2798 unsigned long volatile *addr ) __attribute__((__no_instrument_function__)) ;
2799#line 59 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2800__inline static void ( __attribute__((__always_inline__)) set_bit)(unsigned int nr ,
2801 unsigned long volatile *addr )
2802{ long volatile *__cil_tmp3 ;
2803
2804 {
2805#line 68
2806 __cil_tmp3 = (long volatile *)addr;
2807#line 68
2808 __asm__ volatile (".section .smp_locks,\"a\"\n"
2809 ".balign 4\n"
2810 ".long 671f - .\n"
2811 ".previous\n"
2812 "671:"
2813 "\n\tlock; "
2814 "bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
2815#line 71
2816 return;
2817}
2818}
2819#line 97
2820__inline static void ( __attribute__((__always_inline__)) clear_bit)(int nr , unsigned long volatile *addr ) __attribute__((__no_instrument_function__)) ;
2821#line 97 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2822__inline static void ( __attribute__((__always_inline__)) clear_bit)(int nr , unsigned long volatile *addr )
2823{ long volatile *__cil_tmp3 ;
2824
2825 {
2826#line 105
2827 __cil_tmp3 = (long volatile *)addr;
2828#line 105
2829 __asm__ volatile (".section .smp_locks,\"a\"\n"
2830 ".balign 4\n"
2831 ".long 671f - .\n"
2832 ".previous\n"
2833 "671:"
2834 "\n\tlock; "
2835 "btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
2836#line 109
2837 return;
2838}
2839}
2840#line 347
2841__inline static unsigned long __ffs(unsigned long word ) __attribute__((__no_instrument_function__)) ;
2842#line 347 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2843__inline static unsigned long __ffs(unsigned long word )
2844{
2845
2846 {
2847#line 349
2848 __asm__ ("bsf %1,%0": "=r" (word): "rm" (word));
2849#line 352
2850 return (word);
2851}
2852}
2853#line 22 "include/asm-generic/bitops/find.h"
2854extern unsigned long find_next_zero_bit(unsigned long *addr , unsigned long size ,
2855 unsigned long offset ) ;
2856#line 45
2857extern unsigned long find_first_zero_bit(unsigned long *addr , unsigned long size ) ;
2858#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
2859__inline static __u32 __arch_swab32(__u32 val ) __attribute__((__no_instrument_function__)) ;
2860
2861#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
2862__inline static __u32 __arch_swab32(__u32 val )
2863{
2864
2865 {
2866#line 21
2867 __asm__ ("bswapl %0": "=r" (val): "0" (val));
2868#line 25
2869 return (val);
2870}
2871}
2872#line 46 "include/linux/swab.h"
2873__inline static __u16 __fswab16(__u16 val ) __attribute__((__no_instrument_function__)) ;
2874
2875#line 46 "include/linux/swab.h"
2876__inline static __u16 __fswab16(__u16 val )
2877{ int __cil_tmp2 ;
2878 int __cil_tmp3 ;
2879 int __cil_tmp4 ;
2880 int __cil_tmp5 ;
2881 int __cil_tmp6 ;
2882 int __cil_tmp7 ;
2883 int __cil_tmp8 ;
2884
2885 {
2886 {
2887#line 51
2888 __cil_tmp2 = (int )val;
2889#line 51
2890 __cil_tmp3 = __cil_tmp2 & 65280;
2891#line 51
2892 __cil_tmp4 = __cil_tmp3 >> 8;
2893#line 51
2894 __cil_tmp5 = (int )val;
2895#line 51
2896 __cil_tmp6 = __cil_tmp5 & 255;
2897#line 51
2898 __cil_tmp7 = __cil_tmp6 << 8;
2899#line 51
2900 __cil_tmp8 = __cil_tmp7 | __cil_tmp4;
2901#line 51
2902 return ((__u16 )__cil_tmp8);
2903 }
2904}
2905}
2906#line 55
2907__inline static __u32 __fswab32(__u32 val ) __attribute__((__no_instrument_function__)) ;
2908
2909#line 55 "include/linux/swab.h"
2910__inline static __u32 __fswab32(__u32 val )
2911{ __u32 tmp ;
2912
2913 {
2914 {
2915#line 58
2916 tmp = __arch_swab32(val);
2917 }
2918#line 58
2919 return (tmp);
2920}
2921}
2922#line 47 "include/linux/byteorder/little_endian.h"
2923__inline static __u64 __le64_to_cpup(__le64 *p ) __attribute__((__no_instrument_function__)) ;
2924#line 47 "include/linux/byteorder/little_endian.h"
2925__inline static __u64 __le64_to_cpup(__le64 *p )
2926{ __le64 __cil_tmp2 ;
2927
2928 {
2929 {
2930#line 49
2931 __cil_tmp2 = *p;
2932#line 49
2933 return ((__u64 )__cil_tmp2);
2934 }
2935}
2936}
2937#line 55
2938__inline static __u32 __le32_to_cpup(__le32 *p ) __attribute__((__no_instrument_function__)) ;
2939#line 55 "include/linux/byteorder/little_endian.h"
2940__inline static __u32 __le32_to_cpup(__le32 *p )
2941{ __le32 __cil_tmp2 ;
2942
2943 {
2944 {
2945#line 57
2946 __cil_tmp2 = *p;
2947#line 57
2948 return ((__u32 )__cil_tmp2);
2949 }
2950}
2951}
2952#line 63
2953__inline static __u16 __le16_to_cpup(__le16 *p ) __attribute__((__no_instrument_function__)) ;
2954#line 63 "include/linux/byteorder/little_endian.h"
2955__inline static __u16 __le16_to_cpup(__le16 *p )
2956{ __le16 __cil_tmp2 ;
2957
2958 {
2959 {
2960#line 65
2961 __cil_tmp2 = *p;
2962#line 65
2963 return ((__u16 )__cil_tmp2);
2964 }
2965}
2966}
2967#line 100 "include/linux/printk.h"
2968extern int ( printk)(char *fmt , ...) ;
2969#line 44 "include/linux/dynamic_debug.h"
2970extern int ( __dynamic_pr_debug)(struct _ddebug *descriptor ,
2971 char *fmt , ...) ;
2972#line 147 "include/linux/kernel.h"
2973extern void __might_sleep(char *file , int line , int preempt_offset ) ;
2974#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
2975extern void __bad_percpu_size(void) ;
2976#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
2977extern struct task_struct *current_task __attribute__((__section__(".data..percpu"))) ;
2978#line 12
2979__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void) __attribute__((__no_instrument_function__)) ;
2980#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
2981__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void)
2982{ struct task_struct *pfo_ret__ ;
2983
2984 {
2985#line 14
2986 if ((int )8UL == 1) {
2987#line 14
2988 goto case_1;
2989 } else
2990#line 14
2991 if ((int )8UL == 2) {
2992#line 14
2993 goto case_2;
2994 } else
2995#line 14
2996 if ((int )8UL == 4) {
2997#line 14
2998 goto case_4;
2999 } else
3000#line 14
3001 if ((int )8UL == 8) {
3002#line 14
3003 goto case_8;
3004 } else {
3005 {
3006#line 14
3007 goto switch_default;
3008#line 14
3009 if (0) {
3010 case_1:
3011#line 14
3012 __asm__ ("mov"
3013 "b "
3014 "%%"
3015 "gs"
3016 ":"
3017 "%P"
3018 "1"
3019 ",%0": "=q" (pfo_ret__): "p" (& current_task));
3020#line 14
3021 goto switch_break;
3022 case_2:
3023#line 14
3024 __asm__ ("mov"
3025 "w "
3026 "%%"
3027 "gs"
3028 ":"
3029 "%P"
3030 "1"
3031 ",%0": "=r" (pfo_ret__): "p" (& current_task));
3032#line 14
3033 goto switch_break;
3034 case_4:
3035#line 14
3036 __asm__ ("mov"
3037 "l "
3038 "%%"
3039 "gs"
3040 ":"
3041 "%P"
3042 "1"
3043 ",%0": "=r" (pfo_ret__): "p" (& current_task));
3044#line 14
3045 goto switch_break;
3046 case_8:
3047#line 14
3048 __asm__ ("mov"
3049 "q "
3050 "%%"
3051 "gs"
3052 ":"
3053 "%P"
3054 "1"
3055 ",%0": "=r" (pfo_ret__): "p" (& current_task));
3056#line 14
3057 goto switch_break;
3058 switch_default:
3059 {
3060#line 14
3061 __bad_percpu_size();
3062 }
3063 } else {
3064 switch_break: ;
3065 }
3066 }
3067 }
3068#line 14
3069 return (pfo_ret__);
3070}
3071}
3072#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
3073extern void *__memcpy(void *to , void *from , size_t len ) ;
3074#line 55
3075extern void *memset(void *s , int c , size_t n ) ;
3076#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/cmpxchg.h"
3077extern void __xchg_wrong_size(void) ;
3078#line 29 "include/linux/wait.h"
3079extern int default_wake_function(wait_queue_t *wait , unsigned int mode , int flags ,
3080 void *key ) ;
3081#line 79
3082extern void __init_waitqueue_head(wait_queue_head_t *q , char *name , struct lock_class_key * ) ;
3083#line 117
3084extern void add_wait_queue(wait_queue_head_t *q , wait_queue_t *wait ) ;
3085#line 119
3086extern void remove_wait_queue(wait_queue_head_t *q , wait_queue_t *wait ) ;
3087#line 155
3088extern void __wake_up(wait_queue_head_t *q , unsigned int mode , int nr , void *key ) ;
3089#line 115 "include/linux/mutex.h"
3090extern void __mutex_init(struct mutex *lock , char *name , struct lock_class_key *key ) ;
3091#line 152
3092void mutex_lock(struct mutex *lock ) ;
3093#line 153
3094int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
3095#line 154
3096int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
3097#line 168
3098int mutex_trylock(struct mutex *lock ) ;
3099#line 169
3100void mutex_unlock(struct mutex *lock ) ;
3101#line 170
3102int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
3103#line 82 "include/linux/jiffies.h"
3104extern unsigned long volatile jiffies __attribute__((__section__(".data"))) ;
3105#line 26 "include/linux/export.h"
3106extern struct module __this_module ;
3107#line 453 "include/linux/module.h"
3108extern void __module_get(struct module *module ) ;
3109#line 362 "include/linux/sched.h"
3110extern void schedule(void) ;
3111#line 2626
3112extern int _cond_resched(void) ;
3113#line 161 "include/linux/slab.h"
3114extern void kfree(void * ) ;
3115#line 221 "include/linux/slub_def.h"
3116extern void *__kmalloc(size_t size , gfp_t flags ) ;
3117#line 268
3118__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3119 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
3120#line 268 "include/linux/slub_def.h"
3121__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
3122 gfp_t flags )
3123{ void *tmp___10 ;
3124
3125 {
3126 {
3127#line 283
3128 tmp___10 = __kmalloc(size, flags);
3129 }
3130#line 283
3131 return (tmp___10);
3132}
3133}
3134#line 349 "include/linux/slab.h"
3135__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
3136#line 349 "include/linux/slab.h"
3137__inline static void *kzalloc(size_t size , gfp_t flags )
3138{ void *tmp___7 ;
3139 unsigned int __cil_tmp4 ;
3140
3141 {
3142 {
3143#line 351
3144 __cil_tmp4 = flags | 32768U;
3145#line 351
3146 tmp___7 = kmalloc(size, __cil_tmp4);
3147 }
3148#line 351
3149 return (tmp___7);
3150}
3151}
3152#line 8 "include/asm-generic/delay.h"
3153extern void __udelay(unsigned long usecs ) ;
3154#line 10
3155extern void ___udelay(unsigned long xloops ) ;
3156#line 46 "include/linux/delay.h"
3157extern void msleep(unsigned int msecs ) ;
3158#line 47 "include/linux/reboot.h"
3159extern int register_reboot_notifier(struct notifier_block * ) ;
3160#line 48
3161extern int unregister_reboot_notifier(struct notifier_block * ) ;
3162#line 7 "include/linux/unaligned/access_ok.h"
3163__inline static u16 get_unaligned_le16(void *p ) __attribute__((__no_instrument_function__)) ;
3164#line 7 "include/linux/unaligned/access_ok.h"
3165__inline static u16 get_unaligned_le16(void *p )
3166{ __u16 tmp___7 ;
3167 __le16 *__cil_tmp3 ;
3168 __le16 *__cil_tmp4 ;
3169
3170 {
3171 {
3172#line 9
3173 __cil_tmp3 = (__le16 *)p;
3174#line 9
3175 __cil_tmp4 = (__le16 *)__cil_tmp3;
3176#line 9
3177 tmp___7 = __le16_to_cpup(__cil_tmp4);
3178 }
3179#line 9
3180 return (tmp___7);
3181}
3182}
3183#line 12
3184__inline static u32 get_unaligned_le32(void *p ) __attribute__((__no_instrument_function__)) ;
3185#line 12 "include/linux/unaligned/access_ok.h"
3186__inline static u32 get_unaligned_le32(void *p )
3187{ __u32 tmp___7 ;
3188 __le32 *__cil_tmp3 ;
3189 __le32 *__cil_tmp4 ;
3190
3191 {
3192 {
3193#line 14
3194 __cil_tmp3 = (__le32 *)p;
3195#line 14
3196 __cil_tmp4 = (__le32 *)__cil_tmp3;
3197#line 14
3198 tmp___7 = __le32_to_cpup(__cil_tmp4);
3199 }
3200#line 14
3201 return (tmp___7);
3202}
3203}
3204#line 17
3205__inline static u64 get_unaligned_le64(void *p ) __attribute__((__no_instrument_function__)) ;
3206#line 17 "include/linux/unaligned/access_ok.h"
3207__inline static u64 get_unaligned_le64(void *p )
3208{ __u64 tmp___7 ;
3209 __le64 *__cil_tmp3 ;
3210 __le64 *__cil_tmp4 ;
3211
3212 {
3213 {
3214#line 19
3215 __cil_tmp3 = (__le64 *)p;
3216#line 19
3217 __cil_tmp4 = (__le64 *)__cil_tmp3;
3218#line 19
3219 tmp___7 = __le64_to_cpup(__cil_tmp4);
3220 }
3221#line 19
3222 return (tmp___7);
3223}
3224}
3225#line 273 "include/linux/mtd/map.h"
3226__inline static int map_word_equal(struct map_info *map , map_word val1 , map_word val2 ) __attribute__((__no_instrument_function__)) ;
3227#line 273 "include/linux/mtd/map.h"
3228__inline static int map_word_equal(struct map_info *map , map_word val1 , map_word val2 )
3229{ int i ;
3230 unsigned long __cil_tmp5 ;
3231 unsigned long __cil_tmp6 ;
3232 unsigned long __cil_tmp7 ;
3233 int __cil_tmp8 ;
3234 unsigned long __cil_tmp9 ;
3235 unsigned long __cil_tmp10 ;
3236 unsigned long __cil_tmp11 ;
3237 unsigned long __cil_tmp12 ;
3238 unsigned long __cil_tmp13 ;
3239 unsigned long __cil_tmp14 ;
3240 unsigned long __cil_tmp15 ;
3241 unsigned long __cil_tmp16 ;
3242 unsigned long __cil_tmp17 ;
3243 unsigned long __cil_tmp18 ;
3244 unsigned long __cil_tmp19 ;
3245 unsigned long __cil_tmp20 ;
3246
3247 {
3248#line 276
3249 i = 0;
3250 {
3251#line 276
3252 while (1) {
3253 while_continue: ;
3254 {
3255#line 276
3256 __cil_tmp5 = 8UL - 1UL;
3257#line 276
3258 __cil_tmp6 = (unsigned long )map;
3259#line 276
3260 __cil_tmp7 = __cil_tmp6 + 44;
3261#line 276
3262 __cil_tmp8 = *((int *)__cil_tmp7);
3263#line 276
3264 __cil_tmp9 = (unsigned long )__cil_tmp8;
3265#line 276
3266 __cil_tmp10 = __cil_tmp9 + __cil_tmp5;
3267#line 276
3268 __cil_tmp11 = __cil_tmp10 / 8UL;
3269#line 276
3270 __cil_tmp12 = (unsigned long )i;
3271#line 276
3272 if (__cil_tmp12 < __cil_tmp11) {
3273
3274 } else {
3275#line 276
3276 goto while_break;
3277 }
3278 }
3279 {
3280#line 277
3281 __cil_tmp13 = i * 8UL;
3282#line 277
3283 __cil_tmp14 = 0 + __cil_tmp13;
3284#line 277
3285 __cil_tmp15 = (unsigned long )(& val2) + __cil_tmp14;
3286#line 277
3287 __cil_tmp16 = *((unsigned long *)__cil_tmp15);
3288#line 277
3289 __cil_tmp17 = i * 8UL;
3290#line 277
3291 __cil_tmp18 = 0 + __cil_tmp17;
3292#line 277
3293 __cil_tmp19 = (unsigned long )(& val1) + __cil_tmp18;
3294#line 277
3295 __cil_tmp20 = *((unsigned long *)__cil_tmp19);
3296#line 277
3297 if (__cil_tmp20 != __cil_tmp16) {
3298#line 278
3299 return (0);
3300 } else {
3301
3302 }
3303 }
3304#line 276
3305 i = i + 1;
3306 }
3307 while_break: ;
3308 }
3309#line 280
3310 return (1);
3311}
3312}
3313#line 283
3314__inline static map_word map_word_and(struct map_info *map , map_word val1 , map_word val2 ) __attribute__((__no_instrument_function__)) ;
3315#line 283 "include/linux/mtd/map.h"
3316__inline static map_word map_word_and(struct map_info *map , map_word val1 , map_word val2 )
3317{ map_word r ;
3318 int i ;
3319 unsigned long __cil_tmp6 ;
3320 unsigned long __cil_tmp7 ;
3321 unsigned long __cil_tmp8 ;
3322 int __cil_tmp9 ;
3323 unsigned long __cil_tmp10 ;
3324 unsigned long __cil_tmp11 ;
3325 unsigned long __cil_tmp12 ;
3326 unsigned long __cil_tmp13 ;
3327 unsigned long __cil_tmp14 ;
3328 unsigned long __cil_tmp15 ;
3329 unsigned long __cil_tmp16 ;
3330 unsigned long __cil_tmp17 ;
3331 unsigned long __cil_tmp18 ;
3332 unsigned long __cil_tmp19 ;
3333 unsigned long __cil_tmp20 ;
3334 unsigned long __cil_tmp21 ;
3335 unsigned long __cil_tmp22 ;
3336 unsigned long __cil_tmp23 ;
3337 unsigned long __cil_tmp24 ;
3338 map_word *__cil_tmp25 ;
3339
3340 {
3341#line 288
3342 i = 0;
3343 {
3344#line 288
3345 while (1) {
3346 while_continue: ;
3347 {
3348#line 288
3349 __cil_tmp6 = 8UL - 1UL;
3350#line 288
3351 __cil_tmp7 = (unsigned long )map;
3352#line 288
3353 __cil_tmp8 = __cil_tmp7 + 44;
3354#line 288
3355 __cil_tmp9 = *((int *)__cil_tmp8);
3356#line 288
3357 __cil_tmp10 = (unsigned long )__cil_tmp9;
3358#line 288
3359 __cil_tmp11 = __cil_tmp10 + __cil_tmp6;
3360#line 288
3361 __cil_tmp12 = __cil_tmp11 / 8UL;
3362#line 288
3363 __cil_tmp13 = (unsigned long )i;
3364#line 288
3365 if (__cil_tmp13 < __cil_tmp12) {
3366
3367 } else {
3368#line 288
3369 goto while_break;
3370 }
3371 }
3372#line 289
3373 __cil_tmp14 = i * 8UL;
3374#line 289
3375 __cil_tmp15 = 0 + __cil_tmp14;
3376#line 289
3377 __cil_tmp16 = (unsigned long )(& r) + __cil_tmp15;
3378#line 289
3379 __cil_tmp17 = i * 8UL;
3380#line 289
3381 __cil_tmp18 = 0 + __cil_tmp17;
3382#line 289
3383 __cil_tmp19 = (unsigned long )(& val2) + __cil_tmp18;
3384#line 289
3385 __cil_tmp20 = *((unsigned long *)__cil_tmp19);
3386#line 289
3387 __cil_tmp21 = i * 8UL;
3388#line 289
3389 __cil_tmp22 = 0 + __cil_tmp21;
3390#line 289
3391 __cil_tmp23 = (unsigned long )(& val1) + __cil_tmp22;
3392#line 289
3393 __cil_tmp24 = *((unsigned long *)__cil_tmp23);
3394#line 289
3395 *((unsigned long *)__cil_tmp16) = __cil_tmp24 & __cil_tmp20;
3396#line 288
3397 i = i + 1;
3398 }
3399 while_break: ;
3400 }
3401 {
3402#line 291
3403 __cil_tmp25 = & r;
3404#line 291
3405 return (*__cil_tmp25);
3406 }
3407}
3408}
3409#line 294
3410__inline static map_word map_word_clr(struct map_info *map , map_word val1 , map_word val2 ) __attribute__((__no_instrument_function__)) ;
3411#line 294 "include/linux/mtd/map.h"
3412__inline static map_word map_word_clr(struct map_info *map , map_word val1 , map_word val2 )
3413{ map_word r ;
3414 int i ;
3415 unsigned long __cil_tmp6 ;
3416 unsigned long __cil_tmp7 ;
3417 unsigned long __cil_tmp8 ;
3418 int __cil_tmp9 ;
3419 unsigned long __cil_tmp10 ;
3420 unsigned long __cil_tmp11 ;
3421 unsigned long __cil_tmp12 ;
3422 unsigned long __cil_tmp13 ;
3423 unsigned long __cil_tmp14 ;
3424 unsigned long __cil_tmp15 ;
3425 unsigned long __cil_tmp16 ;
3426 unsigned long __cil_tmp17 ;
3427 unsigned long __cil_tmp18 ;
3428 unsigned long __cil_tmp19 ;
3429 unsigned long __cil_tmp20 ;
3430 unsigned long __cil_tmp21 ;
3431 unsigned long __cil_tmp22 ;
3432 unsigned long __cil_tmp23 ;
3433 unsigned long __cil_tmp24 ;
3434 unsigned long __cil_tmp25 ;
3435 map_word *__cil_tmp26 ;
3436
3437 {
3438#line 299
3439 i = 0;
3440 {
3441#line 299
3442 while (1) {
3443 while_continue: ;
3444 {
3445#line 299
3446 __cil_tmp6 = 8UL - 1UL;
3447#line 299
3448 __cil_tmp7 = (unsigned long )map;
3449#line 299
3450 __cil_tmp8 = __cil_tmp7 + 44;
3451#line 299
3452 __cil_tmp9 = *((int *)__cil_tmp8);
3453#line 299
3454 __cil_tmp10 = (unsigned long )__cil_tmp9;
3455#line 299
3456 __cil_tmp11 = __cil_tmp10 + __cil_tmp6;
3457#line 299
3458 __cil_tmp12 = __cil_tmp11 / 8UL;
3459#line 299
3460 __cil_tmp13 = (unsigned long )i;
3461#line 299
3462 if (__cil_tmp13 < __cil_tmp12) {
3463
3464 } else {
3465#line 299
3466 goto while_break;
3467 }
3468 }
3469#line 300
3470 __cil_tmp14 = i * 8UL;
3471#line 300
3472 __cil_tmp15 = 0 + __cil_tmp14;
3473#line 300
3474 __cil_tmp16 = (unsigned long )(& r) + __cil_tmp15;
3475#line 300
3476 __cil_tmp17 = i * 8UL;
3477#line 300
3478 __cil_tmp18 = 0 + __cil_tmp17;
3479#line 300
3480 __cil_tmp19 = (unsigned long )(& val2) + __cil_tmp18;
3481#line 300
3482 __cil_tmp20 = *((unsigned long *)__cil_tmp19);
3483#line 300
3484 __cil_tmp21 = ~ __cil_tmp20;
3485#line 300
3486 __cil_tmp22 = i * 8UL;
3487#line 300
3488 __cil_tmp23 = 0 + __cil_tmp22;
3489#line 300
3490 __cil_tmp24 = (unsigned long )(& val1) + __cil_tmp23;
3491#line 300
3492 __cil_tmp25 = *((unsigned long *)__cil_tmp24);
3493#line 300
3494 *((unsigned long *)__cil_tmp16) = __cil_tmp25 & __cil_tmp21;
3495#line 299
3496 i = i + 1;
3497 }
3498 while_break: ;
3499 }
3500 {
3501#line 302
3502 __cil_tmp26 = & r;
3503#line 302
3504 return (*__cil_tmp26);
3505 }
3506}
3507}
3508#line 318
3509__inline static int map_word_bitsset(struct map_info *map , map_word val1 , map_word val2 ) __attribute__((__no_instrument_function__)) ;
3510#line 318 "include/linux/mtd/map.h"
3511__inline static int map_word_bitsset(struct map_info *map , map_word val1 , map_word val2 )
3512{ int i ;
3513 unsigned long __cil_tmp5 ;
3514 unsigned long __cil_tmp6 ;
3515 unsigned long __cil_tmp7 ;
3516 int __cil_tmp8 ;
3517 unsigned long __cil_tmp9 ;
3518 unsigned long __cil_tmp10 ;
3519 unsigned long __cil_tmp11 ;
3520 unsigned long __cil_tmp12 ;
3521 unsigned long __cil_tmp13 ;
3522 unsigned long __cil_tmp14 ;
3523 unsigned long __cil_tmp15 ;
3524 unsigned long __cil_tmp16 ;
3525 unsigned long __cil_tmp17 ;
3526 unsigned long __cil_tmp18 ;
3527 unsigned long __cil_tmp19 ;
3528 unsigned long __cil_tmp20 ;
3529
3530 {
3531#line 322
3532 i = 0;
3533 {
3534#line 322
3535 while (1) {
3536 while_continue: ;
3537 {
3538#line 322
3539 __cil_tmp5 = 8UL - 1UL;
3540#line 322
3541 __cil_tmp6 = (unsigned long )map;
3542#line 322
3543 __cil_tmp7 = __cil_tmp6 + 44;
3544#line 322
3545 __cil_tmp8 = *((int *)__cil_tmp7);
3546#line 322
3547 __cil_tmp9 = (unsigned long )__cil_tmp8;
3548#line 322
3549 __cil_tmp10 = __cil_tmp9 + __cil_tmp5;
3550#line 322
3551 __cil_tmp11 = __cil_tmp10 / 8UL;
3552#line 322
3553 __cil_tmp12 = (unsigned long )i;
3554#line 322
3555 if (__cil_tmp12 < __cil_tmp11) {
3556
3557 } else {
3558#line 322
3559 goto while_break;
3560 }
3561 }
3562 {
3563#line 323
3564 __cil_tmp13 = i * 8UL;
3565#line 323
3566 __cil_tmp14 = 0 + __cil_tmp13;
3567#line 323
3568 __cil_tmp15 = (unsigned long )(& val2) + __cil_tmp14;
3569#line 323
3570 __cil_tmp16 = *((unsigned long *)__cil_tmp15);
3571#line 323
3572 __cil_tmp17 = i * 8UL;
3573#line 323
3574 __cil_tmp18 = 0 + __cil_tmp17;
3575#line 323
3576 __cil_tmp19 = (unsigned long )(& val1) + __cil_tmp18;
3577#line 323
3578 __cil_tmp20 = *((unsigned long *)__cil_tmp19);
3579#line 323
3580 if (__cil_tmp20 & __cil_tmp16) {
3581#line 324
3582 return (1);
3583 } else {
3584
3585 }
3586 }
3587#line 322
3588 i = i + 1;
3589 }
3590 while_break: ;
3591 }
3592#line 326
3593 return (0);
3594}
3595}
3596#line 329
3597__inline static map_word map_word_load(struct map_info *map , void *ptr ) __attribute__((__no_instrument_function__)) ;
3598#line 329 "include/linux/mtd/map.h"
3599__inline static map_word map_word_load(struct map_info *map , void *ptr )
3600{ map_word r ;
3601 u16 tmp___10 ;
3602 u32 tmp___13 ;
3603 u64 tmp___16 ;
3604 size_t __len ;
3605 void *__ret ;
3606 unsigned long __cil_tmp18 ;
3607 unsigned long __cil_tmp19 ;
3608 int __cil_tmp20 ;
3609 unsigned long __cil_tmp21 ;
3610 unsigned long __cil_tmp22 ;
3611 unsigned long __cil_tmp23 ;
3612 unsigned char *__cil_tmp24 ;
3613 unsigned char __cil_tmp25 ;
3614 unsigned long __cil_tmp26 ;
3615 unsigned long __cil_tmp27 ;
3616 int __cil_tmp28 ;
3617 uint16_t *__cil_tmp29 ;
3618 void *__cil_tmp30 ;
3619 unsigned long __cil_tmp31 ;
3620 unsigned long __cil_tmp32 ;
3621 unsigned long __cil_tmp33 ;
3622 int __cil_tmp34 ;
3623 uint16_t __cil_tmp35 ;
3624 unsigned long __cil_tmp36 ;
3625 unsigned long __cil_tmp37 ;
3626 int __cil_tmp38 ;
3627 uint32_t *__cil_tmp39 ;
3628 void *__cil_tmp40 ;
3629 unsigned long __cil_tmp41 ;
3630 unsigned long __cil_tmp42 ;
3631 unsigned long __cil_tmp43 ;
3632 unsigned long __cil_tmp44 ;
3633 unsigned long __cil_tmp45 ;
3634 int __cil_tmp46 ;
3635 uint64_t *__cil_tmp47 ;
3636 void *__cil_tmp48 ;
3637 unsigned long __cil_tmp49 ;
3638 unsigned long __cil_tmp50 ;
3639 unsigned long __cil_tmp51 ;
3640 unsigned long __cil_tmp52 ;
3641 unsigned long __cil_tmp53 ;
3642 int __cil_tmp54 ;
3643 unsigned long __cil_tmp55 ;
3644 unsigned long __cil_tmp56 ;
3645 int __cil_tmp57 ;
3646 unsigned long __cil_tmp58 ;
3647 unsigned long __cil_tmp59 ;
3648 unsigned long __cil_tmp60 ;
3649 unsigned long *__cil_tmp61 ;
3650 void *__cil_tmp62 ;
3651 map_word *__cil_tmp63 ;
3652
3653 {
3654 {
3655#line 333
3656 __cil_tmp18 = (unsigned long )map;
3657#line 333
3658 __cil_tmp19 = __cil_tmp18 + 44;
3659#line 333
3660 __cil_tmp20 = *((int *)__cil_tmp19);
3661#line 333
3662 if (__cil_tmp20 == 1) {
3663#line 334
3664 __cil_tmp21 = 0 * 8UL;
3665#line 334
3666 __cil_tmp22 = 0 + __cil_tmp21;
3667#line 334
3668 __cil_tmp23 = (unsigned long )(& r) + __cil_tmp22;
3669#line 334
3670 __cil_tmp24 = (unsigned char *)ptr;
3671#line 334
3672 __cil_tmp25 = *__cil_tmp24;
3673#line 334
3674 *((unsigned long *)__cil_tmp23) = (unsigned long )__cil_tmp25;
3675 } else {
3676 {
3677#line 335
3678 __cil_tmp26 = (unsigned long )map;
3679#line 335
3680 __cil_tmp27 = __cil_tmp26 + 44;
3681#line 335
3682 __cil_tmp28 = *((int *)__cil_tmp27);
3683#line 335
3684 if (__cil_tmp28 == 2) {
3685 {
3686#line 336
3687 __cil_tmp29 = (uint16_t *)ptr;
3688#line 336
3689 __cil_tmp30 = (void *)__cil_tmp29;
3690#line 336
3691 tmp___10 = get_unaligned_le16(__cil_tmp30);
3692#line 336
3693 __cil_tmp31 = 0 * 8UL;
3694#line 336
3695 __cil_tmp32 = 0 + __cil_tmp31;
3696#line 336
3697 __cil_tmp33 = (unsigned long )(& r) + __cil_tmp32;
3698#line 336
3699 __cil_tmp34 = (int )tmp___10;
3700#line 336
3701 __cil_tmp35 = (uint16_t )__cil_tmp34;
3702#line 336
3703 *((unsigned long *)__cil_tmp33) = (unsigned long )__cil_tmp35;
3704 }
3705 } else {
3706 {
3707#line 337
3708 __cil_tmp36 = (unsigned long )map;
3709#line 337
3710 __cil_tmp37 = __cil_tmp36 + 44;
3711#line 337
3712 __cil_tmp38 = *((int *)__cil_tmp37);
3713#line 337
3714 if (__cil_tmp38 == 4) {
3715 {
3716#line 338
3717 __cil_tmp39 = (uint32_t *)ptr;
3718#line 338
3719 __cil_tmp40 = (void *)__cil_tmp39;
3720#line 338
3721 tmp___13 = get_unaligned_le32(__cil_tmp40);
3722#line 338
3723 __cil_tmp41 = 0 * 8UL;
3724#line 338
3725 __cil_tmp42 = 0 + __cil_tmp41;
3726#line 338
3727 __cil_tmp43 = (unsigned long )(& r) + __cil_tmp42;
3728#line 338
3729 *((unsigned long *)__cil_tmp43) = (unsigned long )tmp___13;
3730 }
3731 } else {
3732 {
3733#line 340
3734 __cil_tmp44 = (unsigned long )map;
3735#line 340
3736 __cil_tmp45 = __cil_tmp44 + 44;
3737#line 340
3738 __cil_tmp46 = *((int *)__cil_tmp45);
3739#line 340
3740 if (__cil_tmp46 == 8) {
3741 {
3742#line 341
3743 __cil_tmp47 = (uint64_t *)ptr;
3744#line 341
3745 __cil_tmp48 = (void *)__cil_tmp47;
3746#line 341
3747 tmp___16 = get_unaligned_le64(__cil_tmp48);
3748#line 341
3749 __cil_tmp49 = 0 * 8UL;
3750#line 341
3751 __cil_tmp50 = 0 + __cil_tmp49;
3752#line 341
3753 __cil_tmp51 = (unsigned long )(& r) + __cil_tmp50;
3754#line 341
3755 *((unsigned long *)__cil_tmp51) = (unsigned long )tmp___16;
3756 }
3757 } else {
3758 {
3759#line 343
3760 __cil_tmp52 = (unsigned long )map;
3761#line 343
3762 __cil_tmp53 = __cil_tmp52 + 44;
3763#line 343
3764 __cil_tmp54 = *((int *)__cil_tmp53);
3765#line 343
3766 if (__cil_tmp54 > 8) {
3767 {
3768#line 344
3769 __cil_tmp55 = (unsigned long )map;
3770#line 344
3771 __cil_tmp56 = __cil_tmp55 + 44;
3772#line 344
3773 __cil_tmp57 = *((int *)__cil_tmp56);
3774#line 344
3775 __len = (size_t )__cil_tmp57;
3776#line 344
3777 __cil_tmp58 = 0 * 8UL;
3778#line 344
3779 __cil_tmp59 = 0 + __cil_tmp58;
3780#line 344
3781 __cil_tmp60 = (unsigned long )(& r) + __cil_tmp59;
3782#line 344
3783 __cil_tmp61 = (unsigned long *)__cil_tmp60;
3784#line 344
3785 __cil_tmp62 = (void *)__cil_tmp61;
3786#line 344
3787 __ret = __builtin_memcpy(__cil_tmp62, ptr, __len);
3788 }
3789 } else {
3790
3791 }
3792 }
3793 }
3794 }
3795 }
3796 }
3797 }
3798 }
3799 }
3800 }
3801 {
3802#line 346
3803 __cil_tmp63 = & r;
3804#line 346
3805 return (*__cil_tmp63);
3806 }
3807}
3808}
3809#line 349
3810__inline static map_word map_word_load_partial(struct map_info *map , map_word orig ,
3811 unsigned char *buf , int start ,
3812 int len ) __attribute__((__no_instrument_function__)) ;
3813#line 349 "include/linux/mtd/map.h"
3814__inline static map_word map_word_load_partial(struct map_info *map , map_word orig ,
3815 unsigned char *buf , int start ,
3816 int len )
3817{ int i ;
3818 char *dest ;
3819 size_t __len ;
3820 void *__ret ;
3821 int bitpos ;
3822 unsigned long __cil_tmp11 ;
3823 unsigned long __cil_tmp12 ;
3824 int __cil_tmp13 ;
3825 char *__cil_tmp14 ;
3826 void *__cil_tmp15 ;
3827 void *__cil_tmp16 ;
3828 int __cil_tmp17 ;
3829 unsigned long __cil_tmp18 ;
3830 unsigned long __cil_tmp19 ;
3831 unsigned long __cil_tmp20 ;
3832 int __cil_tmp21 ;
3833 int __cil_tmp22 ;
3834 unsigned long __cil_tmp23 ;
3835 unsigned long __cil_tmp24 ;
3836 unsigned long __cil_tmp25 ;
3837 unsigned long __cil_tmp26 ;
3838 unsigned long __cil_tmp27 ;
3839 unsigned long __cil_tmp28 ;
3840 unsigned long __cil_tmp29 ;
3841 unsigned long __cil_tmp30 ;
3842 int __cil_tmp31 ;
3843 unsigned char *__cil_tmp32 ;
3844 unsigned char __cil_tmp33 ;
3845 int __cil_tmp34 ;
3846 int __cil_tmp35 ;
3847 unsigned long __cil_tmp36 ;
3848 unsigned long __cil_tmp37 ;
3849 unsigned long __cil_tmp38 ;
3850 unsigned long __cil_tmp39 ;
3851 unsigned long __cil_tmp40 ;
3852 map_word *__cil_tmp41 ;
3853
3854 {
3855 {
3856#line 353
3857 __cil_tmp11 = (unsigned long )map;
3858#line 353
3859 __cil_tmp12 = __cil_tmp11 + 44;
3860#line 353
3861 __cil_tmp13 = *((int *)__cil_tmp12);
3862#line 353
3863 if (__cil_tmp13 > 8) {
3864 {
3865#line 354
3866 dest = (char *)(& orig);
3867#line 355
3868 __len = (size_t )len;
3869#line 355
3870 __cil_tmp14 = dest + start;
3871#line 355
3872 __cil_tmp15 = (void *)__cil_tmp14;
3873#line 355
3874 __cil_tmp16 = (void *)buf;
3875#line 355
3876 __ret = __builtin_memcpy(__cil_tmp15, __cil_tmp16, __len);
3877 }
3878 } else {
3879#line 357
3880 i = start;
3881 {
3882#line 357
3883 while (1) {
3884 while_continue: ;
3885 {
3886#line 357
3887 __cil_tmp17 = start + len;
3888#line 357
3889 if (i < __cil_tmp17) {
3890
3891 } else {
3892#line 357
3893 goto while_break;
3894 }
3895 }
3896#line 360
3897 bitpos = i * 8;
3898#line 364
3899 __cil_tmp18 = 0 * 8UL;
3900#line 364
3901 __cil_tmp19 = 0 + __cil_tmp18;
3902#line 364
3903 __cil_tmp20 = (unsigned long )(& orig) + __cil_tmp19;
3904#line 364
3905 __cil_tmp21 = 255 << bitpos;
3906#line 364
3907 __cil_tmp22 = ~ __cil_tmp21;
3908#line 364
3909 __cil_tmp23 = (unsigned long )__cil_tmp22;
3910#line 364
3911 __cil_tmp24 = 0 * 8UL;
3912#line 364
3913 __cil_tmp25 = 0 + __cil_tmp24;
3914#line 364
3915 __cil_tmp26 = (unsigned long )(& orig) + __cil_tmp25;
3916#line 364
3917 __cil_tmp27 = *((unsigned long *)__cil_tmp26);
3918#line 364
3919 *((unsigned long *)__cil_tmp20) = __cil_tmp27 & __cil_tmp23;
3920#line 365
3921 __cil_tmp28 = 0 * 8UL;
3922#line 365
3923 __cil_tmp29 = 0 + __cil_tmp28;
3924#line 365
3925 __cil_tmp30 = (unsigned long )(& orig) + __cil_tmp29;
3926#line 365
3927 __cil_tmp31 = i - start;
3928#line 365
3929 __cil_tmp32 = buf + __cil_tmp31;
3930#line 365
3931 __cil_tmp33 = *__cil_tmp32;
3932#line 365
3933 __cil_tmp34 = (int )__cil_tmp33;
3934#line 365
3935 __cil_tmp35 = __cil_tmp34 << bitpos;
3936#line 365
3937 __cil_tmp36 = (unsigned long )__cil_tmp35;
3938#line 365
3939 __cil_tmp37 = 0 * 8UL;
3940#line 365
3941 __cil_tmp38 = 0 + __cil_tmp37;
3942#line 365
3943 __cil_tmp39 = (unsigned long )(& orig) + __cil_tmp38;
3944#line 365
3945 __cil_tmp40 = *((unsigned long *)__cil_tmp39);
3946#line 365
3947 *((unsigned long *)__cil_tmp30) = __cil_tmp40 | __cil_tmp36;
3948#line 357
3949 i = i + 1;
3950 }
3951 while_break: ;
3952 }
3953 }
3954 }
3955 {
3956#line 368
3957 __cil_tmp41 = & orig;
3958#line 368
3959 return (*__cil_tmp41);
3960 }
3961}
3962}
3963#line 377
3964__inline static map_word map_word_ff(struct map_info *map ) __attribute__((__no_instrument_function__)) ;
3965#line 377 "include/linux/mtd/map.h"
3966__inline static map_word map_word_ff(struct map_info *map )
3967{ map_word r ;
3968 int i ;
3969 int bw ;
3970 unsigned long __cil_tmp5 ;
3971 unsigned long __cil_tmp6 ;
3972 int __cil_tmp7 ;
3973 unsigned long __cil_tmp8 ;
3974 unsigned long __cil_tmp9 ;
3975 int __cil_tmp10 ;
3976 unsigned long __cil_tmp11 ;
3977 unsigned long __cil_tmp12 ;
3978 unsigned long __cil_tmp13 ;
3979 int __cil_tmp14 ;
3980 int __cil_tmp15 ;
3981 unsigned long __cil_tmp16 ;
3982 unsigned long __cil_tmp17 ;
3983 unsigned long __cil_tmp18 ;
3984 int __cil_tmp19 ;
3985 unsigned long __cil_tmp20 ;
3986 unsigned long __cil_tmp21 ;
3987 unsigned long __cil_tmp22 ;
3988 unsigned long __cil_tmp23 ;
3989 unsigned long __cil_tmp24 ;
3990 unsigned long __cil_tmp25 ;
3991 unsigned long __cil_tmp26 ;
3992 map_word *__cil_tmp27 ;
3993
3994 {
3995 {
3996#line 382
3997 __cil_tmp5 = (unsigned long )map;
3998#line 382
3999 __cil_tmp6 = __cil_tmp5 + 44;
4000#line 382
4001 __cil_tmp7 = *((int *)__cil_tmp6);
4002#line 382
4003 if (__cil_tmp7 < 8) {
4004#line 383
4005 __cil_tmp8 = (unsigned long )map;
4006#line 383
4007 __cil_tmp9 = __cil_tmp8 + 44;
4008#line 383
4009 __cil_tmp10 = *((int *)__cil_tmp9);
4010#line 383
4011 bw = 8 * __cil_tmp10;
4012#line 384
4013 __cil_tmp11 = 0 * 8UL;
4014#line 384
4015 __cil_tmp12 = 0 + __cil_tmp11;
4016#line 384
4017 __cil_tmp13 = (unsigned long )(& r) + __cil_tmp12;
4018#line 384
4019 __cil_tmp14 = 1 << bw;
4020#line 384
4021 __cil_tmp15 = __cil_tmp14 - 1;
4022#line 384
4023 *((unsigned long *)__cil_tmp13) = (unsigned long )__cil_tmp15;
4024 } else {
4025#line 386
4026 i = 0;
4027 {
4028#line 386
4029 while (1) {
4030 while_continue: ;
4031 {
4032#line 386
4033 __cil_tmp16 = 8UL - 1UL;
4034#line 386
4035 __cil_tmp17 = (unsigned long )map;
4036#line 386
4037 __cil_tmp18 = __cil_tmp17 + 44;
4038#line 386
4039 __cil_tmp19 = *((int *)__cil_tmp18);
4040#line 386
4041 __cil_tmp20 = (unsigned long )__cil_tmp19;
4042#line 386
4043 __cil_tmp21 = __cil_tmp20 + __cil_tmp16;
4044#line 386
4045 __cil_tmp22 = __cil_tmp21 / 8UL;
4046#line 386
4047 __cil_tmp23 = (unsigned long )i;
4048#line 386
4049 if (__cil_tmp23 < __cil_tmp22) {
4050
4051 } else {
4052#line 386
4053 goto while_break;
4054 }
4055 }
4056#line 387
4057 __cil_tmp24 = i * 8UL;
4058#line 387
4059 __cil_tmp25 = 0 + __cil_tmp24;
4060#line 387
4061 __cil_tmp26 = (unsigned long )(& r) + __cil_tmp25;
4062#line 387
4063 *((unsigned long *)__cil_tmp26) = ~ 0UL;
4064#line 386
4065 i = i + 1;
4066 }
4067 while_break: ;
4068 }
4069 }
4070 }
4071 {
4072#line 389
4073 __cil_tmp27 = & r;
4074#line 389
4075 return (*__cil_tmp27);
4076 }
4077}
4078}
4079#line 388 "include/linux/mtd/mtd.h"
4080extern void mtd_erase_callback(struct erase_info *instr ) ;
4081#line 328 "include/linux/mtd/cfi.h"
4082__inline static map_word cfi_build_cmd(u_long cmd , struct map_info *map , struct cfi_private *cfi ) __attribute__((__no_instrument_function__)) ;
4083#line 328 "include/linux/mtd/cfi.h"
4084__inline static map_word cfi_build_cmd(u_long cmd , struct map_info *map , struct cfi_private *cfi )
4085{ map_word val ;
4086 int wordwidth ;
4087 int words_per_bus ;
4088 int chip_mode ;
4089 int chips_per_word ;
4090 unsigned long onecmd ;
4091 int i ;
4092 __u16 tmp___9 ;
4093 int tmp___10 ;
4094 int tmp___11 ;
4095 int tmp___12 ;
4096 __u32 tmp___15 ;
4097 __be32 tmp___16 ;
4098 int tmp___17 ;
4099 int tmp___18 ;
4100 unsigned long __cil_tmp23 ;
4101 unsigned long __cil_tmp24 ;
4102 unsigned long __cil_tmp25 ;
4103 unsigned long __cil_tmp26 ;
4104 unsigned long __cil_tmp27 ;
4105 unsigned long __cil_tmp28 ;
4106 unsigned long __cil_tmp29 ;
4107 unsigned long __cil_tmp30 ;
4108 unsigned long __cil_tmp31 ;
4109 unsigned long __cil_tmp32 ;
4110 unsigned long __cil_tmp33 ;
4111 unsigned long __cil_tmp34 ;
4112 unsigned long __cil_tmp35 ;
4113 unsigned long __cil_tmp36 ;
4114 int __cil_tmp37 ;
4115 unsigned long __cil_tmp38 ;
4116 unsigned long __cil_tmp39 ;
4117 int __cil_tmp40 ;
4118 unsigned long __cil_tmp41 ;
4119 unsigned long __cil_tmp42 ;
4120 unsigned long __cil_tmp43 ;
4121 unsigned long __cil_tmp44 ;
4122 int __cil_tmp45 ;
4123 unsigned long __cil_tmp46 ;
4124 unsigned long __cil_tmp47 ;
4125 int __cil_tmp48 ;
4126 unsigned long __cil_tmp49 ;
4127 unsigned long __cil_tmp50 ;
4128 int __cil_tmp51 ;
4129 unsigned long __cil_tmp52 ;
4130 unsigned long __cil_tmp53 ;
4131 int __cil_tmp54 ;
4132 int __cil_tmp55 ;
4133 unsigned long __cil_tmp56 ;
4134 unsigned long __cil_tmp57 ;
4135 unsigned long __cil_tmp58 ;
4136 unsigned long __cil_tmp59 ;
4137 __u16 __cil_tmp60 ;
4138 int __cil_tmp61 ;
4139 __be16 __cil_tmp62 ;
4140 __u16 __cil_tmp63 ;
4141 unsigned long __cil_tmp64 ;
4142 unsigned long __cil_tmp65 ;
4143 unsigned long __cil_tmp66 ;
4144 unsigned long __cil_tmp67 ;
4145 __u32 __cil_tmp68 ;
4146 int __cil_tmp69 ;
4147 unsigned long __cil_tmp70 ;
4148 int __cil_tmp71 ;
4149 unsigned long __cil_tmp72 ;
4150 int __cil_tmp73 ;
4151 unsigned long __cil_tmp74 ;
4152 unsigned long __cil_tmp75 ;
4153 unsigned long __cil_tmp76 ;
4154 unsigned long __cil_tmp77 ;
4155 map_word *__cil_tmp78 ;
4156
4157 {
4158#line 330
4159 __cil_tmp23 = 0 * 8UL;
4160#line 330
4161 __cil_tmp24 = 0 + __cil_tmp23;
4162#line 330
4163 __cil_tmp25 = (unsigned long )(& val) + __cil_tmp24;
4164#line 330
4165 *((unsigned long *)__cil_tmp25) = 0UL;
4166#line 330
4167 __cil_tmp26 = 1 * 8UL;
4168#line 330
4169 __cil_tmp27 = 0 + __cil_tmp26;
4170#line 330
4171 __cil_tmp28 = (unsigned long )(& val) + __cil_tmp27;
4172#line 330
4173 *((unsigned long *)__cil_tmp28) = 0UL;
4174#line 330
4175 __cil_tmp29 = 2 * 8UL;
4176#line 330
4177 __cil_tmp30 = 0 + __cil_tmp29;
4178#line 330
4179 __cil_tmp31 = (unsigned long )(& val) + __cil_tmp30;
4180#line 330
4181 *((unsigned long *)__cil_tmp31) = 0UL;
4182#line 330
4183 __cil_tmp32 = 3 * 8UL;
4184#line 330
4185 __cil_tmp33 = 0 + __cil_tmp32;
4186#line 330
4187 __cil_tmp34 = (unsigned long )(& val) + __cil_tmp33;
4188#line 330
4189 *((unsigned long *)__cil_tmp34) = 0UL;
4190 {
4191#line 339
4192 __cil_tmp35 = (unsigned long )map;
4193#line 339
4194 __cil_tmp36 = __cil_tmp35 + 44;
4195#line 339
4196 __cil_tmp37 = *((int *)__cil_tmp36);
4197#line 339
4198 if (__cil_tmp37 > 8) {
4199#line 340
4200 wordwidth = (int )8UL;
4201#line 341
4202 __cil_tmp38 = (unsigned long )map;
4203#line 341
4204 __cil_tmp39 = __cil_tmp38 + 44;
4205#line 341
4206 __cil_tmp40 = *((int *)__cil_tmp39);
4207#line 341
4208 words_per_bus = __cil_tmp40 / wordwidth;
4209 } else {
4210#line 343
4211 __cil_tmp41 = (unsigned long )map;
4212#line 343
4213 __cil_tmp42 = __cil_tmp41 + 44;
4214#line 343
4215 wordwidth = *((int *)__cil_tmp42);
4216#line 344
4217 words_per_bus = 1;
4218 }
4219 }
4220#line 347
4221 __cil_tmp43 = (unsigned long )cfi;
4222#line 347
4223 __cil_tmp44 = __cil_tmp43 + 16;
4224#line 347
4225 __cil_tmp45 = *((int *)__cil_tmp44);
4226#line 347
4227 __cil_tmp46 = (unsigned long )map;
4228#line 347
4229 __cil_tmp47 = __cil_tmp46 + 44;
4230#line 347
4231 __cil_tmp48 = *((int *)__cil_tmp47);
4232#line 347
4233 chip_mode = __cil_tmp48 / __cil_tmp45;
4234#line 348
4235 __cil_tmp49 = (unsigned long )map;
4236#line 348
4237 __cil_tmp50 = __cil_tmp49 + 44;
4238#line 348
4239 __cil_tmp51 = *((int *)__cil_tmp50);
4240#line 348
4241 __cil_tmp52 = (unsigned long )cfi;
4242#line 348
4243 __cil_tmp53 = __cil_tmp52 + 16;
4244#line 348
4245 __cil_tmp54 = *((int *)__cil_tmp53);
4246#line 348
4247 __cil_tmp55 = wordwidth * __cil_tmp54;
4248#line 348
4249 chips_per_word = __cil_tmp55 / __cil_tmp51;
4250#line 354
4251 if (chip_mode == 1) {
4252#line 354
4253 goto case_1;
4254 } else
4255#line 357
4256 if (chip_mode == 2) {
4257#line 357
4258 goto case_2;
4259 } else
4260#line 360
4261 if (chip_mode == 4) {
4262#line 360
4263 goto case_4;
4264 } else {
4265 {
4266#line 353
4267 goto switch_default;
4268#line 352
4269 if (0) {
4270 switch_default:
4271 {
4272#line 353
4273 while (1) {
4274 while_continue: ;
4275#line 353
4276 __asm__ volatile ("1:\tud2\n"
4277 ".pushsection __bug_table,\"a\"\n"
4278 "2:\t.long 1b - 2b, %c0 - 2b\n"
4279 "\t.word %c1, 0\n"
4280 "\t.org 2b+%c2\n"
4281 ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (353),
4282 "i" (12UL));
4283 {
4284#line 353
4285 while (1) {
4286 while_continue___0: ;
4287 }
4288 while_break___0: ;
4289 }
4290#line 353
4291 goto while_break;
4292 }
4293 while_break: ;
4294 }
4295 case_1:
4296#line 355
4297 onecmd = cmd;
4298#line 356
4299 goto switch_break;
4300 case_2:
4301#line 358
4302 __cil_tmp56 = (unsigned long )map;
4303#line 358
4304 __cil_tmp57 = __cil_tmp56 + 40;
4305#line 358
4306 tmp___12 = *((int *)__cil_tmp57);
4307#line 358
4308 if (tmp___12) {
4309
4310 } else {
4311#line 358
4312 tmp___12 = 1;
4313 }
4314#line 358
4315 if (tmp___12 == 1) {
4316#line 358
4317 onecmd = cmd;
4318 } else {
4319#line 358
4320 __cil_tmp58 = (unsigned long )map;
4321#line 358
4322 __cil_tmp59 = __cil_tmp58 + 40;
4323#line 358
4324 tmp___11 = *((int *)__cil_tmp59);
4325#line 358
4326 if (tmp___11) {
4327
4328 } else {
4329#line 358
4330 tmp___11 = 1;
4331 }
4332#line 358
4333 if (tmp___11 == 3) {
4334 {
4335#line 358
4336 __cil_tmp60 = (__u16 )cmd;
4337#line 358
4338 tmp___9 = __fswab16(__cil_tmp60);
4339#line 358
4340 __cil_tmp61 = (int )tmp___9;
4341#line 358
4342 __cil_tmp62 = (__be16 )__cil_tmp61;
4343#line 358
4344 tmp___10 = (int )__cil_tmp62;
4345 }
4346 } else {
4347#line 358
4348 __cil_tmp63 = (__u16 )cmd;
4349#line 358
4350 tmp___10 = (int )__cil_tmp63;
4351 }
4352#line 358
4353 onecmd = (unsigned long )tmp___10;
4354 }
4355#line 359
4356 goto switch_break;
4357 case_4:
4358#line 361
4359 __cil_tmp64 = (unsigned long )map;
4360#line 361
4361 __cil_tmp65 = __cil_tmp64 + 40;
4362#line 361
4363 tmp___18 = *((int *)__cil_tmp65);
4364#line 361
4365 if (tmp___18) {
4366
4367 } else {
4368#line 361
4369 tmp___18 = 1;
4370 }
4371#line 361
4372 if (tmp___18 == 1) {
4373#line 361
4374 onecmd = cmd;
4375 } else {
4376#line 361
4377 __cil_tmp66 = (unsigned long )map;
4378#line 361
4379 __cil_tmp67 = __cil_tmp66 + 40;
4380#line 361
4381 tmp___17 = *((int *)__cil_tmp67);
4382#line 361
4383 if (tmp___17) {
4384
4385 } else {
4386#line 361
4387 tmp___17 = 1;
4388 }
4389#line 361
4390 if (tmp___17 == 3) {
4391 {
4392#line 361
4393 __cil_tmp68 = (__u32 )cmd;
4394#line 361
4395 tmp___15 = __fswab32(__cil_tmp68);
4396#line 361
4397 tmp___16 = tmp___15;
4398 }
4399 } else {
4400#line 361
4401 tmp___16 = (__u32 )cmd;
4402 }
4403#line 361
4404 onecmd = (unsigned long )tmp___16;
4405 }
4406#line 362
4407 goto switch_break;
4408 } else {
4409 switch_break: ;
4410 }
4411 }
4412 }
4413#line 370
4414 if (chips_per_word == 8) {
4415#line 370
4416 goto case_8;
4417 } else
4418#line 373
4419 if (chips_per_word == 4) {
4420#line 373
4421 goto case_4___0;
4422 } else
4423#line 375
4424 if (chips_per_word == 2) {
4425#line 375
4426 goto case_2___0;
4427 } else
4428#line 377
4429 if (chips_per_word == 1) {
4430#line 377
4431 goto case_1___0;
4432 } else {
4433 {
4434#line 368
4435 goto switch_default___0;
4436#line 367
4437 if (0) {
4438 switch_default___0:
4439 {
4440#line 368
4441 while (1) {
4442 while_continue___1: ;
4443#line 368
4444 __asm__ volatile ("1:\tud2\n"
4445 ".pushsection __bug_table,\"a\"\n"
4446 "2:\t.long 1b - 2b, %c0 - 2b\n"
4447 "\t.word %c1, 0\n"
4448 "\t.org 2b+%c2\n"
4449 ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (368),
4450 "i" (12UL));
4451 {
4452#line 368
4453 while (1) {
4454 while_continue___2: ;
4455 }
4456 while_break___2: ;
4457 }
4458#line 368
4459 goto while_break___1;
4460 }
4461 while_break___1: ;
4462 }
4463 case_8:
4464#line 371
4465 __cil_tmp69 = chip_mode * 32;
4466#line 371
4467 __cil_tmp70 = onecmd << __cil_tmp69;
4468#line 371
4469 onecmd = onecmd | __cil_tmp70;
4470 case_4___0:
4471#line 374
4472 __cil_tmp71 = chip_mode * 16;
4473#line 374
4474 __cil_tmp72 = onecmd << __cil_tmp71;
4475#line 374
4476 onecmd = onecmd | __cil_tmp72;
4477 case_2___0:
4478#line 376
4479 __cil_tmp73 = chip_mode * 8;
4480#line 376
4481 __cil_tmp74 = onecmd << __cil_tmp73;
4482#line 376
4483 onecmd = onecmd | __cil_tmp74;
4484 case_1___0: ;
4485 } else {
4486 switch_break___0: ;
4487 }
4488 }
4489 }
4490#line 383
4491 i = 0;
4492 {
4493#line 383
4494 while (1) {
4495 while_continue___3: ;
4496#line 383
4497 if (i < words_per_bus) {
4498
4499 } else {
4500#line 383
4501 goto while_break___3;
4502 }
4503#line 384
4504 __cil_tmp75 = i * 8UL;
4505#line 384
4506 __cil_tmp76 = 0 + __cil_tmp75;
4507#line 384
4508 __cil_tmp77 = (unsigned long )(& val) + __cil_tmp76;
4509#line 384
4510 *((unsigned long *)__cil_tmp77) = onecmd;
4511#line 383
4512 i = i + 1;
4513 }
4514 while_break___3: ;
4515 }
4516 {
4517#line 387
4518 __cil_tmp78 = & val;
4519#line 387
4520 return (*__cil_tmp78);
4521 }
4522}
4523}
4524#line 392
4525__inline static unsigned long cfi_merge_status(map_word val , struct map_info *map ,
4526 struct cfi_private *cfi ) __attribute__((__no_instrument_function__)) ;
4527#line 392 "include/linux/mtd/cfi.h"
4528__inline static unsigned long cfi_merge_status(map_word val , struct map_info *map ,
4529 struct cfi_private *cfi )
4530{ int wordwidth ;
4531 int words_per_bus ;
4532 int chip_mode ;
4533 int chips_per_word ;
4534 unsigned long onestat ;
4535 unsigned long res ;
4536 int i ;
4537 __u16 tmp___9 ;
4538 int tmp___10 ;
4539 int tmp___11 ;
4540 int tmp___12 ;
4541 __u32 tmp___15 ;
4542 __u32 tmp___16 ;
4543 int tmp___17 ;
4544 int tmp___18 ;
4545 unsigned long __cil_tmp23 ;
4546 unsigned long __cil_tmp24 ;
4547 int __cil_tmp25 ;
4548 unsigned long __cil_tmp26 ;
4549 unsigned long __cil_tmp27 ;
4550 int __cil_tmp28 ;
4551 unsigned long __cil_tmp29 ;
4552 unsigned long __cil_tmp30 ;
4553 unsigned long __cil_tmp31 ;
4554 unsigned long __cil_tmp32 ;
4555 int __cil_tmp33 ;
4556 unsigned long __cil_tmp34 ;
4557 unsigned long __cil_tmp35 ;
4558 int __cil_tmp36 ;
4559 unsigned long __cil_tmp37 ;
4560 unsigned long __cil_tmp38 ;
4561 int __cil_tmp39 ;
4562 unsigned long __cil_tmp40 ;
4563 unsigned long __cil_tmp41 ;
4564 int __cil_tmp42 ;
4565 int __cil_tmp43 ;
4566 unsigned long __cil_tmp44 ;
4567 unsigned long __cil_tmp45 ;
4568 unsigned long __cil_tmp46 ;
4569 unsigned long __cil_tmp47 ;
4570 unsigned long __cil_tmp48 ;
4571 unsigned long __cil_tmp49 ;
4572 unsigned long __cil_tmp50 ;
4573 int __cil_tmp51 ;
4574 unsigned long __cil_tmp52 ;
4575 int __cil_tmp53 ;
4576 unsigned long __cil_tmp54 ;
4577 int __cil_tmp55 ;
4578 unsigned long __cil_tmp56 ;
4579 unsigned long __cil_tmp57 ;
4580 unsigned long __cil_tmp58 ;
4581 unsigned long __cil_tmp59 ;
4582 unsigned long __cil_tmp60 ;
4583 __be16 __cil_tmp61 ;
4584 __le16 __cil_tmp62 ;
4585 unsigned long __cil_tmp63 ;
4586 unsigned long __cil_tmp64 ;
4587 unsigned long __cil_tmp65 ;
4588 unsigned long __cil_tmp66 ;
4589 __be32 __cil_tmp67 ;
4590
4591 {
4592#line 396
4593 res = 0UL;
4594 {
4595#line 403
4596 __cil_tmp23 = (unsigned long )map;
4597#line 403
4598 __cil_tmp24 = __cil_tmp23 + 44;
4599#line 403
4600 __cil_tmp25 = *((int *)__cil_tmp24);
4601#line 403
4602 if (__cil_tmp25 > 8) {
4603#line 404
4604 wordwidth = (int )8UL;
4605#line 405
4606 __cil_tmp26 = (unsigned long )map;
4607#line 405
4608 __cil_tmp27 = __cil_tmp26 + 44;
4609#line 405
4610 __cil_tmp28 = *((int *)__cil_tmp27);
4611#line 405
4612 words_per_bus = __cil_tmp28 / wordwidth;
4613 } else {
4614#line 407
4615 __cil_tmp29 = (unsigned long )map;
4616#line 407
4617 __cil_tmp30 = __cil_tmp29 + 44;
4618#line 407
4619 wordwidth = *((int *)__cil_tmp30);
4620#line 408
4621 words_per_bus = 1;
4622 }
4623 }
4624#line 411
4625 __cil_tmp31 = (unsigned long )cfi;
4626#line 411
4627 __cil_tmp32 = __cil_tmp31 + 16;
4628#line 411
4629 __cil_tmp33 = *((int *)__cil_tmp32);
4630#line 411
4631 __cil_tmp34 = (unsigned long )map;
4632#line 411
4633 __cil_tmp35 = __cil_tmp34 + 44;
4634#line 411
4635 __cil_tmp36 = *((int *)__cil_tmp35);
4636#line 411
4637 chip_mode = __cil_tmp36 / __cil_tmp33;
4638#line 412
4639 __cil_tmp37 = (unsigned long )map;
4640#line 412
4641 __cil_tmp38 = __cil_tmp37 + 44;
4642#line 412
4643 __cil_tmp39 = *((int *)__cil_tmp38);
4644#line 412
4645 __cil_tmp40 = (unsigned long )cfi;
4646#line 412
4647 __cil_tmp41 = __cil_tmp40 + 16;
4648#line 412
4649 __cil_tmp42 = *((int *)__cil_tmp41);
4650#line 412
4651 __cil_tmp43 = wordwidth * __cil_tmp42;
4652#line 412
4653 chips_per_word = __cil_tmp43 / __cil_tmp39;
4654#line 414
4655 __cil_tmp44 = 0 * 8UL;
4656#line 414
4657 __cil_tmp45 = 0 + __cil_tmp44;
4658#line 414
4659 __cil_tmp46 = (unsigned long )(& val) + __cil_tmp45;
4660#line 414
4661 onestat = *((unsigned long *)__cil_tmp46);
4662#line 416
4663 i = 1;
4664 {
4665#line 416
4666 while (1) {
4667 while_continue: ;
4668#line 416
4669 if (i < words_per_bus) {
4670
4671 } else {
4672#line 416
4673 goto while_break;
4674 }
4675#line 417
4676 __cil_tmp47 = i * 8UL;
4677#line 417
4678 __cil_tmp48 = 0 + __cil_tmp47;
4679#line 417
4680 __cil_tmp49 = (unsigned long )(& val) + __cil_tmp48;
4681#line 417
4682 __cil_tmp50 = *((unsigned long *)__cil_tmp49);
4683#line 417
4684 onestat = onestat | __cil_tmp50;
4685#line 416
4686 i = i + 1;
4687 }
4688 while_break: ;
4689 }
4690#line 420
4691 res = onestat;
4692#line 424
4693 if (chips_per_word == 8) {
4694#line 424
4695 goto case_8;
4696 } else
4697#line 427
4698 if (chips_per_word == 4) {
4699#line 427
4700 goto case_4;
4701 } else
4702#line 429
4703 if (chips_per_word == 2) {
4704#line 429
4705 goto case_2;
4706 } else
4707#line 431
4708 if (chips_per_word == 1) {
4709#line 431
4710 goto case_1;
4711 } else {
4712 {
4713#line 422
4714 goto switch_default;
4715#line 421
4716 if (0) {
4717 switch_default:
4718 {
4719#line 422
4720 while (1) {
4721 while_continue___0: ;
4722#line 422
4723 __asm__ volatile ("1:\tud2\n"
4724 ".pushsection __bug_table,\"a\"\n"
4725 "2:\t.long 1b - 2b, %c0 - 2b\n"
4726 "\t.word %c1, 0\n"
4727 "\t.org 2b+%c2\n"
4728 ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (422),
4729 "i" (12UL));
4730 {
4731#line 422
4732 while (1) {
4733 while_continue___1: ;
4734 }
4735 while_break___1: ;
4736 }
4737#line 422
4738 goto while_break___0;
4739 }
4740 while_break___0: ;
4741 }
4742 case_8:
4743#line 425
4744 __cil_tmp51 = chip_mode * 32;
4745#line 425
4746 __cil_tmp52 = onestat >> __cil_tmp51;
4747#line 425
4748 res = res | __cil_tmp52;
4749 case_4:
4750#line 428
4751 __cil_tmp53 = chip_mode * 16;
4752#line 428
4753 __cil_tmp54 = onestat >> __cil_tmp53;
4754#line 428
4755 res = res | __cil_tmp54;
4756 case_2:
4757#line 430
4758 __cil_tmp55 = chip_mode * 8;
4759#line 430
4760 __cil_tmp56 = onestat >> __cil_tmp55;
4761#line 430
4762 res = res | __cil_tmp56;
4763 case_1: ;
4764 } else {
4765 switch_break: ;
4766 }
4767 }
4768 }
4769#line 438
4770 if (chip_mode == 1) {
4771#line 438
4772 goto case_1___0;
4773 } else
4774#line 440
4775 if (chip_mode == 2) {
4776#line 440
4777 goto case_2___0;
4778 } else
4779#line 443
4780 if (chip_mode == 4) {
4781#line 443
4782 goto case_4___0;
4783 } else {
4784 {
4785#line 446
4786 goto switch_default___0;
4787#line 437
4788 if (0) {
4789 case_1___0:
4790#line 439
4791 goto switch_break___0;
4792 case_2___0:
4793#line 441
4794 __cil_tmp57 = (unsigned long )map;
4795#line 441
4796 __cil_tmp58 = __cil_tmp57 + 40;
4797#line 441
4798 tmp___12 = *((int *)__cil_tmp58);
4799#line 441
4800 if (tmp___12) {
4801
4802 } else {
4803#line 441
4804 tmp___12 = 1;
4805 }
4806#line 441
4807 if (tmp___12 == 1) {
4808#line 441
4809 res = res;
4810 } else {
4811#line 441
4812 __cil_tmp59 = (unsigned long )map;
4813#line 441
4814 __cil_tmp60 = __cil_tmp59 + 40;
4815#line 441
4816 tmp___11 = *((int *)__cil_tmp60);
4817#line 441
4818 if (tmp___11) {
4819
4820 } else {
4821#line 441
4822 tmp___11 = 1;
4823 }
4824#line 441
4825 if (tmp___11 == 3) {
4826 {
4827#line 441
4828 __cil_tmp61 = (__be16 )res;
4829#line 441
4830 tmp___9 = __fswab16(__cil_tmp61);
4831#line 441
4832 tmp___10 = (int )tmp___9;
4833 }
4834 } else {
4835#line 441
4836 __cil_tmp62 = (__le16 )res;
4837#line 441
4838 tmp___10 = (int )__cil_tmp62;
4839 }
4840#line 441
4841 res = (unsigned long )tmp___10;
4842 }
4843#line 442
4844 goto switch_break___0;
4845 case_4___0:
4846#line 444
4847 __cil_tmp63 = (unsigned long )map;
4848#line 444
4849 __cil_tmp64 = __cil_tmp63 + 40;
4850#line 444
4851 tmp___18 = *((int *)__cil_tmp64);
4852#line 444
4853 if (tmp___18) {
4854
4855 } else {
4856#line 444
4857 tmp___18 = 1;
4858 }
4859#line 444
4860 if (tmp___18 == 1) {
4861#line 444
4862 res = res;
4863 } else {
4864#line 444
4865 __cil_tmp65 = (unsigned long )map;
4866#line 444
4867 __cil_tmp66 = __cil_tmp65 + 40;
4868#line 444
4869 tmp___17 = *((int *)__cil_tmp66);
4870#line 444
4871 if (tmp___17) {
4872
4873 } else {
4874#line 444
4875 tmp___17 = 1;
4876 }
4877#line 444
4878 if (tmp___17 == 3) {
4879 {
4880#line 444
4881 __cil_tmp67 = (__be32 )res;
4882#line 444
4883 tmp___15 = __fswab32(__cil_tmp67);
4884#line 444
4885 tmp___16 = tmp___15;
4886 }
4887 } else {
4888#line 444
4889 tmp___16 = (__le32 )res;
4890 }
4891#line 444
4892 res = (unsigned long )tmp___16;
4893 }
4894#line 445
4895 goto switch_break___0;
4896 switch_default___0:
4897 {
4898#line 446
4899 while (1) {
4900 while_continue___2: ;
4901#line 446
4902 __asm__ volatile ("1:\tud2\n"
4903 ".pushsection __bug_table,\"a\"\n"
4904 "2:\t.long 1b - 2b, %c0 - 2b\n"
4905 "\t.word %c1, 0\n"
4906 "\t.org 2b+%c2\n"
4907 ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (446),
4908 "i" (12UL));
4909 {
4910#line 446
4911 while (1) {
4912 while_continue___3: ;
4913 }
4914 while_break___3: ;
4915 }
4916#line 446
4917 goto while_break___2;
4918 }
4919 while_break___2: ;
4920 }
4921 } else {
4922 switch_break___0: ;
4923 }
4924 }
4925 }
4926#line 448
4927 return (res);
4928}
4929}
4930#line 477
4931__inline static uint8_t cfi_read_query(struct map_info *map , uint32_t addr ) __attribute__((__no_instrument_function__)) ;
4932#line 477 "include/linux/mtd/cfi.h"
4933__inline static uint8_t cfi_read_query(struct map_info *map , uint32_t addr )
4934{ map_word val ;
4935 map_word tmp___7 ;
4936 __u16 tmp___10 ;
4937 int tmp___11 ;
4938 int tmp___12 ;
4939 unsigned long tmp___13 ;
4940 int tmp___14 ;
4941 __u32 tmp___17 ;
4942 __u32 tmp___18 ;
4943 int tmp___19 ;
4944 unsigned long tmp___20 ;
4945 int tmp___21 ;
4946 unsigned long __cil_tmp19 ;
4947 unsigned long __cil_tmp20 ;
4948 map_word (*__cil_tmp21)(struct map_info * , unsigned long ) ;
4949 unsigned long __cil_tmp22 ;
4950 map_word *__cil_tmp23 ;
4951 unsigned long __cil_tmp24 ;
4952 unsigned long __cil_tmp25 ;
4953 int __cil_tmp26 ;
4954 unsigned long __cil_tmp27 ;
4955 unsigned long __cil_tmp28 ;
4956 unsigned long __cil_tmp29 ;
4957 unsigned long __cil_tmp30 ;
4958 unsigned long __cil_tmp31 ;
4959 unsigned long __cil_tmp32 ;
4960 int __cil_tmp33 ;
4961 unsigned long __cil_tmp34 ;
4962 unsigned long __cil_tmp35 ;
4963 unsigned long __cil_tmp36 ;
4964 unsigned long __cil_tmp37 ;
4965 unsigned long __cil_tmp38 ;
4966 unsigned long __cil_tmp39 ;
4967 unsigned long __cil_tmp40 ;
4968 unsigned long __cil_tmp41 ;
4969 unsigned long __cil_tmp42 ;
4970 unsigned long __cil_tmp43 ;
4971 unsigned long __cil_tmp44 ;
4972 __be16 __cil_tmp45 ;
4973 unsigned long __cil_tmp46 ;
4974 unsigned long __cil_tmp47 ;
4975 unsigned long __cil_tmp48 ;
4976 unsigned long __cil_tmp49 ;
4977 __le16 __cil_tmp50 ;
4978 unsigned long __cil_tmp51 ;
4979 unsigned long __cil_tmp52 ;
4980 unsigned long __cil_tmp53 ;
4981 unsigned long __cil_tmp54 ;
4982 unsigned long __cil_tmp55 ;
4983 unsigned long __cil_tmp56 ;
4984 unsigned long __cil_tmp57 ;
4985 unsigned long __cil_tmp58 ;
4986 unsigned long __cil_tmp59 ;
4987 unsigned long __cil_tmp60 ;
4988 unsigned long __cil_tmp61 ;
4989 __be32 __cil_tmp62 ;
4990 unsigned long __cil_tmp63 ;
4991 unsigned long __cil_tmp64 ;
4992 unsigned long __cil_tmp65 ;
4993 unsigned long __cil_tmp66 ;
4994
4995 {
4996 {
4997#line 479
4998 __cil_tmp19 = (unsigned long )map;
4999#line 479
5000 __cil_tmp20 = __cil_tmp19 + 48;
5001#line 479
5002 __cil_tmp21 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp20);
5003#line 479
5004 __cil_tmp22 = (unsigned long )addr;
5005#line 479
5006 tmp___7 = (*__cil_tmp21)(map, __cil_tmp22);
5007#line 479
5008 __cil_tmp23 = & val;
5009#line 479
5010 *__cil_tmp23 = tmp___7;
5011 }
5012 {
5013#line 481
5014 __cil_tmp24 = (unsigned long )map;
5015#line 481
5016 __cil_tmp25 = __cil_tmp24 + 44;
5017#line 481
5018 __cil_tmp26 = *((int *)__cil_tmp25);
5019#line 481
5020 if (__cil_tmp26 == 1) {
5021 {
5022#line 482
5023 __cil_tmp27 = 0 * 8UL;
5024#line 482
5025 __cil_tmp28 = 0 + __cil_tmp27;
5026#line 482
5027 __cil_tmp29 = (unsigned long )(& val) + __cil_tmp28;
5028#line 482
5029 __cil_tmp30 = *((unsigned long *)__cil_tmp29);
5030#line 482
5031 return ((uint8_t )__cil_tmp30);
5032 }
5033 } else {
5034 {
5035#line 483
5036 __cil_tmp31 = (unsigned long )map;
5037#line 483
5038 __cil_tmp32 = __cil_tmp31 + 44;
5039#line 483
5040 __cil_tmp33 = *((int *)__cil_tmp32);
5041#line 483
5042 if (__cil_tmp33 == 2) {
5043#line 484
5044 __cil_tmp34 = (unsigned long )map;
5045#line 484
5046 __cil_tmp35 = __cil_tmp34 + 40;
5047#line 484
5048 tmp___14 = *((int *)__cil_tmp35);
5049#line 484
5050 if (tmp___14) {
5051
5052 } else {
5053#line 484
5054 tmp___14 = 1;
5055 }
5056#line 484
5057 if (tmp___14 == 1) {
5058#line 484
5059 __cil_tmp36 = 0 * 8UL;
5060#line 484
5061 __cil_tmp37 = 0 + __cil_tmp36;
5062#line 484
5063 __cil_tmp38 = (unsigned long )(& val) + __cil_tmp37;
5064#line 484
5065 tmp___13 = *((unsigned long *)__cil_tmp38);
5066 } else {
5067#line 484
5068 __cil_tmp39 = (unsigned long )map;
5069#line 484
5070 __cil_tmp40 = __cil_tmp39 + 40;
5071#line 484
5072 tmp___12 = *((int *)__cil_tmp40);
5073#line 484
5074 if (tmp___12) {
5075
5076 } else {
5077#line 484
5078 tmp___12 = 1;
5079 }
5080#line 484
5081 if (tmp___12 == 3) {
5082 {
5083#line 484
5084 __cil_tmp41 = 0 * 8UL;
5085#line 484
5086 __cil_tmp42 = 0 + __cil_tmp41;
5087#line 484
5088 __cil_tmp43 = (unsigned long )(& val) + __cil_tmp42;
5089#line 484
5090 __cil_tmp44 = *((unsigned long *)__cil_tmp43);
5091#line 484
5092 __cil_tmp45 = (__be16 )__cil_tmp44;
5093#line 484
5094 tmp___10 = __fswab16(__cil_tmp45);
5095#line 484
5096 tmp___11 = (int )tmp___10;
5097 }
5098 } else {
5099#line 484
5100 __cil_tmp46 = 0 * 8UL;
5101#line 484
5102 __cil_tmp47 = 0 + __cil_tmp46;
5103#line 484
5104 __cil_tmp48 = (unsigned long )(& val) + __cil_tmp47;
5105#line 484
5106 __cil_tmp49 = *((unsigned long *)__cil_tmp48);
5107#line 484
5108 __cil_tmp50 = (__le16 )__cil_tmp49;
5109#line 484
5110 tmp___11 = (int )__cil_tmp50;
5111 }
5112#line 484
5113 tmp___13 = (unsigned long )tmp___11;
5114 }
5115#line 484
5116 return ((uint8_t )tmp___13);
5117 } else {
5118#line 489
5119 __cil_tmp51 = (unsigned long )map;
5120#line 489
5121 __cil_tmp52 = __cil_tmp51 + 40;
5122#line 489
5123 tmp___21 = *((int *)__cil_tmp52);
5124#line 489
5125 if (tmp___21) {
5126
5127 } else {
5128#line 489
5129 tmp___21 = 1;
5130 }
5131#line 489
5132 if (tmp___21 == 1) {
5133#line 489
5134 __cil_tmp53 = 0 * 8UL;
5135#line 489
5136 __cil_tmp54 = 0 + __cil_tmp53;
5137#line 489
5138 __cil_tmp55 = (unsigned long )(& val) + __cil_tmp54;
5139#line 489
5140 tmp___20 = *((unsigned long *)__cil_tmp55);
5141 } else {
5142#line 489
5143 __cil_tmp56 = (unsigned long )map;
5144#line 489
5145 __cil_tmp57 = __cil_tmp56 + 40;
5146#line 489
5147 tmp___19 = *((int *)__cil_tmp57);
5148#line 489
5149 if (tmp___19) {
5150
5151 } else {
5152#line 489
5153 tmp___19 = 1;
5154 }
5155#line 489
5156 if (tmp___19 == 3) {
5157 {
5158#line 489
5159 __cil_tmp58 = 0 * 8UL;
5160#line 489
5161 __cil_tmp59 = 0 + __cil_tmp58;
5162#line 489
5163 __cil_tmp60 = (unsigned long )(& val) + __cil_tmp59;
5164#line 489
5165 __cil_tmp61 = *((unsigned long *)__cil_tmp60);
5166#line 489
5167 __cil_tmp62 = (__be32 )__cil_tmp61;
5168#line 489
5169 tmp___17 = __fswab32(__cil_tmp62);
5170#line 489
5171 tmp___18 = tmp___17;
5172 }
5173 } else {
5174#line 489
5175 __cil_tmp63 = 0 * 8UL;
5176#line 489
5177 __cil_tmp64 = 0 + __cil_tmp63;
5178#line 489
5179 __cil_tmp65 = (unsigned long )(& val) + __cil_tmp64;
5180#line 489
5181 __cil_tmp66 = *((unsigned long *)__cil_tmp65);
5182#line 489
5183 tmp___18 = (__le32 )__cil_tmp66;
5184 }
5185#line 489
5186 tmp___20 = (unsigned long )tmp___18;
5187 }
5188#line 489
5189 return ((uint8_t )tmp___20);
5190 }
5191 }
5192 }
5193 }
5194}
5195}
5196#line 509
5197__inline static void cfi_udelay(int us ) __attribute__((__no_instrument_function__)) ;
5198#line 509 "include/linux/mtd/cfi.h"
5199__inline static void cfi_udelay(int us )
5200{ int __cil_tmp2 ;
5201 int __cil_tmp3 ;
5202 unsigned int __cil_tmp4 ;
5203 unsigned long __cil_tmp5 ;
5204
5205 {
5206#line 511
5207 if (us >= 1000) {
5208 {
5209#line 512
5210 __cil_tmp2 = us + 999;
5211#line 512
5212 __cil_tmp3 = __cil_tmp2 / 1000;
5213#line 512
5214 __cil_tmp4 = (unsigned int )__cil_tmp3;
5215#line 512
5216 msleep(__cil_tmp4);
5217 }
5218 } else {
5219 {
5220#line 514
5221 __cil_tmp5 = (unsigned long )us;
5222#line 514
5223 __udelay(__cil_tmp5);
5224#line 515
5225 __might_sleep("include/linux/mtd/cfi.h", 515, 0);
5226#line 515
5227 _cond_resched();
5228 }
5229 }
5230#line 517
5231 return;
5232}
5233}
5234#line 526
5235extern struct cfi_extquery *cfi_read_pri(struct map_info *map , uint16_t adr , uint16_t size ,
5236 char *name ) ;
5237#line 555
5238extern void cfi_fixup(struct mtd_info *mtd , struct cfi_fixup *fixups ) ;
5239#line 560
5240extern int cfi_varsize_frob(struct mtd_info *mtd , int (*frob)(struct map_info *map ,
5241 struct flchip *chip ,
5242 unsigned long adr ,
5243 int len , void *thunk ) ,
5244 loff_t ofs , size_t len , void *thunk ) ;
5245#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
5246static int cfi_intelext_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
5247 u_char *buf ) ;
5248#line 59
5249static int cfi_intelext_write_words(struct mtd_info *mtd , loff_t to , size_t len ,
5250 size_t *retlen , u_char *buf ) ;
5251#line 60
5252static int cfi_intelext_write_buffers(struct mtd_info *mtd , loff_t to , size_t len ,
5253 size_t *retlen , u_char *buf ) ;
5254#line 61
5255static int cfi_intelext_writev(struct mtd_info *mtd , struct kvec *vecs ,
5256 unsigned long count , loff_t to , size_t *retlen ) ;
5257#line 62
5258static int cfi_intelext_erase_varsize(struct mtd_info *mtd , struct erase_info *instr ) ;
5259#line 63
5260static void cfi_intelext_sync(struct mtd_info *mtd ) ;
5261#line 64
5262static int cfi_intelext_lock(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
5263#line 65
5264static int cfi_intelext_unlock(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
5265#line 66
5266static int cfi_intelext_is_locked(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
5267#line 69
5268static int cfi_intelext_read_fact_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
5269 size_t *retlen , u_char *buf ) ;
5270#line 70
5271static int cfi_intelext_read_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
5272 size_t *retlen , u_char *buf ) ;
5273#line 71
5274static int cfi_intelext_write_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
5275 size_t *retlen , u_char *buf ) ;
5276#line 72
5277static int cfi_intelext_lock_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ) ;
5278#line 73
5279static int cfi_intelext_get_fact_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
5280 size_t len ) ;
5281#line 75
5282static int cfi_intelext_get_user_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
5283 size_t len ) ;
5284#line 78
5285static int cfi_intelext_suspend(struct mtd_info *mtd ) ;
5286#line 79
5287static void cfi_intelext_resume(struct mtd_info *mtd ) ;
5288#line 80
5289static int cfi_intelext_reboot(struct notifier_block *nb , unsigned long val , void *v ) ;
5290#line 82
5291static void cfi_intelext_destroy(struct mtd_info *mtd ) ;
5292#line 84
5293struct mtd_info *cfi_cmdset_0001(struct map_info *map , int primary ) ;
5294#line 86
5295static struct mtd_info *cfi_intelext_setup(struct mtd_info *mtd ) ;
5296#line 87
5297static int cfi_intelext_partition_fixup(struct mtd_info *mtd , struct cfi_private **pcfi ) ;
5298#line 89
5299static int cfi_intelext_point(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
5300 void **virt , resource_size_t *phys ) ;
5301#line 91
5302static int cfi_intelext_unpoint(struct mtd_info *mtd , loff_t from , size_t len ) ;
5303#line 93
5304static int chip_ready(struct map_info *map , struct flchip *chip , unsigned long adr ,
5305 int mode ) ;
5306#line 94
5307static int get_chip(struct map_info *map , struct flchip *chip , unsigned long adr ,
5308 int mode ) ;
5309#line 95
5310static void put_chip(struct map_info *map , struct flchip *chip , unsigned long adr ) ;
5311#line 37 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
5312static int fwh_xxlock_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
5313 int len , void *thunk ) ;
5314#line 37 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
5315static struct _ddebug __attribute__((__aligned__(8))) descriptor __attribute__((__used__,
5316__section__("__verbose"))) = {"cfi_cmdset_0001", "fwh_xxlock_oneblock", "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h",
5317 "MTD %s(): chip->start: %lx wanted >= 0x400000\n", 38U, 0U};
5318#line 28 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
5319static int fwh_xxlock_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
5320 int len , void *thunk )
5321{ struct cfi_private *cfi ;
5322 struct fwh_xxlock_thunk *xxlt ;
5323 int ret ;
5324 long tmp___7 ;
5325 map_word tmp___8 ;
5326 unsigned long __cil_tmp11 ;
5327 unsigned long __cil_tmp12 ;
5328 void *__cil_tmp13 ;
5329 unsigned long __cil_tmp14 ;
5330 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp15 ;
5331 unsigned int __cil_tmp16 ;
5332 unsigned int __cil_tmp17 ;
5333 int __cil_tmp18 ;
5334 int __cil_tmp19 ;
5335 long __cil_tmp20 ;
5336 unsigned long __cil_tmp21 ;
5337 unsigned long __cil_tmp22 ;
5338 unsigned long __cil_tmp23 ;
5339 unsigned long __cil_tmp24 ;
5340 unsigned long __cil_tmp25 ;
5341 unsigned long __cil_tmp26 ;
5342 struct mutex *__cil_tmp27 ;
5343 unsigned long __cil_tmp28 ;
5344 unsigned long __cil_tmp29 ;
5345 struct mutex *__cil_tmp30 ;
5346 unsigned long __cil_tmp31 ;
5347 unsigned long __cil_tmp32 ;
5348 unsigned long __cil_tmp33 ;
5349 unsigned long __cil_tmp34 ;
5350 unsigned long __cil_tmp35 ;
5351 unsigned long __cil_tmp36 ;
5352 unsigned long __cil_tmp37 ;
5353 unsigned long __cil_tmp38 ;
5354 enum fwh_lock_state __cil_tmp39 ;
5355 u_long __cil_tmp40 ;
5356 unsigned long __cil_tmp41 ;
5357 unsigned long __cil_tmp42 ;
5358 void (*__cil_tmp43)(struct map_info * , map_word , unsigned long ) ;
5359 map_word __cil_tmp44 ;
5360 unsigned long __cil_tmp45 ;
5361 unsigned long __cil_tmp46 ;
5362 unsigned long __cil_tmp47 ;
5363 unsigned long __cil_tmp48 ;
5364 unsigned long __cil_tmp49 ;
5365 unsigned long __cil_tmp50 ;
5366 struct mutex *__cil_tmp51 ;
5367
5368 {
5369#line 31
5370 __cil_tmp11 = (unsigned long )map;
5371#line 31
5372 __cil_tmp12 = __cil_tmp11 + 120;
5373#line 31
5374 __cil_tmp13 = *((void **)__cil_tmp12);
5375#line 31
5376 cfi = (struct cfi_private *)__cil_tmp13;
5377#line 32
5378 xxlt = (struct fwh_xxlock_thunk *)thunk;
5379 {
5380#line 36
5381 __cil_tmp14 = *((unsigned long *)chip);
5382#line 36
5383 if (__cil_tmp14 < 4194304UL) {
5384 {
5385#line 37
5386 while (1) {
5387 while_continue: ;
5388 {
5389#line 37
5390 __cil_tmp15 = & descriptor;
5391#line 37
5392 __cil_tmp16 = __cil_tmp15->flags;
5393#line 37
5394 __cil_tmp17 = __cil_tmp16 & 1U;
5395#line 37
5396 __cil_tmp18 = ! __cil_tmp17;
5397#line 37
5398 __cil_tmp19 = ! __cil_tmp18;
5399#line 37
5400 __cil_tmp20 = (long )__cil_tmp19;
5401#line 37
5402 tmp___7 = __builtin_expect(__cil_tmp20, 0L);
5403 }
5404#line 37
5405 if (tmp___7) {
5406 {
5407#line 37
5408 __cil_tmp21 = *((unsigned long *)chip);
5409#line 37
5410 __dynamic_pr_debug(& descriptor, "MTD %s(): chip->start: %lx wanted >= 0x400000\n",
5411 "fwh_xxlock_oneblock", __cil_tmp21);
5412 }
5413 } else {
5414
5415 }
5416#line 37
5417 goto while_break;
5418 }
5419 while_break: ;
5420 }
5421#line 39
5422 return (-5);
5423 } else {
5424
5425 }
5426 }
5427 {
5428#line 52
5429 __cil_tmp22 = adr & 0xffffffffffff0000UL;
5430#line 52
5431 adr = __cil_tmp22 | 2UL;
5432#line 53
5433 __cil_tmp23 = *((unsigned long *)chip);
5434#line 53
5435 __cil_tmp24 = __cil_tmp23 - 4194304UL;
5436#line 53
5437 adr = adr + __cil_tmp24;
5438#line 60
5439 __cil_tmp25 = (unsigned long )chip;
5440#line 60
5441 __cil_tmp26 = __cil_tmp25 + 32;
5442#line 60
5443 __cil_tmp27 = (struct mutex *)__cil_tmp26;
5444#line 60
5445 mutex_lock(__cil_tmp27);
5446#line 61
5447 ret = get_chip(map, chip, adr, 15);
5448 }
5449#line 62
5450 if (ret) {
5451 {
5452#line 63
5453 __cil_tmp28 = (unsigned long )chip;
5454#line 63
5455 __cil_tmp29 = __cil_tmp28 + 32;
5456#line 63
5457 __cil_tmp30 = (struct mutex *)__cil_tmp29;
5458#line 63
5459 mutex_unlock(__cil_tmp30);
5460 }
5461#line 64
5462 return (ret);
5463 } else {
5464
5465 }
5466 {
5467#line 67
5468 __cil_tmp31 = (unsigned long )chip;
5469#line 67
5470 __cil_tmp32 = __cil_tmp31 + 16;
5471#line 67
5472 __cil_tmp33 = (unsigned long )chip;
5473#line 67
5474 __cil_tmp34 = __cil_tmp33 + 12;
5475#line 67
5476 *((flstate_t *)__cil_tmp32) = *((flstate_t *)__cil_tmp34);
5477#line 68
5478 __cil_tmp35 = (unsigned long )chip;
5479#line 68
5480 __cil_tmp36 = __cil_tmp35 + 12;
5481#line 68
5482 __cil_tmp37 = (unsigned long )xxlt;
5483#line 68
5484 __cil_tmp38 = __cil_tmp37 + 4;
5485#line 68
5486 *((flstate_t *)__cil_tmp36) = *((flstate_t *)__cil_tmp38);
5487#line 69
5488 __cil_tmp39 = *((enum fwh_lock_state *)xxlt);
5489#line 69
5490 __cil_tmp40 = (u_long )__cil_tmp39;
5491#line 69
5492 tmp___8 = cfi_build_cmd(__cil_tmp40, map, cfi);
5493#line 69
5494 __cil_tmp41 = (unsigned long )map;
5495#line 69
5496 __cil_tmp42 = __cil_tmp41 + 64;
5497#line 69
5498 __cil_tmp43 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp42);
5499#line 69
5500 __cil_tmp44 = (map_word )tmp___8;
5501#line 69
5502 (*__cil_tmp43)(map, __cil_tmp44, adr);
5503#line 72
5504 __cil_tmp45 = (unsigned long )chip;
5505#line 72
5506 __cil_tmp46 = __cil_tmp45 + 12;
5507#line 72
5508 __cil_tmp47 = (unsigned long )chip;
5509#line 72
5510 __cil_tmp48 = __cil_tmp47 + 16;
5511#line 72
5512 *((flstate_t *)__cil_tmp46) = *((flstate_t *)__cil_tmp48);
5513#line 73
5514 put_chip(map, chip, adr);
5515#line 74
5516 __cil_tmp49 = (unsigned long )chip;
5517#line 74
5518 __cil_tmp50 = __cil_tmp49 + 32;
5519#line 74
5520 __cil_tmp51 = (struct mutex *)__cil_tmp50;
5521#line 74
5522 mutex_unlock(__cil_tmp51);
5523 }
5524#line 75
5525 return (0);
5526}
5527}
5528#line 79 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
5529static int fwh_lock_varsize(struct mtd_info *mtd , loff_t ofs , uint64_t len )
5530{ int ret ;
5531 struct fwh_xxlock_thunk __r_expr_0 ;
5532 struct fwh_xxlock_thunk *__cil_tmp6 ;
5533 unsigned long __cil_tmp7 ;
5534 size_t __cil_tmp8 ;
5535 void *__cil_tmp9 ;
5536
5537 {
5538 {
5539#line 83
5540 __cil_tmp6 = & __r_expr_0;
5541#line 83
5542 *((enum fwh_lock_state *)__cil_tmp6) = (enum fwh_lock_state )1;
5543#line 83
5544 __cil_tmp7 = (unsigned long )(& __r_expr_0) + 4;
5545#line 83
5546 *((flstate_t *)__cil_tmp7) = (flstate_t )15;
5547#line 83
5548 __cil_tmp8 = (size_t )len;
5549#line 83
5550 __cil_tmp9 = (void *)(& __r_expr_0);
5551#line 83
5552 ret = cfi_varsize_frob(mtd, & fwh_xxlock_oneblock, ofs, __cil_tmp8, __cil_tmp9);
5553 }
5554#line 86
5555 return (ret);
5556}
5557}
5558#line 90 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
5559static int fwh_unlock_varsize(struct mtd_info *mtd , loff_t ofs , uint64_t len )
5560{ int ret ;
5561 struct fwh_xxlock_thunk __r_expr_0 ;
5562 struct fwh_xxlock_thunk *__cil_tmp6 ;
5563 unsigned long __cil_tmp7 ;
5564 size_t __cil_tmp8 ;
5565 void *__cil_tmp9 ;
5566
5567 {
5568 {
5569#line 94
5570 __cil_tmp6 = & __r_expr_0;
5571#line 94
5572 *((enum fwh_lock_state *)__cil_tmp6) = (enum fwh_lock_state )0;
5573#line 94
5574 __cil_tmp7 = (unsigned long )(& __r_expr_0) + 4;
5575#line 94
5576 *((flstate_t *)__cil_tmp7) = (flstate_t )16;
5577#line 94
5578 __cil_tmp8 = (size_t )len;
5579#line 94
5580 __cil_tmp9 = (void *)(& __r_expr_0);
5581#line 94
5582 ret = cfi_varsize_frob(mtd, & fwh_xxlock_oneblock, ofs, __cil_tmp8, __cil_tmp9);
5583 }
5584#line 97
5585 return (ret);
5586}
5587}
5588#line 100 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
5589static void fixup_use_fwh_lock(struct mtd_info *mtd )
5590{ unsigned long __cil_tmp2 ;
5591 unsigned long __cil_tmp3 ;
5592 unsigned long __cil_tmp4 ;
5593 unsigned long __cil_tmp5 ;
5594
5595 {
5596 {
5597#line 102
5598 printk("<5>using fwh lock/unlock method\n");
5599#line 104
5600 __cil_tmp2 = (unsigned long )mtd;
5601#line 104
5602 __cil_tmp3 = __cil_tmp2 + 232;
5603#line 104
5604 *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp3) = & fwh_lock_varsize;
5605#line 105
5606 __cil_tmp4 = (unsigned long )mtd;
5607#line 105
5608 __cil_tmp5 = __cil_tmp4 + 240;
5609#line 105
5610 *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp5) = & fwh_unlock_varsize;
5611 }
5612#line 106
5613 return;
5614}
5615}
5616#line 104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
5617static struct mtd_chip_driver cfi_intelext_chipdrv = {(struct mtd_info *(*)(struct map_info *map ))((void *)0), & cfi_intelext_destroy,
5618 & __this_module, (char *)"cfi_cmdset_0001", {(struct list_head *)0, (struct list_head *)0}};
5619#line 166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
5620static void fixup_convert_atmel_pri(struct mtd_info *mtd )
5621{ struct map_info *map ;
5622 struct cfi_private *cfi ;
5623 struct cfi_pri_intelext *extp ;
5624 struct cfi_pri_atmel atmel_pri ;
5625 uint32_t features ;
5626 size_t __len ;
5627 void *__ret ;
5628 unsigned long __cil_tmp9 ;
5629 unsigned long __cil_tmp10 ;
5630 void *__cil_tmp11 ;
5631 unsigned long __cil_tmp12 ;
5632 unsigned long __cil_tmp13 ;
5633 void *__cil_tmp14 ;
5634 unsigned long __cil_tmp15 ;
5635 unsigned long __cil_tmp16 ;
5636 void *__cil_tmp17 ;
5637 unsigned long __cil_tmp18 ;
5638 unsigned long __cil_tmp19 ;
5639 unsigned long __cil_tmp20 ;
5640 unsigned long __cil_tmp21 ;
5641 unsigned long __cil_tmp22 ;
5642 unsigned long __cil_tmp23 ;
5643 unsigned long __cil_tmp24 ;
5644 unsigned long __cil_tmp25 ;
5645 unsigned long __cil_tmp26 ;
5646 unsigned long __cil_tmp27 ;
5647 unsigned long __cil_tmp28 ;
5648 unsigned long __cil_tmp29 ;
5649 void *__cil_tmp30 ;
5650 void *__cil_tmp31 ;
5651 void *__cil_tmp32 ;
5652 void *__cil_tmp33 ;
5653 char *__cil_tmp34 ;
5654 char *__cil_tmp35 ;
5655 void *__cil_tmp36 ;
5656 unsigned long __cil_tmp37 ;
5657 unsigned long __cil_tmp38 ;
5658 uint8_t __cil_tmp39 ;
5659 int __cil_tmp40 ;
5660 unsigned long __cil_tmp41 ;
5661 uint8_t __cil_tmp42 ;
5662 int __cil_tmp43 ;
5663 unsigned long __cil_tmp44 ;
5664 uint8_t __cil_tmp45 ;
5665 int __cil_tmp46 ;
5666 int __cil_tmp47 ;
5667 unsigned int __cil_tmp48 ;
5668 unsigned long __cil_tmp49 ;
5669 uint8_t __cil_tmp50 ;
5670 int __cil_tmp51 ;
5671 int __cil_tmp52 ;
5672 unsigned int __cil_tmp53 ;
5673 unsigned long __cil_tmp54 ;
5674 uint8_t __cil_tmp55 ;
5675 int __cil_tmp56 ;
5676 int __cil_tmp57 ;
5677 unsigned int __cil_tmp58 ;
5678 unsigned long __cil_tmp59 ;
5679 uint8_t __cil_tmp60 ;
5680 int __cil_tmp61 ;
5681 int __cil_tmp62 ;
5682 unsigned int __cil_tmp63 ;
5683 unsigned long __cil_tmp64 ;
5684 uint8_t __cil_tmp65 ;
5685 int __cil_tmp66 ;
5686 int __cil_tmp67 ;
5687 unsigned int __cil_tmp68 ;
5688 unsigned long __cil_tmp69 ;
5689 uint8_t __cil_tmp70 ;
5690 int __cil_tmp71 ;
5691 int __cil_tmp72 ;
5692 unsigned int __cil_tmp73 ;
5693 unsigned long __cil_tmp74 ;
5694 unsigned long __cil_tmp75 ;
5695 unsigned long __cil_tmp76 ;
5696 unsigned long __cil_tmp77 ;
5697 struct cfi_ident *__cil_tmp78 ;
5698 unsigned long __cil_tmp79 ;
5699 unsigned long __cil_tmp80 ;
5700 unsigned long __cil_tmp81 ;
5701 unsigned long __cil_tmp82 ;
5702 struct cfi_ident *__cil_tmp83 ;
5703 unsigned long __cil_tmp84 ;
5704 unsigned long __cil_tmp85 ;
5705
5706 {
5707#line 168
5708 __cil_tmp9 = (unsigned long )mtd;
5709#line 168
5710 __cil_tmp10 = __cil_tmp9 + 360;
5711#line 168
5712 __cil_tmp11 = *((void **)__cil_tmp10);
5713#line 168
5714 map = (struct map_info *)__cil_tmp11;
5715#line 169
5716 __cil_tmp12 = (unsigned long )map;
5717#line 169
5718 __cil_tmp13 = __cil_tmp12 + 120;
5719#line 169
5720 __cil_tmp14 = *((void **)__cil_tmp13);
5721#line 169
5722 cfi = (struct cfi_private *)__cil_tmp14;
5723#line 170
5724 __cil_tmp15 = (unsigned long )cfi;
5725#line 170
5726 __cil_tmp16 = __cil_tmp15 + 8;
5727#line 170
5728 __cil_tmp17 = *((void **)__cil_tmp16);
5729#line 170
5730 extp = (struct cfi_pri_intelext *)__cil_tmp17;
5731#line 172
5732 features = (uint32_t )0;
5733#line 175
5734 __cil_tmp18 = (unsigned long )extp;
5735#line 175
5736 __cil_tmp19 = __cil_tmp18 + 5;
5737#line 175
5738 __cil_tmp20 = (unsigned long )extp;
5739#line 175
5740 __cil_tmp21 = __cil_tmp20 + 5;
5741#line 175
5742 *((uint32_t *)__cil_tmp19) = *((uint32_t *)__cil_tmp21);
5743#line 176
5744 __cil_tmp22 = (unsigned long )extp;
5745#line 176
5746 __cil_tmp23 = __cil_tmp22 + 10;
5747#line 176
5748 __cil_tmp24 = (unsigned long )extp;
5749#line 176
5750 __cil_tmp25 = __cil_tmp24 + 10;
5751#line 176
5752 *((uint16_t *)__cil_tmp23) = *((uint16_t *)__cil_tmp25);
5753#line 177
5754 __cil_tmp26 = (unsigned long )extp;
5755#line 177
5756 __cil_tmp27 = __cil_tmp26 + 15;
5757#line 177
5758 __cil_tmp28 = (unsigned long )extp;
5759#line 177
5760 __cil_tmp29 = __cil_tmp28 + 15;
5761#line 177
5762 *((uint16_t *)__cil_tmp27) = *((uint16_t *)__cil_tmp29);
5763#line 179
5764 __len = 9UL;
5765#line 179
5766 if (__len >= 64UL) {
5767 {
5768#line 179
5769 __cil_tmp30 = (void *)(& atmel_pri);
5770#line 179
5771 __cil_tmp31 = (void *)extp;
5772#line 179
5773 __ret = __memcpy(__cil_tmp30, __cil_tmp31, __len);
5774 }
5775 } else {
5776 {
5777#line 179
5778 __cil_tmp32 = (void *)(& atmel_pri);
5779#line 179
5780 __cil_tmp33 = (void *)extp;
5781#line 179
5782 __ret = __builtin_memcpy(__cil_tmp32, __cil_tmp33, __len);
5783 }
5784 }
5785 {
5786#line 180
5787 __cil_tmp34 = (char *)extp;
5788#line 180
5789 __cil_tmp35 = __cil_tmp34 + 5;
5790#line 180
5791 __cil_tmp36 = (void *)__cil_tmp35;
5792#line 180
5793 __cil_tmp37 = 19UL - 5UL;
5794#line 180
5795 memset(__cil_tmp36, 0, __cil_tmp37);
5796#line 182
5797 __cil_tmp38 = (unsigned long )(& atmel_pri) + 5;
5798#line 182
5799 __cil_tmp39 = *((uint8_t *)__cil_tmp38);
5800#line 182
5801 __cil_tmp40 = (int )__cil_tmp39;
5802#line 182
5803 printk("<3>atmel Features: %02x\n", __cil_tmp40);
5804 }
5805 {
5806#line 184
5807 __cil_tmp41 = (unsigned long )(& atmel_pri) + 5;
5808#line 184
5809 __cil_tmp42 = *((uint8_t *)__cil_tmp41);
5810#line 184
5811 __cil_tmp43 = (int )__cil_tmp42;
5812#line 184
5813 if (__cil_tmp43 & 1) {
5814#line 185
5815 features = features | 1U;
5816 } else {
5817
5818 }
5819 }
5820 {
5821#line 186
5822 __cil_tmp44 = (unsigned long )(& atmel_pri) + 5;
5823#line 186
5824 __cil_tmp45 = *((uint8_t *)__cil_tmp44);
5825#line 186
5826 __cil_tmp46 = (int )__cil_tmp45;
5827#line 186
5828 if (__cil_tmp46 & 2) {
5829#line 187
5830 __cil_tmp47 = 1 << 1;
5831#line 187
5832 __cil_tmp48 = (unsigned int )__cil_tmp47;
5833#line 187
5834 features = features | __cil_tmp48;
5835 } else {
5836
5837 }
5838 }
5839 {
5840#line 188
5841 __cil_tmp49 = (unsigned long )(& atmel_pri) + 5;
5842#line 188
5843 __cil_tmp50 = *((uint8_t *)__cil_tmp49);
5844#line 188
5845 __cil_tmp51 = (int )__cil_tmp50;
5846#line 188
5847 if (__cil_tmp51 & 4) {
5848#line 189
5849 __cil_tmp52 = 1 << 2;
5850#line 189
5851 __cil_tmp53 = (unsigned int )__cil_tmp52;
5852#line 189
5853 features = features | __cil_tmp53;
5854 } else {
5855
5856 }
5857 }
5858 {
5859#line 190
5860 __cil_tmp54 = (unsigned long )(& atmel_pri) + 5;
5861#line 190
5862 __cil_tmp55 = *((uint8_t *)__cil_tmp54);
5863#line 190
5864 __cil_tmp56 = (int )__cil_tmp55;
5865#line 190
5866 if (__cil_tmp56 & 8) {
5867#line 191
5868 __cil_tmp57 = 1 << 9;
5869#line 191
5870 __cil_tmp58 = (unsigned int )__cil_tmp57;
5871#line 191
5872 features = features | __cil_tmp58;
5873 } else {
5874
5875 }
5876 }
5877 {
5878#line 192
5879 __cil_tmp59 = (unsigned long )(& atmel_pri) + 5;
5880#line 192
5881 __cil_tmp60 = *((uint8_t *)__cil_tmp59);
5882#line 192
5883 __cil_tmp61 = (int )__cil_tmp60;
5884#line 192
5885 if (__cil_tmp61 & 32) {
5886#line 193
5887 __cil_tmp62 = 1 << 7;
5888#line 193
5889 __cil_tmp63 = (unsigned int )__cil_tmp62;
5890#line 193
5891 features = features | __cil_tmp63;
5892 } else {
5893
5894 }
5895 }
5896 {
5897#line 194
5898 __cil_tmp64 = (unsigned long )(& atmel_pri) + 5;
5899#line 194
5900 __cil_tmp65 = *((uint8_t *)__cil_tmp64);
5901#line 194
5902 __cil_tmp66 = (int )__cil_tmp65;
5903#line 194
5904 if (__cil_tmp66 & 64) {
5905#line 195
5906 __cil_tmp67 = 1 << 4;
5907#line 195
5908 __cil_tmp68 = (unsigned int )__cil_tmp67;
5909#line 195
5910 features = features | __cil_tmp68;
5911 } else {
5912
5913 }
5914 }
5915 {
5916#line 196
5917 __cil_tmp69 = (unsigned long )(& atmel_pri) + 5;
5918#line 196
5919 __cil_tmp70 = *((uint8_t *)__cil_tmp69);
5920#line 196
5921 __cil_tmp71 = (int )__cil_tmp70;
5922#line 196
5923 if (__cil_tmp71 & 128) {
5924#line 197
5925 __cil_tmp72 = 1 << 6;
5926#line 197
5927 __cil_tmp73 = (unsigned int )__cil_tmp72;
5928#line 197
5929 features = features | __cil_tmp73;
5930 } else {
5931
5932 }
5933 }
5934#line 199
5935 __cil_tmp74 = (unsigned long )extp;
5936#line 199
5937 __cil_tmp75 = __cil_tmp74 + 5;
5938#line 199
5939 *((uint32_t *)__cil_tmp75) = features;
5940#line 202
5941 __cil_tmp76 = (unsigned long )cfi;
5942#line 202
5943 __cil_tmp77 = __cil_tmp76 + 48;
5944#line 202
5945 __cil_tmp78 = *((struct cfi_ident **)__cil_tmp77);
5946#line 202
5947 __cil_tmp79 = (unsigned long )__cil_tmp78;
5948#line 202
5949 __cil_tmp80 = __cil_tmp79 + 16;
5950#line 202
5951 *((uint8_t *)__cil_tmp80) = (uint8_t )0;
5952#line 203
5953 __cil_tmp81 = (unsigned long )cfi;
5954#line 203
5955 __cil_tmp82 = __cil_tmp81 + 48;
5956#line 203
5957 __cil_tmp83 = *((struct cfi_ident **)__cil_tmp82);
5958#line 203
5959 __cil_tmp84 = (unsigned long )__cil_tmp83;
5960#line 203
5961 __cil_tmp85 = __cil_tmp84 + 20;
5962#line 203
5963 *((uint8_t *)__cil_tmp85) = (uint8_t )0;
5964#line 204
5965 return;
5966}
5967}
5968#line 206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
5969static void fixup_at49bv640dx_lock(struct mtd_info *mtd )
5970{ struct map_info *map ;
5971 struct cfi_private *cfi ;
5972 struct cfi_pri_intelext *cfip ;
5973 unsigned long __cil_tmp5 ;
5974 unsigned long __cil_tmp6 ;
5975 void *__cil_tmp7 ;
5976 unsigned long __cil_tmp8 ;
5977 unsigned long __cil_tmp9 ;
5978 void *__cil_tmp10 ;
5979 unsigned long __cil_tmp11 ;
5980 unsigned long __cil_tmp12 ;
5981 void *__cil_tmp13 ;
5982 unsigned long __cil_tmp14 ;
5983 unsigned long __cil_tmp15 ;
5984 int __cil_tmp16 ;
5985 unsigned int __cil_tmp17 ;
5986 unsigned long __cil_tmp18 ;
5987 unsigned long __cil_tmp19 ;
5988 uint32_t __cil_tmp20 ;
5989 unsigned long __cil_tmp21 ;
5990 unsigned long __cil_tmp22 ;
5991 unsigned long __cil_tmp23 ;
5992 unsigned long __cil_tmp24 ;
5993 uint32_t __cil_tmp25 ;
5994
5995 {
5996#line 208
5997 __cil_tmp5 = (unsigned long )mtd;
5998#line 208
5999 __cil_tmp6 = __cil_tmp5 + 360;
6000#line 208
6001 __cil_tmp7 = *((void **)__cil_tmp6);
6002#line 208
6003 map = (struct map_info *)__cil_tmp7;
6004#line 209
6005 __cil_tmp8 = (unsigned long )map;
6006#line 209
6007 __cil_tmp9 = __cil_tmp8 + 120;
6008#line 209
6009 __cil_tmp10 = *((void **)__cil_tmp9);
6010#line 209
6011 cfi = (struct cfi_private *)__cil_tmp10;
6012#line 210
6013 __cil_tmp11 = (unsigned long )cfi;
6014#line 210
6015 __cil_tmp12 = __cil_tmp11 + 8;
6016#line 210
6017 __cil_tmp13 = *((void **)__cil_tmp12);
6018#line 210
6019 cfip = (struct cfi_pri_intelext *)__cil_tmp13;
6020#line 212
6021 __cil_tmp14 = (unsigned long )cfip;
6022#line 212
6023 __cil_tmp15 = __cil_tmp14 + 5;
6024#line 212
6025 __cil_tmp16 = 1 << 5;
6026#line 212
6027 __cil_tmp17 = (unsigned int )__cil_tmp16;
6028#line 212
6029 __cil_tmp18 = (unsigned long )cfip;
6030#line 212
6031 __cil_tmp19 = __cil_tmp18 + 5;
6032#line 212
6033 __cil_tmp20 = *((uint32_t *)__cil_tmp19);
6034#line 212
6035 *((uint32_t *)__cil_tmp15) = __cil_tmp20 | __cil_tmp17;
6036#line 213
6037 __cil_tmp21 = (unsigned long )mtd;
6038#line 213
6039 __cil_tmp22 = __cil_tmp21 + 4;
6040#line 213
6041 __cil_tmp23 = (unsigned long )mtd;
6042#line 213
6043 __cil_tmp24 = __cil_tmp23 + 4;
6044#line 213
6045 __cil_tmp25 = *((uint32_t *)__cil_tmp24);
6046#line 213
6047 *((uint32_t *)__cil_tmp22) = __cil_tmp25 | 8192U;
6048#line 214
6049 return;
6050}
6051}
6052#line 244 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6053static void fixup_st_m28w320ct(struct mtd_info *mtd )
6054{ struct map_info *map ;
6055 struct cfi_private *cfi ;
6056 unsigned long __cil_tmp4 ;
6057 unsigned long __cil_tmp5 ;
6058 void *__cil_tmp6 ;
6059 unsigned long __cil_tmp7 ;
6060 unsigned long __cil_tmp8 ;
6061 void *__cil_tmp9 ;
6062 unsigned long __cil_tmp10 ;
6063 unsigned long __cil_tmp11 ;
6064 struct cfi_ident *__cil_tmp12 ;
6065 unsigned long __cil_tmp13 ;
6066 unsigned long __cil_tmp14 ;
6067 unsigned long __cil_tmp15 ;
6068 unsigned long __cil_tmp16 ;
6069 struct cfi_ident *__cil_tmp17 ;
6070 unsigned long __cil_tmp18 ;
6071 unsigned long __cil_tmp19 ;
6072
6073 {
6074#line 246
6075 __cil_tmp4 = (unsigned long )mtd;
6076#line 246
6077 __cil_tmp5 = __cil_tmp4 + 360;
6078#line 246
6079 __cil_tmp6 = *((void **)__cil_tmp5);
6080#line 246
6081 map = (struct map_info *)__cil_tmp6;
6082#line 247
6083 __cil_tmp7 = (unsigned long )map;
6084#line 247
6085 __cil_tmp8 = __cil_tmp7 + 120;
6086#line 247
6087 __cil_tmp9 = *((void **)__cil_tmp8);
6088#line 247
6089 cfi = (struct cfi_private *)__cil_tmp9;
6090#line 249
6091 __cil_tmp10 = (unsigned long )cfi;
6092#line 249
6093 __cil_tmp11 = __cil_tmp10 + 48;
6094#line 249
6095 __cil_tmp12 = *((struct cfi_ident **)__cil_tmp11);
6096#line 249
6097 __cil_tmp13 = (unsigned long )__cil_tmp12;
6098#line 249
6099 __cil_tmp14 = __cil_tmp13 + 16;
6100#line 249
6101 *((uint8_t *)__cil_tmp14) = (uint8_t )0;
6102#line 250
6103 __cil_tmp15 = (unsigned long )cfi;
6104#line 250
6105 __cil_tmp16 = __cil_tmp15 + 48;
6106#line 250
6107 __cil_tmp17 = *((struct cfi_ident **)__cil_tmp16);
6108#line 250
6109 __cil_tmp18 = (unsigned long )__cil_tmp17;
6110#line 250
6111 __cil_tmp19 = __cil_tmp18 + 20;
6112#line 250
6113 *((uint8_t *)__cil_tmp19) = (uint8_t )0;
6114#line 251
6115 return;
6116}
6117}
6118#line 253 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6119static void fixup_st_m28w320cb(struct mtd_info *mtd )
6120{ struct map_info *map ;
6121 struct cfi_private *cfi ;
6122 unsigned long __cil_tmp4 ;
6123 unsigned long __cil_tmp5 ;
6124 void *__cil_tmp6 ;
6125 unsigned long __cil_tmp7 ;
6126 unsigned long __cil_tmp8 ;
6127 void *__cil_tmp9 ;
6128 unsigned long __cil_tmp10 ;
6129 unsigned long __cil_tmp11 ;
6130 unsigned long __cil_tmp12 ;
6131 unsigned long __cil_tmp13 ;
6132 struct cfi_ident *__cil_tmp14 ;
6133 unsigned long __cil_tmp15 ;
6134 unsigned long __cil_tmp16 ;
6135 unsigned long __cil_tmp17 ;
6136 unsigned long __cil_tmp18 ;
6137 unsigned long __cil_tmp19 ;
6138 unsigned long __cil_tmp20 ;
6139 struct cfi_ident *__cil_tmp21 ;
6140 unsigned long __cil_tmp22 ;
6141 unsigned long __cil_tmp23 ;
6142 uint32_t __cil_tmp24 ;
6143 unsigned int __cil_tmp25 ;
6144
6145 {
6146#line 255
6147 __cil_tmp4 = (unsigned long )mtd;
6148#line 255
6149 __cil_tmp5 = __cil_tmp4 + 360;
6150#line 255
6151 __cil_tmp6 = *((void **)__cil_tmp5);
6152#line 255
6153 map = (struct map_info *)__cil_tmp6;
6154#line 256
6155 __cil_tmp7 = (unsigned long )map;
6156#line 256
6157 __cil_tmp8 = __cil_tmp7 + 120;
6158#line 256
6159 __cil_tmp9 = *((void **)__cil_tmp8);
6160#line 256
6161 cfi = (struct cfi_private *)__cil_tmp9;
6162#line 259
6163 __cil_tmp10 = 1 * 4UL;
6164#line 259
6165 __cil_tmp11 = 29 + __cil_tmp10;
6166#line 259
6167 __cil_tmp12 = (unsigned long )cfi;
6168#line 259
6169 __cil_tmp13 = __cil_tmp12 + 48;
6170#line 259
6171 __cil_tmp14 = *((struct cfi_ident **)__cil_tmp13);
6172#line 259
6173 __cil_tmp15 = (unsigned long )__cil_tmp14;
6174#line 259
6175 __cil_tmp16 = __cil_tmp15 + __cil_tmp11;
6176#line 259
6177 __cil_tmp17 = 1 * 4UL;
6178#line 259
6179 __cil_tmp18 = 29 + __cil_tmp17;
6180#line 259
6181 __cil_tmp19 = (unsigned long )cfi;
6182#line 259
6183 __cil_tmp20 = __cil_tmp19 + 48;
6184#line 259
6185 __cil_tmp21 = *((struct cfi_ident **)__cil_tmp20);
6186#line 259
6187 __cil_tmp22 = (unsigned long )__cil_tmp21;
6188#line 259
6189 __cil_tmp23 = __cil_tmp22 + __cil_tmp18;
6190#line 259
6191 __cil_tmp24 = *((uint32_t *)__cil_tmp23);
6192#line 259
6193 __cil_tmp25 = __cil_tmp24 & 4294901760U;
6194#line 259
6195 *((uint32_t *)__cil_tmp16) = __cil_tmp25 | 62U;
6196#line 261
6197 return;
6198}
6199}
6200#line 263 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6201static void fixup_use_point(struct mtd_info *mtd )
6202{ struct map_info *map ;
6203 unsigned long __cil_tmp3 ;
6204 unsigned long __cil_tmp4 ;
6205 void *__cil_tmp5 ;
6206 unsigned long __cil_tmp6 ;
6207 unsigned long __cil_tmp7 ;
6208 int (*__cil_tmp8)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
6209 void **virt , resource_size_t *phys ) ;
6210 unsigned long __cil_tmp9 ;
6211 unsigned long __cil_tmp10 ;
6212 resource_size_t __cil_tmp11 ;
6213 unsigned long __cil_tmp12 ;
6214 unsigned long __cil_tmp13 ;
6215 unsigned long __cil_tmp14 ;
6216 unsigned long __cil_tmp15 ;
6217
6218 {
6219#line 265
6220 __cil_tmp3 = (unsigned long )mtd;
6221#line 265
6222 __cil_tmp4 = __cil_tmp3 + 360;
6223#line 265
6224 __cil_tmp5 = *((void **)__cil_tmp4);
6225#line 265
6226 map = (struct map_info *)__cil_tmp5;
6227 {
6228#line 266
6229 __cil_tmp6 = (unsigned long )mtd;
6230#line 266
6231 __cil_tmp7 = __cil_tmp6 + 104;
6232#line 266
6233 __cil_tmp8 = *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
6234 void **virt , resource_size_t *phys ))__cil_tmp7);
6235#line 266
6236 if (! __cil_tmp8) {
6237 {
6238#line 266
6239 __cil_tmp9 = (unsigned long )map;
6240#line 266
6241 __cil_tmp10 = __cil_tmp9 + 16;
6242#line 266
6243 __cil_tmp11 = *((resource_size_t *)__cil_tmp10);
6244#line 266
6245 if (__cil_tmp11 != 0xffffffffffffffffULL) {
6246#line 267
6247 __cil_tmp12 = (unsigned long )mtd;
6248#line 267
6249 __cil_tmp13 = __cil_tmp12 + 104;
6250#line 267
6251 *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
6252 void **virt , resource_size_t *phys ))__cil_tmp13) = & cfi_intelext_point;
6253#line 268
6254 __cil_tmp14 = (unsigned long )mtd;
6255#line 268
6256 __cil_tmp15 = __cil_tmp14 + 112;
6257#line 268
6258 *((int (**)(struct mtd_info *mtd , loff_t from , size_t len ))__cil_tmp15) = & cfi_intelext_unpoint;
6259 } else {
6260
6261 }
6262 }
6263 } else {
6264
6265 }
6266 }
6267#line 270
6268 return;
6269}
6270}
6271#line 272 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6272static void fixup_use_write_buffers(struct mtd_info *mtd )
6273{ struct map_info *map ;
6274 struct cfi_private *cfi ;
6275 unsigned long __cil_tmp4 ;
6276 unsigned long __cil_tmp5 ;
6277 void *__cil_tmp6 ;
6278 unsigned long __cil_tmp7 ;
6279 unsigned long __cil_tmp8 ;
6280 void *__cil_tmp9 ;
6281 unsigned long __cil_tmp10 ;
6282 unsigned long __cil_tmp11 ;
6283 struct cfi_ident *__cil_tmp12 ;
6284 unsigned long __cil_tmp13 ;
6285 unsigned long __cil_tmp14 ;
6286 unsigned long __cil_tmp15 ;
6287 unsigned long __cil_tmp16 ;
6288 unsigned long __cil_tmp17 ;
6289 unsigned long __cil_tmp18 ;
6290
6291 {
6292#line 274
6293 __cil_tmp4 = (unsigned long )mtd;
6294#line 274
6295 __cil_tmp5 = __cil_tmp4 + 360;
6296#line 274
6297 __cil_tmp6 = *((void **)__cil_tmp5);
6298#line 274
6299 map = (struct map_info *)__cil_tmp6;
6300#line 275
6301 __cil_tmp7 = (unsigned long )map;
6302#line 275
6303 __cil_tmp8 = __cil_tmp7 + 120;
6304#line 275
6305 __cil_tmp9 = *((void **)__cil_tmp8);
6306#line 275
6307 cfi = (struct cfi_private *)__cil_tmp9;
6308 {
6309#line 276
6310 __cil_tmp10 = (unsigned long )cfi;
6311#line 276
6312 __cil_tmp11 = __cil_tmp10 + 48;
6313#line 276
6314 __cil_tmp12 = *((struct cfi_ident **)__cil_tmp11);
6315#line 276
6316 __cil_tmp13 = (unsigned long )__cil_tmp12;
6317#line 276
6318 __cil_tmp14 = __cil_tmp13 + 16;
6319#line 276
6320 if (*((uint8_t *)__cil_tmp14)) {
6321 {
6322#line 277
6323 printk("<6>Using buffer write method\n");
6324#line 278
6325 __cil_tmp15 = (unsigned long )mtd;
6326#line 278
6327 __cil_tmp16 = __cil_tmp15 + 136;
6328#line 278
6329 *((int (**)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char *buf ))__cil_tmp16) = & cfi_intelext_write_buffers;
6330#line 279
6331 __cil_tmp17 = (unsigned long )mtd;
6332#line 279
6333 __cil_tmp18 = __cil_tmp17 + 216;
6334#line 279
6335 *((int (**)(struct mtd_info *mtd , struct kvec *vecs , unsigned long count ,
6336 loff_t to , size_t *retlen ))__cil_tmp18) = & cfi_intelext_writev;
6337 }
6338 } else {
6339
6340 }
6341 }
6342#line 281
6343 return;
6344}
6345}
6346#line 286 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6347static void fixup_unlock_powerup_lock(struct mtd_info *mtd )
6348{ struct map_info *map ;
6349 struct cfi_private *cfi ;
6350 struct cfi_pri_intelext *cfip ;
6351 unsigned long __cil_tmp5 ;
6352 unsigned long __cil_tmp6 ;
6353 void *__cil_tmp7 ;
6354 unsigned long __cil_tmp8 ;
6355 unsigned long __cil_tmp9 ;
6356 void *__cil_tmp10 ;
6357 unsigned long __cil_tmp11 ;
6358 unsigned long __cil_tmp12 ;
6359 void *__cil_tmp13 ;
6360 unsigned long __cil_tmp14 ;
6361 unsigned long __cil_tmp15 ;
6362 uint32_t __cil_tmp16 ;
6363 unsigned long __cil_tmp17 ;
6364 unsigned long __cil_tmp18 ;
6365 unsigned long __cil_tmp19 ;
6366 unsigned long __cil_tmp20 ;
6367 uint32_t __cil_tmp21 ;
6368
6369 {
6370#line 288
6371 __cil_tmp5 = (unsigned long )mtd;
6372#line 288
6373 __cil_tmp6 = __cil_tmp5 + 360;
6374#line 288
6375 __cil_tmp7 = *((void **)__cil_tmp6);
6376#line 288
6377 map = (struct map_info *)__cil_tmp7;
6378#line 289
6379 __cil_tmp8 = (unsigned long )map;
6380#line 289
6381 __cil_tmp9 = __cil_tmp8 + 120;
6382#line 289
6383 __cil_tmp10 = *((void **)__cil_tmp9);
6384#line 289
6385 cfi = (struct cfi_private *)__cil_tmp10;
6386#line 290
6387 __cil_tmp11 = (unsigned long )cfi;
6388#line 290
6389 __cil_tmp12 = __cil_tmp11 + 8;
6390#line 290
6391 __cil_tmp13 = *((void **)__cil_tmp12);
6392#line 290
6393 cfip = (struct cfi_pri_intelext *)__cil_tmp13;
6394 {
6395#line 292
6396 __cil_tmp14 = (unsigned long )cfip;
6397#line 292
6398 __cil_tmp15 = __cil_tmp14 + 5;
6399#line 292
6400 __cil_tmp16 = *((uint32_t *)__cil_tmp15);
6401#line 292
6402 if (__cil_tmp16 & 32U) {
6403 {
6404#line 293
6405 printk("<6>Using auto-unlock on power-up/resume\n");
6406#line 294
6407 __cil_tmp17 = (unsigned long )mtd;
6408#line 294
6409 __cil_tmp18 = __cil_tmp17 + 4;
6410#line 294
6411 __cil_tmp19 = (unsigned long )mtd;
6412#line 294
6413 __cil_tmp20 = __cil_tmp19 + 4;
6414#line 294
6415 __cil_tmp21 = *((uint32_t *)__cil_tmp20);
6416#line 294
6417 *((uint32_t *)__cil_tmp18) = __cil_tmp21 | 8192U;
6418 }
6419 } else {
6420
6421 }
6422 }
6423#line 296
6424 return;
6425}
6426}
6427#line 298 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6428static struct cfi_fixup cfi_fixup_table[8] =
6429#line 298
6430 { {(uint16_t )31, (uint16_t )65535, & fixup_convert_atmel_pri},
6431 {(uint16_t )31, (uint16_t )734, & fixup_at49bv640dx_lock},
6432 {(uint16_t )31, (uint16_t )731, & fixup_at49bv640dx_lock},
6433 {(uint16_t )65535, (uint16_t )65535, & fixup_use_write_buffers},
6434 {(uint16_t )32, (uint16_t )186, & fixup_st_m28w320ct},
6435 {(uint16_t )32, (uint16_t )187, & fixup_st_m28w320cb},
6436 {(uint16_t )137, (uint16_t )65535, & fixup_unlock_powerup_lock},
6437 {(uint16_t )0, (uint16_t )0, (void (*)(struct mtd_info *mtd ))((void *)0)}};
6438#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6439static struct cfi_fixup jedec_fixup_table[6] = { {(uint16_t )137, (uint16_t )173, & fixup_use_fwh_lock},
6440 {(uint16_t )137, (uint16_t )172, & fixup_use_fwh_lock},
6441 {(uint16_t )32, (uint16_t )47, & fixup_use_fwh_lock},
6442 {(uint16_t )32, (uint16_t )128, & fixup_use_fwh_lock},
6443 {(uint16_t )32, (uint16_t )129, & fixup_use_fwh_lock},
6444 {(uint16_t )0, (uint16_t )0, (void (*)(struct mtd_info *mtd ))((void *)0)}};
6445#line 325 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6446static struct cfi_fixup fixup_table[2] = { {(uint16_t )65535, (uint16_t )65535, & fixup_use_point},
6447 {(uint16_t )0, (uint16_t )0, (void (*)(struct mtd_info *mtd ))((void *)0)}};
6448#line 335 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6449static void cfi_fixup_major_minor(struct cfi_private *cfi , struct cfi_pri_intelext *extp )
6450{ unsigned long __cil_tmp3 ;
6451 unsigned long __cil_tmp4 ;
6452 int __cil_tmp5 ;
6453 unsigned long __cil_tmp6 ;
6454 unsigned long __cil_tmp7 ;
6455 int __cil_tmp8 ;
6456 unsigned long __cil_tmp9 ;
6457 unsigned long __cil_tmp10 ;
6458 uint8_t __cil_tmp11 ;
6459 int __cil_tmp12 ;
6460 unsigned long __cil_tmp13 ;
6461 unsigned long __cil_tmp14 ;
6462
6463 {
6464 {
6465#line 338
6466 __cil_tmp3 = (unsigned long )cfi;
6467#line 338
6468 __cil_tmp4 = __cil_tmp3 + 56;
6469#line 338
6470 __cil_tmp5 = *((int *)__cil_tmp4);
6471#line 338
6472 if (__cil_tmp5 == 137) {
6473 {
6474#line 338
6475 __cil_tmp6 = (unsigned long )cfi;
6476#line 338
6477 __cil_tmp7 = __cil_tmp6 + 60;
6478#line 338
6479 __cil_tmp8 = *((int *)__cil_tmp7);
6480#line 338
6481 if (__cil_tmp8 == 34844) {
6482 {
6483#line 338
6484 __cil_tmp9 = (unsigned long )extp;
6485#line 338
6486 __cil_tmp10 = __cil_tmp9 + 4;
6487#line 338
6488 __cil_tmp11 = *((uint8_t *)__cil_tmp10);
6489#line 338
6490 __cil_tmp12 = (int )__cil_tmp11;
6491#line 338
6492 if (__cil_tmp12 == 51) {
6493#line 340
6494 __cil_tmp13 = (unsigned long )extp;
6495#line 340
6496 __cil_tmp14 = __cil_tmp13 + 4;
6497#line 340
6498 *((uint8_t *)__cil_tmp14) = (uint8_t )'1';
6499 } else {
6500
6501 }
6502 }
6503 } else {
6504
6505 }
6506 }
6507 } else {
6508
6509 }
6510 }
6511#line 341
6512 return;
6513}
6514}
6515#line 343
6516__inline static struct cfi_pri_intelext *read_pri_intelext(struct map_info *map ,
6517 __u16 adr ) __attribute__((__no_instrument_function__)) ;
6518#line 343 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
6519__inline static struct cfi_pri_intelext *read_pri_intelext(struct map_info *map ,
6520 __u16 adr )
6521{ struct cfi_private *cfi ;
6522 struct cfi_pri_intelext *extp ;
6523 unsigned int extra_size ;
6524 unsigned int extp_size ;
6525 struct cfi_extquery *tmp___7 ;
6526 int nb_parts ;
6527 int i ;
6528 struct cfi_intelext_regioninfo *rinfo ;
6529 unsigned long __cil_tmp11 ;
6530 unsigned long __cil_tmp12 ;
6531 void *__cil_tmp13 ;
6532 uint16_t __cil_tmp14 ;
6533 void *__cil_tmp15 ;
6534 unsigned long __cil_tmp16 ;
6535 unsigned long __cil_tmp17 ;
6536 uint8_t __cil_tmp18 ;
6537 int __cil_tmp19 ;
6538 unsigned long __cil_tmp20 ;
6539 unsigned long __cil_tmp21 ;
6540 uint8_t __cil_tmp22 ;
6541 int __cil_tmp23 ;
6542 unsigned long __cil_tmp24 ;
6543 unsigned long __cil_tmp25 ;
6544 uint8_t __cil_tmp26 ;
6545 int __cil_tmp27 ;
6546 void *__cil_tmp28 ;
6547 void *__cil_tmp29 ;
6548 unsigned long __cil_tmp30 ;
6549 unsigned long __cil_tmp31 ;
6550 uint8_t __cil_tmp32 ;
6551 int __cil_tmp33 ;
6552 unsigned long __cil_tmp34 ;
6553 unsigned long __cil_tmp35 ;
6554 uint8_t __cil_tmp36 ;
6555 int __cil_tmp37 ;
6556 unsigned long __cil_tmp38 ;
6557 unsigned long __cil_tmp39 ;
6558 uint8_t __cil_tmp40 ;
6559 int __cil_tmp41 ;
6560 void *__cil_tmp42 ;
6561 void *__cil_tmp43 ;
6562 unsigned long __cil_tmp44 ;
6563 unsigned long __cil_tmp45 ;
6564 uint8_t __cil_tmp46 ;
6565 int __cil_tmp47 ;
6566 unsigned long __cil_tmp48 ;
6567 unsigned long __cil_tmp49 ;
6568 uint8_t __cil_tmp50 ;
6569 int __cil_tmp51 ;
6570 unsigned long __cil_tmp52 ;
6571 unsigned long __cil_tmp53 ;
6572 uint8_t __cil_tmp54 ;
6573 int __cil_tmp55 ;
6574 void *__cil_tmp56 ;
6575 void *__cil_tmp57 ;
6576 unsigned long __cil_tmp58 ;
6577 unsigned long __cil_tmp59 ;
6578 unsigned long __cil_tmp60 ;
6579 unsigned long __cil_tmp61 ;
6580 unsigned long __cil_tmp62 ;
6581 unsigned long __cil_tmp63 ;
6582 unsigned long __cil_tmp64 ;
6583 unsigned long __cil_tmp65 ;
6584 unsigned long __cil_tmp66 ;
6585 unsigned long __cil_tmp67 ;
6586 unsigned long __cil_tmp68 ;
6587 unsigned long __cil_tmp69 ;
6588 unsigned long __cil_tmp70 ;
6589 unsigned long __cil_tmp71 ;
6590 uint8_t __cil_tmp72 ;
6591 int __cil_tmp73 ;
6592 unsigned long __cil_tmp74 ;
6593 unsigned long __cil_tmp75 ;
6594 uint8_t __cil_tmp76 ;
6595 int __cil_tmp77 ;
6596 int __cil_tmp78 ;
6597 unsigned long __cil_tmp79 ;
6598 unsigned long __cil_tmp80 ;
6599 unsigned long __cil_tmp81 ;
6600 unsigned long __cil_tmp82 ;
6601 unsigned long __cil_tmp83 ;
6602 unsigned long __cil_tmp84 ;
6603 uint8_t __cil_tmp85 ;
6604 int __cil_tmp86 ;
6605 unsigned long __cil_tmp87 ;
6606 unsigned long __cil_tmp88 ;
6607 unsigned long __cil_tmp89 ;
6608 unsigned int __cil_tmp90 ;
6609 unsigned long __cil_tmp91 ;
6610 unsigned long __cil_tmp92 ;
6611 unsigned long __cil_tmp93 ;
6612 unsigned long __cil_tmp94 ;
6613 uint8_t __cil_tmp95 ;
6614 unsigned int __cil_tmp96 ;
6615 unsigned long __cil_tmp97 ;
6616 unsigned long __cil_tmp98 ;
6617 uint8_t __cil_tmp99 ;
6618 int __cil_tmp100 ;
6619 unsigned long __cil_tmp101 ;
6620 unsigned long __cil_tmp102 ;
6621 unsigned long __cil_tmp103 ;
6622 unsigned int __cil_tmp104 ;
6623 unsigned long __cil_tmp105 ;
6624 unsigned long __cil_tmp106 ;
6625 unsigned long __cil_tmp107 ;
6626 unsigned long __cil_tmp108 ;
6627 uint8_t __cil_tmp109 ;
6628 unsigned long __cil_tmp110 ;
6629 unsigned long __cil_tmp111 ;
6630 uint8_t __cil_tmp112 ;
6631 int __cil_tmp113 ;
6632 unsigned long __cil_tmp114 ;
6633 unsigned long __cil_tmp115 ;
6634 unsigned long __cil_tmp116 ;
6635 unsigned long __cil_tmp117 ;
6636 uint8_t *__cil_tmp118 ;
6637 unsigned long __cil_tmp119 ;
6638 unsigned long __cil_tmp120 ;
6639 unsigned long __cil_tmp121 ;
6640 unsigned long __cil_tmp122 ;
6641 unsigned long __cil_tmp123 ;
6642 unsigned long __cil_tmp124 ;
6643 unsigned long __cil_tmp125 ;
6644 uint8_t __cil_tmp126 ;
6645 int __cil_tmp127 ;
6646 int __cil_tmp128 ;
6647 unsigned long __cil_tmp129 ;
6648 unsigned long __cil_tmp130 ;
6649 unsigned long __cil_tmp131 ;
6650 unsigned long __cil_tmp132 ;
6651 unsigned long __cil_tmp133 ;
6652 unsigned long __cil_tmp134 ;
6653 uint8_t __cil_tmp135 ;
6654 int __cil_tmp136 ;
6655 unsigned long __cil_tmp137 ;
6656 unsigned long __cil_tmp138 ;
6657 unsigned long __cil_tmp139 ;
6658 unsigned long __cil_tmp140 ;
6659 unsigned long __cil_tmp141 ;
6660 unsigned long __cil_tmp142 ;
6661 unsigned long __cil_tmp143 ;
6662 void *__cil_tmp144 ;
6663 void *__cil_tmp145 ;
6664
6665 {
6666#line 346
6667 __cil_tmp11 = (unsigned long )map;
6668#line 346
6669 __cil_tmp12 = __cil_tmp11 + 120;
6670#line 346
6671 __cil_tmp13 = *((void **)__cil_tmp12);
6672#line 346
6673 cfi = (struct cfi_private *)__cil_tmp13;
6674#line 348
6675 extra_size = 0U;
6676#line 349
6677 extp_size = (unsigned int )19UL;
6678 again:
6679 {
6680#line 352
6681 __cil_tmp14 = (uint16_t )extp_size;
6682#line 352
6683 tmp___7 = cfi_read_pri(map, adr, __cil_tmp14, "Intel/Sharp");
6684#line 352
6685 extp = (struct cfi_pri_intelext *)tmp___7;
6686 }
6687#line 353
6688 if (! extp) {
6689 {
6690#line 354
6691 __cil_tmp15 = (void *)0;
6692#line 354
6693 return ((struct cfi_pri_intelext *)__cil_tmp15);
6694 }
6695 } else {
6696
6697 }
6698 {
6699#line 356
6700 cfi_fixup_major_minor(cfi, extp);
6701 }
6702 {
6703#line 358
6704 __cil_tmp16 = (unsigned long )extp;
6705#line 358
6706 __cil_tmp17 = __cil_tmp16 + 3;
6707#line 358
6708 __cil_tmp18 = *((uint8_t *)__cil_tmp17);
6709#line 358
6710 __cil_tmp19 = (int )__cil_tmp18;
6711#line 358
6712 if (__cil_tmp19 != 49) {
6713 {
6714#line 360
6715 __cil_tmp20 = (unsigned long )extp;
6716#line 360
6717 __cil_tmp21 = __cil_tmp20 + 3;
6718#line 360
6719 __cil_tmp22 = *((uint8_t *)__cil_tmp21);
6720#line 360
6721 __cil_tmp23 = (int )__cil_tmp22;
6722#line 360
6723 __cil_tmp24 = (unsigned long )extp;
6724#line 360
6725 __cil_tmp25 = __cil_tmp24 + 4;
6726#line 360
6727 __cil_tmp26 = *((uint8_t *)__cil_tmp25);
6728#line 360
6729 __cil_tmp27 = (int )__cil_tmp26;
6730#line 360
6731 printk("<3> Unknown Intel/Sharp Extended Query version %c.%c.\n", __cil_tmp23,
6732 __cil_tmp27);
6733#line 363
6734 __cil_tmp28 = (void *)extp;
6735#line 363
6736 kfree(__cil_tmp28);
6737 }
6738 {
6739#line 364
6740 __cil_tmp29 = (void *)0;
6741#line 364
6742 return ((struct cfi_pri_intelext *)__cil_tmp29);
6743 }
6744 } else {
6745 {
6746#line 358
6747 __cil_tmp30 = (unsigned long )extp;
6748#line 358
6749 __cil_tmp31 = __cil_tmp30 + 4;
6750#line 358
6751 __cil_tmp32 = *((uint8_t *)__cil_tmp31);
6752#line 358
6753 __cil_tmp33 = (int )__cil_tmp32;
6754#line 358
6755 if (__cil_tmp33 < 48) {
6756 {
6757#line 360
6758 __cil_tmp34 = (unsigned long )extp;
6759#line 360
6760 __cil_tmp35 = __cil_tmp34 + 3;
6761#line 360
6762 __cil_tmp36 = *((uint8_t *)__cil_tmp35);
6763#line 360
6764 __cil_tmp37 = (int )__cil_tmp36;
6765#line 360
6766 __cil_tmp38 = (unsigned long )extp;
6767#line 360
6768 __cil_tmp39 = __cil_tmp38 + 4;
6769#line 360
6770 __cil_tmp40 = *((uint8_t *)__cil_tmp39);
6771#line 360
6772 __cil_tmp41 = (int )__cil_tmp40;
6773#line 360
6774 printk("<3> Unknown Intel/Sharp Extended Query version %c.%c.\n", __cil_tmp37,
6775 __cil_tmp41);
6776#line 363
6777 __cil_tmp42 = (void *)extp;
6778#line 363
6779 kfree(__cil_tmp42);
6780 }
6781 {
6782#line 364
6783 __cil_tmp43 = (void *)0;
6784#line 364
6785 return ((struct cfi_pri_intelext *)__cil_tmp43);
6786 }
6787 } else {
6788 {
6789#line 358
6790 __cil_tmp44 = (unsigned long )extp;
6791#line 358
6792 __cil_tmp45 = __cil_tmp44 + 4;
6793#line 358
6794 __cil_tmp46 = *((uint8_t *)__cil_tmp45);
6795#line 358
6796 __cil_tmp47 = (int )__cil_tmp46;
6797#line 358
6798 if (__cil_tmp47 > 53) {
6799 {
6800#line 360
6801 __cil_tmp48 = (unsigned long )extp;
6802#line 360
6803 __cil_tmp49 = __cil_tmp48 + 3;
6804#line 360
6805 __cil_tmp50 = *((uint8_t *)__cil_tmp49);
6806#line 360
6807 __cil_tmp51 = (int )__cil_tmp50;
6808#line 360
6809 __cil_tmp52 = (unsigned long )extp;
6810#line 360
6811 __cil_tmp53 = __cil_tmp52 + 4;
6812#line 360
6813 __cil_tmp54 = *((uint8_t *)__cil_tmp53);
6814#line 360
6815 __cil_tmp55 = (int )__cil_tmp54;
6816#line 360
6817 printk("<3> Unknown Intel/Sharp Extended Query version %c.%c.\n", __cil_tmp51,
6818 __cil_tmp55);
6819#line 363
6820 __cil_tmp56 = (void *)extp;
6821#line 363
6822 kfree(__cil_tmp56);
6823 }
6824 {
6825#line 364
6826 __cil_tmp57 = (void *)0;
6827#line 364
6828 return ((struct cfi_pri_intelext *)__cil_tmp57);
6829 }
6830 } else {
6831
6832 }
6833 }
6834 }
6835 }
6836 }
6837 }
6838#line 368
6839 __cil_tmp58 = (unsigned long )extp;
6840#line 368
6841 __cil_tmp59 = __cil_tmp58 + 5;
6842#line 368
6843 __cil_tmp60 = (unsigned long )extp;
6844#line 368
6845 __cil_tmp61 = __cil_tmp60 + 5;
6846#line 368
6847 *((uint32_t *)__cil_tmp59) = *((uint32_t *)__cil_tmp61);
6848#line 369
6849 __cil_tmp62 = (unsigned long )extp;
6850#line 369
6851 __cil_tmp63 = __cil_tmp62 + 10;
6852#line 369
6853 __cil_tmp64 = (unsigned long )extp;
6854#line 369
6855 __cil_tmp65 = __cil_tmp64 + 10;
6856#line 369
6857 *((uint16_t *)__cil_tmp63) = *((uint16_t *)__cil_tmp65);
6858#line 370
6859 __cil_tmp66 = (unsigned long )extp;
6860#line 370
6861 __cil_tmp67 = __cil_tmp66 + 15;
6862#line 370
6863 __cil_tmp68 = (unsigned long )extp;
6864#line 370
6865 __cil_tmp69 = __cil_tmp68 + 15;
6866#line 370
6867 *((uint16_t *)__cil_tmp67) = *((uint16_t *)__cil_tmp69);
6868 {
6869#line 372
6870 __cil_tmp70 = (unsigned long )extp;
6871#line 372
6872 __cil_tmp71 = __cil_tmp70 + 4;
6873#line 372
6874 __cil_tmp72 = *((uint8_t *)__cil_tmp71);
6875#line 372
6876 __cil_tmp73 = (int )__cil_tmp72;
6877#line 372
6878 if (__cil_tmp73 >= 48) {
6879#line 373
6880 extra_size = 0U;
6881#line 376
6882 __cil_tmp74 = (unsigned long )extp;
6883#line 376
6884 __cil_tmp75 = __cil_tmp74 + 14;
6885#line 376
6886 __cil_tmp76 = *((uint8_t *)__cil_tmp75);
6887#line 376
6888 __cil_tmp77 = (int )__cil_tmp76;
6889#line 376
6890 __cil_tmp78 = __cil_tmp77 - 1;
6891#line 376
6892 __cil_tmp79 = (unsigned long )__cil_tmp78;
6893#line 376
6894 __cil_tmp80 = __cil_tmp79 * 10UL;
6895#line 376
6896 __cil_tmp81 = (unsigned long )extra_size;
6897#line 376
6898 __cil_tmp82 = __cil_tmp81 + __cil_tmp80;
6899#line 376
6900 extra_size = (unsigned int )__cil_tmp82;
6901 } else {
6902
6903 }
6904 }
6905 {
6906#line 380
6907 __cil_tmp83 = (unsigned long )extp;
6908#line 380
6909 __cil_tmp84 = __cil_tmp83 + 4;
6910#line 380
6911 __cil_tmp85 = *((uint8_t *)__cil_tmp84);
6912#line 380
6913 __cil_tmp86 = (int )__cil_tmp85;
6914#line 380
6915 if (__cil_tmp86 >= 49) {
6916#line 382
6917 extra_size = extra_size + 2U;
6918 {
6919#line 383
6920 __cil_tmp87 = (unsigned long )extra_size;
6921#line 383
6922 __cil_tmp88 = 19UL + __cil_tmp87;
6923#line 383
6924 __cil_tmp89 = (unsigned long )extp_size;
6925#line 383
6926 if (__cil_tmp89 < __cil_tmp88) {
6927#line 384
6928 goto need_more;
6929 } else {
6930
6931 }
6932 }
6933#line 385
6934 __cil_tmp90 = extra_size - 1U;
6935#line 385
6936 __cil_tmp91 = __cil_tmp90 * 1UL;
6937#line 385
6938 __cil_tmp92 = 19 + __cil_tmp91;
6939#line 385
6940 __cil_tmp93 = (unsigned long )extp;
6941#line 385
6942 __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
6943#line 385
6944 __cil_tmp95 = *((uint8_t *)__cil_tmp94);
6945#line 385
6946 __cil_tmp96 = (unsigned int )__cil_tmp95;
6947#line 385
6948 extra_size = extra_size + __cil_tmp96;
6949 } else {
6950
6951 }
6952 }
6953 {
6954#line 388
6955 __cil_tmp97 = (unsigned long )extp;
6956#line 388
6957 __cil_tmp98 = __cil_tmp97 + 4;
6958#line 388
6959 __cil_tmp99 = *((uint8_t *)__cil_tmp98);
6960#line 388
6961 __cil_tmp100 = (int )__cil_tmp99;
6962#line 388
6963 if (__cil_tmp100 >= 51) {
6964#line 392
6965 extra_size = extra_size + 1U;
6966 {
6967#line 393
6968 __cil_tmp101 = (unsigned long )extra_size;
6969#line 393
6970 __cil_tmp102 = 19UL + __cil_tmp101;
6971#line 393
6972 __cil_tmp103 = (unsigned long )extp_size;
6973#line 393
6974 if (__cil_tmp103 < __cil_tmp102) {
6975#line 394
6976 goto need_more;
6977 } else {
6978
6979 }
6980 }
6981#line 395
6982 __cil_tmp104 = extra_size - 1U;
6983#line 395
6984 __cil_tmp105 = __cil_tmp104 * 1UL;
6985#line 395
6986 __cil_tmp106 = 19 + __cil_tmp105;
6987#line 395
6988 __cil_tmp107 = (unsigned long )extp;
6989#line 395
6990 __cil_tmp108 = __cil_tmp107 + __cil_tmp106;
6991#line 395
6992 __cil_tmp109 = *((uint8_t *)__cil_tmp108);
6993#line 395
6994 nb_parts = (int )__cil_tmp109;
6995 {
6996#line 398
6997 __cil_tmp110 = (unsigned long )extp;
6998#line 398
6999 __cil_tmp111 = __cil_tmp110 + 4;
7000#line 398
7001 __cil_tmp112 = *((uint8_t *)__cil_tmp111);
7002#line 398
7003 __cil_tmp113 = (int )__cil_tmp112;
7004#line 398
7005 if (__cil_tmp113 >= 52) {
7006#line 399
7007 extra_size = extra_size + 2U;
7008 } else {
7009
7010 }
7011 }
7012#line 401
7013 i = 0;
7014 {
7015#line 401
7016 while (1) {
7017 while_continue: ;
7018#line 401
7019 if (i < nb_parts) {
7020
7021 } else {
7022#line 401
7023 goto while_break;
7024 }
7025#line 403
7026 __cil_tmp114 = extra_size * 1UL;
7027#line 403
7028 __cil_tmp115 = 19 + __cil_tmp114;
7029#line 403
7030 __cil_tmp116 = (unsigned long )extp;
7031#line 403
7032 __cil_tmp117 = __cil_tmp116 + __cil_tmp115;
7033#line 403
7034 __cil_tmp118 = (uint8_t *)__cil_tmp117;
7035#line 403
7036 rinfo = (struct cfi_intelext_regioninfo *)__cil_tmp118;
7037#line 404
7038 __cil_tmp119 = (unsigned long )extra_size;
7039#line 404
7040 __cil_tmp120 = __cil_tmp119 + 14UL;
7041#line 404
7042 extra_size = (unsigned int )__cil_tmp120;
7043 {
7044#line 405
7045 __cil_tmp121 = (unsigned long )extra_size;
7046#line 405
7047 __cil_tmp122 = 19UL + __cil_tmp121;
7048#line 405
7049 __cil_tmp123 = (unsigned long )extp_size;
7050#line 405
7051 if (__cil_tmp123 < __cil_tmp122) {
7052#line 406
7053 goto need_more;
7054 } else {
7055
7056 }
7057 }
7058#line 407
7059 *((uint16_t *)rinfo) = *((uint16_t *)rinfo);
7060#line 408
7061 __cil_tmp124 = (unsigned long )rinfo;
7062#line 408
7063 __cil_tmp125 = __cil_tmp124 + 5;
7064#line 408
7065 __cil_tmp126 = *((uint8_t *)__cil_tmp125);
7066#line 408
7067 __cil_tmp127 = (int )__cil_tmp126;
7068#line 408
7069 __cil_tmp128 = __cil_tmp127 - 1;
7070#line 408
7071 __cil_tmp129 = (unsigned long )__cil_tmp128;
7072#line 408
7073 __cil_tmp130 = __cil_tmp129 * 8UL;
7074#line 408
7075 __cil_tmp131 = (unsigned long )extra_size;
7076#line 408
7077 __cil_tmp132 = __cil_tmp131 + __cil_tmp130;
7078#line 408
7079 extra_size = (unsigned int )__cil_tmp132;
7080#line 401
7081 i = i + 1;
7082 }
7083 while_break: ;
7084 }
7085 {
7086#line 412
7087 __cil_tmp133 = (unsigned long )extp;
7088#line 412
7089 __cil_tmp134 = __cil_tmp133 + 4;
7090#line 412
7091 __cil_tmp135 = *((uint8_t *)__cil_tmp134);
7092#line 412
7093 __cil_tmp136 = (int )__cil_tmp135;
7094#line 412
7095 if (__cil_tmp136 >= 52) {
7096#line 413
7097 __cil_tmp137 = (unsigned long )extra_size;
7098#line 413
7099 __cil_tmp138 = __cil_tmp137 + 6UL;
7100#line 413
7101 extra_size = (unsigned int )__cil_tmp138;
7102 } else {
7103
7104 }
7105 }
7106 {
7107#line 415
7108 __cil_tmp139 = (unsigned long )extra_size;
7109#line 415
7110 __cil_tmp140 = 19UL + __cil_tmp139;
7111#line 415
7112 __cil_tmp141 = (unsigned long )extp_size;
7113#line 415
7114 if (__cil_tmp141 < __cil_tmp140) {
7115 need_more:
7116 {
7117#line 417
7118 __cil_tmp142 = (unsigned long )extra_size;
7119#line 417
7120 __cil_tmp143 = 19UL + __cil_tmp142;
7121#line 417
7122 extp_size = (unsigned int )__cil_tmp143;
7123#line 418
7124 __cil_tmp144 = (void *)extp;
7125#line 418
7126 kfree(__cil_tmp144);
7127 }
7128#line 419
7129 if (extp_size > 4096U) {
7130 {
7131#line 420
7132 printk("<3>%s: cfi_pri_intelext is too fat\n", "read_pri_intelext");
7133 }
7134 {
7135#line 423
7136 __cil_tmp145 = (void *)0;
7137#line 423
7138 return ((struct cfi_pri_intelext *)__cil_tmp145);
7139 }
7140 } else {
7141
7142 }
7143#line 425
7144 goto again;
7145 } else {
7146
7147 }
7148 }
7149 } else {
7150
7151 }
7152 }
7153#line 429
7154 return (extp);
7155}
7156}
7157#line 540 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
7158static struct lock_class_key __key___3 ;
7159#line 432 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
7160struct mtd_info *cfi_cmdset_0001(struct map_info *map , int primary )
7161{ struct cfi_private *cfi ;
7162 struct mtd_info *mtd ;
7163 int i ;
7164 void *tmp___7 ;
7165 __u16 adr ;
7166 int tmp___8 ;
7167 struct cfi_pri_intelext *extp ;
7168 struct mtd_info *tmp___9 ;
7169 unsigned long __cil_tmp11 ;
7170 unsigned long __cil_tmp12 ;
7171 void *__cil_tmp13 ;
7172 void *__cil_tmp14 ;
7173 unsigned long __cil_tmp15 ;
7174 unsigned long __cil_tmp16 ;
7175 unsigned long __cil_tmp17 ;
7176 unsigned long __cil_tmp18 ;
7177 unsigned long __cil_tmp19 ;
7178 unsigned long __cil_tmp20 ;
7179 unsigned long __cil_tmp21 ;
7180 unsigned long __cil_tmp22 ;
7181 unsigned long __cil_tmp23 ;
7182 unsigned long __cil_tmp24 ;
7183 unsigned long __cil_tmp25 ;
7184 unsigned long __cil_tmp26 ;
7185 unsigned long __cil_tmp27 ;
7186 unsigned long __cil_tmp28 ;
7187 unsigned long __cil_tmp29 ;
7188 unsigned long __cil_tmp30 ;
7189 unsigned long __cil_tmp31 ;
7190 unsigned long __cil_tmp32 ;
7191 unsigned long __cil_tmp33 ;
7192 unsigned long __cil_tmp34 ;
7193 unsigned long __cil_tmp35 ;
7194 unsigned long __cil_tmp36 ;
7195 unsigned long __cil_tmp37 ;
7196 unsigned long __cil_tmp38 ;
7197 unsigned long __cil_tmp39 ;
7198 unsigned long __cil_tmp40 ;
7199 unsigned long __cil_tmp41 ;
7200 unsigned long __cil_tmp42 ;
7201 unsigned long __cil_tmp43 ;
7202 unsigned long __cil_tmp44 ;
7203 struct cfi_ident *__cil_tmp45 ;
7204 unsigned long __cil_tmp46 ;
7205 unsigned long __cil_tmp47 ;
7206 uint16_t __cil_tmp48 ;
7207 int __cil_tmp49 ;
7208 unsigned long __cil_tmp50 ;
7209 unsigned long __cil_tmp51 ;
7210 int __cil_tmp52 ;
7211 int __cil_tmp53 ;
7212 unsigned long __cil_tmp54 ;
7213 unsigned long __cil_tmp55 ;
7214 unsigned long __cil_tmp56 ;
7215 unsigned long __cil_tmp57 ;
7216 int __cil_tmp58 ;
7217 unsigned long __cil_tmp59 ;
7218 unsigned long __cil_tmp60 ;
7219 struct cfi_ident *__cil_tmp61 ;
7220 unsigned long __cil_tmp62 ;
7221 unsigned long __cil_tmp63 ;
7222 uint16_t __cil_tmp64 ;
7223 unsigned long __cil_tmp65 ;
7224 unsigned long __cil_tmp66 ;
7225 struct cfi_ident *__cil_tmp67 ;
7226 unsigned long __cil_tmp68 ;
7227 unsigned long __cil_tmp69 ;
7228 uint16_t __cil_tmp70 ;
7229 void *__cil_tmp71 ;
7230 void *__cil_tmp72 ;
7231 unsigned long __cil_tmp73 ;
7232 unsigned long __cil_tmp74 ;
7233 unsigned long __cil_tmp75 ;
7234 unsigned long __cil_tmp76 ;
7235 struct cfi_fixup *__cil_tmp77 ;
7236 unsigned long __cil_tmp78 ;
7237 unsigned long __cil_tmp79 ;
7238 uint8_t __cil_tmp80 ;
7239 int __cil_tmp81 ;
7240 unsigned long __cil_tmp82 ;
7241 unsigned long __cil_tmp83 ;
7242 int __cil_tmp84 ;
7243 unsigned long __cil_tmp85 ;
7244 unsigned long __cil_tmp86 ;
7245 struct cfi_fixup *__cil_tmp87 ;
7246 unsigned long __cil_tmp88 ;
7247 unsigned long __cil_tmp89 ;
7248 struct cfi_fixup *__cil_tmp90 ;
7249 unsigned long __cil_tmp91 ;
7250 unsigned long __cil_tmp92 ;
7251 int __cil_tmp93 ;
7252 unsigned long __cil_tmp94 ;
7253 unsigned long __cil_tmp95 ;
7254 struct cfi_ident *__cil_tmp96 ;
7255 unsigned long __cil_tmp97 ;
7256 unsigned long __cil_tmp98 ;
7257 unsigned long __cil_tmp99 ;
7258 unsigned long __cil_tmp100 ;
7259 unsigned long __cil_tmp101 ;
7260 unsigned long __cil_tmp102 ;
7261 unsigned long __cil_tmp103 ;
7262 unsigned long __cil_tmp104 ;
7263 unsigned long __cil_tmp105 ;
7264 struct cfi_ident *__cil_tmp106 ;
7265 unsigned long __cil_tmp107 ;
7266 unsigned long __cil_tmp108 ;
7267 uint8_t __cil_tmp109 ;
7268 int __cil_tmp110 ;
7269 unsigned long __cil_tmp111 ;
7270 unsigned long __cil_tmp112 ;
7271 unsigned long __cil_tmp113 ;
7272 unsigned long __cil_tmp114 ;
7273 unsigned long __cil_tmp115 ;
7274 unsigned long __cil_tmp116 ;
7275 unsigned long __cil_tmp117 ;
7276 struct cfi_ident *__cil_tmp118 ;
7277 unsigned long __cil_tmp119 ;
7278 unsigned long __cil_tmp120 ;
7279 unsigned long __cil_tmp121 ;
7280 unsigned long __cil_tmp122 ;
7281 unsigned long __cil_tmp123 ;
7282 unsigned long __cil_tmp124 ;
7283 unsigned long __cil_tmp125 ;
7284 unsigned long __cil_tmp126 ;
7285 unsigned long __cil_tmp127 ;
7286 struct cfi_ident *__cil_tmp128 ;
7287 unsigned long __cil_tmp129 ;
7288 unsigned long __cil_tmp130 ;
7289 uint8_t __cil_tmp131 ;
7290 int __cil_tmp132 ;
7291 unsigned long __cil_tmp133 ;
7292 unsigned long __cil_tmp134 ;
7293 struct cfi_ident *__cil_tmp135 ;
7294 unsigned long __cil_tmp136 ;
7295 unsigned long __cil_tmp137 ;
7296 unsigned long __cil_tmp138 ;
7297 unsigned long __cil_tmp139 ;
7298 unsigned long __cil_tmp140 ;
7299 unsigned long __cil_tmp141 ;
7300 unsigned long __cil_tmp142 ;
7301 unsigned long __cil_tmp143 ;
7302 unsigned long __cil_tmp144 ;
7303 struct cfi_ident *__cil_tmp145 ;
7304 unsigned long __cil_tmp146 ;
7305 unsigned long __cil_tmp147 ;
7306 uint8_t __cil_tmp148 ;
7307 int __cil_tmp149 ;
7308 unsigned long __cil_tmp150 ;
7309 unsigned long __cil_tmp151 ;
7310 unsigned long __cil_tmp152 ;
7311 unsigned long __cil_tmp153 ;
7312 unsigned long __cil_tmp154 ;
7313 unsigned long __cil_tmp155 ;
7314 unsigned long __cil_tmp156 ;
7315 struct cfi_ident *__cil_tmp157 ;
7316 unsigned long __cil_tmp158 ;
7317 unsigned long __cil_tmp159 ;
7318 unsigned long __cil_tmp160 ;
7319 unsigned long __cil_tmp161 ;
7320 struct cfi_ident *__cil_tmp162 ;
7321 unsigned long __cil_tmp163 ;
7322 unsigned long __cil_tmp164 ;
7323 unsigned long __cil_tmp165 ;
7324 unsigned long __cil_tmp166 ;
7325 unsigned long __cil_tmp167 ;
7326 unsigned long __cil_tmp168 ;
7327 unsigned long __cil_tmp169 ;
7328 unsigned long __cil_tmp170 ;
7329 unsigned long __cil_tmp171 ;
7330 struct cfi_ident *__cil_tmp172 ;
7331 unsigned long __cil_tmp173 ;
7332 unsigned long __cil_tmp174 ;
7333 uint8_t __cil_tmp175 ;
7334 int __cil_tmp176 ;
7335 unsigned long __cil_tmp177 ;
7336 unsigned long __cil_tmp178 ;
7337 struct cfi_ident *__cil_tmp179 ;
7338 unsigned long __cil_tmp180 ;
7339 unsigned long __cil_tmp181 ;
7340 uint8_t __cil_tmp182 ;
7341 int __cil_tmp183 ;
7342 int __cil_tmp184 ;
7343 unsigned long __cil_tmp185 ;
7344 unsigned long __cil_tmp186 ;
7345 unsigned long __cil_tmp187 ;
7346 unsigned long __cil_tmp188 ;
7347 unsigned long __cil_tmp189 ;
7348 unsigned long __cil_tmp190 ;
7349 unsigned long __cil_tmp191 ;
7350 unsigned long __cil_tmp192 ;
7351 unsigned long __cil_tmp193 ;
7352 unsigned long __cil_tmp194 ;
7353 unsigned long __cil_tmp195 ;
7354 unsigned long __cil_tmp196 ;
7355 struct cfi_ident *__cil_tmp197 ;
7356 unsigned long __cil_tmp198 ;
7357 unsigned long __cil_tmp199 ;
7358 unsigned long __cil_tmp200 ;
7359 unsigned long __cil_tmp201 ;
7360 struct cfi_ident *__cil_tmp202 ;
7361 unsigned long __cil_tmp203 ;
7362 unsigned long __cil_tmp204 ;
7363 unsigned long __cil_tmp205 ;
7364 unsigned long __cil_tmp206 ;
7365 unsigned long __cil_tmp207 ;
7366 unsigned long __cil_tmp208 ;
7367 unsigned long __cil_tmp209 ;
7368 unsigned long __cil_tmp210 ;
7369 unsigned long __cil_tmp211 ;
7370 struct cfi_ident *__cil_tmp212 ;
7371 unsigned long __cil_tmp213 ;
7372 unsigned long __cil_tmp214 ;
7373 uint8_t __cil_tmp215 ;
7374 int __cil_tmp216 ;
7375 unsigned long __cil_tmp217 ;
7376 unsigned long __cil_tmp218 ;
7377 struct cfi_ident *__cil_tmp219 ;
7378 unsigned long __cil_tmp220 ;
7379 unsigned long __cil_tmp221 ;
7380 uint8_t __cil_tmp222 ;
7381 int __cil_tmp223 ;
7382 int __cil_tmp224 ;
7383 unsigned long __cil_tmp225 ;
7384 unsigned long __cil_tmp226 ;
7385 struct cfi_ident *__cil_tmp227 ;
7386 unsigned long __cil_tmp228 ;
7387 unsigned long __cil_tmp229 ;
7388 unsigned long __cil_tmp230 ;
7389 unsigned long __cil_tmp231 ;
7390 struct cfi_ident *__cil_tmp232 ;
7391 unsigned long __cil_tmp233 ;
7392 unsigned long __cil_tmp234 ;
7393 unsigned long __cil_tmp235 ;
7394 unsigned long __cil_tmp236 ;
7395 unsigned long __cil_tmp237 ;
7396 unsigned long __cil_tmp238 ;
7397 unsigned long __cil_tmp239 ;
7398 unsigned long __cil_tmp240 ;
7399 unsigned long __cil_tmp241 ;
7400 struct cfi_ident *__cil_tmp242 ;
7401 unsigned long __cil_tmp243 ;
7402 unsigned long __cil_tmp244 ;
7403 uint8_t __cil_tmp245 ;
7404 int __cil_tmp246 ;
7405 unsigned long __cil_tmp247 ;
7406 unsigned long __cil_tmp248 ;
7407 struct cfi_ident *__cil_tmp249 ;
7408 unsigned long __cil_tmp250 ;
7409 unsigned long __cil_tmp251 ;
7410 uint8_t __cil_tmp252 ;
7411 int __cil_tmp253 ;
7412 int __cil_tmp254 ;
7413 unsigned long __cil_tmp255 ;
7414 unsigned long __cil_tmp256 ;
7415 unsigned long __cil_tmp257 ;
7416 unsigned long __cil_tmp258 ;
7417 unsigned long __cil_tmp259 ;
7418 unsigned long __cil_tmp260 ;
7419 unsigned long __cil_tmp261 ;
7420 unsigned long __cil_tmp262 ;
7421 unsigned long __cil_tmp263 ;
7422 unsigned long __cil_tmp264 ;
7423 unsigned long __cil_tmp265 ;
7424 unsigned long __cil_tmp266 ;
7425 unsigned long __cil_tmp267 ;
7426 unsigned long __cil_tmp268 ;
7427 unsigned long __cil_tmp269 ;
7428 unsigned long __cil_tmp270 ;
7429 unsigned long __cil_tmp271 ;
7430 unsigned long __cil_tmp272 ;
7431 unsigned long __cil_tmp273 ;
7432 unsigned long __cil_tmp274 ;
7433 wait_queue_head_t *__cil_tmp275 ;
7434 unsigned long __cil_tmp276 ;
7435 unsigned long __cil_tmp277 ;
7436
7437 {
7438 {
7439#line 434
7440 __cil_tmp11 = (unsigned long )map;
7441#line 434
7442 __cil_tmp12 = __cil_tmp11 + 120;
7443#line 434
7444 __cil_tmp13 = *((void **)__cil_tmp12);
7445#line 434
7446 cfi = (struct cfi_private *)__cil_tmp13;
7447#line 438
7448 tmp___7 = kzalloc(1152UL, 208U);
7449#line 438
7450 mtd = (struct mtd_info *)tmp___7;
7451 }
7452#line 439
7453 if (! mtd) {
7454 {
7455#line 440
7456 printk("<3>Failed to allocate memory for MTD device\n");
7457 }
7458 {
7459#line 441
7460 __cil_tmp14 = (void *)0;
7461#line 441
7462 return ((struct mtd_info *)__cil_tmp14);
7463 }
7464 } else {
7465
7466 }
7467#line 443
7468 __cil_tmp15 = (unsigned long )mtd;
7469#line 443
7470 __cil_tmp16 = __cil_tmp15 + 360;
7471#line 443
7472 *((void **)__cil_tmp16) = (void *)map;
7473#line 444
7474 *((u_char *)mtd) = (u_char )3;
7475#line 447
7476 __cil_tmp17 = (unsigned long )mtd;
7477#line 447
7478 __cil_tmp18 = __cil_tmp17 + 96;
7479#line 447
7480 *((int (**)(struct mtd_info *mtd , struct erase_info *instr ))__cil_tmp18) = & cfi_intelext_erase_varsize;
7481#line 448
7482 __cil_tmp19 = (unsigned long )mtd;
7483#line 448
7484 __cil_tmp20 = __cil_tmp19 + 128;
7485#line 448
7486 *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen , u_char *buf ))__cil_tmp20) = & cfi_intelext_read;
7487#line 449
7488 __cil_tmp21 = (unsigned long )mtd;
7489#line 449
7490 __cil_tmp22 = __cil_tmp21 + 136;
7491#line 449
7492 *((int (**)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char *buf ))__cil_tmp22) = & cfi_intelext_write_words;
7493#line 450
7494 __cil_tmp23 = (unsigned long )mtd;
7495#line 450
7496 __cil_tmp24 = __cil_tmp23 + 224;
7497#line 450
7498 *((void (**)(struct mtd_info *mtd ))__cil_tmp24) = & cfi_intelext_sync;
7499#line 451
7500 __cil_tmp25 = (unsigned long )mtd;
7501#line 451
7502 __cil_tmp26 = __cil_tmp25 + 232;
7503#line 451
7504 *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp26) = & cfi_intelext_lock;
7505#line 452
7506 __cil_tmp27 = (unsigned long )mtd;
7507#line 452
7508 __cil_tmp28 = __cil_tmp27 + 240;
7509#line 452
7510 *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp28) = & cfi_intelext_unlock;
7511#line 453
7512 __cil_tmp29 = (unsigned long )mtd;
7513#line 453
7514 __cil_tmp30 = __cil_tmp29 + 248;
7515#line 453
7516 *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp30) = & cfi_intelext_is_locked;
7517#line 454
7518 __cil_tmp31 = (unsigned long )mtd;
7519#line 454
7520 __cil_tmp32 = __cil_tmp31 + 272;
7521#line 454
7522 *((int (**)(struct mtd_info *mtd ))__cil_tmp32) = & cfi_intelext_suspend;
7523#line 455
7524 __cil_tmp33 = (unsigned long )mtd;
7525#line 455
7526 __cil_tmp34 = __cil_tmp33 + 280;
7527#line 455
7528 *((void (**)(struct mtd_info *mtd ))__cil_tmp34) = & cfi_intelext_resume;
7529#line 456
7530 __cil_tmp35 = (unsigned long )mtd;
7531#line 456
7532 __cil_tmp36 = __cil_tmp35 + 4;
7533#line 456
7534 *((uint32_t *)__cil_tmp36) = (uint32_t )3072;
7535#line 457
7536 __cil_tmp37 = (unsigned long )mtd;
7537#line 457
7538 __cil_tmp38 = __cil_tmp37 + 56;
7539#line 457
7540 *((char **)__cil_tmp38) = *((char **)map);
7541#line 458
7542 __cil_tmp39 = (unsigned long )mtd;
7543#line 458
7544 __cil_tmp40 = __cil_tmp39 + 20;
7545#line 458
7546 *((uint32_t *)__cil_tmp40) = (uint32_t )1;
7547#line 459
7548 __cil_tmp41 = (unsigned long )mtd;
7549#line 459
7550 __cil_tmp42 = __cil_tmp41 + 24;
7551#line 459
7552 __cil_tmp43 = (unsigned long )cfi;
7553#line 459
7554 __cil_tmp44 = __cil_tmp43 + 48;
7555#line 459
7556 __cil_tmp45 = *((struct cfi_ident **)__cil_tmp44);
7557#line 459
7558 __cil_tmp46 = (unsigned long )__cil_tmp45;
7559#line 459
7560 __cil_tmp47 = __cil_tmp46 + 26;
7561#line 459
7562 __cil_tmp48 = *((uint16_t *)__cil_tmp47);
7563#line 459
7564 __cil_tmp49 = (int )__cil_tmp48;
7565#line 459
7566 __cil_tmp50 = (unsigned long )cfi;
7567#line 459
7568 __cil_tmp51 = __cil_tmp50 + 16;
7569#line 459
7570 __cil_tmp52 = *((int *)__cil_tmp51);
7571#line 459
7572 __cil_tmp53 = __cil_tmp52 << __cil_tmp49;
7573#line 459
7574 *((uint32_t *)__cil_tmp42) = (uint32_t )__cil_tmp53;
7575#line 461
7576 __cil_tmp54 = (unsigned long )mtd;
7577#line 461
7578 __cil_tmp55 = __cil_tmp54 + 312;
7579#line 461
7580 *((int (**)(struct notifier_block * , unsigned long , void * ))__cil_tmp55) = & cfi_intelext_reboot;
7581 {
7582#line 463
7583 __cil_tmp56 = (unsigned long )cfi;
7584#line 463
7585 __cil_tmp57 = __cil_tmp56 + 24;
7586#line 463
7587 __cil_tmp58 = *((int *)__cil_tmp57);
7588#line 463
7589 if (__cil_tmp58 == 1) {
7590#line 469
7591 if (primary) {
7592#line 469
7593 __cil_tmp59 = (unsigned long )cfi;
7594#line 469
7595 __cil_tmp60 = __cil_tmp59 + 48;
7596#line 469
7597 __cil_tmp61 = *((struct cfi_ident **)__cil_tmp60);
7598#line 469
7599 __cil_tmp62 = (unsigned long )__cil_tmp61;
7600#line 469
7601 __cil_tmp63 = __cil_tmp62 + 5;
7602#line 469
7603 __cil_tmp64 = *((uint16_t *)__cil_tmp63);
7604#line 469
7605 tmp___8 = (int )__cil_tmp64;
7606 } else {
7607#line 469
7608 __cil_tmp65 = (unsigned long )cfi;
7609#line 469
7610 __cil_tmp66 = __cil_tmp65 + 48;
7611#line 469
7612 __cil_tmp67 = *((struct cfi_ident **)__cil_tmp66);
7613#line 469
7614 __cil_tmp68 = (unsigned long )__cil_tmp67;
7615#line 469
7616 __cil_tmp69 = __cil_tmp68 + 9;
7617#line 469
7618 __cil_tmp70 = *((uint16_t *)__cil_tmp69);
7619#line 469
7620 tmp___8 = (int )__cil_tmp70;
7621 }
7622 {
7623#line 469
7624 adr = (__u16 )tmp___8;
7625#line 472
7626 extp = read_pri_intelext(map, adr);
7627 }
7628#line 473
7629 if (! extp) {
7630 {
7631#line 474
7632 __cil_tmp71 = (void *)mtd;
7633#line 474
7634 kfree(__cil_tmp71);
7635 }
7636 {
7637#line 475
7638 __cil_tmp72 = (void *)0;
7639#line 475
7640 return ((struct mtd_info *)__cil_tmp72);
7641 }
7642 } else {
7643
7644 }
7645 {
7646#line 479
7647 __cil_tmp73 = (unsigned long )cfi;
7648#line 479
7649 __cil_tmp74 = __cil_tmp73 + 8;
7650#line 479
7651 *((void **)__cil_tmp74) = (void *)extp;
7652#line 481
7653 __cil_tmp75 = 0 * 16UL;
7654#line 481
7655 __cil_tmp76 = (unsigned long )(cfi_fixup_table) + __cil_tmp75;
7656#line 481
7657 __cil_tmp77 = (struct cfi_fixup *)__cil_tmp76;
7658#line 481
7659 cfi_fixup(mtd, __cil_tmp77);
7660 }
7661 {
7662#line 488
7663 __cil_tmp78 = (unsigned long )extp;
7664#line 488
7665 __cil_tmp79 = __cil_tmp78 + 9;
7666#line 488
7667 __cil_tmp80 = *((uint8_t *)__cil_tmp79);
7668#line 488
7669 __cil_tmp81 = (int )__cil_tmp80;
7670#line 488
7671 if (__cil_tmp81 & 1) {
7672 {
7673#line 489
7674 printk("<5>cfi_cmdset_0001: Erase suspend on write enabled\n");
7675 }
7676 } else {
7677
7678 }
7679 }
7680 } else {
7681 {
7682#line 492
7683 __cil_tmp82 = (unsigned long )cfi;
7684#line 492
7685 __cil_tmp83 = __cil_tmp82 + 24;
7686#line 492
7687 __cil_tmp84 = *((int *)__cil_tmp83);
7688#line 492
7689 if (__cil_tmp84 == 0) {
7690 {
7691#line 494
7692 __cil_tmp85 = 0 * 16UL;
7693#line 494
7694 __cil_tmp86 = (unsigned long )(jedec_fixup_table) + __cil_tmp85;
7695#line 494
7696 __cil_tmp87 = (struct cfi_fixup *)__cil_tmp86;
7697#line 494
7698 cfi_fixup(mtd, __cil_tmp87);
7699 }
7700 } else {
7701
7702 }
7703 }
7704 }
7705 }
7706 {
7707#line 497
7708 __cil_tmp88 = 0 * 16UL;
7709#line 497
7710 __cil_tmp89 = (unsigned long )(fixup_table) + __cil_tmp88;
7711#line 497
7712 __cil_tmp90 = (struct cfi_fixup *)__cil_tmp89;
7713#line 497
7714 cfi_fixup(mtd, __cil_tmp90);
7715#line 499
7716 i = 0;
7717 }
7718 {
7719#line 499
7720 while (1) {
7721 while_continue: ;
7722 {
7723#line 499
7724 __cil_tmp91 = (unsigned long )cfi;
7725#line 499
7726 __cil_tmp92 = __cil_tmp91 + 64;
7727#line 499
7728 __cil_tmp93 = *((int *)__cil_tmp92);
7729#line 499
7730 if (i < __cil_tmp93) {
7731
7732 } else {
7733#line 499
7734 goto while_break;
7735 }
7736 }
7737 {
7738#line 500
7739 __cil_tmp94 = (unsigned long )cfi;
7740#line 500
7741 __cil_tmp95 = __cil_tmp94 + 48;
7742#line 500
7743 __cil_tmp96 = *((struct cfi_ident **)__cil_tmp95);
7744#line 500
7745 __cil_tmp97 = (unsigned long )__cil_tmp96;
7746#line 500
7747 __cil_tmp98 = __cil_tmp97 + 15;
7748#line 500
7749 if (*((uint8_t *)__cil_tmp98)) {
7750#line 501
7751 __cil_tmp99 = i * 176UL;
7752#line 501
7753 __cil_tmp100 = __cil_tmp99 + 144;
7754#line 501
7755 __cil_tmp101 = 120 + __cil_tmp100;
7756#line 501
7757 __cil_tmp102 = (unsigned long )cfi;
7758#line 501
7759 __cil_tmp103 = __cil_tmp102 + __cil_tmp101;
7760#line 501
7761 __cil_tmp104 = (unsigned long )cfi;
7762#line 501
7763 __cil_tmp105 = __cil_tmp104 + 48;
7764#line 501
7765 __cil_tmp106 = *((struct cfi_ident **)__cil_tmp105);
7766#line 501
7767 __cil_tmp107 = (unsigned long )__cil_tmp106;
7768#line 501
7769 __cil_tmp108 = __cil_tmp107 + 15;
7770#line 501
7771 __cil_tmp109 = *((uint8_t *)__cil_tmp108);
7772#line 501
7773 __cil_tmp110 = (int )__cil_tmp109;
7774#line 501
7775 *((int *)__cil_tmp103) = 1 << __cil_tmp110;
7776 } else {
7777#line 504
7778 __cil_tmp111 = i * 176UL;
7779#line 504
7780 __cil_tmp112 = __cil_tmp111 + 144;
7781#line 504
7782 __cil_tmp113 = 120 + __cil_tmp112;
7783#line 504
7784 __cil_tmp114 = (unsigned long )cfi;
7785#line 504
7786 __cil_tmp115 = __cil_tmp114 + __cil_tmp113;
7787#line 504
7788 *((int *)__cil_tmp115) = 50000;
7789 }
7790 }
7791 {
7792#line 506
7793 __cil_tmp116 = (unsigned long )cfi;
7794#line 506
7795 __cil_tmp117 = __cil_tmp116 + 48;
7796#line 506
7797 __cil_tmp118 = *((struct cfi_ident **)__cil_tmp117);
7798#line 506
7799 __cil_tmp119 = (unsigned long )__cil_tmp118;
7800#line 506
7801 __cil_tmp120 = __cil_tmp119 + 16;
7802#line 506
7803 if (*((uint8_t *)__cil_tmp120)) {
7804#line 507
7805 __cil_tmp121 = i * 176UL;
7806#line 507
7807 __cil_tmp122 = __cil_tmp121 + 148;
7808#line 507
7809 __cil_tmp123 = 120 + __cil_tmp122;
7810#line 507
7811 __cil_tmp124 = (unsigned long )cfi;
7812#line 507
7813 __cil_tmp125 = __cil_tmp124 + __cil_tmp123;
7814#line 507
7815 __cil_tmp126 = (unsigned long )cfi;
7816#line 507
7817 __cil_tmp127 = __cil_tmp126 + 48;
7818#line 507
7819 __cil_tmp128 = *((struct cfi_ident **)__cil_tmp127);
7820#line 507
7821 __cil_tmp129 = (unsigned long )__cil_tmp128;
7822#line 507
7823 __cil_tmp130 = __cil_tmp129 + 16;
7824#line 507
7825 __cil_tmp131 = *((uint8_t *)__cil_tmp130);
7826#line 507
7827 __cil_tmp132 = (int )__cil_tmp131;
7828#line 507
7829 *((int *)__cil_tmp125) = 1 << __cil_tmp132;
7830 } else {
7831
7832 }
7833 }
7834 {
7835#line 511
7836 __cil_tmp133 = (unsigned long )cfi;
7837#line 511
7838 __cil_tmp134 = __cil_tmp133 + 48;
7839#line 511
7840 __cil_tmp135 = *((struct cfi_ident **)__cil_tmp134);
7841#line 511
7842 __cil_tmp136 = (unsigned long )__cil_tmp135;
7843#line 511
7844 __cil_tmp137 = __cil_tmp136 + 17;
7845#line 511
7846 if (*((uint8_t *)__cil_tmp137)) {
7847#line 512
7848 __cil_tmp138 = i * 176UL;
7849#line 512
7850 __cil_tmp139 = __cil_tmp138 + 152;
7851#line 512
7852 __cil_tmp140 = 120 + __cil_tmp139;
7853#line 512
7854 __cil_tmp141 = (unsigned long )cfi;
7855#line 512
7856 __cil_tmp142 = __cil_tmp141 + __cil_tmp140;
7857#line 512
7858 __cil_tmp143 = (unsigned long )cfi;
7859#line 512
7860 __cil_tmp144 = __cil_tmp143 + 48;
7861#line 512
7862 __cil_tmp145 = *((struct cfi_ident **)__cil_tmp144);
7863#line 512
7864 __cil_tmp146 = (unsigned long )__cil_tmp145;
7865#line 512
7866 __cil_tmp147 = __cil_tmp146 + 17;
7867#line 512
7868 __cil_tmp148 = *((uint8_t *)__cil_tmp147);
7869#line 512
7870 __cil_tmp149 = (int )__cil_tmp148;
7871#line 512
7872 *((int *)__cil_tmp142) = 1000 << __cil_tmp149;
7873 } else {
7874#line 515
7875 __cil_tmp150 = i * 176UL;
7876#line 515
7877 __cil_tmp151 = __cil_tmp150 + 152;
7878#line 515
7879 __cil_tmp152 = 120 + __cil_tmp151;
7880#line 515
7881 __cil_tmp153 = (unsigned long )cfi;
7882#line 515
7883 __cil_tmp154 = __cil_tmp153 + __cil_tmp152;
7884#line 515
7885 *((int *)__cil_tmp154) = 2000000;
7886 }
7887 }
7888 {
7889#line 517
7890 __cil_tmp155 = (unsigned long )cfi;
7891#line 517
7892 __cil_tmp156 = __cil_tmp155 + 48;
7893#line 517
7894 __cil_tmp157 = *((struct cfi_ident **)__cil_tmp156);
7895#line 517
7896 __cil_tmp158 = (unsigned long )__cil_tmp157;
7897#line 517
7898 __cil_tmp159 = __cil_tmp158 + 15;
7899#line 517
7900 if (*((uint8_t *)__cil_tmp159)) {
7901 {
7902#line 517
7903 __cil_tmp160 = (unsigned long )cfi;
7904#line 517
7905 __cil_tmp161 = __cil_tmp160 + 48;
7906#line 517
7907 __cil_tmp162 = *((struct cfi_ident **)__cil_tmp161);
7908#line 517
7909 __cil_tmp163 = (unsigned long )__cil_tmp162;
7910#line 517
7911 __cil_tmp164 = __cil_tmp163 + 19;
7912#line 517
7913 if (*((uint8_t *)__cil_tmp164)) {
7914#line 519
7915 __cil_tmp165 = i * 176UL;
7916#line 519
7917 __cil_tmp166 = __cil_tmp165 + 156;
7918#line 519
7919 __cil_tmp167 = 120 + __cil_tmp166;
7920#line 519
7921 __cil_tmp168 = (unsigned long )cfi;
7922#line 519
7923 __cil_tmp169 = __cil_tmp168 + __cil_tmp167;
7924#line 519
7925 __cil_tmp170 = (unsigned long )cfi;
7926#line 519
7927 __cil_tmp171 = __cil_tmp170 + 48;
7928#line 519
7929 __cil_tmp172 = *((struct cfi_ident **)__cil_tmp171);
7930#line 519
7931 __cil_tmp173 = (unsigned long )__cil_tmp172;
7932#line 519
7933 __cil_tmp174 = __cil_tmp173 + 19;
7934#line 519
7935 __cil_tmp175 = *((uint8_t *)__cil_tmp174);
7936#line 519
7937 __cil_tmp176 = (int )__cil_tmp175;
7938#line 519
7939 __cil_tmp177 = (unsigned long )cfi;
7940#line 519
7941 __cil_tmp178 = __cil_tmp177 + 48;
7942#line 519
7943 __cil_tmp179 = *((struct cfi_ident **)__cil_tmp178);
7944#line 519
7945 __cil_tmp180 = (unsigned long )__cil_tmp179;
7946#line 519
7947 __cil_tmp181 = __cil_tmp180 + 15;
7948#line 519
7949 __cil_tmp182 = *((uint8_t *)__cil_tmp181);
7950#line 519
7951 __cil_tmp183 = (int )__cil_tmp182;
7952#line 519
7953 __cil_tmp184 = __cil_tmp183 + __cil_tmp176;
7954#line 519
7955 *((int *)__cil_tmp169) = 1 << __cil_tmp184;
7956 } else {
7957#line 523
7958 __cil_tmp185 = i * 176UL;
7959#line 523
7960 __cil_tmp186 = __cil_tmp185 + 156;
7961#line 523
7962 __cil_tmp187 = 120 + __cil_tmp186;
7963#line 523
7964 __cil_tmp188 = (unsigned long )cfi;
7965#line 523
7966 __cil_tmp189 = __cil_tmp188 + __cil_tmp187;
7967#line 523
7968 *((int *)__cil_tmp189) = 400000;
7969 }
7970 }
7971 } else {
7972#line 523
7973 __cil_tmp190 = i * 176UL;
7974#line 523
7975 __cil_tmp191 = __cil_tmp190 + 156;
7976#line 523
7977 __cil_tmp192 = 120 + __cil_tmp191;
7978#line 523
7979 __cil_tmp193 = (unsigned long )cfi;
7980#line 523
7981 __cil_tmp194 = __cil_tmp193 + __cil_tmp192;
7982#line 523
7983 *((int *)__cil_tmp194) = 400000;
7984 }
7985 }
7986 {
7987#line 525
7988 __cil_tmp195 = (unsigned long )cfi;
7989#line 525
7990 __cil_tmp196 = __cil_tmp195 + 48;
7991#line 525
7992 __cil_tmp197 = *((struct cfi_ident **)__cil_tmp196);
7993#line 525
7994 __cil_tmp198 = (unsigned long )__cil_tmp197;
7995#line 525
7996 __cil_tmp199 = __cil_tmp198 + 16;
7997#line 525
7998 if (*((uint8_t *)__cil_tmp199)) {
7999 {
8000#line 525
8001 __cil_tmp200 = (unsigned long )cfi;
8002#line 525
8003 __cil_tmp201 = __cil_tmp200 + 48;
8004#line 525
8005 __cil_tmp202 = *((struct cfi_ident **)__cil_tmp201);
8006#line 525
8007 __cil_tmp203 = (unsigned long )__cil_tmp202;
8008#line 525
8009 __cil_tmp204 = __cil_tmp203 + 20;
8010#line 525
8011 if (*((uint8_t *)__cil_tmp204)) {
8012#line 527
8013 __cil_tmp205 = i * 176UL;
8014#line 527
8015 __cil_tmp206 = __cil_tmp205 + 160;
8016#line 527
8017 __cil_tmp207 = 120 + __cil_tmp206;
8018#line 527
8019 __cil_tmp208 = (unsigned long )cfi;
8020#line 527
8021 __cil_tmp209 = __cil_tmp208 + __cil_tmp207;
8022#line 527
8023 __cil_tmp210 = (unsigned long )cfi;
8024#line 527
8025 __cil_tmp211 = __cil_tmp210 + 48;
8026#line 527
8027 __cil_tmp212 = *((struct cfi_ident **)__cil_tmp211);
8028#line 527
8029 __cil_tmp213 = (unsigned long )__cil_tmp212;
8030#line 527
8031 __cil_tmp214 = __cil_tmp213 + 20;
8032#line 527
8033 __cil_tmp215 = *((uint8_t *)__cil_tmp214);
8034#line 527
8035 __cil_tmp216 = (int )__cil_tmp215;
8036#line 527
8037 __cil_tmp217 = (unsigned long )cfi;
8038#line 527
8039 __cil_tmp218 = __cil_tmp217 + 48;
8040#line 527
8041 __cil_tmp219 = *((struct cfi_ident **)__cil_tmp218);
8042#line 527
8043 __cil_tmp220 = (unsigned long )__cil_tmp219;
8044#line 527
8045 __cil_tmp221 = __cil_tmp220 + 16;
8046#line 527
8047 __cil_tmp222 = *((uint8_t *)__cil_tmp221);
8048#line 527
8049 __cil_tmp223 = (int )__cil_tmp222;
8050#line 527
8051 __cil_tmp224 = __cil_tmp223 + __cil_tmp216;
8052#line 527
8053 *((int *)__cil_tmp209) = 1 << __cil_tmp224;
8054 } else {
8055
8056 }
8057 }
8058 } else {
8059
8060 }
8061 }
8062 {
8063#line 531
8064 __cil_tmp225 = (unsigned long )cfi;
8065#line 531
8066 __cil_tmp226 = __cil_tmp225 + 48;
8067#line 531
8068 __cil_tmp227 = *((struct cfi_ident **)__cil_tmp226);
8069#line 531
8070 __cil_tmp228 = (unsigned long )__cil_tmp227;
8071#line 531
8072 __cil_tmp229 = __cil_tmp228 + 17;
8073#line 531
8074 if (*((uint8_t *)__cil_tmp229)) {
8075 {
8076#line 531
8077 __cil_tmp230 = (unsigned long )cfi;
8078#line 531
8079 __cil_tmp231 = __cil_tmp230 + 48;
8080#line 531
8081 __cil_tmp232 = *((struct cfi_ident **)__cil_tmp231);
8082#line 531
8083 __cil_tmp233 = (unsigned long )__cil_tmp232;
8084#line 531
8085 __cil_tmp234 = __cil_tmp233 + 21;
8086#line 531
8087 if (*((uint8_t *)__cil_tmp234)) {
8088#line 533
8089 __cil_tmp235 = i * 176UL;
8090#line 533
8091 __cil_tmp236 = __cil_tmp235 + 164;
8092#line 533
8093 __cil_tmp237 = 120 + __cil_tmp236;
8094#line 533
8095 __cil_tmp238 = (unsigned long )cfi;
8096#line 533
8097 __cil_tmp239 = __cil_tmp238 + __cil_tmp237;
8098#line 533
8099 __cil_tmp240 = (unsigned long )cfi;
8100#line 533
8101 __cil_tmp241 = __cil_tmp240 + 48;
8102#line 533
8103 __cil_tmp242 = *((struct cfi_ident **)__cil_tmp241);
8104#line 533
8105 __cil_tmp243 = (unsigned long )__cil_tmp242;
8106#line 533
8107 __cil_tmp244 = __cil_tmp243 + 21;
8108#line 533
8109 __cil_tmp245 = *((uint8_t *)__cil_tmp244);
8110#line 533
8111 __cil_tmp246 = (int )__cil_tmp245;
8112#line 533
8113 __cil_tmp247 = (unsigned long )cfi;
8114#line 533
8115 __cil_tmp248 = __cil_tmp247 + 48;
8116#line 533
8117 __cil_tmp249 = *((struct cfi_ident **)__cil_tmp248);
8118#line 533
8119 __cil_tmp250 = (unsigned long )__cil_tmp249;
8120#line 533
8121 __cil_tmp251 = __cil_tmp250 + 17;
8122#line 533
8123 __cil_tmp252 = *((uint8_t *)__cil_tmp251);
8124#line 533
8125 __cil_tmp253 = (int )__cil_tmp252;
8126#line 533
8127 __cil_tmp254 = __cil_tmp253 + __cil_tmp246;
8128#line 533
8129 *((int *)__cil_tmp239) = 1000 << __cil_tmp254;
8130 } else {
8131#line 537
8132 __cil_tmp255 = i * 176UL;
8133#line 537
8134 __cil_tmp256 = __cil_tmp255 + 164;
8135#line 537
8136 __cil_tmp257 = 120 + __cil_tmp256;
8137#line 537
8138 __cil_tmp258 = (unsigned long )cfi;
8139#line 537
8140 __cil_tmp259 = __cil_tmp258 + __cil_tmp257;
8141#line 537
8142 *((int *)__cil_tmp259) = 16000000;
8143 }
8144 }
8145 } else {
8146#line 537
8147 __cil_tmp260 = i * 176UL;
8148#line 537
8149 __cil_tmp261 = __cil_tmp260 + 164;
8150#line 537
8151 __cil_tmp262 = 120 + __cil_tmp261;
8152#line 537
8153 __cil_tmp263 = (unsigned long )cfi;
8154#line 537
8155 __cil_tmp264 = __cil_tmp263 + __cil_tmp262;
8156#line 537
8157 *((int *)__cil_tmp264) = 16000000;
8158 }
8159 }
8160#line 539
8161 __cil_tmp265 = i * 176UL;
8162#line 539
8163 __cil_tmp266 = __cil_tmp265 + 8;
8164#line 539
8165 __cil_tmp267 = 120 + __cil_tmp266;
8166#line 539
8167 __cil_tmp268 = (unsigned long )cfi;
8168#line 539
8169 __cil_tmp269 = __cil_tmp268 + __cil_tmp267;
8170#line 539
8171 *((int *)__cil_tmp269) = 0;
8172 {
8173#line 540
8174 while (1) {
8175 while_continue___0: ;
8176 {
8177#line 540
8178 __cil_tmp270 = i * 176UL;
8179#line 540
8180 __cil_tmp271 = __cil_tmp270 + 104;
8181#line 540
8182 __cil_tmp272 = 120 + __cil_tmp271;
8183#line 540
8184 __cil_tmp273 = (unsigned long )cfi;
8185#line 540
8186 __cil_tmp274 = __cil_tmp273 + __cil_tmp272;
8187#line 540
8188 __cil_tmp275 = (wait_queue_head_t *)__cil_tmp274;
8189#line 540
8190 __init_waitqueue_head(__cil_tmp275, "&(cfi->chips[i].wq)", & __key___3);
8191 }
8192#line 540
8193 goto while_break___0;
8194 }
8195 while_break___0: ;
8196 }
8197#line 499
8198 i = i + 1;
8199 }
8200 while_break: ;
8201 }
8202 {
8203#line 543
8204 __cil_tmp276 = (unsigned long )map;
8205#line 543
8206 __cil_tmp277 = __cil_tmp276 + 128;
8207#line 543
8208 *((struct mtd_chip_driver **)__cil_tmp277) = & cfi_intelext_chipdrv;
8209#line 545
8210 tmp___9 = cfi_intelext_setup(mtd);
8211 }
8212#line 545
8213 return (tmp___9);
8214}
8215}
8216#line 547 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8217struct mtd_info *cfi_cmdset_0003(struct map_info *map , int primary )
8218{ struct mtd_info *tmp___7 ;
8219
8220 {
8221 {
8222#line 547
8223 tmp___7 = cfi_cmdset_0001(map, primary);
8224 }
8225#line 547
8226 return (tmp___7);
8227}
8228}
8229#line 548 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8230struct mtd_info *cfi_cmdset_0200(struct map_info *map , int primary )
8231{ struct mtd_info *tmp___7 ;
8232
8233 {
8234 {
8235#line 548
8236 tmp___7 = cfi_cmdset_0001(map, primary);
8237 }
8238#line 548
8239 return (tmp___7);
8240}
8241}
8242#line 549
8243extern void *__crc_cfi_cmdset_0001 __attribute__((__weak__)) ;
8244#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8245static unsigned long __kcrctab_cfi_cmdset_0001 __attribute__((__used__, __unused__,
8246__section__("___kcrctab_gpl+cfi_cmdset_0001"))) = (unsigned long )((unsigned long )(& __crc_cfi_cmdset_0001));
8247#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8248static char __kstrtab_cfi_cmdset_0001[16] __attribute__((__section__("__ksymtab_strings"),
8249__aligned__(1))) =
8250#line 549
8251 { (char )'c', (char )'f', (char const )'i', (char const )'_',
8252 (char )'c', (char )'m', (char const )'d', (char const )'s',
8253 (char )'e', (char )'t', (char const )'_', (char const )'0',
8254 (char )'0', (char )'0', (char const )'1', (char const )'\000'};
8255#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8256static struct kernel_symbol __ksymtab_cfi_cmdset_0001 __attribute__((__used__,
8257__unused__, __section__("___ksymtab_gpl+cfi_cmdset_0001"))) = {(unsigned long )(& cfi_cmdset_0001), __kstrtab_cfi_cmdset_0001};
8258#line 550
8259extern void *__crc_cfi_cmdset_0003 __attribute__((__weak__)) ;
8260#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8261static unsigned long __kcrctab_cfi_cmdset_0003 __attribute__((__used__, __unused__,
8262__section__("___kcrctab_gpl+cfi_cmdset_0003"))) = (unsigned long )((unsigned long )(& __crc_cfi_cmdset_0003));
8263#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8264static char __kstrtab_cfi_cmdset_0003[16] __attribute__((__section__("__ksymtab_strings"),
8265__aligned__(1))) =
8266#line 550
8267 { (char )'c', (char )'f', (char const )'i', (char const )'_',
8268 (char )'c', (char )'m', (char const )'d', (char const )'s',
8269 (char )'e', (char )'t', (char const )'_', (char const )'0',
8270 (char )'0', (char )'0', (char const )'3', (char const )'\000'};
8271#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8272static struct kernel_symbol __ksymtab_cfi_cmdset_0003 __attribute__((__used__,
8273__unused__, __section__("___ksymtab_gpl+cfi_cmdset_0003"))) = {(unsigned long )(& cfi_cmdset_0003), __kstrtab_cfi_cmdset_0003};
8274#line 551
8275extern void *__crc_cfi_cmdset_0200 __attribute__((__weak__)) ;
8276#line 551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8277static unsigned long __kcrctab_cfi_cmdset_0200 __attribute__((__used__, __unused__,
8278__section__("___kcrctab_gpl+cfi_cmdset_0200"))) = (unsigned long )((unsigned long )(& __crc_cfi_cmdset_0200));
8279#line 551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8280static char __kstrtab_cfi_cmdset_0200[16] __attribute__((__section__("__ksymtab_strings"),
8281__aligned__(1))) =
8282#line 551
8283 { (char )'c', (char )'f', (char const )'i', (char const )'_',
8284 (char )'c', (char )'m', (char const )'d', (char const )'s',
8285 (char )'e', (char )'t', (char const )'_', (char const )'0',
8286 (char )'2', (char )'0', (char const )'0', (char const )'\000'};
8287#line 551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8288static struct kernel_symbol __ksymtab_cfi_cmdset_0200 __attribute__((__used__,
8289__unused__, __section__("___ksymtab_gpl+cfi_cmdset_0200"))) = {(unsigned long )(& cfi_cmdset_0200), __kstrtab_cfi_cmdset_0200};
8290#line 553 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
8291static struct mtd_info *cfi_intelext_setup(struct mtd_info *mtd )
8292{ struct map_info *map ;
8293 struct cfi_private *cfi ;
8294 unsigned long offset ;
8295 int i ;
8296 int j ;
8297 unsigned long devsize ;
8298 void *tmp___7 ;
8299 unsigned long ernum ;
8300 unsigned long ersize ;
8301 void *tmp___8 ;
8302 int tmp___9 ;
8303 unsigned long __cil_tmp13 ;
8304 unsigned long __cil_tmp14 ;
8305 void *__cil_tmp15 ;
8306 struct cfi_private **__cil_tmp16 ;
8307 unsigned long __cil_tmp17 ;
8308 unsigned long __cil_tmp18 ;
8309 void *__cil_tmp19 ;
8310 struct cfi_private **__cil_tmp20 ;
8311 struct cfi_private *__cil_tmp21 ;
8312 unsigned long __cil_tmp22 ;
8313 unsigned long __cil_tmp23 ;
8314 int __cil_tmp24 ;
8315 struct cfi_private **__cil_tmp25 ;
8316 struct cfi_private *__cil_tmp26 ;
8317 unsigned long __cil_tmp27 ;
8318 unsigned long __cil_tmp28 ;
8319 struct cfi_ident *__cil_tmp29 ;
8320 unsigned long __cil_tmp30 ;
8321 unsigned long __cil_tmp31 ;
8322 uint8_t __cil_tmp32 ;
8323 int __cil_tmp33 ;
8324 int __cil_tmp34 ;
8325 int __cil_tmp35 ;
8326 unsigned long __cil_tmp36 ;
8327 unsigned long __cil_tmp37 ;
8328 struct cfi_private **__cil_tmp38 ;
8329 struct cfi_private *__cil_tmp39 ;
8330 unsigned long __cil_tmp40 ;
8331 unsigned long __cil_tmp41 ;
8332 int __cil_tmp42 ;
8333 unsigned long __cil_tmp43 ;
8334 unsigned long __cil_tmp44 ;
8335 unsigned long __cil_tmp45 ;
8336 unsigned long __cil_tmp46 ;
8337 struct cfi_private **__cil_tmp47 ;
8338 struct cfi_private *__cil_tmp48 ;
8339 unsigned long __cil_tmp49 ;
8340 unsigned long __cil_tmp50 ;
8341 int __cil_tmp51 ;
8342 struct cfi_private **__cil_tmp52 ;
8343 struct cfi_private *__cil_tmp53 ;
8344 unsigned long __cil_tmp54 ;
8345 unsigned long __cil_tmp55 ;
8346 struct cfi_ident *__cil_tmp56 ;
8347 unsigned long __cil_tmp57 ;
8348 unsigned long __cil_tmp58 ;
8349 uint8_t __cil_tmp59 ;
8350 int __cil_tmp60 ;
8351 unsigned long __cil_tmp61 ;
8352 unsigned long __cil_tmp62 ;
8353 int __cil_tmp63 ;
8354 unsigned long __cil_tmp64 ;
8355 unsigned long __cil_tmp65 ;
8356 unsigned long __cil_tmp66 ;
8357 unsigned long __cil_tmp67 ;
8358 unsigned long __cil_tmp68 ;
8359 unsigned long __cil_tmp69 ;
8360 struct mtd_erase_region_info *__cil_tmp70 ;
8361 struct cfi_private **__cil_tmp71 ;
8362 struct cfi_private *__cil_tmp72 ;
8363 unsigned long __cil_tmp73 ;
8364 unsigned long __cil_tmp74 ;
8365 struct cfi_ident *__cil_tmp75 ;
8366 unsigned long __cil_tmp76 ;
8367 unsigned long __cil_tmp77 ;
8368 uint8_t __cil_tmp78 ;
8369 int __cil_tmp79 ;
8370 struct cfi_private **__cil_tmp80 ;
8371 struct cfi_private *__cil_tmp81 ;
8372 unsigned long __cil_tmp82 ;
8373 unsigned long __cil_tmp83 ;
8374 int __cil_tmp84 ;
8375 unsigned int __cil_tmp85 ;
8376 unsigned long __cil_tmp86 ;
8377 unsigned long __cil_tmp87 ;
8378 struct cfi_private **__cil_tmp88 ;
8379 struct cfi_private *__cil_tmp89 ;
8380 unsigned long __cil_tmp90 ;
8381 unsigned long __cil_tmp91 ;
8382 struct cfi_ident *__cil_tmp92 ;
8383 unsigned long __cil_tmp93 ;
8384 unsigned long __cil_tmp94 ;
8385 uint32_t __cil_tmp95 ;
8386 uint32_t __cil_tmp96 ;
8387 unsigned int __cil_tmp97 ;
8388 unsigned int __cil_tmp98 ;
8389 unsigned long __cil_tmp99 ;
8390 unsigned long __cil_tmp100 ;
8391 struct cfi_private **__cil_tmp101 ;
8392 struct cfi_private *__cil_tmp102 ;
8393 unsigned long __cil_tmp103 ;
8394 unsigned long __cil_tmp104 ;
8395 struct cfi_ident *__cil_tmp105 ;
8396 unsigned long __cil_tmp106 ;
8397 unsigned long __cil_tmp107 ;
8398 uint32_t __cil_tmp108 ;
8399 unsigned int __cil_tmp109 ;
8400 unsigned int __cil_tmp110 ;
8401 unsigned long __cil_tmp111 ;
8402 unsigned long __cil_tmp112 ;
8403 uint32_t __cil_tmp113 ;
8404 unsigned long __cil_tmp114 ;
8405 unsigned long __cil_tmp115 ;
8406 unsigned long __cil_tmp116 ;
8407 struct cfi_private **__cil_tmp117 ;
8408 struct cfi_private *__cil_tmp118 ;
8409 unsigned long __cil_tmp119 ;
8410 unsigned long __cil_tmp120 ;
8411 int __cil_tmp121 ;
8412 struct cfi_private **__cil_tmp122 ;
8413 struct cfi_private *__cil_tmp123 ;
8414 unsigned long __cil_tmp124 ;
8415 unsigned long __cil_tmp125 ;
8416 struct cfi_ident *__cil_tmp126 ;
8417 unsigned long __cil_tmp127 ;
8418 unsigned long __cil_tmp128 ;
8419 uint8_t __cil_tmp129 ;
8420 int __cil_tmp130 ;
8421 int __cil_tmp131 ;
8422 int __cil_tmp132 ;
8423 unsigned long __cil_tmp133 ;
8424 unsigned long __cil_tmp134 ;
8425 struct mtd_erase_region_info *__cil_tmp135 ;
8426 struct mtd_erase_region_info *__cil_tmp136 ;
8427 unsigned long __cil_tmp137 ;
8428 unsigned long __cil_tmp138 ;
8429 unsigned long __cil_tmp139 ;
8430 struct cfi_private **__cil_tmp140 ;
8431 struct cfi_private *__cil_tmp141 ;
8432 unsigned long __cil_tmp142 ;
8433 unsigned long __cil_tmp143 ;
8434 struct cfi_ident *__cil_tmp144 ;
8435 unsigned long __cil_tmp145 ;
8436 unsigned long __cil_tmp146 ;
8437 uint8_t __cil_tmp147 ;
8438 int __cil_tmp148 ;
8439 int __cil_tmp149 ;
8440 int __cil_tmp150 ;
8441 unsigned long __cil_tmp151 ;
8442 unsigned long __cil_tmp152 ;
8443 struct mtd_erase_region_info *__cil_tmp153 ;
8444 struct mtd_erase_region_info *__cil_tmp154 ;
8445 unsigned long __cil_tmp155 ;
8446 unsigned long __cil_tmp156 ;
8447 struct cfi_private **__cil_tmp157 ;
8448 struct cfi_private *__cil_tmp158 ;
8449 unsigned long __cil_tmp159 ;
8450 unsigned long __cil_tmp160 ;
8451 struct cfi_ident *__cil_tmp161 ;
8452 unsigned long __cil_tmp162 ;
8453 unsigned long __cil_tmp163 ;
8454 uint8_t __cil_tmp164 ;
8455 int __cil_tmp165 ;
8456 int __cil_tmp166 ;
8457 int __cil_tmp167 ;
8458 unsigned long __cil_tmp168 ;
8459 unsigned long __cil_tmp169 ;
8460 struct mtd_erase_region_info *__cil_tmp170 ;
8461 struct mtd_erase_region_info *__cil_tmp171 ;
8462 unsigned long __cil_tmp172 ;
8463 unsigned long __cil_tmp173 ;
8464 unsigned long __cil_tmp174 ;
8465 unsigned long __cil_tmp175 ;
8466 struct cfi_private **__cil_tmp176 ;
8467 struct cfi_private *__cil_tmp177 ;
8468 unsigned long __cil_tmp178 ;
8469 unsigned long __cil_tmp179 ;
8470 struct cfi_ident *__cil_tmp180 ;
8471 unsigned long __cil_tmp181 ;
8472 unsigned long __cil_tmp182 ;
8473 uint8_t __cil_tmp183 ;
8474 int __cil_tmp184 ;
8475 int __cil_tmp185 ;
8476 int __cil_tmp186 ;
8477 unsigned long __cil_tmp187 ;
8478 unsigned long __cil_tmp188 ;
8479 struct mtd_erase_region_info *__cil_tmp189 ;
8480 struct mtd_erase_region_info *__cil_tmp190 ;
8481 unsigned long __cil_tmp191 ;
8482 unsigned long __cil_tmp192 ;
8483 unsigned long __cil_tmp193 ;
8484 unsigned long __cil_tmp194 ;
8485 unsigned long __cil_tmp195 ;
8486 int __cil_tmp196 ;
8487 unsigned long __cil_tmp197 ;
8488 unsigned long __cil_tmp198 ;
8489 struct mtd_erase_region_info *__cil_tmp199 ;
8490 struct mtd_erase_region_info *__cil_tmp200 ;
8491 uint64_t __cil_tmp201 ;
8492 unsigned long __cil_tmp202 ;
8493 unsigned long __cil_tmp203 ;
8494 struct mtd_erase_region_info *__cil_tmp204 ;
8495 struct mtd_erase_region_info *__cil_tmp205 ;
8496 unsigned long __cil_tmp206 ;
8497 unsigned long __cil_tmp207 ;
8498 uint32_t __cil_tmp208 ;
8499 unsigned long __cil_tmp209 ;
8500 unsigned long __cil_tmp210 ;
8501 struct mtd_erase_region_info *__cil_tmp211 ;
8502 struct mtd_erase_region_info *__cil_tmp212 ;
8503 unsigned long __cil_tmp213 ;
8504 unsigned long __cil_tmp214 ;
8505 uint32_t __cil_tmp215 ;
8506 unsigned long __cil_tmp216 ;
8507 unsigned long __cil_tmp217 ;
8508 unsigned long __cil_tmp218 ;
8509 unsigned long __cil_tmp219 ;
8510 unsigned long __cil_tmp220 ;
8511 unsigned long __cil_tmp221 ;
8512 unsigned long __cil_tmp222 ;
8513 unsigned long __cil_tmp223 ;
8514 unsigned long __cil_tmp224 ;
8515 unsigned long __cil_tmp225 ;
8516 unsigned long __cil_tmp226 ;
8517 unsigned long __cil_tmp227 ;
8518 unsigned long __cil_tmp228 ;
8519 unsigned long __cil_tmp229 ;
8520 struct notifier_block *__cil_tmp230 ;
8521 unsigned long __cil_tmp231 ;
8522 unsigned long __cil_tmp232 ;
8523 struct mtd_erase_region_info *__cil_tmp233 ;
8524 void *__cil_tmp234 ;
8525 void *__cil_tmp235 ;
8526 struct cfi_private **__cil_tmp236 ;
8527 struct cfi_private *__cil_tmp237 ;
8528 unsigned long __cil_tmp238 ;
8529 unsigned long __cil_tmp239 ;
8530 void *__cil_tmp240 ;
8531 void *__cil_tmp241 ;
8532 void *__cil_tmp242 ;
8533
8534 {
8535 {
8536#line 555
8537 __cil_tmp13 = (unsigned long )mtd;
8538#line 555
8539 __cil_tmp14 = __cil_tmp13 + 360;
8540#line 555
8541 __cil_tmp15 = *((void **)__cil_tmp14);
8542#line 555
8543 map = (struct map_info *)__cil_tmp15;
8544#line 556
8545 __cil_tmp16 = & cfi;
8546#line 556
8547 __cil_tmp17 = (unsigned long )map;
8548#line 556
8549 __cil_tmp18 = __cil_tmp17 + 120;
8550#line 556
8551 __cil_tmp19 = *((void **)__cil_tmp18);
8552#line 556
8553 *__cil_tmp16 = (struct cfi_private *)__cil_tmp19;
8554#line 557
8555 offset = 0UL;
8556#line 559
8557 __cil_tmp20 = & cfi;
8558#line 559
8559 __cil_tmp21 = *__cil_tmp20;
8560#line 559
8561 __cil_tmp22 = (unsigned long )__cil_tmp21;
8562#line 559
8563 __cil_tmp23 = __cil_tmp22 + 16;
8564#line 559
8565 __cil_tmp24 = *((int *)__cil_tmp23);
8566#line 559
8567 __cil_tmp25 = & cfi;
8568#line 559
8569 __cil_tmp26 = *__cil_tmp25;
8570#line 559
8571 __cil_tmp27 = (unsigned long )__cil_tmp26;
8572#line 559
8573 __cil_tmp28 = __cil_tmp27 + 48;
8574#line 559
8575 __cil_tmp29 = *((struct cfi_ident **)__cil_tmp28);
8576#line 559
8577 __cil_tmp30 = (unsigned long )__cil_tmp29;
8578#line 559
8579 __cil_tmp31 = __cil_tmp30 + 23;
8580#line 559
8581 __cil_tmp32 = *((uint8_t *)__cil_tmp31);
8582#line 559
8583 __cil_tmp33 = (int )__cil_tmp32;
8584#line 559
8585 __cil_tmp34 = 1 << __cil_tmp33;
8586#line 559
8587 __cil_tmp35 = __cil_tmp34 * __cil_tmp24;
8588#line 559
8589 devsize = (unsigned long )__cil_tmp35;
8590#line 563
8591 __cil_tmp36 = (unsigned long )mtd;
8592#line 563
8593 __cil_tmp37 = __cil_tmp36 + 8;
8594#line 563
8595 __cil_tmp38 = & cfi;
8596#line 563
8597 __cil_tmp39 = *__cil_tmp38;
8598#line 563
8599 __cil_tmp40 = (unsigned long )__cil_tmp39;
8600#line 563
8601 __cil_tmp41 = __cil_tmp40 + 64;
8602#line 563
8603 __cil_tmp42 = *((int *)__cil_tmp41);
8604#line 563
8605 __cil_tmp43 = (unsigned long )__cil_tmp42;
8606#line 563
8607 __cil_tmp44 = devsize * __cil_tmp43;
8608#line 563
8609 *((uint64_t *)__cil_tmp37) = (uint64_t )__cil_tmp44;
8610#line 565
8611 __cil_tmp45 = (unsigned long )mtd;
8612#line 565
8613 __cil_tmp46 = __cil_tmp45 + 84;
8614#line 565
8615 __cil_tmp47 = & cfi;
8616#line 565
8617 __cil_tmp48 = *__cil_tmp47;
8618#line 565
8619 __cil_tmp49 = (unsigned long )__cil_tmp48;
8620#line 565
8621 __cil_tmp50 = __cil_tmp49 + 64;
8622#line 565
8623 __cil_tmp51 = *((int *)__cil_tmp50);
8624#line 565
8625 __cil_tmp52 = & cfi;
8626#line 565
8627 __cil_tmp53 = *__cil_tmp52;
8628#line 565
8629 __cil_tmp54 = (unsigned long )__cil_tmp53;
8630#line 565
8631 __cil_tmp55 = __cil_tmp54 + 48;
8632#line 565
8633 __cil_tmp56 = *((struct cfi_ident **)__cil_tmp55);
8634#line 565
8635 __cil_tmp57 = (unsigned long )__cil_tmp56;
8636#line 565
8637 __cil_tmp58 = __cil_tmp57 + 28;
8638#line 565
8639 __cil_tmp59 = *((uint8_t *)__cil_tmp58);
8640#line 565
8641 __cil_tmp60 = (int )__cil_tmp59;
8642#line 565
8643 *((int *)__cil_tmp46) = __cil_tmp60 * __cil_tmp51;
8644#line 566
8645 __cil_tmp61 = (unsigned long )mtd;
8646#line 566
8647 __cil_tmp62 = __cil_tmp61 + 84;
8648#line 566
8649 __cil_tmp63 = *((int *)__cil_tmp62);
8650#line 566
8651 __cil_tmp64 = (unsigned long )__cil_tmp63;
8652#line 566
8653 __cil_tmp65 = 24UL * __cil_tmp64;
8654#line 566
8655 tmp___7 = kmalloc(__cil_tmp65, 208U);
8656#line 566
8657 __cil_tmp66 = (unsigned long )mtd;
8658#line 566
8659 __cil_tmp67 = __cil_tmp66 + 88;
8660#line 566
8661 *((struct mtd_erase_region_info **)__cil_tmp67) = (struct mtd_erase_region_info *)tmp___7;
8662 }
8663 {
8664#line 568
8665 __cil_tmp68 = (unsigned long )mtd;
8666#line 568
8667 __cil_tmp69 = __cil_tmp68 + 88;
8668#line 568
8669 __cil_tmp70 = *((struct mtd_erase_region_info **)__cil_tmp69);
8670#line 568
8671 if (! __cil_tmp70) {
8672 {
8673#line 569
8674 printk("<3>Failed to allocate memory for MTD erase region info\n");
8675 }
8676#line 570
8677 goto setup_err;
8678 } else {
8679
8680 }
8681 }
8682#line 573
8683 i = 0;
8684 {
8685#line 573
8686 while (1) {
8687 while_continue: ;
8688 {
8689#line 573
8690 __cil_tmp71 = & cfi;
8691#line 573
8692 __cil_tmp72 = *__cil_tmp71;
8693#line 573
8694 __cil_tmp73 = (unsigned long )__cil_tmp72;
8695#line 573
8696 __cil_tmp74 = __cil_tmp73 + 48;
8697#line 573
8698 __cil_tmp75 = *((struct cfi_ident **)__cil_tmp74);
8699#line 573
8700 __cil_tmp76 = (unsigned long )__cil_tmp75;
8701#line 573
8702 __cil_tmp77 = __cil_tmp76 + 28;
8703#line 573
8704 __cil_tmp78 = *((uint8_t *)__cil_tmp77);
8705#line 573
8706 __cil_tmp79 = (int )__cil_tmp78;
8707#line 573
8708 if (i < __cil_tmp79) {
8709
8710 } else {
8711#line 573
8712 goto while_break;
8713 }
8714 }
8715#line 575
8716 __cil_tmp80 = & cfi;
8717#line 575
8718 __cil_tmp81 = *__cil_tmp80;
8719#line 575
8720 __cil_tmp82 = (unsigned long )__cil_tmp81;
8721#line 575
8722 __cil_tmp83 = __cil_tmp82 + 16;
8723#line 575
8724 __cil_tmp84 = *((int *)__cil_tmp83);
8725#line 575
8726 __cil_tmp85 = (unsigned int )__cil_tmp84;
8727#line 575
8728 __cil_tmp86 = i * 4UL;
8729#line 575
8730 __cil_tmp87 = 29 + __cil_tmp86;
8731#line 575
8732 __cil_tmp88 = & cfi;
8733#line 575
8734 __cil_tmp89 = *__cil_tmp88;
8735#line 575
8736 __cil_tmp90 = (unsigned long )__cil_tmp89;
8737#line 575
8738 __cil_tmp91 = __cil_tmp90 + 48;
8739#line 575
8740 __cil_tmp92 = *((struct cfi_ident **)__cil_tmp91);
8741#line 575
8742 __cil_tmp93 = (unsigned long )__cil_tmp92;
8743#line 575
8744 __cil_tmp94 = __cil_tmp93 + __cil_tmp87;
8745#line 575
8746 __cil_tmp95 = *((uint32_t *)__cil_tmp94);
8747#line 575
8748 __cil_tmp96 = __cil_tmp95 >> 8;
8749#line 575
8750 __cil_tmp97 = __cil_tmp96 & 4294967040U;
8751#line 575
8752 __cil_tmp98 = __cil_tmp97 * __cil_tmp85;
8753#line 575
8754 ersize = (unsigned long )__cil_tmp98;
8755#line 576
8756 __cil_tmp99 = i * 4UL;
8757#line 576
8758 __cil_tmp100 = 29 + __cil_tmp99;
8759#line 576
8760 __cil_tmp101 = & cfi;
8761#line 576
8762 __cil_tmp102 = *__cil_tmp101;
8763#line 576
8764 __cil_tmp103 = (unsigned long )__cil_tmp102;
8765#line 576
8766 __cil_tmp104 = __cil_tmp103 + 48;
8767#line 576
8768 __cil_tmp105 = *((struct cfi_ident **)__cil_tmp104);
8769#line 576
8770 __cil_tmp106 = (unsigned long )__cil_tmp105;
8771#line 576
8772 __cil_tmp107 = __cil_tmp106 + __cil_tmp100;
8773#line 576
8774 __cil_tmp108 = *((uint32_t *)__cil_tmp107);
8775#line 576
8776 __cil_tmp109 = __cil_tmp108 & 65535U;
8777#line 576
8778 __cil_tmp110 = __cil_tmp109 + 1U;
8779#line 576
8780 ernum = (unsigned long )__cil_tmp110;
8781 {
8782#line 578
8783 __cil_tmp111 = (unsigned long )mtd;
8784#line 578
8785 __cil_tmp112 = __cil_tmp111 + 16;
8786#line 578
8787 __cil_tmp113 = *((uint32_t *)__cil_tmp112);
8788#line 578
8789 __cil_tmp114 = (unsigned long )__cil_tmp113;
8790#line 578
8791 if (__cil_tmp114 < ersize) {
8792#line 579
8793 __cil_tmp115 = (unsigned long )mtd;
8794#line 579
8795 __cil_tmp116 = __cil_tmp115 + 16;
8796#line 579
8797 *((uint32_t *)__cil_tmp116) = (uint32_t )ersize;
8798 } else {
8799
8800 }
8801 }
8802#line 581
8803 j = 0;
8804 {
8805#line 581
8806 while (1) {
8807 while_continue___0: ;
8808 {
8809#line 581
8810 __cil_tmp117 = & cfi;
8811#line 581
8812 __cil_tmp118 = *__cil_tmp117;
8813#line 581
8814 __cil_tmp119 = (unsigned long )__cil_tmp118;
8815#line 581
8816 __cil_tmp120 = __cil_tmp119 + 64;
8817#line 581
8818 __cil_tmp121 = *((int *)__cil_tmp120);
8819#line 581
8820 if (j < __cil_tmp121) {
8821
8822 } else {
8823#line 581
8824 goto while_break___0;
8825 }
8826 }
8827 {
8828#line 582
8829 __cil_tmp122 = & cfi;
8830#line 582
8831 __cil_tmp123 = *__cil_tmp122;
8832#line 582
8833 __cil_tmp124 = (unsigned long )__cil_tmp123;
8834#line 582
8835 __cil_tmp125 = __cil_tmp124 + 48;
8836#line 582
8837 __cil_tmp126 = *((struct cfi_ident **)__cil_tmp125);
8838#line 582
8839 __cil_tmp127 = (unsigned long )__cil_tmp126;
8840#line 582
8841 __cil_tmp128 = __cil_tmp127 + 28;
8842#line 582
8843 __cil_tmp129 = *((uint8_t *)__cil_tmp128);
8844#line 582
8845 __cil_tmp130 = (int )__cil_tmp129;
8846#line 582
8847 __cil_tmp131 = j * __cil_tmp130;
8848#line 582
8849 __cil_tmp132 = __cil_tmp131 + i;
8850#line 582
8851 __cil_tmp133 = (unsigned long )mtd;
8852#line 582
8853 __cil_tmp134 = __cil_tmp133 + 88;
8854#line 582
8855 __cil_tmp135 = *((struct mtd_erase_region_info **)__cil_tmp134);
8856#line 582
8857 __cil_tmp136 = __cil_tmp135 + __cil_tmp132;
8858#line 582
8859 __cil_tmp137 = (unsigned long )j;
8860#line 582
8861 __cil_tmp138 = __cil_tmp137 * devsize;
8862#line 582
8863 __cil_tmp139 = __cil_tmp138 + offset;
8864#line 582
8865 *((uint64_t *)__cil_tmp136) = (uint64_t )__cil_tmp139;
8866#line 583
8867 __cil_tmp140 = & cfi;
8868#line 583
8869 __cil_tmp141 = *__cil_tmp140;
8870#line 583
8871 __cil_tmp142 = (unsigned long )__cil_tmp141;
8872#line 583
8873 __cil_tmp143 = __cil_tmp142 + 48;
8874#line 583
8875 __cil_tmp144 = *((struct cfi_ident **)__cil_tmp143);
8876#line 583
8877 __cil_tmp145 = (unsigned long )__cil_tmp144;
8878#line 583
8879 __cil_tmp146 = __cil_tmp145 + 28;
8880#line 583
8881 __cil_tmp147 = *((uint8_t *)__cil_tmp146);
8882#line 583
8883 __cil_tmp148 = (int )__cil_tmp147;
8884#line 583
8885 __cil_tmp149 = j * __cil_tmp148;
8886#line 583
8887 __cil_tmp150 = __cil_tmp149 + i;
8888#line 583
8889 __cil_tmp151 = (unsigned long )mtd;
8890#line 583
8891 __cil_tmp152 = __cil_tmp151 + 88;
8892#line 583
8893 __cil_tmp153 = *((struct mtd_erase_region_info **)__cil_tmp152);
8894#line 583
8895 __cil_tmp154 = __cil_tmp153 + __cil_tmp150;
8896#line 583
8897 __cil_tmp155 = (unsigned long )__cil_tmp154;
8898#line 583
8899 __cil_tmp156 = __cil_tmp155 + 8;
8900#line 583
8901 *((uint32_t *)__cil_tmp156) = (uint32_t )ersize;
8902#line 584
8903 __cil_tmp157 = & cfi;
8904#line 584
8905 __cil_tmp158 = *__cil_tmp157;
8906#line 584
8907 __cil_tmp159 = (unsigned long )__cil_tmp158;
8908#line 584
8909 __cil_tmp160 = __cil_tmp159 + 48;
8910#line 584
8911 __cil_tmp161 = *((struct cfi_ident **)__cil_tmp160);
8912#line 584
8913 __cil_tmp162 = (unsigned long )__cil_tmp161;
8914#line 584
8915 __cil_tmp163 = __cil_tmp162 + 28;
8916#line 584
8917 __cil_tmp164 = *((uint8_t *)__cil_tmp163);
8918#line 584
8919 __cil_tmp165 = (int )__cil_tmp164;
8920#line 584
8921 __cil_tmp166 = j * __cil_tmp165;
8922#line 584
8923 __cil_tmp167 = __cil_tmp166 + i;
8924#line 584
8925 __cil_tmp168 = (unsigned long )mtd;
8926#line 584
8927 __cil_tmp169 = __cil_tmp168 + 88;
8928#line 584
8929 __cil_tmp170 = *((struct mtd_erase_region_info **)__cil_tmp169);
8930#line 584
8931 __cil_tmp171 = __cil_tmp170 + __cil_tmp167;
8932#line 584
8933 __cil_tmp172 = (unsigned long )__cil_tmp171;
8934#line 584
8935 __cil_tmp173 = __cil_tmp172 + 12;
8936#line 584
8937 *((uint32_t *)__cil_tmp173) = (uint32_t )ernum;
8938#line 585
8939 __cil_tmp174 = ernum / 8UL;
8940#line 585
8941 __cil_tmp175 = __cil_tmp174 + 1UL;
8942#line 585
8943 tmp___8 = kmalloc(__cil_tmp175, 208U);
8944#line 585
8945 __cil_tmp176 = & cfi;
8946#line 585
8947 __cil_tmp177 = *__cil_tmp176;
8948#line 585
8949 __cil_tmp178 = (unsigned long )__cil_tmp177;
8950#line 585
8951 __cil_tmp179 = __cil_tmp178 + 48;
8952#line 585
8953 __cil_tmp180 = *((struct cfi_ident **)__cil_tmp179);
8954#line 585
8955 __cil_tmp181 = (unsigned long )__cil_tmp180;
8956#line 585
8957 __cil_tmp182 = __cil_tmp181 + 28;
8958#line 585
8959 __cil_tmp183 = *((uint8_t *)__cil_tmp182);
8960#line 585
8961 __cil_tmp184 = (int )__cil_tmp183;
8962#line 585
8963 __cil_tmp185 = j * __cil_tmp184;
8964#line 585
8965 __cil_tmp186 = __cil_tmp185 + i;
8966#line 585
8967 __cil_tmp187 = (unsigned long )mtd;
8968#line 585
8969 __cil_tmp188 = __cil_tmp187 + 88;
8970#line 585
8971 __cil_tmp189 = *((struct mtd_erase_region_info **)__cil_tmp188);
8972#line 585
8973 __cil_tmp190 = __cil_tmp189 + __cil_tmp186;
8974#line 585
8975 __cil_tmp191 = (unsigned long )__cil_tmp190;
8976#line 585
8977 __cil_tmp192 = __cil_tmp191 + 16;
8978#line 585
8979 *((unsigned long **)__cil_tmp192) = (unsigned long *)tmp___8;
8980#line 581
8981 j = j + 1;
8982 }
8983 }
8984 while_break___0: ;
8985 }
8986#line 587
8987 __cil_tmp193 = ersize * ernum;
8988#line 587
8989 offset = offset + __cil_tmp193;
8990#line 573
8991 i = i + 1;
8992 }
8993 while_break: ;
8994 }
8995#line 590
8996 if (offset != devsize) {
8997 {
8998#line 592
8999 printk("<4>Sum of regions (%lx) != total size of set of interleaved chips (%lx)\n",
9000 offset, devsize);
9001 }
9002#line 593
9003 goto setup_err;
9004 } else {
9005
9006 }
9007#line 596
9008 i = 0;
9009 {
9010#line 596
9011 while (1) {
9012 while_continue___1: ;
9013 {
9014#line 596
9015 __cil_tmp194 = (unsigned long )mtd;
9016#line 596
9017 __cil_tmp195 = __cil_tmp194 + 84;
9018#line 596
9019 __cil_tmp196 = *((int *)__cil_tmp195);
9020#line 596
9021 if (i < __cil_tmp196) {
9022
9023 } else {
9024#line 596
9025 goto while_break___1;
9026 }
9027 }
9028 {
9029#line 597
9030 __cil_tmp197 = (unsigned long )mtd;
9031#line 597
9032 __cil_tmp198 = __cil_tmp197 + 88;
9033#line 597
9034 __cil_tmp199 = *((struct mtd_erase_region_info **)__cil_tmp198);
9035#line 597
9036 __cil_tmp200 = __cil_tmp199 + i;
9037#line 597
9038 __cil_tmp201 = *((uint64_t *)__cil_tmp200);
9039#line 597
9040 __cil_tmp202 = (unsigned long )mtd;
9041#line 597
9042 __cil_tmp203 = __cil_tmp202 + 88;
9043#line 597
9044 __cil_tmp204 = *((struct mtd_erase_region_info **)__cil_tmp203);
9045#line 597
9046 __cil_tmp205 = __cil_tmp204 + i;
9047#line 597
9048 __cil_tmp206 = (unsigned long )__cil_tmp205;
9049#line 597
9050 __cil_tmp207 = __cil_tmp206 + 8;
9051#line 597
9052 __cil_tmp208 = *((uint32_t *)__cil_tmp207);
9053#line 597
9054 __cil_tmp209 = (unsigned long )mtd;
9055#line 597
9056 __cil_tmp210 = __cil_tmp209 + 88;
9057#line 597
9058 __cil_tmp211 = *((struct mtd_erase_region_info **)__cil_tmp210);
9059#line 597
9060 __cil_tmp212 = __cil_tmp211 + i;
9061#line 597
9062 __cil_tmp213 = (unsigned long )__cil_tmp212;
9063#line 597
9064 __cil_tmp214 = __cil_tmp213 + 12;
9065#line 597
9066 __cil_tmp215 = *((uint32_t *)__cil_tmp214);
9067#line 597
9068 printk("<7>erase region %d: offset=0x%llx,size=0x%x,blocks=%d\n", i, __cil_tmp201,
9069 __cil_tmp208, __cil_tmp215);
9070#line 596
9071 i = i + 1;
9072 }
9073 }
9074 while_break___1: ;
9075 }
9076 {
9077#line 604
9078 __cil_tmp216 = (unsigned long )mtd;
9079#line 604
9080 __cil_tmp217 = __cil_tmp216 + 176;
9081#line 604
9082 *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen , u_char *buf ))__cil_tmp217) = & cfi_intelext_read_fact_prot_reg;
9083#line 605
9084 __cil_tmp218 = (unsigned long )mtd;
9085#line 605
9086 __cil_tmp219 = __cil_tmp218 + 192;
9087#line 605
9088 *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen , u_char *buf ))__cil_tmp219) = & cfi_intelext_read_user_prot_reg;
9089#line 606
9090 __cil_tmp220 = (unsigned long )mtd;
9091#line 606
9092 __cil_tmp221 = __cil_tmp220 + 200;
9093#line 606
9094 *((int (**)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char *buf ))__cil_tmp221) = & cfi_intelext_write_user_prot_reg;
9095#line 607
9096 __cil_tmp222 = (unsigned long )mtd;
9097#line 607
9098 __cil_tmp223 = __cil_tmp222 + 208;
9099#line 607
9100 *((int (**)(struct mtd_info *mtd , loff_t from , size_t len ))__cil_tmp223) = & cfi_intelext_lock_user_prot_reg;
9101#line 608
9102 __cil_tmp224 = (unsigned long )mtd;
9103#line 608
9104 __cil_tmp225 = __cil_tmp224 + 168;
9105#line 608
9106 *((int (**)(struct mtd_info *mtd , struct otp_info *buf , size_t len ))__cil_tmp225) = & cfi_intelext_get_fact_prot_info;
9107#line 609
9108 __cil_tmp226 = (unsigned long )mtd;
9109#line 609
9110 __cil_tmp227 = __cil_tmp226 + 184;
9111#line 609
9112 *((int (**)(struct mtd_info *mtd , struct otp_info *buf , size_t len ))__cil_tmp227) = & cfi_intelext_get_user_prot_info;
9113#line 614
9114 tmp___9 = cfi_intelext_partition_fixup(mtd, & cfi);
9115 }
9116#line 614
9117 if (tmp___9 != 0) {
9118#line 615
9119 goto setup_err;
9120 } else {
9121
9122 }
9123 {
9124#line 617
9125 __module_get(& __this_module);
9126#line 618
9127 __cil_tmp228 = (unsigned long )mtd;
9128#line 618
9129 __cil_tmp229 = __cil_tmp228 + 312;
9130#line 618
9131 __cil_tmp230 = (struct notifier_block *)__cil_tmp229;
9132#line 618
9133 register_reboot_notifier(__cil_tmp230);
9134 }
9135#line 619
9136 return (mtd);
9137 setup_err:
9138 {
9139#line 622
9140 __cil_tmp231 = (unsigned long )mtd;
9141#line 622
9142 __cil_tmp232 = __cil_tmp231 + 88;
9143#line 622
9144 __cil_tmp233 = *((struct mtd_erase_region_info **)__cil_tmp232);
9145#line 622
9146 __cil_tmp234 = (void *)__cil_tmp233;
9147#line 622
9148 kfree(__cil_tmp234);
9149#line 623
9150 __cil_tmp235 = (void *)mtd;
9151#line 623
9152 kfree(__cil_tmp235);
9153#line 624
9154 __cil_tmp236 = & cfi;
9155#line 624
9156 __cil_tmp237 = *__cil_tmp236;
9157#line 624
9158 __cil_tmp238 = (unsigned long )__cil_tmp237;
9159#line 624
9160 __cil_tmp239 = __cil_tmp238 + 8;
9161#line 624
9162 __cil_tmp240 = *((void **)__cil_tmp239);
9163#line 624
9164 __cil_tmp241 = (void *)__cil_tmp240;
9165#line 624
9166 kfree(__cil_tmp241);
9167 }
9168 {
9169#line 625
9170 __cil_tmp242 = (void *)0;
9171#line 625
9172 return ((struct mtd_info *)__cil_tmp242);
9173 }
9174}
9175}
9176#line 724 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
9177static struct lock_class_key __key___4 ;
9178#line 731 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
9179static struct lock_class_key __key___5 ;
9180#line 732 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
9181static struct lock_class_key __key___6 ;
9182#line 628 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
9183static int cfi_intelext_partition_fixup(struct mtd_info *mtd , struct cfi_private **pcfi )
9184{ struct map_info *map ;
9185 struct cfi_private *cfi ;
9186 struct cfi_pri_intelext *extp ;
9187 struct cfi_private *newcfi ;
9188 struct flchip *chip ;
9189 struct flchip_shared *shared ;
9190 int offs ;
9191 int numregions ;
9192 int numparts ;
9193 int partshift ;
9194 int numvirtchips ;
9195 int i ;
9196 int j ;
9197 struct cfi_intelext_regioninfo *rinfo ;
9198 struct cfi_intelext_programming_regioninfo *prinfo ;
9199 unsigned long tmp___7 ;
9200 void *tmp___8 ;
9201 void *tmp___9 ;
9202 size_t __len ;
9203 void *__ret ;
9204 struct flchip *tmp___10 ;
9205 unsigned long __cil_tmp24 ;
9206 unsigned long __cil_tmp25 ;
9207 void *__cil_tmp26 ;
9208 unsigned long __cil_tmp27 ;
9209 unsigned long __cil_tmp28 ;
9210 void *__cil_tmp29 ;
9211 unsigned long __cil_tmp30 ;
9212 unsigned long __cil_tmp31 ;
9213 uint8_t __cil_tmp32 ;
9214 int __cil_tmp33 ;
9215 unsigned long __cil_tmp34 ;
9216 unsigned long __cil_tmp35 ;
9217 uint8_t __cil_tmp36 ;
9218 int __cil_tmp37 ;
9219 int __cil_tmp38 ;
9220 unsigned int __cil_tmp39 ;
9221 unsigned long __cil_tmp40 ;
9222 unsigned long __cil_tmp41 ;
9223 uint32_t __cil_tmp42 ;
9224 unsigned long __cil_tmp43 ;
9225 unsigned long __cil_tmp44 ;
9226 uint8_t __cil_tmp45 ;
9227 int __cil_tmp46 ;
9228 int __cil_tmp47 ;
9229 unsigned long __cil_tmp48 ;
9230 unsigned long __cil_tmp49 ;
9231 int __cil_tmp50 ;
9232 unsigned long __cil_tmp51 ;
9233 unsigned long __cil_tmp52 ;
9234 unsigned long __cil_tmp53 ;
9235 unsigned long __cil_tmp54 ;
9236 uint8_t __cil_tmp55 ;
9237 int __cil_tmp56 ;
9238 int __cil_tmp57 ;
9239 unsigned long __cil_tmp58 ;
9240 unsigned long __cil_tmp59 ;
9241 unsigned long __cil_tmp60 ;
9242 unsigned long __cil_tmp61 ;
9243 uint8_t __cil_tmp62 ;
9244 unsigned long __cil_tmp63 ;
9245 unsigned long __cil_tmp64 ;
9246 uint8_t __cil_tmp65 ;
9247 int __cil_tmp66 ;
9248 unsigned long __cil_tmp67 ;
9249 unsigned long __cil_tmp68 ;
9250 unsigned long __cil_tmp69 ;
9251 unsigned long __cil_tmp70 ;
9252 uint8_t *__cil_tmp71 ;
9253 uint16_t __cil_tmp72 ;
9254 int __cil_tmp73 ;
9255 unsigned long __cil_tmp74 ;
9256 unsigned long __cil_tmp75 ;
9257 uint8_t __cil_tmp76 ;
9258 int __cil_tmp77 ;
9259 int __cil_tmp78 ;
9260 unsigned long __cil_tmp79 ;
9261 unsigned long __cil_tmp80 ;
9262 unsigned long __cil_tmp81 ;
9263 unsigned long __cil_tmp82 ;
9264 unsigned long __cil_tmp83 ;
9265 unsigned long __cil_tmp84 ;
9266 unsigned long __cil_tmp85 ;
9267 uint8_t __cil_tmp86 ;
9268 int __cil_tmp87 ;
9269 unsigned long __cil_tmp88 ;
9270 unsigned long __cil_tmp89 ;
9271 unsigned long __cil_tmp90 ;
9272 unsigned long __cil_tmp91 ;
9273 uint8_t *__cil_tmp92 ;
9274 unsigned long __cil_tmp93 ;
9275 unsigned long __cil_tmp94 ;
9276 uint8_t __cil_tmp95 ;
9277 int __cil_tmp96 ;
9278 unsigned long __cil_tmp97 ;
9279 unsigned long __cil_tmp98 ;
9280 int __cil_tmp99 ;
9281 int __cil_tmp100 ;
9282 unsigned long __cil_tmp101 ;
9283 unsigned long __cil_tmp102 ;
9284 unsigned long __cil_tmp103 ;
9285 unsigned long __cil_tmp104 ;
9286 uint32_t __cil_tmp105 ;
9287 char *__cil_tmp106 ;
9288 unsigned long __cil_tmp107 ;
9289 unsigned long __cil_tmp108 ;
9290 uint32_t __cil_tmp109 ;
9291 unsigned long __cil_tmp110 ;
9292 unsigned long __cil_tmp111 ;
9293 uint8_t __cil_tmp112 ;
9294 int __cil_tmp113 ;
9295 unsigned long __cil_tmp114 ;
9296 unsigned long __cil_tmp115 ;
9297 int __cil_tmp116 ;
9298 int __cil_tmp117 ;
9299 unsigned long __cil_tmp118 ;
9300 unsigned long __cil_tmp119 ;
9301 uint8_t __cil_tmp120 ;
9302 int __cil_tmp121 ;
9303 unsigned long __cil_tmp122 ;
9304 unsigned long __cil_tmp123 ;
9305 int __cil_tmp124 ;
9306 int __cil_tmp125 ;
9307 unsigned long __cil_tmp126 ;
9308 unsigned long __cil_tmp127 ;
9309 unsigned long __cil_tmp128 ;
9310 unsigned long __cil_tmp129 ;
9311 unsigned long __cil_tmp130 ;
9312 unsigned long __cil_tmp131 ;
9313 unsigned long __cil_tmp132 ;
9314 uint32_t __cil_tmp133 ;
9315 int __cil_tmp134 ;
9316 uint32_t __cil_tmp135 ;
9317 unsigned long __cil_tmp136 ;
9318 unsigned long __cil_tmp137 ;
9319 int __cil_tmp138 ;
9320 unsigned long __cil_tmp139 ;
9321 unsigned long __cil_tmp140 ;
9322 unsigned long __cil_tmp141 ;
9323 unsigned long __cil_tmp142 ;
9324 unsigned long __cil_tmp143 ;
9325 int __cil_tmp144 ;
9326 unsigned long __cil_tmp145 ;
9327 unsigned long __cil_tmp146 ;
9328 void *__cil_tmp147 ;
9329 void *__cil_tmp148 ;
9330 void *__cil_tmp149 ;
9331 void *__cil_tmp150 ;
9332 void *__cil_tmp151 ;
9333 unsigned long __cil_tmp152 ;
9334 unsigned long __cil_tmp153 ;
9335 unsigned long __cil_tmp154 ;
9336 unsigned long __cil_tmp155 ;
9337 unsigned long __cil_tmp156 ;
9338 unsigned long __cil_tmp157 ;
9339 unsigned long __cil_tmp158 ;
9340 unsigned long __cil_tmp159 ;
9341 unsigned long __cil_tmp160 ;
9342 unsigned long __cil_tmp161 ;
9343 int __cil_tmp162 ;
9344 void *__cil_tmp163 ;
9345 struct flchip_shared *__cil_tmp164 ;
9346 unsigned long __cil_tmp165 ;
9347 unsigned long __cil_tmp166 ;
9348 struct flchip_shared *__cil_tmp167 ;
9349 unsigned long __cil_tmp168 ;
9350 unsigned long __cil_tmp169 ;
9351 struct flchip_shared *__cil_tmp170 ;
9352 struct mutex *__cil_tmp171 ;
9353 unsigned long __cil_tmp172 ;
9354 unsigned long __cil_tmp173 ;
9355 unsigned long __cil_tmp174 ;
9356 unsigned long __cil_tmp175 ;
9357 int __cil_tmp176 ;
9358 unsigned long __cil_tmp177 ;
9359 unsigned long __cil_tmp178 ;
9360 unsigned long __cil_tmp179 ;
9361 unsigned long __cil_tmp180 ;
9362 struct flchip_shared *__cil_tmp181 ;
9363 unsigned long __cil_tmp182 ;
9364 unsigned long __cil_tmp183 ;
9365 wait_queue_head_t *__cil_tmp184 ;
9366 unsigned long __cil_tmp185 ;
9367 unsigned long __cil_tmp186 ;
9368 struct mutex *__cil_tmp187 ;
9369 char *__cil_tmp188 ;
9370 unsigned long __cil_tmp189 ;
9371 unsigned long __cil_tmp190 ;
9372 int __cil_tmp191 ;
9373 unsigned long __cil_tmp192 ;
9374 unsigned long __cil_tmp193 ;
9375 int __cil_tmp194 ;
9376 unsigned long __cil_tmp195 ;
9377 unsigned long __cil_tmp196 ;
9378 int __cil_tmp197 ;
9379 unsigned long __cil_tmp198 ;
9380 unsigned long __cil_tmp199 ;
9381 unsigned long __cil_tmp200 ;
9382 unsigned long __cil_tmp201 ;
9383 int __cil_tmp202 ;
9384 unsigned long __cil_tmp203 ;
9385 unsigned long __cil_tmp204 ;
9386 void *__cil_tmp205 ;
9387
9388 {
9389#line 631
9390 __cil_tmp24 = (unsigned long )mtd;
9391#line 631
9392 __cil_tmp25 = __cil_tmp24 + 360;
9393#line 631
9394 __cil_tmp26 = *((void **)__cil_tmp25);
9395#line 631
9396 map = (struct map_info *)__cil_tmp26;
9397#line 632
9398 cfi = *pcfi;
9399#line 633
9400 __cil_tmp27 = (unsigned long )cfi;
9401#line 633
9402 __cil_tmp28 = __cil_tmp27 + 8;
9403#line 633
9404 __cil_tmp29 = *((void **)__cil_tmp28);
9405#line 633
9406 extp = (struct cfi_pri_intelext *)__cil_tmp29;
9407#line 646
9408 if (extp) {
9409 {
9410#line 646
9411 __cil_tmp30 = (unsigned long )extp;
9412#line 646
9413 __cil_tmp31 = __cil_tmp30 + 3;
9414#line 646
9415 __cil_tmp32 = *((uint8_t *)__cil_tmp31);
9416#line 646
9417 __cil_tmp33 = (int )__cil_tmp32;
9418#line 646
9419 if (__cil_tmp33 == 49) {
9420 {
9421#line 646
9422 __cil_tmp34 = (unsigned long )extp;
9423#line 646
9424 __cil_tmp35 = __cil_tmp34 + 4;
9425#line 646
9426 __cil_tmp36 = *((uint8_t *)__cil_tmp35);
9427#line 646
9428 __cil_tmp37 = (int )__cil_tmp36;
9429#line 646
9430 if (__cil_tmp37 >= 51) {
9431 {
9432#line 646
9433 __cil_tmp38 = 1 << 9;
9434#line 646
9435 __cil_tmp39 = (unsigned int )__cil_tmp38;
9436#line 646
9437 __cil_tmp40 = (unsigned long )extp;
9438#line 646
9439 __cil_tmp41 = __cil_tmp40 + 5;
9440#line 646
9441 __cil_tmp42 = *((uint32_t *)__cil_tmp41);
9442#line 646
9443 if (__cil_tmp42 & __cil_tmp39) {
9444#line 654
9445 __cil_tmp43 = (unsigned long )extp;
9446#line 654
9447 __cil_tmp44 = __cil_tmp43 + 14;
9448#line 654
9449 __cil_tmp45 = *((uint8_t *)__cil_tmp44);
9450#line 654
9451 __cil_tmp46 = (int )__cil_tmp45;
9452#line 654
9453 __cil_tmp47 = __cil_tmp46 - 1;
9454#line 654
9455 __cil_tmp48 = (unsigned long )__cil_tmp47;
9456#line 654
9457 __cil_tmp49 = __cil_tmp48 * 10UL;
9458#line 654
9459 offs = (int )__cil_tmp49;
9460#line 658
9461 __cil_tmp50 = offs + 1;
9462#line 658
9463 __cil_tmp51 = __cil_tmp50 * 1UL;
9464#line 658
9465 __cil_tmp52 = 19 + __cil_tmp51;
9466#line 658
9467 __cil_tmp53 = (unsigned long )extp;
9468#line 658
9469 __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
9470#line 658
9471 __cil_tmp55 = *((uint8_t *)__cil_tmp54);
9472#line 658
9473 __cil_tmp56 = (int )__cil_tmp55;
9474#line 658
9475 __cil_tmp57 = __cil_tmp56 + 2;
9476#line 658
9477 offs = offs + __cil_tmp57;
9478#line 661
9479 __cil_tmp58 = offs * 1UL;
9480#line 661
9481 __cil_tmp59 = 19 + __cil_tmp58;
9482#line 661
9483 __cil_tmp60 = (unsigned long )extp;
9484#line 661
9485 __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
9486#line 661
9487 __cil_tmp62 = *((uint8_t *)__cil_tmp61);
9488#line 661
9489 numregions = (int )__cil_tmp62;
9490#line 662
9491 offs = offs + 1;
9492 {
9493#line 665
9494 __cil_tmp63 = (unsigned long )extp;
9495#line 665
9496 __cil_tmp64 = __cil_tmp63 + 4;
9497#line 665
9498 __cil_tmp65 = *((uint8_t *)__cil_tmp64);
9499#line 665
9500 __cil_tmp66 = (int )__cil_tmp65;
9501#line 665
9502 if (__cil_tmp66 >= 52) {
9503#line 666
9504 offs = offs + 2;
9505 } else {
9506
9507 }
9508 }
9509#line 669
9510 numparts = 0;
9511#line 670
9512 i = 0;
9513 {
9514#line 670
9515 while (1) {
9516 while_continue: ;
9517#line 670
9518 if (i < numregions) {
9519
9520 } else {
9521#line 670
9522 goto while_break;
9523 }
9524#line 672
9525 __cil_tmp67 = offs * 1UL;
9526#line 672
9527 __cil_tmp68 = 19 + __cil_tmp67;
9528#line 672
9529 __cil_tmp69 = (unsigned long )extp;
9530#line 672
9531 __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
9532#line 672
9533 __cil_tmp71 = (uint8_t *)__cil_tmp70;
9534#line 672
9535 rinfo = (struct cfi_intelext_regioninfo *)__cil_tmp71;
9536#line 673
9537 __cil_tmp72 = *((uint16_t *)rinfo);
9538#line 673
9539 __cil_tmp73 = (int )__cil_tmp72;
9540#line 673
9541 numparts = numparts + __cil_tmp73;
9542#line 674
9543 __cil_tmp74 = (unsigned long )rinfo;
9544#line 674
9545 __cil_tmp75 = __cil_tmp74 + 5;
9546#line 674
9547 __cil_tmp76 = *((uint8_t *)__cil_tmp75);
9548#line 674
9549 __cil_tmp77 = (int )__cil_tmp76;
9550#line 674
9551 __cil_tmp78 = __cil_tmp77 - 1;
9552#line 674
9553 __cil_tmp79 = (unsigned long )__cil_tmp78;
9554#line 674
9555 __cil_tmp80 = __cil_tmp79 * 8UL;
9556#line 674
9557 __cil_tmp81 = 14UL + __cil_tmp80;
9558#line 674
9559 __cil_tmp82 = (unsigned long )offs;
9560#line 674
9561 __cil_tmp83 = __cil_tmp82 + __cil_tmp81;
9562#line 674
9563 offs = (int )__cil_tmp83;
9564#line 670
9565 i = i + 1;
9566 }
9567 while_break: ;
9568 }
9569#line 679
9570 if (! numparts) {
9571#line 680
9572 numparts = 1;
9573 } else {
9574
9575 }
9576 {
9577#line 683
9578 __cil_tmp84 = (unsigned long )extp;
9579#line 683
9580 __cil_tmp85 = __cil_tmp84 + 4;
9581#line 683
9582 __cil_tmp86 = *((uint8_t *)__cil_tmp85);
9583#line 683
9584 __cil_tmp87 = (int )__cil_tmp86;
9585#line 683
9586 if (__cil_tmp87 >= 52) {
9587 {
9588#line 685
9589 __cil_tmp88 = offs * 1UL;
9590#line 685
9591 __cil_tmp89 = 19 + __cil_tmp88;
9592#line 685
9593 __cil_tmp90 = (unsigned long )extp;
9594#line 685
9595 __cil_tmp91 = __cil_tmp90 + __cil_tmp89;
9596#line 685
9597 __cil_tmp92 = (uint8_t *)__cil_tmp91;
9598#line 685
9599 prinfo = (struct cfi_intelext_programming_regioninfo *)__cil_tmp92;
9600#line 686
9601 __cil_tmp93 = (unsigned long )mtd;
9602#line 686
9603 __cil_tmp94 = __cil_tmp93 + 20;
9604#line 686
9605 __cil_tmp95 = *((uint8_t *)prinfo);
9606#line 686
9607 __cil_tmp96 = (int )__cil_tmp95;
9608#line 686
9609 __cil_tmp97 = (unsigned long )cfi;
9610#line 686
9611 __cil_tmp98 = __cil_tmp97 + 16;
9612#line 686
9613 __cil_tmp99 = *((int *)__cil_tmp98);
9614#line 686
9615 __cil_tmp100 = __cil_tmp99 << __cil_tmp96;
9616#line 686
9617 *((uint32_t *)__cil_tmp94) = (uint32_t )__cil_tmp100;
9618#line 687
9619 __cil_tmp101 = (unsigned long )mtd;
9620#line 687
9621 __cil_tmp102 = __cil_tmp101 + 4;
9622#line 687
9623 __cil_tmp103 = (unsigned long )mtd;
9624#line 687
9625 __cil_tmp104 = __cil_tmp103 + 4;
9626#line 687
9627 __cil_tmp105 = *((uint32_t *)__cil_tmp104);
9628#line 687
9629 *((uint32_t *)__cil_tmp102) = __cil_tmp105 & 4294965247U;
9630#line 688
9631 __cil_tmp106 = *((char **)map);
9632#line 688
9633 __cil_tmp107 = (unsigned long )mtd;
9634#line 688
9635 __cil_tmp108 = __cil_tmp107 + 20;
9636#line 688
9637 __cil_tmp109 = *((uint32_t *)__cil_tmp108);
9638#line 688
9639 __cil_tmp110 = (unsigned long )prinfo;
9640#line 688
9641 __cil_tmp111 = __cil_tmp110 + 2;
9642#line 688
9643 __cil_tmp112 = *((uint8_t *)__cil_tmp111);
9644#line 688
9645 __cil_tmp113 = (int )__cil_tmp112;
9646#line 688
9647 __cil_tmp114 = (unsigned long )cfi;
9648#line 688
9649 __cil_tmp115 = __cil_tmp114 + 16;
9650#line 688
9651 __cil_tmp116 = *((int *)__cil_tmp115);
9652#line 688
9653 __cil_tmp117 = __cil_tmp116 * __cil_tmp113;
9654#line 688
9655 __cil_tmp118 = (unsigned long )prinfo;
9656#line 688
9657 __cil_tmp119 = __cil_tmp118 + 4;
9658#line 688
9659 __cil_tmp120 = *((uint8_t *)__cil_tmp119);
9660#line 688
9661 __cil_tmp121 = (int )__cil_tmp120;
9662#line 688
9663 __cil_tmp122 = (unsigned long )cfi;
9664#line 688
9665 __cil_tmp123 = __cil_tmp122 + 16;
9666#line 688
9667 __cil_tmp124 = *((int *)__cil_tmp123);
9668#line 688
9669 __cil_tmp125 = __cil_tmp124 * __cil_tmp121;
9670#line 688
9671 printk("<7>%s: program region size/ctrl_valid/ctrl_inval = %d/%d/%d\n",
9672 __cil_tmp106, __cil_tmp109, __cil_tmp117, __cil_tmp125);
9673 }
9674 } else {
9675
9676 }
9677 }
9678 {
9679#line 699
9680 __cil_tmp126 = (unsigned long )numparts;
9681#line 699
9682 tmp___7 = __ffs(__cil_tmp126);
9683#line 699
9684 __cil_tmp127 = (unsigned long )cfi;
9685#line 699
9686 __cil_tmp128 = __cil_tmp127 + 104;
9687#line 699
9688 __cil_tmp129 = *((unsigned long *)__cil_tmp128);
9689#line 699
9690 __cil_tmp130 = __cil_tmp129 - tmp___7;
9691#line 699
9692 partshift = (int )__cil_tmp130;
9693 }
9694 {
9695#line 701
9696 __cil_tmp131 = (unsigned long )mtd;
9697#line 701
9698 __cil_tmp132 = __cil_tmp131 + 16;
9699#line 701
9700 __cil_tmp133 = *((uint32_t *)__cil_tmp132);
9701#line 701
9702 __cil_tmp134 = 1 << partshift;
9703#line 701
9704 __cil_tmp135 = (uint32_t )__cil_tmp134;
9705#line 701
9706 if (__cil_tmp135 < __cil_tmp133) {
9707 {
9708#line 702
9709 printk("<3>%s: bad number of hw partitions (%d)\n", "cfi_intelext_partition_fixup",
9710 numparts);
9711 }
9712#line 705
9713 return (-22);
9714 } else {
9715
9716 }
9717 }
9718 {
9719#line 708
9720 __cil_tmp136 = (unsigned long )cfi;
9721#line 708
9722 __cil_tmp137 = __cil_tmp136 + 64;
9723#line 708
9724 __cil_tmp138 = *((int *)__cil_tmp137);
9725#line 708
9726 numvirtchips = __cil_tmp138 * numparts;
9727#line 709
9728 __cil_tmp139 = (unsigned long )numvirtchips;
9729#line 709
9730 __cil_tmp140 = __cil_tmp139 * 176UL;
9731#line 709
9732 __cil_tmp141 = 120UL + __cil_tmp140;
9733#line 709
9734 tmp___8 = kmalloc(__cil_tmp141, 208U);
9735#line 709
9736 newcfi = (struct cfi_private *)tmp___8;
9737 }
9738#line 710
9739 if (! newcfi) {
9740#line 711
9741 return (-12);
9742 } else {
9743
9744 }
9745 {
9746#line 712
9747 __cil_tmp142 = (unsigned long )cfi;
9748#line 712
9749 __cil_tmp143 = __cil_tmp142 + 64;
9750#line 712
9751 __cil_tmp144 = *((int *)__cil_tmp143);
9752#line 712
9753 __cil_tmp145 = (unsigned long )__cil_tmp144;
9754#line 712
9755 __cil_tmp146 = 88UL * __cil_tmp145;
9756#line 712
9757 tmp___9 = kmalloc(__cil_tmp146, 208U);
9758#line 712
9759 shared = (struct flchip_shared *)tmp___9;
9760 }
9761#line 713
9762 if (! shared) {
9763 {
9764#line 714
9765 __cil_tmp147 = (void *)newcfi;
9766#line 714
9767 kfree(__cil_tmp147);
9768 }
9769#line 715
9770 return (-12);
9771 } else {
9772
9773 }
9774#line 717
9775 __len = 120UL;
9776#line 717
9777 if (__len >= 64UL) {
9778 {
9779#line 717
9780 __cil_tmp148 = (void *)newcfi;
9781#line 717
9782 __cil_tmp149 = (void *)cfi;
9783#line 717
9784 __ret = __memcpy(__cil_tmp148, __cil_tmp149, __len);
9785 }
9786 } else {
9787 {
9788#line 717
9789 __cil_tmp150 = (void *)newcfi;
9790#line 717
9791 __cil_tmp151 = (void *)cfi;
9792#line 717
9793 __ret = __builtin_memcpy(__cil_tmp150, __cil_tmp151, __len);
9794 }
9795 }
9796#line 718
9797 __cil_tmp152 = (unsigned long )newcfi;
9798#line 718
9799 __cil_tmp153 = __cil_tmp152 + 64;
9800#line 718
9801 *((int *)__cil_tmp153) = numvirtchips;
9802#line 719
9803 __cil_tmp154 = (unsigned long )newcfi;
9804#line 719
9805 __cil_tmp155 = __cil_tmp154 + 104;
9806#line 719
9807 *((unsigned long *)__cil_tmp155) = (unsigned long )partshift;
9808#line 721
9809 __cil_tmp156 = 0 * 176UL;
9810#line 721
9811 __cil_tmp157 = 120 + __cil_tmp156;
9812#line 721
9813 __cil_tmp158 = (unsigned long )newcfi;
9814#line 721
9815 __cil_tmp159 = __cil_tmp158 + __cil_tmp157;
9816#line 721
9817 chip = (struct flchip *)__cil_tmp159;
9818#line 722
9819 i = 0;
9820 {
9821#line 722
9822 while (1) {
9823 while_continue___0: ;
9824 {
9825#line 722
9826 __cil_tmp160 = (unsigned long )cfi;
9827#line 722
9828 __cil_tmp161 = __cil_tmp160 + 64;
9829#line 722
9830 __cil_tmp162 = *((int *)__cil_tmp161);
9831#line 722
9832 if (i < __cil_tmp162) {
9833
9834 } else {
9835#line 722
9836 goto while_break___0;
9837 }
9838 }
9839#line 723
9840 __cil_tmp163 = (void *)0;
9841#line 723
9842 tmp___10 = (struct flchip *)__cil_tmp163;
9843#line 723
9844 __cil_tmp164 = shared + i;
9845#line 723
9846 __cil_tmp165 = (unsigned long )__cil_tmp164;
9847#line 723
9848 __cil_tmp166 = __cil_tmp165 + 80;
9849#line 723
9850 *((struct flchip **)__cil_tmp166) = tmp___10;
9851#line 723
9852 __cil_tmp167 = shared + i;
9853#line 723
9854 __cil_tmp168 = (unsigned long )__cil_tmp167;
9855#line 723
9856 __cil_tmp169 = __cil_tmp168 + 72;
9857#line 723
9858 *((struct flchip **)__cil_tmp169) = tmp___10;
9859 {
9860#line 724
9861 while (1) {
9862 while_continue___1: ;
9863 {
9864#line 724
9865 __cil_tmp170 = shared + i;
9866#line 724
9867 __cil_tmp171 = (struct mutex *)__cil_tmp170;
9868#line 724
9869 __mutex_init(__cil_tmp171, "&shared[i].lock", & __key___4);
9870 }
9871#line 724
9872 goto while_break___1;
9873 }
9874 while_break___1: ;
9875 }
9876#line 725
9877 j = 0;
9878 {
9879#line 725
9880 while (1) {
9881 while_continue___2: ;
9882#line 725
9883 if (j < numparts) {
9884
9885 } else {
9886#line 725
9887 goto while_break___2;
9888 }
9889#line 726
9890 __cil_tmp172 = i * 176UL;
9891#line 726
9892 __cil_tmp173 = 120 + __cil_tmp172;
9893#line 726
9894 __cil_tmp174 = (unsigned long )cfi;
9895#line 726
9896 __cil_tmp175 = __cil_tmp174 + __cil_tmp173;
9897#line 726
9898 *chip = *((struct flchip *)__cil_tmp175);
9899#line 727
9900 __cil_tmp176 = j << partshift;
9901#line 727
9902 __cil_tmp177 = (unsigned long )__cil_tmp176;
9903#line 727
9904 __cil_tmp178 = *((unsigned long *)chip);
9905#line 727
9906 *((unsigned long *)chip) = __cil_tmp178 + __cil_tmp177;
9907#line 728
9908 __cil_tmp179 = (unsigned long )chip;
9909#line 728
9910 __cil_tmp180 = __cil_tmp179 + 168;
9911#line 728
9912 __cil_tmp181 = shared + i;
9913#line 728
9914 *((void **)__cil_tmp180) = (void *)__cil_tmp181;
9915 {
9916#line 731
9917 while (1) {
9918 while_continue___3: ;
9919 {
9920#line 731
9921 __cil_tmp182 = (unsigned long )chip;
9922#line 731
9923 __cil_tmp183 = __cil_tmp182 + 104;
9924#line 731
9925 __cil_tmp184 = (wait_queue_head_t *)__cil_tmp183;
9926#line 731
9927 __init_waitqueue_head(__cil_tmp184, "&chip->wq", & __key___5);
9928 }
9929#line 731
9930 goto while_break___3;
9931 }
9932 while_break___3: ;
9933 }
9934 {
9935#line 732
9936 while (1) {
9937 while_continue___4: ;
9938 {
9939#line 732
9940 __cil_tmp185 = (unsigned long )chip;
9941#line 732
9942 __cil_tmp186 = __cil_tmp185 + 32;
9943#line 732
9944 __cil_tmp187 = (struct mutex *)__cil_tmp186;
9945#line 732
9946 __mutex_init(__cil_tmp187, "&chip->mutex", & __key___6);
9947 }
9948#line 732
9949 goto while_break___4;
9950 }
9951 while_break___4: ;
9952 }
9953#line 733
9954 chip = chip + 1;
9955#line 725
9956 j = j + 1;
9957 }
9958 while_break___2: ;
9959 }
9960#line 722
9961 i = i + 1;
9962 }
9963 while_break___0: ;
9964 }
9965 {
9966#line 737
9967 __cil_tmp188 = *((char **)map);
9968#line 737
9969 __cil_tmp189 = (unsigned long )cfi;
9970#line 737
9971 __cil_tmp190 = __cil_tmp189 + 64;
9972#line 737
9973 __cil_tmp191 = *((int *)__cil_tmp190);
9974#line 737
9975 __cil_tmp192 = (unsigned long )cfi;
9976#line 737
9977 __cil_tmp193 = __cil_tmp192 + 16;
9978#line 737
9979 __cil_tmp194 = *((int *)__cil_tmp193);
9980#line 737
9981 __cil_tmp195 = (unsigned long )newcfi;
9982#line 737
9983 __cil_tmp196 = __cil_tmp195 + 64;
9984#line 737
9985 __cil_tmp197 = *((int *)__cil_tmp196);
9986#line 737
9987 __cil_tmp198 = (unsigned long )newcfi;
9988#line 737
9989 __cil_tmp199 = __cil_tmp198 + 104;
9990#line 737
9991 __cil_tmp200 = *((unsigned long *)__cil_tmp199);
9992#line 737
9993 __cil_tmp201 = __cil_tmp200 - 10UL;
9994#line 737
9995 __cil_tmp202 = 1 << __cil_tmp201;
9996#line 737
9997 printk("<7>%s: %d set(s) of %d interleaved chips --> %d partitions of %d KiB\n",
9998 __cil_tmp188, __cil_tmp191, __cil_tmp194, __cil_tmp197, __cil_tmp202);
9999#line 742
10000 __cil_tmp203 = (unsigned long )map;
10001#line 742
10002 __cil_tmp204 = __cil_tmp203 + 120;
10003#line 742
10004 *((void **)__cil_tmp204) = (void *)newcfi;
10005#line 743
10006 *pcfi = newcfi;
10007#line 744
10008 __cil_tmp205 = (void *)cfi;
10009#line 744
10010 kfree(__cil_tmp205);
10011 }
10012 } else {
10013
10014 }
10015 }
10016 } else {
10017
10018 }
10019 }
10020 } else {
10021
10022 }
10023 }
10024 } else {
10025
10026 }
10027#line 747
10028 return (0);
10029}
10030}
10031#line 753 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
10032static int chip_ready(struct map_info *map , struct flchip *chip , unsigned long adr ,
10033 int mode )
10034{ wait_queue_t wait ;
10035 struct task_struct *tmp___7 ;
10036 struct cfi_private *cfi ;
10037 map_word status ;
10038 map_word status_OK ;
10039 map_word tmp___8 ;
10040 map_word status_PWS ;
10041 map_word tmp___9 ;
10042 struct cfi_pri_intelext *cfip ;
10043 unsigned long timeo ;
10044 map_word tmp___10 ;
10045 int tmp___11 ;
10046 map_word tmp___12 ;
10047 int tmp___13 ;
10048 map_word tmp___14 ;
10049 map_word tmp___15 ;
10050 map_word tmp___16 ;
10051 int tmp___17 ;
10052 long volatile __ret ;
10053 struct task_struct *tmp___19 ;
10054 struct task_struct *tmp___20 ;
10055 struct task_struct *tmp___21 ;
10056 struct task_struct *tmp___22 ;
10057 struct task_struct *tmp___23 ;
10058 wait_queue_t *__cil_tmp34 ;
10059 unsigned long __cil_tmp35 ;
10060 unsigned long __cil_tmp36 ;
10061 unsigned long __cil_tmp37 ;
10062 void *__cil_tmp38 ;
10063 unsigned long __cil_tmp39 ;
10064 unsigned long __cil_tmp40 ;
10065 void *__cil_tmp41 ;
10066 unsigned long __cil_tmp42 ;
10067 unsigned long __cil_tmp43 ;
10068 void *__cil_tmp44 ;
10069 u_long __cil_tmp45 ;
10070 u_long __cil_tmp46 ;
10071 unsigned long __cil_tmp47 ;
10072 unsigned long __cil_tmp48 ;
10073 void *__cil_tmp49 ;
10074 unsigned long volatile __cil_tmp50 ;
10075 unsigned long volatile __cil_tmp51 ;
10076 unsigned long __cil_tmp52 ;
10077 unsigned long __cil_tmp53 ;
10078 flstate_t __cil_tmp54 ;
10079 unsigned int __cil_tmp55 ;
10080 unsigned long __cil_tmp56 ;
10081 unsigned long __cil_tmp57 ;
10082 flstate_t __cil_tmp58 ;
10083 map_word *__cil_tmp59 ;
10084 unsigned long __cil_tmp60 ;
10085 unsigned long __cil_tmp61 ;
10086 map_word (*__cil_tmp62)(struct map_info * , unsigned long ) ;
10087 map_word *__cil_tmp63 ;
10088 map_word __cil_tmp64 ;
10089 unsigned long __cil_tmp65 ;
10090 unsigned long __cil_tmp66 ;
10091 map_word *__cil_tmp67 ;
10092 map_word __cil_tmp68 ;
10093 unsigned long __cil_tmp69 ;
10094 unsigned long __cil_tmp70 ;
10095 struct mutex *__cil_tmp71 ;
10096 unsigned long __cil_tmp72 ;
10097 unsigned long __cil_tmp73 ;
10098 struct mutex *__cil_tmp74 ;
10099 unsigned long __cil_tmp75 ;
10100 unsigned long __cil_tmp76 ;
10101 uint32_t __cil_tmp77 ;
10102 unsigned int __cil_tmp78 ;
10103 unsigned long __cil_tmp79 ;
10104 unsigned long __cil_tmp80 ;
10105 uint8_t __cil_tmp81 ;
10106 int __cil_tmp82 ;
10107 u_long __cil_tmp83 ;
10108 unsigned long __cil_tmp84 ;
10109 unsigned long __cil_tmp85 ;
10110 void (*__cil_tmp86)(struct map_info * , map_word , unsigned long ) ;
10111 map_word __cil_tmp87 ;
10112 u_long __cil_tmp88 ;
10113 unsigned long __cil_tmp89 ;
10114 unsigned long __cil_tmp90 ;
10115 void (*__cil_tmp91)(struct map_info * , map_word , unsigned long ) ;
10116 map_word __cil_tmp92 ;
10117 unsigned long __cil_tmp93 ;
10118 unsigned long __cil_tmp94 ;
10119 unsigned long __cil_tmp95 ;
10120 unsigned long __cil_tmp96 ;
10121 map_word *__cil_tmp97 ;
10122 unsigned long __cil_tmp98 ;
10123 unsigned long __cil_tmp99 ;
10124 map_word (*__cil_tmp100)(struct map_info * , unsigned long ) ;
10125 map_word *__cil_tmp101 ;
10126 map_word __cil_tmp102 ;
10127 long __cil_tmp103 ;
10128 long __cil_tmp104 ;
10129 long __cil_tmp105 ;
10130 char *__cil_tmp106 ;
10131 unsigned long __cil_tmp107 ;
10132 unsigned long __cil_tmp108 ;
10133 unsigned long __cil_tmp109 ;
10134 unsigned long __cil_tmp110 ;
10135 unsigned long __cil_tmp111 ;
10136 unsigned long __cil_tmp112 ;
10137 struct mutex *__cil_tmp113 ;
10138 unsigned long __cil_tmp114 ;
10139 unsigned long __cil_tmp115 ;
10140 struct mutex *__cil_tmp116 ;
10141 unsigned long __cil_tmp117 ;
10142 unsigned long __cil_tmp118 ;
10143 unsigned long __cil_tmp119 ;
10144 unsigned long __cil_tmp120 ;
10145 uint8_t __cil_tmp121 ;
10146 int __cil_tmp122 ;
10147 int __cil_tmp123 ;
10148 unsigned long __cil_tmp124 ;
10149 unsigned long __cil_tmp125 ;
10150 unsigned long __cil_tmp126 ;
10151 unsigned long __cil_tmp127 ;
10152 unsigned long __cil_tmp128 ;
10153 unsigned long __cil_tmp129 ;
10154 unsigned long __cil_tmp130 ;
10155 unsigned long __cil_tmp131 ;
10156 flstate_t __cil_tmp132 ;
10157 unsigned int __cil_tmp133 ;
10158 unsigned long __cil_tmp134 ;
10159 unsigned long __cil_tmp135 ;
10160 wait_queue_head_t *__cil_tmp136 ;
10161 unsigned long __cil_tmp137 ;
10162 unsigned long __cil_tmp138 ;
10163 struct mutex *__cil_tmp139 ;
10164 unsigned long __cil_tmp140 ;
10165 unsigned long __cil_tmp141 ;
10166 wait_queue_head_t *__cil_tmp142 ;
10167 unsigned long __cil_tmp143 ;
10168 unsigned long __cil_tmp144 ;
10169 struct mutex *__cil_tmp145 ;
10170
10171 {
10172 {
10173#line 755
10174 tmp___7 = get_current();
10175#line 755
10176 __cil_tmp34 = & wait;
10177#line 755
10178 *((unsigned int *)__cil_tmp34) = 0U;
10179#line 755
10180 __cil_tmp35 = (unsigned long )(& wait) + 8;
10181#line 755
10182 *((void **)__cil_tmp35) = (void *)tmp___7;
10183#line 755
10184 __cil_tmp36 = (unsigned long )(& wait) + 16;
10185#line 755
10186 *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp36) = & default_wake_function;
10187#line 755
10188 __cil_tmp37 = (unsigned long )(& wait) + 24;
10189#line 755
10190 __cil_tmp38 = (void *)0;
10191#line 755
10192 *((struct list_head **)__cil_tmp37) = (struct list_head *)__cil_tmp38;
10193#line 755
10194 __cil_tmp39 = 24 + 8;
10195#line 755
10196 __cil_tmp40 = (unsigned long )(& wait) + __cil_tmp39;
10197#line 755
10198 __cil_tmp41 = (void *)0;
10199#line 755
10200 *((struct list_head **)__cil_tmp40) = (struct list_head *)__cil_tmp41;
10201#line 756
10202 __cil_tmp42 = (unsigned long )map;
10203#line 756
10204 __cil_tmp43 = __cil_tmp42 + 120;
10205#line 756
10206 __cil_tmp44 = *((void **)__cil_tmp43);
10207#line 756
10208 cfi = (struct cfi_private *)__cil_tmp44;
10209#line 757
10210 __cil_tmp45 = (u_long )128;
10211#line 757
10212 tmp___8 = cfi_build_cmd(__cil_tmp45, map, cfi);
10213#line 757
10214 status_OK = tmp___8;
10215#line 757
10216 __cil_tmp46 = (u_long )1;
10217#line 757
10218 tmp___9 = cfi_build_cmd(__cil_tmp46, map, cfi);
10219#line 757
10220 status_PWS = tmp___9;
10221#line 758
10222 __cil_tmp47 = (unsigned long )cfi;
10223#line 758
10224 __cil_tmp48 = __cil_tmp47 + 8;
10225#line 758
10226 __cil_tmp49 = *((void **)__cil_tmp48);
10227#line 758
10228 cfip = (struct cfi_pri_intelext *)__cil_tmp49;
10229#line 759
10230 __cil_tmp50 = (unsigned long volatile )250;
10231#line 759
10232 __cil_tmp51 = jiffies + __cil_tmp50;
10233#line 759
10234 timeo = (unsigned long )__cil_tmp51;
10235 }
10236#line 762
10237 if (mode == 13) {
10238 {
10239#line 762
10240 __cil_tmp52 = (unsigned long )chip;
10241#line 762
10242 __cil_tmp53 = __cil_tmp52 + 16;
10243#line 762
10244 __cil_tmp54 = *((flstate_t *)__cil_tmp53);
10245#line 762
10246 __cil_tmp55 = (unsigned int )__cil_tmp54;
10247#line 762
10248 if (__cil_tmp55 != 0U) {
10249#line 763
10250 goto sleep;
10251 } else {
10252
10253 }
10254 }
10255 } else {
10256
10257 }
10258 {
10259#line 765
10260 __cil_tmp56 = (unsigned long )chip;
10261#line 765
10262 __cil_tmp57 = __cil_tmp56 + 12;
10263#line 765
10264 __cil_tmp58 = *((flstate_t *)__cil_tmp57);
10265#line 767
10266 if ((int )__cil_tmp58 == 1) {
10267#line 767
10268 goto case_1;
10269 } else
10270#line 785
10271 if ((int )__cil_tmp58 == 0) {
10272#line 785
10273 goto case_0;
10274 } else
10275#line 786
10276 if ((int )__cil_tmp58 == 2) {
10277#line 786
10278 goto case_0;
10279 } else
10280#line 787
10281 if ((int )__cil_tmp58 == 3) {
10282#line 787
10283 goto case_0;
10284 } else
10285#line 790
10286 if ((int )__cil_tmp58 == 4) {
10287#line 790
10288 goto case_4;
10289 } else
10290#line 833
10291 if ((int )__cil_tmp58 == 18) {
10292#line 833
10293 goto case_18;
10294 } else
10295#line 841
10296 if ((int )__cil_tmp58 == 20) {
10297#line 841
10298 goto case_20;
10299 } else
10300#line 844
10301 if ((int )__cil_tmp58 == 17) {
10302#line 844
10303 goto case_17;
10304 } else {
10305 {
10306#line 849
10307 goto sleep;
10308#line 765
10309 if (0) {
10310 case_1:
10311 {
10312#line 768
10313 while (1) {
10314 while_continue: ;
10315 {
10316#line 769
10317 __cil_tmp59 = & status;
10318#line 769
10319 __cil_tmp60 = (unsigned long )map;
10320#line 769
10321 __cil_tmp61 = __cil_tmp60 + 48;
10322#line 769
10323 __cil_tmp62 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp61);
10324#line 769
10325 *__cil_tmp59 = (*__cil_tmp62)(map, adr);
10326#line 770
10327 __cil_tmp63 = & status;
10328#line 770
10329 __cil_tmp64 = *__cil_tmp63;
10330#line 770
10331 tmp___10 = map_word_and(map, __cil_tmp64, status_OK);
10332#line 770
10333 tmp___11 = map_word_equal(map, status_OK, tmp___10);
10334 }
10335#line 770
10336 if (tmp___11) {
10337#line 771
10338 goto while_break;
10339 } else {
10340
10341 }
10342 {
10343#line 775
10344 __cil_tmp65 = (unsigned long )chip;
10345#line 775
10346 __cil_tmp66 = __cil_tmp65 + 168;
10347#line 775
10348 if (*((void **)__cil_tmp66)) {
10349 {
10350#line 775
10351 __cil_tmp67 = & status;
10352#line 775
10353 __cil_tmp68 = *__cil_tmp67;
10354#line 775
10355 tmp___12 = map_word_and(map, __cil_tmp68, status_PWS);
10356#line 775
10357 tmp___13 = map_word_equal(map, status_PWS, tmp___12);
10358 }
10359#line 775
10360 if (tmp___13) {
10361#line 776
10362 goto while_break;
10363 } else {
10364
10365 }
10366 } else {
10367
10368 }
10369 }
10370 {
10371#line 778
10372 __cil_tmp69 = (unsigned long )chip;
10373#line 778
10374 __cil_tmp70 = __cil_tmp69 + 32;
10375#line 778
10376 __cil_tmp71 = (struct mutex *)__cil_tmp70;
10377#line 778
10378 mutex_unlock(__cil_tmp71);
10379#line 779
10380 cfi_udelay(1);
10381#line 780
10382 __cil_tmp72 = (unsigned long )chip;
10383#line 780
10384 __cil_tmp73 = __cil_tmp72 + 32;
10385#line 780
10386 __cil_tmp74 = (struct mutex *)__cil_tmp73;
10387#line 780
10388 mutex_lock(__cil_tmp74);
10389 }
10390#line 782
10391 return (-11);
10392 }
10393 while_break: ;
10394 }
10395 case_0:
10396 case_2:
10397 case_3:
10398#line 788
10399 return (0);
10400 case_4:
10401#line 791
10402 if (! cfip) {
10403#line 795
10404 goto sleep;
10405 } else {
10406 {
10407#line 791
10408 __cil_tmp75 = (unsigned long )cfip;
10409#line 791
10410 __cil_tmp76 = __cil_tmp75 + 5;
10411#line 791
10412 __cil_tmp77 = *((uint32_t *)__cil_tmp76);
10413#line 791
10414 __cil_tmp78 = __cil_tmp77 & 2U;
10415#line 791
10416 if (! __cil_tmp78) {
10417#line 795
10418 goto sleep;
10419 } else
10420#line 791
10421 if (mode == 0) {
10422
10423 } else
10424#line 791
10425 if (mode == 17) {
10426
10427 } else
10428#line 791
10429 if (mode == 7) {
10430 {
10431#line 791
10432 __cil_tmp79 = (unsigned long )cfip;
10433#line 791
10434 __cil_tmp80 = __cil_tmp79 + 9;
10435#line 791
10436 __cil_tmp81 = *((uint8_t *)__cil_tmp80);
10437#line 791
10438 __cil_tmp82 = (int )__cil_tmp81;
10439#line 791
10440 if (__cil_tmp82 & 1) {
10441
10442 } else {
10443#line 795
10444 goto sleep;
10445 }
10446 }
10447 } else {
10448#line 795
10449 goto sleep;
10450 }
10451 }
10452 }
10453 {
10454#line 799
10455 __cil_tmp83 = (u_long )176;
10456#line 799
10457 tmp___14 = cfi_build_cmd(__cil_tmp83, map, cfi);
10458#line 799
10459 __cil_tmp84 = (unsigned long )map;
10460#line 799
10461 __cil_tmp85 = __cil_tmp84 + 64;
10462#line 799
10463 __cil_tmp86 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp85);
10464#line 799
10465 __cil_tmp87 = (map_word )tmp___14;
10466#line 799
10467 (*__cil_tmp86)(map, __cil_tmp87, adr);
10468#line 806
10469 __cil_tmp88 = (u_long )112;
10470#line 806
10471 tmp___15 = cfi_build_cmd(__cil_tmp88, map, cfi);
10472#line 806
10473 __cil_tmp89 = (unsigned long )map;
10474#line 806
10475 __cil_tmp90 = __cil_tmp89 + 64;
10476#line 806
10477 __cil_tmp91 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp90);
10478#line 806
10479 __cil_tmp92 = (map_word )tmp___15;
10480#line 806
10481 (*__cil_tmp91)(map, __cil_tmp92, adr);
10482#line 807
10483 __cil_tmp93 = (unsigned long )chip;
10484#line 807
10485 __cil_tmp94 = __cil_tmp93 + 16;
10486#line 807
10487 *((flstate_t *)__cil_tmp94) = (flstate_t )4;
10488#line 808
10489 __cil_tmp95 = (unsigned long )chip;
10490#line 808
10491 __cil_tmp96 = __cil_tmp95 + 12;
10492#line 808
10493 *((flstate_t *)__cil_tmp96) = (flstate_t )5;
10494#line 809
10495 chip->erase_suspended = 1U;
10496 }
10497 {
10498#line 810
10499 while (1) {
10500 while_continue___0: ;
10501 {
10502#line 811
10503 __cil_tmp97 = & status;
10504#line 811
10505 __cil_tmp98 = (unsigned long )map;
10506#line 811
10507 __cil_tmp99 = __cil_tmp98 + 48;
10508#line 811
10509 __cil_tmp100 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp99);
10510#line 811
10511 *__cil_tmp97 = (*__cil_tmp100)(map, adr);
10512#line 812
10513 __cil_tmp101 = & status;
10514#line 812
10515 __cil_tmp102 = *__cil_tmp101;
10516#line 812
10517 tmp___16 = map_word_and(map, __cil_tmp102, status_OK);
10518#line 812
10519 tmp___17 = map_word_equal(map, status_OK, tmp___16);
10520 }
10521#line 812
10522 if (tmp___17) {
10523#line 813
10524 goto while_break___0;
10525 } else {
10526
10527 }
10528 {
10529#line 815
10530 __cil_tmp103 = (long )jiffies;
10531#line 815
10532 __cil_tmp104 = (long )timeo;
10533#line 815
10534 __cil_tmp105 = __cil_tmp104 - __cil_tmp103;
10535#line 815
10536 if (__cil_tmp105 < 0L) {
10537 {
10538#line 818
10539 put_chip(map, chip, adr);
10540#line 819
10541 __cil_tmp106 = *((char **)map);
10542#line 819
10543 __cil_tmp107 = 0 * 8UL;
10544#line 819
10545 __cil_tmp108 = 0 + __cil_tmp107;
10546#line 819
10547 __cil_tmp109 = (unsigned long )(& status) + __cil_tmp108;
10548#line 819
10549 __cil_tmp110 = *((unsigned long *)__cil_tmp109);
10550#line 819
10551 printk("<3>%s: Chip not ready after erase suspended: status = 0x%lx\n",
10552 __cil_tmp106, __cil_tmp110);
10553 }
10554#line 821
10555 return (-5);
10556 } else {
10557
10558 }
10559 }
10560 {
10561#line 824
10562 __cil_tmp111 = (unsigned long )chip;
10563#line 824
10564 __cil_tmp112 = __cil_tmp111 + 32;
10565#line 824
10566 __cil_tmp113 = (struct mutex *)__cil_tmp112;
10567#line 824
10568 mutex_unlock(__cil_tmp113);
10569#line 825
10570 cfi_udelay(1);
10571#line 826
10572 __cil_tmp114 = (unsigned long )chip;
10573#line 826
10574 __cil_tmp115 = __cil_tmp114 + 32;
10575#line 826
10576 __cil_tmp116 = (struct mutex *)__cil_tmp115;
10577#line 826
10578 mutex_lock(__cil_tmp116);
10579 }
10580 }
10581 while_break___0: ;
10582 }
10583#line 830
10584 __cil_tmp117 = (unsigned long )chip;
10585#line 830
10586 __cil_tmp118 = __cil_tmp117 + 12;
10587#line 830
10588 *((flstate_t *)__cil_tmp118) = (flstate_t )1;
10589#line 831
10590 return (0);
10591 case_18:
10592#line 834
10593 if (mode != 0) {
10594#line 834
10595 if (mode != 17) {
10596#line 834
10597 if (mode != 7) {
10598#line 836
10599 goto sleep;
10600 } else
10601#line 834
10602 if (! cfip) {
10603#line 836
10604 goto sleep;
10605 } else {
10606 {
10607#line 834
10608 __cil_tmp119 = (unsigned long )cfip;
10609#line 834
10610 __cil_tmp120 = __cil_tmp119 + 9;
10611#line 834
10612 __cil_tmp121 = *((uint8_t *)__cil_tmp120);
10613#line 834
10614 __cil_tmp122 = (int )__cil_tmp121;
10615#line 834
10616 __cil_tmp123 = __cil_tmp122 & 1;
10617#line 834
10618 if (! __cil_tmp123) {
10619#line 836
10620 goto sleep;
10621 } else {
10622
10623 }
10624 }
10625 }
10626 } else {
10627
10628 }
10629 } else {
10630
10631 }
10632#line 837
10633 __cil_tmp124 = (unsigned long )chip;
10634#line 837
10635 __cil_tmp125 = __cil_tmp124 + 16;
10636#line 837
10637 __cil_tmp126 = (unsigned long )chip;
10638#line 837
10639 __cil_tmp127 = __cil_tmp126 + 12;
10640#line 837
10641 *((flstate_t *)__cil_tmp125) = *((flstate_t *)__cil_tmp127);
10642#line 838
10643 __cil_tmp128 = (unsigned long )chip;
10644#line 838
10645 __cil_tmp129 = __cil_tmp128 + 12;
10646#line 838
10647 *((flstate_t *)__cil_tmp129) = (flstate_t )0;
10648#line 839
10649 return (0);
10650 case_20:
10651#line 843
10652 return (-5);
10653 case_17:
10654#line 846
10655 if (mode == 0) {
10656 {
10657#line 846
10658 __cil_tmp130 = (unsigned long )chip;
10659#line 846
10660 __cil_tmp131 = __cil_tmp130 + 16;
10661#line 846
10662 __cil_tmp132 = *((flstate_t *)__cil_tmp131);
10663#line 846
10664 __cil_tmp133 = (unsigned int )__cil_tmp132;
10665#line 846
10666 if (__cil_tmp133 == 0U) {
10667#line 847
10668 return (0);
10669 } else {
10670
10671 }
10672 }
10673 } else {
10674
10675 }
10676 sleep:
10677 switch_default:
10678 {
10679#line 851
10680 while (1) {
10681 while_continue___1: ;
10682#line 851
10683 __ret = (long volatile )2;
10684#line 851
10685 if ((int )8UL == 1) {
10686#line 851
10687 goto case_1___0;
10688 } else
10689#line 851
10690 if ((int )8UL == 2) {
10691#line 851
10692 goto case_2___0;
10693 } else
10694#line 851
10695 if ((int )8UL == 4) {
10696#line 851
10697 goto case_4___0;
10698 } else
10699#line 851
10700 if ((int )8UL == 8) {
10701#line 851
10702 goto case_8;
10703 } else {
10704 {
10705#line 851
10706 goto switch_default___0;
10707#line 851
10708 if (0) {
10709 case_1___0:
10710 {
10711#line 851
10712 tmp___20 = get_current();
10713#line 851
10714 __asm__ volatile (""
10715 "xchg"
10716 "b %b0, %1\n": "+q" (__ret), "+m" (*((long volatile *)tmp___20)): : "memory",
10717 "cc");
10718 }
10719#line 851
10720 goto switch_break___0;
10721 case_2___0:
10722 {
10723#line 851
10724 tmp___21 = get_current();
10725#line 851
10726 __asm__ volatile (""
10727 "xchg"
10728 "w %w0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___21)): : "memory",
10729 "cc");
10730 }
10731#line 851
10732 goto switch_break___0;
10733 case_4___0:
10734 {
10735#line 851
10736 tmp___22 = get_current();
10737#line 851
10738 __asm__ volatile (""
10739 "xchg"
10740 "l %0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___22)): : "memory",
10741 "cc");
10742 }
10743#line 851
10744 goto switch_break___0;
10745 case_8:
10746 {
10747#line 851
10748 tmp___23 = get_current();
10749#line 851
10750 __asm__ volatile (""
10751 "xchg"
10752 "q %q0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___23)): : "memory",
10753 "cc");
10754 }
10755#line 851
10756 goto switch_break___0;
10757 switch_default___0:
10758 {
10759#line 851
10760 __xchg_wrong_size();
10761 }
10762 } else {
10763 switch_break___0: ;
10764 }
10765 }
10766 }
10767#line 851
10768 goto while_break___1;
10769 }
10770 while_break___1: ;
10771 }
10772 {
10773#line 852
10774 __cil_tmp134 = (unsigned long )chip;
10775#line 852
10776 __cil_tmp135 = __cil_tmp134 + 104;
10777#line 852
10778 __cil_tmp136 = (wait_queue_head_t *)__cil_tmp135;
10779#line 852
10780 add_wait_queue(__cil_tmp136, & wait);
10781#line 853
10782 __cil_tmp137 = (unsigned long )chip;
10783#line 853
10784 __cil_tmp138 = __cil_tmp137 + 32;
10785#line 853
10786 __cil_tmp139 = (struct mutex *)__cil_tmp138;
10787#line 853
10788 mutex_unlock(__cil_tmp139);
10789#line 854
10790 schedule();
10791#line 855
10792 __cil_tmp140 = (unsigned long )chip;
10793#line 855
10794 __cil_tmp141 = __cil_tmp140 + 104;
10795#line 855
10796 __cil_tmp142 = (wait_queue_head_t *)__cil_tmp141;
10797#line 855
10798 remove_wait_queue(__cil_tmp142, & wait);
10799#line 856
10800 __cil_tmp143 = (unsigned long )chip;
10801#line 856
10802 __cil_tmp144 = __cil_tmp143 + 32;
10803#line 856
10804 __cil_tmp145 = (struct mutex *)__cil_tmp144;
10805#line 856
10806 mutex_lock(__cil_tmp145);
10807 }
10808#line 857
10809 return (-11);
10810 } else {
10811 switch_break: ;
10812 }
10813 }
10814 }
10815 }
10816}
10817}
10818#line 861 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
10819static int get_chip(struct map_info *map , struct flchip *chip , unsigned long adr ,
10820 int mode )
10821{ int ret ;
10822 wait_queue_t wait ;
10823 struct task_struct *tmp___7 ;
10824 struct flchip_shared *shared ;
10825 struct flchip *contender ;
10826 long volatile __ret ;
10827 struct task_struct *tmp___9 ;
10828 struct task_struct *tmp___10 ;
10829 struct task_struct *tmp___11 ;
10830 struct task_struct *tmp___12 ;
10831 struct task_struct *tmp___13 ;
10832 wait_queue_t *__cil_tmp17 ;
10833 unsigned long __cil_tmp18 ;
10834 unsigned long __cil_tmp19 ;
10835 unsigned long __cil_tmp20 ;
10836 void *__cil_tmp21 ;
10837 unsigned long __cil_tmp22 ;
10838 unsigned long __cil_tmp23 ;
10839 void *__cil_tmp24 ;
10840 unsigned long __cil_tmp25 ;
10841 unsigned long __cil_tmp26 ;
10842 unsigned long __cil_tmp27 ;
10843 unsigned long __cil_tmp28 ;
10844 flstate_t __cil_tmp29 ;
10845 unsigned int __cil_tmp30 ;
10846 unsigned long __cil_tmp31 ;
10847 unsigned long __cil_tmp32 ;
10848 void *__cil_tmp33 ;
10849 struct mutex *__cil_tmp34 ;
10850 unsigned long __cil_tmp35 ;
10851 unsigned long __cil_tmp36 ;
10852 unsigned long __cil_tmp37 ;
10853 unsigned long __cil_tmp38 ;
10854 unsigned long __cil_tmp39 ;
10855 unsigned long __cil_tmp40 ;
10856 struct mutex *__cil_tmp41 ;
10857 struct mutex *__cil_tmp42 ;
10858 unsigned long __cil_tmp43 ;
10859 unsigned long __cil_tmp44 ;
10860 struct mutex *__cil_tmp45 ;
10861 unsigned long __cil_tmp46 ;
10862 unsigned long __cil_tmp47 ;
10863 unsigned long __cil_tmp48 ;
10864 struct mutex *__cil_tmp49 ;
10865 unsigned long __cil_tmp50 ;
10866 unsigned long __cil_tmp51 ;
10867 struct mutex *__cil_tmp52 ;
10868 unsigned long __cil_tmp53 ;
10869 unsigned long __cil_tmp54 ;
10870 struct mutex *__cil_tmp55 ;
10871 struct mutex *__cil_tmp56 ;
10872 unsigned long __cil_tmp57 ;
10873 unsigned long __cil_tmp58 ;
10874 flstate_t __cil_tmp59 ;
10875 unsigned int __cil_tmp60 ;
10876 unsigned long __cil_tmp61 ;
10877 unsigned long __cil_tmp62 ;
10878 unsigned long __cil_tmp63 ;
10879 struct mutex *__cil_tmp64 ;
10880 unsigned long __cil_tmp65 ;
10881 unsigned long __cil_tmp66 ;
10882 struct mutex *__cil_tmp67 ;
10883 unsigned long __cil_tmp68 ;
10884 unsigned long __cil_tmp69 ;
10885 unsigned long __cil_tmp70 ;
10886 unsigned long __cil_tmp71 ;
10887 struct flchip *__cil_tmp72 ;
10888 unsigned long __cil_tmp73 ;
10889 unsigned long __cil_tmp74 ;
10890 flstate_t __cil_tmp75 ;
10891 unsigned int __cil_tmp76 ;
10892 struct mutex *__cil_tmp77 ;
10893 unsigned long __cil_tmp78 ;
10894 unsigned long __cil_tmp79 ;
10895 wait_queue_head_t *__cil_tmp80 ;
10896 unsigned long __cil_tmp81 ;
10897 unsigned long __cil_tmp82 ;
10898 struct mutex *__cil_tmp83 ;
10899 unsigned long __cil_tmp84 ;
10900 unsigned long __cil_tmp85 ;
10901 wait_queue_head_t *__cil_tmp86 ;
10902 unsigned long __cil_tmp87 ;
10903 unsigned long __cil_tmp88 ;
10904 struct mutex *__cil_tmp89 ;
10905 unsigned long __cil_tmp90 ;
10906 unsigned long __cil_tmp91 ;
10907 unsigned long __cil_tmp92 ;
10908 unsigned long __cil_tmp93 ;
10909 struct mutex *__cil_tmp94 ;
10910
10911 {
10912 {
10913#line 864
10914 tmp___7 = get_current();
10915#line 864
10916 __cil_tmp17 = & wait;
10917#line 864
10918 *((unsigned int *)__cil_tmp17) = 0U;
10919#line 864
10920 __cil_tmp18 = (unsigned long )(& wait) + 8;
10921#line 864
10922 *((void **)__cil_tmp18) = (void *)tmp___7;
10923#line 864
10924 __cil_tmp19 = (unsigned long )(& wait) + 16;
10925#line 864
10926 *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp19) = & default_wake_function;
10927#line 864
10928 __cil_tmp20 = (unsigned long )(& wait) + 24;
10929#line 864
10930 __cil_tmp21 = (void *)0;
10931#line 864
10932 *((struct list_head **)__cil_tmp20) = (struct list_head *)__cil_tmp21;
10933#line 864
10934 __cil_tmp22 = 24 + 8;
10935#line 864
10936 __cil_tmp23 = (unsigned long )(& wait) + __cil_tmp22;
10937#line 864
10938 __cil_tmp24 = (void *)0;
10939#line 864
10940 *((struct list_head **)__cil_tmp23) = (struct list_head *)__cil_tmp24;
10941 }
10942 retry:
10943 {
10944#line 867
10945 __cil_tmp25 = (unsigned long )chip;
10946#line 867
10947 __cil_tmp26 = __cil_tmp25 + 168;
10948#line 867
10949 if (*((void **)__cil_tmp26)) {
10950#line 867
10951 if (mode == 7) {
10952#line 867
10953 goto _L;
10954 } else
10955#line 867
10956 if (mode == 4) {
10957#line 867
10958 goto _L;
10959 } else
10960#line 867
10961 if (mode == 9) {
10962#line 867
10963 goto _L;
10964 } else
10965#line 867
10966 if (mode == 20) {
10967 _L:
10968 {
10969#line 867
10970 __cil_tmp27 = (unsigned long )chip;
10971#line 867
10972 __cil_tmp28 = __cil_tmp27 + 12;
10973#line 867
10974 __cil_tmp29 = *((flstate_t *)__cil_tmp28);
10975#line 867
10976 __cil_tmp30 = (unsigned int )__cil_tmp29;
10977#line 867
10978 if (__cil_tmp30 != 13U) {
10979 {
10980#line 888
10981 __cil_tmp31 = (unsigned long )chip;
10982#line 888
10983 __cil_tmp32 = __cil_tmp31 + 168;
10984#line 888
10985 __cil_tmp33 = *((void **)__cil_tmp32);
10986#line 888
10987 shared = (struct flchip_shared *)__cil_tmp33;
10988#line 890
10989 __cil_tmp34 = (struct mutex *)shared;
10990#line 890
10991 mutex_lock(__cil_tmp34);
10992#line 891
10993 __cil_tmp35 = (unsigned long )shared;
10994#line 891
10995 __cil_tmp36 = __cil_tmp35 + 72;
10996#line 891
10997 contender = *((struct flchip **)__cil_tmp36);
10998 }
10999#line 892
11000 if (contender) {
11001 {
11002#line 892
11003 __cil_tmp37 = (unsigned long )chip;
11004#line 892
11005 __cil_tmp38 = (unsigned long )contender;
11006#line 892
11007 if (__cil_tmp38 != __cil_tmp37) {
11008 {
11009#line 902
11010 __cil_tmp39 = (unsigned long )contender;
11011#line 902
11012 __cil_tmp40 = __cil_tmp39 + 32;
11013#line 902
11014 __cil_tmp41 = (struct mutex *)__cil_tmp40;
11015#line 902
11016 ret = mutex_trylock(__cil_tmp41);
11017#line 903
11018 __cil_tmp42 = (struct mutex *)shared;
11019#line 903
11020 mutex_unlock(__cil_tmp42);
11021 }
11022#line 904
11023 if (! ret) {
11024#line 905
11025 goto retry;
11026 } else {
11027
11028 }
11029 {
11030#line 906
11031 __cil_tmp43 = (unsigned long )chip;
11032#line 906
11033 __cil_tmp44 = __cil_tmp43 + 32;
11034#line 906
11035 __cil_tmp45 = (struct mutex *)__cil_tmp44;
11036#line 906
11037 mutex_unlock(__cil_tmp45);
11038#line 907
11039 __cil_tmp46 = *((unsigned long *)contender);
11040#line 907
11041 ret = chip_ready(map, contender, __cil_tmp46, mode);
11042#line 908
11043 __cil_tmp47 = (unsigned long )chip;
11044#line 908
11045 __cil_tmp48 = __cil_tmp47 + 32;
11046#line 908
11047 __cil_tmp49 = (struct mutex *)__cil_tmp48;
11048#line 908
11049 mutex_lock(__cil_tmp49);
11050 }
11051#line 910
11052 if (ret == -11) {
11053 {
11054#line 911
11055 __cil_tmp50 = (unsigned long )contender;
11056#line 911
11057 __cil_tmp51 = __cil_tmp50 + 32;
11058#line 911
11059 __cil_tmp52 = (struct mutex *)__cil_tmp51;
11060#line 911
11061 mutex_unlock(__cil_tmp52);
11062 }
11063#line 912
11064 goto retry;
11065 } else {
11066
11067 }
11068#line 914
11069 if (ret) {
11070 {
11071#line 915
11072 __cil_tmp53 = (unsigned long )contender;
11073#line 915
11074 __cil_tmp54 = __cil_tmp53 + 32;
11075#line 915
11076 __cil_tmp55 = (struct mutex *)__cil_tmp54;
11077#line 915
11078 mutex_unlock(__cil_tmp55);
11079 }
11080#line 916
11081 return (ret);
11082 } else {
11083
11084 }
11085 {
11086#line 918
11087 __cil_tmp56 = (struct mutex *)shared;
11088#line 918
11089 mutex_lock(__cil_tmp56);
11090 }
11091 {
11092#line 922
11093 __cil_tmp57 = (unsigned long )chip;
11094#line 922
11095 __cil_tmp58 = __cil_tmp57 + 12;
11096#line 922
11097 __cil_tmp59 = *((flstate_t *)__cil_tmp58);
11098#line 922
11099 __cil_tmp60 = (unsigned int )__cil_tmp59;
11100#line 922
11101 if (__cil_tmp60 == 13U) {
11102 {
11103#line 923
11104 __cil_tmp61 = *((unsigned long *)contender);
11105#line 923
11106 put_chip(map, contender, __cil_tmp61);
11107#line 924
11108 __cil_tmp62 = (unsigned long )contender;
11109#line 924
11110 __cil_tmp63 = __cil_tmp62 + 32;
11111#line 924
11112 __cil_tmp64 = (struct mutex *)__cil_tmp63;
11113#line 924
11114 mutex_unlock(__cil_tmp64);
11115 }
11116#line 925
11117 goto retry;
11118 } else {
11119
11120 }
11121 }
11122 {
11123#line 927
11124 __cil_tmp65 = (unsigned long )contender;
11125#line 927
11126 __cil_tmp66 = __cil_tmp65 + 32;
11127#line 927
11128 __cil_tmp67 = (struct mutex *)__cil_tmp66;
11129#line 927
11130 mutex_unlock(__cil_tmp67);
11131 }
11132 } else {
11133
11134 }
11135 }
11136 } else {
11137
11138 }
11139#line 932
11140 if (mode == 4) {
11141 {
11142#line 932
11143 __cil_tmp68 = (unsigned long )shared;
11144#line 932
11145 __cil_tmp69 = __cil_tmp68 + 80;
11146#line 932
11147 if (*((struct flchip **)__cil_tmp69)) {
11148 {
11149#line 932
11150 __cil_tmp70 = (unsigned long )shared;
11151#line 932
11152 __cil_tmp71 = __cil_tmp70 + 80;
11153#line 932
11154 __cil_tmp72 = *((struct flchip **)__cil_tmp71);
11155#line 932
11156 __cil_tmp73 = (unsigned long )__cil_tmp72;
11157#line 932
11158 __cil_tmp74 = __cil_tmp73 + 16;
11159#line 932
11160 __cil_tmp75 = *((flstate_t *)__cil_tmp74);
11161#line 932
11162 __cil_tmp76 = (unsigned int )__cil_tmp75;
11163#line 932
11164 if (__cil_tmp76 == 4U) {
11165 {
11166#line 934
11167 __cil_tmp77 = (struct mutex *)shared;
11168#line 934
11169 mutex_unlock(__cil_tmp77);
11170 }
11171 {
11172#line 935
11173 while (1) {
11174 while_continue: ;
11175#line 935
11176 __ret = (long volatile )2;
11177#line 935
11178 if ((int )8UL == 1) {
11179#line 935
11180 goto case_1;
11181 } else
11182#line 935
11183 if ((int )8UL == 2) {
11184#line 935
11185 goto case_2;
11186 } else
11187#line 935
11188 if ((int )8UL == 4) {
11189#line 935
11190 goto case_4;
11191 } else
11192#line 935
11193 if ((int )8UL == 8) {
11194#line 935
11195 goto case_8;
11196 } else {
11197 {
11198#line 935
11199 goto switch_default;
11200#line 935
11201 if (0) {
11202 case_1:
11203 {
11204#line 935
11205 tmp___10 = get_current();
11206#line 935
11207 __asm__ volatile (""
11208 "xchg"
11209 "b %b0, %1\n": "+q" (__ret), "+m" (*((long volatile *)tmp___10)): : "memory",
11210 "cc");
11211 }
11212#line 935
11213 goto switch_break;
11214 case_2:
11215 {
11216#line 935
11217 tmp___11 = get_current();
11218#line 935
11219 __asm__ volatile (""
11220 "xchg"
11221 "w %w0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___11)): : "memory",
11222 "cc");
11223 }
11224#line 935
11225 goto switch_break;
11226 case_4:
11227 {
11228#line 935
11229 tmp___12 = get_current();
11230#line 935
11231 __asm__ volatile (""
11232 "xchg"
11233 "l %0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___12)): : "memory",
11234 "cc");
11235 }
11236#line 935
11237 goto switch_break;
11238 case_8:
11239 {
11240#line 935
11241 tmp___13 = get_current();
11242#line 935
11243 __asm__ volatile (""
11244 "xchg"
11245 "q %q0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___13)): : "memory",
11246 "cc");
11247 }
11248#line 935
11249 goto switch_break;
11250 switch_default:
11251 {
11252#line 935
11253 __xchg_wrong_size();
11254 }
11255 } else {
11256 switch_break: ;
11257 }
11258 }
11259 }
11260#line 935
11261 goto while_break;
11262 }
11263 while_break: ;
11264 }
11265 {
11266#line 936
11267 __cil_tmp78 = (unsigned long )chip;
11268#line 936
11269 __cil_tmp79 = __cil_tmp78 + 104;
11270#line 936
11271 __cil_tmp80 = (wait_queue_head_t *)__cil_tmp79;
11272#line 936
11273 add_wait_queue(__cil_tmp80, & wait);
11274#line 937
11275 __cil_tmp81 = (unsigned long )chip;
11276#line 937
11277 __cil_tmp82 = __cil_tmp81 + 32;
11278#line 937
11279 __cil_tmp83 = (struct mutex *)__cil_tmp82;
11280#line 937
11281 mutex_unlock(__cil_tmp83);
11282#line 938
11283 schedule();
11284#line 939
11285 __cil_tmp84 = (unsigned long )chip;
11286#line 939
11287 __cil_tmp85 = __cil_tmp84 + 104;
11288#line 939
11289 __cil_tmp86 = (wait_queue_head_t *)__cil_tmp85;
11290#line 939
11291 remove_wait_queue(__cil_tmp86, & wait);
11292#line 940
11293 __cil_tmp87 = (unsigned long )chip;
11294#line 940
11295 __cil_tmp88 = __cil_tmp87 + 32;
11296#line 940
11297 __cil_tmp89 = (struct mutex *)__cil_tmp88;
11298#line 940
11299 mutex_lock(__cil_tmp89);
11300 }
11301#line 941
11302 goto retry;
11303 } else {
11304
11305 }
11306 }
11307 } else {
11308
11309 }
11310 }
11311 } else {
11312
11313 }
11314#line 945
11315 __cil_tmp90 = (unsigned long )shared;
11316#line 945
11317 __cil_tmp91 = __cil_tmp90 + 72;
11318#line 945
11319 *((struct flchip **)__cil_tmp91) = chip;
11320#line 946
11321 if (mode == 4) {
11322#line 947
11323 __cil_tmp92 = (unsigned long )shared;
11324#line 947
11325 __cil_tmp93 = __cil_tmp92 + 80;
11326#line 947
11327 *((struct flchip **)__cil_tmp93) = chip;
11328 } else {
11329
11330 }
11331 {
11332#line 948
11333 __cil_tmp94 = (struct mutex *)shared;
11334#line 948
11335 mutex_unlock(__cil_tmp94);
11336 }
11337 } else {
11338
11339 }
11340 }
11341 } else {
11342
11343 }
11344 } else {
11345
11346 }
11347 }
11348 {
11349#line 950
11350 ret = chip_ready(map, chip, adr, mode);
11351 }
11352#line 951
11353 if (ret == -11) {
11354#line 952
11355 goto retry;
11356 } else {
11357
11358 }
11359#line 954
11360 return (ret);
11361}
11362}
11363#line 957 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
11364static void put_chip(struct map_info *map , struct flchip *chip , unsigned long adr )
11365{ struct cfi_private *cfi ;
11366 struct flchip_shared *shared ;
11367 struct flchip *loaner ;
11368 map_word tmp___7 ;
11369 map_word tmp___8 ;
11370 unsigned long __cil_tmp9 ;
11371 unsigned long __cil_tmp10 ;
11372 void *__cil_tmp11 ;
11373 unsigned long __cil_tmp12 ;
11374 unsigned long __cil_tmp13 ;
11375 unsigned long __cil_tmp14 ;
11376 unsigned long __cil_tmp15 ;
11377 void *__cil_tmp16 ;
11378 struct mutex *__cil_tmp17 ;
11379 unsigned long __cil_tmp18 ;
11380 unsigned long __cil_tmp19 ;
11381 unsigned long __cil_tmp20 ;
11382 struct flchip *__cil_tmp21 ;
11383 unsigned long __cil_tmp22 ;
11384 unsigned long __cil_tmp23 ;
11385 unsigned long __cil_tmp24 ;
11386 flstate_t __cil_tmp25 ;
11387 unsigned int __cil_tmp26 ;
11388 unsigned long __cil_tmp27 ;
11389 unsigned long __cil_tmp28 ;
11390 unsigned long __cil_tmp29 ;
11391 unsigned long __cil_tmp30 ;
11392 unsigned long __cil_tmp31 ;
11393 unsigned long __cil_tmp32 ;
11394 unsigned long __cil_tmp33 ;
11395 unsigned long __cil_tmp34 ;
11396 unsigned long __cil_tmp35 ;
11397 struct flchip *__cil_tmp36 ;
11398 unsigned long __cil_tmp37 ;
11399 unsigned long __cil_tmp38 ;
11400 unsigned long __cil_tmp39 ;
11401 unsigned long __cil_tmp40 ;
11402 unsigned long __cil_tmp41 ;
11403 struct mutex *__cil_tmp42 ;
11404 struct mutex *__cil_tmp43 ;
11405 unsigned long __cil_tmp44 ;
11406 unsigned long __cil_tmp45 ;
11407 struct mutex *__cil_tmp46 ;
11408 unsigned long __cil_tmp47 ;
11409 unsigned long __cil_tmp48 ;
11410 unsigned long __cil_tmp49 ;
11411 struct mutex *__cil_tmp50 ;
11412 unsigned long __cil_tmp51 ;
11413 unsigned long __cil_tmp52 ;
11414 struct mutex *__cil_tmp53 ;
11415 unsigned long __cil_tmp54 ;
11416 unsigned long __cil_tmp55 ;
11417 wait_queue_head_t *__cil_tmp56 ;
11418 void *__cil_tmp57 ;
11419 unsigned long __cil_tmp58 ;
11420 unsigned long __cil_tmp59 ;
11421 void *__cil_tmp60 ;
11422 unsigned long __cil_tmp61 ;
11423 unsigned long __cil_tmp62 ;
11424 void *__cil_tmp63 ;
11425 unsigned long __cil_tmp64 ;
11426 unsigned long __cil_tmp65 ;
11427 unsigned long __cil_tmp66 ;
11428 struct flchip *__cil_tmp67 ;
11429 unsigned long __cil_tmp68 ;
11430 unsigned long __cil_tmp69 ;
11431 unsigned long __cil_tmp70 ;
11432 unsigned long __cil_tmp71 ;
11433 struct flchip *__cil_tmp72 ;
11434 unsigned long __cil_tmp73 ;
11435 struct mutex *__cil_tmp74 ;
11436 unsigned long __cil_tmp75 ;
11437 unsigned long __cil_tmp76 ;
11438 wait_queue_head_t *__cil_tmp77 ;
11439 void *__cil_tmp78 ;
11440 struct mutex *__cil_tmp79 ;
11441 unsigned long __cil_tmp80 ;
11442 unsigned long __cil_tmp81 ;
11443 flstate_t __cil_tmp82 ;
11444 u_long __cil_tmp83 ;
11445 unsigned long __cil_tmp84 ;
11446 unsigned long __cil_tmp85 ;
11447 void (*__cil_tmp86)(struct map_info * , map_word , unsigned long ) ;
11448 map_word __cil_tmp87 ;
11449 u_long __cil_tmp88 ;
11450 unsigned long __cil_tmp89 ;
11451 unsigned long __cil_tmp90 ;
11452 void (*__cil_tmp91)(struct map_info * , map_word , unsigned long ) ;
11453 map_word __cil_tmp92 ;
11454 unsigned long __cil_tmp93 ;
11455 unsigned long __cil_tmp94 ;
11456 unsigned long __cil_tmp95 ;
11457 unsigned long __cil_tmp96 ;
11458 unsigned long __cil_tmp97 ;
11459 unsigned long __cil_tmp98 ;
11460 unsigned long __cil_tmp99 ;
11461 unsigned long __cil_tmp100 ;
11462 unsigned long __cil_tmp101 ;
11463 unsigned long __cil_tmp102 ;
11464 char *__cil_tmp103 ;
11465 unsigned long __cil_tmp104 ;
11466 unsigned long __cil_tmp105 ;
11467 flstate_t __cil_tmp106 ;
11468 unsigned int __cil_tmp107 ;
11469 unsigned long __cil_tmp108 ;
11470 unsigned long __cil_tmp109 ;
11471 wait_queue_head_t *__cil_tmp110 ;
11472 void *__cil_tmp111 ;
11473
11474 {
11475#line 959
11476 __cil_tmp9 = (unsigned long )map;
11477#line 959
11478 __cil_tmp10 = __cil_tmp9 + 120;
11479#line 959
11480 __cil_tmp11 = *((void **)__cil_tmp10);
11481#line 959
11482 cfi = (struct cfi_private *)__cil_tmp11;
11483 {
11484#line 961
11485 __cil_tmp12 = (unsigned long )chip;
11486#line 961
11487 __cil_tmp13 = __cil_tmp12 + 168;
11488#line 961
11489 if (*((void **)__cil_tmp13)) {
11490 {
11491#line 962
11492 __cil_tmp14 = (unsigned long )chip;
11493#line 962
11494 __cil_tmp15 = __cil_tmp14 + 168;
11495#line 962
11496 __cil_tmp16 = *((void **)__cil_tmp15);
11497#line 962
11498 shared = (struct flchip_shared *)__cil_tmp16;
11499#line 963
11500 __cil_tmp17 = (struct mutex *)shared;
11501#line 963
11502 mutex_lock(__cil_tmp17);
11503 }
11504 {
11505#line 964
11506 __cil_tmp18 = (unsigned long )chip;
11507#line 964
11508 __cil_tmp19 = (unsigned long )shared;
11509#line 964
11510 __cil_tmp20 = __cil_tmp19 + 72;
11511#line 964
11512 __cil_tmp21 = *((struct flchip **)__cil_tmp20);
11513#line 964
11514 __cil_tmp22 = (unsigned long )__cil_tmp21;
11515#line 964
11516 if (__cil_tmp22 == __cil_tmp18) {
11517 {
11518#line 964
11519 __cil_tmp23 = (unsigned long )chip;
11520#line 964
11521 __cil_tmp24 = __cil_tmp23 + 16;
11522#line 964
11523 __cil_tmp25 = *((flstate_t *)__cil_tmp24);
11524#line 964
11525 __cil_tmp26 = (unsigned int )__cil_tmp25;
11526#line 964
11527 if (__cil_tmp26 == 0U) {
11528#line 966
11529 __cil_tmp27 = (unsigned long )shared;
11530#line 966
11531 __cil_tmp28 = __cil_tmp27 + 72;
11532#line 966
11533 __cil_tmp29 = (unsigned long )shared;
11534#line 966
11535 __cil_tmp30 = __cil_tmp29 + 80;
11536#line 966
11537 *((struct flchip **)__cil_tmp28) = *((struct flchip **)__cil_tmp30);
11538 {
11539#line 967
11540 __cil_tmp31 = (unsigned long )shared;
11541#line 967
11542 __cil_tmp32 = __cil_tmp31 + 72;
11543#line 967
11544 if (*((struct flchip **)__cil_tmp32)) {
11545 {
11546#line 967
11547 __cil_tmp33 = (unsigned long )chip;
11548#line 967
11549 __cil_tmp34 = (unsigned long )shared;
11550#line 967
11551 __cil_tmp35 = __cil_tmp34 + 72;
11552#line 967
11553 __cil_tmp36 = *((struct flchip **)__cil_tmp35);
11554#line 967
11555 __cil_tmp37 = (unsigned long )__cil_tmp36;
11556#line 967
11557 if (__cil_tmp37 != __cil_tmp33) {
11558 {
11559#line 969
11560 __cil_tmp38 = (unsigned long )shared;
11561#line 969
11562 __cil_tmp39 = __cil_tmp38 + 72;
11563#line 969
11564 loaner = *((struct flchip **)__cil_tmp39);
11565#line 970
11566 __cil_tmp40 = (unsigned long )loaner;
11567#line 970
11568 __cil_tmp41 = __cil_tmp40 + 32;
11569#line 970
11570 __cil_tmp42 = (struct mutex *)__cil_tmp41;
11571#line 970
11572 mutex_lock(__cil_tmp42);
11573#line 971
11574 __cil_tmp43 = (struct mutex *)shared;
11575#line 971
11576 mutex_unlock(__cil_tmp43);
11577#line 972
11578 __cil_tmp44 = (unsigned long )chip;
11579#line 972
11580 __cil_tmp45 = __cil_tmp44 + 32;
11581#line 972
11582 __cil_tmp46 = (struct mutex *)__cil_tmp45;
11583#line 972
11584 mutex_unlock(__cil_tmp46);
11585#line 973
11586 __cil_tmp47 = *((unsigned long *)loaner);
11587#line 973
11588 put_chip(map, loaner, __cil_tmp47);
11589#line 974
11590 __cil_tmp48 = (unsigned long )chip;
11591#line 974
11592 __cil_tmp49 = __cil_tmp48 + 32;
11593#line 974
11594 __cil_tmp50 = (struct mutex *)__cil_tmp49;
11595#line 974
11596 mutex_lock(__cil_tmp50);
11597#line 975
11598 __cil_tmp51 = (unsigned long )loaner;
11599#line 975
11600 __cil_tmp52 = __cil_tmp51 + 32;
11601#line 975
11602 __cil_tmp53 = (struct mutex *)__cil_tmp52;
11603#line 975
11604 mutex_unlock(__cil_tmp53);
11605#line 976
11606 __cil_tmp54 = (unsigned long )chip;
11607#line 976
11608 __cil_tmp55 = __cil_tmp54 + 104;
11609#line 976
11610 __cil_tmp56 = (wait_queue_head_t *)__cil_tmp55;
11611#line 976
11612 __cil_tmp57 = (void *)0;
11613#line 976
11614 __wake_up(__cil_tmp56, 3U, 1, __cil_tmp57);
11615 }
11616#line 977
11617 return;
11618 } else {
11619
11620 }
11621 }
11622 } else {
11623
11624 }
11625 }
11626#line 979
11627 __cil_tmp58 = (unsigned long )shared;
11628#line 979
11629 __cil_tmp59 = __cil_tmp58 + 80;
11630#line 979
11631 __cil_tmp60 = (void *)0;
11632#line 979
11633 *((struct flchip **)__cil_tmp59) = (struct flchip *)__cil_tmp60;
11634#line 980
11635 __cil_tmp61 = (unsigned long )shared;
11636#line 980
11637 __cil_tmp62 = __cil_tmp61 + 72;
11638#line 980
11639 __cil_tmp63 = (void *)0;
11640#line 980
11641 *((struct flchip **)__cil_tmp62) = (struct flchip *)__cil_tmp63;
11642 } else {
11643#line 964
11644 goto _L;
11645 }
11646 }
11647 } else {
11648 _L:
11649 {
11650#line 981
11651 __cil_tmp64 = (unsigned long )chip;
11652#line 981
11653 __cil_tmp65 = (unsigned long )shared;
11654#line 981
11655 __cil_tmp66 = __cil_tmp65 + 80;
11656#line 981
11657 __cil_tmp67 = *((struct flchip **)__cil_tmp66);
11658#line 981
11659 __cil_tmp68 = (unsigned long )__cil_tmp67;
11660#line 981
11661 if (__cil_tmp68 == __cil_tmp64) {
11662 {
11663#line 981
11664 __cil_tmp69 = (unsigned long )chip;
11665#line 981
11666 __cil_tmp70 = (unsigned long )shared;
11667#line 981
11668 __cil_tmp71 = __cil_tmp70 + 72;
11669#line 981
11670 __cil_tmp72 = *((struct flchip **)__cil_tmp71);
11671#line 981
11672 __cil_tmp73 = (unsigned long )__cil_tmp72;
11673#line 981
11674 if (__cil_tmp73 != __cil_tmp69) {
11675 {
11676#line 989
11677 __cil_tmp74 = (struct mutex *)shared;
11678#line 989
11679 mutex_unlock(__cil_tmp74);
11680#line 990
11681 __cil_tmp75 = (unsigned long )chip;
11682#line 990
11683 __cil_tmp76 = __cil_tmp75 + 104;
11684#line 990
11685 __cil_tmp77 = (wait_queue_head_t *)__cil_tmp76;
11686#line 990
11687 __cil_tmp78 = (void *)0;
11688#line 990
11689 __wake_up(__cil_tmp77, 3U, 1, __cil_tmp78);
11690 }
11691#line 991
11692 return;
11693 } else {
11694
11695 }
11696 }
11697 } else {
11698
11699 }
11700 }
11701 }
11702 }
11703 {
11704#line 993
11705 __cil_tmp79 = (struct mutex *)shared;
11706#line 993
11707 mutex_unlock(__cil_tmp79);
11708 }
11709 } else {
11710
11711 }
11712 }
11713 {
11714#line 996
11715 __cil_tmp80 = (unsigned long )chip;
11716#line 996
11717 __cil_tmp81 = __cil_tmp80 + 16;
11718#line 996
11719 __cil_tmp82 = *((flstate_t *)__cil_tmp81);
11720#line 997
11721 if ((int )__cil_tmp82 == 4) {
11722#line 997
11723 goto case_4;
11724 } else
11725#line 1013
11726 if ((int )__cil_tmp82 == 18) {
11727#line 1013
11728 goto case_18;
11729 } else
11730#line 1018
11731 if ((int )__cil_tmp82 == 0) {
11732#line 1018
11733 goto case_0;
11734 } else
11735#line 1019
11736 if ((int )__cil_tmp82 == 1) {
11737#line 1019
11738 goto case_0;
11739 } else
11740#line 1020
11741 if ((int )__cil_tmp82 == 3) {
11742#line 1020
11743 goto case_0;
11744 } else {
11745 {
11746#line 1022
11747 goto switch_default;
11748#line 996
11749 if (0) {
11750 case_4:
11751 {
11752#line 1007
11753 __cil_tmp83 = (u_long )208;
11754#line 1007
11755 tmp___7 = cfi_build_cmd(__cil_tmp83, map, cfi);
11756#line 1007
11757 __cil_tmp84 = (unsigned long )map;
11758#line 1007
11759 __cil_tmp85 = __cil_tmp84 + 64;
11760#line 1007
11761 __cil_tmp86 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp85);
11762#line 1007
11763 __cil_tmp87 = (map_word )tmp___7;
11764#line 1007
11765 (*__cil_tmp86)(map, __cil_tmp87, adr);
11766#line 1008
11767 __cil_tmp88 = (u_long )112;
11768#line 1008
11769 tmp___8 = cfi_build_cmd(__cil_tmp88, map, cfi);
11770#line 1008
11771 __cil_tmp89 = (unsigned long )map;
11772#line 1008
11773 __cil_tmp90 = __cil_tmp89 + 64;
11774#line 1008
11775 __cil_tmp91 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp90);
11776#line 1008
11777 __cil_tmp92 = (map_word )tmp___8;
11778#line 1008
11779 (*__cil_tmp91)(map, __cil_tmp92, adr);
11780#line 1009
11781 __cil_tmp93 = (unsigned long )chip;
11782#line 1009
11783 __cil_tmp94 = __cil_tmp93 + 16;
11784#line 1009
11785 *((flstate_t *)__cil_tmp94) = (flstate_t )0;
11786#line 1010
11787 __cil_tmp95 = (unsigned long )chip;
11788#line 1010
11789 __cil_tmp96 = __cil_tmp95 + 12;
11790#line 1010
11791 *((flstate_t *)__cil_tmp96) = (flstate_t )4;
11792 }
11793#line 1011
11794 goto switch_break;
11795 case_18:
11796#line 1014
11797 __cil_tmp97 = (unsigned long )chip;
11798#line 1014
11799 __cil_tmp98 = __cil_tmp97 + 12;
11800#line 1014
11801 __cil_tmp99 = (unsigned long )chip;
11802#line 1014
11803 __cil_tmp100 = __cil_tmp99 + 16;
11804#line 1014
11805 *((flstate_t *)__cil_tmp98) = *((flstate_t *)__cil_tmp100);
11806#line 1015
11807 __cil_tmp101 = (unsigned long )chip;
11808#line 1015
11809 __cil_tmp102 = __cil_tmp101 + 16;
11810#line 1015
11811 *((flstate_t *)__cil_tmp102) = (flstate_t )0;
11812#line 1016
11813 goto switch_break;
11814 case_0:
11815 case_1:
11816 case_3:
11817#line 1021
11818 goto switch_break;
11819 switch_default:
11820 {
11821#line 1023
11822 __cil_tmp103 = *((char **)map);
11823#line 1023
11824 __cil_tmp104 = (unsigned long )chip;
11825#line 1023
11826 __cil_tmp105 = __cil_tmp104 + 16;
11827#line 1023
11828 __cil_tmp106 = *((flstate_t *)__cil_tmp105);
11829#line 1023
11830 __cil_tmp107 = (unsigned int )__cil_tmp106;
11831#line 1023
11832 printk("<3>%s: put_chip() called with oldstate %d!!\n", __cil_tmp103, __cil_tmp107);
11833 }
11834 } else {
11835 switch_break: ;
11836 }
11837 }
11838 }
11839 }
11840 {
11841#line 1025
11842 __cil_tmp108 = (unsigned long )chip;
11843#line 1025
11844 __cil_tmp109 = __cil_tmp108 + 104;
11845#line 1025
11846 __cil_tmp110 = (wait_queue_head_t *)__cil_tmp109;
11847#line 1025
11848 __cil_tmp111 = (void *)0;
11849#line 1025
11850 __wake_up(__cil_tmp110, 3U, 1, __cil_tmp111);
11851 }
11852#line 1026
11853 return;
11854}
11855}
11856#line 1206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
11857static int inval_cache_and_wait_for_operation(struct map_info *map , struct flchip *chip ,
11858 unsigned long cmd_adr , unsigned long inval_adr ,
11859 int inval_len , unsigned int chip_op_time ,
11860 unsigned int chip_op_time_max )
11861{ struct cfi_private *cfi ;
11862 map_word status ;
11863 map_word status_OK ;
11864 map_word tmp___7 ;
11865 int chip_state ;
11866 unsigned int timeo ;
11867 unsigned int sleep_time ;
11868 unsigned int reset_timeo ;
11869 wait_queue_t wait ;
11870 struct task_struct *tmp___8 ;
11871 long volatile __ret ;
11872 struct task_struct *tmp___10 ;
11873 struct task_struct *tmp___11 ;
11874 struct task_struct *tmp___12 ;
11875 struct task_struct *tmp___13 ;
11876 struct task_struct *tmp___14 ;
11877 map_word tmp___15 ;
11878 int tmp___16 ;
11879 map_word tmp___17 ;
11880 unsigned long __cil_tmp28 ;
11881 unsigned long __cil_tmp29 ;
11882 void *__cil_tmp30 ;
11883 u_long __cil_tmp31 ;
11884 unsigned long __cil_tmp32 ;
11885 unsigned long __cil_tmp33 ;
11886 flstate_t __cil_tmp34 ;
11887 unsigned long __cil_tmp35 ;
11888 unsigned long __cil_tmp36 ;
11889 struct mutex *__cil_tmp37 ;
11890 unsigned long __cil_tmp38 ;
11891 unsigned long __cil_tmp39 ;
11892 unsigned long __cil_tmp40 ;
11893 unsigned long __cil_tmp41 ;
11894 void (*__cil_tmp42)(struct map_info * , unsigned long , ssize_t ) ;
11895 ssize_t __cil_tmp43 ;
11896 unsigned long __cil_tmp44 ;
11897 unsigned long __cil_tmp45 ;
11898 struct mutex *__cil_tmp46 ;
11899 unsigned int __cil_tmp47 ;
11900 unsigned long __cil_tmp48 ;
11901 unsigned long __cil_tmp49 ;
11902 flstate_t __cil_tmp50 ;
11903 unsigned int __cil_tmp51 ;
11904 wait_queue_t *__cil_tmp52 ;
11905 unsigned long __cil_tmp53 ;
11906 unsigned long __cil_tmp54 ;
11907 unsigned long __cil_tmp55 ;
11908 void *__cil_tmp56 ;
11909 unsigned long __cil_tmp57 ;
11910 unsigned long __cil_tmp58 ;
11911 void *__cil_tmp59 ;
11912 unsigned long __cil_tmp60 ;
11913 unsigned long __cil_tmp61 ;
11914 wait_queue_head_t *__cil_tmp62 ;
11915 unsigned long __cil_tmp63 ;
11916 unsigned long __cil_tmp64 ;
11917 struct mutex *__cil_tmp65 ;
11918 unsigned long __cil_tmp66 ;
11919 unsigned long __cil_tmp67 ;
11920 wait_queue_head_t *__cil_tmp68 ;
11921 unsigned long __cil_tmp69 ;
11922 unsigned long __cil_tmp70 ;
11923 struct mutex *__cil_tmp71 ;
11924 unsigned long __cil_tmp72 ;
11925 unsigned long __cil_tmp73 ;
11926 map_word (*__cil_tmp74)(struct map_info * , unsigned long ) ;
11927 unsigned long __cil_tmp75 ;
11928 unsigned long __cil_tmp76 ;
11929 unsigned long __cil_tmp77 ;
11930 unsigned long __cil_tmp78 ;
11931 u_long __cil_tmp79 ;
11932 unsigned long __cil_tmp80 ;
11933 unsigned long __cil_tmp81 ;
11934 void (*__cil_tmp82)(struct map_info * , map_word , unsigned long ) ;
11935 map_word __cil_tmp83 ;
11936 unsigned long __cil_tmp84 ;
11937 unsigned long __cil_tmp85 ;
11938 unsigned long __cil_tmp86 ;
11939 unsigned long __cil_tmp87 ;
11940 struct mutex *__cil_tmp88 ;
11941 unsigned int __cil_tmp89 ;
11942 unsigned long __cil_tmp90 ;
11943 unsigned long __cil_tmp91 ;
11944 struct mutex *__cil_tmp92 ;
11945 unsigned long __cil_tmp93 ;
11946 unsigned long __cil_tmp94 ;
11947
11948 {
11949 {
11950#line 1211
11951 __cil_tmp28 = (unsigned long )map;
11952#line 1211
11953 __cil_tmp29 = __cil_tmp28 + 120;
11954#line 1211
11955 __cil_tmp30 = *((void **)__cil_tmp29);
11956#line 1211
11957 cfi = (struct cfi_private *)__cil_tmp30;
11958#line 1212
11959 __cil_tmp31 = (u_long )128;
11960#line 1212
11961 tmp___7 = cfi_build_cmd(__cil_tmp31, map, cfi);
11962#line 1212
11963 status_OK = tmp___7;
11964#line 1213
11965 __cil_tmp32 = (unsigned long )chip;
11966#line 1213
11967 __cil_tmp33 = __cil_tmp32 + 12;
11968#line 1213
11969 __cil_tmp34 = *((flstate_t *)__cil_tmp33);
11970#line 1213
11971 chip_state = (int )__cil_tmp34;
11972#line 1216
11973 __cil_tmp35 = (unsigned long )chip;
11974#line 1216
11975 __cil_tmp36 = __cil_tmp35 + 32;
11976#line 1216
11977 __cil_tmp37 = (struct mutex *)__cil_tmp36;
11978#line 1216
11979 mutex_unlock(__cil_tmp37);
11980 }
11981#line 1217
11982 if (inval_len) {
11983 {
11984#line 1218
11985 while (1) {
11986 while_continue: ;
11987 {
11988#line 1218
11989 __cil_tmp38 = (unsigned long )map;
11990#line 1218
11991 __cil_tmp39 = __cil_tmp38 + 80;
11992#line 1218
11993 if (*((void (**)(struct map_info * , unsigned long , ssize_t ))__cil_tmp39)) {
11994 {
11995#line 1218
11996 __cil_tmp40 = (unsigned long )map;
11997#line 1218
11998 __cil_tmp41 = __cil_tmp40 + 80;
11999#line 1218
12000 __cil_tmp42 = *((void (**)(struct map_info * , unsigned long , ssize_t ))__cil_tmp41);
12001#line 1218
12002 __cil_tmp43 = (ssize_t )inval_len;
12003#line 1218
12004 (*__cil_tmp42)(map, inval_adr, __cil_tmp43);
12005 }
12006 } else {
12007
12008 }
12009 }
12010#line 1218
12011 goto while_break;
12012 }
12013 while_break: ;
12014 }
12015 } else {
12016
12017 }
12018 {
12019#line 1219
12020 __cil_tmp44 = (unsigned long )chip;
12021#line 1219
12022 __cil_tmp45 = __cil_tmp44 + 32;
12023#line 1219
12024 __cil_tmp46 = (struct mutex *)__cil_tmp45;
12025#line 1219
12026 mutex_lock(__cil_tmp46);
12027#line 1221
12028 timeo = chip_op_time_max;
12029 }
12030#line 1222
12031 if (! timeo) {
12032#line 1223
12033 timeo = 500000U;
12034 } else {
12035
12036 }
12037#line 1224
12038 reset_timeo = timeo;
12039#line 1225
12040 sleep_time = chip_op_time / 2U;
12041 {
12042#line 1227
12043 while (1) {
12044 while_continue___0: ;
12045 {
12046#line 1228
12047 __cil_tmp47 = (unsigned int )chip_state;
12048#line 1228
12049 __cil_tmp48 = (unsigned long )chip;
12050#line 1228
12051 __cil_tmp49 = __cil_tmp48 + 12;
12052#line 1228
12053 __cil_tmp50 = *((flstate_t *)__cil_tmp49);
12054#line 1228
12055 __cil_tmp51 = (unsigned int )__cil_tmp50;
12056#line 1228
12057 if (__cil_tmp51 != __cil_tmp47) {
12058 {
12059#line 1230
12060 tmp___8 = get_current();
12061#line 1230
12062 __cil_tmp52 = & wait;
12063#line 1230
12064 *((unsigned int *)__cil_tmp52) = 0U;
12065#line 1230
12066 __cil_tmp53 = (unsigned long )(& wait) + 8;
12067#line 1230
12068 *((void **)__cil_tmp53) = (void *)tmp___8;
12069#line 1230
12070 __cil_tmp54 = (unsigned long )(& wait) + 16;
12071#line 1230
12072 *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp54) = & default_wake_function;
12073#line 1230
12074 __cil_tmp55 = (unsigned long )(& wait) + 24;
12075#line 1230
12076 __cil_tmp56 = (void *)0;
12077#line 1230
12078 *((struct list_head **)__cil_tmp55) = (struct list_head *)__cil_tmp56;
12079#line 1230
12080 __cil_tmp57 = 24 + 8;
12081#line 1230
12082 __cil_tmp58 = (unsigned long )(& wait) + __cil_tmp57;
12083#line 1230
12084 __cil_tmp59 = (void *)0;
12085#line 1230
12086 *((struct list_head **)__cil_tmp58) = (struct list_head *)__cil_tmp59;
12087 }
12088 {
12089#line 1231
12090 while (1) {
12091 while_continue___1: ;
12092#line 1231
12093 __ret = (long volatile )2;
12094#line 1231
12095 if ((int )8UL == 1) {
12096#line 1231
12097 goto case_1;
12098 } else
12099#line 1231
12100 if ((int )8UL == 2) {
12101#line 1231
12102 goto case_2;
12103 } else
12104#line 1231
12105 if ((int )8UL == 4) {
12106#line 1231
12107 goto case_4;
12108 } else
12109#line 1231
12110 if ((int )8UL == 8) {
12111#line 1231
12112 goto case_8;
12113 } else {
12114 {
12115#line 1231
12116 goto switch_default;
12117#line 1231
12118 if (0) {
12119 case_1:
12120 {
12121#line 1231
12122 tmp___11 = get_current();
12123#line 1231
12124 __asm__ volatile (""
12125 "xchg"
12126 "b %b0, %1\n": "+q" (__ret), "+m" (*((long volatile *)tmp___11)): : "memory",
12127 "cc");
12128 }
12129#line 1231
12130 goto switch_break;
12131 case_2:
12132 {
12133#line 1231
12134 tmp___12 = get_current();
12135#line 1231
12136 __asm__ volatile (""
12137 "xchg"
12138 "w %w0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___12)): : "memory",
12139 "cc");
12140 }
12141#line 1231
12142 goto switch_break;
12143 case_4:
12144 {
12145#line 1231
12146 tmp___13 = get_current();
12147#line 1231
12148 __asm__ volatile (""
12149 "xchg"
12150 "l %0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___13)): : "memory",
12151 "cc");
12152 }
12153#line 1231
12154 goto switch_break;
12155 case_8:
12156 {
12157#line 1231
12158 tmp___14 = get_current();
12159#line 1231
12160 __asm__ volatile (""
12161 "xchg"
12162 "q %q0, %1\n": "+r" (__ret), "+m" (*((long volatile *)tmp___14)): : "memory",
12163 "cc");
12164 }
12165#line 1231
12166 goto switch_break;
12167 switch_default:
12168 {
12169#line 1231
12170 __xchg_wrong_size();
12171 }
12172 } else {
12173 switch_break: ;
12174 }
12175 }
12176 }
12177#line 1231
12178 goto while_break___1;
12179 }
12180 while_break___1: ;
12181 }
12182 {
12183#line 1232
12184 __cil_tmp60 = (unsigned long )chip;
12185#line 1232
12186 __cil_tmp61 = __cil_tmp60 + 104;
12187#line 1232
12188 __cil_tmp62 = (wait_queue_head_t *)__cil_tmp61;
12189#line 1232
12190 add_wait_queue(__cil_tmp62, & wait);
12191#line 1233
12192 __cil_tmp63 = (unsigned long )chip;
12193#line 1233
12194 __cil_tmp64 = __cil_tmp63 + 32;
12195#line 1233
12196 __cil_tmp65 = (struct mutex *)__cil_tmp64;
12197#line 1233
12198 mutex_unlock(__cil_tmp65);
12199#line 1234
12200 schedule();
12201#line 1235
12202 __cil_tmp66 = (unsigned long )chip;
12203#line 1235
12204 __cil_tmp67 = __cil_tmp66 + 104;
12205#line 1235
12206 __cil_tmp68 = (wait_queue_head_t *)__cil_tmp67;
12207#line 1235
12208 remove_wait_queue(__cil_tmp68, & wait);
12209#line 1236
12210 __cil_tmp69 = (unsigned long )chip;
12211#line 1236
12212 __cil_tmp70 = __cil_tmp69 + 32;
12213#line 1236
12214 __cil_tmp71 = (struct mutex *)__cil_tmp70;
12215#line 1236
12216 mutex_lock(__cil_tmp71);
12217 }
12218#line 1237
12219 goto __Cont;
12220 } else {
12221
12222 }
12223 }
12224 {
12225#line 1240
12226 __cil_tmp72 = (unsigned long )map;
12227#line 1240
12228 __cil_tmp73 = __cil_tmp72 + 48;
12229#line 1240
12230 __cil_tmp74 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp73);
12231#line 1240
12232 status = (*__cil_tmp74)(map, cmd_adr);
12233#line 1241
12234 tmp___15 = map_word_and(map, status, status_OK);
12235#line 1241
12236 tmp___16 = map_word_equal(map, status_OK, tmp___15);
12237 }
12238#line 1241
12239 if (tmp___16) {
12240#line 1242
12241 goto while_break___0;
12242 } else {
12243
12244 }
12245#line 1244
12246 if (chip->erase_suspended) {
12247#line 1244
12248 if (chip_state == 4) {
12249#line 1246
12250 timeo = reset_timeo;
12251#line 1247
12252 chip->erase_suspended = 0U;
12253 } else {
12254
12255 }
12256 } else {
12257
12258 }
12259 {
12260#line 1249
12261 __cil_tmp75 = (unsigned long )chip;
12262#line 1249
12263 __cil_tmp76 = __cil_tmp75 + 20;
12264#line 1249
12265 if (*((unsigned int *)__cil_tmp76)) {
12266#line 1249
12267 if (chip_state == 7) {
12268#line 1251
12269 timeo = reset_timeo;
12270#line 1252
12271 __cil_tmp77 = (unsigned long )chip;
12272#line 1252
12273 __cil_tmp78 = __cil_tmp77 + 20;
12274#line 1252
12275 *((unsigned int *)__cil_tmp78) = 0U;
12276 } else {
12277
12278 }
12279 } else {
12280
12281 }
12282 }
12283#line 1254
12284 if (! timeo) {
12285 {
12286#line 1255
12287 __cil_tmp79 = (u_long )112;
12288#line 1255
12289 tmp___17 = cfi_build_cmd(__cil_tmp79, map, cfi);
12290#line 1255
12291 __cil_tmp80 = (unsigned long )map;
12292#line 1255
12293 __cil_tmp81 = __cil_tmp80 + 64;
12294#line 1255
12295 __cil_tmp82 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp81);
12296#line 1255
12297 __cil_tmp83 = (map_word )tmp___17;
12298#line 1255
12299 (*__cil_tmp82)(map, __cil_tmp83, cmd_adr);
12300#line 1256
12301 __cil_tmp84 = (unsigned long )chip;
12302#line 1256
12303 __cil_tmp85 = __cil_tmp84 + 12;
12304#line 1256
12305 *((flstate_t *)__cil_tmp85) = (flstate_t )1;
12306 }
12307#line 1257
12308 return (-62);
12309 } else {
12310
12311 }
12312 {
12313#line 1261
12314 __cil_tmp86 = (unsigned long )chip;
12315#line 1261
12316 __cil_tmp87 = __cil_tmp86 + 32;
12317#line 1261
12318 __cil_tmp88 = (struct mutex *)__cil_tmp87;
12319#line 1261
12320 mutex_unlock(__cil_tmp88);
12321 }
12322#line 1262
12323 if (sleep_time >= 4000U) {
12324 {
12325#line 1268
12326 __cil_tmp89 = sleep_time / 1000U;
12327#line 1268
12328 msleep(__cil_tmp89);
12329#line 1269
12330 timeo = timeo - sleep_time;
12331#line 1270
12332 sleep_time = 4000U;
12333 }
12334 } else {
12335 {
12336#line 1272
12337 ___udelay(4295UL);
12338#line 1273
12339 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c",
12340 1273, 0);
12341#line 1273
12342 _cond_resched();
12343#line 1274
12344 timeo = timeo - 1U;
12345 }
12346 }
12347 {
12348#line 1276
12349 __cil_tmp90 = (unsigned long )chip;
12350#line 1276
12351 __cil_tmp91 = __cil_tmp90 + 32;
12352#line 1276
12353 __cil_tmp92 = (struct mutex *)__cil_tmp91;
12354#line 1276
12355 mutex_lock(__cil_tmp92);
12356 }
12357 __Cont: ;
12358 }
12359 while_break___0: ;
12360 }
12361#line 1280
12362 __cil_tmp93 = (unsigned long )chip;
12363#line 1280
12364 __cil_tmp94 = __cil_tmp93 + 12;
12365#line 1280
12366 *((flstate_t *)__cil_tmp94) = (flstate_t )1;
12367#line 1281
12368 return (0);
12369}
12370}
12371#line 1290 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
12372static int do_point_onechip(struct map_info *map , struct flchip *chip , loff_t adr ,
12373 size_t len )
12374{ unsigned long cmd_addr ;
12375 struct cfi_private *cfi ;
12376 int ret ;
12377 map_word tmp___7 ;
12378 unsigned long __cil_tmp9 ;
12379 unsigned long __cil_tmp10 ;
12380 void *__cil_tmp11 ;
12381 unsigned long __cil_tmp12 ;
12382 loff_t __cil_tmp13 ;
12383 unsigned long __cil_tmp14 ;
12384 unsigned long __cil_tmp15 ;
12385 int __cil_tmp16 ;
12386 int __cil_tmp17 ;
12387 int __cil_tmp18 ;
12388 long long __cil_tmp19 ;
12389 long long __cil_tmp20 ;
12390 unsigned long __cil_tmp21 ;
12391 unsigned long __cil_tmp22 ;
12392 struct mutex *__cil_tmp23 ;
12393 unsigned long __cil_tmp24 ;
12394 unsigned long __cil_tmp25 ;
12395 flstate_t __cil_tmp26 ;
12396 unsigned int __cil_tmp27 ;
12397 unsigned long __cil_tmp28 ;
12398 unsigned long __cil_tmp29 ;
12399 flstate_t __cil_tmp30 ;
12400 unsigned int __cil_tmp31 ;
12401 u_long __cil_tmp32 ;
12402 unsigned long __cil_tmp33 ;
12403 unsigned long __cil_tmp34 ;
12404 void (*__cil_tmp35)(struct map_info * , map_word , unsigned long ) ;
12405 map_word __cil_tmp36 ;
12406 unsigned long __cil_tmp37 ;
12407 unsigned long __cil_tmp38 ;
12408 unsigned long __cil_tmp39 ;
12409 unsigned long __cil_tmp40 ;
12410 unsigned long __cil_tmp41 ;
12411 unsigned long __cil_tmp42 ;
12412 int __cil_tmp43 ;
12413 unsigned long __cil_tmp44 ;
12414 unsigned long __cil_tmp45 ;
12415 struct mutex *__cil_tmp46 ;
12416
12417 {
12418 {
12419#line 1293
12420 __cil_tmp9 = (unsigned long )map;
12421#line 1293
12422 __cil_tmp10 = __cil_tmp9 + 120;
12423#line 1293
12424 __cil_tmp11 = *((void **)__cil_tmp10);
12425#line 1293
12426 cfi = (struct cfi_private *)__cil_tmp11;
12427#line 1294
12428 ret = 0;
12429#line 1296
12430 __cil_tmp12 = *((unsigned long *)chip);
12431#line 1296
12432 __cil_tmp13 = (loff_t )__cil_tmp12;
12433#line 1296
12434 adr = adr + __cil_tmp13;
12435#line 1299
12436 __cil_tmp14 = (unsigned long )map;
12437#line 1299
12438 __cil_tmp15 = __cil_tmp14 + 44;
12439#line 1299
12440 __cil_tmp16 = *((int *)__cil_tmp15);
12441#line 1299
12442 __cil_tmp17 = __cil_tmp16 - 1;
12443#line 1299
12444 __cil_tmp18 = ~ __cil_tmp17;
12445#line 1299
12446 __cil_tmp19 = (long long )__cil_tmp18;
12447#line 1299
12448 __cil_tmp20 = adr & __cil_tmp19;
12449#line 1299
12450 cmd_addr = (unsigned long )__cil_tmp20;
12451#line 1301
12452 __cil_tmp21 = (unsigned long )chip;
12453#line 1301
12454 __cil_tmp22 = __cil_tmp21 + 32;
12455#line 1301
12456 __cil_tmp23 = (struct mutex *)__cil_tmp22;
12457#line 1301
12458 mutex_lock(__cil_tmp23);
12459#line 1303
12460 ret = get_chip(map, chip, cmd_addr, 17);
12461 }
12462#line 1305
12463 if (! ret) {
12464 {
12465#line 1306
12466 __cil_tmp24 = (unsigned long )chip;
12467#line 1306
12468 __cil_tmp25 = __cil_tmp24 + 12;
12469#line 1306
12470 __cil_tmp26 = *((flstate_t *)__cil_tmp25);
12471#line 1306
12472 __cil_tmp27 = (unsigned int )__cil_tmp26;
12473#line 1306
12474 if (__cil_tmp27 != 17U) {
12475 {
12476#line 1306
12477 __cil_tmp28 = (unsigned long )chip;
12478#line 1306
12479 __cil_tmp29 = __cil_tmp28 + 12;
12480#line 1306
12481 __cil_tmp30 = *((flstate_t *)__cil_tmp29);
12482#line 1306
12483 __cil_tmp31 = (unsigned int )__cil_tmp30;
12484#line 1306
12485 if (__cil_tmp31 != 0U) {
12486 {
12487#line 1307
12488 __cil_tmp32 = (u_long )255;
12489#line 1307
12490 tmp___7 = cfi_build_cmd(__cil_tmp32, map, cfi);
12491#line 1307
12492 __cil_tmp33 = (unsigned long )map;
12493#line 1307
12494 __cil_tmp34 = __cil_tmp33 + 64;
12495#line 1307
12496 __cil_tmp35 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp34);
12497#line 1307
12498 __cil_tmp36 = (map_word )tmp___7;
12499#line 1307
12500 (*__cil_tmp35)(map, __cil_tmp36, cmd_addr);
12501 }
12502 } else {
12503
12504 }
12505 }
12506 } else {
12507
12508 }
12509 }
12510#line 1309
12511 __cil_tmp37 = (unsigned long )chip;
12512#line 1309
12513 __cil_tmp38 = __cil_tmp37 + 12;
12514#line 1309
12515 *((flstate_t *)__cil_tmp38) = (flstate_t )17;
12516#line 1310
12517 __cil_tmp39 = (unsigned long )chip;
12518#line 1310
12519 __cil_tmp40 = __cil_tmp39 + 8;
12520#line 1310
12521 __cil_tmp41 = (unsigned long )chip;
12522#line 1310
12523 __cil_tmp42 = __cil_tmp41 + 8;
12524#line 1310
12525 __cil_tmp43 = *((int *)__cil_tmp42);
12526#line 1310
12527 *((int *)__cil_tmp40) = __cil_tmp43 + 1;
12528 } else {
12529
12530 }
12531 {
12532#line 1312
12533 __cil_tmp44 = (unsigned long )chip;
12534#line 1312
12535 __cil_tmp45 = __cil_tmp44 + 32;
12536#line 1312
12537 __cil_tmp46 = (struct mutex *)__cil_tmp45;
12538#line 1312
12539 mutex_unlock(__cil_tmp46);
12540 }
12541#line 1314
12542 return (ret);
12543}
12544}
12545#line 1317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
12546static int cfi_intelext_point(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
12547 void **virt , resource_size_t *phys )
12548{ struct map_info *map ;
12549 struct cfi_private *cfi ;
12550 unsigned long ofs ;
12551 unsigned long last_end ;
12552 int chipnum ;
12553 int ret ;
12554 unsigned long thislen ;
12555 unsigned long __cil_tmp14 ;
12556 unsigned long __cil_tmp15 ;
12557 void *__cil_tmp16 ;
12558 unsigned long __cil_tmp17 ;
12559 unsigned long __cil_tmp18 ;
12560 void *__cil_tmp19 ;
12561 unsigned long __cil_tmp20 ;
12562 unsigned long __cil_tmp21 ;
12563 void *__cil_tmp22 ;
12564 unsigned long __cil_tmp23 ;
12565 unsigned long __cil_tmp24 ;
12566 unsigned long __cil_tmp25 ;
12567 loff_t __cil_tmp26 ;
12568 unsigned long __cil_tmp27 ;
12569 unsigned long __cil_tmp28 ;
12570 unsigned long __cil_tmp29 ;
12571 int __cil_tmp30 ;
12572 loff_t __cil_tmp31 ;
12573 loff_t __cil_tmp32 ;
12574 unsigned long __cil_tmp33 ;
12575 unsigned long __cil_tmp34 ;
12576 unsigned long __cil_tmp35 ;
12577 unsigned long __cil_tmp36 ;
12578 unsigned long __cil_tmp37 ;
12579 unsigned long __cil_tmp38 ;
12580 unsigned long __cil_tmp39 ;
12581 void *__cil_tmp40 ;
12582 void *__cil_tmp41 ;
12583 resource_size_t __cil_tmp42 ;
12584 unsigned long __cil_tmp43 ;
12585 unsigned long __cil_tmp44 ;
12586 unsigned long __cil_tmp45 ;
12587 unsigned long __cil_tmp46 ;
12588 unsigned long __cil_tmp47 ;
12589 resource_size_t __cil_tmp48 ;
12590 unsigned long __cil_tmp49 ;
12591 unsigned long __cil_tmp50 ;
12592 resource_size_t __cil_tmp51 ;
12593 resource_size_t __cil_tmp52 ;
12594 unsigned long __cil_tmp53 ;
12595 unsigned long __cil_tmp54 ;
12596 int __cil_tmp55 ;
12597 unsigned long __cil_tmp56 ;
12598 unsigned long __cil_tmp57 ;
12599 unsigned long __cil_tmp58 ;
12600 unsigned long __cil_tmp59 ;
12601 unsigned long __cil_tmp60 ;
12602 unsigned long __cil_tmp61 ;
12603 unsigned long __cil_tmp62 ;
12604 unsigned long __cil_tmp63 ;
12605 unsigned long __cil_tmp64 ;
12606 unsigned long __cil_tmp65 ;
12607 unsigned long __cil_tmp66 ;
12608 unsigned long __cil_tmp67 ;
12609 size_t __cil_tmp68 ;
12610 size_t __cil_tmp69 ;
12611 unsigned long __cil_tmp70 ;
12612 unsigned long __cil_tmp71 ;
12613 unsigned long __cil_tmp72 ;
12614 int __cil_tmp73 ;
12615 unsigned long __cil_tmp74 ;
12616 unsigned long __cil_tmp75 ;
12617 unsigned long __cil_tmp76 ;
12618 unsigned long __cil_tmp77 ;
12619 unsigned long __cil_tmp78 ;
12620 struct flchip *__cil_tmp79 ;
12621 loff_t __cil_tmp80 ;
12622 size_t __cil_tmp81 ;
12623 unsigned long __cil_tmp82 ;
12624 unsigned long __cil_tmp83 ;
12625 unsigned long __cil_tmp84 ;
12626 int __cil_tmp85 ;
12627 unsigned long __cil_tmp86 ;
12628
12629 {
12630#line 1320
12631 __cil_tmp14 = (unsigned long )mtd;
12632#line 1320
12633 __cil_tmp15 = __cil_tmp14 + 360;
12634#line 1320
12635 __cil_tmp16 = *((void **)__cil_tmp15);
12636#line 1320
12637 map = (struct map_info *)__cil_tmp16;
12638#line 1321
12639 __cil_tmp17 = (unsigned long )map;
12640#line 1321
12641 __cil_tmp18 = __cil_tmp17 + 120;
12642#line 1321
12643 __cil_tmp19 = *((void **)__cil_tmp18);
12644#line 1321
12645 cfi = (struct cfi_private *)__cil_tmp19;
12646#line 1322
12647 last_end = 0UL;
12648#line 1324
12649 ret = 0;
12650 {
12651#line 1326
12652 __cil_tmp20 = (unsigned long )map;
12653#line 1326
12654 __cil_tmp21 = __cil_tmp20 + 24;
12655#line 1326
12656 __cil_tmp22 = *((void **)__cil_tmp21);
12657#line 1326
12658 if (! __cil_tmp22) {
12659#line 1327
12660 return (-22);
12661 } else {
12662
12663 }
12664 }
12665#line 1332
12666 __cil_tmp23 = (unsigned long )cfi;
12667#line 1332
12668 __cil_tmp24 = __cil_tmp23 + 104;
12669#line 1332
12670 __cil_tmp25 = *((unsigned long *)__cil_tmp24);
12671#line 1332
12672 __cil_tmp26 = from >> __cil_tmp25;
12673#line 1332
12674 chipnum = (int )__cil_tmp26;
12675#line 1333
12676 __cil_tmp27 = (unsigned long )cfi;
12677#line 1333
12678 __cil_tmp28 = __cil_tmp27 + 104;
12679#line 1333
12680 __cil_tmp29 = *((unsigned long *)__cil_tmp28);
12681#line 1333
12682 __cil_tmp30 = chipnum << __cil_tmp29;
12683#line 1333
12684 __cil_tmp31 = (loff_t )__cil_tmp30;
12685#line 1333
12686 __cil_tmp32 = from - __cil_tmp31;
12687#line 1333
12688 ofs = (unsigned long )__cil_tmp32;
12689#line 1335
12690 __cil_tmp33 = chipnum * 176UL;
12691#line 1335
12692 __cil_tmp34 = 120 + __cil_tmp33;
12693#line 1335
12694 __cil_tmp35 = (unsigned long )cfi;
12695#line 1335
12696 __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
12697#line 1335
12698 __cil_tmp37 = *((unsigned long *)__cil_tmp36);
12699#line 1335
12700 __cil_tmp38 = (unsigned long )map;
12701#line 1335
12702 __cil_tmp39 = __cil_tmp38 + 24;
12703#line 1335
12704 __cil_tmp40 = *((void **)__cil_tmp39);
12705#line 1335
12706 __cil_tmp41 = __cil_tmp40 + __cil_tmp37;
12707#line 1335
12708 *virt = __cil_tmp41 + ofs;
12709#line 1336
12710 if (phys) {
12711#line 1337
12712 __cil_tmp42 = (resource_size_t )ofs;
12713#line 1337
12714 __cil_tmp43 = chipnum * 176UL;
12715#line 1337
12716 __cil_tmp44 = 120 + __cil_tmp43;
12717#line 1337
12718 __cil_tmp45 = (unsigned long )cfi;
12719#line 1337
12720 __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
12721#line 1337
12722 __cil_tmp47 = *((unsigned long *)__cil_tmp46);
12723#line 1337
12724 __cil_tmp48 = (resource_size_t )__cil_tmp47;
12725#line 1337
12726 __cil_tmp49 = (unsigned long )map;
12727#line 1337
12728 __cil_tmp50 = __cil_tmp49 + 16;
12729#line 1337
12730 __cil_tmp51 = *((resource_size_t *)__cil_tmp50);
12731#line 1337
12732 __cil_tmp52 = __cil_tmp51 + __cil_tmp48;
12733#line 1337
12734 *phys = __cil_tmp52 + __cil_tmp42;
12735 } else {
12736
12737 }
12738 {
12739#line 1339
12740 while (1) {
12741 while_continue: ;
12742#line 1339
12743 if (len) {
12744
12745 } else {
12746#line 1339
12747 goto while_break;
12748 }
12749 {
12750#line 1342
12751 __cil_tmp53 = (unsigned long )cfi;
12752#line 1342
12753 __cil_tmp54 = __cil_tmp53 + 64;
12754#line 1342
12755 __cil_tmp55 = *((int *)__cil_tmp54);
12756#line 1342
12757 if (chipnum >= __cil_tmp55) {
12758#line 1343
12759 goto while_break;
12760 } else {
12761
12762 }
12763 }
12764#line 1346
12765 if (! last_end) {
12766#line 1347
12767 __cil_tmp56 = chipnum * 176UL;
12768#line 1347
12769 __cil_tmp57 = 120 + __cil_tmp56;
12770#line 1347
12771 __cil_tmp58 = (unsigned long )cfi;
12772#line 1347
12773 __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
12774#line 1347
12775 last_end = *((unsigned long *)__cil_tmp59);
12776 } else {
12777 {
12778#line 1348
12779 __cil_tmp60 = chipnum * 176UL;
12780#line 1348
12781 __cil_tmp61 = 120 + __cil_tmp60;
12782#line 1348
12783 __cil_tmp62 = (unsigned long )cfi;
12784#line 1348
12785 __cil_tmp63 = __cil_tmp62 + __cil_tmp61;
12786#line 1348
12787 __cil_tmp64 = *((unsigned long *)__cil_tmp63);
12788#line 1348
12789 if (__cil_tmp64 != last_end) {
12790#line 1349
12791 goto while_break;
12792 } else {
12793
12794 }
12795 }
12796 }
12797 {
12798#line 1351
12799 __cil_tmp65 = (unsigned long )cfi;
12800#line 1351
12801 __cil_tmp66 = __cil_tmp65 + 104;
12802#line 1351
12803 __cil_tmp67 = *((unsigned long *)__cil_tmp66);
12804#line 1351
12805 __cil_tmp68 = len + ofs;
12806#line 1351
12807 __cil_tmp69 = __cil_tmp68 - 1UL;
12808#line 1351
12809 if (__cil_tmp69 >> __cil_tmp67) {
12810#line 1352
12811 __cil_tmp70 = (unsigned long )cfi;
12812#line 1352
12813 __cil_tmp71 = __cil_tmp70 + 104;
12814#line 1352
12815 __cil_tmp72 = *((unsigned long *)__cil_tmp71);
12816#line 1352
12817 __cil_tmp73 = 1 << __cil_tmp72;
12818#line 1352
12819 __cil_tmp74 = (unsigned long )__cil_tmp73;
12820#line 1352
12821 thislen = __cil_tmp74 - ofs;
12822 } else {
12823#line 1354
12824 thislen = len;
12825 }
12826 }
12827 {
12828#line 1356
12829 __cil_tmp75 = chipnum * 176UL;
12830#line 1356
12831 __cil_tmp76 = 120 + __cil_tmp75;
12832#line 1356
12833 __cil_tmp77 = (unsigned long )cfi;
12834#line 1356
12835 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
12836#line 1356
12837 __cil_tmp79 = (struct flchip *)__cil_tmp78;
12838#line 1356
12839 __cil_tmp80 = (loff_t )ofs;
12840#line 1356
12841 ret = do_point_onechip(map, __cil_tmp79, __cil_tmp80, thislen);
12842 }
12843#line 1357
12844 if (ret) {
12845#line 1358
12846 goto while_break;
12847 } else {
12848
12849 }
12850#line 1360
12851 __cil_tmp81 = *retlen;
12852#line 1360
12853 *retlen = __cil_tmp81 + thislen;
12854#line 1361
12855 len = len - thislen;
12856#line 1363
12857 ofs = 0UL;
12858#line 1364
12859 __cil_tmp82 = (unsigned long )cfi;
12860#line 1364
12861 __cil_tmp83 = __cil_tmp82 + 104;
12862#line 1364
12863 __cil_tmp84 = *((unsigned long *)__cil_tmp83);
12864#line 1364
12865 __cil_tmp85 = 1 << __cil_tmp84;
12866#line 1364
12867 __cil_tmp86 = (unsigned long )__cil_tmp85;
12868#line 1364
12869 last_end = last_end + __cil_tmp86;
12870#line 1365
12871 chipnum = chipnum + 1;
12872 }
12873 while_break: ;
12874 }
12875#line 1367
12876 return (0);
12877}
12878}
12879#line 1370 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
12880static int cfi_intelext_unpoint(struct mtd_info *mtd , loff_t from , size_t len )
12881{ struct map_info *map ;
12882 struct cfi_private *cfi ;
12883 unsigned long ofs ;
12884 int chipnum ;
12885 int err ;
12886 unsigned long thislen ;
12887 struct flchip *chip ;
12888 unsigned long __cil_tmp11 ;
12889 unsigned long __cil_tmp12 ;
12890 void *__cil_tmp13 ;
12891 unsigned long __cil_tmp14 ;
12892 unsigned long __cil_tmp15 ;
12893 void *__cil_tmp16 ;
12894 unsigned long __cil_tmp17 ;
12895 unsigned long __cil_tmp18 ;
12896 unsigned long __cil_tmp19 ;
12897 loff_t __cil_tmp20 ;
12898 unsigned long __cil_tmp21 ;
12899 unsigned long __cil_tmp22 ;
12900 unsigned long __cil_tmp23 ;
12901 int __cil_tmp24 ;
12902 loff_t __cil_tmp25 ;
12903 loff_t __cil_tmp26 ;
12904 unsigned long __cil_tmp27 ;
12905 unsigned long __cil_tmp28 ;
12906 unsigned long __cil_tmp29 ;
12907 unsigned long __cil_tmp30 ;
12908 unsigned long __cil_tmp31 ;
12909 unsigned long __cil_tmp32 ;
12910 int __cil_tmp33 ;
12911 unsigned long __cil_tmp34 ;
12912 unsigned long __cil_tmp35 ;
12913 unsigned long __cil_tmp36 ;
12914 size_t __cil_tmp37 ;
12915 size_t __cil_tmp38 ;
12916 unsigned long __cil_tmp39 ;
12917 unsigned long __cil_tmp40 ;
12918 unsigned long __cil_tmp41 ;
12919 int __cil_tmp42 ;
12920 unsigned long __cil_tmp43 ;
12921 unsigned long __cil_tmp44 ;
12922 unsigned long __cil_tmp45 ;
12923 struct mutex *__cil_tmp46 ;
12924 unsigned long __cil_tmp47 ;
12925 unsigned long __cil_tmp48 ;
12926 flstate_t __cil_tmp49 ;
12927 unsigned int __cil_tmp50 ;
12928 unsigned long __cil_tmp51 ;
12929 unsigned long __cil_tmp52 ;
12930 unsigned long __cil_tmp53 ;
12931 unsigned long __cil_tmp54 ;
12932 int __cil_tmp55 ;
12933 unsigned long __cil_tmp56 ;
12934 unsigned long __cil_tmp57 ;
12935 int __cil_tmp58 ;
12936 unsigned long __cil_tmp59 ;
12937 unsigned long __cil_tmp60 ;
12938 char *__cil_tmp61 ;
12939 unsigned long __cil_tmp62 ;
12940 unsigned long __cil_tmp63 ;
12941 unsigned long __cil_tmp64 ;
12942 struct mutex *__cil_tmp65 ;
12943
12944 {
12945#line 1372
12946 __cil_tmp11 = (unsigned long )mtd;
12947#line 1372
12948 __cil_tmp12 = __cil_tmp11 + 360;
12949#line 1372
12950 __cil_tmp13 = *((void **)__cil_tmp12);
12951#line 1372
12952 map = (struct map_info *)__cil_tmp13;
12953#line 1373
12954 __cil_tmp14 = (unsigned long )map;
12955#line 1373
12956 __cil_tmp15 = __cil_tmp14 + 120;
12957#line 1373
12958 __cil_tmp16 = *((void **)__cil_tmp15);
12959#line 1373
12960 cfi = (struct cfi_private *)__cil_tmp16;
12961#line 1375
12962 err = 0;
12963#line 1380
12964 __cil_tmp17 = (unsigned long )cfi;
12965#line 1380
12966 __cil_tmp18 = __cil_tmp17 + 104;
12967#line 1380
12968 __cil_tmp19 = *((unsigned long *)__cil_tmp18);
12969#line 1380
12970 __cil_tmp20 = from >> __cil_tmp19;
12971#line 1380
12972 chipnum = (int )__cil_tmp20;
12973#line 1381
12974 __cil_tmp21 = (unsigned long )cfi;
12975#line 1381
12976 __cil_tmp22 = __cil_tmp21 + 104;
12977#line 1381
12978 __cil_tmp23 = *((unsigned long *)__cil_tmp22);
12979#line 1381
12980 __cil_tmp24 = chipnum << __cil_tmp23;
12981#line 1381
12982 __cil_tmp25 = (loff_t )__cil_tmp24;
12983#line 1381
12984 __cil_tmp26 = from - __cil_tmp25;
12985#line 1381
12986 ofs = (unsigned long )__cil_tmp26;
12987 {
12988#line 1383
12989 while (1) {
12990 while_continue: ;
12991#line 1383
12992 if (len) {
12993#line 1383
12994 if (! err) {
12995
12996 } else {
12997#line 1383
12998 goto while_break;
12999 }
13000 } else {
13001#line 1383
13002 goto while_break;
13003 }
13004#line 1387
13005 __cil_tmp27 = chipnum * 176UL;
13006#line 1387
13007 __cil_tmp28 = 120 + __cil_tmp27;
13008#line 1387
13009 __cil_tmp29 = (unsigned long )cfi;
13010#line 1387
13011 __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
13012#line 1387
13013 chip = (struct flchip *)__cil_tmp30;
13014 {
13015#line 1388
13016 __cil_tmp31 = (unsigned long )cfi;
13017#line 1388
13018 __cil_tmp32 = __cil_tmp31 + 64;
13019#line 1388
13020 __cil_tmp33 = *((int *)__cil_tmp32);
13021#line 1388
13022 if (chipnum >= __cil_tmp33) {
13023#line 1389
13024 goto while_break;
13025 } else {
13026
13027 }
13028 }
13029 {
13030#line 1391
13031 __cil_tmp34 = (unsigned long )cfi;
13032#line 1391
13033 __cil_tmp35 = __cil_tmp34 + 104;
13034#line 1391
13035 __cil_tmp36 = *((unsigned long *)__cil_tmp35);
13036#line 1391
13037 __cil_tmp37 = len + ofs;
13038#line 1391
13039 __cil_tmp38 = __cil_tmp37 - 1UL;
13040#line 1391
13041 if (__cil_tmp38 >> __cil_tmp36) {
13042#line 1392
13043 __cil_tmp39 = (unsigned long )cfi;
13044#line 1392
13045 __cil_tmp40 = __cil_tmp39 + 104;
13046#line 1392
13047 __cil_tmp41 = *((unsigned long *)__cil_tmp40);
13048#line 1392
13049 __cil_tmp42 = 1 << __cil_tmp41;
13050#line 1392
13051 __cil_tmp43 = (unsigned long )__cil_tmp42;
13052#line 1392
13053 thislen = __cil_tmp43 - ofs;
13054 } else {
13055#line 1394
13056 thislen = len;
13057 }
13058 }
13059 {
13060#line 1396
13061 __cil_tmp44 = (unsigned long )chip;
13062#line 1396
13063 __cil_tmp45 = __cil_tmp44 + 32;
13064#line 1396
13065 __cil_tmp46 = (struct mutex *)__cil_tmp45;
13066#line 1396
13067 mutex_lock(__cil_tmp46);
13068 }
13069 {
13070#line 1397
13071 __cil_tmp47 = (unsigned long )chip;
13072#line 1397
13073 __cil_tmp48 = __cil_tmp47 + 12;
13074#line 1397
13075 __cil_tmp49 = *((flstate_t *)__cil_tmp48);
13076#line 1397
13077 __cil_tmp50 = (unsigned int )__cil_tmp49;
13078#line 1397
13079 if (__cil_tmp50 == 17U) {
13080#line 1398
13081 __cil_tmp51 = (unsigned long )chip;
13082#line 1398
13083 __cil_tmp52 = __cil_tmp51 + 8;
13084#line 1398
13085 __cil_tmp53 = (unsigned long )chip;
13086#line 1398
13087 __cil_tmp54 = __cil_tmp53 + 8;
13088#line 1398
13089 __cil_tmp55 = *((int *)__cil_tmp54);
13090#line 1398
13091 *((int *)__cil_tmp52) = __cil_tmp55 - 1;
13092 {
13093#line 1399
13094 __cil_tmp56 = (unsigned long )chip;
13095#line 1399
13096 __cil_tmp57 = __cil_tmp56 + 8;
13097#line 1399
13098 __cil_tmp58 = *((int *)__cil_tmp57);
13099#line 1399
13100 if (__cil_tmp58 == 0) {
13101#line 1400
13102 __cil_tmp59 = (unsigned long )chip;
13103#line 1400
13104 __cil_tmp60 = __cil_tmp59 + 12;
13105#line 1400
13106 *((flstate_t *)__cil_tmp60) = (flstate_t )0;
13107 } else {
13108
13109 }
13110 }
13111 } else {
13112 {
13113#line 1402
13114 __cil_tmp61 = *((char **)map);
13115#line 1402
13116 printk("<3>%s: Error: unpoint called on non pointed region\n", __cil_tmp61);
13117#line 1403
13118 err = -22;
13119 }
13120 }
13121 }
13122 {
13123#line 1406
13124 __cil_tmp62 = *((unsigned long *)chip);
13125#line 1406
13126 put_chip(map, chip, __cil_tmp62);
13127#line 1407
13128 __cil_tmp63 = (unsigned long )chip;
13129#line 1407
13130 __cil_tmp64 = __cil_tmp63 + 32;
13131#line 1407
13132 __cil_tmp65 = (struct mutex *)__cil_tmp64;
13133#line 1407
13134 mutex_unlock(__cil_tmp65);
13135#line 1409
13136 len = len - thislen;
13137#line 1410
13138 ofs = 0UL;
13139#line 1411
13140 chipnum = chipnum + 1;
13141 }
13142 }
13143 while_break: ;
13144 }
13145#line 1414
13146 return (err);
13147}
13148}
13149#line 1417
13150__inline static int do_read_onechip(struct map_info *map , struct flchip *chip , loff_t adr ,
13151 size_t len , u_char *buf ) __attribute__((__no_instrument_function__)) ;
13152#line 1417 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13153__inline static int do_read_onechip(struct map_info *map , struct flchip *chip , loff_t adr ,
13154 size_t len , u_char *buf )
13155{ unsigned long cmd_addr ;
13156 struct cfi_private *cfi ;
13157 int ret ;
13158 map_word tmp___7 ;
13159 unsigned long __cil_tmp10 ;
13160 unsigned long __cil_tmp11 ;
13161 void *__cil_tmp12 ;
13162 unsigned long __cil_tmp13 ;
13163 loff_t __cil_tmp14 ;
13164 unsigned long __cil_tmp15 ;
13165 unsigned long __cil_tmp16 ;
13166 int __cil_tmp17 ;
13167 int __cil_tmp18 ;
13168 int __cil_tmp19 ;
13169 long long __cil_tmp20 ;
13170 long long __cil_tmp21 ;
13171 unsigned long __cil_tmp22 ;
13172 unsigned long __cil_tmp23 ;
13173 struct mutex *__cil_tmp24 ;
13174 unsigned long __cil_tmp25 ;
13175 unsigned long __cil_tmp26 ;
13176 struct mutex *__cil_tmp27 ;
13177 unsigned long __cil_tmp28 ;
13178 unsigned long __cil_tmp29 ;
13179 flstate_t __cil_tmp30 ;
13180 unsigned int __cil_tmp31 ;
13181 unsigned long __cil_tmp32 ;
13182 unsigned long __cil_tmp33 ;
13183 flstate_t __cil_tmp34 ;
13184 unsigned int __cil_tmp35 ;
13185 u_long __cil_tmp36 ;
13186 unsigned long __cil_tmp37 ;
13187 unsigned long __cil_tmp38 ;
13188 void (*__cil_tmp39)(struct map_info * , map_word , unsigned long ) ;
13189 map_word __cil_tmp40 ;
13190 unsigned long __cil_tmp41 ;
13191 unsigned long __cil_tmp42 ;
13192 unsigned long __cil_tmp43 ;
13193 unsigned long __cil_tmp44 ;
13194 void (*__cil_tmp45)(struct map_info * , void * , unsigned long , ssize_t ) ;
13195 void *__cil_tmp46 ;
13196 unsigned long __cil_tmp47 ;
13197 ssize_t __cil_tmp48 ;
13198 unsigned long __cil_tmp49 ;
13199 unsigned long __cil_tmp50 ;
13200 struct mutex *__cil_tmp51 ;
13201
13202 {
13203 {
13204#line 1420
13205 __cil_tmp10 = (unsigned long )map;
13206#line 1420
13207 __cil_tmp11 = __cil_tmp10 + 120;
13208#line 1420
13209 __cil_tmp12 = *((void **)__cil_tmp11);
13210#line 1420
13211 cfi = (struct cfi_private *)__cil_tmp12;
13212#line 1423
13213 __cil_tmp13 = *((unsigned long *)chip);
13214#line 1423
13215 __cil_tmp14 = (loff_t )__cil_tmp13;
13216#line 1423
13217 adr = adr + __cil_tmp14;
13218#line 1426
13219 __cil_tmp15 = (unsigned long )map;
13220#line 1426
13221 __cil_tmp16 = __cil_tmp15 + 44;
13222#line 1426
13223 __cil_tmp17 = *((int *)__cil_tmp16);
13224#line 1426
13225 __cil_tmp18 = __cil_tmp17 - 1;
13226#line 1426
13227 __cil_tmp19 = ~ __cil_tmp18;
13228#line 1426
13229 __cil_tmp20 = (long long )__cil_tmp19;
13230#line 1426
13231 __cil_tmp21 = adr & __cil_tmp20;
13232#line 1426
13233 cmd_addr = (unsigned long )__cil_tmp21;
13234#line 1428
13235 __cil_tmp22 = (unsigned long )chip;
13236#line 1428
13237 __cil_tmp23 = __cil_tmp22 + 32;
13238#line 1428
13239 __cil_tmp24 = (struct mutex *)__cil_tmp23;
13240#line 1428
13241 mutex_lock(__cil_tmp24);
13242#line 1429
13243 ret = get_chip(map, chip, cmd_addr, 0);
13244 }
13245#line 1430
13246 if (ret) {
13247 {
13248#line 1431
13249 __cil_tmp25 = (unsigned long )chip;
13250#line 1431
13251 __cil_tmp26 = __cil_tmp25 + 32;
13252#line 1431
13253 __cil_tmp27 = (struct mutex *)__cil_tmp26;
13254#line 1431
13255 mutex_unlock(__cil_tmp27);
13256 }
13257#line 1432
13258 return (ret);
13259 } else {
13260
13261 }
13262 {
13263#line 1435
13264 __cil_tmp28 = (unsigned long )chip;
13265#line 1435
13266 __cil_tmp29 = __cil_tmp28 + 12;
13267#line 1435
13268 __cil_tmp30 = *((flstate_t *)__cil_tmp29);
13269#line 1435
13270 __cil_tmp31 = (unsigned int )__cil_tmp30;
13271#line 1435
13272 if (__cil_tmp31 != 17U) {
13273 {
13274#line 1435
13275 __cil_tmp32 = (unsigned long )chip;
13276#line 1435
13277 __cil_tmp33 = __cil_tmp32 + 12;
13278#line 1435
13279 __cil_tmp34 = *((flstate_t *)__cil_tmp33);
13280#line 1435
13281 __cil_tmp35 = (unsigned int )__cil_tmp34;
13282#line 1435
13283 if (__cil_tmp35 != 0U) {
13284 {
13285#line 1436
13286 __cil_tmp36 = (u_long )255;
13287#line 1436
13288 tmp___7 = cfi_build_cmd(__cil_tmp36, map, cfi);
13289#line 1436
13290 __cil_tmp37 = (unsigned long )map;
13291#line 1436
13292 __cil_tmp38 = __cil_tmp37 + 64;
13293#line 1436
13294 __cil_tmp39 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp38);
13295#line 1436
13296 __cil_tmp40 = (map_word )tmp___7;
13297#line 1436
13298 (*__cil_tmp39)(map, __cil_tmp40, cmd_addr);
13299#line 1438
13300 __cil_tmp41 = (unsigned long )chip;
13301#line 1438
13302 __cil_tmp42 = __cil_tmp41 + 12;
13303#line 1438
13304 *((flstate_t *)__cil_tmp42) = (flstate_t )0;
13305 }
13306 } else {
13307
13308 }
13309 }
13310 } else {
13311
13312 }
13313 }
13314 {
13315#line 1441
13316 __cil_tmp43 = (unsigned long )map;
13317#line 1441
13318 __cil_tmp44 = __cil_tmp43 + 56;
13319#line 1441
13320 __cil_tmp45 = *((void (**)(struct map_info * , void * , unsigned long , ssize_t ))__cil_tmp44);
13321#line 1441
13322 __cil_tmp46 = (void *)buf;
13323#line 1441
13324 __cil_tmp47 = (unsigned long )adr;
13325#line 1441
13326 __cil_tmp48 = (ssize_t )len;
13327#line 1441
13328 (*__cil_tmp45)(map, __cil_tmp46, __cil_tmp47, __cil_tmp48);
13329#line 1443
13330 put_chip(map, chip, cmd_addr);
13331#line 1445
13332 __cil_tmp49 = (unsigned long )chip;
13333#line 1445
13334 __cil_tmp50 = __cil_tmp49 + 32;
13335#line 1445
13336 __cil_tmp51 = (struct mutex *)__cil_tmp50;
13337#line 1445
13338 mutex_unlock(__cil_tmp51);
13339 }
13340#line 1446
13341 return (0);
13342}
13343}
13344#line 1449 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13345static int cfi_intelext_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
13346 u_char *buf )
13347{ struct map_info *map ;
13348 struct cfi_private *cfi ;
13349 unsigned long ofs ;
13350 int chipnum ;
13351 int ret ;
13352 unsigned long thislen ;
13353 unsigned long __cil_tmp12 ;
13354 unsigned long __cil_tmp13 ;
13355 void *__cil_tmp14 ;
13356 unsigned long __cil_tmp15 ;
13357 unsigned long __cil_tmp16 ;
13358 void *__cil_tmp17 ;
13359 unsigned long __cil_tmp18 ;
13360 unsigned long __cil_tmp19 ;
13361 unsigned long __cil_tmp20 ;
13362 loff_t __cil_tmp21 ;
13363 unsigned long __cil_tmp22 ;
13364 unsigned long __cil_tmp23 ;
13365 unsigned long __cil_tmp24 ;
13366 int __cil_tmp25 ;
13367 loff_t __cil_tmp26 ;
13368 loff_t __cil_tmp27 ;
13369 unsigned long __cil_tmp28 ;
13370 unsigned long __cil_tmp29 ;
13371 int __cil_tmp30 ;
13372 unsigned long __cil_tmp31 ;
13373 unsigned long __cil_tmp32 ;
13374 unsigned long __cil_tmp33 ;
13375 size_t __cil_tmp34 ;
13376 size_t __cil_tmp35 ;
13377 unsigned long __cil_tmp36 ;
13378 unsigned long __cil_tmp37 ;
13379 unsigned long __cil_tmp38 ;
13380 int __cil_tmp39 ;
13381 unsigned long __cil_tmp40 ;
13382 unsigned long __cil_tmp41 ;
13383 unsigned long __cil_tmp42 ;
13384 unsigned long __cil_tmp43 ;
13385 unsigned long __cil_tmp44 ;
13386 struct flchip *__cil_tmp45 ;
13387 loff_t __cil_tmp46 ;
13388 size_t __cil_tmp47 ;
13389
13390 {
13391#line 1451
13392 __cil_tmp12 = (unsigned long )mtd;
13393#line 1451
13394 __cil_tmp13 = __cil_tmp12 + 360;
13395#line 1451
13396 __cil_tmp14 = *((void **)__cil_tmp13);
13397#line 1451
13398 map = (struct map_info *)__cil_tmp14;
13399#line 1452
13400 __cil_tmp15 = (unsigned long )map;
13401#line 1452
13402 __cil_tmp16 = __cil_tmp15 + 120;
13403#line 1452
13404 __cil_tmp17 = *((void **)__cil_tmp16);
13405#line 1452
13406 cfi = (struct cfi_private *)__cil_tmp17;
13407#line 1455
13408 ret = 0;
13409#line 1458
13410 __cil_tmp18 = (unsigned long )cfi;
13411#line 1458
13412 __cil_tmp19 = __cil_tmp18 + 104;
13413#line 1458
13414 __cil_tmp20 = *((unsigned long *)__cil_tmp19);
13415#line 1458
13416 __cil_tmp21 = from >> __cil_tmp20;
13417#line 1458
13418 chipnum = (int )__cil_tmp21;
13419#line 1459
13420 __cil_tmp22 = (unsigned long )cfi;
13421#line 1459
13422 __cil_tmp23 = __cil_tmp22 + 104;
13423#line 1459
13424 __cil_tmp24 = *((unsigned long *)__cil_tmp23);
13425#line 1459
13426 __cil_tmp25 = chipnum << __cil_tmp24;
13427#line 1459
13428 __cil_tmp26 = (loff_t )__cil_tmp25;
13429#line 1459
13430 __cil_tmp27 = from - __cil_tmp26;
13431#line 1459
13432 ofs = (unsigned long )__cil_tmp27;
13433 {
13434#line 1461
13435 while (1) {
13436 while_continue: ;
13437#line 1461
13438 if (len) {
13439
13440 } else {
13441#line 1461
13442 goto while_break;
13443 }
13444 {
13445#line 1464
13446 __cil_tmp28 = (unsigned long )cfi;
13447#line 1464
13448 __cil_tmp29 = __cil_tmp28 + 64;
13449#line 1464
13450 __cil_tmp30 = *((int *)__cil_tmp29);
13451#line 1464
13452 if (chipnum >= __cil_tmp30) {
13453#line 1465
13454 goto while_break;
13455 } else {
13456
13457 }
13458 }
13459 {
13460#line 1467
13461 __cil_tmp31 = (unsigned long )cfi;
13462#line 1467
13463 __cil_tmp32 = __cil_tmp31 + 104;
13464#line 1467
13465 __cil_tmp33 = *((unsigned long *)__cil_tmp32);
13466#line 1467
13467 __cil_tmp34 = len + ofs;
13468#line 1467
13469 __cil_tmp35 = __cil_tmp34 - 1UL;
13470#line 1467
13471 if (__cil_tmp35 >> __cil_tmp33) {
13472#line 1468
13473 __cil_tmp36 = (unsigned long )cfi;
13474#line 1468
13475 __cil_tmp37 = __cil_tmp36 + 104;
13476#line 1468
13477 __cil_tmp38 = *((unsigned long *)__cil_tmp37);
13478#line 1468
13479 __cil_tmp39 = 1 << __cil_tmp38;
13480#line 1468
13481 __cil_tmp40 = (unsigned long )__cil_tmp39;
13482#line 1468
13483 thislen = __cil_tmp40 - ofs;
13484 } else {
13485#line 1470
13486 thislen = len;
13487 }
13488 }
13489 {
13490#line 1472
13491 __cil_tmp41 = chipnum * 176UL;
13492#line 1472
13493 __cil_tmp42 = 120 + __cil_tmp41;
13494#line 1472
13495 __cil_tmp43 = (unsigned long )cfi;
13496#line 1472
13497 __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
13498#line 1472
13499 __cil_tmp45 = (struct flchip *)__cil_tmp44;
13500#line 1472
13501 __cil_tmp46 = (loff_t )ofs;
13502#line 1472
13503 ret = do_read_onechip(map, __cil_tmp45, __cil_tmp46, thislen, buf);
13504 }
13505#line 1473
13506 if (ret) {
13507#line 1474
13508 goto while_break;
13509 } else {
13510
13511 }
13512#line 1476
13513 __cil_tmp47 = *retlen;
13514#line 1476
13515 *retlen = __cil_tmp47 + thislen;
13516#line 1477
13517 len = len - thislen;
13518#line 1478
13519 buf = buf + thislen;
13520#line 1480
13521 ofs = 0UL;
13522#line 1481
13523 chipnum = chipnum + 1;
13524 }
13525 while_break: ;
13526 }
13527#line 1483
13528 return (ret);
13529}
13530}
13531#line 1486 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13532static int do_write_oneword(struct map_info *map , struct flchip *chip , unsigned long adr ,
13533 map_word datum , int mode )
13534{ struct cfi_private *cfi ;
13535 map_word status ;
13536 map_word write_cmd ;
13537 int ret ;
13538 map_word tmp___7 ;
13539 map_word tmp___8 ;
13540 unsigned long chipstatus ;
13541 unsigned long tmp___9 ;
13542 map_word tmp___10 ;
13543 map_word tmp___11 ;
13544 map_word tmp___12 ;
13545 int tmp___13 ;
13546 unsigned long __cil_tmp18 ;
13547 unsigned long __cil_tmp19 ;
13548 void *__cil_tmp20 ;
13549 unsigned long __cil_tmp21 ;
13550 unsigned long __cil_tmp22 ;
13551 unsigned long __cil_tmp23 ;
13552 struct cfi_ident *__cil_tmp24 ;
13553 unsigned long __cil_tmp25 ;
13554 unsigned long __cil_tmp26 ;
13555 uint16_t __cil_tmp27 ;
13556 int __cil_tmp28 ;
13557 u_long __cil_tmp29 ;
13558 u_long __cil_tmp30 ;
13559 u_long __cil_tmp31 ;
13560 unsigned long __cil_tmp32 ;
13561 unsigned long __cil_tmp33 ;
13562 struct mutex *__cil_tmp34 ;
13563 unsigned long __cil_tmp35 ;
13564 unsigned long __cil_tmp36 ;
13565 struct mutex *__cil_tmp37 ;
13566 unsigned long __cil_tmp38 ;
13567 unsigned long __cil_tmp39 ;
13568 unsigned long __cil_tmp40 ;
13569 unsigned long __cil_tmp41 ;
13570 void (*__cil_tmp42)(struct map_info * , int ) ;
13571 unsigned long __cil_tmp43 ;
13572 unsigned long __cil_tmp44 ;
13573 void (*__cil_tmp45)(struct map_info * , map_word , unsigned long ) ;
13574 map_word __cil_tmp46 ;
13575 unsigned long __cil_tmp47 ;
13576 unsigned long __cil_tmp48 ;
13577 void (*__cil_tmp49)(struct map_info * , map_word , unsigned long ) ;
13578 map_word __cil_tmp50 ;
13579 unsigned long __cil_tmp51 ;
13580 unsigned long __cil_tmp52 ;
13581 unsigned long __cil_tmp53 ;
13582 unsigned long __cil_tmp54 ;
13583 int __cil_tmp55 ;
13584 unsigned long __cil_tmp56 ;
13585 unsigned long __cil_tmp57 ;
13586 int __cil_tmp58 ;
13587 unsigned int __cil_tmp59 ;
13588 unsigned long __cil_tmp60 ;
13589 unsigned long __cil_tmp61 ;
13590 int __cil_tmp62 ;
13591 unsigned int __cil_tmp63 ;
13592 char *__cil_tmp64 ;
13593 unsigned long __cil_tmp65 ;
13594 unsigned long __cil_tmp66 ;
13595 map_word (*__cil_tmp67)(struct map_info * , unsigned long ) ;
13596 u_long __cil_tmp68 ;
13597 u_long __cil_tmp69 ;
13598 unsigned long __cil_tmp70 ;
13599 unsigned long __cil_tmp71 ;
13600 void (*__cil_tmp72)(struct map_info * , map_word , unsigned long ) ;
13601 map_word __cil_tmp73 ;
13602 u_long __cil_tmp74 ;
13603 unsigned long __cil_tmp75 ;
13604 unsigned long __cil_tmp76 ;
13605 void (*__cil_tmp77)(struct map_info * , map_word , unsigned long ) ;
13606 map_word __cil_tmp78 ;
13607 char *__cil_tmp79 ;
13608 char *__cil_tmp80 ;
13609 unsigned long __cil_tmp81 ;
13610 unsigned long __cil_tmp82 ;
13611 unsigned long __cil_tmp83 ;
13612 unsigned long __cil_tmp84 ;
13613 void (*__cil_tmp85)(struct map_info * , int ) ;
13614 unsigned long __cil_tmp86 ;
13615 unsigned long __cil_tmp87 ;
13616 struct mutex *__cil_tmp88 ;
13617
13618 {
13619#line 1489
13620 __cil_tmp18 = (unsigned long )map;
13621#line 1489
13622 __cil_tmp19 = __cil_tmp18 + 120;
13623#line 1489
13624 __cil_tmp20 = *((void **)__cil_tmp19);
13625#line 1489
13626 cfi = (struct cfi_private *)__cil_tmp20;
13627#line 1491
13628 ret = 0;
13629#line 1493
13630 __cil_tmp21 = *((unsigned long *)chip);
13631#line 1493
13632 adr = adr + __cil_tmp21;
13633#line 1496
13634 if (mode == 7) {
13635#line 1496
13636 goto case_7;
13637 } else
13638#line 1499
13639 if (mode == 9) {
13640#line 1499
13641 goto case_9;
13642 } else {
13643 {
13644#line 1502
13645 goto switch_default;
13646#line 1495
13647 if (0) {
13648 case_7:
13649 {
13650#line 1497
13651 __cil_tmp22 = (unsigned long )cfi;
13652#line 1497
13653 __cil_tmp23 = __cil_tmp22 + 48;
13654#line 1497
13655 __cil_tmp24 = *((struct cfi_ident **)__cil_tmp23);
13656#line 1497
13657 __cil_tmp25 = (unsigned long )__cil_tmp24;
13658#line 1497
13659 __cil_tmp26 = __cil_tmp25 + 3;
13660#line 1497
13661 __cil_tmp27 = *((uint16_t *)__cil_tmp26);
13662#line 1497
13663 __cil_tmp28 = (int )__cil_tmp27;
13664#line 1497
13665 if (__cil_tmp28 != 512) {
13666 {
13667#line 1497
13668 __cil_tmp29 = (u_long )64;
13669#line 1497
13670 tmp___7 = cfi_build_cmd(__cil_tmp29, map, cfi);
13671#line 1497
13672 write_cmd = tmp___7;
13673 }
13674 } else {
13675 {
13676#line 1497
13677 __cil_tmp30 = (u_long )65;
13678#line 1497
13679 tmp___8 = cfi_build_cmd(__cil_tmp30, map, cfi);
13680#line 1497
13681 write_cmd = tmp___8;
13682 }
13683 }
13684 }
13685#line 1498
13686 goto switch_break;
13687 case_9:
13688 {
13689#line 1500
13690 __cil_tmp31 = (u_long )192;
13691#line 1500
13692 write_cmd = cfi_build_cmd(__cil_tmp31, map, cfi);
13693 }
13694#line 1501
13695 goto switch_break;
13696 switch_default:
13697#line 1503
13698 return (-22);
13699 } else {
13700 switch_break: ;
13701 }
13702 }
13703 }
13704 {
13705#line 1506
13706 __cil_tmp32 = (unsigned long )chip;
13707#line 1506
13708 __cil_tmp33 = __cil_tmp32 + 32;
13709#line 1506
13710 __cil_tmp34 = (struct mutex *)__cil_tmp33;
13711#line 1506
13712 mutex_lock(__cil_tmp34);
13713#line 1507
13714 ret = get_chip(map, chip, adr, mode);
13715 }
13716#line 1508
13717 if (ret) {
13718 {
13719#line 1509
13720 __cil_tmp35 = (unsigned long )chip;
13721#line 1509
13722 __cil_tmp36 = __cil_tmp35 + 32;
13723#line 1509
13724 __cil_tmp37 = (struct mutex *)__cil_tmp36;
13725#line 1509
13726 mutex_unlock(__cil_tmp37);
13727 }
13728#line 1510
13729 return (ret);
13730 } else {
13731
13732 }
13733 {
13734#line 1514
13735 while (1) {
13736 while_continue: ;
13737 {
13738#line 1514
13739 __cil_tmp38 = (unsigned long )map;
13740#line 1514
13741 __cil_tmp39 = __cil_tmp38 + 88;
13742#line 1514
13743 if (*((void (**)(struct map_info * , int ))__cil_tmp39)) {
13744 {
13745#line 1514
13746 __cil_tmp40 = (unsigned long )map;
13747#line 1514
13748 __cil_tmp41 = __cil_tmp40 + 88;
13749#line 1514
13750 __cil_tmp42 = *((void (**)(struct map_info * , int ))__cil_tmp41);
13751#line 1514
13752 (*__cil_tmp42)(map, 1);
13753 }
13754 } else {
13755
13756 }
13757 }
13758#line 1514
13759 goto while_break;
13760 }
13761 while_break: ;
13762 }
13763 {
13764#line 1516
13765 __cil_tmp43 = (unsigned long )map;
13766#line 1516
13767 __cil_tmp44 = __cil_tmp43 + 64;
13768#line 1516
13769 __cil_tmp45 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp44);
13770#line 1516
13771 __cil_tmp46 = (map_word )write_cmd;
13772#line 1516
13773 (*__cil_tmp45)(map, __cil_tmp46, adr);
13774#line 1517
13775 __cil_tmp47 = (unsigned long )map;
13776#line 1517
13777 __cil_tmp48 = __cil_tmp47 + 64;
13778#line 1517
13779 __cil_tmp49 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp48);
13780#line 1517
13781 __cil_tmp50 = (map_word )datum;
13782#line 1517
13783 (*__cil_tmp49)(map, __cil_tmp50, adr);
13784#line 1518
13785 __cil_tmp51 = (unsigned long )chip;
13786#line 1518
13787 __cil_tmp52 = __cil_tmp51 + 12;
13788#line 1518
13789 *((flstate_t *)__cil_tmp52) = (flstate_t )mode;
13790#line 1520
13791 __cil_tmp53 = (unsigned long )map;
13792#line 1520
13793 __cil_tmp54 = __cil_tmp53 + 44;
13794#line 1520
13795 __cil_tmp55 = *((int *)__cil_tmp54);
13796#line 1520
13797 __cil_tmp56 = (unsigned long )chip;
13798#line 1520
13799 __cil_tmp57 = __cil_tmp56 + 144;
13800#line 1520
13801 __cil_tmp58 = *((int *)__cil_tmp57);
13802#line 1520
13803 __cil_tmp59 = (unsigned int )__cil_tmp58;
13804#line 1520
13805 __cil_tmp60 = (unsigned long )chip;
13806#line 1520
13807 __cil_tmp61 = __cil_tmp60 + 156;
13808#line 1520
13809 __cil_tmp62 = *((int *)__cil_tmp61);
13810#line 1520
13811 __cil_tmp63 = (unsigned int )__cil_tmp62;
13812#line 1520
13813 ret = inval_cache_and_wait_for_operation(map, chip, adr, adr, __cil_tmp55, __cil_tmp59,
13814 __cil_tmp63);
13815 }
13816#line 1524
13817 if (ret) {
13818 {
13819#line 1526
13820 __cil_tmp64 = *((char **)map);
13821#line 1526
13822 printk("<3>%s: word write error (status timeout)\n", __cil_tmp64);
13823 }
13824#line 1527
13825 goto out;
13826 } else {
13827
13828 }
13829 {
13830#line 1531
13831 __cil_tmp65 = (unsigned long )map;
13832#line 1531
13833 __cil_tmp66 = __cil_tmp65 + 48;
13834#line 1531
13835 __cil_tmp67 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp66);
13836#line 1531
13837 status = (*__cil_tmp67)(map, adr);
13838#line 1532
13839 __cil_tmp68 = (u_long )26;
13840#line 1532
13841 tmp___12 = cfi_build_cmd(__cil_tmp68, map, cfi);
13842#line 1532
13843 tmp___13 = map_word_bitsset(map, status, tmp___12);
13844 }
13845#line 1532
13846 if (tmp___13) {
13847 {
13848#line 1533
13849 tmp___9 = cfi_merge_status(status, map, cfi);
13850#line 1533
13851 chipstatus = tmp___9;
13852#line 1536
13853 __cil_tmp69 = (u_long )80;
13854#line 1536
13855 tmp___10 = cfi_build_cmd(__cil_tmp69, map, cfi);
13856#line 1536
13857 __cil_tmp70 = (unsigned long )map;
13858#line 1536
13859 __cil_tmp71 = __cil_tmp70 + 64;
13860#line 1536
13861 __cil_tmp72 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp71);
13862#line 1536
13863 __cil_tmp73 = (map_word )tmp___10;
13864#line 1536
13865 (*__cil_tmp72)(map, __cil_tmp73, adr);
13866#line 1537
13867 __cil_tmp74 = (u_long )112;
13868#line 1537
13869 tmp___11 = cfi_build_cmd(__cil_tmp74, map, cfi);
13870#line 1537
13871 __cil_tmp75 = (unsigned long )map;
13872#line 1537
13873 __cil_tmp76 = __cil_tmp75 + 64;
13874#line 1537
13875 __cil_tmp77 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp76);
13876#line 1537
13877 __cil_tmp78 = (map_word )tmp___11;
13878#line 1537
13879 (*__cil_tmp77)(map, __cil_tmp78, adr);
13880 }
13881#line 1540
13882 if (chipstatus & 2UL) {
13883#line 1541
13884 ret = -30;
13885 } else
13886#line 1542
13887 if (chipstatus & 8UL) {
13888 {
13889#line 1543
13890 __cil_tmp79 = *((char **)map);
13891#line 1543
13892 printk("<3>%s: word write error (bad VPP)\n", __cil_tmp79);
13893#line 1544
13894 ret = -5;
13895 }
13896 } else {
13897 {
13898#line 1546
13899 __cil_tmp80 = *((char **)map);
13900#line 1546
13901 printk("<3>%s: word write error (status 0x%lx)\n", __cil_tmp80, chipstatus);
13902#line 1547
13903 ret = -22;
13904 }
13905 }
13906#line 1550
13907 goto out;
13908 } else {
13909
13910 }
13911 out:
13912 {
13913#line 1554
13914 while (1) {
13915 while_continue___0: ;
13916 {
13917#line 1554
13918 __cil_tmp81 = (unsigned long )map;
13919#line 1554
13920 __cil_tmp82 = __cil_tmp81 + 88;
13921#line 1554
13922 if (*((void (**)(struct map_info * , int ))__cil_tmp82)) {
13923 {
13924#line 1554
13925 __cil_tmp83 = (unsigned long )map;
13926#line 1554
13927 __cil_tmp84 = __cil_tmp83 + 88;
13928#line 1554
13929 __cil_tmp85 = *((void (**)(struct map_info * , int ))__cil_tmp84);
13930#line 1554
13931 (*__cil_tmp85)(map, 0);
13932 }
13933 } else {
13934
13935 }
13936 }
13937#line 1554
13938 goto while_break___0;
13939 }
13940 while_break___0: ;
13941 }
13942 {
13943#line 1555
13944 put_chip(map, chip, adr);
13945#line 1556
13946 __cil_tmp86 = (unsigned long )chip;
13947#line 1556
13948 __cil_tmp87 = __cil_tmp86 + 32;
13949#line 1556
13950 __cil_tmp88 = (struct mutex *)__cil_tmp87;
13951#line 1556
13952 mutex_unlock(__cil_tmp88);
13953 }
13954#line 1557
13955 return (ret);
13956}
13957}
13958#line 1561 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13959static int cfi_intelext_write_words(struct mtd_info *mtd , loff_t to , size_t len ,
13960 size_t *retlen , u_char *buf )
13961{ struct map_info *map ;
13962 struct cfi_private *cfi ;
13963 int ret ;
13964 int chipnum ;
13965 unsigned long ofs ;
13966 unsigned long bus_ofs ;
13967 int gap ;
13968 int n ;
13969 map_word datum ;
13970 int __min1 ;
13971 int __min2 ;
13972 int tmp___7 ;
13973 map_word datum___0 ;
13974 map_word tmp___8 ;
13975 map_word datum___1 ;
13976 unsigned long __cil_tmp21 ;
13977 unsigned long __cil_tmp22 ;
13978 void *__cil_tmp23 ;
13979 unsigned long __cil_tmp24 ;
13980 unsigned long __cil_tmp25 ;
13981 void *__cil_tmp26 ;
13982 unsigned long __cil_tmp27 ;
13983 unsigned long __cil_tmp28 ;
13984 unsigned long __cil_tmp29 ;
13985 loff_t __cil_tmp30 ;
13986 unsigned long __cil_tmp31 ;
13987 unsigned long __cil_tmp32 ;
13988 unsigned long __cil_tmp33 ;
13989 int __cil_tmp34 ;
13990 loff_t __cil_tmp35 ;
13991 loff_t __cil_tmp36 ;
13992 unsigned long __cil_tmp37 ;
13993 unsigned long __cil_tmp38 ;
13994 int __cil_tmp39 ;
13995 int __cil_tmp40 ;
13996 unsigned long __cil_tmp41 ;
13997 unsigned long __cil_tmp42 ;
13998 unsigned long __cil_tmp43 ;
13999 int __cil_tmp44 ;
14000 int __cil_tmp45 ;
14001 int __cil_tmp46 ;
14002 unsigned long __cil_tmp47 ;
14003 unsigned long __cil_tmp48 ;
14004 unsigned long __cil_tmp49 ;
14005 unsigned long __cil_tmp50 ;
14006 int __cil_tmp51 ;
14007 unsigned long __cil_tmp52 ;
14008 unsigned long __cil_tmp53 ;
14009 unsigned long __cil_tmp54 ;
14010 unsigned long __cil_tmp55 ;
14011 struct flchip *__cil_tmp56 ;
14012 size_t __cil_tmp57 ;
14013 unsigned long __cil_tmp58 ;
14014 size_t __cil_tmp59 ;
14015 size_t __cil_tmp60 ;
14016 unsigned long __cil_tmp61 ;
14017 unsigned long __cil_tmp62 ;
14018 unsigned long __cil_tmp63 ;
14019 unsigned long __cil_tmp64 ;
14020 unsigned long __cil_tmp65 ;
14021 int __cil_tmp66 ;
14022 unsigned long __cil_tmp67 ;
14023 unsigned long __cil_tmp68 ;
14024 int __cil_tmp69 ;
14025 size_t __cil_tmp70 ;
14026 void *__cil_tmp71 ;
14027 unsigned long __cil_tmp72 ;
14028 unsigned long __cil_tmp73 ;
14029 unsigned long __cil_tmp74 ;
14030 unsigned long __cil_tmp75 ;
14031 struct flchip *__cil_tmp76 ;
14032 unsigned long __cil_tmp77 ;
14033 unsigned long __cil_tmp78 ;
14034 int __cil_tmp79 ;
14035 unsigned long __cil_tmp80 ;
14036 unsigned long __cil_tmp81 ;
14037 unsigned long __cil_tmp82 ;
14038 int __cil_tmp83 ;
14039 unsigned long __cil_tmp84 ;
14040 unsigned long __cil_tmp85 ;
14041 int __cil_tmp86 ;
14042 size_t __cil_tmp87 ;
14043 size_t __cil_tmp88 ;
14044 unsigned long __cil_tmp89 ;
14045 unsigned long __cil_tmp90 ;
14046 int __cil_tmp91 ;
14047 size_t __cil_tmp92 ;
14048 unsigned long __cil_tmp93 ;
14049 unsigned long __cil_tmp94 ;
14050 unsigned long __cil_tmp95 ;
14051 unsigned long __cil_tmp96 ;
14052 unsigned long __cil_tmp97 ;
14053 int __cil_tmp98 ;
14054 unsigned long __cil_tmp99 ;
14055 unsigned long __cil_tmp100 ;
14056 int __cil_tmp101 ;
14057 int __cil_tmp102 ;
14058 unsigned long __cil_tmp103 ;
14059 int __cil_tmp104 ;
14060 unsigned long __cil_tmp105 ;
14061 unsigned long __cil_tmp106 ;
14062 unsigned long __cil_tmp107 ;
14063 unsigned long __cil_tmp108 ;
14064 struct flchip *__cil_tmp109 ;
14065 size_t __cil_tmp110 ;
14066
14067 {
14068#line 1563
14069 __cil_tmp21 = (unsigned long )mtd;
14070#line 1563
14071 __cil_tmp22 = __cil_tmp21 + 360;
14072#line 1563
14073 __cil_tmp23 = *((void **)__cil_tmp22);
14074#line 1563
14075 map = (struct map_info *)__cil_tmp23;
14076#line 1564
14077 __cil_tmp24 = (unsigned long )map;
14078#line 1564
14079 __cil_tmp25 = __cil_tmp24 + 120;
14080#line 1564
14081 __cil_tmp26 = *((void **)__cil_tmp25);
14082#line 1564
14083 cfi = (struct cfi_private *)__cil_tmp26;
14084#line 1565
14085 ret = 0;
14086#line 1569
14087 __cil_tmp27 = (unsigned long )cfi;
14088#line 1569
14089 __cil_tmp28 = __cil_tmp27 + 104;
14090#line 1569
14091 __cil_tmp29 = *((unsigned long *)__cil_tmp28);
14092#line 1569
14093 __cil_tmp30 = to >> __cil_tmp29;
14094#line 1569
14095 chipnum = (int )__cil_tmp30;
14096#line 1570
14097 __cil_tmp31 = (unsigned long )cfi;
14098#line 1570
14099 __cil_tmp32 = __cil_tmp31 + 104;
14100#line 1570
14101 __cil_tmp33 = *((unsigned long *)__cil_tmp32);
14102#line 1570
14103 __cil_tmp34 = chipnum << __cil_tmp33;
14104#line 1570
14105 __cil_tmp35 = (loff_t )__cil_tmp34;
14106#line 1570
14107 __cil_tmp36 = to - __cil_tmp35;
14108#line 1570
14109 ofs = (unsigned long )__cil_tmp36;
14110 {
14111#line 1573
14112 __cil_tmp37 = (unsigned long )map;
14113#line 1573
14114 __cil_tmp38 = __cil_tmp37 + 44;
14115#line 1573
14116 __cil_tmp39 = *((int *)__cil_tmp38);
14117#line 1573
14118 __cil_tmp40 = __cil_tmp39 - 1;
14119#line 1573
14120 __cil_tmp41 = (unsigned long )__cil_tmp40;
14121#line 1573
14122 if (ofs & __cil_tmp41) {
14123#line 1574
14124 __cil_tmp42 = (unsigned long )map;
14125#line 1574
14126 __cil_tmp43 = __cil_tmp42 + 44;
14127#line 1574
14128 __cil_tmp44 = *((int *)__cil_tmp43);
14129#line 1574
14130 __cil_tmp45 = __cil_tmp44 - 1;
14131#line 1574
14132 __cil_tmp46 = ~ __cil_tmp45;
14133#line 1574
14134 __cil_tmp47 = (unsigned long )__cil_tmp46;
14135#line 1574
14136 bus_ofs = ofs & __cil_tmp47;
14137#line 1575
14138 __cil_tmp48 = ofs - bus_ofs;
14139#line 1575
14140 gap = (int )__cil_tmp48;
14141#line 1579
14142 __min1 = (int )len;
14143#line 1579
14144 __cil_tmp49 = (unsigned long )map;
14145#line 1579
14146 __cil_tmp50 = __cil_tmp49 + 44;
14147#line 1579
14148 __cil_tmp51 = *((int *)__cil_tmp50);
14149#line 1579
14150 __min2 = __cil_tmp51 - gap;
14151#line 1579
14152 if (__min1 < __min2) {
14153#line 1579
14154 tmp___7 = __min1;
14155 } else {
14156#line 1579
14157 tmp___7 = __min2;
14158 }
14159 {
14160#line 1579
14161 n = tmp___7;
14162#line 1580
14163 datum = map_word_ff(map);
14164#line 1581
14165 datum = map_word_load_partial(map, datum, buf, gap, n);
14166#line 1583
14167 __cil_tmp52 = chipnum * 176UL;
14168#line 1583
14169 __cil_tmp53 = 120 + __cil_tmp52;
14170#line 1583
14171 __cil_tmp54 = (unsigned long )cfi;
14172#line 1583
14173 __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
14174#line 1583
14175 __cil_tmp56 = (struct flchip *)__cil_tmp55;
14176#line 1583
14177 ret = do_write_oneword(map, __cil_tmp56, bus_ofs, datum, 7);
14178 }
14179#line 1585
14180 if (ret) {
14181#line 1586
14182 return (ret);
14183 } else {
14184
14185 }
14186#line 1588
14187 __cil_tmp57 = (size_t )n;
14188#line 1588
14189 len = len - __cil_tmp57;
14190#line 1589
14191 __cil_tmp58 = (unsigned long )n;
14192#line 1589
14193 ofs = ofs + __cil_tmp58;
14194#line 1590
14195 buf = buf + n;
14196#line 1591
14197 __cil_tmp59 = (size_t )n;
14198#line 1591
14199 __cil_tmp60 = *retlen;
14200#line 1591
14201 *retlen = __cil_tmp60 + __cil_tmp59;
14202 {
14203#line 1593
14204 __cil_tmp61 = (unsigned long )cfi;
14205#line 1593
14206 __cil_tmp62 = __cil_tmp61 + 104;
14207#line 1593
14208 __cil_tmp63 = *((unsigned long *)__cil_tmp62);
14209#line 1593
14210 if (ofs >> __cil_tmp63) {
14211#line 1594
14212 chipnum = chipnum + 1;
14213#line 1595
14214 ofs = 0UL;
14215 {
14216#line 1596
14217 __cil_tmp64 = (unsigned long )cfi;
14218#line 1596
14219 __cil_tmp65 = __cil_tmp64 + 64;
14220#line 1596
14221 __cil_tmp66 = *((int *)__cil_tmp65);
14222#line 1596
14223 if (chipnum == __cil_tmp66) {
14224#line 1597
14225 return (0);
14226 } else {
14227
14228 }
14229 }
14230 } else {
14231
14232 }
14233 }
14234 } else {
14235
14236 }
14237 }
14238 {
14239#line 1601
14240 while (1) {
14241 while_continue: ;
14242 {
14243#line 1601
14244 __cil_tmp67 = (unsigned long )map;
14245#line 1601
14246 __cil_tmp68 = __cil_tmp67 + 44;
14247#line 1601
14248 __cil_tmp69 = *((int *)__cil_tmp68);
14249#line 1601
14250 __cil_tmp70 = (size_t )__cil_tmp69;
14251#line 1601
14252 if (len >= __cil_tmp70) {
14253
14254 } else {
14255#line 1601
14256 goto while_break;
14257 }
14258 }
14259 {
14260#line 1602
14261 __cil_tmp71 = (void *)buf;
14262#line 1602
14263 tmp___8 = map_word_load(map, __cil_tmp71);
14264#line 1602
14265 datum___0 = tmp___8;
14266#line 1604
14267 __cil_tmp72 = chipnum * 176UL;
14268#line 1604
14269 __cil_tmp73 = 120 + __cil_tmp72;
14270#line 1604
14271 __cil_tmp74 = (unsigned long )cfi;
14272#line 1604
14273 __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
14274#line 1604
14275 __cil_tmp76 = (struct flchip *)__cil_tmp75;
14276#line 1604
14277 ret = do_write_oneword(map, __cil_tmp76, ofs, datum___0, 7);
14278 }
14279#line 1606
14280 if (ret) {
14281#line 1607
14282 return (ret);
14283 } else {
14284
14285 }
14286#line 1609
14287 __cil_tmp77 = (unsigned long )map;
14288#line 1609
14289 __cil_tmp78 = __cil_tmp77 + 44;
14290#line 1609
14291 __cil_tmp79 = *((int *)__cil_tmp78);
14292#line 1609
14293 __cil_tmp80 = (unsigned long )__cil_tmp79;
14294#line 1609
14295 ofs = ofs + __cil_tmp80;
14296#line 1610
14297 __cil_tmp81 = (unsigned long )map;
14298#line 1610
14299 __cil_tmp82 = __cil_tmp81 + 44;
14300#line 1610
14301 __cil_tmp83 = *((int *)__cil_tmp82);
14302#line 1610
14303 buf = buf + __cil_tmp83;
14304#line 1611
14305 __cil_tmp84 = (unsigned long )map;
14306#line 1611
14307 __cil_tmp85 = __cil_tmp84 + 44;
14308#line 1611
14309 __cil_tmp86 = *((int *)__cil_tmp85);
14310#line 1611
14311 __cil_tmp87 = (size_t )__cil_tmp86;
14312#line 1611
14313 __cil_tmp88 = *retlen;
14314#line 1611
14315 *retlen = __cil_tmp88 + __cil_tmp87;
14316#line 1612
14317 __cil_tmp89 = (unsigned long )map;
14318#line 1612
14319 __cil_tmp90 = __cil_tmp89 + 44;
14320#line 1612
14321 __cil_tmp91 = *((int *)__cil_tmp90);
14322#line 1612
14323 __cil_tmp92 = (size_t )__cil_tmp91;
14324#line 1612
14325 len = len - __cil_tmp92;
14326 {
14327#line 1614
14328 __cil_tmp93 = (unsigned long )cfi;
14329#line 1614
14330 __cil_tmp94 = __cil_tmp93 + 104;
14331#line 1614
14332 __cil_tmp95 = *((unsigned long *)__cil_tmp94);
14333#line 1614
14334 if (ofs >> __cil_tmp95) {
14335#line 1615
14336 chipnum = chipnum + 1;
14337#line 1616
14338 ofs = 0UL;
14339 {
14340#line 1617
14341 __cil_tmp96 = (unsigned long )cfi;
14342#line 1617
14343 __cil_tmp97 = __cil_tmp96 + 64;
14344#line 1617
14345 __cil_tmp98 = *((int *)__cil_tmp97);
14346#line 1617
14347 if (chipnum == __cil_tmp98) {
14348#line 1618
14349 return (0);
14350 } else {
14351
14352 }
14353 }
14354 } else {
14355
14356 }
14357 }
14358 }
14359 while_break: ;
14360 }
14361 {
14362#line 1622
14363 __cil_tmp99 = (unsigned long )map;
14364#line 1622
14365 __cil_tmp100 = __cil_tmp99 + 44;
14366#line 1622
14367 __cil_tmp101 = *((int *)__cil_tmp100);
14368#line 1622
14369 __cil_tmp102 = __cil_tmp101 - 1;
14370#line 1622
14371 __cil_tmp103 = (unsigned long )__cil_tmp102;
14372#line 1622
14373 if (len & __cil_tmp103) {
14374 {
14375#line 1625
14376 datum___1 = map_word_ff(map);
14377#line 1626
14378 __cil_tmp104 = (int )len;
14379#line 1626
14380 datum___1 = map_word_load_partial(map, datum___1, buf, 0, __cil_tmp104);
14381#line 1628
14382 __cil_tmp105 = chipnum * 176UL;
14383#line 1628
14384 __cil_tmp106 = 120 + __cil_tmp105;
14385#line 1628
14386 __cil_tmp107 = (unsigned long )cfi;
14387#line 1628
14388 __cil_tmp108 = __cil_tmp107 + __cil_tmp106;
14389#line 1628
14390 __cil_tmp109 = (struct flchip *)__cil_tmp108;
14391#line 1628
14392 ret = do_write_oneword(map, __cil_tmp109, ofs, datum___1, 7);
14393 }
14394#line 1630
14395 if (ret) {
14396#line 1631
14397 return (ret);
14398 } else {
14399
14400 }
14401#line 1633
14402 __cil_tmp110 = *retlen;
14403#line 1633
14404 *retlen = __cil_tmp110 + len;
14405 } else {
14406
14407 }
14408 }
14409#line 1636
14410 return (0);
14411}
14412}
14413#line 1640 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
14414static int do_write_buffer(struct map_info *map , struct flchip *chip , unsigned long adr ,
14415 struct kvec **pvec , unsigned long *pvec_seek ,
14416 int len )
14417{ struct cfi_private *cfi ;
14418 map_word status ;
14419 map_word write_cmd ;
14420 map_word datum ;
14421 unsigned long cmd_adr ;
14422 int ret ;
14423 int wbufsize ;
14424 int word_gap ;
14425 int words ;
14426 struct kvec *vec ;
14427 unsigned long vec_seek ;
14428 unsigned long initial_adr ;
14429 int initial_len ;
14430 map_word tmp___7 ;
14431 map_word tmp___8 ;
14432 map_word tmp___9 ;
14433 map_word tmp___10 ;
14434 map_word tmp___11 ;
14435 map_word tmp___12 ;
14436 int tmp___13 ;
14437 map_word Xstatus ;
14438 map_word tmp___14 ;
14439 map_word tmp___15 ;
14440 map_word tmp___16 ;
14441 map_word tmp___17 ;
14442 map_word tmp___18 ;
14443 int n ;
14444 map_word tmp___19 ;
14445 map_word tmp___20 ;
14446 unsigned long chipstatus ;
14447 unsigned long tmp___21 ;
14448 map_word tmp___22 ;
14449 map_word tmp___23 ;
14450 map_word tmp___24 ;
14451 int tmp___25 ;
14452 unsigned long __cil_tmp42 ;
14453 unsigned long __cil_tmp43 ;
14454 void *__cil_tmp44 ;
14455 unsigned long __cil_tmp45 ;
14456 unsigned long __cil_tmp46 ;
14457 struct cfi_ident *__cil_tmp47 ;
14458 unsigned long __cil_tmp48 ;
14459 unsigned long __cil_tmp49 ;
14460 uint16_t __cil_tmp50 ;
14461 int __cil_tmp51 ;
14462 unsigned long __cil_tmp52 ;
14463 unsigned long __cil_tmp53 ;
14464 int __cil_tmp54 ;
14465 unsigned long __cil_tmp55 ;
14466 int __cil_tmp56 ;
14467 int __cil_tmp57 ;
14468 unsigned long __cil_tmp58 ;
14469 unsigned long __cil_tmp59 ;
14470 unsigned long __cil_tmp60 ;
14471 struct cfi_ident *__cil_tmp61 ;
14472 unsigned long __cil_tmp62 ;
14473 unsigned long __cil_tmp63 ;
14474 uint16_t __cil_tmp64 ;
14475 int __cil_tmp65 ;
14476 u_long __cil_tmp66 ;
14477 u_long __cil_tmp67 ;
14478 unsigned long __cil_tmp68 ;
14479 unsigned long __cil_tmp69 ;
14480 struct mutex *__cil_tmp70 ;
14481 unsigned long __cil_tmp71 ;
14482 unsigned long __cil_tmp72 ;
14483 struct mutex *__cil_tmp73 ;
14484 unsigned long __cil_tmp74 ;
14485 unsigned long __cil_tmp75 ;
14486 unsigned long __cil_tmp76 ;
14487 unsigned long __cil_tmp77 ;
14488 void (*__cil_tmp78)(struct map_info * , int ) ;
14489 unsigned long __cil_tmp79 ;
14490 unsigned long __cil_tmp80 ;
14491 flstate_t __cil_tmp81 ;
14492 unsigned int __cil_tmp82 ;
14493 u_long __cil_tmp83 ;
14494 unsigned long __cil_tmp84 ;
14495 unsigned long __cil_tmp85 ;
14496 void (*__cil_tmp86)(struct map_info * , map_word , unsigned long ) ;
14497 map_word __cil_tmp87 ;
14498 unsigned long __cil_tmp88 ;
14499 unsigned long __cil_tmp89 ;
14500 map_word *__cil_tmp90 ;
14501 unsigned long __cil_tmp91 ;
14502 unsigned long __cil_tmp92 ;
14503 map_word (*__cil_tmp93)(struct map_info * , unsigned long ) ;
14504 u_long __cil_tmp94 ;
14505 map_word *__cil_tmp95 ;
14506 map_word __cil_tmp96 ;
14507 unsigned long __cil_tmp97 ;
14508 unsigned long __cil_tmp98 ;
14509 unsigned long __cil_tmp99 ;
14510 unsigned long __cil_tmp100 ;
14511 u_long __cil_tmp101 ;
14512 unsigned long __cil_tmp102 ;
14513 unsigned long __cil_tmp103 ;
14514 void (*__cil_tmp104)(struct map_info * , map_word , unsigned long ) ;
14515 map_word __cil_tmp105 ;
14516 u_long __cil_tmp106 ;
14517 unsigned long __cil_tmp107 ;
14518 unsigned long __cil_tmp108 ;
14519 void (*__cil_tmp109)(struct map_info * , map_word , unsigned long ) ;
14520 map_word __cil_tmp110 ;
14521 unsigned long __cil_tmp111 ;
14522 unsigned long __cil_tmp112 ;
14523 unsigned long __cil_tmp113 ;
14524 unsigned long __cil_tmp114 ;
14525 void (*__cil_tmp115)(struct map_info * , map_word , unsigned long ) ;
14526 map_word __cil_tmp116 ;
14527 unsigned long __cil_tmp117 ;
14528 unsigned long __cil_tmp118 ;
14529 map_word (*__cil_tmp119)(struct map_info * , unsigned long ) ;
14530 map_word *__cil_tmp120 ;
14531 u_long __cil_tmp121 ;
14532 unsigned long __cil_tmp122 ;
14533 unsigned long __cil_tmp123 ;
14534 void (*__cil_tmp124)(struct map_info * , map_word , unsigned long ) ;
14535 map_word __cil_tmp125 ;
14536 unsigned long __cil_tmp126 ;
14537 unsigned long __cil_tmp127 ;
14538 map_word *__cil_tmp128 ;
14539 unsigned long __cil_tmp129 ;
14540 unsigned long __cil_tmp130 ;
14541 map_word (*__cil_tmp131)(struct map_info * , unsigned long ) ;
14542 u_long __cil_tmp132 ;
14543 unsigned long __cil_tmp133 ;
14544 unsigned long __cil_tmp134 ;
14545 void (*__cil_tmp135)(struct map_info * , map_word , unsigned long ) ;
14546 map_word __cil_tmp136 ;
14547 u_long __cil_tmp137 ;
14548 unsigned long __cil_tmp138 ;
14549 unsigned long __cil_tmp139 ;
14550 void (*__cil_tmp140)(struct map_info * , map_word , unsigned long ) ;
14551 map_word __cil_tmp141 ;
14552 char *__cil_tmp142 ;
14553 unsigned long __cil_tmp143 ;
14554 unsigned long __cil_tmp144 ;
14555 unsigned long __cil_tmp145 ;
14556 unsigned long __cil_tmp146 ;
14557 unsigned long __cil_tmp147 ;
14558 unsigned long __cil_tmp148 ;
14559 unsigned long __cil_tmp149 ;
14560 unsigned long __cil_tmp150 ;
14561 unsigned long __cil_tmp151 ;
14562 unsigned long __cil_tmp152 ;
14563 int __cil_tmp153 ;
14564 int __cil_tmp154 ;
14565 unsigned long __cil_tmp155 ;
14566 unsigned long __cil_tmp156 ;
14567 unsigned long __cil_tmp157 ;
14568 unsigned long __cil_tmp158 ;
14569 unsigned long __cil_tmp159 ;
14570 int __cil_tmp160 ;
14571 unsigned long __cil_tmp161 ;
14572 unsigned long __cil_tmp162 ;
14573 int __cil_tmp163 ;
14574 int __cil_tmp164 ;
14575 int __cil_tmp165 ;
14576 int __cil_tmp166 ;
14577 unsigned long __cil_tmp167 ;
14578 unsigned long __cil_tmp168 ;
14579 int __cil_tmp169 ;
14580 unsigned long __cil_tmp170 ;
14581 u_long __cil_tmp171 ;
14582 unsigned long __cil_tmp172 ;
14583 unsigned long __cil_tmp173 ;
14584 void (*__cil_tmp174)(struct map_info * , map_word , unsigned long ) ;
14585 map_word __cil_tmp175 ;
14586 unsigned long __cil_tmp176 ;
14587 unsigned long __cil_tmp177 ;
14588 int __cil_tmp178 ;
14589 size_t __cil_tmp179 ;
14590 unsigned long __cil_tmp180 ;
14591 unsigned long __cil_tmp181 ;
14592 size_t __cil_tmp182 ;
14593 size_t __cil_tmp183 ;
14594 size_t __cil_tmp184 ;
14595 size_t __cil_tmp185 ;
14596 unsigned long __cil_tmp186 ;
14597 unsigned long __cil_tmp187 ;
14598 size_t __cil_tmp188 ;
14599 size_t __cil_tmp189 ;
14600 unsigned long __cil_tmp190 ;
14601 unsigned long __cil_tmp191 ;
14602 int __cil_tmp192 ;
14603 void * __cil_tmp193 ;
14604 void * __cil_tmp194 ;
14605 unsigned char *__cil_tmp195 ;
14606 unsigned long __cil_tmp196 ;
14607 unsigned long __cil_tmp197 ;
14608 void (*__cil_tmp198)(struct map_info * , map_word , unsigned long ) ;
14609 map_word __cil_tmp199 ;
14610 unsigned long __cil_tmp200 ;
14611 unsigned long __cil_tmp201 ;
14612 int __cil_tmp202 ;
14613 unsigned long __cil_tmp203 ;
14614 unsigned long __cil_tmp204 ;
14615 unsigned long __cil_tmp205 ;
14616 int __cil_tmp206 ;
14617 unsigned long __cil_tmp207 ;
14618 unsigned long __cil_tmp208 ;
14619 void (*__cil_tmp209)(struct map_info * , map_word , unsigned long ) ;
14620 map_word __cil_tmp210 ;
14621 unsigned long __cil_tmp211 ;
14622 unsigned long __cil_tmp212 ;
14623 int __cil_tmp213 ;
14624 unsigned long __cil_tmp214 ;
14625 unsigned long __cil_tmp215 ;
14626 unsigned long __cil_tmp216 ;
14627 unsigned long __cil_tmp217 ;
14628 size_t __cil_tmp218 ;
14629 unsigned long __cil_tmp219 ;
14630 u_long __cil_tmp220 ;
14631 unsigned long __cil_tmp221 ;
14632 unsigned long __cil_tmp222 ;
14633 void (*__cil_tmp223)(struct map_info * , map_word , unsigned long ) ;
14634 map_word __cil_tmp224 ;
14635 unsigned long __cil_tmp225 ;
14636 unsigned long __cil_tmp226 ;
14637 unsigned long __cil_tmp227 ;
14638 unsigned long __cil_tmp228 ;
14639 int __cil_tmp229 ;
14640 unsigned int __cil_tmp230 ;
14641 unsigned long __cil_tmp231 ;
14642 unsigned long __cil_tmp232 ;
14643 int __cil_tmp233 ;
14644 unsigned int __cil_tmp234 ;
14645 u_long __cil_tmp235 ;
14646 unsigned long __cil_tmp236 ;
14647 unsigned long __cil_tmp237 ;
14648 void (*__cil_tmp238)(struct map_info * , map_word , unsigned long ) ;
14649 map_word __cil_tmp239 ;
14650 unsigned long __cil_tmp240 ;
14651 unsigned long __cil_tmp241 ;
14652 char *__cil_tmp242 ;
14653 map_word *__cil_tmp243 ;
14654 unsigned long __cil_tmp244 ;
14655 unsigned long __cil_tmp245 ;
14656 map_word (*__cil_tmp246)(struct map_info * , unsigned long ) ;
14657 u_long __cil_tmp247 ;
14658 map_word *__cil_tmp248 ;
14659 map_word __cil_tmp249 ;
14660 map_word *__cil_tmp250 ;
14661 map_word __cil_tmp251 ;
14662 u_long __cil_tmp252 ;
14663 unsigned long __cil_tmp253 ;
14664 unsigned long __cil_tmp254 ;
14665 void (*__cil_tmp255)(struct map_info * , map_word , unsigned long ) ;
14666 map_word __cil_tmp256 ;
14667 u_long __cil_tmp257 ;
14668 unsigned long __cil_tmp258 ;
14669 unsigned long __cil_tmp259 ;
14670 void (*__cil_tmp260)(struct map_info * , map_word , unsigned long ) ;
14671 map_word __cil_tmp261 ;
14672 char *__cil_tmp262 ;
14673 char *__cil_tmp263 ;
14674 unsigned long __cil_tmp264 ;
14675 unsigned long __cil_tmp265 ;
14676 unsigned long __cil_tmp266 ;
14677 unsigned long __cil_tmp267 ;
14678 void (*__cil_tmp268)(struct map_info * , int ) ;
14679 unsigned long __cil_tmp269 ;
14680 unsigned long __cil_tmp270 ;
14681 struct mutex *__cil_tmp271 ;
14682
14683 {
14684#line 1644
14685 __cil_tmp42 = (unsigned long )map;
14686#line 1644
14687 __cil_tmp43 = __cil_tmp42 + 120;
14688#line 1644
14689 __cil_tmp44 = *((void **)__cil_tmp43);
14690#line 1644
14691 cfi = (struct cfi_private *)__cil_tmp44;
14692#line 1651
14693 initial_len = len;
14694#line 1653
14695 __cil_tmp45 = (unsigned long )cfi;
14696#line 1653
14697 __cil_tmp46 = __cil_tmp45 + 48;
14698#line 1653
14699 __cil_tmp47 = *((struct cfi_ident **)__cil_tmp46);
14700#line 1653
14701 __cil_tmp48 = (unsigned long )__cil_tmp47;
14702#line 1653
14703 __cil_tmp49 = __cil_tmp48 + 26;
14704#line 1653
14705 __cil_tmp50 = *((uint16_t *)__cil_tmp49);
14706#line 1653
14707 __cil_tmp51 = (int )__cil_tmp50;
14708#line 1653
14709 __cil_tmp52 = (unsigned long )cfi;
14710#line 1653
14711 __cil_tmp53 = __cil_tmp52 + 16;
14712#line 1653
14713 __cil_tmp54 = *((int *)__cil_tmp53);
14714#line 1653
14715 wbufsize = __cil_tmp54 << __cil_tmp51;
14716#line 1654
14717 __cil_tmp55 = *((unsigned long *)chip);
14718#line 1654
14719 adr = adr + __cil_tmp55;
14720#line 1655
14721 initial_adr = adr;
14722#line 1656
14723 __cil_tmp56 = wbufsize - 1;
14724#line 1656
14725 __cil_tmp57 = ~ __cil_tmp56;
14726#line 1656
14727 __cil_tmp58 = (unsigned long )__cil_tmp57;
14728#line 1656
14729 cmd_adr = adr & __cil_tmp58;
14730 {
14731#line 1659
14732 __cil_tmp59 = (unsigned long )cfi;
14733#line 1659
14734 __cil_tmp60 = __cil_tmp59 + 48;
14735#line 1659
14736 __cil_tmp61 = *((struct cfi_ident **)__cil_tmp60);
14737#line 1659
14738 __cil_tmp62 = (unsigned long )__cil_tmp61;
14739#line 1659
14740 __cil_tmp63 = __cil_tmp62 + 3;
14741#line 1659
14742 __cil_tmp64 = *((uint16_t *)__cil_tmp63);
14743#line 1659
14744 __cil_tmp65 = (int )__cil_tmp64;
14745#line 1659
14746 if (__cil_tmp65 != 512) {
14747 {
14748#line 1659
14749 __cil_tmp66 = (u_long )232;
14750#line 1659
14751 tmp___7 = cfi_build_cmd(__cil_tmp66, map, cfi);
14752#line 1659
14753 write_cmd = tmp___7;
14754 }
14755 } else {
14756 {
14757#line 1659
14758 __cil_tmp67 = (u_long )233;
14759#line 1659
14760 tmp___8 = cfi_build_cmd(__cil_tmp67, map, cfi);
14761#line 1659
14762 write_cmd = tmp___8;
14763 }
14764 }
14765 }
14766 {
14767#line 1661
14768 __cil_tmp68 = (unsigned long )chip;
14769#line 1661
14770 __cil_tmp69 = __cil_tmp68 + 32;
14771#line 1661
14772 __cil_tmp70 = (struct mutex *)__cil_tmp69;
14773#line 1661
14774 mutex_lock(__cil_tmp70);
14775#line 1662
14776 ret = get_chip(map, chip, cmd_adr, 7);
14777 }
14778#line 1663
14779 if (ret) {
14780 {
14781#line 1664
14782 __cil_tmp71 = (unsigned long )chip;
14783#line 1664
14784 __cil_tmp72 = __cil_tmp71 + 32;
14785#line 1664
14786 __cil_tmp73 = (struct mutex *)__cil_tmp72;
14787#line 1664
14788 mutex_unlock(__cil_tmp73);
14789 }
14790#line 1665
14791 return (ret);
14792 } else {
14793
14794 }
14795 {
14796#line 1669
14797 while (1) {
14798 while_continue: ;
14799 {
14800#line 1669
14801 __cil_tmp74 = (unsigned long )map;
14802#line 1669
14803 __cil_tmp75 = __cil_tmp74 + 88;
14804#line 1669
14805 if (*((void (**)(struct map_info * , int ))__cil_tmp75)) {
14806 {
14807#line 1669
14808 __cil_tmp76 = (unsigned long )map;
14809#line 1669
14810 __cil_tmp77 = __cil_tmp76 + 88;
14811#line 1669
14812 __cil_tmp78 = *((void (**)(struct map_info * , int ))__cil_tmp77);
14813#line 1669
14814 (*__cil_tmp78)(map, 1);
14815 }
14816 } else {
14817
14818 }
14819 }
14820#line 1669
14821 goto while_break;
14822 }
14823 while_break: ;
14824 }
14825 {
14826#line 1676
14827 __cil_tmp79 = (unsigned long )chip;
14828#line 1676
14829 __cil_tmp80 = __cil_tmp79 + 12;
14830#line 1676
14831 __cil_tmp81 = *((flstate_t *)__cil_tmp80);
14832#line 1676
14833 __cil_tmp82 = (unsigned int )__cil_tmp81;
14834#line 1676
14835 if (__cil_tmp82 != 1U) {
14836 {
14837#line 1677
14838 __cil_tmp83 = (u_long )112;
14839#line 1677
14840 tmp___9 = cfi_build_cmd(__cil_tmp83, map, cfi);
14841#line 1677
14842 __cil_tmp84 = (unsigned long )map;
14843#line 1677
14844 __cil_tmp85 = __cil_tmp84 + 64;
14845#line 1677
14846 __cil_tmp86 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp85);
14847#line 1677
14848 __cil_tmp87 = (map_word )tmp___9;
14849#line 1677
14850 (*__cil_tmp86)(map, __cil_tmp87, cmd_adr);
14851#line 1678
14852 __cil_tmp88 = (unsigned long )chip;
14853#line 1678
14854 __cil_tmp89 = __cil_tmp88 + 12;
14855#line 1678
14856 *((flstate_t *)__cil_tmp89) = (flstate_t )1;
14857 }
14858 } else {
14859
14860 }
14861 }
14862 {
14863#line 1680
14864 __cil_tmp90 = & status;
14865#line 1680
14866 __cil_tmp91 = (unsigned long )map;
14867#line 1680
14868 __cil_tmp92 = __cil_tmp91 + 48;
14869#line 1680
14870 __cil_tmp93 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp92);
14871#line 1680
14872 *__cil_tmp90 = (*__cil_tmp93)(map, cmd_adr);
14873#line 1681
14874 __cil_tmp94 = (u_long )48;
14875#line 1681
14876 tmp___12 = cfi_build_cmd(__cil_tmp94, map, cfi);
14877#line 1681
14878 __cil_tmp95 = & status;
14879#line 1681
14880 __cil_tmp96 = *__cil_tmp95;
14881#line 1681
14882 tmp___13 = map_word_bitsset(map, __cil_tmp96, tmp___12);
14883 }
14884#line 1681
14885 if (tmp___13) {
14886 {
14887#line 1683
14888 __cil_tmp97 = 0 * 8UL;
14889#line 1683
14890 __cil_tmp98 = 0 + __cil_tmp97;
14891#line 1683
14892 __cil_tmp99 = (unsigned long )(& status) + __cil_tmp98;
14893#line 1683
14894 __cil_tmp100 = *((unsigned long *)__cil_tmp99);
14895#line 1683
14896 printk("<4>SR.4 or SR.5 bits set in buffer write (status %lx). Clearing.\n", __cil_tmp100);
14897#line 1685
14898 __cil_tmp101 = (u_long )80;
14899#line 1685
14900 tmp___10 = cfi_build_cmd(__cil_tmp101, map, cfi);
14901#line 1685
14902 __cil_tmp102 = (unsigned long )map;
14903#line 1685
14904 __cil_tmp103 = __cil_tmp102 + 64;
14905#line 1685
14906 __cil_tmp104 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp103);
14907#line 1685
14908 __cil_tmp105 = (map_word )tmp___10;
14909#line 1685
14910 (*__cil_tmp104)(map, __cil_tmp105, cmd_adr);
14911#line 1686
14912 __cil_tmp106 = (u_long )112;
14913#line 1686
14914 tmp___11 = cfi_build_cmd(__cil_tmp106, map, cfi);
14915#line 1686
14916 __cil_tmp107 = (unsigned long )map;
14917#line 1686
14918 __cil_tmp108 = __cil_tmp107 + 64;
14919#line 1686
14920 __cil_tmp109 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp108);
14921#line 1686
14922 __cil_tmp110 = (map_word )tmp___11;
14923#line 1686
14924 (*__cil_tmp109)(map, __cil_tmp110, cmd_adr);
14925 }
14926 } else {
14927
14928 }
14929 {
14930#line 1689
14931 __cil_tmp111 = (unsigned long )chip;
14932#line 1689
14933 __cil_tmp112 = __cil_tmp111 + 12;
14934#line 1689
14935 *((flstate_t *)__cil_tmp112) = (flstate_t )8;
14936#line 1690
14937 __cil_tmp113 = (unsigned long )map;
14938#line 1690
14939 __cil_tmp114 = __cil_tmp113 + 64;
14940#line 1690
14941 __cil_tmp115 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp114);
14942#line 1690
14943 __cil_tmp116 = (map_word )write_cmd;
14944#line 1690
14945 (*__cil_tmp115)(map, __cil_tmp116, cmd_adr);
14946#line 1691
14947 ret = inval_cache_and_wait_for_operation(map, chip, cmd_adr, 0UL, 0, 0U, 0U);
14948 }
14949#line 1692
14950 if (ret) {
14951 {
14952#line 1694
14953 __cil_tmp117 = (unsigned long )map;
14954#line 1694
14955 __cil_tmp118 = __cil_tmp117 + 48;
14956#line 1694
14957 __cil_tmp119 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp118);
14958#line 1694
14959 tmp___14 = (*__cil_tmp119)(map, cmd_adr);
14960#line 1694
14961 __cil_tmp120 = & Xstatus;
14962#line 1694
14963 *__cil_tmp120 = tmp___14;
14964#line 1695
14965 __cil_tmp121 = (u_long )112;
14966#line 1695
14967 tmp___15 = cfi_build_cmd(__cil_tmp121, map, cfi);
14968#line 1695
14969 __cil_tmp122 = (unsigned long )map;
14970#line 1695
14971 __cil_tmp123 = __cil_tmp122 + 64;
14972#line 1695
14973 __cil_tmp124 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp123);
14974#line 1695
14975 __cil_tmp125 = (map_word )tmp___15;
14976#line 1695
14977 (*__cil_tmp124)(map, __cil_tmp125, cmd_adr);
14978#line 1696
14979 __cil_tmp126 = (unsigned long )chip;
14980#line 1696
14981 __cil_tmp127 = __cil_tmp126 + 12;
14982#line 1696
14983 *((flstate_t *)__cil_tmp127) = (flstate_t )1;
14984#line 1697
14985 __cil_tmp128 = & status;
14986#line 1697
14987 __cil_tmp129 = (unsigned long )map;
14988#line 1697
14989 __cil_tmp130 = __cil_tmp129 + 48;
14990#line 1697
14991 __cil_tmp131 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp130);
14992#line 1697
14993 *__cil_tmp128 = (*__cil_tmp131)(map, cmd_adr);
14994#line 1698
14995 __cil_tmp132 = (u_long )80;
14996#line 1698
14997 tmp___16 = cfi_build_cmd(__cil_tmp132, map, cfi);
14998#line 1698
14999 __cil_tmp133 = (unsigned long )map;
15000#line 1698
15001 __cil_tmp134 = __cil_tmp133 + 64;
15002#line 1698
15003 __cil_tmp135 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp134);
15004#line 1698
15005 __cil_tmp136 = (map_word )tmp___16;
15006#line 1698
15007 (*__cil_tmp135)(map, __cil_tmp136, cmd_adr);
15008#line 1699
15009 __cil_tmp137 = (u_long )112;
15010#line 1699
15011 tmp___17 = cfi_build_cmd(__cil_tmp137, map, cfi);
15012#line 1699
15013 __cil_tmp138 = (unsigned long )map;
15014#line 1699
15015 __cil_tmp139 = __cil_tmp138 + 64;
15016#line 1699
15017 __cil_tmp140 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp139);
15018#line 1699
15019 __cil_tmp141 = (map_word )tmp___17;
15020#line 1699
15021 (*__cil_tmp140)(map, __cil_tmp141, cmd_adr);
15022#line 1701
15023 __cil_tmp142 = *((char **)map);
15024#line 1701
15025 __cil_tmp143 = 0 * 8UL;
15026#line 1701
15027 __cil_tmp144 = 0 + __cil_tmp143;
15028#line 1701
15029 __cil_tmp145 = (unsigned long )(& Xstatus) + __cil_tmp144;
15030#line 1701
15031 __cil_tmp146 = *((unsigned long *)__cil_tmp145);
15032#line 1701
15033 __cil_tmp147 = 0 * 8UL;
15034#line 1701
15035 __cil_tmp148 = 0 + __cil_tmp147;
15036#line 1701
15037 __cil_tmp149 = (unsigned long )(& status) + __cil_tmp148;
15038#line 1701
15039 __cil_tmp150 = *((unsigned long *)__cil_tmp149);
15040#line 1701
15041 printk("<3>%s: Chip not ready for buffer write. Xstatus = %lx, status = %lx\n",
15042 __cil_tmp142, __cil_tmp146, __cil_tmp150);
15043 }
15044#line 1703
15045 goto out;
15046 } else {
15047
15048 }
15049#line 1707
15050 __cil_tmp151 = (unsigned long )map;
15051#line 1707
15052 __cil_tmp152 = __cil_tmp151 + 44;
15053#line 1707
15054 __cil_tmp153 = *((int *)__cil_tmp152);
15055#line 1707
15056 __cil_tmp154 = __cil_tmp153 - 1;
15057#line 1707
15058 __cil_tmp155 = (unsigned long )__cil_tmp154;
15059#line 1707
15060 __cil_tmp156 = - adr;
15061#line 1707
15062 __cil_tmp157 = __cil_tmp156 & __cil_tmp155;
15063#line 1707
15064 word_gap = (int )__cil_tmp157;
15065#line 1708
15066 __cil_tmp158 = (unsigned long )map;
15067#line 1708
15068 __cil_tmp159 = __cil_tmp158 + 44;
15069#line 1708
15070 __cil_tmp160 = *((int *)__cil_tmp159);
15071#line 1708
15072 __cil_tmp161 = (unsigned long )map;
15073#line 1708
15074 __cil_tmp162 = __cil_tmp161 + 44;
15075#line 1708
15076 __cil_tmp163 = *((int *)__cil_tmp162);
15077#line 1708
15078 __cil_tmp164 = len - word_gap;
15079#line 1708
15080 __cil_tmp165 = __cil_tmp164 + __cil_tmp163;
15081#line 1708
15082 __cil_tmp166 = __cil_tmp165 - 1;
15083#line 1708
15084 words = __cil_tmp166 / __cil_tmp160;
15085#line 1709
15086 if (! word_gap) {
15087#line 1710
15088 words = words - 1;
15089 } else {
15090 {
15091#line 1712
15092 __cil_tmp167 = (unsigned long )map;
15093#line 1712
15094 __cil_tmp168 = __cil_tmp167 + 44;
15095#line 1712
15096 __cil_tmp169 = *((int *)__cil_tmp168);
15097#line 1712
15098 word_gap = __cil_tmp169 - word_gap;
15099#line 1713
15100 __cil_tmp170 = (unsigned long )word_gap;
15101#line 1713
15102 adr = adr - __cil_tmp170;
15103#line 1714
15104 datum = map_word_ff(map);
15105 }
15106 }
15107 {
15108#line 1718
15109 __cil_tmp171 = (u_long )words;
15110#line 1718
15111 tmp___18 = cfi_build_cmd(__cil_tmp171, map, cfi);
15112#line 1718
15113 __cil_tmp172 = (unsigned long )map;
15114#line 1718
15115 __cil_tmp173 = __cil_tmp172 + 64;
15116#line 1718
15117 __cil_tmp174 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp173);
15118#line 1718
15119 __cil_tmp175 = (map_word )tmp___18;
15120#line 1718
15121 (*__cil_tmp174)(map, __cil_tmp175, cmd_adr);
15122#line 1721
15123 vec = *pvec;
15124#line 1722
15125 vec_seek = *pvec_seek;
15126 }
15127 {
15128#line 1723
15129 while (1) {
15130 while_continue___0: ;
15131#line 1724
15132 __cil_tmp176 = (unsigned long )map;
15133#line 1724
15134 __cil_tmp177 = __cil_tmp176 + 44;
15135#line 1724
15136 __cil_tmp178 = *((int *)__cil_tmp177);
15137#line 1724
15138 n = __cil_tmp178 - word_gap;
15139 {
15140#line 1725
15141 __cil_tmp179 = (size_t )vec_seek;
15142#line 1725
15143 __cil_tmp180 = (unsigned long )vec;
15144#line 1725
15145 __cil_tmp181 = __cil_tmp180 + 8;
15146#line 1725
15147 __cil_tmp182 = *((size_t *)__cil_tmp181);
15148#line 1725
15149 __cil_tmp183 = __cil_tmp182 - __cil_tmp179;
15150#line 1725
15151 __cil_tmp184 = (size_t )n;
15152#line 1725
15153 if (__cil_tmp184 > __cil_tmp183) {
15154#line 1726
15155 __cil_tmp185 = (size_t )vec_seek;
15156#line 1726
15157 __cil_tmp186 = (unsigned long )vec;
15158#line 1726
15159 __cil_tmp187 = __cil_tmp186 + 8;
15160#line 1726
15161 __cil_tmp188 = *((size_t *)__cil_tmp187);
15162#line 1726
15163 __cil_tmp189 = __cil_tmp188 - __cil_tmp185;
15164#line 1726
15165 n = (int )__cil_tmp189;
15166 } else {
15167
15168 }
15169 }
15170#line 1727
15171 if (n > len) {
15172#line 1728
15173 n = len;
15174 } else {
15175
15176 }
15177#line 1730
15178 if (! word_gap) {
15179 {
15180#line 1730
15181 __cil_tmp190 = (unsigned long )map;
15182#line 1730
15183 __cil_tmp191 = __cil_tmp190 + 44;
15184#line 1730
15185 __cil_tmp192 = *((int *)__cil_tmp191);
15186#line 1730
15187 if (len < __cil_tmp192) {
15188 {
15189#line 1731
15190 datum = map_word_ff(map);
15191 }
15192 } else {
15193
15194 }
15195 }
15196 } else {
15197
15198 }
15199 {
15200#line 1733
15201 __cil_tmp193 = *((void * *)vec);
15202#line 1733
15203 __cil_tmp194 = __cil_tmp193 + vec_seek;
15204#line 1733
15205 __cil_tmp195 = (unsigned char *)__cil_tmp194;
15206#line 1733
15207 datum = map_word_load_partial(map, datum, __cil_tmp195, word_gap, n);
15208#line 1737
15209 len = len - n;
15210#line 1738
15211 word_gap = word_gap + n;
15212 }
15213#line 1739
15214 if (! len) {
15215 {
15216#line 1740
15217 __cil_tmp196 = (unsigned long )map;
15218#line 1740
15219 __cil_tmp197 = __cil_tmp196 + 64;
15220#line 1740
15221 __cil_tmp198 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp197);
15222#line 1740
15223 __cil_tmp199 = (map_word )datum;
15224#line 1740
15225 (*__cil_tmp198)(map, __cil_tmp199, adr);
15226#line 1741
15227 __cil_tmp200 = (unsigned long )map;
15228#line 1741
15229 __cil_tmp201 = __cil_tmp200 + 44;
15230#line 1741
15231 __cil_tmp202 = *((int *)__cil_tmp201);
15232#line 1741
15233 __cil_tmp203 = (unsigned long )__cil_tmp202;
15234#line 1741
15235 adr = adr + __cil_tmp203;
15236#line 1742
15237 word_gap = 0;
15238 }
15239 } else {
15240 {
15241#line 1739
15242 __cil_tmp204 = (unsigned long )map;
15243#line 1739
15244 __cil_tmp205 = __cil_tmp204 + 44;
15245#line 1739
15246 __cil_tmp206 = *((int *)__cil_tmp205);
15247#line 1739
15248 if (word_gap == __cil_tmp206) {
15249 {
15250#line 1740
15251 __cil_tmp207 = (unsigned long )map;
15252#line 1740
15253 __cil_tmp208 = __cil_tmp207 + 64;
15254#line 1740
15255 __cil_tmp209 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp208);
15256#line 1740
15257 __cil_tmp210 = (map_word )datum;
15258#line 1740
15259 (*__cil_tmp209)(map, __cil_tmp210, adr);
15260#line 1741
15261 __cil_tmp211 = (unsigned long )map;
15262#line 1741
15263 __cil_tmp212 = __cil_tmp211 + 44;
15264#line 1741
15265 __cil_tmp213 = *((int *)__cil_tmp212);
15266#line 1741
15267 __cil_tmp214 = (unsigned long )__cil_tmp213;
15268#line 1741
15269 adr = adr + __cil_tmp214;
15270#line 1742
15271 word_gap = 0;
15272 }
15273 } else {
15274
15275 }
15276 }
15277 }
15278#line 1745
15279 __cil_tmp215 = (unsigned long )n;
15280#line 1745
15281 vec_seek = vec_seek + __cil_tmp215;
15282 {
15283#line 1746
15284 __cil_tmp216 = (unsigned long )vec;
15285#line 1746
15286 __cil_tmp217 = __cil_tmp216 + 8;
15287#line 1746
15288 __cil_tmp218 = *((size_t *)__cil_tmp217);
15289#line 1746
15290 __cil_tmp219 = (unsigned long )__cil_tmp218;
15291#line 1746
15292 if (vec_seek == __cil_tmp219) {
15293#line 1747
15294 vec = vec + 1;
15295#line 1748
15296 vec_seek = 0UL;
15297 } else {
15298
15299 }
15300 }
15301#line 1723
15302 if (len) {
15303
15304 } else {
15305#line 1723
15306 goto while_break___0;
15307 }
15308 }
15309 while_break___0: ;
15310 }
15311 {
15312#line 1751
15313 *pvec = vec;
15314#line 1752
15315 *pvec_seek = vec_seek;
15316#line 1755
15317 __cil_tmp220 = (u_long )208;
15318#line 1755
15319 tmp___19 = cfi_build_cmd(__cil_tmp220, map, cfi);
15320#line 1755
15321 __cil_tmp221 = (unsigned long )map;
15322#line 1755
15323 __cil_tmp222 = __cil_tmp221 + 64;
15324#line 1755
15325 __cil_tmp223 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp222);
15326#line 1755
15327 __cil_tmp224 = (map_word )tmp___19;
15328#line 1755
15329 (*__cil_tmp223)(map, __cil_tmp224, cmd_adr);
15330#line 1756
15331 __cil_tmp225 = (unsigned long )chip;
15332#line 1756
15333 __cil_tmp226 = __cil_tmp225 + 12;
15334#line 1756
15335 *((flstate_t *)__cil_tmp226) = (flstate_t )7;
15336#line 1758
15337 __cil_tmp227 = (unsigned long )chip;
15338#line 1758
15339 __cil_tmp228 = __cil_tmp227 + 148;
15340#line 1758
15341 __cil_tmp229 = *((int *)__cil_tmp228);
15342#line 1758
15343 __cil_tmp230 = (unsigned int )__cil_tmp229;
15344#line 1758
15345 __cil_tmp231 = (unsigned long )chip;
15346#line 1758
15347 __cil_tmp232 = __cil_tmp231 + 160;
15348#line 1758
15349 __cil_tmp233 = *((int *)__cil_tmp232);
15350#line 1758
15351 __cil_tmp234 = (unsigned int )__cil_tmp233;
15352#line 1758
15353 ret = inval_cache_and_wait_for_operation(map, chip, cmd_adr, initial_adr, initial_len,
15354 __cil_tmp230, __cil_tmp234);
15355 }
15356#line 1762
15357 if (ret) {
15358 {
15359#line 1763
15360 __cil_tmp235 = (u_long )112;
15361#line 1763
15362 tmp___20 = cfi_build_cmd(__cil_tmp235, map, cfi);
15363#line 1763
15364 __cil_tmp236 = (unsigned long )map;
15365#line 1763
15366 __cil_tmp237 = __cil_tmp236 + 64;
15367#line 1763
15368 __cil_tmp238 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp237);
15369#line 1763
15370 __cil_tmp239 = (map_word )tmp___20;
15371#line 1763
15372 (*__cil_tmp238)(map, __cil_tmp239, cmd_adr);
15373#line 1764
15374 __cil_tmp240 = (unsigned long )chip;
15375#line 1764
15376 __cil_tmp241 = __cil_tmp240 + 12;
15377#line 1764
15378 *((flstate_t *)__cil_tmp241) = (flstate_t )1;
15379#line 1766
15380 __cil_tmp242 = *((char **)map);
15381#line 1766
15382 printk("<3>%s: buffer write error (status timeout)\n", __cil_tmp242);
15383 }
15384#line 1767
15385 goto out;
15386 } else {
15387
15388 }
15389 {
15390#line 1771
15391 __cil_tmp243 = & status;
15392#line 1771
15393 __cil_tmp244 = (unsigned long )map;
15394#line 1771
15395 __cil_tmp245 = __cil_tmp244 + 48;
15396#line 1771
15397 __cil_tmp246 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp245);
15398#line 1771
15399 *__cil_tmp243 = (*__cil_tmp246)(map, cmd_adr);
15400#line 1772
15401 __cil_tmp247 = (u_long )26;
15402#line 1772
15403 tmp___24 = cfi_build_cmd(__cil_tmp247, map, cfi);
15404#line 1772
15405 __cil_tmp248 = & status;
15406#line 1772
15407 __cil_tmp249 = *__cil_tmp248;
15408#line 1772
15409 tmp___25 = map_word_bitsset(map, __cil_tmp249, tmp___24);
15410 }
15411#line 1772
15412 if (tmp___25) {
15413 {
15414#line 1773
15415 __cil_tmp250 = & status;
15416#line 1773
15417 __cil_tmp251 = *__cil_tmp250;
15418#line 1773
15419 tmp___21 = cfi_merge_status(__cil_tmp251, map, cfi);
15420#line 1773
15421 chipstatus = tmp___21;
15422#line 1776
15423 __cil_tmp252 = (u_long )80;
15424#line 1776
15425 tmp___22 = cfi_build_cmd(__cil_tmp252, map, cfi);
15426#line 1776
15427 __cil_tmp253 = (unsigned long )map;
15428#line 1776
15429 __cil_tmp254 = __cil_tmp253 + 64;
15430#line 1776
15431 __cil_tmp255 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp254);
15432#line 1776
15433 __cil_tmp256 = (map_word )tmp___22;
15434#line 1776
15435 (*__cil_tmp255)(map, __cil_tmp256, cmd_adr);
15436#line 1777
15437 __cil_tmp257 = (u_long )112;
15438#line 1777
15439 tmp___23 = cfi_build_cmd(__cil_tmp257, map, cfi);
15440#line 1777
15441 __cil_tmp258 = (unsigned long )map;
15442#line 1777
15443 __cil_tmp259 = __cil_tmp258 + 64;
15444#line 1777
15445 __cil_tmp260 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp259);
15446#line 1777
15447 __cil_tmp261 = (map_word )tmp___23;
15448#line 1777
15449 (*__cil_tmp260)(map, __cil_tmp261, cmd_adr);
15450 }
15451#line 1780
15452 if (chipstatus & 2UL) {
15453#line 1781
15454 ret = -30;
15455 } else
15456#line 1782
15457 if (chipstatus & 8UL) {
15458 {
15459#line 1783
15460 __cil_tmp262 = *((char **)map);
15461#line 1783
15462 printk("<3>%s: buffer write error (bad VPP)\n", __cil_tmp262);
15463#line 1784
15464 ret = -5;
15465 }
15466 } else {
15467 {
15468#line 1786
15469 __cil_tmp263 = *((char **)map);
15470#line 1786
15471 printk("<3>%s: buffer write error (status 0x%lx)\n", __cil_tmp263, chipstatus);
15472#line 1787
15473 ret = -22;
15474 }
15475 }
15476#line 1790
15477 goto out;
15478 } else {
15479
15480 }
15481 out:
15482 {
15483#line 1794
15484 while (1) {
15485 while_continue___1: ;
15486 {
15487#line 1794
15488 __cil_tmp264 = (unsigned long )map;
15489#line 1794
15490 __cil_tmp265 = __cil_tmp264 + 88;
15491#line 1794
15492 if (*((void (**)(struct map_info * , int ))__cil_tmp265)) {
15493 {
15494#line 1794
15495 __cil_tmp266 = (unsigned long )map;
15496#line 1794
15497 __cil_tmp267 = __cil_tmp266 + 88;
15498#line 1794
15499 __cil_tmp268 = *((void (**)(struct map_info * , int ))__cil_tmp267);
15500#line 1794
15501 (*__cil_tmp268)(map, 0);
15502 }
15503 } else {
15504
15505 }
15506 }
15507#line 1794
15508 goto while_break___1;
15509 }
15510 while_break___1: ;
15511 }
15512 {
15513#line 1795
15514 put_chip(map, chip, cmd_adr);
15515#line 1796
15516 __cil_tmp269 = (unsigned long )chip;
15517#line 1796
15518 __cil_tmp270 = __cil_tmp269 + 32;
15519#line 1796
15520 __cil_tmp271 = (struct mutex *)__cil_tmp270;
15521#line 1796
15522 mutex_unlock(__cil_tmp271);
15523 }
15524#line 1797
15525 return (ret);
15526}
15527}
15528#line 1800 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
15529static int cfi_intelext_writev(struct mtd_info *mtd , struct kvec *vecs ,
15530 unsigned long count , loff_t to , size_t *retlen )
15531{ struct map_info *map ;
15532 struct cfi_private *cfi ;
15533 int wbufsize ;
15534 int ret ;
15535 int chipnum ;
15536 unsigned long ofs ;
15537 unsigned long vec_seek ;
15538 unsigned long i ;
15539 size_t len ;
15540 int size ;
15541 unsigned long __cil_tmp16 ;
15542 unsigned long __cil_tmp17 ;
15543 void *__cil_tmp18 ;
15544 unsigned long __cil_tmp19 ;
15545 unsigned long __cil_tmp20 ;
15546 void *__cil_tmp21 ;
15547 unsigned long __cil_tmp22 ;
15548 unsigned long __cil_tmp23 ;
15549 struct cfi_ident *__cil_tmp24 ;
15550 unsigned long __cil_tmp25 ;
15551 unsigned long __cil_tmp26 ;
15552 uint16_t __cil_tmp27 ;
15553 int __cil_tmp28 ;
15554 unsigned long __cil_tmp29 ;
15555 unsigned long __cil_tmp30 ;
15556 int __cil_tmp31 ;
15557 struct kvec **__cil_tmp32 ;
15558 struct kvec *__cil_tmp33 ;
15559 struct kvec *__cil_tmp34 ;
15560 unsigned long __cil_tmp35 ;
15561 unsigned long __cil_tmp36 ;
15562 size_t __cil_tmp37 ;
15563 size_t __cil_tmp38 ;
15564 unsigned long __cil_tmp39 ;
15565 unsigned long __cil_tmp40 ;
15566 unsigned long __cil_tmp41 ;
15567 loff_t __cil_tmp42 ;
15568 unsigned long __cil_tmp43 ;
15569 unsigned long __cil_tmp44 ;
15570 unsigned long __cil_tmp45 ;
15571 int __cil_tmp46 ;
15572 loff_t __cil_tmp47 ;
15573 loff_t __cil_tmp48 ;
15574 unsigned long *__cil_tmp49 ;
15575 int __cil_tmp50 ;
15576 unsigned long __cil_tmp51 ;
15577 unsigned long __cil_tmp52 ;
15578 unsigned long __cil_tmp53 ;
15579 unsigned long __cil_tmp54 ;
15580 size_t __cil_tmp55 ;
15581 unsigned long __cil_tmp56 ;
15582 unsigned long __cil_tmp57 ;
15583 unsigned long __cil_tmp58 ;
15584 unsigned long __cil_tmp59 ;
15585 struct flchip *__cil_tmp60 ;
15586 unsigned long __cil_tmp61 ;
15587 size_t __cil_tmp62 ;
15588 size_t __cil_tmp63 ;
15589 size_t __cil_tmp64 ;
15590 unsigned long __cil_tmp65 ;
15591 unsigned long __cil_tmp66 ;
15592 unsigned long __cil_tmp67 ;
15593 unsigned long __cil_tmp68 ;
15594 unsigned long __cil_tmp69 ;
15595 int __cil_tmp70 ;
15596
15597 {
15598#line 1803
15599 __cil_tmp16 = (unsigned long )mtd;
15600#line 1803
15601 __cil_tmp17 = __cil_tmp16 + 360;
15602#line 1803
15603 __cil_tmp18 = *((void **)__cil_tmp17);
15604#line 1803
15605 map = (struct map_info *)__cil_tmp18;
15606#line 1804
15607 __cil_tmp19 = (unsigned long )map;
15608#line 1804
15609 __cil_tmp20 = __cil_tmp19 + 120;
15610#line 1804
15611 __cil_tmp21 = *((void **)__cil_tmp20);
15612#line 1804
15613 cfi = (struct cfi_private *)__cil_tmp21;
15614#line 1805
15615 __cil_tmp22 = (unsigned long )cfi;
15616#line 1805
15617 __cil_tmp23 = __cil_tmp22 + 48;
15618#line 1805
15619 __cil_tmp24 = *((struct cfi_ident **)__cil_tmp23);
15620#line 1805
15621 __cil_tmp25 = (unsigned long )__cil_tmp24;
15622#line 1805
15623 __cil_tmp26 = __cil_tmp25 + 26;
15624#line 1805
15625 __cil_tmp27 = *((uint16_t *)__cil_tmp26);
15626#line 1805
15627 __cil_tmp28 = (int )__cil_tmp27;
15628#line 1805
15629 __cil_tmp29 = (unsigned long )cfi;
15630#line 1805
15631 __cil_tmp30 = __cil_tmp29 + 16;
15632#line 1805
15633 __cil_tmp31 = *((int *)__cil_tmp30);
15634#line 1805
15635 wbufsize = __cil_tmp31 << __cil_tmp28;
15636#line 1806
15637 ret = 0;
15638#line 1809
15639 len = (size_t )0;
15640#line 1811
15641 i = 0UL;
15642 {
15643#line 1811
15644 while (1) {
15645 while_continue: ;
15646#line 1811
15647 if (i < count) {
15648
15649 } else {
15650#line 1811
15651 goto while_break;
15652 }
15653#line 1812
15654 __cil_tmp32 = & vecs;
15655#line 1812
15656 __cil_tmp33 = *__cil_tmp32;
15657#line 1812
15658 __cil_tmp34 = __cil_tmp33 + i;
15659#line 1812
15660 __cil_tmp35 = (unsigned long )__cil_tmp34;
15661#line 1812
15662 __cil_tmp36 = __cil_tmp35 + 8;
15663#line 1812
15664 __cil_tmp37 = *((size_t *)__cil_tmp36);
15665#line 1812
15666 __cil_tmp38 = (size_t )__cil_tmp37;
15667#line 1812
15668 len = len + __cil_tmp38;
15669#line 1811
15670 i = i + 1UL;
15671 }
15672 while_break: ;
15673 }
15674#line 1814
15675 if (! len) {
15676#line 1815
15677 return (0);
15678 } else {
15679
15680 }
15681#line 1817
15682 __cil_tmp39 = (unsigned long )cfi;
15683#line 1817
15684 __cil_tmp40 = __cil_tmp39 + 104;
15685#line 1817
15686 __cil_tmp41 = *((unsigned long *)__cil_tmp40);
15687#line 1817
15688 __cil_tmp42 = to >> __cil_tmp41;
15689#line 1817
15690 chipnum = (int )__cil_tmp42;
15691#line 1818
15692 __cil_tmp43 = (unsigned long )cfi;
15693#line 1818
15694 __cil_tmp44 = __cil_tmp43 + 104;
15695#line 1818
15696 __cil_tmp45 = *((unsigned long *)__cil_tmp44);
15697#line 1818
15698 __cil_tmp46 = chipnum << __cil_tmp45;
15699#line 1818
15700 __cil_tmp47 = (loff_t )__cil_tmp46;
15701#line 1818
15702 __cil_tmp48 = to - __cil_tmp47;
15703#line 1818
15704 ofs = (unsigned long )__cil_tmp48;
15705#line 1819
15706 __cil_tmp49 = & vec_seek;
15707#line 1819
15708 *__cil_tmp49 = 0UL;
15709 {
15710#line 1821
15711 while (1) {
15712 while_continue___0: ;
15713#line 1823
15714 __cil_tmp50 = wbufsize - 1;
15715#line 1823
15716 __cil_tmp51 = (unsigned long )__cil_tmp50;
15717#line 1823
15718 __cil_tmp52 = ofs & __cil_tmp51;
15719#line 1823
15720 __cil_tmp53 = (unsigned long )wbufsize;
15721#line 1823
15722 __cil_tmp54 = __cil_tmp53 - __cil_tmp52;
15723#line 1823
15724 size = (int )__cil_tmp54;
15725 {
15726#line 1825
15727 __cil_tmp55 = (size_t )size;
15728#line 1825
15729 if (__cil_tmp55 > len) {
15730#line 1826
15731 size = (int )len;
15732 } else {
15733
15734 }
15735 }
15736 {
15737#line 1827
15738 __cil_tmp56 = chipnum * 176UL;
15739#line 1827
15740 __cil_tmp57 = 120 + __cil_tmp56;
15741#line 1827
15742 __cil_tmp58 = (unsigned long )cfi;
15743#line 1827
15744 __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
15745#line 1827
15746 __cil_tmp60 = (struct flchip *)__cil_tmp59;
15747#line 1827
15748 ret = do_write_buffer(map, __cil_tmp60, ofs, & vecs, & vec_seek, size);
15749 }
15750#line 1829
15751 if (ret) {
15752#line 1830
15753 return (ret);
15754 } else {
15755
15756 }
15757#line 1832
15758 __cil_tmp61 = (unsigned long )size;
15759#line 1832
15760 ofs = ofs + __cil_tmp61;
15761#line 1833
15762 __cil_tmp62 = (size_t )size;
15763#line 1833
15764 __cil_tmp63 = *retlen;
15765#line 1833
15766 *retlen = __cil_tmp63 + __cil_tmp62;
15767#line 1834
15768 __cil_tmp64 = (size_t )size;
15769#line 1834
15770 len = len - __cil_tmp64;
15771 {
15772#line 1836
15773 __cil_tmp65 = (unsigned long )cfi;
15774#line 1836
15775 __cil_tmp66 = __cil_tmp65 + 104;
15776#line 1836
15777 __cil_tmp67 = *((unsigned long *)__cil_tmp66);
15778#line 1836
15779 if (ofs >> __cil_tmp67) {
15780#line 1837
15781 chipnum = chipnum + 1;
15782#line 1838
15783 ofs = 0UL;
15784 {
15785#line 1839
15786 __cil_tmp68 = (unsigned long )cfi;
15787#line 1839
15788 __cil_tmp69 = __cil_tmp68 + 64;
15789#line 1839
15790 __cil_tmp70 = *((int *)__cil_tmp69);
15791#line 1839
15792 if (chipnum == __cil_tmp70) {
15793#line 1840
15794 return (0);
15795 } else {
15796
15797 }
15798 }
15799 } else {
15800
15801 }
15802 }
15803 {
15804#line 1845
15805 __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c",
15806 1845, 0);
15807#line 1845
15808 _cond_resched();
15809 }
15810#line 1821
15811 if (len) {
15812
15813 } else {
15814#line 1821
15815 goto while_break___0;
15816 }
15817 }
15818 while_break___0: ;
15819 }
15820#line 1849
15821 return (0);
15822}
15823}
15824#line 1852 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
15825static int cfi_intelext_write_buffers(struct mtd_info *mtd , loff_t to , size_t len ,
15826 size_t *retlen , u_char *buf )
15827{ struct kvec vec ;
15828 int tmp___7 ;
15829 struct kvec *__cil_tmp8 ;
15830 unsigned long __cil_tmp9 ;
15831 struct kvec *__cil_tmp10 ;
15832
15833 {
15834 {
15835#line 1857
15836 __cil_tmp8 = & vec;
15837#line 1857
15838 *((void **)__cil_tmp8) = (void *)buf;
15839#line 1858
15840 __cil_tmp9 = (unsigned long )(& vec) + 8;
15841#line 1858
15842 *((size_t *)__cil_tmp9) = len;
15843#line 1860
15844 __cil_tmp10 = (struct kvec *)(& vec);
15845#line 1860
15846 tmp___7 = cfi_intelext_writev(mtd, __cil_tmp10, 1UL, to, retlen);
15847 }
15848#line 1860
15849 return (tmp___7);
15850}
15851}
15852#line 1863 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
15853static int do_erase_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
15854 int len , void *thunk )
15855{ struct cfi_private *cfi ;
15856 map_word status ;
15857 int retries ;
15858 int ret ;
15859 map_word tmp___7 ;
15860 map_word tmp___8 ;
15861 map_word tmp___9 ;
15862 map_word tmp___10 ;
15863 map_word tmp___11 ;
15864 unsigned long chipstatus ;
15865 unsigned long tmp___12 ;
15866 map_word tmp___13 ;
15867 map_word tmp___14 ;
15868 int tmp___15 ;
15869 map_word tmp___16 ;
15870 int tmp___17 ;
15871 unsigned long __cil_tmp22 ;
15872 unsigned long __cil_tmp23 ;
15873 void *__cil_tmp24 ;
15874 unsigned long __cil_tmp25 ;
15875 unsigned long __cil_tmp26 ;
15876 unsigned long __cil_tmp27 ;
15877 struct mutex *__cil_tmp28 ;
15878 unsigned long __cil_tmp29 ;
15879 unsigned long __cil_tmp30 ;
15880 struct mutex *__cil_tmp31 ;
15881 unsigned long __cil_tmp32 ;
15882 unsigned long __cil_tmp33 ;
15883 unsigned long __cil_tmp34 ;
15884 unsigned long __cil_tmp35 ;
15885 void (*__cil_tmp36)(struct map_info * , int ) ;
15886 u_long __cil_tmp37 ;
15887 unsigned long __cil_tmp38 ;
15888 unsigned long __cil_tmp39 ;
15889 void (*__cil_tmp40)(struct map_info * , map_word , unsigned long ) ;
15890 map_word __cil_tmp41 ;
15891 u_long __cil_tmp42 ;
15892 unsigned long __cil_tmp43 ;
15893 unsigned long __cil_tmp44 ;
15894 void (*__cil_tmp45)(struct map_info * , map_word , unsigned long ) ;
15895 map_word __cil_tmp46 ;
15896 u_long __cil_tmp47 ;
15897 unsigned long __cil_tmp48 ;
15898 unsigned long __cil_tmp49 ;
15899 void (*__cil_tmp50)(struct map_info * , map_word , unsigned long ) ;
15900 map_word __cil_tmp51 ;
15901 unsigned long __cil_tmp52 ;
15902 unsigned long __cil_tmp53 ;
15903 unsigned long __cil_tmp54 ;
15904 unsigned long __cil_tmp55 ;
15905 int __cil_tmp56 ;
15906 unsigned int __cil_tmp57 ;
15907 unsigned long __cil_tmp58 ;
15908 unsigned long __cil_tmp59 ;
15909 int __cil_tmp60 ;
15910 unsigned int __cil_tmp61 ;
15911 u_long __cil_tmp62 ;
15912 unsigned long __cil_tmp63 ;
15913 unsigned long __cil_tmp64 ;
15914 void (*__cil_tmp65)(struct map_info * , map_word , unsigned long ) ;
15915 map_word __cil_tmp66 ;
15916 unsigned long __cil_tmp67 ;
15917 unsigned long __cil_tmp68 ;
15918 char *__cil_tmp69 ;
15919 u_long __cil_tmp70 ;
15920 unsigned long __cil_tmp71 ;
15921 unsigned long __cil_tmp72 ;
15922 void (*__cil_tmp73)(struct map_info * , map_word , unsigned long ) ;
15923 map_word __cil_tmp74 ;
15924 unsigned long __cil_tmp75 ;
15925 unsigned long __cil_tmp76 ;
15926 unsigned long __cil_tmp77 ;
15927 unsigned long __cil_tmp78 ;
15928 map_word (*__cil_tmp79)(struct map_info * , unsigned long ) ;
15929 u_long __cil_tmp80 ;
15930 u_long __cil_tmp81 ;
15931 unsigned long __cil_tmp82 ;
15932 unsigned long __cil_tmp83 ;
15933 void (*__cil_tmp84)(struct map_info * , map_word , unsigned long ) ;
15934 map_word __cil_tmp85 ;
15935 u_long __cil_tmp86 ;
15936 unsigned long __cil_tmp87 ;
15937 unsigned long __cil_tmp88 ;
15938 void (*__cil_tmp89)(struct map_info * , map_word , unsigned long ) ;
15939 map_word __cil_tmp90 ;
15940 unsigned long __cil_tmp91 ;
15941 char *__cil_tmp92 ;
15942 char *__cil_tmp93 ;
15943 unsigned long __cil_tmp94 ;
15944 unsigned long __cil_tmp95 ;
15945 unsigned long __cil_tmp96 ;
15946 unsigned long __cil_tmp97 ;
15947 void (*__cil_tmp98)(struct map_info * , int ) ;
15948 unsigned long __cil_tmp99 ;
15949 unsigned long __cil_tmp100 ;
15950 struct mutex *__cil_tmp101 ;
15951 char *__cil_tmp102 ;
15952 char *__cil_tmp103 ;
15953 unsigned long __cil_tmp104 ;
15954 unsigned long __cil_tmp105 ;
15955 unsigned long __cil_tmp106 ;
15956 unsigned long __cil_tmp107 ;
15957 void (*__cil_tmp108)(struct map_info * , int ) ;
15958 unsigned long __cil_tmp109 ;
15959 unsigned long __cil_tmp110 ;
15960 struct mutex *__cil_tmp111 ;
15961
15962 {
15963#line 1866
15964 __cil_tmp22 = (unsigned long )map;
15965#line 1866
15966 __cil_tmp23 = __cil_tmp22 + 120;
15967#line 1866
15968 __cil_tmp24 = *((void **)__cil_tmp23);
15969#line 1866
15970 cfi = (struct cfi_private *)__cil_tmp24;
15971#line 1868
15972 retries = 3;
15973#line 1871
15974 __cil_tmp25 = *((unsigned long *)chip);
15975#line 1871
15976 adr = adr + __cil_tmp25;
15977 retry:
15978 {
15979#line 1874
15980 __cil_tmp26 = (unsigned long )chip;
15981#line 1874
15982 __cil_tmp27 = __cil_tmp26 + 32;
15983#line 1874
15984 __cil_tmp28 = (struct mutex *)__cil_tmp27;
15985#line 1874
15986 mutex_lock(__cil_tmp28);
15987#line 1875
15988 ret = get_chip(map, chip, adr, 4);
15989 }
15990#line 1876
15991 if (ret) {
15992 {
15993#line 1877
15994 __cil_tmp29 = (unsigned long )chip;
15995#line 1877
15996 __cil_tmp30 = __cil_tmp29 + 32;
15997#line 1877
15998 __cil_tmp31 = (struct mutex *)__cil_tmp30;
15999#line 1877
16000 mutex_unlock(__cil_tmp31);
16001 }
16002#line 1878
16003 return (ret);
16004 } else {
16005
16006 }
16007 {
16008#line 1882
16009 while (1) {
16010 while_continue: ;
16011 {
16012#line 1882
16013 __cil_tmp32 = (unsigned long )map;
16014#line 1882
16015 __cil_tmp33 = __cil_tmp32 + 88;
16016#line 1882
16017 if (*((void (**)(struct map_info * , int ))__cil_tmp33)) {
16018 {
16019#line 1882
16020 __cil_tmp34 = (unsigned long )map;
16021#line 1882
16022 __cil_tmp35 = __cil_tmp34 + 88;
16023#line 1882
16024 __cil_tmp36 = *((void (**)(struct map_info * , int ))__cil_tmp35);
16025#line 1882
16026 (*__cil_tmp36)(map, 1);
16027 }
16028 } else {
16029
16030 }
16031 }
16032#line 1882
16033 goto while_break;
16034 }
16035 while_break: ;
16036 }
16037 {
16038#line 1886
16039 __cil_tmp37 = (u_long )80;
16040#line 1886
16041 tmp___7 = cfi_build_cmd(__cil_tmp37, map, cfi);
16042#line 1886
16043 __cil_tmp38 = (unsigned long )map;
16044#line 1886
16045 __cil_tmp39 = __cil_tmp38 + 64;
16046#line 1886
16047 __cil_tmp40 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp39);
16048#line 1886
16049 __cil_tmp41 = (map_word )tmp___7;
16050#line 1886
16051 (*__cil_tmp40)(map, __cil_tmp41, adr);
16052#line 1889
16053 __cil_tmp42 = (u_long )32;
16054#line 1889
16055 tmp___8 = cfi_build_cmd(__cil_tmp42, map, cfi);
16056#line 1889
16057 __cil_tmp43 = (unsigned long )map;
16058#line 1889
16059 __cil_tmp44 = __cil_tmp43 + 64;
16060#line 1889
16061 __cil_tmp45 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp44);
16062#line 1889
16063 __cil_tmp46 = (map_word )tmp___8;
16064#line 1889
16065 (*__cil_tmp45)(map, __cil_tmp46, adr);
16066#line 1890
16067 __cil_tmp47 = (u_long )208;
16068#line 1890
16069 tmp___9 = cfi_build_cmd(__cil_tmp47, map, cfi);
16070#line 1890
16071 __cil_tmp48 = (unsigned long )map;
16072#line 1890
16073 __cil_tmp49 = __cil_tmp48 + 64;
16074#line 1890
16075 __cil_tmp50 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp49);
16076#line 1890
16077 __cil_tmp51 = (map_word )tmp___9;
16078#line 1890
16079 (*__cil_tmp50)(map, __cil_tmp51, adr);
16080#line 1891
16081 __cil_tmp52 = (unsigned long )chip;
16082#line 1891
16083 __cil_tmp53 = __cil_tmp52 + 12;
16084#line 1891
16085 *((flstate_t *)__cil_tmp53) = (flstate_t )4;
16086#line 1892
16087 chip->erase_suspended = 0U;
16088#line 1894
16089 __cil_tmp54 = (unsigned long )chip;
16090#line 1894
16091 __cil_tmp55 = __cil_tmp54 + 152;
16092#line 1894
16093 __cil_tmp56 = *((int *)__cil_tmp55);
16094#line 1894
16095 __cil_tmp57 = (unsigned int )__cil_tmp56;
16096#line 1894
16097 __cil_tmp58 = (unsigned long )chip;
16098#line 1894
16099 __cil_tmp59 = __cil_tmp58 + 164;
16100#line 1894
16101 __cil_tmp60 = *((int *)__cil_tmp59);
16102#line 1894
16103 __cil_tmp61 = (unsigned int )__cil_tmp60;
16104#line 1894
16105 ret = inval_cache_and_wait_for_operation(map, chip, adr, adr, len, __cil_tmp57,
16106 __cil_tmp61);
16107 }
16108#line 1898
16109 if (ret) {
16110 {
16111#line 1899
16112 __cil_tmp62 = (u_long )112;
16113#line 1899
16114 tmp___10 = cfi_build_cmd(__cil_tmp62, map, cfi);
16115#line 1899
16116 __cil_tmp63 = (unsigned long )map;
16117#line 1899
16118 __cil_tmp64 = __cil_tmp63 + 64;
16119#line 1899
16120 __cil_tmp65 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp64);
16121#line 1899
16122 __cil_tmp66 = (map_word )tmp___10;
16123#line 1899
16124 (*__cil_tmp65)(map, __cil_tmp66, adr);
16125#line 1900
16126 __cil_tmp67 = (unsigned long )chip;
16127#line 1900
16128 __cil_tmp68 = __cil_tmp67 + 12;
16129#line 1900
16130 *((flstate_t *)__cil_tmp68) = (flstate_t )1;
16131#line 1902
16132 __cil_tmp69 = *((char **)map);
16133#line 1902
16134 printk("<3>%s: block erase error: (status timeout)\n", __cil_tmp69);
16135 }
16136#line 1903
16137 goto out;
16138 } else {
16139
16140 }
16141 {
16142#line 1907
16143 __cil_tmp70 = (u_long )112;
16144#line 1907
16145 tmp___11 = cfi_build_cmd(__cil_tmp70, map, cfi);
16146#line 1907
16147 __cil_tmp71 = (unsigned long )map;
16148#line 1907
16149 __cil_tmp72 = __cil_tmp71 + 64;
16150#line 1907
16151 __cil_tmp73 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp72);
16152#line 1907
16153 __cil_tmp74 = (map_word )tmp___11;
16154#line 1907
16155 (*__cil_tmp73)(map, __cil_tmp74, adr);
16156#line 1908
16157 __cil_tmp75 = (unsigned long )chip;
16158#line 1908
16159 __cil_tmp76 = __cil_tmp75 + 12;
16160#line 1908
16161 *((flstate_t *)__cil_tmp76) = (flstate_t )1;
16162#line 1909
16163 __cil_tmp77 = (unsigned long )map;
16164#line 1909
16165 __cil_tmp78 = __cil_tmp77 + 48;
16166#line 1909
16167 __cil_tmp79 = *((map_word (**)(struct map_info * , unsigned long ))__cil_tmp78);
16168#line 1909
16169 status = (*__cil_tmp79)(map, adr);
16170#line 1912
16171 __cil_tmp80 = (u_long )58;
16172#line 1912
16173 tmp___16 = cfi_build_cmd(__cil_tmp80, map, cfi);
16174#line 1912
16175 tmp___17 = map_word_bitsset(map, status, tmp___16);
16176 }
16177#line 1912
16178 if (tmp___17) {
16179 {
16180#line 1913
16181 tmp___12 = cfi_merge_status(status, map, cfi);
16182#line 1913
16183 chipstatus = tmp___12;
16184#line 1916
16185 __cil_tmp81 = (u_long )80;
16186#line 1916
16187 tmp___13 = cfi_build_cmd(__cil_tmp81, map, cfi);
16188#line 1916
16189 __cil_tmp82 = (unsigned long )map;
16190#line 1916
16191 __cil_tmp83 = __cil_tmp82 + 64;
16192#line 1916
16193 __cil_tmp84 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp83);
16194#line 1916
16195 __cil_tmp85 = (map_word )tmp___13;
16196#line 1916
16197 (*__cil_tmp84)(map, __cil_tmp85, adr);
16198#line 1917
16199 __cil_tmp86 = (u_long )112;
16200#line 1917
16201 tmp___14 = cfi_build_cmd(__cil_tmp86, map, cfi);
16202#line 1917
16203 __cil_tmp87 = (unsigned long )map;
16204#line 1917
16205 __cil_tmp88 = __cil_tmp87 + 64;
16206#line 1917
16207 __cil_tmp89 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp88);
16208#line 1917
16209 __cil_tmp90 = (map_word )tmp___14;
16210#line 1917
16211 (*__cil_tmp89)(map, __cil_tmp90, adr);
16212 }
16213 {
16214#line 1920
16215 __cil_tmp91 = chipstatus & 48UL;
16216#line 1920
16217 if (__cil_tmp91 == 48UL) {
16218 {
16219#line 1921
16220 __cil_tmp92 = *((char **)map);
16221#line 1921
16222 printk("<3>%s: block erase error: (bad command sequence, status 0x%lx)\n", __cil_tmp92,
16223 chipstatus);
16224#line 1922
16225 ret = -22;
16226 }
16227 } else
16228#line 1923
16229 if (chipstatus & 2UL) {
16230#line 1925
16231 ret = -30;
16232 } else
16233#line 1926
16234 if (chipstatus & 8UL) {
16235 {
16236#line 1928
16237 __cil_tmp93 = *((char **)map);
16238#line 1928
16239 printk("<3>%s: block erase error: (bad VPP)\n", __cil_tmp93);
16240#line 1929
16241 ret = -5;
16242 }
16243 } else
16244#line 1930
16245 if (chipstatus & 32UL) {
16246#line 1930
16247 tmp___15 = retries;
16248#line 1930
16249 retries = retries - 1;
16250#line 1930
16251 if (tmp___15) {
16252 {
16253#line 1931
16254 printk("<7>block erase failed at 0x%08lx: status 0x%lx. Retrying...\n", adr,
16255 chipstatus);
16256 }
16257 {
16258#line 1932
16259 while (1) {
16260 while_continue___0: ;
16261 {
16262#line 1932
16263 __cil_tmp94 = (unsigned long )map;
16264#line 1932
16265 __cil_tmp95 = __cil_tmp94 + 88;
16266#line 1932
16267 if (*((void (**)(struct map_info * , int ))__cil_tmp95)) {
16268 {
16269#line 1932
16270 __cil_tmp96 = (unsigned long )map;
16271#line 1932
16272 __cil_tmp97 = __cil_tmp96 + 88;
16273#line 1932
16274 __cil_tmp98 = *((void (**)(struct map_info * , int ))__cil_tmp97);
16275#line 1932
16276 (*__cil_tmp98)(map, 0);
16277 }
16278 } else {
16279
16280 }
16281 }
16282#line 1932
16283 goto while_break___0;
16284 }
16285 while_break___0: ;
16286 }
16287 {
16288#line 1933
16289 put_chip(map, chip, adr);
16290#line 1934
16291 __cil_tmp99 = (unsigned long )chip;
16292#line 1934
16293 __cil_tmp100 = __cil_tmp99 + 32;
16294#line 1934
16295 __cil_tmp101 = (struct mutex *)__cil_tmp100;
16296#line 1934
16297 mutex_unlock(__cil_tmp101);
16298 }
16299#line 1935
16300 goto retry;
16301 } else {
16302 {
16303#line 1937
16304 __cil_tmp102 = *((char **)map);
16305#line 1937
16306 printk("<3>%s: block erase failed at 0x%08lx (status 0x%lx)\n", __cil_tmp102,
16307 adr, chipstatus);
16308#line 1938
16309 ret = -5;
16310 }
16311 }
16312 } else {
16313 {
16314#line 1937
16315 __cil_tmp103 = *((char **)map);
16316#line 1937
16317 printk("<3>%s: block erase failed at 0x%08lx (status 0x%lx)\n", __cil_tmp103,
16318 adr, chipstatus);
16319#line 1938
16320 ret = -5;
16321 }
16322 }
16323 }
16324#line 1941
16325 goto out;
16326 } else {
16327
16328 }
16329 out:
16330 {
16331#line 1945
16332 while (1) {
16333 while_continue___1: ;
16334 {
16335#line 1945
16336 __cil_tmp104 = (unsigned long )map;
16337#line 1945
16338 __cil_tmp105 = __cil_tmp104 + 88;
16339#line 1945
16340 if (*((void (**)(struct map_info * , int ))__cil_tmp105)) {
16341 {
16342#line 1945
16343 __cil_tmp106 = (unsigned long )map;
16344#line 1945
16345 __cil_tmp107 = __cil_tmp106 + 88;
16346#line 1945
16347 __cil_tmp108 = *((void (**)(struct map_info * , int ))__cil_tmp107);
16348#line 1945
16349 (*__cil_tmp108)(map, 0);
16350 }
16351 } else {
16352
16353 }
16354 }
16355#line 1945
16356 goto while_break___1;
16357 }
16358 while_break___1: ;
16359 }
16360 {
16361#line 1946
16362 put_chip(map, chip, adr);
16363#line 1947
16364 __cil_tmp109 = (unsigned long )chip;
16365#line 1947
16366 __cil_tmp110 = __cil_tmp109 + 32;
16367#line 1947
16368 __cil_tmp111 = (struct mutex *)__cil_tmp110;
16369#line 1947
16370 mutex_unlock(__cil_tmp111);
16371 }
16372#line 1948
16373 return (ret);
16374}
16375}
16376#line 1951 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16377static int cfi_intelext_erase_varsize(struct mtd_info *mtd , struct erase_info *instr )
16378{ unsigned long ofs ;
16379 unsigned long len ;
16380 int ret ;
16381 unsigned long __cil_tmp6 ;
16382 unsigned long __cil_tmp7 ;
16383 uint64_t __cil_tmp8 ;
16384 unsigned long __cil_tmp9 ;
16385 unsigned long __cil_tmp10 ;
16386 uint64_t __cil_tmp11 ;
16387 loff_t __cil_tmp12 ;
16388 void *__cil_tmp13 ;
16389 unsigned long __cil_tmp14 ;
16390 unsigned long __cil_tmp15 ;
16391
16392 {
16393 {
16394#line 1956
16395 __cil_tmp6 = (unsigned long )instr;
16396#line 1956
16397 __cil_tmp7 = __cil_tmp6 + 8;
16398#line 1956
16399 __cil_tmp8 = *((uint64_t *)__cil_tmp7);
16400#line 1956
16401 ofs = (unsigned long )__cil_tmp8;
16402#line 1957
16403 __cil_tmp9 = (unsigned long )instr;
16404#line 1957
16405 __cil_tmp10 = __cil_tmp9 + 16;
16406#line 1957
16407 __cil_tmp11 = *((uint64_t *)__cil_tmp10);
16408#line 1957
16409 len = (unsigned long )__cil_tmp11;
16410#line 1959
16411 __cil_tmp12 = (loff_t )ofs;
16412#line 1959
16413 __cil_tmp13 = (void *)0;
16414#line 1959
16415 ret = cfi_varsize_frob(mtd, & do_erase_oneblock, __cil_tmp12, len, __cil_tmp13);
16416 }
16417#line 1960
16418 if (ret) {
16419#line 1961
16420 return (ret);
16421 } else {
16422
16423 }
16424 {
16425#line 1963
16426 __cil_tmp14 = (unsigned long )instr;
16427#line 1963
16428 __cil_tmp15 = __cil_tmp14 + 72;
16429#line 1963
16430 *((u_char *)__cil_tmp15) = (u_char )8;
16431#line 1964
16432 mtd_erase_callback(instr);
16433 }
16434#line 1966
16435 return (0);
16436}
16437}
16438#line 1969 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16439static void cfi_intelext_sync(struct mtd_info *mtd )
16440{ struct map_info *map ;
16441 struct cfi_private *cfi ;
16442 int i ;
16443 struct flchip *chip ;
16444 int ret ;
16445 unsigned long __cil_tmp7 ;
16446 unsigned long __cil_tmp8 ;
16447 void *__cil_tmp9 ;
16448 unsigned long __cil_tmp10 ;
16449 unsigned long __cil_tmp11 ;
16450 void *__cil_tmp12 ;
16451 unsigned long __cil_tmp13 ;
16452 unsigned long __cil_tmp14 ;
16453 int __cil_tmp15 ;
16454 unsigned long __cil_tmp16 ;
16455 unsigned long __cil_tmp17 ;
16456 unsigned long __cil_tmp18 ;
16457 unsigned long __cil_tmp19 ;
16458 unsigned long __cil_tmp20 ;
16459 unsigned long __cil_tmp21 ;
16460 struct mutex *__cil_tmp22 ;
16461 unsigned long __cil_tmp23 ;
16462 unsigned long __cil_tmp24 ;
16463 unsigned long __cil_tmp25 ;
16464 unsigned long __cil_tmp26 ;
16465 unsigned long __cil_tmp27 ;
16466 unsigned long __cil_tmp28 ;
16467 unsigned long __cil_tmp29 ;
16468 unsigned long __cil_tmp30 ;
16469 unsigned long __cil_tmp31 ;
16470 struct mutex *__cil_tmp32 ;
16471 unsigned long __cil_tmp33 ;
16472 unsigned long __cil_tmp34 ;
16473 unsigned long __cil_tmp35 ;
16474 unsigned long __cil_tmp36 ;
16475 unsigned long __cil_tmp37 ;
16476 unsigned long __cil_tmp38 ;
16477 struct mutex *__cil_tmp39 ;
16478 unsigned long __cil_tmp40 ;
16479 unsigned long __cil_tmp41 ;
16480 flstate_t __cil_tmp42 ;
16481 unsigned int __cil_tmp43 ;
16482 unsigned long __cil_tmp44 ;
16483 unsigned long __cil_tmp45 ;
16484 unsigned long __cil_tmp46 ;
16485 unsigned long __cil_tmp47 ;
16486 unsigned long __cil_tmp48 ;
16487 unsigned long __cil_tmp49 ;
16488 unsigned long __cil_tmp50 ;
16489 unsigned long __cil_tmp51 ;
16490 wait_queue_head_t *__cil_tmp52 ;
16491 void *__cil_tmp53 ;
16492 unsigned long __cil_tmp54 ;
16493 unsigned long __cil_tmp55 ;
16494 struct mutex *__cil_tmp56 ;
16495
16496 {
16497#line 1971
16498 __cil_tmp7 = (unsigned long )mtd;
16499#line 1971
16500 __cil_tmp8 = __cil_tmp7 + 360;
16501#line 1971
16502 __cil_tmp9 = *((void **)__cil_tmp8);
16503#line 1971
16504 map = (struct map_info *)__cil_tmp9;
16505#line 1972
16506 __cil_tmp10 = (unsigned long )map;
16507#line 1972
16508 __cil_tmp11 = __cil_tmp10 + 120;
16509#line 1972
16510 __cil_tmp12 = *((void **)__cil_tmp11);
16511#line 1972
16512 cfi = (struct cfi_private *)__cil_tmp12;
16513#line 1975
16514 ret = 0;
16515#line 1977
16516 i = 0;
16517 {
16518#line 1977
16519 while (1) {
16520 while_continue: ;
16521#line 1977
16522 if (! ret) {
16523 {
16524#line 1977
16525 __cil_tmp13 = (unsigned long )cfi;
16526#line 1977
16527 __cil_tmp14 = __cil_tmp13 + 64;
16528#line 1977
16529 __cil_tmp15 = *((int *)__cil_tmp14);
16530#line 1977
16531 if (i < __cil_tmp15) {
16532
16533 } else {
16534#line 1977
16535 goto while_break;
16536 }
16537 }
16538 } else {
16539#line 1977
16540 goto while_break;
16541 }
16542 {
16543#line 1978
16544 __cil_tmp16 = i * 176UL;
16545#line 1978
16546 __cil_tmp17 = 120 + __cil_tmp16;
16547#line 1978
16548 __cil_tmp18 = (unsigned long )cfi;
16549#line 1978
16550 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
16551#line 1978
16552 chip = (struct flchip *)__cil_tmp19;
16553#line 1980
16554 __cil_tmp20 = (unsigned long )chip;
16555#line 1980
16556 __cil_tmp21 = __cil_tmp20 + 32;
16557#line 1980
16558 __cil_tmp22 = (struct mutex *)__cil_tmp21;
16559#line 1980
16560 mutex_lock(__cil_tmp22);
16561#line 1981
16562 __cil_tmp23 = *((unsigned long *)chip);
16563#line 1981
16564 ret = get_chip(map, chip, __cil_tmp23, 13);
16565 }
16566#line 1983
16567 if (! ret) {
16568#line 1984
16569 __cil_tmp24 = (unsigned long )chip;
16570#line 1984
16571 __cil_tmp25 = __cil_tmp24 + 16;
16572#line 1984
16573 __cil_tmp26 = (unsigned long )chip;
16574#line 1984
16575 __cil_tmp27 = __cil_tmp26 + 12;
16576#line 1984
16577 *((flstate_t *)__cil_tmp25) = *((flstate_t *)__cil_tmp27);
16578#line 1985
16579 __cil_tmp28 = (unsigned long )chip;
16580#line 1985
16581 __cil_tmp29 = __cil_tmp28 + 12;
16582#line 1985
16583 *((flstate_t *)__cil_tmp29) = (flstate_t )13;
16584 } else {
16585
16586 }
16587 {
16588#line 1991
16589 __cil_tmp30 = (unsigned long )chip;
16590#line 1991
16591 __cil_tmp31 = __cil_tmp30 + 32;
16592#line 1991
16593 __cil_tmp32 = (struct mutex *)__cil_tmp31;
16594#line 1991
16595 mutex_unlock(__cil_tmp32);
16596#line 1977
16597 i = i + 1;
16598 }
16599 }
16600 while_break: ;
16601 }
16602#line 1996
16603 i = i - 1;
16604 {
16605#line 1996
16606 while (1) {
16607 while_continue___0: ;
16608#line 1996
16609 if (i >= 0) {
16610
16611 } else {
16612#line 1996
16613 goto while_break___0;
16614 }
16615 {
16616#line 1997
16617 __cil_tmp33 = i * 176UL;
16618#line 1997
16619 __cil_tmp34 = 120 + __cil_tmp33;
16620#line 1997
16621 __cil_tmp35 = (unsigned long )cfi;
16622#line 1997
16623 __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
16624#line 1997
16625 chip = (struct flchip *)__cil_tmp36;
16626#line 1999
16627 __cil_tmp37 = (unsigned long )chip;
16628#line 1999
16629 __cil_tmp38 = __cil_tmp37 + 32;
16630#line 1999
16631 __cil_tmp39 = (struct mutex *)__cil_tmp38;
16632#line 1999
16633 mutex_lock(__cil_tmp39);
16634 }
16635 {
16636#line 2001
16637 __cil_tmp40 = (unsigned long )chip;
16638#line 2001
16639 __cil_tmp41 = __cil_tmp40 + 12;
16640#line 2001
16641 __cil_tmp42 = *((flstate_t *)__cil_tmp41);
16642#line 2001
16643 __cil_tmp43 = (unsigned int )__cil_tmp42;
16644#line 2001
16645 if (__cil_tmp43 == 13U) {
16646 {
16647#line 2002
16648 __cil_tmp44 = (unsigned long )chip;
16649#line 2002
16650 __cil_tmp45 = __cil_tmp44 + 12;
16651#line 2002
16652 __cil_tmp46 = (unsigned long )chip;
16653#line 2002
16654 __cil_tmp47 = __cil_tmp46 + 16;
16655#line 2002
16656 *((flstate_t *)__cil_tmp45) = *((flstate_t *)__cil_tmp47);
16657#line 2003
16658 __cil_tmp48 = (unsigned long )chip;
16659#line 2003
16660 __cil_tmp49 = __cil_tmp48 + 16;
16661#line 2003
16662 *((flstate_t *)__cil_tmp49) = (flstate_t )0;
16663#line 2004
16664 __cil_tmp50 = (unsigned long )chip;
16665#line 2004
16666 __cil_tmp51 = __cil_tmp50 + 104;
16667#line 2004
16668 __cil_tmp52 = (wait_queue_head_t *)__cil_tmp51;
16669#line 2004
16670 __cil_tmp53 = (void *)0;
16671#line 2004
16672 __wake_up(__cil_tmp52, 3U, 1, __cil_tmp53);
16673 }
16674 } else {
16675
16676 }
16677 }
16678 {
16679#line 2006
16680 __cil_tmp54 = (unsigned long )chip;
16681#line 2006
16682 __cil_tmp55 = __cil_tmp54 + 32;
16683#line 2006
16684 __cil_tmp56 = (struct mutex *)__cil_tmp55;
16685#line 2006
16686 mutex_unlock(__cil_tmp56);
16687#line 1996
16688 i = i - 1;
16689 }
16690 }
16691 while_break___0: ;
16692 }
16693#line 2008
16694 return;
16695}
16696}
16697#line 2010 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16698static int do_getlockstatus_oneblock(struct map_info *map , struct flchip *chip ,
16699 unsigned long adr , int len , void *thunk )
16700{ struct cfi_private *cfi ;
16701 int status ;
16702 int ofs_factor ;
16703 map_word tmp___7 ;
16704 uint8_t tmp___8 ;
16705 unsigned long __cil_tmp11 ;
16706 unsigned long __cil_tmp12 ;
16707 void *__cil_tmp13 ;
16708 unsigned long __cil_tmp14 ;
16709 unsigned long __cil_tmp15 ;
16710 int __cil_tmp16 ;
16711 unsigned long __cil_tmp17 ;
16712 unsigned long __cil_tmp18 ;
16713 int __cil_tmp19 ;
16714 unsigned long __cil_tmp20 ;
16715 u_long __cil_tmp21 ;
16716 unsigned long __cil_tmp22 ;
16717 unsigned long __cil_tmp23 ;
16718 void (*__cil_tmp24)(struct map_info * , map_word , unsigned long ) ;
16719 map_word __cil_tmp25 ;
16720 int __cil_tmp26 ;
16721 unsigned long __cil_tmp27 ;
16722 unsigned long __cil_tmp28 ;
16723 unsigned long __cil_tmp29 ;
16724 unsigned long __cil_tmp30 ;
16725 int __cil_tmp31 ;
16726 unsigned long __cil_tmp32 ;
16727 unsigned long __cil_tmp33 ;
16728 uint32_t __cil_tmp34 ;
16729
16730 {
16731 {
16732#line 2015
16733 __cil_tmp11 = (unsigned long )map;
16734#line 2015
16735 __cil_tmp12 = __cil_tmp11 + 120;
16736#line 2015
16737 __cil_tmp13 = *((void **)__cil_tmp12);
16738#line 2015
16739 cfi = (struct cfi_private *)__cil_tmp13;
16740#line 2016
16741 __cil_tmp14 = (unsigned long )cfi;
16742#line 2016
16743 __cil_tmp15 = __cil_tmp14 + 20;
16744#line 2016
16745 __cil_tmp16 = *((int *)__cil_tmp15);
16746#line 2016
16747 __cil_tmp17 = (unsigned long )cfi;
16748#line 2016
16749 __cil_tmp18 = __cil_tmp17 + 16;
16750#line 2016
16751 __cil_tmp19 = *((int *)__cil_tmp18);
16752#line 2016
16753 ofs_factor = __cil_tmp19 * __cil_tmp16;
16754#line 2018
16755 __cil_tmp20 = *((unsigned long *)chip);
16756#line 2018
16757 adr = adr + __cil_tmp20;
16758#line 2020
16759 __cil_tmp21 = (u_long )144;
16760#line 2020
16761 tmp___7 = cfi_build_cmd(__cil_tmp21, map, cfi);
16762#line 2020
16763 __cil_tmp22 = (unsigned long )map;
16764#line 2020
16765 __cil_tmp23 = __cil_tmp22 + 64;
16766#line 2020
16767 __cil_tmp24 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp23);
16768#line 2020
16769 __cil_tmp25 = (map_word )tmp___7;
16770#line 2020
16771 __cil_tmp26 = 2 * ofs_factor;
16772#line 2020
16773 __cil_tmp27 = (unsigned long )__cil_tmp26;
16774#line 2020
16775 __cil_tmp28 = adr + __cil_tmp27;
16776#line 2020
16777 (*__cil_tmp24)(map, __cil_tmp25, __cil_tmp28);
16778#line 2021
16779 __cil_tmp29 = (unsigned long )chip;
16780#line 2021
16781 __cil_tmp30 = __cil_tmp29 + 12;
16782#line 2021
16783 *((flstate_t *)__cil_tmp30) = (flstate_t )3;
16784#line 2022
16785 __cil_tmp31 = 2 * ofs_factor;
16786#line 2022
16787 __cil_tmp32 = (unsigned long )__cil_tmp31;
16788#line 2022
16789 __cil_tmp33 = adr + __cil_tmp32;
16790#line 2022
16791 __cil_tmp34 = (uint32_t )__cil_tmp33;
16792#line 2022
16793 tmp___8 = cfi_read_query(map, __cil_tmp34);
16794#line 2022
16795 status = (int )tmp___8;
16796 }
16797#line 2024
16798 return (status);
16799}
16800}
16801#line 2042 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16802static int do_xxlock_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
16803 int len , void *thunk )
16804{ struct cfi_private *cfi ;
16805 struct cfi_pri_intelext *extp ;
16806 int udelay ;
16807 int ret ;
16808 map_word tmp___7 ;
16809 map_word tmp___8 ;
16810 map_word tmp___9 ;
16811 map_word tmp___10 ;
16812 unsigned long __cil_tmp14 ;
16813 unsigned long __cil_tmp15 ;
16814 void *__cil_tmp16 ;
16815 unsigned long __cil_tmp17 ;
16816 unsigned long __cil_tmp18 ;
16817 void *__cil_tmp19 ;
16818 unsigned long __cil_tmp20 ;
16819 unsigned long __cil_tmp21 ;
16820 unsigned long __cil_tmp22 ;
16821 struct mutex *__cil_tmp23 ;
16822 unsigned long __cil_tmp24 ;
16823 unsigned long __cil_tmp25 ;
16824 struct mutex *__cil_tmp26 ;
16825 unsigned long __cil_tmp27 ;
16826 unsigned long __cil_tmp28 ;
16827 unsigned long __cil_tmp29 ;
16828 unsigned long __cil_tmp30 ;
16829 void (*__cil_tmp31)(struct map_info * , int ) ;
16830 u_long __cil_tmp32 ;
16831 unsigned long __cil_tmp33 ;
16832 unsigned long __cil_tmp34 ;
16833 void (*__cil_tmp35)(struct map_info * , map_word , unsigned long ) ;
16834 map_word __cil_tmp36 ;
16835 void *__cil_tmp37 ;
16836 unsigned long __cil_tmp38 ;
16837 unsigned long __cil_tmp39 ;
16838 u_long __cil_tmp40 ;
16839 unsigned long __cil_tmp41 ;
16840 unsigned long __cil_tmp42 ;
16841 void (*__cil_tmp43)(struct map_info * , map_word , unsigned long ) ;
16842 map_word __cil_tmp44 ;
16843 unsigned long __cil_tmp45 ;
16844 unsigned long __cil_tmp46 ;
16845 void *__cil_tmp47 ;
16846 unsigned long __cil_tmp48 ;
16847 unsigned long __cil_tmp49 ;
16848 u_long __cil_tmp50 ;
16849 unsigned long __cil_tmp51 ;
16850 unsigned long __cil_tmp52 ;
16851 void (*__cil_tmp53)(struct map_info * , map_word , unsigned long ) ;
16852 map_word __cil_tmp54 ;
16853 unsigned long __cil_tmp55 ;
16854 unsigned long __cil_tmp56 ;
16855 int __cil_tmp57 ;
16856 unsigned int __cil_tmp58 ;
16857 unsigned long __cil_tmp59 ;
16858 unsigned long __cil_tmp60 ;
16859 uint32_t __cil_tmp61 ;
16860 unsigned int __cil_tmp62 ;
16861 unsigned int __cil_tmp63 ;
16862 int __cil_tmp64 ;
16863 unsigned int __cil_tmp65 ;
16864 u_long __cil_tmp66 ;
16865 unsigned long __cil_tmp67 ;
16866 unsigned long __cil_tmp68 ;
16867 void (*__cil_tmp69)(struct map_info * , map_word , unsigned long ) ;
16868 map_word __cil_tmp70 ;
16869 unsigned long __cil_tmp71 ;
16870 unsigned long __cil_tmp72 ;
16871 char *__cil_tmp73 ;
16872 unsigned long __cil_tmp74 ;
16873 unsigned long __cil_tmp75 ;
16874 unsigned long __cil_tmp76 ;
16875 unsigned long __cil_tmp77 ;
16876 void (*__cil_tmp78)(struct map_info * , int ) ;
16877 unsigned long __cil_tmp79 ;
16878 unsigned long __cil_tmp80 ;
16879 struct mutex *__cil_tmp81 ;
16880
16881 {
16882 {
16883#line 2045
16884 __cil_tmp14 = (unsigned long )map;
16885#line 2045
16886 __cil_tmp15 = __cil_tmp14 + 120;
16887#line 2045
16888 __cil_tmp16 = *((void **)__cil_tmp15);
16889#line 2045
16890 cfi = (struct cfi_private *)__cil_tmp16;
16891#line 2046
16892 __cil_tmp17 = (unsigned long )cfi;
16893#line 2046
16894 __cil_tmp18 = __cil_tmp17 + 8;
16895#line 2046
16896 __cil_tmp19 = *((void **)__cil_tmp18);
16897#line 2046
16898 extp = (struct cfi_pri_intelext *)__cil_tmp19;
16899#line 2050
16900 __cil_tmp20 = *((unsigned long *)chip);
16901#line 2050
16902 adr = adr + __cil_tmp20;
16903#line 2052
16904 __cil_tmp21 = (unsigned long )chip;
16905#line 2052
16906 __cil_tmp22 = __cil_tmp21 + 32;
16907#line 2052
16908 __cil_tmp23 = (struct mutex *)__cil_tmp22;
16909#line 2052
16910 mutex_lock(__cil_tmp23);
16911#line 2053
16912 ret = get_chip(map, chip, adr, 15);
16913 }
16914#line 2054
16915 if (ret) {
16916 {
16917#line 2055
16918 __cil_tmp24 = (unsigned long )chip;
16919#line 2055
16920 __cil_tmp25 = __cil_tmp24 + 32;
16921#line 2055
16922 __cil_tmp26 = (struct mutex *)__cil_tmp25;
16923#line 2055
16924 mutex_unlock(__cil_tmp26);
16925 }
16926#line 2056
16927 return (ret);
16928 } else {
16929
16930 }
16931 {
16932#line 2059
16933 while (1) {
16934 while_continue: ;
16935 {
16936#line 2059
16937 __cil_tmp27 = (unsigned long )map;
16938#line 2059
16939 __cil_tmp28 = __cil_tmp27 + 88;
16940#line 2059
16941 if (*((void (**)(struct map_info * , int ))__cil_tmp28)) {
16942 {
16943#line 2059
16944 __cil_tmp29 = (unsigned long )map;
16945#line 2059
16946 __cil_tmp30 = __cil_tmp29 + 88;
16947#line 2059
16948 __cil_tmp31 = *((void (**)(struct map_info * , int ))__cil_tmp30);
16949#line 2059
16950 (*__cil_tmp31)(map, 1);
16951 }
16952 } else {
16953
16954 }
16955 }
16956#line 2059
16957 goto while_break;
16958 }
16959 while_break: ;
16960 }
16961 {
16962#line 2062
16963 __cil_tmp32 = (u_long )96;
16964#line 2062
16965 tmp___7 = cfi_build_cmd(__cil_tmp32, map, cfi);
16966#line 2062
16967 __cil_tmp33 = (unsigned long )map;
16968#line 2062
16969 __cil_tmp34 = __cil_tmp33 + 64;
16970#line 2062
16971 __cil_tmp35 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp34);
16972#line 2062
16973 __cil_tmp36 = (map_word )tmp___7;
16974#line 2062
16975 (*__cil_tmp35)(map, __cil_tmp36, adr);
16976 }
16977 {
16978#line 2063
16979 __cil_tmp37 = (void *)1;
16980#line 2063
16981 __cil_tmp38 = (unsigned long )__cil_tmp37;
16982#line 2063
16983 __cil_tmp39 = (unsigned long )thunk;
16984#line 2063
16985 if (__cil_tmp39 == __cil_tmp38) {
16986 {
16987#line 2064
16988 __cil_tmp40 = (u_long )1;
16989#line 2064
16990 tmp___8 = cfi_build_cmd(__cil_tmp40, map, cfi);
16991#line 2064
16992 __cil_tmp41 = (unsigned long )map;
16993#line 2064
16994 __cil_tmp42 = __cil_tmp41 + 64;
16995#line 2064
16996 __cil_tmp43 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp42);
16997#line 2064
16998 __cil_tmp44 = (map_word )tmp___8;
16999#line 2064
17000 (*__cil_tmp43)(map, __cil_tmp44, adr);
17001#line 2065
17002 __cil_tmp45 = (unsigned long )chip;
17003#line 2065
17004 __cil_tmp46 = __cil_tmp45 + 12;
17005#line 2065
17006 *((flstate_t *)__cil_tmp46) = (flstate_t )15;
17007 }
17008 } else {
17009 {
17010#line 2066
17011 __cil_tmp47 = (void *)2;
17012#line 2066
17013 __cil_tmp48 = (unsigned long )__cil_tmp47;
17014#line 2066
17015 __cil_tmp49 = (unsigned long )thunk;
17016#line 2066
17017 if (__cil_tmp49 == __cil_tmp48) {
17018 {
17019#line 2067
17020 __cil_tmp50 = (u_long )208;
17021#line 2067
17022 tmp___9 = cfi_build_cmd(__cil_tmp50, map, cfi);
17023#line 2067
17024 __cil_tmp51 = (unsigned long )map;
17025#line 2067
17026 __cil_tmp52 = __cil_tmp51 + 64;
17027#line 2067
17028 __cil_tmp53 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp52);
17029#line 2067
17030 __cil_tmp54 = (map_word )tmp___9;
17031#line 2067
17032 (*__cil_tmp53)(map, __cil_tmp54, adr);
17033#line 2068
17034 __cil_tmp55 = (unsigned long )chip;
17035#line 2068
17036 __cil_tmp56 = __cil_tmp55 + 12;
17037#line 2068
17038 *((flstate_t *)__cil_tmp56) = (flstate_t )16;
17039 }
17040 } else {
17041 {
17042#line 2070
17043 while (1) {
17044 while_continue___0: ;
17045#line 2070
17046 __asm__ volatile ("1:\tud2\n"
17047 ".pushsection __bug_table,\"a\"\n"
17048 "2:\t.long 1b - 2b, %c0 - 2b\n"
17049 "\t.word %c1, 0\n"
17050 "\t.org 2b+%c2\n"
17051 ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"),
17052 "i" (2070), "i" (12UL));
17053 {
17054#line 2070
17055 while (1) {
17056 while_continue___1: ;
17057 }
17058 while_break___1: ;
17059 }
17060#line 2070
17061 goto while_break___0;
17062 }
17063 while_break___0: ;
17064 }
17065 }
17066 }
17067 }
17068 }
17069#line 2076
17070 if (! extp) {
17071#line 2076
17072 udelay = 4000;
17073 } else {
17074 {
17075#line 2076
17076 __cil_tmp57 = 1 << 5;
17077#line 2076
17078 __cil_tmp58 = (unsigned int )__cil_tmp57;
17079#line 2076
17080 __cil_tmp59 = (unsigned long )extp;
17081#line 2076
17082 __cil_tmp60 = __cil_tmp59 + 5;
17083#line 2076
17084 __cil_tmp61 = *((uint32_t *)__cil_tmp60);
17085#line 2076
17086 __cil_tmp62 = __cil_tmp61 & __cil_tmp58;
17087#line 2076
17088 if (! __cil_tmp62) {
17089#line 2076
17090 udelay = 4000;
17091 } else {
17092#line 2076
17093 udelay = 0;
17094 }
17095 }
17096 }
17097 {
17098#line 2078
17099 __cil_tmp63 = (unsigned int )udelay;
17100#line 2078
17101 __cil_tmp64 = udelay * 100;
17102#line 2078
17103 __cil_tmp65 = (unsigned int )__cil_tmp64;
17104#line 2078
17105 ret = inval_cache_and_wait_for_operation(map, chip, adr, 0UL, 0, __cil_tmp63, __cil_tmp65);
17106 }
17107#line 2079
17108 if (ret) {
17109 {
17110#line 2080
17111 __cil_tmp66 = (u_long )112;
17112#line 2080
17113 tmp___10 = cfi_build_cmd(__cil_tmp66, map, cfi);
17114#line 2080
17115 __cil_tmp67 = (unsigned long )map;
17116#line 2080
17117 __cil_tmp68 = __cil_tmp67 + 64;
17118#line 2080
17119 __cil_tmp69 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp68);
17120#line 2080
17121 __cil_tmp70 = (map_word )tmp___10;
17122#line 2080
17123 (*__cil_tmp69)(map, __cil_tmp70, adr);
17124#line 2081
17125 __cil_tmp71 = (unsigned long )chip;
17126#line 2081
17127 __cil_tmp72 = __cil_tmp71 + 12;
17128#line 2081
17129 *((flstate_t *)__cil_tmp72) = (flstate_t )1;
17130#line 2083
17131 __cil_tmp73 = *((char **)map);
17132#line 2083
17133 printk("<3>%s: block unlock error: (status timeout)\n", __cil_tmp73);
17134 }
17135#line 2084
17136 goto out;
17137 } else {
17138
17139 }
17140 out:
17141 {
17142#line 2088
17143 while (1) {
17144 while_continue___2: ;
17145 {
17146#line 2088
17147 __cil_tmp74 = (unsigned long )map;
17148#line 2088
17149 __cil_tmp75 = __cil_tmp74 + 88;
17150#line 2088
17151 if (*((void (**)(struct map_info * , int ))__cil_tmp75)) {
17152 {
17153#line 2088
17154 __cil_tmp76 = (unsigned long )map;
17155#line 2088
17156 __cil_tmp77 = __cil_tmp76 + 88;
17157#line 2088
17158 __cil_tmp78 = *((void (**)(struct map_info * , int ))__cil_tmp77);
17159#line 2088
17160 (*__cil_tmp78)(map, 0);
17161 }
17162 } else {
17163
17164 }
17165 }
17166#line 2088
17167 goto while_break___2;
17168 }
17169 while_break___2: ;
17170 }
17171 {
17172#line 2089
17173 put_chip(map, chip, adr);
17174#line 2090
17175 __cil_tmp79 = (unsigned long )chip;
17176#line 2090
17177 __cil_tmp80 = __cil_tmp79 + 32;
17178#line 2090
17179 __cil_tmp81 = (struct mutex *)__cil_tmp80;
17180#line 2090
17181 mutex_unlock(__cil_tmp81);
17182 }
17183#line 2091
17184 return (ret);
17185}
17186}
17187#line 2094 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17188static int cfi_intelext_lock(struct mtd_info *mtd , loff_t ofs , uint64_t len )
17189{ int ret ;
17190 size_t __cil_tmp5 ;
17191 void *__cil_tmp6 ;
17192
17193 {
17194 {
17195#line 2105
17196 __cil_tmp5 = (size_t )len;
17197#line 2105
17198 __cil_tmp6 = (void *)1;
17199#line 2105
17200 ret = cfi_varsize_frob(mtd, & do_xxlock_oneblock, ofs, __cil_tmp5, __cil_tmp6);
17201 }
17202#line 2115
17203 return (ret);
17204}
17205}
17206#line 2118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17207static int cfi_intelext_unlock(struct mtd_info *mtd , loff_t ofs , uint64_t len )
17208{ int ret ;
17209 size_t __cil_tmp5 ;
17210 void *__cil_tmp6 ;
17211
17212 {
17213 {
17214#line 2129
17215 __cil_tmp5 = (size_t )len;
17216#line 2129
17217 __cil_tmp6 = (void *)2;
17218#line 2129
17219 ret = cfi_varsize_frob(mtd, & do_xxlock_oneblock, ofs, __cil_tmp5, __cil_tmp6);
17220 }
17221#line 2139
17222 return (ret);
17223}
17224}
17225#line 2142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17226static int cfi_intelext_is_locked(struct mtd_info *mtd , loff_t ofs , uint64_t len )
17227{ int tmp___8 ;
17228 int tmp___9 ;
17229 size_t __cil_tmp7 ;
17230 void *__cil_tmp8 ;
17231
17232 {
17233 {
17234#line 2145
17235 __cil_tmp7 = (size_t )len;
17236#line 2145
17237 __cil_tmp8 = (void *)0;
17238#line 2145
17239 tmp___9 = cfi_varsize_frob(mtd, & do_getlockstatus_oneblock, ofs, __cil_tmp7, __cil_tmp8);
17240 }
17241#line 2145
17242 if (tmp___9) {
17243#line 2145
17244 tmp___8 = 1;
17245 } else {
17246#line 2145
17247 tmp___8 = 0;
17248 }
17249#line 2145
17250 return (tmp___8);
17251}
17252}
17253#line 2155 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17254static int do_otp_read(struct map_info *map , struct flchip *chip , u_long offset ,
17255 u_char *buf , u_int size , u_long prot , u_int grpno , u_int grpsz )
17256{ struct cfi_private *cfi ;
17257 int ret ;
17258 map_word tmp___7 ;
17259 unsigned long __cil_tmp12 ;
17260 unsigned long __cil_tmp13 ;
17261 void *__cil_tmp14 ;
17262 unsigned long __cil_tmp15 ;
17263 unsigned long __cil_tmp16 ;
17264 struct mutex *__cil_tmp17 ;
17265 unsigned long __cil_tmp18 ;
17266 unsigned long __cil_tmp19 ;
17267 unsigned long __cil_tmp20 ;
17268 struct mutex *__cil_tmp21 ;
17269 unsigned long __cil_tmp22 ;
17270 unsigned long __cil_tmp23 ;
17271 unsigned long __cil_tmp24 ;
17272 unsigned long __cil_tmp25 ;
17273 void (*__cil_tmp26)(struct map_info * , unsigned long , ssize_t ) ;
17274 unsigned long __cil_tmp27 ;
17275 unsigned long __cil_tmp28 ;
17276 ssize_t __cil_tmp29 ;
17277 unsigned long __cil_tmp30 ;
17278 unsigned long __cil_tmp31 ;
17279 flstate_t __cil_tmp32 ;
17280 unsigned int __cil_tmp33 ;
17281 u_long __cil_tmp34 ;
17282 unsigned long __cil_tmp35 ;
17283 unsigned long __cil_tmp36 ;
17284 void (*__cil_tmp37)(struct map_info * , map_word , unsigned long ) ;
17285 map_word __cil_tmp38 ;
17286 unsigned long __cil_tmp39 ;
17287 unsigned long __cil_tmp40 ;
17288 unsigned long __cil_tmp41 ;
17289 unsigned long __cil_tmp42 ;
17290 unsigned long __cil_tmp43 ;
17291 void (*__cil_tmp44)(struct map_info * , void * , unsigned long , ssize_t ) ;
17292 void *__cil_tmp45 ;
17293 unsigned long __cil_tmp46 ;
17294 unsigned long __cil_tmp47 ;
17295 ssize_t __cil_tmp48 ;
17296 unsigned long __cil_tmp49 ;
17297 unsigned long __cil_tmp50 ;
17298 unsigned long __cil_tmp51 ;
17299 unsigned long __cil_tmp52 ;
17300 void (*__cil_tmp53)(struct map_info * , unsigned long , ssize_t ) ;
17301 unsigned long __cil_tmp54 ;
17302 unsigned long __cil_tmp55 ;
17303 ssize_t __cil_tmp56 ;
17304 unsigned long __cil_tmp57 ;
17305 unsigned long __cil_tmp58 ;
17306 unsigned long __cil_tmp59 ;
17307 struct mutex *__cil_tmp60 ;
17308
17309 {
17310 {
17311#line 2159
17312 __cil_tmp12 = (unsigned long )map;
17313#line 2159
17314 __cil_tmp13 = __cil_tmp12 + 120;
17315#line 2159
17316 __cil_tmp14 = *((void **)__cil_tmp13);
17317#line 2159
17318 cfi = (struct cfi_private *)__cil_tmp14;
17319#line 2162
17320 __cil_tmp15 = (unsigned long )chip;
17321#line 2162
17322 __cil_tmp16 = __cil_tmp15 + 32;
17323#line 2162
17324 __cil_tmp17 = (struct mutex *)__cil_tmp16;
17325#line 2162
17326 mutex_lock(__cil_tmp17);
17327#line 2163
17328 __cil_tmp18 = *((unsigned long *)chip);
17329#line 2163
17330 ret = get_chip(map, chip, __cil_tmp18, 3);
17331 }
17332#line 2164
17333 if (ret) {
17334 {
17335#line 2165
17336 __cil_tmp19 = (unsigned long )chip;
17337#line 2165
17338 __cil_tmp20 = __cil_tmp19 + 32;
17339#line 2165
17340 __cil_tmp21 = (struct mutex *)__cil_tmp20;
17341#line 2165
17342 mutex_unlock(__cil_tmp21);
17343 }
17344#line 2166
17345 return (ret);
17346 } else {
17347
17348 }
17349 {
17350#line 2170
17351 while (1) {
17352 while_continue: ;
17353 {
17354#line 2170
17355 __cil_tmp22 = (unsigned long )map;
17356#line 2170
17357 __cil_tmp23 = __cil_tmp22 + 80;
17358#line 2170
17359 if (*((void (**)(struct map_info * , unsigned long , ssize_t ))__cil_tmp23)) {
17360 {
17361#line 2170
17362 __cil_tmp24 = (unsigned long )map;
17363#line 2170
17364 __cil_tmp25 = __cil_tmp24 + 80;
17365#line 2170
17366 __cil_tmp26 = *((void (**)(struct map_info * , unsigned long , ssize_t ))__cil_tmp25);
17367#line 2170
17368 __cil_tmp27 = *((unsigned long *)chip);
17369#line 2170
17370 __cil_tmp28 = __cil_tmp27 + offset;
17371#line 2170
17372 __cil_tmp29 = (ssize_t )size;
17373#line 2170
17374 (*__cil_tmp26)(map, __cil_tmp28, __cil_tmp29);
17375 }
17376 } else {
17377
17378 }
17379 }
17380#line 2170
17381 goto while_break;
17382 }
17383 while_break: ;
17384 }
17385 {
17386#line 2173
17387 __cil_tmp30 = (unsigned long )chip;
17388#line 2173
17389 __cil_tmp31 = __cil_tmp30 + 12;
17390#line 2173
17391 __cil_tmp32 = *((flstate_t *)__cil_tmp31);
17392#line 2173
17393 __cil_tmp33 = (unsigned int )__cil_tmp32;
17394#line 2173
17395 if (__cil_tmp33 != 3U) {
17396 {
17397#line 2174
17398 __cil_tmp34 = (u_long )144;
17399#line 2174
17400 tmp___7 = cfi_build_cmd(__cil_tmp34, map, cfi);
17401#line 2174
17402 __cil_tmp35 = (unsigned long )map;
17403#line 2174
17404 __cil_tmp36 = __cil_tmp35 + 64;
17405#line 2174
17406 __cil_tmp37 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp36);
17407#line 2174
17408 __cil_tmp38 = (map_word )tmp___7;
17409#line 2174
17410 __cil_tmp39 = *((unsigned long *)chip);
17411#line 2174
17412 (*__cil_tmp37)(map, __cil_tmp38, __cil_tmp39);
17413#line 2175
17414 __cil_tmp40 = (unsigned long )chip;
17415#line 2175
17416 __cil_tmp41 = __cil_tmp40 + 12;
17417#line 2175
17418 *((flstate_t *)__cil_tmp41) = (flstate_t )3;
17419 }
17420 } else {
17421
17422 }
17423 }
17424 {
17425#line 2177
17426 __cil_tmp42 = (unsigned long )map;
17427#line 2177
17428 __cil_tmp43 = __cil_tmp42 + 56;
17429#line 2177
17430 __cil_tmp44 = *((void (**)(struct map_info * , void * , unsigned long , ssize_t ))__cil_tmp43);
17431#line 2177
17432 __cil_tmp45 = (void *)buf;
17433#line 2177
17434 __cil_tmp46 = *((unsigned long *)chip);
17435#line 2177
17436 __cil_tmp47 = __cil_tmp46 + offset;
17437#line 2177
17438 __cil_tmp48 = (ssize_t )size;
17439#line 2177
17440 (*__cil_tmp44)(map, __cil_tmp45, __cil_tmp47, __cil_tmp48);
17441 }
17442 {
17443#line 2181
17444 while (1) {
17445 while_continue___0: ;
17446 {
17447#line 2181
17448 __cil_tmp49 = (unsigned long )map;
17449#line 2181
17450 __cil_tmp50 = __cil_tmp49 + 80;
17451#line 2181
17452 if (*((void (**)(struct map_info * , unsigned long , ssize_t ))__cil_tmp50)) {
17453 {
17454#line 2181
17455 __cil_tmp51 = (unsigned long )map;
17456#line 2181
17457 __cil_tmp52 = __cil_tmp51 + 80;
17458#line 2181
17459 __cil_tmp53 = *((void (**)(struct map_info * , unsigned long , ssize_t ))__cil_tmp52);
17460#line 2181
17461 __cil_tmp54 = *((unsigned long *)chip);
17462#line 2181
17463 __cil_tmp55 = __cil_tmp54 + offset;
17464#line 2181
17465 __cil_tmp56 = (ssize_t )size;
17466#line 2181
17467 (*__cil_tmp53)(map, __cil_tmp55, __cil_tmp56);
17468 }
17469 } else {
17470
17471 }
17472 }
17473#line 2181
17474 goto while_break___0;
17475 }
17476 while_break___0: ;
17477 }
17478 {
17479#line 2183
17480 __cil_tmp57 = *((unsigned long *)chip);
17481#line 2183
17482 put_chip(map, chip, __cil_tmp57);
17483#line 2184
17484 __cil_tmp58 = (unsigned long )chip;
17485#line 2184
17486 __cil_tmp59 = __cil_tmp58 + 32;
17487#line 2184
17488 __cil_tmp60 = (struct mutex *)__cil_tmp59;
17489#line 2184
17490 mutex_unlock(__cil_tmp60);
17491 }
17492#line 2185
17493 return (0);
17494}
17495}
17496#line 2188 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17497static int do_otp_write(struct map_info *map , struct flchip *chip , u_long offset ,
17498 u_char *buf , u_int size , u_long prot , u_int grpno , u_int grpsz )
17499{ int ret ;
17500 unsigned long bus_ofs ;
17501 int gap ;
17502 int n ;
17503 int __min1 ;
17504 int __min2 ;
17505 int tmp___7 ;
17506 map_word datum ;
17507 map_word tmp___8 ;
17508 unsigned long __cil_tmp18 ;
17509 unsigned long __cil_tmp19 ;
17510 int __cil_tmp20 ;
17511 int __cil_tmp21 ;
17512 int __cil_tmp22 ;
17513 unsigned long __cil_tmp23 ;
17514 u_long __cil_tmp24 ;
17515 unsigned long __cil_tmp25 ;
17516 unsigned long __cil_tmp26 ;
17517 int __cil_tmp27 ;
17518 unsigned char *__cil_tmp28 ;
17519 u_long __cil_tmp29 ;
17520 u_int __cil_tmp30 ;
17521
17522 {
17523 {
17524#line 2194
17525 while (1) {
17526 while_continue: ;
17527#line 2194
17528 if (size) {
17529
17530 } else {
17531#line 2194
17532 goto while_break;
17533 }
17534#line 2195
17535 __cil_tmp18 = (unsigned long )map;
17536#line 2195
17537 __cil_tmp19 = __cil_tmp18 + 44;
17538#line 2195
17539 __cil_tmp20 = *((int *)__cil_tmp19);
17540#line 2195
17541 __cil_tmp21 = __cil_tmp20 - 1;
17542#line 2195
17543 __cil_tmp22 = ~ __cil_tmp21;
17544#line 2195
17545 __cil_tmp23 = (unsigned long )__cil_tmp22;
17546#line 2195
17547 bus_ofs = offset & __cil_tmp23;
17548#line 2196
17549 __cil_tmp24 = offset - bus_ofs;
17550#line 2196
17551 gap = (int )__cil_tmp24;
17552#line 2197
17553 __min1 = (int )size;
17554#line 2197
17555 __cil_tmp25 = (unsigned long )map;
17556#line 2197
17557 __cil_tmp26 = __cil_tmp25 + 44;
17558#line 2197
17559 __cil_tmp27 = *((int *)__cil_tmp26);
17560#line 2197
17561 __min2 = __cil_tmp27 - gap;
17562#line 2197
17563 if (__min1 < __min2) {
17564#line 2197
17565 tmp___7 = __min1;
17566 } else {
17567#line 2197
17568 tmp___7 = __min2;
17569 }
17570 {
17571#line 2197
17572 n = tmp___7;
17573#line 2198
17574 tmp___8 = map_word_ff(map);
17575#line 2198
17576 datum = tmp___8;
17577#line 2200
17578 __cil_tmp28 = (unsigned char *)buf;
17579#line 2200
17580 datum = map_word_load_partial(map, datum, __cil_tmp28, gap, n);
17581#line 2201
17582 ret = do_write_oneword(map, chip, bus_ofs, datum, 9);
17583 }
17584#line 2202
17585 if (ret) {
17586#line 2203
17587 return (ret);
17588 } else {
17589
17590 }
17591#line 2205
17592 __cil_tmp29 = (u_long )n;
17593#line 2205
17594 offset = offset + __cil_tmp29;
17595#line 2206
17596 buf = buf + n;
17597#line 2207
17598 __cil_tmp30 = (u_int )n;
17599#line 2207
17600 size = size - __cil_tmp30;
17601 }
17602 while_break: ;
17603 }
17604#line 2210
17605 return (0);
17606}
17607}
17608#line 2213 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17609static int do_otp_lock(struct map_info *map , struct flchip *chip , u_long offset ,
17610 u_char *buf , u_int size , u_long prot , u_int grpno , u_int grpsz )
17611{ struct cfi_private *cfi ;
17612 map_word datum ;
17613 map_word tmp___7 ;
17614 int tmp___8 ;
17615 unsigned long __cil_tmp13 ;
17616 unsigned long __cil_tmp14 ;
17617 void *__cil_tmp15 ;
17618 int __cil_tmp16 ;
17619 u_long __cil_tmp17 ;
17620
17621 {
17622#line 2217
17623 __cil_tmp13 = (unsigned long )map;
17624#line 2217
17625 __cil_tmp14 = __cil_tmp13 + 120;
17626#line 2217
17627 __cil_tmp15 = *((void **)__cil_tmp14);
17628#line 2217
17629 cfi = (struct cfi_private *)__cil_tmp15;
17630#line 2221
17631 if (size != grpsz) {
17632#line 2222
17633 return (-18);
17634 } else {
17635
17636 }
17637 {
17638#line 2224
17639 datum = map_word_ff(map);
17640#line 2225
17641 __cil_tmp16 = 1 << grpno;
17642#line 2225
17643 __cil_tmp17 = (u_long )__cil_tmp16;
17644#line 2225
17645 tmp___7 = cfi_build_cmd(__cil_tmp17, map, cfi);
17646#line 2225
17647 datum = map_word_clr(map, datum, tmp___7);
17648#line 2226
17649 tmp___8 = do_write_oneword(map, chip, prot, datum, 9);
17650 }
17651#line 2226
17652 return (tmp___8);
17653}
17654}
17655#line 2229 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17656static int cfi_intelext_otp_walk(struct mtd_info *mtd , loff_t from , size_t len ,
17657 size_t *retlen , u_char *buf , int (*action)(struct map_info *map ,
17658 struct flchip *chip ,
17659 u_long data_offset ,
17660 u_char *buf ,
17661 u_int size ,
17662 u_long prot_offset ,
17663 u_int groupno ,
17664 u_int groupsize ) ,
17665 int user_regs )
17666{ struct map_info *map ;
17667 struct cfi_private *cfi ;
17668 struct cfi_pri_intelext *extp ;
17669 struct flchip *chip ;
17670 struct cfi_intelext_otpinfo *otp ;
17671 u_long devsize ;
17672 u_long reg_prot_offset ;
17673 u_long data_offset ;
17674 u_int chip_num ;
17675 u_int chip_step ;
17676 u_int field ;
17677 u_int reg_fact_size ;
17678 u_int reg_user_size ;
17679 u_int groups ;
17680 u_int groupno ;
17681 u_int groupsize ;
17682 u_int reg_fact_groups ;
17683 u_int reg_user_groups ;
17684 int ret ;
17685 struct otp_info *otpinfo ;
17686 map_word lockword ;
17687 map_word tmp___7 ;
17688 int tmp___8 ;
17689 int tmp___9 ;
17690 int size ;
17691 unsigned long __cil_tmp33 ;
17692 unsigned long __cil_tmp34 ;
17693 void *__cil_tmp35 ;
17694 unsigned long __cil_tmp36 ;
17695 unsigned long __cil_tmp37 ;
17696 void *__cil_tmp38 ;
17697 unsigned long __cil_tmp39 ;
17698 unsigned long __cil_tmp40 ;
17699 void *__cil_tmp41 ;
17700 unsigned long __cil_tmp42 ;
17701 unsigned long __cil_tmp43 ;
17702 uint32_t __cil_tmp44 ;
17703 unsigned int __cil_tmp45 ;
17704 unsigned long __cil_tmp46 ;
17705 unsigned long __cil_tmp47 ;
17706 uint8_t __cil_tmp48 ;
17707 unsigned long __cil_tmp49 ;
17708 unsigned long __cil_tmp50 ;
17709 int __cil_tmp51 ;
17710 unsigned long __cil_tmp52 ;
17711 unsigned long __cil_tmp53 ;
17712 struct cfi_ident *__cil_tmp54 ;
17713 unsigned long __cil_tmp55 ;
17714 unsigned long __cil_tmp56 ;
17715 uint8_t __cil_tmp57 ;
17716 int __cil_tmp58 ;
17717 int __cil_tmp59 ;
17718 int __cil_tmp60 ;
17719 unsigned long __cil_tmp61 ;
17720 unsigned long __cil_tmp62 ;
17721 unsigned long __cil_tmp63 ;
17722 u_long __cil_tmp64 ;
17723 unsigned long __cil_tmp65 ;
17724 unsigned long __cil_tmp66 ;
17725 int __cil_tmp67 ;
17726 unsigned long __cil_tmp68 ;
17727 unsigned long __cil_tmp69 ;
17728 unsigned long __cil_tmp70 ;
17729 unsigned long __cil_tmp71 ;
17730 int __cil_tmp72 ;
17731 u_int __cil_tmp73 ;
17732 unsigned long __cil_tmp74 ;
17733 unsigned long __cil_tmp75 ;
17734 unsigned long __cil_tmp76 ;
17735 unsigned long __cil_tmp77 ;
17736 unsigned long __cil_tmp78 ;
17737 unsigned long __cil_tmp79 ;
17738 unsigned long __cil_tmp80 ;
17739 unsigned long __cil_tmp81 ;
17740 uint8_t *__cil_tmp82 ;
17741 unsigned long __cil_tmp83 ;
17742 unsigned long __cil_tmp84 ;
17743 uint16_t __cil_tmp85 ;
17744 unsigned long __cil_tmp86 ;
17745 unsigned long __cil_tmp87 ;
17746 uint8_t __cil_tmp88 ;
17747 int __cil_tmp89 ;
17748 int __cil_tmp90 ;
17749 unsigned long __cil_tmp91 ;
17750 unsigned long __cil_tmp92 ;
17751 uint8_t __cil_tmp93 ;
17752 int __cil_tmp94 ;
17753 int __cil_tmp95 ;
17754 unsigned long __cil_tmp96 ;
17755 unsigned long __cil_tmp97 ;
17756 int __cil_tmp98 ;
17757 unsigned long __cil_tmp99 ;
17758 unsigned long __cil_tmp100 ;
17759 int __cil_tmp101 ;
17760 int __cil_tmp102 ;
17761 u_long __cil_tmp103 ;
17762 unsigned long __cil_tmp104 ;
17763 unsigned long __cil_tmp105 ;
17764 int __cil_tmp106 ;
17765 unsigned long __cil_tmp107 ;
17766 unsigned long __cil_tmp108 ;
17767 int __cil_tmp109 ;
17768 int __cil_tmp110 ;
17769 u_long __cil_tmp111 ;
17770 unsigned long __cil_tmp112 ;
17771 unsigned long __cil_tmp113 ;
17772 int __cil_tmp114 ;
17773 u_int __cil_tmp115 ;
17774 unsigned long __cil_tmp116 ;
17775 unsigned long __cil_tmp117 ;
17776 int __cil_tmp118 ;
17777 u_int __cil_tmp119 ;
17778 u_int __cil_tmp120 ;
17779 u_long __cil_tmp121 ;
17780 u_char *__cil_tmp122 ;
17781 unsigned long __cil_tmp123 ;
17782 unsigned long __cil_tmp124 ;
17783 int __cil_tmp125 ;
17784 u_int __cil_tmp126 ;
17785 u_long __cil_tmp127 ;
17786 u_int __cil_tmp128 ;
17787 u_int __cil_tmp129 ;
17788 unsigned long __cil_tmp130 ;
17789 unsigned long __cil_tmp131 ;
17790 int __cil_tmp132 ;
17791 u_long __cil_tmp133 ;
17792 map_word *__cil_tmp134 ;
17793 map_word __cil_tmp135 ;
17794 unsigned long __cil_tmp136 ;
17795 unsigned long __cil_tmp137 ;
17796 loff_t __cil_tmp138 ;
17797 size_t __cil_tmp139 ;
17798 loff_t __cil_tmp140 ;
17799 loff_t __cil_tmp141 ;
17800 u_long __cil_tmp142 ;
17801 loff_t __cil_tmp143 ;
17802 loff_t __cil_tmp144 ;
17803 loff_t __cil_tmp145 ;
17804 loff_t __cil_tmp146 ;
17805 size_t __cil_tmp147 ;
17806 u_int __cil_tmp148 ;
17807 size_t __cil_tmp149 ;
17808 size_t __cil_tmp150 ;
17809 size_t __cil_tmp151 ;
17810 u_long __cil_tmp152 ;
17811 unsigned long __cil_tmp153 ;
17812 unsigned long __cil_tmp154 ;
17813 uint8_t __cil_tmp155 ;
17814 u_int __cil_tmp156 ;
17815 uint32_t __cil_tmp157 ;
17816 unsigned long __cil_tmp158 ;
17817 unsigned long __cil_tmp159 ;
17818 uint16_t __cil_tmp160 ;
17819 unsigned long __cil_tmp161 ;
17820 unsigned long __cil_tmp162 ;
17821 uint8_t __cil_tmp163 ;
17822 int __cil_tmp164 ;
17823 int __cil_tmp165 ;
17824 unsigned long __cil_tmp166 ;
17825 unsigned long __cil_tmp167 ;
17826 uint16_t __cil_tmp168 ;
17827 unsigned long __cil_tmp169 ;
17828 unsigned long __cil_tmp170 ;
17829 uint8_t __cil_tmp171 ;
17830 int __cil_tmp172 ;
17831 int __cil_tmp173 ;
17832
17833 {
17834#line 2233
17835 __cil_tmp33 = (unsigned long )mtd;
17836#line 2233
17837 __cil_tmp34 = __cil_tmp33 + 360;
17838#line 2233
17839 __cil_tmp35 = *((void **)__cil_tmp34);
17840#line 2233
17841 map = (struct map_info *)__cil_tmp35;
17842#line 2234
17843 __cil_tmp36 = (unsigned long )map;
17844#line 2234
17845 __cil_tmp37 = __cil_tmp36 + 120;
17846#line 2234
17847 __cil_tmp38 = *((void **)__cil_tmp37);
17848#line 2234
17849 cfi = (struct cfi_private *)__cil_tmp38;
17850#line 2235
17851 __cil_tmp39 = (unsigned long )cfi;
17852#line 2235
17853 __cil_tmp40 = __cil_tmp39 + 8;
17854#line 2235
17855 __cil_tmp41 = *((void **)__cil_tmp40);
17856#line 2235
17857 extp = (struct cfi_pri_intelext *)__cil_tmp41;
17858#line 2243
17859 *retlen = (size_t )0;
17860#line 2246
17861 if (! extp) {
17862#line 2247
17863 return (-61);
17864 } else {
17865 {
17866#line 2246
17867 __cil_tmp42 = (unsigned long )extp;
17868#line 2246
17869 __cil_tmp43 = __cil_tmp42 + 5;
17870#line 2246
17871 __cil_tmp44 = *((uint32_t *)__cil_tmp43);
17872#line 2246
17873 __cil_tmp45 = __cil_tmp44 & 64U;
17874#line 2246
17875 if (! __cil_tmp45) {
17876#line 2247
17877 return (-61);
17878 } else {
17879 {
17880#line 2246
17881 __cil_tmp46 = (unsigned long )extp;
17882#line 2246
17883 __cil_tmp47 = __cil_tmp46 + 14;
17884#line 2246
17885 __cil_tmp48 = *((uint8_t *)__cil_tmp47);
17886#line 2246
17887 if (! __cil_tmp48) {
17888#line 2247
17889 return (-61);
17890 } else {
17891
17892 }
17893 }
17894 }
17895 }
17896 }
17897#line 2250
17898 __cil_tmp49 = (unsigned long )cfi;
17899#line 2250
17900 __cil_tmp50 = __cil_tmp49 + 16;
17901#line 2250
17902 __cil_tmp51 = *((int *)__cil_tmp50);
17903#line 2250
17904 __cil_tmp52 = (unsigned long )cfi;
17905#line 2250
17906 __cil_tmp53 = __cil_tmp52 + 48;
17907#line 2250
17908 __cil_tmp54 = *((struct cfi_ident **)__cil_tmp53);
17909#line 2250
17910 __cil_tmp55 = (unsigned long )__cil_tmp54;
17911#line 2250
17912 __cil_tmp56 = __cil_tmp55 + 23;
17913#line 2250
17914 __cil_tmp57 = *((uint8_t *)__cil_tmp56);
17915#line 2250
17916 __cil_tmp58 = (int )__cil_tmp57;
17917#line 2250
17918 __cil_tmp59 = 1 << __cil_tmp58;
17919#line 2250
17920 __cil_tmp60 = __cil_tmp59 * __cil_tmp51;
17921#line 2250
17922 devsize = (u_long )__cil_tmp60;
17923#line 2251
17924 __cil_tmp61 = (unsigned long )cfi;
17925#line 2251
17926 __cil_tmp62 = __cil_tmp61 + 104;
17927#line 2251
17928 __cil_tmp63 = *((unsigned long *)__cil_tmp62);
17929#line 2251
17930 __cil_tmp64 = devsize >> __cil_tmp63;
17931#line 2251
17932 chip_step = (u_int )__cil_tmp64;
17933#line 2252
17934 chip_num = (u_int )0;
17935 {
17936#line 2256
17937 __cil_tmp65 = (unsigned long )cfi;
17938#line 2256
17939 __cil_tmp66 = __cil_tmp65 + 56;
17940#line 2256
17941 __cil_tmp67 = *((int *)__cil_tmp66);
17942#line 2256
17943 if (__cil_tmp67 == 137) {
17944 {
17945#line 2257
17946 __cil_tmp68 = (unsigned long )cfi;
17947#line 2257
17948 __cil_tmp69 = __cil_tmp68 + 60;
17949#line 2258
17950 if (*((int *)__cil_tmp69) == 34827) {
17951#line 2258
17952 goto case_34827;
17953 } else
17954#line 2259
17955 if (*((int *)__cil_tmp69) == 34828) {
17956#line 2259
17957 goto case_34827;
17958 } else
17959#line 2260
17960 if (*((int *)__cil_tmp69) == 34829) {
17961#line 2260
17962 goto case_34827;
17963 } else
17964#line 2257
17965 if (0) {
17966 case_34827:
17967 case_34828:
17968 case_34829:
17969#line 2261
17970 chip_num = chip_step - 1U;
17971 } else {
17972 switch_break: ;
17973 }
17974 }
17975 } else {
17976
17977 }
17978 }
17979 {
17980#line 2265
17981 while (1) {
17982 while_continue: ;
17983 {
17984#line 2265
17985 __cil_tmp70 = (unsigned long )cfi;
17986#line 2265
17987 __cil_tmp71 = __cil_tmp70 + 64;
17988#line 2265
17989 __cil_tmp72 = *((int *)__cil_tmp71);
17990#line 2265
17991 __cil_tmp73 = (u_int )__cil_tmp72;
17992#line 2265
17993 if (chip_num < __cil_tmp73) {
17994
17995 } else {
17996#line 2265
17997 goto while_break;
17998 }
17999 }
18000#line 2266
18001 __cil_tmp74 = chip_num * 176UL;
18002#line 2266
18003 __cil_tmp75 = 120 + __cil_tmp74;
18004#line 2266
18005 __cil_tmp76 = (unsigned long )cfi;
18006#line 2266
18007 __cil_tmp77 = __cil_tmp76 + __cil_tmp75;
18008#line 2266
18009 chip = (struct flchip *)__cil_tmp77;
18010#line 2267
18011 __cil_tmp78 = 0 * 1UL;
18012#line 2267
18013 __cil_tmp79 = 19 + __cil_tmp78;
18014#line 2267
18015 __cil_tmp80 = (unsigned long )extp;
18016#line 2267
18017 __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
18018#line 2267
18019 __cil_tmp82 = (uint8_t *)__cil_tmp81;
18020#line 2267
18021 otp = (struct cfi_intelext_otpinfo *)__cil_tmp82;
18022#line 2270
18023 field = (u_int )0;
18024#line 2271
18025 __cil_tmp83 = (unsigned long )extp;
18026#line 2271
18027 __cil_tmp84 = __cil_tmp83 + 15;
18028#line 2271
18029 __cil_tmp85 = *((uint16_t *)__cil_tmp84);
18030#line 2271
18031 reg_prot_offset = (u_long )__cil_tmp85;
18032#line 2272
18033 reg_fact_groups = (u_int )1;
18034#line 2273
18035 __cil_tmp86 = (unsigned long )extp;
18036#line 2273
18037 __cil_tmp87 = __cil_tmp86 + 17;
18038#line 2273
18039 __cil_tmp88 = *((uint8_t *)__cil_tmp87);
18040#line 2273
18041 __cil_tmp89 = (int )__cil_tmp88;
18042#line 2273
18043 __cil_tmp90 = 1 << __cil_tmp89;
18044#line 2273
18045 reg_fact_size = (u_int )__cil_tmp90;
18046#line 2274
18047 reg_user_groups = (u_int )1;
18048#line 2275
18049 __cil_tmp91 = (unsigned long )extp;
18050#line 2275
18051 __cil_tmp92 = __cil_tmp91 + 18;
18052#line 2275
18053 __cil_tmp93 = *((uint8_t *)__cil_tmp92);
18054#line 2275
18055 __cil_tmp94 = (int )__cil_tmp93;
18056#line 2275
18057 __cil_tmp95 = 1 << __cil_tmp94;
18058#line 2275
18059 reg_user_size = (u_int )__cil_tmp95;
18060 {
18061#line 2277
18062 while (1) {
18063 while_continue___0: ;
18064#line 2277
18065 if (len > 0UL) {
18066
18067 } else {
18068#line 2277
18069 goto while_break___0;
18070 }
18071#line 2279
18072 data_offset = reg_prot_offset + 1UL;
18073#line 2280
18074 __cil_tmp96 = (unsigned long )cfi;
18075#line 2280
18076 __cil_tmp97 = __cil_tmp96 + 20;
18077#line 2280
18078 __cil_tmp98 = *((int *)__cil_tmp97);
18079#line 2280
18080 __cil_tmp99 = (unsigned long )cfi;
18081#line 2280
18082 __cil_tmp100 = __cil_tmp99 + 16;
18083#line 2280
18084 __cil_tmp101 = *((int *)__cil_tmp100);
18085#line 2280
18086 __cil_tmp102 = __cil_tmp101 * __cil_tmp98;
18087#line 2280
18088 __cil_tmp103 = (u_long )__cil_tmp102;
18089#line 2280
18090 data_offset = data_offset * __cil_tmp103;
18091#line 2281
18092 __cil_tmp104 = (unsigned long )cfi;
18093#line 2281
18094 __cil_tmp105 = __cil_tmp104 + 20;
18095#line 2281
18096 __cil_tmp106 = *((int *)__cil_tmp105);
18097#line 2281
18098 __cil_tmp107 = (unsigned long )cfi;
18099#line 2281
18100 __cil_tmp108 = __cil_tmp107 + 16;
18101#line 2281
18102 __cil_tmp109 = *((int *)__cil_tmp108);
18103#line 2281
18104 __cil_tmp110 = __cil_tmp109 * __cil_tmp106;
18105#line 2281
18106 __cil_tmp111 = (u_long )__cil_tmp110;
18107#line 2281
18108 reg_prot_offset = reg_prot_offset * __cil_tmp111;
18109#line 2282
18110 __cil_tmp112 = (unsigned long )cfi;
18111#line 2282
18112 __cil_tmp113 = __cil_tmp112 + 16;
18113#line 2282
18114 __cil_tmp114 = *((int *)__cil_tmp113);
18115#line 2282
18116 __cil_tmp115 = (u_int )__cil_tmp114;
18117#line 2282
18118 reg_fact_size = reg_fact_size * __cil_tmp115;
18119#line 2283
18120 __cil_tmp116 = (unsigned long )cfi;
18121#line 2283
18122 __cil_tmp117 = __cil_tmp116 + 16;
18123#line 2283
18124 __cil_tmp118 = *((int *)__cil_tmp117);
18125#line 2283
18126 __cil_tmp119 = (u_int )__cil_tmp118;
18127#line 2283
18128 reg_user_size = reg_user_size * __cil_tmp119;
18129#line 2285
18130 if (user_regs) {
18131#line 2286
18132 groups = reg_user_groups;
18133#line 2287
18134 groupsize = reg_user_size;
18135#line 2289
18136 groupno = reg_fact_groups;
18137#line 2290
18138 __cil_tmp120 = reg_fact_groups * reg_fact_size;
18139#line 2290
18140 __cil_tmp121 = (u_long )__cil_tmp120;
18141#line 2290
18142 data_offset = data_offset + __cil_tmp121;
18143 } else {
18144#line 2292
18145 groups = reg_fact_groups;
18146#line 2293
18147 groupsize = reg_fact_size;
18148#line 2294
18149 groupno = (u_int )0;
18150 }
18151 {
18152#line 2297
18153 while (1) {
18154 while_continue___1: ;
18155#line 2297
18156 if (len > 0UL) {
18157#line 2297
18158 if (groups > 0U) {
18159
18160 } else {
18161#line 2297
18162 goto while_break___1;
18163 }
18164 } else {
18165#line 2297
18166 goto while_break___1;
18167 }
18168#line 2298
18169 if (! action) {
18170#line 2305
18171 len = len - 12UL;
18172#line 2306
18173 if (len <= 0UL) {
18174#line 2307
18175 return (-28);
18176 } else {
18177
18178 }
18179 {
18180#line 2308
18181 __cil_tmp122 = (u_char *)(& lockword);
18182#line 2308
18183 __cil_tmp123 = (unsigned long )map;
18184#line 2308
18185 __cil_tmp124 = __cil_tmp123 + 44;
18186#line 2308
18187 __cil_tmp125 = *((int *)__cil_tmp124);
18188#line 2308
18189 __cil_tmp126 = (u_int )__cil_tmp125;
18190#line 2308
18191 __cil_tmp127 = (u_long )0;
18192#line 2308
18193 __cil_tmp128 = (u_int )0;
18194#line 2308
18195 __cil_tmp129 = (u_int )0;
18196#line 2308
18197 ret = do_otp_read(map, chip, reg_prot_offset, __cil_tmp122, __cil_tmp126,
18198 __cil_tmp127, __cil_tmp128, __cil_tmp129);
18199 }
18200#line 2313
18201 if (ret) {
18202#line 2314
18203 return (ret);
18204 } else {
18205
18206 }
18207 {
18208#line 2315
18209 otpinfo = (struct otp_info *)buf;
18210#line 2316
18211 *((__u32 *)otpinfo) = (__u32 )from;
18212#line 2317
18213 __cil_tmp130 = (unsigned long )otpinfo;
18214#line 2317
18215 __cil_tmp131 = __cil_tmp130 + 4;
18216#line 2317
18217 *((__u32 *)__cil_tmp131) = groupsize;
18218#line 2318
18219 __cil_tmp132 = 1 << groupno;
18220#line 2318
18221 __cil_tmp133 = (u_long )__cil_tmp132;
18222#line 2318
18223 tmp___7 = cfi_build_cmd(__cil_tmp133, map, cfi);
18224#line 2318
18225 __cil_tmp134 = & lockword;
18226#line 2318
18227 __cil_tmp135 = *__cil_tmp134;
18228#line 2318
18229 tmp___8 = map_word_bitsset(map, __cil_tmp135, tmp___7);
18230 }
18231#line 2318
18232 if (tmp___8) {
18233#line 2318
18234 tmp___9 = 0;
18235 } else {
18236#line 2318
18237 tmp___9 = 1;
18238 }
18239#line 2318
18240 __cil_tmp136 = (unsigned long )otpinfo;
18241#line 2318
18242 __cil_tmp137 = __cil_tmp136 + 8;
18243#line 2318
18244 *((__u32 *)__cil_tmp137) = (__u32 )tmp___9;
18245#line 2321
18246 __cil_tmp138 = (loff_t )groupsize;
18247#line 2321
18248 from = from + __cil_tmp138;
18249#line 2322
18250 buf = buf + 12UL;
18251#line 2323
18252 __cil_tmp139 = *retlen;
18253#line 2323
18254 *retlen = __cil_tmp139 + 12UL;
18255 } else {
18256 {
18257#line 2324
18258 __cil_tmp140 = (loff_t )groupsize;
18259#line 2324
18260 if (from >= __cil_tmp140) {
18261#line 2325
18262 __cil_tmp141 = (loff_t )groupsize;
18263#line 2325
18264 from = from - __cil_tmp141;
18265#line 2326
18266 __cil_tmp142 = (u_long )groupsize;
18267#line 2326
18268 data_offset = data_offset + __cil_tmp142;
18269 } else {
18270#line 2328
18271 size = (int )groupsize;
18272#line 2329
18273 __cil_tmp143 = (loff_t )data_offset;
18274#line 2329
18275 __cil_tmp144 = __cil_tmp143 + from;
18276#line 2329
18277 data_offset = (u_long )__cil_tmp144;
18278#line 2330
18279 __cil_tmp145 = (loff_t )size;
18280#line 2330
18281 __cil_tmp146 = __cil_tmp145 - from;
18282#line 2330
18283 size = (int )__cil_tmp146;
18284#line 2331
18285 from = (loff_t )0;
18286 {
18287#line 2332
18288 __cil_tmp147 = (size_t )size;
18289#line 2332
18290 if (__cil_tmp147 > len) {
18291#line 2333
18292 size = (int )len;
18293 } else {
18294
18295 }
18296 }
18297 {
18298#line 2334
18299 __cil_tmp148 = (u_int )size;
18300#line 2334
18301 ret = (*action)(map, chip, data_offset, buf, __cil_tmp148, reg_prot_offset,
18302 groupno, groupsize);
18303 }
18304#line 2337
18305 if (ret < 0) {
18306#line 2338
18307 return (ret);
18308 } else {
18309
18310 }
18311#line 2339
18312 buf = buf + size;
18313#line 2340
18314 __cil_tmp149 = (size_t )size;
18315#line 2340
18316 len = len - __cil_tmp149;
18317#line 2341
18318 __cil_tmp150 = (size_t )size;
18319#line 2341
18320 __cil_tmp151 = *retlen;
18321#line 2341
18322 *retlen = __cil_tmp151 + __cil_tmp150;
18323#line 2342
18324 __cil_tmp152 = (u_long )size;
18325#line 2342
18326 data_offset = data_offset + __cil_tmp152;
18327 }
18328 }
18329 }
18330#line 2344
18331 groupno = groupno + 1U;
18332#line 2345
18333 groups = groups - 1U;
18334 }
18335 while_break___1: ;
18336 }
18337#line 2349
18338 field = field + 1U;
18339 {
18340#line 2349
18341 __cil_tmp153 = (unsigned long )extp;
18342#line 2349
18343 __cil_tmp154 = __cil_tmp153 + 14;
18344#line 2349
18345 __cil_tmp155 = *((uint8_t *)__cil_tmp154);
18346#line 2349
18347 __cil_tmp156 = (u_int )__cil_tmp155;
18348#line 2349
18349 if (field == __cil_tmp156) {
18350#line 2350
18351 goto while_break___0;
18352 } else {
18353
18354 }
18355 }
18356#line 2351
18357 __cil_tmp157 = *((uint32_t *)otp);
18358#line 2351
18359 reg_prot_offset = (u_long )__cil_tmp157;
18360#line 2352
18361 __cil_tmp158 = (unsigned long )otp;
18362#line 2352
18363 __cil_tmp159 = __cil_tmp158 + 4;
18364#line 2352
18365 __cil_tmp160 = *((uint16_t *)__cil_tmp159);
18366#line 2352
18367 reg_fact_groups = (u_int )__cil_tmp160;
18368#line 2353
18369 __cil_tmp161 = (unsigned long )otp;
18370#line 2353
18371 __cil_tmp162 = __cil_tmp161 + 6;
18372#line 2353
18373 __cil_tmp163 = *((uint8_t *)__cil_tmp162);
18374#line 2353
18375 __cil_tmp164 = (int )__cil_tmp163;
18376#line 2353
18377 __cil_tmp165 = 1 << __cil_tmp164;
18378#line 2353
18379 reg_fact_size = (u_int )__cil_tmp165;
18380#line 2354
18381 __cil_tmp166 = (unsigned long )otp;
18382#line 2354
18383 __cil_tmp167 = __cil_tmp166 + 7;
18384#line 2354
18385 __cil_tmp168 = *((uint16_t *)__cil_tmp167);
18386#line 2354
18387 reg_user_groups = (u_int )__cil_tmp168;
18388#line 2355
18389 __cil_tmp169 = (unsigned long )otp;
18390#line 2355
18391 __cil_tmp170 = __cil_tmp169 + 9;
18392#line 2355
18393 __cil_tmp171 = *((uint8_t *)__cil_tmp170);
18394#line 2355
18395 __cil_tmp172 = (int )__cil_tmp171;
18396#line 2355
18397 __cil_tmp173 = 1 << __cil_tmp172;
18398#line 2355
18399 reg_user_size = (u_int )__cil_tmp173;
18400#line 2356
18401 otp = otp + 1;
18402 }
18403 while_break___0: ;
18404 }
18405#line 2265
18406 chip_num = chip_num + chip_step;
18407 }
18408 while_break: ;
18409 }
18410#line 2360
18411 return (0);
18412}
18413}
18414#line 2363 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18415static int cfi_intelext_read_fact_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
18416 size_t *retlen , u_char *buf )
18417{ int tmp___7 ;
18418
18419 {
18420 {
18421#line 2367
18422 tmp___7 = cfi_intelext_otp_walk(mtd, from, len, retlen, buf, & do_otp_read, 0);
18423 }
18424#line 2367
18425 return (tmp___7);
18426}
18427}
18428#line 2371 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18429static int cfi_intelext_read_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
18430 size_t *retlen , u_char *buf )
18431{ int tmp___7 ;
18432
18433 {
18434 {
18435#line 2375
18436 tmp___7 = cfi_intelext_otp_walk(mtd, from, len, retlen, buf, & do_otp_read, 1);
18437 }
18438#line 2375
18439 return (tmp___7);
18440}
18441}
18442#line 2379 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18443static int cfi_intelext_write_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
18444 size_t *retlen , u_char *buf )
18445{ int tmp___7 ;
18446
18447 {
18448 {
18449#line 2383
18450 tmp___7 = cfi_intelext_otp_walk(mtd, from, len, retlen, buf, & do_otp_write, 1);
18451 }
18452#line 2383
18453 return (tmp___7);
18454}
18455}
18456#line 2387 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18457static int cfi_intelext_lock_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len )
18458{ size_t retlen ;
18459 int tmp___7 ;
18460 void *__cil_tmp6 ;
18461 u_char *__cil_tmp7 ;
18462
18463 {
18464 {
18465#line 2391
18466 __cil_tmp6 = (void *)0;
18467#line 2391
18468 __cil_tmp7 = (u_char *)__cil_tmp6;
18469#line 2391
18470 tmp___7 = cfi_intelext_otp_walk(mtd, from, len, & retlen, __cil_tmp7, & do_otp_lock,
18471 1);
18472 }
18473#line 2391
18474 return (tmp___7);
18475}
18476}
18477#line 2395 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18478static int cfi_intelext_get_fact_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
18479 size_t len )
18480{ size_t retlen ;
18481 int ret ;
18482 size_t tmp___7 ;
18483 loff_t __cil_tmp7 ;
18484 u_char *__cil_tmp8 ;
18485 void *__cil_tmp9 ;
18486 int (*__cil_tmp10)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18487 u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18488 u_int groupsize ) ;
18489 size_t *__cil_tmp11 ;
18490
18491 {
18492 {
18493#line 2401
18494 __cil_tmp7 = (loff_t )0;
18495#line 2401
18496 __cil_tmp8 = (u_char *)buf;
18497#line 2401
18498 __cil_tmp9 = (void *)0;
18499#line 2401
18500 __cil_tmp10 = (int (*)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18501 u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18502 u_int groupsize ))__cil_tmp9;
18503#line 2401
18504 ret = cfi_intelext_otp_walk(mtd, __cil_tmp7, len, & retlen, __cil_tmp8, __cil_tmp10,
18505 0);
18506#line 2402
18507 tmp___7 = (size_t )ret;
18508 }
18509#line 2402
18510 if (tmp___7) {
18511
18512 } else {
18513#line 2402
18514 __cil_tmp11 = & retlen;
18515#line 2402
18516 tmp___7 = *__cil_tmp11;
18517 }
18518#line 2402
18519 return ((int )tmp___7);
18520}
18521}
18522#line 2405 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18523static int cfi_intelext_get_user_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
18524 size_t len )
18525{ size_t retlen ;
18526 int ret ;
18527 size_t tmp___7 ;
18528 loff_t __cil_tmp7 ;
18529 u_char *__cil_tmp8 ;
18530 void *__cil_tmp9 ;
18531 int (*__cil_tmp10)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18532 u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18533 u_int groupsize ) ;
18534 size_t *__cil_tmp11 ;
18535
18536 {
18537 {
18538#line 2411
18539 __cil_tmp7 = (loff_t )0;
18540#line 2411
18541 __cil_tmp8 = (u_char *)buf;
18542#line 2411
18543 __cil_tmp9 = (void *)0;
18544#line 2411
18545 __cil_tmp10 = (int (*)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18546 u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18547 u_int groupsize ))__cil_tmp9;
18548#line 2411
18549 ret = cfi_intelext_otp_walk(mtd, __cil_tmp7, len, & retlen, __cil_tmp8, __cil_tmp10,
18550 1);
18551#line 2412
18552 tmp___7 = (size_t )ret;
18553 }
18554#line 2412
18555 if (tmp___7) {
18556
18557 } else {
18558#line 2412
18559 __cil_tmp11 = & retlen;
18560#line 2412
18561 tmp___7 = *__cil_tmp11;
18562 }
18563#line 2412
18564 return ((int )tmp___7);
18565}
18566}
18567#line 2417 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18568static void cfi_intelext_save_locks(struct mtd_info *mtd )
18569{ struct mtd_erase_region_info *region ;
18570 int block ;
18571 int status ;
18572 int i ;
18573 unsigned long adr ;
18574 size_t len ;
18575 unsigned long __cil_tmp8 ;
18576 unsigned long __cil_tmp9 ;
18577 int __cil_tmp10 ;
18578 unsigned long __cil_tmp11 ;
18579 unsigned long __cil_tmp12 ;
18580 struct mtd_erase_region_info *__cil_tmp13 ;
18581 unsigned long __cil_tmp14 ;
18582 unsigned long __cil_tmp15 ;
18583 unsigned long *__cil_tmp16 ;
18584 unsigned long __cil_tmp17 ;
18585 unsigned long __cil_tmp18 ;
18586 uint32_t __cil_tmp19 ;
18587 uint32_t __cil_tmp20 ;
18588 unsigned long __cil_tmp21 ;
18589 unsigned long __cil_tmp22 ;
18590 uint32_t __cil_tmp23 ;
18591 size_t __cil_tmp24 ;
18592 size_t __cil_tmp25 ;
18593 uint64_t __cil_tmp26 ;
18594 uint64_t __cil_tmp27 ;
18595 uint64_t __cil_tmp28 ;
18596 loff_t __cil_tmp29 ;
18597 void *__cil_tmp30 ;
18598 unsigned int __cil_tmp31 ;
18599 unsigned long __cil_tmp32 ;
18600 unsigned long __cil_tmp33 ;
18601 unsigned long *__cil_tmp34 ;
18602 unsigned long volatile *__cil_tmp35 ;
18603 unsigned long __cil_tmp36 ;
18604 unsigned long __cil_tmp37 ;
18605 unsigned long *__cil_tmp38 ;
18606 unsigned long volatile *__cil_tmp39 ;
18607
18608 {
18609#line 2424
18610 i = 0;
18611 {
18612#line 2424
18613 while (1) {
18614 while_continue: ;
18615 {
18616#line 2424
18617 __cil_tmp8 = (unsigned long )mtd;
18618#line 2424
18619 __cil_tmp9 = __cil_tmp8 + 84;
18620#line 2424
18621 __cil_tmp10 = *((int *)__cil_tmp9);
18622#line 2424
18623 if (i < __cil_tmp10) {
18624
18625 } else {
18626#line 2424
18627 goto while_break;
18628 }
18629 }
18630#line 2425
18631 __cil_tmp11 = (unsigned long )mtd;
18632#line 2425
18633 __cil_tmp12 = __cil_tmp11 + 88;
18634#line 2425
18635 __cil_tmp13 = *((struct mtd_erase_region_info **)__cil_tmp12);
18636#line 2425
18637 region = __cil_tmp13 + i;
18638 {
18639#line 2426
18640 __cil_tmp14 = (unsigned long )region;
18641#line 2426
18642 __cil_tmp15 = __cil_tmp14 + 16;
18643#line 2426
18644 __cil_tmp16 = *((unsigned long **)__cil_tmp15);
18645#line 2426
18646 if (! __cil_tmp16) {
18647#line 2427
18648 goto __Cont;
18649 } else {
18650
18651 }
18652 }
18653#line 2429
18654 block = 0;
18655 {
18656#line 2429
18657 while (1) {
18658 while_continue___0: ;
18659 {
18660#line 2429
18661 __cil_tmp17 = (unsigned long )region;
18662#line 2429
18663 __cil_tmp18 = __cil_tmp17 + 12;
18664#line 2429
18665 __cil_tmp19 = *((uint32_t *)__cil_tmp18);
18666#line 2429
18667 __cil_tmp20 = (uint32_t )block;
18668#line 2429
18669 if (__cil_tmp20 < __cil_tmp19) {
18670
18671 } else {
18672#line 2429
18673 goto while_break___0;
18674 }
18675 }
18676 {
18677#line 2430
18678 __cil_tmp21 = (unsigned long )region;
18679#line 2430
18680 __cil_tmp22 = __cil_tmp21 + 8;
18681#line 2430
18682 __cil_tmp23 = *((uint32_t *)__cil_tmp22);
18683#line 2430
18684 len = (size_t )__cil_tmp23;
18685#line 2431
18686 __cil_tmp24 = (size_t )block;
18687#line 2431
18688 __cil_tmp25 = __cil_tmp24 * len;
18689#line 2431
18690 __cil_tmp26 = (uint64_t )__cil_tmp25;
18691#line 2431
18692 __cil_tmp27 = *((uint64_t *)region);
18693#line 2431
18694 __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
18695#line 2431
18696 adr = (unsigned long )__cil_tmp28;
18697#line 2433
18698 __cil_tmp29 = (loff_t )adr;
18699#line 2433
18700 __cil_tmp30 = (void *)0;
18701#line 2433
18702 status = cfi_varsize_frob(mtd, & do_getlockstatus_oneblock, __cil_tmp29, len,
18703 __cil_tmp30);
18704 }
18705#line 2435
18706 if (status) {
18707 {
18708#line 2436
18709 __cil_tmp31 = (unsigned int )block;
18710#line 2436
18711 __cil_tmp32 = (unsigned long )region;
18712#line 2436
18713 __cil_tmp33 = __cil_tmp32 + 16;
18714#line 2436
18715 __cil_tmp34 = *((unsigned long **)__cil_tmp33);
18716#line 2436
18717 __cil_tmp35 = (unsigned long volatile *)__cil_tmp34;
18718#line 2436
18719 set_bit(__cil_tmp31, __cil_tmp35);
18720 }
18721 } else {
18722 {
18723#line 2438
18724 __cil_tmp36 = (unsigned long )region;
18725#line 2438
18726 __cil_tmp37 = __cil_tmp36 + 16;
18727#line 2438
18728 __cil_tmp38 = *((unsigned long **)__cil_tmp37);
18729#line 2438
18730 __cil_tmp39 = (unsigned long volatile *)__cil_tmp38;
18731#line 2438
18732 clear_bit(block, __cil_tmp39);
18733 }
18734 }
18735#line 2429
18736 block = block + 1;
18737 }
18738 while_break___0: ;
18739 }
18740 __Cont:
18741#line 2424
18742 i = i + 1;
18743 }
18744 while_break: ;
18745 }
18746#line 2441
18747 return;
18748}
18749}
18750#line 2443 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18751static int cfi_intelext_suspend(struct mtd_info *mtd )
18752{ struct map_info *map ;
18753 struct cfi_private *cfi ;
18754 struct cfi_pri_intelext *extp ;
18755 int i ;
18756 struct flchip *chip ;
18757 int ret ;
18758 map_word tmp___7 ;
18759 unsigned long __cil_tmp9 ;
18760 unsigned long __cil_tmp10 ;
18761 void *__cil_tmp11 ;
18762 unsigned long __cil_tmp12 ;
18763 unsigned long __cil_tmp13 ;
18764 void *__cil_tmp14 ;
18765 unsigned long __cil_tmp15 ;
18766 unsigned long __cil_tmp16 ;
18767 void *__cil_tmp17 ;
18768 unsigned long __cil_tmp18 ;
18769 unsigned long __cil_tmp19 ;
18770 uint32_t __cil_tmp20 ;
18771 int __cil_tmp21 ;
18772 unsigned int __cil_tmp22 ;
18773 unsigned long __cil_tmp23 ;
18774 unsigned long __cil_tmp24 ;
18775 uint32_t __cil_tmp25 ;
18776 unsigned long __cil_tmp26 ;
18777 unsigned long __cil_tmp27 ;
18778 int __cil_tmp28 ;
18779 unsigned long __cil_tmp29 ;
18780 unsigned long __cil_tmp30 ;
18781 unsigned long __cil_tmp31 ;
18782 unsigned long __cil_tmp32 ;
18783 unsigned long __cil_tmp33 ;
18784 unsigned long __cil_tmp34 ;
18785 struct mutex *__cil_tmp35 ;
18786 unsigned long __cil_tmp36 ;
18787 unsigned long __cil_tmp37 ;
18788 flstate_t __cil_tmp38 ;
18789 unsigned long __cil_tmp39 ;
18790 unsigned long __cil_tmp40 ;
18791 flstate_t __cil_tmp41 ;
18792 unsigned int __cil_tmp42 ;
18793 u_long __cil_tmp43 ;
18794 unsigned long __cil_tmp44 ;
18795 unsigned long __cil_tmp45 ;
18796 void (*__cil_tmp46)(struct map_info * , map_word , unsigned long ) ;
18797 map_word __cil_tmp47 ;
18798 unsigned long __cil_tmp48 ;
18799 unsigned long __cil_tmp49 ;
18800 unsigned long __cil_tmp50 ;
18801 unsigned long __cil_tmp51 ;
18802 unsigned long __cil_tmp52 ;
18803 unsigned long __cil_tmp53 ;
18804 unsigned long __cil_tmp54 ;
18805 unsigned long __cil_tmp55 ;
18806 unsigned long __cil_tmp56 ;
18807 unsigned long __cil_tmp57 ;
18808 unsigned long __cil_tmp58 ;
18809 unsigned long __cil_tmp59 ;
18810 unsigned long __cil_tmp60 ;
18811 flstate_t __cil_tmp61 ;
18812 unsigned int __cil_tmp62 ;
18813 unsigned long __cil_tmp63 ;
18814 unsigned long __cil_tmp64 ;
18815 flstate_t __cil_tmp65 ;
18816 unsigned int __cil_tmp66 ;
18817 unsigned long __cil_tmp67 ;
18818 unsigned long __cil_tmp68 ;
18819 struct mutex *__cil_tmp69 ;
18820 unsigned long __cil_tmp70 ;
18821 unsigned long __cil_tmp71 ;
18822 unsigned long __cil_tmp72 ;
18823 unsigned long __cil_tmp73 ;
18824 unsigned long __cil_tmp74 ;
18825 unsigned long __cil_tmp75 ;
18826 struct mutex *__cil_tmp76 ;
18827 unsigned long __cil_tmp77 ;
18828 unsigned long __cil_tmp78 ;
18829 flstate_t __cil_tmp79 ;
18830 unsigned int __cil_tmp80 ;
18831 unsigned long __cil_tmp81 ;
18832 unsigned long __cil_tmp82 ;
18833 unsigned long __cil_tmp83 ;
18834 unsigned long __cil_tmp84 ;
18835 unsigned long __cil_tmp85 ;
18836 unsigned long __cil_tmp86 ;
18837 unsigned long __cil_tmp87 ;
18838 unsigned long __cil_tmp88 ;
18839 wait_queue_head_t *__cil_tmp89 ;
18840 void *__cil_tmp90 ;
18841 unsigned long __cil_tmp91 ;
18842 unsigned long __cil_tmp92 ;
18843 struct mutex *__cil_tmp93 ;
18844
18845 {
18846#line 2445
18847 __cil_tmp9 = (unsigned long )mtd;
18848#line 2445
18849 __cil_tmp10 = __cil_tmp9 + 360;
18850#line 2445
18851 __cil_tmp11 = *((void **)__cil_tmp10);
18852#line 2445
18853 map = (struct map_info *)__cil_tmp11;
18854#line 2446
18855 __cil_tmp12 = (unsigned long )map;
18856#line 2446
18857 __cil_tmp13 = __cil_tmp12 + 120;
18858#line 2446
18859 __cil_tmp14 = *((void **)__cil_tmp13);
18860#line 2446
18861 cfi = (struct cfi_private *)__cil_tmp14;
18862#line 2447
18863 __cil_tmp15 = (unsigned long )cfi;
18864#line 2447
18865 __cil_tmp16 = __cil_tmp15 + 8;
18866#line 2447
18867 __cil_tmp17 = *((void **)__cil_tmp16);
18868#line 2447
18869 extp = (struct cfi_pri_intelext *)__cil_tmp17;
18870#line 2450
18871 ret = 0;
18872 {
18873#line 2452
18874 __cil_tmp18 = (unsigned long )mtd;
18875#line 2452
18876 __cil_tmp19 = __cil_tmp18 + 4;
18877#line 2452
18878 __cil_tmp20 = *((uint32_t *)__cil_tmp19);
18879#line 2452
18880 if (__cil_tmp20 & 8192U) {
18881#line 2452
18882 if (extp) {
18883 {
18884#line 2452
18885 __cil_tmp21 = 1 << 5;
18886#line 2452
18887 __cil_tmp22 = (unsigned int )__cil_tmp21;
18888#line 2452
18889 __cil_tmp23 = (unsigned long )extp;
18890#line 2452
18891 __cil_tmp24 = __cil_tmp23 + 5;
18892#line 2452
18893 __cil_tmp25 = *((uint32_t *)__cil_tmp24);
18894#line 2452
18895 if (__cil_tmp25 & __cil_tmp22) {
18896 {
18897#line 2454
18898 cfi_intelext_save_locks(mtd);
18899 }
18900 } else {
18901
18902 }
18903 }
18904 } else {
18905
18906 }
18907 } else {
18908
18909 }
18910 }
18911#line 2456
18912 i = 0;
18913 {
18914#line 2456
18915 while (1) {
18916 while_continue: ;
18917#line 2456
18918 if (! ret) {
18919 {
18920#line 2456
18921 __cil_tmp26 = (unsigned long )cfi;
18922#line 2456
18923 __cil_tmp27 = __cil_tmp26 + 64;
18924#line 2456
18925 __cil_tmp28 = *((int *)__cil_tmp27);
18926#line 2456
18927 if (i < __cil_tmp28) {
18928
18929 } else {
18930#line 2456
18931 goto while_break;
18932 }
18933 }
18934 } else {
18935#line 2456
18936 goto while_break;
18937 }
18938 {
18939#line 2457
18940 __cil_tmp29 = i * 176UL;
18941#line 2457
18942 __cil_tmp30 = 120 + __cil_tmp29;
18943#line 2457
18944 __cil_tmp31 = (unsigned long )cfi;
18945#line 2457
18946 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
18947#line 2457
18948 chip = (struct flchip *)__cil_tmp32;
18949#line 2459
18950 __cil_tmp33 = (unsigned long )chip;
18951#line 2459
18952 __cil_tmp34 = __cil_tmp33 + 32;
18953#line 2459
18954 __cil_tmp35 = (struct mutex *)__cil_tmp34;
18955#line 2459
18956 mutex_lock(__cil_tmp35);
18957 }
18958 {
18959#line 2461
18960 __cil_tmp36 = (unsigned long )chip;
18961#line 2461
18962 __cil_tmp37 = __cil_tmp36 + 12;
18963#line 2461
18964 __cil_tmp38 = *((flstate_t *)__cil_tmp37);
18965#line 2462
18966 if ((int )__cil_tmp38 == 0) {
18967#line 2462
18968 goto case_0;
18969 } else
18970#line 2463
18971 if ((int )__cil_tmp38 == 1) {
18972#line 2463
18973 goto case_0;
18974 } else
18975#line 2464
18976 if ((int )__cil_tmp38 == 2) {
18977#line 2464
18978 goto case_0;
18979 } else
18980#line 2465
18981 if ((int )__cil_tmp38 == 3) {
18982#line 2465
18983 goto case_0;
18984 } else
18985#line 2488
18986 if ((int )__cil_tmp38 == 12) {
18987#line 2488
18988 goto case_12;
18989 } else {
18990 {
18991#line 2481
18992 goto switch_default;
18993#line 2461
18994 if (0) {
18995 case_0:
18996 case_1:
18997 case_2:
18998 case_3:
18999 {
19000#line 2466
19001 __cil_tmp39 = (unsigned long )chip;
19002#line 2466
19003 __cil_tmp40 = __cil_tmp39 + 16;
19004#line 2466
19005 __cil_tmp41 = *((flstate_t *)__cil_tmp40);
19006#line 2466
19007 __cil_tmp42 = (unsigned int )__cil_tmp41;
19008#line 2466
19009 if (__cil_tmp42 == 0U) {
19010 {
19011#line 2468
19012 __cil_tmp43 = (u_long )255;
19013#line 2468
19014 tmp___7 = cfi_build_cmd(__cil_tmp43, map, cfi);
19015#line 2468
19016 __cil_tmp44 = (unsigned long )map;
19017#line 2468
19018 __cil_tmp45 = __cil_tmp44 + 64;
19019#line 2468
19020 __cil_tmp46 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp45);
19021#line 2468
19022 __cil_tmp47 = (map_word )tmp___7;
19023#line 2468
19024 __cil_tmp48 = i * 176UL;
19025#line 2468
19026 __cil_tmp49 = 120 + __cil_tmp48;
19027#line 2468
19028 __cil_tmp50 = (unsigned long )cfi;
19029#line 2468
19030 __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
19031#line 2468
19032 __cil_tmp52 = *((unsigned long *)__cil_tmp51);
19033#line 2468
19034 (*__cil_tmp46)(map, __cil_tmp47, __cil_tmp52);
19035#line 2469
19036 __cil_tmp53 = (unsigned long )chip;
19037#line 2469
19038 __cil_tmp54 = __cil_tmp53 + 16;
19039#line 2469
19040 __cil_tmp55 = (unsigned long )chip;
19041#line 2469
19042 __cil_tmp56 = __cil_tmp55 + 12;
19043#line 2469
19044 *((flstate_t *)__cil_tmp54) = *((flstate_t *)__cil_tmp56);
19045#line 2470
19046 __cil_tmp57 = (unsigned long )chip;
19047#line 2470
19048 __cil_tmp58 = __cil_tmp57 + 12;
19049#line 2470
19050 *((flstate_t *)__cil_tmp58) = (flstate_t )12;
19051 }
19052 } else {
19053 {
19054#line 2477
19055 __cil_tmp59 = (unsigned long )chip;
19056#line 2477
19057 __cil_tmp60 = __cil_tmp59 + 16;
19058#line 2477
19059 __cil_tmp61 = *((flstate_t *)__cil_tmp60);
19060#line 2477
19061 __cil_tmp62 = (unsigned int )__cil_tmp61;
19062#line 2477
19063 printk("<5>Flash device refused suspend due to pending operation (oldstate %d)\n",
19064 __cil_tmp62);
19065#line 2478
19066 ret = -11;
19067 }
19068 }
19069 }
19070#line 2480
19071 goto switch_break;
19072 switch_default:
19073 {
19074#line 2486
19075 __cil_tmp63 = (unsigned long )chip;
19076#line 2486
19077 __cil_tmp64 = __cil_tmp63 + 12;
19078#line 2486
19079 __cil_tmp65 = *((flstate_t *)__cil_tmp64);
19080#line 2486
19081 __cil_tmp66 = (unsigned int )__cil_tmp65;
19082#line 2486
19083 printk("<5>Flash device refused suspend due to active operation (state %d)\n",
19084 __cil_tmp66);
19085#line 2487
19086 ret = -11;
19087 }
19088 case_12:
19089#line 2489
19090 goto switch_break;
19091 } else {
19092 switch_break: ;
19093 }
19094 }
19095 }
19096 }
19097 {
19098#line 2491
19099 __cil_tmp67 = (unsigned long )chip;
19100#line 2491
19101 __cil_tmp68 = __cil_tmp67 + 32;
19102#line 2491
19103 __cil_tmp69 = (struct mutex *)__cil_tmp68;
19104#line 2491
19105 mutex_unlock(__cil_tmp69);
19106#line 2456
19107 i = i + 1;
19108 }
19109 }
19110 while_break: ;
19111 }
19112#line 2496
19113 if (ret) {
19114#line 2497
19115 i = i - 1;
19116 {
19117#line 2497
19118 while (1) {
19119 while_continue___0: ;
19120#line 2497
19121 if (i >= 0) {
19122
19123 } else {
19124#line 2497
19125 goto while_break___0;
19126 }
19127 {
19128#line 2498
19129 __cil_tmp70 = i * 176UL;
19130#line 2498
19131 __cil_tmp71 = 120 + __cil_tmp70;
19132#line 2498
19133 __cil_tmp72 = (unsigned long )cfi;
19134#line 2498
19135 __cil_tmp73 = __cil_tmp72 + __cil_tmp71;
19136#line 2498
19137 chip = (struct flchip *)__cil_tmp73;
19138#line 2500
19139 __cil_tmp74 = (unsigned long )chip;
19140#line 2500
19141 __cil_tmp75 = __cil_tmp74 + 32;
19142#line 2500
19143 __cil_tmp76 = (struct mutex *)__cil_tmp75;
19144#line 2500
19145 mutex_lock(__cil_tmp76);
19146 }
19147 {
19148#line 2502
19149 __cil_tmp77 = (unsigned long )chip;
19150#line 2502
19151 __cil_tmp78 = __cil_tmp77 + 12;
19152#line 2502
19153 __cil_tmp79 = *((flstate_t *)__cil_tmp78);
19154#line 2502
19155 __cil_tmp80 = (unsigned int )__cil_tmp79;
19156#line 2502
19157 if (__cil_tmp80 == 12U) {
19158 {
19159#line 2506
19160 __cil_tmp81 = (unsigned long )chip;
19161#line 2506
19162 __cil_tmp82 = __cil_tmp81 + 12;
19163#line 2506
19164 __cil_tmp83 = (unsigned long )chip;
19165#line 2506
19166 __cil_tmp84 = __cil_tmp83 + 16;
19167#line 2506
19168 *((flstate_t *)__cil_tmp82) = *((flstate_t *)__cil_tmp84);
19169#line 2507
19170 __cil_tmp85 = (unsigned long )chip;
19171#line 2507
19172 __cil_tmp86 = __cil_tmp85 + 16;
19173#line 2507
19174 *((flstate_t *)__cil_tmp86) = (flstate_t )0;
19175#line 2508
19176 __cil_tmp87 = (unsigned long )chip;
19177#line 2508
19178 __cil_tmp88 = __cil_tmp87 + 104;
19179#line 2508
19180 __cil_tmp89 = (wait_queue_head_t *)__cil_tmp88;
19181#line 2508
19182 __cil_tmp90 = (void *)0;
19183#line 2508
19184 __wake_up(__cil_tmp89, 3U, 1, __cil_tmp90);
19185 }
19186 } else {
19187
19188 }
19189 }
19190 {
19191#line 2510
19192 __cil_tmp91 = (unsigned long )chip;
19193#line 2510
19194 __cil_tmp92 = __cil_tmp91 + 32;
19195#line 2510
19196 __cil_tmp93 = (struct mutex *)__cil_tmp92;
19197#line 2510
19198 mutex_unlock(__cil_tmp93);
19199#line 2497
19200 i = i - 1;
19201 }
19202 }
19203 while_break___0: ;
19204 }
19205 } else {
19206
19207 }
19208#line 2514
19209 return (ret);
19210}
19211}
19212#line 2517 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19213static void cfi_intelext_restore_locks(struct mtd_info *mtd )
19214{ struct mtd_erase_region_info *region ;
19215 int block ;
19216 int i ;
19217 unsigned long adr ;
19218 size_t len ;
19219 unsigned long tmp___7 ;
19220 unsigned long tmp___8 ;
19221 unsigned long __cil_tmp9 ;
19222 unsigned long __cil_tmp10 ;
19223 int __cil_tmp11 ;
19224 unsigned long __cil_tmp12 ;
19225 unsigned long __cil_tmp13 ;
19226 struct mtd_erase_region_info *__cil_tmp14 ;
19227 unsigned long __cil_tmp15 ;
19228 unsigned long __cil_tmp16 ;
19229 unsigned long *__cil_tmp17 ;
19230 unsigned long __cil_tmp18 ;
19231 unsigned long __cil_tmp19 ;
19232 unsigned long *__cil_tmp20 ;
19233 unsigned long *__cil_tmp21 ;
19234 unsigned long __cil_tmp22 ;
19235 unsigned long __cil_tmp23 ;
19236 uint32_t __cil_tmp24 ;
19237 unsigned long __cil_tmp25 ;
19238 unsigned long __cil_tmp26 ;
19239 unsigned long __cil_tmp27 ;
19240 uint32_t __cil_tmp28 ;
19241 uint32_t __cil_tmp29 ;
19242 unsigned long __cil_tmp30 ;
19243 unsigned long __cil_tmp31 ;
19244 uint32_t __cil_tmp32 ;
19245 size_t __cil_tmp33 ;
19246 size_t __cil_tmp34 ;
19247 uint64_t __cil_tmp35 ;
19248 uint64_t __cil_tmp36 ;
19249 uint64_t __cil_tmp37 ;
19250 loff_t __cil_tmp38 ;
19251 uint64_t __cil_tmp39 ;
19252 unsigned long __cil_tmp40 ;
19253 unsigned long __cil_tmp41 ;
19254 unsigned long *__cil_tmp42 ;
19255 unsigned long *__cil_tmp43 ;
19256 unsigned long __cil_tmp44 ;
19257 unsigned long __cil_tmp45 ;
19258 uint32_t __cil_tmp46 ;
19259 unsigned long __cil_tmp47 ;
19260 int __cil_tmp48 ;
19261 unsigned long __cil_tmp49 ;
19262
19263 {
19264#line 2524
19265 i = 0;
19266 {
19267#line 2524
19268 while (1) {
19269 while_continue: ;
19270 {
19271#line 2524
19272 __cil_tmp9 = (unsigned long )mtd;
19273#line 2524
19274 __cil_tmp10 = __cil_tmp9 + 84;
19275#line 2524
19276 __cil_tmp11 = *((int *)__cil_tmp10);
19277#line 2524
19278 if (i < __cil_tmp11) {
19279
19280 } else {
19281#line 2524
19282 goto while_break;
19283 }
19284 }
19285#line 2525
19286 __cil_tmp12 = (unsigned long )mtd;
19287#line 2525
19288 __cil_tmp13 = __cil_tmp12 + 88;
19289#line 2525
19290 __cil_tmp14 = *((struct mtd_erase_region_info **)__cil_tmp13);
19291#line 2525
19292 region = __cil_tmp14 + i;
19293 {
19294#line 2526
19295 __cil_tmp15 = (unsigned long )region;
19296#line 2526
19297 __cil_tmp16 = __cil_tmp15 + 16;
19298#line 2526
19299 __cil_tmp17 = *((unsigned long **)__cil_tmp16);
19300#line 2526
19301 if (! __cil_tmp17) {
19302#line 2527
19303 goto __Cont;
19304 } else {
19305
19306 }
19307 }
19308 {
19309#line 2529
19310 __cil_tmp18 = (unsigned long )region;
19311#line 2529
19312 __cil_tmp19 = __cil_tmp18 + 16;
19313#line 2529
19314 __cil_tmp20 = *((unsigned long **)__cil_tmp19);
19315#line 2529
19316 __cil_tmp21 = (unsigned long *)__cil_tmp20;
19317#line 2529
19318 __cil_tmp22 = (unsigned long )region;
19319#line 2529
19320 __cil_tmp23 = __cil_tmp22 + 12;
19321#line 2529
19322 __cil_tmp24 = *((uint32_t *)__cil_tmp23);
19323#line 2529
19324 __cil_tmp25 = (unsigned long )__cil_tmp24;
19325#line 2529
19326 tmp___7 = find_first_zero_bit(__cil_tmp21, __cil_tmp25);
19327#line 2529
19328 block = (int )tmp___7;
19329 }
19330 {
19331#line 2529
19332 while (1) {
19333 while_continue___0: ;
19334 {
19335#line 2529
19336 __cil_tmp26 = (unsigned long )region;
19337#line 2529
19338 __cil_tmp27 = __cil_tmp26 + 12;
19339#line 2529
19340 __cil_tmp28 = *((uint32_t *)__cil_tmp27);
19341#line 2529
19342 __cil_tmp29 = (uint32_t )block;
19343#line 2529
19344 if (__cil_tmp29 < __cil_tmp28) {
19345
19346 } else {
19347#line 2529
19348 goto while_break___0;
19349 }
19350 }
19351 {
19352#line 2530
19353 __cil_tmp30 = (unsigned long )region;
19354#line 2530
19355 __cil_tmp31 = __cil_tmp30 + 8;
19356#line 2530
19357 __cil_tmp32 = *((uint32_t *)__cil_tmp31);
19358#line 2530
19359 len = (size_t )__cil_tmp32;
19360#line 2531
19361 __cil_tmp33 = (size_t )block;
19362#line 2531
19363 __cil_tmp34 = __cil_tmp33 * len;
19364#line 2531
19365 __cil_tmp35 = (uint64_t )__cil_tmp34;
19366#line 2531
19367 __cil_tmp36 = *((uint64_t *)region);
19368#line 2531
19369 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
19370#line 2531
19371 adr = (unsigned long )__cil_tmp37;
19372#line 2532
19373 __cil_tmp38 = (loff_t )adr;
19374#line 2532
19375 __cil_tmp39 = (uint64_t )len;
19376#line 2532
19377 cfi_intelext_unlock(mtd, __cil_tmp38, __cil_tmp39);
19378#line 2529
19379 __cil_tmp40 = (unsigned long )region;
19380#line 2529
19381 __cil_tmp41 = __cil_tmp40 + 16;
19382#line 2529
19383 __cil_tmp42 = *((unsigned long **)__cil_tmp41);
19384#line 2529
19385 __cil_tmp43 = (unsigned long *)__cil_tmp42;
19386#line 2529
19387 __cil_tmp44 = (unsigned long )region;
19388#line 2529
19389 __cil_tmp45 = __cil_tmp44 + 12;
19390#line 2529
19391 __cil_tmp46 = *((uint32_t *)__cil_tmp45);
19392#line 2529
19393 __cil_tmp47 = (unsigned long )__cil_tmp46;
19394#line 2529
19395 __cil_tmp48 = block + 1;
19396#line 2529
19397 __cil_tmp49 = (unsigned long )__cil_tmp48;
19398#line 2529
19399 tmp___8 = find_next_zero_bit(__cil_tmp43, __cil_tmp47, __cil_tmp49);
19400#line 2529
19401 block = (int )tmp___8;
19402 }
19403 }
19404 while_break___0: ;
19405 }
19406 __Cont:
19407#line 2524
19408 i = i + 1;
19409 }
19410 while_break: ;
19411 }
19412#line 2535
19413 return;
19414}
19415}
19416#line 2537 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19417static void cfi_intelext_resume(struct mtd_info *mtd )
19418{ struct map_info *map ;
19419 struct cfi_private *cfi ;
19420 struct cfi_pri_intelext *extp ;
19421 int i ;
19422 struct flchip *chip ;
19423 map_word tmp___7 ;
19424 flstate_t tmp___8 ;
19425 unsigned long __cil_tmp9 ;
19426 unsigned long __cil_tmp10 ;
19427 void *__cil_tmp11 ;
19428 unsigned long __cil_tmp12 ;
19429 unsigned long __cil_tmp13 ;
19430 void *__cil_tmp14 ;
19431 unsigned long __cil_tmp15 ;
19432 unsigned long __cil_tmp16 ;
19433 void *__cil_tmp17 ;
19434 unsigned long __cil_tmp18 ;
19435 unsigned long __cil_tmp19 ;
19436 int __cil_tmp20 ;
19437 unsigned long __cil_tmp21 ;
19438 unsigned long __cil_tmp22 ;
19439 unsigned long __cil_tmp23 ;
19440 unsigned long __cil_tmp24 ;
19441 unsigned long __cil_tmp25 ;
19442 unsigned long __cil_tmp26 ;
19443 struct mutex *__cil_tmp27 ;
19444 unsigned long __cil_tmp28 ;
19445 unsigned long __cil_tmp29 ;
19446 flstate_t __cil_tmp30 ;
19447 unsigned int __cil_tmp31 ;
19448 u_long __cil_tmp32 ;
19449 unsigned long __cil_tmp33 ;
19450 unsigned long __cil_tmp34 ;
19451 void (*__cil_tmp35)(struct map_info * , map_word , unsigned long ) ;
19452 map_word __cil_tmp36 ;
19453 unsigned long __cil_tmp37 ;
19454 unsigned long __cil_tmp38 ;
19455 unsigned long __cil_tmp39 ;
19456 unsigned long __cil_tmp40 ;
19457 unsigned long __cil_tmp41 ;
19458 unsigned long __cil_tmp42 ;
19459 unsigned long __cil_tmp43 ;
19460 unsigned long __cil_tmp44 ;
19461 unsigned long __cil_tmp45 ;
19462 unsigned long __cil_tmp46 ;
19463 unsigned long __cil_tmp47 ;
19464 wait_queue_head_t *__cil_tmp48 ;
19465 void *__cil_tmp49 ;
19466 unsigned long __cil_tmp50 ;
19467 unsigned long __cil_tmp51 ;
19468 struct mutex *__cil_tmp52 ;
19469 unsigned long __cil_tmp53 ;
19470 unsigned long __cil_tmp54 ;
19471 uint32_t __cil_tmp55 ;
19472 int __cil_tmp56 ;
19473 unsigned int __cil_tmp57 ;
19474 unsigned long __cil_tmp58 ;
19475 unsigned long __cil_tmp59 ;
19476 uint32_t __cil_tmp60 ;
19477
19478 {
19479#line 2539
19480 __cil_tmp9 = (unsigned long )mtd;
19481#line 2539
19482 __cil_tmp10 = __cil_tmp9 + 360;
19483#line 2539
19484 __cil_tmp11 = *((void **)__cil_tmp10);
19485#line 2539
19486 map = (struct map_info *)__cil_tmp11;
19487#line 2540
19488 __cil_tmp12 = (unsigned long )map;
19489#line 2540
19490 __cil_tmp13 = __cil_tmp12 + 120;
19491#line 2540
19492 __cil_tmp14 = *((void **)__cil_tmp13);
19493#line 2540
19494 cfi = (struct cfi_private *)__cil_tmp14;
19495#line 2541
19496 __cil_tmp15 = (unsigned long )cfi;
19497#line 2541
19498 __cil_tmp16 = __cil_tmp15 + 8;
19499#line 2541
19500 __cil_tmp17 = *((void **)__cil_tmp16);
19501#line 2541
19502 extp = (struct cfi_pri_intelext *)__cil_tmp17;
19503#line 2545
19504 i = 0;
19505 {
19506#line 2545
19507 while (1) {
19508 while_continue: ;
19509 {
19510#line 2545
19511 __cil_tmp18 = (unsigned long )cfi;
19512#line 2545
19513 __cil_tmp19 = __cil_tmp18 + 64;
19514#line 2545
19515 __cil_tmp20 = *((int *)__cil_tmp19);
19516#line 2545
19517 if (i < __cil_tmp20) {
19518
19519 } else {
19520#line 2545
19521 goto while_break;
19522 }
19523 }
19524 {
19525#line 2547
19526 __cil_tmp21 = i * 176UL;
19527#line 2547
19528 __cil_tmp22 = 120 + __cil_tmp21;
19529#line 2547
19530 __cil_tmp23 = (unsigned long )cfi;
19531#line 2547
19532 __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
19533#line 2547
19534 chip = (struct flchip *)__cil_tmp24;
19535#line 2549
19536 __cil_tmp25 = (unsigned long )chip;
19537#line 2549
19538 __cil_tmp26 = __cil_tmp25 + 32;
19539#line 2549
19540 __cil_tmp27 = (struct mutex *)__cil_tmp26;
19541#line 2549
19542 mutex_lock(__cil_tmp27);
19543 }
19544 {
19545#line 2552
19546 __cil_tmp28 = (unsigned long )chip;
19547#line 2552
19548 __cil_tmp29 = __cil_tmp28 + 12;
19549#line 2552
19550 __cil_tmp30 = *((flstate_t *)__cil_tmp29);
19551#line 2552
19552 __cil_tmp31 = (unsigned int )__cil_tmp30;
19553#line 2552
19554 if (__cil_tmp31 == 12U) {
19555 {
19556#line 2553
19557 __cil_tmp32 = (u_long )255;
19558#line 2553
19559 tmp___7 = cfi_build_cmd(__cil_tmp32, map, cfi);
19560#line 2553
19561 __cil_tmp33 = (unsigned long )map;
19562#line 2553
19563 __cil_tmp34 = __cil_tmp33 + 64;
19564#line 2553
19565 __cil_tmp35 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp34);
19566#line 2553
19567 __cil_tmp36 = (map_word )tmp___7;
19568#line 2553
19569 __cil_tmp37 = i * 176UL;
19570#line 2553
19571 __cil_tmp38 = 120 + __cil_tmp37;
19572#line 2553
19573 __cil_tmp39 = (unsigned long )cfi;
19574#line 2553
19575 __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
19576#line 2553
19577 __cil_tmp41 = *((unsigned long *)__cil_tmp40);
19578#line 2553
19579 (*__cil_tmp35)(map, __cil_tmp36, __cil_tmp41);
19580#line 2554
19581 tmp___8 = (flstate_t )0;
19582#line 2554
19583 __cil_tmp42 = (unsigned long )chip;
19584#line 2554
19585 __cil_tmp43 = __cil_tmp42 + 12;
19586#line 2554
19587 *((flstate_t *)__cil_tmp43) = tmp___8;
19588#line 2554
19589 __cil_tmp44 = (unsigned long )chip;
19590#line 2554
19591 __cil_tmp45 = __cil_tmp44 + 16;
19592#line 2554
19593 *((flstate_t *)__cil_tmp45) = tmp___8;
19594#line 2555
19595 __cil_tmp46 = (unsigned long )chip;
19596#line 2555
19597 __cil_tmp47 = __cil_tmp46 + 104;
19598#line 2555
19599 __cil_tmp48 = (wait_queue_head_t *)__cil_tmp47;
19600#line 2555
19601 __cil_tmp49 = (void *)0;
19602#line 2555
19603 __wake_up(__cil_tmp48, 3U, 1, __cil_tmp49);
19604 }
19605 } else {
19606
19607 }
19608 }
19609 {
19610#line 2558
19611 __cil_tmp50 = (unsigned long )chip;
19612#line 2558
19613 __cil_tmp51 = __cil_tmp50 + 32;
19614#line 2558
19615 __cil_tmp52 = (struct mutex *)__cil_tmp51;
19616#line 2558
19617 mutex_unlock(__cil_tmp52);
19618#line 2545
19619 i = i + 1;
19620 }
19621 }
19622 while_break: ;
19623 }
19624 {
19625#line 2561
19626 __cil_tmp53 = (unsigned long )mtd;
19627#line 2561
19628 __cil_tmp54 = __cil_tmp53 + 4;
19629#line 2561
19630 __cil_tmp55 = *((uint32_t *)__cil_tmp54);
19631#line 2561
19632 if (__cil_tmp55 & 8192U) {
19633#line 2561
19634 if (extp) {
19635 {
19636#line 2561
19637 __cil_tmp56 = 1 << 5;
19638#line 2561
19639 __cil_tmp57 = (unsigned int )__cil_tmp56;
19640#line 2561
19641 __cil_tmp58 = (unsigned long )extp;
19642#line 2561
19643 __cil_tmp59 = __cil_tmp58 + 5;
19644#line 2561
19645 __cil_tmp60 = *((uint32_t *)__cil_tmp59);
19646#line 2561
19647 if (__cil_tmp60 & __cil_tmp57) {
19648 {
19649#line 2563
19650 cfi_intelext_restore_locks(mtd);
19651 }
19652 } else {
19653
19654 }
19655 }
19656 } else {
19657
19658 }
19659 } else {
19660
19661 }
19662 }
19663#line 2564
19664 return;
19665}
19666}
19667#line 2566 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19668static int cfi_intelext_reset(struct mtd_info *mtd )
19669{ struct map_info *map ;
19670 struct cfi_private *cfi ;
19671 int i ;
19672 int ret ;
19673 struct flchip *chip ;
19674 map_word tmp___7 ;
19675 unsigned long __cil_tmp8 ;
19676 unsigned long __cil_tmp9 ;
19677 void *__cil_tmp10 ;
19678 unsigned long __cil_tmp11 ;
19679 unsigned long __cil_tmp12 ;
19680 void *__cil_tmp13 ;
19681 unsigned long __cil_tmp14 ;
19682 unsigned long __cil_tmp15 ;
19683 int __cil_tmp16 ;
19684 unsigned long __cil_tmp17 ;
19685 unsigned long __cil_tmp18 ;
19686 unsigned long __cil_tmp19 ;
19687 unsigned long __cil_tmp20 ;
19688 unsigned long __cil_tmp21 ;
19689 unsigned long __cil_tmp22 ;
19690 struct mutex *__cil_tmp23 ;
19691 unsigned long __cil_tmp24 ;
19692 u_long __cil_tmp25 ;
19693 unsigned long __cil_tmp26 ;
19694 unsigned long __cil_tmp27 ;
19695 void (*__cil_tmp28)(struct map_info * , map_word , unsigned long ) ;
19696 map_word __cil_tmp29 ;
19697 unsigned long __cil_tmp30 ;
19698 unsigned long __cil_tmp31 ;
19699 unsigned long __cil_tmp32 ;
19700 unsigned long __cil_tmp33 ;
19701 unsigned long __cil_tmp34 ;
19702 unsigned long __cil_tmp35 ;
19703 struct mutex *__cil_tmp36 ;
19704
19705 {
19706#line 2568
19707 __cil_tmp8 = (unsigned long )mtd;
19708#line 2568
19709 __cil_tmp9 = __cil_tmp8 + 360;
19710#line 2568
19711 __cil_tmp10 = *((void **)__cil_tmp9);
19712#line 2568
19713 map = (struct map_info *)__cil_tmp10;
19714#line 2569
19715 __cil_tmp11 = (unsigned long )map;
19716#line 2569
19717 __cil_tmp12 = __cil_tmp11 + 120;
19718#line 2569
19719 __cil_tmp13 = *((void **)__cil_tmp12);
19720#line 2569
19721 cfi = (struct cfi_private *)__cil_tmp13;
19722#line 2572
19723 i = 0;
19724 {
19725#line 2572
19726 while (1) {
19727 while_continue: ;
19728 {
19729#line 2572
19730 __cil_tmp14 = (unsigned long )cfi;
19731#line 2572
19732 __cil_tmp15 = __cil_tmp14 + 64;
19733#line 2572
19734 __cil_tmp16 = *((int *)__cil_tmp15);
19735#line 2572
19736 if (i < __cil_tmp16) {
19737
19738 } else {
19739#line 2572
19740 goto while_break;
19741 }
19742 }
19743 {
19744#line 2573
19745 __cil_tmp17 = i * 176UL;
19746#line 2573
19747 __cil_tmp18 = 120 + __cil_tmp17;
19748#line 2573
19749 __cil_tmp19 = (unsigned long )cfi;
19750#line 2573
19751 __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
19752#line 2573
19753 chip = (struct flchip *)__cil_tmp20;
19754#line 2578
19755 __cil_tmp21 = (unsigned long )chip;
19756#line 2578
19757 __cil_tmp22 = __cil_tmp21 + 32;
19758#line 2578
19759 __cil_tmp23 = (struct mutex *)__cil_tmp22;
19760#line 2578
19761 mutex_lock(__cil_tmp23);
19762#line 2579
19763 __cil_tmp24 = *((unsigned long *)chip);
19764#line 2579
19765 ret = get_chip(map, chip, __cil_tmp24, 20);
19766 }
19767#line 2580
19768 if (! ret) {
19769 {
19770#line 2581
19771 __cil_tmp25 = (u_long )255;
19772#line 2581
19773 tmp___7 = cfi_build_cmd(__cil_tmp25, map, cfi);
19774#line 2581
19775 __cil_tmp26 = (unsigned long )map;
19776#line 2581
19777 __cil_tmp27 = __cil_tmp26 + 64;
19778#line 2581
19779 __cil_tmp28 = *((void (**)(struct map_info * , map_word , unsigned long ))__cil_tmp27);
19780#line 2581
19781 __cil_tmp29 = (map_word )tmp___7;
19782#line 2581
19783 __cil_tmp30 = *((unsigned long *)chip);
19784#line 2581
19785 (*__cil_tmp28)(map, __cil_tmp29, __cil_tmp30);
19786#line 2582
19787 __cil_tmp31 = (unsigned long )chip;
19788#line 2582
19789 __cil_tmp32 = __cil_tmp31 + 12;
19790#line 2582
19791 *((flstate_t *)__cil_tmp32) = (flstate_t )20;
19792#line 2583
19793 __cil_tmp33 = *((unsigned long *)chip);
19794#line 2583
19795 put_chip(map, chip, __cil_tmp33);
19796 }
19797 } else {
19798
19799 }
19800 {
19801#line 2585
19802 __cil_tmp34 = (unsigned long )chip;
19803#line 2585
19804 __cil_tmp35 = __cil_tmp34 + 32;
19805#line 2585
19806 __cil_tmp36 = (struct mutex *)__cil_tmp35;
19807#line 2585
19808 mutex_unlock(__cil_tmp36);
19809#line 2572
19810 i = i + 1;
19811 }
19812 }
19813 while_break: ;
19814 }
19815#line 2588
19816 return (0);
19817}
19818}
19819#line 2591 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19820static int cfi_intelext_reboot(struct notifier_block *nb , unsigned long val , void *v )
19821{ struct mtd_info *mtd ;
19822 struct notifier_block *__mptr ;
19823 struct mtd_info *__cil_tmp6 ;
19824 unsigned long __cil_tmp7 ;
19825 unsigned long __cil_tmp8 ;
19826 struct notifier_block *__cil_tmp9 ;
19827 unsigned int __cil_tmp10 ;
19828 char *__cil_tmp11 ;
19829 char *__cil_tmp12 ;
19830
19831 {
19832 {
19833#line 2596
19834 __mptr = (struct notifier_block *)nb;
19835#line 2596
19836 __cil_tmp6 = (struct mtd_info *)0;
19837#line 2596
19838 __cil_tmp7 = (unsigned long )__cil_tmp6;
19839#line 2596
19840 __cil_tmp8 = __cil_tmp7 + 312;
19841#line 2596
19842 __cil_tmp9 = (struct notifier_block *)__cil_tmp8;
19843#line 2596
19844 __cil_tmp10 = (unsigned int )__cil_tmp9;
19845#line 2596
19846 __cil_tmp11 = (char *)__mptr;
19847#line 2596
19848 __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
19849#line 2596
19850 mtd = (struct mtd_info *)__cil_tmp12;
19851#line 2597
19852 cfi_intelext_reset(mtd);
19853 }
19854#line 2598
19855 return (0);
19856}
19857}
19858#line 2601 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19859static void cfi_intelext_destroy(struct mtd_info *mtd )
19860{ struct map_info *map ;
19861 struct cfi_private *cfi ;
19862 struct mtd_erase_region_info *region ;
19863 int i ;
19864 unsigned long __cil_tmp6 ;
19865 unsigned long __cil_tmp7 ;
19866 void *__cil_tmp8 ;
19867 unsigned long __cil_tmp9 ;
19868 unsigned long __cil_tmp10 ;
19869 void *__cil_tmp11 ;
19870 unsigned long __cil_tmp12 ;
19871 unsigned long __cil_tmp13 ;
19872 struct notifier_block *__cil_tmp14 ;
19873 unsigned long __cil_tmp15 ;
19874 unsigned long __cil_tmp16 ;
19875 void *__cil_tmp17 ;
19876 void *__cil_tmp18 ;
19877 unsigned long __cil_tmp19 ;
19878 unsigned long __cil_tmp20 ;
19879 struct cfi_ident *__cil_tmp21 ;
19880 void *__cil_tmp22 ;
19881 unsigned long __cil_tmp23 ;
19882 unsigned long __cil_tmp24 ;
19883 unsigned long __cil_tmp25 ;
19884 unsigned long __cil_tmp26 ;
19885 unsigned long __cil_tmp27 ;
19886 void *__cil_tmp28 ;
19887 void *__cil_tmp29 ;
19888 void *__cil_tmp30 ;
19889 unsigned long __cil_tmp31 ;
19890 unsigned long __cil_tmp32 ;
19891 int __cil_tmp33 ;
19892 unsigned long __cil_tmp34 ;
19893 unsigned long __cil_tmp35 ;
19894 struct mtd_erase_region_info *__cil_tmp36 ;
19895 unsigned long __cil_tmp37 ;
19896 unsigned long __cil_tmp38 ;
19897 unsigned long __cil_tmp39 ;
19898 unsigned long __cil_tmp40 ;
19899 unsigned long *__cil_tmp41 ;
19900 void *__cil_tmp42 ;
19901 unsigned long __cil_tmp43 ;
19902 unsigned long __cil_tmp44 ;
19903 struct mtd_erase_region_info *__cil_tmp45 ;
19904 void *__cil_tmp46 ;
19905
19906 {
19907 {
19908#line 2603
19909 __cil_tmp6 = (unsigned long )mtd;
19910#line 2603
19911 __cil_tmp7 = __cil_tmp6 + 360;
19912#line 2603
19913 __cil_tmp8 = *((void **)__cil_tmp7);
19914#line 2603
19915 map = (struct map_info *)__cil_tmp8;
19916#line 2604
19917 __cil_tmp9 = (unsigned long )map;
19918#line 2604
19919 __cil_tmp10 = __cil_tmp9 + 120;
19920#line 2604
19921 __cil_tmp11 = *((void **)__cil_tmp10);
19922#line 2604
19923 cfi = (struct cfi_private *)__cil_tmp11;
19924#line 2607
19925 cfi_intelext_reset(mtd);
19926#line 2608
19927 __cil_tmp12 = (unsigned long )mtd;
19928#line 2608
19929 __cil_tmp13 = __cil_tmp12 + 312;
19930#line 2608
19931 __cil_tmp14 = (struct notifier_block *)__cil_tmp13;
19932#line 2608
19933 unregister_reboot_notifier(__cil_tmp14);
19934#line 2609
19935 __cil_tmp15 = (unsigned long )cfi;
19936#line 2609
19937 __cil_tmp16 = __cil_tmp15 + 8;
19938#line 2609
19939 __cil_tmp17 = *((void **)__cil_tmp16);
19940#line 2609
19941 __cil_tmp18 = (void *)__cil_tmp17;
19942#line 2609
19943 kfree(__cil_tmp18);
19944#line 2610
19945 __cil_tmp19 = (unsigned long )cfi;
19946#line 2610
19947 __cil_tmp20 = __cil_tmp19 + 48;
19948#line 2610
19949 __cil_tmp21 = *((struct cfi_ident **)__cil_tmp20);
19950#line 2610
19951 __cil_tmp22 = (void *)__cil_tmp21;
19952#line 2610
19953 kfree(__cil_tmp22);
19954#line 2611
19955 __cil_tmp23 = 0 * 176UL;
19956#line 2611
19957 __cil_tmp24 = __cil_tmp23 + 168;
19958#line 2611
19959 __cil_tmp25 = 120 + __cil_tmp24;
19960#line 2611
19961 __cil_tmp26 = (unsigned long )cfi;
19962#line 2611
19963 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
19964#line 2611
19965 __cil_tmp28 = *((void **)__cil_tmp27);
19966#line 2611
19967 __cil_tmp29 = (void *)__cil_tmp28;
19968#line 2611
19969 kfree(__cil_tmp29);
19970#line 2612
19971 __cil_tmp30 = (void *)cfi;
19972#line 2612
19973 kfree(__cil_tmp30);
19974#line 2613
19975 i = 0;
19976 }
19977 {
19978#line 2613
19979 while (1) {
19980 while_continue: ;
19981 {
19982#line 2613
19983 __cil_tmp31 = (unsigned long )mtd;
19984#line 2613
19985 __cil_tmp32 = __cil_tmp31 + 84;
19986#line 2613
19987 __cil_tmp33 = *((int *)__cil_tmp32);
19988#line 2613
19989 if (i < __cil_tmp33) {
19990
19991 } else {
19992#line 2613
19993 goto while_break;
19994 }
19995 }
19996#line 2614
19997 __cil_tmp34 = (unsigned long )mtd;
19998#line 2614
19999 __cil_tmp35 = __cil_tmp34 + 88;
20000#line 2614
20001 __cil_tmp36 = *((struct mtd_erase_region_info **)__cil_tmp35);
20002#line 2614
20003 region = __cil_tmp36 + i;
20004 {
20005#line 2615
20006 __cil_tmp37 = (unsigned long )region;
20007#line 2615
20008 __cil_tmp38 = __cil_tmp37 + 16;
20009#line 2615
20010 if (*((unsigned long **)__cil_tmp38)) {
20011 {
20012#line 2616
20013 __cil_tmp39 = (unsigned long )region;
20014#line 2616
20015 __cil_tmp40 = __cil_tmp39 + 16;
20016#line 2616
20017 __cil_tmp41 = *((unsigned long **)__cil_tmp40);
20018#line 2616
20019 __cil_tmp42 = (void *)__cil_tmp41;
20020#line 2616
20021 kfree(__cil_tmp42);
20022 }
20023 } else {
20024
20025 }
20026 }
20027#line 2613
20028 i = i + 1;
20029 }
20030 while_break: ;
20031 }
20032 {
20033#line 2618
20034 __cil_tmp43 = (unsigned long )mtd;
20035#line 2618
20036 __cil_tmp44 = __cil_tmp43 + 88;
20037#line 2618
20038 __cil_tmp45 = *((struct mtd_erase_region_info **)__cil_tmp44);
20039#line 2618
20040 __cil_tmp46 = (void *)__cil_tmp45;
20041#line 2618
20042 kfree(__cil_tmp46);
20043 }
20044#line 2619
20045 return;
20046}
20047}
20048#line 2621 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20049static char __mod_license2621[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
20050__aligned__(1))) =
20051#line 2621
20052 { (char )'l', (char )'i', (char const )'c', (char const )'e',
20053 (char )'n', (char )'s', (char const )'e', (char const )'=',
20054 (char )'G', (char )'P', (char const )'L', (char const )'\000'};
20055#line 2622 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20056static char __mod_author2622[52] __attribute__((__used__, __unused__, __section__(".modinfo"),
20057__aligned__(1))) =
20058#line 2622
20059 { (char )'a', (char )'u', (char const )'t', (char const )'h',
20060 (char )'o', (char )'r', (char const )'=', (char const )'D',
20061 (char )'a', (char )'v', (char const )'i', (char const )'d',
20062 (char )' ', (char )'W', (char const )'o', (char const )'o',
20063 (char )'d', (char )'h', (char const )'o', (char const )'u',
20064 (char )'s', (char )'e', (char const )' ', (char const )'<',
20065 (char )'d', (char )'w', (char const )'m', (char const )'w',
20066 (char )'2', (char )'@', (char const )'i', (char const )'n',
20067 (char )'f', (char )'r', (char const )'a', (char const )'d',
20068 (char )'e', (char )'a', (char const )'d', (char const )'.',
20069 (char )'o', (char )'r', (char const )'g', (char const )'>',
20070 (char )' ', (char )'e', (char const )'t', (char const )' ',
20071 (char )'a', (char )'l', (char const )'.', (char const )'\000'};
20072#line 2623 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20073static char __mod_description2623[56] __attribute__((__used__, __unused__,
20074__section__(".modinfo"), __aligned__(1))) =
20075#line 2623
20076 { (char )'d', (char )'e', (char const )'s', (char const )'c',
20077 (char )'r', (char )'i', (char const )'p', (char const )'t',
20078 (char )'i', (char )'o', (char const )'n', (char const )'=',
20079 (char )'M', (char )'T', (char const )'D', (char const )' ',
20080 (char )'c', (char )'h', (char const )'i', (char const )'p',
20081 (char )' ', (char )'d', (char const )'r', (char const )'i',
20082 (char )'v', (char )'e', (char const )'r', (char const )' ',
20083 (char )'f', (char )'o', (char const )'r', (char const )' ',
20084 (char )'I', (char )'n', (char const )'t', (char const )'e',
20085 (char )'l', (char )'/', (char const )'S', (char const )'h',
20086 (char )'a', (char )'r', (char const )'p', (char const )' ',
20087 (char )'f', (char )'l', (char const )'a', (char const )'s',
20088 (char )'h', (char )' ', (char const )'c', (char const )'h',
20089 (char )'i', (char )'p', (char const )'s', (char const )'\000'};
20090#line 2624 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20091static char __mod_alias2624[22] __attribute__((__used__, __unused__, __section__(".modinfo"),
20092__aligned__(1))) =
20093#line 2624
20094 { (char )'a', (char )'l', (char const )'i', (char const )'a',
20095 (char )'s', (char )'=', (char const )'c', (char const )'f',
20096 (char )'i', (char )'_', (char const )'c', (char const )'m',
20097 (char )'d', (char )'s', (char const )'e', (char const )'t',
20098 (char )'_', (char )'0', (char const )'0', (char const )'0',
20099 (char )'3', (char )'\000'};
20100#line 2625 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20101static char __mod_alias2625[22] __attribute__((__used__, __unused__, __section__(".modinfo"),
20102__aligned__(1))) =
20103#line 2625
20104 { (char )'a', (char )'l', (char const )'i', (char const )'a',
20105 (char )'s', (char )'=', (char const )'c', (char const )'f',
20106 (char )'i', (char )'_', (char const )'c', (char const )'m',
20107 (char )'d', (char )'s', (char const )'e', (char const )'t',
20108 (char )'_', (char )'0', (char const )'2', (char const )'0',
20109 (char )'0', (char )'\000'};
20110#line 2643
20111void ldv_check_final_state(void) ;
20112#line 2649
20113extern void ldv_initialize(void) ;
20114#line 2652
20115extern int __VERIFIER_nondet_int(void) ;
20116#line 2655 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20117int LDV_IN_INTERRUPT ;
20118#line 2658 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20119void main(void)
20120{ struct mtd_info *var_group1 ;
20121 int tmp___7 ;
20122 int tmp___8 ;
20123
20124 {
20125 {
20126#line 2731
20127 LDV_IN_INTERRUPT = 1;
20128#line 2740
20129 ldv_initialize();
20130 }
20131 {
20132#line 2744
20133 while (1) {
20134 while_continue: ;
20135 {
20136#line 2744
20137 tmp___8 = __VERIFIER_nondet_int();
20138 }
20139#line 2744
20140 if (tmp___8) {
20141
20142 } else {
20143#line 2744
20144 goto while_break;
20145 }
20146 {
20147#line 2747
20148 tmp___7 = __VERIFIER_nondet_int();
20149 }
20150#line 2749
20151 if (tmp___7 == 0) {
20152#line 2749
20153 goto case_0;
20154 } else {
20155 {
20156#line 2820
20157 goto switch_default;
20158#line 2747
20159 if (0) {
20160 case_0:
20161 {
20162#line 2812
20163 cfi_intelext_destroy(var_group1);
20164 }
20165#line 2819
20166 goto switch_break;
20167 switch_default:
20168#line 2820
20169 goto switch_break;
20170 } else {
20171 switch_break: ;
20172 }
20173 }
20174 }
20175 }
20176 while_break: ;
20177 }
20178 {
20179#line 2829
20180 ldv_check_final_state();
20181 }
20182#line 2832
20183 return;
20184}
20185}
20186#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
20187void ldv_blast_assert(void)
20188{
20189
20190 {
20191 ERROR:
20192#line 6
20193 goto ERROR;
20194}
20195}
20196#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
20197extern int __VERIFIER_nondet_int(void) ;
20198#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20199int ldv_mutex = 1;
20200#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20201int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
20202{ int nondetermined ;
20203
20204 {
20205#line 29
20206 if (ldv_mutex == 1) {
20207
20208 } else {
20209 {
20210#line 29
20211 ldv_blast_assert();
20212 }
20213 }
20214 {
20215#line 32
20216 nondetermined = __VERIFIER_nondet_int();
20217 }
20218#line 35
20219 if (nondetermined) {
20220#line 38
20221 ldv_mutex = 2;
20222#line 40
20223 return (0);
20224 } else {
20225#line 45
20226 return (-4);
20227 }
20228}
20229}
20230#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20231int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
20232{ int nondetermined ;
20233
20234 {
20235#line 57
20236 if (ldv_mutex == 1) {
20237
20238 } else {
20239 {
20240#line 57
20241 ldv_blast_assert();
20242 }
20243 }
20244 {
20245#line 60
20246 nondetermined = __VERIFIER_nondet_int();
20247 }
20248#line 63
20249 if (nondetermined) {
20250#line 66
20251 ldv_mutex = 2;
20252#line 68
20253 return (0);
20254 } else {
20255#line 73
20256 return (-4);
20257 }
20258}
20259}
20260#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20261int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
20262{ int atomic_value_after_dec ;
20263
20264 {
20265#line 83
20266 if (ldv_mutex == 1) {
20267
20268 } else {
20269 {
20270#line 83
20271 ldv_blast_assert();
20272 }
20273 }
20274 {
20275#line 86
20276 atomic_value_after_dec = __VERIFIER_nondet_int();
20277 }
20278#line 89
20279 if (atomic_value_after_dec == 0) {
20280#line 92
20281 ldv_mutex = 2;
20282#line 94
20283 return (1);
20284 } else {
20285
20286 }
20287#line 98
20288 return (0);
20289}
20290}
20291#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20292void mutex_lock(struct mutex *lock )
20293{
20294
20295 {
20296#line 108
20297 if (ldv_mutex == 1) {
20298
20299 } else {
20300 {
20301#line 108
20302 ldv_blast_assert();
20303 }
20304 }
20305#line 110
20306 ldv_mutex = 2;
20307#line 111
20308 return;
20309}
20310}
20311#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20312int mutex_trylock(struct mutex *lock )
20313{ int nondetermined ;
20314
20315 {
20316#line 121
20317 if (ldv_mutex == 1) {
20318
20319 } else {
20320 {
20321#line 121
20322 ldv_blast_assert();
20323 }
20324 }
20325 {
20326#line 124
20327 nondetermined = __VERIFIER_nondet_int();
20328 }
20329#line 127
20330 if (nondetermined) {
20331#line 130
20332 ldv_mutex = 2;
20333#line 132
20334 return (1);
20335 } else {
20336#line 137
20337 return (0);
20338 }
20339}
20340}
20341#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20342void mutex_unlock(struct mutex *lock )
20343{
20344
20345 {
20346#line 147
20347 if (ldv_mutex == 2) {
20348
20349 } else {
20350 {
20351#line 147
20352 ldv_blast_assert();
20353 }
20354 }
20355#line 149
20356 ldv_mutex = 1;
20357#line 150
20358 return;
20359}
20360}
20361#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20362void ldv_check_final_state(void)
20363{
20364
20365 {
20366#line 156
20367 if (ldv_mutex == 1) {
20368
20369 } else {
20370 {
20371#line 156
20372 ldv_blast_assert();
20373 }
20374 }
20375#line 157
20376 return;
20377}
20378}
20379#line 2841 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20380long s__builtin_expect(long val , long res )
20381{
20382
20383 {
20384#line 2842
20385 return (val);
20386}
20387}