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 26 "include/asm-generic/int-ll64.h"
9typedef unsigned int __u32;
10#line 30 "include/asm-generic/int-ll64.h"
11typedef unsigned long long __u64;
12#line 45 "include/asm-generic/int-ll64.h"
13typedef short s16;
14#line 46 "include/asm-generic/int-ll64.h"
15typedef unsigned short u16;
16#line 49 "include/asm-generic/int-ll64.h"
17typedef unsigned int u32;
18#line 51 "include/asm-generic/int-ll64.h"
19typedef long long s64;
20#line 52 "include/asm-generic/int-ll64.h"
21typedef unsigned long long u64;
22#line 14 "include/asm-generic/posix_types.h"
23typedef long __kernel_long_t;
24#line 15 "include/asm-generic/posix_types.h"
25typedef unsigned long __kernel_ulong_t;
26#line 75 "include/asm-generic/posix_types.h"
27typedef __kernel_ulong_t __kernel_size_t;
28#line 76 "include/asm-generic/posix_types.h"
29typedef __kernel_long_t __kernel_ssize_t;
30#line 91 "include/asm-generic/posix_types.h"
31typedef long long __kernel_loff_t;
32#line 21 "include/linux/types.h"
33typedef __u32 __kernel_dev_t;
34#line 24 "include/linux/types.h"
35typedef __kernel_dev_t dev_t;
36#line 27 "include/linux/types.h"
37typedef unsigned short umode_t;
38#line 38 "include/linux/types.h"
39typedef _Bool bool;
40#line 54 "include/linux/types.h"
41typedef __kernel_loff_t loff_t;
42#line 63 "include/linux/types.h"
43typedef __kernel_size_t size_t;
44#line 68 "include/linux/types.h"
45typedef __kernel_ssize_t ssize_t;
46#line 92 "include/linux/types.h"
47typedef unsigned char u_char;
48#line 95 "include/linux/types.h"
49typedef unsigned long u_long;
50#line 115 "include/linux/types.h"
51typedef __u8 uint8_t;
52#line 117 "include/linux/types.h"
53typedef __u32 uint32_t;
54#line 120 "include/linux/types.h"
55typedef __u64 uint64_t;
56#line 206 "include/linux/types.h"
57typedef u64 phys_addr_t;
58#line 211 "include/linux/types.h"
59typedef phys_addr_t resource_size_t;
60#line 219 "include/linux/types.h"
61struct __anonstruct_atomic_t_7 {
62 int counter ;
63};
64#line 219 "include/linux/types.h"
65typedef struct __anonstruct_atomic_t_7 atomic_t;
66#line 224 "include/linux/types.h"
67struct __anonstruct_atomic64_t_8 {
68 long counter ;
69};
70#line 224 "include/linux/types.h"
71typedef struct __anonstruct_atomic64_t_8 atomic64_t;
72#line 229 "include/linux/types.h"
73struct list_head {
74 struct list_head *next ;
75 struct list_head *prev ;
76};
77#line 146 "include/linux/init.h"
78typedef void (*ctor_fn_t)(void);
79#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
80struct module;
81#line 56
82struct module;
83#line 47 "include/linux/dynamic_debug.h"
84struct device;
85#line 47
86struct device;
87#line 135 "include/linux/kernel.h"
88struct completion;
89#line 135
90struct completion;
91#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
92struct task_struct;
93#line 20
94struct task_struct;
95#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
96struct task_struct;
97#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
98struct file;
99#line 295
100struct file;
101#line 52 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
102struct task_struct;
103#line 329
104struct arch_spinlock;
105#line 329
106struct arch_spinlock;
107#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
108struct task_struct;
109#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
110struct task_struct;
111#line 10 "include/asm-generic/bug.h"
112struct bug_entry {
113 int bug_addr_disp ;
114 int file_disp ;
115 unsigned short line ;
116 unsigned short flags ;
117};
118#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
119struct static_key;
120#line 234
121struct static_key;
122#line 23 "include/asm-generic/atomic-long.h"
123typedef atomic64_t atomic_long_t;
124#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
125typedef u16 __ticket_t;
126#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
127typedef u32 __ticketpair_t;
128#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
129struct __raw_tickets {
130 __ticket_t head ;
131 __ticket_t tail ;
132};
133#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
134union __anonunion____missing_field_name_36 {
135 __ticketpair_t head_tail ;
136 struct __raw_tickets tickets ;
137};
138#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
139struct arch_spinlock {
140 union __anonunion____missing_field_name_36 __annonCompField17 ;
141};
142#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
143typedef struct arch_spinlock arch_spinlock_t;
144#line 12 "include/linux/lockdep.h"
145struct task_struct;
146#line 20 "include/linux/spinlock_types.h"
147struct raw_spinlock {
148 arch_spinlock_t raw_lock ;
149 unsigned int magic ;
150 unsigned int owner_cpu ;
151 void *owner ;
152};
153#line 64 "include/linux/spinlock_types.h"
154union __anonunion____missing_field_name_39 {
155 struct raw_spinlock rlock ;
156};
157#line 64 "include/linux/spinlock_types.h"
158struct spinlock {
159 union __anonunion____missing_field_name_39 __annonCompField19 ;
160};
161#line 64 "include/linux/spinlock_types.h"
162typedef struct spinlock spinlock_t;
163#line 49 "include/linux/wait.h"
164struct __wait_queue_head {
165 spinlock_t lock ;
166 struct list_head task_list ;
167};
168#line 53 "include/linux/wait.h"
169typedef struct __wait_queue_head wait_queue_head_t;
170#line 55
171struct task_struct;
172#line 48 "include/linux/mutex.h"
173struct mutex {
174 atomic_t count ;
175 spinlock_t wait_lock ;
176 struct list_head wait_list ;
177 struct task_struct *owner ;
178 char const *name ;
179 void *magic ;
180};
181#line 25 "include/linux/completion.h"
182struct completion {
183 unsigned int done ;
184 wait_queue_head_t wait ;
185};
186#line 188 "include/linux/rcupdate.h"
187struct notifier_block;
188#line 188
189struct notifier_block;
190#line 50 "include/linux/notifier.h"
191struct notifier_block {
192 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
193 struct notifier_block *next ;
194 int priority ;
195};
196#line 202 "include/linux/ioport.h"
197struct device;
198#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
199struct device;
200#line 46 "include/linux/ktime.h"
201union ktime {
202 s64 tv64 ;
203};
204#line 59 "include/linux/ktime.h"
205typedef union ktime ktime_t;
206#line 10 "include/linux/timer.h"
207struct tvec_base;
208#line 10
209struct tvec_base;
210#line 12 "include/linux/timer.h"
211struct timer_list {
212 struct list_head entry ;
213 unsigned long expires ;
214 struct tvec_base *base ;
215 void (*function)(unsigned long ) ;
216 unsigned long data ;
217 int slack ;
218 int start_pid ;
219 void *start_site ;
220 char start_comm[16] ;
221};
222#line 17 "include/linux/workqueue.h"
223struct work_struct;
224#line 17
225struct work_struct;
226#line 79 "include/linux/workqueue.h"
227struct work_struct {
228 atomic_long_t data ;
229 struct list_head entry ;
230 void (*func)(struct work_struct *work ) ;
231};
232#line 42 "include/linux/pm.h"
233struct device;
234#line 50 "include/linux/pm.h"
235struct pm_message {
236 int event ;
237};
238#line 50 "include/linux/pm.h"
239typedef struct pm_message pm_message_t;
240#line 264 "include/linux/pm.h"
241struct dev_pm_ops {
242 int (*prepare)(struct device *dev ) ;
243 void (*complete)(struct device *dev ) ;
244 int (*suspend)(struct device *dev ) ;
245 int (*resume)(struct device *dev ) ;
246 int (*freeze)(struct device *dev ) ;
247 int (*thaw)(struct device *dev ) ;
248 int (*poweroff)(struct device *dev ) ;
249 int (*restore)(struct device *dev ) ;
250 int (*suspend_late)(struct device *dev ) ;
251 int (*resume_early)(struct device *dev ) ;
252 int (*freeze_late)(struct device *dev ) ;
253 int (*thaw_early)(struct device *dev ) ;
254 int (*poweroff_late)(struct device *dev ) ;
255 int (*restore_early)(struct device *dev ) ;
256 int (*suspend_noirq)(struct device *dev ) ;
257 int (*resume_noirq)(struct device *dev ) ;
258 int (*freeze_noirq)(struct device *dev ) ;
259 int (*thaw_noirq)(struct device *dev ) ;
260 int (*poweroff_noirq)(struct device *dev ) ;
261 int (*restore_noirq)(struct device *dev ) ;
262 int (*runtime_suspend)(struct device *dev ) ;
263 int (*runtime_resume)(struct device *dev ) ;
264 int (*runtime_idle)(struct device *dev ) ;
265};
266#line 458
267enum rpm_status {
268 RPM_ACTIVE = 0,
269 RPM_RESUMING = 1,
270 RPM_SUSPENDED = 2,
271 RPM_SUSPENDING = 3
272} ;
273#line 480
274enum rpm_request {
275 RPM_REQ_NONE = 0,
276 RPM_REQ_IDLE = 1,
277 RPM_REQ_SUSPEND = 2,
278 RPM_REQ_AUTOSUSPEND = 3,
279 RPM_REQ_RESUME = 4
280} ;
281#line 488
282struct wakeup_source;
283#line 488
284struct wakeup_source;
285#line 495 "include/linux/pm.h"
286struct pm_subsys_data {
287 spinlock_t lock ;
288 unsigned int refcount ;
289};
290#line 506
291struct dev_pm_qos_request;
292#line 506
293struct pm_qos_constraints;
294#line 506 "include/linux/pm.h"
295struct dev_pm_info {
296 pm_message_t power_state ;
297 unsigned int can_wakeup : 1 ;
298 unsigned int async_suspend : 1 ;
299 bool is_prepared : 1 ;
300 bool is_suspended : 1 ;
301 bool ignore_children : 1 ;
302 spinlock_t lock ;
303 struct list_head entry ;
304 struct completion completion ;
305 struct wakeup_source *wakeup ;
306 bool wakeup_path : 1 ;
307 struct timer_list suspend_timer ;
308 unsigned long timer_expires ;
309 struct work_struct work ;
310 wait_queue_head_t wait_queue ;
311 atomic_t usage_count ;
312 atomic_t child_count ;
313 unsigned int disable_depth : 3 ;
314 unsigned int idle_notification : 1 ;
315 unsigned int request_pending : 1 ;
316 unsigned int deferred_resume : 1 ;
317 unsigned int run_wake : 1 ;
318 unsigned int runtime_auto : 1 ;
319 unsigned int no_callbacks : 1 ;
320 unsigned int irq_safe : 1 ;
321 unsigned int use_autosuspend : 1 ;
322 unsigned int timer_autosuspends : 1 ;
323 enum rpm_request request ;
324 enum rpm_status runtime_status ;
325 int runtime_error ;
326 int autosuspend_delay ;
327 unsigned long last_busy ;
328 unsigned long active_jiffies ;
329 unsigned long suspended_jiffies ;
330 unsigned long accounting_timestamp ;
331 ktime_t suspend_time ;
332 s64 max_time_suspended_ns ;
333 struct dev_pm_qos_request *pq_req ;
334 struct pm_subsys_data *subsys_data ;
335 struct pm_qos_constraints *constraints ;
336};
337#line 564 "include/linux/pm.h"
338struct dev_pm_domain {
339 struct dev_pm_ops ops ;
340};
341#line 8 "include/linux/vmalloc.h"
342struct vm_area_struct;
343#line 8
344struct vm_area_struct;
345#line 10 "include/linux/gfp.h"
346struct vm_area_struct;
347#line 29 "include/linux/sysctl.h"
348struct completion;
349#line 49 "include/linux/kmod.h"
350struct file;
351#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
352struct task_struct;
353#line 18 "include/linux/elf.h"
354typedef __u64 Elf64_Addr;
355#line 19 "include/linux/elf.h"
356typedef __u16 Elf64_Half;
357#line 23 "include/linux/elf.h"
358typedef __u32 Elf64_Word;
359#line 24 "include/linux/elf.h"
360typedef __u64 Elf64_Xword;
361#line 194 "include/linux/elf.h"
362struct elf64_sym {
363 Elf64_Word st_name ;
364 unsigned char st_info ;
365 unsigned char st_other ;
366 Elf64_Half st_shndx ;
367 Elf64_Addr st_value ;
368 Elf64_Xword st_size ;
369};
370#line 194 "include/linux/elf.h"
371typedef struct elf64_sym Elf64_Sym;
372#line 438
373struct file;
374#line 20 "include/linux/kobject_ns.h"
375struct sock;
376#line 20
377struct sock;
378#line 21
379struct kobject;
380#line 21
381struct kobject;
382#line 27
383enum kobj_ns_type {
384 KOBJ_NS_TYPE_NONE = 0,
385 KOBJ_NS_TYPE_NET = 1,
386 KOBJ_NS_TYPES = 2
387} ;
388#line 40 "include/linux/kobject_ns.h"
389struct kobj_ns_type_operations {
390 enum kobj_ns_type type ;
391 void *(*grab_current_ns)(void) ;
392 void const *(*netlink_ns)(struct sock *sk ) ;
393 void const *(*initial_ns)(void) ;
394 void (*drop_ns)(void * ) ;
395};
396#line 22 "include/linux/sysfs.h"
397struct kobject;
398#line 23
399struct module;
400#line 24
401enum kobj_ns_type;
402#line 26 "include/linux/sysfs.h"
403struct attribute {
404 char const *name ;
405 umode_t mode ;
406};
407#line 56 "include/linux/sysfs.h"
408struct attribute_group {
409 char const *name ;
410 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
411 struct attribute **attrs ;
412};
413#line 85
414struct file;
415#line 86
416struct vm_area_struct;
417#line 88 "include/linux/sysfs.h"
418struct bin_attribute {
419 struct attribute attr ;
420 size_t size ;
421 void *private ;
422 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
423 loff_t , size_t ) ;
424 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
425 loff_t , size_t ) ;
426 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
427};
428#line 112 "include/linux/sysfs.h"
429struct sysfs_ops {
430 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
431 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
432 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
433};
434#line 118
435struct sysfs_dirent;
436#line 118
437struct sysfs_dirent;
438#line 22 "include/linux/kref.h"
439struct kref {
440 atomic_t refcount ;
441};
442#line 60 "include/linux/kobject.h"
443struct kset;
444#line 60
445struct kobj_type;
446#line 60 "include/linux/kobject.h"
447struct kobject {
448 char const *name ;
449 struct list_head entry ;
450 struct kobject *parent ;
451 struct kset *kset ;
452 struct kobj_type *ktype ;
453 struct sysfs_dirent *sd ;
454 struct kref kref ;
455 unsigned int state_initialized : 1 ;
456 unsigned int state_in_sysfs : 1 ;
457 unsigned int state_add_uevent_sent : 1 ;
458 unsigned int state_remove_uevent_sent : 1 ;
459 unsigned int uevent_suppress : 1 ;
460};
461#line 108 "include/linux/kobject.h"
462struct kobj_type {
463 void (*release)(struct kobject *kobj ) ;
464 struct sysfs_ops const *sysfs_ops ;
465 struct attribute **default_attrs ;
466 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
467 void const *(*namespace)(struct kobject *kobj ) ;
468};
469#line 116 "include/linux/kobject.h"
470struct kobj_uevent_env {
471 char *envp[32] ;
472 int envp_idx ;
473 char buf[2048] ;
474 int buflen ;
475};
476#line 123 "include/linux/kobject.h"
477struct kset_uevent_ops {
478 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
479 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
480 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
481};
482#line 140
483struct sock;
484#line 159 "include/linux/kobject.h"
485struct kset {
486 struct list_head list ;
487 spinlock_t list_lock ;
488 struct kobject kobj ;
489 struct kset_uevent_ops const *uevent_ops ;
490};
491#line 39 "include/linux/moduleparam.h"
492struct kernel_param;
493#line 39
494struct kernel_param;
495#line 41 "include/linux/moduleparam.h"
496struct kernel_param_ops {
497 int (*set)(char const *val , struct kernel_param const *kp ) ;
498 int (*get)(char *buffer , struct kernel_param const *kp ) ;
499 void (*free)(void *arg ) ;
500};
501#line 50
502struct kparam_string;
503#line 50
504struct kparam_array;
505#line 50 "include/linux/moduleparam.h"
506union __anonunion____missing_field_name_199 {
507 void *arg ;
508 struct kparam_string const *str ;
509 struct kparam_array const *arr ;
510};
511#line 50 "include/linux/moduleparam.h"
512struct kernel_param {
513 char const *name ;
514 struct kernel_param_ops const *ops ;
515 u16 perm ;
516 s16 level ;
517 union __anonunion____missing_field_name_199 __annonCompField32 ;
518};
519#line 63 "include/linux/moduleparam.h"
520struct kparam_string {
521 unsigned int maxlen ;
522 char *string ;
523};
524#line 69 "include/linux/moduleparam.h"
525struct kparam_array {
526 unsigned int max ;
527 unsigned int elemsize ;
528 unsigned int *num ;
529 struct kernel_param_ops const *ops ;
530 void *elem ;
531};
532#line 445
533struct module;
534#line 80 "include/linux/jump_label.h"
535struct module;
536#line 143 "include/linux/jump_label.h"
537struct static_key {
538 atomic_t enabled ;
539};
540#line 22 "include/linux/tracepoint.h"
541struct module;
542#line 23
543struct tracepoint;
544#line 23
545struct tracepoint;
546#line 25 "include/linux/tracepoint.h"
547struct tracepoint_func {
548 void *func ;
549 void *data ;
550};
551#line 30 "include/linux/tracepoint.h"
552struct tracepoint {
553 char const *name ;
554 struct static_key key ;
555 void (*regfunc)(void) ;
556 void (*unregfunc)(void) ;
557 struct tracepoint_func *funcs ;
558};
559#line 19 "include/linux/export.h"
560struct kernel_symbol {
561 unsigned long value ;
562 char const *name ;
563};
564#line 8 "include/asm-generic/module.h"
565struct mod_arch_specific {
566
567};
568#line 35 "include/linux/module.h"
569struct module;
570#line 37
571struct module_param_attrs;
572#line 37 "include/linux/module.h"
573struct module_kobject {
574 struct kobject kobj ;
575 struct module *mod ;
576 struct kobject *drivers_dir ;
577 struct module_param_attrs *mp ;
578};
579#line 44 "include/linux/module.h"
580struct module_attribute {
581 struct attribute attr ;
582 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
583 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
584 size_t count ) ;
585 void (*setup)(struct module * , char const * ) ;
586 int (*test)(struct module * ) ;
587 void (*free)(struct module * ) ;
588};
589#line 71
590struct exception_table_entry;
591#line 71
592struct exception_table_entry;
593#line 182
594struct notifier_block;
595#line 199
596enum module_state {
597 MODULE_STATE_LIVE = 0,
598 MODULE_STATE_COMING = 1,
599 MODULE_STATE_GOING = 2
600} ;
601#line 215 "include/linux/module.h"
602struct module_ref {
603 unsigned long incs ;
604 unsigned long decs ;
605} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
606#line 220
607struct module_sect_attrs;
608#line 220
609struct module_notes_attrs;
610#line 220
611struct ftrace_event_call;
612#line 220 "include/linux/module.h"
613struct module {
614 enum module_state state ;
615 struct list_head list ;
616 char name[64UL - sizeof(unsigned long )] ;
617 struct module_kobject mkobj ;
618 struct module_attribute *modinfo_attrs ;
619 char const *version ;
620 char const *srcversion ;
621 struct kobject *holders_dir ;
622 struct kernel_symbol const *syms ;
623 unsigned long const *crcs ;
624 unsigned int num_syms ;
625 struct kernel_param *kp ;
626 unsigned int num_kp ;
627 unsigned int num_gpl_syms ;
628 struct kernel_symbol const *gpl_syms ;
629 unsigned long const *gpl_crcs ;
630 struct kernel_symbol const *unused_syms ;
631 unsigned long const *unused_crcs ;
632 unsigned int num_unused_syms ;
633 unsigned int num_unused_gpl_syms ;
634 struct kernel_symbol const *unused_gpl_syms ;
635 unsigned long const *unused_gpl_crcs ;
636 struct kernel_symbol const *gpl_future_syms ;
637 unsigned long const *gpl_future_crcs ;
638 unsigned int num_gpl_future_syms ;
639 unsigned int num_exentries ;
640 struct exception_table_entry *extable ;
641 int (*init)(void) ;
642 void *module_init ;
643 void *module_core ;
644 unsigned int init_size ;
645 unsigned int core_size ;
646 unsigned int init_text_size ;
647 unsigned int core_text_size ;
648 unsigned int init_ro_size ;
649 unsigned int core_ro_size ;
650 struct mod_arch_specific arch ;
651 unsigned int taints ;
652 unsigned int num_bugs ;
653 struct list_head bug_list ;
654 struct bug_entry *bug_table ;
655 Elf64_Sym *symtab ;
656 Elf64_Sym *core_symtab ;
657 unsigned int num_symtab ;
658 unsigned int core_num_syms ;
659 char *strtab ;
660 char *core_strtab ;
661 struct module_sect_attrs *sect_attrs ;
662 struct module_notes_attrs *notes_attrs ;
663 char *args ;
664 void *percpu ;
665 unsigned int percpu_size ;
666 unsigned int num_tracepoints ;
667 struct tracepoint * const *tracepoints_ptrs ;
668 unsigned int num_trace_bprintk_fmt ;
669 char const **trace_bprintk_fmt_start ;
670 struct ftrace_event_call **trace_events ;
671 unsigned int num_trace_events ;
672 struct list_head source_list ;
673 struct list_head target_list ;
674 struct task_struct *waiter ;
675 void (*exit)(void) ;
676 struct module_ref *refptr ;
677 ctor_fn_t *ctors ;
678 unsigned int num_ctors ;
679};
680#line 186 "include/linux/mtd/map.h"
681union __anonunion_map_word_201 {
682 unsigned long x[4] ;
683};
684#line 186 "include/linux/mtd/map.h"
685typedef union __anonunion_map_word_201 map_word;
686#line 208
687struct mtd_chip_driver;
688#line 208 "include/linux/mtd/map.h"
689struct map_info {
690 char const *name ;
691 unsigned long size ;
692 resource_size_t phys ;
693 void *virt ;
694 void *cached ;
695 int swap ;
696 int bankwidth ;
697 map_word (*read)(struct map_info * , unsigned long ) ;
698 void (*copy_from)(struct map_info * , void * , unsigned long , ssize_t ) ;
699 void (*write)(struct map_info * , map_word const , unsigned long ) ;
700 void (*copy_to)(struct map_info * , unsigned long , void const * , ssize_t ) ;
701 void (*inval_cache)(struct map_info * , unsigned long , ssize_t ) ;
702 void (*set_vpp)(struct map_info * , int ) ;
703 unsigned long pfow_base ;
704 unsigned long map_priv_1 ;
705 unsigned long map_priv_2 ;
706 void *fldrv_priv ;
707 struct mtd_chip_driver *fldrv ;
708};
709#line 252
710struct mtd_info;
711#line 252 "include/linux/mtd/map.h"
712struct mtd_chip_driver {
713 struct mtd_info *(*probe)(struct map_info *map ) ;
714 void (*destroy)(struct mtd_info * ) ;
715 struct module *module ;
716 char *name ;
717 struct list_head list ;
718};
719#line 31 "include/linux/uio.h"
720struct kvec {
721 void *iov_base ;
722 size_t iov_len ;
723};
724#line 19 "include/linux/klist.h"
725struct klist_node;
726#line 19
727struct klist_node;
728#line 39 "include/linux/klist.h"
729struct klist_node {
730 void *n_klist ;
731 struct list_head n_node ;
732 struct kref n_ref ;
733};
734#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
735struct dma_map_ops;
736#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
737struct dev_archdata {
738 void *acpi_handle ;
739 struct dma_map_ops *dma_ops ;
740 void *iommu ;
741};
742#line 28 "include/linux/device.h"
743struct device;
744#line 29
745struct device_private;
746#line 29
747struct device_private;
748#line 30
749struct device_driver;
750#line 30
751struct device_driver;
752#line 31
753struct driver_private;
754#line 31
755struct driver_private;
756#line 32
757struct module;
758#line 33
759struct class;
760#line 33
761struct class;
762#line 34
763struct subsys_private;
764#line 34
765struct subsys_private;
766#line 35
767struct bus_type;
768#line 35
769struct bus_type;
770#line 36
771struct device_node;
772#line 36
773struct device_node;
774#line 37
775struct iommu_ops;
776#line 37
777struct iommu_ops;
778#line 39 "include/linux/device.h"
779struct bus_attribute {
780 struct attribute attr ;
781 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
782 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
783};
784#line 89
785struct device_attribute;
786#line 89
787struct driver_attribute;
788#line 89 "include/linux/device.h"
789struct bus_type {
790 char const *name ;
791 char const *dev_name ;
792 struct device *dev_root ;
793 struct bus_attribute *bus_attrs ;
794 struct device_attribute *dev_attrs ;
795 struct driver_attribute *drv_attrs ;
796 int (*match)(struct device *dev , struct device_driver *drv ) ;
797 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
798 int (*probe)(struct device *dev ) ;
799 int (*remove)(struct device *dev ) ;
800 void (*shutdown)(struct device *dev ) ;
801 int (*suspend)(struct device *dev , pm_message_t state ) ;
802 int (*resume)(struct device *dev ) ;
803 struct dev_pm_ops const *pm ;
804 struct iommu_ops *iommu_ops ;
805 struct subsys_private *p ;
806};
807#line 127
808struct device_type;
809#line 159
810struct notifier_block;
811#line 214
812struct of_device_id;
813#line 214 "include/linux/device.h"
814struct device_driver {
815 char const *name ;
816 struct bus_type *bus ;
817 struct module *owner ;
818 char const *mod_name ;
819 bool suppress_bind_attrs ;
820 struct of_device_id const *of_match_table ;
821 int (*probe)(struct device *dev ) ;
822 int (*remove)(struct device *dev ) ;
823 void (*shutdown)(struct device *dev ) ;
824 int (*suspend)(struct device *dev , pm_message_t state ) ;
825 int (*resume)(struct device *dev ) ;
826 struct attribute_group const **groups ;
827 struct dev_pm_ops const *pm ;
828 struct driver_private *p ;
829};
830#line 249 "include/linux/device.h"
831struct driver_attribute {
832 struct attribute attr ;
833 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
834 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
835};
836#line 330
837struct class_attribute;
838#line 330 "include/linux/device.h"
839struct class {
840 char const *name ;
841 struct module *owner ;
842 struct class_attribute *class_attrs ;
843 struct device_attribute *dev_attrs ;
844 struct bin_attribute *dev_bin_attrs ;
845 struct kobject *dev_kobj ;
846 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
847 char *(*devnode)(struct device *dev , umode_t *mode ) ;
848 void (*class_release)(struct class *class ) ;
849 void (*dev_release)(struct device *dev ) ;
850 int (*suspend)(struct device *dev , pm_message_t state ) ;
851 int (*resume)(struct device *dev ) ;
852 struct kobj_ns_type_operations const *ns_type ;
853 void const *(*namespace)(struct device *dev ) ;
854 struct dev_pm_ops const *pm ;
855 struct subsys_private *p ;
856};
857#line 397 "include/linux/device.h"
858struct class_attribute {
859 struct attribute attr ;
860 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
861 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
862 size_t count ) ;
863 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
864};
865#line 465 "include/linux/device.h"
866struct device_type {
867 char const *name ;
868 struct attribute_group const **groups ;
869 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
870 char *(*devnode)(struct device *dev , umode_t *mode ) ;
871 void (*release)(struct device *dev ) ;
872 struct dev_pm_ops const *pm ;
873};
874#line 476 "include/linux/device.h"
875struct device_attribute {
876 struct attribute attr ;
877 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
878 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
879 size_t count ) ;
880};
881#line 559 "include/linux/device.h"
882struct device_dma_parameters {
883 unsigned int max_segment_size ;
884 unsigned long segment_boundary_mask ;
885};
886#line 627
887struct dma_coherent_mem;
888#line 627 "include/linux/device.h"
889struct device {
890 struct device *parent ;
891 struct device_private *p ;
892 struct kobject kobj ;
893 char const *init_name ;
894 struct device_type const *type ;
895 struct mutex mutex ;
896 struct bus_type *bus ;
897 struct device_driver *driver ;
898 void *platform_data ;
899 struct dev_pm_info power ;
900 struct dev_pm_domain *pm_domain ;
901 int numa_node ;
902 u64 *dma_mask ;
903 u64 coherent_dma_mask ;
904 struct device_dma_parameters *dma_parms ;
905 struct list_head dma_pools ;
906 struct dma_coherent_mem *dma_mem ;
907 struct dev_archdata archdata ;
908 struct device_node *of_node ;
909 dev_t devt ;
910 u32 id ;
911 spinlock_t devres_lock ;
912 struct list_head devres_head ;
913 struct klist_node knode_class ;
914 struct class *class ;
915 struct attribute_group const **groups ;
916 void (*release)(struct device *dev ) ;
917};
918#line 43 "include/linux/pm_wakeup.h"
919struct wakeup_source {
920 char const *name ;
921 struct list_head entry ;
922 spinlock_t lock ;
923 struct timer_list timer ;
924 unsigned long timer_expires ;
925 ktime_t total_time ;
926 ktime_t max_time ;
927 ktime_t last_time ;
928 unsigned long event_count ;
929 unsigned long active_count ;
930 unsigned long relax_count ;
931 unsigned long hit_count ;
932 unsigned int active : 1 ;
933};
934#line 143 "include/mtd/mtd-abi.h"
935struct otp_info {
936 __u32 start ;
937 __u32 length ;
938 __u32 locked ;
939};
940#line 217 "include/mtd/mtd-abi.h"
941struct nand_oobfree {
942 __u32 offset ;
943 __u32 length ;
944};
945#line 247 "include/mtd/mtd-abi.h"
946struct mtd_ecc_stats {
947 __u32 corrected ;
948 __u32 failed ;
949 __u32 badblocks ;
950 __u32 bbtblocks ;
951};
952#line 48 "include/linux/mtd/mtd.h"
953struct erase_info {
954 struct mtd_info *mtd ;
955 uint64_t addr ;
956 uint64_t len ;
957 uint64_t fail_addr ;
958 u_long time ;
959 u_long retries ;
960 unsigned int dev ;
961 unsigned int cell ;
962 void (*callback)(struct erase_info *self ) ;
963 u_long priv ;
964 u_char state ;
965 struct erase_info *next ;
966};
967#line 63 "include/linux/mtd/mtd.h"
968struct mtd_erase_region_info {
969 uint64_t offset ;
970 uint32_t erasesize ;
971 uint32_t numblocks ;
972 unsigned long *lockmap ;
973};
974#line 89 "include/linux/mtd/mtd.h"
975struct mtd_oob_ops {
976 unsigned int mode ;
977 size_t len ;
978 size_t retlen ;
979 size_t ooblen ;
980 size_t oobretlen ;
981 uint32_t ooboffs ;
982 uint8_t *datbuf ;
983 uint8_t *oobbuf ;
984};
985#line 108 "include/linux/mtd/mtd.h"
986struct nand_ecclayout {
987 __u32 eccbytes ;
988 __u32 eccpos[448] ;
989 __u32 oobavail ;
990 struct nand_oobfree oobfree[32] ;
991};
992#line 115
993struct module;
994#line 117
995struct backing_dev_info;
996#line 117 "include/linux/mtd/mtd.h"
997struct mtd_info {
998 u_char type ;
999 uint32_t flags ;
1000 uint64_t size ;
1001 uint32_t erasesize ;
1002 uint32_t writesize ;
1003 uint32_t writebufsize ;
1004 uint32_t oobsize ;
1005 uint32_t oobavail ;
1006 unsigned int erasesize_shift ;
1007 unsigned int writesize_shift ;
1008 unsigned int erasesize_mask ;
1009 unsigned int writesize_mask ;
1010 char const *name ;
1011 int index ;
1012 struct nand_ecclayout *ecclayout ;
1013 unsigned int ecc_strength ;
1014 int numeraseregions ;
1015 struct mtd_erase_region_info *eraseregions ;
1016 int (*_erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
1017 int (*_point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1018 void **virt , resource_size_t *phys ) ;
1019 int (*_unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1020 unsigned long (*_get_unmapped_area)(struct mtd_info *mtd , unsigned long len ,
1021 unsigned long offset , unsigned long flags ) ;
1022 int (*_read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1023 u_char *buf ) ;
1024 int (*_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1025 u_char const *buf ) ;
1026 int (*_panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1027 u_char const *buf ) ;
1028 int (*_read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
1029 int (*_write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
1030 int (*_get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1031 int (*_read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1032 u_char *buf ) ;
1033 int (*_get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
1034 int (*_read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
1035 u_char *buf ) ;
1036 int (*_write_user_prot_reg)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1037 u_char *buf ) ;
1038 int (*_lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1039 int (*_writev)(struct mtd_info *mtd , struct kvec const *vecs , unsigned long count ,
1040 loff_t to , size_t *retlen ) ;
1041 void (*_sync)(struct mtd_info *mtd ) ;
1042 int (*_lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1043 int (*_unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1044 int (*_is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1045 int (*_block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
1046 int (*_block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
1047 int (*_suspend)(struct mtd_info *mtd ) ;
1048 void (*_resume)(struct mtd_info *mtd ) ;
1049 int (*_get_device)(struct mtd_info *mtd ) ;
1050 void (*_put_device)(struct mtd_info *mtd ) ;
1051 struct backing_dev_info *backing_dev_info ;
1052 struct notifier_block reboot_notifier ;
1053 struct mtd_ecc_stats ecc_stats ;
1054 int subpage_sft ;
1055 void *priv ;
1056 struct module *owner ;
1057 struct device dev ;
1058 int usecount ;
1059};
1060#line 359
1061struct mtd_partition;
1062#line 359
1063struct mtd_partition;
1064#line 360
1065struct mtd_part_parser_data;
1066#line 360
1067struct mtd_part_parser_data;
1068#line 39 "include/linux/mtd/partitions.h"
1069struct mtd_partition {
1070 char *name ;
1071 uint64_t size ;
1072 uint64_t offset ;
1073 uint32_t mask_flags ;
1074 struct nand_ecclayout *ecclayout ;
1075};
1076#line 53
1077struct mtd_info;
1078#line 54
1079struct device_node;
1080#line 61 "include/linux/mtd/partitions.h"
1081struct mtd_part_parser_data {
1082 unsigned long origin ;
1083 struct device_node *of_node ;
1084};
1085#line 93 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1086struct __anonstruct_203 {
1087 int : 0 ;
1088};
1089#line 1 "<compiler builtins>"
1090long __builtin_expect(long val , long res ) ;
1091#line 100 "include/linux/printk.h"
1092extern int ( printk)(char const *fmt , ...) ;
1093#line 152 "include/linux/mutex.h"
1094void mutex_lock(struct mutex *lock ) ;
1095#line 153
1096int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
1097#line 154
1098int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
1099#line 168
1100int mutex_trylock(struct mutex *lock ) ;
1101#line 169
1102void mutex_unlock(struct mutex *lock ) ;
1103#line 170
1104int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1105#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1106extern void *ioremap_nocache(resource_size_t offset , unsigned long size ) ;
1107#line 187
1108extern void iounmap(void volatile *addr ) ;
1109#line 26 "include/linux/export.h"
1110extern struct module __this_module ;
1111#line 67 "include/linux/module.h"
1112int init_module(void) ;
1113#line 68
1114void cleanup_module(void) ;
1115#line 263 "include/linux/mtd/map.h"
1116extern struct mtd_info *do_map_probe(char const *name , struct map_info *map ) ;
1117#line 264
1118extern void map_destroy(struct mtd_info *mtd ) ;
1119#line 450
1120extern void simple_map_init(struct map_info * ) ;
1121#line 362 "include/linux/mtd/mtd.h"
1122extern int mtd_device_parse_register(struct mtd_info *mtd , char const **part_probe_types ,
1123 struct mtd_part_parser_data *parser_data , struct mtd_partition const *defparts ,
1124 int defnr_parts ) ;
1125#line 369
1126extern int mtd_device_unregister(struct mtd_info *master ) ;
1127#line 40 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1128static struct map_info ts5500_map =
1129#line 40 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1130 {"TS-5500 Flash", 2097152UL, (resource_size_t )155189248, (void *)0, (void *)0,
1131 0, 1, (map_word (*)(struct map_info * , unsigned long ))0, (void (*)(struct map_info * ,
1132 void * ,
1133 unsigned long ,
1134 ssize_t ))0,
1135 (void (*)(struct map_info * , map_word const , unsigned long ))0, (void (*)(struct map_info * ,
1136 unsigned long ,
1137 void const * ,
1138 ssize_t ))0,
1139 (void (*)(struct map_info * , unsigned long , ssize_t ))0, (void (*)(struct map_info * ,
1140 int ))0,
1141 0UL, 0UL, 0UL, (void *)0, (struct mtd_chip_driver *)0};
1142#line 47 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1143static struct mtd_partition ts5500_partitions[3] = { {(char *)"Drive A", (uint64_t )917504, (uint64_t )0, 0U, (struct nand_ecclayout *)0},
1144 {(char *)"BIOS",
1145 (uint64_t )131072, (uint64_t )917504, 0U, (struct nand_ecclayout *)0},
1146 {(char *)"Drive B", (uint64_t )1048576, (uint64_t )1048576, 0U, (struct nand_ecclayout *)0}};
1147#line 67 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1148static struct mtd_info *mymtd ;
1149#line 69
1150static int init_ts5500_map(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
1151#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1152static int init_ts5500_map(void)
1153{ int rc ;
1154 unsigned long __cil_tmp2 ;
1155 unsigned long __cil_tmp3 ;
1156 resource_size_t __cil_tmp4 ;
1157 unsigned long __cil_tmp5 ;
1158 unsigned long __cil_tmp6 ;
1159 unsigned long __cil_tmp7 ;
1160 void *__cil_tmp8 ;
1161 unsigned long __cil_tmp9 ;
1162 unsigned long __cil_tmp10 ;
1163 void *__cil_tmp11 ;
1164 char const **__cil_tmp12 ;
1165 void *__cil_tmp13 ;
1166 struct mtd_part_parser_data *__cil_tmp14 ;
1167 unsigned long __cil_tmp15 ;
1168 unsigned long __cil_tmp16 ;
1169 struct mtd_partition *__cil_tmp17 ;
1170 struct mtd_partition const *__cil_tmp18 ;
1171 unsigned long __cil_tmp19 ;
1172 unsigned long __cil_tmp20 ;
1173 int __cil_tmp21 ;
1174 unsigned long __cil_tmp22 ;
1175 void *__cil_tmp23 ;
1176 void volatile *__cil_tmp24 ;
1177
1178 {
1179 {
1180#line 71
1181 rc = 0;
1182#line 73
1183 __cil_tmp2 = (unsigned long )(& ts5500_map) + 24;
1184#line 73
1185 __cil_tmp3 = (unsigned long )(& ts5500_map) + 16;
1186#line 73
1187 __cil_tmp4 = *((resource_size_t *)__cil_tmp3);
1188#line 73
1189 __cil_tmp5 = (unsigned long )(& ts5500_map) + 8;
1190#line 73
1191 __cil_tmp6 = *((unsigned long *)__cil_tmp5);
1192#line 73
1193 *((void **)__cil_tmp2) = ioremap_nocache(__cil_tmp4, __cil_tmp6);
1194 }
1195 {
1196#line 75
1197 __cil_tmp7 = (unsigned long )(& ts5500_map) + 24;
1198#line 75
1199 __cil_tmp8 = *((void **)__cil_tmp7);
1200#line 75
1201 if (! __cil_tmp8) {
1202 {
1203#line 76
1204 printk("<3>Failed to ioremap_nocache\n");
1205#line 77
1206 rc = -5;
1207 }
1208#line 78
1209 goto err2;
1210 } else {
1211
1212 }
1213 }
1214 {
1215#line 81
1216 simple_map_init(& ts5500_map);
1217#line 83
1218 mymtd = do_map_probe("jedec_probe", & ts5500_map);
1219 }
1220#line 84
1221 if (! mymtd) {
1222 {
1223#line 85
1224 mymtd = do_map_probe("map_rom", & ts5500_map);
1225 }
1226 } else {
1227
1228 }
1229#line 87
1230 if (! mymtd) {
1231#line 88
1232 rc = -6;
1233#line 89
1234 goto err1;
1235 } else {
1236
1237 }
1238 {
1239#line 92
1240 __cil_tmp9 = (unsigned long )mymtd;
1241#line 92
1242 __cil_tmp10 = __cil_tmp9 + 368;
1243#line 92
1244 *((struct module **)__cil_tmp10) = & __this_module;
1245#line 93
1246 __cil_tmp11 = (void *)0;
1247#line 93
1248 __cil_tmp12 = (char const **)__cil_tmp11;
1249#line 93
1250 __cil_tmp13 = (void *)0;
1251#line 93
1252 __cil_tmp14 = (struct mtd_part_parser_data *)__cil_tmp13;
1253#line 93
1254 __cil_tmp15 = 0 * 40UL;
1255#line 93
1256 __cil_tmp16 = (unsigned long )(ts5500_partitions) + __cil_tmp15;
1257#line 93
1258 __cil_tmp17 = (struct mtd_partition *)__cil_tmp16;
1259#line 93
1260 __cil_tmp18 = (struct mtd_partition const *)__cil_tmp17;
1261#line 93
1262 __cil_tmp19 = 120UL / 40UL;
1263#line 93
1264 __cil_tmp20 = __cil_tmp19 + 0UL;
1265#line 93
1266 __cil_tmp21 = (int )__cil_tmp20;
1267#line 93
1268 mtd_device_parse_register(mymtd, __cil_tmp12, __cil_tmp14, __cil_tmp18, __cil_tmp21);
1269 }
1270#line 95
1271 return (0);
1272 err1:
1273 {
1274#line 98
1275 __cil_tmp22 = (unsigned long )(& ts5500_map) + 24;
1276#line 98
1277 __cil_tmp23 = *((void **)__cil_tmp22);
1278#line 98
1279 __cil_tmp24 = (void volatile *)__cil_tmp23;
1280#line 98
1281 iounmap(__cil_tmp24);
1282 }
1283 err2:
1284#line 100
1285 return (rc);
1286}
1287}
1288#line 103
1289static void cleanup_ts5500_map(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
1290#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1291static void cleanup_ts5500_map(void)
1292{ unsigned long __cil_tmp1 ;
1293 unsigned long __cil_tmp2 ;
1294 void *__cil_tmp3 ;
1295 void volatile *__cil_tmp4 ;
1296 unsigned long __cil_tmp5 ;
1297
1298 {
1299#line 105
1300 if (mymtd) {
1301 {
1302#line 106
1303 mtd_device_unregister(mymtd);
1304#line 107
1305 map_destroy(mymtd);
1306 }
1307 } else {
1308
1309 }
1310 {
1311#line 110
1312 __cil_tmp1 = (unsigned long )(& ts5500_map) + 24;
1313#line 110
1314 if (*((void **)__cil_tmp1)) {
1315 {
1316#line 111
1317 __cil_tmp2 = (unsigned long )(& ts5500_map) + 24;
1318#line 111
1319 __cil_tmp3 = *((void **)__cil_tmp2);
1320#line 111
1321 __cil_tmp4 = (void volatile *)__cil_tmp3;
1322#line 111
1323 iounmap(__cil_tmp4);
1324#line 112
1325 __cil_tmp5 = (unsigned long )(& ts5500_map) + 24;
1326#line 112
1327 *((void **)__cil_tmp5) = (void *)0;
1328 }
1329 } else {
1330
1331 }
1332 }
1333#line 114
1334 return;
1335}
1336}
1337#line 116 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1338int init_module(void)
1339{ int tmp ;
1340
1341 {
1342 {
1343#line 116
1344 tmp = init_ts5500_map();
1345 }
1346#line 116
1347 return (tmp);
1348}
1349}
1350#line 117 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1351void cleanup_module(void)
1352{
1353
1354 {
1355 {
1356#line 117
1357 cleanup_ts5500_map();
1358 }
1359#line 117
1360 return;
1361}
1362}
1363#line 119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1364static char const __mod_license119[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
1365__aligned__(1))) =
1366#line 119
1367 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
1368 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
1369 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
1370#line 120 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1371static char const __mod_author120[34] __attribute__((__used__, __unused__, __section__(".modinfo"),
1372__aligned__(1))) =
1373#line 120
1374 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
1375 (char const )'o', (char const )'r', (char const )'=', (char const )'S',
1376 (char const )'e', (char const )'a', (char const )'n', (char const )' ',
1377 (char const )'Y', (char const )'o', (char const )'u', (char const )'n',
1378 (char const )'g', (char const )' ', (char const )'<', (char const )'s',
1379 (char const )'e', (char const )'a', (char const )'n', (char const )'@',
1380 (char const )'m', (char const )'e', (char const )'s', (char const )'s',
1381 (char const )'.', (char const )'o', (char const )'r', (char const )'g',
1382 (char const )'>', (char const )'\000'};
1383#line 121 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1384static char const __mod_description121[63] __attribute__((__used__, __unused__,
1385__section__(".modinfo"), __aligned__(1))) =
1386#line 121
1387 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
1388 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
1389 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
1390 (char const )'M', (char const )'T', (char const )'D', (char const )' ',
1391 (char const )'m', (char const )'a', (char const )'p', (char const )' ',
1392 (char const )'d', (char const )'r', (char const )'i', (char const )'v',
1393 (char const )'e', (char const )'r', (char const )' ', (char const )'f',
1394 (char const )'o', (char const )'r', (char const )' ', (char const )'T',
1395 (char const )'e', (char const )'c', (char const )'h', (char const )'o',
1396 (char const )'l', (char const )'o', (char const )'g', (char const )'y',
1397 (char const )' ', (char const )'S', (char const )'y', (char const )'s',
1398 (char const )'t', (char const )'e', (char const )'m', (char const )'s',
1399 (char const )' ', (char const )'T', (char const )'S', (char const )'-',
1400 (char const )'5', (char const )'5', (char const )'0', (char const )'0',
1401 (char const )' ', (char const )'b', (char const )'o', (char const )'a',
1402 (char const )'r', (char const )'d', (char const )'\000'};
1403#line 140
1404void ldv_check_final_state(void) ;
1405#line 146
1406extern void ldv_initialize(void) ;
1407#line 149
1408extern int __VERIFIER_nondet_int(void) ;
1409#line 152 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1410int LDV_IN_INTERRUPT ;
1411#line 155 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1412void main(void)
1413{ int tmp ;
1414 int tmp___0 ;
1415 int tmp___1 ;
1416
1417 {
1418 {
1419#line 167
1420 LDV_IN_INTERRUPT = 1;
1421#line 176
1422 ldv_initialize();
1423#line 186
1424 tmp = init_ts5500_map();
1425 }
1426#line 186
1427 if (tmp) {
1428#line 187
1429 goto ldv_final;
1430 } else {
1431
1432 }
1433 {
1434#line 189
1435 while (1) {
1436 while_continue: ;
1437 {
1438#line 189
1439 tmp___1 = __VERIFIER_nondet_int();
1440 }
1441#line 189
1442 if (tmp___1) {
1443
1444 } else {
1445#line 189
1446 goto while_break;
1447 }
1448 {
1449#line 192
1450 tmp___0 = __VERIFIER_nondet_int();
1451 }
1452 {
1453#line 194
1454 goto switch_default;
1455#line 192
1456 if (0) {
1457 switch_default:
1458#line 194
1459 goto switch_break;
1460 } else {
1461 switch_break: ;
1462 }
1463 }
1464 }
1465 while_break: ;
1466 }
1467 {
1468#line 210
1469 cleanup_ts5500_map();
1470 }
1471 ldv_final:
1472 {
1473#line 213
1474 ldv_check_final_state();
1475 }
1476#line 216
1477 return;
1478}
1479}
1480#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
1481void ldv_blast_assert(void)
1482{
1483
1484 {
1485 ERROR:
1486#line 6
1487 goto ERROR;
1488}
1489}
1490#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
1491extern int __VERIFIER_nondet_int(void) ;
1492#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1493int ldv_mutex = 1;
1494#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1495int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
1496{ int nondetermined ;
1497
1498 {
1499#line 29
1500 if (ldv_mutex == 1) {
1501
1502 } else {
1503 {
1504#line 29
1505 ldv_blast_assert();
1506 }
1507 }
1508 {
1509#line 32
1510 nondetermined = __VERIFIER_nondet_int();
1511 }
1512#line 35
1513 if (nondetermined) {
1514#line 38
1515 ldv_mutex = 2;
1516#line 40
1517 return (0);
1518 } else {
1519#line 45
1520 return (-4);
1521 }
1522}
1523}
1524#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1525int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
1526{ int nondetermined ;
1527
1528 {
1529#line 57
1530 if (ldv_mutex == 1) {
1531
1532 } else {
1533 {
1534#line 57
1535 ldv_blast_assert();
1536 }
1537 }
1538 {
1539#line 60
1540 nondetermined = __VERIFIER_nondet_int();
1541 }
1542#line 63
1543 if (nondetermined) {
1544#line 66
1545 ldv_mutex = 2;
1546#line 68
1547 return (0);
1548 } else {
1549#line 73
1550 return (-4);
1551 }
1552}
1553}
1554#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1555int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
1556{ int atomic_value_after_dec ;
1557
1558 {
1559#line 83
1560 if (ldv_mutex == 1) {
1561
1562 } else {
1563 {
1564#line 83
1565 ldv_blast_assert();
1566 }
1567 }
1568 {
1569#line 86
1570 atomic_value_after_dec = __VERIFIER_nondet_int();
1571 }
1572#line 89
1573 if (atomic_value_after_dec == 0) {
1574#line 92
1575 ldv_mutex = 2;
1576#line 94
1577 return (1);
1578 } else {
1579
1580 }
1581#line 98
1582 return (0);
1583}
1584}
1585#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1586void mutex_lock(struct mutex *lock )
1587{
1588
1589 {
1590#line 108
1591 if (ldv_mutex == 1) {
1592
1593 } else {
1594 {
1595#line 108
1596 ldv_blast_assert();
1597 }
1598 }
1599#line 110
1600 ldv_mutex = 2;
1601#line 111
1602 return;
1603}
1604}
1605#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1606int mutex_trylock(struct mutex *lock )
1607{ int nondetermined ;
1608
1609 {
1610#line 121
1611 if (ldv_mutex == 1) {
1612
1613 } else {
1614 {
1615#line 121
1616 ldv_blast_assert();
1617 }
1618 }
1619 {
1620#line 124
1621 nondetermined = __VERIFIER_nondet_int();
1622 }
1623#line 127
1624 if (nondetermined) {
1625#line 130
1626 ldv_mutex = 2;
1627#line 132
1628 return (1);
1629 } else {
1630#line 137
1631 return (0);
1632 }
1633}
1634}
1635#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1636void mutex_unlock(struct mutex *lock )
1637{
1638
1639 {
1640#line 147
1641 if (ldv_mutex == 2) {
1642
1643 } else {
1644 {
1645#line 147
1646 ldv_blast_assert();
1647 }
1648 }
1649#line 149
1650 ldv_mutex = 1;
1651#line 150
1652 return;
1653}
1654}
1655#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1656void ldv_check_final_state(void)
1657{
1658
1659 {
1660#line 156
1661 if (ldv_mutex == 1) {
1662
1663 } else {
1664 {
1665#line 156
1666 ldv_blast_assert();
1667 }
1668 }
1669#line 157
1670 return;
1671}
1672}
1673#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5455/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/ts5500_flash.c.common.c"
1674long s__builtin_expect(long val , long res )
1675{
1676
1677 {
1678#line 226
1679 return (val);
1680}
1681}