Showing error 1082

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