Showing error 188

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/module_get_put-drivers-scsi-megaraid.ko-safe.cil.out.i.pp.cil.c
Line in file: 22665
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 22 "include/asm-generic/int-ll64.h"
    7typedef short __s16;
    8#line 23 "include/asm-generic/int-ll64.h"
    9typedef unsigned short __u16;
   10#line 25 "include/asm-generic/int-ll64.h"
   11typedef int __s32;
   12#line 26 "include/asm-generic/int-ll64.h"
   13typedef unsigned int __u32;
   14#line 29 "include/asm-generic/int-ll64.h"
   15typedef long long __s64;
   16#line 30 "include/asm-generic/int-ll64.h"
   17typedef unsigned long long __u64;
   18#line 43 "include/asm-generic/int-ll64.h"
   19typedef unsigned char u8;
   20#line 46 "include/asm-generic/int-ll64.h"
   21typedef unsigned short u16;
   22#line 48 "include/asm-generic/int-ll64.h"
   23typedef int s32;
   24#line 49 "include/asm-generic/int-ll64.h"
   25typedef unsigned int u32;
   26#line 51 "include/asm-generic/int-ll64.h"
   27typedef long long s64;
   28#line 52 "include/asm-generic/int-ll64.h"
   29typedef unsigned long long u64;
   30#line 11 "include/asm-generic/types.h"
   31typedef unsigned short umode_t;
   32#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"
   33typedef unsigned int __kernel_mode_t;
   34#line 12 "/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 long __kernel_nlink_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 27 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   57typedef char *__kernel_caddr_t;
   58#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"
   59typedef long long __kernel_loff_t;
   60#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"
   61typedef __kernel_uid_t __kernel_uid32_t;
   62#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"
   63typedef __kernel_gid_t __kernel_gid32_t;
   64#line 21 "include/linux/types.h"
   65typedef __u32 __kernel_dev_t;
   66#line 24 "include/linux/types.h"
   67typedef __kernel_dev_t dev_t;
   68#line 26 "include/linux/types.h"
   69typedef __kernel_mode_t mode_t;
   70#line 27 "include/linux/types.h"
   71typedef __kernel_nlink_t nlink_t;
   72#line 28 "include/linux/types.h"
   73typedef __kernel_off_t off_t;
   74#line 29 "include/linux/types.h"
   75typedef __kernel_pid_t pid_t;
   76#line 34 "include/linux/types.h"
   77typedef __kernel_clockid_t clockid_t;
   78#line 37 "include/linux/types.h"
   79typedef _Bool bool;
   80#line 39 "include/linux/types.h"
   81typedef __kernel_uid32_t uid_t;
   82#line 40 "include/linux/types.h"
   83typedef __kernel_gid32_t gid_t;
   84#line 53 "include/linux/types.h"
   85typedef __kernel_loff_t loff_t;
   86#line 62 "include/linux/types.h"
   87typedef __kernel_size_t size_t;
   88#line 67 "include/linux/types.h"
   89typedef __kernel_ssize_t ssize_t;
   90#line 77 "include/linux/types.h"
   91typedef __kernel_time_t time_t;
   92#line 87 "include/linux/types.h"
   93typedef __kernel_caddr_t *caddr_t;
   94#line 91 "include/linux/types.h"
   95typedef unsigned char u_char;
   96#line 110 "include/linux/types.h"
   97typedef __s32 int32_t;
   98#line 116 "include/linux/types.h"
   99typedef __u32 uint32_t;
  100#line 141 "include/linux/types.h"
  101typedef unsigned long sector_t;
  102#line 142 "include/linux/types.h"
  103typedef unsigned long blkcnt_t;
  104#line 154 "include/linux/types.h"
  105typedef u64 dma_addr_t;
  106#line 201 "include/linux/types.h"
  107typedef unsigned int gfp_t;
  108#line 202 "include/linux/types.h"
  109typedef unsigned int fmode_t;
  110#line 205 "include/linux/types.h"
  111typedef u64 phys_addr_t;
  112#line 210 "include/linux/types.h"
  113typedef phys_addr_t resource_size_t;
  114#line 214 "include/linux/types.h"
  115struct __anonstruct_atomic_t_6 {
  116   int counter ;
  117};
  118#line 214 "include/linux/types.h"
  119typedef struct __anonstruct_atomic_t_6 atomic_t;
  120#line 219 "include/linux/types.h"
  121struct __anonstruct_atomic64_t_7 {
  122   long counter ;
  123};
  124#line 219 "include/linux/types.h"
  125typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  126#line 220 "include/linux/types.h"
  127struct list_head {
  128   struct list_head *next ;
  129   struct list_head *prev ;
  130};
  131#line 225
  132struct hlist_node;
  133#line 225
  134struct hlist_node;
  135#line 225
  136struct hlist_node;
  137#line 225 "include/linux/types.h"
  138struct hlist_head {
  139   struct hlist_node *first ;
  140};
  141#line 229 "include/linux/types.h"
  142struct hlist_node {
  143   struct hlist_node *next ;
  144   struct hlist_node **pprev ;
  145};
  146#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
  147struct module;
  148#line 58
  149struct module;
  150#line 58
  151struct module;
  152#line 58
  153struct module;
  154#line 145 "include/linux/init.h"
  155typedef void (*ctor_fn_t)(void);
  156#line 48 "include/linux/dynamic_debug.h"
  157struct bug_entry {
  158   int bug_addr_disp ;
  159   int file_disp ;
  160   unsigned short line ;
  161   unsigned short flags ;
  162};
  163#line 70 "include/asm-generic/bug.h"
  164struct completion;
  165#line 70
  166struct completion;
  167#line 70
  168struct completion;
  169#line 70
  170struct completion;
  171#line 71
  172struct pt_regs;
  173#line 71
  174struct pt_regs;
  175#line 71
  176struct pt_regs;
  177#line 71
  178struct pt_regs;
  179#line 321 "include/linux/kernel.h"
  180struct pid;
  181#line 321
  182struct pid;
  183#line 321
  184struct pid;
  185#line 321
  186struct pid;
  187#line 671
  188struct timespec;
  189#line 671
  190struct timespec;
  191#line 671
  192struct timespec;
  193#line 671
  194struct timespec;
  195#line 672
  196struct compat_timespec;
  197#line 672
  198struct compat_timespec;
  199#line 672
  200struct compat_timespec;
  201#line 672
  202struct compat_timespec;
  203#line 673 "include/linux/kernel.h"
  204struct __anonstruct_futex_9 {
  205   u32 *uaddr ;
  206   u32 val ;
  207   u32 flags ;
  208   u32 bitset ;
  209   u64 time ;
  210   u32 *uaddr2 ;
  211};
  212#line 673 "include/linux/kernel.h"
  213struct __anonstruct_nanosleep_10 {
  214   clockid_t clockid ;
  215   struct timespec *rmtp ;
  216   struct compat_timespec *compat_rmtp ;
  217   u64 expires ;
  218};
  219#line 673
  220struct pollfd;
  221#line 673
  222struct pollfd;
  223#line 673
  224struct pollfd;
  225#line 673 "include/linux/kernel.h"
  226struct __anonstruct_poll_11 {
  227   struct pollfd *ufds ;
  228   int nfds ;
  229   int has_timeout ;
  230   unsigned long tv_sec ;
  231   unsigned long tv_nsec ;
  232};
  233#line 673 "include/linux/kernel.h"
  234union __anonunion_ldv_2052_8 {
  235   struct __anonstruct_futex_9 futex ;
  236   struct __anonstruct_nanosleep_10 nanosleep ;
  237   struct __anonstruct_poll_11 poll ;
  238};
  239#line 673 "include/linux/kernel.h"
  240struct restart_block {
  241   long (*fn)(struct restart_block * ) ;
  242   union __anonunion_ldv_2052_8 ldv_2052 ;
  243};
  244#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_types.h"
  245struct page;
  246#line 59
  247struct page;
  248#line 59
  249struct page;
  250#line 59
  251struct page;
  252#line 21 "include/asm-generic/getorder.h"
  253struct task_struct;
  254#line 21
  255struct task_struct;
  256#line 21
  257struct task_struct;
  258#line 21
  259struct task_struct;
  260#line 22
  261struct exec_domain;
  262#line 22
  263struct exec_domain;
  264#line 22
  265struct exec_domain;
  266#line 22
  267struct exec_domain;
  268#line 23
  269struct mm_struct;
  270#line 23
  271struct mm_struct;
  272#line 23
  273struct mm_struct;
  274#line 23
  275struct mm_struct;
  276#line 215 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/segment.h"
  277struct pt_regs {
  278   unsigned long r15 ;
  279   unsigned long r14 ;
  280   unsigned long r13 ;
  281   unsigned long r12 ;
  282   unsigned long bp ;
  283   unsigned long bx ;
  284   unsigned long r11 ;
  285   unsigned long r10 ;
  286   unsigned long r9 ;
  287   unsigned long r8 ;
  288   unsigned long ax ;
  289   unsigned long cx ;
  290   unsigned long dx ;
  291   unsigned long si ;
  292   unsigned long di ;
  293   unsigned long orig_ax ;
  294   unsigned long ip ;
  295   unsigned long cs ;
  296   unsigned long flags ;
  297   unsigned long sp ;
  298   unsigned long ss ;
  299};
  300#line 282 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
  301struct kernel_vm86_regs {
  302   struct pt_regs pt ;
  303   unsigned short es ;
  304   unsigned short __esh ;
  305   unsigned short ds ;
  306   unsigned short __dsh ;
  307   unsigned short fs ;
  308   unsigned short __fsh ;
  309   unsigned short gs ;
  310   unsigned short __gsh ;
  311};
  312#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  313union __anonunion_ldv_2292_12 {
  314   struct pt_regs *regs ;
  315   struct kernel_vm86_regs *vm86 ;
  316};
  317#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  318struct math_emu_info {
  319   long ___orig_eip ;
  320   union __anonunion_ldv_2292_12 ldv_2292 ;
  321};
  322#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"
  323typedef unsigned long pgdval_t;
  324#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"
  325typedef unsigned long pgprotval_t;
  326#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  327struct pgprot {
  328   pgprotval_t pgprot ;
  329};
  330#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  331typedef struct pgprot pgprot_t;
  332#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  333struct __anonstruct_pgd_t_15 {
  334   pgdval_t pgd ;
  335};
  336#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  337typedef struct __anonstruct_pgd_t_15 pgd_t;
  338#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  339typedef struct page *pgtable_t;
  340#line 288
  341struct file;
  342#line 288
  343struct file;
  344#line 288
  345struct file;
  346#line 288
  347struct file;
  348#line 303
  349struct seq_file;
  350#line 303
  351struct seq_file;
  352#line 303
  353struct seq_file;
  354#line 303
  355struct seq_file;
  356#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  357struct __anonstruct_ldv_2526_19 {
  358   unsigned int a ;
  359   unsigned int b ;
  360};
  361#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  362struct __anonstruct_ldv_2541_20 {
  363   u16 limit0 ;
  364   u16 base0 ;
  365   unsigned char base1 ;
  366   unsigned char type : 4 ;
  367   unsigned char s : 1 ;
  368   unsigned char dpl : 2 ;
  369   unsigned char p : 1 ;
  370   unsigned char limit : 4 ;
  371   unsigned char avl : 1 ;
  372   unsigned char l : 1 ;
  373   unsigned char d : 1 ;
  374   unsigned char g : 1 ;
  375   unsigned char base2 ;
  376};
  377#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  378union __anonunion_ldv_2542_18 {
  379   struct __anonstruct_ldv_2526_19 ldv_2526 ;
  380   struct __anonstruct_ldv_2541_20 ldv_2541 ;
  381};
  382#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  383struct desc_struct {
  384   union __anonunion_ldv_2542_18 ldv_2542 ;
  385};
  386#line 43 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  387struct gate_struct64 {
  388   u16 offset_low ;
  389   u16 segment ;
  390   unsigned char ist : 3 ;
  391   unsigned char zero0 : 5 ;
  392   unsigned char type : 5 ;
  393   unsigned char dpl : 2 ;
  394   unsigned char p : 1 ;
  395   u16 offset_middle ;
  396   u32 offset_high ;
  397   u32 zero1 ;
  398};
  399#line 81 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  400typedef struct gate_struct64 gate_desc;
  401#line 84 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  402struct desc_ptr {
  403   unsigned short size ;
  404   unsigned long address ;
  405};
  406#line 122
  407struct thread_struct;
  408#line 122
  409struct thread_struct;
  410#line 122
  411struct thread_struct;
  412#line 122
  413struct thread_struct;
  414#line 123
  415struct tss_struct;
  416#line 123
  417struct tss_struct;
  418#line 123
  419struct tss_struct;
  420#line 123
  421struct tss_struct;
  422#line 124
  423struct cpumask;
  424#line 124
  425struct cpumask;
  426#line 124
  427struct cpumask;
  428#line 124
  429struct cpumask;
  430#line 125 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  431struct paravirt_callee_save {
  432   void *func ;
  433};
  434#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  435struct pv_cpu_ops {
  436   unsigned long (*get_debugreg)(int  ) ;
  437   void (*set_debugreg)(int  , unsigned long  ) ;
  438   void (*clts)(void) ;
  439   unsigned long (*read_cr0)(void) ;
  440   void (*write_cr0)(unsigned long  ) ;
  441   unsigned long (*read_cr4_safe)(void) ;
  442   unsigned long (*read_cr4)(void) ;
  443   void (*write_cr4)(unsigned long  ) ;
  444   unsigned long (*read_cr8)(void) ;
  445   void (*write_cr8)(unsigned long  ) ;
  446   void (*load_tr_desc)(void) ;
  447   void (*load_gdt)(struct desc_ptr  const  * ) ;
  448   void (*load_idt)(struct desc_ptr  const  * ) ;
  449   void (*store_gdt)(struct desc_ptr * ) ;
  450   void (*store_idt)(struct desc_ptr * ) ;
  451   void (*set_ldt)(void const   * , unsigned int  ) ;
  452   unsigned long (*store_tr)(void) ;
  453   void (*load_tls)(struct thread_struct * , unsigned int  ) ;
  454   void (*load_gs_index)(unsigned int  ) ;
  455   void (*write_ldt_entry)(struct desc_struct * , int  , void const   * ) ;
  456   void (*write_gdt_entry)(struct desc_struct * , int  , void const   * , int  ) ;
  457   void (*write_idt_entry)(gate_desc * , int  , gate_desc const   * ) ;
  458   void (*alloc_ldt)(struct desc_struct * , unsigned int  ) ;
  459   void (*free_ldt)(struct desc_struct * , unsigned int  ) ;
  460   void (*load_sp0)(struct tss_struct * , struct thread_struct * ) ;
  461   void (*set_iopl_mask)(unsigned int  ) ;
  462   void (*wbinvd)(void) ;
  463   void (*io_delay)(void) ;
  464   void (*cpuid)(unsigned int * , unsigned int * , unsigned int * , unsigned int * ) ;
  465   u64 (*read_msr)(unsigned int  , int * ) ;
  466   int (*rdmsr_regs)(u32 * ) ;
  467   int (*write_msr)(unsigned int  , unsigned int  , unsigned int  ) ;
  468   int (*wrmsr_regs)(u32 * ) ;
  469   u64 (*read_tsc)(void) ;
  470   u64 (*read_pmc)(int  ) ;
  471   unsigned long long (*read_tscp)(unsigned int * ) ;
  472   void (*irq_enable_sysexit)(void) ;
  473   void (*usergs_sysret64)(void) ;
  474   void (*usergs_sysret32)(void) ;
  475   void (*iret)(void) ;
  476   void (*swapgs)(void) ;
  477   void (*start_context_switch)(struct task_struct * ) ;
  478   void (*end_context_switch)(struct task_struct * ) ;
  479};
  480#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  481struct pv_irq_ops {
  482   struct paravirt_callee_save save_fl ;
  483   struct paravirt_callee_save restore_fl ;
  484   struct paravirt_callee_save irq_disable ;
  485   struct paravirt_callee_save irq_enable ;
  486   void (*safe_halt)(void) ;
  487   void (*halt)(void) ;
  488   void (*adjust_exception_frame)(void) ;
  489};
  490#line 320
  491struct arch_spinlock;
  492#line 320
  493struct arch_spinlock;
  494#line 320
  495struct arch_spinlock;
  496#line 320
  497struct arch_spinlock;
  498#line 304 "include/linux/bitmap.h"
  499struct cpumask {
  500   unsigned long bits[64U] ;
  501};
  502#line 13 "include/linux/cpumask.h"
  503typedef struct cpumask cpumask_t;
  504#line 622 "include/linux/cpumask.h"
  505typedef struct cpumask *cpumask_var_t;
  506#line 90 "include/linux/personality.h"
  507struct map_segment;
  508#line 90
  509struct map_segment;
  510#line 90
  511struct map_segment;
  512#line 90 "include/linux/personality.h"
  513struct exec_domain {
  514   char const   *name ;
  515   void (*handler)(int  , struct pt_regs * ) ;
  516   unsigned char pers_low ;
  517   unsigned char pers_high ;
  518   unsigned long *signal_map ;
  519   unsigned long *signal_invmap ;
  520   struct map_segment *err_map ;
  521   struct map_segment *socktype_map ;
  522   struct map_segment *sockopt_map ;
  523   struct map_segment *af_map ;
  524   struct module *module ;
  525   struct exec_domain *next ;
  526};
  527#line 189 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  528struct x86_hw_tss {
  529   u32 reserved1 ;
  530   u64 sp0 ;
  531   u64 sp1 ;
  532   u64 sp2 ;
  533   u64 reserved2 ;
  534   u64 ist[7U] ;
  535   u32 reserved3 ;
  536   u32 reserved4 ;
  537   u16 reserved5 ;
  538   u16 io_bitmap_base ;
  539};
  540#line 236 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  541struct tss_struct {
  542   struct x86_hw_tss x86_tss ;
  543   unsigned long io_bitmap[1025U] ;
  544   unsigned long stack[64U] ;
  545};
  546#line 277 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  547struct i387_fsave_struct {
  548   u32 cwd ;
  549   u32 swd ;
  550   u32 twd ;
  551   u32 fip ;
  552   u32 fcs ;
  553   u32 foo ;
  554   u32 fos ;
  555   u32 st_space[20U] ;
  556   u32 status ;
  557};
  558#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  559struct __anonstruct_ldv_5171_24 {
  560   u64 rip ;
  561   u64 rdp ;
  562};
  563#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  564struct __anonstruct_ldv_5177_25 {
  565   u32 fip ;
  566   u32 fcs ;
  567   u32 foo ;
  568   u32 fos ;
  569};
  570#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  571union __anonunion_ldv_5178_23 {
  572   struct __anonstruct_ldv_5171_24 ldv_5171 ;
  573   struct __anonstruct_ldv_5177_25 ldv_5177 ;
  574};
  575#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  576union __anonunion_ldv_5187_26 {
  577   u32 padding1[12U] ;
  578   u32 sw_reserved[12U] ;
  579};
  580#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  581struct i387_fxsave_struct {
  582   u16 cwd ;
  583   u16 swd ;
  584   u16 twd ;
  585   u16 fop ;
  586   union __anonunion_ldv_5178_23 ldv_5178 ;
  587   u32 mxcsr ;
  588   u32 mxcsr_mask ;
  589   u32 st_space[32U] ;
  590   u32 xmm_space[64U] ;
  591   u32 padding[12U] ;
  592   union __anonunion_ldv_5187_26 ldv_5187 ;
  593};
  594#line 329 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  595struct i387_soft_struct {
  596   u32 cwd ;
  597   u32 swd ;
  598   u32 twd ;
  599   u32 fip ;
  600   u32 fcs ;
  601   u32 foo ;
  602   u32 fos ;
  603   u32 st_space[20U] ;
  604   u8 ftop ;
  605   u8 changed ;
  606   u8 lookahead ;
  607   u8 no_update ;
  608   u8 rm ;
  609   u8 alimit ;
  610   struct math_emu_info *info ;
  611   u32 entry_eip ;
  612};
  613#line 350 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  614struct ymmh_struct {
  615   u32 ymmh_space[64U] ;
  616};
  617#line 355 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  618struct xsave_hdr_struct {
  619   u64 xstate_bv ;
  620   u64 reserved1[2U] ;
  621   u64 reserved2[5U] ;
  622};
  623#line 361 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  624struct xsave_struct {
  625   struct i387_fxsave_struct i387 ;
  626   struct xsave_hdr_struct xsave_hdr ;
  627   struct ymmh_struct ymmh ;
  628};
  629#line 367 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  630union thread_xstate {
  631   struct i387_fsave_struct fsave ;
  632   struct i387_fxsave_struct fxsave ;
  633   struct i387_soft_struct soft ;
  634   struct xsave_struct xsave ;
  635};
  636#line 375 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  637struct fpu {
  638   union thread_xstate *state ;
  639};
  640#line 421
  641struct kmem_cache;
  642#line 421
  643struct kmem_cache;
  644#line 421
  645struct kmem_cache;
  646#line 422
  647struct perf_event;
  648#line 422
  649struct perf_event;
  650#line 422
  651struct perf_event;
  652#line 422
  653struct perf_event;
  654#line 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  655struct thread_struct {
  656   struct desc_struct tls_array[3U] ;
  657   unsigned long sp0 ;
  658   unsigned long sp ;
  659   unsigned long usersp ;
  660   unsigned short es ;
  661   unsigned short ds ;
  662   unsigned short fsindex ;
  663   unsigned short gsindex ;
  664   unsigned long fs ;
  665   unsigned long gs ;
  666   struct perf_event *ptrace_bps[4U] ;
  667   unsigned long debugreg6 ;
  668   unsigned long ptrace_dr7 ;
  669   unsigned long cr2 ;
  670   unsigned long trap_no ;
  671   unsigned long error_code ;
  672   struct fpu fpu ;
  673   unsigned long *io_bitmap_ptr ;
  674   unsigned long iopl ;
  675   unsigned int io_bitmap_max ;
  676};
  677#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  678struct __anonstruct_mm_segment_t_28 {
  679   unsigned long seg ;
  680};
  681#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  682typedef struct __anonstruct_mm_segment_t_28 mm_segment_t;
  683#line 23 "include/asm-generic/atomic-long.h"
  684typedef atomic64_t atomic_long_t;
  685#line 131 "include/asm-generic/atomic-long.h"
  686struct thread_info {
  687   struct task_struct *task ;
  688   struct exec_domain *exec_domain ;
  689   __u32 flags ;
  690   __u32 status ;
  691   __u32 cpu ;
  692   int preempt_count ;
  693   mm_segment_t addr_limit ;
  694   struct restart_block restart_block ;
  695   void *sysenter_return ;
  696   int uaccess_err ;
  697};
  698#line 8 "include/linux/bottom_half.h"
  699struct arch_spinlock {
  700   unsigned int slock ;
  701};
  702#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  703typedef struct arch_spinlock arch_spinlock_t;
  704#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  705struct __anonstruct_arch_rwlock_t_29 {
  706   unsigned int lock ;
  707};
  708#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  709typedef struct __anonstruct_arch_rwlock_t_29 arch_rwlock_t;
  710#line 17
  711struct lockdep_map;
  712#line 17
  713struct lockdep_map;
  714#line 17
  715struct lockdep_map;
  716#line 17
  717struct lockdep_map;
  718#line 55 "include/linux/debug_locks.h"
  719struct stack_trace {
  720   unsigned int nr_entries ;
  721   unsigned int max_entries ;
  722   unsigned long *entries ;
  723   int skip ;
  724};
  725#line 26 "include/linux/stacktrace.h"
  726struct lockdep_subclass_key {
  727   char __one_byte ;
  728};
  729#line 53 "include/linux/lockdep.h"
  730struct lock_class_key {
  731   struct lockdep_subclass_key subkeys[8U] ;
  732};
  733#line 59 "include/linux/lockdep.h"
  734struct lock_class {
  735   struct list_head hash_entry ;
  736   struct list_head lock_entry ;
  737   struct lockdep_subclass_key *key ;
  738   unsigned int subclass ;
  739   unsigned int dep_gen_id ;
  740   unsigned long usage_mask ;
  741   struct stack_trace usage_traces[13U] ;
  742   struct list_head locks_after ;
  743   struct list_head locks_before ;
  744   unsigned int version ;
  745   unsigned long ops ;
  746   char const   *name ;
  747   int name_version ;
  748   unsigned long contention_point[4U] ;
  749   unsigned long contending_point[4U] ;
  750};
  751#line 144 "include/linux/lockdep.h"
  752struct lockdep_map {
  753   struct lock_class_key *key ;
  754   struct lock_class *class_cache[2U] ;
  755   char const   *name ;
  756   int cpu ;
  757   unsigned long ip ;
  758};
  759#line 187 "include/linux/lockdep.h"
  760struct held_lock {
  761   u64 prev_chain_key ;
  762   unsigned long acquire_ip ;
  763   struct lockdep_map *instance ;
  764   struct lockdep_map *nest_lock ;
  765   u64 waittime_stamp ;
  766   u64 holdtime_stamp ;
  767   unsigned short class_idx : 13 ;
  768   unsigned char irq_context : 2 ;
  769   unsigned char trylock : 1 ;
  770   unsigned char read : 2 ;
  771   unsigned char check : 2 ;
  772   unsigned char hardirqs_off : 1 ;
  773   unsigned short references : 11 ;
  774};
  775#line 552 "include/linux/lockdep.h"
  776struct raw_spinlock {
  777   arch_spinlock_t raw_lock ;
  778   unsigned int magic ;
  779   unsigned int owner_cpu ;
  780   void *owner ;
  781   struct lockdep_map dep_map ;
  782};
  783#line 32 "include/linux/spinlock_types.h"
  784typedef struct raw_spinlock raw_spinlock_t;
  785#line 33 "include/linux/spinlock_types.h"
  786struct __anonstruct_ldv_6059_31 {
  787   u8 __padding[24U] ;
  788   struct lockdep_map dep_map ;
  789};
  790#line 33 "include/linux/spinlock_types.h"
  791union __anonunion_ldv_6060_30 {
  792   struct raw_spinlock rlock ;
  793   struct __anonstruct_ldv_6059_31 ldv_6059 ;
  794};
  795#line 33 "include/linux/spinlock_types.h"
  796struct spinlock {
  797   union __anonunion_ldv_6060_30 ldv_6060 ;
  798};
  799#line 76 "include/linux/spinlock_types.h"
  800typedef struct spinlock spinlock_t;
  801#line 23 "include/linux/rwlock_types.h"
  802struct __anonstruct_rwlock_t_32 {
  803   arch_rwlock_t raw_lock ;
  804   unsigned int magic ;
  805   unsigned int owner_cpu ;
  806   void *owner ;
  807   struct lockdep_map dep_map ;
  808};
  809#line 23 "include/linux/rwlock_types.h"
  810typedef struct __anonstruct_rwlock_t_32 rwlock_t;
  811#line 110 "include/linux/seqlock.h"
  812struct seqcount {
  813   unsigned int sequence ;
  814};
  815#line 121 "include/linux/seqlock.h"
  816typedef struct seqcount seqcount_t;
  817#line 233 "include/linux/seqlock.h"
  818struct timespec {
  819   __kernel_time_t tv_sec ;
  820   long tv_nsec ;
  821};
  822#line 286 "include/linux/time.h"
  823struct kstat {
  824   u64 ino ;
  825   dev_t dev ;
  826   umode_t mode ;
  827   unsigned int nlink ;
  828   uid_t uid ;
  829   gid_t gid ;
  830   dev_t rdev ;
  831   loff_t size ;
  832   struct timespec atime ;
  833   struct timespec mtime ;
  834   struct timespec ctime ;
  835   unsigned long blksize ;
  836   unsigned long long blocks ;
  837};
  838#line 49 "include/linux/wait.h"
  839struct __wait_queue_head {
  840   spinlock_t lock ;
  841   struct list_head task_list ;
  842};
  843#line 54 "include/linux/wait.h"
  844typedef struct __wait_queue_head wait_queue_head_t;
  845#line 96 "include/linux/nodemask.h"
  846struct __anonstruct_nodemask_t_34 {
  847   unsigned long bits[16U] ;
  848};
  849#line 96 "include/linux/nodemask.h"
  850typedef struct __anonstruct_nodemask_t_34 nodemask_t;
  851#line 640 "include/linux/mmzone.h"
  852struct mutex {
  853   atomic_t count ;
  854   spinlock_t wait_lock ;
  855   struct list_head wait_list ;
  856   struct task_struct *owner ;
  857   char const   *name ;
  858   void *magic ;
  859   struct lockdep_map dep_map ;
  860};
  861#line 63 "include/linux/mutex.h"
  862struct mutex_waiter {
  863   struct list_head list ;
  864   struct task_struct *task ;
  865   void *magic ;
  866};
  867#line 171
  868struct rw_semaphore;
  869#line 171
  870struct rw_semaphore;
  871#line 171
  872struct rw_semaphore;
  873#line 171
  874struct rw_semaphore;
  875#line 172 "include/linux/mutex.h"
  876struct rw_semaphore {
  877   long count ;
  878   spinlock_t wait_lock ;
  879   struct list_head wait_list ;
  880   struct lockdep_map dep_map ;
  881};
  882#line 139 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/e820.h"
  883struct resource {
  884   resource_size_t start ;
  885   resource_size_t end ;
  886   char const   *name ;
  887   unsigned long flags ;
  888   struct resource *parent ;
  889   struct resource *sibling ;
  890   struct resource *child ;
  891};
  892#line 25 "include/linux/ioport.h"
  893struct pci_dev;
  894#line 25
  895struct pci_dev;
  896#line 25
  897struct pci_dev;
  898#line 175
  899struct device;
  900#line 175
  901struct device;
  902#line 175
  903struct device;
  904#line 175
  905struct device;
  906#line 312 "include/linux/jiffies.h"
  907union ktime {
  908   s64 tv64 ;
  909};
  910#line 59 "include/linux/ktime.h"
  911typedef union ktime ktime_t;
  912#line 99 "include/linux/debugobjects.h"
  913struct tvec_base;
  914#line 99
  915struct tvec_base;
  916#line 99
  917struct tvec_base;
  918#line 99
  919struct tvec_base;
  920#line 100 "include/linux/debugobjects.h"
  921struct timer_list {
  922   struct list_head entry ;
  923   unsigned long expires ;
  924   struct tvec_base *base ;
  925   void (*function)(unsigned long  ) ;
  926   unsigned long data ;
  927   int slack ;
  928   int start_pid ;
  929   void *start_site ;
  930   char start_comm[16U] ;
  931   struct lockdep_map lockdep_map ;
  932};
  933#line 289 "include/linux/timer.h"
  934struct hrtimer;
  935#line 289
  936struct hrtimer;
  937#line 289
  938struct hrtimer;
  939#line 289
  940struct hrtimer;
  941#line 290
  942enum hrtimer_restart;
  943#line 290
  944enum hrtimer_restart;
  945#line 290
  946enum hrtimer_restart;
  947#line 301
  948struct workqueue_struct;
  949#line 301
  950struct workqueue_struct;
  951#line 301
  952struct workqueue_struct;
  953#line 301
  954struct workqueue_struct;
  955#line 302
  956struct work_struct;
  957#line 302
  958struct work_struct;
  959#line 302
  960struct work_struct;
  961#line 302
  962struct work_struct;
  963#line 45 "include/linux/workqueue.h"
  964struct work_struct {
  965   atomic_long_t data ;
  966   struct list_head entry ;
  967   void (*func)(struct work_struct * ) ;
  968   struct lockdep_map lockdep_map ;
  969};
  970#line 86 "include/linux/workqueue.h"
  971struct delayed_work {
  972   struct work_struct work ;
  973   struct timer_list timer ;
  974};
  975#line 102 "include/linux/workqueue.h"
  976struct execute_work {
  977   struct work_struct work ;
  978};
  979#line 443 "include/linux/workqueue.h"
  980struct completion {
  981   unsigned int done ;
  982   wait_queue_head_t wait ;
  983};
  984#line 46 "include/linux/pm.h"
  985struct pm_message {
  986   int event ;
  987};
  988#line 52 "include/linux/pm.h"
  989typedef struct pm_message pm_message_t;
  990#line 53 "include/linux/pm.h"
  991struct dev_pm_ops {
  992   int (*prepare)(struct device * ) ;
  993   void (*complete)(struct device * ) ;
  994   int (*suspend)(struct device * ) ;
  995   int (*resume)(struct device * ) ;
  996   int (*freeze)(struct device * ) ;
  997   int (*thaw)(struct device * ) ;
  998   int (*poweroff)(struct device * ) ;
  999   int (*restore)(struct device * ) ;
 1000   int (*suspend_noirq)(struct device * ) ;
 1001   int (*resume_noirq)(struct device * ) ;
 1002   int (*freeze_noirq)(struct device * ) ;
 1003   int (*thaw_noirq)(struct device * ) ;
 1004   int (*poweroff_noirq)(struct device * ) ;
 1005   int (*restore_noirq)(struct device * ) ;
 1006   int (*runtime_suspend)(struct device * ) ;
 1007   int (*runtime_resume)(struct device * ) ;
 1008   int (*runtime_idle)(struct device * ) ;
 1009};
 1010#line 272
 1011enum rpm_status {
 1012    RPM_ACTIVE = 0,
 1013    RPM_RESUMING = 1,
 1014    RPM_SUSPENDED = 2,
 1015    RPM_SUSPENDING = 3
 1016} ;
 1017#line 279
 1018enum rpm_request {
 1019    RPM_REQ_NONE = 0,
 1020    RPM_REQ_IDLE = 1,
 1021    RPM_REQ_SUSPEND = 2,
 1022    RPM_REQ_AUTOSUSPEND = 3,
 1023    RPM_REQ_RESUME = 4
 1024} ;
 1025#line 287
 1026struct wakeup_source;
 1027#line 287
 1028struct wakeup_source;
 1029#line 287
 1030struct wakeup_source;
 1031#line 287
 1032struct wakeup_source;
 1033#line 288 "include/linux/pm.h"
 1034struct dev_pm_info {
 1035   pm_message_t power_state ;
 1036   unsigned char can_wakeup : 1 ;
 1037   unsigned char async_suspend : 1 ;
 1038   bool is_prepared ;
 1039   bool is_suspended ;
 1040   spinlock_t lock ;
 1041   struct list_head entry ;
 1042   struct completion completion ;
 1043   struct wakeup_source *wakeup ;
 1044   struct timer_list suspend_timer ;
 1045   unsigned long timer_expires ;
 1046   struct work_struct work ;
 1047   wait_queue_head_t wait_queue ;
 1048   atomic_t usage_count ;
 1049   atomic_t child_count ;
 1050   unsigned char disable_depth : 3 ;
 1051   unsigned char ignore_children : 1 ;
 1052   unsigned char idle_notification : 1 ;
 1053   unsigned char request_pending : 1 ;
 1054   unsigned char deferred_resume : 1 ;
 1055   unsigned char run_wake : 1 ;
 1056   unsigned char runtime_auto : 1 ;
 1057   unsigned char no_callbacks : 1 ;
 1058   unsigned char irq_safe : 1 ;
 1059   unsigned char use_autosuspend : 1 ;
 1060   unsigned char timer_autosuspends : 1 ;
 1061   enum rpm_request request ;
 1062   enum rpm_status runtime_status ;
 1063   int runtime_error ;
 1064   int autosuspend_delay ;
 1065   unsigned long last_busy ;
 1066   unsigned long active_jiffies ;
 1067   unsigned long suspended_jiffies ;
 1068   unsigned long accounting_timestamp ;
 1069   void *subsys_data ;
 1070};
 1071#line 469 "include/linux/pm.h"
 1072struct dev_power_domain {
 1073   struct dev_pm_ops ops ;
 1074};
 1075#line 175 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/topology.h"
 1076struct pci_bus;
 1077#line 175
 1078struct pci_bus;
 1079#line 175
 1080struct pci_bus;
 1081#line 175
 1082struct pci_bus;
 1083#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 1084struct __anonstruct_mm_context_t_99 {
 1085   void *ldt ;
 1086   int size ;
 1087   unsigned short ia32_compat ;
 1088   struct mutex lock ;
 1089   void *vdso ;
 1090};
 1091#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
 1092typedef struct __anonstruct_mm_context_t_99 mm_context_t;
 1093#line 71 "include/asm-generic/iomap.h"
 1094struct vm_area_struct;
 1095#line 71
 1096struct vm_area_struct;
 1097#line 71
 1098struct vm_area_struct;
 1099#line 71
 1100struct vm_area_struct;
 1101#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 1102struct bio_vec;
 1103#line 335
 1104struct bio_vec;
 1105#line 335
 1106struct bio_vec;
 1107#line 335
 1108struct bio_vec;
 1109#line 18 "include/linux/smp.h"
 1110struct call_single_data {
 1111   struct list_head list ;
 1112   void (*func)(void * ) ;
 1113   void *info ;
 1114   u16 flags ;
 1115   u16 priv ;
 1116};
 1117#line 53 "include/linux/rcupdate.h"
 1118struct rcu_head {
 1119   struct rcu_head *next ;
 1120   void (*func)(struct rcu_head * ) ;
 1121};
 1122#line 841
 1123struct nsproxy;
 1124#line 841
 1125struct nsproxy;
 1126#line 841
 1127struct nsproxy;
 1128#line 841
 1129struct nsproxy;
 1130#line 36 "include/linux/kmod.h"
 1131struct cred;
 1132#line 36
 1133struct cred;
 1134#line 36
 1135struct cred;
 1136#line 36
 1137struct cred;
 1138#line 27 "include/linux/elf.h"
 1139typedef __u64 Elf64_Addr;
 1140#line 28 "include/linux/elf.h"
 1141typedef __u16 Elf64_Half;
 1142#line 32 "include/linux/elf.h"
 1143typedef __u32 Elf64_Word;
 1144#line 33 "include/linux/elf.h"
 1145typedef __u64 Elf64_Xword;
 1146#line 202 "include/linux/elf.h"
 1147struct elf64_sym {
 1148   Elf64_Word st_name ;
 1149   unsigned char st_info ;
 1150   unsigned char st_other ;
 1151   Elf64_Half st_shndx ;
 1152   Elf64_Addr st_value ;
 1153   Elf64_Xword st_size ;
 1154};
 1155#line 210 "include/linux/elf.h"
 1156typedef struct elf64_sym Elf64_Sym;
 1157#line 444
 1158struct sock;
 1159#line 444
 1160struct sock;
 1161#line 444
 1162struct sock;
 1163#line 444
 1164struct sock;
 1165#line 445
 1166struct kobject;
 1167#line 445
 1168struct kobject;
 1169#line 445
 1170struct kobject;
 1171#line 445
 1172struct kobject;
 1173#line 446
 1174enum kobj_ns_type {
 1175    KOBJ_NS_TYPE_NONE = 0,
 1176    KOBJ_NS_TYPE_NET = 1,
 1177    KOBJ_NS_TYPES = 2
 1178} ;
 1179#line 452 "include/linux/elf.h"
 1180struct kobj_ns_type_operations {
 1181   enum kobj_ns_type type ;
 1182   void *(*grab_current_ns)(void) ;
 1183   void const   *(*netlink_ns)(struct sock * ) ;
 1184   void const   *(*initial_ns)(void) ;
 1185   void (*drop_ns)(void * ) ;
 1186};
 1187#line 57 "include/linux/kobject_ns.h"
 1188struct attribute {
 1189   char const   *name ;
 1190   mode_t mode ;
 1191   struct lock_class_key *key ;
 1192   struct lock_class_key skey ;
 1193};
 1194#line 33 "include/linux/sysfs.h"
 1195struct attribute_group {
 1196   char const   *name ;
 1197   mode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 1198   struct attribute **attrs ;
 1199};
 1200#line 62 "include/linux/sysfs.h"
 1201struct bin_attribute {
 1202   struct attribute attr ;
 1203   size_t size ;
 1204   void *private ;
 1205   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1206                   loff_t  , size_t  ) ;
 1207   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 1208                    loff_t  , size_t  ) ;
 1209   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 1210};
 1211#line 98 "include/linux/sysfs.h"
 1212struct sysfs_ops {
 1213   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 1214   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 1215};
 1216#line 116
 1217struct sysfs_dirent;
 1218#line 116
 1219struct sysfs_dirent;
 1220#line 116
 1221struct sysfs_dirent;
 1222#line 116
 1223struct sysfs_dirent;
 1224#line 181 "include/linux/sysfs.h"
 1225struct kref {
 1226   atomic_t refcount ;
 1227};
 1228#line 49 "include/linux/kobject.h"
 1229struct kset;
 1230#line 49
 1231struct kset;
 1232#line 49
 1233struct kset;
 1234#line 49
 1235struct kobj_type;
 1236#line 49
 1237struct kobj_type;
 1238#line 49
 1239struct kobj_type;
 1240#line 49 "include/linux/kobject.h"
 1241struct kobject {
 1242   char const   *name ;
 1243   struct list_head entry ;
 1244   struct kobject *parent ;
 1245   struct kset *kset ;
 1246   struct kobj_type *ktype ;
 1247   struct sysfs_dirent *sd ;
 1248   struct kref kref ;
 1249   unsigned char state_initialized : 1 ;
 1250   unsigned char state_in_sysfs : 1 ;
 1251   unsigned char state_add_uevent_sent : 1 ;
 1252   unsigned char state_remove_uevent_sent : 1 ;
 1253   unsigned char uevent_suppress : 1 ;
 1254};
 1255#line 109 "include/linux/kobject.h"
 1256struct kobj_type {
 1257   void (*release)(struct kobject * ) ;
 1258   struct sysfs_ops  const  *sysfs_ops ;
 1259   struct attribute **default_attrs ;
 1260   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 1261   void const   *(*namespace)(struct kobject * ) ;
 1262};
 1263#line 117 "include/linux/kobject.h"
 1264struct kobj_uevent_env {
 1265   char *envp[32U] ;
 1266   int envp_idx ;
 1267   char buf[2048U] ;
 1268   int buflen ;
 1269};
 1270#line 124 "include/linux/kobject.h"
 1271struct kset_uevent_ops {
 1272   int (* const  filter)(struct kset * , struct kobject * ) ;
 1273   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 1274   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 1275};
 1276#line 141 "include/linux/kobject.h"
 1277struct kset {
 1278   struct list_head list ;
 1279   spinlock_t list_lock ;
 1280   struct kobject kobj ;
 1281   struct kset_uevent_ops  const  *uevent_ops ;
 1282};
 1283#line 219
 1284struct kernel_param;
 1285#line 219
 1286struct kernel_param;
 1287#line 219
 1288struct kernel_param;
 1289#line 219
 1290struct kernel_param;
 1291#line 220 "include/linux/kobject.h"
 1292struct kernel_param_ops {
 1293   int (*set)(char const   * , struct kernel_param  const  * ) ;
 1294   int (*get)(char * , struct kernel_param  const  * ) ;
 1295   void (*free)(void * ) ;
 1296};
 1297#line 44 "include/linux/moduleparam.h"
 1298struct kparam_string;
 1299#line 44
 1300struct kparam_string;
 1301#line 44
 1302struct kparam_string;
 1303#line 44
 1304struct kparam_array;
 1305#line 44
 1306struct kparam_array;
 1307#line 44
 1308struct kparam_array;
 1309#line 44 "include/linux/moduleparam.h"
 1310union __anonunion_ldv_12924_129 {
 1311   void *arg ;
 1312   struct kparam_string  const  *str ;
 1313   struct kparam_array  const  *arr ;
 1314};
 1315#line 44 "include/linux/moduleparam.h"
 1316struct kernel_param {
 1317   char const   *name ;
 1318   struct kernel_param_ops  const  *ops ;
 1319   u16 perm ;
 1320   u16 flags ;
 1321   union __anonunion_ldv_12924_129 ldv_12924 ;
 1322};
 1323#line 59 "include/linux/moduleparam.h"
 1324struct kparam_string {
 1325   unsigned int maxlen ;
 1326   char *string ;
 1327};
 1328#line 65 "include/linux/moduleparam.h"
 1329struct kparam_array {
 1330   unsigned int max ;
 1331   unsigned int elemsize ;
 1332   unsigned int *num ;
 1333   struct kernel_param_ops  const  *ops ;
 1334   void *elem ;
 1335};
 1336#line 404 "include/linux/moduleparam.h"
 1337struct jump_label_key {
 1338   atomic_t enabled ;
 1339};
 1340#line 99 "include/linux/jump_label.h"
 1341struct tracepoint;
 1342#line 99
 1343struct tracepoint;
 1344#line 99
 1345struct tracepoint;
 1346#line 99
 1347struct tracepoint;
 1348#line 100 "include/linux/jump_label.h"
 1349struct tracepoint_func {
 1350   void *func ;
 1351   void *data ;
 1352};
 1353#line 29 "include/linux/tracepoint.h"
 1354struct tracepoint {
 1355   char const   *name ;
 1356   struct jump_label_key key ;
 1357   void (*regfunc)(void) ;
 1358   void (*unregfunc)(void) ;
 1359   struct tracepoint_func *funcs ;
 1360};
 1361#line 84 "include/linux/tracepoint.h"
 1362struct mod_arch_specific {
 1363
 1364};
 1365#line 127 "include/trace/events/module.h"
 1366struct kernel_symbol {
 1367   unsigned long value ;
 1368   char const   *name ;
 1369};
 1370#line 48 "include/linux/module.h"
 1371struct module_attribute {
 1372   struct attribute attr ;
 1373   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
 1374   ssize_t (*store)(struct module_attribute * , struct module * , char const   * ,
 1375                    size_t  ) ;
 1376   void (*setup)(struct module * , char const   * ) ;
 1377   int (*test)(struct module * ) ;
 1378   void (*free)(struct module * ) ;
 1379};
 1380#line 68
 1381struct module_param_attrs;
 1382#line 68
 1383struct module_param_attrs;
 1384#line 68
 1385struct module_param_attrs;
 1386#line 68 "include/linux/module.h"
 1387struct module_kobject {
 1388   struct kobject kobj ;
 1389   struct module *mod ;
 1390   struct kobject *drivers_dir ;
 1391   struct module_param_attrs *mp ;
 1392};
 1393#line 81
 1394struct exception_table_entry;
 1395#line 81
 1396struct exception_table_entry;
 1397#line 81
 1398struct exception_table_entry;
 1399#line 81
 1400struct exception_table_entry;
 1401#line 218
 1402enum module_state {
 1403    MODULE_STATE_LIVE = 0,
 1404    MODULE_STATE_COMING = 1,
 1405    MODULE_STATE_GOING = 2
 1406} ;
 1407#line 224 "include/linux/module.h"
 1408struct module_ref {
 1409   unsigned int incs ;
 1410   unsigned int decs ;
 1411};
 1412#line 418
 1413struct module_sect_attrs;
 1414#line 418
 1415struct module_sect_attrs;
 1416#line 418
 1417struct module_sect_attrs;
 1418#line 418
 1419struct module_notes_attrs;
 1420#line 418
 1421struct module_notes_attrs;
 1422#line 418
 1423struct module_notes_attrs;
 1424#line 418
 1425struct ftrace_event_call;
 1426#line 418
 1427struct ftrace_event_call;
 1428#line 418
 1429struct ftrace_event_call;
 1430#line 418 "include/linux/module.h"
 1431struct module {
 1432   enum module_state state ;
 1433   struct list_head list ;
 1434   char name[56U] ;
 1435   struct module_kobject mkobj ;
 1436   struct module_attribute *modinfo_attrs ;
 1437   char const   *version ;
 1438   char const   *srcversion ;
 1439   struct kobject *holders_dir ;
 1440   struct kernel_symbol  const  *syms ;
 1441   unsigned long const   *crcs ;
 1442   unsigned int num_syms ;
 1443   struct kernel_param *kp ;
 1444   unsigned int num_kp ;
 1445   unsigned int num_gpl_syms ;
 1446   struct kernel_symbol  const  *gpl_syms ;
 1447   unsigned long const   *gpl_crcs ;
 1448   struct kernel_symbol  const  *unused_syms ;
 1449   unsigned long const   *unused_crcs ;
 1450   unsigned int num_unused_syms ;
 1451   unsigned int num_unused_gpl_syms ;
 1452   struct kernel_symbol  const  *unused_gpl_syms ;
 1453   unsigned long const   *unused_gpl_crcs ;
 1454   struct kernel_symbol  const  *gpl_future_syms ;
 1455   unsigned long const   *gpl_future_crcs ;
 1456   unsigned int num_gpl_future_syms ;
 1457   unsigned int num_exentries ;
 1458   struct exception_table_entry *extable ;
 1459   int (*init)(void) ;
 1460   void *module_init ;
 1461   void *module_core ;
 1462   unsigned int init_size ;
 1463   unsigned int core_size ;
 1464   unsigned int init_text_size ;
 1465   unsigned int core_text_size ;
 1466   unsigned int init_ro_size ;
 1467   unsigned int core_ro_size ;
 1468   struct mod_arch_specific arch ;
 1469   unsigned int taints ;
 1470   unsigned int num_bugs ;
 1471   struct list_head bug_list ;
 1472   struct bug_entry *bug_table ;
 1473   Elf64_Sym *symtab ;
 1474   Elf64_Sym *core_symtab ;
 1475   unsigned int num_symtab ;
 1476   unsigned int core_num_syms ;
 1477   char *strtab ;
 1478   char *core_strtab ;
 1479   struct module_sect_attrs *sect_attrs ;
 1480   struct module_notes_attrs *notes_attrs ;
 1481   char *args ;
 1482   void *percpu ;
 1483   unsigned int percpu_size ;
 1484   unsigned int num_tracepoints ;
 1485   struct tracepoint * const  *tracepoints_ptrs ;
 1486   unsigned int num_trace_bprintk_fmt ;
 1487   char const   **trace_bprintk_fmt_start ;
 1488   struct ftrace_event_call **trace_events ;
 1489   unsigned int num_trace_events ;
 1490   unsigned int num_ftrace_callsites ;
 1491   unsigned long *ftrace_callsites ;
 1492   struct list_head source_list ;
 1493   struct list_head target_list ;
 1494   struct task_struct *waiter ;
 1495   void (*exit)(void) ;
 1496   struct module_ref *refptr ;
 1497   ctor_fn_t (**ctors)(void) ;
 1498   unsigned int num_ctors ;
 1499};
 1500#line 8 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 1501struct rb_node {
 1502   unsigned long rb_parent_color ;
 1503   struct rb_node *rb_right ;
 1504   struct rb_node *rb_left ;
 1505};
 1506#line 108 "include/linux/rbtree.h"
 1507struct rb_root {
 1508   struct rb_node *rb_node ;
 1509};
 1510#line 176
 1511struct prio_tree_node;
 1512#line 176
 1513struct prio_tree_node;
 1514#line 176
 1515struct prio_tree_node;
 1516#line 176 "include/linux/rbtree.h"
 1517struct raw_prio_tree_node {
 1518   struct prio_tree_node *left ;
 1519   struct prio_tree_node *right ;
 1520   struct prio_tree_node *parent ;
 1521};
 1522#line 19 "include/linux/prio_tree.h"
 1523struct prio_tree_node {
 1524   struct prio_tree_node *left ;
 1525   struct prio_tree_node *right ;
 1526   struct prio_tree_node *parent ;
 1527   unsigned long start ;
 1528   unsigned long last ;
 1529};
 1530#line 27 "include/linux/prio_tree.h"
 1531struct prio_tree_root {
 1532   struct prio_tree_node *prio_tree_node ;
 1533   unsigned short index_bits ;
 1534   unsigned short raw ;
 1535};
 1536#line 115
 1537struct address_space;
 1538#line 115
 1539struct address_space;
 1540#line 115
 1541struct address_space;
 1542#line 115
 1543struct address_space;
 1544#line 116 "include/linux/prio_tree.h"
 1545struct __anonstruct_ldv_13775_131 {
 1546   u16 inuse ;
 1547   u16 objects ;
 1548};
 1549#line 116 "include/linux/prio_tree.h"
 1550union __anonunion_ldv_13776_130 {
 1551   atomic_t _mapcount ;
 1552   struct __anonstruct_ldv_13775_131 ldv_13775 ;
 1553};
 1554#line 116 "include/linux/prio_tree.h"
 1555struct __anonstruct_ldv_13781_133 {
 1556   unsigned long private ;
 1557   struct address_space *mapping ;
 1558};
 1559#line 116 "include/linux/prio_tree.h"
 1560union __anonunion_ldv_13784_132 {
 1561   struct __anonstruct_ldv_13781_133 ldv_13781 ;
 1562   struct kmem_cache *slab ;
 1563   struct page *first_page ;
 1564};
 1565#line 116 "include/linux/prio_tree.h"
 1566union __anonunion_ldv_13788_134 {
 1567   unsigned long index ;
 1568   void *freelist ;
 1569};
 1570#line 116 "include/linux/prio_tree.h"
 1571struct page {
 1572   unsigned long flags ;
 1573   atomic_t _count ;
 1574   union __anonunion_ldv_13776_130 ldv_13776 ;
 1575   union __anonunion_ldv_13784_132 ldv_13784 ;
 1576   union __anonunion_ldv_13788_134 ldv_13788 ;
 1577   struct list_head lru ;
 1578};
 1579#line 124 "include/linux/mm_types.h"
 1580struct __anonstruct_vm_set_136 {
 1581   struct list_head list ;
 1582   void *parent ;
 1583   struct vm_area_struct *head ;
 1584};
 1585#line 124 "include/linux/mm_types.h"
 1586union __anonunion_shared_135 {
 1587   struct __anonstruct_vm_set_136 vm_set ;
 1588   struct raw_prio_tree_node prio_tree_node ;
 1589};
 1590#line 124
 1591struct anon_vma;
 1592#line 124
 1593struct anon_vma;
 1594#line 124
 1595struct anon_vma;
 1596#line 124
 1597struct vm_operations_struct;
 1598#line 124
 1599struct vm_operations_struct;
 1600#line 124
 1601struct vm_operations_struct;
 1602#line 124
 1603struct mempolicy;
 1604#line 124
 1605struct mempolicy;
 1606#line 124
 1607struct mempolicy;
 1608#line 124 "include/linux/mm_types.h"
 1609struct vm_area_struct {
 1610   struct mm_struct *vm_mm ;
 1611   unsigned long vm_start ;
 1612   unsigned long vm_end ;
 1613   struct vm_area_struct *vm_next ;
 1614   struct vm_area_struct *vm_prev ;
 1615   pgprot_t vm_page_prot ;
 1616   unsigned long vm_flags ;
 1617   struct rb_node vm_rb ;
 1618   union __anonunion_shared_135 shared ;
 1619   struct list_head anon_vma_chain ;
 1620   struct anon_vma *anon_vma ;
 1621   struct vm_operations_struct  const  *vm_ops ;
 1622   unsigned long vm_pgoff ;
 1623   struct file *vm_file ;
 1624   void *vm_private_data ;
 1625   struct mempolicy *vm_policy ;
 1626};
 1627#line 187 "include/linux/mm_types.h"
 1628struct core_thread {
 1629   struct task_struct *task ;
 1630   struct core_thread *next ;
 1631};
 1632#line 193 "include/linux/mm_types.h"
 1633struct core_state {
 1634   atomic_t nr_threads ;
 1635   struct core_thread dumper ;
 1636   struct completion startup ;
 1637};
 1638#line 206 "include/linux/mm_types.h"
 1639struct mm_rss_stat {
 1640   atomic_long_t count[3U] ;
 1641};
 1642#line 219
 1643struct linux_binfmt;
 1644#line 219
 1645struct linux_binfmt;
 1646#line 219
 1647struct linux_binfmt;
 1648#line 219
 1649struct mmu_notifier_mm;
 1650#line 219
 1651struct mmu_notifier_mm;
 1652#line 219
 1653struct mmu_notifier_mm;
 1654#line 219 "include/linux/mm_types.h"
 1655struct mm_struct {
 1656   struct vm_area_struct *mmap ;
 1657   struct rb_root mm_rb ;
 1658   struct vm_area_struct *mmap_cache ;
 1659   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 1660                                      unsigned long  , unsigned long  ) ;
 1661   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
 1662   unsigned long mmap_base ;
 1663   unsigned long task_size ;
 1664   unsigned long cached_hole_size ;
 1665   unsigned long free_area_cache ;
 1666   pgd_t *pgd ;
 1667   atomic_t mm_users ;
 1668   atomic_t mm_count ;
 1669   int map_count ;
 1670   spinlock_t page_table_lock ;
 1671   struct rw_semaphore mmap_sem ;
 1672   struct list_head mmlist ;
 1673   unsigned long hiwater_rss ;
 1674   unsigned long hiwater_vm ;
 1675   unsigned long total_vm ;
 1676   unsigned long locked_vm ;
 1677   unsigned long shared_vm ;
 1678   unsigned long exec_vm ;
 1679   unsigned long stack_vm ;
 1680   unsigned long reserved_vm ;
 1681   unsigned long def_flags ;
 1682   unsigned long nr_ptes ;
 1683   unsigned long start_code ;
 1684   unsigned long end_code ;
 1685   unsigned long start_data ;
 1686   unsigned long end_data ;
 1687   unsigned long start_brk ;
 1688   unsigned long brk ;
 1689   unsigned long start_stack ;
 1690   unsigned long arg_start ;
 1691   unsigned long arg_end ;
 1692   unsigned long env_start ;
 1693   unsigned long env_end ;
 1694   unsigned long saved_auxv[44U] ;
 1695   struct mm_rss_stat rss_stat ;
 1696   struct linux_binfmt *binfmt ;
 1697   cpumask_var_t cpu_vm_mask_var ;
 1698   mm_context_t context ;
 1699   unsigned int faultstamp ;
 1700   unsigned int token_priority ;
 1701   unsigned int last_interval ;
 1702   atomic_t oom_disable_count ;
 1703   unsigned long flags ;
 1704   struct core_state *core_state ;
 1705   spinlock_t ioctx_lock ;
 1706   struct hlist_head ioctx_list ;
 1707   struct task_struct *owner ;
 1708   struct file *exe_file ;
 1709   unsigned long num_exe_file_vmas ;
 1710   struct mmu_notifier_mm *mmu_notifier_mm ;
 1711   pgtable_t pmd_huge_pte ;
 1712   struct cpumask cpumask_allocation ;
 1713};
 1714#line 92 "include/linux/bit_spinlock.h"
 1715struct file_ra_state;
 1716#line 92
 1717struct file_ra_state;
 1718#line 92
 1719struct file_ra_state;
 1720#line 92
 1721struct file_ra_state;
 1722#line 93
 1723struct user_struct;
 1724#line 93
 1725struct user_struct;
 1726#line 93
 1727struct user_struct;
 1728#line 93
 1729struct user_struct;
 1730#line 94
 1731struct writeback_control;
 1732#line 94
 1733struct writeback_control;
 1734#line 94
 1735struct writeback_control;
 1736#line 94
 1737struct writeback_control;
 1738#line 175 "include/linux/mm.h"
 1739struct vm_fault {
 1740   unsigned int flags ;
 1741   unsigned long pgoff ;
 1742   void *virtual_address ;
 1743   struct page *page ;
 1744};
 1745#line 192 "include/linux/mm.h"
 1746struct vm_operations_struct {
 1747   void (*open)(struct vm_area_struct * ) ;
 1748   void (*close)(struct vm_area_struct * ) ;
 1749   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
 1750   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
 1751   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
 1752   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
 1753   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
 1754   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
 1755                  unsigned long  ) ;
 1756};
 1757#line 241
 1758struct inode;
 1759#line 241
 1760struct inode;
 1761#line 241
 1762struct inode;
 1763#line 241
 1764struct inode;
 1765#line 1653
 1766struct bio;
 1767#line 1653
 1768struct bio;
 1769#line 1653
 1770struct bio;
 1771#line 1653
 1772struct bio;
 1773#line 1654
 1774struct bio_integrity_payload;
 1775#line 1654
 1776struct bio_integrity_payload;
 1777#line 1654
 1778struct bio_integrity_payload;
 1779#line 1654
 1780struct bio_integrity_payload;
 1781#line 1655
 1782struct block_device;
 1783#line 1655
 1784struct block_device;
 1785#line 1655
 1786struct block_device;
 1787#line 1655
 1788struct block_device;
 1789#line 17 "include/linux/blk_types.h"
 1790typedef void bio_end_io_t(struct bio * , int  );
 1791#line 18 "include/linux/blk_types.h"
 1792typedef void bio_destructor_t(struct bio * );
 1793#line 19 "include/linux/blk_types.h"
 1794struct bio_vec {
 1795   struct page *bv_page ;
 1796   unsigned int bv_len ;
 1797   unsigned int bv_offset ;
 1798};
 1799#line 28 "include/linux/blk_types.h"
 1800struct bio {
 1801   sector_t bi_sector ;
 1802   struct bio *bi_next ;
 1803   struct block_device *bi_bdev ;
 1804   unsigned long bi_flags ;
 1805   unsigned long bi_rw ;
 1806   unsigned short bi_vcnt ;
 1807   unsigned short bi_idx ;
 1808   unsigned int bi_phys_segments ;
 1809   unsigned int bi_size ;
 1810   unsigned int bi_seg_front_size ;
 1811   unsigned int bi_seg_back_size ;
 1812   unsigned int bi_max_vecs ;
 1813   unsigned int bi_comp_cpu ;
 1814   atomic_t bi_cnt ;
 1815   struct bio_vec *bi_io_vec ;
 1816   bio_end_io_t *bi_end_io ;
 1817   void *bi_private ;
 1818   struct bio_integrity_payload *bi_integrity ;
 1819   bio_destructor_t *bi_destructor ;
 1820   struct bio_vec bi_inline_vecs[0U] ;
 1821};
 1822#line 427 "include/linux/rculist.h"
 1823struct hlist_bl_node;
 1824#line 427
 1825struct hlist_bl_node;
 1826#line 427
 1827struct hlist_bl_node;
 1828#line 427 "include/linux/rculist.h"
 1829struct hlist_bl_head {
 1830   struct hlist_bl_node *first ;
 1831};
 1832#line 36 "include/linux/list_bl.h"
 1833struct hlist_bl_node {
 1834   struct hlist_bl_node *next ;
 1835   struct hlist_bl_node **pprev ;
 1836};
 1837#line 114 "include/linux/rculist_bl.h"
 1838struct nameidata;
 1839#line 114
 1840struct nameidata;
 1841#line 114
 1842struct nameidata;
 1843#line 114
 1844struct nameidata;
 1845#line 115
 1846struct path;
 1847#line 115
 1848struct path;
 1849#line 115
 1850struct path;
 1851#line 115
 1852struct path;
 1853#line 116
 1854struct vfsmount;
 1855#line 116
 1856struct vfsmount;
 1857#line 116
 1858struct vfsmount;
 1859#line 116
 1860struct vfsmount;
 1861#line 117 "include/linux/rculist_bl.h"
 1862struct qstr {
 1863   unsigned int hash ;
 1864   unsigned int len ;
 1865   unsigned char const   *name ;
 1866};
 1867#line 100 "include/linux/dcache.h"
 1868struct dentry_operations;
 1869#line 100
 1870struct dentry_operations;
 1871#line 100
 1872struct dentry_operations;
 1873#line 100
 1874struct super_block;
 1875#line 100
 1876struct super_block;
 1877#line 100
 1878struct super_block;
 1879#line 100 "include/linux/dcache.h"
 1880union __anonunion_d_u_137 {
 1881   struct list_head d_child ;
 1882   struct rcu_head d_rcu ;
 1883};
 1884#line 100 "include/linux/dcache.h"
 1885struct dentry {
 1886   unsigned int d_flags ;
 1887   seqcount_t d_seq ;
 1888   struct hlist_bl_node d_hash ;
 1889   struct dentry *d_parent ;
 1890   struct qstr d_name ;
 1891   struct inode *d_inode ;
 1892   unsigned char d_iname[32U] ;
 1893   unsigned int d_count ;
 1894   spinlock_t d_lock ;
 1895   struct dentry_operations  const  *d_op ;
 1896   struct super_block *d_sb ;
 1897   unsigned long d_time ;
 1898   void *d_fsdata ;
 1899   struct list_head d_lru ;
 1900   union __anonunion_d_u_137 d_u ;
 1901   struct list_head d_subdirs ;
 1902   struct list_head d_alias ;
 1903};
 1904#line 151 "include/linux/dcache.h"
 1905struct dentry_operations {
 1906   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
 1907   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
 1908   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
 1909                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
 1910   int (*d_delete)(struct dentry  const  * ) ;
 1911   void (*d_release)(struct dentry * ) ;
 1912   void (*d_iput)(struct dentry * , struct inode * ) ;
 1913   char *(*d_dname)(struct dentry * , char * , int  ) ;
 1914   struct vfsmount *(*d_automount)(struct path * ) ;
 1915   int (*d_manage)(struct dentry * , bool  ) ;
 1916};
 1917#line 422 "include/linux/dcache.h"
 1918struct path {
 1919   struct vfsmount *mnt ;
 1920   struct dentry *dentry ;
 1921};
 1922#line 51 "include/linux/radix-tree.h"
 1923struct radix_tree_node;
 1924#line 51
 1925struct radix_tree_node;
 1926#line 51
 1927struct radix_tree_node;
 1928#line 51 "include/linux/radix-tree.h"
 1929struct radix_tree_root {
 1930   unsigned int height ;
 1931   gfp_t gfp_mask ;
 1932   struct radix_tree_node *rnode ;
 1933};
 1934#line 229
 1935enum pid_type {
 1936    PIDTYPE_PID = 0,
 1937    PIDTYPE_PGID = 1,
 1938    PIDTYPE_SID = 2,
 1939    PIDTYPE_MAX = 3
 1940} ;
 1941#line 236
 1942struct pid_namespace;
 1943#line 236
 1944struct pid_namespace;
 1945#line 236
 1946struct pid_namespace;
 1947#line 236 "include/linux/radix-tree.h"
 1948struct upid {
 1949   int nr ;
 1950   struct pid_namespace *ns ;
 1951   struct hlist_node pid_chain ;
 1952};
 1953#line 56 "include/linux/pid.h"
 1954struct pid {
 1955   atomic_t count ;
 1956   unsigned int level ;
 1957   struct hlist_head tasks[3U] ;
 1958   struct rcu_head rcu ;
 1959   struct upid numbers[1U] ;
 1960};
 1961#line 68 "include/linux/pid.h"
 1962struct pid_link {
 1963   struct hlist_node node ;
 1964   struct pid *pid ;
 1965};
 1966#line 93 "include/linux/capability.h"
 1967struct kernel_cap_struct {
 1968   __u32 cap[2U] ;
 1969};
 1970#line 96 "include/linux/capability.h"
 1971typedef struct kernel_cap_struct kernel_cap_t;
 1972#line 104
 1973struct user_namespace;
 1974#line 104
 1975struct user_namespace;
 1976#line 104
 1977struct user_namespace;
 1978#line 104
 1979struct user_namespace;
 1980#line 45 "include/linux/semaphore.h"
 1981struct fiemap_extent {
 1982   __u64 fe_logical ;
 1983   __u64 fe_physical ;
 1984   __u64 fe_length ;
 1985   __u64 fe_reserved64[2U] ;
 1986   __u32 fe_flags ;
 1987   __u32 fe_reserved[3U] ;
 1988};
 1989#line 38 "include/linux/fiemap.h"
 1990struct export_operations;
 1991#line 38
 1992struct export_operations;
 1993#line 38
 1994struct export_operations;
 1995#line 38
 1996struct export_operations;
 1997#line 39
 1998struct hd_geometry;
 1999#line 39
 2000struct hd_geometry;
 2001#line 39
 2002struct hd_geometry;
 2003#line 39
 2004struct hd_geometry;
 2005#line 40
 2006struct iovec;
 2007#line 40
 2008struct iovec;
 2009#line 40
 2010struct iovec;
 2011#line 40
 2012struct iovec;
 2013#line 41
 2014struct kiocb;
 2015#line 41
 2016struct kiocb;
 2017#line 41
 2018struct kiocb;
 2019#line 41
 2020struct kiocb;
 2021#line 42
 2022struct pipe_inode_info;
 2023#line 42
 2024struct pipe_inode_info;
 2025#line 42
 2026struct pipe_inode_info;
 2027#line 42
 2028struct pipe_inode_info;
 2029#line 43
 2030struct poll_table_struct;
 2031#line 43
 2032struct poll_table_struct;
 2033#line 43
 2034struct poll_table_struct;
 2035#line 43
 2036struct poll_table_struct;
 2037#line 44
 2038struct kstatfs;
 2039#line 44
 2040struct kstatfs;
 2041#line 44
 2042struct kstatfs;
 2043#line 44
 2044struct kstatfs;
 2045#line 426 "include/linux/fs.h"
 2046struct iattr {
 2047   unsigned int ia_valid ;
 2048   umode_t ia_mode ;
 2049   uid_t ia_uid ;
 2050   gid_t ia_gid ;
 2051   loff_t ia_size ;
 2052   struct timespec ia_atime ;
 2053   struct timespec ia_mtime ;
 2054   struct timespec ia_ctime ;
 2055   struct file *ia_file ;
 2056};
 2057#line 119 "include/linux/quota.h"
 2058struct if_dqinfo {
 2059   __u64 dqi_bgrace ;
 2060   __u64 dqi_igrace ;
 2061   __u32 dqi_flags ;
 2062   __u32 dqi_valid ;
 2063};
 2064#line 152 "include/linux/quota.h"
 2065struct percpu_counter {
 2066   spinlock_t lock ;
 2067   s64 count ;
 2068   struct list_head list ;
 2069   s32 *counters ;
 2070};
 2071#line 176 "include/linux/percpu_counter.h"
 2072struct fs_disk_quota {
 2073   __s8 d_version ;
 2074   __s8 d_flags ;
 2075   __u16 d_fieldmask ;
 2076   __u32 d_id ;
 2077   __u64 d_blk_hardlimit ;
 2078   __u64 d_blk_softlimit ;
 2079   __u64 d_ino_hardlimit ;
 2080   __u64 d_ino_softlimit ;
 2081   __u64 d_bcount ;
 2082   __u64 d_icount ;
 2083   __s32 d_itimer ;
 2084   __s32 d_btimer ;
 2085   __u16 d_iwarns ;
 2086   __u16 d_bwarns ;
 2087   __s32 d_padding2 ;
 2088   __u64 d_rtb_hardlimit ;
 2089   __u64 d_rtb_softlimit ;
 2090   __u64 d_rtbcount ;
 2091   __s32 d_rtbtimer ;
 2092   __u16 d_rtbwarns ;
 2093   __s16 d_padding3 ;
 2094   char d_padding4[8U] ;
 2095};
 2096#line 75 "include/linux/dqblk_xfs.h"
 2097struct fs_qfilestat {
 2098   __u64 qfs_ino ;
 2099   __u64 qfs_nblks ;
 2100   __u32 qfs_nextents ;
 2101};
 2102#line 150 "include/linux/dqblk_xfs.h"
 2103typedef struct fs_qfilestat fs_qfilestat_t;
 2104#line 151 "include/linux/dqblk_xfs.h"
 2105struct fs_quota_stat {
 2106   __s8 qs_version ;
 2107   __u16 qs_flags ;
 2108   __s8 qs_pad ;
 2109   fs_qfilestat_t qs_uquota ;
 2110   fs_qfilestat_t qs_gquota ;
 2111   __u32 qs_incoredqs ;
 2112   __s32 qs_btimelimit ;
 2113   __s32 qs_itimelimit ;
 2114   __s32 qs_rtbtimelimit ;
 2115   __u16 qs_bwarnlimit ;
 2116   __u16 qs_iwarnlimit ;
 2117};
 2118#line 165
 2119struct dquot;
 2120#line 165
 2121struct dquot;
 2122#line 165
 2123struct dquot;
 2124#line 165
 2125struct dquot;
 2126#line 185 "include/linux/quota.h"
 2127typedef __kernel_uid32_t qid_t;
 2128#line 186 "include/linux/quota.h"
 2129typedef long long qsize_t;
 2130#line 189 "include/linux/quota.h"
 2131struct mem_dqblk {
 2132   qsize_t dqb_bhardlimit ;
 2133   qsize_t dqb_bsoftlimit ;
 2134   qsize_t dqb_curspace ;
 2135   qsize_t dqb_rsvspace ;
 2136   qsize_t dqb_ihardlimit ;
 2137   qsize_t dqb_isoftlimit ;
 2138   qsize_t dqb_curinodes ;
 2139   time_t dqb_btime ;
 2140   time_t dqb_itime ;
 2141};
 2142#line 211
 2143struct quota_format_type;
 2144#line 211
 2145struct quota_format_type;
 2146#line 211
 2147struct quota_format_type;
 2148#line 211
 2149struct quota_format_type;
 2150#line 212 "include/linux/quota.h"
 2151struct mem_dqinfo {
 2152   struct quota_format_type *dqi_format ;
 2153   int dqi_fmt_id ;
 2154   struct list_head dqi_dirty_list ;
 2155   unsigned long dqi_flags ;
 2156   unsigned int dqi_bgrace ;
 2157   unsigned int dqi_igrace ;
 2158   qsize_t dqi_maxblimit ;
 2159   qsize_t dqi_maxilimit ;
 2160   void *dqi_priv ;
 2161};
 2162#line 271 "include/linux/quota.h"
 2163struct dquot {
 2164   struct hlist_node dq_hash ;
 2165   struct list_head dq_inuse ;
 2166   struct list_head dq_free ;
 2167   struct list_head dq_dirty ;
 2168   struct mutex dq_lock ;
 2169   atomic_t dq_count ;
 2170   wait_queue_head_t dq_wait_unused ;
 2171   struct super_block *dq_sb ;
 2172   unsigned int dq_id ;
 2173   loff_t dq_off ;
 2174   unsigned long dq_flags ;
 2175   short dq_type ;
 2176   struct mem_dqblk dq_dqb ;
 2177};
 2178#line 299 "include/linux/quota.h"
 2179struct quota_format_ops {
 2180   int (*check_quota_file)(struct super_block * , int  ) ;
 2181   int (*read_file_info)(struct super_block * , int  ) ;
 2182   int (*write_file_info)(struct super_block * , int  ) ;
 2183   int (*free_file_info)(struct super_block * , int  ) ;
 2184   int (*read_dqblk)(struct dquot * ) ;
 2185   int (*commit_dqblk)(struct dquot * ) ;
 2186   int (*release_dqblk)(struct dquot * ) ;
 2187};
 2188#line 310 "include/linux/quota.h"
 2189struct dquot_operations {
 2190   int (*write_dquot)(struct dquot * ) ;
 2191   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
 2192   void (*destroy_dquot)(struct dquot * ) ;
 2193   int (*acquire_dquot)(struct dquot * ) ;
 2194   int (*release_dquot)(struct dquot * ) ;
 2195   int (*mark_dirty)(struct dquot * ) ;
 2196   int (*write_info)(struct super_block * , int  ) ;
 2197   qsize_t *(*get_reserved_space)(struct inode * ) ;
 2198};
 2199#line 324 "include/linux/quota.h"
 2200struct quotactl_ops {
 2201   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
 2202   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
 2203   int (*quota_off)(struct super_block * , int  ) ;
 2204   int (*quota_sync)(struct super_block * , int  , int  ) ;
 2205   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 2206   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 2207   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 2208   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 2209   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
 2210   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
 2211};
 2212#line 340 "include/linux/quota.h"
 2213struct quota_format_type {
 2214   int qf_fmt_id ;
 2215   struct quota_format_ops  const  *qf_ops ;
 2216   struct module *qf_owner ;
 2217   struct quota_format_type *qf_next ;
 2218};
 2219#line 386 "include/linux/quota.h"
 2220struct quota_info {
 2221   unsigned int flags ;
 2222   struct mutex dqio_mutex ;
 2223   struct mutex dqonoff_mutex ;
 2224   struct rw_semaphore dqptr_sem ;
 2225   struct inode *files[2U] ;
 2226   struct mem_dqinfo info[2U] ;
 2227   struct quota_format_ops  const  *ops[2U] ;
 2228};
 2229#line 576 "include/linux/fs.h"
 2230union __anonunion_arg_140 {
 2231   char *buf ;
 2232   void *data ;
 2233};
 2234#line 576 "include/linux/fs.h"
 2235struct __anonstruct_read_descriptor_t_139 {
 2236   size_t written ;
 2237   size_t count ;
 2238   union __anonunion_arg_140 arg ;
 2239   int error ;
 2240};
 2241#line 576 "include/linux/fs.h"
 2242typedef struct __anonstruct_read_descriptor_t_139 read_descriptor_t;
 2243#line 579 "include/linux/fs.h"
 2244struct address_space_operations {
 2245   int (*writepage)(struct page * , struct writeback_control * ) ;
 2246   int (*readpage)(struct file * , struct page * ) ;
 2247   int (*writepages)(struct address_space * , struct writeback_control * ) ;
 2248   int (*set_page_dirty)(struct page * ) ;
 2249   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
 2250                    unsigned int  ) ;
 2251   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 2252                      unsigned int  , struct page ** , void ** ) ;
 2253   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 2254                    unsigned int  , struct page * , void * ) ;
 2255   sector_t (*bmap)(struct address_space * , sector_t  ) ;
 2256   void (*invalidatepage)(struct page * , unsigned long  ) ;
 2257   int (*releasepage)(struct page * , gfp_t  ) ;
 2258   void (*freepage)(struct page * ) ;
 2259   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
 2260                        unsigned long  ) ;
 2261   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
 2262   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
 2263   int (*launder_page)(struct page * ) ;
 2264   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
 2265   int (*error_remove_page)(struct address_space * , struct page * ) ;
 2266};
 2267#line 630
 2268struct backing_dev_info;
 2269#line 630
 2270struct backing_dev_info;
 2271#line 630
 2272struct backing_dev_info;
 2273#line 630
 2274struct backing_dev_info;
 2275#line 631 "include/linux/fs.h"
 2276struct address_space {
 2277   struct inode *host ;
 2278   struct radix_tree_root page_tree ;
 2279   spinlock_t tree_lock ;
 2280   unsigned int i_mmap_writable ;
 2281   struct prio_tree_root i_mmap ;
 2282   struct list_head i_mmap_nonlinear ;
 2283   struct mutex i_mmap_mutex ;
 2284   unsigned long nrpages ;
 2285   unsigned long writeback_index ;
 2286   struct address_space_operations  const  *a_ops ;
 2287   unsigned long flags ;
 2288   struct backing_dev_info *backing_dev_info ;
 2289   spinlock_t private_lock ;
 2290   struct list_head private_list ;
 2291   struct address_space *assoc_mapping ;
 2292};
 2293#line 652
 2294struct hd_struct;
 2295#line 652
 2296struct hd_struct;
 2297#line 652
 2298struct hd_struct;
 2299#line 652
 2300struct gendisk;
 2301#line 652
 2302struct gendisk;
 2303#line 652
 2304struct gendisk;
 2305#line 652 "include/linux/fs.h"
 2306struct block_device {
 2307   dev_t bd_dev ;
 2308   int bd_openers ;
 2309   struct inode *bd_inode ;
 2310   struct super_block *bd_super ;
 2311   struct mutex bd_mutex ;
 2312   struct list_head bd_inodes ;
 2313   void *bd_claiming ;
 2314   void *bd_holder ;
 2315   int bd_holders ;
 2316   bool bd_write_holder ;
 2317   struct list_head bd_holder_disks ;
 2318   struct block_device *bd_contains ;
 2319   unsigned int bd_block_size ;
 2320   struct hd_struct *bd_part ;
 2321   unsigned int bd_part_count ;
 2322   int bd_invalidated ;
 2323   struct gendisk *bd_disk ;
 2324   struct list_head bd_list ;
 2325   unsigned long bd_private ;
 2326   int bd_fsfreeze_count ;
 2327   struct mutex bd_fsfreeze_mutex ;
 2328};
 2329#line 723
 2330struct posix_acl;
 2331#line 723
 2332struct posix_acl;
 2333#line 723
 2334struct posix_acl;
 2335#line 723
 2336struct posix_acl;
 2337#line 724
 2338struct inode_operations;
 2339#line 724
 2340struct inode_operations;
 2341#line 724
 2342struct inode_operations;
 2343#line 724 "include/linux/fs.h"
 2344union __anonunion_ldv_17777_141 {
 2345   struct list_head i_dentry ;
 2346   struct rcu_head i_rcu ;
 2347};
 2348#line 724
 2349struct file_operations;
 2350#line 724
 2351struct file_operations;
 2352#line 724
 2353struct file_operations;
 2354#line 724
 2355struct file_lock;
 2356#line 724
 2357struct file_lock;
 2358#line 724
 2359struct file_lock;
 2360#line 724
 2361struct cdev;
 2362#line 724
 2363struct cdev;
 2364#line 724
 2365struct cdev;
 2366#line 724 "include/linux/fs.h"
 2367union __anonunion_ldv_17804_142 {
 2368   struct pipe_inode_info *i_pipe ;
 2369   struct block_device *i_bdev ;
 2370   struct cdev *i_cdev ;
 2371};
 2372#line 724 "include/linux/fs.h"
 2373struct inode {
 2374   umode_t i_mode ;
 2375   uid_t i_uid ;
 2376   gid_t i_gid ;
 2377   struct inode_operations  const  *i_op ;
 2378   struct super_block *i_sb ;
 2379   spinlock_t i_lock ;
 2380   unsigned int i_flags ;
 2381   unsigned long i_state ;
 2382   void *i_security ;
 2383   struct mutex i_mutex ;
 2384   unsigned long dirtied_when ;
 2385   struct hlist_node i_hash ;
 2386   struct list_head i_wb_list ;
 2387   struct list_head i_lru ;
 2388   struct list_head i_sb_list ;
 2389   union __anonunion_ldv_17777_141 ldv_17777 ;
 2390   unsigned long i_ino ;
 2391   atomic_t i_count ;
 2392   unsigned int i_nlink ;
 2393   dev_t i_rdev ;
 2394   unsigned int i_blkbits ;
 2395   u64 i_version ;
 2396   loff_t i_size ;
 2397   struct timespec i_atime ;
 2398   struct timespec i_mtime ;
 2399   struct timespec i_ctime ;
 2400   blkcnt_t i_blocks ;
 2401   unsigned short i_bytes ;
 2402   struct rw_semaphore i_alloc_sem ;
 2403   struct file_operations  const  *i_fop ;
 2404   struct file_lock *i_flock ;
 2405   struct address_space *i_mapping ;
 2406   struct address_space i_data ;
 2407   struct dquot *i_dquot[2U] ;
 2408   struct list_head i_devices ;
 2409   union __anonunion_ldv_17804_142 ldv_17804 ;
 2410   __u32 i_generation ;
 2411   __u32 i_fsnotify_mask ;
 2412   struct hlist_head i_fsnotify_marks ;
 2413   atomic_t i_readcount ;
 2414   atomic_t i_writecount ;
 2415   struct posix_acl *i_acl ;
 2416   struct posix_acl *i_default_acl ;
 2417   void *i_private ;
 2418};
 2419#line 902 "include/linux/fs.h"
 2420struct fown_struct {
 2421   rwlock_t lock ;
 2422   struct pid *pid ;
 2423   enum pid_type pid_type ;
 2424   uid_t uid ;
 2425   uid_t euid ;
 2426   int signum ;
 2427};
 2428#line 910 "include/linux/fs.h"
 2429struct file_ra_state {
 2430   unsigned long start ;
 2431   unsigned int size ;
 2432   unsigned int async_size ;
 2433   unsigned int ra_pages ;
 2434   unsigned int mmap_miss ;
 2435   loff_t prev_pos ;
 2436};
 2437#line 933 "include/linux/fs.h"
 2438union __anonunion_f_u_143 {
 2439   struct list_head fu_list ;
 2440   struct rcu_head fu_rcuhead ;
 2441};
 2442#line 933 "include/linux/fs.h"
 2443struct file {
 2444   union __anonunion_f_u_143 f_u ;
 2445   struct path f_path ;
 2446   struct file_operations  const  *f_op ;
 2447   spinlock_t f_lock ;
 2448   int f_sb_list_cpu ;
 2449   atomic_long_t f_count ;
 2450   unsigned int f_flags ;
 2451   fmode_t f_mode ;
 2452   loff_t f_pos ;
 2453   struct fown_struct f_owner ;
 2454   struct cred  const  *f_cred ;
 2455   struct file_ra_state f_ra ;
 2456   u64 f_version ;
 2457   void *f_security ;
 2458   void *private_data ;
 2459   struct list_head f_ep_links ;
 2460   struct address_space *f_mapping ;
 2461   unsigned long f_mnt_write_state ;
 2462};
 2463#line 1064
 2464struct files_struct;
 2465#line 1064
 2466struct files_struct;
 2467#line 1064
 2468struct files_struct;
 2469#line 1064 "include/linux/fs.h"
 2470typedef struct files_struct *fl_owner_t;
 2471#line 1065 "include/linux/fs.h"
 2472struct file_lock_operations {
 2473   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
 2474   void (*fl_release_private)(struct file_lock * ) ;
 2475};
 2476#line 1070 "include/linux/fs.h"
 2477struct lock_manager_operations {
 2478   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
 2479   void (*fl_notify)(struct file_lock * ) ;
 2480   int (*fl_grant)(struct file_lock * , struct file_lock * , int  ) ;
 2481   void (*fl_release_private)(struct file_lock * ) ;
 2482   void (*fl_break)(struct file_lock * ) ;
 2483   int (*fl_change)(struct file_lock ** , int  ) ;
 2484};
 2485#line 163 "include/linux/nfs.h"
 2486struct nlm_lockowner;
 2487#line 163
 2488struct nlm_lockowner;
 2489#line 163
 2490struct nlm_lockowner;
 2491#line 163
 2492struct nlm_lockowner;
 2493#line 164 "include/linux/nfs.h"
 2494struct nfs_lock_info {
 2495   u32 state ;
 2496   struct nlm_lockowner *owner ;
 2497   struct list_head list ;
 2498};
 2499#line 18 "include/linux/nfs_fs_i.h"
 2500struct nfs4_lock_state;
 2501#line 18
 2502struct nfs4_lock_state;
 2503#line 18
 2504struct nfs4_lock_state;
 2505#line 18
 2506struct nfs4_lock_state;
 2507#line 19 "include/linux/nfs_fs_i.h"
 2508struct nfs4_lock_info {
 2509   struct nfs4_lock_state *owner ;
 2510};
 2511#line 23
 2512struct fasync_struct;
 2513#line 23
 2514struct fasync_struct;
 2515#line 23
 2516struct fasync_struct;
 2517#line 23 "include/linux/nfs_fs_i.h"
 2518struct __anonstruct_afs_145 {
 2519   struct list_head link ;
 2520   int state ;
 2521};
 2522#line 23 "include/linux/nfs_fs_i.h"
 2523union __anonunion_fl_u_144 {
 2524   struct nfs_lock_info nfs_fl ;
 2525   struct nfs4_lock_info nfs4_fl ;
 2526   struct __anonstruct_afs_145 afs ;
 2527};
 2528#line 23 "include/linux/nfs_fs_i.h"
 2529struct file_lock {
 2530   struct file_lock *fl_next ;
 2531   struct list_head fl_link ;
 2532   struct list_head fl_block ;
 2533   fl_owner_t fl_owner ;
 2534   unsigned char fl_flags ;
 2535   unsigned char fl_type ;
 2536   unsigned int fl_pid ;
 2537   struct pid *fl_nspid ;
 2538   wait_queue_head_t fl_wait ;
 2539   struct file *fl_file ;
 2540   loff_t fl_start ;
 2541   loff_t fl_end ;
 2542   struct fasync_struct *fl_fasync ;
 2543   unsigned long fl_break_time ;
 2544   struct file_lock_operations  const  *fl_ops ;
 2545   struct lock_manager_operations  const  *fl_lmops ;
 2546   union __anonunion_fl_u_144 fl_u ;
 2547};
 2548#line 1171 "include/linux/fs.h"
 2549struct fasync_struct {
 2550   spinlock_t fa_lock ;
 2551   int magic ;
 2552   int fa_fd ;
 2553   struct fasync_struct *fa_next ;
 2554   struct file *fa_file ;
 2555   struct rcu_head fa_rcu ;
 2556};
 2557#line 1363
 2558struct file_system_type;
 2559#line 1363
 2560struct file_system_type;
 2561#line 1363
 2562struct file_system_type;
 2563#line 1363
 2564struct super_operations;
 2565#line 1363
 2566struct super_operations;
 2567#line 1363
 2568struct super_operations;
 2569#line 1363
 2570struct xattr_handler;
 2571#line 1363
 2572struct xattr_handler;
 2573#line 1363
 2574struct xattr_handler;
 2575#line 1363
 2576struct mtd_info;
 2577#line 1363
 2578struct mtd_info;
 2579#line 1363
 2580struct mtd_info;
 2581#line 1363 "include/linux/fs.h"
 2582struct super_block {
 2583   struct list_head s_list ;
 2584   dev_t s_dev ;
 2585   unsigned char s_dirt ;
 2586   unsigned char s_blocksize_bits ;
 2587   unsigned long s_blocksize ;
 2588   loff_t s_maxbytes ;
 2589   struct file_system_type *s_type ;
 2590   struct super_operations  const  *s_op ;
 2591   struct dquot_operations  const  *dq_op ;
 2592   struct quotactl_ops  const  *s_qcop ;
 2593   struct export_operations  const  *s_export_op ;
 2594   unsigned long s_flags ;
 2595   unsigned long s_magic ;
 2596   struct dentry *s_root ;
 2597   struct rw_semaphore s_umount ;
 2598   struct mutex s_lock ;
 2599   int s_count ;
 2600   atomic_t s_active ;
 2601   void *s_security ;
 2602   struct xattr_handler  const  **s_xattr ;
 2603   struct list_head s_inodes ;
 2604   struct hlist_bl_head s_anon ;
 2605   struct list_head *s_files ;
 2606   struct list_head s_dentry_lru ;
 2607   int s_nr_dentry_unused ;
 2608   struct block_device *s_bdev ;
 2609   struct backing_dev_info *s_bdi ;
 2610   struct mtd_info *s_mtd ;
 2611   struct list_head s_instances ;
 2612   struct quota_info s_dquot ;
 2613   int s_frozen ;
 2614   wait_queue_head_t s_wait_unfrozen ;
 2615   char s_id[32U] ;
 2616   u8 s_uuid[16U] ;
 2617   void *s_fs_info ;
 2618   fmode_t s_mode ;
 2619   u32 s_time_gran ;
 2620   struct mutex s_vfs_rename_mutex ;
 2621   char *s_subtype ;
 2622   char *s_options ;
 2623   struct dentry_operations  const  *s_d_op ;
 2624   int cleancache_poolid ;
 2625};
 2626#line 1495 "include/linux/fs.h"
 2627struct fiemap_extent_info {
 2628   unsigned int fi_flags ;
 2629   unsigned int fi_extents_mapped ;
 2630   unsigned int fi_extents_max ;
 2631   struct fiemap_extent *fi_extents_start ;
 2632};
 2633#line 1533
 2634struct block_device_operations;
 2635#line 1533
 2636struct block_device_operations;
 2637#line 1533
 2638struct block_device_operations;
 2639#line 1533
 2640struct block_device_operations;
 2641#line 1534 "include/linux/fs.h"
 2642struct file_operations {
 2643   struct module *owner ;
 2644   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
 2645   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
 2646   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
 2647   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 2648                       loff_t  ) ;
 2649   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 2650                        loff_t  ) ;
 2651   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
 2652                                                   loff_t  , u64  , unsigned int  ) ) ;
 2653   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
 2654   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 2655   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 2656   int (*mmap)(struct file * , struct vm_area_struct * ) ;
 2657   int (*open)(struct inode * , struct file * ) ;
 2658   int (*flush)(struct file * , fl_owner_t  ) ;
 2659   int (*release)(struct inode * , struct file * ) ;
 2660   int (*fsync)(struct file * , int  ) ;
 2661   int (*aio_fsync)(struct kiocb * , int  ) ;
 2662   int (*fasync)(int  , struct file * , int  ) ;
 2663   int (*lock)(struct file * , int  , struct file_lock * ) ;
 2664   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
 2665                       int  ) ;
 2666   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 2667                                      unsigned long  , unsigned long  ) ;
 2668   int (*check_flags)(int  ) ;
 2669   int (*flock)(struct file * , int  , struct file_lock * ) ;
 2670   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
 2671                           unsigned int  ) ;
 2672   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
 2673                          unsigned int  ) ;
 2674   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
 2675   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
 2676};
 2677#line 1574 "include/linux/fs.h"
 2678struct inode_operations {
 2679   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
 2680   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
 2681   int (*permission)(struct inode * , int  , unsigned int  ) ;
 2682   int (*check_acl)(struct inode * , int  , unsigned int  ) ;
 2683   int (*readlink)(struct dentry * , char * , int  ) ;
 2684   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
 2685   int (*create)(struct inode * , struct dentry * , int  , struct nameidata * ) ;
 2686   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
 2687   int (*unlink)(struct inode * , struct dentry * ) ;
 2688   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
 2689   int (*mkdir)(struct inode * , struct dentry * , int  ) ;
 2690   int (*rmdir)(struct inode * , struct dentry * ) ;
 2691   int (*mknod)(struct inode * , struct dentry * , int  , dev_t  ) ;
 2692   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
 2693   void (*truncate)(struct inode * ) ;
 2694   int (*setattr)(struct dentry * , struct iattr * ) ;
 2695   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
 2696   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
 2697   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
 2698   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
 2699   int (*removexattr)(struct dentry * , char const   * ) ;
 2700   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
 2701   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
 2702};
 2703#line 1620 "include/linux/fs.h"
 2704struct super_operations {
 2705   struct inode *(*alloc_inode)(struct super_block * ) ;
 2706   void (*destroy_inode)(struct inode * ) ;
 2707   void (*dirty_inode)(struct inode * , int  ) ;
 2708   int (*write_inode)(struct inode * , struct writeback_control * ) ;
 2709   int (*drop_inode)(struct inode * ) ;
 2710   void (*evict_inode)(struct inode * ) ;
 2711   void (*put_super)(struct super_block * ) ;
 2712   void (*write_super)(struct super_block * ) ;
 2713   int (*sync_fs)(struct super_block * , int  ) ;
 2714   int (*freeze_fs)(struct super_block * ) ;
 2715   int (*unfreeze_fs)(struct super_block * ) ;
 2716   int (*statfs)(struct dentry * , struct kstatfs * ) ;
 2717   int (*remount_fs)(struct super_block * , int * , char * ) ;
 2718   void (*umount_begin)(struct super_block * ) ;
 2719   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
 2720   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
 2721   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
 2722   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
 2723   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
 2724   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
 2725                          loff_t  ) ;
 2726   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
 2727};
 2728#line 1801 "include/linux/fs.h"
 2729struct file_system_type {
 2730   char const   *name ;
 2731   int fs_flags ;
 2732   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
 2733   void (*kill_sb)(struct super_block * ) ;
 2734   struct module *owner ;
 2735   struct file_system_type *next ;
 2736   struct list_head fs_supers ;
 2737   struct lock_class_key s_lock_key ;
 2738   struct lock_class_key s_umount_key ;
 2739   struct lock_class_key s_vfs_rename_key ;
 2740   struct lock_class_key i_lock_key ;
 2741   struct lock_class_key i_mutex_key ;
 2742   struct lock_class_key i_mutex_dir_key ;
 2743   struct lock_class_key i_alloc_sem_key ;
 2744};
 2745#line 7 "include/asm-generic/cputime.h"
 2746typedef unsigned long cputime_t;
 2747#line 118 "include/linux/sem.h"
 2748struct sem_undo_list;
 2749#line 118
 2750struct sem_undo_list;
 2751#line 118
 2752struct sem_undo_list;
 2753#line 131 "include/linux/sem.h"
 2754struct sem_undo_list {
 2755   atomic_t refcnt ;
 2756   spinlock_t lock ;
 2757   struct list_head list_proc ;
 2758};
 2759#line 140 "include/linux/sem.h"
 2760struct sysv_sem {
 2761   struct sem_undo_list *undo_list ;
 2762};
 2763#line 149
 2764struct siginfo;
 2765#line 149
 2766struct siginfo;
 2767#line 149
 2768struct siginfo;
 2769#line 149
 2770struct siginfo;
 2771#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 2772struct __anonstruct_sigset_t_146 {
 2773   unsigned long sig[1U] ;
 2774};
 2775#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 2776typedef struct __anonstruct_sigset_t_146 sigset_t;
 2777#line 17 "include/asm-generic/signal-defs.h"
 2778typedef void __signalfn_t(int  );
 2779#line 18 "include/asm-generic/signal-defs.h"
 2780typedef __signalfn_t *__sighandler_t;
 2781#line 20 "include/asm-generic/signal-defs.h"
 2782typedef void __restorefn_t(void);
 2783#line 21 "include/asm-generic/signal-defs.h"
 2784typedef __restorefn_t *__sigrestore_t;
 2785#line 126 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 2786struct sigaction {
 2787   __sighandler_t sa_handler ;
 2788   unsigned long sa_flags ;
 2789   __sigrestore_t sa_restorer ;
 2790   sigset_t sa_mask ;
 2791};
 2792#line 173 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 2793struct k_sigaction {
 2794   struct sigaction sa ;
 2795};
 2796#line 185 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 2797union sigval {
 2798   int sival_int ;
 2799   void *sival_ptr ;
 2800};
 2801#line 10 "include/asm-generic/siginfo.h"
 2802typedef union sigval sigval_t;
 2803#line 11 "include/asm-generic/siginfo.h"
 2804struct __anonstruct__kill_148 {
 2805   __kernel_pid_t _pid ;
 2806   __kernel_uid32_t _uid ;
 2807};
 2808#line 11 "include/asm-generic/siginfo.h"
 2809struct __anonstruct__timer_149 {
 2810   __kernel_timer_t _tid ;
 2811   int _overrun ;
 2812   char _pad[0U] ;
 2813   sigval_t _sigval ;
 2814   int _sys_private ;
 2815};
 2816#line 11 "include/asm-generic/siginfo.h"
 2817struct __anonstruct__rt_150 {
 2818   __kernel_pid_t _pid ;
 2819   __kernel_uid32_t _uid ;
 2820   sigval_t _sigval ;
 2821};
 2822#line 11 "include/asm-generic/siginfo.h"
 2823struct __anonstruct__sigchld_151 {
 2824   __kernel_pid_t _pid ;
 2825   __kernel_uid32_t _uid ;
 2826   int _status ;
 2827   __kernel_clock_t _utime ;
 2828   __kernel_clock_t _stime ;
 2829};
 2830#line 11 "include/asm-generic/siginfo.h"
 2831struct __anonstruct__sigfault_152 {
 2832   void *_addr ;
 2833   short _addr_lsb ;
 2834};
 2835#line 11 "include/asm-generic/siginfo.h"
 2836struct __anonstruct__sigpoll_153 {
 2837   long _band ;
 2838   int _fd ;
 2839};
 2840#line 11 "include/asm-generic/siginfo.h"
 2841union __anonunion__sifields_147 {
 2842   int _pad[28U] ;
 2843   struct __anonstruct__kill_148 _kill ;
 2844   struct __anonstruct__timer_149 _timer ;
 2845   struct __anonstruct__rt_150 _rt ;
 2846   struct __anonstruct__sigchld_151 _sigchld ;
 2847   struct __anonstruct__sigfault_152 _sigfault ;
 2848   struct __anonstruct__sigpoll_153 _sigpoll ;
 2849};
 2850#line 11 "include/asm-generic/siginfo.h"
 2851struct siginfo {
 2852   int si_signo ;
 2853   int si_errno ;
 2854   int si_code ;
 2855   union __anonunion__sifields_147 _sifields ;
 2856};
 2857#line 94 "include/asm-generic/siginfo.h"
 2858typedef struct siginfo siginfo_t;
 2859#line 24 "include/linux/signal.h"
 2860struct sigpending {
 2861   struct list_head list ;
 2862   sigset_t signal ;
 2863};
 2864#line 45 "include/linux/proportions.h"
 2865struct prop_local_percpu {
 2866   struct percpu_counter events ;
 2867   int shift ;
 2868   unsigned long period ;
 2869   spinlock_t lock ;
 2870};
 2871#line 90 "include/linux/proportions.h"
 2872struct prop_local_single {
 2873   unsigned long events ;
 2874   unsigned long period ;
 2875   int shift ;
 2876   spinlock_t lock ;
 2877};
 2878#line 10 "include/linux/seccomp.h"
 2879struct __anonstruct_seccomp_t_156 {
 2880   int mode ;
 2881};
 2882#line 10 "include/linux/seccomp.h"
 2883typedef struct __anonstruct_seccomp_t_156 seccomp_t;
 2884#line 21 "include/linux/seccomp.h"
 2885struct plist_head {
 2886   struct list_head node_list ;
 2887   raw_spinlock_t *rawlock ;
 2888   spinlock_t *spinlock ;
 2889};
 2890#line 88 "include/linux/plist.h"
 2891struct plist_node {
 2892   int prio ;
 2893   struct list_head prio_list ;
 2894   struct list_head node_list ;
 2895};
 2896#line 38 "include/linux/rtmutex.h"
 2897struct rt_mutex_waiter;
 2898#line 38
 2899struct rt_mutex_waiter;
 2900#line 38
 2901struct rt_mutex_waiter;
 2902#line 38
 2903struct rt_mutex_waiter;
 2904#line 41 "include/linux/resource.h"
 2905struct rlimit {
 2906   unsigned long rlim_cur ;
 2907   unsigned long rlim_max ;
 2908};
 2909#line 85 "include/linux/resource.h"
 2910struct timerqueue_node {
 2911   struct rb_node node ;
 2912   ktime_t expires ;
 2913};
 2914#line 12 "include/linux/timerqueue.h"
 2915struct timerqueue_head {
 2916   struct rb_root head ;
 2917   struct timerqueue_node *next ;
 2918};
 2919#line 50
 2920struct hrtimer_clock_base;
 2921#line 50
 2922struct hrtimer_clock_base;
 2923#line 50
 2924struct hrtimer_clock_base;
 2925#line 50
 2926struct hrtimer_clock_base;
 2927#line 51
 2928struct hrtimer_cpu_base;
 2929#line 51
 2930struct hrtimer_cpu_base;
 2931#line 51
 2932struct hrtimer_cpu_base;
 2933#line 51
 2934struct hrtimer_cpu_base;
 2935#line 60
 2936enum hrtimer_restart {
 2937    HRTIMER_NORESTART = 0,
 2938    HRTIMER_RESTART = 1
 2939} ;
 2940#line 65 "include/linux/timerqueue.h"
 2941struct hrtimer {
 2942   struct timerqueue_node node ;
 2943   ktime_t _softexpires ;
 2944   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 2945   struct hrtimer_clock_base *base ;
 2946   unsigned long state ;
 2947   int start_pid ;
 2948   void *start_site ;
 2949   char start_comm[16U] ;
 2950};
 2951#line 132 "include/linux/hrtimer.h"
 2952struct hrtimer_clock_base {
 2953   struct hrtimer_cpu_base *cpu_base ;
 2954   int index ;
 2955   clockid_t clockid ;
 2956   struct timerqueue_head active ;
 2957   ktime_t resolution ;
 2958   ktime_t (*get_time)(void) ;
 2959   ktime_t softirq_time ;
 2960   ktime_t offset ;
 2961};
 2962#line 162 "include/linux/hrtimer.h"
 2963struct hrtimer_cpu_base {
 2964   raw_spinlock_t lock ;
 2965   unsigned long active_bases ;
 2966   ktime_t expires_next ;
 2967   int hres_active ;
 2968   int hang_detected ;
 2969   unsigned long nr_events ;
 2970   unsigned long nr_retries ;
 2971   unsigned long nr_hangs ;
 2972   ktime_t max_hang_time ;
 2973   struct hrtimer_clock_base clock_base[3U] ;
 2974};
 2975#line 452 "include/linux/hrtimer.h"
 2976struct task_io_accounting {
 2977   u64 rchar ;
 2978   u64 wchar ;
 2979   u64 syscr ;
 2980   u64 syscw ;
 2981   u64 read_bytes ;
 2982   u64 write_bytes ;
 2983   u64 cancelled_write_bytes ;
 2984};
 2985#line 45 "include/linux/task_io_accounting.h"
 2986struct latency_record {
 2987   unsigned long backtrace[12U] ;
 2988   unsigned int count ;
 2989   unsigned long time ;
 2990   unsigned long max ;
 2991};
 2992#line 29 "include/linux/key.h"
 2993typedef int32_t key_serial_t;
 2994#line 32 "include/linux/key.h"
 2995typedef uint32_t key_perm_t;
 2996#line 33
 2997struct key;
 2998#line 33
 2999struct key;
 3000#line 33
 3001struct key;
 3002#line 33
 3003struct key;
 3004#line 34
 3005struct signal_struct;
 3006#line 34
 3007struct signal_struct;
 3008#line 34
 3009struct signal_struct;
 3010#line 34
 3011struct signal_struct;
 3012#line 35
 3013struct key_type;
 3014#line 35
 3015struct key_type;
 3016#line 35
 3017struct key_type;
 3018#line 35
 3019struct key_type;
 3020#line 37
 3021struct keyring_list;
 3022#line 37
 3023struct keyring_list;
 3024#line 37
 3025struct keyring_list;
 3026#line 37
 3027struct keyring_list;
 3028#line 115
 3029struct key_user;
 3030#line 115
 3031struct key_user;
 3032#line 115
 3033struct key_user;
 3034#line 115 "include/linux/key.h"
 3035union __anonunion_ldv_20738_157 {
 3036   time_t expiry ;
 3037   time_t revoked_at ;
 3038};
 3039#line 115 "include/linux/key.h"
 3040union __anonunion_type_data_158 {
 3041   struct list_head link ;
 3042   unsigned long x[2U] ;
 3043   void *p[2U] ;
 3044   int reject_error ;
 3045};
 3046#line 115 "include/linux/key.h"
 3047union __anonunion_payload_159 {
 3048   unsigned long value ;
 3049   void *rcudata ;
 3050   void *data ;
 3051   struct keyring_list *subscriptions ;
 3052};
 3053#line 115 "include/linux/key.h"
 3054struct key {
 3055   atomic_t usage ;
 3056   key_serial_t serial ;
 3057   struct rb_node serial_node ;
 3058   struct key_type *type ;
 3059   struct rw_semaphore sem ;
 3060   struct key_user *user ;
 3061   void *security ;
 3062   union __anonunion_ldv_20738_157 ldv_20738 ;
 3063   uid_t uid ;
 3064   gid_t gid ;
 3065   key_perm_t perm ;
 3066   unsigned short quotalen ;
 3067   unsigned short datalen ;
 3068   unsigned long flags ;
 3069   char *description ;
 3070   union __anonunion_type_data_158 type_data ;
 3071   union __anonunion_payload_159 payload ;
 3072};
 3073#line 310
 3074struct audit_context;
 3075#line 310
 3076struct audit_context;
 3077#line 310
 3078struct audit_context;
 3079#line 310
 3080struct audit_context;
 3081#line 27 "include/linux/selinux.h"
 3082struct group_info {
 3083   atomic_t usage ;
 3084   int ngroups ;
 3085   int nblocks ;
 3086   gid_t small_block[32U] ;
 3087   gid_t *blocks[0U] ;
 3088};
 3089#line 77 "include/linux/cred.h"
 3090struct thread_group_cred {
 3091   atomic_t usage ;
 3092   pid_t tgid ;
 3093   spinlock_t lock ;
 3094   struct key *session_keyring ;
 3095   struct key *process_keyring ;
 3096   struct rcu_head rcu ;
 3097};
 3098#line 91 "include/linux/cred.h"
 3099struct cred {
 3100   atomic_t usage ;
 3101   atomic_t subscribers ;
 3102   void *put_addr ;
 3103   unsigned int magic ;
 3104   uid_t uid ;
 3105   gid_t gid ;
 3106   uid_t suid ;
 3107   gid_t sgid ;
 3108   uid_t euid ;
 3109   gid_t egid ;
 3110   uid_t fsuid ;
 3111   gid_t fsgid ;
 3112   unsigned int securebits ;
 3113   kernel_cap_t cap_inheritable ;
 3114   kernel_cap_t cap_permitted ;
 3115   kernel_cap_t cap_effective ;
 3116   kernel_cap_t cap_bset ;
 3117   unsigned char jit_keyring ;
 3118   struct key *thread_keyring ;
 3119   struct key *request_key_auth ;
 3120   struct thread_group_cred *tgcred ;
 3121   void *security ;
 3122   struct user_struct *user ;
 3123   struct user_namespace *user_ns ;
 3124   struct group_info *group_info ;
 3125   struct rcu_head rcu ;
 3126};
 3127#line 264
 3128struct futex_pi_state;
 3129#line 264
 3130struct futex_pi_state;
 3131#line 264
 3132struct futex_pi_state;
 3133#line 264
 3134struct futex_pi_state;
 3135#line 265
 3136struct robust_list_head;
 3137#line 265
 3138struct robust_list_head;
 3139#line 265
 3140struct robust_list_head;
 3141#line 265
 3142struct robust_list_head;
 3143#line 266
 3144struct bio_list;
 3145#line 266
 3146struct bio_list;
 3147#line 266
 3148struct bio_list;
 3149#line 266
 3150struct bio_list;
 3151#line 267
 3152struct fs_struct;
 3153#line 267
 3154struct fs_struct;
 3155#line 267
 3156struct fs_struct;
 3157#line 267
 3158struct fs_struct;
 3159#line 268
 3160struct perf_event_context;
 3161#line 268
 3162struct perf_event_context;
 3163#line 268
 3164struct perf_event_context;
 3165#line 268
 3166struct perf_event_context;
 3167#line 269
 3168struct blk_plug;
 3169#line 269
 3170struct blk_plug;
 3171#line 269
 3172struct blk_plug;
 3173#line 269
 3174struct blk_plug;
 3175#line 149 "include/linux/sched.h"
 3176struct cfs_rq;
 3177#line 149
 3178struct cfs_rq;
 3179#line 149
 3180struct cfs_rq;
 3181#line 149
 3182struct cfs_rq;
 3183#line 44 "include/linux/aio_abi.h"
 3184struct io_event {
 3185   __u64 data ;
 3186   __u64 obj ;
 3187   __s64 res ;
 3188   __s64 res2 ;
 3189};
 3190#line 106 "include/linux/aio_abi.h"
 3191struct iovec {
 3192   void *iov_base ;
 3193   __kernel_size_t iov_len ;
 3194};
 3195#line 54 "include/linux/uio.h"
 3196struct kioctx;
 3197#line 54
 3198struct kioctx;
 3199#line 54
 3200struct kioctx;
 3201#line 54
 3202struct kioctx;
 3203#line 55 "include/linux/uio.h"
 3204union __anonunion_ki_obj_160 {
 3205   void *user ;
 3206   struct task_struct *tsk ;
 3207};
 3208#line 55
 3209struct eventfd_ctx;
 3210#line 55
 3211struct eventfd_ctx;
 3212#line 55
 3213struct eventfd_ctx;
 3214#line 55 "include/linux/uio.h"
 3215struct kiocb {
 3216   struct list_head ki_run_list ;
 3217   unsigned long ki_flags ;
 3218   int ki_users ;
 3219   unsigned int ki_key ;
 3220   struct file *ki_filp ;
 3221   struct kioctx *ki_ctx ;
 3222   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
 3223   ssize_t (*ki_retry)(struct kiocb * ) ;
 3224   void (*ki_dtor)(struct kiocb * ) ;
 3225   union __anonunion_ki_obj_160 ki_obj ;
 3226   __u64 ki_user_data ;
 3227   loff_t ki_pos ;
 3228   void *private ;
 3229   unsigned short ki_opcode ;
 3230   size_t ki_nbytes ;
 3231   char *ki_buf ;
 3232   size_t ki_left ;
 3233   struct iovec ki_inline_vec ;
 3234   struct iovec *ki_iovec ;
 3235   unsigned long ki_nr_segs ;
 3236   unsigned long ki_cur_seg ;
 3237   struct list_head ki_list ;
 3238   struct eventfd_ctx *ki_eventfd ;
 3239};
 3240#line 161 "include/linux/aio.h"
 3241struct aio_ring_info {
 3242   unsigned long mmap_base ;
 3243   unsigned long mmap_size ;
 3244   struct page **ring_pages ;
 3245   spinlock_t ring_lock ;
 3246   long nr_pages ;
 3247   unsigned int nr ;
 3248   unsigned int tail ;
 3249   struct page *internal_pages[8U] ;
 3250};
 3251#line 177 "include/linux/aio.h"
 3252struct kioctx {
 3253   atomic_t users ;
 3254   int dead ;
 3255   struct mm_struct *mm ;
 3256   unsigned long user_id ;
 3257   struct hlist_node list ;
 3258   wait_queue_head_t wait ;
 3259   spinlock_t ctx_lock ;
 3260   int reqs_active ;
 3261   struct list_head active_reqs ;
 3262   struct list_head run_list ;
 3263   unsigned int max_reqs ;
 3264   struct aio_ring_info ring_info ;
 3265   struct delayed_work wq ;
 3266   struct rcu_head rcu_head ;
 3267};
 3268#line 404 "include/linux/sched.h"
 3269struct sighand_struct {
 3270   atomic_t count ;
 3271   struct k_sigaction action[64U] ;
 3272   spinlock_t siglock ;
 3273   wait_queue_head_t signalfd_wqh ;
 3274};
 3275#line 447 "include/linux/sched.h"
 3276struct pacct_struct {
 3277   int ac_flag ;
 3278   long ac_exitcode ;
 3279   unsigned long ac_mem ;
 3280   cputime_t ac_utime ;
 3281   cputime_t ac_stime ;
 3282   unsigned long ac_minflt ;
 3283   unsigned long ac_majflt ;
 3284};
 3285#line 455 "include/linux/sched.h"
 3286struct cpu_itimer {
 3287   cputime_t expires ;
 3288   cputime_t incr ;
 3289   u32 error ;
 3290   u32 incr_error ;
 3291};
 3292#line 462 "include/linux/sched.h"
 3293struct task_cputime {
 3294   cputime_t utime ;
 3295   cputime_t stime ;
 3296   unsigned long long sum_exec_runtime ;
 3297};
 3298#line 479 "include/linux/sched.h"
 3299struct thread_group_cputimer {
 3300   struct task_cputime cputime ;
 3301   int running ;
 3302   spinlock_t lock ;
 3303};
 3304#line 515
 3305struct autogroup;
 3306#line 515
 3307struct autogroup;
 3308#line 515
 3309struct autogroup;
 3310#line 515
 3311struct autogroup;
 3312#line 516
 3313struct tty_struct;
 3314#line 516
 3315struct tty_struct;
 3316#line 516
 3317struct tty_struct;
 3318#line 516
 3319struct taskstats;
 3320#line 516
 3321struct taskstats;
 3322#line 516
 3323struct taskstats;
 3324#line 516
 3325struct tty_audit_buf;
 3326#line 516
 3327struct tty_audit_buf;
 3328#line 516
 3329struct tty_audit_buf;
 3330#line 516 "include/linux/sched.h"
 3331struct signal_struct {
 3332   atomic_t sigcnt ;
 3333   atomic_t live ;
 3334   int nr_threads ;
 3335   wait_queue_head_t wait_chldexit ;
 3336   struct task_struct *curr_target ;
 3337   struct sigpending shared_pending ;
 3338   int group_exit_code ;
 3339   int notify_count ;
 3340   struct task_struct *group_exit_task ;
 3341   int group_stop_count ;
 3342   unsigned int flags ;
 3343   struct list_head posix_timers ;
 3344   struct hrtimer real_timer ;
 3345   struct pid *leader_pid ;
 3346   ktime_t it_real_incr ;
 3347   struct cpu_itimer it[2U] ;
 3348   struct thread_group_cputimer cputimer ;
 3349   struct task_cputime cputime_expires ;
 3350   struct list_head cpu_timers[3U] ;
 3351   struct pid *tty_old_pgrp ;
 3352   int leader ;
 3353   struct tty_struct *tty ;
 3354   struct autogroup *autogroup ;
 3355   cputime_t utime ;
 3356   cputime_t stime ;
 3357   cputime_t cutime ;
 3358   cputime_t cstime ;
 3359   cputime_t gtime ;
 3360   cputime_t cgtime ;
 3361   cputime_t prev_utime ;
 3362   cputime_t prev_stime ;
 3363   unsigned long nvcsw ;
 3364   unsigned long nivcsw ;
 3365   unsigned long cnvcsw ;
 3366   unsigned long cnivcsw ;
 3367   unsigned long min_flt ;
 3368   unsigned long maj_flt ;
 3369   unsigned long cmin_flt ;
 3370   unsigned long cmaj_flt ;
 3371   unsigned long inblock ;
 3372   unsigned long oublock ;
 3373   unsigned long cinblock ;
 3374   unsigned long coublock ;
 3375   unsigned long maxrss ;
 3376   unsigned long cmaxrss ;
 3377   struct task_io_accounting ioac ;
 3378   unsigned long long sum_sched_runtime ;
 3379   struct rlimit rlim[16U] ;
 3380   struct pacct_struct pacct ;
 3381   struct taskstats *stats ;
 3382   unsigned int audit_tty ;
 3383   struct tty_audit_buf *tty_audit_buf ;
 3384   struct rw_semaphore threadgroup_fork_lock ;
 3385   int oom_adj ;
 3386   int oom_score_adj ;
 3387   int oom_score_adj_min ;
 3388   struct mutex cred_guard_mutex ;
 3389};
 3390#line 683 "include/linux/sched.h"
 3391struct user_struct {
 3392   atomic_t __count ;
 3393   atomic_t processes ;
 3394   atomic_t files ;
 3395   atomic_t sigpending ;
 3396   atomic_t inotify_watches ;
 3397   atomic_t inotify_devs ;
 3398   atomic_t fanotify_listeners ;
 3399   atomic_long_t epoll_watches ;
 3400   unsigned long mq_bytes ;
 3401   unsigned long locked_shm ;
 3402   struct key *uid_keyring ;
 3403   struct key *session_keyring ;
 3404   struct hlist_node uidhash_node ;
 3405   uid_t uid ;
 3406   struct user_namespace *user_ns ;
 3407   atomic_long_t locked_vm ;
 3408};
 3409#line 728
 3410struct reclaim_state;
 3411#line 728
 3412struct reclaim_state;
 3413#line 728
 3414struct reclaim_state;
 3415#line 728
 3416struct reclaim_state;
 3417#line 729 "include/linux/sched.h"
 3418struct sched_info {
 3419   unsigned long pcount ;
 3420   unsigned long long run_delay ;
 3421   unsigned long long last_arrival ;
 3422   unsigned long long last_queued ;
 3423};
 3424#line 744 "include/linux/sched.h"
 3425struct task_delay_info {
 3426   spinlock_t lock ;
 3427   unsigned int flags ;
 3428   struct timespec blkio_start ;
 3429   struct timespec blkio_end ;
 3430   u64 blkio_delay ;
 3431   u64 swapin_delay ;
 3432   u32 blkio_count ;
 3433   u32 swapin_count ;
 3434   struct timespec freepages_start ;
 3435   struct timespec freepages_end ;
 3436   u64 freepages_delay ;
 3437   u32 freepages_count ;
 3438};
 3439#line 1037
 3440struct io_context;
 3441#line 1037
 3442struct io_context;
 3443#line 1037
 3444struct io_context;
 3445#line 1037
 3446struct io_context;
 3447#line 1060
 3448struct rq;
 3449#line 1060
 3450struct rq;
 3451#line 1060
 3452struct rq;
 3453#line 1060
 3454struct rq;
 3455#line 1061 "include/linux/sched.h"
 3456struct sched_class {
 3457   struct sched_class  const  *next ;
 3458   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
 3459   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
 3460   void (*yield_task)(struct rq * ) ;
 3461   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
 3462   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
 3463   struct task_struct *(*pick_next_task)(struct rq * ) ;
 3464   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
 3465   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
 3466   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
 3467   void (*post_schedule)(struct rq * ) ;
 3468   void (*task_waking)(struct task_struct * ) ;
 3469   void (*task_woken)(struct rq * , struct task_struct * ) ;
 3470   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
 3471   void (*rq_online)(struct rq * ) ;
 3472   void (*rq_offline)(struct rq * ) ;
 3473   void (*set_curr_task)(struct rq * ) ;
 3474   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
 3475   void (*task_fork)(struct task_struct * ) ;
 3476   void (*switched_from)(struct rq * , struct task_struct * ) ;
 3477   void (*switched_to)(struct rq * , struct task_struct * ) ;
 3478   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
 3479   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
 3480   void (*task_move_group)(struct task_struct * , int  ) ;
 3481};
 3482#line 1127 "include/linux/sched.h"
 3483struct load_weight {
 3484   unsigned long weight ;
 3485   unsigned long inv_weight ;
 3486};
 3487#line 1132 "include/linux/sched.h"
 3488struct sched_statistics {
 3489   u64 wait_start ;
 3490   u64 wait_max ;
 3491   u64 wait_count ;
 3492   u64 wait_sum ;
 3493   u64 iowait_count ;
 3494   u64 iowait_sum ;
 3495   u64 sleep_start ;
 3496   u64 sleep_max ;
 3497   s64 sum_sleep_runtime ;
 3498   u64 block_start ;
 3499   u64 block_max ;
 3500   u64 exec_max ;
 3501   u64 slice_max ;
 3502   u64 nr_migrations_cold ;
 3503   u64 nr_failed_migrations_affine ;
 3504   u64 nr_failed_migrations_running ;
 3505   u64 nr_failed_migrations_hot ;
 3506   u64 nr_forced_migrations ;
 3507   u64 nr_wakeups ;
 3508   u64 nr_wakeups_sync ;
 3509   u64 nr_wakeups_migrate ;
 3510   u64 nr_wakeups_local ;
 3511   u64 nr_wakeups_remote ;
 3512   u64 nr_wakeups_affine ;
 3513   u64 nr_wakeups_affine_attempts ;
 3514   u64 nr_wakeups_passive ;
 3515   u64 nr_wakeups_idle ;
 3516};
 3517#line 1167 "include/linux/sched.h"
 3518struct sched_entity {
 3519   struct load_weight load ;
 3520   struct rb_node run_node ;
 3521   struct list_head group_node ;
 3522   unsigned int on_rq ;
 3523   u64 exec_start ;
 3524   u64 sum_exec_runtime ;
 3525   u64 vruntime ;
 3526   u64 prev_sum_exec_runtime ;
 3527   u64 nr_migrations ;
 3528   struct sched_statistics statistics ;
 3529   struct sched_entity *parent ;
 3530   struct cfs_rq *cfs_rq ;
 3531   struct cfs_rq *my_q ;
 3532};
 3533#line 1193
 3534struct rt_rq;
 3535#line 1193
 3536struct rt_rq;
 3537#line 1193
 3538struct rt_rq;
 3539#line 1193 "include/linux/sched.h"
 3540struct sched_rt_entity {
 3541   struct list_head run_list ;
 3542   unsigned long timeout ;
 3543   unsigned int time_slice ;
 3544   int nr_cpus_allowed ;
 3545   struct sched_rt_entity *back ;
 3546   struct sched_rt_entity *parent ;
 3547   struct rt_rq *rt_rq ;
 3548   struct rt_rq *my_q ;
 3549};
 3550#line 1217
 3551struct mem_cgroup;
 3552#line 1217
 3553struct mem_cgroup;
 3554#line 1217
 3555struct mem_cgroup;
 3556#line 1217 "include/linux/sched.h"
 3557struct memcg_batch_info {
 3558   int do_batch ;
 3559   struct mem_cgroup *memcg ;
 3560   unsigned long nr_pages ;
 3561   unsigned long memsw_nr_pages ;
 3562};
 3563#line 1569
 3564struct irqaction;
 3565#line 1569
 3566struct irqaction;
 3567#line 1569
 3568struct irqaction;
 3569#line 1569
 3570struct css_set;
 3571#line 1569
 3572struct css_set;
 3573#line 1569
 3574struct css_set;
 3575#line 1569
 3576struct compat_robust_list_head;
 3577#line 1569
 3578struct compat_robust_list_head;
 3579#line 1569
 3580struct compat_robust_list_head;
 3581#line 1569
 3582struct ftrace_ret_stack;
 3583#line 1569
 3584struct ftrace_ret_stack;
 3585#line 1569
 3586struct ftrace_ret_stack;
 3587#line 1569 "include/linux/sched.h"
 3588struct task_struct {
 3589   long volatile   state ;
 3590   void *stack ;
 3591   atomic_t usage ;
 3592   unsigned int flags ;
 3593   unsigned int ptrace ;
 3594   struct task_struct *wake_entry ;
 3595   int on_cpu ;
 3596   int on_rq ;
 3597   int prio ;
 3598   int static_prio ;
 3599   int normal_prio ;
 3600   unsigned int rt_priority ;
 3601   struct sched_class  const  *sched_class ;
 3602   struct sched_entity se ;
 3603   struct sched_rt_entity rt ;
 3604   struct hlist_head preempt_notifiers ;
 3605   unsigned char fpu_counter ;
 3606   unsigned int btrace_seq ;
 3607   unsigned int policy ;
 3608   cpumask_t cpus_allowed ;
 3609   struct sched_info sched_info ;
 3610   struct list_head tasks ;
 3611   struct plist_node pushable_tasks ;
 3612   struct mm_struct *mm ;
 3613   struct mm_struct *active_mm ;
 3614   unsigned char brk_randomized : 1 ;
 3615   int exit_state ;
 3616   int exit_code ;
 3617   int exit_signal ;
 3618   int pdeath_signal ;
 3619   unsigned int group_stop ;
 3620   unsigned int personality ;
 3621   unsigned char did_exec : 1 ;
 3622   unsigned char in_execve : 1 ;
 3623   unsigned char in_iowait : 1 ;
 3624   unsigned char sched_reset_on_fork : 1 ;
 3625   unsigned char sched_contributes_to_load : 1 ;
 3626   pid_t pid ;
 3627   pid_t tgid ;
 3628   unsigned long stack_canary ;
 3629   struct task_struct *real_parent ;
 3630   struct task_struct *parent ;
 3631   struct list_head children ;
 3632   struct list_head sibling ;
 3633   struct task_struct *group_leader ;
 3634   struct list_head ptraced ;
 3635   struct list_head ptrace_entry ;
 3636   struct pid_link pids[3U] ;
 3637   struct list_head thread_group ;
 3638   struct completion *vfork_done ;
 3639   int *set_child_tid ;
 3640   int *clear_child_tid ;
 3641   cputime_t utime ;
 3642   cputime_t stime ;
 3643   cputime_t utimescaled ;
 3644   cputime_t stimescaled ;
 3645   cputime_t gtime ;
 3646   cputime_t prev_utime ;
 3647   cputime_t prev_stime ;
 3648   unsigned long nvcsw ;
 3649   unsigned long nivcsw ;
 3650   struct timespec start_time ;
 3651   struct timespec real_start_time ;
 3652   unsigned long min_flt ;
 3653   unsigned long maj_flt ;
 3654   struct task_cputime cputime_expires ;
 3655   struct list_head cpu_timers[3U] ;
 3656   struct cred  const  *real_cred ;
 3657   struct cred  const  *cred ;
 3658   struct cred *replacement_session_keyring ;
 3659   char comm[16U] ;
 3660   int link_count ;
 3661   int total_link_count ;
 3662   struct sysv_sem sysvsem ;
 3663   unsigned long last_switch_count ;
 3664   struct thread_struct thread ;
 3665   struct fs_struct *fs ;
 3666   struct files_struct *files ;
 3667   struct nsproxy *nsproxy ;
 3668   struct signal_struct *signal ;
 3669   struct sighand_struct *sighand ;
 3670   sigset_t blocked ;
 3671   sigset_t real_blocked ;
 3672   sigset_t saved_sigmask ;
 3673   struct sigpending pending ;
 3674   unsigned long sas_ss_sp ;
 3675   size_t sas_ss_size ;
 3676   int (*notifier)(void * ) ;
 3677   void *notifier_data ;
 3678   sigset_t *notifier_mask ;
 3679   struct audit_context *audit_context ;
 3680   uid_t loginuid ;
 3681   unsigned int sessionid ;
 3682   seccomp_t seccomp ;
 3683   u32 parent_exec_id ;
 3684   u32 self_exec_id ;
 3685   spinlock_t alloc_lock ;
 3686   struct irqaction *irqaction ;
 3687   raw_spinlock_t pi_lock ;
 3688   struct plist_head pi_waiters ;
 3689   struct rt_mutex_waiter *pi_blocked_on ;
 3690   struct mutex_waiter *blocked_on ;
 3691   unsigned int irq_events ;
 3692   unsigned long hardirq_enable_ip ;
 3693   unsigned long hardirq_disable_ip ;
 3694   unsigned int hardirq_enable_event ;
 3695   unsigned int hardirq_disable_event ;
 3696   int hardirqs_enabled ;
 3697   int hardirq_context ;
 3698   unsigned long softirq_disable_ip ;
 3699   unsigned long softirq_enable_ip ;
 3700   unsigned int softirq_disable_event ;
 3701   unsigned int softirq_enable_event ;
 3702   int softirqs_enabled ;
 3703   int softirq_context ;
 3704   u64 curr_chain_key ;
 3705   int lockdep_depth ;
 3706   unsigned int lockdep_recursion ;
 3707   struct held_lock held_locks[48U] ;
 3708   gfp_t lockdep_reclaim_gfp ;
 3709   void *journal_info ;
 3710   struct bio_list *bio_list ;
 3711   struct blk_plug *plug ;
 3712   struct reclaim_state *reclaim_state ;
 3713   struct backing_dev_info *backing_dev_info ;
 3714   struct io_context *io_context ;
 3715   unsigned long ptrace_message ;
 3716   siginfo_t *last_siginfo ;
 3717   struct task_io_accounting ioac ;
 3718   u64 acct_rss_mem1 ;
 3719   u64 acct_vm_mem1 ;
 3720   cputime_t acct_timexpd ;
 3721   nodemask_t mems_allowed ;
 3722   int mems_allowed_change_disable ;
 3723   int cpuset_mem_spread_rotor ;
 3724   int cpuset_slab_spread_rotor ;
 3725   struct css_set *cgroups ;
 3726   struct list_head cg_list ;
 3727   struct robust_list_head *robust_list ;
 3728   struct compat_robust_list_head *compat_robust_list ;
 3729   struct list_head pi_state_list ;
 3730   struct futex_pi_state *pi_state_cache ;
 3731   struct perf_event_context *perf_event_ctxp[2U] ;
 3732   struct mutex perf_event_mutex ;
 3733   struct list_head perf_event_list ;
 3734   struct mempolicy *mempolicy ;
 3735   short il_next ;
 3736   short pref_node_fork ;
 3737   atomic_t fs_excl ;
 3738   struct rcu_head rcu ;
 3739   struct pipe_inode_info *splice_pipe ;
 3740   struct task_delay_info *delays ;
 3741   int make_it_fail ;
 3742   struct prop_local_single dirties ;
 3743   int latency_record_count ;
 3744   struct latency_record latency_record[32U] ;
 3745   unsigned long timer_slack_ns ;
 3746   unsigned long default_timer_slack_ns ;
 3747   struct list_head *scm_work_list ;
 3748   int curr_ret_stack ;
 3749   struct ftrace_ret_stack *ret_stack ;
 3750   unsigned long long ftrace_timestamp ;
 3751   atomic_t trace_overrun ;
 3752   atomic_t tracing_graph_pause ;
 3753   unsigned long trace ;
 3754   unsigned long trace_recursion ;
 3755   struct memcg_batch_info memcg_batch ;
 3756   atomic_t ptrace_bp_refcnt ;
 3757};
 3758#line 118 "include/linux/kmemleak.h"
 3759struct kmem_cache_cpu {
 3760   void **freelist ;
 3761   unsigned long tid ;
 3762   struct page *page ;
 3763   int node ;
 3764   unsigned int stat[19U] ;
 3765};
 3766#line 46 "include/linux/slub_def.h"
 3767struct kmem_cache_node {
 3768   spinlock_t list_lock ;
 3769   unsigned long nr_partial ;
 3770   struct list_head partial ;
 3771   atomic_long_t nr_slabs ;
 3772   atomic_long_t total_objects ;
 3773   struct list_head full ;
 3774};
 3775#line 57 "include/linux/slub_def.h"
 3776struct kmem_cache_order_objects {
 3777   unsigned long x ;
 3778};
 3779#line 67 "include/linux/slub_def.h"
 3780struct kmem_cache {
 3781   struct kmem_cache_cpu *cpu_slab ;
 3782   unsigned long flags ;
 3783   unsigned long min_partial ;
 3784   int size ;
 3785   int objsize ;
 3786   int offset ;
 3787   struct kmem_cache_order_objects oo ;
 3788   struct kmem_cache_order_objects max ;
 3789   struct kmem_cache_order_objects min ;
 3790   gfp_t allocflags ;
 3791   int refcount ;
 3792   void (*ctor)(void * ) ;
 3793   int inuse ;
 3794   int align ;
 3795   int reserved ;
 3796   char const   *name ;
 3797   struct list_head list ;
 3798   struct kobject kobj ;
 3799   int remote_node_defrag_ratio ;
 3800   struct kmem_cache_node *node[1024U] ;
 3801};
 3802#line 25 "include/linux/genhd.h"
 3803struct device_type;
 3804#line 25
 3805struct device_type;
 3806#line 25
 3807struct device_type;
 3808#line 27
 3809struct class;
 3810#line 27
 3811struct class;
 3812#line 27
 3813struct class;
 3814#line 51
 3815struct klist_node;
 3816#line 51
 3817struct klist_node;
 3818#line 51
 3819struct klist_node;
 3820#line 51
 3821struct klist_node;
 3822#line 37 "include/linux/klist.h"
 3823struct klist_node {
 3824   void *n_klist ;
 3825   struct list_head n_node ;
 3826   struct kref n_ref ;
 3827};
 3828#line 67
 3829struct dma_map_ops;
 3830#line 67
 3831struct dma_map_ops;
 3832#line 67
 3833struct dma_map_ops;
 3834#line 67 "include/linux/klist.h"
 3835struct dev_archdata {
 3836   void *acpi_handle ;
 3837   struct dma_map_ops *dma_ops ;
 3838   void *iommu ;
 3839};
 3840#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 3841struct device_private;
 3842#line 17
 3843struct device_private;
 3844#line 17
 3845struct device_private;
 3846#line 17
 3847struct device_private;
 3848#line 18
 3849struct device_driver;
 3850#line 18
 3851struct device_driver;
 3852#line 18
 3853struct device_driver;
 3854#line 18
 3855struct device_driver;
 3856#line 19
 3857struct driver_private;
 3858#line 19
 3859struct driver_private;
 3860#line 19
 3861struct driver_private;
 3862#line 19
 3863struct driver_private;
 3864#line 20
 3865struct subsys_private;
 3866#line 20
 3867struct subsys_private;
 3868#line 20
 3869struct subsys_private;
 3870#line 20
 3871struct subsys_private;
 3872#line 21
 3873struct bus_type;
 3874#line 21
 3875struct bus_type;
 3876#line 21
 3877struct bus_type;
 3878#line 21
 3879struct bus_type;
 3880#line 22
 3881struct device_node;
 3882#line 22
 3883struct device_node;
 3884#line 22
 3885struct device_node;
 3886#line 22
 3887struct device_node;
 3888#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 3889struct bus_attribute {
 3890   struct attribute attr ;
 3891   ssize_t (*show)(struct bus_type * , char * ) ;
 3892   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 3893};
 3894#line 49 "include/linux/device.h"
 3895struct device_attribute;
 3896#line 49
 3897struct device_attribute;
 3898#line 49
 3899struct device_attribute;
 3900#line 49
 3901struct driver_attribute;
 3902#line 49
 3903struct driver_attribute;
 3904#line 49
 3905struct driver_attribute;
 3906#line 49 "include/linux/device.h"
 3907struct bus_type {
 3908   char const   *name ;
 3909   struct bus_attribute *bus_attrs ;
 3910   struct device_attribute *dev_attrs ;
 3911   struct driver_attribute *drv_attrs ;
 3912   int (*match)(struct device * , struct device_driver * ) ;
 3913   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 3914   int (*probe)(struct device * ) ;
 3915   int (*remove)(struct device * ) ;
 3916   void (*shutdown)(struct device * ) ;
 3917   int (*suspend)(struct device * , pm_message_t  ) ;
 3918   int (*resume)(struct device * ) ;
 3919   struct dev_pm_ops  const  *pm ;
 3920   struct subsys_private *p ;
 3921};
 3922#line 153
 3923struct of_device_id;
 3924#line 153
 3925struct of_device_id;
 3926#line 153
 3927struct of_device_id;
 3928#line 153 "include/linux/device.h"
 3929struct device_driver {
 3930   char const   *name ;
 3931   struct bus_type *bus ;
 3932   struct module *owner ;
 3933   char const   *mod_name ;
 3934   bool suppress_bind_attrs ;
 3935   struct of_device_id  const  *of_match_table ;
 3936   int (*probe)(struct device * ) ;
 3937   int (*remove)(struct device * ) ;
 3938   void (*shutdown)(struct device * ) ;
 3939   int (*suspend)(struct device * , pm_message_t  ) ;
 3940   int (*resume)(struct device * ) ;
 3941   struct attribute_group  const  **groups ;
 3942   struct dev_pm_ops  const  *pm ;
 3943   struct driver_private *p ;
 3944};
 3945#line 218 "include/linux/device.h"
 3946struct driver_attribute {
 3947   struct attribute attr ;
 3948   ssize_t (*show)(struct device_driver * , char * ) ;
 3949   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 3950};
 3951#line 248
 3952struct class_attribute;
 3953#line 248
 3954struct class_attribute;
 3955#line 248
 3956struct class_attribute;
 3957#line 248 "include/linux/device.h"
 3958struct class {
 3959   char const   *name ;
 3960   struct module *owner ;
 3961   struct class_attribute *class_attrs ;
 3962   struct device_attribute *dev_attrs ;
 3963   struct bin_attribute *dev_bin_attrs ;
 3964   struct kobject *dev_kobj ;
 3965   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 3966   char *(*devnode)(struct device * , mode_t * ) ;
 3967   void (*class_release)(struct class * ) ;
 3968   void (*dev_release)(struct device * ) ;
 3969   int (*suspend)(struct device * , pm_message_t  ) ;
 3970   int (*resume)(struct device * ) ;
 3971   struct kobj_ns_type_operations  const  *ns_type ;
 3972   void const   *(*namespace)(struct device * ) ;
 3973   struct dev_pm_ops  const  *pm ;
 3974   struct subsys_private *p ;
 3975};
 3976#line 344 "include/linux/device.h"
 3977struct class_attribute {
 3978   struct attribute attr ;
 3979   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 3980   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 3981};
 3982#line 395 "include/linux/device.h"
 3983struct device_type {
 3984   char const   *name ;
 3985   struct attribute_group  const  **groups ;
 3986   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 3987   char *(*devnode)(struct device * , mode_t * ) ;
 3988   void (*release)(struct device * ) ;
 3989   struct dev_pm_ops  const  *pm ;
 3990};
 3991#line 422 "include/linux/device.h"
 3992struct device_attribute {
 3993   struct attribute attr ;
 3994   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
 3995   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
 3996                    size_t  ) ;
 3997};
 3998#line 483 "include/linux/device.h"
 3999struct device_dma_parameters {
 4000   unsigned int max_segment_size ;
 4001   unsigned long segment_boundary_mask ;
 4002};
 4003#line 492
 4004struct dma_coherent_mem;
 4005#line 492
 4006struct dma_coherent_mem;
 4007#line 492
 4008struct dma_coherent_mem;
 4009#line 492 "include/linux/device.h"
 4010struct device {
 4011   struct device *parent ;
 4012   struct device_private *p ;
 4013   struct kobject kobj ;
 4014   char const   *init_name ;
 4015   struct device_type  const  *type ;
 4016   struct mutex mutex ;
 4017   struct bus_type *bus ;
 4018   struct device_driver *driver ;
 4019   void *platform_data ;
 4020   struct dev_pm_info power ;
 4021   struct dev_power_domain *pwr_domain ;
 4022   int numa_node ;
 4023   u64 *dma_mask ;
 4024   u64 coherent_dma_mask ;
 4025   struct device_dma_parameters *dma_parms ;
 4026   struct list_head dma_pools ;
 4027   struct dma_coherent_mem *dma_mem ;
 4028   struct dev_archdata archdata ;
 4029   struct device_node *of_node ;
 4030   dev_t devt ;
 4031   spinlock_t devres_lock ;
 4032   struct list_head devres_head ;
 4033   struct klist_node knode_class ;
 4034   struct class *class ;
 4035   struct attribute_group  const  **groups ;
 4036   void (*release)(struct device * ) ;
 4037};
 4038#line 604 "include/linux/device.h"
 4039struct wakeup_source {
 4040   char *name ;
 4041   struct list_head entry ;
 4042   spinlock_t lock ;
 4043   struct timer_list timer ;
 4044   unsigned long timer_expires ;
 4045   ktime_t total_time ;
 4046   ktime_t max_time ;
 4047   ktime_t last_time ;
 4048   unsigned long event_count ;
 4049   unsigned long active_count ;
 4050   unsigned long relax_count ;
 4051   unsigned long hit_count ;
 4052   unsigned char active : 1 ;
 4053};
 4054#line 81 "include/linux/genhd.h"
 4055struct disk_stats {
 4056   unsigned long sectors[2U] ;
 4057   unsigned long ios[2U] ;
 4058   unsigned long merges[2U] ;
 4059   unsigned long ticks[2U] ;
 4060   unsigned long io_ticks ;
 4061   unsigned long time_in_queue ;
 4062};
 4063#line 90 "include/linux/genhd.h"
 4064struct partition_meta_info {
 4065   u8 uuid[16U] ;
 4066   u8 volname[64U] ;
 4067};
 4068#line 98 "include/linux/genhd.h"
 4069struct hd_struct {
 4070   sector_t start_sect ;
 4071   sector_t nr_sects ;
 4072   sector_t alignment_offset ;
 4073   unsigned int discard_alignment ;
 4074   struct device __dev ;
 4075   struct kobject *holder_dir ;
 4076   int policy ;
 4077   int partno ;
 4078   struct partition_meta_info *info ;
 4079   int make_it_fail ;
 4080   unsigned long stamp ;
 4081   atomic_t in_flight[2U] ;
 4082   struct disk_stats *dkstats ;
 4083   atomic_t ref ;
 4084   struct rcu_head rcu_head ;
 4085};
 4086#line 145 "include/linux/genhd.h"
 4087struct disk_part_tbl {
 4088   struct rcu_head rcu_head ;
 4089   int len ;
 4090   struct hd_struct *last_lookup ;
 4091   struct hd_struct *part[0U] ;
 4092};
 4093#line 152
 4094struct disk_events;
 4095#line 152
 4096struct disk_events;
 4097#line 152
 4098struct disk_events;
 4099#line 152
 4100struct disk_events;
 4101#line 153
 4102struct request_queue;
 4103#line 153
 4104struct request_queue;
 4105#line 153
 4106struct request_queue;
 4107#line 153
 4108struct timer_rand_state;
 4109#line 153
 4110struct timer_rand_state;
 4111#line 153
 4112struct timer_rand_state;
 4113#line 153
 4114struct blk_integrity;
 4115#line 153
 4116struct blk_integrity;
 4117#line 153
 4118struct blk_integrity;
 4119#line 153 "include/linux/genhd.h"
 4120struct gendisk {
 4121   int major ;
 4122   int first_minor ;
 4123   int minors ;
 4124   char disk_name[32U] ;
 4125   char *(*devnode)(struct gendisk * , mode_t * ) ;
 4126   unsigned int events ;
 4127   unsigned int async_events ;
 4128   struct disk_part_tbl *part_tbl ;
 4129   struct hd_struct part0 ;
 4130   struct block_device_operations  const  *fops ;
 4131   struct request_queue *queue ;
 4132   void *private_data ;
 4133   int flags ;
 4134   struct device *driverfs_dev ;
 4135   struct kobject *slave_dir ;
 4136   struct timer_rand_state *random ;
 4137   atomic_t sync_io ;
 4138   struct disk_events *ev ;
 4139   struct blk_integrity *integrity ;
 4140   int node_id ;
 4141};
 4142#line 653 "include/linux/genhd.h"
 4143struct exception_table_entry {
 4144   unsigned long insn ;
 4145   unsigned long fixup ;
 4146};
 4147#line 8 "include/linux/ftrace_irq.h"
 4148enum irqreturn {
 4149    IRQ_NONE = 0,
 4150    IRQ_HANDLED = 1,
 4151    IRQ_WAKE_THREAD = 2
 4152} ;
 4153#line 16 "include/linux/irqreturn.h"
 4154typedef enum irqreturn irqreturn_t;
 4155#line 331 "include/linux/irq.h"
 4156struct proc_dir_entry;
 4157#line 331
 4158struct proc_dir_entry;
 4159#line 331
 4160struct proc_dir_entry;
 4161#line 331
 4162struct proc_dir_entry;
 4163#line 13 "include/linux/writeback.h"
 4164enum writeback_sync_modes {
 4165    WB_SYNC_NONE = 0,
 4166    WB_SYNC_ALL = 1
 4167} ;
 4168#line 18 "include/linux/writeback.h"
 4169struct writeback_control {
 4170   enum writeback_sync_modes sync_mode ;
 4171   unsigned long *older_than_this ;
 4172   unsigned long wb_start ;
 4173   long nr_to_write ;
 4174   long pages_skipped ;
 4175   loff_t range_start ;
 4176   loff_t range_end ;
 4177   unsigned char nonblocking : 1 ;
 4178   unsigned char encountered_congestion : 1 ;
 4179   unsigned char for_kupdate : 1 ;
 4180   unsigned char for_background : 1 ;
 4181   unsigned char for_reclaim : 1 ;
 4182   unsigned char range_cyclic : 1 ;
 4183   unsigned char more_io : 1 ;
 4184};
 4185#line 54
 4186struct bdi_writeback;
 4187#line 54
 4188struct bdi_writeback;
 4189#line 54
 4190struct bdi_writeback;
 4191#line 54
 4192struct bdi_writeback;
 4193#line 38 "include/linux/backing-dev.h"
 4194typedef int congested_fn(void * , int  );
 4195#line 45 "include/linux/backing-dev.h"
 4196struct bdi_writeback {
 4197   struct backing_dev_info *bdi ;
 4198   unsigned int nr ;
 4199   unsigned long last_old_flush ;
 4200   unsigned long last_active ;
 4201   struct task_struct *task ;
 4202   struct timer_list wakeup_timer ;
 4203   struct list_head b_dirty ;
 4204   struct list_head b_io ;
 4205   struct list_head b_more_io ;
 4206};
 4207#line 61 "include/linux/backing-dev.h"
 4208struct backing_dev_info {
 4209   struct list_head bdi_list ;
 4210   unsigned long ra_pages ;
 4211   unsigned long state ;
 4212   unsigned int capabilities ;
 4213   congested_fn *congested_fn ;
 4214   void *congested_data ;
 4215   char *name ;
 4216   struct percpu_counter bdi_stat[2U] ;
 4217   struct prop_local_percpu completions ;
 4218   int dirty_exceeded ;
 4219   unsigned int min_ratio ;
 4220   unsigned int max_ratio ;
 4221   unsigned int max_prop_frac ;
 4222   struct bdi_writeback wb ;
 4223   spinlock_t wb_lock ;
 4224   struct list_head work_list ;
 4225   struct device *dev ;
 4226   struct timer_list laptop_mode_wb_timer ;
 4227   struct dentry *debug_dir ;
 4228   struct dentry *debug_stats ;
 4229};
 4230#line 11 "include/linux/mempool.h"
 4231typedef void *mempool_alloc_t(gfp_t  , void * );
 4232#line 12 "include/linux/mempool.h"
 4233typedef void mempool_free_t(void * , void * );
 4234#line 13 "include/linux/mempool.h"
 4235struct mempool_s {
 4236   spinlock_t lock ;
 4237   int min_nr ;
 4238   int curr_nr ;
 4239   void **elements ;
 4240   void *pool_data ;
 4241   mempool_alloc_t *alloc ;
 4242   mempool_free_t *free ;
 4243   wait_queue_head_t wait ;
 4244};
 4245#line 24 "include/linux/mempool.h"
 4246typedef struct mempool_s mempool_t;
 4247#line 29 "include/linux/iocontext.h"
 4248struct io_context {
 4249   atomic_long_t refcount ;
 4250   atomic_t nr_tasks ;
 4251   spinlock_t lock ;
 4252   unsigned short ioprio ;
 4253   unsigned short ioprio_changed ;
 4254   unsigned short cgroup_changed ;
 4255   int nr_batch_requests ;
 4256   unsigned long last_waited ;
 4257   struct radix_tree_root radix_root ;
 4258   struct hlist_head cic_list ;
 4259   void *ioc_data ;
 4260};
 4261#line 90 "include/linux/bio.h"
 4262struct bio_integrity_payload {
 4263   struct bio *bip_bio ;
 4264   sector_t bip_sector ;
 4265   void *bip_buf ;
 4266   bio_end_io_t *bip_end_io ;
 4267   unsigned int bip_size ;
 4268   unsigned short bip_slab ;
 4269   unsigned short bip_vcnt ;
 4270   unsigned short bip_idx ;
 4271   struct work_struct bip_work ;
 4272   struct bio_vec bip_vec[0U] ;
 4273};
 4274#line 373 "include/linux/bio.h"
 4275struct bio_list {
 4276   struct bio *head ;
 4277   struct bio *tail ;
 4278};
 4279#line 63 "include/linux/bsg.h"
 4280struct bsg_class_device {
 4281   struct device *class_dev ;
 4282   struct device *parent ;
 4283   int minor ;
 4284   struct request_queue *queue ;
 4285   struct kref ref ;
 4286   void (*release)(struct device * ) ;
 4287};
 4288#line 80 "include/linux/bsg.h"
 4289struct scatterlist {
 4290   unsigned long sg_magic ;
 4291   unsigned long page_link ;
 4292   unsigned int offset ;
 4293   unsigned int length ;
 4294   dma_addr_t dma_address ;
 4295   unsigned int dma_length ;
 4296};
 4297#line 18 "include/asm-generic/scatterlist.h"
 4298struct elevator_queue;
 4299#line 18
 4300struct elevator_queue;
 4301#line 18
 4302struct elevator_queue;
 4303#line 18
 4304struct elevator_queue;
 4305#line 20
 4306struct blk_trace;
 4307#line 20
 4308struct blk_trace;
 4309#line 20
 4310struct blk_trace;
 4311#line 20
 4312struct blk_trace;
 4313#line 21
 4314struct request;
 4315#line 21
 4316struct request;
 4317#line 21
 4318struct request;
 4319#line 21
 4320struct request;
 4321#line 38 "include/linux/blkdev.h"
 4322typedef void rq_end_io_fn(struct request * , int  );
 4323#line 39 "include/linux/blkdev.h"
 4324struct request_list {
 4325   int count[2U] ;
 4326   int starved[2U] ;
 4327   int elvpriv ;
 4328   mempool_t *rq_pool ;
 4329   wait_queue_head_t wait[2U] ;
 4330};
 4331#line 51
 4332enum rq_cmd_type_bits {
 4333    REQ_TYPE_FS = 1,
 4334    REQ_TYPE_BLOCK_PC = 2,
 4335    REQ_TYPE_SENSE = 3,
 4336    REQ_TYPE_PM_SUSPEND = 4,
 4337    REQ_TYPE_PM_RESUME = 5,
 4338    REQ_TYPE_PM_SHUTDOWN = 6,
 4339    REQ_TYPE_SPECIAL = 7,
 4340    REQ_TYPE_ATA_TASKFILE = 8,
 4341    REQ_TYPE_ATA_PC = 9
 4342} ;
 4343#line 63 "include/linux/blkdev.h"
 4344union __anonunion_ldv_26185_163 {
 4345   struct rb_node rb_node ;
 4346   void *completion_data ;
 4347};
 4348#line 63 "include/linux/blkdev.h"
 4349struct __anonstruct_flush_165 {
 4350   unsigned int seq ;
 4351   struct list_head list ;
 4352};
 4353#line 63 "include/linux/blkdev.h"
 4354union __anonunion_ldv_26192_164 {
 4355   void *elevator_private[3U] ;
 4356   struct __anonstruct_flush_165 flush ;
 4357};
 4358#line 63 "include/linux/blkdev.h"
 4359struct request {
 4360   struct list_head queuelist ;
 4361   struct call_single_data csd ;
 4362   struct request_queue *q ;
 4363   unsigned int cmd_flags ;
 4364   enum rq_cmd_type_bits cmd_type ;
 4365   unsigned long atomic_flags ;
 4366   int cpu ;
 4367   unsigned int __data_len ;
 4368   sector_t __sector ;
 4369   struct bio *bio ;
 4370   struct bio *biotail ;
 4371   struct hlist_node hash ;
 4372   union __anonunion_ldv_26185_163 ldv_26185 ;
 4373   union __anonunion_ldv_26192_164 ldv_26192 ;
 4374   struct gendisk *rq_disk ;
 4375   struct hd_struct *part ;
 4376   unsigned long start_time ;
 4377   unsigned short nr_phys_segments ;
 4378   unsigned short nr_integrity_segments ;
 4379   unsigned short ioprio ;
 4380   int ref_count ;
 4381   void *special ;
 4382   char *buffer ;
 4383   int tag ;
 4384   int errors ;
 4385   unsigned char __cmd[16U] ;
 4386   unsigned char *cmd ;
 4387   unsigned short cmd_len ;
 4388   unsigned int extra_len ;
 4389   unsigned int sense_len ;
 4390   unsigned int resid_len ;
 4391   void *sense ;
 4392   unsigned long deadline ;
 4393   struct list_head timeout_list ;
 4394   unsigned int timeout ;
 4395   int retries ;
 4396   rq_end_io_fn *end_io ;
 4397   void *end_io_data ;
 4398   struct request *next_rq ;
 4399};
 4400#line 8 "include/linux/elevator.h"
 4401typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
 4402#line 11 "include/linux/elevator.h"
 4403typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
 4404#line 13 "include/linux/elevator.h"
 4405typedef void elevator_merged_fn(struct request_queue * , struct request * , int  );
 4406#line 15 "include/linux/elevator.h"
 4407typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
 4408#line 17 "include/linux/elevator.h"
 4409typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
 4410#line 20 "include/linux/elevator.h"
 4411typedef int elevator_dispatch_fn(struct request_queue * , int  );
 4412#line 22 "include/linux/elevator.h"
 4413typedef void elevator_add_req_fn(struct request_queue * , struct request * );
 4414#line 23 "include/linux/elevator.h"
 4415typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
 4416#line 24 "include/linux/elevator.h"
 4417typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
 4418#line 25 "include/linux/elevator.h"
 4419typedef int elevator_may_queue_fn(struct request_queue * , int  );
 4420#line 27 "include/linux/elevator.h"
 4421typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t  );
 4422#line 28 "include/linux/elevator.h"
 4423typedef void elevator_put_req_fn(struct request * );
 4424#line 29 "include/linux/elevator.h"
 4425typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
 4426#line 30 "include/linux/elevator.h"
 4427typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
 4428#line 32 "include/linux/elevator.h"
 4429typedef void *elevator_init_fn(struct request_queue * );
 4430#line 33 "include/linux/elevator.h"
 4431typedef void elevator_exit_fn(struct elevator_queue * );
 4432#line 34 "include/linux/elevator.h"
 4433struct elevator_ops {
 4434   elevator_merge_fn *elevator_merge_fn ;
 4435   elevator_merged_fn *elevator_merged_fn ;
 4436   elevator_merge_req_fn *elevator_merge_req_fn ;
 4437   elevator_allow_merge_fn *elevator_allow_merge_fn ;
 4438   elevator_bio_merged_fn *elevator_bio_merged_fn ;
 4439   elevator_dispatch_fn *elevator_dispatch_fn ;
 4440   elevator_add_req_fn *elevator_add_req_fn ;
 4441   elevator_activate_req_fn *elevator_activate_req_fn ;
 4442   elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
 4443   elevator_completed_req_fn *elevator_completed_req_fn ;
 4444   elevator_request_list_fn *elevator_former_req_fn ;
 4445   elevator_request_list_fn *elevator_latter_req_fn ;
 4446   elevator_set_req_fn *elevator_set_req_fn ;
 4447   elevator_put_req_fn *elevator_put_req_fn ;
 4448   elevator_may_queue_fn *elevator_may_queue_fn ;
 4449   elevator_init_fn *elevator_init_fn ;
 4450   elevator_exit_fn *elevator_exit_fn ;
 4451   void (*trim)(struct io_context * ) ;
 4452};
 4453#line 62 "include/linux/elevator.h"
 4454struct elv_fs_entry {
 4455   struct attribute attr ;
 4456   ssize_t (*show)(struct elevator_queue * , char * ) ;
 4457   ssize_t (*store)(struct elevator_queue * , char const   * , size_t  ) ;
 4458};
 4459#line 70 "include/linux/elevator.h"
 4460struct elevator_type {
 4461   struct list_head list ;
 4462   struct elevator_ops ops ;
 4463   struct elv_fs_entry *elevator_attrs ;
 4464   char elevator_name[16U] ;
 4465   struct module *elevator_owner ;
 4466};
 4467#line 82 "include/linux/elevator.h"
 4468struct elevator_queue {
 4469   struct elevator_ops *ops ;
 4470   void *elevator_data ;
 4471   struct kobject kobj ;
 4472   struct elevator_type *elevator_type ;
 4473   struct mutex sysfs_lock ;
 4474   struct hlist_head *hash ;
 4475   unsigned char registered : 1 ;
 4476};
 4477#line 195 "include/linux/blkdev.h"
 4478typedef void request_fn_proc(struct request_queue * );
 4479#line 196 "include/linux/blkdev.h"
 4480typedef int make_request_fn(struct request_queue * , struct bio * );
 4481#line 197 "include/linux/blkdev.h"
 4482typedef int prep_rq_fn(struct request_queue * , struct request * );
 4483#line 198 "include/linux/blkdev.h"
 4484typedef void unprep_rq_fn(struct request_queue * , struct request * );
 4485#line 199 "include/linux/blkdev.h"
 4486struct bvec_merge_data {
 4487   struct block_device *bi_bdev ;
 4488   sector_t bi_sector ;
 4489   unsigned int bi_size ;
 4490   unsigned long bi_rw ;
 4491};
 4492#line 207 "include/linux/blkdev.h"
 4493typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
 4494#line 209 "include/linux/blkdev.h"
 4495typedef void softirq_done_fn(struct request * );
 4496#line 210 "include/linux/blkdev.h"
 4497typedef int dma_drain_needed_fn(struct request * );
 4498#line 211 "include/linux/blkdev.h"
 4499typedef int lld_busy_fn(struct request_queue * );
 4500#line 212
 4501enum blk_eh_timer_return {
 4502    BLK_EH_NOT_HANDLED = 0,
 4503    BLK_EH_HANDLED = 1,
 4504    BLK_EH_RESET_TIMER = 2
 4505} ;
 4506#line 219 "include/linux/blkdev.h"
 4507typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
 4508#line 225 "include/linux/blkdev.h"
 4509struct blk_queue_tag {
 4510   struct request **tag_index ;
 4511   unsigned long *tag_map ;
 4512   int busy ;
 4513   int max_depth ;
 4514   int real_max_depth ;
 4515   atomic_t refcnt ;
 4516};
 4517#line 234 "include/linux/blkdev.h"
 4518struct queue_limits {
 4519   unsigned long bounce_pfn ;
 4520   unsigned long seg_boundary_mask ;
 4521   unsigned int max_hw_sectors ;
 4522   unsigned int max_sectors ;
 4523   unsigned int max_segment_size ;
 4524   unsigned int physical_block_size ;
 4525   unsigned int alignment_offset ;
 4526   unsigned int io_min ;
 4527   unsigned int io_opt ;
 4528   unsigned int max_discard_sectors ;
 4529   unsigned int discard_granularity ;
 4530   unsigned int discard_alignment ;
 4531   unsigned short logical_block_size ;
 4532   unsigned short max_segments ;
 4533   unsigned short max_integrity_segments ;
 4534   unsigned char misaligned ;
 4535   unsigned char discard_misaligned ;
 4536   unsigned char cluster ;
 4537   unsigned char discard_zeroes_data ;
 4538};
 4539#line 262 "include/linux/blkdev.h"
 4540struct request_queue {
 4541   struct list_head queue_head ;
 4542   struct request *last_merge ;
 4543   struct elevator_queue *elevator ;
 4544   struct request_list rq ;
 4545   request_fn_proc *request_fn ;
 4546   make_request_fn *make_request_fn ;
 4547   prep_rq_fn *prep_rq_fn ;
 4548   unprep_rq_fn *unprep_rq_fn ;
 4549   merge_bvec_fn *merge_bvec_fn ;
 4550   softirq_done_fn *softirq_done_fn ;
 4551   rq_timed_out_fn *rq_timed_out_fn ;
 4552   dma_drain_needed_fn *dma_drain_needed ;
 4553   lld_busy_fn *lld_busy_fn ;
 4554   sector_t end_sector ;
 4555   struct request *boundary_rq ;
 4556   struct delayed_work delay_work ;
 4557   struct backing_dev_info backing_dev_info ;
 4558   void *queuedata ;
 4559   gfp_t bounce_gfp ;
 4560   unsigned long queue_flags ;
 4561   spinlock_t __queue_lock ;
 4562   spinlock_t *queue_lock ;
 4563   struct kobject kobj ;
 4564   unsigned long nr_requests ;
 4565   unsigned int nr_congestion_on ;
 4566   unsigned int nr_congestion_off ;
 4567   unsigned int nr_batching ;
 4568   void *dma_drain_buffer ;
 4569   unsigned int dma_drain_size ;
 4570   unsigned int dma_pad_mask ;
 4571   unsigned int dma_alignment ;
 4572   struct blk_queue_tag *queue_tags ;
 4573   struct list_head tag_busy_list ;
 4574   unsigned int nr_sorted ;
 4575   unsigned int in_flight[2U] ;
 4576   unsigned int rq_timeout ;
 4577   struct timer_list timeout ;
 4578   struct list_head timeout_list ;
 4579   struct queue_limits limits ;
 4580   unsigned int sg_timeout ;
 4581   unsigned int sg_reserved_size ;
 4582   int node ;
 4583   struct blk_trace *blk_trace ;
 4584   unsigned int flush_flags ;
 4585   unsigned char flush_not_queueable : 1 ;
 4586   unsigned char flush_queue_delayed : 1 ;
 4587   unsigned char flush_pending_idx : 1 ;
 4588   unsigned char flush_running_idx : 1 ;
 4589   unsigned long flush_pending_since ;
 4590   struct list_head flush_queue[2U] ;
 4591   struct list_head flush_data_in_flight ;
 4592   struct request flush_rq ;
 4593   struct mutex sysfs_lock ;
 4594   struct bsg_class_device bsg_dev ;
 4595};
 4596#line 859 "include/linux/blkdev.h"
 4597struct blk_plug {
 4598   unsigned long magic ;
 4599   struct list_head list ;
 4600   struct list_head cb_list ;
 4601   unsigned int should_sort ;
 4602};
 4603#line 1192 "include/linux/blkdev.h"
 4604struct blk_integrity_exchg {
 4605   void *prot_buf ;
 4606   void *data_buf ;
 4607   sector_t sector ;
 4608   unsigned int data_size ;
 4609   unsigned short sector_size ;
 4610   char const   *disk_name ;
 4611};
 4612#line 1212 "include/linux/blkdev.h"
 4613typedef void integrity_gen_fn(struct blk_integrity_exchg * );
 4614#line 1213 "include/linux/blkdev.h"
 4615typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
 4616#line 1214 "include/linux/blkdev.h"
 4617typedef void integrity_set_tag_fn(void * , void * , unsigned int  );
 4618#line 1215 "include/linux/blkdev.h"
 4619typedef void integrity_get_tag_fn(void * , void * , unsigned int  );
 4620#line 1216 "include/linux/blkdev.h"
 4621struct blk_integrity {
 4622   integrity_gen_fn *generate_fn ;
 4623   integrity_vrfy_fn *verify_fn ;
 4624   integrity_set_tag_fn *set_tag_fn ;
 4625   integrity_get_tag_fn *get_tag_fn ;
 4626   unsigned short flags ;
 4627   unsigned short tuple_size ;
 4628   unsigned short sector_size ;
 4629   unsigned short tag_size ;
 4630   char const   *name ;
 4631   struct kobject kobj ;
 4632};
 4633#line 1275 "include/linux/blkdev.h"
 4634struct block_device_operations {
 4635   int (*open)(struct block_device * , fmode_t  ) ;
 4636   int (*release)(struct gendisk * , fmode_t  ) ;
 4637   int (*ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4638   int (*compat_ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
 4639   int (*direct_access)(struct block_device * , sector_t  , void ** , unsigned long * ) ;
 4640   unsigned int (*check_events)(struct gendisk * , unsigned int  ) ;
 4641   int (*media_changed)(struct gendisk * ) ;
 4642   void (*unlock_native_capacity)(struct gendisk * ) ;
 4643   int (*revalidate_disk)(struct gendisk * ) ;
 4644   int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
 4645   void (*swap_slot_free_notify)(struct block_device * , unsigned long  ) ;
 4646   struct module *owner ;
 4647};
 4648#line 46 "include/linux/proc_fs.h"
 4649typedef int read_proc_t(char * , char ** , off_t  , int  , int * , void * );
 4650#line 48 "include/linux/proc_fs.h"
 4651typedef int write_proc_t(struct file * , char const   * , unsigned long  , void * );
 4652#line 49 "include/linux/proc_fs.h"
 4653struct proc_dir_entry {
 4654   unsigned int low_ino ;
 4655   unsigned int namelen ;
 4656   char const   *name ;
 4657   mode_t mode ;
 4658   nlink_t nlink ;
 4659   uid_t uid ;
 4660   gid_t gid ;
 4661   loff_t size ;
 4662   struct inode_operations  const  *proc_iops ;
 4663   struct file_operations  const  *proc_fops ;
 4664   struct proc_dir_entry *next ;
 4665   struct proc_dir_entry *parent ;
 4666   struct proc_dir_entry *subdir ;
 4667   void *data ;
 4668   read_proc_t *read_proc ;
 4669   write_proc_t *write_proc ;
 4670   atomic_t count ;
 4671   int pde_users ;
 4672   spinlock_t pde_unload_lock ;
 4673   struct completion *pde_unload_completion ;
 4674   struct list_head pde_openers ;
 4675};
 4676#line 91 "include/linux/interrupt.h"
 4677struct irqaction {
 4678   irqreturn_t (*handler)(int  , void * ) ;
 4679   unsigned long flags ;
 4680   void *dev_id ;
 4681   struct irqaction *next ;
 4682   int irq ;
 4683   irqreturn_t (*thread_fn)(int  , void * ) ;
 4684   struct task_struct *thread ;
 4685   unsigned long thread_flags ;
 4686   unsigned long thread_mask ;
 4687   char const   *name ;
 4688   struct proc_dir_entry *dir ;
 4689};
 4690#line 12 "include/linux/mod_devicetable.h"
 4691typedef unsigned long kernel_ulong_t;
 4692#line 13 "include/linux/mod_devicetable.h"
 4693struct pci_device_id {
 4694   __u32 vendor ;
 4695   __u32 device ;
 4696   __u32 subvendor ;
 4697   __u32 subdevice ;
 4698   __u32 class ;
 4699   __u32 class_mask ;
 4700   kernel_ulong_t driver_data ;
 4701};
 4702#line 215 "include/linux/mod_devicetable.h"
 4703struct of_device_id {
 4704   char name[32U] ;
 4705   char type[32U] ;
 4706   char compatible[128U] ;
 4707   void *data ;
 4708};
 4709#line 69 "include/linux/io.h"
 4710struct hotplug_slot;
 4711#line 69
 4712struct hotplug_slot;
 4713#line 69
 4714struct hotplug_slot;
 4715#line 69 "include/linux/io.h"
 4716struct pci_slot {
 4717   struct pci_bus *bus ;
 4718   struct list_head list ;
 4719   struct hotplug_slot *hotplug ;
 4720   unsigned char number ;
 4721   struct kobject kobj ;
 4722};
 4723#line 117 "include/linux/pci.h"
 4724typedef int pci_power_t;
 4725#line 143 "include/linux/pci.h"
 4726typedef unsigned int pci_channel_state_t;
 4727#line 144
 4728enum pci_channel_state {
 4729    pci_channel_io_normal = 1,
 4730    pci_channel_io_frozen = 2,
 4731    pci_channel_io_perm_failure = 3
 4732} ;
 4733#line 169 "include/linux/pci.h"
 4734typedef unsigned short pci_dev_flags_t;
 4735#line 184 "include/linux/pci.h"
 4736typedef unsigned short pci_bus_flags_t;
 4737#line 227
 4738struct pcie_link_state;
 4739#line 227
 4740struct pcie_link_state;
 4741#line 227
 4742struct pcie_link_state;
 4743#line 227
 4744struct pcie_link_state;
 4745#line 228
 4746struct pci_vpd;
 4747#line 228
 4748struct pci_vpd;
 4749#line 228
 4750struct pci_vpd;
 4751#line 228
 4752struct pci_vpd;
 4753#line 229
 4754struct pci_sriov;
 4755#line 229
 4756struct pci_sriov;
 4757#line 229
 4758struct pci_sriov;
 4759#line 229
 4760struct pci_sriov;
 4761#line 230
 4762struct pci_ats;
 4763#line 230
 4764struct pci_ats;
 4765#line 230
 4766struct pci_ats;
 4767#line 230
 4768struct pci_ats;
 4769#line 231
 4770struct pci_driver;
 4771#line 231
 4772struct pci_driver;
 4773#line 231
 4774struct pci_driver;
 4775#line 231 "include/linux/pci.h"
 4776union __anonunion_ldv_28420_168 {
 4777   struct pci_sriov *sriov ;
 4778   struct pci_dev *physfn ;
 4779};
 4780#line 231 "include/linux/pci.h"
 4781struct pci_dev {
 4782   struct list_head bus_list ;
 4783   struct pci_bus *bus ;
 4784   struct pci_bus *subordinate ;
 4785   void *sysdata ;
 4786   struct proc_dir_entry *procent ;
 4787   struct pci_slot *slot ;
 4788   unsigned int devfn ;
 4789   unsigned short vendor ;
 4790   unsigned short device ;
 4791   unsigned short subsystem_vendor ;
 4792   unsigned short subsystem_device ;
 4793   unsigned int class ;
 4794   u8 revision ;
 4795   u8 hdr_type ;
 4796   u8 pcie_cap ;
 4797   u8 pcie_type ;
 4798   u8 rom_base_reg ;
 4799   u8 pin ;
 4800   struct pci_driver *driver ;
 4801   u64 dma_mask ;
 4802   struct device_dma_parameters dma_parms ;
 4803   pci_power_t current_state ;
 4804   int pm_cap ;
 4805   unsigned char pme_support : 5 ;
 4806   unsigned char pme_interrupt : 1 ;
 4807   unsigned char d1_support : 1 ;
 4808   unsigned char d2_support : 1 ;
 4809   unsigned char no_d1d2 : 1 ;
 4810   unsigned char mmio_always_on : 1 ;
 4811   unsigned char wakeup_prepared : 1 ;
 4812   unsigned int d3_delay ;
 4813   struct pcie_link_state *link_state ;
 4814   pci_channel_state_t error_state ;
 4815   struct device dev ;
 4816   int cfg_size ;
 4817   unsigned int irq ;
 4818   struct resource resource[18U] ;
 4819   resource_size_t fw_addr[18U] ;
 4820   unsigned char transparent : 1 ;
 4821   unsigned char multifunction : 1 ;
 4822   unsigned char is_added : 1 ;
 4823   unsigned char is_busmaster : 1 ;
 4824   unsigned char no_msi : 1 ;
 4825   unsigned char block_ucfg_access : 1 ;
 4826   unsigned char broken_parity_status : 1 ;
 4827   unsigned char irq_reroute_variant : 2 ;
 4828   unsigned char msi_enabled : 1 ;
 4829   unsigned char msix_enabled : 1 ;
 4830   unsigned char ari_enabled : 1 ;
 4831   unsigned char is_managed : 1 ;
 4832   unsigned char is_pcie : 1 ;
 4833   unsigned char needs_freset : 1 ;
 4834   unsigned char state_saved : 1 ;
 4835   unsigned char is_physfn : 1 ;
 4836   unsigned char is_virtfn : 1 ;
 4837   unsigned char reset_fn : 1 ;
 4838   unsigned char is_hotplug_bridge : 1 ;
 4839   unsigned char __aer_firmware_first_valid : 1 ;
 4840   unsigned char __aer_firmware_first : 1 ;
 4841   pci_dev_flags_t dev_flags ;
 4842   atomic_t enable_cnt ;
 4843   u32 saved_config_space[16U] ;
 4844   struct hlist_head saved_cap_space ;
 4845   struct bin_attribute *rom_attr ;
 4846   int rom_attr_enabled ;
 4847   struct bin_attribute *res_attr[18U] ;
 4848   struct bin_attribute *res_attr_wc[18U] ;
 4849   struct list_head msi_list ;
 4850   struct pci_vpd *vpd ;
 4851   union __anonunion_ldv_28420_168 ldv_28420 ;
 4852   struct pci_ats *ats ;
 4853};
 4854#line 406
 4855struct pci_ops;
 4856#line 406
 4857struct pci_ops;
 4858#line 406
 4859struct pci_ops;
 4860#line 406 "include/linux/pci.h"
 4861struct pci_bus {
 4862   struct list_head node ;
 4863   struct pci_bus *parent ;
 4864   struct list_head children ;
 4865   struct list_head devices ;
 4866   struct pci_dev *self ;
 4867   struct list_head slots ;
 4868   struct resource *resource[4U] ;
 4869   struct list_head resources ;
 4870   struct pci_ops *ops ;
 4871   void *sysdata ;
 4872   struct proc_dir_entry *procdir ;
 4873   unsigned char number ;
 4874   unsigned char primary ;
 4875   unsigned char secondary ;
 4876   unsigned char subordinate ;
 4877   unsigned char max_bus_speed ;
 4878   unsigned char cur_bus_speed ;
 4879   char name[48U] ;
 4880   unsigned short bridge_ctl ;
 4881   pci_bus_flags_t bus_flags ;
 4882   struct device *bridge ;
 4883   struct device dev ;
 4884   struct bin_attribute *legacy_io ;
 4885   struct bin_attribute *legacy_mem ;
 4886   unsigned char is_added : 1 ;
 4887};
 4888#line 458 "include/linux/pci.h"
 4889struct pci_ops {
 4890   int (*read)(struct pci_bus * , unsigned int  , int  , int  , u32 * ) ;
 4891   int (*write)(struct pci_bus * , unsigned int  , int  , int  , u32  ) ;
 4892};
 4893#line 493 "include/linux/pci.h"
 4894struct pci_dynids {
 4895   spinlock_t lock ;
 4896   struct list_head list ;
 4897};
 4898#line 506 "include/linux/pci.h"
 4899typedef unsigned int pci_ers_result_t;
 4900#line 515 "include/linux/pci.h"
 4901struct pci_error_handlers {
 4902   pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state  ) ;
 4903   pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ;
 4904   pci_ers_result_t (*link_reset)(struct pci_dev * ) ;
 4905   pci_ers_result_t (*slot_reset)(struct pci_dev * ) ;
 4906   void (*resume)(struct pci_dev * ) ;
 4907};
 4908#line 543 "include/linux/pci.h"
 4909struct pci_driver {
 4910   struct list_head node ;
 4911   char const   *name ;
 4912   struct pci_device_id  const  *id_table ;
 4913   int (*probe)(struct pci_dev * , struct pci_device_id  const  * ) ;
 4914   void (*remove)(struct pci_dev * ) ;
 4915   int (*suspend)(struct pci_dev * , pm_message_t  ) ;
 4916   int (*suspend_late)(struct pci_dev * , pm_message_t  ) ;
 4917   int (*resume_early)(struct pci_dev * ) ;
 4918   int (*resume)(struct pci_dev * ) ;
 4919   void (*shutdown)(struct pci_dev * ) ;
 4920   struct pci_error_handlers *err_handler ;
 4921   struct device_driver driver ;
 4922   struct pci_dynids dynids ;
 4923};
 4924#line 34 "include/linux/bug.h"
 4925struct dma_attrs {
 4926   unsigned long flags[1U] ;
 4927};
 4928#line 65 "include/linux/dma-attrs.h"
 4929struct sg_table {
 4930   struct scatterlist *sgl ;
 4931   unsigned int nents ;
 4932   unsigned int orig_nents ;
 4933};
 4934#line 266 "include/linux/scatterlist.h"
 4935enum dma_data_direction {
 4936    DMA_BIDIRECTIONAL = 0,
 4937    DMA_TO_DEVICE = 1,
 4938    DMA_FROM_DEVICE = 2,
 4939    DMA_NONE = 3
 4940} ;
 4941#line 273 "include/linux/scatterlist.h"
 4942struct dma_map_ops {
 4943   void *(*alloc_coherent)(struct device * , size_t  , dma_addr_t * , gfp_t  ) ;
 4944   void (*free_coherent)(struct device * , size_t  , void * , dma_addr_t  ) ;
 4945   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
 4946                          enum dma_data_direction  , struct dma_attrs * ) ;
 4947   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
 4948                      struct dma_attrs * ) ;
 4949   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
 4950                 struct dma_attrs * ) ;
 4951   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
 4952                    struct dma_attrs * ) ;
 4953   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
 4954   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
 4955   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
 4956   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
 4957   int (*mapping_error)(struct device * , dma_addr_t  ) ;
 4958   int (*dma_supported)(struct device * , u64  ) ;
 4959   int (*set_dma_mask)(struct device * , u64  ) ;
 4960   int is_phys ;
 4961};
 4962#line 19 "include/scsi/scsicam.h"
 4963struct Scsi_Host;
 4964#line 19
 4965struct Scsi_Host;
 4966#line 19
 4967struct Scsi_Host;
 4968#line 19
 4969struct Scsi_Host;
 4970#line 20
 4971struct scsi_device;
 4972#line 20
 4973struct scsi_device;
 4974#line 20
 4975struct scsi_device;
 4976#line 20
 4977struct scsi_device;
 4978#line 21 "include/scsi/scsicam.h"
 4979struct scsi_data_buffer {
 4980   struct sg_table table ;
 4981   unsigned int length ;
 4982   int resid ;
 4983};
 4984#line 36 "include/scsi/scsi_cmnd.h"
 4985struct scsi_pointer {
 4986   char *ptr ;
 4987   int this_residual ;
 4988   struct scatterlist *buffer ;
 4989   int buffers_residual ;
 4990   dma_addr_t dma_handle ;
 4991   int volatile   Status ;
 4992   int volatile   Message ;
 4993   int volatile   have_data_in ;
 4994   int volatile   sent_command ;
 4995   int volatile   phase ;
 4996};
 4997#line 52 "include/scsi/scsi_cmnd.h"
 4998struct scsi_cmnd {
 4999   struct scsi_device *device ;
 5000   struct list_head list ;
 5001   struct list_head eh_entry ;
 5002   int eh_eflags ;
 5003   unsigned long serial_number ;
 5004   unsigned long jiffies_at_alloc ;
 5005   int retries ;
 5006   int allowed ;
 5007   unsigned char prot_op ;
 5008   unsigned char prot_type ;
 5009   unsigned short cmd_len ;
 5010   enum dma_data_direction sc_data_direction ;
 5011   unsigned char *cmnd ;
 5012   struct scsi_data_buffer sdb ;
 5013   struct scsi_data_buffer *prot_sdb ;
 5014   unsigned int underflow ;
 5015   unsigned int transfersize ;
 5016   struct request *request ;
 5017   unsigned char *sense_buffer ;
 5018   void (*scsi_done)(struct scsi_cmnd * ) ;
 5019   struct scsi_pointer SCp ;
 5020   unsigned char *host_scribble ;
 5021   int result ;
 5022   unsigned char tag ;
 5023};
 5024#line 563 "include/scsi/scsi.h"
 5025struct scsi_sense_hdr;
 5026#line 563
 5027struct scsi_sense_hdr;
 5028#line 563
 5029struct scsi_sense_hdr;
 5030#line 563
 5031struct scsi_sense_hdr;
 5032#line 25 "include/scsi/scsi_device.h"
 5033enum scsi_device_state {
 5034    SDEV_CREATED = 1,
 5035    SDEV_RUNNING = 2,
 5036    SDEV_CANCEL = 3,
 5037    SDEV_DEL = 4,
 5038    SDEV_QUIESCE = 5,
 5039    SDEV_OFFLINE = 6,
 5040    SDEV_BLOCK = 7,
 5041    SDEV_CREATED_BLOCK = 8
 5042} ;
 5043#line 63
 5044struct scsi_target;
 5045#line 63
 5046struct scsi_target;
 5047#line 63
 5048struct scsi_target;
 5049#line 63
 5050struct scsi_dh_data;
 5051#line 63
 5052struct scsi_dh_data;
 5053#line 63
 5054struct scsi_dh_data;
 5055#line 63 "include/scsi/scsi_device.h"
 5056struct scsi_device {
 5057   struct Scsi_Host *host ;
 5058   struct request_queue *request_queue ;
 5059   struct list_head siblings ;
 5060   struct list_head same_target_siblings ;
 5061   unsigned int device_busy ;
 5062   spinlock_t list_lock ;
 5063   struct list_head cmd_list ;
 5064   struct list_head starved_entry ;
 5065   struct scsi_cmnd *current_cmnd ;
 5066   unsigned short queue_depth ;
 5067   unsigned short max_queue_depth ;
 5068   unsigned short last_queue_full_depth ;
 5069   unsigned short last_queue_full_count ;
 5070   unsigned long last_queue_full_time ;
 5071   unsigned long queue_ramp_up_period ;
 5072   unsigned long last_queue_ramp_up ;
 5073   unsigned int id ;
 5074   unsigned int lun ;
 5075   unsigned int channel ;
 5076   unsigned int manufacturer ;
 5077   unsigned int sector_size ;
 5078   void *hostdata ;
 5079   char type ;
 5080   char scsi_level ;
 5081   char inq_periph_qual ;
 5082   unsigned char inquiry_len ;
 5083   unsigned char *inquiry ;
 5084   char const   *vendor ;
 5085   char const   *model ;
 5086   char const   *rev ;
 5087   unsigned char current_tag ;
 5088   struct scsi_target *sdev_target ;
 5089   unsigned int sdev_bflags ;
 5090   unsigned char writeable : 1 ;
 5091   unsigned char removable : 1 ;
 5092   unsigned char changed : 1 ;
 5093   unsigned char busy : 1 ;
 5094   unsigned char lockable : 1 ;
 5095   unsigned char locked : 1 ;
 5096   unsigned char borken : 1 ;
 5097   unsigned char disconnect : 1 ;
 5098   unsigned char soft_reset : 1 ;
 5099   unsigned char sdtr : 1 ;
 5100   unsigned char wdtr : 1 ;
 5101   unsigned char ppr : 1 ;
 5102   unsigned char tagged_supported : 1 ;
 5103   unsigned char simple_tags : 1 ;
 5104   unsigned char ordered_tags : 1 ;
 5105   unsigned char was_reset : 1 ;
 5106   unsigned char expecting_cc_ua : 1 ;
 5107   unsigned char use_10_for_rw : 1 ;
 5108   unsigned char use_10_for_ms : 1 ;
 5109   unsigned char skip_ms_page_8 : 1 ;
 5110   unsigned char skip_ms_page_3f : 1 ;
 5111   unsigned char use_192_bytes_for_3f : 1 ;
 5112   unsigned char no_start_on_add : 1 ;
 5113   unsigned char allow_restart : 1 ;
 5114   unsigned char manage_start_stop : 1 ;
 5115   unsigned char start_stop_pwr_cond : 1 ;
 5116   unsigned char no_uld_attach : 1 ;
 5117   unsigned char select_no_atn : 1 ;
 5118   unsigned char fix_capacity : 1 ;
 5119   unsigned char guess_capacity : 1 ;
 5120   unsigned char retry_hwerror : 1 ;
 5121   unsigned char last_sector_bug : 1 ;
 5122   unsigned char no_read_disc_info : 1 ;
 5123   unsigned char no_read_capacity_16 : 1 ;
 5124   unsigned char is_visible : 1 ;
 5125   unsigned long supported_events[1U] ;
 5126   struct list_head event_list ;
 5127   struct work_struct event_work ;
 5128   unsigned int device_blocked ;
 5129   unsigned int max_device_blocked ;
 5130   atomic_t iorequest_cnt ;
 5131   atomic_t iodone_cnt ;
 5132   atomic_t ioerr_cnt ;
 5133   struct device sdev_gendev ;
 5134   struct device sdev_dev ;
 5135   struct execute_work ew ;
 5136   struct work_struct requeue_work ;
 5137   struct scsi_dh_data *scsi_dh_data ;
 5138   enum scsi_device_state sdev_state ;
 5139   unsigned long sdev_data[0U] ;
 5140};
 5141#line 178 "include/scsi/scsi_device.h"
 5142struct scsi_dh_devlist {
 5143   char *vendor ;
 5144   char *model ;
 5145};
 5146#line 185 "include/scsi/scsi_device.h"
 5147struct scsi_device_handler {
 5148   struct list_head list ;
 5149   int idx ;
 5150   struct module *module ;
 5151   char const   *name ;
 5152   struct scsi_dh_devlist  const  *devlist ;
 5153   int (*check_sense)(struct scsi_device * , struct scsi_sense_hdr * ) ;
 5154   int (*attach)(struct scsi_device * ) ;
 5155   void (*detach)(struct scsi_device * ) ;
 5156   int (*activate)(struct scsi_device * , void (*)(void * , int  ) , void * ) ;
 5157   int (*prep_fn)(struct scsi_device * , struct request * ) ;
 5158   int (*set_params)(struct scsi_device * , char const   * ) ;
 5159};
 5160#line 201 "include/scsi/scsi_device.h"
 5161struct scsi_dh_data {
 5162   struct scsi_device_handler *scsi_dh ;
 5163   struct scsi_device *sdev ;
 5164   struct kref kref ;
 5165   char buf[0U] ;
 5166};
 5167#line 208
 5168enum scsi_target_state {
 5169    STARGET_CREATED = 1,
 5170    STARGET_RUNNING = 2,
 5171    STARGET_DEL = 3
 5172} ;
 5173#line 214 "include/scsi/scsi_device.h"
 5174struct scsi_target {
 5175   struct scsi_device *starget_sdev_user ;
 5176   struct list_head siblings ;
 5177   struct list_head devices ;
 5178   struct device dev ;
 5179   unsigned int reap_ref ;
 5180   unsigned int channel ;
 5181   unsigned int id ;
 5182   unsigned char create : 1 ;
 5183   unsigned char single_lun : 1 ;
 5184   unsigned int pdt_1f_for_no_lun ;
 5185   unsigned int target_busy ;
 5186   unsigned int can_queue ;
 5187   unsigned int target_blocked ;
 5188   unsigned int max_target_blocked ;
 5189   char scsi_level ;
 5190   struct execute_work ew ;
 5191   enum scsi_target_state state ;
 5192   void *hostdata ;
 5193   unsigned long starget_data[0U] ;
 5194};
 5195#line 473 "include/scsi/scsi_device.h"
 5196struct scsi_sense_hdr {
 5197   u8 response_code ;
 5198   u8 sense_key ;
 5199   u8 asc ;
 5200   u8 ascq ;
 5201   u8 byte4 ;
 5202   u8 byte5 ;
 5203   u8 byte6 ;
 5204   u8 additional_length ;
 5205};
 5206#line 93 "include/scsi/scsi_eh.h"
 5207struct scsi_host_cmd_pool;
 5208#line 93
 5209struct scsi_host_cmd_pool;
 5210#line 93
 5211struct scsi_host_cmd_pool;
 5212#line 93
 5213struct scsi_host_cmd_pool;
 5214#line 94
 5215struct scsi_transport_template;
 5216#line 94
 5217struct scsi_transport_template;
 5218#line 94
 5219struct scsi_transport_template;
 5220#line 94
 5221struct scsi_transport_template;
 5222#line 102 "include/scsi/scsi_eh.h"
 5223struct scsi_host_template {
 5224   struct module *module ;
 5225   char const   *name ;
 5226   int (*detect)(struct scsi_host_template * ) ;
 5227   int (*release)(struct Scsi_Host * ) ;
 5228   char const   *(*info)(struct Scsi_Host * ) ;
 5229   int (*ioctl)(struct scsi_device * , int  , void * ) ;
 5230   int (*compat_ioctl)(struct scsi_device * , int  , void * ) ;
 5231   int (*queuecommand)(struct Scsi_Host * , struct scsi_cmnd * ) ;
 5232   int (*transfer_response)(struct scsi_cmnd * , void (*)(struct scsi_cmnd * ) ) ;
 5233   int (*eh_abort_handler)(struct scsi_cmnd * ) ;
 5234   int (*eh_device_reset_handler)(struct scsi_cmnd * ) ;
 5235   int (*eh_target_reset_handler)(struct scsi_cmnd * ) ;
 5236   int (*eh_bus_reset_handler)(struct scsi_cmnd * ) ;
 5237   int (*eh_host_reset_handler)(struct scsi_cmnd * ) ;
 5238   int (*slave_alloc)(struct scsi_device * ) ;
 5239   int (*slave_configure)(struct scsi_device * ) ;
 5240   void (*slave_destroy)(struct scsi_device * ) ;
 5241   int (*target_alloc)(struct scsi_target * ) ;
 5242   void (*target_destroy)(struct scsi_target * ) ;
 5243   int (*scan_finished)(struct Scsi_Host * , unsigned long  ) ;
 5244   void (*scan_start)(struct Scsi_Host * ) ;
 5245   int (*change_queue_depth)(struct scsi_device * , int  , int  ) ;
 5246   int (*change_queue_type)(struct scsi_device * , int  ) ;
 5247   int (*bios_param)(struct scsi_device * , struct block_device * , sector_t  , int * ) ;
 5248   void (*unlock_native_capacity)(struct scsi_device * ) ;
 5249   int (*proc_info)(struct Scsi_Host * , char * , char ** , off_t  , int  , int  ) ;
 5250   enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd * ) ;
 5251   char const   *proc_name ;
 5252   struct proc_dir_entry *proc_dir ;
 5253   int can_queue ;
 5254   int this_id ;
 5255   unsigned short sg_tablesize ;
 5256   unsigned short sg_prot_tablesize ;
 5257   unsigned short max_sectors ;
 5258   unsigned long dma_boundary ;
 5259   short cmd_per_lun ;
 5260   unsigned char present ;
 5261   unsigned char supported_mode : 2 ;
 5262   unsigned char unchecked_isa_dma : 1 ;
 5263   unsigned char use_clustering : 1 ;
 5264   unsigned char emulated : 1 ;
 5265   unsigned char skip_settle_delay : 1 ;
 5266   unsigned char ordered_tag : 1 ;
 5267   unsigned int max_host_blocked ;
 5268   struct device_attribute **shost_attrs ;
 5269   struct device_attribute **sdev_attrs ;
 5270   struct list_head legacy_hosts ;
 5271   u64 vendor_id ;
 5272};
 5273#line 505 "include/scsi/scsi_host.h"
 5274enum scsi_host_state {
 5275    SHOST_CREATED = 1,
 5276    SHOST_RUNNING = 2,
 5277    SHOST_CANCEL = 3,
 5278    SHOST_DEL = 4,
 5279    SHOST_RECOVERY = 5,
 5280    SHOST_CANCEL_RECOVERY = 6,
 5281    SHOST_DEL_RECOVERY = 7
 5282} ;
 5283#line 515 "include/scsi/scsi_host.h"
 5284struct Scsi_Host {
 5285   struct list_head __devices ;
 5286   struct list_head __targets ;
 5287   struct scsi_host_cmd_pool *cmd_pool ;
 5288   spinlock_t free_list_lock ;
 5289   struct list_head free_list ;
 5290   struct list_head starved_list ;
 5291   spinlock_t default_lock ;
 5292   spinlock_t *host_lock ;
 5293   struct mutex scan_mutex ;
 5294   struct list_head eh_cmd_q ;
 5295   struct task_struct *ehandler ;
 5296   struct completion *eh_action ;
 5297   wait_queue_head_t host_wait ;
 5298   struct scsi_host_template *hostt ;
 5299   struct scsi_transport_template *transportt ;
 5300   struct blk_queue_tag *bqt ;
 5301   unsigned int host_busy ;
 5302   unsigned int host_failed ;
 5303   unsigned int host_eh_scheduled ;
 5304   unsigned int host_no ;
 5305   int resetting ;
 5306   unsigned long last_reset ;
 5307   unsigned int max_id ;
 5308   unsigned int max_lun ;
 5309   unsigned int max_channel ;
 5310   unsigned int unique_id ;
 5311   unsigned short max_cmd_len ;
 5312   int this_id ;
 5313   int can_queue ;
 5314   short cmd_per_lun ;
 5315   unsigned short sg_tablesize ;
 5316   unsigned short sg_prot_tablesize ;
 5317   unsigned short max_sectors ;
 5318   unsigned long dma_boundary ;
 5319   unsigned long cmd_serial_number ;
 5320   unsigned char active_mode : 2 ;
 5321   unsigned char unchecked_isa_dma : 1 ;
 5322   unsigned char use_clustering : 1 ;
 5323   unsigned char use_blk_tcq : 1 ;
 5324   unsigned char host_self_blocked : 1 ;
 5325   unsigned char reverse_ordering : 1 ;
 5326   unsigned char ordered_tag : 1 ;
 5327   unsigned char tmf_in_progress : 1 ;
 5328   unsigned char async_scan : 1 ;
 5329   char work_q_name[20U] ;
 5330   struct workqueue_struct *work_q ;
 5331   unsigned int host_blocked ;
 5332   unsigned int max_host_blocked ;
 5333   unsigned int prot_capabilities ;
 5334   unsigned char prot_guard_type ;
 5335   struct request_queue *uspace_req_q ;
 5336   unsigned long base ;
 5337   unsigned long io_port ;
 5338   unsigned char n_io_port ;
 5339   unsigned char dma_channel ;
 5340   unsigned int irq ;
 5341   enum scsi_host_state shost_state ;
 5342   struct device shost_gendev ;
 5343   struct device shost_dev ;
 5344   struct list_head sht_legacy_list ;
 5345   void *shost_data ;
 5346   struct device *dma_dev ;
 5347   unsigned long hostdata[0U] ;
 5348};
 5349#line 2 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/scsi_typedefs.h"
 5350typedef struct scsi_cmnd Scsi_Cmnd;
 5351#line 3 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/scsi_typedefs.h"
 5352struct mbox_out {
 5353   u8 cmd ;
 5354   u8 cmdid ;
 5355   u16 numsectors ;
 5356   u32 lba ;
 5357   u32 xferaddr ;
 5358   u8 logdrv ;
 5359   u8 numsgelements ;
 5360   u8 resvd ;
 5361};
 5362#line 133 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5363struct mbox_in {
 5364   u8 volatile   busy ;
 5365   u8 volatile   numstatus ;
 5366   u8 volatile   status ;
 5367   u8 volatile   completed[46U] ;
 5368   u8 volatile   poll ;
 5369   u8 volatile   ack ;
 5370};
 5371#line 146 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5372struct __anonstruct_mbox_t_169 {
 5373   struct mbox_out m_out ;
 5374   struct mbox_in m_in ;
 5375};
 5376#line 146 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5377typedef struct __anonstruct_mbox_t_169 mbox_t;
 5378#line 152 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5379struct __anonstruct_mbox64_t_170 {
 5380   u32 xfer_segment_lo ;
 5381   u32 xfer_segment_hi ;
 5382   mbox_t mbox ;
 5383};
 5384#line 152 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5385typedef struct __anonstruct_mbox64_t_170 mbox64_t;
 5386#line 178 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5387struct __anonstruct_mega_passthru_171 {
 5388   unsigned char timeout : 3 ;
 5389   unsigned char ars : 1 ;
 5390   unsigned char reserved : 3 ;
 5391   unsigned char islogical : 1 ;
 5392   u8 logdrv ;
 5393   u8 channel ;
 5394   u8 target ;
 5395   u8 queuetag ;
 5396   u8 queueaction ;
 5397   u8 cdb[10U] ;
 5398   u8 cdblen ;
 5399   u8 reqsenselen ;
 5400   u8 reqsensearea[32U] ;
 5401   u8 numsgelements ;
 5402   u8 scsistatus ;
 5403   u32 dataxferaddr ;
 5404   u32 dataxferlen ;
 5405};
 5406#line 178 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5407typedef struct __anonstruct_mega_passthru_171 mega_passthru;
 5408#line 206 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5409struct __anonstruct_mega_ext_passthru_172 {
 5410   unsigned char timeout : 3 ;
 5411   unsigned char ars : 1 ;
 5412   unsigned char rsvd1 : 1 ;
 5413   unsigned char cd_rom : 1 ;
 5414   unsigned char rsvd2 : 1 ;
 5415   unsigned char islogical : 1 ;
 5416   u8 logdrv ;
 5417   u8 channel ;
 5418   u8 target ;
 5419   u8 queuetag ;
 5420   u8 queueaction ;
 5421   u8 cdblen ;
 5422   u8 rsvd3 ;
 5423   u8 cdb[16U] ;
 5424   u8 numsgelements ;
 5425   u8 status ;
 5426   u8 reqsenselen ;
 5427   u8 reqsensearea[32U] ;
 5428   u8 rsvd4 ;
 5429   u32 dataxferaddr ;
 5430   u32 dataxferlen ;
 5431};
 5432#line 206 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5433typedef struct __anonstruct_mega_ext_passthru_172 mega_ext_passthru;
 5434#line 211 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5435struct __anonstruct_mega_sgl64_173 {
 5436   u64 address ;
 5437   u32 length ;
 5438};
 5439#line 211 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5440typedef struct __anonstruct_mega_sgl64_173 mega_sgl64;
 5441#line 216 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5442struct __anonstruct_mega_sglist_174 {
 5443   u32 address ;
 5444   u32 length ;
 5445};
 5446#line 216 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5447typedef struct __anonstruct_mega_sglist_174 mega_sglist;
 5448#line 240 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5449struct __anonstruct_scb_t_175 {
 5450   int idx ;
 5451   u32 state ;
 5452   struct list_head list ;
 5453   u8 raw_mbox[66U] ;
 5454   u32 dma_type ;
 5455   u32 dma_direction ;
 5456   Scsi_Cmnd *cmd ;
 5457   dma_addr_t dma_h_bulkdata ;
 5458   dma_addr_t dma_h_sgdata ;
 5459   mega_sglist *sgl ;
 5460   mega_sgl64 *sgl64 ;
 5461   dma_addr_t sgl_dma_addr ;
 5462   mega_passthru *pthru ;
 5463   dma_addr_t pthru_dma_addr ;
 5464   mega_ext_passthru *epthru ;
 5465   dma_addr_t epthru_dma_addr ;
 5466};
 5467#line 240 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5468typedef struct __anonstruct_scb_t_175 scb_t;
 5469#line 281 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5470struct __anonstruct_mega_product_info_176 {
 5471   u32 data_size ;
 5472   u32 config_signature ;
 5473   u8 fw_version[16U] ;
 5474   u8 bios_version[16U] ;
 5475   u8 product_name[80U] ;
 5476   u8 max_commands ;
 5477   u8 nchannels ;
 5478   u8 fc_loop_present ;
 5479   u8 mem_type ;
 5480   u32 signature ;
 5481   u16 dram_size ;
 5482   u16 subsysid ;
 5483   u16 subsysvid ;
 5484   u8 notify_counters ;
 5485   u8 pad1k[889U] ;
 5486};
 5487#line 281 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5488typedef struct __anonstruct_mega_product_info_176 mega_product_info;
 5489#line 282 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5490struct notify {
 5491   u32 global_counter ;
 5492   u8 param_counter ;
 5493   u8 param_id ;
 5494   u16 param_val ;
 5495   u8 write_config_counter ;
 5496   u8 write_config_rsvd[3U] ;
 5497   u8 ldrv_op_counter ;
 5498   u8 ldrv_opid ;
 5499   u8 ldrv_opcmd ;
 5500   u8 ldrv_opstatus ;
 5501   u8 ldrv_state_counter ;
 5502   u8 ldrv_state_id ;
 5503   u8 ldrv_state_new ;
 5504   u8 ldrv_state_old ;
 5505   u8 pdrv_state_counter ;
 5506   u8 pdrv_state_id ;
 5507   u8 pdrv_state_new ;
 5508   u8 pdrv_state_old ;
 5509   u8 pdrv_fmt_counter ;
 5510   u8 pdrv_fmt_id ;
 5511   u8 pdrv_fmt_val ;
 5512   u8 pdrv_fmt_rsvd ;
 5513   u8 targ_xfer_counter ;
 5514   u8 targ_xfer_id ;
 5515   u8 targ_xfer_val ;
 5516   u8 targ_xfer_rsvd ;
 5517   u8 fcloop_id_chg_counter ;
 5518   u8 fcloopid_pdrvid ;
 5519   u8 fcloop_id0 ;
 5520   u8 fcloop_id1 ;
 5521   u8 fcloop_state_counter ;
 5522   u8 fcloop_state0 ;
 5523   u8 fcloop_state1 ;
 5524   u8 fcloop_state_rsvd ;
 5525};
 5526#line 359 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5527struct __anonstruct_mega_inquiry3_177 {
 5528   u32 data_size ;
 5529   struct notify notify ;
 5530   u8 notify_rsvd[88U] ;
 5531   u8 rebuild_rate ;
 5532   u8 cache_flush_interval ;
 5533   u8 sense_alert ;
 5534   u8 drive_insert_count ;
 5535   u8 battery_status ;
 5536   u8 num_ldrv ;
 5537   u8 recon_state[5U] ;
 5538   u16 ldrv_op_status[5U] ;
 5539   u32 ldrv_size[40U] ;
 5540   u8 ldrv_prop[40U] ;
 5541   u8 ldrv_state[40U] ;
 5542   u8 pdrv_state[256U] ;
 5543   u16 pdrv_format[16U] ;
 5544   u8 targ_xfer[80U] ;
 5545   u8 pad1k[263U] ;
 5546};
 5547#line 359 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5548typedef struct __anonstruct_mega_inquiry3_177 mega_inquiry3;
 5549#line 395 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5550struct __anonstruct_mega_adp_info_178 {
 5551   u8 max_commands ;
 5552   u8 rebuild_rate ;
 5553   u8 max_targ_per_chan ;
 5554   u8 nchannels ;
 5555   u8 fw_version[4U] ;
 5556   u16 age_of_flash ;
 5557   u8 chip_set_value ;
 5558   u8 dram_size ;
 5559   u8 cache_flush_interval ;
 5560   u8 bios_version[4U] ;
 5561   u8 board_type ;
 5562   u8 sense_alert ;
 5563   u8 write_config_count ;
 5564   u8 drive_inserted_count ;
 5565   u8 inserted_drive ;
 5566   u8 battery_status ;
 5567   u8 dec_fault_bus_info ;
 5568};
 5569#line 395 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5570typedef struct __anonstruct_mega_adp_info_178 mega_adp_info;
 5571#line 404 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5572struct __anonstruct_mega_ldrv_info_179 {
 5573   u8 num_ldrv ;
 5574   u8 rsvd[3U] ;
 5575   u32 ldrv_size[8U] ;
 5576   u8 ldrv_prop[8U] ;
 5577   u8 ldrv_state[8U] ;
 5578};
 5579#line 404 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5580typedef struct __anonstruct_mega_ldrv_info_179 mega_ldrv_info;
 5581#line 409 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5582struct __anonstruct_mega_pdrv_info_180 {
 5583   u8 pdrv_state[75U] ;
 5584   u8 rsvd ;
 5585};
 5586#line 409 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5587typedef struct __anonstruct_mega_pdrv_info_180 mega_pdrv_info;
 5588#line 416 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5589struct __anonstruct_mraid_inquiry_181 {
 5590   mega_adp_info adapter_info ;
 5591   mega_ldrv_info logdrv_info ;
 5592   mega_pdrv_info pdrv_info ;
 5593};
 5594#line 416 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5595typedef struct __anonstruct_mraid_inquiry_181 mraid_inquiry;
 5596#line 426 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5597struct __anonstruct_mraid_ext_inquiry_182 {
 5598   mraid_inquiry raid_inq ;
 5599   u16 phys_drv_format[5U] ;
 5600   u8 stack_attn ;
 5601   u8 modem_status ;
 5602   u8 rsvd[2U] ;
 5603};
 5604#line 426 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5605typedef struct __anonstruct_mraid_ext_inquiry_182 mraid_ext_inquiry;
 5606#line 432 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5607struct __anonstruct_adp_device_183 {
 5608   u8 channel ;
 5609   u8 target ;
 5610};
 5611#line 432 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5612typedef struct __anonstruct_adp_device_183 adp_device;
 5613#line 438 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5614struct __anonstruct_adp_span_40ld_184 {
 5615   u32 start_blk ;
 5616   u32 num_blks ;
 5617   adp_device device[32U] ;
 5618};
 5619#line 438 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5620typedef struct __anonstruct_adp_span_40ld_184 adp_span_40ld;
 5621#line 444 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5622struct __anonstruct_adp_span_8ld_185 {
 5623   u32 start_blk ;
 5624   u32 num_blks ;
 5625   adp_device device[8U] ;
 5626};
 5627#line 444 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5628typedef struct __anonstruct_adp_span_8ld_185 adp_span_8ld;
 5629#line 456 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5630struct __anonstruct_logdrv_param_186 {
 5631   u8 span_depth ;
 5632   u8 level ;
 5633   u8 read_ahead ;
 5634   u8 stripe_sz ;
 5635   u8 status ;
 5636   u8 write_mode ;
 5637   u8 direct_io ;
 5638   u8 row_size ;
 5639};
 5640#line 456 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5641typedef struct __anonstruct_logdrv_param_186 logdrv_param;
 5642#line 461 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5643struct __anonstruct_logdrv_40ld_187 {
 5644   logdrv_param lparam ;
 5645   adp_span_40ld span[8U] ;
 5646};
 5647#line 461 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5648typedef struct __anonstruct_logdrv_40ld_187 logdrv_40ld;
 5649#line 466 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5650struct __anonstruct_logdrv_8ld_188 {
 5651   logdrv_param lparam ;
 5652   adp_span_8ld span[8U] ;
 5653};
 5654#line 466 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5655typedef struct __anonstruct_logdrv_8ld_188 logdrv_8ld;
 5656#line 475 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5657struct __anonstruct_phys_drv_189 {
 5658   u8 type ;
 5659   u8 cur_status ;
 5660   u8 tag_depth ;
 5661   u8 sync_neg ;
 5662   u32 size ;
 5663};
 5664#line 475 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5665typedef struct __anonstruct_phys_drv_189 phys_drv;
 5666#line 482 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5667struct __anonstruct_disk_array_40ld_190 {
 5668   u8 nlog_drives ;
 5669   u8 resvd[3U] ;
 5670   logdrv_40ld ldrv[40U] ;
 5671   phys_drv pdrv[75U] ;
 5672};
 5673#line 482 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5674typedef struct __anonstruct_disk_array_40ld_190 disk_array_40ld;
 5675#line 489 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5676struct __anonstruct_disk_array_8ld_191 {
 5677   u8 nlog_drives ;
 5678   u8 resvd[3U] ;
 5679   logdrv_8ld ldrv[8U] ;
 5680   phys_drv pdrv[75U] ;
 5681};
 5682#line 489 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5683typedef struct __anonstruct_disk_array_8ld_191 disk_array_8ld;
 5684#line 490 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5685struct __anonstruct_fcs_193 {
 5686   u8 opcode ;
 5687   u8 subopcode ;
 5688   u16 adapno ;
 5689   u8 *buffer ;
 5690   u32 length ;
 5691};
 5692#line 490 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5693union __anonunion_ui_192 {
 5694   u8 fca[16U] ;
 5695   struct __anonstruct_fcs_193 fcs ;
 5696};
 5697#line 490 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5698struct uioctl_t {
 5699   u32 inlen ;
 5700   u32 outlen ;
 5701   union __anonunion_ui_192 ui ;
 5702   u8 mbox[18U] ;
 5703   mega_passthru pthru ;
 5704   char *data ;
 5705};
 5706#line 531 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5707struct mcontroller {
 5708   u64 base ;
 5709   u8 irq ;
 5710   u8 numldrv ;
 5711   u8 pcibus ;
 5712   u16 pcidev ;
 5713   u8 pcifun ;
 5714   u16 pciid ;
 5715   u16 pcivendor ;
 5716   u8 pcislot ;
 5717   u32 uid ;
 5718};
 5719#line 569 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5720struct __anonstruct_megacmd_t_194 {
 5721   u8 cmd ;
 5722   u8 cmdid ;
 5723   u8 opcode ;
 5724   u8 subopcode ;
 5725   u32 lba ;
 5726   u32 xferaddr ;
 5727   u8 logdrv ;
 5728   u8 rsvd[3U] ;
 5729   u8 numstatus ;
 5730   u8 status ;
 5731};
 5732#line 569 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5733typedef struct __anonstruct_megacmd_t_194 megacmd_t;
 5734#line 636 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5735union __anonunion___ua_196 {
 5736   u8 __raw_mbox[18U] ;
 5737   void *__uaddr ;
 5738};
 5739#line 636 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5740struct __anonstruct_nitioctl_t_195 {
 5741   char signature[8U] ;
 5742   u32 opcode ;
 5743   u32 adapno ;
 5744   union __anonunion___ua_196 __ua ;
 5745   u32 xferlen ;
 5746   u32 flags ;
 5747};
 5748#line 636 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5749typedef struct __anonstruct_nitioctl_t_195 nitioctl_t;
 5750#line 663 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5751struct __anonstruct_megastat_t_197 {
 5752   int num_ldrv ;
 5753   u32 nreads[40U] ;
 5754   u32 nreadblocks[40U] ;
 5755   u32 nwrites[40U] ;
 5756   u32 nwriteblocks[40U] ;
 5757   u32 rd_errors[40U] ;
 5758   u32 wr_errors[40U] ;
 5759};
 5760#line 663 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5761typedef struct __anonstruct_megastat_t_197 megastat_t;
 5762#line 662 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5763struct private_bios_data {
 5764   unsigned char geometry : 4 ;
 5765   unsigned char unused : 4 ;
 5766   u8 boot_drv ;
 5767   u8 rsvd[12U] ;
 5768   u16 cksum ;
 5769};
 5770#line 899 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5771struct __anonstruct_adapter_t_198 {
 5772   int this_id ;
 5773   u32 flag ;
 5774   unsigned long base ;
 5775   void *mmio_base ;
 5776   mbox64_t *una_mbox64 ;
 5777   dma_addr_t una_mbox64_dma ;
 5778   mbox64_t volatile   *mbox64 ;
 5779   mbox_t volatile   *mbox ;
 5780   dma_addr_t mbox_dma ;
 5781   struct pci_dev *dev ;
 5782   struct list_head free_list ;
 5783   struct list_head pending_list ;
 5784   struct list_head completed_list ;
 5785   struct Scsi_Host *host ;
 5786   u8 *mega_buffer ;
 5787   dma_addr_t buf_dma_handle ;
 5788   mega_product_info product_info ;
 5789   u8 max_cmds ;
 5790   scb_t *scb_list ;
 5791   atomic_t pend_cmds ;
 5792   u8 numldrv ;
 5793   u8 fw_version[7U] ;
 5794   u8 bios_version[7U] ;
 5795   struct proc_dir_entry *controller_proc_dir_entry ;
 5796   struct proc_dir_entry *proc_read ;
 5797   struct proc_dir_entry *proc_stat ;
 5798   struct proc_dir_entry *proc_mbox ;
 5799   struct proc_dir_entry *proc_rr ;
 5800   struct proc_dir_entry *proc_battery ;
 5801   struct proc_dir_entry *proc_pdrvstat[4U] ;
 5802   struct proc_dir_entry *proc_rdrvstat[4U] ;
 5803   int has_64bit_addr ;
 5804   int support_ext_cdb ;
 5805   int boot_ldrv_enabled ;
 5806   int boot_ldrv ;
 5807   int boot_pdrv_enabled ;
 5808   int boot_pdrv_ch ;
 5809   int boot_pdrv_tgt ;
 5810   int support_random_del ;
 5811   int read_ldidmap ;
 5812   atomic_t quiescent ;
 5813   spinlock_t lock ;
 5814   u8 logdrv_chan[9U] ;
 5815   int mega_ch_class ;
 5816   u8 sglen ;
 5817   unsigned char int_cdb[16U] ;
 5818   scb_t int_scb ;
 5819   struct mutex int_mtx ;
 5820   struct completion int_waitq ;
 5821   int has_cluster ;
 5822};
 5823#line 899 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5824typedef struct __anonstruct_adapter_t_198 adapter_t;
 5825#line 900 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 5826struct mega_hbas {
 5827   int is_bios_enabled ;
 5828   adapter_t *hostdata_addr ;
 5829};
 5830#line 1 "<compiler builtins>"
 5831void *__builtin_memcpy(void * , void const   * , unsigned long  ) ;
 5832#line 1
 5833unsigned long __builtin_object_size(void * , int  ) ;
 5834#line 1
 5835long __builtin_expect(long  , long  ) ;
 5836#line 24 "include/linux/list.h"
 5837__inline static void INIT_LIST_HEAD(struct list_head *list ) 
 5838{ 
 5839
 5840  {
 5841#line 26
 5842  list->next = list;
 5843#line 27
 5844  list->prev = list;
 5845#line 28
 5846  return;
 5847}
 5848}
 5849#line 47
 5850extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
 5851#line 60 "include/linux/list.h"
 5852__inline static void list_add(struct list_head *new , struct list_head *head ) 
 5853{ struct list_head *__cil_tmp3 ;
 5854
 5855  {
 5856  {
 5857#line 62
 5858  __cil_tmp3 = head->next;
 5859#line 62
 5860  __list_add(new, head, __cil_tmp3);
 5861  }
 5862#line 63
 5863  return;
 5864}
 5865}
 5866#line 74 "include/linux/list.h"
 5867__inline static void list_add_tail(struct list_head *new , struct list_head *head ) 
 5868{ struct list_head *__cil_tmp3 ;
 5869
 5870  {
 5871  {
 5872#line 76
 5873  __cil_tmp3 = head->prev;
 5874#line 76
 5875  __list_add(new, __cil_tmp3, head);
 5876  }
 5877#line 77
 5878  return;
 5879}
 5880}
 5881#line 111
 5882extern void __list_del_entry(struct list_head * ) ;
 5883#line 142 "include/linux/list.h"
 5884__inline static void list_del_init(struct list_head *entry ) 
 5885{ 
 5886
 5887  {
 5888  {
 5889#line 144
 5890  __list_del_entry(entry);
 5891#line 145
 5892  INIT_LIST_HEAD(entry);
 5893  }
 5894#line 146
 5895  return;
 5896}
 5897}
 5898#line 186 "include/linux/list.h"
 5899__inline static int list_empty(struct list_head  const  *head ) 
 5900{ unsigned long __cil_tmp2 ;
 5901  struct list_head *__cil_tmp3 ;
 5902  struct list_head  const  *__cil_tmp4 ;
 5903  unsigned long __cil_tmp5 ;
 5904
 5905  {
 5906  {
 5907#line 188
 5908  __cil_tmp2 = (unsigned long )head;
 5909#line 188
 5910  __cil_tmp3 = head->next;
 5911#line 188
 5912  __cil_tmp4 = (struct list_head  const  *)__cil_tmp3;
 5913#line 188
 5914  __cil_tmp5 = (unsigned long )__cil_tmp4;
 5915#line 188
 5916  return (__cil_tmp5 == __cil_tmp2);
 5917  }
 5918}
 5919}
 5920#line 101 "include/linux/printk.h"
 5921extern int printk(char const   *  , ...) ;
 5922#line 64 "include/asm-generic/bug.h"
 5923extern void warn_slowpath_fmt(char const   * , int  , char const   *  , ...) ;
 5924#line 69
 5925extern void warn_slowpath_null(char const   * , int  ) ;
 5926#line 125 "include/linux/kernel.h"
 5927extern void __might_sleep(char const   * , int  , int  ) ;
 5928#line 170
 5929extern void might_fault(void) ;
 5930#line 291
 5931extern int sprintf(char * , char const   *  , ...) ;
 5932#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"
 5933extern unsigned long __phys_addr(unsigned long  ) ;
 5934#line 88 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/percpu.h"
 5935extern void __bad_percpu_size(void) ;
 5936#line 348 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 5937extern struct pv_cpu_ops pv_cpu_ops ;
 5938#line 349
 5939extern struct pv_irq_ops pv_irq_ops ;
 5940#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
 5941extern void *__memcpy(void * , void const   * , size_t  ) ;
 5942#line 55
 5943extern void *memset(void * , int  , size_t  ) ;
 5944#line 60
 5945extern int memcmp(void const   * , void const   * , size_t  ) ;
 5946#line 63
 5947extern char *strcat(char * , char const   * ) ;
 5948#line 64
 5949extern int strcmp(char const   * , char const   * ) ;
 5950#line 339 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
 5951__inline static void slow_down_io(void) 
 5952{ 
 5953
 5954  {
 5955  {
 5956#line 341
 5957  (*(pv_cpu_ops.io_delay))();
 5958  }
 5959#line 342
 5960  return;
 5961}
 5962}
 5963#line 851 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
 5964__inline static unsigned long arch_local_save_flags(void) 
 5965{ unsigned long __ret ;
 5966  unsigned long __edi ;
 5967  unsigned long __esi ;
 5968  unsigned long __edx ;
 5969  unsigned long __ecx ;
 5970  unsigned long __eax ;
 5971  long tmp ;
 5972  void *__cil_tmp8 ;
 5973  unsigned long __cil_tmp9 ;
 5974  unsigned long __cil_tmp10 ;
 5975  int __cil_tmp11 ;
 5976  long __cil_tmp12 ;
 5977
 5978  {
 5979  {
 5980#line 853
 5981  __edi = __edi;
 5982#line 853
 5983  __esi = __esi;
 5984#line 853
 5985  __edx = __edx;
 5986#line 853
 5987  __ecx = __ecx;
 5988#line 853
 5989  __eax = __eax;
 5990#line 853
 5991  __cil_tmp8 = (void *)0;
 5992#line 853
 5993  __cil_tmp9 = (unsigned long )__cil_tmp8;
 5994#line 853
 5995  __cil_tmp10 = (unsigned long )pv_irq_ops.save_fl.func;
 5996#line 853
 5997  __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
 5998#line 853
 5999  __cil_tmp12 = (long )__cil_tmp11;
 6000#line 853
 6001  tmp = __builtin_expect(__cil_tmp12, 0L);
 6002  }
 6003#line 853
 6004  if (tmp != 0L) {
 6005#line 853
 6006    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
 6007                         "i" (853), "i" (12UL));
 6008    ldv_4705: ;
 6009#line 853
 6010    goto ldv_4705;
 6011  } else {
 6012
 6013  }
 6014#line 853
 6015  __asm__  volatile   ("771:\n\tcall *%c2;\n772:\n.pushsection .parainstructions,\"a\"\n .balign 8 \n .quad  771b\n  .byte %c1\n  .byte 772b-771b\n  .short %c3\n.popsection\n": "=a" (__eax): [paravirt_typenum] "i" (46UL),
 6016                       [paravirt_opptr] "i" (& pv_irq_ops.save_fl.func), [paravirt_clobber] "i" (1): "memory",
 6017                       "cc");
 6018#line 853
 6019  __ret = __eax;
 6020#line 853
 6021  return (__ret);
 6022}
 6023}
 6024#line 154 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/irqflags.h"
 6025__inline static int arch_irqs_disabled_flags(unsigned long flags ) 
 6026{ unsigned long __cil_tmp2 ;
 6027
 6028  {
 6029  {
 6030#line 156
 6031  __cil_tmp2 = flags & 512UL;
 6032#line 156
 6033  return (__cil_tmp2 == 0UL);
 6034  }
 6035}
 6036}
 6037#line 702 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 6038__inline static void rep_nop(void) 
 6039{ 
 6040
 6041  {
 6042#line 704
 6043  __asm__  volatile   ("rep; nop": : : "memory");
 6044#line 705
 6045  return;
 6046}
 6047}
 6048#line 707 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 6049__inline static void cpu_relax(void) 
 6050{ 
 6051
 6052  {
 6053  {
 6054#line 709
 6055  rep_nop();
 6056  }
 6057#line 710
 6058  return;
 6059}
 6060}
 6061#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 6062__inline static int atomic_read(atomic_t const   *v ) 
 6063{ int const   *__cil_tmp2 ;
 6064  int volatile   *__cil_tmp3 ;
 6065  int volatile   __cil_tmp4 ;
 6066
 6067  {
 6068  {
 6069#line 25
 6070  __cil_tmp2 = & v->counter;
 6071#line 25
 6072  __cil_tmp3 = (int volatile   *)__cil_tmp2;
 6073#line 25
 6074  __cil_tmp4 = *__cil_tmp3;
 6075#line 25
 6076  return ((int )__cil_tmp4);
 6077  }
 6078}
 6079}
 6080#line 35 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 6081__inline static void atomic_set(atomic_t *v , int i ) 
 6082{ 
 6083
 6084  {
 6085#line 37
 6086  v->counter = i;
 6087#line 38
 6088  return;
 6089}
 6090}
 6091#line 61 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 6092__inline static void atomic_sub(int i , atomic_t *v ) 
 6093{ 
 6094
 6095  {
 6096#line 63
 6097  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; subl %1,%0": "+m" (v->counter): "ir" (i));
 6098#line 65
 6099  return;
 6100}
 6101}
 6102#line 93 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 6103__inline static void atomic_inc(atomic_t *v ) 
 6104{ 
 6105
 6106  {
 6107#line 95
 6108  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; incl %0": "+m" (v->counter));
 6109#line 97
 6110  return;
 6111}
 6112}
 6113#line 217 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 6114extern unsigned long kernel_stack ;
 6115#line 219 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 6116__inline static struct thread_info *current_thread_info(void) 
 6117{ struct thread_info *ti ;
 6118  unsigned long pfo_ret__ ;
 6119  unsigned long __cil_tmp3 ;
 6120
 6121  {
 6122#line 222
 6123  if (1) {
 6124#line 222
 6125    goto case_8;
 6126  } else {
 6127#line 222
 6128    goto switch_default;
 6129#line 222
 6130    if (0) {
 6131#line 222
 6132      __asm__  ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& kernel_stack));
 6133#line 222
 6134      goto ldv_5782;
 6135#line 222
 6136      __asm__  ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 6137#line 222
 6138      goto ldv_5782;
 6139#line 222
 6140      __asm__  ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 6141#line 222
 6142      goto ldv_5782;
 6143      case_8: 
 6144#line 222
 6145      __asm__  ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
 6146#line 222
 6147      goto ldv_5782;
 6148      switch_default: 
 6149      {
 6150#line 222
 6151      __bad_percpu_size();
 6152      }
 6153    } else {
 6154
 6155    }
 6156  }
 6157  ldv_5782: 
 6158#line 222
 6159  __cil_tmp3 = pfo_ret__ - 8152UL;
 6160#line 222
 6161  ti = (struct thread_info *)__cil_tmp3;
 6162#line 224
 6163  return (ti);
 6164}
 6165}
 6166#line 93 "include/linux/spinlock.h"
 6167extern void __raw_spin_lock_init(raw_spinlock_t * , char const   * , struct lock_class_key * ) ;
 6168#line 29 "include/linux/spinlock_api_smp.h"
 6169extern void _raw_spin_lock_irq(raw_spinlock_t * ) ;
 6170#line 32
 6171extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t * ) ;
 6172#line 41
 6173extern void _raw_spin_unlock_irq(raw_spinlock_t * ) ;
 6174#line 43
 6175extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long  ) ;
 6176#line 272 "include/linux/spinlock.h"
 6177__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
 6178{ 
 6179
 6180  {
 6181#line 274
 6182  return (& lock->ldv_6060.rlock);
 6183}
 6184}
 6185#line 308 "include/linux/spinlock.h"
 6186__inline static void spin_lock_irq(spinlock_t *lock ) 
 6187{ struct raw_spinlock *__cil_tmp2 ;
 6188
 6189  {
 6190  {
 6191#line 310
 6192  __cil_tmp2 = & lock->ldv_6060.rlock;
 6193#line 310
 6194  _raw_spin_lock_irq(__cil_tmp2);
 6195  }
 6196#line 311
 6197  return;
 6198}
 6199}
 6200#line 333 "include/linux/spinlock.h"
 6201__inline static void spin_unlock_irq(spinlock_t *lock ) 
 6202{ struct raw_spinlock *__cil_tmp2 ;
 6203
 6204  {
 6205  {
 6206#line 335
 6207  __cil_tmp2 = & lock->ldv_6060.rlock;
 6208#line 335
 6209  _raw_spin_unlock_irq(__cil_tmp2);
 6210  }
 6211#line 336
 6212  return;
 6213}
 6214}
 6215#line 338 "include/linux/spinlock.h"
 6216__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) 
 6217{ struct raw_spinlock *__cil_tmp3 ;
 6218
 6219  {
 6220  {
 6221#line 340
 6222  __cil_tmp3 = & lock->ldv_6060.rlock;
 6223#line 340
 6224  _raw_spin_unlock_irqrestore(__cil_tmp3, flags);
 6225  }
 6226#line 341
 6227  return;
 6228}
 6229}
 6230#line 80 "include/linux/wait.h"
 6231extern void __init_waitqueue_head(wait_queue_head_t * , struct lock_class_key * ) ;
 6232#line 115 "include/linux/mutex.h"
 6233extern void __mutex_init(struct mutex * , char const   * , struct lock_class_key * ) ;
 6234#line 134
 6235extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
 6236#line 169
 6237extern void mutex_unlock(struct mutex * ) ;
 6238#line 113 "include/linux/ioport.h"
 6239extern struct resource ioport_resource ;
 6240#line 114
 6241extern struct resource iomem_resource ;
 6242#line 156
 6243extern struct resource *__request_region(struct resource * , resource_size_t  , resource_size_t  ,
 6244                                         char const   * , int  ) ;
 6245#line 167
 6246extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
 6247#line 73 "include/linux/completion.h"
 6248__inline static void init_completion(struct completion *x ) 
 6249{ struct lock_class_key __key ;
 6250  wait_queue_head_t *__cil_tmp3 ;
 6251
 6252  {
 6253  {
 6254#line 75
 6255  x->done = 0U;
 6256#line 76
 6257  __cil_tmp3 = & x->wait;
 6258#line 76
 6259  __init_waitqueue_head(__cil_tmp3, & __key);
 6260  }
 6261#line 78
 6262  return;
 6263}
 6264}
 6265#line 79
 6266extern void wait_for_completion(struct completion * ) ;
 6267#line 91
 6268extern void complete(struct completion * ) ;
 6269#line 57 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6270__inline static unsigned int readl(void const volatile   *addr ) 
 6271{ unsigned int ret ;
 6272  unsigned int volatile   *__cil_tmp3 ;
 6273
 6274  {
 6275#line 57
 6276  __cil_tmp3 = (unsigned int volatile   *)addr;
 6277#line 57
 6278  __asm__  volatile   ("movl %1,%0": "=r" (ret): "m" (*__cil_tmp3): "memory");
 6279#line 57
 6280  return (ret);
 6281}
 6282}
 6283#line 65 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6284__inline static void writel(unsigned int val , void volatile   *addr ) 
 6285{ unsigned int volatile   *__cil_tmp3 ;
 6286
 6287  {
 6288#line 65
 6289  __cil_tmp3 = (unsigned int volatile   *)addr;
 6290#line 65
 6291  __asm__  volatile   ("movl %0,%1": : "r" (val), "m" (*__cil_tmp3): "memory");
 6292#line 66
 6293  return;
 6294}
 6295}
 6296#line 176
 6297extern void *ioremap_nocache(resource_size_t  , unsigned long  ) ;
 6298#line 184 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6299__inline static void *ioremap(resource_size_t offset , unsigned long size ) 
 6300{ void *tmp ;
 6301
 6302  {
 6303  {
 6304#line 186
 6305  tmp = ioremap_nocache(offset, size);
 6306  }
 6307#line 186
 6308  return (tmp);
 6309}
 6310}
 6311#line 189
 6312extern void iounmap(void volatile   * ) ;
 6313#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6314__inline static void outb(unsigned char value , int port ) 
 6315{ 
 6316
 6317  {
 6318#line 310
 6319  __asm__  volatile   ("outb %b0, %w1": : "a" (value), "Nd" (port));
 6320#line 311
 6321  return;
 6322}
 6323}
 6324#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6325__inline static unsigned char inb(int port ) 
 6326{ unsigned char value ;
 6327
 6328  {
 6329#line 310
 6330  __asm__  volatile   ("inb %w1, %b0": "=a" (value): "Nd" (port));
 6331#line 310
 6332  return (value);
 6333}
 6334}
 6335#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6336__inline static void outb_p(unsigned char value , int port ) 
 6337{ int __cil_tmp3 ;
 6338  unsigned char __cil_tmp4 ;
 6339
 6340  {
 6341  {
 6342#line 310
 6343  __cil_tmp3 = (int )value;
 6344#line 310
 6345  __cil_tmp4 = (unsigned char )__cil_tmp3;
 6346#line 310
 6347  outb(__cil_tmp4, port);
 6348#line 310
 6349  slow_down_io();
 6350  }
 6351#line 311
 6352  return;
 6353}
 6354}
 6355#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
 6356__inline static unsigned char inb_p(int port ) 
 6357{ unsigned char value ;
 6358  unsigned char tmp ;
 6359
 6360  {
 6361  {
 6362#line 310
 6363  tmp = inb(port);
 6364#line 310
 6365  value = tmp;
 6366#line 310
 6367  slow_down_io();
 6368  }
 6369#line 310
 6370  return (value);
 6371}
 6372}
 6373#line 830 "include/linux/rcupdate.h"
 6374extern void kfree(void const   * ) ;
 6375#line 99 "include/linux/module.h"
 6376extern struct module __this_module ;
 6377#line 3 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 6378int ldv_try_module_get(struct module *module ) ;
 6379#line 4
 6380void ldv_module_get(struct module *module ) ;
 6381#line 5
 6382void ldv_module_put(struct module *module ) ;
 6383#line 6
 6384unsigned int ldv_module_refcount(void) ;
 6385#line 7
 6386void ldv_module_put_and_exit(void) ;
 6387#line 720 "include/linux/mm.h"
 6388__inline static void *lowmem_page_address(struct page *page ) 
 6389{ long __cil_tmp2 ;
 6390  long __cil_tmp3 ;
 6391  long __cil_tmp4 ;
 6392  unsigned long long __cil_tmp5 ;
 6393  unsigned long long __cil_tmp6 ;
 6394  unsigned long __cil_tmp7 ;
 6395  unsigned long __cil_tmp8 ;
 6396
 6397  {
 6398  {
 6399#line 722
 6400  __cil_tmp2 = (long )page;
 6401#line 722
 6402  __cil_tmp3 = __cil_tmp2 + 24189255811072L;
 6403#line 722
 6404  __cil_tmp4 = __cil_tmp3 / 56L;
 6405#line 722
 6406  __cil_tmp5 = (unsigned long long )__cil_tmp4;
 6407#line 722
 6408  __cil_tmp6 = __cil_tmp5 << 12;
 6409#line 722
 6410  __cil_tmp7 = (unsigned long )__cil_tmp6;
 6411#line 722
 6412  __cil_tmp8 = __cil_tmp7 + 1152789563211513856UL;
 6413#line 722
 6414  return ((void *)__cil_tmp8);
 6415  }
 6416}
 6417}
 6418#line 546 "include/linux/capability.h"
 6419extern bool capable(int  ) ;
 6420#line 2089 "include/linux/fs.h"
 6421extern int __register_chrdev(unsigned int  , unsigned int  , unsigned int  , char const   * ,
 6422                             struct file_operations  const  * ) ;
 6423#line 2092
 6424extern void __unregister_chrdev(unsigned int  , unsigned int  , unsigned int  , char const   * ) ;
 6425#line 2097 "include/linux/fs.h"
 6426__inline static int register_chrdev(unsigned int major , char const   *name , struct file_operations  const  *fops ) 
 6427{ int tmp ;
 6428
 6429  {
 6430  {
 6431#line 2100
 6432  tmp = __register_chrdev(major, 0U, 256U, name, fops);
 6433  }
 6434#line 2100
 6435  return (tmp);
 6436}
 6437}
 6438#line 2103 "include/linux/fs.h"
 6439__inline static void unregister_chrdev(unsigned int major , char const   *name ) 
 6440{ 
 6441
 6442  {
 6443  {
 6444#line 2105
 6445  __unregister_chrdev(major, 0U, 256U, name);
 6446  }
 6447#line 2106
 6448  return;
 6449}
 6450}
 6451#line 2336
 6452extern loff_t noop_llseek(struct file * , loff_t  , int  ) ;
 6453#line 2504 "include/linux/sched.h"
 6454extern int _cond_resched(void) ;
 6455#line 221 "include/linux/slub_def.h"
 6456extern void *__kmalloc(size_t  , gfp_t  ) ;
 6457#line 255 "include/linux/slub_def.h"
 6458__inline static void *kmalloc(size_t size , gfp_t flags ) 
 6459{ void *tmp___2 ;
 6460
 6461  {
 6462  {
 6463#line 270
 6464  tmp___2 = __kmalloc(size, flags);
 6465  }
 6466#line 270
 6467  return (tmp___2);
 6468}
 6469}
 6470#line 318 "include/linux/slab.h"
 6471__inline static void *kzalloc(size_t size , gfp_t flags ) 
 6472{ void *tmp ;
 6473  unsigned int __cil_tmp4 ;
 6474
 6475  {
 6476  {
 6477#line 320
 6478  __cil_tmp4 = flags | 32768U;
 6479#line 320
 6480  tmp = kmalloc(size, __cil_tmp4);
 6481  }
 6482#line 320
 6483  return (tmp);
 6484}
 6485}
 6486#line 705 "include/linux/device.h"
 6487extern void *dev_get_drvdata(struct device  const  * ) ;
 6488#line 706
 6489extern int dev_set_drvdata(struct device * , void * ) ;
 6490#line 40 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 6491extern unsigned long _copy_to_user(void * , void const   * , unsigned int  ) ;
 6492#line 42
 6493extern unsigned long _copy_from_user(void * , void const   * , unsigned int  ) ;
 6494#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 6495__inline static unsigned long copy_from_user(void *to , void const   *from , unsigned long n ) 
 6496{ int sz ;
 6497  unsigned long tmp ;
 6498  int __ret_warn_on ;
 6499  long tmp___0 ;
 6500  long tmp___1 ;
 6501  long tmp___2 ;
 6502  void const   *__cil_tmp10 ;
 6503  void *__cil_tmp11 ;
 6504  int __cil_tmp12 ;
 6505  long __cil_tmp13 ;
 6506  unsigned int __cil_tmp14 ;
 6507  unsigned long __cil_tmp15 ;
 6508  int __cil_tmp16 ;
 6509  long __cil_tmp17 ;
 6510  unsigned int __cil_tmp18 ;
 6511  int __cil_tmp19 ;
 6512  long __cil_tmp20 ;
 6513  int __cil_tmp21 ;
 6514  int __cil_tmp22 ;
 6515  int __cil_tmp23 ;
 6516  long __cil_tmp24 ;
 6517
 6518  {
 6519  {
 6520#line 50
 6521  __cil_tmp10 = (void const   *)to;
 6522#line 50
 6523  __cil_tmp11 = (void *)__cil_tmp10;
 6524#line 50
 6525  tmp = __builtin_object_size(__cil_tmp11, 0);
 6526#line 50
 6527  sz = (int )tmp;
 6528#line 52
 6529  might_fault();
 6530#line 53
 6531  __cil_tmp12 = sz == -1;
 6532#line 53
 6533  __cil_tmp13 = (long )__cil_tmp12;
 6534#line 53
 6535  tmp___1 = __builtin_expect(__cil_tmp13, 1L);
 6536  }
 6537#line 53
 6538  if (tmp___1 != 0L) {
 6539    {
 6540#line 54
 6541    __cil_tmp14 = (unsigned int )n;
 6542#line 54
 6543    n = _copy_from_user(to, from, __cil_tmp14);
 6544    }
 6545  } else {
 6546    {
 6547#line 53
 6548    __cil_tmp15 = (unsigned long )sz;
 6549#line 53
 6550    __cil_tmp16 = __cil_tmp15 >= n;
 6551#line 53
 6552    __cil_tmp17 = (long )__cil_tmp16;
 6553#line 53
 6554    tmp___2 = __builtin_expect(__cil_tmp17, 1L);
 6555    }
 6556#line 53
 6557    if (tmp___2 != 0L) {
 6558      {
 6559#line 54
 6560      __cil_tmp18 = (unsigned int )n;
 6561#line 54
 6562      n = _copy_from_user(to, from, __cil_tmp18);
 6563      }
 6564    } else {
 6565      {
 6566#line 57
 6567      __ret_warn_on = 1;
 6568#line 57
 6569      __cil_tmp19 = __ret_warn_on != 0;
 6570#line 57
 6571      __cil_tmp20 = (long )__cil_tmp19;
 6572#line 57
 6573      tmp___0 = __builtin_expect(__cil_tmp20, 0L);
 6574      }
 6575#line 57
 6576      if (tmp___0 != 0L) {
 6577        {
 6578#line 57
 6579        __cil_tmp21 = (int const   )57;
 6580#line 57
 6581        __cil_tmp22 = (int )__cil_tmp21;
 6582#line 57
 6583        warn_slowpath_fmt("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h",
 6584                          __cil_tmp22, "Buffer overflow detected!\n");
 6585        }
 6586      } else {
 6587
 6588      }
 6589      {
 6590#line 57
 6591      __cil_tmp23 = __ret_warn_on != 0;
 6592#line 57
 6593      __cil_tmp24 = (long )__cil_tmp23;
 6594#line 57
 6595      __builtin_expect(__cil_tmp24, 0L);
 6596      }
 6597    }
 6598  }
 6599#line 59
 6600  return (n);
 6601}
 6602}
 6603#line 63 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 6604__inline static int copy_to_user(void *dst , void const   *src , unsigned int size ) 
 6605{ unsigned long tmp ;
 6606
 6607  {
 6608  {
 6609#line 65
 6610  might_fault();
 6611#line 67
 6612  tmp = _copy_to_user(dst, src, size);
 6613  }
 6614#line 67
 6615  return ((int )tmp);
 6616}
 6617}
 6618#line 16 "include/linux/uaccess.h"
 6619__inline static void pagefault_disable(void) 
 6620{ struct thread_info *tmp ;
 6621  int __cil_tmp2 ;
 6622
 6623  {
 6624  {
 6625#line 18
 6626  tmp = current_thread_info();
 6627#line 18
 6628  __cil_tmp2 = tmp->preempt_count;
 6629#line 18
 6630  tmp->preempt_count = __cil_tmp2 + 1;
 6631#line 23
 6632  __asm__  volatile   ("": : : "memory");
 6633  }
 6634#line 24
 6635  return;
 6636}
 6637}
 6638#line 26 "include/linux/uaccess.h"
 6639__inline static void pagefault_enable(void) 
 6640{ struct thread_info *tmp ;
 6641  int __cil_tmp2 ;
 6642
 6643  {
 6644  {
 6645#line 32
 6646  __asm__  volatile   ("": : : "memory");
 6647#line 33
 6648  tmp = current_thread_info();
 6649#line 33
 6650  __cil_tmp2 = tmp->preempt_count;
 6651#line 33
 6652  tmp->preempt_count = __cil_tmp2 + -1;
 6653#line 37
 6654  __asm__  volatile   ("": : : "memory");
 6655  }
 6656#line 38
 6657  return;
 6658}
 6659}
 6660#line 58 "include/linux/highmem.h"
 6661__inline static void *__kmap_atomic(struct page *page ) 
 6662{ void *tmp ;
 6663
 6664  {
 6665  {
 6666#line 60
 6667  pagefault_disable();
 6668#line 61
 6669  tmp = lowmem_page_address(page);
 6670  }
 6671#line 61
 6672  return (tmp);
 6673}
 6674}
 6675#line 65 "include/linux/highmem.h"
 6676__inline static void __kunmap_atomic(void *addr ) 
 6677{ 
 6678
 6679  {
 6680  {
 6681#line 67
 6682  pagefault_enable();
 6683  }
 6684#line 68
 6685  return;
 6686}
 6687}
 6688#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/delay.h"
 6689extern void __const_udelay(unsigned long  ) ;
 6690#line 46 "include/linux/delay.h"
 6691extern void msleep(unsigned int  ) ;
 6692#line 109 "include/linux/proc_fs.h"
 6693extern struct proc_dir_entry *create_proc_entry(char const   * , mode_t  , struct proc_dir_entry * ) ;
 6694#line 115
 6695extern void remove_proc_entry(char const   * , struct proc_dir_entry * ) ;
 6696#line 148
 6697extern struct proc_dir_entry *proc_mkdir(char const   * , struct proc_dir_entry * ) ;
 6698#line 158 "include/linux/proc_fs.h"
 6699__inline static struct proc_dir_entry *create_proc_read_entry(char const   *name ,
 6700                                                              mode_t mode , struct proc_dir_entry *base ,
 6701                                                              read_proc_t *read_proc ,
 6702                                                              void *data ) 
 6703{ struct proc_dir_entry *res ;
 6704  struct proc_dir_entry *tmp ;
 6705  struct proc_dir_entry *__cil_tmp8 ;
 6706  unsigned long __cil_tmp9 ;
 6707  unsigned long __cil_tmp10 ;
 6708
 6709  {
 6710  {
 6711#line 162
 6712  tmp = create_proc_entry(name, mode, base);
 6713#line 162
 6714  res = tmp;
 6715  }
 6716  {
 6717#line 163
 6718  __cil_tmp8 = (struct proc_dir_entry *)0;
 6719#line 163
 6720  __cil_tmp9 = (unsigned long )__cil_tmp8;
 6721#line 163
 6722  __cil_tmp10 = (unsigned long )res;
 6723#line 163
 6724  if (__cil_tmp10 != __cil_tmp9) {
 6725#line 164
 6726    res->read_proc = read_proc;
 6727#line 165
 6728    res->data = data;
 6729  } else {
 6730
 6731  }
 6732  }
 6733#line 167
 6734  return (res);
 6735}
 6736}
 6737#line 124 "include/linux/interrupt.h"
 6738extern int request_threaded_irq(unsigned int  , irqreturn_t (*)(int  , void * ) ,
 6739                                irqreturn_t (*)(int  , void * ) , unsigned long  ,
 6740                                char const   * , void * ) ;
 6741#line 129 "include/linux/interrupt.h"
 6742__inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int  , void * ) ,
 6743                                unsigned long flags , char const   *name , void *dev ) 
 6744{ int tmp ;
 6745  irqreturn_t (*__cil_tmp7)(int  , void * ) ;
 6746
 6747  {
 6748  {
 6749#line 132
 6750  __cil_tmp7 = (irqreturn_t (*)(int  , void * ))0;
 6751#line 132
 6752  tmp = request_threaded_irq(irq, handler, __cil_tmp7, flags, name, dev);
 6753  }
 6754#line 132
 6755  return (tmp);
 6756}
 6757}
 6758#line 170
 6759extern void free_irq(unsigned int  , void * ) ;
 6760#line 356 "include/linux/pci.h"
 6761extern struct pci_dev *alloc_pci_dev(void) ;
 6762#line 725
 6763extern int pci_bus_read_config_word(struct pci_bus * , unsigned int  , int  , u16 * ) ;
 6764#line 727
 6765extern int pci_bus_read_config_dword(struct pci_bus * , unsigned int  , int  , u32 * ) ;
 6766#line 741 "include/linux/pci.h"
 6767__inline static int pci_read_config_word(struct pci_dev *dev , int where , u16 *val ) 
 6768{ int tmp ;
 6769  struct pci_bus *__cil_tmp5 ;
 6770  unsigned int __cil_tmp6 ;
 6771
 6772  {
 6773  {
 6774#line 743
 6775  __cil_tmp5 = dev->bus;
 6776#line 743
 6777  __cil_tmp6 = dev->devfn;
 6778#line 743
 6779  tmp = pci_bus_read_config_word(__cil_tmp5, __cil_tmp6, where, val);
 6780  }
 6781#line 743
 6782  return (tmp);
 6783}
 6784}
 6785#line 745 "include/linux/pci.h"
 6786__inline static int pci_read_config_dword(struct pci_dev *dev , int where , u32 *val ) 
 6787{ int tmp ;
 6788  struct pci_bus *__cil_tmp5 ;
 6789  unsigned int __cil_tmp6 ;
 6790
 6791  {
 6792  {
 6793#line 748
 6794  __cil_tmp5 = dev->bus;
 6795#line 748
 6796  __cil_tmp6 = dev->devfn;
 6797#line 748
 6798  tmp = pci_bus_read_config_dword(__cil_tmp5, __cil_tmp6, where, val);
 6799  }
 6800#line 748
 6801  return (tmp);
 6802}
 6803}
 6804#line 764
 6805extern int pci_enable_device(struct pci_dev * ) ;
 6806#line 781
 6807extern void pci_disable_device(struct pci_dev * ) ;
 6808#line 782
 6809extern void pci_set_master(struct pci_dev * ) ;
 6810#line 916
 6811extern int __pci_register_driver(struct pci_driver * , struct module * , char const   * ) ;
 6812#line 925
 6813extern void pci_unregister_driver(struct pci_driver * ) ;
 6814#line 93 "include/linux/scatterlist.h"
 6815__inline static struct page *sg_page(struct scatterlist *sg ) 
 6816{ long tmp ;
 6817  long tmp___0 ;
 6818  unsigned long __cil_tmp4 ;
 6819  int __cil_tmp5 ;
 6820  long __cil_tmp6 ;
 6821  unsigned long __cil_tmp7 ;
 6822  int __cil_tmp8 ;
 6823  long __cil_tmp9 ;
 6824  long __cil_tmp10 ;
 6825  unsigned long __cil_tmp11 ;
 6826  unsigned long __cil_tmp12 ;
 6827
 6828  {
 6829  {
 6830#line 96
 6831  __cil_tmp4 = sg->sg_magic;
 6832#line 96
 6833  __cil_tmp5 = __cil_tmp4 != 2271560481UL;
 6834#line 96
 6835  __cil_tmp6 = (long )__cil_tmp5;
 6836#line 96
 6837  tmp = __builtin_expect(__cil_tmp6, 0L);
 6838  }
 6839#line 96
 6840  if (tmp != 0L) {
 6841#line 96
 6842    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"),
 6843                         "i" (96), "i" (12UL));
 6844    ldv_29327: ;
 6845#line 96
 6846    goto ldv_29327;
 6847  } else {
 6848
 6849  }
 6850  {
 6851#line 97
 6852  __cil_tmp7 = sg->page_link;
 6853#line 97
 6854  __cil_tmp8 = (int )__cil_tmp7;
 6855#line 97
 6856  __cil_tmp9 = (long )__cil_tmp8;
 6857#line 97
 6858  __cil_tmp10 = __cil_tmp9 & 1L;
 6859#line 97
 6860  tmp___0 = __builtin_expect(__cil_tmp10, 0L);
 6861  }
 6862#line 97
 6863  if (tmp___0 != 0L) {
 6864#line 97
 6865    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"),
 6866                         "i" (97), "i" (12UL));
 6867    ldv_29328: ;
 6868#line 97
 6869    goto ldv_29328;
 6870  } else {
 6871
 6872  }
 6873  {
 6874#line 99
 6875  __cil_tmp11 = sg->page_link;
 6876#line 99
 6877  __cil_tmp12 = __cil_tmp11 & 1152921504606846972UL;
 6878#line 99
 6879  return ((struct page *)__cil_tmp12);
 6880  }
 6881}
 6882}
 6883#line 197 "include/linux/scatterlist.h"
 6884__inline static void *sg_virt(struct scatterlist *sg ) 
 6885{ struct page *tmp ;
 6886  void *tmp___0 ;
 6887  unsigned int __cil_tmp4 ;
 6888  unsigned long __cil_tmp5 ;
 6889
 6890  {
 6891  {
 6892#line 199
 6893  tmp = sg_page(sg);
 6894#line 199
 6895  tmp___0 = lowmem_page_address(tmp);
 6896  }
 6897  {
 6898#line 199
 6899  __cil_tmp4 = sg->offset;
 6900#line 199
 6901  __cil_tmp5 = (unsigned long )__cil_tmp4;
 6902#line 199
 6903  return (tmp___0 + __cil_tmp5);
 6904  }
 6905}
 6906}
 6907#line 202
 6908extern struct scatterlist *sg_next(struct scatterlist * ) ;
 6909#line 80 "include/linux/dma-mapping.h"
 6910__inline static int valid_dma_direction(int dma_direction ) 
 6911{ int tmp ;
 6912
 6913  {
 6914#line 82
 6915  if (dma_direction == 0) {
 6916#line 82
 6917    tmp = 1;
 6918  } else
 6919#line 82
 6920  if (dma_direction == 1) {
 6921#line 82
 6922    tmp = 1;
 6923  } else
 6924#line 82
 6925  if (dma_direction == 2) {
 6926#line 82
 6927    tmp = 1;
 6928  } else {
 6929#line 82
 6930    tmp = 0;
 6931  }
 6932#line 82
 6933  return (tmp);
 6934}
 6935}
 6936#line 87 "include/linux/dma-mapping.h"
 6937__inline static int is_device_dma_capable(struct device *dev ) 
 6938{ int tmp ;
 6939  u64 *__cil_tmp3 ;
 6940  unsigned long __cil_tmp4 ;
 6941  u64 *__cil_tmp5 ;
 6942  unsigned long __cil_tmp6 ;
 6943  u64 *__cil_tmp7 ;
 6944  u64 __cil_tmp8 ;
 6945
 6946  {
 6947  {
 6948#line 89
 6949  __cil_tmp3 = (u64 *)0;
 6950#line 89
 6951  __cil_tmp4 = (unsigned long )__cil_tmp3;
 6952#line 89
 6953  __cil_tmp5 = dev->dma_mask;
 6954#line 89
 6955  __cil_tmp6 = (unsigned long )__cil_tmp5;
 6956#line 89
 6957  if (__cil_tmp6 != __cil_tmp4) {
 6958    {
 6959#line 89
 6960    __cil_tmp7 = dev->dma_mask;
 6961#line 89
 6962    __cil_tmp8 = *__cil_tmp7;
 6963#line 89
 6964    if (__cil_tmp8 != 0ULL) {
 6965#line 89
 6966      tmp = 1;
 6967    } else {
 6968#line 89
 6969      tmp = 0;
 6970    }
 6971    }
 6972  } else {
 6973#line 89
 6974    tmp = 0;
 6975  }
 6976  }
 6977#line 89
 6978  return (tmp);
 6979}
 6980}
 6981#line 131 "include/linux/kmemcheck.h"
 6982__inline static void kmemcheck_mark_initialized(void *address , unsigned int n ) 
 6983{ 
 6984
 6985  {
 6986#line 133
 6987  return;
 6988}
 6989}
 6990#line 37 "include/linux/dma-debug.h"
 6991extern void debug_dma_map_page(struct device * , struct page * , size_t  , size_t  ,
 6992                               int  , dma_addr_t  , bool  ) ;
 6993#line 42
 6994extern void debug_dma_unmap_page(struct device * , dma_addr_t  , size_t  , int  ,
 6995                                 bool  ) ;
 6996#line 51
 6997extern void debug_dma_alloc_coherent(struct device * , size_t  , dma_addr_t  , void * ) ;
 6998#line 54
 6999extern void debug_dma_free_coherent(struct device * , size_t  , void * , dma_addr_t  ) ;
 7000#line 26 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7001extern struct device x86_dma_fallback_dev ;
 7002#line 29
 7003extern struct dma_map_ops *dma_ops ;
 7004#line 31 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7005__inline static struct dma_map_ops *get_dma_ops(struct device *dev ) 
 7006{ long tmp ;
 7007  struct device *__cil_tmp3 ;
 7008  unsigned long __cil_tmp4 ;
 7009  unsigned long __cil_tmp5 ;
 7010  int __cil_tmp6 ;
 7011  long __cil_tmp7 ;
 7012  struct dma_map_ops *__cil_tmp8 ;
 7013  unsigned long __cil_tmp9 ;
 7014  struct dma_map_ops *__cil_tmp10 ;
 7015  unsigned long __cil_tmp11 ;
 7016
 7017  {
 7018  {
 7019#line 36
 7020  __cil_tmp3 = (struct device *)0;
 7021#line 36
 7022  __cil_tmp4 = (unsigned long )__cil_tmp3;
 7023#line 36
 7024  __cil_tmp5 = (unsigned long )dev;
 7025#line 36
 7026  __cil_tmp6 = __cil_tmp5 == __cil_tmp4;
 7027#line 36
 7028  __cil_tmp7 = (long )__cil_tmp6;
 7029#line 36
 7030  tmp = __builtin_expect(__cil_tmp7, 0L);
 7031  }
 7032#line 36
 7033  if (tmp != 0L) {
 7034#line 37
 7035    return (dma_ops);
 7036  } else {
 7037    {
 7038#line 36
 7039    __cil_tmp8 = (struct dma_map_ops *)0;
 7040#line 36
 7041    __cil_tmp9 = (unsigned long )__cil_tmp8;
 7042#line 36
 7043    __cil_tmp10 = dev->archdata.dma_ops;
 7044#line 36
 7045    __cil_tmp11 = (unsigned long )__cil_tmp10;
 7046#line 36
 7047    if (__cil_tmp11 == __cil_tmp9) {
 7048#line 37
 7049      return (dma_ops);
 7050    } else {
 7051#line 39
 7052      return (dev->archdata.dma_ops);
 7053    }
 7054    }
 7055  }
 7056}
 7057}
 7058#line 9 "include/asm-generic/dma-mapping-common.h"
 7059__inline static dma_addr_t dma_map_single_attrs(struct device *dev , void *ptr , size_t size ,
 7060                                                enum dma_data_direction dir , struct dma_attrs *attrs ) 
 7061{ struct dma_map_ops *ops ;
 7062  struct dma_map_ops *tmp ;
 7063  dma_addr_t addr ;
 7064  int tmp___0 ;
 7065  long tmp___1 ;
 7066  unsigned long tmp___2 ;
 7067  unsigned long tmp___3 ;
 7068  unsigned int __cil_tmp13 ;
 7069  int __cil_tmp14 ;
 7070  int __cil_tmp15 ;
 7071  long __cil_tmp16 ;
 7072  unsigned long __cil_tmp17 ;
 7073  dma_addr_t (*__cil_tmp18)(struct device * , struct page * , unsigned long  , size_t  ,
 7074                            enum dma_data_direction  , struct dma_attrs * ) ;
 7075  unsigned long __cil_tmp19 ;
 7076  unsigned long __cil_tmp20 ;
 7077  struct page *__cil_tmp21 ;
 7078  unsigned long __cil_tmp22 ;
 7079  unsigned long __cil_tmp23 ;
 7080  unsigned long __cil_tmp24 ;
 7081  unsigned long __cil_tmp25 ;
 7082  unsigned long __cil_tmp26 ;
 7083  struct page *__cil_tmp27 ;
 7084  unsigned long __cil_tmp28 ;
 7085  unsigned long __cil_tmp29 ;
 7086  int __cil_tmp30 ;
 7087  bool __cil_tmp31 ;
 7088
 7089  {
 7090  {
 7091#line 14
 7092  tmp = get_dma_ops(dev);
 7093#line 14
 7094  ops = tmp;
 7095#line 17
 7096  __cil_tmp13 = (unsigned int )size;
 7097#line 17
 7098  kmemcheck_mark_initialized(ptr, __cil_tmp13);
 7099#line 18
 7100  __cil_tmp14 = (int )dir;
 7101#line 18
 7102  tmp___0 = valid_dma_direction(__cil_tmp14);
 7103#line 18
 7104  __cil_tmp15 = tmp___0 == 0;
 7105#line 18
 7106  __cil_tmp16 = (long )__cil_tmp15;
 7107#line 18
 7108  tmp___1 = __builtin_expect(__cil_tmp16, 0L);
 7109  }
 7110#line 18
 7111  if (tmp___1 != 0L) {
 7112#line 18
 7113    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
 7114                         "i" (18), "i" (12UL));
 7115    ldv_29762: ;
 7116#line 18
 7117    goto ldv_29762;
 7118  } else {
 7119
 7120  }
 7121  {
 7122#line 19
 7123  __cil_tmp17 = (unsigned long )ptr;
 7124#line 19
 7125  tmp___2 = __phys_addr(__cil_tmp17);
 7126#line 19
 7127  __cil_tmp18 = ops->map_page;
 7128#line 19
 7129  __cil_tmp19 = tmp___2 >> 12;
 7130#line 19
 7131  __cil_tmp20 = 1152897315351035904UL + __cil_tmp19;
 7132#line 19
 7133  __cil_tmp21 = (struct page *)__cil_tmp20;
 7134#line 19
 7135  __cil_tmp22 = (unsigned long )ptr;
 7136#line 19
 7137  __cil_tmp23 = __cil_tmp22 & 4095UL;
 7138#line 19
 7139  addr = (*__cil_tmp18)(dev, __cil_tmp21, __cil_tmp23, size, dir, attrs);
 7140#line 22
 7141  __cil_tmp24 = (unsigned long )ptr;
 7142#line 22
 7143  tmp___3 = __phys_addr(__cil_tmp24);
 7144#line 22
 7145  __cil_tmp25 = tmp___3 >> 12;
 7146#line 22
 7147  __cil_tmp26 = 1152897315351035904UL + __cil_tmp25;
 7148#line 22
 7149  __cil_tmp27 = (struct page *)__cil_tmp26;
 7150#line 22
 7151  __cil_tmp28 = (unsigned long )ptr;
 7152#line 22
 7153  __cil_tmp29 = __cil_tmp28 & 4095UL;
 7154#line 22
 7155  __cil_tmp30 = (int )dir;
 7156#line 22
 7157  __cil_tmp31 = (bool )1;
 7158#line 22
 7159  debug_dma_map_page(dev, __cil_tmp27, __cil_tmp29, size, __cil_tmp30, addr, __cil_tmp31);
 7160  }
 7161#line 25
 7162  return (addr);
 7163}
 7164}
 7165#line 28 "include/asm-generic/dma-mapping-common.h"
 7166__inline static void dma_unmap_single_attrs(struct device *dev , dma_addr_t addr ,
 7167                                            size_t size , enum dma_data_direction dir ,
 7168                                            struct dma_attrs *attrs ) 
 7169{ struct dma_map_ops *ops ;
 7170  struct dma_map_ops *tmp ;
 7171  int tmp___0 ;
 7172  long tmp___1 ;
 7173  int __cil_tmp10 ;
 7174  int __cil_tmp11 ;
 7175  long __cil_tmp12 ;
 7176  void (*__cil_tmp13)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
 7177                      struct dma_attrs * ) ;
 7178  unsigned long __cil_tmp14 ;
 7179  void (*__cil_tmp15)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
 7180                      struct dma_attrs * ) ;
 7181  unsigned long __cil_tmp16 ;
 7182  void (*__cil_tmp17)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
 7183                      struct dma_attrs * ) ;
 7184  int __cil_tmp18 ;
 7185  bool __cil_tmp19 ;
 7186
 7187  {
 7188  {
 7189#line 33
 7190  tmp = get_dma_ops(dev);
 7191#line 33
 7192  ops = tmp;
 7193#line 35
 7194  __cil_tmp10 = (int )dir;
 7195#line 35
 7196  tmp___0 = valid_dma_direction(__cil_tmp10);
 7197#line 35
 7198  __cil_tmp11 = tmp___0 == 0;
 7199#line 35
 7200  __cil_tmp12 = (long )__cil_tmp11;
 7201#line 35
 7202  tmp___1 = __builtin_expect(__cil_tmp12, 0L);
 7203  }
 7204#line 35
 7205  if (tmp___1 != 0L) {
 7206#line 35
 7207    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/asm-generic/dma-mapping-common.h"),
 7208                         "i" (35), "i" (12UL));
 7209    ldv_29771: ;
 7210#line 35
 7211    goto ldv_29771;
 7212  } else {
 7213
 7214  }
 7215  {
 7216#line 36
 7217  __cil_tmp13 = (void (*)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
 7218                          struct dma_attrs * ))0;
 7219#line 36
 7220  __cil_tmp14 = (unsigned long )__cil_tmp13;
 7221#line 36
 7222  __cil_tmp15 = ops->unmap_page;
 7223#line 36
 7224  __cil_tmp16 = (unsigned long )__cil_tmp15;
 7225#line 36
 7226  if (__cil_tmp16 != __cil_tmp14) {
 7227    {
 7228#line 37
 7229    __cil_tmp17 = ops->unmap_page;
 7230#line 37
 7231    (*__cil_tmp17)(dev, addr, size, dir, attrs);
 7232    }
 7233  } else {
 7234
 7235  }
 7236  }
 7237  {
 7238#line 38
 7239  __cil_tmp18 = (int )dir;
 7240#line 38
 7241  __cil_tmp19 = (bool )1;
 7242#line 38
 7243  debug_dma_unmap_page(dev, addr, size, __cil_tmp18, __cil_tmp19);
 7244  }
 7245#line 39
 7246  return;
 7247}
 7248}
 7249#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7250extern int dma_set_mask(struct device * , u64  ) ;
 7251#line 89 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7252__inline static unsigned long dma_alloc_coherent_mask(struct device *dev , gfp_t gfp ) 
 7253{ unsigned long dma_mask ;
 7254  u64 __cil_tmp4 ;
 7255  int __cil_tmp5 ;
 7256
 7257  {
 7258#line 92
 7259  dma_mask = 0UL;
 7260#line 94
 7261  __cil_tmp4 = dev->coherent_dma_mask;
 7262#line 94
 7263  dma_mask = (unsigned long )__cil_tmp4;
 7264#line 95
 7265  if (dma_mask == 0UL) {
 7266    {
 7267#line 96
 7268    __cil_tmp5 = (int )gfp;
 7269#line 96
 7270    if (__cil_tmp5 & 1) {
 7271#line 96
 7272      dma_mask = 16777215UL;
 7273    } else {
 7274#line 96
 7275      dma_mask = 4294967295UL;
 7276    }
 7277    }
 7278  } else {
 7279
 7280  }
 7281#line 98
 7282  return (dma_mask);
 7283}
 7284}
 7285#line 101 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7286__inline static gfp_t dma_alloc_coherent_gfp_flags(struct device *dev , gfp_t gfp ) 
 7287{ unsigned long dma_mask ;
 7288  unsigned long tmp ;
 7289  unsigned long long __cil_tmp5 ;
 7290  unsigned long long __cil_tmp6 ;
 7291  unsigned int __cil_tmp7 ;
 7292
 7293  {
 7294  {
 7295#line 103
 7296  tmp = dma_alloc_coherent_mask(dev, gfp);
 7297#line 103
 7298  dma_mask = tmp;
 7299  }
 7300  {
 7301#line 105
 7302  __cil_tmp5 = (unsigned long long )dma_mask;
 7303#line 105
 7304  if (__cil_tmp5 <= 16777215ULL) {
 7305#line 106
 7306    gfp = gfp | 1U;
 7307  } else {
 7308
 7309  }
 7310  }
 7311  {
 7312#line 108
 7313  __cil_tmp6 = (unsigned long long )dma_mask;
 7314#line 108
 7315  if (__cil_tmp6 <= 4294967295ULL) {
 7316    {
 7317#line 108
 7318    __cil_tmp7 = gfp & 1U;
 7319#line 108
 7320    if (__cil_tmp7 == 0U) {
 7321#line 109
 7322      gfp = gfp | 4U;
 7323    } else {
 7324
 7325    }
 7326    }
 7327  } else {
 7328
 7329  }
 7330  }
 7331#line 111
 7332  return (gfp);
 7333}
 7334}
 7335#line 115 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7336__inline static void *dma_alloc_coherent(struct device *dev , size_t size , dma_addr_t *dma_handle ,
 7337                                         gfp_t gfp ) 
 7338{ struct dma_map_ops *ops ;
 7339  struct dma_map_ops *tmp ;
 7340  void *memory ;
 7341  int tmp___0 ;
 7342  gfp_t tmp___1 ;
 7343  struct device *__cil_tmp10 ;
 7344  unsigned long __cil_tmp11 ;
 7345  unsigned long __cil_tmp12 ;
 7346  void *(*__cil_tmp13)(struct device * , size_t  , dma_addr_t * , gfp_t  ) ;
 7347  unsigned long __cil_tmp14 ;
 7348  void *(*__cil_tmp15)(struct device * , size_t  , dma_addr_t * , gfp_t  ) ;
 7349  unsigned long __cil_tmp16 ;
 7350  void *(*__cil_tmp17)(struct device * , size_t  , dma_addr_t * , gfp_t  ) ;
 7351  dma_addr_t __cil_tmp18 ;
 7352
 7353  {
 7354  {
 7355#line 118
 7356  tmp = get_dma_ops(dev);
 7357#line 118
 7358  ops = tmp;
 7359#line 121
 7360  gfp = gfp & 4294967288U;
 7361  }
 7362  {
 7363#line 126
 7364  __cil_tmp10 = (struct device *)0;
 7365#line 126
 7366  __cil_tmp11 = (unsigned long )__cil_tmp10;
 7367#line 126
 7368  __cil_tmp12 = (unsigned long )dev;
 7369#line 126
 7370  if (__cil_tmp12 == __cil_tmp11) {
 7371#line 127
 7372    dev = & x86_dma_fallback_dev;
 7373  } else {
 7374
 7375  }
 7376  }
 7377  {
 7378#line 129
 7379  tmp___0 = is_device_dma_capable(dev);
 7380  }
 7381#line 129
 7382  if (tmp___0 == 0) {
 7383#line 130
 7384    return ((void *)0);
 7385  } else {
 7386
 7387  }
 7388  {
 7389#line 132
 7390  __cil_tmp13 = (void *(*)(struct device * , size_t  , dma_addr_t * , gfp_t  ))0;
 7391#line 132
 7392  __cil_tmp14 = (unsigned long )__cil_tmp13;
 7393#line 132
 7394  __cil_tmp15 = ops->alloc_coherent;
 7395#line 132
 7396  __cil_tmp16 = (unsigned long )__cil_tmp15;
 7397#line 132
 7398  if (__cil_tmp16 == __cil_tmp14) {
 7399#line 133
 7400    return ((void *)0);
 7401  } else {
 7402
 7403  }
 7404  }
 7405  {
 7406#line 135
 7407  tmp___1 = dma_alloc_coherent_gfp_flags(dev, gfp);
 7408#line 135
 7409  __cil_tmp17 = ops->alloc_coherent;
 7410#line 135
 7411  memory = (*__cil_tmp17)(dev, size, dma_handle, tmp___1);
 7412#line 137
 7413  __cil_tmp18 = *dma_handle;
 7414#line 137
 7415  debug_dma_alloc_coherent(dev, size, __cil_tmp18, memory);
 7416  }
 7417#line 139
 7418  return (memory);
 7419}
 7420}
 7421#line 142 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
 7422__inline static void dma_free_coherent(struct device *dev , size_t size , void *vaddr ,
 7423                                       dma_addr_t bus ) 
 7424{ struct dma_map_ops *ops ;
 7425  struct dma_map_ops *tmp ;
 7426  int __ret_warn_on ;
 7427  unsigned long _flags ;
 7428  int tmp___0 ;
 7429  long tmp___1 ;
 7430  int __cil_tmp11 ;
 7431  long __cil_tmp12 ;
 7432  int __cil_tmp13 ;
 7433  int __cil_tmp14 ;
 7434  int __cil_tmp15 ;
 7435  long __cil_tmp16 ;
 7436  void (*__cil_tmp17)(struct device * , size_t  , void * , dma_addr_t  ) ;
 7437  unsigned long __cil_tmp18 ;
 7438  void (*__cil_tmp19)(struct device * , size_t  , void * , dma_addr_t  ) ;
 7439  unsigned long __cil_tmp20 ;
 7440  void (*__cil_tmp21)(struct device * , size_t  , void * , dma_addr_t  ) ;
 7441
 7442  {
 7443  {
 7444#line 145
 7445  tmp = get_dma_ops(dev);
 7446#line 145
 7447  ops = tmp;
 7448#line 147
 7449  _flags = arch_local_save_flags();
 7450#line 147
 7451  tmp___0 = arch_irqs_disabled_flags(_flags);
 7452#line 147
 7453  __ret_warn_on = tmp___0 != 0;
 7454#line 147
 7455  __cil_tmp11 = __ret_warn_on != 0;
 7456#line 147
 7457  __cil_tmp12 = (long )__cil_tmp11;
 7458#line 147
 7459  tmp___1 = __builtin_expect(__cil_tmp12, 0L);
 7460  }
 7461#line 147
 7462  if (tmp___1 != 0L) {
 7463    {
 7464#line 147
 7465    __cil_tmp13 = (int const   )147;
 7466#line 147
 7467    __cil_tmp14 = (int )__cil_tmp13;
 7468#line 147
 7469    warn_slowpath_null("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h",
 7470                       __cil_tmp14);
 7471    }
 7472  } else {
 7473
 7474  }
 7475  {
 7476#line 147
 7477  __cil_tmp15 = __ret_warn_on != 0;
 7478#line 147
 7479  __cil_tmp16 = (long )__cil_tmp15;
 7480#line 147
 7481  __builtin_expect(__cil_tmp16, 0L);
 7482#line 152
 7483  debug_dma_free_coherent(dev, size, vaddr, bus);
 7484  }
 7485  {
 7486#line 153
 7487  __cil_tmp17 = (void (*)(struct device * , size_t  , void * , dma_addr_t  ))0;
 7488#line 153
 7489  __cil_tmp18 = (unsigned long )__cil_tmp17;
 7490#line 153
 7491  __cil_tmp19 = ops->free_coherent;
 7492#line 153
 7493  __cil_tmp20 = (unsigned long )__cil_tmp19;
 7494#line 153
 7495  if (__cil_tmp20 != __cil_tmp18) {
 7496    {
 7497#line 154
 7498    __cil_tmp21 = ops->free_coherent;
 7499#line 154
 7500    (*__cil_tmp21)(dev, size, vaddr, bus);
 7501    }
 7502  } else {
 7503
 7504  }
 7505  }
 7506#line 155
 7507  return;
 7508}
 7509}
 7510#line 16 "include/asm-generic/pci-dma-compat.h"
 7511__inline static void *pci_alloc_consistent(struct pci_dev *hwdev , size_t size , dma_addr_t *dma_handle ) 
 7512{ struct device *tmp ;
 7513  void *tmp___0 ;
 7514  struct pci_dev *__cil_tmp6 ;
 7515  unsigned long __cil_tmp7 ;
 7516  unsigned long __cil_tmp8 ;
 7517
 7518  {
 7519  {
 7520#line 19
 7521  __cil_tmp6 = (struct pci_dev *)0;
 7522#line 19
 7523  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7524#line 19
 7525  __cil_tmp8 = (unsigned long )hwdev;
 7526#line 19
 7527  if (__cil_tmp8 != __cil_tmp7) {
 7528#line 19
 7529    tmp = & hwdev->dev;
 7530  } else {
 7531#line 19
 7532    tmp = (struct device *)0;
 7533  }
 7534  }
 7535  {
 7536#line 19
 7537  tmp___0 = dma_alloc_coherent(tmp, size, dma_handle, 32U);
 7538  }
 7539#line 19
 7540  return (tmp___0);
 7541}
 7542}
 7543#line 23 "include/asm-generic/pci-dma-compat.h"
 7544__inline static void pci_free_consistent(struct pci_dev *hwdev , size_t size , void *vaddr ,
 7545                                         dma_addr_t dma_handle ) 
 7546{ struct device *tmp ;
 7547  struct pci_dev *__cil_tmp6 ;
 7548  unsigned long __cil_tmp7 ;
 7549  unsigned long __cil_tmp8 ;
 7550
 7551  {
 7552  {
 7553#line 26
 7554  __cil_tmp6 = (struct pci_dev *)0;
 7555#line 26
 7556  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7557#line 26
 7558  __cil_tmp8 = (unsigned long )hwdev;
 7559#line 26
 7560  if (__cil_tmp8 != __cil_tmp7) {
 7561#line 26
 7562    tmp = & hwdev->dev;
 7563  } else {
 7564#line 26
 7565    tmp = (struct device *)0;
 7566  }
 7567  }
 7568  {
 7569#line 26
 7570  dma_free_coherent(tmp, size, vaddr, dma_handle);
 7571  }
 7572#line 27
 7573  return;
 7574}
 7575}
 7576#line 30 "include/asm-generic/pci-dma-compat.h"
 7577__inline static dma_addr_t pci_map_single(struct pci_dev *hwdev , void *ptr , size_t size ,
 7578                                          int direction ) 
 7579{ struct device *tmp ;
 7580  dma_addr_t tmp___0 ;
 7581  struct pci_dev *__cil_tmp7 ;
 7582  unsigned long __cil_tmp8 ;
 7583  unsigned long __cil_tmp9 ;
 7584  enum dma_data_direction __cil_tmp10 ;
 7585  struct dma_attrs *__cil_tmp11 ;
 7586
 7587  {
 7588  {
 7589#line 32
 7590  __cil_tmp7 = (struct pci_dev *)0;
 7591#line 32
 7592  __cil_tmp8 = (unsigned long )__cil_tmp7;
 7593#line 32
 7594  __cil_tmp9 = (unsigned long )hwdev;
 7595#line 32
 7596  if (__cil_tmp9 != __cil_tmp8) {
 7597#line 32
 7598    tmp = & hwdev->dev;
 7599  } else {
 7600#line 32
 7601    tmp = (struct device *)0;
 7602  }
 7603  }
 7604  {
 7605#line 32
 7606  __cil_tmp10 = (enum dma_data_direction )direction;
 7607#line 32
 7608  __cil_tmp11 = (struct dma_attrs *)0;
 7609#line 32
 7610  tmp___0 = dma_map_single_attrs(tmp, ptr, size, __cil_tmp10, __cil_tmp11);
 7611  }
 7612#line 32
 7613  return (tmp___0);
 7614}
 7615}
 7616#line 36 "include/asm-generic/pci-dma-compat.h"
 7617__inline static void pci_unmap_single(struct pci_dev *hwdev , dma_addr_t dma_addr ,
 7618                                      size_t size , int direction ) 
 7619{ struct device *tmp ;
 7620  struct pci_dev *__cil_tmp6 ;
 7621  unsigned long __cil_tmp7 ;
 7622  unsigned long __cil_tmp8 ;
 7623  enum dma_data_direction __cil_tmp9 ;
 7624  struct dma_attrs *__cil_tmp10 ;
 7625
 7626  {
 7627  {
 7628#line 39
 7629  __cil_tmp6 = (struct pci_dev *)0;
 7630#line 39
 7631  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7632#line 39
 7633  __cil_tmp8 = (unsigned long )hwdev;
 7634#line 39
 7635  if (__cil_tmp8 != __cil_tmp7) {
 7636#line 39
 7637    tmp = & hwdev->dev;
 7638  } else {
 7639#line 39
 7640    tmp = (struct device *)0;
 7641  }
 7642  }
 7643  {
 7644#line 39
 7645  __cil_tmp9 = (enum dma_data_direction )direction;
 7646#line 39
 7647  __cil_tmp10 = (struct dma_attrs *)0;
 7648#line 39
 7649  dma_unmap_single_attrs(tmp, dma_addr, size, __cil_tmp9, __cil_tmp10);
 7650  }
 7651#line 40
 7652  return;
 7653}
 7654}
 7655#line 105 "include/asm-generic/pci-dma-compat.h"
 7656__inline static int pci_set_dma_mask(struct pci_dev *dev , u64 mask ) 
 7657{ int tmp ;
 7658  struct device *__cil_tmp4 ;
 7659
 7660  {
 7661  {
 7662#line 107
 7663  __cil_tmp4 = & dev->dev;
 7664#line 107
 7665  tmp = dma_set_mask(__cil_tmp4, mask);
 7666  }
 7667#line 107
 7668  return (tmp);
 7669}
 7670}
 7671#line 1316 "include/linux/pci.h"
 7672__inline static void *pci_get_drvdata(struct pci_dev *pdev ) 
 7673{ void *tmp ;
 7674  struct device *__cil_tmp3 ;
 7675  struct device  const  *__cil_tmp4 ;
 7676
 7677  {
 7678  {
 7679#line 1318
 7680  __cil_tmp3 = & pdev->dev;
 7681#line 1318
 7682  __cil_tmp4 = (struct device  const  *)__cil_tmp3;
 7683#line 1318
 7684  tmp = dev_get_drvdata(__cil_tmp4);
 7685  }
 7686#line 1318
 7687  return (tmp);
 7688}
 7689}
 7690#line 1321 "include/linux/pci.h"
 7691__inline static void pci_set_drvdata(struct pci_dev *pdev , void *data ) 
 7692{ struct device *__cil_tmp3 ;
 7693
 7694  {
 7695  {
 7696#line 1323
 7697  __cil_tmp3 = & pdev->dev;
 7698#line 1323
 7699  dev_set_drvdata(__cil_tmp3, data);
 7700  }
 7701#line 1324
 7702  return;
 7703}
 7704}
 7705#line 16 "include/scsi/scsicam.h"
 7706extern int scsi_partsize(unsigned char * , unsigned long  , unsigned int * , unsigned int * ,
 7707                         unsigned int * ) ;
 7708#line 18
 7709extern unsigned char *scsi_bios_ptable(struct block_device * ) ;
 7710#line 148 "include/scsi/scsi_cmnd.h"
 7711extern int scsi_dma_map(struct scsi_cmnd * ) ;
 7712#line 149
 7713extern void scsi_dma_unmap(struct scsi_cmnd * ) ;
 7714#line 151
 7715extern struct scsi_cmnd *scsi_allocate_command(gfp_t  ) ;
 7716#line 152
 7717extern void scsi_free_command(gfp_t  , struct scsi_cmnd * ) ;
 7718#line 154 "include/scsi/scsi_cmnd.h"
 7719__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd ) 
 7720{ 
 7721
 7722  {
 7723#line 156
 7724  return (cmd->sdb.table.nents);
 7725}
 7726}
 7727#line 159 "include/scsi/scsi_cmnd.h"
 7728__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd ) 
 7729{ 
 7730
 7731  {
 7732#line 161
 7733  return (cmd->sdb.table.sgl);
 7734}
 7735}
 7736#line 332 "include/scsi/scsi.h"
 7737extern char const   *scsi_device_type(unsigned int  ) ;
 7738#line 762 "include/scsi/scsi_host.h"
 7739extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template * , int  ) ;
 7740#line 763
 7741extern int scsi_add_host_with_dma(struct Scsi_Host * , struct device * , struct device * ) ;
 7742#line 766
 7743extern void scsi_scan_host(struct Scsi_Host * ) ;
 7744#line 768
 7745extern void scsi_remove_host(struct Scsi_Host * ) ;
 7746#line 770
 7747extern void scsi_host_put(struct Scsi_Host * ) ;
 7748#line 773
 7749extern void scsi_cmd_get_serial(struct Scsi_Host * , struct scsi_cmnd * ) ;
 7750#line 777 "include/scsi/scsi_host.h"
 7751__inline static int scsi_add_host(struct Scsi_Host *host , struct device *dev ) 
 7752{ int tmp ;
 7753
 7754  {
 7755  {
 7756#line 780
 7757  tmp = scsi_add_host_with_dma(host, dev, dev);
 7758  }
 7759#line 780
 7760  return (tmp);
 7761}
 7762}
 7763#line 984 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/megaraid.h"
 7764char const   *megaraid_info(struct Scsi_Host *host ) ;
 7765#line 986
 7766static int mega_query_adapter(adapter_t *adapter ) ;
 7767#line 987
 7768static int issue_scb(adapter_t *adapter , scb_t *scb ) ;
 7769#line 988
 7770static int mega_setup_mailbox(adapter_t *adapter ) ;
 7771#line 990
 7772static int megaraid_queue(struct Scsi_Host *shost , struct scsi_cmnd *cmd ) ;
 7773#line 991
 7774static scb_t *mega_build_cmd(adapter_t *adapter , Scsi_Cmnd *cmd , int *busy ) ;
 7775#line 992
 7776static void __mega_runpendq(adapter_t *adapter ) ;
 7777#line 993
 7778static int issue_scb_block(adapter_t *adapter , u_char *raw_mbox ) ;
 7779#line 995
 7780static irqreturn_t megaraid_isr_memmapped(int irq , void *devp ) ;
 7781#line 996
 7782static irqreturn_t megaraid_isr_iomapped(int irq , void *devp ) ;
 7783#line 998
 7784static void mega_free_scb(adapter_t *adapter , scb_t *scb ) ;
 7785#line 1000
 7786static int megaraid_abort(Scsi_Cmnd *cmd ) ;
 7787#line 1001
 7788static int megaraid_reset(struct scsi_cmnd *cmd ) ;
 7789#line 1002
 7790static int megaraid_abort_and_reset(adapter_t *adapter , Scsi_Cmnd *cmd , int aor ) ;
 7791#line 1003
 7792static int megaraid_biosparam(struct scsi_device *sdev , struct block_device *bdev ,
 7793                              sector_t capacity , int *geom ) ;
 7794#line 1006
 7795static int mega_build_sglist(adapter_t *adapter , scb_t *scb , u32 *buf , u32 *len ) ;
 7796#line 1008
 7797static int __mega_busywait_mbox(adapter_t *adapter ) ;
 7798#line 1009
 7799static void mega_rundoneq(adapter_t *adapter ) ;
 7800#line 1010
 7801static void mega_cmd_done(adapter_t *adapter , u8 *completed , int nstatus , int status ) ;
 7802#line 1011
 7803__inline static void mega_free_sgl(adapter_t *adapter ) ;
 7804#line 1012
 7805static void mega_8_to_40ld(mraid_inquiry *inquiry , mega_inquiry3 *enquiry3 , mega_product_info *product_info ) ;
 7806#line 1015
 7807static int megadev_open(struct inode *inode , struct file *filep ) ;
 7808#line 1016
 7809static int megadev_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) ;
 7810#line 1017
 7811static int mega_m_to_n(void *arg , nitioctl_t *uioc ) ;
 7812#line 1018
 7813static int mega_n_to_m(void *arg , megacmd_t *mc ) ;
 7814#line 1020
 7815static int mega_init_scb(adapter_t *adapter ) ;
 7816#line 1022
 7817static int mega_is_bios_enabled(adapter_t *adapter ) ;
 7818#line 1025
 7819static int mega_print_inquiry(char *page , char *scsi_inq ) ;
 7820#line 1026
 7821static void mega_create_proc_entry(int index , struct proc_dir_entry *parent ) ;
 7822#line 1027
 7823static int proc_read_config(char *page , char **start , off_t offset , int count ,
 7824                            int *eof , void *data ) ;
 7825#line 1028
 7826static int proc_read_stat(char *page , char **start , off_t offset , int count , int *eof ,
 7827                          void *data ) ;
 7828#line 1029
 7829static int proc_read_mbox(char *page , char **start , off_t offset , int count , int *eof ,
 7830                          void *data ) ;
 7831#line 1030
 7832static int proc_rebuild_rate(char *page , char **start , off_t offset , int count ,
 7833                             int *eof , void *data ) ;
 7834#line 1031
 7835static int proc_battery(char *page , char **start , off_t offset , int count , int *eof ,
 7836                        void *data ) ;
 7837#line 1032
 7838static int proc_pdrv_ch0(char *page , char **start , off_t offset , int count , int *eof ,
 7839                         void *data ) ;
 7840#line 1033
 7841static int proc_pdrv_ch1(char *page , char **start , off_t offset , int count , int *eof ,
 7842                         void *data ) ;
 7843#line 1034
 7844static int proc_pdrv_ch2(char *page , char **start , off_t offset , int count , int *eof ,
 7845                         void *data ) ;
 7846#line 1035
 7847static int proc_pdrv_ch3(char *page , char **start , off_t offset , int count , int *eof ,
 7848                         void *data ) ;
 7849#line 1036
 7850static int proc_pdrv(adapter_t *adapter , char *page , int channel ) ;
 7851#line 1037
 7852static int proc_rdrv_10(char *page , char **start , off_t offset , int count , int *eof ,
 7853                        void *data ) ;
 7854#line 1038
 7855static int proc_rdrv_20(char *page , char **start , off_t offset , int count , int *eof ,
 7856                        void *data ) ;
 7857#line 1039
 7858static int proc_rdrv_30(char *page , char **start , off_t offset , int count , int *eof ,
 7859                        void *data ) ;
 7860#line 1040
 7861static int proc_rdrv_40(char *page , char **start , off_t offset , int count , int *eof ,
 7862                        void *data ) ;
 7863#line 1041
 7864static int proc_rdrv(adapter_t *adapter , char *page , int start , int end ) ;
 7865#line 1043
 7866static int mega_adapinq(adapter_t *adapter , dma_addr_t dma_handle ) ;
 7867#line 1044
 7868static int mega_internal_dev_inquiry(adapter_t *adapter , u8 ch , u8 tgt , dma_addr_t buf_dma_handle ) ;
 7869#line 1047
 7870static int mega_support_ext_cdb(adapter_t *adapter ) ;
 7871#line 1048
 7872static mega_passthru *mega_prepare_passthru(adapter_t *adapter , scb_t *scb , Scsi_Cmnd *cmd ,
 7873                                            int channel , int target ) ;
 7874#line 1050
 7875static mega_ext_passthru *mega_prepare_extpassthru(adapter_t *adapter , scb_t *scb ,
 7876                                                   Scsi_Cmnd *cmd , int channel ,
 7877                                                   int target ) ;
 7878#line 1052
 7879static void mega_enum_raid_scsi(adapter_t *adapter ) ;
 7880#line 1053
 7881static void mega_get_boot_drv(adapter_t *adapter ) ;
 7882#line 1054
 7883static int mega_support_random_del(adapter_t *adapter ) ;
 7884#line 1055
 7885static int mega_del_logdrv(adapter_t *adapter , int logdrv ) ;
 7886#line 1056
 7887static int mega_do_del_logdrv(adapter_t *adapter , int logdrv ) ;
 7888#line 1057
 7889static void mega_get_max_sgl(adapter_t *adapter ) ;
 7890#line 1058
 7891static int mega_internal_command(adapter_t *adapter , megacmd_t *mc , mega_passthru *pthru ) ;
 7892#line 1059
 7893static void mega_internal_done(Scsi_Cmnd *scmd ) ;
 7894#line 1060
 7895static int mega_support_cluster(adapter_t *adapter ) ;
 7896#line 73 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7897static struct mutex megadev_mutex  =    {{1}, {{{{0U}, 3735899821U, 4294967295U, (void *)1152921504606846975UL, {(struct lock_class_key *)0,
 7898                                                                            {(struct lock_class *)0,
 7899                                                                             (struct lock_class *)0},
 7900                                                                            "megadev_mutex.wait_lock",
 7901                                                                            0, 0UL}}}},
 7902    {& megadev_mutex.wait_list, & megadev_mutex.wait_list}, (struct task_struct *)0,
 7903    (char const   *)0, (void *)(& megadev_mutex), {(struct lock_class_key *)0, {(struct lock_class *)0,
 7904                                                                                (struct lock_class *)0},
 7905                                                   "megadev_mutex", 0, 0UL}};
 7906#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7907static unsigned int max_cmd_per_lun  =    63U;
 7908#line 78 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7909static unsigned short max_sectors_per_io  =    (unsigned short)128;
 7910#line 83 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7911static unsigned short max_mbox_busy_wait  =    (unsigned short)10;
 7912#line 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7913static int hba_count  ;
 7914#line 97 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7915static adapter_t *hba_soft_state[32U]  ;
 7916#line 98 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7917static struct proc_dir_entry *mega_proc_dir_entry  ;
 7918#line 101 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7919static struct mega_hbas mega_hbas[32U]  ;
 7920#line 104
 7921static long megadev_unlocked_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) ;
 7922#line 109 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7923static struct file_operations  const  megadev_fops  = 
 7924#line 109
 7925     {& __this_module, & noop_llseek, (ssize_t (*)(struct file * , char * , size_t  ,
 7926                                                 loff_t * ))0, (ssize_t (*)(struct file * ,
 7927                                                                            char const   * ,
 7928                                                                            size_t  ,
 7929                                                                            loff_t * ))0,
 7930    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
 7931    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
 7932    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
 7933                                              u64  , unsigned int  ) ))0, (unsigned int (*)(struct file * ,
 7934                                                                                            struct poll_table_struct * ))0,
 7935    & megadev_unlocked_ioctl, (long (*)(struct file * , unsigned int  , unsigned long  ))0,
 7936    (int (*)(struct file * , struct vm_area_struct * ))0, & megadev_open, (int (*)(struct file * ,
 7937                                                                                   fl_owner_t  ))0,
 7938    (int (*)(struct inode * , struct file * ))0, (int (*)(struct file * , int  ))0,
 7939    (int (*)(struct kiocb * , int  ))0, (int (*)(int  , struct file * , int  ))0,
 7940    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
 7941                                                                         struct page * ,
 7942                                                                         int  , size_t  ,
 7943                                                                         loff_t * ,
 7944                                                                         int  ))0,
 7945    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
 7946                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
 7947                                                                       int  , struct file_lock * ))0,
 7948    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
 7949    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
 7950    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
 7951                                                                        int  , loff_t  ,
 7952                                                                        loff_t  ))0};
 7953#line 121 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7954static struct mcontroller mcontroller[32U]  ;
 7955#line 124 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7956static u32 driver_ver  =    33554432U;
 7957#line 127 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7958static int major  ;
 7959#line 135 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7960static int trace_level  ;
 7961#line 144 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 7962static int mega_setup_mailbox(adapter_t *adapter ) 
 7963{ unsigned long align ;
 7964  void *tmp ;
 7965  struct pci_dev *__cil_tmp4 ;
 7966  dma_addr_t *__cil_tmp5 ;
 7967  mbox64_t *__cil_tmp6 ;
 7968  unsigned long __cil_tmp7 ;
 7969  mbox64_t *__cil_tmp8 ;
 7970  unsigned long __cil_tmp9 ;
 7971  mbox64_t *__cil_tmp10 ;
 7972  mbox_t *__cil_tmp11 ;
 7973  mbox_t volatile   *__cil_tmp12 ;
 7974  unsigned long __cil_tmp13 ;
 7975  unsigned long __cil_tmp14 ;
 7976  unsigned long __cil_tmp15 ;
 7977  mbox_t volatile   *__cil_tmp16 ;
 7978  unsigned long __cil_tmp17 ;
 7979  unsigned long __cil_tmp18 ;
 7980  mbox64_t *__cil_tmp19 ;
 7981  mbox_t *__cil_tmp20 ;
 7982  long __cil_tmp21 ;
 7983  mbox_t volatile   *__cil_tmp22 ;
 7984  long __cil_tmp23 ;
 7985  long __cil_tmp24 ;
 7986  unsigned long long __cil_tmp25 ;
 7987  dma_addr_t __cil_tmp26 ;
 7988  dma_addr_t __cil_tmp27 ;
 7989  u32 __cil_tmp28 ;
 7990  long __cil_tmp29 ;
 7991  long __cil_tmp30 ;
 7992  dma_addr_t __cil_tmp31 ;
 7993  unsigned char __cil_tmp32 ;
 7994  int __cil_tmp33 ;
 7995  unsigned char __cil_tmp34 ;
 7996  struct Scsi_Host *__cil_tmp35 ;
 7997  unsigned long __cil_tmp36 ;
 7998  unsigned int __cil_tmp37 ;
 7999  unsigned int __cil_tmp38 ;
 8000  int __cil_tmp39 ;
 8001  dma_addr_t __cil_tmp40 ;
 8002  dma_addr_t __cil_tmp41 ;
 8003  unsigned char __cil_tmp42 ;
 8004  int __cil_tmp43 ;
 8005  unsigned char __cil_tmp44 ;
 8006  struct Scsi_Host *__cil_tmp45 ;
 8007  unsigned long __cil_tmp46 ;
 8008  unsigned int __cil_tmp47 ;
 8009  unsigned int __cil_tmp48 ;
 8010  int __cil_tmp49 ;
 8011  dma_addr_t __cil_tmp50 ;
 8012  dma_addr_t __cil_tmp51 ;
 8013  unsigned char __cil_tmp52 ;
 8014  int __cil_tmp53 ;
 8015  unsigned char __cil_tmp54 ;
 8016  struct Scsi_Host *__cil_tmp55 ;
 8017  unsigned long __cil_tmp56 ;
 8018  unsigned int __cil_tmp57 ;
 8019  unsigned int __cil_tmp58 ;
 8020  int __cil_tmp59 ;
 8021  dma_addr_t __cil_tmp60 ;
 8022  dma_addr_t __cil_tmp61 ;
 8023  unsigned char __cil_tmp62 ;
 8024  int __cil_tmp63 ;
 8025  unsigned char __cil_tmp64 ;
 8026  struct Scsi_Host *__cil_tmp65 ;
 8027  unsigned long __cil_tmp66 ;
 8028  unsigned int __cil_tmp67 ;
 8029  unsigned int __cil_tmp68 ;
 8030  int __cil_tmp69 ;
 8031  struct Scsi_Host *__cil_tmp70 ;
 8032  unsigned long __cil_tmp71 ;
 8033  unsigned int __cil_tmp72 ;
 8034  unsigned int __cil_tmp73 ;
 8035  int __cil_tmp74 ;
 8036  unsigned long __cil_tmp75 ;
 8037  int __cil_tmp76 ;
 8038  unsigned long __cil_tmp77 ;
 8039  unsigned int __cil_tmp78 ;
 8040  unsigned int __cil_tmp79 ;
 8041  int __cil_tmp80 ;
 8042
 8043  {
 8044  {
 8045#line 148
 8046  __cil_tmp4 = adapter->dev;
 8047#line 148
 8048  __cil_tmp5 = & adapter->una_mbox64_dma;
 8049#line 148
 8050  tmp = pci_alloc_consistent(__cil_tmp4, 74UL, __cil_tmp5);
 8051#line 148
 8052  adapter->una_mbox64 = (mbox64_t *)tmp;
 8053  }
 8054  {
 8055#line 151
 8056  __cil_tmp6 = (mbox64_t *)0;
 8057#line 151
 8058  __cil_tmp7 = (unsigned long )__cil_tmp6;
 8059#line 151
 8060  __cil_tmp8 = adapter->una_mbox64;
 8061#line 151
 8062  __cil_tmp9 = (unsigned long )__cil_tmp8;
 8063#line 151
 8064  if (__cil_tmp9 == __cil_tmp7) {
 8065#line 151
 8066    return (-1);
 8067  } else {
 8068
 8069  }
 8070  }
 8071#line 153
 8072  __cil_tmp10 = adapter->una_mbox64;
 8073#line 153
 8074  __cil_tmp11 = & __cil_tmp10->mbox;
 8075#line 153
 8076  adapter->mbox = (mbox_t volatile   *)__cil_tmp11;
 8077#line 155
 8078  __cil_tmp12 = adapter->mbox;
 8079#line 155
 8080  __cil_tmp13 = (unsigned long )__cil_tmp12;
 8081#line 155
 8082  __cil_tmp14 = __cil_tmp13 + 15UL;
 8083#line 155
 8084  __cil_tmp15 = __cil_tmp14 & 1152921504606846960UL;
 8085#line 155
 8086  adapter->mbox = (mbox_t volatile   *)__cil_tmp15;
 8087#line 158
 8088  __cil_tmp16 = adapter->mbox;
 8089#line 158
 8090  __cil_tmp17 = (unsigned long )__cil_tmp16;
 8091#line 158
 8092  __cil_tmp18 = __cil_tmp17 - 8UL;
 8093#line 158
 8094  adapter->mbox64 = (mbox64_t volatile   *)__cil_tmp18;
 8095#line 160
 8096  __cil_tmp19 = adapter->una_mbox64;
 8097#line 160
 8098  __cil_tmp20 = & __cil_tmp19->mbox;
 8099#line 160
 8100  __cil_tmp21 = (long )__cil_tmp20;
 8101#line 160
 8102  __cil_tmp22 = adapter->mbox;
 8103#line 160
 8104  __cil_tmp23 = (long )__cil_tmp22;
 8105#line 160
 8106  __cil_tmp24 = __cil_tmp23 - __cil_tmp21;
 8107#line 160
 8108  align = (unsigned long )__cil_tmp24;
 8109#line 162
 8110  __cil_tmp25 = (unsigned long long )align;
 8111#line 162
 8112  __cil_tmp26 = adapter->una_mbox64_dma;
 8113#line 162
 8114  __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
 8115#line 162
 8116  adapter->mbox_dma = __cil_tmp27 + 8ULL;
 8117  {
 8118#line 167
 8119  __cil_tmp28 = adapter->flag;
 8120#line 167
 8121  __cil_tmp29 = (long )__cil_tmp28;
 8122#line 167
 8123  __cil_tmp30 = __cil_tmp29 & 268435456L;
 8124#line 167
 8125  if (__cil_tmp30 != 0L) {
 8126    {
 8127#line 169
 8128    __cil_tmp31 = adapter->mbox_dma;
 8129#line 169
 8130    __cil_tmp32 = (unsigned char )__cil_tmp31;
 8131#line 169
 8132    __cil_tmp33 = (int )__cil_tmp32;
 8133#line 169
 8134    __cil_tmp34 = (unsigned char )__cil_tmp33;
 8135#line 169
 8136    __cil_tmp35 = adapter->host;
 8137#line 169
 8138    __cil_tmp36 = __cil_tmp35->io_port;
 8139#line 169
 8140    __cil_tmp37 = (unsigned int )__cil_tmp36;
 8141#line 169
 8142    __cil_tmp38 = __cil_tmp37 + 4U;
 8143#line 169
 8144    __cil_tmp39 = (int )__cil_tmp38;
 8145#line 169
 8146    outb(__cil_tmp34, __cil_tmp39);
 8147#line 172
 8148    __cil_tmp40 = adapter->mbox_dma;
 8149#line 172
 8150    __cil_tmp41 = __cil_tmp40 >> 8;
 8151#line 172
 8152    __cil_tmp42 = (unsigned char )__cil_tmp41;
 8153#line 172
 8154    __cil_tmp43 = (int )__cil_tmp42;
 8155#line 172
 8156    __cil_tmp44 = (unsigned char )__cil_tmp43;
 8157#line 172
 8158    __cil_tmp45 = adapter->host;
 8159#line 172
 8160    __cil_tmp46 = __cil_tmp45->io_port;
 8161#line 172
 8162    __cil_tmp47 = (unsigned int )__cil_tmp46;
 8163#line 172
 8164    __cil_tmp48 = __cil_tmp47 + 5U;
 8165#line 172
 8166    __cil_tmp49 = (int )__cil_tmp48;
 8167#line 172
 8168    outb(__cil_tmp44, __cil_tmp49);
 8169#line 175
 8170    __cil_tmp50 = adapter->mbox_dma;
 8171#line 175
 8172    __cil_tmp51 = __cil_tmp50 >> 16;
 8173#line 175
 8174    __cil_tmp52 = (unsigned char )__cil_tmp51;
 8175#line 175
 8176    __cil_tmp53 = (int )__cil_tmp52;
 8177#line 175
 8178    __cil_tmp54 = (unsigned char )__cil_tmp53;
 8179#line 175
 8180    __cil_tmp55 = adapter->host;
 8181#line 175
 8182    __cil_tmp56 = __cil_tmp55->io_port;
 8183#line 175
 8184    __cil_tmp57 = (unsigned int )__cil_tmp56;
 8185#line 175
 8186    __cil_tmp58 = __cil_tmp57 + 6U;
 8187#line 175
 8188    __cil_tmp59 = (int )__cil_tmp58;
 8189#line 175
 8190    outb(__cil_tmp54, __cil_tmp59);
 8191#line 178
 8192    __cil_tmp60 = adapter->mbox_dma;
 8193#line 178
 8194    __cil_tmp61 = __cil_tmp60 >> 24;
 8195#line 178
 8196    __cil_tmp62 = (unsigned char )__cil_tmp61;
 8197#line 178
 8198    __cil_tmp63 = (int )__cil_tmp62;
 8199#line 178
 8200    __cil_tmp64 = (unsigned char )__cil_tmp63;
 8201#line 178
 8202    __cil_tmp65 = adapter->host;
 8203#line 178
 8204    __cil_tmp66 = __cil_tmp65->io_port;
 8205#line 178
 8206    __cil_tmp67 = (unsigned int )__cil_tmp66;
 8207#line 178
 8208    __cil_tmp68 = __cil_tmp67 + 7U;
 8209#line 178
 8210    __cil_tmp69 = (int )__cil_tmp68;
 8211#line 178
 8212    outb(__cil_tmp64, __cil_tmp69);
 8213#line 181
 8214    __cil_tmp70 = adapter->host;
 8215#line 181
 8216    __cil_tmp71 = __cil_tmp70->io_port;
 8217#line 181
 8218    __cil_tmp72 = (unsigned int )__cil_tmp71;
 8219#line 181
 8220    __cil_tmp73 = __cil_tmp72 + 11U;
 8221#line 181
 8222    __cil_tmp74 = (int )__cil_tmp73;
 8223#line 181
 8224    outb((unsigned char)0, __cil_tmp74);
 8225#line 184
 8226    __cil_tmp75 = adapter->base;
 8227#line 184
 8228    __cil_tmp76 = (int )__cil_tmp75;
 8229#line 184
 8230    outb_p((unsigned char)8, __cil_tmp76);
 8231#line 186
 8232    __cil_tmp77 = adapter->base;
 8233#line 186
 8234    __cil_tmp78 = (unsigned int )__cil_tmp77;
 8235#line 186
 8236    __cil_tmp79 = __cil_tmp78 + 1U;
 8237#line 186
 8238    __cil_tmp80 = (int )__cil_tmp79;
 8239#line 186
 8240    outb_p((unsigned char)192, __cil_tmp80);
 8241    }
 8242  } else {
 8243
 8244  }
 8245  }
 8246#line 189
 8247  return (0);
 8248}
 8249}
 8250#line 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 8251static int mega_query_adapter(adapter_t *adapter ) 
 8252{ dma_addr_t prod_info_dma_handle ;
 8253  mega_inquiry3 *inquiry3 ;
 8254  u8 raw_mbox[15U] ;
 8255  mbox_t *mbox ;
 8256  int retval ;
 8257  mraid_ext_inquiry *ext_inq ;
 8258  mraid_inquiry *inq ;
 8259  dma_addr_t dma_handle ;
 8260  void *tmp ;
 8261  size_t __len ;
 8262  void *__ret ;
 8263  size_t __len___0 ;
 8264  void *__ret___0 ;
 8265  u8 *__cil_tmp15 ;
 8266  void *__cil_tmp16 ;
 8267  struct mbox_out *__cil_tmp17 ;
 8268  void *__cil_tmp18 ;
 8269  dma_addr_t __cil_tmp19 ;
 8270  u8 *__cil_tmp20 ;
 8271  u_char *__cil_tmp21 ;
 8272  struct pci_dev *__cil_tmp22 ;
 8273  mraid_ext_inquiry *__cil_tmp23 ;
 8274  unsigned long __cil_tmp24 ;
 8275  unsigned long __cil_tmp25 ;
 8276  u_char *__cil_tmp26 ;
 8277  mega_product_info *__cil_tmp27 ;
 8278  struct pci_dev *__cil_tmp28 ;
 8279  void *__cil_tmp29 ;
 8280  u32 __cil_tmp30 ;
 8281  struct pci_dev *__cil_tmp31 ;
 8282  mega_product_info *__cil_tmp32 ;
 8283  void *__cil_tmp33 ;
 8284  u_char *__cil_tmp34 ;
 8285  struct pci_dev *__cil_tmp35 ;
 8286  struct Scsi_Host *__cil_tmp36 ;
 8287  u8 __cil_tmp37 ;
 8288  int __cil_tmp38 ;
 8289  int __cil_tmp39 ;
 8290  struct Scsi_Host *__cil_tmp40 ;
 8291  struct Scsi_Host *__cil_tmp41 ;
 8292  struct Scsi_Host *__cil_tmp42 ;
 8293  u8 __cil_tmp43 ;
 8294  unsigned int __cil_tmp44 ;
 8295  struct Scsi_Host *__cil_tmp45 ;
 8296  u8 __cil_tmp46 ;
 8297  int __cil_tmp47 ;
 8298  struct Scsi_Host *__cil_tmp48 ;
 8299  u8 __cil_tmp49 ;
 8300  u16 __cil_tmp50 ;
 8301  unsigned int __cil_tmp51 ;
 8302  u8 (*__cil_tmp52)[7U] ;
 8303  char *__cil_tmp53 ;
 8304  u8 __cil_tmp54 ;
 8305  int __cil_tmp55 ;
 8306  u8 __cil_tmp56 ;
 8307  int __cil_tmp57 ;
 8308  int __cil_tmp58 ;
 8309  u8 __cil_tmp59 ;
 8310  int __cil_tmp60 ;
 8311  int __cil_tmp61 ;
 8312  u8 __cil_tmp62 ;
 8313  int __cil_tmp63 ;
 8314  int __cil_tmp64 ;
 8315  u8 __cil_tmp65 ;
 8316  int __cil_tmp66 ;
 8317  int __cil_tmp67 ;
 8318  u8 (*__cil_tmp68)[7U] ;
 8319  char *__cil_tmp69 ;
 8320  u8 __cil_tmp70 ;
 8321  int __cil_tmp71 ;
 8322  u8 __cil_tmp72 ;
 8323  int __cil_tmp73 ;
 8324  int __cil_tmp74 ;
 8325  u8 __cil_tmp75 ;
 8326  int __cil_tmp76 ;
 8327  int __cil_tmp77 ;
 8328  u8 __cil_tmp78 ;
 8329  int __cil_tmp79 ;
 8330  int __cil_tmp80 ;
 8331  u8 __cil_tmp81 ;
 8332  int __cil_tmp82 ;
 8333  int __cil_tmp83 ;
 8334  u8 (*__cil_tmp84)[7U] ;
 8335  void *__cil_tmp85 ;
 8336  u8 (*__cil_tmp86)[16U] ;
 8337  void const   *__cil_tmp87 ;
 8338  u8 (*__cil_tmp88)[7U] ;
 8339  void *__cil_tmp89 ;
 8340  u8 (*__cil_tmp90)[16U] ;
 8341  void const   *__cil_tmp91 ;
 8342  u8 (*__cil_tmp92)[7U] ;
 8343  void *__cil_tmp93 ;
 8344  u8 (*__cil_tmp94)[16U] ;
 8345  void const   *__cil_tmp95 ;
 8346  u8 (*__cil_tmp96)[7U] ;
 8347  void *__cil_tmp97 ;
 8348  u8 (*__cil_tmp98)[16U] ;
 8349  void const   *__cil_tmp99 ;
 8350  u8 (*__cil_tmp100)[7U] ;
 8351  u8 *__cil_tmp101 ;
 8352  u8 (*__cil_tmp102)[7U] ;
 8353  u8 *__cil_tmp103 ;
 8354  u8 __cil_tmp104 ;
 8355  int __cil_tmp105 ;
 8356  int __cil_tmp106 ;
 8357
 8358  {
 8359  {
 8360#line 211
 8361  mbox = (mbox_t *)(& raw_mbox);
 8362#line 213
 8363  __cil_tmp15 = adapter->mega_buffer;
 8364#line 213
 8365  __cil_tmp16 = (void *)__cil_tmp15;
 8366#line 213
 8367  memset(__cil_tmp16, 0, 2048UL);
 8368#line 214
 8369  __cil_tmp17 = & mbox->m_out;
 8370#line 214
 8371  __cil_tmp18 = (void *)__cil_tmp17;
 8372#line 214
 8373  memset(__cil_tmp18, 0, 15UL);
 8374#line 221
 8375  __cil_tmp19 = adapter->buf_dma_handle;
 8376#line 221
 8377  mbox->m_out.xferaddr = (unsigned int )__cil_tmp19;
 8378#line 223
 8379  __cil_tmp20 = adapter->mega_buffer;
 8380#line 223
 8381  inquiry3 = (mega_inquiry3 *)__cil_tmp20;
 8382#line 225
 8383  raw_mbox[0] = (u8 )161U;
 8384#line 226
 8385  raw_mbox[2] = (u8 )15U;
 8386#line 227
 8387  raw_mbox[3] = (u8 )2U;
 8388#line 230
 8389  __cil_tmp21 = (u_char *)(& raw_mbox);
 8390#line 230
 8391  retval = issue_scb_block(adapter, __cil_tmp21);
 8392  }
 8393#line 230
 8394  if (retval != 0) {
 8395    {
 8396#line 237
 8397    __cil_tmp22 = adapter->dev;
 8398#line 237
 8399    tmp = pci_alloc_consistent(__cil_tmp22, 166UL, & dma_handle);
 8400#line 237
 8401    ext_inq = (mraid_ext_inquiry *)tmp;
 8402    }
 8403    {
 8404#line 240
 8405    __cil_tmp23 = (mraid_ext_inquiry *)0;
 8406#line 240
 8407    __cil_tmp24 = (unsigned long )__cil_tmp23;
 8408#line 240
 8409    __cil_tmp25 = (unsigned long )ext_inq;
 8410#line 240
 8411    if (__cil_tmp25 == __cil_tmp24) {
 8412#line 240
 8413      return (-1);
 8414    } else {
 8415
 8416    }
 8417    }
 8418    {
 8419#line 242
 8420    inq = & ext_inq->raid_inq;
 8421#line 244
 8422    mbox->m_out.xferaddr = (unsigned int )dma_handle;
 8423#line 247
 8424    mbox->m_out.cmd = (u8 )4U;
 8425#line 249
 8426    __cil_tmp26 = (u_char *)(& raw_mbox);
 8427#line 249
 8428    issue_scb_block(adapter, __cil_tmp26);
 8429#line 255
 8430    __cil_tmp27 = & adapter->product_info;
 8431#line 255
 8432    mega_8_to_40ld(inq, inquiry3, __cil_tmp27);
 8433#line 258
 8434    __cil_tmp28 = adapter->dev;
 8435#line 258
 8436    __cil_tmp29 = (void *)ext_inq;
 8437#line 258
 8438    pci_free_consistent(__cil_tmp28, 166UL, __cil_tmp29, dma_handle);
 8439    }
 8440  } else {
 8441    {
 8442#line 262
 8443    __cil_tmp30 = adapter->flag;
 8444#line 262
 8445    adapter->flag = __cil_tmp30 | 134217728U;
 8446#line 268
 8447    __cil_tmp31 = adapter->dev;
 8448#line 268
 8449    __cil_tmp32 = & adapter->product_info;
 8450#line 268
 8451    __cil_tmp33 = (void *)__cil_tmp32;
 8452#line 268
 8453    prod_info_dma_handle = pci_map_single(__cil_tmp31, __cil_tmp33, 1024UL, 2);
 8454#line 272
 8455    mbox->m_out.xferaddr = (u32 )prod_info_dma_handle;
 8456#line 274
 8457    raw_mbox[0] = (u8 )161U;
 8458#line 275
 8459    raw_mbox[2] = (u8 )14U;
 8460#line 277
 8461    __cil_tmp34 = (u_char *)(& raw_mbox);
 8462#line 277
 8463    retval = issue_scb_block(adapter, __cil_tmp34);
 8464    }
 8465#line 277
 8466    if (retval != 0) {
 8467      {
 8468#line 278
 8469      printk("<4>megaraid: Product_info cmd failed with error: %d\n", retval);
 8470      }
 8471    } else {
 8472
 8473    }
 8474    {
 8475#line 282
 8476    __cil_tmp35 = adapter->dev;
 8477#line 282
 8478    pci_unmap_single(__cil_tmp35, prod_info_dma_handle, 1024UL, 2);
 8479    }
 8480  }
 8481#line 290
 8482  __cil_tmp36 = adapter->host;
 8483#line 290
 8484  __cil_tmp37 = adapter->product_info.nchannels;
 8485#line 290
 8486  __cil_tmp38 = (int )__cil_tmp37;
 8487#line 290
 8488  __cil_tmp39 = __cil_tmp38 + 3;
 8489#line 290
 8490  __cil_tmp36->max_channel = (unsigned int )__cil_tmp39;
 8491#line 293
 8492  __cil_tmp40 = adapter->host;
 8493#line 293
 8494  __cil_tmp40->max_id = 16U;
 8495#line 295
 8496  __cil_tmp41 = adapter->host;
 8497#line 295
 8498  __cil_tmp41->max_lun = 7U;
 8499#line 297
 8500  __cil_tmp42 = adapter->host;
 8501#line 297
 8502  __cil_tmp42->cmd_per_lun = (short )max_cmd_per_lun;
 8503#line 299
 8504  adapter->numldrv = inquiry3->num_ldrv;
 8505#line 301
 8506  adapter->max_cmds = adapter->product_info.max_commands;
 8507  {
 8508#line 303
 8509  __cil_tmp43 = adapter->max_cmds;
 8510#line 303
 8511  __cil_tmp44 = (unsigned int )__cil_tmp43;
 8512#line 303
 8513  if (__cil_tmp44 > 126U) {
 8514#line 304
 8515    adapter->max_cmds = (u8 )126U;
 8516  } else {
 8517
 8518  }
 8519  }
 8520  {
 8521#line 306
 8522  __cil_tmp45 = adapter->host;
 8523#line 306
 8524  __cil_tmp46 = adapter->max_cmds;
 8525#line 306
 8526  __cil_tmp47 = (int )__cil_tmp46;
 8527#line 306
 8528  __cil_tmp45->can_queue = __cil_tmp47 + -1;
 8529#line 312
 8530  mega_get_max_sgl(adapter);
 8531#line 314
 8532  __cil_tmp48 = adapter->host;
 8533#line 314
 8534  __cil_tmp49 = adapter->sglen;
 8535#line 314
 8536  __cil_tmp48->sg_tablesize = (unsigned short )__cil_tmp49;
 8537  }
 8538  {
 8539#line 318
 8540  __cil_tmp50 = adapter->product_info.subsysvid;
 8541#line 318
 8542  __cil_tmp51 = (unsigned int )__cil_tmp50;
 8543#line 318
 8544  if (__cil_tmp51 == 4156U) {
 8545    {
 8546#line 319
 8547    __cil_tmp52 = & adapter->fw_version;
 8548#line 319
 8549    __cil_tmp53 = (char *)__cil_tmp52;
 8550#line 319
 8551    __cil_tmp54 = adapter->product_info.fw_version[2];
 8552#line 319
 8553    __cil_tmp55 = (int )__cil_tmp54;
 8554#line 319
 8555    __cil_tmp56 = adapter->product_info.fw_version[1];
 8556#line 319
 8557    __cil_tmp57 = (int )__cil_tmp56;
 8558#line 319
 8559    __cil_tmp58 = __cil_tmp57 >> 8;
 8560#line 319
 8561    __cil_tmp59 = adapter->product_info.fw_version[1];
 8562#line 319
 8563    __cil_tmp60 = (int )__cil_tmp59;
 8564#line 319
 8565    __cil_tmp61 = __cil_tmp60 & 15;
 8566#line 319
 8567    __cil_tmp62 = adapter->product_info.fw_version[0];
 8568#line 319
 8569    __cil_tmp63 = (int )__cil_tmp62;
 8570#line 319
 8571    __cil_tmp64 = __cil_tmp63 >> 8;
 8572#line 319
 8573    __cil_tmp65 = adapter->product_info.fw_version[0];
 8574#line 319
 8575    __cil_tmp66 = (int )__cil_tmp65;
 8576#line 319
 8577    __cil_tmp67 = __cil_tmp66 & 15;
 8578#line 319
 8579    sprintf(__cil_tmp53, "%c%d%d.%d%d", __cil_tmp55, __cil_tmp58, __cil_tmp61, __cil_tmp64,
 8580            __cil_tmp67);
 8581#line 325
 8582    __cil_tmp68 = & adapter->bios_version;
 8583#line 325
 8584    __cil_tmp69 = (char *)__cil_tmp68;
 8585#line 325
 8586    __cil_tmp70 = adapter->product_info.bios_version[2];
 8587#line 325
 8588    __cil_tmp71 = (int )__cil_tmp70;
 8589#line 325
 8590    __cil_tmp72 = adapter->product_info.bios_version[1];
 8591#line 325
 8592    __cil_tmp73 = (int )__cil_tmp72;
 8593#line 325
 8594    __cil_tmp74 = __cil_tmp73 >> 8;
 8595#line 325
 8596    __cil_tmp75 = adapter->product_info.bios_version[1];
 8597#line 325
 8598    __cil_tmp76 = (int )__cil_tmp75;
 8599#line 325
 8600    __cil_tmp77 = __cil_tmp76 & 15;
 8601#line 325
 8602    __cil_tmp78 = adapter->product_info.bios_version[0];
 8603#line 325
 8604    __cil_tmp79 = (int )__cil_tmp78;
 8605#line 325
 8606    __cil_tmp80 = __cil_tmp79 >> 8;
 8607#line 325
 8608    __cil_tmp81 = adapter->product_info.bios_version[0];
 8609#line 325
 8610    __cil_tmp82 = (int )__cil_tmp81;
 8611#line 325
 8612    __cil_tmp83 = __cil_tmp82 & 15;
 8613#line 325
 8614    sprintf(__cil_tmp69, "%c%d%d.%d%d", __cil_tmp71, __cil_tmp74, __cil_tmp77, __cil_tmp80,
 8615            __cil_tmp83);
 8616    }
 8617  } else {
 8618#line 332
 8619    __len = 4UL;
 8620#line 332
 8621    if (__len > 63UL) {
 8622      {
 8623#line 332
 8624      __cil_tmp84 = & adapter->fw_version;
 8625#line 332
 8626      __cil_tmp85 = (void *)__cil_tmp84;
 8627#line 332
 8628      __cil_tmp86 = & adapter->product_info.fw_version;
 8629#line 332
 8630      __cil_tmp87 = (void const   *)__cil_tmp86;
 8631#line 332
 8632      __ret = __memcpy(__cil_tmp85, __cil_tmp87, __len);
 8633      }
 8634    } else {
 8635      {
 8636#line 332
 8637      __cil_tmp88 = & adapter->fw_version;
 8638#line 332
 8639      __cil_tmp89 = (void *)__cil_tmp88;
 8640#line 332
 8641      __cil_tmp90 = & adapter->product_info.fw_version;
 8642#line 332
 8643      __cil_tmp91 = (void const   *)__cil_tmp90;
 8644#line 332
 8645      __ret = __builtin_memcpy(__cil_tmp89, __cil_tmp91, __len);
 8646      }
 8647    }
 8648#line 334
 8649    adapter->fw_version[4] = (u8 )0U;
 8650#line 336
 8651    __len___0 = 4UL;
 8652#line 336
 8653    if (__len___0 > 63UL) {
 8654      {
 8655#line 336
 8656      __cil_tmp92 = & adapter->bios_version;
 8657#line 336
 8658      __cil_tmp93 = (void *)__cil_tmp92;
 8659#line 336
 8660      __cil_tmp94 = & adapter->product_info.bios_version;
 8661#line 336
 8662      __cil_tmp95 = (void const   *)__cil_tmp94;
 8663#line 336
 8664      __ret___0 = __memcpy(__cil_tmp93, __cil_tmp95, __len___0);
 8665      }
 8666    } else {
 8667      {
 8668#line 336
 8669      __cil_tmp96 = & adapter->bios_version;
 8670#line 336
 8671      __cil_tmp97 = (void *)__cil_tmp96;
 8672#line 336
 8673      __cil_tmp98 = & adapter->product_info.bios_version;
 8674#line 336
 8675      __cil_tmp99 = (void const   *)__cil_tmp98;
 8676#line 336
 8677      __ret___0 = __builtin_memcpy(__cil_tmp97, __cil_tmp99, __len___0);
 8678      }
 8679    }
 8680#line 339
 8681    adapter->bios_version[4] = (u8 )0U;
 8682  }
 8683  }
 8684  {
 8685#line 342
 8686  __cil_tmp100 = & adapter->fw_version;
 8687#line 342
 8688  __cil_tmp101 = (u8 *)__cil_tmp100;
 8689#line 342
 8690  __cil_tmp102 = & adapter->bios_version;
 8691#line 342
 8692  __cil_tmp103 = (u8 *)__cil_tmp102;
 8693#line 342
 8694  __cil_tmp104 = adapter->numldrv;
 8695#line 342
 8696  __cil_tmp105 = (int )__cil_tmp104;
 8697#line 342
 8698  printk("<5>megaraid: [%s:%s] detected %d logical drives.\n", __cil_tmp101, __cil_tmp103,
 8699         __cil_tmp105);
 8700#line 348
 8701  adapter->support_ext_cdb = mega_support_ext_cdb(adapter);
 8702  }
 8703  {
 8704#line 349
 8705  __cil_tmp106 = adapter->support_ext_cdb;
 8706#line 349
 8707  if (__cil_tmp106 != 0) {
 8708    {
 8709#line 350
 8710    printk("<5>megaraid: supports extended CDBs.\n");
 8711    }
 8712  } else {
 8713
 8714  }
 8715  }
 8716#line 353
 8717  return (0);
 8718}
 8719}
 8720#line 363 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 8721__inline static void mega_runpendq(adapter_t *adapter ) 
 8722{ int tmp ;
 8723  struct list_head *__cil_tmp3 ;
 8724  struct list_head  const  *__cil_tmp4 ;
 8725
 8726  {
 8727  {
 8728#line 365
 8729  __cil_tmp3 = & adapter->pending_list;
 8730#line 365
 8731  __cil_tmp4 = (struct list_head  const  *)__cil_tmp3;
 8732#line 365
 8733  tmp = list_empty(__cil_tmp4);
 8734  }
 8735#line 365
 8736  if (tmp == 0) {
 8737    {
 8738#line 366
 8739    __mega_runpendq(adapter);
 8740    }
 8741  } else {
 8742
 8743  }
 8744#line 367
 8745  return;
 8746}
 8747}
 8748#line 377 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 8749static int megaraid_queue_lck(Scsi_Cmnd *scmd , void (*done)(Scsi_Cmnd * ) ) 
 8750{ adapter_t *adapter ;
 8751  scb_t *scb ;
 8752  int busy ;
 8753  unsigned long flags ;
 8754  raw_spinlock_t *tmp ;
 8755  int tmp___0 ;
 8756  struct scsi_device *__cil_tmp9 ;
 8757  struct Scsi_Host *__cil_tmp10 ;
 8758  unsigned long (*__cil_tmp11)[0U] ;
 8759  spinlock_t *__cil_tmp12 ;
 8760  scb_t *__cil_tmp13 ;
 8761  unsigned long __cil_tmp14 ;
 8762  unsigned long __cil_tmp15 ;
 8763  u32 __cil_tmp16 ;
 8764  struct list_head *__cil_tmp17 ;
 8765  struct list_head *__cil_tmp18 ;
 8766  atomic_t *__cil_tmp19 ;
 8767  atomic_t const   *__cil_tmp20 ;
 8768  spinlock_t *__cil_tmp21 ;
 8769
 8770  {
 8771  {
 8772#line 381
 8773  busy = 0;
 8774#line 384
 8775  __cil_tmp9 = scmd->device;
 8776#line 384
 8777  __cil_tmp10 = __cil_tmp9->host;
 8778#line 384
 8779  __cil_tmp11 = & __cil_tmp10->hostdata;
 8780#line 384
 8781  adapter = (adapter_t *)__cil_tmp11;
 8782#line 386
 8783  scmd->scsi_done = done;
 8784#line 398
 8785  __cil_tmp12 = & adapter->lock;
 8786#line 398
 8787  tmp = spinlock_check(__cil_tmp12);
 8788#line 398
 8789  flags = _raw_spin_lock_irqsave(tmp);
 8790#line 399
 8791  scb = mega_build_cmd(adapter, scmd, & busy);
 8792  }
 8793  {
 8794#line 400
 8795  __cil_tmp13 = (scb_t *)0;
 8796#line 400
 8797  __cil_tmp14 = (unsigned long )__cil_tmp13;
 8798#line 400
 8799  __cil_tmp15 = (unsigned long )scb;
 8800#line 400
 8801  if (__cil_tmp15 == __cil_tmp14) {
 8802#line 401
 8803    goto out;
 8804  } else {
 8805
 8806  }
 8807  }
 8808  {
 8809#line 403
 8810  __cil_tmp16 = scb->state;
 8811#line 403
 8812  scb->state = __cil_tmp16 | 2U;
 8813#line 404
 8814  __cil_tmp17 = & scb->list;
 8815#line 404
 8816  __cil_tmp18 = & adapter->pending_list;
 8817#line 404
 8818  list_add_tail(__cil_tmp17, __cil_tmp18);
 8819#line 411
 8820  __cil_tmp19 = & adapter->quiescent;
 8821#line 411
 8822  __cil_tmp20 = (atomic_t const   *)__cil_tmp19;
 8823#line 411
 8824  tmp___0 = atomic_read(__cil_tmp20);
 8825  }
 8826#line 411
 8827  if (tmp___0 == 0) {
 8828    {
 8829#line 412
 8830    mega_runpendq(adapter);
 8831    }
 8832  } else {
 8833
 8834  }
 8835#line 414
 8836  busy = 0;
 8837  out: 
 8838  {
 8839#line 416
 8840  __cil_tmp21 = & adapter->lock;
 8841#line 416
 8842  spin_unlock_irqrestore(__cil_tmp21, flags);
 8843  }
 8844#line 417
 8845  return (busy);
 8846}
 8847}
 8848#line 420 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 8849static int megaraid_queue(struct Scsi_Host *shost , struct scsi_cmnd *cmd ) 
 8850{ unsigned long irq_flags ;
 8851  int rc ;
 8852  raw_spinlock_t *tmp ;
 8853  spinlock_t *__cil_tmp6 ;
 8854  void (*__cil_tmp7)(struct scsi_cmnd * ) ;
 8855  spinlock_t *__cil_tmp8 ;
 8856
 8857  {
 8858  {
 8859#line 420
 8860  __cil_tmp6 = shost->host_lock;
 8861#line 420
 8862  tmp = spinlock_check(__cil_tmp6);
 8863#line 420
 8864  irq_flags = _raw_spin_lock_irqsave(tmp);
 8865#line 420
 8866  scsi_cmd_get_serial(shost, cmd);
 8867#line 420
 8868  __cil_tmp7 = cmd->scsi_done;
 8869#line 420
 8870  rc = megaraid_queue_lck(cmd, __cil_tmp7);
 8871#line 420
 8872  __cil_tmp8 = shost->host_lock;
 8873#line 420
 8874  spin_unlock_irqrestore(__cil_tmp8, irq_flags);
 8875  }
 8876#line 420
 8877  return (rc);
 8878}
 8879}
 8880#line 431 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 8881__inline static scb_t *mega_allocate_scb(adapter_t *adapter , Scsi_Cmnd *cmd ) 
 8882{ struct list_head *head ;
 8883  scb_t *scb ;
 8884  struct list_head  const  *__mptr ;
 8885  int tmp ;
 8886  struct list_head  const  *__cil_tmp7 ;
 8887  struct list_head *__cil_tmp8 ;
 8888  scb_t *__cil_tmp9 ;
 8889  struct list_head *__cil_tmp10 ;
 8890
 8891  {
 8892  {
 8893#line 433
 8894  head = & adapter->free_list;
 8895#line 437
 8896  __cil_tmp7 = (struct list_head  const  *)head;
 8897#line 437
 8898  tmp = list_empty(__cil_tmp7);
 8899  }
 8900#line 437
 8901  if (tmp == 0) {
 8902    {
 8903#line 439
 8904    __cil_tmp8 = head->next;
 8905#line 439
 8906    __mptr = (struct list_head  const  *)__cil_tmp8;
 8907#line 439
 8908    __cil_tmp9 = (scb_t *)__mptr;
 8909#line 439
 8910    scb = __cil_tmp9 + 1152921504606846968UL;
 8911#line 441
 8912    __cil_tmp10 = head->next;
 8913#line 441
 8914    list_del_init(__cil_tmp10);
 8915#line 443
 8916    scb->state = 1U;
 8917#line 444
 8918    scb->cmd = cmd;
 8919#line 445
 8920    scb->dma_type = 65535U;
 8921    }
 8922#line 447
 8923    return (scb);
 8924  } else {
 8925
 8926  }
 8927#line 450
 8928  return ((scb_t *)0);
 8929}
 8930}
 8931#line 463 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 8932__inline static int mega_get_ldrv_num(adapter_t *adapter , Scsi_Cmnd *cmd , int channel ) 
 8933{ int tgt ;
 8934  int ldrv_num ;
 8935  struct scsi_device *__cil_tmp6 ;
 8936  unsigned int __cil_tmp7 ;
 8937  int __cil_tmp8 ;
 8938  int __cil_tmp9 ;
 8939  int __cil_tmp10 ;
 8940  int __cil_tmp11 ;
 8941  int __cil_tmp12 ;
 8942  int __cil_tmp13 ;
 8943  unsigned char *__cil_tmp14 ;
 8944  unsigned char __cil_tmp15 ;
 8945  int __cil_tmp16 ;
 8946  unsigned char *__cil_tmp17 ;
 8947  unsigned char __cil_tmp18 ;
 8948  int __cil_tmp19 ;
 8949  unsigned char *__cil_tmp20 ;
 8950  unsigned char __cil_tmp21 ;
 8951  int __cil_tmp22 ;
 8952  unsigned char *__cil_tmp23 ;
 8953  unsigned char __cil_tmp24 ;
 8954  int __cil_tmp25 ;
 8955
 8956  {
 8957#line 468
 8958  __cil_tmp6 = cmd->device;
 8959#line 468
 8960  __cil_tmp7 = __cil_tmp6->id;
 8961#line 468
 8962  tgt = (int )__cil_tmp7;
 8963  {
 8964#line 470
 8965  __cil_tmp8 = adapter->this_id;
 8966#line 470
 8967  if (__cil_tmp8 < tgt) {
 8968#line 471
 8969    tgt = tgt - 1;
 8970  } else {
 8971
 8972  }
 8973  }
 8974#line 473
 8975  __cil_tmp9 = channel * 15;
 8976#line 473
 8977  ldrv_num = __cil_tmp9 + tgt;
 8978  {
 8979#line 479
 8980  __cil_tmp10 = adapter->boot_ldrv_enabled;
 8981#line 479
 8982  if (__cil_tmp10 != 0) {
 8983#line 480
 8984    if (ldrv_num == 0) {
 8985#line 481
 8986      ldrv_num = adapter->boot_ldrv;
 8987    } else {
 8988      {
 8989#line 484
 8990      __cil_tmp11 = adapter->boot_ldrv;
 8991#line 484
 8992      if (__cil_tmp11 >= ldrv_num) {
 8993#line 485
 8994        ldrv_num = ldrv_num - 1;
 8995      } else {
 8996
 8997      }
 8998      }
 8999    }
 9000  } else {
 9001
 9002  }
 9003  }
 9004  {
 9005#line 500
 9006  __cil_tmp12 = adapter->support_random_del;
 9007#line 500
 9008  if (__cil_tmp12 != 0) {
 9009    {
 9010#line 500
 9011    __cil_tmp13 = adapter->read_ldidmap;
 9012#line 500
 9013    if (__cil_tmp13 != 0) {
 9014      {
 9015#line 502
 9016      __cil_tmp14 = cmd->cmnd;
 9017#line 502
 9018      __cil_tmp15 = *__cil_tmp14;
 9019#line 502
 9020      __cil_tmp16 = (int )__cil_tmp15;
 9021#line 502
 9022      if (__cil_tmp16 == 8) {
 9023#line 502
 9024        goto case_8;
 9025      } else {
 9026        {
 9027#line 503
 9028        __cil_tmp17 = cmd->cmnd;
 9029#line 503
 9030        __cil_tmp18 = *__cil_tmp17;
 9031#line 503
 9032        __cil_tmp19 = (int )__cil_tmp18;
 9033#line 503
 9034        if (__cil_tmp19 == 10) {
 9035#line 503
 9036          goto case_10;
 9037        } else {
 9038          {
 9039#line 504
 9040          __cil_tmp20 = cmd->cmnd;
 9041#line 504
 9042          __cil_tmp21 = *__cil_tmp20;
 9043#line 504
 9044          __cil_tmp22 = (int )__cil_tmp21;
 9045#line 504
 9046          if (__cil_tmp22 == 40) {
 9047#line 504
 9048            goto case_40;
 9049          } else {
 9050            {
 9051#line 505
 9052            __cil_tmp23 = cmd->cmnd;
 9053#line 505
 9054            __cil_tmp24 = *__cil_tmp23;
 9055#line 505
 9056            __cil_tmp25 = (int )__cil_tmp24;
 9057#line 505
 9058            if (__cil_tmp25 == 42) {
 9059#line 505
 9060              goto case_42;
 9061            } else
 9062#line 501
 9063            if (0) {
 9064              case_8: ;
 9065              case_10: ;
 9066              case_40: ;
 9067              case_42: 
 9068#line 506
 9069              ldrv_num = ldrv_num + 128;
 9070            } else {
 9071
 9072            }
 9073            }
 9074          }
 9075          }
 9076        }
 9077        }
 9078      }
 9079      }
 9080    } else {
 9081
 9082    }
 9083    }
 9084  } else {
 9085
 9086  }
 9087  }
 9088#line 509
 9089  return (ldrv_num);
 9090}
 9091}
 9092#line 526 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
 9093static scb_t *mega_build_cmd(adapter_t *adapter , Scsi_Cmnd *cmd , int *busy ) 
 9094{ mega_ext_passthru *epthru ;
 9095  mega_passthru *pthru ;
 9096  scb_t *scb ;
 9097  mbox_t *mbox ;
 9098  long seg ;
 9099  char islogical ;
 9100  int max_ldrv_num ;
 9101  int channel ;
 9102  int target ;
 9103  int ldrv_num ;
 9104  char *buf ;
 9105  struct scatterlist *sg ;
 9106  struct page *tmp ;
 9107  void *tmp___0 ;
 9108  size_t __len ;
 9109  void *__ret ;
 9110  int tmp___1 ;
 9111  int tmp___2 ;
 9112  unsigned char *__cil_tmp22 ;
 9113  unsigned char __cil_tmp23 ;
 9114  unsigned int __cil_tmp24 ;
 9115  unsigned char *__cil_tmp25 ;
 9116  u8 __cil_tmp26 ;
 9117  int __cil_tmp27 ;
 9118  signed char __cil_tmp28 ;
 9119  int __cil_tmp29 ;
 9120  u8 __cil_tmp30 ;
 9121  unsigned int __cil_tmp31 ;
 9122  struct scsi_device *__cil_tmp32 ;
 9123  unsigned int __cil_tmp33 ;
 9124  unsigned int __cil_tmp34 ;
 9125  struct scsi_device *__cil_tmp35 ;
 9126  unsigned int __cil_tmp36 ;
 9127  struct scsi_device *__cil_tmp37 ;
 9128  unsigned int __cil_tmp38 ;
 9129  int __cil_tmp39 ;
 9130  signed char __cil_tmp40 ;
 9131  int __cil_tmp41 ;
 9132  struct scsi_device *__cil_tmp42 ;
 9133  unsigned int __cil_tmp43 ;
 9134  struct scsi_device *__cil_tmp44 ;
 9135  unsigned int __cil_tmp45 ;
 9136  unsigned int __cil_tmp46 ;
 9137  struct scsi_device *__cil_tmp47 ;
 9138  unsigned int __cil_tmp48 ;
 9139  signed char __cil_tmp49 ;
 9140  int __cil_tmp50 ;
 9141  struct scsi_device *__cil_tmp51 ;
 9142  unsigned int __cil_tmp52 ;
 9143  void (*__cil_tmp53)(struct scsi_cmnd * ) ;
 9144  u32 __cil_tmp54 ;
 9145  long __cil_tmp55 ;
 9146  long __cil_tmp56 ;
 9147  int __cil_tmp57 ;
 9148  void (*__cil_tmp58)(struct scsi_cmnd * ) ;
 9149  struct scsi_device *__cil_tmp59 ;
 9150  unsigned int __cil_tmp60 ;
 9151  void (*__cil_tmp61)(struct scsi_cmnd * ) ;
 9152  signed char __cil_tmp62 ;
 9153  int __cil_tmp63 ;
 9154  unsigned char *__cil_tmp64 ;
 9155  unsigned char __cil_tmp65 ;
 9156  int __cil_tmp66 ;
 9157  unsigned char *__cil_tmp67 ;
 9158  unsigned char __cil_tmp68 ;
 9159  int __cil_tmp69 ;
 9160  unsigned char *__cil_tmp70 ;
 9161  unsigned char __cil_tmp71 ;
 9162  int __cil_tmp72 ;
 9163  unsigned char *__cil_tmp73 ;
 9164  unsigned char __cil_tmp74 ;
 9165  int __cil_tmp75 ;
 9166  unsigned char *__cil_tmp76 ;
 9167  unsigned char __cil_tmp77 ;
 9168  int __cil_tmp78 ;
 9169  unsigned char *__cil_tmp79 ;
 9170  unsigned char __cil_tmp80 ;
 9171  int __cil_tmp81 ;
 9172  unsigned char *__cil_tmp82 ;
 9173  unsigned char __cil_tmp83 ;
 9174  int __cil_tmp84 ;
 9175  unsigned char *__cil_tmp85 ;
 9176  unsigned char __cil_tmp86 ;
 9177  int __cil_tmp87 ;
 9178  unsigned char *__cil_tmp88 ;
 9179  unsigned char __cil_tmp89 ;
 9180  int __cil_tmp90 ;
 9181  unsigned char *__cil_tmp91 ;
 9182  unsigned char __cil_tmp92 ;
 9183  int __cil_tmp93 ;
 9184  unsigned char *__cil_tmp94 ;
 9185  unsigned char __cil_tmp95 ;
 9186  int __cil_tmp96 ;
 9187  unsigned char *__cil_tmp97 ;
 9188  unsigned char __cil_tmp98 ;
 9189  int __cil_tmp99 ;
 9190  int __cil_tmp100 ;
 9191  void (*__cil_tmp101)(struct scsi_cmnd * ) ;
 9192  scb_t *__cil_tmp102 ;
 9193  unsigned long __cil_tmp103 ;
 9194  unsigned long __cil_tmp104 ;
 9195  unsigned int __cil_tmp105 ;
 9196  unsigned long __cil_tmp106 ;
 9197  char *__cil_tmp107 ;
 9198  void *__cil_tmp108 ;
 9199  unsigned char *__cil_tmp109 ;
 9200  unsigned char *__cil_tmp110 ;
 9201  unsigned char __cil_tmp111 ;
 9202  size_t __cil_tmp112 ;
 9203  unsigned int __cil_tmp113 ;
 9204  unsigned long __cil_tmp114 ;
 9205  unsigned long __cil_tmp115 ;
 9206  char *__cil_tmp116 ;
 9207  void *__cil_tmp117 ;
 9208  void (*__cil_tmp118)(struct scsi_cmnd * ) ;
 9209  struct scsi_device *__cil_tmp119 ;
 9210  unsigned int __cil_tmp120 ;
 9211  int __cil_tmp121 ;
 9212  u32 __cil_tmp122 ;
 9213  long __cil_tmp123 ;
 9214  long __cil_tmp124 ;
 9215  long __cil_tmp125 ;
 9216  struct Scsi_Host *__cil_tmp126 ;
 9217  unsigned int __cil_tmp127 ;
 9218  struct scsi_device *__cil_tmp128 ;
 9219  unsigned int __cil_tmp129 ;
 9220  struct scsi_device *__cil_tmp130 ;
 9221  unsigned int __cil_tmp131 ;
 9222  int __cil_tmp132 ;
 9223  long __cil_tmp133 ;
 9224  int __cil_tmp134 ;
 9225  u32 __cil_tmp135 ;
 9226  int __cil_tmp136 ;
 9227  int __cil_tmp137 ;
 9228  scb_t *__cil_tmp138 ;
 9229  unsigned long __cil_tmp139 ;
 9230  unsigned long __cil_tmp140 ;
 9231  u8 (*__cil_tmp141)[66U] ;
 9232  void *__cil_tmp142 ;
 9233  void *__cil_tmp143 ;
 9234  unsigned short __cil_tmp144 ;
 9235  unsigned short __cil_tmp145 ;
 9236  u8 (*__cil_tmp146)[10U] ;
 9237  void *__cil_tmp147 ;
 9238  unsigned char *__cil_tmp148 ;
 9239  void const   *__cil_tmp149 ;
 9240  int __cil_tmp150 ;
 9241  u32 *__cil_tmp151 ;
 9242  u32 *__cil_tmp152 ;
 9243  dma_addr_t __cil_tmp153 ;
 9244  scb_t *__cil_tmp154 ;
 9245  unsigned long __cil_tmp155 ;
 9246  unsigned long __cil_tmp156 ;
 9247  u8 (*__cil_tmp157)[66U] ;
 9248  void *__cil_tmp158 ;
 9249  int __cil_tmp159 ;
 9250  unsigned char *__cil_tmp160 ;
 9251  unsigned char __cil_tmp161 ;
 9252  int __cil_tmp162 ;
 9253  int __cil_tmp163 ;
 9254  unsigned char *__cil_tmp164 ;
 9255  unsigned char __cil_tmp165 ;
 9256  int __cil_tmp166 ;
 9257  int __cil_tmp167 ;
 9258  unsigned short __cil_tmp168 ;
 9259  unsigned int __cil_tmp169 ;
 9260  unsigned char *__cil_tmp170 ;
 9261  unsigned char *__cil_tmp171 ;
 9262  unsigned char __cil_tmp172 ;
 9263  unsigned char *__cil_tmp173 ;
 9264  unsigned char *__cil_tmp174 ;
 9265  unsigned char __cil_tmp175 ;
 9266  unsigned int __cil_tmp176 ;
 9267  unsigned char *__cil_tmp177 ;
 9268  unsigned char *__cil_tmp178 ;
 9269  unsigned char __cil_tmp179 ;
 9270  unsigned int __cil_tmp180 ;
 9271  unsigned int __cil_tmp181 ;
 9272  unsigned char *__cil_tmp182 ;
 9273  unsigned char *__cil_tmp183 ;
 9274  unsigned char __cil_tmp184 ;
 9275  unsigned int __cil_tmp185 ;
 9276  unsigned int __cil_tmp186 ;
 9277  unsigned int __cil_tmp187 ;
 9278  u32 __cil_tmp188 ;
 9279  unsigned short __cil_tmp189 ;
 9280  unsigned int __cil_tmp190 ;
 9281  unsigned char *__cil_tmp191 ;
 9282  unsigned char *__cil_tmp192 ;
 9283  unsigned char __cil_tmp193 ;
 9284  u16 __cil_tmp194 ;
 9285  int __cil_tmp195 ;
 9286  int __cil_tmp196 ;
 9287  unsigned char *__cil_tmp197 ;
 9288  unsigned char *__cil_tmp198 ;
 9289  unsigned char __cil_tmp199 ;
 9290  u16 __cil_tmp200 ;
 9291  int __cil_tmp201 ;
 9292  int __cil_tmp202 ;
 9293  unsigned char *__cil_tmp203 ;
 9294  unsigned char *__cil_tmp204 ;
 9295  unsigned char __cil_tmp205 ;
 9296  unsigned int __cil_tmp206 ;
 9297  unsigned char *__cil_tmp207 ;
 9298  unsigned char *__cil_tmp208 ;
 9299  unsigned char __cil_tmp209 ;
 9300  unsigned int __cil_tmp210 ;
 9301  unsigned int __cil_tmp211 ;
 9302  unsigned char *__cil_tmp212 ;
 9303  unsigned char *__cil_tmp213 ;
 9304  unsigned char __cil_tmp214 ;
 9305  unsigned int __cil_tmp215 ;
 9306  unsigned int __cil_tmp216 ;
 9307  unsigned char *__cil_tmp217 ;
 9308  unsigned char *__cil_tmp218 ;
 9309  unsigned char __cil_tmp219 ;
 9310  unsigned int __cil_tmp220 ;
 9311  unsigned int __cil_tmp221 ;
 9312  unsigned int __cil_tmp222 ;
 9313  unsigned int __cil_tmp223 ;
 9314  unsigned short __cil_tmp224 ;
 9315  unsigned int __cil_tmp225 ;
 9316  unsigned char *__cil_tmp226 ;
 9317  unsigned char *__cil_tmp227 ;
 9318  unsigned char __cil_tmp228 ;
 9319  unsigned int __cil_tmp229 ;
 9320  unsigned char *__cil_tmp230 ;
 9321  unsigned char *__cil_tmp231 ;
 9322  unsigned char __cil_tmp232 ;
 9323  unsigned int __cil_tmp233 ;
 9324  unsigned int __cil_tmp234 ;
 9325  unsigned char *__cil_tmp235 ;
 9326  unsigned char *__cil_tmp236 ;
 9327  unsigned char __cil_tmp237 ;
 9328  unsigned int __cil_tmp238 ;
 9329  unsigned int __cil_tmp239 ;
 9330  unsigned char *__cil_tmp240 ;
 9331  unsigned char *__cil_tmp241 ;
 9332  unsigned char __cil_tmp242 ;
 9333  unsigned int __cil_tmp243 ;
 9334  unsigned int __cil_tmp244 ;
 9335  unsigned int __cil_tmp245 ;
 9336  unsigned int __cil_tmp246 ;
 9337  unsigned char *__cil_tmp247 ;
 9338  unsigned char *__cil_tmp248 ;
 9339  unsigned char __cil_tmp249 ;
 9340  u16 __cil_tmp250 ;
 9341  int __cil_tmp251 ;
 9342  unsigned char *__cil_tmp252 ;
 9343  unsigned char *__cil_tmp253 ;
 9344  unsigned char __cil_tmp254 ;
 9345  u16 __cil_tmp255 ;
 9346  int __cil_tmp256 ;
 9347  int __cil_tmp257 ;
 9348  int __cil_tmp258 ;
 9349  unsigned char *__cil_tmp259 ;
 9350  unsigned char __cil_tmp260 ;
 9351  int __cil_tmp261 ;
 9352  int __cil_tmp262 ;
 9353  u32 *__cil_tmp263 ;
 9354  u32 *__cil_tmp264 ;
 9355  int __cil_tmp265 ;
 9356  void (*__cil_tmp266)(struct scsi_cmnd * ) ;
 9357  scb_t *__cil_tmp267 ;
 9358  unsigned long __cil_tmp268 ;
 9359  unsigned long __cil_tmp269 ;
 9360  unsigned char *__cil_tmp270 ;
 9361  unsigned char __cil_tmp271 ;
 9362  unsigned int __cil_tmp272 ;
 9363  void (*__cil_tmp273)(struct scsi_cmnd * ) ;
 9364  scb_t *__cil_tmp274 ;
 9365  unsigned long __cil_tmp275 ;
 9366  unsigned long __cil_tmp276 ;
 9367  u8 (*__cil_tmp277)[66U] ;
 9368  void *__cil_tmp278 ;
 9369  int __cil_tmp279 ;
 9370  dma_addr_t __cil_tmp280 ;
 9371  int __cil_tmp281 ;
 9372  dma_addr_t __cil_tmp282 ;
 9373
 9374  {
 9375#line 535
 9376  channel = 0;
 9377#line 536
 9378  target = 0;
 9379#line 537
 9380  ldrv_num = 0;
 9381  {
 9382#line 543
 9383  __cil_tmp22 = cmd->cmnd;
 9384#line 543
 9385  __cil_tmp23 = *__cil_tmp22;
 9386#line 543
 9387  __cil_tmp24 = (unsigned int )__cil_tmp23;
 9388#line 543
 9389  if (__cil_tmp24 == 225U) {
 9390    {
 9391#line 544
 9392    __cil_tmp25 = cmd->host_scribble;
 9393#line 544
 9394    return ((scb_t *)__cil_tmp25);
 9395    }
 9396  } else {
 9397
 9398  }
 9399  }
 9400#line 549
 9401  __cil_tmp26 = adapter->logdrv_chan[(cmd->device)->channel];
 9402#line 549
 9403  islogical = (char )__cil_tmp26;
 9404  {
 9405#line 558
 9406  __cil_tmp27 = adapter->boot_pdrv_enabled;
 9407#line 558
 9408  if (__cil_tmp27 != 0) {
 9409    {
 9410#line 559
 9411    __cil_tmp28 = (signed char )islogical;
 9412#line 559
 9413    __cil_tmp29 = (int )__cil_tmp28;
 9414#line 559
 9415    if (__cil_tmp29 != 0) {
 9416#line 561
 9417      __cil_tmp30 = adapter->product_info.nchannels;
 9418#line 561
 9419      __cil_tmp31 = (unsigned int )__cil_tmp30;
 9420#line 561
 9421      __cil_tmp32 = cmd->device;
 9422#line 561
 9423      __cil_tmp33 = __cil_tmp32->channel;
 9424#line 561
 9425      __cil_tmp34 = __cil_tmp33 - __cil_tmp31;
 9426#line 561
 9427      channel = (int )__cil_tmp34;
 9428    } else {
 9429#line 566
 9430      __cil_tmp35 = cmd->device;
 9431#line 566
 9432      __cil_tmp36 = __cil_tmp35->channel;
 9433#line 566
 9434      channel = (int )__cil_tmp36;
 9435#line 567
 9436      __cil_tmp37 = cmd->device;
 9437#line 567
 9438      __cil_tmp38 = __cil_tmp37->id;
 9439#line 567
 9440      target = (int )__cil_tmp38;
 9441#line 574
 9442      if (target == 0) {
 9443#line 575
 9444        target = adapter->boot_pdrv_tgt;
 9445      } else {
 9446        {
 9447#line 577
 9448        __cil_tmp39 = adapter->boot_pdrv_tgt;
 9449#line 577
 9450        if (__cil_tmp39 == target) {
 9451#line 578
 9452          target = 0;
 9453        } else {
 9454
 9455        }
 9456        }
 9457      }
 9458    }
 9459    }
 9460  } else {
 9461    {
 9462#line 583
 9463    __cil_tmp40 = (signed char )islogical;
 9464#line 583
 9465    __cil_tmp41 = (int )__cil_tmp40;
 9466#line 583
 9467    if (__cil_tmp41 != 0) {
 9468#line 585
 9469      __cil_tmp42 = cmd->device;
 9470#line 585
 9471      __cil_tmp43 = __cil_tmp42->channel;
 9472#line 585
 9473      channel = (int )__cil_tmp43;
 9474    } else {
 9475#line 589
 9476      __cil_tmp44 = cmd->device;
 9477#line 589
 9478      __cil_tmp45 = __cil_tmp44->channel;
 9479#line 589
 9480      __cil_tmp46 = __cil_tmp45 - 4U;
 9481#line 589
 9482      channel = (int )__cil_tmp46;
 9483#line 590
 9484      __cil_tmp47 = cmd->device;
 9485#line 590
 9486      __cil_tmp48 = __cil_tmp47->id;
 9487#line 590
 9488      target = (int )__cil_tmp48;
 9489    }
 9490    }
 9491  }
 9492  }
 9493  {
 9494#line 595
 9495  __cil_tmp49 = (signed char )islogical;
 9496#line 595
 9497  __cil_tmp50 = (int )__cil_tmp49;
 9498#line 595
 9499  if (__cil_tmp50 != 0) {
 9500    {
 9501#line 598
 9502    __cil_tmp51 = cmd->device;
 9503#line 598
 9504    __cil_tmp52 = __cil_tmp51->lun;
 9505#line 598
 9506    if (__cil_tmp52 != 0U) {
 9507      {
 9508#line 599
 9509      cmd->result = 262144;
 9510#line 600
 9511      __cil_tmp53 = cmd->scsi_done;
 9512#line 600
 9513      (*__cil_tmp53)(cmd);
 9514      }
 9515#line 601
 9516      return ((scb_t *)0);
 9517    } else {
 9518
 9519    }
 9520    }
 9521    {
 9522#line 604
 9523    ldrv_num = mega_get_ldrv_num(adapter, cmd, channel);
 9524    }
 9525    {
 9526#line 607
 9527    __cil_tmp54 = adapter->flag;
 9528#line 607
 9529    __cil_tmp55 = (long )__cil_tmp54;
 9530#line 607
 9531    __cil_tmp56 = __cil_tmp55 & 134217728L;
 9532#line 607
 9533    if (__cil_tmp56 != 0L) {
 9534#line 607
 9535      max_ldrv_num = 40;
 9536    } else {
 9537#line 607
 9538      max_ldrv_num = 8;
 9539    }
 9540    }
 9541    {
 9542#line 614
 9543    __cil_tmp57 = adapter->read_ldidmap;
 9544#line 614
 9545    if (__cil_tmp57 != 0) {
 9546#line 615
 9547      max_ldrv_num = max_ldrv_num + 128;
 9548    } else {
 9549
 9550    }
 9551    }
 9552#line 617
 9553    if (ldrv_num > max_ldrv_num) {
 9554      {
 9555#line 618
 9556      cmd->result = 262144;
 9557#line 619
 9558      __cil_tmp58 = cmd->scsi_done;
 9559#line 619
 9560      (*__cil_tmp58)(cmd);
 9561      }
 9562#line 620
 9563      return ((scb_t *)0);
 9564    } else {
 9565
 9566    }
 9567  } else {
 9568    {
 9569#line 625
 9570    __cil_tmp59 = cmd->device;
 9571#line 625
 9572    __cil_tmp60 = __cil_tmp59->lun;
 9573#line 625
 9574    if (__cil_tmp60 > 7U) {
 9575      {
 9576#line 630
 9577      cmd->result = 262144;
 9578#line 631
 9579      __cil_tmp61 = cmd->scsi_done;
 9580#line 631
 9581      (*__cil_tmp61)(cmd);
 9582      }
 9583#line 632
 9584      return ((scb_t *)0);
 9585    } else {
 9586
 9587    }
 9588    }
 9589  }
 9590  }
 9591  {
 9592#line 641
 9593  __cil_tmp62 = (signed char )islogical;
 9594#line 641
 9595  __cil_tmp63 = (int )__cil_tmp62;
 9596#line 641
 9597  if (__cil_tmp63 != 0) {
 9598    {
 9599#line 643
 9600    __cil_tmp64 = cmd->cmnd;
 9601#line 643
 9602    __cil_tmp65 = *__cil_tmp64;
 9603#line 643
 9604    __cil_tmp66 = (int )__cil_tmp65;
 9605#line 643
 9606    if (__cil_tmp66 == 0) {
 9607#line 643
 9608      goto case_0;
 9609    } else {
 9610      {
 9611#line 673
 9612      __cil_tmp67 = cmd->cmnd;
 9613#line 673
 9614      __cil_tmp68 = *__cil_tmp67;
 9615#line 673
 9616      __cil_tmp69 = (int )__cil_tmp68;
 9617#line 673
 9618      if (__cil_tmp69 == 26) {
 9619#line 673
 9620        goto case_26;
 9621      } else {
 9622        {
 9623#line 688
 9624        __cil_tmp70 = cmd->cmnd;
 9625#line 688
 9626        __cil_tmp71 = *__cil_tmp70;
 9627#line 688
 9628        __cil_tmp72 = (int )__cil_tmp71;
 9629#line 688
 9630        if (__cil_tmp72 == 37) {
 9631#line 688
 9632          goto case_37;
 9633        } else {
 9634          {
 9635#line 689
 9636          __cil_tmp73 = cmd->cmnd;
 9637#line 689
 9638          __cil_tmp74 = *__cil_tmp73;
 9639#line 689
 9640          __cil_tmp75 = (int )__cil_tmp74;
 9641#line 689
 9642          if (__cil_tmp75 == 18) {
 9643#line 689
 9644            goto case_18;
 9645          } else {
 9646            {
 9647#line 737
 9648            __cil_tmp76 = cmd->cmnd;
 9649#line 737
 9650            __cil_tmp77 = *__cil_tmp76;
 9651#line 737
 9652            __cil_tmp78 = (int )__cil_tmp77;
 9653#line 737
 9654            if (__cil_tmp78 == 8) {
 9655#line 737
 9656              goto case_8;
 9657            } else {
 9658              {
 9659#line 738
 9660              __cil_tmp79 = cmd->cmnd;
 9661#line 738
 9662              __cil_tmp80 = *__cil_tmp79;
 9663#line 738
 9664              __cil_tmp81 = (int )__cil_tmp80;
 9665#line 738
 9666              if (__cil_tmp81 == 10) {
 9667#line 738
 9668                goto case_10;
 9669              } else {
 9670                {
 9671#line 739
 9672                __cil_tmp82 = cmd->cmnd;
 9673#line 739
 9674                __cil_tmp83 = *__cil_tmp82;
 9675#line 739
 9676                __cil_tmp84 = (int )__cil_tmp83;
 9677#line 739
 9678                if (__cil_tmp84 == 40) {
 9679#line 739
 9680                  goto case_40;
 9681                } else {
 9682                  {
 9683#line 740
 9684                  __cil_tmp85 = cmd->cmnd;
 9685#line 740
 9686                  __cil_tmp86 = *__cil_tmp85;
 9687#line 740
 9688                  __cil_tmp87 = (int )__cil_tmp86;
 9689#line 740
 9690                  if (__cil_tmp87 == 42) {
 9691#line 740
 9692                    goto case_42;
 9693                  } else {
 9694                    {
 9695#line 741
 9696                    __cil_tmp88 = cmd->cmnd;
 9697#line 741
 9698                    __cil_tmp89 = *__cil_tmp88;
 9699#line 741
 9700                    __cil_tmp90 = (int )__cil_tmp89;
 9701#line 741
 9702                    if (__cil_tmp90 == 168) {
 9703#line 741
 9704                      goto case_168;
 9705                    } else {
 9706                      {
 9707#line 742
 9708                      __cil_tmp91 = cmd->cmnd;
 9709#line 742
 9710                      __cil_tmp92 = *__cil_tmp91;
 9711#line 742
 9712                      __cil_tmp93 = (int )__cil_tmp92;
 9713#line 742
 9714                      if (__cil_tmp93 == 170) {
 9715#line 742
 9716                        goto case_170;
 9717                      } else {
 9718                        {
 9719#line 871
 9720                        __cil_tmp94 = cmd->cmnd;
 9721#line 871
 9722                        __cil_tmp95 = *__cil_tmp94;
 9723#line 871
 9724                        __cil_tmp96 = (int )__cil_tmp95;
 9725#line 871
 9726                        if (__cil_tmp96 == 22) {
 9727#line 871
 9728                          goto case_22;
 9729                        } else {
 9730                          {
 9731#line 872
 9732                          __cil_tmp97 = cmd->cmnd;
 9733#line 872
 9734                          __cil_tmp98 = *__cil_tmp97;
 9735#line 872
 9736                          __cil_tmp99 = (int )__cil_tmp98;
 9737#line 872
 9738                          if (__cil_tmp99 == 23) {
 9739#line 872
 9740                            goto case_23;
 9741                          } else {
 9742#line 901
 9743                            goto switch_default;
 9744#line 642
 9745                            if (0) {
 9746                              case_0: ;
 9747                              {
 9748#line 649
 9749                              __cil_tmp100 = adapter->has_cluster;
 9750#line 649
 9751                              if (__cil_tmp100 == 0) {
 9752                                {
 9753#line 650
 9754                                cmd->result = 0;
 9755#line 651
 9756                                __cil_tmp101 = cmd->scsi_done;
 9757#line 651
 9758                                (*__cil_tmp101)(cmd);
 9759                                }
 9760#line 652
 9761                                return ((scb_t *)0);
 9762                              } else {
 9763
 9764                              }
 9765                              }
 9766                              {
 9767#line 655
 9768                              scb = mega_allocate_scb(adapter, cmd);
 9769                              }
 9770                              {
 9771#line 655
 9772                              __cil_tmp102 = (scb_t *)0;
 9773#line 655
 9774                              __cil_tmp103 = (unsigned long )__cil_tmp102;
 9775#line 655
 9776                              __cil_tmp104 = (unsigned long )scb;
 9777#line 655
 9778                              if (__cil_tmp104 == __cil_tmp103) {
 9779#line 656
 9780                                *busy = 1;
 9781#line 657
 9782                                return ((scb_t *)0);
 9783                              } else {
 9784
 9785                              }
 9786                              }
 9787#line 660
 9788                              scb->raw_mbox[0] = (u8 )110U;
 9789#line 661
 9790                              scb->raw_mbox[2] = (u8 )4U;
 9791#line 662
 9792                              scb->raw_mbox[3] = (u8 )ldrv_num;
 9793#line 664
 9794                              scb->dma_direction = 3U;
 9795#line 666
 9796                              return (scb);
 9797                              case_26: 
 9798                              {
 9799#line 677
 9800                              sg = scsi_sglist(cmd);
 9801#line 678
 9802                              tmp = sg_page(sg);
 9803#line 678
 9804                              tmp___0 = __kmap_atomic(tmp);
 9805#line 678
 9806                              __cil_tmp105 = sg->offset;
 9807#line 678
 9808                              __cil_tmp106 = (unsigned long )__cil_tmp105;
 9809#line 678
 9810                              __cil_tmp107 = (char *)tmp___0;
 9811#line 678
 9812                              buf = __cil_tmp107 + __cil_tmp106;
 9813#line 680
 9814                              __cil_tmp108 = (void *)buf;
 9815#line 680
 9816                              __cil_tmp109 = cmd->cmnd;
 9817#line 680
 9818                              __cil_tmp110 = __cil_tmp109 + 4UL;
 9819#line 680
 9820                              __cil_tmp111 = *__cil_tmp110;
 9821#line 680
 9822                              __cil_tmp112 = (size_t )__cil_tmp111;
 9823#line 680
 9824                              memset(__cil_tmp108, 0, __cil_tmp112);
 9825#line 681
 9826                              __cil_tmp113 = sg->offset;
 9827#line 681
 9828                              __cil_tmp114 = (unsigned long )__cil_tmp113;
 9829#line 681
 9830                              __cil_tmp115 = - __cil_tmp114;
 9831#line 681
 9832                              __cil_tmp116 = buf + __cil_tmp115;
 9833#line 681
 9834                              __cil_tmp117 = (void *)__cil_tmp116;
 9835#line 681
 9836                              __kunmap_atomic(__cil_tmp117);
 9837#line 683
 9838                              cmd->result = 0;
 9839#line 684
 9840                              __cil_tmp118 = cmd->scsi_done;
 9841#line 684
 9842                              (*__cil_tmp118)(cmd);
 9843                              }
 9844#line 685
 9845                              return ((scb_t *)0);
 9846                              case_37: ;
 9847                              case_18: ;
 9848                              {
 9849#line 691
 9850                              __cil_tmp119 = cmd->device;
 9851#line 691
 9852                              __cil_tmp120 = __cil_tmp119->channel;
 9853#line 691
 9854                              __cil_tmp121 = (int )__cil_tmp120;
 9855#line 691
 9856                              __cil_tmp122 = adapter->flag;
 9857#line 691
 9858                              __cil_tmp123 = (long )__cil_tmp122;
 9859#line 691
 9860                              __cil_tmp124 = __cil_tmp123 >> __cil_tmp121;
 9861#line 691
 9862                              __cil_tmp125 = __cil_tmp124 & 1L;
 9863#line 691
 9864                              if (__cil_tmp125 == 0L) {
 9865                                {
 9866#line 693
 9867                                __cil_tmp126 = adapter->host;
 9868#line 693
 9869                                __cil_tmp127 = __cil_tmp126->host_no;
 9870#line 693
 9871                                __cil_tmp128 = cmd->device;
 9872#line 693
 9873                                __cil_tmp129 = __cil_tmp128->channel;
 9874#line 693
 9875                                printk("<5>scsi%d: scanning scsi channel %d ", __cil_tmp127,
 9876                                       __cil_tmp129);
 9877#line 697
 9878                                printk("for logical drives.\n");
 9879#line 699
 9880                                __cil_tmp130 = cmd->device;
 9881#line 699
 9882                                __cil_tmp131 = __cil_tmp130->channel;
 9883#line 699
 9884                                __cil_tmp132 = (int )__cil_tmp131;
 9885#line 699
 9886                                __cil_tmp133 = 1L << __cil_tmp132;
 9887#line 699
 9888                                __cil_tmp134 = (int )__cil_tmp133;
 9889#line 699
 9890                                __cil_tmp135 = adapter->flag;
 9891#line 699
 9892                                __cil_tmp136 = (int )__cil_tmp135;
 9893#line 699
 9894                                __cil_tmp137 = __cil_tmp136 | __cil_tmp134;
 9895#line 699
 9896                                adapter->flag = (u32 )__cil_tmp137;
 9897                                }
 9898                              } else {
 9899
 9900                              }
 9901                              }
 9902                              {
 9903#line 703
 9904                              scb = mega_allocate_scb(adapter, cmd);
 9905                              }
 9906                              {
 9907#line 703
 9908                              __cil_tmp138 = (scb_t *)0;
 9909#line 703
 9910                              __cil_tmp139 = (unsigned long )__cil_tmp138;
 9911#line 703
 9912                              __cil_tmp140 = (unsigned long )scb;
 9913#line 703
 9914                              if (__cil_tmp140 == __cil_tmp139) {
 9915#line 704
 9916                                *busy = 1;
 9917#line 705
 9918                                return ((scb_t *)0);
 9919                              } else {
 9920
 9921                              }
 9922                              }
 9923                              {
 9924#line 707
 9925                              pthru = scb->pthru;
 9926#line 709
 9927                              __cil_tmp141 = & scb->raw_mbox;
 9928#line 709
 9929                              mbox = (mbox_t *)__cil_tmp141;
 9930#line 710
 9931                              __cil_tmp142 = (void *)mbox;
 9932#line 710
 9933                              memset(__cil_tmp142, 0, 66UL);
 9934#line 711
 9935                              __cil_tmp143 = (void *)pthru;
 9936#line 711
 9937                              memset(__cil_tmp143, 0, 60UL);
 9938#line 713
 9939                              pthru->timeout = (unsigned char)0;
 9940#line 714
 9941                              pthru->ars = (unsigned char)1;
 9942#line 715
 9943                              pthru->reqsenselen = (u8 )14U;
 9944#line 716
 9945                              pthru->islogical = (unsigned char)1;
 9946#line 717
 9947                              pthru->logdrv = (u8 )ldrv_num;
 9948#line 718
 9949                              __cil_tmp144 = cmd->cmd_len;
 9950#line 718
 9951                              pthru->cdblen = (u8 )__cil_tmp144;
 9952#line 719
 9953                              __cil_tmp145 = cmd->cmd_len;
 9954#line 719
 9955                              __len = (size_t )__cil_tmp145;
 9956#line 719
 9957                              __cil_tmp146 = & pthru->cdb;
 9958#line 719
 9959                              __cil_tmp147 = (void *)__cil_tmp146;
 9960#line 719
 9961                              __cil_tmp148 = cmd->cmnd;
 9962#line 719
 9963                              __cil_tmp149 = (void const   *)__cil_tmp148;
 9964#line 719
 9965                              __ret = __builtin_memcpy(__cil_tmp147, __cil_tmp149,
 9966                                                       __len);
 9967                              }
 9968                              {
 9969#line 721
 9970                              __cil_tmp150 = adapter->has_64bit_addr;
 9971#line 721
 9972                              if (__cil_tmp150 != 0) {
 9973#line 722
 9974                                mbox->m_out.cmd = (u8 )195U;
 9975                              } else {
 9976#line 725
 9977                                mbox->m_out.cmd = (u8 )3U;
 9978                              }
 9979                              }
 9980                              {
 9981#line 728
 9982                              scb->dma_direction = 2U;
 9983#line 730
 9984                              __cil_tmp151 = & pthru->dataxferaddr;
 9985#line 730
 9986                              __cil_tmp152 = & pthru->dataxferlen;
 9987#line 730
 9988                              tmp___1 = mega_build_sglist(adapter, scb, __cil_tmp151,
 9989                                                          __cil_tmp152);
 9990#line 730
 9991                              pthru->numsgelements = (u8 )tmp___1;
 9992#line 733
 9993                              __cil_tmp153 = scb->pthru_dma_addr;
 9994#line 733
 9995                              mbox->m_out.xferaddr = (u32 )__cil_tmp153;
 9996                              }
 9997#line 735
 9998                              return (scb);
 9999                              case_8: ;
10000                              case_10: ;
10001                              case_40: ;
10002                              case_42: ;
10003                              case_168: ;
10004                              case_170: 
10005                              {
10006#line 745
10007                              scb = mega_allocate_scb(adapter, cmd);
10008                              }
10009                              {
10010#line 745
10011                              __cil_tmp154 = (scb_t *)0;
10012#line 745
10013                              __cil_tmp155 = (unsigned long )__cil_tmp154;
10014#line 745
10015                              __cil_tmp156 = (unsigned long )scb;
10016#line 745
10017                              if (__cil_tmp156 == __cil_tmp155) {
10018#line 746
10019                                *busy = 1;
10020#line 747
10021                                return ((scb_t *)0);
10022                              } else {
10023
10024                              }
10025                              }
10026                              {
10027#line 749
10028                              __cil_tmp157 = & scb->raw_mbox;
10029#line 749
10030                              mbox = (mbox_t *)__cil_tmp157;
10031#line 751
10032                              __cil_tmp158 = (void *)mbox;
10033#line 751
10034                              memset(__cil_tmp158, 0, 66UL);
10035#line 752
10036                              mbox->m_out.logdrv = (u8 )ldrv_num;
10037                              }
10038                              {
10039#line 758
10040                              __cil_tmp159 = adapter->has_64bit_addr;
10041#line 758
10042                              if (__cil_tmp159 != 0) {
10043                                {
10044#line 759
10045                                __cil_tmp160 = cmd->cmnd;
10046#line 759
10047                                __cil_tmp161 = *__cil_tmp160;
10048#line 759
10049                                __cil_tmp162 = (int )__cil_tmp161;
10050#line 759
10051                                __cil_tmp163 = __cil_tmp162 & 2;
10052#line 759
10053                                if (__cil_tmp163 != 0) {
10054#line 759
10055                                  mbox->m_out.cmd = (u8 )168U;
10056                                } else {
10057#line 759
10058                                  mbox->m_out.cmd = (u8 )167U;
10059                                }
10060                                }
10061                              } else {
10062                                {
10063#line 764
10064                                __cil_tmp164 = cmd->cmnd;
10065#line 764
10066                                __cil_tmp165 = *__cil_tmp164;
10067#line 764
10068                                __cil_tmp166 = (int )__cil_tmp165;
10069#line 764
10070                                __cil_tmp167 = __cil_tmp166 & 2;
10071#line 764
10072                                if (__cil_tmp167 != 0) {
10073#line 764
10074                                  mbox->m_out.cmd = (u8 )2U;
10075                                } else {
10076#line 764
10077                                  mbox->m_out.cmd = (u8 )1U;
10078                                }
10079                                }
10080                              }
10081                              }
10082                              {
10083#line 772
10084                              __cil_tmp168 = cmd->cmd_len;
10085#line 772
10086                              __cil_tmp169 = (unsigned int )__cil_tmp168;
10087#line 772
10088                              if (__cil_tmp169 == 6U) {
10089#line 773
10090                                __cil_tmp170 = cmd->cmnd;
10091#line 773
10092                                __cil_tmp171 = __cil_tmp170 + 4UL;
10093#line 773
10094                                __cil_tmp172 = *__cil_tmp171;
10095#line 773
10096                                mbox->m_out.numsectors = (u16 )__cil_tmp172;
10097#line 774
10098                                __cil_tmp173 = cmd->cmnd;
10099#line 774
10100                                __cil_tmp174 = __cil_tmp173 + 3UL;
10101#line 774
10102                                __cil_tmp175 = *__cil_tmp174;
10103#line 774
10104                                __cil_tmp176 = (unsigned int )__cil_tmp175;
10105#line 774
10106                                __cil_tmp177 = cmd->cmnd;
10107#line 774
10108                                __cil_tmp178 = __cil_tmp177 + 2UL;
10109#line 774
10110                                __cil_tmp179 = *__cil_tmp178;
10111#line 774
10112                                __cil_tmp180 = (unsigned int )__cil_tmp179;
10113#line 774
10114                                __cil_tmp181 = __cil_tmp180 << 8;
10115#line 774
10116                                __cil_tmp182 = cmd->cmnd;
10117#line 774
10118                                __cil_tmp183 = __cil_tmp182 + 1UL;
10119#line 774
10120                                __cil_tmp184 = *__cil_tmp183;
10121#line 774
10122                                __cil_tmp185 = (unsigned int )__cil_tmp184;
10123#line 774
10124                                __cil_tmp186 = __cil_tmp185 << 16;
10125#line 774
10126                                __cil_tmp187 = __cil_tmp186 | __cil_tmp181;
10127#line 774
10128                                mbox->m_out.lba = __cil_tmp187 | __cil_tmp176;
10129#line 779
10130                                __cil_tmp188 = mbox->m_out.lba;
10131#line 779
10132                                mbox->m_out.lba = __cil_tmp188 & 2097151U;
10133                              } else {
10134
10135                              }
10136                              }
10137                              {
10138#line 802
10139                              __cil_tmp189 = cmd->cmd_len;
10140#line 802
10141                              __cil_tmp190 = (unsigned int )__cil_tmp189;
10142#line 802
10143                              if (__cil_tmp190 == 10U) {
10144#line 803
10145                                __cil_tmp191 = cmd->cmnd;
10146#line 803
10147                                __cil_tmp192 = __cil_tmp191 + 7UL;
10148#line 803
10149                                __cil_tmp193 = *__cil_tmp192;
10150#line 803
10151                                __cil_tmp194 = (u16 )__cil_tmp193;
10152#line 803
10153                                __cil_tmp195 = (int )__cil_tmp194;
10154#line 803
10155                                __cil_tmp196 = __cil_tmp195 << 8U;
10156#line 803
10157                                __cil_tmp197 = cmd->cmnd;
10158#line 803
10159                                __cil_tmp198 = __cil_tmp197 + 8UL;
10160#line 803
10161                                __cil_tmp199 = *__cil_tmp198;
10162#line 803
10163                                __cil_tmp200 = (u16 )__cil_tmp199;
10164#line 803
10165                                __cil_tmp201 = (int )__cil_tmp200;
10166#line 803
10167                                __cil_tmp202 = __cil_tmp201 | __cil_tmp196;
10168#line 803
10169                                mbox->m_out.numsectors = (u16 )__cil_tmp202;
10170#line 806
10171                                __cil_tmp203 = cmd->cmnd;
10172#line 806
10173                                __cil_tmp204 = __cil_tmp203 + 5UL;
10174#line 806
10175                                __cil_tmp205 = *__cil_tmp204;
10176#line 806
10177                                __cil_tmp206 = (unsigned int )__cil_tmp205;
10178#line 806
10179                                __cil_tmp207 = cmd->cmnd;
10180#line 806
10181                                __cil_tmp208 = __cil_tmp207 + 4UL;
10182#line 806
10183                                __cil_tmp209 = *__cil_tmp208;
10184#line 806
10185                                __cil_tmp210 = (unsigned int )__cil_tmp209;
10186#line 806
10187                                __cil_tmp211 = __cil_tmp210 << 8;
10188#line 806
10189                                __cil_tmp212 = cmd->cmnd;
10190#line 806
10191                                __cil_tmp213 = __cil_tmp212 + 3UL;
10192#line 806
10193                                __cil_tmp214 = *__cil_tmp213;
10194#line 806
10195                                __cil_tmp215 = (unsigned int )__cil_tmp214;
10196#line 806
10197                                __cil_tmp216 = __cil_tmp215 << 16;
10198#line 806
10199                                __cil_tmp217 = cmd->cmnd;
10200#line 806
10201                                __cil_tmp218 = __cil_tmp217 + 2UL;
10202#line 806
10203                                __cil_tmp219 = *__cil_tmp218;
10204#line 806
10205                                __cil_tmp220 = (unsigned int )__cil_tmp219;
10206#line 806
10207                                __cil_tmp221 = __cil_tmp220 << 24;
10208#line 806
10209                                __cil_tmp222 = __cil_tmp221 | __cil_tmp216;
10210#line 806
10211                                __cil_tmp223 = __cil_tmp222 | __cil_tmp211;
10212#line 806
10213                                mbox->m_out.lba = __cil_tmp223 | __cil_tmp206;
10214                              } else {
10215
10216                              }
10217                              }
10218                              {
10219#line 828
10220                              __cil_tmp224 = cmd->cmd_len;
10221#line 828
10222                              __cil_tmp225 = (unsigned int )__cil_tmp224;
10223#line 828
10224                              if (__cil_tmp225 == 12U) {
10225#line 829
10226                                __cil_tmp226 = cmd->cmnd;
10227#line 829
10228                                __cil_tmp227 = __cil_tmp226 + 5UL;
10229#line 829
10230                                __cil_tmp228 = *__cil_tmp227;
10231#line 829
10232                                __cil_tmp229 = (unsigned int )__cil_tmp228;
10233#line 829
10234                                __cil_tmp230 = cmd->cmnd;
10235#line 829
10236                                __cil_tmp231 = __cil_tmp230 + 4UL;
10237#line 829
10238                                __cil_tmp232 = *__cil_tmp231;
10239#line 829
10240                                __cil_tmp233 = (unsigned int )__cil_tmp232;
10241#line 829
10242                                __cil_tmp234 = __cil_tmp233 << 8;
10243#line 829
10244                                __cil_tmp235 = cmd->cmnd;
10245#line 829
10246                                __cil_tmp236 = __cil_tmp235 + 3UL;
10247#line 829
10248                                __cil_tmp237 = *__cil_tmp236;
10249#line 829
10250                                __cil_tmp238 = (unsigned int )__cil_tmp237;
10251#line 829
10252                                __cil_tmp239 = __cil_tmp238 << 16;
10253#line 829
10254                                __cil_tmp240 = cmd->cmnd;
10255#line 829
10256                                __cil_tmp241 = __cil_tmp240 + 2UL;
10257#line 829
10258                                __cil_tmp242 = *__cil_tmp241;
10259#line 829
10260                                __cil_tmp243 = (unsigned int )__cil_tmp242;
10261#line 829
10262                                __cil_tmp244 = __cil_tmp243 << 24;
10263#line 829
10264                                __cil_tmp245 = __cil_tmp244 | __cil_tmp239;
10265#line 829
10266                                __cil_tmp246 = __cil_tmp245 | __cil_tmp234;
10267#line 829
10268                                mbox->m_out.lba = __cil_tmp246 | __cil_tmp229;
10269#line 835
10270                                __cil_tmp247 = cmd->cmnd;
10271#line 835
10272                                __cil_tmp248 = __cil_tmp247 + 9UL;
10273#line 835
10274                                __cil_tmp249 = *__cil_tmp248;
10275#line 835
10276                                __cil_tmp250 = (u16 )__cil_tmp249;
10277#line 835
10278                                __cil_tmp251 = (int )__cil_tmp250;
10279#line 835
10280                                __cil_tmp252 = cmd->cmnd;
10281#line 835
10282                                __cil_tmp253 = __cil_tmp252 + 8UL;
10283#line 835
10284                                __cil_tmp254 = *__cil_tmp253;
10285#line 835
10286                                __cil_tmp255 = (u16 )__cil_tmp254;
10287#line 835
10288                                __cil_tmp256 = (int )__cil_tmp255;
10289#line 835
10290                                __cil_tmp257 = __cil_tmp256 << 8U;
10291#line 835
10292                                __cil_tmp258 = __cil_tmp257 | __cil_tmp251;
10293#line 835
10294                                mbox->m_out.numsectors = (u16 )__cil_tmp258;
10295                              } else {
10296
10297                              }
10298                              }
10299                              {
10300#line 857
10301                              __cil_tmp259 = cmd->cmnd;
10302#line 857
10303                              __cil_tmp260 = *__cil_tmp259;
10304#line 857
10305                              __cil_tmp261 = (int )__cil_tmp260;
10306#line 857
10307                              __cil_tmp262 = __cil_tmp261 & 15;
10308#line 857
10309                              if (__cil_tmp262 == 8) {
10310#line 858
10311                                scb->dma_direction = 2U;
10312                              } else {
10313#line 861
10314                                scb->dma_direction = 1U;
10315                              }
10316                              }
10317                              {
10318#line 865
10319                              __cil_tmp263 = & mbox->m_out.xferaddr;
10320#line 865
10321                              __cil_tmp264 = (u32 *)(& seg);
10322#line 865
10323                              tmp___2 = mega_build_sglist(adapter, scb, __cil_tmp263,
10324                                                          __cil_tmp264);
10325#line 865
10326                              mbox->m_out.numsgelements = (u8 )tmp___2;
10327                              }
10328#line 868
10329                              return (scb);
10330                              case_22: ;
10331                              case_23: ;
10332                              {
10333#line 877
10334                              __cil_tmp265 = adapter->has_cluster;
10335#line 877
10336                              if (__cil_tmp265 == 0) {
10337                                {
10338#line 879
10339                                cmd->result = 262144;
10340#line 880
10341                                __cil_tmp266 = cmd->scsi_done;
10342#line 880
10343                                (*__cil_tmp266)(cmd);
10344                                }
10345#line 881
10346                                return ((scb_t *)0);
10347                              } else {
10348
10349                              }
10350                              }
10351                              {
10352#line 885
10353                              scb = mega_allocate_scb(adapter, cmd);
10354                              }
10355                              {
10356#line 885
10357                              __cil_tmp267 = (scb_t *)0;
10358#line 885
10359                              __cil_tmp268 = (unsigned long )__cil_tmp267;
10360#line 885
10361                              __cil_tmp269 = (unsigned long )scb;
10362#line 885
10363                              if (__cil_tmp269 == __cil_tmp268) {
10364#line 886
10365                                *busy = 1;
10366#line 887
10367                                return ((scb_t *)0);
10368                              } else {
10369
10370                              }
10371                              }
10372#line 890
10373                              scb->raw_mbox[0] = (u8 )110U;
10374                              {
10375#line 891
10376                              __cil_tmp270 = cmd->cmnd;
10377#line 891
10378                              __cil_tmp271 = *__cil_tmp270;
10379#line 891
10380                              __cil_tmp272 = (unsigned int )__cil_tmp271;
10381#line 891
10382                              if (__cil_tmp272 == 22U) {
10383#line 891
10384                                scb->raw_mbox[2] = (u8 )1U;
10385                              } else {
10386#line 891
10387                                scb->raw_mbox[2] = (u8 )2U;
10388                              }
10389                              }
10390#line 894
10391                              scb->raw_mbox[3] = (u8 )ldrv_num;
10392#line 896
10393                              scb->dma_direction = 3U;
10394#line 898
10395                              return (scb);
10396                              switch_default: 
10397                              {
10398#line 902
10399                              cmd->result = 262144;
10400#line 903
10401                              __cil_tmp273 = cmd->scsi_done;
10402#line 903
10403                              (*__cil_tmp273)(cmd);
10404                              }
10405#line 904
10406                              return ((scb_t *)0);
10407                            } else {
10408
10409                            }
10410                          }
10411                          }
10412                        }
10413                        }
10414                      }
10415                      }
10416                    }
10417                    }
10418                  }
10419                  }
10420                }
10421                }
10422              }
10423              }
10424            }
10425            }
10426          }
10427          }
10428        }
10429        }
10430      }
10431      }
10432    }
10433    }
10434  } else {
10435    {
10436#line 913
10437    scb = mega_allocate_scb(adapter, cmd);
10438    }
10439    {
10440#line 913
10441    __cil_tmp274 = (scb_t *)0;
10442#line 913
10443    __cil_tmp275 = (unsigned long )__cil_tmp274;
10444#line 913
10445    __cil_tmp276 = (unsigned long )scb;
10446#line 913
10447    if (__cil_tmp276 == __cil_tmp275) {
10448#line 914
10449      *busy = 1;
10450#line 915
10451      return ((scb_t *)0);
10452    } else {
10453
10454    }
10455    }
10456    {
10457#line 918
10458    __cil_tmp277 = & scb->raw_mbox;
10459#line 918
10460    mbox = (mbox_t *)__cil_tmp277;
10461#line 919
10462    __cil_tmp278 = (void *)mbox;
10463#line 919
10464    memset(__cil_tmp278, 0, 66UL);
10465    }
10466    {
10467#line 921
10468    __cil_tmp279 = adapter->support_ext_cdb;
10469#line 921
10470    if (__cil_tmp279 != 0) {
10471      {
10472#line 923
10473      epthru = mega_prepare_extpassthru(adapter, scb, cmd, channel, target);
10474#line 926
10475      mbox->m_out.cmd = (u8 )227U;
10476#line 928
10477      __cil_tmp280 = scb->epthru_dma_addr;
10478#line 928
10479      mbox->m_out.xferaddr = (u32 )__cil_tmp280;
10480      }
10481    } else {
10482      {
10483#line 933
10484      pthru = mega_prepare_passthru(adapter, scb, cmd, channel, target);
10485      }
10486      {
10487#line 937
10488      __cil_tmp281 = adapter->has_64bit_addr;
10489#line 937
10490      if (__cil_tmp281 != 0) {
10491#line 938
10492        mbox->m_out.cmd = (u8 )195U;
10493      } else {
10494#line 941
10495        mbox->m_out.cmd = (u8 )3U;
10496      }
10497      }
10498#line 944
10499      __cil_tmp282 = scb->pthru_dma_addr;
10500#line 944
10501      mbox->m_out.xferaddr = (u32 )__cil_tmp282;
10502    }
10503    }
10504#line 947
10505    return (scb);
10506  }
10507  }
10508#line 949
10509  return ((scb_t *)0);
10510}
10511}
10512#line 964 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
10513static mega_passthru *mega_prepare_passthru(adapter_t *adapter , scb_t *scb , Scsi_Cmnd *cmd ,
10514                                            int channel , int target ) 
10515{ mega_passthru *pthru ;
10516  size_t __len ;
10517  void *__ret ;
10518  int tmp ;
10519  void *__cil_tmp10 ;
10520  u32 __cil_tmp11 ;
10521  long __cil_tmp12 ;
10522  long __cil_tmp13 ;
10523  u32 __cil_tmp14 ;
10524  long __cil_tmp15 ;
10525  long __cil_tmp16 ;
10526  signed char __cil_tmp17 ;
10527  int __cil_tmp18 ;
10528  int __cil_tmp19 ;
10529  signed char __cil_tmp20 ;
10530  int __cil_tmp21 ;
10531  int __cil_tmp22 ;
10532  unsigned short __cil_tmp23 ;
10533  struct scsi_device *__cil_tmp24 ;
10534  unsigned int __cil_tmp25 ;
10535  unsigned short __cil_tmp26 ;
10536  u8 (*__cil_tmp27)[10U] ;
10537  void *__cil_tmp28 ;
10538  unsigned char *__cil_tmp29 ;
10539  void const   *__cil_tmp30 ;
10540  unsigned char *__cil_tmp31 ;
10541  unsigned char __cil_tmp32 ;
10542  int __cil_tmp33 ;
10543  unsigned char *__cil_tmp34 ;
10544  unsigned char __cil_tmp35 ;
10545  int __cil_tmp36 ;
10546  struct scsi_device *__cil_tmp37 ;
10547  unsigned int __cil_tmp38 ;
10548  int __cil_tmp39 ;
10549  u32 __cil_tmp40 ;
10550  long __cil_tmp41 ;
10551  long __cil_tmp42 ;
10552  long __cil_tmp43 ;
10553  struct Scsi_Host *__cil_tmp44 ;
10554  unsigned int __cil_tmp45 ;
10555  struct scsi_device *__cil_tmp46 ;
10556  unsigned int __cil_tmp47 ;
10557  struct scsi_device *__cil_tmp48 ;
10558  unsigned int __cil_tmp49 ;
10559  int __cil_tmp50 ;
10560  long __cil_tmp51 ;
10561  int __cil_tmp52 ;
10562  u32 __cil_tmp53 ;
10563  int __cil_tmp54 ;
10564  int __cil_tmp55 ;
10565  u32 *__cil_tmp56 ;
10566  u32 *__cil_tmp57 ;
10567
10568  {
10569  {
10570#line 969
10571  pthru = scb->pthru;
10572#line 970
10573  __cil_tmp10 = (void *)pthru;
10574#line 970
10575  memset(__cil_tmp10, 0, 60UL);
10576#line 973
10577  pthru->timeout = (unsigned char)2;
10578#line 975
10579  pthru->ars = (unsigned char)1;
10580#line 976
10581  pthru->reqsenselen = (u8 )14U;
10582#line 977
10583  pthru->islogical = (unsigned char)0;
10584  }
10585  {
10586#line 979
10587  __cil_tmp11 = adapter->flag;
10588#line 979
10589  __cil_tmp12 = (long )__cil_tmp11;
10590#line 979
10591  __cil_tmp13 = __cil_tmp12 & 134217728L;
10592#line 979
10593  if (__cil_tmp13 == 0L) {
10594#line 979
10595    pthru->channel = (u8 )channel;
10596  } else {
10597#line 979
10598    pthru->channel = (u8 )0U;
10599  }
10600  }
10601  {
10602#line 981
10603  __cil_tmp14 = adapter->flag;
10604#line 981
10605  __cil_tmp15 = (long )__cil_tmp14;
10606#line 981
10607  __cil_tmp16 = __cil_tmp15 & 134217728L;
10608#line 981
10609  if (__cil_tmp16 != 0L) {
10610#line 981
10611    __cil_tmp17 = (signed char )target;
10612#line 981
10613    __cil_tmp18 = (int )__cil_tmp17;
10614#line 981
10615    __cil_tmp19 = channel << 4;
10616#line 981
10617    __cil_tmp20 = (signed char )__cil_tmp19;
10618#line 981
10619    __cil_tmp21 = (int )__cil_tmp20;
10620#line 981
10621    __cil_tmp22 = __cil_tmp21 | __cil_tmp18;
10622#line 981
10623    pthru->target = (u8 )__cil_tmp22;
10624  } else {
10625#line 981
10626    pthru->target = (u8 )target;
10627  }
10628  }
10629  {
10630#line 984
10631  __cil_tmp23 = cmd->cmd_len;
10632#line 984
10633  pthru->cdblen = (u8 )__cil_tmp23;
10634#line 985
10635  __cil_tmp24 = cmd->device;
10636#line 985
10637  __cil_tmp25 = __cil_tmp24->lun;
10638#line 985
10639  pthru->logdrv = (u8 )__cil_tmp25;
10640#line 987
10641  __cil_tmp26 = cmd->cmd_len;
10642#line 987
10643  __len = (size_t )__cil_tmp26;
10644#line 987
10645  __cil_tmp27 = & pthru->cdb;
10646#line 987
10647  __cil_tmp28 = (void *)__cil_tmp27;
10648#line 987
10649  __cil_tmp29 = cmd->cmnd;
10650#line 987
10651  __cil_tmp30 = (void const   *)__cil_tmp29;
10652#line 987
10653  __ret = __builtin_memcpy(__cil_tmp28, __cil_tmp30, __len);
10654#line 990
10655  scb->dma_direction = 0U;
10656  }
10657  {
10658#line 994
10659  __cil_tmp31 = cmd->cmnd;
10660#line 994
10661  __cil_tmp32 = *__cil_tmp31;
10662#line 994
10663  __cil_tmp33 = (int )__cil_tmp32;
10664#line 994
10665  if (__cil_tmp33 == 18) {
10666#line 994
10667    goto case_18;
10668  } else {
10669    {
10670#line 995
10671    __cil_tmp34 = cmd->cmnd;
10672#line 995
10673    __cil_tmp35 = *__cil_tmp34;
10674#line 995
10675    __cil_tmp36 = (int )__cil_tmp35;
10676#line 995
10677    if (__cil_tmp36 == 37) {
10678#line 995
10679      goto case_37;
10680    } else {
10681#line 1007
10682      goto switch_default;
10683#line 993
10684      if (0) {
10685        case_18: ;
10686        case_37: ;
10687        {
10688#line 996
10689        __cil_tmp37 = cmd->device;
10690#line 996
10691        __cil_tmp38 = __cil_tmp37->channel;
10692#line 996
10693        __cil_tmp39 = (int )__cil_tmp38;
10694#line 996
10695        __cil_tmp40 = adapter->flag;
10696#line 996
10697        __cil_tmp41 = (long )__cil_tmp40;
10698#line 996
10699        __cil_tmp42 = __cil_tmp41 >> __cil_tmp39;
10700#line 996
10701        __cil_tmp43 = __cil_tmp42 & 1L;
10702#line 996
10703        if (__cil_tmp43 == 0L) {
10704          {
10705#line 998
10706          __cil_tmp44 = adapter->host;
10707#line 998
10708          __cil_tmp45 = __cil_tmp44->host_no;
10709#line 998
10710          __cil_tmp46 = cmd->device;
10711#line 998
10712          __cil_tmp47 = __cil_tmp46->channel;
10713#line 998
10714          printk("<5>scsi%d: scanning scsi channel %d [P%d] ", __cil_tmp45, __cil_tmp47,
10715                 channel);
10716#line 1002
10717          printk("for physical devices.\n");
10718#line 1004
10719          __cil_tmp48 = cmd->device;
10720#line 1004
10721          __cil_tmp49 = __cil_tmp48->channel;
10722#line 1004
10723          __cil_tmp50 = (int )__cil_tmp49;
10724#line 1004
10725          __cil_tmp51 = 1L << __cil_tmp50;
10726#line 1004
10727          __cil_tmp52 = (int )__cil_tmp51;
10728#line 1004
10729          __cil_tmp53 = adapter->flag;
10730#line 1004
10731          __cil_tmp54 = (int )__cil_tmp53;
10732#line 1004
10733          __cil_tmp55 = __cil_tmp54 | __cil_tmp52;
10734#line 1004
10735          adapter->flag = (u32 )__cil_tmp55;
10736          }
10737        } else {
10738
10739        }
10740        }
10741        switch_default: 
10742        {
10743#line 1008
10744        __cil_tmp56 = & pthru->dataxferaddr;
10745#line 1008
10746        __cil_tmp57 = & pthru->dataxferlen;
10747#line 1008
10748        tmp = mega_build_sglist(adapter, scb, __cil_tmp56, __cil_tmp57);
10749#line 1008
10750        pthru->numsgelements = (u8 )tmp;
10751        }
10752#line 1010
10753        goto ldv_32012;
10754      } else {
10755
10756      }
10757    }
10758    }
10759  }
10760  }
10761  ldv_32012: ;
10762#line 1012
10763  return (pthru);
10764}
10765}
10766#line 1028 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
10767static mega_ext_passthru *mega_prepare_extpassthru(adapter_t *adapter , scb_t *scb ,
10768                                                   Scsi_Cmnd *cmd , int channel ,
10769                                                   int target ) 
10770{ mega_ext_passthru *epthru ;
10771  size_t __len ;
10772  void *__ret ;
10773  int tmp ;
10774  void *__cil_tmp10 ;
10775  u32 __cil_tmp11 ;
10776  long __cil_tmp12 ;
10777  long __cil_tmp13 ;
10778  u32 __cil_tmp14 ;
10779  long __cil_tmp15 ;
10780  long __cil_tmp16 ;
10781  signed char __cil_tmp17 ;
10782  int __cil_tmp18 ;
10783  int __cil_tmp19 ;
10784  signed char __cil_tmp20 ;
10785  int __cil_tmp21 ;
10786  int __cil_tmp22 ;
10787  unsigned short __cil_tmp23 ;
10788  struct scsi_device *__cil_tmp24 ;
10789  unsigned int __cil_tmp25 ;
10790  unsigned short __cil_tmp26 ;
10791  u8 (*__cil_tmp27)[16U] ;
10792  void *__cil_tmp28 ;
10793  unsigned char *__cil_tmp29 ;
10794  void const   *__cil_tmp30 ;
10795  unsigned char *__cil_tmp31 ;
10796  unsigned char __cil_tmp32 ;
10797  int __cil_tmp33 ;
10798  unsigned char *__cil_tmp34 ;
10799  unsigned char __cil_tmp35 ;
10800  int __cil_tmp36 ;
10801  struct scsi_device *__cil_tmp37 ;
10802  unsigned int __cil_tmp38 ;
10803  int __cil_tmp39 ;
10804  u32 __cil_tmp40 ;
10805  long __cil_tmp41 ;
10806  long __cil_tmp42 ;
10807  long __cil_tmp43 ;
10808  struct Scsi_Host *__cil_tmp44 ;
10809  unsigned int __cil_tmp45 ;
10810  struct scsi_device *__cil_tmp46 ;
10811  unsigned int __cil_tmp47 ;
10812  struct scsi_device *__cil_tmp48 ;
10813  unsigned int __cil_tmp49 ;
10814  int __cil_tmp50 ;
10815  long __cil_tmp51 ;
10816  int __cil_tmp52 ;
10817  u32 __cil_tmp53 ;
10818  int __cil_tmp54 ;
10819  int __cil_tmp55 ;
10820  u32 *__cil_tmp56 ;
10821  u32 *__cil_tmp57 ;
10822
10823  {
10824  {
10825#line 1033
10826  epthru = scb->epthru;
10827#line 1034
10828  __cil_tmp10 = (void *)epthru;
10829#line 1034
10830  memset(__cil_tmp10, 0, 68UL);
10831#line 1037
10832  epthru->timeout = (unsigned char)2;
10833#line 1039
10834  epthru->ars = (unsigned char)1;
10835#line 1040
10836  epthru->reqsenselen = (u8 )14U;
10837#line 1041
10838  epthru->islogical = (unsigned char)0;
10839  }
10840  {
10841#line 1043
10842  __cil_tmp11 = adapter->flag;
10843#line 1043
10844  __cil_tmp12 = (long )__cil_tmp11;
10845#line 1043
10846  __cil_tmp13 = __cil_tmp12 & 134217728L;
10847#line 1043
10848  if (__cil_tmp13 == 0L) {
10849#line 1043
10850    epthru->channel = (u8 )channel;
10851  } else {
10852#line 1043
10853    epthru->channel = (u8 )0U;
10854  }
10855  }
10856  {
10857#line 1044
10858  __cil_tmp14 = adapter->flag;
10859#line 1044
10860  __cil_tmp15 = (long )__cil_tmp14;
10861#line 1044
10862  __cil_tmp16 = __cil_tmp15 & 134217728L;
10863#line 1044
10864  if (__cil_tmp16 != 0L) {
10865#line 1044
10866    __cil_tmp17 = (signed char )target;
10867#line 1044
10868    __cil_tmp18 = (int )__cil_tmp17;
10869#line 1044
10870    __cil_tmp19 = channel << 4;
10871#line 1044
10872    __cil_tmp20 = (signed char )__cil_tmp19;
10873#line 1044
10874    __cil_tmp21 = (int )__cil_tmp20;
10875#line 1044
10876    __cil_tmp22 = __cil_tmp21 | __cil_tmp18;
10877#line 1044
10878    epthru->target = (u8 )__cil_tmp22;
10879  } else {
10880#line 1044
10881    epthru->target = (u8 )target;
10882  }
10883  }
10884  {
10885#line 1047
10886  __cil_tmp23 = cmd->cmd_len;
10887#line 1047
10888  epthru->cdblen = (u8 )__cil_tmp23;
10889#line 1048
10890  __cil_tmp24 = cmd->device;
10891#line 1048
10892  __cil_tmp25 = __cil_tmp24->lun;
10893#line 1048
10894  epthru->logdrv = (u8 )__cil_tmp25;
10895#line 1050
10896  __cil_tmp26 = cmd->cmd_len;
10897#line 1050
10898  __len = (size_t )__cil_tmp26;
10899#line 1050
10900  __cil_tmp27 = & epthru->cdb;
10901#line 1050
10902  __cil_tmp28 = (void *)__cil_tmp27;
10903#line 1050
10904  __cil_tmp29 = cmd->cmnd;
10905#line 1050
10906  __cil_tmp30 = (void const   *)__cil_tmp29;
10907#line 1050
10908  __ret = __builtin_memcpy(__cil_tmp28, __cil_tmp30, __len);
10909#line 1053
10910  scb->dma_direction = 0U;
10911  }
10912  {
10913#line 1056
10914  __cil_tmp31 = cmd->cmnd;
10915#line 1056
10916  __cil_tmp32 = *__cil_tmp31;
10917#line 1056
10918  __cil_tmp33 = (int )__cil_tmp32;
10919#line 1056
10920  if (__cil_tmp33 == 18) {
10921#line 1056
10922    goto case_18;
10923  } else {
10924    {
10925#line 1057
10926    __cil_tmp34 = cmd->cmnd;
10927#line 1057
10928    __cil_tmp35 = *__cil_tmp34;
10929#line 1057
10930    __cil_tmp36 = (int )__cil_tmp35;
10931#line 1057
10932    if (__cil_tmp36 == 37) {
10933#line 1057
10934      goto case_37;
10935    } else {
10936#line 1069
10937      goto switch_default;
10938#line 1055
10939      if (0) {
10940        case_18: ;
10941        case_37: ;
10942        {
10943#line 1058
10944        __cil_tmp37 = cmd->device;
10945#line 1058
10946        __cil_tmp38 = __cil_tmp37->channel;
10947#line 1058
10948        __cil_tmp39 = (int )__cil_tmp38;
10949#line 1058
10950        __cil_tmp40 = adapter->flag;
10951#line 1058
10952        __cil_tmp41 = (long )__cil_tmp40;
10953#line 1058
10954        __cil_tmp42 = __cil_tmp41 >> __cil_tmp39;
10955#line 1058
10956        __cil_tmp43 = __cil_tmp42 & 1L;
10957#line 1058
10958        if (__cil_tmp43 == 0L) {
10959          {
10960#line 1060
10961          __cil_tmp44 = adapter->host;
10962#line 1060
10963          __cil_tmp45 = __cil_tmp44->host_no;
10964#line 1060
10965          __cil_tmp46 = cmd->device;
10966#line 1060
10967          __cil_tmp47 = __cil_tmp46->channel;
10968#line 1060
10969          printk("<5>scsi%d: scanning scsi channel %d [P%d] ", __cil_tmp45, __cil_tmp47,
10970                 channel);
10971#line 1064
10972          printk("for physical devices.\n");
10973#line 1066
10974          __cil_tmp48 = cmd->device;
10975#line 1066
10976          __cil_tmp49 = __cil_tmp48->channel;
10977#line 1066
10978          __cil_tmp50 = (int )__cil_tmp49;
10979#line 1066
10980          __cil_tmp51 = 1L << __cil_tmp50;
10981#line 1066
10982          __cil_tmp52 = (int )__cil_tmp51;
10983#line 1066
10984          __cil_tmp53 = adapter->flag;
10985#line 1066
10986          __cil_tmp54 = (int )__cil_tmp53;
10987#line 1066
10988          __cil_tmp55 = __cil_tmp54 | __cil_tmp52;
10989#line 1066
10990          adapter->flag = (u32 )__cil_tmp55;
10991          }
10992        } else {
10993
10994        }
10995        }
10996        switch_default: 
10997        {
10998#line 1070
10999        __cil_tmp56 = & epthru->dataxferaddr;
11000#line 1070
11001        __cil_tmp57 = & epthru->dataxferlen;
11002#line 1070
11003        tmp = mega_build_sglist(adapter, scb, __cil_tmp56, __cil_tmp57);
11004#line 1070
11005        epthru->numsgelements = (u8 )tmp;
11006        }
11007#line 1072
11008        goto ldv_32027;
11009      } else {
11010
11011      }
11012    }
11013    }
11014  }
11015  }
11016  ldv_32027: ;
11017#line 1075
11018  return (epthru);
11019}
11020}
11021#line 1079 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
11022static void __mega_runpendq(adapter_t *adapter ) 
11023{ scb_t *scb ;
11024  struct list_head *pos ;
11025  struct list_head *next ;
11026  struct list_head  const  *__mptr ;
11027  int tmp ;
11028  scb_t *__cil_tmp7 ;
11029  u32 __cil_tmp8 ;
11030  unsigned int __cil_tmp9 ;
11031  unsigned long __cil_tmp10 ;
11032  struct list_head *__cil_tmp11 ;
11033  unsigned long __cil_tmp12 ;
11034
11035  {
11036#line 1085
11037  pos = adapter->pending_list.next;
11038#line 1085
11039  next = pos->next;
11040#line 1085
11041  goto ldv_32037;
11042  ldv_32036: 
11043#line 1087
11044  __mptr = (struct list_head  const  *)pos;
11045#line 1087
11046  __cil_tmp7 = (scb_t *)__mptr;
11047#line 1087
11048  scb = __cil_tmp7 + 1152921504606846968UL;
11049  {
11050#line 1089
11051  __cil_tmp8 = scb->state;
11052#line 1089
11053  __cil_tmp9 = __cil_tmp8 & 4U;
11054#line 1089
11055  if (__cil_tmp9 == 0U) {
11056    {
11057#line 1091
11058    tmp = issue_scb(adapter, scb);
11059    }
11060#line 1091
11061    if (tmp != 0) {
11062#line 1092
11063      return;
11064    } else {
11065
11066    }
11067  } else {
11068
11069  }
11070  }
11071#line 1085
11072  pos = next;
11073#line 1085
11074  next = pos->next;
11075  ldv_32037: ;
11076  {
11077#line 1085
11078  __cil_tmp10 = (unsigned long )pos;
11079#line 1085
11080  __cil_tmp11 = & adapter->pending_list;
11081#line 1085
11082  __cil_tmp12 = (unsigned long )__cil_tmp11;
11083#line 1085
11084  if (__cil_tmp12 != __cil_tmp10) {
11085#line 1086
11086    goto ldv_32036;
11087  } else {
11088#line 1088
11089    goto ldv_32038;
11090  }
11091  }
11092  ldv_32038: ;
11093#line 1096
11094  return;
11095}
11096}
11097#line 1110 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
11098static int issue_scb(adapter_t *adapter , scb_t *scb ) 
11099{ mbox64_t volatile   *mbox64 ;
11100  mbox_t volatile   *mbox ;
11101  unsigned int i ;
11102  long tmp ;
11103  size_t __len ;
11104  void *__ret ;
11105  long tmp___0 ;
11106  u8 volatile   __cil_tmp10 ;
11107  unsigned char __cil_tmp11 ;
11108  unsigned int __cil_tmp12 ;
11109  int __cil_tmp13 ;
11110  long __cil_tmp14 ;
11111  u8 volatile   __cil_tmp15 ;
11112  unsigned char __cil_tmp16 ;
11113  unsigned int __cil_tmp17 ;
11114  unsigned int __cil_tmp18 ;
11115  u8 volatile   __cil_tmp19 ;
11116  unsigned char __cil_tmp20 ;
11117  unsigned int __cil_tmp21 ;
11118  struct mbox_out  volatile  *__cil_tmp22 ;
11119  void *__cil_tmp23 ;
11120  u8 (*__cil_tmp24)[66U] ;
11121  void const   *__cil_tmp25 ;
11122  struct mbox_out  volatile  *__cil_tmp26 ;
11123  void *__cil_tmp27 ;
11124  u8 (*__cil_tmp28)[66U] ;
11125  void const   *__cil_tmp29 ;
11126  int __cil_tmp30 ;
11127  atomic_t *__cil_tmp31 ;
11128  u8 volatile   __cil_tmp32 ;
11129  int __cil_tmp33 ;
11130  u8 volatile   __cil_tmp34 ;
11131  int __cil_tmp35 ;
11132  u8 volatile   __cil_tmp36 ;
11133  int __cil_tmp37 ;
11134  u8 volatile   __cil_tmp38 ;
11135  int __cil_tmp39 ;
11136  u32 __cil_tmp40 ;
11137  u32 __cil_tmp41 ;
11138  long __cil_tmp42 ;
11139  long __cil_tmp43 ;
11140  int __cil_tmp44 ;
11141  long __cil_tmp45 ;
11142  dma_addr_t __cil_tmp46 ;
11143  unsigned int __cil_tmp47 ;
11144  unsigned int __cil_tmp48 ;
11145  void *__cil_tmp49 ;
11146  void volatile   *__cil_tmp50 ;
11147  void volatile   *__cil_tmp51 ;
11148  unsigned long __cil_tmp52 ;
11149  unsigned int __cil_tmp53 ;
11150  unsigned int __cil_tmp54 ;
11151  int __cil_tmp55 ;
11152  unsigned long __cil_tmp56 ;
11153  int __cil_tmp57 ;
11154
11155  {
11156  {
11157#line 1112
11158  mbox64 = adapter->mbox64;
11159#line 1113
11160  mbox = adapter->mbox;
11161#line 1114
11162  i = 0U;
11163#line 1116
11164  __cil_tmp10 = mbox->m_in.busy;
11165#line 1116
11166  __cil_tmp11 = (unsigned char )__cil_tmp10;
11167#line 1116
11168  __cil_tmp12 = (unsigned int )__cil_tmp11;
11169#line 1116
11170  __cil_tmp13 = __cil_tmp12 != 0U;
11171#line 1116
11172  __cil_tmp14 = (long )__cil_tmp13;
11173#line 1116
11174  tmp = __builtin_expect(__cil_tmp14, 0L);
11175  }
11176#line 1116
11177  if (tmp != 0L) {
11178    ldv_32046: 
11179    {
11180#line 1118
11181    __const_udelay(4295UL);
11182#line 1119
11183    i = i + 1U;
11184    }
11185    {
11186#line 1120
11187    __cil_tmp15 = mbox->m_in.busy;
11188#line 1120
11189    __cil_tmp16 = (unsigned char )__cil_tmp15;
11190#line 1120
11191    __cil_tmp17 = (unsigned int )__cil_tmp16;
11192#line 1120
11193    if (__cil_tmp17 != 0U) {
11194      {
11195#line 1120
11196      __cil_tmp18 = (unsigned int )max_mbox_busy_wait;
11197#line 1120
11198      if (__cil_tmp18 > i) {
11199#line 1121
11200        goto ldv_32046;
11201      } else {
11202#line 1123
11203        goto ldv_32047;
11204      }
11205      }
11206    } else {
11207#line 1123
11208      goto ldv_32047;
11209    }
11210    }
11211    ldv_32047: ;
11212    {
11213#line 1122
11214    __cil_tmp19 = mbox->m_in.busy;
11215#line 1122
11216    __cil_tmp20 = (unsigned char )__cil_tmp19;
11217#line 1122
11218    __cil_tmp21 = (unsigned int )__cil_tmp20;
11219#line 1122
11220    if (__cil_tmp21 != 0U) {
11221#line 1122
11222      return (-1);
11223    } else {
11224
11225    }
11226    }
11227  } else {
11228
11229  }
11230#line 1126
11231  __len = 15UL;
11232#line 1126
11233  if (__len > 63UL) {
11234    {
11235#line 1126
11236    __cil_tmp22 = & mbox->m_out;
11237#line 1126
11238    __cil_tmp23 = (void *)__cil_tmp22;
11239#line 1126
11240    __cil_tmp24 = & scb->raw_mbox;
11241#line 1126
11242    __cil_tmp25 = (void const   *)__cil_tmp24;
11243#line 1126
11244    __ret = __memcpy(__cil_tmp23, __cil_tmp25, __len);
11245    }
11246  } else {
11247    {
11248#line 1126
11249    __cil_tmp26 = & mbox->m_out;
11250#line 1126
11251    __cil_tmp27 = (void *)__cil_tmp26;
11252#line 1126
11253    __cil_tmp28 = & scb->raw_mbox;
11254#line 1126
11255    __cil_tmp29 = (void const   *)__cil_tmp28;
11256#line 1126
11257    __ret = __builtin_memcpy(__cil_tmp27, __cil_tmp29, __len);
11258    }
11259  }
11260  {
11261#line 1129
11262  __cil_tmp30 = scb->idx;
11263#line 1129
11264  mbox->m_out.cmdid = (u8 volatile   )__cil_tmp30;
11265#line 1130
11266  mbox->m_in.busy = (u8 volatile   )1U;
11267#line 1136
11268  __cil_tmp31 = & adapter->pend_cmds;
11269#line 1136
11270  atomic_inc(__cil_tmp31);
11271  }
11272  {
11273#line 1139
11274  __cil_tmp32 = mbox->m_out.cmd;
11275#line 1139
11276  __cil_tmp33 = (int )__cil_tmp32;
11277#line 1139
11278  if (__cil_tmp33 == 167) {
11279#line 1139
11280    goto case_167;
11281  } else {
11282    {
11283#line 1140
11284    __cil_tmp34 = mbox->m_out.cmd;
11285#line 1140
11286    __cil_tmp35 = (int )__cil_tmp34;
11287#line 1140
11288    if (__cil_tmp35 == 168) {
11289#line 1140
11290      goto case_168;
11291    } else {
11292      {
11293#line 1141
11294      __cil_tmp36 = mbox->m_out.cmd;
11295#line 1141
11296      __cil_tmp37 = (int )__cil_tmp36;
11297#line 1141
11298      if (__cil_tmp37 == 195) {
11299#line 1141
11300        goto case_195;
11301      } else {
11302        {
11303#line 1142
11304        __cil_tmp38 = mbox->m_out.cmd;
11305#line 1142
11306        __cil_tmp39 = (int )__cil_tmp38;
11307#line 1142
11308        if (__cil_tmp39 == 227) {
11309#line 1142
11310          goto case_227;
11311        } else {
11312#line 1147
11313          goto switch_default;
11314#line 1138
11315          if (0) {
11316            case_167: ;
11317            case_168: ;
11318            case_195: ;
11319            case_227: 
11320#line 1143
11321            mbox64->xfer_segment_lo = mbox->m_out.xferaddr;
11322#line 1144
11323            mbox64->xfer_segment_hi = (u32 volatile   )0U;
11324#line 1145
11325            mbox->m_out.xferaddr = (u32 volatile   )4294967295U;
11326#line 1146
11327            goto ldv_32055;
11328            switch_default: 
11329#line 1148
11330            mbox64->xfer_segment_lo = (u32 volatile   )0U;
11331#line 1149
11332            mbox64->xfer_segment_hi = (u32 volatile   )0U;
11333          } else {
11334
11335          }
11336        }
11337        }
11338      }
11339      }
11340    }
11341    }
11342  }
11343  }
11344  ldv_32055: 
11345  {
11346#line 1155
11347  __cil_tmp40 = scb->state;
11348#line 1155
11349  scb->state = __cil_tmp40 | 4U;
11350#line 1157
11351  __cil_tmp41 = adapter->flag;
11352#line 1157
11353  __cil_tmp42 = (long )__cil_tmp41;
11354#line 1157
11355  __cil_tmp43 = __cil_tmp42 & 536870912L;
11356#line 1157
11357  __cil_tmp44 = __cil_tmp43 != 0L;
11358#line 1157
11359  __cil_tmp45 = (long )__cil_tmp44;
11360#line 1157
11361  tmp___0 = __builtin_expect(__cil_tmp45, 1L);
11362  }
11363#line 1157
11364  if (tmp___0 != 0L) {
11365    {
11366#line 1158
11367    mbox->m_in.poll = (u8 volatile   )0U;
11368#line 1159
11369    mbox->m_in.ack = (u8 volatile   )0U;
11370#line 1160
11371    __cil_tmp46 = adapter->mbox_dma;
11372#line 1160
11373    __cil_tmp47 = (unsigned int )__cil_tmp46;
11374#line 1160
11375    __cil_tmp48 = __cil_tmp47 | 1U;
11376#line 1160
11377    __cil_tmp49 = adapter->mmio_base;
11378#line 1160
11379    __cil_tmp50 = (void volatile   *)__cil_tmp49;
11380#line 1160
11381    __cil_tmp51 = __cil_tmp50 + 32U;
11382#line 1160
11383    writel(__cil_tmp48, __cil_tmp51);
11384    }
11385  } else {
11386    {
11387#line 1163
11388    __cil_tmp52 = adapter->base;
11389#line 1163
11390    __cil_tmp53 = (unsigned int )__cil_tmp52;
11391#line 1163
11392    __cil_tmp54 = __cil_tmp53 + 1U;
11393#line 1163
11394    __cil_tmp55 = (int )__cil_tmp54;
11395#line 1163
11396    outb_p((unsigned char)192, __cil_tmp55);
11397#line 1164
11398    __cil_tmp56 = adapter->base;
11399#line 1164
11400    __cil_tmp57 = (int )__cil_tmp56;
11401#line 1164
11402    outb_p((unsigned char)16, __cil_tmp57);
11403    }
11404  }
11405#line 1167
11406  return (0);
11407}
11408}
11409#line 1174 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
11410__inline static int mega_busywait_mbox(adapter_t *adapter ) 
11411{ int tmp ;
11412  mbox_t volatile   *__cil_tmp3 ;
11413  u8 volatile   __cil_tmp4 ;
11414  unsigned char __cil_tmp5 ;
11415  unsigned int __cil_tmp6 ;
11416
11417  {
11418  {
11419#line 1176
11420  __cil_tmp3 = adapter->mbox;
11421#line 1176
11422  __cil_tmp4 = __cil_tmp3->m_in.busy;
11423#line 1176
11424  __cil_tmp5 = (unsigned char )__cil_tmp4;
11425#line 1176
11426  __cil_tmp6 = (unsigned int )__cil_tmp5;
11427#line 1176
11428  if (__cil_tmp6 != 0U) {
11429    {
11430#line 1177
11431    tmp = __mega_busywait_mbox(adapter);
11432    }
11433#line 1177
11434    return (tmp);
11435  } else {
11436
11437  }
11438  }
11439#line 1178
11440  return (0);
11441}
11442}
11443#line 1189 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
11444static int issue_scb_block(adapter_t *adapter , u_char *raw_mbox ) 
11445{ mbox64_t volatile   *mbox64 ;
11446  mbox_t volatile   *mbox ;
11447  u8 byte ;
11448  int tmp ;
11449  size_t __len ;
11450  void *__ret ;
11451  unsigned int tmp___0 ;
11452  long tmp___1 ;
11453  void *__cil_tmp11 ;
11454  void const   *__cil_tmp12 ;
11455  void *__cil_tmp13 ;
11456  void const   *__cil_tmp14 ;
11457  u_char __cil_tmp15 ;
11458  int __cil_tmp16 ;
11459  u_char __cil_tmp17 ;
11460  int __cil_tmp18 ;
11461  u_char __cil_tmp19 ;
11462  int __cil_tmp20 ;
11463  u_char __cil_tmp21 ;
11464  int __cil_tmp22 ;
11465  u32 __cil_tmp23 ;
11466  long __cil_tmp24 ;
11467  long __cil_tmp25 ;
11468  int __cil_tmp26 ;
11469  long __cil_tmp27 ;
11470  dma_addr_t __cil_tmp28 ;
11471  unsigned int __cil_tmp29 ;
11472  unsigned int __cil_tmp30 ;
11473  void *__cil_tmp31 ;
11474  void volatile   *__cil_tmp32 ;
11475  void volatile   *__cil_tmp33 ;
11476  u8 volatile   __cil_tmp34 ;
11477  unsigned char __cil_tmp35 ;
11478  unsigned int __cil_tmp36 ;
11479  u8 volatile   __cil_tmp37 ;
11480  unsigned char __cil_tmp38 ;
11481  unsigned int __cil_tmp39 ;
11482  dma_addr_t __cil_tmp40 ;
11483  unsigned int __cil_tmp41 ;
11484  unsigned int __cil_tmp42 ;
11485  void *__cil_tmp43 ;
11486  void volatile   *__cil_tmp44 ;
11487  void volatile   *__cil_tmp45 ;
11488  void *__cil_tmp46 ;
11489  void const volatile   *__cil_tmp47 ;
11490  void const volatile   *__cil_tmp48 ;
11491  unsigned int __cil_tmp49 ;
11492  unsigned long __cil_tmp50 ;
11493  unsigned int __cil_tmp51 ;
11494  unsigned int __cil_tmp52 ;
11495  int __cil_tmp53 ;
11496  unsigned long __cil_tmp54 ;
11497  int __cil_tmp55 ;
11498  unsigned long __cil_tmp56 ;
11499  unsigned int __cil_tmp57 ;
11500  unsigned int __cil_tmp58 ;
11501  int __cil_tmp59 ;
11502  int __cil_tmp60 ;
11503  int __cil_tmp61 ;
11504  int __cil_tmp62 ;
11505  unsigned char __cil_tmp63 ;
11506  unsigned long __cil_tmp64 ;
11507  unsigned int __cil_tmp65 ;
11508  unsigned int __cil_tmp66 ;
11509  int __cil_tmp67 ;
11510  unsigned long __cil_tmp68 ;
11511  unsigned int __cil_tmp69 ;
11512  unsigned int __cil_tmp70 ;
11513  int __cil_tmp71 ;
11514  unsigned long __cil_tmp72 ;
11515  int __cil_tmp73 ;
11516  u8 volatile   __cil_tmp74 ;
11517
11518  {
11519  {
11520#line 1191
11521  mbox64 = adapter->mbox64;
11522#line 1192
11523  mbox = adapter->mbox;
11524#line 1196
11525  tmp = mega_busywait_mbox(adapter);
11526  }
11527#line 1196
11528  if (tmp != 0) {
11529#line 1197
11530    goto bug_blocked_mailbox;
11531  } else {
11532
11533  }
11534#line 1200
11535  __len = 15UL;
11536#line 1200
11537  if (__len > 63UL) {
11538    {
11539#line 1200
11540    __cil_tmp11 = (void *)mbox;
11541#line 1200
11542    __cil_tmp12 = (void const   *)raw_mbox;
11543#line 1200
11544    __ret = __memcpy(__cil_tmp11, __cil_tmp12, __len);
11545    }
11546  } else {
11547    {
11548#line 1200
11549    __cil_tmp13 = (void *)mbox;
11550#line 1200
11551    __cil_tmp14 = (void const   *)raw_mbox;
11552#line 1200
11553    __ret = __builtin_memcpy(__cil_tmp13, __cil_tmp14, __len);
11554    }
11555  }
11556#line 1201
11557  mbox->m_out.cmdid = (u8 volatile   )254U;
11558#line 1202
11559  mbox->m_in.busy = (u8 volatile   )1U;
11560  {
11561#line 1205
11562  __cil_tmp15 = *raw_mbox;
11563#line 1205
11564  __cil_tmp16 = (int )__cil_tmp15;
11565#line 1205
11566  if (__cil_tmp16 == 167) {
11567#line 1205
11568    goto case_167;
11569  } else {
11570    {
11571#line 1206
11572    __cil_tmp17 = *raw_mbox;
11573#line 1206
11574    __cil_tmp18 = (int )__cil_tmp17;
11575#line 1206
11576    if (__cil_tmp18 == 168) {
11577#line 1206
11578      goto case_168;
11579    } else {
11580      {
11581#line 1207
11582      __cil_tmp19 = *raw_mbox;
11583#line 1207
11584      __cil_tmp20 = (int )__cil_tmp19;
11585#line 1207
11586      if (__cil_tmp20 == 195) {
11587#line 1207
11588        goto case_195;
11589      } else {
11590        {
11591#line 1208
11592        __cil_tmp21 = *raw_mbox;
11593#line 1208
11594        __cil_tmp22 = (int )__cil_tmp21;
11595#line 1208
11596        if (__cil_tmp22 == 227) {
11597#line 1208
11598          goto case_227;
11599        } else {
11600#line 1213
11601          goto switch_default;
11602#line 1204
11603          if (0) {
11604            case_167: ;
11605            case_168: ;
11606            case_195: ;
11607            case_227: 
11608#line 1209
11609            mbox64->xfer_segment_lo = mbox->m_out.xferaddr;
11610#line 1210
11611            mbox64->xfer_segment_hi = (u32 volatile   )0U;
11612#line 1211
11613            mbox->m_out.xferaddr = (u32 volatile   )4294967295U;
11614#line 1212
11615            goto ldv_32075;
11616            switch_default: 
11617#line 1214
11618            mbox64->xfer_segment_lo = (u32 volatile   )0U;
11619#line 1215
11620            mbox64->xfer_segment_hi = (u32 volatile   )0U;
11621          } else {
11622
11623          }
11624        }
11625        }
11626      }
11627      }
11628    }
11629    }
11630  }
11631  }
11632  ldv_32075: 
11633  {
11634#line 1218
11635  __cil_tmp23 = adapter->flag;
11636#line 1218
11637  __cil_tmp24 = (long )__cil_tmp23;
11638#line 1218
11639  __cil_tmp25 = __cil_tmp24 & 536870912L;
11640#line 1218
11641  __cil_tmp26 = __cil_tmp25 != 0L;
11642#line 1218
11643  __cil_tmp27 = (long )__cil_tmp26;
11644#line 1218
11645  tmp___1 = __builtin_expect(__cil_tmp27, 1L);
11646  }
11647#line 1218
11648  if (tmp___1 != 0L) {
11649    {
11650#line 1219
11651    mbox->m_in.poll = (u8 volatile   )0U;
11652#line 1220
11653    mbox->m_in.ack = (u8 volatile   )0U;
11654#line 1221
11655    mbox->m_in.numstatus = (u8 volatile   )255U;
11656#line 1222
11657    mbox->m_in.status = (u8 volatile   )255U;
11658#line 1223
11659    __cil_tmp28 = adapter->mbox_dma;
11660#line 1223
11661    __cil_tmp29 = (unsigned int )__cil_tmp28;
11662#line 1223
11663    __cil_tmp30 = __cil_tmp29 | 1U;
11664#line 1223
11665    __cil_tmp31 = adapter->mmio_base;
11666#line 1223
11667    __cil_tmp32 = (void volatile   *)__cil_tmp31;
11668#line 1223
11669    __cil_tmp33 = __cil_tmp32 + 32U;
11670#line 1223
11671    writel(__cil_tmp30, __cil_tmp33);
11672    }
11673#line 1225
11674    goto ldv_32078;
11675    ldv_32077: 
11676    {
11677#line 1226
11678    cpu_relax();
11679    }
11680    ldv_32078: ;
11681    {
11682#line 1225
11683    __cil_tmp34 = mbox->m_in.numstatus;
11684#line 1225
11685    __cil_tmp35 = (unsigned char )__cil_tmp34;
11686#line 1225
11687    __cil_tmp36 = (unsigned int )__cil_tmp35;
11688#line 1225
11689    if (__cil_tmp36 == 255U) {
11690#line 1226
11691      goto ldv_32077;
11692    } else {
11693#line 1228
11694      goto ldv_32079;
11695    }
11696    }
11697    ldv_32079: 
11698#line 1228
11699    mbox->m_in.numstatus = (u8 volatile   )255U;
11700#line 1230
11701    goto ldv_32081;
11702    ldv_32080: 
11703    {
11704#line 1231
11705    cpu_relax();
11706    }
11707    ldv_32081: ;
11708    {
11709#line 1230
11710    __cil_tmp37 = mbox->m_in.poll;
11711#line 1230
11712    __cil_tmp38 = (unsigned char )__cil_tmp37;
11713#line 1230
11714    __cil_tmp39 = (unsigned int )__cil_tmp38;
11715#line 1230
11716    if (__cil_tmp39 != 119U) {
11717#line 1231
11718      goto ldv_32080;
11719    } else {
11720#line 1233
11721      goto ldv_32082;
11722    }
11723    }
11724    ldv_32082: 
11725    {
11726#line 1233
11727    mbox->m_in.poll = (u8 volatile   )0U;
11728#line 1234
11729    mbox->m_in.ack = (u8 volatile   )119U;
11730#line 1236
11731    __cil_tmp40 = adapter->mbox_dma;
11732#line 1236
11733    __cil_tmp41 = (unsigned int )__cil_tmp40;
11734#line 1236
11735    __cil_tmp42 = __cil_tmp41 | 2U;
11736#line 1236
11737    __cil_tmp43 = adapter->mmio_base;
11738#line 1236
11739    __cil_tmp44 = (void volatile   *)__cil_tmp43;
11740#line 1236
11741    __cil_tmp45 = __cil_tmp44 + 32U;
11742#line 1236
11743    writel(__cil_tmp42, __cil_tmp45);
11744    }
11745#line 1238
11746    goto ldv_32084;
11747    ldv_32083: 
11748    {
11749#line 1239
11750    cpu_relax();
11751    }
11752    ldv_32084: 
11753    {
11754#line 1238
11755    __cil_tmp46 = adapter->mmio_base;
11756#line 1238
11757    __cil_tmp47 = (void const volatile   *)__cil_tmp46;
11758#line 1238
11759    __cil_tmp48 = __cil_tmp47 + 32U;
11760#line 1238
11761    tmp___0 = readl(__cil_tmp48);
11762    }
11763    {
11764#line 1238
11765    __cil_tmp49 = tmp___0 & 2U;
11766#line 1238
11767    if (__cil_tmp49 != 0U) {
11768#line 1239
11769      goto ldv_32083;
11770    } else {
11771#line 1241
11772      goto ldv_32085;
11773    }
11774    }
11775    ldv_32085: ;
11776  } else {
11777    {
11778#line 1242
11779    __cil_tmp50 = adapter->base;
11780#line 1242
11781    __cil_tmp51 = (unsigned int )__cil_tmp50;
11782#line 1242
11783    __cil_tmp52 = __cil_tmp51 + 1U;
11784#line 1242
11785    __cil_tmp53 = (int )__cil_tmp52;
11786#line 1242
11787    outb_p((unsigned char)0, __cil_tmp53);
11788#line 1243
11789    __cil_tmp54 = adapter->base;
11790#line 1243
11791    __cil_tmp55 = (int )__cil_tmp54;
11792#line 1243
11793    outb_p((unsigned char)16, __cil_tmp55);
11794    }
11795#line 1245
11796    goto ldv_32087;
11797    ldv_32086: 
11798    {
11799#line 1246
11800    cpu_relax();
11801    }
11802    ldv_32087: 
11803    {
11804#line 1245
11805    __cil_tmp56 = adapter->base;
11806#line 1245
11807    __cil_tmp57 = (unsigned int )__cil_tmp56;
11808#line 1245
11809    __cil_tmp58 = __cil_tmp57 + 10U;
11810#line 1245
11811    __cil_tmp59 = (int )__cil_tmp58;
11812#line 1245
11813    byte = inb_p(__cil_tmp59);
11814    }
11815    {
11816#line 1245
11817    __cil_tmp60 = (int )byte;
11818#line 1245
11819    __cil_tmp61 = __cil_tmp60 & 64;
11820#line 1245
11821    if (__cil_tmp61 == 0) {
11822#line 1246
11823      goto ldv_32086;
11824    } else {
11825#line 1248
11826      goto ldv_32088;
11827    }
11828    }
11829    ldv_32088: 
11830    {
11831#line 1248
11832    __cil_tmp62 = (int )byte;
11833#line 1248
11834    __cil_tmp63 = (unsigned char )__cil_tmp62;
11835#line 1248
11836    __cil_tmp64 = adapter->base;
11837#line 1248
11838    __cil_tmp65 = (unsigned int )__cil_tmp64;
11839#line 1248
11840    __cil_tmp66 = __cil_tmp65 + 10U;
11841#line 1248
11842    __cil_tmp67 = (int )__cil_tmp66;
11843#line 1248
11844    outb_p(__cil_tmp63, __cil_tmp67);
11845#line 1249
11846    __cil_tmp68 = adapter->base;
11847#line 1249
11848    __cil_tmp69 = (unsigned int )__cil_tmp68;
11849#line 1249
11850    __cil_tmp70 = __cil_tmp69 + 1U;
11851#line 1249
11852    __cil_tmp71 = (int )__cil_tmp70;
11853#line 1249
11854    outb_p((unsigned char)192, __cil_tmp71);
11855#line 1250
11856    __cil_tmp72 = adapter->base;
11857#line 1250
11858    __cil_tmp73 = (int )__cil_tmp72;
11859#line 1250
11860    outb_p((unsigned char)8, __cil_tmp73);
11861    }
11862  }
11863  {
11864#line 1253
11865  __cil_tmp74 = mbox->m_in.status;
11866#line 1253
11867  return ((int )__cil_tmp74);
11868  }
11869  bug_blocked_mailbox: 
11870  {
11871#line 1256
11872  printk("<4>megaraid: Blocked mailbox......!!\n");
11873#line 1257
11874  __const_udelay(4295000UL);
11875  }
11876#line 1258
11877  return (-1);
11878}
11879}
11880#line 1272 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
11881static irqreturn_t megaraid_isr_iomapped(int irq , void *devp ) 
11882{ adapter_t *adapter ;
11883  unsigned long flags ;
11884  u8 status ;
11885  u8 nstatus ;
11886  u8 completed[46U] ;
11887  u8 byte ;
11888  int handled ;
11889  raw_spinlock_t *tmp ;
11890  size_t __len ;
11891  void *__ret ;
11892  int tmp___0 ;
11893  spinlock_t *__cil_tmp14 ;
11894  unsigned long __cil_tmp15 ;
11895  unsigned int __cil_tmp16 ;
11896  unsigned int __cil_tmp17 ;
11897  int __cil_tmp18 ;
11898  int __cil_tmp19 ;
11899  int __cil_tmp20 ;
11900  int __cil_tmp21 ;
11901  unsigned char __cil_tmp22 ;
11902  unsigned long __cil_tmp23 ;
11903  unsigned int __cil_tmp24 ;
11904  unsigned int __cil_tmp25 ;
11905  int __cil_tmp26 ;
11906  mbox_t volatile   *__cil_tmp27 ;
11907  u8 volatile   __cil_tmp28 ;
11908  unsigned int __cil_tmp29 ;
11909  mbox_t volatile   *__cil_tmp30 ;
11910  mbox_t volatile   *__cil_tmp31 ;
11911  u8 volatile   __cil_tmp32 ;
11912  int __cil_tmp33 ;
11913  atomic_t *__cil_tmp34 ;
11914  void *__cil_tmp35 ;
11915  mbox_t volatile   *__cil_tmp36 ;
11916  u8 volatile   ((*__cil_tmp37))[46U] ;
11917  void const   *__cil_tmp38 ;
11918  unsigned long __cil_tmp39 ;
11919  int __cil_tmp40 ;
11920  u8 *__cil_tmp41 ;
11921  int __cil_tmp42 ;
11922  int __cil_tmp43 ;
11923  atomic_t *__cil_tmp44 ;
11924  atomic_t const   *__cil_tmp45 ;
11925  spinlock_t *__cil_tmp46 ;
11926  int __cil_tmp47 ;
11927
11928  {
11929  {
11930#line 1274
11931  adapter = (adapter_t *)devp;
11932#line 1280
11933  handled = 0;
11934#line 1286
11935  __cil_tmp14 = & adapter->lock;
11936#line 1286
11937  tmp = spinlock_check(__cil_tmp14);
11938#line 1286
11939  flags = _raw_spin_lock_irqsave(tmp);
11940  }
11941  ldv_32110: 
11942  {
11943#line 1290
11944  __cil_tmp15 = adapter->base;
11945#line 1290
11946  __cil_tmp16 = (unsigned int )__cil_tmp15;
11947#line 1290
11948  __cil_tmp17 = __cil_tmp16 + 10U;
11949#line 1290
11950  __cil_tmp18 = (int )__cil_tmp17;
11951#line 1290
11952  byte = inb_p(__cil_tmp18);
11953  }
11954  {
11955#line 1291
11956  __cil_tmp19 = (int )byte;
11957#line 1291
11958  __cil_tmp20 = __cil_tmp19 & 64;
11959#line 1291
11960  if (__cil_tmp20 == 0) {
11961#line 1295
11962    goto out_unlock;
11963  } else {
11964
11965  }
11966  }
11967  {
11968#line 1297
11969  __cil_tmp21 = (int )byte;
11970#line 1297
11971  __cil_tmp22 = (unsigned char )__cil_tmp21;
11972#line 1297
11973  __cil_tmp23 = adapter->base;
11974#line 1297
11975  __cil_tmp24 = (unsigned int )__cil_tmp23;
11976#line 1297
11977  __cil_tmp25 = __cil_tmp24 + 10U;
11978#line 1297
11979  __cil_tmp26 = (int )__cil_tmp25;
11980#line 1297
11981  outb_p(__cil_tmp22, __cil_tmp26);
11982  }
11983#line 1299
11984  goto ldv_32105;
11985  ldv_32104: 
11986  {
11987#line 1301
11988  cpu_relax();
11989  }
11990  ldv_32105: 
11991#line 1299
11992  __cil_tmp27 = adapter->mbox;
11993#line 1299
11994  __cil_tmp28 = __cil_tmp27->m_in.numstatus;
11995#line 1299
11996  nstatus = (u8 )__cil_tmp28;
11997  {
11998#line 1299
11999  __cil_tmp29 = (unsigned int )nstatus;
12000#line 1299
12001  if (__cil_tmp29 == 255U) {
12002#line 1301
12003    goto ldv_32104;
12004  } else {
12005#line 1303
12006    goto ldv_32106;
12007  }
12008  }
12009  ldv_32106: 
12010  {
12011#line 1302
12012  __cil_tmp30 = adapter->mbox;
12013#line 1302
12014  __cil_tmp30->m_in.numstatus = (u8 volatile   )255U;
12015#line 1304
12016  __cil_tmp31 = adapter->mbox;
12017#line 1304
12018  __cil_tmp32 = __cil_tmp31->m_in.status;
12019#line 1304
12020  status = (u8 )__cil_tmp32;
12021#line 1309
12022  __cil_tmp33 = (int )nstatus;
12023#line 1309
12024  __cil_tmp34 = & adapter->pend_cmds;
12025#line 1309
12026  atomic_sub(__cil_tmp33, __cil_tmp34);
12027#line 1311
12028  __len = (size_t )nstatus;
12029#line 1311
12030  __cil_tmp35 = (void *)(& completed);
12031#line 1311
12032  __cil_tmp36 = adapter->mbox;
12033#line 1311
12034  __cil_tmp37 = & __cil_tmp36->m_in.completed;
12035#line 1311
12036  __cil_tmp38 = (void const   *)__cil_tmp37;
12037#line 1311
12038  __ret = __builtin_memcpy(__cil_tmp35, __cil_tmp38, __len);
12039#line 1315
12040  __cil_tmp39 = adapter->base;
12041#line 1315
12042  __cil_tmp40 = (int )__cil_tmp39;
12043#line 1315
12044  outb_p((unsigned char)8, __cil_tmp40);
12045#line 1317
12046  __cil_tmp41 = (u8 *)(& completed);
12047#line 1317
12048  __cil_tmp42 = (int )nstatus;
12049#line 1317
12050  __cil_tmp43 = (int )status;
12051#line 1317
12052  mega_cmd_done(adapter, __cil_tmp41, __cil_tmp42, __cil_tmp43);
12053#line 1319
12054  mega_rundoneq(adapter);
12055#line 1321
12056  handled = 1;
12057#line 1324
12058  __cil_tmp44 = & adapter->quiescent;
12059#line 1324
12060  __cil_tmp45 = (atomic_t const   *)__cil_tmp44;
12061#line 1324
12062  tmp___0 = atomic_read(__cil_tmp45);
12063  }
12064#line 1324
12065  if (tmp___0 == 0) {
12066    {
12067#line 1325
12068    mega_runpendq(adapter);
12069    }
12070  } else {
12071
12072  }
12073#line 1328
12074  goto ldv_32110;
12075  out_unlock: 
12076  {
12077#line 1332
12078  __cil_tmp46 = & adapter->lock;
12079#line 1332
12080  spin_unlock_irqrestore(__cil_tmp46, flags);
12081  }
12082  {
12083#line 1334
12084  __cil_tmp47 = handled != 0;
12085#line 1334
12086  return ((irqreturn_t )__cil_tmp47);
12087  }
12088}
12089}
12090#line 1348 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
12091static irqreturn_t megaraid_isr_memmapped(int irq , void *devp ) 
12092{ adapter_t *adapter ;
12093  unsigned long flags ;
12094  u8 status ;
12095  u32 dword ;
12096  u8 nstatus ;
12097  u8 completed[46U] ;
12098  int handled ;
12099  raw_spinlock_t *tmp ;
12100  size_t __len ;
12101  void *__ret ;
12102  unsigned int tmp___0 ;
12103  int tmp___1 ;
12104  spinlock_t *__cil_tmp15 ;
12105  void *__cil_tmp16 ;
12106  void const volatile   *__cil_tmp17 ;
12107  void const volatile   *__cil_tmp18 ;
12108  void *__cil_tmp19 ;
12109  void volatile   *__cil_tmp20 ;
12110  void volatile   *__cil_tmp21 ;
12111  mbox_t volatile   *__cil_tmp22 ;
12112  u8 volatile   __cil_tmp23 ;
12113  unsigned int __cil_tmp24 ;
12114  mbox_t volatile   *__cil_tmp25 ;
12115  mbox_t volatile   *__cil_tmp26 ;
12116  u8 volatile   __cil_tmp27 ;
12117  int __cil_tmp28 ;
12118  atomic_t *__cil_tmp29 ;
12119  void *__cil_tmp30 ;
12120  mbox_t volatile   *__cil_tmp31 ;
12121  u8 volatile   ((*__cil_tmp32))[46U] ;
12122  void const   *__cil_tmp33 ;
12123  void *__cil_tmp34 ;
12124  void volatile   *__cil_tmp35 ;
12125  void volatile   *__cil_tmp36 ;
12126  void *__cil_tmp37 ;
12127  void const volatile   *__cil_tmp38 ;
12128  void const volatile   *__cil_tmp39 ;
12129  unsigned int __cil_tmp40 ;
12130  u8 *__cil_tmp41 ;
12131  int __cil_tmp42 ;
12132  int __cil_tmp43 ;
12133  atomic_t *__cil_tmp44 ;
12134  atomic_t const   *__cil_tmp45 ;
12135  spinlock_t *__cil_tmp46 ;
12136  int __cil_tmp47 ;
12137
12138  {
12139  {
12140#line 1350
12141  adapter = (adapter_t *)devp;
12142#line 1353
12143  dword = 0U;
12144#line 1356
12145  handled = 0;
12146#line 1362
12147  __cil_tmp15 = & adapter->lock;
12148#line 1362
12149  tmp = spinlock_check(__cil_tmp15);
12150#line 1362
12151  flags = _raw_spin_lock_irqsave(tmp);
12152  }
12153  ldv_32135: 
12154  {
12155#line 1366
12156  __cil_tmp16 = adapter->mmio_base;
12157#line 1366
12158  __cil_tmp17 = (void const volatile   *)__cil_tmp16;
12159#line 1366
12160  __cil_tmp18 = __cil_tmp17 + 44U;
12161#line 1366
12162  dword = readl(__cil_tmp18);
12163  }
12164#line 1367
12165  if (dword != 268440116U) {
12166#line 1371
12167    goto out_unlock;
12168  } else {
12169
12170  }
12171  {
12172#line 1373
12173  __cil_tmp19 = adapter->mmio_base;
12174#line 1373
12175  __cil_tmp20 = (void volatile   *)__cil_tmp19;
12176#line 1373
12177  __cil_tmp21 = __cil_tmp20 + 44U;
12178#line 1373
12179  writel(268440116U, __cil_tmp21);
12180  }
12181#line 1375
12182  goto ldv_32127;
12183  ldv_32126: 
12184  {
12185#line 1377
12186  cpu_relax();
12187  }
12188  ldv_32127: 
12189#line 1375
12190  __cil_tmp22 = adapter->mbox;
12191#line 1375
12192  __cil_tmp23 = __cil_tmp22->m_in.numstatus;
12193#line 1375
12194  nstatus = (u8 )__cil_tmp23;
12195  {
12196#line 1375
12197  __cil_tmp24 = (unsigned int )nstatus;
12198#line 1375
12199  if (__cil_tmp24 == 255U) {
12200#line 1377
12201    goto ldv_32126;
12202  } else {
12203#line 1379
12204    goto ldv_32128;
12205  }
12206  }
12207  ldv_32128: 
12208  {
12209#line 1379
12210  __cil_tmp25 = adapter->mbox;
12211#line 1379
12212  __cil_tmp25->m_in.numstatus = (u8 volatile   )255U;
12213#line 1381
12214  __cil_tmp26 = adapter->mbox;
12215#line 1381
12216  __cil_tmp27 = __cil_tmp26->m_in.status;
12217#line 1381
12218  status = (u8 )__cil_tmp27;
12219#line 1386
12220  __cil_tmp28 = (int )nstatus;
12221#line 1386
12222  __cil_tmp29 = & adapter->pend_cmds;
12223#line 1386
12224  atomic_sub(__cil_tmp28, __cil_tmp29);
12225#line 1388
12226  __len = (size_t )nstatus;
12227#line 1388
12228  __cil_tmp30 = (void *)(& completed);
12229#line 1388
12230  __cil_tmp31 = adapter->mbox;
12231#line 1388
12232  __cil_tmp32 = & __cil_tmp31->m_in.completed;
12233#line 1388
12234  __cil_tmp33 = (void const   *)__cil_tmp32;
12235#line 1388
12236  __ret = __builtin_memcpy(__cil_tmp30, __cil_tmp33, __len);
12237#line 1392
12238  __cil_tmp34 = adapter->mmio_base;
12239#line 1392
12240  __cil_tmp35 = (void volatile   *)__cil_tmp34;
12241#line 1392
12242  __cil_tmp36 = __cil_tmp35 + 32U;
12243#line 1392
12244  writel(2U, __cil_tmp36);
12245#line 1394
12246  handled = 1;
12247  }
12248#line 1396
12249  goto ldv_32133;
12250  ldv_32132: 
12251  {
12252#line 1397
12253  cpu_relax();
12254  }
12255  ldv_32133: 
12256  {
12257#line 1396
12258  __cil_tmp37 = adapter->mmio_base;
12259#line 1396
12260  __cil_tmp38 = (void const volatile   *)__cil_tmp37;
12261#line 1396
12262  __cil_tmp39 = __cil_tmp38 + 32U;
12263#line 1396
12264  tmp___0 = readl(__cil_tmp39);
12265  }
12266  {
12267#line 1396
12268  __cil_tmp40 = tmp___0 & 2U;
12269#line 1396
12270  if (__cil_tmp40 != 0U) {
12271#line 1397
12272    goto ldv_32132;
12273  } else {
12274#line 1399
12275    goto ldv_32134;
12276  }
12277  }
12278  ldv_32134: 
12279  {
12280#line 1399
12281  __cil_tmp41 = (u8 *)(& completed);
12282#line 1399
12283  __cil_tmp42 = (int )nstatus;
12284#line 1399
12285  __cil_tmp43 = (int )status;
12286#line 1399
12287  mega_cmd_done(adapter, __cil_tmp41, __cil_tmp42, __cil_tmp43);
12288#line 1401
12289  mega_rundoneq(adapter);
12290#line 1404
12291  __cil_tmp44 = & adapter->quiescent;
12292#line 1404
12293  __cil_tmp45 = (atomic_t const   *)__cil_tmp44;
12294#line 1404
12295  tmp___1 = atomic_read(__cil_tmp45);
12296  }
12297#line 1404
12298  if (tmp___1 == 0) {
12299    {
12300#line 1405
12301    mega_runpendq(adapter);
12302    }
12303  } else {
12304
12305  }
12306#line 1408
12307  goto ldv_32135;
12308  out_unlock: 
12309  {
12310#line 1412
12311  __cil_tmp46 = & adapter->lock;
12312#line 1412
12313  spin_unlock_irqrestore(__cil_tmp46, flags);
12314  }
12315  {
12316#line 1414
12317  __cil_tmp47 = handled != 0;
12318#line 1414
12319  return ((irqreturn_t )__cil_tmp47);
12320  }
12321}
12322}
12323#line 1426 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
12324static void mega_cmd_done(adapter_t *adapter , u8 *completed , int nstatus , int status ) 
12325{ mega_ext_passthru *epthru ;
12326  struct scatterlist *sgl ;
12327  Scsi_Cmnd *cmd ;
12328  mega_passthru *pthru ;
12329  mbox_t *mbox ;
12330  u8 c ;
12331  scb_t *scb ;
12332  int islogical ;
12333  int cmdid ;
12334  int i ;
12335  void *tmp ;
12336  struct page *tmp___0 ;
12337  size_t __len ;
12338  void *__ret ;
12339  size_t __len___0 ;
12340  void *__ret___0 ;
12341  unsigned long __cil_tmp21 ;
12342  u8 *__cil_tmp22 ;
12343  u8 __cil_tmp23 ;
12344  u8 (*__cil_tmp24)[66U] ;
12345  unsigned long __cil_tmp25 ;
12346  scb_t *__cil_tmp26 ;
12347  u32 __cil_tmp27 ;
12348  unsigned int __cil_tmp28 ;
12349  u32 __cil_tmp29 ;
12350  Scsi_Cmnd *__cil_tmp30 ;
12351  Scsi_Cmnd *__cil_tmp31 ;
12352  unsigned long __cil_tmp32 ;
12353  Scsi_Cmnd *__cil_tmp33 ;
12354  unsigned long __cil_tmp34 ;
12355  u32 __cil_tmp35 ;
12356  Scsi_Cmnd *__cil_tmp36 ;
12357  u32 __cil_tmp37 ;
12358  unsigned int __cil_tmp38 ;
12359  int __cil_tmp39 ;
12360  Scsi_Cmnd *__cil_tmp40 ;
12361  Scsi_Cmnd *__cil_tmp41 ;
12362  struct scsi_pointer *__cil_tmp42 ;
12363  struct list_head *__cil_tmp43 ;
12364  struct list_head *__cil_tmp44 ;
12365  u32 __cil_tmp45 ;
12366  unsigned int __cil_tmp46 ;
12367  int __cil_tmp47 ;
12368  Scsi_Cmnd *__cil_tmp48 ;
12369  Scsi_Cmnd *__cil_tmp49 ;
12370  struct scsi_pointer *__cil_tmp50 ;
12371  struct list_head *__cil_tmp51 ;
12372  struct list_head *__cil_tmp52 ;
12373  u8 (*__cil_tmp53)[66U] ;
12374  u8 __cil_tmp54 ;
12375  unsigned char *__cil_tmp55 ;
12376  unsigned char __cil_tmp56 ;
12377  unsigned int __cil_tmp57 ;
12378  struct page *__cil_tmp58 ;
12379  unsigned long __cil_tmp59 ;
12380  unsigned long __cil_tmp60 ;
12381  unsigned char *__cil_tmp61 ;
12382  struct scsi_device *__cil_tmp62 ;
12383  unsigned int __cil_tmp63 ;
12384  int __cil_tmp64 ;
12385  int __cil_tmp65 ;
12386  int __cil_tmp66 ;
12387  int __cil_tmp67 ;
12388  int __cil_tmp68 ;
12389  u8 __cil_tmp69 ;
12390  unsigned int __cil_tmp70 ;
12391  u8 __cil_tmp71 ;
12392  unsigned int __cil_tmp72 ;
12393  unsigned char *__cil_tmp73 ;
12394  void *__cil_tmp74 ;
12395  u8 (*__cil_tmp75)[32U] ;
12396  void const   *__cil_tmp76 ;
12397  unsigned char *__cil_tmp77 ;
12398  void *__cil_tmp78 ;
12399  u8 (*__cil_tmp79)[32U] ;
12400  void const   *__cil_tmp80 ;
12401  u8 __cil_tmp81 ;
12402  unsigned int __cil_tmp82 ;
12403  unsigned char *__cil_tmp83 ;
12404  void *__cil_tmp84 ;
12405  u8 (*__cil_tmp85)[32U] ;
12406  void const   *__cil_tmp86 ;
12407  unsigned char *__cil_tmp87 ;
12408  void *__cil_tmp88 ;
12409  u8 (*__cil_tmp89)[32U] ;
12410  void const   *__cil_tmp90 ;
12411  unsigned char *__cil_tmp91 ;
12412  unsigned char *__cil_tmp92 ;
12413  unsigned char *__cil_tmp93 ;
12414  int __cil_tmp94 ;
12415  int __cil_tmp95 ;
12416  int __cil_tmp96 ;
12417  unsigned char *__cil_tmp97 ;
12418  unsigned char __cil_tmp98 ;
12419  unsigned int __cil_tmp99 ;
12420  int __cil_tmp100 ;
12421  unsigned char *__cil_tmp101 ;
12422  unsigned char __cil_tmp102 ;
12423  unsigned int __cil_tmp103 ;
12424  int __cil_tmp104 ;
12425  unsigned char *__cil_tmp105 ;
12426  unsigned char __cil_tmp106 ;
12427  unsigned int __cil_tmp107 ;
12428  int __cil_tmp108 ;
12429  int __cil_tmp109 ;
12430  int __cil_tmp110 ;
12431  int __cil_tmp111 ;
12432  int __cil_tmp112 ;
12433  struct list_head *__cil_tmp113 ;
12434  struct scsi_pointer *__cil_tmp114 ;
12435  struct list_head *__cil_tmp115 ;
12436  struct list_head *__cil_tmp116 ;
12437
12438  {
12439#line 1428
12440  epthru = (mega_ext_passthru *)0;
12441#line 1430
12442  cmd = (Scsi_Cmnd *)0;
12443#line 1431
12444  pthru = (mega_passthru *)0;
12445#line 1432
12446  mbox = (mbox_t *)0;
12447#line 1443
12448  i = 0;
12449#line 1443
12450  goto ldv_32165;
12451  ldv_32164: 
12452#line 1445
12453  __cil_tmp21 = (unsigned long )i;
12454#line 1445
12455  __cil_tmp22 = completed + __cil_tmp21;
12456#line 1445
12457  __cil_tmp23 = *__cil_tmp22;
12458#line 1445
12459  cmdid = (int )__cil_tmp23;
12460#line 1447
12461  if (cmdid == 127) {
12462#line 1448
12463    scb = & adapter->int_scb;
12464#line 1449
12465    cmd = scb->cmd;
12466#line 1450
12467    __cil_tmp24 = & scb->raw_mbox;
12468#line 1450
12469    mbox = (mbox_t *)__cil_tmp24;
12470#line 1456
12471    pthru = scb->pthru;
12472  } else {
12473#line 1460
12474    __cil_tmp25 = (unsigned long )cmdid;
12475#line 1460
12476    __cil_tmp26 = adapter->scb_list;
12477#line 1460
12478    scb = __cil_tmp26 + __cil_tmp25;
12479    {
12480#line 1465
12481    __cil_tmp27 = scb->state;
12482#line 1465
12483    __cil_tmp28 = __cil_tmp27 & 4U;
12484#line 1465
12485    if (__cil_tmp28 == 0U) {
12486      {
12487#line 1466
12488      printk("<2>megaraid: invalid command ");
12489#line 1468
12490      __cil_tmp29 = scb->state;
12491#line 1468
12492      __cil_tmp30 = scb->cmd;
12493#line 1468
12494      printk("Id %d, scb->state:%x, scsi cmd:%p\n", cmdid, __cil_tmp29, __cil_tmp30);
12495      }
12496#line 1471
12497      goto ldv_32152;
12498    } else {
12499      {
12500#line 1465
12501      __cil_tmp31 = (Scsi_Cmnd *)0;
12502#line 1465
12503      __cil_tmp32 = (unsigned long )__cil_tmp31;
12504#line 1465
12505      __cil_tmp33 = scb->cmd;
12506#line 1465
12507      __cil_tmp34 = (unsigned long )__cil_tmp33;
12508#line 1465
12509      if (__cil_tmp34 == __cil_tmp32) {
12510        {
12511#line 1466
12512        printk("<2>megaraid: invalid command ");
12513#line 1468
12514        __cil_tmp35 = scb->state;
12515#line 1468
12516        __cil_tmp36 = scb->cmd;
12517#line 1468
12518        printk("Id %d, scb->state:%x, scsi cmd:%p\n", cmdid, __cil_tmp35, __cil_tmp36);
12519        }
12520#line 1471
12521        goto ldv_32152;
12522      } else {
12523
12524      }
12525      }
12526    }
12527    }
12528    {
12529#line 1477
12530    __cil_tmp37 = scb->state;
12531#line 1477
12532    __cil_tmp38 = __cil_tmp37 & 8U;
12533#line 1477
12534    if (__cil_tmp38 != 0U) {
12535      {
12536#line 1479
12537      __cil_tmp39 = scb->idx;
12538#line 1479
12539      printk("<4>megaraid: aborted cmd [%x] complete.\n", __cil_tmp39);
12540#line 1483
12541      __cil_tmp40 = scb->cmd;
12542#line 1483
12543      __cil_tmp40->result = 327680;
12544#line 1485
12545      __cil_tmp41 = scb->cmd;
12546#line 1485
12547      __cil_tmp42 = & __cil_tmp41->SCp;
12548#line 1485
12549      __cil_tmp43 = (struct list_head *)__cil_tmp42;
12550#line 1485
12551      __cil_tmp44 = & adapter->completed_list;
12552#line 1485
12553      list_add_tail(__cil_tmp43, __cil_tmp44);
12554#line 1488
12555      mega_free_scb(adapter, scb);
12556      }
12557#line 1490
12558      goto ldv_32152;
12559    } else {
12560
12561    }
12562    }
12563    {
12564#line 1496
12565    __cil_tmp45 = scb->state;
12566#line 1496
12567    __cil_tmp46 = __cil_tmp45 & 16U;
12568#line 1496
12569    if (__cil_tmp46 != 0U) {
12570      {
12571#line 1498
12572      __cil_tmp47 = scb->idx;
12573#line 1498
12574      printk("<4>megaraid: reset cmd [%x] complete.\n", __cil_tmp47);
12575#line 1502
12576      __cil_tmp48 = scb->cmd;
12577#line 1502
12578      __cil_tmp48->result = 524288;
12579#line 1504
12580      __cil_tmp49 = scb->cmd;
12581#line 1504
12582      __cil_tmp50 = & __cil_tmp49->SCp;
12583#line 1504
12584      __cil_tmp51 = (struct list_head *)__cil_tmp50;
12585#line 1504
12586      __cil_tmp52 = & adapter->completed_list;
12587#line 1504
12588      list_add_tail(__cil_tmp51, __cil_tmp52);
12589#line 1507
12590      mega_free_scb(adapter, scb);
12591      }
12592#line 1509
12593      goto ldv_32152;
12594    } else {
12595
12596    }
12597    }
12598#line 1512
12599    cmd = scb->cmd;
12600#line 1513
12601    pthru = scb->pthru;
12602#line 1514
12603    epthru = scb->epthru;
12604#line 1515
12605    __cil_tmp53 = & scb->raw_mbox;
12606#line 1515
12607    mbox = (mbox_t *)__cil_tmp53;
12608  }
12609#line 1558
12610  __cil_tmp54 = adapter->logdrv_chan[(cmd->device)->channel];
12611#line 1558
12612  islogical = (int )__cil_tmp54;
12613  {
12614#line 1559
12615  __cil_tmp55 = cmd->cmnd;
12616#line 1559
12617  __cil_tmp56 = *__cil_tmp55;
12618#line 1559
12619  __cil_tmp57 = (unsigned int )__cil_tmp56;
12620#line 1559
12621  if (__cil_tmp57 == 18U) {
12622#line 1559
12623    if (islogical == 0) {
12624      {
12625#line 1561
12626      sgl = scsi_sglist(cmd);
12627#line 1562
12628      tmp___0 = sg_page(sgl);
12629      }
12630      {
12631#line 1562
12632      __cil_tmp58 = (struct page *)0;
12633#line 1562
12634      __cil_tmp59 = (unsigned long )__cil_tmp58;
12635#line 1562
12636      __cil_tmp60 = (unsigned long )tmp___0;
12637#line 1562
12638      if (__cil_tmp60 != __cil_tmp59) {
12639        {
12640#line 1563
12641        tmp = sg_virt(sgl);
12642#line 1563
12643        __cil_tmp61 = (unsigned char *)tmp;
12644#line 1563
12645        c = *__cil_tmp61;
12646        }
12647      } else {
12648        {
12649#line 1565
12650        printk("<4>megaraid: invalid sg.\n");
12651#line 1567
12652        c = (u8 )0U;
12653        }
12654      }
12655      }
12656      {
12657#line 1570
12658      __cil_tmp62 = cmd->device;
12659#line 1570
12660      __cil_tmp63 = __cil_tmp62->channel;
12661#line 1570
12662      __cil_tmp64 = (int )__cil_tmp63;
12663#line 1570
12664      __cil_tmp65 = adapter->mega_ch_class;
12665#line 1570
12666      __cil_tmp66 = __cil_tmp65 >> __cil_tmp64;
12667#line 1570
12668      if (__cil_tmp66 & 1) {
12669        {
12670#line 1570
12671        __cil_tmp67 = (int )c;
12672#line 1570
12673        __cil_tmp68 = __cil_tmp67 & 31;
12674#line 1570
12675        if (__cil_tmp68 == 0) {
12676#line 1572
12677          status = 240;
12678        } else {
12679
12680        }
12681        }
12682      } else {
12683
12684      }
12685      }
12686    } else {
12687
12688    }
12689  } else {
12690
12691  }
12692  }
12693#line 1577
12694  cmd->result = 0;
12695#line 1581
12696  if (status == 0) {
12697#line 1581
12698    goto case_0;
12699  } else
12700#line 1585
12701  if (status == 2) {
12702#line 1585
12703    goto case_2;
12704  } else
12705#line 1616
12706  if (status == 8) {
12707#line 1616
12708    goto case_8;
12709  } else {
12710#line 1621
12711    goto switch_default;
12712#line 1580
12713    if (0) {
12714      case_0: 
12715#line 1582
12716      cmd->result = cmd->result;
12717#line 1583
12718      goto ldv_32154;
12719      case_2: ;
12720      {
12721#line 1589
12722      __cil_tmp69 = mbox->m_out.cmd;
12723#line 1589
12724      __cil_tmp70 = (unsigned int )__cil_tmp69;
12725#line 1589
12726      if (__cil_tmp70 == 3U) {
12727#line 1589
12728        goto _L;
12729      } else {
12730        {
12731#line 1589
12732        __cil_tmp71 = mbox->m_out.cmd;
12733#line 1589
12734        __cil_tmp72 = (unsigned int )__cil_tmp71;
12735#line 1589
12736        if (__cil_tmp72 == 195U) {
12737          _L: 
12738#line 1592
12739          __len = 14UL;
12740#line 1592
12741          if (__len > 63UL) {
12742            {
12743#line 1592
12744            __cil_tmp73 = cmd->sense_buffer;
12745#line 1592
12746            __cil_tmp74 = (void *)__cil_tmp73;
12747#line 1592
12748            __cil_tmp75 = & pthru->reqsensearea;
12749#line 1592
12750            __cil_tmp76 = (void const   *)__cil_tmp75;
12751#line 1592
12752            __ret = __memcpy(__cil_tmp74, __cil_tmp76, __len);
12753            }
12754          } else {
12755            {
12756#line 1592
12757            __cil_tmp77 = cmd->sense_buffer;
12758#line 1592
12759            __cil_tmp78 = (void *)__cil_tmp77;
12760#line 1592
12761            __cil_tmp79 = & pthru->reqsensearea;
12762#line 1592
12763            __cil_tmp80 = (void const   *)__cil_tmp79;
12764#line 1592
12765            __ret = __builtin_memcpy(__cil_tmp78, __cil_tmp80, __len);
12766            }
12767          }
12768#line 1595
12769          cmd->result = 134217730;
12770        } else {
12771          {
12772#line 1600
12773          __cil_tmp81 = mbox->m_out.cmd;
12774#line 1600
12775          __cil_tmp82 = (unsigned int )__cil_tmp81;
12776#line 1600
12777          if (__cil_tmp82 == 227U) {
12778#line 1602
12779            __len___0 = 14UL;
12780#line 1602
12781            if (__len___0 > 63UL) {
12782              {
12783#line 1602
12784              __cil_tmp83 = cmd->sense_buffer;
12785#line 1602
12786              __cil_tmp84 = (void *)__cil_tmp83;
12787#line 1602
12788              __cil_tmp85 = & epthru->reqsensearea;
12789#line 1602
12790              __cil_tmp86 = (void const   *)__cil_tmp85;
12791#line 1602
12792              __ret___0 = __memcpy(__cil_tmp84, __cil_tmp86, __len___0);
12793              }
12794            } else {
12795              {
12796#line 1602
12797              __cil_tmp87 = cmd->sense_buffer;
12798#line 1602
12799              __cil_tmp88 = (void *)__cil_tmp87;
12800#line 1602
12801              __cil_tmp89 = & epthru->reqsensearea;
12802#line 1602
12803              __cil_tmp90 = (void const   *)__cil_tmp89;
12804#line 1602
12805              __ret___0 = __builtin_memcpy(__cil_tmp88, __cil_tmp90, __len___0);
12806              }
12807            }
12808#line 1605
12809            cmd->result = 134217730;
12810          } else {
12811#line 1609
12812            __cil_tmp91 = cmd->sense_buffer;
12813#line 1609
12814            *__cil_tmp91 = (unsigned char)112;
12815#line 1610
12816            __cil_tmp92 = cmd->sense_buffer;
12817#line 1610
12818            __cil_tmp93 = __cil_tmp92 + 2UL;
12819#line 1610
12820            *__cil_tmp93 = (unsigned char)11;
12821#line 1611
12822            __cil_tmp94 = cmd->result;
12823#line 1611
12824            cmd->result = __cil_tmp94 | 2;
12825          }
12826          }
12827        }
12828        }
12829      }
12830      }
12831#line 1614
12832      goto ldv_32154;
12833      case_8: 
12834#line 1618
12835      __cil_tmp95 = status | 131072;
12836#line 1618
12837      __cil_tmp96 = cmd->result;
12838#line 1618
12839      cmd->result = __cil_tmp96 | __cil_tmp95;
12840#line 1619
12841      goto ldv_32154;
12842      switch_default: ;
12843      {
12844#line 1627
12845      __cil_tmp97 = cmd->cmnd;
12846#line 1627
12847      __cil_tmp98 = *__cil_tmp97;
12848#line 1627
12849      __cil_tmp99 = (unsigned int )__cil_tmp98;
12850#line 1627
12851      if (__cil_tmp99 == 0U) {
12852#line 1628
12853        __cil_tmp100 = cmd->result;
12854#line 1628
12855        cmd->result = __cil_tmp100 | 458776;
12856      } else
12857#line 1636
12858      if (status == 1) {
12859        {
12860#line 1636
12861        __cil_tmp101 = cmd->cmnd;
12862#line 1636
12863        __cil_tmp102 = *__cil_tmp101;
12864#line 1636
12865        __cil_tmp103 = (unsigned int )__cil_tmp102;
12866#line 1636
12867        if (__cil_tmp103 == 22U) {
12868#line 1640
12869          __cil_tmp104 = cmd->result;
12870#line 1640
12871          cmd->result = __cil_tmp104 | 458776;
12872        } else {
12873          {
12874#line 1636
12875          __cil_tmp105 = cmd->cmnd;
12876#line 1636
12877          __cil_tmp106 = *__cil_tmp105;
12878#line 1636
12879          __cil_tmp107 = (unsigned int )__cil_tmp106;
12880#line 1636
12881          if (__cil_tmp107 == 23U) {
12882#line 1640
12883            __cil_tmp108 = cmd->result;
12884#line 1640
12885            cmd->result = __cil_tmp108 | 458776;
12886          } else {
12887#line 1645
12888            __cil_tmp109 = status | 262144;
12889#line 1645
12890            __cil_tmp110 = cmd->result;
12891#line 1645
12892            cmd->result = __cil_tmp110 | __cil_tmp109;
12893          }
12894          }
12895        }
12896        }
12897      } else {
12898#line 1645
12899        __cil_tmp111 = status | 262144;
12900#line 1645
12901        __cil_tmp112 = cmd->result;
12902#line 1645
12903        cmd->result = __cil_tmp112 | __cil_tmp111;
12904      }
12905      }
12906    } else {
12907
12908    }
12909  }
12910  ldv_32154: ;
12911#line 1655
12912  if (cmdid == 127) {
12913    {
12914#line 1656
12915    cmd->result = status;
12916#line 1661
12917    __cil_tmp113 = & scb->list;
12918#line 1661
12919    list_del_init(__cil_tmp113);
12920#line 1662
12921    scb->state = 0U;
12922    }
12923  } else {
12924    {
12925#line 1665
12926    mega_free_scb(adapter, scb);
12927    }
12928  }
12929  {
12930#line 1669
12931  __cil_tmp114 = & cmd->SCp;
12932#line 1669
12933  __cil_tmp115 = (struct list_head *)__cil_tmp114;
12934#line 1669
12935  __cil_tmp116 = & adapter->completed_list;
12936#line 1669
12937  list_add_tail(__cil_tmp115, __cil_tmp116);
12938  }
12939  ldv_32152: 
12940#line 1443
12941  i = i + 1;
12942  ldv_32165: ;
12943#line 1443
12944  if (i < nstatus) {
12945#line 1444
12946    goto ldv_32164;
12947  } else {
12948#line 1446
12949    goto ldv_32166;
12950  }
12951  ldv_32166: ;
12952#line 1448
12953  return;
12954}
12955}
12956#line 1680 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
12957static void mega_rundoneq(adapter_t *adapter ) 
12958{ Scsi_Cmnd *cmd ;
12959  struct list_head *pos ;
12960  struct scsi_pointer *spos ;
12961  struct scsi_pointer  const  *__mptr ;
12962  Scsi_Cmnd *__cil_tmp6 ;
12963  void (*__cil_tmp7)(struct scsi_cmnd * ) ;
12964  unsigned long __cil_tmp8 ;
12965  struct list_head *__cil_tmp9 ;
12966  unsigned long __cil_tmp10 ;
12967  struct list_head *__cil_tmp11 ;
12968
12969  {
12970#line 1685
12971  pos = adapter->completed_list.next;
12972#line 1685
12973  goto ldv_32176;
12974  ldv_32175: 
12975  {
12976#line 1687
12977  spos = (struct scsi_pointer *)pos;
12978#line 1689
12979  __mptr = (struct scsi_pointer  const  *)spos;
12980#line 1689
12981  __cil_tmp6 = (Scsi_Cmnd *)__mptr;
12982#line 1689
12983  cmd = __cil_tmp6 + 1152921504606846824UL;
12984#line 1690
12985  __cil_tmp7 = cmd->scsi_done;
12986#line 1690
12987  (*__cil_tmp7)(cmd);
12988#line 1685
12989  pos = pos->next;
12990  }
12991  ldv_32176: ;
12992  {
12993#line 1685
12994  __cil_tmp8 = (unsigned long )pos;
12995#line 1685
12996  __cil_tmp9 = & adapter->completed_list;
12997#line 1685
12998  __cil_tmp10 = (unsigned long )__cil_tmp9;
12999#line 1685
13000  if (__cil_tmp10 != __cil_tmp8) {
13001#line 1686
13002    goto ldv_32175;
13003  } else {
13004#line 1688
13005    goto ldv_32177;
13006  }
13007  }
13008  ldv_32177: 
13009  {
13010#line 1693
13011  __cil_tmp11 = & adapter->completed_list;
13012#line 1693
13013  INIT_LIST_HEAD(__cil_tmp11);
13014  }
13015#line 1694
13016  return;
13017}
13018}
13019#line 1702 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13020static void mega_free_scb(adapter_t *adapter , scb_t *scb ) 
13021{ u32 __cil_tmp3 ;
13022  int __cil_tmp4 ;
13023  u32 __cil_tmp5 ;
13024  int __cil_tmp6 ;
13025  Scsi_Cmnd *__cil_tmp7 ;
13026  struct list_head *__cil_tmp8 ;
13027  struct list_head *__cil_tmp9 ;
13028  struct list_head *__cil_tmp10 ;
13029
13030  {
13031  {
13032#line 1706
13033  __cil_tmp3 = scb->dma_type;
13034#line 1706
13035  __cil_tmp4 = (int )__cil_tmp3;
13036#line 1706
13037  if (__cil_tmp4 == 65535) {
13038#line 1706
13039    goto case_65535;
13040  } else {
13041    {
13042#line 1709
13043    __cil_tmp5 = scb->dma_type;
13044#line 1709
13045    __cil_tmp6 = (int )__cil_tmp5;
13046#line 1709
13047    if (__cil_tmp6 == 2) {
13048#line 1709
13049      goto case_2;
13050    } else {
13051#line 1712
13052      goto switch_default;
13053#line 1704
13054      if (0) {
13055        case_65535: ;
13056#line 1707
13057        goto ldv_32183;
13058        case_2: 
13059        {
13060#line 1710
13061        __cil_tmp7 = scb->cmd;
13062#line 1710
13063        scsi_dma_unmap(__cil_tmp7);
13064        }
13065#line 1711
13066        goto ldv_32183;
13067        switch_default: ;
13068#line 1713
13069        goto ldv_32183;
13070      } else {
13071
13072      }
13073    }
13074    }
13075  }
13076  }
13077  ldv_32183: 
13078  {
13079#line 1719
13080  __cil_tmp8 = & scb->list;
13081#line 1719
13082  list_del_init(__cil_tmp8);
13083#line 1722
13084  scb->state = 0U;
13085#line 1723
13086  scb->cmd = (Scsi_Cmnd *)0;
13087#line 1725
13088  __cil_tmp9 = & scb->list;
13089#line 1725
13090  __cil_tmp10 = & adapter->free_list;
13091#line 1725
13092  list_add(__cil_tmp9, __cil_tmp10);
13093  }
13094#line 1726
13095  return;
13096}
13097}
13098#line 1730 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13099static int __mega_busywait_mbox(adapter_t *adapter ) 
13100{ mbox_t volatile   *mbox ;
13101  long counter ;
13102  u8 volatile   __cil_tmp4 ;
13103  unsigned char __cil_tmp5 ;
13104  unsigned int __cil_tmp6 ;
13105
13106  {
13107#line 1732
13108  mbox = adapter->mbox;
13109#line 1735
13110  counter = 0L;
13111#line 1735
13112  goto ldv_32193;
13113  ldv_32192: ;
13114  {
13115#line 1736
13116  __cil_tmp4 = mbox->m_in.busy;
13117#line 1736
13118  __cil_tmp5 = (unsigned char )__cil_tmp4;
13119#line 1736
13120  __cil_tmp6 = (unsigned int )__cil_tmp5;
13121#line 1736
13122  if (__cil_tmp6 == 0U) {
13123#line 1737
13124    return (0);
13125  } else {
13126
13127  }
13128  }
13129  {
13130#line 1738
13131  __const_udelay(429500UL);
13132#line 1739
13133  __might_sleep("/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p",
13134                1739, 0);
13135#line 1739
13136  _cond_resched();
13137#line 1735
13138  counter = counter + 1L;
13139  }
13140  ldv_32193: ;
13141#line 1735
13142  if (counter <= 9999L) {
13143#line 1736
13144    goto ldv_32192;
13145  } else {
13146#line 1738
13147    goto ldv_32194;
13148  }
13149  ldv_32194: ;
13150#line 1741
13151  return (-1);
13152}
13153}
13154#line 1749 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13155static int mega_build_sglist(adapter_t *adapter , scb_t *scb , u32 *buf , u32 *len ) 
13156{ struct scatterlist *sg ;
13157  Scsi_Cmnd *cmd ;
13158  int sgcnt ;
13159  int idx ;
13160  long tmp ;
13161  long tmp___0 ;
13162  unsigned int tmp___1 ;
13163  u32 tmp___2 ;
13164  u32 tmp___3 ;
13165  u8 __cil_tmp14 ;
13166  int __cil_tmp15 ;
13167  int __cil_tmp16 ;
13168  long __cil_tmp17 ;
13169  int __cil_tmp18 ;
13170  long __cil_tmp19 ;
13171  int __cil_tmp20 ;
13172  dma_addr_t __cil_tmp21 ;
13173  int __cil_tmp22 ;
13174  unsigned long __cil_tmp23 ;
13175  mega_sgl64 *__cil_tmp24 ;
13176  mega_sgl64 *__cil_tmp25 ;
13177  unsigned long __cil_tmp26 ;
13178  mega_sgl64 *__cil_tmp27 ;
13179  mega_sgl64 *__cil_tmp28 ;
13180  u32 __cil_tmp29 ;
13181  unsigned long __cil_tmp30 ;
13182  mega_sglist *__cil_tmp31 ;
13183  mega_sglist *__cil_tmp32 ;
13184  dma_addr_t __cil_tmp33 ;
13185  unsigned long __cil_tmp34 ;
13186  mega_sglist *__cil_tmp35 ;
13187  mega_sglist *__cil_tmp36 ;
13188  u32 __cil_tmp37 ;
13189  dma_addr_t __cil_tmp38 ;
13190
13191  {
13192  {
13193#line 1756
13194  cmd = scb->cmd;
13195#line 1763
13196  sgcnt = scsi_dma_map(cmd);
13197#line 1765
13198  scb->dma_type = 2U;
13199#line 1767
13200  __cil_tmp14 = adapter->sglen;
13201#line 1767
13202  __cil_tmp15 = (int )__cil_tmp14;
13203#line 1767
13204  __cil_tmp16 = __cil_tmp15 < sgcnt;
13205#line 1767
13206  __cil_tmp17 = (long )__cil_tmp16;
13207#line 1767
13208  tmp = __builtin_expect(__cil_tmp17, 0L);
13209  }
13210#line 1767
13211  if (tmp != 0L) {
13212#line 1767
13213    goto _L;
13214  } else {
13215    {
13216#line 1767
13217    __cil_tmp18 = sgcnt < 0;
13218#line 1767
13219    __cil_tmp19 = (long )__cil_tmp18;
13220#line 1767
13221    tmp___0 = __builtin_expect(__cil_tmp19, 0L);
13222    }
13223#line 1767
13224    if (tmp___0 != 0L) {
13225      _L: 
13226#line 1767
13227      __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"),
13228                           "i" (1767), "i" (12UL));
13229      ldv_32205: ;
13230#line 1767
13231      goto ldv_32205;
13232    } else {
13233
13234    }
13235  }
13236  {
13237#line 1769
13238  *len = 0U;
13239#line 1771
13240  tmp___1 = scsi_sg_count(cmd);
13241  }
13242#line 1771
13243  if (tmp___1 == 1U) {
13244    {
13245#line 1771
13246    __cil_tmp20 = adapter->has_64bit_addr;
13247#line 1771
13248    if (__cil_tmp20 == 0) {
13249      {
13250#line 1772
13251      sg = scsi_sglist(cmd);
13252#line 1773
13253      scb->dma_h_bulkdata = sg->dma_address;
13254#line 1774
13255      __cil_tmp21 = scb->dma_h_bulkdata;
13256#line 1774
13257      *buf = (unsigned int )__cil_tmp21;
13258#line 1775
13259      *len = sg->dma_length;
13260      }
13261#line 1776
13262      return (0);
13263    } else {
13264
13265    }
13266    }
13267  } else {
13268
13269  }
13270  {
13271#line 1779
13272  idx = 0;
13273#line 1779
13274  sg = scsi_sglist(cmd);
13275  }
13276#line 1779
13277  goto ldv_32207;
13278  ldv_32206: ;
13279  {
13280#line 1780
13281  __cil_tmp22 = adapter->has_64bit_addr;
13282#line 1780
13283  if (__cil_tmp22 != 0) {
13284#line 1781
13285    __cil_tmp23 = (unsigned long )idx;
13286#line 1781
13287    __cil_tmp24 = scb->sgl64;
13288#line 1781
13289    __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
13290#line 1781
13291    __cil_tmp25->address = sg->dma_address;
13292#line 1782
13293    tmp___2 = sg->dma_length;
13294#line 1782
13295    __cil_tmp26 = (unsigned long )idx;
13296#line 1782
13297    __cil_tmp27 = scb->sgl64;
13298#line 1782
13299    __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
13300#line 1782
13301    __cil_tmp28->length = tmp___2;
13302#line 1782
13303    __cil_tmp29 = *len;
13304#line 1782
13305    *len = __cil_tmp29 + tmp___2;
13306  } else {
13307#line 1784
13308    __cil_tmp30 = (unsigned long )idx;
13309#line 1784
13310    __cil_tmp31 = scb->sgl;
13311#line 1784
13312    __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
13313#line 1784
13314    __cil_tmp33 = sg->dma_address;
13315#line 1784
13316    __cil_tmp32->address = (u32 )__cil_tmp33;
13317#line 1785
13318    tmp___3 = sg->dma_length;
13319#line 1785
13320    __cil_tmp34 = (unsigned long )idx;
13321#line 1785
13322    __cil_tmp35 = scb->sgl;
13323#line 1785
13324    __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
13325#line 1785
13326    __cil_tmp36->length = tmp___3;
13327#line 1785
13328    __cil_tmp37 = *len;
13329#line 1785
13330    *len = __cil_tmp37 + tmp___3;
13331  }
13332  }
13333  {
13334#line 1779
13335  idx = idx + 1;
13336#line 1779
13337  sg = sg_next(sg);
13338  }
13339  ldv_32207: ;
13340#line 1779
13341  if (idx < sgcnt) {
13342#line 1780
13343    goto ldv_32206;
13344  } else {
13345#line 1782
13346    goto ldv_32208;
13347  }
13348  ldv_32208: 
13349#line 1790
13350  __cil_tmp38 = scb->sgl_dma_addr;
13351#line 1790
13352  *buf = (u32 )__cil_tmp38;
13353#line 1793
13354  return (sgcnt);
13355}
13356}
13357#line 1804 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13358static void mega_8_to_40ld(mraid_inquiry *inquiry , mega_inquiry3 *enquiry3 , mega_product_info *product_info ) 
13359{ int i ;
13360  u8 __cil_tmp5 ;
13361
13362  {
13363#line 1809
13364  product_info->max_commands = inquiry->adapter_info.max_commands;
13365#line 1810
13366  enquiry3->rebuild_rate = inquiry->adapter_info.rebuild_rate;
13367#line 1811
13368  product_info->nchannels = inquiry->adapter_info.nchannels;
13369#line 1813
13370  i = 0;
13371#line 1813
13372  goto ldv_32216;
13373  ldv_32215: 
13374#line 1814
13375  product_info->fw_version[i] = inquiry->adapter_info.fw_version[i];
13376#line 1817
13377  product_info->bios_version[i] = inquiry->adapter_info.bios_version[i];
13378#line 1813
13379  i = i + 1;
13380  ldv_32216: ;
13381#line 1813
13382  if (i <= 3) {
13383#line 1814
13384    goto ldv_32215;
13385  } else {
13386#line 1816
13387    goto ldv_32217;
13388  }
13389  ldv_32217: 
13390#line 1820
13391  enquiry3->cache_flush_interval = inquiry->adapter_info.cache_flush_interval;
13392#line 1823
13393  __cil_tmp5 = inquiry->adapter_info.dram_size;
13394#line 1823
13395  product_info->dram_size = (u16 )__cil_tmp5;
13396#line 1825
13397  enquiry3->num_ldrv = inquiry->logdrv_info.num_ldrv;
13398#line 1827
13399  i = 0;
13400#line 1827
13401  goto ldv_32219;
13402  ldv_32218: 
13403#line 1828
13404  enquiry3->ldrv_size[i] = inquiry->logdrv_info.ldrv_size[i];
13405#line 1829
13406  enquiry3->ldrv_prop[i] = inquiry->logdrv_info.ldrv_prop[i];
13407#line 1830
13408  enquiry3->ldrv_state[i] = inquiry->logdrv_info.ldrv_state[i];
13409#line 1827
13410  i = i + 1;
13411  ldv_32219: ;
13412#line 1827
13413  if (i <= 7) {
13414#line 1828
13415    goto ldv_32218;
13416  } else {
13417#line 1830
13418    goto ldv_32220;
13419  }
13420  ldv_32220: 
13421#line 1833
13422  i = 0;
13423#line 1833
13424  goto ldv_32222;
13425  ldv_32221: 
13426#line 1834
13427  enquiry3->pdrv_state[i] = inquiry->pdrv_info.pdrv_state[i];
13428#line 1833
13429  i = i + 1;
13430  ldv_32222: ;
13431#line 1833
13432  if (i <= 74) {
13433#line 1834
13434    goto ldv_32221;
13435  } else {
13436#line 1836
13437    goto ldv_32223;
13438  }
13439  ldv_32223: ;
13440#line 1838
13441  return;
13442}
13443}
13444#line 1838 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13445__inline static void mega_free_sgl(adapter_t *adapter ) 
13446{ scb_t *scb ;
13447  int i ;
13448  unsigned long __cil_tmp4 ;
13449  scb_t *__cil_tmp5 ;
13450  mega_sgl64 *__cil_tmp6 ;
13451  unsigned long __cil_tmp7 ;
13452  mega_sgl64 *__cil_tmp8 ;
13453  unsigned long __cil_tmp9 ;
13454  struct pci_dev *__cil_tmp10 ;
13455  u8 __cil_tmp11 ;
13456  unsigned long __cil_tmp12 ;
13457  unsigned long __cil_tmp13 ;
13458  mega_sgl64 *__cil_tmp14 ;
13459  void *__cil_tmp15 ;
13460  dma_addr_t __cil_tmp16 ;
13461  mega_passthru *__cil_tmp17 ;
13462  unsigned long __cil_tmp18 ;
13463  mega_passthru *__cil_tmp19 ;
13464  unsigned long __cil_tmp20 ;
13465  struct pci_dev *__cil_tmp21 ;
13466  mega_passthru *__cil_tmp22 ;
13467  void *__cil_tmp23 ;
13468  dma_addr_t __cil_tmp24 ;
13469  mega_ext_passthru *__cil_tmp25 ;
13470  unsigned long __cil_tmp26 ;
13471  mega_ext_passthru *__cil_tmp27 ;
13472  unsigned long __cil_tmp28 ;
13473  struct pci_dev *__cil_tmp29 ;
13474  mega_ext_passthru *__cil_tmp30 ;
13475  void *__cil_tmp31 ;
13476  dma_addr_t __cil_tmp32 ;
13477  u8 __cil_tmp33 ;
13478  int __cil_tmp34 ;
13479
13480  {
13481#line 1843
13482  i = 0;
13483#line 1843
13484  goto ldv_32230;
13485  ldv_32229: 
13486#line 1845
13487  __cil_tmp4 = (unsigned long )i;
13488#line 1845
13489  __cil_tmp5 = adapter->scb_list;
13490#line 1845
13491  scb = __cil_tmp5 + __cil_tmp4;
13492  {
13493#line 1847
13494  __cil_tmp6 = (mega_sgl64 *)0;
13495#line 1847
13496  __cil_tmp7 = (unsigned long )__cil_tmp6;
13497#line 1847
13498  __cil_tmp8 = scb->sgl64;
13499#line 1847
13500  __cil_tmp9 = (unsigned long )__cil_tmp8;
13501#line 1847
13502  if (__cil_tmp9 != __cil_tmp7) {
13503    {
13504#line 1848
13505    __cil_tmp10 = adapter->dev;
13506#line 1848
13507    __cil_tmp11 = adapter->sglen;
13508#line 1848
13509    __cil_tmp12 = (unsigned long )__cil_tmp11;
13510#line 1848
13511    __cil_tmp13 = __cil_tmp12 * 12UL;
13512#line 1848
13513    __cil_tmp14 = scb->sgl64;
13514#line 1848
13515    __cil_tmp15 = (void *)__cil_tmp14;
13516#line 1848
13517    __cil_tmp16 = scb->sgl_dma_addr;
13518#line 1848
13519    pci_free_consistent(__cil_tmp10, __cil_tmp13, __cil_tmp15, __cil_tmp16);
13520#line 1853
13521    scb->sgl64 = (mega_sgl64 *)0;
13522    }
13523  } else {
13524
13525  }
13526  }
13527  {
13528#line 1856
13529  __cil_tmp17 = (mega_passthru *)0;
13530#line 1856
13531  __cil_tmp18 = (unsigned long )__cil_tmp17;
13532#line 1856
13533  __cil_tmp19 = scb->pthru;
13534#line 1856
13535  __cil_tmp20 = (unsigned long )__cil_tmp19;
13536#line 1856
13537  if (__cil_tmp20 != __cil_tmp18) {
13538    {
13539#line 1857
13540    __cil_tmp21 = adapter->dev;
13541#line 1857
13542    __cil_tmp22 = scb->pthru;
13543#line 1857
13544    __cil_tmp23 = (void *)__cil_tmp22;
13545#line 1857
13546    __cil_tmp24 = scb->pthru_dma_addr;
13547#line 1857
13548    pci_free_consistent(__cil_tmp21, 60UL, __cil_tmp23, __cil_tmp24);
13549#line 1860
13550    scb->pthru = (mega_passthru *)0;
13551    }
13552  } else {
13553
13554  }
13555  }
13556  {
13557#line 1863
13558  __cil_tmp25 = (mega_ext_passthru *)0;
13559#line 1863
13560  __cil_tmp26 = (unsigned long )__cil_tmp25;
13561#line 1863
13562  __cil_tmp27 = scb->epthru;
13563#line 1863
13564  __cil_tmp28 = (unsigned long )__cil_tmp27;
13565#line 1863
13566  if (__cil_tmp28 != __cil_tmp26) {
13567    {
13568#line 1864
13569    __cil_tmp29 = adapter->dev;
13570#line 1864
13571    __cil_tmp30 = scb->epthru;
13572#line 1864
13573    __cil_tmp31 = (void *)__cil_tmp30;
13574#line 1864
13575    __cil_tmp32 = scb->epthru_dma_addr;
13576#line 1864
13577    pci_free_consistent(__cil_tmp29, 68UL, __cil_tmp31, __cil_tmp32);
13578#line 1868
13579    scb->epthru = (mega_ext_passthru *)0;
13580    }
13581  } else {
13582
13583  }
13584  }
13585#line 1843
13586  i = i + 1;
13587  ldv_32230: ;
13588  {
13589#line 1843
13590  __cil_tmp33 = adapter->max_cmds;
13591#line 1843
13592  __cil_tmp34 = (int )__cil_tmp33;
13593#line 1843
13594  if (__cil_tmp34 > i) {
13595#line 1844
13596    goto ldv_32229;
13597  } else {
13598#line 1846
13599    goto ldv_32231;
13600  }
13601  }
13602  ldv_32231: ;
13603#line 1848
13604  return;
13605}
13606}
13607#line 1879 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13608char const   *megaraid_info(struct Scsi_Host *host ) 
13609{ char buffer[512U] ;
13610  adapter_t *adapter ;
13611  unsigned long (*__cil_tmp4)[0U] ;
13612  char *__cil_tmp5 ;
13613  u8 (*__cil_tmp6)[7U] ;
13614  u8 *__cil_tmp7 ;
13615  u8 __cil_tmp8 ;
13616  int __cil_tmp9 ;
13617  struct Scsi_Host *__cil_tmp10 ;
13618  unsigned int __cil_tmp11 ;
13619  struct Scsi_Host *__cil_tmp12 ;
13620  unsigned int __cil_tmp13 ;
13621  struct Scsi_Host *__cil_tmp14 ;
13622  unsigned int __cil_tmp15 ;
13623
13624  {
13625  {
13626#line 1884
13627  __cil_tmp4 = & host->hostdata;
13628#line 1884
13629  adapter = (adapter_t *)__cil_tmp4;
13630#line 1886
13631  __cil_tmp5 = (char *)(& buffer);
13632#line 1886
13633  __cil_tmp6 = & adapter->fw_version;
13634#line 1886
13635  __cil_tmp7 = (u8 *)__cil_tmp6;
13636#line 1886
13637  __cil_tmp8 = adapter->product_info.max_commands;
13638#line 1886
13639  __cil_tmp9 = (int )__cil_tmp8;
13640#line 1886
13641  __cil_tmp10 = adapter->host;
13642#line 1886
13643  __cil_tmp11 = __cil_tmp10->max_id;
13644#line 1886
13645  __cil_tmp12 = adapter->host;
13646#line 1886
13647  __cil_tmp13 = __cil_tmp12->max_channel;
13648#line 1886
13649  __cil_tmp14 = adapter->host;
13650#line 1886
13651  __cil_tmp15 = __cil_tmp14->max_lun;
13652#line 1886
13653  sprintf(__cil_tmp5, "LSI Logic MegaRAID %s %d commands %d targs %d chans %d luns",
13654          __cil_tmp7, __cil_tmp9, __cil_tmp11, __cil_tmp13, __cil_tmp15);
13655  }
13656#line 1891
13657  return ((char const   *)(& buffer));
13658}
13659}
13660#line 1899 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13661static int megaraid_abort(Scsi_Cmnd *cmd ) 
13662{ adapter_t *adapter ;
13663  int rval ;
13664  struct scsi_device *__cil_tmp4 ;
13665  struct Scsi_Host *__cil_tmp5 ;
13666  unsigned long (*__cil_tmp6)[0U] ;
13667
13668  {
13669  {
13670#line 1904
13671  __cil_tmp4 = cmd->device;
13672#line 1904
13673  __cil_tmp5 = __cil_tmp4->host;
13674#line 1904
13675  __cil_tmp6 = & __cil_tmp5->hostdata;
13676#line 1904
13677  adapter = (adapter_t *)__cil_tmp6;
13678#line 1906
13679  rval = megaraid_abort_and_reset(adapter, cmd, 8);
13680#line 1912
13681  mega_rundoneq(adapter);
13682  }
13683#line 1914
13684  return (rval);
13685}
13686}
13687#line 1919 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13688static int megaraid_reset(struct scsi_cmnd *cmd ) 
13689{ adapter_t *adapter ;
13690  megacmd_t mc ;
13691  int rval ;
13692  int tmp ;
13693  struct scsi_device *__cil_tmp6 ;
13694  struct Scsi_Host *__cil_tmp7 ;
13695  unsigned long (*__cil_tmp8)[0U] ;
13696  mega_passthru *__cil_tmp9 ;
13697  spinlock_t *__cil_tmp10 ;
13698  spinlock_t *__cil_tmp11 ;
13699
13700  {
13701  {
13702#line 1925
13703  __cil_tmp6 = cmd->device;
13704#line 1925
13705  __cil_tmp7 = __cil_tmp6->host;
13706#line 1925
13707  __cil_tmp8 = & __cil_tmp7->hostdata;
13708#line 1925
13709  adapter = (adapter_t *)__cil_tmp8;
13710#line 1928
13711  mc.cmd = (u8 )110U;
13712#line 1929
13713  mc.opcode = (u8 )3U;
13714#line 1931
13715  __cil_tmp9 = (mega_passthru *)0;
13716#line 1931
13717  tmp = mega_internal_command(adapter, & mc, __cil_tmp9);
13718  }
13719#line 1931
13720  if (tmp != 0) {
13721    {
13722#line 1932
13723    printk("<4>megaraid: reservation reset failed.\n");
13724    }
13725  } else {
13726    {
13727#line 1936
13728    printk("<6>megaraid: reservation reset.\n");
13729    }
13730  }
13731  {
13732#line 1940
13733  __cil_tmp10 = & adapter->lock;
13734#line 1940
13735  spin_lock_irq(__cil_tmp10);
13736#line 1942
13737  rval = megaraid_abort_and_reset(adapter, cmd, 16);
13738#line 1948
13739  mega_rundoneq(adapter);
13740#line 1949
13741  __cil_tmp11 = & adapter->lock;
13742#line 1949
13743  spin_unlock_irq(__cil_tmp11);
13744  }
13745#line 1951
13746  return (rval);
13747}
13748}
13749#line 1964 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13750static int megaraid_abort_and_reset(adapter_t *adapter , Scsi_Cmnd *cmd , int aor ) 
13751{ struct list_head *pos ;
13752  struct list_head *next ;
13753  scb_t *scb ;
13754  char *tmp ;
13755  int tmp___0 ;
13756  struct list_head  const  *__mptr ;
13757  char *tmp___1 ;
13758  char *tmp___2 ;
13759  unsigned char *__cil_tmp12 ;
13760  unsigned char __cil_tmp13 ;
13761  int __cil_tmp14 ;
13762  struct scsi_device *__cil_tmp15 ;
13763  unsigned int __cil_tmp16 ;
13764  struct scsi_device *__cil_tmp17 ;
13765  unsigned int __cil_tmp18 ;
13766  struct scsi_device *__cil_tmp19 ;
13767  unsigned int __cil_tmp20 ;
13768  struct list_head *__cil_tmp21 ;
13769  struct list_head  const  *__cil_tmp22 ;
13770  scb_t *__cil_tmp23 ;
13771  unsigned long __cil_tmp24 ;
13772  Scsi_Cmnd *__cil_tmp25 ;
13773  unsigned long __cil_tmp26 ;
13774  u32 __cil_tmp27 ;
13775  u32 __cil_tmp28 ;
13776  u32 __cil_tmp29 ;
13777  unsigned int __cil_tmp30 ;
13778  int __cil_tmp31 ;
13779  int __cil_tmp32 ;
13780  struct scsi_pointer *__cil_tmp33 ;
13781  struct list_head *__cil_tmp34 ;
13782  struct list_head *__cil_tmp35 ;
13783  unsigned long __cil_tmp36 ;
13784  struct list_head *__cil_tmp37 ;
13785  unsigned long __cil_tmp38 ;
13786
13787  {
13788#line 1969
13789  if (aor == 8) {
13790#line 1969
13791    tmp = (char *)"ABORTING";
13792  } else {
13793#line 1969
13794    tmp = (char *)"RESET";
13795  }
13796  {
13797#line 1969
13798  __cil_tmp12 = cmd->cmnd;
13799#line 1969
13800  __cil_tmp13 = *__cil_tmp12;
13801#line 1969
13802  __cil_tmp14 = (int )__cil_tmp13;
13803#line 1969
13804  __cil_tmp15 = cmd->device;
13805#line 1969
13806  __cil_tmp16 = __cil_tmp15->channel;
13807#line 1969
13808  __cil_tmp17 = cmd->device;
13809#line 1969
13810  __cil_tmp18 = __cil_tmp17->id;
13811#line 1969
13812  __cil_tmp19 = cmd->device;
13813#line 1969
13814  __cil_tmp20 = __cil_tmp19->lun;
13815#line 1969
13816  printk("<4>megaraid: %s cmd=%x <c=%d t=%d l=%d>\n", tmp, __cil_tmp14, __cil_tmp16,
13817         __cil_tmp18, __cil_tmp20);
13818#line 1974
13819  __cil_tmp21 = & adapter->pending_list;
13820#line 1974
13821  __cil_tmp22 = (struct list_head  const  *)__cil_tmp21;
13822#line 1974
13823  tmp___0 = list_empty(__cil_tmp22);
13824  }
13825#line 1974
13826  if (tmp___0 != 0) {
13827#line 1975
13828    return (0);
13829  } else {
13830
13831  }
13832#line 1977
13833  pos = adapter->pending_list.next;
13834#line 1977
13835  next = pos->next;
13836#line 1977
13837  goto ldv_32259;
13838  ldv_32258: 
13839#line 1979
13840  __mptr = (struct list_head  const  *)pos;
13841#line 1979
13842  __cil_tmp23 = (scb_t *)__mptr;
13843#line 1979
13844  scb = __cil_tmp23 + 1152921504606846968UL;
13845  {
13846#line 1981
13847  __cil_tmp24 = (unsigned long )cmd;
13848#line 1981
13849  __cil_tmp25 = scb->cmd;
13850#line 1981
13851  __cil_tmp26 = (unsigned long )__cil_tmp25;
13852#line 1981
13853  if (__cil_tmp26 == __cil_tmp24) {
13854#line 1983
13855    __cil_tmp27 = (u32 )aor;
13856#line 1983
13857    __cil_tmp28 = scb->state;
13858#line 1983
13859    scb->state = __cil_tmp28 | __cil_tmp27;
13860    {
13861#line 1991
13862    __cil_tmp29 = scb->state;
13863#line 1991
13864    __cil_tmp30 = __cil_tmp29 & 4U;
13865#line 1991
13866    if (__cil_tmp30 != 0U) {
13867#line 1993
13868      if (aor == 8) {
13869#line 1993
13870        tmp___1 = (char *)"ABORTING";
13871      } else {
13872#line 1993
13873        tmp___1 = (char *)"RESET";
13874      }
13875      {
13876#line 1993
13877      __cil_tmp31 = scb->idx;
13878#line 1993
13879      printk("<4>megaraid: %s[%x], fw owner.\n", tmp___1, __cil_tmp31);
13880      }
13881#line 1998
13882      return (0);
13883    } else {
13884#line 2006
13885      if (aor == 8) {
13886#line 2006
13887        tmp___2 = (char *)"ABORTING";
13888      } else {
13889#line 2006
13890        tmp___2 = (char *)"RESET";
13891      }
13892      {
13893#line 2006
13894      __cil_tmp32 = scb->idx;
13895#line 2006
13896      printk("<4>megaraid: %s-[%x], driver owner.\n", tmp___2, __cil_tmp32);
13897#line 2011
13898      mega_free_scb(adapter, scb);
13899      }
13900#line 2013
13901      if (aor == 8) {
13902#line 2014
13903        cmd->result = 327680;
13904      } else {
13905#line 2017
13906        cmd->result = 524288;
13907      }
13908      {
13909#line 2020
13910      __cil_tmp33 = & cmd->SCp;
13911#line 2020
13912      __cil_tmp34 = (struct list_head *)__cil_tmp33;
13913#line 2020
13914      __cil_tmp35 = & adapter->completed_list;
13915#line 2020
13916      list_add_tail(__cil_tmp34, __cil_tmp35);
13917      }
13918#line 2023
13919      return (1);
13920    }
13921    }
13922  } else {
13923
13924  }
13925  }
13926#line 1977
13927  pos = next;
13928#line 1977
13929  next = pos->next;
13930  ldv_32259: ;
13931  {
13932#line 1977
13933  __cil_tmp36 = (unsigned long )pos;
13934#line 1977
13935  __cil_tmp37 = & adapter->pending_list;
13936#line 1977
13937  __cil_tmp38 = (unsigned long )__cil_tmp37;
13938#line 1977
13939  if (__cil_tmp38 != __cil_tmp36) {
13940#line 1978
13941    goto ldv_32258;
13942  } else {
13943#line 1980
13944    goto ldv_32260;
13945  }
13946  }
13947  ldv_32260: ;
13948#line 2028
13949  return (0);
13950}
13951}
13952#line 2032 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
13953__inline static int make_local_pdev(adapter_t *adapter , struct pci_dev **pdev ) 
13954{ size_t __len ;
13955  void *__ret ;
13956  int tmp ;
13957  struct pci_dev *__cil_tmp6 ;
13958  unsigned long __cil_tmp7 ;
13959  struct pci_dev *__cil_tmp8 ;
13960  unsigned long __cil_tmp9 ;
13961  struct pci_dev *__cil_tmp10 ;
13962  void *__cil_tmp11 ;
13963  struct pci_dev *__cil_tmp12 ;
13964  void const   *__cil_tmp13 ;
13965  struct pci_dev *__cil_tmp14 ;
13966  void *__cil_tmp15 ;
13967  struct pci_dev *__cil_tmp16 ;
13968  void const   *__cil_tmp17 ;
13969  struct pci_dev *__cil_tmp18 ;
13970  struct pci_dev *__cil_tmp19 ;
13971  void const   *__cil_tmp20 ;
13972
13973  {
13974  {
13975#line 2034
13976  *pdev = alloc_pci_dev();
13977  }
13978  {
13979#line 2036
13980  __cil_tmp6 = (struct pci_dev *)0;
13981#line 2036
13982  __cil_tmp7 = (unsigned long )__cil_tmp6;
13983#line 2036
13984  __cil_tmp8 = *pdev;
13985#line 2036
13986  __cil_tmp9 = (unsigned long )__cil_tmp8;
13987#line 2036
13988  if (__cil_tmp9 == __cil_tmp7) {
13989#line 2036
13990    return (-1);
13991  } else {
13992
13993  }
13994  }
13995#line 2038
13996  __len = 2848UL;
13997#line 2038
13998  if (__len > 63UL) {
13999    {
14000#line 2038
14001    __cil_tmp10 = *pdev;
14002#line 2038
14003    __cil_tmp11 = (void *)__cil_tmp10;
14004#line 2038
14005    __cil_tmp12 = adapter->dev;
14006#line 2038
14007    __cil_tmp13 = (void const   *)__cil_tmp12;
14008#line 2038
14009    __ret = __memcpy(__cil_tmp11, __cil_tmp13, __len);
14010    }
14011  } else {
14012    {
14013#line 2038
14014    __cil_tmp14 = *pdev;
14015#line 2038
14016    __cil_tmp15 = (void *)__cil_tmp14;
14017#line 2038
14018    __cil_tmp16 = adapter->dev;
14019#line 2038
14020    __cil_tmp17 = (void const   *)__cil_tmp16;
14021#line 2038
14022    __ret = __builtin_memcpy(__cil_tmp15, __cil_tmp17, __len);
14023    }
14024  }
14025  {
14026#line 2040
14027  __cil_tmp18 = *pdev;
14028#line 2040
14029  tmp = pci_set_dma_mask(__cil_tmp18, 4294967295ULL);
14030  }
14031#line 2040
14032  if (tmp != 0) {
14033    {
14034#line 2041
14035    __cil_tmp19 = *pdev;
14036#line 2041
14037    __cil_tmp20 = (void const   *)__cil_tmp19;
14038#line 2041
14039    kfree(__cil_tmp20);
14040    }
14041#line 2042
14042    return (-1);
14043  } else {
14044
14045  }
14046#line 2045
14047  return (0);
14048}
14049}
14050#line 2049 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14051__inline static void free_local_pdev(struct pci_dev *pdev ) 
14052{ void const   *__cil_tmp2 ;
14053
14054  {
14055  {
14056#line 2051
14057  __cil_tmp2 = (void const   *)pdev;
14058#line 2051
14059  kfree(__cil_tmp2);
14060  }
14061#line 2052
14062  return;
14063}
14064}
14065#line 2062 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14066__inline static void *mega_allocate_inquiry(dma_addr_t *dma_handle , struct pci_dev *pdev ) 
14067{ void *tmp ;
14068
14069  {
14070  {
14071#line 2064
14072  tmp = pci_alloc_consistent(pdev, 1024UL, dma_handle);
14073  }
14074#line 2064
14075  return (tmp);
14076}
14077}
14078#line 2069 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14079__inline static void mega_free_inquiry(void *inquiry , dma_addr_t dma_handle , struct pci_dev *pdev ) 
14080{ 
14081
14082  {
14083  {
14084#line 2071
14085  pci_free_consistent(pdev, 1024UL, inquiry, dma_handle);
14086  }
14087#line 2072
14088  return;
14089}
14090}
14091#line 2091 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14092static void mega_create_proc_entry(int index , struct proc_dir_entry *parent ) 
14093{ struct proc_dir_entry *controller_proc_dir_entry ;
14094  u8 string[64U] ;
14095  adapter_t *adapter ;
14096  struct proc_dir_entry *tmp ;
14097  char *__cil_tmp7 ;
14098  struct Scsi_Host *__cil_tmp8 ;
14099  unsigned int __cil_tmp9 ;
14100  char const   *__cil_tmp10 ;
14101  struct proc_dir_entry *__cil_tmp11 ;
14102  unsigned long __cil_tmp12 ;
14103  unsigned long __cil_tmp13 ;
14104  void *__cil_tmp14 ;
14105  void *__cil_tmp15 ;
14106  void *__cil_tmp16 ;
14107  void *__cil_tmp17 ;
14108  void *__cil_tmp18 ;
14109  void *__cil_tmp19 ;
14110  void *__cil_tmp20 ;
14111  void *__cil_tmp21 ;
14112  void *__cil_tmp22 ;
14113  void *__cil_tmp23 ;
14114  void *__cil_tmp24 ;
14115  void *__cil_tmp25 ;
14116  void *__cil_tmp26 ;
14117
14118  {
14119  {
14120#line 2093
14121  controller_proc_dir_entry = (struct proc_dir_entry *)0;
14122#line 2094
14123  string[0] = (u8 )0U;
14124#line 2095
14125  adapter = hba_soft_state[index];
14126#line 2097
14127  __cil_tmp7 = (char *)(& string);
14128#line 2097
14129  __cil_tmp8 = adapter->host;
14130#line 2097
14131  __cil_tmp9 = __cil_tmp8->host_no;
14132#line 2097
14133  sprintf(__cil_tmp7, "hba%d", __cil_tmp9);
14134#line 2099
14135  __cil_tmp10 = (char const   *)(& string);
14136#line 2099
14137  tmp = proc_mkdir(__cil_tmp10, parent);
14138#line 2099
14139  adapter->controller_proc_dir_entry = tmp;
14140#line 2099
14141  controller_proc_dir_entry = tmp;
14142  }
14143  {
14144#line 2102
14145  __cil_tmp11 = (struct proc_dir_entry *)0;
14146#line 2102
14147  __cil_tmp12 = (unsigned long )__cil_tmp11;
14148#line 2102
14149  __cil_tmp13 = (unsigned long )controller_proc_dir_entry;
14150#line 2102
14151  if (__cil_tmp13 == __cil_tmp12) {
14152    {
14153#line 2103
14154    printk("<4>\nmegaraid: proc_mkdir failed\n");
14155    }
14156#line 2104
14157    return;
14158  } else {
14159
14160  }
14161  }
14162  {
14163#line 2106
14164  __cil_tmp14 = (void *)adapter;
14165#line 2106
14166  adapter->proc_read = create_proc_read_entry("config", 33024U, controller_proc_dir_entry,
14167                                              & proc_read_config, __cil_tmp14);
14168#line 2107
14169  __cil_tmp15 = (void *)adapter;
14170#line 2107
14171  adapter->proc_stat = create_proc_read_entry("stat", 33024U, controller_proc_dir_entry,
14172                                              & proc_read_stat, __cil_tmp15);
14173#line 2108
14174  __cil_tmp16 = (void *)adapter;
14175#line 2108
14176  adapter->proc_mbox = create_proc_read_entry("mailbox", 33024U, controller_proc_dir_entry,
14177                                              & proc_read_mbox, __cil_tmp16);
14178#line 2110
14179  __cil_tmp17 = (void *)adapter;
14180#line 2110
14181  adapter->proc_rr = create_proc_read_entry("rebuild-rate", 33024U, controller_proc_dir_entry,
14182                                            & proc_rebuild_rate, __cil_tmp17);
14183#line 2111
14184  __cil_tmp18 = (void *)adapter;
14185#line 2111
14186  adapter->proc_battery = create_proc_read_entry("battery-status", 33024U, controller_proc_dir_entry,
14187                                                 & proc_battery, __cil_tmp18);
14188#line 2117
14189  __cil_tmp19 = (void *)adapter;
14190#line 2117
14191  adapter->proc_pdrvstat[0] = create_proc_read_entry("diskdrives-ch0", 33024U, controller_proc_dir_entry,
14192                                                     & proc_pdrv_ch0, __cil_tmp19);
14193#line 2119
14194  __cil_tmp20 = (void *)adapter;
14195#line 2119
14196  adapter->proc_pdrvstat[1] = create_proc_read_entry("diskdrives-ch1", 33024U, controller_proc_dir_entry,
14197                                                     & proc_pdrv_ch1, __cil_tmp20);
14198#line 2121
14199  __cil_tmp21 = (void *)adapter;
14200#line 2121
14201  adapter->proc_pdrvstat[2] = create_proc_read_entry("diskdrives-ch2", 33024U, controller_proc_dir_entry,
14202                                                     & proc_pdrv_ch2, __cil_tmp21);
14203#line 2123
14204  __cil_tmp22 = (void *)adapter;
14205#line 2123
14206  adapter->proc_pdrvstat[3] = create_proc_read_entry("diskdrives-ch3", 33024U, controller_proc_dir_entry,
14207                                                     & proc_pdrv_ch3, __cil_tmp22);
14208#line 2130
14209  __cil_tmp23 = (void *)adapter;
14210#line 2130
14211  adapter->proc_rdrvstat[0] = create_proc_read_entry("raiddrives-0-9", 33024U, controller_proc_dir_entry,
14212                                                     & proc_rdrv_10, __cil_tmp23);
14213#line 2132
14214  __cil_tmp24 = (void *)adapter;
14215#line 2132
14216  adapter->proc_rdrvstat[1] = create_proc_read_entry("raiddrives-10-19", 33024U, controller_proc_dir_entry,
14217                                                     & proc_rdrv_20, __cil_tmp24);
14218#line 2134
14219  __cil_tmp25 = (void *)adapter;
14220#line 2134
14221  adapter->proc_rdrvstat[2] = create_proc_read_entry("raiddrives-20-29", 33024U, controller_proc_dir_entry,
14222                                                     & proc_rdrv_30, __cil_tmp25);
14223#line 2136
14224  __cil_tmp26 = (void *)adapter;
14225#line 2136
14226  adapter->proc_rdrvstat[3] = create_proc_read_entry("raiddrives-30-39", 33024U, controller_proc_dir_entry,
14227                                                     & proc_rdrv_40, __cil_tmp26);
14228  }
14229#line 2137
14230  return;
14231}
14232}
14233#line 2154 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14234static int proc_read_config(char *page , char **start , off_t offset , int count ,
14235                            int *eof , void *data ) 
14236{ adapter_t *adapter ;
14237  int len ;
14238  int tmp ;
14239  int tmp___0 ;
14240  int tmp___1 ;
14241  int tmp___2 ;
14242  int tmp___3 ;
14243  int tmp___4 ;
14244  int tmp___5 ;
14245  int tmp___6 ;
14246  int tmp___7 ;
14247  int tmp___8 ;
14248  int tmp___9 ;
14249  int tmp___10 ;
14250  int tmp___11 ;
14251  int tmp___12 ;
14252  int tmp___13 ;
14253  int tmp___14 ;
14254  int tmp___15 ;
14255  int tmp___16 ;
14256  int tmp___17 ;
14257  int tmp___18 ;
14258  int tmp___19 ;
14259  int tmp___20 ;
14260  int tmp___21 ;
14261  int tmp___22 ;
14262  int tmp___23 ;
14263  int tmp___24 ;
14264  unsigned long __cil_tmp35 ;
14265  char *__cil_tmp36 ;
14266  char *__cil_tmp37 ;
14267  u8 __cil_tmp38 ;
14268  unsigned int __cil_tmp39 ;
14269  unsigned long __cil_tmp40 ;
14270  char *__cil_tmp41 ;
14271  u8 (*__cil_tmp42)[80U] ;
14272  u8 *__cil_tmp43 ;
14273  unsigned long __cil_tmp44 ;
14274  char *__cil_tmp45 ;
14275  u32 __cil_tmp46 ;
14276  long __cil_tmp47 ;
14277  long __cil_tmp48 ;
14278  unsigned long __cil_tmp49 ;
14279  char *__cil_tmp50 ;
14280  unsigned long __cil_tmp51 ;
14281  char *__cil_tmp52 ;
14282  u32 __cil_tmp53 ;
14283  long __cil_tmp54 ;
14284  long __cil_tmp55 ;
14285  unsigned long __cil_tmp56 ;
14286  char *__cil_tmp57 ;
14287  u32 __cil_tmp58 ;
14288  long __cil_tmp59 ;
14289  long __cil_tmp60 ;
14290  unsigned long __cil_tmp61 ;
14291  char *__cil_tmp62 ;
14292  int __cil_tmp63 ;
14293  unsigned long __cil_tmp64 ;
14294  char *__cil_tmp65 ;
14295  unsigned long __cil_tmp66 ;
14296  char *__cil_tmp67 ;
14297  unsigned long __cil_tmp68 ;
14298  char *__cil_tmp69 ;
14299  unsigned long __cil_tmp70 ;
14300  struct Scsi_Host *__cil_tmp71 ;
14301  unsigned int __cil_tmp72 ;
14302  unsigned long __cil_tmp73 ;
14303  char *__cil_tmp74 ;
14304  u8 __cil_tmp75 ;
14305  int __cil_tmp76 ;
14306  u8 __cil_tmp77 ;
14307  int __cil_tmp78 ;
14308  unsigned long __cil_tmp79 ;
14309  char *__cil_tmp80 ;
14310  u8 (*__cil_tmp81)[7U] ;
14311  u8 *__cil_tmp82 ;
14312  u8 (*__cil_tmp83)[7U] ;
14313  u8 *__cil_tmp84 ;
14314  u16 __cil_tmp85 ;
14315  int __cil_tmp86 ;
14316  unsigned long __cil_tmp87 ;
14317  char *__cil_tmp88 ;
14318  u8 __cil_tmp89 ;
14319  int __cil_tmp90 ;
14320  u8 __cil_tmp91 ;
14321  int __cil_tmp92 ;
14322  unsigned long __cil_tmp93 ;
14323  char *__cil_tmp94 ;
14324  int __cil_tmp95 ;
14325  unsigned long __cil_tmp96 ;
14326  char *__cil_tmp97 ;
14327  int __cil_tmp98 ;
14328  unsigned long __cil_tmp99 ;
14329  char *__cil_tmp100 ;
14330  int __cil_tmp101 ;
14331  unsigned long __cil_tmp102 ;
14332  char *__cil_tmp103 ;
14333  int __cil_tmp104 ;
14334  unsigned long __cil_tmp105 ;
14335  char *__cil_tmp106 ;
14336  int __cil_tmp107 ;
14337  unsigned long __cil_tmp108 ;
14338  char *__cil_tmp109 ;
14339  int __cil_tmp110 ;
14340  unsigned long __cil_tmp111 ;
14341  char *__cil_tmp112 ;
14342  int __cil_tmp113 ;
14343  atomic_t *__cil_tmp114 ;
14344  atomic_t const   *__cil_tmp115 ;
14345  unsigned long __cil_tmp116 ;
14346  char *__cil_tmp117 ;
14347  unsigned long __cil_tmp118 ;
14348  char *__cil_tmp119 ;
14349  int __cil_tmp120 ;
14350  unsigned long __cil_tmp121 ;
14351  char *__cil_tmp122 ;
14352  unsigned long __cil_tmp123 ;
14353  char *__cil_tmp124 ;
14354  unsigned long __cil_tmp125 ;
14355  char *__cil_tmp126 ;
14356  int __cil_tmp127 ;
14357
14358  {
14359  {
14360#line 2158
14361  adapter = (adapter_t *)data;
14362#line 2159
14363  len = 0;
14364#line 2161
14365  __cil_tmp35 = (unsigned long )len;
14366#line 2161
14367  __cil_tmp36 = page + __cil_tmp35;
14368#line 2161
14369  __cil_tmp37 = (char *)"v2.00.4 (Release Date: Thu Feb 9 08:51:30 EST 2006)\n";
14370#line 2161
14371  tmp = sprintf(__cil_tmp36, "%s", __cil_tmp37);
14372#line 2161
14373  len = tmp + len;
14374  }
14375  {
14376#line 2163
14377  __cil_tmp38 = adapter->product_info.product_name[0];
14378#line 2163
14379  __cil_tmp39 = (unsigned int )__cil_tmp38;
14380#line 2163
14381  if (__cil_tmp39 != 0U) {
14382    {
14383#line 2164
14384    __cil_tmp40 = (unsigned long )len;
14385#line 2164
14386    __cil_tmp41 = page + __cil_tmp40;
14387#line 2164
14388    __cil_tmp42 = & adapter->product_info.product_name;
14389#line 2164
14390    __cil_tmp43 = (u8 *)__cil_tmp42;
14391#line 2164
14392    tmp___0 = sprintf(__cil_tmp41, "%s\n", __cil_tmp43);
14393#line 2164
14394    len = tmp___0 + len;
14395    }
14396  } else {
14397
14398  }
14399  }
14400  {
14401#line 2167
14402  __cil_tmp44 = (unsigned long )len;
14403#line 2167
14404  __cil_tmp45 = page + __cil_tmp44;
14405#line 2167
14406  tmp___1 = sprintf(__cil_tmp45, "Controller Type: ");
14407#line 2167
14408  len = tmp___1 + len;
14409  }
14410  {
14411#line 2169
14412  __cil_tmp46 = adapter->flag;
14413#line 2169
14414  __cil_tmp47 = (long )__cil_tmp46;
14415#line 2169
14416  __cil_tmp48 = __cil_tmp47 & 536870912L;
14417#line 2169
14418  if (__cil_tmp48 != 0L) {
14419    {
14420#line 2170
14421    __cil_tmp49 = (unsigned long )len;
14422#line 2170
14423    __cil_tmp50 = page + __cil_tmp49;
14424#line 2170
14425    tmp___2 = sprintf(__cil_tmp50, "438/466/467/471/493/518/520/531/532\n");
14426#line 2170
14427    len = tmp___2 + len;
14428    }
14429  } else {
14430    {
14431#line 2174
14432    __cil_tmp51 = (unsigned long )len;
14433#line 2174
14434    __cil_tmp52 = page + __cil_tmp51;
14435#line 2174
14436    tmp___3 = sprintf(__cil_tmp52, "418/428/434\n");
14437#line 2174
14438    len = tmp___3 + len;
14439    }
14440  }
14441  }
14442  {
14443#line 2178
14444  __cil_tmp53 = adapter->flag;
14445#line 2178
14446  __cil_tmp54 = (long )__cil_tmp53;
14447#line 2178
14448  __cil_tmp55 = __cil_tmp54 & 134217728L;
14449#line 2178
14450  if (__cil_tmp55 != 0L) {
14451    {
14452#line 2179
14453    __cil_tmp56 = (unsigned long )len;
14454#line 2179
14455    __cil_tmp57 = page + __cil_tmp56;
14456#line 2179
14457    tmp___4 = sprintf(__cil_tmp57, "Controller Supports 40 Logical Drives\n");
14458#line 2179
14459    len = tmp___4 + len;
14460    }
14461  } else {
14462
14463  }
14464  }
14465  {
14466#line 2183
14467  __cil_tmp58 = adapter->flag;
14468#line 2183
14469  __cil_tmp59 = (long )__cil_tmp58;
14470#line 2183
14471  __cil_tmp60 = __cil_tmp59 & 67108864L;
14472#line 2183
14473  if (__cil_tmp60 != 0L) {
14474    {
14475#line 2184
14476    __cil_tmp61 = (unsigned long )len;
14477#line 2184
14478    __cil_tmp62 = page + __cil_tmp61;
14479#line 2184
14480    tmp___5 = sprintf(__cil_tmp62, "Controller capable of 64-bit memory addressing\n");
14481#line 2184
14482    len = tmp___5 + len;
14483    }
14484  } else {
14485
14486  }
14487  }
14488  {
14489#line 2187
14490  __cil_tmp63 = adapter->has_64bit_addr;
14491#line 2187
14492  if (__cil_tmp63 != 0) {
14493    {
14494#line 2188
14495    __cil_tmp64 = (unsigned long )len;
14496#line 2188
14497    __cil_tmp65 = page + __cil_tmp64;
14498#line 2188
14499    tmp___6 = sprintf(__cil_tmp65, "Controller using 64-bit memory addressing\n");
14500#line 2188
14501    len = tmp___6 + len;
14502    }
14503  } else {
14504    {
14505#line 2192
14506    __cil_tmp66 = (unsigned long )len;
14507#line 2192
14508    __cil_tmp67 = page + __cil_tmp66;
14509#line 2192
14510    tmp___7 = sprintf(__cil_tmp67, "Controller is not using 64-bit memory addressing\n");
14511#line 2192
14512    len = tmp___7 + len;
14513    }
14514  }
14515  }
14516  {
14517#line 2196
14518  __cil_tmp68 = (unsigned long )len;
14519#line 2196
14520  __cil_tmp69 = page + __cil_tmp68;
14521#line 2196
14522  __cil_tmp70 = adapter->base;
14523#line 2196
14524  __cil_tmp71 = adapter->host;
14525#line 2196
14526  __cil_tmp72 = __cil_tmp71->irq;
14527#line 2196
14528  tmp___8 = sprintf(__cil_tmp69, "Base = %08lx, Irq = %d, ", __cil_tmp70, __cil_tmp72);
14529#line 2196
14530  len = tmp___8 + len;
14531#line 2199
14532  __cil_tmp73 = (unsigned long )len;
14533#line 2199
14534  __cil_tmp74 = page + __cil_tmp73;
14535#line 2199
14536  __cil_tmp75 = adapter->numldrv;
14537#line 2199
14538  __cil_tmp76 = (int )__cil_tmp75;
14539#line 2199
14540  __cil_tmp77 = adapter->product_info.nchannels;
14541#line 2199
14542  __cil_tmp78 = (int )__cil_tmp77;
14543#line 2199
14544  tmp___9 = sprintf(__cil_tmp74, "Logical Drives = %d, Channels = %d\n", __cil_tmp76,
14545                    __cil_tmp78);
14546#line 2199
14547  len = tmp___9 + len;
14548#line 2202
14549  __cil_tmp79 = (unsigned long )len;
14550#line 2202
14551  __cil_tmp80 = page + __cil_tmp79;
14552#line 2202
14553  __cil_tmp81 = & adapter->fw_version;
14554#line 2202
14555  __cil_tmp82 = (u8 *)__cil_tmp81;
14556#line 2202
14557  __cil_tmp83 = & adapter->bios_version;
14558#line 2202
14559  __cil_tmp84 = (u8 *)__cil_tmp83;
14560#line 2202
14561  __cil_tmp85 = adapter->product_info.dram_size;
14562#line 2202
14563  __cil_tmp86 = (int )__cil_tmp85;
14564#line 2202
14565  tmp___10 = sprintf(__cil_tmp80, "Version =%s:%s, DRAM = %dMb\n", __cil_tmp82, __cil_tmp84,
14566                     __cil_tmp86);
14567#line 2202
14568  len = tmp___10 + len;
14569#line 2206
14570  __cil_tmp87 = (unsigned long )len;
14571#line 2206
14572  __cil_tmp88 = page + __cil_tmp87;
14573#line 2206
14574  __cil_tmp89 = adapter->product_info.max_commands;
14575#line 2206
14576  __cil_tmp90 = (int )__cil_tmp89;
14577#line 2206
14578  __cil_tmp91 = adapter->max_cmds;
14579#line 2206
14580  __cil_tmp92 = (int )__cil_tmp91;
14581#line 2206
14582  tmp___11 = sprintf(__cil_tmp88, "Controller Queue Depth = %d, Driver Queue Depth = %d\n",
14583                     __cil_tmp90, __cil_tmp92);
14584#line 2206
14585  len = tmp___11 + len;
14586#line 2210
14587  __cil_tmp93 = (unsigned long )len;
14588#line 2210
14589  __cil_tmp94 = page + __cil_tmp93;
14590#line 2210
14591  __cil_tmp95 = adapter->support_ext_cdb;
14592#line 2210
14593  tmp___12 = sprintf(__cil_tmp94, "support_ext_cdb    = %d\n", __cil_tmp95);
14594#line 2210
14595  len = tmp___12 + len;
14596#line 2212
14597  __cil_tmp96 = (unsigned long )len;
14598#line 2212
14599  __cil_tmp97 = page + __cil_tmp96;
14600#line 2212
14601  __cil_tmp98 = adapter->support_random_del;
14602#line 2212
14603  tmp___13 = sprintf(__cil_tmp97, "support_random_del = %d\n", __cil_tmp98);
14604#line 2212
14605  len = tmp___13 + len;
14606#line 2214
14607  __cil_tmp99 = (unsigned long )len;
14608#line 2214
14609  __cil_tmp100 = page + __cil_tmp99;
14610#line 2214
14611  __cil_tmp101 = adapter->boot_ldrv_enabled;
14612#line 2214
14613  tmp___14 = sprintf(__cil_tmp100, "boot_ldrv_enabled  = %d\n", __cil_tmp101);
14614#line 2214
14615  len = tmp___14 + len;
14616#line 2216
14617  __cil_tmp102 = (unsigned long )len;
14618#line 2216
14619  __cil_tmp103 = page + __cil_tmp102;
14620#line 2216
14621  __cil_tmp104 = adapter->boot_ldrv;
14622#line 2216
14623  tmp___15 = sprintf(__cil_tmp103, "boot_ldrv          = %d\n", __cil_tmp104);
14624#line 2216
14625  len = tmp___15 + len;
14626#line 2218
14627  __cil_tmp105 = (unsigned long )len;
14628#line 2218
14629  __cil_tmp106 = page + __cil_tmp105;
14630#line 2218
14631  __cil_tmp107 = adapter->boot_pdrv_enabled;
14632#line 2218
14633  tmp___16 = sprintf(__cil_tmp106, "boot_pdrv_enabled  = %d\n", __cil_tmp107);
14634#line 2218
14635  len = tmp___16 + len;
14636#line 2220
14637  __cil_tmp108 = (unsigned long )len;
14638#line 2220
14639  __cil_tmp109 = page + __cil_tmp108;
14640#line 2220
14641  __cil_tmp110 = adapter->boot_pdrv_ch;
14642#line 2220
14643  tmp___17 = sprintf(__cil_tmp109, "boot_pdrv_ch       = %d\n", __cil_tmp110);
14644#line 2220
14645  len = tmp___17 + len;
14646#line 2222
14647  __cil_tmp111 = (unsigned long )len;
14648#line 2222
14649  __cil_tmp112 = page + __cil_tmp111;
14650#line 2222
14651  __cil_tmp113 = adapter->boot_pdrv_tgt;
14652#line 2222
14653  tmp___18 = sprintf(__cil_tmp112, "boot_pdrv_tgt      = %d\n", __cil_tmp113);
14654#line 2222
14655  len = tmp___18 + len;
14656#line 2224
14657  __cil_tmp114 = & adapter->quiescent;
14658#line 2224
14659  __cil_tmp115 = (atomic_t const   *)__cil_tmp114;
14660#line 2224
14661  tmp___19 = atomic_read(__cil_tmp115);
14662#line 2224
14663  __cil_tmp116 = (unsigned long )len;
14664#line 2224
14665  __cil_tmp117 = page + __cil_tmp116;
14666#line 2224
14667  tmp___20 = sprintf(__cil_tmp117, "quiescent          = %d\n", tmp___19);
14668#line 2224
14669  len = tmp___20 + len;
14670#line 2226
14671  __cil_tmp118 = (unsigned long )len;
14672#line 2226
14673  __cil_tmp119 = page + __cil_tmp118;
14674#line 2226
14675  __cil_tmp120 = adapter->has_cluster;
14676#line 2226
14677  tmp___21 = sprintf(__cil_tmp119, "has_cluster        = %d\n", __cil_tmp120);
14678#line 2226
14679  len = tmp___21 + len;
14680#line 2229
14681  __cil_tmp121 = (unsigned long )len;
14682#line 2229
14683  __cil_tmp122 = page + __cil_tmp121;
14684#line 2229
14685  tmp___22 = sprintf(__cil_tmp122, "\nModule Parameters:\n");
14686#line 2229
14687  len = tmp___22 + len;
14688#line 2230
14689  __cil_tmp123 = (unsigned long )len;
14690#line 2230
14691  __cil_tmp124 = page + __cil_tmp123;
14692#line 2230
14693  tmp___23 = sprintf(__cil_tmp124, "max_cmd_per_lun    = %d\n", max_cmd_per_lun);
14694#line 2230
14695  len = tmp___23 + len;
14696#line 2232
14697  __cil_tmp125 = (unsigned long )len;
14698#line 2232
14699  __cil_tmp126 = page + __cil_tmp125;
14700#line 2232
14701  __cil_tmp127 = (int )max_sectors_per_io;
14702#line 2232
14703  tmp___24 = sprintf(__cil_tmp126, "max_sectors_per_io = %d\n", __cil_tmp127);
14704#line 2232
14705  len = tmp___24 + len;
14706#line 2235
14707  *eof = 1;
14708  }
14709#line 2237
14710  return (len);
14711}
14712}
14713#line 2254 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14714static int proc_read_stat(char *page , char **start , off_t offset , int count , int *eof ,
14715                          void *data ) 
14716{ adapter_t *adapter ;
14717  int len ;
14718  int i ;
14719  int tmp ;
14720  int tmp___0 ;
14721  int tmp___1 ;
14722  atomic_t *__cil_tmp13 ;
14723  atomic_t const   *__cil_tmp14 ;
14724  unsigned long __cil_tmp15 ;
14725  char *__cil_tmp16 ;
14726  unsigned long __cil_tmp17 ;
14727  char *__cil_tmp18 ;
14728
14729  {
14730  {
14731#line 2261
14732  i = 0;
14733#line 2262
14734  len = 0;
14735#line 2263
14736  adapter = (adapter_t *)data;
14737#line 2265
14738  len = sprintf(page, "Statistical Information for this controller\n");
14739#line 2266
14740  __cil_tmp13 = & adapter->pend_cmds;
14741#line 2266
14742  __cil_tmp14 = (atomic_t const   *)__cil_tmp13;
14743#line 2266
14744  tmp = atomic_read(__cil_tmp14);
14745#line 2266
14746  __cil_tmp15 = (unsigned long )len;
14747#line 2266
14748  __cil_tmp16 = page + __cil_tmp15;
14749#line 2266
14750  tmp___0 = sprintf(__cil_tmp16, "pend_cmds = %d\n", tmp);
14751#line 2266
14752  len = tmp___0 + len;
14753#line 2285
14754  __cil_tmp17 = (unsigned long )len;
14755#line 2285
14756  __cil_tmp18 = page + __cil_tmp17;
14757#line 2285
14758  tmp___1 = sprintf(__cil_tmp18, "IO and error counters not compiled in driver.\n");
14759#line 2285
14760  len = tmp___1 + len;
14761#line 2289
14762  *eof = 1;
14763  }
14764#line 2291
14765  return (len);
14766}
14767}
14768#line 2308 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14769static int proc_read_mbox(char *page , char **start , off_t offset , int count , int *eof ,
14770                          void *data ) 
14771{ adapter_t *adapter ;
14772  mbox_t volatile   *mbox ;
14773  int len ;
14774  int tmp ;
14775  int tmp___0 ;
14776  int tmp___1 ;
14777  int tmp___2 ;
14778  int tmp___3 ;
14779  int tmp___4 ;
14780  int tmp___5 ;
14781  int tmp___6 ;
14782  int tmp___7 ;
14783  unsigned long __cil_tmp19 ;
14784  char *__cil_tmp20 ;
14785  u8 volatile   __cil_tmp21 ;
14786  int __cil_tmp22 ;
14787  unsigned long __cil_tmp23 ;
14788  char *__cil_tmp24 ;
14789  u8 volatile   __cil_tmp25 ;
14790  int __cil_tmp26 ;
14791  unsigned long __cil_tmp27 ;
14792  char *__cil_tmp28 ;
14793  u16 volatile   __cil_tmp29 ;
14794  int __cil_tmp30 ;
14795  unsigned long __cil_tmp31 ;
14796  char *__cil_tmp32 ;
14797  u32 volatile   __cil_tmp33 ;
14798  unsigned long __cil_tmp34 ;
14799  char *__cil_tmp35 ;
14800  u32 volatile   __cil_tmp36 ;
14801  unsigned long __cil_tmp37 ;
14802  char *__cil_tmp38 ;
14803  u8 volatile   __cil_tmp39 ;
14804  int __cil_tmp40 ;
14805  unsigned long __cil_tmp41 ;
14806  char *__cil_tmp42 ;
14807  u8 volatile   __cil_tmp43 ;
14808  int __cil_tmp44 ;
14809  unsigned long __cil_tmp45 ;
14810  char *__cil_tmp46 ;
14811  u8 volatile   __cil_tmp47 ;
14812  int __cil_tmp48 ;
14813  unsigned long __cil_tmp49 ;
14814  char *__cil_tmp50 ;
14815  u8 volatile   __cil_tmp51 ;
14816  int __cil_tmp52 ;
14817
14818  {
14819  {
14820#line 2312
14821  adapter = (adapter_t *)data;
14822#line 2313
14823  mbox = adapter->mbox;
14824#line 2314
14825  len = 0;
14826#line 2316
14827  len = sprintf(page, "Contents of Mail Box Structure\n");
14828#line 2317
14829  __cil_tmp19 = (unsigned long )len;
14830#line 2317
14831  __cil_tmp20 = page + __cil_tmp19;
14832#line 2317
14833  __cil_tmp21 = mbox->m_out.cmd;
14834#line 2317
14835  __cil_tmp22 = (int )__cil_tmp21;
14836#line 2317
14837  tmp = sprintf(__cil_tmp20, "  Fw Command   = 0x%02x\n", __cil_tmp22);
14838#line 2317
14839  len = tmp + len;
14840#line 2319
14841  __cil_tmp23 = (unsigned long )len;
14842#line 2319
14843  __cil_tmp24 = page + __cil_tmp23;
14844#line 2319
14845  __cil_tmp25 = mbox->m_out.cmdid;
14846#line 2319
14847  __cil_tmp26 = (int )__cil_tmp25;
14848#line 2319
14849  tmp___0 = sprintf(__cil_tmp24, "  Cmd Sequence = 0x%02x\n", __cil_tmp26);
14850#line 2319
14851  len = tmp___0 + len;
14852#line 2321
14853  __cil_tmp27 = (unsigned long )len;
14854#line 2321
14855  __cil_tmp28 = page + __cil_tmp27;
14856#line 2321
14857  __cil_tmp29 = mbox->m_out.numsectors;
14858#line 2321
14859  __cil_tmp30 = (int )__cil_tmp29;
14860#line 2321
14861  tmp___1 = sprintf(__cil_tmp28, "  No of Sectors= %04d\n", __cil_tmp30);
14862#line 2321
14863  len = tmp___1 + len;
14864#line 2323
14865  __cil_tmp31 = (unsigned long )len;
14866#line 2323
14867  __cil_tmp32 = page + __cil_tmp31;
14868#line 2323
14869  __cil_tmp33 = mbox->m_out.lba;
14870#line 2323
14871  tmp___2 = sprintf(__cil_tmp32, "  LBA          = 0x%02x\n", __cil_tmp33);
14872#line 2323
14873  len = tmp___2 + len;
14874#line 2325
14875  __cil_tmp34 = (unsigned long )len;
14876#line 2325
14877  __cil_tmp35 = page + __cil_tmp34;
14878#line 2325
14879  __cil_tmp36 = mbox->m_out.xferaddr;
14880#line 2325
14881  tmp___3 = sprintf(__cil_tmp35, "  DTA          = 0x%08x\n", __cil_tmp36);
14882#line 2325
14883  len = tmp___3 + len;
14884#line 2327
14885  __cil_tmp37 = (unsigned long )len;
14886#line 2327
14887  __cil_tmp38 = page + __cil_tmp37;
14888#line 2327
14889  __cil_tmp39 = mbox->m_out.logdrv;
14890#line 2327
14891  __cil_tmp40 = (int )__cil_tmp39;
14892#line 2327
14893  tmp___4 = sprintf(__cil_tmp38, "  Logical Drive= 0x%02x\n", __cil_tmp40);
14894#line 2327
14895  len = tmp___4 + len;
14896#line 2329
14897  __cil_tmp41 = (unsigned long )len;
14898#line 2329
14899  __cil_tmp42 = page + __cil_tmp41;
14900#line 2329
14901  __cil_tmp43 = mbox->m_out.numsgelements;
14902#line 2329
14903  __cil_tmp44 = (int )__cil_tmp43;
14904#line 2329
14905  tmp___5 = sprintf(__cil_tmp42, "  No of SG Elmt= 0x%02x\n", __cil_tmp44);
14906#line 2329
14907  len = tmp___5 + len;
14908#line 2331
14909  __cil_tmp45 = (unsigned long )len;
14910#line 2331
14911  __cil_tmp46 = page + __cil_tmp45;
14912#line 2331
14913  __cil_tmp47 = mbox->m_in.busy;
14914#line 2331
14915  __cil_tmp48 = (int )__cil_tmp47;
14916#line 2331
14917  tmp___6 = sprintf(__cil_tmp46, "  Busy         = %01x\n", __cil_tmp48);
14918#line 2331
14919  len = tmp___6 + len;
14920#line 2333
14921  __cil_tmp49 = (unsigned long )len;
14922#line 2333
14923  __cil_tmp50 = page + __cil_tmp49;
14924#line 2333
14925  __cil_tmp51 = mbox->m_in.status;
14926#line 2333
14927  __cil_tmp52 = (int )__cil_tmp51;
14928#line 2333
14929  tmp___7 = sprintf(__cil_tmp50, "  Status       = 0x%02x\n", __cil_tmp52);
14930#line 2333
14931  len = tmp___7 + len;
14932#line 2336
14933  *eof = 1;
14934  }
14935#line 2338
14936  return (len);
14937}
14938}
14939#line 2354 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
14940static int proc_rebuild_rate(char *page , char **start , off_t offset , int count ,
14941                             int *eof , void *data ) 
14942{ adapter_t *adapter ;
14943  dma_addr_t dma_handle ;
14944  caddr_t inquiry ;
14945  struct pci_dev *pdev ;
14946  int len ;
14947  int tmp ;
14948  void *tmp___0 ;
14949  int tmp___1 ;
14950  caddr_t __cil_tmp15 ;
14951  unsigned long __cil_tmp16 ;
14952  unsigned long __cil_tmp17 ;
14953  void *__cil_tmp18 ;
14954  u32 __cil_tmp19 ;
14955  long __cil_tmp20 ;
14956  long __cil_tmp21 ;
14957  mega_inquiry3 *__cil_tmp22 ;
14958  u8 __cil_tmp23 ;
14959  int __cil_tmp24 ;
14960  mraid_ext_inquiry *__cil_tmp25 ;
14961  u8 __cil_tmp26 ;
14962  int __cil_tmp27 ;
14963  void *__cil_tmp28 ;
14964
14965  {
14966  {
14967#line 2357
14968  adapter = (adapter_t *)data;
14969#line 2361
14970  len = 0;
14971#line 2363
14972  tmp = make_local_pdev(adapter, & pdev);
14973  }
14974#line 2363
14975  if (tmp != 0) {
14976#line 2364
14977    *eof = 1;
14978#line 2365
14979    return (len);
14980  } else {
14981
14982  }
14983  {
14984#line 2368
14985  tmp___0 = mega_allocate_inquiry(& dma_handle, pdev);
14986#line 2368
14987  inquiry = (caddr_t )tmp___0;
14988  }
14989  {
14990#line 2368
14991  __cil_tmp15 = (caddr_t )0;
14992#line 2368
14993  __cil_tmp16 = (unsigned long )__cil_tmp15;
14994#line 2368
14995  __cil_tmp17 = (unsigned long )inquiry;
14996#line 2368
14997  if (__cil_tmp17 == __cil_tmp16) {
14998    {
14999#line 2369
15000    free_local_pdev(pdev);
15001#line 2370
15002    *eof = 1;
15003    }
15004#line 2371
15005    return (len);
15006  } else {
15007
15008  }
15009  }
15010  {
15011#line 2374
15012  tmp___1 = mega_adapinq(adapter, dma_handle);
15013  }
15014#line 2374
15015  if (tmp___1 != 0) {
15016    {
15017#line 2376
15018    len = sprintf(page, "Adapter inquiry failed.\n");
15019#line 2378
15020    printk("<4>megaraid: inquiry failed.\n");
15021#line 2380
15022    __cil_tmp18 = (void *)inquiry;
15023#line 2380
15024    mega_free_inquiry(__cil_tmp18, dma_handle, pdev);
15025#line 2382
15026    free_local_pdev(pdev);
15027#line 2384
15028    *eof = 1;
15029    }
15030#line 2386
15031    return (len);
15032  } else {
15033
15034  }
15035  {
15036#line 2389
15037  __cil_tmp19 = adapter->flag;
15038#line 2389
15039  __cil_tmp20 = (long )__cil_tmp19;
15040#line 2389
15041  __cil_tmp21 = __cil_tmp20 & 134217728L;
15042#line 2389
15043  if (__cil_tmp21 != 0L) {
15044    {
15045#line 2390
15046    __cil_tmp22 = (mega_inquiry3 *)inquiry;
15047#line 2390
15048    __cil_tmp23 = __cil_tmp22->rebuild_rate;
15049#line 2390
15050    __cil_tmp24 = (int )__cil_tmp23;
15051#line 2390
15052    len = sprintf(page, "Rebuild Rate: [%d%%]\n", __cil_tmp24);
15053    }
15054  } else {
15055    {
15056#line 2394
15057    __cil_tmp25 = (mraid_ext_inquiry *)inquiry;
15058#line 2394
15059    __cil_tmp26 = __cil_tmp25->raid_inq.adapter_info.rebuild_rate;
15060#line 2394
15061    __cil_tmp27 = (int )__cil_tmp26;
15062#line 2394
15063    len = sprintf(page, "Rebuild Rate: [%d%%]\n", __cil_tmp27);
15064    }
15065  }
15066  }
15067  {
15068#line 2400
15069  __cil_tmp28 = (void *)inquiry;
15070#line 2400
15071  mega_free_inquiry(__cil_tmp28, dma_handle, pdev);
15072#line 2402
15073  free_local_pdev(pdev);
15074#line 2404
15075  *eof = 1;
15076  }
15077#line 2406
15078  return (len);
15079}
15080}
15081#line 2422 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
15082static int proc_battery(char *page , char **start , off_t offset , int count , int *eof ,
15083                        void *data ) 
15084{ adapter_t *adapter ;
15085  dma_addr_t dma_handle ;
15086  caddr_t inquiry ;
15087  struct pci_dev *pdev ;
15088  u8 battery_status ;
15089  char str[256U] ;
15090  int len ;
15091  int tmp ;
15092  void *tmp___0 ;
15093  int tmp___1 ;
15094  caddr_t __cil_tmp17 ;
15095  unsigned long __cil_tmp18 ;
15096  unsigned long __cil_tmp19 ;
15097  void *__cil_tmp20 ;
15098  u32 __cil_tmp21 ;
15099  long __cil_tmp22 ;
15100  long __cil_tmp23 ;
15101  mega_inquiry3 *__cil_tmp24 ;
15102  mraid_ext_inquiry *__cil_tmp25 ;
15103  char *__cil_tmp26 ;
15104  int __cil_tmp27 ;
15105  unsigned int __cil_tmp28 ;
15106  char *__cil_tmp29 ;
15107  int __cil_tmp30 ;
15108  char *__cil_tmp31 ;
15109  int __cil_tmp32 ;
15110  int __cil_tmp33 ;
15111  char *__cil_tmp34 ;
15112  int __cil_tmp35 ;
15113  int __cil_tmp36 ;
15114  char *__cil_tmp37 ;
15115  int __cil_tmp38 ;
15116  int __cil_tmp39 ;
15117  char *__cil_tmp40 ;
15118  int __cil_tmp41 ;
15119  int __cil_tmp42 ;
15120  char *__cil_tmp43 ;
15121  int __cil_tmp44 ;
15122  int __cil_tmp45 ;
15123  char *__cil_tmp46 ;
15124  int __cil_tmp47 ;
15125  int __cil_tmp48 ;
15126  char *__cil_tmp49 ;
15127  char *__cil_tmp50 ;
15128  void *__cil_tmp51 ;
15129
15130  {
15131  {
15132#line 2425
15133  adapter = (adapter_t *)data;
15134#line 2429
15135  battery_status = (u8 )0U;
15136#line 2431
15137  len = 0;
15138#line 2433
15139  tmp = make_local_pdev(adapter, & pdev);
15140  }
15141#line 2433
15142  if (tmp != 0) {
15143#line 2434
15144    *eof = 1;
15145#line 2435
15146    return (len);
15147  } else {
15148
15149  }
15150  {
15151#line 2438
15152  tmp___0 = mega_allocate_inquiry(& dma_handle, pdev);
15153#line 2438
15154  inquiry = (caddr_t )tmp___0;
15155  }
15156  {
15157#line 2438
15158  __cil_tmp17 = (caddr_t )0;
15159#line 2438
15160  __cil_tmp18 = (unsigned long )__cil_tmp17;
15161#line 2438
15162  __cil_tmp19 = (unsigned long )inquiry;
15163#line 2438
15164  if (__cil_tmp19 == __cil_tmp18) {
15165    {
15166#line 2439
15167    free_local_pdev(pdev);
15168#line 2440
15169    *eof = 1;
15170    }
15171#line 2441
15172    return (len);
15173  } else {
15174
15175  }
15176  }
15177  {
15178#line 2444
15179  tmp___1 = mega_adapinq(adapter, dma_handle);
15180  }
15181#line 2444
15182  if (tmp___1 != 0) {
15183    {
15184#line 2446
15185    len = sprintf(page, "Adapter inquiry failed.\n");
15186#line 2448
15187    printk("<4>megaraid: inquiry failed.\n");
15188#line 2450
15189    __cil_tmp20 = (void *)inquiry;
15190#line 2450
15191    mega_free_inquiry(__cil_tmp20, dma_handle, pdev);
15192#line 2452
15193    free_local_pdev(pdev);
15194#line 2454
15195    *eof = 1;
15196    }
15197#line 2456
15198    return (len);
15199  } else {
15200
15201  }
15202  {
15203#line 2459
15204  __cil_tmp21 = adapter->flag;
15205#line 2459
15206  __cil_tmp22 = (long )__cil_tmp21;
15207#line 2459
15208  __cil_tmp23 = __cil_tmp22 & 134217728L;
15209#line 2459
15210  if (__cil_tmp23 != 0L) {
15211#line 2460
15212    __cil_tmp24 = (mega_inquiry3 *)inquiry;
15213#line 2460
15214    battery_status = __cil_tmp24->battery_status;
15215  } else {
15216#line 2463
15217    __cil_tmp25 = (mraid_ext_inquiry *)inquiry;
15218#line 2463
15219    battery_status = __cil_tmp25->raid_inq.adapter_info.battery_status;
15220  }
15221  }
15222  {
15223#line 2470
15224  __cil_tmp26 = (char *)(& str);
15225#line 2470
15226  __cil_tmp27 = (int )battery_status;
15227#line 2470
15228  sprintf(__cil_tmp26, "Battery Status:[%d]", __cil_tmp27);
15229  }
15230  {
15231#line 2472
15232  __cil_tmp28 = (unsigned int )battery_status;
15233#line 2472
15234  if (__cil_tmp28 == 0U) {
15235    {
15236#line 2473
15237    __cil_tmp29 = (char *)(& str);
15238#line 2473
15239    strcat(__cil_tmp29, " Charge Done");
15240    }
15241  } else {
15242
15243  }
15244  }
15245  {
15246#line 2475
15247  __cil_tmp30 = (int )battery_status;
15248#line 2475
15249  if (__cil_tmp30 & 1) {
15250    {
15251#line 2476
15252    __cil_tmp31 = (char *)(& str);
15253#line 2476
15254    strcat(__cil_tmp31, " Module Missing");
15255    }
15256  } else {
15257
15258  }
15259  }
15260  {
15261#line 2478
15262  __cil_tmp32 = (int )battery_status;
15263#line 2478
15264  __cil_tmp33 = __cil_tmp32 & 2;
15265#line 2478
15266  if (__cil_tmp33 != 0) {
15267    {
15268#line 2479
15269    __cil_tmp34 = (char *)(& str);
15270#line 2479
15271    strcat(__cil_tmp34, " Low Voltage");
15272    }
15273  } else {
15274
15275  }
15276  }
15277  {
15278#line 2481
15279  __cil_tmp35 = (int )battery_status;
15280#line 2481
15281  __cil_tmp36 = __cil_tmp35 & 4;
15282#line 2481
15283  if (__cil_tmp36 != 0) {
15284    {
15285#line 2482
15286    __cil_tmp37 = (char *)(& str);
15287#line 2482
15288    strcat(__cil_tmp37, " Temperature High");
15289    }
15290  } else {
15291
15292  }
15293  }
15294  {
15295#line 2484
15296  __cil_tmp38 = (int )battery_status;
15297#line 2484
15298  __cil_tmp39 = __cil_tmp38 & 8;
15299#line 2484
15300  if (__cil_tmp39 != 0) {
15301    {
15302#line 2485
15303    __cil_tmp40 = (char *)(& str);
15304#line 2485
15305    strcat(__cil_tmp40, " Pack Missing");
15306    }
15307  } else {
15308
15309  }
15310  }
15311  {
15312#line 2487
15313  __cil_tmp41 = (int )battery_status;
15314#line 2487
15315  __cil_tmp42 = __cil_tmp41 & 16;
15316#line 2487
15317  if (__cil_tmp42 != 0) {
15318    {
15319#line 2488
15320    __cil_tmp43 = (char *)(& str);
15321#line 2488
15322    strcat(__cil_tmp43, " Charge In-progress");
15323    }
15324  } else {
15325
15326  }
15327  }
15328  {
15329#line 2490
15330  __cil_tmp44 = (int )battery_status;
15331#line 2490
15332  __cil_tmp45 = __cil_tmp44 & 32;
15333#line 2490
15334  if (__cil_tmp45 != 0) {
15335    {
15336#line 2491
15337    __cil_tmp46 = (char *)(& str);
15338#line 2491
15339    strcat(__cil_tmp46, " Charge Fail");
15340    }
15341  } else {
15342
15343  }
15344  }
15345  {
15346#line 2493
15347  __cil_tmp47 = (int )battery_status;
15348#line 2493
15349  __cil_tmp48 = __cil_tmp47 & 64;
15350#line 2493
15351  if (__cil_tmp48 != 0) {
15352    {
15353#line 2494
15354    __cil_tmp49 = (char *)(& str);
15355#line 2494
15356    strcat(__cil_tmp49, " Cycles Exceeded");
15357    }
15358  } else {
15359
15360  }
15361  }
15362  {
15363#line 2496
15364  __cil_tmp50 = (char *)(& str);
15365#line 2496
15366  len = sprintf(page, "%s\n", __cil_tmp50);
15367#line 2499
15368  __cil_tmp51 = (void *)inquiry;
15369#line 2499
15370  mega_free_inquiry(__cil_tmp51, dma_handle, pdev);
15371#line 2501
15372  free_local_pdev(pdev);
15373#line 2503
15374  *eof = 1;
15375  }
15376#line 2505
15377  return (len);
15378}
15379}
15380#line 2521 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
15381static int proc_pdrv_ch0(char *page , char **start , off_t offset , int count , int *eof ,
15382                         void *data ) 
15383{ adapter_t *adapter ;
15384  int tmp ;
15385
15386  {
15387  {
15388#line 2524
15389  adapter = (adapter_t *)data;
15390#line 2526
15391  *eof = 1;
15392#line 2528
15393  tmp = proc_pdrv(adapter, page, 0);
15394  }
15395#line 2528
15396  return (tmp);
15397}
15398}
15399#line 2544 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
15400static int proc_pdrv_ch1(char *page , char **start , off_t offset , int count , int *eof ,
15401                         void *data ) 
15402{ adapter_t *adapter ;
15403  int tmp ;
15404
15405  {
15406  {
15407#line 2547
15408  adapter = (adapter_t *)data;
15409#line 2549
15410  *eof = 1;
15411#line 2551
15412  tmp = proc_pdrv(adapter, page, 1);
15413  }
15414#line 2551
15415  return (tmp);
15416}
15417}
15418#line 2567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
15419static int proc_pdrv_ch2(char *page , char **start , off_t offset , int count , int *eof ,
15420                         void *data ) 
15421{ adapter_t *adapter ;
15422  int tmp ;
15423
15424  {
15425  {
15426#line 2570
15427  adapter = (adapter_t *)data;
15428#line 2572
15429  *eof = 1;
15430#line 2574
15431  tmp = proc_pdrv(adapter, page, 2);
15432  }
15433#line 2574
15434  return (tmp);
15435}
15436}
15437#line 2590 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
15438static int proc_pdrv_ch3(char *page , char **start , off_t offset , int count , int *eof ,
15439                         void *data ) 
15440{ adapter_t *adapter ;
15441  int tmp ;
15442
15443  {
15444  {
15445#line 2593
15446  adapter = (adapter_t *)data;
15447#line 2595
15448  *eof = 1;
15449#line 2597
15450  tmp = proc_pdrv(adapter, page, 3);
15451  }
15452#line 2597
15453  return (tmp);
15454}
15455}
15456#line 2609 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
15457static int proc_pdrv(adapter_t *adapter , char *page , int channel ) 
15458{ dma_addr_t dma_handle ;
15459  char *scsi_inq ;
15460  dma_addr_t scsi_inq_dma_handle ;
15461  caddr_t inquiry ;
15462  struct pci_dev *pdev ;
15463  u8 *pdrv_state ;
15464  u8 state ;
15465  int tgt ;
15466  int max_channels ;
15467  int len ;
15468  char str[80U] ;
15469  int i ;
15470  int tmp ;
15471  void *tmp___0 ;
15472  int tmp___1 ;
15473  void *tmp___2 ;
15474  int tmp___3 ;
15475  int tmp___4 ;
15476  int tmp___5 ;
15477  caddr_t __cil_tmp23 ;
15478  unsigned long __cil_tmp24 ;
15479  unsigned long __cil_tmp25 ;
15480  char *__cil_tmp26 ;
15481  unsigned long __cil_tmp27 ;
15482  unsigned long __cil_tmp28 ;
15483  u32 __cil_tmp29 ;
15484  long __cil_tmp30 ;
15485  long __cil_tmp31 ;
15486  mega_inquiry3 *__cil_tmp32 ;
15487  u8 (*__cil_tmp33)[256U] ;
15488  mraid_ext_inquiry *__cil_tmp34 ;
15489  u8 (*__cil_tmp35)[75U] ;
15490  u8 __cil_tmp36 ;
15491  int __cil_tmp37 ;
15492  unsigned long __cil_tmp38 ;
15493  u8 *__cil_tmp39 ;
15494  int __cil_tmp40 ;
15495  int __cil_tmp41 ;
15496  int __cil_tmp42 ;
15497  int __cil_tmp43 ;
15498  int __cil_tmp44 ;
15499  int __cil_tmp45 ;
15500  int __cil_tmp46 ;
15501  int __cil_tmp47 ;
15502  char *__cil_tmp48 ;
15503  char *__cil_tmp49 ;
15504  char *__cil_tmp50 ;
15505  char *__cil_tmp51 ;
15506  char *__cil_tmp52 ;
15507  void *__cil_tmp53 ;
15508  u8 __cil_tmp54 ;
15509  int __cil_tmp55 ;
15510  u8 __cil_tmp56 ;
15511  u8 __cil_tmp57 ;
15512  int __cil_tmp58 ;
15513  u8 __cil_tmp59 ;
15514  char __cil_tmp60 ;
15515  int __cil_tmp61 ;
15516  int __cil_tmp62 ;
15517  int __cil_tmp63 ;
15518  unsigned int __cil_tmp64 ;
15519  unsigned long __cil_tmp65 ;
15520  char *__cil_tmp66 ;
15521  char *__cil_tmp67 ;
15522  unsigned long __cil_tmp68 ;
15523  char *__cil_tmp69 ;
15524  void *__cil_tmp70 ;
15525  void *__cil_tmp71 ;
15526
15527  {
15528  {
15529#line 2620
15530  len = 0;
15531#line 2624
15532  tmp = make_local_pdev(adapter, & pdev);
15533  }
15534#line 2624
15535  if (tmp != 0) {
15536#line 2625
15537    return (len);
15538  } else {
15539
15540  }
15541  {
15542#line 2628
15543  tmp___0 = mega_allocate_inquiry(& dma_handle, pdev);
15544#line 2628
15545  inquiry = (caddr_t )tmp___0;
15546  }
15547  {
15548#line 2628
15549  __cil_tmp23 = (caddr_t )0;
15550#line 2628
15551  __cil_tmp24 = (unsigned long )__cil_tmp23;
15552#line 2628
15553  __cil_tmp25 = (unsigned long )inquiry;
15554#line 2628
15555  if (__cil_tmp25 == __cil_tmp24) {
15556#line 2629
15557    goto free_pdev;
15558  } else {
15559
15560  }
15561  }
15562  {
15563#line 2632
15564  tmp___1 = mega_adapinq(adapter, dma_handle);
15565  }
15566#line 2632
15567  if (tmp___1 != 0) {
15568    {
15569#line 2633
15570    len = sprintf(page, "Adapter inquiry failed.\n");
15571#line 2635
15572    printk("<4>megaraid: inquiry failed.\n");
15573    }
15574#line 2637
15575    goto free_inquiry;
15576  } else {
15577
15578  }
15579  {
15580#line 2641
15581  tmp___2 = pci_alloc_consistent(pdev, 256UL, & scsi_inq_dma_handle);
15582#line 2641
15583  scsi_inq = (char *)tmp___2;
15584  }
15585  {
15586#line 2643
15587  __cil_tmp26 = (char *)0;
15588#line 2643
15589  __cil_tmp27 = (unsigned long )__cil_tmp26;
15590#line 2643
15591  __cil_tmp28 = (unsigned long )scsi_inq;
15592#line 2643
15593  if (__cil_tmp28 == __cil_tmp27) {
15594    {
15595#line 2644
15596    len = sprintf(page, "memory not available for scsi inq.\n");
15597    }
15598#line 2646
15599    goto free_inquiry;
15600  } else {
15601
15602  }
15603  }
15604  {
15605#line 2649
15606  __cil_tmp29 = adapter->flag;
15607#line 2649
15608  __cil_tmp30 = (long )__cil_tmp29;
15609#line 2649
15610  __cil_tmp31 = __cil_tmp30 & 134217728L;
15611#line 2649
15612  if (__cil_tmp31 != 0L) {
15613#line 2650
15614    __cil_tmp32 = (mega_inquiry3 *)inquiry;
15615#line 2650
15616    __cil_tmp33 = & __cil_tmp32->pdrv_state;
15617#line 2650
15618    pdrv_state = (u8 *)__cil_tmp33;
15619  } else {
15620#line 2653
15621    __cil_tmp34 = (mraid_ext_inquiry *)inquiry;
15622#line 2653
15623    __cil_tmp35 = & __cil_tmp34->raid_inq.pdrv_info.pdrv_state;
15624#line 2653
15625    pdrv_state = (u8 *)__cil_tmp35;
15626  }
15627  }
15628#line 2657
15629  __cil_tmp36 = adapter->product_info.nchannels;
15630#line 2657
15631  max_channels = (int )__cil_tmp36;
15632#line 2659
15633  if (channel >= max_channels) {
15634#line 2660
15635    goto free_pci;
15636  } else {
15637
15638  }
15639#line 2663
15640  tgt = 0;
15641#line 2663
15642  goto ldv_32412;
15643  ldv_32411: 
15644#line 2665
15645  __cil_tmp37 = channel * 16;
15646#line 2665
15647  i = __cil_tmp37 + tgt;
15648#line 2667
15649  __cil_tmp38 = (unsigned long )i;
15650#line 2667
15651  __cil_tmp39 = pdrv_state + __cil_tmp38;
15652#line 2667
15653  state = *__cil_tmp39;
15654  {
15655#line 2671
15656  __cil_tmp40 = (int )state;
15657#line 2671
15658  __cil_tmp41 = __cil_tmp40 & 15;
15659#line 2671
15660  if (__cil_tmp41 == 3) {
15661#line 2671
15662    goto case_3;
15663  } else {
15664    {
15665#line 2677
15666    __cil_tmp42 = (int )state;
15667#line 2677
15668    __cil_tmp43 = __cil_tmp42 & 15;
15669#line 2677
15670    if (__cil_tmp43 == 4) {
15671#line 2677
15672      goto case_4;
15673    } else {
15674      {
15675#line 2683
15676      __cil_tmp44 = (int )state;
15677#line 2683
15678      __cil_tmp45 = __cil_tmp44 & 15;
15679#line 2683
15680      if (__cil_tmp45 == 5) {
15681#line 2683
15682        goto case_5;
15683      } else {
15684        {
15685#line 2689
15686        __cil_tmp46 = (int )state;
15687#line 2689
15688        __cil_tmp47 = __cil_tmp46 & 15;
15689#line 2689
15690        if (__cil_tmp47 == 6) {
15691#line 2689
15692          goto case_6;
15693        } else {
15694#line 2695
15695          goto switch_default;
15696#line 2669
15697          if (0) {
15698            case_3: 
15699            {
15700#line 2672
15701            __cil_tmp48 = (char *)(& str);
15702#line 2672
15703            sprintf(__cil_tmp48, "Channel:%2d Id:%2d State: Online", channel, tgt);
15704            }
15705#line 2675
15706            goto ldv_32404;
15707            case_4: 
15708            {
15709#line 2678
15710            __cil_tmp49 = (char *)(& str);
15711#line 2678
15712            sprintf(__cil_tmp49, "Channel:%2d Id:%2d State: Failed", channel, tgt);
15713            }
15714#line 2681
15715            goto ldv_32404;
15716            case_5: 
15717            {
15718#line 2684
15719            __cil_tmp50 = (char *)(& str);
15720#line 2684
15721            sprintf(__cil_tmp50, "Channel:%2d Id:%2d State: Rebuild", channel, tgt);
15722            }
15723#line 2687
15724            goto ldv_32404;
15725            case_6: 
15726            {
15727#line 2690
15728            __cil_tmp51 = (char *)(& str);
15729#line 2690
15730            sprintf(__cil_tmp51, "Channel:%2d Id:%2d State: Hot spare", channel, tgt);
15731            }
15732#line 2693
15733            goto ldv_32404;
15734            switch_default: 
15735            {
15736#line 2696
15737            __cil_tmp52 = (char *)(& str);
15738#line 2696
15739            sprintf(__cil_tmp52, "Channel:%2d Id:%2d State: Un-configured", channel,
15740                    tgt);
15741            }
15742#line 2699
15743            goto ldv_32404;
15744          } else {
15745
15746          }
15747        }
15748        }
15749      }
15750      }
15751    }
15752    }
15753  }
15754  }
15755  ldv_32404: 
15756  {
15757#line 2708
15758  __cil_tmp53 = (void *)scsi_inq;
15759#line 2708
15760  memset(__cil_tmp53, 0, 256UL);
15761#line 2709
15762  __cil_tmp54 = (u8 )channel;
15763#line 2709
15764  __cil_tmp55 = (int )__cil_tmp54;
15765#line 2709
15766  __cil_tmp56 = (u8 )__cil_tmp55;
15767#line 2709
15768  __cil_tmp57 = (u8 )tgt;
15769#line 2709
15770  __cil_tmp58 = (int )__cil_tmp57;
15771#line 2709
15772  __cil_tmp59 = (u8 )__cil_tmp58;
15773#line 2709
15774  tmp___3 = mega_internal_dev_inquiry(adapter, __cil_tmp56, __cil_tmp59, scsi_inq_dma_handle);
15775  }
15776#line 2709
15777  if (tmp___3 != 0) {
15778#line 2712
15779    goto ldv_32409;
15780  } else {
15781    {
15782#line 2709
15783    __cil_tmp60 = *scsi_inq;
15784#line 2709
15785    __cil_tmp61 = (int )__cil_tmp60;
15786#line 2709
15787    __cil_tmp62 = __cil_tmp61 & 31;
15788#line 2709
15789    if (__cil_tmp62 != 0) {
15790#line 2712
15791      goto ldv_32409;
15792    } else {
15793
15794    }
15795    }
15796  }
15797  {
15798#line 2719
15799  __cil_tmp63 = len + 240;
15800#line 2719
15801  __cil_tmp64 = (unsigned int )__cil_tmp63;
15802#line 2719
15803  if (__cil_tmp64 > 4095U) {
15804#line 2719
15805    goto ldv_32410;
15806  } else {
15807
15808  }
15809  }
15810  {
15811#line 2721
15812  __cil_tmp65 = (unsigned long )len;
15813#line 2721
15814  __cil_tmp66 = page + __cil_tmp65;
15815#line 2721
15816  __cil_tmp67 = (char *)(& str);
15817#line 2721
15818  tmp___4 = sprintf(__cil_tmp66, "%s.\n", __cil_tmp67);
15819#line 2721
15820  len = tmp___4 + len;
15821#line 2723
15822  __cil_tmp68 = (unsigned long )len;
15823#line 2723
15824  __cil_tmp69 = page + __cil_tmp68;
15825#line 2723
15826  tmp___5 = mega_print_inquiry(__cil_tmp69, scsi_inq);
15827#line 2723
15828  len = tmp___5 + len;
15829  }
15830  ldv_32409: 
15831#line 2663
15832  tgt = tgt + 1;
15833  ldv_32412: ;
15834#line 2663
15835  if (tgt <= 15) {
15836#line 2664
15837    goto ldv_32411;
15838  } else {
15839#line 2666
15840    goto ldv_32410;
15841  }
15842  ldv_32410: ;
15843  free_pci: 
15844  {
15845#line 2727
15846  __cil_tmp70 = (void *)scsi_inq;
15847#line 2727
15848  pci_free_consistent(pdev, 256UL, __cil_tmp70, scsi_inq_dma_handle);
15849  }
15850  free_inquiry: 
15851  {
15852#line 2729
15853  __cil_tmp71 = (void *)inquiry;
15854#line 2729
15855  mega_free_inquiry(__cil_tmp71, dma_handle, pdev);
15856  }
15857  free_pdev: 
15858  {
15859#line 2731
15860  free_local_pdev(pdev);
15861  }
15862#line 2733
15863  return (len);
15864}
15865}
15866#line 2741 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
15867static int mega_print_inquiry(char *page , char *scsi_inq ) 
15868{ int len ;
15869  int i ;
15870  int tmp ;
15871  int tmp___0 ;
15872  int tmp___1 ;
15873  int tmp___2 ;
15874  int tmp___3 ;
15875  int tmp___4 ;
15876  char const   *tmp___5 ;
15877  int tmp___6 ;
15878  int tmp___7 ;
15879  int tmp___8 ;
15880  int tmp___9 ;
15881  unsigned long __cil_tmp16 ;
15882  char *__cil_tmp17 ;
15883  unsigned long __cil_tmp18 ;
15884  char *__cil_tmp19 ;
15885  char __cil_tmp20 ;
15886  int __cil_tmp21 ;
15887  unsigned long __cil_tmp22 ;
15888  char *__cil_tmp23 ;
15889  unsigned long __cil_tmp24 ;
15890  char *__cil_tmp25 ;
15891  unsigned long __cil_tmp26 ;
15892  char *__cil_tmp27 ;
15893  char __cil_tmp28 ;
15894  int __cil_tmp29 ;
15895  unsigned long __cil_tmp30 ;
15896  char *__cil_tmp31 ;
15897  unsigned long __cil_tmp32 ;
15898  char *__cil_tmp33 ;
15899  unsigned long __cil_tmp34 ;
15900  char *__cil_tmp35 ;
15901  char __cil_tmp36 ;
15902  int __cil_tmp37 ;
15903  unsigned long __cil_tmp38 ;
15904  char *__cil_tmp39 ;
15905  char __cil_tmp40 ;
15906  int __cil_tmp41 ;
15907  unsigned int __cil_tmp42 ;
15908  unsigned long __cil_tmp43 ;
15909  char *__cil_tmp44 ;
15910  unsigned long __cil_tmp45 ;
15911  char *__cil_tmp46 ;
15912  char *__cil_tmp47 ;
15913  char __cil_tmp48 ;
15914  int __cil_tmp49 ;
15915  int __cil_tmp50 ;
15916  char *__cil_tmp51 ;
15917  char __cil_tmp52 ;
15918  int __cil_tmp53 ;
15919  int __cil_tmp54 ;
15920  char *__cil_tmp55 ;
15921  char __cil_tmp56 ;
15922  int __cil_tmp57 ;
15923  int __cil_tmp58 ;
15924  unsigned long __cil_tmp59 ;
15925  char *__cil_tmp60 ;
15926  unsigned long __cil_tmp61 ;
15927  char *__cil_tmp62 ;
15928  unsigned long __cil_tmp63 ;
15929  char *__cil_tmp64 ;
15930
15931  {
15932  {
15933#line 2743
15934  len = 0;
15935#line 2746
15936  len = sprintf(page, "  Vendor: ");
15937#line 2747
15938  i = 8;
15939  }
15940#line 2747
15941  goto ldv_32420;
15942  ldv_32419: 
15943  {
15944#line 2748
15945  __cil_tmp16 = (unsigned long )len;
15946#line 2748
15947  __cil_tmp17 = page + __cil_tmp16;
15948#line 2748
15949  __cil_tmp18 = (unsigned long )i;
15950#line 2748
15951  __cil_tmp19 = scsi_inq + __cil_tmp18;
15952#line 2748
15953  __cil_tmp20 = *__cil_tmp19;
15954#line 2748
15955  __cil_tmp21 = (int )__cil_tmp20;
15956#line 2748
15957  tmp = sprintf(__cil_tmp17, "%c", __cil_tmp21);
15958#line 2748
15959  len = tmp + len;
15960#line 2747
15961  i = i + 1;
15962  }
15963  ldv_32420: ;
15964#line 2747
15965  if (i <= 15) {
15966#line 2748
15967    goto ldv_32419;
15968  } else {
15969#line 2750
15970    goto ldv_32421;
15971  }
15972  ldv_32421: 
15973  {
15974#line 2751
15975  __cil_tmp22 = (unsigned long )len;
15976#line 2751
15977  __cil_tmp23 = page + __cil_tmp22;
15978#line 2751
15979  tmp___0 = sprintf(__cil_tmp23, "  Model: ");
15980#line 2751
15981  len = tmp___0 + len;
15982#line 2753
15983  i = 16;
15984  }
15985#line 2753
15986  goto ldv_32423;
15987  ldv_32422: 
15988  {
15989#line 2754
15990  __cil_tmp24 = (unsigned long )len;
15991#line 2754
15992  __cil_tmp25 = page + __cil_tmp24;
15993#line 2754
15994  __cil_tmp26 = (unsigned long )i;
15995#line 2754
15996  __cil_tmp27 = scsi_inq + __cil_tmp26;
15997#line 2754
15998  __cil_tmp28 = *__cil_tmp27;
15999#line 2754
16000  __cil_tmp29 = (int )__cil_tmp28;
16001#line 2754
16002  tmp___1 = sprintf(__cil_tmp25, "%c", __cil_tmp29);
16003#line 2754
16004  len = tmp___1 + len;
16005#line 2753
16006  i = i + 1;
16007  }
16008  ldv_32423: ;
16009#line 2753
16010  if (i <= 31) {
16011#line 2754
16012    goto ldv_32422;
16013  } else {
16014#line 2756
16015    goto ldv_32424;
16016  }
16017  ldv_32424: 
16018  {
16019#line 2757
16020  __cil_tmp30 = (unsigned long )len;
16021#line 2757
16022  __cil_tmp31 = page + __cil_tmp30;
16023#line 2757
16024  tmp___2 = sprintf(__cil_tmp31, "  Rev: ");
16025#line 2757
16026  len = tmp___2 + len;
16027#line 2759
16028  i = 32;
16029  }
16030#line 2759
16031  goto ldv_32426;
16032  ldv_32425: 
16033  {
16034#line 2760
16035  __cil_tmp32 = (unsigned long )len;
16036#line 2760
16037  __cil_tmp33 = page + __cil_tmp32;
16038#line 2760
16039  __cil_tmp34 = (unsigned long )i;
16040#line 2760
16041  __cil_tmp35 = scsi_inq + __cil_tmp34;
16042#line 2760
16043  __cil_tmp36 = *__cil_tmp35;
16044#line 2760
16045  __cil_tmp37 = (int )__cil_tmp36;
16046#line 2760
16047  tmp___3 = sprintf(__cil_tmp33, "%c", __cil_tmp37);
16048#line 2760
16049  len = tmp___3 + len;
16050#line 2759
16051  i = i + 1;
16052  }
16053  ldv_32426: ;
16054#line 2759
16055  if (i <= 35) {
16056#line 2760
16057    goto ldv_32425;
16058  } else {
16059#line 2762
16060    goto ldv_32427;
16061  }
16062  ldv_32427: 
16063  {
16064#line 2763
16065  __cil_tmp38 = (unsigned long )len;
16066#line 2763
16067  __cil_tmp39 = page + __cil_tmp38;
16068#line 2763
16069  tmp___4 = sprintf(__cil_tmp39, "\n");
16070#line 2763
16071  len = tmp___4 + len;
16072#line 2765
16073  __cil_tmp40 = *scsi_inq;
16074#line 2765
16075  __cil_tmp41 = (int )__cil_tmp40;
16076#line 2765
16077  i = __cil_tmp41 & 31;
16078#line 2767
16079  __cil_tmp42 = (unsigned int )i;
16080#line 2767
16081  tmp___5 = scsi_device_type(__cil_tmp42);
16082#line 2767
16083  __cil_tmp43 = (unsigned long )len;
16084#line 2767
16085  __cil_tmp44 = page + __cil_tmp43;
16086#line 2767
16087  tmp___6 = sprintf(__cil_tmp44, "  Type:   %s ", tmp___5);
16088#line 2767
16089  len = tmp___6 + len;
16090#line 2769
16091  __cil_tmp45 = (unsigned long )len;
16092#line 2769
16093  __cil_tmp46 = page + __cil_tmp45;
16094#line 2769
16095  __cil_tmp47 = scsi_inq + 2UL;
16096#line 2769
16097  __cil_tmp48 = *__cil_tmp47;
16098#line 2769
16099  __cil_tmp49 = (int )__cil_tmp48;
16100#line 2769
16101  __cil_tmp50 = __cil_tmp49 & 7;
16102#line 2769
16103  tmp___7 = sprintf(__cil_tmp46, "                 ANSI SCSI revision: %02x", __cil_tmp50);
16104#line 2769
16105  len = tmp___7 + len;
16106  }
16107  {
16108#line 2772
16109  __cil_tmp51 = scsi_inq + 2UL;
16110#line 2772
16111  __cil_tmp52 = *__cil_tmp51;
16112#line 2772
16113  __cil_tmp53 = (int )__cil_tmp52;
16114#line 2772
16115  __cil_tmp54 = __cil_tmp53 & 7;
16116#line 2772
16117  if (__cil_tmp54 == 1) {
16118    {
16119#line 2772
16120    __cil_tmp55 = scsi_inq + 3UL;
16121#line 2772
16122    __cil_tmp56 = *__cil_tmp55;
16123#line 2772
16124    __cil_tmp57 = (int )__cil_tmp56;
16125#line 2772
16126    __cil_tmp58 = __cil_tmp57 & 15;
16127#line 2772
16128    if (__cil_tmp58 == 1) {
16129      {
16130#line 2773
16131      __cil_tmp59 = (unsigned long )len;
16132#line 2773
16133      __cil_tmp60 = page + __cil_tmp59;
16134#line 2773
16135      tmp___8 = sprintf(__cil_tmp60, " CCS\n");
16136#line 2773
16137      len = tmp___8 + len;
16138      }
16139    } else {
16140      {
16141#line 2775
16142      __cil_tmp61 = (unsigned long )len;
16143#line 2775
16144      __cil_tmp62 = page + __cil_tmp61;
16145#line 2775
16146      tmp___9 = sprintf(__cil_tmp62, "\n");
16147#line 2775
16148      len = tmp___9 + len;
16149      }
16150    }
16151    }
16152  } else {
16153    {
16154#line 2775
16155    __cil_tmp63 = (unsigned long )len;
16156#line 2775
16157    __cil_tmp64 = page + __cil_tmp63;
16158#line 2775
16159    tmp___9 = sprintf(__cil_tmp64, "\n");
16160#line 2775
16161    len = tmp___9 + len;
16162    }
16163  }
16164  }
16165#line 2777
16166  return (len);
16167}
16168}
16169#line 2793 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
16170static int proc_rdrv_10(char *page , char **start , off_t offset , int count , int *eof ,
16171                        void *data ) 
16172{ adapter_t *adapter ;
16173  int tmp ;
16174
16175  {
16176  {
16177#line 2796
16178  adapter = (adapter_t *)data;
16179#line 2798
16180  *eof = 1;
16181#line 2800
16182  tmp = proc_rdrv(adapter, page, 0, 9);
16183  }
16184#line 2800
16185  return (tmp);
16186}
16187}
16188#line 2816 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
16189static int proc_rdrv_20(char *page , char **start , off_t offset , int count , int *eof ,
16190                        void *data ) 
16191{ adapter_t *adapter ;
16192  int tmp ;
16193
16194  {
16195  {
16196#line 2819
16197  adapter = (adapter_t *)data;
16198#line 2821
16199  *eof = 1;
16200#line 2823
16201  tmp = proc_rdrv(adapter, page, 10, 19);
16202  }
16203#line 2823
16204  return (tmp);
16205}
16206}
16207#line 2839 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
16208static int proc_rdrv_30(char *page , char **start , off_t offset , int count , int *eof ,
16209                        void *data ) 
16210{ adapter_t *adapter ;
16211  int tmp ;
16212
16213  {
16214  {
16215#line 2842
16216  adapter = (adapter_t *)data;
16217#line 2844
16218  *eof = 1;
16219#line 2846
16220  tmp = proc_rdrv(adapter, page, 20, 29);
16221  }
16222#line 2846
16223  return (tmp);
16224}
16225}
16226#line 2862 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
16227static int proc_rdrv_40(char *page , char **start , off_t offset , int count , int *eof ,
16228                        void *data ) 
16229{ adapter_t *adapter ;
16230  int tmp ;
16231
16232  {
16233  {
16234#line 2865
16235  adapter = (adapter_t *)data;
16236#line 2867
16237  *eof = 1;
16238#line 2869
16239  tmp = proc_rdrv(adapter, page, 30, 39);
16240  }
16241#line 2869
16242  return (tmp);
16243}
16244}
16245#line 2884 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
16246static int proc_rdrv(adapter_t *adapter , char *page , int start , int end ) 
16247{ dma_addr_t dma_handle ;
16248  logdrv_param *lparam ;
16249  megacmd_t mc ;
16250  char *disk_array ;
16251  dma_addr_t disk_array_dma_handle ;
16252  caddr_t inquiry ;
16253  struct pci_dev *pdev ;
16254  u8 *rdrv_state ;
16255  int num_ldrv ;
16256  u32 array_sz ;
16257  int len ;
16258  int i ;
16259  int tmp ;
16260  void *tmp___0 ;
16261  int tmp___1 ;
16262  void *tmp___2 ;
16263  int tmp___3 ;
16264  int tmp___4 ;
16265  int tmp___5 ;
16266  int tmp___6 ;
16267  int tmp___7 ;
16268  int tmp___8 ;
16269  int tmp___9 ;
16270  int tmp___10 ;
16271  int tmp___11 ;
16272  int tmp___12 ;
16273  int tmp___13 ;
16274  int tmp___14 ;
16275  int tmp___15 ;
16276  int tmp___16 ;
16277  int tmp___17 ;
16278  int tmp___18 ;
16279  int tmp___19 ;
16280  int tmp___20 ;
16281  int tmp___21 ;
16282  int tmp___22 ;
16283  int tmp___23 ;
16284  int tmp___24 ;
16285  int tmp___25 ;
16286  int tmp___26 ;
16287  int tmp___27 ;
16288  int tmp___28 ;
16289  int tmp___29 ;
16290  int tmp___30 ;
16291  caddr_t __cil_tmp49 ;
16292  unsigned long __cil_tmp50 ;
16293  unsigned long __cil_tmp51 ;
16294  void *__cil_tmp52 ;
16295  void *__cil_tmp53 ;
16296  u32 __cil_tmp54 ;
16297  long __cil_tmp55 ;
16298  long __cil_tmp56 ;
16299  mega_inquiry3 *__cil_tmp57 ;
16300  u8 (*__cil_tmp58)[40U] ;
16301  mega_inquiry3 *__cil_tmp59 ;
16302  u8 __cil_tmp60 ;
16303  mraid_ext_inquiry *__cil_tmp61 ;
16304  u8 (*__cil_tmp62)[8U] ;
16305  mraid_ext_inquiry *__cil_tmp63 ;
16306  u8 __cil_tmp64 ;
16307  size_t __cil_tmp65 ;
16308  char *__cil_tmp66 ;
16309  unsigned long __cil_tmp67 ;
16310  unsigned long __cil_tmp68 ;
16311  void *__cil_tmp69 ;
16312  u32 __cil_tmp70 ;
16313  long __cil_tmp71 ;
16314  long __cil_tmp72 ;
16315  mega_passthru *__cil_tmp73 ;
16316  void *__cil_tmp74 ;
16317  size_t __cil_tmp75 ;
16318  void *__cil_tmp76 ;
16319  mega_passthru *__cil_tmp77 ;
16320  mega_passthru *__cil_tmp78 ;
16321  void *__cil_tmp79 ;
16322  size_t __cil_tmp80 ;
16323  void *__cil_tmp81 ;
16324  u32 __cil_tmp82 ;
16325  long __cil_tmp83 ;
16326  long __cil_tmp84 ;
16327  disk_array_40ld *__cil_tmp85 ;
16328  disk_array_8ld *__cil_tmp86 ;
16329  int __cil_tmp87 ;
16330  unsigned int __cil_tmp88 ;
16331  unsigned long __cil_tmp89 ;
16332  char *__cil_tmp90 ;
16333  unsigned long __cil_tmp91 ;
16334  u8 *__cil_tmp92 ;
16335  u8 __cil_tmp93 ;
16336  int __cil_tmp94 ;
16337  int __cil_tmp95 ;
16338  unsigned long __cil_tmp96 ;
16339  u8 *__cil_tmp97 ;
16340  u8 __cil_tmp98 ;
16341  int __cil_tmp99 ;
16342  int __cil_tmp100 ;
16343  unsigned long __cil_tmp101 ;
16344  u8 *__cil_tmp102 ;
16345  u8 __cil_tmp103 ;
16346  int __cil_tmp104 ;
16347  int __cil_tmp105 ;
16348  unsigned long __cil_tmp106 ;
16349  u8 *__cil_tmp107 ;
16350  u8 __cil_tmp108 ;
16351  int __cil_tmp109 ;
16352  int __cil_tmp110 ;
16353  unsigned long __cil_tmp111 ;
16354  char *__cil_tmp112 ;
16355  unsigned long __cil_tmp113 ;
16356  char *__cil_tmp114 ;
16357  unsigned long __cil_tmp115 ;
16358  char *__cil_tmp116 ;
16359  unsigned long __cil_tmp117 ;
16360  char *__cil_tmp118 ;
16361  unsigned long __cil_tmp119 ;
16362  char *__cil_tmp120 ;
16363  unsigned long __cil_tmp121 ;
16364  u8 *__cil_tmp122 ;
16365  u8 __cil_tmp123 ;
16366  int __cil_tmp124 ;
16367  int __cil_tmp125 ;
16368  unsigned long __cil_tmp126 ;
16369  char *__cil_tmp127 ;
16370  unsigned long __cil_tmp128 ;
16371  u8 *__cil_tmp129 ;
16372  u8 __cil_tmp130 ;
16373  int __cil_tmp131 ;
16374  int __cil_tmp132 ;
16375  unsigned long __cil_tmp133 ;
16376  char *__cil_tmp134 ;
16377  unsigned long __cil_tmp135 ;
16378  char *__cil_tmp136 ;
16379  unsigned long __cil_tmp137 ;
16380  char *__cil_tmp138 ;
16381  u8 __cil_tmp139 ;
16382  int __cil_tmp140 ;
16383  unsigned long __cil_tmp141 ;
16384  char *__cil_tmp142 ;
16385  u8 __cil_tmp143 ;
16386  int __cil_tmp144 ;
16387  u8 __cil_tmp145 ;
16388  unsigned int __cil_tmp146 ;
16389  u8 __cil_tmp147 ;
16390  unsigned int __cil_tmp148 ;
16391  unsigned int __cil_tmp149 ;
16392  unsigned long __cil_tmp150 ;
16393  char *__cil_tmp151 ;
16394  unsigned long __cil_tmp152 ;
16395  char *__cil_tmp153 ;
16396  u8 __cil_tmp154 ;
16397  int __cil_tmp155 ;
16398  unsigned long __cil_tmp156 ;
16399  char *__cil_tmp157 ;
16400  u8 __cil_tmp158 ;
16401  int __cil_tmp159 ;
16402  u8 __cil_tmp160 ;
16403  int __cil_tmp161 ;
16404  u8 __cil_tmp162 ;
16405  int __cil_tmp163 ;
16406  unsigned long __cil_tmp164 ;
16407  char *__cil_tmp165 ;
16408  unsigned long __cil_tmp166 ;
16409  char *__cil_tmp167 ;
16410  unsigned long __cil_tmp168 ;
16411  char *__cil_tmp169 ;
16412  unsigned long __cil_tmp170 ;
16413  char *__cil_tmp171 ;
16414  u8 __cil_tmp172 ;
16415  int __cil_tmp173 ;
16416  u8 __cil_tmp174 ;
16417  int __cil_tmp175 ;
16418  unsigned long __cil_tmp176 ;
16419  char *__cil_tmp177 ;
16420  unsigned long __cil_tmp178 ;
16421  char *__cil_tmp179 ;
16422  unsigned long __cil_tmp180 ;
16423  char *__cil_tmp181 ;
16424  u8 __cil_tmp182 ;
16425  int __cil_tmp183 ;
16426  u8 __cil_tmp184 ;
16427  int __cil_tmp185 ;
16428  unsigned long __cil_tmp186 ;
16429  char *__cil_tmp187 ;
16430  unsigned long __cil_tmp188 ;
16431  char *__cil_tmp189 ;
16432  int __cil_tmp190 ;
16433  void *__cil_tmp191 ;
16434  size_t __cil_tmp192 ;
16435  void *__cil_tmp193 ;
16436
16437  {
16438  {
16439#line 2896
16440  len = 0;
16441#line 2899
16442  tmp = make_local_pdev(adapter, & pdev);
16443  }
16444#line 2899
16445  if (tmp != 0) {
16446#line 2900
16447    return (len);
16448  } else {
16449
16450  }
16451  {
16452#line 2903
16453  tmp___0 = mega_allocate_inquiry(& dma_handle, pdev);
16454#line 2903
16455  inquiry = (caddr_t )tmp___0;
16456  }
16457  {
16458#line 2903
16459  __cil_tmp49 = (caddr_t )0;
16460#line 2903
16461  __cil_tmp50 = (unsigned long )__cil_tmp49;
16462#line 2903
16463  __cil_tmp51 = (unsigned long )inquiry;
16464#line 2903
16465  if (__cil_tmp51 == __cil_tmp50) {
16466    {
16467#line 2904
16468    free_local_pdev(pdev);
16469    }
16470#line 2905
16471    return (len);
16472  } else {
16473
16474  }
16475  }
16476  {
16477#line 2908
16478  tmp___1 = mega_adapinq(adapter, dma_handle);
16479  }
16480#line 2908
16481  if (tmp___1 != 0) {
16482    {
16483#line 2910
16484    len = sprintf(page, "Adapter inquiry failed.\n");
16485#line 2912
16486    printk("<4>megaraid: inquiry failed.\n");
16487#line 2914
16488    __cil_tmp52 = (void *)inquiry;
16489#line 2914
16490    mega_free_inquiry(__cil_tmp52, dma_handle, pdev);
16491#line 2916
16492    free_local_pdev(pdev);
16493    }
16494#line 2918
16495    return (len);
16496  } else {
16497
16498  }
16499  {
16500#line 2921
16501  __cil_tmp53 = (void *)(& mc);
16502#line 2921
16503  memset(__cil_tmp53, 0, 18UL);
16504  }
16505  {
16506#line 2923
16507  __cil_tmp54 = adapter->flag;
16508#line 2923
16509  __cil_tmp55 = (long )__cil_tmp54;
16510#line 2923
16511  __cil_tmp56 = __cil_tmp55 & 134217728L;
16512#line 2923
16513  if (__cil_tmp56 != 0L) {
16514#line 2924
16515    array_sz = 23964U;
16516#line 2926
16517    __cil_tmp57 = (mega_inquiry3 *)inquiry;
16518#line 2926
16519    __cil_tmp58 = & __cil_tmp57->ldrv_state;
16520#line 2926
16521    rdrv_state = (u8 *)__cil_tmp58;
16522#line 2928
16523    __cil_tmp59 = (mega_inquiry3 *)inquiry;
16524#line 2928
16525    __cil_tmp60 = __cil_tmp59->num_ldrv;
16526#line 2928
16527    num_ldrv = (int )__cil_tmp60;
16528  } else {
16529#line 2931
16530    array_sz = 2204U;
16531#line 2933
16532    __cil_tmp61 = (mraid_ext_inquiry *)inquiry;
16533#line 2933
16534    __cil_tmp62 = & __cil_tmp61->raid_inq.logdrv_info.ldrv_state;
16535#line 2933
16536    rdrv_state = (u8 *)__cil_tmp62;
16537#line 2936
16538    __cil_tmp63 = (mraid_ext_inquiry *)inquiry;
16539#line 2936
16540    __cil_tmp64 = __cil_tmp63->raid_inq.logdrv_info.num_ldrv;
16541#line 2936
16542    num_ldrv = (int )__cil_tmp64;
16543  }
16544  }
16545  {
16546#line 2940
16547  __cil_tmp65 = (size_t )array_sz;
16548#line 2940
16549  tmp___2 = pci_alloc_consistent(pdev, __cil_tmp65, & disk_array_dma_handle);
16550#line 2940
16551  disk_array = (char *)tmp___2;
16552  }
16553  {
16554#line 2943
16555  __cil_tmp66 = (char *)0;
16556#line 2943
16557  __cil_tmp67 = (unsigned long )__cil_tmp66;
16558#line 2943
16559  __cil_tmp68 = (unsigned long )disk_array;
16560#line 2943
16561  if (__cil_tmp68 == __cil_tmp67) {
16562    {
16563#line 2944
16564    len = sprintf(page, "memory not available.\n");
16565#line 2946
16566    __cil_tmp69 = (void *)inquiry;
16567#line 2946
16568    mega_free_inquiry(__cil_tmp69, dma_handle, pdev);
16569#line 2948
16570    free_local_pdev(pdev);
16571    }
16572#line 2950
16573    return (len);
16574  } else {
16575
16576  }
16577  }
16578#line 2953
16579  mc.xferaddr = (unsigned int )disk_array_dma_handle;
16580  {
16581#line 2955
16582  __cil_tmp70 = adapter->flag;
16583#line 2955
16584  __cil_tmp71 = (long )__cil_tmp70;
16585#line 2955
16586  __cil_tmp72 = __cil_tmp71 & 134217728L;
16587#line 2955
16588  if (__cil_tmp72 != 0L) {
16589    {
16590#line 2956
16591    mc.cmd = (u8 )161U;
16592#line 2957
16593    mc.opcode = (u8 )4U;
16594#line 2959
16595    __cil_tmp73 = (mega_passthru *)0;
16596#line 2959
16597    tmp___3 = mega_internal_command(adapter, & mc, __cil_tmp73);
16598    }
16599#line 2959
16600    if (tmp___3 != 0) {
16601      {
16602#line 2961
16603      len = sprintf(page, "40LD read config failed.\n");
16604#line 2963
16605      __cil_tmp74 = (void *)inquiry;
16606#line 2963
16607      mega_free_inquiry(__cil_tmp74, dma_handle, pdev);
16608#line 2965
16609      __cil_tmp75 = (size_t )array_sz;
16610#line 2965
16611      __cil_tmp76 = (void *)disk_array;
16612#line 2965
16613      pci_free_consistent(pdev, __cil_tmp75, __cil_tmp76, disk_array_dma_handle);
16614#line 2968
16615      free_local_pdev(pdev);
16616      }
16617#line 2970
16618      return (len);
16619    } else {
16620
16621    }
16622  } else {
16623    {
16624#line 2975
16625    mc.cmd = (u8 )103U;
16626#line 2977
16627    __cil_tmp77 = (mega_passthru *)0;
16628#line 2977
16629    tmp___5 = mega_internal_command(adapter, & mc, __cil_tmp77);
16630    }
16631#line 2977
16632    if (tmp___5 != 0) {
16633      {
16634#line 2979
16635      mc.cmd = (u8 )7U;
16636#line 2981
16637      __cil_tmp78 = (mega_passthru *)0;
16638#line 2981
16639      tmp___4 = mega_internal_command(adapter, & mc, __cil_tmp78);
16640      }
16641#line 2981
16642      if (tmp___4 != 0) {
16643        {
16644#line 2984
16645        len = sprintf(page, "8LD read config failed.\n");
16646#line 2987
16647        __cil_tmp79 = (void *)inquiry;
16648#line 2987
16649        mega_free_inquiry(__cil_tmp79, dma_handle, pdev);
16650#line 2989
16651        __cil_tmp80 = (size_t )array_sz;
16652#line 2989
16653        __cil_tmp81 = (void *)disk_array;
16654#line 2989
16655        pci_free_consistent(pdev, __cil_tmp80, __cil_tmp81, disk_array_dma_handle);
16656#line 2993
16657        free_local_pdev(pdev);
16658        }
16659#line 2995
16660        return (len);
16661      } else {
16662
16663      }
16664    } else {
16665
16666    }
16667  }
16668  }
16669#line 3000
16670  i = start;
16671#line 3000
16672  goto ldv_32500;
16673  ldv_32499: ;
16674  {
16675#line 3002
16676  __cil_tmp82 = adapter->flag;
16677#line 3002
16678  __cil_tmp83 = (long )__cil_tmp82;
16679#line 3002
16680  __cil_tmp84 = __cil_tmp83 & 134217728L;
16681#line 3002
16682  if (__cil_tmp84 != 0L) {
16683#line 3003
16684    __cil_tmp85 = (disk_array_40ld *)disk_array;
16685#line 3003
16686    lparam = & __cil_tmp85->ldrv[i].lparam;
16687  } else {
16688#line 3007
16689    __cil_tmp86 = (disk_array_8ld *)disk_array;
16690#line 3007
16691    lparam = & __cil_tmp86->ldrv[i].lparam;
16692  }
16693  }
16694  {
16695#line 3015
16696  __cil_tmp87 = len + 240;
16697#line 3015
16698  __cil_tmp88 = (unsigned int )__cil_tmp87;
16699#line 3015
16700  if (__cil_tmp88 > 4095U) {
16701#line 3015
16702    goto ldv_32482;
16703  } else {
16704
16705  }
16706  }
16707  {
16708#line 3017
16709  __cil_tmp89 = (unsigned long )len;
16710#line 3017
16711  __cil_tmp90 = page + __cil_tmp89;
16712#line 3017
16713  tmp___6 = sprintf(__cil_tmp90, "Logical drive:%2d:, ", i);
16714#line 3017
16715  len = tmp___6 + len;
16716  }
16717  {
16718#line 3020
16719  __cil_tmp91 = (unsigned long )i;
16720#line 3020
16721  __cil_tmp92 = rdrv_state + __cil_tmp91;
16722#line 3020
16723  __cil_tmp93 = *__cil_tmp92;
16724#line 3020
16725  __cil_tmp94 = (int )__cil_tmp93;
16726#line 3020
16727  __cil_tmp95 = __cil_tmp94 & 15;
16728#line 3020
16729  if (__cil_tmp95 == 0) {
16730#line 3020
16731    goto case_0;
16732  } else {
16733    {
16734#line 3024
16735    __cil_tmp96 = (unsigned long )i;
16736#line 3024
16737    __cil_tmp97 = rdrv_state + __cil_tmp96;
16738#line 3024
16739    __cil_tmp98 = *__cil_tmp97;
16740#line 3024
16741    __cil_tmp99 = (int )__cil_tmp98;
16742#line 3024
16743    __cil_tmp100 = __cil_tmp99 & 15;
16744#line 3024
16745    if (__cil_tmp100 == 1) {
16746#line 3024
16747      goto case_1;
16748    } else {
16749      {
16750#line 3028
16751      __cil_tmp101 = (unsigned long )i;
16752#line 3028
16753      __cil_tmp102 = rdrv_state + __cil_tmp101;
16754#line 3028
16755      __cil_tmp103 = *__cil_tmp102;
16756#line 3028
16757      __cil_tmp104 = (int )__cil_tmp103;
16758#line 3028
16759      __cil_tmp105 = __cil_tmp104 & 15;
16760#line 3028
16761      if (__cil_tmp105 == 2) {
16762#line 3028
16763        goto case_2;
16764      } else {
16765        {
16766#line 3032
16767        __cil_tmp106 = (unsigned long )i;
16768#line 3032
16769        __cil_tmp107 = rdrv_state + __cil_tmp106;
16770#line 3032
16771        __cil_tmp108 = *__cil_tmp107;
16772#line 3032
16773        __cil_tmp109 = (int )__cil_tmp108;
16774#line 3032
16775        __cil_tmp110 = __cil_tmp109 & 15;
16776#line 3032
16777        if (__cil_tmp110 == 3) {
16778#line 3032
16779          goto case_3;
16780        } else {
16781#line 3036
16782          goto switch_default;
16783#line 3019
16784          if (0) {
16785            case_0: 
16786            {
16787#line 3021
16788            __cil_tmp111 = (unsigned long )len;
16789#line 3021
16790            __cil_tmp112 = page + __cil_tmp111;
16791#line 3021
16792            tmp___7 = sprintf(__cil_tmp112, "state: offline");
16793#line 3021
16794            len = tmp___7 + len;
16795            }
16796#line 3022
16797            goto ldv_32484;
16798            case_1: 
16799            {
16800#line 3025
16801            __cil_tmp113 = (unsigned long )len;
16802#line 3025
16803            __cil_tmp114 = page + __cil_tmp113;
16804#line 3025
16805            tmp___8 = sprintf(__cil_tmp114, "state: degraded");
16806#line 3025
16807            len = tmp___8 + len;
16808            }
16809#line 3026
16810            goto ldv_32484;
16811            case_2: 
16812            {
16813#line 3029
16814            __cil_tmp115 = (unsigned long )len;
16815#line 3029
16816            __cil_tmp116 = page + __cil_tmp115;
16817#line 3029
16818            tmp___9 = sprintf(__cil_tmp116, "state: optimal");
16819#line 3029
16820            len = tmp___9 + len;
16821            }
16822#line 3030
16823            goto ldv_32484;
16824            case_3: 
16825            {
16826#line 3033
16827            __cil_tmp117 = (unsigned long )len;
16828#line 3033
16829            __cil_tmp118 = page + __cil_tmp117;
16830#line 3033
16831            tmp___10 = sprintf(__cil_tmp118, "state: deleted");
16832#line 3033
16833            len = tmp___10 + len;
16834            }
16835#line 3034
16836            goto ldv_32484;
16837            switch_default: 
16838            {
16839#line 3037
16840            __cil_tmp119 = (unsigned long )len;
16841#line 3037
16842            __cil_tmp120 = page + __cil_tmp119;
16843#line 3037
16844            tmp___11 = sprintf(__cil_tmp120, "state: unknown");
16845#line 3037
16846            len = tmp___11 + len;
16847            }
16848#line 3038
16849            goto ldv_32484;
16850          } else {
16851
16852          }
16853        }
16854        }
16855      }
16856      }
16857    }
16858    }
16859  }
16860  }
16861  ldv_32484: ;
16862  {
16863#line 3045
16864  __cil_tmp121 = (unsigned long )i;
16865#line 3045
16866  __cil_tmp122 = rdrv_state + __cil_tmp121;
16867#line 3045
16868  __cil_tmp123 = *__cil_tmp122;
16869#line 3045
16870  __cil_tmp124 = (int )__cil_tmp123;
16871#line 3045
16872  __cil_tmp125 = __cil_tmp124 & 240;
16873#line 3045
16874  if (__cil_tmp125 == 32) {
16875    {
16876#line 3046
16877    __cil_tmp126 = (unsigned long )len;
16878#line 3046
16879    __cil_tmp127 = page + __cil_tmp126;
16880#line 3046
16881    tmp___12 = sprintf(__cil_tmp127, ", check-consistency in progress");
16882#line 3046
16883    len = tmp___12 + len;
16884    }
16885  } else {
16886    {
16887#line 3049
16888    __cil_tmp128 = (unsigned long )i;
16889#line 3049
16890    __cil_tmp129 = rdrv_state + __cil_tmp128;
16891#line 3049
16892    __cil_tmp130 = *__cil_tmp129;
16893#line 3049
16894    __cil_tmp131 = (int )__cil_tmp130;
16895#line 3049
16896    __cil_tmp132 = __cil_tmp131 & 240;
16897#line 3049
16898    if (__cil_tmp132 == 16) {
16899      {
16900#line 3050
16901      __cil_tmp133 = (unsigned long )len;
16902#line 3050
16903      __cil_tmp134 = page + __cil_tmp133;
16904#line 3050
16905      tmp___13 = sprintf(__cil_tmp134, ", initialization in progress");
16906#line 3050
16907      len = tmp___13 + len;
16908      }
16909    } else {
16910
16911    }
16912    }
16913  }
16914  }
16915  {
16916#line 3054
16917  __cil_tmp135 = (unsigned long )len;
16918#line 3054
16919  __cil_tmp136 = page + __cil_tmp135;
16920#line 3054
16921  tmp___14 = sprintf(__cil_tmp136, "\n");
16922#line 3054
16923  len = tmp___14 + len;
16924#line 3056
16925  __cil_tmp137 = (unsigned long )len;
16926#line 3056
16927  __cil_tmp138 = page + __cil_tmp137;
16928#line 3056
16929  __cil_tmp139 = lparam->span_depth;
16930#line 3056
16931  __cil_tmp140 = (int )__cil_tmp139;
16932#line 3056
16933  tmp___15 = sprintf(__cil_tmp138, "Span depth:%3d, ", __cil_tmp140);
16934#line 3056
16935  len = tmp___15 + len;
16936#line 3059
16937  __cil_tmp141 = (unsigned long )len;
16938#line 3059
16939  __cil_tmp142 = page + __cil_tmp141;
16940#line 3059
16941  __cil_tmp143 = lparam->level;
16942#line 3059
16943  __cil_tmp144 = (int )__cil_tmp143;
16944#line 3059
16945  tmp___16 = sprintf(__cil_tmp142, "RAID level:%3d, ", __cil_tmp144);
16946#line 3059
16947  len = tmp___16 + len;
16948  }
16949  {
16950#line 3062
16951  __cil_tmp145 = lparam->stripe_sz;
16952#line 3062
16953  __cil_tmp146 = (unsigned int )__cil_tmp145;
16954#line 3062
16955  if (__cil_tmp146 != 0U) {
16956#line 3062
16957    __cil_tmp147 = lparam->stripe_sz;
16958#line 3062
16959    __cil_tmp148 = (unsigned int )__cil_tmp147;
16960#line 3062
16961    __cil_tmp149 = __cil_tmp148 / 2U;
16962#line 3062
16963    tmp___17 = (int )__cil_tmp149;
16964  } else {
16965#line 3062
16966    tmp___17 = 128;
16967  }
16968  }
16969  {
16970#line 3062
16971  __cil_tmp150 = (unsigned long )len;
16972#line 3062
16973  __cil_tmp151 = page + __cil_tmp150;
16974#line 3062
16975  tmp___18 = sprintf(__cil_tmp151, "Stripe size:%3d, ", tmp___17);
16976#line 3062
16977  len = tmp___18 + len;
16978#line 3065
16979  __cil_tmp152 = (unsigned long )len;
16980#line 3065
16981  __cil_tmp153 = page + __cil_tmp152;
16982#line 3065
16983  __cil_tmp154 = lparam->row_size;
16984#line 3065
16985  __cil_tmp155 = (int )__cil_tmp154;
16986#line 3065
16987  tmp___19 = sprintf(__cil_tmp153, "Row size:%3d\n", __cil_tmp155);
16988#line 3065
16989  len = tmp___19 + len;
16990#line 3069
16991  __cil_tmp156 = (unsigned long )len;
16992#line 3069
16993  __cil_tmp157 = page + __cil_tmp156;
16994#line 3069
16995  tmp___20 = sprintf(__cil_tmp157, "Read Policy: ");
16996#line 3069
16997  len = tmp___20 + len;
16998  }
16999  {
17000#line 3073
17001  __cil_tmp158 = lparam->read_ahead;
17002#line 3073
17003  __cil_tmp159 = (int )__cil_tmp158;
17004#line 3073
17005  if (__cil_tmp159 == 0) {
17006#line 3073
17007    goto case_0___0;
17008  } else {
17009    {
17010#line 3077
17011    __cil_tmp160 = lparam->read_ahead;
17012#line 3077
17013    __cil_tmp161 = (int )__cil_tmp160;
17014#line 3077
17015    if (__cil_tmp161 == 1) {
17016#line 3077
17017      goto case_1___0;
17018    } else {
17019      {
17020#line 3081
17021      __cil_tmp162 = lparam->read_ahead;
17022#line 3081
17023      __cil_tmp163 = (int )__cil_tmp162;
17024#line 3081
17025      if (__cil_tmp163 == 2) {
17026#line 3081
17027        goto case_2___0;
17028      } else
17029#line 3071
17030      if (0) {
17031        case_0___0: 
17032        {
17033#line 3074
17034        __cil_tmp164 = (unsigned long )len;
17035#line 3074
17036        __cil_tmp165 = page + __cil_tmp164;
17037#line 3074
17038        tmp___21 = sprintf(__cil_tmp165, "No read ahead, ");
17039#line 3074
17040        len = tmp___21 + len;
17041        }
17042#line 3075
17043        goto ldv_32490;
17044        case_1___0: 
17045        {
17046#line 3078
17047        __cil_tmp166 = (unsigned long )len;
17048#line 3078
17049        __cil_tmp167 = page + __cil_tmp166;
17050#line 3078
17051        tmp___22 = sprintf(__cil_tmp167, "Read ahead, ");
17052#line 3078
17053        len = tmp___22 + len;
17054        }
17055#line 3079
17056        goto ldv_32490;
17057        case_2___0: 
17058        {
17059#line 3082
17060        __cil_tmp168 = (unsigned long )len;
17061#line 3082
17062        __cil_tmp169 = page + __cil_tmp168;
17063#line 3082
17064        tmp___23 = sprintf(__cil_tmp169, "Adaptive, ");
17065#line 3082
17066        len = tmp___23 + len;
17067        }
17068#line 3083
17069        goto ldv_32490;
17070      } else {
17071
17072      }
17073      }
17074    }
17075    }
17076  }
17077  }
17078  ldv_32490: 
17079  {
17080#line 3087
17081  __cil_tmp170 = (unsigned long )len;
17082#line 3087
17083  __cil_tmp171 = page + __cil_tmp170;
17084#line 3087
17085  tmp___24 = sprintf(__cil_tmp171, "Write Policy: ");
17086#line 3087
17087  len = tmp___24 + len;
17088  }
17089  {
17090#line 3091
17091  __cil_tmp172 = lparam->write_mode;
17092#line 3091
17093  __cil_tmp173 = (int )__cil_tmp172;
17094#line 3091
17095  if (__cil_tmp173 == 0) {
17096#line 3091
17097    goto case_0___1;
17098  } else {
17099    {
17100#line 3095
17101    __cil_tmp174 = lparam->write_mode;
17102#line 3095
17103    __cil_tmp175 = (int )__cil_tmp174;
17104#line 3095
17105    if (__cil_tmp175 == 1) {
17106#line 3095
17107      goto case_1___1;
17108    } else
17109#line 3089
17110    if (0) {
17111      case_0___1: 
17112      {
17113#line 3092
17114      __cil_tmp176 = (unsigned long )len;
17115#line 3092
17116      __cil_tmp177 = page + __cil_tmp176;
17117#line 3092
17118      tmp___25 = sprintf(__cil_tmp177, "Write thru, ");
17119#line 3092
17120      len = tmp___25 + len;
17121      }
17122#line 3093
17123      goto ldv_32494;
17124      case_1___1: 
17125      {
17126#line 3096
17127      __cil_tmp178 = (unsigned long )len;
17128#line 3096
17129      __cil_tmp179 = page + __cil_tmp178;
17130#line 3096
17131      tmp___26 = sprintf(__cil_tmp179, "Write back, ");
17132#line 3096
17133      len = tmp___26 + len;
17134      }
17135#line 3097
17136      goto ldv_32494;
17137    } else {
17138
17139    }
17140    }
17141  }
17142  }
17143  ldv_32494: 
17144  {
17145#line 3100
17146  __cil_tmp180 = (unsigned long )len;
17147#line 3100
17148  __cil_tmp181 = page + __cil_tmp180;
17149#line 3100
17150  tmp___27 = sprintf(__cil_tmp181, "Cache Policy: ");
17151#line 3100
17152  len = tmp___27 + len;
17153  }
17154  {
17155#line 3104
17156  __cil_tmp182 = lparam->direct_io;
17157#line 3104
17158  __cil_tmp183 = (int )__cil_tmp182;
17159#line 3104
17160  if (__cil_tmp183 == 0) {
17161#line 3104
17162    goto case_0___2;
17163  } else {
17164    {
17165#line 3108
17166    __cil_tmp184 = lparam->direct_io;
17167#line 3108
17168    __cil_tmp185 = (int )__cil_tmp184;
17169#line 3108
17170    if (__cil_tmp185 == 1) {
17171#line 3108
17172      goto case_1___2;
17173    } else
17174#line 3102
17175    if (0) {
17176      case_0___2: 
17177      {
17178#line 3105
17179      __cil_tmp186 = (unsigned long )len;
17180#line 3105
17181      __cil_tmp187 = page + __cil_tmp186;
17182#line 3105
17183      tmp___28 = sprintf(__cil_tmp187, "Cached IO\n\n");
17184#line 3105
17185      len = tmp___28 + len;
17186      }
17187#line 3106
17188      goto ldv_32497;
17189      case_1___2: 
17190      {
17191#line 3109
17192      __cil_tmp188 = (unsigned long )len;
17193#line 3109
17194      __cil_tmp189 = page + __cil_tmp188;
17195#line 3109
17196      tmp___29 = sprintf(__cil_tmp189, "Direct IO\n\n");
17197#line 3109
17198      len = tmp___29 + len;
17199      }
17200#line 3110
17201      goto ldv_32497;
17202    } else {
17203
17204    }
17205    }
17206  }
17207  }
17208  ldv_32497: 
17209#line 3000
17210  i = i + 1;
17211  ldv_32500: ;
17212  {
17213#line 3000
17214  __cil_tmp190 = end + 1;
17215#line 3000
17216  if (num_ldrv < __cil_tmp190) {
17217#line 3000
17218    tmp___30 = num_ldrv;
17219  } else {
17220#line 3000
17221    tmp___30 = end + 1;
17222  }
17223  }
17224#line 3000
17225  if (tmp___30 > i) {
17226#line 3001
17227    goto ldv_32499;
17228  } else {
17229#line 3003
17230    goto ldv_32482;
17231  }
17232  ldv_32482: 
17233  {
17234#line 3114
17235  __cil_tmp191 = (void *)inquiry;
17236#line 3114
17237  mega_free_inquiry(__cil_tmp191, dma_handle, pdev);
17238#line 3116
17239  __cil_tmp192 = (size_t )array_sz;
17240#line 3116
17241  __cil_tmp193 = (void *)disk_array;
17242#line 3116
17243  pci_free_consistent(pdev, __cil_tmp192, __cil_tmp193, disk_array_dma_handle);
17244#line 3119
17245  free_local_pdev(pdev);
17246  }
17247#line 3121
17248  return (len);
17249}
17250}
17251#line 3136 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
17252static int megaraid_biosparam(struct scsi_device *sdev , struct block_device *bdev ,
17253                              sector_t capacity , int *geom ) 
17254{ adapter_t *adapter ;
17255  unsigned char *bh ;
17256  int heads ;
17257  int sectors ;
17258  int cylinders ;
17259  int rval ;
17260  struct Scsi_Host *__cil_tmp11 ;
17261  unsigned long (*__cil_tmp12)[0U] ;
17262  unsigned int __cil_tmp13 ;
17263  int __cil_tmp14 ;
17264  int __cil_tmp15 ;
17265  int __cil_tmp16 ;
17266  int __cil_tmp17 ;
17267  sector_t __cil_tmp18 ;
17268  sector_t __cil_tmp19 ;
17269  int __cil_tmp20 ;
17270  sector_t __cil_tmp21 ;
17271  sector_t __cil_tmp22 ;
17272  int *__cil_tmp23 ;
17273  int *__cil_tmp24 ;
17274  unsigned char *__cil_tmp25 ;
17275  unsigned long __cil_tmp26 ;
17276  unsigned long __cil_tmp27 ;
17277  unsigned int *__cil_tmp28 ;
17278  unsigned int *__cil_tmp29 ;
17279  unsigned int *__cil_tmp30 ;
17280  unsigned int *__cil_tmp31 ;
17281  unsigned int *__cil_tmp32 ;
17282  void const   *__cil_tmp33 ;
17283  unsigned int __cil_tmp34 ;
17284  int __cil_tmp35 ;
17285  sector_t __cil_tmp36 ;
17286  sector_t __cil_tmp37 ;
17287  int __cil_tmp38 ;
17288  sector_t __cil_tmp39 ;
17289  sector_t __cil_tmp40 ;
17290  int *__cil_tmp41 ;
17291  int *__cil_tmp42 ;
17292
17293  {
17294#line 3147
17295  __cil_tmp11 = sdev->host;
17296#line 3147
17297  __cil_tmp12 = & __cil_tmp11->hostdata;
17298#line 3147
17299  adapter = (adapter_t *)__cil_tmp12;
17300  {
17301#line 3149
17302  __cil_tmp13 = sdev->channel;
17303#line 3149
17304  __cil_tmp14 = (int )__cil_tmp13;
17305#line 3149
17306  __cil_tmp15 = adapter->mega_ch_class;
17307#line 3149
17308  __cil_tmp16 = __cil_tmp15 >> __cil_tmp14;
17309#line 3149
17310  if (__cil_tmp16 & 1) {
17311#line 3151
17312    heads = 64;
17313#line 3152
17314    sectors = 32;
17315#line 3153
17316    __cil_tmp17 = heads * sectors;
17317#line 3153
17318    __cil_tmp18 = (sector_t )__cil_tmp17;
17319#line 3153
17320    __cil_tmp19 = capacity / __cil_tmp18;
17321#line 3153
17322    cylinders = (int )__cil_tmp19;
17323#line 3159
17324    if (capacity > 2097151UL) {
17325#line 3160
17326      heads = 255;
17327#line 3161
17328      sectors = 63;
17329#line 3162
17330      __cil_tmp20 = heads * sectors;
17331#line 3162
17332      __cil_tmp21 = (sector_t )__cil_tmp20;
17333#line 3162
17334      __cil_tmp22 = capacity / __cil_tmp21;
17335#line 3162
17336      cylinders = (int )__cil_tmp22;
17337    } else {
17338
17339    }
17340#line 3166
17341    *geom = heads;
17342#line 3167
17343    __cil_tmp23 = geom + 1UL;
17344#line 3167
17345    *__cil_tmp23 = sectors;
17346#line 3168
17347    __cil_tmp24 = geom + 2UL;
17348#line 3168
17349    *__cil_tmp24 = cylinders;
17350  } else {
17351    {
17352#line 3171
17353    bh = scsi_bios_ptable(bdev);
17354    }
17355    {
17356#line 3173
17357    __cil_tmp25 = (unsigned char *)0;
17358#line 3173
17359    __cil_tmp26 = (unsigned long )__cil_tmp25;
17360#line 3173
17361    __cil_tmp27 = (unsigned long )bh;
17362#line 3173
17363    if (__cil_tmp27 != __cil_tmp26) {
17364      {
17365#line 3174
17366      __cil_tmp28 = (unsigned int *)geom;
17367#line 3174
17368      __cil_tmp29 = __cil_tmp28 + 2U;
17369#line 3174
17370      __cil_tmp30 = (unsigned int *)geom;
17371#line 3174
17372      __cil_tmp31 = (unsigned int *)geom;
17373#line 3174
17374      __cil_tmp32 = __cil_tmp31 + 1U;
17375#line 3174
17376      rval = scsi_partsize(bh, capacity, __cil_tmp29, __cil_tmp30, __cil_tmp32);
17377#line 3176
17378      __cil_tmp33 = (void const   *)bh;
17379#line 3176
17380      kfree(__cil_tmp33);
17381      }
17382#line 3177
17383      if (rval != -1) {
17384#line 3178
17385        return (rval);
17386      } else {
17387
17388      }
17389    } else {
17390
17391    }
17392    }
17393    {
17394#line 3181
17395    __cil_tmp34 = sdev->channel;
17396#line 3181
17397    printk("<6>megaraid: invalid partition on this disk on channel %d\n", __cil_tmp34);
17398#line 3186
17399    heads = 64;
17400#line 3187
17401    sectors = 32;
17402#line 3188
17403    __cil_tmp35 = heads * sectors;
17404#line 3188
17405    __cil_tmp36 = (sector_t )__cil_tmp35;
17406#line 3188
17407    __cil_tmp37 = capacity / __cil_tmp36;
17408#line 3188
17409    cylinders = (int )__cil_tmp37;
17410    }
17411#line 3191
17412    if (capacity > 2097151UL) {
17413#line 3192
17414      heads = 255;
17415#line 3193
17416      sectors = 63;
17417#line 3194
17418      __cil_tmp38 = heads * sectors;
17419#line 3194
17420      __cil_tmp39 = (sector_t )__cil_tmp38;
17421#line 3194
17422      __cil_tmp40 = capacity / __cil_tmp39;
17423#line 3194
17424      cylinders = (int )__cil_tmp40;
17425    } else {
17426
17427    }
17428#line 3198
17429    *geom = heads;
17430#line 3199
17431    __cil_tmp41 = geom + 1UL;
17432#line 3199
17433    *__cil_tmp41 = sectors;
17434#line 3200
17435    __cil_tmp42 = geom + 2UL;
17436#line 3200
17437    *__cil_tmp42 = cylinders;
17438  }
17439  }
17440#line 3203
17441  return (0);
17442}
17443}
17444#line 3215 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
17445static int mega_init_scb(adapter_t *adapter ) 
17446{ scb_t *scb ;
17447  int i ;
17448  void *tmp ;
17449  void *tmp___0 ;
17450  void *tmp___1 ;
17451  unsigned long __cil_tmp7 ;
17452  scb_t *__cil_tmp8 ;
17453  u8 __cil_tmp9 ;
17454  int __cil_tmp10 ;
17455  unsigned long __cil_tmp11 ;
17456  scb_t *__cil_tmp12 ;
17457  struct pci_dev *__cil_tmp13 ;
17458  u8 __cil_tmp14 ;
17459  unsigned long __cil_tmp15 ;
17460  unsigned long __cil_tmp16 ;
17461  dma_addr_t *__cil_tmp17 ;
17462  mega_sgl64 *__cil_tmp18 ;
17463  mega_sglist *__cil_tmp19 ;
17464  unsigned long __cil_tmp20 ;
17465  mega_sglist *__cil_tmp21 ;
17466  unsigned long __cil_tmp22 ;
17467  struct pci_dev *__cil_tmp23 ;
17468  dma_addr_t *__cil_tmp24 ;
17469  mega_passthru *__cil_tmp25 ;
17470  unsigned long __cil_tmp26 ;
17471  mega_passthru *__cil_tmp27 ;
17472  unsigned long __cil_tmp28 ;
17473  struct pci_dev *__cil_tmp29 ;
17474  dma_addr_t *__cil_tmp30 ;
17475  mega_ext_passthru *__cil_tmp31 ;
17476  unsigned long __cil_tmp32 ;
17477  mega_ext_passthru *__cil_tmp33 ;
17478  unsigned long __cil_tmp34 ;
17479  struct list_head *__cil_tmp35 ;
17480  struct list_head *__cil_tmp36 ;
17481  u8 __cil_tmp37 ;
17482  int __cil_tmp38 ;
17483
17484  {
17485#line 3220
17486  i = 0;
17487#line 3220
17488  goto ldv_32519;
17489  ldv_32518: 
17490#line 3222
17491  __cil_tmp7 = (unsigned long )i;
17492#line 3222
17493  __cil_tmp8 = adapter->scb_list;
17494#line 3222
17495  scb = __cil_tmp8 + __cil_tmp7;
17496#line 3224
17497  scb->sgl64 = (mega_sgl64 *)0;
17498#line 3225
17499  scb->sgl = (mega_sglist *)0;
17500#line 3226
17501  scb->pthru = (mega_passthru *)0;
17502#line 3227
17503  scb->epthru = (mega_ext_passthru *)0;
17504#line 3220
17505  i = i + 1;
17506  ldv_32519: ;
17507  {
17508#line 3220
17509  __cil_tmp9 = adapter->max_cmds;
17510#line 3220
17511  __cil_tmp10 = (int )__cil_tmp9;
17512#line 3220
17513  if (__cil_tmp10 > i) {
17514#line 3221
17515    goto ldv_32518;
17516  } else {
17517#line 3223
17518    goto ldv_32520;
17519  }
17520  }
17521  ldv_32520: 
17522#line 3230
17523  i = 0;
17524#line 3230
17525  goto ldv_32522;
17526  ldv_32521: 
17527  {
17528#line 3232
17529  __cil_tmp11 = (unsigned long )i;
17530#line 3232
17531  __cil_tmp12 = adapter->scb_list;
17532#line 3232
17533  scb = __cil_tmp12 + __cil_tmp11;
17534#line 3234
17535  scb->idx = i;
17536#line 3236
17537  __cil_tmp13 = adapter->dev;
17538#line 3236
17539  __cil_tmp14 = adapter->sglen;
17540#line 3236
17541  __cil_tmp15 = (unsigned long )__cil_tmp14;
17542#line 3236
17543  __cil_tmp16 = __cil_tmp15 * 12UL;
17544#line 3236
17545  __cil_tmp17 = & scb->sgl_dma_addr;
17546#line 3236
17547  tmp = pci_alloc_consistent(__cil_tmp13, __cil_tmp16, __cil_tmp17);
17548#line 3236
17549  scb->sgl64 = (mega_sgl64 *)tmp;
17550#line 3240
17551  __cil_tmp18 = scb->sgl64;
17552#line 3240
17553  scb->sgl = (mega_sglist *)__cil_tmp18;
17554  }
17555  {
17556#line 3242
17557  __cil_tmp19 = (mega_sglist *)0;
17558#line 3242
17559  __cil_tmp20 = (unsigned long )__cil_tmp19;
17560#line 3242
17561  __cil_tmp21 = scb->sgl;
17562#line 3242
17563  __cil_tmp22 = (unsigned long )__cil_tmp21;
17564#line 3242
17565  if (__cil_tmp22 == __cil_tmp20) {
17566    {
17567#line 3243
17568    printk("<4>RAID: Can\'t allocate sglist.\n");
17569#line 3244
17570    mega_free_sgl(adapter);
17571    }
17572#line 3245
17573    return (-1);
17574  } else {
17575
17576  }
17577  }
17578  {
17579#line 3248
17580  __cil_tmp23 = adapter->dev;
17581#line 3248
17582  __cil_tmp24 = & scb->pthru_dma_addr;
17583#line 3248
17584  tmp___0 = pci_alloc_consistent(__cil_tmp23, 60UL, __cil_tmp24);
17585#line 3248
17586  scb->pthru = (mega_passthru *)tmp___0;
17587  }
17588  {
17589#line 3252
17590  __cil_tmp25 = (mega_passthru *)0;
17591#line 3252
17592  __cil_tmp26 = (unsigned long )__cil_tmp25;
17593#line 3252
17594  __cil_tmp27 = scb->pthru;
17595#line 3252
17596  __cil_tmp28 = (unsigned long )__cil_tmp27;
17597#line 3252
17598  if (__cil_tmp28 == __cil_tmp26) {
17599    {
17600#line 3253
17601    printk("<4>RAID: Can\'t allocate passthru.\n");
17602#line 3254
17603    mega_free_sgl(adapter);
17604    }
17605#line 3255
17606    return (-1);
17607  } else {
17608
17609  }
17610  }
17611  {
17612#line 3258
17613  __cil_tmp29 = adapter->dev;
17614#line 3258
17615  __cil_tmp30 = & scb->epthru_dma_addr;
17616#line 3258
17617  tmp___1 = pci_alloc_consistent(__cil_tmp29, 68UL, __cil_tmp30);
17618#line 3258
17619  scb->epthru = (mega_ext_passthru *)tmp___1;
17620  }
17621  {
17622#line 3262
17623  __cil_tmp31 = (mega_ext_passthru *)0;
17624#line 3262
17625  __cil_tmp32 = (unsigned long )__cil_tmp31;
17626#line 3262
17627  __cil_tmp33 = scb->epthru;
17628#line 3262
17629  __cil_tmp34 = (unsigned long )__cil_tmp33;
17630#line 3262
17631  if (__cil_tmp34 == __cil_tmp32) {
17632    {
17633#line 3263
17634    printk("<4>Can\'t allocate extended passthru.\n");
17635#line 3265
17636    mega_free_sgl(adapter);
17637    }
17638#line 3266
17639    return (-1);
17640  } else {
17641
17642  }
17643  }
17644  {
17645#line 3270
17646  scb->dma_type = 65535U;
17647#line 3277
17648  scb->state = 0U;
17649#line 3278
17650  scb->cmd = (Scsi_Cmnd *)0;
17651#line 3279
17652  __cil_tmp35 = & scb->list;
17653#line 3279
17654  __cil_tmp36 = & adapter->free_list;
17655#line 3279
17656  list_add(__cil_tmp35, __cil_tmp36);
17657#line 3230
17658  i = i + 1;
17659  }
17660  ldv_32522: ;
17661  {
17662#line 3230
17663  __cil_tmp37 = adapter->max_cmds;
17664#line 3230
17665  __cil_tmp38 = (int )__cil_tmp37;
17666#line 3230
17667  if (__cil_tmp38 > i) {
17668#line 3231
17669    goto ldv_32521;
17670  } else {
17671#line 3233
17672    goto ldv_32523;
17673  }
17674  }
17675  ldv_32523: ;
17676#line 3282
17677  return (0);
17678}
17679}
17680#line 3295 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
17681static int megadev_open(struct inode *inode , struct file *filep ) 
17682{ bool tmp ;
17683  int tmp___0 ;
17684
17685  {
17686  {
17687#line 3300
17688  tmp = capable(21);
17689  }
17690#line 3300
17691  if (tmp) {
17692#line 3300
17693    tmp___0 = 0;
17694  } else {
17695#line 3300
17696    tmp___0 = 1;
17697  }
17698#line 3300
17699  if (tmp___0) {
17700#line 3300
17701    return (-13);
17702  } else {
17703
17704  }
17705#line 3302
17706  return (0);
17707}
17708}
17709#line 3319 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
17710static int megadev_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) 
17711{ adapter_t *adapter ;
17712  nitioctl_t uioc ;
17713  int adapno ;
17714  int rval ;
17715  mega_passthru *upthru ;
17716  mega_passthru *pthru ;
17717  dma_addr_t pthru_dma_hndl ;
17718  void *data ;
17719  dma_addr_t data_dma_hndl ;
17720  megacmd_t mc ;
17721  megastat_t *ustats ;
17722  int num_ldrv ;
17723  u32 uxferaddr ;
17724  struct pci_dev *pdev ;
17725  int __ret_pu ;
17726  u32 __pu_val ;
17727  int __ret_pu___0 ;
17728  u32 __pu_val___0 ;
17729  int tmp ;
17730  int tmp___0 ;
17731  void *tmp___1 ;
17732  unsigned long tmp___2 ;
17733  unsigned long tmp___3 ;
17734  int tmp___4 ;
17735  int tmp___5 ;
17736  unsigned long tmp___6 ;
17737  size_t __len ;
17738  void *__ret ;
17739  int tmp___7 ;
17740  unsigned int __cil_tmp33 ;
17741  unsigned int __cil_tmp34 ;
17742  void *__cil_tmp35 ;
17743  void *__cil_tmp36 ;
17744  int __cil_tmp37 ;
17745  int __cil_tmp38 ;
17746  int __cil_tmp39 ;
17747  int __cil_tmp40 ;
17748  unsigned int __cil_tmp41 ;
17749  unsigned long __cil_tmp42 ;
17750  void const   *__cil_tmp43 ;
17751  void const   *__cil_tmp44 ;
17752  unsigned int __cil_tmp45 ;
17753  unsigned int __cil_tmp46 ;
17754  unsigned int __cil_tmp47 ;
17755  int __cil_tmp48 ;
17756  int __cil_tmp49 ;
17757  void *__cil_tmp50 ;
17758  void *__cil_tmp51 ;
17759  unsigned int __cil_tmp52 ;
17760  unsigned int __cil_tmp53 ;
17761  unsigned int __cil_tmp54 ;
17762  mega_passthru *__cil_tmp55 ;
17763  unsigned long __cil_tmp56 ;
17764  unsigned long __cil_tmp57 ;
17765  u8 (*__cil_tmp58)[18U] ;
17766  megacmd_t *__cil_tmp59 ;
17767  u32 __cil_tmp60 ;
17768  unsigned long __cil_tmp61 ;
17769  void *__cil_tmp62 ;
17770  void const   *__cil_tmp63 ;
17771  void *__cil_tmp64 ;
17772  u32 __cil_tmp65 ;
17773  u32 __cil_tmp66 ;
17774  size_t __cil_tmp67 ;
17775  void *__cil_tmp68 ;
17776  unsigned long __cil_tmp69 ;
17777  unsigned long __cil_tmp70 ;
17778  void *__cil_tmp71 ;
17779  u32 __cil_tmp72 ;
17780  unsigned int __cil_tmp73 ;
17781  unsigned long __cil_tmp74 ;
17782  void const   *__cil_tmp75 ;
17783  u32 __cil_tmp76 ;
17784  unsigned long __cil_tmp77 ;
17785  void *__cil_tmp78 ;
17786  void *__cil_tmp79 ;
17787  u32 __cil_tmp80 ;
17788  int __cil_tmp81 ;
17789  unsigned long __cil_tmp82 ;
17790  void *__cil_tmp83 ;
17791  void const   *__cil_tmp84 ;
17792  u32 __cil_tmp85 ;
17793  u8 (*__cil_tmp86)[32U] ;
17794  void *__cil_tmp87 ;
17795  u8 (*__cil_tmp88)[32U] ;
17796  void const   *__cil_tmp89 ;
17797  u32 __cil_tmp90 ;
17798  u32 __cil_tmp91 ;
17799  size_t __cil_tmp92 ;
17800  void *__cil_tmp93 ;
17801  size_t __cil_tmp94 ;
17802  void *__cil_tmp95 ;
17803  unsigned long __cil_tmp96 ;
17804  unsigned long __cil_tmp97 ;
17805  u8 (*__cil_tmp98)[18U] ;
17806  megacmd_t *__cil_tmp99 ;
17807  unsigned int __cil_tmp100 ;
17808  unsigned long __cil_tmp101 ;
17809  void const   *__cil_tmp102 ;
17810  unsigned long __cil_tmp103 ;
17811  size_t __cil_tmp104 ;
17812  void *__cil_tmp105 ;
17813  u8 (*__cil_tmp106)[18U] ;
17814  void const   *__cil_tmp107 ;
17815  void *__cil_tmp108 ;
17816  u8 (*__cil_tmp109)[18U] ;
17817  void const   *__cil_tmp110 ;
17818  mega_passthru *__cil_tmp111 ;
17819  void *__cil_tmp112 ;
17820  size_t __cil_tmp113 ;
17821  int __cil_tmp114 ;
17822  unsigned long __cil_tmp115 ;
17823  void *__cil_tmp116 ;
17824  void const   *__cil_tmp117 ;
17825  size_t __cil_tmp118 ;
17826
17827  {
17828#line 3328
17829  data = (void *)0;
17830#line 3333
17831  uxferaddr = 0U;
17832#line 3336
17833  ustats = (megastat_t *)0;
17834#line 3337
17835  num_ldrv = 0;
17836  {
17837#line 3343
17838  __cil_tmp33 = cmd >> 8;
17839#line 3343
17840  __cil_tmp34 = __cil_tmp33 & 255U;
17841#line 3343
17842  if (__cil_tmp34 != 109U) {
17843#line 3343
17844    if (cmd != 224U) {
17845#line 3344
17846      return (-22);
17847    } else {
17848
17849    }
17850  } else {
17851
17852  }
17853  }
17854  {
17855#line 3355
17856  __cil_tmp35 = (void *)(& uioc);
17857#line 3355
17858  memset(__cil_tmp35, 0, 48UL);
17859#line 3356
17860  __cil_tmp36 = (void *)arg;
17861#line 3356
17862  rval = mega_m_to_n(__cil_tmp36, & uioc);
17863  }
17864#line 3356
17865  if (rval != 0) {
17866#line 3357
17867    return (rval);
17868  } else {
17869
17870  }
17871  {
17872#line 3362
17873  __cil_tmp37 = (int )uioc.opcode;
17874#line 3362
17875  if (__cil_tmp37 == 65536) {
17876#line 3362
17877    goto case_65536;
17878  } else {
17879    {
17880#line 3368
17881    __cil_tmp38 = (int )uioc.opcode;
17882#line 3368
17883    if (__cil_tmp38 == 131072) {
17884#line 3368
17885      goto case_131072;
17886    } else {
17887      {
17888#line 3379
17889      __cil_tmp39 = (int )uioc.opcode;
17890#line 3379
17891      if (__cil_tmp39 == 196608) {
17892#line 3379
17893        goto case_196608;
17894      } else {
17895        {
17896#line 3440
17897        __cil_tmp40 = (int )uioc.opcode;
17898#line 3440
17899        if (__cil_tmp40 == 0) {
17900#line 3440
17901          goto case_0;
17902        } else {
17903#line 3703
17904          goto switch_default___1;
17905#line 3360
17906          if (0) {
17907            case_65536: 
17908            {
17909#line 3363
17910            might_fault();
17911#line 3363
17912            __pu_val = driver_ver;
17913            }
17914#line 3363
17915            if (1) {
17916#line 3363
17917              goto case_4;
17918            } else {
17919#line 3363
17920              goto switch_default;
17921#line 3363
17922              if (0) {
17923#line 3363
17924                __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
17925                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17926#line 3363
17927                goto ldv_32551;
17928#line 3363
17929                __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
17930                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17931#line 3363
17932                goto ldv_32551;
17933                case_4: 
17934#line 3363
17935                __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
17936                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17937#line 3363
17938                goto ldv_32551;
17939#line 3363
17940                __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
17941                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17942#line 3363
17943                goto ldv_32551;
17944                switch_default: 
17945#line 3363
17946                __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
17947                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17948#line 3363
17949                goto ldv_32551;
17950              } else {
17951
17952              }
17953            }
17954            ldv_32551: ;
17955#line 3363
17956            if (__ret_pu != 0) {
17957#line 3364
17958              return (-14);
17959            } else {
17960
17961            }
17962#line 3366
17963            goto ldv_32557;
17964            case_131072: 
17965            {
17966#line 3369
17967            might_fault();
17968#line 3369
17969            __pu_val___0 = (u32 )hba_count;
17970            }
17971#line 3369
17972            if (1) {
17973#line 3369
17974              goto case_4___0;
17975            } else {
17976#line 3369
17977              goto switch_default___0;
17978#line 3369
17979              if (0) {
17980#line 3369
17981                __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
17982                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17983#line 3369
17984                goto ldv_32562;
17985#line 3369
17986                __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
17987                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17988#line 3369
17989                goto ldv_32562;
17990                case_4___0: 
17991#line 3369
17992                __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
17993                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17994#line 3369
17995                goto ldv_32562;
17996#line 3369
17997                __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
17998                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
17999#line 3369
18000                goto ldv_32562;
18001                switch_default___0: 
18002#line 3369
18003                __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
18004                                     "c" ((u32 *)uioc.__ua.__uaddr): "ebx");
18005#line 3369
18006                goto ldv_32562;
18007              } else {
18008
18009              }
18010            }
18011            ldv_32562: ;
18012#line 3369
18013            if (__ret_pu___0 != 0) {
18014#line 3370
18015              return (-14);
18016            } else {
18017
18018            }
18019#line 3377
18020            return (hba_count);
18021            case_196608: 
18022#line 3384
18023            __cil_tmp41 = uioc.adapno ^ 27904U;
18024#line 3384
18025            adapno = (int )__cil_tmp41;
18026#line 3384
18027            if (adapno >= hba_count) {
18028#line 3385
18029              return (-19);
18030            } else {
18031
18032            }
18033            {
18034#line 3387
18035            __cil_tmp42 = (unsigned long )adapno;
18036#line 3387
18037            __cil_tmp43 = (void const   *)(& mcontroller);
18038#line 3387
18039            __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
18040#line 3387
18041            tmp = copy_to_user(uioc.__ua.__uaddr, __cil_tmp44, 32U);
18042            }
18043#line 3387
18044            if (tmp != 0) {
18045#line 3389
18046              return (-14);
18047            } else {
18048
18049            }
18050#line 3390
18051            goto ldv_32557;
18052            case_0: 
18053#line 3445
18054            __cil_tmp45 = uioc.adapno ^ 27904U;
18055#line 3445
18056            adapno = (int )__cil_tmp45;
18057#line 3445
18058            if (adapno >= hba_count) {
18059#line 3446
18060              return (-19);
18061            } else {
18062
18063            }
18064#line 3448
18065            adapter = hba_soft_state[adapno];
18066            {
18067#line 3454
18068            __cil_tmp46 = (unsigned int )uioc.__ua.__raw_mbox[0];
18069#line 3454
18070            if (__cil_tmp46 == 164U) {
18071              {
18072#line 3454
18073              __cil_tmp47 = (unsigned int )uioc.__ua.__raw_mbox[2];
18074#line 3454
18075              if (__cil_tmp47 == 28U) {
18076                {
18077#line 3460
18078                __cil_tmp48 = adapter->support_random_del;
18079#line 3460
18080                if (__cil_tmp48 == 0) {
18081                  {
18082#line 3461
18083                  printk("<4>megaraid: logdrv ");
18084#line 3462
18085                  printk("delete on non-supporting F/W.\n");
18086                  }
18087#line 3464
18088                  return (-22);
18089                } else {
18090
18091                }
18092                }
18093                {
18094#line 3467
18095                __cil_tmp49 = (int )uioc.__ua.__raw_mbox[3];
18096#line 3467
18097                rval = mega_del_logdrv(adapter, __cil_tmp49);
18098                }
18099#line 3469
18100                if (rval == 0) {
18101                  {
18102#line 3470
18103                  __cil_tmp50 = (void *)(& mc);
18104#line 3470
18105                  memset(__cil_tmp50, 0, 18UL);
18106#line 3472
18107                  mc.status = (u8 )rval;
18108#line 3474
18109                  __cil_tmp51 = (void *)arg;
18110#line 3474
18111                  rval = mega_n_to_m(__cil_tmp51, & mc);
18112                  }
18113                } else {
18114
18115                }
18116#line 3477
18117                return (rval);
18118              } else {
18119
18120              }
18121              }
18122            } else {
18123
18124            }
18125            }
18126            {
18127#line 3483
18128            __cil_tmp52 = (unsigned int )uioc.__ua.__raw_mbox[0];
18129#line 3483
18130            if (__cil_tmp52 == 195U) {
18131              {
18132#line 3486
18133              printk("<4>megaraid: rejected passthru.\n");
18134              }
18135#line 3488
18136              return (-22);
18137            } else {
18138              {
18139#line 3483
18140              __cil_tmp53 = (unsigned int )uioc.__ua.__raw_mbox[0];
18141#line 3483
18142              if (__cil_tmp53 == 227U) {
18143                {
18144#line 3486
18145                printk("<4>megaraid: rejected passthru.\n");
18146                }
18147#line 3488
18148                return (-22);
18149              } else {
18150
18151              }
18152              }
18153            }
18154            }
18155            {
18156#line 3495
18157            tmp___0 = make_local_pdev(adapter, & pdev);
18158            }
18159#line 3495
18160            if (tmp___0 != 0) {
18161#line 3496
18162              return (-5);
18163            } else {
18164
18165            }
18166            {
18167#line 3499
18168            __cil_tmp54 = (unsigned int )uioc.__ua.__raw_mbox[0];
18169#line 3499
18170            if (__cil_tmp54 == 3U) {
18171              {
18172#line 3502
18173              tmp___1 = pci_alloc_consistent(pdev, 60UL, & pthru_dma_hndl);
18174#line 3502
18175              pthru = (mega_passthru *)tmp___1;
18176              }
18177              {
18178#line 3506
18179              __cil_tmp55 = (mega_passthru *)0;
18180#line 3506
18181              __cil_tmp56 = (unsigned long )__cil_tmp55;
18182#line 3506
18183              __cil_tmp57 = (unsigned long )pthru;
18184#line 3506
18185              if (__cil_tmp57 == __cil_tmp56) {
18186                {
18187#line 3507
18188                free_local_pdev(pdev);
18189                }
18190#line 3508
18191                return (-12);
18192              } else {
18193
18194              }
18195              }
18196              {
18197#line 3514
18198              __cil_tmp58 = & uioc.__ua.__raw_mbox;
18199#line 3514
18200              __cil_tmp59 = (megacmd_t *)__cil_tmp58;
18201#line 3514
18202              __cil_tmp60 = __cil_tmp59->xferaddr;
18203#line 3514
18204              __cil_tmp61 = (unsigned long )__cil_tmp60;
18205#line 3514
18206              upthru = (mega_passthru *)__cil_tmp61;
18207#line 3519
18208              __cil_tmp62 = (void *)pthru;
18209#line 3519
18210              __cil_tmp63 = (void const   *)upthru;
18211#line 3519
18212              tmp___2 = copy_from_user(__cil_tmp62, __cil_tmp63, 60UL);
18213              }
18214#line 3519
18215              if (tmp___2 != 0UL) {
18216                {
18217#line 3522
18218                __cil_tmp64 = (void *)pthru;
18219#line 3522
18220                pci_free_consistent(pdev, 60UL, __cil_tmp64, pthru_dma_hndl);
18221#line 3526
18222                free_local_pdev(pdev);
18223                }
18224#line 3528
18225                return (-14);
18226              } else {
18227
18228              }
18229              {
18230#line 3534
18231              __cil_tmp65 = pthru->dataxferlen;
18232#line 3534
18233              if (__cil_tmp65 != 0U) {
18234                {
18235#line 3535
18236                __cil_tmp66 = pthru->dataxferlen;
18237#line 3535
18238                __cil_tmp67 = (size_t )__cil_tmp66;
18239#line 3535
18240                data = pci_alloc_consistent(pdev, __cil_tmp67, & data_dma_hndl);
18241                }
18242                {
18243#line 3539
18244                __cil_tmp68 = (void *)0;
18245#line 3539
18246                __cil_tmp69 = (unsigned long )__cil_tmp68;
18247#line 3539
18248                __cil_tmp70 = (unsigned long )data;
18249#line 3539
18250                if (__cil_tmp70 == __cil_tmp69) {
18251                  {
18252#line 3540
18253                  __cil_tmp71 = (void *)pthru;
18254#line 3540
18255                  pci_free_consistent(pdev, 60UL, __cil_tmp71, pthru_dma_hndl);
18256#line 3545
18257                  free_local_pdev(pdev);
18258                  }
18259#line 3547
18260                  return (-12);
18261                } else {
18262
18263                }
18264                }
18265#line 3554
18266                uxferaddr = pthru->dataxferaddr;
18267#line 3555
18268                pthru->dataxferaddr = (u32 )data_dma_hndl;
18269              } else {
18270
18271              }
18272              }
18273              {
18274#line 3562
18275              __cil_tmp72 = pthru->dataxferlen;
18276#line 3562
18277              if (__cil_tmp72 != 0U) {
18278                {
18279#line 3562
18280                __cil_tmp73 = uioc.flags & 2U;
18281#line 3562
18282                if (__cil_tmp73 != 0U) {
18283                  {
18284#line 3566
18285                  __cil_tmp74 = (unsigned long )uxferaddr;
18286#line 3566
18287                  __cil_tmp75 = (void const   *)__cil_tmp74;
18288#line 3566
18289                  __cil_tmp76 = pthru->dataxferlen;
18290#line 3566
18291                  __cil_tmp77 = (unsigned long )__cil_tmp76;
18292#line 3566
18293                  tmp___3 = copy_from_user(data, __cil_tmp75, __cil_tmp77);
18294                  }
18295#line 3566
18296                  if (tmp___3 != 0UL) {
18297#line 3568
18298                    rval = -14;
18299#line 3569
18300                    goto freemem_and_return;
18301                  } else {
18302
18303                  }
18304                } else {
18305
18306                }
18307                }
18308              } else {
18309
18310              }
18311              }
18312              {
18313#line 3573
18314              __cil_tmp78 = (void *)(& mc);
18315#line 3573
18316              memset(__cil_tmp78, 0, 18UL);
18317#line 3575
18318              mc.cmd = (u8 )3U;
18319#line 3576
18320              mc.xferaddr = (unsigned int )pthru_dma_hndl;
18321#line 3581
18322              mega_internal_command(adapter, & mc, pthru);
18323#line 3583
18324              __cil_tmp79 = (void *)arg;
18325#line 3583
18326              rval = mega_n_to_m(__cil_tmp79, & mc);
18327              }
18328#line 3585
18329              if (rval != 0) {
18330#line 3585
18331                goto freemem_and_return;
18332              } else {
18333
18334              }
18335              {
18336#line 3591
18337              __cil_tmp80 = pthru->dataxferlen;
18338#line 3591
18339              if (__cil_tmp80 != 0U) {
18340                {
18341#line 3591
18342                __cil_tmp81 = (int )uioc.flags;
18343#line 3591
18344                if (__cil_tmp81 & 1) {
18345                  {
18346#line 3592
18347                  __cil_tmp82 = (unsigned long )uxferaddr;
18348#line 3592
18349                  __cil_tmp83 = (void *)__cil_tmp82;
18350#line 3592
18351                  __cil_tmp84 = (void const   *)data;
18352#line 3592
18353                  __cil_tmp85 = pthru->dataxferlen;
18354#line 3592
18355                  tmp___4 = copy_to_user(__cil_tmp83, __cil_tmp84, __cil_tmp85);
18356                  }
18357#line 3592
18358                  if (tmp___4 != 0) {
18359#line 3594
18360                    rval = -14;
18361                  } else {
18362
18363                  }
18364                } else {
18365
18366                }
18367                }
18368              } else {
18369
18370              }
18371              }
18372              {
18373#line 3602
18374              __cil_tmp86 = & upthru->reqsensearea;
18375#line 3602
18376              __cil_tmp87 = (void *)__cil_tmp86;
18377#line 3602
18378              __cil_tmp88 = & pthru->reqsensearea;
18379#line 3602
18380              __cil_tmp89 = (void const   *)__cil_tmp88;
18381#line 3602
18382              tmp___5 = copy_to_user(__cil_tmp87, __cil_tmp89, 14U);
18383              }
18384#line 3602
18385              if (tmp___5 != 0) {
18386#line 3604
18387                rval = -14;
18388              } else {
18389
18390              }
18391              freemem_and_return: ;
18392              {
18393#line 3607
18394              __cil_tmp90 = pthru->dataxferlen;
18395#line 3607
18396              if (__cil_tmp90 != 0U) {
18397                {
18398#line 3608
18399                __cil_tmp91 = pthru->dataxferlen;
18400#line 3608
18401                __cil_tmp92 = (size_t )__cil_tmp91;
18402#line 3608
18403                pci_free_consistent(pdev, __cil_tmp92, data, data_dma_hndl);
18404                }
18405              } else {
18406
18407              }
18408              }
18409              {
18410#line 3613
18411              __cil_tmp93 = (void *)pthru;
18412#line 3613
18413              pci_free_consistent(pdev, 60UL, __cil_tmp93, pthru_dma_hndl);
18414#line 3616
18415              free_local_pdev(pdev);
18416              }
18417#line 3618
18418              return (rval);
18419            } else {
18420#line 3626
18421              if (uioc.xferlen != 0U) {
18422                {
18423#line 3627
18424                __cil_tmp94 = (size_t )uioc.xferlen;
18425#line 3627
18426                data = pci_alloc_consistent(pdev, __cil_tmp94, & data_dma_hndl);
18427                }
18428                {
18429#line 3630
18430                __cil_tmp95 = (void *)0;
18431#line 3630
18432                __cil_tmp96 = (unsigned long )__cil_tmp95;
18433#line 3630
18434                __cil_tmp97 = (unsigned long )data;
18435#line 3630
18436                if (__cil_tmp97 == __cil_tmp96) {
18437                  {
18438#line 3631
18439                  free_local_pdev(pdev);
18440                  }
18441#line 3632
18442                  return (-12);
18443                } else {
18444
18445                }
18446                }
18447#line 3635
18448                __cil_tmp98 = & uioc.__ua.__raw_mbox;
18449#line 3635
18450                __cil_tmp99 = (megacmd_t *)__cil_tmp98;
18451#line 3635
18452                uxferaddr = __cil_tmp99->xferaddr;
18453              } else {
18454
18455              }
18456#line 3641
18457              if (uioc.xferlen != 0U) {
18458                {
18459#line 3641
18460                __cil_tmp100 = uioc.flags & 2U;
18461#line 3641
18462                if (__cil_tmp100 != 0U) {
18463                  {
18464#line 3645
18465                  __cil_tmp101 = (unsigned long )uxferaddr;
18466#line 3645
18467                  __cil_tmp102 = (void const   *)__cil_tmp101;
18468#line 3645
18469                  __cil_tmp103 = (unsigned long )uioc.xferlen;
18470#line 3645
18471                  tmp___6 = copy_from_user(data, __cil_tmp102, __cil_tmp103);
18472                  }
18473#line 3645
18474                  if (tmp___6 != 0UL) {
18475                    {
18476#line 3648
18477                    __cil_tmp104 = (size_t )uioc.xferlen;
18478#line 3648
18479                    pci_free_consistent(pdev, __cil_tmp104, data, data_dma_hndl);
18480#line 3652
18481                    free_local_pdev(pdev);
18482                    }
18483#line 3654
18484                    return (-14);
18485                  } else {
18486
18487                  }
18488                } else {
18489
18490                }
18491                }
18492              } else {
18493
18494              }
18495#line 3658
18496              __len = 18UL;
18497#line 3658
18498              if (__len > 63UL) {
18499                {
18500#line 3658
18501                __cil_tmp105 = (void *)(& mc);
18502#line 3658
18503                __cil_tmp106 = & uioc.__ua.__raw_mbox;
18504#line 3658
18505                __cil_tmp107 = (void const   *)__cil_tmp106;
18506#line 3658
18507                __ret = __memcpy(__cil_tmp105, __cil_tmp107, __len);
18508                }
18509              } else {
18510                {
18511#line 3658
18512                __cil_tmp108 = (void *)(& mc);
18513#line 3658
18514                __cil_tmp109 = & uioc.__ua.__raw_mbox;
18515#line 3658
18516                __cil_tmp110 = (void const   *)__cil_tmp109;
18517#line 3658
18518                __ret = __builtin_memcpy(__cil_tmp108, __cil_tmp110, __len);
18519                }
18520              }
18521              {
18522#line 3660
18523              mc.xferaddr = (unsigned int )data_dma_hndl;
18524#line 3665
18525              __cil_tmp111 = (mega_passthru *)0;
18526#line 3665
18527              mega_internal_command(adapter, & mc, __cil_tmp111);
18528#line 3667
18529              __cil_tmp112 = (void *)arg;
18530#line 3667
18531              rval = mega_n_to_m(__cil_tmp112, & mc);
18532              }
18533#line 3669
18534              if (rval != 0) {
18535#line 3670
18536                if (uioc.xferlen != 0U) {
18537                  {
18538#line 3671
18539                  __cil_tmp113 = (size_t )uioc.xferlen;
18540#line 3671
18541                  pci_free_consistent(pdev, __cil_tmp113, data, data_dma_hndl);
18542                  }
18543                } else {
18544
18545                }
18546                {
18547#line 3676
18548                free_local_pdev(pdev);
18549                }
18550#line 3678
18551                return (rval);
18552              } else {
18553
18554              }
18555#line 3684
18556              if (uioc.xferlen != 0U) {
18557                {
18558#line 3684
18559                __cil_tmp114 = (int )uioc.flags;
18560#line 3684
18561                if (__cil_tmp114 & 1) {
18562                  {
18563#line 3685
18564                  __cil_tmp115 = (unsigned long )uxferaddr;
18565#line 3685
18566                  __cil_tmp116 = (void *)__cil_tmp115;
18567#line 3685
18568                  __cil_tmp117 = (void const   *)data;
18569#line 3685
18570                  tmp___7 = copy_to_user(__cil_tmp116, __cil_tmp117, uioc.xferlen);
18571                  }
18572#line 3685
18573                  if (tmp___7 != 0) {
18574#line 3688
18575                    rval = -14;
18576                  } else {
18577
18578                  }
18579                } else {
18580
18581                }
18582                }
18583              } else {
18584
18585              }
18586#line 3692
18587              if (uioc.xferlen != 0U) {
18588                {
18589#line 3693
18590                __cil_tmp118 = (size_t )uioc.xferlen;
18591#line 3693
18592                pci_free_consistent(pdev, __cil_tmp118, data, data_dma_hndl);
18593                }
18594              } else {
18595
18596              }
18597              {
18598#line 3698
18599              free_local_pdev(pdev);
18600              }
18601#line 3700
18602              return (rval);
18603            }
18604            }
18605            switch_default___1: ;
18606#line 3704
18607            return (-22);
18608          } else {
18609
18610          }
18611        }
18612        }
18613      }
18614      }
18615    }
18616    }
18617  }
18618  }
18619  ldv_32557: ;
18620#line 3707
18621  return (0);
18622}
18623}
18624#line 3711 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
18625static long megadev_unlocked_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) 
18626{ int ret ;
18627
18628  {
18629  {
18630#line 3715
18631  mutex_lock_nested(& megadev_mutex, 0U);
18632#line 3716
18633  ret = megadev_ioctl(filep, cmd, arg);
18634#line 3717
18635  mutex_unlock(& megadev_mutex);
18636  }
18637#line 3719
18638  return ((long )ret);
18639}
18640}
18641#line 3733 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
18642static int mega_m_to_n(void *arg , nitioctl_t *uioc ) 
18643{ struct uioctl_t uioc_mimd ;
18644  char signature[8U] ;
18645  u8 opcode ;
18646  u8 subopcode ;
18647  unsigned long tmp ;
18648  int tmp___0 ;
18649  unsigned long tmp___1 ;
18650  size_t __len ;
18651  void *__ret ;
18652  size_t __len___0 ;
18653  void *__ret___0 ;
18654  void *__cil_tmp14 ;
18655  void const   *__cil_tmp15 ;
18656  void const   *__cil_tmp16 ;
18657  void const   *__cil_tmp17 ;
18658  void *__cil_tmp18 ;
18659  void const   *__cil_tmp19 ;
18660  int __cil_tmp20 ;
18661  int __cil_tmp21 ;
18662  int __cil_tmp22 ;
18663  int __cil_tmp23 ;
18664  int __cil_tmp24 ;
18665  int __cil_tmp25 ;
18666  u8 (*__cil_tmp26)[18U] ;
18667  void *__cil_tmp27 ;
18668  u8 (*__cil_tmp28)[18U] ;
18669  void const   *__cil_tmp29 ;
18670  u8 (*__cil_tmp30)[18U] ;
18671  void *__cil_tmp31 ;
18672  u8 (*__cil_tmp32)[18U] ;
18673  void const   *__cil_tmp33 ;
18674  u32 __cil_tmp34 ;
18675  u8 (*__cil_tmp35)[18U] ;
18676  void *__cil_tmp36 ;
18677  u8 (*__cil_tmp37)[18U] ;
18678  void const   *__cil_tmp38 ;
18679  u8 (*__cil_tmp39)[18U] ;
18680  void *__cil_tmp40 ;
18681  u8 (*__cil_tmp41)[18U] ;
18682  void const   *__cil_tmp42 ;
18683  u32 __cil_tmp43 ;
18684
18685  {
18686  {
18687#line 3736
18688  signature[0] = (char)0;
18689#line 3736
18690  signature[1] = (char)0;
18691#line 3736
18692  signature[2] = (char)0;
18693#line 3736
18694  signature[3] = (char)0;
18695#line 3736
18696  signature[4] = (char)0;
18697#line 3736
18698  signature[5] = (char)0;
18699#line 3736
18700  signature[6] = (char)0;
18701#line 3736
18702  signature[7] = (char)0;
18703#line 3748
18704  __cil_tmp14 = (void *)(& signature);
18705#line 3748
18706  __cil_tmp15 = (void const   *)arg;
18707#line 3748
18708  tmp = copy_from_user(__cil_tmp14, __cil_tmp15, 7UL);
18709  }
18710#line 3748
18711  if (tmp != 0UL) {
18712#line 3749
18713    return (-14);
18714  } else {
18715
18716  }
18717  {
18718#line 3751
18719  __cil_tmp16 = (void const   *)(& signature);
18720#line 3751
18721  __cil_tmp17 = (void const   *)"MEGANIT";
18722#line 3751
18723  tmp___0 = memcmp(__cil_tmp16, __cil_tmp17, 7UL);
18724  }
18725#line 3751
18726  if (tmp___0 == 0) {
18727#line 3759
18728    return (-22);
18729  } else {
18730
18731  }
18732  {
18733#line 3772
18734  __cil_tmp18 = (void *)(& uioc_mimd);
18735#line 3772
18736  __cil_tmp19 = (void const   *)arg;
18737#line 3772
18738  tmp___1 = copy_from_user(__cil_tmp18, __cil_tmp19, 110UL);
18739  }
18740#line 3772
18741  if (tmp___1 != 0UL) {
18742#line 3773
18743    return (-14);
18744  } else {
18745
18746  }
18747#line 3779
18748  opcode = uioc_mimd.ui.fcs.opcode;
18749#line 3780
18750  subopcode = uioc_mimd.ui.fcs.subopcode;
18751  {
18752#line 3783
18753  __cil_tmp20 = (int )opcode;
18754#line 3783
18755  if (__cil_tmp20 == 130) {
18756#line 3783
18757    goto case_130;
18758  } else {
18759    {
18760#line 3810
18761    __cil_tmp21 = (int )opcode;
18762#line 3810
18763    if (__cil_tmp21 == 129) {
18764#line 3810
18765      goto case_129;
18766    } else {
18767      {
18768#line 3824
18769      __cil_tmp22 = (int )opcode;
18770#line 3824
18771      if (__cil_tmp22 == 128) {
18772#line 3824
18773        goto case_128;
18774      } else {
18775#line 3842
18776        goto switch_default___0;
18777#line 3782
18778        if (0) {
18779          case_130: ;
18780          {
18781#line 3787
18782          __cil_tmp23 = (int )subopcode;
18783#line 3787
18784          if (__cil_tmp23 == 101) {
18785#line 3787
18786            goto case_101;
18787          } else {
18788            {
18789#line 3792
18790            __cil_tmp24 = (int )subopcode;
18791#line 3792
18792            if (__cil_tmp24 == 109) {
18793#line 3792
18794              goto case_109;
18795            } else {
18796              {
18797#line 3797
18798              __cil_tmp25 = (int )subopcode;
18799#line 3797
18800              if (__cil_tmp25 == 103) {
18801#line 3797
18802                goto case_103;
18803              } else {
18804#line 3803
18805                goto switch_default;
18806#line 3785
18807                if (0) {
18808                  case_101: 
18809#line 3788
18810                  uioc->opcode = 65536U;
18811#line 3789
18812                  uioc->__ua.__uaddr = (void *)uioc_mimd.data;
18813#line 3790
18814                  goto ldv_32591;
18815                  case_109: 
18816#line 3793
18817                  uioc->opcode = 131072U;
18818#line 3794
18819                  uioc->__ua.__uaddr = (void *)uioc_mimd.data;
18820#line 3795
18821                  goto ldv_32591;
18822                  case_103: 
18823#line 3798
18824                  uioc->opcode = 196608U;
18825#line 3799
18826                  uioc->adapno = (u32 )uioc_mimd.ui.fcs.adapno;
18827#line 3800
18828                  uioc->__ua.__uaddr = (void *)uioc_mimd.data;
18829#line 3801
18830                  goto ldv_32591;
18831                  switch_default: ;
18832#line 3804
18833                  return (-22);
18834                } else {
18835
18836                }
18837              }
18838              }
18839            }
18840            }
18841          }
18842          }
18843          ldv_32591: ;
18844#line 3807
18845          goto ldv_32595;
18846          case_129: 
18847#line 3812
18848          uioc->opcode = 0U;
18849#line 3813
18850          uioc->adapno = (u32 )uioc_mimd.ui.fcs.adapno;
18851#line 3815
18852          __len = 18UL;
18853#line 3815
18854          if (__len > 63UL) {
18855            {
18856#line 3815
18857            __cil_tmp26 = & uioc->__ua.__raw_mbox;
18858#line 3815
18859            __cil_tmp27 = (void *)__cil_tmp26;
18860#line 3815
18861            __cil_tmp28 = & uioc_mimd.mbox;
18862#line 3815
18863            __cil_tmp29 = (void const   *)__cil_tmp28;
18864#line 3815
18865            __ret = __memcpy(__cil_tmp27, __cil_tmp29, __len);
18866            }
18867          } else {
18868            {
18869#line 3815
18870            __cil_tmp30 = & uioc->__ua.__raw_mbox;
18871#line 3815
18872            __cil_tmp31 = (void *)__cil_tmp30;
18873#line 3815
18874            __cil_tmp32 = & uioc_mimd.mbox;
18875#line 3815
18876            __cil_tmp33 = (void const   *)__cil_tmp32;
18877#line 3815
18878            __ret = __builtin_memcpy(__cil_tmp31, __cil_tmp33, __len);
18879            }
18880          }
18881#line 3817
18882          uioc->xferlen = uioc_mimd.ui.fcs.length;
18883#line 3819
18884          if (uioc_mimd.outlen != 0U) {
18885#line 3819
18886            uioc->flags = 1U;
18887          } else {
18888
18889          }
18890#line 3820
18891          if (uioc_mimd.inlen != 0U) {
18892#line 3820
18893            __cil_tmp34 = uioc->flags;
18894#line 3820
18895            uioc->flags = __cil_tmp34 | 2U;
18896          } else {
18897
18898          }
18899#line 3822
18900          goto ldv_32595;
18901          case_128: 
18902#line 3826
18903          uioc->opcode = 0U;
18904#line 3827
18905          uioc->adapno = (u32 )uioc_mimd.ui.fcs.adapno;
18906#line 3829
18907          __len___0 = 18UL;
18908#line 3829
18909          if (__len___0 > 63UL) {
18910            {
18911#line 3829
18912            __cil_tmp35 = & uioc->__ua.__raw_mbox;
18913#line 3829
18914            __cil_tmp36 = (void *)__cil_tmp35;
18915#line 3829
18916            __cil_tmp37 = & uioc_mimd.mbox;
18917#line 3829
18918            __cil_tmp38 = (void const   *)__cil_tmp37;
18919#line 3829
18920            __ret___0 = __memcpy(__cil_tmp36, __cil_tmp38, __len___0);
18921            }
18922          } else {
18923            {
18924#line 3829
18925            __cil_tmp39 = & uioc->__ua.__raw_mbox;
18926#line 3829
18927            __cil_tmp40 = (void *)__cil_tmp39;
18928#line 3829
18929            __cil_tmp41 = & uioc_mimd.mbox;
18930#line 3829
18931            __cil_tmp42 = (void const   *)__cil_tmp41;
18932#line 3829
18933            __ret___0 = __builtin_memcpy(__cil_tmp40, __cil_tmp42, __len___0);
18934            }
18935          }
18936#line 3834
18937          if (uioc_mimd.outlen > uioc_mimd.inlen) {
18938#line 3834
18939            uioc->xferlen = uioc_mimd.outlen;
18940          } else {
18941#line 3834
18942            uioc->xferlen = uioc_mimd.inlen;
18943          }
18944#line 3837
18945          if (uioc_mimd.outlen != 0U) {
18946#line 3837
18947            uioc->flags = 1U;
18948          } else {
18949
18950          }
18951#line 3838
18952          if (uioc_mimd.inlen != 0U) {
18953#line 3838
18954            __cil_tmp43 = uioc->flags;
18955#line 3838
18956            uioc->flags = __cil_tmp43 | 2U;
18957          } else {
18958
18959          }
18960#line 3840
18961          goto ldv_32595;
18962          switch_default___0: ;
18963#line 3843
18964          return (-22);
18965        } else {
18966
18967        }
18968      }
18969      }
18970    }
18971    }
18972  }
18973  }
18974  ldv_32595: ;
18975#line 3847
18976  return (0);
18977}
18978}
18979#line 3859 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
18980static int mega_n_to_m(void *arg , megacmd_t *mc ) 
18981{ nitioctl_t *uiocp ;
18982  megacmd_t *umc ;
18983  mega_passthru *upthru ;
18984  struct uioctl_t *uioc_mimd ;
18985  char signature[8U] ;
18986  unsigned long tmp ;
18987  int __ret_pu ;
18988  u8 __pu_val ;
18989  int __ret_gu ;
18990  unsigned long __val_gu ;
18991  int __ret_pu___0 ;
18992  u8 __pu_val___0 ;
18993  int __ret_pu___1 ;
18994  u8 __pu_val___1 ;
18995  int __ret_gu___0 ;
18996  unsigned long __val_gu___0 ;
18997  int __ret_pu___2 ;
18998  u8 __pu_val___2 ;
18999  int tmp___0 ;
19000  void *__cil_tmp22 ;
19001  void const   *__cil_tmp23 ;
19002  void const   *__cil_tmp24 ;
19003  void const   *__cil_tmp25 ;
19004  u8 (*__cil_tmp26)[18U] ;
19005  megacmd_t *__cil_tmp27 ;
19006  u8 (*__cil_tmp28)[18U] ;
19007  megacmd_t *__cil_tmp29 ;
19008  u8 (*__cil_tmp30)[18U] ;
19009  megacmd_t *__cil_tmp31 ;
19010  u8 (*__cil_tmp32)[18U] ;
19011  megacmd_t *__cil_tmp33 ;
19012  u8 (*__cil_tmp34)[18U] ;
19013  megacmd_t *__cil_tmp35 ;
19014  u8 __cil_tmp36 ;
19015  unsigned int __cil_tmp37 ;
19016  u8 (*__cil_tmp38)[18U] ;
19017  u32 *__cil_tmp39 ;
19018  u32 *__cil_tmp40 ;
19019  u32 *__cil_tmp41 ;
19020  u32 *__cil_tmp42 ;
19021  u32 *__cil_tmp43 ;
19022  u8 (*__cil_tmp44)[18U] ;
19023  u8 *__cil_tmp45 ;
19024  u8 (*__cil_tmp46)[18U] ;
19025  u8 *__cil_tmp47 ;
19026  u8 (*__cil_tmp48)[18U] ;
19027  u8 *__cil_tmp49 ;
19028  u8 (*__cil_tmp50)[18U] ;
19029  u8 *__cil_tmp51 ;
19030  u8 (*__cil_tmp52)[18U] ;
19031  u8 *__cil_tmp53 ;
19032  u8 __cil_tmp54 ;
19033  unsigned int __cil_tmp55 ;
19034  u8 (*__cil_tmp56)[18U] ;
19035  u32 *__cil_tmp57 ;
19036  u32 *__cil_tmp58 ;
19037  u32 *__cil_tmp59 ;
19038  u32 *__cil_tmp60 ;
19039  u32 *__cil_tmp61 ;
19040
19041  {
19042  {
19043#line 3865
19044  signature[0] = (char)0;
19045#line 3865
19046  signature[1] = (char)0;
19047#line 3865
19048  signature[2] = (char)0;
19049#line 3865
19050  signature[3] = (char)0;
19051#line 3865
19052  signature[4] = (char)0;
19053#line 3865
19054  signature[5] = (char)0;
19055#line 3865
19056  signature[6] = (char)0;
19057#line 3865
19058  signature[7] = (char)0;
19059#line 3870
19060  __cil_tmp22 = (void *)(& signature);
19061#line 3870
19062  __cil_tmp23 = (void const   *)arg;
19063#line 3870
19064  tmp = copy_from_user(__cil_tmp22, __cil_tmp23, 7UL);
19065  }
19066#line 3870
19067  if (tmp != 0UL) {
19068#line 3871
19069    return (-14);
19070  } else {
19071
19072  }
19073  {
19074#line 3873
19075  __cil_tmp24 = (void const   *)(& signature);
19076#line 3873
19077  __cil_tmp25 = (void const   *)"MEGANIT";
19078#line 3873
19079  tmp___0 = memcmp(__cil_tmp24, __cil_tmp25, 7UL);
19080  }
19081#line 3873
19082  if (tmp___0 == 0) {
19083    {
19084#line 3875
19085    uiocp = (nitioctl_t *)arg;
19086#line 3877
19087    might_fault();
19088#line 3877
19089    __pu_val = mc->status;
19090    }
19091#line 3877
19092    if (1) {
19093#line 3877
19094      goto case_1;
19095    } else {
19096#line 3877
19097      goto switch_default;
19098#line 3877
19099      if (0) {
19100        case_1: 
19101#line 3877
19102        __cil_tmp26 = & uiocp->__ua.__raw_mbox;
19103#line 3877
19104        __cil_tmp27 = (megacmd_t *)__cil_tmp26;
19105#line 3877
19106        __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
19107                             "c" (& __cil_tmp27->status): "ebx");
19108#line 3877
19109        goto ldv_32617;
19110#line 3877
19111        __cil_tmp28 = & uiocp->__ua.__raw_mbox;
19112#line 3877
19113        __cil_tmp29 = (megacmd_t *)__cil_tmp28;
19114#line 3877
19115        __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
19116                             "c" (& __cil_tmp29->status): "ebx");
19117#line 3877
19118        goto ldv_32617;
19119#line 3877
19120        __cil_tmp30 = & uiocp->__ua.__raw_mbox;
19121#line 3877
19122        __cil_tmp31 = (megacmd_t *)__cil_tmp30;
19123#line 3877
19124        __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
19125                             "c" (& __cil_tmp31->status): "ebx");
19126#line 3877
19127        goto ldv_32617;
19128#line 3877
19129        __cil_tmp32 = & uiocp->__ua.__raw_mbox;
19130#line 3877
19131        __cil_tmp33 = (megacmd_t *)__cil_tmp32;
19132#line 3877
19133        __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
19134                             "c" (& __cil_tmp33->status): "ebx");
19135#line 3877
19136        goto ldv_32617;
19137        switch_default: 
19138#line 3877
19139        __cil_tmp34 = & uiocp->__ua.__raw_mbox;
19140#line 3877
19141        __cil_tmp35 = (megacmd_t *)__cil_tmp34;
19142#line 3877
19143        __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
19144                             "c" (& __cil_tmp35->status): "ebx");
19145#line 3877
19146        goto ldv_32617;
19147      } else {
19148
19149      }
19150    }
19151    ldv_32617: ;
19152#line 3877
19153    if (__ret_pu != 0) {
19154#line 3878
19155      return (-14);
19156    } else {
19157
19158    }
19159    {
19160#line 3880
19161    __cil_tmp36 = mc->cmd;
19162#line 3880
19163    __cil_tmp37 = (unsigned int )__cil_tmp36;
19164#line 3880
19165    if (__cil_tmp37 == 3U) {
19166      {
19167#line 3882
19168      __cil_tmp38 = & uiocp->__ua.__raw_mbox;
19169#line 3882
19170      umc = (megacmd_t *)__cil_tmp38;
19171#line 3884
19172      might_fault();
19173      }
19174#line 3884
19175      if (1) {
19176#line 3884
19177        goto case_8___0;
19178      } else {
19179#line 3884
19180        goto switch_default___0;
19181#line 3884
19182        if (0) {
19183#line 3884
19184          __cil_tmp39 = & umc->xferaddr;
19185#line 3884
19186          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" ((mega_passthru **)__cil_tmp39));
19187#line 3884
19188          goto ldv_32626;
19189#line 3884
19190          __cil_tmp40 = & umc->xferaddr;
19191#line 3884
19192          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" ((mega_passthru **)__cil_tmp40));
19193#line 3884
19194          goto ldv_32626;
19195#line 3884
19196          __cil_tmp41 = & umc->xferaddr;
19197#line 3884
19198          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" ((mega_passthru **)__cil_tmp41));
19199#line 3884
19200          goto ldv_32626;
19201          case_8___0: 
19202#line 3884
19203          __cil_tmp42 = & umc->xferaddr;
19204#line 3884
19205          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" ((mega_passthru **)__cil_tmp42));
19206#line 3884
19207          goto ldv_32626;
19208          switch_default___0: 
19209#line 3884
19210          __cil_tmp43 = & umc->xferaddr;
19211#line 3884
19212          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" ((mega_passthru **)__cil_tmp43));
19213#line 3884
19214          goto ldv_32626;
19215        } else {
19216
19217        }
19218      }
19219      ldv_32626: 
19220#line 3884
19221      upthru = (mega_passthru *)__val_gu;
19222#line 3884
19223      if (__ret_gu != 0) {
19224#line 3885
19225        return (-14);
19226      } else {
19227
19228      }
19229      {
19230#line 3887
19231      might_fault();
19232#line 3887
19233      __pu_val___0 = mc->status;
19234      }
19235#line 3887
19236      if (1) {
19237#line 3887
19238        goto case_1___1;
19239      } else {
19240#line 3887
19241        goto switch_default___1;
19242#line 3887
19243        if (0) {
19244          case_1___1: 
19245#line 3887
19246          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
19247                               "c" (& upthru->scsistatus): "ebx");
19248#line 3887
19249          goto ldv_32635;
19250#line 3887
19251          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
19252                               "c" (& upthru->scsistatus): "ebx");
19253#line 3887
19254          goto ldv_32635;
19255#line 3887
19256          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
19257                               "c" (& upthru->scsistatus): "ebx");
19258#line 3887
19259          goto ldv_32635;
19260#line 3887
19261          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
19262                               "c" (& upthru->scsistatus): "ebx");
19263#line 3887
19264          goto ldv_32635;
19265          switch_default___1: 
19266#line 3887
19267          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
19268                               "c" (& upthru->scsistatus): "ebx");
19269#line 3887
19270          goto ldv_32635;
19271        } else {
19272
19273        }
19274      }
19275      ldv_32635: ;
19276#line 3887
19277      if (__ret_pu___0 != 0) {
19278#line 3888
19279        return (-14);
19280      } else {
19281
19282      }
19283    } else {
19284
19285    }
19286    }
19287  } else {
19288    {
19289#line 3892
19290    uioc_mimd = (struct uioctl_t *)arg;
19291#line 3894
19292    might_fault();
19293#line 3894
19294    __pu_val___1 = mc->status;
19295    }
19296#line 3894
19297    if (1) {
19298#line 3894
19299      goto case_1___2;
19300    } else {
19301#line 3894
19302      goto switch_default___2;
19303#line 3894
19304      if (0) {
19305        case_1___2: 
19306#line 3894
19307        __cil_tmp44 = & uioc_mimd->mbox;
19308#line 3894
19309        __cil_tmp45 = (u8 *)__cil_tmp44;
19310#line 3894
19311        __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___1): "0" (__pu_val___1),
19312                             "c" (__cil_tmp45 + 17UL): "ebx");
19313#line 3894
19314        goto ldv_32644;
19315#line 3894
19316        __cil_tmp46 = & uioc_mimd->mbox;
19317#line 3894
19318        __cil_tmp47 = (u8 *)__cil_tmp46;
19319#line 3894
19320        __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___1): "0" (__pu_val___1),
19321                             "c" (__cil_tmp47 + 17UL): "ebx");
19322#line 3894
19323        goto ldv_32644;
19324#line 3894
19325        __cil_tmp48 = & uioc_mimd->mbox;
19326#line 3894
19327        __cil_tmp49 = (u8 *)__cil_tmp48;
19328#line 3894
19329        __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___1): "0" (__pu_val___1),
19330                             "c" (__cil_tmp49 + 17UL): "ebx");
19331#line 3894
19332        goto ldv_32644;
19333#line 3894
19334        __cil_tmp50 = & uioc_mimd->mbox;
19335#line 3894
19336        __cil_tmp51 = (u8 *)__cil_tmp50;
19337#line 3894
19338        __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___1): "0" (__pu_val___1),
19339                             "c" (__cil_tmp51 + 17UL): "ebx");
19340#line 3894
19341        goto ldv_32644;
19342        switch_default___2: 
19343#line 3894
19344        __cil_tmp52 = & uioc_mimd->mbox;
19345#line 3894
19346        __cil_tmp53 = (u8 *)__cil_tmp52;
19347#line 3894
19348        __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___1): "0" (__pu_val___1),
19349                             "c" (__cil_tmp53 + 17UL): "ebx");
19350#line 3894
19351        goto ldv_32644;
19352      } else {
19353
19354      }
19355    }
19356    ldv_32644: ;
19357#line 3894
19358    if (__ret_pu___1 != 0) {
19359#line 3895
19360      return (-14);
19361    } else {
19362
19363    }
19364    {
19365#line 3897
19366    __cil_tmp54 = mc->cmd;
19367#line 3897
19368    __cil_tmp55 = (unsigned int )__cil_tmp54;
19369#line 3897
19370    if (__cil_tmp55 == 3U) {
19371      {
19372#line 3899
19373      __cil_tmp56 = & uioc_mimd->mbox;
19374#line 3899
19375      umc = (megacmd_t *)__cil_tmp56;
19376#line 3901
19377      might_fault();
19378      }
19379#line 3901
19380      if (1) {
19381#line 3901
19382        goto case_8___3;
19383      } else {
19384#line 3901
19385        goto switch_default___3;
19386#line 3901
19387        if (0) {
19388#line 3901
19389          __cil_tmp57 = & umc->xferaddr;
19390#line 3901
19391          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((mega_passthru **)__cil_tmp57));
19392#line 3901
19393          goto ldv_32653;
19394#line 3901
19395          __cil_tmp58 = & umc->xferaddr;
19396#line 3901
19397          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((mega_passthru **)__cil_tmp58));
19398#line 3901
19399          goto ldv_32653;
19400#line 3901
19401          __cil_tmp59 = & umc->xferaddr;
19402#line 3901
19403          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((mega_passthru **)__cil_tmp59));
19404#line 3901
19405          goto ldv_32653;
19406          case_8___3: 
19407#line 3901
19408          __cil_tmp60 = & umc->xferaddr;
19409#line 3901
19410          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((mega_passthru **)__cil_tmp60));
19411#line 3901
19412          goto ldv_32653;
19413          switch_default___3: 
19414#line 3901
19415          __cil_tmp61 = & umc->xferaddr;
19416#line 3901
19417          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((mega_passthru **)__cil_tmp61));
19418#line 3901
19419          goto ldv_32653;
19420        } else {
19421
19422        }
19423      }
19424      ldv_32653: 
19425#line 3901
19426      upthru = (mega_passthru *)__val_gu___0;
19427#line 3901
19428      if (__ret_gu___0 != 0) {
19429#line 3902
19430        return (-14);
19431      } else {
19432
19433      }
19434      {
19435#line 3904
19436      might_fault();
19437#line 3904
19438      __pu_val___2 = mc->status;
19439      }
19440#line 3904
19441      if (1) {
19442#line 3904
19443        goto case_1___4;
19444      } else {
19445#line 3904
19446        goto switch_default___4;
19447#line 3904
19448        if (0) {
19449          case_1___4: 
19450#line 3904
19451          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___2): "0" (__pu_val___2),
19452                               "c" (& upthru->scsistatus): "ebx");
19453#line 3904
19454          goto ldv_32662;
19455#line 3904
19456          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___2): "0" (__pu_val___2),
19457                               "c" (& upthru->scsistatus): "ebx");
19458#line 3904
19459          goto ldv_32662;
19460#line 3904
19461          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___2): "0" (__pu_val___2),
19462                               "c" (& upthru->scsistatus): "ebx");
19463#line 3904
19464          goto ldv_32662;
19465#line 3904
19466          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___2): "0" (__pu_val___2),
19467                               "c" (& upthru->scsistatus): "ebx");
19468#line 3904
19469          goto ldv_32662;
19470          switch_default___4: 
19471#line 3904
19472          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___2): "0" (__pu_val___2),
19473                               "c" (& upthru->scsistatus): "ebx");
19474#line 3904
19475          goto ldv_32662;
19476        } else {
19477
19478        }
19479      }
19480      ldv_32662: ;
19481#line 3904
19482      if (__ret_pu___2 != 0) {
19483#line 3905
19484        return (-14);
19485      } else {
19486
19487      }
19488    } else {
19489
19490    }
19491    }
19492  }
19493#line 3909
19494  return (0);
19495}
19496}
19497#line 3924 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
19498static int mega_is_bios_enabled(adapter_t *adapter ) 
19499{ unsigned char raw_mbox[15U] ;
19500  mbox_t *mbox ;
19501  int ret ;
19502  struct mbox_out *__cil_tmp5 ;
19503  void *__cil_tmp6 ;
19504  u8 *__cil_tmp7 ;
19505  void *__cil_tmp8 ;
19506  dma_addr_t __cil_tmp9 ;
19507  u_char *__cil_tmp10 ;
19508  u8 *__cil_tmp11 ;
19509  char *__cil_tmp12 ;
19510  char __cil_tmp13 ;
19511
19512  {
19513  {
19514#line 3930
19515  mbox = (mbox_t *)(& raw_mbox);
19516#line 3932
19517  __cil_tmp5 = & mbox->m_out;
19518#line 3932
19519  __cil_tmp6 = (void *)__cil_tmp5;
19520#line 3932
19521  memset(__cil_tmp6, 0, 15UL);
19522#line 3934
19523  __cil_tmp7 = adapter->mega_buffer;
19524#line 3934
19525  __cil_tmp8 = (void *)__cil_tmp7;
19526#line 3934
19527  memset(__cil_tmp8, 0, 2048UL);
19528#line 3936
19529  __cil_tmp9 = adapter->buf_dma_handle;
19530#line 3936
19531  mbox->m_out.xferaddr = (unsigned int )__cil_tmp9;
19532#line 3938
19533  raw_mbox[0] = (unsigned char)98;
19534#line 3939
19535  raw_mbox[2] = (unsigned char)1;
19536#line 3942
19537  __cil_tmp10 = (u_char *)(& raw_mbox);
19538#line 3942
19539  ret = issue_scb_block(adapter, __cil_tmp10);
19540  }
19541  {
19542#line 3944
19543  __cil_tmp11 = adapter->mega_buffer;
19544#line 3944
19545  __cil_tmp12 = (char *)__cil_tmp11;
19546#line 3944
19547  __cil_tmp13 = *__cil_tmp12;
19548#line 3944
19549  return ((int )__cil_tmp13);
19550  }
19551}
19552}
19553#line 3957 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
19554static void mega_enum_raid_scsi(adapter_t *adapter ) 
19555{ unsigned char raw_mbox[15U] ;
19556  mbox_t *mbox ;
19557  int i ;
19558  int tmp ;
19559  struct mbox_out *__cil_tmp6 ;
19560  void *__cil_tmp7 ;
19561  u8 *__cil_tmp8 ;
19562  void *__cil_tmp9 ;
19563  dma_addr_t __cil_tmp10 ;
19564  u_char *__cil_tmp11 ;
19565  u8 *__cil_tmp12 ;
19566  char *__cil_tmp13 ;
19567  char __cil_tmp14 ;
19568  int __cil_tmp15 ;
19569  int __cil_tmp16 ;
19570  u8 __cil_tmp17 ;
19571  int __cil_tmp18 ;
19572
19573  {
19574  {
19575#line 3963
19576  mbox = (mbox_t *)(& raw_mbox);
19577#line 3965
19578  __cil_tmp6 = & mbox->m_out;
19579#line 3965
19580  __cil_tmp7 = (void *)__cil_tmp6;
19581#line 3965
19582  memset(__cil_tmp7, 0, 15UL);
19583#line 3970
19584  raw_mbox[0] = (unsigned char)169;
19585#line 3971
19586  raw_mbox[2] = (unsigned char)0;
19587#line 3973
19588  __cil_tmp8 = adapter->mega_buffer;
19589#line 3973
19590  __cil_tmp9 = (void *)__cil_tmp8;
19591#line 3973
19592  memset(__cil_tmp9, 0, 2048UL);
19593#line 3975
19594  __cil_tmp10 = adapter->buf_dma_handle;
19595#line 3975
19596  mbox->m_out.xferaddr = (unsigned int )__cil_tmp10;
19597#line 3981
19598  adapter->mega_ch_class = 255;
19599#line 3983
19600  __cil_tmp11 = (u_char *)(& raw_mbox);
19601#line 3983
19602  tmp = issue_scb_block(adapter, __cil_tmp11);
19603  }
19604#line 3983
19605  if (tmp == 0) {
19606#line 3984
19607    __cil_tmp12 = adapter->mega_buffer;
19608#line 3984
19609    __cil_tmp13 = (char *)__cil_tmp12;
19610#line 3984
19611    __cil_tmp14 = *__cil_tmp13;
19612#line 3984
19613    adapter->mega_ch_class = (int )__cil_tmp14;
19614  } else {
19615
19616  }
19617#line 3988
19618  i = 0;
19619#line 3988
19620  goto ldv_32681;
19621  ldv_32680: ;
19622  {
19623#line 3989
19624  __cil_tmp15 = adapter->mega_ch_class;
19625#line 3989
19626  __cil_tmp16 = __cil_tmp15 >> i;
19627#line 3989
19628  if (__cil_tmp16 & 1) {
19629    {
19630#line 3990
19631    printk("<6>megaraid: channel[%d] is raid.\n", i);
19632    }
19633  } else {
19634    {
19635#line 3994
19636    printk("<6>megaraid: channel[%d] is scsi.\n", i);
19637    }
19638  }
19639  }
19640#line 3988
19641  i = i + 1;
19642  ldv_32681: ;
19643  {
19644#line 3988
19645  __cil_tmp17 = adapter->product_info.nchannels;
19646#line 3988
19647  __cil_tmp18 = (int )__cil_tmp17;
19648#line 3988
19649  if (__cil_tmp18 > i) {
19650#line 3989
19651    goto ldv_32680;
19652  } else {
19653#line 3991
19654    goto ldv_32682;
19655  }
19656  }
19657  ldv_32682: ;
19658#line 3999
19659  return;
19660}
19661}
19662#line 4011 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
19663static void mega_get_boot_drv(adapter_t *adapter ) 
19664{ struct private_bios_data *prv_bios_data ;
19665  unsigned char raw_mbox[15U] ;
19666  mbox_t *mbox ;
19667  u16 cksum ;
19668  u8 *cksum_p ;
19669  u8 boot_pdrv ;
19670  int i ;
19671  u8 *tmp ;
19672  int tmp___0 ;
19673  struct mbox_out *__cil_tmp11 ;
19674  void *__cil_tmp12 ;
19675  u8 *__cil_tmp13 ;
19676  void *__cil_tmp14 ;
19677  dma_addr_t __cil_tmp15 ;
19678  u_char *__cil_tmp16 ;
19679  u8 *__cil_tmp17 ;
19680  int __cil_tmp18 ;
19681  u8 __cil_tmp19 ;
19682  u16 __cil_tmp20 ;
19683  int __cil_tmp21 ;
19684  int __cil_tmp22 ;
19685  int __cil_tmp23 ;
19686  int __cil_tmp24 ;
19687  unsigned short __cil_tmp25 ;
19688  int __cil_tmp26 ;
19689  u16 __cil_tmp27 ;
19690  int __cil_tmp28 ;
19691  u8 __cil_tmp29 ;
19692  signed char __cil_tmp30 ;
19693  int __cil_tmp31 ;
19694  u8 __cil_tmp32 ;
19695  unsigned int __cil_tmp33 ;
19696  unsigned int __cil_tmp34 ;
19697  unsigned int __cil_tmp35 ;
19698  unsigned int __cil_tmp36 ;
19699  int __cil_tmp37 ;
19700  u8 __cil_tmp38 ;
19701
19702  {
19703  {
19704#line 4016
19705  cksum = (u16 )0U;
19706#line 4021
19707  mbox = (mbox_t *)(& raw_mbox);
19708#line 4023
19709  __cil_tmp11 = & mbox->m_out;
19710#line 4023
19711  __cil_tmp12 = (void *)__cil_tmp11;
19712#line 4023
19713  memset(__cil_tmp12, 0, 15UL);
19714#line 4025
19715  raw_mbox[0] = (unsigned char)64;
19716#line 4026
19717  raw_mbox[2] = (unsigned char)0;
19718#line 4028
19719  __cil_tmp13 = adapter->mega_buffer;
19720#line 4028
19721  __cil_tmp14 = (void *)__cil_tmp13;
19722#line 4028
19723  memset(__cil_tmp14, 0, 2048UL);
19724#line 4030
19725  __cil_tmp15 = adapter->buf_dma_handle;
19726#line 4030
19727  mbox->m_out.xferaddr = (unsigned int )__cil_tmp15;
19728#line 4032
19729  adapter->boot_ldrv_enabled = 0;
19730#line 4033
19731  adapter->boot_ldrv = 0;
19732#line 4035
19733  adapter->boot_pdrv_enabled = 0;
19734#line 4036
19735  adapter->boot_pdrv_ch = 0;
19736#line 4037
19737  adapter->boot_pdrv_tgt = 0;
19738#line 4039
19739  __cil_tmp16 = (u_char *)(& raw_mbox);
19740#line 4039
19741  tmp___0 = issue_scb_block(adapter, __cil_tmp16);
19742  }
19743#line 4039
19744  if (tmp___0 == 0) {
19745#line 4040
19746    __cil_tmp17 = adapter->mega_buffer;
19747#line 4040
19748    prv_bios_data = (struct private_bios_data *)__cil_tmp17;
19749#line 4043
19750    cksum = (u16 )0U;
19751#line 4044
19752    cksum_p = (u8 *)prv_bios_data;
19753#line 4045
19754    i = 0;
19755#line 4045
19756    goto ldv_32694;
19757    ldv_32693: 
19758#line 4046
19759    tmp = cksum_p;
19760#line 4046
19761    cksum_p = cksum_p + 1;
19762#line 4046
19763    __cil_tmp18 = (int )cksum;
19764#line 4046
19765    __cil_tmp19 = *tmp;
19766#line 4046
19767    __cil_tmp20 = (u16 )__cil_tmp19;
19768#line 4046
19769    __cil_tmp21 = (int )__cil_tmp20;
19770#line 4046
19771    __cil_tmp22 = __cil_tmp21 + __cil_tmp18;
19772#line 4046
19773    cksum = (u16 )__cil_tmp22;
19774#line 4045
19775    i = i + 1;
19776    ldv_32694: ;
19777#line 4045
19778    if (i <= 13) {
19779#line 4046
19780      goto ldv_32693;
19781    } else {
19782#line 4048
19783      goto ldv_32695;
19784    }
19785    ldv_32695: ;
19786    {
19787#line 4049
19788    __cil_tmp23 = (int )cksum;
19789#line 4049
19790    __cil_tmp24 = - __cil_tmp23;
19791#line 4049
19792    __cil_tmp25 = (unsigned short )__cil_tmp24;
19793#line 4049
19794    __cil_tmp26 = (int )__cil_tmp25;
19795#line 4049
19796    __cil_tmp27 = prv_bios_data->cksum;
19797#line 4049
19798    __cil_tmp28 = (int )__cil_tmp27;
19799#line 4049
19800    if (__cil_tmp28 == __cil_tmp26) {
19801      {
19802#line 4055
19803      __cil_tmp29 = prv_bios_data->boot_drv;
19804#line 4055
19805      __cil_tmp30 = (signed char )__cil_tmp29;
19806#line 4055
19807      __cil_tmp31 = (int )__cil_tmp30;
19808#line 4055
19809      if (__cil_tmp31 < 0) {
19810#line 4056
19811        adapter->boot_pdrv_enabled = 1;
19812#line 4057
19813        __cil_tmp32 = prv_bios_data->boot_drv;
19814#line 4057
19815        __cil_tmp33 = (unsigned int )__cil_tmp32;
19816#line 4057
19817        __cil_tmp34 = __cil_tmp33 & 127U;
19818#line 4057
19819        boot_pdrv = (u8 )__cil_tmp34;
19820#line 4058
19821        __cil_tmp35 = (unsigned int )boot_pdrv;
19822#line 4058
19823        __cil_tmp36 = __cil_tmp35 / 16U;
19824#line 4058
19825        adapter->boot_pdrv_ch = (int )__cil_tmp36;
19826#line 4059
19827        __cil_tmp37 = (int )boot_pdrv;
19828#line 4059
19829        adapter->boot_pdrv_tgt = __cil_tmp37 & 15;
19830      } else {
19831#line 4062
19832        adapter->boot_ldrv_enabled = 1;
19833#line 4063
19834        __cil_tmp38 = prv_bios_data->boot_drv;
19835#line 4063
19836        adapter->boot_ldrv = (int )__cil_tmp38;
19837      }
19838      }
19839    } else {
19840
19841    }
19842    }
19843  } else {
19844
19845  }
19846#line 4066
19847  return;
19848}
19849}
19850#line 4078 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
19851static int mega_support_random_del(adapter_t *adapter ) 
19852{ unsigned char raw_mbox[15U] ;
19853  mbox_t *mbox ;
19854  int rval ;
19855  struct mbox_out *__cil_tmp5 ;
19856  void *__cil_tmp6 ;
19857  u_char *__cil_tmp7 ;
19858
19859  {
19860  {
19861#line 4084
19862  mbox = (mbox_t *)(& raw_mbox);
19863#line 4086
19864  __cil_tmp5 = & mbox->m_out;
19865#line 4086
19866  __cil_tmp6 = (void *)__cil_tmp5;
19867#line 4086
19868  memset(__cil_tmp6, 0, 15UL);
19869#line 4091
19870  raw_mbox[0] = (unsigned char)164;
19871#line 4092
19872  raw_mbox[2] = (unsigned char)42;
19873#line 4094
19874  __cil_tmp7 = (u_char *)(& raw_mbox);
19875#line 4094
19876  rval = issue_scb_block(adapter, __cil_tmp7);
19877  }
19878#line 4096
19879  return (rval == 0);
19880}
19881}
19882#line 4107 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
19883static int mega_support_ext_cdb(adapter_t *adapter ) 
19884{ unsigned char raw_mbox[15U] ;
19885  mbox_t *mbox ;
19886  int rval ;
19887  struct mbox_out *__cil_tmp5 ;
19888  void *__cil_tmp6 ;
19889  u_char *__cil_tmp7 ;
19890
19891  {
19892  {
19893#line 4113
19894  mbox = (mbox_t *)(& raw_mbox);
19895#line 4115
19896  __cil_tmp5 = & mbox->m_out;
19897#line 4115
19898  __cil_tmp6 = (void *)__cil_tmp5;
19899#line 4115
19900  memset(__cil_tmp6, 0, 15UL);
19901#line 4119
19902  raw_mbox[0] = (unsigned char)164;
19903#line 4120
19904  raw_mbox[2] = (unsigned char)22;
19905#line 4122
19906  __cil_tmp7 = (u_char *)(& raw_mbox);
19907#line 4122
19908  rval = issue_scb_block(adapter, __cil_tmp7);
19909  }
19910#line 4124
19911  return (rval == 0);
19912}
19913}
19914#line 4137 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
19915static int mega_del_logdrv(adapter_t *adapter , int logdrv ) 
19916{ unsigned long flags ;
19917  scb_t *scb ;
19918  int rval ;
19919  int tmp ;
19920  int tmp___0 ;
19921  raw_spinlock_t *tmp___1 ;
19922  struct list_head *pos ;
19923  struct list_head  const  *__mptr ;
19924  atomic_t *__cil_tmp11 ;
19925  atomic_t *__cil_tmp12 ;
19926  atomic_t const   *__cil_tmp13 ;
19927  struct list_head *__cil_tmp14 ;
19928  struct list_head  const  *__cil_tmp15 ;
19929  spinlock_t *__cil_tmp16 ;
19930  int __cil_tmp17 ;
19931  scb_t *__cil_tmp18 ;
19932  mega_passthru *__cil_tmp19 ;
19933  u8 __cil_tmp20 ;
19934  signed char __cil_tmp21 ;
19935  int __cil_tmp22 ;
19936  mega_passthru *__cil_tmp23 ;
19937  mega_passthru *__cil_tmp24 ;
19938  u8 __cil_tmp25 ;
19939  unsigned int __cil_tmp26 ;
19940  unsigned int __cil_tmp27 ;
19941  unsigned long __cil_tmp28 ;
19942  struct list_head *__cil_tmp29 ;
19943  unsigned long __cil_tmp30 ;
19944  atomic_t *__cil_tmp31 ;
19945  spinlock_t *__cil_tmp32 ;
19946
19947  {
19948  {
19949#line 4147
19950  __cil_tmp11 = & adapter->quiescent;
19951#line 4147
19952  atomic_set(__cil_tmp11, 1);
19953  }
19954#line 4153
19955  goto ldv_32716;
19956  ldv_32715: 
19957  {
19958#line 4155
19959  msleep(1000U);
19960  }
19961  ldv_32716: 
19962  {
19963#line 4153
19964  __cil_tmp12 = & adapter->pend_cmds;
19965#line 4153
19966  __cil_tmp13 = (atomic_t const   *)__cil_tmp12;
19967#line 4153
19968  tmp = atomic_read(__cil_tmp13);
19969  }
19970#line 4153
19971  if (tmp > 0) {
19972#line 4155
19973    goto ldv_32715;
19974  } else {
19975    {
19976#line 4153
19977    __cil_tmp14 = & adapter->pending_list;
19978#line 4153
19979    __cil_tmp15 = (struct list_head  const  *)__cil_tmp14;
19980#line 4153
19981    tmp___0 = list_empty(__cil_tmp15);
19982    }
19983#line 4153
19984    if (tmp___0 == 0) {
19985#line 4155
19986      goto ldv_32715;
19987    } else {
19988#line 4157
19989      goto ldv_32717;
19990    }
19991  }
19992  ldv_32717: 
19993  {
19994#line 4157
19995  rval = mega_do_del_logdrv(adapter, logdrv);
19996#line 4159
19997  __cil_tmp16 = & adapter->lock;
19998#line 4159
19999  tmp___1 = spinlock_check(__cil_tmp16);
20000#line 4159
20001  flags = _raw_spin_lock_irqsave(tmp___1);
20002  }
20003  {
20004#line 4165
20005  __cil_tmp17 = adapter->read_ldidmap;
20006#line 4165
20007  if (__cil_tmp17 != 0) {
20008#line 4167
20009    pos = adapter->pending_list.next;
20010#line 4167
20011    goto ldv_32725;
20012    ldv_32724: 
20013#line 4168
20014    __mptr = (struct list_head  const  *)pos;
20015#line 4168
20016    __cil_tmp18 = (scb_t *)__mptr;
20017#line 4168
20018    scb = __cil_tmp18 + 1152921504606846968UL;
20019    {
20020#line 4169
20021    __cil_tmp19 = scb->pthru;
20022#line 4169
20023    __cil_tmp20 = __cil_tmp19->logdrv;
20024#line 4169
20025    __cil_tmp21 = (signed char )__cil_tmp20;
20026#line 4169
20027    __cil_tmp22 = (int )__cil_tmp21;
20028#line 4169
20029    if (__cil_tmp22 >= 0) {
20030#line 4170
20031      __cil_tmp23 = scb->pthru;
20032#line 4170
20033      __cil_tmp24 = scb->pthru;
20034#line 4170
20035      __cil_tmp25 = __cil_tmp24->logdrv;
20036#line 4170
20037      __cil_tmp26 = (unsigned int )__cil_tmp25;
20038#line 4170
20039      __cil_tmp27 = __cil_tmp26 + 128U;
20040#line 4170
20041      __cil_tmp23->logdrv = (u8 )__cil_tmp27;
20042    } else {
20043
20044    }
20045    }
20046#line 4167
20047    pos = pos->next;
20048    ldv_32725: ;
20049    {
20050#line 4167
20051    __cil_tmp28 = (unsigned long )pos;
20052#line 4167
20053    __cil_tmp29 = & adapter->pending_list;
20054#line 4167
20055    __cil_tmp30 = (unsigned long )__cil_tmp29;
20056#line 4167
20057    if (__cil_tmp30 != __cil_tmp28) {
20058#line 4168
20059      goto ldv_32724;
20060    } else {
20061#line 4170
20062      goto ldv_32726;
20063    }
20064    }
20065    ldv_32726: ;
20066  } else {
20067
20068  }
20069  }
20070  {
20071#line 4174
20072  __cil_tmp31 = & adapter->quiescent;
20073#line 4174
20074  atomic_set(__cil_tmp31, 0);
20075#line 4176
20076  mega_runpendq(adapter);
20077#line 4178
20078  __cil_tmp32 = & adapter->lock;
20079#line 4178
20080  spin_unlock_irqrestore(__cil_tmp32, flags);
20081  }
20082#line 4180
20083  return (rval);
20084}
20085}
20086#line 4185 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20087static int mega_do_del_logdrv(adapter_t *adapter , int logdrv ) 
20088{ megacmd_t mc ;
20089  int rval ;
20090  void *__cil_tmp5 ;
20091  mega_passthru *__cil_tmp6 ;
20092
20093  {
20094  {
20095#line 4190
20096  __cil_tmp5 = (void *)(& mc);
20097#line 4190
20098  memset(__cil_tmp5, 0, 18UL);
20099#line 4192
20100  mc.cmd = (u8 )164U;
20101#line 4193
20102  mc.opcode = (u8 )28U;
20103#line 4194
20104  mc.subopcode = (u8 )logdrv;
20105#line 4196
20106  __cil_tmp6 = (mega_passthru *)0;
20107#line 4196
20108  rval = mega_internal_command(adapter, & mc, __cil_tmp6);
20109  }
20110#line 4199
20111  if (rval != 0) {
20112    {
20113#line 4200
20114    printk("<4>megaraid: Delete LD-%d failed.", logdrv);
20115    }
20116#line 4201
20117    return (rval);
20118  } else {
20119
20120  }
20121#line 4208
20122  adapter->read_ldidmap = 1;
20123#line 4210
20124  return (rval);
20125}
20126}
20127#line 4222 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20128static void mega_get_max_sgl(adapter_t *adapter ) 
20129{ unsigned char raw_mbox[15U] ;
20130  mbox_t *mbox ;
20131  int tmp ;
20132  void *__cil_tmp5 ;
20133  u8 *__cil_tmp6 ;
20134  void *__cil_tmp7 ;
20135  dma_addr_t __cil_tmp8 ;
20136  u_char *__cil_tmp9 ;
20137  u8 *__cil_tmp10 ;
20138  char *__cil_tmp11 ;
20139  char __cil_tmp12 ;
20140  u8 __cil_tmp13 ;
20141  unsigned int __cil_tmp14 ;
20142
20143  {
20144  {
20145#line 4227
20146  mbox = (mbox_t *)(& raw_mbox);
20147#line 4229
20148  __cil_tmp5 = (void *)mbox;
20149#line 4229
20150  memset(__cil_tmp5, 0, 15UL);
20151#line 4231
20152  __cil_tmp6 = adapter->mega_buffer;
20153#line 4231
20154  __cil_tmp7 = (void *)__cil_tmp6;
20155#line 4231
20156  memset(__cil_tmp7, 0, 2048UL);
20157#line 4233
20158  __cil_tmp8 = adapter->buf_dma_handle;
20159#line 4233
20160  mbox->m_out.xferaddr = (unsigned int )__cil_tmp8;
20161#line 4235
20162  raw_mbox[0] = (unsigned char)164;
20163#line 4236
20164  raw_mbox[2] = (unsigned char)1;
20165#line 4239
20166  __cil_tmp9 = (u_char *)(& raw_mbox);
20167#line 4239
20168  tmp = issue_scb_block(adapter, __cil_tmp9);
20169  }
20170#line 4239
20171  if (tmp != 0) {
20172#line 4243
20173    adapter->sglen = (u8 )26U;
20174  } else {
20175#line 4246
20176    __cil_tmp10 = adapter->mega_buffer;
20177#line 4246
20178    __cil_tmp11 = (char *)__cil_tmp10;
20179#line 4246
20180    __cil_tmp12 = *__cil_tmp11;
20181#line 4246
20182    adapter->sglen = (u8 )__cil_tmp12;
20183    {
20184#line 4252
20185    __cil_tmp13 = adapter->sglen;
20186#line 4252
20187    __cil_tmp14 = (unsigned int )__cil_tmp13;
20188#line 4252
20189    if (__cil_tmp14 > 64U) {
20190#line 4253
20191      adapter->sglen = (u8 )64U;
20192    } else {
20193
20194    }
20195    }
20196  }
20197#line 4256
20198  return;
20199}
20200}
20201#line 4267 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20202static int mega_support_cluster(adapter_t *adapter ) 
20203{ unsigned char raw_mbox[15U] ;
20204  mbox_t *mbox ;
20205  int tmp ;
20206  void *__cil_tmp5 ;
20207  u8 *__cil_tmp6 ;
20208  void *__cil_tmp7 ;
20209  dma_addr_t __cil_tmp8 ;
20210  u_char *__cil_tmp9 ;
20211  u8 *__cil_tmp10 ;
20212  u32 *__cil_tmp11 ;
20213  u32 __cil_tmp12 ;
20214  struct Scsi_Host *__cil_tmp13 ;
20215
20216  {
20217  {
20218#line 4272
20219  mbox = (mbox_t *)(& raw_mbox);
20220#line 4274
20221  __cil_tmp5 = (void *)mbox;
20222#line 4274
20223  memset(__cil_tmp5, 0, 15UL);
20224#line 4276
20225  __cil_tmp6 = adapter->mega_buffer;
20226#line 4276
20227  __cil_tmp7 = (void *)__cil_tmp6;
20228#line 4276
20229  memset(__cil_tmp7, 0, 2048UL);
20230#line 4278
20231  __cil_tmp8 = adapter->buf_dma_handle;
20232#line 4278
20233  mbox->m_out.xferaddr = (unsigned int )__cil_tmp8;
20234#line 4284
20235  raw_mbox[0] = (unsigned char)125;
20236#line 4286
20237  __cil_tmp9 = (u_char *)(& raw_mbox);
20238#line 4286
20239  tmp = issue_scb_block(adapter, __cil_tmp9);
20240  }
20241#line 4286
20242  if (tmp == 0) {
20243#line 4292
20244    __cil_tmp10 = adapter->mega_buffer;
20245#line 4292
20246    __cil_tmp11 = (u32 *)__cil_tmp10;
20247#line 4292
20248    __cil_tmp12 = *__cil_tmp11;
20249#line 4292
20250    adapter->this_id = (int )__cil_tmp12;
20251#line 4293
20252    __cil_tmp13 = adapter->host;
20253#line 4293
20254    __cil_tmp13->this_id = adapter->this_id;
20255#line 4295
20256    return (1);
20257  } else {
20258
20259  }
20260#line 4298
20261  return (0);
20262}
20263}
20264#line 4312 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20265static int mega_adapinq(adapter_t *adapter , dma_addr_t dma_handle ) 
20266{ megacmd_t mc ;
20267  int tmp ;
20268  void *__cil_tmp5 ;
20269  u32 __cil_tmp6 ;
20270  long __cil_tmp7 ;
20271  long __cil_tmp8 ;
20272  mega_passthru *__cil_tmp9 ;
20273
20274  {
20275  {
20276#line 4316
20277  __cil_tmp5 = (void *)(& mc);
20278#line 4316
20279  memset(__cil_tmp5, 0, 18UL);
20280  }
20281  {
20282#line 4318
20283  __cil_tmp6 = adapter->flag;
20284#line 4318
20285  __cil_tmp7 = (long )__cil_tmp6;
20286#line 4318
20287  __cil_tmp8 = __cil_tmp7 & 134217728L;
20288#line 4318
20289  if (__cil_tmp8 != 0L) {
20290#line 4319
20291    mc.cmd = (u8 )161U;
20292#line 4320
20293    mc.opcode = (u8 )15U;
20294#line 4321
20295    mc.subopcode = (u8 )2U;
20296  } else {
20297#line 4324
20298    mc.cmd = (u8 )4U;
20299  }
20300  }
20301  {
20302#line 4327
20303  mc.xferaddr = (unsigned int )dma_handle;
20304#line 4329
20305  __cil_tmp9 = (mega_passthru *)0;
20306#line 4329
20307  tmp = mega_internal_command(adapter, & mc, __cil_tmp9);
20308  }
20309#line 4329
20310  if (tmp != 0) {
20311#line 4330
20312    return (-1);
20313  } else {
20314
20315  }
20316#line 4333
20317  return (0);
20318}
20319}
20320#line 4346 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20321static int mega_internal_dev_inquiry(adapter_t *adapter , u8 ch , u8 tgt , dma_addr_t buf_dma_handle ) 
20322{ mega_passthru *pthru ;
20323  dma_addr_t pthru_dma_handle ;
20324  megacmd_t mc ;
20325  int rval ;
20326  struct pci_dev *pdev ;
20327  int tmp ;
20328  void *tmp___0 ;
20329  mega_passthru *__cil_tmp12 ;
20330  unsigned long __cil_tmp13 ;
20331  unsigned long __cil_tmp14 ;
20332  u32 __cil_tmp15 ;
20333  long __cil_tmp16 ;
20334  long __cil_tmp17 ;
20335  u32 __cil_tmp18 ;
20336  long __cil_tmp19 ;
20337  long __cil_tmp20 ;
20338  signed char __cil_tmp21 ;
20339  int __cil_tmp22 ;
20340  int __cil_tmp23 ;
20341  int __cil_tmp24 ;
20342  signed char __cil_tmp25 ;
20343  int __cil_tmp26 ;
20344  int __cil_tmp27 ;
20345  void *__cil_tmp28 ;
20346  void *__cil_tmp29 ;
20347
20348  {
20349  {
20350#line 4360
20351  tmp = make_local_pdev(adapter, & pdev);
20352  }
20353#line 4360
20354  if (tmp != 0) {
20355#line 4360
20356    return (-1);
20357  } else {
20358
20359  }
20360  {
20361#line 4362
20362  tmp___0 = pci_alloc_consistent(pdev, 60UL, & pthru_dma_handle);
20363#line 4362
20364  pthru = (mega_passthru *)tmp___0;
20365  }
20366  {
20367#line 4365
20368  __cil_tmp12 = (mega_passthru *)0;
20369#line 4365
20370  __cil_tmp13 = (unsigned long )__cil_tmp12;
20371#line 4365
20372  __cil_tmp14 = (unsigned long )pthru;
20373#line 4365
20374  if (__cil_tmp14 == __cil_tmp13) {
20375    {
20376#line 4366
20377    free_local_pdev(pdev);
20378    }
20379#line 4367
20380    return (-1);
20381  } else {
20382
20383  }
20384  }
20385#line 4370
20386  pthru->timeout = (unsigned char)2;
20387#line 4371
20388  pthru->ars = (unsigned char)1;
20389#line 4372
20390  pthru->reqsenselen = (u8 )14U;
20391#line 4373
20392  pthru->islogical = (unsigned char)0;
20393  {
20394#line 4375
20395  __cil_tmp15 = adapter->flag;
20396#line 4375
20397  __cil_tmp16 = (long )__cil_tmp15;
20398#line 4375
20399  __cil_tmp17 = __cil_tmp16 & 134217728L;
20400#line 4375
20401  if (__cil_tmp17 == 0L) {
20402#line 4375
20403    pthru->channel = ch;
20404  } else {
20405#line 4375
20406    pthru->channel = (u8 )0U;
20407  }
20408  }
20409  {
20410#line 4377
20411  __cil_tmp18 = adapter->flag;
20412#line 4377
20413  __cil_tmp19 = (long )__cil_tmp18;
20414#line 4377
20415  __cil_tmp20 = __cil_tmp19 & 134217728L;
20416#line 4377
20417  if (__cil_tmp20 != 0L) {
20418#line 4377
20419    __cil_tmp21 = (signed char )tgt;
20420#line 4377
20421    __cil_tmp22 = (int )__cil_tmp21;
20422#line 4377
20423    __cil_tmp23 = (int )ch;
20424#line 4377
20425    __cil_tmp24 = __cil_tmp23 << 4;
20426#line 4377
20427    __cil_tmp25 = (signed char )__cil_tmp24;
20428#line 4377
20429    __cil_tmp26 = (int )__cil_tmp25;
20430#line 4377
20431    __cil_tmp27 = __cil_tmp26 | __cil_tmp22;
20432#line 4377
20433    pthru->target = (u8 )__cil_tmp27;
20434  } else {
20435#line 4377
20436    pthru->target = tgt;
20437  }
20438  }
20439  {
20440#line 4379
20441  pthru->cdblen = (u8 )6U;
20442#line 4381
20443  pthru->cdb[0] = (u8 )18U;
20444#line 4382
20445  pthru->cdb[1] = (u8 )0U;
20446#line 4383
20447  pthru->cdb[2] = (u8 )0U;
20448#line 4384
20449  pthru->cdb[3] = (u8 )0U;
20450#line 4385
20451  pthru->cdb[4] = (u8 )255U;
20452#line 4386
20453  pthru->cdb[5] = (u8 )0U;
20454#line 4389
20455  pthru->dataxferaddr = (unsigned int )buf_dma_handle;
20456#line 4390
20457  pthru->dataxferlen = 256U;
20458#line 4392
20459  __cil_tmp28 = (void *)(& mc);
20460#line 4392
20461  memset(__cil_tmp28, 0, 18UL);
20462#line 4394
20463  mc.cmd = (u8 )3U;
20464#line 4395
20465  mc.xferaddr = (unsigned int )pthru_dma_handle;
20466#line 4397
20467  rval = mega_internal_command(adapter, & mc, pthru);
20468#line 4399
20469  __cil_tmp29 = (void *)pthru;
20470#line 4399
20471  pci_free_consistent(pdev, 60UL, __cil_tmp29, pthru_dma_handle);
20472#line 4402
20473  free_local_pdev(pdev);
20474  }
20475#line 4404
20476  return (rval);
20477}
20478}
20479#line 4424 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20480static int mega_internal_command(adapter_t *adapter , megacmd_t *mc , mega_passthru *pthru ) 
20481{ Scsi_Cmnd *scmd ;
20482  struct scsi_device *sdev ;
20483  scb_t *scb ;
20484  int rval ;
20485  struct scsi_cmnd *tmp ;
20486  void *tmp___0 ;
20487  size_t __len ;
20488  void *__ret ;
20489  Scsi_Cmnd *__cil_tmp12 ;
20490  unsigned long __cil_tmp13 ;
20491  unsigned long __cil_tmp14 ;
20492  struct mutex *__cil_tmp15 ;
20493  void *__cil_tmp16 ;
20494  unsigned char (*__cil_tmp17)[16U] ;
20495  void *__cil_tmp18 ;
20496  unsigned char (*__cil_tmp19)[16U] ;
20497  struct scsi_device *__cil_tmp20 ;
20498  unsigned char *__cil_tmp21 ;
20499  u32 __cil_tmp22 ;
20500  u8 (*__cil_tmp23)[66U] ;
20501  void *__cil_tmp24 ;
20502  void const   *__cil_tmp25 ;
20503  u8 (*__cil_tmp26)[66U] ;
20504  void *__cil_tmp27 ;
20505  void const   *__cil_tmp28 ;
20506  u8 __cil_tmp29 ;
20507  unsigned int __cil_tmp30 ;
20508  struct completion *__cil_tmp31 ;
20509  int __cil_tmp32 ;
20510  void const   *__cil_tmp33 ;
20511  int __cil_tmp34 ;
20512  u8 __cil_tmp35 ;
20513  int __cil_tmp36 ;
20514  u8 __cil_tmp37 ;
20515  int __cil_tmp38 ;
20516  u8 __cil_tmp39 ;
20517  int __cil_tmp40 ;
20518  int __cil_tmp41 ;
20519  struct mutex *__cil_tmp42 ;
20520
20521  {
20522  {
20523#line 4431
20524  tmp = scsi_allocate_command(208U);
20525#line 4431
20526  scmd = tmp;
20527  }
20528  {
20529#line 4432
20530  __cil_tmp12 = (Scsi_Cmnd *)0;
20531#line 4432
20532  __cil_tmp13 = (unsigned long )__cil_tmp12;
20533#line 4432
20534  __cil_tmp14 = (unsigned long )scmd;
20535#line 4432
20536  if (__cil_tmp14 == __cil_tmp13) {
20537#line 4433
20538    return (-12);
20539  } else {
20540
20541  }
20542  }
20543  {
20544#line 4440
20545  __cil_tmp15 = & adapter->int_mtx;
20546#line 4440
20547  mutex_lock_nested(__cil_tmp15, 0U);
20548#line 4442
20549  scb = & adapter->int_scb;
20550#line 4443
20551  __cil_tmp16 = (void *)scb;
20552#line 4443
20553  memset(__cil_tmp16, 0, 184UL);
20554#line 4445
20555  tmp___0 = kzalloc(2832UL, 208U);
20556#line 4445
20557  sdev = (struct scsi_device *)tmp___0;
20558#line 4446
20559  scmd->device = sdev;
20560#line 4448
20561  __cil_tmp17 = & adapter->int_cdb;
20562#line 4448
20563  __cil_tmp18 = (void *)__cil_tmp17;
20564#line 4448
20565  memset(__cil_tmp18, 0, 16UL);
20566#line 4449
20567  __cil_tmp19 = & adapter->int_cdb;
20568#line 4449
20569  scmd->cmnd = (unsigned char *)__cil_tmp19;
20570#line 4450
20571  __cil_tmp20 = scmd->device;
20572#line 4450
20573  __cil_tmp20->host = adapter->host;
20574#line 4451
20575  scmd->host_scribble = (unsigned char *)scb;
20576#line 4452
20577  __cil_tmp21 = scmd->cmnd;
20578#line 4452
20579  *__cil_tmp21 = (unsigned char)225;
20580#line 4454
20581  __cil_tmp22 = scb->state;
20582#line 4454
20583  scb->state = __cil_tmp22 | 1U;
20584#line 4455
20585  scb->cmd = scmd;
20586#line 4457
20587  __len = 18UL;
20588  }
20589#line 4457
20590  if (__len > 63UL) {
20591    {
20592#line 4457
20593    __cil_tmp23 = & scb->raw_mbox;
20594#line 4457
20595    __cil_tmp24 = (void *)__cil_tmp23;
20596#line 4457
20597    __cil_tmp25 = (void const   *)mc;
20598#line 4457
20599    __ret = __memcpy(__cil_tmp24, __cil_tmp25, __len);
20600    }
20601  } else {
20602    {
20603#line 4457
20604    __cil_tmp26 = & scb->raw_mbox;
20605#line 4457
20606    __cil_tmp27 = (void *)__cil_tmp26;
20607#line 4457
20608    __cil_tmp28 = (void const   *)mc;
20609#line 4457
20610    __ret = __builtin_memcpy(__cil_tmp27, __cil_tmp28, __len);
20611    }
20612  }
20613  {
20614#line 4462
20615  __cil_tmp29 = mc->cmd;
20616#line 4462
20617  __cil_tmp30 = (unsigned int )__cil_tmp29;
20618#line 4462
20619  if (__cil_tmp30 == 3U) {
20620#line 4464
20621    scb->pthru = pthru;
20622  } else {
20623
20624  }
20625  }
20626  {
20627#line 4467
20628  scb->idx = 127;
20629#line 4469
20630  megaraid_queue_lck(scmd, & mega_internal_done);
20631#line 4471
20632  __cil_tmp31 = & adapter->int_waitq;
20633#line 4471
20634  wait_for_completion(__cil_tmp31);
20635#line 4473
20636  rval = scmd->result;
20637#line 4474
20638  __cil_tmp32 = scmd->result;
20639#line 4474
20640  mc->status = (u8 )__cil_tmp32;
20641#line 4475
20642  __cil_tmp33 = (void const   *)sdev;
20643#line 4475
20644  kfree(__cil_tmp33);
20645  }
20646  {
20647#line 4481
20648  __cil_tmp34 = scmd->result;
20649#line 4481
20650  if (__cil_tmp34 != 0) {
20651#line 4481
20652    if (trace_level != 0) {
20653      {
20654#line 4482
20655      __cil_tmp35 = mc->cmd;
20656#line 4482
20657      __cil_tmp36 = (int )__cil_tmp35;
20658#line 4482
20659      __cil_tmp37 = mc->opcode;
20660#line 4482
20661      __cil_tmp38 = (int )__cil_tmp37;
20662#line 4482
20663      __cil_tmp39 = mc->subopcode;
20664#line 4482
20665      __cil_tmp40 = (int )__cil_tmp39;
20666#line 4482
20667      __cil_tmp41 = scmd->result;
20668#line 4482
20669      printk("megaraid: cmd [%x, %x, %x] status:[%x]\n", __cil_tmp36, __cil_tmp38,
20670             __cil_tmp40, __cil_tmp41);
20671      }
20672    } else {
20673
20674    }
20675  } else {
20676
20677  }
20678  }
20679  {
20680#line 4486
20681  __cil_tmp42 = & adapter->int_mtx;
20682#line 4486
20683  mutex_unlock(__cil_tmp42);
20684#line 4488
20685  scsi_free_command(208U, scmd);
20686  }
20687#line 4490
20688  return (rval);
20689}
20690}
20691#line 4501 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20692static void mega_internal_done(Scsi_Cmnd *scmd ) 
20693{ adapter_t *adapter ;
20694  struct scsi_device *__cil_tmp3 ;
20695  struct Scsi_Host *__cil_tmp4 ;
20696  unsigned long (*__cil_tmp5)[0U] ;
20697  struct completion *__cil_tmp6 ;
20698
20699  {
20700  {
20701#line 4505
20702  __cil_tmp3 = scmd->device;
20703#line 4505
20704  __cil_tmp4 = __cil_tmp3->host;
20705#line 4505
20706  __cil_tmp5 = & __cil_tmp4->hostdata;
20707#line 4505
20708  adapter = (adapter_t *)__cil_tmp5;
20709#line 4507
20710  __cil_tmp6 = & adapter->int_waitq;
20711#line 4507
20712  complete(__cil_tmp6);
20713  }
20714#line 4508
20715  return;
20716}
20717}
20718#line 4512 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20719static struct scsi_host_template megaraid_template  = 
20720#line 4512
20721     {& __this_module, "MegaRAID", (int (*)(struct scsi_host_template * ))0, (int (*)(struct Scsi_Host * ))0,
20722    & megaraid_info, (int (*)(struct scsi_device * , int  , void * ))0, (int (*)(struct scsi_device * ,
20723                                                                                 int  ,
20724                                                                                 void * ))0,
20725    & megaraid_queue, (int (*)(struct scsi_cmnd * , void (*)(struct scsi_cmnd * ) ))0,
20726    & megaraid_abort, & megaraid_reset, (int (*)(struct scsi_cmnd * ))0, & megaraid_reset,
20727    & megaraid_reset, (int (*)(struct scsi_device * ))0, (int (*)(struct scsi_device * ))0,
20728    (void (*)(struct scsi_device * ))0, (int (*)(struct scsi_target * ))0, (void (*)(struct scsi_target * ))0,
20729    (int (*)(struct Scsi_Host * , unsigned long  ))0, (void (*)(struct Scsi_Host * ))0,
20730    (int (*)(struct scsi_device * , int  , int  ))0, (int (*)(struct scsi_device * ,
20731                                                              int  ))0, & megaraid_biosparam,
20732    (void (*)(struct scsi_device * ))0, (int (*)(struct Scsi_Host * , char * , char ** ,
20733                                                 off_t  , int  , int  ))0, (enum blk_eh_timer_return (*)(struct scsi_cmnd * ))0,
20734    "megaraid_legacy", (struct proc_dir_entry *)0, 126, 7, (unsigned short)64, (unsigned short)0,
20735    (unsigned short)128, 0UL, (short)63, (unsigned char)0, (unsigned char)0, (unsigned char)0,
20736    (unsigned char)1, (unsigned char)0, (unsigned char)0, (unsigned char)0, 0U, (struct device_attribute **)0,
20737    (struct device_attribute **)0, {(struct list_head *)0, (struct list_head *)0},
20738    0ULL};
20739#line 4532 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
20740static int megaraid_probe_one(struct pci_dev *pdev , struct pci_device_id  const  *id ) 
20741{ struct Scsi_Host *host ;
20742  adapter_t *adapter ;
20743  unsigned long mega_baseport ;
20744  unsigned long tbase ;
20745  unsigned long flag ;
20746  u16 subsysid ;
20747  u16 subsysvid ;
20748  u8 pci_bus ;
20749  u8 pci_dev_func ;
20750  int irq ;
20751  int i ;
20752  int j ;
20753  int error ;
20754  int tmp ;
20755  u16 magic ;
20756  u32 magic64 ;
20757  struct resource *tmp___0 ;
20758  void *tmp___1 ;
20759  struct resource *tmp___2 ;
20760  struct lock_class_key __key ;
20761  void *tmp___3 ;
20762  void *tmp___4 ;
20763  irqreturn_t (*tmp___5)(int irq , void *devp ) ;
20764  int tmp___6 ;
20765  int tmp___7 ;
20766  int tmp___8 ;
20767  int tmp___9 ;
20768  int tmp___10 ;
20769  int tmp___11 ;
20770  int tmp___12 ;
20771  int tmp___13 ;
20772  int tmp___14 ;
20773  int tmp___15 ;
20774  struct lock_class_key __key___0 ;
20775  struct pci_bus *__cil_tmp37 ;
20776  unsigned int __cil_tmp38 ;
20777  unsigned short __cil_tmp39 ;
20778  unsigned int __cil_tmp40 ;
20779  unsigned short __cil_tmp41 ;
20780  unsigned int __cil_tmp42 ;
20781  unsigned short __cil_tmp43 ;
20782  unsigned int __cil_tmp44 ;
20783  unsigned int __cil_tmp45 ;
20784  unsigned int __cil_tmp46 ;
20785  kernel_ulong_t __cil_tmp47 ;
20786  unsigned long __cil_tmp48 ;
20787  unsigned long __cil_tmp49 ;
20788  __u32 __cil_tmp50 ;
20789  __u32 __cil_tmp51 ;
20790  int __cil_tmp52 ;
20791  int __cil_tmp53 ;
20792  int __cil_tmp54 ;
20793  int __cil_tmp55 ;
20794  int __cil_tmp56 ;
20795  int __cil_tmp57 ;
20796  resource_size_t __cil_tmp58 ;
20797  unsigned int __cil_tmp59 ;
20798  unsigned long __cil_tmp60 ;
20799  unsigned long __cil_tmp61 ;
20800  resource_size_t __cil_tmp62 ;
20801  struct resource *__cil_tmp63 ;
20802  unsigned long __cil_tmp64 ;
20803  unsigned long __cil_tmp65 ;
20804  resource_size_t __cil_tmp66 ;
20805  resource_size_t __cil_tmp67 ;
20806  struct resource *__cil_tmp68 ;
20807  unsigned long __cil_tmp69 ;
20808  unsigned long __cil_tmp70 ;
20809  struct Scsi_Host *__cil_tmp71 ;
20810  unsigned long __cil_tmp72 ;
20811  unsigned long __cil_tmp73 ;
20812  unsigned long (*__cil_tmp74)[0U] ;
20813  void *__cil_tmp75 ;
20814  unsigned int __cil_tmp76 ;
20815  unsigned long __cil_tmp77 ;
20816  struct list_head *__cil_tmp78 ;
20817  struct list_head *__cil_tmp79 ;
20818  struct list_head *__cil_tmp80 ;
20819  spinlock_t *__cil_tmp81 ;
20820  struct raw_spinlock *__cil_tmp82 ;
20821  struct Scsi_Host *__cil_tmp83 ;
20822  unsigned long __cil_tmp84 ;
20823  struct Scsi_Host *__cil_tmp85 ;
20824  struct Scsi_Host *__cil_tmp86 ;
20825  struct Scsi_Host *__cil_tmp87 ;
20826  struct Scsi_Host *__cil_tmp88 ;
20827  int __cil_tmp89 ;
20828  int __cil_tmp90 ;
20829  int __cil_tmp91 ;
20830  int __cil_tmp92 ;
20831  struct pci_dev *__cil_tmp93 ;
20832  dma_addr_t *__cil_tmp94 ;
20833  u8 *__cil_tmp95 ;
20834  unsigned long __cil_tmp96 ;
20835  u8 *__cil_tmp97 ;
20836  unsigned long __cil_tmp98 ;
20837  scb_t *__cil_tmp99 ;
20838  unsigned long __cil_tmp100 ;
20839  scb_t *__cil_tmp101 ;
20840  unsigned long __cil_tmp102 ;
20841  u32 __cil_tmp103 ;
20842  long __cil_tmp104 ;
20843  long __cil_tmp105 ;
20844  unsigned int __cil_tmp106 ;
20845  void *__cil_tmp107 ;
20846  unsigned int __cil_tmp108 ;
20847  unsigned int __cil_tmp109 ;
20848  u8 (*__cil_tmp110)[7U] ;
20849  char const   *__cil_tmp111 ;
20850  u8 (*__cil_tmp112)[7U] ;
20851  char const   *__cil_tmp113 ;
20852  unsigned int __cil_tmp114 ;
20853  unsigned int __cil_tmp115 ;
20854  unsigned int __cil_tmp116 ;
20855  u8 (*__cil_tmp117)[7U] ;
20856  char const   *__cil_tmp118 ;
20857  u32 __cil_tmp119 ;
20858  u8 (*__cil_tmp120)[7U] ;
20859  char const   *__cil_tmp121 ;
20860  u32 __cil_tmp122 ;
20861  u8 (*__cil_tmp123)[7U] ;
20862  char const   *__cil_tmp124 ;
20863  u32 __cil_tmp125 ;
20864  int __cil_tmp126 ;
20865  u8 __cil_tmp127 ;
20866  int __cil_tmp128 ;
20867  int __cil_tmp129 ;
20868  atomic_t *__cil_tmp130 ;
20869  atomic_t *__cil_tmp131 ;
20870  __u32 __cil_tmp132 ;
20871  unsigned int __cil_tmp133 ;
20872  unsigned int __cil_tmp134 ;
20873  __u32 __cil_tmp135 ;
20874  int __cil_tmp136 ;
20875  int __cil_tmp137 ;
20876  int __cil_tmp138 ;
20877  int __cil_tmp139 ;
20878  int __cil_tmp140 ;
20879  int __cil_tmp141 ;
20880  u32 __cil_tmp142 ;
20881  long __cil_tmp143 ;
20882  long __cil_tmp144 ;
20883  struct mutex *__cil_tmp145 ;
20884  struct completion *__cil_tmp146 ;
20885  struct Scsi_Host *__cil_tmp147 ;
20886  int __cil_tmp148 ;
20887  int __cil_tmp149 ;
20888  void *__cil_tmp150 ;
20889  struct device *__cil_tmp151 ;
20890  struct pci_dev *__cil_tmp152 ;
20891  mbox64_t *__cil_tmp153 ;
20892  void *__cil_tmp154 ;
20893  dma_addr_t __cil_tmp155 ;
20894  struct Scsi_Host *__cil_tmp156 ;
20895  unsigned int __cil_tmp157 ;
20896  void *__cil_tmp158 ;
20897  scb_t *__cil_tmp159 ;
20898  void const   *__cil_tmp160 ;
20899  struct pci_dev *__cil_tmp161 ;
20900  u8 *__cil_tmp162 ;
20901  void *__cil_tmp163 ;
20902  dma_addr_t __cil_tmp164 ;
20903  unsigned long __cil_tmp165 ;
20904  void volatile   *__cil_tmp166 ;
20905  unsigned long __cil_tmp167 ;
20906  resource_size_t __cil_tmp168 ;
20907  resource_size_t __cil_tmp169 ;
20908
20909  {
20910  {
20911#line 4536
20912  flag = 0UL;
20913#line 4540
20914  error = -19;
20915#line 4542
20916  tmp = pci_enable_device(pdev);
20917  }
20918#line 4542
20919  if (tmp != 0) {
20920#line 4543
20921    goto out;
20922  } else {
20923
20924  }
20925  {
20926#line 4544
20927  pci_set_master(pdev);
20928#line 4546
20929  __cil_tmp37 = pdev->bus;
20930#line 4546
20931  pci_bus = __cil_tmp37->number;
20932#line 4547
20933  __cil_tmp38 = pdev->devfn;
20934#line 4547
20935  pci_dev_func = (u8 )__cil_tmp38;
20936  }
20937  {
20938#line 4553
20939  __cil_tmp39 = pdev->vendor;
20940#line 4553
20941  __cil_tmp40 = (unsigned int )__cil_tmp39;
20942#line 4553
20943  if (__cil_tmp40 == 32902U) {
20944    {
20945#line 4559
20946    __cil_tmp41 = pdev->subsystem_vendor;
20947#line 4559
20948    __cil_tmp42 = (unsigned int )__cil_tmp41;
20949#line 4559
20950    if (__cil_tmp42 == 3601U) {
20951      {
20952#line 4559
20953      __cil_tmp43 = pdev->subsystem_device;
20954#line 4559
20955      __cil_tmp44 = (unsigned int )__cil_tmp43;
20956#line 4559
20957      if (__cil_tmp44 == 49152U) {
20958#line 4561
20959        return (-19);
20960      } else {
20961
20962      }
20963      }
20964    } else {
20965
20966    }
20967    }
20968    {
20969#line 4563
20970    pci_read_config_word(pdev, 160, & magic);
20971    }
20972    {
20973#line 4564
20974    __cil_tmp45 = (unsigned int )magic;
20975#line 4564
20976    if (__cil_tmp45 != 52428U) {
20977      {
20978#line 4564
20979      __cil_tmp46 = (unsigned int )magic;
20980#line 4564
20981      if (__cil_tmp46 != 13124U) {
20982#line 4565
20983        return (-19);
20984      } else {
20985
20986      }
20987      }
20988    } else {
20989
20990    }
20991    }
20992  } else {
20993
20994  }
20995  }
20996  {
20997#line 4573
20998  __cil_tmp47 = id->driver_data;
20999#line 4573
21000  __cil_tmp48 = (unsigned long )__cil_tmp47;
21001#line 4573
21002  __cil_tmp49 = __cil_tmp48 & 67108864UL;
21003#line 4573
21004  if (__cil_tmp49 != 0UL) {
21005#line 4574
21006    flag = flag | 67108864UL;
21007  } else {
21008    {
21009#line 4578
21010    pci_read_config_dword(pdev, 164, & magic64);
21011    }
21012#line 4579
21013    if (magic64 == 665U) {
21014#line 4580
21015      flag = flag | 67108864UL;
21016    } else {
21017
21018    }
21019  }
21020  }
21021  {
21022#line 4583
21023  subsysvid = pdev->subsystem_vendor;
21024#line 4584
21025  subsysid = pdev->subsystem_device;
21026#line 4586
21027  __cil_tmp50 = id->vendor;
21028#line 4586
21029  __cil_tmp51 = id->device;
21030#line 4586
21031  __cil_tmp52 = (int )pci_bus;
21032#line 4586
21033  printk("<5>megaraid: found 0x%4.04x:0x%4.04x:bus %d:", __cil_tmp50, __cil_tmp51,
21034         __cil_tmp52);
21035#line 4589
21036  __cil_tmp53 = (int )pci_dev_func;
21037#line 4589
21038  __cil_tmp54 = __cil_tmp53 >> 3;
21039#line 4589
21040  __cil_tmp55 = __cil_tmp54 & 31;
21041#line 4589
21042  __cil_tmp56 = (int )pci_dev_func;
21043#line 4589
21044  __cil_tmp57 = __cil_tmp56 & 7;
21045#line 4589
21046  printk("slot %d:func %d\n", __cil_tmp55, __cil_tmp57);
21047#line 4593
21048  __cil_tmp58 = pdev->resource[0].start;
21049#line 4593
21050  mega_baseport = (unsigned long )__cil_tmp58;
21051#line 4594
21052  __cil_tmp59 = pdev->irq;
21053#line 4594
21054  irq = (int )__cil_tmp59;
21055#line 4596
21056  tbase = mega_baseport;
21057  }
21058  {
21059#line 4597
21060  __cil_tmp60 = pdev->resource[0].flags;
21061#line 4597
21062  __cil_tmp61 = __cil_tmp60 & 512UL;
21063#line 4597
21064  if (__cil_tmp61 != 0UL) {
21065    {
21066#line 4598
21067    flag = flag | 536870912UL;
21068#line 4600
21069    __cil_tmp62 = (resource_size_t )mega_baseport;
21070#line 4600
21071    tmp___0 = __request_region(& iomem_resource, __cil_tmp62, 128ULL, "megaraid",
21072                               0);
21073    }
21074    {
21075#line 4600
21076    __cil_tmp63 = (struct resource *)0;
21077#line 4600
21078    __cil_tmp64 = (unsigned long )__cil_tmp63;
21079#line 4600
21080    __cil_tmp65 = (unsigned long )tmp___0;
21081#line 4600
21082    if (__cil_tmp65 == __cil_tmp64) {
21083      {
21084#line 4601
21085      printk("<4>megaraid: mem region busy!\n");
21086      }
21087#line 4602
21088      goto out_disable_device;
21089    } else {
21090
21091    }
21092    }
21093    {
21094#line 4605
21095    __cil_tmp66 = (resource_size_t )mega_baseport;
21096#line 4605
21097    tmp___1 = ioremap(__cil_tmp66, 128UL);
21098#line 4605
21099    mega_baseport = (unsigned long )tmp___1;
21100    }
21101#line 4606
21102    if (mega_baseport == 0UL) {
21103      {
21104#line 4607
21105      printk("<4>megaraid: could not map hba memory\n");
21106      }
21107#line 4609
21108      goto out_release_region;
21109    } else {
21110
21111    }
21112  } else {
21113    {
21114#line 4612
21115    flag = flag | 268435456UL;
21116#line 4613
21117    mega_baseport = mega_baseport + 16UL;
21118#line 4615
21119    __cil_tmp67 = (resource_size_t )mega_baseport;
21120#line 4615
21121    tmp___2 = __request_region(& ioport_resource, __cil_tmp67, 16ULL, "megaraid",
21122                               0);
21123    }
21124    {
21125#line 4615
21126    __cil_tmp68 = (struct resource *)0;
21127#line 4615
21128    __cil_tmp69 = (unsigned long )__cil_tmp68;
21129#line 4615
21130    __cil_tmp70 = (unsigned long )tmp___2;
21131#line 4615
21132    if (__cil_tmp70 == __cil_tmp69) {
21133#line 4616
21134      goto out_disable_device;
21135    } else {
21136
21137    }
21138    }
21139  }
21140  }
21141  {
21142#line 4620
21143  host = scsi_host_alloc(& megaraid_template, 1928);
21144  }
21145  {
21146#line 4621
21147  __cil_tmp71 = (struct Scsi_Host *)0;
21148#line 4621
21149  __cil_tmp72 = (unsigned long )__cil_tmp71;
21150#line 4621
21151  __cil_tmp73 = (unsigned long )host;
21152#line 4621
21153  if (__cil_tmp73 == __cil_tmp72) {
21154#line 4622
21155    goto out_iounmap;
21156  } else {
21157
21158  }
21159  }
21160  {
21161#line 4624
21162  __cil_tmp74 = & host->hostdata;
21163#line 4624
21164  adapter = (adapter_t *)__cil_tmp74;
21165#line 4625
21166  __cil_tmp75 = (void *)adapter;
21167#line 4625
21168  memset(__cil_tmp75, 0, 1928UL);
21169#line 4627
21170  __cil_tmp76 = host->host_no;
21171#line 4627
21172  printk("<5>scsi%d:Found MegaRAID controller at 0x%lx, IRQ:%d\n", __cil_tmp76, mega_baseport,
21173         irq);
21174#line 4631
21175  adapter->base = mega_baseport;
21176  }
21177  {
21178#line 4632
21179  __cil_tmp77 = flag & 536870912UL;
21180#line 4632
21181  if (__cil_tmp77 != 0UL) {
21182#line 4633
21183    adapter->mmio_base = (void *)mega_baseport;
21184  } else {
21185
21186  }
21187  }
21188  {
21189#line 4635
21190  __cil_tmp78 = & adapter->free_list;
21191#line 4635
21192  INIT_LIST_HEAD(__cil_tmp78);
21193#line 4636
21194  __cil_tmp79 = & adapter->pending_list;
21195#line 4636
21196  INIT_LIST_HEAD(__cil_tmp79);
21197#line 4637
21198  __cil_tmp80 = & adapter->completed_list;
21199#line 4637
21200  INIT_LIST_HEAD(__cil_tmp80);
21201#line 4639
21202  adapter->flag = (u32 )flag;
21203#line 4640
21204  __cil_tmp81 = & adapter->lock;
21205#line 4640
21206  spinlock_check(__cil_tmp81);
21207#line 4640
21208  __cil_tmp82 = & adapter->lock.ldv_6060.rlock;
21209#line 4640
21210  __raw_spin_lock_init(__cil_tmp82, "&(&adapter->lock)->rlock", & __key);
21211#line 4642
21212  host->cmd_per_lun = (short )max_cmd_per_lun;
21213#line 4643
21214  host->max_sectors = max_sectors_per_io;
21215#line 4645
21216  adapter->dev = pdev;
21217#line 4646
21218  adapter->host = host;
21219#line 4648
21220  __cil_tmp83 = adapter->host;
21221#line 4648
21222  __cil_tmp83->irq = (unsigned int )irq;
21223  }
21224  {
21225#line 4650
21226  __cil_tmp84 = flag & 536870912UL;
21227#line 4650
21228  if (__cil_tmp84 != 0UL) {
21229#line 4651
21230    __cil_tmp85 = adapter->host;
21231#line 4651
21232    __cil_tmp85->base = tbase;
21233  } else {
21234#line 4653
21235    __cil_tmp86 = adapter->host;
21236#line 4653
21237    __cil_tmp86->io_port = tbase;
21238#line 4654
21239    __cil_tmp87 = adapter->host;
21240#line 4654
21241    __cil_tmp87->n_io_port = (unsigned char)16;
21242  }
21243  }
21244  {
21245#line 4657
21246  __cil_tmp88 = adapter->host;
21247#line 4657
21248  __cil_tmp89 = (int )pci_dev_func;
21249#line 4657
21250  __cil_tmp90 = (int )pci_bus;
21251#line 4657
21252  __cil_tmp91 = __cil_tmp90 << 8;
21253#line 4657
21254  __cil_tmp92 = __cil_tmp91 | __cil_tmp89;
21255#line 4657
21256  __cil_tmp88->unique_id = (unsigned int )__cil_tmp92;
21257#line 4662
21258  __cil_tmp93 = adapter->dev;
21259#line 4662
21260  __cil_tmp94 = & adapter->buf_dma_handle;
21261#line 4662
21262  tmp___3 = pci_alloc_consistent(__cil_tmp93, 2048UL, __cil_tmp94);
21263#line 4662
21264  adapter->mega_buffer = (u8 *)tmp___3;
21265  }
21266  {
21267#line 4664
21268  __cil_tmp95 = (u8 *)0;
21269#line 4664
21270  __cil_tmp96 = (unsigned long )__cil_tmp95;
21271#line 4664
21272  __cil_tmp97 = adapter->mega_buffer;
21273#line 4664
21274  __cil_tmp98 = (unsigned long )__cil_tmp97;
21275#line 4664
21276  if (__cil_tmp98 == __cil_tmp96) {
21277    {
21278#line 4665
21279    printk("<4>megaraid: out of RAM.\n");
21280    }
21281#line 4666
21282    goto out_host_put;
21283  } else {
21284
21285  }
21286  }
21287  {
21288#line 4669
21289  tmp___4 = kmalloc(23184UL, 208U);
21290#line 4669
21291  adapter->scb_list = (scb_t *)tmp___4;
21292  }
21293  {
21294#line 4670
21295  __cil_tmp99 = (scb_t *)0;
21296#line 4670
21297  __cil_tmp100 = (unsigned long )__cil_tmp99;
21298#line 4670
21299  __cil_tmp101 = adapter->scb_list;
21300#line 4670
21301  __cil_tmp102 = (unsigned long )__cil_tmp101;
21302#line 4670
21303  if (__cil_tmp102 == __cil_tmp100) {
21304    {
21305#line 4671
21306    printk("<4>megaraid: out of RAM.\n");
21307    }
21308#line 4672
21309    goto out_free_cmd_buffer;
21310  } else {
21311
21312  }
21313  }
21314  {
21315#line 4675
21316  __cil_tmp103 = adapter->flag;
21317#line 4675
21318  __cil_tmp104 = (long )__cil_tmp103;
21319#line 4675
21320  __cil_tmp105 = __cil_tmp104 & 536870912L;
21321#line 4675
21322  if (__cil_tmp105 != 0L) {
21323#line 4675
21324    tmp___5 = & megaraid_isr_memmapped;
21325  } else {
21326#line 4675
21327    tmp___5 = & megaraid_isr_iomapped;
21328  }
21329  }
21330  {
21331#line 4675
21332  __cil_tmp106 = (unsigned int )irq;
21333#line 4675
21334  __cil_tmp107 = (void *)adapter;
21335#line 4675
21336  tmp___6 = request_irq(__cil_tmp106, tmp___5, 128UL, "megaraid", __cil_tmp107);
21337  }
21338#line 4675
21339  if (tmp___6 != 0) {
21340    {
21341#line 4678
21342    printk("<4>megaraid: Couldn\'t register IRQ %d!\n", irq);
21343    }
21344#line 4680
21345    goto out_free_scb_list;
21346  } else {
21347
21348  }
21349  {
21350#line 4683
21351  tmp___7 = mega_setup_mailbox(adapter);
21352  }
21353#line 4683
21354  if (tmp___7 != 0) {
21355#line 4684
21356    goto out_free_irq;
21357  } else {
21358
21359  }
21360  {
21361#line 4686
21362  tmp___8 = mega_query_adapter(adapter);
21363  }
21364#line 4686
21365  if (tmp___8 != 0) {
21366#line 4687
21367    goto out_free_mbox;
21368  } else {
21369
21370  }
21371  {
21372#line 4692
21373  __cil_tmp108 = (unsigned int )subsysid;
21374#line 4692
21375  if (__cil_tmp108 == 4369U) {
21376    {
21377#line 4692
21378    __cil_tmp109 = (unsigned int )subsysvid;
21379#line 4692
21380    if (__cil_tmp109 == 4369U) {
21381      {
21382#line 4696
21383      __cil_tmp110 = & adapter->fw_version;
21384#line 4696
21385      __cil_tmp111 = (char const   *)__cil_tmp110;
21386#line 4696
21387      tmp___9 = strcmp(__cil_tmp111, "3.00");
21388      }
21389#line 4696
21390      if (tmp___9 == 0) {
21391        {
21392#line 4699
21393        printk("<4>megaraid: Your  card is a Dell PERC 2/SC RAID controller with  firmware\nmegaraid: 3.00 or 3.01.  This driver is known to have corruption issues\nmegaraid: with those firmware versions on this specific card.  In order\nmegaraid: to protect your data, please upgrade your firmware to version\nmegaraid: 3.10 or later, available from the Dell Technical Support web\nmegaraid: site at\nhttp://support.dell.com/us/en/filelib/download/index.asp?fileid=2940\n");
21394        }
21395      } else {
21396        {
21397#line 4696
21398        __cil_tmp112 = & adapter->fw_version;
21399#line 4696
21400        __cil_tmp113 = (char const   *)__cil_tmp112;
21401#line 4696
21402        tmp___10 = strcmp(__cil_tmp113, "3.01");
21403        }
21404#line 4696
21405        if (tmp___10 == 0) {
21406          {
21407#line 4699
21408          printk("<4>megaraid: Your  card is a Dell PERC 2/SC RAID controller with  firmware\nmegaraid: 3.00 or 3.01.  This driver is known to have corruption issues\nmegaraid: with those firmware versions on this specific card.  In order\nmegaraid: to protect your data, please upgrade your firmware to version\nmegaraid: 3.10 or later, available from the Dell Technical Support web\nmegaraid: site at\nhttp://support.dell.com/us/en/filelib/download/index.asp?fileid=2940\n");
21409          }
21410        } else {
21411
21412        }
21413      }
21414    } else {
21415
21416    }
21417    }
21418  } else {
21419
21420  }
21421  }
21422  {
21423#line 4724
21424  __cil_tmp114 = (unsigned int )subsysvid;
21425#line 4724
21426  if (__cil_tmp114 == 4156U) {
21427    {
21428#line 4724
21429    __cil_tmp115 = (unsigned int )subsysid;
21430#line 4724
21431    if (__cil_tmp115 == 24807U) {
21432#line 4724
21433      goto _L;
21434    } else {
21435      {
21436#line 4724
21437      __cil_tmp116 = (unsigned int )subsysid;
21438#line 4724
21439      if (__cil_tmp116 == 24808U) {
21440        _L: 
21441        {
21442#line 4729
21443        __cil_tmp117 = & adapter->fw_version;
21444#line 4729
21445        __cil_tmp118 = (char const   *)__cil_tmp117;
21446#line 4729
21447        tmp___11 = strcmp(__cil_tmp118, "H01.07");
21448        }
21449#line 4729
21450        if (tmp___11 == 0) {
21451          {
21452#line 4732
21453          printk("<4>megaraid: Firmware H.01.07, H.01.08, and H.01.09 on 1M/2M controllers\nmegaraid: do not support 64 bit addressing.\nmegaraid: DISABLING 64 bit support.\n");
21454#line 4739
21455          __cil_tmp119 = adapter->flag;
21456#line 4739
21457          adapter->flag = __cil_tmp119 & 4227858431U;
21458          }
21459        } else {
21460          {
21461#line 4729
21462          __cil_tmp120 = & adapter->fw_version;
21463#line 4729
21464          __cil_tmp121 = (char const   *)__cil_tmp120;
21465#line 4729
21466          tmp___12 = strcmp(__cil_tmp121, "H01.08");
21467          }
21468#line 4729
21469          if (tmp___12 == 0) {
21470            {
21471#line 4732
21472            printk("<4>megaraid: Firmware H.01.07, H.01.08, and H.01.09 on 1M/2M controllers\nmegaraid: do not support 64 bit addressing.\nmegaraid: DISABLING 64 bit support.\n");
21473#line 4739
21474            __cil_tmp122 = adapter->flag;
21475#line 4739
21476            adapter->flag = __cil_tmp122 & 4227858431U;
21477            }
21478          } else {
21479            {
21480#line 4729
21481            __cil_tmp123 = & adapter->fw_version;
21482#line 4729
21483            __cil_tmp124 = (char const   *)__cil_tmp123;
21484#line 4729
21485            tmp___13 = strcmp(__cil_tmp124, "H01.09");
21486            }
21487#line 4729
21488            if (tmp___13 == 0) {
21489              {
21490#line 4732
21491              printk("<4>megaraid: Firmware H.01.07, H.01.08, and H.01.09 on 1M/2M controllers\nmegaraid: do not support 64 bit addressing.\nmegaraid: DISABLING 64 bit support.\n");
21492#line 4739
21493              __cil_tmp125 = adapter->flag;
21494#line 4739
21495              adapter->flag = __cil_tmp125 & 4227858431U;
21496              }
21497            } else {
21498
21499            }
21500          }
21501        }
21502      } else {
21503
21504      }
21505      }
21506    }
21507    }
21508  } else {
21509
21510  }
21511  }
21512  {
21513#line 4743
21514  tmp___14 = mega_is_bios_enabled(adapter);
21515  }
21516#line 4743
21517  if (tmp___14 != 0) {
21518#line 4744
21519    mega_hbas[hba_count].is_bios_enabled = 1;
21520  } else {
21521
21522  }
21523  {
21524#line 4745
21525  mega_hbas[hba_count].hostdata_addr = adapter;
21526#line 4751
21527  mega_enum_raid_scsi(adapter);
21528#line 4761
21529  mega_get_boot_drv(adapter);
21530  }
21531  {
21532#line 4763
21533  __cil_tmp126 = adapter->boot_pdrv_enabled;
21534#line 4763
21535  if (__cil_tmp126 != 0) {
21536#line 4764
21537    __cil_tmp127 = adapter->product_info.nchannels;
21538#line 4764
21539    j = (int )__cil_tmp127;
21540#line 4765
21541    i = 0;
21542#line 4765
21543    goto ldv_32806;
21544    ldv_32805: 
21545#line 4766
21546    adapter->logdrv_chan[i] = (u8 )0U;
21547#line 4765
21548    i = i + 1;
21549    ldv_32806: ;
21550#line 4765
21551    if (i < j) {
21552#line 4766
21553      goto ldv_32805;
21554    } else {
21555#line 4768
21556      goto ldv_32807;
21557    }
21558    ldv_32807: 
21559#line 4767
21560    i = j;
21561#line 4767
21562    goto ldv_32809;
21563    ldv_32808: 
21564#line 4768
21565    adapter->logdrv_chan[i] = (u8 )1U;
21566#line 4767
21567    i = i + 1;
21568    ldv_32809: ;
21569    {
21570#line 4767
21571    __cil_tmp128 = j + 4;
21572#line 4767
21573    if (__cil_tmp128 > i) {
21574#line 4768
21575      goto ldv_32808;
21576    } else {
21577#line 4770
21578      goto ldv_32810;
21579    }
21580    }
21581    ldv_32810: ;
21582  } else {
21583#line 4770
21584    i = 0;
21585#line 4770
21586    goto ldv_32812;
21587    ldv_32811: 
21588#line 4771
21589    adapter->logdrv_chan[i] = (u8 )1U;
21590#line 4770
21591    i = i + 1;
21592    ldv_32812: ;
21593#line 4770
21594    if (i <= 3) {
21595#line 4771
21596      goto ldv_32811;
21597    } else {
21598#line 4773
21599      goto ldv_32813;
21600    }
21601    ldv_32813: 
21602#line 4772
21603    i = 4;
21604#line 4772
21605    goto ldv_32815;
21606    ldv_32814: 
21607#line 4773
21608    adapter->logdrv_chan[i] = (u8 )0U;
21609#line 4772
21610    i = i + 1;
21611    ldv_32815: ;
21612#line 4772
21613    if (i <= 8) {
21614#line 4773
21615      goto ldv_32814;
21616    } else {
21617#line 4775
21618      goto ldv_32816;
21619    }
21620    ldv_32816: 
21621#line 4774
21622    __cil_tmp129 = adapter->mega_ch_class;
21623#line 4774
21624    adapter->mega_ch_class = __cil_tmp129 << 4;
21625  }
21626  }
21627  {
21628#line 4781
21629  adapter->read_ldidmap = 0;
21630#line 4783
21631  adapter->support_random_del = mega_support_random_del(adapter);
21632#line 4786
21633  tmp___15 = mega_init_scb(adapter);
21634  }
21635#line 4786
21636  if (tmp___15 != 0) {
21637#line 4787
21638    goto out_free_mbox;
21639  } else {
21640
21641  }
21642  {
21643#line 4792
21644  __cil_tmp130 = & adapter->pend_cmds;
21645#line 4792
21646  atomic_set(__cil_tmp130, 0);
21647#line 4797
21648  __cil_tmp131 = & adapter->quiescent;
21649#line 4797
21650  atomic_set(__cil_tmp131, 0);
21651#line 4799
21652  hba_soft_state[hba_count] = adapter;
21653#line 4806
21654  i = hba_count;
21655#line 4808
21656  mcontroller[i].base = (u64 )mega_baseport;
21657#line 4809
21658  mcontroller[i].irq = (u8 )irq;
21659#line 4810
21660  mcontroller[i].numldrv = adapter->numldrv;
21661#line 4811
21662  mcontroller[i].pcibus = pci_bus;
21663#line 4812
21664  __cil_tmp132 = id->device;
21665#line 4812
21666  mcontroller[i].pcidev = (u16 )__cil_tmp132;
21667#line 4813
21668  __cil_tmp133 = (unsigned int )pci_dev_func;
21669#line 4813
21670  __cil_tmp134 = __cil_tmp133 & 7U;
21671#line 4813
21672  mcontroller[i].pcifun = (u8 )__cil_tmp134;
21673#line 4814
21674  mcontroller[i].pciid = (u16 )65535U;
21675#line 4815
21676  __cil_tmp135 = id->vendor;
21677#line 4815
21678  mcontroller[i].pcivendor = (u16 )__cil_tmp135;
21679#line 4816
21680  __cil_tmp136 = (int )pci_dev_func;
21681#line 4816
21682  __cil_tmp137 = __cil_tmp136 >> 3;
21683#line 4816
21684  mcontroller[i].pcislot = (u8 )__cil_tmp137;
21685#line 4817
21686  __cil_tmp138 = (int )pci_dev_func;
21687#line 4817
21688  __cil_tmp139 = (int )pci_bus;
21689#line 4817
21690  __cil_tmp140 = __cil_tmp139 << 8;
21691#line 4817
21692  __cil_tmp141 = __cil_tmp140 | __cil_tmp138;
21693#line 4817
21694  mcontroller[i].uid = (u32 )__cil_tmp141;
21695  }
21696  {
21697#line 4821
21698  __cil_tmp142 = adapter->flag;
21699#line 4821
21700  __cil_tmp143 = (long )__cil_tmp142;
21701#line 4821
21702  __cil_tmp144 = __cil_tmp143 & 67108864L;
21703#line 4821
21704  if (__cil_tmp144 != 0L) {
21705    {
21706#line 4822
21707    pci_set_dma_mask(pdev, 1152921504606846975ULL);
21708#line 4823
21709    adapter->has_64bit_addr = 1;
21710    }
21711  } else {
21712    {
21713#line 4825
21714    pci_set_dma_mask(pdev, 4294967295ULL);
21715#line 4826
21716    adapter->has_64bit_addr = 0;
21717    }
21718  }
21719  }
21720  {
21721#line 4829
21722  __cil_tmp145 = & adapter->int_mtx;
21723#line 4829
21724  __mutex_init(__cil_tmp145, "&adapter->int_mtx", & __key___0);
21725#line 4830
21726  __cil_tmp146 = & adapter->int_waitq;
21727#line 4830
21728  init_completion(__cil_tmp146);
21729#line 4832
21730  adapter->this_id = 7;
21731#line 4833
21732  __cil_tmp147 = adapter->host;
21733#line 4833
21734  __cil_tmp147->this_id = 7;
21735#line 4843
21736  adapter->has_cluster = mega_support_cluster(adapter);
21737  }
21738  {
21739#line 4844
21740  __cil_tmp148 = adapter->has_cluster;
21741#line 4844
21742  if (__cil_tmp148 != 0) {
21743    {
21744#line 4845
21745    __cil_tmp149 = adapter->this_id;
21746#line 4845
21747    printk("<5>megaraid: Cluster driver, initiator id:%d\n", __cil_tmp149);
21748    }
21749  } else {
21750
21751  }
21752  }
21753  {
21754#line 4851
21755  __cil_tmp150 = (void *)host;
21756#line 4851
21757  pci_set_drvdata(pdev, __cil_tmp150);
21758#line 4853
21759  mega_create_proc_entry(hba_count, mega_proc_dir_entry);
21760#line 4855
21761  __cil_tmp151 = & pdev->dev;
21762#line 4855
21763  error = scsi_add_host(host, __cil_tmp151);
21764  }
21765#line 4856
21766  if (error != 0) {
21767#line 4857
21768    goto out_free_mbox;
21769  } else {
21770
21771  }
21772  {
21773#line 4859
21774  scsi_scan_host(host);
21775#line 4860
21776  hba_count = hba_count + 1;
21777  }
21778#line 4861
21779  return (0);
21780  out_free_mbox: 
21781  {
21782#line 4864
21783  __cil_tmp152 = adapter->dev;
21784#line 4864
21785  __cil_tmp153 = adapter->una_mbox64;
21786#line 4864
21787  __cil_tmp154 = (void *)__cil_tmp153;
21788#line 4864
21789  __cil_tmp155 = adapter->una_mbox64_dma;
21790#line 4864
21791  pci_free_consistent(__cil_tmp152, 74UL, __cil_tmp154, __cil_tmp155);
21792  }
21793  out_free_irq: 
21794  {
21795#line 4867
21796  __cil_tmp156 = adapter->host;
21797#line 4867
21798  __cil_tmp157 = __cil_tmp156->irq;
21799#line 4867
21800  __cil_tmp158 = (void *)adapter;
21801#line 4867
21802  free_irq(__cil_tmp157, __cil_tmp158);
21803  }
21804  out_free_scb_list: 
21805  {
21806#line 4869
21807  __cil_tmp159 = adapter->scb_list;
21808#line 4869
21809  __cil_tmp160 = (void const   *)__cil_tmp159;
21810#line 4869
21811  kfree(__cil_tmp160);
21812  }
21813  out_free_cmd_buffer: 
21814  {
21815#line 4871
21816  __cil_tmp161 = adapter->dev;
21817#line 4871
21818  __cil_tmp162 = adapter->mega_buffer;
21819#line 4871
21820  __cil_tmp163 = (void *)__cil_tmp162;
21821#line 4871
21822  __cil_tmp164 = adapter->buf_dma_handle;
21823#line 4871
21824  pci_free_consistent(__cil_tmp161, 2048UL, __cil_tmp163, __cil_tmp164);
21825  }
21826  out_host_put: 
21827  {
21828#line 4874
21829  scsi_host_put(host);
21830  }
21831  out_iounmap: ;
21832  {
21833#line 4876
21834  __cil_tmp165 = flag & 536870912UL;
21835#line 4876
21836  if (__cil_tmp165 != 0UL) {
21837    {
21838#line 4877
21839    __cil_tmp166 = (void volatile   *)mega_baseport;
21840#line 4877
21841    iounmap(__cil_tmp166);
21842    }
21843  } else {
21844
21845  }
21846  }
21847  out_release_region: ;
21848  {
21849#line 4879
21850  __cil_tmp167 = flag & 536870912UL;
21851#line 4879
21852  if (__cil_tmp167 != 0UL) {
21853    {
21854#line 4880
21855    __cil_tmp168 = (resource_size_t )tbase;
21856#line 4880
21857    __release_region(& iomem_resource, __cil_tmp168, 128ULL);
21858    }
21859  } else {
21860    {
21861#line 4882
21862    __cil_tmp169 = (resource_size_t )mega_baseport;
21863#line 4882
21864    __release_region(& ioport_resource, __cil_tmp169, 16ULL);
21865    }
21866  }
21867  }
21868  out_disable_device: 
21869  {
21870#line 4884
21871  pci_disable_device(pdev);
21872  }
21873  out: ;
21874#line 4886
21875  return (error);
21876}
21877}
21878#line 4890 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
21879static void __megaraid_shutdown(adapter_t *adapter ) 
21880{ u_char raw_mbox[15U] ;
21881  mbox_t *mbox ;
21882  int i ;
21883  int tmp ;
21884  unsigned long __ms ;
21885  unsigned long tmp___0 ;
21886  struct mbox_out *__cil_tmp8 ;
21887  void *__cil_tmp9 ;
21888  struct Scsi_Host *__cil_tmp10 ;
21889  unsigned int __cil_tmp11 ;
21890  void *__cil_tmp12 ;
21891  u_char *__cil_tmp13 ;
21892  struct mbox_out *__cil_tmp14 ;
21893  void *__cil_tmp15 ;
21894  u_char *__cil_tmp16 ;
21895  atomic_t *__cil_tmp17 ;
21896  atomic_t const   *__cil_tmp18 ;
21897
21898  {
21899  {
21900#line 4893
21901  mbox = (mbox_t *)(& raw_mbox);
21902#line 4897
21903  __cil_tmp8 = & mbox->m_out;
21904#line 4897
21905  __cil_tmp9 = (void *)__cil_tmp8;
21906#line 4897
21907  memset(__cil_tmp9, 0, 15UL);
21908#line 4898
21909  raw_mbox[0] = (u_char )10U;
21910#line 4900
21911  __cil_tmp10 = adapter->host;
21912#line 4900
21913  __cil_tmp11 = __cil_tmp10->irq;
21914#line 4900
21915  __cil_tmp12 = (void *)adapter;
21916#line 4900
21917  free_irq(__cil_tmp11, __cil_tmp12);
21918#line 4903
21919  __cil_tmp13 = (u_char *)(& raw_mbox);
21920#line 4903
21921  issue_scb_block(adapter, __cil_tmp13);
21922#line 4906
21923  __cil_tmp14 = & mbox->m_out;
21924#line 4906
21925  __cil_tmp15 = (void *)__cil_tmp14;
21926#line 4906
21927  memset(__cil_tmp15, 0, 15UL);
21928#line 4907
21929  raw_mbox[0] = (u_char )254U;
21930#line 4910
21931  __cil_tmp16 = (u_char *)(& raw_mbox);
21932#line 4910
21933  issue_scb_block(adapter, __cil_tmp16);
21934#line 4912
21935  __cil_tmp17 = & adapter->pend_cmds;
21936#line 4912
21937  __cil_tmp18 = (atomic_t const   *)__cil_tmp17;
21938#line 4912
21939  tmp = atomic_read(__cil_tmp18);
21940  }
21941#line 4912
21942  if (tmp > 0) {
21943    {
21944#line 4913
21945    printk("<4>megaraid: pending commands!!\n");
21946    }
21947  } else {
21948
21949  }
21950#line 4919
21951  i = 0;
21952#line 4919
21953  goto ldv_32829;
21954  ldv_32828: 
21955#line 4920
21956  __ms = 1000UL;
21957#line 4920
21958  goto ldv_32826;
21959  ldv_32825: 
21960  {
21961#line 4920
21962  __const_udelay(4295000UL);
21963  }
21964  ldv_32826: 
21965#line 4920
21966  tmp___0 = __ms;
21967#line 4920
21968  __ms = __ms - 1UL;
21969#line 4920
21970  if (tmp___0 != 0UL) {
21971#line 4921
21972    goto ldv_32825;
21973  } else {
21974#line 4923
21975    goto ldv_32827;
21976  }
21977  ldv_32827: 
21978#line 4919
21979  i = i + 1;
21980  ldv_32829: ;
21981#line 4919
21982  if (i <= 10) {
21983#line 4920
21984    goto ldv_32828;
21985  } else {
21986#line 4922
21987    goto ldv_32830;
21988  }
21989  ldv_32830: ;
21990#line 4924
21991  return;
21992}
21993}
21994#line 4924 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
21995static void megaraid_remove_one(struct pci_dev *pdev ) 
21996{ struct Scsi_Host *host ;
21997  void *tmp ;
21998  adapter_t *adapter ;
21999  char buf[12U] ;
22000  unsigned long (*__cil_tmp6)[0U] ;
22001  u32 __cil_tmp7 ;
22002  long __cil_tmp8 ;
22003  long __cil_tmp9 ;
22004  unsigned long __cil_tmp10 ;
22005  void volatile   *__cil_tmp11 ;
22006  struct Scsi_Host *__cil_tmp12 ;
22007  unsigned long __cil_tmp13 ;
22008  resource_size_t __cil_tmp14 ;
22009  unsigned long __cil_tmp15 ;
22010  resource_size_t __cil_tmp16 ;
22011  struct proc_dir_entry *__cil_tmp17 ;
22012  unsigned long __cil_tmp18 ;
22013  struct proc_dir_entry *__cil_tmp19 ;
22014  unsigned long __cil_tmp20 ;
22015  struct proc_dir_entry *__cil_tmp21 ;
22016  struct proc_dir_entry *__cil_tmp22 ;
22017  struct proc_dir_entry *__cil_tmp23 ;
22018  struct proc_dir_entry *__cil_tmp24 ;
22019  struct proc_dir_entry *__cil_tmp25 ;
22020  struct proc_dir_entry *__cil_tmp26 ;
22021  struct proc_dir_entry *__cil_tmp27 ;
22022  struct proc_dir_entry *__cil_tmp28 ;
22023  struct proc_dir_entry *__cil_tmp29 ;
22024  struct proc_dir_entry *__cil_tmp30 ;
22025  struct proc_dir_entry *__cil_tmp31 ;
22026  struct proc_dir_entry *__cil_tmp32 ;
22027  struct proc_dir_entry *__cil_tmp33 ;
22028  char *__cil_tmp34 ;
22029  struct Scsi_Host *__cil_tmp35 ;
22030  unsigned int __cil_tmp36 ;
22031  char const   *__cil_tmp37 ;
22032  struct pci_dev *__cil_tmp38 ;
22033  u8 *__cil_tmp39 ;
22034  void *__cil_tmp40 ;
22035  dma_addr_t __cil_tmp41 ;
22036  scb_t *__cil_tmp42 ;
22037  void const   *__cil_tmp43 ;
22038  struct pci_dev *__cil_tmp44 ;
22039  mbox64_t *__cil_tmp45 ;
22040  void *__cil_tmp46 ;
22041  dma_addr_t __cil_tmp47 ;
22042
22043  {
22044  {
22045#line 4926
22046  tmp = pci_get_drvdata(pdev);
22047#line 4926
22048  host = (struct Scsi_Host *)tmp;
22049#line 4927
22050  __cil_tmp6 = & host->hostdata;
22051#line 4927
22052  adapter = (adapter_t *)__cil_tmp6;
22053#line 4929
22054  scsi_remove_host(host);
22055#line 4931
22056  __megaraid_shutdown(adapter);
22057  }
22058  {
22059#line 4934
22060  __cil_tmp7 = adapter->flag;
22061#line 4934
22062  __cil_tmp8 = (long )__cil_tmp7;
22063#line 4934
22064  __cil_tmp9 = __cil_tmp8 & 536870912L;
22065#line 4934
22066  if (__cil_tmp9 != 0L) {
22067    {
22068#line 4935
22069    __cil_tmp10 = adapter->base;
22070#line 4935
22071    __cil_tmp11 = (void volatile   *)__cil_tmp10;
22072#line 4935
22073    iounmap(__cil_tmp11);
22074#line 4936
22075    __cil_tmp12 = adapter->host;
22076#line 4936
22077    __cil_tmp13 = __cil_tmp12->base;
22078#line 4936
22079    __cil_tmp14 = (resource_size_t )__cil_tmp13;
22080#line 4936
22081    __release_region(& iomem_resource, __cil_tmp14, 128ULL);
22082    }
22083  } else {
22084    {
22085#line 4938
22086    __cil_tmp15 = adapter->base;
22087#line 4938
22088    __cil_tmp16 = (resource_size_t )__cil_tmp15;
22089#line 4938
22090    __release_region(& ioport_resource, __cil_tmp16, 16ULL);
22091    }
22092  }
22093  }
22094  {
22095#line 4940
22096  mega_free_sgl(adapter);
22097  }
22098  {
22099#line 4943
22100  __cil_tmp17 = (struct proc_dir_entry *)0;
22101#line 4943
22102  __cil_tmp18 = (unsigned long )__cil_tmp17;
22103#line 4943
22104  __cil_tmp19 = adapter->controller_proc_dir_entry;
22105#line 4943
22106  __cil_tmp20 = (unsigned long )__cil_tmp19;
22107#line 4943
22108  if (__cil_tmp20 != __cil_tmp18) {
22109    {
22110#line 4944
22111    __cil_tmp21 = adapter->controller_proc_dir_entry;
22112#line 4944
22113    remove_proc_entry("stat", __cil_tmp21);
22114#line 4945
22115    __cil_tmp22 = adapter->controller_proc_dir_entry;
22116#line 4945
22117    remove_proc_entry("config", __cil_tmp22);
22118#line 4947
22119    __cil_tmp23 = adapter->controller_proc_dir_entry;
22120#line 4947
22121    remove_proc_entry("mailbox", __cil_tmp23);
22122#line 4950
22123    __cil_tmp24 = adapter->controller_proc_dir_entry;
22124#line 4950
22125    remove_proc_entry("rebuild-rate", __cil_tmp24);
22126#line 4952
22127    __cil_tmp25 = adapter->controller_proc_dir_entry;
22128#line 4952
22129    remove_proc_entry("battery-status", __cil_tmp25);
22130#line 4955
22131    __cil_tmp26 = adapter->controller_proc_dir_entry;
22132#line 4955
22133    remove_proc_entry("diskdrives-ch0", __cil_tmp26);
22134#line 4957
22135    __cil_tmp27 = adapter->controller_proc_dir_entry;
22136#line 4957
22137    remove_proc_entry("diskdrives-ch1", __cil_tmp27);
22138#line 4959
22139    __cil_tmp28 = adapter->controller_proc_dir_entry;
22140#line 4959
22141    remove_proc_entry("diskdrives-ch2", __cil_tmp28);
22142#line 4961
22143    __cil_tmp29 = adapter->controller_proc_dir_entry;
22144#line 4961
22145    remove_proc_entry("diskdrives-ch3", __cil_tmp29);
22146#line 4964
22147    __cil_tmp30 = adapter->controller_proc_dir_entry;
22148#line 4964
22149    remove_proc_entry("raiddrives-0-9", __cil_tmp30);
22150#line 4966
22151    __cil_tmp31 = adapter->controller_proc_dir_entry;
22152#line 4966
22153    remove_proc_entry("raiddrives-10-19", __cil_tmp31);
22154#line 4968
22155    __cil_tmp32 = adapter->controller_proc_dir_entry;
22156#line 4968
22157    remove_proc_entry("raiddrives-20-29", __cil_tmp32);
22158#line 4970
22159    __cil_tmp33 = adapter->controller_proc_dir_entry;
22160#line 4970
22161    remove_proc_entry("raiddrives-30-39", __cil_tmp33);
22162#line 4974
22163    buf[0] = (char)0;
22164#line 4974
22165    buf[1] = (char)0;
22166#line 4974
22167    buf[2] = (char)0;
22168#line 4974
22169    buf[3] = (char)0;
22170#line 4974
22171    buf[4] = (char)0;
22172#line 4974
22173    buf[5] = (char)0;
22174#line 4974
22175    buf[6] = (char)0;
22176#line 4974
22177    buf[7] = (char)0;
22178#line 4974
22179    buf[8] = (char)0;
22180#line 4974
22181    buf[9] = (char)0;
22182#line 4974
22183    buf[10] = (char)0;
22184#line 4974
22185    buf[11] = (char)0;
22186#line 4975
22187    __cil_tmp34 = (char *)(& buf);
22188#line 4975
22189    __cil_tmp35 = adapter->host;
22190#line 4975
22191    __cil_tmp36 = __cil_tmp35->host_no;
22192#line 4975
22193    sprintf(__cil_tmp34, "hba%d", __cil_tmp36);
22194#line 4976
22195    __cil_tmp37 = (char const   *)(& buf);
22196#line 4976
22197    remove_proc_entry(__cil_tmp37, mega_proc_dir_entry);
22198    }
22199  } else {
22200
22201  }
22202  }
22203  {
22204#line 4981
22205  __cil_tmp38 = adapter->dev;
22206#line 4981
22207  __cil_tmp39 = adapter->mega_buffer;
22208#line 4981
22209  __cil_tmp40 = (void *)__cil_tmp39;
22210#line 4981
22211  __cil_tmp41 = adapter->buf_dma_handle;
22212#line 4981
22213  pci_free_consistent(__cil_tmp38, 2048UL, __cil_tmp40, __cil_tmp41);
22214#line 4983
22215  __cil_tmp42 = adapter->scb_list;
22216#line 4983
22217  __cil_tmp43 = (void const   *)__cil_tmp42;
22218#line 4983
22219  kfree(__cil_tmp43);
22220#line 4984
22221  __cil_tmp44 = adapter->dev;
22222#line 4984
22223  __cil_tmp45 = adapter->una_mbox64;
22224#line 4984
22225  __cil_tmp46 = (void *)__cil_tmp45;
22226#line 4984
22227  __cil_tmp47 = adapter->una_mbox64_dma;
22228#line 4984
22229  pci_free_consistent(__cil_tmp44, 74UL, __cil_tmp46, __cil_tmp47);
22230#line 4987
22231  scsi_host_put(host);
22232#line 4988
22233  pci_disable_device(pdev);
22234#line 4990
22235  hba_count = hba_count - 1;
22236  }
22237#line 4991
22238  return;
22239}
22240}
22241#line 4994 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22242static void megaraid_shutdown(struct pci_dev *pdev ) 
22243{ struct Scsi_Host *host ;
22244  void *tmp ;
22245  adapter_t *adapter ;
22246  unsigned long (*__cil_tmp5)[0U] ;
22247
22248  {
22249  {
22250#line 4996
22251  tmp = pci_get_drvdata(pdev);
22252#line 4996
22253  host = (struct Scsi_Host *)tmp;
22254#line 4997
22255  __cil_tmp5 = & host->hostdata;
22256#line 4997
22257  adapter = (adapter_t *)__cil_tmp5;
22258#line 4999
22259  __megaraid_shutdown(adapter);
22260  }
22261#line 5000
22262  return;
22263}
22264}
22265#line 5002 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22266static struct pci_device_id megaraid_pci_tbl[4U]  = {      {4126U, 36880U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, 
22267        {4126U, 36960U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, 
22268        {32902U, 6496U, 4294967295U, 4294967295U, 0U, 0U, 0UL}, 
22269        {0U, 0U, 0U, 0U, 0U, 0U, 0UL}};
22270#line 5011 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22271struct pci_device_id  const  __mod_pci_device_table  ;
22272#line 5013 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22273static struct pci_driver megaraid_pci_driver  = 
22274#line 5013
22275     {{(struct list_head *)0, (struct list_head *)0}, "megaraid_legacy", (struct pci_device_id  const  *)(& megaraid_pci_tbl),
22276    & megaraid_probe_one, & megaraid_remove_one, (int (*)(struct pci_dev * , pm_message_t  ))0,
22277    (int (*)(struct pci_dev * , pm_message_t  ))0, (int (*)(struct pci_dev * ))0,
22278    (int (*)(struct pci_dev * ))0, & megaraid_shutdown, (struct pci_error_handlers *)0,
22279    {(char const   *)0, (struct bus_type *)0, (struct module *)0, (char const   *)0,
22280     (_Bool)0, (struct of_device_id  const  *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
22281     (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t  ))0,
22282     (int (*)(struct device * ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
22283     (struct driver_private *)0}, {{{{{0U}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
22284                                                                {(struct lock_class *)0,
22285                                                                 (struct lock_class *)0},
22286                                                                (char const   *)0,
22287                                                                0, 0UL}}}}, {(struct list_head *)0,
22288                                                                             (struct list_head *)0}}};
22289#line 5021 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22290static int megaraid_init(void) 
22291{ int error ;
22292  unsigned int __cil_tmp2 ;
22293  struct proc_dir_entry *__cil_tmp3 ;
22294  struct proc_dir_entry *__cil_tmp4 ;
22295  unsigned long __cil_tmp5 ;
22296  unsigned long __cil_tmp6 ;
22297  struct proc_dir_entry *__cil_tmp7 ;
22298
22299  {
22300#line 5025
22301  if (max_cmd_per_lun == 0U) {
22302#line 5026
22303    max_cmd_per_lun = 126U;
22304  } else
22305#line 5025
22306  if (max_cmd_per_lun > 126U) {
22307#line 5026
22308    max_cmd_per_lun = 126U;
22309  } else {
22310
22311  }
22312  {
22313#line 5027
22314  __cil_tmp2 = (unsigned int )max_mbox_busy_wait;
22315#line 5027
22316  if (__cil_tmp2 > 10U) {
22317#line 5028
22318    max_mbox_busy_wait = (unsigned short)10;
22319  } else {
22320
22321  }
22322  }
22323  {
22324#line 5031
22325  __cil_tmp3 = (struct proc_dir_entry *)0;
22326#line 5031
22327  mega_proc_dir_entry = proc_mkdir("megaraid", __cil_tmp3);
22328  }
22329  {
22330#line 5032
22331  __cil_tmp4 = (struct proc_dir_entry *)0;
22332#line 5032
22333  __cil_tmp5 = (unsigned long )__cil_tmp4;
22334#line 5032
22335  __cil_tmp6 = (unsigned long )mega_proc_dir_entry;
22336#line 5032
22337  if (__cil_tmp6 == __cil_tmp5) {
22338    {
22339#line 5033
22340    printk("<4>megaraid: failed to create megaraid root\n");
22341    }
22342  } else {
22343
22344  }
22345  }
22346  {
22347#line 5037
22348  error = __pci_register_driver(& megaraid_pci_driver, & __this_module, "megaraid");
22349  }
22350#line 5038
22351  if (error != 0) {
22352    {
22353#line 5040
22354    __cil_tmp7 = (struct proc_dir_entry *)0;
22355#line 5040
22356    remove_proc_entry("megaraid", __cil_tmp7);
22357    }
22358#line 5042
22359    return (error);
22360  } else {
22361
22362  }
22363  {
22364#line 5051
22365  major = register_chrdev(0U, "megadev_legacy", & megadev_fops);
22366  }
22367#line 5052
22368  if (major == 0) {
22369    {
22370#line 5053
22371    printk("<4>megaraid: failed to register char device\n");
22372    }
22373  } else {
22374
22375  }
22376#line 5057
22377  return (0);
22378}
22379}
22380#line 5060 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22381static void megaraid_exit(void) 
22382{ unsigned int __cil_tmp1 ;
22383  struct proc_dir_entry *__cil_tmp2 ;
22384
22385  {
22386  {
22387#line 5065
22388  __cil_tmp1 = (unsigned int )major;
22389#line 5065
22390  unregister_chrdev(__cil_tmp1, "megadev_legacy");
22391#line 5067
22392  pci_unregister_driver(& megaraid_pci_driver);
22393#line 5070
22394  __cil_tmp2 = (struct proc_dir_entry *)0;
22395#line 5070
22396  remove_proc_entry("megaraid", __cil_tmp2);
22397  }
22398#line 5071
22399  return;
22400}
22401}
22402#line 5095
22403void ldv_check_final_state(void) ;
22404#line 5098
22405extern void ldv_check_return_value(int  ) ;
22406#line 5101
22407extern void ldv_initialize(void) ;
22408#line 5104
22409extern int nondet_int(void) ;
22410#line 5107 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22411int LDV_IN_INTERRUPT  ;
22412#line 5110 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22413void main(void) 
22414{ struct file *var_group1 ;
22415  unsigned int var_megadev_unlocked_ioctl_49_p1 ;
22416  unsigned long var_megadev_unlocked_ioctl_49_p2 ;
22417  struct inode *var_group2 ;
22418  int res_megadev_open_47 ;
22419  struct Scsi_Host *var_group3 ;
22420  Scsi_Cmnd *var_megaraid_abort_21_p0 ;
22421  struct scsi_cmnd *var_group4 ;
22422  struct pci_dev *var_group5 ;
22423  struct pci_device_id  const  *var_megaraid_probe_one_65_p1 ;
22424  int res_megaraid_probe_one_65 ;
22425  int var_megaraid_isr_iomapped_12_p0 ;
22426  void *var_megaraid_isr_iomapped_12_p1 ;
22427  int var_megaraid_isr_memmapped_13_p0 ;
22428  void *var_megaraid_isr_memmapped_13_p1 ;
22429  int ldv_s_megadev_fops_file_operations ;
22430  int ldv_s_megaraid_pci_driver_pci_driver ;
22431  int tmp ;
22432  int tmp___0 ;
22433  int tmp___1 ;
22434
22435  {
22436  {
22437#line 5747
22438  ldv_s_megadev_fops_file_operations = 0;
22439#line 5752
22440  ldv_s_megaraid_pci_driver_pci_driver = 0;
22441#line 5678
22442  LDV_IN_INTERRUPT = 1;
22443#line 5687
22444  ldv_initialize();
22445#line 5741
22446  tmp = megaraid_init();
22447  }
22448#line 5741
22449  if (tmp != 0) {
22450#line 5742
22451    goto ldv_final;
22452  } else {
22453
22454  }
22455#line 5758
22456  goto ldv_32905;
22457  ldv_32904: 
22458  {
22459#line 5763
22460  tmp___0 = nondet_int();
22461  }
22462#line 5765
22463  if (tmp___0 == 0) {
22464#line 5765
22465    goto case_0;
22466  } else
22467#line 5840
22468  if (tmp___0 == 1) {
22469#line 5840
22470    goto case_1;
22471  } else
22472#line 5912
22473  if (tmp___0 == 2) {
22474#line 5912
22475    goto case_2;
22476  } else
22477#line 5984
22478  if (tmp___0 == 3) {
22479#line 5984
22480    goto case_3;
22481  } else
22482#line 6056
22483  if (tmp___0 == 4) {
22484#line 6056
22485    goto case_4;
22486  } else
22487#line 6126
22488  if (tmp___0 == 5) {
22489#line 6126
22490    goto case_5;
22491  } else
22492#line 6199
22493  if (tmp___0 == 6) {
22494#line 6199
22495    goto case_6;
22496  } else
22497#line 6271
22498  if (tmp___0 == 7) {
22499#line 6271
22500    goto case_7;
22501  } else
22502#line 6343
22503  if (tmp___0 == 8) {
22504#line 6343
22505    goto case_8;
22506  } else {
22507#line 6415
22508    goto switch_default;
22509#line 5763
22510    if (0) {
22511      case_0: ;
22512#line 5768
22513      if (ldv_s_megadev_fops_file_operations == 0) {
22514        {
22515#line 5809
22516        res_megadev_open_47 = megadev_open(var_group2, var_group1);
22517#line 5810
22518        ldv_check_return_value(res_megadev_open_47);
22519        }
22520#line 5811
22521        if (res_megadev_open_47 != 0) {
22522#line 5812
22523          goto ldv_module_exit;
22524        } else {
22525
22526        }
22527#line 5833
22528        ldv_s_megadev_fops_file_operations = 0;
22529      } else {
22530
22531      }
22532#line 5839
22533      goto ldv_32894;
22534      case_1: 
22535      {
22536#line 5886
22537      megadev_unlocked_ioctl(var_group1, var_megadev_unlocked_ioctl_49_p1, var_megadev_unlocked_ioctl_49_p2);
22538      }
22539#line 5911
22540      goto ldv_32894;
22541      case_2: 
22542      {
22543#line 5942
22544      megaraid_info(var_group3);
22545      }
22546#line 5983
22547      goto ldv_32894;
22548      case_3: 
22549      {
22550#line 6014
22551      megaraid_abort(var_megaraid_abort_21_p0);
22552      }
22553#line 6055
22554      goto ldv_32894;
22555      case_4: 
22556      {
22557#line 6086
22558      megaraid_reset(var_group4);
22559      }
22560#line 6125
22561      goto ldv_32894;
22562      case_5: ;
22563#line 6129
22564      if (ldv_s_megaraid_pci_driver_pci_driver == 0) {
22565        {
22566#line 6176
22567        res_megaraid_probe_one_65 = megaraid_probe_one(var_group5, var_megaraid_probe_one_65_p1);
22568#line 6177
22569        ldv_check_return_value(res_megaraid_probe_one_65);
22570        }
22571#line 6178
22572        if (res_megaraid_probe_one_65 != 0) {
22573#line 6179
22574          goto ldv_module_exit;
22575        } else {
22576
22577        }
22578#line 6192
22579        ldv_s_megaraid_pci_driver_pci_driver = 0;
22580      } else {
22581
22582      }
22583#line 6198
22584      goto ldv_32894;
22585      case_6: 
22586      {
22587#line 6255
22588      megaraid_shutdown(var_group5);
22589      }
22590#line 6270
22591      goto ldv_32894;
22592      case_7: 
22593      {
22594#line 6274
22595      LDV_IN_INTERRUPT = 2;
22596#line 6297
22597      megaraid_isr_iomapped(var_megaraid_isr_iomapped_12_p0, var_megaraid_isr_iomapped_12_p1);
22598#line 6336
22599      LDV_IN_INTERRUPT = 1;
22600      }
22601#line 6342
22602      goto ldv_32894;
22603      case_8: 
22604      {
22605#line 6346
22606      LDV_IN_INTERRUPT = 2;
22607#line 6369
22608      megaraid_isr_memmapped(var_megaraid_isr_memmapped_13_p0, var_megaraid_isr_memmapped_13_p1);
22609#line 6408
22610      LDV_IN_INTERRUPT = 1;
22611      }
22612#line 6414
22613      goto ldv_32894;
22614      switch_default: ;
22615#line 6415
22616      goto ldv_32894;
22617    } else {
22618
22619    }
22620  }
22621  ldv_32894: ;
22622  ldv_32905: 
22623  {
22624#line 5758
22625  tmp___1 = nondet_int();
22626  }
22627#line 5758
22628  if (tmp___1 != 0) {
22629#line 5761
22630    goto ldv_32904;
22631  } else
22632#line 5758
22633  if (ldv_s_megadev_fops_file_operations != 0) {
22634#line 5761
22635    goto ldv_32904;
22636  } else
22637#line 5758
22638  if (ldv_s_megaraid_pci_driver_pci_driver != 0) {
22639#line 5761
22640    goto ldv_32904;
22641  } else {
22642#line 5763
22643    goto ldv_32906;
22644  }
22645  ldv_32906: ;
22646  ldv_module_exit: 
22647  {
22648#line 6479
22649  megaraid_exit();
22650  }
22651  ldv_final: 
22652  {
22653#line 6482
22654  ldv_check_final_state();
22655  }
22656#line 6485
22657  return;
22658}
22659}
22660#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast-assert.h"
22661void ldv_blast_assert(void) 
22662{ 
22663
22664  {
22665  ERROR: ;
22666#line 6
22667  goto ERROR;
22668}
22669}
22670#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast.h"
22671extern int ldv_undefined_int(void) ;
22672#line 6502 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22673int ldv_module_refcounter  =    1;
22674#line 6505 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22675void ldv_module_get(struct module *module ) 
22676{ struct module *__cil_tmp2 ;
22677  unsigned long __cil_tmp3 ;
22678  unsigned long __cil_tmp4 ;
22679
22680  {
22681  {
22682#line 6508
22683  __cil_tmp2 = (struct module *)0;
22684#line 6508
22685  __cil_tmp3 = (unsigned long )__cil_tmp2;
22686#line 6508
22687  __cil_tmp4 = (unsigned long )module;
22688#line 6508
22689  if (__cil_tmp4 != __cil_tmp3) {
22690#line 6510
22691    ldv_module_refcounter = ldv_module_refcounter + 1;
22692  } else {
22693
22694  }
22695  }
22696#line 6511
22697  return;
22698}
22699}
22700#line 6515 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22701int ldv_try_module_get(struct module *module ) 
22702{ int module_get_succeeded ;
22703  struct module *__cil_tmp3 ;
22704  unsigned long __cil_tmp4 ;
22705  unsigned long __cil_tmp5 ;
22706
22707  {
22708  {
22709#line 6520
22710  __cil_tmp3 = (struct module *)0;
22711#line 6520
22712  __cil_tmp4 = (unsigned long )__cil_tmp3;
22713#line 6520
22714  __cil_tmp5 = (unsigned long )module;
22715#line 6520
22716  if (__cil_tmp5 != __cil_tmp4) {
22717    {
22718#line 6523
22719    module_get_succeeded = ldv_undefined_int();
22720    }
22721#line 6525
22722    if (module_get_succeeded == 1) {
22723#line 6527
22724      ldv_module_refcounter = ldv_module_refcounter + 1;
22725#line 6529
22726      return (1);
22727    } else {
22728#line 6534
22729      return (0);
22730    }
22731  } else {
22732
22733  }
22734  }
22735#line 6536
22736  return (0);
22737}
22738}
22739#line 6540 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22740void ldv_module_put(struct module *module ) 
22741{ struct module *__cil_tmp2 ;
22742  unsigned long __cil_tmp3 ;
22743  unsigned long __cil_tmp4 ;
22744
22745  {
22746  {
22747#line 6543
22748  __cil_tmp2 = (struct module *)0;
22749#line 6543
22750  __cil_tmp3 = (unsigned long )__cil_tmp2;
22751#line 6543
22752  __cil_tmp4 = (unsigned long )module;
22753#line 6543
22754  if (__cil_tmp4 != __cil_tmp3) {
22755#line 6545
22756    if (ldv_module_refcounter <= 1) {
22757      {
22758#line 6545
22759      ldv_blast_assert();
22760      }
22761    } else {
22762
22763    }
22764#line 6547
22765    ldv_module_refcounter = ldv_module_refcounter - 1;
22766  } else {
22767
22768  }
22769  }
22770#line 6549
22771  return;
22772}
22773}
22774#line 6552 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22775void ldv_module_put_and_exit(void) 
22776{ struct module *__cil_tmp1 ;
22777
22778  {
22779  {
22780#line 6554
22781  __cil_tmp1 = (struct module *)1;
22782#line 6554
22783  ldv_module_put(__cil_tmp1);
22784  }
22785  LDV_STOP: ;
22786#line 6556
22787  goto LDV_STOP;
22788}
22789}
22790#line 6560 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22791unsigned int ldv_module_refcount(void) 
22792{ int __cil_tmp1 ;
22793
22794  {
22795  {
22796#line 6563
22797  __cil_tmp1 = ldv_module_refcounter + -1;
22798#line 6563
22799  return ((unsigned int )__cil_tmp1);
22800  }
22801}
22802}
22803#line 6567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/megaraid.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/scsi/megaraid.c.p"
22804void ldv_check_final_state(void) 
22805{ 
22806
22807  {
22808#line 6570
22809  if (ldv_module_refcounter != 1) {
22810    {
22811#line 6570
22812    ldv_blast_assert();
22813    }
22814  } else {
22815
22816  }
22817#line 6573
22818  return;
22819}
22820}