Showing error 203

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-drivers/usb_urb-drivers-scsi-dc395x.ko-safe.cil.out.i.pp.cil.c
Line in file: 27948
Project: SV-COMP 2012
Tools: Manual Work
Entered: 2012-11-19 13:47:39 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 46 "include/asm-generic/int-ll64.h"
   23typedef unsigned short u16;
   24#line 48 "include/asm-generic/int-ll64.h"
   25typedef int s32;
   26#line 49 "include/asm-generic/int-ll64.h"
   27typedef unsigned int u32;
   28#line 51 "include/asm-generic/int-ll64.h"
   29typedef long long s64;
   30#line 52 "include/asm-generic/int-ll64.h"
   31typedef unsigned long long u64;
   32#line 11 "include/asm-generic/types.h"
   33typedef unsigned short umode_t;
   34#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   35typedef unsigned int __kernel_mode_t;
   36#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   37typedef long __kernel_off_t;
   38#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   39typedef int __kernel_pid_t;
   40#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   41typedef unsigned int __kernel_uid_t;
   42#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   43typedef unsigned int __kernel_gid_t;
   44#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   45typedef unsigned long __kernel_size_t;
   46#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   47typedef long __kernel_ssize_t;
   48#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   49typedef long __kernel_time_t;
   50#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   51typedef long __kernel_clock_t;
   52#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   53typedef int __kernel_timer_t;
   54#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   55typedef int __kernel_clockid_t;
   56#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   57typedef long long __kernel_loff_t;
   58#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   59typedef __kernel_uid_t __kernel_uid32_t;
   60#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   61typedef __kernel_gid_t __kernel_gid32_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 26 "include/linux/types.h"
   67typedef __kernel_mode_t mode_t;
   68#line 28 "include/linux/types.h"
   69typedef __kernel_off_t off_t;
   70#line 29 "include/linux/types.h"
   71typedef __kernel_pid_t pid_t;
   72#line 34 "include/linux/types.h"
   73typedef __kernel_clockid_t clockid_t;
   74#line 37 "include/linux/types.h"
   75typedef _Bool bool;
   76#line 39 "include/linux/types.h"
   77typedef __kernel_uid32_t uid_t;
   78#line 40 "include/linux/types.h"
   79typedef __kernel_gid32_t gid_t;
   80#line 53 "include/linux/types.h"
   81typedef __kernel_loff_t loff_t;
   82#line 62 "include/linux/types.h"
   83typedef __kernel_size_t size_t;
   84#line 67 "include/linux/types.h"
   85typedef __kernel_ssize_t ssize_t;
   86#line 77 "include/linux/types.h"
   87typedef __kernel_time_t time_t;
   88#line 110 "include/linux/types.h"
   89typedef __s32 int32_t;
   90#line 116 "include/linux/types.h"
   91typedef __u32 uint32_t;
   92#line 141 "include/linux/types.h"
   93typedef unsigned long sector_t;
   94#line 142 "include/linux/types.h"
   95typedef unsigned long blkcnt_t;
   96#line 154 "include/linux/types.h"
   97typedef u64 dma_addr_t;
   98#line 177 "include/linux/types.h"
   99typedef __u16 __le16;
  100#line 201 "include/linux/types.h"
  101typedef unsigned int gfp_t;
  102#line 202 "include/linux/types.h"
  103typedef unsigned int fmode_t;
  104#line 205 "include/linux/types.h"
  105typedef u64 phys_addr_t;
  106#line 210 "include/linux/types.h"
  107typedef phys_addr_t resource_size_t;
  108#line 212 "include/linux/types.h"
  109struct __anonstruct_atomic_t_7 {
  110   int counter ;
  111};
  112#line 212 "include/linux/types.h"
  113typedef struct __anonstruct_atomic_t_7 atomic_t;
  114#line 217 "include/linux/types.h"
  115struct __anonstruct_atomic64_t_8 {
  116   long counter ;
  117};
  118#line 217 "include/linux/types.h"
  119typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  120#line 222 "include/linux/types.h"
  121struct list_head {
  122   struct list_head *next ;
  123   struct list_head *prev ;
  124};
  125#line 226
  126struct hlist_node;
  127#line 226
  128struct hlist_node;
  129#line 226
  130struct hlist_node;
  131#line 226 "include/linux/types.h"
  132struct hlist_head {
  133   struct hlist_node *first ;
  134};
  135#line 230 "include/linux/types.h"
  136struct hlist_node {
  137   struct hlist_node *next ;
  138   struct hlist_node **pprev ;
  139};
  140#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
  141struct module;
  142#line 59
  143struct module;
  144#line 59
  145struct module;
  146#line 59
  147struct module;
  148#line 145 "include/linux/init.h"
  149typedef void (*ctor_fn_t)(void);
  150#line 10 "include/asm-generic/bug.h"
  151struct bug_entry {
  152   int bug_addr_disp ;
  153   int file_disp ;
  154   unsigned short line ;
  155   unsigned short flags ;
  156};
  157#line 113 "include/linux/kernel.h"
  158struct completion;
  159#line 113
  160struct completion;
  161#line 113
  162struct completion;
  163#line 113
  164struct completion;
  165#line 114
  166struct pt_regs;
  167#line 114
  168struct pt_regs;
  169#line 114
  170struct pt_regs;
  171#line 114
  172struct pt_regs;
  173#line 322
  174struct pid;
  175#line 322
  176struct pid;
  177#line 322
  178struct pid;
  179#line 322
  180struct pid;
  181#line 12 "include/linux/thread_info.h"
  182struct timespec;
  183#line 12
  184struct timespec;
  185#line 12
  186struct timespec;
  187#line 12
  188struct timespec;
  189#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
  190struct page;
  191#line 18
  192struct page;
  193#line 18
  194struct page;
  195#line 18
  196struct page;
  197#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
  198struct task_struct;
  199#line 20
  200struct task_struct;
  201#line 20
  202struct task_struct;
  203#line 20
  204struct task_struct;
  205#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  206struct task_struct;
  207#line 8
  208struct mm_struct;
  209#line 8
  210struct mm_struct;
  211#line 8
  212struct mm_struct;
  213#line 8
  214struct mm_struct;
  215#line 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
  216struct pt_regs {
  217   unsigned long r15 ;
  218   unsigned long r14 ;
  219   unsigned long r13 ;
  220   unsigned long r12 ;
  221   unsigned long bp ;
  222   unsigned long bx ;
  223   unsigned long r11 ;
  224   unsigned long r10 ;
  225   unsigned long r9 ;
  226   unsigned long r8 ;
  227   unsigned long ax ;
  228   unsigned long cx ;
  229   unsigned long dx ;
  230   unsigned long si ;
  231   unsigned long di ;
  232   unsigned long orig_ax ;
  233   unsigned long ip ;
  234   unsigned long cs ;
  235   unsigned long flags ;
  236   unsigned long sp ;
  237   unsigned long ss ;
  238};
  239#line 136
  240struct task_struct;
  241#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  242struct kernel_vm86_regs {
  243   struct pt_regs pt ;
  244   unsigned short es ;
  245   unsigned short __esh ;
  246   unsigned short ds ;
  247   unsigned short __dsh ;
  248   unsigned short fs ;
  249   unsigned short __fsh ;
  250   unsigned short gs ;
  251   unsigned short __gsh ;
  252};
  253#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
  254union __anonunion____missing_field_name_14 {
  255   struct pt_regs *regs ;
  256   struct kernel_vm86_regs *vm86 ;
  257};
  258#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
  259struct math_emu_info {
  260   long ___orig_eip ;
  261   union __anonunion____missing_field_name_14 __annonCompField5 ;
  262};
  263#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
  264struct task_struct;
  265#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  266typedef unsigned long pteval_t;
  267#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  268typedef unsigned long pmdval_t;
  269#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  270typedef unsigned long pudval_t;
  271#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  272typedef unsigned long pgdval_t;
  273#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  274typedef unsigned long pgprotval_t;
  275#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  276struct __anonstruct_pte_t_16 {
  277   pteval_t pte ;
  278};
  279#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  280typedef struct __anonstruct_pte_t_16 pte_t;
  281#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  282struct pgprot {
  283   pgprotval_t pgprot ;
  284};
  285#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  286typedef struct pgprot pgprot_t;
  287#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  288struct __anonstruct_pgd_t_17 {
  289   pgdval_t pgd ;
  290};
  291#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  292typedef struct __anonstruct_pgd_t_17 pgd_t;
  293#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  294struct __anonstruct_pud_t_18 {
  295   pudval_t pud ;
  296};
  297#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  298typedef struct __anonstruct_pud_t_18 pud_t;
  299#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  300struct __anonstruct_pmd_t_19 {
  301   pmdval_t pmd ;
  302};
  303#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  304typedef struct __anonstruct_pmd_t_19 pmd_t;
  305#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  306typedef struct page *pgtable_t;
  307#line 293
  308struct file;
  309#line 293
  310struct file;
  311#line 293
  312struct file;
  313#line 293
  314struct file;
  315#line 311
  316struct seq_file;
  317#line 311
  318struct seq_file;
  319#line 311
  320struct seq_file;
  321#line 311
  322struct seq_file;
  323#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  324struct __anonstruct____missing_field_name_22 {
  325   unsigned int a ;
  326   unsigned int b ;
  327};
  328#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  329struct __anonstruct____missing_field_name_23 {
  330   u16 limit0 ;
  331   u16 base0 ;
  332   unsigned int base1 : 8 ;
  333   unsigned int type : 4 ;
  334   unsigned int s : 1 ;
  335   unsigned int dpl : 2 ;
  336   unsigned int p : 1 ;
  337   unsigned int limit : 4 ;
  338   unsigned int avl : 1 ;
  339   unsigned int l : 1 ;
  340   unsigned int d : 1 ;
  341   unsigned int g : 1 ;
  342   unsigned int base2 : 8 ;
  343};
  344#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  345union __anonunion____missing_field_name_21 {
  346   struct __anonstruct____missing_field_name_22 __annonCompField7 ;
  347   struct __anonstruct____missing_field_name_23 __annonCompField8 ;
  348};
  349#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  350struct desc_struct {
  351   union __anonunion____missing_field_name_21 __annonCompField9 ;
  352} __attribute__((__packed__)) ;
  353#line 51 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  354struct gate_struct64 {
  355   u16 offset_low ;
  356   u16 segment ;
  357   unsigned int ist : 3 ;
  358   unsigned int zero0 : 5 ;
  359   unsigned int type : 5 ;
  360   unsigned int dpl : 2 ;
  361   unsigned int p : 1 ;
  362   u16 offset_middle ;
  363   u32 offset_high ;
  364   u32 zero1 ;
  365} __attribute__((__packed__)) ;
  366#line 81 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  367typedef struct gate_struct64 gate_desc;
  368#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  369struct desc_ptr {
  370   unsigned short size ;
  371   unsigned long address ;
  372} __attribute__((__packed__)) ;
  373#line 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  374struct page;
  375#line 46
  376struct thread_struct;
  377#line 46
  378struct thread_struct;
  379#line 46
  380struct thread_struct;
  381#line 46
  382struct thread_struct;
  383#line 47
  384struct desc_ptr;
  385#line 48
  386struct tss_struct;
  387#line 48
  388struct tss_struct;
  389#line 48
  390struct tss_struct;
  391#line 48
  392struct tss_struct;
  393#line 49
  394struct mm_struct;
  395#line 50
  396struct desc_struct;
  397#line 51
  398struct task_struct;
  399#line 52
  400struct cpumask;
  401#line 52
  402struct cpumask;
  403#line 52
  404struct cpumask;
  405#line 52
  406struct cpumask;
  407#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  408struct paravirt_callee_save {
  409   void *func ;
  410};
  411#line 70 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  412struct pv_init_ops {
  413   unsigned int (*patch)(u8 type , u16 clobber , void *insnbuf , unsigned long addr ,
  414                         unsigned int len ) ;
  415};
  416#line 84 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  417struct pv_lazy_ops {
  418   void (*enter)(void) ;
  419   void (*leave)(void) ;
  420};
  421#line 90 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  422struct pv_time_ops {
  423   unsigned long long (*sched_clock)(void) ;
  424   unsigned long (*get_tsc_khz)(void) ;
  425};
  426#line 95 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  427struct pv_cpu_ops {
  428   unsigned long (*get_debugreg)(int regno ) ;
  429   void (*set_debugreg)(int regno , unsigned long value ) ;
  430   void (*clts)(void) ;
  431   unsigned long (*read_cr0)(void) ;
  432   void (*write_cr0)(unsigned long  ) ;
  433   unsigned long (*read_cr4_safe)(void) ;
  434   unsigned long (*read_cr4)(void) ;
  435   void (*write_cr4)(unsigned long  ) ;
  436   unsigned long (*read_cr8)(void) ;
  437   void (*write_cr8)(unsigned long  ) ;
  438   void (*load_tr_desc)(void) ;
  439   void (*load_gdt)(struct desc_ptr  const  * ) ;
  440   void (*load_idt)(struct desc_ptr  const  * ) ;
  441   void (*store_gdt)(struct desc_ptr * ) ;
  442   void (*store_idt)(struct desc_ptr * ) ;
  443   void (*set_ldt)(void const   *desc , unsigned int entries ) ;
  444   unsigned long (*store_tr)(void) ;
  445   void (*load_tls)(struct thread_struct *t , unsigned int cpu ) ;
  446   void (*load_gs_index)(unsigned int idx ) ;
  447   void (*write_ldt_entry)(struct desc_struct *ldt , int entrynum , void const   *desc ) ;
  448   void (*write_gdt_entry)(struct desc_struct * , int entrynum , void const   *desc ,
  449                           int size ) ;
  450   void (*write_idt_entry)(gate_desc * , int entrynum , gate_desc const   *gate ) ;
  451   void (*alloc_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
  452   void (*free_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
  453   void (*load_sp0)(struct tss_struct *tss , struct thread_struct *t ) ;
  454   void (*set_iopl_mask)(unsigned int mask ) ;
  455   void (*wbinvd)(void) ;
  456   void (*io_delay)(void) ;
  457   void (*cpuid)(unsigned int *eax , unsigned int *ebx , unsigned int *ecx , unsigned int *edx ) ;
  458   u64 (*read_msr)(unsigned int msr , int *err ) ;
  459   int (*rdmsr_regs)(u32 *regs ) ;
  460   int (*write_msr)(unsigned int msr , unsigned int low , unsigned int high ) ;
  461   int (*wrmsr_regs)(u32 *regs ) ;
  462   u64 (*read_tsc)(void) ;
  463   u64 (*read_pmc)(int counter ) ;
  464   unsigned long long (*read_tscp)(unsigned int *aux ) ;
  465   void (*irq_enable_sysexit)(void) ;
  466   void (*usergs_sysret64)(void) ;
  467   void (*usergs_sysret32)(void) ;
  468   void (*iret)(void) ;
  469   void (*swapgs)(void) ;
  470   void (*start_context_switch)(struct task_struct *prev ) ;
  471   void (*end_context_switch)(struct task_struct *next ) ;
  472};
  473#line 191 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  474struct pv_irq_ops {
  475   struct paravirt_callee_save save_fl ;
  476   struct paravirt_callee_save restore_fl ;
  477   struct paravirt_callee_save irq_disable ;
  478   struct paravirt_callee_save irq_enable ;
  479   void (*safe_halt)(void) ;
  480   void (*halt)(void) ;
  481   void (*adjust_exception_frame)(void) ;
  482};
  483#line 214 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  484struct pv_apic_ops {
  485   void (*startup_ipi_hook)(int phys_apicid , unsigned long start_eip , unsigned long start_esp ) ;
  486};
  487#line 222 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  488struct pv_mmu_ops {
  489   unsigned long (*read_cr2)(void) ;
  490   void (*write_cr2)(unsigned long  ) ;
  491   unsigned long (*read_cr3)(void) ;
  492   void (*write_cr3)(unsigned long  ) ;
  493   void (*activate_mm)(struct mm_struct *prev , struct mm_struct *next ) ;
  494   void (*dup_mmap)(struct mm_struct *oldmm , struct mm_struct *mm ) ;
  495   void (*exit_mmap)(struct mm_struct *mm ) ;
  496   void (*flush_tlb_user)(void) ;
  497   void (*flush_tlb_kernel)(void) ;
  498   void (*flush_tlb_single)(unsigned long addr ) ;
  499   void (*flush_tlb_others)(struct cpumask  const  *cpus , struct mm_struct *mm ,
  500                            unsigned long va ) ;
  501   int (*pgd_alloc)(struct mm_struct *mm ) ;
  502   void (*pgd_free)(struct mm_struct *mm , pgd_t *pgd ) ;
  503   void (*alloc_pte)(struct mm_struct *mm , unsigned long pfn ) ;
  504   void (*alloc_pmd)(struct mm_struct *mm , unsigned long pfn ) ;
  505   void (*alloc_pud)(struct mm_struct *mm , unsigned long pfn ) ;
  506   void (*release_pte)(unsigned long pfn ) ;
  507   void (*release_pmd)(unsigned long pfn ) ;
  508   void (*release_pud)(unsigned long pfn ) ;
  509   void (*set_pte)(pte_t *ptep , pte_t pteval ) ;
  510   void (*set_pte_at)(struct mm_struct *mm , unsigned long addr , pte_t *ptep , pte_t pteval ) ;
  511   void (*set_pmd)(pmd_t *pmdp , pmd_t pmdval ) ;
  512   void (*set_pmd_at)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp , pmd_t pmdval ) ;
  513   void (*pte_update)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
  514   void (*pte_update_defer)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
  515   void (*pmd_update)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
  516   void (*pmd_update_defer)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
  517   pte_t (*ptep_modify_prot_start)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
  518   void (*ptep_modify_prot_commit)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ,
  519                                   pte_t pte ) ;
  520   struct paravirt_callee_save pte_val ;
  521   struct paravirt_callee_save make_pte ;
  522   struct paravirt_callee_save pgd_val ;
  523   struct paravirt_callee_save make_pgd ;
  524   void (*set_pud)(pud_t *pudp , pud_t pudval ) ;
  525   struct paravirt_callee_save pmd_val ;
  526   struct paravirt_callee_save make_pmd ;
  527   struct paravirt_callee_save pud_val ;
  528   struct paravirt_callee_save make_pud ;
  529   void (*set_pgd)(pgd_t *pudp , pgd_t pgdval ) ;
  530   struct pv_lazy_ops lazy_mode ;
  531   void (*set_fixmap)(unsigned int idx , phys_addr_t phys , pgprot_t flags ) ;
  532};
  533#line 322
  534struct arch_spinlock;
  535#line 322
  536struct arch_spinlock;
  537#line 322
  538struct arch_spinlock;
  539#line 322
  540struct arch_spinlock;
  541#line 323 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  542struct pv_lock_ops {
  543   int (*spin_is_locked)(struct arch_spinlock *lock ) ;
  544   int (*spin_is_contended)(struct arch_spinlock *lock ) ;
  545   void (*spin_lock)(struct arch_spinlock *lock ) ;
  546   void (*spin_lock_flags)(struct arch_spinlock *lock , unsigned long flags ) ;
  547   int (*spin_trylock)(struct arch_spinlock *lock ) ;
  548   void (*spin_unlock)(struct arch_spinlock *lock ) ;
  549};
  550#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  551struct paravirt_patch_template {
  552   struct pv_init_ops pv_init_ops ;
  553   struct pv_time_ops pv_time_ops ;
  554   struct pv_cpu_ops pv_cpu_ops ;
  555   struct pv_irq_ops pv_irq_ops ;
  556   struct pv_apic_ops pv_apic_ops ;
  557   struct pv_mmu_ops pv_mmu_ops ;
  558   struct pv_lock_ops pv_lock_ops ;
  559};
  560#line 13 "include/linux/cpumask.h"
  561struct cpumask {
  562   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
  563};
  564#line 13 "include/linux/cpumask.h"
  565typedef struct cpumask cpumask_t;
  566#line 622 "include/linux/cpumask.h"
  567typedef struct cpumask *cpumask_var_t;
  568#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
  569struct task_struct;
  570#line 23
  571struct tss_struct;
  572#line 11 "include/linux/personality.h"
  573struct pt_regs;
  574#line 224 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  575struct x86_hw_tss {
  576   u32 reserved1 ;
  577   u64 sp0 ;
  578   u64 sp1 ;
  579   u64 sp2 ;
  580   u64 reserved2 ;
  581   u64 ist[7] ;
  582   u32 reserved3 ;
  583   u32 reserved4 ;
  584   u16 reserved5 ;
  585   u16 io_bitmap_base ;
  586} __attribute__((__packed__, __aligned__((1) <<  (6) ))) ;
  587#line 248 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  588struct tss_struct {
  589   struct x86_hw_tss x86_tss ;
  590   unsigned long io_bitmap[8192UL / sizeof(long ) + 1UL] ;
  591   unsigned long stack[64] ;
  592} __attribute__((__aligned__((1) <<  (6) ))) ;
  593#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  594struct i387_fsave_struct {
  595   u32 cwd ;
  596   u32 swd ;
  597   u32 twd ;
  598   u32 fip ;
  599   u32 fcs ;
  600   u32 foo ;
  601   u32 fos ;
  602   u32 st_space[20] ;
  603   u32 status ;
  604};
  605#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  606struct __anonstruct____missing_field_name_31 {
  607   u64 rip ;
  608   u64 rdp ;
  609};
  610#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  611struct __anonstruct____missing_field_name_32 {
  612   u32 fip ;
  613   u32 fcs ;
  614   u32 foo ;
  615   u32 fos ;
  616};
  617#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  618union __anonunion____missing_field_name_30 {
  619   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
  620   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
  621};
  622#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  623union __anonunion____missing_field_name_33 {
  624   u32 padding1[12] ;
  625   u32 sw_reserved[12] ;
  626};
  627#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  628struct i387_fxsave_struct {
  629   u16 cwd ;
  630   u16 swd ;
  631   u16 twd ;
  632   u16 fop ;
  633   union __anonunion____missing_field_name_30 __annonCompField14 ;
  634   u32 mxcsr ;
  635   u32 mxcsr_mask ;
  636   u32 st_space[32] ;
  637   u32 xmm_space[64] ;
  638   u32 padding[12] ;
  639   union __anonunion____missing_field_name_33 __annonCompField15 ;
  640} __attribute__((__aligned__(16))) ;
  641#line 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  642struct i387_soft_struct {
  643   u32 cwd ;
  644   u32 swd ;
  645   u32 twd ;
  646   u32 fip ;
  647   u32 fcs ;
  648   u32 foo ;
  649   u32 fos ;
  650   u32 st_space[20] ;
  651   u8 ftop ;
  652   u8 changed ;
  653   u8 lookahead ;
  654   u8 no_update ;
  655   u8 rm ;
  656   u8 alimit ;
  657   struct math_emu_info *info ;
  658   u32 entry_eip ;
  659};
  660#line 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  661struct ymmh_struct {
  662   u32 ymmh_space[64] ;
  663};
  664#line 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  665struct xsave_hdr_struct {
  666   u64 xstate_bv ;
  667   u64 reserved1[2] ;
  668   u64 reserved2[5] ;
  669} __attribute__((__packed__)) ;
  670#line 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  671struct xsave_struct {
  672   struct i387_fxsave_struct i387 ;
  673   struct xsave_hdr_struct xsave_hdr ;
  674   struct ymmh_struct ymmh ;
  675} __attribute__((__packed__, __aligned__(64))) ;
  676#line 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  677union thread_xstate {
  678   struct i387_fsave_struct fsave ;
  679   struct i387_fxsave_struct fxsave ;
  680   struct i387_soft_struct soft ;
  681   struct xsave_struct xsave ;
  682};
  683#line 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  684struct fpu {
  685   union thread_xstate *state ;
  686};
  687#line 421
  688struct kmem_cache;
  689#line 421
  690struct kmem_cache;
  691#line 421
  692struct kmem_cache;
  693#line 423
  694struct perf_event;
  695#line 423
  696struct perf_event;
  697#line 423
  698struct perf_event;
  699#line 423
  700struct perf_event;
  701#line 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  702struct thread_struct {
  703   struct desc_struct tls_array[3] ;
  704   unsigned long sp0 ;
  705   unsigned long sp ;
  706   unsigned long usersp ;
  707   unsigned short es ;
  708   unsigned short ds ;
  709   unsigned short fsindex ;
  710   unsigned short gsindex ;
  711   unsigned long fs ;
  712   unsigned long gs ;
  713   struct perf_event *ptrace_bps[4] ;
  714   unsigned long debugreg6 ;
  715   unsigned long ptrace_dr7 ;
  716   unsigned long cr2 ;
  717   unsigned long trap_no ;
  718   unsigned long error_code ;
  719   struct fpu fpu ;
  720   unsigned long *io_bitmap_ptr ;
  721   unsigned long iopl ;
  722   unsigned int io_bitmap_max ;
  723};
  724#line 23 "include/asm-generic/atomic-long.h"
  725typedef atomic64_t atomic_long_t;
  726#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  727struct arch_spinlock {
  728   unsigned int slock ;
  729};
  730#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  731typedef struct arch_spinlock arch_spinlock_t;
  732#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  733struct __anonstruct_arch_rwlock_t_36 {
  734   unsigned int lock ;
  735};
  736#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  737typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
  738#line 12 "include/linux/lockdep.h"
  739struct task_struct;
  740#line 13
  741struct lockdep_map;
  742#line 13
  743struct lockdep_map;
  744#line 13
  745struct lockdep_map;
  746#line 13
  747struct lockdep_map;
  748#line 8 "include/linux/debug_locks.h"
  749struct task_struct;
  750#line 48
  751struct task_struct;
  752#line 4 "include/linux/stacktrace.h"
  753struct task_struct;
  754#line 5
  755struct pt_regs;
  756#line 8
  757struct task_struct;
  758#line 10 "include/linux/stacktrace.h"
  759struct stack_trace {
  760   unsigned int nr_entries ;
  761   unsigned int max_entries ;
  762   unsigned long *entries ;
  763   int skip ;
  764};
  765#line 50 "include/linux/lockdep.h"
  766struct lockdep_subclass_key {
  767   char __one_byte ;
  768} __attribute__((__packed__)) ;
  769#line 54 "include/linux/lockdep.h"
  770struct lock_class_key {
  771   struct lockdep_subclass_key subkeys[8UL] ;
  772};
  773#line 65 "include/linux/lockdep.h"
  774struct lock_class {
  775   struct list_head hash_entry ;
  776   struct list_head lock_entry ;
  777   struct lockdep_subclass_key *key ;
  778   unsigned int subclass ;
  779   unsigned int dep_gen_id ;
  780   unsigned long usage_mask ;
  781   struct stack_trace usage_traces[13] ;
  782   struct list_head locks_after ;
  783   struct list_head locks_before ;
  784   unsigned int version ;
  785   unsigned long ops ;
  786   char const   *name ;
  787   int name_version ;
  788   unsigned long contention_point[4] ;
  789   unsigned long contending_point[4] ;
  790};
  791#line 150 "include/linux/lockdep.h"
  792struct lockdep_map {
  793   struct lock_class_key *key ;
  794   struct lock_class *class_cache[2] ;
  795   char const   *name ;
  796   int cpu ;
  797   unsigned long ip ;
  798};
  799#line 196 "include/linux/lockdep.h"
  800struct held_lock {
  801   u64 prev_chain_key ;
  802   unsigned long acquire_ip ;
  803   struct lockdep_map *instance ;
  804   struct lockdep_map *nest_lock ;
  805   u64 waittime_stamp ;
  806   u64 holdtime_stamp ;
  807   unsigned int class_idx : 13 ;
  808   unsigned int irq_context : 2 ;
  809   unsigned int trylock : 1 ;
  810   unsigned int read : 2 ;
  811   unsigned int check : 2 ;
  812   unsigned int hardirqs_off : 1 ;
  813   unsigned int references : 11 ;
  814};
  815#line 20 "include/linux/spinlock_types.h"
  816struct raw_spinlock {
  817   arch_spinlock_t raw_lock ;
  818   unsigned int magic ;
  819   unsigned int owner_cpu ;
  820   void *owner ;
  821   struct lockdep_map dep_map ;
  822};
  823#line 20 "include/linux/spinlock_types.h"
  824typedef struct raw_spinlock raw_spinlock_t;
  825#line 64 "include/linux/spinlock_types.h"
  826struct __anonstruct____missing_field_name_38 {
  827   u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
  828   struct lockdep_map dep_map ;
  829};
  830#line 64 "include/linux/spinlock_types.h"
  831union __anonunion____missing_field_name_37 {
  832   struct raw_spinlock rlock ;
  833   struct __anonstruct____missing_field_name_38 __annonCompField17 ;
  834};
  835#line 64 "include/linux/spinlock_types.h"
  836struct spinlock {
  837   union __anonunion____missing_field_name_37 __annonCompField18 ;
  838};
  839#line 64 "include/linux/spinlock_types.h"
  840typedef struct spinlock spinlock_t;
  841#line 11 "include/linux/rwlock_types.h"
  842struct __anonstruct_rwlock_t_39 {
  843   arch_rwlock_t raw_lock ;
  844   unsigned int magic ;
  845   unsigned int owner_cpu ;
  846   void *owner ;
  847   struct lockdep_map dep_map ;
  848};
  849#line 11 "include/linux/rwlock_types.h"
  850typedef struct __anonstruct_rwlock_t_39 rwlock_t;
  851#line 119 "include/linux/seqlock.h"
  852struct seqcount {
  853   unsigned int sequence ;
  854};
  855#line 119 "include/linux/seqlock.h"
  856typedef struct seqcount seqcount_t;
  857#line 14 "include/linux/time.h"
  858struct timespec {
  859   __kernel_time_t tv_sec ;
  860   long tv_nsec ;
  861};
  862#line 62 "include/linux/stat.h"
  863struct kstat {
  864   u64 ino ;
  865   dev_t dev ;
  866   umode_t mode ;
  867   unsigned int nlink ;
  868   uid_t uid ;
  869   gid_t gid ;
  870   dev_t rdev ;
  871   loff_t size ;
  872   struct timespec atime ;
  873   struct timespec mtime ;
  874   struct timespec ctime ;
  875   unsigned long blksize ;
  876   unsigned long long blocks ;
  877};
  878#line 50 "include/linux/wait.h"
  879struct __wait_queue_head {
  880   spinlock_t lock ;
  881   struct list_head task_list ;
  882};
  883#line 54 "include/linux/wait.h"
  884typedef struct __wait_queue_head wait_queue_head_t;
  885#line 56
  886struct task_struct;
  887#line 96 "include/linux/nodemask.h"
  888struct __anonstruct_nodemask_t_41 {
  889   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
  890};
  891#line 96 "include/linux/nodemask.h"
  892typedef struct __anonstruct_nodemask_t_41 nodemask_t;
  893#line 60 "include/linux/pageblock-flags.h"
  894struct page;
  895#line 48 "include/linux/mutex.h"
  896struct mutex {
  897   atomic_t count ;
  898   spinlock_t wait_lock ;
  899   struct list_head wait_list ;
  900   struct task_struct *owner ;
  901   char const   *name ;
  902   void *magic ;
  903   struct lockdep_map dep_map ;
  904};
  905#line 69 "include/linux/mutex.h"
  906struct mutex_waiter {
  907   struct list_head list ;
  908   struct task_struct *task ;
  909   void *magic ;
  910};
  911#line 20 "include/linux/rwsem.h"
  912struct rw_semaphore;
  913#line 20
  914struct rw_semaphore;
  915#line 20
  916struct rw_semaphore;
  917#line 20
  918struct rw_semaphore;
  919#line 26 "include/linux/rwsem.h"
  920struct rw_semaphore {
  921   long count ;
  922   spinlock_t wait_lock ;
  923   struct list_head wait_list ;
  924   struct lockdep_map dep_map ;
  925};
  926#line 8 "include/linux/memory_hotplug.h"
  927struct page;
  928#line 18 "include/linux/ioport.h"
  929struct resource {
  930   resource_size_t start ;
  931   resource_size_t end ;
  932   char const   *name ;
  933   unsigned long flags ;
  934   struct resource *parent ;
  935   struct resource *sibling ;
  936   struct resource *child ;
  937};
  938#line 26
  939struct pci_dev;
  940#line 26
  941struct pci_dev;
  942#line 26
  943struct pci_dev;
  944#line 177
  945struct device;
  946#line 177
  947struct device;
  948#line 177
  949struct device;
  950#line 177
  951struct device;
  952#line 171 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/x86_init.h"
  953struct pci_dev;
  954#line 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
  955struct device;
  956#line 46 "include/linux/ktime.h"
  957union ktime {
  958   s64 tv64 ;
  959};
  960#line 59 "include/linux/ktime.h"
  961typedef union ktime ktime_t;
  962#line 10 "include/linux/timer.h"
  963struct tvec_base;
  964#line 10
  965struct tvec_base;
  966#line 10
  967struct tvec_base;
  968#line 10
  969struct tvec_base;
  970#line 12 "include/linux/timer.h"
  971struct timer_list {
  972   struct list_head entry ;
  973   unsigned long expires ;
  974   struct tvec_base *base ;
  975   void (*function)(unsigned long  ) ;
  976   unsigned long data ;
  977   int slack ;
  978   int start_pid ;
  979   void *start_site ;
  980   char start_comm[16] ;
  981   struct lockdep_map lockdep_map ;
  982};
  983#line 289
  984struct hrtimer;
  985#line 289
  986struct hrtimer;
  987#line 289
  988struct hrtimer;
  989#line 289
  990struct hrtimer;
  991#line 290
  992enum hrtimer_restart;
  993#line 290
  994enum hrtimer_restart;
  995#line 290
  996enum hrtimer_restart;
  997#line 15 "include/linux/workqueue.h"
  998struct workqueue_struct;
  999#line 15
 1000struct workqueue_struct;
 1001#line 15
 1002struct workqueue_struct;
 1003#line 15
 1004struct workqueue_struct;
 1005#line 17
 1006struct work_struct;
 1007#line 17
 1008struct work_struct;
 1009#line 17
 1010struct work_struct;
 1011#line 17
 1012struct work_struct;
 1013#line 79 "include/linux/workqueue.h"
 1014struct work_struct {
 1015   atomic_long_t data ;
 1016   struct list_head entry ;
 1017   void (*func)(struct work_struct *work ) ;
 1018   struct lockdep_map lockdep_map ;
 1019};
 1020#line 92 "include/linux/workqueue.h"
 1021struct delayed_work {
 1022   struct work_struct work ;
 1023   struct timer_list timer ;
 1024};
 1025#line 102 "include/linux/workqueue.h"
 1026struct execute_work {
 1027   struct work_struct work ;
 1028};
 1029#line 25 "include/linux/completion.h"
 1030struct completion {
 1031   unsigned int done ;
 1032   wait_queue_head_t wait ;
 1033};
 1034#line 42 "include/linux/pm.h"
 1035struct device;
 1036#line 50 "include/linux/pm.h"
 1037struct pm_message {
 1038   int event ;
 1039};
 1040#line 50 "include/linux/pm.h"
 1041typedef struct pm_message pm_message_t;
 1042#line 204 "include/linux/pm.h"
 1043struct dev_pm_ops {
 1044   int (*prepare)(struct device *dev ) ;
 1045   void (*complete)(struct device *dev ) ;
 1046   int (*suspend)(struct device *dev ) ;
 1047   int (*resume)(struct device *dev ) ;
 1048   int (*freeze)(struct device *dev ) ;
 1049   int (*thaw)(struct device *dev ) ;
 1050   int (*poweroff)(struct device *dev ) ;
 1051   int (*restore)(struct device *dev ) ;
 1052   int (*suspend_noirq)(struct device *dev ) ;
 1053   int (*resume_noirq)(struct device *dev ) ;
 1054   int (*freeze_noirq)(struct device *dev ) ;
 1055   int (*thaw_noirq)(struct device *dev ) ;
 1056   int (*poweroff_noirq)(struct device *dev ) ;
 1057   int (*restore_noirq)(struct device *dev ) ;
 1058   int (*runtime_suspend)(struct device *dev ) ;
 1059   int (*runtime_resume)(struct device *dev ) ;
 1060   int (*runtime_idle)(struct device *dev ) ;
 1061};
 1062#line 392
 1063enum rpm_status {
 1064    RPM_ACTIVE = 0,
 1065    RPM_RESUMING = 1,
 1066    RPM_SUSPENDED = 2,
 1067    RPM_SUSPENDING = 3
 1068} ;
 1069#line 414
 1070enum rpm_request {
 1071    RPM_REQ_NONE = 0,
 1072    RPM_REQ_IDLE = 1,
 1073    RPM_REQ_SUSPEND = 2,
 1074    RPM_REQ_AUTOSUSPEND = 3,
 1075    RPM_REQ_RESUME = 4
 1076} ;
 1077#line 422
 1078struct wakeup_source;
 1079#line 422
 1080struct wakeup_source;
 1081#line 422
 1082struct wakeup_source;
 1083#line 422
 1084struct wakeup_source;
 1085#line 424 "include/linux/pm.h"
 1086struct dev_pm_info {
 1087   pm_message_t power_state ;
 1088   unsigned int can_wakeup : 1 ;
 1089   unsigned int async_suspend : 1 ;
 1090   bool is_prepared : 1 ;
 1091   bool is_suspended : 1 ;
 1092   spinlock_t lock ;
 1093   struct list_head entry ;
 1094   struct completion completion ;
 1095   struct wakeup_source *wakeup ;
 1096   struct timer_list suspend_timer ;
 1097   unsigned long timer_expires ;
 1098   struct work_struct work ;
 1099   wait_queue_head_t wait_queue ;
 1100   atomic_t usage_count ;
 1101   atomic_t child_count ;
 1102   unsigned int disable_depth : 3 ;
 1103   unsigned int ignore_children : 1 ;
 1104   unsigned int idle_notification : 1 ;
 1105   unsigned int request_pending : 1 ;
 1106   unsigned int deferred_resume : 1 ;
 1107   unsigned int run_wake : 1 ;
 1108   unsigned int runtime_auto : 1 ;
 1109   unsigned int no_callbacks : 1 ;
 1110   unsigned int irq_safe : 1 ;
 1111   unsigned int use_autosuspend : 1 ;
 1112   unsigned int timer_autosuspends : 1 ;
 1113   enum rpm_request request ;
 1114   enum rpm_status runtime_status ;
 1115   int runtime_error ;
 1116   int autosuspend_delay ;
 1117   unsigned long last_busy ;
 1118   unsigned long active_jiffies ;
 1119   unsigned long suspended_jiffies ;
 1120   unsigned long accounting_timestamp ;
 1121   void *subsys_data ;
 1122};
 1123#line 475 "include/linux/pm.h"
 1124struct dev_power_domain {
 1125   struct dev_pm_ops ops ;
 1126};
 1127#line 176 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/topology.h"
 1128struct pci_bus;
 1129#line 176
 1130struct pci_bus;
 1131#line 176
 1132struct pci_bus;
 1133#line 176
 1134struct pci_bus;
 1135#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 1136struct __anonstruct_mm_context_t_111 {
 1137   void *ldt ;
 1138   int size ;
 1139   unsigned short ia32_compat ;
 1140   struct mutex lock ;
 1141   void *vdso ;
 1142};
 1143#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 1144typedef struct __anonstruct_mm_context_t_111 mm_context_t;
 1145#line 68 "include/asm-generic/iomap.h"
 1146struct pci_dev;
 1147#line 8 "include/linux/vmalloc.h"
 1148struct vm_area_struct;
 1149#line 8
 1150struct vm_area_struct;
 1151#line 8
 1152struct vm_area_struct;
 1153#line 8
 1154struct vm_area_struct;
 1155#line 337 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 1156struct bio_vec;
 1157#line 337
 1158struct bio_vec;
 1159#line 337
 1160struct bio_vec;
 1161#line 337
 1162struct bio_vec;
 1163#line 964 "include/linux/mmzone.h"
 1164struct page;
 1165#line 18 "include/linux/smp.h"
 1166struct call_single_data {
 1167   struct list_head list ;
 1168   void (*func)(void *info ) ;
 1169   void *info ;
 1170   u16 flags ;
 1171   u16 priv ;
 1172};
 1173#line 10 "include/linux/gfp.h"
 1174struct vm_area_struct;
 1175#line 29 "include/linux/sysctl.h"
 1176struct completion;
 1177#line 72 "include/linux/rcupdate.h"
 1178struct rcu_head {
 1179   struct rcu_head *next ;
 1180   void (*func)(struct rcu_head *head ) ;
 1181};
 1182#line 937 "include/linux/sysctl.h"
 1183struct nsproxy;
 1184#line 937
 1185struct nsproxy;
 1186#line 937
 1187struct nsproxy;
 1188#line 937
 1189struct nsproxy;
 1190#line 48 "include/linux/kmod.h"
 1191struct cred;
 1192#line 48
 1193struct cred;
 1194#line 48
 1195struct cred;
 1196#line 48
 1197struct cred;
 1198#line 49
 1199struct file;
 1200#line 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
 1201struct task_struct;
 1202#line 10 "include/linux/elf.h"
 1203struct file;
 1204#line 27 "include/linux/elf.h"
 1205typedef __u64 Elf64_Addr;
 1206#line 28 "include/linux/elf.h"
 1207typedef __u16 Elf64_Half;
 1208#line 32 "include/linux/elf.h"
 1209typedef __u32 Elf64_Word;
 1210#line 33 "include/linux/elf.h"
 1211typedef __u64 Elf64_Xword;
 1212#line 203 "include/linux/elf.h"
 1213struct elf64_sym {
 1214   Elf64_Word st_name ;
 1215   unsigned char st_info ;
 1216   unsigned char st_other ;
 1217   Elf64_Half st_shndx ;
 1218   Elf64_Addr st_value ;
 1219   Elf64_Xword st_size ;
 1220};
 1221#line 203 "include/linux/elf.h"
 1222typedef struct elf64_sym Elf64_Sym;
 1223#line 20 "include/linux/kobject_ns.h"
 1224struct sock;
 1225#line 20
 1226struct sock;
 1227#line 20
 1228struct sock;
 1229#line 20
 1230struct sock;
 1231#line 21
 1232struct kobject;
 1233#line 21
 1234struct kobject;
 1235#line 21
 1236struct kobject;
 1237#line 21
 1238struct kobject;
 1239#line 27
 1240enum kobj_ns_type {
 1241    KOBJ_NS_TYPE_NONE = 0,
 1242    KOBJ_NS_TYPE_NET = 1,
 1243    KOBJ_NS_TYPES = 2
 1244} ;
 1245#line 40 "include/linux/kobject_ns.h"
 1246struct kobj_ns_type_operations {
 1247   enum kobj_ns_type type ;
 1248   void *(*grab_current_ns)(void) ;
 1249   void const   *(*netlink_ns)(struct sock *sk ) ;
 1250   void const   *(*initial_ns)(void) ;
 1251   void (*drop_ns)(void * ) ;
 1252};
 1253#line 22 "include/linux/sysfs.h"
 1254struct kobject;
 1255#line 23
 1256struct module;
 1257#line 24
 1258enum kobj_ns_type;
 1259#line 26 "include/linux/sysfs.h"
 1260struct attribute {
 1261   char const   *name ;
 1262   mode_t mode ;
 1263   struct lock_class_key *key ;
 1264   struct lock_class_key skey ;
 1265};
 1266#line 56 "include/linux/sysfs.h"
 1267struct attribute_group {
 1268   char const   *name ;
 1269   mode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 1270   struct attribute **attrs ;
 1271};
 1272#line 85
 1273struct file;
 1274#line 86
 1275struct vm_area_struct;
 1276#line 88 "include/linux/sysfs.h"
 1277struct bin_attribute {
 1278   struct attribute attr ;
 1279   size_t size ;
 1280   void *private ;
 1281   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1282                   loff_t  , size_t  ) ;
 1283   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1284                    loff_t  , size_t  ) ;
 1285   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 1286};
 1287#line 112 "include/linux/sysfs.h"
 1288struct sysfs_ops {
 1289   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 1290   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 1291};
 1292#line 117
 1293struct sysfs_dirent;
 1294#line 117
 1295struct sysfs_dirent;
 1296#line 117
 1297struct sysfs_dirent;
 1298#line 117
 1299struct sysfs_dirent;
 1300#line 20 "include/linux/kref.h"
 1301struct kref {
 1302   atomic_t refcount ;
 1303};
 1304#line 60 "include/linux/kobject.h"
 1305struct kset;
 1306#line 60
 1307struct kset;
 1308#line 60
 1309struct kset;
 1310#line 60
 1311struct kobj_type;
 1312#line 60
 1313struct kobj_type;
 1314#line 60
 1315struct kobj_type;
 1316#line 60 "include/linux/kobject.h"
 1317struct kobject {
 1318   char const   *name ;
 1319   struct list_head entry ;
 1320   struct kobject *parent ;
 1321   struct kset *kset ;
 1322   struct kobj_type *ktype ;
 1323   struct sysfs_dirent *sd ;
 1324   struct kref kref ;
 1325   unsigned int state_initialized : 1 ;
 1326   unsigned int state_in_sysfs : 1 ;
 1327   unsigned int state_add_uevent_sent : 1 ;
 1328   unsigned int state_remove_uevent_sent : 1 ;
 1329   unsigned int uevent_suppress : 1 ;
 1330};
 1331#line 110 "include/linux/kobject.h"
 1332struct kobj_type {
 1333   void (*release)(struct kobject *kobj ) ;
 1334   struct sysfs_ops  const  *sysfs_ops ;
 1335   struct attribute **default_attrs ;
 1336   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 1337   void const   *(*namespace)(struct kobject *kobj ) ;
 1338};
 1339#line 118 "include/linux/kobject.h"
 1340struct kobj_uevent_env {
 1341   char *envp[32] ;
 1342   int envp_idx ;
 1343   char buf[2048] ;
 1344   int buflen ;
 1345};
 1346#line 125 "include/linux/kobject.h"
 1347struct kset_uevent_ops {
 1348   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 1349   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 1350   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 1351};
 1352#line 142
 1353struct sock;
 1354#line 161 "include/linux/kobject.h"
 1355struct kset {
 1356   struct list_head list ;
 1357   spinlock_t list_lock ;
 1358   struct kobject kobj ;
 1359   struct kset_uevent_ops  const  *uevent_ops ;
 1360};
 1361#line 34 "include/linux/moduleparam.h"
 1362struct kernel_param;
 1363#line 34
 1364struct kernel_param;
 1365#line 34
 1366struct kernel_param;
 1367#line 34
 1368struct kernel_param;
 1369#line 36 "include/linux/moduleparam.h"
 1370struct kernel_param_ops {
 1371   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 1372   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 1373   void (*free)(void *arg ) ;
 1374};
 1375#line 48
 1376struct kparam_string;
 1377#line 48
 1378struct kparam_string;
 1379#line 48
 1380struct kparam_string;
 1381#line 48
 1382struct kparam_array;
 1383#line 48
 1384struct kparam_array;
 1385#line 48
 1386struct kparam_array;
 1387#line 48 "include/linux/moduleparam.h"
 1388union __anonunion____missing_field_name_195 {
 1389   void *arg ;
 1390   struct kparam_string  const  *str ;
 1391   struct kparam_array  const  *arr ;
 1392};
 1393#line 48 "include/linux/moduleparam.h"
 1394struct kernel_param {
 1395   char const   *name ;
 1396   struct kernel_param_ops  const  *ops ;
 1397   u16 perm ;
 1398   u16 flags ;
 1399   union __anonunion____missing_field_name_195 __annonCompField31 ;
 1400};
 1401#line 61 "include/linux/moduleparam.h"
 1402struct kparam_string {
 1403   unsigned int maxlen ;
 1404   char *string ;
 1405};
 1406#line 67 "include/linux/moduleparam.h"
 1407struct kparam_array {
 1408   unsigned int max ;
 1409   unsigned int elemsize ;
 1410   unsigned int *num ;
 1411   struct kernel_param_ops  const  *ops ;
 1412   void *elem ;
 1413};
 1414#line 391
 1415struct module;
 1416#line 26 "include/linux/jump_label.h"
 1417struct module;
 1418#line 61 "include/linux/jump_label.h"
 1419struct jump_label_key {
 1420   atomic_t enabled ;
 1421};
 1422#line 22 "include/linux/tracepoint.h"
 1423struct module;
 1424#line 23
 1425struct tracepoint;
 1426#line 23
 1427struct tracepoint;
 1428#line 23
 1429struct tracepoint;
 1430#line 23
 1431struct tracepoint;
 1432#line 25 "include/linux/tracepoint.h"
 1433struct tracepoint_func {
 1434   void *func ;
 1435   void *data ;
 1436};
 1437#line 30 "include/linux/tracepoint.h"
 1438struct tracepoint {
 1439   char const   *name ;
 1440   struct jump_label_key key ;
 1441   void (*regfunc)(void) ;
 1442   void (*unregfunc)(void) ;
 1443   struct tracepoint_func *funcs ;
 1444};
 1445#line 8 "include/asm-generic/module.h"
 1446struct mod_arch_specific {
 1447
 1448};
 1449#line 21 "include/trace/events/module.h"
 1450struct module;
 1451#line 37 "include/linux/module.h"
 1452struct kernel_symbol {
 1453   unsigned long value ;
 1454   char const   *name ;
 1455};
 1456#line 49
 1457struct module;
 1458#line 51 "include/linux/module.h"
 1459struct module_attribute {
 1460   struct attribute attr ;
 1461   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
 1462   ssize_t (*store)(struct module_attribute * , struct module * , char const   * ,
 1463                    size_t count ) ;
 1464   void (*setup)(struct module * , char const   * ) ;
 1465   int (*test)(struct module * ) ;
 1466   void (*free)(struct module * ) ;
 1467};
 1468#line 70
 1469struct module_param_attrs;
 1470#line 70
 1471struct module_param_attrs;
 1472#line 70
 1473struct module_param_attrs;
 1474#line 70 "include/linux/module.h"
 1475struct module_kobject {
 1476   struct kobject kobj ;
 1477   struct module *mod ;
 1478   struct kobject *drivers_dir ;
 1479   struct module_param_attrs *mp ;
 1480};
 1481#line 83
 1482struct exception_table_entry;
 1483#line 83
 1484struct exception_table_entry;
 1485#line 83
 1486struct exception_table_entry;
 1487#line 83
 1488struct exception_table_entry;
 1489#line 265
 1490enum module_state {
 1491    MODULE_STATE_LIVE = 0,
 1492    MODULE_STATE_COMING = 1,
 1493    MODULE_STATE_GOING = 2
 1494} ;
 1495#line 272
 1496struct module_sect_attrs;
 1497#line 272
 1498struct module_sect_attrs;
 1499#line 272
 1500struct module_sect_attrs;
 1501#line 272
 1502struct module_notes_attrs;
 1503#line 272
 1504struct module_notes_attrs;
 1505#line 272
 1506struct module_notes_attrs;
 1507#line 272
 1508struct ftrace_event_call;
 1509#line 272
 1510struct ftrace_event_call;
 1511#line 272
 1512struct ftrace_event_call;
 1513#line 272 "include/linux/module.h"
 1514struct module_ref {
 1515   unsigned int incs ;
 1516   unsigned int decs ;
 1517};
 1518#line 272 "include/linux/module.h"
 1519struct module {
 1520   enum module_state state ;
 1521   struct list_head list ;
 1522   char name[64UL - sizeof(unsigned long )] ;
 1523   struct module_kobject mkobj ;
 1524   struct module_attribute *modinfo_attrs ;
 1525   char const   *version ;
 1526   char const   *srcversion ;
 1527   struct kobject *holders_dir ;
 1528   struct kernel_symbol  const  *syms ;
 1529   unsigned long const   *crcs ;
 1530   unsigned int num_syms ;
 1531   struct kernel_param *kp ;
 1532   unsigned int num_kp ;
 1533   unsigned int num_gpl_syms ;
 1534   struct kernel_symbol  const  *gpl_syms ;
 1535   unsigned long const   *gpl_crcs ;
 1536   struct kernel_symbol  const  *unused_syms ;
 1537   unsigned long const   *unused_crcs ;
 1538   unsigned int num_unused_syms ;
 1539   unsigned int num_unused_gpl_syms ;
 1540   struct kernel_symbol  const  *unused_gpl_syms ;
 1541   unsigned long const   *unused_gpl_crcs ;
 1542   struct kernel_symbol  const  *gpl_future_syms ;
 1543   unsigned long const   *gpl_future_crcs ;
 1544   unsigned int num_gpl_future_syms ;
 1545   unsigned int num_exentries ;
 1546   struct exception_table_entry *extable ;
 1547   int (*init)(void) ;
 1548   void *module_init ;
 1549   void *module_core ;
 1550   unsigned int init_size ;
 1551   unsigned int core_size ;
 1552   unsigned int init_text_size ;
 1553   unsigned int core_text_size ;
 1554   unsigned int init_ro_size ;
 1555   unsigned int core_ro_size ;
 1556   struct mod_arch_specific arch ;
 1557   unsigned int taints ;
 1558   unsigned int num_bugs ;
 1559   struct list_head bug_list ;
 1560   struct bug_entry *bug_table ;
 1561   Elf64_Sym *symtab ;
 1562   Elf64_Sym *core_symtab ;
 1563   unsigned int num_symtab ;
 1564   unsigned int core_num_syms ;
 1565   char *strtab ;
 1566   char *core_strtab ;
 1567   struct module_sect_attrs *sect_attrs ;
 1568   struct module_notes_attrs *notes_attrs ;
 1569   char *args ;
 1570   void *percpu ;
 1571   unsigned int percpu_size ;
 1572   unsigned int num_tracepoints ;
 1573   struct tracepoint * const  *tracepoints_ptrs ;
 1574   unsigned int num_trace_bprintk_fmt ;
 1575   char const   **trace_bprintk_fmt_start ;
 1576   struct ftrace_event_call **trace_events ;
 1577   unsigned int num_trace_events ;
 1578   unsigned int num_ftrace_callsites ;
 1579   unsigned long *ftrace_callsites ;
 1580   struct list_head source_list ;
 1581   struct list_head target_list ;
 1582   struct task_struct *waiter ;
 1583   void (*exit)(void) ;
 1584   struct module_ref *refptr ;
 1585   ctor_fn_t *ctors ;
 1586   unsigned int num_ctors ;
 1587};
 1588#line 18 "include/linux/capability.h"
 1589struct task_struct;
 1590#line 94 "include/linux/capability.h"
 1591struct kernel_cap_struct {
 1592   __u32 cap[2] ;
 1593};
 1594#line 94 "include/linux/capability.h"
 1595typedef struct kernel_cap_struct kernel_cap_t;
 1596#line 376
 1597struct dentry;
 1598#line 376
 1599struct dentry;
 1600#line 376
 1601struct dentry;
 1602#line 376
 1603struct dentry;
 1604#line 377
 1605struct user_namespace;
 1606#line 377
 1607struct user_namespace;
 1608#line 377
 1609struct user_namespace;
 1610#line 377
 1611struct user_namespace;
 1612#line 100 "include/linux/rbtree.h"
 1613struct rb_node {
 1614   unsigned long rb_parent_color ;
 1615   struct rb_node *rb_right ;
 1616   struct rb_node *rb_left ;
 1617} __attribute__((__aligned__(sizeof(long )))) ;
 1618#line 110 "include/linux/rbtree.h"
 1619struct rb_root {
 1620   struct rb_node *rb_node ;
 1621};
 1622#line 14 "include/linux/prio_tree.h"
 1623struct prio_tree_node;
 1624#line 14
 1625struct prio_tree_node;
 1626#line 14
 1627struct prio_tree_node;
 1628#line 14 "include/linux/prio_tree.h"
 1629struct raw_prio_tree_node {
 1630   struct prio_tree_node *left ;
 1631   struct prio_tree_node *right ;
 1632   struct prio_tree_node *parent ;
 1633};
 1634#line 20 "include/linux/prio_tree.h"
 1635struct prio_tree_node {
 1636   struct prio_tree_node *left ;
 1637   struct prio_tree_node *right ;
 1638   struct prio_tree_node *parent ;
 1639   unsigned long start ;
 1640   unsigned long last ;
 1641};
 1642#line 28 "include/linux/prio_tree.h"
 1643struct prio_tree_root {
 1644   struct prio_tree_node *prio_tree_node ;
 1645   unsigned short index_bits ;
 1646   unsigned short raw ;
 1647};
 1648#line 23 "include/linux/mm_types.h"
 1649struct address_space;
 1650#line 23
 1651struct address_space;
 1652#line 23
 1653struct address_space;
 1654#line 23
 1655struct address_space;
 1656#line 34 "include/linux/mm_types.h"
 1657struct __anonstruct____missing_field_name_199 {
 1658   u16 inuse ;
 1659   u16 objects ;
 1660};
 1661#line 34 "include/linux/mm_types.h"
 1662union __anonunion____missing_field_name_198 {
 1663   atomic_t _mapcount ;
 1664   struct __anonstruct____missing_field_name_199 __annonCompField32 ;
 1665};
 1666#line 34 "include/linux/mm_types.h"
 1667struct __anonstruct____missing_field_name_201 {
 1668   unsigned long private ;
 1669   struct address_space *mapping ;
 1670};
 1671#line 34 "include/linux/mm_types.h"
 1672union __anonunion____missing_field_name_200 {
 1673   struct __anonstruct____missing_field_name_201 __annonCompField34 ;
 1674   struct kmem_cache *slab ;
 1675   struct page *first_page ;
 1676};
 1677#line 34 "include/linux/mm_types.h"
 1678union __anonunion____missing_field_name_202 {
 1679   unsigned long index ;
 1680   void *freelist ;
 1681};
 1682#line 34 "include/linux/mm_types.h"
 1683struct page {
 1684   unsigned long flags ;
 1685   atomic_t _count ;
 1686   union __anonunion____missing_field_name_198 __annonCompField33 ;
 1687   union __anonunion____missing_field_name_200 __annonCompField35 ;
 1688   union __anonunion____missing_field_name_202 __annonCompField36 ;
 1689   struct list_head lru ;
 1690};
 1691#line 132 "include/linux/mm_types.h"
 1692struct __anonstruct_vm_set_204 {
 1693   struct list_head list ;
 1694   void *parent ;
 1695   struct vm_area_struct *head ;
 1696};
 1697#line 132 "include/linux/mm_types.h"
 1698union __anonunion_shared_203 {
 1699   struct __anonstruct_vm_set_204 vm_set ;
 1700   struct raw_prio_tree_node prio_tree_node ;
 1701};
 1702#line 132
 1703struct anon_vma;
 1704#line 132
 1705struct anon_vma;
 1706#line 132
 1707struct anon_vma;
 1708#line 132
 1709struct vm_operations_struct;
 1710#line 132
 1711struct vm_operations_struct;
 1712#line 132
 1713struct vm_operations_struct;
 1714#line 132
 1715struct mempolicy;
 1716#line 132
 1717struct mempolicy;
 1718#line 132
 1719struct mempolicy;
 1720#line 132 "include/linux/mm_types.h"
 1721struct vm_area_struct {
 1722   struct mm_struct *vm_mm ;
 1723   unsigned long vm_start ;
 1724   unsigned long vm_end ;
 1725   struct vm_area_struct *vm_next ;
 1726   struct vm_area_struct *vm_prev ;
 1727   pgprot_t vm_page_prot ;
 1728   unsigned long vm_flags ;
 1729   struct rb_node vm_rb ;
 1730   union __anonunion_shared_203 shared ;
 1731   struct list_head anon_vma_chain ;
 1732   struct anon_vma *anon_vma ;
 1733   struct vm_operations_struct  const  *vm_ops ;
 1734   unsigned long vm_pgoff ;
 1735   struct file *vm_file ;
 1736   void *vm_private_data ;
 1737   struct mempolicy *vm_policy ;
 1738};
 1739#line 189 "include/linux/mm_types.h"
 1740struct core_thread {
 1741   struct task_struct *task ;
 1742   struct core_thread *next ;
 1743};
 1744#line 194 "include/linux/mm_types.h"
 1745struct core_state {
 1746   atomic_t nr_threads ;
 1747   struct core_thread dumper ;
 1748   struct completion startup ;
 1749};
 1750#line 216 "include/linux/mm_types.h"
 1751struct mm_rss_stat {
 1752   atomic_long_t count[3] ;
 1753};
 1754#line 220
 1755struct linux_binfmt;
 1756#line 220
 1757struct linux_binfmt;
 1758#line 220
 1759struct linux_binfmt;
 1760#line 220
 1761struct mmu_notifier_mm;
 1762#line 220
 1763struct mmu_notifier_mm;
 1764#line 220
 1765struct mmu_notifier_mm;
 1766#line 220 "include/linux/mm_types.h"
 1767struct mm_struct {
 1768   struct vm_area_struct *mmap ;
 1769   struct rb_root mm_rb ;
 1770   struct vm_area_struct *mmap_cache ;
 1771   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
 1772                                      unsigned long pgoff , unsigned long flags ) ;
 1773   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
 1774   unsigned long mmap_base ;
 1775   unsigned long task_size ;
 1776   unsigned long cached_hole_size ;
 1777   unsigned long free_area_cache ;
 1778   pgd_t *pgd ;
 1779   atomic_t mm_users ;
 1780   atomic_t mm_count ;
 1781   int map_count ;
 1782   spinlock_t page_table_lock ;
 1783   struct rw_semaphore mmap_sem ;
 1784   struct list_head mmlist ;
 1785   unsigned long hiwater_rss ;
 1786   unsigned long hiwater_vm ;
 1787   unsigned long total_vm ;
 1788   unsigned long locked_vm ;
 1789   unsigned long shared_vm ;
 1790   unsigned long exec_vm ;
 1791   unsigned long stack_vm ;
 1792   unsigned long reserved_vm ;
 1793   unsigned long def_flags ;
 1794   unsigned long nr_ptes ;
 1795   unsigned long start_code ;
 1796   unsigned long end_code ;
 1797   unsigned long start_data ;
 1798   unsigned long end_data ;
 1799   unsigned long start_brk ;
 1800   unsigned long brk ;
 1801   unsigned long start_stack ;
 1802   unsigned long arg_start ;
 1803   unsigned long arg_end ;
 1804   unsigned long env_start ;
 1805   unsigned long env_end ;
 1806   unsigned long saved_auxv[44] ;
 1807   struct mm_rss_stat rss_stat ;
 1808   struct linux_binfmt *binfmt ;
 1809   cpumask_var_t cpu_vm_mask_var ;
 1810   mm_context_t context ;
 1811   unsigned int faultstamp ;
 1812   unsigned int token_priority ;
 1813   unsigned int last_interval ;
 1814   atomic_t oom_disable_count ;
 1815   unsigned long flags ;
 1816   struct core_state *core_state ;
 1817   spinlock_t ioctx_lock ;
 1818   struct hlist_head ioctx_list ;
 1819   struct task_struct *owner ;
 1820   struct file *exe_file ;
 1821   unsigned long num_exe_file_vmas ;
 1822   struct mmu_notifier_mm *mmu_notifier_mm ;
 1823   pgtable_t pmd_huge_pte ;
 1824   struct cpumask cpumask_allocation ;
 1825};
 1826#line 7 "include/asm-generic/cputime.h"
 1827typedef unsigned long cputime_t;
 1828#line 84 "include/linux/sem.h"
 1829struct task_struct;
 1830#line 122
 1831struct sem_undo_list;
 1832#line 122
 1833struct sem_undo_list;
 1834#line 122
 1835struct sem_undo_list;
 1836#line 135 "include/linux/sem.h"
 1837struct sem_undo_list {
 1838   atomic_t refcnt ;
 1839   spinlock_t lock ;
 1840   struct list_head list_proc ;
 1841};
 1842#line 141 "include/linux/sem.h"
 1843struct sysv_sem {
 1844   struct sem_undo_list *undo_list ;
 1845};
 1846#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1847struct siginfo;
 1848#line 10
 1849struct siginfo;
 1850#line 10
 1851struct siginfo;
 1852#line 10
 1853struct siginfo;
 1854#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1855struct __anonstruct_sigset_t_206 {
 1856   unsigned long sig[1] ;
 1857};
 1858#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1859typedef struct __anonstruct_sigset_t_206 sigset_t;
 1860#line 17 "include/asm-generic/signal-defs.h"
 1861typedef void __signalfn_t(int  );
 1862#line 18 "include/asm-generic/signal-defs.h"
 1863typedef __signalfn_t *__sighandler_t;
 1864#line 20 "include/asm-generic/signal-defs.h"
 1865typedef void __restorefn_t(void);
 1866#line 21 "include/asm-generic/signal-defs.h"
 1867typedef __restorefn_t *__sigrestore_t;
 1868#line 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1869struct sigaction {
 1870   __sighandler_t sa_handler ;
 1871   unsigned long sa_flags ;
 1872   __sigrestore_t sa_restorer ;
 1873   sigset_t sa_mask ;
 1874};
 1875#line 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 1876struct k_sigaction {
 1877   struct sigaction sa ;
 1878};
 1879#line 7 "include/asm-generic/siginfo.h"
 1880union sigval {
 1881   int sival_int ;
 1882   void *sival_ptr ;
 1883};
 1884#line 7 "include/asm-generic/siginfo.h"
 1885typedef union sigval sigval_t;
 1886#line 40 "include/asm-generic/siginfo.h"
 1887struct __anonstruct__kill_208 {
 1888   __kernel_pid_t _pid ;
 1889   __kernel_uid32_t _uid ;
 1890};
 1891#line 40 "include/asm-generic/siginfo.h"
 1892struct __anonstruct__timer_209 {
 1893   __kernel_timer_t _tid ;
 1894   int _overrun ;
 1895   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
 1896   sigval_t _sigval ;
 1897   int _sys_private ;
 1898};
 1899#line 40 "include/asm-generic/siginfo.h"
 1900struct __anonstruct__rt_210 {
 1901   __kernel_pid_t _pid ;
 1902   __kernel_uid32_t _uid ;
 1903   sigval_t _sigval ;
 1904};
 1905#line 40 "include/asm-generic/siginfo.h"
 1906struct __anonstruct__sigchld_211 {
 1907   __kernel_pid_t _pid ;
 1908   __kernel_uid32_t _uid ;
 1909   int _status ;
 1910   __kernel_clock_t _utime ;
 1911   __kernel_clock_t _stime ;
 1912};
 1913#line 40 "include/asm-generic/siginfo.h"
 1914struct __anonstruct__sigfault_212 {
 1915   void *_addr ;
 1916   short _addr_lsb ;
 1917};
 1918#line 40 "include/asm-generic/siginfo.h"
 1919struct __anonstruct__sigpoll_213 {
 1920   long _band ;
 1921   int _fd ;
 1922};
 1923#line 40 "include/asm-generic/siginfo.h"
 1924union __anonunion__sifields_207 {
 1925   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
 1926   struct __anonstruct__kill_208 _kill ;
 1927   struct __anonstruct__timer_209 _timer ;
 1928   struct __anonstruct__rt_210 _rt ;
 1929   struct __anonstruct__sigchld_211 _sigchld ;
 1930   struct __anonstruct__sigfault_212 _sigfault ;
 1931   struct __anonstruct__sigpoll_213 _sigpoll ;
 1932};
 1933#line 40 "include/asm-generic/siginfo.h"
 1934struct siginfo {
 1935   int si_signo ;
 1936   int si_errno ;
 1937   int si_code ;
 1938   union __anonunion__sifields_207 _sifields ;
 1939};
 1940#line 40 "include/asm-generic/siginfo.h"
 1941typedef struct siginfo siginfo_t;
 1942#line 280
 1943struct siginfo;
 1944#line 10 "include/linux/signal.h"
 1945struct task_struct;
 1946#line 18
 1947struct user_struct;
 1948#line 18
 1949struct user_struct;
 1950#line 18
 1951struct user_struct;
 1952#line 28 "include/linux/signal.h"
 1953struct sigpending {
 1954   struct list_head list ;
 1955   sigset_t signal ;
 1956};
 1957#line 239
 1958struct timespec;
 1959#line 240
 1960struct pt_regs;
 1961#line 6 "include/linux/pid.h"
 1962enum pid_type {
 1963    PIDTYPE_PID = 0,
 1964    PIDTYPE_PGID = 1,
 1965    PIDTYPE_SID = 2,
 1966    PIDTYPE_MAX = 3
 1967} ;
 1968#line 50
 1969struct pid_namespace;
 1970#line 50
 1971struct pid_namespace;
 1972#line 50
 1973struct pid_namespace;
 1974#line 50 "include/linux/pid.h"
 1975struct upid {
 1976   int nr ;
 1977   struct pid_namespace *ns ;
 1978   struct hlist_node pid_chain ;
 1979};
 1980#line 57 "include/linux/pid.h"
 1981struct pid {
 1982   atomic_t count ;
 1983   unsigned int level ;
 1984   struct hlist_head tasks[3] ;
 1985   struct rcu_head rcu ;
 1986   struct upid numbers[1] ;
 1987};
 1988#line 69 "include/linux/pid.h"
 1989struct pid_link {
 1990   struct hlist_node node ;
 1991   struct pid *pid ;
 1992};
 1993#line 100
 1994struct pid_namespace;
 1995#line 18 "include/linux/percpu_counter.h"
 1996struct percpu_counter {
 1997   spinlock_t lock ;
 1998   s64 count ;
 1999   struct list_head list ;
 2000   s32 *counters ;
 2001};
 2002#line 50 "include/linux/proportions.h"
 2003struct prop_local_percpu {
 2004   struct percpu_counter events ;
 2005   int shift ;
 2006   unsigned long period ;
 2007   spinlock_t lock ;
 2008};
 2009#line 97 "include/linux/proportions.h"
 2010struct prop_local_single {
 2011   unsigned long events ;
 2012   unsigned long period ;
 2013   int shift ;
 2014   spinlock_t lock ;
 2015};
 2016#line 10 "include/linux/seccomp.h"
 2017struct __anonstruct_seccomp_t_216 {
 2018   int mode ;
 2019};
 2020#line 10 "include/linux/seccomp.h"
 2021typedef struct __anonstruct_seccomp_t_216 seccomp_t;
 2022#line 82 "include/linux/plist.h"
 2023struct plist_head {
 2024   struct list_head node_list ;
 2025   raw_spinlock_t *rawlock ;
 2026   spinlock_t *spinlock ;
 2027};
 2028#line 90 "include/linux/plist.h"
 2029struct plist_node {
 2030   int prio ;
 2031   struct list_head prio_list ;
 2032   struct list_head node_list ;
 2033};
 2034#line 40 "include/linux/rtmutex.h"
 2035struct rt_mutex_waiter;
 2036#line 40
 2037struct rt_mutex_waiter;
 2038#line 40
 2039struct rt_mutex_waiter;
 2040#line 40
 2041struct rt_mutex_waiter;
 2042#line 42 "include/linux/resource.h"
 2043struct rlimit {
 2044   unsigned long rlim_cur ;
 2045   unsigned long rlim_max ;
 2046};
 2047#line 81
 2048struct task_struct;
 2049#line 8 "include/linux/timerqueue.h"
 2050struct timerqueue_node {
 2051   struct rb_node node ;
 2052   ktime_t expires ;
 2053};
 2054#line 13 "include/linux/timerqueue.h"
 2055struct timerqueue_head {
 2056   struct rb_root head ;
 2057   struct timerqueue_node *next ;
 2058};
 2059#line 27 "include/linux/hrtimer.h"
 2060struct hrtimer_clock_base;
 2061#line 27
 2062struct hrtimer_clock_base;
 2063#line 27
 2064struct hrtimer_clock_base;
 2065#line 27
 2066struct hrtimer_clock_base;
 2067#line 28
 2068struct hrtimer_cpu_base;
 2069#line 28
 2070struct hrtimer_cpu_base;
 2071#line 28
 2072struct hrtimer_cpu_base;
 2073#line 28
 2074struct hrtimer_cpu_base;
 2075#line 44
 2076enum hrtimer_restart {
 2077    HRTIMER_NORESTART = 0,
 2078    HRTIMER_RESTART = 1
 2079} ;
 2080#line 108 "include/linux/hrtimer.h"
 2081struct hrtimer {
 2082   struct timerqueue_node node ;
 2083   ktime_t _softexpires ;
 2084   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 2085   struct hrtimer_clock_base *base ;
 2086   unsigned long state ;
 2087   int start_pid ;
 2088   void *start_site ;
 2089   char start_comm[16] ;
 2090};
 2091#line 145 "include/linux/hrtimer.h"
 2092struct hrtimer_clock_base {
 2093   struct hrtimer_cpu_base *cpu_base ;
 2094   int index ;
 2095   clockid_t clockid ;
 2096   struct timerqueue_head active ;
 2097   ktime_t resolution ;
 2098   ktime_t (*get_time)(void) ;
 2099   ktime_t softirq_time ;
 2100   ktime_t offset ;
 2101};
 2102#line 178 "include/linux/hrtimer.h"
 2103struct hrtimer_cpu_base {
 2104   raw_spinlock_t lock ;
 2105   unsigned long active_bases ;
 2106   ktime_t expires_next ;
 2107   int hres_active ;
 2108   int hang_detected ;
 2109   unsigned long nr_events ;
 2110   unsigned long nr_retries ;
 2111   unsigned long nr_hangs ;
 2112   ktime_t max_hang_time ;
 2113   struct hrtimer_clock_base clock_base[3] ;
 2114};
 2115#line 11 "include/linux/task_io_accounting.h"
 2116struct task_io_accounting {
 2117   u64 rchar ;
 2118   u64 wchar ;
 2119   u64 syscr ;
 2120   u64 syscw ;
 2121   u64 read_bytes ;
 2122   u64 write_bytes ;
 2123   u64 cancelled_write_bytes ;
 2124};
 2125#line 18 "include/linux/latencytop.h"
 2126struct latency_record {
 2127   unsigned long backtrace[12] ;
 2128   unsigned int count ;
 2129   unsigned long time ;
 2130   unsigned long max ;
 2131};
 2132#line 26
 2133struct task_struct;
 2134#line 29 "include/linux/key.h"
 2135typedef int32_t key_serial_t;
 2136#line 32 "include/linux/key.h"
 2137typedef uint32_t key_perm_t;
 2138#line 34
 2139struct key;
 2140#line 34
 2141struct key;
 2142#line 34
 2143struct key;
 2144#line 34
 2145struct key;
 2146#line 74
 2147struct seq_file;
 2148#line 75
 2149struct user_struct;
 2150#line 76
 2151struct signal_struct;
 2152#line 76
 2153struct signal_struct;
 2154#line 76
 2155struct signal_struct;
 2156#line 76
 2157struct signal_struct;
 2158#line 77
 2159struct cred;
 2160#line 79
 2161struct key_type;
 2162#line 79
 2163struct key_type;
 2164#line 79
 2165struct key_type;
 2166#line 79
 2167struct key_type;
 2168#line 81
 2169struct keyring_list;
 2170#line 81
 2171struct keyring_list;
 2172#line 81
 2173struct keyring_list;
 2174#line 81
 2175struct keyring_list;
 2176#line 124
 2177struct key_user;
 2178#line 124
 2179struct key_user;
 2180#line 124
 2181struct key_user;
 2182#line 124 "include/linux/key.h"
 2183union __anonunion____missing_field_name_217 {
 2184   time_t expiry ;
 2185   time_t revoked_at ;
 2186};
 2187#line 124 "include/linux/key.h"
 2188union __anonunion_type_data_218 {
 2189   struct list_head link ;
 2190   unsigned long x[2] ;
 2191   void *p[2] ;
 2192   int reject_error ;
 2193};
 2194#line 124 "include/linux/key.h"
 2195union __anonunion_payload_219 {
 2196   unsigned long value ;
 2197   void *rcudata ;
 2198   void *data ;
 2199   struct keyring_list *subscriptions ;
 2200};
 2201#line 124 "include/linux/key.h"
 2202struct key {
 2203   atomic_t usage ;
 2204   key_serial_t serial ;
 2205   struct rb_node serial_node ;
 2206   struct key_type *type ;
 2207   struct rw_semaphore sem ;
 2208   struct key_user *user ;
 2209   void *security ;
 2210   union __anonunion____missing_field_name_217 __annonCompField37 ;
 2211   uid_t uid ;
 2212   gid_t gid ;
 2213   key_perm_t perm ;
 2214   unsigned short quotalen ;
 2215   unsigned short datalen ;
 2216   unsigned long flags ;
 2217   char *description ;
 2218   union __anonunion_type_data_218 type_data ;
 2219   union __anonunion_payload_219 payload ;
 2220};
 2221#line 18 "include/linux/selinux.h"
 2222struct audit_context;
 2223#line 18
 2224struct audit_context;
 2225#line 18
 2226struct audit_context;
 2227#line 18
 2228struct audit_context;
 2229#line 21 "include/linux/cred.h"
 2230struct user_struct;
 2231#line 22
 2232struct cred;
 2233#line 23
 2234struct inode;
 2235#line 23
 2236struct inode;
 2237#line 23
 2238struct inode;
 2239#line 23
 2240struct inode;
 2241#line 31 "include/linux/cred.h"
 2242struct group_info {
 2243   atomic_t usage ;
 2244   int ngroups ;
 2245   int nblocks ;
 2246   gid_t small_block[32] ;
 2247   gid_t *blocks[0] ;
 2248};
 2249#line 83 "include/linux/cred.h"
 2250struct thread_group_cred {
 2251   atomic_t usage ;
 2252   pid_t tgid ;
 2253   spinlock_t lock ;
 2254   struct key *session_keyring ;
 2255   struct key *process_keyring ;
 2256   struct rcu_head rcu ;
 2257};
 2258#line 116 "include/linux/cred.h"
 2259struct cred {
 2260   atomic_t usage ;
 2261   atomic_t subscribers ;
 2262   void *put_addr ;
 2263   unsigned int magic ;
 2264   uid_t uid ;
 2265   gid_t gid ;
 2266   uid_t suid ;
 2267   gid_t sgid ;
 2268   uid_t euid ;
 2269   gid_t egid ;
 2270   uid_t fsuid ;
 2271   gid_t fsgid ;
 2272   unsigned int securebits ;
 2273   kernel_cap_t cap_inheritable ;
 2274   kernel_cap_t cap_permitted ;
 2275   kernel_cap_t cap_effective ;
 2276   kernel_cap_t cap_bset ;
 2277   unsigned char jit_keyring ;
 2278   struct key *thread_keyring ;
 2279   struct key *request_key_auth ;
 2280   struct thread_group_cred *tgcred ;
 2281   void *security ;
 2282   struct user_struct *user ;
 2283   struct user_namespace *user_ns ;
 2284   struct group_info *group_info ;
 2285   struct rcu_head rcu ;
 2286};
 2287#line 97 "include/linux/sched.h"
 2288struct futex_pi_state;
 2289#line 97
 2290struct futex_pi_state;
 2291#line 97
 2292struct futex_pi_state;
 2293#line 97
 2294struct futex_pi_state;
 2295#line 98
 2296struct robust_list_head;
 2297#line 98
 2298struct robust_list_head;
 2299#line 98
 2300struct robust_list_head;
 2301#line 98
 2302struct robust_list_head;
 2303#line 99
 2304struct bio_list;
 2305#line 99
 2306struct bio_list;
 2307#line 99
 2308struct bio_list;
 2309#line 99
 2310struct bio_list;
 2311#line 100
 2312struct fs_struct;
 2313#line 100
 2314struct fs_struct;
 2315#line 100
 2316struct fs_struct;
 2317#line 100
 2318struct fs_struct;
 2319#line 101
 2320struct perf_event_context;
 2321#line 101
 2322struct perf_event_context;
 2323#line 101
 2324struct perf_event_context;
 2325#line 101
 2326struct perf_event_context;
 2327#line 102
 2328struct blk_plug;
 2329#line 102
 2330struct blk_plug;
 2331#line 102
 2332struct blk_plug;
 2333#line 102
 2334struct blk_plug;
 2335#line 150
 2336struct seq_file;
 2337#line 151
 2338struct cfs_rq;
 2339#line 151
 2340struct cfs_rq;
 2341#line 151
 2342struct cfs_rq;
 2343#line 151
 2344struct cfs_rq;
 2345#line 259
 2346struct task_struct;
 2347#line 364
 2348struct nsproxy;
 2349#line 365
 2350struct user_namespace;
 2351#line 58 "include/linux/aio_abi.h"
 2352struct io_event {
 2353   __u64 data ;
 2354   __u64 obj ;
 2355   __s64 res ;
 2356   __s64 res2 ;
 2357};
 2358#line 16 "include/linux/uio.h"
 2359struct iovec {
 2360   void *iov_base ;
 2361   __kernel_size_t iov_len ;
 2362};
 2363#line 15 "include/linux/aio.h"
 2364struct kioctx;
 2365#line 15
 2366struct kioctx;
 2367#line 15
 2368struct kioctx;
 2369#line 15
 2370struct kioctx;
 2371#line 87 "include/linux/aio.h"
 2372union __anonunion_ki_obj_221 {
 2373   void *user ;
 2374   struct task_struct *tsk ;
 2375};
 2376#line 87
 2377struct eventfd_ctx;
 2378#line 87
 2379struct eventfd_ctx;
 2380#line 87
 2381struct eventfd_ctx;
 2382#line 87 "include/linux/aio.h"
 2383struct kiocb {
 2384   struct list_head ki_run_list ;
 2385   unsigned long ki_flags ;
 2386   int ki_users ;
 2387   unsigned int ki_key ;
 2388   struct file *ki_filp ;
 2389   struct kioctx *ki_ctx ;
 2390   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
 2391   ssize_t (*ki_retry)(struct kiocb * ) ;
 2392   void (*ki_dtor)(struct kiocb * ) ;
 2393   union __anonunion_ki_obj_221 ki_obj ;
 2394   __u64 ki_user_data ;
 2395   loff_t ki_pos ;
 2396   void *private ;
 2397   unsigned short ki_opcode ;
 2398   size_t ki_nbytes ;
 2399   char *ki_buf ;
 2400   size_t ki_left ;
 2401   struct iovec ki_inline_vec ;
 2402   struct iovec *ki_iovec ;
 2403   unsigned long ki_nr_segs ;
 2404   unsigned long ki_cur_seg ;
 2405   struct list_head ki_list ;
 2406   struct eventfd_ctx *ki_eventfd ;
 2407};
 2408#line 165 "include/linux/aio.h"
 2409struct aio_ring_info {
 2410   unsigned long mmap_base ;
 2411   unsigned long mmap_size ;
 2412   struct page **ring_pages ;
 2413   spinlock_t ring_lock ;
 2414   long nr_pages ;
 2415   unsigned int nr ;
 2416   unsigned int tail ;
 2417   struct page *internal_pages[8] ;
 2418};
 2419#line 178 "include/linux/aio.h"
 2420struct kioctx {
 2421   atomic_t users ;
 2422   int dead ;
 2423   struct mm_struct *mm ;
 2424   unsigned long user_id ;
 2425   struct hlist_node list ;
 2426   wait_queue_head_t wait ;
 2427   spinlock_t ctx_lock ;
 2428   int reqs_active ;
 2429   struct list_head active_reqs ;
 2430   struct list_head run_list ;
 2431   unsigned int max_reqs ;
 2432   struct aio_ring_info ring_info ;
 2433   struct delayed_work wq ;
 2434   struct rcu_head rcu_head ;
 2435};
 2436#line 213
 2437struct mm_struct;
 2438#line 441 "include/linux/sched.h"
 2439struct sighand_struct {
 2440   atomic_t count ;
 2441   struct k_sigaction action[64] ;
 2442   spinlock_t siglock ;
 2443   wait_queue_head_t signalfd_wqh ;
 2444};
 2445#line 448 "include/linux/sched.h"
 2446struct pacct_struct {
 2447   int ac_flag ;
 2448   long ac_exitcode ;
 2449   unsigned long ac_mem ;
 2450   cputime_t ac_utime ;
 2451   cputime_t ac_stime ;
 2452   unsigned long ac_minflt ;
 2453   unsigned long ac_majflt ;
 2454};
 2455#line 456 "include/linux/sched.h"
 2456struct cpu_itimer {
 2457   cputime_t expires ;
 2458   cputime_t incr ;
 2459   u32 error ;
 2460   u32 incr_error ;
 2461};
 2462#line 474 "include/linux/sched.h"
 2463struct task_cputime {
 2464   cputime_t utime ;
 2465   cputime_t stime ;
 2466   unsigned long long sum_exec_runtime ;
 2467};
 2468#line 510 "include/linux/sched.h"
 2469struct thread_group_cputimer {
 2470   struct task_cputime cputime ;
 2471   int running ;
 2472   spinlock_t lock ;
 2473};
 2474#line 517
 2475struct autogroup;
 2476#line 517
 2477struct autogroup;
 2478#line 517
 2479struct autogroup;
 2480#line 517
 2481struct autogroup;
 2482#line 526
 2483struct tty_struct;
 2484#line 526
 2485struct tty_struct;
 2486#line 526
 2487struct tty_struct;
 2488#line 526
 2489struct taskstats;
 2490#line 526
 2491struct taskstats;
 2492#line 526
 2493struct taskstats;
 2494#line 526
 2495struct tty_audit_buf;
 2496#line 526
 2497struct tty_audit_buf;
 2498#line 526
 2499struct tty_audit_buf;
 2500#line 526 "include/linux/sched.h"
 2501struct signal_struct {
 2502   atomic_t sigcnt ;
 2503   atomic_t live ;
 2504   int nr_threads ;
 2505   wait_queue_head_t wait_chldexit ;
 2506   struct task_struct *curr_target ;
 2507   struct sigpending shared_pending ;
 2508   int group_exit_code ;
 2509   int notify_count ;
 2510   struct task_struct *group_exit_task ;
 2511   int group_stop_count ;
 2512   unsigned int flags ;
 2513   struct list_head posix_timers ;
 2514   struct hrtimer real_timer ;
 2515   struct pid *leader_pid ;
 2516   ktime_t it_real_incr ;
 2517   struct cpu_itimer it[2] ;
 2518   struct thread_group_cputimer cputimer ;
 2519   struct task_cputime cputime_expires ;
 2520   struct list_head cpu_timers[3] ;
 2521   struct pid *tty_old_pgrp ;
 2522   int leader ;
 2523   struct tty_struct *tty ;
 2524   struct autogroup *autogroup ;
 2525   cputime_t utime ;
 2526   cputime_t stime ;
 2527   cputime_t cutime ;
 2528   cputime_t cstime ;
 2529   cputime_t gtime ;
 2530   cputime_t cgtime ;
 2531   cputime_t prev_utime ;
 2532   cputime_t prev_stime ;
 2533   unsigned long nvcsw ;
 2534   unsigned long nivcsw ;
 2535   unsigned long cnvcsw ;
 2536   unsigned long cnivcsw ;
 2537   unsigned long min_flt ;
 2538   unsigned long maj_flt ;
 2539   unsigned long cmin_flt ;
 2540   unsigned long cmaj_flt ;
 2541   unsigned long inblock ;
 2542   unsigned long oublock ;
 2543   unsigned long cinblock ;
 2544   unsigned long coublock ;
 2545   unsigned long maxrss ;
 2546   unsigned long cmaxrss ;
 2547   struct task_io_accounting ioac ;
 2548   unsigned long long sum_sched_runtime ;
 2549   struct rlimit rlim[16] ;
 2550   struct pacct_struct pacct ;
 2551   struct taskstats *stats ;
 2552   unsigned int audit_tty ;
 2553   struct tty_audit_buf *tty_audit_buf ;
 2554   struct rw_semaphore threadgroup_fork_lock ;
 2555   int oom_adj ;
 2556   int oom_score_adj ;
 2557   int oom_score_adj_min ;
 2558   struct mutex cred_guard_mutex ;
 2559};
 2560#line 687 "include/linux/sched.h"
 2561struct user_struct {
 2562   atomic_t __count ;
 2563   atomic_t processes ;
 2564   atomic_t files ;
 2565   atomic_t sigpending ;
 2566   atomic_t inotify_watches ;
 2567   atomic_t inotify_devs ;
 2568   atomic_t fanotify_listeners ;
 2569   atomic_long_t epoll_watches ;
 2570   unsigned long mq_bytes ;
 2571   unsigned long locked_shm ;
 2572   struct key *uid_keyring ;
 2573   struct key *session_keyring ;
 2574   struct hlist_node uidhash_node ;
 2575   uid_t uid ;
 2576   struct user_namespace *user_ns ;
 2577   atomic_long_t locked_vm ;
 2578};
 2579#line 731
 2580struct backing_dev_info;
 2581#line 731
 2582struct backing_dev_info;
 2583#line 731
 2584struct backing_dev_info;
 2585#line 731
 2586struct backing_dev_info;
 2587#line 732
 2588struct reclaim_state;
 2589#line 732
 2590struct reclaim_state;
 2591#line 732
 2592struct reclaim_state;
 2593#line 732
 2594struct reclaim_state;
 2595#line 735 "include/linux/sched.h"
 2596struct sched_info {
 2597   unsigned long pcount ;
 2598   unsigned long long run_delay ;
 2599   unsigned long long last_arrival ;
 2600   unsigned long long last_queued ;
 2601};
 2602#line 747 "include/linux/sched.h"
 2603struct task_delay_info {
 2604   spinlock_t lock ;
 2605   unsigned int flags ;
 2606   struct timespec blkio_start ;
 2607   struct timespec blkio_end ;
 2608   u64 blkio_delay ;
 2609   u64 swapin_delay ;
 2610   u32 blkio_count ;
 2611   u32 swapin_count ;
 2612   struct timespec freepages_start ;
 2613   struct timespec freepages_end ;
 2614   u64 freepages_delay ;
 2615   u32 freepages_count ;
 2616};
 2617#line 1050
 2618struct io_context;
 2619#line 1050
 2620struct io_context;
 2621#line 1050
 2622struct io_context;
 2623#line 1050
 2624struct io_context;
 2625#line 1059
 2626struct audit_context;
 2627#line 1060
 2628struct mempolicy;
 2629#line 1061
 2630struct pipe_inode_info;
 2631#line 1061
 2632struct pipe_inode_info;
 2633#line 1061
 2634struct pipe_inode_info;
 2635#line 1061
 2636struct pipe_inode_info;
 2637#line 1064
 2638struct rq;
 2639#line 1064
 2640struct rq;
 2641#line 1064
 2642struct rq;
 2643#line 1064
 2644struct rq;
 2645#line 1084 "include/linux/sched.h"
 2646struct sched_class {
 2647   struct sched_class  const  *next ;
 2648   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
 2649   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
 2650   void (*yield_task)(struct rq *rq ) ;
 2651   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
 2652   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
 2653   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
 2654   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
 2655   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
 2656   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
 2657   void (*post_schedule)(struct rq *this_rq ) ;
 2658   void (*task_waking)(struct task_struct *task ) ;
 2659   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
 2660   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
 2661   void (*rq_online)(struct rq *rq ) ;
 2662   void (*rq_offline)(struct rq *rq ) ;
 2663   void (*set_curr_task)(struct rq *rq ) ;
 2664   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
 2665   void (*task_fork)(struct task_struct *p ) ;
 2666   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
 2667   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
 2668   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
 2669   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
 2670   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
 2671};
 2672#line 1129 "include/linux/sched.h"
 2673struct load_weight {
 2674   unsigned long weight ;
 2675   unsigned long inv_weight ;
 2676};
 2677#line 1134 "include/linux/sched.h"
 2678struct sched_statistics {
 2679   u64 wait_start ;
 2680   u64 wait_max ;
 2681   u64 wait_count ;
 2682   u64 wait_sum ;
 2683   u64 iowait_count ;
 2684   u64 iowait_sum ;
 2685   u64 sleep_start ;
 2686   u64 sleep_max ;
 2687   s64 sum_sleep_runtime ;
 2688   u64 block_start ;
 2689   u64 block_max ;
 2690   u64 exec_max ;
 2691   u64 slice_max ;
 2692   u64 nr_migrations_cold ;
 2693   u64 nr_failed_migrations_affine ;
 2694   u64 nr_failed_migrations_running ;
 2695   u64 nr_failed_migrations_hot ;
 2696   u64 nr_forced_migrations ;
 2697   u64 nr_wakeups ;
 2698   u64 nr_wakeups_sync ;
 2699   u64 nr_wakeups_migrate ;
 2700   u64 nr_wakeups_local ;
 2701   u64 nr_wakeups_remote ;
 2702   u64 nr_wakeups_affine ;
 2703   u64 nr_wakeups_affine_attempts ;
 2704   u64 nr_wakeups_passive ;
 2705   u64 nr_wakeups_idle ;
 2706};
 2707#line 1169 "include/linux/sched.h"
 2708struct sched_entity {
 2709   struct load_weight load ;
 2710   struct rb_node run_node ;
 2711   struct list_head group_node ;
 2712   unsigned int on_rq ;
 2713   u64 exec_start ;
 2714   u64 sum_exec_runtime ;
 2715   u64 vruntime ;
 2716   u64 prev_sum_exec_runtime ;
 2717   u64 nr_migrations ;
 2718   struct sched_statistics statistics ;
 2719   struct sched_entity *parent ;
 2720   struct cfs_rq *cfs_rq ;
 2721   struct cfs_rq *my_q ;
 2722};
 2723#line 1195
 2724struct rt_rq;
 2725#line 1195
 2726struct rt_rq;
 2727#line 1195
 2728struct rt_rq;
 2729#line 1195 "include/linux/sched.h"
 2730struct sched_rt_entity {
 2731   struct list_head run_list ;
 2732   unsigned long timeout ;
 2733   unsigned int time_slice ;
 2734   int nr_cpus_allowed ;
 2735   struct sched_rt_entity *back ;
 2736   struct sched_rt_entity *parent ;
 2737   struct rt_rq *rt_rq ;
 2738   struct rt_rq *my_q ;
 2739};
 2740#line 1220
 2741struct files_struct;
 2742#line 1220
 2743struct files_struct;
 2744#line 1220
 2745struct files_struct;
 2746#line 1220
 2747struct irqaction;
 2748#line 1220
 2749struct irqaction;
 2750#line 1220
 2751struct irqaction;
 2752#line 1220
 2753struct css_set;
 2754#line 1220
 2755struct css_set;
 2756#line 1220
 2757struct css_set;
 2758#line 1220
 2759struct compat_robust_list_head;
 2760#line 1220
 2761struct compat_robust_list_head;
 2762#line 1220
 2763struct compat_robust_list_head;
 2764#line 1220
 2765struct ftrace_ret_stack;
 2766#line 1220
 2767struct ftrace_ret_stack;
 2768#line 1220
 2769struct ftrace_ret_stack;
 2770#line 1220
 2771struct mem_cgroup;
 2772#line 1220
 2773struct mem_cgroup;
 2774#line 1220
 2775struct mem_cgroup;
 2776#line 1220 "include/linux/sched.h"
 2777struct memcg_batch_info {
 2778   int do_batch ;
 2779   struct mem_cgroup *memcg ;
 2780   unsigned long nr_pages ;
 2781   unsigned long memsw_nr_pages ;
 2782};
 2783#line 1220 "include/linux/sched.h"
 2784struct task_struct {
 2785   long volatile   state ;
 2786   void *stack ;
 2787   atomic_t usage ;
 2788   unsigned int flags ;
 2789   unsigned int ptrace ;
 2790   struct task_struct *wake_entry ;
 2791   int on_cpu ;
 2792   int on_rq ;
 2793   int prio ;
 2794   int static_prio ;
 2795   int normal_prio ;
 2796   unsigned int rt_priority ;
 2797   struct sched_class  const  *sched_class ;
 2798   struct sched_entity se ;
 2799   struct sched_rt_entity rt ;
 2800   struct hlist_head preempt_notifiers ;
 2801   unsigned char fpu_counter ;
 2802   unsigned int btrace_seq ;
 2803   unsigned int policy ;
 2804   cpumask_t cpus_allowed ;
 2805   struct sched_info sched_info ;
 2806   struct list_head tasks ;
 2807   struct plist_node pushable_tasks ;
 2808   struct mm_struct *mm ;
 2809   struct mm_struct *active_mm ;
 2810   unsigned int brk_randomized : 1 ;
 2811   int exit_state ;
 2812   int exit_code ;
 2813   int exit_signal ;
 2814   int pdeath_signal ;
 2815   unsigned int group_stop ;
 2816   unsigned int personality ;
 2817   unsigned int did_exec : 1 ;
 2818   unsigned int in_execve : 1 ;
 2819   unsigned int in_iowait : 1 ;
 2820   unsigned int sched_reset_on_fork : 1 ;
 2821   unsigned int sched_contributes_to_load : 1 ;
 2822   pid_t pid ;
 2823   pid_t tgid ;
 2824   unsigned long stack_canary ;
 2825   struct task_struct *real_parent ;
 2826   struct task_struct *parent ;
 2827   struct list_head children ;
 2828   struct list_head sibling ;
 2829   struct task_struct *group_leader ;
 2830   struct list_head ptraced ;
 2831   struct list_head ptrace_entry ;
 2832   struct pid_link pids[3] ;
 2833   struct list_head thread_group ;
 2834   struct completion *vfork_done ;
 2835   int *set_child_tid ;
 2836   int *clear_child_tid ;
 2837   cputime_t utime ;
 2838   cputime_t stime ;
 2839   cputime_t utimescaled ;
 2840   cputime_t stimescaled ;
 2841   cputime_t gtime ;
 2842   cputime_t prev_utime ;
 2843   cputime_t prev_stime ;
 2844   unsigned long nvcsw ;
 2845   unsigned long nivcsw ;
 2846   struct timespec start_time ;
 2847   struct timespec real_start_time ;
 2848   unsigned long min_flt ;
 2849   unsigned long maj_flt ;
 2850   struct task_cputime cputime_expires ;
 2851   struct list_head cpu_timers[3] ;
 2852   struct cred  const  *real_cred ;
 2853   struct cred  const  *cred ;
 2854   struct cred *replacement_session_keyring ;
 2855   char comm[16] ;
 2856   int link_count ;
 2857   int total_link_count ;
 2858   struct sysv_sem sysvsem ;
 2859   unsigned long last_switch_count ;
 2860   struct thread_struct thread ;
 2861   struct fs_struct *fs ;
 2862   struct files_struct *files ;
 2863   struct nsproxy *nsproxy ;
 2864   struct signal_struct *signal ;
 2865   struct sighand_struct *sighand ;
 2866   sigset_t blocked ;
 2867   sigset_t real_blocked ;
 2868   sigset_t saved_sigmask ;
 2869   struct sigpending pending ;
 2870   unsigned long sas_ss_sp ;
 2871   size_t sas_ss_size ;
 2872   int (*notifier)(void *priv ) ;
 2873   void *notifier_data ;
 2874   sigset_t *notifier_mask ;
 2875   struct audit_context *audit_context ;
 2876   uid_t loginuid ;
 2877   unsigned int sessionid ;
 2878   seccomp_t seccomp ;
 2879   u32 parent_exec_id ;
 2880   u32 self_exec_id ;
 2881   spinlock_t alloc_lock ;
 2882   struct irqaction *irqaction ;
 2883   raw_spinlock_t pi_lock ;
 2884   struct plist_head pi_waiters ;
 2885   struct rt_mutex_waiter *pi_blocked_on ;
 2886   struct mutex_waiter *blocked_on ;
 2887   unsigned int irq_events ;
 2888   unsigned long hardirq_enable_ip ;
 2889   unsigned long hardirq_disable_ip ;
 2890   unsigned int hardirq_enable_event ;
 2891   unsigned int hardirq_disable_event ;
 2892   int hardirqs_enabled ;
 2893   int hardirq_context ;
 2894   unsigned long softirq_disable_ip ;
 2895   unsigned long softirq_enable_ip ;
 2896   unsigned int softirq_disable_event ;
 2897   unsigned int softirq_enable_event ;
 2898   int softirqs_enabled ;
 2899   int softirq_context ;
 2900   u64 curr_chain_key ;
 2901   int lockdep_depth ;
 2902   unsigned int lockdep_recursion ;
 2903   struct held_lock held_locks[48UL] ;
 2904   gfp_t lockdep_reclaim_gfp ;
 2905   void *journal_info ;
 2906   struct bio_list *bio_list ;
 2907   struct blk_plug *plug ;
 2908   struct reclaim_state *reclaim_state ;
 2909   struct backing_dev_info *backing_dev_info ;
 2910   struct io_context *io_context ;
 2911   unsigned long ptrace_message ;
 2912   siginfo_t *last_siginfo ;
 2913   struct task_io_accounting ioac ;
 2914   u64 acct_rss_mem1 ;
 2915   u64 acct_vm_mem1 ;
 2916   cputime_t acct_timexpd ;
 2917   nodemask_t mems_allowed ;
 2918   int mems_allowed_change_disable ;
 2919   int cpuset_mem_spread_rotor ;
 2920   int cpuset_slab_spread_rotor ;
 2921   struct css_set *cgroups ;
 2922   struct list_head cg_list ;
 2923   struct robust_list_head *robust_list ;
 2924   struct compat_robust_list_head *compat_robust_list ;
 2925   struct list_head pi_state_list ;
 2926   struct futex_pi_state *pi_state_cache ;
 2927   struct perf_event_context *perf_event_ctxp[2] ;
 2928   struct mutex perf_event_mutex ;
 2929   struct list_head perf_event_list ;
 2930   struct mempolicy *mempolicy ;
 2931   short il_next ;
 2932   short pref_node_fork ;
 2933   atomic_t fs_excl ;
 2934   struct rcu_head rcu ;
 2935   struct pipe_inode_info *splice_pipe ;
 2936   struct task_delay_info *delays ;
 2937   int make_it_fail ;
 2938   struct prop_local_single dirties ;
 2939   int latency_record_count ;
 2940   struct latency_record latency_record[32] ;
 2941   unsigned long timer_slack_ns ;
 2942   unsigned long default_timer_slack_ns ;
 2943   struct list_head *scm_work_list ;
 2944   int curr_ret_stack ;
 2945   struct ftrace_ret_stack *ret_stack ;
 2946   unsigned long long ftrace_timestamp ;
 2947   atomic_t trace_overrun ;
 2948   atomic_t tracing_graph_pause ;
 2949   unsigned long trace ;
 2950   unsigned long trace_recursion ;
 2951   struct memcg_batch_info memcg_batch ;
 2952   atomic_t ptrace_bp_refcnt ;
 2953};
 2954#line 1634
 2955struct pid_namespace;
 2956#line 38 "include/linux/slub_def.h"
 2957struct kmem_cache_cpu {
 2958   void **freelist ;
 2959   unsigned long tid ;
 2960   struct page *page ;
 2961   int node ;
 2962   unsigned int stat[19] ;
 2963};
 2964#line 48 "include/linux/slub_def.h"
 2965struct kmem_cache_node {
 2966   spinlock_t list_lock ;
 2967   unsigned long nr_partial ;
 2968   struct list_head partial ;
 2969   atomic_long_t nr_slabs ;
 2970   atomic_long_t total_objects ;
 2971   struct list_head full ;
 2972};
 2973#line 64 "include/linux/slub_def.h"
 2974struct kmem_cache_order_objects {
 2975   unsigned long x ;
 2976};
 2977#line 71 "include/linux/slub_def.h"
 2978struct kmem_cache {
 2979   struct kmem_cache_cpu *cpu_slab ;
 2980   unsigned long flags ;
 2981   unsigned long min_partial ;
 2982   int size ;
 2983   int objsize ;
 2984   int offset ;
 2985   struct kmem_cache_order_objects oo ;
 2986   struct kmem_cache_order_objects max ;
 2987   struct kmem_cache_order_objects min ;
 2988   gfp_t allocflags ;
 2989   int refcount ;
 2990   void (*ctor)(void * ) ;
 2991   int inuse ;
 2992   int align ;
 2993   int reserved ;
 2994   char const   *name ;
 2995   struct list_head list ;
 2996   struct kobject kobj ;
 2997   int remote_node_defrag_ratio ;
 2998   struct kmem_cache_node *node[1 << 10] ;
 2999};
 3000#line 25 "include/linux/genhd.h"
 3001struct device_type;
 3002#line 25
 3003struct device_type;
 3004#line 25
 3005struct device_type;
 3006#line 27
 3007struct class;
 3008#line 27
 3009struct class;
 3010#line 27
 3011struct class;
 3012#line 19 "include/linux/klist.h"
 3013struct klist_node;
 3014#line 19
 3015struct klist_node;
 3016#line 19
 3017struct klist_node;
 3018#line 19
 3019struct klist_node;
 3020#line 39 "include/linux/klist.h"
 3021struct klist_node {
 3022   void *n_klist ;
 3023   struct list_head n_node ;
 3024   struct kref n_ref ;
 3025};
 3026#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 3027struct dma_map_ops;
 3028#line 4
 3029struct dma_map_ops;
 3030#line 4
 3031struct dma_map_ops;
 3032#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 3033struct dev_archdata {
 3034   void *acpi_handle ;
 3035   struct dma_map_ops *dma_ops ;
 3036   void *iommu ;
 3037};
 3038#line 28 "include/linux/device.h"
 3039struct device;
 3040#line 29
 3041struct device_private;
 3042#line 29
 3043struct device_private;
 3044#line 29
 3045struct device_private;
 3046#line 29
 3047struct device_private;
 3048#line 30
 3049struct device_driver;
 3050#line 30
 3051struct device_driver;
 3052#line 30
 3053struct device_driver;
 3054#line 30
 3055struct device_driver;
 3056#line 31
 3057struct driver_private;
 3058#line 31
 3059struct driver_private;
 3060#line 31
 3061struct driver_private;
 3062#line 31
 3063struct driver_private;
 3064#line 32
 3065struct class;
 3066#line 33
 3067struct subsys_private;
 3068#line 33
 3069struct subsys_private;
 3070#line 33
 3071struct subsys_private;
 3072#line 33
 3073struct subsys_private;
 3074#line 34
 3075struct bus_type;
 3076#line 34
 3077struct bus_type;
 3078#line 34
 3079struct bus_type;
 3080#line 34
 3081struct bus_type;
 3082#line 35
 3083struct device_node;
 3084#line 35
 3085struct device_node;
 3086#line 35
 3087struct device_node;
 3088#line 35
 3089struct device_node;
 3090#line 37 "include/linux/device.h"
 3091struct bus_attribute {
 3092   struct attribute attr ;
 3093   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
 3094   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
 3095};
 3096#line 82
 3097struct device_attribute;
 3098#line 82
 3099struct device_attribute;
 3100#line 82
 3101struct device_attribute;
 3102#line 82
 3103struct driver_attribute;
 3104#line 82
 3105struct driver_attribute;
 3106#line 82
 3107struct driver_attribute;
 3108#line 82 "include/linux/device.h"
 3109struct bus_type {
 3110   char const   *name ;
 3111   struct bus_attribute *bus_attrs ;
 3112   struct device_attribute *dev_attrs ;
 3113   struct driver_attribute *drv_attrs ;
 3114   int (*match)(struct device *dev , struct device_driver *drv ) ;
 3115   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 3116   int (*probe)(struct device *dev ) ;
 3117   int (*remove)(struct device *dev ) ;
 3118   void (*shutdown)(struct device *dev ) ;
 3119   int (*suspend)(struct device *dev , pm_message_t state ) ;
 3120   int (*resume)(struct device *dev ) ;
 3121   struct dev_pm_ops  const  *pm ;
 3122   struct subsys_private *p ;
 3123};
 3124#line 185
 3125struct of_device_id;
 3126#line 185
 3127struct of_device_id;
 3128#line 185
 3129struct of_device_id;
 3130#line 185 "include/linux/device.h"
 3131struct device_driver {
 3132   char const   *name ;
 3133   struct bus_type *bus ;
 3134   struct module *owner ;
 3135   char const   *mod_name ;
 3136   bool suppress_bind_attrs ;
 3137   struct of_device_id  const  *of_match_table ;
 3138   int (*probe)(struct device *dev ) ;
 3139   int (*remove)(struct device *dev ) ;
 3140   void (*shutdown)(struct device *dev ) ;
 3141   int (*suspend)(struct device *dev , pm_message_t state ) ;
 3142   int (*resume)(struct device *dev ) ;
 3143   struct attribute_group  const  **groups ;
 3144   struct dev_pm_ops  const  *pm ;
 3145   struct driver_private *p ;
 3146};
 3147#line 222 "include/linux/device.h"
 3148struct driver_attribute {
 3149   struct attribute attr ;
 3150   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
 3151   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
 3152};
 3153#line 280
 3154struct class_attribute;
 3155#line 280
 3156struct class_attribute;
 3157#line 280
 3158struct class_attribute;
 3159#line 280 "include/linux/device.h"
 3160struct class {
 3161   char const   *name ;
 3162   struct module *owner ;
 3163   struct class_attribute *class_attrs ;
 3164   struct device_attribute *dev_attrs ;
 3165   struct bin_attribute *dev_bin_attrs ;
 3166   struct kobject *dev_kobj ;
 3167   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 3168   char *(*devnode)(struct device *dev , mode_t *mode ) ;
 3169   void (*class_release)(struct class *class ) ;
 3170   void (*dev_release)(struct device *dev ) ;
 3171   int (*suspend)(struct device *dev , pm_message_t state ) ;
 3172   int (*resume)(struct device *dev ) ;
 3173   struct kobj_ns_type_operations  const  *ns_type ;
 3174   void const   *(*namespace)(struct device *dev ) ;
 3175   struct dev_pm_ops  const  *pm ;
 3176   struct subsys_private *p ;
 3177};
 3178#line 347 "include/linux/device.h"
 3179struct class_attribute {
 3180   struct attribute attr ;
 3181   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
 3182   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
 3183                    size_t count ) ;
 3184};
 3185#line 413 "include/linux/device.h"
 3186struct device_type {
 3187   char const   *name ;
 3188   struct attribute_group  const  **groups ;
 3189   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 3190   char *(*devnode)(struct device *dev , mode_t *mode ) ;
 3191   void (*release)(struct device *dev ) ;
 3192   struct dev_pm_ops  const  *pm ;
 3193};
 3194#line 424 "include/linux/device.h"
 3195struct device_attribute {
 3196   struct attribute attr ;
 3197   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
 3198   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
 3199                    size_t count ) ;
 3200};
 3201#line 484 "include/linux/device.h"
 3202struct device_dma_parameters {
 3203   unsigned int max_segment_size ;
 3204   unsigned long segment_boundary_mask ;
 3205};
 3206#line 551
 3207struct dma_coherent_mem;
 3208#line 551
 3209struct dma_coherent_mem;
 3210#line 551
 3211struct dma_coherent_mem;
 3212#line 551 "include/linux/device.h"
 3213struct device {
 3214   struct device *parent ;
 3215   struct device_private *p ;
 3216   struct kobject kobj ;
 3217   char const   *init_name ;
 3218   struct device_type  const  *type ;
 3219   struct mutex mutex ;
 3220   struct bus_type *bus ;
 3221   struct device_driver *driver ;
 3222   void *platform_data ;
 3223   struct dev_pm_info power ;
 3224   struct dev_power_domain *pwr_domain ;
 3225   int numa_node ;
 3226   u64 *dma_mask ;
 3227   u64 coherent_dma_mask ;
 3228   struct device_dma_parameters *dma_parms ;
 3229   struct list_head dma_pools ;
 3230   struct dma_coherent_mem *dma_mem ;
 3231   struct dev_archdata archdata ;
 3232   struct device_node *of_node ;
 3233   dev_t devt ;
 3234   spinlock_t devres_lock ;
 3235   struct list_head devres_head ;
 3236   struct klist_node knode_class ;
 3237   struct class *class ;
 3238   struct attribute_group  const  **groups ;
 3239   void (*release)(struct device *dev ) ;
 3240};
 3241#line 43 "include/linux/pm_wakeup.h"
 3242struct wakeup_source {
 3243   char *name ;
 3244   struct list_head entry ;
 3245   spinlock_t lock ;
 3246   struct timer_list timer ;
 3247   unsigned long timer_expires ;
 3248   ktime_t total_time ;
 3249   ktime_t max_time ;
 3250   ktime_t last_time ;
 3251   unsigned long event_count ;
 3252   unsigned long active_count ;
 3253   unsigned long relax_count ;
 3254   unsigned long hit_count ;
 3255   unsigned int active : 1 ;
 3256};
 3257#line 13 "include/linux/blk_types.h"
 3258struct bio;
 3259#line 13
 3260struct bio;
 3261#line 13
 3262struct bio;
 3263#line 13
 3264struct bio;
 3265#line 14
 3266struct bio_integrity_payload;
 3267#line 14
 3268struct bio_integrity_payload;
 3269#line 14
 3270struct bio_integrity_payload;
 3271#line 14
 3272struct bio_integrity_payload;
 3273#line 15
 3274struct page;
 3275#line 16
 3276struct block_device;
 3277#line 16
 3278struct block_device;
 3279#line 16
 3280struct block_device;
 3281#line 16
 3282struct block_device;
 3283#line 17 "include/linux/blk_types.h"
 3284typedef void bio_end_io_t(struct bio * , int  );
 3285#line 18 "include/linux/blk_types.h"
 3286typedef void bio_destructor_t(struct bio * );
 3287#line 23 "include/linux/blk_types.h"
 3288struct bio_vec {
 3289   struct page *bv_page ;
 3290   unsigned int bv_len ;
 3291   unsigned int bv_offset ;
 3292};
 3293#line 33 "include/linux/blk_types.h"
 3294struct bio {
 3295   sector_t bi_sector ;
 3296   struct bio *bi_next ;
 3297   struct block_device *bi_bdev ;
 3298   unsigned long bi_flags ;
 3299   unsigned long bi_rw ;
 3300   unsigned short bi_vcnt ;
 3301   unsigned short bi_idx ;
 3302   unsigned int bi_phys_segments ;
 3303   unsigned int bi_size ;
 3304   unsigned int bi_seg_front_size ;
 3305   unsigned int bi_seg_back_size ;
 3306   unsigned int bi_max_vecs ;
 3307   unsigned int bi_comp_cpu ;
 3308   atomic_t bi_cnt ;
 3309   struct bio_vec *bi_io_vec ;
 3310   bio_end_io_t *bi_end_io ;
 3311   void *bi_private ;
 3312   struct bio_integrity_payload *bi_integrity ;
 3313   bio_destructor_t *bi_destructor ;
 3314   struct bio_vec bi_inline_vecs[0] ;
 3315};
 3316#line 33 "include/linux/list_bl.h"
 3317struct hlist_bl_node;
 3318#line 33
 3319struct hlist_bl_node;
 3320#line 33
 3321struct hlist_bl_node;
 3322#line 33 "include/linux/list_bl.h"
 3323struct hlist_bl_head {
 3324   struct hlist_bl_node *first ;
 3325};
 3326#line 37 "include/linux/list_bl.h"
 3327struct hlist_bl_node {
 3328   struct hlist_bl_node *next ;
 3329   struct hlist_bl_node **pprev ;
 3330};
 3331#line 13 "include/linux/dcache.h"
 3332struct nameidata;
 3333#line 13
 3334struct nameidata;
 3335#line 13
 3336struct nameidata;
 3337#line 13
 3338struct nameidata;
 3339#line 14
 3340struct path;
 3341#line 14
 3342struct path;
 3343#line 14
 3344struct path;
 3345#line 14
 3346struct path;
 3347#line 15
 3348struct vfsmount;
 3349#line 15
 3350struct vfsmount;
 3351#line 15
 3352struct vfsmount;
 3353#line 15
 3354struct vfsmount;
 3355#line 35 "include/linux/dcache.h"
 3356struct qstr {
 3357   unsigned int hash ;
 3358   unsigned int len ;
 3359   unsigned char const   *name ;
 3360};
 3361#line 116
 3362struct dentry_operations;
 3363#line 116
 3364struct dentry_operations;
 3365#line 116
 3366struct dentry_operations;
 3367#line 116
 3368struct super_block;
 3369#line 116
 3370struct super_block;
 3371#line 116
 3372struct super_block;
 3373#line 116 "include/linux/dcache.h"
 3374union __anonunion_d_u_224 {
 3375   struct list_head d_child ;
 3376   struct rcu_head d_rcu ;
 3377};
 3378#line 116 "include/linux/dcache.h"
 3379struct dentry {
 3380   unsigned int d_flags ;
 3381   seqcount_t d_seq ;
 3382   struct hlist_bl_node d_hash ;
 3383   struct dentry *d_parent ;
 3384   struct qstr d_name ;
 3385   struct inode *d_inode ;
 3386   unsigned char d_iname[32] ;
 3387   unsigned int d_count ;
 3388   spinlock_t d_lock ;
 3389   struct dentry_operations  const  *d_op ;
 3390   struct super_block *d_sb ;
 3391   unsigned long d_time ;
 3392   void *d_fsdata ;
 3393   struct list_head d_lru ;
 3394   union __anonunion_d_u_224 d_u ;
 3395   struct list_head d_subdirs ;
 3396   struct list_head d_alias ;
 3397};
 3398#line 159 "include/linux/dcache.h"
 3399struct dentry_operations {
 3400   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
 3401   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
 3402   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
 3403                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
 3404   int (*d_delete)(struct dentry  const  * ) ;
 3405   void (*d_release)(struct dentry * ) ;
 3406   void (*d_iput)(struct dentry * , struct inode * ) ;
 3407   char *(*d_dname)(struct dentry * , char * , int  ) ;
 3408   struct vfsmount *(*d_automount)(struct path * ) ;
 3409   int (*d_manage)(struct dentry * , bool  ) ;
 3410} __attribute__((__aligned__((1) <<  (6) ))) ;
 3411#line 4 "include/linux/path.h"
 3412struct dentry;
 3413#line 5
 3414struct vfsmount;
 3415#line 7 "include/linux/path.h"
 3416struct path {
 3417   struct vfsmount *mnt ;
 3418   struct dentry *dentry ;
 3419};
 3420#line 57 "include/linux/radix-tree.h"
 3421struct radix_tree_node;
 3422#line 57
 3423struct radix_tree_node;
 3424#line 57
 3425struct radix_tree_node;
 3426#line 57 "include/linux/radix-tree.h"
 3427struct radix_tree_root {
 3428   unsigned int height ;
 3429   gfp_t gfp_mask ;
 3430   struct radix_tree_node *rnode ;
 3431};
 3432#line 16 "include/linux/fiemap.h"
 3433struct fiemap_extent {
 3434   __u64 fe_logical ;
 3435   __u64 fe_physical ;
 3436   __u64 fe_length ;
 3437   __u64 fe_reserved64[2] ;
 3438   __u32 fe_flags ;
 3439   __u32 fe_reserved[3] ;
 3440};
 3441#line 399 "include/linux/fs.h"
 3442struct export_operations;
 3443#line 399
 3444struct export_operations;
 3445#line 399
 3446struct export_operations;
 3447#line 399
 3448struct export_operations;
 3449#line 400
 3450struct hd_geometry;
 3451#line 400
 3452struct hd_geometry;
 3453#line 400
 3454struct hd_geometry;
 3455#line 400
 3456struct hd_geometry;
 3457#line 401
 3458struct iovec;
 3459#line 402
 3460struct nameidata;
 3461#line 403
 3462struct kiocb;
 3463#line 404
 3464struct kobject;
 3465#line 405
 3466struct pipe_inode_info;
 3467#line 406
 3468struct poll_table_struct;
 3469#line 406
 3470struct poll_table_struct;
 3471#line 406
 3472struct poll_table_struct;
 3473#line 406
 3474struct poll_table_struct;
 3475#line 407
 3476struct kstatfs;
 3477#line 407
 3478struct kstatfs;
 3479#line 407
 3480struct kstatfs;
 3481#line 407
 3482struct kstatfs;
 3483#line 408
 3484struct vm_area_struct;
 3485#line 409
 3486struct vfsmount;
 3487#line 410
 3488struct cred;
 3489#line 460 "include/linux/fs.h"
 3490struct iattr {
 3491   unsigned int ia_valid ;
 3492   umode_t ia_mode ;
 3493   uid_t ia_uid ;
 3494   gid_t ia_gid ;
 3495   loff_t ia_size ;
 3496   struct timespec ia_atime ;
 3497   struct timespec ia_mtime ;
 3498   struct timespec ia_ctime ;
 3499   struct file *ia_file ;
 3500};
 3501#line 129 "include/linux/quota.h"
 3502struct if_dqinfo {
 3503   __u64 dqi_bgrace ;
 3504   __u64 dqi_igrace ;
 3505   __u32 dqi_flags ;
 3506   __u32 dqi_valid ;
 3507};
 3508#line 50 "include/linux/dqblk_xfs.h"
 3509struct fs_disk_quota {
 3510   __s8 d_version ;
 3511   __s8 d_flags ;
 3512   __u16 d_fieldmask ;
 3513   __u32 d_id ;
 3514   __u64 d_blk_hardlimit ;
 3515   __u64 d_blk_softlimit ;
 3516   __u64 d_ino_hardlimit ;
 3517   __u64 d_ino_softlimit ;
 3518   __u64 d_bcount ;
 3519   __u64 d_icount ;
 3520   __s32 d_itimer ;
 3521   __s32 d_btimer ;
 3522   __u16 d_iwarns ;
 3523   __u16 d_bwarns ;
 3524   __s32 d_padding2 ;
 3525   __u64 d_rtb_hardlimit ;
 3526   __u64 d_rtb_softlimit ;
 3527   __u64 d_rtbcount ;
 3528   __s32 d_rtbtimer ;
 3529   __u16 d_rtbwarns ;
 3530   __s16 d_padding3 ;
 3531   char d_padding4[8] ;
 3532};
 3533#line 146 "include/linux/dqblk_xfs.h"
 3534struct fs_qfilestat {
 3535   __u64 qfs_ino ;
 3536   __u64 qfs_nblks ;
 3537   __u32 qfs_nextents ;
 3538};
 3539#line 146 "include/linux/dqblk_xfs.h"
 3540typedef struct fs_qfilestat fs_qfilestat_t;
 3541#line 152 "include/linux/dqblk_xfs.h"
 3542struct fs_quota_stat {
 3543   __s8 qs_version ;
 3544   __u16 qs_flags ;
 3545   __s8 qs_pad ;
 3546   fs_qfilestat_t qs_uquota ;
 3547   fs_qfilestat_t qs_gquota ;
 3548   __u32 qs_incoredqs ;
 3549   __s32 qs_btimelimit ;
 3550   __s32 qs_itimelimit ;
 3551   __s32 qs_rtbtimelimit ;
 3552   __u16 qs_bwarnlimit ;
 3553   __u16 qs_iwarnlimit ;
 3554};
 3555#line 17 "include/linux/dqblk_qtree.h"
 3556struct dquot;
 3557#line 17
 3558struct dquot;
 3559#line 17
 3560struct dquot;
 3561#line 17
 3562struct dquot;
 3563#line 185 "include/linux/quota.h"
 3564typedef __kernel_uid32_t qid_t;
 3565#line 186 "include/linux/quota.h"
 3566typedef long long qsize_t;
 3567#line 200 "include/linux/quota.h"
 3568struct mem_dqblk {
 3569   qsize_t dqb_bhardlimit ;
 3570   qsize_t dqb_bsoftlimit ;
 3571   qsize_t dqb_curspace ;
 3572   qsize_t dqb_rsvspace ;
 3573   qsize_t dqb_ihardlimit ;
 3574   qsize_t dqb_isoftlimit ;
 3575   qsize_t dqb_curinodes ;
 3576   time_t dqb_btime ;
 3577   time_t dqb_itime ;
 3578};
 3579#line 215
 3580struct quota_format_type;
 3581#line 215
 3582struct quota_format_type;
 3583#line 215
 3584struct quota_format_type;
 3585#line 215
 3586struct quota_format_type;
 3587#line 217 "include/linux/quota.h"
 3588struct mem_dqinfo {
 3589   struct quota_format_type *dqi_format ;
 3590   int dqi_fmt_id ;
 3591   struct list_head dqi_dirty_list ;
 3592   unsigned long dqi_flags ;
 3593   unsigned int dqi_bgrace ;
 3594   unsigned int dqi_igrace ;
 3595   qsize_t dqi_maxblimit ;
 3596   qsize_t dqi_maxilimit ;
 3597   void *dqi_priv ;
 3598};
 3599#line 230
 3600struct super_block;
 3601#line 284 "include/linux/quota.h"
 3602struct dquot {
 3603   struct hlist_node dq_hash ;
 3604   struct list_head dq_inuse ;
 3605   struct list_head dq_free ;
 3606   struct list_head dq_dirty ;
 3607   struct mutex dq_lock ;
 3608   atomic_t dq_count ;
 3609   wait_queue_head_t dq_wait_unused ;
 3610   struct super_block *dq_sb ;
 3611   unsigned int dq_id ;
 3612   loff_t dq_off ;
 3613   unsigned long dq_flags ;
 3614   short dq_type ;
 3615   struct mem_dqblk dq_dqb ;
 3616};
 3617#line 301 "include/linux/quota.h"
 3618struct quota_format_ops {
 3619   int (*check_quota_file)(struct super_block *sb , int type ) ;
 3620   int (*read_file_info)(struct super_block *sb , int type ) ;
 3621   int (*write_file_info)(struct super_block *sb , int type ) ;
 3622   int (*free_file_info)(struct super_block *sb , int type ) ;
 3623   int (*read_dqblk)(struct dquot *dquot ) ;
 3624   int (*commit_dqblk)(struct dquot *dquot ) ;
 3625   int (*release_dqblk)(struct dquot *dquot ) ;
 3626};
 3627#line 312 "include/linux/quota.h"
 3628struct dquot_operations {
 3629   int (*write_dquot)(struct dquot * ) ;
 3630   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
 3631   void (*destroy_dquot)(struct dquot * ) ;
 3632   int (*acquire_dquot)(struct dquot * ) ;
 3633   int (*release_dquot)(struct dquot * ) ;
 3634   int (*mark_dirty)(struct dquot * ) ;
 3635   int (*write_info)(struct super_block * , int  ) ;
 3636   qsize_t *(*get_reserved_space)(struct inode * ) ;
 3637};
 3638#line 325
 3639struct path;
 3640#line 328 "include/linux/quota.h"
 3641struct quotactl_ops {
 3642   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
 3643   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
 3644   int (*quota_off)(struct super_block * , int  ) ;
 3645   int (*quota_sync)(struct super_block * , int  , int  ) ;
 3646   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 3647   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 3648   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 3649   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 3650   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
 3651   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
 3652};
 3653#line 341 "include/linux/quota.h"
 3654struct quota_format_type {
 3655   int qf_fmt_id ;
 3656   struct quota_format_ops  const  *qf_ops ;
 3657   struct module *qf_owner ;
 3658   struct quota_format_type *qf_next ;
 3659};
 3660#line 395 "include/linux/quota.h"
 3661struct quota_info {
 3662   unsigned int flags ;
 3663   struct mutex dqio_mutex ;
 3664   struct mutex dqonoff_mutex ;
 3665   struct rw_semaphore dqptr_sem ;
 3666   struct inode *files[2] ;
 3667   struct mem_dqinfo info[2] ;
 3668   struct quota_format_ops  const  *ops[2] ;
 3669};
 3670#line 523 "include/linux/fs.h"
 3671struct page;
 3672#line 524
 3673struct address_space;
 3674#line 525
 3675struct writeback_control;
 3676#line 525
 3677struct writeback_control;
 3678#line 525
 3679struct writeback_control;
 3680#line 525
 3681struct writeback_control;
 3682#line 568 "include/linux/fs.h"
 3683union __anonunion_arg_231 {
 3684   char *buf ;
 3685   void *data ;
 3686};
 3687#line 568 "include/linux/fs.h"
 3688struct __anonstruct_read_descriptor_t_230 {
 3689   size_t written ;
 3690   size_t count ;
 3691   union __anonunion_arg_231 arg ;
 3692   int error ;
 3693};
 3694#line 568 "include/linux/fs.h"
 3695typedef struct __anonstruct_read_descriptor_t_230 read_descriptor_t;
 3696#line 581 "include/linux/fs.h"
 3697struct address_space_operations {
 3698   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
 3699   int (*readpage)(struct file * , struct page * ) ;
 3700   int (*writepages)(struct address_space * , struct writeback_control * ) ;
 3701   int (*set_page_dirty)(struct page *page ) ;
 3702   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
 3703                    unsigned int nr_pages ) ;
 3704   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
 3705                      unsigned int len , unsigned int flags , struct page **pagep ,
 3706                      void **fsdata ) ;
 3707   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
 3708                    unsigned int copied , struct page *page , void *fsdata ) ;
 3709   sector_t (*bmap)(struct address_space * , sector_t  ) ;
 3710   void (*invalidatepage)(struct page * , unsigned long  ) ;
 3711   int (*releasepage)(struct page * , gfp_t  ) ;
 3712   void (*freepage)(struct page * ) ;
 3713   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
 3714                        unsigned long nr_segs ) ;
 3715   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
 3716   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
 3717   int (*launder_page)(struct page * ) ;
 3718   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
 3719   int (*error_remove_page)(struct address_space * , struct page * ) ;
 3720};
 3721#line 633
 3722struct backing_dev_info;
 3723#line 634 "include/linux/fs.h"
 3724struct address_space {
 3725   struct inode *host ;
 3726   struct radix_tree_root page_tree ;
 3727   spinlock_t tree_lock ;
 3728   unsigned int i_mmap_writable ;
 3729   struct prio_tree_root i_mmap ;
 3730   struct list_head i_mmap_nonlinear ;
 3731   struct mutex i_mmap_mutex ;
 3732   unsigned long nrpages ;
 3733   unsigned long writeback_index ;
 3734   struct address_space_operations  const  *a_ops ;
 3735   unsigned long flags ;
 3736   struct backing_dev_info *backing_dev_info ;
 3737   spinlock_t private_lock ;
 3738   struct list_head private_list ;
 3739   struct address_space *assoc_mapping ;
 3740} __attribute__((__aligned__(sizeof(long )))) ;
 3741#line 658
 3742struct hd_struct;
 3743#line 658
 3744struct hd_struct;
 3745#line 658
 3746struct hd_struct;
 3747#line 658
 3748struct gendisk;
 3749#line 658
 3750struct gendisk;
 3751#line 658
 3752struct gendisk;
 3753#line 658 "include/linux/fs.h"
 3754struct block_device {
 3755   dev_t bd_dev ;
 3756   int bd_openers ;
 3757   struct inode *bd_inode ;
 3758   struct super_block *bd_super ;
 3759   struct mutex bd_mutex ;
 3760   struct list_head bd_inodes ;
 3761   void *bd_claiming ;
 3762   void *bd_holder ;
 3763   int bd_holders ;
 3764   bool bd_write_holder ;
 3765   struct list_head bd_holder_disks ;
 3766   struct block_device *bd_contains ;
 3767   unsigned int bd_block_size ;
 3768   struct hd_struct *bd_part ;
 3769   unsigned int bd_part_count ;
 3770   int bd_invalidated ;
 3771   struct gendisk *bd_disk ;
 3772   struct list_head bd_list ;
 3773   unsigned long bd_private ;
 3774   int bd_fsfreeze_count ;
 3775   struct mutex bd_fsfreeze_mutex ;
 3776};
 3777#line 735
 3778struct posix_acl;
 3779#line 735
 3780struct posix_acl;
 3781#line 735
 3782struct posix_acl;
 3783#line 735
 3784struct posix_acl;
 3785#line 738
 3786struct inode_operations;
 3787#line 738
 3788struct inode_operations;
 3789#line 738
 3790struct inode_operations;
 3791#line 738 "include/linux/fs.h"
 3792union __anonunion____missing_field_name_232 {
 3793   struct list_head i_dentry ;
 3794   struct rcu_head i_rcu ;
 3795};
 3796#line 738
 3797struct file_operations;
 3798#line 738
 3799struct file_operations;
 3800#line 738
 3801struct file_operations;
 3802#line 738
 3803struct file_lock;
 3804#line 738
 3805struct file_lock;
 3806#line 738
 3807struct file_lock;
 3808#line 738
 3809struct cdev;
 3810#line 738
 3811struct cdev;
 3812#line 738
 3813struct cdev;
 3814#line 738 "include/linux/fs.h"
 3815union __anonunion____missing_field_name_233 {
 3816   struct pipe_inode_info *i_pipe ;
 3817   struct block_device *i_bdev ;
 3818   struct cdev *i_cdev ;
 3819};
 3820#line 738 "include/linux/fs.h"
 3821struct inode {
 3822   umode_t i_mode ;
 3823   uid_t i_uid ;
 3824   gid_t i_gid ;
 3825   struct inode_operations  const  *i_op ;
 3826   struct super_block *i_sb ;
 3827   spinlock_t i_lock ;
 3828   unsigned int i_flags ;
 3829   unsigned long i_state ;
 3830   void *i_security ;
 3831   struct mutex i_mutex ;
 3832   unsigned long dirtied_when ;
 3833   struct hlist_node i_hash ;
 3834   struct list_head i_wb_list ;
 3835   struct list_head i_lru ;
 3836   struct list_head i_sb_list ;
 3837   union __anonunion____missing_field_name_232 __annonCompField39 ;
 3838   unsigned long i_ino ;
 3839   atomic_t i_count ;
 3840   unsigned int i_nlink ;
 3841   dev_t i_rdev ;
 3842   unsigned int i_blkbits ;
 3843   u64 i_version ;
 3844   loff_t i_size ;
 3845   struct timespec i_atime ;
 3846   struct timespec i_mtime ;
 3847   struct timespec i_ctime ;
 3848   blkcnt_t i_blocks ;
 3849   unsigned short i_bytes ;
 3850   struct rw_semaphore i_alloc_sem ;
 3851   struct file_operations  const  *i_fop ;
 3852   struct file_lock *i_flock ;
 3853   struct address_space *i_mapping ;
 3854   struct address_space i_data ;
 3855   struct dquot *i_dquot[2] ;
 3856   struct list_head i_devices ;
 3857   union __anonunion____missing_field_name_233 __annonCompField40 ;
 3858   __u32 i_generation ;
 3859   __u32 i_fsnotify_mask ;
 3860   struct hlist_head i_fsnotify_marks ;
 3861   atomic_t i_readcount ;
 3862   atomic_t i_writecount ;
 3863   struct posix_acl *i_acl ;
 3864   struct posix_acl *i_default_acl ;
 3865   void *i_private ;
 3866};
 3867#line 903 "include/linux/fs.h"
 3868struct fown_struct {
 3869   rwlock_t lock ;
 3870   struct pid *pid ;
 3871   enum pid_type pid_type ;
 3872   uid_t uid ;
 3873   uid_t euid ;
 3874   int signum ;
 3875};
 3876#line 914 "include/linux/fs.h"
 3877struct file_ra_state {
 3878   unsigned long start ;
 3879   unsigned int size ;
 3880   unsigned int async_size ;
 3881   unsigned int ra_pages ;
 3882   unsigned int mmap_miss ;
 3883   loff_t prev_pos ;
 3884};
 3885#line 937 "include/linux/fs.h"
 3886union __anonunion_f_u_234 {
 3887   struct list_head fu_list ;
 3888   struct rcu_head fu_rcuhead ;
 3889};
 3890#line 937 "include/linux/fs.h"
 3891struct file {
 3892   union __anonunion_f_u_234 f_u ;
 3893   struct path f_path ;
 3894   struct file_operations  const  *f_op ;
 3895   spinlock_t f_lock ;
 3896   int f_sb_list_cpu ;
 3897   atomic_long_t f_count ;
 3898   unsigned int f_flags ;
 3899   fmode_t f_mode ;
 3900   loff_t f_pos ;
 3901   struct fown_struct f_owner ;
 3902   struct cred  const  *f_cred ;
 3903   struct file_ra_state f_ra ;
 3904   u64 f_version ;
 3905   void *f_security ;
 3906   void *private_data ;
 3907   struct list_head f_ep_links ;
 3908   struct address_space *f_mapping ;
 3909   unsigned long f_mnt_write_state ;
 3910};
 3911#line 1064 "include/linux/fs.h"
 3912typedef struct files_struct *fl_owner_t;
 3913#line 1066 "include/linux/fs.h"
 3914struct file_lock_operations {
 3915   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
 3916   void (*fl_release_private)(struct file_lock * ) ;
 3917};
 3918#line 1071 "include/linux/fs.h"
 3919struct lock_manager_operations {
 3920   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
 3921   void (*fl_notify)(struct file_lock * ) ;
 3922   int (*fl_grant)(struct file_lock * , struct file_lock * , int  ) ;
 3923   void (*fl_release_private)(struct file_lock * ) ;
 3924   void (*fl_break)(struct file_lock * ) ;
 3925   int (*fl_change)(struct file_lock ** , int  ) ;
 3926};
 3927#line 8 "include/linux/nfs_fs_i.h"
 3928struct nlm_lockowner;
 3929#line 8
 3930struct nlm_lockowner;
 3931#line 8
 3932struct nlm_lockowner;
 3933#line 8
 3934struct nlm_lockowner;
 3935#line 13 "include/linux/nfs_fs_i.h"
 3936struct nfs_lock_info {
 3937   u32 state ;
 3938   struct nlm_lockowner *owner ;
 3939   struct list_head list ;
 3940};
 3941#line 19
 3942struct nfs4_lock_state;
 3943#line 19
 3944struct nfs4_lock_state;
 3945#line 19
 3946struct nfs4_lock_state;
 3947#line 19
 3948struct nfs4_lock_state;
 3949#line 20 "include/linux/nfs_fs_i.h"
 3950struct nfs4_lock_info {
 3951   struct nfs4_lock_state *owner ;
 3952};
 3953#line 1091 "include/linux/fs.h"
 3954struct fasync_struct;
 3955#line 1091
 3956struct fasync_struct;
 3957#line 1091
 3958struct fasync_struct;
 3959#line 1091 "include/linux/fs.h"
 3960struct __anonstruct_afs_236 {
 3961   struct list_head link ;
 3962   int state ;
 3963};
 3964#line 1091 "include/linux/fs.h"
 3965union __anonunion_fl_u_235 {
 3966   struct nfs_lock_info nfs_fl ;
 3967   struct nfs4_lock_info nfs4_fl ;
 3968   struct __anonstruct_afs_236 afs ;
 3969};
 3970#line 1091 "include/linux/fs.h"
 3971struct file_lock {
 3972   struct file_lock *fl_next ;
 3973   struct list_head fl_link ;
 3974   struct list_head fl_block ;
 3975   fl_owner_t fl_owner ;
 3976   unsigned char fl_flags ;
 3977   unsigned char fl_type ;
 3978   unsigned int fl_pid ;
 3979   struct pid *fl_nspid ;
 3980   wait_queue_head_t fl_wait ;
 3981   struct file *fl_file ;
 3982   loff_t fl_start ;
 3983   loff_t fl_end ;
 3984   struct fasync_struct *fl_fasync ;
 3985   unsigned long fl_break_time ;
 3986   struct file_lock_operations  const  *fl_ops ;
 3987   struct lock_manager_operations  const  *fl_lmops ;
 3988   union __anonunion_fl_u_235 fl_u ;
 3989};
 3990#line 1324 "include/linux/fs.h"
 3991struct fasync_struct {
 3992   spinlock_t fa_lock ;
 3993   int magic ;
 3994   int fa_fd ;
 3995   struct fasync_struct *fa_next ;
 3996   struct file *fa_file ;
 3997   struct rcu_head fa_rcu ;
 3998};
 3999#line 1364
 4000struct file_system_type;
 4001#line 1364
 4002struct file_system_type;
 4003#line 1364
 4004struct file_system_type;
 4005#line 1364
 4006struct super_operations;
 4007#line 1364
 4008struct super_operations;
 4009#line 1364
 4010struct super_operations;
 4011#line 1364
 4012struct xattr_handler;
 4013#line 1364
 4014struct xattr_handler;
 4015#line 1364
 4016struct xattr_handler;
 4017#line 1364
 4018struct mtd_info;
 4019#line 1364
 4020struct mtd_info;
 4021#line 1364
 4022struct mtd_info;
 4023#line 1364 "include/linux/fs.h"
 4024struct super_block {
 4025   struct list_head s_list ;
 4026   dev_t s_dev ;
 4027   unsigned char s_dirt ;
 4028   unsigned char s_blocksize_bits ;
 4029   unsigned long s_blocksize ;
 4030   loff_t s_maxbytes ;
 4031   struct file_system_type *s_type ;
 4032   struct super_operations  const  *s_op ;
 4033   struct dquot_operations  const  *dq_op ;
 4034   struct quotactl_ops  const  *s_qcop ;
 4035   struct export_operations  const  *s_export_op ;
 4036   unsigned long s_flags ;
 4037   unsigned long s_magic ;
 4038   struct dentry *s_root ;
 4039   struct rw_semaphore s_umount ;
 4040   struct mutex s_lock ;
 4041   int s_count ;
 4042   atomic_t s_active ;
 4043   void *s_security ;
 4044   struct xattr_handler  const  **s_xattr ;
 4045   struct list_head s_inodes ;
 4046   struct hlist_bl_head s_anon ;
 4047   struct list_head *s_files ;
 4048   struct list_head s_dentry_lru ;
 4049   int s_nr_dentry_unused ;
 4050   struct block_device *s_bdev ;
 4051   struct backing_dev_info *s_bdi ;
 4052   struct mtd_info *s_mtd ;
 4053   struct list_head s_instances ;
 4054   struct quota_info s_dquot ;
 4055   int s_frozen ;
 4056   wait_queue_head_t s_wait_unfrozen ;
 4057   char s_id[32] ;
 4058   u8 s_uuid[16] ;
 4059   void *s_fs_info ;
 4060   fmode_t s_mode ;
 4061   u32 s_time_gran ;
 4062   struct mutex s_vfs_rename_mutex ;
 4063   char *s_subtype ;
 4064   char *s_options ;
 4065   struct dentry_operations  const  *s_d_op ;
 4066   int cleancache_poolid ;
 4067};
 4068#line 1499 "include/linux/fs.h"
 4069struct fiemap_extent_info {
 4070   unsigned int fi_flags ;
 4071   unsigned int fi_extents_mapped ;
 4072   unsigned int fi_extents_max ;
 4073   struct fiemap_extent *fi_extents_start ;
 4074};
 4075#line 1533
 4076struct block_device_operations;
 4077#line 1533
 4078struct block_device_operations;
 4079#line 1533
 4080struct block_device_operations;
 4081#line 1533
 4082struct block_device_operations;
 4083#line 1546 "include/linux/fs.h"
 4084struct file_operations {
 4085   struct module *owner ;
 4086   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
 4087   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
 4088   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
 4089   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 4090                       loff_t  ) ;
 4091   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 4092                        loff_t  ) ;
 4093   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
 4094                                                   loff_t  , u64  , unsigned int  ) ) ;
 4095   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
 4096   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 4097   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 4098   int (*mmap)(struct file * , struct vm_area_struct * ) ;
 4099   int (*open)(struct inode * , struct file * ) ;
 4100   int (*flush)(struct file * , fl_owner_t id ) ;
 4101   int (*release)(struct inode * , struct file * ) ;
 4102   int (*fsync)(struct file * , int datasync ) ;
 4103   int (*aio_fsync)(struct kiocb * , int datasync ) ;
 4104   int (*fasync)(int  , struct file * , int  ) ;
 4105   int (*lock)(struct file * , int  , struct file_lock * ) ;
 4106   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
 4107                       int  ) ;
 4108   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 4109                                      unsigned long  , unsigned long  ) ;
 4110   int (*check_flags)(int  ) ;
 4111   int (*flock)(struct file * , int  , struct file_lock * ) ;
 4112   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
 4113                           unsigned int  ) ;
 4114   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
 4115                          unsigned int  ) ;
 4116   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
 4117   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
 4118};
 4119#line 1578 "include/linux/fs.h"
 4120struct inode_operations {
 4121   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
 4122   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
 4123   int (*permission)(struct inode * , int  , unsigned int  ) ;
 4124   int (*check_acl)(struct inode * , int  , unsigned int  ) ;
 4125   int (*readlink)(struct dentry * , char * , int  ) ;
 4126   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
 4127   int (*create)(struct inode * , struct dentry * , int  , struct nameidata * ) ;
 4128   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
 4129   int (*unlink)(struct inode * , struct dentry * ) ;
 4130   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
 4131   int (*mkdir)(struct inode * , struct dentry * , int  ) ;
 4132   int (*rmdir)(struct inode * , struct dentry * ) ;
 4133   int (*mknod)(struct inode * , struct dentry * , int  , dev_t  ) ;
 4134   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
 4135   void (*truncate)(struct inode * ) ;
 4136   int (*setattr)(struct dentry * , struct iattr * ) ;
 4137   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
 4138   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
 4139   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
 4140   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
 4141   int (*removexattr)(struct dentry * , char const   * ) ;
 4142   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
 4143   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
 4144} __attribute__((__aligned__((1) <<  (6) ))) ;
 4145#line 1608
 4146struct seq_file;
 4147#line 1622 "include/linux/fs.h"
 4148struct super_operations {
 4149   struct inode *(*alloc_inode)(struct super_block *sb ) ;
 4150   void (*destroy_inode)(struct inode * ) ;
 4151   void (*dirty_inode)(struct inode * , int flags ) ;
 4152   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
 4153   int (*drop_inode)(struct inode * ) ;
 4154   void (*evict_inode)(struct inode * ) ;
 4155   void (*put_super)(struct super_block * ) ;
 4156   void (*write_super)(struct super_block * ) ;
 4157   int (*sync_fs)(struct super_block *sb , int wait ) ;
 4158   int (*freeze_fs)(struct super_block * ) ;
 4159   int (*unfreeze_fs)(struct super_block * ) ;
 4160   int (*statfs)(struct dentry * , struct kstatfs * ) ;
 4161   int (*remount_fs)(struct super_block * , int * , char * ) ;
 4162   void (*umount_begin)(struct super_block * ) ;
 4163   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
 4164   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
 4165   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
 4166   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
 4167   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
 4168   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
 4169                          loff_t  ) ;
 4170   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
 4171};
 4172#line 1802 "include/linux/fs.h"
 4173struct file_system_type {
 4174   char const   *name ;
 4175   int fs_flags ;
 4176   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
 4177   void (*kill_sb)(struct super_block * ) ;
 4178   struct module *owner ;
 4179   struct file_system_type *next ;
 4180   struct list_head fs_supers ;
 4181   struct lock_class_key s_lock_key ;
 4182   struct lock_class_key s_umount_key ;
 4183   struct lock_class_key s_vfs_rename_key ;
 4184   struct lock_class_key i_lock_key ;
 4185   struct lock_class_key i_mutex_key ;
 4186   struct lock_class_key i_mutex_dir_key ;
 4187   struct lock_class_key i_alloc_sem_key ;
 4188};
 4189#line 82 "include/linux/genhd.h"
 4190struct disk_stats {
 4191   unsigned long sectors[2] ;
 4192   unsigned long ios[2] ;
 4193   unsigned long merges[2] ;
 4194   unsigned long ticks[2] ;
 4195   unsigned long io_ticks ;
 4196   unsigned long time_in_queue ;
 4197};
 4198#line 94 "include/linux/genhd.h"
 4199struct partition_meta_info {
 4200   u8 uuid[16] ;
 4201   u8 volname[64] ;
 4202};
 4203#line 99 "include/linux/genhd.h"
 4204struct hd_struct {
 4205   sector_t start_sect ;
 4206   sector_t nr_sects ;
 4207   sector_t alignment_offset ;
 4208   unsigned int discard_alignment ;
 4209   struct device __dev ;
 4210   struct kobject *holder_dir ;
 4211   int policy ;
 4212   int partno ;
 4213   struct partition_meta_info *info ;
 4214   int make_it_fail ;
 4215   unsigned long stamp ;
 4216   atomic_t in_flight[2] ;
 4217   struct disk_stats *dkstats ;
 4218   atomic_t ref ;
 4219   struct rcu_head rcu_head ;
 4220};
 4221#line 146 "include/linux/genhd.h"
 4222struct disk_part_tbl {
 4223   struct rcu_head rcu_head ;
 4224   int len ;
 4225   struct hd_struct *last_lookup ;
 4226   struct hd_struct *part[] ;
 4227};
 4228#line 153
 4229struct disk_events;
 4230#line 153
 4231struct disk_events;
 4232#line 153
 4233struct disk_events;
 4234#line 153
 4235struct disk_events;
 4236#line 155
 4237struct request_queue;
 4238#line 155
 4239struct request_queue;
 4240#line 155
 4241struct request_queue;
 4242#line 155
 4243struct timer_rand_state;
 4244#line 155
 4245struct timer_rand_state;
 4246#line 155
 4247struct timer_rand_state;
 4248#line 155
 4249struct blk_integrity;
 4250#line 155
 4251struct blk_integrity;
 4252#line 155
 4253struct blk_integrity;
 4254#line 155 "include/linux/genhd.h"
 4255struct gendisk {
 4256   int major ;
 4257   int first_minor ;
 4258   int minors ;
 4259   char disk_name[32] ;
 4260   char *(*devnode)(struct gendisk *gd , mode_t *mode ) ;
 4261   unsigned int events ;
 4262   unsigned int async_events ;
 4263   struct disk_part_tbl *part_tbl ;
 4264   struct hd_struct part0 ;
 4265   struct block_device_operations  const  *fops ;
 4266   struct request_queue *queue ;
 4267   void *private_data ;
 4268   int flags ;
 4269   struct device *driverfs_dev ;
 4270   struct kobject *slave_dir ;
 4271   struct timer_rand_state *random ;
 4272   atomic_t sync_io ;
 4273   struct disk_events *ev ;
 4274   struct blk_integrity *integrity ;
 4275   int node_id ;
 4276};
 4277#line 19 "include/linux/mm.h"
 4278struct mempolicy;
 4279#line 20
 4280struct anon_vma;
 4281#line 21
 4282struct file_ra_state;
 4283#line 22
 4284struct user_struct;
 4285#line 23
 4286struct writeback_control;
 4287#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64.h"
 4288struct mm_struct;
 4289#line 656 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable.h"
 4290struct vm_area_struct;
 4291#line 185 "include/linux/mm.h"
 4292struct vm_fault {
 4293   unsigned int flags ;
 4294   unsigned long pgoff ;
 4295   void *virtual_address ;
 4296   struct page *page ;
 4297};
 4298#line 202 "include/linux/mm.h"
 4299struct vm_operations_struct {
 4300   void (*open)(struct vm_area_struct *area ) ;
 4301   void (*close)(struct vm_area_struct *area ) ;
 4302   int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
 4303   int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
 4304   int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
 4305                 int write ) ;
 4306   int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
 4307   struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
 4308   int (*migrate)(struct vm_area_struct *vma , nodemask_t const   *from , nodemask_t const   *to ,
 4309                  unsigned long flags ) ;
 4310};
 4311#line 244
 4312struct inode;
 4313#line 197 "include/linux/page-flags.h"
 4314struct page;
 4315#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
 4316struct exception_table_entry {
 4317   unsigned long insn ;
 4318   unsigned long fixup ;
 4319};
 4320#line 10 "include/linux/irqreturn.h"
 4321enum irqreturn {
 4322    IRQ_NONE = 0,
 4323    IRQ_HANDLED = 1,
 4324    IRQ_WAKE_THREAD = 2
 4325} ;
 4326#line 16 "include/linux/irqreturn.h"
 4327typedef enum irqreturn irqreturn_t;
 4328#line 31 "include/linux/irq.h"
 4329struct seq_file;
 4330#line 12 "include/linux/irqdesc.h"
 4331struct proc_dir_entry;
 4332#line 12
 4333struct proc_dir_entry;
 4334#line 12
 4335struct proc_dir_entry;
 4336#line 12
 4337struct proc_dir_entry;
 4338#line 13
 4339struct timer_rand_state;
 4340#line 16 "include/linux/profile.h"
 4341struct proc_dir_entry;
 4342#line 17
 4343struct pt_regs;
 4344#line 65
 4345struct task_struct;
 4346#line 66
 4347struct mm_struct;
 4348#line 88
 4349struct pt_regs;
 4350#line 363 "include/linux/irq.h"
 4351struct irqaction;
 4352#line 132 "include/linux/hardirq.h"
 4353struct task_struct;
 4354#line 10 "include/linux/writeback.h"
 4355struct backing_dev_info;
 4356#line 17
 4357enum writeback_sync_modes {
 4358    WB_SYNC_NONE = 0,
 4359    WB_SYNC_ALL = 1
 4360} ;
 4361#line 27 "include/linux/writeback.h"
 4362struct writeback_control {
 4363   enum writeback_sync_modes sync_mode ;
 4364   unsigned long *older_than_this ;
 4365   unsigned long wb_start ;
 4366   long nr_to_write ;
 4367   long pages_skipped ;
 4368   loff_t range_start ;
 4369   loff_t range_end ;
 4370   unsigned int nonblocking : 1 ;
 4371   unsigned int encountered_congestion : 1 ;
 4372   unsigned int for_kupdate : 1 ;
 4373   unsigned int for_background : 1 ;
 4374   unsigned int for_reclaim : 1 ;
 4375   unsigned int range_cyclic : 1 ;
 4376   unsigned int more_io : 1 ;
 4377};
 4378#line 58
 4379struct bdi_writeback;
 4380#line 58
 4381struct bdi_writeback;
 4382#line 58
 4383struct bdi_writeback;
 4384#line 58
 4385struct bdi_writeback;
 4386#line 21 "include/linux/backing-dev.h"
 4387struct page;
 4388#line 22
 4389struct device;
 4390#line 23
 4391struct dentry;
 4392#line 38 "include/linux/backing-dev.h"
 4393typedef int congested_fn(void * , int  );
 4394#line 48 "include/linux/backing-dev.h"
 4395struct bdi_writeback {
 4396   struct backing_dev_info *bdi ;
 4397   unsigned int nr ;
 4398   unsigned long last_old_flush ;
 4399   unsigned long last_active ;
 4400   struct task_struct *task ;
 4401   struct timer_list wakeup_timer ;
 4402   struct list_head b_dirty ;
 4403   struct list_head b_io ;
 4404   struct list_head b_more_io ;
 4405};
 4406#line 62 "include/linux/backing-dev.h"
 4407struct backing_dev_info {
 4408   struct list_head bdi_list ;
 4409   unsigned long ra_pages ;
 4410   unsigned long state ;
 4411   unsigned int capabilities ;
 4412   congested_fn *congested_fn ;
 4413   void *congested_data ;
 4414   char *name ;
 4415   struct percpu_counter bdi_stat[2] ;
 4416   struct prop_local_percpu completions ;
 4417   int dirty_exceeded ;
 4418   unsigned int min_ratio ;
 4419   unsigned int max_ratio ;
 4420   unsigned int max_prop_frac ;
 4421   struct bdi_writeback wb ;
 4422   spinlock_t wb_lock ;
 4423   struct list_head work_list ;
 4424   struct device *dev ;
 4425   struct timer_list laptop_mode_wb_timer ;
 4426   struct dentry *debug_dir ;
 4427   struct dentry *debug_stats ;
 4428};
 4429#line 9 "include/linux/mempool.h"
 4430struct kmem_cache;
 4431#line 11 "include/linux/mempool.h"
 4432typedef void *mempool_alloc_t(gfp_t gfp_mask , void *pool_data );
 4433#line 12 "include/linux/mempool.h"
 4434typedef void mempool_free_t(void *element , void *pool_data );
 4435#line 14 "include/linux/mempool.h"
 4436struct mempool_s {
 4437   spinlock_t lock ;
 4438   int min_nr ;
 4439   int curr_nr ;
 4440   void **elements ;
 4441   void *pool_data ;
 4442   mempool_alloc_t *alloc ;
 4443   mempool_free_t *free ;
 4444   wait_queue_head_t wait ;
 4445};
 4446#line 14 "include/linux/mempool.h"
 4447typedef struct mempool_s mempool_t;
 4448#line 34 "include/linux/iocontext.h"
 4449struct io_context {
 4450   atomic_long_t refcount ;
 4451   atomic_t nr_tasks ;
 4452   spinlock_t lock ;
 4453   unsigned short ioprio ;
 4454   unsigned short ioprio_changed ;
 4455   unsigned short cgroup_changed ;
 4456   int nr_batch_requests ;
 4457   unsigned long last_waited ;
 4458   struct radix_tree_root radix_root ;
 4459   struct hlist_head cic_list ;
 4460   void *ioc_data ;
 4461};
 4462#line 73
 4463struct task_struct;
 4464#line 169 "include/linux/bio.h"
 4465struct bio_integrity_payload {
 4466   struct bio *bip_bio ;
 4467   sector_t bip_sector ;
 4468   void *bip_buf ;
 4469   bio_end_io_t *bip_end_io ;
 4470   unsigned int bip_size ;
 4471   unsigned short bip_slab ;
 4472   unsigned short bip_vcnt ;
 4473   unsigned short bip_idx ;
 4474   struct work_struct bip_work ;
 4475   struct bio_vec bip_vec[0] ;
 4476};
 4477#line 221
 4478struct request_queue;
 4479#line 381 "include/linux/bio.h"
 4480struct bio_list {
 4481   struct bio *head ;
 4482   struct bio *tail ;
 4483};
 4484#line 67 "include/linux/bsg.h"
 4485struct bsg_class_device {
 4486   struct device *class_dev ;
 4487   struct device *parent ;
 4488   int minor ;
 4489   struct request_queue *queue ;
 4490   struct kref ref ;
 4491   void (*release)(struct device * ) ;
 4492};
 4493#line 6 "include/asm-generic/scatterlist.h"
 4494struct scatterlist {
 4495   unsigned long sg_magic ;
 4496   unsigned long page_link ;
 4497   unsigned int offset ;
 4498   unsigned int length ;
 4499   dma_addr_t dma_address ;
 4500   unsigned int dma_length ;
 4501};
 4502#line 27 "include/linux/blkdev.h"
 4503struct request_queue;
 4504#line 28
 4505struct elevator_queue;
 4506#line 28
 4507struct elevator_queue;
 4508#line 28
 4509struct elevator_queue;
 4510#line 28
 4511struct elevator_queue;
 4512#line 30
 4513struct blk_trace;
 4514#line 30
 4515struct blk_trace;
 4516#line 30
 4517struct blk_trace;
 4518#line 30
 4519struct blk_trace;
 4520#line 31
 4521struct request;
 4522#line 31
 4523struct request;
 4524#line 31
 4525struct request;
 4526#line 31
 4527struct request;
 4528#line 37
 4529struct request;
 4530#line 38 "include/linux/blkdev.h"
 4531typedef void rq_end_io_fn(struct request * , int  );
 4532#line 40 "include/linux/blkdev.h"
 4533struct request_list {
 4534   int count[2] ;
 4535   int starved[2] ;
 4536   int elvpriv ;
 4537   mempool_t *rq_pool ;
 4538   wait_queue_head_t wait[2] ;
 4539};
 4540#line 55
 4541enum rq_cmd_type_bits {
 4542    REQ_TYPE_FS = 1,
 4543    REQ_TYPE_BLOCK_PC = 2,
 4544    REQ_TYPE_SENSE = 3,
 4545    REQ_TYPE_PM_SUSPEND = 4,
 4546    REQ_TYPE_PM_RESUME = 5,
 4547    REQ_TYPE_PM_SHUTDOWN = 6,
 4548    REQ_TYPE_SPECIAL = 7,
 4549    REQ_TYPE_ATA_TASKFILE = 8,
 4550    REQ_TYPE_ATA_PC = 9
 4551} ;
 4552#line 79 "include/linux/blkdev.h"
 4553union __anonunion____missing_field_name_248 {
 4554   struct rb_node rb_node ;
 4555   void *completion_data ;
 4556};
 4557#line 79 "include/linux/blkdev.h"
 4558struct __anonstruct_flush_250 {
 4559   unsigned int seq ;
 4560   struct list_head list ;
 4561};
 4562#line 79 "include/linux/blkdev.h"
 4563union __anonunion____missing_field_name_249 {
 4564   void *elevator_private[3] ;
 4565   struct __anonstruct_flush_250 flush ;
 4566};
 4567#line 79 "include/linux/blkdev.h"
 4568struct request {
 4569   struct list_head queuelist ;
 4570   struct call_single_data csd ;
 4571   struct request_queue *q ;
 4572   unsigned int cmd_flags ;
 4573   enum rq_cmd_type_bits cmd_type ;
 4574   unsigned long atomic_flags ;
 4575   int cpu ;
 4576   unsigned int __data_len ;
 4577   sector_t __sector ;
 4578   struct bio *bio ;
 4579   struct bio *biotail ;
 4580   struct hlist_node hash ;
 4581   union __anonunion____missing_field_name_248 __annonCompField41 ;
 4582   union __anonunion____missing_field_name_249 __annonCompField42 ;
 4583   struct gendisk *rq_disk ;
 4584   struct hd_struct *part ;
 4585   unsigned long start_time ;
 4586   unsigned short nr_phys_segments ;
 4587   unsigned short nr_integrity_segments ;
 4588   unsigned short ioprio ;
 4589   int ref_count ;
 4590   void *special ;
 4591   char *buffer ;
 4592   int tag ;
 4593   int errors ;
 4594   unsigned char __cmd[16] ;
 4595   unsigned char *cmd ;
 4596   unsigned short cmd_len ;
 4597   unsigned int extra_len ;
 4598   unsigned int sense_len ;
 4599   unsigned int resid_len ;
 4600   void *sense ;
 4601   unsigned long deadline ;
 4602   struct list_head timeout_list ;
 4603   unsigned int timeout ;
 4604   int retries ;
 4605   rq_end_io_fn *end_io ;
 4606   void *end_io_data ;
 4607   struct request *next_rq ;
 4608};
 4609#line 8 "include/linux/elevator.h"
 4610typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
 4611#line 11 "include/linux/elevator.h"
 4612typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
 4613#line 13 "include/linux/elevator.h"
 4614typedef void elevator_merged_fn(struct request_queue * , struct request * , int  );
 4615#line 15 "include/linux/elevator.h"
 4616typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
 4617#line 17 "include/linux/elevator.h"
 4618typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
 4619#line 20 "include/linux/elevator.h"
 4620typedef int elevator_dispatch_fn(struct request_queue * , int  );
 4621#line 22 "include/linux/elevator.h"
 4622typedef void elevator_add_req_fn(struct request_queue * , struct request * );
 4623#line 23 "include/linux/elevator.h"
 4624typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
 4625#line 24 "include/linux/elevator.h"
 4626typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
 4627#line 25 "include/linux/elevator.h"
 4628typedef int elevator_may_queue_fn(struct request_queue * , int  );
 4629#line 27 "include/linux/elevator.h"
 4630typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t  );
 4631#line 28 "include/linux/elevator.h"
 4632typedef void elevator_put_req_fn(struct request * );
 4633#line 29 "include/linux/elevator.h"
 4634typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
 4635#line 30 "include/linux/elevator.h"
 4636typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
 4637#line 32 "include/linux/elevator.h"
 4638typedef void *elevator_init_fn(struct request_queue * );
 4639#line 33 "include/linux/elevator.h"
 4640typedef void elevator_exit_fn(struct elevator_queue * );
 4641#line 35 "include/linux/elevator.h"
 4642struct elevator_ops {
 4643   elevator_merge_fn *elevator_merge_fn ;
 4644   elevator_merged_fn *elevator_merged_fn ;
 4645   elevator_merge_req_fn *elevator_merge_req_fn ;
 4646   elevator_allow_merge_fn *elevator_allow_merge_fn ;
 4647   elevator_bio_merged_fn *elevator_bio_merged_fn ;
 4648   elevator_dispatch_fn *elevator_dispatch_fn ;
 4649   elevator_add_req_fn *elevator_add_req_fn ;
 4650   elevator_activate_req_fn *elevator_activate_req_fn ;
 4651   elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
 4652   elevator_completed_req_fn *elevator_completed_req_fn ;
 4653   elevator_request_list_fn *elevator_former_req_fn ;
 4654   elevator_request_list_fn *elevator_latter_req_fn ;
 4655   elevator_set_req_fn *elevator_set_req_fn ;
 4656   elevator_put_req_fn *elevator_put_req_fn ;
 4657   elevator_may_queue_fn *elevator_may_queue_fn ;
 4658   elevator_init_fn *elevator_init_fn ;
 4659   elevator_exit_fn *elevator_exit_fn ;
 4660   void (*trim)(struct io_context * ) ;
 4661};
 4662#line 65 "include/linux/elevator.h"
 4663struct elv_fs_entry {
 4664   struct attribute attr ;
 4665   ssize_t (*show)(struct elevator_queue * , char * ) ;
 4666   ssize_t (*store)(struct elevator_queue * , char const   * , size_t  ) ;
 4667};
 4668#line 74 "include/linux/elevator.h"
 4669struct elevator_type {
 4670   struct list_head list ;
 4671   struct elevator_ops ops ;
 4672   struct elv_fs_entry *elevator_attrs ;
 4673   char elevator_name[16] ;
 4674   struct module *elevator_owner ;
 4675};
 4676#line 86 "include/linux/elevator.h"
 4677struct elevator_queue {
 4678   struct elevator_ops *ops ;
 4679   void *elevator_data ;
 4680   struct kobject kobj ;
 4681   struct elevator_type *elevator_type ;
 4682   struct mutex sysfs_lock ;
 4683   struct hlist_head *hash ;
 4684   unsigned int registered : 1 ;
 4685};
 4686#line 195 "include/linux/blkdev.h"
 4687typedef void request_fn_proc(struct request_queue *q );
 4688#line 196 "include/linux/blkdev.h"
 4689typedef int make_request_fn(struct request_queue *q , struct bio *bio );
 4690#line 197 "include/linux/blkdev.h"
 4691typedef int prep_rq_fn(struct request_queue * , struct request * );
 4692#line 198 "include/linux/blkdev.h"
 4693typedef void unprep_rq_fn(struct request_queue * , struct request * );
 4694#line 200
 4695struct bio_vec;
 4696#line 201 "include/linux/blkdev.h"
 4697struct bvec_merge_data {
 4698   struct block_device *bi_bdev ;
 4699   sector_t bi_sector ;
 4700   unsigned int bi_size ;
 4701   unsigned long bi_rw ;
 4702};
 4703#line 207 "include/linux/blkdev.h"
 4704typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
 4705#line 209 "include/linux/blkdev.h"
 4706typedef void softirq_done_fn(struct request * );
 4707#line 210 "include/linux/blkdev.h"
 4708typedef int dma_drain_needed_fn(struct request * );
 4709#line 211 "include/linux/blkdev.h"
 4710typedef int lld_busy_fn(struct request_queue *q );
 4711#line 213
 4712enum blk_eh_timer_return {
 4713    BLK_EH_NOT_HANDLED = 0,
 4714    BLK_EH_HANDLED = 1,
 4715    BLK_EH_RESET_TIMER = 2
 4716} ;
 4717#line 219 "include/linux/blkdev.h"
 4718typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
 4719#line 226 "include/linux/blkdev.h"
 4720struct blk_queue_tag {
 4721   struct request **tag_index ;
 4722   unsigned long *tag_map ;
 4723   int busy ;
 4724   int max_depth ;
 4725   int real_max_depth ;
 4726   atomic_t refcnt ;
 4727};
 4728#line 238 "include/linux/blkdev.h"
 4729struct queue_limits {
 4730   unsigned long bounce_pfn ;
 4731   unsigned long seg_boundary_mask ;
 4732   unsigned int max_hw_sectors ;
 4733   unsigned int max_sectors ;
 4734   unsigned int max_segment_size ;
 4735   unsigned int physical_block_size ;
 4736   unsigned int alignment_offset ;
 4737   unsigned int io_min ;
 4738   unsigned int io_opt ;
 4739   unsigned int max_discard_sectors ;
 4740   unsigned int discard_granularity ;
 4741   unsigned int discard_alignment ;
 4742   unsigned short logical_block_size ;
 4743   unsigned short max_segments ;
 4744   unsigned short max_integrity_segments ;
 4745   unsigned char misaligned ;
 4746   unsigned char discard_misaligned ;
 4747   unsigned char cluster ;
 4748   unsigned char discard_zeroes_data ;
 4749};
 4750#line 263 "include/linux/blkdev.h"
 4751struct request_queue {
 4752   struct list_head queue_head ;
 4753   struct request *last_merge ;
 4754   struct elevator_queue *elevator ;
 4755   struct request_list rq ;
 4756   request_fn_proc *request_fn ;
 4757   make_request_fn *make_request_fn ;
 4758   prep_rq_fn *prep_rq_fn ;
 4759   unprep_rq_fn *unprep_rq_fn ;
 4760   merge_bvec_fn *merge_bvec_fn ;
 4761   softirq_done_fn *softirq_done_fn ;
 4762   rq_timed_out_fn *rq_timed_out_fn ;
 4763   dma_drain_needed_fn *dma_drain_needed ;
 4764   lld_busy_fn *lld_busy_fn ;
 4765   sector_t end_sector ;
 4766   struct request *boundary_rq ;
 4767   struct delayed_work delay_work ;
 4768   struct backing_dev_info backing_dev_info ;
 4769   void *queuedata ;
 4770   gfp_t bounce_gfp ;
 4771   unsigned long queue_flags ;
 4772   spinlock_t __queue_lock ;
 4773   spinlock_t *queue_lock ;
 4774   struct kobject kobj ;
 4775   unsigned long nr_requests ;
 4776   unsigned int nr_congestion_on ;
 4777   unsigned int nr_congestion_off ;
 4778   unsigned int nr_batching ;
 4779   void *dma_drain_buffer ;
 4780   unsigned int dma_drain_size ;
 4781   unsigned int dma_pad_mask ;
 4782   unsigned int dma_alignment ;
 4783   struct blk_queue_tag *queue_tags ;
 4784   struct list_head tag_busy_list ;
 4785   unsigned int nr_sorted ;
 4786   unsigned int in_flight[2] ;
 4787   unsigned int rq_timeout ;
 4788   struct timer_list timeout ;
 4789   struct list_head timeout_list ;
 4790   struct queue_limits limits ;
 4791   unsigned int sg_timeout ;
 4792   unsigned int sg_reserved_size ;
 4793   int node ;
 4794   struct blk_trace *blk_trace ;
 4795   unsigned int flush_flags ;
 4796   unsigned int flush_not_queueable : 1 ;
 4797   unsigned int flush_queue_delayed : 1 ;
 4798   unsigned int flush_pending_idx : 1 ;
 4799   unsigned int flush_running_idx : 1 ;
 4800   unsigned long flush_pending_since ;
 4801   struct list_head flush_queue[2] ;
 4802   struct list_head flush_data_in_flight ;
 4803   struct request flush_rq ;
 4804   struct mutex sysfs_lock ;
 4805   struct bsg_class_device bsg_dev ;
 4806};
 4807#line 860 "include/linux/blkdev.h"
 4808struct blk_plug {
 4809   unsigned long magic ;
 4810   struct list_head list ;
 4811   struct list_head cb_list ;
 4812   unsigned int should_sort ;
 4813};
 4814#line 1134
 4815struct work_struct;
 4816#line 1203 "include/linux/blkdev.h"
 4817struct blk_integrity_exchg {
 4818   void *prot_buf ;
 4819   void *data_buf ;
 4820   sector_t sector ;
 4821   unsigned int data_size ;
 4822   unsigned short sector_size ;
 4823   char const   *disk_name ;
 4824};
 4825#line 1212 "include/linux/blkdev.h"
 4826typedef void integrity_gen_fn(struct blk_integrity_exchg * );
 4827#line 1213 "include/linux/blkdev.h"
 4828typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
 4829#line 1214 "include/linux/blkdev.h"
 4830typedef void integrity_set_tag_fn(void * , void * , unsigned int  );
 4831#line 1215 "include/linux/blkdev.h"
 4832typedef void integrity_get_tag_fn(void * , void * , unsigned int  );
 4833#line 1217 "include/linux/blkdev.h"
 4834struct blk_integrity {
 4835   integrity_gen_fn *generate_fn ;
 4836   integrity_vrfy_fn *verify_fn ;
 4837   integrity_set_tag_fn *set_tag_fn ;
 4838   integrity_get_tag_fn *get_tag_fn ;
 4839   unsigned short flags ;
 4840   unsigned short tuple_size ;
 4841   unsigned short sector_size ;
 4842   unsigned short tag_size ;
 4843   char const   *name ;
 4844   struct kobject kobj ;
 4845};
 4846#line 1294 "include/linux/blkdev.h"
 4847struct block_device_operations {
 4848   int (*open)(struct block_device * , fmode_t  ) ;
 4849   int (*release)(struct gendisk * , fmode_t  ) ;
 4850   int (*ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4851   int (*compat_ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4852   int (*direct_access)(struct block_device * , sector_t  , void ** , unsigned long * ) ;
 4853   unsigned int (*check_events)(struct gendisk *disk , unsigned int clearing ) ;
 4854   int (*media_changed)(struct gendisk * ) ;
 4855   void (*unlock_native_capacity)(struct gendisk * ) ;
 4856   int (*revalidate_disk)(struct gendisk * ) ;
 4857   int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
 4858   void (*swap_slot_free_notify)(struct block_device * , unsigned long  ) ;
 4859   struct module *owner ;
 4860};
 4861#line 9 "include/trace/events/irq.h"
 4862struct irqaction;
 4863#line 106 "include/linux/interrupt.h"
 4864struct irqaction {
 4865   irqreturn_t (*handler)(int  , void * ) ;
 4866   unsigned long flags ;
 4867   void *dev_id ;
 4868   struct irqaction *next ;
 4869   int irq ;
 4870   irqreturn_t (*thread_fn)(int  , void * ) ;
 4871   struct task_struct *thread ;
 4872   unsigned long thread_flags ;
 4873   unsigned long thread_mask ;
 4874   char const   *name ;
 4875   struct proc_dir_entry *dir ;
 4876} __attribute__((__aligned__((1) <<  (12) ))) ;
 4877#line 172
 4878struct device;
 4879#line 682
 4880struct seq_file;
 4881#line 12 "include/linux/mod_devicetable.h"
 4882typedef unsigned long kernel_ulong_t;
 4883#line 17 "include/linux/mod_devicetable.h"
 4884struct pci_device_id {
 4885   __u32 vendor ;
 4886   __u32 device ;
 4887   __u32 subvendor ;
 4888   __u32 subdevice ;
 4889   __u32 class ;
 4890   __u32 class_mask ;
 4891   kernel_ulong_t driver_data ;
 4892};
 4893#line 219 "include/linux/mod_devicetable.h"
 4894struct of_device_id {
 4895   char name[32] ;
 4896   char type[32] ;
 4897   char compatible[128] ;
 4898   void *data ;
 4899};
 4900#line 25 "include/linux/io.h"
 4901struct device;
 4902#line 61 "include/linux/pci.h"
 4903struct hotplug_slot;
 4904#line 61
 4905struct hotplug_slot;
 4906#line 61
 4907struct hotplug_slot;
 4908#line 61 "include/linux/pci.h"
 4909struct pci_slot {
 4910   struct pci_bus *bus ;
 4911   struct list_head list ;
 4912   struct hotplug_slot *hotplug ;
 4913   unsigned char number ;
 4914   struct kobject kobj ;
 4915};
 4916#line 117 "include/linux/pci.h"
 4917typedef int pci_power_t;
 4918#line 143 "include/linux/pci.h"
 4919typedef unsigned int pci_channel_state_t;
 4920#line 145
 4921enum pci_channel_state {
 4922    pci_channel_io_normal = 1,
 4923    pci_channel_io_frozen = 2,
 4924    pci_channel_io_perm_failure = 3
 4925} ;
 4926#line 169 "include/linux/pci.h"
 4927typedef unsigned short pci_dev_flags_t;
 4928#line 184 "include/linux/pci.h"
 4929typedef unsigned short pci_bus_flags_t;
 4930#line 228
 4931struct pcie_link_state;
 4932#line 228
 4933struct pcie_link_state;
 4934#line 228
 4935struct pcie_link_state;
 4936#line 228
 4937struct pcie_link_state;
 4938#line 229
 4939struct pci_vpd;
 4940#line 229
 4941struct pci_vpd;
 4942#line 229
 4943struct pci_vpd;
 4944#line 229
 4945struct pci_vpd;
 4946#line 230
 4947struct pci_sriov;
 4948#line 230
 4949struct pci_sriov;
 4950#line 230
 4951struct pci_sriov;
 4952#line 230
 4953struct pci_sriov;
 4954#line 231
 4955struct pci_ats;
 4956#line 231
 4957struct pci_ats;
 4958#line 231
 4959struct pci_ats;
 4960#line 231
 4961struct pci_ats;
 4962#line 236
 4963struct pci_driver;
 4964#line 236
 4965struct pci_driver;
 4966#line 236
 4967struct pci_driver;
 4968#line 236 "include/linux/pci.h"
 4969union __anonunion____missing_field_name_258 {
 4970   struct pci_sriov *sriov ;
 4971   struct pci_dev *physfn ;
 4972};
 4973#line 236 "include/linux/pci.h"
 4974struct pci_dev {
 4975   struct list_head bus_list ;
 4976   struct pci_bus *bus ;
 4977   struct pci_bus *subordinate ;
 4978   void *sysdata ;
 4979   struct proc_dir_entry *procent ;
 4980   struct pci_slot *slot ;
 4981   unsigned int devfn ;
 4982   unsigned short vendor ;
 4983   unsigned short device ;
 4984   unsigned short subsystem_vendor ;
 4985   unsigned short subsystem_device ;
 4986   unsigned int class ;
 4987   u8 revision ;
 4988   u8 hdr_type ;
 4989   u8 pcie_cap ;
 4990   u8 pcie_type ;
 4991   u8 rom_base_reg ;
 4992   u8 pin ;
 4993   struct pci_driver *driver ;
 4994   u64 dma_mask ;
 4995   struct device_dma_parameters dma_parms ;
 4996   pci_power_t current_state ;
 4997   int pm_cap ;
 4998   unsigned int pme_support : 5 ;
 4999   unsigned int pme_interrupt : 1 ;
 5000   unsigned int d1_support : 1 ;
 5001   unsigned int d2_support : 1 ;
 5002   unsigned int no_d1d2 : 1 ;
 5003   unsigned int mmio_always_on : 1 ;
 5004   unsigned int wakeup_prepared : 1 ;
 5005   unsigned int d3_delay ;
 5006   struct pcie_link_state *link_state ;
 5007   pci_channel_state_t error_state ;
 5008   struct device dev ;
 5009   int cfg_size ;
 5010   unsigned int irq ;
 5011   struct resource resource[18] ;
 5012   resource_size_t fw_addr[18] ;
 5013   unsigned int transparent : 1 ;
 5014   unsigned int multifunction : 1 ;
 5015   unsigned int is_added : 1 ;
 5016   unsigned int is_busmaster : 1 ;
 5017   unsigned int no_msi : 1 ;
 5018   unsigned int block_ucfg_access : 1 ;
 5019   unsigned int broken_parity_status : 1 ;
 5020   unsigned int irq_reroute_variant : 2 ;
 5021   unsigned int msi_enabled : 1 ;
 5022   unsigned int msix_enabled : 1 ;
 5023   unsigned int ari_enabled : 1 ;
 5024   unsigned int is_managed : 1 ;
 5025   unsigned int is_pcie : 1 ;
 5026   unsigned int needs_freset : 1 ;
 5027   unsigned int state_saved : 1 ;
 5028   unsigned int is_physfn : 1 ;
 5029   unsigned int is_virtfn : 1 ;
 5030   unsigned int reset_fn : 1 ;
 5031   unsigned int is_hotplug_bridge : 1 ;
 5032   unsigned int __aer_firmware_first_valid : 1 ;
 5033   unsigned int __aer_firmware_first : 1 ;
 5034   pci_dev_flags_t dev_flags ;
 5035   atomic_t enable_cnt ;
 5036   u32 saved_config_space[16] ;
 5037   struct hlist_head saved_cap_space ;
 5038   struct bin_attribute *rom_attr ;
 5039   int rom_attr_enabled ;
 5040   struct bin_attribute *res_attr[18] ;
 5041   struct bin_attribute *res_attr_wc[18] ;
 5042   struct list_head msi_list ;
 5043   struct pci_vpd *vpd ;
 5044   union __anonunion____missing_field_name_258 __annonCompField43 ;
 5045   struct pci_ats *ats ;
 5046};
 5047#line 409
 5048struct pci_ops;
 5049#line 409
 5050struct pci_ops;
 5051#line 409
 5052struct pci_ops;
 5053#line 409 "include/linux/pci.h"
 5054struct pci_bus {
 5055   struct list_head node ;
 5056   struct pci_bus *parent ;
 5057   struct list_head children ;
 5058   struct list_head devices ;
 5059   struct pci_dev *self ;
 5060   struct list_head slots ;
 5061   struct resource *resource[4] ;
 5062   struct list_head resources ;
 5063   struct pci_ops *ops ;
 5064   void *sysdata ;
 5065   struct proc_dir_entry *procdir ;
 5066   unsigned char number ;
 5067   unsigned char primary ;
 5068   unsigned char secondary ;
 5069   unsigned char subordinate ;
 5070   unsigned char max_bus_speed ;
 5071   unsigned char cur_bus_speed ;
 5072   char name[48] ;
 5073   unsigned short bridge_ctl ;
 5074   pci_bus_flags_t bus_flags ;
 5075   struct device *bridge ;
 5076   struct device dev ;
 5077   struct bin_attribute *legacy_io ;
 5078   struct bin_attribute *legacy_mem ;
 5079   unsigned int is_added : 1 ;
 5080};
 5081#line 475 "include/linux/pci.h"
 5082struct pci_ops {
 5083   int (*read)(struct pci_bus *bus , unsigned int devfn , int where , int size , u32 *val ) ;
 5084   int (*write)(struct pci_bus *bus , unsigned int devfn , int where , int size ,
 5085                u32 val ) ;
 5086};
 5087#line 494 "include/linux/pci.h"
 5088struct pci_dynids {
 5089   spinlock_t lock ;
 5090   struct list_head list ;
 5091};
 5092#line 506 "include/linux/pci.h"
 5093typedef unsigned int pci_ers_result_t;
 5094#line 526 "include/linux/pci.h"
 5095struct pci_error_handlers {
 5096   pci_ers_result_t (*error_detected)(struct pci_dev *dev , enum pci_channel_state error ) ;
 5097   pci_ers_result_t (*mmio_enabled)(struct pci_dev *dev ) ;
 5098   pci_ers_result_t (*link_reset)(struct pci_dev *dev ) ;
 5099   pci_ers_result_t (*slot_reset)(struct pci_dev *dev ) ;
 5100   void (*resume)(struct pci_dev *dev ) ;
 5101};
 5102#line 546
 5103struct module;
 5104#line 547 "include/linux/pci.h"
 5105struct pci_driver {
 5106   struct list_head node ;
 5107   char const   *name ;
 5108   struct pci_device_id  const  *id_table ;
 5109   int (*probe)(struct pci_dev *dev , struct pci_device_id  const  *id ) ;
 5110   void (*remove)(struct pci_dev *dev ) ;
 5111   int (*suspend)(struct pci_dev *dev , pm_message_t state ) ;
 5112   int (*suspend_late)(struct pci_dev *dev , pm_message_t state ) ;
 5113   int (*resume_early)(struct pci_dev *dev ) ;
 5114   int (*resume)(struct pci_dev *dev ) ;
 5115   void (*shutdown)(struct pci_dev *dev ) ;
 5116   struct pci_error_handlers *err_handler ;
 5117   struct device_driver driver ;
 5118   struct pci_dynids dynids ;
 5119};
 5120#line 12 "include/linux/bug.h"
 5121struct pt_regs;
 5122#line 25 "include/linux/dma-attrs.h"
 5123struct dma_attrs {
 5124   unsigned long flags[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 5125};
 5126#line 10 "include/linux/scatterlist.h"
 5127struct sg_table {
 5128   struct scatterlist *sgl ;
 5129   unsigned int nents ;
 5130   unsigned int orig_nents ;
 5131};
 5132#line 11 "include/linux/dma-mapping.h"
 5133enum dma_data_direction {
 5134    DMA_BIDIRECTIONAL = 0,
 5135    DMA_TO_DEVICE = 1,
 5136    DMA_FROM_DEVICE = 2,
 5137    DMA_NONE = 3
 5138} ;
 5139#line 18 "include/linux/dma-mapping.h"
 5140struct dma_map_ops {
 5141   void *(*alloc_coherent)(struct device *dev , size_t size , dma_addr_t *dma_handle ,
 5142                           gfp_t gfp ) ;
 5143   void (*free_coherent)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ) ;
 5144   dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
 5145                          size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
 5146   void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
 5147                      struct dma_attrs *attrs ) ;
 5148   int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
 5149                 struct dma_attrs *attrs ) ;
 5150   void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
 5151                    struct dma_attrs *attrs ) ;
 5152   void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
 5153                               enum dma_data_direction dir ) ;
 5154   void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
 5155                                  enum dma_data_direction dir ) ;
 5156   void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
 5157                           enum dma_data_direction dir ) ;
 5158   void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
 5159                              enum dma_data_direction dir ) ;
 5160   int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
 5161   int (*dma_supported)(struct device *dev , u64 mask ) ;
 5162   int (*set_dma_mask)(struct device *dev , u64 mask ) ;
 5163   int is_phys ;
 5164};
 5165#line 25 "include/linux/dma-debug.h"
 5166struct device;
 5167#line 26
 5168struct scatterlist;
 5169#line 27
 5170struct bus_type;
 5171#line 6 "include/linux/swiotlb.h"
 5172struct device;
 5173#line 7
 5174struct dma_attrs;
 5175#line 8
 5176struct scatterlist;
 5177#line 14 "include/scsi/scsi.h"
 5178struct scsi_cmnd;
 5179#line 14
 5180struct scsi_cmnd;
 5181#line 14
 5182struct scsi_cmnd;
 5183#line 14
 5184struct scsi_cmnd;
 5185#line 11 "include/scsi/scsi_cmnd.h"
 5186struct Scsi_Host;
 5187#line 11
 5188struct Scsi_Host;
 5189#line 11
 5190struct Scsi_Host;
 5191#line 11
 5192struct Scsi_Host;
 5193#line 12
 5194struct scsi_device;
 5195#line 12
 5196struct scsi_device;
 5197#line 12
 5198struct scsi_device;
 5199#line 12
 5200struct scsi_device;
 5201#line 31 "include/scsi/scsi_cmnd.h"
 5202struct scsi_data_buffer {
 5203   struct sg_table table ;
 5204   unsigned int length ;
 5205   int resid ;
 5206};
 5207#line 38 "include/scsi/scsi_cmnd.h"
 5208struct scsi_pointer {
 5209   char *ptr ;
 5210   int this_residual ;
 5211   struct scatterlist *buffer ;
 5212   int buffers_residual ;
 5213   dma_addr_t dma_handle ;
 5214   int volatile   Status ;
 5215   int volatile   Message ;
 5216   int volatile   have_data_in ;
 5217   int volatile   sent_command ;
 5218   int volatile   phase ;
 5219};
 5220#line 53 "include/scsi/scsi_cmnd.h"
 5221struct scsi_cmnd {
 5222   struct scsi_device *device ;
 5223   struct list_head list ;
 5224   struct list_head eh_entry ;
 5225   int eh_eflags ;
 5226   unsigned long serial_number ;
 5227   unsigned long jiffies_at_alloc ;
 5228   int retries ;
 5229   int allowed ;
 5230   unsigned char prot_op ;
 5231   unsigned char prot_type ;
 5232   unsigned short cmd_len ;
 5233   enum dma_data_direction sc_data_direction ;
 5234   unsigned char *cmnd ;
 5235   struct scsi_data_buffer sdb ;
 5236   struct scsi_data_buffer *prot_sdb ;
 5237   unsigned int underflow ;
 5238   unsigned int transfersize ;
 5239   struct request *request ;
 5240   unsigned char *sense_buffer ;
 5241   void (*scsi_done)(struct scsi_cmnd * ) ;
 5242   struct scsi_pointer SCp ;
 5243   unsigned char *host_scribble ;
 5244   int result ;
 5245   unsigned char tag ;
 5246};
 5247#line 12 "include/scsi/scsi_device.h"
 5248struct request_queue;
 5249#line 13
 5250struct scsi_cmnd;
 5251#line 15
 5252struct scsi_sense_hdr;
 5253#line 15
 5254struct scsi_sense_hdr;
 5255#line 15
 5256struct scsi_sense_hdr;
 5257#line 15
 5258struct scsi_sense_hdr;
 5259#line 31
 5260enum scsi_device_state {
 5261    SDEV_CREATED = 1,
 5262    SDEV_RUNNING = 2,
 5263    SDEV_CANCEL = 3,
 5264    SDEV_DEL = 4,
 5265    SDEV_QUIESCE = 5,
 5266    SDEV_OFFLINE = 6,
 5267    SDEV_BLOCK = 7,
 5268    SDEV_CREATED_BLOCK = 8
 5269} ;
 5270#line 68
 5271struct scsi_target;
 5272#line 68
 5273struct scsi_target;
 5274#line 68
 5275struct scsi_target;
 5276#line 68
 5277struct scsi_dh_data;
 5278#line 68
 5279struct scsi_dh_data;
 5280#line 68
 5281struct scsi_dh_data;
 5282#line 68 "include/scsi/scsi_device.h"
 5283struct scsi_device {
 5284   struct Scsi_Host *host ;
 5285   struct request_queue *request_queue ;
 5286   struct list_head siblings ;
 5287   struct list_head same_target_siblings ;
 5288   unsigned int device_busy ;
 5289   spinlock_t list_lock ;
 5290   struct list_head cmd_list ;
 5291   struct list_head starved_entry ;
 5292   struct scsi_cmnd *current_cmnd ;
 5293   unsigned short queue_depth ;
 5294   unsigned short max_queue_depth ;
 5295   unsigned short last_queue_full_depth ;
 5296   unsigned short last_queue_full_count ;
 5297   unsigned long last_queue_full_time ;
 5298   unsigned long queue_ramp_up_period ;
 5299   unsigned long last_queue_ramp_up ;
 5300   unsigned int id ;
 5301   unsigned int lun ;
 5302   unsigned int channel ;
 5303   unsigned int manufacturer ;
 5304   unsigned int sector_size ;
 5305   void *hostdata ;
 5306   char type ;
 5307   char scsi_level ;
 5308   char inq_periph_qual ;
 5309   unsigned char inquiry_len ;
 5310   unsigned char *inquiry ;
 5311   char const   *vendor ;
 5312   char const   *model ;
 5313   char const   *rev ;
 5314   unsigned char current_tag ;
 5315   struct scsi_target *sdev_target ;
 5316   unsigned int sdev_bflags ;
 5317   unsigned int writeable : 1 ;
 5318   unsigned int removable : 1 ;
 5319   unsigned int changed : 1 ;
 5320   unsigned int busy : 1 ;
 5321   unsigned int lockable : 1 ;
 5322   unsigned int locked : 1 ;
 5323   unsigned int borken : 1 ;
 5324   unsigned int disconnect : 1 ;
 5325   unsigned int soft_reset : 1 ;
 5326   unsigned int sdtr : 1 ;
 5327   unsigned int wdtr : 1 ;
 5328   unsigned int ppr : 1 ;
 5329   unsigned int tagged_supported : 1 ;
 5330   unsigned int simple_tags : 1 ;
 5331   unsigned int ordered_tags : 1 ;
 5332   unsigned int was_reset : 1 ;
 5333   unsigned int expecting_cc_ua : 1 ;
 5334   unsigned int use_10_for_rw : 1 ;
 5335   unsigned int use_10_for_ms : 1 ;
 5336   unsigned int skip_ms_page_8 : 1 ;
 5337   unsigned int skip_ms_page_3f : 1 ;
 5338   unsigned int use_192_bytes_for_3f : 1 ;
 5339   unsigned int no_start_on_add : 1 ;
 5340   unsigned int allow_restart : 1 ;
 5341   unsigned int manage_start_stop : 1 ;
 5342   unsigned int start_stop_pwr_cond : 1 ;
 5343   unsigned int no_uld_attach : 1 ;
 5344   unsigned int select_no_atn : 1 ;
 5345   unsigned int fix_capacity : 1 ;
 5346   unsigned int guess_capacity : 1 ;
 5347   unsigned int retry_hwerror : 1 ;
 5348   unsigned int last_sector_bug : 1 ;
 5349   unsigned int no_read_disc_info : 1 ;
 5350   unsigned int no_read_capacity_16 : 1 ;
 5351   unsigned int is_visible : 1 ;
 5352   unsigned long supported_events[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 5353   struct list_head event_list ;
 5354   struct work_struct event_work ;
 5355   unsigned int device_blocked ;
 5356   unsigned int max_device_blocked ;
 5357   atomic_t iorequest_cnt ;
 5358   atomic_t iodone_cnt ;
 5359   atomic_t ioerr_cnt ;
 5360   struct device sdev_gendev ;
 5361   struct device sdev_dev ;
 5362   struct execute_work ew ;
 5363   struct work_struct requeue_work ;
 5364   struct scsi_dh_data *scsi_dh_data ;
 5365   enum scsi_device_state sdev_state ;
 5366   unsigned long sdev_data[0] ;
 5367} __attribute__((__aligned__(sizeof(unsigned long )))) ;
 5368#line 179 "include/scsi/scsi_device.h"
 5369struct scsi_dh_devlist {
 5370   char *vendor ;
 5371   char *model ;
 5372};
 5373#line 185 "include/scsi/scsi_device.h"
 5374struct scsi_device_handler {
 5375   struct list_head list ;
 5376   int idx ;
 5377   struct module *module ;
 5378   char const   *name ;
 5379   struct scsi_dh_devlist  const  *devlist ;
 5380   int (*check_sense)(struct scsi_device * , struct scsi_sense_hdr * ) ;
 5381   int (*attach)(struct scsi_device * ) ;
 5382   void (*detach)(struct scsi_device * ) ;
 5383   int (*activate)(struct scsi_device * , void (*)(void * , int  ) , void * ) ;
 5384   int (*prep_fn)(struct scsi_device * , struct request * ) ;
 5385   int (*set_params)(struct scsi_device * , char const   * ) ;
 5386};
 5387#line 202 "include/scsi/scsi_device.h"
 5388struct scsi_dh_data {
 5389   struct scsi_device_handler *scsi_dh ;
 5390   struct scsi_device *sdev ;
 5391   struct kref kref ;
 5392   char buf[0] ;
 5393};
 5394#line 225
 5395enum scsi_target_state {
 5396    STARGET_CREATED = 1,
 5397    STARGET_RUNNING = 2,
 5398    STARGET_DEL = 3
 5399} ;
 5400#line 236 "include/scsi/scsi_device.h"
 5401struct scsi_target {
 5402   struct scsi_device *starget_sdev_user ;
 5403   struct list_head siblings ;
 5404   struct list_head devices ;
 5405   struct device dev ;
 5406   unsigned int reap_ref ;
 5407   unsigned int channel ;
 5408   unsigned int id ;
 5409   unsigned int create : 1 ;
 5410   unsigned int single_lun : 1 ;
 5411   unsigned int pdt_1f_for_no_lun ;
 5412   unsigned int target_busy ;
 5413   unsigned int can_queue ;
 5414   unsigned int target_blocked ;
 5415   unsigned int max_target_blocked ;
 5416   char scsi_level ;
 5417   struct execute_work ew ;
 5418   enum scsi_target_state state ;
 5419   void *hostdata ;
 5420   unsigned long starget_data[0] ;
 5421} __attribute__((__aligned__(sizeof(unsigned long )))) ;
 5422#line 11 "include/scsi/scsi_host.h"
 5423struct request_queue;
 5424#line 12
 5425struct block_device;
 5426#line 13
 5427struct completion;
 5428#line 14
 5429struct module;
 5430#line 15
 5431struct scsi_cmnd;
 5432#line 16
 5433struct scsi_device;
 5434#line 17
 5435struct scsi_target;
 5436#line 18
 5437struct Scsi_Host;
 5438#line 19
 5439struct scsi_host_cmd_pool;
 5440#line 19
 5441struct scsi_host_cmd_pool;
 5442#line 19
 5443struct scsi_host_cmd_pool;
 5444#line 19
 5445struct scsi_host_cmd_pool;
 5446#line 20
 5447struct scsi_transport_template;
 5448#line 20
 5449struct scsi_transport_template;
 5450#line 20
 5451struct scsi_transport_template;
 5452#line 20
 5453struct scsi_transport_template;
 5454#line 52 "include/scsi/scsi_host.h"
 5455struct scsi_host_template {
 5456   struct module *module ;
 5457   char const   *name ;
 5458   int (*detect)(struct scsi_host_template * ) ;
 5459   int (*release)(struct Scsi_Host * ) ;
 5460   char const   *(*info)(struct Scsi_Host * ) ;
 5461   int (*ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
 5462   int (*compat_ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
 5463   int (*queuecommand)(struct Scsi_Host * , struct scsi_cmnd * ) ;
 5464   int (*transfer_response)(struct scsi_cmnd * , void (*done)(struct scsi_cmnd * ) ) ;
 5465   int (*eh_abort_handler)(struct scsi_cmnd * ) ;
 5466   int (*eh_device_reset_handler)(struct scsi_cmnd * ) ;
 5467   int (*eh_target_reset_handler)(struct scsi_cmnd * ) ;
 5468   int (*eh_bus_reset_handler)(struct scsi_cmnd * ) ;
 5469   int (*eh_host_reset_handler)(struct scsi_cmnd * ) ;
 5470   int (*slave_alloc)(struct scsi_device * ) ;
 5471   int (*slave_configure)(struct scsi_device * ) ;
 5472   void (*slave_destroy)(struct scsi_device * ) ;
 5473   int (*target_alloc)(struct scsi_target * ) ;
 5474   void (*target_destroy)(struct scsi_target * ) ;
 5475   int (*scan_finished)(struct Scsi_Host * , unsigned long  ) ;
 5476   void (*scan_start)(struct Scsi_Host * ) ;
 5477   int (*change_queue_depth)(struct scsi_device * , int  , int  ) ;
 5478   int (*change_queue_type)(struct scsi_device * , int  ) ;
 5479   int (*bios_param)(struct scsi_device * , struct block_device * , sector_t  , int * ) ;
 5480   void (*unlock_native_capacity)(struct scsi_device * ) ;
 5481   int (*proc_info)(struct Scsi_Host * , char * , char ** , off_t  , int  , int  ) ;
 5482   enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd * ) ;
 5483   char const   *proc_name ;
 5484   struct proc_dir_entry *proc_dir ;
 5485   int can_queue ;
 5486   int this_id ;
 5487   unsigned short sg_tablesize ;
 5488   unsigned short sg_prot_tablesize ;
 5489   unsigned short max_sectors ;
 5490   unsigned long dma_boundary ;
 5491   short cmd_per_lun ;
 5492   unsigned char present ;
 5493   unsigned int supported_mode : 2 ;
 5494   unsigned int unchecked_isa_dma : 1 ;
 5495   unsigned int use_clustering : 1 ;
 5496   unsigned int emulated : 1 ;
 5497   unsigned int skip_settle_delay : 1 ;
 5498   unsigned int ordered_tag : 1 ;
 5499   unsigned int max_host_blocked ;
 5500   struct device_attribute **shost_attrs ;
 5501   struct device_attribute **sdev_attrs ;
 5502   struct list_head legacy_hosts ;
 5503   u64 vendor_id ;
 5504};
 5505#line 530
 5506enum scsi_host_state {
 5507    SHOST_CREATED = 1,
 5508    SHOST_RUNNING = 2,
 5509    SHOST_CANCEL = 3,
 5510    SHOST_DEL = 4,
 5511    SHOST_RECOVERY = 5,
 5512    SHOST_CANCEL_RECOVERY = 6,
 5513    SHOST_DEL_RECOVERY = 7
 5514} ;
 5515#line 540 "include/scsi/scsi_host.h"
 5516struct Scsi_Host {
 5517   struct list_head __devices ;
 5518   struct list_head __targets ;
 5519   struct scsi_host_cmd_pool *cmd_pool ;
 5520   spinlock_t free_list_lock ;
 5521   struct list_head free_list ;
 5522   struct list_head starved_list ;
 5523   spinlock_t default_lock ;
 5524   spinlock_t *host_lock ;
 5525   struct mutex scan_mutex ;
 5526   struct list_head eh_cmd_q ;
 5527   struct task_struct *ehandler ;
 5528   struct completion *eh_action ;
 5529   wait_queue_head_t host_wait ;
 5530   struct scsi_host_template *hostt ;
 5531   struct scsi_transport_template *transportt ;
 5532   struct blk_queue_tag *bqt ;
 5533   unsigned int host_busy ;
 5534   unsigned int host_failed ;
 5535   unsigned int host_eh_scheduled ;
 5536   unsigned int host_no ;
 5537   int resetting ;
 5538   unsigned long last_reset ;
 5539   unsigned int max_id ;
 5540   unsigned int max_lun ;
 5541   unsigned int max_channel ;
 5542   unsigned int unique_id ;
 5543   unsigned short max_cmd_len ;
 5544   int this_id ;
 5545   int can_queue ;
 5546   short cmd_per_lun ;
 5547   unsigned short sg_tablesize ;
 5548   unsigned short sg_prot_tablesize ;
 5549   unsigned short max_sectors ;
 5550   unsigned long dma_boundary ;
 5551   unsigned long cmd_serial_number ;
 5552   unsigned int active_mode : 2 ;
 5553   unsigned int unchecked_isa_dma : 1 ;
 5554   unsigned int use_clustering : 1 ;
 5555   unsigned int use_blk_tcq : 1 ;
 5556   unsigned int host_self_blocked : 1 ;
 5557   unsigned int reverse_ordering : 1 ;
 5558   unsigned int ordered_tag : 1 ;
 5559   unsigned int tmf_in_progress : 1 ;
 5560   unsigned int async_scan : 1 ;
 5561   char work_q_name[20] ;
 5562   struct workqueue_struct *work_q ;
 5563   unsigned int host_blocked ;
 5564   unsigned int max_host_blocked ;
 5565   unsigned int prot_capabilities ;
 5566   unsigned char prot_guard_type ;
 5567   struct request_queue *uspace_req_q ;
 5568   unsigned long base ;
 5569   unsigned long io_port ;
 5570   unsigned char n_io_port ;
 5571   unsigned char dma_channel ;
 5572   unsigned int irq ;
 5573   enum scsi_host_state shost_state ;
 5574   struct device shost_gendev ;
 5575   struct device shost_dev ;
 5576   struct list_head sht_legacy_list ;
 5577   void *shost_data ;
 5578   struct device *dma_dev ;
 5579   unsigned long hostdata[0]  __attribute__((__aligned__(sizeof(unsigned long )))) ;
 5580};
 5581#line 222 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/dc395x.h"
 5582struct ScsiInqData {
 5583   u8 DevType ;
 5584   u8 RMB_TypeMod ;
 5585   u8 Vers ;
 5586   u8 RDF ;
 5587   u8 AddLen ;
 5588   u8 Res1 ;
 5589   u8 Res2 ;
 5590   u8 Flags ;
 5591   u8 VendorID[8] ;
 5592   u8 ProductID[16] ;
 5593   u8 ProductRev[4] ;
 5594};
 5595#line 190 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 5596struct SGentry {
 5597   u32 address ;
 5598   u32 length ;
 5599};
 5600#line 196 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 5601struct NVRamTarget {
 5602   u8 cfg0 ;
 5603   u8 period ;
 5604   u8 cfg2 ;
 5605   u8 cfg3 ;
 5606};
 5607#line 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 5608struct NvRamType {
 5609   u8 sub_vendor_id[2] ;
 5610   u8 sub_sys_id[2] ;
 5611   u8 sub_class ;
 5612   u8 vendor_id[2] ;
 5613   u8 device_id[2] ;
 5614   u8 reserved ;
 5615   struct NVRamTarget target[16] ;
 5616   u8 scsi_id ;
 5617   u8 channel_cfg ;
 5618   u8 delay_time ;
 5619   u8 max_tag ;
 5620   u8 reserved0 ;
 5621   u8 boot_target ;
 5622   u8 boot_lun ;
 5623   u8 reserved1 ;
 5624   u16 reserved2[22] ;
 5625   u16 cksum ;
 5626};
 5627#line 229
 5628struct DeviceCtlBlk;
 5629#line 229
 5630struct DeviceCtlBlk;
 5631#line 229
 5632struct DeviceCtlBlk;
 5633#line 229 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 5634struct ScsiReqBlk {
 5635   struct list_head list ;
 5636   struct DeviceCtlBlk *dcb ;
 5637   struct scsi_cmnd *cmd ;
 5638   struct SGentry *segment_x ;
 5639   dma_addr_t sg_bus_addr ;
 5640   u8 sg_count ;
 5641   u8 sg_index ;
 5642   size_t total_xfer_length ;
 5643   size_t request_length ;
 5644   size_t xferred ;
 5645   u16 state ;
 5646   u8 msgin_buf[6] ;
 5647   u8 msgout_buf[6] ;
 5648   u8 adapter_status ;
 5649   u8 target_status ;
 5650   u8 msg_count ;
 5651   u8 end_message ;
 5652   u8 tag_number ;
 5653   u8 status ;
 5654   u8 retry_count ;
 5655   u8 flag ;
 5656   u8 scsi_phase ;
 5657};
 5658#line 270
 5659struct AdapterCtlBlk;
 5660#line 270
 5661struct AdapterCtlBlk;
 5662#line 270
 5663struct AdapterCtlBlk;
 5664#line 270 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 5665struct DeviceCtlBlk {
 5666   struct list_head list ;
 5667   struct AdapterCtlBlk *acb ;
 5668   struct list_head srb_going_list ;
 5669   struct list_head srb_waiting_list ;
 5670   struct ScsiReqBlk *active_srb ;
 5671   u32 tag_mask ;
 5672   u16 max_command ;
 5673   u8 target_id ;
 5674   u8 target_lun ;
 5675   u8 identify_msg ;
 5676   u8 dev_mode ;
 5677   u8 inquiry7 ;
 5678   u8 sync_mode ;
 5679   u8 min_nego_period ;
 5680   u8 sync_period ;
 5681   u8 sync_offset ;
 5682   u8 flag ;
 5683   u8 dev_type ;
 5684   u8 init_tcq_flag ;
 5685};
 5686#line 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 5687struct AdapterCtlBlk {
 5688   struct Scsi_Host *scsi_host ;
 5689   unsigned long io_port_base ;
 5690   unsigned long io_port_len ;
 5691   struct list_head dcb_list ;
 5692   struct DeviceCtlBlk *dcb_run_robin ;
 5693   struct DeviceCtlBlk *active_dcb ;
 5694   struct list_head srb_free_list ;
 5695   struct ScsiReqBlk *tmp_srb ;
 5696   struct timer_list waiting_timer ;
 5697   struct timer_list selto_timer ;
 5698   u16 srb_count ;
 5699   u8 sel_timeout ;
 5700   unsigned int irq_level ;
 5701   u8 tag_max_num ;
 5702   u8 acb_flag ;
 5703   u8 gmode2 ;
 5704   u8 config ;
 5705   u8 lun_chk ;
 5706   u8 scan_devices ;
 5707   u8 hostid_bit ;
 5708   u8 dcb_map[16] ;
 5709   struct DeviceCtlBlk *children[16][32] ;
 5710   struct pci_dev *dev ;
 5711   u8 msg_len ;
 5712   struct ScsiReqBlk srb_array[63] ;
 5713   struct ScsiReqBlk srb ;
 5714   struct NvRamType eeprom ;
 5715};
 5716#line 486 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 5717struct ParameterData {
 5718   int value ;
 5719   int min ;
 5720   int max ;
 5721   int def ;
 5722   int safe ;
 5723};
 5724#line 244 "include/linux/usb/ch9.h"
 5725struct usb_device_descriptor {
 5726   __u8 bLength ;
 5727   __u8 bDescriptorType ;
 5728   __le16 bcdUSB ;
 5729   __u8 bDeviceClass ;
 5730   __u8 bDeviceSubClass ;
 5731   __u8 bDeviceProtocol ;
 5732   __u8 bMaxPacketSize0 ;
 5733   __le16 idVendor ;
 5734   __le16 idProduct ;
 5735   __le16 bcdDevice ;
 5736   __u8 iManufacturer ;
 5737   __u8 iProduct ;
 5738   __u8 iSerialNumber ;
 5739   __u8 bNumConfigurations ;
 5740} __attribute__((__packed__)) ;
 5741#line 300 "include/linux/usb/ch9.h"
 5742struct usb_config_descriptor {
 5743   __u8 bLength ;
 5744   __u8 bDescriptorType ;
 5745   __le16 wTotalLength ;
 5746   __u8 bNumInterfaces ;
 5747   __u8 bConfigurationValue ;
 5748   __u8 iConfiguration ;
 5749   __u8 bmAttributes ;
 5750   __u8 bMaxPower ;
 5751} __attribute__((__packed__)) ;
 5752#line 337 "include/linux/usb/ch9.h"
 5753struct usb_interface_descriptor {
 5754   __u8 bLength ;
 5755   __u8 bDescriptorType ;
 5756   __u8 bInterfaceNumber ;
 5757   __u8 bAlternateSetting ;
 5758   __u8 bNumEndpoints ;
 5759   __u8 bInterfaceClass ;
 5760   __u8 bInterfaceSubClass ;
 5761   __u8 bInterfaceProtocol ;
 5762   __u8 iInterface ;
 5763} __attribute__((__packed__)) ;
 5764#line 355 "include/linux/usb/ch9.h"
 5765struct usb_endpoint_descriptor {
 5766   __u8 bLength ;
 5767   __u8 bDescriptorType ;
 5768   __u8 bEndpointAddress ;
 5769   __u8 bmAttributes ;
 5770   __le16 wMaxPacketSize ;
 5771   __u8 bInterval ;
 5772   __u8 bRefresh ;
 5773   __u8 bSynchAddress ;
 5774} __attribute__((__packed__)) ;
 5775#line 576 "include/linux/usb/ch9.h"
 5776struct usb_ss_ep_comp_descriptor {
 5777   __u8 bLength ;
 5778   __u8 bDescriptorType ;
 5779   __u8 bMaxBurst ;
 5780   __u8 bmAttributes ;
 5781   __le16 wBytesPerInterval ;
 5782} __attribute__((__packed__)) ;
 5783#line 637 "include/linux/usb/ch9.h"
 5784struct usb_interface_assoc_descriptor {
 5785   __u8 bLength ;
 5786   __u8 bDescriptorType ;
 5787   __u8 bFirstInterface ;
 5788   __u8 bInterfaceCount ;
 5789   __u8 bFunctionClass ;
 5790   __u8 bFunctionSubClass ;
 5791   __u8 bFunctionProtocol ;
 5792   __u8 iFunction ;
 5793} __attribute__((__packed__)) ;
 5794#line 846
 5795enum usb_device_speed {
 5796    USB_SPEED_UNKNOWN = 0,
 5797    USB_SPEED_LOW = 1,
 5798    USB_SPEED_FULL = 2,
 5799    USB_SPEED_HIGH = 3,
 5800    USB_SPEED_WIRELESS = 4,
 5801    USB_SPEED_SUPER = 5
 5802} ;
 5803#line 854
 5804enum usb_device_state {
 5805    USB_STATE_NOTATTACHED = 0,
 5806    USB_STATE_ATTACHED = 1,
 5807    USB_STATE_POWERED = 2,
 5808    USB_STATE_RECONNECTING = 3,
 5809    USB_STATE_UNAUTHENTICATED = 4,
 5810    USB_STATE_DEFAULT = 5,
 5811    USB_STATE_ADDRESS = 6,
 5812    USB_STATE_CONFIGURED = 7,
 5813    USB_STATE_SUSPENDED = 8
 5814} ;
 5815#line 25 "include/linux/usb.h"
 5816struct usb_device;
 5817#line 25
 5818struct usb_device;
 5819#line 25
 5820struct usb_device;
 5821#line 25
 5822struct usb_device;
 5823#line 27
 5824struct wusb_dev;
 5825#line 27
 5826struct wusb_dev;
 5827#line 27
 5828struct wusb_dev;
 5829#line 27
 5830struct wusb_dev;
 5831#line 47
 5832struct ep_device;
 5833#line 47
 5834struct ep_device;
 5835#line 47
 5836struct ep_device;
 5837#line 47
 5838struct ep_device;
 5839#line 64 "include/linux/usb.h"
 5840struct usb_host_endpoint {
 5841   struct usb_endpoint_descriptor desc ;
 5842   struct usb_ss_ep_comp_descriptor ss_ep_comp ;
 5843   struct list_head urb_list ;
 5844   void *hcpriv ;
 5845   struct ep_device *ep_dev ;
 5846   unsigned char *extra ;
 5847   int extralen ;
 5848   int enabled ;
 5849};
 5850#line 77 "include/linux/usb.h"
 5851struct usb_host_interface {
 5852   struct usb_interface_descriptor desc ;
 5853   struct usb_host_endpoint *endpoint ;
 5854   char *string ;
 5855   unsigned char *extra ;
 5856   int extralen ;
 5857};
 5858#line 90
 5859enum usb_interface_condition {
 5860    USB_INTERFACE_UNBOUND = 0,
 5861    USB_INTERFACE_BINDING = 1,
 5862    USB_INTERFACE_BOUND = 2,
 5863    USB_INTERFACE_UNBINDING = 3
 5864} ;
 5865#line 159 "include/linux/usb.h"
 5866struct usb_interface {
 5867   struct usb_host_interface *altsetting ;
 5868   struct usb_host_interface *cur_altsetting ;
 5869   unsigned int num_altsetting ;
 5870   struct usb_interface_assoc_descriptor *intf_assoc ;
 5871   int minor ;
 5872   enum usb_interface_condition condition ;
 5873   unsigned int sysfs_files_created : 1 ;
 5874   unsigned int ep_devs_created : 1 ;
 5875   unsigned int unregistering : 1 ;
 5876   unsigned int needs_remote_wakeup : 1 ;
 5877   unsigned int needs_altsetting0 : 1 ;
 5878   unsigned int needs_binding : 1 ;
 5879   unsigned int reset_running : 1 ;
 5880   unsigned int resetting_device : 1 ;
 5881   struct device dev ;
 5882   struct device *usb_dev ;
 5883   atomic_t pm_usage_cnt ;
 5884   struct work_struct reset_ws ;
 5885};
 5886#line 222 "include/linux/usb.h"
 5887struct usb_interface_cache {
 5888   unsigned int num_altsetting ;
 5889   struct kref ref ;
 5890   struct usb_host_interface altsetting[0] ;
 5891};
 5892#line 274 "include/linux/usb.h"
 5893struct usb_host_config {
 5894   struct usb_config_descriptor desc ;
 5895   char *string ;
 5896   struct usb_interface_assoc_descriptor *intf_assoc[16] ;
 5897   struct usb_interface *interface[32] ;
 5898   struct usb_interface_cache *intf_cache[32] ;
 5899   unsigned char *extra ;
 5900   int extralen ;
 5901};
 5902#line 305 "include/linux/usb.h"
 5903struct usb_devmap {
 5904   unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
 5905};
 5906#line 312
 5907struct mon_bus;
 5908#line 312
 5909struct mon_bus;
 5910#line 312
 5911struct mon_bus;
 5912#line 312 "include/linux/usb.h"
 5913struct usb_bus {
 5914   struct device *controller ;
 5915   int busnum ;
 5916   char const   *bus_name ;
 5917   u8 uses_dma ;
 5918   u8 uses_pio_for_control ;
 5919   u8 otg_port ;
 5920   unsigned int is_b_host : 1 ;
 5921   unsigned int b_hnp_enable : 1 ;
 5922   unsigned int sg_tablesize ;
 5923   int devnum_next ;
 5924   struct usb_devmap devmap ;
 5925   struct usb_device *root_hub ;
 5926   struct usb_bus *hs_companion ;
 5927   struct list_head bus_list ;
 5928   int bandwidth_allocated ;
 5929   int bandwidth_int_reqs ;
 5930   int bandwidth_isoc_reqs ;
 5931   struct dentry *usbfs_dentry ;
 5932   struct mon_bus *mon_bus ;
 5933   int monitored ;
 5934};
 5935#line 367
 5936struct usb_tt;
 5937#line 367
 5938struct usb_tt;
 5939#line 367
 5940struct usb_tt;
 5941#line 367
 5942struct usb_tt;
 5943#line 426 "include/linux/usb.h"
 5944struct usb_device {
 5945   int devnum ;
 5946   char devpath[16] ;
 5947   u32 route ;
 5948   enum usb_device_state state ;
 5949   enum usb_device_speed speed ;
 5950   struct usb_tt *tt ;
 5951   int ttport ;
 5952   unsigned int toggle[2] ;
 5953   struct usb_device *parent ;
 5954   struct usb_bus *bus ;
 5955   struct usb_host_endpoint ep0 ;
 5956   struct device dev ;
 5957   struct usb_device_descriptor descriptor ;
 5958   struct usb_host_config *config ;
 5959   struct usb_host_config *actconfig ;
 5960   struct usb_host_endpoint *ep_in[16] ;
 5961   struct usb_host_endpoint *ep_out[16] ;
 5962   char **rawdescriptors ;
 5963   unsigned short bus_mA ;
 5964   u8 portnum ;
 5965   u8 level ;
 5966   unsigned int can_submit : 1 ;
 5967   unsigned int persist_enabled : 1 ;
 5968   unsigned int have_langid : 1 ;
 5969   unsigned int authorized : 1 ;
 5970   unsigned int authenticated : 1 ;
 5971   unsigned int wusb : 1 ;
 5972   int string_langid ;
 5973   char *product ;
 5974   char *manufacturer ;
 5975   char *serial ;
 5976   struct list_head filelist ;
 5977   struct device *usb_classdev ;
 5978   struct dentry *usbfs_dentry ;
 5979   int maxchild ;
 5980   struct usb_device *children[31] ;
 5981   u32 quirks ;
 5982   atomic_t urbnum ;
 5983   unsigned long active_duration ;
 5984   unsigned long connect_time ;
 5985   unsigned int do_remote_wakeup : 1 ;
 5986   unsigned int reset_resume : 1 ;
 5987   struct wusb_dev *wusb_dev ;
 5988   int slot_id ;
 5989};
 5990#line 983 "include/linux/usb.h"
 5991struct usb_iso_packet_descriptor {
 5992   unsigned int offset ;
 5993   unsigned int length ;
 5994   unsigned int actual_length ;
 5995   int status ;
 5996};
 5997#line 990
 5998struct urb;
 5999#line 990
 6000struct urb;
 6001#line 990
 6002struct urb;
 6003#line 990
 6004struct urb;
 6005#line 992 "include/linux/usb.h"
 6006struct usb_anchor {
 6007   struct list_head urb_list ;
 6008   wait_queue_head_t wait ;
 6009   spinlock_t lock ;
 6010   unsigned int poisoned : 1 ;
 6011};
 6012#line 1183 "include/linux/usb.h"
 6013struct urb {
 6014   struct kref kref ;
 6015   void *hcpriv ;
 6016   atomic_t use_count ;
 6017   atomic_t reject ;
 6018   int unlinked ;
 6019   struct list_head urb_list ;
 6020   struct list_head anchor_list ;
 6021   struct usb_anchor *anchor ;
 6022   struct usb_device *dev ;
 6023   struct usb_host_endpoint *ep ;
 6024   unsigned int pipe ;
 6025   unsigned int stream_id ;
 6026   int status ;
 6027   unsigned int transfer_flags ;
 6028   void *transfer_buffer ;
 6029   dma_addr_t transfer_dma ;
 6030   struct scatterlist *sg ;
 6031   int num_sgs ;
 6032   u32 transfer_buffer_length ;
 6033   u32 actual_length ;
 6034   unsigned char *setup_packet ;
 6035   dma_addr_t setup_dma ;
 6036   int start_frame ;
 6037   int number_of_packets ;
 6038   int interval ;
 6039   int error_count ;
 6040   void *context ;
 6041   void (*complete)(struct urb * ) ;
 6042   struct usb_iso_packet_descriptor iso_frame_desc[0] ;
 6043};
 6044#line 1388
 6045struct scatterlist;
 6046#line 1 "<compiler builtins>"
 6047void *__builtin_memcpy(void * , void const   * , unsigned long  ) ;
 6048#line 1
 6049long __builtin_expect(long  , long  ) ;
 6050#line 24 "include/linux/list.h"
 6051__inline static void INIT_LIST_HEAD(struct list_head *list ) 
 6052{ 
 6053
 6054  {
 6055#line 26
 6056  list->next = list;
 6057#line 27
 6058  list->prev = list;
 6059#line 28
 6060  return;
 6061}
 6062}
 6063#line 47
 6064extern void __list_add(struct list_head *new , struct list_head *prev , struct list_head *next ) ;
 6065#line 60 "include/linux/list.h"
 6066__inline static void list_add(struct list_head *new , struct list_head *head ) 
 6067{ struct list_head *__cil_tmp3 ;
 6068
 6069  {
 6070  {
 6071#line 62
 6072  __cil_tmp3 = head->next;
 6073#line 62
 6074  __list_add(new, head, __cil_tmp3);
 6075  }
 6076#line 63
 6077  return;
 6078}
 6079}
 6080#line 74 "include/linux/list.h"
 6081__inline static void list_add_tail(struct list_head *new , struct list_head *head ) 
 6082{ struct list_head *__cil_tmp3 ;
 6083
 6084  {
 6085  {
 6086#line 76
 6087  __cil_tmp3 = head->prev;
 6088#line 76
 6089  __list_add(new, __cil_tmp3, head);
 6090  }
 6091#line 77
 6092  return;
 6093}
 6094}
 6095#line 111
 6096extern void __list_del_entry(struct list_head *entry ) ;
 6097#line 112
 6098extern void list_del(struct list_head *entry ) ;
 6099#line 153 "include/linux/list.h"
 6100__inline static void list_move(struct list_head *list , struct list_head *head ) 
 6101{ 
 6102
 6103  {
 6104  {
 6105#line 155
 6106  __list_del_entry(list);
 6107#line 156
 6108  list_add(list, head);
 6109  }
 6110#line 157
 6111  return;
 6112}
 6113}
 6114#line 186 "include/linux/list.h"
 6115__inline static int list_empty(struct list_head  const  *head ) 
 6116{ unsigned long __cil_tmp2 ;
 6117  struct list_head *__cil_tmp3 ;
 6118  unsigned long __cil_tmp4 ;
 6119
 6120  {
 6121  {
 6122#line 188
 6123  __cil_tmp2 = (unsigned long )head;
 6124#line 188
 6125  __cil_tmp3 = head->next;
 6126#line 188
 6127  __cil_tmp4 = (unsigned long )__cil_tmp3;
 6128#line 188
 6129  return (__cil_tmp4 == __cil_tmp2);
 6130  }
 6131}
 6132}
 6133#line 100 "include/linux/printk.h"
 6134extern int printk(char const   *fmt  , ...) ;
 6135#line 69 "include/asm-generic/bug.h"
 6136extern void warn_slowpath_null(char const   *file , int line ) ;
 6137#line 291 "include/linux/kernel.h"
 6138extern int sprintf(char *buf , char const   *fmt  , ...) ;
 6139#line 61 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_64_types.h"
 6140extern unsigned long __phys_addr(unsigned long  ) ;
 6141#line 349 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 6142extern struct pv_irq_ops pv_irq_ops ;
 6143#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
 6144extern void *__memcpy(void *to , void const   *from , size_t len ) ;
 6145#line 55
 6146extern void *memset(void *s , int c , size_t n ) ;
 6147#line 851 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
 6148__inline static unsigned long arch_local_save_flags(void)  __attribute__((__no_instrument_function__)) ;
 6149#line 851
 6150__inline static unsigned long arch_local_save_flags(void)  __attribute__((__no_instrument_function__)) ;
 6151#line 851 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
 6152__inline static unsigned long arch_local_save_flags(void) 
 6153{ unsigned long __ret ;
 6154  unsigned long __edi ;
 6155  unsigned long __esi ;
 6156  unsigned long __edx ;
 6157  unsigned long __ecx ;
 6158  unsigned long __eax ;
 6159  long tmp ;
 6160  void *__cil_tmp8 ;
 6161  unsigned long __cil_tmp9 ;
 6162  unsigned long __cil_tmp10 ;
 6163  int __cil_tmp11 ;
 6164  int __cil_tmp12 ;
 6165  int __cil_tmp13 ;
 6166  long __cil_tmp14 ;
 6167  struct paravirt_patch_template *__cil_tmp15 ;
 6168  void **__cil_tmp16 ;
 6169  unsigned int __cil_tmp17 ;
 6170  unsigned long __cil_tmp18 ;
 6171  unsigned long long __cil_tmp19 ;
 6172  u64 __cil_tmp20 ;
 6173  u64 __cil_tmp21 ;
 6174  unsigned long long __cil_tmp22 ;
 6175  struct paravirt_patch_template *__cil_tmp23 ;
 6176  void **__cil_tmp24 ;
 6177  unsigned int __cil_tmp25 ;
 6178  unsigned long __cil_tmp26 ;
 6179
 6180  {
 6181#line 853
 6182  __edi = __edi;
 6183#line 853
 6184  __esi = __esi;
 6185#line 853
 6186  __edx = __edx;
 6187#line 853
 6188  __ecx = __ecx;
 6189#line 853
 6190  __eax = __eax;
 6191  {
 6192#line 853
 6193  while (1) {
 6194    while_continue: /* CIL Label */ ;
 6195    {
 6196#line 853
 6197    __cil_tmp8 = (void *)0;
 6198#line 853
 6199    __cil_tmp9 = (unsigned long )__cil_tmp8;
 6200#line 853
 6201    __cil_tmp10 = (unsigned long )pv_irq_ops.save_fl.func;
 6202#line 853
 6203    __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
 6204#line 853
 6205    __cil_tmp12 = ! __cil_tmp11;
 6206#line 853
 6207    __cil_tmp13 = ! __cil_tmp12;
 6208#line 853
 6209    __cil_tmp14 = (long )__cil_tmp13;
 6210#line 853
 6211    tmp = __builtin_expect(__cil_tmp14, 0L);
 6212    }
 6213#line 853
 6214    if (tmp) {
 6215      {
 6216#line 853
 6217      while (1) {
 6218        while_continue___0: /* CIL Label */ ;
 6219#line 853
 6220        __asm__  volatile   ("1:\tud2\n"
 6221                             ".pushsection __bug_table,\"a\"\n"
 6222                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 6223                             "\t.word %c1, 0\n"
 6224                             "\t.org 2b+%c2\n"
 6225                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
 6226                             "i" (853), "i" (12UL));
 6227        {
 6228#line 853
 6229        while (1) {
 6230          while_continue___1: /* CIL Label */ ;
 6231
 6232        }
 6233        while_break___3: /* CIL Label */ ;
 6234        }
 6235
 6236#line 853
 6237        goto while_break___0;
 6238      }
 6239      while_break___2: /* CIL Label */ ;
 6240      }
 6241
 6242      while_break___0: ;
 6243    } else {
 6244
 6245    }
 6246#line 853
 6247    goto while_break;
 6248  }
 6249  while_break___1: /* CIL Label */ ;
 6250  }
 6251
 6252  while_break: ;
 6253#line 853
 6254  if (8UL > 8UL) {
 6255#line 853
 6256    __cil_tmp15 = (struct paravirt_patch_template *)0;
 6257#line 853
 6258    __cil_tmp16 = & __cil_tmp15->pv_irq_ops.save_fl.func;
 6259#line 853
 6260    __cil_tmp17 = (unsigned int )__cil_tmp16;
 6261#line 853
 6262    __cil_tmp18 = (unsigned long )__cil_tmp17;
 6263#line 853
 6264/*    __asm__  volatile   (""
 6265                         "771:\n\t"
 6266                         "call *%c[paravirt_opptr];"
 6267                         "\n"
 6268                         "772:\n"
 6269                         ".pushsection .parainstructions,\"a\"\n"
 6270                         " "
 6271                         ".balign 8"
 6272                         " "
 6273                         "\n"
 6274                         " "
 6275                         ".quad"
 6276                         " "
 6277                         " 771b\n"
 6278                         "  .byte "
 6279                         "%c[paravirt_typenum]"
 6280                         "\n"
 6281                         "  .byte 772b-771b\n"
 6282                         "  .short "
 6283                         "%c[paravirt_clobber]"
 6284                         "\n"
 6285                         ".popsection\n"
 6286                         "": "=a" (__eax): [paravirt_typenum] "i" (__cil_tmp18 / 8UL),
 6287                         [paravirt_opptr] "i" (& pv_irq_ops.save_fl.func), [paravirt_clobber] "i" (1): "memory",
 6288                         "cc");*/
 6289#line 853
 6290    __cil_tmp19 = (unsigned long long )__eax;
 6291#line 853
 6292    __cil_tmp20 = (u64 )__edx;
 6293#line 853
 6294    __cil_tmp21 = __cil_tmp20 << 32;
 6295#line 853
 6296    __cil_tmp22 = __cil_tmp21 | __cil_tmp19;
 6297#line 853
 6298    __ret = (unsigned long )__cil_tmp22;
 6299  } else {
 6300#line 853
 6301    __cil_tmp23 = (struct paravirt_patch_template *)0;
 6302#line 853
 6303    __cil_tmp24 = & __cil_tmp23->pv_irq_ops.save_fl.func;
 6304#line 853
 6305    __cil_tmp25 = (unsigned int )__cil_tmp24;
 6306#line 853
 6307    __cil_tmp26 = (unsigned long )__cil_tmp25;
 6308#line 853
 6309/*    __asm__  volatile   (""
 6310                         "771:\n\t"
 6311                         "call *%c[paravirt_opptr];"
 6312                         "\n"
 6313                         "772:\n"
 6314                         ".pushsection .parainstructions,\"a\"\n"
 6315                         " "
 6316                         ".balign 8"
 6317                         " "
 6318                         "\n"
 6319                         " "
 6320                         ".quad"
 6321                         " "
 6322                         " 771b\n"
 6323                         "  .byte "
 6324                         "%c[paravirt_typenum]"
 6325                         "\n"
 6326                         "  .byte 772b-771b\n"
 6327                         "  .short "
 6328                         "%c[paravirt_clobber]"
 6329                         "\n"
 6330                         ".popsection\n"
 6331                         "": "=a" (__eax): [paravirt_typenum] "i" (__cil_tmp26 / 8UL),
 6332                         [paravirt_opptr] "i" (& pv_irq_ops.save_fl.func), [paravirt_clobber] "i" (1): "memory",
 6333                         "cc");*/
 6334#line 853
 6335    __ret = __eax;
 6336  }
 6337#line 853
 6338  return (__ret);
 6339}
 6340}
 6341#line 856
 6342__inline static void arch_local_irq_restore(unsigned long f )  __attribute__((__no_instrument_function__)) ;
 6343#line 856
 6344__inline static void arch_local_irq_restore(unsigned long f )  __attribute__((__no_instrument_function__)) ;
 6345#line 856 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
 6346__inline static void arch_local_irq_restore(unsigned long f ) 
 6347{ unsigned long __edi ;
 6348  unsigned long __esi ;
 6349  unsigned long __edx ;
 6350  unsigned long __ecx ;
 6351  unsigned long __eax ;
 6352  long tmp ;
 6353  void *__cil_tmp8 ;
 6354  unsigned long __cil_tmp9 ;
 6355  unsigned long __cil_tmp10 ;
 6356  int __cil_tmp11 ;
 6357  int __cil_tmp12 ;
 6358  int __cil_tmp13 ;
 6359  long __cil_tmp14 ;
 6360  struct paravirt_patch_template *__cil_tmp15 ;
 6361  void **__cil_tmp16 ;
 6362  unsigned int __cil_tmp17 ;
 6363  unsigned long __cil_tmp18 ;
 6364
 6365  {
 6366#line 858
 6367  __edi = __edi;
 6368#line 858
 6369  __esi = __esi;
 6370#line 858
 6371  __edx = __edx;
 6372#line 858
 6373  __ecx = __ecx;
 6374#line 858
 6375  __eax = __eax;
 6376  {
 6377#line 858
 6378  while (1) {
 6379    while_continue: /* CIL Label */ ;
 6380    {
 6381#line 858
 6382    __cil_tmp8 = (void *)0;
 6383#line 858
 6384    __cil_tmp9 = (unsigned long )__cil_tmp8;
 6385#line 858
 6386    __cil_tmp10 = (unsigned long )pv_irq_ops.restore_fl.func;
 6387#line 858
 6388    __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
 6389#line 858
 6390    __cil_tmp12 = ! __cil_tmp11;
 6391#line 858
 6392    __cil_tmp13 = ! __cil_tmp12;
 6393#line 858
 6394    __cil_tmp14 = (long )__cil_tmp13;
 6395#line 858
 6396    tmp = __builtin_expect(__cil_tmp14, 0L);
 6397    }
 6398#line 858
 6399    if (tmp) {
 6400      {
 6401#line 858
 6402      while (1) {
 6403        while_continue___0: /* CIL Label */ ;
 6404#line 858
 6405        __asm__  volatile   ("1:\tud2\n"
 6406                             ".pushsection __bug_table,\"a\"\n"
 6407                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 6408                             "\t.word %c1, 0\n"
 6409                             "\t.org 2b+%c2\n"
 6410                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
 6411                             "i" (858), "i" (12UL));
 6412        {
 6413#line 858
 6414        while (1) {
 6415          while_continue___1: /* CIL Label */ ;
 6416
 6417        }
 6418        while_break___3: /* CIL Label */ ;
 6419        }
 6420
 6421#line 858
 6422        goto while_break___0;
 6423      }
 6424      while_break___2: /* CIL Label */ ;
 6425      }
 6426
 6427      while_break___0: ;
 6428    } else {
 6429
 6430    }
 6431#line 858
 6432    goto while_break;
 6433  }
 6434  while_break___1: /* CIL Label */ ;
 6435  }
 6436
 6437  while_break: 
 6438#line 858
 6439  __cil_tmp15 = (struct paravirt_patch_template *)0;
 6440#line 858
 6441  __cil_tmp16 = & __cil_tmp15->pv_irq_ops.restore_fl.func;
 6442#line 858
 6443  __cil_tmp17 = (unsigned int )__cil_tmp16;
 6444#line 858
 6445  __cil_tmp18 = (unsigned long )__cil_tmp17;
 6446#line 858
 6447/*  __asm__  volatile   (""
 6448                       "771:\n\t"
 6449                       "call *%c[paravirt_opptr];"
 6450                       "\n"
 6451                       "772:\n"
 6452                       ".pushsection .parainstructions,\"a\"\n"
 6453                       " "
 6454                       ".balign 8"
 6455                       " "
 6456                       "\n"
 6457                       " "
 6458                       ".quad"
 6459                       " "
 6460                       " 771b\n"
 6461                       "  .byte "
 6462                       "%c[paravirt_typenum]"
 6463                       "\n"
 6464                       "  .byte 772b-771b\n"
 6465                       "  .short "
 6466                       "%c[paravirt_clobber]"
 6467                       "\n"
 6468                       ".popsection\n"
 6469                       "": "=a" (__eax): [paravirt_typenum] "i" (__cil_tmp18 / 8UL),
 6470                       [paravirt_opptr] "i" (& pv_irq_ops.restore_fl.func), [paravirt_clobber] "i" (1),
 6471                       "D" (f): "memory", "cc");*/
 6472#line 859
 6473  return;
 6474}
 6475}
 6476#line 861
 6477__inline static void arch_local_irq_disable(void)  __attribute__((__no_instrument_function__)) ;
 6478#line 861
 6479__inline static void arch_local_irq_disable(void)  __attribute__((__no_instrument_function__)) ;
 6480#line 861 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
 6481__inline static void arch_local_irq_disable(void) 
 6482{ unsigned long __edi ;
 6483  unsigned long __esi ;
 6484  unsigned long __edx ;
 6485  unsigned long __ecx ;
 6486  unsigned long __eax ;
 6487  long tmp ;
 6488  void *__cil_tmp7 ;
 6489  unsigned long __cil_tmp8 ;
 6490  unsigned long __cil_tmp9 ;
 6491  int __cil_tmp10 ;
 6492  int __cil_tmp11 ;
 6493  int __cil_tmp12 ;
 6494  long __cil_tmp13 ;
 6495  struct paravirt_patch_template *__cil_tmp14 ;
 6496  void **__cil_tmp15 ;
 6497  unsigned int __cil_tmp16 ;
 6498  unsigned long __cil_tmp17 ;
 6499
 6500  {
 6501#line 863
 6502  __edi = __edi;
 6503#line 863
 6504  __esi = __esi;
 6505#line 863
 6506  __edx = __edx;
 6507#line 863
 6508  __ecx = __ecx;
 6509#line 863
 6510  __eax = __eax;
 6511  {
 6512#line 863
 6513  while (1) {
 6514    while_continue: /* CIL Label */ ;
 6515    {
 6516#line 863
 6517    __cil_tmp7 = (void *)0;
 6518#line 863
 6519    __cil_tmp8 = (unsigned long )__cil_tmp7;
 6520#line 863
 6521    __cil_tmp9 = (unsigned long )pv_irq_ops.irq_disable.func;
 6522#line 863
 6523    __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
 6524#line 863
 6525    __cil_tmp11 = ! __cil_tmp10;
 6526#line 863
 6527    __cil_tmp12 = ! __cil_tmp11;
 6528#line 863
 6529    __cil_tmp13 = (long )__cil_tmp12;
 6530#line 863
 6531    tmp = __builtin_expect(__cil_tmp13, 0L);
 6532    }
 6533#line 863
 6534    if (tmp) {
 6535      {
 6536#line 863
 6537      while (1) {
 6538        while_continue___0: /* CIL Label */ ;
 6539#line 863
 6540        __asm__  volatile   ("1:\tud2\n"
 6541                             ".pushsection __bug_table,\"a\"\n"
 6542                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 6543                             "\t.word %c1, 0\n"
 6544                             "\t.org 2b+%c2\n"
 6545                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
 6546                             "i" (863), "i" (12UL));
 6547        {
 6548#line 863
 6549        while (1) {
 6550          while_continue___1: /* CIL Label */ ;
 6551
 6552        }
 6553        while_break___3: /* CIL Label */ ;
 6554        }
 6555
 6556#line 863
 6557        goto while_break___0;
 6558      }
 6559      while_break___2: /* CIL Label */ ;
 6560      }
 6561
 6562      while_break___0: ;
 6563    } else {
 6564
 6565    }
 6566#line 863
 6567    goto while_break;
 6568  }
 6569  while_break___1: /* CIL Label */ ;
 6570  }
 6571
 6572  while_break: 
 6573#line 863
 6574  __cil_tmp14 = (struct paravirt_patch_template *)0;
 6575#line 863
 6576  __cil_tmp15 = & __cil_tmp14->pv_irq_ops.irq_disable.func;
 6577#line 863
 6578  __cil_tmp16 = (unsigned int )__cil_tmp15;
 6579#line 863
 6580  __cil_tmp17 = (unsigned long )__cil_tmp16;
 6581#line 863
 6582/*  __asm__  volatile   (""
 6583                       "771:\n\t"
 6584                       "call *%c[paravirt_opptr];"
 6585                       "\n"
 6586                       "772:\n"
 6587                       ".pushsection .parainstructions,\"a\"\n"
 6588                       " "
 6589                       ".balign 8"
 6590                       " "
 6591                       "\n"
 6592                       " "
 6593                       ".quad"
 6594                       " "
 6595                       " 771b\n"
 6596                       "  .byte "
 6597                       "%c[paravirt_typenum]"
 6598                       "\n"
 6599                       "  .byte 772b-771b\n"
 6600                       "  .short "
 6601                       "%c[paravirt_clobber]"
 6602                       "\n"
 6603                       ".popsection\n"
 6604                       "": "=a" (__eax): [paravirt_typenum] "i" (__cil_tmp17 / 8UL),
 6605                       [paravirt_opptr] "i" (& pv_irq_ops.irq_disable.func), [paravirt_clobber] "i" (1): "memory",
 6606                       "cc");*/
 6607#line 864
 6608  return;
 6609}
 6610}
 6611#line 871
 6612__inline static unsigned long arch_local_irq_save(void)  __attribute__((__no_instrument_function__)) ;
 6613#line 871
 6614__inline static unsigned long arch_local_irq_save(void)  __attribute__((__no_instrument_function__)) ;
 6615#line 871 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
 6616__inline static unsigned long arch_local_irq_save(void) 
 6617{ unsigned long f ;
 6618
 6619  {
 6620  {
 6621#line 875
 6622  f = arch_local_save_flags();
 6623#line 876
 6624  arch_local_irq_disable();
 6625  }
 6626#line 877
 6627  return (f);
 6628}
 6629}
 6630#line 154 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/irqflags.h"
 6631__inline static int arch_irqs_disabled_flags(unsigned long flags ) 
 6632{ unsigned long __cil_tmp2 ;
 6633
 6634  {
 6635  {
 6636#line 156
 6637  __cil_tmp2 = flags & 512UL;
 6638#line 156
 6639  return (! __cil_tmp2);
 6640  }
 6641}
 6642}
 6643#line 20 "include/linux/irqflags.h"
 6644extern void trace_hardirqs_on(void) ;
 6645#line 21
 6646extern void trace_hardirqs_off(void) ;
 6647#line 29 "include/linux/spinlock_api_smp.h"
 6648extern void _raw_spin_lock_irq(raw_spinlock_t *lock )  __attribute__((__section__(".spinlock.text"))) ;
 6649#line 32
 6650extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t *lock )  __attribute__((__section__(".spinlock.text"))) ;
 6651#line 41
 6652extern void _raw_spin_unlock_irq(raw_spinlock_t *lock )  __attribute__((__section__(".spinlock.text"))) ;
 6653#line 42
 6654extern void _raw_spin_unlock_irqrestore(raw_spinlock_t *lock , unsigned long flags )  __attribute__((__section__(".spinlock.text"))) ;
 6655#line 272 "include/linux/spinlock.h"
 6656__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
 6657{ 
 6658
 6659  {
 6660#line 274
 6661  return (& lock->__annonCompField18.rlock);
 6662}
 6663}
 6664#line 308 "include/linux/spinlock.h"
 6665__inline static void spin_lock_irq(spinlock_t *lock ) 
 6666{ struct raw_spinlock *__cil_tmp2 ;
 6667
 6668  {
 6669  {
 6670#line 310
 6671  __cil_tmp2 = & lock->__annonCompField18.rlock;
 6672#line 310
 6673  _raw_spin_lock_irq(__cil_tmp2);
 6674  }
 6675#line 311
 6676  return;
 6677}
 6678}
 6679#line 333 "include/linux/spinlock.h"
 6680__inline static void spin_unlock_irq(spinlock_t *lock ) 
 6681{ struct raw_spinlock *__cil_tmp2 ;
 6682
 6683  {
 6684  {
 6685#line 335
 6686  __cil_tmp2 = & lock->__annonCompField18.rlock;
 6687#line 335
 6688  _raw_spin_unlock_irq(__cil_tmp2);
 6689  }
 6690#line 336
 6691  return;
 6692}
 6693}
 6694#line 338 "include/linux/spinlock.h"
 6695__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) 
 6696{ struct raw_spinlock *__cil_tmp3 ;
 6697
 6698  {
 6699  {
 6700#line 340
 6701  while (1) {
 6702    while_continue: /* CIL Label */ ;
 6703    {
 6704#line 340
 6705    __cil_tmp3 = & lock->__annonCompField18.rlock;
 6706#line 340
 6707    _raw_spin_unlock_irqrestore(__cil_tmp3, flags);
 6708    }
 6709#line 340
 6710    goto while_break;
 6711  }
 6712  while_break___0: /* CIL Label */ ;
 6713  }
 6714
 6715  while_break: ;
 6716#line 341
 6717  return;
 6718}
 6719}
 6720#line 113 "include/linux/ioport.h"
 6721extern struct resource ioport_resource ;
 6722#line 156
 6723extern struct resource *__request_region(struct resource * , resource_size_t start ,
 6724                                         resource_size_t n , char const   *name ,
 6725                                         int flags ) ;
 6726#line 167
 6727extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
 6728#line 82 "include/linux/jiffies.h"
 6729extern unsigned long volatile   jiffies  __attribute__((__section__(".data"))) ;
 6730#line 91 "include/linux/timer.h"
 6731extern void init_timer_key(struct timer_list *timer , char const   *name , struct lock_class_key *key ) ;
 6732#line 204 "include/linux/timer.h"
 6733__inline static int timer_pending(struct timer_list  const  *timer ) 
 6734{ void *__cil_tmp2 ;
 6735  unsigned long __cil_tmp3 ;
 6736  struct list_head *__cil_tmp4 ;
 6737  unsigned long __cil_tmp5 ;
 6738
 6739  {
 6740  {
 6741#line 206
 6742  __cil_tmp2 = (void *)0;
 6743#line 206
 6744  __cil_tmp3 = (unsigned long )__cil_tmp2;
 6745#line 206
 6746  __cil_tmp4 = timer->entry.next;
 6747#line 206
 6748  __cil_tmp5 = (unsigned long )__cil_tmp4;
 6749#line 206
 6750  return (__cil_tmp5 != __cil_tmp3);
 6751  }
 6752}
 6753}
 6754#line 210
 6755extern int del_timer(struct timer_list *timer ) ;
 6756#line 275
 6757extern void add_timer(struct timer_list *timer ) ;
 6758#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6759__inline static void outb(unsigned char value , int port ) 
 6760{ 
 6761
 6762  {
 6763#line 310
 6764  __asm__  volatile   ("out"
 6765                       "b"
 6766                       " %"
 6767                       "b"
 6768                       "0, %w1": : "a" (value), "Nd" (port));
 6769#line 310
 6770  return;
 6771}
 6772}
 6773#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6774__inline static unsigned char inb(int port ) 
 6775{ unsigned char value ;
 6776
 6777  {
 6778#line 310
 6779  __asm__  volatile   ("in"
 6780                       "b"
 6781                       " %w1, %"
 6782                       "b"
 6783                       "0": "=a" (value): "Nd" (port));
 6784#line 310
 6785  return (value);
 6786}
 6787}
 6788#line 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6789__inline static void outw(unsigned short value , int port ) 
 6790{ 
 6791
 6792  {
 6793#line 311
 6794  __asm__  volatile   ("out"
 6795                       "w"
 6796                       " %"
 6797                       "w"
 6798                       "0, %w1": : "a" (value), "Nd" (port));
 6799#line 311
 6800  return;
 6801}
 6802}
 6803#line 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6804__inline static unsigned short inw(int port ) 
 6805{ unsigned short value ;
 6806
 6807  {
 6808#line 311
 6809  __asm__  volatile   ("in"
 6810                       "w"
 6811                       " %w1, %"
 6812                       "w"
 6813                       "0": "=a" (value): "Nd" (port));
 6814#line 311
 6815  return (value);
 6816}
 6817}
 6818#line 312 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6819__inline static void outl(unsigned int value , int port ) 
 6820{ 
 6821
 6822  {
 6823#line 312
 6824  __asm__  volatile   ("out"
 6825                       "l"
 6826                       " %"
 6827                       ""
 6828                       "0, %w1": : "a" (value), "Nd" (port));
 6829#line 312
 6830  return;
 6831}
 6832}
 6833#line 312 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6834__inline static unsigned int inl(int port ) 
 6835{ unsigned int value ;
 6836
 6837  {
 6838#line 312
 6839  __asm__  volatile   ("in"
 6840                       "l"
 6841                       " %w1, %"
 6842                       ""
 6843                       "0": "=a" (value): "Nd" (port));
 6844#line 312
 6845  return (value);
 6846}
 6847}
 6848#line 830 "include/linux/rcupdate.h"
 6849extern void kfree(void const   * ) ;
 6850#line 303 "include/linux/moduleparam.h"
 6851extern struct kernel_param_ops param_ops_int ;
 6852#line 329
 6853extern struct kernel_param_ops param_ops_bool ;
 6854#line 79 "include/linux/module.h"
 6855int init_module(void) ;
 6856#line 80
 6857void cleanup_module(void) ;
 6858#line 99
 6859extern struct module __this_module ;
 6860#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/delay.h"
 6861extern void __const_udelay(unsigned long xloops ) ;
 6862#line 221 "include/linux/slub_def.h"
 6863extern void *__kmalloc(size_t size , gfp_t flags ) ;
 6864#line 255 "include/linux/slub_def.h"
 6865__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
 6866                                                                    gfp_t flags ) 
 6867{ void *tmp___10 ;
 6868
 6869  {
 6870  {
 6871#line 270
 6872  tmp___10 = __kmalloc(size, flags);
 6873  }
 6874#line 270
 6875  return (tmp___10);
 6876}
 6877}
 6878#line 705 "include/linux/device.h"
 6879extern void *dev_get_drvdata(struct device  const  *dev )  __attribute__((__ldv_model__)) ;
 6880#line 706
 6881extern int dev_set_drvdata(struct device *dev , void *data ) ;
 6882#line 123 "include/linux/interrupt.h"
 6883extern int __attribute__((__warn_unused_result__))  request_threaded_irq(unsigned int irq ,
 6884                                                                         irqreturn_t (*handler)(int  ,
 6885                                                                                                void * ) ,
 6886                                                                         irqreturn_t (*thread_fn)(int  ,
 6887                                                                                                  void * ) ,
 6888                                                                         unsigned long flags ,
 6889                                                                         char const   *name ,
 6890                                                                         void *dev ) ;
 6891#line 128 "include/linux/interrupt.h"
 6892__inline static int __attribute__((__warn_unused_result__))  request_irq(unsigned int irq ,
 6893                                                                         irqreturn_t (*handler)(int  ,
 6894                                                                                                void * ) ,
 6895                                                                         unsigned long flags ,
 6896                                                                         char const   *name ,
 6897                                                                         void *dev ) 
 6898{ int tmp___7 ;
 6899  int tmp ;
 6900  int tmp___8 ;
 6901  void *__cil_tmp9 ;
 6902  irqreturn_t (*__cil_tmp10)(int  , void * ) ;
 6903
 6904  {
 6905  {
 6906#line 132
 6907  __cil_tmp9 = (void *)0;
 6908#line 132
 6909  __cil_tmp10 = (irqreturn_t (*)(int  , void * ))__cil_tmp9;
 6910#line 132
 6911  tmp___8 = (int )request_threaded_irq(irq, handler, __cil_tmp10, flags, name, dev);
 6912#line 132
 6913  tmp = tmp___8;
 6914#line 132
 6915  tmp___7 = tmp;
 6916  }
 6917#line 132
 6918  return (tmp___7);
 6919}
 6920}
 6921#line 170
 6922extern void free_irq(unsigned int  , void * ) ;
 6923#line 725 "include/linux/pci.h"
 6924extern int pci_bus_read_config_word(struct pci_bus *bus , unsigned int devfn , int where ,
 6925                                    u16 *val ) ;
 6926#line 741 "include/linux/pci.h"
 6927__inline static int pci_read_config_word(struct pci_dev *dev , int where , u16 *val ) 
 6928{ int tmp___7 ;
 6929  struct pci_bus *__cil_tmp5 ;
 6930  unsigned int __cil_tmp6 ;
 6931
 6932  {
 6933  {
 6934#line 743
 6935  __cil_tmp5 = dev->bus;
 6936#line 743
 6937  __cil_tmp6 = dev->devfn;
 6938#line 743
 6939  tmp___7 = pci_bus_read_config_word(__cil_tmp5, __cil_tmp6, where, val);
 6940  }
 6941#line 743
 6942  return (tmp___7);
 6943}
 6944}
 6945#line 764
 6946extern int __attribute__((__warn_unused_result__))  pci_enable_device(struct pci_dev *dev ) ;
 6947#line 781
 6948extern void pci_disable_device(struct pci_dev *dev ) ;
 6949#line 782
 6950extern void pci_set_master(struct pci_dev *dev ) ;
 6951#line 916
 6952extern int __attribute__((__warn_unused_result__))  __pci_register_driver(struct pci_driver * ,
 6953                                                                          struct module * ,
 6954                                                                          char const   *mod_name ) ;
 6955#line 925
 6956extern void pci_unregister_driver(struct pci_driver *dev ) ;
 6957#line 202 "include/linux/scatterlist.h"
 6958extern struct scatterlist *sg_next(struct scatterlist * ) ;
 6959#line 80 "include/linux/dma-mapping.h"
 6960__inline static int valid_dma_direction(int dma_direction ) 
 6961{ int tmp___7 ;
 6962
 6963  {
 6964#line 82
 6965  if (dma_direction == 0) {
 6966#line 82
 6967    tmp___7 = 1;
 6968  } else
 6969#line 82
 6970  if (dma_direction == 1) {
 6971#line 82
 6972    tmp___7 = 1;
 6973  } else
 6974#line 82
 6975  if (dma_direction == 2) {
 6976#line 82
 6977    tmp___7 = 1;
 6978  } else {
 6979#line 82
 6980    tmp___7 = 0;
 6981  }
 6982#line 82
 6983  return (tmp___7);
 6984}
 6985}
 6986#line 131 "include/linux/kmemcheck.h"
 6987__inline static void kmemcheck_mark_initialized(void *address , unsigned int n ) 
 6988{ 
 6989
 6990  {
 6991#line 133
 6992  return;
 6993}
 6994}
 6995#line 37 "include/linux/dma-debug.h"
 6996extern void debug_dma_map_page(struct device *dev , struct page *page , size_t offset ,
 6997                               size_t size , int direction , dma_addr_t dma_addr ,
 6998                               bool map_single ) ;
 6999#line 42
 7000extern void debug_dma_unmap_page(struct device *dev , dma_addr_t addr , size_t size ,
 7001                                 int direction , bool map_single ) ;
 7002#line 61
 7003extern void debug_dma_sync_single_for_device(struct device *dev , dma_addr_t dma_handle ,
 7004                                             size_t size , int direction ) ;
 7005#line 76
 7006extern void debug_dma_sync_sg_for_cpu(struct device *dev , struct scatterlist *sg ,
 7007                                      int nelems , int direction ) ;
 7008#line 29 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7009extern struct dma_map_ops *dma_ops ;
 7010#line 31 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7011__inline static struct dma_map_ops *get_dma_ops(struct device *dev ) 
 7012{ long tmp___7 ;
 7013  int __cil_tmp3 ;
 7014  int __cil_tmp4 ;
 7015  int __cil_tmp5 ;
 7016  long __cil_tmp6 ;
 7017  struct dma_map_ops *__cil_tmp7 ;
 7018
 7019  {
 7020  {
 7021#line 36
 7022  __cil_tmp3 = ! dev;
 7023#line 36
 7024  __cil_tmp4 = ! __cil_tmp3;
 7025#line 36
 7026  __cil_tmp5 = ! __cil_tmp4;
 7027#line 36
 7028  __cil_tmp6 = (long )__cil_tmp5;
 7029#line 36
 7030  tmp___7 = __builtin_expect(__cil_tmp6, 0L);
 7031  }
 7032#line 36
 7033  if (tmp___7) {
 7034#line 37
 7035    return (dma_ops);
 7036  } else {
 7037    {
 7038#line 36
 7039    __cil_tmp7 = dev->archdata.dma_ops;
 7040#line 36
 7041    if (! __cil_tmp7) {
 7042#line 37
 7043      return (dma_ops);
 7044    } else {
 7045#line 39
 7046      return (dev->archdata.dma_ops);
 7047    }
 7048    }
 7049  }
 7050}
 7051}
 7052#line 9 "include/asm-generic/dma-mapping-common.h"
 7053__inline static dma_addr_t dma_map_single_attrs(struct device *dev , void *ptr , size_t size ,
 7054                                                enum dma_data_direction dir , struct dma_attrs *attrs ) 
 7055{ struct dma_map_ops *ops ;
 7056  struct dma_map_ops *tmp___7 ;
 7057  dma_addr_t addr ;
 7058  int tmp___8 ;
 7059  int tmp___9 ;
 7060  long tmp___10 ;
 7061  unsigned long tmp___11 ;
 7062  unsigned long tmp___12 ;
 7063  unsigned int __cil_tmp14 ;
 7064  int __cil_tmp15 ;
 7065  long __cil_tmp16 ;
 7066  unsigned long __cil_tmp17 ;
 7067  dma_addr_t (*__cil_tmp18)(struct device *dev , struct page *page , unsigned long offset ,
 7068                            size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
 7069  unsigned long __cil_tmp19 ;
 7070  struct page *__cil_tmp20 ;
 7071  struct page *__cil_tmp21 ;
 7072  unsigned long __cil_tmp22 ;
 7073  unsigned long __cil_tmp23 ;
 7074  unsigned long __cil_tmp24 ;
 7075  unsigned long __cil_tmp25 ;
 7076  unsigned long __cil_tmp26 ;
 7077  unsigned long __cil_tmp27 ;
 7078  unsigned long __cil_tmp28 ;
 7079  unsigned long __cil_tmp29 ;
 7080  struct page *__cil_tmp30 ;
 7081  struct page *__cil_tmp31 ;
 7082  unsigned long __cil_tmp32 ;
 7083  unsigned long __cil_tmp33 ;
 7084  unsigned long __cil_tmp34 ;
 7085  unsigned long __cil_tmp35 ;
 7086  unsigned long __cil_tmp36 ;
 7087  unsigned long __cil_tmp37 ;
 7088  int __cil_tmp38 ;
 7089  bool __cil_tmp39 ;
 7090
 7091  {
 7092  {
 7093#line 14
 7094  tmp___7 = get_dma_ops(dev);
 7095#line 14
 7096  ops = tmp___7;
 7097#line 17
 7098  __cil_tmp14 = (unsigned int )size;
 7099#line 17
 7100  kmemcheck_mark_initialized(ptr, __cil_tmp14);
 7101  }
 7102  {
 7103#line 18
 7104  while (1) {
 7105    while_continue: /* CIL Label */ ;
 7106    {
 7107#line 18
 7108    __cil_tmp15 = (int )dir;
 7109#line 18
 7110    tmp___8 = valid_dma_direction(__cil_tmp15);
 7111    }
 7112#line 18
 7113    if (tmp___8) {
 7114#line 18
 7115      tmp___9 = 0;
 7116    } else {
 7117#line 18
 7118      tmp___9 = 1;
 7119    }
 7120    {
 7121#line 18
 7122    __cil_tmp16 = (long )tmp___9;
 7123#line 18
 7124    tmp___10 = __builtin_expect(__cil_tmp16, 0L);
 7125    }
 7126#line 18
 7127    if (tmp___10) {
 7128      {
 7129#line 18
 7130      while (1) {
 7131        while_continue___0: /* CIL Label */ ;
 7132#line 18
 7133        __asm__  volatile   ("1:\tud2\n"
 7134                             ".pushsection __bug_table,\"a\"\n"
 7135                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 7136                             "\t.word %c1, 0\n"
 7137                             "\t.org 2b+%c2\n"
 7138                             ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
 7139                             "i" (18), "i" (12UL));
 7140        {
 7141#line 18
 7142        while (1) {
 7143          while_continue___1: /* CIL Label */ ;
 7144
 7145        }
 7146        while_break___3: /* CIL Label */ ;
 7147        }
 7148
 7149#line 18
 7150        goto while_break___0;
 7151      }
 7152      while_break___2: /* CIL Label */ ;
 7153      }
 7154
 7155      while_break___0: ;
 7156    } else {
 7157
 7158    }
 7159#line 18
 7160    goto while_break;
 7161  }
 7162  while_break___1: /* CIL Label */ ;
 7163  }
 7164
 7165  while_break: 
 7166  {
 7167#line 19
 7168  __cil_tmp17 = (unsigned long )ptr;
 7169#line 19
 7170  tmp___11 = __phys_addr(__cil_tmp17);
 7171#line 19
 7172  __cil_tmp18 = ops->map_page;
 7173#line 19
 7174  __cil_tmp19 = tmp___11 >> 12;
 7175#line 19
 7176  __cil_tmp20 = (struct page *)1152897315351035904UL;
 7177#line 19
 7178  __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
 7179#line 19
 7180  __cil_tmp22 = 1UL << 12;
 7181#line 19
 7182  __cil_tmp23 = __cil_tmp22 - 1UL;
 7183#line 19
 7184  __cil_tmp24 = ~ __cil_tmp23;
 7185#line 19
 7186  __cil_tmp25 = ~ __cil_tmp24;
 7187#line 19
 7188  __cil_tmp26 = (unsigned long )ptr;
 7189#line 19
 7190  __cil_tmp27 = __cil_tmp26 & __cil_tmp25;
 7191#line 19
 7192  addr = (*__cil_tmp18)(dev, __cil_tmp21, __cil_tmp27, size, dir, attrs);
 7193#line 22
 7194  __cil_tmp28 = (unsigned long )ptr;
 7195#line 22
 7196  tmp___12 = __phys_addr(__cil_tmp28);
 7197#line 22
 7198  __cil_tmp29 = tmp___12 >> 12;
 7199#line 22
 7200  __cil_tmp30 = (struct page *)1152897315351035904UL;
 7201#line 22
 7202  __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
 7203#line 22
 7204  __cil_tmp32 = 1UL << 12;
 7205#line 22
 7206  __cil_tmp33 = __cil_tmp32 - 1UL;
 7207#line 22
 7208  __cil_tmp34 = ~ __cil_tmp33;
 7209#line 22
 7210  __cil_tmp35 = ~ __cil_tmp34;
 7211#line 22
 7212  __cil_tmp36 = (unsigned long )ptr;
 7213#line 22
 7214  __cil_tmp37 = __cil_tmp36 & __cil_tmp35;
 7215#line 22
 7216  __cil_tmp38 = (int )dir;
 7217#line 22
 7218  __cil_tmp39 = (bool )1;
 7219#line 22
 7220  debug_dma_map_page(dev, __cil_tmp31, __cil_tmp37, size, __cil_tmp38, addr, __cil_tmp39);
 7221  }
 7222#line 25
 7223  return (addr);
 7224}
 7225}
 7226#line 28 "include/asm-generic/dma-mapping-common.h"
 7227__inline static void dma_unmap_single_attrs(struct device *dev , dma_addr_t addr ,
 7228                                            size_t size , enum dma_data_direction dir ,
 7229                                            struct dma_attrs *attrs ) 
 7230{ struct dma_map_ops *ops ;
 7231  struct dma_map_ops *tmp___7 ;
 7232  int tmp___8 ;
 7233  int tmp___9 ;
 7234  long tmp___10 ;
 7235  int __cil_tmp11 ;
 7236  long __cil_tmp12 ;
 7237  void (*__cil_tmp13)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
 7238                      struct dma_attrs *attrs ) ;
 7239  int __cil_tmp14 ;
 7240  bool __cil_tmp15 ;
 7241
 7242  {
 7243  {
 7244#line 33
 7245  tmp___7 = get_dma_ops(dev);
 7246#line 33
 7247  ops = tmp___7;
 7248  }
 7249  {
 7250#line 35
 7251  while (1) {
 7252    while_continue: /* CIL Label */ ;
 7253    {
 7254#line 35
 7255    __cil_tmp11 = (int )dir;
 7256#line 35
 7257    tmp___8 = valid_dma_direction(__cil_tmp11);
 7258    }
 7259#line 35
 7260    if (tmp___8) {
 7261#line 35
 7262      tmp___9 = 0;
 7263    } else {
 7264#line 35
 7265      tmp___9 = 1;
 7266    }
 7267    {
 7268#line 35
 7269    __cil_tmp12 = (long )tmp___9;
 7270#line 35
 7271    tmp___10 = __builtin_expect(__cil_tmp12, 0L);
 7272    }
 7273#line 35
 7274    if (tmp___10) {
 7275      {
 7276#line 35
 7277      while (1) {
 7278        while_continue___0: /* CIL Label */ ;
 7279#line 35
 7280        __asm__  volatile   ("1:\tud2\n"
 7281                             ".pushsection __bug_table,\"a\"\n"
 7282                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 7283                             "\t.word %c1, 0\n"
 7284                             "\t.org 2b+%c2\n"
 7285                             ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
 7286                             "i" (35), "i" (12UL));
 7287        {
 7288#line 35
 7289        while (1) {
 7290          while_continue___1: /* CIL Label */ ;
 7291
 7292        }
 7293        while_break___3: /* CIL Label */ ;
 7294        }
 7295
 7296#line 35
 7297        goto while_break___0;
 7298      }
 7299      while_break___2: /* CIL Label */ ;
 7300      }
 7301
 7302      while_break___0: ;
 7303    } else {
 7304
 7305    }
 7306#line 35
 7307    goto while_break;
 7308  }
 7309  while_break___1: /* CIL Label */ ;
 7310  }
 7311
 7312  while_break: ;
 7313#line 36
 7314  if (ops->unmap_page) {
 7315    {
 7316#line 37
 7317    __cil_tmp13 = ops->unmap_page;
 7318#line 37
 7319    (*__cil_tmp13)(dev, addr, size, dir, attrs);
 7320    }
 7321  } else {
 7322
 7323  }
 7324  {
 7325#line 38
 7326  __cil_tmp14 = (int )dir;
 7327#line 38
 7328  __cil_tmp15 = (bool )1;
 7329#line 38
 7330  debug_dma_unmap_page(dev, addr, size, __cil_tmp14, __cil_tmp15);
 7331  }
 7332#line 39
 7333  return;
 7334}
 7335}
 7336#line 108 "include/asm-generic/dma-mapping-common.h"
 7337__inline static void dma_sync_single_for_device(struct device *dev , dma_addr_t addr ,
 7338                                                size_t size , enum dma_data_direction dir ) 
 7339{ struct dma_map_ops *ops ;
 7340  struct dma_map_ops *tmp___7 ;
 7341  int tmp___8 ;
 7342  int tmp___9 ;
 7343  long tmp___10 ;
 7344  int __cil_tmp10 ;
 7345  long __cil_tmp11 ;
 7346  void (*__cil_tmp12)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ) ;
 7347  int __cil_tmp13 ;
 7348
 7349  {
 7350  {
 7351#line 112
 7352  tmp___7 = get_dma_ops(dev);
 7353#line 112
 7354  ops = tmp___7;
 7355  }
 7356  {
 7357#line 114
 7358  while (1) {
 7359    while_continue: /* CIL Label */ ;
 7360    {
 7361#line 114
 7362    __cil_tmp10 = (int )dir;
 7363#line 114
 7364    tmp___8 = valid_dma_direction(__cil_tmp10);
 7365    }
 7366#line 114
 7367    if (tmp___8) {
 7368#line 114
 7369      tmp___9 = 0;
 7370    } else {
 7371#line 114
 7372      tmp___9 = 1;
 7373    }
 7374    {
 7375#line 114
 7376    __cil_tmp11 = (long )tmp___9;
 7377#line 114
 7378    tmp___10 = __builtin_expect(__cil_tmp11, 0L);
 7379    }
 7380#line 114
 7381    if (tmp___10) {
 7382      {
 7383#line 114
 7384      while (1) {
 7385        while_continue___0: /* CIL Label */ ;
 7386#line 114
 7387        __asm__  volatile   ("1:\tud2\n"
 7388                             ".pushsection __bug_table,\"a\"\n"
 7389                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 7390                             "\t.word %c1, 0\n"
 7391                             "\t.org 2b+%c2\n"
 7392                             ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
 7393                             "i" (114), "i" (12UL));
 7394        {
 7395#line 114
 7396        while (1) {
 7397          while_continue___1: /* CIL Label */ ;
 7398
 7399        }
 7400        while_break___3: /* CIL Label */ ;
 7401        }
 7402
 7403#line 114
 7404        goto while_break___0;
 7405      }
 7406      while_break___2: /* CIL Label */ ;
 7407      }
 7408
 7409      while_break___0: ;
 7410    } else {
 7411
 7412    }
 7413#line 114
 7414    goto while_break;
 7415  }
 7416  while_break___1: /* CIL Label */ ;
 7417  }
 7418
 7419  while_break: ;
 7420#line 115
 7421  if (ops->sync_single_for_device) {
 7422    {
 7423#line 116
 7424    __cil_tmp12 = ops->sync_single_for_device;
 7425#line 116
 7426    (*__cil_tmp12)(dev, addr, size, dir);
 7427    }
 7428  } else {
 7429
 7430  }
 7431  {
 7432#line 117
 7433  __cil_tmp13 = (int )dir;
 7434#line 117
 7435  debug_dma_sync_single_for_device(dev, addr, size, __cil_tmp13);
 7436  }
 7437#line 118
 7438  return;
 7439}
 7440}
 7441#line 138 "include/asm-generic/dma-mapping-common.h"
 7442__inline static void dma_sync_sg_for_cpu(struct device *dev , struct scatterlist *sg ,
 7443                                         int nelems , enum dma_data_direction dir ) 
 7444{ struct dma_map_ops *ops ;
 7445  struct dma_map_ops *tmp___7 ;
 7446  int tmp___8 ;
 7447  int tmp___9 ;
 7448  long tmp___10 ;
 7449  int __cil_tmp10 ;
 7450  long __cil_tmp11 ;
 7451  void (*__cil_tmp12)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ) ;
 7452  int __cil_tmp13 ;
 7453
 7454  {
 7455  {
 7456#line 142
 7457  tmp___7 = get_dma_ops(dev);
 7458#line 142
 7459  ops = tmp___7;
 7460  }
 7461  {
 7462#line 144
 7463  while (1) {
 7464    while_continue: /* CIL Label */ ;
 7465    {
 7466#line 144
 7467    __cil_tmp10 = (int )dir;
 7468#line 144
 7469    tmp___8 = valid_dma_direction(__cil_tmp10);
 7470    }
 7471#line 144
 7472    if (tmp___8) {
 7473#line 144
 7474      tmp___9 = 0;
 7475    } else {
 7476#line 144
 7477      tmp___9 = 1;
 7478    }
 7479    {
 7480#line 144
 7481    __cil_tmp11 = (long )tmp___9;
 7482#line 144
 7483    tmp___10 = __builtin_expect(__cil_tmp11, 0L);
 7484    }
 7485#line 144
 7486    if (tmp___10) {
 7487      {
 7488#line 144
 7489      while (1) {
 7490        while_continue___0: /* CIL Label */ ;
 7491#line 144
 7492        __asm__  volatile   ("1:\tud2\n"
 7493                             ".pushsection __bug_table,\"a\"\n"
 7494                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 7495                             "\t.word %c1, 0\n"
 7496                             "\t.org 2b+%c2\n"
 7497                             ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
 7498                             "i" (144), "i" (12UL));
 7499        {
 7500#line 144
 7501        while (1) {
 7502          while_continue___1: /* CIL Label */ ;
 7503
 7504        }
 7505        while_break___3: /* CIL Label */ ;
 7506        }
 7507
 7508#line 144
 7509        goto while_break___0;
 7510      }
 7511      while_break___2: /* CIL Label */ ;
 7512      }
 7513
 7514      while_break___0: ;
 7515    } else {
 7516
 7517    }
 7518#line 144
 7519    goto while_break;
 7520  }
 7521  while_break___1: /* CIL Label */ ;
 7522  }
 7523
 7524  while_break: ;
 7525#line 145
 7526  if (ops->sync_sg_for_cpu) {
 7527    {
 7528#line 146
 7529    __cil_tmp12 = ops->sync_sg_for_cpu;
 7530#line 146
 7531    (*__cil_tmp12)(dev, sg, nelems, dir);
 7532    }
 7533  } else {
 7534
 7535  }
 7536  {
 7537#line 147
 7538  __cil_tmp13 = (int )dir;
 7539#line 147
 7540  debug_dma_sync_sg_for_cpu(dev, sg, nelems, __cil_tmp13);
 7541  }
 7542#line 148
 7543  return;
 7544}
 7545}
 7546#line 29 "include/asm-generic/pci-dma-compat.h"
 7547__inline static dma_addr_t pci_map_single(struct pci_dev *hwdev , void *ptr , size_t size ,
 7548                                          int direction ) 
 7549{ struct device *tmp___7 ;
 7550  dma_addr_t tmp___8 ;
 7551  void *__cil_tmp7 ;
 7552  unsigned long __cil_tmp8 ;
 7553  unsigned long __cil_tmp9 ;
 7554  void *__cil_tmp10 ;
 7555  enum dma_data_direction __cil_tmp11 ;
 7556  void *__cil_tmp12 ;
 7557  struct dma_attrs *__cil_tmp13 ;
 7558
 7559  {
 7560  {
 7561#line 32
 7562  __cil_tmp7 = (void *)0;
 7563#line 32
 7564  __cil_tmp8 = (unsigned long )__cil_tmp7;
 7565#line 32
 7566  __cil_tmp9 = (unsigned long )hwdev;
 7567#line 32
 7568  if (__cil_tmp9 == __cil_tmp8) {
 7569#line 32
 7570    __cil_tmp10 = (void *)0;
 7571#line 32
 7572    tmp___7 = (struct device *)__cil_tmp10;
 7573  } else {
 7574#line 32
 7575    tmp___7 = & hwdev->dev;
 7576  }
 7577  }
 7578  {
 7579#line 32
 7580  __cil_tmp11 = (enum dma_data_direction )direction;
 7581#line 32
 7582  __cil_tmp12 = (void *)0;
 7583#line 32
 7584  __cil_tmp13 = (struct dma_attrs *)__cil_tmp12;
 7585#line 32
 7586  tmp___8 = dma_map_single_attrs(tmp___7, ptr, size, __cil_tmp11, __cil_tmp13);
 7587  }
 7588#line 32
 7589  return (tmp___8);
 7590}
 7591}
 7592#line 35 "include/asm-generic/pci-dma-compat.h"
 7593__inline static void pci_unmap_single(struct pci_dev *hwdev , dma_addr_t dma_addr ,
 7594                                      size_t size , int direction ) 
 7595{ struct device *tmp___7 ;
 7596  void *__cil_tmp6 ;
 7597  unsigned long __cil_tmp7 ;
 7598  unsigned long __cil_tmp8 ;
 7599  void *__cil_tmp9 ;
 7600  enum dma_data_direction __cil_tmp10 ;
 7601  void *__cil_tmp11 ;
 7602  struct dma_attrs *__cil_tmp12 ;
 7603
 7604  {
 7605  {
 7606#line 39
 7607  __cil_tmp6 = (void *)0;
 7608#line 39
 7609  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7610#line 39
 7611  __cil_tmp8 = (unsigned long )hwdev;
 7612#line 39
 7613  if (__cil_tmp8 == __cil_tmp7) {
 7614#line 39
 7615    __cil_tmp9 = (void *)0;
 7616#line 39
 7617    tmp___7 = (struct device *)__cil_tmp9;
 7618  } else {
 7619#line 39
 7620    tmp___7 = & hwdev->dev;
 7621  }
 7622  }
 7623  {
 7624#line 39
 7625  __cil_tmp10 = (enum dma_data_direction )direction;
 7626#line 39
 7627  __cil_tmp11 = (void *)0;
 7628#line 39
 7629  __cil_tmp12 = (struct dma_attrs *)__cil_tmp11;
 7630#line 39
 7631  dma_unmap_single_attrs(tmp___7, dma_addr, size, __cil_tmp10, __cil_tmp12);
 7632  }
 7633#line 40
 7634  return;
 7635}
 7636}
 7637#line 77 "include/asm-generic/pci-dma-compat.h"
 7638__inline static void pci_dma_sync_single_for_device(struct pci_dev *hwdev , dma_addr_t dma_handle ,
 7639                                                    size_t size , int direction ) 
 7640{ struct device *tmp___7 ;
 7641  void *__cil_tmp6 ;
 7642  unsigned long __cil_tmp7 ;
 7643  unsigned long __cil_tmp8 ;
 7644  void *__cil_tmp9 ;
 7645  enum dma_data_direction __cil_tmp10 ;
 7646
 7647  {
 7648  {
 7649#line 81
 7650  __cil_tmp6 = (void *)0;
 7651#line 81
 7652  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7653#line 81
 7654  __cil_tmp8 = (unsigned long )hwdev;
 7655#line 81
 7656  if (__cil_tmp8 == __cil_tmp7) {
 7657#line 81
 7658    __cil_tmp9 = (void *)0;
 7659#line 81
 7660    tmp___7 = (struct device *)__cil_tmp9;
 7661  } else {
 7662#line 81
 7663    tmp___7 = & hwdev->dev;
 7664  }
 7665  }
 7666  {
 7667#line 81
 7668  __cil_tmp10 = (enum dma_data_direction )direction;
 7669#line 81
 7670  dma_sync_single_for_device(tmp___7, dma_handle, size, __cil_tmp10);
 7671  }
 7672#line 82
 7673  return;
 7674}
 7675}
 7676#line 84 "include/asm-generic/pci-dma-compat.h"
 7677__inline static void pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev , struct scatterlist *sg ,
 7678                                             int nelems , int direction ) 
 7679{ struct device *tmp___7 ;
 7680  void *__cil_tmp6 ;
 7681  unsigned long __cil_tmp7 ;
 7682  unsigned long __cil_tmp8 ;
 7683  void *__cil_tmp9 ;
 7684  enum dma_data_direction __cil_tmp10 ;
 7685
 7686  {
 7687  {
 7688#line 88
 7689  __cil_tmp6 = (void *)0;
 7690#line 88
 7691  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7692#line 88
 7693  __cil_tmp8 = (unsigned long )hwdev;
 7694#line 88
 7695  if (__cil_tmp8 == __cil_tmp7) {
 7696#line 88
 7697    __cil_tmp9 = (void *)0;
 7698#line 88
 7699    tmp___7 = (struct device *)__cil_tmp9;
 7700  } else {
 7701#line 88
 7702    tmp___7 = & hwdev->dev;
 7703  }
 7704  }
 7705  {
 7706#line 88
 7707  __cil_tmp10 = (enum dma_data_direction )direction;
 7708#line 88
 7709  dma_sync_sg_for_cpu(tmp___7, sg, nelems, __cil_tmp10);
 7710  }
 7711#line 89
 7712  return;
 7713}
 7714}
 7715#line 1316 "include/linux/pci.h"
 7716__inline static void *pci_get_drvdata(struct pci_dev *pdev ) 
 7717{ void *tmp___7 ;
 7718  struct device *__cil_tmp3 ;
 7719  struct device  const  *__cil_tmp4 ;
 7720
 7721  {
 7722  {
 7723#line 1318
 7724  __cil_tmp3 = & pdev->dev;
 7725#line 1318
 7726  __cil_tmp4 = (struct device  const  *)__cil_tmp3;
 7727#line 1318
 7728  tmp___7 = dev_get_drvdata(__cil_tmp4);
 7729  }
 7730#line 1318
 7731  return (tmp___7);
 7732}
 7733}
 7734#line 1321 "include/linux/pci.h"
 7735__inline static void pci_set_drvdata(struct pci_dev *pdev , void *data ) 
 7736{ struct device *__cil_tmp3 ;
 7737
 7738  {
 7739  {
 7740#line 1323
 7741  __cil_tmp3 = & pdev->dev;
 7742#line 1323
 7743  dev_set_drvdata(__cil_tmp3, data);
 7744  }
 7745#line 1324
 7746  return;
 7747}
 7748}
 7749#line 15 "include/scsi/scsicam.h"
 7750extern int scsicam_bios_param(struct block_device *bdev , sector_t capacity , int *ip ) ;
 7751#line 141 "include/scsi/scsi_cmnd.h"
 7752extern void *scsi_kmap_atomic_sg(struct scatterlist *sg , int sg_count , size_t *offset ,
 7753                                 size_t *len ) ;
 7754#line 143
 7755extern void scsi_kunmap_atomic_sg(void *virt ) ;
 7756#line 148
 7757extern int scsi_dma_map(struct scsi_cmnd *cmd ) ;
 7758#line 149
 7759extern void scsi_dma_unmap(struct scsi_cmnd *cmd ) ;
 7760#line 154 "include/scsi/scsi_cmnd.h"
 7761__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd ) 
 7762{ 
 7763
 7764  {
 7765#line 156
 7766  return (cmd->sdb.table.nents);
 7767}
 7768}
 7769#line 159 "include/scsi/scsi_cmnd.h"
 7770__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd ) 
 7771{ 
 7772
 7773  {
 7774#line 161
 7775  return (cmd->sdb.table.sgl);
 7776}
 7777}
 7778#line 164 "include/scsi/scsi_cmnd.h"
 7779__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd ) 
 7780{ 
 7781
 7782  {
 7783#line 166
 7784  return (cmd->sdb.length);
 7785}
 7786}
 7787#line 169 "include/scsi/scsi_cmnd.h"
 7788__inline static void scsi_set_resid(struct scsi_cmnd *cmd , int resid ) 
 7789{ 
 7790
 7791  {
 7792#line 171
 7793  cmd->sdb.resid = resid;
 7794#line 172
 7795  return;
 7796}
 7797}
 7798#line 762 "include/scsi/scsi_host.h"
 7799extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template * , int  ) ;
 7800#line 763
 7801extern int __attribute__((__warn_unused_result__))  scsi_add_host_with_dma(struct Scsi_Host * ,
 7802                                                                           struct device * ,
 7803                                                                           struct device * ) ;
 7804#line 766
 7805extern void scsi_scan_host(struct Scsi_Host * ) ;
 7806#line 768
 7807extern void scsi_remove_host(struct Scsi_Host * ) ;
 7808#line 770
 7809extern void scsi_host_put(struct Scsi_Host *t ) ;
 7810#line 773
 7811extern void scsi_cmd_get_serial(struct Scsi_Host * , struct scsi_cmnd * ) ;
 7812#line 777 "include/scsi/scsi_host.h"
 7813__inline static int __attribute__((__warn_unused_result__))  scsi_add_host(struct Scsi_Host *host ,
 7814                                                                           struct device *dev ) 
 7815{ int tmp___7 ;
 7816  int tmp ;
 7817  int tmp___8 ;
 7818
 7819  {
 7820  {
 7821#line 780
 7822  tmp___8 = (int )scsi_add_host_with_dma(host, dev, dev);
 7823#line 780
 7824  tmp = tmp___8;
 7825#line 780
 7826  tmp___7 = tmp;
 7827  }
 7828#line 780
 7829  return (tmp___7);
 7830}
 7831}
 7832#line 343 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7833static void data_out_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7834#line 345
 7835static void data_in_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7836#line 347
 7837static void command_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7838#line 349
 7839static void status_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7840#line 351
 7841static void msgout_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7842#line 353
 7843static void msgin_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7844#line 355
 7845static void data_out_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7846#line 357
 7847static void data_in_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7848#line 359
 7849static void command_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7850#line 361
 7851static void status_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7852#line 363
 7853static void msgout_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7854#line 365
 7855static void msgin_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7856#line 367
 7857static void nop0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7858#line 369
 7859static void nop1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
 7860#line 371
 7861static void set_basic_config(struct AdapterCtlBlk *acb ) ;
 7862#line 372
 7863static void cleanup_after_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
 7864#line 374
 7865static void reset_scsi_bus(struct AdapterCtlBlk *acb ) ;
 7866#line 375
 7867static void data_io_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ,
 7868                             u16 io_dir ) ;
 7869#line 377
 7870static void disconnect(struct AdapterCtlBlk *acb ) ;
 7871#line 378
 7872static void reselect(struct AdapterCtlBlk *acb ) ;
 7873#line 379
 7874static u8 start_scsi(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
 7875#line 381
 7876__inline static void enable_msgout_abort(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
 7877#line 383
 7878static void build_srb(struct scsi_cmnd *cmd , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
 7879#line 385
 7880static void doing_srb_done(struct AdapterCtlBlk *acb , u8 did_flag , struct scsi_cmnd *cmd ,
 7881                           u8 force ) ;
 7882#line 387
 7883static void scsi_reset_detect(struct AdapterCtlBlk *acb ) ;
 7884#line 388
 7885static void pci_unmap_srb(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
 7886#line 389
 7887static void pci_unmap_srb_sense(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
 7888#line 391
 7889static void srb_done(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
 7890#line 393
 7891static void request_sense(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
 7892#line 395
 7893static void set_xfer_rate(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ) ;
 7894#line 397
 7895static void waiting_timeout(unsigned long ptr ) ;
 7896#line 403 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7897static u16 current_sync_offset  =    (u16 )0;
 7898#line 405 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7899static void *dc395x_scsi_phase0[8]  = 
 7900#line 405
 7901  {      (void *)(& data_out_phase0),      (void *)(& data_in_phase0),      (void *)(& command_phase0),      (void *)(& status_phase0), 
 7902        (void *)(& nop0),      (void *)(& nop0),      (void *)(& msgout_phase0),      (void *)(& msgin_phase0)};
 7903#line 416 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7904static void *dc395x_scsi_phase1[8]  = 
 7905#line 416
 7906  {      (void *)(& data_out_phase1),      (void *)(& data_in_phase1),      (void *)(& command_phase1),      (void *)(& status_phase1), 
 7907        (void *)(& nop1),      (void *)(& nop1),      (void *)(& msgout_phase1),      (void *)(& msgin_phase1)};
 7908#line 449 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7909static u8 clock_period[8]  = 
 7910#line 449
 7911  {      (u8 )12,      (u8 )18,      (u8 )25,      (u8 )31, 
 7912        (u8 )37,      (u8 )43,      (u8 )50,      (u8 )62};
 7913#line 450 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7914static u16 clock_speed[8]  = 
 7915#line 450
 7916  {      (u16 )200,      (u16 )133,      (u16 )100,      (u16 )80, 
 7917        (u16 )67,      (u16 )58,      (u16 )50,      (u16 )40};
 7918#line 493 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7919static struct ParameterData cfg_data[6]  __attribute__((__section__(".devinit.data")))  = {      {-1,
 7920      0, 15, 7, 7}, 
 7921        {-1, 0, 7, 1, 4}, 
 7922        {-1, 0, 63, 63, 9}, 
 7923        {-1, 0, 47, 39, 15}, 
 7924        {-1, 0, 5, 3, 2}, 
 7925        {-1, 0, 180, 1, 10}};
 7926#line 550 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7927static int use_safe_settings  =    0;
 7928#line 551 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7929static char const   __param_str_safe[5]  = {      (char const   )'s',      (char const   )'a',      (char const   )'f',      (char const   )'e', 
 7930        (char const   )'\000'};
 7931#line 551 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7932static struct kernel_param  const  __param_safe  __attribute__((__used__, __unused__,
 7933__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_safe, (struct kernel_param_ops  const  *)(& param_ops_bool), (u16 )0,
 7934    (u16 )0, {(void *)(& use_safe_settings)}};
 7935#line 551 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7936static char const   __mod_safetype551[19]  __attribute__((__used__, __unused__, __section__(".modinfo"),
 7937__aligned__(1)))  = 
 7938#line 551
 7939  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 7940        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 7941        (char const   )'=',      (char const   )'s',      (char const   )'a',      (char const   )'f', 
 7942        (char const   )'e',      (char const   )':',      (char const   )'b',      (char const   )'o', 
 7943        (char const   )'o',      (char const   )'l',      (char const   )'\000'};
 7944#line 552 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7945static char const   __mod_safe552[58]  __attribute__((__used__, __unused__, __section__(".modinfo"),
 7946__aligned__(1)))  = 
 7947#line 552
 7948  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 7949        (char const   )'=',      (char const   )'s',      (char const   )'a',      (char const   )'f', 
 7950        (char const   )'e',      (char const   )':',      (char const   )'U',      (char const   )'s', 
 7951        (char const   )'e',      (char const   )' ',      (char const   )'s',      (char const   )'a', 
 7952        (char const   )'f',      (char const   )'e',      (char const   )' ',      (char const   )'a', 
 7953        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'s', 
 7954        (char const   )'l',      (char const   )'o',      (char const   )'w',      (char const   )' ', 
 7955        (char const   )'s',      (char const   )'e',      (char const   )'t',      (char const   )'t', 
 7956        (char const   )'i',      (char const   )'n',      (char const   )'g',      (char const   )'s', 
 7957        (char const   )' ',      (char const   )'o',      (char const   )'n',      (char const   )'l', 
 7958        (char const   )'y',      (char const   )'.',      (char const   )' ',      (char const   )'D', 
 7959        (char const   )'e',      (char const   )'f',      (char const   )'a',      (char const   )'u', 
 7960        (char const   )'l',      (char const   )'t',      (char const   )':',      (char const   )' ', 
 7961        (char const   )'f',      (char const   )'a',      (char const   )'l',      (char const   )'s', 
 7962        (char const   )'e',      (char const   )'\000'};
 7963#line 555 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7964static char const   __param_str_adapter_id[11]  = 
 7965#line 555
 7966  {      (char const   )'a',      (char const   )'d',      (char const   )'a',      (char const   )'p', 
 7967        (char const   )'t',      (char const   )'e',      (char const   )'r',      (char const   )'_', 
 7968        (char const   )'i',      (char const   )'d',      (char const   )'\000'};
 7969#line 555 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7970static struct kernel_param  const  __param_adapter_id  __attribute__((__used__, __unused__,
 7971__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_adapter_id, (struct kernel_param_ops  const  *)(& param_ops_int),
 7972    (u16 )0, (u16 )0, {(void *)(& cfg_data[0].value)}};
 7973#line 555 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7974static char const   __mod_adapter_idtype555[24]  __attribute__((__used__, __unused__,
 7975__section__(".modinfo"), __aligned__(1)))  = 
 7976#line 555
 7977  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 7978        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 7979        (char const   )'=',      (char const   )'a',      (char const   )'d',      (char const   )'a', 
 7980        (char const   )'p',      (char const   )'t',      (char const   )'e',      (char const   )'r', 
 7981        (char const   )'_',      (char const   )'i',      (char const   )'d',      (char const   )':', 
 7982        (char const   )'i',      (char const   )'n',      (char const   )'t',      (char const   )'\000'};
 7983#line 556 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 7984static char const   __mod_adapter_id556[50]  __attribute__((__used__, __unused__,
 7985__section__(".modinfo"), __aligned__(1)))  = 
 7986#line 556
 7987  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 7988        (char const   )'=',      (char const   )'a',      (char const   )'d',      (char const   )'a', 
 7989        (char const   )'p',      (char const   )'t',      (char const   )'e',      (char const   )'r', 
 7990        (char const   )'_',      (char const   )'i',      (char const   )'d',      (char const   )':', 
 7991        (char const   )'A',      (char const   )'d',      (char const   )'a',      (char const   )'p', 
 7992        (char const   )'t',      (char const   )'e',      (char const   )'r',      (char const   )' ', 
 7993        (char const   )'S',      (char const   )'C',      (char const   )'S',      (char const   )'I', 
 7994        (char const   )' ',      (char const   )'I',      (char const   )'D',      (char const   )'.', 
 7995        (char const   )' ',      (char const   )'D',      (char const   )'e',      (char const   )'f', 
 7996        (char const   )'a',      (char const   )'u',      (char const   )'l',      (char const   )'t', 
 7997        (char const   )' ',      (char const   )'7',      (char const   )' ',      (char const   )'(', 
 7998        (char const   )'0',      (char const   )'-',      (char const   )'1',      (char const   )'5', 
 7999        (char const   )')',      (char const   )'\000'};
 8000#line 558 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8001static char const   __param_str_max_speed[10]  = 
 8002#line 558
 8003  {      (char const   )'m',      (char const   )'a',      (char const   )'x',      (char const   )'_', 
 8004        (char const   )'s',      (char const   )'p',      (char const   )'e',      (char const   )'e', 
 8005        (char const   )'d',      (char const   )'\000'};
 8006#line 558 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8007static struct kernel_param  const  __param_max_speed  __attribute__((__used__, __unused__,
 8008__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_max_speed, (struct kernel_param_ops  const  *)(& param_ops_int), (u16 )0,
 8009    (u16 )0, {(void *)(& cfg_data[1].value)}};
 8010#line 558 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8011static char const   __mod_max_speedtype558[23]  __attribute__((__used__, __unused__,
 8012__section__(".modinfo"), __aligned__(1)))  = 
 8013#line 558
 8014  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8015        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 8016        (char const   )'=',      (char const   )'m',      (char const   )'a',      (char const   )'x', 
 8017        (char const   )'_',      (char const   )'s',      (char const   )'p',      (char const   )'e', 
 8018        (char const   )'e',      (char const   )'d',      (char const   )':',      (char const   )'i', 
 8019        (char const   )'n',      (char const   )'t',      (char const   )'\000'};
 8020#line 559 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8021static char const   __mod_max_speed559[110]  __attribute__((__used__, __unused__,
 8022__section__(".modinfo"), __aligned__(1)))  = 
 8023#line 559
 8024  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8025        (char const   )'=',      (char const   )'m',      (char const   )'a',      (char const   )'x', 
 8026        (char const   )'_',      (char const   )'s',      (char const   )'p',      (char const   )'e', 
 8027        (char const   )'e',      (char const   )'d',      (char const   )':',      (char const   )'M', 
 8028        (char const   )'a',      (char const   )'x',      (char const   )'i',      (char const   )'m', 
 8029        (char const   )'u',      (char const   )'m',      (char const   )' ',      (char const   )'b', 
 8030        (char const   )'u',      (char const   )'s',      (char const   )' ',      (char const   )'s', 
 8031        (char const   )'p',      (char const   )'e',      (char const   )'e',      (char const   )'d', 
 8032        (char const   )'.',      (char const   )' ',      (char const   )'D',      (char const   )'e', 
 8033        (char const   )'f',      (char const   )'a',      (char const   )'u',      (char const   )'l', 
 8034        (char const   )'t',      (char const   )' ',      (char const   )'1',      (char const   )' ', 
 8035        (char const   )'(',      (char const   )'0',      (char const   )'-',      (char const   )'7', 
 8036        (char const   )')',      (char const   )' ',      (char const   )'S',      (char const   )'p', 
 8037        (char const   )'e',      (char const   )'e',      (char const   )'d',      (char const   )'s', 
 8038        (char const   )':',      (char const   )' ',      (char const   )'0',      (char const   )'=', 
 8039        (char const   )'2',      (char const   )'0',      (char const   )',',      (char const   )' ', 
 8040        (char const   )'1',      (char const   )'=',      (char const   )'1',      (char const   )'3', 
 8041        (char const   )'.',      (char const   )'3',      (char const   )',',      (char const   )' ', 
 8042        (char const   )'2',      (char const   )'=',      (char const   )'1',      (char const   )'0', 
 8043        (char const   )',',      (char const   )' ',      (char const   )'3',      (char const   )'=', 
 8044        (char const   )'8',      (char const   )',',      (char const   )' ',      (char const   )'4', 
 8045        (char const   )'=',      (char const   )'6',      (char const   )'.',      (char const   )'7', 
 8046        (char const   )',',      (char const   )' ',      (char const   )'5',      (char const   )'=', 
 8047        (char const   )'5',      (char const   )'.',      (char const   )'8',      (char const   )',', 
 8048        (char const   )' ',      (char const   )'6',      (char const   )'=',      (char const   )'5', 
 8049        (char const   )',',      (char const   )' ',      (char const   )'7',      (char const   )'=', 
 8050        (char const   )'4',      (char const   )' ',      (char const   )'M',      (char const   )'h', 
 8051        (char const   )'z',      (char const   )'\000'};
 8052#line 561 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8053static char const   __param_str_dev_mode[9]  = 
 8054#line 561
 8055  {      (char const   )'d',      (char const   )'e',      (char const   )'v',      (char const   )'_', 
 8056        (char const   )'m',      (char const   )'o',      (char const   )'d',      (char const   )'e', 
 8057        (char const   )'\000'};
 8058#line 561 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8059static struct kernel_param  const  __param_dev_mode  __attribute__((__used__, __unused__,
 8060__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_dev_mode, (struct kernel_param_ops  const  *)(& param_ops_int), (u16 )0,
 8061    (u16 )0, {(void *)(& cfg_data[2].value)}};
 8062#line 561 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8063static char const   __mod_dev_modetype561[22]  __attribute__((__used__, __unused__,
 8064__section__(".modinfo"), __aligned__(1)))  = 
 8065#line 561
 8066  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8067        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 8068        (char const   )'=',      (char const   )'d',      (char const   )'e',      (char const   )'v', 
 8069        (char const   )'_',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
 8070        (char const   )'e',      (char const   )':',      (char const   )'i',      (char const   )'n', 
 8071        (char const   )'t',      (char const   )'\000'};
 8072#line 562 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8073static char const   __mod_dev_mode562[27]  __attribute__((__used__, __unused__, __section__(".modinfo"),
 8074__aligned__(1)))  = 
 8075#line 562
 8076  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8077        (char const   )'=',      (char const   )'d',      (char const   )'e',      (char const   )'v', 
 8078        (char const   )'_',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
 8079        (char const   )'e',      (char const   )':',      (char const   )'D',      (char const   )'e', 
 8080        (char const   )'v',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
 8081        (char const   )' ',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
 8082        (char const   )'e',      (char const   )'.',      (char const   )'\000'};
 8083#line 564 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8084static char const   __param_str_adapter_mode[13]  = 
 8085#line 564
 8086  {      (char const   )'a',      (char const   )'d',      (char const   )'a',      (char const   )'p', 
 8087        (char const   )'t',      (char const   )'e',      (char const   )'r',      (char const   )'_', 
 8088        (char const   )'m',      (char const   )'o',      (char const   )'d',      (char const   )'e', 
 8089        (char const   )'\000'};
 8090#line 564 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8091static struct kernel_param  const  __param_adapter_mode  __attribute__((__used__,
 8092__unused__, __section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_adapter_mode, (struct kernel_param_ops  const  *)(& param_ops_int),
 8093    (u16 )0, (u16 )0, {(void *)(& cfg_data[3].value)}};
 8094#line 564 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8095static char const   __mod_adapter_modetype564[26]  __attribute__((__used__, __unused__,
 8096__section__(".modinfo"), __aligned__(1)))  = 
 8097#line 564
 8098  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8099        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 8100        (char const   )'=',      (char const   )'a',      (char const   )'d',      (char const   )'a', 
 8101        (char const   )'p',      (char const   )'t',      (char const   )'e',      (char const   )'r', 
 8102        (char const   )'_',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
 8103        (char const   )'e',      (char const   )':',      (char const   )'i',      (char const   )'n', 
 8104        (char const   )'t',      (char const   )'\000'};
 8105#line 565 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8106static char const   __mod_adapter_mode565[32]  __attribute__((__used__, __unused__,
 8107__section__(".modinfo"), __aligned__(1)))  = 
 8108#line 565
 8109  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8110        (char const   )'=',      (char const   )'a',      (char const   )'d',      (char const   )'a', 
 8111        (char const   )'p',      (char const   )'t',      (char const   )'e',      (char const   )'r', 
 8112        (char const   )'_',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
 8113        (char const   )'e',      (char const   )':',      (char const   )'A',      (char const   )'d', 
 8114        (char const   )'a',      (char const   )'p',      (char const   )'t',      (char const   )'e', 
 8115        (char const   )'r',      (char const   )' ',      (char const   )'m',      (char const   )'o', 
 8116        (char const   )'d',      (char const   )'e',      (char const   )'.',      (char const   )'\000'};
 8117#line 567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8118static char const   __param_str_tags[5]  = {      (char const   )'t',      (char const   )'a',      (char const   )'g',      (char const   )'s', 
 8119        (char const   )'\000'};
 8120#line 567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8121static struct kernel_param  const  __param_tags  __attribute__((__used__, __unused__,
 8122__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_tags, (struct kernel_param_ops  const  *)(& param_ops_int), (u16 )0,
 8123    (u16 )0, {(void *)(& cfg_data[4].value)}};
 8124#line 567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8125static char const   __mod_tagstype567[18]  __attribute__((__used__, __unused__, __section__(".modinfo"),
 8126__aligned__(1)))  = 
 8127#line 567
 8128  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8129        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 8130        (char const   )'=',      (char const   )'t',      (char const   )'a',      (char const   )'g', 
 8131        (char const   )'s',      (char const   )':',      (char const   )'i',      (char const   )'n', 
 8132        (char const   )'t',      (char const   )'\000'};
 8133#line 568 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8134static char const   __mod_tags568[49]  __attribute__((__used__, __unused__, __section__(".modinfo"),
 8135__aligned__(1)))  = 
 8136#line 568
 8137  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8138        (char const   )'=',      (char const   )'t',      (char const   )'a',      (char const   )'g', 
 8139        (char const   )'s',      (char const   )':',      (char const   )'N',      (char const   )'u', 
 8140        (char const   )'m',      (char const   )'b',      (char const   )'e',      (char const   )'r', 
 8141        (char const   )' ',      (char const   )'o',      (char const   )'f',      (char const   )' ', 
 8142        (char const   )'t',      (char const   )'a',      (char const   )'g',      (char const   )'s', 
 8143        (char const   )' ',      (char const   )'(',      (char const   )'1',      (char const   )'<', 
 8144        (char const   )'<',      (char const   )'x',      (char const   )')',      (char const   )'.', 
 8145        (char const   )' ',      (char const   )'D',      (char const   )'e',      (char const   )'f', 
 8146        (char const   )'a',      (char const   )'u',      (char const   )'l',      (char const   )'t', 
 8147        (char const   )' ',      (char const   )'3',      (char const   )' ',      (char const   )'(', 
 8148        (char const   )'0',      (char const   )'-',      (char const   )'5',      (char const   )')', 
 8149        (char const   )'\000'};
 8150#line 570 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8151static char const   __param_str_reset_delay[12]  = 
 8152#line 570
 8153  {      (char const   )'r',      (char const   )'e',      (char const   )'s',      (char const   )'e', 
 8154        (char const   )'t',      (char const   )'_',      (char const   )'d',      (char const   )'e', 
 8155        (char const   )'l',      (char const   )'a',      (char const   )'y',      (char const   )'\000'};
 8156#line 570 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8157static struct kernel_param  const  __param_reset_delay  __attribute__((__used__, __unused__,
 8158__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_reset_delay, (struct kernel_param_ops  const  *)(& param_ops_int),
 8159    (u16 )0, (u16 )0, {(void *)(& cfg_data[5].value)}};
 8160#line 570 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8161static char const   __mod_reset_delaytype570[25]  __attribute__((__used__, __unused__,
 8162__section__(".modinfo"), __aligned__(1)))  = 
 8163#line 570
 8164  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8165        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
 8166        (char const   )'=',      (char const   )'r',      (char const   )'e',      (char const   )'s', 
 8167        (char const   )'e',      (char const   )'t',      (char const   )'_',      (char const   )'d', 
 8168        (char const   )'e',      (char const   )'l',      (char const   )'a',      (char const   )'y', 
 8169        (char const   )':',      (char const   )'i',      (char const   )'n',      (char const   )'t', 
 8170        (char const   )'\000'};
 8171#line 571 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8172static char const   __mod_reset_delay571[59]  __attribute__((__used__, __unused__,
 8173__section__(".modinfo"), __aligned__(1)))  = 
 8174#line 571
 8175  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
 8176        (char const   )'=',      (char const   )'r',      (char const   )'e',      (char const   )'s', 
 8177        (char const   )'e',      (char const   )'t',      (char const   )'_',      (char const   )'d', 
 8178        (char const   )'e',      (char const   )'l',      (char const   )'a',      (char const   )'y', 
 8179        (char const   )':',      (char const   )'R',      (char const   )'e',      (char const   )'s', 
 8180        (char const   )'e',      (char const   )'t',      (char const   )' ',      (char const   )'d', 
 8181        (char const   )'e',      (char const   )'l',      (char const   )'a',      (char const   )'y', 
 8182        (char const   )' ',      (char const   )'i',      (char const   )'n',      (char const   )' ', 
 8183        (char const   )'s',      (char const   )'e',      (char const   )'c',      (char const   )'o', 
 8184        (char const   )'n',      (char const   )'d',      (char const   )'s',      (char const   )'.', 
 8185        (char const   )' ',      (char const   )'D',      (char const   )'e',      (char const   )'f', 
 8186        (char const   )'a',      (char const   )'u',      (char const   )'l',      (char const   )'t', 
 8187        (char const   )' ',      (char const   )'1',      (char const   )' ',      (char const   )'(', 
 8188        (char const   )'0',      (char const   )'-',      (char const   )'1',      (char const   )'8', 
 8189        (char const   )'0',      (char const   )')',      (char const   )'\000'};
 8190#line 578
 8191static void set_safe_settings(void)  __attribute__((__section__(".devinit.text"),
 8192__no_instrument_function__)) ;
 8193#line 578
 8194static void set_safe_settings(void)  __attribute__((__section__(".devinit.text"),
 8195__no_instrument_function__)) ;
 8196#line 578 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8197static void set_safe_settings(void) 
 8198{ int i ;
 8199
 8200  {
 8201#line 580
 8202  if (use_safe_settings) {
 8203    {
 8204#line 584
 8205    printk("<6>dc395x: Using safe settings.\n");
 8206#line 585
 8207    i = 0;
 8208    }
 8209    {
 8210#line 585
 8211    while (1) {
 8212      while_continue: /* CIL Label */ ;
 8213
 8214#line 585
 8215      if (i < 6) {
 8216
 8217      } else {
 8218#line 585
 8219        goto while_break;
 8220      }
 8221#line 587
 8222      cfg_data[i].value = cfg_data[i].safe;
 8223#line 585
 8224      i = i + 1;
 8225    }
 8226    while_break___0: /* CIL Label */ ;
 8227    }
 8228
 8229    while_break: ;
 8230  } else {
 8231
 8232  }
 8233#line 590
 8234  return;
 8235}
 8236}
 8237#line 597
 8238static void fix_settings(void)  __attribute__((__section__(".devinit.text"), __no_instrument_function__)) ;
 8239#line 597
 8240static void fix_settings(void)  __attribute__((__section__(".devinit.text"), __no_instrument_function__)) ;
 8241#line 597 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8242static void fix_settings(void) 
 8243{ int i ;
 8244
 8245  {
 8246  {
 8247#line 601
 8248  while (1) {
 8249    while_continue: /* CIL Label */ ;
 8250
 8251#line 601
 8252    goto while_break;
 8253  }
 8254  while_break___1: /* CIL Label */ ;
 8255  }
 8256
 8257  while_break: 
 8258#line 610
 8259  i = 0;
 8260  {
 8261#line 610
 8262  while (1) {
 8263    while_continue___0: /* CIL Label */ ;
 8264
 8265#line 610
 8266    if (i < 6) {
 8267
 8268    } else {
 8269#line 610
 8270      goto while_break___0;
 8271    }
 8272#line 612
 8273    if (cfg_data[i].value < cfg_data[i].min) {
 8274#line 614
 8275      cfg_data[i].value = cfg_data[i].def;
 8276    } else
 8277#line 612
 8278    if (cfg_data[i].value > cfg_data[i].max) {
 8279#line 614
 8280      cfg_data[i].value = cfg_data[i].def;
 8281    } else {
 8282
 8283    }
 8284#line 610
 8285    i = i + 1;
 8286  }
 8287  while_break___2: /* CIL Label */ ;
 8288  }
 8289
 8290  while_break___0: ;
 8291#line 616
 8292  return;
 8293}
 8294}
 8295#line 624 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8296static char eeprom_index_to_delay_map[8]  __attribute__((__section__(".devinit.data")))  = 
 8297#line 624
 8298  {      (char)1,      (char)3,      (char)5,      (char)10, 
 8299        (char)16,      (char)30,      (char)60,      (char)120};
 8300#line 634
 8301static void eeprom_index_to_delay(struct NvRamType *eeprom )  __attribute__((__section__(".devinit.text"),
 8302__no_instrument_function__)) ;
 8303#line 634
 8304static void eeprom_index_to_delay(struct NvRamType *eeprom )  __attribute__((__section__(".devinit.text"),
 8305__no_instrument_function__)) ;
 8306#line 634 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8307static void eeprom_index_to_delay(struct NvRamType *eeprom ) 
 8308{ 
 8309
 8310  {
 8311#line 636
 8312  eeprom->delay_time = (u8 )eeprom_index_to_delay_map[eeprom->delay_time];
 8313#line 637
 8314  return;
 8315}
 8316}
 8317#line 647
 8318static int delay_to_eeprom_index(int delay )  __attribute__((__section__(".devinit.text"),
 8319__no_instrument_function__)) ;
 8320#line 647
 8321static int delay_to_eeprom_index(int delay )  __attribute__((__section__(".devinit.text"),
 8322__no_instrument_function__)) ;
 8323#line 647 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8324static int delay_to_eeprom_index(int delay ) 
 8325{ u8 idx ;
 8326  int __cil_tmp3 ;
 8327  int __cil_tmp4 ;
 8328  int __cil_tmp5 ;
 8329  int __cil_tmp6 ;
 8330
 8331  {
 8332#line 649
 8333  idx = (u8 )0;
 8334  {
 8335#line 650
 8336  while (1) {
 8337    while_continue: /* CIL Label */ ;
 8338
 8339    {
 8340#line 650
 8341    __cil_tmp3 = (int )idx;
 8342#line 650
 8343    if (__cil_tmp3 < 7) {
 8344      {
 8345#line 650
 8346      __cil_tmp4 = (int )eeprom_index_to_delay_map[idx];
 8347#line 650
 8348      if (__cil_tmp4 < delay) {
 8349
 8350      } else {
 8351#line 650
 8352        goto while_break;
 8353      }
 8354      }
 8355    } else {
 8356#line 650
 8357      goto while_break;
 8358    }
 8359    }
 8360#line 651
 8361    __cil_tmp5 = (int )idx;
 8362#line 651
 8363    __cil_tmp6 = __cil_tmp5 + 1;
 8364#line 651
 8365    idx = (u8 )__cil_tmp6;
 8366  }
 8367  while_break___0: /* CIL Label */ ;
 8368  }
 8369
 8370  while_break: ;
 8371#line 652
 8372  return ((int )idx);
 8373}
 8374}
 8375#line 663
 8376static void eeprom_override(struct NvRamType *eeprom )  __attribute__((__section__(".devinit.text"),
 8377__no_instrument_function__)) ;
 8378#line 663
 8379static void eeprom_override(struct NvRamType *eeprom )  __attribute__((__section__(".devinit.text"),
 8380__no_instrument_function__)) ;
 8381#line 663 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8382static void eeprom_override(struct NvRamType *eeprom ) 
 8383{ u8 id ;
 8384  int tmp___7 ;
 8385  int __cil_tmp4 ;
 8386  int __cil_tmp5 ;
 8387  int __cil_tmp6 ;
 8388
 8389  {
 8390#line 668
 8391  if (cfg_data[0].value != -1) {
 8392#line 669
 8393    eeprom->scsi_id = (u8 )cfg_data[0].value;
 8394  } else {
 8395
 8396  }
 8397#line 671
 8398  if (cfg_data[3].value != -1) {
 8399#line 672
 8400    eeprom->channel_cfg = (u8 )cfg_data[3].value;
 8401  } else {
 8402
 8403  }
 8404#line 674
 8405  if (cfg_data[5].value != -1) {
 8406    {
 8407#line 675
 8408    tmp___7 = delay_to_eeprom_index(cfg_data[5].value);
 8409#line 675
 8410    eeprom->delay_time = (u8 )tmp___7;
 8411    }
 8412  } else {
 8413
 8414  }
 8415#line 678
 8416  if (cfg_data[4].value != -1) {
 8417#line 679
 8418    eeprom->max_tag = (u8 )cfg_data[4].value;
 8419  } else {
 8420
 8421  }
 8422#line 682
 8423  id = (u8 )0;
 8424  {
 8425#line 682
 8426  while (1) {
 8427    while_continue: /* CIL Label */ ;
 8428
 8429    {
 8430#line 682
 8431    __cil_tmp4 = (int )id;
 8432#line 682
 8433    if (__cil_tmp4 < 16) {
 8434
 8435    } else {
 8436#line 682
 8437      goto while_break;
 8438    }
 8439    }
 8440#line 683
 8441    if (cfg_data[2].value != -1) {
 8442#line 684
 8443      eeprom->target[id].cfg0 = (u8 )cfg_data[2].value;
 8444    } else {
 8445
 8446    }
 8447#line 687
 8448    if (cfg_data[1].value != -1) {
 8449#line 688
 8450      eeprom->target[id].period = (u8 )cfg_data[1].value;
 8451    } else {
 8452
 8453    }
 8454#line 682
 8455    __cil_tmp5 = (int )id;
 8456#line 682
 8457    __cil_tmp6 = __cil_tmp5 + 1;
 8458#line 682
 8459    id = (u8 )__cil_tmp6;
 8460  }
 8461  while_break___0: /* CIL Label */ ;
 8462  }
 8463
 8464  while_break: ;
 8465#line 692
 8466  return;
 8467}
 8468}
 8469#line 698 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8470static unsigned int list_size(struct list_head *head ) 
 8471{ unsigned int count ;
 8472  struct list_head *pos ;
 8473  unsigned long __cil_tmp4 ;
 8474  unsigned long __cil_tmp5 ;
 8475
 8476  {
 8477#line 700
 8478  count = 0U;
 8479#line 702
 8480  pos = head->next;
 8481  {
 8482#line 702
 8483  while (1) {
 8484    while_continue: /* CIL Label */ ;
 8485
 8486    {
 8487#line 702
 8488    __cil_tmp4 = (unsigned long )head;
 8489#line 702
 8490    __cil_tmp5 = (unsigned long )pos;
 8491#line 702
 8492    if (__cil_tmp5 != __cil_tmp4) {
 8493
 8494    } else {
 8495#line 702
 8496      goto while_break;
 8497    }
 8498    }
 8499#line 703
 8500    count = count + 1U;
 8501#line 702
 8502    pos = pos->next;
 8503  }
 8504  while_break___0: /* CIL Label */ ;
 8505  }
 8506
 8507  while_break: ;
 8508#line 704
 8509  return (count);
 8510}
 8511}
 8512#line 708 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8513static struct DeviceCtlBlk *dcb_get_next(struct list_head *head , struct DeviceCtlBlk *pos ) 
 8514{ int use_next ;
 8515  struct DeviceCtlBlk *next ;
 8516  struct DeviceCtlBlk *i ;
 8517  int tmp___7 ;
 8518  struct list_head  const  *__mptr ;
 8519  struct list_head  const  *__mptr___0 ;
 8520  struct list_head  const  *__mptr___1 ;
 8521  struct list_head  const  *__mptr___2 ;
 8522  void *__cil_tmp11 ;
 8523  struct list_head  const  *__cil_tmp12 ;
 8524  void *__cil_tmp13 ;
 8525  struct list_head *__cil_tmp14 ;
 8526  struct DeviceCtlBlk *__cil_tmp15 ;
 8527  struct list_head *__cil_tmp16 ;
 8528  unsigned int __cil_tmp17 ;
 8529  char *__cil_tmp18 ;
 8530  char *__cil_tmp19 ;
 8531  unsigned long __cil_tmp20 ;
 8532  struct list_head *__cil_tmp21 ;
 8533  unsigned long __cil_tmp22 ;
 8534  unsigned long __cil_tmp23 ;
 8535  unsigned long __cil_tmp24 ;
 8536  struct list_head *__cil_tmp25 ;
 8537  struct DeviceCtlBlk *__cil_tmp26 ;
 8538  struct list_head *__cil_tmp27 ;
 8539  unsigned int __cil_tmp28 ;
 8540  char *__cil_tmp29 ;
 8541  char *__cil_tmp30 ;
 8542  struct list_head *__cil_tmp31 ;
 8543  struct DeviceCtlBlk *__cil_tmp32 ;
 8544  struct list_head *__cil_tmp33 ;
 8545  unsigned int __cil_tmp34 ;
 8546  char *__cil_tmp35 ;
 8547  char *__cil_tmp36 ;
 8548  unsigned long __cil_tmp37 ;
 8549  struct list_head *__cil_tmp38 ;
 8550  unsigned long __cil_tmp39 ;
 8551  struct list_head *__cil_tmp40 ;
 8552  struct DeviceCtlBlk *__cil_tmp41 ;
 8553  struct list_head *__cil_tmp42 ;
 8554  unsigned int __cil_tmp43 ;
 8555  char *__cil_tmp44 ;
 8556  char *__cil_tmp45 ;
 8557
 8558  {
 8559  {
 8560#line 711
 8561  use_next = 0;
 8562#line 712
 8563  __cil_tmp11 = (void *)0;
 8564#line 712
 8565  next = (struct DeviceCtlBlk *)__cil_tmp11;
 8566#line 715
 8567  __cil_tmp12 = (struct list_head  const  *)head;
 8568#line 715
 8569  tmp___7 = list_empty(__cil_tmp12);
 8570  }
 8571#line 715
 8572  if (tmp___7) {
 8573    {
 8574#line 716
 8575    __cil_tmp13 = (void *)0;
 8576#line 716
 8577    return ((struct DeviceCtlBlk *)__cil_tmp13);
 8578    }
 8579  } else {
 8580
 8581  }
 8582#line 719
 8583  __cil_tmp14 = head->next;
 8584#line 719
 8585  __mptr = (struct list_head  const  *)__cil_tmp14;
 8586#line 719
 8587  __cil_tmp15 = (struct DeviceCtlBlk *)0;
 8588#line 719
 8589  __cil_tmp16 = & __cil_tmp15->list;
 8590#line 719
 8591  __cil_tmp17 = (unsigned int )__cil_tmp16;
 8592#line 719
 8593  __cil_tmp18 = (char *)__mptr;
 8594#line 719
 8595  __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
 8596#line 719
 8597  i = (struct DeviceCtlBlk *)__cil_tmp19;
 8598  {
 8599#line 719
 8600  while (1) {
 8601    while_continue: /* CIL Label */ ;
 8602
 8603    {
 8604#line 719
 8605    __cil_tmp20 = (unsigned long )head;
 8606#line 719
 8607    __cil_tmp21 = & i->list;
 8608#line 719
 8609    __cil_tmp22 = (unsigned long )__cil_tmp21;
 8610#line 719
 8611    if (__cil_tmp22 != __cil_tmp20) {
 8612
 8613    } else {
 8614#line 719
 8615      goto while_break;
 8616    }
 8617    }
 8618#line 720
 8619    if (use_next) {
 8620#line 721
 8621      next = i;
 8622#line 722
 8623      goto while_break;
 8624    } else {
 8625      {
 8626#line 723
 8627      __cil_tmp23 = (unsigned long )pos;
 8628#line 723
 8629      __cil_tmp24 = (unsigned long )i;
 8630#line 723
 8631      if (__cil_tmp24 == __cil_tmp23) {
 8632#line 724
 8633        use_next = 1;
 8634      } else {
 8635
 8636      }
 8637      }
 8638    }
 8639#line 719
 8640    __cil_tmp25 = i->list.next;
 8641#line 719
 8642    __mptr___0 = (struct list_head  const  *)__cil_tmp25;
 8643#line 719
 8644    __cil_tmp26 = (struct DeviceCtlBlk *)0;
 8645#line 719
 8646    __cil_tmp27 = & __cil_tmp26->list;
 8647#line 719
 8648    __cil_tmp28 = (unsigned int )__cil_tmp27;
 8649#line 719
 8650    __cil_tmp29 = (char *)__mptr___0;
 8651#line 719
 8652    __cil_tmp30 = __cil_tmp29 - __cil_tmp28;
 8653#line 719
 8654    i = (struct DeviceCtlBlk *)__cil_tmp30;
 8655  }
 8656  while_break___1: /* CIL Label */ ;
 8657  }
 8658
 8659  while_break: ;
 8660#line 727
 8661  if (! next) {
 8662#line 728
 8663    __cil_tmp31 = head->next;
 8664#line 728
 8665    __mptr___1 = (struct list_head  const  *)__cil_tmp31;
 8666#line 728
 8667    __cil_tmp32 = (struct DeviceCtlBlk *)0;
 8668#line 728
 8669    __cil_tmp33 = & __cil_tmp32->list;
 8670#line 728
 8671    __cil_tmp34 = (unsigned int )__cil_tmp33;
 8672#line 728
 8673    __cil_tmp35 = (char *)__mptr___1;
 8674#line 728
 8675    __cil_tmp36 = __cil_tmp35 - __cil_tmp34;
 8676#line 728
 8677    i = (struct DeviceCtlBlk *)__cil_tmp36;
 8678    {
 8679#line 728
 8680    while (1) {
 8681      while_continue___0: /* CIL Label */ ;
 8682
 8683      {
 8684#line 728
 8685      __cil_tmp37 = (unsigned long )head;
 8686#line 728
 8687      __cil_tmp38 = & i->list;
 8688#line 728
 8689      __cil_tmp39 = (unsigned long )__cil_tmp38;
 8690#line 728
 8691      if (__cil_tmp39 != __cil_tmp37) {
 8692
 8693      } else {
 8694#line 728
 8695        goto while_break___0;
 8696      }
 8697      }
 8698#line 729
 8699      next = i;
 8700#line 730
 8701      goto while_break___0;
 8702#line 728
 8703      __cil_tmp40 = i->list.next;
 8704#line 728
 8705      __mptr___2 = (struct list_head  const  *)__cil_tmp40;
 8706#line 728
 8707      __cil_tmp41 = (struct DeviceCtlBlk *)0;
 8708#line 728
 8709      __cil_tmp42 = & __cil_tmp41->list;
 8710#line 728
 8711      __cil_tmp43 = (unsigned int )__cil_tmp42;
 8712#line 728
 8713      __cil_tmp44 = (char *)__mptr___2;
 8714#line 728
 8715      __cil_tmp45 = __cil_tmp44 - __cil_tmp43;
 8716#line 728
 8717      i = (struct DeviceCtlBlk *)__cil_tmp45;
 8718    }
 8719    while_break___2: /* CIL Label */ ;
 8720    }
 8721
 8722    while_break___0: ;
 8723  } else {
 8724
 8725  }
 8726#line 733
 8727  return (next);
 8728}
 8729}
 8730#line 737 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8731static void free_tag(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 8732{ u8 __cil_tmp3 ;
 8733  int __cil_tmp4 ;
 8734  u8 __cil_tmp5 ;
 8735  int __cil_tmp6 ;
 8736  int __cil_tmp7 ;
 8737  int __cil_tmp8 ;
 8738  unsigned int __cil_tmp9 ;
 8739  u32 __cil_tmp10 ;
 8740
 8741  {
 8742  {
 8743#line 739
 8744  __cil_tmp3 = srb->tag_number;
 8745#line 739
 8746  __cil_tmp4 = (int )__cil_tmp3;
 8747#line 739
 8748  if (__cil_tmp4 < 255) {
 8749#line 740
 8750    __cil_tmp5 = srb->tag_number;
 8751#line 740
 8752    __cil_tmp6 = (int )__cil_tmp5;
 8753#line 740
 8754    __cil_tmp7 = 1 << __cil_tmp6;
 8755#line 740
 8756    __cil_tmp8 = ~ __cil_tmp7;
 8757#line 740
 8758    __cil_tmp9 = (unsigned int )__cil_tmp8;
 8759#line 740
 8760    __cil_tmp10 = dcb->tag_mask;
 8761#line 740
 8762    dcb->tag_mask = __cil_tmp10 & __cil_tmp9;
 8763#line 741
 8764    srb->tag_number = (u8 )255;
 8765  } else {
 8766
 8767  }
 8768  }
 8769#line 743
 8770  return;
 8771}
 8772}
 8773#line 747 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8774__inline static struct ScsiReqBlk *find_cmd(struct scsi_cmnd *cmd , struct list_head *head ) 
 8775{ struct ScsiReqBlk *i ;
 8776  struct list_head  const  *__mptr ;
 8777  struct list_head  const  *__mptr___0 ;
 8778  struct list_head *__cil_tmp6 ;
 8779  struct ScsiReqBlk *__cil_tmp7 ;
 8780  struct list_head *__cil_tmp8 ;
 8781  unsigned int __cil_tmp9 ;
 8782  char *__cil_tmp10 ;
 8783  char *__cil_tmp11 ;
 8784  unsigned long __cil_tmp12 ;
 8785  struct list_head *__cil_tmp13 ;
 8786  unsigned long __cil_tmp14 ;
 8787  unsigned long __cil_tmp15 ;
 8788  struct scsi_cmnd *__cil_tmp16 ;
 8789  unsigned long __cil_tmp17 ;
 8790  struct list_head *__cil_tmp18 ;
 8791  struct ScsiReqBlk *__cil_tmp19 ;
 8792  struct list_head *__cil_tmp20 ;
 8793  unsigned int __cil_tmp21 ;
 8794  char *__cil_tmp22 ;
 8795  char *__cil_tmp23 ;
 8796  void *__cil_tmp24 ;
 8797
 8798  {
 8799#line 751
 8800  __cil_tmp6 = head->next;
 8801#line 751
 8802  __mptr = (struct list_head  const  *)__cil_tmp6;
 8803#line 751
 8804  __cil_tmp7 = (struct ScsiReqBlk *)0;
 8805#line 751
 8806  __cil_tmp8 = & __cil_tmp7->list;
 8807#line 751
 8808  __cil_tmp9 = (unsigned int )__cil_tmp8;
 8809#line 751
 8810  __cil_tmp10 = (char *)__mptr;
 8811#line 751
 8812  __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
 8813#line 751
 8814  i = (struct ScsiReqBlk *)__cil_tmp11;
 8815  {
 8816#line 751
 8817  while (1) {
 8818    while_continue: /* CIL Label */ ;
 8819
 8820    {
 8821#line 751
 8822    __cil_tmp12 = (unsigned long )head;
 8823#line 751
 8824    __cil_tmp13 = & i->list;
 8825#line 751
 8826    __cil_tmp14 = (unsigned long )__cil_tmp13;
 8827#line 751
 8828    if (__cil_tmp14 != __cil_tmp12) {
 8829
 8830    } else {
 8831#line 751
 8832      goto while_break;
 8833    }
 8834    }
 8835    {
 8836#line 752
 8837    __cil_tmp15 = (unsigned long )cmd;
 8838#line 752
 8839    __cil_tmp16 = i->cmd;
 8840#line 752
 8841    __cil_tmp17 = (unsigned long )__cil_tmp16;
 8842#line 752
 8843    if (__cil_tmp17 == __cil_tmp15) {
 8844#line 753
 8845      return (i);
 8846    } else {
 8847
 8848    }
 8849    }
 8850#line 751
 8851    __cil_tmp18 = i->list.next;
 8852#line 751
 8853    __mptr___0 = (struct list_head  const  *)__cil_tmp18;
 8854#line 751
 8855    __cil_tmp19 = (struct ScsiReqBlk *)0;
 8856#line 751
 8857    __cil_tmp20 = & __cil_tmp19->list;
 8858#line 751
 8859    __cil_tmp21 = (unsigned int )__cil_tmp20;
 8860#line 751
 8861    __cil_tmp22 = (char *)__mptr___0;
 8862#line 751
 8863    __cil_tmp23 = __cil_tmp22 - __cil_tmp21;
 8864#line 751
 8865    i = (struct ScsiReqBlk *)__cil_tmp23;
 8866  }
 8867  while_break___0: /* CIL Label */ ;
 8868  }
 8869
 8870  while_break: ;
 8871  {
 8872#line 754
 8873  __cil_tmp24 = (void *)0;
 8874#line 754
 8875  return ((struct ScsiReqBlk *)__cil_tmp24);
 8876  }
 8877}
 8878}
 8879#line 758 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8880static struct ScsiReqBlk *srb_get_free(struct AdapterCtlBlk *acb ) 
 8881{ struct list_head *head ;
 8882  struct ScsiReqBlk *srb ;
 8883  struct list_head  const  *__mptr ;
 8884  int tmp___7 ;
 8885  void *__cil_tmp6 ;
 8886  struct list_head  const  *__cil_tmp7 ;
 8887  struct list_head *__cil_tmp8 ;
 8888  struct ScsiReqBlk *__cil_tmp9 ;
 8889  struct list_head *__cil_tmp10 ;
 8890  unsigned int __cil_tmp11 ;
 8891  char *__cil_tmp12 ;
 8892  char *__cil_tmp13 ;
 8893  struct list_head *__cil_tmp14 ;
 8894
 8895  {
 8896  {
 8897#line 760
 8898  head = & acb->srb_free_list;
 8899#line 761
 8900  __cil_tmp6 = (void *)0;
 8901#line 761
 8902  srb = (struct ScsiReqBlk *)__cil_tmp6;
 8903#line 763
 8904  __cil_tmp7 = (struct list_head  const  *)head;
 8905#line 763
 8906  tmp___7 = list_empty(__cil_tmp7);
 8907  }
 8908#line 763
 8909  if (tmp___7) {
 8910
 8911  } else {
 8912    {
 8913#line 764
 8914    __cil_tmp8 = head->next;
 8915#line 764
 8916    __mptr = (struct list_head  const  *)__cil_tmp8;
 8917#line 764
 8918    __cil_tmp9 = (struct ScsiReqBlk *)0;
 8919#line 764
 8920    __cil_tmp10 = & __cil_tmp9->list;
 8921#line 764
 8922    __cil_tmp11 = (unsigned int )__cil_tmp10;
 8923#line 764
 8924    __cil_tmp12 = (char *)__mptr;
 8925#line 764
 8926    __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
 8927#line 764
 8928    srb = (struct ScsiReqBlk *)__cil_tmp13;
 8929#line 765
 8930    __cil_tmp14 = head->next;
 8931#line 765
 8932    list_del(__cil_tmp14);
 8933    }
 8934    {
 8935#line 766
 8936    while (1) {
 8937      while_continue: /* CIL Label */ ;
 8938
 8939#line 766
 8940      goto while_break;
 8941    }
 8942    while_break___0: /* CIL Label */ ;
 8943    }
 8944
 8945    while_break: ;
 8946  }
 8947#line 768
 8948  return (srb);
 8949}
 8950}
 8951#line 772 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8952static void srb_free_insert(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
 8953{ struct list_head *__cil_tmp3 ;
 8954  struct list_head *__cil_tmp4 ;
 8955
 8956  {
 8957  {
 8958#line 774
 8959  while (1) {
 8960    while_continue: /* CIL Label */ ;
 8961
 8962#line 774
 8963    goto while_break;
 8964  }
 8965  while_break___0: /* CIL Label */ ;
 8966  }
 8967
 8968  while_break: 
 8969  {
 8970#line 775
 8971  __cil_tmp3 = & srb->list;
 8972#line 775
 8973  __cil_tmp4 = & acb->srb_free_list;
 8974#line 775
 8975  list_add_tail(__cil_tmp3, __cil_tmp4);
 8976  }
 8977#line 776
 8978  return;
 8979}
 8980}
 8981#line 779 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 8982static void srb_waiting_insert(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 8983{ struct list_head *__cil_tmp3 ;
 8984  struct list_head *__cil_tmp4 ;
 8985
 8986  {
 8987  {
 8988#line 782
 8989  while (1) {
 8990    while_continue: /* CIL Label */ ;
 8991
 8992#line 782
 8993    goto while_break;
 8994  }
 8995  while_break___0: /* CIL Label */ ;
 8996  }
 8997
 8998  while_break: 
 8999  {
 9000#line 784
 9001  __cil_tmp3 = & srb->list;
 9002#line 784
 9003  __cil_tmp4 = & dcb->srb_waiting_list;
 9004#line 784
 9005  list_add(__cil_tmp3, __cil_tmp4);
 9006  }
 9007#line 785
 9008  return;
 9009}
 9010}
 9011#line 788 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9012static void srb_waiting_append(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 9013{ struct list_head *__cil_tmp3 ;
 9014  struct list_head *__cil_tmp4 ;
 9015
 9016  {
 9017  {
 9018#line 791
 9019  while (1) {
 9020    while_continue: /* CIL Label */ ;
 9021
 9022#line 791
 9023    goto while_break;
 9024  }
 9025  while_break___0: /* CIL Label */ ;
 9026  }
 9027
 9028  while_break: 
 9029  {
 9030#line 793
 9031  __cil_tmp3 = & srb->list;
 9032#line 793
 9033  __cil_tmp4 = & dcb->srb_waiting_list;
 9034#line 793
 9035  list_add_tail(__cil_tmp3, __cil_tmp4);
 9036  }
 9037#line 794
 9038  return;
 9039}
 9040}
 9041#line 797 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9042static void srb_going_append(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 9043{ struct list_head *__cil_tmp3 ;
 9044  struct list_head *__cil_tmp4 ;
 9045
 9046  {
 9047  {
 9048#line 799
 9049  while (1) {
 9050    while_continue: /* CIL Label */ ;
 9051
 9052#line 799
 9053    goto while_break;
 9054  }
 9055  while_break___0: /* CIL Label */ ;
 9056  }
 9057
 9058  while_break: 
 9059  {
 9060#line 801
 9061  __cil_tmp3 = & srb->list;
 9062#line 801
 9063  __cil_tmp4 = & dcb->srb_going_list;
 9064#line 801
 9065  list_add_tail(__cil_tmp3, __cil_tmp4);
 9066  }
 9067#line 802
 9068  return;
 9069}
 9070}
 9071#line 805 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9072static void srb_going_remove(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 9073{ struct ScsiReqBlk *i ;
 9074  struct ScsiReqBlk *tmp___7 ;
 9075  struct list_head  const  *__mptr ;
 9076  struct list_head  const  *__mptr___0 ;
 9077  struct list_head  const  *__mptr___1 ;
 9078  struct list_head *__cil_tmp8 ;
 9079  struct ScsiReqBlk *__cil_tmp9 ;
 9080  struct list_head *__cil_tmp10 ;
 9081  unsigned int __cil_tmp11 ;
 9082  char *__cil_tmp12 ;
 9083  char *__cil_tmp13 ;
 9084  struct list_head *__cil_tmp14 ;
 9085  struct ScsiReqBlk *__cil_tmp15 ;
 9086  struct list_head *__cil_tmp16 ;
 9087  unsigned int __cil_tmp17 ;
 9088  char *__cil_tmp18 ;
 9089  char *__cil_tmp19 ;
 9090  struct list_head *__cil_tmp20 ;
 9091  unsigned long __cil_tmp21 ;
 9092  struct list_head *__cil_tmp22 ;
 9093  unsigned long __cil_tmp23 ;
 9094  unsigned long __cil_tmp24 ;
 9095  unsigned long __cil_tmp25 ;
 9096  struct list_head *__cil_tmp26 ;
 9097  struct list_head *__cil_tmp27 ;
 9098  struct ScsiReqBlk *__cil_tmp28 ;
 9099  struct list_head *__cil_tmp29 ;
 9100  unsigned int __cil_tmp30 ;
 9101  char *__cil_tmp31 ;
 9102  char *__cil_tmp32 ;
 9103
 9104  {
 9105  {
 9106#line 809
 9107  while (1) {
 9108    while_continue: /* CIL Label */ ;
 9109
 9110#line 809
 9111    goto while_break;
 9112  }
 9113  while_break___1: /* CIL Label */ ;
 9114  }
 9115
 9116  while_break: 
 9117#line 812
 9118  __cil_tmp8 = dcb->srb_going_list.next;
 9119#line 812
 9120  __mptr = (struct list_head  const  *)__cil_tmp8;
 9121#line 812
 9122  __cil_tmp9 = (struct ScsiReqBlk *)0;
 9123#line 812
 9124  __cil_tmp10 = & __cil_tmp9->list;
 9125#line 812
 9126  __cil_tmp11 = (unsigned int )__cil_tmp10;
 9127#line 812
 9128  __cil_tmp12 = (char *)__mptr;
 9129#line 812
 9130  __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
 9131#line 812
 9132  i = (struct ScsiReqBlk *)__cil_tmp13;
 9133#line 812
 9134  __cil_tmp14 = i->list.next;
 9135#line 812
 9136  __mptr___0 = (struct list_head  const  *)__cil_tmp14;
 9137#line 812
 9138  __cil_tmp15 = (struct ScsiReqBlk *)0;
 9139#line 812
 9140  __cil_tmp16 = & __cil_tmp15->list;
 9141#line 812
 9142  __cil_tmp17 = (unsigned int )__cil_tmp16;
 9143#line 812
 9144  __cil_tmp18 = (char *)__mptr___0;
 9145#line 812
 9146  __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
 9147#line 812
 9148  tmp___7 = (struct ScsiReqBlk *)__cil_tmp19;
 9149  {
 9150#line 812
 9151  while (1) {
 9152    while_continue___0: /* CIL Label */ ;
 9153
 9154    {
 9155#line 812
 9156    __cil_tmp20 = & dcb->srb_going_list;
 9157#line 812
 9158    __cil_tmp21 = (unsigned long )__cil_tmp20;
 9159#line 812
 9160    __cil_tmp22 = & i->list;
 9161#line 812
 9162    __cil_tmp23 = (unsigned long )__cil_tmp22;
 9163#line 812
 9164    if (__cil_tmp23 != __cil_tmp21) {
 9165
 9166    } else {
 9167#line 812
 9168      goto while_break___0;
 9169    }
 9170    }
 9171    {
 9172#line 813
 9173    __cil_tmp24 = (unsigned long )srb;
 9174#line 813
 9175    __cil_tmp25 = (unsigned long )i;
 9176#line 813
 9177    if (__cil_tmp25 == __cil_tmp24) {
 9178      {
 9179#line 814
 9180      __cil_tmp26 = & srb->list;
 9181#line 814
 9182      list_del(__cil_tmp26);
 9183      }
 9184#line 815
 9185      goto while_break___0;
 9186    } else {
 9187
 9188    }
 9189    }
 9190#line 812
 9191    i = tmp___7;
 9192#line 812
 9193    __cil_tmp27 = tmp___7->list.next;
 9194#line 812
 9195    __mptr___1 = (struct list_head  const  *)__cil_tmp27;
 9196#line 812
 9197    __cil_tmp28 = (struct ScsiReqBlk *)0;
 9198#line 812
 9199    __cil_tmp29 = & __cil_tmp28->list;
 9200#line 812
 9201    __cil_tmp30 = (unsigned int )__cil_tmp29;
 9202#line 812
 9203    __cil_tmp31 = (char *)__mptr___1;
 9204#line 812
 9205    __cil_tmp32 = __cil_tmp31 - __cil_tmp30;
 9206#line 812
 9207    tmp___7 = (struct ScsiReqBlk *)__cil_tmp32;
 9208  }
 9209  while_break___2: /* CIL Label */ ;
 9210  }
 9211
 9212  while_break___0: ;
 9213#line 817
 9214  return;
 9215}
 9216}
 9217#line 820 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9218static void srb_waiting_remove(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 9219{ struct ScsiReqBlk *i ;
 9220  struct ScsiReqBlk *tmp___7 ;
 9221  struct list_head  const  *__mptr ;
 9222  struct list_head  const  *__mptr___0 ;
 9223  struct list_head  const  *__mptr___1 ;
 9224  struct list_head *__cil_tmp8 ;
 9225  struct ScsiReqBlk *__cil_tmp9 ;
 9226  struct list_head *__cil_tmp10 ;
 9227  unsigned int __cil_tmp11 ;
 9228  char *__cil_tmp12 ;
 9229  char *__cil_tmp13 ;
 9230  struct list_head *__cil_tmp14 ;
 9231  struct ScsiReqBlk *__cil_tmp15 ;
 9232  struct list_head *__cil_tmp16 ;
 9233  unsigned int __cil_tmp17 ;
 9234  char *__cil_tmp18 ;
 9235  char *__cil_tmp19 ;
 9236  struct list_head *__cil_tmp20 ;
 9237  unsigned long __cil_tmp21 ;
 9238  struct list_head *__cil_tmp22 ;
 9239  unsigned long __cil_tmp23 ;
 9240  unsigned long __cil_tmp24 ;
 9241  unsigned long __cil_tmp25 ;
 9242  struct list_head *__cil_tmp26 ;
 9243  struct list_head *__cil_tmp27 ;
 9244  struct ScsiReqBlk *__cil_tmp28 ;
 9245  struct list_head *__cil_tmp29 ;
 9246  unsigned int __cil_tmp30 ;
 9247  char *__cil_tmp31 ;
 9248  char *__cil_tmp32 ;
 9249
 9250  {
 9251  {
 9252#line 825
 9253  while (1) {
 9254    while_continue: /* CIL Label */ ;
 9255
 9256#line 825
 9257    goto while_break;
 9258  }
 9259  while_break___1: /* CIL Label */ ;
 9260  }
 9261
 9262  while_break: 
 9263#line 828
 9264  __cil_tmp8 = dcb->srb_waiting_list.next;
 9265#line 828
 9266  __mptr = (struct list_head  const  *)__cil_tmp8;
 9267#line 828
 9268  __cil_tmp9 = (struct ScsiReqBlk *)0;
 9269#line 828
 9270  __cil_tmp10 = & __cil_tmp9->list;
 9271#line 828
 9272  __cil_tmp11 = (unsigned int )__cil_tmp10;
 9273#line 828
 9274  __cil_tmp12 = (char *)__mptr;
 9275#line 828
 9276  __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
 9277#line 828
 9278  i = (struct ScsiReqBlk *)__cil_tmp13;
 9279#line 828
 9280  __cil_tmp14 = i->list.next;
 9281#line 828
 9282  __mptr___0 = (struct list_head  const  *)__cil_tmp14;
 9283#line 828
 9284  __cil_tmp15 = (struct ScsiReqBlk *)0;
 9285#line 828
 9286  __cil_tmp16 = & __cil_tmp15->list;
 9287#line 828
 9288  __cil_tmp17 = (unsigned int )__cil_tmp16;
 9289#line 828
 9290  __cil_tmp18 = (char *)__mptr___0;
 9291#line 828
 9292  __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
 9293#line 828
 9294  tmp___7 = (struct ScsiReqBlk *)__cil_tmp19;
 9295  {
 9296#line 828
 9297  while (1) {
 9298    while_continue___0: /* CIL Label */ ;
 9299
 9300    {
 9301#line 828
 9302    __cil_tmp20 = & dcb->srb_waiting_list;
 9303#line 828
 9304    __cil_tmp21 = (unsigned long )__cil_tmp20;
 9305#line 828
 9306    __cil_tmp22 = & i->list;
 9307#line 828
 9308    __cil_tmp23 = (unsigned long )__cil_tmp22;
 9309#line 828
 9310    if (__cil_tmp23 != __cil_tmp21) {
 9311
 9312    } else {
 9313#line 828
 9314      goto while_break___0;
 9315    }
 9316    }
 9317    {
 9318#line 829
 9319    __cil_tmp24 = (unsigned long )srb;
 9320#line 829
 9321    __cil_tmp25 = (unsigned long )i;
 9322#line 829
 9323    if (__cil_tmp25 == __cil_tmp24) {
 9324      {
 9325#line 830
 9326      __cil_tmp26 = & srb->list;
 9327#line 830
 9328      list_del(__cil_tmp26);
 9329      }
 9330#line 831
 9331      goto while_break___0;
 9332    } else {
 9333
 9334    }
 9335    }
 9336#line 828
 9337    i = tmp___7;
 9338#line 828
 9339    __cil_tmp27 = tmp___7->list.next;
 9340#line 828
 9341    __mptr___1 = (struct list_head  const  *)__cil_tmp27;
 9342#line 828
 9343    __cil_tmp28 = (struct ScsiReqBlk *)0;
 9344#line 828
 9345    __cil_tmp29 = & __cil_tmp28->list;
 9346#line 828
 9347    __cil_tmp30 = (unsigned int )__cil_tmp29;
 9348#line 828
 9349    __cil_tmp31 = (char *)__mptr___1;
 9350#line 828
 9351    __cil_tmp32 = __cil_tmp31 - __cil_tmp30;
 9352#line 828
 9353    tmp___7 = (struct ScsiReqBlk *)__cil_tmp32;
 9354  }
 9355  while_break___2: /* CIL Label */ ;
 9356  }
 9357
 9358  while_break___0: ;
 9359#line 833
 9360  return;
 9361}
 9362}
 9363#line 836 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9364static void srb_going_to_waiting_move(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 9365{ struct list_head *__cil_tmp3 ;
 9366  struct list_head *__cil_tmp4 ;
 9367
 9368  {
 9369  {
 9370#line 839
 9371  while (1) {
 9372    while_continue: /* CIL Label */ ;
 9373
 9374#line 839
 9375    goto while_break;
 9376  }
 9377  while_break___0: /* CIL Label */ ;
 9378  }
 9379
 9380  while_break: 
 9381  {
 9382#line 842
 9383  __cil_tmp3 = & srb->list;
 9384#line 842
 9385  __cil_tmp4 = & dcb->srb_waiting_list;
 9386#line 842
 9387  list_move(__cil_tmp3, __cil_tmp4);
 9388  }
 9389#line 843
 9390  return;
 9391}
 9392}
 9393#line 846 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9394static void srb_waiting_to_going_move(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
 9395{ struct list_head *__cil_tmp3 ;
 9396  struct list_head *__cil_tmp4 ;
 9397
 9398  {
 9399  {
 9400#line 849
 9401  while (1) {
 9402    while_continue: /* CIL Label */ ;
 9403
 9404#line 849
 9405    goto while_break;
 9406  }
 9407  while_break___0: /* CIL Label */ ;
 9408  }
 9409
 9410  while_break: 
 9411  {
 9412#line 852
 9413  __cil_tmp3 = & srb->list;
 9414#line 852
 9415  __cil_tmp4 = & dcb->srb_going_list;
 9416#line 852
 9417  list_move(__cil_tmp3, __cil_tmp4);
 9418  }
 9419#line 853
 9420  return;
 9421}
 9422}
 9423#line 861 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9424static struct lock_class_key __key___5  ;
 9425#line 857 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9426static void waiting_set_timer(struct AdapterCtlBlk *acb , unsigned long to ) 
 9427{ int tmp___7 ;
 9428  struct timer_list *__cil_tmp4 ;
 9429  struct timer_list  const  *__cil_tmp5 ;
 9430  struct timer_list *__cil_tmp6 ;
 9431  struct Scsi_Host *__cil_tmp7 ;
 9432  unsigned long __cil_tmp8 ;
 9433  unsigned long __cil_tmp9 ;
 9434  long __cil_tmp10 ;
 9435  unsigned long volatile   __cil_tmp11 ;
 9436  unsigned long volatile   __cil_tmp12 ;
 9437  long __cil_tmp13 ;
 9438  long __cil_tmp14 ;
 9439  struct Scsi_Host *__cil_tmp15 ;
 9440  unsigned long __cil_tmp16 ;
 9441  unsigned long __cil_tmp17 ;
 9442  unsigned long volatile   __cil_tmp18 ;
 9443  unsigned long volatile   __cil_tmp19 ;
 9444  unsigned long volatile   __cil_tmp20 ;
 9445  unsigned long volatile   __cil_tmp21 ;
 9446  struct timer_list *__cil_tmp22 ;
 9447
 9448  {
 9449  {
 9450#line 859
 9451  __cil_tmp4 = & acb->waiting_timer;
 9452#line 859
 9453  __cil_tmp5 = (struct timer_list  const  *)__cil_tmp4;
 9454#line 859
 9455  tmp___7 = timer_pending(__cil_tmp5);
 9456  }
 9457#line 859
 9458  if (tmp___7) {
 9459#line 860
 9460    return;
 9461  } else {
 9462
 9463  }
 9464  {
 9465#line 861
 9466  while (1) {
 9467    while_continue: /* CIL Label */ ;
 9468    {
 9469#line 861
 9470    __cil_tmp6 = & acb->waiting_timer;
 9471#line 861
 9472    init_timer_key(__cil_tmp6, "&acb->waiting_timer", & __key___5);
 9473    }
 9474#line 861
 9475    goto while_break;
 9476  }
 9477  while_break___0: /* CIL Label */ ;
 9478  }
 9479
 9480  while_break: 
 9481#line 862
 9482  acb->waiting_timer.function = & waiting_timeout;
 9483#line 863
 9484  acb->waiting_timer.data = (unsigned long )acb;
 9485  {
 9486#line 864
 9487  __cil_tmp7 = acb->scsi_host;
 9488#line 864
 9489  __cil_tmp8 = __cil_tmp7->last_reset;
 9490#line 864
 9491  __cil_tmp9 = __cil_tmp8 - 125UL;
 9492#line 864
 9493  __cil_tmp10 = (long )__cil_tmp9;
 9494#line 864
 9495  __cil_tmp11 = (unsigned long volatile   )to;
 9496#line 864
 9497  __cil_tmp12 = jiffies + __cil_tmp11;
 9498#line 864
 9499  __cil_tmp13 = (long )__cil_tmp12;
 9500#line 864
 9501  __cil_tmp14 = __cil_tmp13 - __cil_tmp10;
 9502#line 864
 9503  if (__cil_tmp14 < 0L) {
 9504#line 865
 9505    __cil_tmp15 = acb->scsi_host;
 9506#line 865
 9507    __cil_tmp16 = __cil_tmp15->last_reset;
 9508#line 865
 9509    __cil_tmp17 = __cil_tmp16 - 125UL;
 9510#line 865
 9511    acb->waiting_timer.expires = __cil_tmp17 + 1UL;
 9512  } else {
 9513#line 868
 9514    __cil_tmp18 = (unsigned long volatile   )1;
 9515#line 868
 9516    __cil_tmp19 = (unsigned long volatile   )to;
 9517#line 868
 9518    __cil_tmp20 = jiffies + __cil_tmp19;
 9519#line 868
 9520    __cil_tmp21 = __cil_tmp20 + __cil_tmp18;
 9521#line 868
 9522    acb->waiting_timer.expires = (unsigned long )__cil_tmp21;
 9523  }
 9524  }
 9525  {
 9526#line 869
 9527  __cil_tmp22 = & acb->waiting_timer;
 9528#line 869
 9529  add_timer(__cil_tmp22);
 9530  }
 9531#line 870
 9532  return;
 9533}
 9534}
 9535#line 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9536static void waiting_process_next(struct AdapterCtlBlk *acb ) 
 9537{ struct DeviceCtlBlk *start ;
 9538  struct DeviceCtlBlk *pos ;
 9539  struct DeviceCtlBlk *dcb ;
 9540  struct ScsiReqBlk *srb ;
 9541  struct list_head *dcb_list_head ;
 9542  int tmp___7 ;
 9543  int tmp___8 ;
 9544  struct list_head  const  *__mptr ;
 9545  struct list_head  const  *__mptr___0 ;
 9546  struct list_head  const  *__mptr___1 ;
 9547  struct list_head *waiting_list_head ;
 9548  struct list_head  const  *__mptr___2 ;
 9549  u8 tmp___9 ;
 9550  int tmp___10 ;
 9551  unsigned int tmp___11 ;
 9552  void *__cil_tmp17 ;
 9553  u8 __cil_tmp18 ;
 9554  int __cil_tmp19 ;
 9555  struct timer_list *__cil_tmp20 ;
 9556  struct timer_list  const  *__cil_tmp21 ;
 9557  struct timer_list *__cil_tmp22 ;
 9558  struct list_head  const  *__cil_tmp23 ;
 9559  struct list_head *__cil_tmp24 ;
 9560  struct DeviceCtlBlk *__cil_tmp25 ;
 9561  struct list_head *__cil_tmp26 ;
 9562  unsigned int __cil_tmp27 ;
 9563  char *__cil_tmp28 ;
 9564  char *__cil_tmp29 ;
 9565  unsigned long __cil_tmp30 ;
 9566  struct list_head *__cil_tmp31 ;
 9567  unsigned long __cil_tmp32 ;
 9568  struct DeviceCtlBlk *__cil_tmp33 ;
 9569  unsigned long __cil_tmp34 ;
 9570  unsigned long __cil_tmp35 ;
 9571  struct list_head *__cil_tmp36 ;
 9572  struct DeviceCtlBlk *__cil_tmp37 ;
 9573  struct list_head *__cil_tmp38 ;
 9574  unsigned int __cil_tmp39 ;
 9575  char *__cil_tmp40 ;
 9576  char *__cil_tmp41 ;
 9577  struct list_head *__cil_tmp42 ;
 9578  struct DeviceCtlBlk *__cil_tmp43 ;
 9579  struct list_head *__cil_tmp44 ;
 9580  unsigned int __cil_tmp45 ;
 9581  char *__cil_tmp46 ;
 9582  char *__cil_tmp47 ;
 9583  struct DeviceCtlBlk *__cil_tmp48 ;
 9584  struct list_head  const  *__cil_tmp49 ;
 9585  struct list_head *__cil_tmp50 ;
 9586  u16 __cil_tmp51 ;
 9587  unsigned int __cil_tmp52 ;
 9588  struct list_head *__cil_tmp53 ;
 9589  struct ScsiReqBlk *__cil_tmp54 ;
 9590  struct list_head *__cil_tmp55 ;
 9591  unsigned int __cil_tmp56 ;
 9592  char *__cil_tmp57 ;
 9593  char *__cil_tmp58 ;
 9594  unsigned long __cil_tmp59 ;
 9595  unsigned long __cil_tmp60 ;
 9596
 9597  {
 9598#line 876
 9599  __cil_tmp17 = (void *)0;
 9600#line 876
 9601  start = (struct DeviceCtlBlk *)__cil_tmp17;
 9602#line 880
 9603  dcb_list_head = & acb->dcb_list;
 9604#line 882
 9605  if (acb->active_dcb) {
 9606#line 884
 9607    return;
 9608  } else {
 9609    {
 9610#line 882
 9611    __cil_tmp18 = acb->acb_flag;
 9612#line 882
 9613    __cil_tmp19 = (int )__cil_tmp18;
 9614#line 882
 9615    if (__cil_tmp19 & 7) {
 9616#line 884
 9617      return;
 9618    } else {
 9619
 9620    }
 9621    }
 9622  }
 9623  {
 9624#line 886
 9625  __cil_tmp20 = & acb->waiting_timer;
 9626#line 886
 9627  __cil_tmp21 = (struct timer_list  const  *)__cil_tmp20;
 9628#line 886
 9629  tmp___7 = timer_pending(__cil_tmp21);
 9630  }
 9631#line 886
 9632  if (tmp___7) {
 9633    {
 9634#line 887
 9635    __cil_tmp22 = & acb->waiting_timer;
 9636#line 887
 9637    del_timer(__cil_tmp22);
 9638    }
 9639  } else {
 9640
 9641  }
 9642  {
 9643#line 889
 9644  __cil_tmp23 = (struct list_head  const  *)dcb_list_head;
 9645#line 889
 9646  tmp___8 = list_empty(__cil_tmp23);
 9647  }
 9648#line 889
 9649  if (tmp___8) {
 9650#line 890
 9651    return;
 9652  } else {
 9653
 9654  }
 9655#line 896
 9656  __cil_tmp24 = dcb_list_head->next;
 9657#line 896
 9658  __mptr = (struct list_head  const  *)__cil_tmp24;
 9659#line 896
 9660  __cil_tmp25 = (struct DeviceCtlBlk *)0;
 9661#line 896
 9662  __cil_tmp26 = & __cil_tmp25->list;
 9663#line 896
 9664  __cil_tmp27 = (unsigned int )__cil_tmp26;
 9665#line 896
 9666  __cil_tmp28 = (char *)__mptr;
 9667#line 896
 9668  __cil_tmp29 = __cil_tmp28 - __cil_tmp27;
 9669#line 896
 9670  dcb = (struct DeviceCtlBlk *)__cil_tmp29;
 9671  {
 9672#line 896
 9673  while (1) {
 9674    while_continue: /* CIL Label */ ;
 9675
 9676    {
 9677#line 896
 9678    __cil_tmp30 = (unsigned long )dcb_list_head;
 9679#line 896
 9680    __cil_tmp31 = & dcb->list;
 9681#line 896
 9682    __cil_tmp32 = (unsigned long )__cil_tmp31;
 9683#line 896
 9684    if (__cil_tmp32 != __cil_tmp30) {
 9685
 9686    } else {
 9687#line 896
 9688      goto while_break;
 9689    }
 9690    }
 9691    {
 9692#line 897
 9693    __cil_tmp33 = acb->dcb_run_robin;
 9694#line 897
 9695    __cil_tmp34 = (unsigned long )__cil_tmp33;
 9696#line 897
 9697    __cil_tmp35 = (unsigned long )dcb;
 9698#line 897
 9699    if (__cil_tmp35 == __cil_tmp34) {
 9700#line 898
 9701      start = dcb;
 9702#line 899
 9703      goto while_break;
 9704    } else {
 9705
 9706    }
 9707    }
 9708#line 896
 9709    __cil_tmp36 = dcb->list.next;
 9710#line 896
 9711    __mptr___0 = (struct list_head  const  *)__cil_tmp36;
 9712#line 896
 9713    __cil_tmp37 = (struct DeviceCtlBlk *)0;
 9714#line 896
 9715    __cil_tmp38 = & __cil_tmp37->list;
 9716#line 896
 9717    __cil_tmp39 = (unsigned int )__cil_tmp38;
 9718#line 896
 9719    __cil_tmp40 = (char *)__mptr___0;
 9720#line 896
 9721    __cil_tmp41 = __cil_tmp40 - __cil_tmp39;
 9722#line 896
 9723    dcb = (struct DeviceCtlBlk *)__cil_tmp41;
 9724  }
 9725  while_break___1: /* CIL Label */ ;
 9726  }
 9727
 9728  while_break: ;
 9729#line 901
 9730  if (! start) {
 9731#line 903
 9732    __cil_tmp42 = dcb_list_head->next;
 9733#line 903
 9734    __mptr___1 = (struct list_head  const  *)__cil_tmp42;
 9735#line 903
 9736    __cil_tmp43 = (struct DeviceCtlBlk *)0;
 9737#line 903
 9738    __cil_tmp44 = & __cil_tmp43->list;
 9739#line 903
 9740    __cil_tmp45 = (unsigned int )__cil_tmp44;
 9741#line 903
 9742    __cil_tmp46 = (char *)__mptr___1;
 9743#line 903
 9744    __cil_tmp47 = __cil_tmp46 - __cil_tmp45;
 9745#line 903
 9746    start = (struct DeviceCtlBlk *)__cil_tmp47;
 9747#line 904
 9748    acb->dcb_run_robin = start;
 9749  } else {
 9750
 9751  }
 9752#line 912
 9753  pos = start;
 9754  {
 9755#line 913
 9756  while (1) {
 9757    while_continue___0: /* CIL Label */ ;
 9758    {
 9759#line 914
 9760    waiting_list_head = & pos->srb_waiting_list;
 9761#line 917
 9762    __cil_tmp48 = acb->dcb_run_robin;
 9763#line 917
 9764    acb->dcb_run_robin = dcb_get_next(dcb_list_head, __cil_tmp48);
 9765#line 920
 9766    __cil_tmp49 = (struct list_head  const  *)waiting_list_head;
 9767#line 920
 9768    tmp___10 = list_empty(__cil_tmp49);
 9769    }
 9770#line 920
 9771    if (tmp___10) {
 9772      {
 9773#line 923
 9774      pos = dcb_get_next(dcb_list_head, pos);
 9775      }
 9776    } else {
 9777      {
 9778#line 920
 9779      __cil_tmp50 = & pos->srb_going_list;
 9780#line 920
 9781      tmp___11 = list_size(__cil_tmp50);
 9782      }
 9783      {
 9784#line 920
 9785      __cil_tmp51 = pos->max_command;
 9786#line 920
 9787      __cil_tmp52 = (unsigned int )__cil_tmp51;
 9788#line 920
 9789      if (__cil_tmp52 <= tmp___11) {
 9790        {
 9791#line 923
 9792        pos = dcb_get_next(dcb_list_head, pos);
 9793        }
 9794      } else {
 9795        {
 9796#line 925
 9797        __cil_tmp53 = waiting_list_head->next;
 9798#line 925
 9799        __mptr___2 = (struct list_head  const  *)__cil_tmp53;
 9800#line 925
 9801        __cil_tmp54 = (struct ScsiReqBlk *)0;
 9802#line 925
 9803        __cil_tmp55 = & __cil_tmp54->list;
 9804#line 925
 9805        __cil_tmp56 = (unsigned int )__cil_tmp55;
 9806#line 925
 9807        __cil_tmp57 = (char *)__mptr___2;
 9808#line 925
 9809        __cil_tmp58 = __cil_tmp57 - __cil_tmp56;
 9810#line 925
 9811        srb = (struct ScsiReqBlk *)__cil_tmp58;
 9812#line 929
 9813        tmp___9 = start_scsi(acb, pos, srb);
 9814        }
 9815#line 929
 9816        if (tmp___9) {
 9817          {
 9818#line 932
 9819          waiting_set_timer(acb, 5UL);
 9820          }
 9821        } else {
 9822          {
 9823#line 930
 9824          srb_waiting_to_going_move(pos, srb);
 9825          }
 9826        }
 9827#line 933
 9828        goto while_break___0;
 9829      }
 9830      }
 9831    }
 9832    {
 9833#line 913
 9834    __cil_tmp59 = (unsigned long )start;
 9835#line 913
 9836    __cil_tmp60 = (unsigned long )pos;
 9837#line 913
 9838    if (__cil_tmp60 != __cil_tmp59) {
 9839
 9840    } else {
 9841#line 913
 9842      goto while_break___0;
 9843    }
 9844    }
 9845  }
 9846  while_break___2: /* CIL Label */ ;
 9847  }
 9848
 9849  while_break___0: ;
 9850#line 936
 9851  return;
 9852}
 9853}
 9854#line 940 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9855static void waiting_timeout(unsigned long ptr ) 
 9856{ unsigned long flags ;
 9857  struct AdapterCtlBlk *acb ;
 9858  raw_spinlock_t *tmp___7 ;
 9859  struct Scsi_Host *__cil_tmp5 ;
 9860  spinlock_t *__cil_tmp6 ;
 9861  struct Scsi_Host *__cil_tmp7 ;
 9862  spinlock_t *__cil_tmp8 ;
 9863
 9864  {
 9865#line 943
 9866  acb = (struct AdapterCtlBlk *)ptr;
 9867  {
 9868#line 944
 9869  while (1) {
 9870    while_continue: /* CIL Label */ ;
 9871
 9872#line 944
 9873    goto while_break;
 9874  }
 9875  while_break___2: /* CIL Label */ ;
 9876  }
 9877
 9878  while_break: ;
 9879  {
 9880#line 946
 9881  while (1) {
 9882    while_continue___0: /* CIL Label */ ;
 9883
 9884    {
 9885#line 946
 9886    while (1) {
 9887      while_continue___1: /* CIL Label */ ;
 9888      {
 9889#line 946
 9890      __cil_tmp5 = acb->scsi_host;
 9891#line 946
 9892      __cil_tmp6 = __cil_tmp5->host_lock;
 9893#line 946
 9894      tmp___7 = spinlock_check(__cil_tmp6);
 9895#line 946
 9896      flags = _raw_spin_lock_irqsave(tmp___7);
 9897      }
 9898#line 946
 9899      goto while_break___1;
 9900    }
 9901    while_break___4: /* CIL Label */ ;
 9902    }
 9903
 9904    while_break___1: ;
 9905#line 946
 9906    goto while_break___0;
 9907  }
 9908  while_break___3: /* CIL Label */ ;
 9909  }
 9910
 9911  while_break___0: 
 9912  {
 9913#line 947
 9914  waiting_process_next(acb);
 9915#line 948
 9916  __cil_tmp7 = acb->scsi_host;
 9917#line 948
 9918  __cil_tmp8 = __cil_tmp7->host_lock;
 9919#line 948
 9920  spin_unlock_irqrestore(__cil_tmp8, flags);
 9921  }
 9922#line 949
 9923  return;
 9924}
 9925}
 9926#line 953 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9927static struct DeviceCtlBlk *find_dcb(struct AdapterCtlBlk *acb , u8 id , u8 lun ) 
 9928{ 
 9929
 9930  {
 9931#line 955
 9932  return (acb->children[id][lun]);
 9933}
 9934}
 9935#line 960 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
 9936static void send_srb(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
 9937{ struct DeviceCtlBlk *dcb ;
 9938  unsigned int tmp___7 ;
 9939  u8 tmp___8 ;
 9940  struct list_head *__cil_tmp6 ;
 9941  u16 __cil_tmp7 ;
 9942  unsigned int __cil_tmp8 ;
 9943  u8 __cil_tmp9 ;
 9944  int __cil_tmp10 ;
 9945
 9946  {
 9947  {
 9948#line 962
 9949  dcb = srb->dcb;
 9950#line 964
 9951  __cil_tmp6 = & dcb->srb_going_list;
 9952#line 964
 9953  tmp___7 = list_size(__cil_tmp6);
 9954  }
 9955  {
 9956#line 964
 9957  __cil_tmp7 = dcb->max_command;
 9958#line 964
 9959  __cil_tmp8 = (unsigned int )__cil_tmp7;
 9960#line 964
 9961  if (__cil_tmp8 <= tmp___7) {
 9962    {
 9963#line 967
 9964    srb_waiting_append(dcb, srb);
 9965#line 968
 9966    waiting_process_next(acb);
 9967    }
 9968#line 969
 9969    return;
 9970  } else
 9971#line 964
 9972  if (acb->active_dcb) {
 9973    {
 9974#line 967
 9975    srb_waiting_append(dcb, srb);
 9976#line 968
 9977    waiting_process_next(acb);
 9978    }
 9979#line 969
 9980    return;
 9981  } else {
 9982    {
 9983#line 964
 9984    __cil_tmp9 = acb->acb_flag;
 9985#line 964
 9986    __cil_tmp10 = (int )__cil_tmp9;
 9987#line 964
 9988    if (__cil_tmp10 & 7) {
 9989      {
 9990#line 967
 9991      srb_waiting_append(dcb, srb);
 9992#line 968
 9993      waiting_process_next(acb);
 9994      }
 9995#line 969
 9996      return;
 9997    } else {
 9998
 9999    }
10000    }
10001  }
10002  }
10003  {
10004#line 972
10005  tmp___8 = start_scsi(acb, dcb, srb);
10006  }
10007#line 972
10008  if (tmp___8) {
10009    {
10010#line 975
10011    srb_waiting_insert(dcb, srb);
10012#line 976
10013    waiting_set_timer(acb, 5UL);
10014    }
10015  } else {
10016    {
10017#line 973
10018    srb_going_append(dcb, srb);
10019    }
10020  }
10021#line 978
10022  return;
10023}
10024}
10025#line 981 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10026static void build_srb(struct scsi_cmnd *cmd , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
10027{ int nseg ;
10028  enum dma_data_direction dir ;
10029  long tmp___7 ;
10030  int i ;
10031  u32 reqlen ;
10032  unsigned int tmp___8 ;
10033  struct scatterlist *sg ;
10034  struct SGentry *sgp ;
10035  u32 busaddr ;
10036  u32 seglen ;
10037  int __cil_tmp14 ;
10038  int __cil_tmp15 ;
10039  int __cil_tmp16 ;
10040  long __cil_tmp17 ;
10041  unsigned int __cil_tmp18 ;
10042  u8 __cil_tmp19 ;
10043  int __cil_tmp20 ;
10044  dma_addr_t __cil_tmp21 ;
10045  struct SGentry *__cil_tmp22 ;
10046  struct SGentry *__cil_tmp23 ;
10047  size_t __cil_tmp24 ;
10048  size_t __cil_tmp25 ;
10049  u8 __cil_tmp26 ;
10050  int __cil_tmp27 ;
10051  int __cil_tmp28 ;
10052  size_t __cil_tmp29 ;
10053  size_t __cil_tmp30 ;
10054  size_t __cil_tmp31 ;
10055  size_t __cil_tmp32 ;
10056  size_t __cil_tmp33 ;
10057  u32 __cil_tmp34 ;
10058  size_t __cil_tmp35 ;
10059  size_t __cil_tmp36 ;
10060  u8 __cil_tmp37 ;
10061  int __cil_tmp38 ;
10062  size_t __cil_tmp39 ;
10063  size_t __cil_tmp40 ;
10064  u32 __cil_tmp41 ;
10065  struct AdapterCtlBlk *__cil_tmp42 ;
10066  struct pci_dev *__cil_tmp43 ;
10067  struct SGentry *__cil_tmp44 ;
10068  void *__cil_tmp45 ;
10069  unsigned long __cil_tmp46 ;
10070
10071  {
10072#line 985
10073  dir = cmd->sc_data_direction;
10074  {
10075#line 986
10076  while (1) {
10077    while_continue: /* CIL Label */ ;
10078
10079#line 986
10080    goto while_break;
10081  }
10082  while_break___7: /* CIL Label */ ;
10083  }
10084
10085  while_break: 
10086  {
10087#line 989
10088  srb->dcb = dcb;
10089#line 990
10090  srb->cmd = cmd;
10091#line 991
10092  srb->sg_count = (u8 )0;
10093#line 992
10094  srb->total_xfer_length = (size_t )0;
10095#line 993
10096  srb->sg_bus_addr = (dma_addr_t )0;
10097#line 994
10098  srb->sg_index = (u8 )0;
10099#line 995
10100  srb->adapter_status = (u8 )0;
10101#line 996
10102  srb->target_status = (u8 )0;
10103#line 997
10104  srb->msg_count = (u8 )0;
10105#line 998
10106  srb->status = (u8 )0;
10107#line 999
10108  srb->flag = (u8 )0;
10109#line 1000
10110  srb->state = (u16 )0;
10111#line 1001
10112  srb->retry_count = (u8 )0;
10113#line 1002
10114  srb->tag_number = (u8 )255;
10115#line 1003
10116  srb->scsi_phase = (u8 )5;
10117#line 1004
10118  srb->end_message = (u8 )0;
10119#line 1006
10120  nseg = scsi_dma_map(cmd);
10121  }
10122  {
10123#line 1007
10124  while (1) {
10125    while_continue___0: /* CIL Label */ ;
10126    {
10127#line 1007
10128    __cil_tmp14 = nseg < 0;
10129#line 1007
10130    __cil_tmp15 = ! __cil_tmp14;
10131#line 1007
10132    __cil_tmp16 = ! __cil_tmp15;
10133#line 1007
10134    __cil_tmp17 = (long )__cil_tmp16;
10135#line 1007
10136    tmp___7 = __builtin_expect(__cil_tmp17, 0L);
10137    }
10138#line 1007
10139    if (tmp___7) {
10140      {
10141#line 1007
10142      while (1) {
10143        while_continue___1: /* CIL Label */ ;
10144#line 1007
10145        __asm__  volatile   ("1:\tud2\n"
10146                             ".pushsection __bug_table,\"a\"\n"
10147                             "2:\t.long 1b - 2b, %c0 - 2b\n"
10148                             "\t.word %c1, 0\n"
10149                             "\t.org 2b+%c2\n"
10150                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"),
10151                             "i" (1007), "i" (12UL));
10152        {
10153#line 1007
10154        while (1) {
10155          while_continue___2: /* CIL Label */ ;
10156
10157        }
10158        while_break___10: /* CIL Label */ ;
10159        }
10160
10161#line 1007
10162        goto while_break___1;
10163      }
10164      while_break___9: /* CIL Label */ ;
10165      }
10166
10167      while_break___1: ;
10168    } else {
10169
10170    }
10171#line 1007
10172    goto while_break___0;
10173  }
10174  while_break___8: /* CIL Label */ ;
10175  }
10176
10177  while_break___0: ;
10178  {
10179#line 1009
10180  __cil_tmp18 = (unsigned int )dir;
10181#line 1009
10182  if (__cil_tmp18 == 3U) {
10183#line 1009
10184    goto _L;
10185  } else
10186#line 1009
10187  if (! nseg) {
10188    _L: 
10189    {
10190#line 1010
10191    while (1) {
10192      while_continue___3: /* CIL Label */ ;
10193
10194#line 1010
10195      goto while_break___3;
10196    }
10197    while_break___11: /* CIL Label */ ;
10198    }
10199
10200    while_break___3: ;
10201  } else {
10202    {
10203#line 1016
10204    tmp___8 = scsi_bufflen(cmd);
10205#line 1016
10206    reqlen = tmp___8;
10207#line 1018
10208    sgp = srb->segment_x;
10209#line 1020
10210    srb->sg_count = (u8 )nseg;
10211    }
10212    {
10213#line 1022
10214    while (1) {
10215      while_continue___4: /* CIL Label */ ;
10216
10217#line 1022
10218      goto while_break___4;
10219    }
10220    while_break___12: /* CIL Label */ ;
10221    }
10222
10223    while_break___4: 
10224    {
10225#line 1027
10226    i = 0;
10227#line 1027
10228    sg = scsi_sglist(cmd);
10229    }
10230    {
10231#line 1027
10232    while (1) {
10233      while_continue___5: /* CIL Label */ ;
10234
10235      {
10236#line 1027
10237      __cil_tmp19 = srb->sg_count;
10238#line 1027
10239      __cil_tmp20 = (int )__cil_tmp19;
10240#line 1027
10241      if (i < __cil_tmp20) {
10242
10243      } else {
10244#line 1027
10245        goto while_break___5;
10246      }
10247      }
10248      {
10249#line 1028
10250      __cil_tmp21 = sg->dma_address;
10251#line 1028
10252      busaddr = (u32 )__cil_tmp21;
10253#line 1029
10254      seglen = sg->length;
10255#line 1030
10256      __cil_tmp22 = sgp + i;
10257#line 1030
10258      __cil_tmp22->address = busaddr;
10259#line 1031
10260      __cil_tmp23 = sgp + i;
10261#line 1031
10262      __cil_tmp23->length = seglen;
10263#line 1032
10264      __cil_tmp24 = (size_t )seglen;
10265#line 1032
10266      __cil_tmp25 = srb->total_xfer_length;
10267#line 1032
10268      srb->total_xfer_length = __cil_tmp25 + __cil_tmp24;
10269#line 1027
10270      i = i + 1;
10271#line 1027
10272      sg = sg_next(sg);
10273      }
10274    }
10275    while_break___13: /* CIL Label */ ;
10276    }
10277
10278    while_break___5: 
10279#line 1034
10280    __cil_tmp26 = srb->sg_count;
10281#line 1034
10282    __cil_tmp27 = (int )__cil_tmp26;
10283#line 1034
10284    __cil_tmp28 = __cil_tmp27 - 1;
10285#line 1034
10286    sgp = sgp + __cil_tmp28;
10287    {
10288#line 1040
10289    __cil_tmp29 = (size_t )reqlen;
10290#line 1040
10291    __cil_tmp30 = srb->total_xfer_length;
10292#line 1040
10293    if (__cil_tmp30 > __cil_tmp29) {
10294#line 1041
10295      __cil_tmp31 = (size_t )reqlen;
10296#line 1041
10297      __cil_tmp32 = srb->total_xfer_length;
10298#line 1041
10299      __cil_tmp33 = __cil_tmp32 - __cil_tmp31;
10300#line 1041
10301      __cil_tmp34 = sgp->length;
10302#line 1041
10303      __cil_tmp35 = (size_t )__cil_tmp34;
10304#line 1041
10305      __cil_tmp36 = __cil_tmp35 - __cil_tmp33;
10306#line 1041
10307      sgp->length = (u32 )__cil_tmp36;
10308#line 1042
10309      srb->total_xfer_length = (size_t )reqlen;
10310    } else {
10311
10312    }
10313    }
10314    {
10315#line 1046
10316    __cil_tmp37 = dcb->sync_period;
10317#line 1046
10318    __cil_tmp38 = (int )__cil_tmp37;
10319#line 1046
10320    if (__cil_tmp38 & 16) {
10321      {
10322#line 1046
10323      __cil_tmp39 = srb->total_xfer_length;
10324#line 1046
10325      if (__cil_tmp39 % 2UL) {
10326#line 1048
10327        __cil_tmp40 = srb->total_xfer_length;
10328#line 1048
10329        srb->total_xfer_length = __cil_tmp40 + 1UL;
10330#line 1049
10331        __cil_tmp41 = sgp->length;
10332#line 1049
10333        sgp->length = __cil_tmp41 + 1U;
10334      } else {
10335
10336      }
10337      }
10338    } else {
10339
10340    }
10341    }
10342    {
10343#line 1052
10344    __cil_tmp42 = dcb->acb;
10345#line 1052
10346    __cil_tmp43 = __cil_tmp42->dev;
10347#line 1052
10348    __cil_tmp44 = srb->segment_x;
10349#line 1052
10350    __cil_tmp45 = (void *)__cil_tmp44;
10351#line 1052
10352    __cil_tmp46 = 8UL * 64UL;
10353#line 1052
10354    srb->sg_bus_addr = pci_map_single(__cil_tmp43, __cil_tmp45, __cil_tmp46, 1);
10355    }
10356    {
10357#line 1057
10358    while (1) {
10359      while_continue___6: /* CIL Label */ ;
10360
10361#line 1057
10362      goto while_break___6;
10363    }
10364    while_break___14: /* CIL Label */ ;
10365    }
10366
10367    while_break___6: ;
10368  }
10369  }
10370#line 1061
10371  srb->request_length = srb->total_xfer_length;
10372#line 1062
10373  return;
10374}
10375}
10376#line 1084 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10377static int dc395x_queue_command_lck(struct scsi_cmnd *cmd , void (*done)(struct scsi_cmnd * ) ) 
10378{ struct DeviceCtlBlk *dcb ;
10379  struct ScsiReqBlk *srb ;
10380  struct AdapterCtlBlk *acb ;
10381  int tmp___7 ;
10382  struct scsi_device *__cil_tmp7 ;
10383  struct Scsi_Host *__cil_tmp8 ;
10384  unsigned long *__cil_tmp9 ;
10385  struct Scsi_Host *__cil_tmp10 ;
10386  unsigned int __cil_tmp11 ;
10387  struct scsi_device *__cil_tmp12 ;
10388  unsigned int __cil_tmp13 ;
10389  struct Scsi_Host *__cil_tmp14 ;
10390  unsigned int __cil_tmp15 ;
10391  struct scsi_device *__cil_tmp16 ;
10392  unsigned int __cil_tmp17 ;
10393  struct scsi_device *__cil_tmp18 ;
10394  unsigned int __cil_tmp19 ;
10395  struct scsi_device *__cil_tmp20 ;
10396  unsigned int __cil_tmp21 ;
10397  int __cil_tmp22 ;
10398  u8 __cil_tmp23 ;
10399  int __cil_tmp24 ;
10400  int __cil_tmp25 ;
10401  struct scsi_device *__cil_tmp26 ;
10402  unsigned int __cil_tmp27 ;
10403  struct scsi_device *__cil_tmp28 ;
10404  unsigned int __cil_tmp29 ;
10405  struct scsi_device *__cil_tmp30 ;
10406  unsigned int __cil_tmp31 ;
10407  u8 __cil_tmp32 ;
10408  struct scsi_device *__cil_tmp33 ;
10409  unsigned int __cil_tmp34 ;
10410  u8 __cil_tmp35 ;
10411  struct scsi_device *__cil_tmp36 ;
10412  unsigned int __cil_tmp37 ;
10413  struct scsi_device *__cil_tmp38 ;
10414  unsigned int __cil_tmp39 ;
10415  struct list_head *__cil_tmp40 ;
10416  struct list_head  const  *__cil_tmp41 ;
10417
10418  {
10419#line 1088
10420  __cil_tmp7 = cmd->device;
10421#line 1088
10422  __cil_tmp8 = __cil_tmp7->host;
10423#line 1088
10424  __cil_tmp9 = & __cil_tmp8->hostdata[0];
10425#line 1088
10426  acb = (struct AdapterCtlBlk *)__cil_tmp9;
10427  {
10428#line 1090
10429  while (1) {
10430    while_continue: /* CIL Label */ ;
10431
10432#line 1090
10433    goto while_break;
10434  }
10435  while_break___2: /* CIL Label */ ;
10436  }
10437
10438  while_break: 
10439#line 1094
10440  cmd->result = 4 << 16;
10441  {
10442#line 1097
10443  __cil_tmp10 = acb->scsi_host;
10444#line 1097
10445  __cil_tmp11 = __cil_tmp10->max_id;
10446#line 1097
10447  __cil_tmp12 = cmd->device;
10448#line 1097
10449  __cil_tmp13 = __cil_tmp12->id;
10450#line 1097
10451  if (__cil_tmp13 >= __cil_tmp11) {
10452#line 1100
10453    goto complete;
10454  } else {
10455    {
10456#line 1097
10457    __cil_tmp14 = acb->scsi_host;
10458#line 1097
10459    __cil_tmp15 = __cil_tmp14->max_lun;
10460#line 1097
10461    __cil_tmp16 = cmd->device;
10462#line 1097
10463    __cil_tmp17 = __cil_tmp16->lun;
10464#line 1097
10465    if (__cil_tmp17 >= __cil_tmp15) {
10466#line 1100
10467      goto complete;
10468    } else {
10469      {
10470#line 1097
10471      __cil_tmp18 = cmd->device;
10472#line 1097
10473      __cil_tmp19 = __cil_tmp18->lun;
10474#line 1097
10475      if (__cil_tmp19 > 31U) {
10476#line 1100
10477        goto complete;
10478      } else {
10479
10480      }
10481      }
10482    }
10483    }
10484  }
10485  }
10486  {
10487#line 1104
10488  __cil_tmp20 = cmd->device;
10489#line 1104
10490  __cil_tmp21 = __cil_tmp20->lun;
10491#line 1104
10492  __cil_tmp22 = 1 << __cil_tmp21;
10493#line 1104
10494  __cil_tmp23 = acb->dcb_map[(cmd->device)->id];
10495#line 1104
10496  __cil_tmp24 = (int )__cil_tmp23;
10497#line 1104
10498  __cil_tmp25 = __cil_tmp24 & __cil_tmp22;
10499#line 1104
10500  if (! __cil_tmp25) {
10501    {
10502#line 1105
10503    __cil_tmp26 = cmd->device;
10504#line 1105
10505    __cil_tmp27 = __cil_tmp26->id;
10506#line 1105
10507    __cil_tmp28 = cmd->device;
10508#line 1105
10509    __cil_tmp29 = __cil_tmp28->lun;
10510#line 1105
10511    printk("<6>dc395x: queue_command: Ignore target <%02i-%i>\n", __cil_tmp27, __cil_tmp29);
10512    }
10513#line 1107
10514    goto complete;
10515  } else {
10516
10517  }
10518  }
10519  {
10520#line 1111
10521  __cil_tmp30 = cmd->device;
10522#line 1111
10523  __cil_tmp31 = __cil_tmp30->id;
10524#line 1111
10525  __cil_tmp32 = (u8 )__cil_tmp31;
10526#line 1111
10527  __cil_tmp33 = cmd->device;
10528#line 1111
10529  __cil_tmp34 = __cil_tmp33->lun;
10530#line 1111
10531  __cil_tmp35 = (u8 )__cil_tmp34;
10532#line 1111
10533  dcb = find_dcb(acb, __cil_tmp32, __cil_tmp35);
10534  }
10535#line 1112
10536  if (! dcb) {
10537    {
10538#line 1114
10539    __cil_tmp36 = cmd->device;
10540#line 1114
10541    __cil_tmp37 = __cil_tmp36->id;
10542#line 1114
10543    __cil_tmp38 = cmd->device;
10544#line 1114
10545    __cil_tmp39 = __cil_tmp38->lun;
10546#line 1114
10547    printk("<3>dc395x: queue_command: No such device <%02i-%i>", __cil_tmp37, __cil_tmp39);
10548    }
10549#line 1116
10550    goto complete;
10551  } else {
10552
10553  }
10554  {
10555#line 1120
10556  cmd->scsi_done = done;
10557#line 1121
10558  cmd->result = 0;
10559#line 1123
10560  srb = srb_get_free(acb);
10561  }
10562#line 1124
10563  if (! srb) {
10564    {
10565#line 1130
10566    while (1) {
10567      while_continue___0: /* CIL Label */ ;
10568
10569#line 1130
10570      goto while_break___0;
10571    }
10572    while_break___3: /* CIL Label */ ;
10573    }
10574
10575    while_break___0: ;
10576#line 1131
10577    return (1);
10578  } else {
10579
10580  }
10581  {
10582#line 1134
10583  build_srb(cmd, dcb, srb);
10584#line 1136
10585  __cil_tmp40 = & dcb->srb_waiting_list;
10586#line 1136
10587  __cil_tmp41 = (struct list_head  const  *)__cil_tmp40;
10588#line 1136
10589  tmp___7 = list_empty(__cil_tmp41);
10590  }
10591#line 1136
10592  if (tmp___7) {
10593    {
10594#line 1142
10595    send_srb(acb, srb);
10596    }
10597  } else {
10598    {
10599#line 1138
10600    srb_waiting_append(dcb, srb);
10601#line 1139
10602    waiting_process_next(acb);
10603    }
10604  }
10605  {
10606#line 1144
10607  while (1) {
10608    while_continue___1: /* CIL Label */ ;
10609
10610#line 1144
10611    goto while_break___1;
10612  }
10613  while_break___4: /* CIL Label */ ;
10614  }
10615
10616  while_break___1: ;
10617#line 1145
10618  return (0);
10619  complete: 
10620  {
10621#line 1154
10622  (*done)(cmd);
10623  }
10624#line 1155
10625  return (0);
10626}
10627}
10628#line 1158 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10629static int dc395x_queue_command(struct Scsi_Host *shost , struct scsi_cmnd *cmd ) 
10630{ unsigned long irq_flags ;
10631  int rc ;
10632  raw_spinlock_t *tmp___7 ;
10633  spinlock_t *__cil_tmp6 ;
10634  void (*__cil_tmp7)(struct scsi_cmnd * ) ;
10635  spinlock_t *__cil_tmp8 ;
10636
10637  {
10638  {
10639#line 1158
10640  while (1) {
10641    while_continue: /* CIL Label */ ;
10642
10643    {
10644#line 1158
10645    while (1) {
10646      while_continue___0: /* CIL Label */ ;
10647      {
10648#line 1158
10649      __cil_tmp6 = shost->host_lock;
10650#line 1158
10651      tmp___7 = spinlock_check(__cil_tmp6);
10652#line 1158
10653      irq_flags = _raw_spin_lock_irqsave(tmp___7);
10654      }
10655#line 1158
10656      goto while_break___0;
10657    }
10658    while_break___2: /* CIL Label */ ;
10659    }
10660
10661    while_break___0: ;
10662#line 1158
10663    goto while_break;
10664  }
10665  while_break___1: /* CIL Label */ ;
10666  }
10667
10668  while_break: 
10669  {
10670#line 1158
10671  scsi_cmd_get_serial(shost, cmd);
10672#line 1158
10673  __cil_tmp7 = cmd->scsi_done;
10674#line 1158
10675  rc = dc395x_queue_command_lck(cmd, __cil_tmp7);
10676#line 1158
10677  __cil_tmp8 = shost->host_lock;
10678#line 1158
10679  spin_unlock_irqrestore(__cil_tmp8, irq_flags);
10680  }
10681#line 1158
10682  return (rc);
10683}
10684}
10685#line 1163 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10686static int dc395x_bios_param(struct scsi_device *sdev , struct block_device *bdev ,
10687                             sector_t capacity , int *info ) 
10688{ int tmp___7 ;
10689
10690  {
10691  {
10692#line 1187
10693  tmp___7 = scsicam_bios_param(bdev, capacity, info);
10694  }
10695#line 1187
10696  return (tmp___7);
10697}
10698}
10699#line 1192 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10700static void dump_register_info(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ,
10701                               struct ScsiReqBlk *srb ) 
10702{ u16 pstat ;
10703  struct pci_dev *dev ;
10704  char const   *tmp___7 ;
10705  unsigned char tmp___8 ;
10706  unsigned char tmp___9 ;
10707  unsigned char tmp___10 ;
10708  unsigned short tmp___11 ;
10709  unsigned char tmp___12 ;
10710  unsigned int tmp___13 ;
10711  unsigned char tmp___14 ;
10712  unsigned char tmp___15 ;
10713  unsigned char tmp___16 ;
10714  unsigned char tmp___17 ;
10715  unsigned char tmp___18 ;
10716  unsigned char tmp___19 ;
10717  unsigned short tmp___20 ;
10718  unsigned int tmp___21 ;
10719  unsigned int tmp___22 ;
10720  unsigned int tmp___23 ;
10721  unsigned int tmp___24 ;
10722  unsigned short tmp___25 ;
10723  unsigned char tmp___26 ;
10724  unsigned char tmp___27 ;
10725  unsigned char tmp___28 ;
10726  unsigned char tmp___29 ;
10727  unsigned short tmp___30 ;
10728  unsigned char tmp___31 ;
10729  unsigned char tmp___32 ;
10730  unsigned char tmp___33 ;
10731  struct scsi_cmnd *__cil_tmp33 ;
10732  struct scsi_cmnd *__cil_tmp34 ;
10733  struct scsi_cmnd *__cil_tmp35 ;
10734  struct scsi_cmnd *__cil_tmp36 ;
10735  unsigned char *__cil_tmp37 ;
10736  unsigned char *__cil_tmp38 ;
10737  unsigned char __cil_tmp39 ;
10738  int __cil_tmp40 ;
10739  struct scsi_cmnd *__cil_tmp41 ;
10740  struct scsi_device *__cil_tmp42 ;
10741  unsigned int __cil_tmp43 ;
10742  struct scsi_cmnd *__cil_tmp44 ;
10743  struct scsi_device *__cil_tmp45 ;
10744  unsigned int __cil_tmp46 ;
10745  struct SGentry *__cil_tmp47 ;
10746  u8 __cil_tmp48 ;
10747  int __cil_tmp49 ;
10748  u8 __cil_tmp50 ;
10749  int __cil_tmp51 ;
10750  size_t __cil_tmp52 ;
10751  u16 __cil_tmp53 ;
10752  int __cil_tmp54 ;
10753  u8 __cil_tmp55 ;
10754  int __cil_tmp56 ;
10755  u8 __cil_tmp57 ;
10756  int __cil_tmp58 ;
10757  unsigned long __cil_tmp59 ;
10758  unsigned long __cil_tmp60 ;
10759  int __cil_tmp61 ;
10760  unsigned long __cil_tmp62 ;
10761  unsigned long __cil_tmp63 ;
10762  int __cil_tmp64 ;
10763  unsigned long __cil_tmp65 ;
10764  unsigned long __cil_tmp66 ;
10765  int __cil_tmp67 ;
10766  unsigned long __cil_tmp68 ;
10767  unsigned long __cil_tmp69 ;
10768  int __cil_tmp70 ;
10769  unsigned long __cil_tmp71 ;
10770  unsigned long __cil_tmp72 ;
10771  int __cil_tmp73 ;
10772  unsigned long __cil_tmp74 ;
10773  unsigned long __cil_tmp75 ;
10774  int __cil_tmp76 ;
10775  unsigned long __cil_tmp77 ;
10776  unsigned long __cil_tmp78 ;
10777  int __cil_tmp79 ;
10778  unsigned long __cil_tmp80 ;
10779  unsigned long __cil_tmp81 ;
10780  int __cil_tmp82 ;
10781  unsigned long __cil_tmp83 ;
10782  unsigned long __cil_tmp84 ;
10783  int __cil_tmp85 ;
10784  unsigned long __cil_tmp86 ;
10785  unsigned long __cil_tmp87 ;
10786  int __cil_tmp88 ;
10787  unsigned long __cil_tmp89 ;
10788  unsigned long __cil_tmp90 ;
10789  int __cil_tmp91 ;
10790  unsigned long __cil_tmp92 ;
10791  unsigned long __cil_tmp93 ;
10792  int __cil_tmp94 ;
10793  unsigned long __cil_tmp95 ;
10794  unsigned long __cil_tmp96 ;
10795  int __cil_tmp97 ;
10796  int __cil_tmp98 ;
10797  int __cil_tmp99 ;
10798  int __cil_tmp100 ;
10799  int __cil_tmp101 ;
10800  int __cil_tmp102 ;
10801  int __cil_tmp103 ;
10802  int __cil_tmp104 ;
10803  int __cil_tmp105 ;
10804  int __cil_tmp106 ;
10805  int __cil_tmp107 ;
10806  int __cil_tmp108 ;
10807  int __cil_tmp109 ;
10808  unsigned long __cil_tmp110 ;
10809  unsigned long __cil_tmp111 ;
10810  int __cil_tmp112 ;
10811  unsigned long __cil_tmp113 ;
10812  unsigned long __cil_tmp114 ;
10813  int __cil_tmp115 ;
10814  unsigned long __cil_tmp116 ;
10815  unsigned long __cil_tmp117 ;
10816  int __cil_tmp118 ;
10817  unsigned long __cil_tmp119 ;
10818  unsigned long __cil_tmp120 ;
10819  int __cil_tmp121 ;
10820  unsigned long __cil_tmp122 ;
10821  unsigned long __cil_tmp123 ;
10822  int __cil_tmp124 ;
10823  unsigned long __cil_tmp125 ;
10824  unsigned long __cil_tmp126 ;
10825  int __cil_tmp127 ;
10826  unsigned long __cil_tmp128 ;
10827  unsigned long __cil_tmp129 ;
10828  int __cil_tmp130 ;
10829  unsigned long __cil_tmp131 ;
10830  unsigned long __cil_tmp132 ;
10831  int __cil_tmp133 ;
10832  unsigned long __cil_tmp134 ;
10833  unsigned long __cil_tmp135 ;
10834  int __cil_tmp136 ;
10835  unsigned long __cil_tmp137 ;
10836  unsigned long __cil_tmp138 ;
10837  int __cil_tmp139 ;
10838  int __cil_tmp140 ;
10839  int __cil_tmp141 ;
10840  int __cil_tmp142 ;
10841  int __cil_tmp143 ;
10842  int __cil_tmp144 ;
10843  int __cil_tmp145 ;
10844  unsigned long __cil_tmp146 ;
10845  unsigned long __cil_tmp147 ;
10846  int __cil_tmp148 ;
10847  unsigned long __cil_tmp149 ;
10848  unsigned long __cil_tmp150 ;
10849  int __cil_tmp151 ;
10850  unsigned long __cil_tmp152 ;
10851  unsigned long __cil_tmp153 ;
10852  int __cil_tmp154 ;
10853  int __cil_tmp155 ;
10854  int __cil_tmp156 ;
10855  int __cil_tmp157 ;
10856  int __cil_tmp158 ;
10857
10858  {
10859  {
10860#line 1196
10861  dev = acb->dev;
10862#line 1197
10863  pci_read_config_word(dev, 6, & pstat);
10864  }
10865#line 1198
10866  if (! dcb) {
10867#line 1199
10868    dcb = acb->active_dcb;
10869  } else {
10870
10871  }
10872#line 1200
10873  if (! srb) {
10874#line 1200
10875    if (dcb) {
10876#line 1201
10877      srb = dcb->active_srb;
10878    } else {
10879
10880    }
10881  } else {
10882
10883  }
10884#line 1202
10885  if (srb) {
10886    {
10887#line 1203
10888    __cil_tmp33 = srb->cmd;
10889#line 1203
10890    if (! __cil_tmp33) {
10891      {
10892#line 1204
10893      __cil_tmp34 = srb->cmd;
10894#line 1204
10895      printk("<6>dc395x: dump: srb=%p cmd=%p OOOPS!\n", srb, __cil_tmp34);
10896      }
10897    } else {
10898      {
10899#line 1207
10900      __cil_tmp35 = srb->cmd;
10901#line 1207
10902      __cil_tmp36 = srb->cmd;
10903#line 1207
10904      __cil_tmp37 = __cil_tmp36->cmnd;
10905#line 1207
10906      __cil_tmp38 = __cil_tmp37 + 0;
10907#line 1207
10908      __cil_tmp39 = *__cil_tmp38;
10909#line 1207
10910      __cil_tmp40 = (int )__cil_tmp39;
10911#line 1207
10912      __cil_tmp41 = srb->cmd;
10913#line 1207
10914      __cil_tmp42 = __cil_tmp41->device;
10915#line 1207
10916      __cil_tmp43 = __cil_tmp42->id;
10917#line 1207
10918      __cil_tmp44 = srb->cmd;
10919#line 1207
10920      __cil_tmp45 = __cil_tmp44->device;
10921#line 1207
10922      __cil_tmp46 = __cil_tmp45->lun;
10923#line 1207
10924      printk("<6>dc395x: dump: srb=%p cmd=%p cmnd=0x%02x <%02i-%i>\n", srb, __cil_tmp35,
10925             __cil_tmp40, __cil_tmp43, __cil_tmp46);
10926      }
10927    }
10928    }
10929    {
10930#line 1212
10931    __cil_tmp47 = srb->segment_x;
10932#line 1212
10933    __cil_tmp48 = srb->sg_count;
10934#line 1212
10935    __cil_tmp49 = (int )__cil_tmp48;
10936#line 1212
10937    __cil_tmp50 = srb->sg_index;
10938#line 1212
10939    __cil_tmp51 = (int )__cil_tmp50;
10940#line 1212
10941    __cil_tmp52 = srb->total_xfer_length;
10942#line 1212
10943    printk("  sglist=%p cnt=%i idx=%i len=%zu\n", __cil_tmp47, __cil_tmp49, __cil_tmp51,
10944           __cil_tmp52);
10945    }
10946#line 1215
10947    if (acb->active_dcb) {
10948#line 1215
10949      tmp___7 = "";
10950    } else {
10951#line 1215
10952      tmp___7 = "not";
10953    }
10954    {
10955#line 1215
10956    __cil_tmp53 = srb->state;
10957#line 1215
10958    __cil_tmp54 = (int )__cil_tmp53;
10959#line 1215
10960    __cil_tmp55 = srb->status;
10961#line 1215
10962    __cil_tmp56 = (int )__cil_tmp55;
10963#line 1215
10964    __cil_tmp57 = srb->scsi_phase;
10965#line 1215
10966    __cil_tmp58 = (int )__cil_tmp57;
10967#line 1215
10968    printk("  state=0x%04x status=0x%02x phase=0x%02x (%sconn.)\n", __cil_tmp54, __cil_tmp56,
10969           __cil_tmp58, tmp___7);
10970    }
10971  } else {
10972
10973  }
10974  {
10975#line 1219
10976  __cil_tmp59 = acb->io_port_base;
10977#line 1219
10978  __cil_tmp60 = __cil_tmp59 + 145UL;
10979#line 1219
10980  __cil_tmp61 = (int )__cil_tmp60;
10981#line 1219
10982  tmp___8 = inb(__cil_tmp61);
10983#line 1219
10984  __cil_tmp62 = acb->io_port_base;
10985#line 1219
10986  __cil_tmp63 = __cil_tmp62 + 144UL;
10987#line 1219
10988  __cil_tmp64 = (int )__cil_tmp63;
10989#line 1219
10990  tmp___9 = inb(__cil_tmp64);
10991#line 1219
10992  __cil_tmp65 = acb->io_port_base;
10993#line 1219
10994  __cil_tmp66 = __cil_tmp65 + 143UL;
10995#line 1219
10996  __cil_tmp67 = (int )__cil_tmp66;
10997#line 1219
10998  tmp___10 = inb(__cil_tmp67);
10999#line 1219
11000  __cil_tmp68 = acb->io_port_base;
11001#line 1219
11002  __cil_tmp69 = __cil_tmp68 + 141UL;
11003#line 1219
11004  __cil_tmp70 = (int )__cil_tmp69;
11005#line 1219
11006  tmp___11 = inw(__cil_tmp70);
11007#line 1219
11008  __cil_tmp71 = acb->io_port_base;
11009#line 1219
11010  __cil_tmp72 = __cil_tmp71 + 140UL;
11011#line 1219
11012  __cil_tmp73 = (int )__cil_tmp72;
11013#line 1219
11014  tmp___12 = inb(__cil_tmp73);
11015#line 1219
11016  __cil_tmp74 = acb->io_port_base;
11017#line 1219
11018  __cil_tmp75 = __cil_tmp74 + 136UL;
11019#line 1219
11020  __cil_tmp76 = (int )__cil_tmp75;
11021#line 1219
11022  tmp___13 = inl(__cil_tmp76);
11023#line 1219
11024  __cil_tmp77 = acb->io_port_base;
11025#line 1219
11026  __cil_tmp78 = __cil_tmp77 + 135UL;
11027#line 1219
11028  __cil_tmp79 = (int )__cil_tmp78;
11029#line 1219
11030  tmp___14 = inb(__cil_tmp79);
11031#line 1219
11032  __cil_tmp80 = acb->io_port_base;
11033#line 1219
11034  __cil_tmp81 = __cil_tmp80 + 134UL;
11035#line 1219
11036  __cil_tmp82 = (int )__cil_tmp81;
11037#line 1219
11038  tmp___15 = inb(__cil_tmp82);
11039#line 1219
11040  __cil_tmp83 = acb->io_port_base;
11041#line 1219
11042  __cil_tmp84 = __cil_tmp83 + 133UL;
11043#line 1219
11044  __cil_tmp85 = (int )__cil_tmp84;
11045#line 1219
11046  tmp___16 = inb(__cil_tmp85);
11047#line 1219
11048  __cil_tmp86 = acb->io_port_base;
11049#line 1219
11050  __cil_tmp87 = __cil_tmp86 + 132UL;
11051#line 1219
11052  __cil_tmp88 = (int )__cil_tmp87;
11053#line 1219
11054  tmp___17 = inb(__cil_tmp88);
11055#line 1219
11056  __cil_tmp89 = acb->io_port_base;
11057#line 1219
11058  __cil_tmp90 = __cil_tmp89 + 131UL;
11059#line 1219
11060  __cil_tmp91 = (int )__cil_tmp90;
11061#line 1219
11062  tmp___18 = inb(__cil_tmp91);
11063#line 1219
11064  __cil_tmp92 = acb->io_port_base;
11065#line 1219
11066  __cil_tmp93 = __cil_tmp92 + 130UL;
11067#line 1219
11068  __cil_tmp94 = (int )__cil_tmp93;
11069#line 1219
11070  tmp___19 = inb(__cil_tmp94);
11071#line 1219
11072  __cil_tmp95 = acb->io_port_base;
11073#line 1219
11074  __cil_tmp96 = __cil_tmp95 + 128UL;
11075#line 1219
11076  __cil_tmp97 = (int )__cil_tmp96;
11077#line 1219
11078  tmp___20 = inw(__cil_tmp97);
11079#line 1219
11080  __cil_tmp98 = (int )tmp___20;
11081#line 1219
11082  __cil_tmp99 = (int )tmp___19;
11083#line 1219
11084  __cil_tmp100 = (int )tmp___18;
11085#line 1219
11086  __cil_tmp101 = (int )tmp___17;
11087#line 1219
11088  __cil_tmp102 = (int )tmp___16;
11089#line 1219
11090  __cil_tmp103 = (int )tmp___15;
11091#line 1219
11092  __cil_tmp104 = (int )tmp___14;
11093#line 1219
11094  __cil_tmp105 = (int )tmp___12;
11095#line 1219
11096  __cil_tmp106 = (int )tmp___11;
11097#line 1219
11098  __cil_tmp107 = (int )tmp___10;
11099#line 1219
11100  __cil_tmp108 = (int )tmp___9;
11101#line 1219
11102  __cil_tmp109 = (int )tmp___8;
11103#line 1219
11104  printk("<6>dc395x: dump: SCSI{status=0x%04x fifocnt=0x%02x signals=0x%02x irqstat=0x%02x sync=0x%02x target=0x%02x rselid=0x%02x ctr=0x%08x irqen=0x%02x config=0x%04x config2=0x%02x cmd=0x%02x selto=0x%02x}\n",
11105         __cil_tmp98, __cil_tmp99, __cil_tmp100, __cil_tmp101, __cil_tmp102, __cil_tmp103,
11106         __cil_tmp104, tmp___13, __cil_tmp105, __cil_tmp106, __cil_tmp107, __cil_tmp108,
11107         __cil_tmp109);
11108#line 1236
11109  __cil_tmp110 = acb->io_port_base;
11110#line 1236
11111  __cil_tmp111 = __cil_tmp110 + 176UL;
11112#line 1236
11113  __cil_tmp112 = (int )__cil_tmp111;
11114#line 1236
11115  tmp___21 = inl(__cil_tmp112);
11116#line 1236
11117  __cil_tmp113 = acb->io_port_base;
11118#line 1236
11119  __cil_tmp114 = __cil_tmp113 + 180UL;
11120#line 1236
11121  __cil_tmp115 = (int )__cil_tmp114;
11122#line 1236
11123  tmp___22 = inl(__cil_tmp115);
11124#line 1236
11125  __cil_tmp116 = acb->io_port_base;
11126#line 1236
11127  __cil_tmp117 = __cil_tmp116 + 172UL;
11128#line 1236
11129  __cil_tmp118 = (int )__cil_tmp117;
11130#line 1236
11131  tmp___23 = inl(__cil_tmp118);
11132#line 1236
11133  __cil_tmp119 = acb->io_port_base;
11134#line 1236
11135  __cil_tmp120 = __cil_tmp119 + 168UL;
11136#line 1236
11137  __cil_tmp121 = (int )__cil_tmp120;
11138#line 1236
11139  tmp___24 = inl(__cil_tmp121);
11140#line 1236
11141  __cil_tmp122 = acb->io_port_base;
11142#line 1236
11143  __cil_tmp123 = __cil_tmp122 + 166UL;
11144#line 1236
11145  __cil_tmp124 = (int )__cil_tmp123;
11146#line 1236
11147  tmp___25 = inw(__cil_tmp124);
11148#line 1236
11149  __cil_tmp125 = acb->io_port_base;
11150#line 1236
11151  __cil_tmp126 = __cil_tmp125 + 164UL;
11152#line 1236
11153  __cil_tmp127 = (int )__cil_tmp126;
11154#line 1236
11155  tmp___26 = inb(__cil_tmp127);
11156#line 1236
11157  __cil_tmp128 = acb->io_port_base;
11158#line 1236
11159  __cil_tmp129 = __cil_tmp128 + 163UL;
11160#line 1236
11161  __cil_tmp130 = (int )__cil_tmp129;
11162#line 1236
11163  tmp___27 = inb(__cil_tmp130);
11164#line 1236
11165  __cil_tmp131 = acb->io_port_base;
11166#line 1236
11167  __cil_tmp132 = __cil_tmp131 + 162UL;
11168#line 1236
11169  __cil_tmp133 = (int )__cil_tmp132;
11170#line 1236
11171  tmp___28 = inb(__cil_tmp133);
11172#line 1236
11173  __cil_tmp134 = acb->io_port_base;
11174#line 1236
11175  __cil_tmp135 = __cil_tmp134 + 161UL;
11176#line 1236
11177  __cil_tmp136 = (int )__cil_tmp135;
11178#line 1236
11179  tmp___29 = inb(__cil_tmp136);
11180#line 1236
11181  __cil_tmp137 = acb->io_port_base;
11182#line 1236
11183  __cil_tmp138 = __cil_tmp137 + 160UL;
11184#line 1236
11185  __cil_tmp139 = (int )__cil_tmp138;
11186#line 1236
11187  tmp___30 = inw(__cil_tmp139);
11188#line 1236
11189  __cil_tmp140 = (int )tmp___30;
11190#line 1236
11191  __cil_tmp141 = (int )tmp___29;
11192#line 1236
11193  __cil_tmp142 = (int )tmp___28;
11194#line 1236
11195  __cil_tmp143 = (int )tmp___27;
11196#line 1236
11197  __cil_tmp144 = (int )tmp___26;
11198#line 1236
11199  __cil_tmp145 = (int )tmp___25;
11200#line 1236
11201  printk("<6>dc395x: dump: DMA{cmd=0x%04x fifocnt=0x%02x fstat=0x%02x irqstat=0x%02x irqen=0x%02x cfg=0x%04x tctr=0x%08x ctctr=0x%08x addr=0x%08x:0x%08x}\n",
11202         __cil_tmp140, __cil_tmp141, __cil_tmp142, __cil_tmp143, __cil_tmp144, __cil_tmp145,
11203         tmp___24, tmp___23, tmp___22, tmp___21);
11204#line 1249
11205  __cil_tmp146 = acb->io_port_base;
11206#line 1249
11207  __cil_tmp147 = __cil_tmp146 + 219UL;
11208#line 1249
11209  __cil_tmp148 = (int )__cil_tmp147;
11210#line 1249
11211  tmp___31 = inb(__cil_tmp148);
11212#line 1249
11213  __cil_tmp149 = acb->io_port_base;
11214#line 1249
11215  __cil_tmp150 = __cil_tmp149 + 213UL;
11216#line 1249
11217  __cil_tmp151 = (int )__cil_tmp150;
11218#line 1249
11219  tmp___32 = inb(__cil_tmp151);
11220#line 1249
11221  __cil_tmp152 = acb->io_port_base;
11222#line 1249
11223  __cil_tmp153 = __cil_tmp152 + 212UL;
11224#line 1249
11225  __cil_tmp154 = (int )__cil_tmp153;
11226#line 1249
11227  tmp___33 = inb(__cil_tmp154);
11228#line 1249
11229  __cil_tmp155 = (int )tmp___33;
11230#line 1249
11231  __cil_tmp156 = (int )tmp___32;
11232#line 1249
11233  __cil_tmp157 = (int )tmp___31;
11234#line 1249
11235  __cil_tmp158 = (int )pstat;
11236#line 1249
11237  printk("<6>dc395x: dump: gen{gctrl=0x%02x gstat=0x%02x gtmr=0x%02x} pci{status=0x%04x}\n",
11238         __cil_tmp155, __cil_tmp156, __cil_tmp157, __cil_tmp158);
11239  }
11240#line 1255
11241  return;
11242}
11243}
11244#line 1258 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11245__inline static void clear_fifo(struct AdapterCtlBlk *acb , char *txt ) 
11246{ unsigned long __cil_tmp3 ;
11247  unsigned long __cil_tmp4 ;
11248  int __cil_tmp5 ;
11249
11250  {
11251  {
11252#line 1268
11253  __cil_tmp3 = acb->io_port_base;
11254#line 1268
11255  __cil_tmp4 = __cil_tmp3 + 128UL;
11256#line 1268
11257  __cil_tmp5 = (int )__cil_tmp4;
11258#line 1268
11259  outw((unsigned short)4, __cil_tmp5);
11260  }
11261#line 1269
11262  return;
11263}
11264}
11265#line 1272 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11266static void reset_dev_param(struct AdapterCtlBlk *acb ) 
11267{ struct DeviceCtlBlk *dcb ;
11268  struct NvRamType *eeprom ;
11269  struct list_head  const  *__mptr ;
11270  struct list_head  const  *__mptr___0 ;
11271  u8 period_index ;
11272  struct list_head *__cil_tmp7 ;
11273  struct DeviceCtlBlk *__cil_tmp8 ;
11274  struct list_head *__cil_tmp9 ;
11275  unsigned int __cil_tmp10 ;
11276  char *__cil_tmp11 ;
11277  char *__cil_tmp12 ;
11278  struct list_head *__cil_tmp13 ;
11279  unsigned long __cil_tmp14 ;
11280  struct list_head *__cil_tmp15 ;
11281  unsigned long __cil_tmp16 ;
11282  u8 __cil_tmp17 ;
11283  int __cil_tmp18 ;
11284  int __cil_tmp19 ;
11285  u8 __cil_tmp20 ;
11286  int __cil_tmp21 ;
11287  int __cil_tmp22 ;
11288  u8 __cil_tmp23 ;
11289  int __cil_tmp24 ;
11290  int __cil_tmp25 ;
11291  u8 __cil_tmp26 ;
11292  int __cil_tmp27 ;
11293  int __cil_tmp28 ;
11294  u8 __cil_tmp29 ;
11295  int __cil_tmp30 ;
11296  int __cil_tmp31 ;
11297  u8 __cil_tmp32 ;
11298  int __cil_tmp33 ;
11299  int __cil_tmp34 ;
11300  struct list_head *__cil_tmp35 ;
11301  struct DeviceCtlBlk *__cil_tmp36 ;
11302  struct list_head *__cil_tmp37 ;
11303  unsigned int __cil_tmp38 ;
11304  char *__cil_tmp39 ;
11305  char *__cil_tmp40 ;
11306
11307  {
11308#line 1275
11309  eeprom = & acb->eeprom;
11310  {
11311#line 1276
11312  while (1) {
11313    while_continue: /* CIL Label */ ;
11314
11315#line 1276
11316    goto while_break;
11317  }
11318  while_break___1: /* CIL Label */ ;
11319  }
11320
11321  while_break: 
11322#line 1278
11323  __cil_tmp7 = acb->dcb_list.next;
11324#line 1278
11325  __mptr = (struct list_head  const  *)__cil_tmp7;
11326#line 1278
11327  __cil_tmp8 = (struct DeviceCtlBlk *)0;
11328#line 1278
11329  __cil_tmp9 = & __cil_tmp8->list;
11330#line 1278
11331  __cil_tmp10 = (unsigned int )__cil_tmp9;
11332#line 1278
11333  __cil_tmp11 = (char *)__mptr;
11334#line 1278
11335  __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
11336#line 1278
11337  dcb = (struct DeviceCtlBlk *)__cil_tmp12;
11338  {
11339#line 1278
11340  while (1) {
11341    while_continue___0: /* CIL Label */ ;
11342
11343    {
11344#line 1278
11345    __cil_tmp13 = & acb->dcb_list;
11346#line 1278
11347    __cil_tmp14 = (unsigned long )__cil_tmp13;
11348#line 1278
11349    __cil_tmp15 = & dcb->list;
11350#line 1278
11351    __cil_tmp16 = (unsigned long )__cil_tmp15;
11352#line 1278
11353    if (__cil_tmp16 != __cil_tmp14) {
11354
11355    } else {
11356#line 1278
11357      goto while_break___0;
11358    }
11359    }
11360#line 1281
11361    __cil_tmp17 = dcb->sync_mode;
11362#line 1281
11363    __cil_tmp18 = (int )__cil_tmp17;
11364#line 1281
11365    __cil_tmp19 = __cil_tmp18 & -11;
11366#line 1281
11367    dcb->sync_mode = (u8 )__cil_tmp19;
11368#line 1282
11369    dcb->sync_period = (u8 )0;
11370#line 1283
11371    dcb->sync_offset = (u8 )0;
11372#line 1285
11373    dcb->dev_mode = eeprom->target[dcb->target_id].cfg0;
11374#line 1286
11375    __cil_tmp20 = eeprom->target[dcb->target_id].period;
11376#line 1286
11377    __cil_tmp21 = (int )__cil_tmp20;
11378#line 1286
11379    __cil_tmp22 = __cil_tmp21 & 7;
11380#line 1286
11381    period_index = (u8 )__cil_tmp22;
11382#line 1287
11383    dcb->min_nego_period = clock_period[period_index];
11384    {
11385#line 1288
11386    __cil_tmp23 = dcb->dev_mode;
11387#line 1288
11388    __cil_tmp24 = (int )__cil_tmp23;
11389#line 1288
11390    __cil_tmp25 = __cil_tmp24 & 32;
11391#line 1288
11392    if (! __cil_tmp25) {
11393#line 1290
11394      __cil_tmp26 = dcb->sync_mode;
11395#line 1290
11396      __cil_tmp27 = (int )__cil_tmp26;
11397#line 1290
11398      __cil_tmp28 = __cil_tmp27 & -5;
11399#line 1290
11400      dcb->sync_mode = (u8 )__cil_tmp28;
11401    } else {
11402      {
11403#line 1288
11404      __cil_tmp29 = acb->config;
11405#line 1288
11406      __cil_tmp30 = (int )__cil_tmp29;
11407#line 1288
11408      __cil_tmp31 = __cil_tmp30 & 32;
11409#line 1288
11410      if (! __cil_tmp31) {
11411#line 1290
11412        __cil_tmp32 = dcb->sync_mode;
11413#line 1290
11414        __cil_tmp33 = (int )__cil_tmp32;
11415#line 1290
11416        __cil_tmp34 = __cil_tmp33 & -5;
11417#line 1290
11418        dcb->sync_mode = (u8 )__cil_tmp34;
11419      } else {
11420
11421      }
11422      }
11423    }
11424    }
11425#line 1278
11426    __cil_tmp35 = dcb->list.next;
11427#line 1278
11428    __mptr___0 = (struct list_head  const  *)__cil_tmp35;
11429#line 1278
11430    __cil_tmp36 = (struct DeviceCtlBlk *)0;
11431#line 1278
11432    __cil_tmp37 = & __cil_tmp36->list;
11433#line 1278
11434    __cil_tmp38 = (unsigned int )__cil_tmp37;
11435#line 1278
11436    __cil_tmp39 = (char *)__mptr___0;
11437#line 1278
11438    __cil_tmp40 = __cil_tmp39 - __cil_tmp38;
11439#line 1278
11440    dcb = (struct DeviceCtlBlk *)__cil_tmp40;
11441  }
11442  while_break___2: /* CIL Label */ ;
11443  }
11444
11445  while_break___0: ;
11446#line 1292
11447  return;
11448}
11449}
11450#line 1300 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11451static int __dc395x_eh_bus_reset(struct scsi_cmnd *cmd ) 
11452{ struct AdapterCtlBlk *acb ;
11453  int tmp___7 ;
11454  struct scsi_device *__cil_tmp4 ;
11455  struct Scsi_Host *__cil_tmp5 ;
11456  unsigned long *__cil_tmp6 ;
11457  struct scsi_device *__cil_tmp7 ;
11458  unsigned int __cil_tmp8 ;
11459  struct scsi_device *__cil_tmp9 ;
11460  unsigned int __cil_tmp10 ;
11461  struct timer_list *__cil_tmp11 ;
11462  struct timer_list  const  *__cil_tmp12 ;
11463  struct timer_list *__cil_tmp13 ;
11464  unsigned long __cil_tmp14 ;
11465  unsigned long __cil_tmp15 ;
11466  int __cil_tmp16 ;
11467  unsigned long __cil_tmp17 ;
11468  unsigned long __cil_tmp18 ;
11469  int __cil_tmp19 ;
11470  unsigned long __cil_tmp20 ;
11471  unsigned long __cil_tmp21 ;
11472  int __cil_tmp22 ;
11473  unsigned long __cil_tmp23 ;
11474  unsigned long __cil_tmp24 ;
11475  int __cil_tmp25 ;
11476  struct Scsi_Host *__cil_tmp26 ;
11477  u8 __cil_tmp27 ;
11478  int __cil_tmp28 ;
11479  int __cil_tmp29 ;
11480  unsigned long volatile   __cil_tmp30 ;
11481  unsigned long volatile   __cil_tmp31 ;
11482  unsigned long volatile   __cil_tmp32 ;
11483  unsigned long volatile   __cil_tmp33 ;
11484  unsigned long __cil_tmp34 ;
11485  unsigned long __cil_tmp35 ;
11486  int __cil_tmp36 ;
11487  char *__cil_tmp37 ;
11488  unsigned long __cil_tmp38 ;
11489  unsigned long __cil_tmp39 ;
11490  int __cil_tmp40 ;
11491  u8 __cil_tmp41 ;
11492  u8 __cil_tmp42 ;
11493  void *__cil_tmp43 ;
11494
11495  {
11496  {
11497#line 1302
11498  __cil_tmp4 = cmd->device;
11499#line 1302
11500  __cil_tmp5 = __cil_tmp4->host;
11501#line 1302
11502  __cil_tmp6 = & __cil_tmp5->hostdata[0];
11503#line 1302
11504  acb = (struct AdapterCtlBlk *)__cil_tmp6;
11505#line 1304
11506  __cil_tmp7 = cmd->device;
11507#line 1304
11508  __cil_tmp8 = __cil_tmp7->id;
11509#line 1304
11510  __cil_tmp9 = cmd->device;
11511#line 1304
11512  __cil_tmp10 = __cil_tmp9->lun;
11513#line 1304
11514  printk("<6>dc395x: eh_bus_reset: (0%p) target=<%02i-%i> cmd=%p\n", cmd, __cil_tmp8,
11515         __cil_tmp10, cmd);
11516#line 1308
11517  __cil_tmp11 = & acb->waiting_timer;
11518#line 1308
11519  __cil_tmp12 = (struct timer_list  const  *)__cil_tmp11;
11520#line 1308
11521  tmp___7 = timer_pending(__cil_tmp12);
11522  }
11523#line 1308
11524  if (tmp___7) {
11525    {
11526#line 1309
11527    __cil_tmp13 = & acb->waiting_timer;
11528#line 1309
11529    del_timer(__cil_tmp13);
11530    }
11531  } else {
11532
11533  }
11534  {
11535#line 1314
11536  __cil_tmp14 = acb->io_port_base;
11537#line 1314
11538  __cil_tmp15 = __cil_tmp14 + 164UL;
11539#line 1314
11540  __cil_tmp16 = (int )__cil_tmp15;
11541#line 1314
11542  outb((unsigned char)0, __cil_tmp16);
11543#line 1315
11544  __cil_tmp17 = acb->io_port_base;
11545#line 1315
11546  __cil_tmp18 = __cil_tmp17 + 140UL;
11547#line 1315
11548  __cil_tmp19 = (int )__cil_tmp18;
11549#line 1315
11550  outb((unsigned char)0, __cil_tmp19);
11551#line 1316
11552  __cil_tmp20 = acb->io_port_base;
11553#line 1316
11554  __cil_tmp21 = __cil_tmp20 + 128UL;
11555#line 1316
11556  __cil_tmp22 = (int )__cil_tmp21;
11557#line 1316
11558  outb((unsigned char)16, __cil_tmp22);
11559#line 1317
11560  __cil_tmp23 = acb->io_port_base;
11561#line 1317
11562  __cil_tmp24 = __cil_tmp23 + 161UL;
11563#line 1317
11564  __cil_tmp25 = (int )__cil_tmp24;
11565#line 1317
11566  outb((unsigned char)16, __cil_tmp25);
11567#line 1319
11568  reset_scsi_bus(acb);
11569#line 1320
11570  __const_udelay(2147500UL);
11571#line 1323
11572  __cil_tmp26 = acb->scsi_host;
11573#line 1323
11574  __cil_tmp27 = acb->eeprom.delay_time;
11575#line 1323
11576  __cil_tmp28 = (int )__cil_tmp27;
11577#line 1323
11578  __cil_tmp29 = 250 * __cil_tmp28;
11579#line 1323
11580  __cil_tmp30 = (unsigned long volatile   )__cil_tmp29;
11581#line 1323
11582  __cil_tmp31 = (unsigned long volatile   )375;
11583#line 1323
11584  __cil_tmp32 = jiffies + __cil_tmp31;
11585#line 1323
11586  __cil_tmp33 = __cil_tmp32 + __cil_tmp30;
11587#line 1323
11588  __cil_tmp26->last_reset = (unsigned long )__cil_tmp33;
11589#line 1331
11590  __cil_tmp34 = acb->io_port_base;
11591#line 1331
11592  __cil_tmp35 = __cil_tmp34 + 161UL;
11593#line 1331
11594  __cil_tmp36 = (int )__cil_tmp35;
11595#line 1331
11596  outb((unsigned char)2, __cil_tmp36);
11597#line 1332
11598  __cil_tmp37 = (char *)"eh_bus_reset";
11599#line 1332
11600  clear_fifo(acb, __cil_tmp37);
11601#line 1334
11602  __cil_tmp38 = acb->io_port_base;
11603#line 1334
11604  __cil_tmp39 = __cil_tmp38 + 132UL;
11605#line 1334
11606  __cil_tmp40 = (int )__cil_tmp39;
11607#line 1334
11608  inb(__cil_tmp40);
11609#line 1335
11610  set_basic_config(acb);
11611#line 1337
11612  reset_dev_param(acb);
11613#line 1338
11614  __cil_tmp41 = (u8 )8;
11615#line 1338
11616  __cil_tmp42 = (u8 )0;
11617#line 1338
11618  doing_srb_done(acb, __cil_tmp41, cmd, __cil_tmp42);
11619#line 1339
11620  __cil_tmp43 = (void *)0;
11621#line 1339
11622  acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp43;
11623#line 1340
11624  acb->acb_flag = (u8 )0;
11625#line 1341
11626  waiting_process_next(acb);
11627  }
11628#line 1343
11629  return (8194);
11630}
11631}
11632#line 1346 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11633static int dc395x_eh_bus_reset(struct scsi_cmnd *cmd ) 
11634{ int rc ;
11635  struct scsi_device *__cil_tmp3 ;
11636  struct Scsi_Host *__cil_tmp4 ;
11637  spinlock_t *__cil_tmp5 ;
11638  struct scsi_device *__cil_tmp6 ;
11639  struct Scsi_Host *__cil_tmp7 ;
11640  spinlock_t *__cil_tmp8 ;
11641
11642  {
11643  {
11644#line 1350
11645  __cil_tmp3 = cmd->device;
11646#line 1350
11647  __cil_tmp4 = __cil_tmp3->host;
11648#line 1350
11649  __cil_tmp5 = __cil_tmp4->host_lock;
11650#line 1350
11651  spin_lock_irq(__cil_tmp5);
11652#line 1351
11653  rc = __dc395x_eh_bus_reset(cmd);
11654#line 1352
11655  __cil_tmp6 = cmd->device;
11656#line 1352
11657  __cil_tmp7 = __cil_tmp6->host;
11658#line 1352
11659  __cil_tmp8 = __cil_tmp7->host_lock;
11660#line 1352
11661  spin_unlock_irq(__cil_tmp8);
11662  }
11663#line 1354
11664  return (rc);
11665}
11666}
11667#line 1362 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11668static int dc395x_eh_abort(struct scsi_cmnd *cmd ) 
11669{ struct AdapterCtlBlk *acb ;
11670  struct DeviceCtlBlk *dcb ;
11671  struct ScsiReqBlk *srb ;
11672  struct scsi_device *__cil_tmp5 ;
11673  struct Scsi_Host *__cil_tmp6 ;
11674  unsigned long *__cil_tmp7 ;
11675  struct scsi_device *__cil_tmp8 ;
11676  unsigned int __cil_tmp9 ;
11677  struct scsi_device *__cil_tmp10 ;
11678  unsigned int __cil_tmp11 ;
11679  struct scsi_device *__cil_tmp12 ;
11680  unsigned int __cil_tmp13 ;
11681  u8 __cil_tmp14 ;
11682  struct scsi_device *__cil_tmp15 ;
11683  unsigned int __cil_tmp16 ;
11684  u8 __cil_tmp17 ;
11685  struct list_head *__cil_tmp18 ;
11686  struct list_head *__cil_tmp19 ;
11687
11688  {
11689  {
11690#line 1368
11691  __cil_tmp5 = cmd->device;
11692#line 1368
11693  __cil_tmp6 = __cil_tmp5->host;
11694#line 1368
11695  __cil_tmp7 = & __cil_tmp6->hostdata[0];
11696#line 1368
11697  acb = (struct AdapterCtlBlk *)__cil_tmp7;
11698#line 1372
11699  __cil_tmp8 = cmd->device;
11700#line 1372
11701  __cil_tmp9 = __cil_tmp8->id;
11702#line 1372
11703  __cil_tmp10 = cmd->device;
11704#line 1372
11705  __cil_tmp11 = __cil_tmp10->lun;
11706#line 1372
11707  printk("<6>dc395x: eh_abort: (0x%p) target=<%02i-%i> cmd=%p\n", cmd, __cil_tmp9,
11708         __cil_tmp11, cmd);
11709#line 1375
11710  __cil_tmp12 = cmd->device;
11711#line 1375
11712  __cil_tmp13 = __cil_tmp12->id;
11713#line 1375
11714  __cil_tmp14 = (u8 )__cil_tmp13;
11715#line 1375
11716  __cil_tmp15 = cmd->device;
11717#line 1375
11718  __cil_tmp16 = __cil_tmp15->lun;
11719#line 1375
11720  __cil_tmp17 = (u8 )__cil_tmp16;
11721#line 1375
11722  dcb = find_dcb(acb, __cil_tmp14, __cil_tmp17);
11723  }
11724#line 1376
11725  if (! dcb) {
11726    {
11727#line 1377
11728    printk("<7>dc395x: eh_abort: No such device\n");
11729    }
11730#line 1378
11731    return (8195);
11732  } else {
11733
11734  }
11735  {
11736#line 1381
11737  __cil_tmp18 = & dcb->srb_waiting_list;
11738#line 1381
11739  srb = find_cmd(cmd, __cil_tmp18);
11740  }
11741#line 1382
11742  if (srb) {
11743    {
11744#line 1383
11745    srb_waiting_remove(dcb, srb);
11746#line 1384
11747    pci_unmap_srb_sense(acb, srb);
11748#line 1385
11749    pci_unmap_srb(acb, srb);
11750#line 1386
11751    free_tag(dcb, srb);
11752#line 1387
11753    srb_free_insert(acb, srb);
11754#line 1388
11755    printk("<7>dc395x: eh_abort: Command was waiting\n");
11756#line 1389
11757    cmd->result = 5 << 16;
11758    }
11759#line 1390
11760    return (8194);
11761  } else {
11762
11763  }
11764  {
11765#line 1392
11766  __cil_tmp19 = & dcb->srb_going_list;
11767#line 1392
11768  srb = find_cmd(cmd, __cil_tmp19);
11769  }
11770#line 1393
11771  if (srb) {
11772    {
11773#line 1394
11774    printk("<7>dc395x: eh_abort: Command in progress\n");
11775    }
11776  } else {
11777    {
11778#line 1397
11779    printk("<7>dc395x: eh_abort: Command not found\n");
11780    }
11781  }
11782#line 1399
11783  return (8195);
11784}
11785}
11786#line 1404 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11787static void build_sdtr(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
11788{ u8 *ptr ;
11789  u8 *tmp___7 ;
11790  u8 *tmp___8 ;
11791  u8 *tmp___9 ;
11792  u8 *tmp___10 ;
11793  u8 *tmp___11 ;
11794  u8 __cil_tmp10 ;
11795  int __cil_tmp11 ;
11796  u8 *__cil_tmp12 ;
11797  u8 __cil_tmp13 ;
11798  int __cil_tmp14 ;
11799  u8 __cil_tmp15 ;
11800  int __cil_tmp16 ;
11801  u8 __cil_tmp17 ;
11802  int __cil_tmp18 ;
11803  u8 __cil_tmp19 ;
11804  int __cil_tmp20 ;
11805  u8 __cil_tmp21 ;
11806  int __cil_tmp22 ;
11807  int __cil_tmp23 ;
11808  int __cil_tmp24 ;
11809  u8 __cil_tmp25 ;
11810  int __cil_tmp26 ;
11811  u8 __cil_tmp27 ;
11812  int __cil_tmp28 ;
11813  int __cil_tmp29 ;
11814  u16 __cil_tmp30 ;
11815  int __cil_tmp31 ;
11816  int __cil_tmp32 ;
11817
11818  {
11819#line 1407
11820  __cil_tmp10 = srb->msg_count;
11821#line 1407
11822  __cil_tmp11 = (int )__cil_tmp10;
11823#line 1407
11824  __cil_tmp12 = & srb->msgout_buf[0];
11825#line 1407
11826  ptr = __cil_tmp12 + __cil_tmp11;
11827  {
11828#line 1408
11829  __cil_tmp13 = srb->msg_count;
11830#line 1408
11831  __cil_tmp14 = (int )__cil_tmp13;
11832#line 1408
11833  if (__cil_tmp14 > 1) {
11834    {
11835#line 1409
11836    __cil_tmp15 = srb->msg_count;
11837#line 1409
11838    __cil_tmp16 = (int )__cil_tmp15;
11839#line 1409
11840    __cil_tmp17 = srb->msgout_buf[0];
11841#line 1409
11842    __cil_tmp18 = (int )__cil_tmp17;
11843#line 1409
11844    __cil_tmp19 = srb->msgout_buf[1];
11845#line 1409
11846    __cil_tmp20 = (int )__cil_tmp19;
11847#line 1409
11848    printk("<6>dc395x: build_sdtr: msgout_buf BUSY (%i: %02x %02x)\n", __cil_tmp16,
11849           __cil_tmp18, __cil_tmp20);
11850    }
11851#line 1413
11852    return;
11853  } else {
11854
11855  }
11856  }
11857  {
11858#line 1415
11859  __cil_tmp21 = dcb->dev_mode;
11860#line 1415
11861  __cil_tmp22 = (int )__cil_tmp21;
11862#line 1415
11863  __cil_tmp23 = __cil_tmp22 & 2;
11864#line 1415
11865  if (! __cil_tmp23) {
11866#line 1416
11867    dcb->sync_offset = (u8 )0;
11868#line 1417
11869    __cil_tmp24 = 200 >> 2;
11870#line 1417
11871    dcb->min_nego_period = (u8 )__cil_tmp24;
11872  } else {
11873    {
11874#line 1418
11875    __cil_tmp25 = dcb->sync_offset;
11876#line 1418
11877    __cil_tmp26 = (int )__cil_tmp25;
11878#line 1418
11879    if (__cil_tmp26 == 0) {
11880#line 1419
11881      dcb->sync_offset = (u8 )15;
11882    } else {
11883
11884    }
11885    }
11886  }
11887  }
11888#line 1421
11889  tmp___7 = ptr;
11890#line 1421
11891  ptr = ptr + 1;
11892#line 1421
11893  *tmp___7 = (u8 )1;
11894#line 1422
11895  tmp___8 = ptr;
11896#line 1422
11897  ptr = ptr + 1;
11898#line 1422
11899  *tmp___8 = (u8 )3;
11900#line 1423
11901  tmp___9 = ptr;
11902#line 1423
11903  ptr = ptr + 1;
11904#line 1423
11905  *tmp___9 = (u8 )1;
11906#line 1424
11907  tmp___10 = ptr;
11908#line 1424
11909  ptr = ptr + 1;
11910#line 1424
11911  *tmp___10 = dcb->min_nego_period;
11912#line 1425
11913  tmp___11 = ptr;
11914#line 1425
11915  ptr = ptr + 1;
11916#line 1425
11917  *tmp___11 = dcb->sync_offset;
11918#line 1426
11919  __cil_tmp27 = srb->msg_count;
11920#line 1426
11921  __cil_tmp28 = (int )__cil_tmp27;
11922#line 1426
11923  __cil_tmp29 = __cil_tmp28 + 5;
11924#line 1426
11925  srb->msg_count = (u8 )__cil_tmp29;
11926#line 1427
11927  __cil_tmp30 = srb->state;
11928#line 1427
11929  __cil_tmp31 = (int )__cil_tmp30;
11930#line 1427
11931  __cil_tmp32 = __cil_tmp31 | 8192;
11932#line 1427
11933  srb->state = (u16 )__cil_tmp32;
11934#line 1428
11935  return;
11936}
11937}
11938#line 1432 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11939static void build_wdtr(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
11940{ u8 wide ;
11941  int tmp___7 ;
11942  u8 *ptr ;
11943  u8 *tmp___8 ;
11944  u8 *tmp___9 ;
11945  u8 *tmp___10 ;
11946  u8 *tmp___11 ;
11947  u8 __cil_tmp11 ;
11948  int __cil_tmp12 ;
11949  int __cil_tmp13 ;
11950  u8 __cil_tmp14 ;
11951  int __cil_tmp15 ;
11952  int __cil_tmp16 ;
11953  u8 __cil_tmp17 ;
11954  int __cil_tmp18 ;
11955  u8 *__cil_tmp19 ;
11956  u8 __cil_tmp20 ;
11957  int __cil_tmp21 ;
11958  u8 __cil_tmp22 ;
11959  int __cil_tmp23 ;
11960  u8 __cil_tmp24 ;
11961  int __cil_tmp25 ;
11962  u8 __cil_tmp26 ;
11963  int __cil_tmp27 ;
11964  u8 __cil_tmp28 ;
11965  int __cil_tmp29 ;
11966  int __cil_tmp30 ;
11967  u16 __cil_tmp31 ;
11968  int __cil_tmp32 ;
11969  int __cil_tmp33 ;
11970
11971  {
11972  {
11973#line 1435
11974  __cil_tmp11 = acb->config;
11975#line 1435
11976  __cil_tmp12 = (int )__cil_tmp11;
11977#line 1435
11978  __cil_tmp13 = __cil_tmp12 & 32;
11979#line 1435
11980  __cil_tmp14 = dcb->dev_mode;
11981#line 1435
11982  __cil_tmp15 = (int )__cil_tmp14;
11983#line 1435
11984  __cil_tmp16 = __cil_tmp15 & 32;
11985#line 1435
11986  if (__cil_tmp16 & __cil_tmp13) {
11987#line 1435
11988    tmp___7 = 1;
11989  } else {
11990#line 1435
11991    tmp___7 = 0;
11992  }
11993  }
11994#line 1435
11995  wide = (u8 )tmp___7;
11996#line 1437
11997  __cil_tmp17 = srb->msg_count;
11998#line 1437
11999  __cil_tmp18 = (int )__cil_tmp17;
12000#line 1437
12001  __cil_tmp19 = & srb->msgout_buf[0];
12002#line 1437
12003  ptr = __cil_tmp19 + __cil_tmp18;
12004  {
12005#line 1438
12006  __cil_tmp20 = srb->msg_count;
12007#line 1438
12008  __cil_tmp21 = (int )__cil_tmp20;
12009#line 1438
12010  if (__cil_tmp21 > 1) {
12011    {
12012#line 1439
12013    __cil_tmp22 = srb->msg_count;
12014#line 1439
12015    __cil_tmp23 = (int )__cil_tmp22;
12016#line 1439
12017    __cil_tmp24 = srb->msgout_buf[0];
12018#line 1439
12019    __cil_tmp25 = (int )__cil_tmp24;
12020#line 1439
12021    __cil_tmp26 = srb->msgout_buf[1];
12022#line 1439
12023    __cil_tmp27 = (int )__cil_tmp26;
12024#line 1439
12025    printk("<6>dc395x: build_wdtr: msgout_buf BUSY (%i: %02x %02x)\n", __cil_tmp23,
12026           __cil_tmp25, __cil_tmp27);
12027    }
12028#line 1443
12029    return;
12030  } else {
12031
12032  }
12033  }
12034#line 1445
12035  tmp___8 = ptr;
12036#line 1445
12037  ptr = ptr + 1;
12038#line 1445
12039  *tmp___8 = (u8 )1;
12040#line 1446
12041  tmp___9 = ptr;
12042#line 1446
12043  ptr = ptr + 1;
12044#line 1446
12045  *tmp___9 = (u8 )2;
12046#line 1447
12047  tmp___10 = ptr;
12048#line 1447
12049  ptr = ptr + 1;
12050#line 1447
12051  *tmp___10 = (u8 )3;
12052#line 1448
12053  tmp___11 = ptr;
12054#line 1448
12055  ptr = ptr + 1;
12056#line 1448
12057  *tmp___11 = wide;
12058#line 1449
12059  __cil_tmp28 = srb->msg_count;
12060#line 1449
12061  __cil_tmp29 = (int )__cil_tmp28;
12062#line 1449
12063  __cil_tmp30 = __cil_tmp29 + 4;
12064#line 1449
12065  srb->msg_count = (u8 )__cil_tmp30;
12066#line 1450
12067  __cil_tmp31 = srb->state;
12068#line 1450
12069  __cil_tmp32 = (int )__cil_tmp31;
12070#line 1450
12071  __cil_tmp33 = __cil_tmp32 | 16384;
12072#line 1450
12073  srb->state = (u16 )__cil_tmp33;
12074#line 1451
12075  return;
12076}
12077}
12078#line 1493 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
12079static u8 start_scsi(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
12080{ u16 s_stat2 ;
12081  u16 return_code ;
12082  u8 s_stat ;
12083  u8 scsicommand ;
12084  u8 i ;
12085  u8 identify_message ;
12086  u8 *ptr ;
12087  unsigned char tmp___7 ;
12088  unsigned short tmp___8 ;
12089  struct scsi_cmnd *tmp___9 ;
12090  unsigned short tmp___10 ;
12091  u32 tag_mask ;
12092  u8 tag_number ;
12093  u8 *tmp___11 ;
12094  unsigned short tmp___12 ;
12095  unsigned long __cil_tmp19 ;
12096  unsigned long __cil_tmp20 ;
12097  int __cil_tmp21 ;
12098  unsigned long __cil_tmp22 ;
12099  unsigned long __cil_tmp23 ;
12100  int __cil_tmp24 ;
12101  int __cil_tmp25 ;
12102  struct DeviceCtlBlk *__cil_tmp26 ;
12103  struct DeviceCtlBlk *__cil_tmp27 ;
12104  struct ScsiReqBlk *__cil_tmp28 ;
12105  struct scsi_cmnd *__cil_tmp29 ;
12106  unsigned long __cil_tmp30 ;
12107  unsigned long __cil_tmp31 ;
12108  int __cil_tmp32 ;
12109  int __cil_tmp33 ;
12110  struct Scsi_Host *__cil_tmp34 ;
12111  unsigned long __cil_tmp35 ;
12112  unsigned long __cil_tmp36 ;
12113  long __cil_tmp37 ;
12114  long __cil_tmp38 ;
12115  long __cil_tmp39 ;
12116  char *__cil_tmp40 ;
12117  struct Scsi_Host *__cil_tmp41 ;
12118  int __cil_tmp42 ;
12119  unsigned char __cil_tmp43 ;
12120  unsigned long __cil_tmp44 ;
12121  unsigned long __cil_tmp45 ;
12122  int __cil_tmp46 ;
12123  u8 __cil_tmp47 ;
12124  unsigned long __cil_tmp48 ;
12125  unsigned long __cil_tmp49 ;
12126  int __cil_tmp50 ;
12127  u8 __cil_tmp51 ;
12128  unsigned long __cil_tmp52 ;
12129  unsigned long __cil_tmp53 ;
12130  int __cil_tmp54 ;
12131  u8 __cil_tmp55 ;
12132  unsigned long __cil_tmp56 ;
12133  unsigned long __cil_tmp57 ;
12134  int __cil_tmp58 ;
12135  u8 __cil_tmp59 ;
12136  int __cil_tmp60 ;
12137  int __cil_tmp61 ;
12138  int __cil_tmp62 ;
12139  struct scsi_cmnd *__cil_tmp63 ;
12140  unsigned char *__cil_tmp64 ;
12141  unsigned char *__cil_tmp65 ;
12142  unsigned char __cil_tmp66 ;
12143  int __cil_tmp67 ;
12144  struct scsi_cmnd *__cil_tmp68 ;
12145  unsigned char *__cil_tmp69 ;
12146  unsigned char *__cil_tmp70 ;
12147  unsigned char __cil_tmp71 ;
12148  int __cil_tmp72 ;
12149  u8 __cil_tmp73 ;
12150  int __cil_tmp74 ;
12151  u8 __cil_tmp75 ;
12152  int __cil_tmp76 ;
12153  u8 __cil_tmp77 ;
12154  int __cil_tmp78 ;
12155  int __cil_tmp79 ;
12156  u8 __cil_tmp80 ;
12157  int __cil_tmp81 ;
12158  u8 __cil_tmp82 ;
12159  int __cil_tmp83 ;
12160  int __cil_tmp84 ;
12161  u8 __cil_tmp85 ;
12162  int __cil_tmp86 ;
12163  u8 __cil_tmp87 ;
12164  int __cil_tmp88 ;
12165  u8 __cil_tmp89 ;
12166  int __cil_tmp90 ;
12167  u8 __cil_tmp91 ;
12168  int __cil_tmp92 ;
12169  u8 __cil_tmp93 ;
12170  int __cil_tmp94 ;
12171  u8 __cil_tmp95 ;
12172  int __cil_tmp96 ;
12173  u8 __cil_tmp97 ;
12174  int __cil_tmp98 ;
12175  unsigned long __cil_tmp99 ;
12176  unsigned long __cil_tmp100 ;
12177  int __cil_tmp101 ;
12178  u8 __cil_tmp102 ;
12179  int __cil_tmp103 ;
12180  int __cil_tmp104 ;
12181  u32 __cil_tmp105 ;
12182  u16 __cil_tmp106 ;
12183  int __cil_tmp107 ;
12184  int __cil_tmp108 ;
12185  int __cil_tmp109 ;
12186  int __cil_tmp110 ;
12187  u16 __cil_tmp111 ;
12188  int __cil_tmp112 ;
12189  int __cil_tmp113 ;
12190  struct scsi_cmnd *__cil_tmp114 ;
12191  struct scsi_cmnd *__cil_tmp115 ;
12192  struct scsi_device *__cil_tmp116 ;
12193  unsigned int __cil_tmp117 ;
12194  struct scsi_cmnd *__cil_tmp118 ;
12195  struct scsi_device *__cil_tmp119 ;
12196  unsigned int __cil_tmp120 ;
12197  unsigned long __cil_tmp121 ;
12198  unsigned long __cil_tmp122 ;
12199  int __cil_tmp123 ;
12200  unsigned long __cil_tmp124 ;
12201  unsigned long __cil_tmp125 ;
12202  int __cil_tmp126 ;
12203  unsigned long __cil_tmp127 ;
12204  unsigned long __cil_tmp128 ;
12205  int __cil_tmp129 ;
12206  u32 __cil_tmp130 ;
12207  u8 __cil_tmp131 ;
12208  int __cil_tmp132 ;
12209  unsigned long __cil_tmp133 ;
12210  unsigned long __cil_tmp134 ;
12211  int __cil_tmp135 ;
12212  u8 __cil_tmp136 ;
12213  int __cil_tmp137 ;
12214  int __cil_tmp138 ;
12215  unsigned char __cil_tmp139 ;
12216  unsigned long __cil_tmp140 ;
12217  unsigned long __cil_tmp141 ;
12218  int __cil_tmp142 ;
12219  unsigned long __cil_tmp143 ;
12220  unsigned long __cil_tmp144 ;
12221  int __cil_tmp145 ;
12222  unsigned long __cil_tmp146 ;
12223  unsigned long __cil_tmp147 ;
12224  int __cil_tmp148 ;
12225  unsigned long __cil_tmp149 ;
12226  unsigned long __cil_tmp150 ;
12227  int __cil_tmp151 ;
12228  unsigned long __cil_tmp152 ;
12229  unsigned long __cil_tmp153 ;
12230  int __cil_tmp154 ;
12231  struct scsi_cmnd *__cil_tmp155 ;
12232  struct scsi_cmnd *__cil_tmp156 ;
12233  unsigned short __cil_tmp157 ;
12234  int __cil_tmp158 ;
12235  int __cil_tmp159 ;
12236  u8 __cil_tmp160 ;
12237  unsigned long __cil_tmp161 ;
12238  unsigned long __cil_tmp162 ;
12239  int __cil_tmp163 ;
12240  int __cil_tmp164 ;
12241  int __cil_tmp165 ;
12242  unsigned long __cil_tmp166 ;
12243  unsigned long __cil_tmp167 ;
12244  int __cil_tmp168 ;
12245  unsigned long __cil_tmp169 ;
12246  unsigned long __cil_tmp170 ;
12247  int __cil_tmp171 ;
12248  int __cil_tmp172 ;
12249  unsigned long __cil_tmp173 ;
12250  unsigned long __cil_tmp174 ;
12251  int __cil_tmp175 ;
12252  unsigned long __cil_tmp176 ;
12253  unsigned long __cil_tmp177 ;
12254  int __cil_tmp178 ;
12255
12256  {
12257  {
12258#line 1499
12259  while (1) {
12260    while_continue: /* CIL Label */ ;
12261
12262#line 1499
12263    goto while_break;
12264  }
12265  while_break___7: /* CIL Label */ ;
12266  }
12267
12268  while_break: 
12269  {
12270#line 1502
12271  srb->tag_number = (u8 )255;
12272#line 1504
12273  __cil_tmp19 = acb->io_port_base;
12274#line 1504
12275  __cil_tmp20 = __cil_tmp19 + 131UL;
12276#line 1504
12277  __cil_tmp21 = (int )__cil_tmp20;
12278#line 1504
12279  tmp___7 = inb(__cil_tmp21);
12280#line 1504
12281  s_stat = tmp___7;
12282#line 1505
12283  s_stat2 = (u16 )0;
12284#line 1506
12285  __cil_tmp22 = acb->io_port_base;
12286#line 1506
12287  __cil_tmp23 = __cil_tmp22 + 128UL;
12288#line 1506
12289  __cil_tmp24 = (int )__cil_tmp23;
12290#line 1506
12291  tmp___8 = inw(__cil_tmp24);
12292#line 1506
12293  s_stat2 = tmp___8;
12294  }
12295  {
12296#line 1508
12297  __cil_tmp25 = (int )s_stat;
12298#line 1508
12299  if (__cil_tmp25 & 32) {
12300    {
12301#line 1509
12302    while (1) {
12303      while_continue___0: /* CIL Label */ ;
12304
12305#line 1509
12306      goto while_break___0;
12307    }
12308    while_break___8: /* CIL Label */ ;
12309    }
12310
12311    while_break___0: ;
12312#line 1522
12313    return ((u8 )1);
12314  } else {
12315
12316  }
12317  }
12318#line 1525
12319  if (acb->active_dcb) {
12320    {
12321#line 1526
12322    __cil_tmp26 = acb->active_dcb;
12323#line 1526
12324    if (__cil_tmp26->active_srb) {
12325#line 1526
12326      __cil_tmp27 = acb->active_dcb;
12327#line 1526
12328      __cil_tmp28 = __cil_tmp27->active_srb;
12329#line 1526
12330      tmp___9 = __cil_tmp28->cmd;
12331    } else {
12332#line 1526
12333      tmp___9 = (struct scsi_cmnd *)0;
12334    }
12335    }
12336    {
12337#line 1526
12338    __cil_tmp29 = srb->cmd;
12339#line 1526
12340    printk("<7>dc395x: start_scsi: (0x%p) Attempt to start acommand while another command (0x%p) is active.",
12341           __cil_tmp29, tmp___9);
12342    }
12343#line 1531
12344    return ((u8 )1);
12345  } else {
12346
12347  }
12348  {
12349#line 1533
12350  __cil_tmp30 = acb->io_port_base;
12351#line 1533
12352  __cil_tmp31 = __cil_tmp30 + 128UL;
12353#line 1533
12354  __cil_tmp32 = (int )__cil_tmp31;
12355#line 1533
12356  tmp___10 = inw(__cil_tmp32);
12357  }
12358  {
12359#line 1533
12360  __cil_tmp33 = (int )tmp___10;
12361#line 1533
12362  if (__cil_tmp33 & 128) {
12363    {
12364#line 1534
12365    while (1) {
12366      while_continue___1: /* CIL Label */ ;
12367
12368#line 1534
12369      goto while_break___1;
12370    }
12371    while_break___9: /* CIL Label */ ;
12372    }
12373
12374    while_break___1: ;
12375#line 1535
12376    return ((u8 )1);
12377  } else {
12378
12379  }
12380  }
12381  {
12382#line 1539
12383  __cil_tmp34 = acb->scsi_host;
12384#line 1539
12385  __cil_tmp35 = __cil_tmp34->last_reset;
12386#line 1539
12387  __cil_tmp36 = __cil_tmp35 - 125UL;
12388#line 1539
12389  __cil_tmp37 = (long )__cil_tmp36;
12390#line 1539
12391  __cil_tmp38 = (long )jiffies;
12392#line 1539
12393  __cil_tmp39 = __cil_tmp38 - __cil_tmp37;
12394#line 1539
12395  if (__cil_tmp39 < 0L) {
12396    {
12397#line 1540
12398    while (1) {
12399      while_continue___2: /* CIL Label */ ;
12400
12401#line 1540
12402      goto while_break___2;
12403    }
12404    while_break___10: /* CIL Label */ ;
12405    }
12406
12407    while_break___2: ;
12408#line 1541
12409    return ((u8 )1);
12410  } else {
12411
12412  }
12413  }
12414  {
12415#line 1545
12416  __cil_tmp40 = (char *)"start_scsi";
12417#line 1545
12418  clear_fifo(acb, __cil_tmp40);
12419#line 1546
12420  __cil_tmp41 = acb->scsi_host;
12421#line 1546
12422  __cil_tmp42 = __cil_tmp41->this_id;
12423#line 1546
12424  __cil_tmp43 = (unsigned char )__cil_tmp42;
12425#line 1546
12426  __cil_tmp44 = acb->io_port_base;
12427#line 1546
12428  __cil_tmp45 = __cil_tmp44 + 135UL;
12429#line 1546
12430  __cil_tmp46 = (int )__cil_tmp45;
12431#line 1546
12432  outb(__cil_tmp43, __cil_tmp46);
12433#line 1547
12434  __cil_tmp47 = dcb->target_id;
12435#line 1547
12436  __cil_tmp48 = acb->io_port_base;
12437#line 1547
12438  __cil_tmp49 = __cil_tmp48 + 134UL;
12439#line 1547
12440  __cil_tmp50 = (int )__cil_tmp49;
12441#line 1547
12442  outb(__cil_tmp47, __cil_tmp50);
12443#line 1548
12444  __cil_tmp51 = dcb->sync_period;
12445#line 1548
12446  __cil_tmp52 = acb->io_port_base;
12447#line 1548
12448  __cil_tmp53 = __cil_tmp52 + 133UL;
12449#line 1548
12450  __cil_tmp54 = (int )__cil_tmp53;
12451#line 1548
12452  outb(__cil_tmp51, __cil_tmp54);
12453#line 1549
12454  __cil_tmp55 = dcb->sync_offset;
12455#line 1549
12456  __cil_tmp56 = acb->io_port_base;
12457#line 1549
12458  __cil_tmp57 = __cil_tmp56 + 132UL;
12459#line 1549
12460  __cil_tmp58 = (int )__cil_tmp57;
12461#line 1549
12462  outb(__cil_tmp55, __cil_tmp58);
12463#line 1550
12464  srb->scsi_phase = (u8 )5;
12465#line 1552
12466  identify_message = dcb->identify_msg;
12467  }
12468  {
12469#line 1555
12470  __cil_tmp59 = srb->flag;
12471#line 1555
12472  __cil_tmp60 = (int )__cil_tmp59;
12473#line 1555
12474  if (__cil_tmp60 & 1) {
12475#line 1556
12476    __cil_tmp61 = (int )identify_message;
12477#line 1556
12478    __cil_tmp62 = __cil_tmp61 & 191;
12479#line 1556
12480    identify_message = (u8 )__cil_tmp62;
12481  } else {
12482
12483  }
12484  }
12485  {
12486#line 1558
12487  __cil_tmp63 = srb->cmd;
12488#line 1558
12489  __cil_tmp64 = __cil_tmp63->cmnd;
12490#line 1558
12491  __cil_tmp65 = __cil_tmp64 + 0;
12492#line 1558
12493  __cil_tmp66 = *__cil_tmp65;
12494#line 1558
12495  __cil_tmp67 = (int )__cil_tmp66;
12496#line 1558
12497  if (__cil_tmp67 == 18) {
12498#line 1558
12499    goto _L___1;
12500  } else {
12501    {
12502#line 1558
12503    __cil_tmp68 = srb->cmd;
12504#line 1558
12505    __cil_tmp69 = __cil_tmp68->cmnd;
12506#line 1558
12507    __cil_tmp70 = __cil_tmp69 + 0;
12508#line 1558
12509    __cil_tmp71 = *__cil_tmp70;
12510#line 1558
12511    __cil_tmp72 = (int )__cil_tmp71;
12512#line 1558
12513    if (__cil_tmp72 == 3) {
12514#line 1558
12515      goto _L___1;
12516    } else {
12517      {
12518#line 1558
12519      __cil_tmp73 = srb->flag;
12520#line 1558
12521      __cil_tmp74 = (int )__cil_tmp73;
12522#line 1558
12523      if (__cil_tmp74 & 1) {
12524        _L___1: 
12525        {
12526#line 1558
12527        __cil_tmp75 = dcb->sync_mode;
12528#line 1558
12529        __cil_tmp76 = (int )__cil_tmp75;
12530#line 1558
12531        if (__cil_tmp76 & 4) {
12532          {
12533#line 1558
12534          __cil_tmp77 = dcb->sync_mode;
12535#line 1558
12536          __cil_tmp78 = (int )__cil_tmp77;
12537#line 1558
12538          __cil_tmp79 = __cil_tmp78 & 8;
12539#line 1558
12540          if (! __cil_tmp79) {
12541#line 1558
12542            goto _L;
12543          } else {
12544#line 1558
12545            goto _L___0;
12546          }
12547          }
12548        } else {
12549          _L___0: 
12550          {
12551#line 1558
12552          __cil_tmp80 = dcb->sync_mode;
12553#line 1558
12554          __cil_tmp81 = (int )__cil_tmp80;
12555#line 1558
12556          if (__cil_tmp81 & 1) {
12557            {
12558#line 1558
12559            __cil_tmp82 = dcb->sync_mode;
12560#line 1558
12561            __cil_tmp83 = (int )__cil_tmp82;
12562#line 1558
12563            __cil_tmp84 = __cil_tmp83 & 2;
12564#line 1558
12565            if (! __cil_tmp84) {
12566              _L: 
12567              {
12568#line 1558
12569              __cil_tmp85 = dcb->target_lun;
12570#line 1558
12571              __cil_tmp86 = (int )__cil_tmp85;
12572#line 1558
12573              if (__cil_tmp86 == 0) {
12574#line 1566
12575                srb->msgout_buf[0] = identify_message;
12576#line 1567
12577                srb->msg_count = (u8 )1;
12578#line 1568
12579                scsicommand = (u8 )184;
12580#line 1569
12581                srb->state = (u16 )4;
12582                {
12583#line 1571
12584                __cil_tmp87 = dcb->sync_mode;
12585#line 1571
12586                __cil_tmp88 = (int )__cil_tmp87;
12587#line 1571
12588                if (__cil_tmp88 & 4) {
12589                  {
12590#line 1571
12591                  __cil_tmp89 = dcb->inquiry7;
12592#line 1571
12593                  __cil_tmp90 = (int )__cil_tmp89;
12594#line 1571
12595                  if (__cil_tmp90 & 32) {
12596                    {
12597#line 1573
12598                    build_wdtr(acb, dcb, srb);
12599                    }
12600#line 1574
12601                    goto no_cmd;
12602                  } else {
12603
12604                  }
12605                  }
12606                } else {
12607
12608                }
12609                }
12610                {
12611#line 1577
12612                __cil_tmp91 = dcb->sync_mode;
12613#line 1577
12614                __cil_tmp92 = (int )__cil_tmp91;
12615#line 1577
12616                if (__cil_tmp92 & 1) {
12617                  {
12618#line 1577
12619                  __cil_tmp93 = dcb->inquiry7;
12620#line 1577
12621                  __cil_tmp94 = (int )__cil_tmp93;
12622#line 1577
12623                  if (__cil_tmp94 & 16) {
12624                    {
12625#line 1579
12626                    build_sdtr(acb, dcb, srb);
12627                    }
12628#line 1580
12629                    goto no_cmd;
12630                  } else {
12631
12632                  }
12633                  }
12634                } else {
12635
12636                }
12637                }
12638                {
12639#line 1582
12640                __cil_tmp95 = dcb->sync_mode;
12641#line 1582
12642                __cil_tmp96 = (int )__cil_tmp95;
12643#line 1582
12644                if (__cil_tmp96 & 4) {
12645                  {
12646#line 1582
12647                  __cil_tmp97 = dcb->inquiry7;
12648#line 1582
12649                  __cil_tmp98 = (int )__cil_tmp97;
12650#line 1582
12651                  if (__cil_tmp98 & 32) {
12652                    {
12653#line 1584
12654                    build_wdtr(acb, dcb, srb);
12655                    }
12656#line 1585
12657                    goto no_cmd;
12658                  } else {
12659
12660                  }
12661                  }
12662                } else {
12663
12664                }
12665                }
12666#line 1587
12667                srb->msg_count = (u8 )0;
12668              } else {
12669
12670              }
12671              }
12672            } else {
12673
12674            }
12675            }
12676          } else {
12677
12678          }
12679          }
12680        }
12681        }
12682      } else {
12683
12684      }
12685      }
12686    }
12687    }
12688  }
12689  }
12690  {
12691#line 1590
12692  __cil_tmp99 = acb->io_port_base;
12693#line 1590
12694  __cil_tmp100 = __cil_tmp99 + 152UL;
12695#line 1590
12696  __cil_tmp101 = (int )__cil_tmp100;
12697#line 1590
12698  outb(identify_message, __cil_tmp101);
12699#line 1592
12700  scsicommand = (u8 )96;
12701#line 1593
12702  srb->state = (u16 )64;
12703  }
12704  {
12705#line 1595
12706  __cil_tmp102 = dcb->sync_mode;
12707#line 1595
12708  __cil_tmp103 = (int )__cil_tmp102;
12709#line 1595
12710  if (__cil_tmp103 & 32) {
12711    {
12712#line 1595
12713    __cil_tmp104 = (int )identify_message;
12714#line 1595
12715    if (__cil_tmp104 & 192) {
12716#line 1598
12717      tag_mask = (u32 )1;
12718#line 1599
12719      tag_number = (u8 )0;
12720      {
12721#line 1600
12722      while (1) {
12723        while_continue___3: /* CIL Label */ ;
12724
12725        {
12726#line 1600
12727        __cil_tmp105 = dcb->tag_mask;
12728#line 1600
12729        if (tag_mask & __cil_tmp105) {
12730          {
12731#line 1600
12732          __cil_tmp106 = dcb->max_command;
12733#line 1600
12734          __cil_tmp107 = (int )__cil_tmp106;
12735#line 1600
12736          __cil_tmp108 = (int )tag_number;
12737#line 1600
12738          if (__cil_tmp108 < __cil_tmp107) {
12739
12740          } else {
12741#line 1600
12742            goto while_break___3;
12743          }
12744          }
12745        } else {
12746#line 1600
12747          goto while_break___3;
12748        }
12749        }
12750#line 1602
12751        tag_mask = tag_mask << 1;
12752#line 1603
12753        __cil_tmp109 = (int )tag_number;
12754#line 1603
12755        __cil_tmp110 = __cil_tmp109 + 1;
12756#line 1603
12757        tag_number = (u8 )__cil_tmp110;
12758      }
12759      while_break___11: /* CIL Label */ ;
12760      }
12761
12762      while_break___3: ;
12763      {
12764#line 1605
12765      __cil_tmp111 = dcb->max_command;
12766#line 1605
12767      __cil_tmp112 = (int )__cil_tmp111;
12768#line 1605
12769      __cil_tmp113 = (int )tag_number;
12770#line 1605
12771      if (__cil_tmp113 >= __cil_tmp112) {
12772        {
12773#line 1606
12774        __cil_tmp114 = srb->cmd;
12775#line 1606
12776        __cil_tmp115 = srb->cmd;
12777#line 1606
12778        __cil_tmp116 = __cil_tmp115->device;
12779#line 1606
12780        __cil_tmp117 = __cil_tmp116->id;
12781#line 1606
12782        __cil_tmp118 = srb->cmd;
12783#line 1606
12784        __cil_tmp119 = __cil_tmp118->device;
12785#line 1606
12786        __cil_tmp120 = __cil_tmp119->lun;
12787#line 1606
12788        printk("<4>dc395x: start_scsi: (0x%p) Out of tags target=<%02i-%i>)\n", __cil_tmp114,
12789               __cil_tmp117, __cil_tmp120);
12790#line 1610
12791        srb->state = (u16 )2;
12792#line 1611
12793        __cil_tmp121 = acb->io_port_base;
12794#line 1611
12795        __cil_tmp122 = __cil_tmp121 + 128UL;
12796#line 1611
12797        __cil_tmp123 = (int )__cil_tmp122;
12798#line 1611
12799        outw((unsigned short)1, __cil_tmp123);
12800        }
12801#line 1613
12802        return ((u8 )1);
12803      } else {
12804
12805      }
12806      }
12807      {
12808#line 1616
12809      __cil_tmp124 = acb->io_port_base;
12810#line 1616
12811      __cil_tmp125 = __cil_tmp124 + 152UL;
12812#line 1616
12813      __cil_tmp126 = (int )__cil_tmp125;
12814#line 1616
12815      outb((unsigned char)32, __cil_tmp126);
12816#line 1617
12817      __cil_tmp127 = acb->io_port_base;
12818#line 1617
12819      __cil_tmp128 = __cil_tmp127 + 152UL;
12820#line 1617
12821      __cil_tmp129 = (int )__cil_tmp128;
12822#line 1617
12823      outb(tag_number, __cil_tmp129);
12824#line 1618
12825      __cil_tmp130 = dcb->tag_mask;
12826#line 1618
12827      dcb->tag_mask = __cil_tmp130 | tag_mask;
12828#line 1619
12829      srb->tag_number = tag_number;
12830#line 1620
12831      scsicommand = (u8 )100;
12832#line 1621
12833      srb->state = (u16 )64;
12834      }
12835    } else {
12836
12837    }
12838    }
12839  } else {
12840
12841  }
12842  }
12843  {
12844#line 1626
12845  while (1) {
12846    while_continue___4: /* CIL Label */ ;
12847
12848#line 1626
12849    goto while_break___4;
12850  }
12851  while_break___12: /* CIL Label */ ;
12852  }
12853
12854  while_break___4: ;
12855  {
12856#line 1629
12857  __cil_tmp131 = srb->flag;
12858#line 1629
12859  __cil_tmp132 = (int )__cil_tmp131;
12860#line 1629
12861  if (__cil_tmp132 & 1) {
12862    {
12863#line 1630
12864    __cil_tmp133 = acb->io_port_base;
12865#line 1630
12866    __cil_tmp134 = __cil_tmp133 + 152UL;
12867#line 1630
12868    __cil_tmp135 = (int )__cil_tmp134;
12869#line 1630
12870    outb((unsigned char)3, __cil_tmp135);
12871#line 1631
12872    __cil_tmp136 = dcb->target_lun;
12873#line 1631
12874    __cil_tmp137 = (int )__cil_tmp136;
12875#line 1631
12876    __cil_tmp138 = __cil_tmp137 << 5;
12877#line 1631
12878    __cil_tmp139 = (unsigned char )__cil_tmp138;
12879#line 1631
12880    __cil_tmp140 = acb->io_port_base;
12881#line 1631
12882    __cil_tmp141 = __cil_tmp140 + 152UL;
12883#line 1631
12884    __cil_tmp142 = (int )__cil_tmp141;
12885#line 1631
12886    outb(__cil_tmp139, __cil_tmp142);
12887#line 1632
12888    __cil_tmp143 = acb->io_port_base;
12889#line 1632
12890    __cil_tmp144 = __cil_tmp143 + 152UL;
12891#line 1632
12892    __cil_tmp145 = (int )__cil_tmp144;
12893#line 1632
12894    outb((unsigned char)0, __cil_tmp145);
12895#line 1633
12896    __cil_tmp146 = acb->io_port_base;
12897#line 1633
12898    __cil_tmp147 = __cil_tmp146 + 152UL;
12899#line 1633
12900    __cil_tmp148 = (int )__cil_tmp147;
12901#line 1633
12902    outb((unsigned char)0, __cil_tmp148);
12903#line 1634
12904    __cil_tmp149 = acb->io_port_base;
12905#line 1634
12906    __cil_tmp150 = __cil_tmp149 + 152UL;
12907#line 1634
12908    __cil_tmp151 = (int )__cil_tmp150;
12909#line 1634
12910    outb((unsigned char)96, __cil_tmp151);
12911#line 1635
12912    __cil_tmp152 = acb->io_port_base;
12913#line 1635
12914    __cil_tmp153 = __cil_tmp152 + 152UL;
12915#line 1635
12916    __cil_tmp154 = (int )__cil_tmp153;
12917#line 1635
12918    outb((unsigned char)0, __cil_tmp154);
12919    }
12920  } else {
12921#line 1637
12922    __cil_tmp155 = srb->cmd;
12923#line 1637
12924    ptr = __cil_tmp155->cmnd;
12925#line 1638
12926    i = (u8 )0;
12927    {
12928#line 1638
12929    while (1) {
12930      while_continue___5: /* CIL Label */ ;
12931
12932      {
12933#line 1638
12934      __cil_tmp156 = srb->cmd;
12935#line 1638
12936      __cil_tmp157 = __cil_tmp156->cmd_len;
12937#line 1638
12938      __cil_tmp158 = (int )__cil_tmp157;
12939#line 1638
12940      __cil_tmp159 = (int )i;
12941#line 1638
12942      if (__cil_tmp159 < __cil_tmp158) {
12943
12944      } else {
12945#line 1638
12946        goto while_break___5;
12947      }
12948      }
12949      {
12950#line 1639
12951      tmp___11 = ptr;
12952#line 1639
12953      ptr = ptr + 1;
12954#line 1639
12955      __cil_tmp160 = *tmp___11;
12956#line 1639
12957      __cil_tmp161 = acb->io_port_base;
12958#line 1639
12959      __cil_tmp162 = __cil_tmp161 + 152UL;
12960#line 1639
12961      __cil_tmp163 = (int )__cil_tmp162;
12962#line 1639
12963      outb(__cil_tmp160, __cil_tmp163);
12964#line 1638
12965      __cil_tmp164 = (int )i;
12966#line 1638
12967      __cil_tmp165 = __cil_tmp164 + 1;
12968#line 1638
12969      i = (u8 )__cil_tmp165;
12970      }
12971    }
12972    while_break___13: /* CIL Label */ ;
12973    }
12974
12975    while_break___5: ;
12976  }
12977  }
12978  no_cmd: 
12979  {
12980#line 1642
12981  __cil_tmp166 = acb->io_port_base;
12982#line 1642
12983  __cil_tmp167 = __cil_tmp166 + 128UL;
12984#line 1642
12985  __cil_tmp168 = (int )__cil_tmp167;
12986#line 1642
12987  outw((unsigned short)3, __cil_tmp168);
12988#line 1644
12989  __cil_tmp169 = acb->io_port_base;
12990#line 1644
12991  __cil_tmp170 = __cil_tmp169 + 128UL;
12992#line 1644
12993  __cil_tmp171 = (int )__cil_tmp170;
12994#line 1644
12995  tmp___12 = inw(__cil_tmp171);
12996  }
12997  {
12998#line 1644
12999  __cil_tmp172 = (int )tmp___12;
13000#line 1644
13001  if (__cil_tmp172 & 128) {
13002    {
13003#line 1650
13004    while (1) {
13005      while_continue___6: /* CIL Label */ ;
13006
13007#line 1650
13008      goto while_break___6;
13009    }
13010    while_break___14: /* CIL Label */ ;
13011    }
13012
13013    while_break___6: 
13014    {
13015#line 1652
13016    srb->state = (u16 )2;
13017#line 1653
13018    free_tag(dcb, srb);
13019#line 1654
13020    srb->msg_count = (u8 )0;
13021#line 1655
13022    return_code = (u16 )1;
13023    }
13024  } else {
13025    {
13026#line 1662
13027    srb->scsi_phase = (u8 )5;
13028#line 1663
13029    dcb->active_srb = srb;
13030#line 1664
13031    acb->active_dcb = dcb;
13032#line 1665
13033    return_code = (u16 )0;
13034#line 1667
13035    __cil_tmp173 = acb->io_port_base;
13036#line 1667
13037    __cil_tmp174 = __cil_tmp173 + 128UL;
13038#line 1667
13039    __cil_tmp175 = (int )__cil_tmp174;
13040#line 1667
13041    outw((unsigned short)3, __cil_tmp175);
13042#line 1670
13043    __cil_tmp176 = acb->io_port_base;
13044#line 1670
13045    __cil_tmp177 = __cil_tmp176 + 144UL;
13046#line 1670
13047    __cil_tmp178 = (int )__cil_tmp177;
13048#line 1670
13049    outb(scsicommand, __cil_tmp178);
13050    }
13051  }
13052  }
13053#line 1672
13054  return ((u8 )return_code);
13055}
13056}
13057#line 1682 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13058__inline static void enable_msgout_abort(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
13059{ unsigned long __cil_tmp3 ;
13060  unsigned long __cil_tmp4 ;
13061  int __cil_tmp5 ;
13062  u16 __cil_tmp6 ;
13063  int __cil_tmp7 ;
13064  int __cil_tmp8 ;
13065  u16 __cil_tmp9 ;
13066  int __cil_tmp10 ;
13067  int __cil_tmp11 ;
13068  u16 __cil_tmp12 ;
13069  int __cil_tmp13 ;
13070  int __cil_tmp14 ;
13071
13072  {
13073  {
13074#line 1685
13075  srb->msgout_buf[0] = (u8 )6;
13076#line 1686
13077  srb->msg_count = (u8 )1;
13078#line 1687
13079  __cil_tmp3 = acb->io_port_base;
13080#line 1687
13081  __cil_tmp4 = __cil_tmp3 + 128UL;
13082#line 1687
13083  __cil_tmp5 = (int )__cil_tmp4;
13084#line 1687
13085  outw((unsigned short)512, __cil_tmp5);
13086#line 1687
13087  __cil_tmp6 = srb->state;
13088#line 1687
13089  __cil_tmp7 = (int )__cil_tmp6;
13090#line 1687
13091  __cil_tmp8 = __cil_tmp7 | 4;
13092#line 1687
13093  srb->state = (u16 )__cil_tmp8;
13094#line 1688
13095  __cil_tmp9 = srb->state;
13096#line 1688
13097  __cil_tmp10 = (int )__cil_tmp9;
13098#line 1688
13099  __cil_tmp11 = __cil_tmp10 & -9;
13100#line 1688
13101  srb->state = (u16 )__cil_tmp11;
13102#line 1689
13103  __cil_tmp12 = srb->state;
13104#line 1689
13105  __cil_tmp13 = (int )__cil_tmp12;
13106#line 1689
13107  __cil_tmp14 = __cil_tmp13 | 4;
13108#line 1689
13109  srb->state = (u16 )__cil_tmp14;
13110  }
13111#line 1690
13112  return;
13113}
13114}
13115#line 1700 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13116static void dc395x_handle_interrupt(struct AdapterCtlBlk *acb , u16 scsi_status ) 
13117{ struct DeviceCtlBlk *dcb ;
13118  struct ScsiReqBlk *srb ;
13119  u16 phase ;
13120  u8 scsi_intstatus ;
13121  unsigned long flags ;
13122  void (*dc395x_statev)(struct AdapterCtlBlk * , struct ScsiReqBlk * , u16 * ) ;
13123  raw_spinlock_t *tmp___7 ;
13124  unsigned char tmp___8 ;
13125  int tmp___9 ;
13126  struct Scsi_Host *__cil_tmp12 ;
13127  spinlock_t *__cil_tmp13 ;
13128  unsigned long __cil_tmp14 ;
13129  unsigned long __cil_tmp15 ;
13130  int __cil_tmp16 ;
13131  int __cil_tmp17 ;
13132  int __cil_tmp18 ;
13133  int __cil_tmp19 ;
13134  struct timer_list *__cil_tmp20 ;
13135  struct timer_list  const  *__cil_tmp21 ;
13136  struct timer_list *__cil_tmp22 ;
13137  int __cil_tmp23 ;
13138  int __cil_tmp24 ;
13139  int __cil_tmp25 ;
13140  int __cil_tmp26 ;
13141  int __cil_tmp27 ;
13142  int __cil_tmp28 ;
13143  int __cil_tmp29 ;
13144  u8 __cil_tmp30 ;
13145  int __cil_tmp31 ;
13146  u8 __cil_tmp32 ;
13147  int __cil_tmp33 ;
13148  int __cil_tmp34 ;
13149  int __cil_tmp35 ;
13150  int __cil_tmp36 ;
13151  struct Scsi_Host *__cil_tmp37 ;
13152  spinlock_t *__cil_tmp38 ;
13153
13154  {
13155  {
13156#line 1711
13157  while (1) {
13158    while_continue: /* CIL Label */ ;
13159
13160    {
13161#line 1711
13162    while (1) {
13163      while_continue___0: /* CIL Label */ ;
13164      {
13165#line 1711
13166      __cil_tmp12 = acb->scsi_host;
13167#line 1711
13168      __cil_tmp13 = __cil_tmp12->host_lock;
13169#line 1711
13170      tmp___7 = spinlock_check(__cil_tmp13);
13171#line 1711
13172      flags = _raw_spin_lock_irqsave(tmp___7);
13173      }
13174#line 1711
13175      goto while_break___0;
13176    }
13177    while_break___3: /* CIL Label */ ;
13178    }
13179
13180    while_break___0: ;
13181#line 1711
13182    goto while_break;
13183  }
13184  while_break___2: /* CIL Label */ ;
13185  }
13186
13187  while_break: 
13188  {
13189#line 1714
13190  __cil_tmp14 = acb->io_port_base;
13191#line 1714
13192  __cil_tmp15 = __cil_tmp14 + 132UL;
13193#line 1714
13194  __cil_tmp16 = (int )__cil_tmp15;
13195#line 1714
13196  tmp___8 = inb(__cil_tmp16);
13197#line 1714
13198  scsi_intstatus = tmp___8;
13199  }
13200  {
13201#line 1715
13202  __cil_tmp17 = (int )scsi_status;
13203#line 1715
13204  __cil_tmp18 = __cil_tmp17 & 8199;
13205#line 1715
13206  if (__cil_tmp18 == 8194) {
13207    {
13208#line 1716
13209    __cil_tmp19 = (int )scsi_status;
13210#line 1716
13211    printk("<7>dc395x: COP after COP completed? %04x\n", __cil_tmp19);
13212    }
13213  } else {
13214
13215  }
13216  }
13217  {
13218#line 1724
13219  __cil_tmp20 = & acb->selto_timer;
13220#line 1724
13221  __cil_tmp21 = (struct timer_list  const  *)__cil_tmp20;
13222#line 1724
13223  tmp___9 = timer_pending(__cil_tmp21);
13224  }
13225#line 1724
13226  if (tmp___9) {
13227    {
13228#line 1725
13229    __cil_tmp22 = & acb->selto_timer;
13230#line 1725
13231    del_timer(__cil_tmp22);
13232    }
13233  } else {
13234
13235  }
13236  {
13237#line 1727
13238  __cil_tmp23 = (int )scsi_intstatus;
13239#line 1727
13240  if (__cil_tmp23 & 48) {
13241    {
13242#line 1728
13243    disconnect(acb);
13244    }
13245#line 1729
13246    goto out_unlock;
13247  } else {
13248
13249  }
13250  }
13251  {
13252#line 1731
13253  __cil_tmp24 = (int )scsi_intstatus;
13254#line 1731
13255  if (__cil_tmp24 & 8) {
13256    {
13257#line 1732
13258    reselect(acb);
13259    }
13260#line 1733
13261    goto out_unlock;
13262  } else {
13263
13264  }
13265  }
13266  {
13267#line 1735
13268  __cil_tmp25 = (int )scsi_intstatus;
13269#line 1735
13270  if (__cil_tmp25 & 64) {
13271    {
13272#line 1736
13273    printk("<6>dc395x: Host does not support target mode!\n");
13274    }
13275#line 1737
13276    goto out_unlock;
13277  } else {
13278
13279  }
13280  }
13281  {
13282#line 1739
13283  __cil_tmp26 = (int )scsi_intstatus;
13284#line 1739
13285  if (__cil_tmp26 & 4) {
13286    {
13287#line 1740
13288    scsi_reset_detect(acb);
13289    }
13290#line 1741
13291    goto out_unlock;
13292  } else {
13293
13294  }
13295  }
13296  {
13297#line 1743
13298  __cil_tmp27 = (int )scsi_intstatus;
13299#line 1743
13300  if (__cil_tmp27 & 3) {
13301#line 1744
13302    dcb = acb->active_dcb;
13303#line 1745
13304    if (! dcb) {
13305      {
13306#line 1746
13307      __cil_tmp28 = (int )scsi_status;
13308#line 1746
13309      __cil_tmp29 = (int )scsi_intstatus;
13310#line 1746
13311      printk("<7>dc395x: Oops: BusService (%04x %02x) w/o ActiveDCB!\n", __cil_tmp28,
13312             __cil_tmp29);
13313      }
13314#line 1749
13315      goto out_unlock;
13316    } else {
13317
13318    }
13319#line 1751
13320    srb = dcb->active_srb;
13321    {
13322#line 1752
13323    __cil_tmp30 = dcb->flag;
13324#line 1752
13325    __cil_tmp31 = (int )__cil_tmp30;
13326#line 1752
13327    if (__cil_tmp31 & 1) {
13328      {
13329#line 1753
13330      while (1) {
13331        while_continue___1: /* CIL Label */ ;
13332
13333#line 1753
13334        goto while_break___1;
13335      }
13336      while_break___4: /* CIL Label */ ;
13337      }
13338
13339      while_break___1: 
13340      {
13341#line 1754
13342      enable_msgout_abort(acb, srb);
13343      }
13344    } else {
13345
13346    }
13347    }
13348    {
13349#line 1758
13350    __cil_tmp32 = srb->scsi_phase;
13351#line 1758
13352    phase = (u16 )__cil_tmp32;
13353#line 1773
13354    dc395x_statev = (void (*)(struct AdapterCtlBlk * , struct ScsiReqBlk * , u16 * ))dc395x_scsi_phase0[phase];
13355#line 1774
13356    (*dc395x_statev)(acb, srb, & scsi_status);
13357#line 1781
13358    __cil_tmp33 = (int )scsi_status;
13359#line 1781
13360    __cil_tmp34 = __cil_tmp33 & 7;
13361#line 1781
13362    srb->scsi_phase = (u8 )__cil_tmp34;
13363#line 1782
13364    __cil_tmp35 = (int )scsi_status;
13365#line 1782
13366    __cil_tmp36 = __cil_tmp35 & 7;
13367#line 1782
13368    phase = (u16 )__cil_tmp36;
13369#line 1796
13370    dc395x_statev = (void (*)(struct AdapterCtlBlk * , struct ScsiReqBlk * , u16 * ))dc395x_scsi_phase1[phase];
13371#line 1797
13372    (*dc395x_statev)(acb, srb, & scsi_status);
13373    }
13374  } else {
13375
13376  }
13377  }
13378  out_unlock: 
13379  {
13380#line 1800
13381  __cil_tmp37 = acb->scsi_host;
13382#line 1800
13383  __cil_tmp38 = __cil_tmp37->host_lock;
13384#line 1800
13385  spin_unlock_irqrestore(__cil_tmp38, flags);
13386  }
13387#line 1801
13388  return;
13389}
13390}
13391#line 1804 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13392static irqreturn_t dc395x_interrupt(int irq , void *dev_id ) 
13393{ struct AdapterCtlBlk *acb ;
13394  u16 scsi_status ;
13395  u8 dma_status ;
13396  irqreturn_t handled ;
13397  unsigned short tmp___7 ;
13398  unsigned char tmp___8 ;
13399  unsigned long __cil_tmp9 ;
13400  unsigned long __cil_tmp10 ;
13401  int __cil_tmp11 ;
13402  unsigned long __cil_tmp12 ;
13403  unsigned long __cil_tmp13 ;
13404  int __cil_tmp14 ;
13405  int __cil_tmp15 ;
13406  int __cil_tmp16 ;
13407  int __cil_tmp17 ;
13408  void *__cil_tmp18 ;
13409
13410  {
13411  {
13412#line 1806
13413  acb = (struct AdapterCtlBlk *)dev_id;
13414#line 1809
13415  handled = (irqreturn_t )0;
13416#line 1814
13417  __cil_tmp9 = acb->io_port_base;
13418#line 1814
13419  __cil_tmp10 = __cil_tmp9 + 128UL;
13420#line 1814
13421  __cil_tmp11 = (int )__cil_tmp10;
13422#line 1814
13423  tmp___7 = inw(__cil_tmp11);
13424#line 1814
13425  scsi_status = tmp___7;
13426#line 1815
13427  __cil_tmp12 = acb->io_port_base;
13428#line 1815
13429  __cil_tmp13 = __cil_tmp12 + 163UL;
13430#line 1815
13431  __cil_tmp14 = (int )__cil_tmp13;
13432#line 1815
13433  tmp___8 = inb(__cil_tmp14);
13434#line 1815
13435  dma_status = tmp___8;
13436  }
13437  {
13438#line 1816
13439  __cil_tmp15 = (int )scsi_status;
13440#line 1816
13441  if (__cil_tmp15 & 128) {
13442    {
13443#line 1818
13444    dc395x_handle_interrupt(acb, scsi_status);
13445#line 1819
13446    handled = (irqreturn_t )1;
13447    }
13448  } else {
13449    {
13450#line 1821
13451    __cil_tmp16 = (int )dma_status;
13452#line 1821
13453    if (__cil_tmp16 & 32) {
13454      {
13455#line 1823
13456      __cil_tmp17 = (int )dma_status;
13457#line 1823
13458      printk("<6>dc395x: Interrupt from DMA engine: 0x%02x!\n", __cil_tmp17);
13459#line 1833
13460      printk("<6>dc395x: Ignoring DMA error (probably a bad thing) ...\n");
13461#line 1834
13462      __cil_tmp18 = (void *)0;
13463#line 1834
13464      acb = (struct AdapterCtlBlk *)__cil_tmp18;
13465#line 1836
13466      handled = (irqreturn_t )1;
13467      }
13468    } else {
13469
13470    }
13471    }
13472  }
13473  }
13474#line 1839
13475  return (handled);
13476}
13477}
13478#line 1843 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13479static void msgout_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
13480{ u16 __cil_tmp4 ;
13481  int __cil_tmp5 ;
13482  unsigned long __cil_tmp6 ;
13483  unsigned long __cil_tmp7 ;
13484  int __cil_tmp8 ;
13485  u16 __cil_tmp9 ;
13486  int __cil_tmp10 ;
13487  int __cil_tmp11 ;
13488
13489  {
13490  {
13491#line 1846
13492  while (1) {
13493    while_continue: /* CIL Label */ ;
13494
13495#line 1846
13496    goto while_break;
13497  }
13498  while_break___0: /* CIL Label */ ;
13499  }
13500
13501  while_break: ;
13502  {
13503#line 1847
13504  __cil_tmp4 = srb->state;
13505#line 1847
13506  __cil_tmp5 = (int )__cil_tmp4;
13507#line 1847
13508  if (__cil_tmp5 & 36864) {
13509#line 1848
13510    *pscsi_status = (u16 )5;
13511  } else {
13512
13513  }
13514  }
13515  {
13516#line 1850
13517  __cil_tmp6 = acb->io_port_base;
13518#line 1850
13519  __cil_tmp7 = __cil_tmp6 + 128UL;
13520#line 1850
13521  __cil_tmp8 = (int )__cil_tmp7;
13522#line 1850
13523  outw((unsigned short)2, __cil_tmp8);
13524#line 1851
13525  __cil_tmp9 = srb->state;
13526#line 1851
13527  __cil_tmp10 = (int )__cil_tmp9;
13528#line 1851
13529  __cil_tmp11 = __cil_tmp10 & -5;
13530#line 1851
13531  srb->state = (u16 )__cil_tmp11;
13532  }
13533#line 1852
13534  return;
13535}
13536}
13537#line 1855 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13538static void msgout_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
13539{ u16 i ;
13540  u8 *ptr ;
13541  u8 *tmp___7 ;
13542  char *__cil_tmp7 ;
13543  u16 __cil_tmp8 ;
13544  int __cil_tmp9 ;
13545  int __cil_tmp10 ;
13546  u16 __cil_tmp11 ;
13547  int __cil_tmp12 ;
13548  int __cil_tmp13 ;
13549  struct scsi_cmnd *__cil_tmp14 ;
13550  u8 __cil_tmp15 ;
13551  unsigned long __cil_tmp16 ;
13552  unsigned long __cil_tmp17 ;
13553  int __cil_tmp18 ;
13554  unsigned long __cil_tmp19 ;
13555  unsigned long __cil_tmp20 ;
13556  int __cil_tmp21 ;
13557  unsigned long __cil_tmp22 ;
13558  unsigned long __cil_tmp23 ;
13559  int __cil_tmp24 ;
13560  u8 __cil_tmp25 ;
13561  int __cil_tmp26 ;
13562  int __cil_tmp27 ;
13563  u8 __cil_tmp28 ;
13564  unsigned long __cil_tmp29 ;
13565  unsigned long __cil_tmp30 ;
13566  int __cil_tmp31 ;
13567  int __cil_tmp32 ;
13568  int __cil_tmp33 ;
13569  u8 __cil_tmp34 ;
13570  int __cil_tmp35 ;
13571  unsigned long __cil_tmp36 ;
13572  unsigned long __cil_tmp37 ;
13573  int __cil_tmp38 ;
13574
13575  {
13576  {
13577#line 1860
13578  while (1) {
13579    while_continue: /* CIL Label */ ;
13580
13581#line 1860
13582    goto while_break;
13583  }
13584  while_break___2: /* CIL Label */ ;
13585  }
13586
13587  while_break: 
13588  {
13589#line 1862
13590  __cil_tmp7 = (char *)"msgout_phase1";
13591#line 1862
13592  clear_fifo(acb, __cil_tmp7);
13593  }
13594  {
13595#line 1863
13596  __cil_tmp8 = srb->state;
13597#line 1863
13598  __cil_tmp9 = (int )__cil_tmp8;
13599#line 1863
13600  __cil_tmp10 = __cil_tmp9 & 4;
13601#line 1863
13602  if (! __cil_tmp10) {
13603    {
13604#line 1864
13605    __cil_tmp11 = srb->state;
13606#line 1864
13607    __cil_tmp12 = (int )__cil_tmp11;
13608#line 1864
13609    __cil_tmp13 = __cil_tmp12 | 4;
13610#line 1864
13611    srb->state = (u16 )__cil_tmp13;
13612#line 1865
13613    __cil_tmp14 = srb->cmd;
13614#line 1865
13615    printk("<7>dc395x: msgout_phase1: (0x%p) Phase unexpected\n", __cil_tmp14);
13616    }
13617  } else {
13618
13619  }
13620  }
13621  {
13622#line 1869
13623  __cil_tmp15 = srb->msg_count;
13624#line 1869
13625  if (! __cil_tmp15) {
13626    {
13627#line 1870
13628    while (1) {
13629      while_continue___0: /* CIL Label */ ;
13630
13631#line 1870
13632      goto while_break___0;
13633    }
13634    while_break___3: /* CIL Label */ ;
13635    }
13636
13637    while_break___0: 
13638    {
13639#line 1872
13640    __cil_tmp16 = acb->io_port_base;
13641#line 1872
13642    __cil_tmp17 = __cil_tmp16 + 152UL;
13643#line 1872
13644    __cil_tmp18 = (int )__cil_tmp17;
13645#line 1872
13646    outb((unsigned char)8, __cil_tmp18);
13647#line 1873
13648    __cil_tmp19 = acb->io_port_base;
13649#line 1873
13650    __cil_tmp20 = __cil_tmp19 + 128UL;
13651#line 1873
13652    __cil_tmp21 = (int )__cil_tmp20;
13653#line 1873
13654    outw((unsigned short)2, __cil_tmp21);
13655#line 1874
13656    __cil_tmp22 = acb->io_port_base;
13657#line 1874
13658    __cil_tmp23 = __cil_tmp22 + 144UL;
13659#line 1874
13660    __cil_tmp24 = (int )__cil_tmp23;
13661#line 1874
13662    outb((unsigned char)192, __cil_tmp24);
13663    }
13664#line 1875
13665    return;
13666  } else {
13667
13668  }
13669  }
13670#line 1877
13671  ptr = & srb->msgout_buf[0];
13672#line 1878
13673  i = (u16 )0;
13674  {
13675#line 1878
13676  while (1) {
13677    while_continue___1: /* CIL Label */ ;
13678
13679    {
13680#line 1878
13681    __cil_tmp25 = srb->msg_count;
13682#line 1878
13683    __cil_tmp26 = (int )__cil_tmp25;
13684#line 1878
13685    __cil_tmp27 = (int )i;
13686#line 1878
13687    if (__cil_tmp27 < __cil_tmp26) {
13688
13689    } else {
13690#line 1878
13691      goto while_break___1;
13692    }
13693    }
13694    {
13695#line 1879
13696    tmp___7 = ptr;
13697#line 1879
13698    ptr = ptr + 1;
13699#line 1879
13700    __cil_tmp28 = *tmp___7;
13701#line 1879
13702    __cil_tmp29 = acb->io_port_base;
13703#line 1879
13704    __cil_tmp30 = __cil_tmp29 + 152UL;
13705#line 1879
13706    __cil_tmp31 = (int )__cil_tmp30;
13707#line 1879
13708    outb(__cil_tmp28, __cil_tmp31);
13709#line 1878
13710    __cil_tmp32 = (int )i;
13711#line 1878
13712    __cil_tmp33 = __cil_tmp32 + 1;
13713#line 1878
13714    i = (u16 )__cil_tmp33;
13715    }
13716  }
13717  while_break___4: /* CIL Label */ ;
13718  }
13719
13720  while_break___1: 
13721#line 1880
13722  srb->msg_count = (u8 )0;
13723  {
13724#line 1881
13725  __cil_tmp34 = srb->msgout_buf[0];
13726#line 1881
13727  __cil_tmp35 = (int )__cil_tmp34;
13728#line 1881
13729  if (__cil_tmp35 == 6) {
13730#line 1882
13731    srb->state = (u16 )4096;
13732  } else {
13733
13734  }
13735  }
13736  {
13737#line 1884
13738  __cil_tmp36 = acb->io_port_base;
13739#line 1884
13740  __cil_tmp37 = __cil_tmp36 + 144UL;
13741#line 1884
13742  __cil_tmp38 = (int )__cil_tmp37;
13743#line 1884
13744  outb((unsigned char)192, __cil_tmp38);
13745  }
13746#line 1885
13747  return;
13748}
13749}
13750#line 1888 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13751static void command_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
13752{ unsigned long __cil_tmp4 ;
13753  unsigned long __cil_tmp5 ;
13754  int __cil_tmp6 ;
13755
13756  {
13757  {
13758#line 1891
13759  while (1) {
13760    while_continue: /* CIL Label */ ;
13761
13762#line 1891
13763    goto while_break;
13764  }
13765  while_break___0: /* CIL Label */ ;
13766  }
13767
13768  while_break: 
13769  {
13770#line 1892
13771  __cil_tmp4 = acb->io_port_base;
13772#line 1892
13773  __cil_tmp5 = __cil_tmp4 + 128UL;
13774#line 1892
13775  __cil_tmp6 = (int )__cil_tmp5;
13776#line 1892
13777  outw((unsigned short)2, __cil_tmp6);
13778  }
13779#line 1893
13780  return;
13781}
13782}
13783#line 1896 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13784static void command_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
13785{ struct DeviceCtlBlk *dcb ;
13786  u8 *ptr ;
13787  u16 i ;
13788  char *__cil_tmp7 ;
13789  unsigned long __cil_tmp8 ;
13790  unsigned long __cil_tmp9 ;
13791  int __cil_tmp10 ;
13792  u8 __cil_tmp11 ;
13793  int __cil_tmp12 ;
13794  int __cil_tmp13 ;
13795  struct scsi_cmnd *__cil_tmp14 ;
13796  struct scsi_cmnd *__cil_tmp15 ;
13797  unsigned short __cil_tmp16 ;
13798  int __cil_tmp17 ;
13799  int __cil_tmp18 ;
13800  u8 __cil_tmp19 ;
13801  unsigned long __cil_tmp20 ;
13802  unsigned long __cil_tmp21 ;
13803  int __cil_tmp22 ;
13804  int __cil_tmp23 ;
13805  int __cil_tmp24 ;
13806  unsigned long __cil_tmp25 ;
13807  unsigned long __cil_tmp26 ;
13808  int __cil_tmp27 ;
13809  u8 __cil_tmp28 ;
13810  int __cil_tmp29 ;
13811  int __cil_tmp30 ;
13812  unsigned char __cil_tmp31 ;
13813  unsigned long __cil_tmp32 ;
13814  unsigned long __cil_tmp33 ;
13815  int __cil_tmp34 ;
13816  unsigned long __cil_tmp35 ;
13817  unsigned long __cil_tmp36 ;
13818  int __cil_tmp37 ;
13819  unsigned long __cil_tmp38 ;
13820  unsigned long __cil_tmp39 ;
13821  int __cil_tmp40 ;
13822  unsigned long __cil_tmp41 ;
13823  unsigned long __cil_tmp42 ;
13824  int __cil_tmp43 ;
13825  unsigned long __cil_tmp44 ;
13826  unsigned long __cil_tmp45 ;
13827  int __cil_tmp46 ;
13828  u16 __cil_tmp47 ;
13829  int __cil_tmp48 ;
13830  int __cil_tmp49 ;
13831  unsigned long __cil_tmp50 ;
13832  unsigned long __cil_tmp51 ;
13833  int __cil_tmp52 ;
13834  unsigned long __cil_tmp53 ;
13835  unsigned long __cil_tmp54 ;
13836  int __cil_tmp55 ;
13837
13838  {
13839  {
13840#line 1902
13841  while (1) {
13842    while_continue: /* CIL Label */ ;
13843
13844#line 1902
13845    goto while_break;
13846  }
13847  while_break___1: /* CIL Label */ ;
13848  }
13849
13850  while_break: 
13851  {
13852#line 1904
13853  __cil_tmp7 = (char *)"command_phase1";
13854#line 1904
13855  clear_fifo(acb, __cil_tmp7);
13856#line 1905
13857  __cil_tmp8 = acb->io_port_base;
13858#line 1905
13859  __cil_tmp9 = __cil_tmp8 + 128UL;
13860#line 1905
13861  __cil_tmp10 = (int )__cil_tmp9;
13862#line 1905
13863  outw((unsigned short)1024, __cil_tmp10);
13864  }
13865  {
13866#line 1906
13867  __cil_tmp11 = srb->flag;
13868#line 1906
13869  __cil_tmp12 = (int )__cil_tmp11;
13870#line 1906
13871  __cil_tmp13 = __cil_tmp12 & 1;
13872#line 1906
13873  if (! __cil_tmp13) {
13874#line 1907
13875    __cil_tmp14 = srb->cmd;
13876#line 1907
13877    ptr = __cil_tmp14->cmnd;
13878#line 1908
13879    i = (u16 )0;
13880    {
13881#line 1908
13882    while (1) {
13883      while_continue___0: /* CIL Label */ ;
13884
13885      {
13886#line 1908
13887      __cil_tmp15 = srb->cmd;
13888#line 1908
13889      __cil_tmp16 = __cil_tmp15->cmd_len;
13890#line 1908
13891      __cil_tmp17 = (int )__cil_tmp16;
13892#line 1908
13893      __cil_tmp18 = (int )i;
13894#line 1908
13895      if (__cil_tmp18 < __cil_tmp17) {
13896
13897      } else {
13898#line 1908
13899        goto while_break___0;
13900      }
13901      }
13902      {
13903#line 1909
13904      __cil_tmp19 = *ptr;
13905#line 1909
13906      __cil_tmp20 = acb->io_port_base;
13907#line 1909
13908      __cil_tmp21 = __cil_tmp20 + 152UL;
13909#line 1909
13910      __cil_tmp22 = (int )__cil_tmp21;
13911#line 1909
13912      outb(__cil_tmp19, __cil_tmp22);
13913#line 1910
13914      ptr = ptr + 1;
13915#line 1908
13916      __cil_tmp23 = (int )i;
13917#line 1908
13918      __cil_tmp24 = __cil_tmp23 + 1;
13919#line 1908
13920      i = (u16 )__cil_tmp24;
13921      }
13922    }
13923    while_break___2: /* CIL Label */ ;
13924    }
13925
13926    while_break___0: ;
13927  } else {
13928    {
13929#line 1913
13930    __cil_tmp25 = acb->io_port_base;
13931#line 1913
13932    __cil_tmp26 = __cil_tmp25 + 152UL;
13933#line 1913
13934    __cil_tmp27 = (int )__cil_tmp26;
13935#line 1913
13936    outb((unsigned char)3, __cil_tmp27);
13937#line 1914
13938    dcb = acb->active_dcb;
13939#line 1916
13940    __cil_tmp28 = dcb->target_lun;
13941#line 1916
13942    __cil_tmp29 = (int )__cil_tmp28;
13943#line 1916
13944    __cil_tmp30 = __cil_tmp29 << 5;
13945#line 1916
13946    __cil_tmp31 = (unsigned char )__cil_tmp30;
13947#line 1916
13948    __cil_tmp32 = acb->io_port_base;
13949#line 1916
13950    __cil_tmp33 = __cil_tmp32 + 152UL;
13951#line 1916
13952    __cil_tmp34 = (int )__cil_tmp33;
13953#line 1916
13954    outb(__cil_tmp31, __cil_tmp34);
13955#line 1917
13956    __cil_tmp35 = acb->io_port_base;
13957#line 1917
13958    __cil_tmp36 = __cil_tmp35 + 152UL;
13959#line 1917
13960    __cil_tmp37 = (int )__cil_tmp36;
13961#line 1917
13962    outb((unsigned char)0, __cil_tmp37);
13963#line 1918
13964    __cil_tmp38 = acb->io_port_base;
13965#line 1918
13966    __cil_tmp39 = __cil_tmp38 + 152UL;
13967#line 1918
13968    __cil_tmp40 = (int )__cil_tmp39;
13969#line 1918
13970    outb((unsigned char)0, __cil_tmp40);
13971#line 1919
13972    __cil_tmp41 = acb->io_port_base;
13973#line 1919
13974    __cil_tmp42 = __cil_tmp41 + 152UL;
13975#line 1919
13976    __cil_tmp43 = (int )__cil_tmp42;
13977#line 1919
13978    outb((unsigned char)96, __cil_tmp43);
13979#line 1920
13980    __cil_tmp44 = acb->io_port_base;
13981#line 1920
13982    __cil_tmp45 = __cil_tmp44 + 152UL;
13983#line 1920
13984    __cil_tmp46 = (int )__cil_tmp45;
13985#line 1920
13986    outb((unsigned char)0, __cil_tmp46);
13987    }
13988  }
13989  }
13990  {
13991#line 1922
13992  __cil_tmp47 = srb->state;
13993#line 1922
13994  __cil_tmp48 = (int )__cil_tmp47;
13995#line 1922
13996  __cil_tmp49 = __cil_tmp48 | 32;
13997#line 1922
13998  srb->state = (u16 )__cil_tmp49;
13999#line 1924
14000  __cil_tmp50 = acb->io_port_base;
14001#line 1924
14002  __cil_tmp51 = __cil_tmp50 + 128UL;
14003#line 1924
14004  __cil_tmp52 = (int )__cil_tmp51;
14005#line 1924
14006  outw((unsigned short)2, __cil_tmp52);
14007#line 1926
14008  __cil_tmp53 = acb->io_port_base;
14009#line 1926
14010  __cil_tmp54 = __cil_tmp53 + 144UL;
14011#line 1926
14012  __cil_tmp55 = (int )__cil_tmp54;
14013#line 1926
14014  outb((unsigned char)192, __cil_tmp55);
14015  }
14016#line 1927
14017  return;
14018}
14019}
14020#line 1934 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14021static void sg_verify_length(struct ScsiReqBlk *srb ) 
14022{ 
14023
14024  {
14025#line 1947
14026  return;
14027}
14028}
14029#line 1954 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14030static void sg_update_list(struct ScsiReqBlk *srb , u32 left ) 
14031{ u8 idx ;
14032  u32 xferred ;
14033  struct SGentry *psge ;
14034  size_t __cil_tmp6 ;
14035  size_t __cil_tmp7 ;
14036  size_t __cil_tmp8 ;
14037  u8 __cil_tmp9 ;
14038  int __cil_tmp10 ;
14039  struct SGentry *__cil_tmp11 ;
14040  u8 __cil_tmp12 ;
14041  int __cil_tmp13 ;
14042  int __cil_tmp14 ;
14043  u32 __cil_tmp15 ;
14044  u32 __cil_tmp16 ;
14045  u32 __cil_tmp17 ;
14046  u32 __cil_tmp18 ;
14047  struct DeviceCtlBlk *__cil_tmp19 ;
14048  struct AdapterCtlBlk *__cil_tmp20 ;
14049  struct pci_dev *__cil_tmp21 ;
14050  dma_addr_t __cil_tmp22 ;
14051  unsigned long __cil_tmp23 ;
14052  int __cil_tmp24 ;
14053  int __cil_tmp25 ;
14054
14055  {
14056#line 1957
14057  __cil_tmp6 = (size_t )left;
14058#line 1957
14059  __cil_tmp7 = srb->total_xfer_length;
14060#line 1957
14061  __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
14062#line 1957
14063  xferred = (u32 )__cil_tmp8;
14064#line 1958
14065  __cil_tmp9 = srb->sg_index;
14066#line 1958
14067  __cil_tmp10 = (int )__cil_tmp9;
14068#line 1958
14069  __cil_tmp11 = srb->segment_x;
14070#line 1958
14071  psge = __cil_tmp11 + __cil_tmp10;
14072  {
14073#line 1960
14074  while (1) {
14075    while_continue: /* CIL Label */ ;
14076
14077#line 1960
14078    goto while_break;
14079  }
14080  while_break___1: /* CIL Label */ ;
14081  }
14082
14083  while_break: ;
14084#line 1963
14085  if (xferred == 0U) {
14086#line 1965
14087    return;
14088  } else {
14089
14090  }
14091  {
14092#line 1968
14093  sg_verify_length(srb);
14094#line 1969
14095  srb->total_xfer_length = (size_t )left;
14096#line 1970
14097  idx = srb->sg_index;
14098  }
14099  {
14100#line 1970
14101  while (1) {
14102    while_continue___0: /* CIL Label */ ;
14103
14104    {
14105#line 1970
14106    __cil_tmp12 = srb->sg_count;
14107#line 1970
14108    __cil_tmp13 = (int )__cil_tmp12;
14109#line 1970
14110    __cil_tmp14 = (int )idx;
14111#line 1970
14112    if (__cil_tmp14 < __cil_tmp13) {
14113
14114    } else {
14115#line 1970
14116      goto while_break___0;
14117    }
14118    }
14119    {
14120#line 1971
14121    __cil_tmp15 = psge->length;
14122#line 1971
14123    if (xferred >= __cil_tmp15) {
14124#line 1973
14125      __cil_tmp16 = psge->length;
14126#line 1973
14127      xferred = xferred - __cil_tmp16;
14128    } else {
14129      {
14130#line 1976
14131      __cil_tmp17 = psge->length;
14132#line 1976
14133      psge->length = __cil_tmp17 - xferred;
14134#line 1977
14135      __cil_tmp18 = psge->address;
14136#line 1977
14137      psge->address = __cil_tmp18 + xferred;
14138#line 1978
14139      srb->sg_index = idx;
14140#line 1979
14141      __cil_tmp19 = srb->dcb;
14142#line 1979
14143      __cil_tmp20 = __cil_tmp19->acb;
14144#line 1979
14145      __cil_tmp21 = __cil_tmp20->dev;
14146#line 1979
14147      __cil_tmp22 = srb->sg_bus_addr;
14148#line 1979
14149      __cil_tmp23 = 8UL * 64UL;
14150#line 1979
14151      pci_dma_sync_single_for_device(__cil_tmp21, __cil_tmp22, __cil_tmp23, 1);
14152      }
14153#line 1984
14154      goto while_break___0;
14155    }
14156    }
14157#line 1986
14158    psge = psge + 1;
14159#line 1970
14160    __cil_tmp24 = (int )idx;
14161#line 1970
14162    __cil_tmp25 = __cil_tmp24 + 1;
14163#line 1970
14164    idx = (u8 )__cil_tmp25;
14165  }
14166  while_break___2: /* CIL Label */ ;
14167  }
14168
14169  while_break___0: 
14170  {
14171#line 1988
14172  sg_verify_length(srb);
14173  }
14174#line 1989
14175  return;
14176}
14177}
14178#line 1998 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14179static void sg_subtract_one(struct ScsiReqBlk *srb ) 
14180{ size_t __cil_tmp2 ;
14181  size_t __cil_tmp3 ;
14182  u32 __cil_tmp4 ;
14183
14184  {
14185  {
14186#line 2000
14187  __cil_tmp2 = srb->total_xfer_length;
14188#line 2000
14189  __cil_tmp3 = __cil_tmp2 - 1UL;
14190#line 2000
14191  __cil_tmp4 = (u32 )__cil_tmp3;
14192#line 2000
14193  sg_update_list(srb, __cil_tmp4);
14194  }
14195#line 2001
14196  return;
14197}
14198}
14199#line 2012 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14200static void cleanup_after_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
14201{ unsigned char tmp___7 ;
14202  unsigned char tmp___8 ;
14203  unsigned char tmp___9 ;
14204  unsigned char tmp___10 ;
14205  unsigned short tmp___11 ;
14206  unsigned long __cil_tmp8 ;
14207  unsigned long __cil_tmp9 ;
14208  int __cil_tmp10 ;
14209  int __cil_tmp11 ;
14210  unsigned long __cil_tmp12 ;
14211  unsigned long __cil_tmp13 ;
14212  int __cil_tmp14 ;
14213  int __cil_tmp15 ;
14214  char *__cil_tmp16 ;
14215  unsigned long __cil_tmp17 ;
14216  unsigned long __cil_tmp18 ;
14217  int __cil_tmp19 ;
14218  int __cil_tmp20 ;
14219  unsigned long __cil_tmp21 ;
14220  unsigned long __cil_tmp22 ;
14221  int __cil_tmp23 ;
14222  unsigned long __cil_tmp24 ;
14223  unsigned long __cil_tmp25 ;
14224  int __cil_tmp26 ;
14225  int __cil_tmp27 ;
14226  unsigned long __cil_tmp28 ;
14227  unsigned long __cil_tmp29 ;
14228  int __cil_tmp30 ;
14229  unsigned long __cil_tmp31 ;
14230  unsigned long __cil_tmp32 ;
14231  int __cil_tmp33 ;
14232  int __cil_tmp34 ;
14233  char *__cil_tmp35 ;
14234  unsigned long __cil_tmp36 ;
14235  unsigned long __cil_tmp37 ;
14236  int __cil_tmp38 ;
14237
14238  {
14239  {
14240#line 2016
14241  __cil_tmp8 = acb->io_port_base;
14242#line 2016
14243  __cil_tmp9 = __cil_tmp8 + 160UL;
14244#line 2016
14245  __cil_tmp10 = (int )__cil_tmp9;
14246#line 2016
14247  tmp___11 = inw(__cil_tmp10);
14248  }
14249  {
14250#line 2016
14251  __cil_tmp11 = (int )tmp___11;
14252#line 2016
14253  if (__cil_tmp11 & 1) {
14254    {
14255#line 2017
14256    __cil_tmp12 = acb->io_port_base;
14257#line 2017
14258    __cil_tmp13 = __cil_tmp12 + 130UL;
14259#line 2017
14260    __cil_tmp14 = (int )__cil_tmp13;
14261#line 2017
14262    tmp___7 = inb(__cil_tmp14);
14263    }
14264    {
14265#line 2017
14266    __cil_tmp15 = (int )tmp___7;
14267#line 2017
14268    if (__cil_tmp15 & 64) {
14269
14270    } else {
14271      {
14272#line 2018
14273      __cil_tmp16 = (char *)"cleanup/in";
14274#line 2018
14275      clear_fifo(acb, __cil_tmp16);
14276      }
14277    }
14278    }
14279    {
14280#line 2019
14281    __cil_tmp17 = acb->io_port_base;
14282#line 2019
14283    __cil_tmp18 = __cil_tmp17 + 162UL;
14284#line 2019
14285    __cil_tmp19 = (int )__cil_tmp18;
14286#line 2019
14287    tmp___8 = inb(__cil_tmp19);
14288    }
14289    {
14290#line 2019
14291    __cil_tmp20 = (int )tmp___8;
14292#line 2019
14293    if (__cil_tmp20 & 128) {
14294
14295    } else {
14296      {
14297#line 2020
14298      __cil_tmp21 = acb->io_port_base;
14299#line 2020
14300      __cil_tmp22 = __cil_tmp21 + 161UL;
14301#line 2020
14302      __cil_tmp23 = (int )__cil_tmp22;
14303#line 2020
14304      outb((unsigned char)2, __cil_tmp23);
14305      }
14306    }
14307    }
14308  } else {
14309    {
14310#line 2022
14311    __cil_tmp24 = acb->io_port_base;
14312#line 2022
14313    __cil_tmp25 = __cil_tmp24 + 162UL;
14314#line 2022
14315    __cil_tmp26 = (int )__cil_tmp25;
14316#line 2022
14317    tmp___9 = inb(__cil_tmp26);
14318    }
14319    {
14320#line 2022
14321    __cil_tmp27 = (int )tmp___9;
14322#line 2022
14323    if (__cil_tmp27 & 128) {
14324
14325    } else {
14326      {
14327#line 2023
14328      __cil_tmp28 = acb->io_port_base;
14329#line 2023
14330      __cil_tmp29 = __cil_tmp28 + 161UL;
14331#line 2023
14332      __cil_tmp30 = (int )__cil_tmp29;
14333#line 2023
14334      outb((unsigned char)2, __cil_tmp30);
14335      }
14336    }
14337    }
14338    {
14339#line 2024
14340    __cil_tmp31 = acb->io_port_base;
14341#line 2024
14342    __cil_tmp32 = __cil_tmp31 + 130UL;
14343#line 2024
14344    __cil_tmp33 = (int )__cil_tmp32;
14345#line 2024
14346    tmp___10 = inb(__cil_tmp33);
14347    }
14348    {
14349#line 2024
14350    __cil_tmp34 = (int )tmp___10;
14351#line 2024
14352    if (__cil_tmp34 & 64) {
14353
14354    } else {
14355      {
14356#line 2025
14357      __cil_tmp35 = (char *)"cleanup/out";
14358#line 2025
14359      clear_fifo(acb, __cil_tmp35);
14360      }
14361    }
14362    }
14363  }
14364  }
14365  {
14366#line 2027
14367  __cil_tmp36 = acb->io_port_base;
14368#line 2027
14369  __cil_tmp37 = __cil_tmp36 + 128UL;
14370#line 2027
14371  __cil_tmp38 = (int )__cil_tmp37;
14372#line 2027
14373  outw((unsigned short)2, __cil_tmp38);
14374  }
14375#line 2028
14376  return;
14377}
14378}
14379#line 2038 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14380static void data_out_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
14381{ struct DeviceCtlBlk *dcb ;
14382  u16 scsi_status ;
14383  u32 d_left_counter ;
14384  unsigned char tmp___7 ;
14385  unsigned int tmp___8 ;
14386  unsigned int tmp___9 ;
14387  long oldxferred ;
14388  int diff ;
14389  int tmp___10 ;
14390  unsigned int tmp___11 ;
14391  unsigned long __cil_tmp14 ;
14392  unsigned long __cil_tmp15 ;
14393  int __cil_tmp16 ;
14394  u16 __cil_tmp17 ;
14395  int __cil_tmp18 ;
14396  int __cil_tmp19 ;
14397  int __cil_tmp20 ;
14398  u8 __cil_tmp21 ;
14399  int __cil_tmp22 ;
14400  int __cil_tmp23 ;
14401  int __cil_tmp24 ;
14402  int __cil_tmp25 ;
14403  unsigned long __cil_tmp26 ;
14404  unsigned long __cil_tmp27 ;
14405  int __cil_tmp28 ;
14406  int __cil_tmp29 ;
14407  int __cil_tmp30 ;
14408  u8 __cil_tmp31 ;
14409  int __cil_tmp32 ;
14410  size_t __cil_tmp33 ;
14411  unsigned long __cil_tmp34 ;
14412  unsigned long __cil_tmp35 ;
14413  int __cil_tmp36 ;
14414  u8 __cil_tmp37 ;
14415  int __cil_tmp38 ;
14416  struct scsi_cmnd *__cil_tmp39 ;
14417  int __cil_tmp40 ;
14418  size_t __cil_tmp41 ;
14419  size_t __cil_tmp42 ;
14420  size_t __cil_tmp43 ;
14421  u8 __cil_tmp44 ;
14422  int __cil_tmp45 ;
14423  u32 __cil_tmp46 ;
14424  u8 __cil_tmp47 ;
14425  int __cil_tmp48 ;
14426  struct SGentry *__cil_tmp49 ;
14427  struct SGentry *__cil_tmp50 ;
14428  u32 __cil_tmp51 ;
14429  struct scsi_cmnd *__cil_tmp52 ;
14430  size_t __cil_tmp53 ;
14431  size_t __cil_tmp54 ;
14432  size_t __cil_tmp55 ;
14433  unsigned long __cil_tmp56 ;
14434  unsigned long __cil_tmp57 ;
14435  unsigned long __cil_tmp58 ;
14436  unsigned long __cil_tmp59 ;
14437  unsigned long __cil_tmp60 ;
14438  unsigned long __cil_tmp61 ;
14439  unsigned long __cil_tmp62 ;
14440  unsigned long __cil_tmp63 ;
14441  unsigned long __cil_tmp64 ;
14442  size_t __cil_tmp65 ;
14443  size_t __cil_tmp66 ;
14444  size_t __cil_tmp67 ;
14445  u16 __cil_tmp68 ;
14446  int __cil_tmp69 ;
14447  int __cil_tmp70 ;
14448
14449  {
14450#line 2041
14451  dcb = srb->dcb;
14452#line 2042
14453  scsi_status = *pscsi_status;
14454#line 2043
14455  d_left_counter = (u32 )0;
14456  {
14457#line 2044
14458  while (1) {
14459    while_continue: /* CIL Label */ ;
14460
14461#line 2044
14462    goto while_break;
14463  }
14464  while_break___2: /* CIL Label */ ;
14465  }
14466
14467  while_break: ;
14468  {
14469#line 2059
14470  while (1) {
14471    while_continue___0: /* CIL Label */ ;
14472
14473#line 2059
14474    goto while_break___0;
14475  }
14476  while_break___3: /* CIL Label */ ;
14477  }
14478
14479  while_break___0: 
14480  {
14481#line 2067
14482  __cil_tmp14 = acb->io_port_base;
14483#line 2067
14484  __cil_tmp15 = __cil_tmp14 + 161UL;
14485#line 2067
14486  __cil_tmp16 = (int )__cil_tmp15;
14487#line 2067
14488  outb((unsigned char)10, __cil_tmp16);
14489  }
14490  {
14491#line 2069
14492  __cil_tmp17 = srb->state;
14493#line 2069
14494  __cil_tmp18 = (int )__cil_tmp17;
14495#line 2069
14496  __cil_tmp19 = __cil_tmp18 & 512;
14497#line 2069
14498  if (! __cil_tmp19) {
14499    {
14500#line 2070
14501    __cil_tmp20 = (int )scsi_status;
14502#line 2070
14503    if (__cil_tmp20 & 8) {
14504#line 2071
14505      __cil_tmp21 = srb->status;
14506#line 2071
14507      __cil_tmp22 = (int )__cil_tmp21;
14508#line 2071
14509      __cil_tmp23 = __cil_tmp22 | 16;
14510#line 2071
14511      srb->status = (u8 )__cil_tmp23;
14512    } else {
14513
14514    }
14515    }
14516    {
14517#line 2079
14518    __cil_tmp24 = (int )scsi_status;
14519#line 2079
14520    __cil_tmp25 = __cil_tmp24 & 2048;
14521#line 2079
14522    if (! __cil_tmp25) {
14523      {
14524#line 2084
14525      __cil_tmp26 = acb->io_port_base;
14526#line 2084
14527      __cil_tmp27 = __cil_tmp26 + 130UL;
14528#line 2084
14529      __cil_tmp28 = (int )__cil_tmp27;
14530#line 2084
14531      tmp___7 = inb(__cil_tmp28);
14532#line 2084
14533      __cil_tmp29 = (int )tmp___7;
14534#line 2084
14535      __cil_tmp30 = __cil_tmp29 & 31;
14536#line 2084
14537      d_left_counter = (u32 )__cil_tmp30;
14538      }
14539      {
14540#line 2087
14541      __cil_tmp31 = dcb->sync_period;
14542#line 2087
14543      __cil_tmp32 = (int )__cil_tmp31;
14544#line 2087
14545      if (__cil_tmp32 & 16) {
14546#line 2088
14547        d_left_counter = d_left_counter << 1;
14548      } else {
14549
14550      }
14551      }
14552      {
14553#line 2090
14554      while (1) {
14555        while_continue___1: /* CIL Label */ ;
14556
14557#line 2090
14558        goto while_break___1;
14559      }
14560      while_break___4: /* CIL Label */ ;
14561      }
14562
14563      while_break___1: ;
14564    } else {
14565
14566    }
14567    }
14568    {
14569#line 2110
14570    __cil_tmp33 = srb->total_xfer_length;
14571#line 2110
14572    if (__cil_tmp33 > 4UL) {
14573      {
14574#line 2111
14575      __cil_tmp34 = acb->io_port_base;
14576#line 2111
14577      __cil_tmp35 = __cil_tmp34 + 136UL;
14578#line 2111
14579      __cil_tmp36 = (int )__cil_tmp35;
14580#line 2111
14581      tmp___8 = inl(__cil_tmp36);
14582#line 2111
14583      d_left_counter = d_left_counter + tmp___8;
14584      }
14585    } else {
14586
14587    }
14588    }
14589#line 2117
14590    if (d_left_counter == 1U) {
14591      {
14592#line 2117
14593      __cil_tmp37 = dcb->sync_period;
14594#line 2117
14595      __cil_tmp38 = (int )__cil_tmp37;
14596#line 2117
14597      if (__cil_tmp38 & 16) {
14598        {
14599#line 2117
14600        __cil_tmp39 = srb->cmd;
14601#line 2117
14602        tmp___9 = scsi_bufflen(__cil_tmp39);
14603        }
14604#line 2117
14605        if (tmp___9 % 2U) {
14606          {
14607#line 2119
14608          d_left_counter = (u32 )0;
14609#line 2120
14610          __cil_tmp40 = (int )scsi_status;
14611#line 2120
14612          printk("<6>dc395x: data_out_phase0: Discard 1 byte (0x%02x)\n", __cil_tmp40);
14613          }
14614        } else {
14615
14616        }
14617      } else {
14618
14619      }
14620      }
14621    } else {
14622
14623    }
14624#line 2134
14625    if (d_left_counter == 0U) {
14626#line 2135
14627      srb->total_xfer_length = (size_t )0;
14628    } else {
14629#line 2142
14630      __cil_tmp41 = (size_t )d_left_counter;
14631#line 2142
14632      __cil_tmp42 = srb->total_xfer_length;
14633#line 2142
14634      __cil_tmp43 = __cil_tmp42 - __cil_tmp41;
14635#line 2142
14636      oldxferred = (long )__cil_tmp43;
14637      {
14638#line 2144
14639      __cil_tmp44 = dcb->sync_period;
14640#line 2144
14641      __cil_tmp45 = (int )__cil_tmp44;
14642#line 2144
14643      if (__cil_tmp45 & 16) {
14644#line 2144
14645        tmp___10 = 2;
14646      } else {
14647#line 2144
14648        tmp___10 = 1;
14649      }
14650      }
14651      {
14652#line 2144
14653      diff = tmp___10;
14654#line 2146
14655      sg_update_list(srb, d_left_counter);
14656      }
14657      {
14658#line 2148
14659      __cil_tmp46 = (u32 )diff;
14660#line 2148
14661      __cil_tmp47 = srb->sg_index;
14662#line 2148
14663      __cil_tmp48 = (int )__cil_tmp47;
14664#line 2148
14665      __cil_tmp49 = srb->segment_x;
14666#line 2148
14667      __cil_tmp50 = __cil_tmp49 + __cil_tmp48;
14668#line 2148
14669      __cil_tmp51 = __cil_tmp50->length;
14670#line 2148
14671      if (__cil_tmp51 == __cil_tmp46) {
14672        {
14673#line 2148
14674        __cil_tmp52 = srb->cmd;
14675#line 2148
14676        tmp___11 = scsi_sg_count(__cil_tmp52);
14677        }
14678#line 2148
14679        if (tmp___11) {
14680          {
14681#line 2153
14682          printk("<6>dc395x: data_out_phase0: Work around chip bug (%i)?\n", diff);
14683#line 2155
14684          __cil_tmp53 = (size_t )diff;
14685#line 2155
14686          __cil_tmp54 = srb->total_xfer_length;
14687#line 2155
14688          __cil_tmp55 = __cil_tmp54 - __cil_tmp53;
14689#line 2155
14690          d_left_counter = (u32 )__cil_tmp55;
14691#line 2157
14692          sg_update_list(srb, d_left_counter);
14693          }
14694        } else {
14695#line 2148
14696          goto _L;
14697        }
14698      } else {
14699        _L: 
14700        {
14701#line 2148
14702        __cil_tmp56 = (unsigned long )diff;
14703#line 2148
14704        __cil_tmp57 = 1UL << 12;
14705#line 2148
14706        __cil_tmp58 = __cil_tmp57 - __cil_tmp56;
14707#line 2148
14708        __cil_tmp59 = 1UL << 12;
14709#line 2148
14710        __cil_tmp60 = __cil_tmp59 - 1UL;
14711#line 2148
14712        __cil_tmp61 = ~ __cil_tmp60;
14713#line 2148
14714        __cil_tmp62 = ~ __cil_tmp61;
14715#line 2148
14716        __cil_tmp63 = (unsigned long )oldxferred;
14717#line 2148
14718        __cil_tmp64 = __cil_tmp63 & __cil_tmp62;
14719#line 2148
14720        if (__cil_tmp64 == __cil_tmp58) {
14721          {
14722#line 2153
14723          printk("<6>dc395x: data_out_phase0: Work around chip bug (%i)?\n", diff);
14724#line 2155
14725          __cil_tmp65 = (size_t )diff;
14726#line 2155
14727          __cil_tmp66 = srb->total_xfer_length;
14728#line 2155
14729          __cil_tmp67 = __cil_tmp66 - __cil_tmp65;
14730#line 2155
14731          d_left_counter = (u32 )__cil_tmp67;
14732#line 2157
14733          sg_update_list(srb, d_left_counter);
14734          }
14735        } else {
14736
14737        }
14738        }
14739      }
14740      }
14741    }
14742  } else {
14743
14744  }
14745  }
14746  {
14747#line 2165
14748  __cil_tmp68 = *pscsi_status;
14749#line 2165
14750  __cil_tmp69 = (int )__cil_tmp68;
14751#line 2165
14752  __cil_tmp70 = __cil_tmp69 & 7;
14753#line 2165
14754  if (__cil_tmp70 != 0) {
14755    {
14756#line 2166
14757    cleanup_after_transfer(acb, srb);
14758    }
14759  } else {
14760
14761  }
14762  }
14763#line 2168
14764  return;
14765}
14766}
14767#line 2171 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14768static void data_out_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
14769{ char *__cil_tmp4 ;
14770  u16 __cil_tmp5 ;
14771
14772  {
14773  {
14774#line 2174
14775  while (1) {
14776    while_continue: /* CIL Label */ ;
14777
14778#line 2174
14779    goto while_break;
14780  }
14781  while_break___0: /* CIL Label */ ;
14782  }
14783
14784  while_break: 
14785  {
14786#line 2176
14787  __cil_tmp4 = (char *)"data_out_phase1";
14788#line 2176
14789  clear_fifo(acb, __cil_tmp4);
14790#line 2178
14791  __cil_tmp5 = (u16 )256;
14792#line 2178
14793  data_io_transfer(acb, srb, __cil_tmp5);
14794  }
14795#line 2179
14796  return;
14797}
14798}
14799#line 2181 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14800static void data_in_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
14801{ u16 scsi_status ;
14802  u32 d_left_counter ;
14803  unsigned int sc ;
14804  unsigned int fc ;
14805  unsigned char tmp___7 ;
14806  unsigned int tmp___8 ;
14807  unsigned char tmp___9 ;
14808  int tmp___10 ;
14809  size_t left_io ;
14810  unsigned char *virt ;
14811  unsigned char *base ;
14812  unsigned long flags ;
14813  size_t len ;
14814  size_t offset ;
14815  struct scatterlist *tmp___11 ;
14816  void *tmp___12 ;
14817  u8 byte ;
14818  unsigned char tmp___13 ;
14819  unsigned char *tmp___14 ;
14820  unsigned char tmp___15 ;
14821  int __ret_warn_on ;
14822  long tmp___16 ;
14823  u8 byte___0 ;
14824  unsigned char tmp___17 ;
14825  unsigned char *tmp___18 ;
14826  int tmp___19 ;
14827  u16 __cil_tmp30 ;
14828  int __cil_tmp31 ;
14829  int __cil_tmp32 ;
14830  int __cil_tmp33 ;
14831  struct scsi_cmnd *__cil_tmp34 ;
14832  u8 __cil_tmp35 ;
14833  int __cil_tmp36 ;
14834  int __cil_tmp37 ;
14835  unsigned long __cil_tmp38 ;
14836  unsigned long __cil_tmp39 ;
14837  int __cil_tmp40 ;
14838  int __cil_tmp41 ;
14839  unsigned long __cil_tmp42 ;
14840  unsigned long __cil_tmp43 ;
14841  int __cil_tmp44 ;
14842  unsigned long __cil_tmp45 ;
14843  unsigned long __cil_tmp46 ;
14844  int __cil_tmp47 ;
14845  struct DeviceCtlBlk *__cil_tmp48 ;
14846  u8 __cil_tmp49 ;
14847  int __cil_tmp50 ;
14848  unsigned int __cil_tmp51 ;
14849  unsigned int __cil_tmp52 ;
14850  size_t __cil_tmp53 ;
14851  struct DeviceCtlBlk *__cil_tmp54 ;
14852  u8 __cil_tmp55 ;
14853  int __cil_tmp56 ;
14854  unsigned long __cil_tmp57 ;
14855  unsigned long __cil_tmp58 ;
14856  int __cil_tmp59 ;
14857  void *__cil_tmp60 ;
14858  size_t __cil_tmp61 ;
14859  struct scsi_cmnd *__cil_tmp62 ;
14860  u8 __cil_tmp63 ;
14861  int __cil_tmp64 ;
14862  unsigned long __cil_tmp65 ;
14863  unsigned long __cil_tmp66 ;
14864  int __cil_tmp67 ;
14865  unsigned long __cil_tmp68 ;
14866  unsigned long __cil_tmp69 ;
14867  int __cil_tmp70 ;
14868  int __cil_tmp71 ;
14869  int __cil_tmp72 ;
14870  int __cil_tmp73 ;
14871  int __cil_tmp74 ;
14872  int __cil_tmp75 ;
14873  int __cil_tmp76 ;
14874  long __cil_tmp77 ;
14875  int __cil_tmp78 ;
14876  int __cil_tmp79 ;
14877  int __cil_tmp80 ;
14878  int __cil_tmp81 ;
14879  long __cil_tmp82 ;
14880  struct DeviceCtlBlk *__cil_tmp83 ;
14881  u8 __cil_tmp84 ;
14882  int __cil_tmp85 ;
14883  size_t __cil_tmp86 ;
14884  unsigned long __cil_tmp87 ;
14885  unsigned long __cil_tmp88 ;
14886  int __cil_tmp89 ;
14887  size_t __cil_tmp90 ;
14888  unsigned long __cil_tmp91 ;
14889  unsigned long __cil_tmp92 ;
14890  int __cil_tmp93 ;
14891  void *__cil_tmp94 ;
14892  int __cil_tmp95 ;
14893  u16 __cil_tmp96 ;
14894  int __cil_tmp97 ;
14895  int __cil_tmp98 ;
14896
14897  {
14898#line 2184
14899  scsi_status = *pscsi_status;
14900  {
14901#line 2186
14902  while (1) {
14903    while_continue: /* CIL Label */ ;
14904
14905#line 2186
14906    goto while_break;
14907  }
14908  while_break___10: /* CIL Label */ ;
14909  }
14910
14911  while_break: ;
14912  {
14913#line 2202
14914  __cil_tmp30 = srb->state;
14915#line 2202
14916  __cil_tmp31 = (int )__cil_tmp30;
14917#line 2202
14918  __cil_tmp32 = __cil_tmp31 & 512;
14919#line 2202
14920  if (! __cil_tmp32) {
14921    {
14922#line 2206
14923    __cil_tmp33 = (int )scsi_status;
14924#line 2206
14925    if (__cil_tmp33 & 8) {
14926      {
14927#line 2207
14928      __cil_tmp34 = srb->cmd;
14929#line 2207
14930      printk("<6>dc395x: data_in_phase0: (0x%p) Parity Error\n", __cil_tmp34);
14931#line 2209
14932      __cil_tmp35 = srb->status;
14933#line 2209
14934      __cil_tmp36 = (int )__cil_tmp35;
14935#line 2209
14936      __cil_tmp37 = __cil_tmp36 | 16;
14937#line 2209
14938      srb->status = (u8 )__cil_tmp37;
14939      }
14940    } else {
14941
14942    }
14943    }
14944    {
14945#line 2217
14946    __cil_tmp38 = acb->io_port_base;
14947#line 2217
14948    __cil_tmp39 = __cil_tmp38 + 162UL;
14949#line 2217
14950    __cil_tmp40 = (int )__cil_tmp39;
14951#line 2217
14952    tmp___7 = inb(__cil_tmp40);
14953    }
14954    {
14955#line 2217
14956    __cil_tmp41 = (int )tmp___7;
14957#line 2217
14958    if (__cil_tmp41 & 128) {
14959
14960    } else {
14961      {
14962#line 2236
14963      while (1) {
14964        while_continue___0: /* CIL Label */ ;
14965
14966#line 2236
14967        goto while_break___0;
14968      }
14969      while_break___11: /* CIL Label */ ;
14970      }
14971
14972      while_break___0: ;
14973    }
14974    }
14975    {
14976#line 2242
14977    __cil_tmp42 = acb->io_port_base;
14978#line 2242
14979    __cil_tmp43 = __cil_tmp42 + 136UL;
14980#line 2242
14981    __cil_tmp44 = (int )__cil_tmp43;
14982#line 2242
14983    tmp___8 = inl(__cil_tmp44);
14984#line 2242
14985    sc = tmp___8;
14986#line 2243
14987    __cil_tmp45 = acb->io_port_base;
14988#line 2243
14989    __cil_tmp46 = __cil_tmp45 + 130UL;
14990#line 2243
14991    __cil_tmp47 = (int )__cil_tmp46;
14992#line 2243
14993    tmp___9 = inb(__cil_tmp47);
14994#line 2243
14995    fc = (unsigned int )tmp___9;
14996    }
14997    {
14998#line 2244
14999    __cil_tmp48 = srb->dcb;
15000#line 2244
15001    __cil_tmp49 = __cil_tmp48->sync_period;
15002#line 2244
15003    __cil_tmp50 = (int )__cil_tmp49;
15004#line 2244
15005    if (__cil_tmp50 & 16) {
15006#line 2244
15007      tmp___10 = 1;
15008    } else {
15009#line 2244
15010      tmp___10 = 0;
15011    }
15012    }
15013#line 2244
15014    __cil_tmp51 = fc & 31U;
15015#line 2244
15016    __cil_tmp52 = __cil_tmp51 << tmp___10;
15017#line 2244
15018    d_left_counter = sc + __cil_tmp52;
15019    {
15020#line 2247
15021    while (1) {
15022      while_continue___1: /* CIL Label */ ;
15023
15024#line 2247
15025      goto while_break___1;
15026    }
15027    while_break___12: /* CIL Label */ ;
15028    }
15029
15030    while_break___1: ;
15031#line 2260
15032    if (d_left_counter) {
15033      {
15034#line 2260
15035      __cil_tmp53 = srb->total_xfer_length;
15036#line 2260
15037      if (__cil_tmp53 <= 4UL) {
15038#line 2262
15039        left_io = srb->total_xfer_length;
15040        {
15041#line 2266
15042        while (1) {
15043          while_continue___2: /* CIL Label */ ;
15044
15045#line 2266
15046          goto while_break___2;
15047        }
15048        while_break___13: /* CIL Label */ ;
15049        }
15050
15051        while_break___2: ;
15052        {
15053#line 2272
15054        __cil_tmp54 = srb->dcb;
15055#line 2272
15056        __cil_tmp55 = __cil_tmp54->sync_period;
15057#line 2272
15058        __cil_tmp56 = (int )__cil_tmp55;
15059#line 2272
15060        if (__cil_tmp56 & 16) {
15061          {
15062#line 2273
15063          __cil_tmp57 = acb->io_port_base;
15064#line 2273
15065          __cil_tmp58 = __cil_tmp57 + 143UL;
15066#line 2273
15067          __cil_tmp59 = (int )__cil_tmp58;
15068#line 2273
15069          outb((unsigned char)2, __cil_tmp59);
15070          }
15071        } else {
15072
15073        }
15074        }
15075        {
15076#line 2275
15077        while (1) {
15078          while_continue___3: /* CIL Label */ ;
15079
15080#line 2275
15081          if (left_io) {
15082
15083          } else {
15084#line 2275
15085            goto while_break___3;
15086          }
15087#line 2276
15088          __cil_tmp60 = (void *)0;
15089#line 2276
15090          base = (unsigned char *)__cil_tmp60;
15091#line 2277
15092          flags = 0UL;
15093#line 2278
15094          len = left_io;
15095#line 2279
15096          __cil_tmp61 = srb->request_length;
15097#line 2279
15098          offset = __cil_tmp61 - left_io;
15099          {
15100#line 2281
15101          while (1) {
15102            while_continue___4: /* CIL Label */ ;
15103
15104            {
15105#line 2281
15106            while (1) {
15107              while_continue___5: /* CIL Label */ ;
15108              {
15109#line 2281
15110              flags = arch_local_irq_save();
15111              }
15112#line 2281
15113              goto while_break___5;
15114            }
15115            while_break___16: /* CIL Label */ ;
15116            }
15117
15118            while_break___5: 
15119            {
15120#line 2281
15121            trace_hardirqs_off();
15122            }
15123#line 2281
15124            goto while_break___4;
15125          }
15126          while_break___15: /* CIL Label */ ;
15127          }
15128
15129          while_break___4: 
15130          {
15131#line 2284
15132          __cil_tmp62 = srb->cmd;
15133#line 2284
15134          tmp___11 = scsi_sglist(__cil_tmp62);
15135#line 2284
15136          __cil_tmp63 = srb->sg_count;
15137#line 2284
15138          __cil_tmp64 = (int )__cil_tmp63;
15139#line 2284
15140          tmp___12 = scsi_kmap_atomic_sg(tmp___11, __cil_tmp64, & offset, & len);
15141#line 2284
15142          base = (unsigned char *)tmp___12;
15143#line 2286
15144          virt = base + offset;
15145#line 2288
15146          left_io = left_io - len;
15147          }
15148          {
15149#line 2290
15150          while (1) {
15151            while_continue___6: /* CIL Label */ ;
15152
15153#line 2290
15154            if (len) {
15155
15156            } else {
15157#line 2290
15158              goto while_break___6;
15159            }
15160            {
15161#line 2292
15162            __cil_tmp65 = acb->io_port_base;
15163#line 2292
15164            __cil_tmp66 = __cil_tmp65 + 152UL;
15165#line 2292
15166            __cil_tmp67 = (int )__cil_tmp66;
15167#line 2292
15168            tmp___13 = inb(__cil_tmp67);
15169#line 2292
15170            byte = tmp___13;
15171#line 2293
15172            tmp___14 = virt;
15173#line 2293
15174            virt = virt + 1;
15175#line 2293
15176            *tmp___14 = byte;
15177#line 2298
15178            d_left_counter = d_left_counter - 1U;
15179#line 2299
15180            sg_subtract_one(srb);
15181#line 2301
15182            len = len - 1UL;
15183#line 2303
15184            __cil_tmp68 = acb->io_port_base;
15185#line 2303
15186            __cil_tmp69 = __cil_tmp68 + 130UL;
15187#line 2303
15188            __cil_tmp70 = (int )__cil_tmp69;
15189#line 2303
15190            tmp___15 = inb(__cil_tmp70);
15191#line 2303
15192            fc = (unsigned int )tmp___15;
15193            }
15194#line 2305
15195            if (fc == 64U) {
15196#line 2306
15197              left_io = (size_t )0;
15198#line 2307
15199              goto while_break___6;
15200            } else {
15201
15202            }
15203          }
15204          while_break___17: /* CIL Label */ ;
15205          }
15206
15207          while_break___6: 
15208          {
15209#line 2311
15210          __cil_tmp71 = ! d_left_counter;
15211#line 2311
15212          __cil_tmp72 = fc != 64U;
15213#line 2311
15214          __cil_tmp73 = __cil_tmp72 == __cil_tmp71;
15215#line 2311
15216          __cil_tmp74 = ! __cil_tmp73;
15217#line 2311
15218          __ret_warn_on = ! __cil_tmp74;
15219#line 2311
15220          __cil_tmp75 = ! __ret_warn_on;
15221#line 2311
15222          __cil_tmp76 = ! __cil_tmp75;
15223#line 2311
15224          __cil_tmp77 = (long )__cil_tmp76;
15225#line 2311
15226          tmp___16 = __builtin_expect(__cil_tmp77, 0L);
15227          }
15228#line 2311
15229          if (tmp___16) {
15230            {
15231#line 2311
15232            __cil_tmp78 = (int const   )2311;
15233#line 2311
15234            __cil_tmp79 = (int )__cil_tmp78;
15235#line 2311
15236            warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c",
15237                               __cil_tmp79);
15238            }
15239          } else {
15240
15241          }
15242          {
15243#line 2311
15244          __cil_tmp80 = ! __ret_warn_on;
15245#line 2311
15246          __cil_tmp81 = ! __cil_tmp80;
15247#line 2311
15248          __cil_tmp82 = (long )__cil_tmp81;
15249#line 2311
15250          __builtin_expect(__cil_tmp82, 0L);
15251          }
15252#line 2313
15253          if (fc == 64U) {
15254            {
15255#line 2313
15256            __cil_tmp83 = srb->dcb;
15257#line 2313
15258            __cil_tmp84 = __cil_tmp83->sync_period;
15259#line 2313
15260            __cil_tmp85 = (int )__cil_tmp84;
15261#line 2313
15262            if (__cil_tmp85 & 16) {
15263              {
15264#line 2315
15265              __cil_tmp86 = srb->total_xfer_length;
15266#line 2315
15267              if (__cil_tmp86 > 0UL) {
15268                {
15269#line 2316
15270                __cil_tmp87 = acb->io_port_base;
15271#line 2316
15272                __cil_tmp88 = __cil_tmp87 + 152UL;
15273#line 2316
15274                __cil_tmp89 = (int )__cil_tmp88;
15275#line 2316
15276                tmp___17 = inb(__cil_tmp89);
15277#line 2316
15278                byte___0 = tmp___17;
15279#line 2318
15280                tmp___18 = virt;
15281#line 2318
15282                virt = virt + 1;
15283#line 2318
15284                *tmp___18 = byte___0;
15285#line 2319
15286                __cil_tmp90 = srb->total_xfer_length;
15287#line 2319
15288                srb->total_xfer_length = __cil_tmp90 - 1UL;
15289                }
15290              } else {
15291
15292              }
15293              }
15294              {
15295#line 2324
15296              __cil_tmp91 = acb->io_port_base;
15297#line 2324
15298              __cil_tmp92 = __cil_tmp91 + 143UL;
15299#line 2324
15300              __cil_tmp93 = (int )__cil_tmp92;
15301#line 2324
15302              outb((unsigned char)0, __cil_tmp93);
15303              }
15304            } else {
15305
15306            }
15307            }
15308          } else {
15309
15310          }
15311          {
15312#line 2327
15313          __cil_tmp94 = (void *)base;
15314#line 2327
15315          scsi_kunmap_atomic_sg(__cil_tmp94);
15316          }
15317          {
15318#line 2328
15319          while (1) {
15320            while_continue___7: /* CIL Label */ ;
15321            {
15322#line 2328
15323            tmp___19 = arch_irqs_disabled_flags(flags);
15324            }
15325#line 2328
15326            if (tmp___19) {
15327              {
15328#line 2328
15329              while (1) {
15330                while_continue___8: /* CIL Label */ ;
15331                {
15332#line 2328
15333                arch_local_irq_restore(flags);
15334                }
15335#line 2328
15336                goto while_break___8;
15337              }
15338              while_break___19: /* CIL Label */ ;
15339              }
15340
15341              while_break___8: 
15342              {
15343#line 2328
15344              trace_hardirqs_off();
15345              }
15346            } else {
15347              {
15348#line 2328
15349              trace_hardirqs_on();
15350              }
15351              {
15352#line 2328
15353              while (1) {
15354                while_continue___9: /* CIL Label */ ;
15355                {
15356#line 2328
15357                arch_local_irq_restore(flags);
15358                }
15359#line 2328
15360                goto while_break___9;
15361              }
15362              while_break___20: /* CIL Label */ ;
15363              }
15364
15365              while_break___9: ;
15366            }
15367#line 2328
15368            goto while_break___7;
15369          }
15370          while_break___18: /* CIL Label */ ;
15371          }
15372
15373          while_break___7: ;
15374        }
15375        while_break___14: /* CIL Label */ ;
15376        }
15377
15378        while_break___3: ;
15379      } else {
15380
15381      }
15382      }
15383    } else {
15384
15385    }
15386#line 2360
15387    if (d_left_counter == 0U) {
15388#line 2374
15389      srb->total_xfer_length = (size_t )d_left_counter;
15390    } else {
15391      {
15392#line 2360
15393      __cil_tmp95 = (int )scsi_status;
15394#line 2360
15395      if (__cil_tmp95 & 256) {
15396#line 2374
15397        srb->total_xfer_length = (size_t )d_left_counter;
15398      } else {
15399        {
15400#line 2384
15401        sg_update_list(srb, d_left_counter);
15402        }
15403      }
15404      }
15405    }
15406  } else {
15407
15408  }
15409  }
15410  {
15411#line 2388
15412  __cil_tmp96 = *pscsi_status;
15413#line 2388
15414  __cil_tmp97 = (int )__cil_tmp96;
15415#line 2388
15416  __cil_tmp98 = __cil_tmp97 & 7;
15417#line 2388
15418  if (__cil_tmp98 != 1) {
15419    {
15420#line 2389
15421    cleanup_after_transfer(acb, srb);
15422    }
15423  } else {
15424
15425  }
15426  }
15427#line 2391
15428  return;
15429}
15430}
15431#line 2394 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
15432static void data_in_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
15433{ u16 __cil_tmp4 ;
15434
15435  {
15436  {
15437#line 2397
15438  while (1) {
15439    while_continue: /* CIL Label */ ;
15440
15441#line 2397
15442    goto while_break;
15443  }
15444  while_break___0: /* CIL Label */ ;
15445  }
15446
15447  while_break: 
15448  {
15449#line 2399
15450  __cil_tmp4 = (u16 )257;
15451#line 2399
15452  data_io_transfer(acb, srb, __cil_tmp4);
15453  }
15454#line 2400
15455  return;
15456}
15457}
15458#line 2403 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
15459static void data_io_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ,
15460                             u16 io_dir ) 
15461{ struct DeviceCtlBlk *dcb ;
15462  u8 bval ;
15463  u8 dma_status ;
15464  unsigned char tmp___7 ;
15465  unsigned int tmp___8 ;
15466  int ln ;
15467  size_t left_io ;
15468  unsigned char *virt ;
15469  unsigned char *base ;
15470  unsigned long flags ;
15471  size_t len ;
15472  size_t offset ;
15473  struct scatterlist *tmp___9 ;
15474  void *tmp___10 ;
15475  unsigned char *tmp___11 ;
15476  size_t tmp___12 ;
15477  int tmp___13 ;
15478  u8 data ;
15479  u8 data2 ;
15480  unsigned char tmp___14 ;
15481  unsigned char tmp___15 ;
15482  unsigned char tmp___16 ;
15483  struct ScsiReqBlk *__cil_tmp26 ;
15484  unsigned long __cil_tmp27 ;
15485  unsigned long __cil_tmp28 ;
15486  u8 __cil_tmp29 ;
15487  int __cil_tmp30 ;
15488  u8 __cil_tmp31 ;
15489  int __cil_tmp32 ;
15490  size_t __cil_tmp33 ;
15491  unsigned long __cil_tmp34 ;
15492  unsigned long __cil_tmp35 ;
15493  int __cil_tmp36 ;
15494  int __cil_tmp37 ;
15495  unsigned long __cil_tmp38 ;
15496  unsigned long __cil_tmp39 ;
15497  int __cil_tmp40 ;
15498  u16 __cil_tmp41 ;
15499  int __cil_tmp42 ;
15500  int __cil_tmp43 ;
15501  unsigned long __cil_tmp44 ;
15502  unsigned long __cil_tmp45 ;
15503  int __cil_tmp46 ;
15504  struct scsi_cmnd *__cil_tmp47 ;
15505  int __cil_tmp48 ;
15506  int __cil_tmp49 ;
15507  u8 __cil_tmp50 ;
15508  unsigned long __cil_tmp51 ;
15509  unsigned long __cil_tmp52 ;
15510  dma_addr_t __cil_tmp53 ;
15511  dma_addr_t __cil_tmp54 ;
15512  dma_addr_t __cil_tmp55 ;
15513  unsigned int __cil_tmp56 ;
15514  unsigned long __cil_tmp57 ;
15515  unsigned long __cil_tmp58 ;
15516  int __cil_tmp59 ;
15517  u8 __cil_tmp60 ;
15518  int __cil_tmp61 ;
15519  u8 __cil_tmp62 ;
15520  int __cil_tmp63 ;
15521  int __cil_tmp64 ;
15522  u32 __cil_tmp65 ;
15523  u32 __cil_tmp66 ;
15524  unsigned long __cil_tmp67 ;
15525  unsigned long __cil_tmp68 ;
15526  int __cil_tmp69 ;
15527  int __cil_tmp70 ;
15528  int __cil_tmp71 ;
15529  struct SGentry *__cil_tmp72 ;
15530  struct SGentry *__cil_tmp73 ;
15531  u32 __cil_tmp74 ;
15532  unsigned long __cil_tmp75 ;
15533  unsigned long __cil_tmp76 ;
15534  int __cil_tmp77 ;
15535  struct SGentry *__cil_tmp78 ;
15536  struct SGentry *__cil_tmp79 ;
15537  u32 __cil_tmp80 ;
15538  unsigned long __cil_tmp81 ;
15539  unsigned long __cil_tmp82 ;
15540  int __cil_tmp83 ;
15541  size_t __cil_tmp84 ;
15542  unsigned int __cil_tmp85 ;
15543  unsigned long __cil_tmp86 ;
15544  unsigned long __cil_tmp87 ;
15545  int __cil_tmp88 ;
15546  unsigned long __cil_tmp89 ;
15547  unsigned long __cil_tmp90 ;
15548  int __cil_tmp91 ;
15549  int __cil_tmp92 ;
15550  unsigned long __cil_tmp93 ;
15551  unsigned long __cil_tmp94 ;
15552  int __cil_tmp95 ;
15553  unsigned long __cil_tmp96 ;
15554  unsigned long __cil_tmp97 ;
15555  int __cil_tmp98 ;
15556  unsigned long __cil_tmp99 ;
15557  unsigned long __cil_tmp100 ;
15558  int __cil_tmp101 ;
15559  unsigned long __cil_tmp102 ;
15560  unsigned long __cil_tmp103 ;
15561  int __cil_tmp104 ;
15562  size_t __cil_tmp105 ;
15563  u16 __cil_tmp106 ;
15564  int __cil_tmp107 ;
15565  int __cil_tmp108 ;
15566  size_t __cil_tmp109 ;
15567  unsigned int __cil_tmp110 ;
15568  unsigned long __cil_tmp111 ;
15569  unsigned long __cil_tmp112 ;
15570  int __cil_tmp113 ;
15571  unsigned long __cil_tmp114 ;
15572  unsigned long __cil_tmp115 ;
15573  int __cil_tmp116 ;
15574  int __cil_tmp117 ;
15575  unsigned long __cil_tmp118 ;
15576  unsigned long __cil_tmp119 ;
15577  int __cil_tmp120 ;
15578  size_t __cil_tmp121 ;
15579  struct DeviceCtlBlk *__cil_tmp122 ;
15580  u8 __cil_tmp123 ;
15581  int __cil_tmp124 ;
15582  unsigned long __cil_tmp125 ;
15583  unsigned long __cil_tmp126 ;
15584  int __cil_tmp127 ;
15585  void *__cil_tmp128 ;
15586  size_t __cil_tmp129 ;
15587  struct scsi_cmnd *__cil_tmp130 ;
15588  u8 __cil_tmp131 ;
15589  int __cil_tmp132 ;
15590  unsigned char __cil_tmp133 ;
15591  unsigned long __cil_tmp134 ;
15592  unsigned long __cil_tmp135 ;
15593  int __cil_tmp136 ;
15594  void *__cil_tmp137 ;
15595  struct DeviceCtlBlk *__cil_tmp138 ;
15596  u8 __cil_tmp139 ;
15597  int __cil_tmp140 ;
15598  unsigned long __cil_tmp141 ;
15599  unsigned long __cil_tmp142 ;
15600  int __cil_tmp143 ;
15601  unsigned long __cil_tmp144 ;
15602  unsigned long __cil_tmp145 ;
15603  int __cil_tmp146 ;
15604  unsigned long __cil_tmp147 ;
15605  unsigned long __cil_tmp148 ;
15606  int __cil_tmp149 ;
15607  u8 __cil_tmp150 ;
15608  int __cil_tmp151 ;
15609  int __cil_tmp152 ;
15610  u8 __cil_tmp153 ;
15611  int __cil_tmp154 ;
15612  unsigned long __cil_tmp155 ;
15613  unsigned long __cil_tmp156 ;
15614  int __cil_tmp157 ;
15615  unsigned long __cil_tmp158 ;
15616  unsigned long __cil_tmp159 ;
15617  int __cil_tmp160 ;
15618  int __cil_tmp161 ;
15619  unsigned long __cil_tmp162 ;
15620  unsigned long __cil_tmp163 ;
15621  int __cil_tmp164 ;
15622  unsigned long __cil_tmp165 ;
15623  unsigned long __cil_tmp166 ;
15624  int __cil_tmp167 ;
15625  unsigned char __cil_tmp168 ;
15626  unsigned long __cil_tmp169 ;
15627  unsigned long __cil_tmp170 ;
15628  int __cil_tmp171 ;
15629  unsigned char __cil_tmp172 ;
15630  unsigned long __cil_tmp173 ;
15631  unsigned long __cil_tmp174 ;
15632  int __cil_tmp175 ;
15633  unsigned long __cil_tmp176 ;
15634  unsigned long __cil_tmp177 ;
15635  int __cil_tmp178 ;
15636  unsigned long __cil_tmp179 ;
15637  unsigned long __cil_tmp180 ;
15638  int __cil_tmp181 ;
15639  int __cil_tmp182 ;
15640  unsigned long __cil_tmp183 ;
15641  unsigned long __cil_tmp184 ;
15642  int __cil_tmp185 ;
15643  unsigned char __cil_tmp186 ;
15644  unsigned long __cil_tmp187 ;
15645  unsigned long __cil_tmp188 ;
15646  int __cil_tmp189 ;
15647  u16 __cil_tmp190 ;
15648  int __cil_tmp191 ;
15649  int __cil_tmp192 ;
15650  unsigned long __cil_tmp193 ;
15651  unsigned long __cil_tmp194 ;
15652  int __cil_tmp195 ;
15653  int __cil_tmp196 ;
15654  unsigned long __cil_tmp197 ;
15655  unsigned long __cil_tmp198 ;
15656  int __cil_tmp199 ;
15657
15658  {
15659#line 2406
15660  dcb = srb->dcb;
15661  {
15662#line 2408
15663  while (1) {
15664    while_continue: /* CIL Label */ ;
15665
15666#line 2408
15667    goto while_break;
15668  }
15669  while_break___7: /* CIL Label */ ;
15670  }
15671
15672  while_break: ;
15673  {
15674#line 2413
15675  __cil_tmp26 = acb->tmp_srb;
15676#line 2413
15677  __cil_tmp27 = (unsigned long )__cil_tmp26;
15678#line 2413
15679  __cil_tmp28 = (unsigned long )srb;
15680#line 2413
15681  if (__cil_tmp28 == __cil_tmp27) {
15682    {
15683#line 2414
15684    printk("<3>dc395x: data_io_transfer: Using tmp_srb!\n");
15685    }
15686  } else {
15687
15688  }
15689  }
15690  {
15691#line 2415
15692  __cil_tmp29 = srb->sg_count;
15693#line 2415
15694  __cil_tmp30 = (int )__cil_tmp29;
15695#line 2415
15696  __cil_tmp31 = srb->sg_index;
15697#line 2415
15698  __cil_tmp32 = (int )__cil_tmp31;
15699#line 2415
15700  if (__cil_tmp32 >= __cil_tmp30) {
15701#line 2417
15702    return;
15703  } else {
15704
15705  }
15706  }
15707  {
15708#line 2420
15709  __cil_tmp33 = srb->total_xfer_length;
15710#line 2420
15711  if (__cil_tmp33 > 4UL) {
15712    {
15713#line 2421
15714    __cil_tmp34 = acb->io_port_base;
15715#line 2421
15716    __cil_tmp35 = __cil_tmp34 + 163UL;
15717#line 2421
15718    __cil_tmp36 = (int )__cil_tmp35;
15719#line 2421
15720    tmp___7 = inb(__cil_tmp36);
15721#line 2421
15722    dma_status = tmp___7;
15723    }
15724    {
15725#line 2426
15726    __cil_tmp37 = (int )dma_status;
15727#line 2426
15728    if (__cil_tmp37 & 128) {
15729      {
15730#line 2427
15731      printk("<7>dc395x: data_io_transfer: Xfer pending! Expect trouble!\n");
15732#line 2429
15733      dump_register_info(acb, dcb, srb);
15734#line 2430
15735      __cil_tmp38 = acb->io_port_base;
15736#line 2430
15737      __cil_tmp39 = __cil_tmp38 + 161UL;
15738#line 2430
15739      __cil_tmp40 = (int )__cil_tmp39;
15740#line 2430
15741      outb((unsigned char)2, __cil_tmp40);
15742      }
15743    } else {
15744
15745    }
15746    }
15747    {
15748#line 2437
15749    __cil_tmp41 = srb->state;
15750#line 2437
15751    __cil_tmp42 = (int )__cil_tmp41;
15752#line 2437
15753    __cil_tmp43 = __cil_tmp42 | 256;
15754#line 2437
15755    srb->state = (u16 )__cil_tmp43;
15756#line 2438
15757    __cil_tmp44 = acb->io_port_base;
15758#line 2438
15759    __cil_tmp45 = __cil_tmp44 + 180UL;
15760#line 2438
15761    __cil_tmp46 = (int )__cil_tmp45;
15762#line 2438
15763    outl(0U, __cil_tmp46);
15764#line 2439
15765    __cil_tmp47 = srb->cmd;
15766#line 2439
15767    tmp___8 = scsi_sg_count(__cil_tmp47);
15768    }
15769#line 2439
15770    if (tmp___8) {
15771      {
15772#line 2440
15773      __cil_tmp48 = (int )io_dir;
15774#line 2440
15775      __cil_tmp49 = __cil_tmp48 | 2;
15776#line 2440
15777      io_dir = (u16 )__cil_tmp49;
15778#line 2441
15779      __cil_tmp50 = srb->sg_index;
15780#line 2441
15781      __cil_tmp51 = (unsigned long )__cil_tmp50;
15782#line 2441
15783      __cil_tmp52 = 8UL * __cil_tmp51;
15784#line 2441
15785      __cil_tmp53 = (dma_addr_t )__cil_tmp52;
15786#line 2441
15787      __cil_tmp54 = srb->sg_bus_addr;
15788#line 2441
15789      __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
15790#line 2441
15791      __cil_tmp56 = (unsigned int )__cil_tmp55;
15792#line 2441
15793      __cil_tmp57 = acb->io_port_base;
15794#line 2441
15795      __cil_tmp58 = __cil_tmp57 + 176UL;
15796#line 2441
15797      __cil_tmp59 = (int )__cil_tmp58;
15798#line 2441
15799      outl(__cil_tmp56, __cil_tmp59);
15800#line 2446
15801      __cil_tmp60 = srb->sg_index;
15802#line 2446
15803      __cil_tmp61 = (int )__cil_tmp60;
15804#line 2446
15805      __cil_tmp62 = srb->sg_count;
15806#line 2446
15807      __cil_tmp63 = (int )__cil_tmp62;
15808#line 2446
15809      __cil_tmp64 = __cil_tmp63 - __cil_tmp61;
15810#line 2446
15811      __cil_tmp65 = (u32 )__cil_tmp64;
15812#line 2446
15813      __cil_tmp66 = __cil_tmp65 << 3;
15814#line 2446
15815      __cil_tmp67 = acb->io_port_base;
15816#line 2446
15817      __cil_tmp68 = __cil_tmp67 + 168UL;
15818#line 2446
15819      __cil_tmp69 = (int )__cil_tmp68;
15820#line 2446
15821      outl(__cil_tmp66, __cil_tmp69);
15822      }
15823    } else {
15824      {
15825#line 2450
15826      __cil_tmp70 = (int )io_dir;
15827#line 2450
15828      __cil_tmp71 = __cil_tmp70 & -3;
15829#line 2450
15830      io_dir = (u16 )__cil_tmp71;
15831#line 2451
15832      __cil_tmp72 = srb->segment_x;
15833#line 2451
15834      __cil_tmp73 = __cil_tmp72 + 0;
15835#line 2451
15836      __cil_tmp74 = __cil_tmp73->address;
15837#line 2451
15838      __cil_tmp75 = acb->io_port_base;
15839#line 2451
15840      __cil_tmp76 = __cil_tmp75 + 176UL;
15841#line 2451
15842      __cil_tmp77 = (int )__cil_tmp76;
15843#line 2451
15844      outl(__cil_tmp74, __cil_tmp77);
15845#line 2453
15846      __cil_tmp78 = srb->segment_x;
15847#line 2453
15848      __cil_tmp79 = __cil_tmp78 + 0;
15849#line 2453
15850      __cil_tmp80 = __cil_tmp79->length;
15851#line 2453
15852      __cil_tmp81 = acb->io_port_base;
15853#line 2453
15854      __cil_tmp82 = __cil_tmp81 + 168UL;
15855#line 2453
15856      __cil_tmp83 = (int )__cil_tmp82;
15857#line 2453
15858      outl(__cil_tmp80, __cil_tmp83);
15859      }
15860    }
15861    {
15862#line 2457
15863    __cil_tmp84 = srb->total_xfer_length;
15864#line 2457
15865    __cil_tmp85 = (unsigned int )__cil_tmp84;
15866#line 2457
15867    __cil_tmp86 = acb->io_port_base;
15868#line 2457
15869    __cil_tmp87 = __cil_tmp86 + 136UL;
15870#line 2457
15871    __cil_tmp88 = (int )__cil_tmp87;
15872#line 2457
15873    outl(__cil_tmp85, __cil_tmp88);
15874#line 2459
15875    __cil_tmp89 = acb->io_port_base;
15876#line 2459
15877    __cil_tmp90 = __cil_tmp89 + 128UL;
15878#line 2459
15879    __cil_tmp91 = (int )__cil_tmp90;
15880#line 2459
15881    outw((unsigned short)2, __cil_tmp91);
15882    }
15883    {
15884#line 2460
15885    __cil_tmp92 = (int )io_dir;
15886#line 2460
15887    if (__cil_tmp92 & 1) {
15888      {
15889#line 2461
15890      __cil_tmp93 = acb->io_port_base;
15891#line 2461
15892      __cil_tmp94 = __cil_tmp93 + 144UL;
15893#line 2461
15894      __cil_tmp95 = (int )__cil_tmp94;
15895#line 2461
15896      outb((unsigned char)195, __cil_tmp95);
15897#line 2463
15898      __cil_tmp96 = acb->io_port_base;
15899#line 2463
15900      __cil_tmp97 = __cil_tmp96 + 160UL;
15901#line 2463
15902      __cil_tmp98 = (int )__cil_tmp97;
15903#line 2463
15904      outw(io_dir, __cil_tmp98);
15905      }
15906    } else {
15907      {
15908#line 2465
15909      __cil_tmp99 = acb->io_port_base;
15910#line 2465
15911      __cil_tmp100 = __cil_tmp99 + 160UL;
15912#line 2465
15913      __cil_tmp101 = (int )__cil_tmp100;
15914#line 2465
15915      outw(io_dir, __cil_tmp101);
15916#line 2466
15917      __cil_tmp102 = acb->io_port_base;
15918#line 2466
15919      __cil_tmp103 = __cil_tmp102 + 144UL;
15920#line 2466
15921      __cil_tmp104 = (int )__cil_tmp103;
15922#line 2466
15923      outb((unsigned char)193, __cil_tmp104);
15924      }
15925    }
15926    }
15927  } else {
15928    {
15929#line 2472
15930    __cil_tmp105 = srb->total_xfer_length;
15931#line 2472
15932    if (__cil_tmp105 > 0UL) {
15933      {
15934#line 2477
15935      __cil_tmp106 = srb->state;
15936#line 2477
15937      __cil_tmp107 = (int )__cil_tmp106;
15938#line 2477
15939      __cil_tmp108 = __cil_tmp107 | 256;
15940#line 2477
15941      srb->state = (u16 )__cil_tmp108;
15942#line 2479
15943      __cil_tmp109 = srb->total_xfer_length;
15944#line 2479
15945      __cil_tmp110 = (unsigned int )__cil_tmp109;
15946#line 2479
15947      __cil_tmp111 = acb->io_port_base;
15948#line 2479
15949      __cil_tmp112 = __cil_tmp111 + 136UL;
15950#line 2479
15951      __cil_tmp113 = (int )__cil_tmp112;
15952#line 2479
15953      outl(__cil_tmp110, __cil_tmp113);
15954#line 2481
15955      __cil_tmp114 = acb->io_port_base;
15956#line 2481
15957      __cil_tmp115 = __cil_tmp114 + 128UL;
15958#line 2481
15959      __cil_tmp116 = (int )__cil_tmp115;
15960#line 2481
15961      outw((unsigned short)2, __cil_tmp116);
15962      }
15963      {
15964#line 2482
15965      __cil_tmp117 = (int )io_dir;
15966#line 2482
15967      if (__cil_tmp117 & 1) {
15968        {
15969#line 2483
15970        __cil_tmp118 = acb->io_port_base;
15971#line 2483
15972        __cil_tmp119 = __cil_tmp118 + 144UL;
15973#line 2483
15974        __cil_tmp120 = (int )__cil_tmp119;
15975#line 2483
15976        outb((unsigned char)194, __cil_tmp120);
15977        }
15978      } else {
15979#line 2486
15980        __cil_tmp121 = srb->total_xfer_length;
15981#line 2486
15982        ln = (int )__cil_tmp121;
15983#line 2487
15984        left_io = srb->total_xfer_length;
15985        {
15986#line 2489
15987        __cil_tmp122 = srb->dcb;
15988#line 2489
15989        __cil_tmp123 = __cil_tmp122->sync_period;
15990#line 2489
15991        __cil_tmp124 = (int )__cil_tmp123;
15992#line 2489
15993        if (__cil_tmp124 & 16) {
15994          {
15995#line 2490
15996          __cil_tmp125 = acb->io_port_base;
15997#line 2490
15998          __cil_tmp126 = __cil_tmp125 + 143UL;
15999#line 2490
16000          __cil_tmp127 = (int )__cil_tmp126;
16001#line 2490
16002          outb((unsigned char)2, __cil_tmp127);
16003          }
16004        } else {
16005
16006        }
16007        }
16008        {
16009#line 2493
16010        while (1) {
16011          while_continue___0: /* CIL Label */ ;
16012
16013#line 2493
16014          if (left_io) {
16015
16016          } else {
16017#line 2493
16018            goto while_break___0;
16019          }
16020#line 2494
16021          __cil_tmp128 = (void *)0;
16022#line 2494
16023          base = (unsigned char *)__cil_tmp128;
16024#line 2495
16025          flags = 0UL;
16026#line 2496
16027          len = left_io;
16028#line 2497
16029          __cil_tmp129 = srb->request_length;
16030#line 2497
16031          offset = __cil_tmp129 - left_io;
16032          {
16033#line 2499
16034          while (1) {
16035            while_continue___1: /* CIL Label */ ;
16036
16037            {
16038#line 2499
16039            while (1) {
16040              while_continue___2: /* CIL Label */ ;
16041              {
16042#line 2499
16043              flags = arch_local_irq_save();
16044              }
16045#line 2499
16046              goto while_break___2;
16047            }
16048            while_break___10: /* CIL Label */ ;
16049            }
16050
16051            while_break___2: 
16052            {
16053#line 2499
16054            trace_hardirqs_off();
16055            }
16056#line 2499
16057            goto while_break___1;
16058          }
16059          while_break___9: /* CIL Label */ ;
16060          }
16061
16062          while_break___1: 
16063          {
16064#line 2501
16065          __cil_tmp130 = srb->cmd;
16066#line 2501
16067          tmp___9 = scsi_sglist(__cil_tmp130);
16068#line 2501
16069          __cil_tmp131 = srb->sg_count;
16070#line 2501
16071          __cil_tmp132 = (int )__cil_tmp131;
16072#line 2501
16073          tmp___10 = scsi_kmap_atomic_sg(tmp___9, __cil_tmp132, & offset, & len);
16074#line 2501
16075          base = (unsigned char *)tmp___10;
16076#line 2503
16077          virt = base + offset;
16078#line 2505
16079          left_io = left_io - len;
16080          }
16081          {
16082#line 2507
16083          while (1) {
16084            while_continue___3: /* CIL Label */ ;
16085#line 2507
16086            tmp___12 = len;
16087#line 2507
16088            len = len - 1UL;
16089#line 2507
16090            if (tmp___12) {
16091
16092            } else {
16093#line 2507
16094              goto while_break___3;
16095            }
16096            {
16097#line 2511
16098            tmp___11 = virt;
16099#line 2511
16100            virt = virt + 1;
16101#line 2511
16102            __cil_tmp133 = *tmp___11;
16103#line 2511
16104            __cil_tmp134 = acb->io_port_base;
16105#line 2511
16106            __cil_tmp135 = __cil_tmp134 + 152UL;
16107#line 2511
16108            __cil_tmp136 = (int )__cil_tmp135;
16109#line 2511
16110            outb(__cil_tmp133, __cil_tmp136);
16111#line 2513
16112            sg_subtract_one(srb);
16113            }
16114          }
16115          while_break___11: /* CIL Label */ ;
16116          }
16117
16118          while_break___3: 
16119          {
16120#line 2516
16121          __cil_tmp137 = (void *)base;
16122#line 2516
16123          scsi_kunmap_atomic_sg(__cil_tmp137);
16124          }
16125          {
16126#line 2517
16127          while (1) {
16128            while_continue___4: /* CIL Label */ ;
16129            {
16130#line 2517
16131            tmp___13 = arch_irqs_disabled_flags(flags);
16132            }
16133#line 2517
16134            if (tmp___13) {
16135              {
16136#line 2517
16137              while (1) {
16138                while_continue___5: /* CIL Label */ ;
16139                {
16140#line 2517
16141                arch_local_irq_restore(flags);
16142                }
16143#line 2517
16144                goto while_break___5;
16145              }
16146              while_break___13: /* CIL Label */ ;
16147              }
16148
16149              while_break___5: 
16150              {
16151#line 2517
16152              trace_hardirqs_off();
16153              }
16154            } else {
16155              {
16156#line 2517
16157              trace_hardirqs_on();
16158              }
16159              {
16160#line 2517
16161              while (1) {
16162                while_continue___6: /* CIL Label */ ;
16163                {
16164#line 2517
16165                arch_local_irq_restore(flags);
16166                }
16167#line 2517
16168                goto while_break___6;
16169              }
16170              while_break___14: /* CIL Label */ ;
16171              }
16172
16173              while_break___6: ;
16174            }
16175#line 2517
16176            goto while_break___4;
16177          }
16178          while_break___12: /* CIL Label */ ;
16179          }
16180
16181          while_break___4: ;
16182        }
16183        while_break___8: /* CIL Label */ ;
16184        }
16185
16186        while_break___0: ;
16187        {
16188#line 2519
16189        __cil_tmp138 = srb->dcb;
16190#line 2519
16191        __cil_tmp139 = __cil_tmp138->sync_period;
16192#line 2519
16193        __cil_tmp140 = (int )__cil_tmp139;
16194#line 2519
16195        if (__cil_tmp140 & 16) {
16196#line 2520
16197          if (ln % 2) {
16198            {
16199#line 2521
16200            __cil_tmp141 = acb->io_port_base;
16201#line 2521
16202            __cil_tmp142 = __cil_tmp141 + 152UL;
16203#line 2521
16204            __cil_tmp143 = (int )__cil_tmp142;
16205#line 2521
16206            outb((unsigned char)0, __cil_tmp143);
16207            }
16208          } else {
16209
16210          }
16211          {
16212#line 2525
16213          __cil_tmp144 = acb->io_port_base;
16214#line 2525
16215          __cil_tmp145 = __cil_tmp144 + 143UL;
16216#line 2525
16217          __cil_tmp146 = (int )__cil_tmp145;
16218#line 2525
16219          outb((unsigned char)0, __cil_tmp146);
16220          }
16221        } else {
16222
16223        }
16224        }
16225        {
16226#line 2530
16227        __cil_tmp147 = acb->io_port_base;
16228#line 2530
16229        __cil_tmp148 = __cil_tmp147 + 144UL;
16230#line 2530
16231        __cil_tmp149 = (int )__cil_tmp148;
16232#line 2530
16233        outb((unsigned char)192, __cil_tmp149);
16234        }
16235      }
16236      }
16237    } else {
16238#line 2536
16239      data = (u8 )0;
16240#line 2536
16241      data2 = (u8 )0;
16242#line 2537
16243      if (srb->sg_count) {
16244#line 2538
16245        srb->adapter_status = (u8 )18;
16246#line 2539
16247        __cil_tmp150 = srb->status;
16248#line 2539
16249        __cil_tmp151 = (int )__cil_tmp150;
16250#line 2539
16251        __cil_tmp152 = __cil_tmp151 | 4;
16252#line 2539
16253        srb->status = (u8 )__cil_tmp152;
16254      } else {
16255
16256      }
16257      {
16258#line 2546
16259      __cil_tmp153 = dcb->sync_period;
16260#line 2546
16261      __cil_tmp154 = (int )__cil_tmp153;
16262#line 2546
16263      if (__cil_tmp154 & 16) {
16264        {
16265#line 2547
16266        __cil_tmp155 = acb->io_port_base;
16267#line 2547
16268        __cil_tmp156 = __cil_tmp155 + 136UL;
16269#line 2547
16270        __cil_tmp157 = (int )__cil_tmp156;
16271#line 2547
16272        outl(2U, __cil_tmp157);
16273#line 2548
16274        __cil_tmp158 = acb->io_port_base;
16275#line 2548
16276        __cil_tmp159 = __cil_tmp158 + 143UL;
16277#line 2548
16278        __cil_tmp160 = (int )__cil_tmp159;
16279#line 2548
16280        outb((unsigned char)2, __cil_tmp160);
16281        }
16282        {
16283#line 2550
16284        __cil_tmp161 = (int )io_dir;
16285#line 2550
16286        if (__cil_tmp161 & 1) {
16287          {
16288#line 2551
16289          __cil_tmp162 = acb->io_port_base;
16290#line 2551
16291          __cil_tmp163 = __cil_tmp162 + 152UL;
16292#line 2551
16293          __cil_tmp164 = (int )__cil_tmp163;
16294#line 2551
16295          tmp___14 = inb(__cil_tmp164);
16296#line 2551
16297          data = tmp___14;
16298#line 2552
16299          __cil_tmp165 = acb->io_port_base;
16300#line 2552
16301          __cil_tmp166 = __cil_tmp165 + 152UL;
16302#line 2552
16303          __cil_tmp167 = (int )__cil_tmp166;
16304#line 2552
16305          tmp___15 = inb(__cil_tmp167);
16306#line 2552
16307          data2 = tmp___15;
16308          }
16309        } else {
16310          {
16311#line 2557
16312          __cil_tmp168 = (unsigned char )'K';
16313#line 2557
16314          __cil_tmp169 = acb->io_port_base;
16315#line 2557
16316          __cil_tmp170 = __cil_tmp169 + 152UL;
16317#line 2557
16318          __cil_tmp171 = (int )__cil_tmp170;
16319#line 2557
16320          outb(__cil_tmp168, __cil_tmp171);
16321#line 2558
16322          __cil_tmp172 = (unsigned char )'G';
16323#line 2558
16324          __cil_tmp173 = acb->io_port_base;
16325#line 2558
16326          __cil_tmp174 = __cil_tmp173 + 152UL;
16327#line 2558
16328          __cil_tmp175 = (int )__cil_tmp174;
16329#line 2558
16330          outb(__cil_tmp172, __cil_tmp175);
16331          }
16332        }
16333        }
16334        {
16335#line 2560
16336        __cil_tmp176 = acb->io_port_base;
16337#line 2560
16338        __cil_tmp177 = __cil_tmp176 + 143UL;
16339#line 2560
16340        __cil_tmp178 = (int )__cil_tmp177;
16341#line 2560
16342        outb((unsigned char)0, __cil_tmp178);
16343        }
16344      } else {
16345        {
16346#line 2562
16347        __cil_tmp179 = acb->io_port_base;
16348#line 2562
16349        __cil_tmp180 = __cil_tmp179 + 136UL;
16350#line 2562
16351        __cil_tmp181 = (int )__cil_tmp180;
16352#line 2562
16353        outl(1U, __cil_tmp181);
16354        }
16355        {
16356#line 2565
16357        __cil_tmp182 = (int )io_dir;
16358#line 2565
16359        if (__cil_tmp182 & 1) {
16360          {
16361#line 2566
16362          __cil_tmp183 = acb->io_port_base;
16363#line 2566
16364          __cil_tmp184 = __cil_tmp183 + 152UL;
16365#line 2566
16366          __cil_tmp185 = (int )__cil_tmp184;
16367#line 2566
16368          tmp___16 = inb(__cil_tmp185);
16369#line 2566
16370          data = tmp___16;
16371          }
16372        } else {
16373          {
16374#line 2568
16375          __cil_tmp186 = (unsigned char )'K';
16376#line 2568
16377          __cil_tmp187 = acb->io_port_base;
16378#line 2568
16379          __cil_tmp188 = __cil_tmp187 + 152UL;
16380#line 2568
16381          __cil_tmp189 = (int )__cil_tmp188;
16382#line 2568
16383          outb(__cil_tmp186, __cil_tmp189);
16384          }
16385        }
16386        }
16387      }
16388      }
16389      {
16390#line 2570
16391      __cil_tmp190 = srb->state;
16392#line 2570
16393      __cil_tmp191 = (int )__cil_tmp190;
16394#line 2570
16395      __cil_tmp192 = __cil_tmp191 | 512;
16396#line 2570
16397      srb->state = (u16 )__cil_tmp192;
16398#line 2571
16399      __cil_tmp193 = acb->io_port_base;
16400#line 2571
16401      __cil_tmp194 = __cil_tmp193 + 128UL;
16402#line 2571
16403      __cil_tmp195 = (int )__cil_tmp194;
16404#line 2571
16405      outw((unsigned short)2, __cil_tmp195);
16406      }
16407      {
16408#line 2573
16409      __cil_tmp196 = (int )io_dir;
16410#line 2573
16411      if (__cil_tmp196 & 1) {
16412#line 2573
16413        bval = (u8 )194;
16414      } else {
16415#line 2573
16416        bval = (u8 )192;
16417      }
16418      }
16419      {
16420#line 2574
16421      __cil_tmp197 = acb->io_port_base;
16422#line 2574
16423      __cil_tmp198 = __cil_tmp197 + 144UL;
16424#line 2574
16425      __cil_tmp199 = (int )__cil_tmp198;
16426#line 2574
16427      outb(bval, __cil_tmp199);
16428      }
16429    }
16430    }
16431  }
16432  }
16433#line 2576
16434  return;
16435}
16436}
16437#line 2579 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16438static void status_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
16439{ unsigned char tmp___7 ;
16440  unsigned char tmp___8 ;
16441  unsigned long __cil_tmp6 ;
16442  unsigned long __cil_tmp7 ;
16443  int __cil_tmp8 ;
16444  unsigned long __cil_tmp9 ;
16445  unsigned long __cil_tmp10 ;
16446  int __cil_tmp11 ;
16447  unsigned long __cil_tmp12 ;
16448  unsigned long __cil_tmp13 ;
16449  int __cil_tmp14 ;
16450  unsigned long __cil_tmp15 ;
16451  unsigned long __cil_tmp16 ;
16452  int __cil_tmp17 ;
16453
16454  {
16455  {
16456#line 2582
16457  while (1) {
16458    while_continue: /* CIL Label */ ;
16459
16460#line 2582
16461    goto while_break;
16462  }
16463  while_break___0: /* CIL Label */ ;
16464  }
16465
16466  while_break: 
16467  {
16468#line 2584
16469  __cil_tmp6 = acb->io_port_base;
16470#line 2584
16471  __cil_tmp7 = __cil_tmp6 + 152UL;
16472#line 2584
16473  __cil_tmp8 = (int )__cil_tmp7;
16474#line 2584
16475  tmp___7 = inb(__cil_tmp8);
16476#line 2584
16477  srb->target_status = tmp___7;
16478#line 2585
16479  __cil_tmp9 = acb->io_port_base;
16480#line 2585
16481  __cil_tmp10 = __cil_tmp9 + 152UL;
16482#line 2585
16483  __cil_tmp11 = (int )__cil_tmp10;
16484#line 2585
16485  tmp___8 = inb(__cil_tmp11);
16486#line 2585
16487  srb->end_message = tmp___8;
16488#line 2586
16489  srb->state = (u16 )2048;
16490#line 2587
16491  *pscsi_status = (u16 )5;
16492#line 2588
16493  __cil_tmp12 = acb->io_port_base;
16494#line 2588
16495  __cil_tmp13 = __cil_tmp12 + 128UL;
16496#line 2588
16497  __cil_tmp14 = (int )__cil_tmp13;
16498#line 2588
16499  outw((unsigned short)2, __cil_tmp14);
16500#line 2589
16501  __cil_tmp15 = acb->io_port_base;
16502#line 2589
16503  __cil_tmp16 = __cil_tmp15 + 144UL;
16504#line 2589
16505  __cil_tmp17 = (int )__cil_tmp16;
16506#line 2589
16507  outb((unsigned char)216, __cil_tmp17);
16508  }
16509#line 2590
16510  return;
16511}
16512}
16513#line 2593 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16514static void status_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
16515{ unsigned long __cil_tmp4 ;
16516  unsigned long __cil_tmp5 ;
16517  int __cil_tmp6 ;
16518  unsigned long __cil_tmp7 ;
16519  unsigned long __cil_tmp8 ;
16520  int __cil_tmp9 ;
16521
16522  {
16523  {
16524#line 2596
16525  while (1) {
16526    while_continue: /* CIL Label */ ;
16527
16528#line 2596
16529    goto while_break;
16530  }
16531  while_break___0: /* CIL Label */ ;
16532  }
16533
16534  while_break: 
16535  {
16536#line 2598
16537  srb->state = (u16 )1024;
16538#line 2599
16539  __cil_tmp4 = acb->io_port_base;
16540#line 2599
16541  __cil_tmp5 = __cil_tmp4 + 128UL;
16542#line 2599
16543  __cil_tmp6 = (int )__cil_tmp5;
16544#line 2599
16545  outw((unsigned short)2, __cil_tmp6);
16546#line 2600
16547  __cil_tmp7 = acb->io_port_base;
16548#line 2600
16549  __cil_tmp8 = __cil_tmp7 + 144UL;
16550#line 2600
16551  __cil_tmp9 = (int )__cil_tmp8;
16552#line 2600
16553  outb((unsigned char)18, __cil_tmp9);
16554  }
16555#line 2601
16556  return;
16557}
16558}
16559#line 2605 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16560__inline static u8 msgin_completed(u8 *msgbuf , u32 len ) 
16561{ u8 __cil_tmp3 ;
16562  int __cil_tmp4 ;
16563  u8 *__cil_tmp5 ;
16564  u8 __cil_tmp6 ;
16565  int __cil_tmp7 ;
16566  int __cil_tmp8 ;
16567  u32 __cil_tmp9 ;
16568  u8 __cil_tmp10 ;
16569  int __cil_tmp11 ;
16570  u8 __cil_tmp12 ;
16571  int __cil_tmp13 ;
16572
16573  {
16574  {
16575#line 2607
16576  __cil_tmp3 = *msgbuf;
16577#line 2607
16578  __cil_tmp4 = (int )__cil_tmp3;
16579#line 2607
16580  if (__cil_tmp4 == 1) {
16581#line 2608
16582    if (len < 2U) {
16583#line 2609
16584      return ((u8 )0);
16585    } else {
16586
16587    }
16588    {
16589#line 2610
16590    __cil_tmp5 = msgbuf + 1;
16591#line 2610
16592    __cil_tmp6 = *__cil_tmp5;
16593#line 2610
16594    __cil_tmp7 = (int )__cil_tmp6;
16595#line 2610
16596    __cil_tmp8 = __cil_tmp7 + 2;
16597#line 2610
16598    __cil_tmp9 = (u32 )__cil_tmp8;
16599#line 2610
16600    if (len < __cil_tmp9) {
16601#line 2611
16602      return ((u8 )0);
16603    } else {
16604
16605    }
16606    }
16607  } else {
16608    {
16609#line 2612
16610    __cil_tmp10 = *msgbuf;
16611#line 2612
16612    __cil_tmp11 = (int )__cil_tmp10;
16613#line 2612
16614    if (__cil_tmp11 >= 32) {
16615      {
16616#line 2612
16617      __cil_tmp12 = *msgbuf;
16618#line 2612
16619      __cil_tmp13 = (int )__cil_tmp12;
16620#line 2612
16621      if (__cil_tmp13 <= 47) {
16622#line 2613
16623        if (len < 2U) {
16624#line 2614
16625          return ((u8 )0);
16626        } else {
16627
16628        }
16629      } else {
16630
16631      }
16632      }
16633    } else {
16634
16635    }
16636    }
16637  }
16638  }
16639#line 2615
16640  return ((u8 )1);
16641}
16642}
16643#line 2619 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16644__inline static void msgin_reject(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
16645{ unsigned long __cil_tmp3 ;
16646  unsigned long __cil_tmp4 ;
16647  int __cil_tmp5 ;
16648  u16 __cil_tmp6 ;
16649  int __cil_tmp7 ;
16650  int __cil_tmp8 ;
16651  u16 __cil_tmp9 ;
16652  int __cil_tmp10 ;
16653  int __cil_tmp11 ;
16654  u16 __cil_tmp12 ;
16655  int __cil_tmp13 ;
16656  int __cil_tmp14 ;
16657  u8 __cil_tmp15 ;
16658  int __cil_tmp16 ;
16659  struct DeviceCtlBlk *__cil_tmp17 ;
16660  u8 __cil_tmp18 ;
16661  int __cil_tmp19 ;
16662  struct DeviceCtlBlk *__cil_tmp20 ;
16663  u8 __cil_tmp21 ;
16664  int __cil_tmp22 ;
16665
16666  {
16667  {
16668#line 2622
16669  srb->msgout_buf[0] = (u8 )7;
16670#line 2623
16671  srb->msg_count = (u8 )1;
16672#line 2624
16673  __cil_tmp3 = acb->io_port_base;
16674#line 2624
16675  __cil_tmp4 = __cil_tmp3 + 128UL;
16676#line 2624
16677  __cil_tmp5 = (int )__cil_tmp4;
16678#line 2624
16679  outw((unsigned short)512, __cil_tmp5);
16680#line 2624
16681  __cil_tmp6 = srb->state;
16682#line 2624
16683  __cil_tmp7 = (int )__cil_tmp6;
16684#line 2624
16685  __cil_tmp8 = __cil_tmp7 | 4;
16686#line 2624
16687  srb->state = (u16 )__cil_tmp8;
16688#line 2625
16689  __cil_tmp9 = srb->state;
16690#line 2625
16691  __cil_tmp10 = (int )__cil_tmp9;
16692#line 2625
16693  __cil_tmp11 = __cil_tmp10 & -9;
16694#line 2625
16695  srb->state = (u16 )__cil_tmp11;
16696#line 2626
16697  __cil_tmp12 = srb->state;
16698#line 2626
16699  __cil_tmp13 = (int )__cil_tmp12;
16700#line 2626
16701  __cil_tmp14 = __cil_tmp13 | 4;
16702#line 2626
16703  srb->state = (u16 )__cil_tmp14;
16704#line 2627
16705  __cil_tmp15 = srb->msgin_buf[0];
16706#line 2627
16707  __cil_tmp16 = (int )__cil_tmp15;
16708#line 2627
16709  __cil_tmp17 = srb->dcb;
16710#line 2627
16711  __cil_tmp18 = __cil_tmp17->target_id;
16712#line 2627
16713  __cil_tmp19 = (int )__cil_tmp18;
16714#line 2627
16715  __cil_tmp20 = srb->dcb;
16716#line 2627
16717  __cil_tmp21 = __cil_tmp20->target_lun;
16718#line 2627
16719  __cil_tmp22 = (int )__cil_tmp21;
16720#line 2627
16721  printk("<6>dc395x: msgin_reject: 0x%02x <%02i-%i>\n", __cil_tmp16, __cil_tmp19,
16722         __cil_tmp22);
16723  }
16724#line 2630
16725  return;
16726}
16727}
16728#line 2633 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16729static struct ScsiReqBlk *msgin_qtag(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ,
16730                                     u8 tag ) 
16731{ struct ScsiReqBlk *srb ;
16732  struct ScsiReqBlk *i ;
16733  int tmp___7 ;
16734  struct list_head  const  *__mptr ;
16735  struct list_head  const  *__mptr___0 ;
16736  size_t __len ;
16737  void *__ret ;
16738  void *__cil_tmp11 ;
16739  int __cil_tmp12 ;
16740  int __cil_tmp13 ;
16741  unsigned int __cil_tmp14 ;
16742  u32 __cil_tmp15 ;
16743  unsigned int __cil_tmp16 ;
16744  u32 __cil_tmp17 ;
16745  int __cil_tmp18 ;
16746  struct list_head *__cil_tmp19 ;
16747  struct list_head  const  *__cil_tmp20 ;
16748  struct list_head *__cil_tmp21 ;
16749  struct ScsiReqBlk *__cil_tmp22 ;
16750  struct list_head *__cil_tmp23 ;
16751  unsigned int __cil_tmp24 ;
16752  char *__cil_tmp25 ;
16753  char *__cil_tmp26 ;
16754  struct list_head *__cil_tmp27 ;
16755  unsigned long __cil_tmp28 ;
16756  struct list_head *__cil_tmp29 ;
16757  unsigned long __cil_tmp30 ;
16758  int __cil_tmp31 ;
16759  u8 __cil_tmp32 ;
16760  int __cil_tmp33 ;
16761  struct list_head *__cil_tmp34 ;
16762  struct ScsiReqBlk *__cil_tmp35 ;
16763  struct list_head *__cil_tmp36 ;
16764  unsigned int __cil_tmp37 ;
16765  char *__cil_tmp38 ;
16766  char *__cil_tmp39 ;
16767  u8 __cil_tmp40 ;
16768  int __cil_tmp41 ;
16769  u16 __cil_tmp42 ;
16770  int __cil_tmp43 ;
16771  int __cil_tmp44 ;
16772  u8 __cil_tmp45 ;
16773  u8 *__cil_tmp46 ;
16774  void *__cil_tmp47 ;
16775  struct ScsiReqBlk *__cil_tmp48 ;
16776  u8 *__cil_tmp49 ;
16777  void const   *__cil_tmp50 ;
16778  struct ScsiReqBlk *__cil_tmp51 ;
16779  u16 __cil_tmp52 ;
16780  int __cil_tmp53 ;
16781  u16 __cil_tmp54 ;
16782  int __cil_tmp55 ;
16783  int __cil_tmp56 ;
16784  u16 __cil_tmp57 ;
16785  int __cil_tmp58 ;
16786  int __cil_tmp59 ;
16787  unsigned long __cil_tmp60 ;
16788  unsigned long __cil_tmp61 ;
16789  int __cil_tmp62 ;
16790  u16 __cil_tmp63 ;
16791  int __cil_tmp64 ;
16792  int __cil_tmp65 ;
16793  int __cil_tmp66 ;
16794
16795  {
16796#line 2636
16797  __cil_tmp11 = (void *)0;
16798#line 2636
16799  srb = (struct ScsiReqBlk *)__cil_tmp11;
16800  {
16801#line 2638
16802  while (1) {
16803    while_continue: /* CIL Label */ ;
16804
16805#line 2638
16806    goto while_break;
16807  }
16808  while_break___2: /* CIL Label */ ;
16809  }
16810
16811  while_break: ;
16812  {
16813#line 2641
16814  __cil_tmp12 = (int )tag;
16815#line 2641
16816  __cil_tmp13 = 1 << __cil_tmp12;
16817#line 2641
16818  __cil_tmp14 = (unsigned int )__cil_tmp13;
16819#line 2641
16820  __cil_tmp15 = dcb->tag_mask;
16821#line 2641
16822  __cil_tmp16 = __cil_tmp15 & __cil_tmp14;
16823#line 2641
16824  if (! __cil_tmp16) {
16825    {
16826#line 2642
16827    __cil_tmp17 = dcb->tag_mask;
16828#line 2642
16829    __cil_tmp18 = (int )tag;
16830#line 2642
16831    printk("<7>dc395x: msgin_qtag: tag_mask=0x%08x does not reserve tag %i!\n", __cil_tmp17,
16832           __cil_tmp18);
16833    }
16834  } else {
16835
16836  }
16837  }
16838  {
16839#line 2646
16840  __cil_tmp19 = & dcb->srb_going_list;
16841#line 2646
16842  __cil_tmp20 = (struct list_head  const  *)__cil_tmp19;
16843#line 2646
16844  tmp___7 = list_empty(__cil_tmp20);
16845  }
16846#line 2646
16847  if (tmp___7) {
16848#line 2647
16849    goto mingx0;
16850  } else {
16851
16852  }
16853#line 2648
16854  __cil_tmp21 = dcb->srb_going_list.next;
16855#line 2648
16856  __mptr = (struct list_head  const  *)__cil_tmp21;
16857#line 2648
16858  __cil_tmp22 = (struct ScsiReqBlk *)0;
16859#line 2648
16860  __cil_tmp23 = & __cil_tmp22->list;
16861#line 2648
16862  __cil_tmp24 = (unsigned int )__cil_tmp23;
16863#line 2648
16864  __cil_tmp25 = (char *)__mptr;
16865#line 2648
16866  __cil_tmp26 = __cil_tmp25 - __cil_tmp24;
16867#line 2648
16868  i = (struct ScsiReqBlk *)__cil_tmp26;
16869  {
16870#line 2648
16871  while (1) {
16872    while_continue___0: /* CIL Label */ ;
16873
16874    {
16875#line 2648
16876    __cil_tmp27 = & dcb->srb_going_list;
16877#line 2648
16878    __cil_tmp28 = (unsigned long )__cil_tmp27;
16879#line 2648
16880    __cil_tmp29 = & i->list;
16881#line 2648
16882    __cil_tmp30 = (unsigned long )__cil_tmp29;
16883#line 2648
16884    if (__cil_tmp30 != __cil_tmp28) {
16885
16886    } else {
16887#line 2648
16888      goto while_break___0;
16889    }
16890    }
16891    {
16892#line 2649
16893    __cil_tmp31 = (int )tag;
16894#line 2649
16895    __cil_tmp32 = i->tag_number;
16896#line 2649
16897    __cil_tmp33 = (int )__cil_tmp32;
16898#line 2649
16899    if (__cil_tmp33 == __cil_tmp31) {
16900#line 2650
16901      srb = i;
16902#line 2651
16903      goto while_break___0;
16904    } else {
16905
16906    }
16907    }
16908#line 2648
16909    __cil_tmp34 = i->list.next;
16910#line 2648
16911    __mptr___0 = (struct list_head  const  *)__cil_tmp34;
16912#line 2648
16913    __cil_tmp35 = (struct ScsiReqBlk *)0;
16914#line 2648
16915    __cil_tmp36 = & __cil_tmp35->list;
16916#line 2648
16917    __cil_tmp37 = (unsigned int )__cil_tmp36;
16918#line 2648
16919    __cil_tmp38 = (char *)__mptr___0;
16920#line 2648
16921    __cil_tmp39 = __cil_tmp38 - __cil_tmp37;
16922#line 2648
16923    i = (struct ScsiReqBlk *)__cil_tmp39;
16924  }
16925  while_break___3: /* CIL Label */ ;
16926  }
16927
16928  while_break___0: ;
16929#line 2654
16930  if (! srb) {
16931#line 2655
16932    goto mingx0;
16933  } else {
16934
16935  }
16936  {
16937#line 2657
16938  while (1) {
16939    while_continue___1: /* CIL Label */ ;
16940
16941#line 2657
16942    goto while_break___1;
16943  }
16944  while_break___4: /* CIL Label */ ;
16945  }
16946
16947  while_break___1: ;
16948  {
16949#line 2659
16950  __cil_tmp40 = dcb->flag;
16951#line 2659
16952  __cil_tmp41 = (int )__cil_tmp40;
16953#line 2659
16954  if (__cil_tmp41 & 1) {
16955    {
16956#line 2661
16957    enable_msgout_abort(acb, srb);
16958    }
16959  } else {
16960
16961  }
16962  }
16963  {
16964#line 2664
16965  __cil_tmp42 = srb->state;
16966#line 2664
16967  __cil_tmp43 = (int )__cil_tmp42;
16968#line 2664
16969  __cil_tmp44 = __cil_tmp43 & 128;
16970#line 2664
16971  if (! __cil_tmp44) {
16972#line 2665
16973    goto mingx0;
16974  } else {
16975
16976  }
16977  }
16978  {
16979#line 2667
16980  __cil_tmp45 = acb->msg_len;
16981#line 2667
16982  __len = (size_t )__cil_tmp45;
16983#line 2667
16984  __cil_tmp46 = & srb->msgin_buf[0];
16985#line 2667
16986  __cil_tmp47 = (void *)__cil_tmp46;
16987#line 2667
16988  __cil_tmp48 = dcb->active_srb;
16989#line 2667
16990  __cil_tmp49 = & __cil_tmp48->msgin_buf[0];
16991#line 2667
16992  __cil_tmp50 = (void const   *)__cil_tmp49;
16993#line 2667
16994  __ret = __builtin_memcpy(__cil_tmp47, __cil_tmp50, __len);
16995#line 2668
16996  __cil_tmp51 = dcb->active_srb;
16997#line 2668
16998  __cil_tmp52 = __cil_tmp51->state;
16999#line 2668
17000  __cil_tmp53 = (int )__cil_tmp52;
17001#line 2668
17002  __cil_tmp54 = srb->state;
17003#line 2668
17004  __cil_tmp55 = (int )__cil_tmp54;
17005#line 2668
17006  __cil_tmp56 = __cil_tmp55 | __cil_tmp53;
17007#line 2668
17008  srb->state = (u16 )__cil_tmp56;
17009#line 2669
17010  __cil_tmp57 = srb->state;
17011#line 2669
17012  __cil_tmp58 = (int )__cil_tmp57;
17013#line 2669
17014  __cil_tmp59 = __cil_tmp58 | 256;
17015#line 2669
17016  srb->state = (u16 )__cil_tmp59;
17017#line 2670
17018  dcb->active_srb = srb;
17019  }
17020#line 2672
17021  return (srb);
17022  mingx0: 
17023  {
17024#line 2675
17025  srb = acb->tmp_srb;
17026#line 2676
17027  srb->state = (u16 )32768;
17028#line 2677
17029  dcb->active_srb = srb;
17030#line 2678
17031  srb->msgout_buf[0] = (u8 )13;
17032#line 2679
17033  srb->msg_count = (u8 )1;
17034#line 2680
17035  __cil_tmp60 = acb->io_port_base;
17036#line 2680
17037  __cil_tmp61 = __cil_tmp60 + 128UL;
17038#line 2680
17039  __cil_tmp62 = (int )__cil_tmp61;
17040#line 2680
17041  outw((unsigned short)512, __cil_tmp62);
17042#line 2680
17043  __cil_tmp63 = srb->state;
17044#line 2680
17045  __cil_tmp64 = (int )__cil_tmp63;
17046#line 2680
17047  __cil_tmp65 = __cil_tmp64 | 4;
17048#line 2680
17049  srb->state = (u16 )__cil_tmp65;
17050#line 2681
17051  __cil_tmp66 = (int )tag;
17052#line 2681
17053  printk("<7>dc395x: msgin_qtag: Unknown tag %i - abort\n", __cil_tmp66);
17054  }
17055#line 2682
17056  return (srb);
17057}
17058}
17059#line 2686 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17060__inline static void reprogram_regs(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ) 
17061{ u8 __cil_tmp3 ;
17062  unsigned long __cil_tmp4 ;
17063  unsigned long __cil_tmp5 ;
17064  int __cil_tmp6 ;
17065  u8 __cil_tmp7 ;
17066  unsigned long __cil_tmp8 ;
17067  unsigned long __cil_tmp9 ;
17068  int __cil_tmp10 ;
17069  u8 __cil_tmp11 ;
17070  unsigned long __cil_tmp12 ;
17071  unsigned long __cil_tmp13 ;
17072  int __cil_tmp14 ;
17073
17074  {
17075  {
17076#line 2689
17077  __cil_tmp3 = dcb->target_id;
17078#line 2689
17079  __cil_tmp4 = acb->io_port_base;
17080#line 2689
17081  __cil_tmp5 = __cil_tmp4 + 134UL;
17082#line 2689
17083  __cil_tmp6 = (int )__cil_tmp5;
17084#line 2689
17085  outb(__cil_tmp3, __cil_tmp6);
17086#line 2690
17087  __cil_tmp7 = dcb->sync_period;
17088#line 2690
17089  __cil_tmp8 = acb->io_port_base;
17090#line 2690
17091  __cil_tmp9 = __cil_tmp8 + 133UL;
17092#line 2690
17093  __cil_tmp10 = (int )__cil_tmp9;
17094#line 2690
17095  outb(__cil_tmp7, __cil_tmp10);
17096#line 2691
17097  __cil_tmp11 = dcb->sync_offset;
17098#line 2691
17099  __cil_tmp12 = acb->io_port_base;
17100#line 2691
17101  __cil_tmp13 = __cil_tmp12 + 132UL;
17102#line 2691
17103  __cil_tmp14 = (int )__cil_tmp13;
17104#line 2691
17105  outb(__cil_tmp11, __cil_tmp14);
17106#line 2692
17107  set_xfer_rate(acb, dcb);
17108  }
17109#line 2693
17110  return;
17111}
17112}
17113#line 2697 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17114static void msgin_set_async(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
17115{ struct DeviceCtlBlk *dcb ;
17116  u8 __cil_tmp4 ;
17117  int __cil_tmp5 ;
17118  u8 __cil_tmp6 ;
17119  int __cil_tmp7 ;
17120  u8 __cil_tmp8 ;
17121  int __cil_tmp9 ;
17122  int __cil_tmp10 ;
17123  u8 __cil_tmp11 ;
17124  int __cil_tmp12 ;
17125  int __cil_tmp13 ;
17126  int __cil_tmp14 ;
17127  u16 __cil_tmp15 ;
17128  int __cil_tmp16 ;
17129  int __cil_tmp17 ;
17130  u8 __cil_tmp18 ;
17131  int __cil_tmp19 ;
17132  u8 __cil_tmp20 ;
17133  int __cil_tmp21 ;
17134  int __cil_tmp22 ;
17135  unsigned long __cil_tmp23 ;
17136  unsigned long __cil_tmp24 ;
17137  int __cil_tmp25 ;
17138  u16 __cil_tmp26 ;
17139  int __cil_tmp27 ;
17140  int __cil_tmp28 ;
17141
17142  {
17143  {
17144#line 2699
17145  dcb = srb->dcb;
17146#line 2700
17147  __cil_tmp4 = dcb->target_id;
17148#line 2700
17149  __cil_tmp5 = (int )__cil_tmp4;
17150#line 2700
17151  __cil_tmp6 = dcb->target_lun;
17152#line 2700
17153  __cil_tmp7 = (int )__cil_tmp6;
17154#line 2700
17155  printk("<7>dc395x: msgin_set_async: No sync transfers <%02i-%i>\n", __cil_tmp5,
17156         __cil_tmp7);
17157#line 2703
17158  __cil_tmp8 = dcb->sync_mode;
17159#line 2703
17160  __cil_tmp9 = (int )__cil_tmp8;
17161#line 2703
17162  __cil_tmp10 = __cil_tmp9 & -2;
17163#line 2703
17164  dcb->sync_mode = (u8 )__cil_tmp10;
17165#line 2704
17166  __cil_tmp11 = dcb->sync_mode;
17167#line 2704
17168  __cil_tmp12 = (int )__cil_tmp11;
17169#line 2704
17170  __cil_tmp13 = __cil_tmp12 | 2;
17171#line 2704
17172  dcb->sync_mode = (u8 )__cil_tmp13;
17173#line 2706
17174  dcb->sync_offset = (u8 )0;
17175#line 2707
17176  __cil_tmp14 = 200 >> 2;
17177#line 2707
17178  dcb->min_nego_period = (u8 )__cil_tmp14;
17179#line 2708
17180  __cil_tmp15 = srb->state;
17181#line 2708
17182  __cil_tmp16 = (int )__cil_tmp15;
17183#line 2708
17184  __cil_tmp17 = __cil_tmp16 & -8193;
17185#line 2708
17186  srb->state = (u16 )__cil_tmp17;
17187#line 2709
17188  reprogram_regs(acb, dcb);
17189  }
17190  {
17191#line 2710
17192  __cil_tmp18 = dcb->sync_mode;
17193#line 2710
17194  __cil_tmp19 = (int )__cil_tmp18;
17195#line 2710
17196  if (__cil_tmp19 & 4) {
17197    {
17198#line 2710
17199    __cil_tmp20 = dcb->sync_mode;
17200#line 2710
17201    __cil_tmp21 = (int )__cil_tmp20;
17202#line 2710
17203    __cil_tmp22 = __cil_tmp21 & 8;
17204#line 2710
17205    if (! __cil_tmp22) {
17206      {
17207#line 2712
17208      build_wdtr(acb, dcb, srb);
17209#line 2713
17210      __cil_tmp23 = acb->io_port_base;
17211#line 2713
17212      __cil_tmp24 = __cil_tmp23 + 128UL;
17213#line 2713
17214      __cil_tmp25 = (int )__cil_tmp24;
17215#line 2713
17216      outw((unsigned short)512, __cil_tmp25);
17217#line 2713
17218      __cil_tmp26 = srb->state;
17219#line 2713
17220      __cil_tmp27 = (int )__cil_tmp26;
17221#line 2713
17222      __cil_tmp28 = __cil_tmp27 | 4;
17223#line 2713
17224      srb->state = (u16 )__cil_tmp28;
17225      }
17226      {
17227#line 2714
17228      while (1) {
17229        while_continue: /* CIL Label */ ;
17230
17231#line 2714
17232        goto while_break;
17233      }
17234      while_break___0: /* CIL Label */ ;
17235      }
17236
17237      while_break: ;
17238    } else {
17239
17240    }
17241    }
17242  } else {
17243
17244  }
17245  }
17246#line 2716
17247  return;
17248}
17249}
17250#line 2720 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17251static void msgin_set_sync(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
17252{ struct DeviceCtlBlk *dcb ;
17253  u8 bval ;
17254  int fact ;
17255  char const   *tmp___7 ;
17256  size_t __len ;
17257  void *__ret ;
17258  u8 __cil_tmp9 ;
17259  int __cil_tmp10 ;
17260  u8 __cil_tmp11 ;
17261  int __cil_tmp12 ;
17262  int __cil_tmp13 ;
17263  u8 __cil_tmp14 ;
17264  int __cil_tmp15 ;
17265  u8 __cil_tmp16 ;
17266  int __cil_tmp17 ;
17267  u8 __cil_tmp18 ;
17268  int __cil_tmp19 ;
17269  int __cil_tmp20 ;
17270  int __cil_tmp21 ;
17271  u8 __cil_tmp22 ;
17272  int __cil_tmp23 ;
17273  int __cil_tmp24 ;
17274  u8 __cil_tmp25 ;
17275  int __cil_tmp26 ;
17276  int __cil_tmp27 ;
17277  int __cil_tmp28 ;
17278  int __cil_tmp29 ;
17279  u8 __cil_tmp30 ;
17280  int __cil_tmp31 ;
17281  int __cil_tmp32 ;
17282  int __cil_tmp33 ;
17283  u8 __cil_tmp34 ;
17284  int __cil_tmp35 ;
17285  int __cil_tmp36 ;
17286  int __cil_tmp37 ;
17287  int __cil_tmp38 ;
17288  u8 __cil_tmp39 ;
17289  int __cil_tmp40 ;
17290  int __cil_tmp41 ;
17291  u8 __cil_tmp42 ;
17292  int __cil_tmp43 ;
17293  u8 __cil_tmp44 ;
17294  int __cil_tmp45 ;
17295  u8 __cil_tmp46 ;
17296  int __cil_tmp47 ;
17297  int __cil_tmp48 ;
17298  u8 __cil_tmp49 ;
17299  int __cil_tmp50 ;
17300  u8 __cil_tmp51 ;
17301  int __cil_tmp52 ;
17302  int __cil_tmp53 ;
17303  u8 __cil_tmp54 ;
17304  int __cil_tmp55 ;
17305  u8 __cil_tmp56 ;
17306  int __cil_tmp57 ;
17307  int __cil_tmp58 ;
17308  u8 __cil_tmp59 ;
17309  int __cil_tmp60 ;
17310  int __cil_tmp61 ;
17311  int __cil_tmp62 ;
17312  int __cil_tmp63 ;
17313  int __cil_tmp64 ;
17314  u16 __cil_tmp65 ;
17315  int __cil_tmp66 ;
17316  int __cil_tmp67 ;
17317  u8 __cil_tmp68 ;
17318  int __cil_tmp69 ;
17319  int __cil_tmp70 ;
17320  u8 __cil_tmp71 ;
17321  int __cil_tmp72 ;
17322  u8 *__cil_tmp73 ;
17323  void *__cil_tmp74 ;
17324  u8 *__cil_tmp75 ;
17325  void const   *__cil_tmp76 ;
17326  u8 *__cil_tmp77 ;
17327  void *__cil_tmp78 ;
17328  u8 *__cil_tmp79 ;
17329  void const   *__cil_tmp80 ;
17330  unsigned long __cil_tmp81 ;
17331  unsigned long __cil_tmp82 ;
17332  int __cil_tmp83 ;
17333  u16 __cil_tmp84 ;
17334  int __cil_tmp85 ;
17335  int __cil_tmp86 ;
17336  u8 __cil_tmp87 ;
17337  int __cil_tmp88 ;
17338  int __cil_tmp89 ;
17339  u8 __cil_tmp90 ;
17340  int __cil_tmp91 ;
17341  u8 __cil_tmp92 ;
17342  int __cil_tmp93 ;
17343  int __cil_tmp94 ;
17344  unsigned long __cil_tmp95 ;
17345  unsigned long __cil_tmp96 ;
17346  int __cil_tmp97 ;
17347  u16 __cil_tmp98 ;
17348  int __cil_tmp99 ;
17349  int __cil_tmp100 ;
17350  u16 __cil_tmp101 ;
17351  int __cil_tmp102 ;
17352  int __cil_tmp103 ;
17353  u8 __cil_tmp104 ;
17354  int __cil_tmp105 ;
17355  int __cil_tmp106 ;
17356
17357  {
17358#line 2722
17359  dcb = srb->dcb;
17360  {
17361#line 2725
17362  while (1) {
17363    while_continue: /* CIL Label */ ;
17364
17365#line 2725
17366    goto while_break;
17367  }
17368  while_break___2: /* CIL Label */ ;
17369  }
17370
17371  while_break: ;
17372  {
17373#line 2732
17374  __cil_tmp9 = srb->msgin_buf[4];
17375#line 2732
17376  __cil_tmp10 = (int )__cil_tmp9;
17377#line 2732
17378  if (__cil_tmp10 > 15) {
17379#line 2733
17380    srb->msgin_buf[4] = (u8 )15;
17381  } else {
17382
17383  }
17384  }
17385  {
17386#line 2734
17387  __cil_tmp11 = dcb->dev_mode;
17388#line 2734
17389  __cil_tmp12 = (int )__cil_tmp11;
17390#line 2734
17391  __cil_tmp13 = __cil_tmp12 & 2;
17392#line 2734
17393  if (! __cil_tmp13) {
17394#line 2735
17395    dcb->sync_offset = (u8 )0;
17396  } else {
17397    {
17398#line 2736
17399    __cil_tmp14 = dcb->sync_offset;
17400#line 2736
17401    __cil_tmp15 = (int )__cil_tmp14;
17402#line 2736
17403    if (__cil_tmp15 == 0) {
17404#line 2737
17405      dcb->sync_offset = srb->msgin_buf[4];
17406    } else {
17407
17408    }
17409    }
17410  }
17411  }
17412  {
17413#line 2738
17414  __cil_tmp16 = dcb->sync_offset;
17415#line 2738
17416  __cil_tmp17 = (int )__cil_tmp16;
17417#line 2738
17418  __cil_tmp18 = srb->msgin_buf[4];
17419#line 2738
17420  __cil_tmp19 = (int )__cil_tmp18;
17421#line 2738
17422  if (__cil_tmp19 > __cil_tmp17) {
17423#line 2739
17424    srb->msgin_buf[4] = dcb->sync_offset;
17425  } else {
17426#line 2741
17427    dcb->sync_offset = srb->msgin_buf[4];
17428  }
17429  }
17430#line 2742
17431  bval = (u8 )0;
17432  {
17433#line 2743
17434  while (1) {
17435    while_continue___0: /* CIL Label */ ;
17436
17437    {
17438#line 2743
17439    __cil_tmp20 = (int )bval;
17440#line 2743
17441    if (__cil_tmp20 < 7) {
17442      {
17443#line 2743
17444      __cil_tmp21 = (int )clock_period[bval];
17445#line 2743
17446      __cil_tmp22 = srb->msgin_buf[3];
17447#line 2743
17448      __cil_tmp23 = (int )__cil_tmp22;
17449#line 2743
17450      if (__cil_tmp23 > __cil_tmp21) {
17451
17452      } else {
17453        {
17454#line 2743
17455        __cil_tmp24 = (int )clock_period[bval];
17456#line 2743
17457        __cil_tmp25 = dcb->min_nego_period;
17458#line 2743
17459        __cil_tmp26 = (int )__cil_tmp25;
17460#line 2743
17461        if (__cil_tmp26 > __cil_tmp24) {
17462
17463        } else {
17464#line 2743
17465          goto while_break___0;
17466        }
17467        }
17468      }
17469      }
17470    } else {
17471#line 2743
17472      goto while_break___0;
17473    }
17474    }
17475#line 2746
17476    __cil_tmp27 = (int )bval;
17477#line 2746
17478    __cil_tmp28 = __cil_tmp27 + 1;
17479#line 2746
17480    bval = (u8 )__cil_tmp28;
17481  }
17482  while_break___3: /* CIL Label */ ;
17483  }
17484
17485  while_break___0: ;
17486  {
17487#line 2747
17488  __cil_tmp29 = (int )clock_period[bval];
17489#line 2747
17490  __cil_tmp30 = srb->msgin_buf[3];
17491#line 2747
17492  __cil_tmp31 = (int )__cil_tmp30;
17493#line 2747
17494  if (__cil_tmp31 < __cil_tmp29) {
17495    {
17496#line 2748
17497    __cil_tmp32 = (int )clock_period[bval];
17498#line 2748
17499    __cil_tmp33 = __cil_tmp32 << 2;
17500#line 2748
17501    printk("<6>dc395x: msgin_set_sync: Increase sync nego period to %ins\n", __cil_tmp33);
17502    }
17503  } else {
17504
17505  }
17506  }
17507#line 2751
17508  srb->msgin_buf[3] = clock_period[bval];
17509#line 2752
17510  __cil_tmp34 = dcb->sync_period;
17511#line 2752
17512  __cil_tmp35 = (int )__cil_tmp34;
17513#line 2752
17514  __cil_tmp36 = __cil_tmp35 & 240;
17515#line 2752
17516  dcb->sync_period = (u8 )__cil_tmp36;
17517#line 2753
17518  __cil_tmp37 = (int )bval;
17519#line 2753
17520  __cil_tmp38 = 8 | __cil_tmp37;
17521#line 2753
17522  __cil_tmp39 = dcb->sync_period;
17523#line 2753
17524  __cil_tmp40 = (int )__cil_tmp39;
17525#line 2753
17526  __cil_tmp41 = __cil_tmp40 | __cil_tmp38;
17527#line 2753
17528  dcb->sync_period = (u8 )__cil_tmp41;
17529#line 2754
17530  dcb->min_nego_period = srb->msgin_buf[3];
17531  {
17532#line 2756
17533  __cil_tmp42 = dcb->sync_period;
17534#line 2756
17535  __cil_tmp43 = (int )__cil_tmp42;
17536#line 2756
17537  if (__cil_tmp43 & 16) {
17538#line 2757
17539    fact = 500;
17540  } else {
17541#line 2759
17542    fact = 250;
17543  }
17544  }
17545#line 2761
17546  if (fact == 500) {
17547#line 2761
17548    tmp___7 = "Wide16";
17549  } else {
17550#line 2761
17551    tmp___7 = "";
17552  }
17553  {
17554#line 2761
17555  __cil_tmp44 = dcb->target_id;
17556#line 2761
17557  __cil_tmp45 = (int )__cil_tmp44;
17558#line 2761
17559  __cil_tmp46 = dcb->min_nego_period;
17560#line 2761
17561  __cil_tmp47 = (int )__cil_tmp46;
17562#line 2761
17563  __cil_tmp48 = __cil_tmp47 << 2;
17564#line 2761
17565  __cil_tmp49 = dcb->sync_offset;
17566#line 2761
17567  __cil_tmp50 = (int )__cil_tmp49;
17568#line 2761
17569  __cil_tmp51 = dcb->min_nego_period;
17570#line 2761
17571  __cil_tmp52 = (int )__cil_tmp51;
17572#line 2761
17573  __cil_tmp53 = fact / __cil_tmp52;
17574#line 2761
17575  __cil_tmp54 = dcb->min_nego_period;
17576#line 2761
17577  __cil_tmp55 = (int )__cil_tmp54;
17578#line 2761
17579  __cil_tmp56 = dcb->min_nego_period;
17580#line 2761
17581  __cil_tmp57 = (int )__cil_tmp56;
17582#line 2761
17583  __cil_tmp58 = __cil_tmp57 / 2;
17584#line 2761
17585  __cil_tmp59 = dcb->min_nego_period;
17586#line 2761
17587  __cil_tmp60 = (int )__cil_tmp59;
17588#line 2761
17589  __cil_tmp61 = fact % __cil_tmp60;
17590#line 2761
17591  __cil_tmp62 = __cil_tmp61 * 10;
17592#line 2761
17593  __cil_tmp63 = __cil_tmp62 + __cil_tmp58;
17594#line 2761
17595  __cil_tmp64 = __cil_tmp63 / __cil_tmp55;
17596#line 2761
17597  printk("<6>dc395x: Target %02i: %s Sync: %ins Offset %i (%02i.%01i MB/s)\n", __cil_tmp45,
17598         tmp___7, __cil_tmp48, __cil_tmp50, __cil_tmp53, __cil_tmp64);
17599  }
17600  {
17601#line 2769
17602  __cil_tmp65 = srb->state;
17603#line 2769
17604  __cil_tmp66 = (int )__cil_tmp65;
17605#line 2769
17606  __cil_tmp67 = __cil_tmp66 & 8192;
17607#line 2769
17608  if (! __cil_tmp67) {
17609    {
17610#line 2771
17611    __cil_tmp68 = srb->msgin_buf[3];
17612#line 2771
17613    __cil_tmp69 = (int )__cil_tmp68;
17614#line 2771
17615    __cil_tmp70 = __cil_tmp69 << 2;
17616#line 2771
17617    __cil_tmp71 = srb->msgin_buf[4];
17618#line 2771
17619    __cil_tmp72 = (int )__cil_tmp71;
17620#line 2771
17621    printk("<7>dc395x: msgin_set_sync: answer w/%ins %i\n", __cil_tmp70, __cil_tmp72);
17622#line 2774
17623    __len = (size_t )5;
17624    }
17625#line 2774
17626    if (__len >= 64UL) {
17627      {
17628#line 2774
17629      __cil_tmp73 = & srb->msgout_buf[0];
17630#line 2774
17631      __cil_tmp74 = (void *)__cil_tmp73;
17632#line 2774
17633      __cil_tmp75 = & srb->msgin_buf[0];
17634#line 2774
17635      __cil_tmp76 = (void const   *)__cil_tmp75;
17636#line 2774
17637      __ret = __memcpy(__cil_tmp74, __cil_tmp76, __len);
17638      }
17639    } else {
17640      {
17641#line 2774
17642      __cil_tmp77 = & srb->msgout_buf[0];
17643#line 2774
17644      __cil_tmp78 = (void *)__cil_tmp77;
17645#line 2774
17646      __cil_tmp79 = & srb->msgin_buf[0];
17647#line 2774
17648      __cil_tmp80 = (void const   *)__cil_tmp79;
17649#line 2774
17650      __ret = __builtin_memcpy(__cil_tmp78, __cil_tmp80, __len);
17651      }
17652    }
17653    {
17654#line 2775
17655    srb->msg_count = (u8 )5;
17656#line 2776
17657    __cil_tmp81 = acb->io_port_base;
17658#line 2776
17659    __cil_tmp82 = __cil_tmp81 + 128UL;
17660#line 2776
17661    __cil_tmp83 = (int )__cil_tmp82;
17662#line 2776
17663    outw((unsigned short)512, __cil_tmp83);
17664#line 2776
17665    __cil_tmp84 = srb->state;
17666#line 2776
17667    __cil_tmp85 = (int )__cil_tmp84;
17668#line 2776
17669    __cil_tmp86 = __cil_tmp85 | 4;
17670#line 2776
17671    srb->state = (u16 )__cil_tmp86;
17672#line 2777
17673    __cil_tmp87 = dcb->sync_mode;
17674#line 2777
17675    __cil_tmp88 = (int )__cil_tmp87;
17676#line 2777
17677    __cil_tmp89 = __cil_tmp88 | 2;
17678#line 2777
17679    dcb->sync_mode = (u8 )__cil_tmp89;
17680    }
17681  } else {
17682    {
17683#line 2779
17684    __cil_tmp90 = dcb->sync_mode;
17685#line 2779
17686    __cil_tmp91 = (int )__cil_tmp90;
17687#line 2779
17688    if (__cil_tmp91 & 4) {
17689      {
17690#line 2779
17691      __cil_tmp92 = dcb->sync_mode;
17692#line 2779
17693      __cil_tmp93 = (int )__cil_tmp92;
17694#line 2779
17695      __cil_tmp94 = __cil_tmp93 & 8;
17696#line 2779
17697      if (! __cil_tmp94) {
17698        {
17699#line 2781
17700        build_wdtr(acb, dcb, srb);
17701#line 2782
17702        __cil_tmp95 = acb->io_port_base;
17703#line 2782
17704        __cil_tmp96 = __cil_tmp95 + 128UL;
17705#line 2782
17706        __cil_tmp97 = (int )__cil_tmp96;
17707#line 2782
17708        outw((unsigned short)512, __cil_tmp97);
17709#line 2782
17710        __cil_tmp98 = srb->state;
17711#line 2782
17712        __cil_tmp99 = (int )__cil_tmp98;
17713#line 2782
17714        __cil_tmp100 = __cil_tmp99 | 4;
17715#line 2782
17716        srb->state = (u16 )__cil_tmp100;
17717        }
17718        {
17719#line 2783
17720        while (1) {
17721          while_continue___1: /* CIL Label */ ;
17722
17723#line 2783
17724          goto while_break___1;
17725        }
17726        while_break___4: /* CIL Label */ ;
17727        }
17728
17729        while_break___1: ;
17730      } else {
17731
17732      }
17733      }
17734    } else {
17735
17736    }
17737    }
17738  }
17739  }
17740  {
17741#line 2786
17742  __cil_tmp101 = srb->state;
17743#line 2786
17744  __cil_tmp102 = (int )__cil_tmp101;
17745#line 2786
17746  __cil_tmp103 = __cil_tmp102 & -8193;
17747#line 2786
17748  srb->state = (u16 )__cil_tmp103;
17749#line 2787
17750  __cil_tmp104 = dcb->sync_mode;
17751#line 2787
17752  __cil_tmp105 = (int )__cil_tmp104;
17753#line 2787
17754  __cil_tmp106 = __cil_tmp105 | 3;
17755#line 2787
17756  dcb->sync_mode = (u8 )__cil_tmp106;
17757#line 2789
17758  reprogram_regs(acb, dcb);
17759  }
17760#line 2790
17761  return;
17762}
17763}
17764#line 2793 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17765__inline static void msgin_set_nowide(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
17766{ struct DeviceCtlBlk *dcb ;
17767  u8 __cil_tmp4 ;
17768  int __cil_tmp5 ;
17769  int __cil_tmp6 ;
17770  u8 __cil_tmp7 ;
17771  int __cil_tmp8 ;
17772  int __cil_tmp9 ;
17773  u8 __cil_tmp10 ;
17774  int __cil_tmp11 ;
17775  int __cil_tmp12 ;
17776  u16 __cil_tmp13 ;
17777  int __cil_tmp14 ;
17778  int __cil_tmp15 ;
17779  u8 __cil_tmp16 ;
17780  int __cil_tmp17 ;
17781  u8 __cil_tmp18 ;
17782  int __cil_tmp19 ;
17783  int __cil_tmp20 ;
17784  unsigned long __cil_tmp21 ;
17785  unsigned long __cil_tmp22 ;
17786  int __cil_tmp23 ;
17787  u16 __cil_tmp24 ;
17788  int __cil_tmp25 ;
17789  int __cil_tmp26 ;
17790
17791  {
17792#line 2796
17793  dcb = srb->dcb;
17794  {
17795#line 2797
17796  while (1) {
17797    while_continue: /* CIL Label */ ;
17798
17799#line 2797
17800    goto while_break;
17801  }
17802  while_break___1: /* CIL Label */ ;
17803  }
17804
17805  while_break: 
17806  {
17807#line 2799
17808  __cil_tmp4 = dcb->sync_period;
17809#line 2799
17810  __cil_tmp5 = (int )__cil_tmp4;
17811#line 2799
17812  __cil_tmp6 = __cil_tmp5 & -17;
17813#line 2799
17814  dcb->sync_period = (u8 )__cil_tmp6;
17815#line 2800
17816  __cil_tmp7 = dcb->sync_mode;
17817#line 2800
17818  __cil_tmp8 = (int )__cil_tmp7;
17819#line 2800
17820  __cil_tmp9 = __cil_tmp8 & -5;
17821#line 2800
17822  dcb->sync_mode = (u8 )__cil_tmp9;
17823#line 2801
17824  __cil_tmp10 = dcb->sync_mode;
17825#line 2801
17826  __cil_tmp11 = (int )__cil_tmp10;
17827#line 2801
17828  __cil_tmp12 = __cil_tmp11 | 8;
17829#line 2801
17830  dcb->sync_mode = (u8 )__cil_tmp12;
17831#line 2802
17832  __cil_tmp13 = srb->state;
17833#line 2802
17834  __cil_tmp14 = (int )__cil_tmp13;
17835#line 2802
17836  __cil_tmp15 = __cil_tmp14 & -16385;
17837#line 2802
17838  srb->state = (u16 )__cil_tmp15;
17839#line 2803
17840  reprogram_regs(acb, dcb);
17841  }
17842  {
17843#line 2804
17844  __cil_tmp16 = dcb->sync_mode;
17845#line 2804
17846  __cil_tmp17 = (int )__cil_tmp16;
17847#line 2804
17848  if (__cil_tmp17 & 1) {
17849    {
17850#line 2804
17851    __cil_tmp18 = dcb->sync_mode;
17852#line 2804
17853    __cil_tmp19 = (int )__cil_tmp18;
17854#line 2804
17855    __cil_tmp20 = __cil_tmp19 & 2;
17856#line 2804
17857    if (! __cil_tmp20) {
17858      {
17859#line 2806
17860      build_sdtr(acb, dcb, srb);
17861#line 2807
17862      __cil_tmp21 = acb->io_port_base;
17863#line 2807
17864      __cil_tmp22 = __cil_tmp21 + 128UL;
17865#line 2807
17866      __cil_tmp23 = (int )__cil_tmp22;
17867#line 2807
17868      outw((unsigned short)512, __cil_tmp23);
17869#line 2807
17870      __cil_tmp24 = srb->state;
17871#line 2807
17872      __cil_tmp25 = (int )__cil_tmp24;
17873#line 2807
17874      __cil_tmp26 = __cil_tmp25 | 4;
17875#line 2807
17876      srb->state = (u16 )__cil_tmp26;
17877      }
17878      {
17879#line 2808
17880      while (1) {
17881        while_continue___0: /* CIL Label */ ;
17882
17883#line 2808
17884        goto while_break___0;
17885      }
17886      while_break___2: /* CIL Label */ ;
17887      }
17888
17889      while_break___0: ;
17890    } else {
17891
17892    }
17893    }
17894  } else {
17895
17896  }
17897  }
17898#line 2810
17899  return;
17900}
17901}
17902#line 2812 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17903static void msgin_set_wide(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
17904{ struct DeviceCtlBlk *dcb ;
17905  u8 wide ;
17906  int tmp___7 ;
17907  size_t __len ;
17908  void *__ret ;
17909  u8 __cil_tmp8 ;
17910  int __cil_tmp9 ;
17911  u8 __cil_tmp10 ;
17912  int __cil_tmp11 ;
17913  int __cil_tmp12 ;
17914  u8 __cil_tmp13 ;
17915  int __cil_tmp14 ;
17916  u16 __cil_tmp15 ;
17917  int __cil_tmp16 ;
17918  int __cil_tmp17 ;
17919  u8 __cil_tmp18 ;
17920  int __cil_tmp19 ;
17921  u8 *__cil_tmp20 ;
17922  void *__cil_tmp21 ;
17923  u8 *__cil_tmp22 ;
17924  void const   *__cil_tmp23 ;
17925  u8 *__cil_tmp24 ;
17926  void *__cil_tmp25 ;
17927  u8 *__cil_tmp26 ;
17928  void const   *__cil_tmp27 ;
17929  u16 __cil_tmp28 ;
17930  int __cil_tmp29 ;
17931  int __cil_tmp30 ;
17932  unsigned long __cil_tmp31 ;
17933  unsigned long __cil_tmp32 ;
17934  int __cil_tmp33 ;
17935  u16 __cil_tmp34 ;
17936  int __cil_tmp35 ;
17937  int __cil_tmp36 ;
17938  u8 __cil_tmp37 ;
17939  int __cil_tmp38 ;
17940  int __cil_tmp39 ;
17941  u8 __cil_tmp40 ;
17942  int __cil_tmp41 ;
17943  u8 __cil_tmp42 ;
17944  int __cil_tmp43 ;
17945  int __cil_tmp44 ;
17946  u8 __cil_tmp45 ;
17947  int __cil_tmp46 ;
17948  int __cil_tmp47 ;
17949  u16 __cil_tmp48 ;
17950  int __cil_tmp49 ;
17951  int __cil_tmp50 ;
17952  u8 __cil_tmp51 ;
17953  int __cil_tmp52 ;
17954  u8 __cil_tmp53 ;
17955  int __cil_tmp54 ;
17956  int __cil_tmp55 ;
17957  unsigned long __cil_tmp56 ;
17958  unsigned long __cil_tmp57 ;
17959  int __cil_tmp58 ;
17960  u16 __cil_tmp59 ;
17961  int __cil_tmp60 ;
17962  int __cil_tmp61 ;
17963
17964  {
17965#line 2814
17966  dcb = srb->dcb;
17967  {
17968#line 2815
17969  __cil_tmp8 = dcb->dev_mode;
17970#line 2815
17971  __cil_tmp9 = (int )__cil_tmp8;
17972#line 2815
17973  if (__cil_tmp9 & 32) {
17974    {
17975#line 2815
17976    __cil_tmp10 = acb->config;
17977#line 2815
17978    __cil_tmp11 = (int )__cil_tmp10;
17979#line 2815
17980    if (__cil_tmp11 & 32) {
17981#line 2815
17982      tmp___7 = 1;
17983    } else {
17984#line 2815
17985      tmp___7 = 0;
17986    }
17987    }
17988  } else {
17989#line 2815
17990    tmp___7 = 0;
17991  }
17992  }
17993#line 2815
17994  wide = (u8 )tmp___7;
17995  {
17996#line 2817
17997  while (1) {
17998    while_continue: /* CIL Label */ ;
17999
18000#line 2817
18001    goto while_break;
18002  }
18003  while_break___2: /* CIL Label */ ;
18004  }
18005
18006  while_break: ;
18007  {
18008#line 2819
18009  __cil_tmp12 = (int )wide;
18010#line 2819
18011  __cil_tmp13 = srb->msgin_buf[3];
18012#line 2819
18013  __cil_tmp14 = (int )__cil_tmp13;
18014#line 2819
18015  if (__cil_tmp14 > __cil_tmp12) {
18016#line 2820
18017    srb->msgin_buf[3] = wide;
18018  } else {
18019
18020  }
18021  }
18022  {
18023#line 2822
18024  __cil_tmp15 = srb->state;
18025#line 2822
18026  __cil_tmp16 = (int )__cil_tmp15;
18027#line 2822
18028  __cil_tmp17 = __cil_tmp16 & 16384;
18029#line 2822
18030  if (! __cil_tmp17) {
18031    {
18032#line 2823
18033    __cil_tmp18 = dcb->target_id;
18034#line 2823
18035    __cil_tmp19 = (int )__cil_tmp18;
18036#line 2823
18037    printk("<7>dc395x: msgin_set_wide: Wide nego initiated <%02i>\n", __cil_tmp19);
18038#line 2826
18039    __len = (size_t )4;
18040    }
18041#line 2826
18042    if (__len >= 64UL) {
18043      {
18044#line 2826
18045      __cil_tmp20 = & srb->msgout_buf[0];
18046#line 2826
18047      __cil_tmp21 = (void *)__cil_tmp20;
18048#line 2826
18049      __cil_tmp22 = & srb->msgin_buf[0];
18050#line 2826
18051      __cil_tmp23 = (void const   *)__cil_tmp22;
18052#line 2826
18053      __ret = __memcpy(__cil_tmp21, __cil_tmp23, __len);
18054      }
18055    } else {
18056      {
18057#line 2826
18058      __cil_tmp24 = & srb->msgout_buf[0];
18059#line 2826
18060      __cil_tmp25 = (void *)__cil_tmp24;
18061#line 2826
18062      __cil_tmp26 = & srb->msgin_buf[0];
18063#line 2826
18064      __cil_tmp27 = (void const   *)__cil_tmp26;
18065#line 2826
18066      __ret = __builtin_memcpy(__cil_tmp25, __cil_tmp27, __len);
18067      }
18068    }
18069    {
18070#line 2827
18071    srb->msg_count = (u8 )4;
18072#line 2828
18073    __cil_tmp28 = srb->state;
18074#line 2828
18075    __cil_tmp29 = (int )__cil_tmp28;
18076#line 2828
18077    __cil_tmp30 = __cil_tmp29 | 16384;
18078#line 2828
18079    srb->state = (u16 )__cil_tmp30;
18080#line 2829
18081    __cil_tmp31 = acb->io_port_base;
18082#line 2829
18083    __cil_tmp32 = __cil_tmp31 + 128UL;
18084#line 2829
18085    __cil_tmp33 = (int )__cil_tmp32;
18086#line 2829
18087    outw((unsigned short)512, __cil_tmp33);
18088#line 2829
18089    __cil_tmp34 = srb->state;
18090#line 2829
18091    __cil_tmp35 = (int )__cil_tmp34;
18092#line 2829
18093    __cil_tmp36 = __cil_tmp35 | 4;
18094#line 2829
18095    srb->state = (u16 )__cil_tmp36;
18096    }
18097  } else {
18098
18099  }
18100  }
18101#line 2832
18102  __cil_tmp37 = dcb->sync_mode;
18103#line 2832
18104  __cil_tmp38 = (int )__cil_tmp37;
18105#line 2832
18106  __cil_tmp39 = __cil_tmp38 | 12;
18107#line 2832
18108  dcb->sync_mode = (u8 )__cil_tmp39;
18109  {
18110#line 2833
18111  __cil_tmp40 = srb->msgin_buf[3];
18112#line 2833
18113  __cil_tmp41 = (int )__cil_tmp40;
18114#line 2833
18115  if (__cil_tmp41 > 0) {
18116#line 2834
18117    __cil_tmp42 = dcb->sync_period;
18118#line 2834
18119    __cil_tmp43 = (int )__cil_tmp42;
18120#line 2834
18121    __cil_tmp44 = __cil_tmp43 | 16;
18122#line 2834
18123    dcb->sync_period = (u8 )__cil_tmp44;
18124  } else {
18125#line 2836
18126    __cil_tmp45 = dcb->sync_period;
18127#line 2836
18128    __cil_tmp46 = (int )__cil_tmp45;
18129#line 2836
18130    __cil_tmp47 = __cil_tmp46 & -17;
18131#line 2836
18132    dcb->sync_period = (u8 )__cil_tmp47;
18133  }
18134  }
18135#line 2837
18136  __cil_tmp48 = srb->state;
18137#line 2837
18138  __cil_tmp49 = (int )__cil_tmp48;
18139#line 2837
18140  __cil_tmp50 = __cil_tmp49 & -16385;
18141#line 2837
18142  srb->state = (u16 )__cil_tmp50;
18143  {
18144#line 2839
18145  while (1) {
18146    while_continue___0: /* CIL Label */ ;
18147
18148#line 2839
18149    goto while_break___0;
18150  }
18151  while_break___3: /* CIL Label */ ;
18152  }
18153
18154  while_break___0: 
18155  {
18156#line 2842
18157  reprogram_regs(acb, dcb);
18158  }
18159  {
18160#line 2843
18161  __cil_tmp51 = dcb->sync_mode;
18162#line 2843
18163  __cil_tmp52 = (int )__cil_tmp51;
18164#line 2843
18165  if (__cil_tmp52 & 1) {
18166    {
18167#line 2843
18168    __cil_tmp53 = dcb->sync_mode;
18169#line 2843
18170    __cil_tmp54 = (int )__cil_tmp53;
18171#line 2843
18172    __cil_tmp55 = __cil_tmp54 & 2;
18173#line 2843
18174    if (! __cil_tmp55) {
18175      {
18176#line 2845
18177      build_sdtr(acb, dcb, srb);
18178#line 2846
18179      __cil_tmp56 = acb->io_port_base;
18180#line 2846
18181      __cil_tmp57 = __cil_tmp56 + 128UL;
18182#line 2846
18183      __cil_tmp58 = (int )__cil_tmp57;
18184#line 2846
18185      outw((unsigned short)512, __cil_tmp58);
18186#line 2846
18187      __cil_tmp59 = srb->state;
18188#line 2846
18189      __cil_tmp60 = (int )__cil_tmp59;
18190#line 2846
18191      __cil_tmp61 = __cil_tmp60 | 4;
18192#line 2846
18193      srb->state = (u16 )__cil_tmp61;
18194      }
18195      {
18196#line 2847
18197      while (1) {
18198        while_continue___1: /* CIL Label */ ;
18199
18200#line 2847
18201        goto while_break___1;
18202      }
18203      while_break___4: /* CIL Label */ ;
18204      }
18205
18206      while_break___1: ;
18207    } else {
18208
18209    }
18210    }
18211  } else {
18212
18213  }
18214  }
18215#line 2849
18216  return;
18217}
18218}
18219#line 2864 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18220static void msgin_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
18221{ struct DeviceCtlBlk *dcb ;
18222  u8 tmp___7 ;
18223  unsigned char tmp___8 ;
18224  u8 tmp___9 ;
18225  u8 __cil_tmp8 ;
18226  int __cil_tmp9 ;
18227  int __cil_tmp10 ;
18228  unsigned long __cil_tmp11 ;
18229  unsigned long __cil_tmp12 ;
18230  int __cil_tmp13 ;
18231  u8 *__cil_tmp14 ;
18232  u8 __cil_tmp15 ;
18233  u32 __cil_tmp16 ;
18234  u8 __cil_tmp17 ;
18235  int __cil_tmp18 ;
18236  u8 __cil_tmp19 ;
18237  int __cil_tmp20 ;
18238  u8 __cil_tmp21 ;
18239  int __cil_tmp22 ;
18240  u8 __cil_tmp23 ;
18241  int __cil_tmp24 ;
18242  u8 __cil_tmp25 ;
18243  int __cil_tmp26 ;
18244  u8 __cil_tmp27 ;
18245  int __cil_tmp28 ;
18246  u8 __cil_tmp29 ;
18247  int __cil_tmp30 ;
18248  u8 __cil_tmp31 ;
18249  int __cil_tmp32 ;
18250  u8 __cil_tmp33 ;
18251  int __cil_tmp34 ;
18252  u8 __cil_tmp35 ;
18253  int __cil_tmp36 ;
18254  u8 __cil_tmp37 ;
18255  int __cil_tmp38 ;
18256  u8 __cil_tmp39 ;
18257  unsigned long __cil_tmp40 ;
18258  unsigned long __cil_tmp41 ;
18259  int __cil_tmp42 ;
18260  u16 __cil_tmp43 ;
18261  int __cil_tmp44 ;
18262  u16 __cil_tmp45 ;
18263  int __cil_tmp46 ;
18264  u8 __cil_tmp47 ;
18265  int __cil_tmp48 ;
18266  u8 __cil_tmp49 ;
18267  int __cil_tmp50 ;
18268  u8 __cil_tmp51 ;
18269  int __cil_tmp52 ;
18270  u8 __cil_tmp53 ;
18271  int __cil_tmp54 ;
18272  u8 __cil_tmp55 ;
18273  int __cil_tmp56 ;
18274  u8 __cil_tmp57 ;
18275  int __cil_tmp58 ;
18276  int __cil_tmp59 ;
18277  u8 __cil_tmp60 ;
18278  int __cil_tmp61 ;
18279  unsigned long __cil_tmp62 ;
18280  unsigned long __cil_tmp63 ;
18281  int __cil_tmp64 ;
18282  u16 __cil_tmp65 ;
18283  int __cil_tmp66 ;
18284  int __cil_tmp67 ;
18285  u16 __cil_tmp68 ;
18286  int __cil_tmp69 ;
18287  int __cil_tmp70 ;
18288  u16 __cil_tmp71 ;
18289  int __cil_tmp72 ;
18290  int __cil_tmp73 ;
18291  unsigned long __cil_tmp74 ;
18292  unsigned long __cil_tmp75 ;
18293  int __cil_tmp76 ;
18294  unsigned long __cil_tmp77 ;
18295  unsigned long __cil_tmp78 ;
18296  int __cil_tmp79 ;
18297
18298  {
18299#line 2867
18300  dcb = acb->active_dcb;
18301  {
18302#line 2868
18303  while (1) {
18304    while_continue: /* CIL Label */ ;
18305
18306#line 2868
18307    goto while_break;
18308  }
18309  while_break___5: /* CIL Label */ ;
18310  }
18311
18312  while_break: 
18313  {
18314#line 2870
18315  tmp___7 = acb->msg_len;
18316#line 2870
18317  __cil_tmp8 = acb->msg_len;
18318#line 2870
18319  __cil_tmp9 = (int )__cil_tmp8;
18320#line 2870
18321  __cil_tmp10 = __cil_tmp9 + 1;
18322#line 2870
18323  acb->msg_len = (u8 )__cil_tmp10;
18324#line 2870
18325  __cil_tmp11 = acb->io_port_base;
18326#line 2870
18327  __cil_tmp12 = __cil_tmp11 + 152UL;
18328#line 2870
18329  __cil_tmp13 = (int )__cil_tmp12;
18330#line 2870
18331  tmp___8 = inb(__cil_tmp13);
18332#line 2870
18333  srb->msgin_buf[tmp___7] = tmp___8;
18334#line 2871
18335  __cil_tmp14 = & srb->msgin_buf[0];
18336#line 2871
18337  __cil_tmp15 = acb->msg_len;
18338#line 2871
18339  __cil_tmp16 = (u32 )__cil_tmp15;
18340#line 2871
18341  tmp___9 = msgin_completed(__cil_tmp14, __cil_tmp16);
18342  }
18343#line 2871
18344  if (tmp___9) {
18345    {
18346#line 2874
18347    __cil_tmp17 = srb->msgin_buf[0];
18348#line 2874
18349    __cil_tmp18 = (int )__cil_tmp17;
18350#line 2874
18351    if (__cil_tmp18 == 4) {
18352#line 2874
18353      goto case_4;
18354    } else {
18355      {
18356#line 2878
18357      __cil_tmp19 = srb->msgin_buf[0];
18358#line 2878
18359      __cil_tmp20 = (int )__cil_tmp19;
18360#line 2878
18361      if (__cil_tmp20 == 32) {
18362#line 2878
18363        goto case_32;
18364      } else {
18365        {
18366#line 2879
18367        __cil_tmp21 = srb->msgin_buf[0];
18368#line 2879
18369        __cil_tmp22 = (int )__cil_tmp21;
18370#line 2879
18371        if (__cil_tmp22 == 33) {
18372#line 2879
18373          goto case_32;
18374        } else {
18375          {
18376#line 2880
18377          __cil_tmp23 = srb->msgin_buf[0];
18378#line 2880
18379          __cil_tmp24 = (int )__cil_tmp23;
18380#line 2880
18381          if (__cil_tmp24 == 34) {
18382#line 2880
18383            goto case_32;
18384          } else {
18385            {
18386#line 2886
18387            __cil_tmp25 = srb->msgin_buf[0];
18388#line 2886
18389            __cil_tmp26 = (int )__cil_tmp25;
18390#line 2886
18391            if (__cil_tmp26 == 7) {
18392#line 2886
18393              goto case_7;
18394            } else {
18395              {
18396#line 2903
18397              __cil_tmp27 = srb->msgin_buf[0];
18398#line 2903
18399              __cil_tmp28 = (int )__cil_tmp27;
18400#line 2903
18401              if (__cil_tmp28 == 1) {
18402#line 2903
18403                goto case_1;
18404              } else {
18405                {
18406#line 2920
18407                __cil_tmp29 = srb->msgin_buf[0];
18408#line 2920
18409                __cil_tmp30 = (int )__cil_tmp29;
18410#line 2920
18411                if (__cil_tmp30 == 35) {
18412#line 2920
18413                  goto case_35;
18414                } else {
18415                  {
18416#line 2925
18417                  __cil_tmp31 = srb->msgin_buf[0];
18418#line 2925
18419                  __cil_tmp32 = (int )__cil_tmp31;
18420#line 2925
18421                  if (__cil_tmp32 == 0) {
18422#line 2925
18423                    goto case_0;
18424                  } else {
18425                    {
18426#line 2929
18427                    __cil_tmp33 = srb->msgin_buf[0];
18428#line 2929
18429                    __cil_tmp34 = (int )__cil_tmp33;
18430#line 2929
18431                    if (__cil_tmp34 == 2) {
18432#line 2929
18433                      goto case_2;
18434                    } else {
18435                      {
18436#line 2939
18437                      __cil_tmp35 = srb->msgin_buf[0];
18438#line 2939
18439                      __cil_tmp36 = (int )__cil_tmp35;
18440#line 2939
18441                      if (__cil_tmp36 == 3) {
18442#line 2939
18443                        goto case_3;
18444                      } else {
18445                        {
18446#line 2943
18447                        __cil_tmp37 = srb->msgin_buf[0];
18448#line 2943
18449                        __cil_tmp38 = (int )__cil_tmp37;
18450#line 2943
18451                        if (__cil_tmp38 == 6) {
18452#line 2943
18453                          goto case_6;
18454                        } else {
18455#line 2952
18456                          goto switch_default;
18457#line 2873
18458                          if (0) {
18459                            case_4: 
18460#line 2875
18461                            srb->state = (u16 )128;
18462#line 2876
18463                            goto switch_break;
18464                            case_32: 
18465                            {
18466#line 2881
18467                            __cil_tmp39 = srb->msgin_buf[1];
18468#line 2881
18469                            srb = msgin_qtag(acb, dcb, __cil_tmp39);
18470                            }
18471#line 2884
18472                            goto switch_break;
18473                            case_7: 
18474                            {
18475#line 2887
18476                            __cil_tmp40 = acb->io_port_base;
18477#line 2887
18478                            __cil_tmp41 = __cil_tmp40 + 128UL;
18479#line 2887
18480                            __cil_tmp42 = (int )__cil_tmp41;
18481#line 2887
18482                            outw((unsigned short)1026, __cil_tmp42);
18483                            }
18484                            {
18485#line 2890
18486                            __cil_tmp43 = srb->state;
18487#line 2890
18488                            __cil_tmp44 = (int )__cil_tmp43;
18489#line 2890
18490                            if (__cil_tmp44 & 8192) {
18491                              {
18492#line 2891
18493                              msgin_set_async(acb, srb);
18494                              }
18495#line 2892
18496                              goto switch_break;
18497                            } else {
18498
18499                            }
18500                            }
18501                            {
18502#line 2895
18503                            __cil_tmp45 = srb->state;
18504#line 2895
18505                            __cil_tmp46 = (int )__cil_tmp45;
18506#line 2895
18507                            if (__cil_tmp46 & 16384) {
18508                              {
18509#line 2896
18510                              msgin_set_nowide(acb, srb);
18511                              }
18512#line 2897
18513                              goto switch_break;
18514                            } else {
18515
18516                            }
18517                            }
18518                            {
18519#line 2899
18520                            enable_msgout_abort(acb, srb);
18521                            }
18522#line 2901
18523                            goto switch_break;
18524                            case_1: 
18525                            {
18526#line 2905
18527                            __cil_tmp47 = srb->msgin_buf[1];
18528#line 2905
18529                            __cil_tmp48 = (int )__cil_tmp47;
18530#line 2905
18531                            if (__cil_tmp48 == 3) {
18532                              {
18533#line 2905
18534                              __cil_tmp49 = srb->msgin_buf[2];
18535#line 2905
18536                              __cil_tmp50 = (int )__cil_tmp49;
18537#line 2905
18538                              if (__cil_tmp50 == 1) {
18539                                {
18540#line 2907
18541                                msgin_set_sync(acb, srb);
18542                                }
18543#line 2908
18544                                goto switch_break;
18545                              } else {
18546
18547                              }
18548                              }
18549                            } else {
18550
18551                            }
18552                            }
18553                            {
18554#line 2911
18555                            __cil_tmp51 = srb->msgin_buf[1];
18556#line 2911
18557                            __cil_tmp52 = (int )__cil_tmp51;
18558#line 2911
18559                            if (__cil_tmp52 == 2) {
18560                              {
18561#line 2911
18562                              __cil_tmp53 = srb->msgin_buf[2];
18563#line 2911
18564                              __cil_tmp54 = (int )__cil_tmp53;
18565#line 2911
18566                              if (__cil_tmp54 == 3) {
18567                                {
18568#line 2911
18569                                __cil_tmp55 = srb->msgin_buf[3];
18570#line 2911
18571                                __cil_tmp56 = (int )__cil_tmp55;
18572#line 2911
18573                                if (__cil_tmp56 <= 2) {
18574                                  {
18575#line 2914
18576                                  msgin_set_wide(acb, srb);
18577                                  }
18578#line 2915
18579                                  goto switch_break;
18580                                } else {
18581
18582                                }
18583                                }
18584                              } else {
18585
18586                              }
18587                              }
18588                            } else {
18589
18590                            }
18591                            }
18592                            {
18593#line 2917
18594                            msgin_reject(acb, srb);
18595                            }
18596#line 2918
18597                            goto switch_break;
18598                            case_35: 
18599                            {
18600#line 2922
18601                            while (1) {
18602                              while_continue___0: /* CIL Label */ ;
18603
18604#line 2922
18605                              goto while_break___0;
18606                            }
18607                            while_break___6: /* CIL Label */ ;
18608                            }
18609
18610                            while_break___0: ;
18611#line 2923
18612                            goto switch_break;
18613                            case_0: 
18614#line 2927
18615                            goto switch_break;
18616                            case_2: 
18617                            {
18618#line 2934
18619                            while (1) {
18620                              while_continue___1: /* CIL Label */ ;
18621
18622#line 2934
18623                              goto while_break___1;
18624                            }
18625                            while_break___7: /* CIL Label */ ;
18626                            }
18627
18628                            while_break___1: ;
18629#line 2937
18630                            goto switch_break;
18631                            case_3: 
18632                            {
18633#line 2940
18634                            while (1) {
18635                              while_continue___2: /* CIL Label */ ;
18636
18637#line 2940
18638                              goto while_break___2;
18639                            }
18640                            while_break___8: /* CIL Label */ ;
18641                            }
18642
18643                            while_break___2: ;
18644#line 2941
18645                            goto switch_break;
18646                            case_6: 
18647                            {
18648#line 2944
18649                            while (1) {
18650                              while_continue___3: /* CIL Label */ ;
18651
18652#line 2944
18653                              goto while_break___3;
18654                            }
18655                            while_break___9: /* CIL Label */ ;
18656                            }
18657
18658                            while_break___3: 
18659                            {
18660#line 2948
18661                            __cil_tmp57 = dcb->flag;
18662#line 2948
18663                            __cil_tmp58 = (int )__cil_tmp57;
18664#line 2948
18665                            __cil_tmp59 = __cil_tmp58 | 1;
18666#line 2948
18667                            dcb->flag = (u8 )__cil_tmp59;
18668#line 2949
18669                            enable_msgout_abort(acb, srb);
18670                            }
18671#line 2950
18672                            goto switch_break;
18673                            switch_default: 
18674                            {
18675#line 2954
18676                            __cil_tmp60 = srb->msgin_buf[0];
18677#line 2954
18678                            __cil_tmp61 = (int )__cil_tmp60;
18679#line 2954
18680                            if (__cil_tmp61 & 128) {
18681                              {
18682#line 2955
18683                              while (1) {
18684                                while_continue___4: /* CIL Label */ ;
18685
18686#line 2955
18687                                goto while_break___4;
18688                              }
18689                              while_break___10: /* CIL Label */ ;
18690                              }
18691
18692                              while_break___4: 
18693                              {
18694#line 2956
18695                              srb->msg_count = (u8 )1;
18696#line 2957
18697                              srb->msgout_buf[0] = dcb->identify_msg;
18698#line 2958
18699                              __cil_tmp62 = acb->io_port_base;
18700#line 2958
18701                              __cil_tmp63 = __cil_tmp62 + 128UL;
18702#line 2958
18703                              __cil_tmp64 = (int )__cil_tmp63;
18704#line 2958
18705                              outw((unsigned short)512, __cil_tmp64);
18706#line 2958
18707                              __cil_tmp65 = srb->state;
18708#line 2958
18709                              __cil_tmp66 = (int )__cil_tmp65;
18710#line 2958
18711                              __cil_tmp67 = __cil_tmp66 | 4;
18712#line 2958
18713                              srb->state = (u16 )__cil_tmp67;
18714#line 2959
18715                              __cil_tmp68 = srb->state;
18716#line 2959
18717                              __cil_tmp69 = (int )__cil_tmp68;
18718#line 2959
18719                              __cil_tmp70 = __cil_tmp69 | 4;
18720#line 2959
18721                              srb->state = (u16 )__cil_tmp70;
18722                              }
18723                            } else {
18724
18725                            }
18726                            }
18727                            {
18728#line 2962
18729                            msgin_reject(acb, srb);
18730                            }
18731                          } else {
18732                            switch_break: ;
18733                          }
18734                        }
18735                        }
18736                      }
18737                      }
18738                    }
18739                    }
18740                  }
18741                  }
18742                }
18743                }
18744              }
18745              }
18746            }
18747            }
18748          }
18749          }
18750        }
18751        }
18752      }
18753      }
18754    }
18755    }
18756#line 2966
18757    __cil_tmp71 = srb->state;
18758#line 2966
18759    __cil_tmp72 = (int )__cil_tmp71;
18760#line 2966
18761    __cil_tmp73 = __cil_tmp72 & -9;
18762#line 2966
18763    srb->state = (u16 )__cil_tmp73;
18764#line 2967
18765    acb->msg_len = (u8 )0;
18766  } else {
18767
18768  }
18769  {
18770#line 2969
18771  *pscsi_status = (u16 )5;
18772#line 2970
18773  __cil_tmp74 = acb->io_port_base;
18774#line 2970
18775  __cil_tmp75 = __cil_tmp74 + 128UL;
18776#line 2970
18777  __cil_tmp76 = (int )__cil_tmp75;
18778#line 2970
18779  outw((unsigned short)2, __cil_tmp76);
18780#line 2971
18781  __cil_tmp77 = acb->io_port_base;
18782#line 2971
18783  __cil_tmp78 = __cil_tmp77 + 144UL;
18784#line 2971
18785  __cil_tmp79 = (int )__cil_tmp78;
18786#line 2971
18787  outb((unsigned char)216, __cil_tmp79);
18788  }
18789#line 2972
18790  return;
18791}
18792}
18793#line 2975 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18794static void msgin_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
18795{ char *__cil_tmp4 ;
18796  unsigned long __cil_tmp5 ;
18797  unsigned long __cil_tmp6 ;
18798  int __cil_tmp7 ;
18799  u16 __cil_tmp8 ;
18800  int __cil_tmp9 ;
18801  int __cil_tmp10 ;
18802  u16 __cil_tmp11 ;
18803  int __cil_tmp12 ;
18804  int __cil_tmp13 ;
18805  u16 __cil_tmp14 ;
18806  int __cil_tmp15 ;
18807  int __cil_tmp16 ;
18808  unsigned long __cil_tmp17 ;
18809  unsigned long __cil_tmp18 ;
18810  int __cil_tmp19 ;
18811  unsigned long __cil_tmp20 ;
18812  unsigned long __cil_tmp21 ;
18813  int __cil_tmp22 ;
18814
18815  {
18816  {
18817#line 2978
18818  while (1) {
18819    while_continue: /* CIL Label */ ;
18820
18821#line 2978
18822    goto while_break;
18823  }
18824  while_break___0: /* CIL Label */ ;
18825  }
18826
18827  while_break: 
18828  {
18829#line 2979
18830  __cil_tmp4 = (char *)"msgin_phase1";
18831#line 2979
18832  clear_fifo(acb, __cil_tmp4);
18833#line 2980
18834  __cil_tmp5 = acb->io_port_base;
18835#line 2980
18836  __cil_tmp6 = __cil_tmp5 + 136UL;
18837#line 2980
18838  __cil_tmp7 = (int )__cil_tmp6;
18839#line 2980
18840  outl(1U, __cil_tmp7);
18841  }
18842  {
18843#line 2981
18844  __cil_tmp8 = srb->state;
18845#line 2981
18846  __cil_tmp9 = (int )__cil_tmp8;
18847#line 2981
18848  __cil_tmp10 = __cil_tmp9 & 8;
18849#line 2981
18850  if (! __cil_tmp10) {
18851#line 2982
18852    __cil_tmp11 = srb->state;
18853#line 2982
18854    __cil_tmp12 = (int )__cil_tmp11;
18855#line 2982
18856    __cil_tmp13 = __cil_tmp12 & -129;
18857#line 2982
18858    srb->state = (u16 )__cil_tmp13;
18859#line 2983
18860    __cil_tmp14 = srb->state;
18861#line 2983
18862    __cil_tmp15 = (int )__cil_tmp14;
18863#line 2983
18864    __cil_tmp16 = __cil_tmp15 | 8;
18865#line 2983
18866    srb->state = (u16 )__cil_tmp16;
18867  } else {
18868
18869  }
18870  }
18871  {
18872#line 2985
18873  __cil_tmp17 = acb->io_port_base;
18874#line 2985
18875  __cil_tmp18 = __cil_tmp17 + 128UL;
18876#line 2985
18877  __cil_tmp19 = (int )__cil_tmp18;
18878#line 2985
18879  outw((unsigned short)2, __cil_tmp19);
18880#line 2987
18881  __cil_tmp20 = acb->io_port_base;
18882#line 2987
18883  __cil_tmp21 = __cil_tmp20 + 144UL;
18884#line 2987
18885  __cil_tmp22 = (int )__cil_tmp21;
18886#line 2987
18887  outb((unsigned char)194, __cil_tmp22);
18888  }
18889#line 2988
18890  return;
18891}
18892}
18893#line 2991 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18894static void nop0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
18895{ 
18896
18897  {
18898#line 2994
18899  return;
18900}
18901}
18902#line 2997 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18903static void nop1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) 
18904{ 
18905
18906  {
18907#line 3000
18908  return;
18909}
18910}
18911#line 3003 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18912static void set_xfer_rate(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ) 
18913{ struct DeviceCtlBlk *i ;
18914  struct list_head  const  *__mptr ;
18915  struct list_head  const  *__mptr___0 ;
18916  u8 __cil_tmp6 ;
18917  int __cil_tmp7 ;
18918  u8 __cil_tmp8 ;
18919  struct list_head *__cil_tmp9 ;
18920  struct DeviceCtlBlk *__cil_tmp10 ;
18921  struct list_head *__cil_tmp11 ;
18922  unsigned int __cil_tmp12 ;
18923  char *__cil_tmp13 ;
18924  char *__cil_tmp14 ;
18925  struct list_head *__cil_tmp15 ;
18926  unsigned long __cil_tmp16 ;
18927  struct list_head *__cil_tmp17 ;
18928  unsigned long __cil_tmp18 ;
18929  u8 __cil_tmp19 ;
18930  int __cil_tmp20 ;
18931  u8 __cil_tmp21 ;
18932  int __cil_tmp22 ;
18933  struct list_head *__cil_tmp23 ;
18934  struct DeviceCtlBlk *__cil_tmp24 ;
18935  struct list_head *__cil_tmp25 ;
18936  unsigned int __cil_tmp26 ;
18937  char *__cil_tmp27 ;
18938  char *__cil_tmp28 ;
18939
18940  {
18941  {
18942#line 3008
18943  __cil_tmp6 = dcb->identify_msg;
18944#line 3008
18945  __cil_tmp7 = (int )__cil_tmp6;
18946#line 3008
18947  if (__cil_tmp7 & 7) {
18948#line 3009
18949    return;
18950  } else {
18951
18952  }
18953  }
18954#line 3011
18955  if (acb->scan_devices) {
18956#line 3012
18957    __cil_tmp8 = dcb->sync_offset;
18958#line 3012
18959    current_sync_offset = (u16 )__cil_tmp8;
18960#line 3013
18961    return;
18962  } else {
18963
18964  }
18965#line 3016
18966  __cil_tmp9 = acb->dcb_list.next;
18967#line 3016
18968  __mptr = (struct list_head  const  *)__cil_tmp9;
18969#line 3016
18970  __cil_tmp10 = (struct DeviceCtlBlk *)0;
18971#line 3016
18972  __cil_tmp11 = & __cil_tmp10->list;
18973#line 3016
18974  __cil_tmp12 = (unsigned int )__cil_tmp11;
18975#line 3016
18976  __cil_tmp13 = (char *)__mptr;
18977#line 3016
18978  __cil_tmp14 = __cil_tmp13 - __cil_tmp12;
18979#line 3016
18980  i = (struct DeviceCtlBlk *)__cil_tmp14;
18981  {
18982#line 3016
18983  while (1) {
18984    while_continue: /* CIL Label */ ;
18985
18986    {
18987#line 3016
18988    __cil_tmp15 = & acb->dcb_list;
18989#line 3016
18990    __cil_tmp16 = (unsigned long )__cil_tmp15;
18991#line 3016
18992    __cil_tmp17 = & i->list;
18993#line 3016
18994    __cil_tmp18 = (unsigned long )__cil_tmp17;
18995#line 3016
18996    if (__cil_tmp18 != __cil_tmp16) {
18997
18998    } else {
18999#line 3016
19000      goto while_break;
19001    }
19002    }
19003    {
19004#line 3017
19005    __cil_tmp19 = dcb->target_id;
19006#line 3017
19007    __cil_tmp20 = (int )__cil_tmp19;
19008#line 3017
19009    __cil_tmp21 = i->target_id;
19010#line 3017
19011    __cil_tmp22 = (int )__cil_tmp21;
19012#line 3017
19013    if (__cil_tmp22 == __cil_tmp20) {
19014#line 3018
19015      i->sync_period = dcb->sync_period;
19016#line 3019
19017      i->sync_offset = dcb->sync_offset;
19018#line 3020
19019      i->sync_mode = dcb->sync_mode;
19020#line 3021
19021      i->min_nego_period = dcb->min_nego_period;
19022    } else {
19023
19024    }
19025    }
19026#line 3016
19027    __cil_tmp23 = i->list.next;
19028#line 3016
19029    __mptr___0 = (struct list_head  const  *)__cil_tmp23;
19030#line 3016
19031    __cil_tmp24 = (struct DeviceCtlBlk *)0;
19032#line 3016
19033    __cil_tmp25 = & __cil_tmp24->list;
19034#line 3016
19035    __cil_tmp26 = (unsigned int )__cil_tmp25;
19036#line 3016
19037    __cil_tmp27 = (char *)__mptr___0;
19038#line 3016
19039    __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
19040#line 3016
19041    i = (struct DeviceCtlBlk *)__cil_tmp28;
19042  }
19043  while_break___0: /* CIL Label */ ;
19044  }
19045
19046  while_break: ;
19047#line 3023
19048  return;
19049}
19050}
19051#line 3026 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19052static void disconnect(struct AdapterCtlBlk *acb ) 
19053{ struct DeviceCtlBlk *dcb ;
19054  struct ScsiReqBlk *srb ;
19055  u8 tmp___7 ;
19056  u8 bval ;
19057  unsigned char tmp___8 ;
19058  struct Scsi_Host *__cil_tmp7 ;
19059  u8 __cil_tmp8 ;
19060  int __cil_tmp9 ;
19061  int __cil_tmp10 ;
19062  unsigned long volatile   __cil_tmp11 ;
19063  unsigned long volatile   __cil_tmp12 ;
19064  unsigned long volatile   __cil_tmp13 ;
19065  unsigned long volatile   __cil_tmp14 ;
19066  char *__cil_tmp15 ;
19067  unsigned long __cil_tmp16 ;
19068  unsigned long __cil_tmp17 ;
19069  int __cil_tmp18 ;
19070  void *__cil_tmp19 ;
19071  char *__cil_tmp20 ;
19072  unsigned long __cil_tmp21 ;
19073  unsigned long __cil_tmp22 ;
19074  int __cil_tmp23 ;
19075  u16 __cil_tmp24 ;
19076  int __cil_tmp25 ;
19077  u8 __cil_tmp26 ;
19078  int __cil_tmp27 ;
19079  u8 __cil_tmp28 ;
19080  int __cil_tmp29 ;
19081  u16 __cil_tmp30 ;
19082  int __cil_tmp31 ;
19083  u8 __cil_tmp32 ;
19084  int __cil_tmp33 ;
19085  int __cil_tmp34 ;
19086  struct Scsi_Host *__cil_tmp35 ;
19087  unsigned long volatile   __cil_tmp36 ;
19088  unsigned long volatile   __cil_tmp37 ;
19089  unsigned long volatile   __cil_tmp38 ;
19090  unsigned long volatile   __cil_tmp39 ;
19091  u8 __cil_tmp40 ;
19092  struct scsi_cmnd *__cil_tmp41 ;
19093  u8 __cil_tmp42 ;
19094  u16 __cil_tmp43 ;
19095  int __cil_tmp44 ;
19096  u16 __cil_tmp45 ;
19097  int __cil_tmp46 ;
19098  int __cil_tmp47 ;
19099  u16 __cil_tmp48 ;
19100  int __cil_tmp49 ;
19101  u16 __cil_tmp50 ;
19102  int __cil_tmp51 ;
19103  struct scsi_cmnd *__cil_tmp52 ;
19104  u8 __cil_tmp53 ;
19105  int __cil_tmp54 ;
19106  int __cil_tmp55 ;
19107  int __cil_tmp56 ;
19108  u16 __cil_tmp57 ;
19109  int __cil_tmp58 ;
19110  unsigned long __cil_tmp59 ;
19111  unsigned long __cil_tmp60 ;
19112  int __cil_tmp61 ;
19113  int __cil_tmp62 ;
19114  u16 __cil_tmp63 ;
19115  int __cil_tmp64 ;
19116  void *__cil_tmp65 ;
19117
19118  {
19119#line 3028
19120  dcb = acb->active_dcb;
19121#line 3031
19122  if (! dcb) {
19123    {
19124#line 3032
19125    printk("<3>dc395x: disconnect: No such device\n");
19126#line 3033
19127    __const_udelay(2147500UL);
19128#line 3035
19129    __cil_tmp7 = acb->scsi_host;
19130#line 3035
19131    __cil_tmp8 = acb->eeprom.delay_time;
19132#line 3035
19133    __cil_tmp9 = (int )__cil_tmp8;
19134#line 3035
19135    __cil_tmp10 = 250 * __cil_tmp9;
19136#line 3035
19137    __cil_tmp11 = (unsigned long volatile   )__cil_tmp10;
19138#line 3035
19139    __cil_tmp12 = (unsigned long volatile   )125;
19140#line 3035
19141    __cil_tmp13 = jiffies + __cil_tmp12;
19142#line 3035
19143    __cil_tmp14 = __cil_tmp13 + __cil_tmp11;
19144#line 3035
19145    __cil_tmp7->last_reset = (unsigned long )__cil_tmp14;
19146#line 3038
19147    __cil_tmp15 = (char *)"disconnectEx";
19148#line 3038
19149    clear_fifo(acb, __cil_tmp15);
19150#line 3039
19151    __cil_tmp16 = acb->io_port_base;
19152#line 3039
19153    __cil_tmp17 = __cil_tmp16 + 128UL;
19154#line 3039
19155    __cil_tmp18 = (int )__cil_tmp17;
19156#line 3039
19157    outw((unsigned short)1, __cil_tmp18);
19158    }
19159#line 3040
19160    return;
19161  } else {
19162
19163  }
19164#line 3042
19165  srb = dcb->active_srb;
19166#line 3043
19167  __cil_tmp19 = (void *)0;
19168#line 3043
19169  acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp19;
19170  {
19171#line 3044
19172  while (1) {
19173    while_continue: /* CIL Label */ ;
19174
19175#line 3044
19176    goto while_break;
19177  }
19178  while_break___3: /* CIL Label */ ;
19179  }
19180
19181  while_break: 
19182  {
19183#line 3046
19184  srb->scsi_phase = (u8 )5;
19185#line 3047
19186  __cil_tmp20 = (char *)"disconnect";
19187#line 3047
19188  clear_fifo(acb, __cil_tmp20);
19189#line 3048
19190  __cil_tmp21 = acb->io_port_base;
19191#line 3048
19192  __cil_tmp22 = __cil_tmp21 + 128UL;
19193#line 3048
19194  __cil_tmp23 = (int )__cil_tmp22;
19195#line 3048
19196  outw((unsigned short)1, __cil_tmp23);
19197  }
19198  {
19199#line 3049
19200  __cil_tmp24 = srb->state;
19201#line 3049
19202  __cil_tmp25 = (int )__cil_tmp24;
19203#line 3049
19204  if (__cil_tmp25 & 32768) {
19205    {
19206#line 3050
19207    __cil_tmp26 = dcb->target_id;
19208#line 3050
19209    __cil_tmp27 = (int )__cil_tmp26;
19210#line 3050
19211    __cil_tmp28 = dcb->target_lun;
19212#line 3050
19213    __cil_tmp29 = (int )__cil_tmp28;
19214#line 3050
19215    printk("<3>dc395x: disconnect: Unexpected reselection <%02i-%i>\n", __cil_tmp27,
19216           __cil_tmp29);
19217#line 3053
19218    srb->state = (u16 )0;
19219#line 3054
19220    waiting_process_next(acb);
19221    }
19222  } else {
19223    {
19224#line 3055
19225    __cil_tmp30 = srb->state;
19226#line 3055
19227    __cil_tmp31 = (int )__cil_tmp30;
19228#line 3055
19229    if (__cil_tmp31 & 4096) {
19230      {
19231#line 3056
19232      __cil_tmp32 = dcb->flag;
19233#line 3056
19234      __cil_tmp33 = (int )__cil_tmp32;
19235#line 3056
19236      __cil_tmp34 = __cil_tmp33 & -2;
19237#line 3056
19238      dcb->flag = (u8 )__cil_tmp34;
19239#line 3057
19240      __cil_tmp35 = acb->scsi_host;
19241#line 3057
19242      __cil_tmp36 = (unsigned long volatile   )1;
19243#line 3057
19244      __cil_tmp37 = (unsigned long volatile   )125;
19245#line 3057
19246      __cil_tmp38 = jiffies + __cil_tmp37;
19247#line 3057
19248      __cil_tmp39 = __cil_tmp38 + __cil_tmp36;
19249#line 3057
19250      __cil_tmp35->last_reset = (unsigned long )__cil_tmp39;
19251#line 3058
19252      printk("<3>dc395x: disconnect: SRB_ABORT_SENT\n");
19253#line 3059
19254      __cil_tmp40 = (u8 )5;
19255#line 3059
19256      __cil_tmp41 = srb->cmd;
19257#line 3059
19258      __cil_tmp42 = (u8 )1;
19259#line 3059
19260      doing_srb_done(acb, __cil_tmp40, __cil_tmp41, __cil_tmp42);
19261#line 3060
19262      waiting_process_next(acb);
19263      }
19264    } else {
19265      {
19266#line 3062
19267      __cil_tmp43 = srb->state;
19268#line 3062
19269      __cil_tmp44 = (int )__cil_tmp43;
19270#line 3062
19271      if (__cil_tmp44 & 68) {
19272#line 3062
19273        goto _L___0;
19274      } else {
19275        {
19276#line 3062
19277        __cil_tmp45 = srb->state;
19278#line 3062
19279        __cil_tmp46 = (int )__cil_tmp45;
19280#line 3062
19281        __cil_tmp47 = __cil_tmp46 & 2176;
19282#line 3062
19283        if (! __cil_tmp47) {
19284          _L___0: 
19285          {
19286#line 3070
19287          __cil_tmp48 = srb->state;
19288#line 3070
19289          __cil_tmp49 = (int )__cil_tmp48;
19290#line 3070
19291          if (__cil_tmp49 != 64) {
19292            {
19293#line 3070
19294            __cil_tmp50 = srb->state;
19295#line 3070
19296            __cil_tmp51 = (int )__cil_tmp50;
19297#line 3070
19298            if (__cil_tmp51 != 4) {
19299              {
19300#line 3072
19301              srb->state = (u16 )2;
19302#line 3073
19303              __cil_tmp52 = srb->cmd;
19304#line 3073
19305              printk("<7>dc395x: disconnect: (0x%p) Unexpected\n", __cil_tmp52);
19306#line 3076
19307              srb->target_status = (u8 )255;
19308              }
19309#line 3077
19310              goto disc1;
19311            } else {
19312#line 3070
19313              goto _L;
19314            }
19315            }
19316          } else {
19317            _L: 
19318            {
19319#line 3080
19320            while (1) {
19321              while_continue___0: /* CIL Label */ ;
19322
19323#line 3080
19324              goto while_break___0;
19325            }
19326            while_break___4: /* CIL Label */ ;
19327            }
19328
19329            while_break___0: 
19330#line 3083
19331            tmp___7 = srb->retry_count;
19332#line 3083
19333            __cil_tmp53 = srb->retry_count;
19334#line 3083
19335            __cil_tmp54 = (int )__cil_tmp53;
19336#line 3083
19337            __cil_tmp55 = __cil_tmp54 + 1;
19338#line 3083
19339            srb->retry_count = (u8 )__cil_tmp55;
19340            {
19341#line 3083
19342            __cil_tmp56 = (int )tmp___7;
19343#line 3083
19344            if (__cil_tmp56 > 3) {
19345#line 3085
19346              srb->target_status = (u8 )255;
19347#line 3087
19348              goto disc1;
19349            } else
19350#line 3083
19351            if (acb->scan_devices) {
19352#line 3085
19353              srb->target_status = (u8 )255;
19354#line 3087
19355              goto disc1;
19356            } else {
19357
19358            }
19359            }
19360            {
19361#line 3089
19362            free_tag(dcb, srb);
19363#line 3090
19364            srb_going_to_waiting_move(dcb, srb);
19365            }
19366            {
19367#line 3091
19368            while (1) {
19369              while_continue___1: /* CIL Label */ ;
19370
19371#line 3091
19372              goto while_break___1;
19373            }
19374            while_break___5: /* CIL Label */ ;
19375            }
19376
19377            while_break___1: 
19378            {
19379#line 3094
19380            waiting_set_timer(acb, 12UL);
19381            }
19382          }
19383          }
19384        } else {
19385          {
19386#line 3096
19387          __cil_tmp57 = srb->state;
19388#line 3096
19389          __cil_tmp58 = (int )__cil_tmp57;
19390#line 3096
19391          if (__cil_tmp58 & 128) {
19392            {
19393#line 3097
19394            __cil_tmp59 = acb->io_port_base;
19395#line 3097
19396            __cil_tmp60 = __cil_tmp59 + 131UL;
19397#line 3097
19398            __cil_tmp61 = (int )__cil_tmp60;
19399#line 3097
19400            tmp___8 = inb(__cil_tmp61);
19401#line 3097
19402            bval = tmp___8;
19403            }
19404            {
19405#line 3101
19406            __cil_tmp62 = (int )bval;
19407#line 3101
19408            if (__cil_tmp62 & 64) {
19409              {
19410#line 3102
19411              while (1) {
19412                while_continue___2: /* CIL Label */ ;
19413
19414#line 3102
19415                goto while_break___2;
19416              }
19417              while_break___6: /* CIL Label */ ;
19418              }
19419
19420              while_break___2: ;
19421            } else {
19422              {
19423#line 3107
19424              waiting_process_next(acb);
19425              }
19426            }
19427            }
19428          } else {
19429            {
19430#line 3108
19431            __cil_tmp63 = srb->state;
19432#line 3108
19433            __cil_tmp64 = (int )__cil_tmp63;
19434#line 3108
19435            if (__cil_tmp64 & 2048) {
19436              disc1: 
19437              {
19438#line 3113
19439              free_tag(dcb, srb);
19440#line 3114
19441              __cil_tmp65 = (void *)0;
19442#line 3114
19443              dcb->active_srb = (struct ScsiReqBlk *)__cil_tmp65;
19444#line 3115
19445              srb->state = (u16 )0;
19446#line 3116
19447              srb_done(acb, dcb, srb);
19448              }
19449            } else {
19450
19451            }
19452            }
19453          }
19454          }
19455        }
19456        }
19457      }
19458      }
19459    }
19460    }
19461  }
19462  }
19463#line 3119
19464  return;
19465}
19466}
19467#line 3122 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19468static void reselect(struct AdapterCtlBlk *acb ) 
19469{ struct DeviceCtlBlk *dcb ;
19470  struct ScsiReqBlk *srb ;
19471  u16 rsel_tar_lun_id ;
19472  u8 id ;
19473  u8 lun ;
19474  u8 arblostflag ;
19475  unsigned short tmp___7 ;
19476  void *__cil_tmp9 ;
19477  char *__cil_tmp10 ;
19478  unsigned long __cil_tmp11 ;
19479  unsigned long __cil_tmp12 ;
19480  int __cil_tmp13 ;
19481  unsigned long __cil_tmp14 ;
19482  unsigned long __cil_tmp15 ;
19483  int __cil_tmp16 ;
19484  u8 __cil_tmp17 ;
19485  int __cil_tmp18 ;
19486  int __cil_tmp19 ;
19487  int __cil_tmp20 ;
19488  int __cil_tmp21 ;
19489  int __cil_tmp22 ;
19490  int __cil_tmp23 ;
19491  int __cil_tmp24 ;
19492  int __cil_tmp25 ;
19493  int __cil_tmp26 ;
19494  int __cil_tmp27 ;
19495  int __cil_tmp28 ;
19496  unsigned long __cil_tmp29 ;
19497  unsigned long __cil_tmp30 ;
19498  int __cil_tmp31 ;
19499  u8 __cil_tmp32 ;
19500  int __cil_tmp33 ;
19501  int __cil_tmp34 ;
19502  u8 __cil_tmp35 ;
19503  int __cil_tmp36 ;
19504  u8 __cil_tmp37 ;
19505  int __cil_tmp38 ;
19506  u8 __cil_tmp39 ;
19507  int __cil_tmp40 ;
19508  u8 __cil_tmp41 ;
19509  int __cil_tmp42 ;
19510  u8 __cil_tmp43 ;
19511  int __cil_tmp44 ;
19512  u16 __cil_tmp45 ;
19513  int __cil_tmp46 ;
19514  int __cil_tmp47 ;
19515  u8 __cil_tmp48 ;
19516  int __cil_tmp49 ;
19517  u8 __cil_tmp50 ;
19518  int __cil_tmp51 ;
19519  u8 __cil_tmp52 ;
19520  int __cil_tmp53 ;
19521  struct Scsi_Host *__cil_tmp54 ;
19522  int __cil_tmp55 ;
19523  unsigned char __cil_tmp56 ;
19524  unsigned long __cil_tmp57 ;
19525  unsigned long __cil_tmp58 ;
19526  int __cil_tmp59 ;
19527  u8 __cil_tmp60 ;
19528  unsigned long __cil_tmp61 ;
19529  unsigned long __cil_tmp62 ;
19530  int __cil_tmp63 ;
19531  u8 __cil_tmp64 ;
19532  unsigned long __cil_tmp65 ;
19533  unsigned long __cil_tmp66 ;
19534  int __cil_tmp67 ;
19535  u8 __cil_tmp68 ;
19536  unsigned long __cil_tmp69 ;
19537  unsigned long __cil_tmp70 ;
19538  int __cil_tmp71 ;
19539  unsigned long __cil_tmp72 ;
19540  unsigned long __cil_tmp73 ;
19541  int __cil_tmp74 ;
19542  unsigned long __cil_tmp75 ;
19543  unsigned long __cil_tmp76 ;
19544  int __cil_tmp77 ;
19545
19546  {
19547#line 3124
19548  dcb = acb->active_dcb;
19549#line 3125
19550  __cil_tmp9 = (void *)0;
19551#line 3125
19552  srb = (struct ScsiReqBlk *)__cil_tmp9;
19553#line 3128
19554  arblostflag = (u8 )0;
19555  {
19556#line 3129
19557  while (1) {
19558    while_continue: /* CIL Label */ ;
19559
19560#line 3129
19561    goto while_break;
19562  }
19563  while_break___2: /* CIL Label */ ;
19564  }
19565
19566  while_break: 
19567  {
19568#line 3131
19569  __cil_tmp10 = (char *)"reselect";
19570#line 3131
19571  clear_fifo(acb, __cil_tmp10);
19572#line 3134
19573  __cil_tmp11 = acb->io_port_base;
19574#line 3134
19575  __cil_tmp12 = __cil_tmp11 + 134UL;
19576#line 3134
19577  __cil_tmp13 = (int )__cil_tmp12;
19578#line 3134
19579  tmp___7 = inw(__cil_tmp13);
19580#line 3134
19581  rsel_tar_lun_id = tmp___7;
19582  }
19583#line 3135
19584  if (dcb) {
19585#line 3136
19586    srb = dcb->active_srb;
19587#line 3137
19588    if (! srb) {
19589      {
19590#line 3138
19591      printk("<7>dc395x: reselect: Arb lost Resel won, but active_srb == NULL\n");
19592#line 3140
19593      __cil_tmp14 = acb->io_port_base;
19594#line 3140
19595      __cil_tmp15 = __cil_tmp14 + 128UL;
19596#line 3140
19597      __cil_tmp16 = (int )__cil_tmp15;
19598#line 3140
19599      outw((unsigned short)2, __cil_tmp16);
19600      }
19601#line 3141
19602      return;
19603    } else {
19604
19605    }
19606    {
19607#line 3144
19608    __cil_tmp17 = acb->scan_devices;
19609#line 3144
19610    if (! __cil_tmp17) {
19611      {
19612#line 3145
19613      while (1) {
19614        while_continue___0: /* CIL Label */ ;
19615
19616#line 3145
19617        goto while_break___0;
19618      }
19619      while_break___3: /* CIL Label */ ;
19620      }
19621
19622      while_break___0: 
19623      {
19624#line 3150
19625      arblostflag = (u8 )1;
19626#line 3153
19627      srb->state = (u16 )2;
19628#line 3154
19629      free_tag(dcb, srb);
19630#line 3155
19631      srb_going_to_waiting_move(dcb, srb);
19632#line 3156
19633      waiting_set_timer(acb, 12UL);
19634      }
19635    } else {
19636
19637    }
19638    }
19639  } else {
19640
19641  }
19642  {
19643#line 3162
19644  __cil_tmp18 = 128 << 8;
19645#line 3162
19646  __cil_tmp19 = (int )rsel_tar_lun_id;
19647#line 3162
19648  __cil_tmp20 = __cil_tmp19 & __cil_tmp18;
19649#line 3162
19650  if (! __cil_tmp20) {
19651    {
19652#line 3163
19653    __cil_tmp21 = (int )rsel_tar_lun_id;
19654#line 3163
19655    printk("<7>dc395x: reselect: Expects identify msg. Got %i!\n", __cil_tmp21);
19656    }
19657  } else {
19658
19659  }
19660  }
19661  {
19662#line 3165
19663  __cil_tmp22 = (int )rsel_tar_lun_id;
19664#line 3165
19665  __cil_tmp23 = __cil_tmp22 & 255;
19666#line 3165
19667  id = (u8 )__cil_tmp23;
19668#line 3166
19669  __cil_tmp24 = (int )rsel_tar_lun_id;
19670#line 3166
19671  __cil_tmp25 = __cil_tmp24 >> 8;
19672#line 3166
19673  __cil_tmp26 = __cil_tmp25 & 7;
19674#line 3166
19675  lun = (u8 )__cil_tmp26;
19676#line 3167
19677  dcb = find_dcb(acb, id, lun);
19678  }
19679#line 3168
19680  if (! dcb) {
19681    {
19682#line 3169
19683    __cil_tmp27 = (int )id;
19684#line 3169
19685    __cil_tmp28 = (int )lun;
19686#line 3169
19687    printk("<3>dc395x: reselect: From non existent device <%02i-%i>\n", __cil_tmp27,
19688           __cil_tmp28);
19689#line 3171
19690    __cil_tmp29 = acb->io_port_base;
19691#line 3171
19692    __cil_tmp30 = __cil_tmp29 + 128UL;
19693#line 3171
19694    __cil_tmp31 = (int )__cil_tmp30;
19695#line 3171
19696    outw((unsigned short)2, __cil_tmp31);
19697    }
19698#line 3172
19699    return;
19700  } else {
19701
19702  }
19703#line 3174
19704  acb->active_dcb = dcb;
19705  {
19706#line 3176
19707  __cil_tmp32 = dcb->dev_mode;
19708#line 3176
19709  __cil_tmp33 = (int )__cil_tmp32;
19710#line 3176
19711  __cil_tmp34 = __cil_tmp33 & 4;
19712#line 3176
19713  if (! __cil_tmp34) {
19714    {
19715#line 3177
19716    __cil_tmp35 = dcb->target_id;
19717#line 3177
19718    __cil_tmp36 = (int )__cil_tmp35;
19719#line 3177
19720    __cil_tmp37 = dcb->target_lun;
19721#line 3177
19722    __cil_tmp38 = (int )__cil_tmp37;
19723#line 3177
19724    printk("<7>dc395x: reselect: in spite of forbidden disconnection? <%02i-%i>\n",
19725           __cil_tmp36, __cil_tmp38);
19726    }
19727  } else {
19728
19729  }
19730  }
19731  {
19732#line 3181
19733  __cil_tmp39 = dcb->sync_mode;
19734#line 3181
19735  __cil_tmp40 = (int )__cil_tmp39;
19736#line 3181
19737  if (__cil_tmp40 & 32) {
19738#line 3182
19739    srb = acb->tmp_srb;
19740#line 3183
19741    dcb->active_srb = srb;
19742  } else {
19743#line 3186
19744    srb = dcb->active_srb;
19745#line 3187
19746    if (! srb) {
19747      {
19748#line 3191
19749      __cil_tmp41 = dcb->target_id;
19750#line 3191
19751      __cil_tmp42 = (int )__cil_tmp41;
19752#line 3191
19753      __cil_tmp43 = dcb->target_lun;
19754#line 3191
19755      __cil_tmp44 = (int )__cil_tmp43;
19756#line 3191
19757      printk("<7>dc395x: reselect: w/o disconnected cmds <%02i-%i>\n", __cil_tmp42,
19758             __cil_tmp44);
19759#line 3194
19760      srb = acb->tmp_srb;
19761#line 3195
19762      srb->state = (u16 )32768;
19763#line 3196
19764      dcb->active_srb = srb;
19765#line 3197
19766      enable_msgout_abort(acb, srb);
19767      }
19768    } else {
19769      {
19770#line 3187
19771      __cil_tmp45 = srb->state;
19772#line 3187
19773      __cil_tmp46 = (int )__cil_tmp45;
19774#line 3187
19775      __cil_tmp47 = __cil_tmp46 & 128;
19776#line 3187
19777      if (! __cil_tmp47) {
19778        {
19779#line 3191
19780        __cil_tmp48 = dcb->target_id;
19781#line 3191
19782        __cil_tmp49 = (int )__cil_tmp48;
19783#line 3191
19784        __cil_tmp50 = dcb->target_lun;
19785#line 3191
19786        __cil_tmp51 = (int )__cil_tmp50;
19787#line 3191
19788        printk("<7>dc395x: reselect: w/o disconnected cmds <%02i-%i>\n", __cil_tmp49,
19789               __cil_tmp51);
19790#line 3194
19791        srb = acb->tmp_srb;
19792#line 3195
19793        srb->state = (u16 )32768;
19794#line 3196
19795        dcb->active_srb = srb;
19796#line 3197
19797        enable_msgout_abort(acb, srb);
19798        }
19799      } else {
19800        {
19801#line 3199
19802        __cil_tmp52 = dcb->flag;
19803#line 3199
19804        __cil_tmp53 = (int )__cil_tmp52;
19805#line 3199
19806        if (__cil_tmp53 & 1) {
19807          {
19808#line 3201
19809          enable_msgout_abort(acb, srb);
19810          }
19811        } else {
19812#line 3203
19813          srb->state = (u16 )256;
19814        }
19815        }
19816      }
19817      }
19818    }
19819  }
19820  }
19821#line 3207
19822  srb->scsi_phase = (u8 )5;
19823  {
19824#line 3210
19825  while (1) {
19826    while_continue___1: /* CIL Label */ ;
19827
19828#line 3210
19829    goto while_break___1;
19830  }
19831  while_break___4: /* CIL Label */ ;
19832  }
19833
19834  while_break___1: 
19835  {
19836#line 3211
19837  __cil_tmp54 = acb->scsi_host;
19838#line 3211
19839  __cil_tmp55 = __cil_tmp54->this_id;
19840#line 3211
19841  __cil_tmp56 = (unsigned char )__cil_tmp55;
19842#line 3211
19843  __cil_tmp57 = acb->io_port_base;
19844#line 3211
19845  __cil_tmp58 = __cil_tmp57 + 135UL;
19846#line 3211
19847  __cil_tmp59 = (int )__cil_tmp58;
19848#line 3211
19849  outb(__cil_tmp56, __cil_tmp59);
19850#line 3212
19851  __cil_tmp60 = dcb->target_id;
19852#line 3212
19853  __cil_tmp61 = acb->io_port_base;
19854#line 3212
19855  __cil_tmp62 = __cil_tmp61 + 134UL;
19856#line 3212
19857  __cil_tmp63 = (int )__cil_tmp62;
19858#line 3212
19859  outb(__cil_tmp60, __cil_tmp63);
19860#line 3213
19861  __cil_tmp64 = dcb->sync_offset;
19862#line 3213
19863  __cil_tmp65 = acb->io_port_base;
19864#line 3213
19865  __cil_tmp66 = __cil_tmp65 + 132UL;
19866#line 3213
19867  __cil_tmp67 = (int )__cil_tmp66;
19868#line 3213
19869  outb(__cil_tmp64, __cil_tmp67);
19870#line 3214
19871  __cil_tmp68 = dcb->sync_period;
19872#line 3214
19873  __cil_tmp69 = acb->io_port_base;
19874#line 3214
19875  __cil_tmp70 = __cil_tmp69 + 133UL;
19876#line 3214
19877  __cil_tmp71 = (int )__cil_tmp70;
19878#line 3214
19879  outb(__cil_tmp68, __cil_tmp71);
19880#line 3215
19881  __cil_tmp72 = acb->io_port_base;
19882#line 3215
19883  __cil_tmp73 = __cil_tmp72 + 128UL;
19884#line 3215
19885  __cil_tmp74 = (int )__cil_tmp73;
19886#line 3215
19887  outw((unsigned short)2, __cil_tmp74);
19888#line 3217
19889  __cil_tmp75 = acb->io_port_base;
19890#line 3217
19891  __cil_tmp76 = __cil_tmp75 + 144UL;
19892#line 3217
19893  __cil_tmp77 = (int )__cil_tmp76;
19894#line 3217
19895  outb((unsigned char)216, __cil_tmp77);
19896  }
19897#line 3218
19898  return;
19899}
19900}
19901#line 3221 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19902__inline static u8 tagq_blacklist(char *name ) 
19903{ 
19904
19905  {
19906#line 3230
19907  return ((u8 )0);
19908}
19909}
19910#line 3237 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19911static void disc_tagq_set(struct DeviceCtlBlk *dcb , struct ScsiInqData *ptr ) 
19912{ u8 tmp___7 ;
19913  u8 __cil_tmp4 ;
19914  int __cil_tmp5 ;
19915  int __cil_tmp6 ;
19916  u8 __cil_tmp7 ;
19917  int __cil_tmp8 ;
19918  int __cil_tmp9 ;
19919  u8 __cil_tmp10 ;
19920  int __cil_tmp11 ;
19921  u8 __cil_tmp12 ;
19922  int __cil_tmp13 ;
19923  char *__cil_tmp14 ;
19924  char *__cil_tmp15 ;
19925  u16 __cil_tmp16 ;
19926  int __cil_tmp17 ;
19927  struct AdapterCtlBlk *__cil_tmp18 ;
19928  u8 __cil_tmp19 ;
19929  u8 __cil_tmp20 ;
19930  int __cil_tmp21 ;
19931  int __cil_tmp22 ;
19932
19933  {
19934  {
19935#line 3240
19936  __cil_tmp4 = ptr->Vers;
19937#line 3240
19938  __cil_tmp5 = (int )__cil_tmp4;
19939#line 3240
19940  __cil_tmp6 = __cil_tmp5 & 7;
19941#line 3240
19942  if (__cil_tmp6 >= 2) {
19943#line 3240
19944    goto _L;
19945  } else {
19946    {
19947#line 3240
19948    __cil_tmp7 = ptr->RDF;
19949#line 3240
19950    __cil_tmp8 = (int )__cil_tmp7;
19951#line 3240
19952    __cil_tmp9 = __cil_tmp8 & 15;
19953#line 3240
19954    if (__cil_tmp9 == 2) {
19955      _L: 
19956      {
19957#line 3241
19958      __cil_tmp10 = ptr->Flags;
19959#line 3241
19960      __cil_tmp11 = (int )__cil_tmp10;
19961#line 3241
19962      if (__cil_tmp11 & 2) {
19963        {
19964#line 3241
19965        __cil_tmp12 = dcb->dev_mode;
19966#line 3241
19967        __cil_tmp13 = (int )__cil_tmp12;
19968#line 3241
19969        if (__cil_tmp13 & 16) {
19970          {
19971#line 3241
19972          __cil_tmp14 = (char *)ptr;
19973#line 3241
19974          __cil_tmp15 = __cil_tmp14 + 8;
19975#line 3241
19976          tmp___7 = tagq_blacklist(__cil_tmp15);
19977          }
19978#line 3241
19979          if (tmp___7) {
19980#line 3253
19981            dcb->max_command = (u16 )1;
19982          } else {
19983            {
19984#line 3247
19985            __cil_tmp16 = dcb->max_command;
19986#line 3247
19987            __cil_tmp17 = (int )__cil_tmp16;
19988#line 3247
19989            if (__cil_tmp17 == 1) {
19990#line 3248
19991              __cil_tmp18 = dcb->acb;
19992#line 3248
19993              __cil_tmp19 = __cil_tmp18->tag_max_num;
19994#line 3248
19995              dcb->max_command = (u16 )__cil_tmp19;
19996            } else {
19997
19998            }
19999            }
20000#line 3250
20001            __cil_tmp20 = dcb->sync_mode;
20002#line 3250
20003            __cil_tmp21 = (int )__cil_tmp20;
20004#line 3250
20005            __cil_tmp22 = __cil_tmp21 | 32;
20006#line 3250
20007            dcb->sync_mode = (u8 )__cil_tmp22;
20008          }
20009        } else {
20010#line 3253
20011          dcb->max_command = (u16 )1;
20012        }
20013        }
20014      } else {
20015#line 3253
20016        dcb->max_command = (u16 )1;
20017      }
20018      }
20019    } else {
20020
20021    }
20022    }
20023  }
20024  }
20025#line 3255
20026  return;
20027}
20028}
20029#line 3258 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20030static void add_dev(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiInqData *ptr ) 
20031{ u8 bval1 ;
20032  u8 __cil_tmp5 ;
20033  int __cil_tmp6 ;
20034  int __cil_tmp7 ;
20035
20036  {
20037  {
20038#line 3261
20039  __cil_tmp5 = ptr->DevType;
20040#line 3261
20041  __cil_tmp6 = (int )__cil_tmp5;
20042#line 3261
20043  __cil_tmp7 = __cil_tmp6 & 31;
20044#line 3261
20045  bval1 = (u8 )__cil_tmp7;
20046#line 3262
20047  dcb->dev_type = bval1;
20048#line 3264
20049  disc_tagq_set(dcb, ptr);
20050  }
20051#line 3265
20052  return;
20053}
20054}
20055#line 3269 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20056static void pci_unmap_srb(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
20057{ struct scsi_cmnd *cmd ;
20058  enum dma_data_direction dir ;
20059  unsigned int tmp___7 ;
20060  unsigned int __cil_tmp6 ;
20061  struct pci_dev *__cil_tmp7 ;
20062  dma_addr_t __cil_tmp8 ;
20063  unsigned long __cil_tmp9 ;
20064
20065  {
20066  {
20067#line 3271
20068  cmd = srb->cmd;
20069#line 3272
20070  dir = cmd->sc_data_direction;
20071#line 3274
20072  tmp___7 = scsi_sg_count(cmd);
20073  }
20074#line 3274
20075  if (tmp___7) {
20076    {
20077#line 3274
20078    __cil_tmp6 = (unsigned int )dir;
20079#line 3274
20080    if (__cil_tmp6 != 3U) {
20081      {
20082#line 3276
20083      while (1) {
20084        while_continue: /* CIL Label */ ;
20085
20086#line 3276
20087        goto while_break;
20088      }
20089      while_break___1: /* CIL Label */ ;
20090      }
20091
20092      while_break: 
20093      {
20094#line 3278
20095      __cil_tmp7 = acb->dev;
20096#line 3278
20097      __cil_tmp8 = srb->sg_bus_addr;
20098#line 3278
20099      __cil_tmp9 = 8UL * 64UL;
20100#line 3278
20101      pci_unmap_single(__cil_tmp7, __cil_tmp8, __cil_tmp9, 1);
20102      }
20103      {
20104#line 3281
20105      while (1) {
20106        while_continue___0: /* CIL Label */ ;
20107
20108#line 3281
20109        goto while_break___0;
20110      }
20111      while_break___2: /* CIL Label */ ;
20112      }
20113
20114      while_break___0: 
20115      {
20116#line 3284
20117      scsi_dma_unmap(cmd);
20118      }
20119    } else {
20120
20121    }
20122    }
20123  } else {
20124
20125  }
20126#line 3286
20127  return;
20128}
20129}
20130#line 3290 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20131static void pci_unmap_srb_sense(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) 
20132{ u8 __cil_tmp3 ;
20133  int __cil_tmp4 ;
20134  int __cil_tmp5 ;
20135  struct pci_dev *__cil_tmp6 ;
20136  struct SGentry *__cil_tmp7 ;
20137  struct SGentry *__cil_tmp8 ;
20138  u32 __cil_tmp9 ;
20139  dma_addr_t __cil_tmp10 ;
20140  struct SGentry *__cil_tmp11 ;
20141  struct SGentry *__cil_tmp12 ;
20142  u32 __cil_tmp13 ;
20143  size_t __cil_tmp14 ;
20144  struct SGentry *__cil_tmp15 ;
20145  struct SGentry *__cil_tmp16 ;
20146  struct SGentry *__cil_tmp17 ;
20147  struct SGentry *__cil_tmp18 ;
20148  struct SGentry *__cil_tmp19 ;
20149  struct SGentry *__cil_tmp20 ;
20150  struct SGentry *__cil_tmp21 ;
20151  struct SGentry *__cil_tmp22 ;
20152
20153  {
20154  {
20155#line 3293
20156  __cil_tmp3 = srb->flag;
20157#line 3293
20158  __cil_tmp4 = (int )__cil_tmp3;
20159#line 3293
20160  __cil_tmp5 = __cil_tmp4 & 1;
20161#line 3293
20162  if (! __cil_tmp5) {
20163#line 3294
20164    return;
20165  } else {
20166
20167  }
20168  }
20169  {
20170#line 3296
20171  while (1) {
20172    while_continue: /* CIL Label */ ;
20173
20174#line 3296
20175    goto while_break;
20176  }
20177  while_break___0: /* CIL Label */ ;
20178  }
20179
20180  while_break: 
20181  {
20182#line 3298
20183  __cil_tmp6 = acb->dev;
20184#line 3298
20185  __cil_tmp7 = srb->segment_x;
20186#line 3298
20187  __cil_tmp8 = __cil_tmp7 + 0;
20188#line 3298
20189  __cil_tmp9 = __cil_tmp8->address;
20190#line 3298
20191  __cil_tmp10 = (dma_addr_t )__cil_tmp9;
20192#line 3298
20193  __cil_tmp11 = srb->segment_x;
20194#line 3298
20195  __cil_tmp12 = __cil_tmp11 + 0;
20196#line 3298
20197  __cil_tmp13 = __cil_tmp12->length;
20198#line 3298
20199  __cil_tmp14 = (size_t )__cil_tmp13;
20200#line 3298
20201  pci_unmap_single(__cil_tmp6, __cil_tmp10, __cil_tmp14, 2);
20202#line 3301
20203  srb->total_xfer_length = srb->xferred;
20204#line 3302
20205  __cil_tmp15 = srb->segment_x;
20206#line 3302
20207  __cil_tmp16 = __cil_tmp15 + 0;
20208#line 3302
20209  __cil_tmp17 = srb->segment_x;
20210#line 3302
20211  __cil_tmp18 = __cil_tmp17 + 63;
20212#line 3302
20213  __cil_tmp16->address = __cil_tmp18->address;
20214#line 3304
20215  __cil_tmp19 = srb->segment_x;
20216#line 3304
20217  __cil_tmp20 = __cil_tmp19 + 0;
20218#line 3304
20219  __cil_tmp21 = srb->segment_x;
20220#line 3304
20221  __cil_tmp22 = __cil_tmp21 + 63;
20222#line 3304
20223  __cil_tmp20->length = __cil_tmp22->length;
20224  }
20225#line 3306
20226  return;
20227}
20228}
20229#line 3313 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20230static void srb_done(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
20231{ u8 tempcnt ;
20232  u8 status ;
20233  struct scsi_cmnd *cmd ;
20234  enum dma_data_direction dir ;
20235  int ckc_only ;
20236  unsigned int tmp___7 ;
20237  unsigned int tmp___8 ;
20238  struct scatterlist *tmp___9 ;
20239  unsigned int tmp___10 ;
20240  unsigned char *base ;
20241  struct ScsiInqData *ptr ;
20242  unsigned long flags ;
20243  struct scatterlist *sg ;
20244  struct scatterlist *tmp___11 ;
20245  size_t offset ;
20246  size_t len ;
20247  unsigned int tmp___12 ;
20248  void *tmp___13 ;
20249  unsigned int tmp___14 ;
20250  int tmp___15 ;
20251  u8 __cil_tmp24 ;
20252  int __cil_tmp25 ;
20253  u8 __cil_tmp26 ;
20254  int __cil_tmp27 ;
20255  int __cil_tmp28 ;
20256  int __cil_tmp29 ;
20257  unsigned char *__cil_tmp30 ;
20258  unsigned char *__cil_tmp31 ;
20259  unsigned char __cil_tmp32 ;
20260  int __cil_tmp33 ;
20261  int __cil_tmp34 ;
20262  unsigned char *__cil_tmp35 ;
20263  unsigned char *__cil_tmp36 ;
20264  unsigned char __cil_tmp37 ;
20265  int __cil_tmp38 ;
20266  int __cil_tmp39 ;
20267  unsigned char *__cil_tmp40 ;
20268  unsigned char *__cil_tmp41 ;
20269  unsigned char __cil_tmp42 ;
20270  int __cil_tmp43 ;
20271  int __cil_tmp44 ;
20272  unsigned char *__cil_tmp45 ;
20273  unsigned char *__cil_tmp46 ;
20274  unsigned char __cil_tmp47 ;
20275  int __cil_tmp48 ;
20276  int __cil_tmp49 ;
20277  unsigned char *__cil_tmp50 ;
20278  unsigned char *__cil_tmp51 ;
20279  unsigned char __cil_tmp52 ;
20280  int __cil_tmp53 ;
20281  int __cil_tmp54 ;
20282  unsigned char *__cil_tmp55 ;
20283  unsigned char *__cil_tmp56 ;
20284  unsigned char __cil_tmp57 ;
20285  int __cil_tmp58 ;
20286  u8 __cil_tmp59 ;
20287  int __cil_tmp60 ;
20288  u8 __cil_tmp61 ;
20289  int __cil_tmp62 ;
20290  int __cil_tmp63 ;
20291  u8 __cil_tmp64 ;
20292  int __cil_tmp65 ;
20293  unsigned char *__cil_tmp66 ;
20294  unsigned char *__cil_tmp67 ;
20295  unsigned char __cil_tmp68 ;
20296  int __cil_tmp69 ;
20297  u8 __cil_tmp70 ;
20298  int __cil_tmp71 ;
20299  u8 __cil_tmp72 ;
20300  int __cil_tmp73 ;
20301  int __cil_tmp74 ;
20302  u8 __cil_tmp75 ;
20303  int __cil_tmp76 ;
20304  unsigned char *__cil_tmp77 ;
20305  unsigned char *__cil_tmp78 ;
20306  unsigned char __cil_tmp79 ;
20307  int __cil_tmp80 ;
20308  u8 __cil_tmp81 ;
20309  int __cil_tmp82 ;
20310  u8 __cil_tmp83 ;
20311  int __cil_tmp84 ;
20312  int __cil_tmp85 ;
20313  u8 __cil_tmp86 ;
20314  int __cil_tmp87 ;
20315  unsigned char *__cil_tmp88 ;
20316  unsigned char *__cil_tmp89 ;
20317  unsigned char __cil_tmp90 ;
20318  int __cil_tmp91 ;
20319  u8 __cil_tmp92 ;
20320  int __cil_tmp93 ;
20321  u8 __cil_tmp94 ;
20322  int __cil_tmp95 ;
20323  int __cil_tmp96 ;
20324  u8 __cil_tmp97 ;
20325  int __cil_tmp98 ;
20326  unsigned char *__cil_tmp99 ;
20327  unsigned char *__cil_tmp100 ;
20328  unsigned char __cil_tmp101 ;
20329  int __cil_tmp102 ;
20330  u8 __cil_tmp103 ;
20331  int __cil_tmp104 ;
20332  u8 __cil_tmp105 ;
20333  int __cil_tmp106 ;
20334  int __cil_tmp107 ;
20335  u8 __cil_tmp108 ;
20336  int __cil_tmp109 ;
20337  unsigned char *__cil_tmp110 ;
20338  unsigned char *__cil_tmp111 ;
20339  unsigned char __cil_tmp112 ;
20340  int __cil_tmp113 ;
20341  unsigned char *__cil_tmp114 ;
20342  unsigned char *__cil_tmp115 ;
20343  unsigned char __cil_tmp116 ;
20344  int __cil_tmp117 ;
20345  unsigned char *__cil_tmp118 ;
20346  unsigned char *__cil_tmp119 ;
20347  unsigned char __cil_tmp120 ;
20348  int __cil_tmp121 ;
20349  unsigned char *__cil_tmp122 ;
20350  unsigned char *__cil_tmp123 ;
20351  unsigned char __cil_tmp124 ;
20352  int __cil_tmp125 ;
20353  unsigned char *__cil_tmp126 ;
20354  unsigned char *__cil_tmp127 ;
20355  unsigned int *__cil_tmp128 ;
20356  unsigned int __cil_tmp129 ;
20357  unsigned char *__cil_tmp130 ;
20358  unsigned char *__cil_tmp131 ;
20359  unsigned int *__cil_tmp132 ;
20360  unsigned int __cil_tmp133 ;
20361  unsigned char *__cil_tmp134 ;
20362  unsigned char *__cil_tmp135 ;
20363  unsigned char __cil_tmp136 ;
20364  int __cil_tmp137 ;
20365  unsigned char *__cil_tmp138 ;
20366  unsigned char *__cil_tmp139 ;
20367  unsigned int *__cil_tmp140 ;
20368  unsigned int __cil_tmp141 ;
20369  int __cil_tmp142 ;
20370  int __cil_tmp143 ;
20371  unsigned int __cil_tmp144 ;
20372  size_t __cil_tmp145 ;
20373  size_t __cil_tmp146 ;
20374  int __cil_tmp147 ;
20375  u8 __cil_tmp148 ;
20376  int __cil_tmp149 ;
20377  int __cil_tmp150 ;
20378  int __cil_tmp151 ;
20379  int __cil_tmp152 ;
20380  int __cil_tmp153 ;
20381  u8 __cil_tmp154 ;
20382  int __cil_tmp155 ;
20383  int __cil_tmp156 ;
20384  int __cil_tmp157 ;
20385  int __cil_tmp158 ;
20386  int __cil_tmp159 ;
20387  u8 __cil_tmp160 ;
20388  int __cil_tmp161 ;
20389  int __cil_tmp162 ;
20390  int __cil_tmp163 ;
20391  int __cil_tmp164 ;
20392  int __cil_tmp165 ;
20393  int __cil_tmp166 ;
20394  int __cil_tmp167 ;
20395  int __cil_tmp168 ;
20396  int __cil_tmp169 ;
20397  int __cil_tmp170 ;
20398  struct list_head *__cil_tmp171 ;
20399  u8 __cil_tmp172 ;
20400  int __cil_tmp173 ;
20401  u8 __cil_tmp174 ;
20402  int __cil_tmp175 ;
20403  int __cil_tmp176 ;
20404  int __cil_tmp177 ;
20405  int __cil_tmp178 ;
20406  int __cil_tmp179 ;
20407  int __cil_tmp180 ;
20408  int __cil_tmp181 ;
20409  int __cil_tmp182 ;
20410  int __cil_tmp183 ;
20411  int __cil_tmp184 ;
20412  u8 __cil_tmp185 ;
20413  int __cil_tmp186 ;
20414  int __cil_tmp187 ;
20415  int __cil_tmp188 ;
20416  int __cil_tmp189 ;
20417  int __cil_tmp190 ;
20418  int __cil_tmp191 ;
20419  int __cil_tmp192 ;
20420  int __cil_tmp193 ;
20421  int __cil_tmp194 ;
20422  u8 __cil_tmp195 ;
20423  int __cil_tmp196 ;
20424  int __cil_tmp197 ;
20425  int __cil_tmp198 ;
20426  u8 __cil_tmp199 ;
20427  int __cil_tmp200 ;
20428  int __cil_tmp201 ;
20429  int __cil_tmp202 ;
20430  int __cil_tmp203 ;
20431  int __cil_tmp204 ;
20432  u8 __cil_tmp205 ;
20433  int __cil_tmp206 ;
20434  int __cil_tmp207 ;
20435  int __cil_tmp208 ;
20436  int __cil_tmp209 ;
20437  unsigned int __cil_tmp210 ;
20438  struct pci_dev *__cil_tmp211 ;
20439  int __cil_tmp212 ;
20440  int __cil_tmp213 ;
20441  unsigned char *__cil_tmp214 ;
20442  unsigned char *__cil_tmp215 ;
20443  unsigned char __cil_tmp216 ;
20444  int __cil_tmp217 ;
20445  void *__cil_tmp218 ;
20446  int __cil_tmp219 ;
20447  unsigned char *__cil_tmp220 ;
20448  int __cil_tmp221 ;
20449  int __cil_tmp222 ;
20450  unsigned char *__cil_tmp223 ;
20451  unsigned char *__cil_tmp224 ;
20452  unsigned char __cil_tmp225 ;
20453  int __cil_tmp226 ;
20454  unsigned int __cil_tmp227 ;
20455  u8 __cil_tmp228 ;
20456  int __cil_tmp229 ;
20457  int __cil_tmp230 ;
20458  int __cil_tmp231 ;
20459  int __cil_tmp232 ;
20460  int __cil_tmp233 ;
20461  int __cil_tmp234 ;
20462  u8 __cil_tmp235 ;
20463  void *__cil_tmp236 ;
20464  size_t __cil_tmp237 ;
20465  int __cil_tmp238 ;
20466  size_t __cil_tmp239 ;
20467  struct ScsiReqBlk *__cil_tmp240 ;
20468  unsigned long __cil_tmp241 ;
20469  unsigned long __cil_tmp242 ;
20470  void (*__cil_tmp243)(struct scsi_cmnd * ) ;
20471
20472  {
20473#line 3317
20474  cmd = srb->cmd;
20475#line 3318
20476  dir = cmd->sc_data_direction;
20477#line 3319
20478  ckc_only = 1;
20479  {
20480#line 3321
20481  while (1) {
20482    while_continue: /* CIL Label */ ;
20483
20484#line 3321
20485    goto while_break;
20486  }
20487  while_break___9: /* CIL Label */ ;
20488  }
20489
20490  while_break: ;
20491  {
20492#line 3323
20493  while (1) {
20494    while_continue___0: /* CIL Label */ ;
20495
20496#line 3323
20497    goto while_break___0;
20498  }
20499  while_break___10: /* CIL Label */ ;
20500  }
20501
20502  while_break___0: 
20503#line 3326
20504  status = srb->target_status;
20505  {
20506#line 3327
20507  __cil_tmp24 = srb->flag;
20508#line 3327
20509  __cil_tmp25 = (int )__cil_tmp24;
20510#line 3327
20511  if (__cil_tmp25 & 1) {
20512    {
20513#line 3328
20514    while (1) {
20515      while_continue___1: /* CIL Label */ ;
20516
20517#line 3328
20518      goto while_break___1;
20519    }
20520    while_break___11: /* CIL Label */ ;
20521    }
20522
20523    while_break___1: 
20524    {
20525#line 3329
20526    pci_unmap_srb_sense(acb, srb);
20527#line 3333
20528    __cil_tmp26 = srb->flag;
20529#line 3333
20530    __cil_tmp27 = (int )__cil_tmp26;
20531#line 3333
20532    __cil_tmp28 = __cil_tmp27 & -2;
20533#line 3333
20534    srb->flag = (u8 )__cil_tmp28;
20535#line 3334
20536    srb->adapter_status = (u8 )0;
20537#line 3335
20538    __cil_tmp29 = 1 << 1;
20539#line 3335
20540    srb->target_status = (u8 )__cil_tmp29;
20541    }
20542#line 3336
20543    if (0) {
20544      {
20545#line 3338
20546      __cil_tmp30 = cmd->sense_buffer;
20547#line 3338
20548      __cil_tmp31 = __cil_tmp30 + 2;
20549#line 3338
20550      __cil_tmp32 = *__cil_tmp31;
20551#line 3338
20552      __cil_tmp33 = (int )__cil_tmp32;
20553#line 3338
20554      __cil_tmp34 = __cil_tmp33 & 15;
20555#line 3338
20556      if (__cil_tmp34 == 2) {
20557#line 3338
20558        goto case_2;
20559      } else {
20560        {
20561#line 3344
20562        __cil_tmp35 = cmd->sense_buffer;
20563#line 3344
20564        __cil_tmp36 = __cil_tmp35 + 2;
20565#line 3344
20566        __cil_tmp37 = *__cil_tmp36;
20567#line 3344
20568        __cil_tmp38 = (int )__cil_tmp37;
20569#line 3344
20570        __cil_tmp39 = __cil_tmp38 & 15;
20571#line 3344
20572        if (__cil_tmp39 == 6) {
20573#line 3344
20574          goto case_6;
20575        } else {
20576          {
20577#line 3350
20578          __cil_tmp40 = cmd->sense_buffer;
20579#line 3350
20580          __cil_tmp41 = __cil_tmp40 + 2;
20581#line 3350
20582          __cil_tmp42 = *__cil_tmp41;
20583#line 3350
20584          __cil_tmp43 = (int )__cil_tmp42;
20585#line 3350
20586          __cil_tmp44 = __cil_tmp43 & 15;
20587#line 3350
20588          if (__cil_tmp44 == 5) {
20589#line 3350
20590            goto case_5;
20591          } else {
20592            {
20593#line 3356
20594            __cil_tmp45 = cmd->sense_buffer;
20595#line 3356
20596            __cil_tmp46 = __cil_tmp45 + 2;
20597#line 3356
20598            __cil_tmp47 = *__cil_tmp46;
20599#line 3356
20600            __cil_tmp48 = (int )__cil_tmp47;
20601#line 3356
20602            __cil_tmp49 = __cil_tmp48 & 15;
20603#line 3356
20604            if (__cil_tmp49 == 3) {
20605#line 3356
20606              goto case_3;
20607            } else {
20608              {
20609#line 3362
20610              __cil_tmp50 = cmd->sense_buffer;
20611#line 3362
20612              __cil_tmp51 = __cil_tmp50 + 2;
20613#line 3362
20614              __cil_tmp52 = *__cil_tmp51;
20615#line 3362
20616              __cil_tmp53 = (int )__cil_tmp52;
20617#line 3362
20618              __cil_tmp54 = __cil_tmp53 & 15;
20619#line 3362
20620              if (__cil_tmp54 == 4) {
20621#line 3362
20622                goto case_4;
20623              } else
20624#line 3337
20625              if (0) {
20626                case_2: 
20627                {
20628#line 3339
20629                __cil_tmp55 = cmd->cmnd;
20630#line 3339
20631                __cil_tmp56 = __cil_tmp55 + 0;
20632#line 3339
20633                __cil_tmp57 = *__cil_tmp56;
20634#line 3339
20635                __cil_tmp58 = (int )__cil_tmp57;
20636#line 3339
20637                __cil_tmp59 = dcb->target_id;
20638#line 3339
20639                __cil_tmp60 = (int )__cil_tmp59;
20640#line 3339
20641                __cil_tmp61 = dcb->target_lun;
20642#line 3339
20643                __cil_tmp62 = (int )__cil_tmp61;
20644#line 3339
20645                __cil_tmp63 = (int )status;
20646#line 3339
20647                __cil_tmp64 = acb->scan_devices;
20648#line 3339
20649                __cil_tmp65 = (int )__cil_tmp64;
20650#line 3339
20651                printk("<7>dc395x: ReqSense: NOT_READY cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20652                       __cil_tmp58, __cil_tmp60, __cil_tmp62, __cil_tmp63, __cil_tmp65);
20653                }
20654#line 3343
20655                goto switch_break;
20656                case_6: 
20657                {
20658#line 3345
20659                __cil_tmp66 = cmd->cmnd;
20660#line 3345
20661                __cil_tmp67 = __cil_tmp66 + 0;
20662#line 3345
20663                __cil_tmp68 = *__cil_tmp67;
20664#line 3345
20665                __cil_tmp69 = (int )__cil_tmp68;
20666#line 3345
20667                __cil_tmp70 = dcb->target_id;
20668#line 3345
20669                __cil_tmp71 = (int )__cil_tmp70;
20670#line 3345
20671                __cil_tmp72 = dcb->target_lun;
20672#line 3345
20673                __cil_tmp73 = (int )__cil_tmp72;
20674#line 3345
20675                __cil_tmp74 = (int )status;
20676#line 3345
20677                __cil_tmp75 = acb->scan_devices;
20678#line 3345
20679                __cil_tmp76 = (int )__cil_tmp75;
20680#line 3345
20681                printk("<7>dc395x: ReqSense: UNIT_ATTENTION cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20682                       __cil_tmp69, __cil_tmp71, __cil_tmp73, __cil_tmp74, __cil_tmp76);
20683                }
20684#line 3349
20685                goto switch_break;
20686                case_5: 
20687                {
20688#line 3351
20689                __cil_tmp77 = cmd->cmnd;
20690#line 3351
20691                __cil_tmp78 = __cil_tmp77 + 0;
20692#line 3351
20693                __cil_tmp79 = *__cil_tmp78;
20694#line 3351
20695                __cil_tmp80 = (int )__cil_tmp79;
20696#line 3351
20697                __cil_tmp81 = dcb->target_id;
20698#line 3351
20699                __cil_tmp82 = (int )__cil_tmp81;
20700#line 3351
20701                __cil_tmp83 = dcb->target_lun;
20702#line 3351
20703                __cil_tmp84 = (int )__cil_tmp83;
20704#line 3351
20705                __cil_tmp85 = (int )status;
20706#line 3351
20707                __cil_tmp86 = acb->scan_devices;
20708#line 3351
20709                __cil_tmp87 = (int )__cil_tmp86;
20710#line 3351
20711                printk("<7>dc395x: ReqSense: ILLEGAL_REQUEST cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20712                       __cil_tmp80, __cil_tmp82, __cil_tmp84, __cil_tmp85, __cil_tmp87);
20713                }
20714#line 3355
20715                goto switch_break;
20716                case_3: 
20717                {
20718#line 3357
20719                __cil_tmp88 = cmd->cmnd;
20720#line 3357
20721                __cil_tmp89 = __cil_tmp88 + 0;
20722#line 3357
20723                __cil_tmp90 = *__cil_tmp89;
20724#line 3357
20725                __cil_tmp91 = (int )__cil_tmp90;
20726#line 3357
20727                __cil_tmp92 = dcb->target_id;
20728#line 3357
20729                __cil_tmp93 = (int )__cil_tmp92;
20730#line 3357
20731                __cil_tmp94 = dcb->target_lun;
20732#line 3357
20733                __cil_tmp95 = (int )__cil_tmp94;
20734#line 3357
20735                __cil_tmp96 = (int )status;
20736#line 3357
20737                __cil_tmp97 = acb->scan_devices;
20738#line 3357
20739                __cil_tmp98 = (int )__cil_tmp97;
20740#line 3357
20741                printk("<7>dc395x: ReqSense: MEDIUM_ERROR cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20742                       __cil_tmp91, __cil_tmp93, __cil_tmp95, __cil_tmp96, __cil_tmp98);
20743                }
20744#line 3361
20745                goto switch_break;
20746                case_4: 
20747                {
20748#line 3363
20749                __cil_tmp99 = cmd->cmnd;
20750#line 3363
20751                __cil_tmp100 = __cil_tmp99 + 0;
20752#line 3363
20753                __cil_tmp101 = *__cil_tmp100;
20754#line 3363
20755                __cil_tmp102 = (int )__cil_tmp101;
20756#line 3363
20757                __cil_tmp103 = dcb->target_id;
20758#line 3363
20759                __cil_tmp104 = (int )__cil_tmp103;
20760#line 3363
20761                __cil_tmp105 = dcb->target_lun;
20762#line 3363
20763                __cil_tmp106 = (int )__cil_tmp105;
20764#line 3363
20765                __cil_tmp107 = (int )status;
20766#line 3363
20767                __cil_tmp108 = acb->scan_devices;
20768#line 3363
20769                __cil_tmp109 = (int )__cil_tmp108;
20770#line 3363
20771                printk("<7>dc395x: ReqSense: HARDWARE_ERROR cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20772                       __cil_tmp102, __cil_tmp104, __cil_tmp106, __cil_tmp107, __cil_tmp109);
20773                }
20774#line 3367
20775                goto switch_break;
20776              } else {
20777                switch_break: ;
20778              }
20779              }
20780            }
20781            }
20782          }
20783          }
20784        }
20785        }
20786      }
20787      }
20788      {
20789#line 3369
20790      __cil_tmp110 = cmd->sense_buffer;
20791#line 3369
20792      __cil_tmp111 = __cil_tmp110 + 7;
20793#line 3369
20794      __cil_tmp112 = *__cil_tmp111;
20795#line 3369
20796      __cil_tmp113 = (int )__cil_tmp112;
20797#line 3369
20798      if (__cil_tmp113 >= 6) {
20799        {
20800#line 3370
20801        __cil_tmp114 = cmd->sense_buffer;
20802#line 3370
20803        __cil_tmp115 = __cil_tmp114 + 2;
20804#line 3370
20805        __cil_tmp116 = *__cil_tmp115;
20806#line 3370
20807        __cil_tmp117 = (int )__cil_tmp116;
20808#line 3370
20809        __cil_tmp118 = cmd->sense_buffer;
20810#line 3370
20811        __cil_tmp119 = __cil_tmp118 + 12;
20812#line 3370
20813        __cil_tmp120 = *__cil_tmp119;
20814#line 3370
20815        __cil_tmp121 = (int )__cil_tmp120;
20816#line 3370
20817        __cil_tmp122 = cmd->sense_buffer;
20818#line 3370
20819        __cil_tmp123 = __cil_tmp122 + 13;
20820#line 3370
20821        __cil_tmp124 = *__cil_tmp123;
20822#line 3370
20823        __cil_tmp125 = (int )__cil_tmp124;
20824#line 3370
20825        __cil_tmp126 = cmd->sense_buffer;
20826#line 3370
20827        __cil_tmp127 = __cil_tmp126 + 3;
20828#line 3370
20829        __cil_tmp128 = (unsigned int *)__cil_tmp127;
20830#line 3370
20831        __cil_tmp129 = *__cil_tmp128;
20832#line 3370
20833        __cil_tmp130 = cmd->sense_buffer;
20834#line 3370
20835        __cil_tmp131 = __cil_tmp130 + 8;
20836#line 3370
20837        __cil_tmp132 = (unsigned int *)__cil_tmp131;
20838#line 3370
20839        __cil_tmp133 = *__cil_tmp132;
20840#line 3370
20841        printk("sense=0x%02x ASC=0x%02x ASCQ=0x%02x (0x%08x 0x%08x)\n", __cil_tmp117,
20842               __cil_tmp121, __cil_tmp125, __cil_tmp129, __cil_tmp133);
20843        }
20844      } else {
20845        {
20846#line 3377
20847        __cil_tmp134 = cmd->sense_buffer;
20848#line 3377
20849        __cil_tmp135 = __cil_tmp134 + 2;
20850#line 3377
20851        __cil_tmp136 = *__cil_tmp135;
20852#line 3377
20853        __cil_tmp137 = (int )__cil_tmp136;
20854#line 3377
20855        __cil_tmp138 = cmd->sense_buffer;
20856#line 3377
20857        __cil_tmp139 = __cil_tmp138 + 3;
20858#line 3377
20859        __cil_tmp140 = (unsigned int *)__cil_tmp139;
20860#line 3377
20861        __cil_tmp141 = *__cil_tmp140;
20862#line 3377
20863        printk("sense=0x%02x No ASC/ASCQ (0x%08x)\n", __cil_tmp137, __cil_tmp141);
20864        }
20865      }
20866      }
20867    } else {
20868
20869    }
20870    {
20871#line 3382
20872    __cil_tmp142 = 1 << 1;
20873#line 3382
20874    __cil_tmp143 = (int )status;
20875#line 3382
20876    if (__cil_tmp143 == __cil_tmp142) {
20877#line 3383
20878      cmd->result = 4 << 16;
20879#line 3384
20880      goto ckc_e;
20881    } else {
20882
20883    }
20884    }
20885    {
20886#line 3386
20887    while (1) {
20888      while_continue___2: /* CIL Label */ ;
20889
20890#line 3386
20891      goto while_break___2;
20892    }
20893    while_break___12: /* CIL Label */ ;
20894    }
20895
20896    while_break___2: ;
20897#line 3388
20898    if (srb->total_xfer_length) {
20899      {
20900#line 3388
20901      __cil_tmp144 = cmd->underflow;
20902#line 3388
20903      __cil_tmp145 = (size_t )__cil_tmp144;
20904#line 3388
20905      __cil_tmp146 = srb->total_xfer_length;
20906#line 3388
20907      if (__cil_tmp146 >= __cil_tmp145) {
20908#line 3390
20909        __cil_tmp147 = 1 << 1;
20910#line 3390
20911        __cil_tmp148 = srb->end_message;
20912#line 3390
20913        __cil_tmp149 = (int )__cil_tmp148;
20914#line 3390
20915        __cil_tmp150 = __cil_tmp149 << 8;
20916#line 3390
20917        __cil_tmp151 = 8 << 24;
20918#line 3390
20919        __cil_tmp152 = __cil_tmp151 | __cil_tmp150;
20920#line 3390
20921        cmd->result = __cil_tmp152 | __cil_tmp147;
20922      } else {
20923#line 3395
20924        __cil_tmp153 = 1 << 1;
20925#line 3395
20926        __cil_tmp154 = srb->end_message;
20927#line 3395
20928        __cil_tmp155 = (int )__cil_tmp154;
20929#line 3395
20930        __cil_tmp156 = __cil_tmp155 << 8;
20931#line 3395
20932        __cil_tmp157 = 8 << 24;
20933#line 3395
20934        __cil_tmp158 = __cil_tmp157 | __cil_tmp156;
20935#line 3395
20936        cmd->result = __cil_tmp158 | __cil_tmp153;
20937      }
20938      }
20939    } else {
20940#line 3395
20941      __cil_tmp159 = 1 << 1;
20942#line 3395
20943      __cil_tmp160 = srb->end_message;
20944#line 3395
20945      __cil_tmp161 = (int )__cil_tmp160;
20946#line 3395
20947      __cil_tmp162 = __cil_tmp161 << 8;
20948#line 3395
20949      __cil_tmp163 = 8 << 24;
20950#line 3395
20951      __cil_tmp164 = __cil_tmp163 | __cil_tmp162;
20952#line 3395
20953      cmd->result = __cil_tmp164 | __cil_tmp159;
20954    }
20955#line 3399
20956    goto ckc_e;
20957  } else {
20958
20959  }
20960  }
20961#line 3403
20962  if (status) {
20963    {
20964#line 3407
20965    __cil_tmp165 = (int )status;
20966#line 3407
20967    __cil_tmp166 = __cil_tmp165 >> 1;
20968#line 3407
20969    __cil_tmp167 = __cil_tmp166 & 127;
20970#line 3407
20971    if (__cil_tmp167 == 1) {
20972      {
20973#line 3408
20974      request_sense(acb, dcb, srb);
20975      }
20976#line 3409
20977      return;
20978    } else {
20979      {
20980#line 3410
20981      __cil_tmp168 = (int )status;
20982#line 3410
20983      __cil_tmp169 = __cil_tmp168 >> 1;
20984#line 3410
20985      __cil_tmp170 = __cil_tmp169 & 127;
20986#line 3410
20987      if (__cil_tmp170 == 20) {
20988        {
20989#line 3411
20990        __cil_tmp171 = & dcb->srb_going_list;
20991#line 3411
20992        tmp___7 = list_size(__cil_tmp171);
20993#line 3411
20994        tempcnt = (u8 )tmp___7;
20995#line 3412
20996        __cil_tmp172 = dcb->target_id;
20997#line 3412
20998        __cil_tmp173 = (int )__cil_tmp172;
20999#line 3412
21000        __cil_tmp174 = dcb->target_lun;
21001#line 3412
21002        __cil_tmp175 = (int )__cil_tmp174;
21003#line 3412
21004        __cil_tmp176 = (int )tempcnt;
21005#line 3412
21006        printk("<6>dc395x: QUEUE_FULL for dev <%02i-%i> with %i cmnds\n", __cil_tmp173,
21007               __cil_tmp175, __cil_tmp176);
21008        }
21009        {
21010#line 3414
21011        __cil_tmp177 = (int )tempcnt;
21012#line 3414
21013        if (__cil_tmp177 > 1) {
21014#line 3415
21015          __cil_tmp178 = (int )tempcnt;
21016#line 3415
21017          __cil_tmp179 = __cil_tmp178 - 1;
21018#line 3415
21019          tempcnt = (u8 )__cil_tmp179;
21020        } else {
21021
21022        }
21023        }
21024        {
21025#line 3416
21026        dcb->max_command = (u16 )tempcnt;
21027#line 3417
21028        free_tag(dcb, srb);
21029#line 3418
21030        srb_going_to_waiting_move(dcb, srb);
21031#line 3419
21032        waiting_set_timer(acb, 12UL);
21033#line 3420
21034        srb->adapter_status = (u8 )0;
21035#line 3421
21036        srb->target_status = (u8 )0;
21037        }
21038#line 3422
21039        return;
21040      } else {
21041        {
21042#line 3423
21043        __cil_tmp180 = (int )status;
21044#line 3423
21045        if (__cil_tmp180 == 255) {
21046#line 3424
21047          srb->adapter_status = (u8 )17;
21048#line 3425
21049          srb->target_status = (u8 )0;
21050#line 3426
21051          cmd->result = 1 << 16;
21052        } else {
21053#line 3428
21054          srb->adapter_status = (u8 )0;
21055#line 3429
21056          __cil_tmp181 = cmd->result;
21057#line 3429
21058          cmd->result = __cil_tmp181 & -16711681;
21059#line 3429
21060          __cil_tmp182 = 7 << 16;
21061#line 3429
21062          __cil_tmp183 = cmd->result;
21063#line 3429
21064          cmd->result = __cil_tmp183 | __cil_tmp182;
21065#line 3430
21066          __cil_tmp184 = cmd->result;
21067#line 3430
21068          cmd->result = __cil_tmp184 & -65281;
21069#line 3430
21070          __cil_tmp185 = srb->end_message;
21071#line 3430
21072          __cil_tmp186 = (int )__cil_tmp185;
21073#line 3430
21074          __cil_tmp187 = __cil_tmp186 << 8;
21075#line 3430
21076          __cil_tmp188 = cmd->result;
21077#line 3430
21078          cmd->result = __cil_tmp188 | __cil_tmp187;
21079#line 3431
21080          __cil_tmp189 = cmd->result;
21081#line 3431
21082          cmd->result = __cil_tmp189 & -256;
21083#line 3431
21084          __cil_tmp190 = (int )status;
21085#line 3431
21086          __cil_tmp191 = cmd->result;
21087#line 3431
21088          cmd->result = __cil_tmp191 | __cil_tmp190;
21089        }
21090        }
21091      }
21092      }
21093    }
21094    }
21095  } else {
21096#line 3438
21097    status = srb->adapter_status;
21098    {
21099#line 3439
21100    __cil_tmp192 = (int )status;
21101#line 3439
21102    if (__cil_tmp192 & 18) {
21103#line 3440
21104      srb->target_status = (u8 )0;
21105#line 3441
21106      __cil_tmp193 = cmd->result;
21107#line 3441
21108      cmd->result = __cil_tmp193 & -16711681;
21109#line 3441
21110      cmd->result = cmd->result;
21111#line 3442
21112      __cil_tmp194 = cmd->result;
21113#line 3442
21114      cmd->result = __cil_tmp194 & -65281;
21115#line 3442
21116      __cil_tmp195 = srb->end_message;
21117#line 3442
21118      __cil_tmp196 = (int )__cil_tmp195;
21119#line 3442
21120      __cil_tmp197 = __cil_tmp196 << 8;
21121#line 3442
21122      __cil_tmp198 = cmd->result;
21123#line 3442
21124      cmd->result = __cil_tmp198 | __cil_tmp197;
21125    } else {
21126      {
21127#line 3443
21128      __cil_tmp199 = srb->status;
21129#line 3443
21130      __cil_tmp200 = (int )__cil_tmp199;
21131#line 3443
21132      if (__cil_tmp200 & 16) {
21133#line 3444
21134        __cil_tmp201 = cmd->result;
21135#line 3444
21136        cmd->result = __cil_tmp201 & -16711681;
21137#line 3444
21138        __cil_tmp202 = 6 << 16;
21139#line 3444
21140        __cil_tmp203 = cmd->result;
21141#line 3444
21142        cmd->result = __cil_tmp203 | __cil_tmp202;
21143#line 3445
21144        __cil_tmp204 = cmd->result;
21145#line 3445
21146        cmd->result = __cil_tmp204 & -65281;
21147#line 3445
21148        __cil_tmp205 = srb->end_message;
21149#line 3445
21150        __cil_tmp206 = (int )__cil_tmp205;
21151#line 3445
21152        __cil_tmp207 = __cil_tmp206 << 8;
21153#line 3445
21154        __cil_tmp208 = cmd->result;
21155#line 3445
21156        cmd->result = __cil_tmp208 | __cil_tmp207;
21157      } else {
21158#line 3448
21159        srb->adapter_status = (u8 )0;
21160#line 3449
21161        srb->target_status = (u8 )0;
21162#line 3450
21163        __cil_tmp209 = cmd->result;
21164#line 3450
21165        cmd->result = __cil_tmp209 & -16711681;
21166#line 3450
21167        cmd->result = cmd->result;
21168      }
21169      }
21170    }
21171    }
21172  }
21173  {
21174#line 3454
21175  __cil_tmp210 = (unsigned int )dir;
21176#line 3454
21177  if (__cil_tmp210 != 3U) {
21178    {
21179#line 3454
21180    tmp___10 = scsi_sg_count(cmd);
21181    }
21182#line 3454
21183    if (tmp___10) {
21184      {
21185#line 3455
21186      tmp___8 = scsi_sg_count(cmd);
21187#line 3455
21188      tmp___9 = scsi_sglist(cmd);
21189#line 3455
21190      __cil_tmp211 = acb->dev;
21191#line 3455
21192      __cil_tmp212 = (int )tmp___8;
21193#line 3455
21194      __cil_tmp213 = (int )dir;
21195#line 3455
21196      pci_dma_sync_sg_for_cpu(__cil_tmp211, tmp___9, __cil_tmp212, __cil_tmp213);
21197      }
21198    } else {
21199
21200    }
21201  } else {
21202
21203  }
21204  }
21205#line 3458
21206  ckc_only = 0;
21207  ckc_e: 
21208  {
21209#line 3462
21210  __cil_tmp214 = cmd->cmnd;
21211#line 3462
21212  __cil_tmp215 = __cil_tmp214 + 0;
21213#line 3462
21214  __cil_tmp216 = *__cil_tmp215;
21215#line 3462
21216  __cil_tmp217 = (int )__cil_tmp216;
21217#line 3462
21218  if (__cil_tmp217 == 18) {
21219    {
21220#line 3463
21221    __cil_tmp218 = (void *)0;
21222#line 3463
21223    base = (unsigned char *)__cil_tmp218;
21224#line 3465
21225    flags = 0UL;
21226#line 3466
21227    tmp___11 = scsi_sglist(cmd);
21228#line 3466
21229    sg = tmp___11;
21230#line 3467
21231    offset = (size_t )0;
21232#line 3467
21233    len = 36UL;
21234    }
21235    {
21236#line 3469
21237    while (1) {
21238      while_continue___3: /* CIL Label */ ;
21239
21240      {
21241#line 3469
21242      while (1) {
21243        while_continue___4: /* CIL Label */ ;
21244        {
21245#line 3469
21246        flags = arch_local_irq_save();
21247        }
21248#line 3469
21249        goto while_break___4;
21250      }
21251      while_break___14: /* CIL Label */ ;
21252      }
21253
21254      while_break___4: 
21255      {
21256#line 3469
21257      trace_hardirqs_off();
21258      }
21259#line 3469
21260      goto while_break___3;
21261    }
21262    while_break___13: /* CIL Label */ ;
21263    }
21264
21265    while_break___3: 
21266    {
21267#line 3470
21268    tmp___12 = scsi_sg_count(cmd);
21269#line 3470
21270    __cil_tmp219 = (int )tmp___12;
21271#line 3470
21272    tmp___13 = scsi_kmap_atomic_sg(sg, __cil_tmp219, & offset, & len);
21273#line 3470
21274    base = (unsigned char *)tmp___13;
21275#line 3471
21276    __cil_tmp220 = base + offset;
21277#line 3471
21278    ptr = (struct ScsiInqData *)__cil_tmp220;
21279    }
21280#line 3473
21281    if (! ckc_only) {
21282      {
21283#line 3473
21284      __cil_tmp221 = cmd->result;
21285#line 3473
21286      __cil_tmp222 = __cil_tmp221 & 16711680;
21287#line 3473
21288      if (__cil_tmp222 == 0) {
21289        {
21290#line 3473
21291        __cil_tmp223 = cmd->cmnd;
21292#line 3473
21293        __cil_tmp224 = __cil_tmp223 + 2;
21294#line 3473
21295        __cil_tmp225 = *__cil_tmp224;
21296#line 3473
21297        __cil_tmp226 = (int )__cil_tmp225;
21298#line 3473
21299        if (__cil_tmp226 == 0) {
21300          {
21301#line 3473
21302          tmp___14 = scsi_bufflen(cmd);
21303          }
21304#line 3473
21305          if (tmp___14 >= 8U) {
21306            {
21307#line 3473
21308            __cil_tmp227 = (unsigned int )dir;
21309#line 3473
21310            if (__cil_tmp227 != 3U) {
21311#line 3473
21312              if (ptr) {
21313                {
21314#line 3473
21315                __cil_tmp228 = ptr->Vers;
21316#line 3473
21317                __cil_tmp229 = (int )__cil_tmp228;
21318#line 3473
21319                __cil_tmp230 = __cil_tmp229 & 7;
21320#line 3473
21321                if (__cil_tmp230 >= 2) {
21322#line 3476
21323                  dcb->inquiry7 = ptr->Flags;
21324                } else {
21325
21326                }
21327                }
21328              } else {
21329
21330              }
21331            } else {
21332
21333            }
21334            }
21335          } else {
21336
21337          }
21338        } else {
21339
21340        }
21341        }
21342      } else {
21343
21344      }
21345      }
21346    } else {
21347
21348    }
21349    {
21350#line 3480
21351    __cil_tmp231 = cmd->result;
21352#line 3480
21353    if (__cil_tmp231 == 0) {
21354#line 3480
21355      goto _L;
21356    } else {
21357      {
21358#line 3480
21359      __cil_tmp232 = cmd->result;
21360#line 3480
21361      __cil_tmp233 = __cil_tmp232 >> 1;
21362#line 3480
21363      __cil_tmp234 = __cil_tmp233 & 127;
21364#line 3480
21365      if (__cil_tmp234 & 1) {
21366        _L: 
21367        {
21368#line 3483
21369        __cil_tmp235 = dcb->init_tcq_flag;
21370#line 3483
21371        if (! __cil_tmp235) {
21372          {
21373#line 3484
21374          add_dev(acb, dcb, ptr);
21375#line 3485
21376          dcb->init_tcq_flag = (u8 )1;
21377          }
21378        } else {
21379
21380        }
21381        }
21382      } else {
21383
21384      }
21385      }
21386    }
21387    }
21388    {
21389#line 3489
21390    __cil_tmp236 = (void *)base;
21391#line 3489
21392    scsi_kunmap_atomic_sg(__cil_tmp236);
21393    }
21394    {
21395#line 3490
21396    while (1) {
21397      while_continue___5: /* CIL Label */ ;
21398      {
21399#line 3490
21400      tmp___15 = arch_irqs_disabled_flags(flags);
21401      }
21402#line 3490
21403      if (tmp___15) {
21404        {
21405#line 3490
21406        while (1) {
21407          while_continue___6: /* CIL Label */ ;
21408          {
21409#line 3490
21410          arch_local_irq_restore(flags);
21411          }
21412#line 3490
21413          goto while_break___6;
21414        }
21415        while_break___16: /* CIL Label */ ;
21416        }
21417
21418        while_break___6: 
21419        {
21420#line 3490
21421        trace_hardirqs_off();
21422        }
21423      } else {
21424        {
21425#line 3490
21426        trace_hardirqs_on();
21427        }
21428        {
21429#line 3490
21430        while (1) {
21431          while_continue___7: /* CIL Label */ ;
21432          {
21433#line 3490
21434          arch_local_irq_restore(flags);
21435          }
21436#line 3490
21437          goto while_break___7;
21438        }
21439        while_break___17: /* CIL Label */ ;
21440        }
21441
21442        while_break___7: ;
21443      }
21444#line 3490
21445      goto while_break___5;
21446    }
21447    while_break___15: /* CIL Label */ ;
21448    }
21449
21450    while_break___5: ;
21451  } else {
21452
21453  }
21454  }
21455  {
21456#line 3494
21457  __cil_tmp237 = srb->total_xfer_length;
21458#line 3494
21459  __cil_tmp238 = (int )__cil_tmp237;
21460#line 3494
21461  scsi_set_resid(cmd, __cil_tmp238);
21462#line 3496
21463  __cil_tmp239 = srb->total_xfer_length;
21464#line 3496
21465  cmd->SCp.this_residual = (int )__cil_tmp239;
21466#line 3497
21467  cmd->SCp.buffers_residual = 0;
21468#line 3506
21469  srb_going_remove(dcb, srb);
21470  }
21471  {
21472#line 3508
21473  __cil_tmp240 = acb->tmp_srb;
21474#line 3508
21475  __cil_tmp241 = (unsigned long )__cil_tmp240;
21476#line 3508
21477  __cil_tmp242 = (unsigned long )srb;
21478#line 3508
21479  if (__cil_tmp242 == __cil_tmp241) {
21480    {
21481#line 3509
21482    printk("<3>dc395x: srb_done: ERROR! Completed cmd with tmp_srb\n");
21483    }
21484  } else {
21485    {
21486#line 3511
21487    while (1) {
21488      while_continue___8: /* CIL Label */ ;
21489
21490#line 3511
21491      goto while_break___8;
21492    }
21493    while_break___18: /* CIL Label */ ;
21494    }
21495
21496    while_break___8: 
21497    {
21498#line 3513
21499    srb_free_insert(acb, srb);
21500    }
21501  }
21502  }
21503  {
21504#line 3515
21505  pci_unmap_srb(acb, srb);
21506#line 3517
21507  __cil_tmp243 = cmd->scsi_done;
21508#line 3517
21509  (*__cil_tmp243)(cmd);
21510#line 3518
21511  waiting_process_next(acb);
21512  }
21513#line 3519
21514  return;
21515}
21516}
21517#line 3523 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
21518static void doing_srb_done(struct AdapterCtlBlk *acb , u8 did_flag , struct scsi_cmnd *cmd ,
21519                           u8 force ) 
21520{ struct DeviceCtlBlk *dcb ;
21521  struct list_head  const  *__mptr ;
21522  struct list_head  const  *__mptr___0 ;
21523  struct ScsiReqBlk *srb ;
21524  struct ScsiReqBlk *tmp___7 ;
21525  struct scsi_cmnd *p ;
21526  struct list_head  const  *__mptr___1 ;
21527  struct list_head  const  *__mptr___2 ;
21528  struct list_head  const  *__mptr___3 ;
21529  enum dma_data_direction dir ;
21530  int result ;
21531  int tmp___8 ;
21532  struct list_head  const  *__mptr___4 ;
21533  struct list_head  const  *__mptr___5 ;
21534  struct list_head  const  *__mptr___6 ;
21535  int result___0 ;
21536  unsigned int tmp___9 ;
21537  int tmp___10 ;
21538  struct list_head *__cil_tmp23 ;
21539  struct DeviceCtlBlk *__cil_tmp24 ;
21540  struct list_head *__cil_tmp25 ;
21541  unsigned int __cil_tmp26 ;
21542  char *__cil_tmp27 ;
21543  char *__cil_tmp28 ;
21544  struct list_head *__cil_tmp29 ;
21545  unsigned long __cil_tmp30 ;
21546  struct list_head *__cil_tmp31 ;
21547  unsigned long __cil_tmp32 ;
21548  struct list_head *__cil_tmp33 ;
21549  struct ScsiReqBlk *__cil_tmp34 ;
21550  struct list_head *__cil_tmp35 ;
21551  unsigned int __cil_tmp36 ;
21552  char *__cil_tmp37 ;
21553  char *__cil_tmp38 ;
21554  struct list_head *__cil_tmp39 ;
21555  struct ScsiReqBlk *__cil_tmp40 ;
21556  struct list_head *__cil_tmp41 ;
21557  unsigned int __cil_tmp42 ;
21558  char *__cil_tmp43 ;
21559  char *__cil_tmp44 ;
21560  struct list_head *__cil_tmp45 ;
21561  unsigned long __cil_tmp46 ;
21562  struct list_head *__cil_tmp47 ;
21563  unsigned long __cil_tmp48 ;
21564  int __cil_tmp49 ;
21565  struct scsi_device *__cil_tmp50 ;
21566  unsigned int __cil_tmp51 ;
21567  struct scsi_device *__cil_tmp52 ;
21568  unsigned int __cil_tmp53 ;
21569  void (*__cil_tmp54)(struct scsi_cmnd * ) ;
21570  struct list_head *__cil_tmp55 ;
21571  struct ScsiReqBlk *__cil_tmp56 ;
21572  struct list_head *__cil_tmp57 ;
21573  unsigned int __cil_tmp58 ;
21574  char *__cil_tmp59 ;
21575  char *__cil_tmp60 ;
21576  struct list_head *__cil_tmp61 ;
21577  struct list_head  const  *__cil_tmp62 ;
21578  u8 __cil_tmp63 ;
21579  int __cil_tmp64 ;
21580  u8 __cil_tmp65 ;
21581  int __cil_tmp66 ;
21582  u8 __cil_tmp67 ;
21583  int __cil_tmp68 ;
21584  u8 __cil_tmp69 ;
21585  int __cil_tmp70 ;
21586  u32 __cil_tmp71 ;
21587  struct list_head *__cil_tmp72 ;
21588  struct ScsiReqBlk *__cil_tmp73 ;
21589  struct list_head *__cil_tmp74 ;
21590  unsigned int __cil_tmp75 ;
21591  char *__cil_tmp76 ;
21592  char *__cil_tmp77 ;
21593  struct list_head *__cil_tmp78 ;
21594  struct ScsiReqBlk *__cil_tmp79 ;
21595  struct list_head *__cil_tmp80 ;
21596  unsigned int __cil_tmp81 ;
21597  char *__cil_tmp82 ;
21598  char *__cil_tmp83 ;
21599  struct list_head *__cil_tmp84 ;
21600  unsigned long __cil_tmp85 ;
21601  struct list_head *__cil_tmp86 ;
21602  unsigned long __cil_tmp87 ;
21603  int __cil_tmp88 ;
21604  struct scsi_device *__cil_tmp89 ;
21605  unsigned int __cil_tmp90 ;
21606  struct scsi_device *__cil_tmp91 ;
21607  unsigned int __cil_tmp92 ;
21608  void (*__cil_tmp93)(struct scsi_cmnd * ) ;
21609  struct list_head *__cil_tmp94 ;
21610  struct ScsiReqBlk *__cil_tmp95 ;
21611  struct list_head *__cil_tmp96 ;
21612  unsigned int __cil_tmp97 ;
21613  char *__cil_tmp98 ;
21614  char *__cil_tmp99 ;
21615  struct list_head *__cil_tmp100 ;
21616  struct list_head  const  *__cil_tmp101 ;
21617  struct list_head *__cil_tmp102 ;
21618  u8 __cil_tmp103 ;
21619  int __cil_tmp104 ;
21620  u8 __cil_tmp105 ;
21621  int __cil_tmp106 ;
21622  u8 __cil_tmp107 ;
21623  int __cil_tmp108 ;
21624  int __cil_tmp109 ;
21625  struct list_head *__cil_tmp110 ;
21626  struct DeviceCtlBlk *__cil_tmp111 ;
21627  struct list_head *__cil_tmp112 ;
21628  unsigned int __cil_tmp113 ;
21629  char *__cil_tmp114 ;
21630  char *__cil_tmp115 ;
21631
21632  {
21633  {
21634#line 3527
21635  printk("<6>dc395x: doing_srb_done: pids ");
21636#line 3529
21637  __cil_tmp23 = acb->dcb_list.next;
21638#line 3529
21639  __mptr = (struct list_head  const  *)__cil_tmp23;
21640#line 3529
21641  __cil_tmp24 = (struct DeviceCtlBlk *)0;
21642#line 3529
21643  __cil_tmp25 = & __cil_tmp24->list;
21644#line 3529
21645  __cil_tmp26 = (unsigned int )__cil_tmp25;
21646#line 3529
21647  __cil_tmp27 = (char *)__mptr;
21648#line 3529
21649  __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
21650#line 3529
21651  dcb = (struct DeviceCtlBlk *)__cil_tmp28;
21652  }
21653  {
21654#line 3529
21655  while (1) {
21656    while_continue: /* CIL Label */ ;
21657
21658    {
21659#line 3529
21660    __cil_tmp29 = & acb->dcb_list;
21661#line 3529
21662    __cil_tmp30 = (unsigned long )__cil_tmp29;
21663#line 3529
21664    __cil_tmp31 = & dcb->list;
21665#line 3529
21666    __cil_tmp32 = (unsigned long )__cil_tmp31;
21667#line 3529
21668    if (__cil_tmp32 != __cil_tmp30) {
21669
21670    } else {
21671#line 3529
21672      goto while_break;
21673    }
21674    }
21675#line 3534
21676    __cil_tmp33 = dcb->srb_going_list.next;
21677#line 3534
21678    __mptr___1 = (struct list_head  const  *)__cil_tmp33;
21679#line 3534
21680    __cil_tmp34 = (struct ScsiReqBlk *)0;
21681#line 3534
21682    __cil_tmp35 = & __cil_tmp34->list;
21683#line 3534
21684    __cil_tmp36 = (unsigned int )__cil_tmp35;
21685#line 3534
21686    __cil_tmp37 = (char *)__mptr___1;
21687#line 3534
21688    __cil_tmp38 = __cil_tmp37 - __cil_tmp36;
21689#line 3534
21690    srb = (struct ScsiReqBlk *)__cil_tmp38;
21691#line 3534
21692    __cil_tmp39 = srb->list.next;
21693#line 3534
21694    __mptr___2 = (struct list_head  const  *)__cil_tmp39;
21695#line 3534
21696    __cil_tmp40 = (struct ScsiReqBlk *)0;
21697#line 3534
21698    __cil_tmp41 = & __cil_tmp40->list;
21699#line 3534
21700    __cil_tmp42 = (unsigned int )__cil_tmp41;
21701#line 3534
21702    __cil_tmp43 = (char *)__mptr___2;
21703#line 3534
21704    __cil_tmp44 = __cil_tmp43 - __cil_tmp42;
21705#line 3534
21706    tmp___7 = (struct ScsiReqBlk *)__cil_tmp44;
21707    {
21708#line 3534
21709    while (1) {
21710      while_continue___0: /* CIL Label */ ;
21711
21712      {
21713#line 3534
21714      __cil_tmp45 = & dcb->srb_going_list;
21715#line 3534
21716      __cil_tmp46 = (unsigned long )__cil_tmp45;
21717#line 3534
21718      __cil_tmp47 = & srb->list;
21719#line 3534
21720      __cil_tmp48 = (unsigned long )__cil_tmp47;
21721#line 3534
21722      if (__cil_tmp48 != __cil_tmp46) {
21723
21724      } else {
21725#line 3534
21726        goto while_break___0;
21727      }
21728      }
21729      {
21730#line 3538
21731      p = srb->cmd;
21732#line 3539
21733      dir = p->sc_data_direction;
21734#line 3540
21735      __cil_tmp49 = (int )did_flag;
21736#line 3540
21737      result = __cil_tmp49 << 16;
21738#line 3541
21739      __cil_tmp50 = p->device;
21740#line 3541
21741      __cil_tmp51 = __cil_tmp50->id;
21742#line 3541
21743      __cil_tmp52 = p->device;
21744#line 3541
21745      __cil_tmp53 = __cil_tmp52->lun;
21746#line 3541
21747      printk("G:%p(%02i-%i) ", p, __cil_tmp51, __cil_tmp53);
21748#line 3543
21749      srb_going_remove(dcb, srb);
21750#line 3544
21751      free_tag(dcb, srb);
21752#line 3545
21753      srb_free_insert(acb, srb);
21754#line 3546
21755      p->result = result;
21756#line 3547
21757      pci_unmap_srb_sense(acb, srb);
21758#line 3548
21759      pci_unmap_srb(acb, srb);
21760      }
21761#line 3549
21762      if (force) {
21763        {
21764#line 3552
21765        __cil_tmp54 = p->scsi_done;
21766#line 3552
21767        (*__cil_tmp54)(p);
21768        }
21769      } else {
21770
21771      }
21772#line 3534
21773      srb = tmp___7;
21774#line 3534
21775      __cil_tmp55 = tmp___7->list.next;
21776#line 3534
21777      __mptr___3 = (struct list_head  const  *)__cil_tmp55;
21778#line 3534
21779      __cil_tmp56 = (struct ScsiReqBlk *)0;
21780#line 3534
21781      __cil_tmp57 = & __cil_tmp56->list;
21782#line 3534
21783      __cil_tmp58 = (unsigned int )__cil_tmp57;
21784#line 3534
21785      __cil_tmp59 = (char *)__mptr___3;
21786#line 3534
21787      __cil_tmp60 = __cil_tmp59 - __cil_tmp58;
21788#line 3534
21789      tmp___7 = (struct ScsiReqBlk *)__cil_tmp60;
21790    }
21791    while_break___3: /* CIL Label */ ;
21792    }
21793
21794    while_break___0: 
21795    {
21796#line 3555
21797    __cil_tmp61 = & dcb->srb_going_list;
21798#line 3555
21799    __cil_tmp62 = (struct list_head  const  *)__cil_tmp61;
21800#line 3555
21801    tmp___8 = list_empty(__cil_tmp62);
21802    }
21803#line 3555
21804    if (tmp___8) {
21805
21806    } else {
21807      {
21808#line 3556
21809      __cil_tmp63 = dcb->target_id;
21810#line 3556
21811      __cil_tmp64 = (int )__cil_tmp63;
21812#line 3556
21813      __cil_tmp65 = dcb->target_lun;
21814#line 3556
21815      __cil_tmp66 = (int )__cil_tmp65;
21816#line 3556
21817      printk("<7>dc395x: How could the ML send cmnds to the Going queue? <%02i-%i>\n",
21818             __cil_tmp64, __cil_tmp66);
21819      }
21820    }
21821#line 3559
21822    if (dcb->tag_mask) {
21823      {
21824#line 3560
21825      __cil_tmp67 = dcb->target_id;
21826#line 3560
21827      __cil_tmp68 = (int )__cil_tmp67;
21828#line 3560
21829      __cil_tmp69 = dcb->target_lun;
21830#line 3560
21831      __cil_tmp70 = (int )__cil_tmp69;
21832#line 3560
21833      __cil_tmp71 = dcb->tag_mask;
21834#line 3560
21835      printk("<7>dc395x: tag_mask for <%02i-%i> should be empty, is %08x!\n", __cil_tmp68,
21836             __cil_tmp70, __cil_tmp71);
21837      }
21838    } else {
21839
21840    }
21841#line 3566
21842    __cil_tmp72 = dcb->srb_waiting_list.next;
21843#line 3566
21844    __mptr___4 = (struct list_head  const  *)__cil_tmp72;
21845#line 3566
21846    __cil_tmp73 = (struct ScsiReqBlk *)0;
21847#line 3566
21848    __cil_tmp74 = & __cil_tmp73->list;
21849#line 3566
21850    __cil_tmp75 = (unsigned int )__cil_tmp74;
21851#line 3566
21852    __cil_tmp76 = (char *)__mptr___4;
21853#line 3566
21854    __cil_tmp77 = __cil_tmp76 - __cil_tmp75;
21855#line 3566
21856    srb = (struct ScsiReqBlk *)__cil_tmp77;
21857#line 3566
21858    __cil_tmp78 = srb->list.next;
21859#line 3566
21860    __mptr___5 = (struct list_head  const  *)__cil_tmp78;
21861#line 3566
21862    __cil_tmp79 = (struct ScsiReqBlk *)0;
21863#line 3566
21864    __cil_tmp80 = & __cil_tmp79->list;
21865#line 3566
21866    __cil_tmp81 = (unsigned int )__cil_tmp80;
21867#line 3566
21868    __cil_tmp82 = (char *)__mptr___5;
21869#line 3566
21870    __cil_tmp83 = __cil_tmp82 - __cil_tmp81;
21871#line 3566
21872    tmp___7 = (struct ScsiReqBlk *)__cil_tmp83;
21873    {
21874#line 3566
21875    while (1) {
21876      while_continue___1: /* CIL Label */ ;
21877
21878      {
21879#line 3566
21880      __cil_tmp84 = & dcb->srb_waiting_list;
21881#line 3566
21882      __cil_tmp85 = (unsigned long )__cil_tmp84;
21883#line 3566
21884      __cil_tmp86 = & srb->list;
21885#line 3566
21886      __cil_tmp87 = (unsigned long )__cil_tmp86;
21887#line 3566
21888      if (__cil_tmp87 != __cil_tmp85) {
21889
21890      } else {
21891#line 3566
21892        goto while_break___1;
21893      }
21894      }
21895      {
21896#line 3568
21897      p = srb->cmd;
21898#line 3570
21899      __cil_tmp88 = (int )did_flag;
21900#line 3570
21901      result___0 = __cil_tmp88 << 16;
21902#line 3571
21903      __cil_tmp89 = p->device;
21904#line 3571
21905      __cil_tmp90 = __cil_tmp89->id;
21906#line 3571
21907      __cil_tmp91 = p->device;
21908#line 3571
21909      __cil_tmp92 = __cil_tmp91->lun;
21910#line 3571
21911      printk("W:%p<%02i-%i>", p, __cil_tmp90, __cil_tmp92);
21912#line 3573
21913      srb_waiting_remove(dcb, srb);
21914#line 3574
21915      srb_free_insert(acb, srb);
21916#line 3575
21917      p->result = result___0;
21918#line 3576
21919      pci_unmap_srb_sense(acb, srb);
21920#line 3577
21921      pci_unmap_srb(acb, srb);
21922      }
21923#line 3578
21924      if (force) {
21925        {
21926#line 3581
21927        __cil_tmp93 = cmd->scsi_done;
21928#line 3581
21929        (*__cil_tmp93)(cmd);
21930        }
21931      } else {
21932
21933      }
21934#line 3566
21935      srb = tmp___7;
21936#line 3566
21937      __cil_tmp94 = tmp___7->list.next;
21938#line 3566
21939      __mptr___6 = (struct list_head  const  *)__cil_tmp94;
21940#line 3566
21941      __cil_tmp95 = (struct ScsiReqBlk *)0;
21942#line 3566
21943      __cil_tmp96 = & __cil_tmp95->list;
21944#line 3566
21945      __cil_tmp97 = (unsigned int )__cil_tmp96;
21946#line 3566
21947      __cil_tmp98 = (char *)__mptr___6;
21948#line 3566
21949      __cil_tmp99 = __cil_tmp98 - __cil_tmp97;
21950#line 3566
21951      tmp___7 = (struct ScsiReqBlk *)__cil_tmp99;
21952    }
21953    while_break___4: /* CIL Label */ ;
21954    }
21955
21956    while_break___1: 
21957    {
21958#line 3584
21959    __cil_tmp100 = & dcb->srb_waiting_list;
21960#line 3584
21961    __cil_tmp101 = (struct list_head  const  *)__cil_tmp100;
21962#line 3584
21963    tmp___10 = list_empty(__cil_tmp101);
21964    }
21965#line 3584
21966    if (tmp___10) {
21967
21968    } else {
21969      {
21970#line 3585
21971      __cil_tmp102 = & dcb->srb_waiting_list;
21972#line 3585
21973      tmp___9 = list_size(__cil_tmp102);
21974#line 3585
21975      __cil_tmp103 = dcb->target_id;
21976#line 3585
21977      __cil_tmp104 = (int )__cil_tmp103;
21978#line 3585
21979      __cil_tmp105 = dcb->target_lun;
21980#line 3585
21981      __cil_tmp106 = (int )__cil_tmp105;
21982#line 3585
21983      printk("<7>dc395x: ML queued %i cmnds again to <%02i-%i>\n", tmp___9, __cil_tmp104,
21984             __cil_tmp106);
21985      }
21986    }
21987#line 3588
21988    __cil_tmp107 = dcb->flag;
21989#line 3588
21990    __cil_tmp108 = (int )__cil_tmp107;
21991#line 3588
21992    __cil_tmp109 = __cil_tmp108 & -2;
21993#line 3588
21994    dcb->flag = (u8 )__cil_tmp109;
21995#line 3529
21996    __cil_tmp110 = dcb->list.next;
21997#line 3529
21998    __mptr___0 = (struct list_head  const  *)__cil_tmp110;
21999#line 3529
22000    __cil_tmp111 = (struct DeviceCtlBlk *)0;
22001#line 3529
22002    __cil_tmp112 = & __cil_tmp111->list;
22003#line 3529
22004    __cil_tmp113 = (unsigned int )__cil_tmp112;
22005#line 3529
22006    __cil_tmp114 = (char *)__mptr___0;
22007#line 3529
22008    __cil_tmp115 = __cil_tmp114 - __cil_tmp113;
22009#line 3529
22010    dcb = (struct DeviceCtlBlk *)__cil_tmp115;
22011  }
22012  while_break___2: /* CIL Label */ ;
22013  }
22014
22015  while_break: 
22016  {
22017#line 3590
22018  printk("\n");
22019  }
22020#line 3591
22021  return;
22022}
22023}
22024#line 3594 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22025static void reset_scsi_bus(struct AdapterCtlBlk *acb ) 
22026{ unsigned char tmp___7 ;
22027  u8 __cil_tmp3 ;
22028  int __cil_tmp4 ;
22029  int __cil_tmp5 ;
22030  unsigned long __cil_tmp6 ;
22031  unsigned long __cil_tmp7 ;
22032  int __cil_tmp8 ;
22033  unsigned long __cil_tmp9 ;
22034  unsigned long __cil_tmp10 ;
22035  int __cil_tmp11 ;
22036  int __cil_tmp12 ;
22037
22038  {
22039  {
22040#line 3596
22041  while (1) {
22042    while_continue: /* CIL Label */ ;
22043
22044#line 3596
22045    goto while_break;
22046  }
22047  while_break___1: /* CIL Label */ ;
22048  }
22049
22050  while_break: 
22051  {
22052#line 3597
22053  __cil_tmp3 = acb->acb_flag;
22054#line 3597
22055  __cil_tmp4 = (int )__cil_tmp3;
22056#line 3597
22057  __cil_tmp5 = __cil_tmp4 | 1;
22058#line 3597
22059  acb->acb_flag = (u8 )__cil_tmp5;
22060#line 3598
22061  __cil_tmp6 = acb->io_port_base;
22062#line 3598
22063  __cil_tmp7 = __cil_tmp6 + 128UL;
22064#line 3598
22065  __cil_tmp8 = (int )__cil_tmp7;
22066#line 3598
22067  outw((unsigned short)8, __cil_tmp8);
22068  }
22069  {
22070#line 3600
22071  while (1) {
22072    while_continue___0: /* CIL Label */ ;
22073    {
22074#line 3600
22075    __cil_tmp9 = acb->io_port_base;
22076#line 3600
22077    __cil_tmp10 = __cil_tmp9 + 132UL;
22078#line 3600
22079    __cil_tmp11 = (int )__cil_tmp10;
22080#line 3600
22081    tmp___7 = inb(__cil_tmp11);
22082    }
22083    {
22084#line 3600
22085    __cil_tmp12 = (int )tmp___7;
22086#line 3600
22087    if (__cil_tmp12 & 4) {
22088#line 3600
22089      goto while_break___0;
22090    } else {
22091
22092    }
22093    }
22094  }
22095  while_break___2: /* CIL Label */ ;
22096  }
22097
22098  while_break___0: ;
22099#line 3602
22100  return;
22101}
22102}
22103#line 3605 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22104static void set_basic_config(struct AdapterCtlBlk *acb ) 
22105{ u8 bval ;
22106  u16 wval ;
22107  unsigned short tmp___7 ;
22108  unsigned short tmp___8 ;
22109  u8 __cil_tmp6 ;
22110  unsigned long __cil_tmp7 ;
22111  unsigned long __cil_tmp8 ;
22112  int __cil_tmp9 ;
22113  u8 __cil_tmp10 ;
22114  int __cil_tmp11 ;
22115  unsigned long __cil_tmp12 ;
22116  unsigned long __cil_tmp13 ;
22117  int __cil_tmp14 ;
22118  unsigned long __cil_tmp15 ;
22119  unsigned long __cil_tmp16 ;
22120  int __cil_tmp17 ;
22121  struct Scsi_Host *__cil_tmp18 ;
22122  int __cil_tmp19 ;
22123  unsigned char __cil_tmp20 ;
22124  unsigned long __cil_tmp21 ;
22125  unsigned long __cil_tmp22 ;
22126  int __cil_tmp23 ;
22127  unsigned long __cil_tmp24 ;
22128  unsigned long __cil_tmp25 ;
22129  int __cil_tmp26 ;
22130  unsigned long __cil_tmp27 ;
22131  unsigned long __cil_tmp28 ;
22132  int __cil_tmp29 ;
22133  int __cil_tmp30 ;
22134  int __cil_tmp31 ;
22135  unsigned long __cil_tmp32 ;
22136  unsigned long __cil_tmp33 ;
22137  int __cil_tmp34 ;
22138  unsigned long __cil_tmp35 ;
22139  unsigned long __cil_tmp36 ;
22140  int __cil_tmp37 ;
22141  int __cil_tmp38 ;
22142  int __cil_tmp39 ;
22143  int __cil_tmp40 ;
22144  int __cil_tmp41 ;
22145  unsigned long __cil_tmp42 ;
22146  unsigned long __cil_tmp43 ;
22147  int __cil_tmp44 ;
22148  unsigned long __cil_tmp45 ;
22149  unsigned long __cil_tmp46 ;
22150  int __cil_tmp47 ;
22151  unsigned long __cil_tmp48 ;
22152  unsigned long __cil_tmp49 ;
22153  int __cil_tmp50 ;
22154  unsigned long __cil_tmp51 ;
22155  unsigned long __cil_tmp52 ;
22156  int __cil_tmp53 ;
22157
22158  {
22159  {
22160#line 3609
22161  __cil_tmp6 = acb->sel_timeout;
22162#line 3609
22163  __cil_tmp7 = acb->io_port_base;
22164#line 3609
22165  __cil_tmp8 = __cil_tmp7 + 145UL;
22166#line 3609
22167  __cil_tmp9 = (int )__cil_tmp8;
22168#line 3609
22169  outb(__cil_tmp6, __cil_tmp9);
22170  }
22171  {
22172#line 3610
22173  __cil_tmp10 = acb->config;
22174#line 3610
22175  __cil_tmp11 = (int )__cil_tmp10;
22176#line 3610
22177  if (__cil_tmp11 & 8) {
22178#line 3611
22179    bval = (u8 )113;
22180  } else {
22181#line 3613
22182    bval = (u8 )97;
22183  }
22184  }
22185  {
22186#line 3615
22187  __cil_tmp12 = acb->io_port_base;
22188#line 3615
22189  __cil_tmp13 = __cil_tmp12 + 141UL;
22190#line 3615
22191  __cil_tmp14 = (int )__cil_tmp13;
22192#line 3615
22193  outb(bval, __cil_tmp14);
22194#line 3618
22195  __cil_tmp15 = acb->io_port_base;
22196#line 3618
22197  __cil_tmp16 = __cil_tmp15 + 142UL;
22198#line 3618
22199  __cil_tmp17 = (int )__cil_tmp16;
22200#line 3618
22201  outb((unsigned char)3, __cil_tmp17);
22202#line 3620
22203  __cil_tmp18 = acb->scsi_host;
22204#line 3620
22205  __cil_tmp19 = __cil_tmp18->this_id;
22206#line 3620
22207  __cil_tmp20 = (unsigned char )__cil_tmp19;
22208#line 3620
22209  __cil_tmp21 = acb->io_port_base;
22210#line 3620
22211  __cil_tmp22 = __cil_tmp21 + 135UL;
22212#line 3620
22213  __cil_tmp23 = (int )__cil_tmp22;
22214#line 3620
22215  outb(__cil_tmp20, __cil_tmp23);
22216#line 3622
22217  __cil_tmp24 = acb->io_port_base;
22218#line 3622
22219  __cil_tmp25 = __cil_tmp24 + 132UL;
22220#line 3622
22221  __cil_tmp26 = (int )__cil_tmp25;
22222#line 3622
22223  outb((unsigned char)0, __cil_tmp26);
22224#line 3624
22225  __cil_tmp27 = acb->io_port_base;
22226#line 3624
22227  __cil_tmp28 = __cil_tmp27 + 212UL;
22228#line 3624
22229  __cil_tmp29 = (int )__cil_tmp28;
22230#line 3624
22231  tmp___7 = inw(__cil_tmp29);
22232#line 3624
22233  __cil_tmp30 = (int )tmp___7;
22234#line 3624
22235  __cil_tmp31 = __cil_tmp30 & 127;
22236#line 3624
22237  wval = (u16 )__cil_tmp31;
22238#line 3625
22239  __cil_tmp32 = acb->io_port_base;
22240#line 3625
22241  __cil_tmp33 = __cil_tmp32 + 212UL;
22242#line 3625
22243  __cil_tmp34 = (int )__cil_tmp33;
22244#line 3625
22245  outw(wval, __cil_tmp34);
22246#line 3627
22247  __cil_tmp35 = acb->io_port_base;
22248#line 3627
22249  __cil_tmp36 = __cil_tmp35 + 166UL;
22250#line 3627
22251  __cil_tmp37 = (int )__cil_tmp36;
22252#line 3627
22253  tmp___8 = inw(__cil_tmp37);
22254#line 3627
22255  __cil_tmp38 = (int )tmp___8;
22256#line 3627
22257  __cil_tmp39 = __cil_tmp38 & -769;
22258#line 3627
22259  wval = (u16 )__cil_tmp39;
22260#line 3628
22261  __cil_tmp40 = (int )wval;
22262#line 3628
22263  __cil_tmp41 = __cil_tmp40 | 33280;
22264#line 3628
22265  wval = (u16 )__cil_tmp41;
22266#line 3630
22267  __cil_tmp42 = acb->io_port_base;
22268#line 3630
22269  __cil_tmp43 = __cil_tmp42 + 166UL;
22270#line 3630
22271  __cil_tmp44 = (int )__cil_tmp43;
22272#line 3630
22273  outw(wval, __cil_tmp44);
22274#line 3632
22275  __cil_tmp45 = acb->io_port_base;
22276#line 3632
22277  __cil_tmp46 = __cil_tmp45 + 132UL;
22278#line 3632
22279  __cil_tmp47 = (int )__cil_tmp46;
22280#line 3632
22281  inb(__cil_tmp47);
22282#line 3634
22283  __cil_tmp48 = acb->io_port_base;
22284#line 3634
22285  __cil_tmp49 = __cil_tmp48 + 140UL;
22286#line 3634
22287  __cil_tmp50 = (int )__cil_tmp49;
22288#line 3634
22289  outb((unsigned char)127, __cil_tmp50);
22290#line 3635
22291  __cil_tmp51 = acb->io_port_base;
22292#line 3635
22293  __cil_tmp52 = __cil_tmp51 + 164UL;
22294#line 3635
22295  __cil_tmp53 = (int )__cil_tmp52;
22296#line 3635
22297  outb((unsigned char)9, __cil_tmp53);
22298  }
22299#line 3638
22300  return;
22301}
22302}
22303#line 3641 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22304static void scsi_reset_detect(struct AdapterCtlBlk *acb ) 
22305{ int tmp___7 ;
22306  struct timer_list *__cil_tmp3 ;
22307  struct timer_list  const  *__cil_tmp4 ;
22308  struct timer_list *__cil_tmp5 ;
22309  unsigned long __cil_tmp6 ;
22310  unsigned long __cil_tmp7 ;
22311  int __cil_tmp8 ;
22312  unsigned long __cil_tmp9 ;
22313  unsigned long __cil_tmp10 ;
22314  int __cil_tmp11 ;
22315  struct Scsi_Host *__cil_tmp12 ;
22316  u8 __cil_tmp13 ;
22317  int __cil_tmp14 ;
22318  int __cil_tmp15 ;
22319  unsigned long volatile   __cil_tmp16 ;
22320  unsigned long volatile   __cil_tmp17 ;
22321  unsigned long volatile   __cil_tmp18 ;
22322  unsigned long volatile   __cil_tmp19 ;
22323  char *__cil_tmp20 ;
22324  u8 __cil_tmp21 ;
22325  int __cil_tmp22 ;
22326  u8 __cil_tmp23 ;
22327  int __cil_tmp24 ;
22328  int __cil_tmp25 ;
22329  u8 __cil_tmp26 ;
22330  int __cil_tmp27 ;
22331  int __cil_tmp28 ;
22332  u8 __cil_tmp29 ;
22333  void *__cil_tmp30 ;
22334  struct scsi_cmnd *__cil_tmp31 ;
22335  u8 __cil_tmp32 ;
22336  void *__cil_tmp33 ;
22337
22338  {
22339  {
22340#line 3643
22341  printk("<6>dc395x: scsi_reset_detect: acb=%p\n", acb);
22342#line 3645
22343  __cil_tmp3 = & acb->waiting_timer;
22344#line 3645
22345  __cil_tmp4 = (struct timer_list  const  *)__cil_tmp3;
22346#line 3645
22347  tmp___7 = timer_pending(__cil_tmp4);
22348  }
22349#line 3645
22350  if (tmp___7) {
22351    {
22352#line 3646
22353    __cil_tmp5 = & acb->waiting_timer;
22354#line 3646
22355    del_timer(__cil_tmp5);
22356    }
22357  } else {
22358
22359  }
22360  {
22361#line 3648
22362  __cil_tmp6 = acb->io_port_base;
22363#line 3648
22364  __cil_tmp7 = __cil_tmp6 + 128UL;
22365#line 3648
22366  __cil_tmp8 = (int )__cil_tmp7;
22367#line 3648
22368  outb((unsigned char)16, __cil_tmp8);
22369#line 3649
22370  __cil_tmp9 = acb->io_port_base;
22371#line 3649
22372  __cil_tmp10 = __cil_tmp9 + 161UL;
22373#line 3649
22374  __cil_tmp11 = (int )__cil_tmp10;
22375#line 3649
22376  outb((unsigned char)16, __cil_tmp11);
22377#line 3651
22378  __const_udelay(2147500UL);
22379#line 3653
22380  __cil_tmp12 = acb->scsi_host;
22381#line 3653
22382  __cil_tmp13 = acb->eeprom.delay_time;
22383#line 3653
22384  __cil_tmp14 = (int )__cil_tmp13;
22385#line 3653
22386  __cil_tmp15 = 250 * __cil_tmp14;
22387#line 3653
22388  __cil_tmp16 = (unsigned long volatile   )__cil_tmp15;
22389#line 3653
22390  __cil_tmp17 = (unsigned long volatile   )625;
22391#line 3653
22392  __cil_tmp18 = jiffies + __cil_tmp17;
22393#line 3653
22394  __cil_tmp19 = __cil_tmp18 + __cil_tmp16;
22395#line 3653
22396  __cil_tmp12->last_reset = (unsigned long )__cil_tmp19;
22397#line 3657
22398  __cil_tmp20 = (char *)"scsi_reset_detect";
22399#line 3657
22400  clear_fifo(acb, __cil_tmp20);
22401#line 3658
22402  set_basic_config(acb);
22403  }
22404  {
22405#line 3662
22406  __cil_tmp21 = acb->acb_flag;
22407#line 3662
22408  __cil_tmp22 = (int )__cil_tmp21;
22409#line 3662
22410  if (__cil_tmp22 & 1) {
22411#line 3663
22412    __cil_tmp23 = acb->acb_flag;
22413#line 3663
22414    __cil_tmp24 = (int )__cil_tmp23;
22415#line 3663
22416    __cil_tmp25 = __cil_tmp24 | 4;
22417#line 3663
22418    acb->acb_flag = (u8 )__cil_tmp25;
22419  } else {
22420    {
22421#line 3665
22422    __cil_tmp26 = acb->acb_flag;
22423#line 3665
22424    __cil_tmp27 = (int )__cil_tmp26;
22425#line 3665
22426    __cil_tmp28 = __cil_tmp27 | 2;
22427#line 3665
22428    acb->acb_flag = (u8 )__cil_tmp28;
22429#line 3666
22430    reset_dev_param(acb);
22431#line 3667
22432    __cil_tmp29 = (u8 )8;
22433#line 3667
22434    __cil_tmp30 = (void *)0;
22435#line 3667
22436    __cil_tmp31 = (struct scsi_cmnd *)__cil_tmp30;
22437#line 3667
22438    __cil_tmp32 = (u8 )1;
22439#line 3667
22440    doing_srb_done(acb, __cil_tmp29, __cil_tmp31, __cil_tmp32);
22441#line 3669
22442    __cil_tmp33 = (void *)0;
22443#line 3669
22444    acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp33;
22445#line 3670
22446    acb->acb_flag = (u8 )0;
22447#line 3671
22448    waiting_process_next(acb);
22449    }
22450  }
22451  }
22452#line 3673
22453  return;
22454}
22455}
22456#line 3676 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22457static void request_sense(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) 
22458{ struct scsi_cmnd *cmd ;
22459  dma_addr_t tmp___7 ;
22460  u8 tmp___8 ;
22461  u8 __cil_tmp7 ;
22462  int __cil_tmp8 ;
22463  int __cil_tmp9 ;
22464  unsigned char *__cil_tmp10 ;
22465  void *__cil_tmp11 ;
22466  size_t __cil_tmp12 ;
22467  struct SGentry *__cil_tmp13 ;
22468  struct SGentry *__cil_tmp14 ;
22469  struct SGentry *__cil_tmp15 ;
22470  struct SGentry *__cil_tmp16 ;
22471  struct SGentry *__cil_tmp17 ;
22472  struct SGentry *__cil_tmp18 ;
22473  struct SGentry *__cil_tmp19 ;
22474  struct SGentry *__cil_tmp20 ;
22475  struct SGentry *__cil_tmp21 ;
22476  struct SGentry *__cil_tmp22 ;
22477  struct pci_dev *__cil_tmp23 ;
22478  unsigned char *__cil_tmp24 ;
22479  void *__cil_tmp25 ;
22480  size_t __cil_tmp26 ;
22481  struct SGentry *__cil_tmp27 ;
22482  struct SGentry *__cil_tmp28 ;
22483  struct scsi_cmnd *__cil_tmp29 ;
22484  u8 __cil_tmp30 ;
22485  int __cil_tmp31 ;
22486  u8 __cil_tmp32 ;
22487  int __cil_tmp33 ;
22488
22489  {
22490#line 3679
22491  cmd = srb->cmd;
22492  {
22493#line 3680
22494  while (1) {
22495    while_continue: /* CIL Label */ ;
22496
22497#line 3680
22498    goto while_break;
22499  }
22500  while_break___1: /* CIL Label */ ;
22501  }
22502
22503  while_break: 
22504  {
22505#line 3683
22506  __cil_tmp7 = srb->flag;
22507#line 3683
22508  __cil_tmp8 = (int )__cil_tmp7;
22509#line 3683
22510  __cil_tmp9 = __cil_tmp8 | 1;
22511#line 3683
22512  srb->flag = (u8 )__cil_tmp9;
22513#line 3684
22514  srb->adapter_status = (u8 )0;
22515#line 3685
22516  srb->target_status = (u8 )0;
22517#line 3688
22518  __cil_tmp10 = cmd->sense_buffer;
22519#line 3688
22520  __cil_tmp11 = (void *)__cil_tmp10;
22521#line 3688
22522  __cil_tmp12 = (size_t )96;
22523#line 3688
22524  memset(__cil_tmp11, 0, __cil_tmp12);
22525#line 3691
22526  __cil_tmp13 = srb->segment_x;
22527#line 3691
22528  __cil_tmp14 = __cil_tmp13 + 63;
22529#line 3691
22530  __cil_tmp15 = srb->segment_x;
22531#line 3691
22532  __cil_tmp16 = __cil_tmp15 + 0;
22533#line 3691
22534  __cil_tmp14->address = __cil_tmp16->address;
22535#line 3693
22536  __cil_tmp17 = srb->segment_x;
22537#line 3693
22538  __cil_tmp18 = __cil_tmp17 + 63;
22539#line 3693
22540  __cil_tmp19 = srb->segment_x;
22541#line 3693
22542  __cil_tmp20 = __cil_tmp19 + 0;
22543#line 3693
22544  __cil_tmp18->length = __cil_tmp20->length;
22545#line 3695
22546  srb->xferred = srb->total_xfer_length;
22547#line 3697
22548  srb->total_xfer_length = (size_t )96;
22549#line 3698
22550  __cil_tmp21 = srb->segment_x;
22551#line 3698
22552  __cil_tmp22 = __cil_tmp21 + 0;
22553#line 3698
22554  __cil_tmp22->length = (u32 )96;
22555#line 3700
22556  __cil_tmp23 = acb->dev;
22557#line 3700
22558  __cil_tmp24 = cmd->sense_buffer;
22559#line 3700
22560  __cil_tmp25 = (void *)__cil_tmp24;
22561#line 3700
22562  __cil_tmp26 = (size_t )96;
22563#line 3700
22564  tmp___7 = pci_map_single(__cil_tmp23, __cil_tmp25, __cil_tmp26, 2);
22565#line 3700
22566  __cil_tmp27 = srb->segment_x;
22567#line 3700
22568  __cil_tmp28 = __cil_tmp27 + 0;
22569#line 3700
22570  __cil_tmp28->address = (u32 )tmp___7;
22571  }
22572  {
22573#line 3703
22574  while (1) {
22575    while_continue___0: /* CIL Label */ ;
22576
22577#line 3703
22578    goto while_break___0;
22579  }
22580  while_break___2: /* CIL Label */ ;
22581  }
22582
22583  while_break___0: 
22584  {
22585#line 3706
22586  srb->sg_count = (u8 )1;
22587#line 3707
22588  srb->sg_index = (u8 )0;
22589#line 3709
22590  tmp___8 = start_scsi(acb, dcb, srb);
22591  }
22592#line 3709
22593  if (tmp___8) {
22594    {
22595#line 3710
22596    __cil_tmp29 = srb->cmd;
22597#line 3710
22598    __cil_tmp30 = dcb->target_id;
22599#line 3710
22600    __cil_tmp31 = (int )__cil_tmp30;
22601#line 3710
22602    __cil_tmp32 = dcb->target_lun;
22603#line 3710
22604    __cil_tmp33 = (int )__cil_tmp32;
22605#line 3710
22606    printk("<7>dc395x: request_sense: (0x%p) failed <%02i-%i>\n", __cil_tmp29, __cil_tmp31,
22607           __cil_tmp33);
22608#line 3713
22609    srb_going_to_waiting_move(dcb, srb);
22610#line 3714
22611    waiting_set_timer(acb, 2UL);
22612    }
22613  } else {
22614
22615  }
22616#line 3716
22617  return;
22618}
22619}
22620#line 3732 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22621static struct DeviceCtlBlk *device_alloc(struct AdapterCtlBlk *acb , u8 target , u8 lun ) 
22622{ struct NvRamType *eeprom ;
22623  u8 period_index ;
22624  struct DeviceCtlBlk *dcb ;
22625  void *tmp___7 ;
22626  int tmp___8 ;
22627  struct DeviceCtlBlk *p ;
22628  struct list_head  const  *__mptr ;
22629  struct list_head  const  *__mptr___0 ;
22630  u8 __cil_tmp12 ;
22631  int __cil_tmp13 ;
22632  int __cil_tmp14 ;
22633  void *__cil_tmp15 ;
22634  void *__cil_tmp16 ;
22635  struct list_head *__cil_tmp17 ;
22636  struct list_head *__cil_tmp18 ;
22637  void *__cil_tmp19 ;
22638  u8 __cil_tmp20 ;
22639  int __cil_tmp21 ;
22640  int __cil_tmp22 ;
22641  int __cil_tmp23 ;
22642  int __cil_tmp24 ;
22643  int __cil_tmp25 ;
22644  u8 __cil_tmp26 ;
22645  int __cil_tmp27 ;
22646  u8 __cil_tmp28 ;
22647  int __cil_tmp29 ;
22648  u8 __cil_tmp30 ;
22649  int __cil_tmp31 ;
22650  int __cil_tmp32 ;
22651  u8 __cil_tmp33 ;
22652  int __cil_tmp34 ;
22653  u8 __cil_tmp35 ;
22654  int __cil_tmp36 ;
22655  int __cil_tmp37 ;
22656  u8 __cil_tmp38 ;
22657  int __cil_tmp39 ;
22658  int __cil_tmp40 ;
22659  u8 __cil_tmp41 ;
22660  int __cil_tmp42 ;
22661  struct list_head *__cil_tmp43 ;
22662  struct DeviceCtlBlk *__cil_tmp44 ;
22663  struct list_head *__cil_tmp45 ;
22664  unsigned int __cil_tmp46 ;
22665  char *__cil_tmp47 ;
22666  char *__cil_tmp48 ;
22667  struct list_head *__cil_tmp49 ;
22668  unsigned long __cil_tmp50 ;
22669  struct list_head *__cil_tmp51 ;
22670  unsigned long __cil_tmp52 ;
22671  u8 __cil_tmp53 ;
22672  int __cil_tmp54 ;
22673  u8 __cil_tmp55 ;
22674  int __cil_tmp56 ;
22675  struct list_head *__cil_tmp57 ;
22676  struct DeviceCtlBlk *__cil_tmp58 ;
22677  struct list_head *__cil_tmp59 ;
22678  unsigned int __cil_tmp60 ;
22679  char *__cil_tmp61 ;
22680  char *__cil_tmp62 ;
22681
22682  {
22683  {
22684#line 3735
22685  eeprom = & acb->eeprom;
22686#line 3736
22687  __cil_tmp12 = eeprom->target[target].period;
22688#line 3736
22689  __cil_tmp13 = (int )__cil_tmp12;
22690#line 3736
22691  __cil_tmp14 = __cil_tmp13 & 7;
22692#line 3736
22693  period_index = (u8 )__cil_tmp14;
22694#line 3739
22695  tmp___7 = kmalloc(88UL, 32U);
22696#line 3739
22697  dcb = (struct DeviceCtlBlk *)tmp___7;
22698  }
22699  {
22700#line 3740
22701  while (1) {
22702    while_continue: /* CIL Label */ ;
22703
22704#line 3740
22705    goto while_break;
22706  }
22707  while_break___2: /* CIL Label */ ;
22708  }
22709
22710  while_break: ;
22711#line 3741
22712  if (! dcb) {
22713    {
22714#line 3742
22715    __cil_tmp15 = (void *)0;
22716#line 3742
22717    return ((struct DeviceCtlBlk *)__cil_tmp15);
22718    }
22719  } else {
22720
22721  }
22722  {
22723#line 3743
22724  __cil_tmp16 = (void *)0;
22725#line 3743
22726  dcb->acb = (struct AdapterCtlBlk *)__cil_tmp16;
22727#line 3744
22728  __cil_tmp17 = & dcb->srb_going_list;
22729#line 3744
22730  INIT_LIST_HEAD(__cil_tmp17);
22731#line 3745
22732  __cil_tmp18 = & dcb->srb_waiting_list;
22733#line 3745
22734  INIT_LIST_HEAD(__cil_tmp18);
22735#line 3746
22736  __cil_tmp19 = (void *)0;
22737#line 3746
22738  dcb->active_srb = (struct ScsiReqBlk *)__cil_tmp19;
22739#line 3747
22740  dcb->tag_mask = (u32 )0;
22741#line 3748
22742  dcb->max_command = (u16 )1;
22743#line 3749
22744  dcb->target_id = target;
22745#line 3750
22746  dcb->target_lun = lun;
22747  }
22748  {
22749#line 3752
22750  __cil_tmp20 = dcb->dev_mode;
22751#line 3752
22752  __cil_tmp21 = (int )__cil_tmp20;
22753#line 3752
22754  if (__cil_tmp21 & 4) {
22755#line 3752
22756    tmp___8 = 64;
22757  } else {
22758#line 3752
22759    tmp___8 = 0;
22760  }
22761  }
22762#line 3752
22763  __cil_tmp22 = (int )lun;
22764#line 3752
22765  __cil_tmp23 = __cil_tmp22 & 7;
22766#line 3752
22767  __cil_tmp24 = 128 | tmp___8;
22768#line 3752
22769  __cil_tmp25 = __cil_tmp24 | __cil_tmp23;
22770#line 3752
22771  dcb->identify_msg = (u8 )__cil_tmp25;
22772#line 3757
22773  dcb->dev_mode = eeprom->target[target].cfg0;
22774#line 3758
22775  dcb->inquiry7 = (u8 )0;
22776#line 3759
22777  dcb->sync_mode = (u8 )0;
22778#line 3760
22779  dcb->min_nego_period = clock_period[period_index];
22780#line 3761
22781  dcb->sync_period = (u8 )0;
22782#line 3762
22783  dcb->sync_offset = (u8 )0;
22784#line 3763
22785  dcb->flag = (u8 )0;
22786  {
22787#line 3766
22788  __cil_tmp26 = dcb->dev_mode;
22789#line 3766
22790  __cil_tmp27 = (int )__cil_tmp26;
22791#line 3766
22792  if (__cil_tmp27 & 32) {
22793    {
22794#line 3766
22795    __cil_tmp28 = acb->config;
22796#line 3766
22797    __cil_tmp29 = (int )__cil_tmp28;
22798#line 3766
22799    if (__cil_tmp29 & 32) {
22800#line 3768
22801      __cil_tmp30 = dcb->sync_mode;
22802#line 3768
22803      __cil_tmp31 = (int )__cil_tmp30;
22804#line 3768
22805      __cil_tmp32 = __cil_tmp31 | 4;
22806#line 3768
22807      dcb->sync_mode = (u8 )__cil_tmp32;
22808    } else {
22809
22810    }
22811    }
22812  } else {
22813
22814  }
22815  }
22816  {
22817#line 3771
22818  __cil_tmp33 = dcb->dev_mode;
22819#line 3771
22820  __cil_tmp34 = (int )__cil_tmp33;
22821#line 3771
22822  if (__cil_tmp34 & 2) {
22823#line 3772
22824    if (! lun) {
22825#line 3773
22826      __cil_tmp35 = dcb->sync_mode;
22827#line 3773
22828      __cil_tmp36 = (int )__cil_tmp35;
22829#line 3773
22830      __cil_tmp37 = __cil_tmp36 | 1;
22831#line 3773
22832      dcb->sync_mode = (u8 )__cil_tmp37;
22833    } else
22834#line 3772
22835    if (current_sync_offset) {
22836#line 3773
22837      __cil_tmp38 = dcb->sync_mode;
22838#line 3773
22839      __cil_tmp39 = (int )__cil_tmp38;
22840#line 3773
22841      __cil_tmp40 = __cil_tmp39 | 1;
22842#line 3773
22843      dcb->sync_mode = (u8 )__cil_tmp40;
22844    } else {
22845
22846    }
22847  } else {
22848
22849  }
22850  }
22851  {
22852#line 3775
22853  __cil_tmp41 = dcb->target_lun;
22854#line 3775
22855  __cil_tmp42 = (int )__cil_tmp41;
22856#line 3775
22857  if (__cil_tmp42 != 0) {
22858#line 3778
22859    __cil_tmp43 = acb->dcb_list.next;
22860#line 3778
22861    __mptr = (struct list_head  const  *)__cil_tmp43;
22862#line 3778
22863    __cil_tmp44 = (struct DeviceCtlBlk *)0;
22864#line 3778
22865    __cil_tmp45 = & __cil_tmp44->list;
22866#line 3778
22867    __cil_tmp46 = (unsigned int )__cil_tmp45;
22868#line 3778
22869    __cil_tmp47 = (char *)__mptr;
22870#line 3778
22871    __cil_tmp48 = __cil_tmp47 - __cil_tmp46;
22872#line 3778
22873    p = (struct DeviceCtlBlk *)__cil_tmp48;
22874    {
22875#line 3778
22876    while (1) {
22877      while_continue___0: /* CIL Label */ ;
22878
22879      {
22880#line 3778
22881      __cil_tmp49 = & acb->dcb_list;
22882#line 3778
22883      __cil_tmp50 = (unsigned long )__cil_tmp49;
22884#line 3778
22885      __cil_tmp51 = & p->list;
22886#line 3778
22887      __cil_tmp52 = (unsigned long )__cil_tmp51;
22888#line 3778
22889      if (__cil_tmp52 != __cil_tmp50) {
22890
22891      } else {
22892#line 3778
22893        goto while_break___0;
22894      }
22895      }
22896      {
22897#line 3779
22898      __cil_tmp53 = dcb->target_id;
22899#line 3779
22900      __cil_tmp54 = (int )__cil_tmp53;
22901#line 3779
22902      __cil_tmp55 = p->target_id;
22903#line 3779
22904      __cil_tmp56 = (int )__cil_tmp55;
22905#line 3779
22906      if (__cil_tmp56 == __cil_tmp54) {
22907#line 3780
22908        goto while_break___0;
22909      } else {
22910
22911      }
22912      }
22913#line 3778
22914      __cil_tmp57 = p->list.next;
22915#line 3778
22916      __mptr___0 = (struct list_head  const  *)__cil_tmp57;
22917#line 3778
22918      __cil_tmp58 = (struct DeviceCtlBlk *)0;
22919#line 3778
22920      __cil_tmp59 = & __cil_tmp58->list;
22921#line 3778
22922      __cil_tmp60 = (unsigned int )__cil_tmp59;
22923#line 3778
22924      __cil_tmp61 = (char *)__mptr___0;
22925#line 3778
22926      __cil_tmp62 = __cil_tmp61 - __cil_tmp60;
22927#line 3778
22928      p = (struct DeviceCtlBlk *)__cil_tmp62;
22929    }
22930    while_break___3: /* CIL Label */ ;
22931    }
22932
22933    while_break___0: ;
22934    {
22935#line 3781
22936    while (1) {
22937      while_continue___1: /* CIL Label */ ;
22938
22939#line 3781
22940      goto while_break___1;
22941    }
22942    while_break___4: /* CIL Label */ ;
22943    }
22944
22945    while_break___1: 
22946#line 3785
22947    dcb->sync_mode = p->sync_mode;
22948#line 3786
22949    dcb->sync_period = p->sync_period;
22950#line 3787
22951    dcb->min_nego_period = p->min_nego_period;
22952#line 3788
22953    dcb->sync_offset = p->sync_offset;
22954#line 3789
22955    dcb->inquiry7 = p->inquiry7;
22956  } else {
22957
22958  }
22959  }
22960#line 3791
22961  return (dcb);
22962}
22963}
22964#line 3801 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22965static void adapter_add_device(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ) 
22966{ int tmp___7 ;
22967  struct list_head *__cil_tmp4 ;
22968  struct list_head  const  *__cil_tmp5 ;
22969  struct list_head *__cil_tmp6 ;
22970  struct list_head *__cil_tmp7 ;
22971  u8 __cil_tmp8 ;
22972  int __cil_tmp9 ;
22973  int __cil_tmp10 ;
22974  u8 __cil_tmp11 ;
22975  int __cil_tmp12 ;
22976  int __cil_tmp13 ;
22977
22978  {
22979  {
22980#line 3805
22981  dcb->acb = acb;
22982#line 3808
22983  __cil_tmp4 = & acb->dcb_list;
22984#line 3808
22985  __cil_tmp5 = (struct list_head  const  *)__cil_tmp4;
22986#line 3808
22987  tmp___7 = list_empty(__cil_tmp5);
22988  }
22989#line 3808
22990  if (tmp___7) {
22991#line 3809
22992    acb->dcb_run_robin = dcb;
22993  } else {
22994
22995  }
22996  {
22997#line 3812
22998  __cil_tmp6 = & dcb->list;
22999#line 3812
23000  __cil_tmp7 = & acb->dcb_list;
23001#line 3812
23002  list_add_tail(__cil_tmp6, __cil_tmp7);
23003#line 3815
23004  __cil_tmp8 = dcb->target_lun;
23005#line 3815
23006  __cil_tmp9 = (int )__cil_tmp8;
23007#line 3815
23008  __cil_tmp10 = 1 << __cil_tmp9;
23009#line 3815
23010  __cil_tmp11 = acb->dcb_map[dcb->target_id];
23011#line 3815
23012  __cil_tmp12 = (int )__cil_tmp11;
23013#line 3815
23014  __cil_tmp13 = __cil_tmp12 | __cil_tmp10;
23015#line 3815
23016  acb->dcb_map[dcb->target_id] = (u8 )__cil_tmp13;
23017#line 3816
23018  acb->children[dcb->target_id][dcb->target_lun] = dcb;
23019  }
23020#line 3817
23021  return;
23022}
23023}
23024#line 3829 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23025static void adapter_remove_device(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ) 
23026{ struct DeviceCtlBlk *i ;
23027  struct DeviceCtlBlk *tmp___7 ;
23028  struct list_head  const  *__mptr ;
23029  struct list_head  const  *__mptr___0 ;
23030  struct list_head  const  *__mptr___1 ;
23031  unsigned long __cil_tmp8 ;
23032  struct DeviceCtlBlk *__cil_tmp9 ;
23033  unsigned long __cil_tmp10 ;
23034  void *__cil_tmp11 ;
23035  unsigned long __cil_tmp12 ;
23036  struct DeviceCtlBlk *__cil_tmp13 ;
23037  unsigned long __cil_tmp14 ;
23038  struct list_head *__cil_tmp15 ;
23039  struct list_head *__cil_tmp16 ;
23040  struct DeviceCtlBlk *__cil_tmp17 ;
23041  struct list_head *__cil_tmp18 ;
23042  unsigned int __cil_tmp19 ;
23043  char *__cil_tmp20 ;
23044  char *__cil_tmp21 ;
23045  struct list_head *__cil_tmp22 ;
23046  struct DeviceCtlBlk *__cil_tmp23 ;
23047  struct list_head *__cil_tmp24 ;
23048  unsigned int __cil_tmp25 ;
23049  char *__cil_tmp26 ;
23050  char *__cil_tmp27 ;
23051  struct list_head *__cil_tmp28 ;
23052  unsigned long __cil_tmp29 ;
23053  struct list_head *__cil_tmp30 ;
23054  unsigned long __cil_tmp31 ;
23055  unsigned long __cil_tmp32 ;
23056  unsigned long __cil_tmp33 ;
23057  struct list_head *__cil_tmp34 ;
23058  struct list_head *__cil_tmp35 ;
23059  struct DeviceCtlBlk *__cil_tmp36 ;
23060  struct list_head *__cil_tmp37 ;
23061  unsigned int __cil_tmp38 ;
23062  char *__cil_tmp39 ;
23063  char *__cil_tmp40 ;
23064  u8 __cil_tmp41 ;
23065  int __cil_tmp42 ;
23066  int __cil_tmp43 ;
23067  int __cil_tmp44 ;
23068  u8 __cil_tmp45 ;
23069  int __cil_tmp46 ;
23070  int __cil_tmp47 ;
23071  void *__cil_tmp48 ;
23072  void *__cil_tmp49 ;
23073
23074  {
23075  {
23076#line 3834
23077  while (1) {
23078    while_continue: /* CIL Label */ ;
23079
23080#line 3834
23081    goto while_break;
23082  }
23083  while_break___1: /* CIL Label */ ;
23084  }
23085
23086  while_break: ;
23087  {
23088#line 3838
23089  __cil_tmp8 = (unsigned long )dcb;
23090#line 3838
23091  __cil_tmp9 = acb->active_dcb;
23092#line 3838
23093  __cil_tmp10 = (unsigned long )__cil_tmp9;
23094#line 3838
23095  if (__cil_tmp10 == __cil_tmp8) {
23096#line 3839
23097    __cil_tmp11 = (void *)0;
23098#line 3839
23099    acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp11;
23100  } else {
23101
23102  }
23103  }
23104  {
23105#line 3840
23106  __cil_tmp12 = (unsigned long )dcb;
23107#line 3840
23108  __cil_tmp13 = acb->dcb_run_robin;
23109#line 3840
23110  __cil_tmp14 = (unsigned long )__cil_tmp13;
23111#line 3840
23112  if (__cil_tmp14 == __cil_tmp12) {
23113    {
23114#line 3841
23115    __cil_tmp15 = & acb->dcb_list;
23116#line 3841
23117    acb->dcb_run_robin = dcb_get_next(__cil_tmp15, dcb);
23118    }
23119  } else {
23120
23121  }
23122  }
23123#line 3844
23124  __cil_tmp16 = acb->dcb_list.next;
23125#line 3844
23126  __mptr = (struct list_head  const  *)__cil_tmp16;
23127#line 3844
23128  __cil_tmp17 = (struct DeviceCtlBlk *)0;
23129#line 3844
23130  __cil_tmp18 = & __cil_tmp17->list;
23131#line 3844
23132  __cil_tmp19 = (unsigned int )__cil_tmp18;
23133#line 3844
23134  __cil_tmp20 = (char *)__mptr;
23135#line 3844
23136  __cil_tmp21 = __cil_tmp20 - __cil_tmp19;
23137#line 3844
23138  i = (struct DeviceCtlBlk *)__cil_tmp21;
23139#line 3844
23140  __cil_tmp22 = i->list.next;
23141#line 3844
23142  __mptr___0 = (struct list_head  const  *)__cil_tmp22;
23143#line 3844
23144  __cil_tmp23 = (struct DeviceCtlBlk *)0;
23145#line 3844
23146  __cil_tmp24 = & __cil_tmp23->list;
23147#line 3844
23148  __cil_tmp25 = (unsigned int )__cil_tmp24;
23149#line 3844
23150  __cil_tmp26 = (char *)__mptr___0;
23151#line 3844
23152  __cil_tmp27 = __cil_tmp26 - __cil_tmp25;
23153#line 3844
23154  tmp___7 = (struct DeviceCtlBlk *)__cil_tmp27;
23155  {
23156#line 3844
23157  while (1) {
23158    while_continue___0: /* CIL Label */ ;
23159
23160    {
23161#line 3844
23162    __cil_tmp28 = & acb->dcb_list;
23163#line 3844
23164    __cil_tmp29 = (unsigned long )__cil_tmp28;
23165#line 3844
23166    __cil_tmp30 = & i->list;
23167#line 3844
23168    __cil_tmp31 = (unsigned long )__cil_tmp30;
23169#line 3844
23170    if (__cil_tmp31 != __cil_tmp29) {
23171
23172    } else {
23173#line 3844
23174      goto while_break___0;
23175    }
23176    }
23177    {
23178#line 3845
23179    __cil_tmp32 = (unsigned long )i;
23180#line 3845
23181    __cil_tmp33 = (unsigned long )dcb;
23182#line 3845
23183    if (__cil_tmp33 == __cil_tmp32) {
23184      {
23185#line 3846
23186      __cil_tmp34 = & i->list;
23187#line 3846
23188      list_del(__cil_tmp34);
23189      }
23190#line 3847
23191      goto while_break___0;
23192    } else {
23193
23194    }
23195    }
23196#line 3844
23197    i = tmp___7;
23198#line 3844
23199    __cil_tmp35 = tmp___7->list.next;
23200#line 3844
23201    __mptr___1 = (struct list_head  const  *)__cil_tmp35;
23202#line 3844
23203    __cil_tmp36 = (struct DeviceCtlBlk *)0;
23204#line 3844
23205    __cil_tmp37 = & __cil_tmp36->list;
23206#line 3844
23207    __cil_tmp38 = (unsigned int )__cil_tmp37;
23208#line 3844
23209    __cil_tmp39 = (char *)__mptr___1;
23210#line 3844
23211    __cil_tmp40 = __cil_tmp39 - __cil_tmp38;
23212#line 3844
23213    tmp___7 = (struct DeviceCtlBlk *)__cil_tmp40;
23214  }
23215  while_break___2: /* CIL Label */ ;
23216  }
23217
23218  while_break___0: 
23219#line 3851
23220  __cil_tmp41 = dcb->target_lun;
23221#line 3851
23222  __cil_tmp42 = (int )__cil_tmp41;
23223#line 3851
23224  __cil_tmp43 = 1 << __cil_tmp42;
23225#line 3851
23226  __cil_tmp44 = ~ __cil_tmp43;
23227#line 3851
23228  __cil_tmp45 = acb->dcb_map[dcb->target_id];
23229#line 3851
23230  __cil_tmp46 = (int )__cil_tmp45;
23231#line 3851
23232  __cil_tmp47 = __cil_tmp46 & __cil_tmp44;
23233#line 3851
23234  acb->dcb_map[dcb->target_id] = (u8 )__cil_tmp47;
23235#line 3852
23236  __cil_tmp48 = (void *)0;
23237#line 3852
23238  acb->children[dcb->target_id][dcb->target_lun] = (struct DeviceCtlBlk *)__cil_tmp48;
23239#line 3853
23240  __cil_tmp49 = (void *)0;
23241#line 3853
23242  dcb->acb = (struct AdapterCtlBlk *)__cil_tmp49;
23243#line 3854
23244  return;
23245}
23246}
23247#line 3864 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23248static void adapter_remove_and_free_device(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ) 
23249{ unsigned int tmp___7 ;
23250  struct list_head *__cil_tmp4 ;
23251  void const   *__cil_tmp5 ;
23252
23253  {
23254  {
23255#line 3867
23256  __cil_tmp4 = & dcb->srb_going_list;
23257#line 3867
23258  tmp___7 = list_size(__cil_tmp4);
23259  }
23260#line 3867
23261  if (tmp___7 > 1U) {
23262    {
23263#line 3868
23264    while (1) {
23265      while_continue: /* CIL Label */ ;
23266
23267#line 3868
23268      goto while_break;
23269    }
23270    while_break___0: /* CIL Label */ ;
23271    }
23272
23273    while_break: ;
23274#line 3872
23275    return;
23276  } else {
23277
23278  }
23279  {
23280#line 3874
23281  adapter_remove_device(acb, dcb);
23282#line 3875
23283  __cil_tmp5 = (void const   *)dcb;
23284#line 3875
23285  kfree(__cil_tmp5);
23286  }
23287#line 3876
23288  return;
23289}
23290}
23291#line 3885 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23292static void adapter_remove_and_free_all_devices(struct AdapterCtlBlk *acb ) 
23293{ struct DeviceCtlBlk *dcb ;
23294  struct DeviceCtlBlk *tmp___7 ;
23295  struct list_head  const  *__mptr ;
23296  struct list_head  const  *__mptr___0 ;
23297  struct list_head  const  *__mptr___1 ;
23298  struct list_head *__cil_tmp7 ;
23299  struct DeviceCtlBlk *__cil_tmp8 ;
23300  struct list_head *__cil_tmp9 ;
23301  unsigned int __cil_tmp10 ;
23302  char *__cil_tmp11 ;
23303  char *__cil_tmp12 ;
23304  struct list_head *__cil_tmp13 ;
23305  struct DeviceCtlBlk *__cil_tmp14 ;
23306  struct list_head *__cil_tmp15 ;
23307  unsigned int __cil_tmp16 ;
23308  char *__cil_tmp17 ;
23309  char *__cil_tmp18 ;
23310  struct list_head *__cil_tmp19 ;
23311  unsigned long __cil_tmp20 ;
23312  struct list_head *__cil_tmp21 ;
23313  unsigned long __cil_tmp22 ;
23314  struct list_head *__cil_tmp23 ;
23315  struct DeviceCtlBlk *__cil_tmp24 ;
23316  struct list_head *__cil_tmp25 ;
23317  unsigned int __cil_tmp26 ;
23318  char *__cil_tmp27 ;
23319  char *__cil_tmp28 ;
23320
23321  {
23322  {
23323#line 3889
23324  while (1) {
23325    while_continue: /* CIL Label */ ;
23326
23327#line 3889
23328    goto while_break;
23329  }
23330  while_break___1: /* CIL Label */ ;
23331  }
23332
23333  while_break: 
23334#line 3892
23335  __cil_tmp7 = acb->dcb_list.next;
23336#line 3892
23337  __mptr = (struct list_head  const  *)__cil_tmp7;
23338#line 3892
23339  __cil_tmp8 = (struct DeviceCtlBlk *)0;
23340#line 3892
23341  __cil_tmp9 = & __cil_tmp8->list;
23342#line 3892
23343  __cil_tmp10 = (unsigned int )__cil_tmp9;
23344#line 3892
23345  __cil_tmp11 = (char *)__mptr;
23346#line 3892
23347  __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
23348#line 3892
23349  dcb = (struct DeviceCtlBlk *)__cil_tmp12;
23350#line 3892
23351  __cil_tmp13 = dcb->list.next;
23352#line 3892
23353  __mptr___0 = (struct list_head  const  *)__cil_tmp13;
23354#line 3892
23355  __cil_tmp14 = (struct DeviceCtlBlk *)0;
23356#line 3892
23357  __cil_tmp15 = & __cil_tmp14->list;
23358#line 3892
23359  __cil_tmp16 = (unsigned int )__cil_tmp15;
23360#line 3892
23361  __cil_tmp17 = (char *)__mptr___0;
23362#line 3892
23363  __cil_tmp18 = __cil_tmp17 - __cil_tmp16;
23364#line 3892
23365  tmp___7 = (struct DeviceCtlBlk *)__cil_tmp18;
23366  {
23367#line 3892
23368  while (1) {
23369    while_continue___0: /* CIL Label */ ;
23370
23371    {
23372#line 3892
23373    __cil_tmp19 = & acb->dcb_list;
23374#line 3892
23375    __cil_tmp20 = (unsigned long )__cil_tmp19;
23376#line 3892
23377    __cil_tmp21 = & dcb->list;
23378#line 3892
23379    __cil_tmp22 = (unsigned long )__cil_tmp21;
23380#line 3892
23381    if (__cil_tmp22 != __cil_tmp20) {
23382
23383    } else {
23384#line 3892
23385      goto while_break___0;
23386    }
23387    }
23388    {
23389#line 3893
23390    adapter_remove_and_free_device(acb, dcb);
23391#line 3892
23392    dcb = tmp___7;
23393#line 3892
23394    __cil_tmp23 = tmp___7->list.next;
23395#line 3892
23396    __mptr___1 = (struct list_head  const  *)__cil_tmp23;
23397#line 3892
23398    __cil_tmp24 = (struct DeviceCtlBlk *)0;
23399#line 3892
23400    __cil_tmp25 = & __cil_tmp24->list;
23401#line 3892
23402    __cil_tmp26 = (unsigned int )__cil_tmp25;
23403#line 3892
23404    __cil_tmp27 = (char *)__mptr___1;
23405#line 3892
23406    __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
23407#line 3892
23408    tmp___7 = (struct DeviceCtlBlk *)__cil_tmp28;
23409    }
23410  }
23411  while_break___2: /* CIL Label */ ;
23412  }
23413
23414  while_break___0: ;
23415#line 3894
23416  return;
23417}
23418}
23419#line 3904 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23420static int dc395x_slave_alloc(struct scsi_device *scsi_device ) 
23421{ struct AdapterCtlBlk *acb ;
23422  struct DeviceCtlBlk *dcb ;
23423  struct Scsi_Host *__cil_tmp4 ;
23424  unsigned long *__cil_tmp5 ;
23425  unsigned int __cil_tmp6 ;
23426  u8 __cil_tmp7 ;
23427  unsigned int __cil_tmp8 ;
23428  u8 __cil_tmp9 ;
23429
23430  {
23431  {
23432#line 3906
23433  __cil_tmp4 = scsi_device->host;
23434#line 3906
23435  __cil_tmp5 = & __cil_tmp4->hostdata[0];
23436#line 3906
23437  acb = (struct AdapterCtlBlk *)__cil_tmp5;
23438#line 3909
23439  __cil_tmp6 = scsi_device->id;
23440#line 3909
23441  __cil_tmp7 = (u8 )__cil_tmp6;
23442#line 3909
23443  __cil_tmp8 = scsi_device->lun;
23444#line 3909
23445  __cil_tmp9 = (u8 )__cil_tmp8;
23446#line 3909
23447  dcb = device_alloc(acb, __cil_tmp7, __cil_tmp9);
23448  }
23449#line 3910
23450  if (! dcb) {
23451#line 3911
23452    return (-12);
23453  } else {
23454
23455  }
23456  {
23457#line 3912
23458  adapter_add_device(acb, dcb);
23459  }
23460#line 3914
23461  return (0);
23462}
23463}
23464#line 3924 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23465static void dc395x_slave_destroy(struct scsi_device *scsi_device ) 
23466{ struct AdapterCtlBlk *acb ;
23467  struct DeviceCtlBlk *dcb ;
23468  struct DeviceCtlBlk *tmp___7 ;
23469  struct Scsi_Host *__cil_tmp5 ;
23470  unsigned long *__cil_tmp6 ;
23471  unsigned int __cil_tmp7 ;
23472  u8 __cil_tmp8 ;
23473  unsigned int __cil_tmp9 ;
23474  u8 __cil_tmp10 ;
23475
23476  {
23477  {
23478#line 3926
23479  __cil_tmp5 = scsi_device->host;
23480#line 3926
23481  __cil_tmp6 = & __cil_tmp5->hostdata[0];
23482#line 3926
23483  acb = (struct AdapterCtlBlk *)__cil_tmp6;
23484#line 3927
23485  __cil_tmp7 = scsi_device->id;
23486#line 3927
23487  __cil_tmp8 = (u8 )__cil_tmp7;
23488#line 3927
23489  __cil_tmp9 = scsi_device->lun;
23490#line 3927
23491  __cil_tmp10 = (u8 )__cil_tmp9;
23492#line 3927
23493  tmp___7 = find_dcb(acb, __cil_tmp8, __cil_tmp10);
23494#line 3927
23495  dcb = tmp___7;
23496  }
23497#line 3928
23498  if (dcb) {
23499    {
23500#line 3929
23501    adapter_remove_and_free_device(acb, dcb);
23502    }
23503  } else {
23504
23505  }
23506#line 3930
23507  return;
23508}
23509}
23510#line 3942
23511static void trms1040_wait_30us(unsigned long io_port )  __attribute__((__section__(".devinit.text"),
23512__no_instrument_function__)) ;
23513#line 3942
23514static void trms1040_wait_30us(unsigned long io_port )  __attribute__((__section__(".devinit.text"),
23515__no_instrument_function__)) ;
23516#line 3942 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23517static void trms1040_wait_30us(unsigned long io_port ) 
23518{ unsigned char tmp___7 ;
23519  unsigned long __cil_tmp3 ;
23520  int __cil_tmp4 ;
23521  unsigned long __cil_tmp5 ;
23522  int __cil_tmp6 ;
23523  int __cil_tmp7 ;
23524
23525  {
23526  {
23527#line 3945
23528  __cil_tmp3 = io_port + 219UL;
23529#line 3945
23530  __cil_tmp4 = (int )__cil_tmp3;
23531#line 3945
23532  outb((unsigned char)5, __cil_tmp4);
23533  }
23534  {
23535#line 3946
23536  while (1) {
23537    while_continue: /* CIL Label */ ;
23538    {
23539#line 3946
23540    __cil_tmp5 = io_port + 213UL;
23541#line 3946
23542    __cil_tmp6 = (int )__cil_tmp5;
23543#line 3946
23544    tmp___7 = inb(__cil_tmp6);
23545    }
23546    {
23547#line 3946
23548    __cil_tmp7 = (int )tmp___7;
23549#line 3946
23550    if (__cil_tmp7 & 128) {
23551#line 3946
23552      goto while_break;
23553    } else {
23554
23555    }
23556    }
23557  }
23558  while_break___0: /* CIL Label */ ;
23559  }
23560
23561  while_break: ;
23562#line 3948
23563  return;
23564}
23565}
23566#line 3959
23567static void trms1040_write_cmd(unsigned long io_port , u8 cmd , u8 addr )  __attribute__((__section__(".devinit.text"),
23568__no_instrument_function__)) ;
23569#line 3959
23570static void trms1040_write_cmd(unsigned long io_port , u8 cmd , u8 addr )  __attribute__((__section__(".devinit.text"),
23571__no_instrument_function__)) ;
23572#line 3959 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23573static void trms1040_write_cmd(unsigned long io_port , u8 cmd , u8 addr ) 
23574{ int i ;
23575  u8 send_data ;
23576  int __cil_tmp6 ;
23577  int __cil_tmp7 ;
23578  int __cil_tmp8 ;
23579  unsigned long __cil_tmp9 ;
23580  int __cil_tmp10 ;
23581  int __cil_tmp11 ;
23582  int __cil_tmp12 ;
23583  unsigned char __cil_tmp13 ;
23584  unsigned long __cil_tmp14 ;
23585  int __cil_tmp15 ;
23586  int __cil_tmp16 ;
23587  int __cil_tmp17 ;
23588  int __cil_tmp18 ;
23589  int __cil_tmp19 ;
23590  int __cil_tmp20 ;
23591  unsigned long __cil_tmp21 ;
23592  int __cil_tmp22 ;
23593  int __cil_tmp23 ;
23594  int __cil_tmp24 ;
23595  unsigned char __cil_tmp25 ;
23596  unsigned long __cil_tmp26 ;
23597  int __cil_tmp27 ;
23598  int __cil_tmp28 ;
23599  int __cil_tmp29 ;
23600  unsigned long __cil_tmp30 ;
23601  int __cil_tmp31 ;
23602
23603  {
23604#line 3965
23605  i = 0;
23606  {
23607#line 3965
23608  while (1) {
23609    while_continue: /* CIL Label */ ;
23610
23611#line 3965
23612    if (i < 3) {
23613
23614    } else {
23615#line 3965
23616      goto while_break;
23617    }
23618#line 3966
23619    send_data = (u8 )1;
23620    {
23621#line 3967
23622    __cil_tmp6 = (int )cmd;
23623#line 3967
23624    if (__cil_tmp6 & 4) {
23625#line 3968
23626      __cil_tmp7 = (int )send_data;
23627#line 3968
23628      __cil_tmp8 = __cil_tmp7 | 8;
23629#line 3968
23630      send_data = (u8 )__cil_tmp8;
23631    } else {
23632
23633    }
23634    }
23635    {
23636#line 3970
23637    __cil_tmp9 = io_port + 214UL;
23638#line 3970
23639    __cil_tmp10 = (int )__cil_tmp9;
23640#line 3970
23641    outb(send_data, __cil_tmp10);
23642#line 3971
23643    trms1040_wait_30us(io_port);
23644#line 3972
23645    __cil_tmp11 = (int )send_data;
23646#line 3972
23647    __cil_tmp12 = __cil_tmp11 | 2;
23648#line 3972
23649    __cil_tmp13 = (unsigned char )__cil_tmp12;
23650#line 3972
23651    __cil_tmp14 = io_port + 214UL;
23652#line 3972
23653    __cil_tmp15 = (int )__cil_tmp14;
23654#line 3972
23655    outb(__cil_tmp13, __cil_tmp15);
23656#line 3974
23657    trms1040_wait_30us(io_port);
23658#line 3965
23659    i = i + 1;
23660#line 3965
23661    __cil_tmp16 = (int )cmd;
23662#line 3965
23663    __cil_tmp17 = __cil_tmp16 << 1;
23664#line 3965
23665    cmd = (u8 )__cil_tmp17;
23666    }
23667  }
23668  while_break___1: /* CIL Label */ ;
23669  }
23670
23671  while_break: 
23672#line 3978
23673  i = 0;
23674  {
23675#line 3978
23676  while (1) {
23677    while_continue___0: /* CIL Label */ ;
23678
23679#line 3978
23680    if (i < 7) {
23681
23682    } else {
23683#line 3978
23684      goto while_break___0;
23685    }
23686#line 3979
23687    send_data = (u8 )1;
23688    {
23689#line 3980
23690    __cil_tmp18 = (int )addr;
23691#line 3980
23692    if (__cil_tmp18 & 64) {
23693#line 3981
23694      __cil_tmp19 = (int )send_data;
23695#line 3981
23696      __cil_tmp20 = __cil_tmp19 | 8;
23697#line 3981
23698      send_data = (u8 )__cil_tmp20;
23699    } else {
23700
23701    }
23702    }
23703    {
23704#line 3983
23705    __cil_tmp21 = io_port + 214UL;
23706#line 3983
23707    __cil_tmp22 = (int )__cil_tmp21;
23708#line 3983
23709    outb(send_data, __cil_tmp22);
23710#line 3984
23711    trms1040_wait_30us(io_port);
23712#line 3985
23713    __cil_tmp23 = (int )send_data;
23714#line 3985
23715    __cil_tmp24 = __cil_tmp23 | 2;
23716#line 3985
23717    __cil_tmp25 = (unsigned char )__cil_tmp24;
23718#line 3985
23719    __cil_tmp26 = io_port + 214UL;
23720#line 3985
23721    __cil_tmp27 = (int )__cil_tmp26;
23722#line 3985
23723    outb(__cil_tmp25, __cil_tmp27);
23724#line 3987
23725    trms1040_wait_30us(io_port);
23726#line 3978
23727    i = i + 1;
23728#line 3978
23729    __cil_tmp28 = (int )addr;
23730#line 3978
23731    __cil_tmp29 = __cil_tmp28 << 1;
23732#line 3978
23733    addr = (u8 )__cil_tmp29;
23734    }
23735  }
23736  while_break___2: /* CIL Label */ ;
23737  }
23738
23739  while_break___0: 
23740  {
23741#line 3989
23742  __cil_tmp30 = io_port + 214UL;
23743#line 3989
23744  __cil_tmp31 = (int )__cil_tmp30;
23745#line 3989
23746  outb((unsigned char)1, __cil_tmp31);
23747#line 3990
23748  trms1040_wait_30us(io_port);
23749  }
23750#line 3991
23751  return;
23752}
23753}
23754#line 4004
23755static void trms1040_set_data(unsigned long io_port , u8 addr , u8 byte )  __attribute__((__section__(".devinit.text"),
23756__no_instrument_function__)) ;
23757#line 4004
23758static void trms1040_set_data(unsigned long io_port , u8 addr , u8 byte )  __attribute__((__section__(".devinit.text"),
23759__no_instrument_function__)) ;
23760#line 4004 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23761static void trms1040_set_data(unsigned long io_port , u8 addr , u8 byte ) 
23762{ int i ;
23763  u8 send_data ;
23764  unsigned char tmp___7 ;
23765  u8 __cil_tmp7 ;
23766  int __cil_tmp8 ;
23767  int __cil_tmp9 ;
23768  int __cil_tmp10 ;
23769  unsigned long __cil_tmp11 ;
23770  int __cil_tmp12 ;
23771  int __cil_tmp13 ;
23772  int __cil_tmp14 ;
23773  unsigned char __cil_tmp15 ;
23774  unsigned long __cil_tmp16 ;
23775  int __cil_tmp17 ;
23776  int __cil_tmp18 ;
23777  int __cil_tmp19 ;
23778  unsigned long __cil_tmp20 ;
23779  int __cil_tmp21 ;
23780  unsigned long __cil_tmp22 ;
23781  int __cil_tmp23 ;
23782  unsigned long __cil_tmp24 ;
23783  int __cil_tmp25 ;
23784  unsigned long __cil_tmp26 ;
23785  int __cil_tmp27 ;
23786  unsigned long __cil_tmp28 ;
23787  int __cil_tmp29 ;
23788  unsigned long __cil_tmp30 ;
23789  int __cil_tmp31 ;
23790  int __cil_tmp32 ;
23791  unsigned long __cil_tmp33 ;
23792  int __cil_tmp34 ;
23793
23794  {
23795  {
23796#line 4010
23797  __cil_tmp7 = (u8 )5;
23798#line 4010
23799  trms1040_write_cmd(io_port, __cil_tmp7, addr);
23800#line 4013
23801  i = 0;
23802  }
23803  {
23804#line 4013
23805  while (1) {
23806    while_continue: /* CIL Label */ ;
23807
23808#line 4013
23809    if (i < 8) {
23810
23811    } else {
23812#line 4013
23813      goto while_break;
23814    }
23815#line 4014
23816    send_data = (u8 )1;
23817    {
23818#line 4015
23819    __cil_tmp8 = (int )byte;
23820#line 4015
23821    if (__cil_tmp8 & 128) {
23822#line 4016
23823      __cil_tmp9 = (int )send_data;
23824#line 4016
23825      __cil_tmp10 = __cil_tmp9 | 8;
23826#line 4016
23827      send_data = (u8 )__cil_tmp10;
23828    } else {
23829
23830    }
23831    }
23832    {
23833#line 4018
23834    __cil_tmp11 = io_port + 214UL;
23835#line 4018
23836    __cil_tmp12 = (int )__cil_tmp11;
23837#line 4018
23838    outb(send_data, __cil_tmp12);
23839#line 4019
23840    trms1040_wait_30us(io_port);
23841#line 4020
23842    __cil_tmp13 = (int )send_data;
23843#line 4020
23844    __cil_tmp14 = __cil_tmp13 | 2;
23845#line 4020
23846    __cil_tmp15 = (unsigned char )__cil_tmp14;
23847#line 4020
23848    __cil_tmp16 = io_port + 214UL;
23849#line 4020
23850    __cil_tmp17 = (int )__cil_tmp16;
23851#line 4020
23852    outb(__cil_tmp15, __cil_tmp17);
23853#line 4021
23854    trms1040_wait_30us(io_port);
23855#line 4013
23856    i = i + 1;
23857#line 4013
23858    __cil_tmp18 = (int )byte;
23859#line 4013
23860    __cil_tmp19 = __cil_tmp18 << 1;
23861#line 4013
23862    byte = (u8 )__cil_tmp19;
23863    }
23864  }
23865  while_break___1: /* CIL Label */ ;
23866  }
23867
23868  while_break: 
23869  {
23870#line 4023
23871  __cil_tmp20 = io_port + 214UL;
23872#line 4023
23873  __cil_tmp21 = (int )__cil_tmp20;
23874#line 4023
23875  outb((unsigned char)1, __cil_tmp21);
23876#line 4024
23877  trms1040_wait_30us(io_port);
23878#line 4027
23879  __cil_tmp22 = io_port + 214UL;
23880#line 4027
23881  __cil_tmp23 = (int )__cil_tmp22;
23882#line 4027
23883  outb((unsigned char)0, __cil_tmp23);
23884#line 4028
23885  trms1040_wait_30us(io_port);
23886#line 4030
23887  __cil_tmp24 = io_port + 214UL;
23888#line 4030
23889  __cil_tmp25 = (int )__cil_tmp24;
23890#line 4030
23891  outb((unsigned char)1, __cil_tmp25);
23892#line 4031
23893  trms1040_wait_30us(io_port);
23894  }
23895  {
23896#line 4034
23897  while (1) {
23898    while_continue___0: /* CIL Label */ ;
23899    {
23900#line 4035
23901    __cil_tmp26 = io_port + 214UL;
23902#line 4035
23903    __cil_tmp27 = (int )__cil_tmp26;
23904#line 4035
23905    outb((unsigned char)3, __cil_tmp27);
23906#line 4036
23907    trms1040_wait_30us(io_port);
23908#line 4038
23909    __cil_tmp28 = io_port + 214UL;
23910#line 4038
23911    __cil_tmp29 = (int )__cil_tmp28;
23912#line 4038
23913    outb((unsigned char)1, __cil_tmp29);
23914#line 4039
23915    trms1040_wait_30us(io_port);
23916#line 4041
23917    __cil_tmp30 = io_port + 214UL;
23918#line 4041
23919    __cil_tmp31 = (int )__cil_tmp30;
23920#line 4041
23921    tmp___7 = inb(__cil_tmp31);
23922    }
23923    {
23924#line 4041
23925    __cil_tmp32 = (int )tmp___7;
23926#line 4041
23927    if (__cil_tmp32 & 4) {
23928#line 4042
23929      goto while_break___0;
23930    } else {
23931
23932    }
23933    }
23934  }
23935  while_break___2: /* CIL Label */ ;
23936  }
23937
23938  while_break___0: 
23939  {
23940#line 4046
23941  __cil_tmp33 = io_port + 214UL;
23942#line 4046
23943  __cil_tmp34 = (int )__cil_tmp33;
23944#line 4046
23945  outb((unsigned char)0, __cil_tmp34);
23946  }
23947#line 4047
23948  return;
23949}
23950}
23951#line 4058
23952static void trms1040_write_all(struct NvRamType *eeprom , unsigned long io_port )  __attribute__((__section__(".devinit.text"),
23953__no_instrument_function__)) ;
23954#line 4058
23955static void trms1040_write_all(struct NvRamType *eeprom , unsigned long io_port )  __attribute__((__section__(".devinit.text"),
23956__no_instrument_function__)) ;
23957#line 4058 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23958static void trms1040_write_all(struct NvRamType *eeprom , unsigned long io_port ) 
23959{ u8 *b_eeprom ;
23960  u8 addr ;
23961  unsigned char tmp___7 ;
23962  unsigned char tmp___8 ;
23963  unsigned long __cil_tmp7 ;
23964  int __cil_tmp8 ;
23965  int __cil_tmp9 ;
23966  int __cil_tmp10 ;
23967  unsigned char __cil_tmp11 ;
23968  unsigned long __cil_tmp12 ;
23969  int __cil_tmp13 ;
23970  u8 __cil_tmp14 ;
23971  u8 __cil_tmp15 ;
23972  unsigned long __cil_tmp16 ;
23973  int __cil_tmp17 ;
23974  int __cil_tmp18 ;
23975  u8 __cil_tmp19 ;
23976  int __cil_tmp20 ;
23977  int __cil_tmp21 ;
23978  u8 __cil_tmp22 ;
23979  u8 __cil_tmp23 ;
23980  unsigned long __cil_tmp24 ;
23981  int __cil_tmp25 ;
23982  unsigned long __cil_tmp26 ;
23983  int __cil_tmp27 ;
23984  int __cil_tmp28 ;
23985  int __cil_tmp29 ;
23986  unsigned char __cil_tmp30 ;
23987  unsigned long __cil_tmp31 ;
23988  int __cil_tmp32 ;
23989
23990  {
23991  {
23992#line 4060
23993  b_eeprom = (u8 *)eeprom;
23994#line 4064
23995  __cil_tmp7 = io_port + 212UL;
23996#line 4064
23997  __cil_tmp8 = (int )__cil_tmp7;
23998#line 4064
23999  tmp___7 = inb(__cil_tmp8);
24000#line 4064
24001  __cil_tmp9 = (int )tmp___7;
24002#line 4064
24003  __cil_tmp10 = __cil_tmp9 | 16;
24004#line 4064
24005  __cil_tmp11 = (unsigned char )__cil_tmp10;
24006#line 4064
24007  __cil_tmp12 = io_port + 212UL;
24008#line 4064
24009  __cil_tmp13 = (int )__cil_tmp12;
24010#line 4064
24011  outb(__cil_tmp11, __cil_tmp13);
24012#line 4068
24013  __cil_tmp14 = (u8 )4;
24014#line 4068
24015  __cil_tmp15 = (u8 )255;
24016#line 4068
24017  trms1040_write_cmd(io_port, __cil_tmp14, __cil_tmp15);
24018#line 4069
24019  __cil_tmp16 = io_port + 214UL;
24020#line 4069
24021  __cil_tmp17 = (int )__cil_tmp16;
24022#line 4069
24023  outb((unsigned char)0, __cil_tmp17);
24024#line 4070
24025  trms1040_wait_30us(io_port);
24026#line 4073
24027  addr = (u8 )0;
24028  }
24029  {
24030#line 4073
24031  while (1) {
24032    while_continue: /* CIL Label */ ;
24033
24034    {
24035#line 4073
24036    __cil_tmp18 = (int )addr;
24037#line 4073
24038    if (__cil_tmp18 < 128) {
24039
24040    } else {
24041#line 4073
24042      goto while_break;
24043    }
24044    }
24045    {
24046#line 4074
24047    __cil_tmp19 = *b_eeprom;
24048#line 4074
24049    trms1040_set_data(io_port, addr, __cil_tmp19);
24050#line 4073
24051    __cil_tmp20 = (int )addr;
24052#line 4073
24053    __cil_tmp21 = __cil_tmp20 + 1;
24054#line 4073
24055    addr = (u8 )__cil_tmp21;
24056#line 4073
24057    b_eeprom = b_eeprom + 1;
24058    }
24059  }
24060  while_break___0: /* CIL Label */ ;
24061  }
24062
24063  while_break: 
24064  {
24065#line 4077
24066  __cil_tmp22 = (u8 )4;
24067#line 4077
24068  __cil_tmp23 = (u8 )0;
24069#line 4077
24070  trms1040_write_cmd(io_port, __cil_tmp22, __cil_tmp23);
24071#line 4078
24072  __cil_tmp24 = io_port + 214UL;
24073#line 4078
24074  __cil_tmp25 = (int )__cil_tmp24;
24075#line 4078
24076  outb((unsigned char)0, __cil_tmp25);
24077#line 4079
24078  trms1040_wait_30us(io_port);
24079#line 4082
24080  __cil_tmp26 = io_port + 212UL;
24081#line 4082
24082  __cil_tmp27 = (int )__cil_tmp26;
24083#line 4082
24084  tmp___8 = inb(__cil_tmp27);
24085#line 4082
24086  __cil_tmp28 = (int )tmp___8;
24087#line 4082
24088  __cil_tmp29 = __cil_tmp28 & -17;
24089#line 4082
24090  __cil_tmp30 = (unsigned char )__cil_tmp29;
24091#line 4082
24092  __cil_tmp31 = io_port + 212UL;
24093#line 4082
24094  __cil_tmp32 = (int )__cil_tmp31;
24095#line 4082
24096  outb(__cil_tmp30, __cil_tmp32);
24097  }
24098#line 4084
24099  return;
24100}
24101}
24102#line 4098
24103static u8 trms1040_get_data(unsigned long io_port , u8 addr )  __attribute__((__section__(".devinit.text"),
24104__no_instrument_function__)) ;
24105#line 4098
24106static u8 trms1040_get_data(unsigned long io_port , u8 addr )  __attribute__((__section__(".devinit.text"),
24107__no_instrument_function__)) ;
24108#line 4098 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24109static u8 trms1040_get_data(unsigned long io_port , u8 addr ) 
24110{ int i ;
24111  u8 read_byte ;
24112  u8 result ;
24113  u8 __cil_tmp6 ;
24114  unsigned long __cil_tmp7 ;
24115  int __cil_tmp8 ;
24116  unsigned long __cil_tmp9 ;
24117  int __cil_tmp10 ;
24118  unsigned long __cil_tmp11 ;
24119  int __cil_tmp12 ;
24120  int __cil_tmp13 ;
24121  int __cil_tmp14 ;
24122  int __cil_tmp15 ;
24123  int __cil_tmp16 ;
24124  int __cil_tmp17 ;
24125  unsigned long __cil_tmp18 ;
24126  int __cil_tmp19 ;
24127
24128  {
24129  {
24130#line 4102
24131  result = (u8 )0;
24132#line 4105
24133  __cil_tmp6 = (u8 )6;
24134#line 4105
24135  trms1040_write_cmd(io_port, __cil_tmp6, addr);
24136#line 4108
24137  i = 0;
24138  }
24139  {
24140#line 4108
24141  while (1) {
24142    while_continue: /* CIL Label */ ;
24143
24144#line 4108
24145    if (i < 8) {
24146
24147    } else {
24148#line 4108
24149      goto while_break;
24150    }
24151    {
24152#line 4109
24153    __cil_tmp7 = io_port + 214UL;
24154#line 4109
24155    __cil_tmp8 = (int )__cil_tmp7;
24156#line 4109
24157    outb((unsigned char)3, __cil_tmp8);
24158#line 4110
24159    trms1040_wait_30us(io_port);
24160#line 4111
24161    __cil_tmp9 = io_port + 214UL;
24162#line 4111
24163    __cil_tmp10 = (int )__cil_tmp9;
24164#line 4111
24165    outb((unsigned char)1, __cil_tmp10);
24166#line 4114
24167    __cil_tmp11 = io_port + 214UL;
24168#line 4114
24169    __cil_tmp12 = (int )__cil_tmp11;
24170#line 4114
24171    read_byte = inb(__cil_tmp12);
24172#line 4115
24173    __cil_tmp13 = (int )result;
24174#line 4115
24175    __cil_tmp14 = __cil_tmp13 << 1;
24176#line 4115
24177    result = (u8 )__cil_tmp14;
24178    }
24179    {
24180#line 4116
24181    __cil_tmp15 = (int )read_byte;
24182#line 4116
24183    if (__cil_tmp15 & 4) {
24184#line 4117
24185      __cil_tmp16 = (int )result;
24186#line 4117
24187      __cil_tmp17 = __cil_tmp16 | 1;
24188#line 4117
24189      result = (u8 )__cil_tmp17;
24190    } else {
24191
24192    }
24193    }
24194    {
24195#line 4119
24196    trms1040_wait_30us(io_port);
24197#line 4108
24198    i = i + 1;
24199    }
24200  }
24201  while_break___0: /* CIL Label */ ;
24202  }
24203
24204  while_break: 
24205  {
24206#line 4123
24207  __cil_tmp18 = io_port + 214UL;
24208#line 4123
24209  __cil_tmp19 = (int )__cil_tmp18;
24210#line 4123
24211  outb((unsigned char)0, __cil_tmp19);
24212  }
24213#line 4124
24214  return (result);
24215}
24216}
24217#line 4136
24218static void trms1040_read_all(struct NvRamType *eeprom , unsigned long io_port )  __attribute__((__section__(".devinit.text"),
24219__no_instrument_function__)) ;
24220#line 4136
24221static void trms1040_read_all(struct NvRamType *eeprom , unsigned long io_port )  __attribute__((__section__(".devinit.text"),
24222__no_instrument_function__)) ;
24223#line 4136 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24224static void trms1040_read_all(struct NvRamType *eeprom , unsigned long io_port ) 
24225{ u8 *b_eeprom ;
24226  u8 addr ;
24227  unsigned char tmp___7 ;
24228  unsigned char tmp___8 ;
24229  unsigned long __cil_tmp7 ;
24230  int __cil_tmp8 ;
24231  int __cil_tmp9 ;
24232  int __cil_tmp10 ;
24233  unsigned char __cil_tmp11 ;
24234  unsigned long __cil_tmp12 ;
24235  int __cil_tmp13 ;
24236  int __cil_tmp14 ;
24237  int __cil_tmp15 ;
24238  int __cil_tmp16 ;
24239  unsigned long __cil_tmp17 ;
24240  int __cil_tmp18 ;
24241  int __cil_tmp19 ;
24242  int __cil_tmp20 ;
24243  unsigned char __cil_tmp21 ;
24244  unsigned long __cil_tmp22 ;
24245  int __cil_tmp23 ;
24246
24247  {
24248  {
24249#line 4138
24250  b_eeprom = (u8 *)eeprom;
24251#line 4142
24252  __cil_tmp7 = io_port + 212UL;
24253#line 4142
24254  __cil_tmp8 = (int )__cil_tmp7;
24255#line 4142
24256  tmp___7 = inb(__cil_tmp8);
24257#line 4142
24258  __cil_tmp9 = (int )tmp___7;
24259#line 4142
24260  __cil_tmp10 = __cil_tmp9 | 16;
24261#line 4142
24262  __cil_tmp11 = (unsigned char )__cil_tmp10;
24263#line 4142
24264  __cil_tmp12 = io_port + 212UL;
24265#line 4142
24266  __cil_tmp13 = (int )__cil_tmp12;
24267#line 4142
24268  outb(__cil_tmp11, __cil_tmp13);
24269#line 4146
24270  addr = (u8 )0;
24271  }
24272  {
24273#line 4146
24274  while (1) {
24275    while_continue: /* CIL Label */ ;
24276
24277    {
24278#line 4146
24279    __cil_tmp14 = (int )addr;
24280#line 4146
24281    if (__cil_tmp14 < 128) {
24282
24283    } else {
24284#line 4146
24285      goto while_break;
24286    }
24287    }
24288    {
24289#line 4147
24290    *b_eeprom = trms1040_get_data(io_port, addr);
24291#line 4146
24292    __cil_tmp15 = (int )addr;
24293#line 4146
24294    __cil_tmp16 = __cil_tmp15 + 1;
24295#line 4146
24296    addr = (u8 )__cil_tmp16;
24297#line 4146
24298    b_eeprom = b_eeprom + 1;
24299    }
24300  }
24301  while_break___0: /* CIL Label */ ;
24302  }
24303
24304  while_break: 
24305  {
24306#line 4150
24307  __cil_tmp17 = io_port + 212UL;
24308#line 4150
24309  __cil_tmp18 = (int )__cil_tmp17;
24310#line 4150
24311  tmp___8 = inb(__cil_tmp18);
24312#line 4150
24313  __cil_tmp19 = (int )tmp___8;
24314#line 4150
24315  __cil_tmp20 = __cil_tmp19 & -17;
24316#line 4150
24317  __cil_tmp21 = (unsigned char )__cil_tmp20;
24318#line 4150
24319  __cil_tmp22 = io_port + 212UL;
24320#line 4150
24321  __cil_tmp23 = (int )__cil_tmp22;
24322#line 4150
24323  outb(__cil_tmp21, __cil_tmp23);
24324  }
24325#line 4152
24326  return;
24327}
24328}
24329#line 4166
24330static void check_eeprom(struct NvRamType *eeprom , unsigned long io_port )  __attribute__((__section__(".devinit.text"),
24331__no_instrument_function__)) ;
24332#line 4166
24333static void check_eeprom(struct NvRamType *eeprom , unsigned long io_port )  __attribute__((__section__(".devinit.text"),
24334__no_instrument_function__)) ;
24335#line 4166 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24336static void check_eeprom(struct NvRamType *eeprom , unsigned long io_port ) 
24337{ u16 *w_eeprom ;
24338  u16 w_addr ;
24339  u16 cksum ;
24340  u32 d_addr ;
24341  u32 *d_eeprom ;
24342  u32 *tmp___7 ;
24343  u32 *tmp___8 ;
24344  int __cil_tmp10 ;
24345  u16 __cil_tmp11 ;
24346  int __cil_tmp12 ;
24347  int __cil_tmp13 ;
24348  int __cil_tmp14 ;
24349  int __cil_tmp15 ;
24350  int __cil_tmp16 ;
24351  int __cil_tmp17 ;
24352  int __cil_tmp18 ;
24353  int __cil_tmp19 ;
24354  int __cil_tmp20 ;
24355  int __cil_tmp21 ;
24356  struct NVRamTarget *__cil_tmp22 ;
24357  int __cil_tmp23 ;
24358  u16 __cil_tmp24 ;
24359  int __cil_tmp25 ;
24360  int __cil_tmp26 ;
24361  int __cil_tmp27 ;
24362  int __cil_tmp28 ;
24363  int __cil_tmp29 ;
24364  int __cil_tmp30 ;
24365  int __cil_tmp31 ;
24366
24367  {
24368  {
24369#line 4168
24370  w_eeprom = (u16 *)eeprom;
24371#line 4174
24372  trms1040_read_all(eeprom, io_port);
24373#line 4176
24374  cksum = (u16 )0;
24375#line 4177
24376  w_addr = (u16 )0;
24377#line 4177
24378  w_eeprom = (u16 *)eeprom;
24379  }
24380  {
24381#line 4177
24382  while (1) {
24383    while_continue: /* CIL Label */ ;
24384
24385    {
24386#line 4177
24387    __cil_tmp10 = (int )w_addr;
24388#line 4177
24389    if (__cil_tmp10 < 64) {
24390
24391    } else {
24392#line 4177
24393      goto while_break;
24394    }
24395    }
24396#line 4179
24397    __cil_tmp11 = *w_eeprom;
24398#line 4179
24399    __cil_tmp12 = (int )__cil_tmp11;
24400#line 4179
24401    __cil_tmp13 = (int )cksum;
24402#line 4179
24403    __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
24404#line 4179
24405    cksum = (u16 )__cil_tmp14;
24406#line 4177
24407    __cil_tmp15 = (int )w_addr;
24408#line 4177
24409    __cil_tmp16 = __cil_tmp15 + 1;
24410#line 4177
24411    w_addr = (u16 )__cil_tmp16;
24412#line 4177
24413    w_eeprom = w_eeprom + 1;
24414  }
24415  while_break___3: /* CIL Label */ ;
24416  }
24417
24418  while_break: ;
24419  {
24420#line 4180
24421  __cil_tmp17 = (int )cksum;
24422#line 4180
24423  if (__cil_tmp17 != 4660) {
24424    {
24425#line 4185
24426    printk("<4>dc395x: EEProm checksum error: using default values and options.\n");
24427#line 4187
24428    eeprom->sub_vendor_id[0] = (u8 )7649;
24429#line 4188
24430    __cil_tmp18 = 7649 >> 8;
24431#line 4188
24432    eeprom->sub_vendor_id[1] = (u8 )__cil_tmp18;
24433#line 4189
24434    eeprom->sub_sys_id[0] = (u8 )913;
24435#line 4190
24436    __cil_tmp19 = 913 >> 8;
24437#line 4190
24438    eeprom->sub_sys_id[1] = (u8 )__cil_tmp19;
24439#line 4192
24440    eeprom->sub_class = (u8 )0;
24441#line 4193
24442    eeprom->vendor_id[0] = (u8 )7649;
24443#line 4194
24444    __cil_tmp20 = 7649 >> 8;
24445#line 4194
24446    eeprom->vendor_id[1] = (u8 )__cil_tmp20;
24447#line 4195
24448    eeprom->device_id[0] = (u8 )913;
24449#line 4196
24450    __cil_tmp21 = 913 >> 8;
24451#line 4196
24452    eeprom->device_id[1] = (u8 )__cil_tmp21;
24453#line 4198
24454    eeprom->reserved = (u8 )0;
24455#line 4200
24456    d_addr = (u32 )0;
24457#line 4200
24458    __cil_tmp22 = & eeprom->target[0];
24459#line 4200
24460    d_eeprom = (u32 *)__cil_tmp22;
24461    }
24462    {
24463#line 4200
24464    while (1) {
24465      while_continue___0: /* CIL Label */ ;
24466
24467#line 4200
24468      if (d_addr < 16U) {
24469
24470      } else {
24471#line 4200
24472        goto while_break___0;
24473      }
24474#line 4202
24475      *d_eeprom = (u32 )119;
24476#line 4200
24477      d_addr = d_addr + 1U;
24478#line 4200
24479      d_eeprom = d_eeprom + 1;
24480    }
24481    while_break___4: /* CIL Label */ ;
24482    }
24483
24484    while_break___0: 
24485#line 4204
24486    tmp___7 = d_eeprom;
24487#line 4204
24488    d_eeprom = d_eeprom + 1;
24489#line 4204
24490    *tmp___7 = (u32 )67112711;
24491#line 4205
24492    tmp___8 = d_eeprom;
24493#line 4205
24494    d_eeprom = d_eeprom + 1;
24495#line 4205
24496    *tmp___8 = (u32 )21;
24497#line 4206
24498    d_addr = (u32 )0;
24499    {
24500#line 4206
24501    while (1) {
24502      while_continue___1: /* CIL Label */ ;
24503
24504#line 4206
24505      if (d_addr < 12U) {
24506
24507      } else {
24508#line 4206
24509        goto while_break___1;
24510      }
24511#line 4207
24512      *d_eeprom = (u32 )0;
24513#line 4206
24514      d_addr = d_addr + 1U;
24515#line 4206
24516      d_eeprom = d_eeprom + 1;
24517    }
24518    while_break___5: /* CIL Label */ ;
24519    }
24520
24521    while_break___1: 
24522    {
24523#line 4210
24524    set_safe_settings();
24525#line 4211
24526    fix_settings();
24527#line 4212
24528    eeprom_override(eeprom);
24529#line 4214
24530    eeprom->cksum = (u16 )0;
24531#line 4215
24532    w_addr = (u16 )0;
24533#line 4215
24534    cksum = (u16 )0;
24535#line 4215
24536    w_eeprom = (u16 *)eeprom;
24537    }
24538    {
24539#line 4215
24540    while (1) {
24541      while_continue___2: /* CIL Label */ ;
24542
24543      {
24544#line 4215
24545      __cil_tmp23 = (int )w_addr;
24546#line 4215
24547      if (__cil_tmp23 < 63) {
24548
24549      } else {
24550#line 4215
24551        goto while_break___2;
24552      }
24553      }
24554#line 4217
24555      __cil_tmp24 = *w_eeprom;
24556#line 4217
24557      __cil_tmp25 = (int )__cil_tmp24;
24558#line 4217
24559      __cil_tmp26 = (int )cksum;
24560#line 4217
24561      __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
24562#line 4217
24563      cksum = (u16 )__cil_tmp27;
24564#line 4215
24565      __cil_tmp28 = (int )w_addr;
24566#line 4215
24567      __cil_tmp29 = __cil_tmp28 + 1;
24568#line 4215
24569      w_addr = (u16 )__cil_tmp29;
24570#line 4215
24571      w_eeprom = w_eeprom + 1;
24572    }
24573    while_break___6: /* CIL Label */ ;
24574    }
24575
24576    while_break___2: 
24577    {
24578#line 4219
24579    __cil_tmp30 = (int )cksum;
24580#line 4219
24581    __cil_tmp31 = 4660 - __cil_tmp30;
24582#line 4219
24583    *w_eeprom = (u16 )__cil_tmp31;
24584#line 4220
24585    trms1040_write_all(eeprom, io_port);
24586#line 4221
24587    eeprom->delay_time = (u8 )cfg_data[5].value;
24588    }
24589  } else {
24590    {
24591#line 4223
24592    set_safe_settings();
24593#line 4224
24594    eeprom_index_to_delay(eeprom);
24595#line 4225
24596    eeprom_override(eeprom);
24597    }
24598  }
24599  }
24600#line 4227
24601  return;
24602}
24603}
24604#line 4236
24605static void print_eeprom_settings(struct NvRamType *eeprom )  __attribute__((__section__(".devinit.text"),
24606__no_instrument_function__)) ;
24607#line 4236
24608static void print_eeprom_settings(struct NvRamType *eeprom )  __attribute__((__section__(".devinit.text"),
24609__no_instrument_function__)) ;
24610#line 4236 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24611static void print_eeprom_settings(struct NvRamType *eeprom ) 
24612{ u8 __cil_tmp2 ;
24613  int __cil_tmp3 ;
24614  u8 __cil_tmp4 ;
24615  int __cil_tmp5 ;
24616  int __cil_tmp6 ;
24617  int __cil_tmp7 ;
24618  int __cil_tmp8 ;
24619  int __cil_tmp9 ;
24620  u8 __cil_tmp10 ;
24621  int __cil_tmp11 ;
24622  u8 __cil_tmp12 ;
24623  int __cil_tmp13 ;
24624  u8 __cil_tmp14 ;
24625  int __cil_tmp15 ;
24626  u8 __cil_tmp16 ;
24627  int __cil_tmp17 ;
24628  int __cil_tmp18 ;
24629  u8 __cil_tmp19 ;
24630  int __cil_tmp20 ;
24631
24632  {
24633  {
24634#line 4238
24635  __cil_tmp2 = eeprom->scsi_id;
24636#line 4238
24637  __cil_tmp3 = (int )__cil_tmp2;
24638#line 4238
24639  __cil_tmp4 = eeprom->target[0].period;
24640#line 4238
24641  __cil_tmp5 = (int )__cil_tmp4;
24642#line 4238
24643  __cil_tmp6 = (int )clock_speed[eeprom->target[0].period];
24644#line 4238
24645  __cil_tmp7 = __cil_tmp6 / 10;
24646#line 4238
24647  __cil_tmp8 = (int )clock_speed[eeprom->target[0].period];
24648#line 4238
24649  __cil_tmp9 = __cil_tmp8 % 10;
24650#line 4238
24651  __cil_tmp10 = eeprom->target[0].cfg0;
24652#line 4238
24653  __cil_tmp11 = (int )__cil_tmp10;
24654#line 4238
24655  printk("<6>dc395x: Used settings: AdapterID=%02i, Speed=%i(%02i.%01iMHz), dev_mode=0x%02x\n",
24656         __cil_tmp3, __cil_tmp5, __cil_tmp7, __cil_tmp9, __cil_tmp11);
24657#line 4244
24658  __cil_tmp12 = eeprom->channel_cfg;
24659#line 4244
24660  __cil_tmp13 = (int )__cil_tmp12;
24661#line 4244
24662  __cil_tmp14 = eeprom->max_tag;
24663#line 4244
24664  __cil_tmp15 = (int )__cil_tmp14;
24665#line 4244
24666  __cil_tmp16 = eeprom->max_tag;
24667#line 4244
24668  __cil_tmp17 = (int )__cil_tmp16;
24669#line 4244
24670  __cil_tmp18 = 1 << __cil_tmp17;
24671#line 4244
24672  __cil_tmp19 = eeprom->delay_time;
24673#line 4244
24674  __cil_tmp20 = (int )__cil_tmp19;
24675#line 4244
24676  printk("<6>dc395x:                AdaptMode=0x%02x, Tags=%i(%02i), DelayReset=%is\n",
24677         __cil_tmp13, __cil_tmp15, __cil_tmp18, __cil_tmp20);
24678  }
24679#line 4247
24680  return;
24681}
24682}
24683#line 4251 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24684static void adapter_sg_tables_free(struct AdapterCtlBlk *acb ) 
24685{ int i ;
24686  unsigned int srbs_per_page ;
24687  unsigned long __cil_tmp4 ;
24688  unsigned long __cil_tmp5 ;
24689  unsigned long __cil_tmp6 ;
24690  struct SGentry *__cil_tmp7 ;
24691  void const   *__cil_tmp8 ;
24692  unsigned int __cil_tmp9 ;
24693  unsigned int __cil_tmp10 ;
24694
24695  {
24696#line 4254
24697  __cil_tmp4 = 8UL * 64UL;
24698#line 4254
24699  __cil_tmp5 = 1UL << 12;
24700#line 4254
24701  __cil_tmp6 = __cil_tmp5 / __cil_tmp4;
24702#line 4254
24703  srbs_per_page = (unsigned int )__cil_tmp6;
24704#line 4256
24705  i = 0;
24706  {
24707#line 4256
24708  while (1) {
24709    while_continue: /* CIL Label */ ;
24710
24711#line 4256
24712    if (i < 63) {
24713
24714    } else {
24715#line 4256
24716      goto while_break;
24717    }
24718    {
24719#line 4257
24720    __cil_tmp7 = acb->srb_array[i].segment_x;
24721#line 4257
24722    __cil_tmp8 = (void const   *)__cil_tmp7;
24723#line 4257
24724    kfree(__cil_tmp8);
24725#line 4256
24726    __cil_tmp9 = (unsigned int )i;
24727#line 4256
24728    __cil_tmp10 = __cil_tmp9 + srbs_per_page;
24729#line 4256
24730    i = (int )__cil_tmp10;
24731    }
24732  }
24733  while_break___0: /* CIL Label */ ;
24734  }
24735
24736  while_break: ;
24737#line 4258
24738  return;
24739}
24740}
24741#line 4264
24742static int adapter_sg_tables_alloc(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
24743__no_instrument_function__)) ;
24744#line 4264
24745static int adapter_sg_tables_alloc(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
24746__no_instrument_function__)) ;
24747#line 4264 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24748static int adapter_sg_tables_alloc(struct AdapterCtlBlk *acb ) 
24749{ unsigned int mem_needed ;
24750  int pages ;
24751  unsigned int srbs_per_page ;
24752  int srb_idx ;
24753  unsigned int i ;
24754  struct SGentry *ptr ;
24755  void *tmp___7 ;
24756  int tmp___8 ;
24757  unsigned int tmp___9 ;
24758  int tmp___10 ;
24759  unsigned long __cil_tmp12 ;
24760  unsigned long __cil_tmp13 ;
24761  unsigned long __cil_tmp14 ;
24762  unsigned long __cil_tmp15 ;
24763  unsigned long __cil_tmp16 ;
24764  unsigned long __cil_tmp17 ;
24765  unsigned long __cil_tmp18 ;
24766  unsigned long __cil_tmp19 ;
24767  unsigned long __cil_tmp20 ;
24768  unsigned long __cil_tmp21 ;
24769  unsigned long __cil_tmp22 ;
24770  void *__cil_tmp23 ;
24771  unsigned long __cil_tmp24 ;
24772  unsigned int __cil_tmp25 ;
24773  unsigned int __cil_tmp26 ;
24774
24775  {
24776#line 4266
24777  __cil_tmp12 = 8UL * 64UL;
24778#line 4266
24779  __cil_tmp13 = 64UL * __cil_tmp12;
24780#line 4266
24781  mem_needed = (unsigned int )__cil_tmp13;
24782#line 4268
24783  __cil_tmp14 = 1UL << 12;
24784#line 4268
24785  __cil_tmp15 = 1UL << 12;
24786#line 4268
24787  __cil_tmp16 = __cil_tmp15 - 1UL;
24788#line 4268
24789  __cil_tmp17 = (unsigned long )mem_needed;
24790#line 4268
24791  __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
24792#line 4268
24793  __cil_tmp19 = __cil_tmp18 / __cil_tmp14;
24794#line 4268
24795  pages = (int )__cil_tmp19;
24796#line 4269
24797  __cil_tmp20 = 8UL * 64UL;
24798#line 4269
24799  __cil_tmp21 = 1UL << 12;
24800#line 4269
24801  __cil_tmp22 = __cil_tmp21 / __cil_tmp20;
24802#line 4269
24803  srbs_per_page = (unsigned int )__cil_tmp22;
24804#line 4270
24805  srb_idx = 0;
24806#line 4271
24807  i = 0U;
24808#line 4272
24809  ptr = ptr;
24810#line 4274
24811  i = 0U;
24812  {
24813#line 4274
24814  while (1) {
24815    while_continue: /* CIL Label */ ;
24816
24817#line 4274
24818    if (i < 63U) {
24819
24820    } else {
24821#line 4274
24822      goto while_break;
24823    }
24824#line 4275
24825    __cil_tmp23 = (void *)0;
24826#line 4275
24827    acb->srb_array[i].segment_x = (struct SGentry *)__cil_tmp23;
24828#line 4274
24829    i = i + 1U;
24830  }
24831  while_break___4: /* CIL Label */ ;
24832  }
24833
24834  while_break: ;
24835  {
24836#line 4277
24837  while (1) {
24838    while_continue___0: /* CIL Label */ ;
24839
24840#line 4277
24841    goto while_break___0;
24842  }
24843  while_break___5: /* CIL Label */ ;
24844  }
24845
24846  while_break___0: ;
24847  {
24848#line 4278
24849  while (1) {
24850    while_continue___1: /* CIL Label */ ;
24851#line 4278
24852    tmp___10 = pages;
24853#line 4278
24854    pages = pages - 1;
24855#line 4278
24856    if (tmp___10) {
24857
24858    } else {
24859#line 4278
24860      goto while_break___1;
24861    }
24862    {
24863#line 4279
24864    __cil_tmp24 = 1UL << 12;
24865#line 4279
24866    tmp___7 = kmalloc(__cil_tmp24, 208U);
24867#line 4279
24868    ptr = (struct SGentry *)tmp___7;
24869    }
24870#line 4280
24871    if (! ptr) {
24872      {
24873#line 4281
24874      adapter_sg_tables_free(acb);
24875      }
24876#line 4282
24877      return (1);
24878    } else {
24879
24880    }
24881    {
24882#line 4284
24883    while (1) {
24884      while_continue___2: /* CIL Label */ ;
24885
24886#line 4284
24887      goto while_break___2;
24888    }
24889    while_break___7: /* CIL Label */ ;
24890    }
24891
24892    while_break___2: 
24893#line 4286
24894    i = 0U;
24895    {
24896#line 4287
24897    while (1) {
24898      while_continue___3: /* CIL Label */ ;
24899
24900#line 4287
24901      if (i < srbs_per_page) {
24902#line 4287
24903        if (srb_idx < 63) {
24904
24905        } else {
24906#line 4287
24907          goto while_break___3;
24908        }
24909      } else {
24910#line 4287
24911        goto while_break___3;
24912      }
24913#line 4288
24914      tmp___8 = srb_idx;
24915#line 4288
24916      srb_idx = srb_idx + 1;
24917#line 4288
24918      tmp___9 = i;
24919#line 4288
24920      i = i + 1U;
24921#line 4288
24922      __cil_tmp25 = tmp___9 * 64U;
24923#line 4288
24924      acb->srb_array[tmp___8].segment_x = ptr + __cil_tmp25;
24925    }
24926    while_break___8: /* CIL Label */ ;
24927    }
24928
24929    while_break___3: ;
24930  }
24931  while_break___6: /* CIL Label */ ;
24932  }
24933
24934  while_break___1: ;
24935#line 4291
24936  if (i < srbs_per_page) {
24937#line 4292
24938    __cil_tmp26 = i * 64U;
24939#line 4292
24940    acb->srb.segment_x = ptr + __cil_tmp26;
24941  } else {
24942    {
24943#line 4295
24944    printk("<7>dc395x: No space for tmsrb SG table reserved?!\n");
24945    }
24946  }
24947#line 4296
24948  return (0);
24949}
24950}
24951#line 4310
24952static void adapter_print_config(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
24953__no_instrument_function__)) ;
24954#line 4310
24955static void adapter_print_config(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
24956__no_instrument_function__)) ;
24957#line 4310 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24958static void adapter_print_config(struct AdapterCtlBlk *acb ) 
24959{ u8 bval ;
24960  unsigned char tmp___7 ;
24961  char const   *tmp___8 ;
24962  char const   *tmp___9 ;
24963  char const   *tmp___10 ;
24964  unsigned char tmp___11 ;
24965  unsigned long __cil_tmp8 ;
24966  unsigned long __cil_tmp9 ;
24967  int __cil_tmp10 ;
24968  int __cil_tmp11 ;
24969  int __cil_tmp12 ;
24970  int __cil_tmp13 ;
24971  int __cil_tmp14 ;
24972  int __cil_tmp15 ;
24973  int __cil_tmp16 ;
24974  int __cil_tmp17 ;
24975  int __cil_tmp18 ;
24976  int __cil_tmp19 ;
24977  int __cil_tmp20 ;
24978  int __cil_tmp21 ;
24979  int __cil_tmp22 ;
24980  int __cil_tmp23 ;
24981  unsigned long __cil_tmp24 ;
24982  unsigned long __cil_tmp25 ;
24983  int __cil_tmp26 ;
24984  int __cil_tmp27 ;
24985  int __cil_tmp28 ;
24986  int __cil_tmp29 ;
24987  int __cil_tmp30 ;
24988
24989  {
24990  {
24991#line 4314
24992  __cil_tmp8 = acb->io_port_base;
24993#line 4314
24994  __cil_tmp9 = __cil_tmp8 + 213UL;
24995#line 4314
24996  __cil_tmp10 = (int )__cil_tmp9;
24997#line 4314
24998  tmp___7 = inb(__cil_tmp10);
24999#line 4314
25000  bval = tmp___7;
25001  }
25002  {
25003#line 4315
25004  __cil_tmp11 = (int )bval;
25005#line 4315
25006  if (__cil_tmp11 & 2) {
25007#line 4315
25008    tmp___8 = "(Wide) ";
25009  } else {
25010#line 4315
25011    tmp___8 = "";
25012  }
25013  }
25014  {
25015#line 4315
25016  printk("<6>dc395x: %sConnectors: ", tmp___8);
25017  }
25018  {
25019#line 4317
25020  __cil_tmp12 = (int )bval;
25021#line 4317
25022  __cil_tmp13 = __cil_tmp12 & 16;
25023#line 4317
25024  if (! __cil_tmp13) {
25025    {
25026#line 4318
25027    __cil_tmp14 = (int )bval;
25028#line 4318
25029    __cil_tmp15 = __cil_tmp14 & 64;
25030#line 4318
25031    if (! __cil_tmp15) {
25032#line 4318
25033      tmp___9 = "68";
25034    } else {
25035#line 4318
25036      tmp___9 = "50";
25037    }
25038    }
25039    {
25040#line 4318
25041    printk("ext%s ", tmp___9);
25042    }
25043  } else {
25044
25045  }
25046  }
25047  {
25048#line 4319
25049  __cil_tmp16 = (int )bval;
25050#line 4319
25051  __cil_tmp17 = __cil_tmp16 & 8;
25052#line 4319
25053  if (! __cil_tmp17) {
25054    {
25055#line 4320
25056    __cil_tmp18 = (int )bval;
25057#line 4320
25058    __cil_tmp19 = __cil_tmp18 & 32;
25059#line 4320
25060    if (! __cil_tmp19) {
25061#line 4320
25062      tmp___10 = "";
25063    } else {
25064#line 4320
25065      tmp___10 = "(50)";
25066    }
25067    }
25068    {
25069#line 4320
25070    printk("int68%s ", tmp___10);
25071    }
25072  } else {
25073
25074  }
25075  }
25076  {
25077#line 4321
25078  __cil_tmp20 = (int )bval;
25079#line 4321
25080  __cil_tmp21 = __cil_tmp20 & 4;
25081#line 4321
25082  if (! __cil_tmp21) {
25083    {
25084#line 4322
25085    printk("int50 ");
25086    }
25087  } else {
25088
25089  }
25090  }
25091  {
25092#line 4323
25093  __cil_tmp22 = (int )bval;
25094#line 4323
25095  __cil_tmp23 = __cil_tmp22 & 28;
25096#line 4323
25097  if (__cil_tmp23 == 0) {
25098    {
25099#line 4325
25100    printk(" Oops! (All 3?) ");
25101    }
25102  } else {
25103
25104  }
25105  }
25106  {
25107#line 4326
25108  __cil_tmp24 = acb->io_port_base;
25109#line 4326
25110  __cil_tmp25 = __cil_tmp24 + 212UL;
25111#line 4326
25112  __cil_tmp26 = (int )__cil_tmp25;
25113#line 4326
25114  tmp___11 = inb(__cil_tmp26);
25115#line 4326
25116  bval = tmp___11;
25117#line 4327
25118  printk(" Termination: ");
25119  }
25120  {
25121#line 4328
25122  __cil_tmp27 = (int )bval;
25123#line 4328
25124  if (__cil_tmp27 & 8) {
25125    {
25126#line 4329
25127    printk("Disabled\n");
25128    }
25129  } else {
25130    {
25131#line 4331
25132    __cil_tmp28 = (int )bval;
25133#line 4331
25134    if (__cil_tmp28 & 4) {
25135      {
25136#line 4332
25137      printk("Auto ");
25138      }
25139    } else {
25140
25141    }
25142    }
25143    {
25144#line 4333
25145    __cil_tmp29 = (int )bval;
25146#line 4333
25147    if (__cil_tmp29 & 2) {
25148      {
25149#line 4334
25150      printk("Low ");
25151      }
25152    } else {
25153
25154    }
25155    }
25156    {
25157#line 4335
25158    __cil_tmp30 = (int )bval;
25159#line 4335
25160    if (__cil_tmp30 & 1) {
25161      {
25162#line 4336
25163      printk("High ");
25164      }
25165    } else {
25166
25167    }
25168    }
25169    {
25170#line 4337
25171    printk("\n");
25172    }
25173  }
25174  }
25175#line 4339
25176  return;
25177}
25178}
25179#line 4370 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25180static struct lock_class_key __key___6  ;
25181#line 4371 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25182static struct lock_class_key __key___7  ;
25183#line 4354
25184static void adapter_init_params(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
25185__no_instrument_function__)) ;
25186#line 4354
25187static void adapter_init_params(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
25188__no_instrument_function__)) ;
25189#line 4354 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25190static void adapter_init_params(struct AdapterCtlBlk *acb ) 
25191{ struct NvRamType *eeprom ;
25192  int i ;
25193  struct list_head *__cil_tmp4 ;
25194  void *__cil_tmp5 ;
25195  void *__cil_tmp6 ;
25196  struct list_head *__cil_tmp7 ;
25197  struct timer_list *__cil_tmp8 ;
25198  struct timer_list *__cil_tmp9 ;
25199  u8 __cil_tmp10 ;
25200  int __cil_tmp11 ;
25201  int __cil_tmp12 ;
25202  u8 __cil_tmp13 ;
25203  int __cil_tmp14 ;
25204  u8 __cil_tmp15 ;
25205  int __cil_tmp16 ;
25206  struct Scsi_Host *__cil_tmp17 ;
25207  u8 __cil_tmp18 ;
25208  struct Scsi_Host *__cil_tmp19 ;
25209  int __cil_tmp20 ;
25210  int __cil_tmp21 ;
25211  u16 __cil_tmp22 ;
25212  int __cil_tmp23 ;
25213  int __cil_tmp24 ;
25214  struct ScsiReqBlk *__cil_tmp25 ;
25215
25216  {
25217  {
25218#line 4356
25219  eeprom = & acb->eeprom;
25220#line 4363
25221  __cil_tmp4 = & acb->dcb_list;
25222#line 4363
25223  INIT_LIST_HEAD(__cil_tmp4);
25224#line 4364
25225  __cil_tmp5 = (void *)0;
25226#line 4364
25227  acb->dcb_run_robin = (struct DeviceCtlBlk *)__cil_tmp5;
25228#line 4365
25229  __cil_tmp6 = (void *)0;
25230#line 4365
25231  acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp6;
25232#line 4367
25233  __cil_tmp7 = & acb->srb_free_list;
25234#line 4367
25235  INIT_LIST_HEAD(__cil_tmp7);
25236#line 4369
25237  acb->tmp_srb = & acb->srb;
25238  }
25239  {
25240#line 4370
25241  while (1) {
25242    while_continue: /* CIL Label */ ;
25243    {
25244#line 4370
25245    __cil_tmp8 = & acb->waiting_timer;
25246#line 4370
25247    init_timer_key(__cil_tmp8, "&acb->waiting_timer", & __key___6);
25248    }
25249#line 4370
25250    goto while_break;
25251  }
25252  while_break___3: /* CIL Label */ ;
25253  }
25254
25255  while_break: ;
25256  {
25257#line 4371
25258  while (1) {
25259    while_continue___0: /* CIL Label */ ;
25260    {
25261#line 4371
25262    __cil_tmp9 = & acb->selto_timer;
25263#line 4371
25264    init_timer_key(__cil_tmp9, "&acb->selto_timer", & __key___7);
25265    }
25266#line 4371
25267    goto while_break___0;
25268  }
25269  while_break___4: /* CIL Label */ ;
25270  }
25271
25272  while_break___0: 
25273#line 4373
25274  acb->srb_count = (u16 )63;
25275#line 4375
25276  acb->sel_timeout = (u8 )153;
25277#line 4378
25278  __cil_tmp10 = eeprom->max_tag;
25279#line 4378
25280  __cil_tmp11 = (int )__cil_tmp10;
25281#line 4378
25282  __cil_tmp12 = 1 << __cil_tmp11;
25283#line 4378
25284  acb->tag_max_num = (u8 )__cil_tmp12;
25285  {
25286#line 4379
25287  __cil_tmp13 = acb->tag_max_num;
25288#line 4379
25289  __cil_tmp14 = (int )__cil_tmp13;
25290#line 4379
25291  if (__cil_tmp14 > 30) {
25292#line 4380
25293    acb->tag_max_num = (u8 )30;
25294  } else {
25295
25296  }
25297  }
25298#line 4382
25299  acb->acb_flag = (u8 )0;
25300#line 4383
25301  acb->gmode2 = eeprom->channel_cfg;
25302#line 4384
25303  acb->config = (u8 )0;
25304  {
25305#line 4386
25306  __cil_tmp15 = eeprom->channel_cfg;
25307#line 4386
25308  __cil_tmp16 = (int )__cil_tmp15;
25309#line 4386
25310  if (__cil_tmp16 & 32) {
25311#line 4387
25312    acb->lun_chk = (u8 )1;
25313  } else {
25314
25315  }
25316  }
25317#line 4388
25318  acb->scan_devices = (u8 )1;
25319#line 4390
25320  __cil_tmp17 = acb->scsi_host;
25321#line 4390
25322  __cil_tmp18 = eeprom->scsi_id;
25323#line 4390
25324  __cil_tmp17->this_id = (int )__cil_tmp18;
25325#line 4391
25326  __cil_tmp19 = acb->scsi_host;
25327#line 4391
25328  __cil_tmp20 = __cil_tmp19->this_id;
25329#line 4391
25330  __cil_tmp21 = 1 << __cil_tmp20;
25331#line 4391
25332  acb->hostid_bit = (u8 )__cil_tmp21;
25333#line 4393
25334  i = 0;
25335  {
25336#line 4393
25337  while (1) {
25338    while_continue___1: /* CIL Label */ ;
25339
25340#line 4393
25341    if (i < 16) {
25342
25343    } else {
25344#line 4393
25345      goto while_break___1;
25346    }
25347#line 4394
25348    acb->dcb_map[i] = (u8 )0;
25349#line 4393
25350    i = i + 1;
25351  }
25352  while_break___5: /* CIL Label */ ;
25353  }
25354
25355  while_break___1: 
25356#line 4396
25357  acb->msg_len = (u8 )0;
25358#line 4399
25359  i = 0;
25360  {
25361#line 4399
25362  while (1) {
25363    while_continue___2: /* CIL Label */ ;
25364
25365    {
25366#line 4399
25367    __cil_tmp22 = acb->srb_count;
25368#line 4399
25369    __cil_tmp23 = (int )__cil_tmp22;
25370#line 4399
25371    __cil_tmp24 = __cil_tmp23 - 1;
25372#line 4399
25373    if (i < __cil_tmp24) {
25374
25375    } else {
25376#line 4399
25377      goto while_break___2;
25378    }
25379    }
25380    {
25381#line 4400
25382    __cil_tmp25 = & acb->srb_array[i];
25383#line 4400
25384    srb_free_insert(acb, __cil_tmp25);
25385#line 4399
25386    i = i + 1;
25387    }
25388  }
25389  while_break___6: /* CIL Label */ ;
25390  }
25391
25392  while_break___2: ;
25393#line 4401
25394  return;
25395}
25396}
25397#line 4416
25398static void adapter_init_scsi_host(struct Scsi_Host *host )  __attribute__((__section__(".devinit.text"),
25399__no_instrument_function__)) ;
25400#line 4416
25401static void adapter_init_scsi_host(struct Scsi_Host *host )  __attribute__((__section__(".devinit.text"),
25402__no_instrument_function__)) ;
25403#line 4416 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25404static void adapter_init_scsi_host(struct Scsi_Host *host ) 
25405{ struct AdapterCtlBlk *acb ;
25406  struct NvRamType *eeprom ;
25407  unsigned long *__cil_tmp4 ;
25408  u8 __cil_tmp5 ;
25409  unsigned long __cil_tmp6 ;
25410  unsigned long __cil_tmp7 ;
25411  u8 __cil_tmp8 ;
25412  unsigned int __cil_tmp9 ;
25413  unsigned int __cil_tmp10 ;
25414  unsigned int __cil_tmp11 ;
25415  unsigned int __cil_tmp12 ;
25416  u8 __cil_tmp13 ;
25417  int __cil_tmp14 ;
25418
25419  {
25420#line 4418
25421  __cil_tmp4 = & host->hostdata[0];
25422#line 4418
25423  acb = (struct AdapterCtlBlk *)__cil_tmp4;
25424#line 4419
25425  eeprom = & acb->eeprom;
25426#line 4421
25427  host->max_cmd_len = (unsigned short)24;
25428#line 4422
25429  host->can_queue = 32;
25430#line 4423
25431  host->cmd_per_lun = (short)16;
25432#line 4424
25433  __cil_tmp5 = eeprom->scsi_id;
25434#line 4424
25435  host->this_id = (int )__cil_tmp5;
25436#line 4425
25437  host->io_port = acb->io_port_base;
25438#line 4426
25439  __cil_tmp6 = acb->io_port_len;
25440#line 4426
25441  host->n_io_port = (unsigned char )__cil_tmp6;
25442#line 4427
25443  host->dma_channel = (unsigned char)255;
25444#line 4428
25445  __cil_tmp7 = acb->io_port_base;
25446#line 4428
25447  host->unique_id = (unsigned int )__cil_tmp7;
25448#line 4429
25449  host->irq = acb->irq_level;
25450#line 4430
25451  host->last_reset = (unsigned long )jiffies;
25452#line 4432
25453  host->max_id = 16U;
25454  {
25455#line 4433
25456  __cil_tmp8 = eeprom->scsi_id;
25457#line 4433
25458  __cil_tmp9 = (unsigned int )__cil_tmp8;
25459#line 4433
25460  __cil_tmp10 = host->max_id;
25461#line 4433
25462  __cil_tmp11 = __cil_tmp10 - 1U;
25463#line 4433
25464  if (__cil_tmp11 == __cil_tmp9) {
25465#line 4434
25466    __cil_tmp12 = host->max_id;
25467#line 4434
25468    host->max_id = __cil_tmp12 - 1U;
25469  } else {
25470
25471  }
25472  }
25473  {
25474#line 4437
25475  __cil_tmp13 = eeprom->channel_cfg;
25476#line 4437
25477  __cil_tmp14 = (int )__cil_tmp13;
25478#line 4437
25479  if (__cil_tmp14 & 32) {
25480#line 4438
25481    host->max_lun = 8U;
25482  } else {
25483#line 4440
25484    host->max_lun = 1U;
25485  }
25486  }
25487#line 4445
25488  return;
25489}
25490}
25491#line 4457
25492static void adapter_init_chip(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
25493__no_instrument_function__)) ;
25494#line 4457
25495static void adapter_init_chip(struct AdapterCtlBlk *acb )  __attribute__((__section__(".devinit.text"),
25496__no_instrument_function__)) ;
25497#line 4457 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25498static void adapter_init_chip(struct AdapterCtlBlk *acb ) 
25499{ struct NvRamType *eeprom ;
25500  unsigned char tmp___7 ;
25501  unsigned long __cil_tmp4 ;
25502  unsigned long __cil_tmp5 ;
25503  int __cil_tmp6 ;
25504  unsigned long __cil_tmp7 ;
25505  unsigned long __cil_tmp8 ;
25506  int __cil_tmp9 ;
25507  unsigned long __cil_tmp10 ;
25508  unsigned long __cil_tmp11 ;
25509  int __cil_tmp12 ;
25510  unsigned long __cil_tmp13 ;
25511  unsigned long __cil_tmp14 ;
25512  int __cil_tmp15 ;
25513  unsigned long __cil_tmp16 ;
25514  unsigned long __cil_tmp17 ;
25515  int __cil_tmp18 ;
25516  int __cil_tmp19 ;
25517  u8 __cil_tmp20 ;
25518  int __cil_tmp21 ;
25519  int __cil_tmp22 ;
25520  u8 __cil_tmp23 ;
25521  int __cil_tmp24 ;
25522  u8 __cil_tmp25 ;
25523  int __cil_tmp26 ;
25524  int __cil_tmp27 ;
25525  u8 __cil_tmp28 ;
25526  int __cil_tmp29 ;
25527  unsigned long __cil_tmp30 ;
25528  unsigned long __cil_tmp31 ;
25529  int __cil_tmp32 ;
25530  struct Scsi_Host *__cil_tmp33 ;
25531  u8 __cil_tmp34 ;
25532  int __cil_tmp35 ;
25533  int __cil_tmp36 ;
25534  unsigned long volatile   __cil_tmp37 ;
25535  unsigned long volatile   __cil_tmp38 ;
25536  unsigned long volatile   __cil_tmp39 ;
25537  unsigned long volatile   __cil_tmp40 ;
25538
25539  {
25540  {
25541#line 4459
25542  eeprom = & acb->eeprom;
25543#line 4462
25544  __cil_tmp4 = acb->io_port_base;
25545#line 4462
25546  __cil_tmp5 = __cil_tmp4 + 164UL;
25547#line 4462
25548  __cil_tmp6 = (int )__cil_tmp5;
25549#line 4462
25550  outb((unsigned char)0, __cil_tmp6);
25551#line 4463
25552  __cil_tmp7 = acb->io_port_base;
25553#line 4463
25554  __cil_tmp8 = __cil_tmp7 + 140UL;
25555#line 4463
25556  __cil_tmp9 = (int )__cil_tmp8;
25557#line 4463
25558  outb((unsigned char)0, __cil_tmp9);
25559#line 4466
25560  __cil_tmp10 = acb->io_port_base;
25561#line 4466
25562  __cil_tmp11 = __cil_tmp10 + 128UL;
25563#line 4466
25564  __cil_tmp12 = (int )__cil_tmp11;
25565#line 4466
25566  outw((unsigned short)16, __cil_tmp12);
25567#line 4469
25568  __cil_tmp13 = acb->io_port_base;
25569#line 4469
25570  __cil_tmp14 = __cil_tmp13 + 161UL;
25571#line 4469
25572  __cil_tmp15 = (int )__cil_tmp14;
25573#line 4469
25574  outb((unsigned char)16, __cil_tmp15);
25575#line 4470
25576  __const_udelay(85900UL);
25577#line 4473
25578  acb->config = (u8 )12;
25579#line 4474
25580  __cil_tmp16 = acb->io_port_base;
25581#line 4474
25582  __cil_tmp17 = __cil_tmp16 + 213UL;
25583#line 4474
25584  __cil_tmp18 = (int )__cil_tmp17;
25585#line 4474
25586  tmp___7 = inb(__cil_tmp18);
25587  }
25588  {
25589#line 4474
25590  __cil_tmp19 = (int )tmp___7;
25591#line 4474
25592  if (__cil_tmp19 & 2) {
25593#line 4475
25594    __cil_tmp20 = acb->config;
25595#line 4475
25596    __cil_tmp21 = (int )__cil_tmp20;
25597#line 4475
25598    __cil_tmp22 = __cil_tmp21 | 32;
25599#line 4475
25600    acb->config = (u8 )__cil_tmp22;
25601  } else {
25602
25603  }
25604  }
25605  {
25606#line 4477
25607  __cil_tmp23 = eeprom->channel_cfg;
25608#line 4477
25609  __cil_tmp24 = (int )__cil_tmp23;
25610#line 4477
25611  if (__cil_tmp24 & 4) {
25612#line 4478
25613    __cil_tmp25 = acb->config;
25614#line 4478
25615    __cil_tmp26 = (int )__cil_tmp25;
25616#line 4478
25617    __cil_tmp27 = __cil_tmp26 | 16;
25618#line 4478
25619    acb->config = (u8 )__cil_tmp27;
25620  } else {
25621
25622  }
25623  }
25624  {
25625#line 4480
25626  __cil_tmp28 = acb->config;
25627#line 4480
25628  __cil_tmp29 = (int )__cil_tmp28;
25629#line 4480
25630  if (__cil_tmp29 & 16) {
25631    {
25632#line 4481
25633    printk("<6>dc395x: Performing initial SCSI bus reset\n");
25634#line 4482
25635    __cil_tmp30 = acb->io_port_base;
25636#line 4482
25637    __cil_tmp31 = __cil_tmp30 + 128UL;
25638#line 4482
25639    __cil_tmp32 = (int )__cil_tmp31;
25640#line 4482
25641    outb((unsigned char)8, __cil_tmp32);
25642#line 4486
25643    __const_udelay(2147500UL);
25644#line 4488
25645    __cil_tmp33 = acb->scsi_host;
25646#line 4488
25647    __cil_tmp34 = acb->eeprom.delay_time;
25648#line 4488
25649    __cil_tmp35 = (int )__cil_tmp34;
25650#line 4488
25651    __cil_tmp36 = 250 * __cil_tmp35;
25652#line 4488
25653    __cil_tmp37 = (unsigned long volatile   )__cil_tmp36;
25654#line 4488
25655    __cil_tmp38 = (unsigned long volatile   )125;
25656#line 4488
25657    __cil_tmp39 = jiffies + __cil_tmp38;
25658#line 4488
25659    __cil_tmp40 = __cil_tmp39 + __cil_tmp37;
25660#line 4488
25661    __cil_tmp33->last_reset = (unsigned long )__cil_tmp40;
25662    }
25663  } else {
25664
25665  }
25666  }
25667#line 4494
25668  return;
25669}
25670}
25671#line 4510
25672static int adapter_init(struct AdapterCtlBlk *acb , unsigned long io_port , u32 io_port_len ,
25673                        unsigned int irq )  __attribute__((__section__(".devinit.text"),
25674__no_instrument_function__)) ;
25675#line 4510
25676static int adapter_init(struct AdapterCtlBlk *acb , unsigned long io_port , u32 io_port_len ,
25677                        unsigned int irq )  __attribute__((__section__(".devinit.text"),
25678__no_instrument_function__)) ;
25679#line 4510 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25680static int adapter_init(struct AdapterCtlBlk *acb , unsigned long io_port , u32 io_port_len ,
25681                        unsigned int irq ) 
25682{ struct resource *tmp___7 ;
25683  int tmp___8 ;
25684  int tmp___9 ;
25685  int tmp ;
25686  int tmp___10 ;
25687  resource_size_t __cil_tmp10 ;
25688  resource_size_t __cil_tmp11 ;
25689  void *__cil_tmp12 ;
25690  struct NvRamType *__cil_tmp13 ;
25691  struct NvRamType *__cil_tmp14 ;
25692  struct Scsi_Host *__cil_tmp15 ;
25693  unsigned int __cil_tmp16 ;
25694  void *__cil_tmp17 ;
25695  unsigned long __cil_tmp18 ;
25696  resource_size_t __cil_tmp19 ;
25697  unsigned long __cil_tmp20 ;
25698  resource_size_t __cil_tmp21 ;
25699
25700  {
25701  {
25702#line 4513
25703  __cil_tmp10 = (resource_size_t )io_port;
25704#line 4513
25705  __cil_tmp11 = (resource_size_t )io_port_len;
25706#line 4513
25707  tmp___7 = __request_region(& ioport_resource, __cil_tmp10, __cil_tmp11, "dc395x",
25708                             0);
25709  }
25710#line 4513
25711  if (tmp___7) {
25712
25713  } else {
25714    {
25715#line 4514
25716    printk("<3>dc395x: Failed to reserve IO region 0x%lx\n", io_port);
25717    }
25718#line 4515
25719    goto failed;
25720  }
25721  {
25722#line 4518
25723  acb->io_port_base = io_port;
25724#line 4519
25725  acb->io_port_len = (unsigned long )io_port_len;
25726#line 4521
25727  __cil_tmp12 = (void *)acb;
25728#line 4521
25729  tmp___10 = (int )request_irq(irq, & dc395x_interrupt, 128UL, "dc395x", __cil_tmp12);
25730#line 4521
25731  tmp = tmp___10;
25732#line 4521
25733  tmp___8 = tmp;
25734  }
25735#line 4521
25736  if (tmp___8) {
25737    {
25738#line 4523
25739    printk("<6>dc395x: Failed to register IRQ\n");
25740    }
25741#line 4524
25742    goto failed;
25743  } else {
25744
25745  }
25746  {
25747#line 4527
25748  acb->irq_level = irq;
25749#line 4530
25750  __cil_tmp13 = & acb->eeprom;
25751#line 4530
25752  check_eeprom(__cil_tmp13, io_port);
25753#line 4531
25754  __cil_tmp14 = & acb->eeprom;
25755#line 4531
25756  print_eeprom_settings(__cil_tmp14);
25757#line 4534
25758  adapter_init_params(acb);
25759#line 4537
25760  adapter_print_config(acb);
25761#line 4539
25762  tmp___9 = adapter_sg_tables_alloc(acb);
25763  }
25764#line 4539
25765  if (tmp___9) {
25766    {
25767#line 4540
25768    printk("<7>dc395x: Memory allocation for SG tables failed\n");
25769    }
25770#line 4541
25771    goto failed;
25772  } else {
25773
25774  }
25775  {
25776#line 4543
25777  __cil_tmp15 = acb->scsi_host;
25778#line 4543
25779  adapter_init_scsi_host(__cil_tmp15);
25780#line 4544
25781  adapter_init_chip(acb);
25782#line 4545
25783  set_basic_config(acb);
25784  }
25785  {
25786#line 4547
25787  while (1) {
25788    while_continue: /* CIL Label */ ;
25789
25790#line 4547
25791    goto while_break;
25792  }
25793  while_break___0: /* CIL Label */ ;
25794  }
25795
25796  while_break: ;
25797#line 4552
25798  return (0);
25799  failed: 
25800#line 4555
25801  if (acb->irq_level) {
25802    {
25803#line 4556
25804    __cil_tmp16 = acb->irq_level;
25805#line 4556
25806    __cil_tmp17 = (void *)acb;
25807#line 4556
25808    free_irq(__cil_tmp16, __cil_tmp17);
25809    }
25810  } else {
25811
25812  }
25813#line 4557
25814  if (acb->io_port_base) {
25815    {
25816#line 4558
25817    __cil_tmp18 = acb->io_port_base;
25818#line 4558
25819    __cil_tmp19 = (resource_size_t )__cil_tmp18;
25820#line 4558
25821    __cil_tmp20 = acb->io_port_len;
25822#line 4558
25823    __cil_tmp21 = (resource_size_t )__cil_tmp20;
25824#line 4558
25825    __release_region(& ioport_resource, __cil_tmp19, __cil_tmp21);
25826    }
25827  } else {
25828
25829  }
25830  {
25831#line 4559
25832  adapter_sg_tables_free(acb);
25833  }
25834#line 4561
25835  return (1);
25836}
25837}
25838#line 4572 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25839static void adapter_uninit_chip(struct AdapterCtlBlk *acb ) 
25840{ unsigned long __cil_tmp2 ;
25841  unsigned long __cil_tmp3 ;
25842  int __cil_tmp4 ;
25843  unsigned long __cil_tmp5 ;
25844  unsigned long __cil_tmp6 ;
25845  int __cil_tmp7 ;
25846  u8 __cil_tmp8 ;
25847  int __cil_tmp9 ;
25848  unsigned long __cil_tmp10 ;
25849  unsigned long __cil_tmp11 ;
25850  int __cil_tmp12 ;
25851
25852  {
25853  {
25854#line 4575
25855  __cil_tmp2 = acb->io_port_base;
25856#line 4575
25857  __cil_tmp3 = __cil_tmp2 + 164UL;
25858#line 4575
25859  __cil_tmp4 = (int )__cil_tmp3;
25860#line 4575
25861  outb((unsigned char)0, __cil_tmp4);
25862#line 4576
25863  __cil_tmp5 = acb->io_port_base;
25864#line 4576
25865  __cil_tmp6 = __cil_tmp5 + 140UL;
25866#line 4576
25867  __cil_tmp7 = (int )__cil_tmp6;
25868#line 4576
25869  outb((unsigned char)0, __cil_tmp7);
25870  }
25871  {
25872#line 4579
25873  __cil_tmp8 = acb->config;
25874#line 4579
25875  __cil_tmp9 = (int )__cil_tmp8;
25876#line 4579
25877  if (__cil_tmp9 & 16) {
25878    {
25879#line 4580
25880    reset_scsi_bus(acb);
25881    }
25882  } else {
25883
25884  }
25885  }
25886  {
25887#line 4583
25888  __cil_tmp10 = acb->io_port_base;
25889#line 4583
25890  __cil_tmp11 = __cil_tmp10 + 132UL;
25891#line 4583
25892  __cil_tmp12 = (int )__cil_tmp11;
25893#line 4583
25894  inb(__cil_tmp12);
25895  }
25896#line 4584
25897  return;
25898}
25899}
25900#line 4595 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25901static void adapter_uninit(struct AdapterCtlBlk *acb ) 
25902{ unsigned long flags ;
25903  raw_spinlock_t *tmp___7 ;
25904  int tmp___8 ;
25905  int tmp___9 ;
25906  struct Scsi_Host *__cil_tmp6 ;
25907  spinlock_t *__cil_tmp7 ;
25908  struct timer_list *__cil_tmp8 ;
25909  struct timer_list  const  *__cil_tmp9 ;
25910  struct timer_list *__cil_tmp10 ;
25911  struct timer_list *__cil_tmp11 ;
25912  struct timer_list  const  *__cil_tmp12 ;
25913  struct timer_list *__cil_tmp13 ;
25914  struct Scsi_Host *__cil_tmp14 ;
25915  spinlock_t *__cil_tmp15 ;
25916  unsigned int __cil_tmp16 ;
25917  void *__cil_tmp17 ;
25918  unsigned long __cil_tmp18 ;
25919  resource_size_t __cil_tmp19 ;
25920  unsigned long __cil_tmp20 ;
25921  resource_size_t __cil_tmp21 ;
25922
25923  {
25924  {
25925#line 4598
25926  while (1) {
25927    while_continue: /* CIL Label */ ;
25928
25929    {
25930#line 4598
25931    while (1) {
25932      while_continue___0: /* CIL Label */ ;
25933      {
25934#line 4598
25935      __cil_tmp6 = acb->scsi_host;
25936#line 4598
25937      __cil_tmp7 = __cil_tmp6->host_lock;
25938#line 4598
25939      tmp___7 = spinlock_check(__cil_tmp7);
25940#line 4598
25941      flags = _raw_spin_lock_irqsave(tmp___7);
25942      }
25943#line 4598
25944      goto while_break___0;
25945    }
25946    while_break___2: /* CIL Label */ ;
25947    }
25948
25949    while_break___0: ;
25950#line 4598
25951    goto while_break;
25952  }
25953  while_break___1: /* CIL Label */ ;
25954  }
25955
25956  while_break: 
25957  {
25958#line 4601
25959  __cil_tmp8 = & acb->waiting_timer;
25960#line 4601
25961  __cil_tmp9 = (struct timer_list  const  *)__cil_tmp8;
25962#line 4601
25963  tmp___8 = timer_pending(__cil_tmp9);
25964  }
25965#line 4601
25966  if (tmp___8) {
25967    {
25968#line 4602
25969    __cil_tmp10 = & acb->waiting_timer;
25970#line 4602
25971    del_timer(__cil_tmp10);
25972    }
25973  } else {
25974
25975  }
25976  {
25977#line 4603
25978  __cil_tmp11 = & acb->selto_timer;
25979#line 4603
25980  __cil_tmp12 = (struct timer_list  const  *)__cil_tmp11;
25981#line 4603
25982  tmp___9 = timer_pending(__cil_tmp12);
25983  }
25984#line 4603
25985  if (tmp___9) {
25986    {
25987#line 4604
25988    __cil_tmp13 = & acb->selto_timer;
25989#line 4604
25990    del_timer(__cil_tmp13);
25991    }
25992  } else {
25993
25994  }
25995  {
25996#line 4606
25997  adapter_uninit_chip(acb);
25998#line 4607
25999  adapter_remove_and_free_all_devices(acb);
26000#line 4608
26001  __cil_tmp14 = acb->scsi_host;
26002#line 4608
26003  __cil_tmp15 = __cil_tmp14->host_lock;
26004#line 4608
26005  spin_unlock_irqrestore(__cil_tmp15, flags);
26006  }
26007#line 4610
26008  if (acb->irq_level) {
26009    {
26010#line 4611
26011    __cil_tmp16 = acb->irq_level;
26012#line 4611
26013    __cil_tmp17 = (void *)acb;
26014#line 4611
26015    free_irq(__cil_tmp16, __cil_tmp17);
26016    }
26017  } else {
26018
26019  }
26020#line 4612
26021  if (acb->io_port_base) {
26022    {
26023#line 4613
26024    __cil_tmp18 = acb->io_port_base;
26025#line 4613
26026    __cil_tmp19 = (resource_size_t )__cil_tmp18;
26027#line 4613
26028    __cil_tmp20 = acb->io_port_len;
26029#line 4613
26030    __cil_tmp21 = (resource_size_t )__cil_tmp20;
26031#line 4613
26032    __release_region(& ioport_resource, __cil_tmp19, __cil_tmp21);
26033    }
26034  } else {
26035
26036  }
26037  {
26038#line 4615
26039  adapter_sg_tables_free(acb);
26040  }
26041#line 4616
26042  return;
26043}
26044}
26045#line 4627 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
26046static int dc395x_proc_info(struct Scsi_Host *host , char *buffer , char **start ,
26047                            off_t offset , int length , int inout ) 
26048{ struct AdapterCtlBlk *acb ;
26049  int spd ;
26050  int spd1 ;
26051  char *pos ;
26052  struct DeviceCtlBlk *dcb ;
26053  unsigned long flags ;
26054  int dev ;
26055  int tmp___7 ;
26056  int tmp___8 ;
26057  raw_spinlock_t *tmp___9 ;
26058  int tmp___10 ;
26059  char const   *tmp___11 ;
26060  int tmp___12 ;
26061  int tmp___13 ;
26062  int tmp___14 ;
26063  int tmp___15 ;
26064  int tmp___16 ;
26065  int tmp___17 ;
26066  int tmp___18 ;
26067  unsigned char tmp___19 ;
26068  int tmp___20 ;
26069  int tmp___21 ;
26070  unsigned int tmp___22 ;
26071  int tmp___23 ;
26072  int tmp___24 ;
26073  int tmp___25 ;
26074  int tmp___26 ;
26075  struct list_head  const  *__mptr ;
26076  struct list_head  const  *__mptr___0 ;
26077  int nego_period ;
26078  int tmp___27 ;
26079  int tmp___28 ;
26080  int tmp___29 ;
26081  int tmp___30 ;
26082  int tmp___31 ;
26083  int tmp___32 ;
26084  int tmp___33 ;
26085  int tmp___34 ;
26086  int tmp___35 ;
26087  int tmp___36 ;
26088  int tmp___37 ;
26089  int tmp___38 ;
26090  int tmp___39 ;
26091  int tmp___40 ;
26092  int tmp___41 ;
26093  int tmp___42 ;
26094  int tmp___43 ;
26095  int tmp___44 ;
26096  int tmp___45 ;
26097  int tmp___46 ;
26098  int tmp___47 ;
26099  struct list_head  const  *__mptr___1 ;
26100  struct list_head  const  *__mptr___2 ;
26101  struct ScsiReqBlk *srb ;
26102  unsigned int tmp___48 ;
26103  int tmp___49 ;
26104  int tmp___50 ;
26105  struct list_head  const  *__mptr___3 ;
26106  struct list_head  const  *__mptr___4 ;
26107  int tmp___51 ;
26108  unsigned int tmp___52 ;
26109  int tmp___53 ;
26110  int tmp___54 ;
26111  struct list_head  const  *__mptr___5 ;
26112  struct list_head  const  *__mptr___6 ;
26113  int tmp___55 ;
26114  int tmp___56 ;
26115  int tmp___57 ;
26116  int tmp___58 ;
26117  unsigned long *__cil_tmp76 ;
26118  struct Scsi_Host *__cil_tmp77 ;
26119  spinlock_t *__cil_tmp78 ;
26120  unsigned int __cil_tmp79 ;
26121  u8 __cil_tmp80 ;
26122  int __cil_tmp81 ;
26123  unsigned long __cil_tmp82 ;
26124  unsigned int __cil_tmp83 ;
26125  u8 __cil_tmp84 ;
26126  int __cil_tmp85 ;
26127  int __cil_tmp86 ;
26128  int __cil_tmp87 ;
26129  unsigned int __cil_tmp88 ;
26130  unsigned int __cil_tmp89 ;
26131  int __cil_tmp90 ;
26132  u8 __cil_tmp91 ;
26133  int __cil_tmp92 ;
26134  unsigned long __cil_tmp93 ;
26135  unsigned long __cil_tmp94 ;
26136  int __cil_tmp95 ;
26137  int __cil_tmp96 ;
26138  u8 __cil_tmp97 ;
26139  int __cil_tmp98 ;
26140  struct list_head *__cil_tmp99 ;
26141  u8 __cil_tmp100 ;
26142  int __cil_tmp101 ;
26143  u8 __cil_tmp102 ;
26144  int __cil_tmp103 ;
26145  u8 __cil_tmp104 ;
26146  int __cil_tmp105 ;
26147  u8 __cil_tmp106 ;
26148  int __cil_tmp107 ;
26149  u8 __cil_tmp108 ;
26150  int __cil_tmp109 ;
26151  u8 __cil_tmp110 ;
26152  int __cil_tmp111 ;
26153  u8 __cil_tmp112 ;
26154  int __cil_tmp113 ;
26155  u8 __cil_tmp114 ;
26156  int __cil_tmp115 ;
26157  u8 __cil_tmp116 ;
26158  int __cil_tmp117 ;
26159  u8 __cil_tmp118 ;
26160  int __cil_tmp119 ;
26161  u8 __cil_tmp120 ;
26162  int __cil_tmp121 ;
26163  u8 __cil_tmp122 ;
26164  int __cil_tmp123 ;
26165  u8 __cil_tmp124 ;
26166  int __cil_tmp125 ;
26167  u8 __cil_tmp126 ;
26168  int __cil_tmp127 ;
26169  u8 __cil_tmp128 ;
26170  int __cil_tmp129 ;
26171  u8 __cil_tmp130 ;
26172  int __cil_tmp131 ;
26173  struct list_head *__cil_tmp132 ;
26174  struct DeviceCtlBlk *__cil_tmp133 ;
26175  struct list_head *__cil_tmp134 ;
26176  unsigned int __cil_tmp135 ;
26177  char *__cil_tmp136 ;
26178  char *__cil_tmp137 ;
26179  struct list_head *__cil_tmp138 ;
26180  unsigned long __cil_tmp139 ;
26181  struct list_head *__cil_tmp140 ;
26182  unsigned long __cil_tmp141 ;
26183  u8 __cil_tmp142 ;
26184  int __cil_tmp143 ;
26185  u8 __cil_tmp144 ;
26186  int __cil_tmp145 ;
26187  u8 __cil_tmp146 ;
26188  int __cil_tmp147 ;
26189  u8 __cil_tmp148 ;
26190  int __cil_tmp149 ;
26191  u8 __cil_tmp150 ;
26192  int __cil_tmp151 ;
26193  u8 __cil_tmp152 ;
26194  int __cil_tmp153 ;
26195  u8 __cil_tmp154 ;
26196  int __cil_tmp155 ;
26197  int __cil_tmp156 ;
26198  u8 __cil_tmp157 ;
26199  int __cil_tmp158 ;
26200  int __cil_tmp159 ;
26201  u8 __cil_tmp160 ;
26202  int __cil_tmp161 ;
26203  int __cil_tmp162 ;
26204  int __cil_tmp163 ;
26205  int __cil_tmp164 ;
26206  u8 __cil_tmp165 ;
26207  int __cil_tmp166 ;
26208  int __cil_tmp167 ;
26209  u16 __cil_tmp168 ;
26210  int __cil_tmp169 ;
26211  struct list_head *__cil_tmp170 ;
26212  struct DeviceCtlBlk *__cil_tmp171 ;
26213  struct list_head *__cil_tmp172 ;
26214  unsigned int __cil_tmp173 ;
26215  char *__cil_tmp174 ;
26216  char *__cil_tmp175 ;
26217  struct timer_list *__cil_tmp176 ;
26218  struct timer_list  const  *__cil_tmp177 ;
26219  struct list_head *__cil_tmp178 ;
26220  struct DeviceCtlBlk *__cil_tmp179 ;
26221  struct list_head *__cil_tmp180 ;
26222  unsigned int __cil_tmp181 ;
26223  char *__cil_tmp182 ;
26224  char *__cil_tmp183 ;
26225  struct list_head *__cil_tmp184 ;
26226  unsigned long __cil_tmp185 ;
26227  struct list_head *__cil_tmp186 ;
26228  unsigned long __cil_tmp187 ;
26229  struct list_head *__cil_tmp188 ;
26230  struct list_head  const  *__cil_tmp189 ;
26231  struct list_head *__cil_tmp190 ;
26232  u8 __cil_tmp191 ;
26233  int __cil_tmp192 ;
26234  u8 __cil_tmp193 ;
26235  int __cil_tmp194 ;
26236  struct list_head *__cil_tmp195 ;
26237  struct ScsiReqBlk *__cil_tmp196 ;
26238  struct list_head *__cil_tmp197 ;
26239  unsigned int __cil_tmp198 ;
26240  char *__cil_tmp199 ;
26241  char *__cil_tmp200 ;
26242  struct list_head *__cil_tmp201 ;
26243  unsigned long __cil_tmp202 ;
26244  struct list_head *__cil_tmp203 ;
26245  unsigned long __cil_tmp204 ;
26246  struct scsi_cmnd *__cil_tmp205 ;
26247  struct list_head *__cil_tmp206 ;
26248  struct ScsiReqBlk *__cil_tmp207 ;
26249  struct list_head *__cil_tmp208 ;
26250  unsigned int __cil_tmp209 ;
26251  char *__cil_tmp210 ;
26252  char *__cil_tmp211 ;
26253  struct list_head *__cil_tmp212 ;
26254  struct list_head  const  *__cil_tmp213 ;
26255  struct list_head *__cil_tmp214 ;
26256  u8 __cil_tmp215 ;
26257  int __cil_tmp216 ;
26258  u8 __cil_tmp217 ;
26259  int __cil_tmp218 ;
26260  struct list_head *__cil_tmp219 ;
26261  struct ScsiReqBlk *__cil_tmp220 ;
26262  struct list_head *__cil_tmp221 ;
26263  unsigned int __cil_tmp222 ;
26264  char *__cil_tmp223 ;
26265  char *__cil_tmp224 ;
26266  struct list_head *__cil_tmp225 ;
26267  unsigned long __cil_tmp226 ;
26268  struct list_head *__cil_tmp227 ;
26269  unsigned long __cil_tmp228 ;
26270  struct scsi_cmnd *__cil_tmp229 ;
26271  struct list_head *__cil_tmp230 ;
26272  struct ScsiReqBlk *__cil_tmp231 ;
26273  struct list_head *__cil_tmp232 ;
26274  unsigned int __cil_tmp233 ;
26275  char *__cil_tmp234 ;
26276  char *__cil_tmp235 ;
26277  struct list_head *__cil_tmp236 ;
26278  struct list_head  const  *__cil_tmp237 ;
26279  struct list_head *__cil_tmp238 ;
26280  struct list_head  const  *__cil_tmp239 ;
26281  struct list_head *__cil_tmp240 ;
26282  struct DeviceCtlBlk *__cil_tmp241 ;
26283  struct list_head *__cil_tmp242 ;
26284  unsigned int __cil_tmp243 ;
26285  char *__cil_tmp244 ;
26286  char *__cil_tmp245 ;
26287  struct Scsi_Host *__cil_tmp246 ;
26288  spinlock_t *__cil_tmp247 ;
26289  int __cil_tmp248 ;
26290  off_t __cil_tmp249 ;
26291  off_t __cil_tmp250 ;
26292  int __cil_tmp251 ;
26293  off_t __cil_tmp252 ;
26294  off_t __cil_tmp253 ;
26295  int __cil_tmp254 ;
26296  off_t __cil_tmp255 ;
26297  off_t __cil_tmp256 ;
26298
26299  {
26300#line 4630
26301  __cil_tmp76 = & host->hostdata[0];
26302#line 4630
26303  acb = (struct AdapterCtlBlk *)__cil_tmp76;
26304#line 4632
26305  pos = buffer;
26306#line 4637
26307  if (inout) {
26308#line 4638
26309    return (-1);
26310  } else {
26311
26312  }
26313  {
26314#line 4640
26315  tmp___7 = sprintf(pos, "Tekram DC395(U/UW/F), DC315(U) - ASIC TRM-S1040 PCI SCSI Host Adapter\n");
26316#line 4640
26317  pos = pos + tmp___7;
26318#line 4641
26319  tmp___8 = sprintf(pos, " Driver Version v2.05, 2004/03/08\n");
26320#line 4641
26321  pos = pos + tmp___8;
26322  }
26323  {
26324#line 4643
26325  while (1) {
26326    while_continue: /* CIL Label */ ;
26327
26328    {
26329#line 4643
26330    while (1) {
26331      while_continue___0: /* CIL Label */ ;
26332      {
26333#line 4643
26334      __cil_tmp77 = acb->scsi_host;
26335#line 4643
26336      __cil_tmp78 = __cil_tmp77->host_lock;
26337#line 4643
26338      tmp___9 = spinlock_check(__cil_tmp78);
26339#line 4643
26340      flags = _raw_spin_lock_irqsave(tmp___9);
26341      }
26342#line 4643
26343      goto while_break___0;
26344    }
26345    while_break___6: /* CIL Label */ ;
26346    }
26347
26348    while_break___0: ;
26349#line 4643
26350    goto while_break;
26351  }
26352  while_break___5: /* CIL Label */ ;
26353  }
26354
26355  while_break: 
26356  {
26357#line 4645
26358  __cil_tmp79 = host->host_no;
26359#line 4645
26360  tmp___10 = sprintf(pos, "SCSI Host Nr %i, ", __cil_tmp79);
26361#line 4645
26362  pos = pos + tmp___10;
26363  }
26364  {
26365#line 4646
26366  __cil_tmp80 = acb->config;
26367#line 4646
26368  __cil_tmp81 = (int )__cil_tmp80;
26369#line 4646
26370  if (__cil_tmp81 & 32) {
26371#line 4646
26372    tmp___11 = "Wide";
26373  } else {
26374#line 4646
26375    tmp___11 = "";
26376  }
26377  }
26378  {
26379#line 4646
26380  tmp___12 = sprintf(pos, "DC395U/UW/F DC315/U %s\n", tmp___11);
26381#line 4646
26382  pos = pos + tmp___12;
26383#line 4648
26384  __cil_tmp82 = acb->io_port_base;
26385#line 4648
26386  tmp___13 = sprintf(pos, "io_port_base 0x%04lx, ", __cil_tmp82);
26387#line 4648
26388  pos = pos + tmp___13;
26389#line 4649
26390  __cil_tmp83 = acb->irq_level;
26391#line 4649
26392  tmp___14 = sprintf(pos, "irq_level 0x%04x, ", __cil_tmp83);
26393#line 4649
26394  pos = pos + tmp___14;
26395#line 4650
26396  __cil_tmp84 = acb->sel_timeout;
26397#line 4650
26398  __cil_tmp85 = (int )__cil_tmp84;
26399#line 4650
26400  __cil_tmp86 = 1638 * __cil_tmp85;
26401#line 4650
26402  __cil_tmp87 = __cil_tmp86 / 1000;
26403#line 4650
26404  tmp___15 = sprintf(pos, " SelTimeout %ims\n", __cil_tmp87);
26405#line 4650
26406  pos = pos + tmp___15;
26407#line 4652
26408  __cil_tmp88 = host->max_id;
26409#line 4652
26410  __cil_tmp89 = host->max_lun;
26411#line 4652
26412  tmp___16 = sprintf(pos, "MaxID %i, MaxLUN %i, ", __cil_tmp88, __cil_tmp89);
26413#line 4652
26414  pos = pos + tmp___16;
26415#line 4653
26416  __cil_tmp90 = host->this_id;
26417#line 4653
26418  tmp___17 = sprintf(pos, "AdapterID %i\n", __cil_tmp90);
26419#line 4653
26420  pos = pos + tmp___17;
26421#line 4655
26422  __cil_tmp91 = acb->tag_max_num;
26423#line 4655
26424  __cil_tmp92 = (int )__cil_tmp91;
26425#line 4655
26426  tmp___18 = sprintf(pos, "tag_max_num %i", __cil_tmp92);
26427#line 4655
26428  pos = pos + tmp___18;
26429#line 4657
26430  __cil_tmp93 = acb->io_port_base;
26431#line 4657
26432  __cil_tmp94 = __cil_tmp93 + 142UL;
26433#line 4657
26434  __cil_tmp95 = (int )__cil_tmp94;
26435#line 4657
26436  tmp___19 = inb(__cil_tmp95);
26437#line 4657
26438  __cil_tmp96 = (int )tmp___19;
26439#line 4657
26440  tmp___20 = sprintf(pos, ", FilterCfg 0x%02x", __cil_tmp96);
26441#line 4657
26442  pos = pos + tmp___20;
26443#line 4659
26444  __cil_tmp97 = acb->eeprom.delay_time;
26445#line 4659
26446  __cil_tmp98 = (int )__cil_tmp97;
26447#line 4659
26448  tmp___21 = sprintf(pos, ", DelayReset %is\n", __cil_tmp98);
26449#line 4659
26450  pos = pos + tmp___21;
26451#line 4662
26452  __cil_tmp99 = & acb->dcb_list;
26453#line 4662
26454  tmp___22 = list_size(__cil_tmp99);
26455#line 4662
26456  tmp___23 = sprintf(pos, "Nr of DCBs: %i\n", tmp___22);
26457#line 4662
26458  pos = pos + tmp___23;
26459#line 4663
26460  __cil_tmp100 = acb->dcb_map[0];
26461#line 4663
26462  __cil_tmp101 = (int )__cil_tmp100;
26463#line 4663
26464  __cil_tmp102 = acb->dcb_map[1];
26465#line 4663
26466  __cil_tmp103 = (int )__cil_tmp102;
26467#line 4663
26468  __cil_tmp104 = acb->dcb_map[2];
26469#line 4663
26470  __cil_tmp105 = (int )__cil_tmp104;
26471#line 4663
26472  __cil_tmp106 = acb->dcb_map[3];
26473#line 4663
26474  __cil_tmp107 = (int )__cil_tmp106;
26475#line 4663
26476  __cil_tmp108 = acb->dcb_map[4];
26477#line 4663
26478  __cil_tmp109 = (int )__cil_tmp108;
26479#line 4663
26480  __cil_tmp110 = acb->dcb_map[5];
26481#line 4663
26482  __cil_tmp111 = (int )__cil_tmp110;
26483#line 4663
26484  __cil_tmp112 = acb->dcb_map[6];
26485#line 4663
26486  __cil_tmp113 = (int )__cil_tmp112;
26487#line 4663
26488  __cil_tmp114 = acb->dcb_map[7];
26489#line 4663
26490  __cil_tmp115 = (int )__cil_tmp114;
26491#line 4663
26492  tmp___24 = sprintf(pos, "Map of attached LUNs: %02x %02x %02x %02x %02x %02x %02x %02x\n",
26493                     __cil_tmp101, __cil_tmp103, __cil_tmp105, __cil_tmp107, __cil_tmp109,
26494                     __cil_tmp111, __cil_tmp113, __cil_tmp115);
26495#line 4663
26496  pos = pos + tmp___24;
26497#line 4668
26498  __cil_tmp116 = acb->dcb_map[8];
26499#line 4668
26500  __cil_tmp117 = (int )__cil_tmp116;
26501#line 4668
26502  __cil_tmp118 = acb->dcb_map[9];
26503#line 4668
26504  __cil_tmp119 = (int )__cil_tmp118;
26505#line 4668
26506  __cil_tmp120 = acb->dcb_map[10];
26507#line 4668
26508  __cil_tmp121 = (int )__cil_tmp120;
26509#line 4668
26510  __cil_tmp122 = acb->dcb_map[11];
26511#line 4668
26512  __cil_tmp123 = (int )__cil_tmp122;
26513#line 4668
26514  __cil_tmp124 = acb->dcb_map[12];
26515#line 4668
26516  __cil_tmp125 = (int )__cil_tmp124;
26517#line 4668
26518  __cil_tmp126 = acb->dcb_map[13];
26519#line 4668
26520  __cil_tmp127 = (int )__cil_tmp126;
26521#line 4668
26522  __cil_tmp128 = acb->dcb_map[14];
26523#line 4668
26524  __cil_tmp129 = (int )__cil_tmp128;
26525#line 4668
26526  __cil_tmp130 = acb->dcb_map[15];
26527#line 4668
26528  __cil_tmp131 = (int )__cil_tmp130;
26529#line 4668
26530  tmp___25 = sprintf(pos, "                      %02x %02x %02x %02x %02x %02x %02x %02x\n",
26531                     __cil_tmp117, __cil_tmp119, __cil_tmp121, __cil_tmp123, __cil_tmp125,
26532                     __cil_tmp127, __cil_tmp129, __cil_tmp131);
26533#line 4668
26534  pos = pos + tmp___25;
26535#line 4674
26536  tmp___26 = sprintf(pos, "Un ID LUN Prty Sync Wide DsCn SndS TagQ nego_period SyncFreq SyncOffs MaxCmd\n");
26537#line 4674
26538  pos = pos + tmp___26;
26539#line 4677
26540  dev = 0;
26541#line 4678
26542  __cil_tmp132 = acb->dcb_list.next;
26543#line 4678
26544  __mptr = (struct list_head  const  *)__cil_tmp132;
26545#line 4678
26546  __cil_tmp133 = (struct DeviceCtlBlk *)0;
26547#line 4678
26548  __cil_tmp134 = & __cil_tmp133->list;
26549#line 4678
26550  __cil_tmp135 = (unsigned int )__cil_tmp134;
26551#line 4678
26552  __cil_tmp136 = (char *)__mptr;
26553#line 4678
26554  __cil_tmp137 = __cil_tmp136 - __cil_tmp135;
26555#line 4678
26556  dcb = (struct DeviceCtlBlk *)__cil_tmp137;
26557  }
26558  {
26559#line 4678
26560  while (1) {
26561    while_continue___1: /* CIL Label */ ;
26562
26563    {
26564#line 4678
26565    __cil_tmp138 = & acb->dcb_list;
26566#line 4678
26567    __cil_tmp139 = (unsigned long )__cil_tmp138;
26568#line 4678
26569    __cil_tmp140 = & dcb->list;
26570#line 4678
26571    __cil_tmp141 = (unsigned long )__cil_tmp140;
26572#line 4678
26573    if (__cil_tmp141 != __cil_tmp139) {
26574
26575    } else {
26576#line 4678
26577      goto while_break___1;
26578    }
26579    }
26580    {
26581#line 4680
26582    __cil_tmp142 = dcb->target_id;
26583#line 4680
26584    __cil_tmp143 = (int )__cil_tmp142;
26585#line 4680
26586    __cil_tmp144 = dcb->target_lun;
26587#line 4680
26588    __cil_tmp145 = (int )__cil_tmp144;
26589#line 4680
26590    tmp___27 = sprintf(pos, "%02i %02i  %02i ", dev, __cil_tmp143, __cil_tmp145);
26591#line 4680
26592    pos = pos + tmp___27;
26593    }
26594    {
26595#line 4682
26596    __cil_tmp146 = dcb->dev_mode;
26597#line 4682
26598    __cil_tmp147 = (int )__cil_tmp146;
26599#line 4682
26600    if (__cil_tmp147 & 1) {
26601      {
26602#line 4682
26603      tmp___28 = sprintf(pos, " Yes ");
26604#line 4682
26605      pos = pos + tmp___28;
26606      }
26607    } else {
26608      {
26609#line 4682
26610      tmp___29 = sprintf(pos, " No  ");
26611#line 4682
26612      pos = pos + tmp___29;
26613      }
26614    }
26615    }
26616#line 4683
26617    if (dcb->sync_offset) {
26618      {
26619#line 4683
26620      tmp___30 = sprintf(pos, " Yes ");
26621#line 4683
26622      pos = pos + tmp___30;
26623      }
26624    } else {
26625      {
26626#line 4683
26627      tmp___31 = sprintf(pos, " No  ");
26628#line 4683
26629      pos = pos + tmp___31;
26630      }
26631    }
26632    {
26633#line 4684
26634    __cil_tmp148 = dcb->sync_period;
26635#line 4684
26636    __cil_tmp149 = (int )__cil_tmp148;
26637#line 4684
26638    if (__cil_tmp149 & 16) {
26639      {
26640#line 4684
26641      tmp___32 = sprintf(pos, " Yes ");
26642#line 4684
26643      pos = pos + tmp___32;
26644      }
26645    } else {
26646      {
26647#line 4684
26648      tmp___33 = sprintf(pos, " No  ");
26649#line 4684
26650      pos = pos + tmp___33;
26651      }
26652    }
26653    }
26654    {
26655#line 4685
26656    __cil_tmp150 = dcb->dev_mode;
26657#line 4685
26658    __cil_tmp151 = (int )__cil_tmp150;
26659#line 4685
26660    if (__cil_tmp151 & 4) {
26661      {
26662#line 4685
26663      tmp___34 = sprintf(pos, " Yes ");
26664#line 4685
26665      pos = pos + tmp___34;
26666      }
26667    } else {
26668      {
26669#line 4685
26670      tmp___35 = sprintf(pos, " No  ");
26671#line 4685
26672      pos = pos + tmp___35;
26673      }
26674    }
26675    }
26676    {
26677#line 4686
26678    __cil_tmp152 = dcb->dev_mode;
26679#line 4686
26680    __cil_tmp153 = (int )__cil_tmp152;
26681#line 4686
26682    if (__cil_tmp153 & 8) {
26683      {
26684#line 4686
26685      tmp___36 = sprintf(pos, " Yes ");
26686#line 4686
26687      pos = pos + tmp___36;
26688      }
26689    } else {
26690      {
26691#line 4686
26692      tmp___37 = sprintf(pos, " No  ");
26693#line 4686
26694      pos = pos + tmp___37;
26695      }
26696    }
26697    }
26698    {
26699#line 4687
26700    __cil_tmp154 = dcb->sync_mode;
26701#line 4687
26702    __cil_tmp155 = (int )__cil_tmp154;
26703#line 4687
26704    if (__cil_tmp155 & 32) {
26705      {
26706#line 4687
26707      tmp___38 = sprintf(pos, " Yes ");
26708#line 4687
26709      pos = pos + tmp___38;
26710      }
26711    } else {
26712      {
26713#line 4687
26714      tmp___39 = sprintf(pos, " No  ");
26715#line 4687
26716      pos = pos + tmp___39;
26717      }
26718    }
26719    }
26720#line 4688
26721    __cil_tmp156 = (int )clock_period[(int )dcb->sync_period & 7];
26722#line 4688
26723    nego_period = __cil_tmp156 << 2;
26724#line 4689
26725    if (dcb->sync_offset) {
26726      {
26727#line 4690
26728      tmp___40 = sprintf(pos, "  %03i ns ", nego_period);
26729#line 4690
26730      pos = pos + tmp___40;
26731      }
26732    } else {
26733      {
26734#line 4692
26735      __cil_tmp157 = dcb->min_nego_period;
26736#line 4692
26737      __cil_tmp158 = (int )__cil_tmp157;
26738#line 4692
26739      __cil_tmp159 = __cil_tmp158 << 2;
26740#line 4692
26741      tmp___41 = sprintf(pos, " (%03i ns)", __cil_tmp159);
26742#line 4692
26743      pos = pos + tmp___41;
26744      }
26745    }
26746    {
26747#line 4694
26748    __cil_tmp160 = dcb->sync_offset;
26749#line 4694
26750    __cil_tmp161 = (int )__cil_tmp160;
26751#line 4694
26752    if (__cil_tmp161 & 15) {
26753      {
26754#line 4695
26755      spd = 1000 / nego_period;
26756#line 4696
26757      spd1 = 1000 % nego_period;
26758#line 4697
26759      __cil_tmp162 = nego_period / 2;
26760#line 4697
26761      __cil_tmp163 = spd1 * 10;
26762#line 4697
26763      __cil_tmp164 = __cil_tmp163 + __cil_tmp162;
26764#line 4697
26765      spd1 = __cil_tmp164 / nego_period;
26766#line 4698
26767      __cil_tmp165 = dcb->sync_offset;
26768#line 4698
26769      __cil_tmp166 = (int )__cil_tmp165;
26770#line 4698
26771      __cil_tmp167 = __cil_tmp166 & 15;
26772#line 4698
26773      tmp___42 = sprintf(pos, "   %2i.%1i M     %02i ", spd, spd1, __cil_tmp167);
26774#line 4698
26775      pos = pos + tmp___42;
26776      }
26777    } else {
26778      {
26779#line 4701
26780      tmp___43 = sprintf(pos, "                 ");
26781#line 4701
26782      pos = pos + tmp___43;
26783      }
26784    }
26785    }
26786    {
26787#line 4704
26788    __cil_tmp168 = dcb->max_command;
26789#line 4704
26790    __cil_tmp169 = (int )__cil_tmp168;
26791#line 4704
26792    tmp___44 = sprintf(pos, "     %02i\n", __cil_tmp169);
26793#line 4704
26794    pos = pos + tmp___44;
26795#line 4705
26796    dev = dev + 1;
26797#line 4678
26798    __cil_tmp170 = dcb->list.next;
26799#line 4678
26800    __mptr___0 = (struct list_head  const  *)__cil_tmp170;
26801#line 4678
26802    __cil_tmp171 = (struct DeviceCtlBlk *)0;
26803#line 4678
26804    __cil_tmp172 = & __cil_tmp171->list;
26805#line 4678
26806    __cil_tmp173 = (unsigned int )__cil_tmp172;
26807#line 4678
26808    __cil_tmp174 = (char *)__mptr___0;
26809#line 4678
26810    __cil_tmp175 = __cil_tmp174 - __cil_tmp173;
26811#line 4678
26812    dcb = (struct DeviceCtlBlk *)__cil_tmp175;
26813    }
26814  }
26815  while_break___7: /* CIL Label */ ;
26816  }
26817
26818  while_break___1: 
26819  {
26820#line 4708
26821  __cil_tmp176 = & acb->waiting_timer;
26822#line 4708
26823  __cil_tmp177 = (struct timer_list  const  *)__cil_tmp176;
26824#line 4708
26825  tmp___47 = timer_pending(__cil_tmp177);
26826  }
26827#line 4708
26828  if (tmp___47) {
26829    {
26830#line 4709
26831    tmp___45 = sprintf(pos, "Waiting queue timer running\n");
26832#line 4709
26833    pos = pos + tmp___45;
26834    }
26835  } else {
26836    {
26837#line 4711
26838    tmp___46 = sprintf(pos, "\n");
26839#line 4711
26840    pos = pos + tmp___46;
26841    }
26842  }
26843#line 4713
26844  __cil_tmp178 = acb->dcb_list.next;
26845#line 4713
26846  __mptr___1 = (struct list_head  const  *)__cil_tmp178;
26847#line 4713
26848  __cil_tmp179 = (struct DeviceCtlBlk *)0;
26849#line 4713
26850  __cil_tmp180 = & __cil_tmp179->list;
26851#line 4713
26852  __cil_tmp181 = (unsigned int )__cil_tmp180;
26853#line 4713
26854  __cil_tmp182 = (char *)__mptr___1;
26855#line 4713
26856  __cil_tmp183 = __cil_tmp182 - __cil_tmp181;
26857#line 4713
26858  dcb = (struct DeviceCtlBlk *)__cil_tmp183;
26859  {
26860#line 4713
26861  while (1) {
26862    while_continue___2: /* CIL Label */ ;
26863
26864    {
26865#line 4713
26866    __cil_tmp184 = & acb->dcb_list;
26867#line 4713
26868    __cil_tmp185 = (unsigned long )__cil_tmp184;
26869#line 4713
26870    __cil_tmp186 = & dcb->list;
26871#line 4713
26872    __cil_tmp187 = (unsigned long )__cil_tmp186;
26873#line 4713
26874    if (__cil_tmp187 != __cil_tmp185) {
26875
26876    } else {
26877#line 4713
26878      goto while_break___2;
26879    }
26880    }
26881    {
26882#line 4715
26883    __cil_tmp188 = & dcb->srb_waiting_list;
26884#line 4715
26885    __cil_tmp189 = (struct list_head  const  *)__cil_tmp188;
26886#line 4715
26887    tmp___50 = list_empty(__cil_tmp189);
26888    }
26889#line 4715
26890    if (tmp___50) {
26891
26892    } else {
26893      {
26894#line 4716
26895      __cil_tmp190 = & dcb->srb_waiting_list;
26896#line 4716
26897      tmp___48 = list_size(__cil_tmp190);
26898#line 4716
26899      __cil_tmp191 = dcb->target_id;
26900#line 4716
26901      __cil_tmp192 = (int )__cil_tmp191;
26902#line 4716
26903      __cil_tmp193 = dcb->target_lun;
26904#line 4716
26905      __cil_tmp194 = (int )__cil_tmp193;
26906#line 4716
26907      tmp___49 = sprintf(pos, "DCB (%02i-%i): Waiting: %i:", __cil_tmp192, __cil_tmp194,
26908                         tmp___48);
26909#line 4716
26910      pos = pos + tmp___49;
26911      }
26912    }
26913#line 4719
26914    __cil_tmp195 = dcb->srb_waiting_list.next;
26915#line 4719
26916    __mptr___3 = (struct list_head  const  *)__cil_tmp195;
26917#line 4719
26918    __cil_tmp196 = (struct ScsiReqBlk *)0;
26919#line 4719
26920    __cil_tmp197 = & __cil_tmp196->list;
26921#line 4719
26922    __cil_tmp198 = (unsigned int )__cil_tmp197;
26923#line 4719
26924    __cil_tmp199 = (char *)__mptr___3;
26925#line 4719
26926    __cil_tmp200 = __cil_tmp199 - __cil_tmp198;
26927#line 4719
26928    srb = (struct ScsiReqBlk *)__cil_tmp200;
26929    {
26930#line 4719
26931    while (1) {
26932      while_continue___3: /* CIL Label */ ;
26933
26934      {
26935#line 4719
26936      __cil_tmp201 = & dcb->srb_waiting_list;
26937#line 4719
26938      __cil_tmp202 = (unsigned long )__cil_tmp201;
26939#line 4719
26940      __cil_tmp203 = & srb->list;
26941#line 4719
26942      __cil_tmp204 = (unsigned long )__cil_tmp203;
26943#line 4719
26944      if (__cil_tmp204 != __cil_tmp202) {
26945
26946      } else {
26947#line 4719
26948        goto while_break___3;
26949      }
26950      }
26951      {
26952#line 4720
26953      __cil_tmp205 = srb->cmd;
26954#line 4720
26955      tmp___51 = sprintf(pos, " %p", __cil_tmp205);
26956#line 4720
26957      pos = pos + tmp___51;
26958#line 4719
26959      __cil_tmp206 = srb->list.next;
26960#line 4719
26961      __mptr___4 = (struct list_head  const  *)__cil_tmp206;
26962#line 4719
26963      __cil_tmp207 = (struct ScsiReqBlk *)0;
26964#line 4719
26965      __cil_tmp208 = & __cil_tmp207->list;
26966#line 4719
26967      __cil_tmp209 = (unsigned int )__cil_tmp208;
26968#line 4719
26969      __cil_tmp210 = (char *)__mptr___4;
26970#line 4719
26971      __cil_tmp211 = __cil_tmp210 - __cil_tmp209;
26972#line 4719
26973      srb = (struct ScsiReqBlk *)__cil_tmp211;
26974      }
26975    }
26976    while_break___9: /* CIL Label */ ;
26977    }
26978
26979    while_break___3: 
26980    {
26981#line 4721
26982    __cil_tmp212 = & dcb->srb_going_list;
26983#line 4721
26984    __cil_tmp213 = (struct list_head  const  *)__cil_tmp212;
26985#line 4721
26986    tmp___54 = list_empty(__cil_tmp213);
26987    }
26988#line 4721
26989    if (tmp___54) {
26990
26991    } else {
26992      {
26993#line 4722
26994      __cil_tmp214 = & dcb->srb_going_list;
26995#line 4722
26996      tmp___52 = list_size(__cil_tmp214);
26997#line 4722
26998      __cil_tmp215 = dcb->target_id;
26999#line 4722
27000      __cil_tmp216 = (int )__cil_tmp215;
27001#line 4722
27002      __cil_tmp217 = dcb->target_lun;
27003#line 4722
27004      __cil_tmp218 = (int )__cil_tmp217;
27005#line 4722
27006      tmp___53 = sprintf(pos, "\nDCB (%02i-%i): Going  : %i:", __cil_tmp216, __cil_tmp218,
27007                         tmp___52);
27008#line 4722
27009      pos = pos + tmp___53;
27010      }
27011    }
27012#line 4725
27013    __cil_tmp219 = dcb->srb_going_list.next;
27014#line 4725
27015    __mptr___5 = (struct list_head  const  *)__cil_tmp219;
27016#line 4725
27017    __cil_tmp220 = (struct ScsiReqBlk *)0;
27018#line 4725
27019    __cil_tmp221 = & __cil_tmp220->list;
27020#line 4725
27021    __cil_tmp222 = (unsigned int )__cil_tmp221;
27022#line 4725
27023    __cil_tmp223 = (char *)__mptr___5;
27024#line 4725
27025    __cil_tmp224 = __cil_tmp223 - __cil_tmp222;
27026#line 4725
27027    srb = (struct ScsiReqBlk *)__cil_tmp224;
27028    {
27029#line 4725
27030    while (1) {
27031      while_continue___4: /* CIL Label */ ;
27032
27033      {
27034#line 4725
27035      __cil_tmp225 = & dcb->srb_going_list;
27036#line 4725
27037      __cil_tmp226 = (unsigned long )__cil_tmp225;
27038#line 4725
27039      __cil_tmp227 = & srb->list;
27040#line 4725
27041      __cil_tmp228 = (unsigned long )__cil_tmp227;
27042#line 4725
27043      if (__cil_tmp228 != __cil_tmp226) {
27044
27045      } else {
27046#line 4725
27047        goto while_break___4;
27048      }
27049      }
27050      {
27051#line 4726
27052      __cil_tmp229 = srb->cmd;
27053#line 4726
27054      tmp___55 = sprintf(pos, " %p", __cil_tmp229);
27055#line 4726
27056      pos = pos + tmp___55;
27057#line 4725
27058      __cil_tmp230 = srb->list.next;
27059#line 4725
27060      __mptr___6 = (struct list_head  const  *)__cil_tmp230;
27061#line 4725
27062      __cil_tmp231 = (struct ScsiReqBlk *)0;
27063#line 4725
27064      __cil_tmp232 = & __cil_tmp231->list;
27065#line 4725
27066      __cil_tmp233 = (unsigned int )__cil_tmp232;
27067#line 4725
27068      __cil_tmp234 = (char *)__mptr___6;
27069#line 4725
27070      __cil_tmp235 = __cil_tmp234 - __cil_tmp233;
27071#line 4725
27072      srb = (struct ScsiReqBlk *)__cil_tmp235;
27073      }
27074    }
27075    while_break___10: /* CIL Label */ ;
27076    }
27077
27078    while_break___4: 
27079    {
27080#line 4727
27081    __cil_tmp236 = & dcb->srb_waiting_list;
27082#line 4727
27083    __cil_tmp237 = (struct list_head  const  *)__cil_tmp236;
27084#line 4727
27085    tmp___57 = list_empty(__cil_tmp237);
27086    }
27087#line 4727
27088    if (tmp___57) {
27089      {
27090#line 4727
27091      __cil_tmp238 = & dcb->srb_going_list;
27092#line 4727
27093      __cil_tmp239 = (struct list_head  const  *)__cil_tmp238;
27094#line 4727
27095      tmp___58 = list_empty(__cil_tmp239);
27096      }
27097#line 4727
27098      if (tmp___58) {
27099
27100      } else {
27101        {
27102#line 4728
27103        tmp___56 = sprintf(pos, "\n");
27104#line 4728
27105        pos = pos + tmp___56;
27106        }
27107      }
27108    } else {
27109      {
27110#line 4728
27111      tmp___56 = sprintf(pos, "\n");
27112#line 4728
27113      pos = pos + tmp___56;
27114      }
27115    }
27116#line 4713
27117    __cil_tmp240 = dcb->list.next;
27118#line 4713
27119    __mptr___2 = (struct list_head  const  *)__cil_tmp240;
27120#line 4713
27121    __cil_tmp241 = (struct DeviceCtlBlk *)0;
27122#line 4713
27123    __cil_tmp242 = & __cil_tmp241->list;
27124#line 4713
27125    __cil_tmp243 = (unsigned int )__cil_tmp242;
27126#line 4713
27127    __cil_tmp244 = (char *)__mptr___2;
27128#line 4713
27129    __cil_tmp245 = __cil_tmp244 - __cil_tmp243;
27130#line 4713
27131    dcb = (struct DeviceCtlBlk *)__cil_tmp245;
27132  }
27133  while_break___8: /* CIL Label */ ;
27134  }
27135
27136  while_break___2: 
27137  {
27138#line 4739
27139  *start = buffer + offset;
27140#line 4740
27141  __cil_tmp246 = acb->scsi_host;
27142#line 4740
27143  __cil_tmp247 = __cil_tmp246->host_lock;
27144#line 4740
27145  spin_unlock_irqrestore(__cil_tmp247, flags);
27146  }
27147  {
27148#line 4742
27149  __cil_tmp248 = pos - buffer;
27150#line 4742
27151  __cil_tmp249 = (off_t )__cil_tmp248;
27152#line 4742
27153  if (__cil_tmp249 < offset) {
27154#line 4743
27155    return (0);
27156  } else {
27157    {
27158#line 4744
27159    __cil_tmp250 = (off_t )length;
27160#line 4744
27161    __cil_tmp251 = pos - buffer;
27162#line 4744
27163    __cil_tmp252 = (off_t )__cil_tmp251;
27164#line 4744
27165    __cil_tmp253 = __cil_tmp252 - offset;
27166#line 4744
27167    if (__cil_tmp253 < __cil_tmp250) {
27168      {
27169#line 4745
27170      __cil_tmp254 = pos - buffer;
27171#line 4745
27172      __cil_tmp255 = (off_t )__cil_tmp254;
27173#line 4745
27174      __cil_tmp256 = __cil_tmp255 - offset;
27175#line 4745
27176      return ((int )__cil_tmp256);
27177      }
27178    } else {
27179#line 4747
27180      return (length);
27181    }
27182    }
27183  }
27184  }
27185}
27186}
27187#line 4751 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27188static struct scsi_host_template dc395x_driver_template  = 
27189#line 4751
27190     {& __this_module, "Tekram DC395(U/UW/F), DC315(U) - ASIC TRM-S1040 v2.05, 2004/03/08",
27191    (int (*)(struct scsi_host_template * ))0, (int (*)(struct Scsi_Host * ))0, (char const   *(*)(struct Scsi_Host * ))0,
27192    (int (*)(struct scsi_device *dev , int cmd , void *arg ))0, (int (*)(struct scsi_device *dev ,
27193                                                                         int cmd ,
27194                                                                         void *arg ))0,
27195    & dc395x_queue_command, (int (*)(struct scsi_cmnd * , void (*done)(struct scsi_cmnd * ) ))0,
27196    & dc395x_eh_abort, (int (*)(struct scsi_cmnd * ))0, (int (*)(struct scsi_cmnd * ))0,
27197    & dc395x_eh_bus_reset, (int (*)(struct scsi_cmnd * ))0, & dc395x_slave_alloc,
27198    (int (*)(struct scsi_device * ))0, & dc395x_slave_destroy, (int (*)(struct scsi_target * ))0,
27199    (void (*)(struct scsi_target * ))0, (int (*)(struct Scsi_Host * , unsigned long  ))0,
27200    (void (*)(struct Scsi_Host * ))0, (int (*)(struct scsi_device * , int  , int  ))0,
27201    (int (*)(struct scsi_device * , int  ))0, & dc395x_bios_param, (void (*)(struct scsi_device * ))0,
27202    & dc395x_proc_info, (enum blk_eh_timer_return (*)(struct scsi_cmnd * ))0, "dc395x",
27203    (struct proc_dir_entry *)0, 63, 7, (unsigned short)64, (unsigned short)0, (unsigned short)0,
27204    0UL, (short)16, (unsigned char)0, 0U, 0U, 0U, 0U, 0U, 0U, 0U, (struct device_attribute **)0,
27205    (struct device_attribute **)0, {(struct list_head *)0, (struct list_head *)0},
27206    0ULL};
27207#line 4776
27208static void banner_display(void) ;
27209#line 4776 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27210static int banner_done  =    0;
27211#line 4774 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27212static void banner_display(void) 
27213{ 
27214
27215  {
27216#line 4777
27217  if (! banner_done) {
27218    {
27219#line 4779
27220    printk("<6>dc395x: %s %s\n", "Tekram DC395(U/UW/F), DC315(U) - ASIC TRM-S1040",
27221           "v2.05, 2004/03/08");
27222#line 4780
27223    banner_done = 1;
27224    }
27225  } else {
27226
27227  }
27228#line 4782
27229  return;
27230}
27231}
27232#line 4798
27233static int dc395x_init_one(struct pci_dev *dev , struct pci_device_id  const  *id )  __attribute__((__section__(".devinit.text"),
27234__no_instrument_function__)) ;
27235#line 4798
27236static int dc395x_init_one(struct pci_dev *dev , struct pci_device_id  const  *id )  __attribute__((__section__(".devinit.text"),
27237__no_instrument_function__)) ;
27238#line 4798 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27239static int dc395x_init_one(struct pci_dev *dev , struct pci_device_id  const  *id ) 
27240{ struct Scsi_Host *scsi_host ;
27241  struct AdapterCtlBlk *acb ;
27242  unsigned long io_port_base ;
27243  unsigned int io_port_len ;
27244  unsigned int irq ;
27245  int tmp___7 ;
27246  int tmp___8 ;
27247  int tmp___9 ;
27248  int tmp ;
27249  int tmp___10 ;
27250  int tmp___11 ;
27251  int tmp___12 ;
27252  void *__cil_tmp15 ;
27253  void *__cil_tmp16 ;
27254  resource_size_t __cil_tmp17 ;
27255  unsigned long long __cil_tmp18 ;
27256  resource_size_t __cil_tmp19 ;
27257  resource_size_t __cil_tmp20 ;
27258  resource_size_t __cil_tmp21 ;
27259  resource_size_t __cil_tmp22 ;
27260  resource_size_t __cil_tmp23 ;
27261  resource_size_t __cil_tmp24 ;
27262  resource_size_t __cil_tmp25 ;
27263  resource_size_t __cil_tmp26 ;
27264  resource_size_t __cil_tmp27 ;
27265  resource_size_t __cil_tmp28 ;
27266  resource_size_t __cil_tmp29 ;
27267  int __cil_tmp30 ;
27268  unsigned long *__cil_tmp31 ;
27269  struct device *__cil_tmp32 ;
27270  void *__cil_tmp33 ;
27271  void *__cil_tmp34 ;
27272  unsigned long __cil_tmp35 ;
27273  unsigned long __cil_tmp36 ;
27274  void *__cil_tmp37 ;
27275  unsigned long __cil_tmp38 ;
27276  unsigned long __cil_tmp39 ;
27277
27278  {
27279#line 4801
27280  __cil_tmp15 = (void *)0;
27281#line 4801
27282  scsi_host = (struct Scsi_Host *)__cil_tmp15;
27283#line 4802
27284  __cil_tmp16 = (void *)0;
27285#line 4802
27286  acb = (struct AdapterCtlBlk *)__cil_tmp16;
27287  {
27288#line 4807
27289  while (1) {
27290    while_continue: /* CIL Label */ ;
27291
27292#line 4807
27293    goto while_break;
27294  }
27295  while_break___1: /* CIL Label */ ;
27296  }
27297
27298  while_break: 
27299  {
27300#line 4808
27301  banner_display();
27302#line 4810
27303  tmp___11 = (int )pci_enable_device(dev);
27304#line 4810
27305  tmp = tmp___11;
27306#line 4810
27307  tmp___7 = tmp;
27308  }
27309#line 4810
27310  if (tmp___7) {
27311    {
27312#line 4812
27313    printk("<6>dc395x: PCI Enable device failed.\n");
27314    }
27315#line 4813
27316    return (-19);
27317  } else {
27318
27319  }
27320#line 4815
27321  __cil_tmp17 = dev->resource[0].start;
27322#line 4815
27323  __cil_tmp18 = __cil_tmp17 & 1152921504606846972ULL;
27324#line 4815
27325  io_port_base = (unsigned long )__cil_tmp18;
27326  {
27327#line 4816
27328  __cil_tmp19 = dev->resource[0].start;
27329#line 4816
27330  if (__cil_tmp19 == 0ULL) {
27331    {
27332#line 4816
27333    __cil_tmp20 = dev->resource[0].start;
27334#line 4816
27335    __cil_tmp21 = dev->resource[0].end;
27336#line 4816
27337    if (__cil_tmp21 == __cil_tmp20) {
27338#line 4816
27339      io_port_len = 0U;
27340    } else {
27341#line 4816
27342      __cil_tmp22 = dev->resource[0].start;
27343#line 4816
27344      __cil_tmp23 = dev->resource[0].end;
27345#line 4816
27346      __cil_tmp24 = __cil_tmp23 - __cil_tmp22;
27347#line 4816
27348      __cil_tmp25 = __cil_tmp24 + 1ULL;
27349#line 4816
27350      io_port_len = (unsigned int )__cil_tmp25;
27351    }
27352    }
27353  } else {
27354#line 4816
27355    __cil_tmp26 = dev->resource[0].start;
27356#line 4816
27357    __cil_tmp27 = dev->resource[0].end;
27358#line 4816
27359    __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
27360#line 4816
27361    __cil_tmp29 = __cil_tmp28 + 1ULL;
27362#line 4816
27363    io_port_len = (unsigned int )__cil_tmp29;
27364  }
27365  }
27366#line 4817
27367  irq = dev->irq;
27368  {
27369#line 4818
27370  while (1) {
27371    while_continue___0: /* CIL Label */ ;
27372
27373#line 4818
27374    goto while_break___0;
27375  }
27376  while_break___2: /* CIL Label */ ;
27377  }
27378
27379  while_break___0: 
27380  {
27381#line 4821
27382  __cil_tmp30 = (int )11264UL;
27383#line 4821
27384  scsi_host = scsi_host_alloc(& dc395x_driver_template, __cil_tmp30);
27385  }
27386#line 4823
27387  if (! scsi_host) {
27388    {
27389#line 4824
27390    printk("<6>dc395x: scsi_host_alloc failed\n");
27391    }
27392#line 4825
27393    goto fail;
27394  } else {
27395
27396  }
27397  {
27398#line 4827
27399  __cil_tmp31 = & scsi_host->hostdata[0];
27400#line 4827
27401  acb = (struct AdapterCtlBlk *)__cil_tmp31;
27402#line 4828
27403  acb->scsi_host = scsi_host;
27404#line 4829
27405  acb->dev = dev;
27406#line 4832
27407  tmp___8 = adapter_init(acb, io_port_base, io_port_len, irq);
27408  }
27409#line 4832
27410  if (tmp___8) {
27411    {
27412#line 4833
27413    printk("<6>dc395x: adapter init failed\n");
27414    }
27415#line 4834
27416    goto fail;
27417  } else {
27418
27419  }
27420  {
27421#line 4837
27422  pci_set_master(dev);
27423#line 4840
27424  __cil_tmp32 = & dev->dev;
27425#line 4840
27426  tmp___12 = (int )scsi_add_host(scsi_host, __cil_tmp32);
27427#line 4840
27428  tmp___10 = tmp___12;
27429#line 4840
27430  tmp___9 = tmp___10;
27431  }
27432#line 4840
27433  if (tmp___9) {
27434    {
27435#line 4841
27436    printk("<3>dc395x: scsi_add_host failed\n");
27437    }
27438#line 4842
27439    goto fail;
27440  } else {
27441
27442  }
27443  {
27444#line 4844
27445  __cil_tmp33 = (void *)scsi_host;
27446#line 4844
27447  pci_set_drvdata(dev, __cil_tmp33);
27448#line 4845
27449  scsi_scan_host(scsi_host);
27450  }
27451#line 4847
27452  return (0);
27453  fail: 
27454  {
27455#line 4850
27456  __cil_tmp34 = (void *)0;
27457#line 4850
27458  __cil_tmp35 = (unsigned long )__cil_tmp34;
27459#line 4850
27460  __cil_tmp36 = (unsigned long )acb;
27461#line 4850
27462  if (__cil_tmp36 != __cil_tmp35) {
27463    {
27464#line 4851
27465    adapter_uninit(acb);
27466    }
27467  } else {
27468
27469  }
27470  }
27471  {
27472#line 4852
27473  __cil_tmp37 = (void *)0;
27474#line 4852
27475  __cil_tmp38 = (unsigned long )__cil_tmp37;
27476#line 4852
27477  __cil_tmp39 = (unsigned long )scsi_host;
27478#line 4852
27479  if (__cil_tmp39 != __cil_tmp38) {
27480    {
27481#line 4853
27482    scsi_host_put(scsi_host);
27483    }
27484  } else {
27485
27486  }
27487  }
27488  {
27489#line 4854
27490  pci_disable_device(dev);
27491  }
27492#line 4855
27493  return (-19);
27494}
27495}
27496#line 4865
27497static void dc395x_remove_one(struct pci_dev *dev )  __attribute__((__section__(".devexit.text"),
27498__no_instrument_function__)) ;
27499#line 4865
27500static void dc395x_remove_one(struct pci_dev *dev )  __attribute__((__section__(".devexit.text"),
27501__no_instrument_function__)) ;
27502#line 4865 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27503static void dc395x_remove_one(struct pci_dev *dev ) 
27504{ struct Scsi_Host *scsi_host ;
27505  void *tmp___7 ;
27506  struct AdapterCtlBlk *acb ;
27507  unsigned long *__cil_tmp5 ;
27508  void *__cil_tmp6 ;
27509
27510  {
27511  {
27512#line 4867
27513  tmp___7 = pci_get_drvdata(dev);
27514#line 4867
27515  scsi_host = (struct Scsi_Host *)tmp___7;
27516#line 4868
27517  __cil_tmp5 = & scsi_host->hostdata[0];
27518#line 4868
27519  acb = (struct AdapterCtlBlk *)__cil_tmp5;
27520  }
27521  {
27522#line 4870
27523  while (1) {
27524    while_continue: /* CIL Label */ ;
27525
27526#line 4870
27527    goto while_break;
27528  }
27529  while_break___0: /* CIL Label */ ;
27530  }
27531
27532  while_break: 
27533  {
27534#line 4872
27535  scsi_remove_host(scsi_host);
27536#line 4873
27537  adapter_uninit(acb);
27538#line 4874
27539  pci_disable_device(dev);
27540#line 4875
27541  scsi_host_put(scsi_host);
27542#line 4876
27543  __cil_tmp6 = (void *)0;
27544#line 4876
27545  pci_set_drvdata(dev, __cil_tmp6);
27546  }
27547#line 4877
27548  return;
27549}
27550}
27551#line 4880 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27552static struct pci_device_id dc395x_pci_table[1]  = {      {(__u32 )7649, (__u32 )913, (__u32 )(~ 0), (__u32 )(~ 0), 0U, 0U, 0UL}};
27553#line 4889
27554extern struct pci_device_id  const  __mod_pci_device_table  __attribute__((__unused__,
27555__alias__("dc395x_pci_table"))) ;
27556#line 4892 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27557static struct pci_driver dc395x_driver  = 
27558#line 4892
27559     {{(struct list_head *)0, (struct list_head *)0}, "dc395x", (struct pci_device_id  const  *)(dc395x_pci_table),
27560    & dc395x_init_one, & dc395x_remove_one, (int (*)(struct pci_dev *dev , pm_message_t state ))0,
27561    (int (*)(struct pci_dev *dev , pm_message_t state ))0, (int (*)(struct pci_dev *dev ))0,
27562    (int (*)(struct pci_dev *dev ))0, (void (*)(struct pci_dev *dev ))0, (struct pci_error_handlers *)0,
27563    {(char const   *)0, (struct bus_type *)0, (struct module *)0, (char const   *)0,
27564     (_Bool)0, (struct of_device_id  const  *)0, (int (*)(struct device *dev ))0,
27565     (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
27566                                                                                 pm_message_t state ))0,
27567     (int (*)(struct device *dev ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
27568     (struct driver_private *)0}, {{{{{0U}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
27569                                                                {(struct lock_class *)0,
27570                                                                 (struct lock_class *)0},
27571                                                                (char const   *)0,
27572                                                                0, 0UL}}}}, {(struct list_head *)0,
27573                                                                             (struct list_head *)0}}};
27574#line 4905
27575static int dc395x_module_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
27576#line 4905
27577static int dc395x_module_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
27578#line 4905 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27579static int dc395x_module_init(void) 
27580{ int tmp___7 ;
27581  int tmp ;
27582  int tmp___8 ;
27583
27584  {
27585  {
27586#line 4907
27587  tmp___8 = (int )__pci_register_driver(& dc395x_driver, & __this_module, "dc395x");
27588#line 4907
27589  tmp = tmp___8;
27590#line 4907
27591  tmp___7 = tmp;
27592  }
27593#line 4907
27594  return (tmp___7);
27595}
27596}
27597#line 4914
27598static void dc395x_module_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
27599#line 4914
27600static void dc395x_module_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
27601#line 4914 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27602static void dc395x_module_exit(void) 
27603{ 
27604
27605  {
27606  {
27607#line 4916
27608  pci_unregister_driver(& dc395x_driver);
27609  }
27610#line 4917
27611  return;
27612}
27613}
27614#line 4920 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27615int init_module(void) 
27616{ int tmp___7 ;
27617
27618  {
27619  {
27620#line 4920
27621  tmp___7 = dc395x_module_init();
27622  }
27623#line 4920
27624  return (tmp___7);
27625}
27626}
27627#line 4921 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27628void cleanup_module(void) 
27629{ 
27630
27631  {
27632  {
27633#line 4921
27634  dc395x_module_exit();
27635  }
27636#line 4921
27637  return;
27638}
27639}
27640#line 4923 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27641static char const   __mod_author4923[46]  __attribute__((__used__, __unused__, __section__(".modinfo"),
27642__aligned__(1)))  = 
27643#line 4923
27644  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
27645        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'C', 
27646        (char const   )'.',      (char const   )'L',      (char const   )'.',      (char const   )' ', 
27647        (char const   )'H',      (char const   )'u',      (char const   )'a',      (char const   )'n', 
27648        (char const   )'g',      (char const   )' ',      (char const   )'/',      (char const   )' ', 
27649        (char const   )'E',      (char const   )'r',      (char const   )'i',      (char const   )'c', 
27650        (char const   )'h',      (char const   )' ',      (char const   )'C',      (char const   )'h', 
27651        (char const   )'e',      (char const   )'n',      (char const   )' ',      (char const   )'/', 
27652        (char const   )' ',      (char const   )'K',      (char const   )'u',      (char const   )'r', 
27653        (char const   )'t',      (char const   )' ',      (char const   )'G',      (char const   )'a', 
27654        (char const   )'r',      (char const   )'l',      (char const   )'o',      (char const   )'f', 
27655        (char const   )'f',      (char const   )'\000'};
27656#line 4924 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27657static char const   __mod_description4924[104]  __attribute__((__used__, __unused__,
27658__section__(".modinfo"), __aligned__(1)))  = 
27659#line 4924
27660  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
27661        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
27662        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
27663        (char const   )'S',      (char const   )'C',      (char const   )'S',      (char const   )'I', 
27664        (char const   )' ',      (char const   )'h',      (char const   )'o',      (char const   )'s', 
27665        (char const   )'t',      (char const   )' ',      (char const   )'a',      (char const   )'d', 
27666        (char const   )'a',      (char const   )'p',      (char const   )'t',      (char const   )'e', 
27667        (char const   )'r',      (char const   )' ',      (char const   )'d',      (char const   )'r', 
27668        (char const   )'i',      (char const   )'v',      (char const   )'e',      (char const   )'r', 
27669        (char const   )' ',      (char const   )'f',      (char const   )'o',      (char const   )'r', 
27670        (char const   )' ',      (char const   )'T',      (char const   )'e',      (char const   )'k', 
27671        (char const   )'r',      (char const   )'a',      (char const   )'m',      (char const   )' ', 
27672        (char const   )'T',      (char const   )'R',      (char const   )'M',      (char const   )'-', 
27673        (char const   )'S',      (char const   )'1',      (char const   )'0',      (char const   )'4', 
27674        (char const   )'0',      (char const   )' ',      (char const   )'b',      (char const   )'a', 
27675        (char const   )'s',      (char const   )'e',      (char const   )'d',      (char const   )' ', 
27676        (char const   )'a',      (char const   )'d',      (char const   )'a',      (char const   )'p', 
27677        (char const   )'t',      (char const   )'e',      (char const   )'r',      (char const   )'s', 
27678        (char const   )':',      (char const   )' ',      (char const   )'T',      (char const   )'e', 
27679        (char const   )'k',      (char const   )'r',      (char const   )'a',      (char const   )'m', 
27680        (char const   )' ',      (char const   )'D',      (char const   )'C',      (char const   )'3', 
27681        (char const   )'9',      (char const   )'5',      (char const   )' ',      (char const   )'a', 
27682        (char const   )'n',      (char const   )'d',      (char const   )' ',      (char const   )'D', 
27683        (char const   )'C',      (char const   )'3',      (char const   )'1',      (char const   )'5', 
27684        (char const   )' ',      (char const   )'s',      (char const   )'e',      (char const   )'r', 
27685        (char const   )'i',      (char const   )'e',      (char const   )'s',      (char const   )'\000'};
27686#line 4925 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27687static char const   __mod_license4925[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
27688__aligned__(1)))  = 
27689#line 4925
27690  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
27691        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
27692        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
27693#line 4943
27694void ldv_check_final_state(void)  __attribute__((__ldv_model__)) ;
27695#line 4946
27696extern void ldv_check_return_value(int res ) ;
27697#line 4949
27698extern void ldv_initialize(void) ;
27699#line 4952
27700extern int nondet_int(void) ;
27701#line 4955 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27702int LDV_IN_INTERRUPT  ;
27703#line 5806 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27704static int res_dc395x_init_one_106  ;
27705#line 4958 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27706void main(void) 
27707{ struct Scsi_Host *var_group1 ;
27708  char *var_dc395x_proc_info_104_p1 ;
27709  char **var_dc395x_proc_info_104_p2 ;
27710  off_t var_dc395x_proc_info_104_p3 ;
27711  int var_dc395x_proc_info_104_p4 ;
27712  int var_dc395x_proc_info_104_p5 ;
27713  struct scsi_device *var_group2 ;
27714  struct block_device *var_group3 ;
27715  sector_t var_dc395x_bios_param_24_p2 ;
27716  int *var_dc395x_bios_param_24_p3 ;
27717  struct scsi_cmnd *var_group4 ;
27718  struct pci_dev *var_group5 ;
27719  struct pci_device_id  const  *var_dc395x_init_one_106_p1 ;
27720  int var_dc395x_interrupt_38_p0 ;
27721  void *var_dc395x_interrupt_38_p1 ;
27722  unsigned long var_waiting_timeout_20_p0 ;
27723  int tmp___7 ;
27724  int ldv_s_dc395x_driver_pci_driver ;
27725  int tmp___8 ;
27726  int tmp___9 ;
27727  int __cil_tmp21 ;
27728
27729  {
27730  {
27731#line 6174
27732  LDV_IN_INTERRUPT = 1;
27733#line 6183
27734  ldv_initialize();
27735#line 6302
27736  tmp___7 = dc395x_module_init();
27737  }
27738#line 6302
27739  if (tmp___7) {
27740#line 6303
27741    goto ldv_final;
27742  } else {
27743
27744  }
27745#line 6306
27746  ldv_s_dc395x_driver_pci_driver = 0;
27747  {
27748#line 6313
27749  while (1) {
27750    while_continue: /* CIL Label */ ;
27751    {
27752#line 6313
27753    tmp___9 = nondet_int();
27754    }
27755#line 6313
27756    if (tmp___9) {
27757
27758    } else {
27759      {
27760#line 6313
27761      __cil_tmp21 = ldv_s_dc395x_driver_pci_driver == 0;
27762#line 6313
27763      if (! __cil_tmp21) {
27764
27765      } else {
27766#line 6313
27767        goto while_break;
27768      }
27769      }
27770    }
27771    {
27772#line 6317
27773    tmp___8 = nondet_int();
27774    }
27775#line 6319
27776    if (tmp___8 == 0) {
27777#line 6319
27778      goto case_0;
27779    } else
27780#line 6448
27781    if (tmp___8 == 1) {
27782#line 6448
27783      goto case_1;
27784    } else
27785#line 6576
27786    if (tmp___8 == 2) {
27787#line 6576
27788      goto case_2;
27789    } else
27790#line 6707
27791    if (tmp___8 == 3) {
27792#line 6707
27793      goto case_3;
27794    } else
27795#line 6838
27796    if (tmp___8 == 4) {
27797#line 6838
27798      goto case_4;
27799    } else
27800#line 6969
27801    if (tmp___8 == 5) {
27802#line 6969
27803      goto case_5;
27804    } else
27805#line 7100
27806    if (tmp___8 == 6) {
27807#line 7100
27808      goto case_6;
27809    } else
27810#line 7232
27811    if (tmp___8 == 7) {
27812#line 7232
27813      goto case_7;
27814    } else
27815#line 7360
27816    if (tmp___8 == 8) {
27817#line 7360
27818      goto case_8;
27819    } else
27820#line 7491
27821    if (tmp___8 == 9) {
27822#line 7491
27823      goto case_9;
27824    } else {
27825#line 7622
27826      goto switch_default;
27827#line 6317
27828      if (0) {
27829        case_0: 
27830        {
27831#line 6440
27832        dc395x_proc_info(var_group1, var_dc395x_proc_info_104_p1, var_dc395x_proc_info_104_p2,
27833                         var_dc395x_proc_info_104_p3, var_dc395x_proc_info_104_p4,
27834                         var_dc395x_proc_info_104_p5);
27835        }
27836#line 6447
27837        goto switch_break;
27838        case_1: 
27839        {
27840#line 6518
27841        dc395x_bios_param(var_group2, var_group3, var_dc395x_bios_param_24_p2, var_dc395x_bios_param_24_p3);
27842        }
27843#line 6575
27844        goto switch_break;
27845        case_2: 
27846        {
27847#line 6688
27848        dc395x_slave_alloc(var_group2);
27849        }
27850#line 6706
27851        goto switch_break;
27852        case_3: 
27853        {
27854#line 6819
27855        dc395x_slave_destroy(var_group2);
27856        }
27857#line 6837
27858        goto switch_break;
27859        case_4: 
27860        {
27861#line 6913
27862        dc395x_eh_abort(var_group4);
27863        }
27864#line 6968
27865        goto switch_break;
27866        case_5: 
27867        {
27868#line 7044
27869        dc395x_eh_bus_reset(var_group4);
27870        }
27871#line 7099
27872        goto switch_break;
27873        case_6: 
27874#line 7103
27875        if (ldv_s_dc395x_driver_pci_driver == 0) {
27876          {
27877#line 7221
27878          res_dc395x_init_one_106 = dc395x_init_one(var_group5, var_dc395x_init_one_106_p1);
27879#line 7222
27880          ldv_check_return_value(res_dc395x_init_one_106);
27881          }
27882#line 7223
27883          if (res_dc395x_init_one_106) {
27884#line 7224
27885            goto ldv_module_exit;
27886          } else {
27887
27888          }
27889#line 7225
27890          ldv_s_dc395x_driver_pci_driver = 0;
27891        } else {
27892
27893        }
27894#line 7231
27895        goto switch_break;
27896        case_7: 
27897        {
27898#line 7235
27899        LDV_IN_INTERRUPT = 2;
27900#line 7318
27901        dc395x_interrupt(var_dc395x_interrupt_38_p0, var_dc395x_interrupt_38_p1);
27902#line 7353
27903        LDV_IN_INTERRUPT = 1;
27904        }
27905#line 7359
27906        goto switch_break;
27907        case_8: ;
27908#line 7490
27909        goto switch_break;
27910        case_9: 
27911        {
27912#line 7561
27913        waiting_timeout(var_waiting_timeout_20_p0);
27914        }
27915#line 7621
27916        goto switch_break;
27917        switch_default: 
27918#line 7622
27919        goto switch_break;
27920      } else {
27921        switch_break: ;
27922      }
27923    }
27924  }
27925  while_break___0: /* CIL Label */ ;
27926  }
27927
27928  while_break: ;
27929  ldv_module_exit: 
27930  {
27931#line 7747
27932  dc395x_module_exit();
27933  }
27934  ldv_final: 
27935  {
27936#line 7750
27937  ldv_check_final_state();
27938  }
27939#line 7753
27940  return;
27941}
27942}
27943#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
27944void ldv_blast_assert(void) 
27945{ 
27946
27947  {
27948  ERROR: 
27949#line 6
27950  goto ERROR;
27951}
27952}
27953#line 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
27954extern void *ldv_undefined_pointer(void) ;
27955#line 1332 "include/linux/usb.h"
27956struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )  __attribute__((__ldv_model__)) ;
27957#line 1333
27958void usb_free_urb(struct urb *urb )  __attribute__((__ldv_model__)) ;
27959#line 1377
27960void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
27961                         dma_addr_t *dma )  __attribute__((__ldv_model__)) ;
27962#line 1379
27963void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )  __attribute__((__ldv_model__)) ;
27964#line 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27965void ldv_assume_stop(void)  __attribute__((__ldv_model_inline__)) ;
27966#line 22
27967void ldv_assume_stop(void)  __attribute__((__ldv_model_inline__)) ;
27968#line 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27969void ldv_assume_stop(void) 
27970{ 
27971
27972  {
27973  LDV_STOP: 
27974#line 23
27975  goto LDV_STOP;
27976}
27977}
27978#line 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27979int ldv_urb_state  =    0;
27980#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27981int ldv_coherent_state  =    0;
27982#line 62
27983void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
27984                         dma_addr_t *dma )  __attribute__((__ldv_model__)) ;
27985#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27986void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
27987                         dma_addr_t *dma ) 
27988{ void *arbitrary_memory ;
27989  void *tmp___7 ;
27990
27991  {
27992  {
27993#line 64
27994  while (1) {
27995    while_continue: /* CIL Label */ ;
27996    {
27997#line 64
27998    tmp___7 = ldv_undefined_pointer();
27999#line 64
28000    arbitrary_memory = tmp___7;
28001    }
28002#line 64
28003    if (! arbitrary_memory) {
28004#line 64
28005      return ((void *)0);
28006    } else {
28007
28008    }
28009#line 64
28010    ldv_coherent_state = ldv_coherent_state + 1;
28011#line 64
28012    return (arbitrary_memory);
28013#line 64
28014    goto while_break;
28015  }
28016  while_break___0: /* CIL Label */ ;
28017  }
28018
28019  while_break: ;
28020#line 65
28021  return ((void *)0);
28022}
28023}
28024#line 68
28025void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )  __attribute__((__ldv_model__)) ;
28026#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28027void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) 
28028{ void *__cil_tmp5 ;
28029  unsigned long __cil_tmp6 ;
28030  unsigned long __cil_tmp7 ;
28031  int __cil_tmp8 ;
28032
28033  {
28034  {
28035#line 70
28036  while (1) {
28037    while_continue: /* CIL Label */ ;
28038
28039    {
28040#line 70
28041    __cil_tmp5 = (void *)0;
28042#line 70
28043    __cil_tmp6 = (unsigned long )__cil_tmp5;
28044#line 70
28045    __cil_tmp7 = (unsigned long )addr;
28046#line 70
28047    __cil_tmp8 = __cil_tmp7 != __cil_tmp6;
28048#line 70
28049    if (! __cil_tmp8) {
28050      {
28051#line 70
28052      ldv_assume_stop();
28053      }
28054    } else {
28055
28056    }
28057    }
28058#line 70
28059    if (addr) {
28060#line 70
28061      if (ldv_coherent_state >= 1) {
28062
28063      } else {
28064        {
28065#line 70
28066        ldv_blast_assert();
28067        }
28068      }
28069#line 70
28070      ldv_coherent_state = ldv_coherent_state - 1;
28071    } else {
28072
28073    }
28074#line 70
28075    goto while_break;
28076  }
28077  while_break___0: /* CIL Label */ ;
28078  }
28079
28080  while_break: ;
28081#line 71
28082  return;
28083}
28084}
28085#line 74
28086struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )  __attribute__((__ldv_model__)) ;
28087#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28088struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) 
28089{ void *arbitrary_memory ;
28090  void *tmp___7 ;
28091  void *__cil_tmp5 ;
28092
28093  {
28094  {
28095#line 75
28096  while (1) {
28097    while_continue: /* CIL Label */ ;
28098    {
28099#line 75
28100    tmp___7 = ldv_undefined_pointer();
28101#line 75
28102    arbitrary_memory = tmp___7;
28103    }
28104#line 75
28105    if (! arbitrary_memory) {
28106      {
28107#line 75
28108      __cil_tmp5 = (void *)0;
28109#line 75
28110      return ((struct urb *)__cil_tmp5);
28111      }
28112    } else {
28113
28114    }
28115#line 75
28116    ldv_urb_state = ldv_urb_state + 1;
28117#line 75
28118    return ((struct urb *)arbitrary_memory);
28119#line 75
28120    goto while_break;
28121  }
28122  while_break___0: /* CIL Label */ ;
28123  }
28124
28125  while_break: ;
28126#line 76
28127  return ((struct urb *)0);
28128}
28129}
28130#line 79
28131void usb_free_urb(struct urb *urb )  __attribute__((__ldv_model__)) ;
28132#line 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28133void usb_free_urb(struct urb *urb ) 
28134{ struct urb *__cil_tmp2 ;
28135  unsigned long __cil_tmp3 ;
28136  unsigned long __cil_tmp4 ;
28137  int __cil_tmp5 ;
28138
28139  {
28140  {
28141#line 80
28142  while (1) {
28143    while_continue: /* CIL Label */ ;
28144
28145    {
28146#line 80
28147    __cil_tmp2 = (struct urb *)0;
28148#line 80
28149    __cil_tmp3 = (unsigned long )__cil_tmp2;
28150#line 80
28151    __cil_tmp4 = (unsigned long )urb;
28152#line 80
28153    __cil_tmp5 = __cil_tmp4 != __cil_tmp3;
28154#line 80
28155    if (! __cil_tmp5) {
28156      {
28157#line 80
28158      ldv_assume_stop();
28159      }
28160    } else {
28161
28162    }
28163    }
28164#line 80
28165    if (urb) {
28166#line 80
28167      if (ldv_urb_state >= 1) {
28168
28169      } else {
28170        {
28171#line 80
28172        ldv_blast_assert();
28173        }
28174      }
28175#line 80
28176      ldv_urb_state = ldv_urb_state - 1;
28177    } else {
28178
28179    }
28180#line 80
28181    goto while_break;
28182  }
28183  while_break___0: /* CIL Label */ ;
28184  }
28185
28186  while_break: ;
28187#line 81
28188  return;
28189}
28190}
28191#line 84
28192void ldv_check_final_state(void)  __attribute__((__ldv_model__)) ;
28193#line 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28194void ldv_check_final_state(void) 
28195{ 
28196
28197  {
28198#line 86
28199  if (ldv_urb_state == 0) {
28200
28201  } else {
28202    {
28203#line 86
28204    ldv_blast_assert();
28205    }
28206  }
28207#line 88
28208  if (ldv_coherent_state == 0) {
28209
28210  } else {
28211    {
28212#line 88
28213    ldv_blast_assert();
28214    }
28215  }
28216#line 89
28217  return;
28218}
28219}