Showing error 242

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


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 19 "include/asm-generic/int-ll64.h"
   5typedef signed char __s8;
   6#line 20 "include/asm-generic/int-ll64.h"
   7typedef unsigned char __u8;
   8#line 22 "include/asm-generic/int-ll64.h"
   9typedef short __s16;
  10#line 23 "include/asm-generic/int-ll64.h"
  11typedef unsigned short __u16;
  12#line 25 "include/asm-generic/int-ll64.h"
  13typedef int __s32;
  14#line 26 "include/asm-generic/int-ll64.h"
  15typedef unsigned int __u32;
  16#line 29 "include/asm-generic/int-ll64.h"
  17typedef long long __s64;
  18#line 30 "include/asm-generic/int-ll64.h"
  19typedef unsigned long long __u64;
  20#line 43 "include/asm-generic/int-ll64.h"
  21typedef unsigned char u8;
  22#line 45 "include/asm-generic/int-ll64.h"
  23typedef short s16;
  24#line 46 "include/asm-generic/int-ll64.h"
  25typedef unsigned short u16;
  26#line 48 "include/asm-generic/int-ll64.h"
  27typedef int s32;
  28#line 49 "include/asm-generic/int-ll64.h"
  29typedef unsigned int u32;
  30#line 51 "include/asm-generic/int-ll64.h"
  31typedef long long s64;
  32#line 52 "include/asm-generic/int-ll64.h"
  33typedef unsigned long long u64;
  34#line 14 "include/asm-generic/posix_types.h"
  35typedef long __kernel_long_t;
  36#line 15 "include/asm-generic/posix_types.h"
  37typedef unsigned long __kernel_ulong_t;
  38#line 27 "include/asm-generic/posix_types.h"
  39typedef __kernel_ulong_t __kernel_nlink_t;
  40#line 31 "include/asm-generic/posix_types.h"
  41typedef int __kernel_pid_t;
  42#line 52 "include/asm-generic/posix_types.h"
  43typedef unsigned int __kernel_uid32_t;
  44#line 53 "include/asm-generic/posix_types.h"
  45typedef unsigned int __kernel_gid32_t;
  46#line 75 "include/asm-generic/posix_types.h"
  47typedef __kernel_ulong_t __kernel_size_t;
  48#line 76 "include/asm-generic/posix_types.h"
  49typedef __kernel_long_t __kernel_ssize_t;
  50#line 90 "include/asm-generic/posix_types.h"
  51typedef __kernel_long_t __kernel_off_t;
  52#line 91 "include/asm-generic/posix_types.h"
  53typedef long long __kernel_loff_t;
  54#line 92 "include/asm-generic/posix_types.h"
  55typedef __kernel_long_t __kernel_time_t;
  56#line 93 "include/asm-generic/posix_types.h"
  57typedef __kernel_long_t __kernel_clock_t;
  58#line 94 "include/asm-generic/posix_types.h"
  59typedef int __kernel_timer_t;
  60#line 95 "include/asm-generic/posix_types.h"
  61typedef int __kernel_clockid_t;
  62#line 21 "include/linux/types.h"
  63typedef __u32 __kernel_dev_t;
  64#line 24 "include/linux/types.h"
  65typedef __kernel_dev_t dev_t;
  66#line 27 "include/linux/types.h"
  67typedef unsigned short umode_t;
  68#line 28 "include/linux/types.h"
  69typedef __kernel_nlink_t nlink_t;
  70#line 29 "include/linux/types.h"
  71typedef __kernel_off_t off_t;
  72#line 30 "include/linux/types.h"
  73typedef __kernel_pid_t pid_t;
  74#line 35 "include/linux/types.h"
  75typedef __kernel_clockid_t clockid_t;
  76#line 38 "include/linux/types.h"
  77typedef _Bool bool;
  78#line 40 "include/linux/types.h"
  79typedef __kernel_uid32_t uid_t;
  80#line 41 "include/linux/types.h"
  81typedef __kernel_gid32_t gid_t;
  82#line 54 "include/linux/types.h"
  83typedef __kernel_loff_t loff_t;
  84#line 63 "include/linux/types.h"
  85typedef __kernel_size_t size_t;
  86#line 68 "include/linux/types.h"
  87typedef __kernel_ssize_t ssize_t;
  88#line 78 "include/linux/types.h"
  89typedef __kernel_time_t time_t;
  90#line 111 "include/linux/types.h"
  91typedef __s32 int32_t;
  92#line 117 "include/linux/types.h"
  93typedef __u32 uint32_t;
  94#line 142 "include/linux/types.h"
  95typedef unsigned long sector_t;
  96#line 143 "include/linux/types.h"
  97typedef unsigned long blkcnt_t;
  98#line 155 "include/linux/types.h"
  99typedef u64 dma_addr_t;
 100#line 202 "include/linux/types.h"
 101typedef unsigned int gfp_t;
 102#line 203 "include/linux/types.h"
 103typedef unsigned int fmode_t;
 104#line 206 "include/linux/types.h"
 105typedef u64 phys_addr_t;
 106#line 211 "include/linux/types.h"
 107typedef phys_addr_t resource_size_t;
 108#line 219 "include/linux/types.h"
 109struct __anonstruct_atomic_t_7 {
 110   int counter ;
 111};
 112#line 219 "include/linux/types.h"
 113typedef struct __anonstruct_atomic_t_7 atomic_t;
 114#line 224 "include/linux/types.h"
 115struct __anonstruct_atomic64_t_8 {
 116   long counter ;
 117};
 118#line 224 "include/linux/types.h"
 119typedef struct __anonstruct_atomic64_t_8 atomic64_t;
 120#line 229 "include/linux/types.h"
 121struct list_head {
 122   struct list_head *next ;
 123   struct list_head *prev ;
 124};
 125#line 233
 126struct hlist_node;
 127#line 233 "include/linux/types.h"
 128struct hlist_head {
 129   struct hlist_node *first ;
 130};
 131#line 237 "include/linux/types.h"
 132struct hlist_node {
 133   struct hlist_node *next ;
 134   struct hlist_node **pprev ;
 135};
 136#line 253 "include/linux/types.h"
 137struct rcu_head {
 138   struct rcu_head *next ;
 139   void (*func)(struct rcu_head *head ) ;
 140};
 141#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 142struct module;
 143#line 56
 144struct module;
 145#line 146 "include/linux/init.h"
 146typedef void (*ctor_fn_t)(void);
 147#line 47 "include/linux/dynamic_debug.h"
 148struct device;
 149#line 47
 150struct device;
 151#line 135 "include/linux/kernel.h"
 152struct completion;
 153#line 135
 154struct completion;
 155#line 136
 156struct pt_regs;
 157#line 136
 158struct pt_regs;
 159#line 349
 160struct pid;
 161#line 349
 162struct pid;
 163#line 18 "include/linux/ioport.h"
 164struct resource {
 165   resource_size_t start ;
 166   resource_size_t end ;
 167   char const   *name ;
 168   unsigned long flags ;
 169   struct resource *parent ;
 170   struct resource *sibling ;
 171   struct resource *child ;
 172};
 173#line 202
 174struct device;
 175#line 18 "include/linux/capability.h"
 176struct task_struct;
 177#line 18
 178struct task_struct;
 179#line 94 "include/linux/capability.h"
 180struct kernel_cap_struct {
 181   __u32 cap[2] ;
 182};
 183#line 94 "include/linux/capability.h"
 184typedef struct kernel_cap_struct kernel_cap_t;
 185#line 377
 186struct dentry;
 187#line 377
 188struct dentry;
 189#line 378
 190struct user_namespace;
 191#line 378
 192struct user_namespace;
 193#line 12 "include/linux/thread_info.h"
 194struct timespec;
 195#line 12
 196struct timespec;
 197#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 198struct page;
 199#line 18
 200struct page;
 201#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 202struct task_struct;
 203#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 204struct task_struct;
 205#line 8
 206struct mm_struct;
 207#line 8
 208struct mm_struct;
 209#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 210struct pt_regs {
 211   unsigned long r15 ;
 212   unsigned long r14 ;
 213   unsigned long r13 ;
 214   unsigned long r12 ;
 215   unsigned long bp ;
 216   unsigned long bx ;
 217   unsigned long r11 ;
 218   unsigned long r10 ;
 219   unsigned long r9 ;
 220   unsigned long r8 ;
 221   unsigned long ax ;
 222   unsigned long cx ;
 223   unsigned long dx ;
 224   unsigned long si ;
 225   unsigned long di ;
 226   unsigned long orig_ax ;
 227   unsigned long ip ;
 228   unsigned long cs ;
 229   unsigned long flags ;
 230   unsigned long sp ;
 231   unsigned long ss ;
 232};
 233#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 234struct __anonstruct____missing_field_name_17 {
 235   unsigned int a ;
 236   unsigned int b ;
 237};
 238#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 239struct __anonstruct____missing_field_name_18 {
 240   u16 limit0 ;
 241   u16 base0 ;
 242   unsigned int base1 : 8 ;
 243   unsigned int type : 4 ;
 244   unsigned int s : 1 ;
 245   unsigned int dpl : 2 ;
 246   unsigned int p : 1 ;
 247   unsigned int limit : 4 ;
 248   unsigned int avl : 1 ;
 249   unsigned int l : 1 ;
 250   unsigned int d : 1 ;
 251   unsigned int g : 1 ;
 252   unsigned int base2 : 8 ;
 253};
 254#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 255union __anonunion____missing_field_name_16 {
 256   struct __anonstruct____missing_field_name_17 __annonCompField5 ;
 257   struct __anonstruct____missing_field_name_18 __annonCompField6 ;
 258};
 259#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 260struct desc_struct {
 261   union __anonunion____missing_field_name_16 __annonCompField7 ;
 262} __attribute__((__packed__)) ;
 263#line 51 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 264struct gate_struct64 {
 265   u16 offset_low ;
 266   u16 segment ;
 267   unsigned int ist : 3 ;
 268   unsigned int zero0 : 5 ;
 269   unsigned int type : 5 ;
 270   unsigned int dpl : 2 ;
 271   unsigned int p : 1 ;
 272   u16 offset_middle ;
 273   u32 offset_high ;
 274   u32 zero1 ;
 275} __attribute__((__packed__)) ;
 276#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 277typedef struct gate_struct64 gate_desc;
 278#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
 279struct desc_ptr {
 280   unsigned short size ;
 281   unsigned long address ;
 282} __attribute__((__packed__)) ;
 283#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 284typedef unsigned long pgdval_t;
 285#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 286typedef unsigned long pgprotval_t;
 287#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 288struct pgprot {
 289   pgprotval_t pgprot ;
 290};
 291#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 292typedef struct pgprot pgprot_t;
 293#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 294struct __anonstruct_pgd_t_22 {
 295   pgdval_t pgd ;
 296};
 297#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 298typedef struct __anonstruct_pgd_t_22 pgd_t;
 299#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 300typedef struct page *pgtable_t;
 301#line 295
 302struct file;
 303#line 295
 304struct file;
 305#line 313
 306struct seq_file;
 307#line 313
 308struct seq_file;
 309#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 310struct page;
 311#line 47
 312struct thread_struct;
 313#line 47
 314struct thread_struct;
 315#line 48
 316struct desc_ptr;
 317#line 49
 318struct tss_struct;
 319#line 49
 320struct tss_struct;
 321#line 50
 322struct mm_struct;
 323#line 51
 324struct desc_struct;
 325#line 52
 326struct task_struct;
 327#line 53
 328struct cpumask;
 329#line 53
 330struct cpumask;
 331#line 102 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 332struct pv_cpu_ops {
 333   unsigned long (*get_debugreg)(int regno ) ;
 334   void (*set_debugreg)(int regno , unsigned long value ) ;
 335   void (*clts)(void) ;
 336   unsigned long (*read_cr0)(void) ;
 337   void (*write_cr0)(unsigned long  ) ;
 338   unsigned long (*read_cr4_safe)(void) ;
 339   unsigned long (*read_cr4)(void) ;
 340   void (*write_cr4)(unsigned long  ) ;
 341   unsigned long (*read_cr8)(void) ;
 342   void (*write_cr8)(unsigned long  ) ;
 343   void (*load_tr_desc)(void) ;
 344   void (*load_gdt)(struct desc_ptr  const  * ) ;
 345   void (*load_idt)(struct desc_ptr  const  * ) ;
 346   void (*store_gdt)(struct desc_ptr * ) ;
 347   void (*store_idt)(struct desc_ptr * ) ;
 348   void (*set_ldt)(void const   *desc , unsigned int entries ) ;
 349   unsigned long (*store_tr)(void) ;
 350   void (*load_tls)(struct thread_struct *t , unsigned int cpu ) ;
 351   void (*load_gs_index)(unsigned int idx ) ;
 352   void (*write_ldt_entry)(struct desc_struct *ldt , int entrynum , void const   *desc ) ;
 353   void (*write_gdt_entry)(struct desc_struct * , int entrynum , void const   *desc ,
 354                           int size ) ;
 355   void (*write_idt_entry)(gate_desc * , int entrynum , gate_desc const   *gate ) ;
 356   void (*alloc_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
 357   void (*free_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
 358   void (*load_sp0)(struct tss_struct *tss , struct thread_struct *t ) ;
 359   void (*set_iopl_mask)(unsigned int mask ) ;
 360   void (*wbinvd)(void) ;
 361   void (*io_delay)(void) ;
 362   void (*cpuid)(unsigned int *eax , unsigned int *ebx , unsigned int *ecx , unsigned int *edx ) ;
 363   u64 (*read_msr)(unsigned int msr , int *err ) ;
 364   int (*rdmsr_regs)(u32 *regs ) ;
 365   int (*write_msr)(unsigned int msr , unsigned int low , unsigned int high ) ;
 366   int (*wrmsr_regs)(u32 *regs ) ;
 367   u64 (*read_tsc)(void) ;
 368   u64 (*read_pmc)(int counter ) ;
 369   unsigned long long (*read_tscp)(unsigned int *aux ) ;
 370   void (*irq_enable_sysexit)(void) ;
 371   void (*usergs_sysret64)(void) ;
 372   void (*usergs_sysret32)(void) ;
 373   void (*iret)(void) ;
 374   void (*swapgs)(void) ;
 375   void (*start_context_switch)(struct task_struct *prev ) ;
 376   void (*end_context_switch)(struct task_struct *next ) ;
 377};
 378#line 329
 379struct arch_spinlock;
 380#line 329
 381struct arch_spinlock;
 382#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 383struct task_struct;
 384#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 385struct kernel_vm86_regs {
 386   struct pt_regs pt ;
 387   unsigned short es ;
 388   unsigned short __esh ;
 389   unsigned short ds ;
 390   unsigned short __dsh ;
 391   unsigned short fs ;
 392   unsigned short __fsh ;
 393   unsigned short gs ;
 394   unsigned short __gsh ;
 395};
 396#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 397union __anonunion____missing_field_name_26 {
 398   struct pt_regs *regs ;
 399   struct kernel_vm86_regs *vm86 ;
 400};
 401#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
 402struct math_emu_info {
 403   long ___orig_eip ;
 404   union __anonunion____missing_field_name_26 __annonCompField8 ;
 405};
 406#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 407struct task_struct;
 408#line 10 "include/asm-generic/bug.h"
 409struct bug_entry {
 410   int bug_addr_disp ;
 411   int file_disp ;
 412   unsigned short line ;
 413   unsigned short flags ;
 414};
 415#line 12 "include/linux/bug.h"
 416struct pt_regs;
 417#line 14 "include/linux/cpumask.h"
 418struct cpumask {
 419   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 420};
 421#line 14 "include/linux/cpumask.h"
 422typedef struct cpumask cpumask_t;
 423#line 637 "include/linux/cpumask.h"
 424typedef struct cpumask *cpumask_var_t;
 425#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 426struct static_key;
 427#line 234
 428struct static_key;
 429#line 11 "include/linux/personality.h"
 430struct pt_regs;
 431#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 432struct x86_hw_tss {
 433   u32 reserved1 ;
 434   u64 sp0 ;
 435   u64 sp1 ;
 436   u64 sp2 ;
 437   u64 reserved2 ;
 438   u64 ist[7] ;
 439   u32 reserved3 ;
 440   u32 reserved4 ;
 441   u16 reserved5 ;
 442   u16 io_bitmap_base ;
 443} __attribute__((__packed__, __aligned__((1) <<  (6) ))) ;
 444#line 258 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 445struct tss_struct {
 446   struct x86_hw_tss x86_tss ;
 447   unsigned long io_bitmap[8192UL / sizeof(long ) + 1UL] ;
 448   unsigned long stack[64] ;
 449} __attribute__((__aligned__((1) <<  (6) ))) ;
 450#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 451struct i387_fsave_struct {
 452   u32 cwd ;
 453   u32 swd ;
 454   u32 twd ;
 455   u32 fip ;
 456   u32 fcs ;
 457   u32 foo ;
 458   u32 fos ;
 459   u32 st_space[20] ;
 460   u32 status ;
 461};
 462#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 463struct __anonstruct____missing_field_name_33 {
 464   u64 rip ;
 465   u64 rdp ;
 466};
 467#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 468struct __anonstruct____missing_field_name_34 {
 469   u32 fip ;
 470   u32 fcs ;
 471   u32 foo ;
 472   u32 fos ;
 473};
 474#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 475union __anonunion____missing_field_name_32 {
 476   struct __anonstruct____missing_field_name_33 __annonCompField12 ;
 477   struct __anonstruct____missing_field_name_34 __annonCompField13 ;
 478};
 479#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 480union __anonunion____missing_field_name_35 {
 481   u32 padding1[12] ;
 482   u32 sw_reserved[12] ;
 483};
 484#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 485struct i387_fxsave_struct {
 486   u16 cwd ;
 487   u16 swd ;
 488   u16 twd ;
 489   u16 fop ;
 490   union __anonunion____missing_field_name_32 __annonCompField14 ;
 491   u32 mxcsr ;
 492   u32 mxcsr_mask ;
 493   u32 st_space[32] ;
 494   u32 xmm_space[64] ;
 495   u32 padding[12] ;
 496   union __anonunion____missing_field_name_35 __annonCompField15 ;
 497} __attribute__((__aligned__(16))) ;
 498#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 499struct i387_soft_struct {
 500   u32 cwd ;
 501   u32 swd ;
 502   u32 twd ;
 503   u32 fip ;
 504   u32 fcs ;
 505   u32 foo ;
 506   u32 fos ;
 507   u32 st_space[20] ;
 508   u8 ftop ;
 509   u8 changed ;
 510   u8 lookahead ;
 511   u8 no_update ;
 512   u8 rm ;
 513   u8 alimit ;
 514   struct math_emu_info *info ;
 515   u32 entry_eip ;
 516};
 517#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 518struct ymmh_struct {
 519   u32 ymmh_space[64] ;
 520};
 521#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 522struct xsave_hdr_struct {
 523   u64 xstate_bv ;
 524   u64 reserved1[2] ;
 525   u64 reserved2[5] ;
 526} __attribute__((__packed__)) ;
 527#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 528struct xsave_struct {
 529   struct i387_fxsave_struct i387 ;
 530   struct xsave_hdr_struct xsave_hdr ;
 531   struct ymmh_struct ymmh ;
 532} __attribute__((__packed__, __aligned__(64))) ;
 533#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 534union thread_xstate {
 535   struct i387_fsave_struct fsave ;
 536   struct i387_fxsave_struct fxsave ;
 537   struct i387_soft_struct soft ;
 538   struct xsave_struct xsave ;
 539};
 540#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 541struct fpu {
 542   unsigned int last_cpu ;
 543   unsigned int has_fpu ;
 544   union thread_xstate *state ;
 545};
 546#line 433
 547struct kmem_cache;
 548#line 435
 549struct perf_event;
 550#line 435
 551struct perf_event;
 552#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 553struct thread_struct {
 554   struct desc_struct tls_array[3] ;
 555   unsigned long sp0 ;
 556   unsigned long sp ;
 557   unsigned long usersp ;
 558   unsigned short es ;
 559   unsigned short ds ;
 560   unsigned short fsindex ;
 561   unsigned short gsindex ;
 562   unsigned long fs ;
 563   unsigned long gs ;
 564   struct perf_event *ptrace_bps[4] ;
 565   unsigned long debugreg6 ;
 566   unsigned long ptrace_dr7 ;
 567   unsigned long cr2 ;
 568   unsigned long trap_nr ;
 569   unsigned long error_code ;
 570   struct fpu fpu ;
 571   unsigned long *io_bitmap_ptr ;
 572   unsigned long iopl ;
 573   unsigned int io_bitmap_max ;
 574};
 575#line 23 "include/asm-generic/atomic-long.h"
 576typedef atomic64_t atomic_long_t;
 577#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 578typedef u16 __ticket_t;
 579#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 580typedef u32 __ticketpair_t;
 581#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 582struct __raw_tickets {
 583   __ticket_t head ;
 584   __ticket_t tail ;
 585};
 586#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 587union __anonunion____missing_field_name_38 {
 588   __ticketpair_t head_tail ;
 589   struct __raw_tickets tickets ;
 590};
 591#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 592struct arch_spinlock {
 593   union __anonunion____missing_field_name_38 __annonCompField17 ;
 594};
 595#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 596typedef struct arch_spinlock arch_spinlock_t;
 597#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 598struct __anonstruct____missing_field_name_40 {
 599   u32 read ;
 600   s32 write ;
 601};
 602#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 603union __anonunion_arch_rwlock_t_39 {
 604   s64 lock ;
 605   struct __anonstruct____missing_field_name_40 __annonCompField18 ;
 606};
 607#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 608typedef union __anonunion_arch_rwlock_t_39 arch_rwlock_t;
 609#line 12 "include/linux/lockdep.h"
 610struct task_struct;
 611#line 391 "include/linux/lockdep.h"
 612struct lock_class_key {
 613
 614};
 615#line 20 "include/linux/spinlock_types.h"
 616struct raw_spinlock {
 617   arch_spinlock_t raw_lock ;
 618   unsigned int magic ;
 619   unsigned int owner_cpu ;
 620   void *owner ;
 621};
 622#line 20 "include/linux/spinlock_types.h"
 623typedef struct raw_spinlock raw_spinlock_t;
 624#line 64 "include/linux/spinlock_types.h"
 625union __anonunion____missing_field_name_41 {
 626   struct raw_spinlock rlock ;
 627};
 628#line 64 "include/linux/spinlock_types.h"
 629struct spinlock {
 630   union __anonunion____missing_field_name_41 __annonCompField19 ;
 631};
 632#line 64 "include/linux/spinlock_types.h"
 633typedef struct spinlock spinlock_t;
 634#line 11 "include/linux/rwlock_types.h"
 635struct __anonstruct_rwlock_t_42 {
 636   arch_rwlock_t raw_lock ;
 637   unsigned int magic ;
 638   unsigned int owner_cpu ;
 639   void *owner ;
 640};
 641#line 11 "include/linux/rwlock_types.h"
 642typedef struct __anonstruct_rwlock_t_42 rwlock_t;
 643#line 119 "include/linux/seqlock.h"
 644struct seqcount {
 645   unsigned int sequence ;
 646};
 647#line 119 "include/linux/seqlock.h"
 648typedef struct seqcount seqcount_t;
 649#line 14 "include/linux/time.h"
 650struct timespec {
 651   __kernel_time_t tv_sec ;
 652   long tv_nsec ;
 653};
 654#line 100 "include/linux/rbtree.h"
 655struct rb_node {
 656   unsigned long rb_parent_color ;
 657   struct rb_node *rb_right ;
 658   struct rb_node *rb_left ;
 659} __attribute__((__aligned__(sizeof(long )))) ;
 660#line 110 "include/linux/rbtree.h"
 661struct rb_root {
 662   struct rb_node *rb_node ;
 663};
 664#line 98 "include/linux/nodemask.h"
 665struct __anonstruct_nodemask_t_44 {
 666   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 667};
 668#line 98 "include/linux/nodemask.h"
 669typedef struct __anonstruct_nodemask_t_44 nodemask_t;
 670#line 14 "include/linux/prio_tree.h"
 671struct prio_tree_node;
 672#line 14 "include/linux/prio_tree.h"
 673struct raw_prio_tree_node {
 674   struct prio_tree_node *left ;
 675   struct prio_tree_node *right ;
 676   struct prio_tree_node *parent ;
 677};
 678#line 20 "include/linux/prio_tree.h"
 679struct prio_tree_node {
 680   struct prio_tree_node *left ;
 681   struct prio_tree_node *right ;
 682   struct prio_tree_node *parent ;
 683   unsigned long start ;
 684   unsigned long last ;
 685};
 686#line 28 "include/linux/prio_tree.h"
 687struct prio_tree_root {
 688   struct prio_tree_node *prio_tree_node ;
 689   unsigned short index_bits ;
 690   unsigned short raw ;
 691};
 692#line 19 "include/linux/rwsem.h"
 693struct rw_semaphore;
 694#line 19
 695struct rw_semaphore;
 696#line 25 "include/linux/rwsem.h"
 697struct rw_semaphore {
 698   long count ;
 699   raw_spinlock_t wait_lock ;
 700   struct list_head wait_list ;
 701};
 702#line 49 "include/linux/wait.h"
 703struct __wait_queue_head {
 704   spinlock_t lock ;
 705   struct list_head task_list ;
 706};
 707#line 53 "include/linux/wait.h"
 708typedef struct __wait_queue_head wait_queue_head_t;
 709#line 55
 710struct task_struct;
 711#line 25 "include/linux/completion.h"
 712struct completion {
 713   unsigned int done ;
 714   wait_queue_head_t wait ;
 715};
 716#line 48 "include/linux/mutex.h"
 717struct mutex {
 718   atomic_t count ;
 719   spinlock_t wait_lock ;
 720   struct list_head wait_list ;
 721   struct task_struct *owner ;
 722   char const   *name ;
 723   void *magic ;
 724};
 725#line 69 "include/linux/mutex.h"
 726struct mutex_waiter {
 727   struct list_head list ;
 728   struct task_struct *task ;
 729   void *magic ;
 730};
 731#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 732struct __anonstruct_mm_context_t_45 {
 733   void *ldt ;
 734   int size ;
 735   unsigned short ia32_compat ;
 736   struct mutex lock ;
 737   void *vdso ;
 738};
 739#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 740typedef struct __anonstruct_mm_context_t_45 mm_context_t;
 741#line 23 "include/linux/mm_types.h"
 742struct address_space;
 743#line 23
 744struct address_space;
 745#line 40 "include/linux/mm_types.h"
 746union __anonunion____missing_field_name_47 {
 747   unsigned long index ;
 748   void *freelist ;
 749};
 750#line 40 "include/linux/mm_types.h"
 751struct __anonstruct____missing_field_name_51 {
 752   unsigned int inuse : 16 ;
 753   unsigned int objects : 15 ;
 754   unsigned int frozen : 1 ;
 755};
 756#line 40 "include/linux/mm_types.h"
 757union __anonunion____missing_field_name_50 {
 758   atomic_t _mapcount ;
 759   struct __anonstruct____missing_field_name_51 __annonCompField21 ;
 760};
 761#line 40 "include/linux/mm_types.h"
 762struct __anonstruct____missing_field_name_49 {
 763   union __anonunion____missing_field_name_50 __annonCompField22 ;
 764   atomic_t _count ;
 765};
 766#line 40 "include/linux/mm_types.h"
 767union __anonunion____missing_field_name_48 {
 768   unsigned long counters ;
 769   struct __anonstruct____missing_field_name_49 __annonCompField23 ;
 770};
 771#line 40 "include/linux/mm_types.h"
 772struct __anonstruct____missing_field_name_46 {
 773   union __anonunion____missing_field_name_47 __annonCompField20 ;
 774   union __anonunion____missing_field_name_48 __annonCompField24 ;
 775};
 776#line 40 "include/linux/mm_types.h"
 777struct __anonstruct____missing_field_name_53 {
 778   struct page *next ;
 779   int pages ;
 780   int pobjects ;
 781};
 782#line 40 "include/linux/mm_types.h"
 783union __anonunion____missing_field_name_52 {
 784   struct list_head lru ;
 785   struct __anonstruct____missing_field_name_53 __annonCompField26 ;
 786};
 787#line 40 "include/linux/mm_types.h"
 788union __anonunion____missing_field_name_54 {
 789   unsigned long private ;
 790   struct kmem_cache *slab ;
 791   struct page *first_page ;
 792};
 793#line 40 "include/linux/mm_types.h"
 794struct page {
 795   unsigned long flags ;
 796   struct address_space *mapping ;
 797   struct __anonstruct____missing_field_name_46 __annonCompField25 ;
 798   union __anonunion____missing_field_name_52 __annonCompField27 ;
 799   union __anonunion____missing_field_name_54 __annonCompField28 ;
 800   unsigned long debug_flags ;
 801} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 802#line 200 "include/linux/mm_types.h"
 803struct __anonstruct_vm_set_56 {
 804   struct list_head list ;
 805   void *parent ;
 806   struct vm_area_struct *head ;
 807};
 808#line 200 "include/linux/mm_types.h"
 809union __anonunion_shared_55 {
 810   struct __anonstruct_vm_set_56 vm_set ;
 811   struct raw_prio_tree_node prio_tree_node ;
 812};
 813#line 200
 814struct anon_vma;
 815#line 200
 816struct vm_operations_struct;
 817#line 200
 818struct mempolicy;
 819#line 200 "include/linux/mm_types.h"
 820struct vm_area_struct {
 821   struct mm_struct *vm_mm ;
 822   unsigned long vm_start ;
 823   unsigned long vm_end ;
 824   struct vm_area_struct *vm_next ;
 825   struct vm_area_struct *vm_prev ;
 826   pgprot_t vm_page_prot ;
 827   unsigned long vm_flags ;
 828   struct rb_node vm_rb ;
 829   union __anonunion_shared_55 shared ;
 830   struct list_head anon_vma_chain ;
 831   struct anon_vma *anon_vma ;
 832   struct vm_operations_struct  const  *vm_ops ;
 833   unsigned long vm_pgoff ;
 834   struct file *vm_file ;
 835   void *vm_private_data ;
 836   struct mempolicy *vm_policy ;
 837};
 838#line 257 "include/linux/mm_types.h"
 839struct core_thread {
 840   struct task_struct *task ;
 841   struct core_thread *next ;
 842};
 843#line 262 "include/linux/mm_types.h"
 844struct core_state {
 845   atomic_t nr_threads ;
 846   struct core_thread dumper ;
 847   struct completion startup ;
 848};
 849#line 284 "include/linux/mm_types.h"
 850struct mm_rss_stat {
 851   atomic_long_t count[3] ;
 852};
 853#line 288
 854struct linux_binfmt;
 855#line 288
 856struct mmu_notifier_mm;
 857#line 288 "include/linux/mm_types.h"
 858struct mm_struct {
 859   struct vm_area_struct *mmap ;
 860   struct rb_root mm_rb ;
 861   struct vm_area_struct *mmap_cache ;
 862   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
 863                                      unsigned long pgoff , unsigned long flags ) ;
 864   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
 865   unsigned long mmap_base ;
 866   unsigned long task_size ;
 867   unsigned long cached_hole_size ;
 868   unsigned long free_area_cache ;
 869   pgd_t *pgd ;
 870   atomic_t mm_users ;
 871   atomic_t mm_count ;
 872   int map_count ;
 873   spinlock_t page_table_lock ;
 874   struct rw_semaphore mmap_sem ;
 875   struct list_head mmlist ;
 876   unsigned long hiwater_rss ;
 877   unsigned long hiwater_vm ;
 878   unsigned long total_vm ;
 879   unsigned long locked_vm ;
 880   unsigned long pinned_vm ;
 881   unsigned long shared_vm ;
 882   unsigned long exec_vm ;
 883   unsigned long stack_vm ;
 884   unsigned long reserved_vm ;
 885   unsigned long def_flags ;
 886   unsigned long nr_ptes ;
 887   unsigned long start_code ;
 888   unsigned long end_code ;
 889   unsigned long start_data ;
 890   unsigned long end_data ;
 891   unsigned long start_brk ;
 892   unsigned long brk ;
 893   unsigned long start_stack ;
 894   unsigned long arg_start ;
 895   unsigned long arg_end ;
 896   unsigned long env_start ;
 897   unsigned long env_end ;
 898   unsigned long saved_auxv[44] ;
 899   struct mm_rss_stat rss_stat ;
 900   struct linux_binfmt *binfmt ;
 901   cpumask_var_t cpu_vm_mask_var ;
 902   mm_context_t context ;
 903   unsigned int faultstamp ;
 904   unsigned int token_priority ;
 905   unsigned int last_interval ;
 906   unsigned long flags ;
 907   struct core_state *core_state ;
 908   spinlock_t ioctx_lock ;
 909   struct hlist_head ioctx_list ;
 910   struct task_struct *owner ;
 911   struct file *exe_file ;
 912   unsigned long num_exe_file_vmas ;
 913   struct mmu_notifier_mm *mmu_notifier_mm ;
 914   pgtable_t pmd_huge_pte ;
 915   struct cpumask cpumask_allocation ;
 916};
 917#line 7 "include/asm-generic/cputime.h"
 918typedef unsigned long cputime_t;
 919#line 18 "include/linux/smp.h"
 920struct call_single_data {
 921   struct list_head list ;
 922   void (*func)(void *info ) ;
 923   void *info ;
 924   u16 flags ;
 925   u16 priv ;
 926};
 927#line 182 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 928struct pci_dev;
 929#line 182
 930struct pci_dev;
 931#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 932struct device;
 933#line 46 "include/linux/ktime.h"
 934union ktime {
 935   s64 tv64 ;
 936};
 937#line 59 "include/linux/ktime.h"
 938typedef union ktime ktime_t;
 939#line 10 "include/linux/timer.h"
 940struct tvec_base;
 941#line 10
 942struct tvec_base;
 943#line 12 "include/linux/timer.h"
 944struct timer_list {
 945   struct list_head entry ;
 946   unsigned long expires ;
 947   struct tvec_base *base ;
 948   void (*function)(unsigned long  ) ;
 949   unsigned long data ;
 950   int slack ;
 951   int start_pid ;
 952   void *start_site ;
 953   char start_comm[16] ;
 954};
 955#line 289
 956struct hrtimer;
 957#line 289
 958struct hrtimer;
 959#line 290
 960enum hrtimer_restart;
 961#line 17 "include/linux/workqueue.h"
 962struct work_struct;
 963#line 17
 964struct work_struct;
 965#line 79 "include/linux/workqueue.h"
 966struct work_struct {
 967   atomic_long_t data ;
 968   struct list_head entry ;
 969   void (*func)(struct work_struct *work ) ;
 970};
 971#line 92 "include/linux/workqueue.h"
 972struct delayed_work {
 973   struct work_struct work ;
 974   struct timer_list timer ;
 975};
 976#line 42 "include/linux/pm.h"
 977struct device;
 978#line 50 "include/linux/pm.h"
 979struct pm_message {
 980   int event ;
 981};
 982#line 50 "include/linux/pm.h"
 983typedef struct pm_message pm_message_t;
 984#line 264 "include/linux/pm.h"
 985struct dev_pm_ops {
 986   int (*prepare)(struct device *dev ) ;
 987   void (*complete)(struct device *dev ) ;
 988   int (*suspend)(struct device *dev ) ;
 989   int (*resume)(struct device *dev ) ;
 990   int (*freeze)(struct device *dev ) ;
 991   int (*thaw)(struct device *dev ) ;
 992   int (*poweroff)(struct device *dev ) ;
 993   int (*restore)(struct device *dev ) ;
 994   int (*suspend_late)(struct device *dev ) ;
 995   int (*resume_early)(struct device *dev ) ;
 996   int (*freeze_late)(struct device *dev ) ;
 997   int (*thaw_early)(struct device *dev ) ;
 998   int (*poweroff_late)(struct device *dev ) ;
 999   int (*restore_early)(struct device *dev ) ;
1000   int (*suspend_noirq)(struct device *dev ) ;
1001   int (*resume_noirq)(struct device *dev ) ;
1002   int (*freeze_noirq)(struct device *dev ) ;
1003   int (*thaw_noirq)(struct device *dev ) ;
1004   int (*poweroff_noirq)(struct device *dev ) ;
1005   int (*restore_noirq)(struct device *dev ) ;
1006   int (*runtime_suspend)(struct device *dev ) ;
1007   int (*runtime_resume)(struct device *dev ) ;
1008   int (*runtime_idle)(struct device *dev ) ;
1009};
1010#line 458
1011enum rpm_status {
1012    RPM_ACTIVE = 0,
1013    RPM_RESUMING = 1,
1014    RPM_SUSPENDED = 2,
1015    RPM_SUSPENDING = 3
1016} ;
1017#line 480
1018enum rpm_request {
1019    RPM_REQ_NONE = 0,
1020    RPM_REQ_IDLE = 1,
1021    RPM_REQ_SUSPEND = 2,
1022    RPM_REQ_AUTOSUSPEND = 3,
1023    RPM_REQ_RESUME = 4
1024} ;
1025#line 488
1026struct wakeup_source;
1027#line 488
1028struct wakeup_source;
1029#line 495 "include/linux/pm.h"
1030struct pm_subsys_data {
1031   spinlock_t lock ;
1032   unsigned int refcount ;
1033};
1034#line 506
1035struct dev_pm_qos_request;
1036#line 506
1037struct pm_qos_constraints;
1038#line 506 "include/linux/pm.h"
1039struct dev_pm_info {
1040   pm_message_t power_state ;
1041   unsigned int can_wakeup : 1 ;
1042   unsigned int async_suspend : 1 ;
1043   bool is_prepared : 1 ;
1044   bool is_suspended : 1 ;
1045   bool ignore_children : 1 ;
1046   spinlock_t lock ;
1047   struct list_head entry ;
1048   struct completion completion ;
1049   struct wakeup_source *wakeup ;
1050   bool wakeup_path : 1 ;
1051   struct timer_list suspend_timer ;
1052   unsigned long timer_expires ;
1053   struct work_struct work ;
1054   wait_queue_head_t wait_queue ;
1055   atomic_t usage_count ;
1056   atomic_t child_count ;
1057   unsigned int disable_depth : 3 ;
1058   unsigned int idle_notification : 1 ;
1059   unsigned int request_pending : 1 ;
1060   unsigned int deferred_resume : 1 ;
1061   unsigned int run_wake : 1 ;
1062   unsigned int runtime_auto : 1 ;
1063   unsigned int no_callbacks : 1 ;
1064   unsigned int irq_safe : 1 ;
1065   unsigned int use_autosuspend : 1 ;
1066   unsigned int timer_autosuspends : 1 ;
1067   enum rpm_request request ;
1068   enum rpm_status runtime_status ;
1069   int runtime_error ;
1070   int autosuspend_delay ;
1071   unsigned long last_busy ;
1072   unsigned long active_jiffies ;
1073   unsigned long suspended_jiffies ;
1074   unsigned long accounting_timestamp ;
1075   ktime_t suspend_time ;
1076   s64 max_time_suspended_ns ;
1077   struct dev_pm_qos_request *pq_req ;
1078   struct pm_subsys_data *subsys_data ;
1079   struct pm_qos_constraints *constraints ;
1080};
1081#line 564 "include/linux/pm.h"
1082struct dev_pm_domain {
1083   struct dev_pm_ops ops ;
1084};
1085#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
1086struct pci_bus;
1087#line 174
1088struct pci_bus;
1089#line 71 "include/asm-generic/iomap.h"
1090struct pci_dev;
1091#line 14 "include/asm-generic/pci_iomap.h"
1092struct pci_dev;
1093#line 8 "include/linux/vmalloc.h"
1094struct vm_area_struct;
1095#line 336 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
1096struct bio_vec;
1097#line 336
1098struct bio_vec;
1099#line 84 "include/linux/sem.h"
1100struct task_struct;
1101#line 101
1102struct sem_undo_list;
1103#line 101 "include/linux/sem.h"
1104struct sysv_sem {
1105   struct sem_undo_list *undo_list ;
1106};
1107#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1108struct siginfo;
1109#line 10
1110struct siginfo;
1111#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1112struct __anonstruct_sigset_t_151 {
1113   unsigned long sig[1] ;
1114};
1115#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1116typedef struct __anonstruct_sigset_t_151 sigset_t;
1117#line 17 "include/asm-generic/signal-defs.h"
1118typedef void __signalfn_t(int  );
1119#line 18 "include/asm-generic/signal-defs.h"
1120typedef __signalfn_t *__sighandler_t;
1121#line 20 "include/asm-generic/signal-defs.h"
1122typedef void __restorefn_t(void);
1123#line 21 "include/asm-generic/signal-defs.h"
1124typedef __restorefn_t *__sigrestore_t;
1125#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1126struct sigaction {
1127   __sighandler_t sa_handler ;
1128   unsigned long sa_flags ;
1129   __sigrestore_t sa_restorer ;
1130   sigset_t sa_mask ;
1131};
1132#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1133struct k_sigaction {
1134   struct sigaction sa ;
1135};
1136#line 7 "include/asm-generic/siginfo.h"
1137union sigval {
1138   int sival_int ;
1139   void *sival_ptr ;
1140};
1141#line 7 "include/asm-generic/siginfo.h"
1142typedef union sigval sigval_t;
1143#line 48 "include/asm-generic/siginfo.h"
1144struct __anonstruct__kill_153 {
1145   __kernel_pid_t _pid ;
1146   __kernel_uid32_t _uid ;
1147};
1148#line 48 "include/asm-generic/siginfo.h"
1149struct __anonstruct__timer_154 {
1150   __kernel_timer_t _tid ;
1151   int _overrun ;
1152   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1153   sigval_t _sigval ;
1154   int _sys_private ;
1155};
1156#line 48 "include/asm-generic/siginfo.h"
1157struct __anonstruct__rt_155 {
1158   __kernel_pid_t _pid ;
1159   __kernel_uid32_t _uid ;
1160   sigval_t _sigval ;
1161};
1162#line 48 "include/asm-generic/siginfo.h"
1163struct __anonstruct__sigchld_156 {
1164   __kernel_pid_t _pid ;
1165   __kernel_uid32_t _uid ;
1166   int _status ;
1167   __kernel_clock_t _utime ;
1168   __kernel_clock_t _stime ;
1169};
1170#line 48 "include/asm-generic/siginfo.h"
1171struct __anonstruct__sigfault_157 {
1172   void *_addr ;
1173   short _addr_lsb ;
1174};
1175#line 48 "include/asm-generic/siginfo.h"
1176struct __anonstruct__sigpoll_158 {
1177   long _band ;
1178   int _fd ;
1179};
1180#line 48 "include/asm-generic/siginfo.h"
1181union __anonunion__sifields_152 {
1182   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1183   struct __anonstruct__kill_153 _kill ;
1184   struct __anonstruct__timer_154 _timer ;
1185   struct __anonstruct__rt_155 _rt ;
1186   struct __anonstruct__sigchld_156 _sigchld ;
1187   struct __anonstruct__sigfault_157 _sigfault ;
1188   struct __anonstruct__sigpoll_158 _sigpoll ;
1189};
1190#line 48 "include/asm-generic/siginfo.h"
1191struct siginfo {
1192   int si_signo ;
1193   int si_errno ;
1194   int si_code ;
1195   union __anonunion__sifields_152 _sifields ;
1196};
1197#line 48 "include/asm-generic/siginfo.h"
1198typedef struct siginfo siginfo_t;
1199#line 288
1200struct siginfo;
1201#line 10 "include/linux/signal.h"
1202struct task_struct;
1203#line 18
1204struct user_struct;
1205#line 28 "include/linux/signal.h"
1206struct sigpending {
1207   struct list_head list ;
1208   sigset_t signal ;
1209};
1210#line 239
1211struct timespec;
1212#line 240
1213struct pt_regs;
1214#line 6 "include/linux/pid.h"
1215enum pid_type {
1216    PIDTYPE_PID = 0,
1217    PIDTYPE_PGID = 1,
1218    PIDTYPE_SID = 2,
1219    PIDTYPE_MAX = 3
1220} ;
1221#line 50
1222struct pid_namespace;
1223#line 50 "include/linux/pid.h"
1224struct upid {
1225   int nr ;
1226   struct pid_namespace *ns ;
1227   struct hlist_node pid_chain ;
1228};
1229#line 57 "include/linux/pid.h"
1230struct pid {
1231   atomic_t count ;
1232   unsigned int level ;
1233   struct hlist_head tasks[3] ;
1234   struct rcu_head rcu ;
1235   struct upid numbers[1] ;
1236};
1237#line 69 "include/linux/pid.h"
1238struct pid_link {
1239   struct hlist_node node ;
1240   struct pid *pid ;
1241};
1242#line 100
1243struct pid_namespace;
1244#line 60 "include/linux/pageblock-flags.h"
1245struct page;
1246#line 9 "include/linux/memory_hotplug.h"
1247struct page;
1248#line 994 "include/linux/mmzone.h"
1249struct page;
1250#line 18 "include/linux/percpu_counter.h"
1251struct percpu_counter {
1252   raw_spinlock_t lock ;
1253   s64 count ;
1254   struct list_head list ;
1255   s32 *counters ;
1256};
1257#line 50 "include/linux/proportions.h"
1258struct prop_local_percpu {
1259   struct percpu_counter events ;
1260   int shift ;
1261   unsigned long period ;
1262   raw_spinlock_t lock ;
1263};
1264#line 10 "include/linux/seccomp.h"
1265struct __anonstruct_seccomp_t_163 {
1266   int mode ;
1267};
1268#line 10 "include/linux/seccomp.h"
1269typedef struct __anonstruct_seccomp_t_163 seccomp_t;
1270#line 81 "include/linux/plist.h"
1271struct plist_head {
1272   struct list_head node_list ;
1273};
1274#line 85 "include/linux/plist.h"
1275struct plist_node {
1276   int prio ;
1277   struct list_head prio_list ;
1278   struct list_head node_list ;
1279};
1280#line 40 "include/linux/rtmutex.h"
1281struct rt_mutex_waiter;
1282#line 40
1283struct rt_mutex_waiter;
1284#line 42 "include/linux/resource.h"
1285struct rlimit {
1286   unsigned long rlim_cur ;
1287   unsigned long rlim_max ;
1288};
1289#line 81
1290struct task_struct;
1291#line 8 "include/linux/timerqueue.h"
1292struct timerqueue_node {
1293   struct rb_node node ;
1294   ktime_t expires ;
1295};
1296#line 13 "include/linux/timerqueue.h"
1297struct timerqueue_head {
1298   struct rb_root head ;
1299   struct timerqueue_node *next ;
1300};
1301#line 27 "include/linux/hrtimer.h"
1302struct hrtimer_clock_base;
1303#line 27
1304struct hrtimer_clock_base;
1305#line 28
1306struct hrtimer_cpu_base;
1307#line 28
1308struct hrtimer_cpu_base;
1309#line 44
1310enum hrtimer_restart {
1311    HRTIMER_NORESTART = 0,
1312    HRTIMER_RESTART = 1
1313} ;
1314#line 108 "include/linux/hrtimer.h"
1315struct hrtimer {
1316   struct timerqueue_node node ;
1317   ktime_t _softexpires ;
1318   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1319   struct hrtimer_clock_base *base ;
1320   unsigned long state ;
1321   int start_pid ;
1322   void *start_site ;
1323   char start_comm[16] ;
1324};
1325#line 145 "include/linux/hrtimer.h"
1326struct hrtimer_clock_base {
1327   struct hrtimer_cpu_base *cpu_base ;
1328   int index ;
1329   clockid_t clockid ;
1330   struct timerqueue_head active ;
1331   ktime_t resolution ;
1332   ktime_t (*get_time)(void) ;
1333   ktime_t softirq_time ;
1334   ktime_t offset ;
1335};
1336#line 178 "include/linux/hrtimer.h"
1337struct hrtimer_cpu_base {
1338   raw_spinlock_t lock ;
1339   unsigned long active_bases ;
1340   ktime_t expires_next ;
1341   int hres_active ;
1342   int hang_detected ;
1343   unsigned long nr_events ;
1344   unsigned long nr_retries ;
1345   unsigned long nr_hangs ;
1346   ktime_t max_hang_time ;
1347   struct hrtimer_clock_base clock_base[3] ;
1348};
1349#line 11 "include/linux/task_io_accounting.h"
1350struct task_io_accounting {
1351   u64 rchar ;
1352   u64 wchar ;
1353   u64 syscr ;
1354   u64 syscw ;
1355   u64 read_bytes ;
1356   u64 write_bytes ;
1357   u64 cancelled_write_bytes ;
1358};
1359#line 13 "include/linux/latencytop.h"
1360struct task_struct;
1361#line 20 "include/linux/latencytop.h"
1362struct latency_record {
1363   unsigned long backtrace[12] ;
1364   unsigned int count ;
1365   unsigned long time ;
1366   unsigned long max ;
1367};
1368#line 29 "include/linux/sysctl.h"
1369struct completion;
1370#line 939
1371struct nsproxy;
1372#line 939
1373struct nsproxy;
1374#line 29 "include/linux/key.h"
1375typedef int32_t key_serial_t;
1376#line 32 "include/linux/key.h"
1377typedef uint32_t key_perm_t;
1378#line 34
1379struct key;
1380#line 34
1381struct key;
1382#line 74
1383struct seq_file;
1384#line 75
1385struct user_struct;
1386#line 76
1387struct signal_struct;
1388#line 76
1389struct signal_struct;
1390#line 77
1391struct cred;
1392#line 77
1393struct cred;
1394#line 79
1395struct key_type;
1396#line 79
1397struct key_type;
1398#line 81
1399struct keyring_list;
1400#line 81
1401struct keyring_list;
1402#line 124
1403struct key_user;
1404#line 124 "include/linux/key.h"
1405union __anonunion____missing_field_name_220 {
1406   time_t expiry ;
1407   time_t revoked_at ;
1408};
1409#line 124 "include/linux/key.h"
1410union __anonunion_type_data_221 {
1411   struct list_head link ;
1412   unsigned long x[2] ;
1413   void *p[2] ;
1414   int reject_error ;
1415};
1416#line 124 "include/linux/key.h"
1417union __anonunion_payload_222 {
1418   unsigned long value ;
1419   void *rcudata ;
1420   void *data ;
1421   struct keyring_list *subscriptions ;
1422};
1423#line 124 "include/linux/key.h"
1424struct key {
1425   atomic_t usage ;
1426   key_serial_t serial ;
1427   struct rb_node serial_node ;
1428   struct key_type *type ;
1429   struct rw_semaphore sem ;
1430   struct key_user *user ;
1431   void *security ;
1432   union __anonunion____missing_field_name_220 __annonCompField41 ;
1433   uid_t uid ;
1434   gid_t gid ;
1435   key_perm_t perm ;
1436   unsigned short quotalen ;
1437   unsigned short datalen ;
1438   unsigned long flags ;
1439   char *description ;
1440   union __anonunion_type_data_221 type_data ;
1441   union __anonunion_payload_222 payload ;
1442};
1443#line 18 "include/linux/selinux.h"
1444struct audit_context;
1445#line 18
1446struct audit_context;
1447#line 21 "include/linux/cred.h"
1448struct user_struct;
1449#line 22
1450struct cred;
1451#line 23
1452struct inode;
1453#line 23
1454struct inode;
1455#line 31 "include/linux/cred.h"
1456struct group_info {
1457   atomic_t usage ;
1458   int ngroups ;
1459   int nblocks ;
1460   gid_t small_block[32] ;
1461   gid_t *blocks[0] ;
1462};
1463#line 83 "include/linux/cred.h"
1464struct thread_group_cred {
1465   atomic_t usage ;
1466   pid_t tgid ;
1467   spinlock_t lock ;
1468   struct key *session_keyring ;
1469   struct key *process_keyring ;
1470   struct rcu_head rcu ;
1471};
1472#line 116 "include/linux/cred.h"
1473struct cred {
1474   atomic_t usage ;
1475   atomic_t subscribers ;
1476   void *put_addr ;
1477   unsigned int magic ;
1478   uid_t uid ;
1479   gid_t gid ;
1480   uid_t suid ;
1481   gid_t sgid ;
1482   uid_t euid ;
1483   gid_t egid ;
1484   uid_t fsuid ;
1485   gid_t fsgid ;
1486   unsigned int securebits ;
1487   kernel_cap_t cap_inheritable ;
1488   kernel_cap_t cap_permitted ;
1489   kernel_cap_t cap_effective ;
1490   kernel_cap_t cap_bset ;
1491   unsigned char jit_keyring ;
1492   struct key *thread_keyring ;
1493   struct key *request_key_auth ;
1494   struct thread_group_cred *tgcred ;
1495   void *security ;
1496   struct user_struct *user ;
1497   struct user_namespace *user_ns ;
1498   struct group_info *group_info ;
1499   struct rcu_head rcu ;
1500};
1501#line 61 "include/linux/llist.h"
1502struct llist_node;
1503#line 65 "include/linux/llist.h"
1504struct llist_node {
1505   struct llist_node *next ;
1506};
1507#line 97 "include/linux/sched.h"
1508struct futex_pi_state;
1509#line 97
1510struct futex_pi_state;
1511#line 98
1512struct robust_list_head;
1513#line 98
1514struct robust_list_head;
1515#line 99
1516struct bio_list;
1517#line 99
1518struct bio_list;
1519#line 100
1520struct fs_struct;
1521#line 100
1522struct fs_struct;
1523#line 101
1524struct perf_event_context;
1525#line 101
1526struct perf_event_context;
1527#line 102
1528struct blk_plug;
1529#line 102
1530struct blk_plug;
1531#line 150
1532struct seq_file;
1533#line 151
1534struct cfs_rq;
1535#line 151
1536struct cfs_rq;
1537#line 259
1538struct task_struct;
1539#line 366
1540struct nsproxy;
1541#line 367
1542struct user_namespace;
1543#line 58 "include/linux/aio_abi.h"
1544struct io_event {
1545   __u64 data ;
1546   __u64 obj ;
1547   __s64 res ;
1548   __s64 res2 ;
1549};
1550#line 16 "include/linux/uio.h"
1551struct iovec {
1552   void *iov_base ;
1553   __kernel_size_t iov_len ;
1554};
1555#line 15 "include/linux/aio.h"
1556struct kioctx;
1557#line 15
1558struct kioctx;
1559#line 87 "include/linux/aio.h"
1560union __anonunion_ki_obj_224 {
1561   void *user ;
1562   struct task_struct *tsk ;
1563};
1564#line 87
1565struct eventfd_ctx;
1566#line 87 "include/linux/aio.h"
1567struct kiocb {
1568   struct list_head ki_run_list ;
1569   unsigned long ki_flags ;
1570   int ki_users ;
1571   unsigned int ki_key ;
1572   struct file *ki_filp ;
1573   struct kioctx *ki_ctx ;
1574   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
1575   ssize_t (*ki_retry)(struct kiocb * ) ;
1576   void (*ki_dtor)(struct kiocb * ) ;
1577   union __anonunion_ki_obj_224 ki_obj ;
1578   __u64 ki_user_data ;
1579   loff_t ki_pos ;
1580   void *private ;
1581   unsigned short ki_opcode ;
1582   size_t ki_nbytes ;
1583   char *ki_buf ;
1584   size_t ki_left ;
1585   struct iovec ki_inline_vec ;
1586   struct iovec *ki_iovec ;
1587   unsigned long ki_nr_segs ;
1588   unsigned long ki_cur_seg ;
1589   struct list_head ki_list ;
1590   struct list_head ki_batch ;
1591   struct eventfd_ctx *ki_eventfd ;
1592};
1593#line 166 "include/linux/aio.h"
1594struct aio_ring_info {
1595   unsigned long mmap_base ;
1596   unsigned long mmap_size ;
1597   struct page **ring_pages ;
1598   spinlock_t ring_lock ;
1599   long nr_pages ;
1600   unsigned int nr ;
1601   unsigned int tail ;
1602   struct page *internal_pages[8] ;
1603};
1604#line 179 "include/linux/aio.h"
1605struct kioctx {
1606   atomic_t users ;
1607   int dead ;
1608   struct mm_struct *mm ;
1609   unsigned long user_id ;
1610   struct hlist_node list ;
1611   wait_queue_head_t wait ;
1612   spinlock_t ctx_lock ;
1613   int reqs_active ;
1614   struct list_head active_reqs ;
1615   struct list_head run_list ;
1616   unsigned int max_reqs ;
1617   struct aio_ring_info ring_info ;
1618   struct delayed_work wq ;
1619   struct rcu_head rcu_head ;
1620};
1621#line 214
1622struct mm_struct;
1623#line 443 "include/linux/sched.h"
1624struct sighand_struct {
1625   atomic_t count ;
1626   struct k_sigaction action[64] ;
1627   spinlock_t siglock ;
1628   wait_queue_head_t signalfd_wqh ;
1629};
1630#line 450 "include/linux/sched.h"
1631struct pacct_struct {
1632   int ac_flag ;
1633   long ac_exitcode ;
1634   unsigned long ac_mem ;
1635   cputime_t ac_utime ;
1636   cputime_t ac_stime ;
1637   unsigned long ac_minflt ;
1638   unsigned long ac_majflt ;
1639};
1640#line 458 "include/linux/sched.h"
1641struct cpu_itimer {
1642   cputime_t expires ;
1643   cputime_t incr ;
1644   u32 error ;
1645   u32 incr_error ;
1646};
1647#line 476 "include/linux/sched.h"
1648struct task_cputime {
1649   cputime_t utime ;
1650   cputime_t stime ;
1651   unsigned long long sum_exec_runtime ;
1652};
1653#line 512 "include/linux/sched.h"
1654struct thread_group_cputimer {
1655   struct task_cputime cputime ;
1656   int running ;
1657   raw_spinlock_t lock ;
1658};
1659#line 519
1660struct autogroup;
1661#line 519
1662struct autogroup;
1663#line 528
1664struct tty_struct;
1665#line 528
1666struct taskstats;
1667#line 528
1668struct tty_audit_buf;
1669#line 528 "include/linux/sched.h"
1670struct signal_struct {
1671   atomic_t sigcnt ;
1672   atomic_t live ;
1673   int nr_threads ;
1674   wait_queue_head_t wait_chldexit ;
1675   struct task_struct *curr_target ;
1676   struct sigpending shared_pending ;
1677   int group_exit_code ;
1678   int notify_count ;
1679   struct task_struct *group_exit_task ;
1680   int group_stop_count ;
1681   unsigned int flags ;
1682   unsigned int is_child_subreaper : 1 ;
1683   unsigned int has_child_subreaper : 1 ;
1684   struct list_head posix_timers ;
1685   struct hrtimer real_timer ;
1686   struct pid *leader_pid ;
1687   ktime_t it_real_incr ;
1688   struct cpu_itimer it[2] ;
1689   struct thread_group_cputimer cputimer ;
1690   struct task_cputime cputime_expires ;
1691   struct list_head cpu_timers[3] ;
1692   struct pid *tty_old_pgrp ;
1693   int leader ;
1694   struct tty_struct *tty ;
1695   struct autogroup *autogroup ;
1696   cputime_t utime ;
1697   cputime_t stime ;
1698   cputime_t cutime ;
1699   cputime_t cstime ;
1700   cputime_t gtime ;
1701   cputime_t cgtime ;
1702   cputime_t prev_utime ;
1703   cputime_t prev_stime ;
1704   unsigned long nvcsw ;
1705   unsigned long nivcsw ;
1706   unsigned long cnvcsw ;
1707   unsigned long cnivcsw ;
1708   unsigned long min_flt ;
1709   unsigned long maj_flt ;
1710   unsigned long cmin_flt ;
1711   unsigned long cmaj_flt ;
1712   unsigned long inblock ;
1713   unsigned long oublock ;
1714   unsigned long cinblock ;
1715   unsigned long coublock ;
1716   unsigned long maxrss ;
1717   unsigned long cmaxrss ;
1718   struct task_io_accounting ioac ;
1719   unsigned long long sum_sched_runtime ;
1720   struct rlimit rlim[16] ;
1721   struct pacct_struct pacct ;
1722   struct taskstats *stats ;
1723   unsigned int audit_tty ;
1724   struct tty_audit_buf *tty_audit_buf ;
1725   struct rw_semaphore group_rwsem ;
1726   int oom_adj ;
1727   int oom_score_adj ;
1728   int oom_score_adj_min ;
1729   struct mutex cred_guard_mutex ;
1730};
1731#line 703 "include/linux/sched.h"
1732struct user_struct {
1733   atomic_t __count ;
1734   atomic_t processes ;
1735   atomic_t files ;
1736   atomic_t sigpending ;
1737   atomic_t inotify_watches ;
1738   atomic_t inotify_devs ;
1739   atomic_t fanotify_listeners ;
1740   atomic_long_t epoll_watches ;
1741   unsigned long mq_bytes ;
1742   unsigned long locked_shm ;
1743   struct key *uid_keyring ;
1744   struct key *session_keyring ;
1745   struct hlist_node uidhash_node ;
1746   uid_t uid ;
1747   struct user_namespace *user_ns ;
1748   atomic_long_t locked_vm ;
1749};
1750#line 747
1751struct backing_dev_info;
1752#line 747
1753struct backing_dev_info;
1754#line 748
1755struct reclaim_state;
1756#line 748
1757struct reclaim_state;
1758#line 751 "include/linux/sched.h"
1759struct sched_info {
1760   unsigned long pcount ;
1761   unsigned long long run_delay ;
1762   unsigned long long last_arrival ;
1763   unsigned long long last_queued ;
1764};
1765#line 763 "include/linux/sched.h"
1766struct task_delay_info {
1767   spinlock_t lock ;
1768   unsigned int flags ;
1769   struct timespec blkio_start ;
1770   struct timespec blkio_end ;
1771   u64 blkio_delay ;
1772   u64 swapin_delay ;
1773   u32 blkio_count ;
1774   u32 swapin_count ;
1775   struct timespec freepages_start ;
1776   struct timespec freepages_end ;
1777   u64 freepages_delay ;
1778   u32 freepages_count ;
1779};
1780#line 1088
1781struct io_context;
1782#line 1088
1783struct io_context;
1784#line 1097
1785struct audit_context;
1786#line 1098
1787struct mempolicy;
1788#line 1099
1789struct pipe_inode_info;
1790#line 1099
1791struct pipe_inode_info;
1792#line 1102
1793struct rq;
1794#line 1102
1795struct rq;
1796#line 1122 "include/linux/sched.h"
1797struct sched_class {
1798   struct sched_class  const  *next ;
1799   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
1800   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
1801   void (*yield_task)(struct rq *rq ) ;
1802   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
1803   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
1804   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
1805   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
1806   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
1807   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
1808   void (*post_schedule)(struct rq *this_rq ) ;
1809   void (*task_waking)(struct task_struct *task ) ;
1810   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
1811   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
1812   void (*rq_online)(struct rq *rq ) ;
1813   void (*rq_offline)(struct rq *rq ) ;
1814   void (*set_curr_task)(struct rq *rq ) ;
1815   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
1816   void (*task_fork)(struct task_struct *p ) ;
1817   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
1818   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
1819   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
1820   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
1821   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
1822};
1823#line 1167 "include/linux/sched.h"
1824struct load_weight {
1825   unsigned long weight ;
1826   unsigned long inv_weight ;
1827};
1828#line 1172 "include/linux/sched.h"
1829struct sched_statistics {
1830   u64 wait_start ;
1831   u64 wait_max ;
1832   u64 wait_count ;
1833   u64 wait_sum ;
1834   u64 iowait_count ;
1835   u64 iowait_sum ;
1836   u64 sleep_start ;
1837   u64 sleep_max ;
1838   s64 sum_sleep_runtime ;
1839   u64 block_start ;
1840   u64 block_max ;
1841   u64 exec_max ;
1842   u64 slice_max ;
1843   u64 nr_migrations_cold ;
1844   u64 nr_failed_migrations_affine ;
1845   u64 nr_failed_migrations_running ;
1846   u64 nr_failed_migrations_hot ;
1847   u64 nr_forced_migrations ;
1848   u64 nr_wakeups ;
1849   u64 nr_wakeups_sync ;
1850   u64 nr_wakeups_migrate ;
1851   u64 nr_wakeups_local ;
1852   u64 nr_wakeups_remote ;
1853   u64 nr_wakeups_affine ;
1854   u64 nr_wakeups_affine_attempts ;
1855   u64 nr_wakeups_passive ;
1856   u64 nr_wakeups_idle ;
1857};
1858#line 1207 "include/linux/sched.h"
1859struct sched_entity {
1860   struct load_weight load ;
1861   struct rb_node run_node ;
1862   struct list_head group_node ;
1863   unsigned int on_rq ;
1864   u64 exec_start ;
1865   u64 sum_exec_runtime ;
1866   u64 vruntime ;
1867   u64 prev_sum_exec_runtime ;
1868   u64 nr_migrations ;
1869   struct sched_statistics statistics ;
1870   struct sched_entity *parent ;
1871   struct cfs_rq *cfs_rq ;
1872   struct cfs_rq *my_q ;
1873};
1874#line 1233
1875struct rt_rq;
1876#line 1233 "include/linux/sched.h"
1877struct sched_rt_entity {
1878   struct list_head run_list ;
1879   unsigned long timeout ;
1880   unsigned int time_slice ;
1881   int nr_cpus_allowed ;
1882   struct sched_rt_entity *back ;
1883   struct sched_rt_entity *parent ;
1884   struct rt_rq *rt_rq ;
1885   struct rt_rq *my_q ;
1886};
1887#line 1264
1888struct files_struct;
1889#line 1264
1890struct css_set;
1891#line 1264
1892struct compat_robust_list_head;
1893#line 1264
1894struct mem_cgroup;
1895#line 1264 "include/linux/sched.h"
1896struct memcg_batch_info {
1897   int do_batch ;
1898   struct mem_cgroup *memcg ;
1899   unsigned long nr_pages ;
1900   unsigned long memsw_nr_pages ;
1901};
1902#line 1264 "include/linux/sched.h"
1903struct task_struct {
1904   long volatile   state ;
1905   void *stack ;
1906   atomic_t usage ;
1907   unsigned int flags ;
1908   unsigned int ptrace ;
1909   struct llist_node wake_entry ;
1910   int on_cpu ;
1911   int on_rq ;
1912   int prio ;
1913   int static_prio ;
1914   int normal_prio ;
1915   unsigned int rt_priority ;
1916   struct sched_class  const  *sched_class ;
1917   struct sched_entity se ;
1918   struct sched_rt_entity rt ;
1919   struct hlist_head preempt_notifiers ;
1920   unsigned char fpu_counter ;
1921   unsigned int policy ;
1922   cpumask_t cpus_allowed ;
1923   struct sched_info sched_info ;
1924   struct list_head tasks ;
1925   struct plist_node pushable_tasks ;
1926   struct mm_struct *mm ;
1927   struct mm_struct *active_mm ;
1928   unsigned int brk_randomized : 1 ;
1929   int exit_state ;
1930   int exit_code ;
1931   int exit_signal ;
1932   int pdeath_signal ;
1933   unsigned int jobctl ;
1934   unsigned int personality ;
1935   unsigned int did_exec : 1 ;
1936   unsigned int in_execve : 1 ;
1937   unsigned int in_iowait : 1 ;
1938   unsigned int sched_reset_on_fork : 1 ;
1939   unsigned int sched_contributes_to_load : 1 ;
1940   unsigned int irq_thread : 1 ;
1941   pid_t pid ;
1942   pid_t tgid ;
1943   unsigned long stack_canary ;
1944   struct task_struct *real_parent ;
1945   struct task_struct *parent ;
1946   struct list_head children ;
1947   struct list_head sibling ;
1948   struct task_struct *group_leader ;
1949   struct list_head ptraced ;
1950   struct list_head ptrace_entry ;
1951   struct pid_link pids[3] ;
1952   struct list_head thread_group ;
1953   struct completion *vfork_done ;
1954   int *set_child_tid ;
1955   int *clear_child_tid ;
1956   cputime_t utime ;
1957   cputime_t stime ;
1958   cputime_t utimescaled ;
1959   cputime_t stimescaled ;
1960   cputime_t gtime ;
1961   cputime_t prev_utime ;
1962   cputime_t prev_stime ;
1963   unsigned long nvcsw ;
1964   unsigned long nivcsw ;
1965   struct timespec start_time ;
1966   struct timespec real_start_time ;
1967   unsigned long min_flt ;
1968   unsigned long maj_flt ;
1969   struct task_cputime cputime_expires ;
1970   struct list_head cpu_timers[3] ;
1971   struct cred  const  *real_cred ;
1972   struct cred  const  *cred ;
1973   struct cred *replacement_session_keyring ;
1974   char comm[16] ;
1975   int link_count ;
1976   int total_link_count ;
1977   struct sysv_sem sysvsem ;
1978   unsigned long last_switch_count ;
1979   struct thread_struct thread ;
1980   struct fs_struct *fs ;
1981   struct files_struct *files ;
1982   struct nsproxy *nsproxy ;
1983   struct signal_struct *signal ;
1984   struct sighand_struct *sighand ;
1985   sigset_t blocked ;
1986   sigset_t real_blocked ;
1987   sigset_t saved_sigmask ;
1988   struct sigpending pending ;
1989   unsigned long sas_ss_sp ;
1990   size_t sas_ss_size ;
1991   int (*notifier)(void *priv ) ;
1992   void *notifier_data ;
1993   sigset_t *notifier_mask ;
1994   struct audit_context *audit_context ;
1995   uid_t loginuid ;
1996   unsigned int sessionid ;
1997   seccomp_t seccomp ;
1998   u32 parent_exec_id ;
1999   u32 self_exec_id ;
2000   spinlock_t alloc_lock ;
2001   raw_spinlock_t pi_lock ;
2002   struct plist_head pi_waiters ;
2003   struct rt_mutex_waiter *pi_blocked_on ;
2004   struct mutex_waiter *blocked_on ;
2005   unsigned int irq_events ;
2006   unsigned long hardirq_enable_ip ;
2007   unsigned long hardirq_disable_ip ;
2008   unsigned int hardirq_enable_event ;
2009   unsigned int hardirq_disable_event ;
2010   int hardirqs_enabled ;
2011   int hardirq_context ;
2012   unsigned long softirq_disable_ip ;
2013   unsigned long softirq_enable_ip ;
2014   unsigned int softirq_disable_event ;
2015   unsigned int softirq_enable_event ;
2016   int softirqs_enabled ;
2017   int softirq_context ;
2018   void *journal_info ;
2019   struct bio_list *bio_list ;
2020   struct blk_plug *plug ;
2021   struct reclaim_state *reclaim_state ;
2022   struct backing_dev_info *backing_dev_info ;
2023   struct io_context *io_context ;
2024   unsigned long ptrace_message ;
2025   siginfo_t *last_siginfo ;
2026   struct task_io_accounting ioac ;
2027   u64 acct_rss_mem1 ;
2028   u64 acct_vm_mem1 ;
2029   cputime_t acct_timexpd ;
2030   nodemask_t mems_allowed ;
2031   seqcount_t mems_allowed_seq ;
2032   int cpuset_mem_spread_rotor ;
2033   int cpuset_slab_spread_rotor ;
2034   struct css_set *cgroups ;
2035   struct list_head cg_list ;
2036   struct robust_list_head *robust_list ;
2037   struct compat_robust_list_head *compat_robust_list ;
2038   struct list_head pi_state_list ;
2039   struct futex_pi_state *pi_state_cache ;
2040   struct perf_event_context *perf_event_ctxp[2] ;
2041   struct mutex perf_event_mutex ;
2042   struct list_head perf_event_list ;
2043   struct mempolicy *mempolicy ;
2044   short il_next ;
2045   short pref_node_fork ;
2046   struct rcu_head rcu ;
2047   struct pipe_inode_info *splice_pipe ;
2048   struct task_delay_info *delays ;
2049   int make_it_fail ;
2050   int nr_dirtied ;
2051   int nr_dirtied_pause ;
2052   unsigned long dirty_paused_when ;
2053   int latency_record_count ;
2054   struct latency_record latency_record[32] ;
2055   unsigned long timer_slack_ns ;
2056   unsigned long default_timer_slack_ns ;
2057   struct list_head *scm_work_list ;
2058   unsigned long trace ;
2059   unsigned long trace_recursion ;
2060   struct memcg_batch_info memcg_batch ;
2061   atomic_t ptrace_bp_refcnt ;
2062};
2063#line 1681
2064struct pid_namespace;
2065#line 10 "include/linux/gfp.h"
2066struct vm_area_struct;
2067#line 20 "include/linux/kobject_ns.h"
2068struct sock;
2069#line 20
2070struct sock;
2071#line 21
2072struct kobject;
2073#line 21
2074struct kobject;
2075#line 27
2076enum kobj_ns_type {
2077    KOBJ_NS_TYPE_NONE = 0,
2078    KOBJ_NS_TYPE_NET = 1,
2079    KOBJ_NS_TYPES = 2
2080} ;
2081#line 40 "include/linux/kobject_ns.h"
2082struct kobj_ns_type_operations {
2083   enum kobj_ns_type type ;
2084   void *(*grab_current_ns)(void) ;
2085   void const   *(*netlink_ns)(struct sock *sk ) ;
2086   void const   *(*initial_ns)(void) ;
2087   void (*drop_ns)(void * ) ;
2088};
2089#line 22 "include/linux/sysfs.h"
2090struct kobject;
2091#line 23
2092struct module;
2093#line 24
2094enum kobj_ns_type;
2095#line 26 "include/linux/sysfs.h"
2096struct attribute {
2097   char const   *name ;
2098   umode_t mode ;
2099};
2100#line 56 "include/linux/sysfs.h"
2101struct attribute_group {
2102   char const   *name ;
2103   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
2104   struct attribute **attrs ;
2105};
2106#line 85
2107struct file;
2108#line 86
2109struct vm_area_struct;
2110#line 88 "include/linux/sysfs.h"
2111struct bin_attribute {
2112   struct attribute attr ;
2113   size_t size ;
2114   void *private ;
2115   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
2116                   loff_t  , size_t  ) ;
2117   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
2118                    loff_t  , size_t  ) ;
2119   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
2120};
2121#line 112 "include/linux/sysfs.h"
2122struct sysfs_ops {
2123   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
2124   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
2125   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
2126};
2127#line 118
2128struct sysfs_dirent;
2129#line 118
2130struct sysfs_dirent;
2131#line 22 "include/linux/kref.h"
2132struct kref {
2133   atomic_t refcount ;
2134};
2135#line 60 "include/linux/kobject.h"
2136struct kset;
2137#line 60
2138struct kobj_type;
2139#line 60 "include/linux/kobject.h"
2140struct kobject {
2141   char const   *name ;
2142   struct list_head entry ;
2143   struct kobject *parent ;
2144   struct kset *kset ;
2145   struct kobj_type *ktype ;
2146   struct sysfs_dirent *sd ;
2147   struct kref kref ;
2148   unsigned int state_initialized : 1 ;
2149   unsigned int state_in_sysfs : 1 ;
2150   unsigned int state_add_uevent_sent : 1 ;
2151   unsigned int state_remove_uevent_sent : 1 ;
2152   unsigned int uevent_suppress : 1 ;
2153};
2154#line 108 "include/linux/kobject.h"
2155struct kobj_type {
2156   void (*release)(struct kobject *kobj ) ;
2157   struct sysfs_ops  const  *sysfs_ops ;
2158   struct attribute **default_attrs ;
2159   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
2160   void const   *(*namespace)(struct kobject *kobj ) ;
2161};
2162#line 116 "include/linux/kobject.h"
2163struct kobj_uevent_env {
2164   char *envp[32] ;
2165   int envp_idx ;
2166   char buf[2048] ;
2167   int buflen ;
2168};
2169#line 123 "include/linux/kobject.h"
2170struct kset_uevent_ops {
2171   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
2172   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
2173   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
2174};
2175#line 140
2176struct sock;
2177#line 159 "include/linux/kobject.h"
2178struct kset {
2179   struct list_head list ;
2180   spinlock_t list_lock ;
2181   struct kobject kobj ;
2182   struct kset_uevent_ops  const  *uevent_ops ;
2183};
2184#line 46 "include/linux/slub_def.h"
2185struct kmem_cache_cpu {
2186   void **freelist ;
2187   unsigned long tid ;
2188   struct page *page ;
2189   struct page *partial ;
2190   int node ;
2191   unsigned int stat[26] ;
2192};
2193#line 57 "include/linux/slub_def.h"
2194struct kmem_cache_node {
2195   spinlock_t list_lock ;
2196   unsigned long nr_partial ;
2197   struct list_head partial ;
2198   atomic_long_t nr_slabs ;
2199   atomic_long_t total_objects ;
2200   struct list_head full ;
2201};
2202#line 73 "include/linux/slub_def.h"
2203struct kmem_cache_order_objects {
2204   unsigned long x ;
2205};
2206#line 80 "include/linux/slub_def.h"
2207struct kmem_cache {
2208   struct kmem_cache_cpu *cpu_slab ;
2209   unsigned long flags ;
2210   unsigned long min_partial ;
2211   int size ;
2212   int objsize ;
2213   int offset ;
2214   int cpu_partial ;
2215   struct kmem_cache_order_objects oo ;
2216   struct kmem_cache_order_objects max ;
2217   struct kmem_cache_order_objects min ;
2218   gfp_t allocflags ;
2219   int refcount ;
2220   void (*ctor)(void * ) ;
2221   int inuse ;
2222   int align ;
2223   int reserved ;
2224   char const   *name ;
2225   struct list_head list ;
2226   struct kobject kobj ;
2227   int remote_node_defrag_ratio ;
2228   struct kmem_cache_node *node[1 << 10] ;
2229};
2230#line 25 "include/linux/genhd.h"
2231struct device_type;
2232#line 27
2233struct class;
2234#line 19 "include/linux/klist.h"
2235struct klist_node;
2236#line 19
2237struct klist_node;
2238#line 39 "include/linux/klist.h"
2239struct klist_node {
2240   void *n_klist ;
2241   struct list_head n_node ;
2242   struct kref n_ref ;
2243};
2244#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2245struct dma_map_ops;
2246#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2247struct dev_archdata {
2248   void *acpi_handle ;
2249   struct dma_map_ops *dma_ops ;
2250   void *iommu ;
2251};
2252#line 28 "include/linux/device.h"
2253struct device;
2254#line 29
2255struct device_private;
2256#line 29
2257struct device_private;
2258#line 30
2259struct device_driver;
2260#line 30
2261struct device_driver;
2262#line 31
2263struct driver_private;
2264#line 31
2265struct driver_private;
2266#line 32
2267struct module;
2268#line 33
2269struct class;
2270#line 34
2271struct subsys_private;
2272#line 34
2273struct subsys_private;
2274#line 35
2275struct bus_type;
2276#line 35
2277struct bus_type;
2278#line 36
2279struct device_node;
2280#line 36
2281struct device_node;
2282#line 37
2283struct iommu_ops;
2284#line 37
2285struct iommu_ops;
2286#line 39 "include/linux/device.h"
2287struct bus_attribute {
2288   struct attribute attr ;
2289   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2290   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
2291};
2292#line 89
2293struct device_attribute;
2294#line 89
2295struct driver_attribute;
2296#line 89 "include/linux/device.h"
2297struct bus_type {
2298   char const   *name ;
2299   char const   *dev_name ;
2300   struct device *dev_root ;
2301   struct bus_attribute *bus_attrs ;
2302   struct device_attribute *dev_attrs ;
2303   struct driver_attribute *drv_attrs ;
2304   int (*match)(struct device *dev , struct device_driver *drv ) ;
2305   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2306   int (*probe)(struct device *dev ) ;
2307   int (*remove)(struct device *dev ) ;
2308   void (*shutdown)(struct device *dev ) ;
2309   int (*suspend)(struct device *dev , pm_message_t state ) ;
2310   int (*resume)(struct device *dev ) ;
2311   struct dev_pm_ops  const  *pm ;
2312   struct iommu_ops *iommu_ops ;
2313   struct subsys_private *p ;
2314};
2315#line 214
2316struct of_device_id;
2317#line 214 "include/linux/device.h"
2318struct device_driver {
2319   char const   *name ;
2320   struct bus_type *bus ;
2321   struct module *owner ;
2322   char const   *mod_name ;
2323   bool suppress_bind_attrs ;
2324   struct of_device_id  const  *of_match_table ;
2325   int (*probe)(struct device *dev ) ;
2326   int (*remove)(struct device *dev ) ;
2327   void (*shutdown)(struct device *dev ) ;
2328   int (*suspend)(struct device *dev , pm_message_t state ) ;
2329   int (*resume)(struct device *dev ) ;
2330   struct attribute_group  const  **groups ;
2331   struct dev_pm_ops  const  *pm ;
2332   struct driver_private *p ;
2333};
2334#line 249 "include/linux/device.h"
2335struct driver_attribute {
2336   struct attribute attr ;
2337   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2338   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
2339};
2340#line 330
2341struct class_attribute;
2342#line 330 "include/linux/device.h"
2343struct class {
2344   char const   *name ;
2345   struct module *owner ;
2346   struct class_attribute *class_attrs ;
2347   struct device_attribute *dev_attrs ;
2348   struct bin_attribute *dev_bin_attrs ;
2349   struct kobject *dev_kobj ;
2350   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2351   char *(*devnode)(struct device *dev , umode_t *mode ) ;
2352   void (*class_release)(struct class *class ) ;
2353   void (*dev_release)(struct device *dev ) ;
2354   int (*suspend)(struct device *dev , pm_message_t state ) ;
2355   int (*resume)(struct device *dev ) ;
2356   struct kobj_ns_type_operations  const  *ns_type ;
2357   void const   *(*namespace)(struct device *dev ) ;
2358   struct dev_pm_ops  const  *pm ;
2359   struct subsys_private *p ;
2360};
2361#line 397 "include/linux/device.h"
2362struct class_attribute {
2363   struct attribute attr ;
2364   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2365   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
2366                    size_t count ) ;
2367   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
2368};
2369#line 465 "include/linux/device.h"
2370struct device_type {
2371   char const   *name ;
2372   struct attribute_group  const  **groups ;
2373   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2374   char *(*devnode)(struct device *dev , umode_t *mode ) ;
2375   void (*release)(struct device *dev ) ;
2376   struct dev_pm_ops  const  *pm ;
2377};
2378#line 476 "include/linux/device.h"
2379struct device_attribute {
2380   struct attribute attr ;
2381   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2382   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
2383                    size_t count ) ;
2384};
2385#line 559 "include/linux/device.h"
2386struct device_dma_parameters {
2387   unsigned int max_segment_size ;
2388   unsigned long segment_boundary_mask ;
2389};
2390#line 627
2391struct dma_coherent_mem;
2392#line 627 "include/linux/device.h"
2393struct device {
2394   struct device *parent ;
2395   struct device_private *p ;
2396   struct kobject kobj ;
2397   char const   *init_name ;
2398   struct device_type  const  *type ;
2399   struct mutex mutex ;
2400   struct bus_type *bus ;
2401   struct device_driver *driver ;
2402   void *platform_data ;
2403   struct dev_pm_info power ;
2404   struct dev_pm_domain *pm_domain ;
2405   int numa_node ;
2406   u64 *dma_mask ;
2407   u64 coherent_dma_mask ;
2408   struct device_dma_parameters *dma_parms ;
2409   struct list_head dma_pools ;
2410   struct dma_coherent_mem *dma_mem ;
2411   struct dev_archdata archdata ;
2412   struct device_node *of_node ;
2413   dev_t devt ;
2414   u32 id ;
2415   spinlock_t devres_lock ;
2416   struct list_head devres_head ;
2417   struct klist_node knode_class ;
2418   struct class *class ;
2419   struct attribute_group  const  **groups ;
2420   void (*release)(struct device *dev ) ;
2421};
2422#line 43 "include/linux/pm_wakeup.h"
2423struct wakeup_source {
2424   char const   *name ;
2425   struct list_head entry ;
2426   spinlock_t lock ;
2427   struct timer_list timer ;
2428   unsigned long timer_expires ;
2429   ktime_t total_time ;
2430   ktime_t max_time ;
2431   ktime_t last_time ;
2432   unsigned long event_count ;
2433   unsigned long active_count ;
2434   unsigned long relax_count ;
2435   unsigned long hit_count ;
2436   unsigned int active : 1 ;
2437};
2438#line 13 "include/linux/blk_types.h"
2439struct bio;
2440#line 13
2441struct bio;
2442#line 14
2443struct bio_integrity_payload;
2444#line 14
2445struct bio_integrity_payload;
2446#line 15
2447struct page;
2448#line 16
2449struct block_device;
2450#line 16
2451struct block_device;
2452#line 17 "include/linux/blk_types.h"
2453typedef void bio_end_io_t(struct bio * , int  );
2454#line 18 "include/linux/blk_types.h"
2455typedef void bio_destructor_t(struct bio * );
2456#line 23 "include/linux/blk_types.h"
2457struct bio_vec {
2458   struct page *bv_page ;
2459   unsigned int bv_len ;
2460   unsigned int bv_offset ;
2461};
2462#line 33 "include/linux/blk_types.h"
2463struct bio {
2464   sector_t bi_sector ;
2465   struct bio *bi_next ;
2466   struct block_device *bi_bdev ;
2467   unsigned long bi_flags ;
2468   unsigned long bi_rw ;
2469   unsigned short bi_vcnt ;
2470   unsigned short bi_idx ;
2471   unsigned int bi_phys_segments ;
2472   unsigned int bi_size ;
2473   unsigned int bi_seg_front_size ;
2474   unsigned int bi_seg_back_size ;
2475   unsigned int bi_max_vecs ;
2476   atomic_t bi_cnt ;
2477   struct bio_vec *bi_io_vec ;
2478   bio_end_io_t *bi_end_io ;
2479   void *bi_private ;
2480   struct bio_integrity_payload *bi_integrity ;
2481   bio_destructor_t *bi_destructor ;
2482   struct bio_vec bi_inline_vecs[0] ;
2483};
2484#line 33 "include/linux/list_bl.h"
2485struct hlist_bl_node;
2486#line 33 "include/linux/list_bl.h"
2487struct hlist_bl_head {
2488   struct hlist_bl_node *first ;
2489};
2490#line 37 "include/linux/list_bl.h"
2491struct hlist_bl_node {
2492   struct hlist_bl_node *next ;
2493   struct hlist_bl_node **pprev ;
2494};
2495#line 13 "include/linux/dcache.h"
2496struct nameidata;
2497#line 13
2498struct nameidata;
2499#line 14
2500struct path;
2501#line 14
2502struct path;
2503#line 15
2504struct vfsmount;
2505#line 15
2506struct vfsmount;
2507#line 35 "include/linux/dcache.h"
2508struct qstr {
2509   unsigned int hash ;
2510   unsigned int len ;
2511   unsigned char const   *name ;
2512};
2513#line 88
2514struct dentry_operations;
2515#line 88
2516struct super_block;
2517#line 88 "include/linux/dcache.h"
2518union __anonunion_d_u_227 {
2519   struct list_head d_child ;
2520   struct rcu_head d_rcu ;
2521};
2522#line 88 "include/linux/dcache.h"
2523struct dentry {
2524   unsigned int d_flags ;
2525   seqcount_t d_seq ;
2526   struct hlist_bl_node d_hash ;
2527   struct dentry *d_parent ;
2528   struct qstr d_name ;
2529   struct inode *d_inode ;
2530   unsigned char d_iname[32] ;
2531   unsigned int d_count ;
2532   spinlock_t d_lock ;
2533   struct dentry_operations  const  *d_op ;
2534   struct super_block *d_sb ;
2535   unsigned long d_time ;
2536   void *d_fsdata ;
2537   struct list_head d_lru ;
2538   union __anonunion_d_u_227 d_u ;
2539   struct list_head d_subdirs ;
2540   struct list_head d_alias ;
2541};
2542#line 131 "include/linux/dcache.h"
2543struct dentry_operations {
2544   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2545   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
2546   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
2547                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
2548   int (*d_delete)(struct dentry  const  * ) ;
2549   void (*d_release)(struct dentry * ) ;
2550   void (*d_prune)(struct dentry * ) ;
2551   void (*d_iput)(struct dentry * , struct inode * ) ;
2552   char *(*d_dname)(struct dentry * , char * , int  ) ;
2553   struct vfsmount *(*d_automount)(struct path * ) ;
2554   int (*d_manage)(struct dentry * , bool  ) ;
2555} __attribute__((__aligned__((1) <<  (6) ))) ;
2556#line 4 "include/linux/path.h"
2557struct dentry;
2558#line 5
2559struct vfsmount;
2560#line 7 "include/linux/path.h"
2561struct path {
2562   struct vfsmount *mnt ;
2563   struct dentry *dentry ;
2564};
2565#line 62 "include/linux/stat.h"
2566struct kstat {
2567   u64 ino ;
2568   dev_t dev ;
2569   umode_t mode ;
2570   unsigned int nlink ;
2571   uid_t uid ;
2572   gid_t gid ;
2573   dev_t rdev ;
2574   loff_t size ;
2575   struct timespec atime ;
2576   struct timespec mtime ;
2577   struct timespec ctime ;
2578   unsigned long blksize ;
2579   unsigned long long blocks ;
2580};
2581#line 64 "include/linux/radix-tree.h"
2582struct radix_tree_node;
2583#line 64 "include/linux/radix-tree.h"
2584struct radix_tree_root {
2585   unsigned int height ;
2586   gfp_t gfp_mask ;
2587   struct radix_tree_node *rnode ;
2588};
2589#line 16 "include/linux/fiemap.h"
2590struct fiemap_extent {
2591   __u64 fe_logical ;
2592   __u64 fe_physical ;
2593   __u64 fe_length ;
2594   __u64 fe_reserved64[2] ;
2595   __u32 fe_flags ;
2596   __u32 fe_reserved[3] ;
2597};
2598#line 8 "include/linux/shrinker.h"
2599struct shrink_control {
2600   gfp_t gfp_mask ;
2601   unsigned long nr_to_scan ;
2602};
2603#line 31 "include/linux/shrinker.h"
2604struct shrinker {
2605   int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
2606   int seeks ;
2607   long batch ;
2608   struct list_head list ;
2609   atomic_long_t nr_in_batch ;
2610};
2611#line 10 "include/linux/migrate_mode.h"
2612enum migrate_mode {
2613    MIGRATE_ASYNC = 0,
2614    MIGRATE_SYNC_LIGHT = 1,
2615    MIGRATE_SYNC = 2
2616} ;
2617#line 408 "include/linux/fs.h"
2618struct export_operations;
2619#line 408
2620struct export_operations;
2621#line 409
2622struct hd_geometry;
2623#line 409
2624struct hd_geometry;
2625#line 410
2626struct iovec;
2627#line 411
2628struct nameidata;
2629#line 412
2630struct kiocb;
2631#line 413
2632struct kobject;
2633#line 414
2634struct pipe_inode_info;
2635#line 415
2636struct poll_table_struct;
2637#line 415
2638struct poll_table_struct;
2639#line 416
2640struct kstatfs;
2641#line 416
2642struct kstatfs;
2643#line 417
2644struct vm_area_struct;
2645#line 418
2646struct vfsmount;
2647#line 419
2648struct cred;
2649#line 469 "include/linux/fs.h"
2650struct iattr {
2651   unsigned int ia_valid ;
2652   umode_t ia_mode ;
2653   uid_t ia_uid ;
2654   gid_t ia_gid ;
2655   loff_t ia_size ;
2656   struct timespec ia_atime ;
2657   struct timespec ia_mtime ;
2658   struct timespec ia_ctime ;
2659   struct file *ia_file ;
2660};
2661#line 129 "include/linux/quota.h"
2662struct if_dqinfo {
2663   __u64 dqi_bgrace ;
2664   __u64 dqi_igrace ;
2665   __u32 dqi_flags ;
2666   __u32 dqi_valid ;
2667};
2668#line 50 "include/linux/dqblk_xfs.h"
2669struct fs_disk_quota {
2670   __s8 d_version ;
2671   __s8 d_flags ;
2672   __u16 d_fieldmask ;
2673   __u32 d_id ;
2674   __u64 d_blk_hardlimit ;
2675   __u64 d_blk_softlimit ;
2676   __u64 d_ino_hardlimit ;
2677   __u64 d_ino_softlimit ;
2678   __u64 d_bcount ;
2679   __u64 d_icount ;
2680   __s32 d_itimer ;
2681   __s32 d_btimer ;
2682   __u16 d_iwarns ;
2683   __u16 d_bwarns ;
2684   __s32 d_padding2 ;
2685   __u64 d_rtb_hardlimit ;
2686   __u64 d_rtb_softlimit ;
2687   __u64 d_rtbcount ;
2688   __s32 d_rtbtimer ;
2689   __u16 d_rtbwarns ;
2690   __s16 d_padding3 ;
2691   char d_padding4[8] ;
2692};
2693#line 146 "include/linux/dqblk_xfs.h"
2694struct fs_qfilestat {
2695   __u64 qfs_ino ;
2696   __u64 qfs_nblks ;
2697   __u32 qfs_nextents ;
2698};
2699#line 146 "include/linux/dqblk_xfs.h"
2700typedef struct fs_qfilestat fs_qfilestat_t;
2701#line 152 "include/linux/dqblk_xfs.h"
2702struct fs_quota_stat {
2703   __s8 qs_version ;
2704   __u16 qs_flags ;
2705   __s8 qs_pad ;
2706   fs_qfilestat_t qs_uquota ;
2707   fs_qfilestat_t qs_gquota ;
2708   __u32 qs_incoredqs ;
2709   __s32 qs_btimelimit ;
2710   __s32 qs_itimelimit ;
2711   __s32 qs_rtbtimelimit ;
2712   __u16 qs_bwarnlimit ;
2713   __u16 qs_iwarnlimit ;
2714};
2715#line 17 "include/linux/dqblk_qtree.h"
2716struct dquot;
2717#line 17
2718struct dquot;
2719#line 185 "include/linux/quota.h"
2720typedef __kernel_uid32_t qid_t;
2721#line 186 "include/linux/quota.h"
2722typedef long long qsize_t;
2723#line 200 "include/linux/quota.h"
2724struct mem_dqblk {
2725   qsize_t dqb_bhardlimit ;
2726   qsize_t dqb_bsoftlimit ;
2727   qsize_t dqb_curspace ;
2728   qsize_t dqb_rsvspace ;
2729   qsize_t dqb_ihardlimit ;
2730   qsize_t dqb_isoftlimit ;
2731   qsize_t dqb_curinodes ;
2732   time_t dqb_btime ;
2733   time_t dqb_itime ;
2734};
2735#line 215
2736struct quota_format_type;
2737#line 215
2738struct quota_format_type;
2739#line 217 "include/linux/quota.h"
2740struct mem_dqinfo {
2741   struct quota_format_type *dqi_format ;
2742   int dqi_fmt_id ;
2743   struct list_head dqi_dirty_list ;
2744   unsigned long dqi_flags ;
2745   unsigned int dqi_bgrace ;
2746   unsigned int dqi_igrace ;
2747   qsize_t dqi_maxblimit ;
2748   qsize_t dqi_maxilimit ;
2749   void *dqi_priv ;
2750};
2751#line 230
2752struct super_block;
2753#line 288 "include/linux/quota.h"
2754struct dquot {
2755   struct hlist_node dq_hash ;
2756   struct list_head dq_inuse ;
2757   struct list_head dq_free ;
2758   struct list_head dq_dirty ;
2759   struct mutex dq_lock ;
2760   atomic_t dq_count ;
2761   wait_queue_head_t dq_wait_unused ;
2762   struct super_block *dq_sb ;
2763   unsigned int dq_id ;
2764   loff_t dq_off ;
2765   unsigned long dq_flags ;
2766   short dq_type ;
2767   struct mem_dqblk dq_dqb ;
2768};
2769#line 305 "include/linux/quota.h"
2770struct quota_format_ops {
2771   int (*check_quota_file)(struct super_block *sb , int type ) ;
2772   int (*read_file_info)(struct super_block *sb , int type ) ;
2773   int (*write_file_info)(struct super_block *sb , int type ) ;
2774   int (*free_file_info)(struct super_block *sb , int type ) ;
2775   int (*read_dqblk)(struct dquot *dquot ) ;
2776   int (*commit_dqblk)(struct dquot *dquot ) ;
2777   int (*release_dqblk)(struct dquot *dquot ) ;
2778};
2779#line 316 "include/linux/quota.h"
2780struct dquot_operations {
2781   int (*write_dquot)(struct dquot * ) ;
2782   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2783   void (*destroy_dquot)(struct dquot * ) ;
2784   int (*acquire_dquot)(struct dquot * ) ;
2785   int (*release_dquot)(struct dquot * ) ;
2786   int (*mark_dirty)(struct dquot * ) ;
2787   int (*write_info)(struct super_block * , int  ) ;
2788   qsize_t *(*get_reserved_space)(struct inode * ) ;
2789};
2790#line 329
2791struct path;
2792#line 332 "include/linux/quota.h"
2793struct quotactl_ops {
2794   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
2795   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
2796   int (*quota_off)(struct super_block * , int  ) ;
2797   int (*quota_sync)(struct super_block * , int  , int  ) ;
2798   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2799   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2800   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2801   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2802   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2803   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
2804};
2805#line 345 "include/linux/quota.h"
2806struct quota_format_type {
2807   int qf_fmt_id ;
2808   struct quota_format_ops  const  *qf_ops ;
2809   struct module *qf_owner ;
2810   struct quota_format_type *qf_next ;
2811};
2812#line 399 "include/linux/quota.h"
2813struct quota_info {
2814   unsigned int flags ;
2815   struct mutex dqio_mutex ;
2816   struct mutex dqonoff_mutex ;
2817   struct rw_semaphore dqptr_sem ;
2818   struct inode *files[2] ;
2819   struct mem_dqinfo info[2] ;
2820   struct quota_format_ops  const  *ops[2] ;
2821};
2822#line 532 "include/linux/fs.h"
2823struct page;
2824#line 533
2825struct address_space;
2826#line 534
2827struct writeback_control;
2828#line 534
2829struct writeback_control;
2830#line 577 "include/linux/fs.h"
2831union __anonunion_arg_234 {
2832   char *buf ;
2833   void *data ;
2834};
2835#line 577 "include/linux/fs.h"
2836struct __anonstruct_read_descriptor_t_233 {
2837   size_t written ;
2838   size_t count ;
2839   union __anonunion_arg_234 arg ;
2840   int error ;
2841};
2842#line 577 "include/linux/fs.h"
2843typedef struct __anonstruct_read_descriptor_t_233 read_descriptor_t;
2844#line 590 "include/linux/fs.h"
2845struct address_space_operations {
2846   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
2847   int (*readpage)(struct file * , struct page * ) ;
2848   int (*writepages)(struct address_space * , struct writeback_control * ) ;
2849   int (*set_page_dirty)(struct page *page ) ;
2850   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
2851                    unsigned int nr_pages ) ;
2852   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
2853                      unsigned int len , unsigned int flags , struct page **pagep ,
2854                      void **fsdata ) ;
2855   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
2856                    unsigned int copied , struct page *page , void *fsdata ) ;
2857   sector_t (*bmap)(struct address_space * , sector_t  ) ;
2858   void (*invalidatepage)(struct page * , unsigned long  ) ;
2859   int (*releasepage)(struct page * , gfp_t  ) ;
2860   void (*freepage)(struct page * ) ;
2861   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
2862                        unsigned long nr_segs ) ;
2863   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
2864   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
2865   int (*launder_page)(struct page * ) ;
2866   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
2867   int (*error_remove_page)(struct address_space * , struct page * ) ;
2868};
2869#line 645
2870struct backing_dev_info;
2871#line 646 "include/linux/fs.h"
2872struct address_space {
2873   struct inode *host ;
2874   struct radix_tree_root page_tree ;
2875   spinlock_t tree_lock ;
2876   unsigned int i_mmap_writable ;
2877   struct prio_tree_root i_mmap ;
2878   struct list_head i_mmap_nonlinear ;
2879   struct mutex i_mmap_mutex ;
2880   unsigned long nrpages ;
2881   unsigned long writeback_index ;
2882   struct address_space_operations  const  *a_ops ;
2883   unsigned long flags ;
2884   struct backing_dev_info *backing_dev_info ;
2885   spinlock_t private_lock ;
2886   struct list_head private_list ;
2887   struct address_space *assoc_mapping ;
2888} __attribute__((__aligned__(sizeof(long )))) ;
2889#line 669
2890struct request_queue;
2891#line 669
2892struct request_queue;
2893#line 671
2894struct hd_struct;
2895#line 671
2896struct gendisk;
2897#line 671 "include/linux/fs.h"
2898struct block_device {
2899   dev_t bd_dev ;
2900   int bd_openers ;
2901   struct inode *bd_inode ;
2902   struct super_block *bd_super ;
2903   struct mutex bd_mutex ;
2904   struct list_head bd_inodes ;
2905   void *bd_claiming ;
2906   void *bd_holder ;
2907   int bd_holders ;
2908   bool bd_write_holder ;
2909   struct list_head bd_holder_disks ;
2910   struct block_device *bd_contains ;
2911   unsigned int bd_block_size ;
2912   struct hd_struct *bd_part ;
2913   unsigned int bd_part_count ;
2914   int bd_invalidated ;
2915   struct gendisk *bd_disk ;
2916   struct request_queue *bd_queue ;
2917   struct list_head bd_list ;
2918   unsigned long bd_private ;
2919   int bd_fsfreeze_count ;
2920   struct mutex bd_fsfreeze_mutex ;
2921};
2922#line 749
2923struct posix_acl;
2924#line 749
2925struct posix_acl;
2926#line 761
2927struct inode_operations;
2928#line 761 "include/linux/fs.h"
2929union __anonunion____missing_field_name_235 {
2930   unsigned int const   i_nlink ;
2931   unsigned int __i_nlink ;
2932};
2933#line 761 "include/linux/fs.h"
2934union __anonunion____missing_field_name_236 {
2935   struct list_head i_dentry ;
2936   struct rcu_head i_rcu ;
2937};
2938#line 761
2939struct file_operations;
2940#line 761
2941struct file_lock;
2942#line 761
2943struct cdev;
2944#line 761 "include/linux/fs.h"
2945union __anonunion____missing_field_name_237 {
2946   struct pipe_inode_info *i_pipe ;
2947   struct block_device *i_bdev ;
2948   struct cdev *i_cdev ;
2949};
2950#line 761 "include/linux/fs.h"
2951struct inode {
2952   umode_t i_mode ;
2953   unsigned short i_opflags ;
2954   uid_t i_uid ;
2955   gid_t i_gid ;
2956   unsigned int i_flags ;
2957   struct posix_acl *i_acl ;
2958   struct posix_acl *i_default_acl ;
2959   struct inode_operations  const  *i_op ;
2960   struct super_block *i_sb ;
2961   struct address_space *i_mapping ;
2962   void *i_security ;
2963   unsigned long i_ino ;
2964   union __anonunion____missing_field_name_235 __annonCompField43 ;
2965   dev_t i_rdev ;
2966   struct timespec i_atime ;
2967   struct timespec i_mtime ;
2968   struct timespec i_ctime ;
2969   spinlock_t i_lock ;
2970   unsigned short i_bytes ;
2971   blkcnt_t i_blocks ;
2972   loff_t i_size ;
2973   unsigned long i_state ;
2974   struct mutex i_mutex ;
2975   unsigned long dirtied_when ;
2976   struct hlist_node i_hash ;
2977   struct list_head i_wb_list ;
2978   struct list_head i_lru ;
2979   struct list_head i_sb_list ;
2980   union __anonunion____missing_field_name_236 __annonCompField44 ;
2981   atomic_t i_count ;
2982   unsigned int i_blkbits ;
2983   u64 i_version ;
2984   atomic_t i_dio_count ;
2985   atomic_t i_writecount ;
2986   struct file_operations  const  *i_fop ;
2987   struct file_lock *i_flock ;
2988   struct address_space i_data ;
2989   struct dquot *i_dquot[2] ;
2990   struct list_head i_devices ;
2991   union __anonunion____missing_field_name_237 __annonCompField45 ;
2992   __u32 i_generation ;
2993   __u32 i_fsnotify_mask ;
2994   struct hlist_head i_fsnotify_marks ;
2995   atomic_t i_readcount ;
2996   void *i_private ;
2997};
2998#line 942 "include/linux/fs.h"
2999struct fown_struct {
3000   rwlock_t lock ;
3001   struct pid *pid ;
3002   enum pid_type pid_type ;
3003   uid_t uid ;
3004   uid_t euid ;
3005   int signum ;
3006};
3007#line 953 "include/linux/fs.h"
3008struct file_ra_state {
3009   unsigned long start ;
3010   unsigned int size ;
3011   unsigned int async_size ;
3012   unsigned int ra_pages ;
3013   unsigned int mmap_miss ;
3014   loff_t prev_pos ;
3015};
3016#line 976 "include/linux/fs.h"
3017union __anonunion_f_u_238 {
3018   struct list_head fu_list ;
3019   struct rcu_head fu_rcuhead ;
3020};
3021#line 976 "include/linux/fs.h"
3022struct file {
3023   union __anonunion_f_u_238 f_u ;
3024   struct path f_path ;
3025   struct file_operations  const  *f_op ;
3026   spinlock_t f_lock ;
3027   int f_sb_list_cpu ;
3028   atomic_long_t f_count ;
3029   unsigned int f_flags ;
3030   fmode_t f_mode ;
3031   loff_t f_pos ;
3032   struct fown_struct f_owner ;
3033   struct cred  const  *f_cred ;
3034   struct file_ra_state f_ra ;
3035   u64 f_version ;
3036   void *f_security ;
3037   void *private_data ;
3038   struct list_head f_ep_links ;
3039   struct list_head f_tfile_llink ;
3040   struct address_space *f_mapping ;
3041   unsigned long f_mnt_write_state ;
3042};
3043#line 1111 "include/linux/fs.h"
3044typedef struct files_struct *fl_owner_t;
3045#line 1113 "include/linux/fs.h"
3046struct file_lock_operations {
3047   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3048   void (*fl_release_private)(struct file_lock * ) ;
3049};
3050#line 1118 "include/linux/fs.h"
3051struct lock_manager_operations {
3052   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3053   void (*lm_notify)(struct file_lock * ) ;
3054   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
3055   void (*lm_release_private)(struct file_lock * ) ;
3056   void (*lm_break)(struct file_lock * ) ;
3057   int (*lm_change)(struct file_lock ** , int  ) ;
3058};
3059#line 4 "include/linux/nfs_fs_i.h"
3060struct nlm_lockowner;
3061#line 4
3062struct nlm_lockowner;
3063#line 9 "include/linux/nfs_fs_i.h"
3064struct nfs_lock_info {
3065   u32 state ;
3066   struct nlm_lockowner *owner ;
3067   struct list_head list ;
3068};
3069#line 15
3070struct nfs4_lock_state;
3071#line 15
3072struct nfs4_lock_state;
3073#line 16 "include/linux/nfs_fs_i.h"
3074struct nfs4_lock_info {
3075   struct nfs4_lock_state *owner ;
3076};
3077#line 1138 "include/linux/fs.h"
3078struct fasync_struct;
3079#line 1138 "include/linux/fs.h"
3080struct __anonstruct_afs_240 {
3081   struct list_head link ;
3082   int state ;
3083};
3084#line 1138 "include/linux/fs.h"
3085union __anonunion_fl_u_239 {
3086   struct nfs_lock_info nfs_fl ;
3087   struct nfs4_lock_info nfs4_fl ;
3088   struct __anonstruct_afs_240 afs ;
3089};
3090#line 1138 "include/linux/fs.h"
3091struct file_lock {
3092   struct file_lock *fl_next ;
3093   struct list_head fl_link ;
3094   struct list_head fl_block ;
3095   fl_owner_t fl_owner ;
3096   unsigned int fl_flags ;
3097   unsigned char fl_type ;
3098   unsigned int fl_pid ;
3099   struct pid *fl_nspid ;
3100   wait_queue_head_t fl_wait ;
3101   struct file *fl_file ;
3102   loff_t fl_start ;
3103   loff_t fl_end ;
3104   struct fasync_struct *fl_fasync ;
3105   unsigned long fl_break_time ;
3106   unsigned long fl_downgrade_time ;
3107   struct file_lock_operations  const  *fl_ops ;
3108   struct lock_manager_operations  const  *fl_lmops ;
3109   union __anonunion_fl_u_239 fl_u ;
3110};
3111#line 1378 "include/linux/fs.h"
3112struct fasync_struct {
3113   spinlock_t fa_lock ;
3114   int magic ;
3115   int fa_fd ;
3116   struct fasync_struct *fa_next ;
3117   struct file *fa_file ;
3118   struct rcu_head fa_rcu ;
3119};
3120#line 1418
3121struct file_system_type;
3122#line 1418
3123struct super_operations;
3124#line 1418
3125struct xattr_handler;
3126#line 1418
3127struct mtd_info;
3128#line 1418 "include/linux/fs.h"
3129struct super_block {
3130   struct list_head s_list ;
3131   dev_t s_dev ;
3132   unsigned char s_dirt ;
3133   unsigned char s_blocksize_bits ;
3134   unsigned long s_blocksize ;
3135   loff_t s_maxbytes ;
3136   struct file_system_type *s_type ;
3137   struct super_operations  const  *s_op ;
3138   struct dquot_operations  const  *dq_op ;
3139   struct quotactl_ops  const  *s_qcop ;
3140   struct export_operations  const  *s_export_op ;
3141   unsigned long s_flags ;
3142   unsigned long s_magic ;
3143   struct dentry *s_root ;
3144   struct rw_semaphore s_umount ;
3145   struct mutex s_lock ;
3146   int s_count ;
3147   atomic_t s_active ;
3148   void *s_security ;
3149   struct xattr_handler  const  **s_xattr ;
3150   struct list_head s_inodes ;
3151   struct hlist_bl_head s_anon ;
3152   struct list_head *s_files ;
3153   struct list_head s_mounts ;
3154   struct list_head s_dentry_lru ;
3155   int s_nr_dentry_unused ;
3156   spinlock_t s_inode_lru_lock  __attribute__((__aligned__((1) <<  (6) ))) ;
3157   struct list_head s_inode_lru ;
3158   int s_nr_inodes_unused ;
3159   struct block_device *s_bdev ;
3160   struct backing_dev_info *s_bdi ;
3161   struct mtd_info *s_mtd ;
3162   struct hlist_node s_instances ;
3163   struct quota_info s_dquot ;
3164   int s_frozen ;
3165   wait_queue_head_t s_wait_unfrozen ;
3166   char s_id[32] ;
3167   u8 s_uuid[16] ;
3168   void *s_fs_info ;
3169   unsigned int s_max_links ;
3170   fmode_t s_mode ;
3171   u32 s_time_gran ;
3172   struct mutex s_vfs_rename_mutex ;
3173   char *s_subtype ;
3174   char *s_options ;
3175   struct dentry_operations  const  *s_d_op ;
3176   int cleancache_poolid ;
3177   struct shrinker s_shrink ;
3178   atomic_long_t s_remove_count ;
3179   int s_readonly_remount ;
3180};
3181#line 1567 "include/linux/fs.h"
3182struct fiemap_extent_info {
3183   unsigned int fi_flags ;
3184   unsigned int fi_extents_mapped ;
3185   unsigned int fi_extents_max ;
3186   struct fiemap_extent *fi_extents_start ;
3187};
3188#line 1601
3189struct block_device_operations;
3190#line 1601
3191struct block_device_operations;
3192#line 1609 "include/linux/fs.h"
3193struct file_operations {
3194   struct module *owner ;
3195   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
3196   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
3197   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
3198   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3199                       loff_t  ) ;
3200   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3201                        loff_t  ) ;
3202   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
3203                                                   loff_t  , u64  , unsigned int  ) ) ;
3204   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3205   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3206   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3207   int (*mmap)(struct file * , struct vm_area_struct * ) ;
3208   int (*open)(struct inode * , struct file * ) ;
3209   int (*flush)(struct file * , fl_owner_t id ) ;
3210   int (*release)(struct inode * , struct file * ) ;
3211   int (*fsync)(struct file * , loff_t  , loff_t  , int datasync ) ;
3212   int (*aio_fsync)(struct kiocb * , int datasync ) ;
3213   int (*fasync)(int  , struct file * , int  ) ;
3214   int (*lock)(struct file * , int  , struct file_lock * ) ;
3215   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
3216                       int  ) ;
3217   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
3218                                      unsigned long  , unsigned long  ) ;
3219   int (*check_flags)(int  ) ;
3220   int (*flock)(struct file * , int  , struct file_lock * ) ;
3221   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
3222                           unsigned int  ) ;
3223   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
3224                          unsigned int  ) ;
3225   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
3226   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
3227};
3228#line 1639 "include/linux/fs.h"
3229struct inode_operations {
3230   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3231   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3232   int (*permission)(struct inode * , int  ) ;
3233   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
3234   int (*readlink)(struct dentry * , char * , int  ) ;
3235   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3236   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
3237   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3238   int (*unlink)(struct inode * , struct dentry * ) ;
3239   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
3240   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
3241   int (*rmdir)(struct inode * , struct dentry * ) ;
3242   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
3243   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3244   void (*truncate)(struct inode * ) ;
3245   int (*setattr)(struct dentry * , struct iattr * ) ;
3246   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
3247   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
3248   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
3249   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
3250   int (*removexattr)(struct dentry * , char const   * ) ;
3251   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
3252   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
3253} __attribute__((__aligned__((1) <<  (6) ))) ;
3254#line 1669
3255struct seq_file;
3256#line 1684 "include/linux/fs.h"
3257struct super_operations {
3258   struct inode *(*alloc_inode)(struct super_block *sb ) ;
3259   void (*destroy_inode)(struct inode * ) ;
3260   void (*dirty_inode)(struct inode * , int flags ) ;
3261   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
3262   int (*drop_inode)(struct inode * ) ;
3263   void (*evict_inode)(struct inode * ) ;
3264   void (*put_super)(struct super_block * ) ;
3265   void (*write_super)(struct super_block * ) ;
3266   int (*sync_fs)(struct super_block *sb , int wait ) ;
3267   int (*freeze_fs)(struct super_block * ) ;
3268   int (*unfreeze_fs)(struct super_block * ) ;
3269   int (*statfs)(struct dentry * , struct kstatfs * ) ;
3270   int (*remount_fs)(struct super_block * , int * , char * ) ;
3271   void (*umount_begin)(struct super_block * ) ;
3272   int (*show_options)(struct seq_file * , struct dentry * ) ;
3273   int (*show_devname)(struct seq_file * , struct dentry * ) ;
3274   int (*show_path)(struct seq_file * , struct dentry * ) ;
3275   int (*show_stats)(struct seq_file * , struct dentry * ) ;
3276   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
3277   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
3278                          loff_t  ) ;
3279   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
3280   int (*nr_cached_objects)(struct super_block * ) ;
3281   void (*free_cached_objects)(struct super_block * , int  ) ;
3282};
3283#line 1835 "include/linux/fs.h"
3284struct file_system_type {
3285   char const   *name ;
3286   int fs_flags ;
3287   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
3288   void (*kill_sb)(struct super_block * ) ;
3289   struct module *owner ;
3290   struct file_system_type *next ;
3291   struct hlist_head fs_supers ;
3292   struct lock_class_key s_lock_key ;
3293   struct lock_class_key s_umount_key ;
3294   struct lock_class_key s_vfs_rename_key ;
3295   struct lock_class_key i_lock_key ;
3296   struct lock_class_key i_mutex_key ;
3297   struct lock_class_key i_mutex_dir_key ;
3298};
3299#line 82 "include/linux/genhd.h"
3300struct disk_stats {
3301   unsigned long sectors[2] ;
3302   unsigned long ios[2] ;
3303   unsigned long merges[2] ;
3304   unsigned long ticks[2] ;
3305   unsigned long io_ticks ;
3306   unsigned long time_in_queue ;
3307};
3308#line 94 "include/linux/genhd.h"
3309struct partition_meta_info {
3310   u8 uuid[16] ;
3311   u8 volname[64] ;
3312};
3313#line 99 "include/linux/genhd.h"
3314struct hd_struct {
3315   sector_t start_sect ;
3316   sector_t nr_sects ;
3317   sector_t alignment_offset ;
3318   unsigned int discard_alignment ;
3319   struct device __dev ;
3320   struct kobject *holder_dir ;
3321   int policy ;
3322   int partno ;
3323   struct partition_meta_info *info ;
3324   int make_it_fail ;
3325   unsigned long stamp ;
3326   atomic_t in_flight[2] ;
3327   struct disk_stats *dkstats ;
3328   atomic_t ref ;
3329   struct rcu_head rcu_head ;
3330};
3331#line 147 "include/linux/genhd.h"
3332struct disk_part_tbl {
3333   struct rcu_head rcu_head ;
3334   int len ;
3335   struct hd_struct *last_lookup ;
3336   struct hd_struct *part[] ;
3337};
3338#line 154
3339struct disk_events;
3340#line 154
3341struct disk_events;
3342#line 156
3343struct timer_rand_state;
3344#line 156
3345struct blk_integrity;
3346#line 156 "include/linux/genhd.h"
3347struct gendisk {
3348   int major ;
3349   int first_minor ;
3350   int minors ;
3351   char disk_name[32] ;
3352   char *(*devnode)(struct gendisk *gd , umode_t *mode ) ;
3353   unsigned int events ;
3354   unsigned int async_events ;
3355   struct disk_part_tbl *part_tbl ;
3356   struct hd_struct part0 ;
3357   struct block_device_operations  const  *fops ;
3358   struct request_queue *queue ;
3359   void *private_data ;
3360   int flags ;
3361   struct device *driverfs_dev ;
3362   struct kobject *slave_dir ;
3363   struct timer_rand_state *random ;
3364   atomic_t sync_io ;
3365   struct disk_events *ev ;
3366   struct blk_integrity *integrity ;
3367   int node_id ;
3368};
3369#line 8 "include/linux/debug_locks.h"
3370struct task_struct;
3371#line 48
3372struct task_struct;
3373#line 22 "include/linux/mm.h"
3374struct mempolicy;
3375#line 23
3376struct anon_vma;
3377#line 24
3378struct file_ra_state;
3379#line 25
3380struct user_struct;
3381#line 26
3382struct writeback_control;
3383#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
3384struct mm_struct;
3385#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
3386struct vm_area_struct;
3387#line 188 "include/linux/mm.h"
3388struct vm_fault {
3389   unsigned int flags ;
3390   unsigned long pgoff ;
3391   void *virtual_address ;
3392   struct page *page ;
3393};
3394#line 205 "include/linux/mm.h"
3395struct vm_operations_struct {
3396   void (*open)(struct vm_area_struct *area ) ;
3397   void (*close)(struct vm_area_struct *area ) ;
3398   int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
3399   int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
3400   int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
3401                 int write ) ;
3402   int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
3403   struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
3404   int (*migrate)(struct vm_area_struct *vma , nodemask_t const   *from , nodemask_t const   *to ,
3405                  unsigned long flags ) ;
3406};
3407#line 247
3408struct inode;
3409#line 195 "include/linux/page-flags.h"
3410struct page;
3411#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
3412struct exception_table_entry {
3413   unsigned long insn ;
3414   unsigned long fixup ;
3415};
3416#line 10 "include/linux/irqreturn.h"
3417enum irqreturn {
3418    IRQ_NONE = 0,
3419    IRQ_HANDLED = 1,
3420    IRQ_WAKE_THREAD = 2
3421} ;
3422#line 16 "include/linux/irqreturn.h"
3423typedef enum irqreturn irqreturn_t;
3424#line 31 "include/linux/irq.h"
3425struct seq_file;
3426#line 32
3427struct module;
3428#line 12 "include/linux/irqdesc.h"
3429struct proc_dir_entry;
3430#line 12
3431struct proc_dir_entry;
3432#line 13
3433struct timer_rand_state;
3434#line 14
3435struct module;
3436#line 16 "include/linux/profile.h"
3437struct proc_dir_entry;
3438#line 17
3439struct pt_regs;
3440#line 65
3441struct task_struct;
3442#line 66
3443struct mm_struct;
3444#line 88
3445struct pt_regs;
3446#line 132 "include/linux/hardirq.h"
3447struct task_struct;
3448#line 28 "include/linux/writeback.h"
3449struct backing_dev_info;
3450#line 33
3451enum writeback_sync_modes {
3452    WB_SYNC_NONE = 0,
3453    WB_SYNC_ALL = 1
3454} ;
3455#line 60 "include/linux/writeback.h"
3456struct writeback_control {
3457   enum writeback_sync_modes sync_mode ;
3458   long nr_to_write ;
3459   long pages_skipped ;
3460   loff_t range_start ;
3461   loff_t range_end ;
3462   unsigned int for_kupdate : 1 ;
3463   unsigned int for_background : 1 ;
3464   unsigned int tagged_writepages : 1 ;
3465   unsigned int for_reclaim : 1 ;
3466   unsigned int range_cyclic : 1 ;
3467};
3468#line 84
3469struct bdi_writeback;
3470#line 84
3471struct bdi_writeback;
3472#line 21 "include/linux/backing-dev.h"
3473struct page;
3474#line 22
3475struct device;
3476#line 23
3477struct dentry;
3478#line 38 "include/linux/backing-dev.h"
3479typedef int congested_fn(void * , int  );
3480#line 50 "include/linux/backing-dev.h"
3481struct bdi_writeback {
3482   struct backing_dev_info *bdi ;
3483   unsigned int nr ;
3484   unsigned long last_old_flush ;
3485   unsigned long last_active ;
3486   struct task_struct *task ;
3487   struct timer_list wakeup_timer ;
3488   struct list_head b_dirty ;
3489   struct list_head b_io ;
3490   struct list_head b_more_io ;
3491   spinlock_t list_lock ;
3492};
3493#line 65 "include/linux/backing-dev.h"
3494struct backing_dev_info {
3495   struct list_head bdi_list ;
3496   unsigned long ra_pages ;
3497   unsigned long state ;
3498   unsigned int capabilities ;
3499   congested_fn *congested_fn ;
3500   void *congested_data ;
3501   char *name ;
3502   struct percpu_counter bdi_stat[4] ;
3503   unsigned long bw_time_stamp ;
3504   unsigned long dirtied_stamp ;
3505   unsigned long written_stamp ;
3506   unsigned long write_bandwidth ;
3507   unsigned long avg_write_bandwidth ;
3508   unsigned long dirty_ratelimit ;
3509   unsigned long balanced_dirty_ratelimit ;
3510   struct prop_local_percpu completions ;
3511   int dirty_exceeded ;
3512   unsigned int min_ratio ;
3513   unsigned int max_ratio ;
3514   unsigned int max_prop_frac ;
3515   struct bdi_writeback wb ;
3516   spinlock_t wb_lock ;
3517   struct list_head work_list ;
3518   struct device *dev ;
3519   struct timer_list laptop_mode_wb_timer ;
3520   struct dentry *debug_dir ;
3521   struct dentry *debug_stats ;
3522};
3523#line 9 "include/linux/mempool.h"
3524struct kmem_cache;
3525#line 11 "include/linux/mempool.h"
3526typedef void *mempool_alloc_t(gfp_t gfp_mask , void *pool_data );
3527#line 12 "include/linux/mempool.h"
3528typedef void mempool_free_t(void *element , void *pool_data );
3529#line 14 "include/linux/mempool.h"
3530struct mempool_s {
3531   spinlock_t lock ;
3532   int min_nr ;
3533   int curr_nr ;
3534   void **elements ;
3535   void *pool_data ;
3536   mempool_alloc_t *alloc ;
3537   mempool_free_t *free ;
3538   wait_queue_head_t wait ;
3539};
3540#line 14 "include/linux/mempool.h"
3541typedef struct mempool_s mempool_t;
3542#line 75 "include/linux/iocontext.h"
3543union __anonunion____missing_field_name_251 {
3544   struct list_head q_node ;
3545   struct kmem_cache *__rcu_icq_cache ;
3546};
3547#line 75 "include/linux/iocontext.h"
3548union __anonunion____missing_field_name_252 {
3549   struct hlist_node ioc_node ;
3550   struct rcu_head __rcu_head ;
3551};
3552#line 75 "include/linux/iocontext.h"
3553struct io_cq {
3554   struct request_queue *q ;
3555   struct io_context *ioc ;
3556   union __anonunion____missing_field_name_251 __annonCompField46 ;
3557   union __anonunion____missing_field_name_252 __annonCompField47 ;
3558   unsigned int flags ;
3559};
3560#line 101 "include/linux/iocontext.h"
3561struct io_context {
3562   atomic_long_t refcount ;
3563   atomic_t nr_tasks ;
3564   spinlock_t lock ;
3565   unsigned short ioprio ;
3566   int nr_batch_requests ;
3567   unsigned long last_waited ;
3568   struct radix_tree_root icq_tree ;
3569   struct io_cq *icq_hint ;
3570   struct hlist_head icq_list ;
3571   struct work_struct release_work ;
3572};
3573#line 137
3574struct task_struct;
3575#line 170 "include/linux/bio.h"
3576struct bio_integrity_payload {
3577   struct bio *bip_bio ;
3578   sector_t bip_sector ;
3579   void *bip_buf ;
3580   bio_end_io_t *bip_end_io ;
3581   unsigned int bip_size ;
3582   unsigned short bip_slab ;
3583   unsigned short bip_vcnt ;
3584   unsigned short bip_idx ;
3585   struct work_struct bip_work ;
3586   struct bio_vec bip_vec[0] ;
3587};
3588#line 222
3589struct request_queue;
3590#line 374 "include/linux/bio.h"
3591struct bio_list {
3592   struct bio *head ;
3593   struct bio *tail ;
3594};
3595#line 67 "include/linux/bsg.h"
3596struct bsg_class_device {
3597   struct device *class_dev ;
3598   struct device *parent ;
3599   int minor ;
3600   struct request_queue *queue ;
3601   struct kref ref ;
3602   void (*release)(struct device * ) ;
3603};
3604#line 6 "include/asm-generic/scatterlist.h"
3605struct scatterlist {
3606   unsigned long sg_magic ;
3607   unsigned long page_link ;
3608   unsigned int offset ;
3609   unsigned int length ;
3610   dma_addr_t dma_address ;
3611   unsigned int dma_length ;
3612};
3613#line 25 "include/linux/blkdev.h"
3614struct module;
3615#line 28
3616struct request_queue;
3617#line 29
3618struct elevator_queue;
3619#line 29
3620struct elevator_queue;
3621#line 32
3622struct request;
3623#line 32
3624struct request;
3625#line 34
3626struct bsg_job;
3627#line 34
3628struct bsg_job;
3629#line 39
3630struct request;
3631#line 40 "include/linux/blkdev.h"
3632typedef void rq_end_io_fn(struct request * , int  );
3633#line 42 "include/linux/blkdev.h"
3634struct request_list {
3635   int count[2] ;
3636   int starved[2] ;
3637   int elvpriv ;
3638   mempool_t *rq_pool ;
3639   wait_queue_head_t wait[2] ;
3640};
3641#line 57
3642enum rq_cmd_type_bits {
3643    REQ_TYPE_FS = 1,
3644    REQ_TYPE_BLOCK_PC = 2,
3645    REQ_TYPE_SENSE = 3,
3646    REQ_TYPE_PM_SUSPEND = 4,
3647    REQ_TYPE_PM_RESUME = 5,
3648    REQ_TYPE_PM_SHUTDOWN = 6,
3649    REQ_TYPE_SPECIAL = 7,
3650    REQ_TYPE_ATA_TASKFILE = 8,
3651    REQ_TYPE_ATA_PC = 9
3652} ;
3653#line 81 "include/linux/blkdev.h"
3654union __anonunion____missing_field_name_255 {
3655   struct rb_node rb_node ;
3656   void *completion_data ;
3657};
3658#line 81 "include/linux/blkdev.h"
3659struct __anonstruct_elv_257 {
3660   struct io_cq *icq ;
3661   void *priv[2] ;
3662};
3663#line 81 "include/linux/blkdev.h"
3664struct __anonstruct_flush_258 {
3665   unsigned int seq ;
3666   struct list_head list ;
3667   rq_end_io_fn *saved_end_io ;
3668};
3669#line 81 "include/linux/blkdev.h"
3670union __anonunion____missing_field_name_256 {
3671   struct __anonstruct_elv_257 elv ;
3672   struct __anonstruct_flush_258 flush ;
3673};
3674#line 81 "include/linux/blkdev.h"
3675struct request {
3676   struct list_head queuelist ;
3677   struct call_single_data csd ;
3678   struct request_queue *q ;
3679   unsigned int cmd_flags ;
3680   enum rq_cmd_type_bits cmd_type ;
3681   unsigned long atomic_flags ;
3682   int cpu ;
3683   unsigned int __data_len ;
3684   sector_t __sector ;
3685   struct bio *bio ;
3686   struct bio *biotail ;
3687   struct hlist_node hash ;
3688   union __anonunion____missing_field_name_255 __annonCompField48 ;
3689   union __anonunion____missing_field_name_256 __annonCompField49 ;
3690   struct gendisk *rq_disk ;
3691   struct hd_struct *part ;
3692   unsigned long start_time ;
3693   unsigned short nr_phys_segments ;
3694   unsigned short nr_integrity_segments ;
3695   unsigned short ioprio ;
3696   int ref_count ;
3697   void *special ;
3698   char *buffer ;
3699   int tag ;
3700   int errors ;
3701   unsigned char __cmd[16] ;
3702   unsigned char *cmd ;
3703   unsigned short cmd_len ;
3704   unsigned int extra_len ;
3705   unsigned int sense_len ;
3706   unsigned int resid_len ;
3707   void *sense ;
3708   unsigned long deadline ;
3709   struct list_head timeout_list ;
3710   unsigned int timeout ;
3711   int retries ;
3712   rq_end_io_fn *end_io ;
3713   void *end_io_data ;
3714   struct request *next_rq ;
3715};
3716#line 8 "include/linux/elevator.h"
3717struct io_cq;
3718#line 10 "include/linux/elevator.h"
3719typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
3720#line 13 "include/linux/elevator.h"
3721typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
3722#line 15 "include/linux/elevator.h"
3723typedef void elevator_merged_fn(struct request_queue * , struct request * , int  );
3724#line 17 "include/linux/elevator.h"
3725typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
3726#line 19 "include/linux/elevator.h"
3727typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
3728#line 22 "include/linux/elevator.h"
3729typedef int elevator_dispatch_fn(struct request_queue * , int  );
3730#line 24 "include/linux/elevator.h"
3731typedef void elevator_add_req_fn(struct request_queue * , struct request * );
3732#line 25 "include/linux/elevator.h"
3733typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
3734#line 26 "include/linux/elevator.h"
3735typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
3736#line 27 "include/linux/elevator.h"
3737typedef int elevator_may_queue_fn(struct request_queue * , int  );
3738#line 29 "include/linux/elevator.h"
3739typedef void elevator_init_icq_fn(struct io_cq * );
3740#line 30 "include/linux/elevator.h"
3741typedef void elevator_exit_icq_fn(struct io_cq * );
3742#line 31 "include/linux/elevator.h"
3743typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t  );
3744#line 32 "include/linux/elevator.h"
3745typedef void elevator_put_req_fn(struct request * );
3746#line 33 "include/linux/elevator.h"
3747typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
3748#line 34 "include/linux/elevator.h"
3749typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
3750#line 36 "include/linux/elevator.h"
3751typedef void *elevator_init_fn(struct request_queue * );
3752#line 37 "include/linux/elevator.h"
3753typedef void elevator_exit_fn(struct elevator_queue * );
3754#line 39 "include/linux/elevator.h"
3755struct elevator_ops {
3756   elevator_merge_fn *elevator_merge_fn ;
3757   elevator_merged_fn *elevator_merged_fn ;
3758   elevator_merge_req_fn *elevator_merge_req_fn ;
3759   elevator_allow_merge_fn *elevator_allow_merge_fn ;
3760   elevator_bio_merged_fn *elevator_bio_merged_fn ;
3761   elevator_dispatch_fn *elevator_dispatch_fn ;
3762   elevator_add_req_fn *elevator_add_req_fn ;
3763   elevator_activate_req_fn *elevator_activate_req_fn ;
3764   elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
3765   elevator_completed_req_fn *elevator_completed_req_fn ;
3766   elevator_request_list_fn *elevator_former_req_fn ;
3767   elevator_request_list_fn *elevator_latter_req_fn ;
3768   elevator_init_icq_fn *elevator_init_icq_fn ;
3769   elevator_exit_icq_fn *elevator_exit_icq_fn ;
3770   elevator_set_req_fn *elevator_set_req_fn ;
3771   elevator_put_req_fn *elevator_put_req_fn ;
3772   elevator_may_queue_fn *elevator_may_queue_fn ;
3773   elevator_init_fn *elevator_init_fn ;
3774   elevator_exit_fn *elevator_exit_fn ;
3775};
3776#line 71 "include/linux/elevator.h"
3777struct elv_fs_entry {
3778   struct attribute attr ;
3779   ssize_t (*show)(struct elevator_queue * , char * ) ;
3780   ssize_t (*store)(struct elevator_queue * , char const   * , size_t  ) ;
3781};
3782#line 80 "include/linux/elevator.h"
3783struct elevator_type {
3784   struct kmem_cache *icq_cache ;
3785   struct elevator_ops ops ;
3786   size_t icq_size ;
3787   size_t icq_align ;
3788   struct elv_fs_entry *elevator_attrs ;
3789   char elevator_name[16] ;
3790   struct module *elevator_owner ;
3791   char icq_cache_name[21] ;
3792   struct list_head list ;
3793};
3794#line 101 "include/linux/elevator.h"
3795struct elevator_queue {
3796   struct elevator_type *type ;
3797   void *elevator_data ;
3798   struct kobject kobj ;
3799   struct mutex sysfs_lock ;
3800   struct hlist_head *hash ;
3801   unsigned int registered : 1 ;
3802};
3803#line 202 "include/linux/blkdev.h"
3804typedef void request_fn_proc(struct request_queue *q );
3805#line 203 "include/linux/blkdev.h"
3806typedef void make_request_fn(struct request_queue *q , struct bio *bio );
3807#line 204 "include/linux/blkdev.h"
3808typedef int prep_rq_fn(struct request_queue * , struct request * );
3809#line 205 "include/linux/blkdev.h"
3810typedef void unprep_rq_fn(struct request_queue * , struct request * );
3811#line 207
3812struct bio_vec;
3813#line 208 "include/linux/blkdev.h"
3814struct bvec_merge_data {
3815   struct block_device *bi_bdev ;
3816   sector_t bi_sector ;
3817   unsigned int bi_size ;
3818   unsigned long bi_rw ;
3819};
3820#line 214 "include/linux/blkdev.h"
3821typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
3822#line 216 "include/linux/blkdev.h"
3823typedef void softirq_done_fn(struct request * );
3824#line 217 "include/linux/blkdev.h"
3825typedef int dma_drain_needed_fn(struct request * );
3826#line 218 "include/linux/blkdev.h"
3827typedef int lld_busy_fn(struct request_queue *q );
3828#line 219 "include/linux/blkdev.h"
3829typedef int bsg_job_fn(struct bsg_job * );
3830#line 221
3831enum blk_eh_timer_return {
3832    BLK_EH_NOT_HANDLED = 0,
3833    BLK_EH_HANDLED = 1,
3834    BLK_EH_RESET_TIMER = 2
3835} ;
3836#line 227 "include/linux/blkdev.h"
3837typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
3838#line 234 "include/linux/blkdev.h"
3839struct blk_queue_tag {
3840   struct request **tag_index ;
3841   unsigned long *tag_map ;
3842   int busy ;
3843   int max_depth ;
3844   int real_max_depth ;
3845   atomic_t refcnt ;
3846};
3847#line 246 "include/linux/blkdev.h"
3848struct queue_limits {
3849   unsigned long bounce_pfn ;
3850   unsigned long seg_boundary_mask ;
3851   unsigned int max_hw_sectors ;
3852   unsigned int max_sectors ;
3853   unsigned int max_segment_size ;
3854   unsigned int physical_block_size ;
3855   unsigned int alignment_offset ;
3856   unsigned int io_min ;
3857   unsigned int io_opt ;
3858   unsigned int max_discard_sectors ;
3859   unsigned int discard_granularity ;
3860   unsigned int discard_alignment ;
3861   unsigned short logical_block_size ;
3862   unsigned short max_segments ;
3863   unsigned short max_integrity_segments ;
3864   unsigned char misaligned ;
3865   unsigned char discard_misaligned ;
3866   unsigned char cluster ;
3867   unsigned char discard_zeroes_data ;
3868};
3869#line 271 "include/linux/blkdev.h"
3870struct request_queue {
3871   struct list_head queue_head ;
3872   struct request *last_merge ;
3873   struct elevator_queue *elevator ;
3874   struct request_list rq ;
3875   request_fn_proc *request_fn ;
3876   make_request_fn *make_request_fn ;
3877   prep_rq_fn *prep_rq_fn ;
3878   unprep_rq_fn *unprep_rq_fn ;
3879   merge_bvec_fn *merge_bvec_fn ;
3880   softirq_done_fn *softirq_done_fn ;
3881   rq_timed_out_fn *rq_timed_out_fn ;
3882   dma_drain_needed_fn *dma_drain_needed ;
3883   lld_busy_fn *lld_busy_fn ;
3884   sector_t end_sector ;
3885   struct request *boundary_rq ;
3886   struct delayed_work delay_work ;
3887   struct backing_dev_info backing_dev_info ;
3888   void *queuedata ;
3889   unsigned long queue_flags ;
3890   int id ;
3891   gfp_t bounce_gfp ;
3892   spinlock_t __queue_lock ;
3893   spinlock_t *queue_lock ;
3894   struct kobject kobj ;
3895   unsigned long nr_requests ;
3896   unsigned int nr_congestion_on ;
3897   unsigned int nr_congestion_off ;
3898   unsigned int nr_batching ;
3899   unsigned int dma_drain_size ;
3900   void *dma_drain_buffer ;
3901   unsigned int dma_pad_mask ;
3902   unsigned int dma_alignment ;
3903   struct blk_queue_tag *queue_tags ;
3904   struct list_head tag_busy_list ;
3905   unsigned int nr_sorted ;
3906   unsigned int in_flight[2] ;
3907   unsigned int rq_timeout ;
3908   struct timer_list timeout ;
3909   struct list_head timeout_list ;
3910   struct list_head icq_list ;
3911   struct queue_limits limits ;
3912   unsigned int sg_timeout ;
3913   unsigned int sg_reserved_size ;
3914   int node ;
3915   unsigned int flush_flags ;
3916   unsigned int flush_not_queueable : 1 ;
3917   unsigned int flush_queue_delayed : 1 ;
3918   unsigned int flush_pending_idx : 1 ;
3919   unsigned int flush_running_idx : 1 ;
3920   unsigned long flush_pending_since ;
3921   struct list_head flush_queue[2] ;
3922   struct list_head flush_data_in_flight ;
3923   struct request flush_rq ;
3924   struct mutex sysfs_lock ;
3925   bsg_job_fn *bsg_job_fn ;
3926   int bsg_job_size ;
3927   struct bsg_class_device bsg_dev ;
3928};
3929#line 889 "include/linux/blkdev.h"
3930struct blk_plug {
3931   unsigned long magic ;
3932   struct list_head list ;
3933   struct list_head cb_list ;
3934   unsigned int should_sort ;
3935};
3936#line 1165
3937struct work_struct;
3938#line 1220 "include/linux/blkdev.h"
3939struct blk_integrity_exchg {
3940   void *prot_buf ;
3941   void *data_buf ;
3942   sector_t sector ;
3943   unsigned int data_size ;
3944   unsigned short sector_size ;
3945   char const   *disk_name ;
3946};
3947#line 1229 "include/linux/blkdev.h"
3948typedef void integrity_gen_fn(struct blk_integrity_exchg * );
3949#line 1230 "include/linux/blkdev.h"
3950typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
3951#line 1231 "include/linux/blkdev.h"
3952typedef void integrity_set_tag_fn(void * , void * , unsigned int  );
3953#line 1232 "include/linux/blkdev.h"
3954typedef void integrity_get_tag_fn(void * , void * , unsigned int  );
3955#line 1234 "include/linux/blkdev.h"
3956struct blk_integrity {
3957   integrity_gen_fn *generate_fn ;
3958   integrity_vrfy_fn *verify_fn ;
3959   integrity_set_tag_fn *set_tag_fn ;
3960   integrity_get_tag_fn *get_tag_fn ;
3961   unsigned short flags ;
3962   unsigned short tuple_size ;
3963   unsigned short sector_size ;
3964   unsigned short tag_size ;
3965   char const   *name ;
3966   struct kobject kobj ;
3967};
3968#line 1362 "include/linux/blkdev.h"
3969struct block_device_operations {
3970   int (*open)(struct block_device * , fmode_t  ) ;
3971   int (*release)(struct gendisk * , fmode_t  ) ;
3972   int (*ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
3973   int (*compat_ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
3974   int (*direct_access)(struct block_device * , sector_t  , void ** , unsigned long * ) ;
3975   unsigned int (*check_events)(struct gendisk *disk , unsigned int clearing ) ;
3976   int (*media_changed)(struct gendisk * ) ;
3977   void (*unlock_native_capacity)(struct gendisk * ) ;
3978   int (*revalidate_disk)(struct gendisk * ) ;
3979   int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
3980   void (*swap_slot_free_notify)(struct block_device * , unsigned long  ) ;
3981   struct module *owner ;
3982};
3983#line 11 "include/linux/proc_fs.h"
3984struct completion;
3985#line 12
3986struct mm_struct;
3987#line 46 "include/linux/proc_fs.h"
3988typedef int read_proc_t(char *page , char **start , off_t off , int count , int *eof ,
3989                        void *data );
3990#line 48 "include/linux/proc_fs.h"
3991typedef int write_proc_t(struct file *file , char const   *buffer , unsigned long count ,
3992                         void *data );
3993#line 51 "include/linux/proc_fs.h"
3994struct proc_dir_entry {
3995   unsigned int low_ino ;
3996   umode_t mode ;
3997   nlink_t nlink ;
3998   uid_t uid ;
3999   gid_t gid ;
4000   loff_t size ;
4001   struct inode_operations  const  *proc_iops ;
4002   struct file_operations  const  *proc_fops ;
4003   struct proc_dir_entry *next ;
4004   struct proc_dir_entry *parent ;
4005   struct proc_dir_entry *subdir ;
4006   void *data ;
4007   read_proc_t *read_proc ;
4008   write_proc_t *write_proc ;
4009   atomic_t count ;
4010   int pde_users ;
4011   struct completion *pde_unload_completion ;
4012   struct list_head pde_openers ;
4013   spinlock_t pde_unload_lock ;
4014   u8 namelen ;
4015   char name[] ;
4016};
4017#line 117
4018struct pid_namespace;
4019#line 243
4020struct nsproxy;
4021#line 187 "include/linux/interrupt.h"
4022struct device;
4023#line 695
4024struct seq_file;
4025#line 12 "include/linux/mod_devicetable.h"
4026typedef unsigned long kernel_ulong_t;
4027#line 17 "include/linux/mod_devicetable.h"
4028struct pci_device_id {
4029   __u32 vendor ;
4030   __u32 device ;
4031   __u32 subvendor ;
4032   __u32 subdevice ;
4033   __u32 class ;
4034   __u32 class_mask ;
4035   kernel_ulong_t driver_data ;
4036};
4037#line 219 "include/linux/mod_devicetable.h"
4038struct of_device_id {
4039   char name[32] ;
4040   char type[32] ;
4041   char compatible[128] ;
4042   void *data ;
4043};
4044#line 25 "include/linux/io.h"
4045struct device;
4046#line 61 "include/linux/pci.h"
4047struct hotplug_slot;
4048#line 61 "include/linux/pci.h"
4049struct pci_slot {
4050   struct pci_bus *bus ;
4051   struct list_head list ;
4052   struct hotplug_slot *hotplug ;
4053   unsigned char number ;
4054   struct kobject kobj ;
4055};
4056#line 117 "include/linux/pci.h"
4057typedef int pci_power_t;
4058#line 143 "include/linux/pci.h"
4059typedef unsigned int pci_channel_state_t;
4060#line 145
4061enum pci_channel_state {
4062    pci_channel_io_normal = 1,
4063    pci_channel_io_frozen = 2,
4064    pci_channel_io_perm_failure = 3
4065} ;
4066#line 169 "include/linux/pci.h"
4067typedef unsigned short pci_dev_flags_t;
4068#line 186 "include/linux/pci.h"
4069typedef unsigned short pci_bus_flags_t;
4070#line 230
4071struct pcie_link_state;
4072#line 230
4073struct pcie_link_state;
4074#line 231
4075struct pci_vpd;
4076#line 231
4077struct pci_vpd;
4078#line 232
4079struct pci_sriov;
4080#line 232
4081struct pci_sriov;
4082#line 233
4083struct pci_ats;
4084#line 233
4085struct pci_ats;
4086#line 238
4087struct pci_driver;
4088#line 238 "include/linux/pci.h"
4089union __anonunion____missing_field_name_267 {
4090   struct pci_sriov *sriov ;
4091   struct pci_dev *physfn ;
4092};
4093#line 238 "include/linux/pci.h"
4094struct pci_dev {
4095   struct list_head bus_list ;
4096   struct pci_bus *bus ;
4097   struct pci_bus *subordinate ;
4098   void *sysdata ;
4099   struct proc_dir_entry *procent ;
4100   struct pci_slot *slot ;
4101   unsigned int devfn ;
4102   unsigned short vendor ;
4103   unsigned short device ;
4104   unsigned short subsystem_vendor ;
4105   unsigned short subsystem_device ;
4106   unsigned int class ;
4107   u8 revision ;
4108   u8 hdr_type ;
4109   u8 pcie_cap ;
4110   u8 pcie_type : 4 ;
4111   u8 pcie_mpss : 3 ;
4112   u8 rom_base_reg ;
4113   u8 pin ;
4114   struct pci_driver *driver ;
4115   u64 dma_mask ;
4116   struct device_dma_parameters dma_parms ;
4117   pci_power_t current_state ;
4118   int pm_cap ;
4119   unsigned int pme_support : 5 ;
4120   unsigned int pme_interrupt : 1 ;
4121   unsigned int pme_poll : 1 ;
4122   unsigned int d1_support : 1 ;
4123   unsigned int d2_support : 1 ;
4124   unsigned int no_d1d2 : 1 ;
4125   unsigned int mmio_always_on : 1 ;
4126   unsigned int wakeup_prepared : 1 ;
4127   unsigned int d3_delay ;
4128   struct pcie_link_state *link_state ;
4129   pci_channel_state_t error_state ;
4130   struct device dev ;
4131   int cfg_size ;
4132   unsigned int irq ;
4133   struct resource resource[17] ;
4134   unsigned int transparent : 1 ;
4135   unsigned int multifunction : 1 ;
4136   unsigned int is_added : 1 ;
4137   unsigned int is_busmaster : 1 ;
4138   unsigned int no_msi : 1 ;
4139   unsigned int block_cfg_access : 1 ;
4140   unsigned int broken_parity_status : 1 ;
4141   unsigned int irq_reroute_variant : 2 ;
4142   unsigned int msi_enabled : 1 ;
4143   unsigned int msix_enabled : 1 ;
4144   unsigned int ari_enabled : 1 ;
4145   unsigned int is_managed : 1 ;
4146   unsigned int is_pcie : 1 ;
4147   unsigned int needs_freset : 1 ;
4148   unsigned int state_saved : 1 ;
4149   unsigned int is_physfn : 1 ;
4150   unsigned int is_virtfn : 1 ;
4151   unsigned int reset_fn : 1 ;
4152   unsigned int is_hotplug_bridge : 1 ;
4153   unsigned int __aer_firmware_first_valid : 1 ;
4154   unsigned int __aer_firmware_first : 1 ;
4155   pci_dev_flags_t dev_flags ;
4156   atomic_t enable_cnt ;
4157   u32 saved_config_space[16] ;
4158   struct hlist_head saved_cap_space ;
4159   struct bin_attribute *rom_attr ;
4160   int rom_attr_enabled ;
4161   struct bin_attribute *res_attr[17] ;
4162   struct bin_attribute *res_attr_wc[17] ;
4163   struct list_head msi_list ;
4164   struct kset *msi_kset ;
4165   struct pci_vpd *vpd ;
4166   union __anonunion____missing_field_name_267 __annonCompField50 ;
4167   struct pci_ats *ats ;
4168};
4169#line 406
4170struct pci_ops;
4171#line 406 "include/linux/pci.h"
4172struct pci_bus {
4173   struct list_head node ;
4174   struct pci_bus *parent ;
4175   struct list_head children ;
4176   struct list_head devices ;
4177   struct pci_dev *self ;
4178   struct list_head slots ;
4179   struct resource *resource[4] ;
4180   struct list_head resources ;
4181   struct pci_ops *ops ;
4182   void *sysdata ;
4183   struct proc_dir_entry *procdir ;
4184   unsigned char number ;
4185   unsigned char primary ;
4186   unsigned char secondary ;
4187   unsigned char subordinate ;
4188   unsigned char max_bus_speed ;
4189   unsigned char cur_bus_speed ;
4190   char name[48] ;
4191   unsigned short bridge_ctl ;
4192   pci_bus_flags_t bus_flags ;
4193   struct device *bridge ;
4194   struct device dev ;
4195   struct bin_attribute *legacy_io ;
4196   struct bin_attribute *legacy_mem ;
4197   unsigned int is_added : 1 ;
4198};
4199#line 472 "include/linux/pci.h"
4200struct pci_ops {
4201   int (*read)(struct pci_bus *bus , unsigned int devfn , int where , int size , u32 *val ) ;
4202   int (*write)(struct pci_bus *bus , unsigned int devfn , int where , int size ,
4203                u32 val ) ;
4204};
4205#line 491 "include/linux/pci.h"
4206struct pci_dynids {
4207   spinlock_t lock ;
4208   struct list_head list ;
4209};
4210#line 503 "include/linux/pci.h"
4211typedef unsigned int pci_ers_result_t;
4212#line 523 "include/linux/pci.h"
4213struct pci_error_handlers {
4214   pci_ers_result_t (*error_detected)(struct pci_dev *dev , enum pci_channel_state error ) ;
4215   pci_ers_result_t (*mmio_enabled)(struct pci_dev *dev ) ;
4216   pci_ers_result_t (*link_reset)(struct pci_dev *dev ) ;
4217   pci_ers_result_t (*slot_reset)(struct pci_dev *dev ) ;
4218   void (*resume)(struct pci_dev *dev ) ;
4219};
4220#line 543
4221struct module;
4222#line 544 "include/linux/pci.h"
4223struct pci_driver {
4224   struct list_head node ;
4225   char const   *name ;
4226   struct pci_device_id  const  *id_table ;
4227   int (*probe)(struct pci_dev *dev , struct pci_device_id  const  *id ) ;
4228   void (*remove)(struct pci_dev *dev ) ;
4229   int (*suspend)(struct pci_dev *dev , pm_message_t state ) ;
4230   int (*suspend_late)(struct pci_dev *dev , pm_message_t state ) ;
4231   int (*resume_early)(struct pci_dev *dev ) ;
4232   int (*resume)(struct pci_dev *dev ) ;
4233   void (*shutdown)(struct pci_dev *dev ) ;
4234   struct pci_error_handlers *err_handler ;
4235   struct device_driver driver ;
4236   struct pci_dynids dynids ;
4237};
4238#line 27 "include/linux/dma-attrs.h"
4239struct dma_attrs {
4240   unsigned long flags[((4UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
4241};
4242#line 7 "include/linux/dma-direction.h"
4243enum dma_data_direction {
4244    DMA_BIDIRECTIONAL = 0,
4245    DMA_TO_DEVICE = 1,
4246    DMA_FROM_DEVICE = 2,
4247    DMA_NONE = 3
4248} ;
4249#line 11 "include/linux/dma-mapping.h"
4250struct dma_map_ops {
4251   void *(*alloc)(struct device *dev , size_t size , dma_addr_t *dma_handle , gfp_t gfp ,
4252                  struct dma_attrs *attrs ) ;
4253   void (*free)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ,
4254                struct dma_attrs *attrs ) ;
4255   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
4256               size_t  , struct dma_attrs *attrs ) ;
4257   dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
4258                          size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
4259   void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
4260                      struct dma_attrs *attrs ) ;
4261   int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
4262                 struct dma_attrs *attrs ) ;
4263   void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
4264                    struct dma_attrs *attrs ) ;
4265   void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
4266                               enum dma_data_direction dir ) ;
4267   void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
4268                                  enum dma_data_direction dir ) ;
4269   void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
4270                           enum dma_data_direction dir ) ;
4271   void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
4272                              enum dma_data_direction dir ) ;
4273   int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
4274   int (*dma_supported)(struct device *dev , u64 mask ) ;
4275   int (*set_dma_mask)(struct device *dev , u64 mask ) ;
4276   int is_phys ;
4277};
4278#line 25 "include/linux/dma-debug.h"
4279struct device;
4280#line 26
4281struct scatterlist;
4282#line 27
4283struct bus_type;
4284#line 6 "include/linux/swiotlb.h"
4285struct device;
4286#line 7
4287struct dma_attrs;
4288#line 8
4289struct scatterlist;
4290#line 79 "include/acpi/actbl.h"
4291#pragma pack(1)
4292#line 321
4293#pragma pack()
4294#line 79 "include/acpi/actbl1.h"
4295#pragma pack(1)
4296#line 961
4297#pragma pack()
4298#line 96 "include/acpi/actbl2.h"
4299#pragma pack(1)
4300#line 1046
4301#pragma pack()
4302#line 87 "include/acpi/actbl3.h"
4303#pragma pack(1)
4304#line 550
4305#pragma pack()
4306#line 152 "include/acpi/acrestyp.h"
4307#pragma pack(1)
4308#line 588
4309#pragma pack()
4310#line 281 "include/linux/cdrom.h"
4311struct request_sense;
4312#line 697 "include/linux/cdrom.h"
4313struct request_sense {
4314   __u8 error_code : 7 ;
4315   __u8 valid : 1 ;
4316   __u8 segment_number ;
4317   __u8 sense_key : 4 ;
4318   __u8 reserved2 : 1 ;
4319   __u8 ili : 1 ;
4320   __u8 reserved1 : 2 ;
4321   __u8 information[4] ;
4322   __u8 add_sense_len ;
4323   __u8 command_info[4] ;
4324   __u8 asc ;
4325   __u8 ascq ;
4326   __u8 fruc ;
4327   __u8 sks[3] ;
4328   __u8 asb[46] ;
4329};
4330#line 44 "include/linux/ide.h"
4331struct device;
4332#line 58 "include/linux/ide.h"
4333union __anonunion____missing_field_name_285 {
4334   unsigned long error_addr ;
4335   unsigned long feature_addr ;
4336};
4337#line 58 "include/linux/ide.h"
4338union __anonunion____missing_field_name_286 {
4339   unsigned long status_addr ;
4340   unsigned long command_addr ;
4341};
4342#line 58 "include/linux/ide.h"
4343struct ide_io_ports {
4344   unsigned long data_addr ;
4345   union __anonunion____missing_field_name_285 __annonCompField51 ;
4346   unsigned long nsect_addr ;
4347   unsigned long lbal_addr ;
4348   unsigned long lbam_addr ;
4349   unsigned long lbah_addr ;
4350   unsigned long device_addr ;
4351   union __anonunion____missing_field_name_286 __annonCompField52 ;
4352   unsigned long ctl_addr ;
4353   unsigned long irq_addr ;
4354};
4355#line 170 "include/linux/ide.h"
4356typedef u8 hwif_chipset_t;
4357#line 175 "include/linux/ide.h"
4358union __anonunion____missing_field_name_289 {
4359   struct ide_io_ports io_ports ;
4360   unsigned long io_ports_array[10] ;
4361};
4362#line 175 "include/linux/ide.h"
4363struct ide_hw {
4364   union __anonunion____missing_field_name_289 __annonCompField53 ;
4365   int irq ;
4366   struct device *dev ;
4367   struct device *parent ;
4368   unsigned long config ;
4369};
4370#line 223
4371enum __anonenum_ide_startstop_t_291 {
4372    ide_stopped = 0,
4373    ide_started = 1
4374} ;
4375#line 223 "include/linux/ide.h"
4376typedef enum __anonenum_ide_startstop_t_291 ide_startstop_t;
4377#line 271 "include/linux/ide.h"
4378union __anonunion____missing_field_name_295 {
4379   u8 error ;
4380   u8 feature ;
4381};
4382#line 271 "include/linux/ide.h"
4383union __anonunion____missing_field_name_296 {
4384   u8 status ;
4385   u8 command ;
4386};
4387#line 271 "include/linux/ide.h"
4388struct ide_taskfile {
4389   u8 data ;
4390   union __anonunion____missing_field_name_295 __annonCompField54 ;
4391   u8 nsect ;
4392   u8 lbal ;
4393   u8 lbam ;
4394   u8 lbah ;
4395   u8 device ;
4396   union __anonunion____missing_field_name_296 __annonCompField55 ;
4397};
4398#line 288 "include/linux/ide.h"
4399struct __anonstruct_out_298 {
4400   u8 tf ;
4401   u8 hob ;
4402};
4403#line 288 "include/linux/ide.h"
4404struct __anonstruct_valid_297 {
4405   struct __anonstruct_out_298 out ;
4406   struct __anonstruct_out_298 in ;
4407};
4408#line 288 "include/linux/ide.h"
4409struct ide_cmd {
4410   struct ide_taskfile tf ;
4411   struct ide_taskfile hob ;
4412   struct __anonstruct_valid_297 valid ;
4413   u16 tf_flags ;
4414   u8 ftf_flags ;
4415   int protocol ;
4416   int sg_nents ;
4417   int orig_sg_nents ;
4418   int sg_dma_direction ;
4419   unsigned int nbytes ;
4420   unsigned int nleft ;
4421   unsigned int last_xfer_len ;
4422   struct scatterlist *cursg ;
4423   unsigned int cursg_ofs ;
4424   struct request *rq ;
4425};
4426#line 330 "include/linux/ide.h"
4427struct ide_atapi_pc {
4428   u8 c[12] ;
4429   int retries ;
4430   int error ;
4431   int req_xfer ;
4432   struct request *rq ;
4433   unsigned long flags ;
4434   unsigned long timeout ;
4435};
4436#line 352
4437struct ide_devset;
4438#line 352
4439struct ide_devset;
4440#line 356
4441struct ide_acpi_drive_link;
4442#line 356
4443struct ide_acpi_drive_link;
4444#line 357
4445struct ide_acpi_hwif_link;
4446#line 357
4447struct ide_acpi_hwif_link;
4448#line 360
4449struct ide_drive_s;
4450#line 360
4451struct ide_drive_s;
4452#line 362 "include/linux/ide.h"
4453struct ide_disk_ops {
4454   int (*check)(struct ide_drive_s * , char const   * ) ;
4455   int (*get_capacity)(struct ide_drive_s * ) ;
4456   void (*unlock_native_capacity)(struct ide_drive_s * ) ;
4457   void (*setup)(struct ide_drive_s * ) ;
4458   void (*flush)(struct ide_drive_s * ) ;
4459   int (*init_media)(struct ide_drive_s * , struct gendisk * ) ;
4460   int (*set_doorlock)(struct ide_drive_s * , struct gendisk * , int  ) ;
4461   ide_startstop_t (*do_request)(struct ide_drive_s * , struct request * , sector_t  ) ;
4462   int (*ioctl)(struct ide_drive_s * , struct block_device * , fmode_t  , unsigned int  ,
4463                unsigned long  ) ;
4464};
4465#line 486
4466struct ide_proc_devset;
4467#line 486
4468struct hwif_s;
4469#line 486 "include/linux/ide.h"
4470struct ide_drive_s {
4471   char name[4] ;
4472   char driver_req[10] ;
4473   struct request_queue *queue ;
4474   struct request *rq ;
4475   void *driver_data ;
4476   u16 *id ;
4477   struct proc_dir_entry *proc ;
4478   struct ide_proc_devset  const  *settings ;
4479   struct hwif_s *hwif ;
4480   struct ide_disk_ops  const  *disk_ops ;
4481   unsigned long dev_flags ;
4482   unsigned long sleep ;
4483   unsigned long timeout ;
4484   u8 special_flags ;
4485   u8 select ;
4486   u8 retry_pio ;
4487   u8 waiting_for_dma ;
4488   u8 dma ;
4489   u8 init_speed ;
4490   u8 current_speed ;
4491   u8 desired_speed ;
4492   u8 pio_mode ;
4493   u8 dma_mode ;
4494   u8 dn ;
4495   u8 acoustic ;
4496   u8 media ;
4497   u8 ready_stat ;
4498   u8 mult_count ;
4499   u8 mult_req ;
4500   u8 io_32bit ;
4501   u8 bad_wstat ;
4502   u8 head ;
4503   u8 sect ;
4504   u8 bios_head ;
4505   u8 bios_sect ;
4506   u8 pc_delay ;
4507   unsigned int bios_cyl ;
4508   unsigned int cyl ;
4509   void *drive_data ;
4510   unsigned int failures ;
4511   unsigned int max_failures ;
4512   u64 probed_capacity ;
4513   u64 capacity64 ;
4514   int lun ;
4515   int crc_count ;
4516   unsigned long debug_mask ;
4517   struct ide_acpi_drive_link *acpidata ;
4518   struct list_head list ;
4519   struct device gendev ;
4520   struct completion gendev_rel_comp ;
4521   struct ide_atapi_pc *pc ;
4522   struct ide_atapi_pc *failed_pc ;
4523   int (*pc_callback)(struct ide_drive_s * , int  ) ;
4524   ide_startstop_t (*irq_handler)(struct ide_drive_s * ) ;
4525   unsigned long atapi_flags ;
4526   struct ide_atapi_pc request_sense_pc ;
4527   bool sense_rq_armed ;
4528   struct request sense_rq ;
4529   struct request_sense sense_data ;
4530};
4531#line 577 "include/linux/ide.h"
4532typedef struct ide_drive_s ide_drive_t;
4533#line 587
4534struct ide_port_info;
4535#line 587
4536struct ide_port_info;
4537#line 589 "include/linux/ide.h"
4538struct ide_tp_ops {
4539   void (*exec_command)(struct hwif_s * , u8  ) ;
4540   u8 (*read_status)(struct hwif_s * ) ;
4541   u8 (*read_altstatus)(struct hwif_s * ) ;
4542   void (*write_devctl)(struct hwif_s * , u8  ) ;
4543   void (*dev_select)(ide_drive_t * ) ;
4544   void (*tf_load)(ide_drive_t * , struct ide_taskfile * , u8  ) ;
4545   void (*tf_read)(ide_drive_t * , struct ide_taskfile * , u8  ) ;
4546   void (*input_data)(ide_drive_t * , struct ide_cmd * , void * , unsigned int  ) ;
4547   void (*output_data)(ide_drive_t * , struct ide_cmd * , void * , unsigned int  ) ;
4548};
4549#line 625 "include/linux/ide.h"
4550struct ide_port_ops {
4551   void (*init_dev)(ide_drive_t * ) ;
4552   void (*set_pio_mode)(struct hwif_s * , ide_drive_t * ) ;
4553   void (*set_dma_mode)(struct hwif_s * , ide_drive_t * ) ;
4554   int (*reset_poll)(ide_drive_t * ) ;
4555   void (*pre_reset)(ide_drive_t * ) ;
4556   void (*resetproc)(ide_drive_t * ) ;
4557   void (*maskproc)(ide_drive_t * , int  ) ;
4558   void (*quirkproc)(ide_drive_t * ) ;
4559   void (*clear_irq)(ide_drive_t * ) ;
4560   int (*test_irq)(struct hwif_s * ) ;
4561   u8 (*mdma_filter)(ide_drive_t * ) ;
4562   u8 (*udma_filter)(ide_drive_t * ) ;
4563   u8 (*cable_detect)(struct hwif_s * ) ;
4564};
4565#line 643 "include/linux/ide.h"
4566struct ide_dma_ops {
4567   void (*dma_host_set)(struct ide_drive_s * , int  ) ;
4568   int (*dma_setup)(struct ide_drive_s * , struct ide_cmd * ) ;
4569   void (*dma_start)(struct ide_drive_s * ) ;
4570   int (*dma_end)(struct ide_drive_s * ) ;
4571   int (*dma_test_irq)(struct ide_drive_s * ) ;
4572   void (*dma_lost_irq)(struct ide_drive_s * ) ;
4573   int (*dma_check)(struct ide_drive_s * , struct ide_cmd * ) ;
4574   int (*dma_timer_expiry)(struct ide_drive_s * ) ;
4575   void (*dma_clear)(struct ide_drive_s * ) ;
4576   u8 (*dma_sff_read_status)(struct hwif_s * ) ;
4577};
4578#line 665
4579struct ide_host;
4580#line 665
4581struct ide_host;
4582#line 667 "include/linux/ide.h"
4583struct hwif_s {
4584   struct hwif_s *mate ;
4585   struct proc_dir_entry *proc ;
4586   struct ide_host *host ;
4587   char name[6] ;
4588   struct ide_io_ports io_ports ;
4589   unsigned long sata_scr[3] ;
4590   ide_drive_t *devices[3] ;
4591   unsigned long port_flags ;
4592   u8 major ;
4593   u8 index ;
4594   u8 channel ;
4595   u32 host_flags ;
4596   u8 pio_mask ;
4597   u8 ultra_mask ;
4598   u8 mwdma_mask ;
4599   u8 swdma_mask ;
4600   u8 cbl ;
4601   hwif_chipset_t chipset ;
4602   struct device *dev ;
4603   void (*rw_disk)(ide_drive_t * , struct request * ) ;
4604   struct ide_tp_ops  const  *tp_ops ;
4605   struct ide_port_ops  const  *port_ops ;
4606   struct ide_dma_ops  const  *dma_ops ;
4607   unsigned int *dmatable_cpu ;
4608   dma_addr_t dmatable_dma ;
4609   int prd_max_nents ;
4610   int prd_ent_size ;
4611   struct scatterlist *sg_table ;
4612   int sg_max_nents ;
4613   struct ide_cmd cmd ;
4614   int rqsize ;
4615   int irq ;
4616   unsigned long dma_base ;
4617   unsigned long config_data ;
4618   unsigned long select_data ;
4619   unsigned long extra_base ;
4620   unsigned int extra_ports ;
4621   unsigned int present : 1 ;
4622   unsigned int busy : 1 ;
4623   struct device gendev ;
4624   struct device *portdev ;
4625   struct completion gendev_rel_comp ;
4626   void *hwif_data ;
4627   struct ide_acpi_hwif_link *acpidata ;
4628   ide_startstop_t (*handler)(ide_drive_t * ) ;
4629   unsigned int polling : 1 ;
4630   ide_drive_t *cur_dev ;
4631   struct request *rq ;
4632   struct timer_list timer ;
4633   unsigned long poll_timeout ;
4634   int (*expiry)(ide_drive_t * ) ;
4635   int req_gen ;
4636   int req_gen_timer ;
4637   spinlock_t lock ;
4638} __attribute__((__aligned__((1) <<  (12) ))) ;
4639#line 667 "include/linux/ide.h"
4640typedef struct hwif_s ide_hwif_t;
4641#line 775 "include/linux/ide.h"
4642struct ide_host {
4643   ide_hwif_t *ports[5] ;
4644   unsigned int n_ports ;
4645   struct device *dev[2] ;
4646   int (*init_chipset)(struct pci_dev * ) ;
4647   void (*get_lock)(irqreturn_t (*)(int  , void * ) , void * ) ;
4648   void (*release_lock)(void) ;
4649   irqreturn_t (*irq_handler)(int  , void * ) ;
4650   unsigned long host_flags ;
4651   int irq_flags ;
4652   void *host_priv ;
4653   ide_hwif_t *cur_port ;
4654   unsigned long volatile   host_busy ;
4655};
4656#line 817 "include/linux/ide.h"
4657struct ide_devset {
4658   int (*get)(ide_drive_t * ) ;
4659   int (*set)(ide_drive_t * , int  ) ;
4660   unsigned int flags ;
4661};
4662#line 901 "include/linux/ide.h"
4663struct ide_proc_devset {
4664   char const   *name ;
4665   struct ide_devset  const  *setting ;
4666   int min ;
4667   int max ;
4668   int (*mulf)(ide_drive_t * ) ;
4669   int (*divf)(ide_drive_t * ) ;
4670};
4671#line 1207 "include/linux/ide.h"
4672struct ide_pci_enablebit {
4673   u8 reg ;
4674   u8 mask ;
4675   u8 val ;
4676};
4677#line 1288 "include/linux/ide.h"
4678struct ide_port_info {
4679   char *name ;
4680   int (*init_chipset)(struct pci_dev * ) ;
4681   void (*get_lock)(irqreturn_t (*)(int  , void * ) , void * ) ;
4682   void (*release_lock)(void) ;
4683   void (*init_iops)(ide_hwif_t * ) ;
4684   void (*init_hwif)(ide_hwif_t * ) ;
4685   int (*init_dma)(ide_hwif_t * , struct ide_port_info  const  * ) ;
4686   struct ide_tp_ops  const  *tp_ops ;
4687   struct ide_port_ops  const  *port_ops ;
4688   struct ide_dma_ops  const  *dma_ops ;
4689   struct ide_pci_enablebit enablebits[2] ;
4690   hwif_chipset_t chipset ;
4691   u16 max_sectors ;
4692   u32 host_flags ;
4693   int irq_flags ;
4694   u8 pio_mask ;
4695   u8 swdma_mask ;
4696   u8 mwdma_mask ;
4697   u8 udma_mask ;
4698};
4699#line 1463 "include/linux/ide.h"
4700struct ide_timing {
4701   u8 mode ;
4702   u8 setup ;
4703   u16 act8b ;
4704   u16 rec8b ;
4705   u16 cyc8b ;
4706   u16 active ;
4707   u16 recover ;
4708   u16 cycle ;
4709   u16 udma ;
4710};
4711#line 48 "include/linux/kmod.h"
4712struct cred;
4713#line 49
4714struct file;
4715#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
4716struct task_struct;
4717#line 18 "include/linux/elf.h"
4718typedef __u64 Elf64_Addr;
4719#line 19 "include/linux/elf.h"
4720typedef __u16 Elf64_Half;
4721#line 23 "include/linux/elf.h"
4722typedef __u32 Elf64_Word;
4723#line 24 "include/linux/elf.h"
4724typedef __u64 Elf64_Xword;
4725#line 194 "include/linux/elf.h"
4726struct elf64_sym {
4727   Elf64_Word st_name ;
4728   unsigned char st_info ;
4729   unsigned char st_other ;
4730   Elf64_Half st_shndx ;
4731   Elf64_Addr st_value ;
4732   Elf64_Xword st_size ;
4733};
4734#line 194 "include/linux/elf.h"
4735typedef struct elf64_sym Elf64_Sym;
4736#line 438
4737struct file;
4738#line 39 "include/linux/moduleparam.h"
4739struct kernel_param;
4740#line 39
4741struct kernel_param;
4742#line 41 "include/linux/moduleparam.h"
4743struct kernel_param_ops {
4744   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
4745   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
4746   void (*free)(void *arg ) ;
4747};
4748#line 50
4749struct kparam_string;
4750#line 50
4751struct kparam_array;
4752#line 50 "include/linux/moduleparam.h"
4753union __anonunion____missing_field_name_313 {
4754   void *arg ;
4755   struct kparam_string  const  *str ;
4756   struct kparam_array  const  *arr ;
4757};
4758#line 50 "include/linux/moduleparam.h"
4759struct kernel_param {
4760   char const   *name ;
4761   struct kernel_param_ops  const  *ops ;
4762   u16 perm ;
4763   s16 level ;
4764   union __anonunion____missing_field_name_313 __annonCompField56 ;
4765};
4766#line 63 "include/linux/moduleparam.h"
4767struct kparam_string {
4768   unsigned int maxlen ;
4769   char *string ;
4770};
4771#line 69 "include/linux/moduleparam.h"
4772struct kparam_array {
4773   unsigned int max ;
4774   unsigned int elemsize ;
4775   unsigned int *num ;
4776   struct kernel_param_ops  const  *ops ;
4777   void *elem ;
4778};
4779#line 445
4780struct module;
4781#line 80 "include/linux/jump_label.h"
4782struct module;
4783#line 143 "include/linux/jump_label.h"
4784struct static_key {
4785   atomic_t enabled ;
4786};
4787#line 22 "include/linux/tracepoint.h"
4788struct module;
4789#line 23
4790struct tracepoint;
4791#line 23
4792struct tracepoint;
4793#line 25 "include/linux/tracepoint.h"
4794struct tracepoint_func {
4795   void *func ;
4796   void *data ;
4797};
4798#line 30 "include/linux/tracepoint.h"
4799struct tracepoint {
4800   char const   *name ;
4801   struct static_key key ;
4802   void (*regfunc)(void) ;
4803   void (*unregfunc)(void) ;
4804   struct tracepoint_func *funcs ;
4805};
4806#line 19 "include/linux/export.h"
4807struct kernel_symbol {
4808   unsigned long value ;
4809   char const   *name ;
4810};
4811#line 8 "include/asm-generic/module.h"
4812struct mod_arch_specific {
4813
4814};
4815#line 35 "include/linux/module.h"
4816struct module;
4817#line 37
4818struct module_param_attrs;
4819#line 37 "include/linux/module.h"
4820struct module_kobject {
4821   struct kobject kobj ;
4822   struct module *mod ;
4823   struct kobject *drivers_dir ;
4824   struct module_param_attrs *mp ;
4825};
4826#line 44 "include/linux/module.h"
4827struct module_attribute {
4828   struct attribute attr ;
4829   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
4830   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
4831                    size_t count ) ;
4832   void (*setup)(struct module * , char const   * ) ;
4833   int (*test)(struct module * ) ;
4834   void (*free)(struct module * ) ;
4835};
4836#line 71
4837struct exception_table_entry;
4838#line 199
4839enum module_state {
4840    MODULE_STATE_LIVE = 0,
4841    MODULE_STATE_COMING = 1,
4842    MODULE_STATE_GOING = 2
4843} ;
4844#line 215 "include/linux/module.h"
4845struct module_ref {
4846   unsigned long incs ;
4847   unsigned long decs ;
4848} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
4849#line 220
4850struct module_sect_attrs;
4851#line 220
4852struct module_notes_attrs;
4853#line 220
4854struct ftrace_event_call;
4855#line 220 "include/linux/module.h"
4856struct module {
4857   enum module_state state ;
4858   struct list_head list ;
4859   char name[64UL - sizeof(unsigned long )] ;
4860   struct module_kobject mkobj ;
4861   struct module_attribute *modinfo_attrs ;
4862   char const   *version ;
4863   char const   *srcversion ;
4864   struct kobject *holders_dir ;
4865   struct kernel_symbol  const  *syms ;
4866   unsigned long const   *crcs ;
4867   unsigned int num_syms ;
4868   struct kernel_param *kp ;
4869   unsigned int num_kp ;
4870   unsigned int num_gpl_syms ;
4871   struct kernel_symbol  const  *gpl_syms ;
4872   unsigned long const   *gpl_crcs ;
4873   struct kernel_symbol  const  *unused_syms ;
4874   unsigned long const   *unused_crcs ;
4875   unsigned int num_unused_syms ;
4876   unsigned int num_unused_gpl_syms ;
4877   struct kernel_symbol  const  *unused_gpl_syms ;
4878   unsigned long const   *unused_gpl_crcs ;
4879   struct kernel_symbol  const  *gpl_future_syms ;
4880   unsigned long const   *gpl_future_crcs ;
4881   unsigned int num_gpl_future_syms ;
4882   unsigned int num_exentries ;
4883   struct exception_table_entry *extable ;
4884   int (*init)(void) ;
4885   void *module_init ;
4886   void *module_core ;
4887   unsigned int init_size ;
4888   unsigned int core_size ;
4889   unsigned int init_text_size ;
4890   unsigned int core_text_size ;
4891   unsigned int init_ro_size ;
4892   unsigned int core_ro_size ;
4893   struct mod_arch_specific arch ;
4894   unsigned int taints ;
4895   unsigned int num_bugs ;
4896   struct list_head bug_list ;
4897   struct bug_entry *bug_table ;
4898   Elf64_Sym *symtab ;
4899   Elf64_Sym *core_symtab ;
4900   unsigned int num_symtab ;
4901   unsigned int core_num_syms ;
4902   char *strtab ;
4903   char *core_strtab ;
4904   struct module_sect_attrs *sect_attrs ;
4905   struct module_notes_attrs *notes_attrs ;
4906   char *args ;
4907   void *percpu ;
4908   unsigned int percpu_size ;
4909   unsigned int num_tracepoints ;
4910   struct tracepoint * const  *tracepoints_ptrs ;
4911   unsigned int num_trace_bprintk_fmt ;
4912   char const   **trace_bprintk_fmt_start ;
4913   struct ftrace_event_call **trace_events ;
4914   unsigned int num_trace_events ;
4915   struct list_head source_list ;
4916   struct list_head target_list ;
4917   struct task_struct *waiter ;
4918   void (*exit)(void) ;
4919   struct module_ref *refptr ;
4920   ctor_fn_t *ctors ;
4921   unsigned int num_ctors ;
4922};
4923#line 1 "<compiler builtins>"
4924long __builtin_expect(long val , long res ) ;
4925#line 100 "include/linux/printk.h"
4926extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
4927#line 10 "include/asm-generic/delay.h"
4928extern void __const_udelay(unsigned long xloops ) ;
4929#line 137 "include/linux/ioport.h"
4930extern struct resource ioport_resource ;
4931#line 181
4932extern struct resource *__request_region(struct resource * , resource_size_t start ,
4933                                         resource_size_t n , char const   *name ,
4934                                         int flags ) ;
4935#line 192
4936extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
4937#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
4938extern void *memset(void *s , int c , size_t n ) ;
4939#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
4940extern struct pv_cpu_ops pv_cpu_ops ;
4941#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
4942__inline static void slow_down_io(void)  __attribute__((__no_instrument_function__)) ;
4943#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
4944__inline static void slow_down_io(void) 
4945{ unsigned long __cil_tmp1 ;
4946  void (*__cil_tmp2)(void) ;
4947
4948  {
4949  {
4950#line 351
4951  __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
4952#line 351
4953  __cil_tmp2 = *((void (**)(void))__cil_tmp1);
4954#line 351
4955  (*__cil_tmp2)();
4956  }
4957#line 357
4958  return;
4959}
4960}
4961#line 32 "include/linux/spinlock_api_smp.h"
4962extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t *lock )  __attribute__((__section__(".spinlock.text"))) ;
4963#line 42
4964extern void _raw_spin_unlock_irqrestore(raw_spinlock_t *lock , unsigned long flags )  __attribute__((__section__(".spinlock.text"))) ;
4965#line 272 "include/linux/spinlock.h"
4966__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )  __attribute__((__no_instrument_function__)) ;
4967#line 272 "include/linux/spinlock.h"
4968__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
4969{ 
4970
4971  {
4972#line 274
4973  return ((struct raw_spinlock *)lock);
4974}
4975}
4976#line 338
4977__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )  __attribute__((__no_instrument_function__)) ;
4978#line 338 "include/linux/spinlock.h"
4979__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) 
4980{ struct raw_spinlock *__cil_tmp5 ;
4981
4982  {
4983  {
4984#line 340
4985  while (1) {
4986    while_continue: /* CIL Label */ ;
4987    {
4988#line 340
4989    __cil_tmp5 = (struct raw_spinlock *)lock;
4990#line 340
4991    _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
4992    }
4993#line 340
4994    goto while_break;
4995  }
4996  while_break: /* CIL Label */ ;
4997  }
4998#line 341
4999  return;
5000}
5001}
5002#line 152 "include/linux/mutex.h"
5003void mutex_lock(struct mutex *lock ) ;
5004#line 153
5005int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
5006#line 154
5007int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
5008#line 168
5009int mutex_trylock(struct mutex *lock ) ;
5010#line 169
5011void mutex_unlock(struct mutex *lock ) ;
5012#line 170
5013int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
5014#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5015__inline static void outb(unsigned char value , int port )  __attribute__((__no_instrument_function__)) ;
5016#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5017__inline static void outb(unsigned char value , int port ) 
5018{ 
5019
5020  {
5021#line 308
5022  __asm__  volatile   ("out"
5023                       "b"
5024                       " %"
5025                       "b"
5026                       "0, %w1": : "a" (value), "Nd" (port));
5027#line 308
5028  return;
5029}
5030}
5031#line 308
5032__inline static unsigned char inb(int port )  __attribute__((__no_instrument_function__)) ;
5033#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5034__inline static unsigned char inb(int port ) 
5035{ unsigned char value ;
5036
5037  {
5038#line 308
5039  __asm__  volatile   ("in"
5040                       "b"
5041                       " %w1, %"
5042                       "b"
5043                       "0": "=a" (value): "Nd" (port));
5044#line 308
5045  return (value);
5046}
5047}
5048#line 308
5049__inline static void outb_p(unsigned char value , int port )  __attribute__((__no_instrument_function__)) ;
5050#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5051__inline static void outb_p(unsigned char value , int port ) 
5052{ 
5053
5054  {
5055  {
5056#line 308
5057  outb(value, port);
5058#line 308
5059  slow_down_io();
5060  }
5061#line 308
5062  return;
5063}
5064}
5065#line 308
5066__inline static unsigned char inb_p(int port )  __attribute__((__no_instrument_function__)) ;
5067#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5068__inline static unsigned char inb_p(int port ) 
5069{ unsigned char value ;
5070  unsigned char tmp ;
5071
5072  {
5073  {
5074#line 308
5075  tmp = inb(port);
5076#line 308
5077  value = tmp;
5078#line 308
5079  slow_down_io();
5080  }
5081#line 308
5082  return (value);
5083}
5084}
5085#line 310
5086__inline static void outl(unsigned int value , int port )  __attribute__((__no_instrument_function__)) ;
5087#line 310 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5088__inline static void outl(unsigned int value , int port ) 
5089{ 
5090
5091  {
5092#line 310
5093  __asm__  volatile   ("out"
5094                       "l"
5095                       " %"
5096                       ""
5097                       "0, %w1": : "a" (value), "Nd" (port));
5098#line 310
5099  return;
5100}
5101}
5102#line 310
5103__inline static unsigned int inl(int port )  __attribute__((__no_instrument_function__)) ;
5104#line 310 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5105__inline static unsigned int inl(int port ) 
5106{ unsigned int value ;
5107
5108  {
5109#line 310
5110  __asm__  volatile   ("in"
5111                       "l"
5112                       " %w1, %"
5113                       ""
5114                       "0": "=a" (value): "Nd" (port));
5115#line 310
5116  return (value);
5117}
5118}
5119#line 310
5120__inline static void outl_p(unsigned int value , int port )  __attribute__((__no_instrument_function__)) ;
5121#line 310 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
5122__inline static void outl_p(unsigned int value , int port ) 
5123{ 
5124
5125  {
5126  {
5127#line 310
5128  outl(value, port);
5129#line 310
5130  slow_down_io();
5131  }
5132#line 310
5133  return;
5134}
5135}
5136#line 186 "include/linux/ide.h"
5137__inline static void ide_std_init_ports(struct ide_hw *hw , unsigned long io_addr ,
5138                                        unsigned long ctl_addr )  __attribute__((__no_instrument_function__)) ;
5139#line 186 "include/linux/ide.h"
5140__inline static void ide_std_init_ports(struct ide_hw *hw , unsigned long io_addr ,
5141                                        unsigned long ctl_addr ) 
5142{ unsigned int i ;
5143  unsigned long tmp___7 ;
5144  unsigned long __cil_tmp6 ;
5145  unsigned long __cil_tmp7 ;
5146  unsigned long __cil_tmp8 ;
5147  unsigned long __cil_tmp9 ;
5148  unsigned long __cil_tmp10 ;
5149  unsigned long __cil_tmp11 ;
5150  unsigned long __cil_tmp12 ;
5151  unsigned long __cil_tmp13 ;
5152  unsigned long __cil_tmp14 ;
5153
5154  {
5155#line 192
5156  i = 0U;
5157  {
5158#line 192
5159  while (1) {
5160    while_continue: /* CIL Label */ ;
5161#line 192
5162    if (i <= 7U) {
5163
5164    } else {
5165#line 192
5166      goto while_break;
5167    }
5168#line 193
5169    tmp___7 = io_addr;
5170#line 193
5171    io_addr = io_addr + 1UL;
5172#line 193
5173    __cil_tmp6 = i * 8UL;
5174#line 193
5175    __cil_tmp7 = 0 + __cil_tmp6;
5176#line 193
5177    __cil_tmp8 = 0 + __cil_tmp7;
5178#line 193
5179    __cil_tmp9 = (unsigned long )hw;
5180#line 193
5181    __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
5182#line 193
5183    *((unsigned long *)__cil_tmp10) = tmp___7;
5184#line 192
5185    i = i + 1U;
5186  }
5187  while_break: /* CIL Label */ ;
5188  }
5189#line 195
5190  __cil_tmp11 = 0 + 64;
5191#line 195
5192  __cil_tmp12 = 0 + __cil_tmp11;
5193#line 195
5194  __cil_tmp13 = (unsigned long )hw;
5195#line 195
5196  __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
5197#line 195
5198  *((unsigned long *)__cil_tmp14) = ctl_addr;
5199#line 196
5200  return;
5201}
5202}
5203#line 1047
5204extern int ide_vlb_clk ;
5205#line 1048
5206extern int ide_pci_clk ;
5207#line 1441
5208extern int ide_host_add(struct ide_port_info  const  * , struct ide_hw ** , unsigned int  ,
5209                        struct ide_host ** ) ;
5210#line 1491
5211extern struct ide_timing *ide_timing_find_mode(u8  ) ;
5212#line 1492
5213extern u16 ide_pio_cycle_time(ide_drive_t * , u8  ) ;
5214#line 1531
5215__inline static ide_drive_t *ide_get_pair_dev(ide_drive_t *drive )  __attribute__((__no_instrument_function__)) ;
5216#line 1531 "include/linux/ide.h"
5217__inline static ide_drive_t *ide_get_pair_dev(ide_drive_t *drive ) 
5218{ ide_drive_t *peer ;
5219  ide_drive_t *tmp___7 ;
5220  unsigned long __cil_tmp4 ;
5221  unsigned long __cil_tmp5 ;
5222  u8 __cil_tmp6 ;
5223  int __cil_tmp7 ;
5224  int __cil_tmp8 ;
5225  int __cil_tmp9 ;
5226  unsigned long __cil_tmp10 ;
5227  unsigned long __cil_tmp11 ;
5228  unsigned long __cil_tmp12 ;
5229  unsigned long __cil_tmp13 ;
5230  struct hwif_s *__cil_tmp14 ;
5231  unsigned long __cil_tmp15 ;
5232  unsigned long __cil_tmp16 ;
5233  unsigned long __cil_tmp17 ;
5234  unsigned long __cil_tmp18 ;
5235  unsigned long __cil_tmp19 ;
5236  void *__cil_tmp20 ;
5237
5238  {
5239#line 1533
5240  __cil_tmp4 = (unsigned long )drive;
5241#line 1533
5242  __cil_tmp5 = __cil_tmp4 + 114;
5243#line 1533
5244  __cil_tmp6 = *((u8 *)__cil_tmp5);
5245#line 1533
5246  __cil_tmp7 = (int )__cil_tmp6;
5247#line 1533
5248  __cil_tmp8 = __cil_tmp7 ^ 1;
5249#line 1533
5250  __cil_tmp9 = __cil_tmp8 & 1;
5251#line 1533
5252  __cil_tmp10 = __cil_tmp9 * 8UL;
5253#line 1533
5254  __cil_tmp11 = 136 + __cil_tmp10;
5255#line 1533
5256  __cil_tmp12 = (unsigned long )drive;
5257#line 1533
5258  __cil_tmp13 = __cil_tmp12 + 64;
5259#line 1533
5260  __cil_tmp14 = *((struct hwif_s **)__cil_tmp13);
5261#line 1533
5262  __cil_tmp15 = (unsigned long )__cil_tmp14;
5263#line 1533
5264  __cil_tmp16 = __cil_tmp15 + __cil_tmp11;
5265#line 1533
5266  peer = *((ide_drive_t **)__cil_tmp16);
5267  {
5268#line 1535
5269  __cil_tmp17 = (unsigned long )peer;
5270#line 1535
5271  __cil_tmp18 = __cil_tmp17 + 80;
5272#line 1535
5273  __cil_tmp19 = *((unsigned long *)__cil_tmp18);
5274#line 1535
5275  if (__cil_tmp19 & 64UL) {
5276#line 1535
5277    tmp___7 = peer;
5278  } else {
5279#line 1535
5280    __cil_tmp20 = (void *)0;
5281#line 1535
5282    tmp___7 = (ide_drive_t *)__cil_tmp20;
5283  }
5284  }
5285#line 1535
5286  return (tmp___7);
5287}
5288}
5289#line 382 "include/linux/moduleparam.h"
5290extern struct kernel_param_ops param_ops_bool ;
5291#line 67 "include/linux/module.h"
5292int init_module(void) ;
5293#line 115 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5294static bool cmd640_vlb  ;
5295#line 165 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5296static u8 prefetch_regs[4]  = {      (u8 )81,      (u8 )81,      (u8 )87,      (u8 )87};
5297#line 166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5298static u8 prefetch_masks[4]  = {      (u8 )64,      (u8 )128,      (u8 )4,      (u8 )8};
5299#line 170 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5300static u8 arttim_regs[4]  = {      (u8 )83,      (u8 )85,      (u8 )87,      (u8 )87};
5301#line 171 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5302static u8 drwtim_regs[4]  = {      (u8 )84,      (u8 )86,      (u8 )88,      (u8 )88};
5303#line 177 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5304static u8 setup_counts[4]  = {      (u8 )4,      (u8 )4,      (u8 )4,      (u8 )4};
5305#line 178 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5306static u8 active_counts[4]  = {      (u8 )16,      (u8 )16,      (u8 )16,      (u8 )16};
5307#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5308static u8 recovery_counts[4]  = {      (u8 )16,      (u8 )16,      (u8 )16,      (u8 )16};
5309#line 183 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5310static spinlock_t cmd640_lock  =    {{{{{(__ticketpair_t )0}}, 3735899821U, 4294967295U, (void *)-1L}}};
5311#line 188 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5312static unsigned int cmd640_key  ;
5313#line 189 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5314static void (*__put_cmd640_reg)(u16 reg , u8 val )  ;
5315#line 190 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5316static u8 (*__get_cmd640_reg)(u16 reg )  ;
5317#line 195 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5318static unsigned int cmd640_chip_version  ;
5319#line 205 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5320static void put_cmd640_reg_pci1(u16 reg , u8 val ) 
5321{ int __cil_tmp3 ;
5322  int __cil_tmp4 ;
5323  unsigned int __cil_tmp5 ;
5324  unsigned int __cil_tmp6 ;
5325  int __cil_tmp7 ;
5326  int __cil_tmp8 ;
5327  int __cil_tmp9 ;
5328
5329  {
5330  {
5331#line 207
5332  __cil_tmp3 = (int )reg;
5333#line 207
5334  __cil_tmp4 = __cil_tmp3 & 252;
5335#line 207
5336  __cil_tmp5 = (unsigned int )__cil_tmp4;
5337#line 207
5338  __cil_tmp6 = __cil_tmp5 | cmd640_key;
5339#line 207
5340  outl_p(__cil_tmp6, 3320);
5341#line 208
5342  __cil_tmp7 = (int )reg;
5343#line 208
5344  __cil_tmp8 = __cil_tmp7 & 3;
5345#line 208
5346  __cil_tmp9 = __cil_tmp8 | 3324;
5347#line 208
5348  outb_p(val, __cil_tmp9);
5349  }
5350#line 209
5351  return;
5352}
5353}
5354#line 211 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5355static u8 get_cmd640_reg_pci1(u16 reg ) 
5356{ unsigned char tmp___7 ;
5357  int __cil_tmp3 ;
5358  int __cil_tmp4 ;
5359  unsigned int __cil_tmp5 ;
5360  unsigned int __cil_tmp6 ;
5361  int __cil_tmp7 ;
5362  int __cil_tmp8 ;
5363  int __cil_tmp9 ;
5364
5365  {
5366  {
5367#line 213
5368  __cil_tmp3 = (int )reg;
5369#line 213
5370  __cil_tmp4 = __cil_tmp3 & 252;
5371#line 213
5372  __cil_tmp5 = (unsigned int )__cil_tmp4;
5373#line 213
5374  __cil_tmp6 = __cil_tmp5 | cmd640_key;
5375#line 213
5376  outl_p(__cil_tmp6, 3320);
5377#line 214
5378  __cil_tmp7 = (int )reg;
5379#line 214
5380  __cil_tmp8 = __cil_tmp7 & 3;
5381#line 214
5382  __cil_tmp9 = __cil_tmp8 | 3324;
5383#line 214
5384  tmp___7 = inb_p(__cil_tmp9);
5385  }
5386#line 214
5387  return (tmp___7);
5388}
5389}
5390#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5391static void put_cmd640_reg_pci2(u16 reg , u8 val ) 
5392{ unsigned int __cil_tmp3 ;
5393  unsigned int __cil_tmp4 ;
5394  int __cil_tmp5 ;
5395
5396  {
5397  {
5398#line 221
5399  outb_p((unsigned char)16, 3320);
5400#line 222
5401  __cil_tmp3 = (unsigned int )reg;
5402#line 222
5403  __cil_tmp4 = cmd640_key + __cil_tmp3;
5404#line 222
5405  __cil_tmp5 = (int )__cil_tmp4;
5406#line 222
5407  outb_p(val, __cil_tmp5);
5408#line 223
5409  outb_p((unsigned char)0, 3320);
5410  }
5411#line 224
5412  return;
5413}
5414}
5415#line 226 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5416static u8 get_cmd640_reg_pci2(u16 reg ) 
5417{ u8 b ;
5418  unsigned int __cil_tmp3 ;
5419  unsigned int __cil_tmp4 ;
5420  int __cil_tmp5 ;
5421
5422  {
5423  {
5424#line 230
5425  outb_p((unsigned char)16, 3320);
5426#line 231
5427  __cil_tmp3 = (unsigned int )reg;
5428#line 231
5429  __cil_tmp4 = cmd640_key + __cil_tmp3;
5430#line 231
5431  __cil_tmp5 = (int )__cil_tmp4;
5432#line 231
5433  b = inb_p(__cil_tmp5);
5434#line 232
5435  outb_p((unsigned char)0, 3320);
5436  }
5437#line 233
5438  return (b);
5439}
5440}
5441#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5442static void put_cmd640_reg_vlb(u16 reg , u8 val ) 
5443{ unsigned char __cil_tmp3 ;
5444  int __cil_tmp4 ;
5445  unsigned int __cil_tmp5 ;
5446  int __cil_tmp6 ;
5447
5448  {
5449  {
5450#line 240
5451  __cil_tmp3 = (unsigned char )reg;
5452#line 240
5453  __cil_tmp4 = (int )cmd640_key;
5454#line 240
5455  outb_p(__cil_tmp3, __cil_tmp4);
5456#line 241
5457  __cil_tmp5 = cmd640_key + 4U;
5458#line 241
5459  __cil_tmp6 = (int )__cil_tmp5;
5460#line 241
5461  outb_p(val, __cil_tmp6);
5462  }
5463#line 242
5464  return;
5465}
5466}
5467#line 244 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5468static u8 get_cmd640_reg_vlb(u16 reg ) 
5469{ unsigned char tmp___7 ;
5470  unsigned char __cil_tmp3 ;
5471  int __cil_tmp4 ;
5472  unsigned int __cil_tmp5 ;
5473  int __cil_tmp6 ;
5474
5475  {
5476  {
5477#line 246
5478  __cil_tmp3 = (unsigned char )reg;
5479#line 246
5480  __cil_tmp4 = (int )cmd640_key;
5481#line 246
5482  outb_p(__cil_tmp3, __cil_tmp4);
5483#line 247
5484  __cil_tmp5 = cmd640_key + 4U;
5485#line 247
5486  __cil_tmp6 = (int )__cil_tmp5;
5487#line 247
5488  tmp___7 = inb_p(__cil_tmp6);
5489  }
5490#line 247
5491  return (tmp___7);
5492}
5493}
5494#line 250 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5495static u8 get_cmd640_reg(u16 reg ) 
5496{ unsigned long flags ;
5497  u8 b ;
5498  raw_spinlock_t *tmp___7 ;
5499
5500  {
5501  {
5502#line 255
5503  while (1) {
5504    while_continue: /* CIL Label */ ;
5505    {
5506#line 255
5507    while (1) {
5508      while_continue___0: /* CIL Label */ ;
5509      {
5510#line 255
5511      tmp___7 = spinlock_check(& cmd640_lock);
5512#line 255
5513      flags = _raw_spin_lock_irqsave(tmp___7);
5514      }
5515#line 255
5516      goto while_break___0;
5517    }
5518    while_break___0: /* CIL Label */ ;
5519    }
5520#line 255
5521    goto while_break;
5522  }
5523  while_break: /* CIL Label */ ;
5524  }
5525  {
5526#line 256
5527  b = (*__get_cmd640_reg)(reg);
5528#line 257
5529  spin_unlock_irqrestore(& cmd640_lock, flags);
5530  }
5531#line 258
5532  return (b);
5533}
5534}
5535#line 261 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5536static void put_cmd640_reg(u16 reg , u8 val ) 
5537{ unsigned long flags ;
5538  raw_spinlock_t *tmp___7 ;
5539
5540  {
5541  {
5542#line 265
5543  while (1) {
5544    while_continue: /* CIL Label */ ;
5545    {
5546#line 265
5547    while (1) {
5548      while_continue___0: /* CIL Label */ ;
5549      {
5550#line 265
5551      tmp___7 = spinlock_check(& cmd640_lock);
5552#line 265
5553      flags = _raw_spin_lock_irqsave(tmp___7);
5554      }
5555#line 265
5556      goto while_break___0;
5557    }
5558    while_break___0: /* CIL Label */ ;
5559    }
5560#line 265
5561    goto while_break;
5562  }
5563  while_break: /* CIL Label */ ;
5564  }
5565  {
5566#line 266
5567  (*__put_cmd640_reg)(reg, val);
5568#line 267
5569  spin_unlock_irqrestore(& cmd640_lock, flags);
5570  }
5571#line 268
5572  return;
5573}
5574}
5575#line 270
5576static int match_pci_cmd640_device(void)  __attribute__((__section__(".init.text"),
5577__no_instrument_function__)) ;
5578#line 270 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5579static int match_pci_cmd640_device(void) 
5580{ u8 ven_dev[4] ;
5581  unsigned int i ;
5582  u8 tmp___7 ;
5583  unsigned long __cil_tmp4 ;
5584  unsigned long __cil_tmp5 ;
5585  unsigned long __cil_tmp6 ;
5586  unsigned long __cil_tmp7 ;
5587  unsigned long __cil_tmp8 ;
5588  unsigned long __cil_tmp9 ;
5589  unsigned long __cil_tmp10 ;
5590  unsigned long __cil_tmp11 ;
5591  u16 __cil_tmp12 ;
5592  unsigned long __cil_tmp13 ;
5593  unsigned long __cil_tmp14 ;
5594  u8 __cil_tmp15 ;
5595  int __cil_tmp16 ;
5596  int __cil_tmp17 ;
5597
5598  {
5599#line 272
5600  __cil_tmp4 = 0 * 1UL;
5601#line 272
5602  __cil_tmp5 = (unsigned long )(ven_dev) + __cil_tmp4;
5603#line 272
5604  *((u8 *)__cil_tmp5) = (u8 )149;
5605#line 272
5606  __cil_tmp6 = 1 * 1UL;
5607#line 272
5608  __cil_tmp7 = (unsigned long )(ven_dev) + __cil_tmp6;
5609#line 272
5610  *((u8 *)__cil_tmp7) = (u8 )16;
5611#line 272
5612  __cil_tmp8 = 2 * 1UL;
5613#line 272
5614  __cil_tmp9 = (unsigned long )(ven_dev) + __cil_tmp8;
5615#line 272
5616  *((u8 *)__cil_tmp9) = (u8 )64;
5617#line 272
5618  __cil_tmp10 = 3 * 1UL;
5619#line 272
5620  __cil_tmp11 = (unsigned long )(ven_dev) + __cil_tmp10;
5621#line 272
5622  *((u8 *)__cil_tmp11) = (u8 )6;
5623#line 274
5624  i = 0U;
5625  {
5626#line 274
5627  while (1) {
5628    while_continue: /* CIL Label */ ;
5629#line 274
5630    if (i < 4U) {
5631
5632    } else {
5633#line 274
5634      goto while_break;
5635    }
5636    {
5637#line 275
5638    __cil_tmp12 = (u16 )i;
5639#line 275
5640    tmp___7 = get_cmd640_reg(__cil_tmp12);
5641    }
5642    {
5643#line 275
5644    __cil_tmp13 = i * 1UL;
5645#line 275
5646    __cil_tmp14 = (unsigned long )(ven_dev) + __cil_tmp13;
5647#line 275
5648    __cil_tmp15 = *((u8 *)__cil_tmp14);
5649#line 275
5650    __cil_tmp16 = (int )__cil_tmp15;
5651#line 275
5652    __cil_tmp17 = (int )tmp___7;
5653#line 275
5654    if (__cil_tmp17 != __cil_tmp16) {
5655#line 276
5656      return (0);
5657    } else {
5658
5659    }
5660    }
5661#line 274
5662    i = i + 1U;
5663  }
5664  while_break: /* CIL Label */ ;
5665  }
5666#line 284
5667  return (1);
5668}
5669}
5670#line 290
5671static int probe_for_cmd640_pci1(void)  __attribute__((__section__(".init.text"),
5672__no_instrument_function__)) ;
5673#line 290 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5674static int probe_for_cmd640_pci1(void) 
5675{ int tmp___7 ;
5676
5677  {
5678#line 292
5679  __get_cmd640_reg = & get_cmd640_reg_pci1;
5680#line 293
5681  __put_cmd640_reg = & put_cmd640_reg_pci1;
5682#line 294
5683  cmd640_key = 2147483648U;
5684  {
5685#line 294
5686  while (1) {
5687    while_continue: /* CIL Label */ ;
5688#line 294
5689    if (cmd640_key <= 2147547136U) {
5690
5691    } else {
5692#line 294
5693      goto while_break;
5694    }
5695    {
5696#line 297
5697    tmp___7 = match_pci_cmd640_device();
5698    }
5699#line 297
5700    if (tmp___7) {
5701#line 298
5702      return (1);
5703    } else {
5704
5705    }
5706#line 294
5707    cmd640_key = cmd640_key + 2048U;
5708  }
5709  while_break: /* CIL Label */ ;
5710  }
5711#line 300
5712  return (0);
5713}
5714}
5715#line 306
5716static int probe_for_cmd640_pci2(void)  __attribute__((__section__(".init.text"),
5717__no_instrument_function__)) ;
5718#line 306 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5719static int probe_for_cmd640_pci2(void) 
5720{ int tmp___7 ;
5721
5722  {
5723#line 308
5724  __get_cmd640_reg = & get_cmd640_reg_pci2;
5725#line 309
5726  __put_cmd640_reg = & put_cmd640_reg_pci2;
5727#line 310
5728  cmd640_key = 49152U;
5729  {
5730#line 310
5731  while (1) {
5732    while_continue: /* CIL Label */ ;
5733#line 310
5734    if (cmd640_key <= 52992U) {
5735
5736    } else {
5737#line 310
5738      goto while_break;
5739    }
5740    {
5741#line 311
5742    tmp___7 = match_pci_cmd640_device();
5743    }
5744#line 311
5745    if (tmp___7) {
5746#line 312
5747      return (1);
5748    } else {
5749
5750    }
5751#line 310
5752    cmd640_key = cmd640_key + 256U;
5753  }
5754  while_break: /* CIL Label */ ;
5755  }
5756#line 314
5757  return (0);
5758}
5759}
5760#line 320
5761static int probe_for_cmd640_vlb(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
5762#line 320 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5763static int probe_for_cmd640_vlb(void) 
5764{ u8 b ;
5765  u16 __cil_tmp2 ;
5766  int __cil_tmp3 ;
5767  int __cil_tmp4 ;
5768  int __cil_tmp5 ;
5769  u16 __cil_tmp6 ;
5770  int __cil_tmp7 ;
5771  int __cil_tmp8 ;
5772  int __cil_tmp9 ;
5773  int __cil_tmp10 ;
5774
5775  {
5776  {
5777#line 324
5778  __get_cmd640_reg = & get_cmd640_reg_vlb;
5779#line 325
5780  __put_cmd640_reg = & put_cmd640_reg_vlb;
5781#line 326
5782  cmd640_key = 376U;
5783#line 327
5784  __cil_tmp2 = (u16 )80;
5785#line 327
5786  b = get_cmd640_reg(__cil_tmp2);
5787  }
5788  {
5789#line 328
5790  __cil_tmp3 = (int )b;
5791#line 328
5792  if (__cil_tmp3 == 255) {
5793#line 328
5794    goto _L;
5795  } else {
5796    {
5797#line 328
5798    __cil_tmp4 = (int )b;
5799#line 328
5800    if (__cil_tmp4 == 0) {
5801#line 328
5802      goto _L;
5803    } else {
5804      {
5805#line 328
5806      __cil_tmp5 = (int )b;
5807#line 328
5808      if (__cil_tmp5 & 32) {
5809        _L: /* CIL Label */ 
5810        {
5811#line 329
5812        cmd640_key = 120U;
5813#line 330
5814        __cil_tmp6 = (u16 )80;
5815#line 330
5816        b = get_cmd640_reg(__cil_tmp6);
5817        }
5818        {
5819#line 331
5820        __cil_tmp7 = (int )b;
5821#line 331
5822        if (__cil_tmp7 == 255) {
5823#line 332
5824          return (0);
5825        } else {
5826          {
5827#line 331
5828          __cil_tmp8 = (int )b;
5829#line 331
5830          if (__cil_tmp8 == 0) {
5831#line 332
5832            return (0);
5833          } else {
5834            {
5835#line 331
5836            __cil_tmp9 = (int )b;
5837#line 331
5838            __cil_tmp10 = __cil_tmp9 & 32;
5839#line 331
5840            if (! __cil_tmp10) {
5841#line 332
5842              return (0);
5843            } else {
5844
5845            }
5846            }
5847          }
5848          }
5849        }
5850        }
5851      } else {
5852
5853      }
5854      }
5855    }
5856    }
5857  }
5858  }
5859#line 334
5860  return (1);
5861}
5862}
5863#line 341
5864static int secondary_port_responding(void)  __attribute__((__section__(".init.text"),
5865__no_instrument_function__)) ;
5866#line 341 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5867static int secondary_port_responding(void) 
5868{ unsigned long flags ;
5869  raw_spinlock_t *tmp___7 ;
5870  unsigned char tmp___8 ;
5871  unsigned char tmp___9 ;
5872  int __cil_tmp7 ;
5873  int __cil_tmp8 ;
5874  int __cil_tmp9 ;
5875  int __cil_tmp10 ;
5876
5877  {
5878  {
5879#line 345
5880  while (1) {
5881    while_continue: /* CIL Label */ ;
5882    {
5883#line 345
5884    while (1) {
5885      while_continue___0: /* CIL Label */ ;
5886      {
5887#line 345
5888      tmp___7 = spinlock_check(& cmd640_lock);
5889#line 345
5890      flags = _raw_spin_lock_irqsave(tmp___7);
5891      }
5892#line 345
5893      goto while_break___0;
5894    }
5895    while_break___0: /* CIL Label */ ;
5896    }
5897#line 345
5898    goto while_break;
5899  }
5900  while_break: /* CIL Label */ ;
5901  }
5902  {
5903#line 347
5904  outb_p((unsigned char)10, 374);
5905#line 348
5906  __const_udelay(429500UL);
5907#line 349
5908  tmp___9 = inb_p(374);
5909  }
5910  {
5911#line 349
5912  __cil_tmp7 = (int )tmp___9;
5913#line 349
5914  __cil_tmp8 = __cil_tmp7 & 31;
5915#line 349
5916  if (__cil_tmp8 != 10) {
5917    {
5918#line 350
5919    outb_p((unsigned char)26, 374);
5920#line 351
5921    __const_udelay(429500UL);
5922#line 352
5923    tmp___8 = inb_p(374);
5924    }
5925    {
5926#line 352
5927    __cil_tmp9 = (int )tmp___8;
5928#line 352
5929    __cil_tmp10 = __cil_tmp9 & 31;
5930#line 352
5931    if (__cil_tmp10 != 26) {
5932      {
5933#line 353
5934      spin_unlock_irqrestore(& cmd640_lock, flags);
5935      }
5936#line 354
5937      return (0);
5938    } else {
5939
5940    }
5941    }
5942  } else {
5943
5944  }
5945  }
5946  {
5947#line 357
5948  spin_unlock_irqrestore(& cmd640_lock, flags);
5949  }
5950#line 358
5951  return (1);
5952}
5953}
5954#line 380 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
5955static void __set_prefetch_mode(ide_drive_t *drive , int mode ) 
5956{ unsigned long __cil_tmp3 ;
5957  unsigned long __cil_tmp4 ;
5958  unsigned long __cil_tmp5 ;
5959  unsigned long __cil_tmp6 ;
5960  unsigned long __cil_tmp7 ;
5961  unsigned long __cil_tmp8 ;
5962  unsigned long __cil_tmp9 ;
5963  unsigned long __cil_tmp10 ;
5964  unsigned long __cil_tmp11 ;
5965  unsigned long __cil_tmp12 ;
5966  unsigned long __cil_tmp13 ;
5967  unsigned long __cil_tmp14 ;
5968  unsigned long __cil_tmp15 ;
5969  unsigned long __cil_tmp16 ;
5970  unsigned long __cil_tmp17 ;
5971  unsigned long __cil_tmp18 ;
5972  unsigned long __cil_tmp19 ;
5973  unsigned long __cil_tmp20 ;
5974  unsigned long __cil_tmp21 ;
5975  unsigned long __cil_tmp22 ;
5976  unsigned long __cil_tmp23 ;
5977  unsigned long __cil_tmp24 ;
5978  unsigned long __cil_tmp25 ;
5979  unsigned long __cil_tmp26 ;
5980  unsigned long __cil_tmp27 ;
5981  unsigned long __cil_tmp28 ;
5982  unsigned long __cil_tmp29 ;
5983
5984  {
5985#line 382
5986  if (mode) {
5987#line 384
5988    __cil_tmp3 = (unsigned long )drive;
5989#line 384
5990    __cil_tmp4 = __cil_tmp3 + 80;
5991#line 384
5992    __cil_tmp5 = (unsigned long )drive;
5993#line 384
5994    __cil_tmp6 = __cil_tmp5 + 80;
5995#line 384
5996    __cil_tmp7 = *((unsigned long *)__cil_tmp6);
5997#line 384
5998    *((unsigned long *)__cil_tmp4) = __cil_tmp7 | 8192UL;
5999#line 385
6000    __cil_tmp8 = (unsigned long )drive;
6001#line 385
6002    __cil_tmp9 = __cil_tmp8 + 80;
6003#line 385
6004    __cil_tmp10 = (unsigned long )drive;
6005#line 385
6006    __cil_tmp11 = __cil_tmp10 + 80;
6007#line 385
6008    __cil_tmp12 = *((unsigned long *)__cil_tmp11);
6009#line 385
6010    *((unsigned long *)__cil_tmp9) = __cil_tmp12 & 0xfffffffffffffffbUL;
6011#line 387
6012    __cil_tmp13 = (unsigned long )drive;
6013#line 387
6014    __cil_tmp14 = __cil_tmp13 + 80;
6015#line 387
6016    __cil_tmp15 = (unsigned long )drive;
6017#line 387
6018    __cil_tmp16 = __cil_tmp15 + 80;
6019#line 387
6020    __cil_tmp17 = *((unsigned long *)__cil_tmp16);
6021#line 387
6022    *((unsigned long *)__cil_tmp14) = __cil_tmp17 & 0xffffffffffffbfffUL;
6023  } else {
6024#line 389
6025    __cil_tmp18 = (unsigned long )drive;
6026#line 389
6027    __cil_tmp19 = __cil_tmp18 + 80;
6028#line 389
6029    __cil_tmp20 = (unsigned long )drive;
6030#line 389
6031    __cil_tmp21 = __cil_tmp20 + 80;
6032#line 389
6033    __cil_tmp22 = *((unsigned long *)__cil_tmp21);
6034#line 389
6035    *((unsigned long *)__cil_tmp19) = __cil_tmp22 & 0xffffffffffffdfffUL;
6036#line 390
6037    __cil_tmp23 = (unsigned long )drive;
6038#line 390
6039    __cil_tmp24 = __cil_tmp23 + 80;
6040#line 390
6041    __cil_tmp25 = (unsigned long )drive;
6042#line 390
6043    __cil_tmp26 = __cil_tmp25 + 80;
6044#line 390
6045    __cil_tmp27 = *((unsigned long *)__cil_tmp26);
6046#line 390
6047    *((unsigned long *)__cil_tmp24) = __cil_tmp27 | 16384UL;
6048#line 391
6049    __cil_tmp28 = (unsigned long )drive;
6050#line 391
6051    __cil_tmp29 = __cil_tmp28 + 120;
6052#line 391
6053    *((u8 *)__cil_tmp29) = (u8 )0;
6054  }
6055#line 393
6056  return;
6057}
6058}
6059#line 411 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
6060static void set_prefetch_mode(ide_drive_t *drive , unsigned int index , int mode ) 
6061{ unsigned long flags ;
6062  int reg ;
6063  u8 b ;
6064  raw_spinlock_t *tmp___7 ;
6065  unsigned long __cil_tmp10 ;
6066  unsigned long __cil_tmp11 ;
6067  u8 __cil_tmp12 ;
6068  u16 __cil_tmp13 ;
6069  unsigned long __cil_tmp14 ;
6070  unsigned long __cil_tmp15 ;
6071  u8 __cil_tmp16 ;
6072  int __cil_tmp17 ;
6073  int __cil_tmp18 ;
6074  int __cil_tmp19 ;
6075  int __cil_tmp20 ;
6076  unsigned long __cil_tmp21 ;
6077  unsigned long __cil_tmp22 ;
6078  u8 __cil_tmp23 ;
6079  int __cil_tmp24 ;
6080  int __cil_tmp25 ;
6081  int __cil_tmp26 ;
6082  u16 __cil_tmp27 ;
6083
6084  {
6085#line 414
6086  __cil_tmp10 = index * 1UL;
6087#line 414
6088  __cil_tmp11 = (unsigned long )(prefetch_regs) + __cil_tmp10;
6089#line 414
6090  __cil_tmp12 = *((u8 *)__cil_tmp11);
6091#line 414
6092  reg = (int )__cil_tmp12;
6093  {
6094#line 417
6095  while (1) {
6096    while_continue: /* CIL Label */ ;
6097    {
6098#line 417
6099    while (1) {
6100      while_continue___0: /* CIL Label */ ;
6101      {
6102#line 417
6103      tmp___7 = spinlock_check(& cmd640_lock);
6104#line 417
6105      flags = _raw_spin_lock_irqsave(tmp___7);
6106      }
6107#line 417
6108      goto while_break___0;
6109    }
6110    while_break___0: /* CIL Label */ ;
6111    }
6112#line 417
6113    goto while_break;
6114  }
6115  while_break: /* CIL Label */ ;
6116  }
6117  {
6118#line 418
6119  __cil_tmp13 = (u16 )reg;
6120#line 418
6121  b = (*__get_cmd640_reg)(__cil_tmp13);
6122#line 419
6123  __set_prefetch_mode(drive, mode);
6124  }
6125#line 420
6126  if (mode) {
6127#line 421
6128    __cil_tmp14 = index * 1UL;
6129#line 421
6130    __cil_tmp15 = (unsigned long )(prefetch_masks) + __cil_tmp14;
6131#line 421
6132    __cil_tmp16 = *((u8 *)__cil_tmp15);
6133#line 421
6134    __cil_tmp17 = (int )__cil_tmp16;
6135#line 421
6136    __cil_tmp18 = ~ __cil_tmp17;
6137#line 421
6138    __cil_tmp19 = (int )b;
6139#line 421
6140    __cil_tmp20 = __cil_tmp19 & __cil_tmp18;
6141#line 421
6142    b = (u8 )__cil_tmp20;
6143  } else {
6144#line 423
6145    __cil_tmp21 = index * 1UL;
6146#line 423
6147    __cil_tmp22 = (unsigned long )(prefetch_masks) + __cil_tmp21;
6148#line 423
6149    __cil_tmp23 = *((u8 *)__cil_tmp22);
6150#line 423
6151    __cil_tmp24 = (int )__cil_tmp23;
6152#line 423
6153    __cil_tmp25 = (int )b;
6154#line 423
6155    __cil_tmp26 = __cil_tmp25 | __cil_tmp24;
6156#line 423
6157    b = (u8 )__cil_tmp26;
6158  }
6159  {
6160#line 424
6161  __cil_tmp27 = (u16 )reg;
6162#line 424
6163  (*__put_cmd640_reg)(__cil_tmp27, b);
6164#line 425
6165  spin_unlock_irqrestore(& cmd640_lock, flags);
6166  }
6167#line 426
6168  return;
6169}
6170}
6171#line 431 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
6172static void display_clocks(unsigned int index ) 
6173{ u8 active_count ;
6174  u8 recovery_count ;
6175  unsigned long __cil_tmp4 ;
6176  unsigned long __cil_tmp5 ;
6177  int __cil_tmp6 ;
6178  int __cil_tmp7 ;
6179  int __cil_tmp8 ;
6180  unsigned long __cil_tmp9 ;
6181  unsigned long __cil_tmp10 ;
6182  int __cil_tmp11 ;
6183  int __cil_tmp12 ;
6184  int __cil_tmp13 ;
6185  int __cil_tmp14 ;
6186  int __cil_tmp15 ;
6187  int __cil_tmp16 ;
6188  unsigned long __cil_tmp17 ;
6189  unsigned long __cil_tmp18 ;
6190  u8 __cil_tmp19 ;
6191  int __cil_tmp20 ;
6192  int __cil_tmp21 ;
6193  int __cil_tmp22 ;
6194
6195  {
6196#line 435
6197  __cil_tmp4 = index * 1UL;
6198#line 435
6199  __cil_tmp5 = (unsigned long )(active_counts) + __cil_tmp4;
6200#line 435
6201  active_count = *((u8 *)__cil_tmp5);
6202  {
6203#line 436
6204  __cil_tmp6 = (int )active_count;
6205#line 436
6206  if (__cil_tmp6 == 1) {
6207#line 437
6208    __cil_tmp7 = (int )active_count;
6209#line 437
6210    __cil_tmp8 = __cil_tmp7 + 1;
6211#line 437
6212    active_count = (u8 )__cil_tmp8;
6213  } else {
6214
6215  }
6216  }
6217#line 438
6218  __cil_tmp9 = index * 1UL;
6219#line 438
6220  __cil_tmp10 = (unsigned long )(recovery_counts) + __cil_tmp9;
6221#line 438
6222  recovery_count = *((u8 *)__cil_tmp10);
6223  {
6224#line 439
6225  __cil_tmp11 = (int )active_count;
6226#line 439
6227  if (__cil_tmp11 > 3) {
6228    {
6229#line 439
6230    __cil_tmp12 = (int )recovery_count;
6231#line 439
6232    if (__cil_tmp12 == 1) {
6233#line 440
6234      __cil_tmp13 = (int )recovery_count;
6235#line 440
6236      __cil_tmp14 = __cil_tmp13 + 1;
6237#line 440
6238      recovery_count = (u8 )__cil_tmp14;
6239    } else {
6240
6241    }
6242    }
6243  } else {
6244
6245  }
6246  }
6247#line 441
6248  if (cmd640_chip_version > 1U) {
6249#line 442
6250    __cil_tmp15 = (int )recovery_count;
6251#line 442
6252    __cil_tmp16 = __cil_tmp15 + 1;
6253#line 442
6254    recovery_count = (u8 )__cil_tmp16;
6255  } else {
6256
6257  }
6258  {
6259#line 443
6260  __cil_tmp17 = index * 1UL;
6261#line 443
6262  __cil_tmp18 = (unsigned long )(setup_counts) + __cil_tmp17;
6263#line 443
6264  __cil_tmp19 = *((u8 *)__cil_tmp18);
6265#line 443
6266  __cil_tmp20 = (int )__cil_tmp19;
6267#line 443
6268  __cil_tmp21 = (int )active_count;
6269#line 443
6270  __cil_tmp22 = (int )recovery_count;
6271#line 443
6272  printk(", clocks=%d/%d/%d\n", __cil_tmp20, __cil_tmp21, __cil_tmp22);
6273  }
6274#line 444
6275  return;
6276}
6277}
6278#line 450
6279__inline static u8 pack_nibbles(u8 upper , u8 lower )  __attribute__((__no_instrument_function__)) ;
6280#line 450 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
6281__inline static u8 pack_nibbles(u8 upper , u8 lower ) 
6282{ int __cil_tmp3 ;
6283  int __cil_tmp4 ;
6284  int __cil_tmp5 ;
6285  int __cil_tmp6 ;
6286  int __cil_tmp7 ;
6287  int __cil_tmp8 ;
6288
6289  {
6290  {
6291#line 452
6292  __cil_tmp3 = (int )lower;
6293#line 452
6294  __cil_tmp4 = __cil_tmp3 & 15;
6295#line 452
6296  __cil_tmp5 = (int )upper;
6297#line 452
6298  __cil_tmp6 = __cil_tmp5 & 15;
6299#line 452
6300  __cil_tmp7 = __cil_tmp6 << 4;
6301#line 452
6302  __cil_tmp8 = __cil_tmp7 | __cil_tmp4;
6303#line 452
6304  return ((u8 )__cil_tmp8);
6305  }
6306}
6307}
6308#line 459 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
6309static void program_drive_counts(ide_drive_t *drive , unsigned int index ) 
6310{ unsigned long flags ;
6311  u8 setup_count ;
6312  u8 active_count ;
6313  u8 recovery_count ;
6314  ide_drive_t *peer ;
6315  ide_drive_t *tmp___7 ;
6316  unsigned int mate ;
6317  raw_spinlock_t *tmp___8 ;
6318  u8 tmp___9 ;
6319  u8 tmp___10 ;
6320  unsigned long __cil_tmp15 ;
6321  unsigned long __cil_tmp16 ;
6322  unsigned long __cil_tmp17 ;
6323  unsigned long __cil_tmp18 ;
6324  unsigned long __cil_tmp19 ;
6325  unsigned long __cil_tmp20 ;
6326  unsigned long __cil_tmp21 ;
6327  unsigned long __cil_tmp22 ;
6328  u8 __cil_tmp23 ;
6329  int __cil_tmp24 ;
6330  int __cil_tmp25 ;
6331  unsigned long __cil_tmp26 ;
6332  unsigned long __cil_tmp27 ;
6333  unsigned long __cil_tmp28 ;
6334  unsigned long __cil_tmp29 ;
6335  u8 __cil_tmp30 ;
6336  int __cil_tmp31 ;
6337  int __cil_tmp32 ;
6338  unsigned long __cil_tmp33 ;
6339  unsigned long __cil_tmp34 ;
6340  unsigned long __cil_tmp35 ;
6341  unsigned long __cil_tmp36 ;
6342  u8 __cil_tmp37 ;
6343  int __cil_tmp38 ;
6344  int __cil_tmp39 ;
6345  unsigned long __cil_tmp40 ;
6346  unsigned long __cil_tmp41 ;
6347  unsigned long __cil_tmp42 ;
6348  unsigned long __cil_tmp43 ;
6349  u8 __cil_tmp44 ;
6350  u16 __cil_tmp45 ;
6351  int __cil_tmp46 ;
6352  int __cil_tmp47 ;
6353  int __cil_tmp48 ;
6354  int __cil_tmp49 ;
6355  unsigned long __cil_tmp50 ;
6356  unsigned long __cil_tmp51 ;
6357  u8 __cil_tmp52 ;
6358  u16 __cil_tmp53 ;
6359  unsigned long __cil_tmp54 ;
6360  unsigned long __cil_tmp55 ;
6361  u8 __cil_tmp56 ;
6362  u16 __cil_tmp57 ;
6363
6364  {
6365#line 462
6366  __cil_tmp15 = index * 1UL;
6367#line 462
6368  __cil_tmp16 = (unsigned long )(setup_counts) + __cil_tmp15;
6369#line 462
6370  setup_count = *((u8 *)__cil_tmp16);
6371#line 463
6372  __cil_tmp17 = index * 1UL;
6373#line 463
6374  __cil_tmp18 = (unsigned long )(active_counts) + __cil_tmp17;
6375#line 463
6376  active_count = *((u8 *)__cil_tmp18);
6377#line 464
6378  __cil_tmp19 = index * 1UL;
6379#line 464
6380  __cil_tmp20 = (unsigned long )(recovery_counts) + __cil_tmp19;
6381#line 464
6382  recovery_count = *((u8 *)__cil_tmp20);
6383#line 472
6384  if (index > 1U) {
6385    {
6386#line 473
6387    tmp___7 = ide_get_pair_dev(drive);
6388#line 473
6389    peer = tmp___7;
6390#line 474
6391    mate = index ^ 1U;
6392    }
6393#line 476
6394    if (peer) {
6395      {
6396#line 477
6397      __cil_tmp21 = mate * 1UL;
6398#line 477
6399      __cil_tmp22 = (unsigned long )(setup_counts) + __cil_tmp21;
6400#line 477
6401      __cil_tmp23 = *((u8 *)__cil_tmp22);
6402#line 477
6403      __cil_tmp24 = (int )__cil_tmp23;
6404#line 477
6405      __cil_tmp25 = (int )setup_count;
6406#line 477
6407      if (__cil_tmp25 < __cil_tmp24) {
6408#line 478
6409        __cil_tmp26 = mate * 1UL;
6410#line 478
6411        __cil_tmp27 = (unsigned long )(setup_counts) + __cil_tmp26;
6412#line 478
6413        setup_count = *((u8 *)__cil_tmp27);
6414      } else {
6415
6416      }
6417      }
6418      {
6419#line 479
6420      __cil_tmp28 = mate * 1UL;
6421#line 479
6422      __cil_tmp29 = (unsigned long )(active_counts) + __cil_tmp28;
6423#line 479
6424      __cil_tmp30 = *((u8 *)__cil_tmp29);
6425#line 479
6426      __cil_tmp31 = (int )__cil_tmp30;
6427#line 479
6428      __cil_tmp32 = (int )active_count;
6429#line 479
6430      if (__cil_tmp32 < __cil_tmp31) {
6431#line 480
6432        __cil_tmp33 = mate * 1UL;
6433#line 480
6434        __cil_tmp34 = (unsigned long )(active_counts) + __cil_tmp33;
6435#line 480
6436        active_count = *((u8 *)__cil_tmp34);
6437      } else {
6438
6439      }
6440      }
6441      {
6442#line 481
6443      __cil_tmp35 = mate * 1UL;
6444#line 481
6445      __cil_tmp36 = (unsigned long )(recovery_counts) + __cil_tmp35;
6446#line 481
6447      __cil_tmp37 = *((u8 *)__cil_tmp36);
6448#line 481
6449      __cil_tmp38 = (int )__cil_tmp37;
6450#line 481
6451      __cil_tmp39 = (int )recovery_count;
6452#line 481
6453      if (__cil_tmp39 < __cil_tmp38) {
6454#line 482
6455        __cil_tmp40 = mate * 1UL;
6456#line 482
6457        __cil_tmp41 = (unsigned long )(recovery_counts) + __cil_tmp40;
6458#line 482
6459        recovery_count = *((u8 *)__cil_tmp41);
6460      } else {
6461
6462      }
6463      }
6464    } else {
6465
6466    }
6467  } else {
6468
6469  }
6470#line 490
6471  if ((int )setup_count == 4) {
6472#line 490
6473    goto case_4;
6474  } else
6475#line 491
6476  if ((int )setup_count == 3) {
6477#line 491
6478    goto case_3;
6479  } else
6480#line 492
6481  if ((int )setup_count == 1) {
6482#line 492
6483    goto case_1;
6484  } else
6485#line 493
6486  if ((int )setup_count == 2) {
6487#line 493
6488    goto case_1;
6489  } else {
6490    {
6491#line 494
6492    goto switch_default;
6493#line 489
6494    if (0) {
6495      case_4: /* CIL Label */ 
6496#line 490
6497      setup_count = (u8 )0;
6498#line 490
6499      goto switch_break;
6500      case_3: /* CIL Label */ 
6501#line 491
6502      setup_count = (u8 )128;
6503#line 491
6504      goto switch_break;
6505      case_1: /* CIL Label */ 
6506      case_2: /* CIL Label */ 
6507#line 493
6508      setup_count = (u8 )64;
6509#line 493
6510      goto switch_break;
6511      switch_default: /* CIL Label */ 
6512#line 494
6513      setup_count = (u8 )192;
6514    } else {
6515      switch_break: /* CIL Label */ ;
6516    }
6517    }
6518  }
6519  {
6520#line 500
6521  while (1) {
6522    while_continue: /* CIL Label */ ;
6523    {
6524#line 500
6525    while (1) {
6526      while_continue___0: /* CIL Label */ ;
6527      {
6528#line 500
6529      tmp___8 = spinlock_check(& cmd640_lock);
6530#line 500
6531      flags = _raw_spin_lock_irqsave(tmp___8);
6532      }
6533#line 500
6534      goto while_break___0;
6535    }
6536    while_break___0: /* CIL Label */ ;
6537    }
6538#line 500
6539    goto while_break;
6540  }
6541  while_break: /* CIL Label */ ;
6542  }
6543  {
6544#line 506
6545  __cil_tmp42 = index * 1UL;
6546#line 506
6547  __cil_tmp43 = (unsigned long )(arttim_regs) + __cil_tmp42;
6548#line 506
6549  __cil_tmp44 = *((u8 *)__cil_tmp43);
6550#line 506
6551  __cil_tmp45 = (u16 )__cil_tmp44;
6552#line 506
6553  tmp___9 = (*__get_cmd640_reg)(__cil_tmp45);
6554#line 506
6555  __cil_tmp46 = (int )tmp___9;
6556#line 506
6557  __cil_tmp47 = __cil_tmp46 & 63;
6558#line 506
6559  __cil_tmp48 = (int )setup_count;
6560#line 506
6561  __cil_tmp49 = __cil_tmp48 | __cil_tmp47;
6562#line 506
6563  setup_count = (u8 )__cil_tmp49;
6564#line 507
6565  __cil_tmp50 = index * 1UL;
6566#line 507
6567  __cil_tmp51 = (unsigned long )(arttim_regs) + __cil_tmp50;
6568#line 507
6569  __cil_tmp52 = *((u8 *)__cil_tmp51);
6570#line 507
6571  __cil_tmp53 = (u16 )__cil_tmp52;
6572#line 507
6573  (*__put_cmd640_reg)(__cil_tmp53, setup_count);
6574#line 508
6575  tmp___10 = pack_nibbles(active_count, recovery_count);
6576#line 508
6577  __cil_tmp54 = index * 1UL;
6578#line 508
6579  __cil_tmp55 = (unsigned long )(drwtim_regs) + __cil_tmp54;
6580#line 508
6581  __cil_tmp56 = *((u8 *)__cil_tmp55);
6582#line 508
6583  __cil_tmp57 = (u16 )__cil_tmp56;
6584#line 508
6585  (*__put_cmd640_reg)(__cil_tmp57, tmp___10);
6586#line 509
6587  spin_unlock_irqrestore(& cmd640_lock, flags);
6588  }
6589#line 510
6590  return;
6591}
6592}
6593#line 515 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
6594static void cmd640_set_mode(ide_drive_t *drive , unsigned int index , u8 pio_mode ,
6595                            unsigned int cycle_time ) 
6596{ struct ide_timing *t ;
6597  int setup_time ;
6598  int active_time ;
6599  int recovery_time ;
6600  int clock_time ;
6601  u8 setup_count ;
6602  u8 active_count ;
6603  u8 recovery_count ;
6604  u8 recovery_count2 ;
6605  u8 cycle_count ;
6606  int bus_speed ;
6607  bool *__cil_tmp16 ;
6608  int __cil_tmp17 ;
6609  int __cil_tmp18 ;
6610  int __cil_tmp19 ;
6611  u8 __cil_tmp20 ;
6612  unsigned long __cil_tmp21 ;
6613  unsigned long __cil_tmp22 ;
6614  u8 __cil_tmp23 ;
6615  unsigned long __cil_tmp24 ;
6616  unsigned long __cil_tmp25 ;
6617  u16 __cil_tmp26 ;
6618  int __cil_tmp27 ;
6619  unsigned int __cil_tmp28 ;
6620  unsigned int __cil_tmp29 ;
6621  unsigned int __cil_tmp30 ;
6622  unsigned int __cil_tmp31 ;
6623  unsigned int __cil_tmp32 ;
6624  unsigned int __cil_tmp33 ;
6625  unsigned int __cil_tmp34 ;
6626  int __cil_tmp35 ;
6627  int __cil_tmp36 ;
6628  int __cil_tmp37 ;
6629  int __cil_tmp38 ;
6630  int __cil_tmp39 ;
6631  int __cil_tmp40 ;
6632  int __cil_tmp41 ;
6633  int __cil_tmp42 ;
6634  int __cil_tmp43 ;
6635  int __cil_tmp44 ;
6636  int __cil_tmp45 ;
6637  int __cil_tmp46 ;
6638  int __cil_tmp47 ;
6639  int __cil_tmp48 ;
6640  int __cil_tmp49 ;
6641  int __cil_tmp50 ;
6642  int __cil_tmp51 ;
6643  int __cil_tmp52 ;
6644  int __cil_tmp53 ;
6645  int __cil_tmp54 ;
6646  int __cil_tmp55 ;
6647  int __cil_tmp56 ;
6648  int __cil_tmp57 ;
6649  int __cil_tmp58 ;
6650  int __cil_tmp59 ;
6651  int __cil_tmp60 ;
6652  int __cil_tmp61 ;
6653  unsigned long __cil_tmp62 ;
6654  unsigned long __cil_tmp63 ;
6655  unsigned long __cil_tmp64 ;
6656  unsigned long __cil_tmp65 ;
6657  unsigned long __cil_tmp66 ;
6658  unsigned long __cil_tmp67 ;
6659
6660  {
6661  {
6662#line 523
6663  __cil_tmp16 = & cmd640_vlb;
6664#line 523
6665  if (*__cil_tmp16) {
6666#line 524
6667    if (ide_vlb_clk) {
6668#line 524
6669      bus_speed = ide_vlb_clk;
6670    } else {
6671#line 524
6672      bus_speed = 50;
6673    }
6674  } else
6675#line 526
6676  if (ide_pci_clk) {
6677#line 526
6678    bus_speed = ide_pci_clk;
6679  } else {
6680#line 526
6681    bus_speed = 33;
6682  }
6683  }
6684  {
6685#line 528
6686  __cil_tmp17 = (int )pio_mode;
6687#line 528
6688  if (__cil_tmp17 > 5) {
6689#line 529
6690    pio_mode = (u8 )5;
6691  } else {
6692
6693  }
6694  }
6695  {
6696#line 531
6697  __cil_tmp18 = (int )pio_mode;
6698#line 531
6699  __cil_tmp19 = 8 + __cil_tmp18;
6700#line 531
6701  __cil_tmp20 = (u8 )__cil_tmp19;
6702#line 531
6703  t = ide_timing_find_mode(__cil_tmp20);
6704#line 532
6705  __cil_tmp21 = (unsigned long )t;
6706#line 532
6707  __cil_tmp22 = __cil_tmp21 + 1;
6708#line 532
6709  __cil_tmp23 = *((u8 *)__cil_tmp22);
6710#line 532
6711  setup_time = (int )__cil_tmp23;
6712#line 533
6713  __cil_tmp24 = (unsigned long )t;
6714#line 533
6715  __cil_tmp25 = __cil_tmp24 + 8;
6716#line 533
6717  __cil_tmp26 = *((u16 *)__cil_tmp25);
6718#line 533
6719  active_time = (int )__cil_tmp26;
6720#line 535
6721  __cil_tmp27 = setup_time + active_time;
6722#line 535
6723  __cil_tmp28 = (unsigned int )__cil_tmp27;
6724#line 535
6725  __cil_tmp29 = cycle_time - __cil_tmp28;
6726#line 535
6727  recovery_time = (int )__cil_tmp29;
6728#line 536
6729  clock_time = 1000 / bus_speed;
6730#line 537
6731  __cil_tmp30 = (unsigned int )clock_time;
6732#line 537
6733  __cil_tmp31 = (unsigned int )clock_time;
6734#line 537
6735  __cil_tmp32 = cycle_time + __cil_tmp31;
6736#line 537
6737  __cil_tmp33 = __cil_tmp32 - 1U;
6738#line 537
6739  __cil_tmp34 = __cil_tmp33 / __cil_tmp30;
6740#line 537
6741  cycle_count = (u8 )__cil_tmp34;
6742#line 539
6743  __cil_tmp35 = setup_time + clock_time;
6744#line 539
6745  __cil_tmp36 = __cil_tmp35 - 1;
6746#line 539
6747  __cil_tmp37 = __cil_tmp36 / clock_time;
6748#line 539
6749  setup_count = (u8 )__cil_tmp37;
6750#line 541
6751  __cil_tmp38 = active_time + clock_time;
6752#line 541
6753  __cil_tmp39 = __cil_tmp38 - 1;
6754#line 541
6755  __cil_tmp40 = __cil_tmp39 / clock_time;
6756#line 541
6757  active_count = (u8 )__cil_tmp40;
6758  }
6759  {
6760#line 542
6761  __cil_tmp41 = (int )active_count;
6762#line 542
6763  if (__cil_tmp41 < 2) {
6764#line 543
6765    active_count = (u8 )2;
6766  } else {
6767
6768  }
6769  }
6770#line 545
6771  __cil_tmp42 = recovery_time + clock_time;
6772#line 545
6773  __cil_tmp43 = __cil_tmp42 - 1;
6774#line 545
6775  __cil_tmp44 = __cil_tmp43 / clock_time;
6776#line 545
6777  recovery_count = (u8 )__cil_tmp44;
6778#line 546
6779  __cil_tmp45 = (int )active_count;
6780#line 546
6781  __cil_tmp46 = (int )setup_count;
6782#line 546
6783  __cil_tmp47 = __cil_tmp46 + __cil_tmp45;
6784#line 546
6785  __cil_tmp48 = (int )cycle_count;
6786#line 546
6787  __cil_tmp49 = __cil_tmp48 - __cil_tmp47;
6788#line 546
6789  recovery_count2 = (u8 )__cil_tmp49;
6790  {
6791#line 547
6792  __cil_tmp50 = (int )recovery_count;
6793#line 547
6794  __cil_tmp51 = (int )recovery_count2;
6795#line 547
6796  if (__cil_tmp51 > __cil_tmp50) {
6797#line 548
6798    recovery_count = recovery_count2;
6799  } else {
6800
6801  }
6802  }
6803  {
6804#line 549
6805  __cil_tmp52 = (int )recovery_count;
6806#line 549
6807  if (__cil_tmp52 < 2) {
6808#line 550
6809    recovery_count = (u8 )2;
6810  } else {
6811
6812  }
6813  }
6814  {
6815#line 551
6816  __cil_tmp53 = (int )recovery_count;
6817#line 551
6818  if (__cil_tmp53 > 17) {
6819#line 552
6820    __cil_tmp54 = (int )recovery_count;
6821#line 552
6822    __cil_tmp55 = __cil_tmp54 - 17;
6823#line 552
6824    __cil_tmp56 = (int )active_count;
6825#line 552
6826    __cil_tmp57 = __cil_tmp56 + __cil_tmp55;
6827#line 552
6828    active_count = (u8 )__cil_tmp57;
6829#line 553
6830    recovery_count = (u8 )17;
6831  } else {
6832
6833  }
6834  }
6835  {
6836#line 555
6837  __cil_tmp58 = (int )active_count;
6838#line 555
6839  if (__cil_tmp58 > 16) {
6840#line 556
6841    active_count = (u8 )16;
6842  } else {
6843
6844  }
6845  }
6846#line 557
6847  if (cmd640_chip_version > 1U) {
6848#line 558
6849    __cil_tmp59 = (int )recovery_count;
6850#line 558
6851    __cil_tmp60 = __cil_tmp59 - 1;
6852#line 558
6853    recovery_count = (u8 )__cil_tmp60;
6854  } else {
6855
6856  }
6857  {
6858#line 559
6859  __cil_tmp61 = (int )recovery_count;
6860#line 559
6861  if (__cil_tmp61 > 16) {
6862#line 560
6863    recovery_count = (u8 )16;
6864  } else {
6865
6866  }
6867  }
6868  {
6869#line 562
6870  __cil_tmp62 = index * 1UL;
6871#line 562
6872  __cil_tmp63 = (unsigned long )(setup_counts) + __cil_tmp62;
6873#line 562
6874  *((u8 *)__cil_tmp63) = setup_count;
6875#line 563
6876  __cil_tmp64 = index * 1UL;
6877#line 563
6878  __cil_tmp65 = (unsigned long )(active_counts) + __cil_tmp64;
6879#line 563
6880  *((u8 *)__cil_tmp65) = active_count;
6881#line 564
6882  __cil_tmp66 = index * 1UL;
6883#line 564
6884  __cil_tmp67 = (unsigned long )(recovery_counts) + __cil_tmp66;
6885#line 564
6886  *((u8 *)__cil_tmp67) = recovery_count;
6887#line 574
6888  program_drive_counts(drive, index);
6889  }
6890#line 575
6891  return;
6892}
6893}
6894#line 577 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
6895static void cmd640_set_pio_mode(ide_hwif_t *hwif , ide_drive_t *drive ) 
6896{ unsigned int index ;
6897  unsigned int cycle_time ;
6898  u8 pio ;
6899  u8 b ;
6900  u8 tmp___7 ;
6901  char const   *tmp___8 ;
6902  char const   *tmp___9 ;
6903  u16 tmp___10 ;
6904  unsigned long __cil_tmp11 ;
6905  unsigned long __cil_tmp12 ;
6906  u8 __cil_tmp13 ;
6907  int __cil_tmp14 ;
6908  int __cil_tmp15 ;
6909  u16 __cil_tmp16 ;
6910  int __cil_tmp17 ;
6911  int __cil_tmp18 ;
6912  int __cil_tmp19 ;
6913  int __cil_tmp20 ;
6914  int __cil_tmp21 ;
6915  u16 __cil_tmp22 ;
6916  int __cil_tmp23 ;
6917  unsigned long __cil_tmp24 ;
6918  unsigned long __cil_tmp25 ;
6919  unsigned long __cil_tmp26 ;
6920  unsigned long __cil_tmp27 ;
6921  char *__cil_tmp28 ;
6922  int __cil_tmp29 ;
6923  int __cil_tmp30 ;
6924  int __cil_tmp31 ;
6925  unsigned long __cil_tmp32 ;
6926  unsigned long __cil_tmp33 ;
6927  unsigned long __cil_tmp34 ;
6928  unsigned long __cil_tmp35 ;
6929  char *__cil_tmp36 ;
6930  unsigned long __cil_tmp37 ;
6931  unsigned long __cil_tmp38 ;
6932  unsigned long __cil_tmp39 ;
6933  unsigned long __cil_tmp40 ;
6934  char *__cil_tmp41 ;
6935  int __cil_tmp42 ;
6936
6937  {
6938#line 579
6939  index = 0U;
6940#line 580
6941  __cil_tmp11 = (unsigned long )drive;
6942#line 580
6943  __cil_tmp12 = __cil_tmp11 + 112;
6944#line 580
6945  __cil_tmp13 = *((u8 *)__cil_tmp12);
6946#line 580
6947  __cil_tmp14 = (int )__cil_tmp13;
6948#line 580
6949  __cil_tmp15 = __cil_tmp14 - 8;
6950#line 580
6951  pio = (u8 )__cil_tmp15;
6952#line 584
6953  if ((int )pio == 6) {
6954#line 584
6955    goto case_6;
6956  } else
6957#line 585
6958  if ((int )pio == 7) {
6959#line 585
6960    goto case_6;
6961  } else
6962#line 593
6963  if ((int )pio == 8) {
6964#line 593
6965    goto case_8;
6966  } else
6967#line 594
6968  if ((int )pio == 9) {
6969#line 594
6970    goto case_8;
6971  } else
6972#line 583
6973  if (0) {
6974    case_6: /* CIL Label */ 
6975    case_7: /* CIL Label */ 
6976    {
6977#line 586
6978    __cil_tmp16 = (u16 )81;
6979#line 586
6980    tmp___7 = get_cmd640_reg(__cil_tmp16);
6981#line 586
6982    __cil_tmp17 = (int )tmp___7;
6983#line 586
6984    __cil_tmp18 = __cil_tmp17 & -40;
6985#line 586
6986    b = (u8 )__cil_tmp18;
6987    }
6988    {
6989#line 587
6990    __cil_tmp19 = (int )pio;
6991#line 587
6992    if (__cil_tmp19 & 1) {
6993#line 588
6994      __cil_tmp20 = (int )b;
6995#line 588
6996      __cil_tmp21 = __cil_tmp20 | 39;
6997#line 588
6998      b = (u8 )__cil_tmp21;
6999    } else {
7000
7001    }
7002    }
7003    {
7004#line 589
7005    __cil_tmp22 = (u16 )81;
7006#line 589
7007    put_cmd640_reg(__cil_tmp22, b);
7008    }
7009    {
7010#line 590
7011    __cil_tmp23 = (int )pio;
7012#line 590
7013    if (__cil_tmp23 & 1) {
7014#line 590
7015      tmp___8 = "en";
7016    } else {
7017#line 590
7018      tmp___8 = "dis";
7019    }
7020    }
7021    {
7022#line 590
7023    __cil_tmp24 = 0 * 1UL;
7024#line 590
7025    __cil_tmp25 = 0 + __cil_tmp24;
7026#line 590
7027    __cil_tmp26 = (unsigned long )drive;
7028#line 590
7029    __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
7030#line 590
7031    __cil_tmp28 = (char *)__cil_tmp27;
7032#line 590
7033    printk("%s: %sabled cmd640 fast host timing (devsel)\n", __cil_tmp28, tmp___8);
7034    }
7035#line 592
7036    return;
7037    case_8: /* CIL Label */ 
7038    case_9: /* CIL Label */ 
7039    {
7040#line 595
7041    __cil_tmp29 = (int )pio;
7042#line 595
7043    __cil_tmp30 = __cil_tmp29 & 1;
7044#line 595
7045    set_prefetch_mode(drive, index, __cil_tmp30);
7046    }
7047    {
7048#line 596
7049    __cil_tmp31 = (int )pio;
7050#line 596
7051    if (__cil_tmp31 & 1) {
7052#line 596
7053      tmp___9 = "en";
7054    } else {
7055#line 596
7056      tmp___9 = "dis";
7057    }
7058    }
7059    {
7060#line 596
7061    __cil_tmp32 = 0 * 1UL;
7062#line 596
7063    __cil_tmp33 = 0 + __cil_tmp32;
7064#line 596
7065    __cil_tmp34 = (unsigned long )drive;
7066#line 596
7067    __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
7068#line 596
7069    __cil_tmp36 = (char *)__cil_tmp35;
7070#line 596
7071    printk("%s: %sabled cmd640 prefetch\n", __cil_tmp36, tmp___9);
7072    }
7073#line 598
7074    return;
7075  } else {
7076    switch_break: /* CIL Label */ ;
7077  }
7078  {
7079#line 601
7080  tmp___10 = ide_pio_cycle_time(drive, pio);
7081#line 601
7082  cycle_time = (unsigned int )tmp___10;
7083#line 602
7084  cmd640_set_mode(drive, index, pio, cycle_time);
7085#line 604
7086  __cil_tmp37 = 0 * 1UL;
7087#line 604
7088  __cil_tmp38 = 0 + __cil_tmp37;
7089#line 604
7090  __cil_tmp39 = (unsigned long )drive;
7091#line 604
7092  __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
7093#line 604
7094  __cil_tmp41 = (char *)__cil_tmp40;
7095#line 604
7096  __cil_tmp42 = (int )pio;
7097#line 604
7098  printk("%s: selected cmd640 PIO mode%d (%dns)", __cil_tmp41, __cil_tmp42, cycle_time);
7099#line 607
7100  display_clocks(index);
7101  }
7102#line 608
7103  return;
7104}
7105}
7106#line 611
7107static void cmd640_init_dev(ide_drive_t *drive )  __attribute__((__section__(".init.text"),
7108__no_instrument_function__)) ;
7109#line 611 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7110static void cmd640_init_dev(ide_drive_t *drive ) 
7111{ unsigned int i ;
7112  unsigned long __cil_tmp3 ;
7113  unsigned long __cil_tmp4 ;
7114  u8 __cil_tmp5 ;
7115  int __cil_tmp6 ;
7116  int __cil_tmp7 ;
7117  unsigned long __cil_tmp8 ;
7118  unsigned long __cil_tmp9 ;
7119  struct hwif_s *__cil_tmp10 ;
7120  unsigned long __cil_tmp11 ;
7121  unsigned long __cil_tmp12 ;
7122  u8 __cil_tmp13 ;
7123  int __cil_tmp14 ;
7124  int __cil_tmp15 ;
7125  int __cil_tmp16 ;
7126  unsigned long __cil_tmp17 ;
7127  unsigned long __cil_tmp18 ;
7128  unsigned long __cil_tmp19 ;
7129  unsigned long __cil_tmp20 ;
7130  unsigned long __cil_tmp21 ;
7131  unsigned long __cil_tmp22 ;
7132
7133  {
7134  {
7135#line 613
7136  __cil_tmp3 = (unsigned long )drive;
7137#line 613
7138  __cil_tmp4 = __cil_tmp3 + 114;
7139#line 613
7140  __cil_tmp5 = *((u8 *)__cil_tmp4);
7141#line 613
7142  __cil_tmp6 = (int )__cil_tmp5;
7143#line 613
7144  __cil_tmp7 = __cil_tmp6 & 1;
7145#line 613
7146  __cil_tmp8 = (unsigned long )drive;
7147#line 613
7148  __cil_tmp9 = __cil_tmp8 + 64;
7149#line 613
7150  __cil_tmp10 = *((struct hwif_s **)__cil_tmp9);
7151#line 613
7152  __cil_tmp11 = (unsigned long )__cil_tmp10;
7153#line 613
7154  __cil_tmp12 = __cil_tmp11 + 170;
7155#line 613
7156  __cil_tmp13 = *((u8 *)__cil_tmp12);
7157#line 613
7158  __cil_tmp14 = (int )__cil_tmp13;
7159#line 613
7160  __cil_tmp15 = __cil_tmp14 * 2;
7161#line 613
7162  __cil_tmp16 = __cil_tmp15 + __cil_tmp7;
7163#line 613
7164  i = (unsigned int )__cil_tmp16;
7165#line 620
7166  __cil_tmp17 = i * 1UL;
7167#line 620
7168  __cil_tmp18 = (unsigned long )(setup_counts) + __cil_tmp17;
7169#line 620
7170  *((u8 *)__cil_tmp18) = (u8 )4;
7171#line 621
7172  __cil_tmp19 = i * 1UL;
7173#line 621
7174  __cil_tmp20 = (unsigned long )(active_counts) + __cil_tmp19;
7175#line 621
7176  *((u8 *)__cil_tmp20) = (u8 )16;
7177#line 622
7178  __cil_tmp21 = i * 1UL;
7179#line 622
7180  __cil_tmp22 = (unsigned long )(recovery_counts) + __cil_tmp21;
7181#line 622
7182  *((u8 *)__cil_tmp22) = (u8 )16;
7183#line 623
7184  program_drive_counts(drive, i);
7185#line 624
7186  set_prefetch_mode(drive, i, 0);
7187#line 625
7188  printk("<6>cmd640: drive%d timings/prefetch cleared\n", i);
7189  }
7190#line 634
7191  return;
7192}
7193}
7194#line 636 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7195static int cmd640_test_irq(ide_hwif_t *hwif ) 
7196{ int irq_reg ;
7197  int tmp___7 ;
7198  u8 irq_mask ;
7199  int tmp___8 ;
7200  u8 irq_stat___0 ;
7201  u8 tmp___9 ;
7202  int tmp___10 ;
7203  unsigned long __cil_tmp9 ;
7204  unsigned long __cil_tmp10 ;
7205  unsigned long __cil_tmp11 ;
7206  unsigned long __cil_tmp12 ;
7207  u16 __cil_tmp13 ;
7208  int __cil_tmp14 ;
7209  int __cil_tmp15 ;
7210
7211  {
7212  {
7213#line 638
7214  __cil_tmp9 = (unsigned long )hwif;
7215#line 638
7216  __cil_tmp10 = __cil_tmp9 + 170;
7217#line 638
7218  if (*((u8 *)__cil_tmp10)) {
7219#line 638
7220    tmp___7 = 87;
7221  } else {
7222#line 638
7223    tmp___7 = 80;
7224  }
7225  }
7226#line 638
7227  irq_reg = tmp___7;
7228  {
7229#line 639
7230  __cil_tmp11 = (unsigned long )hwif;
7231#line 639
7232  __cil_tmp12 = __cil_tmp11 + 170;
7233#line 639
7234  if (*((u8 *)__cil_tmp12)) {
7235#line 639
7236    tmp___8 = 16;
7237  } else {
7238#line 639
7239    tmp___8 = 4;
7240  }
7241  }
7242  {
7243#line 639
7244  irq_mask = (u8 )tmp___8;
7245#line 641
7246  __cil_tmp13 = (u16 )irq_reg;
7247#line 641
7248  tmp___9 = get_cmd640_reg(__cil_tmp13);
7249#line 641
7250  irq_stat___0 = tmp___9;
7251  }
7252  {
7253#line 643
7254  __cil_tmp14 = (int )irq_mask;
7255#line 643
7256  __cil_tmp15 = (int )irq_stat___0;
7257#line 643
7258  if (__cil_tmp15 & __cil_tmp14) {
7259#line 643
7260    tmp___10 = 1;
7261  } else {
7262#line 643
7263    tmp___10 = 0;
7264  }
7265  }
7266#line 643
7267  return (tmp___10);
7268}
7269}
7270#line 646 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7271static struct ide_port_ops  const  cmd640_port_ops  = 
7272#line 646
7273     {& cmd640_init_dev, & cmd640_set_pio_mode, (void (*)(struct hwif_s * , ide_drive_t * ))0,
7274    (int (*)(ide_drive_t * ))0, (void (*)(ide_drive_t * ))0, (void (*)(ide_drive_t * ))0,
7275    (void (*)(ide_drive_t * , int  ))0, (void (*)(ide_drive_t * ))0, (void (*)(ide_drive_t * ))0,
7276    & cmd640_test_irq, (u8 (*)(ide_drive_t * ))0, (u8 (*)(ide_drive_t * ))0, (u8 (*)(struct hwif_s * ))0};
7277#line 654 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7278static int pci_conf1(void) 
7279{ unsigned long flags ;
7280  u32 tmp___7 ;
7281  raw_spinlock_t *tmp___8 ;
7282  unsigned int tmp___9 ;
7283
7284  {
7285  {
7286#line 659
7287  while (1) {
7288    while_continue: /* CIL Label */ ;
7289    {
7290#line 659
7291    while (1) {
7292      while_continue___0: /* CIL Label */ ;
7293      {
7294#line 659
7295      tmp___8 = spinlock_check(& cmd640_lock);
7296#line 659
7297      flags = _raw_spin_lock_irqsave(tmp___8);
7298      }
7299#line 659
7300      goto while_break___0;
7301    }
7302    while_break___0: /* CIL Label */ ;
7303    }
7304#line 659
7305    goto while_break;
7306  }
7307  while_break: /* CIL Label */ ;
7308  }
7309  {
7310#line 660
7311  outb((unsigned char)1, 3323);
7312#line 661
7313  tmp___7 = inl(3320);
7314#line 662
7315  outl(2147483648U, 3320);
7316#line 663
7317  tmp___9 = inl(3320);
7318  }
7319#line 663
7320  if (tmp___9 == 2147483648U) {
7321    {
7322#line 664
7323    outl(tmp___7, 3320);
7324#line 665
7325    spin_unlock_irqrestore(& cmd640_lock, flags);
7326    }
7327#line 666
7328    return (1);
7329  } else {
7330
7331  }
7332  {
7333#line 668
7334  outl(tmp___7, 3320);
7335#line 669
7336  spin_unlock_irqrestore(& cmd640_lock, flags);
7337  }
7338#line 670
7339  return (0);
7340}
7341}
7342#line 673 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7343static int pci_conf2(void) 
7344{ unsigned long flags ;
7345  raw_spinlock_t *tmp___7 ;
7346  unsigned char tmp___8 ;
7347  unsigned char tmp___9 ;
7348  int __cil_tmp7 ;
7349  int __cil_tmp8 ;
7350
7351  {
7352  {
7353#line 677
7354  while (1) {
7355    while_continue: /* CIL Label */ ;
7356    {
7357#line 677
7358    while (1) {
7359      while_continue___0: /* CIL Label */ ;
7360      {
7361#line 677
7362      tmp___7 = spinlock_check(& cmd640_lock);
7363#line 677
7364      flags = _raw_spin_lock_irqsave(tmp___7);
7365      }
7366#line 677
7367      goto while_break___0;
7368    }
7369    while_break___0: /* CIL Label */ ;
7370    }
7371#line 677
7372    goto while_break;
7373  }
7374  while_break: /* CIL Label */ ;
7375  }
7376  {
7377#line 678
7378  outb((unsigned char)0, 3323);
7379#line 679
7380  outb((unsigned char)0, 3320);
7381#line 680
7382  outb((unsigned char)0, 3322);
7383#line 681
7384  tmp___8 = inb(3320);
7385  }
7386  {
7387#line 681
7388  __cil_tmp7 = (int )tmp___8;
7389#line 681
7390  if (__cil_tmp7 == 0) {
7391    {
7392#line 681
7393    tmp___9 = inb(3320);
7394    }
7395    {
7396#line 681
7397    __cil_tmp8 = (int )tmp___9;
7398#line 681
7399    if (__cil_tmp8 == 0) {
7400      {
7401#line 682
7402      spin_unlock_irqrestore(& cmd640_lock, flags);
7403      }
7404#line 683
7405      return (1);
7406    } else {
7407
7408    }
7409    }
7410  } else {
7411
7412  }
7413  }
7414  {
7415#line 685
7416  spin_unlock_irqrestore(& cmd640_lock, flags);
7417  }
7418#line 686
7419  return (0);
7420}
7421}
7422#line 689 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7423static struct ide_port_info  const  cmd640_port_info  __attribute__((__section__(".init.data")))  = 
7424#line 689
7425     {(char *)0, (int (*)(struct pci_dev * ))0, (void (*)(irqreturn_t (*)(int  , void * ) ,
7426                                                        void * ))0, (void (*)(void))0,
7427    (void (*)(ide_hwif_t * ))0, (void (*)(ide_hwif_t * ))0, (int (*)(ide_hwif_t * ,
7428                                                                     struct ide_port_info  const  * ))0,
7429    (struct ide_tp_ops  const  *)0, & cmd640_port_ops, (struct ide_dma_ops  const  *)0,
7430    {{(unsigned char)0, (unsigned char)0, (unsigned char)0}, {(unsigned char)0, (unsigned char)0,
7431                                                              (unsigned char)0}},
7432    (hwif_chipset_t )3, (unsigned short)0, (u32 )1065008, 0, (u8 )63, (unsigned char)0,
7433    (unsigned char)0, (unsigned char)0};
7434#line 699 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7435static int cmd640x_init_one(unsigned long base , unsigned long ctl ) 
7436{ struct resource *tmp___7 ;
7437  struct resource *tmp___8 ;
7438  resource_size_t __cil_tmp5 ;
7439  resource_size_t __cil_tmp6 ;
7440  unsigned long __cil_tmp7 ;
7441  resource_size_t __cil_tmp8 ;
7442  resource_size_t __cil_tmp9 ;
7443  resource_size_t __cil_tmp10 ;
7444  resource_size_t __cil_tmp11 ;
7445
7446  {
7447  {
7448#line 701
7449  __cil_tmp5 = (resource_size_t )base;
7450#line 701
7451  __cil_tmp6 = (resource_size_t )8;
7452#line 701
7453  tmp___7 = __request_region(& ioport_resource, __cil_tmp5, __cil_tmp6, "cmd640",
7454                             0);
7455  }
7456#line 701
7457  if (tmp___7) {
7458
7459  } else {
7460    {
7461#line 702
7462    __cil_tmp7 = base + 7UL;
7463#line 702
7464    printk("<3>%s: I/O resource 0x%lX-0x%lX not free.\n", "cmd640", base, __cil_tmp7);
7465    }
7466#line 704
7467    return (-16);
7468  }
7469  {
7470#line 707
7471  __cil_tmp8 = (resource_size_t )ctl;
7472#line 707
7473  __cil_tmp9 = (resource_size_t )1;
7474#line 707
7475  tmp___8 = __request_region(& ioport_resource, __cil_tmp8, __cil_tmp9, "cmd640",
7476                             0);
7477  }
7478#line 707
7479  if (tmp___8) {
7480
7481  } else {
7482    {
7483#line 708
7484    printk("<3>%s: I/O resource 0x%lX not free.\n", "cmd640", ctl);
7485#line 710
7486    __cil_tmp10 = (resource_size_t )base;
7487#line 710
7488    __cil_tmp11 = (resource_size_t )8;
7489#line 710
7490    __release_region(& ioport_resource, __cil_tmp10, __cil_tmp11);
7491    }
7492#line 711
7493    return (-16);
7494  }
7495#line 714
7496  return (0);
7497}
7498}
7499#line 720
7500static int cmd640x_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
7501#line 720 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7502static int cmd640x_init(void) 
7503{ int second_port_cmd640 ;
7504  int rc ;
7505  char const   *bus_type ;
7506  char const   *port2 ;
7507  u8 b ;
7508  u8 cfr ;
7509  struct ide_hw hw[2] ;
7510  struct ide_hw *hws[2] ;
7511  int tmp___7 ;
7512  int tmp___8 ;
7513  int tmp___9 ;
7514  int tmp___10 ;
7515  int tmp___11 ;
7516  u8 tmp___12 ;
7517  int tmp___13 ;
7518  int tmp___14 ;
7519  char const   *tmp___15 ;
7520  int tmp___16 ;
7521  int tmp___17 ;
7522  bool *__cil_tmp20 ;
7523  bool *__cil_tmp21 ;
7524  u16 __cil_tmp22 ;
7525  u8 __cil_tmp23 ;
7526  u16 __cil_tmp24 ;
7527  int __cil_tmp25 ;
7528  u16 __cil_tmp26 ;
7529  u8 __cil_tmp27 ;
7530  u16 __cil_tmp28 ;
7531  int __cil_tmp29 ;
7532  int __cil_tmp30 ;
7533  resource_size_t __cil_tmp31 ;
7534  resource_size_t __cil_tmp32 ;
7535  resource_size_t __cil_tmp33 ;
7536  resource_size_t __cil_tmp34 ;
7537  void *__cil_tmp35 ;
7538  unsigned long __cil_tmp36 ;
7539  unsigned long __cil_tmp37 ;
7540  struct ide_hw *__cil_tmp38 ;
7541  unsigned long __cil_tmp39 ;
7542  unsigned long __cil_tmp40 ;
7543  unsigned long __cil_tmp41 ;
7544  unsigned long __cil_tmp42 ;
7545  unsigned long __cil_tmp43 ;
7546  struct ide_hw *__cil_tmp44 ;
7547  unsigned long __cil_tmp45 ;
7548  unsigned long __cil_tmp46 ;
7549  unsigned long __cil_tmp47 ;
7550  unsigned int __cil_tmp48 ;
7551  unsigned int __cil_tmp49 ;
7552  int __cil_tmp50 ;
7553  unsigned long __cil_tmp51 ;
7554  unsigned long __cil_tmp52 ;
7555  unsigned long __cil_tmp53 ;
7556  unsigned long __cil_tmp54 ;
7557  u16 __cil_tmp55 ;
7558  u8 __cil_tmp56 ;
7559  u16 __cil_tmp57 ;
7560  u8 __cil_tmp58 ;
7561  u16 __cil_tmp59 ;
7562  int __cil_tmp60 ;
7563  bool *__cil_tmp61 ;
7564  u16 __cil_tmp62 ;
7565  int __cil_tmp63 ;
7566  int __cil_tmp64 ;
7567  u8 __cil_tmp65 ;
7568  u16 __cil_tmp66 ;
7569  unsigned long __cil_tmp67 ;
7570  unsigned long __cil_tmp68 ;
7571  unsigned long __cil_tmp69 ;
7572  unsigned long __cil_tmp70 ;
7573  unsigned long __cil_tmp71 ;
7574  unsigned long __cil_tmp72 ;
7575  struct ide_hw **__cil_tmp73 ;
7576  unsigned int __cil_tmp74 ;
7577  void *__cil_tmp75 ;
7578  struct ide_host **__cil_tmp76 ;
7579
7580  {
7581#line 722
7582  second_port_cmd640 = 0;
7583  {
7584#line 727
7585  __cil_tmp20 = & cmd640_vlb;
7586#line 727
7587  if (*__cil_tmp20) {
7588    {
7589#line 727
7590    tmp___11 = probe_for_cmd640_vlb();
7591    }
7592#line 727
7593    if (tmp___11) {
7594#line 728
7595      bus_type = "VLB";
7596    } else {
7597#line 727
7598      goto _L___0;
7599    }
7600  } else {
7601    _L___0: /* CIL Label */ 
7602    {
7603#line 730
7604    __cil_tmp21 = & cmd640_vlb;
7605#line 730
7606    *__cil_tmp21 = (bool )0;
7607#line 733
7608    tmp___9 = pci_conf1();
7609    }
7610#line 733
7611    if (tmp___9) {
7612      {
7613#line 733
7614      tmp___10 = probe_for_cmd640_pci1();
7615      }
7616#line 733
7617      if (tmp___10) {
7618#line 734
7619        bus_type = "PCI (type1)";
7620      } else {
7621#line 733
7622        goto _L;
7623      }
7624    } else {
7625      _L: /* CIL Label */ 
7626      {
7627#line 735
7628      tmp___7 = pci_conf2();
7629      }
7630#line 735
7631      if (tmp___7) {
7632        {
7633#line 735
7634        tmp___8 = probe_for_cmd640_pci2();
7635        }
7636#line 735
7637        if (tmp___8) {
7638#line 736
7639          bus_type = "PCI (type2)";
7640        } else {
7641#line 738
7642          return (0);
7643        }
7644      } else {
7645#line 738
7646        return (0);
7647      }
7648    }
7649  }
7650  }
7651  {
7652#line 743
7653  __cil_tmp22 = (u16 )91;
7654#line 743
7655  __cil_tmp23 = (u8 )189;
7656#line 743
7657  put_cmd640_reg(__cil_tmp22, __cil_tmp23);
7658#line 744
7659  __cil_tmp24 = (u16 )91;
7660#line 744
7661  tmp___12 = get_cmd640_reg(__cil_tmp24);
7662  }
7663  {
7664#line 744
7665  __cil_tmp25 = (int )tmp___12;
7666#line 744
7667  if (__cil_tmp25 != 189) {
7668    {
7669#line 745
7670    printk("<3>ide: cmd640 init failed: wrong value in reg 0x5b\n");
7671    }
7672#line 746
7673    return (0);
7674  } else {
7675
7676  }
7677  }
7678  {
7679#line 748
7680  __cil_tmp26 = (u16 )91;
7681#line 748
7682  __cil_tmp27 = (u8 )0;
7683#line 748
7684  put_cmd640_reg(__cil_tmp26, __cil_tmp27);
7685#line 757
7686  __cil_tmp28 = (u16 )80;
7687#line 757
7688  cfr = get_cmd640_reg(__cil_tmp28);
7689#line 758
7690  __cil_tmp29 = (int )cfr;
7691#line 758
7692  __cil_tmp30 = __cil_tmp29 & 3;
7693#line 758
7694  cmd640_chip_version = (unsigned int )__cil_tmp30;
7695  }
7696#line 759
7697  if (cmd640_chip_version == 0U) {
7698    {
7699#line 760
7700    printk("ide: bad cmd640 revision: %d\n", cmd640_chip_version);
7701    }
7702#line 761
7703    return (0);
7704  } else {
7705
7706  }
7707  {
7708#line 764
7709  rc = cmd640x_init_one(496UL, 1014UL);
7710  }
7711#line 765
7712  if (rc) {
7713#line 766
7714    return (rc);
7715  } else {
7716
7717  }
7718  {
7719#line 768
7720  rc = cmd640x_init_one(368UL, 886UL);
7721  }
7722#line 769
7723  if (rc) {
7724    {
7725#line 770
7726    __cil_tmp31 = (resource_size_t )1014;
7727#line 770
7728    __cil_tmp32 = (resource_size_t )1;
7729#line 770
7730    __release_region(& ioport_resource, __cil_tmp31, __cil_tmp32);
7731#line 771
7732    __cil_tmp33 = (resource_size_t )496;
7733#line 771
7734    __cil_tmp34 = (resource_size_t )8;
7735#line 771
7736    __release_region(& ioport_resource, __cil_tmp33, __cil_tmp34);
7737    }
7738#line 772
7739    return (rc);
7740  } else {
7741
7742  }
7743  {
7744#line 775
7745  __cil_tmp35 = (void *)(& hw);
7746#line 775
7747  memset(__cil_tmp35, 0, 224UL);
7748#line 777
7749  __cil_tmp36 = 0 * 112UL;
7750#line 777
7751  __cil_tmp37 = (unsigned long )(hw) + __cil_tmp36;
7752#line 777
7753  __cil_tmp38 = (struct ide_hw *)__cil_tmp37;
7754#line 777
7755  ide_std_init_ports(__cil_tmp38, 496UL, 1014UL);
7756#line 778
7757  __cil_tmp39 = 0 * 112UL;
7758#line 778
7759  __cil_tmp40 = __cil_tmp39 + 80;
7760#line 778
7761  __cil_tmp41 = (unsigned long )(hw) + __cil_tmp40;
7762#line 778
7763  *((int *)__cil_tmp41) = 14;
7764#line 780
7765  __cil_tmp42 = 1 * 112UL;
7766#line 780
7767  __cil_tmp43 = (unsigned long )(hw) + __cil_tmp42;
7768#line 780
7769  __cil_tmp44 = (struct ide_hw *)__cil_tmp43;
7770#line 780
7771  ide_std_init_ports(__cil_tmp44, 368UL, 886UL);
7772#line 781
7773  __cil_tmp45 = 1 * 112UL;
7774#line 781
7775  __cil_tmp46 = __cil_tmp45 + 80;
7776#line 781
7777  __cil_tmp47 = (unsigned long )(hw) + __cil_tmp46;
7778#line 781
7779  *((int *)__cil_tmp47) = 15;
7780#line 783
7781  __cil_tmp48 = 97U + cmd640_chip_version;
7782#line 783
7783  __cil_tmp49 = __cil_tmp48 - 1U;
7784#line 783
7785  __cil_tmp50 = (int )cfr;
7786#line 783
7787  printk("<6>cmd640: buggy cmd640%c interface on %s, config=0x%02x\n", __cil_tmp49,
7788         bus_type, __cil_tmp50);
7789#line 789
7790  __cil_tmp51 = 0 * 8UL;
7791#line 789
7792  __cil_tmp52 = (unsigned long )(hws) + __cil_tmp51;
7793#line 789
7794  __cil_tmp53 = 0 * 112UL;
7795#line 789
7796  __cil_tmp54 = (unsigned long )(hw) + __cil_tmp53;
7797#line 789
7798  *((struct ide_hw **)__cil_tmp52) = (struct ide_hw *)__cil_tmp54;
7799#line 798
7800  __cil_tmp55 = (u16 )82;
7801#line 798
7802  __cil_tmp56 = (u8 )0;
7803#line 798
7804  put_cmd640_reg(__cil_tmp55, __cil_tmp56);
7805#line 799
7806  __cil_tmp57 = (u16 )89;
7807#line 799
7808  __cil_tmp58 = (u8 )64;
7809#line 799
7810  put_cmd640_reg(__cil_tmp57, __cil_tmp58);
7811#line 801
7812  __cil_tmp59 = (u16 )81;
7813#line 801
7814  b = get_cmd640_reg(__cil_tmp59);
7815#line 806
7816  tmp___14 = secondary_port_responding();
7817  }
7818#line 806
7819  if (tmp___14) {
7820    {
7821#line 807
7822    __cil_tmp60 = (int )b;
7823#line 807
7824    if (__cil_tmp60 & 8) {
7825#line 808
7826      second_port_cmd640 = 1;
7827#line 809
7828      port2 = "okay";
7829    } else {
7830      {
7831#line 810
7832      __cil_tmp61 = & cmd640_vlb;
7833#line 810
7834      if (*__cil_tmp61) {
7835#line 811
7836        second_port_cmd640 = 1;
7837#line 812
7838        port2 = "alive";
7839      } else {
7840#line 814
7841        port2 = "not cmd640";
7842      }
7843      }
7844    }
7845    }
7846  } else {
7847    {
7848#line 816
7849    __cil_tmp62 = (u16 )81;
7850#line 816
7851    __cil_tmp63 = (int )b;
7852#line 816
7853    __cil_tmp64 = __cil_tmp63 ^ 8;
7854#line 816
7855    __cil_tmp65 = (u8 )__cil_tmp64;
7856#line 816
7857    put_cmd640_reg(__cil_tmp62, __cil_tmp65);
7858#line 817
7859    tmp___13 = secondary_port_responding();
7860    }
7861#line 817
7862    if (tmp___13) {
7863#line 818
7864      second_port_cmd640 = 1;
7865#line 819
7866      port2 = "enabled";
7867    } else {
7868      {
7869#line 821
7870      __cil_tmp66 = (u16 )81;
7871#line 821
7872      put_cmd640_reg(__cil_tmp66, b);
7873#line 822
7874      port2 = "not responding";
7875      }
7876    }
7877  }
7878#line 829
7879  if (second_port_cmd640) {
7880#line 830
7881    __cil_tmp67 = 1 * 8UL;
7882#line 830
7883    __cil_tmp68 = (unsigned long )(hws) + __cil_tmp67;
7884#line 830
7885    __cil_tmp69 = 1 * 112UL;
7886#line 830
7887    __cil_tmp70 = (unsigned long )(hw) + __cil_tmp69;
7888#line 830
7889    *((struct ide_hw **)__cil_tmp68) = (struct ide_hw *)__cil_tmp70;
7890  } else {
7891
7892  }
7893#line 832
7894  if (second_port_cmd640) {
7895#line 832
7896    tmp___15 = "";
7897  } else {
7898#line 832
7899    tmp___15 = "not ";
7900  }
7901  {
7902#line 832
7903  printk("<6>cmd640: %sserialized, secondary interface %s\n", tmp___15, port2);
7904  }
7905#line 839
7906  if (second_port_cmd640) {
7907#line 839
7908    tmp___16 = 2;
7909  } else {
7910#line 839
7911    tmp___16 = 1;
7912  }
7913  {
7914#line 839
7915  __cil_tmp71 = 0 * 8UL;
7916#line 839
7917  __cil_tmp72 = (unsigned long )(hws) + __cil_tmp71;
7918#line 839
7919  __cil_tmp73 = (struct ide_hw **)__cil_tmp72;
7920#line 839
7921  __cil_tmp74 = (unsigned int )tmp___16;
7922#line 839
7923  __cil_tmp75 = (void *)0;
7924#line 839
7925  __cil_tmp76 = (struct ide_host **)__cil_tmp75;
7926#line 839
7927  tmp___17 = ide_host_add(& cmd640_port_info, __cil_tmp73, __cil_tmp74, __cil_tmp76);
7928  }
7929#line 839
7930  return (tmp___17);
7931}
7932}
7933#line 843 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7934static char const   __param_str_probe_vlb[10]  = 
7935#line 843
7936  {      (char const   )'p',      (char const   )'r',      (char const   )'o',      (char const   )'b', 
7937        (char const   )'e',      (char const   )'_',      (char const   )'v',      (char const   )'l', 
7938        (char const   )'b',      (char const   )'\000'};
7939#line 843 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7940static struct kernel_param  const  __param_probe_vlb  __attribute__((__used__, __unused__,
7941__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_probe_vlb, (struct kernel_param_ops  const  *)(& param_ops_bool),
7942    (u16 )0, (s16 )0, {(void *)(& cmd640_vlb)}};
7943#line 843 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7944static char const   __mod_probe_vlbtype843[24]  __attribute__((__used__, __unused__,
7945__section__(".modinfo"), __aligned__(1)))  = 
7946#line 843
7947  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
7948        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
7949        (char const   )'=',      (char const   )'p',      (char const   )'r',      (char const   )'o', 
7950        (char const   )'b',      (char const   )'e',      (char const   )'_',      (char const   )'v', 
7951        (char const   )'l',      (char const   )'b',      (char const   )':',      (char const   )'b', 
7952        (char const   )'o',      (char const   )'o',      (char const   )'l',      (char const   )'\000'};
7953#line 844 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7954static char const   __mod_probe_vlb844[55]  __attribute__((__used__, __unused__, __section__(".modinfo"),
7955__aligned__(1)))  = 
7956#line 844
7957  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
7958        (char const   )'=',      (char const   )'p',      (char const   )'r',      (char const   )'o', 
7959        (char const   )'b',      (char const   )'e',      (char const   )'_',      (char const   )'v', 
7960        (char const   )'l',      (char const   )'b',      (char const   )':',      (char const   )'p', 
7961        (char const   )'r',      (char const   )'o',      (char const   )'b',      (char const   )'e', 
7962        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r', 
7963        (char const   )' ',      (char const   )'V',      (char const   )'L',      (char const   )'B', 
7964        (char const   )' ',      (char const   )'v',      (char const   )'e',      (char const   )'r', 
7965        (char const   )'s',      (char const   )'i',      (char const   )'o',      (char const   )'n', 
7966        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ', 
7967        (char const   )'C',      (char const   )'M',      (char const   )'D',      (char const   )'6', 
7968        (char const   )'4',      (char const   )'0',      (char const   )' ',      (char const   )'c', 
7969        (char const   )'h',      (char const   )'i',      (char const   )'p',      (char const   )'s', 
7970        (char const   )'e',      (char const   )'t',      (char const   )'\000'};
7971#line 846 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7972int init_module(void) 
7973{ int tmp___7 ;
7974
7975  {
7976  {
7977#line 846
7978  tmp___7 = cmd640x_init();
7979  }
7980#line 846
7981  return (tmp___7);
7982}
7983}
7984#line 848 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7985static char const   __mod_license848[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
7986__aligned__(1)))  = 
7987#line 848
7988  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
7989        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
7990        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
7991#line 866
7992void ldv_check_final_state(void) ;
7993#line 872
7994extern void ldv_initialize(void) ;
7995#line 875
7996extern int __VERIFIER_nondet_int(void) ;
7997#line 878 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
7998int LDV_IN_INTERRUPT  ;
7999#line 881 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
8000void main(void) 
8001{ ide_drive_t *var_cmd640_init_dev_22_p0 ;
8002  ide_hwif_t *var_cmd640_set_pio_mode_21_p0 ;
8003  ide_drive_t *var_cmd640_set_pio_mode_21_p1 ;
8004  ide_hwif_t *var_cmd640_test_irq_23_p0 ;
8005  int tmp___7 ;
8006  int tmp___8 ;
8007  int tmp___9 ;
8008
8009  {
8010  {
8011#line 1092
8012  LDV_IN_INTERRUPT = 1;
8013#line 1101
8014  ldv_initialize();
8015#line 1163
8016  tmp___7 = cmd640x_init();
8017  }
8018#line 1163
8019  if (tmp___7) {
8020#line 1164
8021    goto ldv_module_exit;
8022  } else {
8023
8024  }
8025  {
8026#line 1168
8027  while (1) {
8028    while_continue: /* CIL Label */ ;
8029    {
8030#line 1168
8031    tmp___9 = __VERIFIER_nondet_int();
8032    }
8033#line 1168
8034    if (tmp___9) {
8035
8036    } else {
8037#line 1168
8038      goto while_break;
8039    }
8040    {
8041#line 1171
8042    tmp___8 = __VERIFIER_nondet_int();
8043    }
8044#line 1173
8045    if (tmp___8 == 0) {
8046#line 1173
8047      goto case_0;
8048    } else
8049#line 1248
8050    if (tmp___8 == 1) {
8051#line 1248
8052      goto case_1;
8053    } else
8054#line 1326
8055    if (tmp___8 == 2) {
8056#line 1326
8057      goto case_2;
8058    } else {
8059      {
8060#line 1404
8061      goto switch_default;
8062#line 1171
8063      if (0) {
8064        case_0: /* CIL Label */ 
8065        {
8066#line 1232
8067        cmd640_init_dev(var_cmd640_init_dev_22_p0);
8068        }
8069#line 1247
8070        goto switch_break;
8071        case_1: /* CIL Label */ 
8072        {
8073#line 1306
8074        cmd640_set_pio_mode(var_cmd640_set_pio_mode_21_p0, var_cmd640_set_pio_mode_21_p1);
8075        }
8076#line 1325
8077        goto switch_break;
8078        case_2: /* CIL Label */ 
8079        {
8080#line 1388
8081        cmd640_test_irq(var_cmd640_test_irq_23_p0);
8082        }
8083#line 1403
8084        goto switch_break;
8085        switch_default: /* CIL Label */ 
8086#line 1404
8087        goto switch_break;
8088      } else {
8089        switch_break: /* CIL Label */ ;
8090      }
8091      }
8092    }
8093  }
8094  while_break: /* CIL Label */ ;
8095  }
8096  ldv_module_exit: 
8097  {
8098#line 1413
8099  ldv_check_final_state();
8100  }
8101#line 1416
8102  return;
8103}
8104}
8105#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
8106void ldv_blast_assert(void) 
8107{ 
8108
8109  {
8110  ERROR: 
8111#line 6
8112  goto ERROR;
8113}
8114}
8115#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
8116extern int __VERIFIER_nondet_int(void) ;
8117#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8118int ldv_mutex  =    1;
8119#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8120int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
8121{ int nondetermined ;
8122
8123  {
8124#line 29
8125  if (ldv_mutex == 1) {
8126
8127  } else {
8128    {
8129#line 29
8130    ldv_blast_assert();
8131    }
8132  }
8133  {
8134#line 32
8135  nondetermined = __VERIFIER_nondet_int();
8136  }
8137#line 35
8138  if (nondetermined) {
8139#line 38
8140    ldv_mutex = 2;
8141#line 40
8142    return (0);
8143  } else {
8144#line 45
8145    return (-4);
8146  }
8147}
8148}
8149#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8150int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
8151{ int nondetermined ;
8152
8153  {
8154#line 57
8155  if (ldv_mutex == 1) {
8156
8157  } else {
8158    {
8159#line 57
8160    ldv_blast_assert();
8161    }
8162  }
8163  {
8164#line 60
8165  nondetermined = __VERIFIER_nondet_int();
8166  }
8167#line 63
8168  if (nondetermined) {
8169#line 66
8170    ldv_mutex = 2;
8171#line 68
8172    return (0);
8173  } else {
8174#line 73
8175    return (-4);
8176  }
8177}
8178}
8179#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8180int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
8181{ int atomic_value_after_dec ;
8182
8183  {
8184#line 83
8185  if (ldv_mutex == 1) {
8186
8187  } else {
8188    {
8189#line 83
8190    ldv_blast_assert();
8191    }
8192  }
8193  {
8194#line 86
8195  atomic_value_after_dec = __VERIFIER_nondet_int();
8196  }
8197#line 89
8198  if (atomic_value_after_dec == 0) {
8199#line 92
8200    ldv_mutex = 2;
8201#line 94
8202    return (1);
8203  } else {
8204
8205  }
8206#line 98
8207  return (0);
8208}
8209}
8210#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8211void mutex_lock(struct mutex *lock ) 
8212{ 
8213
8214  {
8215#line 108
8216  if (ldv_mutex == 1) {
8217
8218  } else {
8219    {
8220#line 108
8221    ldv_blast_assert();
8222    }
8223  }
8224#line 110
8225  ldv_mutex = 2;
8226#line 111
8227  return;
8228}
8229}
8230#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8231int mutex_trylock(struct mutex *lock ) 
8232{ int nondetermined ;
8233
8234  {
8235#line 121
8236  if (ldv_mutex == 1) {
8237
8238  } else {
8239    {
8240#line 121
8241    ldv_blast_assert();
8242    }
8243  }
8244  {
8245#line 124
8246  nondetermined = __VERIFIER_nondet_int();
8247  }
8248#line 127
8249  if (nondetermined) {
8250#line 130
8251    ldv_mutex = 2;
8252#line 132
8253    return (1);
8254  } else {
8255#line 137
8256    return (0);
8257  }
8258}
8259}
8260#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8261void mutex_unlock(struct mutex *lock ) 
8262{ 
8263
8264  {
8265#line 147
8266  if (ldv_mutex == 2) {
8267
8268  } else {
8269    {
8270#line 147
8271    ldv_blast_assert();
8272    }
8273  }
8274#line 149
8275  ldv_mutex = 1;
8276#line 150
8277  return;
8278}
8279}
8280#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
8281void ldv_check_final_state(void) 
8282{ 
8283
8284  {
8285#line 156
8286  if (ldv_mutex == 1) {
8287
8288  } else {
8289    {
8290#line 156
8291    ldv_blast_assert();
8292    }
8293  }
8294#line 157
8295  return;
8296}
8297}
8298#line 1425 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/12312/dscv_tempdir/dscv/ri/32_1/drivers/ide/cmd640.c.common.c"
8299long s__builtin_expect(long val , long res ) 
8300{ 
8301
8302  {
8303#line 1426
8304  return (val);
8305}
8306}