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 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
78struct module;
79#line 56
80struct module;
81#line 146 "include/linux/init.h"
82typedef void (*ctor_fn_t)(void);
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 31 "include/linux/uio.h"
681struct kvec {
682 void *iov_base ;
683 size_t iov_len ;
684};
685#line 19 "include/linux/klist.h"
686struct klist_node;
687#line 19
688struct klist_node;
689#line 39 "include/linux/klist.h"
690struct klist_node {
691 void *n_klist ;
692 struct list_head n_node ;
693 struct kref n_ref ;
694};
695#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
696struct dma_map_ops;
697#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
698struct dev_archdata {
699 void *acpi_handle ;
700 struct dma_map_ops *dma_ops ;
701 void *iommu ;
702};
703#line 28 "include/linux/device.h"
704struct device;
705#line 29
706struct device_private;
707#line 29
708struct device_private;
709#line 30
710struct device_driver;
711#line 30
712struct device_driver;
713#line 31
714struct driver_private;
715#line 31
716struct driver_private;
717#line 32
718struct module;
719#line 33
720struct class;
721#line 33
722struct class;
723#line 34
724struct subsys_private;
725#line 34
726struct subsys_private;
727#line 35
728struct bus_type;
729#line 35
730struct bus_type;
731#line 36
732struct device_node;
733#line 36
734struct device_node;
735#line 37
736struct iommu_ops;
737#line 37
738struct iommu_ops;
739#line 39 "include/linux/device.h"
740struct bus_attribute {
741 struct attribute attr ;
742 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
743 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
744};
745#line 89
746struct device_attribute;
747#line 89
748struct driver_attribute;
749#line 89 "include/linux/device.h"
750struct bus_type {
751 char const *name ;
752 char const *dev_name ;
753 struct device *dev_root ;
754 struct bus_attribute *bus_attrs ;
755 struct device_attribute *dev_attrs ;
756 struct driver_attribute *drv_attrs ;
757 int (*match)(struct device *dev , struct device_driver *drv ) ;
758 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
759 int (*probe)(struct device *dev ) ;
760 int (*remove)(struct device *dev ) ;
761 void (*shutdown)(struct device *dev ) ;
762 int (*suspend)(struct device *dev , pm_message_t state ) ;
763 int (*resume)(struct device *dev ) ;
764 struct dev_pm_ops const *pm ;
765 struct iommu_ops *iommu_ops ;
766 struct subsys_private *p ;
767};
768#line 127
769struct device_type;
770#line 159
771struct notifier_block;
772#line 214
773struct of_device_id;
774#line 214 "include/linux/device.h"
775struct device_driver {
776 char const *name ;
777 struct bus_type *bus ;
778 struct module *owner ;
779 char const *mod_name ;
780 bool suppress_bind_attrs ;
781 struct of_device_id const *of_match_table ;
782 int (*probe)(struct device *dev ) ;
783 int (*remove)(struct device *dev ) ;
784 void (*shutdown)(struct device *dev ) ;
785 int (*suspend)(struct device *dev , pm_message_t state ) ;
786 int (*resume)(struct device *dev ) ;
787 struct attribute_group const **groups ;
788 struct dev_pm_ops const *pm ;
789 struct driver_private *p ;
790};
791#line 249 "include/linux/device.h"
792struct driver_attribute {
793 struct attribute attr ;
794 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
795 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
796};
797#line 330
798struct class_attribute;
799#line 330 "include/linux/device.h"
800struct class {
801 char const *name ;
802 struct module *owner ;
803 struct class_attribute *class_attrs ;
804 struct device_attribute *dev_attrs ;
805 struct bin_attribute *dev_bin_attrs ;
806 struct kobject *dev_kobj ;
807 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
808 char *(*devnode)(struct device *dev , umode_t *mode ) ;
809 void (*class_release)(struct class *class ) ;
810 void (*dev_release)(struct device *dev ) ;
811 int (*suspend)(struct device *dev , pm_message_t state ) ;
812 int (*resume)(struct device *dev ) ;
813 struct kobj_ns_type_operations const *ns_type ;
814 void const *(*namespace)(struct device *dev ) ;
815 struct dev_pm_ops const *pm ;
816 struct subsys_private *p ;
817};
818#line 397 "include/linux/device.h"
819struct class_attribute {
820 struct attribute attr ;
821 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
822 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
823 size_t count ) ;
824 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
825};
826#line 465 "include/linux/device.h"
827struct device_type {
828 char const *name ;
829 struct attribute_group const **groups ;
830 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
831 char *(*devnode)(struct device *dev , umode_t *mode ) ;
832 void (*release)(struct device *dev ) ;
833 struct dev_pm_ops const *pm ;
834};
835#line 476 "include/linux/device.h"
836struct device_attribute {
837 struct attribute attr ;
838 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
839 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
840 size_t count ) ;
841};
842#line 559 "include/linux/device.h"
843struct device_dma_parameters {
844 unsigned int max_segment_size ;
845 unsigned long segment_boundary_mask ;
846};
847#line 627
848struct dma_coherent_mem;
849#line 627 "include/linux/device.h"
850struct device {
851 struct device *parent ;
852 struct device_private *p ;
853 struct kobject kobj ;
854 char const *init_name ;
855 struct device_type const *type ;
856 struct mutex mutex ;
857 struct bus_type *bus ;
858 struct device_driver *driver ;
859 void *platform_data ;
860 struct dev_pm_info power ;
861 struct dev_pm_domain *pm_domain ;
862 int numa_node ;
863 u64 *dma_mask ;
864 u64 coherent_dma_mask ;
865 struct device_dma_parameters *dma_parms ;
866 struct list_head dma_pools ;
867 struct dma_coherent_mem *dma_mem ;
868 struct dev_archdata archdata ;
869 struct device_node *of_node ;
870 dev_t devt ;
871 u32 id ;
872 spinlock_t devres_lock ;
873 struct list_head devres_head ;
874 struct klist_node knode_class ;
875 struct class *class ;
876 struct attribute_group const **groups ;
877 void (*release)(struct device *dev ) ;
878};
879#line 43 "include/linux/pm_wakeup.h"
880struct wakeup_source {
881 char const *name ;
882 struct list_head entry ;
883 spinlock_t lock ;
884 struct timer_list timer ;
885 unsigned long timer_expires ;
886 ktime_t total_time ;
887 ktime_t max_time ;
888 ktime_t last_time ;
889 unsigned long event_count ;
890 unsigned long active_count ;
891 unsigned long relax_count ;
892 unsigned long hit_count ;
893 unsigned int active : 1 ;
894};
895#line 143 "include/mtd/mtd-abi.h"
896struct otp_info {
897 __u32 start ;
898 __u32 length ;
899 __u32 locked ;
900};
901#line 217 "include/mtd/mtd-abi.h"
902struct nand_oobfree {
903 __u32 offset ;
904 __u32 length ;
905};
906#line 247 "include/mtd/mtd-abi.h"
907struct mtd_ecc_stats {
908 __u32 corrected ;
909 __u32 failed ;
910 __u32 badblocks ;
911 __u32 bbtblocks ;
912};
913#line 48 "include/linux/mtd/mtd.h"
914struct mtd_info;
915#line 48 "include/linux/mtd/mtd.h"
916struct erase_info {
917 struct mtd_info *mtd ;
918 uint64_t addr ;
919 uint64_t len ;
920 uint64_t fail_addr ;
921 u_long time ;
922 u_long retries ;
923 unsigned int dev ;
924 unsigned int cell ;
925 void (*callback)(struct erase_info *self ) ;
926 u_long priv ;
927 u_char state ;
928 struct erase_info *next ;
929};
930#line 63 "include/linux/mtd/mtd.h"
931struct mtd_erase_region_info {
932 uint64_t offset ;
933 uint32_t erasesize ;
934 uint32_t numblocks ;
935 unsigned long *lockmap ;
936};
937#line 89 "include/linux/mtd/mtd.h"
938struct mtd_oob_ops {
939 unsigned int mode ;
940 size_t len ;
941 size_t retlen ;
942 size_t ooblen ;
943 size_t oobretlen ;
944 uint32_t ooboffs ;
945 uint8_t *datbuf ;
946 uint8_t *oobbuf ;
947};
948#line 108 "include/linux/mtd/mtd.h"
949struct nand_ecclayout {
950 __u32 eccbytes ;
951 __u32 eccpos[448] ;
952 __u32 oobavail ;
953 struct nand_oobfree oobfree[32] ;
954};
955#line 115
956struct module;
957#line 117
958struct backing_dev_info;
959#line 117 "include/linux/mtd/mtd.h"
960struct mtd_info {
961 u_char type ;
962 uint32_t flags ;
963 uint64_t size ;
964 uint32_t erasesize ;
965 uint32_t writesize ;
966 uint32_t writebufsize ;
967 uint32_t oobsize ;
968 uint32_t oobavail ;
969 unsigned int erasesize_shift ;
970 unsigned int writesize_shift ;
971 unsigned int erasesize_mask ;
972 unsigned int writesize_mask ;
973 char const *name ;
974 int index ;
975 struct nand_ecclayout *ecclayout ;
976 unsigned int ecc_strength ;
977 int numeraseregions ;
978 struct mtd_erase_region_info *eraseregions ;
979 int (*_erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
980 int (*_point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
981 void **virt , resource_size_t *phys ) ;
982 int (*_unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
983 unsigned long (*_get_unmapped_area)(struct mtd_info *mtd , unsigned long len ,
984 unsigned long offset , unsigned long flags ) ;
985 int (*_read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
986 u_char *buf ) ;
987 int (*_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
988 u_char const *buf ) ;
989 int (*_panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
990 u_char const *buf ) ;
991 int (*_read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
992 int (*_write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
993 int (*_get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
994 int (*_read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
995 u_char *buf ) ;
996 int (*_get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
997 int (*_read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
998 u_char *buf ) ;
999 int (*_write_user_prot_reg)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
1000 u_char *buf ) ;
1001 int (*_lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
1002 int (*_writev)(struct mtd_info *mtd , struct kvec const *vecs , unsigned long count ,
1003 loff_t to , size_t *retlen ) ;
1004 void (*_sync)(struct mtd_info *mtd ) ;
1005 int (*_lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1006 int (*_unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1007 int (*_is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
1008 int (*_block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
1009 int (*_block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
1010 int (*_suspend)(struct mtd_info *mtd ) ;
1011 void (*_resume)(struct mtd_info *mtd ) ;
1012 int (*_get_device)(struct mtd_info *mtd ) ;
1013 void (*_put_device)(struct mtd_info *mtd ) ;
1014 struct backing_dev_info *backing_dev_info ;
1015 struct notifier_block reboot_notifier ;
1016 struct mtd_ecc_stats ecc_stats ;
1017 int subpage_sft ;
1018 void *priv ;
1019 struct module *owner ;
1020 struct device dev ;
1021 int usecount ;
1022};
1023#line 359
1024struct mtd_partition;
1025#line 359
1026struct mtd_partition;
1027#line 360
1028struct mtd_part_parser_data;
1029#line 360
1030struct mtd_part_parser_data;
1031#line 186 "include/linux/mtd/map.h"
1032union __anonunion_map_word_202 {
1033 unsigned long x[4] ;
1034};
1035#line 186 "include/linux/mtd/map.h"
1036typedef union __anonunion_map_word_202 map_word;
1037#line 208
1038struct mtd_chip_driver;
1039#line 208 "include/linux/mtd/map.h"
1040struct map_info {
1041 char const *name ;
1042 unsigned long size ;
1043 resource_size_t phys ;
1044 void *virt ;
1045 void *cached ;
1046 int swap ;
1047 int bankwidth ;
1048 map_word (*read)(struct map_info * , unsigned long ) ;
1049 void (*copy_from)(struct map_info * , void * , unsigned long , ssize_t ) ;
1050 void (*write)(struct map_info * , map_word const , unsigned long ) ;
1051 void (*copy_to)(struct map_info * , unsigned long , void const * , ssize_t ) ;
1052 void (*inval_cache)(struct map_info * , unsigned long , ssize_t ) ;
1053 void (*set_vpp)(struct map_info * , int ) ;
1054 unsigned long pfow_base ;
1055 unsigned long map_priv_1 ;
1056 unsigned long map_priv_2 ;
1057 void *fldrv_priv ;
1058 struct mtd_chip_driver *fldrv ;
1059};
1060#line 252 "include/linux/mtd/map.h"
1061struct mtd_chip_driver {
1062 struct mtd_info *(*probe)(struct map_info *map ) ;
1063 void (*destroy)(struct mtd_info * ) ;
1064 struct module *module ;
1065 char *name ;
1066 struct list_head list ;
1067};
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 120 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.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 362 "include/linux/mtd/mtd.h"
1116extern int mtd_device_parse_register(struct mtd_info *mtd , char const **part_probe_types ,
1117 struct mtd_part_parser_data *parser_data , struct mtd_partition const *defparts ,
1118 int defnr_parts ) ;
1119#line 369
1120extern int mtd_device_unregister(struct mtd_info *master ) ;
1121#line 263 "include/linux/mtd/map.h"
1122extern struct mtd_info *do_map_probe(char const *name , struct map_info *map ) ;
1123#line 264
1124extern void map_destroy(struct mtd_info *mtd ) ;
1125#line 450
1126extern void simple_map_init(struct map_info * ) ;
1127#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1128static struct mtd_partition partition_info[4] = { {(char *)"NetSc520 boot kernel", (uint64_t )786432, (uint64_t )0, 0U, (struct nand_ecclayout *)0},
1129 {(char *)"NetSc520 Low BIOS",
1130 (uint64_t )262144, (uint64_t )786432, 0U, (struct nand_ecclayout *)0},
1131 {(char *)"NetSc520 file system", (uint64_t )15204352, (uint64_t )1048576, 0U,
1132 (struct nand_ecclayout *)0},
1133 {(char *)"NetSc520 High BIOS", (uint64_t )524288, (uint64_t )16252928, 0U, (struct nand_ecclayout *)0}};
1134#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1135static struct map_info netsc520_map =
1136#line 83
1137 {"netsc520 Flash Bank", 1048576UL, (resource_size_t )2097152, (void *)0, (void *)0,
1138 0, 4, (map_word (*)(struct map_info * , unsigned long ))0, (void (*)(struct map_info * ,
1139 void * ,
1140 unsigned long ,
1141 ssize_t ))0,
1142 (void (*)(struct map_info * , map_word const , unsigned long ))0, (void (*)(struct map_info * ,
1143 unsigned long ,
1144 void const * ,
1145 ssize_t ))0,
1146 (void (*)(struct map_info * , unsigned long , ssize_t ))0, (void (*)(struct map_info * ,
1147 int ))0,
1148 0UL, 0UL, 0UL, (void *)0, (struct mtd_chip_driver *)0};
1149#line 92 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1150static struct mtd_info *mymtd ;
1151#line 94
1152static int init_netsc520(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
1153#line 94 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1154static int init_netsc520(void)
1155{ unsigned long __cil_tmp1 ;
1156 unsigned long __cil_tmp2 ;
1157 unsigned long long __cil_tmp3 ;
1158 unsigned long __cil_tmp4 ;
1159 resource_size_t __cil_tmp5 ;
1160 unsigned long __cil_tmp6 ;
1161 unsigned long __cil_tmp7 ;
1162 resource_size_t __cil_tmp8 ;
1163 unsigned long __cil_tmp9 ;
1164 unsigned long __cil_tmp10 ;
1165 unsigned long __cil_tmp11 ;
1166 void *__cil_tmp12 ;
1167 unsigned long __cil_tmp13 ;
1168 void *__cil_tmp14 ;
1169 void volatile *__cil_tmp15 ;
1170 unsigned long __cil_tmp16 ;
1171 unsigned long __cil_tmp17 ;
1172 void *__cil_tmp18 ;
1173 char const **__cil_tmp19 ;
1174 void *__cil_tmp20 ;
1175 struct mtd_part_parser_data *__cil_tmp21 ;
1176 unsigned long __cil_tmp22 ;
1177 unsigned long __cil_tmp23 ;
1178 struct mtd_partition *__cil_tmp24 ;
1179 struct mtd_partition const *__cil_tmp25 ;
1180 unsigned long __cil_tmp26 ;
1181 unsigned long __cil_tmp27 ;
1182 int __cil_tmp28 ;
1183
1184 {
1185 {
1186#line 96
1187 __cil_tmp1 = (unsigned long )(& netsc520_map) + 8;
1188#line 96
1189 __cil_tmp2 = *((unsigned long *)__cil_tmp1);
1190#line 96
1191 __cil_tmp3 = (unsigned long long )__cil_tmp2;
1192#line 96
1193 __cil_tmp4 = (unsigned long )(& netsc520_map) + 16;
1194#line 96
1195 __cil_tmp5 = *((resource_size_t *)__cil_tmp4);
1196#line 96
1197 printk("<5>NetSc520 flash device: 0x%Lx at 0x%Lx\n", __cil_tmp3, __cil_tmp5);
1198#line 99
1199 __cil_tmp6 = (unsigned long )(& netsc520_map) + 24;
1200#line 99
1201 __cil_tmp7 = (unsigned long )(& netsc520_map) + 16;
1202#line 99
1203 __cil_tmp8 = *((resource_size_t *)__cil_tmp7);
1204#line 99
1205 __cil_tmp9 = (unsigned long )(& netsc520_map) + 8;
1206#line 99
1207 __cil_tmp10 = *((unsigned long *)__cil_tmp9);
1208#line 99
1209 *((void **)__cil_tmp6) = ioremap_nocache(__cil_tmp8, __cil_tmp10);
1210 }
1211 {
1212#line 101
1213 __cil_tmp11 = (unsigned long )(& netsc520_map) + 24;
1214#line 101
1215 __cil_tmp12 = *((void **)__cil_tmp11);
1216#line 101
1217 if (! __cil_tmp12) {
1218 {
1219#line 102
1220 printk("Failed to ioremap_nocache\n");
1221 }
1222#line 103
1223 return (-5);
1224 } else {
1225
1226 }
1227 }
1228 {
1229#line 106
1230 simple_map_init(& netsc520_map);
1231#line 108
1232 mymtd = do_map_probe("cfi_probe", & netsc520_map);
1233 }
1234#line 109
1235 if (! mymtd) {
1236 {
1237#line 110
1238 mymtd = do_map_probe("map_ram", & netsc520_map);
1239 }
1240 } else {
1241
1242 }
1243#line 111
1244 if (! mymtd) {
1245 {
1246#line 112
1247 mymtd = do_map_probe("map_rom", & netsc520_map);
1248 }
1249 } else {
1250
1251 }
1252#line 114
1253 if (! mymtd) {
1254 {
1255#line 115
1256 __cil_tmp13 = (unsigned long )(& netsc520_map) + 24;
1257#line 115
1258 __cil_tmp14 = *((void **)__cil_tmp13);
1259#line 115
1260 __cil_tmp15 = (void volatile *)__cil_tmp14;
1261#line 115
1262 iounmap(__cil_tmp15);
1263 }
1264#line 116
1265 return (-6);
1266 } else {
1267
1268 }
1269 {
1270#line 119
1271 __cil_tmp16 = (unsigned long )mymtd;
1272#line 119
1273 __cil_tmp17 = __cil_tmp16 + 368;
1274#line 119
1275 *((struct module **)__cil_tmp17) = & __this_module;
1276#line 120
1277 __cil_tmp18 = (void *)0;
1278#line 120
1279 __cil_tmp19 = (char const **)__cil_tmp18;
1280#line 120
1281 __cil_tmp20 = (void *)0;
1282#line 120
1283 __cil_tmp21 = (struct mtd_part_parser_data *)__cil_tmp20;
1284#line 120
1285 __cil_tmp22 = 0 * 40UL;
1286#line 120
1287 __cil_tmp23 = (unsigned long )(partition_info) + __cil_tmp22;
1288#line 120
1289 __cil_tmp24 = (struct mtd_partition *)__cil_tmp23;
1290#line 120
1291 __cil_tmp25 = (struct mtd_partition const *)__cil_tmp24;
1292#line 120
1293 __cil_tmp26 = 160UL / 40UL;
1294#line 120
1295 __cil_tmp27 = __cil_tmp26 + 0UL;
1296#line 120
1297 __cil_tmp28 = (int )__cil_tmp27;
1298#line 120
1299 mtd_device_parse_register(mymtd, __cil_tmp19, __cil_tmp21, __cil_tmp25, __cil_tmp28);
1300 }
1301#line 121
1302 return (0);
1303}
1304}
1305#line 124
1306static void cleanup_netsc520(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
1307#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1308static void cleanup_netsc520(void)
1309{ unsigned long __cil_tmp1 ;
1310 unsigned long __cil_tmp2 ;
1311 void *__cil_tmp3 ;
1312 void volatile *__cil_tmp4 ;
1313 unsigned long __cil_tmp5 ;
1314
1315 {
1316#line 126
1317 if (mymtd) {
1318 {
1319#line 127
1320 mtd_device_unregister(mymtd);
1321#line 128
1322 map_destroy(mymtd);
1323 }
1324 } else {
1325
1326 }
1327 {
1328#line 130
1329 __cil_tmp1 = (unsigned long )(& netsc520_map) + 24;
1330#line 130
1331 if (*((void **)__cil_tmp1)) {
1332 {
1333#line 131
1334 __cil_tmp2 = (unsigned long )(& netsc520_map) + 24;
1335#line 131
1336 __cil_tmp3 = *((void **)__cil_tmp2);
1337#line 131
1338 __cil_tmp4 = (void volatile *)__cil_tmp3;
1339#line 131
1340 iounmap(__cil_tmp4);
1341#line 132
1342 __cil_tmp5 = (unsigned long )(& netsc520_map) + 24;
1343#line 132
1344 *((void **)__cil_tmp5) = (void *)0;
1345 }
1346 } else {
1347
1348 }
1349 }
1350#line 134
1351 return;
1352}
1353}
1354#line 136 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1355int init_module(void)
1356{ int tmp ;
1357
1358 {
1359 {
1360#line 136
1361 tmp = init_netsc520();
1362 }
1363#line 136
1364 return (tmp);
1365}
1366}
1367#line 137 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1368void cleanup_module(void)
1369{
1370
1371 {
1372 {
1373#line 137
1374 cleanup_netsc520();
1375 }
1376#line 137
1377 return;
1378}
1379}
1380#line 139 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1381static char const __mod_license139[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
1382__aligned__(1))) =
1383#line 139
1384 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
1385 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
1386 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
1387#line 140 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1388static char const __mod_author140[47] __attribute__((__used__, __unused__, __section__(".modinfo"),
1389__aligned__(1))) =
1390#line 140
1391 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
1392 (char const )'o', (char const )'r', (char const )'=', (char const )'M',
1393 (char const )'a', (char const )'r', (char const )'k', (char const )' ',
1394 (char const )'L', (char const )'a', (char const )'n', (char const )'g',
1395 (char const )'s', (char const )'d', (char const )'o', (char const )'r',
1396 (char const )'f', (char const )' ', (char const )'<', (char const )'m',
1397 (char const )'a', (char const )'r', (char const )'k', (char const )'.',
1398 (char const )'l', (char const )'a', (char const )'n', (char const )'g',
1399 (char const )'s', (char const )'d', (char const )'o', (char const )'r',
1400 (char const )'f', (char const )'@', (char const )'a', (char const )'m',
1401 (char const )'d', (char const )'.', (char const )'c', (char const )'o',
1402 (char const )'m', (char const )'>', (char const )'\000'};
1403#line 141 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1404static char const __mod_description141[64] __attribute__((__used__, __unused__,
1405__section__(".modinfo"), __aligned__(1))) =
1406#line 141
1407 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
1408 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
1409 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
1410 (char const )'M', (char const )'T', (char const )'D', (char const )' ',
1411 (char const )'m', (char const )'a', (char const )'p', (char const )' ',
1412 (char const )'d', (char const )'r', (char const )'i', (char const )'v',
1413 (char const )'e', (char const )'r', (char const )' ', (char const )'f',
1414 (char const )'o', (char const )'r', (char const )' ', (char const )'A',
1415 (char const )'M', (char const )'D', (char const )' ', (char const )'N',
1416 (char const )'e', (char const )'t', (char const )'S', (char const )'c',
1417 (char const )'5', (char const )'2', (char const )'0', (char const )' ',
1418 (char const )'D', (char const )'e', (char const )'m', (char const )'o',
1419 (char const )'n', (char const )'s', (char const )'t', (char const )'r',
1420 (char const )'a', (char const )'t', (char const )'i', (char const )'o',
1421 (char const )'n', (char const )' ', (char const )'B', (char const )'o',
1422 (char const )'a', (char const )'r', (char const )'d', (char const )'\000'};
1423#line 159
1424void ldv_check_final_state(void) ;
1425#line 165
1426extern void ldv_initialize(void) ;
1427#line 168
1428extern int __VERIFIER_nondet_int(void) ;
1429#line 171 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1430int LDV_IN_INTERRUPT ;
1431#line 174 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1432void main(void)
1433{ int tmp ;
1434 int tmp___0 ;
1435 int tmp___1 ;
1436
1437 {
1438 {
1439#line 186
1440 LDV_IN_INTERRUPT = 1;
1441#line 195
1442 ldv_initialize();
1443#line 206
1444 tmp = init_netsc520();
1445 }
1446#line 206
1447 if (tmp) {
1448#line 207
1449 goto ldv_final;
1450 } else {
1451
1452 }
1453 {
1454#line 209
1455 while (1) {
1456 while_continue: ;
1457 {
1458#line 209
1459 tmp___1 = __VERIFIER_nondet_int();
1460 }
1461#line 209
1462 if (tmp___1) {
1463
1464 } else {
1465#line 209
1466 goto while_break;
1467 }
1468 {
1469#line 212
1470 tmp___0 = __VERIFIER_nondet_int();
1471 }
1472 {
1473#line 214
1474 goto switch_default;
1475#line 212
1476 if (0) {
1477 switch_default:
1478#line 214
1479 goto switch_break;
1480 } else {
1481 switch_break: ;
1482 }
1483 }
1484 }
1485 while_break: ;
1486 }
1487 {
1488#line 231
1489 cleanup_netsc520();
1490 }
1491 ldv_final:
1492 {
1493#line 234
1494 ldv_check_final_state();
1495 }
1496#line 237
1497 return;
1498}
1499}
1500#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
1501void ldv_blast_assert(void)
1502{
1503
1504 {
1505 ERROR:
1506#line 6
1507 goto ERROR;
1508}
1509}
1510#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
1511extern int __VERIFIER_nondet_int(void) ;
1512#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1513int ldv_mutex = 1;
1514#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1515int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
1516{ int nondetermined ;
1517
1518 {
1519#line 29
1520 if (ldv_mutex == 1) {
1521
1522 } else {
1523 {
1524#line 29
1525 ldv_blast_assert();
1526 }
1527 }
1528 {
1529#line 32
1530 nondetermined = __VERIFIER_nondet_int();
1531 }
1532#line 35
1533 if (nondetermined) {
1534#line 38
1535 ldv_mutex = 2;
1536#line 40
1537 return (0);
1538 } else {
1539#line 45
1540 return (-4);
1541 }
1542}
1543}
1544#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1545int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
1546{ int nondetermined ;
1547
1548 {
1549#line 57
1550 if (ldv_mutex == 1) {
1551
1552 } else {
1553 {
1554#line 57
1555 ldv_blast_assert();
1556 }
1557 }
1558 {
1559#line 60
1560 nondetermined = __VERIFIER_nondet_int();
1561 }
1562#line 63
1563 if (nondetermined) {
1564#line 66
1565 ldv_mutex = 2;
1566#line 68
1567 return (0);
1568 } else {
1569#line 73
1570 return (-4);
1571 }
1572}
1573}
1574#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1575int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
1576{ int atomic_value_after_dec ;
1577
1578 {
1579#line 83
1580 if (ldv_mutex == 1) {
1581
1582 } else {
1583 {
1584#line 83
1585 ldv_blast_assert();
1586 }
1587 }
1588 {
1589#line 86
1590 atomic_value_after_dec = __VERIFIER_nondet_int();
1591 }
1592#line 89
1593 if (atomic_value_after_dec == 0) {
1594#line 92
1595 ldv_mutex = 2;
1596#line 94
1597 return (1);
1598 } else {
1599
1600 }
1601#line 98
1602 return (0);
1603}
1604}
1605#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1606void mutex_lock(struct mutex *lock )
1607{
1608
1609 {
1610#line 108
1611 if (ldv_mutex == 1) {
1612
1613 } else {
1614 {
1615#line 108
1616 ldv_blast_assert();
1617 }
1618 }
1619#line 110
1620 ldv_mutex = 2;
1621#line 111
1622 return;
1623}
1624}
1625#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1626int mutex_trylock(struct mutex *lock )
1627{ int nondetermined ;
1628
1629 {
1630#line 121
1631 if (ldv_mutex == 1) {
1632
1633 } else {
1634 {
1635#line 121
1636 ldv_blast_assert();
1637 }
1638 }
1639 {
1640#line 124
1641 nondetermined = __VERIFIER_nondet_int();
1642 }
1643#line 127
1644 if (nondetermined) {
1645#line 130
1646 ldv_mutex = 2;
1647#line 132
1648 return (1);
1649 } else {
1650#line 137
1651 return (0);
1652 }
1653}
1654}
1655#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1656void mutex_unlock(struct mutex *lock )
1657{
1658
1659 {
1660#line 147
1661 if (ldv_mutex == 2) {
1662
1663 } else {
1664 {
1665#line 147
1666 ldv_blast_assert();
1667 }
1668 }
1669#line 149
1670 ldv_mutex = 1;
1671#line 150
1672 return;
1673}
1674}
1675#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
1676void ldv_check_final_state(void)
1677{
1678
1679 {
1680#line 156
1681 if (ldv_mutex == 1) {
1682
1683 } else {
1684 {
1685#line 156
1686 ldv_blast_assert();
1687 }
1688 }
1689#line 157
1690 return;
1691}
1692}
1693#line 246 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5446/dscv_tempdir/dscv/ri/32_1/drivers/mtd/maps/netsc520.c.common.c"
1694long s__builtin_expect(long val , long res )
1695{
1696
1697 {
1698#line 247
1699 return (val);
1700}
1701}