Showing error 271

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--input--misc--xen-kbdfront.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 5122
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   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 ( /* format attribute */  printk)(char const   *fmt  , ...) ;
2619#line 322 "include/linux/kernel.h"
2620extern int ( /* format attribute */  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 ( /* format attribute */  xenbus_scanf)(u32 tid , char const   *dir , char const   *node ,
2876                                                   char const   *fmt  , ...) ;
2877#line 147
2878extern int ( /* format attribute */  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 ( /* format attribute */  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: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
3693  }
3694#line 148
3695  i = 352;
3696  {
3697#line 148
3698  while (1) {
3699    while_continue___0: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
4668    case_3: /* CIL Label */ 
4669    case_7: /* CIL Label */ 
4670    case_8: /* CIL Label */ 
4671    case_0: /* CIL Label */ 
4672    case_6: /* CIL Label */ 
4673#line 316
4674    goto switch_break;
4675    InitWait: 
4676    case_2: /* CIL Label */ 
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: /* CIL Label */ 
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: /* CIL Label */ 
4845    {
4846#line 355
4847    xenbus_frontend_closed(dev);
4848    }
4849#line 356
4850    goto switch_break;
4851  } else {
4852    switch_break: /* CIL Label */ ;
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: /* CIL Label */ ;
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: /* CIL Label */ 
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: /* CIL Label */ 
5094#line 494
5095        goto switch_break;
5096      } else {
5097        switch_break: /* CIL Label */ ;
5098      }
5099      }
5100    }
5101  }
5102  while_break: /* CIL Label */ ;
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}