1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 38 "include/linux/types.h"
55typedef _Bool bool;
56#line 40 "include/linux/types.h"
57typedef __kernel_uid32_t uid_t;
58#line 41 "include/linux/types.h"
59typedef __kernel_gid32_t gid_t;
60#line 54 "include/linux/types.h"
61typedef __kernel_loff_t loff_t;
62#line 63 "include/linux/types.h"
63typedef __kernel_size_t size_t;
64#line 68 "include/linux/types.h"
65typedef __kernel_ssize_t ssize_t;
66#line 78 "include/linux/types.h"
67typedef __kernel_time_t time_t;
68#line 142 "include/linux/types.h"
69typedef unsigned long sector_t;
70#line 143 "include/linux/types.h"
71typedef unsigned long blkcnt_t;
72#line 155 "include/linux/types.h"
73typedef u64 dma_addr_t;
74#line 202 "include/linux/types.h"
75typedef unsigned int gfp_t;
76#line 203 "include/linux/types.h"
77typedef unsigned int fmode_t;
78#line 206 "include/linux/types.h"
79typedef u64 phys_addr_t;
80#line 211 "include/linux/types.h"
81typedef phys_addr_t resource_size_t;
82#line 221 "include/linux/types.h"
83struct __anonstruct_atomic_t_6 {
84 int counter ;
85};
86#line 221 "include/linux/types.h"
87typedef struct __anonstruct_atomic_t_6 atomic_t;
88#line 226 "include/linux/types.h"
89struct __anonstruct_atomic64_t_7 {
90 long counter ;
91};
92#line 226 "include/linux/types.h"
93typedef struct __anonstruct_atomic64_t_7 atomic64_t;
94#line 227 "include/linux/types.h"
95struct list_head {
96 struct list_head *next ;
97 struct list_head *prev ;
98};
99#line 232
100struct hlist_node;
101#line 232 "include/linux/types.h"
102struct hlist_head {
103 struct hlist_node *first ;
104};
105#line 236 "include/linux/types.h"
106struct hlist_node {
107 struct hlist_node *next ;
108 struct hlist_node **pprev ;
109};
110#line 247 "include/linux/types.h"
111struct rcu_head {
112 struct rcu_head *next ;
113 void (*func)(struct rcu_head * ) ;
114};
115#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
116struct module;
117#line 55
118struct module;
119#line 146 "include/linux/init.h"
120typedef void (*ctor_fn_t)(void);
121#line 46 "include/linux/dynamic_debug.h"
122struct device;
123#line 46
124struct device;
125#line 57
126struct completion;
127#line 57
128struct completion;
129#line 348 "include/linux/kernel.h"
130struct pid;
131#line 348
132struct pid;
133#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
134struct timespec;
135#line 112
136struct timespec;
137#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
138struct page;
139#line 58
140struct page;
141#line 26 "include/asm-generic/getorder.h"
142struct task_struct;
143#line 26
144struct task_struct;
145#line 28
146struct mm_struct;
147#line 28
148struct mm_struct;
149#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
150typedef unsigned long pgdval_t;
151#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
152typedef unsigned long pgprotval_t;
153#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
154struct pgprot {
155 pgprotval_t pgprot ;
156};
157#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
158typedef struct pgprot pgprot_t;
159#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
160struct __anonstruct_pgd_t_16 {
161 pgdval_t pgd ;
162};
163#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
164typedef struct __anonstruct_pgd_t_16 pgd_t;
165#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
166typedef struct page *pgtable_t;
167#line 290
168struct file;
169#line 290
170struct file;
171#line 305
172struct seq_file;
173#line 305
174struct seq_file;
175#line 339
176struct cpumask;
177#line 339
178struct cpumask;
179#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
180struct arch_spinlock;
181#line 327
182struct arch_spinlock;
183#line 306 "include/linux/bitmap.h"
184struct bug_entry {
185 int bug_addr_disp ;
186 int file_disp ;
187 unsigned short line ;
188 unsigned short flags ;
189};
190#line 89 "include/linux/bug.h"
191struct cpumask {
192 unsigned long bits[64U] ;
193};
194#line 637 "include/linux/cpumask.h"
195typedef struct cpumask *cpumask_var_t;
196#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
197struct static_key;
198#line 234
199struct static_key;
200#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
201struct kmem_cache;
202#line 23 "include/asm-generic/atomic-long.h"
203typedef atomic64_t atomic_long_t;
204#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
205typedef u16 __ticket_t;
206#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
207typedef u32 __ticketpair_t;
208#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
209struct __raw_tickets {
210 __ticket_t head ;
211 __ticket_t tail ;
212};
213#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
214union __anonunion_ldv_5907_29 {
215 __ticketpair_t head_tail ;
216 struct __raw_tickets tickets ;
217};
218#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
219struct arch_spinlock {
220 union __anonunion_ldv_5907_29 ldv_5907 ;
221};
222#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
223typedef struct arch_spinlock arch_spinlock_t;
224#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
225struct __anonstruct_ldv_5914_31 {
226 u32 read ;
227 s32 write ;
228};
229#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
230union __anonunion_arch_rwlock_t_30 {
231 s64 lock ;
232 struct __anonstruct_ldv_5914_31 ldv_5914 ;
233};
234#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
235typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
236#line 34
237struct lockdep_map;
238#line 34
239struct lockdep_map;
240#line 55 "include/linux/debug_locks.h"
241struct stack_trace {
242 unsigned int nr_entries ;
243 unsigned int max_entries ;
244 unsigned long *entries ;
245 int skip ;
246};
247#line 26 "include/linux/stacktrace.h"
248struct lockdep_subclass_key {
249 char __one_byte ;
250};
251#line 53 "include/linux/lockdep.h"
252struct lock_class_key {
253 struct lockdep_subclass_key subkeys[8U] ;
254};
255#line 59 "include/linux/lockdep.h"
256struct lock_class {
257 struct list_head hash_entry ;
258 struct list_head lock_entry ;
259 struct lockdep_subclass_key *key ;
260 unsigned int subclass ;
261 unsigned int dep_gen_id ;
262 unsigned long usage_mask ;
263 struct stack_trace usage_traces[13U] ;
264 struct list_head locks_after ;
265 struct list_head locks_before ;
266 unsigned int version ;
267 unsigned long ops ;
268 char const *name ;
269 int name_version ;
270 unsigned long contention_point[4U] ;
271 unsigned long contending_point[4U] ;
272};
273#line 144 "include/linux/lockdep.h"
274struct lockdep_map {
275 struct lock_class_key *key ;
276 struct lock_class *class_cache[2U] ;
277 char const *name ;
278 int cpu ;
279 unsigned long ip ;
280};
281#line 556 "include/linux/lockdep.h"
282struct raw_spinlock {
283 arch_spinlock_t raw_lock ;
284 unsigned int magic ;
285 unsigned int owner_cpu ;
286 void *owner ;
287 struct lockdep_map dep_map ;
288};
289#line 32 "include/linux/spinlock_types.h"
290typedef struct raw_spinlock raw_spinlock_t;
291#line 33 "include/linux/spinlock_types.h"
292struct __anonstruct_ldv_6122_33 {
293 u8 __padding[24U] ;
294 struct lockdep_map dep_map ;
295};
296#line 33 "include/linux/spinlock_types.h"
297union __anonunion_ldv_6123_32 {
298 struct raw_spinlock rlock ;
299 struct __anonstruct_ldv_6122_33 ldv_6122 ;
300};
301#line 33 "include/linux/spinlock_types.h"
302struct spinlock {
303 union __anonunion_ldv_6123_32 ldv_6123 ;
304};
305#line 76 "include/linux/spinlock_types.h"
306typedef struct spinlock spinlock_t;
307#line 23 "include/linux/rwlock_types.h"
308struct __anonstruct_rwlock_t_34 {
309 arch_rwlock_t raw_lock ;
310 unsigned int magic ;
311 unsigned int owner_cpu ;
312 void *owner ;
313 struct lockdep_map dep_map ;
314};
315#line 23 "include/linux/rwlock_types.h"
316typedef struct __anonstruct_rwlock_t_34 rwlock_t;
317#line 110 "include/linux/seqlock.h"
318struct seqcount {
319 unsigned int sequence ;
320};
321#line 121 "include/linux/seqlock.h"
322typedef struct seqcount seqcount_t;
323#line 254 "include/linux/seqlock.h"
324struct timespec {
325 __kernel_time_t tv_sec ;
326 long tv_nsec ;
327};
328#line 286 "include/linux/time.h"
329struct kstat {
330 u64 ino ;
331 dev_t dev ;
332 umode_t mode ;
333 unsigned int nlink ;
334 uid_t uid ;
335 gid_t gid ;
336 dev_t rdev ;
337 loff_t size ;
338 struct timespec atime ;
339 struct timespec mtime ;
340 struct timespec ctime ;
341 unsigned long blksize ;
342 unsigned long long blocks ;
343};
344#line 48 "include/linux/wait.h"
345struct __wait_queue_head {
346 spinlock_t lock ;
347 struct list_head task_list ;
348};
349#line 53 "include/linux/wait.h"
350typedef struct __wait_queue_head wait_queue_head_t;
351#line 98 "include/linux/nodemask.h"
352struct __anonstruct_nodemask_t_36 {
353 unsigned long bits[16U] ;
354};
355#line 98 "include/linux/nodemask.h"
356typedef struct __anonstruct_nodemask_t_36 nodemask_t;
357#line 670 "include/linux/mmzone.h"
358struct mutex {
359 atomic_t count ;
360 spinlock_t wait_lock ;
361 struct list_head wait_list ;
362 struct task_struct *owner ;
363 char const *name ;
364 void *magic ;
365 struct lockdep_map dep_map ;
366};
367#line 171 "include/linux/mutex.h"
368struct rw_semaphore;
369#line 171
370struct rw_semaphore;
371#line 172 "include/linux/mutex.h"
372struct rw_semaphore {
373 long count ;
374 raw_spinlock_t wait_lock ;
375 struct list_head wait_list ;
376 struct lockdep_map dep_map ;
377};
378#line 128 "include/linux/rwsem.h"
379struct completion {
380 unsigned int done ;
381 wait_queue_head_t wait ;
382};
383#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
384struct resource {
385 resource_size_t start ;
386 resource_size_t end ;
387 char const *name ;
388 unsigned long flags ;
389 struct resource *parent ;
390 struct resource *sibling ;
391 struct resource *child ;
392};
393#line 312 "include/linux/jiffies.h"
394union ktime {
395 s64 tv64 ;
396};
397#line 59 "include/linux/ktime.h"
398typedef union ktime ktime_t;
399#line 341
400struct tvec_base;
401#line 341
402struct tvec_base;
403#line 342 "include/linux/ktime.h"
404struct timer_list {
405 struct list_head entry ;
406 unsigned long expires ;
407 struct tvec_base *base ;
408 void (*function)(unsigned long ) ;
409 unsigned long data ;
410 int slack ;
411 int start_pid ;
412 void *start_site ;
413 char start_comm[16U] ;
414 struct lockdep_map lockdep_map ;
415};
416#line 302 "include/linux/timer.h"
417struct work_struct;
418#line 302
419struct work_struct;
420#line 45 "include/linux/workqueue.h"
421struct work_struct {
422 atomic_long_t data ;
423 struct list_head entry ;
424 void (*func)(struct work_struct * ) ;
425 struct lockdep_map lockdep_map ;
426};
427#line 46 "include/linux/pm.h"
428struct pm_message {
429 int event ;
430};
431#line 52 "include/linux/pm.h"
432typedef struct pm_message pm_message_t;
433#line 53 "include/linux/pm.h"
434struct dev_pm_ops {
435 int (*prepare)(struct device * ) ;
436 void (*complete)(struct device * ) ;
437 int (*suspend)(struct device * ) ;
438 int (*resume)(struct device * ) ;
439 int (*freeze)(struct device * ) ;
440 int (*thaw)(struct device * ) ;
441 int (*poweroff)(struct device * ) ;
442 int (*restore)(struct device * ) ;
443 int (*suspend_late)(struct device * ) ;
444 int (*resume_early)(struct device * ) ;
445 int (*freeze_late)(struct device * ) ;
446 int (*thaw_early)(struct device * ) ;
447 int (*poweroff_late)(struct device * ) ;
448 int (*restore_early)(struct device * ) ;
449 int (*suspend_noirq)(struct device * ) ;
450 int (*resume_noirq)(struct device * ) ;
451 int (*freeze_noirq)(struct device * ) ;
452 int (*thaw_noirq)(struct device * ) ;
453 int (*poweroff_noirq)(struct device * ) ;
454 int (*restore_noirq)(struct device * ) ;
455 int (*runtime_suspend)(struct device * ) ;
456 int (*runtime_resume)(struct device * ) ;
457 int (*runtime_idle)(struct device * ) ;
458};
459#line 289
460enum rpm_status {
461 RPM_ACTIVE = 0,
462 RPM_RESUMING = 1,
463 RPM_SUSPENDED = 2,
464 RPM_SUSPENDING = 3
465} ;
466#line 296
467enum rpm_request {
468 RPM_REQ_NONE = 0,
469 RPM_REQ_IDLE = 1,
470 RPM_REQ_SUSPEND = 2,
471 RPM_REQ_AUTOSUSPEND = 3,
472 RPM_REQ_RESUME = 4
473} ;
474#line 304
475struct wakeup_source;
476#line 304
477struct wakeup_source;
478#line 494 "include/linux/pm.h"
479struct pm_subsys_data {
480 spinlock_t lock ;
481 unsigned int refcount ;
482};
483#line 499
484struct dev_pm_qos_request;
485#line 499
486struct pm_qos_constraints;
487#line 499 "include/linux/pm.h"
488struct dev_pm_info {
489 pm_message_t power_state ;
490 unsigned char can_wakeup : 1 ;
491 unsigned char async_suspend : 1 ;
492 bool is_prepared ;
493 bool is_suspended ;
494 bool ignore_children ;
495 spinlock_t lock ;
496 struct list_head entry ;
497 struct completion completion ;
498 struct wakeup_source *wakeup ;
499 bool wakeup_path ;
500 struct timer_list suspend_timer ;
501 unsigned long timer_expires ;
502 struct work_struct work ;
503 wait_queue_head_t wait_queue ;
504 atomic_t usage_count ;
505 atomic_t child_count ;
506 unsigned char disable_depth : 3 ;
507 unsigned char idle_notification : 1 ;
508 unsigned char request_pending : 1 ;
509 unsigned char deferred_resume : 1 ;
510 unsigned char run_wake : 1 ;
511 unsigned char runtime_auto : 1 ;
512 unsigned char no_callbacks : 1 ;
513 unsigned char irq_safe : 1 ;
514 unsigned char use_autosuspend : 1 ;
515 unsigned char timer_autosuspends : 1 ;
516 enum rpm_request request ;
517 enum rpm_status runtime_status ;
518 int runtime_error ;
519 int autosuspend_delay ;
520 unsigned long last_busy ;
521 unsigned long active_jiffies ;
522 unsigned long suspended_jiffies ;
523 unsigned long accounting_timestamp ;
524 ktime_t suspend_time ;
525 s64 max_time_suspended_ns ;
526 struct dev_pm_qos_request *pq_req ;
527 struct pm_subsys_data *subsys_data ;
528 struct pm_qos_constraints *constraints ;
529};
530#line 558 "include/linux/pm.h"
531struct dev_pm_domain {
532 struct dev_pm_ops ops ;
533};
534#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
535struct __anonstruct_mm_context_t_101 {
536 void *ldt ;
537 int size ;
538 unsigned short ia32_compat ;
539 struct mutex lock ;
540 void *vdso ;
541};
542#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
543typedef struct __anonstruct_mm_context_t_101 mm_context_t;
544#line 18 "include/asm-generic/pci_iomap.h"
545struct vm_area_struct;
546#line 18
547struct vm_area_struct;
548#line 835 "include/linux/sysctl.h"
549struct rb_node {
550 unsigned long rb_parent_color ;
551 struct rb_node *rb_right ;
552 struct rb_node *rb_left ;
553};
554#line 108 "include/linux/rbtree.h"
555struct rb_root {
556 struct rb_node *rb_node ;
557};
558#line 37 "include/linux/kmod.h"
559struct cred;
560#line 37
561struct cred;
562#line 18 "include/linux/elf.h"
563typedef __u64 Elf64_Addr;
564#line 19 "include/linux/elf.h"
565typedef __u16 Elf64_Half;
566#line 23 "include/linux/elf.h"
567typedef __u32 Elf64_Word;
568#line 24 "include/linux/elf.h"
569typedef __u64 Elf64_Xword;
570#line 193 "include/linux/elf.h"
571struct elf64_sym {
572 Elf64_Word st_name ;
573 unsigned char st_info ;
574 unsigned char st_other ;
575 Elf64_Half st_shndx ;
576 Elf64_Addr st_value ;
577 Elf64_Xword st_size ;
578};
579#line 201 "include/linux/elf.h"
580typedef struct elf64_sym Elf64_Sym;
581#line 445
582struct sock;
583#line 445
584struct sock;
585#line 446
586struct kobject;
587#line 446
588struct kobject;
589#line 447
590enum kobj_ns_type {
591 KOBJ_NS_TYPE_NONE = 0,
592 KOBJ_NS_TYPE_NET = 1,
593 KOBJ_NS_TYPES = 2
594} ;
595#line 453 "include/linux/elf.h"
596struct kobj_ns_type_operations {
597 enum kobj_ns_type type ;
598 void *(*grab_current_ns)(void) ;
599 void const *(*netlink_ns)(struct sock * ) ;
600 void const *(*initial_ns)(void) ;
601 void (*drop_ns)(void * ) ;
602};
603#line 57 "include/linux/kobject_ns.h"
604struct attribute {
605 char const *name ;
606 umode_t mode ;
607 struct lock_class_key *key ;
608 struct lock_class_key skey ;
609};
610#line 33 "include/linux/sysfs.h"
611struct attribute_group {
612 char const *name ;
613 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
614 struct attribute **attrs ;
615};
616#line 62 "include/linux/sysfs.h"
617struct bin_attribute {
618 struct attribute attr ;
619 size_t size ;
620 void *private ;
621 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
622 loff_t , size_t ) ;
623 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
624 loff_t , size_t ) ;
625 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
626};
627#line 98 "include/linux/sysfs.h"
628struct sysfs_ops {
629 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
630 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
631 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
632};
633#line 117
634struct sysfs_dirent;
635#line 117
636struct sysfs_dirent;
637#line 182 "include/linux/sysfs.h"
638struct kref {
639 atomic_t refcount ;
640};
641#line 49 "include/linux/kobject.h"
642struct kset;
643#line 49
644struct kobj_type;
645#line 49 "include/linux/kobject.h"
646struct kobject {
647 char const *name ;
648 struct list_head entry ;
649 struct kobject *parent ;
650 struct kset *kset ;
651 struct kobj_type *ktype ;
652 struct sysfs_dirent *sd ;
653 struct kref kref ;
654 unsigned char state_initialized : 1 ;
655 unsigned char state_in_sysfs : 1 ;
656 unsigned char state_add_uevent_sent : 1 ;
657 unsigned char state_remove_uevent_sent : 1 ;
658 unsigned char uevent_suppress : 1 ;
659};
660#line 107 "include/linux/kobject.h"
661struct kobj_type {
662 void (*release)(struct kobject * ) ;
663 struct sysfs_ops const *sysfs_ops ;
664 struct attribute **default_attrs ;
665 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
666 void const *(*namespace)(struct kobject * ) ;
667};
668#line 115 "include/linux/kobject.h"
669struct kobj_uevent_env {
670 char *envp[32U] ;
671 int envp_idx ;
672 char buf[2048U] ;
673 int buflen ;
674};
675#line 122 "include/linux/kobject.h"
676struct kset_uevent_ops {
677 int (* const filter)(struct kset * , struct kobject * ) ;
678 char const *(* const name)(struct kset * , struct kobject * ) ;
679 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
680};
681#line 139 "include/linux/kobject.h"
682struct kset {
683 struct list_head list ;
684 spinlock_t list_lock ;
685 struct kobject kobj ;
686 struct kset_uevent_ops const *uevent_ops ;
687};
688#line 215
689struct kernel_param;
690#line 215
691struct kernel_param;
692#line 216 "include/linux/kobject.h"
693struct kernel_param_ops {
694 int (*set)(char const * , struct kernel_param const * ) ;
695 int (*get)(char * , struct kernel_param const * ) ;
696 void (*free)(void * ) ;
697};
698#line 49 "include/linux/moduleparam.h"
699struct kparam_string;
700#line 49
701struct kparam_array;
702#line 49 "include/linux/moduleparam.h"
703union __anonunion_ldv_13363_134 {
704 void *arg ;
705 struct kparam_string const *str ;
706 struct kparam_array const *arr ;
707};
708#line 49 "include/linux/moduleparam.h"
709struct kernel_param {
710 char const *name ;
711 struct kernel_param_ops const *ops ;
712 u16 perm ;
713 s16 level ;
714 union __anonunion_ldv_13363_134 ldv_13363 ;
715};
716#line 61 "include/linux/moduleparam.h"
717struct kparam_string {
718 unsigned int maxlen ;
719 char *string ;
720};
721#line 67 "include/linux/moduleparam.h"
722struct kparam_array {
723 unsigned int max ;
724 unsigned int elemsize ;
725 unsigned int *num ;
726 struct kernel_param_ops const *ops ;
727 void *elem ;
728};
729#line 458 "include/linux/moduleparam.h"
730struct static_key {
731 atomic_t enabled ;
732};
733#line 225 "include/linux/jump_label.h"
734struct tracepoint;
735#line 225
736struct tracepoint;
737#line 226 "include/linux/jump_label.h"
738struct tracepoint_func {
739 void *func ;
740 void *data ;
741};
742#line 29 "include/linux/tracepoint.h"
743struct tracepoint {
744 char const *name ;
745 struct static_key key ;
746 void (*regfunc)(void) ;
747 void (*unregfunc)(void) ;
748 struct tracepoint_func *funcs ;
749};
750#line 86 "include/linux/tracepoint.h"
751struct kernel_symbol {
752 unsigned long value ;
753 char const *name ;
754};
755#line 27 "include/linux/export.h"
756struct mod_arch_specific {
757
758};
759#line 34 "include/linux/module.h"
760struct module_param_attrs;
761#line 34 "include/linux/module.h"
762struct module_kobject {
763 struct kobject kobj ;
764 struct module *mod ;
765 struct kobject *drivers_dir ;
766 struct module_param_attrs *mp ;
767};
768#line 43 "include/linux/module.h"
769struct module_attribute {
770 struct attribute attr ;
771 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
772 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
773 size_t ) ;
774 void (*setup)(struct module * , char const * ) ;
775 int (*test)(struct module * ) ;
776 void (*free)(struct module * ) ;
777};
778#line 69
779struct exception_table_entry;
780#line 69
781struct exception_table_entry;
782#line 198
783enum module_state {
784 MODULE_STATE_LIVE = 0,
785 MODULE_STATE_COMING = 1,
786 MODULE_STATE_GOING = 2
787} ;
788#line 204 "include/linux/module.h"
789struct module_ref {
790 unsigned long incs ;
791 unsigned long decs ;
792};
793#line 219
794struct module_sect_attrs;
795#line 219
796struct module_notes_attrs;
797#line 219
798struct ftrace_event_call;
799#line 219 "include/linux/module.h"
800struct module {
801 enum module_state state ;
802 struct list_head list ;
803 char name[56U] ;
804 struct module_kobject mkobj ;
805 struct module_attribute *modinfo_attrs ;
806 char const *version ;
807 char const *srcversion ;
808 struct kobject *holders_dir ;
809 struct kernel_symbol const *syms ;
810 unsigned long const *crcs ;
811 unsigned int num_syms ;
812 struct kernel_param *kp ;
813 unsigned int num_kp ;
814 unsigned int num_gpl_syms ;
815 struct kernel_symbol const *gpl_syms ;
816 unsigned long const *gpl_crcs ;
817 struct kernel_symbol const *unused_syms ;
818 unsigned long const *unused_crcs ;
819 unsigned int num_unused_syms ;
820 unsigned int num_unused_gpl_syms ;
821 struct kernel_symbol const *unused_gpl_syms ;
822 unsigned long const *unused_gpl_crcs ;
823 struct kernel_symbol const *gpl_future_syms ;
824 unsigned long const *gpl_future_crcs ;
825 unsigned int num_gpl_future_syms ;
826 unsigned int num_exentries ;
827 struct exception_table_entry *extable ;
828 int (*init)(void) ;
829 void *module_init ;
830 void *module_core ;
831 unsigned int init_size ;
832 unsigned int core_size ;
833 unsigned int init_text_size ;
834 unsigned int core_text_size ;
835 unsigned int init_ro_size ;
836 unsigned int core_ro_size ;
837 struct mod_arch_specific arch ;
838 unsigned int taints ;
839 unsigned int num_bugs ;
840 struct list_head bug_list ;
841 struct bug_entry *bug_table ;
842 Elf64_Sym *symtab ;
843 Elf64_Sym *core_symtab ;
844 unsigned int num_symtab ;
845 unsigned int core_num_syms ;
846 char *strtab ;
847 char *core_strtab ;
848 struct module_sect_attrs *sect_attrs ;
849 struct module_notes_attrs *notes_attrs ;
850 char *args ;
851 void *percpu ;
852 unsigned int percpu_size ;
853 unsigned int num_tracepoints ;
854 struct tracepoint * const *tracepoints_ptrs ;
855 unsigned int num_trace_bprintk_fmt ;
856 char const **trace_bprintk_fmt_start ;
857 struct ftrace_event_call **trace_events ;
858 unsigned int num_trace_events ;
859 struct list_head source_list ;
860 struct list_head target_list ;
861 struct task_struct *waiter ;
862 void (*exit)(void) ;
863 struct module_ref *refptr ;
864 ctor_fn_t (**ctors)(void) ;
865 unsigned int num_ctors ;
866};
867#line 88 "include/linux/kmemleak.h"
868struct kmem_cache_cpu {
869 void **freelist ;
870 unsigned long tid ;
871 struct page *page ;
872 struct page *partial ;
873 int node ;
874 unsigned int stat[26U] ;
875};
876#line 55 "include/linux/slub_def.h"
877struct kmem_cache_node {
878 spinlock_t list_lock ;
879 unsigned long nr_partial ;
880 struct list_head partial ;
881 atomic_long_t nr_slabs ;
882 atomic_long_t total_objects ;
883 struct list_head full ;
884};
885#line 66 "include/linux/slub_def.h"
886struct kmem_cache_order_objects {
887 unsigned long x ;
888};
889#line 76 "include/linux/slub_def.h"
890struct kmem_cache {
891 struct kmem_cache_cpu *cpu_slab ;
892 unsigned long flags ;
893 unsigned long min_partial ;
894 int size ;
895 int objsize ;
896 int offset ;
897 int cpu_partial ;
898 struct kmem_cache_order_objects oo ;
899 struct kmem_cache_order_objects max ;
900 struct kmem_cache_order_objects min ;
901 gfp_t allocflags ;
902 int refcount ;
903 void (*ctor)(void * ) ;
904 int inuse ;
905 int align ;
906 int reserved ;
907 char const *name ;
908 struct list_head list ;
909 struct kobject kobj ;
910 int remote_node_defrag_ratio ;
911 struct kmem_cache_node *node[1024U] ;
912};
913#line 18 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
914struct block_device;
915#line 18
916struct block_device;
917#line 93 "include/linux/bit_spinlock.h"
918struct hlist_bl_node;
919#line 93 "include/linux/bit_spinlock.h"
920struct hlist_bl_head {
921 struct hlist_bl_node *first ;
922};
923#line 36 "include/linux/list_bl.h"
924struct hlist_bl_node {
925 struct hlist_bl_node *next ;
926 struct hlist_bl_node **pprev ;
927};
928#line 114 "include/linux/rculist_bl.h"
929struct nameidata;
930#line 114
931struct nameidata;
932#line 115
933struct path;
934#line 115
935struct path;
936#line 116
937struct vfsmount;
938#line 116
939struct vfsmount;
940#line 117 "include/linux/rculist_bl.h"
941struct qstr {
942 unsigned int hash ;
943 unsigned int len ;
944 unsigned char const *name ;
945};
946#line 72 "include/linux/dcache.h"
947struct inode;
948#line 72
949struct dentry_operations;
950#line 72
951struct super_block;
952#line 72 "include/linux/dcache.h"
953union __anonunion_d_u_135 {
954 struct list_head d_child ;
955 struct rcu_head d_rcu ;
956};
957#line 72 "include/linux/dcache.h"
958struct dentry {
959 unsigned int d_flags ;
960 seqcount_t d_seq ;
961 struct hlist_bl_node d_hash ;
962 struct dentry *d_parent ;
963 struct qstr d_name ;
964 struct inode *d_inode ;
965 unsigned char d_iname[32U] ;
966 unsigned int d_count ;
967 spinlock_t d_lock ;
968 struct dentry_operations const *d_op ;
969 struct super_block *d_sb ;
970 unsigned long d_time ;
971 void *d_fsdata ;
972 struct list_head d_lru ;
973 union __anonunion_d_u_135 d_u ;
974 struct list_head d_subdirs ;
975 struct list_head d_alias ;
976};
977#line 123 "include/linux/dcache.h"
978struct dentry_operations {
979 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
980 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
981 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
982 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
983 int (*d_delete)(struct dentry const * ) ;
984 void (*d_release)(struct dentry * ) ;
985 void (*d_prune)(struct dentry * ) ;
986 void (*d_iput)(struct dentry * , struct inode * ) ;
987 char *(*d_dname)(struct dentry * , char * , int ) ;
988 struct vfsmount *(*d_automount)(struct path * ) ;
989 int (*d_manage)(struct dentry * , bool ) ;
990};
991#line 402 "include/linux/dcache.h"
992struct path {
993 struct vfsmount *mnt ;
994 struct dentry *dentry ;
995};
996#line 58 "include/linux/radix-tree.h"
997struct radix_tree_node;
998#line 58 "include/linux/radix-tree.h"
999struct radix_tree_root {
1000 unsigned int height ;
1001 gfp_t gfp_mask ;
1002 struct radix_tree_node *rnode ;
1003};
1004#line 377
1005struct prio_tree_node;
1006#line 377 "include/linux/radix-tree.h"
1007struct raw_prio_tree_node {
1008 struct prio_tree_node *left ;
1009 struct prio_tree_node *right ;
1010 struct prio_tree_node *parent ;
1011};
1012#line 19 "include/linux/prio_tree.h"
1013struct prio_tree_node {
1014 struct prio_tree_node *left ;
1015 struct prio_tree_node *right ;
1016 struct prio_tree_node *parent ;
1017 unsigned long start ;
1018 unsigned long last ;
1019};
1020#line 27 "include/linux/prio_tree.h"
1021struct prio_tree_root {
1022 struct prio_tree_node *prio_tree_node ;
1023 unsigned short index_bits ;
1024 unsigned short raw ;
1025};
1026#line 111
1027enum pid_type {
1028 PIDTYPE_PID = 0,
1029 PIDTYPE_PGID = 1,
1030 PIDTYPE_SID = 2,
1031 PIDTYPE_MAX = 3
1032} ;
1033#line 118
1034struct pid_namespace;
1035#line 118 "include/linux/prio_tree.h"
1036struct upid {
1037 int nr ;
1038 struct pid_namespace *ns ;
1039 struct hlist_node pid_chain ;
1040};
1041#line 56 "include/linux/pid.h"
1042struct pid {
1043 atomic_t count ;
1044 unsigned int level ;
1045 struct hlist_head tasks[3U] ;
1046 struct rcu_head rcu ;
1047 struct upid numbers[1U] ;
1048};
1049#line 45 "include/linux/semaphore.h"
1050struct fiemap_extent {
1051 __u64 fe_logical ;
1052 __u64 fe_physical ;
1053 __u64 fe_length ;
1054 __u64 fe_reserved64[2U] ;
1055 __u32 fe_flags ;
1056 __u32 fe_reserved[3U] ;
1057};
1058#line 38 "include/linux/fiemap.h"
1059struct shrink_control {
1060 gfp_t gfp_mask ;
1061 unsigned long nr_to_scan ;
1062};
1063#line 14 "include/linux/shrinker.h"
1064struct shrinker {
1065 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1066 int seeks ;
1067 long batch ;
1068 struct list_head list ;
1069 atomic_long_t nr_in_batch ;
1070};
1071#line 43
1072enum migrate_mode {
1073 MIGRATE_ASYNC = 0,
1074 MIGRATE_SYNC_LIGHT = 1,
1075 MIGRATE_SYNC = 2
1076} ;
1077#line 49
1078struct export_operations;
1079#line 49
1080struct export_operations;
1081#line 51
1082struct iovec;
1083#line 51
1084struct iovec;
1085#line 52
1086struct kiocb;
1087#line 52
1088struct kiocb;
1089#line 53
1090struct pipe_inode_info;
1091#line 53
1092struct pipe_inode_info;
1093#line 54
1094struct poll_table_struct;
1095#line 54
1096struct poll_table_struct;
1097#line 55
1098struct kstatfs;
1099#line 55
1100struct kstatfs;
1101#line 435 "include/linux/fs.h"
1102struct iattr {
1103 unsigned int ia_valid ;
1104 umode_t ia_mode ;
1105 uid_t ia_uid ;
1106 gid_t ia_gid ;
1107 loff_t ia_size ;
1108 struct timespec ia_atime ;
1109 struct timespec ia_mtime ;
1110 struct timespec ia_ctime ;
1111 struct file *ia_file ;
1112};
1113#line 119 "include/linux/quota.h"
1114struct if_dqinfo {
1115 __u64 dqi_bgrace ;
1116 __u64 dqi_igrace ;
1117 __u32 dqi_flags ;
1118 __u32 dqi_valid ;
1119};
1120#line 176 "include/linux/percpu_counter.h"
1121struct fs_disk_quota {
1122 __s8 d_version ;
1123 __s8 d_flags ;
1124 __u16 d_fieldmask ;
1125 __u32 d_id ;
1126 __u64 d_blk_hardlimit ;
1127 __u64 d_blk_softlimit ;
1128 __u64 d_ino_hardlimit ;
1129 __u64 d_ino_softlimit ;
1130 __u64 d_bcount ;
1131 __u64 d_icount ;
1132 __s32 d_itimer ;
1133 __s32 d_btimer ;
1134 __u16 d_iwarns ;
1135 __u16 d_bwarns ;
1136 __s32 d_padding2 ;
1137 __u64 d_rtb_hardlimit ;
1138 __u64 d_rtb_softlimit ;
1139 __u64 d_rtbcount ;
1140 __s32 d_rtbtimer ;
1141 __u16 d_rtbwarns ;
1142 __s16 d_padding3 ;
1143 char d_padding4[8U] ;
1144};
1145#line 75 "include/linux/dqblk_xfs.h"
1146struct fs_qfilestat {
1147 __u64 qfs_ino ;
1148 __u64 qfs_nblks ;
1149 __u32 qfs_nextents ;
1150};
1151#line 150 "include/linux/dqblk_xfs.h"
1152typedef struct fs_qfilestat fs_qfilestat_t;
1153#line 151 "include/linux/dqblk_xfs.h"
1154struct fs_quota_stat {
1155 __s8 qs_version ;
1156 __u16 qs_flags ;
1157 __s8 qs_pad ;
1158 fs_qfilestat_t qs_uquota ;
1159 fs_qfilestat_t qs_gquota ;
1160 __u32 qs_incoredqs ;
1161 __s32 qs_btimelimit ;
1162 __s32 qs_itimelimit ;
1163 __s32 qs_rtbtimelimit ;
1164 __u16 qs_bwarnlimit ;
1165 __u16 qs_iwarnlimit ;
1166};
1167#line 165
1168struct dquot;
1169#line 165
1170struct dquot;
1171#line 185 "include/linux/quota.h"
1172typedef __kernel_uid32_t qid_t;
1173#line 186 "include/linux/quota.h"
1174typedef long long qsize_t;
1175#line 189 "include/linux/quota.h"
1176struct mem_dqblk {
1177 qsize_t dqb_bhardlimit ;
1178 qsize_t dqb_bsoftlimit ;
1179 qsize_t dqb_curspace ;
1180 qsize_t dqb_rsvspace ;
1181 qsize_t dqb_ihardlimit ;
1182 qsize_t dqb_isoftlimit ;
1183 qsize_t dqb_curinodes ;
1184 time_t dqb_btime ;
1185 time_t dqb_itime ;
1186};
1187#line 211
1188struct quota_format_type;
1189#line 211
1190struct quota_format_type;
1191#line 212 "include/linux/quota.h"
1192struct mem_dqinfo {
1193 struct quota_format_type *dqi_format ;
1194 int dqi_fmt_id ;
1195 struct list_head dqi_dirty_list ;
1196 unsigned long dqi_flags ;
1197 unsigned int dqi_bgrace ;
1198 unsigned int dqi_igrace ;
1199 qsize_t dqi_maxblimit ;
1200 qsize_t dqi_maxilimit ;
1201 void *dqi_priv ;
1202};
1203#line 275 "include/linux/quota.h"
1204struct dquot {
1205 struct hlist_node dq_hash ;
1206 struct list_head dq_inuse ;
1207 struct list_head dq_free ;
1208 struct list_head dq_dirty ;
1209 struct mutex dq_lock ;
1210 atomic_t dq_count ;
1211 wait_queue_head_t dq_wait_unused ;
1212 struct super_block *dq_sb ;
1213 unsigned int dq_id ;
1214 loff_t dq_off ;
1215 unsigned long dq_flags ;
1216 short dq_type ;
1217 struct mem_dqblk dq_dqb ;
1218};
1219#line 303 "include/linux/quota.h"
1220struct quota_format_ops {
1221 int (*check_quota_file)(struct super_block * , int ) ;
1222 int (*read_file_info)(struct super_block * , int ) ;
1223 int (*write_file_info)(struct super_block * , int ) ;
1224 int (*free_file_info)(struct super_block * , int ) ;
1225 int (*read_dqblk)(struct dquot * ) ;
1226 int (*commit_dqblk)(struct dquot * ) ;
1227 int (*release_dqblk)(struct dquot * ) ;
1228};
1229#line 314 "include/linux/quota.h"
1230struct dquot_operations {
1231 int (*write_dquot)(struct dquot * ) ;
1232 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1233 void (*destroy_dquot)(struct dquot * ) ;
1234 int (*acquire_dquot)(struct dquot * ) ;
1235 int (*release_dquot)(struct dquot * ) ;
1236 int (*mark_dirty)(struct dquot * ) ;
1237 int (*write_info)(struct super_block * , int ) ;
1238 qsize_t *(*get_reserved_space)(struct inode * ) ;
1239};
1240#line 328 "include/linux/quota.h"
1241struct quotactl_ops {
1242 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1243 int (*quota_on_meta)(struct super_block * , int , int ) ;
1244 int (*quota_off)(struct super_block * , int ) ;
1245 int (*quota_sync)(struct super_block * , int , int ) ;
1246 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1247 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1248 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1249 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1250 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1251 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1252};
1253#line 344 "include/linux/quota.h"
1254struct quota_format_type {
1255 int qf_fmt_id ;
1256 struct quota_format_ops const *qf_ops ;
1257 struct module *qf_owner ;
1258 struct quota_format_type *qf_next ;
1259};
1260#line 390 "include/linux/quota.h"
1261struct quota_info {
1262 unsigned int flags ;
1263 struct mutex dqio_mutex ;
1264 struct mutex dqonoff_mutex ;
1265 struct rw_semaphore dqptr_sem ;
1266 struct inode *files[2U] ;
1267 struct mem_dqinfo info[2U] ;
1268 struct quota_format_ops const *ops[2U] ;
1269};
1270#line 421
1271struct address_space;
1272#line 421
1273struct address_space;
1274#line 422
1275struct writeback_control;
1276#line 422
1277struct writeback_control;
1278#line 585 "include/linux/fs.h"
1279union __anonunion_arg_138 {
1280 char *buf ;
1281 void *data ;
1282};
1283#line 585 "include/linux/fs.h"
1284struct __anonstruct_read_descriptor_t_137 {
1285 size_t written ;
1286 size_t count ;
1287 union __anonunion_arg_138 arg ;
1288 int error ;
1289};
1290#line 585 "include/linux/fs.h"
1291typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1292#line 588 "include/linux/fs.h"
1293struct address_space_operations {
1294 int (*writepage)(struct page * , struct writeback_control * ) ;
1295 int (*readpage)(struct file * , struct page * ) ;
1296 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1297 int (*set_page_dirty)(struct page * ) ;
1298 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1299 unsigned int ) ;
1300 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1301 unsigned int , struct page ** , void ** ) ;
1302 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1303 unsigned int , struct page * , void * ) ;
1304 sector_t (*bmap)(struct address_space * , sector_t ) ;
1305 void (*invalidatepage)(struct page * , unsigned long ) ;
1306 int (*releasepage)(struct page * , gfp_t ) ;
1307 void (*freepage)(struct page * ) ;
1308 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1309 unsigned long ) ;
1310 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1311 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1312 int (*launder_page)(struct page * ) ;
1313 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1314 int (*error_remove_page)(struct address_space * , struct page * ) ;
1315};
1316#line 642
1317struct backing_dev_info;
1318#line 642
1319struct backing_dev_info;
1320#line 643 "include/linux/fs.h"
1321struct address_space {
1322 struct inode *host ;
1323 struct radix_tree_root page_tree ;
1324 spinlock_t tree_lock ;
1325 unsigned int i_mmap_writable ;
1326 struct prio_tree_root i_mmap ;
1327 struct list_head i_mmap_nonlinear ;
1328 struct mutex i_mmap_mutex ;
1329 unsigned long nrpages ;
1330 unsigned long writeback_index ;
1331 struct address_space_operations const *a_ops ;
1332 unsigned long flags ;
1333 struct backing_dev_info *backing_dev_info ;
1334 spinlock_t private_lock ;
1335 struct list_head private_list ;
1336 struct address_space *assoc_mapping ;
1337};
1338#line 664
1339struct request_queue;
1340#line 664
1341struct request_queue;
1342#line 665
1343struct hd_struct;
1344#line 665
1345struct gendisk;
1346#line 665 "include/linux/fs.h"
1347struct block_device {
1348 dev_t bd_dev ;
1349 int bd_openers ;
1350 struct inode *bd_inode ;
1351 struct super_block *bd_super ;
1352 struct mutex bd_mutex ;
1353 struct list_head bd_inodes ;
1354 void *bd_claiming ;
1355 void *bd_holder ;
1356 int bd_holders ;
1357 bool bd_write_holder ;
1358 struct list_head bd_holder_disks ;
1359 struct block_device *bd_contains ;
1360 unsigned int bd_block_size ;
1361 struct hd_struct *bd_part ;
1362 unsigned int bd_part_count ;
1363 int bd_invalidated ;
1364 struct gendisk *bd_disk ;
1365 struct request_queue *bd_queue ;
1366 struct list_head bd_list ;
1367 unsigned long bd_private ;
1368 int bd_fsfreeze_count ;
1369 struct mutex bd_fsfreeze_mutex ;
1370};
1371#line 737
1372struct posix_acl;
1373#line 737
1374struct posix_acl;
1375#line 738
1376struct inode_operations;
1377#line 738 "include/linux/fs.h"
1378union __anonunion_ldv_15748_139 {
1379 unsigned int const i_nlink ;
1380 unsigned int __i_nlink ;
1381};
1382#line 738 "include/linux/fs.h"
1383union __anonunion_ldv_15767_140 {
1384 struct list_head i_dentry ;
1385 struct rcu_head i_rcu ;
1386};
1387#line 738
1388struct file_operations;
1389#line 738
1390struct file_lock;
1391#line 738
1392struct cdev;
1393#line 738 "include/linux/fs.h"
1394union __anonunion_ldv_15785_141 {
1395 struct pipe_inode_info *i_pipe ;
1396 struct block_device *i_bdev ;
1397 struct cdev *i_cdev ;
1398};
1399#line 738 "include/linux/fs.h"
1400struct inode {
1401 umode_t i_mode ;
1402 unsigned short i_opflags ;
1403 uid_t i_uid ;
1404 gid_t i_gid ;
1405 unsigned int i_flags ;
1406 struct posix_acl *i_acl ;
1407 struct posix_acl *i_default_acl ;
1408 struct inode_operations const *i_op ;
1409 struct super_block *i_sb ;
1410 struct address_space *i_mapping ;
1411 void *i_security ;
1412 unsigned long i_ino ;
1413 union __anonunion_ldv_15748_139 ldv_15748 ;
1414 dev_t i_rdev ;
1415 struct timespec i_atime ;
1416 struct timespec i_mtime ;
1417 struct timespec i_ctime ;
1418 spinlock_t i_lock ;
1419 unsigned short i_bytes ;
1420 blkcnt_t i_blocks ;
1421 loff_t i_size ;
1422 unsigned long i_state ;
1423 struct mutex i_mutex ;
1424 unsigned long dirtied_when ;
1425 struct hlist_node i_hash ;
1426 struct list_head i_wb_list ;
1427 struct list_head i_lru ;
1428 struct list_head i_sb_list ;
1429 union __anonunion_ldv_15767_140 ldv_15767 ;
1430 atomic_t i_count ;
1431 unsigned int i_blkbits ;
1432 u64 i_version ;
1433 atomic_t i_dio_count ;
1434 atomic_t i_writecount ;
1435 struct file_operations const *i_fop ;
1436 struct file_lock *i_flock ;
1437 struct address_space i_data ;
1438 struct dquot *i_dquot[2U] ;
1439 struct list_head i_devices ;
1440 union __anonunion_ldv_15785_141 ldv_15785 ;
1441 __u32 i_generation ;
1442 __u32 i_fsnotify_mask ;
1443 struct hlist_head i_fsnotify_marks ;
1444 atomic_t i_readcount ;
1445 void *i_private ;
1446};
1447#line 941 "include/linux/fs.h"
1448struct fown_struct {
1449 rwlock_t lock ;
1450 struct pid *pid ;
1451 enum pid_type pid_type ;
1452 uid_t uid ;
1453 uid_t euid ;
1454 int signum ;
1455};
1456#line 949 "include/linux/fs.h"
1457struct file_ra_state {
1458 unsigned long start ;
1459 unsigned int size ;
1460 unsigned int async_size ;
1461 unsigned int ra_pages ;
1462 unsigned int mmap_miss ;
1463 loff_t prev_pos ;
1464};
1465#line 972 "include/linux/fs.h"
1466union __anonunion_f_u_142 {
1467 struct list_head fu_list ;
1468 struct rcu_head fu_rcuhead ;
1469};
1470#line 972 "include/linux/fs.h"
1471struct file {
1472 union __anonunion_f_u_142 f_u ;
1473 struct path f_path ;
1474 struct file_operations const *f_op ;
1475 spinlock_t f_lock ;
1476 int f_sb_list_cpu ;
1477 atomic_long_t f_count ;
1478 unsigned int f_flags ;
1479 fmode_t f_mode ;
1480 loff_t f_pos ;
1481 struct fown_struct f_owner ;
1482 struct cred const *f_cred ;
1483 struct file_ra_state f_ra ;
1484 u64 f_version ;
1485 void *f_security ;
1486 void *private_data ;
1487 struct list_head f_ep_links ;
1488 struct list_head f_tfile_llink ;
1489 struct address_space *f_mapping ;
1490 unsigned long f_mnt_write_state ;
1491};
1492#line 1111
1493struct files_struct;
1494#line 1111 "include/linux/fs.h"
1495typedef struct files_struct *fl_owner_t;
1496#line 1112 "include/linux/fs.h"
1497struct file_lock_operations {
1498 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1499 void (*fl_release_private)(struct file_lock * ) ;
1500};
1501#line 1117 "include/linux/fs.h"
1502struct lock_manager_operations {
1503 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1504 void (*lm_notify)(struct file_lock * ) ;
1505 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1506 void (*lm_release_private)(struct file_lock * ) ;
1507 void (*lm_break)(struct file_lock * ) ;
1508 int (*lm_change)(struct file_lock ** , int ) ;
1509};
1510#line 1134
1511struct nlm_lockowner;
1512#line 1134
1513struct nlm_lockowner;
1514#line 1135 "include/linux/fs.h"
1515struct nfs_lock_info {
1516 u32 state ;
1517 struct nlm_lockowner *owner ;
1518 struct list_head list ;
1519};
1520#line 14 "include/linux/nfs_fs_i.h"
1521struct nfs4_lock_state;
1522#line 14
1523struct nfs4_lock_state;
1524#line 15 "include/linux/nfs_fs_i.h"
1525struct nfs4_lock_info {
1526 struct nfs4_lock_state *owner ;
1527};
1528#line 19
1529struct fasync_struct;
1530#line 19 "include/linux/nfs_fs_i.h"
1531struct __anonstruct_afs_144 {
1532 struct list_head link ;
1533 int state ;
1534};
1535#line 19 "include/linux/nfs_fs_i.h"
1536union __anonunion_fl_u_143 {
1537 struct nfs_lock_info nfs_fl ;
1538 struct nfs4_lock_info nfs4_fl ;
1539 struct __anonstruct_afs_144 afs ;
1540};
1541#line 19 "include/linux/nfs_fs_i.h"
1542struct file_lock {
1543 struct file_lock *fl_next ;
1544 struct list_head fl_link ;
1545 struct list_head fl_block ;
1546 fl_owner_t fl_owner ;
1547 unsigned int fl_flags ;
1548 unsigned char fl_type ;
1549 unsigned int fl_pid ;
1550 struct pid *fl_nspid ;
1551 wait_queue_head_t fl_wait ;
1552 struct file *fl_file ;
1553 loff_t fl_start ;
1554 loff_t fl_end ;
1555 struct fasync_struct *fl_fasync ;
1556 unsigned long fl_break_time ;
1557 unsigned long fl_downgrade_time ;
1558 struct file_lock_operations const *fl_ops ;
1559 struct lock_manager_operations const *fl_lmops ;
1560 union __anonunion_fl_u_143 fl_u ;
1561};
1562#line 1221 "include/linux/fs.h"
1563struct fasync_struct {
1564 spinlock_t fa_lock ;
1565 int magic ;
1566 int fa_fd ;
1567 struct fasync_struct *fa_next ;
1568 struct file *fa_file ;
1569 struct rcu_head fa_rcu ;
1570};
1571#line 1417
1572struct file_system_type;
1573#line 1417
1574struct super_operations;
1575#line 1417
1576struct xattr_handler;
1577#line 1417
1578struct mtd_info;
1579#line 1417 "include/linux/fs.h"
1580struct super_block {
1581 struct list_head s_list ;
1582 dev_t s_dev ;
1583 unsigned char s_dirt ;
1584 unsigned char s_blocksize_bits ;
1585 unsigned long s_blocksize ;
1586 loff_t s_maxbytes ;
1587 struct file_system_type *s_type ;
1588 struct super_operations const *s_op ;
1589 struct dquot_operations const *dq_op ;
1590 struct quotactl_ops const *s_qcop ;
1591 struct export_operations const *s_export_op ;
1592 unsigned long s_flags ;
1593 unsigned long s_magic ;
1594 struct dentry *s_root ;
1595 struct rw_semaphore s_umount ;
1596 struct mutex s_lock ;
1597 int s_count ;
1598 atomic_t s_active ;
1599 void *s_security ;
1600 struct xattr_handler const **s_xattr ;
1601 struct list_head s_inodes ;
1602 struct hlist_bl_head s_anon ;
1603 struct list_head *s_files ;
1604 struct list_head s_mounts ;
1605 struct list_head s_dentry_lru ;
1606 int s_nr_dentry_unused ;
1607 spinlock_t s_inode_lru_lock ;
1608 struct list_head s_inode_lru ;
1609 int s_nr_inodes_unused ;
1610 struct block_device *s_bdev ;
1611 struct backing_dev_info *s_bdi ;
1612 struct mtd_info *s_mtd ;
1613 struct hlist_node s_instances ;
1614 struct quota_info s_dquot ;
1615 int s_frozen ;
1616 wait_queue_head_t s_wait_unfrozen ;
1617 char s_id[32U] ;
1618 u8 s_uuid[16U] ;
1619 void *s_fs_info ;
1620 unsigned int s_max_links ;
1621 fmode_t s_mode ;
1622 u32 s_time_gran ;
1623 struct mutex s_vfs_rename_mutex ;
1624 char *s_subtype ;
1625 char *s_options ;
1626 struct dentry_operations const *s_d_op ;
1627 int cleancache_poolid ;
1628 struct shrinker s_shrink ;
1629 atomic_long_t s_remove_count ;
1630 int s_readonly_remount ;
1631};
1632#line 1563 "include/linux/fs.h"
1633struct fiemap_extent_info {
1634 unsigned int fi_flags ;
1635 unsigned int fi_extents_mapped ;
1636 unsigned int fi_extents_max ;
1637 struct fiemap_extent *fi_extents_start ;
1638};
1639#line 1602 "include/linux/fs.h"
1640struct file_operations {
1641 struct module *owner ;
1642 loff_t (*llseek)(struct file * , loff_t , int ) ;
1643 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1644 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1645 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1646 loff_t ) ;
1647 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1648 loff_t ) ;
1649 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1650 loff_t , u64 , unsigned int ) ) ;
1651 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1652 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1653 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1654 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1655 int (*open)(struct inode * , struct file * ) ;
1656 int (*flush)(struct file * , fl_owner_t ) ;
1657 int (*release)(struct inode * , struct file * ) ;
1658 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1659 int (*aio_fsync)(struct kiocb * , int ) ;
1660 int (*fasync)(int , struct file * , int ) ;
1661 int (*lock)(struct file * , int , struct file_lock * ) ;
1662 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1663 int ) ;
1664 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1665 unsigned long , unsigned long ) ;
1666 int (*check_flags)(int ) ;
1667 int (*flock)(struct file * , int , struct file_lock * ) ;
1668 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1669 unsigned int ) ;
1670 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1671 unsigned int ) ;
1672 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1673 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1674};
1675#line 1637 "include/linux/fs.h"
1676struct inode_operations {
1677 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1678 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1679 int (*permission)(struct inode * , int ) ;
1680 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1681 int (*readlink)(struct dentry * , char * , int ) ;
1682 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1683 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1684 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1685 int (*unlink)(struct inode * , struct dentry * ) ;
1686 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1687 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1688 int (*rmdir)(struct inode * , struct dentry * ) ;
1689 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1690 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1691 void (*truncate)(struct inode * ) ;
1692 int (*setattr)(struct dentry * , struct iattr * ) ;
1693 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1694 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1695 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1696 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1697 int (*removexattr)(struct dentry * , char const * ) ;
1698 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1699 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
1700};
1701#line 1682 "include/linux/fs.h"
1702struct super_operations {
1703 struct inode *(*alloc_inode)(struct super_block * ) ;
1704 void (*destroy_inode)(struct inode * ) ;
1705 void (*dirty_inode)(struct inode * , int ) ;
1706 int (*write_inode)(struct inode * , struct writeback_control * ) ;
1707 int (*drop_inode)(struct inode * ) ;
1708 void (*evict_inode)(struct inode * ) ;
1709 void (*put_super)(struct super_block * ) ;
1710 void (*write_super)(struct super_block * ) ;
1711 int (*sync_fs)(struct super_block * , int ) ;
1712 int (*freeze_fs)(struct super_block * ) ;
1713 int (*unfreeze_fs)(struct super_block * ) ;
1714 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1715 int (*remount_fs)(struct super_block * , int * , char * ) ;
1716 void (*umount_begin)(struct super_block * ) ;
1717 int (*show_options)(struct seq_file * , struct dentry * ) ;
1718 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1719 int (*show_path)(struct seq_file * , struct dentry * ) ;
1720 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1721 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1722 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1723 loff_t ) ;
1724 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1725 int (*nr_cached_objects)(struct super_block * ) ;
1726 void (*free_cached_objects)(struct super_block * , int ) ;
1727};
1728#line 1834 "include/linux/fs.h"
1729struct file_system_type {
1730 char const *name ;
1731 int fs_flags ;
1732 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1733 void (*kill_sb)(struct super_block * ) ;
1734 struct module *owner ;
1735 struct file_system_type *next ;
1736 struct hlist_head fs_supers ;
1737 struct lock_class_key s_lock_key ;
1738 struct lock_class_key s_umount_key ;
1739 struct lock_class_key s_vfs_rename_key ;
1740 struct lock_class_key i_lock_key ;
1741 struct lock_class_key i_mutex_key ;
1742 struct lock_class_key i_mutex_dir_key ;
1743};
1744#line 215 "include/linux/mod_devicetable.h"
1745struct of_device_id {
1746 char name[32U] ;
1747 char type[32U] ;
1748 char compatible[128U] ;
1749 void *data ;
1750};
1751#line 584
1752struct klist_node;
1753#line 584
1754struct klist_node;
1755#line 37 "include/linux/klist.h"
1756struct klist_node {
1757 void *n_klist ;
1758 struct list_head n_node ;
1759 struct kref n_ref ;
1760};
1761#line 67
1762struct dma_map_ops;
1763#line 67 "include/linux/klist.h"
1764struct dev_archdata {
1765 void *acpi_handle ;
1766 struct dma_map_ops *dma_ops ;
1767 void *iommu ;
1768};
1769#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1770struct device_private;
1771#line 17
1772struct device_private;
1773#line 18
1774struct device_driver;
1775#line 18
1776struct device_driver;
1777#line 19
1778struct driver_private;
1779#line 19
1780struct driver_private;
1781#line 20
1782struct class;
1783#line 20
1784struct class;
1785#line 21
1786struct subsys_private;
1787#line 21
1788struct subsys_private;
1789#line 22
1790struct bus_type;
1791#line 22
1792struct bus_type;
1793#line 23
1794struct device_node;
1795#line 23
1796struct device_node;
1797#line 24
1798struct iommu_ops;
1799#line 24
1800struct iommu_ops;
1801#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1802struct bus_attribute {
1803 struct attribute attr ;
1804 ssize_t (*show)(struct bus_type * , char * ) ;
1805 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1806};
1807#line 51 "include/linux/device.h"
1808struct device_attribute;
1809#line 51
1810struct driver_attribute;
1811#line 51 "include/linux/device.h"
1812struct bus_type {
1813 char const *name ;
1814 char const *dev_name ;
1815 struct device *dev_root ;
1816 struct bus_attribute *bus_attrs ;
1817 struct device_attribute *dev_attrs ;
1818 struct driver_attribute *drv_attrs ;
1819 int (*match)(struct device * , struct device_driver * ) ;
1820 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1821 int (*probe)(struct device * ) ;
1822 int (*remove)(struct device * ) ;
1823 void (*shutdown)(struct device * ) ;
1824 int (*suspend)(struct device * , pm_message_t ) ;
1825 int (*resume)(struct device * ) ;
1826 struct dev_pm_ops const *pm ;
1827 struct iommu_ops *iommu_ops ;
1828 struct subsys_private *p ;
1829};
1830#line 125
1831struct device_type;
1832#line 182 "include/linux/device.h"
1833struct device_driver {
1834 char const *name ;
1835 struct bus_type *bus ;
1836 struct module *owner ;
1837 char const *mod_name ;
1838 bool suppress_bind_attrs ;
1839 struct of_device_id const *of_match_table ;
1840 int (*probe)(struct device * ) ;
1841 int (*remove)(struct device * ) ;
1842 void (*shutdown)(struct device * ) ;
1843 int (*suspend)(struct device * , pm_message_t ) ;
1844 int (*resume)(struct device * ) ;
1845 struct attribute_group const **groups ;
1846 struct dev_pm_ops const *pm ;
1847 struct driver_private *p ;
1848};
1849#line 245 "include/linux/device.h"
1850struct driver_attribute {
1851 struct attribute attr ;
1852 ssize_t (*show)(struct device_driver * , char * ) ;
1853 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1854};
1855#line 299
1856struct class_attribute;
1857#line 299 "include/linux/device.h"
1858struct class {
1859 char const *name ;
1860 struct module *owner ;
1861 struct class_attribute *class_attrs ;
1862 struct device_attribute *dev_attrs ;
1863 struct bin_attribute *dev_bin_attrs ;
1864 struct kobject *dev_kobj ;
1865 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1866 char *(*devnode)(struct device * , umode_t * ) ;
1867 void (*class_release)(struct class * ) ;
1868 void (*dev_release)(struct device * ) ;
1869 int (*suspend)(struct device * , pm_message_t ) ;
1870 int (*resume)(struct device * ) ;
1871 struct kobj_ns_type_operations const *ns_type ;
1872 void const *(*namespace)(struct device * ) ;
1873 struct dev_pm_ops const *pm ;
1874 struct subsys_private *p ;
1875};
1876#line 394 "include/linux/device.h"
1877struct class_attribute {
1878 struct attribute attr ;
1879 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1880 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1881 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1882};
1883#line 447 "include/linux/device.h"
1884struct device_type {
1885 char const *name ;
1886 struct attribute_group const **groups ;
1887 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1888 char *(*devnode)(struct device * , umode_t * ) ;
1889 void (*release)(struct device * ) ;
1890 struct dev_pm_ops const *pm ;
1891};
1892#line 474 "include/linux/device.h"
1893struct device_attribute {
1894 struct attribute attr ;
1895 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1896 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1897 size_t ) ;
1898};
1899#line 557 "include/linux/device.h"
1900struct device_dma_parameters {
1901 unsigned int max_segment_size ;
1902 unsigned long segment_boundary_mask ;
1903};
1904#line 567
1905struct dma_coherent_mem;
1906#line 567 "include/linux/device.h"
1907struct device {
1908 struct device *parent ;
1909 struct device_private *p ;
1910 struct kobject kobj ;
1911 char const *init_name ;
1912 struct device_type const *type ;
1913 struct mutex mutex ;
1914 struct bus_type *bus ;
1915 struct device_driver *driver ;
1916 void *platform_data ;
1917 struct dev_pm_info power ;
1918 struct dev_pm_domain *pm_domain ;
1919 int numa_node ;
1920 u64 *dma_mask ;
1921 u64 coherent_dma_mask ;
1922 struct device_dma_parameters *dma_parms ;
1923 struct list_head dma_pools ;
1924 struct dma_coherent_mem *dma_mem ;
1925 struct dev_archdata archdata ;
1926 struct device_node *of_node ;
1927 dev_t devt ;
1928 u32 id ;
1929 spinlock_t devres_lock ;
1930 struct list_head devres_head ;
1931 struct klist_node knode_class ;
1932 struct class *class ;
1933 struct attribute_group const **groups ;
1934 void (*release)(struct device * ) ;
1935};
1936#line 681 "include/linux/device.h"
1937struct wakeup_source {
1938 char const *name ;
1939 struct list_head entry ;
1940 spinlock_t lock ;
1941 struct timer_list timer ;
1942 unsigned long timer_expires ;
1943 ktime_t total_time ;
1944 ktime_t max_time ;
1945 ktime_t last_time ;
1946 unsigned long event_count ;
1947 unsigned long active_count ;
1948 unsigned long relax_count ;
1949 unsigned long hit_count ;
1950 unsigned char active : 1 ;
1951};
1952#line 986 "include/linux/pci.h"
1953struct scatterlist {
1954 unsigned long sg_magic ;
1955 unsigned long page_link ;
1956 unsigned int offset ;
1957 unsigned int length ;
1958 dma_addr_t dma_address ;
1959 unsigned int dma_length ;
1960};
1961#line 1139 "include/linux/pci.h"
1962union __anonunion_ldv_19650_148 {
1963 unsigned long index ;
1964 void *freelist ;
1965};
1966#line 1139 "include/linux/pci.h"
1967struct __anonstruct_ldv_19660_152 {
1968 unsigned short inuse ;
1969 unsigned short objects : 15 ;
1970 unsigned char frozen : 1 ;
1971};
1972#line 1139 "include/linux/pci.h"
1973union __anonunion_ldv_19661_151 {
1974 atomic_t _mapcount ;
1975 struct __anonstruct_ldv_19660_152 ldv_19660 ;
1976};
1977#line 1139 "include/linux/pci.h"
1978struct __anonstruct_ldv_19663_150 {
1979 union __anonunion_ldv_19661_151 ldv_19661 ;
1980 atomic_t _count ;
1981};
1982#line 1139 "include/linux/pci.h"
1983union __anonunion_ldv_19664_149 {
1984 unsigned long counters ;
1985 struct __anonstruct_ldv_19663_150 ldv_19663 ;
1986};
1987#line 1139 "include/linux/pci.h"
1988struct __anonstruct_ldv_19665_147 {
1989 union __anonunion_ldv_19650_148 ldv_19650 ;
1990 union __anonunion_ldv_19664_149 ldv_19664 ;
1991};
1992#line 1139 "include/linux/pci.h"
1993struct __anonstruct_ldv_19672_154 {
1994 struct page *next ;
1995 int pages ;
1996 int pobjects ;
1997};
1998#line 1139 "include/linux/pci.h"
1999union __anonunion_ldv_19673_153 {
2000 struct list_head lru ;
2001 struct __anonstruct_ldv_19672_154 ldv_19672 ;
2002};
2003#line 1139 "include/linux/pci.h"
2004union __anonunion_ldv_19678_155 {
2005 unsigned long private ;
2006 struct kmem_cache *slab ;
2007 struct page *first_page ;
2008};
2009#line 1139 "include/linux/pci.h"
2010struct page {
2011 unsigned long flags ;
2012 struct address_space *mapping ;
2013 struct __anonstruct_ldv_19665_147 ldv_19665 ;
2014 union __anonunion_ldv_19673_153 ldv_19673 ;
2015 union __anonunion_ldv_19678_155 ldv_19678 ;
2016 unsigned long debug_flags ;
2017};
2018#line 192 "include/linux/mm_types.h"
2019struct __anonstruct_vm_set_157 {
2020 struct list_head list ;
2021 void *parent ;
2022 struct vm_area_struct *head ;
2023};
2024#line 192 "include/linux/mm_types.h"
2025union __anonunion_shared_156 {
2026 struct __anonstruct_vm_set_157 vm_set ;
2027 struct raw_prio_tree_node prio_tree_node ;
2028};
2029#line 192
2030struct anon_vma;
2031#line 192
2032struct vm_operations_struct;
2033#line 192
2034struct mempolicy;
2035#line 192 "include/linux/mm_types.h"
2036struct vm_area_struct {
2037 struct mm_struct *vm_mm ;
2038 unsigned long vm_start ;
2039 unsigned long vm_end ;
2040 struct vm_area_struct *vm_next ;
2041 struct vm_area_struct *vm_prev ;
2042 pgprot_t vm_page_prot ;
2043 unsigned long vm_flags ;
2044 struct rb_node vm_rb ;
2045 union __anonunion_shared_156 shared ;
2046 struct list_head anon_vma_chain ;
2047 struct anon_vma *anon_vma ;
2048 struct vm_operations_struct const *vm_ops ;
2049 unsigned long vm_pgoff ;
2050 struct file *vm_file ;
2051 void *vm_private_data ;
2052 struct mempolicy *vm_policy ;
2053};
2054#line 255 "include/linux/mm_types.h"
2055struct core_thread {
2056 struct task_struct *task ;
2057 struct core_thread *next ;
2058};
2059#line 261 "include/linux/mm_types.h"
2060struct core_state {
2061 atomic_t nr_threads ;
2062 struct core_thread dumper ;
2063 struct completion startup ;
2064};
2065#line 274 "include/linux/mm_types.h"
2066struct mm_rss_stat {
2067 atomic_long_t count[3U] ;
2068};
2069#line 287
2070struct linux_binfmt;
2071#line 287
2072struct mmu_notifier_mm;
2073#line 287 "include/linux/mm_types.h"
2074struct mm_struct {
2075 struct vm_area_struct *mmap ;
2076 struct rb_root mm_rb ;
2077 struct vm_area_struct *mmap_cache ;
2078 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2079 unsigned long , unsigned long ) ;
2080 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
2081 unsigned long mmap_base ;
2082 unsigned long task_size ;
2083 unsigned long cached_hole_size ;
2084 unsigned long free_area_cache ;
2085 pgd_t *pgd ;
2086 atomic_t mm_users ;
2087 atomic_t mm_count ;
2088 int map_count ;
2089 spinlock_t page_table_lock ;
2090 struct rw_semaphore mmap_sem ;
2091 struct list_head mmlist ;
2092 unsigned long hiwater_rss ;
2093 unsigned long hiwater_vm ;
2094 unsigned long total_vm ;
2095 unsigned long locked_vm ;
2096 unsigned long pinned_vm ;
2097 unsigned long shared_vm ;
2098 unsigned long exec_vm ;
2099 unsigned long stack_vm ;
2100 unsigned long reserved_vm ;
2101 unsigned long def_flags ;
2102 unsigned long nr_ptes ;
2103 unsigned long start_code ;
2104 unsigned long end_code ;
2105 unsigned long start_data ;
2106 unsigned long end_data ;
2107 unsigned long start_brk ;
2108 unsigned long brk ;
2109 unsigned long start_stack ;
2110 unsigned long arg_start ;
2111 unsigned long arg_end ;
2112 unsigned long env_start ;
2113 unsigned long env_end ;
2114 unsigned long saved_auxv[44U] ;
2115 struct mm_rss_stat rss_stat ;
2116 struct linux_binfmt *binfmt ;
2117 cpumask_var_t cpu_vm_mask_var ;
2118 mm_context_t context ;
2119 unsigned int faultstamp ;
2120 unsigned int token_priority ;
2121 unsigned int last_interval ;
2122 unsigned long flags ;
2123 struct core_state *core_state ;
2124 spinlock_t ioctx_lock ;
2125 struct hlist_head ioctx_list ;
2126 struct task_struct *owner ;
2127 struct file *exe_file ;
2128 unsigned long num_exe_file_vmas ;
2129 struct mmu_notifier_mm *mmu_notifier_mm ;
2130 pgtable_t pmd_huge_pte ;
2131 struct cpumask cpumask_allocation ;
2132};
2133#line 178 "include/linux/mm.h"
2134struct vm_fault {
2135 unsigned int flags ;
2136 unsigned long pgoff ;
2137 void *virtual_address ;
2138 struct page *page ;
2139};
2140#line 195 "include/linux/mm.h"
2141struct vm_operations_struct {
2142 void (*open)(struct vm_area_struct * ) ;
2143 void (*close)(struct vm_area_struct * ) ;
2144 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2145 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2146 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
2147 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2148 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
2149 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
2150 unsigned long ) ;
2151};
2152#line 31 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pci_64.h"
2153struct dma_attrs {
2154 unsigned long flags[1U] ;
2155};
2156#line 67 "include/linux/dma-attrs.h"
2157enum dma_data_direction {
2158 DMA_BIDIRECTIONAL = 0,
2159 DMA_TO_DEVICE = 1,
2160 DMA_FROM_DEVICE = 2,
2161 DMA_NONE = 3
2162} ;
2163#line 268 "include/linux/scatterlist.h"
2164struct dma_map_ops {
2165 void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
2166 void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
2167 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
2168 size_t , struct dma_attrs * ) ;
2169 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
2170 enum dma_data_direction , struct dma_attrs * ) ;
2171 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
2172 struct dma_attrs * ) ;
2173 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
2174 struct dma_attrs * ) ;
2175 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
2176 struct dma_attrs * ) ;
2177 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
2178 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
2179 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
2180 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
2181 int (*mapping_error)(struct device * , dma_addr_t ) ;
2182 int (*dma_supported)(struct device * , u64 ) ;
2183 int (*set_dma_mask)(struct device * , u64 ) ;
2184 int is_phys ;
2185};
2186#line 1722 "include/linux/pci.h"
2187struct miscdevice {
2188 int minor ;
2189 char const *name ;
2190 struct file_operations const *fops ;
2191 struct list_head list ;
2192 struct device *parent ;
2193 struct device *this_device ;
2194 char const *nodename ;
2195 umode_t mode ;
2196};
2197#line 63 "include/linux/miscdevice.h"
2198struct watchdog_info {
2199 __u32 options ;
2200 __u32 firmware_version ;
2201 __u8 identity[32U] ;
2202};
2203#line 78 "include/linux/dmi.h"
2204struct dmi_device {
2205 struct list_head list ;
2206 int type ;
2207 char const *name ;
2208 void *device_data ;
2209};
2210#line 109 "include/linux/dmi.h"
2211struct exception_table_entry {
2212 unsigned long insn ;
2213 unsigned long fixup ;
2214};
2215#line 370 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2216struct ibmasr_id {
2217 char const *desc ;
2218 int type ;
2219};
2220#line 2
2221void ldv_spin_lock(void) ;
2222#line 3
2223void ldv_spin_unlock(void) ;
2224#line 4
2225int ldv_spin_trylock(void) ;
2226#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2227__inline static void clear_bit(int nr , unsigned long volatile *addr )
2228{ long volatile *__cil_tmp3 ;
2229
2230 {
2231#line 105
2232 __cil_tmp3 = (long volatile *)addr;
2233#line 105
2234 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
2235#line 107
2236 return;
2237}
2238}
2239#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2240__inline static int test_and_set_bit(int nr , unsigned long volatile *addr )
2241{ int oldbit ;
2242 long volatile *__cil_tmp4 ;
2243
2244 {
2245#line 199
2246 __cil_tmp4 = (long volatile *)addr;
2247#line 199
2248 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %2,%1\n\tsbb %0,%0": "=r" (oldbit),
2249 "+m" (*__cil_tmp4): "Ir" (nr): "memory");
2250#line 202
2251 return (oldbit);
2252}
2253}
2254#line 101 "include/linux/printk.h"
2255extern int printk(char const * , ...) ;
2256#line 192 "include/linux/kernel.h"
2257extern void might_fault(void) ;
2258#line 22 "include/linux/spinlock_api_smp.h"
2259extern void _raw_spin_lock(raw_spinlock_t * ) ;
2260#line 39
2261extern void _raw_spin_unlock(raw_spinlock_t * ) ;
2262#line 283 "include/linux/spinlock.h"
2263__inline static void ldv_spin_lock_1(spinlock_t *lock )
2264{ struct raw_spinlock *__cil_tmp2 ;
2265
2266 {
2267 {
2268#line 285
2269 __cil_tmp2 = (struct raw_spinlock *)lock;
2270#line 285
2271 _raw_spin_lock(__cil_tmp2);
2272 }
2273#line 286
2274 return;
2275}
2276}
2277#line 283
2278__inline static void spin_lock(spinlock_t *lock ) ;
2279#line 323 "include/linux/spinlock.h"
2280__inline static void ldv_spin_unlock_5(spinlock_t *lock )
2281{ struct raw_spinlock *__cil_tmp2 ;
2282
2283 {
2284 {
2285#line 325
2286 __cil_tmp2 = (struct raw_spinlock *)lock;
2287#line 325
2288 _raw_spin_unlock(__cil_tmp2);
2289 }
2290#line 326
2291 return;
2292}
2293}
2294#line 323
2295__inline static void spin_unlock(spinlock_t *lock ) ;
2296#line 137 "include/linux/ioport.h"
2297extern struct resource ioport_resource ;
2298#line 181
2299extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
2300 char const * , int ) ;
2301#line 192
2302extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
2303#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2304__inline static void outb(unsigned char value , int port )
2305{
2306
2307 {
2308#line 308
2309 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
2310#line 309
2311 return;
2312}
2313}
2314#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2315__inline static unsigned char inb(int port )
2316{ unsigned char value ;
2317
2318 {
2319#line 308
2320 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
2321#line 308
2322 return (value);
2323}
2324}
2325#line 310 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2326__inline static void outl(unsigned int value , int port )
2327{
2328
2329 {
2330#line 310
2331 __asm__ volatile ("outl %0, %w1": : "a" (value), "Nd" (port));
2332#line 311
2333 return;
2334}
2335}
2336#line 310 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2337__inline static unsigned int inl(int port )
2338{ unsigned int value ;
2339
2340 {
2341#line 310
2342 __asm__ volatile ("inl %w1, %0": "=a" (value): "Nd" (port));
2343#line 310
2344 return (value);
2345}
2346}
2347#line 26 "include/linux/export.h"
2348extern struct module __this_module ;
2349#line 220 "include/linux/slub_def.h"
2350extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2351#line 223
2352void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2353#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2354void ldv_check_alloc_flags(gfp_t flags ) ;
2355#line 12
2356void ldv_check_alloc_nonatomic(void) ;
2357#line 14
2358struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2359#line 2402 "include/linux/fs.h"
2360extern loff_t no_llseek(struct file * , loff_t , int ) ;
2361#line 2407
2362extern int nonseekable_open(struct inode * , struct file * ) ;
2363#line 61 "include/linux/miscdevice.h"
2364extern int misc_register(struct miscdevice * ) ;
2365#line 62
2366extern int misc_deregister(struct miscdevice * ) ;
2367#line 99 "include/linux/dmi.h"
2368extern struct dmi_device const *dmi_find_device(int , char const * , struct dmi_device const * ) ;
2369#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2370extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
2371#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2372__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
2373{ unsigned long tmp ;
2374
2375 {
2376 {
2377#line 65
2378 might_fault();
2379#line 67
2380 tmp = _copy_to_user(dst, src, size);
2381 }
2382#line 67
2383 return ((int )tmp);
2384}
2385}
2386#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2387static bool nowayout = (bool )1;
2388#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2389static unsigned long asr_is_open ;
2390#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2391static char asr_expect_close ;
2392#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2393static unsigned int asr_type ;
2394#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2395static unsigned int asr_base ;
2396#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2397static unsigned int asr_length ;
2398#line 84 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2399static unsigned int asr_read_addr ;
2400#line 84 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2401static unsigned int asr_write_addr ;
2402#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2403static unsigned char asr_toggle_mask ;
2404#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2405static unsigned char asr_disable_mask ;
2406#line 86 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2407static spinlock_t asr_lock = {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
2408 {(struct lock_class *)0,
2409 (struct lock_class *)0},
2410 "asr_lock",
2411 0, 0UL}}}};
2412#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2413static void __asr_toggle(void)
2414{ unsigned char reg ;
2415 int __cil_tmp2 ;
2416 signed char __cil_tmp3 ;
2417 int __cil_tmp4 ;
2418 int __cil_tmp5 ;
2419 int __cil_tmp6 ;
2420 signed char __cil_tmp7 ;
2421 int __cil_tmp8 ;
2422 int __cil_tmp9 ;
2423 unsigned char __cil_tmp10 ;
2424 int __cil_tmp11 ;
2425 unsigned char __cil_tmp12 ;
2426 int __cil_tmp13 ;
2427 int __cil_tmp14 ;
2428 int __cil_tmp15 ;
2429 int __cil_tmp16 ;
2430 int __cil_tmp17 ;
2431 unsigned char __cil_tmp18 ;
2432 int __cil_tmp19 ;
2433 int __cil_tmp20 ;
2434 signed char __cil_tmp21 ;
2435 int __cil_tmp22 ;
2436 int __cil_tmp23 ;
2437 int __cil_tmp24 ;
2438 signed char __cil_tmp25 ;
2439 int __cil_tmp26 ;
2440 int __cil_tmp27 ;
2441 unsigned char __cil_tmp28 ;
2442 int __cil_tmp29 ;
2443 unsigned char __cil_tmp30 ;
2444 int __cil_tmp31 ;
2445 int __cil_tmp32 ;
2446
2447 {
2448 {
2449#line 92
2450 __cil_tmp2 = (int )asr_read_addr;
2451#line 92
2452 reg = inb(__cil_tmp2);
2453#line 94
2454 __cil_tmp3 = (signed char )reg;
2455#line 94
2456 __cil_tmp4 = (int )__cil_tmp3;
2457#line 94
2458 __cil_tmp5 = (int )asr_toggle_mask;
2459#line 94
2460 __cil_tmp6 = ~ __cil_tmp5;
2461#line 94
2462 __cil_tmp7 = (signed char )__cil_tmp6;
2463#line 94
2464 __cil_tmp8 = (int )__cil_tmp7;
2465#line 94
2466 __cil_tmp9 = __cil_tmp8 & __cil_tmp4;
2467#line 94
2468 __cil_tmp10 = (unsigned char )__cil_tmp9;
2469#line 94
2470 __cil_tmp11 = (int )__cil_tmp10;
2471#line 94
2472 __cil_tmp12 = (unsigned char )__cil_tmp11;
2473#line 94
2474 __cil_tmp13 = (int )asr_write_addr;
2475#line 94
2476 outb(__cil_tmp12, __cil_tmp13);
2477#line 95
2478 __cil_tmp14 = (int )asr_read_addr;
2479#line 95
2480 reg = inb(__cil_tmp14);
2481#line 97
2482 __cil_tmp15 = (int )asr_toggle_mask;
2483#line 97
2484 __cil_tmp16 = (int )reg;
2485#line 97
2486 __cil_tmp17 = __cil_tmp16 | __cil_tmp15;
2487#line 97
2488 __cil_tmp18 = (unsigned char )__cil_tmp17;
2489#line 97
2490 __cil_tmp19 = (int )asr_write_addr;
2491#line 97
2492 outb(__cil_tmp18, __cil_tmp19);
2493#line 98
2494 __cil_tmp20 = (int )asr_read_addr;
2495#line 98
2496 reg = inb(__cil_tmp20);
2497#line 100
2498 __cil_tmp21 = (signed char )reg;
2499#line 100
2500 __cil_tmp22 = (int )__cil_tmp21;
2501#line 100
2502 __cil_tmp23 = (int )asr_toggle_mask;
2503#line 100
2504 __cil_tmp24 = ~ __cil_tmp23;
2505#line 100
2506 __cil_tmp25 = (signed char )__cil_tmp24;
2507#line 100
2508 __cil_tmp26 = (int )__cil_tmp25;
2509#line 100
2510 __cil_tmp27 = __cil_tmp26 & __cil_tmp22;
2511#line 100
2512 __cil_tmp28 = (unsigned char )__cil_tmp27;
2513#line 100
2514 __cil_tmp29 = (int )__cil_tmp28;
2515#line 100
2516 __cil_tmp30 = (unsigned char )__cil_tmp29;
2517#line 100
2518 __cil_tmp31 = (int )asr_write_addr;
2519#line 100
2520 outb(__cil_tmp30, __cil_tmp31);
2521#line 101
2522 __cil_tmp32 = (int )asr_read_addr;
2523#line 101
2524 reg = inb(__cil_tmp32);
2525 }
2526#line 102
2527 return;
2528}
2529}
2530#line 104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2531static void asr_toggle(void)
2532{
2533
2534 {
2535 {
2536#line 106
2537 spin_lock(& asr_lock);
2538#line 107
2539 __asr_toggle();
2540#line 108
2541 spin_unlock(& asr_lock);
2542 }
2543#line 109
2544 return;
2545}
2546}
2547#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2548static void asr_enable(void)
2549{ unsigned char reg ;
2550 int __cil_tmp2 ;
2551 int __cil_tmp3 ;
2552 int __cil_tmp4 ;
2553 unsigned char __cil_tmp5 ;
2554 int __cil_tmp6 ;
2555 int __cil_tmp7 ;
2556 signed char __cil_tmp8 ;
2557 int __cil_tmp9 ;
2558 int __cil_tmp10 ;
2559 int __cil_tmp11 ;
2560 signed char __cil_tmp12 ;
2561 int __cil_tmp13 ;
2562 int __cil_tmp14 ;
2563 unsigned char __cil_tmp15 ;
2564 int __cil_tmp16 ;
2565 unsigned char __cil_tmp17 ;
2566 int __cil_tmp18 ;
2567 int __cil_tmp19 ;
2568
2569 {
2570 {
2571#line 115
2572 spin_lock(& asr_lock);
2573 }
2574#line 116
2575 if (asr_type == 1U) {
2576 {
2577#line 118
2578 __cil_tmp2 = (int )asr_read_addr;
2579#line 118
2580 reg = inb(__cil_tmp2);
2581#line 119
2582 __cil_tmp3 = (int )reg;
2583#line 119
2584 __cil_tmp4 = __cil_tmp3 & 63;
2585#line 119
2586 __cil_tmp5 = (unsigned char )__cil_tmp4;
2587#line 119
2588 __cil_tmp6 = (int )asr_read_addr;
2589#line 119
2590 outb(__cil_tmp5, __cil_tmp6);
2591 }
2592 } else {
2593 {
2594#line 126
2595 __asr_toggle();
2596#line 128
2597 __cil_tmp7 = (int )asr_read_addr;
2598#line 128
2599 reg = inb(__cil_tmp7);
2600#line 129
2601 __cil_tmp8 = (signed char )reg;
2602#line 129
2603 __cil_tmp9 = (int )__cil_tmp8;
2604#line 129
2605 __cil_tmp10 = (int )asr_disable_mask;
2606#line 129
2607 __cil_tmp11 = ~ __cil_tmp10;
2608#line 129
2609 __cil_tmp12 = (signed char )__cil_tmp11;
2610#line 129
2611 __cil_tmp13 = (int )__cil_tmp12;
2612#line 129
2613 __cil_tmp14 = __cil_tmp13 & __cil_tmp9;
2614#line 129
2615 __cil_tmp15 = (unsigned char )__cil_tmp14;
2616#line 129
2617 __cil_tmp16 = (int )__cil_tmp15;
2618#line 129
2619 __cil_tmp17 = (unsigned char )__cil_tmp16;
2620#line 129
2621 __cil_tmp18 = (int )asr_write_addr;
2622#line 129
2623 outb(__cil_tmp17, __cil_tmp18);
2624 }
2625 }
2626 {
2627#line 131
2628 __cil_tmp19 = (int )asr_read_addr;
2629#line 131
2630 reg = inb(__cil_tmp19);
2631#line 132
2632 spin_unlock(& asr_lock);
2633 }
2634#line 133
2635 return;
2636}
2637}
2638#line 135 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2639static void asr_disable(void)
2640{ unsigned char reg ;
2641 int __cil_tmp2 ;
2642 unsigned int __cil_tmp3 ;
2643 unsigned int __cil_tmp4 ;
2644 int __cil_tmp5 ;
2645 unsigned char __cil_tmp6 ;
2646 int __cil_tmp7 ;
2647 int __cil_tmp8 ;
2648 int __cil_tmp9 ;
2649 int __cil_tmp10 ;
2650 unsigned char __cil_tmp11 ;
2651 int __cil_tmp12 ;
2652 int __cil_tmp13 ;
2653 int __cil_tmp14 ;
2654 int __cil_tmp15 ;
2655 int __cil_tmp16 ;
2656 unsigned char __cil_tmp17 ;
2657 int __cil_tmp18 ;
2658 int __cil_tmp19 ;
2659
2660 {
2661 {
2662#line 139
2663 spin_lock(& asr_lock);
2664#line 140
2665 __cil_tmp2 = (int )asr_read_addr;
2666#line 140
2667 reg = inb(__cil_tmp2);
2668 }
2669#line 142
2670 if (asr_type == 1U) {
2671 {
2672#line 144
2673 __cil_tmp3 = (unsigned int )reg;
2674#line 144
2675 __cil_tmp4 = __cil_tmp3 | 192U;
2676#line 144
2677 __cil_tmp5 = (int )__cil_tmp4;
2678#line 144
2679 __cil_tmp6 = (unsigned char )__cil_tmp5;
2680#line 144
2681 __cil_tmp7 = (int )asr_read_addr;
2682#line 144
2683 outb(__cil_tmp6, __cil_tmp7);
2684 }
2685 } else {
2686 {
2687#line 147
2688 __cil_tmp8 = (int )asr_toggle_mask;
2689#line 147
2690 __cil_tmp9 = (int )reg;
2691#line 147
2692 __cil_tmp10 = __cil_tmp9 | __cil_tmp8;
2693#line 147
2694 __cil_tmp11 = (unsigned char )__cil_tmp10;
2695#line 147
2696 __cil_tmp12 = (int )asr_write_addr;
2697#line 147
2698 outb(__cil_tmp11, __cil_tmp12);
2699#line 148
2700 __cil_tmp13 = (int )asr_read_addr;
2701#line 148
2702 reg = inb(__cil_tmp13);
2703#line 150
2704 __cil_tmp14 = (int )asr_disable_mask;
2705#line 150
2706 __cil_tmp15 = (int )reg;
2707#line 150
2708 __cil_tmp16 = __cil_tmp15 | __cil_tmp14;
2709#line 150
2710 __cil_tmp17 = (unsigned char )__cil_tmp16;
2711#line 150
2712 __cil_tmp18 = (int )asr_write_addr;
2713#line 150
2714 outb(__cil_tmp17, __cil_tmp18);
2715 }
2716 }
2717 {
2718#line 152
2719 __cil_tmp19 = (int )asr_read_addr;
2720#line 152
2721 reg = inb(__cil_tmp19);
2722#line 153
2723 spin_unlock(& asr_lock);
2724 }
2725#line 154
2726 return;
2727}
2728}
2729#line 156 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2730static int asr_get_base_address(void)
2731{ unsigned char low ;
2732 unsigned char high ;
2733 char const *type ;
2734 unsigned int tmp ;
2735 struct resource *tmp___0 ;
2736 int __cil_tmp6 ;
2737 int __cil_tmp7 ;
2738 int __cil_tmp8 ;
2739 int __cil_tmp9 ;
2740 resource_size_t __cil_tmp10 ;
2741 resource_size_t __cil_tmp11 ;
2742 struct resource *__cil_tmp12 ;
2743 unsigned long __cil_tmp13 ;
2744 unsigned long __cil_tmp14 ;
2745
2746 {
2747#line 159
2748 type = "";
2749#line 161
2750 asr_length = 1U;
2751#line 164
2752 if ((int )asr_type == 1) {
2753#line 164
2754 goto case_1;
2755 } else
2756#line 185
2757 if ((int )asr_type == 2) {
2758#line 185
2759 goto case_2;
2760 } else
2761#line 224
2762 if ((int )asr_type == 3) {
2763#line 224
2764 goto case_3;
2765 } else
2766#line 234
2767 if ((int )asr_type == 4) {
2768#line 234
2769 goto case_4;
2770 } else
2771#line 242
2772 if ((int )asr_type == 5) {
2773#line 242
2774 goto case_5;
2775 } else
2776#line 163
2777 if (0) {
2778 case_1:
2779 {
2780#line 167
2781 outb((unsigned char)7, 46);
2782#line 168
2783 outb((unsigned char)7, 47);
2784#line 171
2785 outb((unsigned char)96, 46);
2786#line 172
2787 high = inb(47);
2788#line 175
2789 outb((unsigned char)97, 46);
2790#line 176
2791 low = inb(47);
2792#line 178
2793 __cil_tmp6 = (int )low;
2794#line 178
2795 __cil_tmp7 = (int )high;
2796#line 178
2797 __cil_tmp8 = __cil_tmp7 << 16;
2798#line 178
2799 __cil_tmp9 = __cil_tmp8 | __cil_tmp6;
2800#line 178
2801 asr_base = (unsigned int )__cil_tmp9;
2802#line 179
2803 asr_write_addr = asr_base + 4U;
2804#line 179
2805 asr_read_addr = asr_write_addr;
2806#line 181
2807 asr_length = 5U;
2808 }
2809#line 183
2810 goto ldv_23643;
2811 case_2:
2812 {
2813#line 186
2814 type = "Jaspers ";
2815#line 203
2816 outl(2147547224U, 3320);
2817#line 212
2818 tmp = inl(3324);
2819#line 212
2820 asr_base = tmp & 65534U;
2821#line 216
2822 asr_write_addr = asr_base + 56U;
2823#line 216
2824 asr_read_addr = asr_write_addr;
2825#line 218
2826 asr_toggle_mask = (unsigned char)2;
2827#line 219
2828 asr_disable_mask = (unsigned char)1;
2829#line 220
2830 asr_length = 57U;
2831 }
2832#line 222
2833 goto ldv_23643;
2834 case_3:
2835#line 225
2836 type = "Pearls ";
2837#line 226
2838 asr_base = 3588U;
2839#line 227
2840 asr_read_addr = 3591U;
2841#line 228
2842 asr_write_addr = 3590U;
2843#line 229
2844 asr_toggle_mask = (unsigned char)64;
2845#line 230
2846 asr_disable_mask = (unsigned char)128;
2847#line 231
2848 asr_length = 4U;
2849#line 232
2850 goto ldv_23643;
2851 case_4:
2852#line 235
2853 type = "Junipers ";
2854#line 236
2855 asr_base = 1355U;
2856#line 237
2857 asr_write_addr = asr_base;
2858#line 237
2859 asr_read_addr = asr_write_addr;
2860#line 238
2861 asr_toggle_mask = (unsigned char)2;
2862#line 239
2863 asr_disable_mask = (unsigned char)1;
2864#line 240
2865 goto ldv_23643;
2866 case_5:
2867#line 243
2868 type = "Spruce\'s ";
2869#line 244
2870 asr_base = 4494U;
2871#line 245
2872 asr_write_addr = asr_base;
2873#line 245
2874 asr_read_addr = asr_write_addr;
2875#line 246
2876 asr_toggle_mask = (unsigned char)2;
2877#line 247
2878 asr_disable_mask = (unsigned char)1;
2879#line 248
2880 goto ldv_23643;
2881 } else {
2882 switch_break: ;
2883 }
2884 ldv_23643:
2885 {
2886#line 251
2887 __cil_tmp10 = (resource_size_t )asr_base;
2888#line 251
2889 __cil_tmp11 = (resource_size_t )asr_length;
2890#line 251
2891 tmp___0 = __request_region(& ioport_resource, __cil_tmp10, __cil_tmp11, "ibmasr",
2892 0);
2893 }
2894 {
2895#line 251
2896 __cil_tmp12 = (struct resource *)0;
2897#line 251
2898 __cil_tmp13 = (unsigned long )__cil_tmp12;
2899#line 251
2900 __cil_tmp14 = (unsigned long )tmp___0;
2901#line 251
2902 if (__cil_tmp14 == __cil_tmp13) {
2903 {
2904#line 252
2905 printk("<3>ibmasr: address %#x already in use\n", asr_base);
2906 }
2907#line 253
2908 return (-16);
2909 } else {
2910
2911 }
2912 }
2913 {
2914#line 256
2915 printk("<6>ibmasr: found %sASR @ addr %#x\n", type, asr_base);
2916 }
2917#line 258
2918 return (0);
2919}
2920}
2921#line 262 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
2922static ssize_t asr_write(struct file *file , char const *buf , size_t count , loff_t *ppos )
2923{ size_t i ;
2924 char c ;
2925 int __ret_gu ;
2926 unsigned long __val_gu ;
2927 bool *__cil_tmp9 ;
2928 bool __cil_tmp10 ;
2929 signed char __cil_tmp11 ;
2930 int __cil_tmp12 ;
2931
2932 {
2933#line 265
2934 if (count != 0UL) {
2935 {
2936#line 266
2937 __cil_tmp9 = & nowayout;
2938#line 266
2939 __cil_tmp10 = *__cil_tmp9;
2940#line 266
2941 if (! __cil_tmp10) {
2942#line 270
2943 asr_expect_close = (char)0;
2944#line 272
2945 i = 0UL;
2946#line 272
2947 goto ldv_23666;
2948 ldv_23665:
2949 {
2950#line 274
2951 might_fault();
2952 }
2953#line 274
2954 if (1 == 1) {
2955#line 274
2956 goto case_1;
2957 } else
2958#line 274
2959 if (1 == 2) {
2960#line 274
2961 goto case_2;
2962 } else
2963#line 274
2964 if (1 == 4) {
2965#line 274
2966 goto case_4;
2967 } else
2968#line 274
2969 if (1 == 8) {
2970#line 274
2971 goto case_8;
2972 } else {
2973 {
2974#line 274
2975 goto switch_default;
2976#line 274
2977 if (0) {
2978 case_1:
2979#line 274
2980 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2981#line 274
2982 goto ldv_23659;
2983 case_2:
2984#line 274
2985 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2986#line 274
2987 goto ldv_23659;
2988 case_4:
2989#line 274
2990 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2991#line 274
2992 goto ldv_23659;
2993 case_8:
2994#line 274
2995 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2996#line 274
2997 goto ldv_23659;
2998 switch_default:
2999#line 274
3000 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
3001#line 274
3002 goto ldv_23659;
3003 } else {
3004 switch_break: ;
3005 }
3006 }
3007 }
3008 ldv_23659:
3009#line 274
3010 c = (char )__val_gu;
3011#line 274
3012 if (__ret_gu != 0) {
3013#line 275
3014 return (-14L);
3015 } else {
3016
3017 }
3018 {
3019#line 276
3020 __cil_tmp11 = (signed char )c;
3021#line 276
3022 __cil_tmp12 = (int )__cil_tmp11;
3023#line 276
3024 if (__cil_tmp12 == 86) {
3025#line 277
3026 asr_expect_close = (char)42;
3027 } else {
3028
3029 }
3030 }
3031#line 272
3032 i = i + 1UL;
3033 ldv_23666: ;
3034#line 272
3035 if (i != count) {
3036#line 273
3037 goto ldv_23665;
3038 } else {
3039#line 275
3040 goto ldv_23667;
3041 }
3042 ldv_23667: ;
3043 } else {
3044
3045 }
3046 }
3047 {
3048#line 280
3049 asr_toggle();
3050 }
3051 } else {
3052
3053 }
3054#line 282
3055 return ((ssize_t )count);
3056}
3057}
3058#line 285 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3059static long asr_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
3060{ struct watchdog_info ident ;
3061 void *argp ;
3062 int *p ;
3063 int heartbeat ;
3064 long tmp___0 ;
3065 int tmp___1 ;
3066 int __ret_pu ;
3067 int __pu_val ;
3068 int new_options ;
3069 int retval ;
3070 int __ret_gu ;
3071 unsigned long __val_gu ;
3072 int __ret_pu___0 ;
3073 int __pu_val___0 ;
3074 struct watchdog_info *__cil_tmp19 ;
3075 unsigned long __cil_tmp20 ;
3076 unsigned long __cil_tmp21 ;
3077 unsigned long __cil_tmp22 ;
3078 unsigned long __cil_tmp23 ;
3079 unsigned long __cil_tmp24 ;
3080 unsigned long __cil_tmp25 ;
3081 unsigned long __cil_tmp26 ;
3082 unsigned long __cil_tmp27 ;
3083 unsigned long __cil_tmp28 ;
3084 unsigned long __cil_tmp29 ;
3085 unsigned long __cil_tmp30 ;
3086 unsigned long __cil_tmp31 ;
3087 unsigned long __cil_tmp32 ;
3088 unsigned long __cil_tmp33 ;
3089 unsigned long __cil_tmp34 ;
3090 unsigned long __cil_tmp35 ;
3091 unsigned long __cil_tmp36 ;
3092 unsigned long __cil_tmp37 ;
3093 unsigned long __cil_tmp38 ;
3094 unsigned long __cil_tmp39 ;
3095 unsigned long __cil_tmp40 ;
3096 unsigned long __cil_tmp41 ;
3097 unsigned long __cil_tmp42 ;
3098 unsigned long __cil_tmp43 ;
3099 unsigned long __cil_tmp44 ;
3100 void const *__cil_tmp45 ;
3101 int __cil_tmp46 ;
3102
3103 {
3104#line 287
3105 __cil_tmp19 = & ident;
3106#line 287
3107 *((__u32 *)__cil_tmp19) = 33024U;
3108#line 287
3109 __cil_tmp20 = (unsigned long )(& ident) + 4;
3110#line 287
3111 *((__u32 *)__cil_tmp20) = 0U;
3112#line 287
3113 __cil_tmp21 = 0 * 1UL;
3114#line 287
3115 __cil_tmp22 = 8 + __cil_tmp21;
3116#line 287
3117 __cil_tmp23 = (unsigned long )(& ident) + __cil_tmp22;
3118#line 287
3119 *((__u8 *)__cil_tmp23) = (__u8 )'I';
3120#line 287
3121 __cil_tmp24 = 1 * 1UL;
3122#line 287
3123 __cil_tmp25 = 8 + __cil_tmp24;
3124#line 287
3125 __cil_tmp26 = (unsigned long )(& ident) + __cil_tmp25;
3126#line 287
3127 *((__u8 *)__cil_tmp26) = (__u8 )'B';
3128#line 287
3129 __cil_tmp27 = 2 * 1UL;
3130#line 287
3131 __cil_tmp28 = 8 + __cil_tmp27;
3132#line 287
3133 __cil_tmp29 = (unsigned long )(& ident) + __cil_tmp28;
3134#line 287
3135 *((__u8 *)__cil_tmp29) = (__u8 )'M';
3136#line 287
3137 __cil_tmp30 = 3 * 1UL;
3138#line 287
3139 __cil_tmp31 = 8 + __cil_tmp30;
3140#line 287
3141 __cil_tmp32 = (unsigned long )(& ident) + __cil_tmp31;
3142#line 287
3143 *((__u8 *)__cil_tmp32) = (__u8 )' ';
3144#line 287
3145 __cil_tmp33 = 4 * 1UL;
3146#line 287
3147 __cil_tmp34 = 8 + __cil_tmp33;
3148#line 287
3149 __cil_tmp35 = (unsigned long )(& ident) + __cil_tmp34;
3150#line 287
3151 *((__u8 *)__cil_tmp35) = (__u8 )'A';
3152#line 287
3153 __cil_tmp36 = 5 * 1UL;
3154#line 287
3155 __cil_tmp37 = 8 + __cil_tmp36;
3156#line 287
3157 __cil_tmp38 = (unsigned long )(& ident) + __cil_tmp37;
3158#line 287
3159 *((__u8 *)__cil_tmp38) = (__u8 )'S';
3160#line 287
3161 __cil_tmp39 = 6 * 1UL;
3162#line 287
3163 __cil_tmp40 = 8 + __cil_tmp39;
3164#line 287
3165 __cil_tmp41 = (unsigned long )(& ident) + __cil_tmp40;
3166#line 287
3167 *((__u8 *)__cil_tmp41) = (__u8 )'R';
3168#line 287
3169 __cil_tmp42 = 7 * 1UL;
3170#line 287
3171 __cil_tmp43 = 8 + __cil_tmp42;
3172#line 287
3173 __cil_tmp44 = (unsigned long )(& ident) + __cil_tmp43;
3174#line 287
3175 *((__u8 *)__cil_tmp44) = (__u8 )'\000';
3176#line 292
3177 argp = (void *)arg;
3178#line 293
3179 p = (int *)argp;
3180#line 297
3181 if ((int )cmd == -2144839936) {
3182#line 297
3183 goto case_neg_2144839936;
3184 } else
3185#line 299
3186 if ((int )cmd == -2147199231) {
3187#line 299
3188 goto case_neg_2147199231;
3189 } else
3190#line 300
3191 if ((int )cmd == -2147199230) {
3192#line 300
3193 goto case_neg_2147199230;
3194 } else
3195#line 302
3196 if ((int )cmd == -2147199228) {
3197#line 302
3198 goto case_neg_2147199228;
3199 } else
3200#line 318
3201 if ((int )cmd == -2147199227) {
3202#line 318
3203 goto case_neg_2147199227;
3204 } else
3205#line 325
3206 if ((int )cmd == -2147199225) {
3207#line 325
3208 goto case_neg_2147199225;
3209 } else {
3210 {
3211#line 328
3212 goto switch_default___2;
3213#line 296
3214 if (0) {
3215 case_neg_2144839936:
3216 {
3217#line 298
3218 __cil_tmp45 = (void const *)(& ident);
3219#line 298
3220 tmp___1 = copy_to_user(argp, __cil_tmp45, 40U);
3221 }
3222#line 298
3223 if (tmp___1 != 0) {
3224#line 298
3225 tmp___0 = -14L;
3226 } else {
3227#line 298
3228 tmp___0 = 0L;
3229 }
3230#line 298
3231 return (tmp___0);
3232 case_neg_2147199231: ;
3233 case_neg_2147199230:
3234 {
3235#line 301
3236 might_fault();
3237#line 301
3238 __pu_val = 0;
3239 }
3240#line 301
3241 if (4 == 1) {
3242#line 301
3243 goto case_1;
3244 } else
3245#line 301
3246 if (4 == 2) {
3247#line 301
3248 goto case_2;
3249 } else
3250#line 301
3251 if (4 == 4) {
3252#line 301
3253 goto case_4;
3254 } else
3255#line 301
3256 if (4 == 8) {
3257#line 301
3258 goto case_8;
3259 } else {
3260 {
3261#line 301
3262 goto switch_default;
3263#line 301
3264 if (0) {
3265 case_1:
3266#line 301
3267 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
3268 "c" (p): "ebx");
3269#line 301
3270 goto ldv_23683;
3271 case_2:
3272#line 301
3273 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
3274 "c" (p): "ebx");
3275#line 301
3276 goto ldv_23683;
3277 case_4:
3278#line 301
3279 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
3280 "c" (p): "ebx");
3281#line 301
3282 goto ldv_23683;
3283 case_8:
3284#line 301
3285 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
3286 "c" (p): "ebx");
3287#line 301
3288 goto ldv_23683;
3289 switch_default:
3290#line 301
3291 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
3292 "c" (p): "ebx");
3293#line 301
3294 goto ldv_23683;
3295 } else {
3296 switch_break___0: ;
3297 }
3298 }
3299 }
3300 ldv_23683: ;
3301#line 301
3302 return ((long )__ret_pu);
3303 case_neg_2147199228:
3304 {
3305#line 304
3306 retval = -22;
3307#line 305
3308 might_fault();
3309 }
3310#line 305
3311 if (4 == 1) {
3312#line 305
3313 goto case_1___0;
3314 } else
3315#line 305
3316 if (4 == 2) {
3317#line 305
3318 goto case_2___0;
3319 } else
3320#line 305
3321 if (4 == 4) {
3322#line 305
3323 goto case_4___0;
3324 } else
3325#line 305
3326 if (4 == 8) {
3327#line 305
3328 goto case_8___0;
3329 } else {
3330 {
3331#line 305
3332 goto switch_default___0;
3333#line 305
3334 if (0) {
3335 case_1___0:
3336#line 305
3337 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3338#line 305
3339 goto ldv_23695;
3340 case_2___0:
3341#line 305
3342 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3343#line 305
3344 goto ldv_23695;
3345 case_4___0:
3346#line 305
3347 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3348#line 305
3349 goto ldv_23695;
3350 case_8___0:
3351#line 305
3352 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3353#line 305
3354 goto ldv_23695;
3355 switch_default___0:
3356#line 305
3357 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3358#line 305
3359 goto ldv_23695;
3360 } else {
3361 switch_break___1: ;
3362 }
3363 }
3364 }
3365 ldv_23695:
3366#line 305
3367 new_options = (int )__val_gu;
3368#line 305
3369 if (__ret_gu != 0) {
3370#line 306
3371 return (-14L);
3372 } else {
3373
3374 }
3375#line 307
3376 if (new_options & 1) {
3377 {
3378#line 308
3379 asr_disable();
3380#line 309
3381 retval = 0;
3382 }
3383 } else {
3384
3385 }
3386 {
3387#line 311
3388 __cil_tmp46 = new_options & 2;
3389#line 311
3390 if (__cil_tmp46 != 0) {
3391 {
3392#line 312
3393 asr_enable();
3394#line 313
3395 asr_toggle();
3396#line 314
3397 retval = 0;
3398 }
3399 } else {
3400
3401 }
3402 }
3403#line 316
3404 return ((long )retval);
3405 case_neg_2147199227:
3406 {
3407#line 319
3408 asr_toggle();
3409 }
3410#line 320
3411 return (0L);
3412 case_neg_2147199225:
3413 {
3414#line 326
3415 heartbeat = 256;
3416#line 327
3417 might_fault();
3418#line 327
3419 __pu_val___0 = heartbeat;
3420 }
3421#line 327
3422 if (4 == 1) {
3423#line 327
3424 goto case_1___1;
3425 } else
3426#line 327
3427 if (4 == 2) {
3428#line 327
3429 goto case_2___1;
3430 } else
3431#line 327
3432 if (4 == 4) {
3433#line 327
3434 goto case_4___1;
3435 } else
3436#line 327
3437 if (4 == 8) {
3438#line 327
3439 goto case_8___1;
3440 } else {
3441 {
3442#line 327
3443 goto switch_default___1;
3444#line 327
3445 if (0) {
3446 case_1___1:
3447#line 327
3448 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
3449 "c" (p): "ebx");
3450#line 327
3451 goto ldv_23706;
3452 case_2___1:
3453#line 327
3454 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
3455 "c" (p): "ebx");
3456#line 327
3457 goto ldv_23706;
3458 case_4___1:
3459#line 327
3460 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
3461 "c" (p): "ebx");
3462#line 327
3463 goto ldv_23706;
3464 case_8___1:
3465#line 327
3466 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
3467 "c" (p): "ebx");
3468#line 327
3469 goto ldv_23706;
3470 switch_default___1:
3471#line 327
3472 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
3473 "c" (p): "ebx");
3474#line 327
3475 goto ldv_23706;
3476 } else {
3477 switch_break___2: ;
3478 }
3479 }
3480 }
3481 ldv_23706: ;
3482#line 327
3483 return ((long )__ret_pu___0);
3484 switch_default___2: ;
3485#line 329
3486 return (-25L);
3487 } else {
3488 switch_break: ;
3489 }
3490 }
3491 }
3492}
3493}
3494#line 333 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3495static int asr_open(struct inode *inode , struct file *file )
3496{ int tmp ;
3497 int tmp___0 ;
3498 unsigned long volatile *__cil_tmp5 ;
3499
3500 {
3501 {
3502#line 335
3503 __cil_tmp5 = (unsigned long volatile *)(& asr_is_open);
3504#line 335
3505 tmp = test_and_set_bit(0, __cil_tmp5);
3506 }
3507#line 335
3508 if (tmp != 0) {
3509#line 336
3510 return (-16);
3511 } else {
3512
3513 }
3514 {
3515#line 338
3516 asr_toggle();
3517#line 339
3518 asr_enable();
3519#line 341
3520 tmp___0 = nonseekable_open(inode, file);
3521 }
3522#line 341
3523 return (tmp___0);
3524}
3525}
3526#line 344 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3527static int asr_release(struct inode *inode , struct file *file )
3528{ signed char __cil_tmp3 ;
3529 int __cil_tmp4 ;
3530 unsigned long volatile *__cil_tmp5 ;
3531
3532 {
3533 {
3534#line 346
3535 __cil_tmp3 = (signed char )asr_expect_close;
3536#line 346
3537 __cil_tmp4 = (int )__cil_tmp3;
3538#line 346
3539 if (__cil_tmp4 == 42) {
3540 {
3541#line 347
3542 asr_disable();
3543 }
3544 } else {
3545 {
3546#line 349
3547 printk("<2>ibmasr: unexpected close, not stopping watchdog!\n");
3548#line 350
3549 asr_toggle();
3550 }
3551 }
3552 }
3553 {
3554#line 352
3555 __cil_tmp5 = (unsigned long volatile *)(& asr_is_open);
3556#line 352
3557 clear_bit(0, __cil_tmp5);
3558#line 353
3559 asr_expect_close = (char)0;
3560 }
3561#line 354
3562 return (0);
3563}
3564}
3565#line 357 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3566static struct file_operations const asr_fops =
3567#line 357
3568 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
3569 loff_t * ))0, & asr_write, (ssize_t (*)(struct kiocb * ,
3570 struct iovec const * ,
3571 unsigned long ,
3572 loff_t ))0,
3573 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
3574 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
3575 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
3576 struct poll_table_struct * ))0,
3577 & asr_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0, (int (*)(struct file * ,
3578 struct vm_area_struct * ))0,
3579 & asr_open, (int (*)(struct file * , fl_owner_t ))0, & asr_release, (int (*)(struct file * ,
3580 loff_t ,
3581 loff_t ,
3582 int ))0,
3583 (int (*)(struct kiocb * , int ))0, (int (*)(int , struct file * , int ))0,
3584 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
3585 struct page * ,
3586 int , size_t ,
3587 loff_t * ,
3588 int ))0,
3589 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
3590 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
3591 int , struct file_lock * ))0,
3592 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
3593 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
3594 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
3595 int , loff_t ,
3596 loff_t ))0};
3597#line 366 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3598static struct miscdevice asr_miscdev =
3599#line 366
3600 {130, "watchdog", & asr_fops, {(struct list_head *)0, (struct list_head *)0}, (struct device *)0,
3601 (struct device *)0, (char const *)0, (unsigned short)0};
3602#line 378 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3603static struct ibmasr_id ibmasr_id_table[6U] = { {"IBM Automatic Server Restart - eserver xSeries 220", 1},
3604 {"IBM Automatic Server Restart - Machine Type 8673", 3},
3605 {"IBM Automatic Server Restart - Machine Type 8480", 2},
3606 {"IBM Automatic Server Restart - Machine Type 8482", 4},
3607 {"IBM Automatic Server Restart - Machine Type 8648", 5},
3608 {(char const *)0, 0}};
3609#line 387 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3610static int ibmasr_init(void)
3611{ struct ibmasr_id *id ;
3612 int rc ;
3613 struct dmi_device const *tmp ;
3614 char const *__cil_tmp4 ;
3615 struct dmi_device const *__cil_tmp5 ;
3616 struct dmi_device const *__cil_tmp6 ;
3617 unsigned long __cil_tmp7 ;
3618 unsigned long __cil_tmp8 ;
3619 unsigned long __cil_tmp9 ;
3620 unsigned long __cil_tmp10 ;
3621 int __cil_tmp11 ;
3622 char const *__cil_tmp12 ;
3623 unsigned long __cil_tmp13 ;
3624 char const *__cil_tmp14 ;
3625 unsigned long __cil_tmp15 ;
3626 resource_size_t __cil_tmp16 ;
3627 resource_size_t __cil_tmp17 ;
3628
3629 {
3630#line 392
3631 id = (struct ibmasr_id *)(& ibmasr_id_table);
3632#line 392
3633 goto ldv_23734;
3634 ldv_23733:
3635 {
3636#line 393
3637 __cil_tmp4 = *((char const **)id);
3638#line 393
3639 __cil_tmp5 = (struct dmi_device const *)0;
3640#line 393
3641 tmp = dmi_find_device(1, __cil_tmp4, __cil_tmp5);
3642 }
3643 {
3644#line 393
3645 __cil_tmp6 = (struct dmi_device const *)0;
3646#line 393
3647 __cil_tmp7 = (unsigned long )__cil_tmp6;
3648#line 393
3649 __cil_tmp8 = (unsigned long )tmp;
3650#line 393
3651 if (__cil_tmp8 != __cil_tmp7) {
3652#line 394
3653 __cil_tmp9 = (unsigned long )id;
3654#line 394
3655 __cil_tmp10 = __cil_tmp9 + 8;
3656#line 394
3657 __cil_tmp11 = *((int *)__cil_tmp10);
3658#line 394
3659 asr_type = (unsigned int )__cil_tmp11;
3660#line 395
3661 goto ldv_23732;
3662 } else {
3663
3664 }
3665 }
3666#line 392
3667 id = id + 1;
3668 ldv_23734: ;
3669 {
3670#line 392
3671 __cil_tmp12 = (char const *)0;
3672#line 392
3673 __cil_tmp13 = (unsigned long )__cil_tmp12;
3674#line 392
3675 __cil_tmp14 = *((char const **)id);
3676#line 392
3677 __cil_tmp15 = (unsigned long )__cil_tmp14;
3678#line 392
3679 if (__cil_tmp15 != __cil_tmp13) {
3680#line 393
3681 goto ldv_23733;
3682 } else {
3683#line 395
3684 goto ldv_23732;
3685 }
3686 }
3687 ldv_23732: ;
3688#line 399
3689 if (asr_type == 0U) {
3690#line 400
3691 return (-19);
3692 } else {
3693
3694 }
3695 {
3696#line 402
3697 rc = asr_get_base_address();
3698 }
3699#line 403
3700 if (rc != 0) {
3701#line 404
3702 return (rc);
3703 } else {
3704
3705 }
3706 {
3707#line 406
3708 rc = misc_register(& asr_miscdev);
3709 }
3710#line 407
3711 if (rc < 0) {
3712 {
3713#line 408
3714 __cil_tmp16 = (resource_size_t )asr_base;
3715#line 408
3716 __cil_tmp17 = (resource_size_t )asr_length;
3717#line 408
3718 __release_region(& ioport_resource, __cil_tmp16, __cil_tmp17);
3719#line 409
3720 printk("<3>ibmasr: failed to register misc device\n");
3721 }
3722#line 410
3723 return (rc);
3724 } else {
3725
3726 }
3727#line 413
3728 return (0);
3729}
3730}
3731#line 416 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3732static void ibmasr_exit(void)
3733{ bool *__cil_tmp1 ;
3734 bool __cil_tmp2 ;
3735 resource_size_t __cil_tmp3 ;
3736 resource_size_t __cil_tmp4 ;
3737
3738 {
3739 {
3740#line 418
3741 __cil_tmp1 = & nowayout;
3742#line 418
3743 __cil_tmp2 = *__cil_tmp1;
3744#line 418
3745 if (! __cil_tmp2) {
3746 {
3747#line 419
3748 asr_disable();
3749 }
3750 } else {
3751
3752 }
3753 }
3754 {
3755#line 421
3756 misc_deregister(& asr_miscdev);
3757#line 423
3758 __cil_tmp3 = (resource_size_t )asr_base;
3759#line 423
3760 __cil_tmp4 = (resource_size_t )asr_length;
3761#line 423
3762 __release_region(& ioport_resource, __cil_tmp3, __cil_tmp4);
3763 }
3764#line 424
3765 return;
3766}
3767}
3768#line 455
3769extern void ldv_check_final_state(void) ;
3770#line 458
3771extern void ldv_check_return_value(int ) ;
3772#line 461
3773extern void ldv_initialize(void) ;
3774#line 464
3775extern int __VERIFIER_nondet_int(void) ;
3776#line 467 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3777int LDV_IN_INTERRUPT ;
3778#line 470 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3779void main(void)
3780{ struct file *var_group1 ;
3781 char const *var_asr_write_5_p1 ;
3782 size_t var_asr_write_5_p2 ;
3783 loff_t *var_asr_write_5_p3 ;
3784 ssize_t res_asr_write_5 ;
3785 unsigned int var_asr_ioctl_6_p1 ;
3786 unsigned long var_asr_ioctl_6_p2 ;
3787 struct inode *var_group2 ;
3788 int res_asr_open_7 ;
3789 int ldv_s_asr_fops_file_operations ;
3790 int tmp ;
3791 int tmp___0 ;
3792 int tmp___1 ;
3793 int __cil_tmp14 ;
3794
3795 {
3796 {
3797#line 637
3798 ldv_s_asr_fops_file_operations = 0;
3799#line 598
3800 LDV_IN_INTERRUPT = 1;
3801#line 607
3802 ldv_initialize();
3803#line 635
3804 tmp = ibmasr_init();
3805 }
3806#line 635
3807 if (tmp != 0) {
3808#line 636
3809 goto ldv_final;
3810 } else {
3811
3812 }
3813#line 641
3814 goto ldv_23795;
3815 ldv_23794:
3816 {
3817#line 645
3818 tmp___0 = __VERIFIER_nondet_int();
3819 }
3820#line 647
3821 if (tmp___0 == 0) {
3822#line 647
3823 goto case_0;
3824 } else
3825#line 688
3826 if (tmp___0 == 1) {
3827#line 688
3828 goto case_1;
3829 } else
3830#line 729
3831 if (tmp___0 == 2) {
3832#line 729
3833 goto case_2;
3834 } else
3835#line 767
3836 if (tmp___0 == 3) {
3837#line 767
3838 goto case_3;
3839 } else {
3840 {
3841#line 805
3842 goto switch_default;
3843#line 645
3844 if (0) {
3845 case_0: ;
3846#line 650
3847 if (ldv_s_asr_fops_file_operations == 0) {
3848 {
3849#line 677
3850 res_asr_open_7 = asr_open(var_group2, var_group1);
3851#line 678
3852 ldv_check_return_value(res_asr_open_7);
3853 }
3854#line 679
3855 if (res_asr_open_7 != 0) {
3856#line 680
3857 goto ldv_module_exit;
3858 } else {
3859
3860 }
3861#line 681
3862 ldv_s_asr_fops_file_operations = ldv_s_asr_fops_file_operations + 1;
3863 } else {
3864
3865 }
3866#line 687
3867 goto ldv_23789;
3868 case_1: ;
3869#line 691
3870 if (ldv_s_asr_fops_file_operations == 1) {
3871 {
3872#line 718
3873 res_asr_write_5 = asr_write(var_group1, var_asr_write_5_p1, var_asr_write_5_p2,
3874 var_asr_write_5_p3);
3875#line 719
3876 __cil_tmp14 = (int )res_asr_write_5;
3877#line 719
3878 ldv_check_return_value(__cil_tmp14);
3879 }
3880#line 720
3881 if (res_asr_write_5 < 0L) {
3882#line 721
3883 goto ldv_module_exit;
3884 } else {
3885
3886 }
3887#line 722
3888 ldv_s_asr_fops_file_operations = ldv_s_asr_fops_file_operations + 1;
3889 } else {
3890
3891 }
3892#line 728
3893 goto ldv_23789;
3894 case_2: ;
3895#line 732
3896 if (ldv_s_asr_fops_file_operations == 2) {
3897 {
3898#line 759
3899 asr_release(var_group2, var_group1);
3900#line 760
3901 ldv_s_asr_fops_file_operations = 0;
3902 }
3903 } else {
3904
3905 }
3906#line 766
3907 goto ldv_23789;
3908 case_3:
3909 {
3910#line 797
3911 asr_ioctl(var_group1, var_asr_ioctl_6_p1, var_asr_ioctl_6_p2);
3912 }
3913#line 804
3914 goto ldv_23789;
3915 switch_default: ;
3916#line 805
3917 goto ldv_23789;
3918 } else {
3919 switch_break: ;
3920 }
3921 }
3922 }
3923 ldv_23789: ;
3924 ldv_23795:
3925 {
3926#line 641
3927 tmp___1 = __VERIFIER_nondet_int();
3928 }
3929#line 641
3930 if (tmp___1 != 0) {
3931#line 643
3932 goto ldv_23794;
3933 } else
3934#line 641
3935 if (ldv_s_asr_fops_file_operations != 0) {
3936#line 643
3937 goto ldv_23794;
3938 } else {
3939#line 645
3940 goto ldv_23796;
3941 }
3942 ldv_23796: ;
3943 ldv_module_exit:
3944 {
3945#line 839
3946 ibmasr_exit();
3947 }
3948 ldv_final:
3949 {
3950#line 842
3951 ldv_check_final_state();
3952 }
3953#line 845
3954 return;
3955}
3956}
3957#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3958void ldv_blast_assert(void)
3959{
3960
3961 {
3962 ERROR: ;
3963#line 6
3964 goto ERROR;
3965}
3966}
3967#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3968extern int __VERIFIER_nondet_int(void) ;
3969#line 866 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3970int ldv_spin = 0;
3971#line 870 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3972void ldv_check_alloc_flags(gfp_t flags )
3973{
3974
3975 {
3976#line 873
3977 if (ldv_spin != 0) {
3978#line 873
3979 if (flags != 32U) {
3980 {
3981#line 873
3982 ldv_blast_assert();
3983 }
3984 } else {
3985
3986 }
3987 } else {
3988
3989 }
3990#line 876
3991 return;
3992}
3993}
3994#line 876
3995extern struct page *ldv_some_page(void) ;
3996#line 879 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
3997struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3998{ struct page *tmp ;
3999
4000 {
4001#line 882
4002 if (ldv_spin != 0) {
4003#line 882
4004 if (flags != 32U) {
4005 {
4006#line 882
4007 ldv_blast_assert();
4008 }
4009 } else {
4010
4011 }
4012 } else {
4013
4014 }
4015 {
4016#line 884
4017 tmp = ldv_some_page();
4018 }
4019#line 884
4020 return (tmp);
4021}
4022}
4023#line 888 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
4024void ldv_check_alloc_nonatomic(void)
4025{
4026
4027 {
4028#line 891
4029 if (ldv_spin != 0) {
4030 {
4031#line 891
4032 ldv_blast_assert();
4033 }
4034 } else {
4035
4036 }
4037#line 894
4038 return;
4039}
4040}
4041#line 895 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
4042void ldv_spin_lock(void)
4043{
4044
4045 {
4046#line 898
4047 ldv_spin = 1;
4048#line 899
4049 return;
4050}
4051}
4052#line 902 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
4053void ldv_spin_unlock(void)
4054{
4055
4056 {
4057#line 905
4058 ldv_spin = 0;
4059#line 906
4060 return;
4061}
4062}
4063#line 909 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
4064int ldv_spin_trylock(void)
4065{ int is_lock ;
4066
4067 {
4068 {
4069#line 914
4070 is_lock = __VERIFIER_nondet_int();
4071 }
4072#line 916
4073 if (is_lock != 0) {
4074#line 919
4075 return (0);
4076 } else {
4077#line 924
4078 ldv_spin = 1;
4079#line 926
4080 return (1);
4081 }
4082}
4083}
4084#line 930 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
4085__inline static void spin_lock(spinlock_t *lock )
4086{
4087
4088 {
4089 {
4090#line 935
4091 ldv_spin_lock();
4092#line 937
4093 ldv_spin_lock_1(lock);
4094 }
4095#line 938
4096 return;
4097}
4098}
4099#line 972 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
4100__inline static void spin_unlock(spinlock_t *lock )
4101{
4102
4103 {
4104 {
4105#line 977
4106 ldv_spin_unlock();
4107#line 979
4108 ldv_spin_unlock_5(lock);
4109 }
4110#line 980
4111 return;
4112}
4113}
4114#line 1093 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17348/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/ibmasr.c.p"
4115void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
4116{
4117
4118 {
4119 {
4120#line 1099
4121 ldv_check_alloc_flags(ldv_func_arg2);
4122#line 1101
4123 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
4124 }
4125#line 1102
4126 return ((void *)0);
4127}
4128}