Showing error 244

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--gameport--lightning.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 2726
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 23 "include/asm-generic/int-ll64.h"
   5typedef unsigned short __u16;
   6#line 26 "include/asm-generic/int-ll64.h"
   7typedef unsigned int __u32;
   8#line 30 "include/asm-generic/int-ll64.h"
   9typedef unsigned long long __u64;
  10#line 45 "include/asm-generic/int-ll64.h"
  11typedef short s16;
  12#line 46 "include/asm-generic/int-ll64.h"
  13typedef unsigned short u16;
  14#line 49 "include/asm-generic/int-ll64.h"
  15typedef unsigned int u32;
  16#line 51 "include/asm-generic/int-ll64.h"
  17typedef long long s64;
  18#line 52 "include/asm-generic/int-ll64.h"
  19typedef unsigned long long u64;
  20#line 14 "include/asm-generic/posix_types.h"
  21typedef long __kernel_long_t;
  22#line 15 "include/asm-generic/posix_types.h"
  23typedef unsigned long __kernel_ulong_t;
  24#line 75 "include/asm-generic/posix_types.h"
  25typedef __kernel_ulong_t __kernel_size_t;
  26#line 76 "include/asm-generic/posix_types.h"
  27typedef __kernel_long_t __kernel_ssize_t;
  28#line 91 "include/asm-generic/posix_types.h"
  29typedef long long __kernel_loff_t;
  30#line 21 "include/linux/types.h"
  31typedef __u32 __kernel_dev_t;
  32#line 24 "include/linux/types.h"
  33typedef __kernel_dev_t dev_t;
  34#line 27 "include/linux/types.h"
  35typedef unsigned short umode_t;
  36#line 38 "include/linux/types.h"
  37typedef _Bool bool;
  38#line 54 "include/linux/types.h"
  39typedef __kernel_loff_t loff_t;
  40#line 63 "include/linux/types.h"
  41typedef __kernel_size_t size_t;
  42#line 68 "include/linux/types.h"
  43typedef __kernel_ssize_t ssize_t;
  44#line 202 "include/linux/types.h"
  45typedef unsigned int gfp_t;
  46#line 206 "include/linux/types.h"
  47typedef u64 phys_addr_t;
  48#line 211 "include/linux/types.h"
  49typedef phys_addr_t resource_size_t;
  50#line 219 "include/linux/types.h"
  51struct __anonstruct_atomic_t_7 {
  52   int counter ;
  53};
  54#line 219 "include/linux/types.h"
  55typedef struct __anonstruct_atomic_t_7 atomic_t;
  56#line 224 "include/linux/types.h"
  57struct __anonstruct_atomic64_t_8 {
  58   long counter ;
  59};
  60#line 224 "include/linux/types.h"
  61typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  62#line 229 "include/linux/types.h"
  63struct list_head {
  64   struct list_head *next ;
  65   struct list_head *prev ;
  66};
  67#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
  68struct page;
  69#line 18
  70struct page;
  71#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  72struct module;
  73#line 56
  74struct module;
  75#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
  76struct task_struct;
  77#line 20
  78struct task_struct;
  79#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  80struct task_struct;
  81#line 146 "include/linux/init.h"
  82typedef void (*ctor_fn_t)(void);
  83#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  84struct file;
  85#line 295
  86struct file;
  87#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
  88struct page;
  89#line 52
  90struct task_struct;
  91#line 329
  92struct arch_spinlock;
  93#line 329
  94struct arch_spinlock;
  95#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  96struct task_struct;
  97#line 47 "include/linux/dynamic_debug.h"
  98struct device;
  99#line 47
 100struct device;
 101#line 135 "include/linux/kernel.h"
 102struct completion;
 103#line 135
 104struct completion;
 105#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 106struct task_struct;
 107#line 10 "include/asm-generic/bug.h"
 108struct bug_entry {
 109   int bug_addr_disp ;
 110   int file_disp ;
 111   unsigned short line ;
 112   unsigned short flags ;
 113};
 114#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 115struct static_key;
 116#line 234
 117struct static_key;
 118#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 119struct kmem_cache;
 120#line 23 "include/asm-generic/atomic-long.h"
 121typedef atomic64_t atomic_long_t;
 122#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 123typedef u16 __ticket_t;
 124#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 125typedef u32 __ticketpair_t;
 126#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 127struct __raw_tickets {
 128   __ticket_t head ;
 129   __ticket_t tail ;
 130};
 131#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 132union __anonunion____missing_field_name_36 {
 133   __ticketpair_t head_tail ;
 134   struct __raw_tickets tickets ;
 135};
 136#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 137struct arch_spinlock {
 138   union __anonunion____missing_field_name_36 __annonCompField17 ;
 139};
 140#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 141typedef struct arch_spinlock arch_spinlock_t;
 142#line 12 "include/linux/lockdep.h"
 143struct task_struct;
 144#line 20 "include/linux/spinlock_types.h"
 145struct raw_spinlock {
 146   arch_spinlock_t raw_lock ;
 147   unsigned int magic ;
 148   unsigned int owner_cpu ;
 149   void *owner ;
 150};
 151#line 64 "include/linux/spinlock_types.h"
 152union __anonunion____missing_field_name_39 {
 153   struct raw_spinlock rlock ;
 154};
 155#line 64 "include/linux/spinlock_types.h"
 156struct spinlock {
 157   union __anonunion____missing_field_name_39 __annonCompField19 ;
 158};
 159#line 64 "include/linux/spinlock_types.h"
 160typedef struct spinlock spinlock_t;
 161#line 8 "include/linux/vmalloc.h"
 162struct vm_area_struct;
 163#line 8
 164struct vm_area_struct;
 165#line 18 "include/linux/ioport.h"
 166struct resource {
 167   resource_size_t start ;
 168   resource_size_t end ;
 169   char const   *name ;
 170   unsigned long flags ;
 171   struct resource *parent ;
 172   struct resource *sibling ;
 173   struct resource *child ;
 174};
 175#line 202
 176struct device;
 177#line 49 "include/linux/wait.h"
 178struct __wait_queue_head {
 179   spinlock_t lock ;
 180   struct list_head task_list ;
 181};
 182#line 53 "include/linux/wait.h"
 183typedef struct __wait_queue_head wait_queue_head_t;
 184#line 55
 185struct task_struct;
 186#line 60 "include/linux/pageblock-flags.h"
 187struct page;
 188#line 48 "include/linux/mutex.h"
 189struct mutex {
 190   atomic_t count ;
 191   spinlock_t wait_lock ;
 192   struct list_head wait_list ;
 193   struct task_struct *owner ;
 194   char const   *name ;
 195   void *magic ;
 196};
 197#line 25 "include/linux/completion.h"
 198struct completion {
 199   unsigned int done ;
 200   wait_queue_head_t wait ;
 201};
 202#line 9 "include/linux/memory_hotplug.h"
 203struct page;
 204#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 205struct device;
 206#line 46 "include/linux/ktime.h"
 207union ktime {
 208   s64 tv64 ;
 209};
 210#line 59 "include/linux/ktime.h"
 211typedef union ktime ktime_t;
 212#line 10 "include/linux/timer.h"
 213struct tvec_base;
 214#line 10
 215struct tvec_base;
 216#line 12 "include/linux/timer.h"
 217struct timer_list {
 218   struct list_head entry ;
 219   unsigned long expires ;
 220   struct tvec_base *base ;
 221   void (*function)(unsigned long  ) ;
 222   unsigned long data ;
 223   int slack ;
 224   int start_pid ;
 225   void *start_site ;
 226   char start_comm[16] ;
 227};
 228#line 17 "include/linux/workqueue.h"
 229struct work_struct;
 230#line 17
 231struct work_struct;
 232#line 79 "include/linux/workqueue.h"
 233struct work_struct {
 234   atomic_long_t data ;
 235   struct list_head entry ;
 236   void (*func)(struct work_struct *work ) ;
 237};
 238#line 42 "include/linux/pm.h"
 239struct device;
 240#line 50 "include/linux/pm.h"
 241struct pm_message {
 242   int event ;
 243};
 244#line 50 "include/linux/pm.h"
 245typedef struct pm_message pm_message_t;
 246#line 264 "include/linux/pm.h"
 247struct dev_pm_ops {
 248   int (*prepare)(struct device *dev ) ;
 249   void (*complete)(struct device *dev ) ;
 250   int (*suspend)(struct device *dev ) ;
 251   int (*resume)(struct device *dev ) ;
 252   int (*freeze)(struct device *dev ) ;
 253   int (*thaw)(struct device *dev ) ;
 254   int (*poweroff)(struct device *dev ) ;
 255   int (*restore)(struct device *dev ) ;
 256   int (*suspend_late)(struct device *dev ) ;
 257   int (*resume_early)(struct device *dev ) ;
 258   int (*freeze_late)(struct device *dev ) ;
 259   int (*thaw_early)(struct device *dev ) ;
 260   int (*poweroff_late)(struct device *dev ) ;
 261   int (*restore_early)(struct device *dev ) ;
 262   int (*suspend_noirq)(struct device *dev ) ;
 263   int (*resume_noirq)(struct device *dev ) ;
 264   int (*freeze_noirq)(struct device *dev ) ;
 265   int (*thaw_noirq)(struct device *dev ) ;
 266   int (*poweroff_noirq)(struct device *dev ) ;
 267   int (*restore_noirq)(struct device *dev ) ;
 268   int (*runtime_suspend)(struct device *dev ) ;
 269   int (*runtime_resume)(struct device *dev ) ;
 270   int (*runtime_idle)(struct device *dev ) ;
 271};
 272#line 458
 273enum rpm_status {
 274    RPM_ACTIVE = 0,
 275    RPM_RESUMING = 1,
 276    RPM_SUSPENDED = 2,
 277    RPM_SUSPENDING = 3
 278} ;
 279#line 480
 280enum rpm_request {
 281    RPM_REQ_NONE = 0,
 282    RPM_REQ_IDLE = 1,
 283    RPM_REQ_SUSPEND = 2,
 284    RPM_REQ_AUTOSUSPEND = 3,
 285    RPM_REQ_RESUME = 4
 286} ;
 287#line 488
 288struct wakeup_source;
 289#line 488
 290struct wakeup_source;
 291#line 495 "include/linux/pm.h"
 292struct pm_subsys_data {
 293   spinlock_t lock ;
 294   unsigned int refcount ;
 295};
 296#line 506
 297struct dev_pm_qos_request;
 298#line 506
 299struct pm_qos_constraints;
 300#line 506 "include/linux/pm.h"
 301struct dev_pm_info {
 302   pm_message_t power_state ;
 303   unsigned int can_wakeup : 1 ;
 304   unsigned int async_suspend : 1 ;
 305   bool is_prepared : 1 ;
 306   bool is_suspended : 1 ;
 307   bool ignore_children : 1 ;
 308   spinlock_t lock ;
 309   struct list_head entry ;
 310   struct completion completion ;
 311   struct wakeup_source *wakeup ;
 312   bool wakeup_path : 1 ;
 313   struct timer_list suspend_timer ;
 314   unsigned long timer_expires ;
 315   struct work_struct work ;
 316   wait_queue_head_t wait_queue ;
 317   atomic_t usage_count ;
 318   atomic_t child_count ;
 319   unsigned int disable_depth : 3 ;
 320   unsigned int idle_notification : 1 ;
 321   unsigned int request_pending : 1 ;
 322   unsigned int deferred_resume : 1 ;
 323   unsigned int run_wake : 1 ;
 324   unsigned int runtime_auto : 1 ;
 325   unsigned int no_callbacks : 1 ;
 326   unsigned int irq_safe : 1 ;
 327   unsigned int use_autosuspend : 1 ;
 328   unsigned int timer_autosuspends : 1 ;
 329   enum rpm_request request ;
 330   enum rpm_status runtime_status ;
 331   int runtime_error ;
 332   int autosuspend_delay ;
 333   unsigned long last_busy ;
 334   unsigned long active_jiffies ;
 335   unsigned long suspended_jiffies ;
 336   unsigned long accounting_timestamp ;
 337   ktime_t suspend_time ;
 338   s64 max_time_suspended_ns ;
 339   struct dev_pm_qos_request *pq_req ;
 340   struct pm_subsys_data *subsys_data ;
 341   struct pm_qos_constraints *constraints ;
 342};
 343#line 564 "include/linux/pm.h"
 344struct dev_pm_domain {
 345   struct dev_pm_ops ops ;
 346};
 347#line 994 "include/linux/mmzone.h"
 348struct page;
 349#line 10 "include/linux/gfp.h"
 350struct vm_area_struct;
 351#line 29 "include/linux/sysctl.h"
 352struct completion;
 353#line 49 "include/linux/kmod.h"
 354struct file;
 355#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 356struct task_struct;
 357#line 18 "include/linux/elf.h"
 358typedef __u64 Elf64_Addr;
 359#line 19 "include/linux/elf.h"
 360typedef __u16 Elf64_Half;
 361#line 23 "include/linux/elf.h"
 362typedef __u32 Elf64_Word;
 363#line 24 "include/linux/elf.h"
 364typedef __u64 Elf64_Xword;
 365#line 194 "include/linux/elf.h"
 366struct elf64_sym {
 367   Elf64_Word st_name ;
 368   unsigned char st_info ;
 369   unsigned char st_other ;
 370   Elf64_Half st_shndx ;
 371   Elf64_Addr st_value ;
 372   Elf64_Xword st_size ;
 373};
 374#line 194 "include/linux/elf.h"
 375typedef struct elf64_sym Elf64_Sym;
 376#line 438
 377struct file;
 378#line 20 "include/linux/kobject_ns.h"
 379struct sock;
 380#line 20
 381struct sock;
 382#line 21
 383struct kobject;
 384#line 21
 385struct kobject;
 386#line 27
 387enum kobj_ns_type {
 388    KOBJ_NS_TYPE_NONE = 0,
 389    KOBJ_NS_TYPE_NET = 1,
 390    KOBJ_NS_TYPES = 2
 391} ;
 392#line 40 "include/linux/kobject_ns.h"
 393struct kobj_ns_type_operations {
 394   enum kobj_ns_type type ;
 395   void *(*grab_current_ns)(void) ;
 396   void const   *(*netlink_ns)(struct sock *sk ) ;
 397   void const   *(*initial_ns)(void) ;
 398   void (*drop_ns)(void * ) ;
 399};
 400#line 22 "include/linux/sysfs.h"
 401struct kobject;
 402#line 23
 403struct module;
 404#line 24
 405enum kobj_ns_type;
 406#line 26 "include/linux/sysfs.h"
 407struct attribute {
 408   char const   *name ;
 409   umode_t mode ;
 410};
 411#line 56 "include/linux/sysfs.h"
 412struct attribute_group {
 413   char const   *name ;
 414   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 415   struct attribute **attrs ;
 416};
 417#line 85
 418struct file;
 419#line 86
 420struct vm_area_struct;
 421#line 88 "include/linux/sysfs.h"
 422struct bin_attribute {
 423   struct attribute attr ;
 424   size_t size ;
 425   void *private ;
 426   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 427                   loff_t  , size_t  ) ;
 428   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 429                    loff_t  , size_t  ) ;
 430   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 431};
 432#line 112 "include/linux/sysfs.h"
 433struct sysfs_ops {
 434   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 435   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 436   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 437};
 438#line 118
 439struct sysfs_dirent;
 440#line 118
 441struct sysfs_dirent;
 442#line 22 "include/linux/kref.h"
 443struct kref {
 444   atomic_t refcount ;
 445};
 446#line 60 "include/linux/kobject.h"
 447struct kset;
 448#line 60
 449struct kobj_type;
 450#line 60 "include/linux/kobject.h"
 451struct kobject {
 452   char const   *name ;
 453   struct list_head entry ;
 454   struct kobject *parent ;
 455   struct kset *kset ;
 456   struct kobj_type *ktype ;
 457   struct sysfs_dirent *sd ;
 458   struct kref kref ;
 459   unsigned int state_initialized : 1 ;
 460   unsigned int state_in_sysfs : 1 ;
 461   unsigned int state_add_uevent_sent : 1 ;
 462   unsigned int state_remove_uevent_sent : 1 ;
 463   unsigned int uevent_suppress : 1 ;
 464};
 465#line 108 "include/linux/kobject.h"
 466struct kobj_type {
 467   void (*release)(struct kobject *kobj ) ;
 468   struct sysfs_ops  const  *sysfs_ops ;
 469   struct attribute **default_attrs ;
 470   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 471   void const   *(*namespace)(struct kobject *kobj ) ;
 472};
 473#line 116 "include/linux/kobject.h"
 474struct kobj_uevent_env {
 475   char *envp[32] ;
 476   int envp_idx ;
 477   char buf[2048] ;
 478   int buflen ;
 479};
 480#line 123 "include/linux/kobject.h"
 481struct kset_uevent_ops {
 482   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 483   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 484   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 485};
 486#line 140
 487struct sock;
 488#line 159 "include/linux/kobject.h"
 489struct kset {
 490   struct list_head list ;
 491   spinlock_t list_lock ;
 492   struct kobject kobj ;
 493   struct kset_uevent_ops  const  *uevent_ops ;
 494};
 495#line 39 "include/linux/moduleparam.h"
 496struct kernel_param;
 497#line 39
 498struct kernel_param;
 499#line 41 "include/linux/moduleparam.h"
 500struct kernel_param_ops {
 501   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 502   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 503   void (*free)(void *arg ) ;
 504};
 505#line 50
 506struct kparam_string;
 507#line 50
 508struct kparam_array;
 509#line 50 "include/linux/moduleparam.h"
 510union __anonunion____missing_field_name_199 {
 511   void *arg ;
 512   struct kparam_string  const  *str ;
 513   struct kparam_array  const  *arr ;
 514};
 515#line 50 "include/linux/moduleparam.h"
 516struct kernel_param {
 517   char const   *name ;
 518   struct kernel_param_ops  const  *ops ;
 519   u16 perm ;
 520   s16 level ;
 521   union __anonunion____missing_field_name_199 __annonCompField32 ;
 522};
 523#line 63 "include/linux/moduleparam.h"
 524struct kparam_string {
 525   unsigned int maxlen ;
 526   char *string ;
 527};
 528#line 69 "include/linux/moduleparam.h"
 529struct kparam_array {
 530   unsigned int max ;
 531   unsigned int elemsize ;
 532   unsigned int *num ;
 533   struct kernel_param_ops  const  *ops ;
 534   void *elem ;
 535};
 536#line 445
 537struct module;
 538#line 80 "include/linux/jump_label.h"
 539struct module;
 540#line 143 "include/linux/jump_label.h"
 541struct static_key {
 542   atomic_t enabled ;
 543};
 544#line 22 "include/linux/tracepoint.h"
 545struct module;
 546#line 23
 547struct tracepoint;
 548#line 23
 549struct tracepoint;
 550#line 25 "include/linux/tracepoint.h"
 551struct tracepoint_func {
 552   void *func ;
 553   void *data ;
 554};
 555#line 30 "include/linux/tracepoint.h"
 556struct tracepoint {
 557   char const   *name ;
 558   struct static_key key ;
 559   void (*regfunc)(void) ;
 560   void (*unregfunc)(void) ;
 561   struct tracepoint_func *funcs ;
 562};
 563#line 19 "include/linux/export.h"
 564struct kernel_symbol {
 565   unsigned long value ;
 566   char const   *name ;
 567};
 568#line 8 "include/asm-generic/module.h"
 569struct mod_arch_specific {
 570
 571};
 572#line 35 "include/linux/module.h"
 573struct module;
 574#line 37
 575struct module_param_attrs;
 576#line 37 "include/linux/module.h"
 577struct module_kobject {
 578   struct kobject kobj ;
 579   struct module *mod ;
 580   struct kobject *drivers_dir ;
 581   struct module_param_attrs *mp ;
 582};
 583#line 44 "include/linux/module.h"
 584struct module_attribute {
 585   struct attribute attr ;
 586   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 587   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 588                    size_t count ) ;
 589   void (*setup)(struct module * , char const   * ) ;
 590   int (*test)(struct module * ) ;
 591   void (*free)(struct module * ) ;
 592};
 593#line 71
 594struct exception_table_entry;
 595#line 71
 596struct exception_table_entry;
 597#line 199
 598enum module_state {
 599    MODULE_STATE_LIVE = 0,
 600    MODULE_STATE_COMING = 1,
 601    MODULE_STATE_GOING = 2
 602} ;
 603#line 215 "include/linux/module.h"
 604struct module_ref {
 605   unsigned long incs ;
 606   unsigned long decs ;
 607} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 608#line 220
 609struct module_sect_attrs;
 610#line 220
 611struct module_notes_attrs;
 612#line 220
 613struct ftrace_event_call;
 614#line 220 "include/linux/module.h"
 615struct module {
 616   enum module_state state ;
 617   struct list_head list ;
 618   char name[64UL - sizeof(unsigned long )] ;
 619   struct module_kobject mkobj ;
 620   struct module_attribute *modinfo_attrs ;
 621   char const   *version ;
 622   char const   *srcversion ;
 623   struct kobject *holders_dir ;
 624   struct kernel_symbol  const  *syms ;
 625   unsigned long const   *crcs ;
 626   unsigned int num_syms ;
 627   struct kernel_param *kp ;
 628   unsigned int num_kp ;
 629   unsigned int num_gpl_syms ;
 630   struct kernel_symbol  const  *gpl_syms ;
 631   unsigned long const   *gpl_crcs ;
 632   struct kernel_symbol  const  *unused_syms ;
 633   unsigned long const   *unused_crcs ;
 634   unsigned int num_unused_syms ;
 635   unsigned int num_unused_gpl_syms ;
 636   struct kernel_symbol  const  *unused_gpl_syms ;
 637   unsigned long const   *unused_gpl_crcs ;
 638   struct kernel_symbol  const  *gpl_future_syms ;
 639   unsigned long const   *gpl_future_crcs ;
 640   unsigned int num_gpl_future_syms ;
 641   unsigned int num_exentries ;
 642   struct exception_table_entry *extable ;
 643   int (*init)(void) ;
 644   void *module_init ;
 645   void *module_core ;
 646   unsigned int init_size ;
 647   unsigned int core_size ;
 648   unsigned int init_text_size ;
 649   unsigned int core_text_size ;
 650   unsigned int init_ro_size ;
 651   unsigned int core_ro_size ;
 652   struct mod_arch_specific arch ;
 653   unsigned int taints ;
 654   unsigned int num_bugs ;
 655   struct list_head bug_list ;
 656   struct bug_entry *bug_table ;
 657   Elf64_Sym *symtab ;
 658   Elf64_Sym *core_symtab ;
 659   unsigned int num_symtab ;
 660   unsigned int core_num_syms ;
 661   char *strtab ;
 662   char *core_strtab ;
 663   struct module_sect_attrs *sect_attrs ;
 664   struct module_notes_attrs *notes_attrs ;
 665   char *args ;
 666   void *percpu ;
 667   unsigned int percpu_size ;
 668   unsigned int num_tracepoints ;
 669   struct tracepoint * const  *tracepoints_ptrs ;
 670   unsigned int num_trace_bprintk_fmt ;
 671   char const   **trace_bprintk_fmt_start ;
 672   struct ftrace_event_call **trace_events ;
 673   unsigned int num_trace_events ;
 674   struct list_head source_list ;
 675   struct list_head target_list ;
 676   struct task_struct *waiter ;
 677   void (*exit)(void) ;
 678   struct module_ref *refptr ;
 679   ctor_fn_t *ctors ;
 680   unsigned int num_ctors ;
 681};
 682#line 19 "include/linux/klist.h"
 683struct klist_node;
 684#line 19
 685struct klist_node;
 686#line 39 "include/linux/klist.h"
 687struct klist_node {
 688   void *n_klist ;
 689   struct list_head n_node ;
 690   struct kref n_ref ;
 691};
 692#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 693struct dma_map_ops;
 694#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 695struct dev_archdata {
 696   void *acpi_handle ;
 697   struct dma_map_ops *dma_ops ;
 698   void *iommu ;
 699};
 700#line 28 "include/linux/device.h"
 701struct device;
 702#line 29
 703struct device_private;
 704#line 29
 705struct device_private;
 706#line 30
 707struct device_driver;
 708#line 30
 709struct device_driver;
 710#line 31
 711struct driver_private;
 712#line 31
 713struct driver_private;
 714#line 32
 715struct module;
 716#line 33
 717struct class;
 718#line 33
 719struct class;
 720#line 34
 721struct subsys_private;
 722#line 34
 723struct subsys_private;
 724#line 35
 725struct bus_type;
 726#line 35
 727struct bus_type;
 728#line 36
 729struct device_node;
 730#line 36
 731struct device_node;
 732#line 37
 733struct iommu_ops;
 734#line 37
 735struct iommu_ops;
 736#line 39 "include/linux/device.h"
 737struct bus_attribute {
 738   struct attribute attr ;
 739   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
 740   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
 741};
 742#line 89
 743struct device_attribute;
 744#line 89
 745struct driver_attribute;
 746#line 89 "include/linux/device.h"
 747struct bus_type {
 748   char const   *name ;
 749   char const   *dev_name ;
 750   struct device *dev_root ;
 751   struct bus_attribute *bus_attrs ;
 752   struct device_attribute *dev_attrs ;
 753   struct driver_attribute *drv_attrs ;
 754   int (*match)(struct device *dev , struct device_driver *drv ) ;
 755   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 756   int (*probe)(struct device *dev ) ;
 757   int (*remove)(struct device *dev ) ;
 758   void (*shutdown)(struct device *dev ) ;
 759   int (*suspend)(struct device *dev , pm_message_t state ) ;
 760   int (*resume)(struct device *dev ) ;
 761   struct dev_pm_ops  const  *pm ;
 762   struct iommu_ops *iommu_ops ;
 763   struct subsys_private *p ;
 764};
 765#line 127
 766struct device_type;
 767#line 214
 768struct of_device_id;
 769#line 214 "include/linux/device.h"
 770struct device_driver {
 771   char const   *name ;
 772   struct bus_type *bus ;
 773   struct module *owner ;
 774   char const   *mod_name ;
 775   bool suppress_bind_attrs ;
 776   struct of_device_id  const  *of_match_table ;
 777   int (*probe)(struct device *dev ) ;
 778   int (*remove)(struct device *dev ) ;
 779   void (*shutdown)(struct device *dev ) ;
 780   int (*suspend)(struct device *dev , pm_message_t state ) ;
 781   int (*resume)(struct device *dev ) ;
 782   struct attribute_group  const  **groups ;
 783   struct dev_pm_ops  const  *pm ;
 784   struct driver_private *p ;
 785};
 786#line 249 "include/linux/device.h"
 787struct driver_attribute {
 788   struct attribute attr ;
 789   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
 790   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
 791};
 792#line 330
 793struct class_attribute;
 794#line 330 "include/linux/device.h"
 795struct class {
 796   char const   *name ;
 797   struct module *owner ;
 798   struct class_attribute *class_attrs ;
 799   struct device_attribute *dev_attrs ;
 800   struct bin_attribute *dev_bin_attrs ;
 801   struct kobject *dev_kobj ;
 802   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 803   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 804   void (*class_release)(struct class *class ) ;
 805   void (*dev_release)(struct device *dev ) ;
 806   int (*suspend)(struct device *dev , pm_message_t state ) ;
 807   int (*resume)(struct device *dev ) ;
 808   struct kobj_ns_type_operations  const  *ns_type ;
 809   void const   *(*namespace)(struct device *dev ) ;
 810   struct dev_pm_ops  const  *pm ;
 811   struct subsys_private *p ;
 812};
 813#line 397 "include/linux/device.h"
 814struct class_attribute {
 815   struct attribute attr ;
 816   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
 817   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
 818                    size_t count ) ;
 819   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
 820};
 821#line 465 "include/linux/device.h"
 822struct device_type {
 823   char const   *name ;
 824   struct attribute_group  const  **groups ;
 825   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 826   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 827   void (*release)(struct device *dev ) ;
 828   struct dev_pm_ops  const  *pm ;
 829};
 830#line 476 "include/linux/device.h"
 831struct device_attribute {
 832   struct attribute attr ;
 833   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
 834   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
 835                    size_t count ) ;
 836};
 837#line 559 "include/linux/device.h"
 838struct device_dma_parameters {
 839   unsigned int max_segment_size ;
 840   unsigned long segment_boundary_mask ;
 841};
 842#line 627
 843struct dma_coherent_mem;
 844#line 627 "include/linux/device.h"
 845struct device {
 846   struct device *parent ;
 847   struct device_private *p ;
 848   struct kobject kobj ;
 849   char const   *init_name ;
 850   struct device_type  const  *type ;
 851   struct mutex mutex ;
 852   struct bus_type *bus ;
 853   struct device_driver *driver ;
 854   void *platform_data ;
 855   struct dev_pm_info power ;
 856   struct dev_pm_domain *pm_domain ;
 857   int numa_node ;
 858   u64 *dma_mask ;
 859   u64 coherent_dma_mask ;
 860   struct device_dma_parameters *dma_parms ;
 861   struct list_head dma_pools ;
 862   struct dma_coherent_mem *dma_mem ;
 863   struct dev_archdata archdata ;
 864   struct device_node *of_node ;
 865   dev_t devt ;
 866   u32 id ;
 867   spinlock_t devres_lock ;
 868   struct list_head devres_head ;
 869   struct klist_node knode_class ;
 870   struct class *class ;
 871   struct attribute_group  const  **groups ;
 872   void (*release)(struct device *dev ) ;
 873};
 874#line 43 "include/linux/pm_wakeup.h"
 875struct wakeup_source {
 876   char const   *name ;
 877   struct list_head entry ;
 878   spinlock_t lock ;
 879   struct timer_list timer ;
 880   unsigned long timer_expires ;
 881   ktime_t total_time ;
 882   ktime_t max_time ;
 883   ktime_t last_time ;
 884   unsigned long event_count ;
 885   unsigned long active_count ;
 886   unsigned long relax_count ;
 887   unsigned long hit_count ;
 888   unsigned int active : 1 ;
 889};
 890#line 46 "include/linux/slub_def.h"
 891struct kmem_cache_cpu {
 892   void **freelist ;
 893   unsigned long tid ;
 894   struct page *page ;
 895   struct page *partial ;
 896   int node ;
 897   unsigned int stat[26] ;
 898};
 899#line 57 "include/linux/slub_def.h"
 900struct kmem_cache_node {
 901   spinlock_t list_lock ;
 902   unsigned long nr_partial ;
 903   struct list_head partial ;
 904   atomic_long_t nr_slabs ;
 905   atomic_long_t total_objects ;
 906   struct list_head full ;
 907};
 908#line 73 "include/linux/slub_def.h"
 909struct kmem_cache_order_objects {
 910   unsigned long x ;
 911};
 912#line 80 "include/linux/slub_def.h"
 913struct kmem_cache {
 914   struct kmem_cache_cpu *cpu_slab ;
 915   unsigned long flags ;
 916   unsigned long min_partial ;
 917   int size ;
 918   int objsize ;
 919   int offset ;
 920   int cpu_partial ;
 921   struct kmem_cache_order_objects oo ;
 922   struct kmem_cache_order_objects max ;
 923   struct kmem_cache_order_objects min ;
 924   gfp_t allocflags ;
 925   int refcount ;
 926   void (*ctor)(void * ) ;
 927   int inuse ;
 928   int align ;
 929   int reserved ;
 930   char const   *name ;
 931   struct list_head list ;
 932   struct kobject kobj ;
 933   int remote_node_defrag_ratio ;
 934   struct kmem_cache_node *node[1 << 10] ;
 935};
 936#line 21 "include/linux/gameport.h"
 937struct gameport_driver;
 938#line 21 "include/linux/gameport.h"
 939struct gameport {
 940   void *port_data ;
 941   char name[32] ;
 942   char phys[32] ;
 943   int io ;
 944   int speed ;
 945   int fuzz ;
 946   void (*trigger)(struct gameport * ) ;
 947   unsigned char (*read)(struct gameport * ) ;
 948   int (*cooked_read)(struct gameport * , int * , int * ) ;
 949   int (*calibrate)(struct gameport * , int * , int * ) ;
 950   int (*open)(struct gameport * , int  ) ;
 951   void (*close)(struct gameport * ) ;
 952   struct timer_list poll_timer ;
 953   unsigned int poll_interval ;
 954   spinlock_t timer_lock ;
 955   unsigned int poll_cnt ;
 956   void (*poll_handler)(struct gameport * ) ;
 957   struct gameport *parent ;
 958   struct gameport *child ;
 959   struct gameport_driver *drv ;
 960   struct mutex drv_mutex ;
 961   struct device dev ;
 962   struct list_head node ;
 963};
 964#line 55 "include/linux/gameport.h"
 965struct gameport_driver {
 966   char const   *description ;
 967   int (*connect)(struct gameport * , struct gameport_driver *drv ) ;
 968   int (*reconnect)(struct gameport * ) ;
 969   void (*disconnect)(struct gameport * ) ;
 970   struct device_driver driver ;
 971   bool ignore ;
 972};
 973#line 54 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
 974struct l4 {
 975   struct gameport *gameport ;
 976   unsigned char port ;
 977};
 978#line 1 "<compiler builtins>"
 979long __builtin_expect(long val , long res ) ;
 980#line 30 "include/linux/string.h"
 981extern size_t strlcpy(char * , char const   * , size_t  ) ;
 982#line 100 "include/linux/printk.h"
 983extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
 984#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
 985__inline static void outb(unsigned char value , int port )  __attribute__((__no_instrument_function__)) ;
 986#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
 987__inline static void outb(unsigned char value , int port ) 
 988{ 
 989
 990  {
 991#line 308
 992  __asm__  volatile   ("out"
 993                       "b"
 994                       " %"
 995                       "b"
 996                       "0, %w1": : "a" (value), "Nd" (port));
 997#line 308
 998  return;
 999}
1000}
1001#line 308
1002__inline static unsigned char inb(int port )  __attribute__((__no_instrument_function__)) ;
1003#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1004__inline static unsigned char inb(int port ) 
1005{ unsigned char value ;
1006
1007  {
1008#line 308
1009  __asm__  volatile   ("in"
1010                       "b"
1011                       " %w1, %"
1012                       "b"
1013                       "0": "=a" (value): "Nd" (port));
1014#line 308
1015  return (value);
1016}
1017}
1018#line 137 "include/linux/ioport.h"
1019extern struct resource ioport_resource ;
1020#line 181
1021extern struct resource *__request_region(struct resource * , resource_size_t start ,
1022                                         resource_size_t n , char const   *name ,
1023                                         int flags ) ;
1024#line 192
1025extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
1026#line 152 "include/linux/mutex.h"
1027void mutex_lock(struct mutex *lock ) ;
1028#line 153
1029int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
1030#line 154
1031int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
1032#line 168
1033int mutex_trylock(struct mutex *lock ) ;
1034#line 169
1035void mutex_unlock(struct mutex *lock ) ;
1036#line 170
1037int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
1038#line 26 "include/linux/export.h"
1039extern struct module __this_module ;
1040#line 67 "include/linux/module.h"
1041int init_module(void) ;
1042#line 68
1043void cleanup_module(void) ;
1044#line 161 "include/linux/slab.h"
1045extern void kfree(void const   * ) ;
1046#line 221 "include/linux/slub_def.h"
1047extern void *__kmalloc(size_t size , gfp_t flags ) ;
1048#line 268
1049__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1050                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1051#line 268 "include/linux/slub_def.h"
1052__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
1053                                                                    gfp_t flags ) 
1054{ void *tmp___2 ;
1055
1056  {
1057  {
1058#line 283
1059  tmp___2 = __kmalloc(size, flags);
1060  }
1061#line 283
1062  return (tmp___2);
1063}
1064}
1065#line 349 "include/linux/slab.h"
1066__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
1067#line 349 "include/linux/slab.h"
1068__inline static void *kzalloc(size_t size , gfp_t flags ) 
1069{ void *tmp ;
1070  unsigned int __cil_tmp4 ;
1071
1072  {
1073  {
1074#line 351
1075  __cil_tmp4 = flags | 32768U;
1076#line 351
1077  tmp = kmalloc(size, __cil_tmp4);
1078  }
1079#line 351
1080  return (tmp);
1081}
1082}
1083#line 73 "include/linux/gameport.h"
1084extern void __gameport_register_port(struct gameport *gameport , struct module *owner ) ;
1085#line 78
1086extern void gameport_unregister_port(struct gameport *gameport ) ;
1087#line 80
1088extern void ( /* format attribute */  gameport_set_phys)(struct gameport *gameport ,
1089                                                         char const   *fmt  , ...) ;
1090#line 103
1091__inline static struct gameport *gameport_allocate_port(void)  __attribute__((__no_instrument_function__)) ;
1092#line 103 "include/linux/gameport.h"
1093__inline static struct gameport *gameport_allocate_port(void) 
1094{ struct gameport *gameport ;
1095  void *tmp ;
1096
1097  {
1098  {
1099#line 105
1100  tmp = kzalloc(1144UL, 208U);
1101#line 105
1102  gameport = (struct gameport *)tmp;
1103  }
1104#line 107
1105  return (gameport);
1106}
1107}
1108#line 110
1109__inline static void gameport_free_port(struct gameport *gameport )  __attribute__((__no_instrument_function__)) ;
1110#line 110 "include/linux/gameport.h"
1111__inline static void gameport_free_port(struct gameport *gameport ) 
1112{ void const   *__cil_tmp2 ;
1113
1114  {
1115  {
1116#line 112
1117  __cil_tmp2 = (void const   *)gameport;
1118#line 112
1119  kfree(__cil_tmp2);
1120  }
1121#line 113
1122  return;
1123}
1124}
1125#line 115
1126__inline static void gameport_set_name(struct gameport *gameport , char const   *name )  __attribute__((__no_instrument_function__)) ;
1127#line 115 "include/linux/gameport.h"
1128__inline static void gameport_set_name(struct gameport *gameport , char const   *name ) 
1129{ unsigned long __cil_tmp3 ;
1130  unsigned long __cil_tmp4 ;
1131  unsigned long __cil_tmp5 ;
1132  unsigned long __cil_tmp6 ;
1133  char *__cil_tmp7 ;
1134
1135  {
1136  {
1137#line 117
1138  __cil_tmp3 = 0 * 1UL;
1139#line 117
1140  __cil_tmp4 = 8 + __cil_tmp3;
1141#line 117
1142  __cil_tmp5 = (unsigned long )gameport;
1143#line 117
1144  __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
1145#line 117
1146  __cil_tmp7 = (char *)__cil_tmp6;
1147#line 117
1148  strlcpy(__cil_tmp7, name, 32UL);
1149  }
1150#line 118
1151  return;
1152}
1153}
1154#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1155static char const   __mod_author50[39]  __attribute__((__used__, __unused__, __section__(".modinfo"),
1156__aligned__(1)))  = 
1157#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1158  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
1159        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'V', 
1160        (char const   )'o',      (char const   )'j',      (char const   )'t',      (char const   )'e', 
1161        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'P', 
1162        (char const   )'a',      (char const   )'v',      (char const   )'l',      (char const   )'i', 
1163        (char const   )'k',      (char const   )' ',      (char const   )'<',      (char const   )'v', 
1164        (char const   )'o',      (char const   )'j',      (char const   )'t',      (char const   )'e', 
1165        (char const   )'c',      (char const   )'h',      (char const   )'@',      (char const   )'u', 
1166        (char const   )'c',      (char const   )'w',      (char const   )'.',      (char const   )'c', 
1167        (char const   )'z',      (char const   )'>',      (char const   )'\000'};
1168#line 51 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1169static char const   __mod_description51[45]  __attribute__((__used__, __unused__,
1170__section__(".modinfo"), __aligned__(1)))  = 
1171#line 51
1172  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
1173        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
1174        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
1175        (char const   )'P',      (char const   )'D',      (char const   )'P',      (char const   )'I', 
1176        (char const   )' ',      (char const   )'L',      (char const   )'i',      (char const   )'g', 
1177        (char const   )'h',      (char const   )'t',      (char const   )'n',      (char const   )'i', 
1178        (char const   )'n',      (char const   )'g',      (char const   )' ',      (char const   )'4', 
1179        (char const   )' ',      (char const   )'g',      (char const   )'a',      (char const   )'m', 
1180        (char const   )'e',      (char const   )'c',      (char const   )'a',      (char const   )'r', 
1181        (char const   )'d',      (char const   )' ',      (char const   )'d',      (char const   )'r', 
1182        (char const   )'i',      (char const   )'v',      (char const   )'e',      (char const   )'r', 
1183        (char const   )'\000'};
1184#line 52 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1185static char const   __mod_license52[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
1186__aligned__(1)))  = 
1187#line 52
1188  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
1189        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
1190        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
1191#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1192static struct l4 l4_ports[8]  ;
1193#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1194static int l4_wait_ready(void) 
1195{ unsigned int t ;
1196  unsigned char tmp ;
1197  int __cil_tmp3 ;
1198  int __cil_tmp4 ;
1199
1200  {
1201#line 67
1202  t = 80U;
1203  {
1204#line 69
1205  while (1) {
1206    while_continue: /* CIL Label */ ;
1207    {
1208#line 69
1209    tmp = inb(513);
1210    }
1211    {
1212#line 69
1213    __cil_tmp3 = (int )tmp;
1214#line 69
1215    if (__cil_tmp3 & 1) {
1216#line 69
1217      if (t > 0U) {
1218
1219      } else {
1220#line 69
1221        goto while_break;
1222      }
1223    } else {
1224#line 69
1225      goto while_break;
1226    }
1227    }
1228#line 69
1229    t = t - 1U;
1230  }
1231  while_break: /* CIL Label */ ;
1232  }
1233  {
1234#line 70
1235  __cil_tmp4 = t <= 0U;
1236#line 70
1237  return (- __cil_tmp4);
1238  }
1239}
1240}
1241#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1242static int l4_cooked_read(struct gameport *gameport , int *axes , int *buttons ) 
1243{ struct l4 *l4 ;
1244  unsigned char status ;
1245  int i ;
1246  int result ;
1247  unsigned char tmp ;
1248  int tmp___0 ;
1249  int tmp___1 ;
1250  unsigned char tmp___2 ;
1251  int tmp___3 ;
1252  unsigned char tmp___4 ;
1253  void *__cil_tmp14 ;
1254  unsigned long __cil_tmp15 ;
1255  unsigned long __cil_tmp16 ;
1256  unsigned char __cil_tmp17 ;
1257  int __cil_tmp18 ;
1258  int __cil_tmp19 ;
1259  int __cil_tmp20 ;
1260  unsigned char __cil_tmp21 ;
1261  int __cil_tmp22 ;
1262  unsigned long __cil_tmp23 ;
1263  unsigned long __cil_tmp24 ;
1264  unsigned char __cil_tmp25 ;
1265  int __cil_tmp26 ;
1266  int __cil_tmp27 ;
1267  unsigned char __cil_tmp28 ;
1268  int __cil_tmp29 ;
1269  int __cil_tmp30 ;
1270  int *__cil_tmp31 ;
1271  int *__cil_tmp32 ;
1272  int __cil_tmp33 ;
1273  int *__cil_tmp34 ;
1274  int __cil_tmp35 ;
1275  int __cil_tmp36 ;
1276
1277  {
1278  {
1279#line 79
1280  __cil_tmp14 = *((void **)gameport);
1281#line 79
1282  l4 = (struct l4 *)__cil_tmp14;
1283#line 81
1284  result = -1;
1285#line 83
1286  outb((unsigned char)164, 513);
1287#line 84
1288  __cil_tmp15 = (unsigned long )l4;
1289#line 84
1290  __cil_tmp16 = __cil_tmp15 + 8;
1291#line 84
1292  __cil_tmp17 = *((unsigned char *)__cil_tmp16);
1293#line 84
1294  __cil_tmp18 = (int )__cil_tmp17;
1295#line 84
1296  __cil_tmp19 = __cil_tmp18 >> 2;
1297#line 84
1298  __cil_tmp20 = 165 + __cil_tmp19;
1299#line 84
1300  __cil_tmp21 = (unsigned char )__cil_tmp20;
1301#line 84
1302  outb(__cil_tmp21, 513);
1303#line 86
1304  tmp = inb(513);
1305  }
1306  {
1307#line 86
1308  __cil_tmp22 = (int )tmp;
1309#line 86
1310  if (__cil_tmp22 & 1) {
1311#line 86
1312    goto fail;
1313  } else {
1314
1315  }
1316  }
1317  {
1318#line 87
1319  __cil_tmp23 = (unsigned long )l4;
1320#line 87
1321  __cil_tmp24 = __cil_tmp23 + 8;
1322#line 87
1323  __cil_tmp25 = *((unsigned char *)__cil_tmp24);
1324#line 87
1325  __cil_tmp26 = (int )__cil_tmp25;
1326#line 87
1327  __cil_tmp27 = __cil_tmp26 & 3;
1328#line 87
1329  __cil_tmp28 = (unsigned char )__cil_tmp27;
1330#line 87
1331  outb(__cil_tmp28, 513);
1332#line 89
1333  tmp___0 = l4_wait_ready();
1334  }
1335#line 89
1336  if (tmp___0) {
1337#line 89
1338    goto fail;
1339  } else {
1340
1341  }
1342  {
1343#line 90
1344  status = inb(513);
1345#line 92
1346  i = 0;
1347  }
1348  {
1349#line 92
1350  while (1) {
1351    while_continue: /* CIL Label */ ;
1352#line 92
1353    if (i < 4) {
1354
1355    } else {
1356#line 92
1357      goto while_break;
1358    }
1359    {
1360#line 93
1361    __cil_tmp29 = 1 << i;
1362#line 93
1363    __cil_tmp30 = (int )status;
1364#line 93
1365    if (__cil_tmp30 & __cil_tmp29) {
1366      {
1367#line 94
1368      tmp___1 = l4_wait_ready();
1369      }
1370#line 94
1371      if (tmp___1) {
1372#line 94
1373        goto fail;
1374      } else {
1375
1376      }
1377      {
1378#line 95
1379      tmp___2 = inb(513);
1380#line 95
1381      __cil_tmp31 = axes + i;
1382#line 95
1383      *__cil_tmp31 = (int )tmp___2;
1384      }
1385      {
1386#line 96
1387      __cil_tmp32 = axes + i;
1388#line 96
1389      __cil_tmp33 = *__cil_tmp32;
1390#line 96
1391      if (__cil_tmp33 > 252) {
1392#line 96
1393        __cil_tmp34 = axes + i;
1394#line 96
1395        *__cil_tmp34 = -1;
1396      } else {
1397
1398      }
1399      }
1400    } else {
1401
1402    }
1403    }
1404#line 92
1405    i = i + 1;
1406  }
1407  while_break: /* CIL Label */ ;
1408  }
1409  {
1410#line 99
1411  __cil_tmp35 = (int )status;
1412#line 99
1413  if (__cil_tmp35 & 16) {
1414    {
1415#line 100
1416    tmp___3 = l4_wait_ready();
1417    }
1418#line 100
1419    if (tmp___3) {
1420#line 100
1421      goto fail;
1422    } else {
1423
1424    }
1425    {
1426#line 101
1427    tmp___4 = inb(513);
1428#line 101
1429    __cil_tmp36 = (int )tmp___4;
1430#line 101
1431    *buttons = __cil_tmp36 & 15;
1432    }
1433  } else {
1434
1435  }
1436  }
1437#line 104
1438  result = 0;
1439  fail: 
1440  {
1441#line 106
1442  outb((unsigned char)164, 513);
1443  }
1444#line 107
1445  return (result);
1446}
1447}
1448#line 110 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1449static int l4_open(struct gameport *gameport , int mode ) 
1450{ struct l4 *l4 ;
1451  void *__cil_tmp4 ;
1452  unsigned long __cil_tmp5 ;
1453  unsigned long __cil_tmp6 ;
1454  unsigned char __cil_tmp7 ;
1455  int __cil_tmp8 ;
1456
1457  {
1458#line 112
1459  __cil_tmp4 = *((void **)gameport);
1460#line 112
1461  l4 = (struct l4 *)__cil_tmp4;
1462  {
1463#line 114
1464  __cil_tmp5 = (unsigned long )l4;
1465#line 114
1466  __cil_tmp6 = __cil_tmp5 + 8;
1467#line 114
1468  __cil_tmp7 = *((unsigned char *)__cil_tmp6);
1469#line 114
1470  __cil_tmp8 = (int )__cil_tmp7;
1471#line 114
1472  if (__cil_tmp8 != 0) {
1473#line 114
1474    if (mode != 2) {
1475#line 115
1476      return (-1);
1477    } else {
1478
1479    }
1480  } else {
1481
1482  }
1483  }
1484  {
1485#line 116
1486  outb((unsigned char)164, 513);
1487  }
1488#line 117
1489  return (0);
1490}
1491}
1492#line 124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1493static int l4_getcal(int port , int *cal ) 
1494{ int i ;
1495  int result ;
1496  unsigned char tmp ;
1497  int tmp___0 ;
1498  unsigned char tmp___1 ;
1499  int tmp___2 ;
1500  int tmp___3 ;
1501  unsigned char tmp___4 ;
1502  int __cil_tmp11 ;
1503  int __cil_tmp12 ;
1504  unsigned char __cil_tmp13 ;
1505  int __cil_tmp14 ;
1506  int __cil_tmp15 ;
1507  int __cil_tmp16 ;
1508  int __cil_tmp17 ;
1509  int __cil_tmp18 ;
1510  unsigned char __cil_tmp19 ;
1511  int *__cil_tmp20 ;
1512
1513  {
1514  {
1515#line 126
1516  result = -1;
1517#line 128
1518  outb((unsigned char)164, 513);
1519#line 129
1520  __cil_tmp11 = port >> 2;
1521#line 129
1522  __cil_tmp12 = 165 + __cil_tmp11;
1523#line 129
1524  __cil_tmp13 = (unsigned char )__cil_tmp12;
1525#line 129
1526  outb(__cil_tmp13, 513);
1527#line 130
1528  tmp = inb(513);
1529  }
1530  {
1531#line 130
1532  __cil_tmp14 = (int )tmp;
1533#line 130
1534  if (__cil_tmp14 & 1) {
1535#line 131
1536    goto out;
1537  } else {
1538
1539  }
1540  }
1541  {
1542#line 133
1543  outb((unsigned char)146, 513);
1544#line 134
1545  tmp___0 = l4_wait_ready();
1546  }
1547#line 134
1548  if (tmp___0) {
1549#line 135
1550    goto out;
1551  } else {
1552
1553  }
1554  {
1555#line 137
1556  tmp___1 = inb(513);
1557  }
1558  {
1559#line 137
1560  __cil_tmp15 = port >> 2;
1561#line 137
1562  __cil_tmp16 = 165 + __cil_tmp15;
1563#line 137
1564  __cil_tmp17 = (int )tmp___1;
1565#line 137
1566  if (__cil_tmp17 != __cil_tmp16) {
1567#line 138
1568    goto out;
1569  } else {
1570
1571  }
1572  }
1573  {
1574#line 140
1575  tmp___2 = l4_wait_ready();
1576  }
1577#line 140
1578  if (tmp___2) {
1579#line 141
1580    goto out;
1581  } else {
1582
1583  }
1584  {
1585#line 142
1586  __cil_tmp18 = port & 3;
1587#line 142
1588  __cil_tmp19 = (unsigned char )__cil_tmp18;
1589#line 142
1590  outb(__cil_tmp19, 513);
1591#line 144
1592  i = 0;
1593  }
1594  {
1595#line 144
1596  while (1) {
1597    while_continue: /* CIL Label */ ;
1598#line 144
1599    if (i < 4) {
1600
1601    } else {
1602#line 144
1603      goto while_break;
1604    }
1605    {
1606#line 145
1607    tmp___3 = l4_wait_ready();
1608    }
1609#line 145
1610    if (tmp___3) {
1611#line 146
1612      goto out;
1613    } else {
1614
1615    }
1616    {
1617#line 147
1618    tmp___4 = inb(513);
1619#line 147
1620    __cil_tmp20 = cal + i;
1621#line 147
1622    *__cil_tmp20 = (int )tmp___4;
1623#line 144
1624    i = i + 1;
1625    }
1626  }
1627  while_break: /* CIL Label */ ;
1628  }
1629#line 150
1630  result = 0;
1631  out: 
1632  {
1633#line 152
1634  outb((unsigned char)164, 513);
1635  }
1636#line 153
1637  return (result);
1638}
1639}
1640#line 160 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1641static int l4_setcal(int port , int *cal ) 
1642{ int i ;
1643  int result ;
1644  unsigned char tmp ;
1645  int tmp___0 ;
1646  unsigned char tmp___1 ;
1647  int tmp___2 ;
1648  int tmp___3 ;
1649  int __cil_tmp10 ;
1650  int __cil_tmp11 ;
1651  unsigned char __cil_tmp12 ;
1652  int __cil_tmp13 ;
1653  int __cil_tmp14 ;
1654  int __cil_tmp15 ;
1655  int __cil_tmp16 ;
1656  int __cil_tmp17 ;
1657  unsigned char __cil_tmp18 ;
1658  int *__cil_tmp19 ;
1659  int __cil_tmp20 ;
1660  unsigned char __cil_tmp21 ;
1661
1662  {
1663  {
1664#line 162
1665  result = -1;
1666#line 164
1667  outb((unsigned char)164, 513);
1668#line 165
1669  __cil_tmp10 = port >> 2;
1670#line 165
1671  __cil_tmp11 = 165 + __cil_tmp10;
1672#line 165
1673  __cil_tmp12 = (unsigned char )__cil_tmp11;
1674#line 165
1675  outb(__cil_tmp12, 513);
1676#line 166
1677  tmp = inb(513);
1678  }
1679  {
1680#line 166
1681  __cil_tmp13 = (int )tmp;
1682#line 166
1683  if (__cil_tmp13 & 1) {
1684#line 167
1685    goto out;
1686  } else {
1687
1688  }
1689  }
1690  {
1691#line 169
1692  outb((unsigned char)147, 513);
1693#line 170
1694  tmp___0 = l4_wait_ready();
1695  }
1696#line 170
1697  if (tmp___0) {
1698#line 171
1699    goto out;
1700  } else {
1701
1702  }
1703  {
1704#line 173
1705  tmp___1 = inb(513);
1706  }
1707  {
1708#line 173
1709  __cil_tmp14 = port >> 2;
1710#line 173
1711  __cil_tmp15 = 165 + __cil_tmp14;
1712#line 173
1713  __cil_tmp16 = (int )tmp___1;
1714#line 173
1715  if (__cil_tmp16 != __cil_tmp15) {
1716#line 174
1717    goto out;
1718  } else {
1719
1720  }
1721  }
1722  {
1723#line 176
1724  tmp___2 = l4_wait_ready();
1725  }
1726#line 176
1727  if (tmp___2) {
1728#line 177
1729    goto out;
1730  } else {
1731
1732  }
1733  {
1734#line 178
1735  __cil_tmp17 = port & 3;
1736#line 178
1737  __cil_tmp18 = (unsigned char )__cil_tmp17;
1738#line 178
1739  outb(__cil_tmp18, 513);
1740#line 180
1741  i = 0;
1742  }
1743  {
1744#line 180
1745  while (1) {
1746    while_continue: /* CIL Label */ ;
1747#line 180
1748    if (i < 4) {
1749
1750    } else {
1751#line 180
1752      goto while_break;
1753    }
1754    {
1755#line 181
1756    tmp___3 = l4_wait_ready();
1757    }
1758#line 181
1759    if (tmp___3) {
1760#line 182
1761      goto out;
1762    } else {
1763
1764    }
1765    {
1766#line 183
1767    __cil_tmp19 = cal + i;
1768#line 183
1769    __cil_tmp20 = *__cil_tmp19;
1770#line 183
1771    __cil_tmp21 = (unsigned char )__cil_tmp20;
1772#line 183
1773    outb(__cil_tmp21, 513);
1774#line 180
1775    i = i + 1;
1776    }
1777  }
1778  while_break: /* CIL Label */ ;
1779  }
1780#line 186
1781  result = 0;
1782  out: 
1783  {
1784#line 188
1785  outb((unsigned char)164, 513);
1786  }
1787#line 189
1788  return (result);
1789}
1790}
1791#line 197 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
1792static int l4_calibrate(struct gameport *gameport , int *axes , int *max ) 
1793{ int i ;
1794  int t ;
1795  int cal[4] ;
1796  struct l4 *l4 ;
1797  int tmp ;
1798  int tmp___0 ;
1799  int tmp___1 ;
1800  void *__cil_tmp11 ;
1801  unsigned long __cil_tmp12 ;
1802  unsigned long __cil_tmp13 ;
1803  unsigned char __cil_tmp14 ;
1804  int __cil_tmp15 ;
1805  unsigned long __cil_tmp16 ;
1806  unsigned long __cil_tmp17 ;
1807  int *__cil_tmp18 ;
1808  unsigned long __cil_tmp19 ;
1809  unsigned long __cil_tmp20 ;
1810  int __cil_tmp21 ;
1811  int *__cil_tmp22 ;
1812  int __cil_tmp23 ;
1813  int __cil_tmp24 ;
1814  int *__cil_tmp25 ;
1815  int __cil_tmp26 ;
1816  int *__cil_tmp27 ;
1817  int *__cil_tmp28 ;
1818  unsigned long __cil_tmp29 ;
1819  unsigned long __cil_tmp30 ;
1820  int __cil_tmp31 ;
1821  int *__cil_tmp32 ;
1822  int __cil_tmp33 ;
1823  int __cil_tmp34 ;
1824  int *__cil_tmp35 ;
1825  int __cil_tmp36 ;
1826  int *__cil_tmp37 ;
1827  int *__cil_tmp38 ;
1828  int *__cil_tmp39 ;
1829  unsigned long __cil_tmp40 ;
1830  unsigned long __cil_tmp41 ;
1831  unsigned long __cil_tmp42 ;
1832  unsigned long __cil_tmp43 ;
1833  unsigned char __cil_tmp44 ;
1834  int __cil_tmp45 ;
1835  unsigned long __cil_tmp46 ;
1836  unsigned long __cil_tmp47 ;
1837  int *__cil_tmp48 ;
1838
1839  {
1840  {
1841#line 201
1842  __cil_tmp11 = *((void **)gameport);
1843#line 201
1844  l4 = (struct l4 *)__cil_tmp11;
1845#line 203
1846  __cil_tmp12 = (unsigned long )l4;
1847#line 203
1848  __cil_tmp13 = __cil_tmp12 + 8;
1849#line 203
1850  __cil_tmp14 = *((unsigned char *)__cil_tmp13);
1851#line 203
1852  __cil_tmp15 = (int )__cil_tmp14;
1853#line 203
1854  __cil_tmp16 = 0 * 4UL;
1855#line 203
1856  __cil_tmp17 = (unsigned long )(cal) + __cil_tmp16;
1857#line 203
1858  __cil_tmp18 = (int *)__cil_tmp17;
1859#line 203
1860  tmp = l4_getcal(__cil_tmp15, __cil_tmp18);
1861  }
1862#line 203
1863  if (tmp) {
1864#line 204
1865    return (-1);
1866  } else {
1867
1868  }
1869#line 206
1870  i = 0;
1871  {
1872#line 206
1873  while (1) {
1874    while_continue: /* CIL Label */ ;
1875#line 206
1876    if (i < 4) {
1877
1878    } else {
1879#line 206
1880      goto while_break;
1881    }
1882#line 207
1883    __cil_tmp19 = i * 4UL;
1884#line 207
1885    __cil_tmp20 = (unsigned long )(cal) + __cil_tmp19;
1886#line 207
1887    __cil_tmp21 = *((int *)__cil_tmp20);
1888#line 207
1889    __cil_tmp22 = max + i;
1890#line 207
1891    __cil_tmp23 = *__cil_tmp22;
1892#line 207
1893    __cil_tmp24 = __cil_tmp23 * __cil_tmp21;
1894#line 207
1895    t = __cil_tmp24 / 200;
1896#line 208
1897    if (t < 1) {
1898#line 208
1899      t = 1;
1900    } else {
1901#line 208
1902      if (t > 255) {
1903#line 208
1904        tmp___0 = 255;
1905      } else {
1906#line 208
1907        tmp___0 = t;
1908      }
1909#line 208
1910      t = tmp___0;
1911    }
1912    {
1913#line 209
1914    __cil_tmp25 = axes + i;
1915#line 209
1916    __cil_tmp26 = *__cil_tmp25;
1917#line 209
1918    if (__cil_tmp26 < 0) {
1919#line 209
1920      __cil_tmp27 = axes + i;
1921#line 209
1922      *__cil_tmp27 = -1;
1923    } else {
1924#line 209
1925      __cil_tmp28 = axes + i;
1926#line 209
1927      __cil_tmp29 = i * 4UL;
1928#line 209
1929      __cil_tmp30 = (unsigned long )(cal) + __cil_tmp29;
1930#line 209
1931      __cil_tmp31 = *((int *)__cil_tmp30);
1932#line 209
1933      __cil_tmp32 = axes + i;
1934#line 209
1935      __cil_tmp33 = *__cil_tmp32;
1936#line 209
1937      __cil_tmp34 = __cil_tmp33 * __cil_tmp31;
1938#line 209
1939      *__cil_tmp28 = __cil_tmp34 / t;
1940    }
1941    }
1942    {
1943#line 210
1944    __cil_tmp35 = axes + i;
1945#line 210
1946    __cil_tmp36 = *__cil_tmp35;
1947#line 210
1948    if (__cil_tmp36 > 252) {
1949#line 210
1950      __cil_tmp37 = axes + i;
1951#line 210
1952      *__cil_tmp37 = 252;
1953    } else {
1954#line 210
1955      __cil_tmp38 = axes + i;
1956#line 210
1957      __cil_tmp39 = axes + i;
1958#line 210
1959      *__cil_tmp38 = *__cil_tmp39;
1960    }
1961    }
1962#line 211
1963    __cil_tmp40 = i * 4UL;
1964#line 211
1965    __cil_tmp41 = (unsigned long )(cal) + __cil_tmp40;
1966#line 211
1967    *((int *)__cil_tmp41) = t;
1968#line 206
1969    i = i + 1;
1970  }
1971  while_break: /* CIL Label */ ;
1972  }
1973  {
1974#line 214
1975  __cil_tmp42 = (unsigned long )l4;
1976#line 214
1977  __cil_tmp43 = __cil_tmp42 + 8;
1978#line 214
1979  __cil_tmp44 = *((unsigned char *)__cil_tmp43);
1980#line 214
1981  __cil_tmp45 = (int )__cil_tmp44;
1982#line 214
1983  __cil_tmp46 = 0 * 4UL;
1984#line 214
1985  __cil_tmp47 = (unsigned long )(cal) + __cil_tmp46;
1986#line 214
1987  __cil_tmp48 = (int *)__cil_tmp47;
1988#line 214
1989  tmp___1 = l4_setcal(__cil_tmp45, __cil_tmp48);
1990  }
1991#line 214
1992  if (tmp___1) {
1993#line 215
1994    return (-1);
1995  } else {
1996
1997  }
1998#line 217
1999  return (0);
2000}
2001}
2002#line 220
2003static int l4_create_ports(int card_no )  __attribute__((__section__(".init.text"),
2004__no_instrument_function__)) ;
2005#line 220 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2006static int l4_create_ports(int card_no ) 
2007{ struct l4 *l4 ;
2008  struct gameport *port ;
2009  int i ;
2010  int idx ;
2011  struct gameport *tmp ;
2012  int __cil_tmp7 ;
2013  unsigned long __cil_tmp8 ;
2014  unsigned long __cil_tmp9 ;
2015  struct gameport *__cil_tmp10 ;
2016  void *__cil_tmp11 ;
2017  unsigned long __cil_tmp12 ;
2018  unsigned long __cil_tmp13 ;
2019  unsigned long __cil_tmp14 ;
2020  unsigned long __cil_tmp15 ;
2021  unsigned long __cil_tmp16 ;
2022  unsigned long __cil_tmp17 ;
2023  unsigned long __cil_tmp18 ;
2024  unsigned long __cil_tmp19 ;
2025  unsigned long __cil_tmp20 ;
2026  unsigned long __cil_tmp21 ;
2027
2028  {
2029#line 226
2030  i = 0;
2031  {
2032#line 226
2033  while (1) {
2034    while_continue: /* CIL Label */ ;
2035#line 226
2036    if (i < 4) {
2037
2038    } else {
2039#line 226
2040      goto while_break;
2041    }
2042    {
2043#line 228
2044    __cil_tmp7 = card_no * 4;
2045#line 228
2046    idx = __cil_tmp7 + i;
2047#line 229
2048    __cil_tmp8 = idx * 16UL;
2049#line 229
2050    __cil_tmp9 = (unsigned long )(l4_ports) + __cil_tmp8;
2051#line 229
2052    l4 = (struct l4 *)__cil_tmp9;
2053#line 231
2054    port = gameport_allocate_port();
2055#line 231
2056    tmp = port;
2057#line 231
2058    *((struct gameport **)l4) = tmp;
2059    }
2060#line 231
2061    if (tmp) {
2062
2063    } else {
2064      {
2065#line 232
2066      printk("<3>lightning: Memory allocation failed\n");
2067      }
2068      {
2069#line 233
2070      while (1) {
2071        while_continue___0: /* CIL Label */ ;
2072#line 233
2073        i = i - 1;
2074#line 233
2075        if (i >= 0) {
2076
2077        } else {
2078#line 233
2079          goto while_break___0;
2080        }
2081        {
2082#line 234
2083        __cil_tmp10 = *((struct gameport **)l4);
2084#line 234
2085        gameport_free_port(__cil_tmp10);
2086#line 235
2087        __cil_tmp11 = (void *)0;
2088#line 235
2089        *((struct gameport **)l4) = (struct gameport *)__cil_tmp11;
2090        }
2091      }
2092      while_break___0: /* CIL Label */ ;
2093      }
2094#line 237
2095      return (-12);
2096    }
2097    {
2098#line 239
2099    __cil_tmp12 = (unsigned long )l4;
2100#line 239
2101    __cil_tmp13 = __cil_tmp12 + 8;
2102#line 239
2103    *((unsigned char *)__cil_tmp13) = (unsigned char )idx;
2104#line 241
2105    *((void **)port) = (void *)l4;
2106#line 242
2107    __cil_tmp14 = (unsigned long )port;
2108#line 242
2109    __cil_tmp15 = __cil_tmp14 + 120;
2110#line 242
2111    *((int (**)(struct gameport * , int  ))__cil_tmp15) = & l4_open;
2112#line 243
2113    __cil_tmp16 = (unsigned long )port;
2114#line 243
2115    __cil_tmp17 = __cil_tmp16 + 104;
2116#line 243
2117    *((int (**)(struct gameport * , int * , int * ))__cil_tmp17) = & l4_cooked_read;
2118#line 244
2119    __cil_tmp18 = (unsigned long )port;
2120#line 244
2121    __cil_tmp19 = __cil_tmp18 + 112;
2122#line 244
2123    *((int (**)(struct gameport * , int * , int * ))__cil_tmp19) = & l4_calibrate;
2124#line 246
2125    gameport_set_name(port, "PDPI Lightning 4");
2126#line 247
2127    gameport_set_phys(port, "isa%04x/gameport%d", 513, idx);
2128    }
2129#line 249
2130    if (idx == 0) {
2131#line 250
2132      __cil_tmp20 = (unsigned long )port;
2133#line 250
2134      __cil_tmp21 = __cil_tmp20 + 72;
2135#line 250
2136      *((int *)__cil_tmp21) = 513;
2137    } else {
2138
2139    }
2140#line 226
2141    i = i + 1;
2142  }
2143  while_break: /* CIL Label */ ;
2144  }
2145#line 253
2146  return (0);
2147}
2148}
2149#line 256
2150static int l4_add_card(int card_no )  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
2151#line 256 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2152static int l4_add_card(int card_no ) 
2153{ int cal[4] ;
2154  int i ;
2155  int rev ;
2156  int result ;
2157  struct l4 *l4 ;
2158  unsigned char tmp ;
2159  int tmp___0 ;
2160  unsigned char tmp___1 ;
2161  int tmp___2 ;
2162  unsigned char tmp___3 ;
2163  int tmp___4 ;
2164  unsigned char tmp___5 ;
2165  char const   *tmp___6 ;
2166  unsigned long __cil_tmp15 ;
2167  unsigned long __cil_tmp16 ;
2168  unsigned long __cil_tmp17 ;
2169  unsigned long __cil_tmp18 ;
2170  unsigned long __cil_tmp19 ;
2171  unsigned long __cil_tmp20 ;
2172  unsigned long __cil_tmp21 ;
2173  unsigned long __cil_tmp22 ;
2174  int __cil_tmp23 ;
2175  unsigned char __cil_tmp24 ;
2176  int __cil_tmp25 ;
2177  int __cil_tmp26 ;
2178  int __cil_tmp27 ;
2179  int __cil_tmp28 ;
2180  int __cil_tmp29 ;
2181  int __cil_tmp30 ;
2182  int __cil_tmp31 ;
2183  unsigned long __cil_tmp32 ;
2184  unsigned long __cil_tmp33 ;
2185  unsigned long __cil_tmp34 ;
2186  unsigned long __cil_tmp35 ;
2187  unsigned char __cil_tmp36 ;
2188  int __cil_tmp37 ;
2189  unsigned long __cil_tmp38 ;
2190  unsigned long __cil_tmp39 ;
2191  int *__cil_tmp40 ;
2192  struct gameport *__cil_tmp41 ;
2193
2194  {
2195  {
2196#line 258
2197  __cil_tmp15 = 0 * 4UL;
2198#line 258
2199  __cil_tmp16 = (unsigned long )(cal) + __cil_tmp15;
2200#line 258
2201  *((int *)__cil_tmp16) = 255;
2202#line 258
2203  __cil_tmp17 = 1 * 4UL;
2204#line 258
2205  __cil_tmp18 = (unsigned long )(cal) + __cil_tmp17;
2206#line 258
2207  *((int *)__cil_tmp18) = 255;
2208#line 258
2209  __cil_tmp19 = 2 * 4UL;
2210#line 258
2211  __cil_tmp20 = (unsigned long )(cal) + __cil_tmp19;
2212#line 258
2213  *((int *)__cil_tmp20) = 255;
2214#line 258
2215  __cil_tmp21 = 3 * 4UL;
2216#line 258
2217  __cil_tmp22 = (unsigned long )(cal) + __cil_tmp21;
2218#line 258
2219  *((int *)__cil_tmp22) = 255;
2220#line 262
2221  outb((unsigned char)164, 513);
2222#line 263
2223  __cil_tmp23 = 165 + card_no;
2224#line 263
2225  __cil_tmp24 = (unsigned char )__cil_tmp23;
2226#line 263
2227  outb(__cil_tmp24, 513);
2228#line 265
2229  tmp = inb(513);
2230  }
2231  {
2232#line 265
2233  __cil_tmp25 = (int )tmp;
2234#line 265
2235  if (__cil_tmp25 & 1) {
2236#line 266
2237    return (-1);
2238  } else {
2239
2240  }
2241  }
2242  {
2243#line 267
2244  outb((unsigned char)128, 513);
2245#line 269
2246  tmp___0 = l4_wait_ready();
2247  }
2248#line 269
2249  if (tmp___0) {
2250#line 270
2251    return (-1);
2252  } else {
2253
2254  }
2255  {
2256#line 272
2257  tmp___1 = inb(513);
2258  }
2259  {
2260#line 272
2261  __cil_tmp26 = 165 + card_no;
2262#line 272
2263  __cil_tmp27 = (int )tmp___1;
2264#line 272
2265  if (__cil_tmp27 != __cil_tmp26) {
2266#line 273
2267    return (-1);
2268  } else {
2269
2270  }
2271  }
2272  {
2273#line 275
2274  tmp___2 = l4_wait_ready();
2275  }
2276#line 275
2277  if (tmp___2) {
2278#line 276
2279    return (-1);
2280  } else {
2281
2282  }
2283  {
2284#line 277
2285  tmp___3 = inb(513);
2286  }
2287  {
2288#line 277
2289  __cil_tmp28 = (int )tmp___3;
2290#line 277
2291  if (__cil_tmp28 != 4) {
2292#line 278
2293    return (-1);
2294  } else {
2295
2296  }
2297  }
2298  {
2299#line 280
2300  tmp___4 = l4_wait_ready();
2301  }
2302#line 280
2303  if (tmp___4) {
2304#line 281
2305    return (-1);
2306  } else {
2307
2308  }
2309  {
2310#line 282
2311  tmp___5 = inb(513);
2312#line 282
2313  rev = (int )tmp___5;
2314  }
2315#line 284
2316  if (! rev) {
2317#line 285
2318    return (-1);
2319  } else {
2320
2321  }
2322  {
2323#line 287
2324  result = l4_create_ports(card_no);
2325  }
2326#line 288
2327  if (result) {
2328#line 289
2329    return (result);
2330  } else {
2331
2332  }
2333#line 291
2334  if (card_no) {
2335#line 291
2336    tmp___6 = "secondary";
2337  } else {
2338#line 291
2339    tmp___6 = "primary";
2340  }
2341  {
2342#line 291
2343  __cil_tmp29 = rev >> 4;
2344#line 291
2345  printk("<6>gameport: PDPI Lightning 4 %s card v%d.%d at %#x\n", tmp___6, __cil_tmp29,
2346         rev, 513);
2347#line 294
2348  i = 0;
2349  }
2350  {
2351#line 294
2352  while (1) {
2353    while_continue: /* CIL Label */ ;
2354#line 294
2355    if (i < 4) {
2356
2357    } else {
2358#line 294
2359      goto while_break;
2360    }
2361#line 295
2362    __cil_tmp30 = card_no * 4;
2363#line 295
2364    __cil_tmp31 = __cil_tmp30 + i;
2365#line 295
2366    __cil_tmp32 = __cil_tmp31 * 16UL;
2367#line 295
2368    __cil_tmp33 = (unsigned long )(l4_ports) + __cil_tmp32;
2369#line 295
2370    l4 = (struct l4 *)__cil_tmp33;
2371#line 297
2372    if (rev > 40) {
2373      {
2374#line 298
2375      __cil_tmp34 = (unsigned long )l4;
2376#line 298
2377      __cil_tmp35 = __cil_tmp34 + 8;
2378#line 298
2379      __cil_tmp36 = *((unsigned char *)__cil_tmp35);
2380#line 298
2381      __cil_tmp37 = (int )__cil_tmp36;
2382#line 298
2383      __cil_tmp38 = 0 * 4UL;
2384#line 298
2385      __cil_tmp39 = (unsigned long )(cal) + __cil_tmp38;
2386#line 298
2387      __cil_tmp40 = (int *)__cil_tmp39;
2388#line 298
2389      l4_setcal(__cil_tmp37, __cil_tmp40);
2390      }
2391    } else {
2392
2393    }
2394    {
2395#line 299
2396    __cil_tmp41 = *((struct gameport **)l4);
2397#line 299
2398    __gameport_register_port(__cil_tmp41, & __this_module);
2399#line 294
2400    i = i + 1;
2401    }
2402  }
2403  while_break: /* CIL Label */ ;
2404  }
2405#line 302
2406  return (0);
2407}
2408}
2409#line 305
2410static int l4_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
2411#line 305 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2412static int l4_init(void) 
2413{ int i ;
2414  int cards ;
2415  struct resource *tmp ;
2416  int tmp___0 ;
2417  resource_size_t __cil_tmp5 ;
2418  resource_size_t __cil_tmp6 ;
2419  resource_size_t __cil_tmp7 ;
2420  resource_size_t __cil_tmp8 ;
2421
2422  {
2423  {
2424#line 307
2425  cards = 0;
2426#line 309
2427  __cil_tmp5 = (resource_size_t )513;
2428#line 309
2429  __cil_tmp6 = (resource_size_t )1;
2430#line 309
2431  tmp = __request_region(& ioport_resource, __cil_tmp5, __cil_tmp6, "lightning", 0);
2432  }
2433#line 309
2434  if (tmp) {
2435
2436  } else {
2437#line 310
2438    return (-16);
2439  }
2440#line 312
2441  i = 0;
2442  {
2443#line 312
2444  while (1) {
2445    while_continue: /* CIL Label */ ;
2446#line 312
2447    if (i < 2) {
2448
2449    } else {
2450#line 312
2451      goto while_break;
2452    }
2453    {
2454#line 313
2455    tmp___0 = l4_add_card(i);
2456    }
2457#line 313
2458    if (tmp___0 == 0) {
2459#line 314
2460      cards = cards + 1;
2461    } else {
2462
2463    }
2464#line 312
2465    i = i + 1;
2466  }
2467  while_break: /* CIL Label */ ;
2468  }
2469  {
2470#line 316
2471  outb((unsigned char)164, 513);
2472  }
2473#line 318
2474  if (! cards) {
2475    {
2476#line 319
2477    __cil_tmp7 = (resource_size_t )513;
2478#line 319
2479    __cil_tmp8 = (resource_size_t )1;
2480#line 319
2481    __release_region(& ioport_resource, __cil_tmp7, __cil_tmp8);
2482    }
2483#line 320
2484    return (-19);
2485  } else {
2486
2487  }
2488#line 323
2489  return (0);
2490}
2491}
2492#line 326
2493static void l4_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
2494#line 326 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2495static void l4_exit(void) 
2496{ int i ;
2497  int cal[4] ;
2498  unsigned long __cil_tmp3 ;
2499  unsigned long __cil_tmp4 ;
2500  unsigned long __cil_tmp5 ;
2501  unsigned long __cil_tmp6 ;
2502  unsigned long __cil_tmp7 ;
2503  unsigned long __cil_tmp8 ;
2504  unsigned long __cil_tmp9 ;
2505  unsigned long __cil_tmp10 ;
2506  unsigned long __cil_tmp11 ;
2507  unsigned long __cil_tmp12 ;
2508  unsigned long __cil_tmp13 ;
2509  unsigned long __cil_tmp14 ;
2510  unsigned long __cil_tmp15 ;
2511  unsigned char __cil_tmp16 ;
2512  int __cil_tmp17 ;
2513  unsigned long __cil_tmp18 ;
2514  unsigned long __cil_tmp19 ;
2515  int *__cil_tmp20 ;
2516  unsigned long __cil_tmp21 ;
2517  unsigned long __cil_tmp22 ;
2518  struct gameport *__cil_tmp23 ;
2519  resource_size_t __cil_tmp24 ;
2520  resource_size_t __cil_tmp25 ;
2521
2522  {
2523#line 329
2524  __cil_tmp3 = 0 * 4UL;
2525#line 329
2526  __cil_tmp4 = (unsigned long )(cal) + __cil_tmp3;
2527#line 329
2528  *((int *)__cil_tmp4) = 59;
2529#line 329
2530  __cil_tmp5 = 1 * 4UL;
2531#line 329
2532  __cil_tmp6 = (unsigned long )(cal) + __cil_tmp5;
2533#line 329
2534  *((int *)__cil_tmp6) = 59;
2535#line 329
2536  __cil_tmp7 = 2 * 4UL;
2537#line 329
2538  __cil_tmp8 = (unsigned long )(cal) + __cil_tmp7;
2539#line 329
2540  *((int *)__cil_tmp8) = 59;
2541#line 329
2542  __cil_tmp9 = 3 * 4UL;
2543#line 329
2544  __cil_tmp10 = (unsigned long )(cal) + __cil_tmp9;
2545#line 329
2546  *((int *)__cil_tmp10) = 59;
2547#line 331
2548  i = 0;
2549  {
2550#line 331
2551  while (1) {
2552    while_continue: /* CIL Label */ ;
2553#line 331
2554    if (i < 8) {
2555
2556    } else {
2557#line 331
2558      goto while_break;
2559    }
2560    {
2561#line 332
2562    __cil_tmp11 = i * 16UL;
2563#line 332
2564    __cil_tmp12 = (unsigned long )(l4_ports) + __cil_tmp11;
2565#line 332
2566    if (*((struct gameport **)__cil_tmp12)) {
2567      {
2568#line 333
2569      __cil_tmp13 = i * 16UL;
2570#line 333
2571      __cil_tmp14 = __cil_tmp13 + 8;
2572#line 333
2573      __cil_tmp15 = (unsigned long )(l4_ports) + __cil_tmp14;
2574#line 333
2575      __cil_tmp16 = *((unsigned char *)__cil_tmp15);
2576#line 333
2577      __cil_tmp17 = (int )__cil_tmp16;
2578#line 333
2579      __cil_tmp18 = 0 * 4UL;
2580#line 333
2581      __cil_tmp19 = (unsigned long )(cal) + __cil_tmp18;
2582#line 333
2583      __cil_tmp20 = (int *)__cil_tmp19;
2584#line 333
2585      l4_setcal(__cil_tmp17, __cil_tmp20);
2586#line 334
2587      __cil_tmp21 = i * 16UL;
2588#line 334
2589      __cil_tmp22 = (unsigned long )(l4_ports) + __cil_tmp21;
2590#line 334
2591      __cil_tmp23 = *((struct gameport **)__cil_tmp22);
2592#line 334
2593      gameport_unregister_port(__cil_tmp23);
2594      }
2595    } else {
2596
2597    }
2598    }
2599#line 331
2600    i = i + 1;
2601  }
2602  while_break: /* CIL Label */ ;
2603  }
2604  {
2605#line 337
2606  outb((unsigned char)164, 513);
2607#line 338
2608  __cil_tmp24 = (resource_size_t )513;
2609#line 338
2610  __cil_tmp25 = (resource_size_t )1;
2611#line 338
2612  __release_region(& ioport_resource, __cil_tmp24, __cil_tmp25);
2613  }
2614#line 339
2615  return;
2616}
2617}
2618#line 341 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2619int init_module(void) 
2620{ int tmp ;
2621
2622  {
2623  {
2624#line 341
2625  tmp = l4_init();
2626  }
2627#line 341
2628  return (tmp);
2629}
2630}
2631#line 342 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2632void cleanup_module(void) 
2633{ 
2634
2635  {
2636  {
2637#line 342
2638  l4_exit();
2639  }
2640#line 342
2641  return;
2642}
2643}
2644#line 360
2645void ldv_check_final_state(void) ;
2646#line 366
2647extern void ldv_initialize(void) ;
2648#line 369
2649extern int __VERIFIER_nondet_int(void) ;
2650#line 372 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2651int LDV_IN_INTERRUPT  ;
2652#line 375 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2653void main(void) 
2654{ int tmp ;
2655  int tmp___0 ;
2656  int tmp___1 ;
2657
2658  {
2659  {
2660#line 387
2661  LDV_IN_INTERRUPT = 1;
2662#line 396
2663  ldv_initialize();
2664#line 413
2665  tmp = l4_init();
2666  }
2667#line 413
2668  if (tmp) {
2669#line 414
2670    goto ldv_final;
2671  } else {
2672
2673  }
2674  {
2675#line 416
2676  while (1) {
2677    while_continue: /* CIL Label */ ;
2678    {
2679#line 416
2680    tmp___1 = __VERIFIER_nondet_int();
2681    }
2682#line 416
2683    if (tmp___1) {
2684
2685    } else {
2686#line 416
2687      goto while_break;
2688    }
2689    {
2690#line 419
2691    tmp___0 = __VERIFIER_nondet_int();
2692    }
2693    {
2694#line 421
2695    goto switch_default;
2696#line 419
2697    if (0) {
2698      switch_default: /* CIL Label */ 
2699#line 421
2700      goto switch_break;
2701    } else {
2702      switch_break: /* CIL Label */ ;
2703    }
2704    }
2705  }
2706  while_break: /* CIL Label */ ;
2707  }
2708  {
2709#line 444
2710  l4_exit();
2711  }
2712  ldv_final: 
2713  {
2714#line 447
2715  ldv_check_final_state();
2716  }
2717#line 450
2718  return;
2719}
2720}
2721#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
2722void ldv_blast_assert(void) 
2723{ 
2724
2725  {
2726  ERROR: 
2727#line 6
2728  goto ERROR;
2729}
2730}
2731#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
2732extern int __VERIFIER_nondet_int(void) ;
2733#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2734int ldv_mutex  =    1;
2735#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2736int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
2737{ int nondetermined ;
2738
2739  {
2740#line 29
2741  if (ldv_mutex == 1) {
2742
2743  } else {
2744    {
2745#line 29
2746    ldv_blast_assert();
2747    }
2748  }
2749  {
2750#line 32
2751  nondetermined = __VERIFIER_nondet_int();
2752  }
2753#line 35
2754  if (nondetermined) {
2755#line 38
2756    ldv_mutex = 2;
2757#line 40
2758    return (0);
2759  } else {
2760#line 45
2761    return (-4);
2762  }
2763}
2764}
2765#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2766int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
2767{ int nondetermined ;
2768
2769  {
2770#line 57
2771  if (ldv_mutex == 1) {
2772
2773  } else {
2774    {
2775#line 57
2776    ldv_blast_assert();
2777    }
2778  }
2779  {
2780#line 60
2781  nondetermined = __VERIFIER_nondet_int();
2782  }
2783#line 63
2784  if (nondetermined) {
2785#line 66
2786    ldv_mutex = 2;
2787#line 68
2788    return (0);
2789  } else {
2790#line 73
2791    return (-4);
2792  }
2793}
2794}
2795#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2796int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
2797{ int atomic_value_after_dec ;
2798
2799  {
2800#line 83
2801  if (ldv_mutex == 1) {
2802
2803  } else {
2804    {
2805#line 83
2806    ldv_blast_assert();
2807    }
2808  }
2809  {
2810#line 86
2811  atomic_value_after_dec = __VERIFIER_nondet_int();
2812  }
2813#line 89
2814  if (atomic_value_after_dec == 0) {
2815#line 92
2816    ldv_mutex = 2;
2817#line 94
2818    return (1);
2819  } else {
2820
2821  }
2822#line 98
2823  return (0);
2824}
2825}
2826#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2827void mutex_lock(struct mutex *lock ) 
2828{ 
2829
2830  {
2831#line 108
2832  if (ldv_mutex == 1) {
2833
2834  } else {
2835    {
2836#line 108
2837    ldv_blast_assert();
2838    }
2839  }
2840#line 110
2841  ldv_mutex = 2;
2842#line 111
2843  return;
2844}
2845}
2846#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2847int mutex_trylock(struct mutex *lock ) 
2848{ int nondetermined ;
2849
2850  {
2851#line 121
2852  if (ldv_mutex == 1) {
2853
2854  } else {
2855    {
2856#line 121
2857    ldv_blast_assert();
2858    }
2859  }
2860  {
2861#line 124
2862  nondetermined = __VERIFIER_nondet_int();
2863  }
2864#line 127
2865  if (nondetermined) {
2866#line 130
2867    ldv_mutex = 2;
2868#line 132
2869    return (1);
2870  } else {
2871#line 137
2872    return (0);
2873  }
2874}
2875}
2876#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2877void mutex_unlock(struct mutex *lock ) 
2878{ 
2879
2880  {
2881#line 147
2882  if (ldv_mutex == 2) {
2883
2884  } else {
2885    {
2886#line 147
2887    ldv_blast_assert();
2888    }
2889  }
2890#line 149
2891  ldv_mutex = 1;
2892#line 150
2893  return;
2894}
2895}
2896#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
2897void ldv_check_final_state(void) 
2898{ 
2899
2900  {
2901#line 156
2902  if (ldv_mutex == 1) {
2903
2904  } else {
2905    {
2906#line 156
2907    ldv_blast_assert();
2908    }
2909  }
2910#line 157
2911  return;
2912}
2913}
2914#line 459 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/3960/dscv_tempdir/dscv/ri/32_1/drivers/input/gameport/lightning.c.common.c"
2915long s__builtin_expect(long val , long res ) 
2916{ 
2917
2918  {
2919#line 460
2920  return (val);
2921}
2922}