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 107 "include/linux/types.h"
69typedef __s8 int8_t;
70#line 111 "include/linux/types.h"
71typedef __s32 int32_t;
72#line 115 "include/linux/types.h"
73typedef __u8 uint8_t;
74#line 116 "include/linux/types.h"
75typedef __u16 uint16_t;
76#line 117 "include/linux/types.h"
77typedef __u32 uint32_t;
78#line 142 "include/linux/types.h"
79typedef unsigned long sector_t;
80#line 143 "include/linux/types.h"
81typedef unsigned long blkcnt_t;
82#line 202 "include/linux/types.h"
83typedef unsigned int gfp_t;
84#line 203 "include/linux/types.h"
85typedef unsigned int fmode_t;
86#line 219 "include/linux/types.h"
87struct __anonstruct_atomic_t_7 {
88 int counter ;
89};
90#line 219 "include/linux/types.h"
91typedef struct __anonstruct_atomic_t_7 atomic_t;
92#line 224 "include/linux/types.h"
93struct __anonstruct_atomic64_t_8 {
94 long counter ;
95};
96#line 224 "include/linux/types.h"
97typedef struct __anonstruct_atomic64_t_8 atomic64_t;
98#line 229 "include/linux/types.h"
99struct list_head {
100 struct list_head *next ;
101 struct list_head *prev ;
102};
103#line 233
104struct hlist_node;
105#line 233 "include/linux/types.h"
106struct hlist_head {
107 struct hlist_node *first ;
108};
109#line 237 "include/linux/types.h"
110struct hlist_node {
111 struct hlist_node *next ;
112 struct hlist_node **pprev ;
113};
114#line 253 "include/linux/types.h"
115struct rcu_head {
116 struct rcu_head *next ;
117 void (*func)(struct rcu_head *head ) ;
118};
119#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
120struct module;
121#line 56
122struct module;
123#line 146 "include/linux/init.h"
124typedef void (*ctor_fn_t)(void);
125#line 47 "include/linux/dynamic_debug.h"
126struct device;
127#line 47
128struct device;
129#line 135 "include/linux/kernel.h"
130struct completion;
131#line 135
132struct completion;
133#line 349
134struct pid;
135#line 349
136struct pid;
137#line 12 "include/linux/thread_info.h"
138struct timespec;
139#line 12
140struct timespec;
141#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
142struct page;
143#line 18
144struct page;
145#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
146struct task_struct;
147#line 20
148struct task_struct;
149#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
150struct task_struct;
151#line 8
152struct mm_struct;
153#line 8
154struct mm_struct;
155#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
156typedef unsigned long pgdval_t;
157#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
158typedef unsigned long pgprotval_t;
159#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
160struct pgprot {
161 pgprotval_t pgprot ;
162};
163#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
164typedef struct pgprot pgprot_t;
165#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
166struct __anonstruct_pgd_t_20 {
167 pgdval_t pgd ;
168};
169#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
170typedef struct __anonstruct_pgd_t_20 pgd_t;
171#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
172typedef struct page *pgtable_t;
173#line 295
174struct file;
175#line 295
176struct file;
177#line 313
178struct seq_file;
179#line 313
180struct seq_file;
181#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
182struct page;
183#line 50
184struct mm_struct;
185#line 52
186struct task_struct;
187#line 53
188struct cpumask;
189#line 53
190struct cpumask;
191#line 329
192struct arch_spinlock;
193#line 329
194struct arch_spinlock;
195#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
196struct task_struct;
197#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
198struct task_struct;
199#line 10 "include/asm-generic/bug.h"
200struct bug_entry {
201 int bug_addr_disp ;
202 int file_disp ;
203 unsigned short line ;
204 unsigned short flags ;
205};
206#line 14 "include/linux/cpumask.h"
207struct cpumask {
208 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
209};
210#line 637 "include/linux/cpumask.h"
211typedef struct cpumask *cpumask_var_t;
212#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
213struct static_key;
214#line 234
215struct static_key;
216#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
217struct kmem_cache;
218#line 23 "include/asm-generic/atomic-long.h"
219typedef atomic64_t atomic_long_t;
220#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
221typedef u16 __ticket_t;
222#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
223typedef u32 __ticketpair_t;
224#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
225struct __raw_tickets {
226 __ticket_t head ;
227 __ticket_t tail ;
228};
229#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
230union __anonunion____missing_field_name_36 {
231 __ticketpair_t head_tail ;
232 struct __raw_tickets tickets ;
233};
234#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
235struct arch_spinlock {
236 union __anonunion____missing_field_name_36 __annonCompField17 ;
237};
238#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
239typedef struct arch_spinlock arch_spinlock_t;
240#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
241struct __anonstruct____missing_field_name_38 {
242 u32 read ;
243 s32 write ;
244};
245#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
246union __anonunion_arch_rwlock_t_37 {
247 s64 lock ;
248 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
249};
250#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
251typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
252#line 12 "include/linux/lockdep.h"
253struct task_struct;
254#line 391 "include/linux/lockdep.h"
255struct lock_class_key {
256
257};
258#line 20 "include/linux/spinlock_types.h"
259struct raw_spinlock {
260 arch_spinlock_t raw_lock ;
261 unsigned int magic ;
262 unsigned int owner_cpu ;
263 void *owner ;
264};
265#line 20 "include/linux/spinlock_types.h"
266typedef struct raw_spinlock raw_spinlock_t;
267#line 64 "include/linux/spinlock_types.h"
268union __anonunion____missing_field_name_39 {
269 struct raw_spinlock rlock ;
270};
271#line 64 "include/linux/spinlock_types.h"
272struct spinlock {
273 union __anonunion____missing_field_name_39 __annonCompField19 ;
274};
275#line 64 "include/linux/spinlock_types.h"
276typedef struct spinlock spinlock_t;
277#line 11 "include/linux/rwlock_types.h"
278struct __anonstruct_rwlock_t_40 {
279 arch_rwlock_t raw_lock ;
280 unsigned int magic ;
281 unsigned int owner_cpu ;
282 void *owner ;
283};
284#line 11 "include/linux/rwlock_types.h"
285typedef struct __anonstruct_rwlock_t_40 rwlock_t;
286#line 119 "include/linux/seqlock.h"
287struct seqcount {
288 unsigned int sequence ;
289};
290#line 119 "include/linux/seqlock.h"
291typedef struct seqcount seqcount_t;
292#line 14 "include/linux/time.h"
293struct timespec {
294 __kernel_time_t tv_sec ;
295 long tv_nsec ;
296};
297#line 62 "include/linux/stat.h"
298struct kstat {
299 u64 ino ;
300 dev_t dev ;
301 umode_t mode ;
302 unsigned int nlink ;
303 uid_t uid ;
304 gid_t gid ;
305 dev_t rdev ;
306 loff_t size ;
307 struct timespec atime ;
308 struct timespec mtime ;
309 struct timespec ctime ;
310 unsigned long blksize ;
311 unsigned long long blocks ;
312};
313#line 49 "include/linux/wait.h"
314struct __wait_queue_head {
315 spinlock_t lock ;
316 struct list_head task_list ;
317};
318#line 53 "include/linux/wait.h"
319typedef struct __wait_queue_head wait_queue_head_t;
320#line 55
321struct task_struct;
322#line 98 "include/linux/nodemask.h"
323struct __anonstruct_nodemask_t_42 {
324 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
325};
326#line 98 "include/linux/nodemask.h"
327typedef struct __anonstruct_nodemask_t_42 nodemask_t;
328#line 60 "include/linux/pageblock-flags.h"
329struct page;
330#line 48 "include/linux/mutex.h"
331struct mutex {
332 atomic_t count ;
333 spinlock_t wait_lock ;
334 struct list_head wait_list ;
335 struct task_struct *owner ;
336 char const *name ;
337 void *magic ;
338};
339#line 19 "include/linux/rwsem.h"
340struct rw_semaphore;
341#line 19
342struct rw_semaphore;
343#line 25 "include/linux/rwsem.h"
344struct rw_semaphore {
345 long count ;
346 raw_spinlock_t wait_lock ;
347 struct list_head wait_list ;
348};
349#line 25 "include/linux/completion.h"
350struct completion {
351 unsigned int done ;
352 wait_queue_head_t wait ;
353};
354#line 9 "include/linux/memory_hotplug.h"
355struct page;
356#line 202 "include/linux/ioport.h"
357struct device;
358#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
359struct device;
360#line 46 "include/linux/ktime.h"
361union ktime {
362 s64 tv64 ;
363};
364#line 59 "include/linux/ktime.h"
365typedef union ktime ktime_t;
366#line 10 "include/linux/timer.h"
367struct tvec_base;
368#line 10
369struct tvec_base;
370#line 12 "include/linux/timer.h"
371struct timer_list {
372 struct list_head entry ;
373 unsigned long expires ;
374 struct tvec_base *base ;
375 void (*function)(unsigned long ) ;
376 unsigned long data ;
377 int slack ;
378 int start_pid ;
379 void *start_site ;
380 char start_comm[16] ;
381};
382#line 17 "include/linux/workqueue.h"
383struct work_struct;
384#line 17
385struct work_struct;
386#line 79 "include/linux/workqueue.h"
387struct work_struct {
388 atomic_long_t data ;
389 struct list_head entry ;
390 void (*func)(struct work_struct *work ) ;
391};
392#line 42 "include/linux/pm.h"
393struct device;
394#line 50 "include/linux/pm.h"
395struct pm_message {
396 int event ;
397};
398#line 50 "include/linux/pm.h"
399typedef struct pm_message pm_message_t;
400#line 264 "include/linux/pm.h"
401struct dev_pm_ops {
402 int (*prepare)(struct device *dev ) ;
403 void (*complete)(struct device *dev ) ;
404 int (*suspend)(struct device *dev ) ;
405 int (*resume)(struct device *dev ) ;
406 int (*freeze)(struct device *dev ) ;
407 int (*thaw)(struct device *dev ) ;
408 int (*poweroff)(struct device *dev ) ;
409 int (*restore)(struct device *dev ) ;
410 int (*suspend_late)(struct device *dev ) ;
411 int (*resume_early)(struct device *dev ) ;
412 int (*freeze_late)(struct device *dev ) ;
413 int (*thaw_early)(struct device *dev ) ;
414 int (*poweroff_late)(struct device *dev ) ;
415 int (*restore_early)(struct device *dev ) ;
416 int (*suspend_noirq)(struct device *dev ) ;
417 int (*resume_noirq)(struct device *dev ) ;
418 int (*freeze_noirq)(struct device *dev ) ;
419 int (*thaw_noirq)(struct device *dev ) ;
420 int (*poweroff_noirq)(struct device *dev ) ;
421 int (*restore_noirq)(struct device *dev ) ;
422 int (*runtime_suspend)(struct device *dev ) ;
423 int (*runtime_resume)(struct device *dev ) ;
424 int (*runtime_idle)(struct device *dev ) ;
425};
426#line 458
427enum rpm_status {
428 RPM_ACTIVE = 0,
429 RPM_RESUMING = 1,
430 RPM_SUSPENDED = 2,
431 RPM_SUSPENDING = 3
432} ;
433#line 480
434enum rpm_request {
435 RPM_REQ_NONE = 0,
436 RPM_REQ_IDLE = 1,
437 RPM_REQ_SUSPEND = 2,
438 RPM_REQ_AUTOSUSPEND = 3,
439 RPM_REQ_RESUME = 4
440} ;
441#line 488
442struct wakeup_source;
443#line 488
444struct wakeup_source;
445#line 495 "include/linux/pm.h"
446struct pm_subsys_data {
447 spinlock_t lock ;
448 unsigned int refcount ;
449};
450#line 506
451struct dev_pm_qos_request;
452#line 506
453struct pm_qos_constraints;
454#line 506 "include/linux/pm.h"
455struct dev_pm_info {
456 pm_message_t power_state ;
457 unsigned int can_wakeup : 1 ;
458 unsigned int async_suspend : 1 ;
459 bool is_prepared : 1 ;
460 bool is_suspended : 1 ;
461 bool ignore_children : 1 ;
462 spinlock_t lock ;
463 struct list_head entry ;
464 struct completion completion ;
465 struct wakeup_source *wakeup ;
466 bool wakeup_path : 1 ;
467 struct timer_list suspend_timer ;
468 unsigned long timer_expires ;
469 struct work_struct work ;
470 wait_queue_head_t wait_queue ;
471 atomic_t usage_count ;
472 atomic_t child_count ;
473 unsigned int disable_depth : 3 ;
474 unsigned int idle_notification : 1 ;
475 unsigned int request_pending : 1 ;
476 unsigned int deferred_resume : 1 ;
477 unsigned int run_wake : 1 ;
478 unsigned int runtime_auto : 1 ;
479 unsigned int no_callbacks : 1 ;
480 unsigned int irq_safe : 1 ;
481 unsigned int use_autosuspend : 1 ;
482 unsigned int timer_autosuspends : 1 ;
483 enum rpm_request request ;
484 enum rpm_status runtime_status ;
485 int runtime_error ;
486 int autosuspend_delay ;
487 unsigned long last_busy ;
488 unsigned long active_jiffies ;
489 unsigned long suspended_jiffies ;
490 unsigned long accounting_timestamp ;
491 ktime_t suspend_time ;
492 s64 max_time_suspended_ns ;
493 struct dev_pm_qos_request *pq_req ;
494 struct pm_subsys_data *subsys_data ;
495 struct pm_qos_constraints *constraints ;
496};
497#line 564 "include/linux/pm.h"
498struct dev_pm_domain {
499 struct dev_pm_ops ops ;
500};
501#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
502struct __anonstruct_mm_context_t_112 {
503 void *ldt ;
504 int size ;
505 unsigned short ia32_compat ;
506 struct mutex lock ;
507 void *vdso ;
508};
509#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
510typedef struct __anonstruct_mm_context_t_112 mm_context_t;
511#line 8 "include/linux/vmalloc.h"
512struct vm_area_struct;
513#line 8
514struct vm_area_struct;
515#line 4 "include/xen/xen.h"
516enum xen_domain_type {
517 XEN_NATIVE = 0,
518 XEN_PV_DOMAIN = 1,
519 XEN_HVM_DOMAIN = 2
520} ;
521#line 236 "include/xen/interface/xen.h"
522typedef uint16_t domid_t;
523#line 426 "include/xen/interface/xen.h"
524struct __anonstruct_domU_127 {
525 unsigned long mfn ;
526 uint32_t evtchn ;
527};
528#line 426 "include/xen/interface/xen.h"
529struct __anonstruct_dom0_128 {
530 uint32_t info_off ;
531 uint32_t info_size ;
532};
533#line 426 "include/xen/interface/xen.h"
534union __anonunion_console_126 {
535 struct __anonstruct_domU_127 domU ;
536 struct __anonstruct_dom0_128 dom0 ;
537};
538#line 426 "include/xen/interface/xen.h"
539struct start_info {
540 char magic[32] ;
541 unsigned long nr_pages ;
542 unsigned long shared_info ;
543 uint32_t flags ;
544 unsigned long store_mfn ;
545 uint32_t store_evtchn ;
546 union __anonunion_console_126 console ;
547 unsigned long pt_base ;
548 unsigned long nr_pt_frames ;
549 unsigned long mfn_list ;
550 unsigned long mod_start ;
551 unsigned long mod_len ;
552 int8_t cmd_line[1024] ;
553};
554#line 994 "include/linux/mmzone.h"
555struct page;
556#line 10 "include/linux/gfp.h"
557struct vm_area_struct;
558#line 29 "include/linux/sysctl.h"
559struct completion;
560#line 100 "include/linux/rbtree.h"
561struct rb_node {
562 unsigned long rb_parent_color ;
563 struct rb_node *rb_right ;
564 struct rb_node *rb_left ;
565} __attribute__((__aligned__(sizeof(long )))) ;
566#line 110 "include/linux/rbtree.h"
567struct rb_root {
568 struct rb_node *rb_node ;
569};
570#line 48 "include/linux/kmod.h"
571struct cred;
572#line 48
573struct cred;
574#line 49
575struct file;
576#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
577struct task_struct;
578#line 18 "include/linux/elf.h"
579typedef __u64 Elf64_Addr;
580#line 19 "include/linux/elf.h"
581typedef __u16 Elf64_Half;
582#line 23 "include/linux/elf.h"
583typedef __u32 Elf64_Word;
584#line 24 "include/linux/elf.h"
585typedef __u64 Elf64_Xword;
586#line 194 "include/linux/elf.h"
587struct elf64_sym {
588 Elf64_Word st_name ;
589 unsigned char st_info ;
590 unsigned char st_other ;
591 Elf64_Half st_shndx ;
592 Elf64_Addr st_value ;
593 Elf64_Xword st_size ;
594};
595#line 194 "include/linux/elf.h"
596typedef struct elf64_sym Elf64_Sym;
597#line 438
598struct file;
599#line 20 "include/linux/kobject_ns.h"
600struct sock;
601#line 20
602struct sock;
603#line 21
604struct kobject;
605#line 21
606struct kobject;
607#line 27
608enum kobj_ns_type {
609 KOBJ_NS_TYPE_NONE = 0,
610 KOBJ_NS_TYPE_NET = 1,
611 KOBJ_NS_TYPES = 2
612} ;
613#line 40 "include/linux/kobject_ns.h"
614struct kobj_ns_type_operations {
615 enum kobj_ns_type type ;
616 void *(*grab_current_ns)(void) ;
617 void const *(*netlink_ns)(struct sock *sk ) ;
618 void const *(*initial_ns)(void) ;
619 void (*drop_ns)(void * ) ;
620};
621#line 22 "include/linux/sysfs.h"
622struct kobject;
623#line 23
624struct module;
625#line 24
626enum kobj_ns_type;
627#line 26 "include/linux/sysfs.h"
628struct attribute {
629 char const *name ;
630 umode_t mode ;
631};
632#line 56 "include/linux/sysfs.h"
633struct attribute_group {
634 char const *name ;
635 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
636 struct attribute **attrs ;
637};
638#line 85
639struct file;
640#line 86
641struct vm_area_struct;
642#line 88 "include/linux/sysfs.h"
643struct bin_attribute {
644 struct attribute attr ;
645 size_t size ;
646 void *private ;
647 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
648 loff_t , size_t ) ;
649 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
650 loff_t , size_t ) ;
651 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
652};
653#line 112 "include/linux/sysfs.h"
654struct sysfs_ops {
655 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
656 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
657 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
658};
659#line 118
660struct sysfs_dirent;
661#line 118
662struct sysfs_dirent;
663#line 22 "include/linux/kref.h"
664struct kref {
665 atomic_t refcount ;
666};
667#line 60 "include/linux/kobject.h"
668struct kset;
669#line 60
670struct kobj_type;
671#line 60 "include/linux/kobject.h"
672struct kobject {
673 char const *name ;
674 struct list_head entry ;
675 struct kobject *parent ;
676 struct kset *kset ;
677 struct kobj_type *ktype ;
678 struct sysfs_dirent *sd ;
679 struct kref kref ;
680 unsigned int state_initialized : 1 ;
681 unsigned int state_in_sysfs : 1 ;
682 unsigned int state_add_uevent_sent : 1 ;
683 unsigned int state_remove_uevent_sent : 1 ;
684 unsigned int uevent_suppress : 1 ;
685};
686#line 108 "include/linux/kobject.h"
687struct kobj_type {
688 void (*release)(struct kobject *kobj ) ;
689 struct sysfs_ops const *sysfs_ops ;
690 struct attribute **default_attrs ;
691 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
692 void const *(*namespace)(struct kobject *kobj ) ;
693};
694#line 116 "include/linux/kobject.h"
695struct kobj_uevent_env {
696 char *envp[32] ;
697 int envp_idx ;
698 char buf[2048] ;
699 int buflen ;
700};
701#line 123 "include/linux/kobject.h"
702struct kset_uevent_ops {
703 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
704 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
705 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
706};
707#line 140
708struct sock;
709#line 159 "include/linux/kobject.h"
710struct kset {
711 struct list_head list ;
712 spinlock_t list_lock ;
713 struct kobject kobj ;
714 struct kset_uevent_ops const *uevent_ops ;
715};
716#line 39 "include/linux/moduleparam.h"
717struct kernel_param;
718#line 39
719struct kernel_param;
720#line 41 "include/linux/moduleparam.h"
721struct kernel_param_ops {
722 int (*set)(char const *val , struct kernel_param const *kp ) ;
723 int (*get)(char *buffer , struct kernel_param const *kp ) ;
724 void (*free)(void *arg ) ;
725};
726#line 50
727struct kparam_string;
728#line 50
729struct kparam_array;
730#line 50 "include/linux/moduleparam.h"
731union __anonunion____missing_field_name_199 {
732 void *arg ;
733 struct kparam_string const *str ;
734 struct kparam_array const *arr ;
735};
736#line 50 "include/linux/moduleparam.h"
737struct kernel_param {
738 char const *name ;
739 struct kernel_param_ops const *ops ;
740 u16 perm ;
741 s16 level ;
742 union __anonunion____missing_field_name_199 __annonCompField32 ;
743};
744#line 63 "include/linux/moduleparam.h"
745struct kparam_string {
746 unsigned int maxlen ;
747 char *string ;
748};
749#line 69 "include/linux/moduleparam.h"
750struct kparam_array {
751 unsigned int max ;
752 unsigned int elemsize ;
753 unsigned int *num ;
754 struct kernel_param_ops const *ops ;
755 void *elem ;
756};
757#line 445
758struct module;
759#line 80 "include/linux/jump_label.h"
760struct module;
761#line 143 "include/linux/jump_label.h"
762struct static_key {
763 atomic_t enabled ;
764};
765#line 22 "include/linux/tracepoint.h"
766struct module;
767#line 23
768struct tracepoint;
769#line 23
770struct tracepoint;
771#line 25 "include/linux/tracepoint.h"
772struct tracepoint_func {
773 void *func ;
774 void *data ;
775};
776#line 30 "include/linux/tracepoint.h"
777struct tracepoint {
778 char const *name ;
779 struct static_key key ;
780 void (*regfunc)(void) ;
781 void (*unregfunc)(void) ;
782 struct tracepoint_func *funcs ;
783};
784#line 19 "include/linux/export.h"
785struct kernel_symbol {
786 unsigned long value ;
787 char const *name ;
788};
789#line 8 "include/asm-generic/module.h"
790struct mod_arch_specific {
791
792};
793#line 35 "include/linux/module.h"
794struct module;
795#line 37
796struct module_param_attrs;
797#line 37 "include/linux/module.h"
798struct module_kobject {
799 struct kobject kobj ;
800 struct module *mod ;
801 struct kobject *drivers_dir ;
802 struct module_param_attrs *mp ;
803};
804#line 44 "include/linux/module.h"
805struct module_attribute {
806 struct attribute attr ;
807 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
808 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
809 size_t count ) ;
810 void (*setup)(struct module * , char const * ) ;
811 int (*test)(struct module * ) ;
812 void (*free)(struct module * ) ;
813};
814#line 71
815struct exception_table_entry;
816#line 71
817struct exception_table_entry;
818#line 199
819enum module_state {
820 MODULE_STATE_LIVE = 0,
821 MODULE_STATE_COMING = 1,
822 MODULE_STATE_GOING = 2
823} ;
824#line 215 "include/linux/module.h"
825struct module_ref {
826 unsigned long incs ;
827 unsigned long decs ;
828} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
829#line 220
830struct module_sect_attrs;
831#line 220
832struct module_notes_attrs;
833#line 220
834struct ftrace_event_call;
835#line 220 "include/linux/module.h"
836struct module {
837 enum module_state state ;
838 struct list_head list ;
839 char name[64UL - sizeof(unsigned long )] ;
840 struct module_kobject mkobj ;
841 struct module_attribute *modinfo_attrs ;
842 char const *version ;
843 char const *srcversion ;
844 struct kobject *holders_dir ;
845 struct kernel_symbol const *syms ;
846 unsigned long const *crcs ;
847 unsigned int num_syms ;
848 struct kernel_param *kp ;
849 unsigned int num_kp ;
850 unsigned int num_gpl_syms ;
851 struct kernel_symbol const *gpl_syms ;
852 unsigned long const *gpl_crcs ;
853 struct kernel_symbol const *unused_syms ;
854 unsigned long const *unused_crcs ;
855 unsigned int num_unused_syms ;
856 unsigned int num_unused_gpl_syms ;
857 struct kernel_symbol const *unused_gpl_syms ;
858 unsigned long const *unused_gpl_crcs ;
859 struct kernel_symbol const *gpl_future_syms ;
860 unsigned long const *gpl_future_crcs ;
861 unsigned int num_gpl_future_syms ;
862 unsigned int num_exentries ;
863 struct exception_table_entry *extable ;
864 int (*init)(void) ;
865 void *module_init ;
866 void *module_core ;
867 unsigned int init_size ;
868 unsigned int core_size ;
869 unsigned int init_text_size ;
870 unsigned int core_text_size ;
871 unsigned int init_ro_size ;
872 unsigned int core_ro_size ;
873 struct mod_arch_specific arch ;
874 unsigned int taints ;
875 unsigned int num_bugs ;
876 struct list_head bug_list ;
877 struct bug_entry *bug_table ;
878 Elf64_Sym *symtab ;
879 Elf64_Sym *core_symtab ;
880 unsigned int num_symtab ;
881 unsigned int core_num_syms ;
882 char *strtab ;
883 char *core_strtab ;
884 struct module_sect_attrs *sect_attrs ;
885 struct module_notes_attrs *notes_attrs ;
886 char *args ;
887 void *percpu ;
888 unsigned int percpu_size ;
889 unsigned int num_tracepoints ;
890 struct tracepoint * const *tracepoints_ptrs ;
891 unsigned int num_trace_bprintk_fmt ;
892 char const **trace_bprintk_fmt_start ;
893 struct ftrace_event_call **trace_events ;
894 unsigned int num_trace_events ;
895 struct list_head source_list ;
896 struct list_head target_list ;
897 struct task_struct *waiter ;
898 void (*exit)(void) ;
899 struct module_ref *refptr ;
900 ctor_fn_t *ctors ;
901 unsigned int num_ctors ;
902};
903#line 43 "include/linux/input.h"
904struct input_id {
905 __u16 bustype ;
906 __u16 vendor ;
907 __u16 product ;
908 __u16 version ;
909};
910#line 69 "include/linux/input.h"
911struct input_absinfo {
912 __s32 value ;
913 __s32 minimum ;
914 __s32 maximum ;
915 __s32 fuzz ;
916 __s32 flat ;
917 __s32 resolution ;
918};
919#line 93 "include/linux/input.h"
920struct input_keymap_entry {
921 __u8 flags ;
922 __u8 len ;
923 __u16 index ;
924 __u32 keycode ;
925 __u8 scancode[32] ;
926};
927#line 957 "include/linux/input.h"
928struct ff_replay {
929 __u16 length ;
930 __u16 delay ;
931};
932#line 967 "include/linux/input.h"
933struct ff_trigger {
934 __u16 button ;
935 __u16 interval ;
936};
937#line 984 "include/linux/input.h"
938struct ff_envelope {
939 __u16 attack_length ;
940 __u16 attack_level ;
941 __u16 fade_length ;
942 __u16 fade_level ;
943};
944#line 996 "include/linux/input.h"
945struct ff_constant_effect {
946 __s16 level ;
947 struct ff_envelope envelope ;
948};
949#line 1007 "include/linux/input.h"
950struct ff_ramp_effect {
951 __s16 start_level ;
952 __s16 end_level ;
953 struct ff_envelope envelope ;
954};
955#line 1023 "include/linux/input.h"
956struct ff_condition_effect {
957 __u16 right_saturation ;
958 __u16 left_saturation ;
959 __s16 right_coeff ;
960 __s16 left_coeff ;
961 __u16 deadband ;
962 __s16 center ;
963};
964#line 1052 "include/linux/input.h"
965struct ff_periodic_effect {
966 __u16 waveform ;
967 __u16 period ;
968 __s16 magnitude ;
969 __s16 offset ;
970 __u16 phase ;
971 struct ff_envelope envelope ;
972 __u32 custom_len ;
973 __s16 *custom_data ;
974};
975#line 1073 "include/linux/input.h"
976struct ff_rumble_effect {
977 __u16 strong_magnitude ;
978 __u16 weak_magnitude ;
979};
980#line 1101 "include/linux/input.h"
981union __anonunion_u_201 {
982 struct ff_constant_effect constant ;
983 struct ff_ramp_effect ramp ;
984 struct ff_periodic_effect periodic ;
985 struct ff_condition_effect condition[2] ;
986 struct ff_rumble_effect rumble ;
987};
988#line 1101 "include/linux/input.h"
989struct ff_effect {
990 __u16 type ;
991 __s16 id ;
992 __u16 direction ;
993 struct ff_trigger trigger ;
994 struct ff_replay replay ;
995 union __anonunion_u_201 u ;
996};
997#line 19 "include/linux/klist.h"
998struct klist_node;
999#line 19
1000struct klist_node;
1001#line 39 "include/linux/klist.h"
1002struct klist_node {
1003 void *n_klist ;
1004 struct list_head n_node ;
1005 struct kref n_ref ;
1006};
1007#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1008struct dma_map_ops;
1009#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1010struct dev_archdata {
1011 void *acpi_handle ;
1012 struct dma_map_ops *dma_ops ;
1013 void *iommu ;
1014};
1015#line 28 "include/linux/device.h"
1016struct device;
1017#line 29
1018struct device_private;
1019#line 29
1020struct device_private;
1021#line 30
1022struct device_driver;
1023#line 30
1024struct device_driver;
1025#line 31
1026struct driver_private;
1027#line 31
1028struct driver_private;
1029#line 32
1030struct module;
1031#line 33
1032struct class;
1033#line 33
1034struct class;
1035#line 34
1036struct subsys_private;
1037#line 34
1038struct subsys_private;
1039#line 35
1040struct bus_type;
1041#line 35
1042struct bus_type;
1043#line 36
1044struct device_node;
1045#line 36
1046struct device_node;
1047#line 37
1048struct iommu_ops;
1049#line 37
1050struct iommu_ops;
1051#line 39 "include/linux/device.h"
1052struct bus_attribute {
1053 struct attribute attr ;
1054 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1055 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1056};
1057#line 89
1058struct device_attribute;
1059#line 89
1060struct driver_attribute;
1061#line 89 "include/linux/device.h"
1062struct bus_type {
1063 char const *name ;
1064 char const *dev_name ;
1065 struct device *dev_root ;
1066 struct bus_attribute *bus_attrs ;
1067 struct device_attribute *dev_attrs ;
1068 struct driver_attribute *drv_attrs ;
1069 int (*match)(struct device *dev , struct device_driver *drv ) ;
1070 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1071 int (*probe)(struct device *dev ) ;
1072 int (*remove)(struct device *dev ) ;
1073 void (*shutdown)(struct device *dev ) ;
1074 int (*suspend)(struct device *dev , pm_message_t state ) ;
1075 int (*resume)(struct device *dev ) ;
1076 struct dev_pm_ops const *pm ;
1077 struct iommu_ops *iommu_ops ;
1078 struct subsys_private *p ;
1079};
1080#line 127
1081struct device_type;
1082#line 214
1083struct of_device_id;
1084#line 214 "include/linux/device.h"
1085struct device_driver {
1086 char const *name ;
1087 struct bus_type *bus ;
1088 struct module *owner ;
1089 char const *mod_name ;
1090 bool suppress_bind_attrs ;
1091 struct of_device_id const *of_match_table ;
1092 int (*probe)(struct device *dev ) ;
1093 int (*remove)(struct device *dev ) ;
1094 void (*shutdown)(struct device *dev ) ;
1095 int (*suspend)(struct device *dev , pm_message_t state ) ;
1096 int (*resume)(struct device *dev ) ;
1097 struct attribute_group const **groups ;
1098 struct dev_pm_ops const *pm ;
1099 struct driver_private *p ;
1100};
1101#line 249 "include/linux/device.h"
1102struct driver_attribute {
1103 struct attribute attr ;
1104 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1105 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1106};
1107#line 330
1108struct class_attribute;
1109#line 330 "include/linux/device.h"
1110struct class {
1111 char const *name ;
1112 struct module *owner ;
1113 struct class_attribute *class_attrs ;
1114 struct device_attribute *dev_attrs ;
1115 struct bin_attribute *dev_bin_attrs ;
1116 struct kobject *dev_kobj ;
1117 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1118 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1119 void (*class_release)(struct class *class ) ;
1120 void (*dev_release)(struct device *dev ) ;
1121 int (*suspend)(struct device *dev , pm_message_t state ) ;
1122 int (*resume)(struct device *dev ) ;
1123 struct kobj_ns_type_operations const *ns_type ;
1124 void const *(*namespace)(struct device *dev ) ;
1125 struct dev_pm_ops const *pm ;
1126 struct subsys_private *p ;
1127};
1128#line 397 "include/linux/device.h"
1129struct class_attribute {
1130 struct attribute attr ;
1131 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1132 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1133 size_t count ) ;
1134 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1135};
1136#line 465 "include/linux/device.h"
1137struct device_type {
1138 char const *name ;
1139 struct attribute_group const **groups ;
1140 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1141 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1142 void (*release)(struct device *dev ) ;
1143 struct dev_pm_ops const *pm ;
1144};
1145#line 476 "include/linux/device.h"
1146struct device_attribute {
1147 struct attribute attr ;
1148 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1149 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1150 size_t count ) ;
1151};
1152#line 559 "include/linux/device.h"
1153struct device_dma_parameters {
1154 unsigned int max_segment_size ;
1155 unsigned long segment_boundary_mask ;
1156};
1157#line 627
1158struct dma_coherent_mem;
1159#line 627 "include/linux/device.h"
1160struct device {
1161 struct device *parent ;
1162 struct device_private *p ;
1163 struct kobject kobj ;
1164 char const *init_name ;
1165 struct device_type const *type ;
1166 struct mutex mutex ;
1167 struct bus_type *bus ;
1168 struct device_driver *driver ;
1169 void *platform_data ;
1170 struct dev_pm_info power ;
1171 struct dev_pm_domain *pm_domain ;
1172 int numa_node ;
1173 u64 *dma_mask ;
1174 u64 coherent_dma_mask ;
1175 struct device_dma_parameters *dma_parms ;
1176 struct list_head dma_pools ;
1177 struct dma_coherent_mem *dma_mem ;
1178 struct dev_archdata archdata ;
1179 struct device_node *of_node ;
1180 dev_t devt ;
1181 u32 id ;
1182 spinlock_t devres_lock ;
1183 struct list_head devres_head ;
1184 struct klist_node knode_class ;
1185 struct class *class ;
1186 struct attribute_group const **groups ;
1187 void (*release)(struct device *dev ) ;
1188};
1189#line 43 "include/linux/pm_wakeup.h"
1190struct wakeup_source {
1191 char const *name ;
1192 struct list_head entry ;
1193 spinlock_t lock ;
1194 struct timer_list timer ;
1195 unsigned long timer_expires ;
1196 ktime_t total_time ;
1197 ktime_t max_time ;
1198 ktime_t last_time ;
1199 unsigned long event_count ;
1200 unsigned long active_count ;
1201 unsigned long relax_count ;
1202 unsigned long hit_count ;
1203 unsigned int active : 1 ;
1204};
1205#line 15 "include/linux/blk_types.h"
1206struct page;
1207#line 16
1208struct block_device;
1209#line 16
1210struct block_device;
1211#line 33 "include/linux/list_bl.h"
1212struct hlist_bl_node;
1213#line 33 "include/linux/list_bl.h"
1214struct hlist_bl_head {
1215 struct hlist_bl_node *first ;
1216};
1217#line 37 "include/linux/list_bl.h"
1218struct hlist_bl_node {
1219 struct hlist_bl_node *next ;
1220 struct hlist_bl_node **pprev ;
1221};
1222#line 13 "include/linux/dcache.h"
1223struct nameidata;
1224#line 13
1225struct nameidata;
1226#line 14
1227struct path;
1228#line 14
1229struct path;
1230#line 15
1231struct vfsmount;
1232#line 15
1233struct vfsmount;
1234#line 35 "include/linux/dcache.h"
1235struct qstr {
1236 unsigned int hash ;
1237 unsigned int len ;
1238 unsigned char const *name ;
1239};
1240#line 88
1241struct inode;
1242#line 88
1243struct dentry_operations;
1244#line 88
1245struct super_block;
1246#line 88 "include/linux/dcache.h"
1247union __anonunion_d_u_202 {
1248 struct list_head d_child ;
1249 struct rcu_head d_rcu ;
1250};
1251#line 88 "include/linux/dcache.h"
1252struct dentry {
1253 unsigned int d_flags ;
1254 seqcount_t d_seq ;
1255 struct hlist_bl_node d_hash ;
1256 struct dentry *d_parent ;
1257 struct qstr d_name ;
1258 struct inode *d_inode ;
1259 unsigned char d_iname[32] ;
1260 unsigned int d_count ;
1261 spinlock_t d_lock ;
1262 struct dentry_operations const *d_op ;
1263 struct super_block *d_sb ;
1264 unsigned long d_time ;
1265 void *d_fsdata ;
1266 struct list_head d_lru ;
1267 union __anonunion_d_u_202 d_u ;
1268 struct list_head d_subdirs ;
1269 struct list_head d_alias ;
1270};
1271#line 131 "include/linux/dcache.h"
1272struct dentry_operations {
1273 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1274 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1275 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1276 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1277 int (*d_delete)(struct dentry const * ) ;
1278 void (*d_release)(struct dentry * ) ;
1279 void (*d_prune)(struct dentry * ) ;
1280 void (*d_iput)(struct dentry * , struct inode * ) ;
1281 char *(*d_dname)(struct dentry * , char * , int ) ;
1282 struct vfsmount *(*d_automount)(struct path * ) ;
1283 int (*d_manage)(struct dentry * , bool ) ;
1284} __attribute__((__aligned__((1) << (6) ))) ;
1285#line 4 "include/linux/path.h"
1286struct dentry;
1287#line 5
1288struct vfsmount;
1289#line 7 "include/linux/path.h"
1290struct path {
1291 struct vfsmount *mnt ;
1292 struct dentry *dentry ;
1293};
1294#line 64 "include/linux/radix-tree.h"
1295struct radix_tree_node;
1296#line 64 "include/linux/radix-tree.h"
1297struct radix_tree_root {
1298 unsigned int height ;
1299 gfp_t gfp_mask ;
1300 struct radix_tree_node *rnode ;
1301};
1302#line 14 "include/linux/prio_tree.h"
1303struct prio_tree_node;
1304#line 14 "include/linux/prio_tree.h"
1305struct raw_prio_tree_node {
1306 struct prio_tree_node *left ;
1307 struct prio_tree_node *right ;
1308 struct prio_tree_node *parent ;
1309};
1310#line 20 "include/linux/prio_tree.h"
1311struct prio_tree_node {
1312 struct prio_tree_node *left ;
1313 struct prio_tree_node *right ;
1314 struct prio_tree_node *parent ;
1315 unsigned long start ;
1316 unsigned long last ;
1317};
1318#line 28 "include/linux/prio_tree.h"
1319struct prio_tree_root {
1320 struct prio_tree_node *prio_tree_node ;
1321 unsigned short index_bits ;
1322 unsigned short raw ;
1323};
1324#line 6 "include/linux/pid.h"
1325enum pid_type {
1326 PIDTYPE_PID = 0,
1327 PIDTYPE_PGID = 1,
1328 PIDTYPE_SID = 2,
1329 PIDTYPE_MAX = 3
1330} ;
1331#line 50
1332struct pid_namespace;
1333#line 50 "include/linux/pid.h"
1334struct upid {
1335 int nr ;
1336 struct pid_namespace *ns ;
1337 struct hlist_node pid_chain ;
1338};
1339#line 57 "include/linux/pid.h"
1340struct pid {
1341 atomic_t count ;
1342 unsigned int level ;
1343 struct hlist_head tasks[3] ;
1344 struct rcu_head rcu ;
1345 struct upid numbers[1] ;
1346};
1347#line 100
1348struct pid_namespace;
1349#line 18 "include/linux/capability.h"
1350struct task_struct;
1351#line 377
1352struct dentry;
1353#line 16 "include/linux/fiemap.h"
1354struct fiemap_extent {
1355 __u64 fe_logical ;
1356 __u64 fe_physical ;
1357 __u64 fe_length ;
1358 __u64 fe_reserved64[2] ;
1359 __u32 fe_flags ;
1360 __u32 fe_reserved[3] ;
1361};
1362#line 8 "include/linux/shrinker.h"
1363struct shrink_control {
1364 gfp_t gfp_mask ;
1365 unsigned long nr_to_scan ;
1366};
1367#line 31 "include/linux/shrinker.h"
1368struct shrinker {
1369 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1370 int seeks ;
1371 long batch ;
1372 struct list_head list ;
1373 atomic_long_t nr_in_batch ;
1374};
1375#line 10 "include/linux/migrate_mode.h"
1376enum migrate_mode {
1377 MIGRATE_ASYNC = 0,
1378 MIGRATE_SYNC_LIGHT = 1,
1379 MIGRATE_SYNC = 2
1380} ;
1381#line 408 "include/linux/fs.h"
1382struct export_operations;
1383#line 408
1384struct export_operations;
1385#line 410
1386struct iovec;
1387#line 410
1388struct iovec;
1389#line 411
1390struct nameidata;
1391#line 412
1392struct kiocb;
1393#line 412
1394struct kiocb;
1395#line 413
1396struct kobject;
1397#line 414
1398struct pipe_inode_info;
1399#line 414
1400struct pipe_inode_info;
1401#line 415
1402struct poll_table_struct;
1403#line 415
1404struct poll_table_struct;
1405#line 416
1406struct kstatfs;
1407#line 416
1408struct kstatfs;
1409#line 417
1410struct vm_area_struct;
1411#line 418
1412struct vfsmount;
1413#line 419
1414struct cred;
1415#line 469 "include/linux/fs.h"
1416struct iattr {
1417 unsigned int ia_valid ;
1418 umode_t ia_mode ;
1419 uid_t ia_uid ;
1420 gid_t ia_gid ;
1421 loff_t ia_size ;
1422 struct timespec ia_atime ;
1423 struct timespec ia_mtime ;
1424 struct timespec ia_ctime ;
1425 struct file *ia_file ;
1426};
1427#line 129 "include/linux/quota.h"
1428struct if_dqinfo {
1429 __u64 dqi_bgrace ;
1430 __u64 dqi_igrace ;
1431 __u32 dqi_flags ;
1432 __u32 dqi_valid ;
1433};
1434#line 50 "include/linux/dqblk_xfs.h"
1435struct fs_disk_quota {
1436 __s8 d_version ;
1437 __s8 d_flags ;
1438 __u16 d_fieldmask ;
1439 __u32 d_id ;
1440 __u64 d_blk_hardlimit ;
1441 __u64 d_blk_softlimit ;
1442 __u64 d_ino_hardlimit ;
1443 __u64 d_ino_softlimit ;
1444 __u64 d_bcount ;
1445 __u64 d_icount ;
1446 __s32 d_itimer ;
1447 __s32 d_btimer ;
1448 __u16 d_iwarns ;
1449 __u16 d_bwarns ;
1450 __s32 d_padding2 ;
1451 __u64 d_rtb_hardlimit ;
1452 __u64 d_rtb_softlimit ;
1453 __u64 d_rtbcount ;
1454 __s32 d_rtbtimer ;
1455 __u16 d_rtbwarns ;
1456 __s16 d_padding3 ;
1457 char d_padding4[8] ;
1458};
1459#line 146 "include/linux/dqblk_xfs.h"
1460struct fs_qfilestat {
1461 __u64 qfs_ino ;
1462 __u64 qfs_nblks ;
1463 __u32 qfs_nextents ;
1464};
1465#line 146 "include/linux/dqblk_xfs.h"
1466typedef struct fs_qfilestat fs_qfilestat_t;
1467#line 152 "include/linux/dqblk_xfs.h"
1468struct fs_quota_stat {
1469 __s8 qs_version ;
1470 __u16 qs_flags ;
1471 __s8 qs_pad ;
1472 fs_qfilestat_t qs_uquota ;
1473 fs_qfilestat_t qs_gquota ;
1474 __u32 qs_incoredqs ;
1475 __s32 qs_btimelimit ;
1476 __s32 qs_itimelimit ;
1477 __s32 qs_rtbtimelimit ;
1478 __u16 qs_bwarnlimit ;
1479 __u16 qs_iwarnlimit ;
1480};
1481#line 17 "include/linux/dqblk_qtree.h"
1482struct dquot;
1483#line 17
1484struct dquot;
1485#line 185 "include/linux/quota.h"
1486typedef __kernel_uid32_t qid_t;
1487#line 186 "include/linux/quota.h"
1488typedef long long qsize_t;
1489#line 200 "include/linux/quota.h"
1490struct mem_dqblk {
1491 qsize_t dqb_bhardlimit ;
1492 qsize_t dqb_bsoftlimit ;
1493 qsize_t dqb_curspace ;
1494 qsize_t dqb_rsvspace ;
1495 qsize_t dqb_ihardlimit ;
1496 qsize_t dqb_isoftlimit ;
1497 qsize_t dqb_curinodes ;
1498 time_t dqb_btime ;
1499 time_t dqb_itime ;
1500};
1501#line 215
1502struct quota_format_type;
1503#line 215
1504struct quota_format_type;
1505#line 217 "include/linux/quota.h"
1506struct mem_dqinfo {
1507 struct quota_format_type *dqi_format ;
1508 int dqi_fmt_id ;
1509 struct list_head dqi_dirty_list ;
1510 unsigned long dqi_flags ;
1511 unsigned int dqi_bgrace ;
1512 unsigned int dqi_igrace ;
1513 qsize_t dqi_maxblimit ;
1514 qsize_t dqi_maxilimit ;
1515 void *dqi_priv ;
1516};
1517#line 230
1518struct super_block;
1519#line 288 "include/linux/quota.h"
1520struct dquot {
1521 struct hlist_node dq_hash ;
1522 struct list_head dq_inuse ;
1523 struct list_head dq_free ;
1524 struct list_head dq_dirty ;
1525 struct mutex dq_lock ;
1526 atomic_t dq_count ;
1527 wait_queue_head_t dq_wait_unused ;
1528 struct super_block *dq_sb ;
1529 unsigned int dq_id ;
1530 loff_t dq_off ;
1531 unsigned long dq_flags ;
1532 short dq_type ;
1533 struct mem_dqblk dq_dqb ;
1534};
1535#line 305 "include/linux/quota.h"
1536struct quota_format_ops {
1537 int (*check_quota_file)(struct super_block *sb , int type ) ;
1538 int (*read_file_info)(struct super_block *sb , int type ) ;
1539 int (*write_file_info)(struct super_block *sb , int type ) ;
1540 int (*free_file_info)(struct super_block *sb , int type ) ;
1541 int (*read_dqblk)(struct dquot *dquot ) ;
1542 int (*commit_dqblk)(struct dquot *dquot ) ;
1543 int (*release_dqblk)(struct dquot *dquot ) ;
1544};
1545#line 316 "include/linux/quota.h"
1546struct dquot_operations {
1547 int (*write_dquot)(struct dquot * ) ;
1548 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1549 void (*destroy_dquot)(struct dquot * ) ;
1550 int (*acquire_dquot)(struct dquot * ) ;
1551 int (*release_dquot)(struct dquot * ) ;
1552 int (*mark_dirty)(struct dquot * ) ;
1553 int (*write_info)(struct super_block * , int ) ;
1554 qsize_t *(*get_reserved_space)(struct inode * ) ;
1555};
1556#line 329
1557struct path;
1558#line 332 "include/linux/quota.h"
1559struct quotactl_ops {
1560 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1561 int (*quota_on_meta)(struct super_block * , int , int ) ;
1562 int (*quota_off)(struct super_block * , int ) ;
1563 int (*quota_sync)(struct super_block * , int , int ) ;
1564 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1565 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1566 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1567 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1568 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1569 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1570};
1571#line 345 "include/linux/quota.h"
1572struct quota_format_type {
1573 int qf_fmt_id ;
1574 struct quota_format_ops const *qf_ops ;
1575 struct module *qf_owner ;
1576 struct quota_format_type *qf_next ;
1577};
1578#line 399 "include/linux/quota.h"
1579struct quota_info {
1580 unsigned int flags ;
1581 struct mutex dqio_mutex ;
1582 struct mutex dqonoff_mutex ;
1583 struct rw_semaphore dqptr_sem ;
1584 struct inode *files[2] ;
1585 struct mem_dqinfo info[2] ;
1586 struct quota_format_ops const *ops[2] ;
1587};
1588#line 532 "include/linux/fs.h"
1589struct page;
1590#line 533
1591struct address_space;
1592#line 533
1593struct address_space;
1594#line 534
1595struct writeback_control;
1596#line 534
1597struct writeback_control;
1598#line 577 "include/linux/fs.h"
1599union __anonunion_arg_210 {
1600 char *buf ;
1601 void *data ;
1602};
1603#line 577 "include/linux/fs.h"
1604struct __anonstruct_read_descriptor_t_209 {
1605 size_t written ;
1606 size_t count ;
1607 union __anonunion_arg_210 arg ;
1608 int error ;
1609};
1610#line 577 "include/linux/fs.h"
1611typedef struct __anonstruct_read_descriptor_t_209 read_descriptor_t;
1612#line 590 "include/linux/fs.h"
1613struct address_space_operations {
1614 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1615 int (*readpage)(struct file * , struct page * ) ;
1616 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1617 int (*set_page_dirty)(struct page *page ) ;
1618 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1619 unsigned int nr_pages ) ;
1620 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1621 unsigned int len , unsigned int flags , struct page **pagep ,
1622 void **fsdata ) ;
1623 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1624 unsigned int copied , struct page *page , void *fsdata ) ;
1625 sector_t (*bmap)(struct address_space * , sector_t ) ;
1626 void (*invalidatepage)(struct page * , unsigned long ) ;
1627 int (*releasepage)(struct page * , gfp_t ) ;
1628 void (*freepage)(struct page * ) ;
1629 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
1630 unsigned long nr_segs ) ;
1631 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1632 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1633 int (*launder_page)(struct page * ) ;
1634 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1635 int (*error_remove_page)(struct address_space * , struct page * ) ;
1636};
1637#line 645
1638struct backing_dev_info;
1639#line 645
1640struct backing_dev_info;
1641#line 646 "include/linux/fs.h"
1642struct address_space {
1643 struct inode *host ;
1644 struct radix_tree_root page_tree ;
1645 spinlock_t tree_lock ;
1646 unsigned int i_mmap_writable ;
1647 struct prio_tree_root i_mmap ;
1648 struct list_head i_mmap_nonlinear ;
1649 struct mutex i_mmap_mutex ;
1650 unsigned long nrpages ;
1651 unsigned long writeback_index ;
1652 struct address_space_operations const *a_ops ;
1653 unsigned long flags ;
1654 struct backing_dev_info *backing_dev_info ;
1655 spinlock_t private_lock ;
1656 struct list_head private_list ;
1657 struct address_space *assoc_mapping ;
1658} __attribute__((__aligned__(sizeof(long )))) ;
1659#line 669
1660struct request_queue;
1661#line 669
1662struct request_queue;
1663#line 671
1664struct hd_struct;
1665#line 671
1666struct gendisk;
1667#line 671 "include/linux/fs.h"
1668struct block_device {
1669 dev_t bd_dev ;
1670 int bd_openers ;
1671 struct inode *bd_inode ;
1672 struct super_block *bd_super ;
1673 struct mutex bd_mutex ;
1674 struct list_head bd_inodes ;
1675 void *bd_claiming ;
1676 void *bd_holder ;
1677 int bd_holders ;
1678 bool bd_write_holder ;
1679 struct list_head bd_holder_disks ;
1680 struct block_device *bd_contains ;
1681 unsigned int bd_block_size ;
1682 struct hd_struct *bd_part ;
1683 unsigned int bd_part_count ;
1684 int bd_invalidated ;
1685 struct gendisk *bd_disk ;
1686 struct request_queue *bd_queue ;
1687 struct list_head bd_list ;
1688 unsigned long bd_private ;
1689 int bd_fsfreeze_count ;
1690 struct mutex bd_fsfreeze_mutex ;
1691};
1692#line 749
1693struct posix_acl;
1694#line 749
1695struct posix_acl;
1696#line 761
1697struct inode_operations;
1698#line 761 "include/linux/fs.h"
1699union __anonunion____missing_field_name_211 {
1700 unsigned int const i_nlink ;
1701 unsigned int __i_nlink ;
1702};
1703#line 761 "include/linux/fs.h"
1704union __anonunion____missing_field_name_212 {
1705 struct list_head i_dentry ;
1706 struct rcu_head i_rcu ;
1707};
1708#line 761
1709struct file_operations;
1710#line 761
1711struct file_lock;
1712#line 761
1713struct cdev;
1714#line 761 "include/linux/fs.h"
1715union __anonunion____missing_field_name_213 {
1716 struct pipe_inode_info *i_pipe ;
1717 struct block_device *i_bdev ;
1718 struct cdev *i_cdev ;
1719};
1720#line 761 "include/linux/fs.h"
1721struct inode {
1722 umode_t i_mode ;
1723 unsigned short i_opflags ;
1724 uid_t i_uid ;
1725 gid_t i_gid ;
1726 unsigned int i_flags ;
1727 struct posix_acl *i_acl ;
1728 struct posix_acl *i_default_acl ;
1729 struct inode_operations const *i_op ;
1730 struct super_block *i_sb ;
1731 struct address_space *i_mapping ;
1732 void *i_security ;
1733 unsigned long i_ino ;
1734 union __anonunion____missing_field_name_211 __annonCompField33 ;
1735 dev_t i_rdev ;
1736 struct timespec i_atime ;
1737 struct timespec i_mtime ;
1738 struct timespec i_ctime ;
1739 spinlock_t i_lock ;
1740 unsigned short i_bytes ;
1741 blkcnt_t i_blocks ;
1742 loff_t i_size ;
1743 unsigned long i_state ;
1744 struct mutex i_mutex ;
1745 unsigned long dirtied_when ;
1746 struct hlist_node i_hash ;
1747 struct list_head i_wb_list ;
1748 struct list_head i_lru ;
1749 struct list_head i_sb_list ;
1750 union __anonunion____missing_field_name_212 __annonCompField34 ;
1751 atomic_t i_count ;
1752 unsigned int i_blkbits ;
1753 u64 i_version ;
1754 atomic_t i_dio_count ;
1755 atomic_t i_writecount ;
1756 struct file_operations const *i_fop ;
1757 struct file_lock *i_flock ;
1758 struct address_space i_data ;
1759 struct dquot *i_dquot[2] ;
1760 struct list_head i_devices ;
1761 union __anonunion____missing_field_name_213 __annonCompField35 ;
1762 __u32 i_generation ;
1763 __u32 i_fsnotify_mask ;
1764 struct hlist_head i_fsnotify_marks ;
1765 atomic_t i_readcount ;
1766 void *i_private ;
1767};
1768#line 942 "include/linux/fs.h"
1769struct fown_struct {
1770 rwlock_t lock ;
1771 struct pid *pid ;
1772 enum pid_type pid_type ;
1773 uid_t uid ;
1774 uid_t euid ;
1775 int signum ;
1776};
1777#line 953 "include/linux/fs.h"
1778struct file_ra_state {
1779 unsigned long start ;
1780 unsigned int size ;
1781 unsigned int async_size ;
1782 unsigned int ra_pages ;
1783 unsigned int mmap_miss ;
1784 loff_t prev_pos ;
1785};
1786#line 976 "include/linux/fs.h"
1787union __anonunion_f_u_214 {
1788 struct list_head fu_list ;
1789 struct rcu_head fu_rcuhead ;
1790};
1791#line 976 "include/linux/fs.h"
1792struct file {
1793 union __anonunion_f_u_214 f_u ;
1794 struct path f_path ;
1795 struct file_operations const *f_op ;
1796 spinlock_t f_lock ;
1797 int f_sb_list_cpu ;
1798 atomic_long_t f_count ;
1799 unsigned int f_flags ;
1800 fmode_t f_mode ;
1801 loff_t f_pos ;
1802 struct fown_struct f_owner ;
1803 struct cred const *f_cred ;
1804 struct file_ra_state f_ra ;
1805 u64 f_version ;
1806 void *f_security ;
1807 void *private_data ;
1808 struct list_head f_ep_links ;
1809 struct list_head f_tfile_llink ;
1810 struct address_space *f_mapping ;
1811 unsigned long f_mnt_write_state ;
1812};
1813#line 1111
1814struct files_struct;
1815#line 1111 "include/linux/fs.h"
1816typedef struct files_struct *fl_owner_t;
1817#line 1113 "include/linux/fs.h"
1818struct file_lock_operations {
1819 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1820 void (*fl_release_private)(struct file_lock * ) ;
1821};
1822#line 1118 "include/linux/fs.h"
1823struct lock_manager_operations {
1824 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1825 void (*lm_notify)(struct file_lock * ) ;
1826 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1827 void (*lm_release_private)(struct file_lock * ) ;
1828 void (*lm_break)(struct file_lock * ) ;
1829 int (*lm_change)(struct file_lock ** , int ) ;
1830};
1831#line 4 "include/linux/nfs_fs_i.h"
1832struct nlm_lockowner;
1833#line 4
1834struct nlm_lockowner;
1835#line 9 "include/linux/nfs_fs_i.h"
1836struct nfs_lock_info {
1837 u32 state ;
1838 struct nlm_lockowner *owner ;
1839 struct list_head list ;
1840};
1841#line 15
1842struct nfs4_lock_state;
1843#line 15
1844struct nfs4_lock_state;
1845#line 16 "include/linux/nfs_fs_i.h"
1846struct nfs4_lock_info {
1847 struct nfs4_lock_state *owner ;
1848};
1849#line 1138 "include/linux/fs.h"
1850struct fasync_struct;
1851#line 1138 "include/linux/fs.h"
1852struct __anonstruct_afs_216 {
1853 struct list_head link ;
1854 int state ;
1855};
1856#line 1138 "include/linux/fs.h"
1857union __anonunion_fl_u_215 {
1858 struct nfs_lock_info nfs_fl ;
1859 struct nfs4_lock_info nfs4_fl ;
1860 struct __anonstruct_afs_216 afs ;
1861};
1862#line 1138 "include/linux/fs.h"
1863struct file_lock {
1864 struct file_lock *fl_next ;
1865 struct list_head fl_link ;
1866 struct list_head fl_block ;
1867 fl_owner_t fl_owner ;
1868 unsigned int fl_flags ;
1869 unsigned char fl_type ;
1870 unsigned int fl_pid ;
1871 struct pid *fl_nspid ;
1872 wait_queue_head_t fl_wait ;
1873 struct file *fl_file ;
1874 loff_t fl_start ;
1875 loff_t fl_end ;
1876 struct fasync_struct *fl_fasync ;
1877 unsigned long fl_break_time ;
1878 unsigned long fl_downgrade_time ;
1879 struct file_lock_operations const *fl_ops ;
1880 struct lock_manager_operations const *fl_lmops ;
1881 union __anonunion_fl_u_215 fl_u ;
1882};
1883#line 1378 "include/linux/fs.h"
1884struct fasync_struct {
1885 spinlock_t fa_lock ;
1886 int magic ;
1887 int fa_fd ;
1888 struct fasync_struct *fa_next ;
1889 struct file *fa_file ;
1890 struct rcu_head fa_rcu ;
1891};
1892#line 1418
1893struct file_system_type;
1894#line 1418
1895struct super_operations;
1896#line 1418
1897struct xattr_handler;
1898#line 1418
1899struct mtd_info;
1900#line 1418 "include/linux/fs.h"
1901struct super_block {
1902 struct list_head s_list ;
1903 dev_t s_dev ;
1904 unsigned char s_dirt ;
1905 unsigned char s_blocksize_bits ;
1906 unsigned long s_blocksize ;
1907 loff_t s_maxbytes ;
1908 struct file_system_type *s_type ;
1909 struct super_operations const *s_op ;
1910 struct dquot_operations const *dq_op ;
1911 struct quotactl_ops const *s_qcop ;
1912 struct export_operations const *s_export_op ;
1913 unsigned long s_flags ;
1914 unsigned long s_magic ;
1915 struct dentry *s_root ;
1916 struct rw_semaphore s_umount ;
1917 struct mutex s_lock ;
1918 int s_count ;
1919 atomic_t s_active ;
1920 void *s_security ;
1921 struct xattr_handler const **s_xattr ;
1922 struct list_head s_inodes ;
1923 struct hlist_bl_head s_anon ;
1924 struct list_head *s_files ;
1925 struct list_head s_mounts ;
1926 struct list_head s_dentry_lru ;
1927 int s_nr_dentry_unused ;
1928 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
1929 struct list_head s_inode_lru ;
1930 int s_nr_inodes_unused ;
1931 struct block_device *s_bdev ;
1932 struct backing_dev_info *s_bdi ;
1933 struct mtd_info *s_mtd ;
1934 struct hlist_node s_instances ;
1935 struct quota_info s_dquot ;
1936 int s_frozen ;
1937 wait_queue_head_t s_wait_unfrozen ;
1938 char s_id[32] ;
1939 u8 s_uuid[16] ;
1940 void *s_fs_info ;
1941 unsigned int s_max_links ;
1942 fmode_t s_mode ;
1943 u32 s_time_gran ;
1944 struct mutex s_vfs_rename_mutex ;
1945 char *s_subtype ;
1946 char *s_options ;
1947 struct dentry_operations const *s_d_op ;
1948 int cleancache_poolid ;
1949 struct shrinker s_shrink ;
1950 atomic_long_t s_remove_count ;
1951 int s_readonly_remount ;
1952};
1953#line 1567 "include/linux/fs.h"
1954struct fiemap_extent_info {
1955 unsigned int fi_flags ;
1956 unsigned int fi_extents_mapped ;
1957 unsigned int fi_extents_max ;
1958 struct fiemap_extent *fi_extents_start ;
1959};
1960#line 1609 "include/linux/fs.h"
1961struct file_operations {
1962 struct module *owner ;
1963 loff_t (*llseek)(struct file * , loff_t , int ) ;
1964 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1965 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1966 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1967 loff_t ) ;
1968 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1969 loff_t ) ;
1970 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1971 loff_t , u64 , unsigned int ) ) ;
1972 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1973 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1974 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1975 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1976 int (*open)(struct inode * , struct file * ) ;
1977 int (*flush)(struct file * , fl_owner_t id ) ;
1978 int (*release)(struct inode * , struct file * ) ;
1979 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
1980 int (*aio_fsync)(struct kiocb * , int datasync ) ;
1981 int (*fasync)(int , struct file * , int ) ;
1982 int (*lock)(struct file * , int , struct file_lock * ) ;
1983 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1984 int ) ;
1985 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1986 unsigned long , unsigned long ) ;
1987 int (*check_flags)(int ) ;
1988 int (*flock)(struct file * , int , struct file_lock * ) ;
1989 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1990 unsigned int ) ;
1991 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1992 unsigned int ) ;
1993 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1994 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1995};
1996#line 1639 "include/linux/fs.h"
1997struct inode_operations {
1998 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1999 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2000 int (*permission)(struct inode * , int ) ;
2001 struct posix_acl *(*get_acl)(struct inode * , int ) ;
2002 int (*readlink)(struct dentry * , char * , int ) ;
2003 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2004 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
2005 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2006 int (*unlink)(struct inode * , struct dentry * ) ;
2007 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
2008 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
2009 int (*rmdir)(struct inode * , struct dentry * ) ;
2010 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
2011 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2012 void (*truncate)(struct inode * ) ;
2013 int (*setattr)(struct dentry * , struct iattr * ) ;
2014 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
2015 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2016 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2017 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2018 int (*removexattr)(struct dentry * , char const * ) ;
2019 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2020 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
2021} __attribute__((__aligned__((1) << (6) ))) ;
2022#line 1669
2023struct seq_file;
2024#line 1684 "include/linux/fs.h"
2025struct super_operations {
2026 struct inode *(*alloc_inode)(struct super_block *sb ) ;
2027 void (*destroy_inode)(struct inode * ) ;
2028 void (*dirty_inode)(struct inode * , int flags ) ;
2029 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
2030 int (*drop_inode)(struct inode * ) ;
2031 void (*evict_inode)(struct inode * ) ;
2032 void (*put_super)(struct super_block * ) ;
2033 void (*write_super)(struct super_block * ) ;
2034 int (*sync_fs)(struct super_block *sb , int wait ) ;
2035 int (*freeze_fs)(struct super_block * ) ;
2036 int (*unfreeze_fs)(struct super_block * ) ;
2037 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2038 int (*remount_fs)(struct super_block * , int * , char * ) ;
2039 void (*umount_begin)(struct super_block * ) ;
2040 int (*show_options)(struct seq_file * , struct dentry * ) ;
2041 int (*show_devname)(struct seq_file * , struct dentry * ) ;
2042 int (*show_path)(struct seq_file * , struct dentry * ) ;
2043 int (*show_stats)(struct seq_file * , struct dentry * ) ;
2044 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2045 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2046 loff_t ) ;
2047 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2048 int (*nr_cached_objects)(struct super_block * ) ;
2049 void (*free_cached_objects)(struct super_block * , int ) ;
2050};
2051#line 1835 "include/linux/fs.h"
2052struct file_system_type {
2053 char const *name ;
2054 int fs_flags ;
2055 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2056 void (*kill_sb)(struct super_block * ) ;
2057 struct module *owner ;
2058 struct file_system_type *next ;
2059 struct hlist_head fs_supers ;
2060 struct lock_class_key s_lock_key ;
2061 struct lock_class_key s_umount_key ;
2062 struct lock_class_key s_vfs_rename_key ;
2063 struct lock_class_key i_lock_key ;
2064 struct lock_class_key i_mutex_key ;
2065 struct lock_class_key i_mutex_dir_key ;
2066};
2067#line 12 "include/linux/mod_devicetable.h"
2068typedef unsigned long kernel_ulong_t;
2069#line 219 "include/linux/mod_devicetable.h"
2070struct of_device_id {
2071 char name[32] ;
2072 char type[32] ;
2073 char compatible[128] ;
2074 void *data ;
2075};
2076#line 312 "include/linux/mod_devicetable.h"
2077struct input_device_id {
2078 kernel_ulong_t flags ;
2079 __u16 bustype ;
2080 __u16 vendor ;
2081 __u16 product ;
2082 __u16 version ;
2083 kernel_ulong_t evbit[1] ;
2084 kernel_ulong_t keybit[12] ;
2085 kernel_ulong_t relbit[1] ;
2086 kernel_ulong_t absbit[1] ;
2087 kernel_ulong_t mscbit[1] ;
2088 kernel_ulong_t ledbit[1] ;
2089 kernel_ulong_t sndbit[1] ;
2090 kernel_ulong_t ffbit[2] ;
2091 kernel_ulong_t swbit[1] ;
2092 kernel_ulong_t driver_info ;
2093};
2094#line 1250 "include/linux/input.h"
2095struct ff_device;
2096#line 1250
2097struct input_mt_slot;
2098#line 1250
2099struct input_handle;
2100#line 1250 "include/linux/input.h"
2101struct input_dev {
2102 char const *name ;
2103 char const *phys ;
2104 char const *uniq ;
2105 struct input_id id ;
2106 unsigned long propbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2107 unsigned long evbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2108 unsigned long keybit[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2109 unsigned long relbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2110 unsigned long absbit[((64UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2111 unsigned long mscbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2112 unsigned long ledbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2113 unsigned long sndbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2114 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2115 unsigned long swbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2116 unsigned int hint_events_per_packet ;
2117 unsigned int keycodemax ;
2118 unsigned int keycodesize ;
2119 void *keycode ;
2120 int (*setkeycode)(struct input_dev *dev , struct input_keymap_entry const *ke ,
2121 unsigned int *old_keycode ) ;
2122 int (*getkeycode)(struct input_dev *dev , struct input_keymap_entry *ke ) ;
2123 struct ff_device *ff ;
2124 unsigned int repeat_key ;
2125 struct timer_list timer ;
2126 int rep[2] ;
2127 struct input_mt_slot *mt ;
2128 int mtsize ;
2129 int slot ;
2130 int trkid ;
2131 struct input_absinfo *absinfo ;
2132 unsigned long key[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2133 unsigned long led[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2134 unsigned long snd[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2135 unsigned long sw[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2136 int (*open)(struct input_dev *dev ) ;
2137 void (*close)(struct input_dev *dev ) ;
2138 int (*flush)(struct input_dev *dev , struct file *file ) ;
2139 int (*event)(struct input_dev *dev , unsigned int type , unsigned int code , int value ) ;
2140 struct input_handle *grab ;
2141 spinlock_t event_lock ;
2142 struct mutex mutex ;
2143 unsigned int users ;
2144 bool going_away ;
2145 bool sync ;
2146 struct device dev ;
2147 struct list_head h_list ;
2148 struct list_head node ;
2149};
2150#line 1370
2151struct input_handle;
2152#line 1409 "include/linux/input.h"
2153struct input_handler {
2154 void *private ;
2155 void (*event)(struct input_handle *handle , unsigned int type , unsigned int code ,
2156 int value ) ;
2157 bool (*filter)(struct input_handle *handle , unsigned int type , unsigned int code ,
2158 int value ) ;
2159 bool (*match)(struct input_handler *handler , struct input_dev *dev ) ;
2160 int (*connect)(struct input_handler *handler , struct input_dev *dev , struct input_device_id const *id ) ;
2161 void (*disconnect)(struct input_handle *handle ) ;
2162 void (*start)(struct input_handle *handle ) ;
2163 struct file_operations const *fops ;
2164 int minor ;
2165 char const *name ;
2166 struct input_device_id const *id_table ;
2167 struct list_head h_list ;
2168 struct list_head node ;
2169};
2170#line 1442 "include/linux/input.h"
2171struct input_handle {
2172 void *private ;
2173 int open ;
2174 char const *name ;
2175 struct input_dev *dev ;
2176 struct input_handler *handler ;
2177 struct list_head d_node ;
2178 struct list_head h_node ;
2179};
2180#line 1619 "include/linux/input.h"
2181struct ff_device {
2182 int (*upload)(struct input_dev *dev , struct ff_effect *effect , struct ff_effect *old ) ;
2183 int (*erase)(struct input_dev *dev , int effect_id ) ;
2184 int (*playback)(struct input_dev *dev , int effect_id , int value ) ;
2185 void (*set_gain)(struct input_dev *dev , u16 gain ) ;
2186 void (*set_autocenter)(struct input_dev *dev , u16 magnitude ) ;
2187 void (*destroy)(struct ff_device * ) ;
2188 void *private ;
2189 unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2190 struct mutex mutex ;
2191 int max_effects ;
2192 struct ff_effect *effects ;
2193 struct file *effect_owners[] ;
2194};
2195#line 46 "include/linux/slub_def.h"
2196struct kmem_cache_cpu {
2197 void **freelist ;
2198 unsigned long tid ;
2199 struct page *page ;
2200 struct page *partial ;
2201 int node ;
2202 unsigned int stat[26] ;
2203};
2204#line 57 "include/linux/slub_def.h"
2205struct kmem_cache_node {
2206 spinlock_t list_lock ;
2207 unsigned long nr_partial ;
2208 struct list_head partial ;
2209 atomic_long_t nr_slabs ;
2210 atomic_long_t total_objects ;
2211 struct list_head full ;
2212};
2213#line 73 "include/linux/slub_def.h"
2214struct kmem_cache_order_objects {
2215 unsigned long x ;
2216};
2217#line 80 "include/linux/slub_def.h"
2218struct kmem_cache {
2219 struct kmem_cache_cpu *cpu_slab ;
2220 unsigned long flags ;
2221 unsigned long min_partial ;
2222 int size ;
2223 int objsize ;
2224 int offset ;
2225 int cpu_partial ;
2226 struct kmem_cache_order_objects oo ;
2227 struct kmem_cache_order_objects max ;
2228 struct kmem_cache_order_objects min ;
2229 gfp_t allocflags ;
2230 int refcount ;
2231 void (*ctor)(void * ) ;
2232 int inuse ;
2233 int align ;
2234 int reserved ;
2235 char const *name ;
2236 struct list_head list ;
2237 struct kobject kobj ;
2238 int remote_node_defrag_ratio ;
2239 struct kmem_cache_node *node[1 << 10] ;
2240};
2241#line 10 "include/linux/irqreturn.h"
2242enum irqreturn {
2243 IRQ_NONE = 0,
2244 IRQ_HANDLED = 1,
2245 IRQ_WAKE_THREAD = 2
2246} ;
2247#line 16 "include/linux/irqreturn.h"
2248typedef enum irqreturn irqreturn_t;
2249#line 31 "include/linux/irq.h"
2250struct seq_file;
2251#line 32
2252struct module;
2253#line 14 "include/linux/irqdesc.h"
2254struct module;
2255#line 65 "include/linux/profile.h"
2256struct task_struct;
2257#line 66
2258struct mm_struct;
2259#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
2260struct exception_table_entry {
2261 unsigned long insn ;
2262 unsigned long fixup ;
2263};
2264#line 132 "include/linux/hardirq.h"
2265struct task_struct;
2266#line 187 "include/linux/interrupt.h"
2267struct device;
2268#line 695
2269struct seq_file;
2270#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2271struct mm_struct;
2272#line 23 "include/linux/mm_types.h"
2273struct address_space;
2274#line 40 "include/linux/mm_types.h"
2275union __anonunion____missing_field_name_233 {
2276 unsigned long index ;
2277 void *freelist ;
2278};
2279#line 40 "include/linux/mm_types.h"
2280struct __anonstruct____missing_field_name_237 {
2281 unsigned int inuse : 16 ;
2282 unsigned int objects : 15 ;
2283 unsigned int frozen : 1 ;
2284};
2285#line 40 "include/linux/mm_types.h"
2286union __anonunion____missing_field_name_236 {
2287 atomic_t _mapcount ;
2288 struct __anonstruct____missing_field_name_237 __annonCompField37 ;
2289};
2290#line 40 "include/linux/mm_types.h"
2291struct __anonstruct____missing_field_name_235 {
2292 union __anonunion____missing_field_name_236 __annonCompField38 ;
2293 atomic_t _count ;
2294};
2295#line 40 "include/linux/mm_types.h"
2296union __anonunion____missing_field_name_234 {
2297 unsigned long counters ;
2298 struct __anonstruct____missing_field_name_235 __annonCompField39 ;
2299};
2300#line 40 "include/linux/mm_types.h"
2301struct __anonstruct____missing_field_name_232 {
2302 union __anonunion____missing_field_name_233 __annonCompField36 ;
2303 union __anonunion____missing_field_name_234 __annonCompField40 ;
2304};
2305#line 40 "include/linux/mm_types.h"
2306struct __anonstruct____missing_field_name_239 {
2307 struct page *next ;
2308 int pages ;
2309 int pobjects ;
2310};
2311#line 40 "include/linux/mm_types.h"
2312union __anonunion____missing_field_name_238 {
2313 struct list_head lru ;
2314 struct __anonstruct____missing_field_name_239 __annonCompField42 ;
2315};
2316#line 40 "include/linux/mm_types.h"
2317union __anonunion____missing_field_name_240 {
2318 unsigned long private ;
2319 struct kmem_cache *slab ;
2320 struct page *first_page ;
2321};
2322#line 40 "include/linux/mm_types.h"
2323struct page {
2324 unsigned long flags ;
2325 struct address_space *mapping ;
2326 struct __anonstruct____missing_field_name_232 __annonCompField41 ;
2327 union __anonunion____missing_field_name_238 __annonCompField43 ;
2328 union __anonunion____missing_field_name_240 __annonCompField44 ;
2329 unsigned long debug_flags ;
2330} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
2331#line 200 "include/linux/mm_types.h"
2332struct __anonstruct_vm_set_242 {
2333 struct list_head list ;
2334 void *parent ;
2335 struct vm_area_struct *head ;
2336};
2337#line 200 "include/linux/mm_types.h"
2338union __anonunion_shared_241 {
2339 struct __anonstruct_vm_set_242 vm_set ;
2340 struct raw_prio_tree_node prio_tree_node ;
2341};
2342#line 200
2343struct anon_vma;
2344#line 200
2345struct vm_operations_struct;
2346#line 200
2347struct mempolicy;
2348#line 200 "include/linux/mm_types.h"
2349struct vm_area_struct {
2350 struct mm_struct *vm_mm ;
2351 unsigned long vm_start ;
2352 unsigned long vm_end ;
2353 struct vm_area_struct *vm_next ;
2354 struct vm_area_struct *vm_prev ;
2355 pgprot_t vm_page_prot ;
2356 unsigned long vm_flags ;
2357 struct rb_node vm_rb ;
2358 union __anonunion_shared_241 shared ;
2359 struct list_head anon_vma_chain ;
2360 struct anon_vma *anon_vma ;
2361 struct vm_operations_struct const *vm_ops ;
2362 unsigned long vm_pgoff ;
2363 struct file *vm_file ;
2364 void *vm_private_data ;
2365 struct mempolicy *vm_policy ;
2366};
2367#line 257 "include/linux/mm_types.h"
2368struct core_thread {
2369 struct task_struct *task ;
2370 struct core_thread *next ;
2371};
2372#line 262 "include/linux/mm_types.h"
2373struct core_state {
2374 atomic_t nr_threads ;
2375 struct core_thread dumper ;
2376 struct completion startup ;
2377};
2378#line 284 "include/linux/mm_types.h"
2379struct mm_rss_stat {
2380 atomic_long_t count[3] ;
2381};
2382#line 288
2383struct linux_binfmt;
2384#line 288
2385struct mmu_notifier_mm;
2386#line 288 "include/linux/mm_types.h"
2387struct mm_struct {
2388 struct vm_area_struct *mmap ;
2389 struct rb_root mm_rb ;
2390 struct vm_area_struct *mmap_cache ;
2391 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
2392 unsigned long pgoff , unsigned long flags ) ;
2393 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
2394 unsigned long mmap_base ;
2395 unsigned long task_size ;
2396 unsigned long cached_hole_size ;
2397 unsigned long free_area_cache ;
2398 pgd_t *pgd ;
2399 atomic_t mm_users ;
2400 atomic_t mm_count ;
2401 int map_count ;
2402 spinlock_t page_table_lock ;
2403 struct rw_semaphore mmap_sem ;
2404 struct list_head mmlist ;
2405 unsigned long hiwater_rss ;
2406 unsigned long hiwater_vm ;
2407 unsigned long total_vm ;
2408 unsigned long locked_vm ;
2409 unsigned long pinned_vm ;
2410 unsigned long shared_vm ;
2411 unsigned long exec_vm ;
2412 unsigned long stack_vm ;
2413 unsigned long reserved_vm ;
2414 unsigned long def_flags ;
2415 unsigned long nr_ptes ;
2416 unsigned long start_code ;
2417 unsigned long end_code ;
2418 unsigned long start_data ;
2419 unsigned long end_data ;
2420 unsigned long start_brk ;
2421 unsigned long brk ;
2422 unsigned long start_stack ;
2423 unsigned long arg_start ;
2424 unsigned long arg_end ;
2425 unsigned long env_start ;
2426 unsigned long env_end ;
2427 unsigned long saved_auxv[44] ;
2428 struct mm_rss_stat rss_stat ;
2429 struct linux_binfmt *binfmt ;
2430 cpumask_var_t cpu_vm_mask_var ;
2431 mm_context_t context ;
2432 unsigned int faultstamp ;
2433 unsigned int token_priority ;
2434 unsigned int last_interval ;
2435 unsigned long flags ;
2436 struct core_state *core_state ;
2437 spinlock_t ioctx_lock ;
2438 struct hlist_head ioctx_list ;
2439 struct task_struct *owner ;
2440 struct file *exe_file ;
2441 unsigned long num_exe_file_vmas ;
2442 struct mmu_notifier_mm *mmu_notifier_mm ;
2443 pgtable_t pmd_huge_pte ;
2444 struct cpumask cpumask_allocation ;
2445};
2446#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
2447struct vm_area_struct;
2448#line 8 "include/linux/debug_locks.h"
2449struct task_struct;
2450#line 48
2451struct task_struct;
2452#line 22 "include/linux/mm.h"
2453struct mempolicy;
2454#line 23
2455struct anon_vma;
2456#line 24
2457struct file_ra_state;
2458#line 26
2459struct writeback_control;
2460#line 188 "include/linux/mm.h"
2461struct vm_fault {
2462 unsigned int flags ;
2463 unsigned long pgoff ;
2464 void *virtual_address ;
2465 struct page *page ;
2466};
2467#line 205 "include/linux/mm.h"
2468struct vm_operations_struct {
2469 void (*open)(struct vm_area_struct *area ) ;
2470 void (*close)(struct vm_area_struct *area ) ;
2471 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2472 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2473 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
2474 int write ) ;
2475 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
2476 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
2477 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
2478 unsigned long flags ) ;
2479};
2480#line 247
2481struct inode;
2482#line 195 "include/linux/page-flags.h"
2483struct page;
2484#line 90 "include/xen/interface/grant_table.h"
2485typedef uint32_t grant_ref_t;
2486#line 48 "include/xen/interface/io/kbdif.h"
2487struct xenkbd_motion {
2488 uint8_t type ;
2489 int32_t rel_x ;
2490 int32_t rel_y ;
2491 int32_t rel_z ;
2492};
2493#line 55 "include/xen/interface/io/kbdif.h"
2494struct xenkbd_key {
2495 uint8_t type ;
2496 uint8_t pressed ;
2497 uint32_t keycode ;
2498};
2499#line 61 "include/xen/interface/io/kbdif.h"
2500struct xenkbd_position {
2501 uint8_t type ;
2502 int32_t abs_x ;
2503 int32_t abs_y ;
2504 int32_t rel_z ;
2505};
2506#line 70 "include/xen/interface/io/kbdif.h"
2507union xenkbd_in_event {
2508 uint8_t type ;
2509 struct xenkbd_motion motion ;
2510 struct xenkbd_key key ;
2511 struct xenkbd_position pos ;
2512 char pad[40] ;
2513};
2514#line 111 "include/xen/interface/io/kbdif.h"
2515struct xenkbd_page {
2516 uint32_t in_cons ;
2517 uint32_t in_prod ;
2518 uint32_t out_cons ;
2519 uint32_t out_prod ;
2520};
2521#line 16 "include/xen/interface/io/xenbus.h"
2522enum xenbus_state {
2523 XenbusStateUnknown = 0,
2524 XenbusStateInitialising = 1,
2525 XenbusStateInitWait = 2,
2526 XenbusStateInitialised = 3,
2527 XenbusStateConnected = 4,
2528 XenbusStateClosing = 5,
2529 XenbusStateClosed = 6,
2530 XenbusStateReconfiguring = 7,
2531 XenbusStateReconfigured = 8
2532} ;
2533#line 50 "include/xen/xenbus.h"
2534struct xenbus_watch {
2535 struct list_head list ;
2536 char const *node ;
2537 void (*callback)(struct xenbus_watch * , char const **vec , unsigned int len ) ;
2538};
2539#line 64 "include/xen/xenbus.h"
2540struct xenbus_device {
2541 char const *devicetype ;
2542 char const *nodename ;
2543 char const *otherend ;
2544 int otherend_id ;
2545 struct xenbus_watch otherend_watch ;
2546 struct device dev ;
2547 enum xenbus_state state ;
2548 struct completion down ;
2549};
2550#line 80 "include/xen/xenbus.h"
2551struct xenbus_device_id {
2552 char devicetype[32] ;
2553};
2554#line 87 "include/xen/xenbus.h"
2555struct xenbus_driver {
2556 struct xenbus_device_id const *ids ;
2557 int (*probe)(struct xenbus_device *dev , struct xenbus_device_id const *id ) ;
2558 void (*otherend_changed)(struct xenbus_device *dev , enum xenbus_state backend_state ) ;
2559 int (*remove)(struct xenbus_device *dev ) ;
2560 int (*suspend)(struct xenbus_device *dev ) ;
2561 int (*resume)(struct xenbus_device *dev ) ;
2562 int (*uevent)(struct xenbus_device * , struct kobj_uevent_env * ) ;
2563 struct device_driver driver ;
2564 int (*read_otherend_details)(struct xenbus_device *dev ) ;
2565 int (*is_ready)(struct xenbus_device *dev ) ;
2566};
2567#line 119 "include/xen/xenbus.h"
2568struct xenbus_transaction {
2569 u32 id ;
2570};
2571#line 169
2572struct work_struct;
2573#line 34 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
2574struct xenkbd_info {
2575 struct input_dev *kbd ;
2576 struct input_dev *ptr ;
2577 struct xenkbd_page *page ;
2578 int gref ;
2579 int irq ;
2580 struct xenbus_device *xbdev ;
2581 char phys[32] ;
2582};
2583#line 1 "<compiler builtins>"
2584long __builtin_expect(long val , long res ) ;
2585#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2586__inline static void __set_bit(int nr , unsigned long volatile *addr ) __attribute__((__no_instrument_function__)) ;
2587#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2588__inline static void __set_bit(int nr , unsigned long volatile *addr )
2589{ long volatile *__cil_tmp3 ;
2590
2591 {
2592#line 84
2593 __cil_tmp3 = (long volatile *)addr;
2594#line 84
2595 __asm__ volatile ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
2596#line 85
2597 return;
2598}
2599}
2600#line 315
2601__inline static int variable_test_bit(int nr , unsigned long const volatile *addr ) __attribute__((__no_instrument_function__)) ;
2602#line 315 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2603__inline static int variable_test_bit(int nr , unsigned long const volatile *addr )
2604{ int oldbit ;
2605 unsigned long *__cil_tmp4 ;
2606
2607 {
2608#line 319
2609 __cil_tmp4 = (unsigned long *)addr;
2610#line 319
2611 __asm__ volatile ("bt %2,%1\n\t"
2612 "sbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4), "Ir" (nr));
2613#line 324
2614 return (oldbit);
2615}
2616}
2617#line 100 "include/linux/printk.h"
2618extern int ( printk)(char const *fmt , ...) ;
2619#line 322 "include/linux/kernel.h"
2620extern int ( snprintf)(char *buf , size_t size , char const *fmt
2621 , ...) ;
2622#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_64_types.h"
2623extern unsigned long __phys_addr(unsigned long ) ;
2624#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2625extern void *memset(void *s , int c , size_t n ) ;
2626#line 152 "include/linux/mutex.h"
2627void mutex_lock(struct mutex *lock ) ;
2628#line 153
2629int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
2630#line 154
2631int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
2632#line 168
2633int mutex_trylock(struct mutex *lock ) ;
2634#line 169
2635void mutex_unlock(struct mutex *lock ) ;
2636#line 170
2637int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2638#line 11 "include/xen/xen.h"
2639extern enum xen_domain_type xen_domain_type ;
2640#line 38 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/hypervisor.h"
2641extern struct start_info *xen_start_info ;
2642#line 346 "include/linux/gfp.h"
2643extern unsigned long __get_free_pages(gfp_t gfp_mask , unsigned int order ) ;
2644#line 361
2645extern void free_pages(unsigned long addr , unsigned int order ) ;
2646#line 26 "include/linux/export.h"
2647extern struct module __this_module ;
2648#line 67 "include/linux/module.h"
2649int init_module(void) ;
2650#line 68
2651void cleanup_module(void) ;
2652#line 792 "include/linux/device.h"
2653extern void *dev_get_drvdata(struct device const *dev ) ;
2654#line 793
2655extern int dev_set_drvdata(struct device *dev , void *data ) ;
2656#line 1456 "include/linux/input.h"
2657extern struct input_dev *input_allocate_device(void) ;
2658#line 1457
2659extern void input_free_device(struct input_dev *dev ) ;
2660#line 1480
2661extern int __attribute__((__warn_unused_result__)) input_register_device(struct input_dev * ) ;
2662#line 1481
2663extern void input_unregister_device(struct input_dev * ) ;
2664#line 1502
2665extern void input_event(struct input_dev *dev , unsigned int type , unsigned int code ,
2666 int value ) ;
2667#line 1505
2668__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2669 int value ) __attribute__((__no_instrument_function__)) ;
2670#line 1505 "include/linux/input.h"
2671__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2672 int value )
2673{ int __cil_tmp4 ;
2674 int __cil_tmp5 ;
2675
2676 {
2677 {
2678#line 1507
2679 __cil_tmp4 = ! value;
2680#line 1507
2681 __cil_tmp5 = ! __cil_tmp4;
2682#line 1507
2683 input_event(dev, 1U, code, __cil_tmp5);
2684 }
2685#line 1508
2686 return;
2687}
2688}
2689#line 1510
2690__inline static void input_report_rel(struct input_dev *dev , unsigned int code ,
2691 int value ) __attribute__((__no_instrument_function__)) ;
2692#line 1510 "include/linux/input.h"
2693__inline static void input_report_rel(struct input_dev *dev , unsigned int code ,
2694 int value )
2695{
2696
2697 {
2698 {
2699#line 1512
2700 input_event(dev, 2U, code, value);
2701 }
2702#line 1513
2703 return;
2704}
2705}
2706#line 1515
2707__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2708 int value ) __attribute__((__no_instrument_function__)) ;
2709#line 1515 "include/linux/input.h"
2710__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2711 int value )
2712{
2713
2714 {
2715 {
2716#line 1517
2717 input_event(dev, 3U, code, value);
2718 }
2719#line 1518
2720 return;
2721}
2722}
2723#line 1530
2724__inline static void input_sync(struct input_dev *dev ) __attribute__((__no_instrument_function__)) ;
2725#line 1530 "include/linux/input.h"
2726__inline static void input_sync(struct input_dev *dev )
2727{
2728
2729 {
2730 {
2731#line 1532
2732 input_event(dev, 0U, 0U, 0);
2733 }
2734#line 1533
2735 return;
2736}
2737}
2738#line 1540
2739extern void input_set_capability(struct input_dev *dev , unsigned int type , unsigned int code ) ;
2740#line 1558
2741extern void input_set_abs_params(struct input_dev *dev , unsigned int axis , int min ,
2742 int max , int fuzz , int flat ) ;
2743#line 161 "include/linux/slab.h"
2744extern void kfree(void const * ) ;
2745#line 221 "include/linux/slub_def.h"
2746extern void *__kmalloc(size_t size , gfp_t flags ) ;
2747#line 268
2748__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2749 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
2750#line 268 "include/linux/slub_def.h"
2751__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2752 gfp_t flags )
2753{ void *tmp___2 ;
2754
2755 {
2756 {
2757#line 283
2758 tmp___2 = __kmalloc(size, flags);
2759 }
2760#line 283
2761 return (tmp___2);
2762}
2763}
2764#line 349 "include/linux/slab.h"
2765__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
2766#line 349 "include/linux/slab.h"
2767__inline static void *kzalloc(size_t size , gfp_t flags )
2768{ void *tmp ;
2769 unsigned int __cil_tmp4 ;
2770
2771 {
2772 {
2773#line 351
2774 __cil_tmp4 = flags | 32768U;
2775#line 351
2776 tmp = kmalloc(size, __cil_tmp4);
2777 }
2778#line 351
2779 return (tmp);
2780}
2781}
2782#line 11 "include/xen/events.h"
2783extern int bind_evtchn_to_irqhandler(unsigned int evtchn , irqreturn_t (*handler)(int ,
2784 void * ) ,
2785 unsigned long irqflags , char const *devname ,
2786 void *dev_id ) ;
2787#line 38
2788extern void unbind_from_irqhandler(unsigned int irq , void *dev_id ) ;
2789#line 57
2790extern void notify_remote_via_irq(int irq ) ;
2791#line 16 "include/xen/features.h"
2792extern u8 xen_features[32] ;
2793#line 18
2794__inline static int xen_feature(int flag ) __attribute__((__no_instrument_function__)) ;
2795#line 18 "include/xen/features.h"
2796__inline static int xen_feature(int flag )
2797{ unsigned long __cil_tmp2 ;
2798 unsigned long __cil_tmp3 ;
2799 u8 __cil_tmp4 ;
2800
2801 {
2802 {
2803#line 20
2804 __cil_tmp2 = flag * 1UL;
2805#line 20
2806 __cil_tmp3 = (unsigned long )(xen_features) + __cil_tmp2;
2807#line 20
2808 __cil_tmp4 = *((u8 *)__cil_tmp3);
2809#line 20
2810 return ((int )__cil_tmp4);
2811 }
2812}
2813}
2814#line 63 "include/xen/grant_table.h"
2815extern int gnttab_grant_foreign_access(domid_t domid , unsigned long frame , int readonly ) ;
2816#line 89
2817extern int gnttab_end_foreign_access_ref(grant_ref_t ref , int readonly ) ;
2818#line 45 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/page.h"
2819extern unsigned long get_phys_to_machine(unsigned long pfn ) ;
2820#line 57
2821__inline static unsigned long pfn_to_mfn(unsigned long pfn ) __attribute__((__no_instrument_function__)) ;
2822#line 57 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/page.h"
2823__inline static unsigned long pfn_to_mfn(unsigned long pfn )
2824{ unsigned long mfn ;
2825 int tmp ;
2826 unsigned long __cil_tmp4 ;
2827 unsigned long __cil_tmp5 ;
2828 unsigned long __cil_tmp6 ;
2829 unsigned long __cil_tmp7 ;
2830
2831 {
2832 {
2833#line 61
2834 tmp = xen_feature(2);
2835 }
2836#line 61
2837 if (tmp) {
2838#line 62
2839 return (pfn);
2840 } else {
2841
2842 }
2843 {
2844#line 64
2845 mfn = get_phys_to_machine(pfn);
2846 }
2847#line 66
2848 if (mfn != 0xffffffffffffffffUL) {
2849#line 67
2850 __cil_tmp4 = 1UL << 62;
2851#line 67
2852 __cil_tmp5 = 1UL << 63;
2853#line 67
2854 __cil_tmp6 = __cil_tmp5 | __cil_tmp4;
2855#line 67
2856 __cil_tmp7 = ~ __cil_tmp6;
2857#line 67
2858 mfn = mfn & __cil_tmp7;
2859 } else {
2860
2861 }
2862#line 69
2863 return (mfn);
2864}
2865}
2866#line 114 "include/xen/xenbus.h"
2867extern int __attribute__((__warn_unused_result__)) xenbus_register_frontend(struct xenbus_driver * ) ;
2868#line 117
2869extern void xenbus_unregister_driver(struct xenbus_driver *drv ) ;
2870#line 138
2871extern int xenbus_transaction_start(struct xenbus_transaction *t ) ;
2872#line 139
2873extern int xenbus_transaction_end(u32 tid , int abort ) ;
2874#line 142
2875extern int ( xenbus_scanf)(u32 tid , char const *dir , char const *node ,
2876 char const *fmt , ...) ;
2877#line 147
2878extern int ( xenbus_printf)(u32 tid , char const *dir ,
2879 char const *node , char const *fmt
2880 , ...) ;
2881#line 197
2882extern int xenbus_switch_state(struct xenbus_device *dev , enum xenbus_state new_state ) ;
2883#line 208
2884extern int xenbus_alloc_evtchn(struct xenbus_device *dev , int *port ) ;
2885#line 210
2886extern int xenbus_free_evtchn(struct xenbus_device *dev , int port ) ;
2887#line 216
2888extern void ( xenbus_dev_fatal)(struct xenbus_device *dev ,
2889 int err , char const *fmt
2890 , ...) ;
2891#line 221
2892extern int xenbus_frontend_closed(struct xenbus_device *dev ) ;
2893#line 44 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
2894static int xenkbd_remove(struct xenbus_device *dev ) ;
2895#line 45
2896static int xenkbd_connect_backend(struct xenbus_device *dev , struct xenkbd_info *info ) ;
2897#line 46
2898static void xenkbd_disconnect_backend(struct xenkbd_info *info ) ;
2899#line 53 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
2900static irqreturn_t input_handler(int rq , void *dev_id )
2901{ struct xenkbd_info *info ;
2902 struct xenkbd_page *page ;
2903 __u32 cons ;
2904 __u32 prod ;
2905 union xenkbd_in_event *event ;
2906 struct input_dev *dev ;
2907 int tmp___0 ;
2908 int tmp___2 ;
2909 unsigned long __cil_tmp13 ;
2910 unsigned long __cil_tmp14 ;
2911 unsigned long __cil_tmp15 ;
2912 unsigned long __cil_tmp16 ;
2913 uint32_t __cil_tmp17 ;
2914 unsigned int __cil_tmp18 ;
2915 char *__cil_tmp19 ;
2916 char *__cil_tmp20 ;
2917 union xenkbd_in_event *__cil_tmp21 ;
2918 unsigned long __cil_tmp22 ;
2919 unsigned long __cil_tmp23 ;
2920 uint8_t __cil_tmp24 ;
2921 unsigned long __cil_tmp25 ;
2922 unsigned long __cil_tmp26 ;
2923 unsigned long __cil_tmp27 ;
2924 int32_t __cil_tmp28 ;
2925 unsigned long __cil_tmp29 ;
2926 unsigned long __cil_tmp30 ;
2927 unsigned long __cil_tmp31 ;
2928 int32_t __cil_tmp32 ;
2929 unsigned long __cil_tmp33 ;
2930 unsigned long __cil_tmp34 ;
2931 unsigned long __cil_tmp35 ;
2932 unsigned long __cil_tmp36 ;
2933 unsigned long __cil_tmp37 ;
2934 unsigned long __cil_tmp38 ;
2935 int32_t __cil_tmp39 ;
2936 int32_t __cil_tmp40 ;
2937 void *__cil_tmp41 ;
2938 unsigned long __cil_tmp42 ;
2939 unsigned long __cil_tmp43 ;
2940 unsigned long __cil_tmp44 ;
2941 uint32_t __cil_tmp45 ;
2942 int __cil_tmp46 ;
2943 unsigned long __cil_tmp47 ;
2944 unsigned long __cil_tmp48 ;
2945 struct input_dev *__cil_tmp49 ;
2946 unsigned long __cil_tmp50 ;
2947 unsigned long __cil_tmp51 ;
2948 unsigned long *__cil_tmp52 ;
2949 unsigned long const volatile *__cil_tmp53 ;
2950 unsigned long __cil_tmp54 ;
2951 unsigned long __cil_tmp55 ;
2952 unsigned long __cil_tmp56 ;
2953 uint32_t __cil_tmp57 ;
2954 int __cil_tmp58 ;
2955 unsigned long __cil_tmp59 ;
2956 unsigned long __cil_tmp60 ;
2957 unsigned long __cil_tmp61 ;
2958 unsigned long __cil_tmp62 ;
2959 struct input_dev *__cil_tmp63 ;
2960 unsigned long __cil_tmp64 ;
2961 unsigned long __cil_tmp65 ;
2962 unsigned long *__cil_tmp66 ;
2963 unsigned long const volatile *__cil_tmp67 ;
2964 unsigned long __cil_tmp68 ;
2965 unsigned long __cil_tmp69 ;
2966 unsigned long __cil_tmp70 ;
2967 unsigned long __cil_tmp71 ;
2968 unsigned long __cil_tmp72 ;
2969 uint32_t __cil_tmp73 ;
2970 unsigned long __cil_tmp74 ;
2971 unsigned long __cil_tmp75 ;
2972 unsigned long __cil_tmp76 ;
2973 uint8_t __cil_tmp77 ;
2974 int __cil_tmp78 ;
2975 unsigned long __cil_tmp79 ;
2976 unsigned long __cil_tmp80 ;
2977 unsigned long __cil_tmp81 ;
2978 uint32_t __cil_tmp82 ;
2979 unsigned long __cil_tmp83 ;
2980 unsigned long __cil_tmp84 ;
2981 unsigned long __cil_tmp85 ;
2982 int32_t __cil_tmp86 ;
2983 unsigned long __cil_tmp87 ;
2984 unsigned long __cil_tmp88 ;
2985 unsigned long __cil_tmp89 ;
2986 int32_t __cil_tmp90 ;
2987 unsigned long __cil_tmp91 ;
2988 unsigned long __cil_tmp92 ;
2989 unsigned long __cil_tmp93 ;
2990 unsigned long __cil_tmp94 ;
2991 unsigned long __cil_tmp95 ;
2992 unsigned long __cil_tmp96 ;
2993 int32_t __cil_tmp97 ;
2994 int32_t __cil_tmp98 ;
2995 unsigned long __cil_tmp99 ;
2996 unsigned long __cil_tmp100 ;
2997 int __cil_tmp101 ;
2998
2999 {
3000#line 55
3001 info = (struct xenkbd_info *)dev_id;
3002#line 56
3003 __cil_tmp13 = (unsigned long )info;
3004#line 56
3005 __cil_tmp14 = __cil_tmp13 + 16;
3006#line 56
3007 page = *((struct xenkbd_page **)__cil_tmp14);
3008#line 59
3009 __cil_tmp15 = (unsigned long )page;
3010#line 59
3011 __cil_tmp16 = __cil_tmp15 + 4;
3012#line 59
3013 prod = *((uint32_t *)__cil_tmp16);
3014 {
3015#line 60
3016 __cil_tmp17 = *((uint32_t *)page);
3017#line 60
3018 if (prod == __cil_tmp17) {
3019#line 61
3020 return ((irqreturn_t )1);
3021 } else {
3022
3023 }
3024 }
3025#line 62
3026 __asm__ volatile ("lfence": : : "memory");
3027#line 63
3028 cons = *((uint32_t *)page);
3029 {
3030#line 63
3031 while (1) {
3032 while_continue: ;
3033#line 63
3034 if (cons != prod) {
3035
3036 } else {
3037#line 63
3038 goto while_break;
3039 }
3040#line 66
3041 __cil_tmp18 = cons % 51U;
3042#line 66
3043 __cil_tmp19 = (char *)page;
3044#line 66
3045 __cil_tmp20 = __cil_tmp19 + 1024;
3046#line 66
3047 __cil_tmp21 = (union xenkbd_in_event *)__cil_tmp20;
3048#line 66
3049 event = __cil_tmp21 + __cil_tmp18;
3050#line 68
3051 __cil_tmp22 = (unsigned long )info;
3052#line 68
3053 __cil_tmp23 = __cil_tmp22 + 8;
3054#line 68
3055 dev = *((struct input_dev **)__cil_tmp23);
3056 {
3057#line 69
3058 __cil_tmp24 = *((uint8_t *)event);
3059#line 70
3060 if ((int )__cil_tmp24 == 1) {
3061#line 70
3062 goto case_1;
3063 } else
3064#line 77
3065 if ((int )__cil_tmp24 == 3) {
3066#line 77
3067 goto case_3;
3068 } else
3069#line 90
3070 if ((int )__cil_tmp24 == 4) {
3071#line 90
3072 goto case_4;
3073 } else
3074#line 69
3075 if (0) {
3076 case_1:
3077 {
3078#line 71
3079 __cil_tmp25 = 0 + 4;
3080#line 71
3081 __cil_tmp26 = (unsigned long )event;
3082#line 71
3083 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
3084#line 71
3085 __cil_tmp28 = *((int32_t *)__cil_tmp27);
3086#line 71
3087 input_report_rel(dev, 0U, __cil_tmp28);
3088#line 72
3089 __cil_tmp29 = 0 + 8;
3090#line 72
3091 __cil_tmp30 = (unsigned long )event;
3092#line 72
3093 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
3094#line 72
3095 __cil_tmp32 = *((int32_t *)__cil_tmp31);
3096#line 72
3097 input_report_rel(dev, 1U, __cil_tmp32);
3098 }
3099 {
3100#line 73
3101 __cil_tmp33 = 0 + 12;
3102#line 73
3103 __cil_tmp34 = (unsigned long )event;
3104#line 73
3105 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
3106#line 73
3107 if (*((int32_t *)__cil_tmp35)) {
3108 {
3109#line 74
3110 __cil_tmp36 = 0 + 12;
3111#line 74
3112 __cil_tmp37 = (unsigned long )event;
3113#line 74
3114 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
3115#line 74
3116 __cil_tmp39 = *((int32_t *)__cil_tmp38);
3117#line 74
3118 __cil_tmp40 = - __cil_tmp39;
3119#line 74
3120 input_report_rel(dev, 8U, __cil_tmp40);
3121 }
3122 } else {
3123
3124 }
3125 }
3126#line 76
3127 goto switch_break;
3128 case_3:
3129 {
3130#line 78
3131 __cil_tmp41 = (void *)0;
3132#line 78
3133 dev = (struct input_dev *)__cil_tmp41;
3134#line 79
3135 __cil_tmp42 = 0 + 4;
3136#line 79
3137 __cil_tmp43 = (unsigned long )event;
3138#line 79
3139 __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
3140#line 79
3141 __cil_tmp45 = *((uint32_t *)__cil_tmp44);
3142#line 79
3143 __cil_tmp46 = (int )__cil_tmp45;
3144#line 79
3145 __cil_tmp47 = 0 * 8UL;
3146#line 79
3147 __cil_tmp48 = 48 + __cil_tmp47;
3148#line 79
3149 __cil_tmp49 = *((struct input_dev **)info);
3150#line 79
3151 __cil_tmp50 = (unsigned long )__cil_tmp49;
3152#line 79
3153 __cil_tmp51 = __cil_tmp50 + __cil_tmp48;
3154#line 79
3155 __cil_tmp52 = (unsigned long *)__cil_tmp51;
3156#line 79
3157 __cil_tmp53 = (unsigned long const volatile *)__cil_tmp52;
3158#line 79
3159 tmp___0 = variable_test_bit(__cil_tmp46, __cil_tmp53);
3160 }
3161#line 79
3162 if (tmp___0) {
3163#line 80
3164 dev = *((struct input_dev **)info);
3165 } else {
3166
3167 }
3168 {
3169#line 81
3170 __cil_tmp54 = 0 + 4;
3171#line 81
3172 __cil_tmp55 = (unsigned long )event;
3173#line 81
3174 __cil_tmp56 = __cil_tmp55 + __cil_tmp54;
3175#line 81
3176 __cil_tmp57 = *((uint32_t *)__cil_tmp56);
3177#line 81
3178 __cil_tmp58 = (int )__cil_tmp57;
3179#line 81
3180 __cil_tmp59 = 0 * 8UL;
3181#line 81
3182 __cil_tmp60 = 48 + __cil_tmp59;
3183#line 81
3184 __cil_tmp61 = (unsigned long )info;
3185#line 81
3186 __cil_tmp62 = __cil_tmp61 + 8;
3187#line 81
3188 __cil_tmp63 = *((struct input_dev **)__cil_tmp62);
3189#line 81
3190 __cil_tmp64 = (unsigned long )__cil_tmp63;
3191#line 81
3192 __cil_tmp65 = __cil_tmp64 + __cil_tmp60;
3193#line 81
3194 __cil_tmp66 = (unsigned long *)__cil_tmp65;
3195#line 81
3196 __cil_tmp67 = (unsigned long const volatile *)__cil_tmp66;
3197#line 81
3198 tmp___2 = variable_test_bit(__cil_tmp58, __cil_tmp67);
3199 }
3200#line 81
3201 if (tmp___2) {
3202#line 82
3203 __cil_tmp68 = (unsigned long )info;
3204#line 82
3205 __cil_tmp69 = __cil_tmp68 + 8;
3206#line 82
3207 dev = *((struct input_dev **)__cil_tmp69);
3208 } else {
3209
3210 }
3211#line 83
3212 if (dev) {
3213 {
3214#line 84
3215 __cil_tmp70 = 0 + 4;
3216#line 84
3217 __cil_tmp71 = (unsigned long )event;
3218#line 84
3219 __cil_tmp72 = __cil_tmp71 + __cil_tmp70;
3220#line 84
3221 __cil_tmp73 = *((uint32_t *)__cil_tmp72);
3222#line 84
3223 __cil_tmp74 = 0 + 1;
3224#line 84
3225 __cil_tmp75 = (unsigned long )event;
3226#line 84
3227 __cil_tmp76 = __cil_tmp75 + __cil_tmp74;
3228#line 84
3229 __cil_tmp77 = *((uint8_t *)__cil_tmp76);
3230#line 84
3231 __cil_tmp78 = (int )__cil_tmp77;
3232#line 84
3233 input_report_key(dev, __cil_tmp73, __cil_tmp78);
3234 }
3235 } else {
3236 {
3237#line 87
3238 __cil_tmp79 = 0 + 4;
3239#line 87
3240 __cil_tmp80 = (unsigned long )event;
3241#line 87
3242 __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
3243#line 87
3244 __cil_tmp82 = *((uint32_t *)__cil_tmp81);
3245#line 87
3246 printk("<4>xen_kbdfront: unhandled keycode 0x%x\n", __cil_tmp82);
3247 }
3248 }
3249#line 89
3250 goto switch_break;
3251 case_4:
3252 {
3253#line 91
3254 __cil_tmp83 = 0 + 4;
3255#line 91
3256 __cil_tmp84 = (unsigned long )event;
3257#line 91
3258 __cil_tmp85 = __cil_tmp84 + __cil_tmp83;
3259#line 91
3260 __cil_tmp86 = *((int32_t *)__cil_tmp85);
3261#line 91
3262 input_report_abs(dev, 0U, __cil_tmp86);
3263#line 92
3264 __cil_tmp87 = 0 + 8;
3265#line 92
3266 __cil_tmp88 = (unsigned long )event;
3267#line 92
3268 __cil_tmp89 = __cil_tmp88 + __cil_tmp87;
3269#line 92
3270 __cil_tmp90 = *((int32_t *)__cil_tmp89);
3271#line 92
3272 input_report_abs(dev, 1U, __cil_tmp90);
3273 }
3274 {
3275#line 93
3276 __cil_tmp91 = 0 + 12;
3277#line 93
3278 __cil_tmp92 = (unsigned long )event;
3279#line 93
3280 __cil_tmp93 = __cil_tmp92 + __cil_tmp91;
3281#line 93
3282 if (*((int32_t *)__cil_tmp93)) {
3283 {
3284#line 94
3285 __cil_tmp94 = 0 + 12;
3286#line 94
3287 __cil_tmp95 = (unsigned long )event;
3288#line 94
3289 __cil_tmp96 = __cil_tmp95 + __cil_tmp94;
3290#line 94
3291 __cil_tmp97 = *((int32_t *)__cil_tmp96);
3292#line 94
3293 __cil_tmp98 = - __cil_tmp97;
3294#line 94
3295 input_report_rel(dev, 8U, __cil_tmp98);
3296 }
3297 } else {
3298
3299 }
3300 }
3301#line 96
3302 goto switch_break;
3303 } else {
3304 switch_break: ;
3305 }
3306 }
3307#line 98
3308 if (dev) {
3309 {
3310#line 99
3311 input_sync(dev);
3312 }
3313 } else {
3314
3315 }
3316#line 63
3317 cons = cons + 1U;
3318 }
3319 while_break: ;
3320 }
3321 {
3322#line 101
3323 __asm__ volatile ("mfence": : : "memory");
3324#line 102
3325 *((uint32_t *)page) = cons;
3326#line 103
3327 __cil_tmp99 = (unsigned long )info;
3328#line 103
3329 __cil_tmp100 = __cil_tmp99 + 28;
3330#line 103
3331 __cil_tmp101 = *((int *)__cil_tmp100);
3332#line 103
3333 notify_remote_via_irq(__cil_tmp101);
3334 }
3335#line 105
3336 return ((irqreturn_t )1);
3337}
3338}
3339#line 108
3340static int xenkbd_probe(struct xenbus_device *dev , struct xenbus_device_id const *id ) __attribute__((__section__(".devinit.text"),
3341__no_instrument_function__)) ;
3342#line 108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
3343static int xenkbd_probe(struct xenbus_device *dev , struct xenbus_device_id const *id )
3344{ int ret ;
3345 int i ;
3346 int abs ;
3347 struct xenkbd_info *info ;
3348 struct input_dev *kbd ;
3349 struct input_dev *ptr ;
3350 void *tmp ;
3351 unsigned long tmp___0 ;
3352 struct xenbus_transaction __constr_expr_0 ;
3353 int tmp___1 ;
3354 struct xenbus_transaction __constr_expr_1 ;
3355 unsigned long __cil_tmp14 ;
3356 unsigned long __cil_tmp15 ;
3357 struct device *__cil_tmp16 ;
3358 void *__cil_tmp17 ;
3359 unsigned long __cil_tmp18 ;
3360 unsigned long __cil_tmp19 ;
3361 unsigned long __cil_tmp20 ;
3362 unsigned long __cil_tmp21 ;
3363 unsigned long __cil_tmp22 ;
3364 unsigned long __cil_tmp23 ;
3365 unsigned long __cil_tmp24 ;
3366 unsigned long __cil_tmp25 ;
3367 unsigned long __cil_tmp26 ;
3368 unsigned long __cil_tmp27 ;
3369 char *__cil_tmp28 ;
3370 unsigned long __cil_tmp29 ;
3371 unsigned long __cil_tmp30 ;
3372 char const *__cil_tmp31 ;
3373 unsigned long __cil_tmp32 ;
3374 unsigned long __cil_tmp33 ;
3375 void *__cil_tmp34 ;
3376 unsigned long __cil_tmp35 ;
3377 unsigned long __cil_tmp36 ;
3378 struct xenkbd_page *__cil_tmp37 ;
3379 unsigned long __cil_tmp38 ;
3380 unsigned long __cil_tmp39 ;
3381 char const *__cil_tmp40 ;
3382 int *__cil_tmp41 ;
3383 int *__cil_tmp42 ;
3384 unsigned long __cil_tmp43 ;
3385 unsigned long __cil_tmp44 ;
3386 char const *__cil_tmp45 ;
3387 unsigned long __cil_tmp46 ;
3388 unsigned long __cil_tmp47 ;
3389 unsigned long __cil_tmp48 ;
3390 unsigned long __cil_tmp49 ;
3391 unsigned long __cil_tmp50 ;
3392 unsigned long __cil_tmp51 ;
3393 char *__cil_tmp52 ;
3394 unsigned long __cil_tmp53 ;
3395 unsigned long __cil_tmp54 ;
3396 unsigned long __cil_tmp55 ;
3397 unsigned long __cil_tmp56 ;
3398 unsigned long __cil_tmp57 ;
3399 unsigned long __cil_tmp58 ;
3400 unsigned long __cil_tmp59 ;
3401 unsigned long __cil_tmp60 ;
3402 unsigned long __cil_tmp61 ;
3403 unsigned long __cil_tmp62 ;
3404 unsigned long __cil_tmp63 ;
3405 unsigned long __cil_tmp64 ;
3406 unsigned long *__cil_tmp65 ;
3407 unsigned long volatile *__cil_tmp66 ;
3408 unsigned long __cil_tmp67 ;
3409 unsigned long __cil_tmp68 ;
3410 unsigned long __cil_tmp69 ;
3411 unsigned long __cil_tmp70 ;
3412 unsigned long *__cil_tmp71 ;
3413 unsigned long volatile *__cil_tmp72 ;
3414 unsigned long __cil_tmp73 ;
3415 unsigned long __cil_tmp74 ;
3416 unsigned long __cil_tmp75 ;
3417 unsigned long __cil_tmp76 ;
3418 unsigned long *__cil_tmp77 ;
3419 unsigned long volatile *__cil_tmp78 ;
3420 unsigned long __cil_tmp79 ;
3421 unsigned long __cil_tmp80 ;
3422 unsigned long __cil_tmp81 ;
3423 unsigned long __cil_tmp82 ;
3424 unsigned long __cil_tmp83 ;
3425 unsigned long __cil_tmp84 ;
3426 char *__cil_tmp85 ;
3427 unsigned long __cil_tmp86 ;
3428 unsigned long __cil_tmp87 ;
3429 unsigned long __cil_tmp88 ;
3430 unsigned long __cil_tmp89 ;
3431 unsigned long __cil_tmp90 ;
3432 unsigned long __cil_tmp91 ;
3433 unsigned long __cil_tmp92 ;
3434 unsigned long __cil_tmp93 ;
3435 int *__cil_tmp94 ;
3436 unsigned long __cil_tmp95 ;
3437 unsigned long __cil_tmp96 ;
3438 unsigned long __cil_tmp97 ;
3439 unsigned long __cil_tmp98 ;
3440 unsigned long *__cil_tmp99 ;
3441 unsigned long volatile *__cil_tmp100 ;
3442 unsigned long __cil_tmp101 ;
3443 unsigned long __cil_tmp102 ;
3444 unsigned long __cil_tmp103 ;
3445 unsigned long __cil_tmp104 ;
3446 unsigned long *__cil_tmp105 ;
3447 unsigned long volatile *__cil_tmp106 ;
3448 unsigned long __cil_tmp107 ;
3449 unsigned long __cil_tmp108 ;
3450 unsigned long __cil_tmp109 ;
3451 unsigned long __cil_tmp110 ;
3452 unsigned long *__cil_tmp111 ;
3453 unsigned long volatile *__cil_tmp112 ;
3454 unsigned long __cil_tmp113 ;
3455 unsigned long __cil_tmp114 ;
3456 u32 __constr_expr_0_id115 ;
3457 u32 __constr_expr_1_id116 ;
3458
3459 {
3460 {
3461#line 115
3462 tmp = kzalloc(72UL, 208U);
3463#line 115
3464 info = (struct xenkbd_info *)tmp;
3465 }
3466#line 116
3467 if (! info) {
3468 {
3469#line 117
3470 xenbus_dev_fatal(dev, -12, "allocating info structure");
3471 }
3472#line 118
3473 return (-12);
3474 } else {
3475
3476 }
3477 {
3478#line 120
3479 __cil_tmp14 = (unsigned long )dev;
3480#line 120
3481 __cil_tmp15 = __cil_tmp14 + 64;
3482#line 120
3483 __cil_tmp16 = (struct device *)__cil_tmp15;
3484#line 120
3485 __cil_tmp17 = (void *)info;
3486#line 120
3487 dev_set_drvdata(__cil_tmp16, __cil_tmp17);
3488#line 121
3489 __cil_tmp18 = (unsigned long )info;
3490#line 121
3491 __cil_tmp19 = __cil_tmp18 + 32;
3492#line 121
3493 *((struct xenbus_device **)__cil_tmp19) = dev;
3494#line 122
3495 __cil_tmp20 = (unsigned long )info;
3496#line 122
3497 __cil_tmp21 = __cil_tmp20 + 28;
3498#line 122
3499 *((int *)__cil_tmp21) = -1;
3500#line 123
3501 __cil_tmp22 = (unsigned long )info;
3502#line 123
3503 __cil_tmp23 = __cil_tmp22 + 24;
3504#line 123
3505 *((int *)__cil_tmp23) = -1;
3506#line 124
3507 __cil_tmp24 = 0 * 1UL;
3508#line 124
3509 __cil_tmp25 = 40 + __cil_tmp24;
3510#line 124
3511 __cil_tmp26 = (unsigned long )info;
3512#line 124
3513 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
3514#line 124
3515 __cil_tmp28 = (char *)__cil_tmp27;
3516#line 124
3517 __cil_tmp29 = (unsigned long )dev;
3518#line 124
3519 __cil_tmp30 = __cil_tmp29 + 8;
3520#line 124
3521 __cil_tmp31 = *((char const **)__cil_tmp30);
3522#line 124
3523 snprintf(__cil_tmp28, 32UL, "xenbus/%s", __cil_tmp31);
3524#line 126
3525 tmp___0 = __get_free_pages(32976U, 0U);
3526#line 126
3527 __cil_tmp32 = (unsigned long )info;
3528#line 126
3529 __cil_tmp33 = __cil_tmp32 + 16;
3530#line 126
3531 __cil_tmp34 = (void *)tmp___0;
3532#line 126
3533 *((struct xenkbd_page **)__cil_tmp33) = (struct xenkbd_page *)__cil_tmp34;
3534 }
3535 {
3536#line 127
3537 __cil_tmp35 = (unsigned long )info;
3538#line 127
3539 __cil_tmp36 = __cil_tmp35 + 16;
3540#line 127
3541 __cil_tmp37 = *((struct xenkbd_page **)__cil_tmp36);
3542#line 127
3543 if (! __cil_tmp37) {
3544#line 128
3545 goto error_nomem;
3546 } else {
3547
3548 }
3549 }
3550 {
3551#line 130
3552 __constr_expr_0_id115 = (u32 )0;
3553#line 130
3554 __cil_tmp38 = (unsigned long )dev;
3555#line 130
3556 __cil_tmp39 = __cil_tmp38 + 16;
3557#line 130
3558 __cil_tmp40 = *((char const **)__cil_tmp39);
3559#line 130
3560 tmp___1 = xenbus_scanf(__constr_expr_0_id115, __cil_tmp40, "feature-abs-pointer",
3561 "%d", & abs);
3562 }
3563#line 130
3564 if (tmp___1 < 0) {
3565#line 131
3566 __cil_tmp41 = & abs;
3567#line 131
3568 *__cil_tmp41 = 0;
3569 } else {
3570
3571 }
3572 {
3573#line 132
3574 __cil_tmp42 = & abs;
3575#line 132
3576 if (*__cil_tmp42) {
3577 {
3578#line 133
3579 __constr_expr_1_id116 = (u32 )0;
3580#line 133
3581 __cil_tmp43 = (unsigned long )dev;
3582#line 133
3583 __cil_tmp44 = __cil_tmp43 + 8;
3584#line 133
3585 __cil_tmp45 = *((char const **)__cil_tmp44);
3586#line 133
3587 xenbus_printf(__constr_expr_1_id116, __cil_tmp45, "request-abs-pointer", "1");
3588 }
3589 } else {
3590
3591 }
3592 }
3593 {
3594#line 136
3595 kbd = input_allocate_device();
3596 }
3597#line 137
3598 if (! kbd) {
3599#line 138
3600 goto error_nomem;
3601 } else {
3602
3603 }
3604 {
3605#line 139
3606 *((char const **)kbd) = "Xen Virtual Keyboard";
3607#line 140
3608 __cil_tmp46 = (unsigned long )kbd;
3609#line 140
3610 __cil_tmp47 = __cil_tmp46 + 8;
3611#line 140
3612 __cil_tmp48 = 0 * 1UL;
3613#line 140
3614 __cil_tmp49 = 40 + __cil_tmp48;
3615#line 140
3616 __cil_tmp50 = (unsigned long )info;
3617#line 140
3618 __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
3619#line 140
3620 __cil_tmp52 = (char *)__cil_tmp51;
3621#line 140
3622 *((char const **)__cil_tmp47) = (char const *)__cil_tmp52;
3623#line 141
3624 __cil_tmp53 = (unsigned long )kbd;
3625#line 141
3626 __cil_tmp54 = __cil_tmp53 + 24;
3627#line 141
3628 *((__u16 *)__cil_tmp54) = (__u16 )1;
3629#line 142
3630 __cil_tmp55 = 24 + 2;
3631#line 142
3632 __cil_tmp56 = (unsigned long )kbd;
3633#line 142
3634 __cil_tmp57 = __cil_tmp56 + __cil_tmp55;
3635#line 142
3636 *((__u16 *)__cil_tmp57) = (__u16 )22611;
3637#line 143
3638 __cil_tmp58 = 24 + 4;
3639#line 143
3640 __cil_tmp59 = (unsigned long )kbd;
3641#line 143
3642 __cil_tmp60 = __cil_tmp59 + __cil_tmp58;
3643#line 143
3644 *((__u16 *)__cil_tmp60) = (__u16 )65535;
3645#line 145
3646 __cil_tmp61 = 0 * 8UL;
3647#line 145
3648 __cil_tmp62 = 40 + __cil_tmp61;
3649#line 145
3650 __cil_tmp63 = (unsigned long )kbd;
3651#line 145
3652 __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
3653#line 145
3654 __cil_tmp65 = (unsigned long *)__cil_tmp64;
3655#line 145
3656 __cil_tmp66 = (unsigned long volatile *)__cil_tmp65;
3657#line 145
3658 __set_bit(1, __cil_tmp66);
3659#line 146
3660 i = 1;
3661 }
3662 {
3663#line 146
3664 while (1) {
3665 while_continue: ;
3666#line 146
3667 if (i < 240) {
3668
3669 } else {
3670#line 146
3671 goto while_break;
3672 }
3673 {
3674#line 147
3675 __cil_tmp67 = 0 * 8UL;
3676#line 147
3677 __cil_tmp68 = 48 + __cil_tmp67;
3678#line 147
3679 __cil_tmp69 = (unsigned long )kbd;
3680#line 147
3681 __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
3682#line 147
3683 __cil_tmp71 = (unsigned long *)__cil_tmp70;
3684#line 147
3685 __cil_tmp72 = (unsigned long volatile *)__cil_tmp71;
3686#line 147
3687 __set_bit(i, __cil_tmp72);
3688#line 146
3689 i = i + 1;
3690 }
3691 }
3692 while_break: ;
3693 }
3694#line 148
3695 i = 352;
3696 {
3697#line 148
3698 while (1) {
3699 while_continue___0: ;
3700#line 148
3701 if (i < 767) {
3702
3703 } else {
3704#line 148
3705 goto while_break___0;
3706 }
3707 {
3708#line 149
3709 __cil_tmp73 = 0 * 8UL;
3710#line 149
3711 __cil_tmp74 = 48 + __cil_tmp73;
3712#line 149
3713 __cil_tmp75 = (unsigned long )kbd;
3714#line 149
3715 __cil_tmp76 = __cil_tmp75 + __cil_tmp74;
3716#line 149
3717 __cil_tmp77 = (unsigned long *)__cil_tmp76;
3718#line 149
3719 __cil_tmp78 = (unsigned long volatile *)__cil_tmp77;
3720#line 149
3721 __set_bit(i, __cil_tmp78);
3722#line 148
3723 i = i + 1;
3724 }
3725 }
3726 while_break___0: ;
3727 }
3728 {
3729#line 151
3730 ret = (int )input_register_device(kbd);
3731 }
3732#line 152
3733 if (ret) {
3734 {
3735#line 153
3736 input_free_device(kbd);
3737#line 154
3738 xenbus_dev_fatal(dev, ret, "input_register_device(kbd)");
3739 }
3740#line 155
3741 goto error;
3742 } else {
3743
3744 }
3745 {
3746#line 157
3747 *((struct input_dev **)info) = kbd;
3748#line 160
3749 ptr = input_allocate_device();
3750 }
3751#line 161
3752 if (! ptr) {
3753#line 162
3754 goto error_nomem;
3755 } else {
3756
3757 }
3758#line 163
3759 *((char const **)ptr) = "Xen Virtual Pointer";
3760#line 164
3761 __cil_tmp79 = (unsigned long )ptr;
3762#line 164
3763 __cil_tmp80 = __cil_tmp79 + 8;
3764#line 164
3765 __cil_tmp81 = 0 * 1UL;
3766#line 164
3767 __cil_tmp82 = 40 + __cil_tmp81;
3768#line 164
3769 __cil_tmp83 = (unsigned long )info;
3770#line 164
3771 __cil_tmp84 = __cil_tmp83 + __cil_tmp82;
3772#line 164
3773 __cil_tmp85 = (char *)__cil_tmp84;
3774#line 164
3775 *((char const **)__cil_tmp80) = (char const *)__cil_tmp85;
3776#line 165
3777 __cil_tmp86 = (unsigned long )ptr;
3778#line 165
3779 __cil_tmp87 = __cil_tmp86 + 24;
3780#line 165
3781 *((__u16 *)__cil_tmp87) = (__u16 )1;
3782#line 166
3783 __cil_tmp88 = 24 + 2;
3784#line 166
3785 __cil_tmp89 = (unsigned long )ptr;
3786#line 166
3787 __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
3788#line 166
3789 *((__u16 *)__cil_tmp90) = (__u16 )22611;
3790#line 167
3791 __cil_tmp91 = 24 + 4;
3792#line 167
3793 __cil_tmp92 = (unsigned long )ptr;
3794#line 167
3795 __cil_tmp93 = __cil_tmp92 + __cil_tmp91;
3796#line 167
3797 *((__u16 *)__cil_tmp93) = (__u16 )65534;
3798 {
3799#line 169
3800 __cil_tmp94 = & abs;
3801#line 169
3802 if (*__cil_tmp94) {
3803 {
3804#line 170
3805 __cil_tmp95 = 0 * 8UL;
3806#line 170
3807 __cil_tmp96 = 40 + __cil_tmp95;
3808#line 170
3809 __cil_tmp97 = (unsigned long )ptr;
3810#line 170
3811 __cil_tmp98 = __cil_tmp97 + __cil_tmp96;
3812#line 170
3813 __cil_tmp99 = (unsigned long *)__cil_tmp98;
3814#line 170
3815 __cil_tmp100 = (unsigned long volatile *)__cil_tmp99;
3816#line 170
3817 __set_bit(3, __cil_tmp100);
3818#line 171
3819 input_set_abs_params(ptr, 0U, 0, 800, 0, 0);
3820#line 172
3821 input_set_abs_params(ptr, 1U, 0, 600, 0, 0);
3822 }
3823 } else {
3824 {
3825#line 174
3826 input_set_capability(ptr, 2U, 0U);
3827#line 175
3828 input_set_capability(ptr, 2U, 1U);
3829 }
3830 }
3831 }
3832 {
3833#line 177
3834 input_set_capability(ptr, 2U, 8U);
3835#line 179
3836 __cil_tmp101 = 0 * 8UL;
3837#line 179
3838 __cil_tmp102 = 40 + __cil_tmp101;
3839#line 179
3840 __cil_tmp103 = (unsigned long )ptr;
3841#line 179
3842 __cil_tmp104 = __cil_tmp103 + __cil_tmp102;
3843#line 179
3844 __cil_tmp105 = (unsigned long *)__cil_tmp104;
3845#line 179
3846 __cil_tmp106 = (unsigned long volatile *)__cil_tmp105;
3847#line 179
3848 __set_bit(1, __cil_tmp106);
3849#line 180
3850 i = 272;
3851 }
3852 {
3853#line 180
3854 while (1) {
3855 while_continue___1: ;
3856#line 180
3857 if (i <= 279) {
3858
3859 } else {
3860#line 180
3861 goto while_break___1;
3862 }
3863 {
3864#line 181
3865 __cil_tmp107 = 0 * 8UL;
3866#line 181
3867 __cil_tmp108 = 48 + __cil_tmp107;
3868#line 181
3869 __cil_tmp109 = (unsigned long )ptr;
3870#line 181
3871 __cil_tmp110 = __cil_tmp109 + __cil_tmp108;
3872#line 181
3873 __cil_tmp111 = (unsigned long *)__cil_tmp110;
3874#line 181
3875 __cil_tmp112 = (unsigned long volatile *)__cil_tmp111;
3876#line 181
3877 __set_bit(i, __cil_tmp112);
3878#line 180
3879 i = i + 1;
3880 }
3881 }
3882 while_break___1: ;
3883 }
3884 {
3885#line 183
3886 ret = (int )input_register_device(ptr);
3887 }
3888#line 184
3889 if (ret) {
3890 {
3891#line 185
3892 input_free_device(ptr);
3893#line 186
3894 xenbus_dev_fatal(dev, ret, "input_register_device(ptr)");
3895 }
3896#line 187
3897 goto error;
3898 } else {
3899
3900 }
3901 {
3902#line 189
3903 __cil_tmp113 = (unsigned long )info;
3904#line 189
3905 __cil_tmp114 = __cil_tmp113 + 8;
3906#line 189
3907 *((struct input_dev **)__cil_tmp114) = ptr;
3908#line 191
3909 ret = xenkbd_connect_backend(dev, info);
3910 }
3911#line 192
3912 if (ret < 0) {
3913#line 193
3914 goto error;
3915 } else {
3916
3917 }
3918#line 195
3919 return (0);
3920 error_nomem:
3921 {
3922#line 198
3923 ret = -12;
3924#line 199
3925 xenbus_dev_fatal(dev, ret, "allocating device memory");
3926 }
3927 error:
3928 {
3929#line 201
3930 xenkbd_remove(dev);
3931 }
3932#line 202
3933 return (ret);
3934}
3935}
3936#line 205 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
3937static int xenkbd_resume(struct xenbus_device *dev )
3938{ struct xenkbd_info *info ;
3939 void *tmp ;
3940 int tmp___0 ;
3941 unsigned long __cil_tmp5 ;
3942 unsigned long __cil_tmp6 ;
3943 struct device *__cil_tmp7 ;
3944 struct device const *__cil_tmp8 ;
3945 unsigned long __cil_tmp9 ;
3946 unsigned long __cil_tmp10 ;
3947 struct xenkbd_page *__cil_tmp11 ;
3948 void *__cil_tmp12 ;
3949 unsigned long __cil_tmp13 ;
3950
3951 {
3952 {
3953#line 207
3954 __cil_tmp5 = (unsigned long )dev;
3955#line 207
3956 __cil_tmp6 = __cil_tmp5 + 64;
3957#line 207
3958 __cil_tmp7 = (struct device *)__cil_tmp6;
3959#line 207
3960 __cil_tmp8 = (struct device const *)__cil_tmp7;
3961#line 207
3962 tmp = dev_get_drvdata(__cil_tmp8);
3963#line 207
3964 info = (struct xenkbd_info *)tmp;
3965#line 209
3966 xenkbd_disconnect_backend(info);
3967#line 210
3968 __cil_tmp9 = (unsigned long )info;
3969#line 210
3970 __cil_tmp10 = __cil_tmp9 + 16;
3971#line 210
3972 __cil_tmp11 = *((struct xenkbd_page **)__cil_tmp10);
3973#line 210
3974 __cil_tmp12 = (void *)__cil_tmp11;
3975#line 210
3976 __cil_tmp13 = 1UL << 12;
3977#line 210
3978 memset(__cil_tmp12, 0, __cil_tmp13);
3979#line 211
3980 tmp___0 = xenkbd_connect_backend(dev, info);
3981 }
3982#line 211
3983 return (tmp___0);
3984}
3985}
3986#line 214 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
3987static int xenkbd_remove(struct xenbus_device *dev )
3988{ struct xenkbd_info *info ;
3989 void *tmp ;
3990 unsigned long __cil_tmp4 ;
3991 unsigned long __cil_tmp5 ;
3992 struct device *__cil_tmp6 ;
3993 struct device const *__cil_tmp7 ;
3994 struct input_dev *__cil_tmp8 ;
3995 unsigned long __cil_tmp9 ;
3996 unsigned long __cil_tmp10 ;
3997 unsigned long __cil_tmp11 ;
3998 unsigned long __cil_tmp12 ;
3999 struct input_dev *__cil_tmp13 ;
4000 unsigned long __cil_tmp14 ;
4001 unsigned long __cil_tmp15 ;
4002 struct xenkbd_page *__cil_tmp16 ;
4003 unsigned long __cil_tmp17 ;
4004 void const *__cil_tmp18 ;
4005
4006 {
4007 {
4008#line 216
4009 __cil_tmp4 = (unsigned long )dev;
4010#line 216
4011 __cil_tmp5 = __cil_tmp4 + 64;
4012#line 216
4013 __cil_tmp6 = (struct device *)__cil_tmp5;
4014#line 216
4015 __cil_tmp7 = (struct device const *)__cil_tmp6;
4016#line 216
4017 tmp = dev_get_drvdata(__cil_tmp7);
4018#line 216
4019 info = (struct xenkbd_info *)tmp;
4020#line 218
4021 xenkbd_disconnect_backend(info);
4022 }
4023#line 219
4024 if (*((struct input_dev **)info)) {
4025 {
4026#line 220
4027 __cil_tmp8 = *((struct input_dev **)info);
4028#line 220
4029 input_unregister_device(__cil_tmp8);
4030 }
4031 } else {
4032
4033 }
4034 {
4035#line 221
4036 __cil_tmp9 = (unsigned long )info;
4037#line 221
4038 __cil_tmp10 = __cil_tmp9 + 8;
4039#line 221
4040 if (*((struct input_dev **)__cil_tmp10)) {
4041 {
4042#line 222
4043 __cil_tmp11 = (unsigned long )info;
4044#line 222
4045 __cil_tmp12 = __cil_tmp11 + 8;
4046#line 222
4047 __cil_tmp13 = *((struct input_dev **)__cil_tmp12);
4048#line 222
4049 input_unregister_device(__cil_tmp13);
4050 }
4051 } else {
4052
4053 }
4054 }
4055 {
4056#line 223
4057 __cil_tmp14 = (unsigned long )info;
4058#line 223
4059 __cil_tmp15 = __cil_tmp14 + 16;
4060#line 223
4061 __cil_tmp16 = *((struct xenkbd_page **)__cil_tmp15);
4062#line 223
4063 __cil_tmp17 = (unsigned long )__cil_tmp16;
4064#line 223
4065 free_pages(__cil_tmp17, 0U);
4066#line 224
4067 __cil_tmp18 = (void const *)info;
4068#line 224
4069 kfree(__cil_tmp18);
4070 }
4071#line 225
4072 return (0);
4073}
4074}
4075#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4076static int xenkbd_connect_backend(struct xenbus_device *dev , struct xenkbd_info *info )
4077{ int ret ;
4078 int evtchn ;
4079 struct xenbus_transaction xbt ;
4080 unsigned long tmp ;
4081 unsigned long tmp___0 ;
4082 unsigned long tmp___1 ;
4083 unsigned long tmp___2 ;
4084 unsigned long __cil_tmp10 ;
4085 unsigned long __cil_tmp11 ;
4086 struct xenkbd_page *__cil_tmp12 ;
4087 unsigned long __cil_tmp13 ;
4088 unsigned long __cil_tmp14 ;
4089 unsigned long __cil_tmp15 ;
4090 unsigned long __cil_tmp16 ;
4091 int __cil_tmp17 ;
4092 domid_t __cil_tmp18 ;
4093 unsigned long __cil_tmp19 ;
4094 unsigned long __cil_tmp20 ;
4095 int *__cil_tmp21 ;
4096 int __cil_tmp22 ;
4097 unsigned int __cil_tmp23 ;
4098 char const *__cil_tmp24 ;
4099 void *__cil_tmp25 ;
4100 unsigned long __cil_tmp26 ;
4101 unsigned long __cil_tmp27 ;
4102 unsigned long __cil_tmp28 ;
4103 unsigned long __cil_tmp29 ;
4104 struct xenkbd_page *__cil_tmp30 ;
4105 unsigned long __cil_tmp31 ;
4106 unsigned long __cil_tmp32 ;
4107 struct xenbus_transaction *__cil_tmp33 ;
4108 struct xenbus_transaction __cil_tmp34 ;
4109 unsigned long __cil_tmp35 ;
4110 unsigned long __cil_tmp36 ;
4111 char const *__cil_tmp37 ;
4112 struct xenbus_transaction *__cil_tmp38 ;
4113 struct xenbus_transaction __cil_tmp39 ;
4114 unsigned long __cil_tmp40 ;
4115 unsigned long __cil_tmp41 ;
4116 char const *__cil_tmp42 ;
4117 unsigned long __cil_tmp43 ;
4118 unsigned long __cil_tmp44 ;
4119 int __cil_tmp45 ;
4120 struct xenbus_transaction *__cil_tmp46 ;
4121 struct xenbus_transaction __cil_tmp47 ;
4122 unsigned long __cil_tmp48 ;
4123 unsigned long __cil_tmp49 ;
4124 char const *__cil_tmp50 ;
4125 int *__cil_tmp51 ;
4126 int __cil_tmp52 ;
4127 struct xenbus_transaction *__cil_tmp53 ;
4128 struct xenbus_transaction __cil_tmp54 ;
4129 enum xenbus_state __cil_tmp55 ;
4130 struct xenbus_transaction *__cil_tmp56 ;
4131 struct xenbus_transaction __cil_tmp57 ;
4132 unsigned long __cil_tmp58 ;
4133 unsigned long __cil_tmp59 ;
4134 int __cil_tmp60 ;
4135 unsigned int __cil_tmp61 ;
4136 void *__cil_tmp62 ;
4137 unsigned long __cil_tmp63 ;
4138 unsigned long __cil_tmp64 ;
4139 int *__cil_tmp65 ;
4140 int __cil_tmp66 ;
4141 unsigned long __cil_tmp67 ;
4142 unsigned long __cil_tmp68 ;
4143 int __cil_tmp69 ;
4144 grant_ref_t __cil_tmp70 ;
4145 unsigned long __cil_tmp71 ;
4146 unsigned long __cil_tmp72 ;
4147 u32 __cil_tmp34_id73 ;
4148 u32 __cil_tmp39_id74 ;
4149 u32 __cil_tmp47_id75 ;
4150 u32 __cil_tmp54_id76 ;
4151 u32 __cil_tmp57_id77 ;
4152 u32 __cil_tmp78 ;
4153 u32 __cil_tmp79 ;
4154 u32 __cil_tmp80 ;
4155 u32 __cil_tmp81 ;
4156 u32 __cil_tmp82 ;
4157
4158 {
4159 {
4160#line 234
4161 __cil_tmp10 = (unsigned long )info;
4162#line 234
4163 __cil_tmp11 = __cil_tmp10 + 16;
4164#line 234
4165 __cil_tmp12 = *((struct xenkbd_page **)__cil_tmp11);
4166#line 234
4167 __cil_tmp13 = (unsigned long )__cil_tmp12;
4168#line 234
4169 tmp = __phys_addr(__cil_tmp13);
4170#line 234
4171 __cil_tmp14 = tmp >> 12;
4172#line 234
4173 tmp___0 = pfn_to_mfn(__cil_tmp14);
4174#line 234
4175 __cil_tmp15 = (unsigned long )dev;
4176#line 234
4177 __cil_tmp16 = __cil_tmp15 + 24;
4178#line 234
4179 __cil_tmp17 = *((int *)__cil_tmp16);
4180#line 234
4181 __cil_tmp18 = (domid_t )__cil_tmp17;
4182#line 234
4183 ret = gnttab_grant_foreign_access(__cil_tmp18, tmp___0, 0);
4184 }
4185#line 236
4186 if (ret < 0) {
4187#line 237
4188 return (ret);
4189 } else {
4190
4191 }
4192 {
4193#line 238
4194 __cil_tmp19 = (unsigned long )info;
4195#line 238
4196 __cil_tmp20 = __cil_tmp19 + 24;
4197#line 238
4198 *((int *)__cil_tmp20) = ret;
4199#line 240
4200 ret = xenbus_alloc_evtchn(dev, & evtchn);
4201 }
4202#line 241
4203 if (ret) {
4204#line 242
4205 goto error_grant;
4206 } else {
4207
4208 }
4209 {
4210#line 243
4211 __cil_tmp21 = & evtchn;
4212#line 243
4213 __cil_tmp22 = *__cil_tmp21;
4214#line 243
4215 __cil_tmp23 = (unsigned int )__cil_tmp22;
4216#line 243
4217 __cil_tmp24 = *((char const **)dev);
4218#line 243
4219 __cil_tmp25 = (void *)info;
4220#line 243
4221 ret = bind_evtchn_to_irqhandler(__cil_tmp23, & input_handler, 0UL, __cil_tmp24,
4222 __cil_tmp25);
4223 }
4224#line 245
4225 if (ret < 0) {
4226 {
4227#line 246
4228 xenbus_dev_fatal(dev, ret, "bind_evtchn_to_irqhandler");
4229 }
4230#line 247
4231 goto error_evtchan;
4232 } else {
4233
4234 }
4235#line 249
4236 __cil_tmp26 = (unsigned long )info;
4237#line 249
4238 __cil_tmp27 = __cil_tmp26 + 28;
4239#line 249
4240 *((int *)__cil_tmp27) = ret;
4241 again:
4242 {
4243#line 252
4244 ret = xenbus_transaction_start(& xbt);
4245 }
4246#line 253
4247 if (ret) {
4248 {
4249#line 254
4250 xenbus_dev_fatal(dev, ret, "starting transaction");
4251 }
4252#line 255
4253 goto error_irqh;
4254 } else {
4255
4256 }
4257 {
4258#line 257
4259 __cil_tmp28 = (unsigned long )info;
4260#line 257
4261 __cil_tmp29 = __cil_tmp28 + 16;
4262#line 257
4263 __cil_tmp30 = *((struct xenkbd_page **)__cil_tmp29);
4264#line 257
4265 __cil_tmp31 = (unsigned long )__cil_tmp30;
4266#line 257
4267 tmp___1 = __phys_addr(__cil_tmp31);
4268#line 257
4269 __cil_tmp32 = tmp___1 >> 12;
4270#line 257
4271 tmp___2 = pfn_to_mfn(__cil_tmp32);
4272#line 257
4273 __cil_tmp33 = & xbt;
4274#line 257
4275 __cil_tmp78 = __cil_tmp33->id;
4276#line 257
4277 __cil_tmp34_id73 = __cil_tmp78;
4278#line 257
4279 __cil_tmp35 = (unsigned long )dev;
4280#line 257
4281 __cil_tmp36 = __cil_tmp35 + 8;
4282#line 257
4283 __cil_tmp37 = *((char const **)__cil_tmp36);
4284#line 257
4285 ret = xenbus_printf(__cil_tmp34_id73, __cil_tmp37, "page-ref", "%lu", tmp___2);
4286 }
4287#line 259
4288 if (ret) {
4289#line 260
4290 goto error_xenbus;
4291 } else {
4292
4293 }
4294 {
4295#line 261
4296 __cil_tmp38 = & xbt;
4297#line 261
4298 __cil_tmp79 = __cil_tmp38->id;
4299#line 261
4300 __cil_tmp39_id74 = __cil_tmp79;
4301#line 261
4302 __cil_tmp40 = (unsigned long )dev;
4303#line 261
4304 __cil_tmp41 = __cil_tmp40 + 8;
4305#line 261
4306 __cil_tmp42 = *((char const **)__cil_tmp41);
4307#line 261
4308 __cil_tmp43 = (unsigned long )info;
4309#line 261
4310 __cil_tmp44 = __cil_tmp43 + 24;
4311#line 261
4312 __cil_tmp45 = *((int *)__cil_tmp44);
4313#line 261
4314 ret = xenbus_printf(__cil_tmp39_id74, __cil_tmp42, "page-gref", "%u", __cil_tmp45);
4315 }
4316#line 262
4317 if (ret) {
4318#line 263
4319 goto error_xenbus;
4320 } else {
4321
4322 }
4323 {
4324#line 264
4325 __cil_tmp46 = & xbt;
4326#line 264
4327 __cil_tmp80 = __cil_tmp46->id;
4328#line 264
4329 __cil_tmp47_id75 = __cil_tmp80;
4330#line 264
4331 __cil_tmp48 = (unsigned long )dev;
4332#line 264
4333 __cil_tmp49 = __cil_tmp48 + 8;
4334#line 264
4335 __cil_tmp50 = *((char const **)__cil_tmp49);
4336#line 264
4337 __cil_tmp51 = & evtchn;
4338#line 264
4339 __cil_tmp52 = *__cil_tmp51;
4340#line 264
4341 ret = xenbus_printf(__cil_tmp47_id75, __cil_tmp50, "event-channel", "%u", __cil_tmp52);
4342 }
4343#line 266
4344 if (ret) {
4345#line 267
4346 goto error_xenbus;
4347 } else {
4348
4349 }
4350 {
4351#line 268
4352 __cil_tmp53 = & xbt;
4353#line 268
4354 __cil_tmp81 = __cil_tmp53->id;
4355#line 268
4356 __cil_tmp54_id76 = __cil_tmp81;
4357#line 268
4358 ret = xenbus_transaction_end(__cil_tmp54_id76, 0);
4359 }
4360#line 269
4361 if (ret) {
4362#line 270
4363 if (ret == -11) {
4364#line 271
4365 goto again;
4366 } else {
4367
4368 }
4369 {
4370#line 272
4371 xenbus_dev_fatal(dev, ret, "completing transaction");
4372 }
4373#line 273
4374 goto error_irqh;
4375 } else {
4376
4377 }
4378 {
4379#line 276
4380 __cil_tmp55 = (enum xenbus_state )3;
4381#line 276
4382 xenbus_switch_state(dev, __cil_tmp55);
4383 }
4384#line 277
4385 return (0);
4386 error_xenbus:
4387 {
4388#line 280
4389 __cil_tmp56 = & xbt;
4390#line 280
4391 __cil_tmp82 = __cil_tmp56->id;
4392#line 280
4393 __cil_tmp57_id77 = __cil_tmp82;
4394#line 280
4395 xenbus_transaction_end(__cil_tmp57_id77, 1);
4396#line 281
4397 xenbus_dev_fatal(dev, ret, "writing xenstore");
4398 }
4399 error_irqh:
4400 {
4401#line 283
4402 __cil_tmp58 = (unsigned long )info;
4403#line 283
4404 __cil_tmp59 = __cil_tmp58 + 28;
4405#line 283
4406 __cil_tmp60 = *((int *)__cil_tmp59);
4407#line 283
4408 __cil_tmp61 = (unsigned int )__cil_tmp60;
4409#line 283
4410 __cil_tmp62 = (void *)info;
4411#line 283
4412 unbind_from_irqhandler(__cil_tmp61, __cil_tmp62);
4413#line 284
4414 __cil_tmp63 = (unsigned long )info;
4415#line 284
4416 __cil_tmp64 = __cil_tmp63 + 28;
4417#line 284
4418 *((int *)__cil_tmp64) = -1;
4419 }
4420 error_evtchan:
4421 {
4422#line 286
4423 __cil_tmp65 = & evtchn;
4424#line 286
4425 __cil_tmp66 = *__cil_tmp65;
4426#line 286
4427 xenbus_free_evtchn(dev, __cil_tmp66);
4428 }
4429 error_grant:
4430 {
4431#line 288
4432 __cil_tmp67 = (unsigned long )info;
4433#line 288
4434 __cil_tmp68 = __cil_tmp67 + 24;
4435#line 288
4436 __cil_tmp69 = *((int *)__cil_tmp68);
4437#line 288
4438 __cil_tmp70 = (grant_ref_t )__cil_tmp69;
4439#line 288
4440 gnttab_end_foreign_access_ref(__cil_tmp70, 0);
4441#line 289
4442 __cil_tmp71 = (unsigned long )info;
4443#line 289
4444 __cil_tmp72 = __cil_tmp71 + 24;
4445#line 289
4446 *((int *)__cil_tmp72) = -1;
4447 }
4448#line 290
4449 return (ret);
4450}
4451}
4452#line 293 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4453static void xenkbd_disconnect_backend(struct xenkbd_info *info )
4454{ unsigned long __cil_tmp2 ;
4455 unsigned long __cil_tmp3 ;
4456 int __cil_tmp4 ;
4457 unsigned long __cil_tmp5 ;
4458 unsigned long __cil_tmp6 ;
4459 int __cil_tmp7 ;
4460 unsigned int __cil_tmp8 ;
4461 void *__cil_tmp9 ;
4462 unsigned long __cil_tmp10 ;
4463 unsigned long __cil_tmp11 ;
4464 unsigned long __cil_tmp12 ;
4465 unsigned long __cil_tmp13 ;
4466 int __cil_tmp14 ;
4467 unsigned long __cil_tmp15 ;
4468 unsigned long __cil_tmp16 ;
4469 int __cil_tmp17 ;
4470 grant_ref_t __cil_tmp18 ;
4471 unsigned long __cil_tmp19 ;
4472 unsigned long __cil_tmp20 ;
4473
4474 {
4475 {
4476#line 295
4477 __cil_tmp2 = (unsigned long )info;
4478#line 295
4479 __cil_tmp3 = __cil_tmp2 + 28;
4480#line 295
4481 __cil_tmp4 = *((int *)__cil_tmp3);
4482#line 295
4483 if (__cil_tmp4 >= 0) {
4484 {
4485#line 296
4486 __cil_tmp5 = (unsigned long )info;
4487#line 296
4488 __cil_tmp6 = __cil_tmp5 + 28;
4489#line 296
4490 __cil_tmp7 = *((int *)__cil_tmp6);
4491#line 296
4492 __cil_tmp8 = (unsigned int )__cil_tmp7;
4493#line 296
4494 __cil_tmp9 = (void *)info;
4495#line 296
4496 unbind_from_irqhandler(__cil_tmp8, __cil_tmp9);
4497 }
4498 } else {
4499
4500 }
4501 }
4502#line 297
4503 __cil_tmp10 = (unsigned long )info;
4504#line 297
4505 __cil_tmp11 = __cil_tmp10 + 28;
4506#line 297
4507 *((int *)__cil_tmp11) = -1;
4508 {
4509#line 298
4510 __cil_tmp12 = (unsigned long )info;
4511#line 298
4512 __cil_tmp13 = __cil_tmp12 + 24;
4513#line 298
4514 __cil_tmp14 = *((int *)__cil_tmp13);
4515#line 298
4516 if (__cil_tmp14 >= 0) {
4517 {
4518#line 299
4519 __cil_tmp15 = (unsigned long )info;
4520#line 299
4521 __cil_tmp16 = __cil_tmp15 + 24;
4522#line 299
4523 __cil_tmp17 = *((int *)__cil_tmp16);
4524#line 299
4525 __cil_tmp18 = (grant_ref_t )__cil_tmp17;
4526#line 299
4527 gnttab_end_foreign_access_ref(__cil_tmp18, 0);
4528 }
4529 } else {
4530
4531 }
4532 }
4533#line 300
4534 __cil_tmp19 = (unsigned long )info;
4535#line 300
4536 __cil_tmp20 = __cil_tmp19 + 24;
4537#line 300
4538 *((int *)__cil_tmp20) = -1;
4539#line 301
4540 return;
4541}
4542}
4543#line 303 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4544static void xenkbd_backend_changed(struct xenbus_device *dev , enum xenbus_state backend_state )
4545{ struct xenkbd_info *info ;
4546 void *tmp ;
4547 int ret ;
4548 int val ;
4549 struct xenbus_transaction __constr_expr_0 ;
4550 struct xenbus_transaction __constr_expr_1 ;
4551 struct xenbus_transaction __constr_expr_2 ;
4552 int tmp___0 ;
4553 struct xenbus_transaction __constr_expr_3 ;
4554 int tmp___1 ;
4555 unsigned long __cil_tmp13 ;
4556 unsigned long __cil_tmp14 ;
4557 struct device *__cil_tmp15 ;
4558 struct device const *__cil_tmp16 ;
4559 unsigned long __cil_tmp17 ;
4560 unsigned long __cil_tmp18 ;
4561 struct xenbus_device *__cil_tmp19 ;
4562 unsigned long __cil_tmp20 ;
4563 unsigned long __cil_tmp21 ;
4564 char const *__cil_tmp22 ;
4565 int *__cil_tmp23 ;
4566 int *__cil_tmp24 ;
4567 unsigned long __cil_tmp25 ;
4568 unsigned long __cil_tmp26 ;
4569 struct xenbus_device *__cil_tmp27 ;
4570 unsigned long __cil_tmp28 ;
4571 unsigned long __cil_tmp29 ;
4572 char const *__cil_tmp30 ;
4573 enum xenbus_state __cil_tmp31 ;
4574 unsigned long __cil_tmp32 ;
4575 unsigned long __cil_tmp33 ;
4576 enum xenbus_state __cil_tmp34 ;
4577 unsigned int __cil_tmp35 ;
4578 unsigned long __cil_tmp36 ;
4579 unsigned long __cil_tmp37 ;
4580 struct xenbus_device *__cil_tmp38 ;
4581 unsigned long __cil_tmp39 ;
4582 unsigned long __cil_tmp40 ;
4583 char const *__cil_tmp41 ;
4584 unsigned long __cil_tmp42 ;
4585 unsigned long __cil_tmp43 ;
4586 struct input_dev *__cil_tmp44 ;
4587 int *__cil_tmp45 ;
4588 int __cil_tmp46 ;
4589 unsigned long __cil_tmp47 ;
4590 unsigned long __cil_tmp48 ;
4591 struct xenbus_device *__cil_tmp49 ;
4592 unsigned long __cil_tmp50 ;
4593 unsigned long __cil_tmp51 ;
4594 char const *__cil_tmp52 ;
4595 unsigned long __cil_tmp53 ;
4596 unsigned long __cil_tmp54 ;
4597 struct input_dev *__cil_tmp55 ;
4598 int *__cil_tmp56 ;
4599 int __cil_tmp57 ;
4600 u32 __constr_expr_0_id58 ;
4601 u32 __constr_expr_1_id59 ;
4602 u32 __constr_expr_2_id60 ;
4603 u32 __constr_expr_3_id61 ;
4604
4605 {
4606 {
4607#line 306
4608 __cil_tmp13 = (unsigned long )dev;
4609#line 306
4610 __cil_tmp14 = __cil_tmp13 + 64;
4611#line 306
4612 __cil_tmp15 = (struct device *)__cil_tmp14;
4613#line 306
4614 __cil_tmp16 = (struct device const *)__cil_tmp15;
4615#line 306
4616 tmp = dev_get_drvdata(__cil_tmp16);
4617#line 306
4618 info = (struct xenkbd_info *)tmp;
4619 }
4620#line 310
4621 if ((int )backend_state == 1) {
4622#line 310
4623 goto case_1;
4624 } else
4625#line 311
4626 if ((int )backend_state == 3) {
4627#line 311
4628 goto case_1;
4629 } else
4630#line 312
4631 if ((int )backend_state == 7) {
4632#line 312
4633 goto case_1;
4634 } else
4635#line 313
4636 if ((int )backend_state == 8) {
4637#line 313
4638 goto case_1;
4639 } else
4640#line 314
4641 if ((int )backend_state == 0) {
4642#line 314
4643 goto case_1;
4644 } else
4645#line 315
4646 if ((int )backend_state == 6) {
4647#line 315
4648 goto case_1;
4649 } else
4650#line 318
4651 if ((int )backend_state == 2) {
4652#line 318
4653 goto InitWait;
4654 } else
4655#line 334
4656 if ((int )backend_state == 4) {
4657#line 334
4658 goto case_4;
4659 } else
4660#line 354
4661 if ((int )backend_state == 5) {
4662#line 354
4663 goto case_5;
4664 } else
4665#line 309
4666 if (0) {
4667 case_1:
4668 case_3:
4669 case_7:
4670 case_8:
4671 case_0:
4672 case_6:
4673#line 316
4674 goto switch_break;
4675 InitWait:
4676 case_2:
4677 {
4678#line 320
4679 __constr_expr_0_id58 = (u32 )0;
4680#line 320
4681 __cil_tmp17 = (unsigned long )info;
4682#line 320
4683 __cil_tmp18 = __cil_tmp17 + 32;
4684#line 320
4685 __cil_tmp19 = *((struct xenbus_device **)__cil_tmp18);
4686#line 320
4687 __cil_tmp20 = (unsigned long )__cil_tmp19;
4688#line 320
4689 __cil_tmp21 = __cil_tmp20 + 16;
4690#line 320
4691 __cil_tmp22 = *((char const **)__cil_tmp21);
4692#line 320
4693 ret = xenbus_scanf(__constr_expr_0_id58, __cil_tmp22, "feature-abs-pointer", "%d",
4694 & val);
4695 }
4696#line 322
4697 if (ret < 0) {
4698#line 323
4699 __cil_tmp23 = & val;
4700#line 323
4701 *__cil_tmp23 = 0;
4702 } else {
4703
4704 }
4705 {
4706#line 324
4707 __cil_tmp24 = & val;
4708#line 324
4709 if (*__cil_tmp24) {
4710 {
4711#line 325
4712 __constr_expr_1_id59 = (u32 )0;
4713#line 325
4714 __cil_tmp25 = (unsigned long )info;
4715#line 325
4716 __cil_tmp26 = __cil_tmp25 + 32;
4717#line 325
4718 __cil_tmp27 = *((struct xenbus_device **)__cil_tmp26);
4719#line 325
4720 __cil_tmp28 = (unsigned long )__cil_tmp27;
4721#line 325
4722 __cil_tmp29 = __cil_tmp28 + 8;
4723#line 325
4724 __cil_tmp30 = *((char const **)__cil_tmp29);
4725#line 325
4726 ret = xenbus_printf(__constr_expr_1_id59, __cil_tmp30, "request-abs-pointer",
4727 "1");
4728 }
4729#line 327
4730 if (ret) {
4731 {
4732#line 328
4733 printk("<4>xen_kbdfront: xenkbd: can\'t request abs-pointer");
4734 }
4735 } else {
4736
4737 }
4738 } else {
4739
4740 }
4741 }
4742 {
4743#line 331
4744 __cil_tmp31 = (enum xenbus_state )4;
4745#line 331
4746 xenbus_switch_state(dev, __cil_tmp31);
4747 }
4748#line 332
4749 goto switch_break;
4750 case_4:
4751 {
4752#line 340
4753 __cil_tmp32 = (unsigned long )dev;
4754#line 340
4755 __cil_tmp33 = __cil_tmp32 + 832;
4756#line 340
4757 __cil_tmp34 = *((enum xenbus_state *)__cil_tmp33);
4758#line 340
4759 __cil_tmp35 = (unsigned int )__cil_tmp34;
4760#line 340
4761 if (__cil_tmp35 != 4U) {
4762#line 341
4763 goto InitWait;
4764 } else {
4765
4766 }
4767 }
4768 {
4769#line 344
4770 __constr_expr_2_id60 = (u32 )0;
4771#line 344
4772 __cil_tmp36 = (unsigned long )info;
4773#line 344
4774 __cil_tmp37 = __cil_tmp36 + 32;
4775#line 344
4776 __cil_tmp38 = *((struct xenbus_device **)__cil_tmp37);
4777#line 344
4778 __cil_tmp39 = (unsigned long )__cil_tmp38;
4779#line 344
4780 __cil_tmp40 = __cil_tmp39 + 16;
4781#line 344
4782 __cil_tmp41 = *((char const **)__cil_tmp40);
4783#line 344
4784 tmp___0 = xenbus_scanf(__constr_expr_2_id60, __cil_tmp41, "width", "%d", & val);
4785 }
4786#line 344
4787 if (tmp___0 > 0) {
4788 {
4789#line 346
4790 __cil_tmp42 = (unsigned long )info;
4791#line 346
4792 __cil_tmp43 = __cil_tmp42 + 8;
4793#line 346
4794 __cil_tmp44 = *((struct input_dev **)__cil_tmp43);
4795#line 346
4796 __cil_tmp45 = & val;
4797#line 346
4798 __cil_tmp46 = *__cil_tmp45;
4799#line 346
4800 input_set_abs_params(__cil_tmp44, 0U, 0, __cil_tmp46, 0, 0);
4801 }
4802 } else {
4803
4804 }
4805 {
4806#line 348
4807 __constr_expr_3_id61 = (u32 )0;
4808#line 348
4809 __cil_tmp47 = (unsigned long )info;
4810#line 348
4811 __cil_tmp48 = __cil_tmp47 + 32;
4812#line 348
4813 __cil_tmp49 = *((struct xenbus_device **)__cil_tmp48);
4814#line 348
4815 __cil_tmp50 = (unsigned long )__cil_tmp49;
4816#line 348
4817 __cil_tmp51 = __cil_tmp50 + 16;
4818#line 348
4819 __cil_tmp52 = *((char const **)__cil_tmp51);
4820#line 348
4821 tmp___1 = xenbus_scanf(__constr_expr_3_id61, __cil_tmp52, "height", "%d", & val);
4822 }
4823#line 348
4824 if (tmp___1 > 0) {
4825 {
4826#line 350
4827 __cil_tmp53 = (unsigned long )info;
4828#line 350
4829 __cil_tmp54 = __cil_tmp53 + 8;
4830#line 350
4831 __cil_tmp55 = *((struct input_dev **)__cil_tmp54);
4832#line 350
4833 __cil_tmp56 = & val;
4834#line 350
4835 __cil_tmp57 = *__cil_tmp56;
4836#line 350
4837 input_set_abs_params(__cil_tmp55, 1U, 0, __cil_tmp57, 0, 0);
4838 }
4839 } else {
4840
4841 }
4842#line 352
4843 goto switch_break;
4844 case_5:
4845 {
4846#line 355
4847 xenbus_frontend_closed(dev);
4848 }
4849#line 356
4850 goto switch_break;
4851 } else {
4852 switch_break: ;
4853 }
4854#line 358
4855 return;
4856}
4857}
4858#line 360 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4859static struct xenbus_device_id const xenkbd_ids[2] = { {{(char )'v', (char )'k', (char )'b', (char )'d', (char )'\000'}},
4860 {{(char )'\000'}}};
4861#line 365 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4862static struct xenbus_driver xenkbd_driver =
4863#line 365
4864 {xenkbd_ids, & xenkbd_probe, & xenkbd_backend_changed, & xenkbd_remove, (int (*)(struct xenbus_device *dev ))0,
4865 & xenkbd_resume, (int (*)(struct xenbus_device * , struct kobj_uevent_env * ))0,
4866 {(char const *)(xenkbd_ids[0].devicetype), (struct bus_type *)0, & __this_module,
4867 (char const *)0, (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
4868 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
4869 pm_message_t state ))0,
4870 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
4871 (struct driver_private *)0}, (int (*)(struct xenbus_device *dev ))0, (int (*)(struct xenbus_device *dev ))0};
4872#line 372
4873static int xenkbd_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
4874#line 372 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4875static int xenkbd_init(void)
4876{ int tmp ;
4877 unsigned int __cil_tmp2 ;
4878 int __cil_tmp3 ;
4879 unsigned int __cil_tmp4 ;
4880 unsigned int __cil_tmp5 ;
4881 int __cil_tmp6 ;
4882 unsigned int __cil_tmp7 ;
4883 unsigned long __cil_tmp8 ;
4884 unsigned long __cil_tmp9 ;
4885 uint32_t __cil_tmp10 ;
4886
4887 {
4888 {
4889#line 374
4890 __cil_tmp2 = (unsigned int )xen_domain_type;
4891#line 374
4892 __cil_tmp3 = __cil_tmp2 != 0U;
4893#line 374
4894 if (! __cil_tmp3) {
4895#line 375
4896 return (-19);
4897 } else {
4898
4899 }
4900 }
4901 {
4902#line 378
4903 __cil_tmp4 = (unsigned int )xen_domain_type;
4904#line 378
4905 if (__cil_tmp4 != 0U) {
4906 {
4907#line 378
4908 __cil_tmp5 = (unsigned int )xen_domain_type;
4909#line 378
4910 if (__cil_tmp5 == 1U) {
4911 {
4912#line 378
4913 __cil_tmp6 = 1 << 1;
4914#line 378
4915 __cil_tmp7 = (unsigned int )__cil_tmp6;
4916#line 378
4917 __cil_tmp8 = (unsigned long )xen_start_info;
4918#line 378
4919 __cil_tmp9 = __cil_tmp8 + 48;
4920#line 378
4921 __cil_tmp10 = *((uint32_t *)__cil_tmp9);
4922#line 378
4923 if (__cil_tmp10 & __cil_tmp7) {
4924#line 379
4925 return (-19);
4926 } else {
4927
4928 }
4929 }
4930 } else {
4931
4932 }
4933 }
4934 } else {
4935
4936 }
4937 }
4938 {
4939#line 381
4940 tmp = (int )xenbus_register_frontend(& xenkbd_driver);
4941 }
4942#line 381
4943 return (tmp);
4944}
4945}
4946#line 384
4947static void xenkbd_cleanup(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
4948#line 384 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4949static void xenkbd_cleanup(void)
4950{
4951
4952 {
4953 {
4954#line 386
4955 xenbus_unregister_driver(& xenkbd_driver);
4956 }
4957#line 387
4958 return;
4959}
4960}
4961#line 389 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4962int init_module(void)
4963{ int tmp ;
4964
4965 {
4966 {
4967#line 389
4968 tmp = xenkbd_init();
4969 }
4970#line 389
4971 return (tmp);
4972}
4973}
4974#line 390 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4975void cleanup_module(void)
4976{
4977
4978 {
4979 {
4980#line 390
4981 xenkbd_cleanup();
4982 }
4983#line 390
4984 return;
4985}
4986}
4987#line 392 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
4988static char const __mod_description392[57] __attribute__((__used__, __unused__,
4989__section__(".modinfo"), __aligned__(1))) =
4990#line 392
4991 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
4992 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
4993 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
4994 (char const )'X', (char const )'e', (char const )'n', (char const )' ',
4995 (char const )'v', (char const )'i', (char const )'r', (char const )'t',
4996 (char const )'u', (char const )'a', (char const )'l', (char const )' ',
4997 (char const )'k', (char const )'e', (char const )'y', (char const )'b',
4998 (char const )'o', (char const )'a', (char const )'r', (char const )'d',
4999 (char const )'/', (char const )'p', (char const )'o', (char const )'i',
5000 (char const )'n', (char const )'t', (char const )'e', (char const )'r',
5001 (char const )' ', (char const )'d', (char const )'e', (char const )'v',
5002 (char const )'i', (char const )'c', (char const )'e', (char const )' ',
5003 (char const )'f', (char const )'r', (char const )'o', (char const )'n',
5004 (char const )'t', (char const )'e', (char const )'n', (char const )'d',
5005 (char const )'\000'};
5006#line 393 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
5007static char const __mod_license393[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
5008__aligned__(1))) =
5009#line 393
5010 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
5011 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
5012 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
5013#line 394 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
5014static char const __mod_alias394[15] __attribute__((__used__, __unused__, __section__(".modinfo"),
5015__aligned__(1))) =
5016#line 394
5017 { (char const )'a', (char const )'l', (char const )'i', (char const )'a',
5018 (char const )'s', (char const )'=', (char const )'x', (char const )'e',
5019 (char const )'n', (char const )':', (char const )'v', (char const )'k',
5020 (char const )'b', (char const )'d', (char const )'\000'};
5021#line 412
5022void ldv_check_final_state(void) ;
5023#line 418
5024extern void ldv_initialize(void) ;
5025#line 421
5026extern int __VERIFIER_nondet_int(void) ;
5027#line 424 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
5028int LDV_IN_INTERRUPT ;
5029#line 427 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
5030void main(void)
5031{ int var_input_handler_0_p0 ;
5032 void *var_input_handler_0_p1 ;
5033 int tmp ;
5034 int tmp___0 ;
5035 int tmp___1 ;
5036
5037 {
5038 {
5039#line 449
5040 LDV_IN_INTERRUPT = 1;
5041#line 458
5042 ldv_initialize();
5043#line 466
5044 tmp = xenkbd_init();
5045 }
5046#line 466
5047 if (tmp) {
5048#line 467
5049 goto ldv_final;
5050 } else {
5051
5052 }
5053 {
5054#line 471
5055 while (1) {
5056 while_continue: ;
5057 {
5058#line 471
5059 tmp___1 = __VERIFIER_nondet_int();
5060 }
5061#line 471
5062 if (tmp___1) {
5063
5064 } else {
5065#line 471
5066 goto while_break;
5067 }
5068 {
5069#line 474
5070 tmp___0 = __VERIFIER_nondet_int();
5071 }
5072#line 476
5073 if (tmp___0 == 0) {
5074#line 476
5075 goto case_0;
5076 } else {
5077 {
5078#line 494
5079 goto switch_default;
5080#line 474
5081 if (0) {
5082 case_0:
5083 {
5084#line 479
5085 LDV_IN_INTERRUPT = 2;
5086#line 486
5087 input_handler(var_input_handler_0_p0, var_input_handler_0_p1);
5088#line 487
5089 LDV_IN_INTERRUPT = 1;
5090 }
5091#line 493
5092 goto switch_break;
5093 switch_default:
5094#line 494
5095 goto switch_break;
5096 } else {
5097 switch_break: ;
5098 }
5099 }
5100 }
5101 }
5102 while_break: ;
5103 }
5104 {
5105#line 508
5106 xenkbd_cleanup();
5107 }
5108 ldv_final:
5109 {
5110#line 511
5111 ldv_check_final_state();
5112 }
5113#line 514
5114 return;
5115}
5116}
5117#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
5118void ldv_blast_assert(void)
5119{
5120
5121 {
5122 ERROR:
5123#line 6
5124 goto ERROR;
5125}
5126}
5127#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
5128extern int __VERIFIER_nondet_int(void) ;
5129#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5130int ldv_mutex = 1;
5131#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5132int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
5133{ int nondetermined ;
5134
5135 {
5136#line 29
5137 if (ldv_mutex == 1) {
5138
5139 } else {
5140 {
5141#line 29
5142 ldv_blast_assert();
5143 }
5144 }
5145 {
5146#line 32
5147 nondetermined = __VERIFIER_nondet_int();
5148 }
5149#line 35
5150 if (nondetermined) {
5151#line 38
5152 ldv_mutex = 2;
5153#line 40
5154 return (0);
5155 } else {
5156#line 45
5157 return (-4);
5158 }
5159}
5160}
5161#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5162int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
5163{ int nondetermined ;
5164
5165 {
5166#line 57
5167 if (ldv_mutex == 1) {
5168
5169 } else {
5170 {
5171#line 57
5172 ldv_blast_assert();
5173 }
5174 }
5175 {
5176#line 60
5177 nondetermined = __VERIFIER_nondet_int();
5178 }
5179#line 63
5180 if (nondetermined) {
5181#line 66
5182 ldv_mutex = 2;
5183#line 68
5184 return (0);
5185 } else {
5186#line 73
5187 return (-4);
5188 }
5189}
5190}
5191#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5192int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
5193{ int atomic_value_after_dec ;
5194
5195 {
5196#line 83
5197 if (ldv_mutex == 1) {
5198
5199 } else {
5200 {
5201#line 83
5202 ldv_blast_assert();
5203 }
5204 }
5205 {
5206#line 86
5207 atomic_value_after_dec = __VERIFIER_nondet_int();
5208 }
5209#line 89
5210 if (atomic_value_after_dec == 0) {
5211#line 92
5212 ldv_mutex = 2;
5213#line 94
5214 return (1);
5215 } else {
5216
5217 }
5218#line 98
5219 return (0);
5220}
5221}
5222#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5223void mutex_lock(struct mutex *lock )
5224{
5225
5226 {
5227#line 108
5228 if (ldv_mutex == 1) {
5229
5230 } else {
5231 {
5232#line 108
5233 ldv_blast_assert();
5234 }
5235 }
5236#line 110
5237 ldv_mutex = 2;
5238#line 111
5239 return;
5240}
5241}
5242#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5243int mutex_trylock(struct mutex *lock )
5244{ int nondetermined ;
5245
5246 {
5247#line 121
5248 if (ldv_mutex == 1) {
5249
5250 } else {
5251 {
5252#line 121
5253 ldv_blast_assert();
5254 }
5255 }
5256 {
5257#line 124
5258 nondetermined = __VERIFIER_nondet_int();
5259 }
5260#line 127
5261 if (nondetermined) {
5262#line 130
5263 ldv_mutex = 2;
5264#line 132
5265 return (1);
5266 } else {
5267#line 137
5268 return (0);
5269 }
5270}
5271}
5272#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5273void mutex_unlock(struct mutex *lock )
5274{
5275
5276 {
5277#line 147
5278 if (ldv_mutex == 2) {
5279
5280 } else {
5281 {
5282#line 147
5283 ldv_blast_assert();
5284 }
5285 }
5286#line 149
5287 ldv_mutex = 1;
5288#line 150
5289 return;
5290}
5291}
5292#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
5293void ldv_check_final_state(void)
5294{
5295
5296 {
5297#line 156
5298 if (ldv_mutex == 1) {
5299
5300 } else {
5301 {
5302#line 156
5303 ldv_blast_assert();
5304 }
5305 }
5306#line 157
5307 return;
5308}
5309}
5310#line 523 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4024/dscv_tempdir/dscv/ri/32_1/drivers/input/misc/xen-kbdfront.c.common.c"
5311long s__builtin_expect(long val , long res )
5312{
5313
5314 {
5315#line 524
5316 return (val);
5317}
5318}