1
2
3
4#line 20 "include/asm-generic/int-ll64.h"
5typedef unsigned char __u8;
6#line 23 "include/asm-generic/int-ll64.h"
7typedef unsigned short __u16;
8#line 25 "include/asm-generic/int-ll64.h"
9typedef int __s32;
10#line 26 "include/asm-generic/int-ll64.h"
11typedef unsigned int __u32;
12#line 30 "include/asm-generic/int-ll64.h"
13typedef unsigned long long __u64;
14#line 43 "include/asm-generic/int-ll64.h"
15typedef unsigned char u8;
16#line 45 "include/asm-generic/int-ll64.h"
17typedef short s16;
18#line 46 "include/asm-generic/int-ll64.h"
19typedef unsigned short u16;
20#line 49 "include/asm-generic/int-ll64.h"
21typedef unsigned int u32;
22#line 51 "include/asm-generic/int-ll64.h"
23typedef long long s64;
24#line 52 "include/asm-generic/int-ll64.h"
25typedef unsigned long long u64;
26#line 14 "include/asm-generic/posix_types.h"
27typedef long __kernel_long_t;
28#line 15 "include/asm-generic/posix_types.h"
29typedef unsigned long __kernel_ulong_t;
30#line 31 "include/asm-generic/posix_types.h"
31typedef int __kernel_pid_t;
32#line 52 "include/asm-generic/posix_types.h"
33typedef unsigned int __kernel_uid32_t;
34#line 53 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_gid32_t;
36#line 75 "include/asm-generic/posix_types.h"
37typedef __kernel_ulong_t __kernel_size_t;
38#line 76 "include/asm-generic/posix_types.h"
39typedef __kernel_long_t __kernel_ssize_t;
40#line 91 "include/asm-generic/posix_types.h"
41typedef long long __kernel_loff_t;
42#line 92 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_time_t;
44#line 93 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_clock_t;
46#line 94 "include/asm-generic/posix_types.h"
47typedef int __kernel_timer_t;
48#line 95 "include/asm-generic/posix_types.h"
49typedef int __kernel_clockid_t;
50#line 21 "include/linux/types.h"
51typedef __u32 __kernel_dev_t;
52#line 24 "include/linux/types.h"
53typedef __kernel_dev_t dev_t;
54#line 27 "include/linux/types.h"
55typedef unsigned short umode_t;
56#line 30 "include/linux/types.h"
57typedef __kernel_pid_t pid_t;
58#line 35 "include/linux/types.h"
59typedef __kernel_clockid_t clockid_t;
60#line 38 "include/linux/types.h"
61typedef _Bool bool;
62#line 40 "include/linux/types.h"
63typedef __kernel_uid32_t uid_t;
64#line 41 "include/linux/types.h"
65typedef __kernel_gid32_t gid_t;
66#line 54 "include/linux/types.h"
67typedef __kernel_loff_t loff_t;
68#line 63 "include/linux/types.h"
69typedef __kernel_size_t size_t;
70#line 68 "include/linux/types.h"
71typedef __kernel_ssize_t ssize_t;
72#line 78 "include/linux/types.h"
73typedef __kernel_time_t time_t;
74#line 92 "include/linux/types.h"
75typedef unsigned char u_char;
76#line 95 "include/linux/types.h"
77typedef unsigned long u_long;
78#line 111 "include/linux/types.h"
79typedef __s32 int32_t;
80#line 115 "include/linux/types.h"
81typedef __u8 uint8_t;
82#line 117 "include/linux/types.h"
83typedef __u32 uint32_t;
84#line 120 "include/linux/types.h"
85typedef __u64 uint64_t;
86#line 202 "include/linux/types.h"
87typedef unsigned int gfp_t;
88#line 206 "include/linux/types.h"
89typedef u64 phys_addr_t;
90#line 211 "include/linux/types.h"
91typedef phys_addr_t resource_size_t;
92#line 221 "include/linux/types.h"
93struct __anonstruct_atomic_t_6 {
94 int counter ;
95};
96#line 221 "include/linux/types.h"
97typedef struct __anonstruct_atomic_t_6 atomic_t;
98#line 226 "include/linux/types.h"
99struct __anonstruct_atomic64_t_7 {
100 long counter ;
101};
102#line 226 "include/linux/types.h"
103typedef struct __anonstruct_atomic64_t_7 atomic64_t;
104#line 227 "include/linux/types.h"
105struct list_head {
106 struct list_head *next ;
107 struct list_head *prev ;
108};
109#line 232
110struct hlist_node;
111#line 232 "include/linux/types.h"
112struct hlist_head {
113 struct hlist_node *first ;
114};
115#line 236 "include/linux/types.h"
116struct hlist_node {
117 struct hlist_node *next ;
118 struct hlist_node **pprev ;
119};
120#line 247 "include/linux/types.h"
121struct rcu_head {
122 struct rcu_head *next ;
123 void (*func)(struct rcu_head * ) ;
124};
125#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
126struct module;
127#line 55
128struct module;
129#line 146 "include/linux/init.h"
130typedef void (*ctor_fn_t)(void);
131#line 46 "include/linux/dynamic_debug.h"
132struct device;
133#line 46
134struct device;
135#line 57
136struct completion;
137#line 57
138struct completion;
139#line 58
140struct pt_regs;
141#line 58
142struct pt_regs;
143#line 348 "include/linux/kernel.h"
144struct pid;
145#line 348
146struct pid;
147#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
148struct timespec;
149#line 112
150struct timespec;
151#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
152struct page;
153#line 58
154struct page;
155#line 26 "include/asm-generic/getorder.h"
156struct task_struct;
157#line 26
158struct task_struct;
159#line 28
160struct mm_struct;
161#line 28
162struct mm_struct;
163#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
164struct pt_regs {
165 unsigned long r15 ;
166 unsigned long r14 ;
167 unsigned long r13 ;
168 unsigned long r12 ;
169 unsigned long bp ;
170 unsigned long bx ;
171 unsigned long r11 ;
172 unsigned long r10 ;
173 unsigned long r9 ;
174 unsigned long r8 ;
175 unsigned long ax ;
176 unsigned long cx ;
177 unsigned long dx ;
178 unsigned long si ;
179 unsigned long di ;
180 unsigned long orig_ax ;
181 unsigned long ip ;
182 unsigned long cs ;
183 unsigned long flags ;
184 unsigned long sp ;
185 unsigned long ss ;
186};
187#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
188struct __anonstruct_ldv_2180_13 {
189 unsigned int a ;
190 unsigned int b ;
191};
192#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
193struct __anonstruct_ldv_2195_14 {
194 u16 limit0 ;
195 u16 base0 ;
196 unsigned char base1 ;
197 unsigned char type : 4 ;
198 unsigned char s : 1 ;
199 unsigned char dpl : 2 ;
200 unsigned char p : 1 ;
201 unsigned char limit : 4 ;
202 unsigned char avl : 1 ;
203 unsigned char l : 1 ;
204 unsigned char d : 1 ;
205 unsigned char g : 1 ;
206 unsigned char base2 ;
207};
208#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
209union __anonunion_ldv_2196_12 {
210 struct __anonstruct_ldv_2180_13 ldv_2180 ;
211 struct __anonstruct_ldv_2195_14 ldv_2195 ;
212};
213#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
214struct desc_struct {
215 union __anonunion_ldv_2196_12 ldv_2196 ;
216};
217#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
218typedef unsigned long pgdval_t;
219#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
220typedef unsigned long pgprotval_t;
221#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
222struct pgprot {
223 pgprotval_t pgprot ;
224};
225#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
226typedef struct pgprot pgprot_t;
227#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
228struct __anonstruct_pgd_t_16 {
229 pgdval_t pgd ;
230};
231#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
232typedef struct __anonstruct_pgd_t_16 pgd_t;
233#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
234typedef struct page *pgtable_t;
235#line 290
236struct file;
237#line 290
238struct file;
239#line 337
240struct thread_struct;
241#line 337
242struct thread_struct;
243#line 339
244struct cpumask;
245#line 339
246struct cpumask;
247#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
248struct arch_spinlock;
249#line 327
250struct arch_spinlock;
251#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
252struct kernel_vm86_regs {
253 struct pt_regs pt ;
254 unsigned short es ;
255 unsigned short __esh ;
256 unsigned short ds ;
257 unsigned short __dsh ;
258 unsigned short fs ;
259 unsigned short __fsh ;
260 unsigned short gs ;
261 unsigned short __gsh ;
262};
263#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
264union __anonunion_ldv_2824_19 {
265 struct pt_regs *regs ;
266 struct kernel_vm86_regs *vm86 ;
267};
268#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
269struct math_emu_info {
270 long ___orig_eip ;
271 union __anonunion_ldv_2824_19 ldv_2824 ;
272};
273#line 306 "include/linux/bitmap.h"
274struct bug_entry {
275 int bug_addr_disp ;
276 int file_disp ;
277 unsigned short line ;
278 unsigned short flags ;
279};
280#line 89 "include/linux/bug.h"
281struct cpumask {
282 unsigned long bits[64U] ;
283};
284#line 14 "include/linux/cpumask.h"
285typedef struct cpumask cpumask_t;
286#line 637 "include/linux/cpumask.h"
287typedef struct cpumask *cpumask_var_t;
288#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
289struct static_key;
290#line 234
291struct static_key;
292#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
293struct i387_fsave_struct {
294 u32 cwd ;
295 u32 swd ;
296 u32 twd ;
297 u32 fip ;
298 u32 fcs ;
299 u32 foo ;
300 u32 fos ;
301 u32 st_space[20U] ;
302 u32 status ;
303};
304#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
305struct __anonstruct_ldv_5180_24 {
306 u64 rip ;
307 u64 rdp ;
308};
309#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
310struct __anonstruct_ldv_5186_25 {
311 u32 fip ;
312 u32 fcs ;
313 u32 foo ;
314 u32 fos ;
315};
316#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
317union __anonunion_ldv_5187_23 {
318 struct __anonstruct_ldv_5180_24 ldv_5180 ;
319 struct __anonstruct_ldv_5186_25 ldv_5186 ;
320};
321#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
322union __anonunion_ldv_5196_26 {
323 u32 padding1[12U] ;
324 u32 sw_reserved[12U] ;
325};
326#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
327struct i387_fxsave_struct {
328 u16 cwd ;
329 u16 swd ;
330 u16 twd ;
331 u16 fop ;
332 union __anonunion_ldv_5187_23 ldv_5187 ;
333 u32 mxcsr ;
334 u32 mxcsr_mask ;
335 u32 st_space[32U] ;
336 u32 xmm_space[64U] ;
337 u32 padding[12U] ;
338 union __anonunion_ldv_5196_26 ldv_5196 ;
339};
340#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
341struct i387_soft_struct {
342 u32 cwd ;
343 u32 swd ;
344 u32 twd ;
345 u32 fip ;
346 u32 fcs ;
347 u32 foo ;
348 u32 fos ;
349 u32 st_space[20U] ;
350 u8 ftop ;
351 u8 changed ;
352 u8 lookahead ;
353 u8 no_update ;
354 u8 rm ;
355 u8 alimit ;
356 struct math_emu_info *info ;
357 u32 entry_eip ;
358};
359#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
360struct ymmh_struct {
361 u32 ymmh_space[64U] ;
362};
363#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
364struct xsave_hdr_struct {
365 u64 xstate_bv ;
366 u64 reserved1[2U] ;
367 u64 reserved2[5U] ;
368};
369#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
370struct xsave_struct {
371 struct i387_fxsave_struct i387 ;
372 struct xsave_hdr_struct xsave_hdr ;
373 struct ymmh_struct ymmh ;
374};
375#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
376union thread_xstate {
377 struct i387_fsave_struct fsave ;
378 struct i387_fxsave_struct fxsave ;
379 struct i387_soft_struct soft ;
380 struct xsave_struct xsave ;
381};
382#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
383struct fpu {
384 unsigned int last_cpu ;
385 unsigned int has_fpu ;
386 union thread_xstate *state ;
387};
388#line 433
389struct kmem_cache;
390#line 434
391struct perf_event;
392#line 434
393struct perf_event;
394#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
395struct thread_struct {
396 struct desc_struct tls_array[3U] ;
397 unsigned long sp0 ;
398 unsigned long sp ;
399 unsigned long usersp ;
400 unsigned short es ;
401 unsigned short ds ;
402 unsigned short fsindex ;
403 unsigned short gsindex ;
404 unsigned long fs ;
405 unsigned long gs ;
406 struct perf_event *ptrace_bps[4U] ;
407 unsigned long debugreg6 ;
408 unsigned long ptrace_dr7 ;
409 unsigned long cr2 ;
410 unsigned long trap_nr ;
411 unsigned long error_code ;
412 struct fpu fpu ;
413 unsigned long *io_bitmap_ptr ;
414 unsigned long iopl ;
415 unsigned int io_bitmap_max ;
416};
417#line 23 "include/asm-generic/atomic-long.h"
418typedef atomic64_t atomic_long_t;
419#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
420typedef u16 __ticket_t;
421#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
422typedef u32 __ticketpair_t;
423#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
424struct __raw_tickets {
425 __ticket_t head ;
426 __ticket_t tail ;
427};
428#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
429union __anonunion_ldv_5907_29 {
430 __ticketpair_t head_tail ;
431 struct __raw_tickets tickets ;
432};
433#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
434struct arch_spinlock {
435 union __anonunion_ldv_5907_29 ldv_5907 ;
436};
437#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
438typedef struct arch_spinlock arch_spinlock_t;
439#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
440struct lockdep_map;
441#line 34
442struct lockdep_map;
443#line 55 "include/linux/debug_locks.h"
444struct stack_trace {
445 unsigned int nr_entries ;
446 unsigned int max_entries ;
447 unsigned long *entries ;
448 int skip ;
449};
450#line 26 "include/linux/stacktrace.h"
451struct lockdep_subclass_key {
452 char __one_byte ;
453};
454#line 53 "include/linux/lockdep.h"
455struct lock_class_key {
456 struct lockdep_subclass_key subkeys[8U] ;
457};
458#line 59 "include/linux/lockdep.h"
459struct lock_class {
460 struct list_head hash_entry ;
461 struct list_head lock_entry ;
462 struct lockdep_subclass_key *key ;
463 unsigned int subclass ;
464 unsigned int dep_gen_id ;
465 unsigned long usage_mask ;
466 struct stack_trace usage_traces[13U] ;
467 struct list_head locks_after ;
468 struct list_head locks_before ;
469 unsigned int version ;
470 unsigned long ops ;
471 char const *name ;
472 int name_version ;
473 unsigned long contention_point[4U] ;
474 unsigned long contending_point[4U] ;
475};
476#line 144 "include/linux/lockdep.h"
477struct lockdep_map {
478 struct lock_class_key *key ;
479 struct lock_class *class_cache[2U] ;
480 char const *name ;
481 int cpu ;
482 unsigned long ip ;
483};
484#line 187 "include/linux/lockdep.h"
485struct held_lock {
486 u64 prev_chain_key ;
487 unsigned long acquire_ip ;
488 struct lockdep_map *instance ;
489 struct lockdep_map *nest_lock ;
490 u64 waittime_stamp ;
491 u64 holdtime_stamp ;
492 unsigned short class_idx : 13 ;
493 unsigned char irq_context : 2 ;
494 unsigned char trylock : 1 ;
495 unsigned char read : 2 ;
496 unsigned char check : 2 ;
497 unsigned char hardirqs_off : 1 ;
498 unsigned short references : 11 ;
499};
500#line 556 "include/linux/lockdep.h"
501struct raw_spinlock {
502 arch_spinlock_t raw_lock ;
503 unsigned int magic ;
504 unsigned int owner_cpu ;
505 void *owner ;
506 struct lockdep_map dep_map ;
507};
508#line 32 "include/linux/spinlock_types.h"
509typedef struct raw_spinlock raw_spinlock_t;
510#line 33 "include/linux/spinlock_types.h"
511struct __anonstruct_ldv_6122_33 {
512 u8 __padding[24U] ;
513 struct lockdep_map dep_map ;
514};
515#line 33 "include/linux/spinlock_types.h"
516union __anonunion_ldv_6123_32 {
517 struct raw_spinlock rlock ;
518 struct __anonstruct_ldv_6122_33 ldv_6122 ;
519};
520#line 33 "include/linux/spinlock_types.h"
521struct spinlock {
522 union __anonunion_ldv_6123_32 ldv_6123 ;
523};
524#line 76 "include/linux/spinlock_types.h"
525typedef struct spinlock spinlock_t;
526#line 110 "include/linux/seqlock.h"
527struct seqcount {
528 unsigned int sequence ;
529};
530#line 121 "include/linux/seqlock.h"
531typedef struct seqcount seqcount_t;
532#line 254 "include/linux/seqlock.h"
533struct timespec {
534 __kernel_time_t tv_sec ;
535 long tv_nsec ;
536};
537#line 48 "include/linux/wait.h"
538struct __wait_queue_head {
539 spinlock_t lock ;
540 struct list_head task_list ;
541};
542#line 53 "include/linux/wait.h"
543typedef struct __wait_queue_head wait_queue_head_t;
544#line 98 "include/linux/nodemask.h"
545struct __anonstruct_nodemask_t_36 {
546 unsigned long bits[16U] ;
547};
548#line 98 "include/linux/nodemask.h"
549typedef struct __anonstruct_nodemask_t_36 nodemask_t;
550#line 670 "include/linux/mmzone.h"
551struct mutex {
552 atomic_t count ;
553 spinlock_t wait_lock ;
554 struct list_head wait_list ;
555 struct task_struct *owner ;
556 char const *name ;
557 void *magic ;
558 struct lockdep_map dep_map ;
559};
560#line 63 "include/linux/mutex.h"
561struct mutex_waiter {
562 struct list_head list ;
563 struct task_struct *task ;
564 void *magic ;
565};
566#line 171
567struct rw_semaphore;
568#line 171
569struct rw_semaphore;
570#line 172 "include/linux/mutex.h"
571struct rw_semaphore {
572 long count ;
573 raw_spinlock_t wait_lock ;
574 struct list_head wait_list ;
575 struct lockdep_map dep_map ;
576};
577#line 128 "include/linux/rwsem.h"
578struct completion {
579 unsigned int done ;
580 wait_queue_head_t wait ;
581};
582#line 188 "include/linux/rcupdate.h"
583struct notifier_block;
584#line 188
585struct notifier_block;
586#line 239 "include/linux/srcu.h"
587struct notifier_block {
588 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
589 struct notifier_block *next ;
590 int priority ;
591};
592#line 312 "include/linux/jiffies.h"
593union ktime {
594 s64 tv64 ;
595};
596#line 59 "include/linux/ktime.h"
597typedef union ktime ktime_t;
598#line 341
599struct tvec_base;
600#line 341
601struct tvec_base;
602#line 342 "include/linux/ktime.h"
603struct timer_list {
604 struct list_head entry ;
605 unsigned long expires ;
606 struct tvec_base *base ;
607 void (*function)(unsigned long ) ;
608 unsigned long data ;
609 int slack ;
610 int start_pid ;
611 void *start_site ;
612 char start_comm[16U] ;
613 struct lockdep_map lockdep_map ;
614};
615#line 289 "include/linux/timer.h"
616struct hrtimer;
617#line 289
618struct hrtimer;
619#line 290
620enum hrtimer_restart;
621#line 302
622struct work_struct;
623#line 302
624struct work_struct;
625#line 45 "include/linux/workqueue.h"
626struct work_struct {
627 atomic_long_t data ;
628 struct list_head entry ;
629 void (*func)(struct work_struct * ) ;
630 struct lockdep_map lockdep_map ;
631};
632#line 46 "include/linux/pm.h"
633struct pm_message {
634 int event ;
635};
636#line 52 "include/linux/pm.h"
637typedef struct pm_message pm_message_t;
638#line 53 "include/linux/pm.h"
639struct dev_pm_ops {
640 int (*prepare)(struct device * ) ;
641 void (*complete)(struct device * ) ;
642 int (*suspend)(struct device * ) ;
643 int (*resume)(struct device * ) ;
644 int (*freeze)(struct device * ) ;
645 int (*thaw)(struct device * ) ;
646 int (*poweroff)(struct device * ) ;
647 int (*restore)(struct device * ) ;
648 int (*suspend_late)(struct device * ) ;
649 int (*resume_early)(struct device * ) ;
650 int (*freeze_late)(struct device * ) ;
651 int (*thaw_early)(struct device * ) ;
652 int (*poweroff_late)(struct device * ) ;
653 int (*restore_early)(struct device * ) ;
654 int (*suspend_noirq)(struct device * ) ;
655 int (*resume_noirq)(struct device * ) ;
656 int (*freeze_noirq)(struct device * ) ;
657 int (*thaw_noirq)(struct device * ) ;
658 int (*poweroff_noirq)(struct device * ) ;
659 int (*restore_noirq)(struct device * ) ;
660 int (*runtime_suspend)(struct device * ) ;
661 int (*runtime_resume)(struct device * ) ;
662 int (*runtime_idle)(struct device * ) ;
663};
664#line 289
665enum rpm_status {
666 RPM_ACTIVE = 0,
667 RPM_RESUMING = 1,
668 RPM_SUSPENDED = 2,
669 RPM_SUSPENDING = 3
670} ;
671#line 296
672enum rpm_request {
673 RPM_REQ_NONE = 0,
674 RPM_REQ_IDLE = 1,
675 RPM_REQ_SUSPEND = 2,
676 RPM_REQ_AUTOSUSPEND = 3,
677 RPM_REQ_RESUME = 4
678} ;
679#line 304
680struct wakeup_source;
681#line 304
682struct wakeup_source;
683#line 494 "include/linux/pm.h"
684struct pm_subsys_data {
685 spinlock_t lock ;
686 unsigned int refcount ;
687};
688#line 499
689struct dev_pm_qos_request;
690#line 499
691struct pm_qos_constraints;
692#line 499 "include/linux/pm.h"
693struct dev_pm_info {
694 pm_message_t power_state ;
695 unsigned char can_wakeup : 1 ;
696 unsigned char async_suspend : 1 ;
697 bool is_prepared ;
698 bool is_suspended ;
699 bool ignore_children ;
700 spinlock_t lock ;
701 struct list_head entry ;
702 struct completion completion ;
703 struct wakeup_source *wakeup ;
704 bool wakeup_path ;
705 struct timer_list suspend_timer ;
706 unsigned long timer_expires ;
707 struct work_struct work ;
708 wait_queue_head_t wait_queue ;
709 atomic_t usage_count ;
710 atomic_t child_count ;
711 unsigned char disable_depth : 3 ;
712 unsigned char idle_notification : 1 ;
713 unsigned char request_pending : 1 ;
714 unsigned char deferred_resume : 1 ;
715 unsigned char run_wake : 1 ;
716 unsigned char runtime_auto : 1 ;
717 unsigned char no_callbacks : 1 ;
718 unsigned char irq_safe : 1 ;
719 unsigned char use_autosuspend : 1 ;
720 unsigned char timer_autosuspends : 1 ;
721 enum rpm_request request ;
722 enum rpm_status runtime_status ;
723 int runtime_error ;
724 int autosuspend_delay ;
725 unsigned long last_busy ;
726 unsigned long active_jiffies ;
727 unsigned long suspended_jiffies ;
728 unsigned long accounting_timestamp ;
729 ktime_t suspend_time ;
730 s64 max_time_suspended_ns ;
731 struct dev_pm_qos_request *pq_req ;
732 struct pm_subsys_data *subsys_data ;
733 struct pm_qos_constraints *constraints ;
734};
735#line 558 "include/linux/pm.h"
736struct dev_pm_domain {
737 struct dev_pm_ops ops ;
738};
739#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
740struct __anonstruct_mm_context_t_101 {
741 void *ldt ;
742 int size ;
743 unsigned short ia32_compat ;
744 struct mutex lock ;
745 void *vdso ;
746};
747#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
748typedef struct __anonstruct_mm_context_t_101 mm_context_t;
749#line 18 "include/asm-generic/pci_iomap.h"
750struct vm_area_struct;
751#line 18
752struct vm_area_struct;
753#line 835 "include/linux/sysctl.h"
754struct rb_node {
755 unsigned long rb_parent_color ;
756 struct rb_node *rb_right ;
757 struct rb_node *rb_left ;
758};
759#line 108 "include/linux/rbtree.h"
760struct rb_root {
761 struct rb_node *rb_node ;
762};
763#line 176
764struct nsproxy;
765#line 176
766struct nsproxy;
767#line 37 "include/linux/kmod.h"
768struct cred;
769#line 37
770struct cred;
771#line 18 "include/linux/elf.h"
772typedef __u64 Elf64_Addr;
773#line 19 "include/linux/elf.h"
774typedef __u16 Elf64_Half;
775#line 23 "include/linux/elf.h"
776typedef __u32 Elf64_Word;
777#line 24 "include/linux/elf.h"
778typedef __u64 Elf64_Xword;
779#line 193 "include/linux/elf.h"
780struct elf64_sym {
781 Elf64_Word st_name ;
782 unsigned char st_info ;
783 unsigned char st_other ;
784 Elf64_Half st_shndx ;
785 Elf64_Addr st_value ;
786 Elf64_Xword st_size ;
787};
788#line 201 "include/linux/elf.h"
789typedef struct elf64_sym Elf64_Sym;
790#line 445
791struct sock;
792#line 445
793struct sock;
794#line 446
795struct kobject;
796#line 446
797struct kobject;
798#line 447
799enum kobj_ns_type {
800 KOBJ_NS_TYPE_NONE = 0,
801 KOBJ_NS_TYPE_NET = 1,
802 KOBJ_NS_TYPES = 2
803} ;
804#line 453 "include/linux/elf.h"
805struct kobj_ns_type_operations {
806 enum kobj_ns_type type ;
807 void *(*grab_current_ns)(void) ;
808 void const *(*netlink_ns)(struct sock * ) ;
809 void const *(*initial_ns)(void) ;
810 void (*drop_ns)(void * ) ;
811};
812#line 57 "include/linux/kobject_ns.h"
813struct attribute {
814 char const *name ;
815 umode_t mode ;
816 struct lock_class_key *key ;
817 struct lock_class_key skey ;
818};
819#line 33 "include/linux/sysfs.h"
820struct attribute_group {
821 char const *name ;
822 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
823 struct attribute **attrs ;
824};
825#line 62 "include/linux/sysfs.h"
826struct bin_attribute {
827 struct attribute attr ;
828 size_t size ;
829 void *private ;
830 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
831 loff_t , size_t ) ;
832 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
833 loff_t , size_t ) ;
834 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
835};
836#line 98 "include/linux/sysfs.h"
837struct sysfs_ops {
838 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
839 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
840 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
841};
842#line 117
843struct sysfs_dirent;
844#line 117
845struct sysfs_dirent;
846#line 182 "include/linux/sysfs.h"
847struct kref {
848 atomic_t refcount ;
849};
850#line 49 "include/linux/kobject.h"
851struct kset;
852#line 49
853struct kobj_type;
854#line 49 "include/linux/kobject.h"
855struct kobject {
856 char const *name ;
857 struct list_head entry ;
858 struct kobject *parent ;
859 struct kset *kset ;
860 struct kobj_type *ktype ;
861 struct sysfs_dirent *sd ;
862 struct kref kref ;
863 unsigned char state_initialized : 1 ;
864 unsigned char state_in_sysfs : 1 ;
865 unsigned char state_add_uevent_sent : 1 ;
866 unsigned char state_remove_uevent_sent : 1 ;
867 unsigned char uevent_suppress : 1 ;
868};
869#line 107 "include/linux/kobject.h"
870struct kobj_type {
871 void (*release)(struct kobject * ) ;
872 struct sysfs_ops const *sysfs_ops ;
873 struct attribute **default_attrs ;
874 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
875 void const *(*namespace)(struct kobject * ) ;
876};
877#line 115 "include/linux/kobject.h"
878struct kobj_uevent_env {
879 char *envp[32U] ;
880 int envp_idx ;
881 char buf[2048U] ;
882 int buflen ;
883};
884#line 122 "include/linux/kobject.h"
885struct kset_uevent_ops {
886 int (* const filter)(struct kset * , struct kobject * ) ;
887 char const *(* const name)(struct kset * , struct kobject * ) ;
888 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
889};
890#line 139 "include/linux/kobject.h"
891struct kset {
892 struct list_head list ;
893 spinlock_t list_lock ;
894 struct kobject kobj ;
895 struct kset_uevent_ops const *uevent_ops ;
896};
897#line 215
898struct kernel_param;
899#line 215
900struct kernel_param;
901#line 216 "include/linux/kobject.h"
902struct kernel_param_ops {
903 int (*set)(char const * , struct kernel_param const * ) ;
904 int (*get)(char * , struct kernel_param const * ) ;
905 void (*free)(void * ) ;
906};
907#line 49 "include/linux/moduleparam.h"
908struct kparam_string;
909#line 49
910struct kparam_array;
911#line 49 "include/linux/moduleparam.h"
912union __anonunion_ldv_13367_134 {
913 void *arg ;
914 struct kparam_string const *str ;
915 struct kparam_array const *arr ;
916};
917#line 49 "include/linux/moduleparam.h"
918struct kernel_param {
919 char const *name ;
920 struct kernel_param_ops const *ops ;
921 u16 perm ;
922 s16 level ;
923 union __anonunion_ldv_13367_134 ldv_13367 ;
924};
925#line 61 "include/linux/moduleparam.h"
926struct kparam_string {
927 unsigned int maxlen ;
928 char *string ;
929};
930#line 67 "include/linux/moduleparam.h"
931struct kparam_array {
932 unsigned int max ;
933 unsigned int elemsize ;
934 unsigned int *num ;
935 struct kernel_param_ops const *ops ;
936 void *elem ;
937};
938#line 458 "include/linux/moduleparam.h"
939struct static_key {
940 atomic_t enabled ;
941};
942#line 225 "include/linux/jump_label.h"
943struct tracepoint;
944#line 225
945struct tracepoint;
946#line 226 "include/linux/jump_label.h"
947struct tracepoint_func {
948 void *func ;
949 void *data ;
950};
951#line 29 "include/linux/tracepoint.h"
952struct tracepoint {
953 char const *name ;
954 struct static_key key ;
955 void (*regfunc)(void) ;
956 void (*unregfunc)(void) ;
957 struct tracepoint_func *funcs ;
958};
959#line 86 "include/linux/tracepoint.h"
960struct kernel_symbol {
961 unsigned long value ;
962 char const *name ;
963};
964#line 27 "include/linux/export.h"
965struct mod_arch_specific {
966
967};
968#line 34 "include/linux/module.h"
969struct module_param_attrs;
970#line 34 "include/linux/module.h"
971struct module_kobject {
972 struct kobject kobj ;
973 struct module *mod ;
974 struct kobject *drivers_dir ;
975 struct module_param_attrs *mp ;
976};
977#line 43 "include/linux/module.h"
978struct module_attribute {
979 struct attribute attr ;
980 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
981 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
982 size_t ) ;
983 void (*setup)(struct module * , char const * ) ;
984 int (*test)(struct module * ) ;
985 void (*free)(struct module * ) ;
986};
987#line 69
988struct exception_table_entry;
989#line 69
990struct exception_table_entry;
991#line 198
992enum module_state {
993 MODULE_STATE_LIVE = 0,
994 MODULE_STATE_COMING = 1,
995 MODULE_STATE_GOING = 2
996} ;
997#line 204 "include/linux/module.h"
998struct module_ref {
999 unsigned long incs ;
1000 unsigned long decs ;
1001};
1002#line 219
1003struct module_sect_attrs;
1004#line 219
1005struct module_notes_attrs;
1006#line 219
1007struct ftrace_event_call;
1008#line 219 "include/linux/module.h"
1009struct module {
1010 enum module_state state ;
1011 struct list_head list ;
1012 char name[56U] ;
1013 struct module_kobject mkobj ;
1014 struct module_attribute *modinfo_attrs ;
1015 char const *version ;
1016 char const *srcversion ;
1017 struct kobject *holders_dir ;
1018 struct kernel_symbol const *syms ;
1019 unsigned long const *crcs ;
1020 unsigned int num_syms ;
1021 struct kernel_param *kp ;
1022 unsigned int num_kp ;
1023 unsigned int num_gpl_syms ;
1024 struct kernel_symbol const *gpl_syms ;
1025 unsigned long const *gpl_crcs ;
1026 struct kernel_symbol const *unused_syms ;
1027 unsigned long const *unused_crcs ;
1028 unsigned int num_unused_syms ;
1029 unsigned int num_unused_gpl_syms ;
1030 struct kernel_symbol const *unused_gpl_syms ;
1031 unsigned long const *unused_gpl_crcs ;
1032 struct kernel_symbol const *gpl_future_syms ;
1033 unsigned long const *gpl_future_crcs ;
1034 unsigned int num_gpl_future_syms ;
1035 unsigned int num_exentries ;
1036 struct exception_table_entry *extable ;
1037 int (*init)(void) ;
1038 void *module_init ;
1039 void *module_core ;
1040 unsigned int init_size ;
1041 unsigned int core_size ;
1042 unsigned int init_text_size ;
1043 unsigned int core_text_size ;
1044 unsigned int init_ro_size ;
1045 unsigned int core_ro_size ;
1046 struct mod_arch_specific arch ;
1047 unsigned int taints ;
1048 unsigned int num_bugs ;
1049 struct list_head bug_list ;
1050 struct bug_entry *bug_table ;
1051 Elf64_Sym *symtab ;
1052 Elf64_Sym *core_symtab ;
1053 unsigned int num_symtab ;
1054 unsigned int core_num_syms ;
1055 char *strtab ;
1056 char *core_strtab ;
1057 struct module_sect_attrs *sect_attrs ;
1058 struct module_notes_attrs *notes_attrs ;
1059 char *args ;
1060 void *percpu ;
1061 unsigned int percpu_size ;
1062 unsigned int num_tracepoints ;
1063 struct tracepoint * const *tracepoints_ptrs ;
1064 unsigned int num_trace_bprintk_fmt ;
1065 char const **trace_bprintk_fmt_start ;
1066 struct ftrace_event_call **trace_events ;
1067 unsigned int num_trace_events ;
1068 struct list_head source_list ;
1069 struct list_head target_list ;
1070 struct task_struct *waiter ;
1071 void (*exit)(void) ;
1072 struct module_ref *refptr ;
1073 ctor_fn_t (**ctors)(void) ;
1074 unsigned int num_ctors ;
1075};
1076#line 88 "include/linux/kmemleak.h"
1077struct kmem_cache_cpu {
1078 void **freelist ;
1079 unsigned long tid ;
1080 struct page *page ;
1081 struct page *partial ;
1082 int node ;
1083 unsigned int stat[26U] ;
1084};
1085#line 55 "include/linux/slub_def.h"
1086struct kmem_cache_node {
1087 spinlock_t list_lock ;
1088 unsigned long nr_partial ;
1089 struct list_head partial ;
1090 atomic_long_t nr_slabs ;
1091 atomic_long_t total_objects ;
1092 struct list_head full ;
1093};
1094#line 66 "include/linux/slub_def.h"
1095struct kmem_cache_order_objects {
1096 unsigned long x ;
1097};
1098#line 76 "include/linux/slub_def.h"
1099struct kmem_cache {
1100 struct kmem_cache_cpu *cpu_slab ;
1101 unsigned long flags ;
1102 unsigned long min_partial ;
1103 int size ;
1104 int objsize ;
1105 int offset ;
1106 int cpu_partial ;
1107 struct kmem_cache_order_objects oo ;
1108 struct kmem_cache_order_objects max ;
1109 struct kmem_cache_order_objects min ;
1110 gfp_t allocflags ;
1111 int refcount ;
1112 void (*ctor)(void * ) ;
1113 int inuse ;
1114 int align ;
1115 int reserved ;
1116 char const *name ;
1117 struct list_head list ;
1118 struct kobject kobj ;
1119 int remote_node_defrag_ratio ;
1120 struct kmem_cache_node *node[1024U] ;
1121};
1122#line 21 "include/linux/uio.h"
1123struct kvec {
1124 void *iov_base ;
1125 size_t iov_len ;
1126};
1127#line 54
1128struct klist_node;
1129#line 54
1130struct klist_node;
1131#line 37 "include/linux/klist.h"
1132struct klist_node {
1133 void *n_klist ;
1134 struct list_head n_node ;
1135 struct kref n_ref ;
1136};
1137#line 67
1138struct dma_map_ops;
1139#line 67 "include/linux/klist.h"
1140struct dev_archdata {
1141 void *acpi_handle ;
1142 struct dma_map_ops *dma_ops ;
1143 void *iommu ;
1144};
1145#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1146struct device_private;
1147#line 17
1148struct device_private;
1149#line 18
1150struct device_driver;
1151#line 18
1152struct device_driver;
1153#line 19
1154struct driver_private;
1155#line 19
1156struct driver_private;
1157#line 20
1158struct class;
1159#line 20
1160struct class;
1161#line 21
1162struct subsys_private;
1163#line 21
1164struct subsys_private;
1165#line 22
1166struct bus_type;
1167#line 22
1168struct bus_type;
1169#line 23
1170struct device_node;
1171#line 23
1172struct device_node;
1173#line 24
1174struct iommu_ops;
1175#line 24
1176struct iommu_ops;
1177#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1178struct bus_attribute {
1179 struct attribute attr ;
1180 ssize_t (*show)(struct bus_type * , char * ) ;
1181 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1182};
1183#line 51 "include/linux/device.h"
1184struct device_attribute;
1185#line 51
1186struct driver_attribute;
1187#line 51 "include/linux/device.h"
1188struct bus_type {
1189 char const *name ;
1190 char const *dev_name ;
1191 struct device *dev_root ;
1192 struct bus_attribute *bus_attrs ;
1193 struct device_attribute *dev_attrs ;
1194 struct driver_attribute *drv_attrs ;
1195 int (*match)(struct device * , struct device_driver * ) ;
1196 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1197 int (*probe)(struct device * ) ;
1198 int (*remove)(struct device * ) ;
1199 void (*shutdown)(struct device * ) ;
1200 int (*suspend)(struct device * , pm_message_t ) ;
1201 int (*resume)(struct device * ) ;
1202 struct dev_pm_ops const *pm ;
1203 struct iommu_ops *iommu_ops ;
1204 struct subsys_private *p ;
1205};
1206#line 125
1207struct device_type;
1208#line 182
1209struct of_device_id;
1210#line 182 "include/linux/device.h"
1211struct device_driver {
1212 char const *name ;
1213 struct bus_type *bus ;
1214 struct module *owner ;
1215 char const *mod_name ;
1216 bool suppress_bind_attrs ;
1217 struct of_device_id const *of_match_table ;
1218 int (*probe)(struct device * ) ;
1219 int (*remove)(struct device * ) ;
1220 void (*shutdown)(struct device * ) ;
1221 int (*suspend)(struct device * , pm_message_t ) ;
1222 int (*resume)(struct device * ) ;
1223 struct attribute_group const **groups ;
1224 struct dev_pm_ops const *pm ;
1225 struct driver_private *p ;
1226};
1227#line 245 "include/linux/device.h"
1228struct driver_attribute {
1229 struct attribute attr ;
1230 ssize_t (*show)(struct device_driver * , char * ) ;
1231 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1232};
1233#line 299
1234struct class_attribute;
1235#line 299 "include/linux/device.h"
1236struct class {
1237 char const *name ;
1238 struct module *owner ;
1239 struct class_attribute *class_attrs ;
1240 struct device_attribute *dev_attrs ;
1241 struct bin_attribute *dev_bin_attrs ;
1242 struct kobject *dev_kobj ;
1243 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1244 char *(*devnode)(struct device * , umode_t * ) ;
1245 void (*class_release)(struct class * ) ;
1246 void (*dev_release)(struct device * ) ;
1247 int (*suspend)(struct device * , pm_message_t ) ;
1248 int (*resume)(struct device * ) ;
1249 struct kobj_ns_type_operations const *ns_type ;
1250 void const *(*namespace)(struct device * ) ;
1251 struct dev_pm_ops const *pm ;
1252 struct subsys_private *p ;
1253};
1254#line 394 "include/linux/device.h"
1255struct class_attribute {
1256 struct attribute attr ;
1257 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1258 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1259 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1260};
1261#line 447 "include/linux/device.h"
1262struct device_type {
1263 char const *name ;
1264 struct attribute_group const **groups ;
1265 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1266 char *(*devnode)(struct device * , umode_t * ) ;
1267 void (*release)(struct device * ) ;
1268 struct dev_pm_ops const *pm ;
1269};
1270#line 474 "include/linux/device.h"
1271struct device_attribute {
1272 struct attribute attr ;
1273 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1274 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1275 size_t ) ;
1276};
1277#line 557 "include/linux/device.h"
1278struct device_dma_parameters {
1279 unsigned int max_segment_size ;
1280 unsigned long segment_boundary_mask ;
1281};
1282#line 567
1283struct dma_coherent_mem;
1284#line 567 "include/linux/device.h"
1285struct device {
1286 struct device *parent ;
1287 struct device_private *p ;
1288 struct kobject kobj ;
1289 char const *init_name ;
1290 struct device_type const *type ;
1291 struct mutex mutex ;
1292 struct bus_type *bus ;
1293 struct device_driver *driver ;
1294 void *platform_data ;
1295 struct dev_pm_info power ;
1296 struct dev_pm_domain *pm_domain ;
1297 int numa_node ;
1298 u64 *dma_mask ;
1299 u64 coherent_dma_mask ;
1300 struct device_dma_parameters *dma_parms ;
1301 struct list_head dma_pools ;
1302 struct dma_coherent_mem *dma_mem ;
1303 struct dev_archdata archdata ;
1304 struct device_node *of_node ;
1305 dev_t devt ;
1306 u32 id ;
1307 spinlock_t devres_lock ;
1308 struct list_head devres_head ;
1309 struct klist_node knode_class ;
1310 struct class *class ;
1311 struct attribute_group const **groups ;
1312 void (*release)(struct device * ) ;
1313};
1314#line 681 "include/linux/device.h"
1315struct wakeup_source {
1316 char const *name ;
1317 struct list_head entry ;
1318 spinlock_t lock ;
1319 struct timer_list timer ;
1320 unsigned long timer_expires ;
1321 ktime_t total_time ;
1322 ktime_t max_time ;
1323 ktime_t last_time ;
1324 unsigned long event_count ;
1325 unsigned long active_count ;
1326 unsigned long relax_count ;
1327 unsigned long hit_count ;
1328 unsigned char active : 1 ;
1329};
1330#line 142 "include/mtd/mtd-abi.h"
1331struct otp_info {
1332 __u32 start ;
1333 __u32 length ;
1334 __u32 locked ;
1335};
1336#line 216 "include/mtd/mtd-abi.h"
1337struct nand_oobfree {
1338 __u32 offset ;
1339 __u32 length ;
1340};
1341#line 238 "include/mtd/mtd-abi.h"
1342struct mtd_ecc_stats {
1343 __u32 corrected ;
1344 __u32 failed ;
1345 __u32 badblocks ;
1346 __u32 bbtblocks ;
1347};
1348#line 260
1349struct mtd_info;
1350#line 260 "include/mtd/mtd-abi.h"
1351struct erase_info {
1352 struct mtd_info *mtd ;
1353 uint64_t addr ;
1354 uint64_t len ;
1355 uint64_t fail_addr ;
1356 u_long time ;
1357 u_long retries ;
1358 unsigned int dev ;
1359 unsigned int cell ;
1360 void (*callback)(struct erase_info * ) ;
1361 u_long priv ;
1362 u_char state ;
1363 struct erase_info *next ;
1364};
1365#line 62 "include/linux/mtd/mtd.h"
1366struct mtd_erase_region_info {
1367 uint64_t offset ;
1368 uint32_t erasesize ;
1369 uint32_t numblocks ;
1370 unsigned long *lockmap ;
1371};
1372#line 69 "include/linux/mtd/mtd.h"
1373struct mtd_oob_ops {
1374 unsigned int mode ;
1375 size_t len ;
1376 size_t retlen ;
1377 size_t ooblen ;
1378 size_t oobretlen ;
1379 uint32_t ooboffs ;
1380 uint8_t *datbuf ;
1381 uint8_t *oobbuf ;
1382};
1383#line 99 "include/linux/mtd/mtd.h"
1384struct nand_ecclayout {
1385 __u32 eccbytes ;
1386 __u32 eccpos[448U] ;
1387 __u32 oobavail ;
1388 struct nand_oobfree oobfree[32U] ;
1389};
1390#line 114
1391struct backing_dev_info;
1392#line 114 "include/linux/mtd/mtd.h"
1393struct mtd_info {
1394 u_char type ;
1395 uint32_t flags ;
1396 uint64_t size ;
1397 uint32_t erasesize ;
1398 uint32_t writesize ;
1399 uint32_t writebufsize ;
1400 uint32_t oobsize ;
1401 uint32_t oobavail ;
1402 unsigned int erasesize_shift ;
1403 unsigned int writesize_shift ;
1404 unsigned int erasesize_mask ;
1405 unsigned int writesize_mask ;
1406 char const *name ;
1407 int index ;
1408 struct nand_ecclayout *ecclayout ;
1409 unsigned int ecc_strength ;
1410 int numeraseregions ;
1411 struct mtd_erase_region_info *eraseregions ;
1412 int (*_erase)(struct mtd_info * , struct erase_info * ) ;
1413 int (*_point)(struct mtd_info * , loff_t , size_t , size_t * , void ** , resource_size_t * ) ;
1414 int (*_unpoint)(struct mtd_info * , loff_t , size_t ) ;
1415 unsigned long (*_get_unmapped_area)(struct mtd_info * , unsigned long , unsigned long ,
1416 unsigned long ) ;
1417 int (*_read)(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
1418 int (*_write)(struct mtd_info * , loff_t , size_t , size_t * , u_char const * ) ;
1419 int (*_panic_write)(struct mtd_info * , loff_t , size_t , size_t * , u_char const * ) ;
1420 int (*_read_oob)(struct mtd_info * , loff_t , struct mtd_oob_ops * ) ;
1421 int (*_write_oob)(struct mtd_info * , loff_t , struct mtd_oob_ops * ) ;
1422 int (*_get_fact_prot_info)(struct mtd_info * , struct otp_info * , size_t ) ;
1423 int (*_read_fact_prot_reg)(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
1424 int (*_get_user_prot_info)(struct mtd_info * , struct otp_info * , size_t ) ;
1425 int (*_read_user_prot_reg)(struct mtd_info * , loff_t , size_t , size_t * , u_char * ) ;
1426 int (*_write_user_prot_reg)(struct mtd_info * , loff_t , size_t , size_t * ,
1427 u_char * ) ;
1428 int (*_lock_user_prot_reg)(struct mtd_info * , loff_t , size_t ) ;
1429 int (*_writev)(struct mtd_info * , struct kvec const * , unsigned long , loff_t ,
1430 size_t * ) ;
1431 void (*_sync)(struct mtd_info * ) ;
1432 int (*_lock)(struct mtd_info * , loff_t , uint64_t ) ;
1433 int (*_unlock)(struct mtd_info * , loff_t , uint64_t ) ;
1434 int (*_is_locked)(struct mtd_info * , loff_t , uint64_t ) ;
1435 int (*_block_isbad)(struct mtd_info * , loff_t ) ;
1436 int (*_block_markbad)(struct mtd_info * , loff_t ) ;
1437 int (*_suspend)(struct mtd_info * ) ;
1438 void (*_resume)(struct mtd_info * ) ;
1439 int (*_get_device)(struct mtd_info * ) ;
1440 void (*_put_device)(struct mtd_info * ) ;
1441 struct backing_dev_info *backing_dev_info ;
1442 struct notifier_block reboot_notifier ;
1443 struct mtd_ecc_stats ecc_stats ;
1444 int subpage_sft ;
1445 void *priv ;
1446 struct module *owner ;
1447 struct device dev ;
1448 int usecount ;
1449};
1450#line 356
1451struct mtd_partition;
1452#line 356
1453struct mtd_partition;
1454#line 357
1455struct mtd_part_parser_data;
1456#line 357
1457struct mtd_part_parser_data;
1458#line 401 "include/linux/mtd/mtd.h"
1459struct mtd_partition {
1460 char *name ;
1461 uint64_t size ;
1462 uint64_t offset ;
1463 uint32_t mask_flags ;
1464 struct nand_ecclayout *ecclayout ;
1465};
1466#line 46 "include/linux/mtd/partitions.h"
1467struct mtd_part_parser_data {
1468 unsigned long origin ;
1469 struct device_node *of_node ;
1470};
1471#line 93 "include/linux/capability.h"
1472struct kernel_cap_struct {
1473 __u32 cap[2U] ;
1474};
1475#line 96 "include/linux/capability.h"
1476typedef struct kernel_cap_struct kernel_cap_t;
1477#line 105
1478struct user_namespace;
1479#line 105
1480struct user_namespace;
1481#line 554
1482struct prio_tree_node;
1483#line 554 "include/linux/capability.h"
1484struct raw_prio_tree_node {
1485 struct prio_tree_node *left ;
1486 struct prio_tree_node *right ;
1487 struct prio_tree_node *parent ;
1488};
1489#line 19 "include/linux/prio_tree.h"
1490struct prio_tree_node {
1491 struct prio_tree_node *left ;
1492 struct prio_tree_node *right ;
1493 struct prio_tree_node *parent ;
1494 unsigned long start ;
1495 unsigned long last ;
1496};
1497#line 116
1498struct address_space;
1499#line 116
1500struct address_space;
1501#line 117 "include/linux/prio_tree.h"
1502union __anonunion_ldv_15581_137 {
1503 unsigned long index ;
1504 void *freelist ;
1505};
1506#line 117 "include/linux/prio_tree.h"
1507struct __anonstruct_ldv_15591_141 {
1508 unsigned short inuse ;
1509 unsigned short objects : 15 ;
1510 unsigned char frozen : 1 ;
1511};
1512#line 117 "include/linux/prio_tree.h"
1513union __anonunion_ldv_15592_140 {
1514 atomic_t _mapcount ;
1515 struct __anonstruct_ldv_15591_141 ldv_15591 ;
1516};
1517#line 117 "include/linux/prio_tree.h"
1518struct __anonstruct_ldv_15594_139 {
1519 union __anonunion_ldv_15592_140 ldv_15592 ;
1520 atomic_t _count ;
1521};
1522#line 117 "include/linux/prio_tree.h"
1523union __anonunion_ldv_15595_138 {
1524 unsigned long counters ;
1525 struct __anonstruct_ldv_15594_139 ldv_15594 ;
1526};
1527#line 117 "include/linux/prio_tree.h"
1528struct __anonstruct_ldv_15596_136 {
1529 union __anonunion_ldv_15581_137 ldv_15581 ;
1530 union __anonunion_ldv_15595_138 ldv_15595 ;
1531};
1532#line 117 "include/linux/prio_tree.h"
1533struct __anonstruct_ldv_15603_143 {
1534 struct page *next ;
1535 int pages ;
1536 int pobjects ;
1537};
1538#line 117 "include/linux/prio_tree.h"
1539union __anonunion_ldv_15604_142 {
1540 struct list_head lru ;
1541 struct __anonstruct_ldv_15603_143 ldv_15603 ;
1542};
1543#line 117 "include/linux/prio_tree.h"
1544union __anonunion_ldv_15609_144 {
1545 unsigned long private ;
1546 struct kmem_cache *slab ;
1547 struct page *first_page ;
1548};
1549#line 117 "include/linux/prio_tree.h"
1550struct page {
1551 unsigned long flags ;
1552 struct address_space *mapping ;
1553 struct __anonstruct_ldv_15596_136 ldv_15596 ;
1554 union __anonunion_ldv_15604_142 ldv_15604 ;
1555 union __anonunion_ldv_15609_144 ldv_15609 ;
1556 unsigned long debug_flags ;
1557};
1558#line 192 "include/linux/mm_types.h"
1559struct __anonstruct_vm_set_146 {
1560 struct list_head list ;
1561 void *parent ;
1562 struct vm_area_struct *head ;
1563};
1564#line 192 "include/linux/mm_types.h"
1565union __anonunion_shared_145 {
1566 struct __anonstruct_vm_set_146 vm_set ;
1567 struct raw_prio_tree_node prio_tree_node ;
1568};
1569#line 192
1570struct anon_vma;
1571#line 192
1572struct vm_operations_struct;
1573#line 192
1574struct mempolicy;
1575#line 192 "include/linux/mm_types.h"
1576struct vm_area_struct {
1577 struct mm_struct *vm_mm ;
1578 unsigned long vm_start ;
1579 unsigned long vm_end ;
1580 struct vm_area_struct *vm_next ;
1581 struct vm_area_struct *vm_prev ;
1582 pgprot_t vm_page_prot ;
1583 unsigned long vm_flags ;
1584 struct rb_node vm_rb ;
1585 union __anonunion_shared_145 shared ;
1586 struct list_head anon_vma_chain ;
1587 struct anon_vma *anon_vma ;
1588 struct vm_operations_struct const *vm_ops ;
1589 unsigned long vm_pgoff ;
1590 struct file *vm_file ;
1591 void *vm_private_data ;
1592 struct mempolicy *vm_policy ;
1593};
1594#line 255 "include/linux/mm_types.h"
1595struct core_thread {
1596 struct task_struct *task ;
1597 struct core_thread *next ;
1598};
1599#line 261 "include/linux/mm_types.h"
1600struct core_state {
1601 atomic_t nr_threads ;
1602 struct core_thread dumper ;
1603 struct completion startup ;
1604};
1605#line 274 "include/linux/mm_types.h"
1606struct mm_rss_stat {
1607 atomic_long_t count[3U] ;
1608};
1609#line 287
1610struct linux_binfmt;
1611#line 287
1612struct mmu_notifier_mm;
1613#line 287 "include/linux/mm_types.h"
1614struct mm_struct {
1615 struct vm_area_struct *mmap ;
1616 struct rb_root mm_rb ;
1617 struct vm_area_struct *mmap_cache ;
1618 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1619 unsigned long , unsigned long ) ;
1620 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1621 unsigned long mmap_base ;
1622 unsigned long task_size ;
1623 unsigned long cached_hole_size ;
1624 unsigned long free_area_cache ;
1625 pgd_t *pgd ;
1626 atomic_t mm_users ;
1627 atomic_t mm_count ;
1628 int map_count ;
1629 spinlock_t page_table_lock ;
1630 struct rw_semaphore mmap_sem ;
1631 struct list_head mmlist ;
1632 unsigned long hiwater_rss ;
1633 unsigned long hiwater_vm ;
1634 unsigned long total_vm ;
1635 unsigned long locked_vm ;
1636 unsigned long pinned_vm ;
1637 unsigned long shared_vm ;
1638 unsigned long exec_vm ;
1639 unsigned long stack_vm ;
1640 unsigned long reserved_vm ;
1641 unsigned long def_flags ;
1642 unsigned long nr_ptes ;
1643 unsigned long start_code ;
1644 unsigned long end_code ;
1645 unsigned long start_data ;
1646 unsigned long end_data ;
1647 unsigned long start_brk ;
1648 unsigned long brk ;
1649 unsigned long start_stack ;
1650 unsigned long arg_start ;
1651 unsigned long arg_end ;
1652 unsigned long env_start ;
1653 unsigned long env_end ;
1654 unsigned long saved_auxv[44U] ;
1655 struct mm_rss_stat rss_stat ;
1656 struct linux_binfmt *binfmt ;
1657 cpumask_var_t cpu_vm_mask_var ;
1658 mm_context_t context ;
1659 unsigned int faultstamp ;
1660 unsigned int token_priority ;
1661 unsigned int last_interval ;
1662 unsigned long flags ;
1663 struct core_state *core_state ;
1664 spinlock_t ioctx_lock ;
1665 struct hlist_head ioctx_list ;
1666 struct task_struct *owner ;
1667 struct file *exe_file ;
1668 unsigned long num_exe_file_vmas ;
1669 struct mmu_notifier_mm *mmu_notifier_mm ;
1670 pgtable_t pmd_huge_pte ;
1671 struct cpumask cpumask_allocation ;
1672};
1673#line 7 "include/asm-generic/cputime.h"
1674typedef unsigned long cputime_t;
1675#line 98 "include/linux/sem.h"
1676struct sem_undo_list;
1677#line 98 "include/linux/sem.h"
1678struct sysv_sem {
1679 struct sem_undo_list *undo_list ;
1680};
1681#line 107
1682struct siginfo;
1683#line 107
1684struct siginfo;
1685#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1686struct __anonstruct_sigset_t_147 {
1687 unsigned long sig[1U] ;
1688};
1689#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1690typedef struct __anonstruct_sigset_t_147 sigset_t;
1691#line 17 "include/asm-generic/signal-defs.h"
1692typedef void __signalfn_t(int );
1693#line 18 "include/asm-generic/signal-defs.h"
1694typedef __signalfn_t *__sighandler_t;
1695#line 20 "include/asm-generic/signal-defs.h"
1696typedef void __restorefn_t(void);
1697#line 21 "include/asm-generic/signal-defs.h"
1698typedef __restorefn_t *__sigrestore_t;
1699#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1700struct sigaction {
1701 __sighandler_t sa_handler ;
1702 unsigned long sa_flags ;
1703 __sigrestore_t sa_restorer ;
1704 sigset_t sa_mask ;
1705};
1706#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1707struct k_sigaction {
1708 struct sigaction sa ;
1709};
1710#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1711union sigval {
1712 int sival_int ;
1713 void *sival_ptr ;
1714};
1715#line 10 "include/asm-generic/siginfo.h"
1716typedef union sigval sigval_t;
1717#line 11 "include/asm-generic/siginfo.h"
1718struct __anonstruct__kill_149 {
1719 __kernel_pid_t _pid ;
1720 __kernel_uid32_t _uid ;
1721};
1722#line 11 "include/asm-generic/siginfo.h"
1723struct __anonstruct__timer_150 {
1724 __kernel_timer_t _tid ;
1725 int _overrun ;
1726 char _pad[0U] ;
1727 sigval_t _sigval ;
1728 int _sys_private ;
1729};
1730#line 11 "include/asm-generic/siginfo.h"
1731struct __anonstruct__rt_151 {
1732 __kernel_pid_t _pid ;
1733 __kernel_uid32_t _uid ;
1734 sigval_t _sigval ;
1735};
1736#line 11 "include/asm-generic/siginfo.h"
1737struct __anonstruct__sigchld_152 {
1738 __kernel_pid_t _pid ;
1739 __kernel_uid32_t _uid ;
1740 int _status ;
1741 __kernel_clock_t _utime ;
1742 __kernel_clock_t _stime ;
1743};
1744#line 11 "include/asm-generic/siginfo.h"
1745struct __anonstruct__sigfault_153 {
1746 void *_addr ;
1747 short _addr_lsb ;
1748};
1749#line 11 "include/asm-generic/siginfo.h"
1750struct __anonstruct__sigpoll_154 {
1751 long _band ;
1752 int _fd ;
1753};
1754#line 11 "include/asm-generic/siginfo.h"
1755union __anonunion__sifields_148 {
1756 int _pad[28U] ;
1757 struct __anonstruct__kill_149 _kill ;
1758 struct __anonstruct__timer_150 _timer ;
1759 struct __anonstruct__rt_151 _rt ;
1760 struct __anonstruct__sigchld_152 _sigchld ;
1761 struct __anonstruct__sigfault_153 _sigfault ;
1762 struct __anonstruct__sigpoll_154 _sigpoll ;
1763};
1764#line 11 "include/asm-generic/siginfo.h"
1765struct siginfo {
1766 int si_signo ;
1767 int si_errno ;
1768 int si_code ;
1769 union __anonunion__sifields_148 _sifields ;
1770};
1771#line 102 "include/asm-generic/siginfo.h"
1772typedef struct siginfo siginfo_t;
1773#line 14 "include/linux/signal.h"
1774struct user_struct;
1775#line 24 "include/linux/signal.h"
1776struct sigpending {
1777 struct list_head list ;
1778 sigset_t signal ;
1779};
1780#line 395
1781struct pid_namespace;
1782#line 395 "include/linux/signal.h"
1783struct upid {
1784 int nr ;
1785 struct pid_namespace *ns ;
1786 struct hlist_node pid_chain ;
1787};
1788#line 56 "include/linux/pid.h"
1789struct pid {
1790 atomic_t count ;
1791 unsigned int level ;
1792 struct hlist_head tasks[3U] ;
1793 struct rcu_head rcu ;
1794 struct upid numbers[1U] ;
1795};
1796#line 68 "include/linux/pid.h"
1797struct pid_link {
1798 struct hlist_node node ;
1799 struct pid *pid ;
1800};
1801#line 10 "include/linux/seccomp.h"
1802struct __anonstruct_seccomp_t_157 {
1803 int mode ;
1804};
1805#line 10 "include/linux/seccomp.h"
1806typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1807#line 427 "include/linux/rculist.h"
1808struct plist_head {
1809 struct list_head node_list ;
1810};
1811#line 84 "include/linux/plist.h"
1812struct plist_node {
1813 int prio ;
1814 struct list_head prio_list ;
1815 struct list_head node_list ;
1816};
1817#line 38 "include/linux/rtmutex.h"
1818struct rt_mutex_waiter;
1819#line 38
1820struct rt_mutex_waiter;
1821#line 41 "include/linux/resource.h"
1822struct rlimit {
1823 unsigned long rlim_cur ;
1824 unsigned long rlim_max ;
1825};
1826#line 85 "include/linux/resource.h"
1827struct timerqueue_node {
1828 struct rb_node node ;
1829 ktime_t expires ;
1830};
1831#line 12 "include/linux/timerqueue.h"
1832struct timerqueue_head {
1833 struct rb_root head ;
1834 struct timerqueue_node *next ;
1835};
1836#line 50
1837struct hrtimer_clock_base;
1838#line 50
1839struct hrtimer_clock_base;
1840#line 51
1841struct hrtimer_cpu_base;
1842#line 51
1843struct hrtimer_cpu_base;
1844#line 60
1845enum hrtimer_restart {
1846 HRTIMER_NORESTART = 0,
1847 HRTIMER_RESTART = 1
1848} ;
1849#line 65 "include/linux/timerqueue.h"
1850struct hrtimer {
1851 struct timerqueue_node node ;
1852 ktime_t _softexpires ;
1853 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1854 struct hrtimer_clock_base *base ;
1855 unsigned long state ;
1856 int start_pid ;
1857 void *start_site ;
1858 char start_comm[16U] ;
1859};
1860#line 132 "include/linux/hrtimer.h"
1861struct hrtimer_clock_base {
1862 struct hrtimer_cpu_base *cpu_base ;
1863 int index ;
1864 clockid_t clockid ;
1865 struct timerqueue_head active ;
1866 ktime_t resolution ;
1867 ktime_t (*get_time)(void) ;
1868 ktime_t softirq_time ;
1869 ktime_t offset ;
1870};
1871#line 162 "include/linux/hrtimer.h"
1872struct hrtimer_cpu_base {
1873 raw_spinlock_t lock ;
1874 unsigned long active_bases ;
1875 ktime_t expires_next ;
1876 int hres_active ;
1877 int hang_detected ;
1878 unsigned long nr_events ;
1879 unsigned long nr_retries ;
1880 unsigned long nr_hangs ;
1881 ktime_t max_hang_time ;
1882 struct hrtimer_clock_base clock_base[3U] ;
1883};
1884#line 452 "include/linux/hrtimer.h"
1885struct task_io_accounting {
1886 u64 rchar ;
1887 u64 wchar ;
1888 u64 syscr ;
1889 u64 syscw ;
1890 u64 read_bytes ;
1891 u64 write_bytes ;
1892 u64 cancelled_write_bytes ;
1893};
1894#line 45 "include/linux/task_io_accounting.h"
1895struct latency_record {
1896 unsigned long backtrace[12U] ;
1897 unsigned int count ;
1898 unsigned long time ;
1899 unsigned long max ;
1900};
1901#line 29 "include/linux/key.h"
1902typedef int32_t key_serial_t;
1903#line 32 "include/linux/key.h"
1904typedef uint32_t key_perm_t;
1905#line 33
1906struct key;
1907#line 33
1908struct key;
1909#line 34
1910struct signal_struct;
1911#line 34
1912struct signal_struct;
1913#line 35
1914struct key_type;
1915#line 35
1916struct key_type;
1917#line 37
1918struct keyring_list;
1919#line 37
1920struct keyring_list;
1921#line 115
1922struct key_user;
1923#line 115 "include/linux/key.h"
1924union __anonunion_ldv_16845_158 {
1925 time_t expiry ;
1926 time_t revoked_at ;
1927};
1928#line 115 "include/linux/key.h"
1929union __anonunion_type_data_159 {
1930 struct list_head link ;
1931 unsigned long x[2U] ;
1932 void *p[2U] ;
1933 int reject_error ;
1934};
1935#line 115 "include/linux/key.h"
1936union __anonunion_payload_160 {
1937 unsigned long value ;
1938 void *rcudata ;
1939 void *data ;
1940 struct keyring_list *subscriptions ;
1941};
1942#line 115 "include/linux/key.h"
1943struct key {
1944 atomic_t usage ;
1945 key_serial_t serial ;
1946 struct rb_node serial_node ;
1947 struct key_type *type ;
1948 struct rw_semaphore sem ;
1949 struct key_user *user ;
1950 void *security ;
1951 union __anonunion_ldv_16845_158 ldv_16845 ;
1952 uid_t uid ;
1953 gid_t gid ;
1954 key_perm_t perm ;
1955 unsigned short quotalen ;
1956 unsigned short datalen ;
1957 unsigned long flags ;
1958 char *description ;
1959 union __anonunion_type_data_159 type_data ;
1960 union __anonunion_payload_160 payload ;
1961};
1962#line 316
1963struct audit_context;
1964#line 316
1965struct audit_context;
1966#line 28 "include/linux/selinux.h"
1967struct group_info {
1968 atomic_t usage ;
1969 int ngroups ;
1970 int nblocks ;
1971 gid_t small_block[32U] ;
1972 gid_t *blocks[0U] ;
1973};
1974#line 77 "include/linux/cred.h"
1975struct thread_group_cred {
1976 atomic_t usage ;
1977 pid_t tgid ;
1978 spinlock_t lock ;
1979 struct key *session_keyring ;
1980 struct key *process_keyring ;
1981 struct rcu_head rcu ;
1982};
1983#line 91 "include/linux/cred.h"
1984struct cred {
1985 atomic_t usage ;
1986 atomic_t subscribers ;
1987 void *put_addr ;
1988 unsigned int magic ;
1989 uid_t uid ;
1990 gid_t gid ;
1991 uid_t suid ;
1992 gid_t sgid ;
1993 uid_t euid ;
1994 gid_t egid ;
1995 uid_t fsuid ;
1996 gid_t fsgid ;
1997 unsigned int securebits ;
1998 kernel_cap_t cap_inheritable ;
1999 kernel_cap_t cap_permitted ;
2000 kernel_cap_t cap_effective ;
2001 kernel_cap_t cap_bset ;
2002 unsigned char jit_keyring ;
2003 struct key *thread_keyring ;
2004 struct key *request_key_auth ;
2005 struct thread_group_cred *tgcred ;
2006 void *security ;
2007 struct user_struct *user ;
2008 struct user_namespace *user_ns ;
2009 struct group_info *group_info ;
2010 struct rcu_head rcu ;
2011};
2012#line 264
2013struct llist_node;
2014#line 64 "include/linux/llist.h"
2015struct llist_node {
2016 struct llist_node *next ;
2017};
2018#line 185
2019struct futex_pi_state;
2020#line 185
2021struct futex_pi_state;
2022#line 186
2023struct robust_list_head;
2024#line 186
2025struct robust_list_head;
2026#line 187
2027struct bio_list;
2028#line 187
2029struct bio_list;
2030#line 188
2031struct fs_struct;
2032#line 188
2033struct fs_struct;
2034#line 189
2035struct perf_event_context;
2036#line 189
2037struct perf_event_context;
2038#line 190
2039struct blk_plug;
2040#line 190
2041struct blk_plug;
2042#line 149 "include/linux/sched.h"
2043struct cfs_rq;
2044#line 149
2045struct cfs_rq;
2046#line 406 "include/linux/sched.h"
2047struct sighand_struct {
2048 atomic_t count ;
2049 struct k_sigaction action[64U] ;
2050 spinlock_t siglock ;
2051 wait_queue_head_t signalfd_wqh ;
2052};
2053#line 449 "include/linux/sched.h"
2054struct pacct_struct {
2055 int ac_flag ;
2056 long ac_exitcode ;
2057 unsigned long ac_mem ;
2058 cputime_t ac_utime ;
2059 cputime_t ac_stime ;
2060 unsigned long ac_minflt ;
2061 unsigned long ac_majflt ;
2062};
2063#line 457 "include/linux/sched.h"
2064struct cpu_itimer {
2065 cputime_t expires ;
2066 cputime_t incr ;
2067 u32 error ;
2068 u32 incr_error ;
2069};
2070#line 464 "include/linux/sched.h"
2071struct task_cputime {
2072 cputime_t utime ;
2073 cputime_t stime ;
2074 unsigned long long sum_exec_runtime ;
2075};
2076#line 481 "include/linux/sched.h"
2077struct thread_group_cputimer {
2078 struct task_cputime cputime ;
2079 int running ;
2080 raw_spinlock_t lock ;
2081};
2082#line 517
2083struct autogroup;
2084#line 517
2085struct autogroup;
2086#line 518
2087struct tty_struct;
2088#line 518
2089struct taskstats;
2090#line 518
2091struct tty_audit_buf;
2092#line 518 "include/linux/sched.h"
2093struct signal_struct {
2094 atomic_t sigcnt ;
2095 atomic_t live ;
2096 int nr_threads ;
2097 wait_queue_head_t wait_chldexit ;
2098 struct task_struct *curr_target ;
2099 struct sigpending shared_pending ;
2100 int group_exit_code ;
2101 int notify_count ;
2102 struct task_struct *group_exit_task ;
2103 int group_stop_count ;
2104 unsigned int flags ;
2105 unsigned char is_child_subreaper : 1 ;
2106 unsigned char has_child_subreaper : 1 ;
2107 struct list_head posix_timers ;
2108 struct hrtimer real_timer ;
2109 struct pid *leader_pid ;
2110 ktime_t it_real_incr ;
2111 struct cpu_itimer it[2U] ;
2112 struct thread_group_cputimer cputimer ;
2113 struct task_cputime cputime_expires ;
2114 struct list_head cpu_timers[3U] ;
2115 struct pid *tty_old_pgrp ;
2116 int leader ;
2117 struct tty_struct *tty ;
2118 struct autogroup *autogroup ;
2119 cputime_t utime ;
2120 cputime_t stime ;
2121 cputime_t cutime ;
2122 cputime_t cstime ;
2123 cputime_t gtime ;
2124 cputime_t cgtime ;
2125 cputime_t prev_utime ;
2126 cputime_t prev_stime ;
2127 unsigned long nvcsw ;
2128 unsigned long nivcsw ;
2129 unsigned long cnvcsw ;
2130 unsigned long cnivcsw ;
2131 unsigned long min_flt ;
2132 unsigned long maj_flt ;
2133 unsigned long cmin_flt ;
2134 unsigned long cmaj_flt ;
2135 unsigned long inblock ;
2136 unsigned long oublock ;
2137 unsigned long cinblock ;
2138 unsigned long coublock ;
2139 unsigned long maxrss ;
2140 unsigned long cmaxrss ;
2141 struct task_io_accounting ioac ;
2142 unsigned long long sum_sched_runtime ;
2143 struct rlimit rlim[16U] ;
2144 struct pacct_struct pacct ;
2145 struct taskstats *stats ;
2146 unsigned int audit_tty ;
2147 struct tty_audit_buf *tty_audit_buf ;
2148 struct rw_semaphore group_rwsem ;
2149 int oom_adj ;
2150 int oom_score_adj ;
2151 int oom_score_adj_min ;
2152 struct mutex cred_guard_mutex ;
2153};
2154#line 699 "include/linux/sched.h"
2155struct user_struct {
2156 atomic_t __count ;
2157 atomic_t processes ;
2158 atomic_t files ;
2159 atomic_t sigpending ;
2160 atomic_t inotify_watches ;
2161 atomic_t inotify_devs ;
2162 atomic_t fanotify_listeners ;
2163 atomic_long_t epoll_watches ;
2164 unsigned long mq_bytes ;
2165 unsigned long locked_shm ;
2166 struct key *uid_keyring ;
2167 struct key *session_keyring ;
2168 struct hlist_node uidhash_node ;
2169 uid_t uid ;
2170 struct user_namespace *user_ns ;
2171 atomic_long_t locked_vm ;
2172};
2173#line 744
2174struct reclaim_state;
2175#line 744
2176struct reclaim_state;
2177#line 745 "include/linux/sched.h"
2178struct sched_info {
2179 unsigned long pcount ;
2180 unsigned long long run_delay ;
2181 unsigned long long last_arrival ;
2182 unsigned long long last_queued ;
2183};
2184#line 760 "include/linux/sched.h"
2185struct task_delay_info {
2186 spinlock_t lock ;
2187 unsigned int flags ;
2188 struct timespec blkio_start ;
2189 struct timespec blkio_end ;
2190 u64 blkio_delay ;
2191 u64 swapin_delay ;
2192 u32 blkio_count ;
2193 u32 swapin_count ;
2194 struct timespec freepages_start ;
2195 struct timespec freepages_end ;
2196 u64 freepages_delay ;
2197 u32 freepages_count ;
2198};
2199#line 1069
2200struct io_context;
2201#line 1069
2202struct io_context;
2203#line 1097
2204struct pipe_inode_info;
2205#line 1097
2206struct pipe_inode_info;
2207#line 1099
2208struct rq;
2209#line 1099
2210struct rq;
2211#line 1100 "include/linux/sched.h"
2212struct sched_class {
2213 struct sched_class const *next ;
2214 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2215 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2216 void (*yield_task)(struct rq * ) ;
2217 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2218 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2219 struct task_struct *(*pick_next_task)(struct rq * ) ;
2220 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2221 int (*select_task_rq)(struct task_struct * , int , int ) ;
2222 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2223 void (*post_schedule)(struct rq * ) ;
2224 void (*task_waking)(struct task_struct * ) ;
2225 void (*task_woken)(struct rq * , struct task_struct * ) ;
2226 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2227 void (*rq_online)(struct rq * ) ;
2228 void (*rq_offline)(struct rq * ) ;
2229 void (*set_curr_task)(struct rq * ) ;
2230 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2231 void (*task_fork)(struct task_struct * ) ;
2232 void (*switched_from)(struct rq * , struct task_struct * ) ;
2233 void (*switched_to)(struct rq * , struct task_struct * ) ;
2234 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2235 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2236 void (*task_move_group)(struct task_struct * , int ) ;
2237};
2238#line 1165 "include/linux/sched.h"
2239struct load_weight {
2240 unsigned long weight ;
2241 unsigned long inv_weight ;
2242};
2243#line 1170 "include/linux/sched.h"
2244struct sched_statistics {
2245 u64 wait_start ;
2246 u64 wait_max ;
2247 u64 wait_count ;
2248 u64 wait_sum ;
2249 u64 iowait_count ;
2250 u64 iowait_sum ;
2251 u64 sleep_start ;
2252 u64 sleep_max ;
2253 s64 sum_sleep_runtime ;
2254 u64 block_start ;
2255 u64 block_max ;
2256 u64 exec_max ;
2257 u64 slice_max ;
2258 u64 nr_migrations_cold ;
2259 u64 nr_failed_migrations_affine ;
2260 u64 nr_failed_migrations_running ;
2261 u64 nr_failed_migrations_hot ;
2262 u64 nr_forced_migrations ;
2263 u64 nr_wakeups ;
2264 u64 nr_wakeups_sync ;
2265 u64 nr_wakeups_migrate ;
2266 u64 nr_wakeups_local ;
2267 u64 nr_wakeups_remote ;
2268 u64 nr_wakeups_affine ;
2269 u64 nr_wakeups_affine_attempts ;
2270 u64 nr_wakeups_passive ;
2271 u64 nr_wakeups_idle ;
2272};
2273#line 1205 "include/linux/sched.h"
2274struct sched_entity {
2275 struct load_weight load ;
2276 struct rb_node run_node ;
2277 struct list_head group_node ;
2278 unsigned int on_rq ;
2279 u64 exec_start ;
2280 u64 sum_exec_runtime ;
2281 u64 vruntime ;
2282 u64 prev_sum_exec_runtime ;
2283 u64 nr_migrations ;
2284 struct sched_statistics statistics ;
2285 struct sched_entity *parent ;
2286 struct cfs_rq *cfs_rq ;
2287 struct cfs_rq *my_q ;
2288};
2289#line 1231
2290struct rt_rq;
2291#line 1231 "include/linux/sched.h"
2292struct sched_rt_entity {
2293 struct list_head run_list ;
2294 unsigned long timeout ;
2295 unsigned int time_slice ;
2296 int nr_cpus_allowed ;
2297 struct sched_rt_entity *back ;
2298 struct sched_rt_entity *parent ;
2299 struct rt_rq *rt_rq ;
2300 struct rt_rq *my_q ;
2301};
2302#line 1255
2303struct mem_cgroup;
2304#line 1255 "include/linux/sched.h"
2305struct memcg_batch_info {
2306 int do_batch ;
2307 struct mem_cgroup *memcg ;
2308 unsigned long nr_pages ;
2309 unsigned long memsw_nr_pages ;
2310};
2311#line 1616
2312struct files_struct;
2313#line 1616
2314struct css_set;
2315#line 1616
2316struct compat_robust_list_head;
2317#line 1616 "include/linux/sched.h"
2318struct task_struct {
2319 long volatile state ;
2320 void *stack ;
2321 atomic_t usage ;
2322 unsigned int flags ;
2323 unsigned int ptrace ;
2324 struct llist_node wake_entry ;
2325 int on_cpu ;
2326 int on_rq ;
2327 int prio ;
2328 int static_prio ;
2329 int normal_prio ;
2330 unsigned int rt_priority ;
2331 struct sched_class const *sched_class ;
2332 struct sched_entity se ;
2333 struct sched_rt_entity rt ;
2334 struct hlist_head preempt_notifiers ;
2335 unsigned char fpu_counter ;
2336 unsigned int policy ;
2337 cpumask_t cpus_allowed ;
2338 struct sched_info sched_info ;
2339 struct list_head tasks ;
2340 struct plist_node pushable_tasks ;
2341 struct mm_struct *mm ;
2342 struct mm_struct *active_mm ;
2343 unsigned char brk_randomized : 1 ;
2344 int exit_state ;
2345 int exit_code ;
2346 int exit_signal ;
2347 int pdeath_signal ;
2348 unsigned int jobctl ;
2349 unsigned int personality ;
2350 unsigned char did_exec : 1 ;
2351 unsigned char in_execve : 1 ;
2352 unsigned char in_iowait : 1 ;
2353 unsigned char sched_reset_on_fork : 1 ;
2354 unsigned char sched_contributes_to_load : 1 ;
2355 unsigned char irq_thread : 1 ;
2356 pid_t pid ;
2357 pid_t tgid ;
2358 unsigned long stack_canary ;
2359 struct task_struct *real_parent ;
2360 struct task_struct *parent ;
2361 struct list_head children ;
2362 struct list_head sibling ;
2363 struct task_struct *group_leader ;
2364 struct list_head ptraced ;
2365 struct list_head ptrace_entry ;
2366 struct pid_link pids[3U] ;
2367 struct list_head thread_group ;
2368 struct completion *vfork_done ;
2369 int *set_child_tid ;
2370 int *clear_child_tid ;
2371 cputime_t utime ;
2372 cputime_t stime ;
2373 cputime_t utimescaled ;
2374 cputime_t stimescaled ;
2375 cputime_t gtime ;
2376 cputime_t prev_utime ;
2377 cputime_t prev_stime ;
2378 unsigned long nvcsw ;
2379 unsigned long nivcsw ;
2380 struct timespec start_time ;
2381 struct timespec real_start_time ;
2382 unsigned long min_flt ;
2383 unsigned long maj_flt ;
2384 struct task_cputime cputime_expires ;
2385 struct list_head cpu_timers[3U] ;
2386 struct cred const *real_cred ;
2387 struct cred const *cred ;
2388 struct cred *replacement_session_keyring ;
2389 char comm[16U] ;
2390 int link_count ;
2391 int total_link_count ;
2392 struct sysv_sem sysvsem ;
2393 unsigned long last_switch_count ;
2394 struct thread_struct thread ;
2395 struct fs_struct *fs ;
2396 struct files_struct *files ;
2397 struct nsproxy *nsproxy ;
2398 struct signal_struct *signal ;
2399 struct sighand_struct *sighand ;
2400 sigset_t blocked ;
2401 sigset_t real_blocked ;
2402 sigset_t saved_sigmask ;
2403 struct sigpending pending ;
2404 unsigned long sas_ss_sp ;
2405 size_t sas_ss_size ;
2406 int (*notifier)(void * ) ;
2407 void *notifier_data ;
2408 sigset_t *notifier_mask ;
2409 struct audit_context *audit_context ;
2410 uid_t loginuid ;
2411 unsigned int sessionid ;
2412 seccomp_t seccomp ;
2413 u32 parent_exec_id ;
2414 u32 self_exec_id ;
2415 spinlock_t alloc_lock ;
2416 raw_spinlock_t pi_lock ;
2417 struct plist_head pi_waiters ;
2418 struct rt_mutex_waiter *pi_blocked_on ;
2419 struct mutex_waiter *blocked_on ;
2420 unsigned int irq_events ;
2421 unsigned long hardirq_enable_ip ;
2422 unsigned long hardirq_disable_ip ;
2423 unsigned int hardirq_enable_event ;
2424 unsigned int hardirq_disable_event ;
2425 int hardirqs_enabled ;
2426 int hardirq_context ;
2427 unsigned long softirq_disable_ip ;
2428 unsigned long softirq_enable_ip ;
2429 unsigned int softirq_disable_event ;
2430 unsigned int softirq_enable_event ;
2431 int softirqs_enabled ;
2432 int softirq_context ;
2433 u64 curr_chain_key ;
2434 int lockdep_depth ;
2435 unsigned int lockdep_recursion ;
2436 struct held_lock held_locks[48U] ;
2437 gfp_t lockdep_reclaim_gfp ;
2438 void *journal_info ;
2439 struct bio_list *bio_list ;
2440 struct blk_plug *plug ;
2441 struct reclaim_state *reclaim_state ;
2442 struct backing_dev_info *backing_dev_info ;
2443 struct io_context *io_context ;
2444 unsigned long ptrace_message ;
2445 siginfo_t *last_siginfo ;
2446 struct task_io_accounting ioac ;
2447 u64 acct_rss_mem1 ;
2448 u64 acct_vm_mem1 ;
2449 cputime_t acct_timexpd ;
2450 nodemask_t mems_allowed ;
2451 seqcount_t mems_allowed_seq ;
2452 int cpuset_mem_spread_rotor ;
2453 int cpuset_slab_spread_rotor ;
2454 struct css_set *cgroups ;
2455 struct list_head cg_list ;
2456 struct robust_list_head *robust_list ;
2457 struct compat_robust_list_head *compat_robust_list ;
2458 struct list_head pi_state_list ;
2459 struct futex_pi_state *pi_state_cache ;
2460 struct perf_event_context *perf_event_ctxp[2U] ;
2461 struct mutex perf_event_mutex ;
2462 struct list_head perf_event_list ;
2463 struct mempolicy *mempolicy ;
2464 short il_next ;
2465 short pref_node_fork ;
2466 struct rcu_head rcu ;
2467 struct pipe_inode_info *splice_pipe ;
2468 struct task_delay_info *delays ;
2469 int make_it_fail ;
2470 int nr_dirtied ;
2471 int nr_dirtied_pause ;
2472 unsigned long dirty_paused_when ;
2473 int latency_record_count ;
2474 struct latency_record latency_record[32U] ;
2475 unsigned long timer_slack_ns ;
2476 unsigned long default_timer_slack_ns ;
2477 struct list_head *scm_work_list ;
2478 unsigned long trace ;
2479 unsigned long trace_recursion ;
2480 struct memcg_batch_info memcg_batch ;
2481 atomic_t ptrace_bp_refcnt ;
2482};
2483#line 2820
2484enum ldv_15989 {
2485 FL_READY = 0,
2486 FL_STATUS = 1,
2487 FL_CFI_QUERY = 2,
2488 FL_JEDEC_QUERY = 3,
2489 FL_ERASING = 4,
2490 FL_ERASE_SUSPENDING = 5,
2491 FL_ERASE_SUSPENDED = 6,
2492 FL_WRITING = 7,
2493 FL_WRITING_TO_BUFFER = 8,
2494 FL_OTP_WRITE = 9,
2495 FL_WRITE_SUSPENDING = 10,
2496 FL_WRITE_SUSPENDED = 11,
2497 FL_PM_SUSPENDED = 12,
2498 FL_SYNCING = 13,
2499 FL_UNLOADING = 14,
2500 FL_LOCKING = 15,
2501 FL_UNLOCKING = 16,
2502 FL_POINT = 17,
2503 FL_XIP_WHILE_ERASING = 18,
2504 FL_XIP_WHILE_WRITING = 19,
2505 FL_SHUTDOWN = 20,
2506 FL_READING = 21,
2507 FL_CACHEDPRG = 22,
2508 FL_RESETING = 23,
2509 FL_OTPING = 24,
2510 FL_PREPARING_ERASE = 25,
2511 FL_VERIFYING_ERASE = 26,
2512 FL_UNKNOWN = 27
2513} ;
2514#line 63 "include/linux/mtd/flashchip.h"
2515typedef enum ldv_15989 flstate_t;
2516#line 28 "include/linux/mtd/onenand.h"
2517struct onenand_bufferram {
2518 int blockpage ;
2519};
2520#line 36 "include/linux/mtd/onenand.h"
2521struct onenand_chip {
2522 void *base ;
2523 unsigned int dies ;
2524 unsigned int boundary[2U] ;
2525 loff_t diesize[2U] ;
2526 unsigned int chipsize ;
2527 unsigned int device_id ;
2528 unsigned int version_id ;
2529 unsigned int technology ;
2530 unsigned int density_mask ;
2531 unsigned int options ;
2532 unsigned int erase_shift ;
2533 unsigned int page_shift ;
2534 unsigned int page_mask ;
2535 unsigned int writesize ;
2536 unsigned int bufferram_index ;
2537 struct onenand_bufferram bufferram[2U] ;
2538 int (*command)(struct mtd_info * , int , loff_t , size_t ) ;
2539 int (*wait)(struct mtd_info * , int ) ;
2540 int (*bbt_wait)(struct mtd_info * , int ) ;
2541 void (*unlock_all)(struct mtd_info * ) ;
2542 int (*read_bufferram)(struct mtd_info * , int , unsigned char * , int , size_t ) ;
2543 int (*write_bufferram)(struct mtd_info * , int , unsigned char const * , int ,
2544 size_t ) ;
2545 unsigned short (*read_word)(void * ) ;
2546 void (*write_word)(unsigned short , void * ) ;
2547 void (*mmcontrol)(struct mtd_info * , int ) ;
2548 int (*chip_probe)(struct mtd_info * ) ;
2549 int (*block_markbad)(struct mtd_info * , loff_t ) ;
2550 int (*scan_bbt)(struct mtd_info * ) ;
2551 int (*enable)(struct mtd_info * ) ;
2552 int (*disable)(struct mtd_info * ) ;
2553 struct completion complete ;
2554 int irq ;
2555 spinlock_t chip_lock ;
2556 wait_queue_head_t wq ;
2557 flstate_t state ;
2558 unsigned char *page_buf ;
2559 unsigned char *oob_buf ;
2560 unsigned char *verify_buf ;
2561 int subpagesize ;
2562 struct nand_ecclayout *ecclayout ;
2563 void *bbm ;
2564 void *priv ;
2565 unsigned int ongoing ;
2566};
2567#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2568struct onenand_flash {
2569 void *base ;
2570 void *data ;
2571};
2572#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2573struct onenand_info {
2574 struct mtd_info mtd ;
2575 struct mtd_partition *parts ;
2576 struct onenand_chip onenand ;
2577 struct onenand_flash flash ;
2578};
2579#line 1 "<compiler builtins>"
2580
2581#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2582void ldv_spin_lock(void) ;
2583#line 3
2584void ldv_spin_unlock(void) ;
2585#line 4
2586int ldv_spin_trylock(void) ;
2587#line 101 "include/linux/printk.h"
2588extern int printk(char const * , ...) ;
2589#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2590extern void *memset(void * , int , size_t ) ;
2591#line 60
2592extern int memcmp(void const * , void const * , size_t ) ;
2593#line 54 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2594__inline static unsigned short readw(void const volatile *addr )
2595{ unsigned short ret ;
2596 unsigned short volatile *__cil_tmp3 ;
2597
2598 {
2599#line 54
2600 __cil_tmp3 = (unsigned short volatile *)addr;
2601#line 54
2602 __asm__ volatile ("movw %1,%0": "=r" (ret): "m" (*__cil_tmp3): "memory");
2603#line 54
2604 return (ret);
2605}
2606}
2607#line 62 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2608__inline static void writew(unsigned short val , void volatile *addr )
2609{ unsigned short volatile *__cil_tmp3 ;
2610
2611 {
2612#line 62
2613 __cil_tmp3 = (unsigned short volatile *)addr;
2614#line 62
2615 __asm__ volatile ("movw %0,%1": : "r" (val), "m" (*__cil_tmp3): "memory");
2616#line 63
2617 return;
2618}
2619}
2620#line 54 "include/linux/vmalloc.h"
2621extern void *vmalloc(unsigned long ) ;
2622#line 57
2623void *ldv_vmalloc_19(unsigned long ldv_func_arg1 ) ;
2624#line 70
2625extern void vfree(void const * ) ;
2626#line 26 "include/linux/export.h"
2627extern struct module __this_module ;
2628#line 161 "include/linux/slab.h"
2629extern void kfree(void const * ) ;
2630#line 220 "include/linux/slub_def.h"
2631extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2632#line 223
2633void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2634#line 225
2635extern void *__kmalloc(size_t , gfp_t ) ;
2636#line 268 "include/linux/slub_def.h"
2637__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags )
2638{ void *tmp___2 ;
2639
2640 {
2641 {
2642#line 283
2643 tmp___2 = __kmalloc(size, flags);
2644 }
2645#line 283
2646 return (tmp___2);
2647}
2648}
2649#line 268
2650__inline static void *kmalloc(size_t size , gfp_t flags ) ;
2651#line 353 "include/linux/slab.h"
2652__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2653#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2654extern void *__VERIFIER_nondet_pointer(void) ;
2655#line 11
2656void ldv_check_alloc_flags(gfp_t flags ) ;
2657#line 12
2658void ldv_check_alloc_nonatomic(void) ;
2659#line 14
2660struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2661#line 362 "include/linux/mtd/mtd.h"
2662extern int mtd_device_parse_register(struct mtd_info * , char const ** , struct mtd_part_parser_data * ,
2663 struct mtd_partition const * , int ) ;
2664#line 25 "include/linux/mtd/onenand.h"
2665extern int onenand_scan(struct mtd_info * , int ) ;
2666#line 27
2667extern void onenand_release(struct mtd_info * ) ;
2668#line 229
2669extern loff_t onenand_addr(struct onenand_chip * , int ) ;
2670#line 230
2671extern int flexonenand_region(struct mtd_info * , loff_t ) ;
2672#line 71 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2673static int manuf_id = 236;
2674#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2675static int device_id = 4;
2676#line 73 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2677static int version_id = 30;
2678#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2679static int technology_id = 0;
2680#line 75 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2681static int boundary[2U] = { 1, 1};
2682#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2683static unsigned char *ffchars ;
2684#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2685static struct mtd_partition os_partitions[1U] = { {(char *)"OneNAND simulator partition", 0ULL, 0ULL, 0U, (struct nand_ecclayout *)0}};
2686#line 129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2687static struct onenand_info *info ;
2688#line 145 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2689static void onenand_lock_handle(struct onenand_chip *this , int cmd )
2690{ int block_lock_scheme ;
2691 int status ;
2692 unsigned short tmp ;
2693 void *__cil_tmp6 ;
2694 void const volatile *__cil_tmp7 ;
2695 void const volatile *__cil_tmp8 ;
2696 unsigned long __cil_tmp9 ;
2697 unsigned long __cil_tmp10 ;
2698 unsigned int __cil_tmp11 ;
2699 unsigned int __cil_tmp12 ;
2700 void *__cil_tmp13 ;
2701 void volatile *__cil_tmp14 ;
2702 void volatile *__cil_tmp15 ;
2703 short __cil_tmp16 ;
2704 int __cil_tmp17 ;
2705 int __cil_tmp18 ;
2706 unsigned short __cil_tmp19 ;
2707 int __cil_tmp20 ;
2708 unsigned short __cil_tmp21 ;
2709 void *__cil_tmp22 ;
2710 void volatile *__cil_tmp23 ;
2711 void volatile *__cil_tmp24 ;
2712 void *__cil_tmp25 ;
2713 void volatile *__cil_tmp26 ;
2714 void volatile *__cil_tmp27 ;
2715 short __cil_tmp28 ;
2716 int __cil_tmp29 ;
2717 int __cil_tmp30 ;
2718 unsigned short __cil_tmp31 ;
2719 int __cil_tmp32 ;
2720 unsigned short __cil_tmp33 ;
2721 void *__cil_tmp34 ;
2722 void volatile *__cil_tmp35 ;
2723 void volatile *__cil_tmp36 ;
2724 void *__cil_tmp37 ;
2725 void volatile *__cil_tmp38 ;
2726 void volatile *__cil_tmp39 ;
2727 short __cil_tmp40 ;
2728 int __cil_tmp41 ;
2729 int __cil_tmp42 ;
2730 unsigned short __cil_tmp43 ;
2731 int __cil_tmp44 ;
2732 unsigned short __cil_tmp45 ;
2733 void *__cil_tmp46 ;
2734 void volatile *__cil_tmp47 ;
2735 void volatile *__cil_tmp48 ;
2736
2737 {
2738 {
2739#line 150
2740 __cil_tmp6 = *((void **)this);
2741#line 150
2742 __cil_tmp7 = (void const volatile *)__cil_tmp6;
2743#line 150
2744 __cil_tmp8 = __cil_tmp7 + 124060U;
2745#line 150
2746 tmp = readw(__cil_tmp8);
2747#line 150
2748 status = (int )tmp;
2749#line 151
2750 __cil_tmp9 = (unsigned long )this;
2751#line 151
2752 __cil_tmp10 = __cil_tmp9 + 60;
2753#line 151
2754 __cil_tmp11 = *((unsigned int *)__cil_tmp10);
2755#line 151
2756 __cil_tmp12 = __cil_tmp11 & 1U;
2757#line 151
2758 block_lock_scheme = __cil_tmp12 == 0U;
2759 }
2760#line 154
2761 if (cmd == 35) {
2762#line 154
2763 goto case_35;
2764 } else
2765#line 155
2766 if (cmd == 39) {
2767#line 155
2768 goto case_39;
2769 } else
2770#line 162
2771 if (cmd == 42) {
2772#line 162
2773 goto case_42;
2774 } else
2775#line 169
2776 if (cmd == 44) {
2777#line 169
2778 goto case_44;
2779 } else {
2780 {
2781#line 176
2782 goto switch_default;
2783#line 153
2784 if (0) {
2785 case_35: ;
2786 case_39: ;
2787#line 156
2788 if (block_lock_scheme != 0) {
2789 {
2790#line 157
2791 __cil_tmp13 = *((void **)this);
2792#line 157
2793 __cil_tmp14 = (void volatile *)__cil_tmp13;
2794#line 157
2795 __cil_tmp15 = __cil_tmp14 + 124060U;
2796#line 157
2797 writew((unsigned short)4, __cil_tmp15);
2798 }
2799 } else {
2800 {
2801#line 159
2802 __cil_tmp16 = (short )status;
2803#line 159
2804 __cil_tmp17 = (int )__cil_tmp16;
2805#line 159
2806 __cil_tmp18 = __cil_tmp17 | 4;
2807#line 159
2808 __cil_tmp19 = (unsigned short )__cil_tmp18;
2809#line 159
2810 __cil_tmp20 = (int )__cil_tmp19;
2811#line 159
2812 __cil_tmp21 = (unsigned short )__cil_tmp20;
2813#line 159
2814 __cil_tmp22 = *((void **)this);
2815#line 159
2816 __cil_tmp23 = (void volatile *)__cil_tmp22;
2817#line 159
2818 __cil_tmp24 = __cil_tmp23 + 124060U;
2819#line 159
2820 writew(__cil_tmp21, __cil_tmp24);
2821 }
2822 }
2823#line 160
2824 goto ldv_18913;
2825 case_42: ;
2826#line 163
2827 if (block_lock_scheme != 0) {
2828 {
2829#line 164
2830 __cil_tmp25 = *((void **)this);
2831#line 164
2832 __cil_tmp26 = (void volatile *)__cil_tmp25;
2833#line 164
2834 __cil_tmp27 = __cil_tmp26 + 124060U;
2835#line 164
2836 writew((unsigned short)2, __cil_tmp27);
2837 }
2838 } else {
2839 {
2840#line 166
2841 __cil_tmp28 = (short )status;
2842#line 166
2843 __cil_tmp29 = (int )__cil_tmp28;
2844#line 166
2845 __cil_tmp30 = __cil_tmp29 | 2;
2846#line 166
2847 __cil_tmp31 = (unsigned short )__cil_tmp30;
2848#line 166
2849 __cil_tmp32 = (int )__cil_tmp31;
2850#line 166
2851 __cil_tmp33 = (unsigned short )__cil_tmp32;
2852#line 166
2853 __cil_tmp34 = *((void **)this);
2854#line 166
2855 __cil_tmp35 = (void volatile *)__cil_tmp34;
2856#line 166
2857 __cil_tmp36 = __cil_tmp35 + 124060U;
2858#line 166
2859 writew(__cil_tmp33, __cil_tmp36);
2860 }
2861 }
2862#line 167
2863 goto ldv_18913;
2864 case_44: ;
2865#line 170
2866 if (block_lock_scheme != 0) {
2867 {
2868#line 171
2869 __cil_tmp37 = *((void **)this);
2870#line 171
2871 __cil_tmp38 = (void volatile *)__cil_tmp37;
2872#line 171
2873 __cil_tmp39 = __cil_tmp38 + 124060U;
2874#line 171
2875 writew((unsigned short)1, __cil_tmp39);
2876 }
2877 } else {
2878 {
2879#line 173
2880 __cil_tmp40 = (short )status;
2881#line 173
2882 __cil_tmp41 = (int )__cil_tmp40;
2883#line 173
2884 __cil_tmp42 = __cil_tmp41 | 1;
2885#line 173
2886 __cil_tmp43 = (unsigned short )__cil_tmp42;
2887#line 173
2888 __cil_tmp44 = (int )__cil_tmp43;
2889#line 173
2890 __cil_tmp45 = (unsigned short )__cil_tmp44;
2891#line 173
2892 __cil_tmp46 = *((void **)this);
2893#line 173
2894 __cil_tmp47 = (void volatile *)__cil_tmp46;
2895#line 173
2896 __cil_tmp48 = __cil_tmp47 + 124060U;
2897#line 173
2898 writew(__cil_tmp45, __cil_tmp48);
2899 }
2900 }
2901#line 174
2902 goto ldv_18913;
2903 switch_default: ;
2904#line 177
2905 goto ldv_18913;
2906 } else {
2907 switch_break: ;
2908 }
2909 }
2910 }
2911 ldv_18913: ;
2912#line 180
2913 return;
2914}
2915}
2916#line 188 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2917static void onenand_bootram_handle(struct onenand_chip *this , int cmd )
2918{ unsigned short __cil_tmp3 ;
2919 int __cil_tmp4 ;
2920 unsigned short __cil_tmp5 ;
2921 void *__cil_tmp6 ;
2922 void volatile *__cil_tmp7 ;
2923 unsigned short __cil_tmp8 ;
2924 int __cil_tmp9 ;
2925 unsigned short __cil_tmp10 ;
2926 void *__cil_tmp11 ;
2927 void volatile *__cil_tmp12 ;
2928 void volatile *__cil_tmp13 ;
2929 unsigned short __cil_tmp14 ;
2930 int __cil_tmp15 ;
2931 unsigned short __cil_tmp16 ;
2932 void *__cil_tmp17 ;
2933 void volatile *__cil_tmp18 ;
2934 void volatile *__cil_tmp19 ;
2935
2936 {
2937#line 191
2938 if (cmd == 144) {
2939#line 191
2940 goto case_144;
2941 } else {
2942 {
2943#line 197
2944 goto switch_default;
2945#line 190
2946 if (0) {
2947 case_144:
2948 {
2949#line 192
2950 __cil_tmp3 = (unsigned short )manuf_id;
2951#line 192
2952 __cil_tmp4 = (int )__cil_tmp3;
2953#line 192
2954 __cil_tmp5 = (unsigned short )__cil_tmp4;
2955#line 192
2956 __cil_tmp6 = *((void **)this);
2957#line 192
2958 __cil_tmp7 = (void volatile *)__cil_tmp6;
2959#line 192
2960 writew(__cil_tmp5, __cil_tmp7);
2961#line 193
2962 __cil_tmp8 = (unsigned short )device_id;
2963#line 193
2964 __cil_tmp9 = (int )__cil_tmp8;
2965#line 193
2966 __cil_tmp10 = (unsigned short )__cil_tmp9;
2967#line 193
2968 __cil_tmp11 = *((void **)this);
2969#line 193
2970 __cil_tmp12 = (void volatile *)__cil_tmp11;
2971#line 193
2972 __cil_tmp13 = __cil_tmp12 + 2U;
2973#line 193
2974 writew(__cil_tmp10, __cil_tmp13);
2975#line 194
2976 __cil_tmp14 = (unsigned short )version_id;
2977#line 194
2978 __cil_tmp15 = (int )__cil_tmp14;
2979#line 194
2980 __cil_tmp16 = (unsigned short )__cil_tmp15;
2981#line 194
2982 __cil_tmp17 = *((void **)this);
2983#line 194
2984 __cil_tmp18 = (void volatile *)__cil_tmp17;
2985#line 194
2986 __cil_tmp19 = __cil_tmp18 + 4U;
2987#line 194
2988 writew(__cil_tmp16, __cil_tmp19);
2989 }
2990#line 195
2991 goto ldv_18922;
2992 switch_default: ;
2993#line 199
2994 goto ldv_18922;
2995 } else {
2996 switch_break: ;
2997 }
2998 }
2999 }
3000 ldv_18922: ;
3001#line 202
3002 return;
3003}
3004}
3005#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3006static void onenand_update_interrupt(struct onenand_chip *this , int cmd )
3007{ int interrupt ;
3008 unsigned short __cil_tmp4 ;
3009 int __cil_tmp5 ;
3010 unsigned short __cil_tmp6 ;
3011 void *__cil_tmp7 ;
3012 void volatile *__cil_tmp8 ;
3013 void volatile *__cil_tmp9 ;
3014
3015 {
3016#line 212
3017 interrupt = 32768;
3018#line 215
3019 if (cmd == 0) {
3020#line 215
3021 goto case_0;
3022 } else
3023#line 216
3024 if (cmd == 19) {
3025#line 216
3026 goto case_19;
3027 } else
3028#line 220
3029 if (cmd == 128) {
3030#line 220
3031 goto case_128;
3032 } else
3033#line 221
3034 if (cmd == 26) {
3035#line 221
3036 goto case_26;
3037 } else
3038#line 225
3039 if (cmd == 148) {
3040#line 225
3041 goto case_148;
3042 } else
3043#line 229
3044 if (cmd == 240) {
3045#line 229
3046 goto case_240;
3047 } else {
3048 {
3049#line 233
3050 goto switch_default;
3051#line 214
3052 if (0) {
3053 case_0: ;
3054 case_19:
3055#line 217
3056 interrupt = interrupt | 128;
3057#line 218
3058 goto ldv_18931;
3059 case_128: ;
3060 case_26:
3061#line 222
3062 interrupt = interrupt | 64;
3063#line 223
3064 goto ldv_18931;
3065 case_148:
3066#line 226
3067 interrupt = interrupt | 32;
3068#line 227
3069 goto ldv_18931;
3070 case_240:
3071#line 230
3072 interrupt = interrupt | 16;
3073#line 231
3074 goto ldv_18931;
3075 switch_default: ;
3076#line 234
3077 goto ldv_18931;
3078 } else {
3079 switch_break: ;
3080 }
3081 }
3082 }
3083 ldv_18931:
3084 {
3085#line 237
3086 __cil_tmp4 = (unsigned short )interrupt;
3087#line 237
3088 __cil_tmp5 = (int )__cil_tmp4;
3089#line 237
3090 __cil_tmp6 = (unsigned short )__cil_tmp5;
3091#line 237
3092 __cil_tmp7 = *((void **)this);
3093#line 237
3094 __cil_tmp8 = (void volatile *)__cil_tmp7;
3095#line 237
3096 __cil_tmp9 = __cil_tmp8 + 124034U;
3097#line 237
3098 writew(__cil_tmp6, __cil_tmp9);
3099 }
3100#line 238
3101 return;
3102}
3103}
3104#line 250 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3105static int onenand_check_overwrite(void *dest , void *src , size_t count )
3106{ unsigned int *s ;
3107 unsigned int *d ;
3108 int i ;
3109 unsigned int *tmp ;
3110 unsigned int *tmp___0 ;
3111 unsigned int __cil_tmp9 ;
3112 unsigned int __cil_tmp10 ;
3113 size_t __cil_tmp11 ;
3114
3115 {
3116#line 252
3117 s = (unsigned int *)src;
3118#line 253
3119 d = (unsigned int *)dest;
3120#line 256
3121 count = count >> 2;
3122#line 257
3123 i = 0;
3124#line 257
3125 goto ldv_18946;
3126 ldv_18945:
3127#line 258
3128 tmp = s;
3129#line 258
3130 s = s + 1;
3131#line 258
3132 tmp___0 = d;
3133#line 258
3134 d = d + 1;
3135 {
3136#line 258
3137 __cil_tmp9 = *tmp___0;
3138#line 258
3139 __cil_tmp10 = *tmp;
3140#line 258
3141 if (__cil_tmp10 != __cil_tmp9) {
3142#line 259
3143 return (1);
3144 } else {
3145
3146 }
3147 }
3148#line 257
3149 i = i + 1;
3150 ldv_18946: ;
3151 {
3152#line 257
3153 __cil_tmp11 = (size_t )i;
3154#line 257
3155 if (__cil_tmp11 < count) {
3156#line 258
3157 goto ldv_18945;
3158 } else {
3159#line 260
3160 goto ldv_18947;
3161 }
3162 }
3163 ldv_18947: ;
3164#line 261
3165 return (0);
3166}
3167}
3168#line 275 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3169static void onenand_data_handle(struct onenand_chip *this , int cmd , int dataram ,
3170 unsigned int offset )
3171{ struct mtd_info *mtd ;
3172 struct onenand_flash *flash ;
3173 int main_offset ;
3174 int spare_offset ;
3175 int die ;
3176 void *src ;
3177 void *dest ;
3178 unsigned int i ;
3179 int pi_operation ;
3180 int erasesize ;
3181 int rgn ;
3182 unsigned short tmp ;
3183 size_t __len ;
3184 void *__ret ;
3185 size_t __len___0 ;
3186 void *__ret___0 ;
3187 unsigned short tmp___0 ;
3188 int off ;
3189 int tmp___1 ;
3190 int tmp___2 ;
3191 int tmp___3 ;
3192 size_t __len___1 ;
3193 void *__ret___1 ;
3194 int tmp___4 ;
3195 int tmp___5 ;
3196 int tmp___6 ;
3197 size_t __len___2 ;
3198 void *__ret___2 ;
3199 unsigned long __cil_tmp33 ;
3200 unsigned long __cil_tmp34 ;
3201 void *__cil_tmp35 ;
3202 unsigned long __cil_tmp36 ;
3203 unsigned long __cil_tmp37 ;
3204 uint32_t __cil_tmp38 ;
3205 unsigned long __cil_tmp39 ;
3206 unsigned long __cil_tmp40 ;
3207 uint32_t __cil_tmp41 ;
3208 void *__cil_tmp42 ;
3209 void const volatile *__cil_tmp43 ;
3210 void const volatile *__cil_tmp44 ;
3211 unsigned long __cil_tmp45 ;
3212 unsigned long __cil_tmp46 ;
3213 unsigned long __cil_tmp47 ;
3214 void *__cil_tmp48 ;
3215 unsigned long __cil_tmp49 ;
3216 unsigned long __cil_tmp50 ;
3217 void *__cil_tmp51 ;
3218 unsigned long __cil_tmp52 ;
3219 unsigned long __cil_tmp53 ;
3220 int __cil_tmp54 ;
3221 unsigned short __cil_tmp55 ;
3222 int __cil_tmp56 ;
3223 unsigned short __cil_tmp57 ;
3224 void *__cil_tmp58 ;
3225 void volatile *__cil_tmp59 ;
3226 void volatile *__cil_tmp60 ;
3227 unsigned long __cil_tmp61 ;
3228 unsigned long __cil_tmp62 ;
3229 uint32_t __cil_tmp63 ;
3230 void const *__cil_tmp64 ;
3231 unsigned int __cil_tmp65 ;
3232 unsigned long __cil_tmp66 ;
3233 unsigned long __cil_tmp67 ;
3234 unsigned long __cil_tmp68 ;
3235 unsigned int __cil_tmp69 ;
3236 unsigned long __cil_tmp70 ;
3237 unsigned long __cil_tmp71 ;
3238 unsigned long __cil_tmp72 ;
3239 unsigned long __cil_tmp73 ;
3240 void *__cil_tmp74 ;
3241 unsigned long __cil_tmp75 ;
3242 unsigned long __cil_tmp76 ;
3243 void *__cil_tmp77 ;
3244 unsigned long __cil_tmp78 ;
3245 unsigned long __cil_tmp79 ;
3246 uint32_t __cil_tmp80 ;
3247 void const *__cil_tmp81 ;
3248 unsigned long __cil_tmp82 ;
3249 unsigned long __cil_tmp83 ;
3250 void *__cil_tmp84 ;
3251 unsigned long __cil_tmp85 ;
3252 unsigned long __cil_tmp86 ;
3253 unsigned long __cil_tmp87 ;
3254 void *__cil_tmp88 ;
3255 void *__cil_tmp89 ;
3256 void const volatile *__cil_tmp90 ;
3257 void const volatile *__cil_tmp91 ;
3258 unsigned long __cil_tmp92 ;
3259 unsigned long __cil_tmp93 ;
3260 unsigned long __cil_tmp94 ;
3261 unsigned long __cil_tmp95 ;
3262 int __cil_tmp96 ;
3263 unsigned int __cil_tmp97 ;
3264 unsigned int __cil_tmp98 ;
3265 unsigned long __cil_tmp99 ;
3266 void const *__cil_tmp100 ;
3267 void const *__cil_tmp101 ;
3268 void const *__cil_tmp102 ;
3269 unsigned long __cil_tmp103 ;
3270 unsigned long __cil_tmp104 ;
3271 int __cil_tmp105 ;
3272 size_t __cil_tmp106 ;
3273 unsigned long __cil_tmp107 ;
3274 void const *__cil_tmp108 ;
3275 void const *__cil_tmp109 ;
3276 void const *__cil_tmp110 ;
3277 unsigned long __cil_tmp111 ;
3278 unsigned long __cil_tmp112 ;
3279 int __cil_tmp113 ;
3280 size_t __cil_tmp114 ;
3281 unsigned long __cil_tmp115 ;
3282 void *__cil_tmp116 ;
3283 unsigned long __cil_tmp117 ;
3284 void *__cil_tmp118 ;
3285 unsigned long __cil_tmp119 ;
3286 unsigned long __cil_tmp120 ;
3287 int __cil_tmp121 ;
3288 size_t __cil_tmp122 ;
3289 unsigned long __cil_tmp123 ;
3290 unsigned long __cil_tmp124 ;
3291 int __cil_tmp125 ;
3292 unsigned long __cil_tmp126 ;
3293 void *__cil_tmp127 ;
3294 unsigned long __cil_tmp128 ;
3295 void const *__cil_tmp129 ;
3296 void const *__cil_tmp130 ;
3297 unsigned long __cil_tmp131 ;
3298 unsigned long __cil_tmp132 ;
3299 int __cil_tmp133 ;
3300 int __cil_tmp134 ;
3301 unsigned int __cil_tmp135 ;
3302 unsigned long __cil_tmp136 ;
3303 unsigned long __cil_tmp137 ;
3304 void *__cil_tmp138 ;
3305 void const *__cil_tmp139 ;
3306 void const *__cil_tmp140 ;
3307 unsigned long __cil_tmp141 ;
3308 unsigned long __cil_tmp142 ;
3309 uint32_t __cil_tmp143 ;
3310 size_t __cil_tmp144 ;
3311 unsigned int __cil_tmp145 ;
3312 unsigned long __cil_tmp146 ;
3313 unsigned long __cil_tmp147 ;
3314 unsigned long __cil_tmp148 ;
3315 unsigned int __cil_tmp149 ;
3316 unsigned long __cil_tmp150 ;
3317 unsigned long __cil_tmp151 ;
3318 unsigned long __cil_tmp152 ;
3319 unsigned long __cil_tmp153 ;
3320 void *__cil_tmp154 ;
3321 void const *__cil_tmp155 ;
3322 void const *__cil_tmp156 ;
3323 unsigned long __cil_tmp157 ;
3324 unsigned long __cil_tmp158 ;
3325 uint32_t __cil_tmp159 ;
3326 size_t __cil_tmp160 ;
3327 unsigned long __cil_tmp161 ;
3328 unsigned long __cil_tmp162 ;
3329 uint32_t __cil_tmp163 ;
3330 size_t __cil_tmp164 ;
3331 unsigned long __cil_tmp165 ;
3332 unsigned long __cil_tmp166 ;
3333 uint32_t __cil_tmp167 ;
3334 void const *__cil_tmp168 ;
3335 unsigned long __cil_tmp169 ;
3336 unsigned long __cil_tmp170 ;
3337 unsigned int __cil_tmp171 ;
3338 unsigned int __cil_tmp172 ;
3339 loff_t __cil_tmp173 ;
3340 unsigned long __cil_tmp174 ;
3341 unsigned long __cil_tmp175 ;
3342 unsigned long __cil_tmp176 ;
3343 struct mtd_erase_region_info *__cil_tmp177 ;
3344 struct mtd_erase_region_info *__cil_tmp178 ;
3345 unsigned long __cil_tmp179 ;
3346 unsigned long __cil_tmp180 ;
3347 uint32_t __cil_tmp181 ;
3348 unsigned long __cil_tmp182 ;
3349 unsigned long __cil_tmp183 ;
3350 uint32_t __cil_tmp184 ;
3351 unsigned long __cil_tmp185 ;
3352 unsigned long __cil_tmp186 ;
3353 unsigned long __cil_tmp187 ;
3354 void *__cil_tmp188 ;
3355 void *__cil_tmp189 ;
3356 size_t __cil_tmp190 ;
3357 unsigned int __cil_tmp191 ;
3358 unsigned long __cil_tmp192 ;
3359 unsigned long __cil_tmp193 ;
3360 unsigned long __cil_tmp194 ;
3361 unsigned int __cil_tmp195 ;
3362 unsigned long __cil_tmp196 ;
3363 unsigned long __cil_tmp197 ;
3364 unsigned long __cil_tmp198 ;
3365 unsigned long __cil_tmp199 ;
3366 void *__cil_tmp200 ;
3367 void *__cil_tmp201 ;
3368 int __cil_tmp202 ;
3369 size_t __cil_tmp203 ;
3370
3371 {
3372#line 278
3373 mtd = (struct mtd_info *)info;
3374#line 279
3375 __cil_tmp33 = (unsigned long )this;
3376#line 279
3377 __cil_tmp34 = __cil_tmp33 + 528;
3378#line 279
3379 __cil_tmp35 = *((void **)__cil_tmp34);
3380#line 279
3381 flash = (struct onenand_flash *)__cil_tmp35;
3382#line 280
3383 die = 0;
3384#line 287
3385 if (dataram != 0) {
3386#line 288
3387 __cil_tmp36 = (unsigned long )mtd;
3388#line 288
3389 __cil_tmp37 = __cil_tmp36 + 20;
3390#line 288
3391 __cil_tmp38 = *((uint32_t *)__cil_tmp37);
3392#line 288
3393 main_offset = (int )__cil_tmp38;
3394#line 289
3395 __cil_tmp39 = (unsigned long )mtd;
3396#line 289
3397 __cil_tmp40 = __cil_tmp39 + 28;
3398#line 289
3399 __cil_tmp41 = *((uint32_t *)__cil_tmp40);
3400#line 289
3401 spare_offset = (int )__cil_tmp41;
3402 } else {
3403#line 291
3404 main_offset = 0;
3405#line 292
3406 spare_offset = 0;
3407 }
3408#line 295
3409 if (pi_operation != 0) {
3410 {
3411#line 296
3412 __cil_tmp42 = *((void **)this);
3413#line 296
3414 __cil_tmp43 = (void const volatile *)__cil_tmp42;
3415#line 296
3416 __cil_tmp44 = __cil_tmp43 + 123394U;
3417#line 296
3418 tmp = readw(__cil_tmp44);
3419#line 296
3420 die = (int )tmp;
3421#line 297
3422 die = die >> 15;
3423 }
3424 } else {
3425
3426 }
3427#line 301
3428 if (cmd == 102) {
3429#line 301
3430 goto case_102;
3431 } else
3432#line 305
3433 if (cmd == 240) {
3434#line 305
3435 goto case_240;
3436 } else
3437#line 309
3438 if (cmd == 0) {
3439#line 309
3440 goto case_0;
3441 } else
3442#line 319
3443 if (cmd == 19) {
3444#line 319
3445 goto case_19;
3446 } else
3447#line 325
3448 if (cmd == 128) {
3449#line 325
3450 goto case_128;
3451 } else
3452#line 344
3453 if (cmd == 26) {
3454#line 344
3455 goto case_26;
3456 } else
3457#line 358
3458 if (cmd == 148) {
3459#line 358
3460 goto case_148;
3461 } else {
3462 {
3463#line 373
3464 goto switch_default;
3465#line 300
3466 if (0) {
3467 case_102:
3468#line 302
3469 pi_operation = 1;
3470#line 303
3471 goto ldv_18966;
3472 case_240:
3473#line 306
3474 pi_operation = 0;
3475#line 307
3476 goto ldv_18966;
3477 case_0:
3478#line 310
3479 __cil_tmp45 = (unsigned long )offset;
3480#line 310
3481 __cil_tmp46 = (unsigned long )flash;
3482#line 310
3483 __cil_tmp47 = __cil_tmp46 + 8;
3484#line 310
3485 __cil_tmp48 = *((void **)__cil_tmp47);
3486#line 310
3487 src = __cil_tmp48 + __cil_tmp45;
3488#line 311
3489 __cil_tmp49 = (unsigned long )main_offset;
3490#line 311
3491 __cil_tmp50 = __cil_tmp49 + 1024UL;
3492#line 311
3493 __cil_tmp51 = *((void **)this);
3494#line 311
3495 dest = __cil_tmp51 + __cil_tmp50;
3496#line 312
3497 if (pi_operation != 0) {
3498 {
3499#line 313
3500 __cil_tmp52 = die * 4UL;
3501#line 313
3502 __cil_tmp53 = (unsigned long )(boundary) + __cil_tmp52;
3503#line 313
3504 __cil_tmp54 = *((int *)__cil_tmp53);
3505#line 313
3506 __cil_tmp55 = (unsigned short )__cil_tmp54;
3507#line 313
3508 __cil_tmp56 = (int )__cil_tmp55;
3509#line 313
3510 __cil_tmp57 = (unsigned short )__cil_tmp56;
3511#line 313
3512 __cil_tmp58 = *((void **)this);
3513#line 313
3514 __cil_tmp59 = (void volatile *)__cil_tmp58;
3515#line 313
3516 __cil_tmp60 = __cil_tmp59 + 1024U;
3517#line 313
3518 writew(__cil_tmp57, __cil_tmp60);
3519 }
3520#line 314
3521 goto ldv_18966;
3522 } else {
3523
3524 }
3525 {
3526#line 316
3527 __cil_tmp61 = (unsigned long )mtd;
3528#line 316
3529 __cil_tmp62 = __cil_tmp61 + 20;
3530#line 316
3531 __cil_tmp63 = *((uint32_t *)__cil_tmp62);
3532#line 316
3533 __len = (size_t )__cil_tmp63;
3534#line 316
3535 __cil_tmp64 = (void const *)src;
3536#line 316
3537 __ret = __builtin_memcpy(dest, __cil_tmp64, __len);
3538 }
3539 case_19:
3540 {
3541#line 320
3542 __cil_tmp65 = offset >> 5;
3543#line 320
3544 __cil_tmp66 = (unsigned long )__cil_tmp65;
3545#line 320
3546 __cil_tmp67 = (unsigned long )this;
3547#line 320
3548 __cil_tmp68 = __cil_tmp67 + 40;
3549#line 320
3550 __cil_tmp69 = *((unsigned int *)__cil_tmp68);
3551#line 320
3552 __cil_tmp70 = (unsigned long )__cil_tmp69;
3553#line 320
3554 __cil_tmp71 = __cil_tmp70 + __cil_tmp66;
3555#line 320
3556 __cil_tmp72 = (unsigned long )flash;
3557#line 320
3558 __cil_tmp73 = __cil_tmp72 + 8;
3559#line 320
3560 __cil_tmp74 = *((void **)__cil_tmp73);
3561#line 320
3562 src = __cil_tmp74 + __cil_tmp71;
3563#line 321
3564 __cil_tmp75 = (unsigned long )spare_offset;
3565#line 321
3566 __cil_tmp76 = __cil_tmp75 + 65568UL;
3567#line 321
3568 __cil_tmp77 = *((void **)this);
3569#line 321
3570 dest = __cil_tmp77 + __cil_tmp76;
3571#line 322
3572 __cil_tmp78 = (unsigned long )mtd;
3573#line 322
3574 __cil_tmp79 = __cil_tmp78 + 28;
3575#line 322
3576 __cil_tmp80 = *((uint32_t *)__cil_tmp79);
3577#line 322
3578 __len___0 = (size_t )__cil_tmp80;
3579#line 322
3580 __cil_tmp81 = (void const *)src;
3581#line 322
3582 __ret___0 = __builtin_memcpy(dest, __cil_tmp81, __len___0);
3583 }
3584#line 323
3585 goto ldv_18966;
3586 case_128:
3587#line 326
3588 __cil_tmp82 = (unsigned long )main_offset;
3589#line 326
3590 __cil_tmp83 = __cil_tmp82 + 1024UL;
3591#line 326
3592 __cil_tmp84 = *((void **)this);
3593#line 326
3594 src = __cil_tmp84 + __cil_tmp83;
3595#line 327
3596 __cil_tmp85 = (unsigned long )offset;
3597#line 327
3598 __cil_tmp86 = (unsigned long )flash;
3599#line 327
3600 __cil_tmp87 = __cil_tmp86 + 8;
3601#line 327
3602 __cil_tmp88 = *((void **)__cil_tmp87);
3603#line 327
3604 dest = __cil_tmp88 + __cil_tmp85;
3605#line 328
3606 if (pi_operation != 0) {
3607 {
3608#line 329
3609 __cil_tmp89 = *((void **)this);
3610#line 329
3611 __cil_tmp90 = (void const volatile *)__cil_tmp89;
3612#line 329
3613 __cil_tmp91 = __cil_tmp90 + 1024U;
3614#line 329
3615 tmp___0 = readw(__cil_tmp91);
3616#line 329
3617 __cil_tmp92 = die * 4UL;
3618#line 329
3619 __cil_tmp93 = (unsigned long )(boundary) + __cil_tmp92;
3620#line 329
3621 *((int *)__cil_tmp93) = (int )tmp___0;
3622 }
3623#line 330
3624 goto ldv_18966;
3625 } else {
3626
3627 }
3628#line 333
3629 i = 0U;
3630#line 333
3631 goto ldv_18983;
3632 ldv_18982:
3633 {
3634#line 334
3635 __cil_tmp94 = (unsigned long )this;
3636#line 334
3637 __cil_tmp95 = __cil_tmp94 + 504;
3638#line 334
3639 __cil_tmp96 = *((int *)__cil_tmp95);
3640#line 334
3641 __cil_tmp97 = (unsigned int )__cil_tmp96;
3642#line 334
3643 __cil_tmp98 = __cil_tmp97 * i;
3644#line 334
3645 off = (int )__cil_tmp98;
3646#line 335
3647 __cil_tmp99 = (unsigned long )off;
3648#line 335
3649 __cil_tmp100 = (void const *)src;
3650#line 335
3651 __cil_tmp101 = __cil_tmp100 + __cil_tmp99;
3652#line 335
3653 __cil_tmp102 = (void const *)ffchars;
3654#line 335
3655 __cil_tmp103 = (unsigned long )this;
3656#line 335
3657 __cil_tmp104 = __cil_tmp103 + 504;
3658#line 335
3659 __cil_tmp105 = *((int *)__cil_tmp104);
3660#line 335
3661 __cil_tmp106 = (size_t )__cil_tmp105;
3662#line 335
3663 tmp___1 = memcmp(__cil_tmp101, __cil_tmp102, __cil_tmp106);
3664 }
3665#line 335
3666 if (tmp___1 == 0) {
3667#line 336
3668 goto ldv_18978;
3669 } else {
3670
3671 }
3672 {
3673#line 337
3674 __cil_tmp107 = (unsigned long )off;
3675#line 337
3676 __cil_tmp108 = (void const *)dest;
3677#line 337
3678 __cil_tmp109 = __cil_tmp108 + __cil_tmp107;
3679#line 337
3680 __cil_tmp110 = (void const *)ffchars;
3681#line 337
3682 __cil_tmp111 = (unsigned long )this;
3683#line 337
3684 __cil_tmp112 = __cil_tmp111 + 504;
3685#line 337
3686 __cil_tmp113 = *((int *)__cil_tmp112);
3687#line 337
3688 __cil_tmp114 = (size_t )__cil_tmp113;
3689#line 337
3690 tmp___2 = memcmp(__cil_tmp109, __cil_tmp110, __cil_tmp114);
3691 }
3692#line 337
3693 if (tmp___2 != 0) {
3694 {
3695#line 337
3696 __cil_tmp115 = (unsigned long )off;
3697#line 337
3698 __cil_tmp116 = dest + __cil_tmp115;
3699#line 337
3700 __cil_tmp117 = (unsigned long )off;
3701#line 337
3702 __cil_tmp118 = src + __cil_tmp117;
3703#line 337
3704 __cil_tmp119 = (unsigned long )this;
3705#line 337
3706 __cil_tmp120 = __cil_tmp119 + 504;
3707#line 337
3708 __cil_tmp121 = *((int *)__cil_tmp120);
3709#line 337
3710 __cil_tmp122 = (size_t )__cil_tmp121;
3711#line 337
3712 tmp___3 = onenand_check_overwrite(__cil_tmp116, __cil_tmp118, __cil_tmp122);
3713 }
3714#line 337
3715 if (tmp___3 != 0) {
3716 {
3717#line 339
3718 printk("<3>over-write happened at 0x%08x\n", offset);
3719 }
3720 } else {
3721
3722 }
3723 } else {
3724
3725 }
3726 {
3727#line 340
3728 __cil_tmp123 = (unsigned long )this;
3729#line 340
3730 __cil_tmp124 = __cil_tmp123 + 504;
3731#line 340
3732 __cil_tmp125 = *((int *)__cil_tmp124);
3733#line 340
3734 __len___1 = (size_t )__cil_tmp125;
3735#line 340
3736 __cil_tmp126 = (unsigned long )off;
3737#line 340
3738 __cil_tmp127 = dest + __cil_tmp126;
3739#line 340
3740 __cil_tmp128 = (unsigned long )off;
3741#line 340
3742 __cil_tmp129 = (void const *)src;
3743#line 340
3744 __cil_tmp130 = __cil_tmp129 + __cil_tmp128;
3745#line 340
3746 __ret___1 = __builtin_memcpy(__cil_tmp127, __cil_tmp130, __len___1);
3747 }
3748 ldv_18978:
3749#line 333
3750 i = i + 1U;
3751 ldv_18983: ;
3752 {
3753#line 333
3754 __cil_tmp131 = (unsigned long )mtd;
3755#line 333
3756 __cil_tmp132 = __cil_tmp131 + 352;
3757#line 333
3758 __cil_tmp133 = *((int *)__cil_tmp132);
3759#line 333
3760 __cil_tmp134 = 1 << __cil_tmp133;
3761#line 333
3762 __cil_tmp135 = (unsigned int )__cil_tmp134;
3763#line 333
3764 if (__cil_tmp135 > i) {
3765#line 334
3766 goto ldv_18982;
3767 } else {
3768#line 336
3769 goto ldv_18984;
3770 }
3771 }
3772 ldv_18984: ;
3773 case_26:
3774 {
3775#line 345
3776 __cil_tmp136 = (unsigned long )spare_offset;
3777#line 345
3778 __cil_tmp137 = __cil_tmp136 + 65568UL;
3779#line 345
3780 __cil_tmp138 = *((void **)this);
3781#line 345
3782 src = __cil_tmp138 + __cil_tmp137;
3783#line 347
3784 __cil_tmp139 = (void const *)src;
3785#line 347
3786 __cil_tmp140 = (void const *)ffchars;
3787#line 347
3788 __cil_tmp141 = (unsigned long )mtd;
3789#line 347
3790 __cil_tmp142 = __cil_tmp141 + 28;
3791#line 347
3792 __cil_tmp143 = *((uint32_t *)__cil_tmp142);
3793#line 347
3794 __cil_tmp144 = (size_t )__cil_tmp143;
3795#line 347
3796 tmp___4 = memcmp(__cil_tmp139, __cil_tmp140, __cil_tmp144);
3797 }
3798#line 347
3799 if (tmp___4 == 0) {
3800#line 348
3801 goto ldv_18966;
3802 } else {
3803
3804 }
3805 {
3806#line 350
3807 __cil_tmp145 = offset >> 5;
3808#line 350
3809 __cil_tmp146 = (unsigned long )__cil_tmp145;
3810#line 350
3811 __cil_tmp147 = (unsigned long )this;
3812#line 350
3813 __cil_tmp148 = __cil_tmp147 + 40;
3814#line 350
3815 __cil_tmp149 = *((unsigned int *)__cil_tmp148);
3816#line 350
3817 __cil_tmp150 = (unsigned long )__cil_tmp149;
3818#line 350
3819 __cil_tmp151 = __cil_tmp150 + __cil_tmp146;
3820#line 350
3821 __cil_tmp152 = (unsigned long )flash;
3822#line 350
3823 __cil_tmp153 = __cil_tmp152 + 8;
3824#line 350
3825 __cil_tmp154 = *((void **)__cil_tmp153);
3826#line 350
3827 dest = __cil_tmp154 + __cil_tmp151;
3828#line 351
3829 __cil_tmp155 = (void const *)dest;
3830#line 351
3831 __cil_tmp156 = (void const *)ffchars;
3832#line 351
3833 __cil_tmp157 = (unsigned long )mtd;
3834#line 351
3835 __cil_tmp158 = __cil_tmp157 + 28;
3836#line 351
3837 __cil_tmp159 = *((uint32_t *)__cil_tmp158);
3838#line 351
3839 __cil_tmp160 = (size_t )__cil_tmp159;
3840#line 351
3841 tmp___5 = memcmp(__cil_tmp155, __cil_tmp156, __cil_tmp160);
3842 }
3843#line 351
3844 if (tmp___5 != 0) {
3845 {
3846#line 351
3847 __cil_tmp161 = (unsigned long )mtd;
3848#line 351
3849 __cil_tmp162 = __cil_tmp161 + 28;
3850#line 351
3851 __cil_tmp163 = *((uint32_t *)__cil_tmp162);
3852#line 351
3853 __cil_tmp164 = (size_t )__cil_tmp163;
3854#line 351
3855 tmp___6 = onenand_check_overwrite(dest, src, __cil_tmp164);
3856 }
3857#line 351
3858 if (tmp___6 != 0) {
3859 {
3860#line 353
3861 printk("<3>OOB: over-write happened at 0x%08x\n", offset);
3862 }
3863 } else {
3864
3865 }
3866 } else {
3867
3868 }
3869 {
3870#line 355
3871 __cil_tmp165 = (unsigned long )mtd;
3872#line 355
3873 __cil_tmp166 = __cil_tmp165 + 28;
3874#line 355
3875 __cil_tmp167 = *((uint32_t *)__cil_tmp166);
3876#line 355
3877 __len___2 = (size_t )__cil_tmp167;
3878#line 355
3879 __cil_tmp168 = (void const *)src;
3880#line 355
3881 __ret___2 = __builtin_memcpy(dest, __cil_tmp168, __len___2);
3882 }
3883#line 356
3884 goto ldv_18966;
3885 case_148: ;
3886#line 359
3887 if (pi_operation != 0) {
3888#line 360
3889 goto ldv_18966;
3890 } else {
3891
3892 }
3893 {
3894#line 362
3895 __cil_tmp169 = (unsigned long )this;
3896#line 362
3897 __cil_tmp170 = __cil_tmp169 + 44;
3898#line 362
3899 __cil_tmp171 = *((unsigned int *)__cil_tmp170);
3900#line 362
3901 __cil_tmp172 = __cil_tmp171 & 512U;
3902#line 362
3903 if (__cil_tmp172 != 0U) {
3904 {
3905#line 363
3906 __cil_tmp173 = (loff_t )offset;
3907#line 363
3908 rgn = flexonenand_region(mtd, __cil_tmp173);
3909#line 364
3910 __cil_tmp174 = (unsigned long )rgn;
3911#line 364
3912 __cil_tmp175 = (unsigned long )mtd;
3913#line 364
3914 __cil_tmp176 = __cil_tmp175 + 88;
3915#line 364
3916 __cil_tmp177 = *((struct mtd_erase_region_info **)__cil_tmp176);
3917#line 364
3918 __cil_tmp178 = __cil_tmp177 + __cil_tmp174;
3919#line 364
3920 __cil_tmp179 = (unsigned long )__cil_tmp178;
3921#line 364
3922 __cil_tmp180 = __cil_tmp179 + 8;
3923#line 364
3924 __cil_tmp181 = *((uint32_t *)__cil_tmp180);
3925#line 364
3926 erasesize = (int )__cil_tmp181;
3927 }
3928 } else {
3929#line 366
3930 __cil_tmp182 = (unsigned long )mtd;
3931#line 366
3932 __cil_tmp183 = __cil_tmp182 + 16;
3933#line 366
3934 __cil_tmp184 = *((uint32_t *)__cil_tmp183);
3935#line 366
3936 erasesize = (int )__cil_tmp184;
3937 }
3938 }
3939 {
3940#line 368
3941 __cil_tmp185 = (unsigned long )offset;
3942#line 368
3943 __cil_tmp186 = (unsigned long )flash;
3944#line 368
3945 __cil_tmp187 = __cil_tmp186 + 8;
3946#line 368
3947 __cil_tmp188 = *((void **)__cil_tmp187);
3948#line 368
3949 __cil_tmp189 = __cil_tmp188 + __cil_tmp185;
3950#line 368
3951 __cil_tmp190 = (size_t )erasesize;
3952#line 368
3953 memset(__cil_tmp189, 255, __cil_tmp190);
3954#line 369
3955 __cil_tmp191 = offset >> 5;
3956#line 369
3957 __cil_tmp192 = (unsigned long )__cil_tmp191;
3958#line 369
3959 __cil_tmp193 = (unsigned long )this;
3960#line 369
3961 __cil_tmp194 = __cil_tmp193 + 40;
3962#line 369
3963 __cil_tmp195 = *((unsigned int *)__cil_tmp194);
3964#line 369
3965 __cil_tmp196 = (unsigned long )__cil_tmp195;
3966#line 369
3967 __cil_tmp197 = __cil_tmp196 + __cil_tmp192;
3968#line 369
3969 __cil_tmp198 = (unsigned long )flash;
3970#line 369
3971 __cil_tmp199 = __cil_tmp198 + 8;
3972#line 369
3973 __cil_tmp200 = *((void **)__cil_tmp199);
3974#line 369
3975 __cil_tmp201 = __cil_tmp200 + __cil_tmp197;
3976#line 369
3977 __cil_tmp202 = erasesize >> 5;
3978#line 369
3979 __cil_tmp203 = (size_t )__cil_tmp202;
3980#line 369
3981 memset(__cil_tmp201, 255, __cil_tmp203);
3982 }
3983#line 371
3984 goto ldv_18966;
3985 switch_default: ;
3986#line 374
3987 goto ldv_18966;
3988 } else {
3989 switch_break: ;
3990 }
3991 }
3992 }
3993 ldv_18966: ;
3994#line 377
3995 return;
3996}
3997}
3998#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3999static void onenand_command_handle(struct onenand_chip *this , int cmd )
4000{ unsigned long offset ;
4001 int block ;
4002 int page ;
4003 int bufferram ;
4004 int dataram ;
4005 unsigned short tmp ;
4006 unsigned short tmp___0 ;
4007 unsigned short tmp___1 ;
4008 loff_t tmp___2 ;
4009 void *__cil_tmp12 ;
4010 void const volatile *__cil_tmp13 ;
4011 void const volatile *__cil_tmp14 ;
4012 int __cil_tmp15 ;
4013 unsigned int __cil_tmp16 ;
4014 unsigned long __cil_tmp17 ;
4015 unsigned long __cil_tmp18 ;
4016 unsigned int __cil_tmp19 ;
4017 unsigned int __cil_tmp20 ;
4018 int __cil_tmp21 ;
4019 unsigned long __cil_tmp22 ;
4020 unsigned long __cil_tmp23 ;
4021 unsigned int __cil_tmp24 ;
4022 unsigned int __cil_tmp25 ;
4023 unsigned int __cil_tmp26 ;
4024 void *__cil_tmp27 ;
4025 void const volatile *__cil_tmp28 ;
4026 void const volatile *__cil_tmp29 ;
4027 void *__cil_tmp30 ;
4028 void const volatile *__cil_tmp31 ;
4029 void const volatile *__cil_tmp32 ;
4030 unsigned long __cil_tmp33 ;
4031 unsigned long __cil_tmp34 ;
4032 unsigned int __cil_tmp35 ;
4033 int __cil_tmp36 ;
4034 int __cil_tmp37 ;
4035 unsigned long __cil_tmp38 ;
4036 unsigned int __cil_tmp39 ;
4037
4038 {
4039#line 387
4040 offset = 0UL;
4041#line 388
4042 block = -1;
4043#line 388
4044 page = -1;
4045#line 388
4046 bufferram = -1;
4047#line 389
4048 dataram = 0;
4049#line 392
4050 if (cmd == 35) {
4051#line 392
4052 goto case_35;
4053 } else
4054#line 393
4055 if (cmd == 42) {
4056#line 393
4057 goto case_42;
4058 } else
4059#line 394
4060 if (cmd == 44) {
4061#line 394
4062 goto case_44;
4063 } else
4064#line 395
4065 if (cmd == 39) {
4066#line 395
4067 goto case_39;
4068 } else
4069#line 399
4070 if (cmd == 6520) {
4071#line 399
4072 goto case_6520;
4073 } else {
4074 {
4075#line 403
4076 goto switch_default;
4077#line 391
4078 if (0) {
4079 case_35: ;
4080 case_42: ;
4081 case_44: ;
4082 case_39:
4083 {
4084#line 396
4085 onenand_lock_handle(this, cmd);
4086 }
4087#line 397
4088 goto ldv_19004;
4089 case_6520: ;
4090#line 401
4091 return;
4092 switch_default:
4093 {
4094#line 404
4095 __cil_tmp12 = *((void **)this);
4096#line 404
4097 __cil_tmp13 = (void const volatile *)__cil_tmp12;
4098#line 404
4099 __cil_tmp14 = __cil_tmp13 + 123392U;
4100#line 404
4101 tmp = readw(__cil_tmp14);
4102#line 404
4103 block = (int )tmp;
4104 }
4105 {
4106#line 405
4107 __cil_tmp15 = block & 32768;
4108#line 405
4109 if (__cil_tmp15 != 0) {
4110#line 406
4111 block = block & -32769;
4112#line 408
4113 __cil_tmp16 = (unsigned int )block;
4114#line 408
4115 __cil_tmp17 = (unsigned long )this;
4116#line 408
4117 __cil_tmp18 = __cil_tmp17 + 64;
4118#line 408
4119 __cil_tmp19 = *((unsigned int *)__cil_tmp18);
4120#line 408
4121 __cil_tmp20 = __cil_tmp19 + 1U;
4122#line 408
4123 __cil_tmp21 = (int )__cil_tmp20;
4124#line 408
4125 __cil_tmp22 = (unsigned long )this;
4126#line 408
4127 __cil_tmp23 = __cil_tmp22 + 40;
4128#line 408
4129 __cil_tmp24 = *((unsigned int *)__cil_tmp23);
4130#line 408
4131 __cil_tmp25 = __cil_tmp24 >> __cil_tmp21;
4132#line 408
4133 __cil_tmp26 = __cil_tmp25 + __cil_tmp16;
4134#line 408
4135 block = (int )__cil_tmp26;
4136 } else {
4137
4138 }
4139 }
4140#line 410
4141 if (cmd == 148) {
4142#line 411
4143 goto ldv_19004;
4144 } else {
4145
4146 }
4147 {
4148#line 413
4149 __cil_tmp27 = *((void **)this);
4150#line 413
4151 __cil_tmp28 = (void const volatile *)__cil_tmp27;
4152#line 413
4153 __cil_tmp29 = __cil_tmp28 + 123406U;
4154#line 413
4155 tmp___0 = readw(__cil_tmp29);
4156#line 413
4157 page = (int )tmp___0;
4158#line 414
4159 page = page >> 2;
4160#line 415
4161 __cil_tmp30 = *((void **)this);
4162#line 415
4163 __cil_tmp31 = (void const volatile *)__cil_tmp30;
4164#line 415
4165 __cil_tmp32 = __cil_tmp31 + 123904U;
4166#line 415
4167 tmp___1 = readw(__cil_tmp32);
4168#line 415
4169 bufferram = (int )tmp___1;
4170#line 416
4171 bufferram = bufferram >> 8;
4172#line 417
4173 bufferram = bufferram & 12;
4174#line 418
4175 dataram = bufferram == 12;
4176 }
4177#line 419
4178 goto ldv_19004;
4179 } else {
4180 switch_break: ;
4181 }
4182 }
4183 }
4184 ldv_19004: ;
4185#line 422
4186 if (block != -1) {
4187 {
4188#line 423
4189 tmp___2 = onenand_addr(this, block);
4190#line 423
4191 offset = (unsigned long )tmp___2;
4192 }
4193 } else {
4194
4195 }
4196#line 425
4197 if (page != -1) {
4198#line 426
4199 __cil_tmp33 = (unsigned long )this;
4200#line 426
4201 __cil_tmp34 = __cil_tmp33 + 68;
4202#line 426
4203 __cil_tmp35 = *((unsigned int *)__cil_tmp34);
4204#line 426
4205 __cil_tmp36 = (int )__cil_tmp35;
4206#line 426
4207 __cil_tmp37 = page << __cil_tmp36;
4208#line 426
4209 __cil_tmp38 = (unsigned long )__cil_tmp37;
4210#line 426
4211 offset = __cil_tmp38 + offset;
4212 } else {
4213
4214 }
4215 {
4216#line 428
4217 __cil_tmp39 = (unsigned int )offset;
4218#line 428
4219 onenand_data_handle(this, cmd, dataram, __cil_tmp39);
4220#line 430
4221 onenand_update_interrupt(this, cmd);
4222 }
4223#line 431
4224 return;
4225}
4226}
4227#line 440 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4228static void onenand_writew(unsigned short value , void *addr )
4229{ struct onenand_chip *this ;
4230 unsigned long __cil_tmp4 ;
4231 unsigned long __cil_tmp5 ;
4232 unsigned long __cil_tmp6 ;
4233 void *__cil_tmp7 ;
4234 unsigned long __cil_tmp8 ;
4235 void *__cil_tmp9 ;
4236 void *__cil_tmp10 ;
4237 unsigned long __cil_tmp11 ;
4238 int __cil_tmp12 ;
4239 unsigned long __cil_tmp13 ;
4240 void *__cil_tmp14 ;
4241 void *__cil_tmp15 ;
4242 unsigned long __cil_tmp16 ;
4243 int __cil_tmp17 ;
4244 int __cil_tmp18 ;
4245 unsigned short __cil_tmp19 ;
4246 void volatile *__cil_tmp20 ;
4247
4248 {
4249#line 442
4250 __cil_tmp4 = 0 + 360;
4251#line 442
4252 __cil_tmp5 = (unsigned long )info;
4253#line 442
4254 __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
4255#line 442
4256 __cil_tmp7 = *((void **)__cil_tmp6);
4257#line 442
4258 this = (struct onenand_chip *)__cil_tmp7;
4259 {
4260#line 445
4261 __cil_tmp8 = (unsigned long )addr;
4262#line 445
4263 __cil_tmp9 = *((void **)this);
4264#line 445
4265 __cil_tmp10 = __cil_tmp9 + 1024UL;
4266#line 445
4267 __cil_tmp11 = (unsigned long )__cil_tmp10;
4268#line 445
4269 if (__cil_tmp11 > __cil_tmp8) {
4270 {
4271#line 446
4272 __cil_tmp12 = (int )value;
4273#line 446
4274 onenand_bootram_handle(this, __cil_tmp12);
4275 }
4276#line 447
4277 return;
4278 } else {
4279
4280 }
4281 }
4282 {
4283#line 450
4284 __cil_tmp13 = (unsigned long )addr;
4285#line 450
4286 __cil_tmp14 = *((void **)this);
4287#line 450
4288 __cil_tmp15 = __cil_tmp14 + 123968UL;
4289#line 450
4290 __cil_tmp16 = (unsigned long )__cil_tmp15;
4291#line 450
4292 if (__cil_tmp16 == __cil_tmp13) {
4293 {
4294#line 451
4295 __cil_tmp17 = (int )value;
4296#line 451
4297 onenand_command_handle(this, __cil_tmp17);
4298 }
4299 } else {
4300
4301 }
4302 }
4303 {
4304#line 453
4305 __cil_tmp18 = (int )value;
4306#line 453
4307 __cil_tmp19 = (unsigned short )__cil_tmp18;
4308#line 453
4309 __cil_tmp20 = (void volatile *)addr;
4310#line 453
4311 writew(__cil_tmp19, __cil_tmp20);
4312 }
4313#line 454
4314 return;
4315}
4316}
4317#line 462 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4318static int flash_init(struct onenand_flash *flash )
4319{ int density ;
4320 int size ;
4321 int buffer_size ;
4322 void *__cil_tmp5 ;
4323 unsigned long __cil_tmp6 ;
4324 void *__cil_tmp7 ;
4325 unsigned long __cil_tmp8 ;
4326 unsigned long __cil_tmp9 ;
4327 unsigned long __cil_tmp10 ;
4328 int __cil_tmp11 ;
4329 int __cil_tmp12 ;
4330 unsigned long __cil_tmp13 ;
4331 void *__cil_tmp14 ;
4332 unsigned long __cil_tmp15 ;
4333 unsigned long __cil_tmp16 ;
4334 unsigned long __cil_tmp17 ;
4335 void *__cil_tmp18 ;
4336 unsigned long __cil_tmp19 ;
4337 void *__cil_tmp20 ;
4338 void const *__cil_tmp21 ;
4339 unsigned long __cil_tmp22 ;
4340 unsigned long __cil_tmp23 ;
4341 void *__cil_tmp24 ;
4342 int __cil_tmp25 ;
4343 int __cil_tmp26 ;
4344 size_t __cil_tmp27 ;
4345 unsigned short __cil_tmp28 ;
4346 int __cil_tmp29 ;
4347 unsigned short __cil_tmp30 ;
4348 void *__cil_tmp31 ;
4349 void volatile *__cil_tmp32 ;
4350 void volatile *__cil_tmp33 ;
4351 unsigned short __cil_tmp34 ;
4352 int __cil_tmp35 ;
4353 unsigned short __cil_tmp36 ;
4354 void *__cil_tmp37 ;
4355 void volatile *__cil_tmp38 ;
4356 void volatile *__cil_tmp39 ;
4357 unsigned short __cil_tmp40 ;
4358 int __cil_tmp41 ;
4359 unsigned short __cil_tmp42 ;
4360 void *__cil_tmp43 ;
4361 void volatile *__cil_tmp44 ;
4362 void volatile *__cil_tmp45 ;
4363 unsigned short __cil_tmp46 ;
4364 int __cil_tmp47 ;
4365 unsigned short __cil_tmp48 ;
4366 void *__cil_tmp49 ;
4367 void volatile *__cil_tmp50 ;
4368 void volatile *__cil_tmp51 ;
4369 unsigned short __cil_tmp52 ;
4370 int __cil_tmp53 ;
4371 unsigned short __cil_tmp54 ;
4372 void *__cil_tmp55 ;
4373 void volatile *__cil_tmp56 ;
4374 void volatile *__cil_tmp57 ;
4375
4376 {
4377 {
4378#line 467
4379 *((void **)flash) = kzalloc(131072UL, 208U);
4380 }
4381 {
4382#line 468
4383 __cil_tmp5 = (void *)0;
4384#line 468
4385 __cil_tmp6 = (unsigned long )__cil_tmp5;
4386#line 468
4387 __cil_tmp7 = *((void **)flash);
4388#line 468
4389 __cil_tmp8 = (unsigned long )__cil_tmp7;
4390#line 468
4391 if (__cil_tmp8 == __cil_tmp6) {
4392 {
4393#line 469
4394 printk("<3>Unable to allocate base address.\n");
4395 }
4396#line 470
4397 return (-12);
4398 } else {
4399
4400 }
4401 }
4402 {
4403#line 473
4404 density = device_id >> 4;
4405#line 474
4406 density = density & 15;
4407#line 475
4408 size = 16777216 << density;
4409#line 477
4410 __cil_tmp9 = (unsigned long )flash;
4411#line 477
4412 __cil_tmp10 = __cil_tmp9 + 8;
4413#line 477
4414 __cil_tmp11 = size >> 5;
4415#line 477
4416 __cil_tmp12 = __cil_tmp11 + size;
4417#line 477
4418 __cil_tmp13 = (unsigned long )__cil_tmp12;
4419#line 477
4420 *((void **)__cil_tmp10) = ldv_vmalloc_19(__cil_tmp13);
4421 }
4422 {
4423#line 478
4424 __cil_tmp14 = (void *)0;
4425#line 478
4426 __cil_tmp15 = (unsigned long )__cil_tmp14;
4427#line 478
4428 __cil_tmp16 = (unsigned long )flash;
4429#line 478
4430 __cil_tmp17 = __cil_tmp16 + 8;
4431#line 478
4432 __cil_tmp18 = *((void **)__cil_tmp17);
4433#line 478
4434 __cil_tmp19 = (unsigned long )__cil_tmp18;
4435#line 478
4436 if (__cil_tmp19 == __cil_tmp15) {
4437 {
4438#line 479
4439 printk("<3>Unable to allocate nand core address.\n");
4440#line 480
4441 __cil_tmp20 = *((void **)flash);
4442#line 480
4443 __cil_tmp21 = (void const *)__cil_tmp20;
4444#line 480
4445 kfree(__cil_tmp21);
4446 }
4447#line 481
4448 return (-12);
4449 } else {
4450
4451 }
4452 }
4453 {
4454#line 484
4455 __cil_tmp22 = (unsigned long )flash;
4456#line 484
4457 __cil_tmp23 = __cil_tmp22 + 8;
4458#line 484
4459 __cil_tmp24 = *((void **)__cil_tmp23);
4460#line 484
4461 __cil_tmp25 = size >> 5;
4462#line 484
4463 __cil_tmp26 = __cil_tmp25 + size;
4464#line 484
4465 __cil_tmp27 = (size_t )__cil_tmp26;
4466#line 484
4467 memset(__cil_tmp24, 255, __cil_tmp27);
4468#line 487
4469 __cil_tmp28 = (unsigned short )manuf_id;
4470#line 487
4471 __cil_tmp29 = (int )__cil_tmp28;
4472#line 487
4473 __cil_tmp30 = (unsigned short )__cil_tmp29;
4474#line 487
4475 __cil_tmp31 = *((void **)flash);
4476#line 487
4477 __cil_tmp32 = (void volatile *)__cil_tmp31;
4478#line 487
4479 __cil_tmp33 = __cil_tmp32 + 122880U;
4480#line 487
4481 writew(__cil_tmp30, __cil_tmp33);
4482#line 488
4483 __cil_tmp34 = (unsigned short )device_id;
4484#line 488
4485 __cil_tmp35 = (int )__cil_tmp34;
4486#line 488
4487 __cil_tmp36 = (unsigned short )__cil_tmp35;
4488#line 488
4489 __cil_tmp37 = *((void **)flash);
4490#line 488
4491 __cil_tmp38 = (void volatile *)__cil_tmp37;
4492#line 488
4493 __cil_tmp39 = __cil_tmp38 + 122882U;
4494#line 488
4495 writew(__cil_tmp36, __cil_tmp39);
4496#line 489
4497 __cil_tmp40 = (unsigned short )version_id;
4498#line 489
4499 __cil_tmp41 = (int )__cil_tmp40;
4500#line 489
4501 __cil_tmp42 = (unsigned short )__cil_tmp41;
4502#line 489
4503 __cil_tmp43 = *((void **)flash);
4504#line 489
4505 __cil_tmp44 = (void volatile *)__cil_tmp43;
4506#line 489
4507 __cil_tmp45 = __cil_tmp44 + 122884U;
4508#line 489
4509 writew(__cil_tmp42, __cil_tmp45);
4510#line 490
4511 __cil_tmp46 = (unsigned short )technology_id;
4512#line 490
4513 __cil_tmp47 = (int )__cil_tmp46;
4514#line 490
4515 __cil_tmp48 = (unsigned short )__cil_tmp47;
4516#line 490
4517 __cil_tmp49 = *((void **)flash);
4518#line 490
4519 __cil_tmp50 = (void volatile *)__cil_tmp49;
4520#line 490
4521 __cil_tmp51 = __cil_tmp50 + 122892U;
4522#line 490
4523 writew(__cil_tmp48, __cil_tmp51);
4524 }
4525#line 492
4526 if (density <= 1) {
4527#line 493
4528 buffer_size = 1024;
4529 } else {
4530#line 495
4531 buffer_size = 2048;
4532 }
4533 {
4534#line 496
4535 __cil_tmp52 = (unsigned short )buffer_size;
4536#line 496
4537 __cil_tmp53 = (int )__cil_tmp52;
4538#line 496
4539 __cil_tmp54 = (unsigned short )__cil_tmp53;
4540#line 496
4541 __cil_tmp55 = *((void **)flash);
4542#line 496
4543 __cil_tmp56 = (void volatile *)__cil_tmp55;
4544#line 496
4545 __cil_tmp57 = __cil_tmp56 + 122886U;
4546#line 496
4547 writew(__cil_tmp54, __cil_tmp57);
4548 }
4549#line 498
4550 return (0);
4551}
4552}
4553#line 507 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4554static void flash_exit(struct onenand_flash *flash )
4555{ unsigned long __cil_tmp2 ;
4556 unsigned long __cil_tmp3 ;
4557 void *__cil_tmp4 ;
4558 void const *__cil_tmp5 ;
4559 void *__cil_tmp6 ;
4560 void const *__cil_tmp7 ;
4561
4562 {
4563 {
4564#line 509
4565 __cil_tmp2 = (unsigned long )flash;
4566#line 509
4567 __cil_tmp3 = __cil_tmp2 + 8;
4568#line 509
4569 __cil_tmp4 = *((void **)__cil_tmp3);
4570#line 509
4571 __cil_tmp5 = (void const *)__cil_tmp4;
4572#line 509
4573 vfree(__cil_tmp5);
4574#line 510
4575 __cil_tmp6 = *((void **)flash);
4576#line 510
4577 __cil_tmp7 = (void const *)__cil_tmp6;
4578#line 510
4579 kfree(__cil_tmp7);
4580 }
4581#line 511
4582 return;
4583}
4584}
4585#line 513 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4586static int onenand_sim_init(void)
4587{ void *tmp ;
4588 void *tmp___0 ;
4589 int tmp___1 ;
4590 int tmp___2 ;
4591 unsigned char *__cil_tmp5 ;
4592 unsigned long __cil_tmp6 ;
4593 unsigned long __cil_tmp7 ;
4594 void *__cil_tmp8 ;
4595 struct onenand_info *__cil_tmp9 ;
4596 unsigned long __cil_tmp10 ;
4597 unsigned long __cil_tmp11 ;
4598 void const *__cil_tmp12 ;
4599 unsigned long __cil_tmp13 ;
4600 unsigned long __cil_tmp14 ;
4601 unsigned long __cil_tmp15 ;
4602 unsigned long __cil_tmp16 ;
4603 unsigned long __cil_tmp17 ;
4604 struct onenand_flash *__cil_tmp18 ;
4605 void const *__cil_tmp19 ;
4606 void const *__cil_tmp20 ;
4607 unsigned long __cil_tmp21 ;
4608 unsigned long __cil_tmp22 ;
4609 unsigned long __cil_tmp23 ;
4610 unsigned long __cil_tmp24 ;
4611 unsigned long __cil_tmp25 ;
4612 unsigned long __cil_tmp26 ;
4613 unsigned long __cil_tmp27 ;
4614 unsigned long __cil_tmp28 ;
4615 unsigned long __cil_tmp29 ;
4616 unsigned long __cil_tmp30 ;
4617 unsigned long __cil_tmp31 ;
4618 struct onenand_flash *__cil_tmp32 ;
4619 unsigned long __cil_tmp33 ;
4620 unsigned long __cil_tmp34 ;
4621 unsigned long __cil_tmp35 ;
4622 unsigned long __cil_tmp36 ;
4623 unsigned long __cil_tmp37 ;
4624 unsigned long __cil_tmp38 ;
4625 unsigned long __cil_tmp39 ;
4626 unsigned long __cil_tmp40 ;
4627 struct onenand_chip *__cil_tmp41 ;
4628 unsigned long __cil_tmp42 ;
4629 unsigned long __cil_tmp43 ;
4630 unsigned long __cil_tmp44 ;
4631 struct mtd_info *__cil_tmp45 ;
4632 unsigned long __cil_tmp46 ;
4633 unsigned long __cil_tmp47 ;
4634 struct onenand_flash *__cil_tmp48 ;
4635 void const *__cil_tmp49 ;
4636 void const *__cil_tmp50 ;
4637 struct mtd_info *__cil_tmp51 ;
4638 char const **__cil_tmp52 ;
4639 struct mtd_part_parser_data *__cil_tmp53 ;
4640 unsigned long __cil_tmp54 ;
4641 unsigned long __cil_tmp55 ;
4642 struct mtd_partition *__cil_tmp56 ;
4643 struct mtd_partition const *__cil_tmp57 ;
4644
4645 {
4646 {
4647#line 516
4648 tmp = kmalloc(4224UL, 208U);
4649#line 516
4650 ffchars = (unsigned char *)tmp;
4651 }
4652 {
4653#line 517
4654 __cil_tmp5 = (unsigned char *)0;
4655#line 517
4656 __cil_tmp6 = (unsigned long )__cil_tmp5;
4657#line 517
4658 __cil_tmp7 = (unsigned long )ffchars;
4659#line 517
4660 if (__cil_tmp7 == __cil_tmp6) {
4661 {
4662#line 518
4663 printk("<3>Unable to allocate ff chars.\n");
4664 }
4665#line 519
4666 return (-12);
4667 } else {
4668
4669 }
4670 }
4671 {
4672#line 521
4673 __cil_tmp8 = (void *)ffchars;
4674#line 521
4675 memset(__cil_tmp8, 255, 4224UL);
4676#line 524
4677 tmp___0 = kzalloc(2104UL, 208U);
4678#line 524
4679 info = (struct onenand_info *)tmp___0;
4680 }
4681 {
4682#line 525
4683 __cil_tmp9 = (struct onenand_info *)0;
4684#line 525
4685 __cil_tmp10 = (unsigned long )__cil_tmp9;
4686#line 525
4687 __cil_tmp11 = (unsigned long )info;
4688#line 525
4689 if (__cil_tmp11 == __cil_tmp10) {
4690 {
4691#line 526
4692 printk("<3>Unable to allocate core structures.\n");
4693#line 527
4694 __cil_tmp12 = (void const *)ffchars;
4695#line 527
4696 kfree(__cil_tmp12);
4697 }
4698#line 528
4699 return (-12);
4700 } else {
4701
4702 }
4703 }
4704 {
4705#line 532
4706 __cil_tmp13 = 1544 + 152;
4707#line 532
4708 __cil_tmp14 = (unsigned long )info;
4709#line 532
4710 __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
4711#line 532
4712 *((void (**)(unsigned short , void * ))__cil_tmp15) = & onenand_writew;
4713#line 534
4714 __cil_tmp16 = (unsigned long )info;
4715#line 534
4716 __cil_tmp17 = __cil_tmp16 + 2088;
4717#line 534
4718 __cil_tmp18 = (struct onenand_flash *)__cil_tmp17;
4719#line 534
4720 tmp___1 = flash_init(__cil_tmp18);
4721 }
4722#line 534
4723 if (tmp___1 != 0) {
4724 {
4725#line 535
4726 printk("<3>Unable to allocate flash.\n");
4727#line 536
4728 __cil_tmp19 = (void const *)ffchars;
4729#line 536
4730 kfree(__cil_tmp19);
4731#line 537
4732 __cil_tmp20 = (void const *)info;
4733#line 537
4734 kfree(__cil_tmp20);
4735 }
4736#line 538
4737 return (-12);
4738 } else {
4739
4740 }
4741 {
4742#line 541
4743 __cil_tmp21 = (unsigned long )info;
4744#line 541
4745 __cil_tmp22 = __cil_tmp21 + 1536;
4746#line 541
4747 *((struct mtd_partition **)__cil_tmp22) = (struct mtd_partition *)(& os_partitions);
4748#line 543
4749 __cil_tmp23 = (unsigned long )info;
4750#line 543
4751 __cil_tmp24 = __cil_tmp23 + 1544;
4752#line 543
4753 __cil_tmp25 = (unsigned long )info;
4754#line 543
4755 __cil_tmp26 = __cil_tmp25 + 2088;
4756#line 543
4757 *((void **)__cil_tmp24) = *((void **)__cil_tmp26);
4758#line 544
4759 __cil_tmp27 = 1544 + 528;
4760#line 544
4761 __cil_tmp28 = (unsigned long )info;
4762#line 544
4763 __cil_tmp29 = __cil_tmp28 + __cil_tmp27;
4764#line 544
4765 __cil_tmp30 = (unsigned long )info;
4766#line 544
4767 __cil_tmp31 = __cil_tmp30 + 2088;
4768#line 544
4769 __cil_tmp32 = (struct onenand_flash *)__cil_tmp31;
4770#line 544
4771 *((void **)__cil_tmp29) = (void *)__cil_tmp32;
4772#line 546
4773 __cil_tmp33 = 0 + 56;
4774#line 546
4775 __cil_tmp34 = (unsigned long )info;
4776#line 546
4777 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
4778#line 546
4779 *((char const **)__cil_tmp35) = "OneNAND simulator";
4780#line 547
4781 __cil_tmp36 = 0 + 360;
4782#line 547
4783 __cil_tmp37 = (unsigned long )info;
4784#line 547
4785 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
4786#line 547
4787 __cil_tmp39 = (unsigned long )info;
4788#line 547
4789 __cil_tmp40 = __cil_tmp39 + 1544;
4790#line 547
4791 __cil_tmp41 = (struct onenand_chip *)__cil_tmp40;
4792#line 547
4793 *((void **)__cil_tmp38) = (void *)__cil_tmp41;
4794#line 548
4795 __cil_tmp42 = 0 + 368;
4796#line 548
4797 __cil_tmp43 = (unsigned long )info;
4798#line 548
4799 __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
4800#line 548
4801 *((struct module **)__cil_tmp44) = & __this_module;
4802#line 550
4803 __cil_tmp45 = (struct mtd_info *)info;
4804#line 550
4805 tmp___2 = onenand_scan(__cil_tmp45, 1);
4806 }
4807#line 550
4808 if (tmp___2 != 0) {
4809 {
4810#line 551
4811 __cil_tmp46 = (unsigned long )info;
4812#line 551
4813 __cil_tmp47 = __cil_tmp46 + 2088;
4814#line 551
4815 __cil_tmp48 = (struct onenand_flash *)__cil_tmp47;
4816#line 551
4817 flash_exit(__cil_tmp48);
4818#line 552
4819 __cil_tmp49 = (void const *)ffchars;
4820#line 552
4821 kfree(__cil_tmp49);
4822#line 553
4823 __cil_tmp50 = (void const *)info;
4824#line 553
4825 kfree(__cil_tmp50);
4826 }
4827#line 554
4828 return (-6);
4829 } else {
4830
4831 }
4832 {
4833#line 557
4834 __cil_tmp51 = (struct mtd_info *)info;
4835#line 557
4836 __cil_tmp52 = (char const **)0;
4837#line 557
4838 __cil_tmp53 = (struct mtd_part_parser_data *)0;
4839#line 557
4840 __cil_tmp54 = (unsigned long )info;
4841#line 557
4842 __cil_tmp55 = __cil_tmp54 + 1536;
4843#line 557
4844 __cil_tmp56 = *((struct mtd_partition **)__cil_tmp55);
4845#line 557
4846 __cil_tmp57 = (struct mtd_partition const *)__cil_tmp56;
4847#line 557
4848 mtd_device_parse_register(__cil_tmp51, __cil_tmp52, __cil_tmp53, __cil_tmp57, 1);
4849 }
4850#line 560
4851 return (0);
4852}
4853}
4854#line 563 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4855static void onenand_sim_exit(void)
4856{ struct onenand_chip *this ;
4857 struct onenand_flash *flash ;
4858 unsigned long __cil_tmp3 ;
4859 unsigned long __cil_tmp4 ;
4860 unsigned long __cil_tmp5 ;
4861 void *__cil_tmp6 ;
4862 unsigned long __cil_tmp7 ;
4863 unsigned long __cil_tmp8 ;
4864 void *__cil_tmp9 ;
4865 struct mtd_info *__cil_tmp10 ;
4866 void const *__cil_tmp11 ;
4867 void const *__cil_tmp12 ;
4868
4869 {
4870 {
4871#line 565
4872 __cil_tmp3 = 0 + 360;
4873#line 565
4874 __cil_tmp4 = (unsigned long )info;
4875#line 565
4876 __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
4877#line 565
4878 __cil_tmp6 = *((void **)__cil_tmp5);
4879#line 565
4880 this = (struct onenand_chip *)__cil_tmp6;
4881#line 566
4882 __cil_tmp7 = (unsigned long )this;
4883#line 566
4884 __cil_tmp8 = __cil_tmp7 + 528;
4885#line 566
4886 __cil_tmp9 = *((void **)__cil_tmp8);
4887#line 566
4888 flash = (struct onenand_flash *)__cil_tmp9;
4889#line 568
4890 __cil_tmp10 = (struct mtd_info *)info;
4891#line 568
4892 onenand_release(__cil_tmp10);
4893#line 569
4894 flash_exit(flash);
4895#line 570
4896 __cil_tmp11 = (void const *)ffchars;
4897#line 570
4898 kfree(__cil_tmp11);
4899#line 571
4900 __cil_tmp12 = (void const *)info;
4901#line 571
4902 kfree(__cil_tmp12);
4903 }
4904#line 572
4905 return;
4906}
4907}
4908#line 597
4909extern void ldv_check_final_state(void) ;
4910#line 603
4911extern void ldv_initialize(void) ;
4912#line 606
4913extern int __VERIFIER_nondet_int(void) ;
4914#line 609 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4915int LDV_IN_INTERRUPT ;
4916#line 612 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4917void main(void)
4918{ int tmp ;
4919 int tmp___0 ;
4920 int tmp___1 ;
4921
4922 {
4923 {
4924#line 624
4925 LDV_IN_INTERRUPT = 1;
4926#line 633
4927 ldv_initialize();
4928#line 681
4929 tmp = onenand_sim_init();
4930 }
4931#line 681
4932 if (tmp != 0) {
4933#line 682
4934 goto ldv_final;
4935 } else {
4936
4937 }
4938#line 684
4939 goto ldv_19060;
4940 ldv_19059:
4941 {
4942#line 687
4943 tmp___0 = __VERIFIER_nondet_int();
4944 }
4945 {
4946#line 689
4947 goto switch_default;
4948#line 687
4949 if (0) {
4950 switch_default: ;
4951#line 689
4952 goto ldv_19058;
4953 } else {
4954 switch_break: ;
4955 }
4956 }
4957 ldv_19058: ;
4958 ldv_19060:
4959 {
4960#line 684
4961 tmp___1 = __VERIFIER_nondet_int();
4962 }
4963#line 684
4964 if (tmp___1 != 0) {
4965#line 685
4966 goto ldv_19059;
4967 } else {
4968#line 687
4969 goto ldv_19061;
4970 }
4971 ldv_19061: ;
4972 {
4973#line 743
4974 onenand_sim_exit();
4975 }
4976 ldv_final:
4977 {
4978#line 746
4979 ldv_check_final_state();
4980 }
4981#line 749
4982 return;
4983}
4984}
4985#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4986void ldv_blast_assert(void)
4987{
4988
4989 {
4990 ERROR: ;
4991#line 6
4992 goto ERROR;
4993}
4994}
4995#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4996extern int __VERIFIER_nondet_int(void) ;
4997#line 770 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4998int ldv_spin = 0;
4999#line 774 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5000void ldv_check_alloc_flags(gfp_t flags )
5001{
5002
5003 {
5004#line 777
5005 if (ldv_spin != 0) {
5006#line 777
5007 if (flags != 32U) {
5008 {
5009#line 777
5010 ldv_blast_assert();
5011 }
5012 } else {
5013
5014 }
5015 } else {
5016
5017 }
5018#line 780
5019 return;
5020}
5021}
5022#line 780
5023extern struct page *ldv_some_page(void) ;
5024#line 783 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5025struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
5026{ struct page *tmp ;
5027
5028 {
5029#line 786
5030 if (ldv_spin != 0) {
5031#line 786
5032 if (flags != 32U) {
5033 {
5034#line 786
5035 ldv_blast_assert();
5036 }
5037 } else {
5038
5039 }
5040 } else {
5041
5042 }
5043 {
5044#line 788
5045 tmp = ldv_some_page();
5046 }
5047#line 788
5048 return (tmp);
5049}
5050}
5051#line 792 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5052void ldv_check_alloc_nonatomic(void)
5053{
5054
5055 {
5056#line 795
5057 if (ldv_spin != 0) {
5058 {
5059#line 795
5060 ldv_blast_assert();
5061 }
5062 } else {
5063
5064 }
5065#line 798
5066 return;
5067}
5068}
5069#line 799 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5070void ldv_spin_lock(void)
5071{
5072
5073 {
5074#line 802
5075 ldv_spin = 1;
5076#line 803
5077 return;
5078}
5079}
5080#line 806 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5081void ldv_spin_unlock(void)
5082{
5083
5084 {
5085#line 809
5086 ldv_spin = 0;
5087#line 810
5088 return;
5089}
5090}
5091#line 813 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5092int ldv_spin_trylock(void)
5093{ int is_lock ;
5094
5095 {
5096 {
5097#line 818
5098 is_lock = __VERIFIER_nondet_int();
5099 }
5100#line 820
5101 if (is_lock != 0) {
5102#line 823
5103 return (0);
5104 } else {
5105#line 828
5106 ldv_spin = 1;
5107#line 830
5108 return (1);
5109 }
5110}
5111}
5112#line 952 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5113__inline static void *kmalloc(size_t size , gfp_t flags )
5114{
5115
5116 {
5117 {
5118#line 958
5119 ldv_check_alloc_flags(flags);
5120#line 960
5121 ldv_kmalloc_12(size, flags);
5122 }
5123#line 961
5124 return ((void *)0);
5125}
5126}
5127#line 997 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5128void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
5129{
5130
5131 {
5132 {
5133#line 1003
5134 ldv_check_alloc_flags(ldv_func_arg2);
5135#line 1005
5136 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
5137 }
5138#line 1006
5139 return ((void *)0);
5140}
5141}
5142#line 1008 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5143__inline static void *kzalloc(size_t size , gfp_t flags )
5144{ void *tmp ;
5145
5146 {
5147 {
5148#line 1014
5149 ldv_check_alloc_flags(flags);
5150#line 1015
5151 tmp = __VERIFIER_nondet_pointer();
5152 }
5153#line 1015
5154 return (tmp);
5155}
5156}
5157#line 1029 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5158void *ldv_vmalloc_19(unsigned long ldv_func_arg1 )
5159{
5160
5161 {
5162 {
5163#line 1034
5164 ldv_check_alloc_nonatomic();
5165#line 1036
5166 vmalloc(ldv_func_arg1);
5167 }
5168#line 1037
5169 return ((void *)0);
5170}
5171}