1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 11 "include/asm-generic/types.h"
33typedef unsigned short umode_t;
34#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
35typedef unsigned int __kernel_mode_t;
36#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
37typedef long __kernel_off_t;
38#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
39typedef int __kernel_pid_t;
40#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
41typedef unsigned int __kernel_uid_t;
42#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
43typedef unsigned int __kernel_gid_t;
44#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
45typedef unsigned long __kernel_size_t;
46#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
47typedef long __kernel_ssize_t;
48#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
49typedef long __kernel_time_t;
50#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
51typedef long __kernel_clock_t;
52#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
53typedef int __kernel_timer_t;
54#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
55typedef int __kernel_clockid_t;
56#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
57typedef long long __kernel_loff_t;
58#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
59typedef __kernel_uid_t __kernel_uid32_t;
60#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
61typedef __kernel_gid_t __kernel_gid32_t;
62#line 21 "include/linux/types.h"
63typedef __u32 __kernel_dev_t;
64#line 24 "include/linux/types.h"
65typedef __kernel_dev_t dev_t;
66#line 26 "include/linux/types.h"
67typedef __kernel_mode_t mode_t;
68#line 28 "include/linux/types.h"
69typedef __kernel_off_t off_t;
70#line 29 "include/linux/types.h"
71typedef __kernel_pid_t pid_t;
72#line 34 "include/linux/types.h"
73typedef __kernel_clockid_t clockid_t;
74#line 37 "include/linux/types.h"
75typedef _Bool bool;
76#line 39 "include/linux/types.h"
77typedef __kernel_uid32_t uid_t;
78#line 40 "include/linux/types.h"
79typedef __kernel_gid32_t gid_t;
80#line 53 "include/linux/types.h"
81typedef __kernel_loff_t loff_t;
82#line 62 "include/linux/types.h"
83typedef __kernel_size_t size_t;
84#line 67 "include/linux/types.h"
85typedef __kernel_ssize_t ssize_t;
86#line 77 "include/linux/types.h"
87typedef __kernel_time_t time_t;
88#line 110 "include/linux/types.h"
89typedef __s32 int32_t;
90#line 116 "include/linux/types.h"
91typedef __u32 uint32_t;
92#line 141 "include/linux/types.h"
93typedef unsigned long sector_t;
94#line 142 "include/linux/types.h"
95typedef unsigned long blkcnt_t;
96#line 154 "include/linux/types.h"
97typedef u64 dma_addr_t;
98#line 177 "include/linux/types.h"
99typedef __u16 __le16;
100#line 201 "include/linux/types.h"
101typedef unsigned int gfp_t;
102#line 202 "include/linux/types.h"
103typedef unsigned int fmode_t;
104#line 205 "include/linux/types.h"
105typedef u64 phys_addr_t;
106#line 210 "include/linux/types.h"
107typedef phys_addr_t resource_size_t;
108#line 212 "include/linux/types.h"
109struct __anonstruct_atomic_t_7 {
110 int counter ;
111};
112#line 212 "include/linux/types.h"
113typedef struct __anonstruct_atomic_t_7 atomic_t;
114#line 217 "include/linux/types.h"
115struct __anonstruct_atomic64_t_8 {
116 long counter ;
117};
118#line 217 "include/linux/types.h"
119typedef struct __anonstruct_atomic64_t_8 atomic64_t;
120#line 222 "include/linux/types.h"
121struct list_head {
122 struct list_head *next ;
123 struct list_head *prev ;
124};
125#line 226
126struct hlist_node;
127#line 226
128struct hlist_node;
129#line 226
130struct hlist_node;
131#line 226 "include/linux/types.h"
132struct hlist_head {
133 struct hlist_node *first ;
134};
135#line 230 "include/linux/types.h"
136struct hlist_node {
137 struct hlist_node *next ;
138 struct hlist_node **pprev ;
139};
140#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
141struct module;
142#line 59
143struct module;
144#line 59
145struct module;
146#line 59
147struct module;
148#line 145 "include/linux/init.h"
149typedef void (*ctor_fn_t)(void);
150#line 10 "include/asm-generic/bug.h"
151struct bug_entry {
152 int bug_addr_disp ;
153 int file_disp ;
154 unsigned short line ;
155 unsigned short flags ;
156};
157#line 113 "include/linux/kernel.h"
158struct completion;
159#line 113
160struct completion;
161#line 113
162struct completion;
163#line 113
164struct completion;
165#line 114
166struct pt_regs;
167#line 114
168struct pt_regs;
169#line 114
170struct pt_regs;
171#line 114
172struct pt_regs;
173#line 322
174struct pid;
175#line 322
176struct pid;
177#line 322
178struct pid;
179#line 322
180struct pid;
181#line 12 "include/linux/thread_info.h"
182struct timespec;
183#line 12
184struct timespec;
185#line 12
186struct timespec;
187#line 12
188struct timespec;
189#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
190struct page;
191#line 18
192struct page;
193#line 18
194struct page;
195#line 18
196struct page;
197#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
198struct task_struct;
199#line 20
200struct task_struct;
201#line 20
202struct task_struct;
203#line 20
204struct task_struct;
205#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
206struct task_struct;
207#line 8
208struct mm_struct;
209#line 8
210struct mm_struct;
211#line 8
212struct mm_struct;
213#line 8
214struct mm_struct;
215#line 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
216struct pt_regs {
217 unsigned long r15 ;
218 unsigned long r14 ;
219 unsigned long r13 ;
220 unsigned long r12 ;
221 unsigned long bp ;
222 unsigned long bx ;
223 unsigned long r11 ;
224 unsigned long r10 ;
225 unsigned long r9 ;
226 unsigned long r8 ;
227 unsigned long ax ;
228 unsigned long cx ;
229 unsigned long dx ;
230 unsigned long si ;
231 unsigned long di ;
232 unsigned long orig_ax ;
233 unsigned long ip ;
234 unsigned long cs ;
235 unsigned long flags ;
236 unsigned long sp ;
237 unsigned long ss ;
238};
239#line 136
240struct task_struct;
241#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
242struct kernel_vm86_regs {
243 struct pt_regs pt ;
244 unsigned short es ;
245 unsigned short __esh ;
246 unsigned short ds ;
247 unsigned short __dsh ;
248 unsigned short fs ;
249 unsigned short __fsh ;
250 unsigned short gs ;
251 unsigned short __gsh ;
252};
253#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
254union __anonunion____missing_field_name_14 {
255 struct pt_regs *regs ;
256 struct kernel_vm86_regs *vm86 ;
257};
258#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
259struct math_emu_info {
260 long ___orig_eip ;
261 union __anonunion____missing_field_name_14 __annonCompField5 ;
262};
263#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
264struct task_struct;
265#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
266typedef unsigned long pteval_t;
267#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
268typedef unsigned long pmdval_t;
269#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
270typedef unsigned long pudval_t;
271#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
272typedef unsigned long pgdval_t;
273#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
274typedef unsigned long pgprotval_t;
275#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
276struct __anonstruct_pte_t_16 {
277 pteval_t pte ;
278};
279#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
280typedef struct __anonstruct_pte_t_16 pte_t;
281#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
282struct pgprot {
283 pgprotval_t pgprot ;
284};
285#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
286typedef struct pgprot pgprot_t;
287#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
288struct __anonstruct_pgd_t_17 {
289 pgdval_t pgd ;
290};
291#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
292typedef struct __anonstruct_pgd_t_17 pgd_t;
293#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
294struct __anonstruct_pud_t_18 {
295 pudval_t pud ;
296};
297#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
298typedef struct __anonstruct_pud_t_18 pud_t;
299#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
300struct __anonstruct_pmd_t_19 {
301 pmdval_t pmd ;
302};
303#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
304typedef struct __anonstruct_pmd_t_19 pmd_t;
305#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
306typedef struct page *pgtable_t;
307#line 293
308struct file;
309#line 293
310struct file;
311#line 293
312struct file;
313#line 293
314struct file;
315#line 311
316struct seq_file;
317#line 311
318struct seq_file;
319#line 311
320struct seq_file;
321#line 311
322struct seq_file;
323#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
324struct __anonstruct____missing_field_name_22 {
325 unsigned int a ;
326 unsigned int b ;
327};
328#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
329struct __anonstruct____missing_field_name_23 {
330 u16 limit0 ;
331 u16 base0 ;
332 unsigned int base1 : 8 ;
333 unsigned int type : 4 ;
334 unsigned int s : 1 ;
335 unsigned int dpl : 2 ;
336 unsigned int p : 1 ;
337 unsigned int limit : 4 ;
338 unsigned int avl : 1 ;
339 unsigned int l : 1 ;
340 unsigned int d : 1 ;
341 unsigned int g : 1 ;
342 unsigned int base2 : 8 ;
343};
344#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
345union __anonunion____missing_field_name_21 {
346 struct __anonstruct____missing_field_name_22 __annonCompField7 ;
347 struct __anonstruct____missing_field_name_23 __annonCompField8 ;
348};
349#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
350struct desc_struct {
351 union __anonunion____missing_field_name_21 __annonCompField9 ;
352} __attribute__((__packed__)) ;
353#line 51 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
354struct gate_struct64 {
355 u16 offset_low ;
356 u16 segment ;
357 unsigned int ist : 3 ;
358 unsigned int zero0 : 5 ;
359 unsigned int type : 5 ;
360 unsigned int dpl : 2 ;
361 unsigned int p : 1 ;
362 u16 offset_middle ;
363 u32 offset_high ;
364 u32 zero1 ;
365} __attribute__((__packed__)) ;
366#line 81 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
367typedef struct gate_struct64 gate_desc;
368#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
369struct desc_ptr {
370 unsigned short size ;
371 unsigned long address ;
372} __attribute__((__packed__)) ;
373#line 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
374struct page;
375#line 46
376struct thread_struct;
377#line 46
378struct thread_struct;
379#line 46
380struct thread_struct;
381#line 46
382struct thread_struct;
383#line 47
384struct desc_ptr;
385#line 48
386struct tss_struct;
387#line 48
388struct tss_struct;
389#line 48
390struct tss_struct;
391#line 48
392struct tss_struct;
393#line 49
394struct mm_struct;
395#line 50
396struct desc_struct;
397#line 51
398struct task_struct;
399#line 52
400struct cpumask;
401#line 52
402struct cpumask;
403#line 52
404struct cpumask;
405#line 52
406struct cpumask;
407#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
408struct paravirt_callee_save {
409 void *func ;
410};
411#line 70 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
412struct pv_init_ops {
413 unsigned int (*patch)(u8 type , u16 clobber , void *insnbuf , unsigned long addr ,
414 unsigned int len ) ;
415};
416#line 84 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
417struct pv_lazy_ops {
418 void (*enter)(void) ;
419 void (*leave)(void) ;
420};
421#line 90 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
422struct pv_time_ops {
423 unsigned long long (*sched_clock)(void) ;
424 unsigned long (*get_tsc_khz)(void) ;
425};
426#line 95 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
427struct pv_cpu_ops {
428 unsigned long (*get_debugreg)(int regno ) ;
429 void (*set_debugreg)(int regno , unsigned long value ) ;
430 void (*clts)(void) ;
431 unsigned long (*read_cr0)(void) ;
432 void (*write_cr0)(unsigned long ) ;
433 unsigned long (*read_cr4_safe)(void) ;
434 unsigned long (*read_cr4)(void) ;
435 void (*write_cr4)(unsigned long ) ;
436 unsigned long (*read_cr8)(void) ;
437 void (*write_cr8)(unsigned long ) ;
438 void (*load_tr_desc)(void) ;
439 void (*load_gdt)(struct desc_ptr const * ) ;
440 void (*load_idt)(struct desc_ptr const * ) ;
441 void (*store_gdt)(struct desc_ptr * ) ;
442 void (*store_idt)(struct desc_ptr * ) ;
443 void (*set_ldt)(void const *desc , unsigned int entries ) ;
444 unsigned long (*store_tr)(void) ;
445 void (*load_tls)(struct thread_struct *t , unsigned int cpu ) ;
446 void (*load_gs_index)(unsigned int idx ) ;
447 void (*write_ldt_entry)(struct desc_struct *ldt , int entrynum , void const *desc ) ;
448 void (*write_gdt_entry)(struct desc_struct * , int entrynum , void const *desc ,
449 int size ) ;
450 void (*write_idt_entry)(gate_desc * , int entrynum , gate_desc const *gate ) ;
451 void (*alloc_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
452 void (*free_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
453 void (*load_sp0)(struct tss_struct *tss , struct thread_struct *t ) ;
454 void (*set_iopl_mask)(unsigned int mask ) ;
455 void (*wbinvd)(void) ;
456 void (*io_delay)(void) ;
457 void (*cpuid)(unsigned int *eax , unsigned int *ebx , unsigned int *ecx , unsigned int *edx ) ;
458 u64 (*read_msr)(unsigned int msr , int *err ) ;
459 int (*rdmsr_regs)(u32 *regs ) ;
460 int (*write_msr)(unsigned int msr , unsigned int low , unsigned int high ) ;
461 int (*wrmsr_regs)(u32 *regs ) ;
462 u64 (*read_tsc)(void) ;
463 u64 (*read_pmc)(int counter ) ;
464 unsigned long long (*read_tscp)(unsigned int *aux ) ;
465 void (*irq_enable_sysexit)(void) ;
466 void (*usergs_sysret64)(void) ;
467 void (*usergs_sysret32)(void) ;
468 void (*iret)(void) ;
469 void (*swapgs)(void) ;
470 void (*start_context_switch)(struct task_struct *prev ) ;
471 void (*end_context_switch)(struct task_struct *next ) ;
472};
473#line 191 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
474struct pv_irq_ops {
475 struct paravirt_callee_save save_fl ;
476 struct paravirt_callee_save restore_fl ;
477 struct paravirt_callee_save irq_disable ;
478 struct paravirt_callee_save irq_enable ;
479 void (*safe_halt)(void) ;
480 void (*halt)(void) ;
481 void (*adjust_exception_frame)(void) ;
482};
483#line 214 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
484struct pv_apic_ops {
485 void (*startup_ipi_hook)(int phys_apicid , unsigned long start_eip , unsigned long start_esp ) ;
486};
487#line 222 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
488struct pv_mmu_ops {
489 unsigned long (*read_cr2)(void) ;
490 void (*write_cr2)(unsigned long ) ;
491 unsigned long (*read_cr3)(void) ;
492 void (*write_cr3)(unsigned long ) ;
493 void (*activate_mm)(struct mm_struct *prev , struct mm_struct *next ) ;
494 void (*dup_mmap)(struct mm_struct *oldmm , struct mm_struct *mm ) ;
495 void (*exit_mmap)(struct mm_struct *mm ) ;
496 void (*flush_tlb_user)(void) ;
497 void (*flush_tlb_kernel)(void) ;
498 void (*flush_tlb_single)(unsigned long addr ) ;
499 void (*flush_tlb_others)(struct cpumask const *cpus , struct mm_struct *mm ,
500 unsigned long va ) ;
501 int (*pgd_alloc)(struct mm_struct *mm ) ;
502 void (*pgd_free)(struct mm_struct *mm , pgd_t *pgd ) ;
503 void (*alloc_pte)(struct mm_struct *mm , unsigned long pfn ) ;
504 void (*alloc_pmd)(struct mm_struct *mm , unsigned long pfn ) ;
505 void (*alloc_pud)(struct mm_struct *mm , unsigned long pfn ) ;
506 void (*release_pte)(unsigned long pfn ) ;
507 void (*release_pmd)(unsigned long pfn ) ;
508 void (*release_pud)(unsigned long pfn ) ;
509 void (*set_pte)(pte_t *ptep , pte_t pteval ) ;
510 void (*set_pte_at)(struct mm_struct *mm , unsigned long addr , pte_t *ptep , pte_t pteval ) ;
511 void (*set_pmd)(pmd_t *pmdp , pmd_t pmdval ) ;
512 void (*set_pmd_at)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp , pmd_t pmdval ) ;
513 void (*pte_update)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
514 void (*pte_update_defer)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
515 void (*pmd_update)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
516 void (*pmd_update_defer)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
517 pte_t (*ptep_modify_prot_start)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
518 void (*ptep_modify_prot_commit)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ,
519 pte_t pte ) ;
520 struct paravirt_callee_save pte_val ;
521 struct paravirt_callee_save make_pte ;
522 struct paravirt_callee_save pgd_val ;
523 struct paravirt_callee_save make_pgd ;
524 void (*set_pud)(pud_t *pudp , pud_t pudval ) ;
525 struct paravirt_callee_save pmd_val ;
526 struct paravirt_callee_save make_pmd ;
527 struct paravirt_callee_save pud_val ;
528 struct paravirt_callee_save make_pud ;
529 void (*set_pgd)(pgd_t *pudp , pgd_t pgdval ) ;
530 struct pv_lazy_ops lazy_mode ;
531 void (*set_fixmap)(unsigned int idx , phys_addr_t phys , pgprot_t flags ) ;
532};
533#line 322
534struct arch_spinlock;
535#line 322
536struct arch_spinlock;
537#line 322
538struct arch_spinlock;
539#line 322
540struct arch_spinlock;
541#line 323 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
542struct pv_lock_ops {
543 int (*spin_is_locked)(struct arch_spinlock *lock ) ;
544 int (*spin_is_contended)(struct arch_spinlock *lock ) ;
545 void (*spin_lock)(struct arch_spinlock *lock ) ;
546 void (*spin_lock_flags)(struct arch_spinlock *lock , unsigned long flags ) ;
547 int (*spin_trylock)(struct arch_spinlock *lock ) ;
548 void (*spin_unlock)(struct arch_spinlock *lock ) ;
549};
550#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
551struct paravirt_patch_template {
552 struct pv_init_ops pv_init_ops ;
553 struct pv_time_ops pv_time_ops ;
554 struct pv_cpu_ops pv_cpu_ops ;
555 struct pv_irq_ops pv_irq_ops ;
556 struct pv_apic_ops pv_apic_ops ;
557 struct pv_mmu_ops pv_mmu_ops ;
558 struct pv_lock_ops pv_lock_ops ;
559};
560#line 13 "include/linux/cpumask.h"
561struct cpumask {
562 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
563};
564#line 13 "include/linux/cpumask.h"
565typedef struct cpumask cpumask_t;
566#line 622 "include/linux/cpumask.h"
567typedef struct cpumask *cpumask_var_t;
568#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
569struct task_struct;
570#line 23
571struct tss_struct;
572#line 11 "include/linux/personality.h"
573struct pt_regs;
574#line 224 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
575struct x86_hw_tss {
576 u32 reserved1 ;
577 u64 sp0 ;
578 u64 sp1 ;
579 u64 sp2 ;
580 u64 reserved2 ;
581 u64 ist[7] ;
582 u32 reserved3 ;
583 u32 reserved4 ;
584 u16 reserved5 ;
585 u16 io_bitmap_base ;
586} __attribute__((__packed__, __aligned__((1) << (6) ))) ;
587#line 248 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
588struct tss_struct {
589 struct x86_hw_tss x86_tss ;
590 unsigned long io_bitmap[8192UL / sizeof(long ) + 1UL] ;
591 unsigned long stack[64] ;
592} __attribute__((__aligned__((1) << (6) ))) ;
593#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
594struct i387_fsave_struct {
595 u32 cwd ;
596 u32 swd ;
597 u32 twd ;
598 u32 fip ;
599 u32 fcs ;
600 u32 foo ;
601 u32 fos ;
602 u32 st_space[20] ;
603 u32 status ;
604};
605#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
606struct __anonstruct____missing_field_name_31 {
607 u64 rip ;
608 u64 rdp ;
609};
610#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
611struct __anonstruct____missing_field_name_32 {
612 u32 fip ;
613 u32 fcs ;
614 u32 foo ;
615 u32 fos ;
616};
617#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
618union __anonunion____missing_field_name_30 {
619 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
620 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
621};
622#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
623union __anonunion____missing_field_name_33 {
624 u32 padding1[12] ;
625 u32 sw_reserved[12] ;
626};
627#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
628struct i387_fxsave_struct {
629 u16 cwd ;
630 u16 swd ;
631 u16 twd ;
632 u16 fop ;
633 union __anonunion____missing_field_name_30 __annonCompField14 ;
634 u32 mxcsr ;
635 u32 mxcsr_mask ;
636 u32 st_space[32] ;
637 u32 xmm_space[64] ;
638 u32 padding[12] ;
639 union __anonunion____missing_field_name_33 __annonCompField15 ;
640} __attribute__((__aligned__(16))) ;
641#line 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
642struct i387_soft_struct {
643 u32 cwd ;
644 u32 swd ;
645 u32 twd ;
646 u32 fip ;
647 u32 fcs ;
648 u32 foo ;
649 u32 fos ;
650 u32 st_space[20] ;
651 u8 ftop ;
652 u8 changed ;
653 u8 lookahead ;
654 u8 no_update ;
655 u8 rm ;
656 u8 alimit ;
657 struct math_emu_info *info ;
658 u32 entry_eip ;
659};
660#line 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
661struct ymmh_struct {
662 u32 ymmh_space[64] ;
663};
664#line 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
665struct xsave_hdr_struct {
666 u64 xstate_bv ;
667 u64 reserved1[2] ;
668 u64 reserved2[5] ;
669} __attribute__((__packed__)) ;
670#line 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
671struct xsave_struct {
672 struct i387_fxsave_struct i387 ;
673 struct xsave_hdr_struct xsave_hdr ;
674 struct ymmh_struct ymmh ;
675} __attribute__((__packed__, __aligned__(64))) ;
676#line 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
677union thread_xstate {
678 struct i387_fsave_struct fsave ;
679 struct i387_fxsave_struct fxsave ;
680 struct i387_soft_struct soft ;
681 struct xsave_struct xsave ;
682};
683#line 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
684struct fpu {
685 union thread_xstate *state ;
686};
687#line 421
688struct kmem_cache;
689#line 421
690struct kmem_cache;
691#line 421
692struct kmem_cache;
693#line 423
694struct perf_event;
695#line 423
696struct perf_event;
697#line 423
698struct perf_event;
699#line 423
700struct perf_event;
701#line 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
702struct thread_struct {
703 struct desc_struct tls_array[3] ;
704 unsigned long sp0 ;
705 unsigned long sp ;
706 unsigned long usersp ;
707 unsigned short es ;
708 unsigned short ds ;
709 unsigned short fsindex ;
710 unsigned short gsindex ;
711 unsigned long fs ;
712 unsigned long gs ;
713 struct perf_event *ptrace_bps[4] ;
714 unsigned long debugreg6 ;
715 unsigned long ptrace_dr7 ;
716 unsigned long cr2 ;
717 unsigned long trap_no ;
718 unsigned long error_code ;
719 struct fpu fpu ;
720 unsigned long *io_bitmap_ptr ;
721 unsigned long iopl ;
722 unsigned int io_bitmap_max ;
723};
724#line 23 "include/asm-generic/atomic-long.h"
725typedef atomic64_t atomic_long_t;
726#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
727struct arch_spinlock {
728 unsigned int slock ;
729};
730#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
731typedef struct arch_spinlock arch_spinlock_t;
732#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
733struct __anonstruct_arch_rwlock_t_36 {
734 unsigned int lock ;
735};
736#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
737typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
738#line 12 "include/linux/lockdep.h"
739struct task_struct;
740#line 13
741struct lockdep_map;
742#line 13
743struct lockdep_map;
744#line 13
745struct lockdep_map;
746#line 13
747struct lockdep_map;
748#line 8 "include/linux/debug_locks.h"
749struct task_struct;
750#line 48
751struct task_struct;
752#line 4 "include/linux/stacktrace.h"
753struct task_struct;
754#line 5
755struct pt_regs;
756#line 8
757struct task_struct;
758#line 10 "include/linux/stacktrace.h"
759struct stack_trace {
760 unsigned int nr_entries ;
761 unsigned int max_entries ;
762 unsigned long *entries ;
763 int skip ;
764};
765#line 50 "include/linux/lockdep.h"
766struct lockdep_subclass_key {
767 char __one_byte ;
768} __attribute__((__packed__)) ;
769#line 54 "include/linux/lockdep.h"
770struct lock_class_key {
771 struct lockdep_subclass_key subkeys[8UL] ;
772};
773#line 65 "include/linux/lockdep.h"
774struct lock_class {
775 struct list_head hash_entry ;
776 struct list_head lock_entry ;
777 struct lockdep_subclass_key *key ;
778 unsigned int subclass ;
779 unsigned int dep_gen_id ;
780 unsigned long usage_mask ;
781 struct stack_trace usage_traces[13] ;
782 struct list_head locks_after ;
783 struct list_head locks_before ;
784 unsigned int version ;
785 unsigned long ops ;
786 char const *name ;
787 int name_version ;
788 unsigned long contention_point[4] ;
789 unsigned long contending_point[4] ;
790};
791#line 150 "include/linux/lockdep.h"
792struct lockdep_map {
793 struct lock_class_key *key ;
794 struct lock_class *class_cache[2] ;
795 char const *name ;
796 int cpu ;
797 unsigned long ip ;
798};
799#line 196 "include/linux/lockdep.h"
800struct held_lock {
801 u64 prev_chain_key ;
802 unsigned long acquire_ip ;
803 struct lockdep_map *instance ;
804 struct lockdep_map *nest_lock ;
805 u64 waittime_stamp ;
806 u64 holdtime_stamp ;
807 unsigned int class_idx : 13 ;
808 unsigned int irq_context : 2 ;
809 unsigned int trylock : 1 ;
810 unsigned int read : 2 ;
811 unsigned int check : 2 ;
812 unsigned int hardirqs_off : 1 ;
813 unsigned int references : 11 ;
814};
815#line 20 "include/linux/spinlock_types.h"
816struct raw_spinlock {
817 arch_spinlock_t raw_lock ;
818 unsigned int magic ;
819 unsigned int owner_cpu ;
820 void *owner ;
821 struct lockdep_map dep_map ;
822};
823#line 20 "include/linux/spinlock_types.h"
824typedef struct raw_spinlock raw_spinlock_t;
825#line 64 "include/linux/spinlock_types.h"
826struct __anonstruct____missing_field_name_38 {
827 u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
828 struct lockdep_map dep_map ;
829};
830#line 64 "include/linux/spinlock_types.h"
831union __anonunion____missing_field_name_37 {
832 struct raw_spinlock rlock ;
833 struct __anonstruct____missing_field_name_38 __annonCompField17 ;
834};
835#line 64 "include/linux/spinlock_types.h"
836struct spinlock {
837 union __anonunion____missing_field_name_37 __annonCompField18 ;
838};
839#line 64 "include/linux/spinlock_types.h"
840typedef struct spinlock spinlock_t;
841#line 11 "include/linux/rwlock_types.h"
842struct __anonstruct_rwlock_t_39 {
843 arch_rwlock_t raw_lock ;
844 unsigned int magic ;
845 unsigned int owner_cpu ;
846 void *owner ;
847 struct lockdep_map dep_map ;
848};
849#line 11 "include/linux/rwlock_types.h"
850typedef struct __anonstruct_rwlock_t_39 rwlock_t;
851#line 119 "include/linux/seqlock.h"
852struct seqcount {
853 unsigned int sequence ;
854};
855#line 119 "include/linux/seqlock.h"
856typedef struct seqcount seqcount_t;
857#line 14 "include/linux/time.h"
858struct timespec {
859 __kernel_time_t tv_sec ;
860 long tv_nsec ;
861};
862#line 62 "include/linux/stat.h"
863struct kstat {
864 u64 ino ;
865 dev_t dev ;
866 umode_t mode ;
867 unsigned int nlink ;
868 uid_t uid ;
869 gid_t gid ;
870 dev_t rdev ;
871 loff_t size ;
872 struct timespec atime ;
873 struct timespec mtime ;
874 struct timespec ctime ;
875 unsigned long blksize ;
876 unsigned long long blocks ;
877};
878#line 50 "include/linux/wait.h"
879struct __wait_queue_head {
880 spinlock_t lock ;
881 struct list_head task_list ;
882};
883#line 54 "include/linux/wait.h"
884typedef struct __wait_queue_head wait_queue_head_t;
885#line 56
886struct task_struct;
887#line 96 "include/linux/nodemask.h"
888struct __anonstruct_nodemask_t_41 {
889 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
890};
891#line 96 "include/linux/nodemask.h"
892typedef struct __anonstruct_nodemask_t_41 nodemask_t;
893#line 60 "include/linux/pageblock-flags.h"
894struct page;
895#line 48 "include/linux/mutex.h"
896struct mutex {
897 atomic_t count ;
898 spinlock_t wait_lock ;
899 struct list_head wait_list ;
900 struct task_struct *owner ;
901 char const *name ;
902 void *magic ;
903 struct lockdep_map dep_map ;
904};
905#line 69 "include/linux/mutex.h"
906struct mutex_waiter {
907 struct list_head list ;
908 struct task_struct *task ;
909 void *magic ;
910};
911#line 20 "include/linux/rwsem.h"
912struct rw_semaphore;
913#line 20
914struct rw_semaphore;
915#line 20
916struct rw_semaphore;
917#line 20
918struct rw_semaphore;
919#line 26 "include/linux/rwsem.h"
920struct rw_semaphore {
921 long count ;
922 spinlock_t wait_lock ;
923 struct list_head wait_list ;
924 struct lockdep_map dep_map ;
925};
926#line 8 "include/linux/memory_hotplug.h"
927struct page;
928#line 18 "include/linux/ioport.h"
929struct resource {
930 resource_size_t start ;
931 resource_size_t end ;
932 char const *name ;
933 unsigned long flags ;
934 struct resource *parent ;
935 struct resource *sibling ;
936 struct resource *child ;
937};
938#line 26
939struct pci_dev;
940#line 26
941struct pci_dev;
942#line 26
943struct pci_dev;
944#line 177
945struct device;
946#line 177
947struct device;
948#line 177
949struct device;
950#line 177
951struct device;
952#line 171 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/x86_init.h"
953struct pci_dev;
954#line 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
955struct device;
956#line 46 "include/linux/ktime.h"
957union ktime {
958 s64 tv64 ;
959};
960#line 59 "include/linux/ktime.h"
961typedef union ktime ktime_t;
962#line 10 "include/linux/timer.h"
963struct tvec_base;
964#line 10
965struct tvec_base;
966#line 10
967struct tvec_base;
968#line 10
969struct tvec_base;
970#line 12 "include/linux/timer.h"
971struct timer_list {
972 struct list_head entry ;
973 unsigned long expires ;
974 struct tvec_base *base ;
975 void (*function)(unsigned long ) ;
976 unsigned long data ;
977 int slack ;
978 int start_pid ;
979 void *start_site ;
980 char start_comm[16] ;
981 struct lockdep_map lockdep_map ;
982};
983#line 289
984struct hrtimer;
985#line 289
986struct hrtimer;
987#line 289
988struct hrtimer;
989#line 289
990struct hrtimer;
991#line 290
992enum hrtimer_restart;
993#line 290
994enum hrtimer_restart;
995#line 290
996enum hrtimer_restart;
997#line 15 "include/linux/workqueue.h"
998struct workqueue_struct;
999#line 15
1000struct workqueue_struct;
1001#line 15
1002struct workqueue_struct;
1003#line 15
1004struct workqueue_struct;
1005#line 17
1006struct work_struct;
1007#line 17
1008struct work_struct;
1009#line 17
1010struct work_struct;
1011#line 17
1012struct work_struct;
1013#line 79 "include/linux/workqueue.h"
1014struct work_struct {
1015 atomic_long_t data ;
1016 struct list_head entry ;
1017 void (*func)(struct work_struct *work ) ;
1018 struct lockdep_map lockdep_map ;
1019};
1020#line 92 "include/linux/workqueue.h"
1021struct delayed_work {
1022 struct work_struct work ;
1023 struct timer_list timer ;
1024};
1025#line 102 "include/linux/workqueue.h"
1026struct execute_work {
1027 struct work_struct work ;
1028};
1029#line 25 "include/linux/completion.h"
1030struct completion {
1031 unsigned int done ;
1032 wait_queue_head_t wait ;
1033};
1034#line 42 "include/linux/pm.h"
1035struct device;
1036#line 50 "include/linux/pm.h"
1037struct pm_message {
1038 int event ;
1039};
1040#line 50 "include/linux/pm.h"
1041typedef struct pm_message pm_message_t;
1042#line 204 "include/linux/pm.h"
1043struct dev_pm_ops {
1044 int (*prepare)(struct device *dev ) ;
1045 void (*complete)(struct device *dev ) ;
1046 int (*suspend)(struct device *dev ) ;
1047 int (*resume)(struct device *dev ) ;
1048 int (*freeze)(struct device *dev ) ;
1049 int (*thaw)(struct device *dev ) ;
1050 int (*poweroff)(struct device *dev ) ;
1051 int (*restore)(struct device *dev ) ;
1052 int (*suspend_noirq)(struct device *dev ) ;
1053 int (*resume_noirq)(struct device *dev ) ;
1054 int (*freeze_noirq)(struct device *dev ) ;
1055 int (*thaw_noirq)(struct device *dev ) ;
1056 int (*poweroff_noirq)(struct device *dev ) ;
1057 int (*restore_noirq)(struct device *dev ) ;
1058 int (*runtime_suspend)(struct device *dev ) ;
1059 int (*runtime_resume)(struct device *dev ) ;
1060 int (*runtime_idle)(struct device *dev ) ;
1061};
1062#line 392
1063enum rpm_status {
1064 RPM_ACTIVE = 0,
1065 RPM_RESUMING = 1,
1066 RPM_SUSPENDED = 2,
1067 RPM_SUSPENDING = 3
1068} ;
1069#line 414
1070enum rpm_request {
1071 RPM_REQ_NONE = 0,
1072 RPM_REQ_IDLE = 1,
1073 RPM_REQ_SUSPEND = 2,
1074 RPM_REQ_AUTOSUSPEND = 3,
1075 RPM_REQ_RESUME = 4
1076} ;
1077#line 422
1078struct wakeup_source;
1079#line 422
1080struct wakeup_source;
1081#line 422
1082struct wakeup_source;
1083#line 422
1084struct wakeup_source;
1085#line 424 "include/linux/pm.h"
1086struct dev_pm_info {
1087 pm_message_t power_state ;
1088 unsigned int can_wakeup : 1 ;
1089 unsigned int async_suspend : 1 ;
1090 bool is_prepared : 1 ;
1091 bool is_suspended : 1 ;
1092 spinlock_t lock ;
1093 struct list_head entry ;
1094 struct completion completion ;
1095 struct wakeup_source *wakeup ;
1096 struct timer_list suspend_timer ;
1097 unsigned long timer_expires ;
1098 struct work_struct work ;
1099 wait_queue_head_t wait_queue ;
1100 atomic_t usage_count ;
1101 atomic_t child_count ;
1102 unsigned int disable_depth : 3 ;
1103 unsigned int ignore_children : 1 ;
1104 unsigned int idle_notification : 1 ;
1105 unsigned int request_pending : 1 ;
1106 unsigned int deferred_resume : 1 ;
1107 unsigned int run_wake : 1 ;
1108 unsigned int runtime_auto : 1 ;
1109 unsigned int no_callbacks : 1 ;
1110 unsigned int irq_safe : 1 ;
1111 unsigned int use_autosuspend : 1 ;
1112 unsigned int timer_autosuspends : 1 ;
1113 enum rpm_request request ;
1114 enum rpm_status runtime_status ;
1115 int runtime_error ;
1116 int autosuspend_delay ;
1117 unsigned long last_busy ;
1118 unsigned long active_jiffies ;
1119 unsigned long suspended_jiffies ;
1120 unsigned long accounting_timestamp ;
1121 void *subsys_data ;
1122};
1123#line 475 "include/linux/pm.h"
1124struct dev_power_domain {
1125 struct dev_pm_ops ops ;
1126};
1127#line 176 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/topology.h"
1128struct pci_bus;
1129#line 176
1130struct pci_bus;
1131#line 176
1132struct pci_bus;
1133#line 176
1134struct pci_bus;
1135#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1136struct __anonstruct_mm_context_t_111 {
1137 void *ldt ;
1138 int size ;
1139 unsigned short ia32_compat ;
1140 struct mutex lock ;
1141 void *vdso ;
1142};
1143#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1144typedef struct __anonstruct_mm_context_t_111 mm_context_t;
1145#line 68 "include/asm-generic/iomap.h"
1146struct pci_dev;
1147#line 8 "include/linux/vmalloc.h"
1148struct vm_area_struct;
1149#line 8
1150struct vm_area_struct;
1151#line 8
1152struct vm_area_struct;
1153#line 8
1154struct vm_area_struct;
1155#line 337 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
1156struct bio_vec;
1157#line 337
1158struct bio_vec;
1159#line 337
1160struct bio_vec;
1161#line 337
1162struct bio_vec;
1163#line 964 "include/linux/mmzone.h"
1164struct page;
1165#line 18 "include/linux/smp.h"
1166struct call_single_data {
1167 struct list_head list ;
1168 void (*func)(void *info ) ;
1169 void *info ;
1170 u16 flags ;
1171 u16 priv ;
1172};
1173#line 10 "include/linux/gfp.h"
1174struct vm_area_struct;
1175#line 29 "include/linux/sysctl.h"
1176struct completion;
1177#line 72 "include/linux/rcupdate.h"
1178struct rcu_head {
1179 struct rcu_head *next ;
1180 void (*func)(struct rcu_head *head ) ;
1181};
1182#line 937 "include/linux/sysctl.h"
1183struct nsproxy;
1184#line 937
1185struct nsproxy;
1186#line 937
1187struct nsproxy;
1188#line 937
1189struct nsproxy;
1190#line 48 "include/linux/kmod.h"
1191struct cred;
1192#line 48
1193struct cred;
1194#line 48
1195struct cred;
1196#line 48
1197struct cred;
1198#line 49
1199struct file;
1200#line 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
1201struct task_struct;
1202#line 10 "include/linux/elf.h"
1203struct file;
1204#line 27 "include/linux/elf.h"
1205typedef __u64 Elf64_Addr;
1206#line 28 "include/linux/elf.h"
1207typedef __u16 Elf64_Half;
1208#line 32 "include/linux/elf.h"
1209typedef __u32 Elf64_Word;
1210#line 33 "include/linux/elf.h"
1211typedef __u64 Elf64_Xword;
1212#line 203 "include/linux/elf.h"
1213struct elf64_sym {
1214 Elf64_Word st_name ;
1215 unsigned char st_info ;
1216 unsigned char st_other ;
1217 Elf64_Half st_shndx ;
1218 Elf64_Addr st_value ;
1219 Elf64_Xword st_size ;
1220};
1221#line 203 "include/linux/elf.h"
1222typedef struct elf64_sym Elf64_Sym;
1223#line 20 "include/linux/kobject_ns.h"
1224struct sock;
1225#line 20
1226struct sock;
1227#line 20
1228struct sock;
1229#line 20
1230struct sock;
1231#line 21
1232struct kobject;
1233#line 21
1234struct kobject;
1235#line 21
1236struct kobject;
1237#line 21
1238struct kobject;
1239#line 27
1240enum kobj_ns_type {
1241 KOBJ_NS_TYPE_NONE = 0,
1242 KOBJ_NS_TYPE_NET = 1,
1243 KOBJ_NS_TYPES = 2
1244} ;
1245#line 40 "include/linux/kobject_ns.h"
1246struct kobj_ns_type_operations {
1247 enum kobj_ns_type type ;
1248 void *(*grab_current_ns)(void) ;
1249 void const *(*netlink_ns)(struct sock *sk ) ;
1250 void const *(*initial_ns)(void) ;
1251 void (*drop_ns)(void * ) ;
1252};
1253#line 22 "include/linux/sysfs.h"
1254struct kobject;
1255#line 23
1256struct module;
1257#line 24
1258enum kobj_ns_type;
1259#line 26 "include/linux/sysfs.h"
1260struct attribute {
1261 char const *name ;
1262 mode_t mode ;
1263 struct lock_class_key *key ;
1264 struct lock_class_key skey ;
1265};
1266#line 56 "include/linux/sysfs.h"
1267struct attribute_group {
1268 char const *name ;
1269 mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
1270 struct attribute **attrs ;
1271};
1272#line 85
1273struct file;
1274#line 86
1275struct vm_area_struct;
1276#line 88 "include/linux/sysfs.h"
1277struct bin_attribute {
1278 struct attribute attr ;
1279 size_t size ;
1280 void *private ;
1281 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1282 loff_t , size_t ) ;
1283 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1284 loff_t , size_t ) ;
1285 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
1286};
1287#line 112 "include/linux/sysfs.h"
1288struct sysfs_ops {
1289 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
1290 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
1291};
1292#line 117
1293struct sysfs_dirent;
1294#line 117
1295struct sysfs_dirent;
1296#line 117
1297struct sysfs_dirent;
1298#line 117
1299struct sysfs_dirent;
1300#line 20 "include/linux/kref.h"
1301struct kref {
1302 atomic_t refcount ;
1303};
1304#line 60 "include/linux/kobject.h"
1305struct kset;
1306#line 60
1307struct kset;
1308#line 60
1309struct kset;
1310#line 60
1311struct kobj_type;
1312#line 60
1313struct kobj_type;
1314#line 60
1315struct kobj_type;
1316#line 60 "include/linux/kobject.h"
1317struct kobject {
1318 char const *name ;
1319 struct list_head entry ;
1320 struct kobject *parent ;
1321 struct kset *kset ;
1322 struct kobj_type *ktype ;
1323 struct sysfs_dirent *sd ;
1324 struct kref kref ;
1325 unsigned int state_initialized : 1 ;
1326 unsigned int state_in_sysfs : 1 ;
1327 unsigned int state_add_uevent_sent : 1 ;
1328 unsigned int state_remove_uevent_sent : 1 ;
1329 unsigned int uevent_suppress : 1 ;
1330};
1331#line 110 "include/linux/kobject.h"
1332struct kobj_type {
1333 void (*release)(struct kobject *kobj ) ;
1334 struct sysfs_ops const *sysfs_ops ;
1335 struct attribute **default_attrs ;
1336 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
1337 void const *(*namespace)(struct kobject *kobj ) ;
1338};
1339#line 118 "include/linux/kobject.h"
1340struct kobj_uevent_env {
1341 char *envp[32] ;
1342 int envp_idx ;
1343 char buf[2048] ;
1344 int buflen ;
1345};
1346#line 125 "include/linux/kobject.h"
1347struct kset_uevent_ops {
1348 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1349 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1350 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1351};
1352#line 142
1353struct sock;
1354#line 161 "include/linux/kobject.h"
1355struct kset {
1356 struct list_head list ;
1357 spinlock_t list_lock ;
1358 struct kobject kobj ;
1359 struct kset_uevent_ops const *uevent_ops ;
1360};
1361#line 34 "include/linux/moduleparam.h"
1362struct kernel_param;
1363#line 34
1364struct kernel_param;
1365#line 34
1366struct kernel_param;
1367#line 34
1368struct kernel_param;
1369#line 36 "include/linux/moduleparam.h"
1370struct kernel_param_ops {
1371 int (*set)(char const *val , struct kernel_param const *kp ) ;
1372 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1373 void (*free)(void *arg ) ;
1374};
1375#line 48
1376struct kparam_string;
1377#line 48
1378struct kparam_string;
1379#line 48
1380struct kparam_string;
1381#line 48
1382struct kparam_array;
1383#line 48
1384struct kparam_array;
1385#line 48
1386struct kparam_array;
1387#line 48 "include/linux/moduleparam.h"
1388union __anonunion____missing_field_name_195 {
1389 void *arg ;
1390 struct kparam_string const *str ;
1391 struct kparam_array const *arr ;
1392};
1393#line 48 "include/linux/moduleparam.h"
1394struct kernel_param {
1395 char const *name ;
1396 struct kernel_param_ops const *ops ;
1397 u16 perm ;
1398 u16 flags ;
1399 union __anonunion____missing_field_name_195 __annonCompField31 ;
1400};
1401#line 61 "include/linux/moduleparam.h"
1402struct kparam_string {
1403 unsigned int maxlen ;
1404 char *string ;
1405};
1406#line 67 "include/linux/moduleparam.h"
1407struct kparam_array {
1408 unsigned int max ;
1409 unsigned int elemsize ;
1410 unsigned int *num ;
1411 struct kernel_param_ops const *ops ;
1412 void *elem ;
1413};
1414#line 391
1415struct module;
1416#line 26 "include/linux/jump_label.h"
1417struct module;
1418#line 61 "include/linux/jump_label.h"
1419struct jump_label_key {
1420 atomic_t enabled ;
1421};
1422#line 22 "include/linux/tracepoint.h"
1423struct module;
1424#line 23
1425struct tracepoint;
1426#line 23
1427struct tracepoint;
1428#line 23
1429struct tracepoint;
1430#line 23
1431struct tracepoint;
1432#line 25 "include/linux/tracepoint.h"
1433struct tracepoint_func {
1434 void *func ;
1435 void *data ;
1436};
1437#line 30 "include/linux/tracepoint.h"
1438struct tracepoint {
1439 char const *name ;
1440 struct jump_label_key key ;
1441 void (*regfunc)(void) ;
1442 void (*unregfunc)(void) ;
1443 struct tracepoint_func *funcs ;
1444};
1445#line 8 "include/asm-generic/module.h"
1446struct mod_arch_specific {
1447
1448};
1449#line 21 "include/trace/events/module.h"
1450struct module;
1451#line 37 "include/linux/module.h"
1452struct kernel_symbol {
1453 unsigned long value ;
1454 char const *name ;
1455};
1456#line 49
1457struct module;
1458#line 51 "include/linux/module.h"
1459struct module_attribute {
1460 struct attribute attr ;
1461 ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1462 ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1463 size_t count ) ;
1464 void (*setup)(struct module * , char const * ) ;
1465 int (*test)(struct module * ) ;
1466 void (*free)(struct module * ) ;
1467};
1468#line 70
1469struct module_param_attrs;
1470#line 70
1471struct module_param_attrs;
1472#line 70
1473struct module_param_attrs;
1474#line 70 "include/linux/module.h"
1475struct module_kobject {
1476 struct kobject kobj ;
1477 struct module *mod ;
1478 struct kobject *drivers_dir ;
1479 struct module_param_attrs *mp ;
1480};
1481#line 83
1482struct exception_table_entry;
1483#line 83
1484struct exception_table_entry;
1485#line 83
1486struct exception_table_entry;
1487#line 83
1488struct exception_table_entry;
1489#line 265
1490enum module_state {
1491 MODULE_STATE_LIVE = 0,
1492 MODULE_STATE_COMING = 1,
1493 MODULE_STATE_GOING = 2
1494} ;
1495#line 272
1496struct module_sect_attrs;
1497#line 272
1498struct module_sect_attrs;
1499#line 272
1500struct module_sect_attrs;
1501#line 272
1502struct module_notes_attrs;
1503#line 272
1504struct module_notes_attrs;
1505#line 272
1506struct module_notes_attrs;
1507#line 272
1508struct ftrace_event_call;
1509#line 272
1510struct ftrace_event_call;
1511#line 272
1512struct ftrace_event_call;
1513#line 272 "include/linux/module.h"
1514struct module_ref {
1515 unsigned int incs ;
1516 unsigned int decs ;
1517};
1518#line 272 "include/linux/module.h"
1519struct module {
1520 enum module_state state ;
1521 struct list_head list ;
1522 char name[64UL - sizeof(unsigned long )] ;
1523 struct module_kobject mkobj ;
1524 struct module_attribute *modinfo_attrs ;
1525 char const *version ;
1526 char const *srcversion ;
1527 struct kobject *holders_dir ;
1528 struct kernel_symbol const *syms ;
1529 unsigned long const *crcs ;
1530 unsigned int num_syms ;
1531 struct kernel_param *kp ;
1532 unsigned int num_kp ;
1533 unsigned int num_gpl_syms ;
1534 struct kernel_symbol const *gpl_syms ;
1535 unsigned long const *gpl_crcs ;
1536 struct kernel_symbol const *unused_syms ;
1537 unsigned long const *unused_crcs ;
1538 unsigned int num_unused_syms ;
1539 unsigned int num_unused_gpl_syms ;
1540 struct kernel_symbol const *unused_gpl_syms ;
1541 unsigned long const *unused_gpl_crcs ;
1542 struct kernel_symbol const *gpl_future_syms ;
1543 unsigned long const *gpl_future_crcs ;
1544 unsigned int num_gpl_future_syms ;
1545 unsigned int num_exentries ;
1546 struct exception_table_entry *extable ;
1547 int (*init)(void) ;
1548 void *module_init ;
1549 void *module_core ;
1550 unsigned int init_size ;
1551 unsigned int core_size ;
1552 unsigned int init_text_size ;
1553 unsigned int core_text_size ;
1554 unsigned int init_ro_size ;
1555 unsigned int core_ro_size ;
1556 struct mod_arch_specific arch ;
1557 unsigned int taints ;
1558 unsigned int num_bugs ;
1559 struct list_head bug_list ;
1560 struct bug_entry *bug_table ;
1561 Elf64_Sym *symtab ;
1562 Elf64_Sym *core_symtab ;
1563 unsigned int num_symtab ;
1564 unsigned int core_num_syms ;
1565 char *strtab ;
1566 char *core_strtab ;
1567 struct module_sect_attrs *sect_attrs ;
1568 struct module_notes_attrs *notes_attrs ;
1569 char *args ;
1570 void *percpu ;
1571 unsigned int percpu_size ;
1572 unsigned int num_tracepoints ;
1573 struct tracepoint * const *tracepoints_ptrs ;
1574 unsigned int num_trace_bprintk_fmt ;
1575 char const **trace_bprintk_fmt_start ;
1576 struct ftrace_event_call **trace_events ;
1577 unsigned int num_trace_events ;
1578 unsigned int num_ftrace_callsites ;
1579 unsigned long *ftrace_callsites ;
1580 struct list_head source_list ;
1581 struct list_head target_list ;
1582 struct task_struct *waiter ;
1583 void (*exit)(void) ;
1584 struct module_ref *refptr ;
1585 ctor_fn_t *ctors ;
1586 unsigned int num_ctors ;
1587};
1588#line 18 "include/linux/capability.h"
1589struct task_struct;
1590#line 94 "include/linux/capability.h"
1591struct kernel_cap_struct {
1592 __u32 cap[2] ;
1593};
1594#line 94 "include/linux/capability.h"
1595typedef struct kernel_cap_struct kernel_cap_t;
1596#line 376
1597struct dentry;
1598#line 376
1599struct dentry;
1600#line 376
1601struct dentry;
1602#line 376
1603struct dentry;
1604#line 377
1605struct user_namespace;
1606#line 377
1607struct user_namespace;
1608#line 377
1609struct user_namespace;
1610#line 377
1611struct user_namespace;
1612#line 100 "include/linux/rbtree.h"
1613struct rb_node {
1614 unsigned long rb_parent_color ;
1615 struct rb_node *rb_right ;
1616 struct rb_node *rb_left ;
1617} __attribute__((__aligned__(sizeof(long )))) ;
1618#line 110 "include/linux/rbtree.h"
1619struct rb_root {
1620 struct rb_node *rb_node ;
1621};
1622#line 14 "include/linux/prio_tree.h"
1623struct prio_tree_node;
1624#line 14
1625struct prio_tree_node;
1626#line 14
1627struct prio_tree_node;
1628#line 14 "include/linux/prio_tree.h"
1629struct raw_prio_tree_node {
1630 struct prio_tree_node *left ;
1631 struct prio_tree_node *right ;
1632 struct prio_tree_node *parent ;
1633};
1634#line 20 "include/linux/prio_tree.h"
1635struct prio_tree_node {
1636 struct prio_tree_node *left ;
1637 struct prio_tree_node *right ;
1638 struct prio_tree_node *parent ;
1639 unsigned long start ;
1640 unsigned long last ;
1641};
1642#line 28 "include/linux/prio_tree.h"
1643struct prio_tree_root {
1644 struct prio_tree_node *prio_tree_node ;
1645 unsigned short index_bits ;
1646 unsigned short raw ;
1647};
1648#line 23 "include/linux/mm_types.h"
1649struct address_space;
1650#line 23
1651struct address_space;
1652#line 23
1653struct address_space;
1654#line 23
1655struct address_space;
1656#line 34 "include/linux/mm_types.h"
1657struct __anonstruct____missing_field_name_199 {
1658 u16 inuse ;
1659 u16 objects ;
1660};
1661#line 34 "include/linux/mm_types.h"
1662union __anonunion____missing_field_name_198 {
1663 atomic_t _mapcount ;
1664 struct __anonstruct____missing_field_name_199 __annonCompField32 ;
1665};
1666#line 34 "include/linux/mm_types.h"
1667struct __anonstruct____missing_field_name_201 {
1668 unsigned long private ;
1669 struct address_space *mapping ;
1670};
1671#line 34 "include/linux/mm_types.h"
1672union __anonunion____missing_field_name_200 {
1673 struct __anonstruct____missing_field_name_201 __annonCompField34 ;
1674 struct kmem_cache *slab ;
1675 struct page *first_page ;
1676};
1677#line 34 "include/linux/mm_types.h"
1678union __anonunion____missing_field_name_202 {
1679 unsigned long index ;
1680 void *freelist ;
1681};
1682#line 34 "include/linux/mm_types.h"
1683struct page {
1684 unsigned long flags ;
1685 atomic_t _count ;
1686 union __anonunion____missing_field_name_198 __annonCompField33 ;
1687 union __anonunion____missing_field_name_200 __annonCompField35 ;
1688 union __anonunion____missing_field_name_202 __annonCompField36 ;
1689 struct list_head lru ;
1690};
1691#line 132 "include/linux/mm_types.h"
1692struct __anonstruct_vm_set_204 {
1693 struct list_head list ;
1694 void *parent ;
1695 struct vm_area_struct *head ;
1696};
1697#line 132 "include/linux/mm_types.h"
1698union __anonunion_shared_203 {
1699 struct __anonstruct_vm_set_204 vm_set ;
1700 struct raw_prio_tree_node prio_tree_node ;
1701};
1702#line 132
1703struct anon_vma;
1704#line 132
1705struct anon_vma;
1706#line 132
1707struct anon_vma;
1708#line 132
1709struct vm_operations_struct;
1710#line 132
1711struct vm_operations_struct;
1712#line 132
1713struct vm_operations_struct;
1714#line 132
1715struct mempolicy;
1716#line 132
1717struct mempolicy;
1718#line 132
1719struct mempolicy;
1720#line 132 "include/linux/mm_types.h"
1721struct vm_area_struct {
1722 struct mm_struct *vm_mm ;
1723 unsigned long vm_start ;
1724 unsigned long vm_end ;
1725 struct vm_area_struct *vm_next ;
1726 struct vm_area_struct *vm_prev ;
1727 pgprot_t vm_page_prot ;
1728 unsigned long vm_flags ;
1729 struct rb_node vm_rb ;
1730 union __anonunion_shared_203 shared ;
1731 struct list_head anon_vma_chain ;
1732 struct anon_vma *anon_vma ;
1733 struct vm_operations_struct const *vm_ops ;
1734 unsigned long vm_pgoff ;
1735 struct file *vm_file ;
1736 void *vm_private_data ;
1737 struct mempolicy *vm_policy ;
1738};
1739#line 189 "include/linux/mm_types.h"
1740struct core_thread {
1741 struct task_struct *task ;
1742 struct core_thread *next ;
1743};
1744#line 194 "include/linux/mm_types.h"
1745struct core_state {
1746 atomic_t nr_threads ;
1747 struct core_thread dumper ;
1748 struct completion startup ;
1749};
1750#line 216 "include/linux/mm_types.h"
1751struct mm_rss_stat {
1752 atomic_long_t count[3] ;
1753};
1754#line 220
1755struct linux_binfmt;
1756#line 220
1757struct linux_binfmt;
1758#line 220
1759struct linux_binfmt;
1760#line 220
1761struct mmu_notifier_mm;
1762#line 220
1763struct mmu_notifier_mm;
1764#line 220
1765struct mmu_notifier_mm;
1766#line 220 "include/linux/mm_types.h"
1767struct mm_struct {
1768 struct vm_area_struct *mmap ;
1769 struct rb_root mm_rb ;
1770 struct vm_area_struct *mmap_cache ;
1771 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1772 unsigned long pgoff , unsigned long flags ) ;
1773 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1774 unsigned long mmap_base ;
1775 unsigned long task_size ;
1776 unsigned long cached_hole_size ;
1777 unsigned long free_area_cache ;
1778 pgd_t *pgd ;
1779 atomic_t mm_users ;
1780 atomic_t mm_count ;
1781 int map_count ;
1782 spinlock_t page_table_lock ;
1783 struct rw_semaphore mmap_sem ;
1784 struct list_head mmlist ;
1785 unsigned long hiwater_rss ;
1786 unsigned long hiwater_vm ;
1787 unsigned long total_vm ;
1788 unsigned long locked_vm ;
1789 unsigned long shared_vm ;
1790 unsigned long exec_vm ;
1791 unsigned long stack_vm ;
1792 unsigned long reserved_vm ;
1793 unsigned long def_flags ;
1794 unsigned long nr_ptes ;
1795 unsigned long start_code ;
1796 unsigned long end_code ;
1797 unsigned long start_data ;
1798 unsigned long end_data ;
1799 unsigned long start_brk ;
1800 unsigned long brk ;
1801 unsigned long start_stack ;
1802 unsigned long arg_start ;
1803 unsigned long arg_end ;
1804 unsigned long env_start ;
1805 unsigned long env_end ;
1806 unsigned long saved_auxv[44] ;
1807 struct mm_rss_stat rss_stat ;
1808 struct linux_binfmt *binfmt ;
1809 cpumask_var_t cpu_vm_mask_var ;
1810 mm_context_t context ;
1811 unsigned int faultstamp ;
1812 unsigned int token_priority ;
1813 unsigned int last_interval ;
1814 atomic_t oom_disable_count ;
1815 unsigned long flags ;
1816 struct core_state *core_state ;
1817 spinlock_t ioctx_lock ;
1818 struct hlist_head ioctx_list ;
1819 struct task_struct *owner ;
1820 struct file *exe_file ;
1821 unsigned long num_exe_file_vmas ;
1822 struct mmu_notifier_mm *mmu_notifier_mm ;
1823 pgtable_t pmd_huge_pte ;
1824 struct cpumask cpumask_allocation ;
1825};
1826#line 7 "include/asm-generic/cputime.h"
1827typedef unsigned long cputime_t;
1828#line 84 "include/linux/sem.h"
1829struct task_struct;
1830#line 122
1831struct sem_undo_list;
1832#line 122
1833struct sem_undo_list;
1834#line 122
1835struct sem_undo_list;
1836#line 135 "include/linux/sem.h"
1837struct sem_undo_list {
1838 atomic_t refcnt ;
1839 spinlock_t lock ;
1840 struct list_head list_proc ;
1841};
1842#line 141 "include/linux/sem.h"
1843struct sysv_sem {
1844 struct sem_undo_list *undo_list ;
1845};
1846#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1847struct siginfo;
1848#line 10
1849struct siginfo;
1850#line 10
1851struct siginfo;
1852#line 10
1853struct siginfo;
1854#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1855struct __anonstruct_sigset_t_206 {
1856 unsigned long sig[1] ;
1857};
1858#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1859typedef struct __anonstruct_sigset_t_206 sigset_t;
1860#line 17 "include/asm-generic/signal-defs.h"
1861typedef void __signalfn_t(int );
1862#line 18 "include/asm-generic/signal-defs.h"
1863typedef __signalfn_t *__sighandler_t;
1864#line 20 "include/asm-generic/signal-defs.h"
1865typedef void __restorefn_t(void);
1866#line 21 "include/asm-generic/signal-defs.h"
1867typedef __restorefn_t *__sigrestore_t;
1868#line 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1869struct sigaction {
1870 __sighandler_t sa_handler ;
1871 unsigned long sa_flags ;
1872 __sigrestore_t sa_restorer ;
1873 sigset_t sa_mask ;
1874};
1875#line 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1876struct k_sigaction {
1877 struct sigaction sa ;
1878};
1879#line 7 "include/asm-generic/siginfo.h"
1880union sigval {
1881 int sival_int ;
1882 void *sival_ptr ;
1883};
1884#line 7 "include/asm-generic/siginfo.h"
1885typedef union sigval sigval_t;
1886#line 40 "include/asm-generic/siginfo.h"
1887struct __anonstruct__kill_208 {
1888 __kernel_pid_t _pid ;
1889 __kernel_uid32_t _uid ;
1890};
1891#line 40 "include/asm-generic/siginfo.h"
1892struct __anonstruct__timer_209 {
1893 __kernel_timer_t _tid ;
1894 int _overrun ;
1895 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1896 sigval_t _sigval ;
1897 int _sys_private ;
1898};
1899#line 40 "include/asm-generic/siginfo.h"
1900struct __anonstruct__rt_210 {
1901 __kernel_pid_t _pid ;
1902 __kernel_uid32_t _uid ;
1903 sigval_t _sigval ;
1904};
1905#line 40 "include/asm-generic/siginfo.h"
1906struct __anonstruct__sigchld_211 {
1907 __kernel_pid_t _pid ;
1908 __kernel_uid32_t _uid ;
1909 int _status ;
1910 __kernel_clock_t _utime ;
1911 __kernel_clock_t _stime ;
1912};
1913#line 40 "include/asm-generic/siginfo.h"
1914struct __anonstruct__sigfault_212 {
1915 void *_addr ;
1916 short _addr_lsb ;
1917};
1918#line 40 "include/asm-generic/siginfo.h"
1919struct __anonstruct__sigpoll_213 {
1920 long _band ;
1921 int _fd ;
1922};
1923#line 40 "include/asm-generic/siginfo.h"
1924union __anonunion__sifields_207 {
1925 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1926 struct __anonstruct__kill_208 _kill ;
1927 struct __anonstruct__timer_209 _timer ;
1928 struct __anonstruct__rt_210 _rt ;
1929 struct __anonstruct__sigchld_211 _sigchld ;
1930 struct __anonstruct__sigfault_212 _sigfault ;
1931 struct __anonstruct__sigpoll_213 _sigpoll ;
1932};
1933#line 40 "include/asm-generic/siginfo.h"
1934struct siginfo {
1935 int si_signo ;
1936 int si_errno ;
1937 int si_code ;
1938 union __anonunion__sifields_207 _sifields ;
1939};
1940#line 40 "include/asm-generic/siginfo.h"
1941typedef struct siginfo siginfo_t;
1942#line 280
1943struct siginfo;
1944#line 10 "include/linux/signal.h"
1945struct task_struct;
1946#line 18
1947struct user_struct;
1948#line 18
1949struct user_struct;
1950#line 18
1951struct user_struct;
1952#line 28 "include/linux/signal.h"
1953struct sigpending {
1954 struct list_head list ;
1955 sigset_t signal ;
1956};
1957#line 239
1958struct timespec;
1959#line 240
1960struct pt_regs;
1961#line 6 "include/linux/pid.h"
1962enum pid_type {
1963 PIDTYPE_PID = 0,
1964 PIDTYPE_PGID = 1,
1965 PIDTYPE_SID = 2,
1966 PIDTYPE_MAX = 3
1967} ;
1968#line 50
1969struct pid_namespace;
1970#line 50
1971struct pid_namespace;
1972#line 50
1973struct pid_namespace;
1974#line 50 "include/linux/pid.h"
1975struct upid {
1976 int nr ;
1977 struct pid_namespace *ns ;
1978 struct hlist_node pid_chain ;
1979};
1980#line 57 "include/linux/pid.h"
1981struct pid {
1982 atomic_t count ;
1983 unsigned int level ;
1984 struct hlist_head tasks[3] ;
1985 struct rcu_head rcu ;
1986 struct upid numbers[1] ;
1987};
1988#line 69 "include/linux/pid.h"
1989struct pid_link {
1990 struct hlist_node node ;
1991 struct pid *pid ;
1992};
1993#line 100
1994struct pid_namespace;
1995#line 18 "include/linux/percpu_counter.h"
1996struct percpu_counter {
1997 spinlock_t lock ;
1998 s64 count ;
1999 struct list_head list ;
2000 s32 *counters ;
2001};
2002#line 50 "include/linux/proportions.h"
2003struct prop_local_percpu {
2004 struct percpu_counter events ;
2005 int shift ;
2006 unsigned long period ;
2007 spinlock_t lock ;
2008};
2009#line 97 "include/linux/proportions.h"
2010struct prop_local_single {
2011 unsigned long events ;
2012 unsigned long period ;
2013 int shift ;
2014 spinlock_t lock ;
2015};
2016#line 10 "include/linux/seccomp.h"
2017struct __anonstruct_seccomp_t_216 {
2018 int mode ;
2019};
2020#line 10 "include/linux/seccomp.h"
2021typedef struct __anonstruct_seccomp_t_216 seccomp_t;
2022#line 82 "include/linux/plist.h"
2023struct plist_head {
2024 struct list_head node_list ;
2025 raw_spinlock_t *rawlock ;
2026 spinlock_t *spinlock ;
2027};
2028#line 90 "include/linux/plist.h"
2029struct plist_node {
2030 int prio ;
2031 struct list_head prio_list ;
2032 struct list_head node_list ;
2033};
2034#line 40 "include/linux/rtmutex.h"
2035struct rt_mutex_waiter;
2036#line 40
2037struct rt_mutex_waiter;
2038#line 40
2039struct rt_mutex_waiter;
2040#line 40
2041struct rt_mutex_waiter;
2042#line 42 "include/linux/resource.h"
2043struct rlimit {
2044 unsigned long rlim_cur ;
2045 unsigned long rlim_max ;
2046};
2047#line 81
2048struct task_struct;
2049#line 8 "include/linux/timerqueue.h"
2050struct timerqueue_node {
2051 struct rb_node node ;
2052 ktime_t expires ;
2053};
2054#line 13 "include/linux/timerqueue.h"
2055struct timerqueue_head {
2056 struct rb_root head ;
2057 struct timerqueue_node *next ;
2058};
2059#line 27 "include/linux/hrtimer.h"
2060struct hrtimer_clock_base;
2061#line 27
2062struct hrtimer_clock_base;
2063#line 27
2064struct hrtimer_clock_base;
2065#line 27
2066struct hrtimer_clock_base;
2067#line 28
2068struct hrtimer_cpu_base;
2069#line 28
2070struct hrtimer_cpu_base;
2071#line 28
2072struct hrtimer_cpu_base;
2073#line 28
2074struct hrtimer_cpu_base;
2075#line 44
2076enum hrtimer_restart {
2077 HRTIMER_NORESTART = 0,
2078 HRTIMER_RESTART = 1
2079} ;
2080#line 108 "include/linux/hrtimer.h"
2081struct hrtimer {
2082 struct timerqueue_node node ;
2083 ktime_t _softexpires ;
2084 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2085 struct hrtimer_clock_base *base ;
2086 unsigned long state ;
2087 int start_pid ;
2088 void *start_site ;
2089 char start_comm[16] ;
2090};
2091#line 145 "include/linux/hrtimer.h"
2092struct hrtimer_clock_base {
2093 struct hrtimer_cpu_base *cpu_base ;
2094 int index ;
2095 clockid_t clockid ;
2096 struct timerqueue_head active ;
2097 ktime_t resolution ;
2098 ktime_t (*get_time)(void) ;
2099 ktime_t softirq_time ;
2100 ktime_t offset ;
2101};
2102#line 178 "include/linux/hrtimer.h"
2103struct hrtimer_cpu_base {
2104 raw_spinlock_t lock ;
2105 unsigned long active_bases ;
2106 ktime_t expires_next ;
2107 int hres_active ;
2108 int hang_detected ;
2109 unsigned long nr_events ;
2110 unsigned long nr_retries ;
2111 unsigned long nr_hangs ;
2112 ktime_t max_hang_time ;
2113 struct hrtimer_clock_base clock_base[3] ;
2114};
2115#line 11 "include/linux/task_io_accounting.h"
2116struct task_io_accounting {
2117 u64 rchar ;
2118 u64 wchar ;
2119 u64 syscr ;
2120 u64 syscw ;
2121 u64 read_bytes ;
2122 u64 write_bytes ;
2123 u64 cancelled_write_bytes ;
2124};
2125#line 18 "include/linux/latencytop.h"
2126struct latency_record {
2127 unsigned long backtrace[12] ;
2128 unsigned int count ;
2129 unsigned long time ;
2130 unsigned long max ;
2131};
2132#line 26
2133struct task_struct;
2134#line 29 "include/linux/key.h"
2135typedef int32_t key_serial_t;
2136#line 32 "include/linux/key.h"
2137typedef uint32_t key_perm_t;
2138#line 34
2139struct key;
2140#line 34
2141struct key;
2142#line 34
2143struct key;
2144#line 34
2145struct key;
2146#line 74
2147struct seq_file;
2148#line 75
2149struct user_struct;
2150#line 76
2151struct signal_struct;
2152#line 76
2153struct signal_struct;
2154#line 76
2155struct signal_struct;
2156#line 76
2157struct signal_struct;
2158#line 77
2159struct cred;
2160#line 79
2161struct key_type;
2162#line 79
2163struct key_type;
2164#line 79
2165struct key_type;
2166#line 79
2167struct key_type;
2168#line 81
2169struct keyring_list;
2170#line 81
2171struct keyring_list;
2172#line 81
2173struct keyring_list;
2174#line 81
2175struct keyring_list;
2176#line 124
2177struct key_user;
2178#line 124
2179struct key_user;
2180#line 124
2181struct key_user;
2182#line 124 "include/linux/key.h"
2183union __anonunion____missing_field_name_217 {
2184 time_t expiry ;
2185 time_t revoked_at ;
2186};
2187#line 124 "include/linux/key.h"
2188union __anonunion_type_data_218 {
2189 struct list_head link ;
2190 unsigned long x[2] ;
2191 void *p[2] ;
2192 int reject_error ;
2193};
2194#line 124 "include/linux/key.h"
2195union __anonunion_payload_219 {
2196 unsigned long value ;
2197 void *rcudata ;
2198 void *data ;
2199 struct keyring_list *subscriptions ;
2200};
2201#line 124 "include/linux/key.h"
2202struct key {
2203 atomic_t usage ;
2204 key_serial_t serial ;
2205 struct rb_node serial_node ;
2206 struct key_type *type ;
2207 struct rw_semaphore sem ;
2208 struct key_user *user ;
2209 void *security ;
2210 union __anonunion____missing_field_name_217 __annonCompField37 ;
2211 uid_t uid ;
2212 gid_t gid ;
2213 key_perm_t perm ;
2214 unsigned short quotalen ;
2215 unsigned short datalen ;
2216 unsigned long flags ;
2217 char *description ;
2218 union __anonunion_type_data_218 type_data ;
2219 union __anonunion_payload_219 payload ;
2220};
2221#line 18 "include/linux/selinux.h"
2222struct audit_context;
2223#line 18
2224struct audit_context;
2225#line 18
2226struct audit_context;
2227#line 18
2228struct audit_context;
2229#line 21 "include/linux/cred.h"
2230struct user_struct;
2231#line 22
2232struct cred;
2233#line 23
2234struct inode;
2235#line 23
2236struct inode;
2237#line 23
2238struct inode;
2239#line 23
2240struct inode;
2241#line 31 "include/linux/cred.h"
2242struct group_info {
2243 atomic_t usage ;
2244 int ngroups ;
2245 int nblocks ;
2246 gid_t small_block[32] ;
2247 gid_t *blocks[0] ;
2248};
2249#line 83 "include/linux/cred.h"
2250struct thread_group_cred {
2251 atomic_t usage ;
2252 pid_t tgid ;
2253 spinlock_t lock ;
2254 struct key *session_keyring ;
2255 struct key *process_keyring ;
2256 struct rcu_head rcu ;
2257};
2258#line 116 "include/linux/cred.h"
2259struct cred {
2260 atomic_t usage ;
2261 atomic_t subscribers ;
2262 void *put_addr ;
2263 unsigned int magic ;
2264 uid_t uid ;
2265 gid_t gid ;
2266 uid_t suid ;
2267 gid_t sgid ;
2268 uid_t euid ;
2269 gid_t egid ;
2270 uid_t fsuid ;
2271 gid_t fsgid ;
2272 unsigned int securebits ;
2273 kernel_cap_t cap_inheritable ;
2274 kernel_cap_t cap_permitted ;
2275 kernel_cap_t cap_effective ;
2276 kernel_cap_t cap_bset ;
2277 unsigned char jit_keyring ;
2278 struct key *thread_keyring ;
2279 struct key *request_key_auth ;
2280 struct thread_group_cred *tgcred ;
2281 void *security ;
2282 struct user_struct *user ;
2283 struct user_namespace *user_ns ;
2284 struct group_info *group_info ;
2285 struct rcu_head rcu ;
2286};
2287#line 97 "include/linux/sched.h"
2288struct futex_pi_state;
2289#line 97
2290struct futex_pi_state;
2291#line 97
2292struct futex_pi_state;
2293#line 97
2294struct futex_pi_state;
2295#line 98
2296struct robust_list_head;
2297#line 98
2298struct robust_list_head;
2299#line 98
2300struct robust_list_head;
2301#line 98
2302struct robust_list_head;
2303#line 99
2304struct bio_list;
2305#line 99
2306struct bio_list;
2307#line 99
2308struct bio_list;
2309#line 99
2310struct bio_list;
2311#line 100
2312struct fs_struct;
2313#line 100
2314struct fs_struct;
2315#line 100
2316struct fs_struct;
2317#line 100
2318struct fs_struct;
2319#line 101
2320struct perf_event_context;
2321#line 101
2322struct perf_event_context;
2323#line 101
2324struct perf_event_context;
2325#line 101
2326struct perf_event_context;
2327#line 102
2328struct blk_plug;
2329#line 102
2330struct blk_plug;
2331#line 102
2332struct blk_plug;
2333#line 102
2334struct blk_plug;
2335#line 150
2336struct seq_file;
2337#line 151
2338struct cfs_rq;
2339#line 151
2340struct cfs_rq;
2341#line 151
2342struct cfs_rq;
2343#line 151
2344struct cfs_rq;
2345#line 259
2346struct task_struct;
2347#line 364
2348struct nsproxy;
2349#line 365
2350struct user_namespace;
2351#line 58 "include/linux/aio_abi.h"
2352struct io_event {
2353 __u64 data ;
2354 __u64 obj ;
2355 __s64 res ;
2356 __s64 res2 ;
2357};
2358#line 16 "include/linux/uio.h"
2359struct iovec {
2360 void *iov_base ;
2361 __kernel_size_t iov_len ;
2362};
2363#line 15 "include/linux/aio.h"
2364struct kioctx;
2365#line 15
2366struct kioctx;
2367#line 15
2368struct kioctx;
2369#line 15
2370struct kioctx;
2371#line 87 "include/linux/aio.h"
2372union __anonunion_ki_obj_221 {
2373 void *user ;
2374 struct task_struct *tsk ;
2375};
2376#line 87
2377struct eventfd_ctx;
2378#line 87
2379struct eventfd_ctx;
2380#line 87
2381struct eventfd_ctx;
2382#line 87 "include/linux/aio.h"
2383struct kiocb {
2384 struct list_head ki_run_list ;
2385 unsigned long ki_flags ;
2386 int ki_users ;
2387 unsigned int ki_key ;
2388 struct file *ki_filp ;
2389 struct kioctx *ki_ctx ;
2390 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2391 ssize_t (*ki_retry)(struct kiocb * ) ;
2392 void (*ki_dtor)(struct kiocb * ) ;
2393 union __anonunion_ki_obj_221 ki_obj ;
2394 __u64 ki_user_data ;
2395 loff_t ki_pos ;
2396 void *private ;
2397 unsigned short ki_opcode ;
2398 size_t ki_nbytes ;
2399 char *ki_buf ;
2400 size_t ki_left ;
2401 struct iovec ki_inline_vec ;
2402 struct iovec *ki_iovec ;
2403 unsigned long ki_nr_segs ;
2404 unsigned long ki_cur_seg ;
2405 struct list_head ki_list ;
2406 struct eventfd_ctx *ki_eventfd ;
2407};
2408#line 165 "include/linux/aio.h"
2409struct aio_ring_info {
2410 unsigned long mmap_base ;
2411 unsigned long mmap_size ;
2412 struct page **ring_pages ;
2413 spinlock_t ring_lock ;
2414 long nr_pages ;
2415 unsigned int nr ;
2416 unsigned int tail ;
2417 struct page *internal_pages[8] ;
2418};
2419#line 178 "include/linux/aio.h"
2420struct kioctx {
2421 atomic_t users ;
2422 int dead ;
2423 struct mm_struct *mm ;
2424 unsigned long user_id ;
2425 struct hlist_node list ;
2426 wait_queue_head_t wait ;
2427 spinlock_t ctx_lock ;
2428 int reqs_active ;
2429 struct list_head active_reqs ;
2430 struct list_head run_list ;
2431 unsigned int max_reqs ;
2432 struct aio_ring_info ring_info ;
2433 struct delayed_work wq ;
2434 struct rcu_head rcu_head ;
2435};
2436#line 213
2437struct mm_struct;
2438#line 441 "include/linux/sched.h"
2439struct sighand_struct {
2440 atomic_t count ;
2441 struct k_sigaction action[64] ;
2442 spinlock_t siglock ;
2443 wait_queue_head_t signalfd_wqh ;
2444};
2445#line 448 "include/linux/sched.h"
2446struct pacct_struct {
2447 int ac_flag ;
2448 long ac_exitcode ;
2449 unsigned long ac_mem ;
2450 cputime_t ac_utime ;
2451 cputime_t ac_stime ;
2452 unsigned long ac_minflt ;
2453 unsigned long ac_majflt ;
2454};
2455#line 456 "include/linux/sched.h"
2456struct cpu_itimer {
2457 cputime_t expires ;
2458 cputime_t incr ;
2459 u32 error ;
2460 u32 incr_error ;
2461};
2462#line 474 "include/linux/sched.h"
2463struct task_cputime {
2464 cputime_t utime ;
2465 cputime_t stime ;
2466 unsigned long long sum_exec_runtime ;
2467};
2468#line 510 "include/linux/sched.h"
2469struct thread_group_cputimer {
2470 struct task_cputime cputime ;
2471 int running ;
2472 spinlock_t lock ;
2473};
2474#line 517
2475struct autogroup;
2476#line 517
2477struct autogroup;
2478#line 517
2479struct autogroup;
2480#line 517
2481struct autogroup;
2482#line 526
2483struct tty_struct;
2484#line 526
2485struct tty_struct;
2486#line 526
2487struct tty_struct;
2488#line 526
2489struct taskstats;
2490#line 526
2491struct taskstats;
2492#line 526
2493struct taskstats;
2494#line 526
2495struct tty_audit_buf;
2496#line 526
2497struct tty_audit_buf;
2498#line 526
2499struct tty_audit_buf;
2500#line 526 "include/linux/sched.h"
2501struct signal_struct {
2502 atomic_t sigcnt ;
2503 atomic_t live ;
2504 int nr_threads ;
2505 wait_queue_head_t wait_chldexit ;
2506 struct task_struct *curr_target ;
2507 struct sigpending shared_pending ;
2508 int group_exit_code ;
2509 int notify_count ;
2510 struct task_struct *group_exit_task ;
2511 int group_stop_count ;
2512 unsigned int flags ;
2513 struct list_head posix_timers ;
2514 struct hrtimer real_timer ;
2515 struct pid *leader_pid ;
2516 ktime_t it_real_incr ;
2517 struct cpu_itimer it[2] ;
2518 struct thread_group_cputimer cputimer ;
2519 struct task_cputime cputime_expires ;
2520 struct list_head cpu_timers[3] ;
2521 struct pid *tty_old_pgrp ;
2522 int leader ;
2523 struct tty_struct *tty ;
2524 struct autogroup *autogroup ;
2525 cputime_t utime ;
2526 cputime_t stime ;
2527 cputime_t cutime ;
2528 cputime_t cstime ;
2529 cputime_t gtime ;
2530 cputime_t cgtime ;
2531 cputime_t prev_utime ;
2532 cputime_t prev_stime ;
2533 unsigned long nvcsw ;
2534 unsigned long nivcsw ;
2535 unsigned long cnvcsw ;
2536 unsigned long cnivcsw ;
2537 unsigned long min_flt ;
2538 unsigned long maj_flt ;
2539 unsigned long cmin_flt ;
2540 unsigned long cmaj_flt ;
2541 unsigned long inblock ;
2542 unsigned long oublock ;
2543 unsigned long cinblock ;
2544 unsigned long coublock ;
2545 unsigned long maxrss ;
2546 unsigned long cmaxrss ;
2547 struct task_io_accounting ioac ;
2548 unsigned long long sum_sched_runtime ;
2549 struct rlimit rlim[16] ;
2550 struct pacct_struct pacct ;
2551 struct taskstats *stats ;
2552 unsigned int audit_tty ;
2553 struct tty_audit_buf *tty_audit_buf ;
2554 struct rw_semaphore threadgroup_fork_lock ;
2555 int oom_adj ;
2556 int oom_score_adj ;
2557 int oom_score_adj_min ;
2558 struct mutex cred_guard_mutex ;
2559};
2560#line 687 "include/linux/sched.h"
2561struct user_struct {
2562 atomic_t __count ;
2563 atomic_t processes ;
2564 atomic_t files ;
2565 atomic_t sigpending ;
2566 atomic_t inotify_watches ;
2567 atomic_t inotify_devs ;
2568 atomic_t fanotify_listeners ;
2569 atomic_long_t epoll_watches ;
2570 unsigned long mq_bytes ;
2571 unsigned long locked_shm ;
2572 struct key *uid_keyring ;
2573 struct key *session_keyring ;
2574 struct hlist_node uidhash_node ;
2575 uid_t uid ;
2576 struct user_namespace *user_ns ;
2577 atomic_long_t locked_vm ;
2578};
2579#line 731
2580struct backing_dev_info;
2581#line 731
2582struct backing_dev_info;
2583#line 731
2584struct backing_dev_info;
2585#line 731
2586struct backing_dev_info;
2587#line 732
2588struct reclaim_state;
2589#line 732
2590struct reclaim_state;
2591#line 732
2592struct reclaim_state;
2593#line 732
2594struct reclaim_state;
2595#line 735 "include/linux/sched.h"
2596struct sched_info {
2597 unsigned long pcount ;
2598 unsigned long long run_delay ;
2599 unsigned long long last_arrival ;
2600 unsigned long long last_queued ;
2601};
2602#line 747 "include/linux/sched.h"
2603struct task_delay_info {
2604 spinlock_t lock ;
2605 unsigned int flags ;
2606 struct timespec blkio_start ;
2607 struct timespec blkio_end ;
2608 u64 blkio_delay ;
2609 u64 swapin_delay ;
2610 u32 blkio_count ;
2611 u32 swapin_count ;
2612 struct timespec freepages_start ;
2613 struct timespec freepages_end ;
2614 u64 freepages_delay ;
2615 u32 freepages_count ;
2616};
2617#line 1050
2618struct io_context;
2619#line 1050
2620struct io_context;
2621#line 1050
2622struct io_context;
2623#line 1050
2624struct io_context;
2625#line 1059
2626struct audit_context;
2627#line 1060
2628struct mempolicy;
2629#line 1061
2630struct pipe_inode_info;
2631#line 1061
2632struct pipe_inode_info;
2633#line 1061
2634struct pipe_inode_info;
2635#line 1061
2636struct pipe_inode_info;
2637#line 1064
2638struct rq;
2639#line 1064
2640struct rq;
2641#line 1064
2642struct rq;
2643#line 1064
2644struct rq;
2645#line 1084 "include/linux/sched.h"
2646struct sched_class {
2647 struct sched_class const *next ;
2648 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2649 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2650 void (*yield_task)(struct rq *rq ) ;
2651 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2652 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2653 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2654 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2655 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2656 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2657 void (*post_schedule)(struct rq *this_rq ) ;
2658 void (*task_waking)(struct task_struct *task ) ;
2659 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2660 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2661 void (*rq_online)(struct rq *rq ) ;
2662 void (*rq_offline)(struct rq *rq ) ;
2663 void (*set_curr_task)(struct rq *rq ) ;
2664 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2665 void (*task_fork)(struct task_struct *p ) ;
2666 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2667 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2668 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2669 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2670 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2671};
2672#line 1129 "include/linux/sched.h"
2673struct load_weight {
2674 unsigned long weight ;
2675 unsigned long inv_weight ;
2676};
2677#line 1134 "include/linux/sched.h"
2678struct sched_statistics {
2679 u64 wait_start ;
2680 u64 wait_max ;
2681 u64 wait_count ;
2682 u64 wait_sum ;
2683 u64 iowait_count ;
2684 u64 iowait_sum ;
2685 u64 sleep_start ;
2686 u64 sleep_max ;
2687 s64 sum_sleep_runtime ;
2688 u64 block_start ;
2689 u64 block_max ;
2690 u64 exec_max ;
2691 u64 slice_max ;
2692 u64 nr_migrations_cold ;
2693 u64 nr_failed_migrations_affine ;
2694 u64 nr_failed_migrations_running ;
2695 u64 nr_failed_migrations_hot ;
2696 u64 nr_forced_migrations ;
2697 u64 nr_wakeups ;
2698 u64 nr_wakeups_sync ;
2699 u64 nr_wakeups_migrate ;
2700 u64 nr_wakeups_local ;
2701 u64 nr_wakeups_remote ;
2702 u64 nr_wakeups_affine ;
2703 u64 nr_wakeups_affine_attempts ;
2704 u64 nr_wakeups_passive ;
2705 u64 nr_wakeups_idle ;
2706};
2707#line 1169 "include/linux/sched.h"
2708struct sched_entity {
2709 struct load_weight load ;
2710 struct rb_node run_node ;
2711 struct list_head group_node ;
2712 unsigned int on_rq ;
2713 u64 exec_start ;
2714 u64 sum_exec_runtime ;
2715 u64 vruntime ;
2716 u64 prev_sum_exec_runtime ;
2717 u64 nr_migrations ;
2718 struct sched_statistics statistics ;
2719 struct sched_entity *parent ;
2720 struct cfs_rq *cfs_rq ;
2721 struct cfs_rq *my_q ;
2722};
2723#line 1195
2724struct rt_rq;
2725#line 1195
2726struct rt_rq;
2727#line 1195
2728struct rt_rq;
2729#line 1195 "include/linux/sched.h"
2730struct sched_rt_entity {
2731 struct list_head run_list ;
2732 unsigned long timeout ;
2733 unsigned int time_slice ;
2734 int nr_cpus_allowed ;
2735 struct sched_rt_entity *back ;
2736 struct sched_rt_entity *parent ;
2737 struct rt_rq *rt_rq ;
2738 struct rt_rq *my_q ;
2739};
2740#line 1220
2741struct files_struct;
2742#line 1220
2743struct files_struct;
2744#line 1220
2745struct files_struct;
2746#line 1220
2747struct irqaction;
2748#line 1220
2749struct irqaction;
2750#line 1220
2751struct irqaction;
2752#line 1220
2753struct css_set;
2754#line 1220
2755struct css_set;
2756#line 1220
2757struct css_set;
2758#line 1220
2759struct compat_robust_list_head;
2760#line 1220
2761struct compat_robust_list_head;
2762#line 1220
2763struct compat_robust_list_head;
2764#line 1220
2765struct ftrace_ret_stack;
2766#line 1220
2767struct ftrace_ret_stack;
2768#line 1220
2769struct ftrace_ret_stack;
2770#line 1220
2771struct mem_cgroup;
2772#line 1220
2773struct mem_cgroup;
2774#line 1220
2775struct mem_cgroup;
2776#line 1220 "include/linux/sched.h"
2777struct memcg_batch_info {
2778 int do_batch ;
2779 struct mem_cgroup *memcg ;
2780 unsigned long nr_pages ;
2781 unsigned long memsw_nr_pages ;
2782};
2783#line 1220 "include/linux/sched.h"
2784struct task_struct {
2785 long volatile state ;
2786 void *stack ;
2787 atomic_t usage ;
2788 unsigned int flags ;
2789 unsigned int ptrace ;
2790 struct task_struct *wake_entry ;
2791 int on_cpu ;
2792 int on_rq ;
2793 int prio ;
2794 int static_prio ;
2795 int normal_prio ;
2796 unsigned int rt_priority ;
2797 struct sched_class const *sched_class ;
2798 struct sched_entity se ;
2799 struct sched_rt_entity rt ;
2800 struct hlist_head preempt_notifiers ;
2801 unsigned char fpu_counter ;
2802 unsigned int btrace_seq ;
2803 unsigned int policy ;
2804 cpumask_t cpus_allowed ;
2805 struct sched_info sched_info ;
2806 struct list_head tasks ;
2807 struct plist_node pushable_tasks ;
2808 struct mm_struct *mm ;
2809 struct mm_struct *active_mm ;
2810 unsigned int brk_randomized : 1 ;
2811 int exit_state ;
2812 int exit_code ;
2813 int exit_signal ;
2814 int pdeath_signal ;
2815 unsigned int group_stop ;
2816 unsigned int personality ;
2817 unsigned int did_exec : 1 ;
2818 unsigned int in_execve : 1 ;
2819 unsigned int in_iowait : 1 ;
2820 unsigned int sched_reset_on_fork : 1 ;
2821 unsigned int sched_contributes_to_load : 1 ;
2822 pid_t pid ;
2823 pid_t tgid ;
2824 unsigned long stack_canary ;
2825 struct task_struct *real_parent ;
2826 struct task_struct *parent ;
2827 struct list_head children ;
2828 struct list_head sibling ;
2829 struct task_struct *group_leader ;
2830 struct list_head ptraced ;
2831 struct list_head ptrace_entry ;
2832 struct pid_link pids[3] ;
2833 struct list_head thread_group ;
2834 struct completion *vfork_done ;
2835 int *set_child_tid ;
2836 int *clear_child_tid ;
2837 cputime_t utime ;
2838 cputime_t stime ;
2839 cputime_t utimescaled ;
2840 cputime_t stimescaled ;
2841 cputime_t gtime ;
2842 cputime_t prev_utime ;
2843 cputime_t prev_stime ;
2844 unsigned long nvcsw ;
2845 unsigned long nivcsw ;
2846 struct timespec start_time ;
2847 struct timespec real_start_time ;
2848 unsigned long min_flt ;
2849 unsigned long maj_flt ;
2850 struct task_cputime cputime_expires ;
2851 struct list_head cpu_timers[3] ;
2852 struct cred const *real_cred ;
2853 struct cred const *cred ;
2854 struct cred *replacement_session_keyring ;
2855 char comm[16] ;
2856 int link_count ;
2857 int total_link_count ;
2858 struct sysv_sem sysvsem ;
2859 unsigned long last_switch_count ;
2860 struct thread_struct thread ;
2861 struct fs_struct *fs ;
2862 struct files_struct *files ;
2863 struct nsproxy *nsproxy ;
2864 struct signal_struct *signal ;
2865 struct sighand_struct *sighand ;
2866 sigset_t blocked ;
2867 sigset_t real_blocked ;
2868 sigset_t saved_sigmask ;
2869 struct sigpending pending ;
2870 unsigned long sas_ss_sp ;
2871 size_t sas_ss_size ;
2872 int (*notifier)(void *priv ) ;
2873 void *notifier_data ;
2874 sigset_t *notifier_mask ;
2875 struct audit_context *audit_context ;
2876 uid_t loginuid ;
2877 unsigned int sessionid ;
2878 seccomp_t seccomp ;
2879 u32 parent_exec_id ;
2880 u32 self_exec_id ;
2881 spinlock_t alloc_lock ;
2882 struct irqaction *irqaction ;
2883 raw_spinlock_t pi_lock ;
2884 struct plist_head pi_waiters ;
2885 struct rt_mutex_waiter *pi_blocked_on ;
2886 struct mutex_waiter *blocked_on ;
2887 unsigned int irq_events ;
2888 unsigned long hardirq_enable_ip ;
2889 unsigned long hardirq_disable_ip ;
2890 unsigned int hardirq_enable_event ;
2891 unsigned int hardirq_disable_event ;
2892 int hardirqs_enabled ;
2893 int hardirq_context ;
2894 unsigned long softirq_disable_ip ;
2895 unsigned long softirq_enable_ip ;
2896 unsigned int softirq_disable_event ;
2897 unsigned int softirq_enable_event ;
2898 int softirqs_enabled ;
2899 int softirq_context ;
2900 u64 curr_chain_key ;
2901 int lockdep_depth ;
2902 unsigned int lockdep_recursion ;
2903 struct held_lock held_locks[48UL] ;
2904 gfp_t lockdep_reclaim_gfp ;
2905 void *journal_info ;
2906 struct bio_list *bio_list ;
2907 struct blk_plug *plug ;
2908 struct reclaim_state *reclaim_state ;
2909 struct backing_dev_info *backing_dev_info ;
2910 struct io_context *io_context ;
2911 unsigned long ptrace_message ;
2912 siginfo_t *last_siginfo ;
2913 struct task_io_accounting ioac ;
2914 u64 acct_rss_mem1 ;
2915 u64 acct_vm_mem1 ;
2916 cputime_t acct_timexpd ;
2917 nodemask_t mems_allowed ;
2918 int mems_allowed_change_disable ;
2919 int cpuset_mem_spread_rotor ;
2920 int cpuset_slab_spread_rotor ;
2921 struct css_set *cgroups ;
2922 struct list_head cg_list ;
2923 struct robust_list_head *robust_list ;
2924 struct compat_robust_list_head *compat_robust_list ;
2925 struct list_head pi_state_list ;
2926 struct futex_pi_state *pi_state_cache ;
2927 struct perf_event_context *perf_event_ctxp[2] ;
2928 struct mutex perf_event_mutex ;
2929 struct list_head perf_event_list ;
2930 struct mempolicy *mempolicy ;
2931 short il_next ;
2932 short pref_node_fork ;
2933 atomic_t fs_excl ;
2934 struct rcu_head rcu ;
2935 struct pipe_inode_info *splice_pipe ;
2936 struct task_delay_info *delays ;
2937 int make_it_fail ;
2938 struct prop_local_single dirties ;
2939 int latency_record_count ;
2940 struct latency_record latency_record[32] ;
2941 unsigned long timer_slack_ns ;
2942 unsigned long default_timer_slack_ns ;
2943 struct list_head *scm_work_list ;
2944 int curr_ret_stack ;
2945 struct ftrace_ret_stack *ret_stack ;
2946 unsigned long long ftrace_timestamp ;
2947 atomic_t trace_overrun ;
2948 atomic_t tracing_graph_pause ;
2949 unsigned long trace ;
2950 unsigned long trace_recursion ;
2951 struct memcg_batch_info memcg_batch ;
2952 atomic_t ptrace_bp_refcnt ;
2953};
2954#line 1634
2955struct pid_namespace;
2956#line 38 "include/linux/slub_def.h"
2957struct kmem_cache_cpu {
2958 void **freelist ;
2959 unsigned long tid ;
2960 struct page *page ;
2961 int node ;
2962 unsigned int stat[19] ;
2963};
2964#line 48 "include/linux/slub_def.h"
2965struct kmem_cache_node {
2966 spinlock_t list_lock ;
2967 unsigned long nr_partial ;
2968 struct list_head partial ;
2969 atomic_long_t nr_slabs ;
2970 atomic_long_t total_objects ;
2971 struct list_head full ;
2972};
2973#line 64 "include/linux/slub_def.h"
2974struct kmem_cache_order_objects {
2975 unsigned long x ;
2976};
2977#line 71 "include/linux/slub_def.h"
2978struct kmem_cache {
2979 struct kmem_cache_cpu *cpu_slab ;
2980 unsigned long flags ;
2981 unsigned long min_partial ;
2982 int size ;
2983 int objsize ;
2984 int offset ;
2985 struct kmem_cache_order_objects oo ;
2986 struct kmem_cache_order_objects max ;
2987 struct kmem_cache_order_objects min ;
2988 gfp_t allocflags ;
2989 int refcount ;
2990 void (*ctor)(void * ) ;
2991 int inuse ;
2992 int align ;
2993 int reserved ;
2994 char const *name ;
2995 struct list_head list ;
2996 struct kobject kobj ;
2997 int remote_node_defrag_ratio ;
2998 struct kmem_cache_node *node[1 << 10] ;
2999};
3000#line 25 "include/linux/genhd.h"
3001struct device_type;
3002#line 25
3003struct device_type;
3004#line 25
3005struct device_type;
3006#line 27
3007struct class;
3008#line 27
3009struct class;
3010#line 27
3011struct class;
3012#line 19 "include/linux/klist.h"
3013struct klist_node;
3014#line 19
3015struct klist_node;
3016#line 19
3017struct klist_node;
3018#line 19
3019struct klist_node;
3020#line 39 "include/linux/klist.h"
3021struct klist_node {
3022 void *n_klist ;
3023 struct list_head n_node ;
3024 struct kref n_ref ;
3025};
3026#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
3027struct dma_map_ops;
3028#line 4
3029struct dma_map_ops;
3030#line 4
3031struct dma_map_ops;
3032#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
3033struct dev_archdata {
3034 void *acpi_handle ;
3035 struct dma_map_ops *dma_ops ;
3036 void *iommu ;
3037};
3038#line 28 "include/linux/device.h"
3039struct device;
3040#line 29
3041struct device_private;
3042#line 29
3043struct device_private;
3044#line 29
3045struct device_private;
3046#line 29
3047struct device_private;
3048#line 30
3049struct device_driver;
3050#line 30
3051struct device_driver;
3052#line 30
3053struct device_driver;
3054#line 30
3055struct device_driver;
3056#line 31
3057struct driver_private;
3058#line 31
3059struct driver_private;
3060#line 31
3061struct driver_private;
3062#line 31
3063struct driver_private;
3064#line 32
3065struct class;
3066#line 33
3067struct subsys_private;
3068#line 33
3069struct subsys_private;
3070#line 33
3071struct subsys_private;
3072#line 33
3073struct subsys_private;
3074#line 34
3075struct bus_type;
3076#line 34
3077struct bus_type;
3078#line 34
3079struct bus_type;
3080#line 34
3081struct bus_type;
3082#line 35
3083struct device_node;
3084#line 35
3085struct device_node;
3086#line 35
3087struct device_node;
3088#line 35
3089struct device_node;
3090#line 37 "include/linux/device.h"
3091struct bus_attribute {
3092 struct attribute attr ;
3093 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
3094 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
3095};
3096#line 82
3097struct device_attribute;
3098#line 82
3099struct device_attribute;
3100#line 82
3101struct device_attribute;
3102#line 82
3103struct driver_attribute;
3104#line 82
3105struct driver_attribute;
3106#line 82
3107struct driver_attribute;
3108#line 82 "include/linux/device.h"
3109struct bus_type {
3110 char const *name ;
3111 struct bus_attribute *bus_attrs ;
3112 struct device_attribute *dev_attrs ;
3113 struct driver_attribute *drv_attrs ;
3114 int (*match)(struct device *dev , struct device_driver *drv ) ;
3115 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
3116 int (*probe)(struct device *dev ) ;
3117 int (*remove)(struct device *dev ) ;
3118 void (*shutdown)(struct device *dev ) ;
3119 int (*suspend)(struct device *dev , pm_message_t state ) ;
3120 int (*resume)(struct device *dev ) ;
3121 struct dev_pm_ops const *pm ;
3122 struct subsys_private *p ;
3123};
3124#line 185
3125struct of_device_id;
3126#line 185
3127struct of_device_id;
3128#line 185
3129struct of_device_id;
3130#line 185 "include/linux/device.h"
3131struct device_driver {
3132 char const *name ;
3133 struct bus_type *bus ;
3134 struct module *owner ;
3135 char const *mod_name ;
3136 bool suppress_bind_attrs ;
3137 struct of_device_id const *of_match_table ;
3138 int (*probe)(struct device *dev ) ;
3139 int (*remove)(struct device *dev ) ;
3140 void (*shutdown)(struct device *dev ) ;
3141 int (*suspend)(struct device *dev , pm_message_t state ) ;
3142 int (*resume)(struct device *dev ) ;
3143 struct attribute_group const **groups ;
3144 struct dev_pm_ops const *pm ;
3145 struct driver_private *p ;
3146};
3147#line 222 "include/linux/device.h"
3148struct driver_attribute {
3149 struct attribute attr ;
3150 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
3151 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
3152};
3153#line 280
3154struct class_attribute;
3155#line 280
3156struct class_attribute;
3157#line 280
3158struct class_attribute;
3159#line 280 "include/linux/device.h"
3160struct class {
3161 char const *name ;
3162 struct module *owner ;
3163 struct class_attribute *class_attrs ;
3164 struct device_attribute *dev_attrs ;
3165 struct bin_attribute *dev_bin_attrs ;
3166 struct kobject *dev_kobj ;
3167 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
3168 char *(*devnode)(struct device *dev , mode_t *mode ) ;
3169 void (*class_release)(struct class *class ) ;
3170 void (*dev_release)(struct device *dev ) ;
3171 int (*suspend)(struct device *dev , pm_message_t state ) ;
3172 int (*resume)(struct device *dev ) ;
3173 struct kobj_ns_type_operations const *ns_type ;
3174 void const *(*namespace)(struct device *dev ) ;
3175 struct dev_pm_ops const *pm ;
3176 struct subsys_private *p ;
3177};
3178#line 347 "include/linux/device.h"
3179struct class_attribute {
3180 struct attribute attr ;
3181 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
3182 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
3183 size_t count ) ;
3184};
3185#line 413 "include/linux/device.h"
3186struct device_type {
3187 char const *name ;
3188 struct attribute_group const **groups ;
3189 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
3190 char *(*devnode)(struct device *dev , mode_t *mode ) ;
3191 void (*release)(struct device *dev ) ;
3192 struct dev_pm_ops const *pm ;
3193};
3194#line 424 "include/linux/device.h"
3195struct device_attribute {
3196 struct attribute attr ;
3197 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
3198 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
3199 size_t count ) ;
3200};
3201#line 484 "include/linux/device.h"
3202struct device_dma_parameters {
3203 unsigned int max_segment_size ;
3204 unsigned long segment_boundary_mask ;
3205};
3206#line 551
3207struct dma_coherent_mem;
3208#line 551
3209struct dma_coherent_mem;
3210#line 551
3211struct dma_coherent_mem;
3212#line 551 "include/linux/device.h"
3213struct device {
3214 struct device *parent ;
3215 struct device_private *p ;
3216 struct kobject kobj ;
3217 char const *init_name ;
3218 struct device_type const *type ;
3219 struct mutex mutex ;
3220 struct bus_type *bus ;
3221 struct device_driver *driver ;
3222 void *platform_data ;
3223 struct dev_pm_info power ;
3224 struct dev_power_domain *pwr_domain ;
3225 int numa_node ;
3226 u64 *dma_mask ;
3227 u64 coherent_dma_mask ;
3228 struct device_dma_parameters *dma_parms ;
3229 struct list_head dma_pools ;
3230 struct dma_coherent_mem *dma_mem ;
3231 struct dev_archdata archdata ;
3232 struct device_node *of_node ;
3233 dev_t devt ;
3234 spinlock_t devres_lock ;
3235 struct list_head devres_head ;
3236 struct klist_node knode_class ;
3237 struct class *class ;
3238 struct attribute_group const **groups ;
3239 void (*release)(struct device *dev ) ;
3240};
3241#line 43 "include/linux/pm_wakeup.h"
3242struct wakeup_source {
3243 char *name ;
3244 struct list_head entry ;
3245 spinlock_t lock ;
3246 struct timer_list timer ;
3247 unsigned long timer_expires ;
3248 ktime_t total_time ;
3249 ktime_t max_time ;
3250 ktime_t last_time ;
3251 unsigned long event_count ;
3252 unsigned long active_count ;
3253 unsigned long relax_count ;
3254 unsigned long hit_count ;
3255 unsigned int active : 1 ;
3256};
3257#line 13 "include/linux/blk_types.h"
3258struct bio;
3259#line 13
3260struct bio;
3261#line 13
3262struct bio;
3263#line 13
3264struct bio;
3265#line 14
3266struct bio_integrity_payload;
3267#line 14
3268struct bio_integrity_payload;
3269#line 14
3270struct bio_integrity_payload;
3271#line 14
3272struct bio_integrity_payload;
3273#line 15
3274struct page;
3275#line 16
3276struct block_device;
3277#line 16
3278struct block_device;
3279#line 16
3280struct block_device;
3281#line 16
3282struct block_device;
3283#line 17 "include/linux/blk_types.h"
3284typedef void bio_end_io_t(struct bio * , int );
3285#line 18 "include/linux/blk_types.h"
3286typedef void bio_destructor_t(struct bio * );
3287#line 23 "include/linux/blk_types.h"
3288struct bio_vec {
3289 struct page *bv_page ;
3290 unsigned int bv_len ;
3291 unsigned int bv_offset ;
3292};
3293#line 33 "include/linux/blk_types.h"
3294struct bio {
3295 sector_t bi_sector ;
3296 struct bio *bi_next ;
3297 struct block_device *bi_bdev ;
3298 unsigned long bi_flags ;
3299 unsigned long bi_rw ;
3300 unsigned short bi_vcnt ;
3301 unsigned short bi_idx ;
3302 unsigned int bi_phys_segments ;
3303 unsigned int bi_size ;
3304 unsigned int bi_seg_front_size ;
3305 unsigned int bi_seg_back_size ;
3306 unsigned int bi_max_vecs ;
3307 unsigned int bi_comp_cpu ;
3308 atomic_t bi_cnt ;
3309 struct bio_vec *bi_io_vec ;
3310 bio_end_io_t *bi_end_io ;
3311 void *bi_private ;
3312 struct bio_integrity_payload *bi_integrity ;
3313 bio_destructor_t *bi_destructor ;
3314 struct bio_vec bi_inline_vecs[0] ;
3315};
3316#line 33 "include/linux/list_bl.h"
3317struct hlist_bl_node;
3318#line 33
3319struct hlist_bl_node;
3320#line 33
3321struct hlist_bl_node;
3322#line 33 "include/linux/list_bl.h"
3323struct hlist_bl_head {
3324 struct hlist_bl_node *first ;
3325};
3326#line 37 "include/linux/list_bl.h"
3327struct hlist_bl_node {
3328 struct hlist_bl_node *next ;
3329 struct hlist_bl_node **pprev ;
3330};
3331#line 13 "include/linux/dcache.h"
3332struct nameidata;
3333#line 13
3334struct nameidata;
3335#line 13
3336struct nameidata;
3337#line 13
3338struct nameidata;
3339#line 14
3340struct path;
3341#line 14
3342struct path;
3343#line 14
3344struct path;
3345#line 14
3346struct path;
3347#line 15
3348struct vfsmount;
3349#line 15
3350struct vfsmount;
3351#line 15
3352struct vfsmount;
3353#line 15
3354struct vfsmount;
3355#line 35 "include/linux/dcache.h"
3356struct qstr {
3357 unsigned int hash ;
3358 unsigned int len ;
3359 unsigned char const *name ;
3360};
3361#line 116
3362struct dentry_operations;
3363#line 116
3364struct dentry_operations;
3365#line 116
3366struct dentry_operations;
3367#line 116
3368struct super_block;
3369#line 116
3370struct super_block;
3371#line 116
3372struct super_block;
3373#line 116 "include/linux/dcache.h"
3374union __anonunion_d_u_224 {
3375 struct list_head d_child ;
3376 struct rcu_head d_rcu ;
3377};
3378#line 116 "include/linux/dcache.h"
3379struct dentry {
3380 unsigned int d_flags ;
3381 seqcount_t d_seq ;
3382 struct hlist_bl_node d_hash ;
3383 struct dentry *d_parent ;
3384 struct qstr d_name ;
3385 struct inode *d_inode ;
3386 unsigned char d_iname[32] ;
3387 unsigned int d_count ;
3388 spinlock_t d_lock ;
3389 struct dentry_operations const *d_op ;
3390 struct super_block *d_sb ;
3391 unsigned long d_time ;
3392 void *d_fsdata ;
3393 struct list_head d_lru ;
3394 union __anonunion_d_u_224 d_u ;
3395 struct list_head d_subdirs ;
3396 struct list_head d_alias ;
3397};
3398#line 159 "include/linux/dcache.h"
3399struct dentry_operations {
3400 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
3401 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
3402 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
3403 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
3404 int (*d_delete)(struct dentry const * ) ;
3405 void (*d_release)(struct dentry * ) ;
3406 void (*d_iput)(struct dentry * , struct inode * ) ;
3407 char *(*d_dname)(struct dentry * , char * , int ) ;
3408 struct vfsmount *(*d_automount)(struct path * ) ;
3409 int (*d_manage)(struct dentry * , bool ) ;
3410} __attribute__((__aligned__((1) << (6) ))) ;
3411#line 4 "include/linux/path.h"
3412struct dentry;
3413#line 5
3414struct vfsmount;
3415#line 7 "include/linux/path.h"
3416struct path {
3417 struct vfsmount *mnt ;
3418 struct dentry *dentry ;
3419};
3420#line 57 "include/linux/radix-tree.h"
3421struct radix_tree_node;
3422#line 57
3423struct radix_tree_node;
3424#line 57
3425struct radix_tree_node;
3426#line 57 "include/linux/radix-tree.h"
3427struct radix_tree_root {
3428 unsigned int height ;
3429 gfp_t gfp_mask ;
3430 struct radix_tree_node *rnode ;
3431};
3432#line 16 "include/linux/fiemap.h"
3433struct fiemap_extent {
3434 __u64 fe_logical ;
3435 __u64 fe_physical ;
3436 __u64 fe_length ;
3437 __u64 fe_reserved64[2] ;
3438 __u32 fe_flags ;
3439 __u32 fe_reserved[3] ;
3440};
3441#line 399 "include/linux/fs.h"
3442struct export_operations;
3443#line 399
3444struct export_operations;
3445#line 399
3446struct export_operations;
3447#line 399
3448struct export_operations;
3449#line 400
3450struct hd_geometry;
3451#line 400
3452struct hd_geometry;
3453#line 400
3454struct hd_geometry;
3455#line 400
3456struct hd_geometry;
3457#line 401
3458struct iovec;
3459#line 402
3460struct nameidata;
3461#line 403
3462struct kiocb;
3463#line 404
3464struct kobject;
3465#line 405
3466struct pipe_inode_info;
3467#line 406
3468struct poll_table_struct;
3469#line 406
3470struct poll_table_struct;
3471#line 406
3472struct poll_table_struct;
3473#line 406
3474struct poll_table_struct;
3475#line 407
3476struct kstatfs;
3477#line 407
3478struct kstatfs;
3479#line 407
3480struct kstatfs;
3481#line 407
3482struct kstatfs;
3483#line 408
3484struct vm_area_struct;
3485#line 409
3486struct vfsmount;
3487#line 410
3488struct cred;
3489#line 460 "include/linux/fs.h"
3490struct iattr {
3491 unsigned int ia_valid ;
3492 umode_t ia_mode ;
3493 uid_t ia_uid ;
3494 gid_t ia_gid ;
3495 loff_t ia_size ;
3496 struct timespec ia_atime ;
3497 struct timespec ia_mtime ;
3498 struct timespec ia_ctime ;
3499 struct file *ia_file ;
3500};
3501#line 129 "include/linux/quota.h"
3502struct if_dqinfo {
3503 __u64 dqi_bgrace ;
3504 __u64 dqi_igrace ;
3505 __u32 dqi_flags ;
3506 __u32 dqi_valid ;
3507};
3508#line 50 "include/linux/dqblk_xfs.h"
3509struct fs_disk_quota {
3510 __s8 d_version ;
3511 __s8 d_flags ;
3512 __u16 d_fieldmask ;
3513 __u32 d_id ;
3514 __u64 d_blk_hardlimit ;
3515 __u64 d_blk_softlimit ;
3516 __u64 d_ino_hardlimit ;
3517 __u64 d_ino_softlimit ;
3518 __u64 d_bcount ;
3519 __u64 d_icount ;
3520 __s32 d_itimer ;
3521 __s32 d_btimer ;
3522 __u16 d_iwarns ;
3523 __u16 d_bwarns ;
3524 __s32 d_padding2 ;
3525 __u64 d_rtb_hardlimit ;
3526 __u64 d_rtb_softlimit ;
3527 __u64 d_rtbcount ;
3528 __s32 d_rtbtimer ;
3529 __u16 d_rtbwarns ;
3530 __s16 d_padding3 ;
3531 char d_padding4[8] ;
3532};
3533#line 146 "include/linux/dqblk_xfs.h"
3534struct fs_qfilestat {
3535 __u64 qfs_ino ;
3536 __u64 qfs_nblks ;
3537 __u32 qfs_nextents ;
3538};
3539#line 146 "include/linux/dqblk_xfs.h"
3540typedef struct fs_qfilestat fs_qfilestat_t;
3541#line 152 "include/linux/dqblk_xfs.h"
3542struct fs_quota_stat {
3543 __s8 qs_version ;
3544 __u16 qs_flags ;
3545 __s8 qs_pad ;
3546 fs_qfilestat_t qs_uquota ;
3547 fs_qfilestat_t qs_gquota ;
3548 __u32 qs_incoredqs ;
3549 __s32 qs_btimelimit ;
3550 __s32 qs_itimelimit ;
3551 __s32 qs_rtbtimelimit ;
3552 __u16 qs_bwarnlimit ;
3553 __u16 qs_iwarnlimit ;
3554};
3555#line 17 "include/linux/dqblk_qtree.h"
3556struct dquot;
3557#line 17
3558struct dquot;
3559#line 17
3560struct dquot;
3561#line 17
3562struct dquot;
3563#line 185 "include/linux/quota.h"
3564typedef __kernel_uid32_t qid_t;
3565#line 186 "include/linux/quota.h"
3566typedef long long qsize_t;
3567#line 200 "include/linux/quota.h"
3568struct mem_dqblk {
3569 qsize_t dqb_bhardlimit ;
3570 qsize_t dqb_bsoftlimit ;
3571 qsize_t dqb_curspace ;
3572 qsize_t dqb_rsvspace ;
3573 qsize_t dqb_ihardlimit ;
3574 qsize_t dqb_isoftlimit ;
3575 qsize_t dqb_curinodes ;
3576 time_t dqb_btime ;
3577 time_t dqb_itime ;
3578};
3579#line 215
3580struct quota_format_type;
3581#line 215
3582struct quota_format_type;
3583#line 215
3584struct quota_format_type;
3585#line 215
3586struct quota_format_type;
3587#line 217 "include/linux/quota.h"
3588struct mem_dqinfo {
3589 struct quota_format_type *dqi_format ;
3590 int dqi_fmt_id ;
3591 struct list_head dqi_dirty_list ;
3592 unsigned long dqi_flags ;
3593 unsigned int dqi_bgrace ;
3594 unsigned int dqi_igrace ;
3595 qsize_t dqi_maxblimit ;
3596 qsize_t dqi_maxilimit ;
3597 void *dqi_priv ;
3598};
3599#line 230
3600struct super_block;
3601#line 284 "include/linux/quota.h"
3602struct dquot {
3603 struct hlist_node dq_hash ;
3604 struct list_head dq_inuse ;
3605 struct list_head dq_free ;
3606 struct list_head dq_dirty ;
3607 struct mutex dq_lock ;
3608 atomic_t dq_count ;
3609 wait_queue_head_t dq_wait_unused ;
3610 struct super_block *dq_sb ;
3611 unsigned int dq_id ;
3612 loff_t dq_off ;
3613 unsigned long dq_flags ;
3614 short dq_type ;
3615 struct mem_dqblk dq_dqb ;
3616};
3617#line 301 "include/linux/quota.h"
3618struct quota_format_ops {
3619 int (*check_quota_file)(struct super_block *sb , int type ) ;
3620 int (*read_file_info)(struct super_block *sb , int type ) ;
3621 int (*write_file_info)(struct super_block *sb , int type ) ;
3622 int (*free_file_info)(struct super_block *sb , int type ) ;
3623 int (*read_dqblk)(struct dquot *dquot ) ;
3624 int (*commit_dqblk)(struct dquot *dquot ) ;
3625 int (*release_dqblk)(struct dquot *dquot ) ;
3626};
3627#line 312 "include/linux/quota.h"
3628struct dquot_operations {
3629 int (*write_dquot)(struct dquot * ) ;
3630 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3631 void (*destroy_dquot)(struct dquot * ) ;
3632 int (*acquire_dquot)(struct dquot * ) ;
3633 int (*release_dquot)(struct dquot * ) ;
3634 int (*mark_dirty)(struct dquot * ) ;
3635 int (*write_info)(struct super_block * , int ) ;
3636 qsize_t *(*get_reserved_space)(struct inode * ) ;
3637};
3638#line 325
3639struct path;
3640#line 328 "include/linux/quota.h"
3641struct quotactl_ops {
3642 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3643 int (*quota_on_meta)(struct super_block * , int , int ) ;
3644 int (*quota_off)(struct super_block * , int ) ;
3645 int (*quota_sync)(struct super_block * , int , int ) ;
3646 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3647 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3648 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3649 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3650 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3651 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3652};
3653#line 341 "include/linux/quota.h"
3654struct quota_format_type {
3655 int qf_fmt_id ;
3656 struct quota_format_ops const *qf_ops ;
3657 struct module *qf_owner ;
3658 struct quota_format_type *qf_next ;
3659};
3660#line 395 "include/linux/quota.h"
3661struct quota_info {
3662 unsigned int flags ;
3663 struct mutex dqio_mutex ;
3664 struct mutex dqonoff_mutex ;
3665 struct rw_semaphore dqptr_sem ;
3666 struct inode *files[2] ;
3667 struct mem_dqinfo info[2] ;
3668 struct quota_format_ops const *ops[2] ;
3669};
3670#line 523 "include/linux/fs.h"
3671struct page;
3672#line 524
3673struct address_space;
3674#line 525
3675struct writeback_control;
3676#line 525
3677struct writeback_control;
3678#line 525
3679struct writeback_control;
3680#line 525
3681struct writeback_control;
3682#line 568 "include/linux/fs.h"
3683union __anonunion_arg_231 {
3684 char *buf ;
3685 void *data ;
3686};
3687#line 568 "include/linux/fs.h"
3688struct __anonstruct_read_descriptor_t_230 {
3689 size_t written ;
3690 size_t count ;
3691 union __anonunion_arg_231 arg ;
3692 int error ;
3693};
3694#line 568 "include/linux/fs.h"
3695typedef struct __anonstruct_read_descriptor_t_230 read_descriptor_t;
3696#line 581 "include/linux/fs.h"
3697struct address_space_operations {
3698 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3699 int (*readpage)(struct file * , struct page * ) ;
3700 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3701 int (*set_page_dirty)(struct page *page ) ;
3702 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3703 unsigned int nr_pages ) ;
3704 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3705 unsigned int len , unsigned int flags , struct page **pagep ,
3706 void **fsdata ) ;
3707 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3708 unsigned int copied , struct page *page , void *fsdata ) ;
3709 sector_t (*bmap)(struct address_space * , sector_t ) ;
3710 void (*invalidatepage)(struct page * , unsigned long ) ;
3711 int (*releasepage)(struct page * , gfp_t ) ;
3712 void (*freepage)(struct page * ) ;
3713 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3714 unsigned long nr_segs ) ;
3715 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3716 int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
3717 int (*launder_page)(struct page * ) ;
3718 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3719 int (*error_remove_page)(struct address_space * , struct page * ) ;
3720};
3721#line 633
3722struct backing_dev_info;
3723#line 634 "include/linux/fs.h"
3724struct address_space {
3725 struct inode *host ;
3726 struct radix_tree_root page_tree ;
3727 spinlock_t tree_lock ;
3728 unsigned int i_mmap_writable ;
3729 struct prio_tree_root i_mmap ;
3730 struct list_head i_mmap_nonlinear ;
3731 struct mutex i_mmap_mutex ;
3732 unsigned long nrpages ;
3733 unsigned long writeback_index ;
3734 struct address_space_operations const *a_ops ;
3735 unsigned long flags ;
3736 struct backing_dev_info *backing_dev_info ;
3737 spinlock_t private_lock ;
3738 struct list_head private_list ;
3739 struct address_space *assoc_mapping ;
3740} __attribute__((__aligned__(sizeof(long )))) ;
3741#line 658
3742struct hd_struct;
3743#line 658
3744struct hd_struct;
3745#line 658
3746struct hd_struct;
3747#line 658
3748struct gendisk;
3749#line 658
3750struct gendisk;
3751#line 658
3752struct gendisk;
3753#line 658 "include/linux/fs.h"
3754struct block_device {
3755 dev_t bd_dev ;
3756 int bd_openers ;
3757 struct inode *bd_inode ;
3758 struct super_block *bd_super ;
3759 struct mutex bd_mutex ;
3760 struct list_head bd_inodes ;
3761 void *bd_claiming ;
3762 void *bd_holder ;
3763 int bd_holders ;
3764 bool bd_write_holder ;
3765 struct list_head bd_holder_disks ;
3766 struct block_device *bd_contains ;
3767 unsigned int bd_block_size ;
3768 struct hd_struct *bd_part ;
3769 unsigned int bd_part_count ;
3770 int bd_invalidated ;
3771 struct gendisk *bd_disk ;
3772 struct list_head bd_list ;
3773 unsigned long bd_private ;
3774 int bd_fsfreeze_count ;
3775 struct mutex bd_fsfreeze_mutex ;
3776};
3777#line 735
3778struct posix_acl;
3779#line 735
3780struct posix_acl;
3781#line 735
3782struct posix_acl;
3783#line 735
3784struct posix_acl;
3785#line 738
3786struct inode_operations;
3787#line 738
3788struct inode_operations;
3789#line 738
3790struct inode_operations;
3791#line 738 "include/linux/fs.h"
3792union __anonunion____missing_field_name_232 {
3793 struct list_head i_dentry ;
3794 struct rcu_head i_rcu ;
3795};
3796#line 738
3797struct file_operations;
3798#line 738
3799struct file_operations;
3800#line 738
3801struct file_operations;
3802#line 738
3803struct file_lock;
3804#line 738
3805struct file_lock;
3806#line 738
3807struct file_lock;
3808#line 738
3809struct cdev;
3810#line 738
3811struct cdev;
3812#line 738
3813struct cdev;
3814#line 738 "include/linux/fs.h"
3815union __anonunion____missing_field_name_233 {
3816 struct pipe_inode_info *i_pipe ;
3817 struct block_device *i_bdev ;
3818 struct cdev *i_cdev ;
3819};
3820#line 738 "include/linux/fs.h"
3821struct inode {
3822 umode_t i_mode ;
3823 uid_t i_uid ;
3824 gid_t i_gid ;
3825 struct inode_operations const *i_op ;
3826 struct super_block *i_sb ;
3827 spinlock_t i_lock ;
3828 unsigned int i_flags ;
3829 unsigned long i_state ;
3830 void *i_security ;
3831 struct mutex i_mutex ;
3832 unsigned long dirtied_when ;
3833 struct hlist_node i_hash ;
3834 struct list_head i_wb_list ;
3835 struct list_head i_lru ;
3836 struct list_head i_sb_list ;
3837 union __anonunion____missing_field_name_232 __annonCompField39 ;
3838 unsigned long i_ino ;
3839 atomic_t i_count ;
3840 unsigned int i_nlink ;
3841 dev_t i_rdev ;
3842 unsigned int i_blkbits ;
3843 u64 i_version ;
3844 loff_t i_size ;
3845 struct timespec i_atime ;
3846 struct timespec i_mtime ;
3847 struct timespec i_ctime ;
3848 blkcnt_t i_blocks ;
3849 unsigned short i_bytes ;
3850 struct rw_semaphore i_alloc_sem ;
3851 struct file_operations const *i_fop ;
3852 struct file_lock *i_flock ;
3853 struct address_space *i_mapping ;
3854 struct address_space i_data ;
3855 struct dquot *i_dquot[2] ;
3856 struct list_head i_devices ;
3857 union __anonunion____missing_field_name_233 __annonCompField40 ;
3858 __u32 i_generation ;
3859 __u32 i_fsnotify_mask ;
3860 struct hlist_head i_fsnotify_marks ;
3861 atomic_t i_readcount ;
3862 atomic_t i_writecount ;
3863 struct posix_acl *i_acl ;
3864 struct posix_acl *i_default_acl ;
3865 void *i_private ;
3866};
3867#line 903 "include/linux/fs.h"
3868struct fown_struct {
3869 rwlock_t lock ;
3870 struct pid *pid ;
3871 enum pid_type pid_type ;
3872 uid_t uid ;
3873 uid_t euid ;
3874 int signum ;
3875};
3876#line 914 "include/linux/fs.h"
3877struct file_ra_state {
3878 unsigned long start ;
3879 unsigned int size ;
3880 unsigned int async_size ;
3881 unsigned int ra_pages ;
3882 unsigned int mmap_miss ;
3883 loff_t prev_pos ;
3884};
3885#line 937 "include/linux/fs.h"
3886union __anonunion_f_u_234 {
3887 struct list_head fu_list ;
3888 struct rcu_head fu_rcuhead ;
3889};
3890#line 937 "include/linux/fs.h"
3891struct file {
3892 union __anonunion_f_u_234 f_u ;
3893 struct path f_path ;
3894 struct file_operations const *f_op ;
3895 spinlock_t f_lock ;
3896 int f_sb_list_cpu ;
3897 atomic_long_t f_count ;
3898 unsigned int f_flags ;
3899 fmode_t f_mode ;
3900 loff_t f_pos ;
3901 struct fown_struct f_owner ;
3902 struct cred const *f_cred ;
3903 struct file_ra_state f_ra ;
3904 u64 f_version ;
3905 void *f_security ;
3906 void *private_data ;
3907 struct list_head f_ep_links ;
3908 struct address_space *f_mapping ;
3909 unsigned long f_mnt_write_state ;
3910};
3911#line 1064 "include/linux/fs.h"
3912typedef struct files_struct *fl_owner_t;
3913#line 1066 "include/linux/fs.h"
3914struct file_lock_operations {
3915 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3916 void (*fl_release_private)(struct file_lock * ) ;
3917};
3918#line 1071 "include/linux/fs.h"
3919struct lock_manager_operations {
3920 int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
3921 void (*fl_notify)(struct file_lock * ) ;
3922 int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
3923 void (*fl_release_private)(struct file_lock * ) ;
3924 void (*fl_break)(struct file_lock * ) ;
3925 int (*fl_change)(struct file_lock ** , int ) ;
3926};
3927#line 8 "include/linux/nfs_fs_i.h"
3928struct nlm_lockowner;
3929#line 8
3930struct nlm_lockowner;
3931#line 8
3932struct nlm_lockowner;
3933#line 8
3934struct nlm_lockowner;
3935#line 13 "include/linux/nfs_fs_i.h"
3936struct nfs_lock_info {
3937 u32 state ;
3938 struct nlm_lockowner *owner ;
3939 struct list_head list ;
3940};
3941#line 19
3942struct nfs4_lock_state;
3943#line 19
3944struct nfs4_lock_state;
3945#line 19
3946struct nfs4_lock_state;
3947#line 19
3948struct nfs4_lock_state;
3949#line 20 "include/linux/nfs_fs_i.h"
3950struct nfs4_lock_info {
3951 struct nfs4_lock_state *owner ;
3952};
3953#line 1091 "include/linux/fs.h"
3954struct fasync_struct;
3955#line 1091
3956struct fasync_struct;
3957#line 1091
3958struct fasync_struct;
3959#line 1091 "include/linux/fs.h"
3960struct __anonstruct_afs_236 {
3961 struct list_head link ;
3962 int state ;
3963};
3964#line 1091 "include/linux/fs.h"
3965union __anonunion_fl_u_235 {
3966 struct nfs_lock_info nfs_fl ;
3967 struct nfs4_lock_info nfs4_fl ;
3968 struct __anonstruct_afs_236 afs ;
3969};
3970#line 1091 "include/linux/fs.h"
3971struct file_lock {
3972 struct file_lock *fl_next ;
3973 struct list_head fl_link ;
3974 struct list_head fl_block ;
3975 fl_owner_t fl_owner ;
3976 unsigned char fl_flags ;
3977 unsigned char fl_type ;
3978 unsigned int fl_pid ;
3979 struct pid *fl_nspid ;
3980 wait_queue_head_t fl_wait ;
3981 struct file *fl_file ;
3982 loff_t fl_start ;
3983 loff_t fl_end ;
3984 struct fasync_struct *fl_fasync ;
3985 unsigned long fl_break_time ;
3986 struct file_lock_operations const *fl_ops ;
3987 struct lock_manager_operations const *fl_lmops ;
3988 union __anonunion_fl_u_235 fl_u ;
3989};
3990#line 1324 "include/linux/fs.h"
3991struct fasync_struct {
3992 spinlock_t fa_lock ;
3993 int magic ;
3994 int fa_fd ;
3995 struct fasync_struct *fa_next ;
3996 struct file *fa_file ;
3997 struct rcu_head fa_rcu ;
3998};
3999#line 1364
4000struct file_system_type;
4001#line 1364
4002struct file_system_type;
4003#line 1364
4004struct file_system_type;
4005#line 1364
4006struct super_operations;
4007#line 1364
4008struct super_operations;
4009#line 1364
4010struct super_operations;
4011#line 1364
4012struct xattr_handler;
4013#line 1364
4014struct xattr_handler;
4015#line 1364
4016struct xattr_handler;
4017#line 1364
4018struct mtd_info;
4019#line 1364
4020struct mtd_info;
4021#line 1364
4022struct mtd_info;
4023#line 1364 "include/linux/fs.h"
4024struct super_block {
4025 struct list_head s_list ;
4026 dev_t s_dev ;
4027 unsigned char s_dirt ;
4028 unsigned char s_blocksize_bits ;
4029 unsigned long s_blocksize ;
4030 loff_t s_maxbytes ;
4031 struct file_system_type *s_type ;
4032 struct super_operations const *s_op ;
4033 struct dquot_operations const *dq_op ;
4034 struct quotactl_ops const *s_qcop ;
4035 struct export_operations const *s_export_op ;
4036 unsigned long s_flags ;
4037 unsigned long s_magic ;
4038 struct dentry *s_root ;
4039 struct rw_semaphore s_umount ;
4040 struct mutex s_lock ;
4041 int s_count ;
4042 atomic_t s_active ;
4043 void *s_security ;
4044 struct xattr_handler const **s_xattr ;
4045 struct list_head s_inodes ;
4046 struct hlist_bl_head s_anon ;
4047 struct list_head *s_files ;
4048 struct list_head s_dentry_lru ;
4049 int s_nr_dentry_unused ;
4050 struct block_device *s_bdev ;
4051 struct backing_dev_info *s_bdi ;
4052 struct mtd_info *s_mtd ;
4053 struct list_head s_instances ;
4054 struct quota_info s_dquot ;
4055 int s_frozen ;
4056 wait_queue_head_t s_wait_unfrozen ;
4057 char s_id[32] ;
4058 u8 s_uuid[16] ;
4059 void *s_fs_info ;
4060 fmode_t s_mode ;
4061 u32 s_time_gran ;
4062 struct mutex s_vfs_rename_mutex ;
4063 char *s_subtype ;
4064 char *s_options ;
4065 struct dentry_operations const *s_d_op ;
4066 int cleancache_poolid ;
4067};
4068#line 1499 "include/linux/fs.h"
4069struct fiemap_extent_info {
4070 unsigned int fi_flags ;
4071 unsigned int fi_extents_mapped ;
4072 unsigned int fi_extents_max ;
4073 struct fiemap_extent *fi_extents_start ;
4074};
4075#line 1533
4076struct block_device_operations;
4077#line 1533
4078struct block_device_operations;
4079#line 1533
4080struct block_device_operations;
4081#line 1533
4082struct block_device_operations;
4083#line 1546 "include/linux/fs.h"
4084struct file_operations {
4085 struct module *owner ;
4086 loff_t (*llseek)(struct file * , loff_t , int ) ;
4087 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
4088 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
4089 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
4090 loff_t ) ;
4091 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
4092 loff_t ) ;
4093 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
4094 loff_t , u64 , unsigned int ) ) ;
4095 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
4096 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
4097 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
4098 int (*mmap)(struct file * , struct vm_area_struct * ) ;
4099 int (*open)(struct inode * , struct file * ) ;
4100 int (*flush)(struct file * , fl_owner_t id ) ;
4101 int (*release)(struct inode * , struct file * ) ;
4102 int (*fsync)(struct file * , int datasync ) ;
4103 int (*aio_fsync)(struct kiocb * , int datasync ) ;
4104 int (*fasync)(int , struct file * , int ) ;
4105 int (*lock)(struct file * , int , struct file_lock * ) ;
4106 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
4107 int ) ;
4108 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
4109 unsigned long , unsigned long ) ;
4110 int (*check_flags)(int ) ;
4111 int (*flock)(struct file * , int , struct file_lock * ) ;
4112 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
4113 unsigned int ) ;
4114 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
4115 unsigned int ) ;
4116 int (*setlease)(struct file * , long , struct file_lock ** ) ;
4117 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
4118};
4119#line 1578 "include/linux/fs.h"
4120struct inode_operations {
4121 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
4122 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
4123 int (*permission)(struct inode * , int , unsigned int ) ;
4124 int (*check_acl)(struct inode * , int , unsigned int ) ;
4125 int (*readlink)(struct dentry * , char * , int ) ;
4126 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
4127 int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
4128 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
4129 int (*unlink)(struct inode * , struct dentry * ) ;
4130 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
4131 int (*mkdir)(struct inode * , struct dentry * , int ) ;
4132 int (*rmdir)(struct inode * , struct dentry * ) ;
4133 int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
4134 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
4135 void (*truncate)(struct inode * ) ;
4136 int (*setattr)(struct dentry * , struct iattr * ) ;
4137 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
4138 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
4139 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
4140 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
4141 int (*removexattr)(struct dentry * , char const * ) ;
4142 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
4143 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
4144} __attribute__((__aligned__((1) << (6) ))) ;
4145#line 1608
4146struct seq_file;
4147#line 1622 "include/linux/fs.h"
4148struct super_operations {
4149 struct inode *(*alloc_inode)(struct super_block *sb ) ;
4150 void (*destroy_inode)(struct inode * ) ;
4151 void (*dirty_inode)(struct inode * , int flags ) ;
4152 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
4153 int (*drop_inode)(struct inode * ) ;
4154 void (*evict_inode)(struct inode * ) ;
4155 void (*put_super)(struct super_block * ) ;
4156 void (*write_super)(struct super_block * ) ;
4157 int (*sync_fs)(struct super_block *sb , int wait ) ;
4158 int (*freeze_fs)(struct super_block * ) ;
4159 int (*unfreeze_fs)(struct super_block * ) ;
4160 int (*statfs)(struct dentry * , struct kstatfs * ) ;
4161 int (*remount_fs)(struct super_block * , int * , char * ) ;
4162 void (*umount_begin)(struct super_block * ) ;
4163 int (*show_options)(struct seq_file * , struct vfsmount * ) ;
4164 int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
4165 int (*show_path)(struct seq_file * , struct vfsmount * ) ;
4166 int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
4167 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
4168 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
4169 loff_t ) ;
4170 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
4171};
4172#line 1802 "include/linux/fs.h"
4173struct file_system_type {
4174 char const *name ;
4175 int fs_flags ;
4176 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
4177 void (*kill_sb)(struct super_block * ) ;
4178 struct module *owner ;
4179 struct file_system_type *next ;
4180 struct list_head fs_supers ;
4181 struct lock_class_key s_lock_key ;
4182 struct lock_class_key s_umount_key ;
4183 struct lock_class_key s_vfs_rename_key ;
4184 struct lock_class_key i_lock_key ;
4185 struct lock_class_key i_mutex_key ;
4186 struct lock_class_key i_mutex_dir_key ;
4187 struct lock_class_key i_alloc_sem_key ;
4188};
4189#line 82 "include/linux/genhd.h"
4190struct disk_stats {
4191 unsigned long sectors[2] ;
4192 unsigned long ios[2] ;
4193 unsigned long merges[2] ;
4194 unsigned long ticks[2] ;
4195 unsigned long io_ticks ;
4196 unsigned long time_in_queue ;
4197};
4198#line 94 "include/linux/genhd.h"
4199struct partition_meta_info {
4200 u8 uuid[16] ;
4201 u8 volname[64] ;
4202};
4203#line 99 "include/linux/genhd.h"
4204struct hd_struct {
4205 sector_t start_sect ;
4206 sector_t nr_sects ;
4207 sector_t alignment_offset ;
4208 unsigned int discard_alignment ;
4209 struct device __dev ;
4210 struct kobject *holder_dir ;
4211 int policy ;
4212 int partno ;
4213 struct partition_meta_info *info ;
4214 int make_it_fail ;
4215 unsigned long stamp ;
4216 atomic_t in_flight[2] ;
4217 struct disk_stats *dkstats ;
4218 atomic_t ref ;
4219 struct rcu_head rcu_head ;
4220};
4221#line 146 "include/linux/genhd.h"
4222struct disk_part_tbl {
4223 struct rcu_head rcu_head ;
4224 int len ;
4225 struct hd_struct *last_lookup ;
4226 struct hd_struct *part[] ;
4227};
4228#line 153
4229struct disk_events;
4230#line 153
4231struct disk_events;
4232#line 153
4233struct disk_events;
4234#line 153
4235struct disk_events;
4236#line 155
4237struct request_queue;
4238#line 155
4239struct request_queue;
4240#line 155
4241struct request_queue;
4242#line 155
4243struct timer_rand_state;
4244#line 155
4245struct timer_rand_state;
4246#line 155
4247struct timer_rand_state;
4248#line 155
4249struct blk_integrity;
4250#line 155
4251struct blk_integrity;
4252#line 155
4253struct blk_integrity;
4254#line 155 "include/linux/genhd.h"
4255struct gendisk {
4256 int major ;
4257 int first_minor ;
4258 int minors ;
4259 char disk_name[32] ;
4260 char *(*devnode)(struct gendisk *gd , mode_t *mode ) ;
4261 unsigned int events ;
4262 unsigned int async_events ;
4263 struct disk_part_tbl *part_tbl ;
4264 struct hd_struct part0 ;
4265 struct block_device_operations const *fops ;
4266 struct request_queue *queue ;
4267 void *private_data ;
4268 int flags ;
4269 struct device *driverfs_dev ;
4270 struct kobject *slave_dir ;
4271 struct timer_rand_state *random ;
4272 atomic_t sync_io ;
4273 struct disk_events *ev ;
4274 struct blk_integrity *integrity ;
4275 int node_id ;
4276};
4277#line 19 "include/linux/mm.h"
4278struct mempolicy;
4279#line 20
4280struct anon_vma;
4281#line 21
4282struct file_ra_state;
4283#line 22
4284struct user_struct;
4285#line 23
4286struct writeback_control;
4287#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64.h"
4288struct mm_struct;
4289#line 656 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable.h"
4290struct vm_area_struct;
4291#line 185 "include/linux/mm.h"
4292struct vm_fault {
4293 unsigned int flags ;
4294 unsigned long pgoff ;
4295 void *virtual_address ;
4296 struct page *page ;
4297};
4298#line 202 "include/linux/mm.h"
4299struct vm_operations_struct {
4300 void (*open)(struct vm_area_struct *area ) ;
4301 void (*close)(struct vm_area_struct *area ) ;
4302 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
4303 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
4304 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
4305 int write ) ;
4306 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
4307 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
4308 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
4309 unsigned long flags ) ;
4310};
4311#line 244
4312struct inode;
4313#line 197 "include/linux/page-flags.h"
4314struct page;
4315#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
4316struct exception_table_entry {
4317 unsigned long insn ;
4318 unsigned long fixup ;
4319};
4320#line 10 "include/linux/irqreturn.h"
4321enum irqreturn {
4322 IRQ_NONE = 0,
4323 IRQ_HANDLED = 1,
4324 IRQ_WAKE_THREAD = 2
4325} ;
4326#line 16 "include/linux/irqreturn.h"
4327typedef enum irqreturn irqreturn_t;
4328#line 31 "include/linux/irq.h"
4329struct seq_file;
4330#line 12 "include/linux/irqdesc.h"
4331struct proc_dir_entry;
4332#line 12
4333struct proc_dir_entry;
4334#line 12
4335struct proc_dir_entry;
4336#line 12
4337struct proc_dir_entry;
4338#line 13
4339struct timer_rand_state;
4340#line 16 "include/linux/profile.h"
4341struct proc_dir_entry;
4342#line 17
4343struct pt_regs;
4344#line 65
4345struct task_struct;
4346#line 66
4347struct mm_struct;
4348#line 88
4349struct pt_regs;
4350#line 363 "include/linux/irq.h"
4351struct irqaction;
4352#line 132 "include/linux/hardirq.h"
4353struct task_struct;
4354#line 10 "include/linux/writeback.h"
4355struct backing_dev_info;
4356#line 17
4357enum writeback_sync_modes {
4358 WB_SYNC_NONE = 0,
4359 WB_SYNC_ALL = 1
4360} ;
4361#line 27 "include/linux/writeback.h"
4362struct writeback_control {
4363 enum writeback_sync_modes sync_mode ;
4364 unsigned long *older_than_this ;
4365 unsigned long wb_start ;
4366 long nr_to_write ;
4367 long pages_skipped ;
4368 loff_t range_start ;
4369 loff_t range_end ;
4370 unsigned int nonblocking : 1 ;
4371 unsigned int encountered_congestion : 1 ;
4372 unsigned int for_kupdate : 1 ;
4373 unsigned int for_background : 1 ;
4374 unsigned int for_reclaim : 1 ;
4375 unsigned int range_cyclic : 1 ;
4376 unsigned int more_io : 1 ;
4377};
4378#line 58
4379struct bdi_writeback;
4380#line 58
4381struct bdi_writeback;
4382#line 58
4383struct bdi_writeback;
4384#line 58
4385struct bdi_writeback;
4386#line 21 "include/linux/backing-dev.h"
4387struct page;
4388#line 22
4389struct device;
4390#line 23
4391struct dentry;
4392#line 38 "include/linux/backing-dev.h"
4393typedef int congested_fn(void * , int );
4394#line 48 "include/linux/backing-dev.h"
4395struct bdi_writeback {
4396 struct backing_dev_info *bdi ;
4397 unsigned int nr ;
4398 unsigned long last_old_flush ;
4399 unsigned long last_active ;
4400 struct task_struct *task ;
4401 struct timer_list wakeup_timer ;
4402 struct list_head b_dirty ;
4403 struct list_head b_io ;
4404 struct list_head b_more_io ;
4405};
4406#line 62 "include/linux/backing-dev.h"
4407struct backing_dev_info {
4408 struct list_head bdi_list ;
4409 unsigned long ra_pages ;
4410 unsigned long state ;
4411 unsigned int capabilities ;
4412 congested_fn *congested_fn ;
4413 void *congested_data ;
4414 char *name ;
4415 struct percpu_counter bdi_stat[2] ;
4416 struct prop_local_percpu completions ;
4417 int dirty_exceeded ;
4418 unsigned int min_ratio ;
4419 unsigned int max_ratio ;
4420 unsigned int max_prop_frac ;
4421 struct bdi_writeback wb ;
4422 spinlock_t wb_lock ;
4423 struct list_head work_list ;
4424 struct device *dev ;
4425 struct timer_list laptop_mode_wb_timer ;
4426 struct dentry *debug_dir ;
4427 struct dentry *debug_stats ;
4428};
4429#line 9 "include/linux/mempool.h"
4430struct kmem_cache;
4431#line 11 "include/linux/mempool.h"
4432typedef void *mempool_alloc_t(gfp_t gfp_mask , void *pool_data );
4433#line 12 "include/linux/mempool.h"
4434typedef void mempool_free_t(void *element , void *pool_data );
4435#line 14 "include/linux/mempool.h"
4436struct mempool_s {
4437 spinlock_t lock ;
4438 int min_nr ;
4439 int curr_nr ;
4440 void **elements ;
4441 void *pool_data ;
4442 mempool_alloc_t *alloc ;
4443 mempool_free_t *free ;
4444 wait_queue_head_t wait ;
4445};
4446#line 14 "include/linux/mempool.h"
4447typedef struct mempool_s mempool_t;
4448#line 34 "include/linux/iocontext.h"
4449struct io_context {
4450 atomic_long_t refcount ;
4451 atomic_t nr_tasks ;
4452 spinlock_t lock ;
4453 unsigned short ioprio ;
4454 unsigned short ioprio_changed ;
4455 unsigned short cgroup_changed ;
4456 int nr_batch_requests ;
4457 unsigned long last_waited ;
4458 struct radix_tree_root radix_root ;
4459 struct hlist_head cic_list ;
4460 void *ioc_data ;
4461};
4462#line 73
4463struct task_struct;
4464#line 169 "include/linux/bio.h"
4465struct bio_integrity_payload {
4466 struct bio *bip_bio ;
4467 sector_t bip_sector ;
4468 void *bip_buf ;
4469 bio_end_io_t *bip_end_io ;
4470 unsigned int bip_size ;
4471 unsigned short bip_slab ;
4472 unsigned short bip_vcnt ;
4473 unsigned short bip_idx ;
4474 struct work_struct bip_work ;
4475 struct bio_vec bip_vec[0] ;
4476};
4477#line 221
4478struct request_queue;
4479#line 381 "include/linux/bio.h"
4480struct bio_list {
4481 struct bio *head ;
4482 struct bio *tail ;
4483};
4484#line 67 "include/linux/bsg.h"
4485struct bsg_class_device {
4486 struct device *class_dev ;
4487 struct device *parent ;
4488 int minor ;
4489 struct request_queue *queue ;
4490 struct kref ref ;
4491 void (*release)(struct device * ) ;
4492};
4493#line 6 "include/asm-generic/scatterlist.h"
4494struct scatterlist {
4495 unsigned long sg_magic ;
4496 unsigned long page_link ;
4497 unsigned int offset ;
4498 unsigned int length ;
4499 dma_addr_t dma_address ;
4500 unsigned int dma_length ;
4501};
4502#line 27 "include/linux/blkdev.h"
4503struct request_queue;
4504#line 28
4505struct elevator_queue;
4506#line 28
4507struct elevator_queue;
4508#line 28
4509struct elevator_queue;
4510#line 28
4511struct elevator_queue;
4512#line 30
4513struct blk_trace;
4514#line 30
4515struct blk_trace;
4516#line 30
4517struct blk_trace;
4518#line 30
4519struct blk_trace;
4520#line 31
4521struct request;
4522#line 31
4523struct request;
4524#line 31
4525struct request;
4526#line 31
4527struct request;
4528#line 37
4529struct request;
4530#line 38 "include/linux/blkdev.h"
4531typedef void rq_end_io_fn(struct request * , int );
4532#line 40 "include/linux/blkdev.h"
4533struct request_list {
4534 int count[2] ;
4535 int starved[2] ;
4536 int elvpriv ;
4537 mempool_t *rq_pool ;
4538 wait_queue_head_t wait[2] ;
4539};
4540#line 55
4541enum rq_cmd_type_bits {
4542 REQ_TYPE_FS = 1,
4543 REQ_TYPE_BLOCK_PC = 2,
4544 REQ_TYPE_SENSE = 3,
4545 REQ_TYPE_PM_SUSPEND = 4,
4546 REQ_TYPE_PM_RESUME = 5,
4547 REQ_TYPE_PM_SHUTDOWN = 6,
4548 REQ_TYPE_SPECIAL = 7,
4549 REQ_TYPE_ATA_TASKFILE = 8,
4550 REQ_TYPE_ATA_PC = 9
4551} ;
4552#line 79 "include/linux/blkdev.h"
4553union __anonunion____missing_field_name_248 {
4554 struct rb_node rb_node ;
4555 void *completion_data ;
4556};
4557#line 79 "include/linux/blkdev.h"
4558struct __anonstruct_flush_250 {
4559 unsigned int seq ;
4560 struct list_head list ;
4561};
4562#line 79 "include/linux/blkdev.h"
4563union __anonunion____missing_field_name_249 {
4564 void *elevator_private[3] ;
4565 struct __anonstruct_flush_250 flush ;
4566};
4567#line 79 "include/linux/blkdev.h"
4568struct request {
4569 struct list_head queuelist ;
4570 struct call_single_data csd ;
4571 struct request_queue *q ;
4572 unsigned int cmd_flags ;
4573 enum rq_cmd_type_bits cmd_type ;
4574 unsigned long atomic_flags ;
4575 int cpu ;
4576 unsigned int __data_len ;
4577 sector_t __sector ;
4578 struct bio *bio ;
4579 struct bio *biotail ;
4580 struct hlist_node hash ;
4581 union __anonunion____missing_field_name_248 __annonCompField41 ;
4582 union __anonunion____missing_field_name_249 __annonCompField42 ;
4583 struct gendisk *rq_disk ;
4584 struct hd_struct *part ;
4585 unsigned long start_time ;
4586 unsigned short nr_phys_segments ;
4587 unsigned short nr_integrity_segments ;
4588 unsigned short ioprio ;
4589 int ref_count ;
4590 void *special ;
4591 char *buffer ;
4592 int tag ;
4593 int errors ;
4594 unsigned char __cmd[16] ;
4595 unsigned char *cmd ;
4596 unsigned short cmd_len ;
4597 unsigned int extra_len ;
4598 unsigned int sense_len ;
4599 unsigned int resid_len ;
4600 void *sense ;
4601 unsigned long deadline ;
4602 struct list_head timeout_list ;
4603 unsigned int timeout ;
4604 int retries ;
4605 rq_end_io_fn *end_io ;
4606 void *end_io_data ;
4607 struct request *next_rq ;
4608};
4609#line 8 "include/linux/elevator.h"
4610typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
4611#line 11 "include/linux/elevator.h"
4612typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
4613#line 13 "include/linux/elevator.h"
4614typedef void elevator_merged_fn(struct request_queue * , struct request * , int );
4615#line 15 "include/linux/elevator.h"
4616typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
4617#line 17 "include/linux/elevator.h"
4618typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
4619#line 20 "include/linux/elevator.h"
4620typedef int elevator_dispatch_fn(struct request_queue * , int );
4621#line 22 "include/linux/elevator.h"
4622typedef void elevator_add_req_fn(struct request_queue * , struct request * );
4623#line 23 "include/linux/elevator.h"
4624typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
4625#line 24 "include/linux/elevator.h"
4626typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
4627#line 25 "include/linux/elevator.h"
4628typedef int elevator_may_queue_fn(struct request_queue * , int );
4629#line 27 "include/linux/elevator.h"
4630typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t );
4631#line 28 "include/linux/elevator.h"
4632typedef void elevator_put_req_fn(struct request * );
4633#line 29 "include/linux/elevator.h"
4634typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
4635#line 30 "include/linux/elevator.h"
4636typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
4637#line 32 "include/linux/elevator.h"
4638typedef void *elevator_init_fn(struct request_queue * );
4639#line 33 "include/linux/elevator.h"
4640typedef void elevator_exit_fn(struct elevator_queue * );
4641#line 35 "include/linux/elevator.h"
4642struct elevator_ops {
4643 elevator_merge_fn *elevator_merge_fn ;
4644 elevator_merged_fn *elevator_merged_fn ;
4645 elevator_merge_req_fn *elevator_merge_req_fn ;
4646 elevator_allow_merge_fn *elevator_allow_merge_fn ;
4647 elevator_bio_merged_fn *elevator_bio_merged_fn ;
4648 elevator_dispatch_fn *elevator_dispatch_fn ;
4649 elevator_add_req_fn *elevator_add_req_fn ;
4650 elevator_activate_req_fn *elevator_activate_req_fn ;
4651 elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
4652 elevator_completed_req_fn *elevator_completed_req_fn ;
4653 elevator_request_list_fn *elevator_former_req_fn ;
4654 elevator_request_list_fn *elevator_latter_req_fn ;
4655 elevator_set_req_fn *elevator_set_req_fn ;
4656 elevator_put_req_fn *elevator_put_req_fn ;
4657 elevator_may_queue_fn *elevator_may_queue_fn ;
4658 elevator_init_fn *elevator_init_fn ;
4659 elevator_exit_fn *elevator_exit_fn ;
4660 void (*trim)(struct io_context * ) ;
4661};
4662#line 65 "include/linux/elevator.h"
4663struct elv_fs_entry {
4664 struct attribute attr ;
4665 ssize_t (*show)(struct elevator_queue * , char * ) ;
4666 ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ;
4667};
4668#line 74 "include/linux/elevator.h"
4669struct elevator_type {
4670 struct list_head list ;
4671 struct elevator_ops ops ;
4672 struct elv_fs_entry *elevator_attrs ;
4673 char elevator_name[16] ;
4674 struct module *elevator_owner ;
4675};
4676#line 86 "include/linux/elevator.h"
4677struct elevator_queue {
4678 struct elevator_ops *ops ;
4679 void *elevator_data ;
4680 struct kobject kobj ;
4681 struct elevator_type *elevator_type ;
4682 struct mutex sysfs_lock ;
4683 struct hlist_head *hash ;
4684 unsigned int registered : 1 ;
4685};
4686#line 195 "include/linux/blkdev.h"
4687typedef void request_fn_proc(struct request_queue *q );
4688#line 196 "include/linux/blkdev.h"
4689typedef int make_request_fn(struct request_queue *q , struct bio *bio );
4690#line 197 "include/linux/blkdev.h"
4691typedef int prep_rq_fn(struct request_queue * , struct request * );
4692#line 198 "include/linux/blkdev.h"
4693typedef void unprep_rq_fn(struct request_queue * , struct request * );
4694#line 200
4695struct bio_vec;
4696#line 201 "include/linux/blkdev.h"
4697struct bvec_merge_data {
4698 struct block_device *bi_bdev ;
4699 sector_t bi_sector ;
4700 unsigned int bi_size ;
4701 unsigned long bi_rw ;
4702};
4703#line 207 "include/linux/blkdev.h"
4704typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
4705#line 209 "include/linux/blkdev.h"
4706typedef void softirq_done_fn(struct request * );
4707#line 210 "include/linux/blkdev.h"
4708typedef int dma_drain_needed_fn(struct request * );
4709#line 211 "include/linux/blkdev.h"
4710typedef int lld_busy_fn(struct request_queue *q );
4711#line 213
4712enum blk_eh_timer_return {
4713 BLK_EH_NOT_HANDLED = 0,
4714 BLK_EH_HANDLED = 1,
4715 BLK_EH_RESET_TIMER = 2
4716} ;
4717#line 219 "include/linux/blkdev.h"
4718typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
4719#line 226 "include/linux/blkdev.h"
4720struct blk_queue_tag {
4721 struct request **tag_index ;
4722 unsigned long *tag_map ;
4723 int busy ;
4724 int max_depth ;
4725 int real_max_depth ;
4726 atomic_t refcnt ;
4727};
4728#line 238 "include/linux/blkdev.h"
4729struct queue_limits {
4730 unsigned long bounce_pfn ;
4731 unsigned long seg_boundary_mask ;
4732 unsigned int max_hw_sectors ;
4733 unsigned int max_sectors ;
4734 unsigned int max_segment_size ;
4735 unsigned int physical_block_size ;
4736 unsigned int alignment_offset ;
4737 unsigned int io_min ;
4738 unsigned int io_opt ;
4739 unsigned int max_discard_sectors ;
4740 unsigned int discard_granularity ;
4741 unsigned int discard_alignment ;
4742 unsigned short logical_block_size ;
4743 unsigned short max_segments ;
4744 unsigned short max_integrity_segments ;
4745 unsigned char misaligned ;
4746 unsigned char discard_misaligned ;
4747 unsigned char cluster ;
4748 unsigned char discard_zeroes_data ;
4749};
4750#line 263 "include/linux/blkdev.h"
4751struct request_queue {
4752 struct list_head queue_head ;
4753 struct request *last_merge ;
4754 struct elevator_queue *elevator ;
4755 struct request_list rq ;
4756 request_fn_proc *request_fn ;
4757 make_request_fn *make_request_fn ;
4758 prep_rq_fn *prep_rq_fn ;
4759 unprep_rq_fn *unprep_rq_fn ;
4760 merge_bvec_fn *merge_bvec_fn ;
4761 softirq_done_fn *softirq_done_fn ;
4762 rq_timed_out_fn *rq_timed_out_fn ;
4763 dma_drain_needed_fn *dma_drain_needed ;
4764 lld_busy_fn *lld_busy_fn ;
4765 sector_t end_sector ;
4766 struct request *boundary_rq ;
4767 struct delayed_work delay_work ;
4768 struct backing_dev_info backing_dev_info ;
4769 void *queuedata ;
4770 gfp_t bounce_gfp ;
4771 unsigned long queue_flags ;
4772 spinlock_t __queue_lock ;
4773 spinlock_t *queue_lock ;
4774 struct kobject kobj ;
4775 unsigned long nr_requests ;
4776 unsigned int nr_congestion_on ;
4777 unsigned int nr_congestion_off ;
4778 unsigned int nr_batching ;
4779 void *dma_drain_buffer ;
4780 unsigned int dma_drain_size ;
4781 unsigned int dma_pad_mask ;
4782 unsigned int dma_alignment ;
4783 struct blk_queue_tag *queue_tags ;
4784 struct list_head tag_busy_list ;
4785 unsigned int nr_sorted ;
4786 unsigned int in_flight[2] ;
4787 unsigned int rq_timeout ;
4788 struct timer_list timeout ;
4789 struct list_head timeout_list ;
4790 struct queue_limits limits ;
4791 unsigned int sg_timeout ;
4792 unsigned int sg_reserved_size ;
4793 int node ;
4794 struct blk_trace *blk_trace ;
4795 unsigned int flush_flags ;
4796 unsigned int flush_not_queueable : 1 ;
4797 unsigned int flush_queue_delayed : 1 ;
4798 unsigned int flush_pending_idx : 1 ;
4799 unsigned int flush_running_idx : 1 ;
4800 unsigned long flush_pending_since ;
4801 struct list_head flush_queue[2] ;
4802 struct list_head flush_data_in_flight ;
4803 struct request flush_rq ;
4804 struct mutex sysfs_lock ;
4805 struct bsg_class_device bsg_dev ;
4806};
4807#line 860 "include/linux/blkdev.h"
4808struct blk_plug {
4809 unsigned long magic ;
4810 struct list_head list ;
4811 struct list_head cb_list ;
4812 unsigned int should_sort ;
4813};
4814#line 1134
4815struct work_struct;
4816#line 1203 "include/linux/blkdev.h"
4817struct blk_integrity_exchg {
4818 void *prot_buf ;
4819 void *data_buf ;
4820 sector_t sector ;
4821 unsigned int data_size ;
4822 unsigned short sector_size ;
4823 char const *disk_name ;
4824};
4825#line 1212 "include/linux/blkdev.h"
4826typedef void integrity_gen_fn(struct blk_integrity_exchg * );
4827#line 1213 "include/linux/blkdev.h"
4828typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
4829#line 1214 "include/linux/blkdev.h"
4830typedef void integrity_set_tag_fn(void * , void * , unsigned int );
4831#line 1215 "include/linux/blkdev.h"
4832typedef void integrity_get_tag_fn(void * , void * , unsigned int );
4833#line 1217 "include/linux/blkdev.h"
4834struct blk_integrity {
4835 integrity_gen_fn *generate_fn ;
4836 integrity_vrfy_fn *verify_fn ;
4837 integrity_set_tag_fn *set_tag_fn ;
4838 integrity_get_tag_fn *get_tag_fn ;
4839 unsigned short flags ;
4840 unsigned short tuple_size ;
4841 unsigned short sector_size ;
4842 unsigned short tag_size ;
4843 char const *name ;
4844 struct kobject kobj ;
4845};
4846#line 1294 "include/linux/blkdev.h"
4847struct block_device_operations {
4848 int (*open)(struct block_device * , fmode_t ) ;
4849 int (*release)(struct gendisk * , fmode_t ) ;
4850 int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4851 int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4852 int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ;
4853 unsigned int (*check_events)(struct gendisk *disk , unsigned int clearing ) ;
4854 int (*media_changed)(struct gendisk * ) ;
4855 void (*unlock_native_capacity)(struct gendisk * ) ;
4856 int (*revalidate_disk)(struct gendisk * ) ;
4857 int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
4858 void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ;
4859 struct module *owner ;
4860};
4861#line 9 "include/trace/events/irq.h"
4862struct irqaction;
4863#line 106 "include/linux/interrupt.h"
4864struct irqaction {
4865 irqreturn_t (*handler)(int , void * ) ;
4866 unsigned long flags ;
4867 void *dev_id ;
4868 struct irqaction *next ;
4869 int irq ;
4870 irqreturn_t (*thread_fn)(int , void * ) ;
4871 struct task_struct *thread ;
4872 unsigned long thread_flags ;
4873 unsigned long thread_mask ;
4874 char const *name ;
4875 struct proc_dir_entry *dir ;
4876} __attribute__((__aligned__((1) << (12) ))) ;
4877#line 172
4878struct device;
4879#line 682
4880struct seq_file;
4881#line 12 "include/linux/mod_devicetable.h"
4882typedef unsigned long kernel_ulong_t;
4883#line 17 "include/linux/mod_devicetable.h"
4884struct pci_device_id {
4885 __u32 vendor ;
4886 __u32 device ;
4887 __u32 subvendor ;
4888 __u32 subdevice ;
4889 __u32 class ;
4890 __u32 class_mask ;
4891 kernel_ulong_t driver_data ;
4892};
4893#line 219 "include/linux/mod_devicetable.h"
4894struct of_device_id {
4895 char name[32] ;
4896 char type[32] ;
4897 char compatible[128] ;
4898 void *data ;
4899};
4900#line 25 "include/linux/io.h"
4901struct device;
4902#line 61 "include/linux/pci.h"
4903struct hotplug_slot;
4904#line 61
4905struct hotplug_slot;
4906#line 61
4907struct hotplug_slot;
4908#line 61 "include/linux/pci.h"
4909struct pci_slot {
4910 struct pci_bus *bus ;
4911 struct list_head list ;
4912 struct hotplug_slot *hotplug ;
4913 unsigned char number ;
4914 struct kobject kobj ;
4915};
4916#line 117 "include/linux/pci.h"
4917typedef int pci_power_t;
4918#line 143 "include/linux/pci.h"
4919typedef unsigned int pci_channel_state_t;
4920#line 145
4921enum pci_channel_state {
4922 pci_channel_io_normal = 1,
4923 pci_channel_io_frozen = 2,
4924 pci_channel_io_perm_failure = 3
4925} ;
4926#line 169 "include/linux/pci.h"
4927typedef unsigned short pci_dev_flags_t;
4928#line 184 "include/linux/pci.h"
4929typedef unsigned short pci_bus_flags_t;
4930#line 228
4931struct pcie_link_state;
4932#line 228
4933struct pcie_link_state;
4934#line 228
4935struct pcie_link_state;
4936#line 228
4937struct pcie_link_state;
4938#line 229
4939struct pci_vpd;
4940#line 229
4941struct pci_vpd;
4942#line 229
4943struct pci_vpd;
4944#line 229
4945struct pci_vpd;
4946#line 230
4947struct pci_sriov;
4948#line 230
4949struct pci_sriov;
4950#line 230
4951struct pci_sriov;
4952#line 230
4953struct pci_sriov;
4954#line 231
4955struct pci_ats;
4956#line 231
4957struct pci_ats;
4958#line 231
4959struct pci_ats;
4960#line 231
4961struct pci_ats;
4962#line 236
4963struct pci_driver;
4964#line 236
4965struct pci_driver;
4966#line 236
4967struct pci_driver;
4968#line 236 "include/linux/pci.h"
4969union __anonunion____missing_field_name_258 {
4970 struct pci_sriov *sriov ;
4971 struct pci_dev *physfn ;
4972};
4973#line 236 "include/linux/pci.h"
4974struct pci_dev {
4975 struct list_head bus_list ;
4976 struct pci_bus *bus ;
4977 struct pci_bus *subordinate ;
4978 void *sysdata ;
4979 struct proc_dir_entry *procent ;
4980 struct pci_slot *slot ;
4981 unsigned int devfn ;
4982 unsigned short vendor ;
4983 unsigned short device ;
4984 unsigned short subsystem_vendor ;
4985 unsigned short subsystem_device ;
4986 unsigned int class ;
4987 u8 revision ;
4988 u8 hdr_type ;
4989 u8 pcie_cap ;
4990 u8 pcie_type ;
4991 u8 rom_base_reg ;
4992 u8 pin ;
4993 struct pci_driver *driver ;
4994 u64 dma_mask ;
4995 struct device_dma_parameters dma_parms ;
4996 pci_power_t current_state ;
4997 int pm_cap ;
4998 unsigned int pme_support : 5 ;
4999 unsigned int pme_interrupt : 1 ;
5000 unsigned int d1_support : 1 ;
5001 unsigned int d2_support : 1 ;
5002 unsigned int no_d1d2 : 1 ;
5003 unsigned int mmio_always_on : 1 ;
5004 unsigned int wakeup_prepared : 1 ;
5005 unsigned int d3_delay ;
5006 struct pcie_link_state *link_state ;
5007 pci_channel_state_t error_state ;
5008 struct device dev ;
5009 int cfg_size ;
5010 unsigned int irq ;
5011 struct resource resource[18] ;
5012 resource_size_t fw_addr[18] ;
5013 unsigned int transparent : 1 ;
5014 unsigned int multifunction : 1 ;
5015 unsigned int is_added : 1 ;
5016 unsigned int is_busmaster : 1 ;
5017 unsigned int no_msi : 1 ;
5018 unsigned int block_ucfg_access : 1 ;
5019 unsigned int broken_parity_status : 1 ;
5020 unsigned int irq_reroute_variant : 2 ;
5021 unsigned int msi_enabled : 1 ;
5022 unsigned int msix_enabled : 1 ;
5023 unsigned int ari_enabled : 1 ;
5024 unsigned int is_managed : 1 ;
5025 unsigned int is_pcie : 1 ;
5026 unsigned int needs_freset : 1 ;
5027 unsigned int state_saved : 1 ;
5028 unsigned int is_physfn : 1 ;
5029 unsigned int is_virtfn : 1 ;
5030 unsigned int reset_fn : 1 ;
5031 unsigned int is_hotplug_bridge : 1 ;
5032 unsigned int __aer_firmware_first_valid : 1 ;
5033 unsigned int __aer_firmware_first : 1 ;
5034 pci_dev_flags_t dev_flags ;
5035 atomic_t enable_cnt ;
5036 u32 saved_config_space[16] ;
5037 struct hlist_head saved_cap_space ;
5038 struct bin_attribute *rom_attr ;
5039 int rom_attr_enabled ;
5040 struct bin_attribute *res_attr[18] ;
5041 struct bin_attribute *res_attr_wc[18] ;
5042 struct list_head msi_list ;
5043 struct pci_vpd *vpd ;
5044 union __anonunion____missing_field_name_258 __annonCompField43 ;
5045 struct pci_ats *ats ;
5046};
5047#line 409
5048struct pci_ops;
5049#line 409
5050struct pci_ops;
5051#line 409
5052struct pci_ops;
5053#line 409 "include/linux/pci.h"
5054struct pci_bus {
5055 struct list_head node ;
5056 struct pci_bus *parent ;
5057 struct list_head children ;
5058 struct list_head devices ;
5059 struct pci_dev *self ;
5060 struct list_head slots ;
5061 struct resource *resource[4] ;
5062 struct list_head resources ;
5063 struct pci_ops *ops ;
5064 void *sysdata ;
5065 struct proc_dir_entry *procdir ;
5066 unsigned char number ;
5067 unsigned char primary ;
5068 unsigned char secondary ;
5069 unsigned char subordinate ;
5070 unsigned char max_bus_speed ;
5071 unsigned char cur_bus_speed ;
5072 char name[48] ;
5073 unsigned short bridge_ctl ;
5074 pci_bus_flags_t bus_flags ;
5075 struct device *bridge ;
5076 struct device dev ;
5077 struct bin_attribute *legacy_io ;
5078 struct bin_attribute *legacy_mem ;
5079 unsigned int is_added : 1 ;
5080};
5081#line 475 "include/linux/pci.h"
5082struct pci_ops {
5083 int (*read)(struct pci_bus *bus , unsigned int devfn , int where , int size , u32 *val ) ;
5084 int (*write)(struct pci_bus *bus , unsigned int devfn , int where , int size ,
5085 u32 val ) ;
5086};
5087#line 494 "include/linux/pci.h"
5088struct pci_dynids {
5089 spinlock_t lock ;
5090 struct list_head list ;
5091};
5092#line 506 "include/linux/pci.h"
5093typedef unsigned int pci_ers_result_t;
5094#line 526 "include/linux/pci.h"
5095struct pci_error_handlers {
5096 pci_ers_result_t (*error_detected)(struct pci_dev *dev , enum pci_channel_state error ) ;
5097 pci_ers_result_t (*mmio_enabled)(struct pci_dev *dev ) ;
5098 pci_ers_result_t (*link_reset)(struct pci_dev *dev ) ;
5099 pci_ers_result_t (*slot_reset)(struct pci_dev *dev ) ;
5100 void (*resume)(struct pci_dev *dev ) ;
5101};
5102#line 546
5103struct module;
5104#line 547 "include/linux/pci.h"
5105struct pci_driver {
5106 struct list_head node ;
5107 char const *name ;
5108 struct pci_device_id const *id_table ;
5109 int (*probe)(struct pci_dev *dev , struct pci_device_id const *id ) ;
5110 void (*remove)(struct pci_dev *dev ) ;
5111 int (*suspend)(struct pci_dev *dev , pm_message_t state ) ;
5112 int (*suspend_late)(struct pci_dev *dev , pm_message_t state ) ;
5113 int (*resume_early)(struct pci_dev *dev ) ;
5114 int (*resume)(struct pci_dev *dev ) ;
5115 void (*shutdown)(struct pci_dev *dev ) ;
5116 struct pci_error_handlers *err_handler ;
5117 struct device_driver driver ;
5118 struct pci_dynids dynids ;
5119};
5120#line 12 "include/linux/bug.h"
5121struct pt_regs;
5122#line 25 "include/linux/dma-attrs.h"
5123struct dma_attrs {
5124 unsigned long flags[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
5125};
5126#line 10 "include/linux/scatterlist.h"
5127struct sg_table {
5128 struct scatterlist *sgl ;
5129 unsigned int nents ;
5130 unsigned int orig_nents ;
5131};
5132#line 11 "include/linux/dma-mapping.h"
5133enum dma_data_direction {
5134 DMA_BIDIRECTIONAL = 0,
5135 DMA_TO_DEVICE = 1,
5136 DMA_FROM_DEVICE = 2,
5137 DMA_NONE = 3
5138} ;
5139#line 18 "include/linux/dma-mapping.h"
5140struct dma_map_ops {
5141 void *(*alloc_coherent)(struct device *dev , size_t size , dma_addr_t *dma_handle ,
5142 gfp_t gfp ) ;
5143 void (*free_coherent)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ) ;
5144 dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
5145 size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
5146 void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
5147 struct dma_attrs *attrs ) ;
5148 int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
5149 struct dma_attrs *attrs ) ;
5150 void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
5151 struct dma_attrs *attrs ) ;
5152 void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
5153 enum dma_data_direction dir ) ;
5154 void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
5155 enum dma_data_direction dir ) ;
5156 void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
5157 enum dma_data_direction dir ) ;
5158 void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
5159 enum dma_data_direction dir ) ;
5160 int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
5161 int (*dma_supported)(struct device *dev , u64 mask ) ;
5162 int (*set_dma_mask)(struct device *dev , u64 mask ) ;
5163 int is_phys ;
5164};
5165#line 25 "include/linux/dma-debug.h"
5166struct device;
5167#line 26
5168struct scatterlist;
5169#line 27
5170struct bus_type;
5171#line 6 "include/linux/swiotlb.h"
5172struct device;
5173#line 7
5174struct dma_attrs;
5175#line 8
5176struct scatterlist;
5177#line 14 "include/scsi/scsi.h"
5178struct scsi_cmnd;
5179#line 14
5180struct scsi_cmnd;
5181#line 14
5182struct scsi_cmnd;
5183#line 14
5184struct scsi_cmnd;
5185#line 11 "include/scsi/scsi_cmnd.h"
5186struct Scsi_Host;
5187#line 11
5188struct Scsi_Host;
5189#line 11
5190struct Scsi_Host;
5191#line 11
5192struct Scsi_Host;
5193#line 12
5194struct scsi_device;
5195#line 12
5196struct scsi_device;
5197#line 12
5198struct scsi_device;
5199#line 12
5200struct scsi_device;
5201#line 31 "include/scsi/scsi_cmnd.h"
5202struct scsi_data_buffer {
5203 struct sg_table table ;
5204 unsigned int length ;
5205 int resid ;
5206};
5207#line 38 "include/scsi/scsi_cmnd.h"
5208struct scsi_pointer {
5209 char *ptr ;
5210 int this_residual ;
5211 struct scatterlist *buffer ;
5212 int buffers_residual ;
5213 dma_addr_t dma_handle ;
5214 int volatile Status ;
5215 int volatile Message ;
5216 int volatile have_data_in ;
5217 int volatile sent_command ;
5218 int volatile phase ;
5219};
5220#line 53 "include/scsi/scsi_cmnd.h"
5221struct scsi_cmnd {
5222 struct scsi_device *device ;
5223 struct list_head list ;
5224 struct list_head eh_entry ;
5225 int eh_eflags ;
5226 unsigned long serial_number ;
5227 unsigned long jiffies_at_alloc ;
5228 int retries ;
5229 int allowed ;
5230 unsigned char prot_op ;
5231 unsigned char prot_type ;
5232 unsigned short cmd_len ;
5233 enum dma_data_direction sc_data_direction ;
5234 unsigned char *cmnd ;
5235 struct scsi_data_buffer sdb ;
5236 struct scsi_data_buffer *prot_sdb ;
5237 unsigned int underflow ;
5238 unsigned int transfersize ;
5239 struct request *request ;
5240 unsigned char *sense_buffer ;
5241 void (*scsi_done)(struct scsi_cmnd * ) ;
5242 struct scsi_pointer SCp ;
5243 unsigned char *host_scribble ;
5244 int result ;
5245 unsigned char tag ;
5246};
5247#line 12 "include/scsi/scsi_device.h"
5248struct request_queue;
5249#line 13
5250struct scsi_cmnd;
5251#line 15
5252struct scsi_sense_hdr;
5253#line 15
5254struct scsi_sense_hdr;
5255#line 15
5256struct scsi_sense_hdr;
5257#line 15
5258struct scsi_sense_hdr;
5259#line 31
5260enum scsi_device_state {
5261 SDEV_CREATED = 1,
5262 SDEV_RUNNING = 2,
5263 SDEV_CANCEL = 3,
5264 SDEV_DEL = 4,
5265 SDEV_QUIESCE = 5,
5266 SDEV_OFFLINE = 6,
5267 SDEV_BLOCK = 7,
5268 SDEV_CREATED_BLOCK = 8
5269} ;
5270#line 68
5271struct scsi_target;
5272#line 68
5273struct scsi_target;
5274#line 68
5275struct scsi_target;
5276#line 68
5277struct scsi_dh_data;
5278#line 68
5279struct scsi_dh_data;
5280#line 68
5281struct scsi_dh_data;
5282#line 68 "include/scsi/scsi_device.h"
5283struct scsi_device {
5284 struct Scsi_Host *host ;
5285 struct request_queue *request_queue ;
5286 struct list_head siblings ;
5287 struct list_head same_target_siblings ;
5288 unsigned int device_busy ;
5289 spinlock_t list_lock ;
5290 struct list_head cmd_list ;
5291 struct list_head starved_entry ;
5292 struct scsi_cmnd *current_cmnd ;
5293 unsigned short queue_depth ;
5294 unsigned short max_queue_depth ;
5295 unsigned short last_queue_full_depth ;
5296 unsigned short last_queue_full_count ;
5297 unsigned long last_queue_full_time ;
5298 unsigned long queue_ramp_up_period ;
5299 unsigned long last_queue_ramp_up ;
5300 unsigned int id ;
5301 unsigned int lun ;
5302 unsigned int channel ;
5303 unsigned int manufacturer ;
5304 unsigned int sector_size ;
5305 void *hostdata ;
5306 char type ;
5307 char scsi_level ;
5308 char inq_periph_qual ;
5309 unsigned char inquiry_len ;
5310 unsigned char *inquiry ;
5311 char const *vendor ;
5312 char const *model ;
5313 char const *rev ;
5314 unsigned char current_tag ;
5315 struct scsi_target *sdev_target ;
5316 unsigned int sdev_bflags ;
5317 unsigned int writeable : 1 ;
5318 unsigned int removable : 1 ;
5319 unsigned int changed : 1 ;
5320 unsigned int busy : 1 ;
5321 unsigned int lockable : 1 ;
5322 unsigned int locked : 1 ;
5323 unsigned int borken : 1 ;
5324 unsigned int disconnect : 1 ;
5325 unsigned int soft_reset : 1 ;
5326 unsigned int sdtr : 1 ;
5327 unsigned int wdtr : 1 ;
5328 unsigned int ppr : 1 ;
5329 unsigned int tagged_supported : 1 ;
5330 unsigned int simple_tags : 1 ;
5331 unsigned int ordered_tags : 1 ;
5332 unsigned int was_reset : 1 ;
5333 unsigned int expecting_cc_ua : 1 ;
5334 unsigned int use_10_for_rw : 1 ;
5335 unsigned int use_10_for_ms : 1 ;
5336 unsigned int skip_ms_page_8 : 1 ;
5337 unsigned int skip_ms_page_3f : 1 ;
5338 unsigned int use_192_bytes_for_3f : 1 ;
5339 unsigned int no_start_on_add : 1 ;
5340 unsigned int allow_restart : 1 ;
5341 unsigned int manage_start_stop : 1 ;
5342 unsigned int start_stop_pwr_cond : 1 ;
5343 unsigned int no_uld_attach : 1 ;
5344 unsigned int select_no_atn : 1 ;
5345 unsigned int fix_capacity : 1 ;
5346 unsigned int guess_capacity : 1 ;
5347 unsigned int retry_hwerror : 1 ;
5348 unsigned int last_sector_bug : 1 ;
5349 unsigned int no_read_disc_info : 1 ;
5350 unsigned int no_read_capacity_16 : 1 ;
5351 unsigned int is_visible : 1 ;
5352 unsigned long supported_events[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
5353 struct list_head event_list ;
5354 struct work_struct event_work ;
5355 unsigned int device_blocked ;
5356 unsigned int max_device_blocked ;
5357 atomic_t iorequest_cnt ;
5358 atomic_t iodone_cnt ;
5359 atomic_t ioerr_cnt ;
5360 struct device sdev_gendev ;
5361 struct device sdev_dev ;
5362 struct execute_work ew ;
5363 struct work_struct requeue_work ;
5364 struct scsi_dh_data *scsi_dh_data ;
5365 enum scsi_device_state sdev_state ;
5366 unsigned long sdev_data[0] ;
5367} __attribute__((__aligned__(sizeof(unsigned long )))) ;
5368#line 179 "include/scsi/scsi_device.h"
5369struct scsi_dh_devlist {
5370 char *vendor ;
5371 char *model ;
5372};
5373#line 185 "include/scsi/scsi_device.h"
5374struct scsi_device_handler {
5375 struct list_head list ;
5376 int idx ;
5377 struct module *module ;
5378 char const *name ;
5379 struct scsi_dh_devlist const *devlist ;
5380 int (*check_sense)(struct scsi_device * , struct scsi_sense_hdr * ) ;
5381 int (*attach)(struct scsi_device * ) ;
5382 void (*detach)(struct scsi_device * ) ;
5383 int (*activate)(struct scsi_device * , void (*)(void * , int ) , void * ) ;
5384 int (*prep_fn)(struct scsi_device * , struct request * ) ;
5385 int (*set_params)(struct scsi_device * , char const * ) ;
5386};
5387#line 202 "include/scsi/scsi_device.h"
5388struct scsi_dh_data {
5389 struct scsi_device_handler *scsi_dh ;
5390 struct scsi_device *sdev ;
5391 struct kref kref ;
5392 char buf[0] ;
5393};
5394#line 225
5395enum scsi_target_state {
5396 STARGET_CREATED = 1,
5397 STARGET_RUNNING = 2,
5398 STARGET_DEL = 3
5399} ;
5400#line 236 "include/scsi/scsi_device.h"
5401struct scsi_target {
5402 struct scsi_device *starget_sdev_user ;
5403 struct list_head siblings ;
5404 struct list_head devices ;
5405 struct device dev ;
5406 unsigned int reap_ref ;
5407 unsigned int channel ;
5408 unsigned int id ;
5409 unsigned int create : 1 ;
5410 unsigned int single_lun : 1 ;
5411 unsigned int pdt_1f_for_no_lun ;
5412 unsigned int target_busy ;
5413 unsigned int can_queue ;
5414 unsigned int target_blocked ;
5415 unsigned int max_target_blocked ;
5416 char scsi_level ;
5417 struct execute_work ew ;
5418 enum scsi_target_state state ;
5419 void *hostdata ;
5420 unsigned long starget_data[0] ;
5421} __attribute__((__aligned__(sizeof(unsigned long )))) ;
5422#line 11 "include/scsi/scsi_host.h"
5423struct request_queue;
5424#line 12
5425struct block_device;
5426#line 13
5427struct completion;
5428#line 14
5429struct module;
5430#line 15
5431struct scsi_cmnd;
5432#line 16
5433struct scsi_device;
5434#line 17
5435struct scsi_target;
5436#line 18
5437struct Scsi_Host;
5438#line 19
5439struct scsi_host_cmd_pool;
5440#line 19
5441struct scsi_host_cmd_pool;
5442#line 19
5443struct scsi_host_cmd_pool;
5444#line 19
5445struct scsi_host_cmd_pool;
5446#line 20
5447struct scsi_transport_template;
5448#line 20
5449struct scsi_transport_template;
5450#line 20
5451struct scsi_transport_template;
5452#line 20
5453struct scsi_transport_template;
5454#line 52 "include/scsi/scsi_host.h"
5455struct scsi_host_template {
5456 struct module *module ;
5457 char const *name ;
5458 int (*detect)(struct scsi_host_template * ) ;
5459 int (*release)(struct Scsi_Host * ) ;
5460 char const *(*info)(struct Scsi_Host * ) ;
5461 int (*ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
5462 int (*compat_ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
5463 int (*queuecommand)(struct Scsi_Host * , struct scsi_cmnd * ) ;
5464 int (*transfer_response)(struct scsi_cmnd * , void (*done)(struct scsi_cmnd * ) ) ;
5465 int (*eh_abort_handler)(struct scsi_cmnd * ) ;
5466 int (*eh_device_reset_handler)(struct scsi_cmnd * ) ;
5467 int (*eh_target_reset_handler)(struct scsi_cmnd * ) ;
5468 int (*eh_bus_reset_handler)(struct scsi_cmnd * ) ;
5469 int (*eh_host_reset_handler)(struct scsi_cmnd * ) ;
5470 int (*slave_alloc)(struct scsi_device * ) ;
5471 int (*slave_configure)(struct scsi_device * ) ;
5472 void (*slave_destroy)(struct scsi_device * ) ;
5473 int (*target_alloc)(struct scsi_target * ) ;
5474 void (*target_destroy)(struct scsi_target * ) ;
5475 int (*scan_finished)(struct Scsi_Host * , unsigned long ) ;
5476 void (*scan_start)(struct Scsi_Host * ) ;
5477 int (*change_queue_depth)(struct scsi_device * , int , int ) ;
5478 int (*change_queue_type)(struct scsi_device * , int ) ;
5479 int (*bios_param)(struct scsi_device * , struct block_device * , sector_t , int * ) ;
5480 void (*unlock_native_capacity)(struct scsi_device * ) ;
5481 int (*proc_info)(struct Scsi_Host * , char * , char ** , off_t , int , int ) ;
5482 enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd * ) ;
5483 char const *proc_name ;
5484 struct proc_dir_entry *proc_dir ;
5485 int can_queue ;
5486 int this_id ;
5487 unsigned short sg_tablesize ;
5488 unsigned short sg_prot_tablesize ;
5489 unsigned short max_sectors ;
5490 unsigned long dma_boundary ;
5491 short cmd_per_lun ;
5492 unsigned char present ;
5493 unsigned int supported_mode : 2 ;
5494 unsigned int unchecked_isa_dma : 1 ;
5495 unsigned int use_clustering : 1 ;
5496 unsigned int emulated : 1 ;
5497 unsigned int skip_settle_delay : 1 ;
5498 unsigned int ordered_tag : 1 ;
5499 unsigned int max_host_blocked ;
5500 struct device_attribute **shost_attrs ;
5501 struct device_attribute **sdev_attrs ;
5502 struct list_head legacy_hosts ;
5503 u64 vendor_id ;
5504};
5505#line 530
5506enum scsi_host_state {
5507 SHOST_CREATED = 1,
5508 SHOST_RUNNING = 2,
5509 SHOST_CANCEL = 3,
5510 SHOST_DEL = 4,
5511 SHOST_RECOVERY = 5,
5512 SHOST_CANCEL_RECOVERY = 6,
5513 SHOST_DEL_RECOVERY = 7
5514} ;
5515#line 540 "include/scsi/scsi_host.h"
5516struct Scsi_Host {
5517 struct list_head __devices ;
5518 struct list_head __targets ;
5519 struct scsi_host_cmd_pool *cmd_pool ;
5520 spinlock_t free_list_lock ;
5521 struct list_head free_list ;
5522 struct list_head starved_list ;
5523 spinlock_t default_lock ;
5524 spinlock_t *host_lock ;
5525 struct mutex scan_mutex ;
5526 struct list_head eh_cmd_q ;
5527 struct task_struct *ehandler ;
5528 struct completion *eh_action ;
5529 wait_queue_head_t host_wait ;
5530 struct scsi_host_template *hostt ;
5531 struct scsi_transport_template *transportt ;
5532 struct blk_queue_tag *bqt ;
5533 unsigned int host_busy ;
5534 unsigned int host_failed ;
5535 unsigned int host_eh_scheduled ;
5536 unsigned int host_no ;
5537 int resetting ;
5538 unsigned long last_reset ;
5539 unsigned int max_id ;
5540 unsigned int max_lun ;
5541 unsigned int max_channel ;
5542 unsigned int unique_id ;
5543 unsigned short max_cmd_len ;
5544 int this_id ;
5545 int can_queue ;
5546 short cmd_per_lun ;
5547 unsigned short sg_tablesize ;
5548 unsigned short sg_prot_tablesize ;
5549 unsigned short max_sectors ;
5550 unsigned long dma_boundary ;
5551 unsigned long cmd_serial_number ;
5552 unsigned int active_mode : 2 ;
5553 unsigned int unchecked_isa_dma : 1 ;
5554 unsigned int use_clustering : 1 ;
5555 unsigned int use_blk_tcq : 1 ;
5556 unsigned int host_self_blocked : 1 ;
5557 unsigned int reverse_ordering : 1 ;
5558 unsigned int ordered_tag : 1 ;
5559 unsigned int tmf_in_progress : 1 ;
5560 unsigned int async_scan : 1 ;
5561 char work_q_name[20] ;
5562 struct workqueue_struct *work_q ;
5563 unsigned int host_blocked ;
5564 unsigned int max_host_blocked ;
5565 unsigned int prot_capabilities ;
5566 unsigned char prot_guard_type ;
5567 struct request_queue *uspace_req_q ;
5568 unsigned long base ;
5569 unsigned long io_port ;
5570 unsigned char n_io_port ;
5571 unsigned char dma_channel ;
5572 unsigned int irq ;
5573 enum scsi_host_state shost_state ;
5574 struct device shost_gendev ;
5575 struct device shost_dev ;
5576 struct list_head sht_legacy_list ;
5577 void *shost_data ;
5578 struct device *dma_dev ;
5579 unsigned long hostdata[0] __attribute__((__aligned__(sizeof(unsigned long )))) ;
5580};
5581#line 222 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/scsi/dc395x.h"
5582struct ScsiInqData {
5583 u8 DevType ;
5584 u8 RMB_TypeMod ;
5585 u8 Vers ;
5586 u8 RDF ;
5587 u8 AddLen ;
5588 u8 Res1 ;
5589 u8 Res2 ;
5590 u8 Flags ;
5591 u8 VendorID[8] ;
5592 u8 ProductID[16] ;
5593 u8 ProductRev[4] ;
5594};
5595#line 190 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
5596struct SGentry {
5597 u32 address ;
5598 u32 length ;
5599};
5600#line 196 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
5601struct NVRamTarget {
5602 u8 cfg0 ;
5603 u8 period ;
5604 u8 cfg2 ;
5605 u8 cfg3 ;
5606};
5607#line 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
5608struct NvRamType {
5609 u8 sub_vendor_id[2] ;
5610 u8 sub_sys_id[2] ;
5611 u8 sub_class ;
5612 u8 vendor_id[2] ;
5613 u8 device_id[2] ;
5614 u8 reserved ;
5615 struct NVRamTarget target[16] ;
5616 u8 scsi_id ;
5617 u8 channel_cfg ;
5618 u8 delay_time ;
5619 u8 max_tag ;
5620 u8 reserved0 ;
5621 u8 boot_target ;
5622 u8 boot_lun ;
5623 u8 reserved1 ;
5624 u16 reserved2[22] ;
5625 u16 cksum ;
5626};
5627#line 229
5628struct DeviceCtlBlk;
5629#line 229
5630struct DeviceCtlBlk;
5631#line 229
5632struct DeviceCtlBlk;
5633#line 229 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
5634struct ScsiReqBlk {
5635 struct list_head list ;
5636 struct DeviceCtlBlk *dcb ;
5637 struct scsi_cmnd *cmd ;
5638 struct SGentry *segment_x ;
5639 dma_addr_t sg_bus_addr ;
5640 u8 sg_count ;
5641 u8 sg_index ;
5642 size_t total_xfer_length ;
5643 size_t request_length ;
5644 size_t xferred ;
5645 u16 state ;
5646 u8 msgin_buf[6] ;
5647 u8 msgout_buf[6] ;
5648 u8 adapter_status ;
5649 u8 target_status ;
5650 u8 msg_count ;
5651 u8 end_message ;
5652 u8 tag_number ;
5653 u8 status ;
5654 u8 retry_count ;
5655 u8 flag ;
5656 u8 scsi_phase ;
5657};
5658#line 270
5659struct AdapterCtlBlk;
5660#line 270
5661struct AdapterCtlBlk;
5662#line 270
5663struct AdapterCtlBlk;
5664#line 270 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
5665struct DeviceCtlBlk {
5666 struct list_head list ;
5667 struct AdapterCtlBlk *acb ;
5668 struct list_head srb_going_list ;
5669 struct list_head srb_waiting_list ;
5670 struct ScsiReqBlk *active_srb ;
5671 u32 tag_mask ;
5672 u16 max_command ;
5673 u8 target_id ;
5674 u8 target_lun ;
5675 u8 identify_msg ;
5676 u8 dev_mode ;
5677 u8 inquiry7 ;
5678 u8 sync_mode ;
5679 u8 min_nego_period ;
5680 u8 sync_period ;
5681 u8 sync_offset ;
5682 u8 flag ;
5683 u8 dev_type ;
5684 u8 init_tcq_flag ;
5685};
5686#line 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
5687struct AdapterCtlBlk {
5688 struct Scsi_Host *scsi_host ;
5689 unsigned long io_port_base ;
5690 unsigned long io_port_len ;
5691 struct list_head dcb_list ;
5692 struct DeviceCtlBlk *dcb_run_robin ;
5693 struct DeviceCtlBlk *active_dcb ;
5694 struct list_head srb_free_list ;
5695 struct ScsiReqBlk *tmp_srb ;
5696 struct timer_list waiting_timer ;
5697 struct timer_list selto_timer ;
5698 u16 srb_count ;
5699 u8 sel_timeout ;
5700 unsigned int irq_level ;
5701 u8 tag_max_num ;
5702 u8 acb_flag ;
5703 u8 gmode2 ;
5704 u8 config ;
5705 u8 lun_chk ;
5706 u8 scan_devices ;
5707 u8 hostid_bit ;
5708 u8 dcb_map[16] ;
5709 struct DeviceCtlBlk *children[16][32] ;
5710 struct pci_dev *dev ;
5711 u8 msg_len ;
5712 struct ScsiReqBlk srb_array[63] ;
5713 struct ScsiReqBlk srb ;
5714 struct NvRamType eeprom ;
5715};
5716#line 486 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
5717struct ParameterData {
5718 int value ;
5719 int min ;
5720 int max ;
5721 int def ;
5722 int safe ;
5723};
5724#line 244 "include/linux/usb/ch9.h"
5725struct usb_device_descriptor {
5726 __u8 bLength ;
5727 __u8 bDescriptorType ;
5728 __le16 bcdUSB ;
5729 __u8 bDeviceClass ;
5730 __u8 bDeviceSubClass ;
5731 __u8 bDeviceProtocol ;
5732 __u8 bMaxPacketSize0 ;
5733 __le16 idVendor ;
5734 __le16 idProduct ;
5735 __le16 bcdDevice ;
5736 __u8 iManufacturer ;
5737 __u8 iProduct ;
5738 __u8 iSerialNumber ;
5739 __u8 bNumConfigurations ;
5740} __attribute__((__packed__)) ;
5741#line 300 "include/linux/usb/ch9.h"
5742struct usb_config_descriptor {
5743 __u8 bLength ;
5744 __u8 bDescriptorType ;
5745 __le16 wTotalLength ;
5746 __u8 bNumInterfaces ;
5747 __u8 bConfigurationValue ;
5748 __u8 iConfiguration ;
5749 __u8 bmAttributes ;
5750 __u8 bMaxPower ;
5751} __attribute__((__packed__)) ;
5752#line 337 "include/linux/usb/ch9.h"
5753struct usb_interface_descriptor {
5754 __u8 bLength ;
5755 __u8 bDescriptorType ;
5756 __u8 bInterfaceNumber ;
5757 __u8 bAlternateSetting ;
5758 __u8 bNumEndpoints ;
5759 __u8 bInterfaceClass ;
5760 __u8 bInterfaceSubClass ;
5761 __u8 bInterfaceProtocol ;
5762 __u8 iInterface ;
5763} __attribute__((__packed__)) ;
5764#line 355 "include/linux/usb/ch9.h"
5765struct usb_endpoint_descriptor {
5766 __u8 bLength ;
5767 __u8 bDescriptorType ;
5768 __u8 bEndpointAddress ;
5769 __u8 bmAttributes ;
5770 __le16 wMaxPacketSize ;
5771 __u8 bInterval ;
5772 __u8 bRefresh ;
5773 __u8 bSynchAddress ;
5774} __attribute__((__packed__)) ;
5775#line 576 "include/linux/usb/ch9.h"
5776struct usb_ss_ep_comp_descriptor {
5777 __u8 bLength ;
5778 __u8 bDescriptorType ;
5779 __u8 bMaxBurst ;
5780 __u8 bmAttributes ;
5781 __le16 wBytesPerInterval ;
5782} __attribute__((__packed__)) ;
5783#line 637 "include/linux/usb/ch9.h"
5784struct usb_interface_assoc_descriptor {
5785 __u8 bLength ;
5786 __u8 bDescriptorType ;
5787 __u8 bFirstInterface ;
5788 __u8 bInterfaceCount ;
5789 __u8 bFunctionClass ;
5790 __u8 bFunctionSubClass ;
5791 __u8 bFunctionProtocol ;
5792 __u8 iFunction ;
5793} __attribute__((__packed__)) ;
5794#line 846
5795enum usb_device_speed {
5796 USB_SPEED_UNKNOWN = 0,
5797 USB_SPEED_LOW = 1,
5798 USB_SPEED_FULL = 2,
5799 USB_SPEED_HIGH = 3,
5800 USB_SPEED_WIRELESS = 4,
5801 USB_SPEED_SUPER = 5
5802} ;
5803#line 854
5804enum usb_device_state {
5805 USB_STATE_NOTATTACHED = 0,
5806 USB_STATE_ATTACHED = 1,
5807 USB_STATE_POWERED = 2,
5808 USB_STATE_RECONNECTING = 3,
5809 USB_STATE_UNAUTHENTICATED = 4,
5810 USB_STATE_DEFAULT = 5,
5811 USB_STATE_ADDRESS = 6,
5812 USB_STATE_CONFIGURED = 7,
5813 USB_STATE_SUSPENDED = 8
5814} ;
5815#line 25 "include/linux/usb.h"
5816struct usb_device;
5817#line 25
5818struct usb_device;
5819#line 25
5820struct usb_device;
5821#line 25
5822struct usb_device;
5823#line 27
5824struct wusb_dev;
5825#line 27
5826struct wusb_dev;
5827#line 27
5828struct wusb_dev;
5829#line 27
5830struct wusb_dev;
5831#line 47
5832struct ep_device;
5833#line 47
5834struct ep_device;
5835#line 47
5836struct ep_device;
5837#line 47
5838struct ep_device;
5839#line 64 "include/linux/usb.h"
5840struct usb_host_endpoint {
5841 struct usb_endpoint_descriptor desc ;
5842 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
5843 struct list_head urb_list ;
5844 void *hcpriv ;
5845 struct ep_device *ep_dev ;
5846 unsigned char *extra ;
5847 int extralen ;
5848 int enabled ;
5849};
5850#line 77 "include/linux/usb.h"
5851struct usb_host_interface {
5852 struct usb_interface_descriptor desc ;
5853 struct usb_host_endpoint *endpoint ;
5854 char *string ;
5855 unsigned char *extra ;
5856 int extralen ;
5857};
5858#line 90
5859enum usb_interface_condition {
5860 USB_INTERFACE_UNBOUND = 0,
5861 USB_INTERFACE_BINDING = 1,
5862 USB_INTERFACE_BOUND = 2,
5863 USB_INTERFACE_UNBINDING = 3
5864} ;
5865#line 159 "include/linux/usb.h"
5866struct usb_interface {
5867 struct usb_host_interface *altsetting ;
5868 struct usb_host_interface *cur_altsetting ;
5869 unsigned int num_altsetting ;
5870 struct usb_interface_assoc_descriptor *intf_assoc ;
5871 int minor ;
5872 enum usb_interface_condition condition ;
5873 unsigned int sysfs_files_created : 1 ;
5874 unsigned int ep_devs_created : 1 ;
5875 unsigned int unregistering : 1 ;
5876 unsigned int needs_remote_wakeup : 1 ;
5877 unsigned int needs_altsetting0 : 1 ;
5878 unsigned int needs_binding : 1 ;
5879 unsigned int reset_running : 1 ;
5880 unsigned int resetting_device : 1 ;
5881 struct device dev ;
5882 struct device *usb_dev ;
5883 atomic_t pm_usage_cnt ;
5884 struct work_struct reset_ws ;
5885};
5886#line 222 "include/linux/usb.h"
5887struct usb_interface_cache {
5888 unsigned int num_altsetting ;
5889 struct kref ref ;
5890 struct usb_host_interface altsetting[0] ;
5891};
5892#line 274 "include/linux/usb.h"
5893struct usb_host_config {
5894 struct usb_config_descriptor desc ;
5895 char *string ;
5896 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
5897 struct usb_interface *interface[32] ;
5898 struct usb_interface_cache *intf_cache[32] ;
5899 unsigned char *extra ;
5900 int extralen ;
5901};
5902#line 305 "include/linux/usb.h"
5903struct usb_devmap {
5904 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
5905};
5906#line 312
5907struct mon_bus;
5908#line 312
5909struct mon_bus;
5910#line 312
5911struct mon_bus;
5912#line 312 "include/linux/usb.h"
5913struct usb_bus {
5914 struct device *controller ;
5915 int busnum ;
5916 char const *bus_name ;
5917 u8 uses_dma ;
5918 u8 uses_pio_for_control ;
5919 u8 otg_port ;
5920 unsigned int is_b_host : 1 ;
5921 unsigned int b_hnp_enable : 1 ;
5922 unsigned int sg_tablesize ;
5923 int devnum_next ;
5924 struct usb_devmap devmap ;
5925 struct usb_device *root_hub ;
5926 struct usb_bus *hs_companion ;
5927 struct list_head bus_list ;
5928 int bandwidth_allocated ;
5929 int bandwidth_int_reqs ;
5930 int bandwidth_isoc_reqs ;
5931 struct dentry *usbfs_dentry ;
5932 struct mon_bus *mon_bus ;
5933 int monitored ;
5934};
5935#line 367
5936struct usb_tt;
5937#line 367
5938struct usb_tt;
5939#line 367
5940struct usb_tt;
5941#line 367
5942struct usb_tt;
5943#line 426 "include/linux/usb.h"
5944struct usb_device {
5945 int devnum ;
5946 char devpath[16] ;
5947 u32 route ;
5948 enum usb_device_state state ;
5949 enum usb_device_speed speed ;
5950 struct usb_tt *tt ;
5951 int ttport ;
5952 unsigned int toggle[2] ;
5953 struct usb_device *parent ;
5954 struct usb_bus *bus ;
5955 struct usb_host_endpoint ep0 ;
5956 struct device dev ;
5957 struct usb_device_descriptor descriptor ;
5958 struct usb_host_config *config ;
5959 struct usb_host_config *actconfig ;
5960 struct usb_host_endpoint *ep_in[16] ;
5961 struct usb_host_endpoint *ep_out[16] ;
5962 char **rawdescriptors ;
5963 unsigned short bus_mA ;
5964 u8 portnum ;
5965 u8 level ;
5966 unsigned int can_submit : 1 ;
5967 unsigned int persist_enabled : 1 ;
5968 unsigned int have_langid : 1 ;
5969 unsigned int authorized : 1 ;
5970 unsigned int authenticated : 1 ;
5971 unsigned int wusb : 1 ;
5972 int string_langid ;
5973 char *product ;
5974 char *manufacturer ;
5975 char *serial ;
5976 struct list_head filelist ;
5977 struct device *usb_classdev ;
5978 struct dentry *usbfs_dentry ;
5979 int maxchild ;
5980 struct usb_device *children[31] ;
5981 u32 quirks ;
5982 atomic_t urbnum ;
5983 unsigned long active_duration ;
5984 unsigned long connect_time ;
5985 unsigned int do_remote_wakeup : 1 ;
5986 unsigned int reset_resume : 1 ;
5987 struct wusb_dev *wusb_dev ;
5988 int slot_id ;
5989};
5990#line 983 "include/linux/usb.h"
5991struct usb_iso_packet_descriptor {
5992 unsigned int offset ;
5993 unsigned int length ;
5994 unsigned int actual_length ;
5995 int status ;
5996};
5997#line 990
5998struct urb;
5999#line 990
6000struct urb;
6001#line 990
6002struct urb;
6003#line 990
6004struct urb;
6005#line 992 "include/linux/usb.h"
6006struct usb_anchor {
6007 struct list_head urb_list ;
6008 wait_queue_head_t wait ;
6009 spinlock_t lock ;
6010 unsigned int poisoned : 1 ;
6011};
6012#line 1183 "include/linux/usb.h"
6013struct urb {
6014 struct kref kref ;
6015 void *hcpriv ;
6016 atomic_t use_count ;
6017 atomic_t reject ;
6018 int unlinked ;
6019 struct list_head urb_list ;
6020 struct list_head anchor_list ;
6021 struct usb_anchor *anchor ;
6022 struct usb_device *dev ;
6023 struct usb_host_endpoint *ep ;
6024 unsigned int pipe ;
6025 unsigned int stream_id ;
6026 int status ;
6027 unsigned int transfer_flags ;
6028 void *transfer_buffer ;
6029 dma_addr_t transfer_dma ;
6030 struct scatterlist *sg ;
6031 int num_sgs ;
6032 u32 transfer_buffer_length ;
6033 u32 actual_length ;
6034 unsigned char *setup_packet ;
6035 dma_addr_t setup_dma ;
6036 int start_frame ;
6037 int number_of_packets ;
6038 int interval ;
6039 int error_count ;
6040 void *context ;
6041 void (*complete)(struct urb * ) ;
6042 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
6043};
6044#line 1388
6045struct scatterlist;
6046#line 1 "<compiler builtins>"
6047
6048#line 1
6049long __builtin_expect(long , long ) ;
6050#line 24 "include/linux/list.h"
6051__inline static void INIT_LIST_HEAD(struct list_head *list )
6052{
6053
6054 {
6055#line 26
6056 list->next = list;
6057#line 27
6058 list->prev = list;
6059#line 28
6060 return;
6061}
6062}
6063#line 47
6064extern void __list_add(struct list_head *new , struct list_head *prev , struct list_head *next ) ;
6065#line 60 "include/linux/list.h"
6066__inline static void list_add(struct list_head *new , struct list_head *head )
6067{ struct list_head *__cil_tmp3 ;
6068
6069 {
6070 {
6071#line 62
6072 __cil_tmp3 = head->next;
6073#line 62
6074 __list_add(new, head, __cil_tmp3);
6075 }
6076#line 63
6077 return;
6078}
6079}
6080#line 74 "include/linux/list.h"
6081__inline static void list_add_tail(struct list_head *new , struct list_head *head )
6082{ struct list_head *__cil_tmp3 ;
6083
6084 {
6085 {
6086#line 76
6087 __cil_tmp3 = head->prev;
6088#line 76
6089 __list_add(new, __cil_tmp3, head);
6090 }
6091#line 77
6092 return;
6093}
6094}
6095#line 111
6096extern void __list_del_entry(struct list_head *entry ) ;
6097#line 112
6098extern void list_del(struct list_head *entry ) ;
6099#line 153 "include/linux/list.h"
6100__inline static void list_move(struct list_head *list , struct list_head *head )
6101{
6102
6103 {
6104 {
6105#line 155
6106 __list_del_entry(list);
6107#line 156
6108 list_add(list, head);
6109 }
6110#line 157
6111 return;
6112}
6113}
6114#line 186 "include/linux/list.h"
6115__inline static int list_empty(struct list_head const *head )
6116{ unsigned long __cil_tmp2 ;
6117 struct list_head *__cil_tmp3 ;
6118 unsigned long __cil_tmp4 ;
6119
6120 {
6121 {
6122#line 188
6123 __cil_tmp2 = (unsigned long )head;
6124#line 188
6125 __cil_tmp3 = head->next;
6126#line 188
6127 __cil_tmp4 = (unsigned long )__cil_tmp3;
6128#line 188
6129 return (__cil_tmp4 == __cil_tmp2);
6130 }
6131}
6132}
6133#line 100 "include/linux/printk.h"
6134extern int printk(char const *fmt , ...) ;
6135#line 69 "include/asm-generic/bug.h"
6136extern void warn_slowpath_null(char const *file , int line ) ;
6137#line 291 "include/linux/kernel.h"
6138extern int sprintf(char *buf , char const *fmt , ...) ;
6139#line 61 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_64_types.h"
6140extern unsigned long __phys_addr(unsigned long ) ;
6141#line 349 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
6142extern struct pv_irq_ops pv_irq_ops ;
6143#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
6144extern void *__memcpy(void *to , void const *from , size_t len ) ;
6145#line 55
6146extern void *memset(void *s , int c , size_t n ) ;
6147#line 851 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
6148__inline static unsigned long arch_local_save_flags(void) __attribute__((__no_instrument_function__)) ;
6149#line 851
6150__inline static unsigned long arch_local_save_flags(void) __attribute__((__no_instrument_function__)) ;
6151#line 851 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
6152__inline static unsigned long arch_local_save_flags(void)
6153{ unsigned long __ret ;
6154 unsigned long __edi ;
6155 unsigned long __esi ;
6156 unsigned long __edx ;
6157 unsigned long __ecx ;
6158 unsigned long __eax ;
6159 long tmp ;
6160 void *__cil_tmp8 ;
6161 unsigned long __cil_tmp9 ;
6162 unsigned long __cil_tmp10 ;
6163 int __cil_tmp11 ;
6164 int __cil_tmp12 ;
6165 int __cil_tmp13 ;
6166 long __cil_tmp14 ;
6167 struct paravirt_patch_template *__cil_tmp15 ;
6168 void **__cil_tmp16 ;
6169 unsigned int __cil_tmp17 ;
6170 unsigned long __cil_tmp18 ;
6171 unsigned long long __cil_tmp19 ;
6172 u64 __cil_tmp20 ;
6173 u64 __cil_tmp21 ;
6174 unsigned long long __cil_tmp22 ;
6175 struct paravirt_patch_template *__cil_tmp23 ;
6176 void **__cil_tmp24 ;
6177 unsigned int __cil_tmp25 ;
6178 unsigned long __cil_tmp26 ;
6179
6180 {
6181#line 853
6182 __edi = __edi;
6183#line 853
6184 __esi = __esi;
6185#line 853
6186 __edx = __edx;
6187#line 853
6188 __ecx = __ecx;
6189#line 853
6190 __eax = __eax;
6191 {
6192#line 853
6193 while (1) {
6194 while_continue: ;
6195 {
6196#line 853
6197 __cil_tmp8 = (void *)0;
6198#line 853
6199 __cil_tmp9 = (unsigned long )__cil_tmp8;
6200#line 853
6201 __cil_tmp10 = (unsigned long )pv_irq_ops.save_fl.func;
6202#line 853
6203 __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
6204#line 853
6205 __cil_tmp12 = ! __cil_tmp11;
6206#line 853
6207 __cil_tmp13 = ! __cil_tmp12;
6208#line 853
6209 __cil_tmp14 = (long )__cil_tmp13;
6210#line 853
6211 tmp = __builtin_expect(__cil_tmp14, 0L);
6212 }
6213#line 853
6214 if (tmp) {
6215 {
6216#line 853
6217 while (1) {
6218 while_continue___0: ;
6219#line 853
6220 __asm__ volatile ("1:\tud2\n"
6221 ".pushsection __bug_table,\"a\"\n"
6222 "2:\t.long 1b - 2b, %c0 - 2b\n"
6223 "\t.word %c1, 0\n"
6224 "\t.org 2b+%c2\n"
6225 ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
6226 "i" (853), "i" (12UL));
6227 {
6228#line 853
6229 while (1) {
6230 while_continue___1: ;
6231
6232 }
6233 while_break___3: ;
6234 }
6235
6236#line 853
6237 goto while_break___0;
6238 }
6239 while_break___2: ;
6240 }
6241
6242 while_break___0: ;
6243 } else {
6244
6245 }
6246#line 853
6247 goto while_break;
6248 }
6249 while_break___1: ;
6250 }
6251
6252 while_break: ;
6253#line 853
6254 if (8UL > 8UL) {
6255#line 853
6256 __cil_tmp15 = (struct paravirt_patch_template *)0;
6257#line 853
6258 __cil_tmp16 = & __cil_tmp15->pv_irq_ops.save_fl.func;
6259#line 853
6260 __cil_tmp17 = (unsigned int )__cil_tmp16;
6261#line 853
6262 __cil_tmp18 = (unsigned long )__cil_tmp17;
6263#line 853
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289#line 853
6290 __cil_tmp19 = (unsigned long long )__eax;
6291#line 853
6292 __cil_tmp20 = (u64 )__edx;
6293#line 853
6294 __cil_tmp21 = __cil_tmp20 << 32;
6295#line 853
6296 __cil_tmp22 = __cil_tmp21 | __cil_tmp19;
6297#line 853
6298 __ret = (unsigned long )__cil_tmp22;
6299 } else {
6300#line 853
6301 __cil_tmp23 = (struct paravirt_patch_template *)0;
6302#line 853
6303 __cil_tmp24 = & __cil_tmp23->pv_irq_ops.save_fl.func;
6304#line 853
6305 __cil_tmp25 = (unsigned int )__cil_tmp24;
6306#line 853
6307 __cil_tmp26 = (unsigned long )__cil_tmp25;
6308#line 853
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334#line 853
6335 __ret = __eax;
6336 }
6337#line 853
6338 return (__ret);
6339}
6340}
6341#line 856
6342__inline static void arch_local_irq_restore(unsigned long f ) __attribute__((__no_instrument_function__)) ;
6343#line 856
6344__inline static void arch_local_irq_restore(unsigned long f ) __attribute__((__no_instrument_function__)) ;
6345#line 856 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
6346__inline static void arch_local_irq_restore(unsigned long f )
6347{ unsigned long __edi ;
6348 unsigned long __esi ;
6349 unsigned long __edx ;
6350 unsigned long __ecx ;
6351 unsigned long __eax ;
6352 long tmp ;
6353 void *__cil_tmp8 ;
6354 unsigned long __cil_tmp9 ;
6355 unsigned long __cil_tmp10 ;
6356 int __cil_tmp11 ;
6357 int __cil_tmp12 ;
6358 int __cil_tmp13 ;
6359 long __cil_tmp14 ;
6360 struct paravirt_patch_template *__cil_tmp15 ;
6361 void **__cil_tmp16 ;
6362 unsigned int __cil_tmp17 ;
6363 unsigned long __cil_tmp18 ;
6364
6365 {
6366#line 858
6367 __edi = __edi;
6368#line 858
6369 __esi = __esi;
6370#line 858
6371 __edx = __edx;
6372#line 858
6373 __ecx = __ecx;
6374#line 858
6375 __eax = __eax;
6376 {
6377#line 858
6378 while (1) {
6379 while_continue: ;
6380 {
6381#line 858
6382 __cil_tmp8 = (void *)0;
6383#line 858
6384 __cil_tmp9 = (unsigned long )__cil_tmp8;
6385#line 858
6386 __cil_tmp10 = (unsigned long )pv_irq_ops.restore_fl.func;
6387#line 858
6388 __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
6389#line 858
6390 __cil_tmp12 = ! __cil_tmp11;
6391#line 858
6392 __cil_tmp13 = ! __cil_tmp12;
6393#line 858
6394 __cil_tmp14 = (long )__cil_tmp13;
6395#line 858
6396 tmp = __builtin_expect(__cil_tmp14, 0L);
6397 }
6398#line 858
6399 if (tmp) {
6400 {
6401#line 858
6402 while (1) {
6403 while_continue___0: ;
6404#line 858
6405 __asm__ volatile ("1:\tud2\n"
6406 ".pushsection __bug_table,\"a\"\n"
6407 "2:\t.long 1b - 2b, %c0 - 2b\n"
6408 "\t.word %c1, 0\n"
6409 "\t.org 2b+%c2\n"
6410 ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
6411 "i" (858), "i" (12UL));
6412 {
6413#line 858
6414 while (1) {
6415 while_continue___1: ;
6416
6417 }
6418 while_break___3: ;
6419 }
6420
6421#line 858
6422 goto while_break___0;
6423 }
6424 while_break___2: ;
6425 }
6426
6427 while_break___0: ;
6428 } else {
6429
6430 }
6431#line 858
6432 goto while_break;
6433 }
6434 while_break___1: ;
6435 }
6436
6437 while_break:
6438#line 858
6439 __cil_tmp15 = (struct paravirt_patch_template *)0;
6440#line 858
6441 __cil_tmp16 = & __cil_tmp15->pv_irq_ops.restore_fl.func;
6442#line 858
6443 __cil_tmp17 = (unsigned int )__cil_tmp16;
6444#line 858
6445 __cil_tmp18 = (unsigned long )__cil_tmp17;
6446#line 858
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472#line 859
6473 return;
6474}
6475}
6476#line 861
6477__inline static void arch_local_irq_disable(void) __attribute__((__no_instrument_function__)) ;
6478#line 861
6479__inline static void arch_local_irq_disable(void) __attribute__((__no_instrument_function__)) ;
6480#line 861 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
6481__inline static void arch_local_irq_disable(void)
6482{ unsigned long __edi ;
6483 unsigned long __esi ;
6484 unsigned long __edx ;
6485 unsigned long __ecx ;
6486 unsigned long __eax ;
6487 long tmp ;
6488 void *__cil_tmp7 ;
6489 unsigned long __cil_tmp8 ;
6490 unsigned long __cil_tmp9 ;
6491 int __cil_tmp10 ;
6492 int __cil_tmp11 ;
6493 int __cil_tmp12 ;
6494 long __cil_tmp13 ;
6495 struct paravirt_patch_template *__cil_tmp14 ;
6496 void **__cil_tmp15 ;
6497 unsigned int __cil_tmp16 ;
6498 unsigned long __cil_tmp17 ;
6499
6500 {
6501#line 863
6502 __edi = __edi;
6503#line 863
6504 __esi = __esi;
6505#line 863
6506 __edx = __edx;
6507#line 863
6508 __ecx = __ecx;
6509#line 863
6510 __eax = __eax;
6511 {
6512#line 863
6513 while (1) {
6514 while_continue: ;
6515 {
6516#line 863
6517 __cil_tmp7 = (void *)0;
6518#line 863
6519 __cil_tmp8 = (unsigned long )__cil_tmp7;
6520#line 863
6521 __cil_tmp9 = (unsigned long )pv_irq_ops.irq_disable.func;
6522#line 863
6523 __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
6524#line 863
6525 __cil_tmp11 = ! __cil_tmp10;
6526#line 863
6527 __cil_tmp12 = ! __cil_tmp11;
6528#line 863
6529 __cil_tmp13 = (long )__cil_tmp12;
6530#line 863
6531 tmp = __builtin_expect(__cil_tmp13, 0L);
6532 }
6533#line 863
6534 if (tmp) {
6535 {
6536#line 863
6537 while (1) {
6538 while_continue___0: ;
6539#line 863
6540 __asm__ volatile ("1:\tud2\n"
6541 ".pushsection __bug_table,\"a\"\n"
6542 "2:\t.long 1b - 2b, %c0 - 2b\n"
6543 "\t.word %c1, 0\n"
6544 "\t.org 2b+%c2\n"
6545 ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
6546 "i" (863), "i" (12UL));
6547 {
6548#line 863
6549 while (1) {
6550 while_continue___1: ;
6551
6552 }
6553 while_break___3: ;
6554 }
6555
6556#line 863
6557 goto while_break___0;
6558 }
6559 while_break___2: ;
6560 }
6561
6562 while_break___0: ;
6563 } else {
6564
6565 }
6566#line 863
6567 goto while_break;
6568 }
6569 while_break___1: ;
6570 }
6571
6572 while_break:
6573#line 863
6574 __cil_tmp14 = (struct paravirt_patch_template *)0;
6575#line 863
6576 __cil_tmp15 = & __cil_tmp14->pv_irq_ops.irq_disable.func;
6577#line 863
6578 __cil_tmp16 = (unsigned int )__cil_tmp15;
6579#line 863
6580 __cil_tmp17 = (unsigned long )__cil_tmp16;
6581#line 863
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607#line 864
6608 return;
6609}
6610}
6611#line 871
6612__inline static unsigned long arch_local_irq_save(void) __attribute__((__no_instrument_function__)) ;
6613#line 871
6614__inline static unsigned long arch_local_irq_save(void) __attribute__((__no_instrument_function__)) ;
6615#line 871 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
6616__inline static unsigned long arch_local_irq_save(void)
6617{ unsigned long f ;
6618
6619 {
6620 {
6621#line 875
6622 f = arch_local_save_flags();
6623#line 876
6624 arch_local_irq_disable();
6625 }
6626#line 877
6627 return (f);
6628}
6629}
6630#line 154 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/irqflags.h"
6631__inline static int arch_irqs_disabled_flags(unsigned long flags )
6632{ unsigned long __cil_tmp2 ;
6633
6634 {
6635 {
6636#line 156
6637 __cil_tmp2 = flags & 512UL;
6638#line 156
6639 return (! __cil_tmp2);
6640 }
6641}
6642}
6643#line 20 "include/linux/irqflags.h"
6644extern void trace_hardirqs_on(void) ;
6645#line 21
6646extern void trace_hardirqs_off(void) ;
6647#line 29 "include/linux/spinlock_api_smp.h"
6648extern void _raw_spin_lock_irq(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
6649#line 32
6650extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
6651#line 41
6652extern void _raw_spin_unlock_irq(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
6653#line 42
6654extern void _raw_spin_unlock_irqrestore(raw_spinlock_t *lock , unsigned long flags ) __attribute__((__section__(".spinlock.text"))) ;
6655#line 272 "include/linux/spinlock.h"
6656__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
6657{
6658
6659 {
6660#line 274
6661 return (& lock->__annonCompField18.rlock);
6662}
6663}
6664#line 308 "include/linux/spinlock.h"
6665__inline static void spin_lock_irq(spinlock_t *lock )
6666{ struct raw_spinlock *__cil_tmp2 ;
6667
6668 {
6669 {
6670#line 310
6671 __cil_tmp2 = & lock->__annonCompField18.rlock;
6672#line 310
6673 _raw_spin_lock_irq(__cil_tmp2);
6674 }
6675#line 311
6676 return;
6677}
6678}
6679#line 333 "include/linux/spinlock.h"
6680__inline static void spin_unlock_irq(spinlock_t *lock )
6681{ struct raw_spinlock *__cil_tmp2 ;
6682
6683 {
6684 {
6685#line 335
6686 __cil_tmp2 = & lock->__annonCompField18.rlock;
6687#line 335
6688 _raw_spin_unlock_irq(__cil_tmp2);
6689 }
6690#line 336
6691 return;
6692}
6693}
6694#line 338 "include/linux/spinlock.h"
6695__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
6696{ struct raw_spinlock *__cil_tmp3 ;
6697
6698 {
6699 {
6700#line 340
6701 while (1) {
6702 while_continue: ;
6703 {
6704#line 340
6705 __cil_tmp3 = & lock->__annonCompField18.rlock;
6706#line 340
6707 _raw_spin_unlock_irqrestore(__cil_tmp3, flags);
6708 }
6709#line 340
6710 goto while_break;
6711 }
6712 while_break___0: ;
6713 }
6714
6715 while_break: ;
6716#line 341
6717 return;
6718}
6719}
6720#line 113 "include/linux/ioport.h"
6721extern struct resource ioport_resource ;
6722#line 156
6723extern struct resource *__request_region(struct resource * , resource_size_t start ,
6724 resource_size_t n , char const *name ,
6725 int flags ) ;
6726#line 167
6727extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
6728#line 82 "include/linux/jiffies.h"
6729extern unsigned long volatile jiffies __attribute__((__section__(".data"))) ;
6730#line 91 "include/linux/timer.h"
6731extern void init_timer_key(struct timer_list *timer , char const *name , struct lock_class_key *key ) ;
6732#line 204 "include/linux/timer.h"
6733__inline static int timer_pending(struct timer_list const *timer )
6734{ void *__cil_tmp2 ;
6735 unsigned long __cil_tmp3 ;
6736 struct list_head *__cil_tmp4 ;
6737 unsigned long __cil_tmp5 ;
6738
6739 {
6740 {
6741#line 206
6742 __cil_tmp2 = (void *)0;
6743#line 206
6744 __cil_tmp3 = (unsigned long )__cil_tmp2;
6745#line 206
6746 __cil_tmp4 = timer->entry.next;
6747#line 206
6748 __cil_tmp5 = (unsigned long )__cil_tmp4;
6749#line 206
6750 return (__cil_tmp5 != __cil_tmp3);
6751 }
6752}
6753}
6754#line 210
6755extern int del_timer(struct timer_list *timer ) ;
6756#line 275
6757extern void add_timer(struct timer_list *timer ) ;
6758#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
6759__inline static void outb(unsigned char value , int port )
6760{
6761
6762 {
6763#line 310
6764 __asm__ volatile ("out"
6765 "b"
6766 " %"
6767 "b"
6768 "0, %w1": : "a" (value), "Nd" (port));
6769#line 310
6770 return;
6771}
6772}
6773#line 310 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
6774__inline static unsigned char inb(int port )
6775{ unsigned char value ;
6776
6777 {
6778#line 310
6779 __asm__ volatile ("in"
6780 "b"
6781 " %w1, %"
6782 "b"
6783 "0": "=a" (value): "Nd" (port));
6784#line 310
6785 return (value);
6786}
6787}
6788#line 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
6789__inline static void outw(unsigned short value , int port )
6790{
6791
6792 {
6793#line 311
6794 __asm__ volatile ("out"
6795 "w"
6796 " %"
6797 "w"
6798 "0, %w1": : "a" (value), "Nd" (port));
6799#line 311
6800 return;
6801}
6802}
6803#line 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
6804__inline static unsigned short inw(int port )
6805{ unsigned short value ;
6806
6807 {
6808#line 311
6809 __asm__ volatile ("in"
6810 "w"
6811 " %w1, %"
6812 "w"
6813 "0": "=a" (value): "Nd" (port));
6814#line 311
6815 return (value);
6816}
6817}
6818#line 312 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
6819__inline static void outl(unsigned int value , int port )
6820{
6821
6822 {
6823#line 312
6824 __asm__ volatile ("out"
6825 "l"
6826 " %"
6827 ""
6828 "0, %w1": : "a" (value), "Nd" (port));
6829#line 312
6830 return;
6831}
6832}
6833#line 312 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
6834__inline static unsigned int inl(int port )
6835{ unsigned int value ;
6836
6837 {
6838#line 312
6839 __asm__ volatile ("in"
6840 "l"
6841 " %w1, %"
6842 ""
6843 "0": "=a" (value): "Nd" (port));
6844#line 312
6845 return (value);
6846}
6847}
6848#line 830 "include/linux/rcupdate.h"
6849extern void kfree(void const * ) ;
6850#line 303 "include/linux/moduleparam.h"
6851extern struct kernel_param_ops param_ops_int ;
6852#line 329
6853extern struct kernel_param_ops param_ops_bool ;
6854#line 79 "include/linux/module.h"
6855int init_module(void) ;
6856#line 80
6857void cleanup_module(void) ;
6858#line 99
6859extern struct module __this_module ;
6860#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/delay.h"
6861extern void __const_udelay(unsigned long xloops ) ;
6862#line 221 "include/linux/slub_def.h"
6863extern void *__kmalloc(size_t size , gfp_t flags ) ;
6864#line 255 "include/linux/slub_def.h"
6865__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
6866 gfp_t flags )
6867{ void *tmp___10 ;
6868
6869 {
6870 {
6871#line 270
6872 tmp___10 = __kmalloc(size, flags);
6873 }
6874#line 270
6875 return (tmp___10);
6876}
6877}
6878#line 705 "include/linux/device.h"
6879extern void *dev_get_drvdata(struct device const *dev ) __attribute__((__ldv_model__)) ;
6880#line 706
6881extern int dev_set_drvdata(struct device *dev , void *data ) ;
6882#line 123 "include/linux/interrupt.h"
6883extern int __attribute__((__warn_unused_result__)) request_threaded_irq(unsigned int irq ,
6884 irqreturn_t (*handler)(int ,
6885 void * ) ,
6886 irqreturn_t (*thread_fn)(int ,
6887 void * ) ,
6888 unsigned long flags ,
6889 char const *name ,
6890 void *dev ) ;
6891#line 128 "include/linux/interrupt.h"
6892__inline static int __attribute__((__warn_unused_result__)) request_irq(unsigned int irq ,
6893 irqreturn_t (*handler)(int ,
6894 void * ) ,
6895 unsigned long flags ,
6896 char const *name ,
6897 void *dev )
6898{ int tmp___7 ;
6899 int tmp ;
6900 int tmp___8 ;
6901 void *__cil_tmp9 ;
6902 irqreturn_t (*__cil_tmp10)(int , void * ) ;
6903
6904 {
6905 {
6906#line 132
6907 __cil_tmp9 = (void *)0;
6908#line 132
6909 __cil_tmp10 = (irqreturn_t (*)(int , void * ))__cil_tmp9;
6910#line 132
6911 tmp___8 = (int )request_threaded_irq(irq, handler, __cil_tmp10, flags, name, dev);
6912#line 132
6913 tmp = tmp___8;
6914#line 132
6915 tmp___7 = tmp;
6916 }
6917#line 132
6918 return (tmp___7);
6919}
6920}
6921#line 170
6922extern void free_irq(unsigned int , void * ) ;
6923#line 725 "include/linux/pci.h"
6924extern int pci_bus_read_config_word(struct pci_bus *bus , unsigned int devfn , int where ,
6925 u16 *val ) ;
6926#line 741 "include/linux/pci.h"
6927__inline static int pci_read_config_word(struct pci_dev *dev , int where , u16 *val )
6928{ int tmp___7 ;
6929 struct pci_bus *__cil_tmp5 ;
6930 unsigned int __cil_tmp6 ;
6931
6932 {
6933 {
6934#line 743
6935 __cil_tmp5 = dev->bus;
6936#line 743
6937 __cil_tmp6 = dev->devfn;
6938#line 743
6939 tmp___7 = pci_bus_read_config_word(__cil_tmp5, __cil_tmp6, where, val);
6940 }
6941#line 743
6942 return (tmp___7);
6943}
6944}
6945#line 764
6946extern int __attribute__((__warn_unused_result__)) pci_enable_device(struct pci_dev *dev ) ;
6947#line 781
6948extern void pci_disable_device(struct pci_dev *dev ) ;
6949#line 782
6950extern void pci_set_master(struct pci_dev *dev ) ;
6951#line 916
6952extern int __attribute__((__warn_unused_result__)) __pci_register_driver(struct pci_driver * ,
6953 struct module * ,
6954 char const *mod_name ) ;
6955#line 925
6956extern void pci_unregister_driver(struct pci_driver *dev ) ;
6957#line 202 "include/linux/scatterlist.h"
6958extern struct scatterlist *sg_next(struct scatterlist * ) ;
6959#line 80 "include/linux/dma-mapping.h"
6960__inline static int valid_dma_direction(int dma_direction )
6961{ int tmp___7 ;
6962
6963 {
6964#line 82
6965 if (dma_direction == 0) {
6966#line 82
6967 tmp___7 = 1;
6968 } else
6969#line 82
6970 if (dma_direction == 1) {
6971#line 82
6972 tmp___7 = 1;
6973 } else
6974#line 82
6975 if (dma_direction == 2) {
6976#line 82
6977 tmp___7 = 1;
6978 } else {
6979#line 82
6980 tmp___7 = 0;
6981 }
6982#line 82
6983 return (tmp___7);
6984}
6985}
6986#line 131 "include/linux/kmemcheck.h"
6987__inline static void kmemcheck_mark_initialized(void *address , unsigned int n )
6988{
6989
6990 {
6991#line 133
6992 return;
6993}
6994}
6995#line 37 "include/linux/dma-debug.h"
6996extern void debug_dma_map_page(struct device *dev , struct page *page , size_t offset ,
6997 size_t size , int direction , dma_addr_t dma_addr ,
6998 bool map_single ) ;
6999#line 42
7000extern void debug_dma_unmap_page(struct device *dev , dma_addr_t addr , size_t size ,
7001 int direction , bool map_single ) ;
7002#line 61
7003extern void debug_dma_sync_single_for_device(struct device *dev , dma_addr_t dma_handle ,
7004 size_t size , int direction ) ;
7005#line 76
7006extern void debug_dma_sync_sg_for_cpu(struct device *dev , struct scatterlist *sg ,
7007 int nelems , int direction ) ;
7008#line 29 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
7009extern struct dma_map_ops *dma_ops ;
7010#line 31 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/dma-mapping.h"
7011__inline static struct dma_map_ops *get_dma_ops(struct device *dev )
7012{ long tmp___7 ;
7013 int __cil_tmp3 ;
7014 int __cil_tmp4 ;
7015 int __cil_tmp5 ;
7016 long __cil_tmp6 ;
7017 struct dma_map_ops *__cil_tmp7 ;
7018
7019 {
7020 {
7021#line 36
7022 __cil_tmp3 = ! dev;
7023#line 36
7024 __cil_tmp4 = ! __cil_tmp3;
7025#line 36
7026 __cil_tmp5 = ! __cil_tmp4;
7027#line 36
7028 __cil_tmp6 = (long )__cil_tmp5;
7029#line 36
7030 tmp___7 = __builtin_expect(__cil_tmp6, 0L);
7031 }
7032#line 36
7033 if (tmp___7) {
7034#line 37
7035 return (dma_ops);
7036 } else {
7037 {
7038#line 36
7039 __cil_tmp7 = dev->archdata.dma_ops;
7040#line 36
7041 if (! __cil_tmp7) {
7042#line 37
7043 return (dma_ops);
7044 } else {
7045#line 39
7046 return (dev->archdata.dma_ops);
7047 }
7048 }
7049 }
7050}
7051}
7052#line 9 "include/asm-generic/dma-mapping-common.h"
7053__inline static dma_addr_t dma_map_single_attrs(struct device *dev , void *ptr , size_t size ,
7054 enum dma_data_direction dir , struct dma_attrs *attrs )
7055{ struct dma_map_ops *ops ;
7056 struct dma_map_ops *tmp___7 ;
7057 dma_addr_t addr ;
7058 int tmp___8 ;
7059 int tmp___9 ;
7060 long tmp___10 ;
7061 unsigned long tmp___11 ;
7062 unsigned long tmp___12 ;
7063 unsigned int __cil_tmp14 ;
7064 int __cil_tmp15 ;
7065 long __cil_tmp16 ;
7066 unsigned long __cil_tmp17 ;
7067 dma_addr_t (*__cil_tmp18)(struct device *dev , struct page *page , unsigned long offset ,
7068 size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
7069 unsigned long __cil_tmp19 ;
7070 struct page *__cil_tmp20 ;
7071 struct page *__cil_tmp21 ;
7072 unsigned long __cil_tmp22 ;
7073 unsigned long __cil_tmp23 ;
7074 unsigned long __cil_tmp24 ;
7075 unsigned long __cil_tmp25 ;
7076 unsigned long __cil_tmp26 ;
7077 unsigned long __cil_tmp27 ;
7078 unsigned long __cil_tmp28 ;
7079 unsigned long __cil_tmp29 ;
7080 struct page *__cil_tmp30 ;
7081 struct page *__cil_tmp31 ;
7082 unsigned long __cil_tmp32 ;
7083 unsigned long __cil_tmp33 ;
7084 unsigned long __cil_tmp34 ;
7085 unsigned long __cil_tmp35 ;
7086 unsigned long __cil_tmp36 ;
7087 unsigned long __cil_tmp37 ;
7088 int __cil_tmp38 ;
7089 bool __cil_tmp39 ;
7090
7091 {
7092 {
7093#line 14
7094 tmp___7 = get_dma_ops(dev);
7095#line 14
7096 ops = tmp___7;
7097#line 17
7098 __cil_tmp14 = (unsigned int )size;
7099#line 17
7100 kmemcheck_mark_initialized(ptr, __cil_tmp14);
7101 }
7102 {
7103#line 18
7104 while (1) {
7105 while_continue: ;
7106 {
7107#line 18
7108 __cil_tmp15 = (int )dir;
7109#line 18
7110 tmp___8 = valid_dma_direction(__cil_tmp15);
7111 }
7112#line 18
7113 if (tmp___8) {
7114#line 18
7115 tmp___9 = 0;
7116 } else {
7117#line 18
7118 tmp___9 = 1;
7119 }
7120 {
7121#line 18
7122 __cil_tmp16 = (long )tmp___9;
7123#line 18
7124 tmp___10 = __builtin_expect(__cil_tmp16, 0L);
7125 }
7126#line 18
7127 if (tmp___10) {
7128 {
7129#line 18
7130 while (1) {
7131 while_continue___0: ;
7132#line 18
7133 __asm__ volatile ("1:\tud2\n"
7134 ".pushsection __bug_table,\"a\"\n"
7135 "2:\t.long 1b - 2b, %c0 - 2b\n"
7136 "\t.word %c1, 0\n"
7137 "\t.org 2b+%c2\n"
7138 ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
7139 "i" (18), "i" (12UL));
7140 {
7141#line 18
7142 while (1) {
7143 while_continue___1: ;
7144
7145 }
7146 while_break___3: ;
7147 }
7148
7149#line 18
7150 goto while_break___0;
7151 }
7152 while_break___2: ;
7153 }
7154
7155 while_break___0: ;
7156 } else {
7157
7158 }
7159#line 18
7160 goto while_break;
7161 }
7162 while_break___1: ;
7163 }
7164
7165 while_break:
7166 {
7167#line 19
7168 __cil_tmp17 = (unsigned long )ptr;
7169#line 19
7170 tmp___11 = __phys_addr(__cil_tmp17);
7171#line 19
7172 __cil_tmp18 = ops->map_page;
7173#line 19
7174 __cil_tmp19 = tmp___11 >> 12;
7175#line 19
7176 __cil_tmp20 = (struct page *)1152897315351035904UL;
7177#line 19
7178 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
7179#line 19
7180 __cil_tmp22 = 1UL << 12;
7181#line 19
7182 __cil_tmp23 = __cil_tmp22 - 1UL;
7183#line 19
7184 __cil_tmp24 = ~ __cil_tmp23;
7185#line 19
7186 __cil_tmp25 = ~ __cil_tmp24;
7187#line 19
7188 __cil_tmp26 = (unsigned long )ptr;
7189#line 19
7190 __cil_tmp27 = __cil_tmp26 & __cil_tmp25;
7191#line 19
7192 addr = (*__cil_tmp18)(dev, __cil_tmp21, __cil_tmp27, size, dir, attrs);
7193#line 22
7194 __cil_tmp28 = (unsigned long )ptr;
7195#line 22
7196 tmp___12 = __phys_addr(__cil_tmp28);
7197#line 22
7198 __cil_tmp29 = tmp___12 >> 12;
7199#line 22
7200 __cil_tmp30 = (struct page *)1152897315351035904UL;
7201#line 22
7202 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
7203#line 22
7204 __cil_tmp32 = 1UL << 12;
7205#line 22
7206 __cil_tmp33 = __cil_tmp32 - 1UL;
7207#line 22
7208 __cil_tmp34 = ~ __cil_tmp33;
7209#line 22
7210 __cil_tmp35 = ~ __cil_tmp34;
7211#line 22
7212 __cil_tmp36 = (unsigned long )ptr;
7213#line 22
7214 __cil_tmp37 = __cil_tmp36 & __cil_tmp35;
7215#line 22
7216 __cil_tmp38 = (int )dir;
7217#line 22
7218 __cil_tmp39 = (bool )1;
7219#line 22
7220 debug_dma_map_page(dev, __cil_tmp31, __cil_tmp37, size, __cil_tmp38, addr, __cil_tmp39);
7221 }
7222#line 25
7223 return (addr);
7224}
7225}
7226#line 28 "include/asm-generic/dma-mapping-common.h"
7227__inline static void dma_unmap_single_attrs(struct device *dev , dma_addr_t addr ,
7228 size_t size , enum dma_data_direction dir ,
7229 struct dma_attrs *attrs )
7230{ struct dma_map_ops *ops ;
7231 struct dma_map_ops *tmp___7 ;
7232 int tmp___8 ;
7233 int tmp___9 ;
7234 long tmp___10 ;
7235 int __cil_tmp11 ;
7236 long __cil_tmp12 ;
7237 void (*__cil_tmp13)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
7238 struct dma_attrs *attrs ) ;
7239 int __cil_tmp14 ;
7240 bool __cil_tmp15 ;
7241
7242 {
7243 {
7244#line 33
7245 tmp___7 = get_dma_ops(dev);
7246#line 33
7247 ops = tmp___7;
7248 }
7249 {
7250#line 35
7251 while (1) {
7252 while_continue: ;
7253 {
7254#line 35
7255 __cil_tmp11 = (int )dir;
7256#line 35
7257 tmp___8 = valid_dma_direction(__cil_tmp11);
7258 }
7259#line 35
7260 if (tmp___8) {
7261#line 35
7262 tmp___9 = 0;
7263 } else {
7264#line 35
7265 tmp___9 = 1;
7266 }
7267 {
7268#line 35
7269 __cil_tmp12 = (long )tmp___9;
7270#line 35
7271 tmp___10 = __builtin_expect(__cil_tmp12, 0L);
7272 }
7273#line 35
7274 if (tmp___10) {
7275 {
7276#line 35
7277 while (1) {
7278 while_continue___0: ;
7279#line 35
7280 __asm__ volatile ("1:\tud2\n"
7281 ".pushsection __bug_table,\"a\"\n"
7282 "2:\t.long 1b - 2b, %c0 - 2b\n"
7283 "\t.word %c1, 0\n"
7284 "\t.org 2b+%c2\n"
7285 ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
7286 "i" (35), "i" (12UL));
7287 {
7288#line 35
7289 while (1) {
7290 while_continue___1: ;
7291
7292 }
7293 while_break___3: ;
7294 }
7295
7296#line 35
7297 goto while_break___0;
7298 }
7299 while_break___2: ;
7300 }
7301
7302 while_break___0: ;
7303 } else {
7304
7305 }
7306#line 35
7307 goto while_break;
7308 }
7309 while_break___1: ;
7310 }
7311
7312 while_break: ;
7313#line 36
7314 if (ops->unmap_page) {
7315 {
7316#line 37
7317 __cil_tmp13 = ops->unmap_page;
7318#line 37
7319 (*__cil_tmp13)(dev, addr, size, dir, attrs);
7320 }
7321 } else {
7322
7323 }
7324 {
7325#line 38
7326 __cil_tmp14 = (int )dir;
7327#line 38
7328 __cil_tmp15 = (bool )1;
7329#line 38
7330 debug_dma_unmap_page(dev, addr, size, __cil_tmp14, __cil_tmp15);
7331 }
7332#line 39
7333 return;
7334}
7335}
7336#line 108 "include/asm-generic/dma-mapping-common.h"
7337__inline static void dma_sync_single_for_device(struct device *dev , dma_addr_t addr ,
7338 size_t size , enum dma_data_direction dir )
7339{ struct dma_map_ops *ops ;
7340 struct dma_map_ops *tmp___7 ;
7341 int tmp___8 ;
7342 int tmp___9 ;
7343 long tmp___10 ;
7344 int __cil_tmp10 ;
7345 long __cil_tmp11 ;
7346 void (*__cil_tmp12)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ) ;
7347 int __cil_tmp13 ;
7348
7349 {
7350 {
7351#line 112
7352 tmp___7 = get_dma_ops(dev);
7353#line 112
7354 ops = tmp___7;
7355 }
7356 {
7357#line 114
7358 while (1) {
7359 while_continue: ;
7360 {
7361#line 114
7362 __cil_tmp10 = (int )dir;
7363#line 114
7364 tmp___8 = valid_dma_direction(__cil_tmp10);
7365 }
7366#line 114
7367 if (tmp___8) {
7368#line 114
7369 tmp___9 = 0;
7370 } else {
7371#line 114
7372 tmp___9 = 1;
7373 }
7374 {
7375#line 114
7376 __cil_tmp11 = (long )tmp___9;
7377#line 114
7378 tmp___10 = __builtin_expect(__cil_tmp11, 0L);
7379 }
7380#line 114
7381 if (tmp___10) {
7382 {
7383#line 114
7384 while (1) {
7385 while_continue___0: ;
7386#line 114
7387 __asm__ volatile ("1:\tud2\n"
7388 ".pushsection __bug_table,\"a\"\n"
7389 "2:\t.long 1b - 2b, %c0 - 2b\n"
7390 "\t.word %c1, 0\n"
7391 "\t.org 2b+%c2\n"
7392 ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
7393 "i" (114), "i" (12UL));
7394 {
7395#line 114
7396 while (1) {
7397 while_continue___1: ;
7398
7399 }
7400 while_break___3: ;
7401 }
7402
7403#line 114
7404 goto while_break___0;
7405 }
7406 while_break___2: ;
7407 }
7408
7409 while_break___0: ;
7410 } else {
7411
7412 }
7413#line 114
7414 goto while_break;
7415 }
7416 while_break___1: ;
7417 }
7418
7419 while_break: ;
7420#line 115
7421 if (ops->sync_single_for_device) {
7422 {
7423#line 116
7424 __cil_tmp12 = ops->sync_single_for_device;
7425#line 116
7426 (*__cil_tmp12)(dev, addr, size, dir);
7427 }
7428 } else {
7429
7430 }
7431 {
7432#line 117
7433 __cil_tmp13 = (int )dir;
7434#line 117
7435 debug_dma_sync_single_for_device(dev, addr, size, __cil_tmp13);
7436 }
7437#line 118
7438 return;
7439}
7440}
7441#line 138 "include/asm-generic/dma-mapping-common.h"
7442__inline static void dma_sync_sg_for_cpu(struct device *dev , struct scatterlist *sg ,
7443 int nelems , enum dma_data_direction dir )
7444{ struct dma_map_ops *ops ;
7445 struct dma_map_ops *tmp___7 ;
7446 int tmp___8 ;
7447 int tmp___9 ;
7448 long tmp___10 ;
7449 int __cil_tmp10 ;
7450 long __cil_tmp11 ;
7451 void (*__cil_tmp12)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ) ;
7452 int __cil_tmp13 ;
7453
7454 {
7455 {
7456#line 142
7457 tmp___7 = get_dma_ops(dev);
7458#line 142
7459 ops = tmp___7;
7460 }
7461 {
7462#line 144
7463 while (1) {
7464 while_continue: ;
7465 {
7466#line 144
7467 __cil_tmp10 = (int )dir;
7468#line 144
7469 tmp___8 = valid_dma_direction(__cil_tmp10);
7470 }
7471#line 144
7472 if (tmp___8) {
7473#line 144
7474 tmp___9 = 0;
7475 } else {
7476#line 144
7477 tmp___9 = 1;
7478 }
7479 {
7480#line 144
7481 __cil_tmp11 = (long )tmp___9;
7482#line 144
7483 tmp___10 = __builtin_expect(__cil_tmp11, 0L);
7484 }
7485#line 144
7486 if (tmp___10) {
7487 {
7488#line 144
7489 while (1) {
7490 while_continue___0: ;
7491#line 144
7492 __asm__ volatile ("1:\tud2\n"
7493 ".pushsection __bug_table,\"a\"\n"
7494 "2:\t.long 1b - 2b, %c0 - 2b\n"
7495 "\t.word %c1, 0\n"
7496 "\t.org 2b+%c2\n"
7497 ".popsection": : "i" ("include/asm-generic/dma-mapping-common.h"),
7498 "i" (144), "i" (12UL));
7499 {
7500#line 144
7501 while (1) {
7502 while_continue___1: ;
7503
7504 }
7505 while_break___3: ;
7506 }
7507
7508#line 144
7509 goto while_break___0;
7510 }
7511 while_break___2: ;
7512 }
7513
7514 while_break___0: ;
7515 } else {
7516
7517 }
7518#line 144
7519 goto while_break;
7520 }
7521 while_break___1: ;
7522 }
7523
7524 while_break: ;
7525#line 145
7526 if (ops->sync_sg_for_cpu) {
7527 {
7528#line 146
7529 __cil_tmp12 = ops->sync_sg_for_cpu;
7530#line 146
7531 (*__cil_tmp12)(dev, sg, nelems, dir);
7532 }
7533 } else {
7534
7535 }
7536 {
7537#line 147
7538 __cil_tmp13 = (int )dir;
7539#line 147
7540 debug_dma_sync_sg_for_cpu(dev, sg, nelems, __cil_tmp13);
7541 }
7542#line 148
7543 return;
7544}
7545}
7546#line 29 "include/asm-generic/pci-dma-compat.h"
7547__inline static dma_addr_t pci_map_single(struct pci_dev *hwdev , void *ptr , size_t size ,
7548 int direction )
7549{ struct device *tmp___7 ;
7550 dma_addr_t tmp___8 ;
7551 void *__cil_tmp7 ;
7552 unsigned long __cil_tmp8 ;
7553 unsigned long __cil_tmp9 ;
7554 void *__cil_tmp10 ;
7555 enum dma_data_direction __cil_tmp11 ;
7556 void *__cil_tmp12 ;
7557 struct dma_attrs *__cil_tmp13 ;
7558
7559 {
7560 {
7561#line 32
7562 __cil_tmp7 = (void *)0;
7563#line 32
7564 __cil_tmp8 = (unsigned long )__cil_tmp7;
7565#line 32
7566 __cil_tmp9 = (unsigned long )hwdev;
7567#line 32
7568 if (__cil_tmp9 == __cil_tmp8) {
7569#line 32
7570 __cil_tmp10 = (void *)0;
7571#line 32
7572 tmp___7 = (struct device *)__cil_tmp10;
7573 } else {
7574#line 32
7575 tmp___7 = & hwdev->dev;
7576 }
7577 }
7578 {
7579#line 32
7580 __cil_tmp11 = (enum dma_data_direction )direction;
7581#line 32
7582 __cil_tmp12 = (void *)0;
7583#line 32
7584 __cil_tmp13 = (struct dma_attrs *)__cil_tmp12;
7585#line 32
7586 tmp___8 = dma_map_single_attrs(tmp___7, ptr, size, __cil_tmp11, __cil_tmp13);
7587 }
7588#line 32
7589 return (tmp___8);
7590}
7591}
7592#line 35 "include/asm-generic/pci-dma-compat.h"
7593__inline static void pci_unmap_single(struct pci_dev *hwdev , dma_addr_t dma_addr ,
7594 size_t size , int direction )
7595{ struct device *tmp___7 ;
7596 void *__cil_tmp6 ;
7597 unsigned long __cil_tmp7 ;
7598 unsigned long __cil_tmp8 ;
7599 void *__cil_tmp9 ;
7600 enum dma_data_direction __cil_tmp10 ;
7601 void *__cil_tmp11 ;
7602 struct dma_attrs *__cil_tmp12 ;
7603
7604 {
7605 {
7606#line 39
7607 __cil_tmp6 = (void *)0;
7608#line 39
7609 __cil_tmp7 = (unsigned long )__cil_tmp6;
7610#line 39
7611 __cil_tmp8 = (unsigned long )hwdev;
7612#line 39
7613 if (__cil_tmp8 == __cil_tmp7) {
7614#line 39
7615 __cil_tmp9 = (void *)0;
7616#line 39
7617 tmp___7 = (struct device *)__cil_tmp9;
7618 } else {
7619#line 39
7620 tmp___7 = & hwdev->dev;
7621 }
7622 }
7623 {
7624#line 39
7625 __cil_tmp10 = (enum dma_data_direction )direction;
7626#line 39
7627 __cil_tmp11 = (void *)0;
7628#line 39
7629 __cil_tmp12 = (struct dma_attrs *)__cil_tmp11;
7630#line 39
7631 dma_unmap_single_attrs(tmp___7, dma_addr, size, __cil_tmp10, __cil_tmp12);
7632 }
7633#line 40
7634 return;
7635}
7636}
7637#line 77 "include/asm-generic/pci-dma-compat.h"
7638__inline static void pci_dma_sync_single_for_device(struct pci_dev *hwdev , dma_addr_t dma_handle ,
7639 size_t size , int direction )
7640{ struct device *tmp___7 ;
7641 void *__cil_tmp6 ;
7642 unsigned long __cil_tmp7 ;
7643 unsigned long __cil_tmp8 ;
7644 void *__cil_tmp9 ;
7645 enum dma_data_direction __cil_tmp10 ;
7646
7647 {
7648 {
7649#line 81
7650 __cil_tmp6 = (void *)0;
7651#line 81
7652 __cil_tmp7 = (unsigned long )__cil_tmp6;
7653#line 81
7654 __cil_tmp8 = (unsigned long )hwdev;
7655#line 81
7656 if (__cil_tmp8 == __cil_tmp7) {
7657#line 81
7658 __cil_tmp9 = (void *)0;
7659#line 81
7660 tmp___7 = (struct device *)__cil_tmp9;
7661 } else {
7662#line 81
7663 tmp___7 = & hwdev->dev;
7664 }
7665 }
7666 {
7667#line 81
7668 __cil_tmp10 = (enum dma_data_direction )direction;
7669#line 81
7670 dma_sync_single_for_device(tmp___7, dma_handle, size, __cil_tmp10);
7671 }
7672#line 82
7673 return;
7674}
7675}
7676#line 84 "include/asm-generic/pci-dma-compat.h"
7677__inline static void pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev , struct scatterlist *sg ,
7678 int nelems , int direction )
7679{ struct device *tmp___7 ;
7680 void *__cil_tmp6 ;
7681 unsigned long __cil_tmp7 ;
7682 unsigned long __cil_tmp8 ;
7683 void *__cil_tmp9 ;
7684 enum dma_data_direction __cil_tmp10 ;
7685
7686 {
7687 {
7688#line 88
7689 __cil_tmp6 = (void *)0;
7690#line 88
7691 __cil_tmp7 = (unsigned long )__cil_tmp6;
7692#line 88
7693 __cil_tmp8 = (unsigned long )hwdev;
7694#line 88
7695 if (__cil_tmp8 == __cil_tmp7) {
7696#line 88
7697 __cil_tmp9 = (void *)0;
7698#line 88
7699 tmp___7 = (struct device *)__cil_tmp9;
7700 } else {
7701#line 88
7702 tmp___7 = & hwdev->dev;
7703 }
7704 }
7705 {
7706#line 88
7707 __cil_tmp10 = (enum dma_data_direction )direction;
7708#line 88
7709 dma_sync_sg_for_cpu(tmp___7, sg, nelems, __cil_tmp10);
7710 }
7711#line 89
7712 return;
7713}
7714}
7715#line 1316 "include/linux/pci.h"
7716__inline static void *pci_get_drvdata(struct pci_dev *pdev )
7717{ void *tmp___7 ;
7718 struct device *__cil_tmp3 ;
7719 struct device const *__cil_tmp4 ;
7720
7721 {
7722 {
7723#line 1318
7724 __cil_tmp3 = & pdev->dev;
7725#line 1318
7726 __cil_tmp4 = (struct device const *)__cil_tmp3;
7727#line 1318
7728 tmp___7 = dev_get_drvdata(__cil_tmp4);
7729 }
7730#line 1318
7731 return (tmp___7);
7732}
7733}
7734#line 1321 "include/linux/pci.h"
7735__inline static void pci_set_drvdata(struct pci_dev *pdev , void *data )
7736{ struct device *__cil_tmp3 ;
7737
7738 {
7739 {
7740#line 1323
7741 __cil_tmp3 = & pdev->dev;
7742#line 1323
7743 dev_set_drvdata(__cil_tmp3, data);
7744 }
7745#line 1324
7746 return;
7747}
7748}
7749#line 15 "include/scsi/scsicam.h"
7750extern int scsicam_bios_param(struct block_device *bdev , sector_t capacity , int *ip ) ;
7751#line 141 "include/scsi/scsi_cmnd.h"
7752extern void *scsi_kmap_atomic_sg(struct scatterlist *sg , int sg_count , size_t *offset ,
7753 size_t *len ) ;
7754#line 143
7755extern void scsi_kunmap_atomic_sg(void *virt ) ;
7756#line 148
7757extern int scsi_dma_map(struct scsi_cmnd *cmd ) ;
7758#line 149
7759extern void scsi_dma_unmap(struct scsi_cmnd *cmd ) ;
7760#line 154 "include/scsi/scsi_cmnd.h"
7761__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd )
7762{
7763
7764 {
7765#line 156
7766 return (cmd->sdb.table.nents);
7767}
7768}
7769#line 159 "include/scsi/scsi_cmnd.h"
7770__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd )
7771{
7772
7773 {
7774#line 161
7775 return (cmd->sdb.table.sgl);
7776}
7777}
7778#line 164 "include/scsi/scsi_cmnd.h"
7779__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd )
7780{
7781
7782 {
7783#line 166
7784 return (cmd->sdb.length);
7785}
7786}
7787#line 169 "include/scsi/scsi_cmnd.h"
7788__inline static void scsi_set_resid(struct scsi_cmnd *cmd , int resid )
7789{
7790
7791 {
7792#line 171
7793 cmd->sdb.resid = resid;
7794#line 172
7795 return;
7796}
7797}
7798#line 762 "include/scsi/scsi_host.h"
7799extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template * , int ) ;
7800#line 763
7801extern int __attribute__((__warn_unused_result__)) scsi_add_host_with_dma(struct Scsi_Host * ,
7802 struct device * ,
7803 struct device * ) ;
7804#line 766
7805extern void scsi_scan_host(struct Scsi_Host * ) ;
7806#line 768
7807extern void scsi_remove_host(struct Scsi_Host * ) ;
7808#line 770
7809extern void scsi_host_put(struct Scsi_Host *t ) ;
7810#line 773
7811extern void scsi_cmd_get_serial(struct Scsi_Host * , struct scsi_cmnd * ) ;
7812#line 777 "include/scsi/scsi_host.h"
7813__inline static int __attribute__((__warn_unused_result__)) scsi_add_host(struct Scsi_Host *host ,
7814 struct device *dev )
7815{ int tmp___7 ;
7816 int tmp ;
7817 int tmp___8 ;
7818
7819 {
7820 {
7821#line 780
7822 tmp___8 = (int )scsi_add_host_with_dma(host, dev, dev);
7823#line 780
7824 tmp = tmp___8;
7825#line 780
7826 tmp___7 = tmp;
7827 }
7828#line 780
7829 return (tmp___7);
7830}
7831}
7832#line 343 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7833static void data_out_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7834#line 345
7835static void data_in_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7836#line 347
7837static void command_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7838#line 349
7839static void status_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7840#line 351
7841static void msgout_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7842#line 353
7843static void msgin_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7844#line 355
7845static void data_out_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7846#line 357
7847static void data_in_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7848#line 359
7849static void command_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7850#line 361
7851static void status_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7852#line 363
7853static void msgout_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7854#line 365
7855static void msgin_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7856#line 367
7857static void nop0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7858#line 369
7859static void nop1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status ) ;
7860#line 371
7861static void set_basic_config(struct AdapterCtlBlk *acb ) ;
7862#line 372
7863static void cleanup_after_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
7864#line 374
7865static void reset_scsi_bus(struct AdapterCtlBlk *acb ) ;
7866#line 375
7867static void data_io_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ,
7868 u16 io_dir ) ;
7869#line 377
7870static void disconnect(struct AdapterCtlBlk *acb ) ;
7871#line 378
7872static void reselect(struct AdapterCtlBlk *acb ) ;
7873#line 379
7874static u8 start_scsi(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
7875#line 381
7876__inline static void enable_msgout_abort(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
7877#line 383
7878static void build_srb(struct scsi_cmnd *cmd , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
7879#line 385
7880static void doing_srb_done(struct AdapterCtlBlk *acb , u8 did_flag , struct scsi_cmnd *cmd ,
7881 u8 force ) ;
7882#line 387
7883static void scsi_reset_detect(struct AdapterCtlBlk *acb ) ;
7884#line 388
7885static void pci_unmap_srb(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
7886#line 389
7887static void pci_unmap_srb_sense(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ) ;
7888#line 391
7889static void srb_done(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
7890#line 393
7891static void request_sense(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb ) ;
7892#line 395
7893static void set_xfer_rate(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ) ;
7894#line 397
7895static void waiting_timeout(unsigned long ptr ) ;
7896#line 403 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7897static u16 current_sync_offset = (u16 )0;
7898#line 405 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7899static void *dc395x_scsi_phase0[8] =
7900#line 405
7901 { (void *)(& data_out_phase0), (void *)(& data_in_phase0), (void *)(& command_phase0), (void *)(& status_phase0),
7902 (void *)(& nop0), (void *)(& nop0), (void *)(& msgout_phase0), (void *)(& msgin_phase0)};
7903#line 416 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7904static void *dc395x_scsi_phase1[8] =
7905#line 416
7906 { (void *)(& data_out_phase1), (void *)(& data_in_phase1), (void *)(& command_phase1), (void *)(& status_phase1),
7907 (void *)(& nop1), (void *)(& nop1), (void *)(& msgout_phase1), (void *)(& msgin_phase1)};
7908#line 449 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7909static u8 clock_period[8] =
7910#line 449
7911 { (u8 )12, (u8 )18, (u8 )25, (u8 )31,
7912 (u8 )37, (u8 )43, (u8 )50, (u8 )62};
7913#line 450 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7914static u16 clock_speed[8] =
7915#line 450
7916 { (u16 )200, (u16 )133, (u16 )100, (u16 )80,
7917 (u16 )67, (u16 )58, (u16 )50, (u16 )40};
7918#line 493 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7919static struct ParameterData cfg_data[6] __attribute__((__section__(".devinit.data"))) = { {-1,
7920 0, 15, 7, 7},
7921 {-1, 0, 7, 1, 4},
7922 {-1, 0, 63, 63, 9},
7923 {-1, 0, 47, 39, 15},
7924 {-1, 0, 5, 3, 2},
7925 {-1, 0, 180, 1, 10}};
7926#line 550 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7927static int use_safe_settings = 0;
7928#line 551 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7929static char const __param_str_safe[5] = { (char const )'s', (char const )'a', (char const )'f', (char const )'e',
7930 (char const )'\000'};
7931#line 551 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7932static struct kernel_param const __param_safe __attribute__((__used__, __unused__,
7933__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_safe, (struct kernel_param_ops const *)(& param_ops_bool), (u16 )0,
7934 (u16 )0, {(void *)(& use_safe_settings)}};
7935#line 551 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7936static char const __mod_safetype551[19] __attribute__((__used__, __unused__, __section__(".modinfo"),
7937__aligned__(1))) =
7938#line 551
7939 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
7940 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
7941 (char const )'=', (char const )'s', (char const )'a', (char const )'f',
7942 (char const )'e', (char const )':', (char const )'b', (char const )'o',
7943 (char const )'o', (char const )'l', (char const )'\000'};
7944#line 552 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7945static char const __mod_safe552[58] __attribute__((__used__, __unused__, __section__(".modinfo"),
7946__aligned__(1))) =
7947#line 552
7948 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
7949 (char const )'=', (char const )'s', (char const )'a', (char const )'f',
7950 (char const )'e', (char const )':', (char const )'U', (char const )'s',
7951 (char const )'e', (char const )' ', (char const )'s', (char const )'a',
7952 (char const )'f', (char const )'e', (char const )' ', (char const )'a',
7953 (char const )'n', (char const )'d', (char const )' ', (char const )'s',
7954 (char const )'l', (char const )'o', (char const )'w', (char const )' ',
7955 (char const )'s', (char const )'e', (char const )'t', (char const )'t',
7956 (char const )'i', (char const )'n', (char const )'g', (char const )'s',
7957 (char const )' ', (char const )'o', (char const )'n', (char const )'l',
7958 (char const )'y', (char const )'.', (char const )' ', (char const )'D',
7959 (char const )'e', (char const )'f', (char const )'a', (char const )'u',
7960 (char const )'l', (char const )'t', (char const )':', (char const )' ',
7961 (char const )'f', (char const )'a', (char const )'l', (char const )'s',
7962 (char const )'e', (char const )'\000'};
7963#line 555 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7964static char const __param_str_adapter_id[11] =
7965#line 555
7966 { (char const )'a', (char const )'d', (char const )'a', (char const )'p',
7967 (char const )'t', (char const )'e', (char const )'r', (char const )'_',
7968 (char const )'i', (char const )'d', (char const )'\000'};
7969#line 555 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7970static struct kernel_param const __param_adapter_id __attribute__((__used__, __unused__,
7971__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_adapter_id, (struct kernel_param_ops const *)(& param_ops_int),
7972 (u16 )0, (u16 )0, {(void *)(& cfg_data[0].value)}};
7973#line 555 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7974static char const __mod_adapter_idtype555[24] __attribute__((__used__, __unused__,
7975__section__(".modinfo"), __aligned__(1))) =
7976#line 555
7977 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
7978 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
7979 (char const )'=', (char const )'a', (char const )'d', (char const )'a',
7980 (char const )'p', (char const )'t', (char const )'e', (char const )'r',
7981 (char const )'_', (char const )'i', (char const )'d', (char const )':',
7982 (char const )'i', (char const )'n', (char const )'t', (char const )'\000'};
7983#line 556 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
7984static char const __mod_adapter_id556[50] __attribute__((__used__, __unused__,
7985__section__(".modinfo"), __aligned__(1))) =
7986#line 556
7987 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
7988 (char const )'=', (char const )'a', (char const )'d', (char const )'a',
7989 (char const )'p', (char const )'t', (char const )'e', (char const )'r',
7990 (char const )'_', (char const )'i', (char const )'d', (char const )':',
7991 (char const )'A', (char const )'d', (char const )'a', (char const )'p',
7992 (char const )'t', (char const )'e', (char const )'r', (char const )' ',
7993 (char const )'S', (char const )'C', (char const )'S', (char const )'I',
7994 (char const )' ', (char const )'I', (char const )'D', (char const )'.',
7995 (char const )' ', (char const )'D', (char const )'e', (char const )'f',
7996 (char const )'a', (char const )'u', (char const )'l', (char const )'t',
7997 (char const )' ', (char const )'7', (char const )' ', (char const )'(',
7998 (char const )'0', (char const )'-', (char const )'1', (char const )'5',
7999 (char const )')', (char const )'\000'};
8000#line 558 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8001static char const __param_str_max_speed[10] =
8002#line 558
8003 { (char const )'m', (char const )'a', (char const )'x', (char const )'_',
8004 (char const )'s', (char const )'p', (char const )'e', (char const )'e',
8005 (char const )'d', (char const )'\000'};
8006#line 558 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8007static struct kernel_param const __param_max_speed __attribute__((__used__, __unused__,
8008__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_max_speed, (struct kernel_param_ops const *)(& param_ops_int), (u16 )0,
8009 (u16 )0, {(void *)(& cfg_data[1].value)}};
8010#line 558 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8011static char const __mod_max_speedtype558[23] __attribute__((__used__, __unused__,
8012__section__(".modinfo"), __aligned__(1))) =
8013#line 558
8014 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8015 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
8016 (char const )'=', (char const )'m', (char const )'a', (char const )'x',
8017 (char const )'_', (char const )'s', (char const )'p', (char const )'e',
8018 (char const )'e', (char const )'d', (char const )':', (char const )'i',
8019 (char const )'n', (char const )'t', (char const )'\000'};
8020#line 559 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8021static char const __mod_max_speed559[110] __attribute__((__used__, __unused__,
8022__section__(".modinfo"), __aligned__(1))) =
8023#line 559
8024 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8025 (char const )'=', (char const )'m', (char const )'a', (char const )'x',
8026 (char const )'_', (char const )'s', (char const )'p', (char const )'e',
8027 (char const )'e', (char const )'d', (char const )':', (char const )'M',
8028 (char const )'a', (char const )'x', (char const )'i', (char const )'m',
8029 (char const )'u', (char const )'m', (char const )' ', (char const )'b',
8030 (char const )'u', (char const )'s', (char const )' ', (char const )'s',
8031 (char const )'p', (char const )'e', (char const )'e', (char const )'d',
8032 (char const )'.', (char const )' ', (char const )'D', (char const )'e',
8033 (char const )'f', (char const )'a', (char const )'u', (char const )'l',
8034 (char const )'t', (char const )' ', (char const )'1', (char const )' ',
8035 (char const )'(', (char const )'0', (char const )'-', (char const )'7',
8036 (char const )')', (char const )' ', (char const )'S', (char const )'p',
8037 (char const )'e', (char const )'e', (char const )'d', (char const )'s',
8038 (char const )':', (char const )' ', (char const )'0', (char const )'=',
8039 (char const )'2', (char const )'0', (char const )',', (char const )' ',
8040 (char const )'1', (char const )'=', (char const )'1', (char const )'3',
8041 (char const )'.', (char const )'3', (char const )',', (char const )' ',
8042 (char const )'2', (char const )'=', (char const )'1', (char const )'0',
8043 (char const )',', (char const )' ', (char const )'3', (char const )'=',
8044 (char const )'8', (char const )',', (char const )' ', (char const )'4',
8045 (char const )'=', (char const )'6', (char const )'.', (char const )'7',
8046 (char const )',', (char const )' ', (char const )'5', (char const )'=',
8047 (char const )'5', (char const )'.', (char const )'8', (char const )',',
8048 (char const )' ', (char const )'6', (char const )'=', (char const )'5',
8049 (char const )',', (char const )' ', (char const )'7', (char const )'=',
8050 (char const )'4', (char const )' ', (char const )'M', (char const )'h',
8051 (char const )'z', (char const )'\000'};
8052#line 561 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8053static char const __param_str_dev_mode[9] =
8054#line 561
8055 { (char const )'d', (char const )'e', (char const )'v', (char const )'_',
8056 (char const )'m', (char const )'o', (char const )'d', (char const )'e',
8057 (char const )'\000'};
8058#line 561 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8059static struct kernel_param const __param_dev_mode __attribute__((__used__, __unused__,
8060__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_dev_mode, (struct kernel_param_ops const *)(& param_ops_int), (u16 )0,
8061 (u16 )0, {(void *)(& cfg_data[2].value)}};
8062#line 561 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8063static char const __mod_dev_modetype561[22] __attribute__((__used__, __unused__,
8064__section__(".modinfo"), __aligned__(1))) =
8065#line 561
8066 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8067 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
8068 (char const )'=', (char const )'d', (char const )'e', (char const )'v',
8069 (char const )'_', (char const )'m', (char const )'o', (char const )'d',
8070 (char const )'e', (char const )':', (char const )'i', (char const )'n',
8071 (char const )'t', (char const )'\000'};
8072#line 562 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8073static char const __mod_dev_mode562[27] __attribute__((__used__, __unused__, __section__(".modinfo"),
8074__aligned__(1))) =
8075#line 562
8076 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8077 (char const )'=', (char const )'d', (char const )'e', (char const )'v',
8078 (char const )'_', (char const )'m', (char const )'o', (char const )'d',
8079 (char const )'e', (char const )':', (char const )'D', (char const )'e',
8080 (char const )'v', (char const )'i', (char const )'c', (char const )'e',
8081 (char const )' ', (char const )'m', (char const )'o', (char const )'d',
8082 (char const )'e', (char const )'.', (char const )'\000'};
8083#line 564 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8084static char const __param_str_adapter_mode[13] =
8085#line 564
8086 { (char const )'a', (char const )'d', (char const )'a', (char const )'p',
8087 (char const )'t', (char const )'e', (char const )'r', (char const )'_',
8088 (char const )'m', (char const )'o', (char const )'d', (char const )'e',
8089 (char const )'\000'};
8090#line 564 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8091static struct kernel_param const __param_adapter_mode __attribute__((__used__,
8092__unused__, __section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_adapter_mode, (struct kernel_param_ops const *)(& param_ops_int),
8093 (u16 )0, (u16 )0, {(void *)(& cfg_data[3].value)}};
8094#line 564 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8095static char const __mod_adapter_modetype564[26] __attribute__((__used__, __unused__,
8096__section__(".modinfo"), __aligned__(1))) =
8097#line 564
8098 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8099 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
8100 (char const )'=', (char const )'a', (char const )'d', (char const )'a',
8101 (char const )'p', (char const )'t', (char const )'e', (char const )'r',
8102 (char const )'_', (char const )'m', (char const )'o', (char const )'d',
8103 (char const )'e', (char const )':', (char const )'i', (char const )'n',
8104 (char const )'t', (char const )'\000'};
8105#line 565 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8106static char const __mod_adapter_mode565[32] __attribute__((__used__, __unused__,
8107__section__(".modinfo"), __aligned__(1))) =
8108#line 565
8109 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8110 (char const )'=', (char const )'a', (char const )'d', (char const )'a',
8111 (char const )'p', (char const )'t', (char const )'e', (char const )'r',
8112 (char const )'_', (char const )'m', (char const )'o', (char const )'d',
8113 (char const )'e', (char const )':', (char const )'A', (char const )'d',
8114 (char const )'a', (char const )'p', (char const )'t', (char const )'e',
8115 (char const )'r', (char const )' ', (char const )'m', (char const )'o',
8116 (char const )'d', (char const )'e', (char const )'.', (char const )'\000'};
8117#line 567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8118static char const __param_str_tags[5] = { (char const )'t', (char const )'a', (char const )'g', (char const )'s',
8119 (char const )'\000'};
8120#line 567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8121static struct kernel_param const __param_tags __attribute__((__used__, __unused__,
8122__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_tags, (struct kernel_param_ops const *)(& param_ops_int), (u16 )0,
8123 (u16 )0, {(void *)(& cfg_data[4].value)}};
8124#line 567 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8125static char const __mod_tagstype567[18] __attribute__((__used__, __unused__, __section__(".modinfo"),
8126__aligned__(1))) =
8127#line 567
8128 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8129 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
8130 (char const )'=', (char const )'t', (char const )'a', (char const )'g',
8131 (char const )'s', (char const )':', (char const )'i', (char const )'n',
8132 (char const )'t', (char const )'\000'};
8133#line 568 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8134static char const __mod_tags568[49] __attribute__((__used__, __unused__, __section__(".modinfo"),
8135__aligned__(1))) =
8136#line 568
8137 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8138 (char const )'=', (char const )'t', (char const )'a', (char const )'g',
8139 (char const )'s', (char const )':', (char const )'N', (char const )'u',
8140 (char const )'m', (char const )'b', (char const )'e', (char const )'r',
8141 (char const )' ', (char const )'o', (char const )'f', (char const )' ',
8142 (char const )'t', (char const )'a', (char const )'g', (char const )'s',
8143 (char const )' ', (char const )'(', (char const )'1', (char const )'<',
8144 (char const )'<', (char const )'x', (char const )')', (char const )'.',
8145 (char const )' ', (char const )'D', (char const )'e', (char const )'f',
8146 (char const )'a', (char const )'u', (char const )'l', (char const )'t',
8147 (char const )' ', (char const )'3', (char const )' ', (char const )'(',
8148 (char const )'0', (char const )'-', (char const )'5', (char const )')',
8149 (char const )'\000'};
8150#line 570 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8151static char const __param_str_reset_delay[12] =
8152#line 570
8153 { (char const )'r', (char const )'e', (char const )'s', (char const )'e',
8154 (char const )'t', (char const )'_', (char const )'d', (char const )'e',
8155 (char const )'l', (char const )'a', (char const )'y', (char const )'\000'};
8156#line 570 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8157static struct kernel_param const __param_reset_delay __attribute__((__used__, __unused__,
8158__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_reset_delay, (struct kernel_param_ops const *)(& param_ops_int),
8159 (u16 )0, (u16 )0, {(void *)(& cfg_data[5].value)}};
8160#line 570 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8161static char const __mod_reset_delaytype570[25] __attribute__((__used__, __unused__,
8162__section__(".modinfo"), __aligned__(1))) =
8163#line 570
8164 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8165 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
8166 (char const )'=', (char const )'r', (char const )'e', (char const )'s',
8167 (char const )'e', (char const )'t', (char const )'_', (char const )'d',
8168 (char const )'e', (char const )'l', (char const )'a', (char const )'y',
8169 (char const )':', (char const )'i', (char const )'n', (char const )'t',
8170 (char const )'\000'};
8171#line 571 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8172static char const __mod_reset_delay571[59] __attribute__((__used__, __unused__,
8173__section__(".modinfo"), __aligned__(1))) =
8174#line 571
8175 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
8176 (char const )'=', (char const )'r', (char const )'e', (char const )'s',
8177 (char const )'e', (char const )'t', (char const )'_', (char const )'d',
8178 (char const )'e', (char const )'l', (char const )'a', (char const )'y',
8179 (char const )':', (char const )'R', (char const )'e', (char const )'s',
8180 (char const )'e', (char const )'t', (char const )' ', (char const )'d',
8181 (char const )'e', (char const )'l', (char const )'a', (char const )'y',
8182 (char const )' ', (char const )'i', (char const )'n', (char const )' ',
8183 (char const )'s', (char const )'e', (char const )'c', (char const )'o',
8184 (char const )'n', (char const )'d', (char const )'s', (char const )'.',
8185 (char const )' ', (char const )'D', (char const )'e', (char const )'f',
8186 (char const )'a', (char const )'u', (char const )'l', (char const )'t',
8187 (char const )' ', (char const )'1', (char const )' ', (char const )'(',
8188 (char const )'0', (char const )'-', (char const )'1', (char const )'8',
8189 (char const )'0', (char const )')', (char const )'\000'};
8190#line 578
8191static void set_safe_settings(void) __attribute__((__section__(".devinit.text"),
8192__no_instrument_function__)) ;
8193#line 578
8194static void set_safe_settings(void) __attribute__((__section__(".devinit.text"),
8195__no_instrument_function__)) ;
8196#line 578 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8197static void set_safe_settings(void)
8198{ int i ;
8199
8200 {
8201#line 580
8202 if (use_safe_settings) {
8203 {
8204#line 584
8205 printk("<6>dc395x: Using safe settings.\n");
8206#line 585
8207 i = 0;
8208 }
8209 {
8210#line 585
8211 while (1) {
8212 while_continue: ;
8213
8214#line 585
8215 if (i < 6) {
8216
8217 } else {
8218#line 585
8219 goto while_break;
8220 }
8221#line 587
8222 cfg_data[i].value = cfg_data[i].safe;
8223#line 585
8224 i = i + 1;
8225 }
8226 while_break___0: ;
8227 }
8228
8229 while_break: ;
8230 } else {
8231
8232 }
8233#line 590
8234 return;
8235}
8236}
8237#line 597
8238static void fix_settings(void) __attribute__((__section__(".devinit.text"), __no_instrument_function__)) ;
8239#line 597
8240static void fix_settings(void) __attribute__((__section__(".devinit.text"), __no_instrument_function__)) ;
8241#line 597 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8242static void fix_settings(void)
8243{ int i ;
8244
8245 {
8246 {
8247#line 601
8248 while (1) {
8249 while_continue: ;
8250
8251#line 601
8252 goto while_break;
8253 }
8254 while_break___1: ;
8255 }
8256
8257 while_break:
8258#line 610
8259 i = 0;
8260 {
8261#line 610
8262 while (1) {
8263 while_continue___0: ;
8264
8265#line 610
8266 if (i < 6) {
8267
8268 } else {
8269#line 610
8270 goto while_break___0;
8271 }
8272#line 612
8273 if (cfg_data[i].value < cfg_data[i].min) {
8274#line 614
8275 cfg_data[i].value = cfg_data[i].def;
8276 } else
8277#line 612
8278 if (cfg_data[i].value > cfg_data[i].max) {
8279#line 614
8280 cfg_data[i].value = cfg_data[i].def;
8281 } else {
8282
8283 }
8284#line 610
8285 i = i + 1;
8286 }
8287 while_break___2: ;
8288 }
8289
8290 while_break___0: ;
8291#line 616
8292 return;
8293}
8294}
8295#line 624 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8296static char eeprom_index_to_delay_map[8] __attribute__((__section__(".devinit.data"))) =
8297#line 624
8298 { (char)1, (char)3, (char)5, (char)10,
8299 (char)16, (char)30, (char)60, (char)120};
8300#line 634
8301static void eeprom_index_to_delay(struct NvRamType *eeprom ) __attribute__((__section__(".devinit.text"),
8302__no_instrument_function__)) ;
8303#line 634
8304static void eeprom_index_to_delay(struct NvRamType *eeprom ) __attribute__((__section__(".devinit.text"),
8305__no_instrument_function__)) ;
8306#line 634 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8307static void eeprom_index_to_delay(struct NvRamType *eeprom )
8308{
8309
8310 {
8311#line 636
8312 eeprom->delay_time = (u8 )eeprom_index_to_delay_map[eeprom->delay_time];
8313#line 637
8314 return;
8315}
8316}
8317#line 647
8318static int delay_to_eeprom_index(int delay ) __attribute__((__section__(".devinit.text"),
8319__no_instrument_function__)) ;
8320#line 647
8321static int delay_to_eeprom_index(int delay ) __attribute__((__section__(".devinit.text"),
8322__no_instrument_function__)) ;
8323#line 647 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8324static int delay_to_eeprom_index(int delay )
8325{ u8 idx ;
8326 int __cil_tmp3 ;
8327 int __cil_tmp4 ;
8328 int __cil_tmp5 ;
8329 int __cil_tmp6 ;
8330
8331 {
8332#line 649
8333 idx = (u8 )0;
8334 {
8335#line 650
8336 while (1) {
8337 while_continue: ;
8338
8339 {
8340#line 650
8341 __cil_tmp3 = (int )idx;
8342#line 650
8343 if (__cil_tmp3 < 7) {
8344 {
8345#line 650
8346 __cil_tmp4 = (int )eeprom_index_to_delay_map[idx];
8347#line 650
8348 if (__cil_tmp4 < delay) {
8349
8350 } else {
8351#line 650
8352 goto while_break;
8353 }
8354 }
8355 } else {
8356#line 650
8357 goto while_break;
8358 }
8359 }
8360#line 651
8361 __cil_tmp5 = (int )idx;
8362#line 651
8363 __cil_tmp6 = __cil_tmp5 + 1;
8364#line 651
8365 idx = (u8 )__cil_tmp6;
8366 }
8367 while_break___0: ;
8368 }
8369
8370 while_break: ;
8371#line 652
8372 return ((int )idx);
8373}
8374}
8375#line 663
8376static void eeprom_override(struct NvRamType *eeprom ) __attribute__((__section__(".devinit.text"),
8377__no_instrument_function__)) ;
8378#line 663
8379static void eeprom_override(struct NvRamType *eeprom ) __attribute__((__section__(".devinit.text"),
8380__no_instrument_function__)) ;
8381#line 663 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8382static void eeprom_override(struct NvRamType *eeprom )
8383{ u8 id ;
8384 int tmp___7 ;
8385 int __cil_tmp4 ;
8386 int __cil_tmp5 ;
8387 int __cil_tmp6 ;
8388
8389 {
8390#line 668
8391 if (cfg_data[0].value != -1) {
8392#line 669
8393 eeprom->scsi_id = (u8 )cfg_data[0].value;
8394 } else {
8395
8396 }
8397#line 671
8398 if (cfg_data[3].value != -1) {
8399#line 672
8400 eeprom->channel_cfg = (u8 )cfg_data[3].value;
8401 } else {
8402
8403 }
8404#line 674
8405 if (cfg_data[5].value != -1) {
8406 {
8407#line 675
8408 tmp___7 = delay_to_eeprom_index(cfg_data[5].value);
8409#line 675
8410 eeprom->delay_time = (u8 )tmp___7;
8411 }
8412 } else {
8413
8414 }
8415#line 678
8416 if (cfg_data[4].value != -1) {
8417#line 679
8418 eeprom->max_tag = (u8 )cfg_data[4].value;
8419 } else {
8420
8421 }
8422#line 682
8423 id = (u8 )0;
8424 {
8425#line 682
8426 while (1) {
8427 while_continue: ;
8428
8429 {
8430#line 682
8431 __cil_tmp4 = (int )id;
8432#line 682
8433 if (__cil_tmp4 < 16) {
8434
8435 } else {
8436#line 682
8437 goto while_break;
8438 }
8439 }
8440#line 683
8441 if (cfg_data[2].value != -1) {
8442#line 684
8443 eeprom->target[id].cfg0 = (u8 )cfg_data[2].value;
8444 } else {
8445
8446 }
8447#line 687
8448 if (cfg_data[1].value != -1) {
8449#line 688
8450 eeprom->target[id].period = (u8 )cfg_data[1].value;
8451 } else {
8452
8453 }
8454#line 682
8455 __cil_tmp5 = (int )id;
8456#line 682
8457 __cil_tmp6 = __cil_tmp5 + 1;
8458#line 682
8459 id = (u8 )__cil_tmp6;
8460 }
8461 while_break___0: ;
8462 }
8463
8464 while_break: ;
8465#line 692
8466 return;
8467}
8468}
8469#line 698 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8470static unsigned int list_size(struct list_head *head )
8471{ unsigned int count ;
8472 struct list_head *pos ;
8473 unsigned long __cil_tmp4 ;
8474 unsigned long __cil_tmp5 ;
8475
8476 {
8477#line 700
8478 count = 0U;
8479#line 702
8480 pos = head->next;
8481 {
8482#line 702
8483 while (1) {
8484 while_continue: ;
8485
8486 {
8487#line 702
8488 __cil_tmp4 = (unsigned long )head;
8489#line 702
8490 __cil_tmp5 = (unsigned long )pos;
8491#line 702
8492 if (__cil_tmp5 != __cil_tmp4) {
8493
8494 } else {
8495#line 702
8496 goto while_break;
8497 }
8498 }
8499#line 703
8500 count = count + 1U;
8501#line 702
8502 pos = pos->next;
8503 }
8504 while_break___0: ;
8505 }
8506
8507 while_break: ;
8508#line 704
8509 return (count);
8510}
8511}
8512#line 708 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8513static struct DeviceCtlBlk *dcb_get_next(struct list_head *head , struct DeviceCtlBlk *pos )
8514{ int use_next ;
8515 struct DeviceCtlBlk *next ;
8516 struct DeviceCtlBlk *i ;
8517 int tmp___7 ;
8518 struct list_head const *__mptr ;
8519 struct list_head const *__mptr___0 ;
8520 struct list_head const *__mptr___1 ;
8521 struct list_head const *__mptr___2 ;
8522 void *__cil_tmp11 ;
8523 struct list_head const *__cil_tmp12 ;
8524 void *__cil_tmp13 ;
8525 struct list_head *__cil_tmp14 ;
8526 struct DeviceCtlBlk *__cil_tmp15 ;
8527 struct list_head *__cil_tmp16 ;
8528 unsigned int __cil_tmp17 ;
8529 char *__cil_tmp18 ;
8530 char *__cil_tmp19 ;
8531 unsigned long __cil_tmp20 ;
8532 struct list_head *__cil_tmp21 ;
8533 unsigned long __cil_tmp22 ;
8534 unsigned long __cil_tmp23 ;
8535 unsigned long __cil_tmp24 ;
8536 struct list_head *__cil_tmp25 ;
8537 struct DeviceCtlBlk *__cil_tmp26 ;
8538 struct list_head *__cil_tmp27 ;
8539 unsigned int __cil_tmp28 ;
8540 char *__cil_tmp29 ;
8541 char *__cil_tmp30 ;
8542 struct list_head *__cil_tmp31 ;
8543 struct DeviceCtlBlk *__cil_tmp32 ;
8544 struct list_head *__cil_tmp33 ;
8545 unsigned int __cil_tmp34 ;
8546 char *__cil_tmp35 ;
8547 char *__cil_tmp36 ;
8548 unsigned long __cil_tmp37 ;
8549 struct list_head *__cil_tmp38 ;
8550 unsigned long __cil_tmp39 ;
8551 struct list_head *__cil_tmp40 ;
8552 struct DeviceCtlBlk *__cil_tmp41 ;
8553 struct list_head *__cil_tmp42 ;
8554 unsigned int __cil_tmp43 ;
8555 char *__cil_tmp44 ;
8556 char *__cil_tmp45 ;
8557
8558 {
8559 {
8560#line 711
8561 use_next = 0;
8562#line 712
8563 __cil_tmp11 = (void *)0;
8564#line 712
8565 next = (struct DeviceCtlBlk *)__cil_tmp11;
8566#line 715
8567 __cil_tmp12 = (struct list_head const *)head;
8568#line 715
8569 tmp___7 = list_empty(__cil_tmp12);
8570 }
8571#line 715
8572 if (tmp___7) {
8573 {
8574#line 716
8575 __cil_tmp13 = (void *)0;
8576#line 716
8577 return ((struct DeviceCtlBlk *)__cil_tmp13);
8578 }
8579 } else {
8580
8581 }
8582#line 719
8583 __cil_tmp14 = head->next;
8584#line 719
8585 __mptr = (struct list_head const *)__cil_tmp14;
8586#line 719
8587 __cil_tmp15 = (struct DeviceCtlBlk *)0;
8588#line 719
8589 __cil_tmp16 = & __cil_tmp15->list;
8590#line 719
8591 __cil_tmp17 = (unsigned int )__cil_tmp16;
8592#line 719
8593 __cil_tmp18 = (char *)__mptr;
8594#line 719
8595 __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
8596#line 719
8597 i = (struct DeviceCtlBlk *)__cil_tmp19;
8598 {
8599#line 719
8600 while (1) {
8601 while_continue: ;
8602
8603 {
8604#line 719
8605 __cil_tmp20 = (unsigned long )head;
8606#line 719
8607 __cil_tmp21 = & i->list;
8608#line 719
8609 __cil_tmp22 = (unsigned long )__cil_tmp21;
8610#line 719
8611 if (__cil_tmp22 != __cil_tmp20) {
8612
8613 } else {
8614#line 719
8615 goto while_break;
8616 }
8617 }
8618#line 720
8619 if (use_next) {
8620#line 721
8621 next = i;
8622#line 722
8623 goto while_break;
8624 } else {
8625 {
8626#line 723
8627 __cil_tmp23 = (unsigned long )pos;
8628#line 723
8629 __cil_tmp24 = (unsigned long )i;
8630#line 723
8631 if (__cil_tmp24 == __cil_tmp23) {
8632#line 724
8633 use_next = 1;
8634 } else {
8635
8636 }
8637 }
8638 }
8639#line 719
8640 __cil_tmp25 = i->list.next;
8641#line 719
8642 __mptr___0 = (struct list_head const *)__cil_tmp25;
8643#line 719
8644 __cil_tmp26 = (struct DeviceCtlBlk *)0;
8645#line 719
8646 __cil_tmp27 = & __cil_tmp26->list;
8647#line 719
8648 __cil_tmp28 = (unsigned int )__cil_tmp27;
8649#line 719
8650 __cil_tmp29 = (char *)__mptr___0;
8651#line 719
8652 __cil_tmp30 = __cil_tmp29 - __cil_tmp28;
8653#line 719
8654 i = (struct DeviceCtlBlk *)__cil_tmp30;
8655 }
8656 while_break___1: ;
8657 }
8658
8659 while_break: ;
8660#line 727
8661 if (! next) {
8662#line 728
8663 __cil_tmp31 = head->next;
8664#line 728
8665 __mptr___1 = (struct list_head const *)__cil_tmp31;
8666#line 728
8667 __cil_tmp32 = (struct DeviceCtlBlk *)0;
8668#line 728
8669 __cil_tmp33 = & __cil_tmp32->list;
8670#line 728
8671 __cil_tmp34 = (unsigned int )__cil_tmp33;
8672#line 728
8673 __cil_tmp35 = (char *)__mptr___1;
8674#line 728
8675 __cil_tmp36 = __cil_tmp35 - __cil_tmp34;
8676#line 728
8677 i = (struct DeviceCtlBlk *)__cil_tmp36;
8678 {
8679#line 728
8680 while (1) {
8681 while_continue___0: ;
8682
8683 {
8684#line 728
8685 __cil_tmp37 = (unsigned long )head;
8686#line 728
8687 __cil_tmp38 = & i->list;
8688#line 728
8689 __cil_tmp39 = (unsigned long )__cil_tmp38;
8690#line 728
8691 if (__cil_tmp39 != __cil_tmp37) {
8692
8693 } else {
8694#line 728
8695 goto while_break___0;
8696 }
8697 }
8698#line 729
8699 next = i;
8700#line 730
8701 goto while_break___0;
8702#line 728
8703 __cil_tmp40 = i->list.next;
8704#line 728
8705 __mptr___2 = (struct list_head const *)__cil_tmp40;
8706#line 728
8707 __cil_tmp41 = (struct DeviceCtlBlk *)0;
8708#line 728
8709 __cil_tmp42 = & __cil_tmp41->list;
8710#line 728
8711 __cil_tmp43 = (unsigned int )__cil_tmp42;
8712#line 728
8713 __cil_tmp44 = (char *)__mptr___2;
8714#line 728
8715 __cil_tmp45 = __cil_tmp44 - __cil_tmp43;
8716#line 728
8717 i = (struct DeviceCtlBlk *)__cil_tmp45;
8718 }
8719 while_break___2: ;
8720 }
8721
8722 while_break___0: ;
8723 } else {
8724
8725 }
8726#line 733
8727 return (next);
8728}
8729}
8730#line 737 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8731static void free_tag(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
8732{ u8 __cil_tmp3 ;
8733 int __cil_tmp4 ;
8734 u8 __cil_tmp5 ;
8735 int __cil_tmp6 ;
8736 int __cil_tmp7 ;
8737 int __cil_tmp8 ;
8738 unsigned int __cil_tmp9 ;
8739 u32 __cil_tmp10 ;
8740
8741 {
8742 {
8743#line 739
8744 __cil_tmp3 = srb->tag_number;
8745#line 739
8746 __cil_tmp4 = (int )__cil_tmp3;
8747#line 739
8748 if (__cil_tmp4 < 255) {
8749#line 740
8750 __cil_tmp5 = srb->tag_number;
8751#line 740
8752 __cil_tmp6 = (int )__cil_tmp5;
8753#line 740
8754 __cil_tmp7 = 1 << __cil_tmp6;
8755#line 740
8756 __cil_tmp8 = ~ __cil_tmp7;
8757#line 740
8758 __cil_tmp9 = (unsigned int )__cil_tmp8;
8759#line 740
8760 __cil_tmp10 = dcb->tag_mask;
8761#line 740
8762 dcb->tag_mask = __cil_tmp10 & __cil_tmp9;
8763#line 741
8764 srb->tag_number = (u8 )255;
8765 } else {
8766
8767 }
8768 }
8769#line 743
8770 return;
8771}
8772}
8773#line 747 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8774__inline static struct ScsiReqBlk *find_cmd(struct scsi_cmnd *cmd , struct list_head *head )
8775{ struct ScsiReqBlk *i ;
8776 struct list_head const *__mptr ;
8777 struct list_head const *__mptr___0 ;
8778 struct list_head *__cil_tmp6 ;
8779 struct ScsiReqBlk *__cil_tmp7 ;
8780 struct list_head *__cil_tmp8 ;
8781 unsigned int __cil_tmp9 ;
8782 char *__cil_tmp10 ;
8783 char *__cil_tmp11 ;
8784 unsigned long __cil_tmp12 ;
8785 struct list_head *__cil_tmp13 ;
8786 unsigned long __cil_tmp14 ;
8787 unsigned long __cil_tmp15 ;
8788 struct scsi_cmnd *__cil_tmp16 ;
8789 unsigned long __cil_tmp17 ;
8790 struct list_head *__cil_tmp18 ;
8791 struct ScsiReqBlk *__cil_tmp19 ;
8792 struct list_head *__cil_tmp20 ;
8793 unsigned int __cil_tmp21 ;
8794 char *__cil_tmp22 ;
8795 char *__cil_tmp23 ;
8796 void *__cil_tmp24 ;
8797
8798 {
8799#line 751
8800 __cil_tmp6 = head->next;
8801#line 751
8802 __mptr = (struct list_head const *)__cil_tmp6;
8803#line 751
8804 __cil_tmp7 = (struct ScsiReqBlk *)0;
8805#line 751
8806 __cil_tmp8 = & __cil_tmp7->list;
8807#line 751
8808 __cil_tmp9 = (unsigned int )__cil_tmp8;
8809#line 751
8810 __cil_tmp10 = (char *)__mptr;
8811#line 751
8812 __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
8813#line 751
8814 i = (struct ScsiReqBlk *)__cil_tmp11;
8815 {
8816#line 751
8817 while (1) {
8818 while_continue: ;
8819
8820 {
8821#line 751
8822 __cil_tmp12 = (unsigned long )head;
8823#line 751
8824 __cil_tmp13 = & i->list;
8825#line 751
8826 __cil_tmp14 = (unsigned long )__cil_tmp13;
8827#line 751
8828 if (__cil_tmp14 != __cil_tmp12) {
8829
8830 } else {
8831#line 751
8832 goto while_break;
8833 }
8834 }
8835 {
8836#line 752
8837 __cil_tmp15 = (unsigned long )cmd;
8838#line 752
8839 __cil_tmp16 = i->cmd;
8840#line 752
8841 __cil_tmp17 = (unsigned long )__cil_tmp16;
8842#line 752
8843 if (__cil_tmp17 == __cil_tmp15) {
8844#line 753
8845 return (i);
8846 } else {
8847
8848 }
8849 }
8850#line 751
8851 __cil_tmp18 = i->list.next;
8852#line 751
8853 __mptr___0 = (struct list_head const *)__cil_tmp18;
8854#line 751
8855 __cil_tmp19 = (struct ScsiReqBlk *)0;
8856#line 751
8857 __cil_tmp20 = & __cil_tmp19->list;
8858#line 751
8859 __cil_tmp21 = (unsigned int )__cil_tmp20;
8860#line 751
8861 __cil_tmp22 = (char *)__mptr___0;
8862#line 751
8863 __cil_tmp23 = __cil_tmp22 - __cil_tmp21;
8864#line 751
8865 i = (struct ScsiReqBlk *)__cil_tmp23;
8866 }
8867 while_break___0: ;
8868 }
8869
8870 while_break: ;
8871 {
8872#line 754
8873 __cil_tmp24 = (void *)0;
8874#line 754
8875 return ((struct ScsiReqBlk *)__cil_tmp24);
8876 }
8877}
8878}
8879#line 758 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8880static struct ScsiReqBlk *srb_get_free(struct AdapterCtlBlk *acb )
8881{ struct list_head *head ;
8882 struct ScsiReqBlk *srb ;
8883 struct list_head const *__mptr ;
8884 int tmp___7 ;
8885 void *__cil_tmp6 ;
8886 struct list_head const *__cil_tmp7 ;
8887 struct list_head *__cil_tmp8 ;
8888 struct ScsiReqBlk *__cil_tmp9 ;
8889 struct list_head *__cil_tmp10 ;
8890 unsigned int __cil_tmp11 ;
8891 char *__cil_tmp12 ;
8892 char *__cil_tmp13 ;
8893 struct list_head *__cil_tmp14 ;
8894
8895 {
8896 {
8897#line 760
8898 head = & acb->srb_free_list;
8899#line 761
8900 __cil_tmp6 = (void *)0;
8901#line 761
8902 srb = (struct ScsiReqBlk *)__cil_tmp6;
8903#line 763
8904 __cil_tmp7 = (struct list_head const *)head;
8905#line 763
8906 tmp___7 = list_empty(__cil_tmp7);
8907 }
8908#line 763
8909 if (tmp___7) {
8910
8911 } else {
8912 {
8913#line 764
8914 __cil_tmp8 = head->next;
8915#line 764
8916 __mptr = (struct list_head const *)__cil_tmp8;
8917#line 764
8918 __cil_tmp9 = (struct ScsiReqBlk *)0;
8919#line 764
8920 __cil_tmp10 = & __cil_tmp9->list;
8921#line 764
8922 __cil_tmp11 = (unsigned int )__cil_tmp10;
8923#line 764
8924 __cil_tmp12 = (char *)__mptr;
8925#line 764
8926 __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
8927#line 764
8928 srb = (struct ScsiReqBlk *)__cil_tmp13;
8929#line 765
8930 __cil_tmp14 = head->next;
8931#line 765
8932 list_del(__cil_tmp14);
8933 }
8934 {
8935#line 766
8936 while (1) {
8937 while_continue: ;
8938
8939#line 766
8940 goto while_break;
8941 }
8942 while_break___0: ;
8943 }
8944
8945 while_break: ;
8946 }
8947#line 768
8948 return (srb);
8949}
8950}
8951#line 772 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8952static void srb_free_insert(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
8953{ struct list_head *__cil_tmp3 ;
8954 struct list_head *__cil_tmp4 ;
8955
8956 {
8957 {
8958#line 774
8959 while (1) {
8960 while_continue: ;
8961
8962#line 774
8963 goto while_break;
8964 }
8965 while_break___0: ;
8966 }
8967
8968 while_break:
8969 {
8970#line 775
8971 __cil_tmp3 = & srb->list;
8972#line 775
8973 __cil_tmp4 = & acb->srb_free_list;
8974#line 775
8975 list_add_tail(__cil_tmp3, __cil_tmp4);
8976 }
8977#line 776
8978 return;
8979}
8980}
8981#line 779 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
8982static void srb_waiting_insert(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
8983{ struct list_head *__cil_tmp3 ;
8984 struct list_head *__cil_tmp4 ;
8985
8986 {
8987 {
8988#line 782
8989 while (1) {
8990 while_continue: ;
8991
8992#line 782
8993 goto while_break;
8994 }
8995 while_break___0: ;
8996 }
8997
8998 while_break:
8999 {
9000#line 784
9001 __cil_tmp3 = & srb->list;
9002#line 784
9003 __cil_tmp4 = & dcb->srb_waiting_list;
9004#line 784
9005 list_add(__cil_tmp3, __cil_tmp4);
9006 }
9007#line 785
9008 return;
9009}
9010}
9011#line 788 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9012static void srb_waiting_append(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
9013{ struct list_head *__cil_tmp3 ;
9014 struct list_head *__cil_tmp4 ;
9015
9016 {
9017 {
9018#line 791
9019 while (1) {
9020 while_continue: ;
9021
9022#line 791
9023 goto while_break;
9024 }
9025 while_break___0: ;
9026 }
9027
9028 while_break:
9029 {
9030#line 793
9031 __cil_tmp3 = & srb->list;
9032#line 793
9033 __cil_tmp4 = & dcb->srb_waiting_list;
9034#line 793
9035 list_add_tail(__cil_tmp3, __cil_tmp4);
9036 }
9037#line 794
9038 return;
9039}
9040}
9041#line 797 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9042static void srb_going_append(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
9043{ struct list_head *__cil_tmp3 ;
9044 struct list_head *__cil_tmp4 ;
9045
9046 {
9047 {
9048#line 799
9049 while (1) {
9050 while_continue: ;
9051
9052#line 799
9053 goto while_break;
9054 }
9055 while_break___0: ;
9056 }
9057
9058 while_break:
9059 {
9060#line 801
9061 __cil_tmp3 = & srb->list;
9062#line 801
9063 __cil_tmp4 = & dcb->srb_going_list;
9064#line 801
9065 list_add_tail(__cil_tmp3, __cil_tmp4);
9066 }
9067#line 802
9068 return;
9069}
9070}
9071#line 805 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9072static void srb_going_remove(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
9073{ struct ScsiReqBlk *i ;
9074 struct ScsiReqBlk *tmp___7 ;
9075 struct list_head const *__mptr ;
9076 struct list_head const *__mptr___0 ;
9077 struct list_head const *__mptr___1 ;
9078 struct list_head *__cil_tmp8 ;
9079 struct ScsiReqBlk *__cil_tmp9 ;
9080 struct list_head *__cil_tmp10 ;
9081 unsigned int __cil_tmp11 ;
9082 char *__cil_tmp12 ;
9083 char *__cil_tmp13 ;
9084 struct list_head *__cil_tmp14 ;
9085 struct ScsiReqBlk *__cil_tmp15 ;
9086 struct list_head *__cil_tmp16 ;
9087 unsigned int __cil_tmp17 ;
9088 char *__cil_tmp18 ;
9089 char *__cil_tmp19 ;
9090 struct list_head *__cil_tmp20 ;
9091 unsigned long __cil_tmp21 ;
9092 struct list_head *__cil_tmp22 ;
9093 unsigned long __cil_tmp23 ;
9094 unsigned long __cil_tmp24 ;
9095 unsigned long __cil_tmp25 ;
9096 struct list_head *__cil_tmp26 ;
9097 struct list_head *__cil_tmp27 ;
9098 struct ScsiReqBlk *__cil_tmp28 ;
9099 struct list_head *__cil_tmp29 ;
9100 unsigned int __cil_tmp30 ;
9101 char *__cil_tmp31 ;
9102 char *__cil_tmp32 ;
9103
9104 {
9105 {
9106#line 809
9107 while (1) {
9108 while_continue: ;
9109
9110#line 809
9111 goto while_break;
9112 }
9113 while_break___1: ;
9114 }
9115
9116 while_break:
9117#line 812
9118 __cil_tmp8 = dcb->srb_going_list.next;
9119#line 812
9120 __mptr = (struct list_head const *)__cil_tmp8;
9121#line 812
9122 __cil_tmp9 = (struct ScsiReqBlk *)0;
9123#line 812
9124 __cil_tmp10 = & __cil_tmp9->list;
9125#line 812
9126 __cil_tmp11 = (unsigned int )__cil_tmp10;
9127#line 812
9128 __cil_tmp12 = (char *)__mptr;
9129#line 812
9130 __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
9131#line 812
9132 i = (struct ScsiReqBlk *)__cil_tmp13;
9133#line 812
9134 __cil_tmp14 = i->list.next;
9135#line 812
9136 __mptr___0 = (struct list_head const *)__cil_tmp14;
9137#line 812
9138 __cil_tmp15 = (struct ScsiReqBlk *)0;
9139#line 812
9140 __cil_tmp16 = & __cil_tmp15->list;
9141#line 812
9142 __cil_tmp17 = (unsigned int )__cil_tmp16;
9143#line 812
9144 __cil_tmp18 = (char *)__mptr___0;
9145#line 812
9146 __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
9147#line 812
9148 tmp___7 = (struct ScsiReqBlk *)__cil_tmp19;
9149 {
9150#line 812
9151 while (1) {
9152 while_continue___0: ;
9153
9154 {
9155#line 812
9156 __cil_tmp20 = & dcb->srb_going_list;
9157#line 812
9158 __cil_tmp21 = (unsigned long )__cil_tmp20;
9159#line 812
9160 __cil_tmp22 = & i->list;
9161#line 812
9162 __cil_tmp23 = (unsigned long )__cil_tmp22;
9163#line 812
9164 if (__cil_tmp23 != __cil_tmp21) {
9165
9166 } else {
9167#line 812
9168 goto while_break___0;
9169 }
9170 }
9171 {
9172#line 813
9173 __cil_tmp24 = (unsigned long )srb;
9174#line 813
9175 __cil_tmp25 = (unsigned long )i;
9176#line 813
9177 if (__cil_tmp25 == __cil_tmp24) {
9178 {
9179#line 814
9180 __cil_tmp26 = & srb->list;
9181#line 814
9182 list_del(__cil_tmp26);
9183 }
9184#line 815
9185 goto while_break___0;
9186 } else {
9187
9188 }
9189 }
9190#line 812
9191 i = tmp___7;
9192#line 812
9193 __cil_tmp27 = tmp___7->list.next;
9194#line 812
9195 __mptr___1 = (struct list_head const *)__cil_tmp27;
9196#line 812
9197 __cil_tmp28 = (struct ScsiReqBlk *)0;
9198#line 812
9199 __cil_tmp29 = & __cil_tmp28->list;
9200#line 812
9201 __cil_tmp30 = (unsigned int )__cil_tmp29;
9202#line 812
9203 __cil_tmp31 = (char *)__mptr___1;
9204#line 812
9205 __cil_tmp32 = __cil_tmp31 - __cil_tmp30;
9206#line 812
9207 tmp___7 = (struct ScsiReqBlk *)__cil_tmp32;
9208 }
9209 while_break___2: ;
9210 }
9211
9212 while_break___0: ;
9213#line 817
9214 return;
9215}
9216}
9217#line 820 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9218static void srb_waiting_remove(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
9219{ struct ScsiReqBlk *i ;
9220 struct ScsiReqBlk *tmp___7 ;
9221 struct list_head const *__mptr ;
9222 struct list_head const *__mptr___0 ;
9223 struct list_head const *__mptr___1 ;
9224 struct list_head *__cil_tmp8 ;
9225 struct ScsiReqBlk *__cil_tmp9 ;
9226 struct list_head *__cil_tmp10 ;
9227 unsigned int __cil_tmp11 ;
9228 char *__cil_tmp12 ;
9229 char *__cil_tmp13 ;
9230 struct list_head *__cil_tmp14 ;
9231 struct ScsiReqBlk *__cil_tmp15 ;
9232 struct list_head *__cil_tmp16 ;
9233 unsigned int __cil_tmp17 ;
9234 char *__cil_tmp18 ;
9235 char *__cil_tmp19 ;
9236 struct list_head *__cil_tmp20 ;
9237 unsigned long __cil_tmp21 ;
9238 struct list_head *__cil_tmp22 ;
9239 unsigned long __cil_tmp23 ;
9240 unsigned long __cil_tmp24 ;
9241 unsigned long __cil_tmp25 ;
9242 struct list_head *__cil_tmp26 ;
9243 struct list_head *__cil_tmp27 ;
9244 struct ScsiReqBlk *__cil_tmp28 ;
9245 struct list_head *__cil_tmp29 ;
9246 unsigned int __cil_tmp30 ;
9247 char *__cil_tmp31 ;
9248 char *__cil_tmp32 ;
9249
9250 {
9251 {
9252#line 825
9253 while (1) {
9254 while_continue: ;
9255
9256#line 825
9257 goto while_break;
9258 }
9259 while_break___1: ;
9260 }
9261
9262 while_break:
9263#line 828
9264 __cil_tmp8 = dcb->srb_waiting_list.next;
9265#line 828
9266 __mptr = (struct list_head const *)__cil_tmp8;
9267#line 828
9268 __cil_tmp9 = (struct ScsiReqBlk *)0;
9269#line 828
9270 __cil_tmp10 = & __cil_tmp9->list;
9271#line 828
9272 __cil_tmp11 = (unsigned int )__cil_tmp10;
9273#line 828
9274 __cil_tmp12 = (char *)__mptr;
9275#line 828
9276 __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
9277#line 828
9278 i = (struct ScsiReqBlk *)__cil_tmp13;
9279#line 828
9280 __cil_tmp14 = i->list.next;
9281#line 828
9282 __mptr___0 = (struct list_head const *)__cil_tmp14;
9283#line 828
9284 __cil_tmp15 = (struct ScsiReqBlk *)0;
9285#line 828
9286 __cil_tmp16 = & __cil_tmp15->list;
9287#line 828
9288 __cil_tmp17 = (unsigned int )__cil_tmp16;
9289#line 828
9290 __cil_tmp18 = (char *)__mptr___0;
9291#line 828
9292 __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
9293#line 828
9294 tmp___7 = (struct ScsiReqBlk *)__cil_tmp19;
9295 {
9296#line 828
9297 while (1) {
9298 while_continue___0: ;
9299
9300 {
9301#line 828
9302 __cil_tmp20 = & dcb->srb_waiting_list;
9303#line 828
9304 __cil_tmp21 = (unsigned long )__cil_tmp20;
9305#line 828
9306 __cil_tmp22 = & i->list;
9307#line 828
9308 __cil_tmp23 = (unsigned long )__cil_tmp22;
9309#line 828
9310 if (__cil_tmp23 != __cil_tmp21) {
9311
9312 } else {
9313#line 828
9314 goto while_break___0;
9315 }
9316 }
9317 {
9318#line 829
9319 __cil_tmp24 = (unsigned long )srb;
9320#line 829
9321 __cil_tmp25 = (unsigned long )i;
9322#line 829
9323 if (__cil_tmp25 == __cil_tmp24) {
9324 {
9325#line 830
9326 __cil_tmp26 = & srb->list;
9327#line 830
9328 list_del(__cil_tmp26);
9329 }
9330#line 831
9331 goto while_break___0;
9332 } else {
9333
9334 }
9335 }
9336#line 828
9337 i = tmp___7;
9338#line 828
9339 __cil_tmp27 = tmp___7->list.next;
9340#line 828
9341 __mptr___1 = (struct list_head const *)__cil_tmp27;
9342#line 828
9343 __cil_tmp28 = (struct ScsiReqBlk *)0;
9344#line 828
9345 __cil_tmp29 = & __cil_tmp28->list;
9346#line 828
9347 __cil_tmp30 = (unsigned int )__cil_tmp29;
9348#line 828
9349 __cil_tmp31 = (char *)__mptr___1;
9350#line 828
9351 __cil_tmp32 = __cil_tmp31 - __cil_tmp30;
9352#line 828
9353 tmp___7 = (struct ScsiReqBlk *)__cil_tmp32;
9354 }
9355 while_break___2: ;
9356 }
9357
9358 while_break___0: ;
9359#line 833
9360 return;
9361}
9362}
9363#line 836 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9364static void srb_going_to_waiting_move(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
9365{ struct list_head *__cil_tmp3 ;
9366 struct list_head *__cil_tmp4 ;
9367
9368 {
9369 {
9370#line 839
9371 while (1) {
9372 while_continue: ;
9373
9374#line 839
9375 goto while_break;
9376 }
9377 while_break___0: ;
9378 }
9379
9380 while_break:
9381 {
9382#line 842
9383 __cil_tmp3 = & srb->list;
9384#line 842
9385 __cil_tmp4 = & dcb->srb_waiting_list;
9386#line 842
9387 list_move(__cil_tmp3, __cil_tmp4);
9388 }
9389#line 843
9390 return;
9391}
9392}
9393#line 846 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9394static void srb_waiting_to_going_move(struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
9395{ struct list_head *__cil_tmp3 ;
9396 struct list_head *__cil_tmp4 ;
9397
9398 {
9399 {
9400#line 849
9401 while (1) {
9402 while_continue: ;
9403
9404#line 849
9405 goto while_break;
9406 }
9407 while_break___0: ;
9408 }
9409
9410 while_break:
9411 {
9412#line 852
9413 __cil_tmp3 = & srb->list;
9414#line 852
9415 __cil_tmp4 = & dcb->srb_going_list;
9416#line 852
9417 list_move(__cil_tmp3, __cil_tmp4);
9418 }
9419#line 853
9420 return;
9421}
9422}
9423#line 861 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9424static struct lock_class_key __key___5 ;
9425#line 857 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9426static void waiting_set_timer(struct AdapterCtlBlk *acb , unsigned long to )
9427{ int tmp___7 ;
9428 struct timer_list *__cil_tmp4 ;
9429 struct timer_list const *__cil_tmp5 ;
9430 struct timer_list *__cil_tmp6 ;
9431 struct Scsi_Host *__cil_tmp7 ;
9432 unsigned long __cil_tmp8 ;
9433 unsigned long __cil_tmp9 ;
9434 long __cil_tmp10 ;
9435 unsigned long volatile __cil_tmp11 ;
9436 unsigned long volatile __cil_tmp12 ;
9437 long __cil_tmp13 ;
9438 long __cil_tmp14 ;
9439 struct Scsi_Host *__cil_tmp15 ;
9440 unsigned long __cil_tmp16 ;
9441 unsigned long __cil_tmp17 ;
9442 unsigned long volatile __cil_tmp18 ;
9443 unsigned long volatile __cil_tmp19 ;
9444 unsigned long volatile __cil_tmp20 ;
9445 unsigned long volatile __cil_tmp21 ;
9446 struct timer_list *__cil_tmp22 ;
9447
9448 {
9449 {
9450#line 859
9451 __cil_tmp4 = & acb->waiting_timer;
9452#line 859
9453 __cil_tmp5 = (struct timer_list const *)__cil_tmp4;
9454#line 859
9455 tmp___7 = timer_pending(__cil_tmp5);
9456 }
9457#line 859
9458 if (tmp___7) {
9459#line 860
9460 return;
9461 } else {
9462
9463 }
9464 {
9465#line 861
9466 while (1) {
9467 while_continue: ;
9468 {
9469#line 861
9470 __cil_tmp6 = & acb->waiting_timer;
9471#line 861
9472 init_timer_key(__cil_tmp6, "&acb->waiting_timer", & __key___5);
9473 }
9474#line 861
9475 goto while_break;
9476 }
9477 while_break___0: ;
9478 }
9479
9480 while_break:
9481#line 862
9482 acb->waiting_timer.function = & waiting_timeout;
9483#line 863
9484 acb->waiting_timer.data = (unsigned long )acb;
9485 {
9486#line 864
9487 __cil_tmp7 = acb->scsi_host;
9488#line 864
9489 __cil_tmp8 = __cil_tmp7->last_reset;
9490#line 864
9491 __cil_tmp9 = __cil_tmp8 - 125UL;
9492#line 864
9493 __cil_tmp10 = (long )__cil_tmp9;
9494#line 864
9495 __cil_tmp11 = (unsigned long volatile )to;
9496#line 864
9497 __cil_tmp12 = jiffies + __cil_tmp11;
9498#line 864
9499 __cil_tmp13 = (long )__cil_tmp12;
9500#line 864
9501 __cil_tmp14 = __cil_tmp13 - __cil_tmp10;
9502#line 864
9503 if (__cil_tmp14 < 0L) {
9504#line 865
9505 __cil_tmp15 = acb->scsi_host;
9506#line 865
9507 __cil_tmp16 = __cil_tmp15->last_reset;
9508#line 865
9509 __cil_tmp17 = __cil_tmp16 - 125UL;
9510#line 865
9511 acb->waiting_timer.expires = __cil_tmp17 + 1UL;
9512 } else {
9513#line 868
9514 __cil_tmp18 = (unsigned long volatile )1;
9515#line 868
9516 __cil_tmp19 = (unsigned long volatile )to;
9517#line 868
9518 __cil_tmp20 = jiffies + __cil_tmp19;
9519#line 868
9520 __cil_tmp21 = __cil_tmp20 + __cil_tmp18;
9521#line 868
9522 acb->waiting_timer.expires = (unsigned long )__cil_tmp21;
9523 }
9524 }
9525 {
9526#line 869
9527 __cil_tmp22 = & acb->waiting_timer;
9528#line 869
9529 add_timer(__cil_tmp22);
9530 }
9531#line 870
9532 return;
9533}
9534}
9535#line 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9536static void waiting_process_next(struct AdapterCtlBlk *acb )
9537{ struct DeviceCtlBlk *start ;
9538 struct DeviceCtlBlk *pos ;
9539 struct DeviceCtlBlk *dcb ;
9540 struct ScsiReqBlk *srb ;
9541 struct list_head *dcb_list_head ;
9542 int tmp___7 ;
9543 int tmp___8 ;
9544 struct list_head const *__mptr ;
9545 struct list_head const *__mptr___0 ;
9546 struct list_head const *__mptr___1 ;
9547 struct list_head *waiting_list_head ;
9548 struct list_head const *__mptr___2 ;
9549 u8 tmp___9 ;
9550 int tmp___10 ;
9551 unsigned int tmp___11 ;
9552 void *__cil_tmp17 ;
9553 u8 __cil_tmp18 ;
9554 int __cil_tmp19 ;
9555 struct timer_list *__cil_tmp20 ;
9556 struct timer_list const *__cil_tmp21 ;
9557 struct timer_list *__cil_tmp22 ;
9558 struct list_head const *__cil_tmp23 ;
9559 struct list_head *__cil_tmp24 ;
9560 struct DeviceCtlBlk *__cil_tmp25 ;
9561 struct list_head *__cil_tmp26 ;
9562 unsigned int __cil_tmp27 ;
9563 char *__cil_tmp28 ;
9564 char *__cil_tmp29 ;
9565 unsigned long __cil_tmp30 ;
9566 struct list_head *__cil_tmp31 ;
9567 unsigned long __cil_tmp32 ;
9568 struct DeviceCtlBlk *__cil_tmp33 ;
9569 unsigned long __cil_tmp34 ;
9570 unsigned long __cil_tmp35 ;
9571 struct list_head *__cil_tmp36 ;
9572 struct DeviceCtlBlk *__cil_tmp37 ;
9573 struct list_head *__cil_tmp38 ;
9574 unsigned int __cil_tmp39 ;
9575 char *__cil_tmp40 ;
9576 char *__cil_tmp41 ;
9577 struct list_head *__cil_tmp42 ;
9578 struct DeviceCtlBlk *__cil_tmp43 ;
9579 struct list_head *__cil_tmp44 ;
9580 unsigned int __cil_tmp45 ;
9581 char *__cil_tmp46 ;
9582 char *__cil_tmp47 ;
9583 struct DeviceCtlBlk *__cil_tmp48 ;
9584 struct list_head const *__cil_tmp49 ;
9585 struct list_head *__cil_tmp50 ;
9586 u16 __cil_tmp51 ;
9587 unsigned int __cil_tmp52 ;
9588 struct list_head *__cil_tmp53 ;
9589 struct ScsiReqBlk *__cil_tmp54 ;
9590 struct list_head *__cil_tmp55 ;
9591 unsigned int __cil_tmp56 ;
9592 char *__cil_tmp57 ;
9593 char *__cil_tmp58 ;
9594 unsigned long __cil_tmp59 ;
9595 unsigned long __cil_tmp60 ;
9596
9597 {
9598#line 876
9599 __cil_tmp17 = (void *)0;
9600#line 876
9601 start = (struct DeviceCtlBlk *)__cil_tmp17;
9602#line 880
9603 dcb_list_head = & acb->dcb_list;
9604#line 882
9605 if (acb->active_dcb) {
9606#line 884
9607 return;
9608 } else {
9609 {
9610#line 882
9611 __cil_tmp18 = acb->acb_flag;
9612#line 882
9613 __cil_tmp19 = (int )__cil_tmp18;
9614#line 882
9615 if (__cil_tmp19 & 7) {
9616#line 884
9617 return;
9618 } else {
9619
9620 }
9621 }
9622 }
9623 {
9624#line 886
9625 __cil_tmp20 = & acb->waiting_timer;
9626#line 886
9627 __cil_tmp21 = (struct timer_list const *)__cil_tmp20;
9628#line 886
9629 tmp___7 = timer_pending(__cil_tmp21);
9630 }
9631#line 886
9632 if (tmp___7) {
9633 {
9634#line 887
9635 __cil_tmp22 = & acb->waiting_timer;
9636#line 887
9637 del_timer(__cil_tmp22);
9638 }
9639 } else {
9640
9641 }
9642 {
9643#line 889
9644 __cil_tmp23 = (struct list_head const *)dcb_list_head;
9645#line 889
9646 tmp___8 = list_empty(__cil_tmp23);
9647 }
9648#line 889
9649 if (tmp___8) {
9650#line 890
9651 return;
9652 } else {
9653
9654 }
9655#line 896
9656 __cil_tmp24 = dcb_list_head->next;
9657#line 896
9658 __mptr = (struct list_head const *)__cil_tmp24;
9659#line 896
9660 __cil_tmp25 = (struct DeviceCtlBlk *)0;
9661#line 896
9662 __cil_tmp26 = & __cil_tmp25->list;
9663#line 896
9664 __cil_tmp27 = (unsigned int )__cil_tmp26;
9665#line 896
9666 __cil_tmp28 = (char *)__mptr;
9667#line 896
9668 __cil_tmp29 = __cil_tmp28 - __cil_tmp27;
9669#line 896
9670 dcb = (struct DeviceCtlBlk *)__cil_tmp29;
9671 {
9672#line 896
9673 while (1) {
9674 while_continue: ;
9675
9676 {
9677#line 896
9678 __cil_tmp30 = (unsigned long )dcb_list_head;
9679#line 896
9680 __cil_tmp31 = & dcb->list;
9681#line 896
9682 __cil_tmp32 = (unsigned long )__cil_tmp31;
9683#line 896
9684 if (__cil_tmp32 != __cil_tmp30) {
9685
9686 } else {
9687#line 896
9688 goto while_break;
9689 }
9690 }
9691 {
9692#line 897
9693 __cil_tmp33 = acb->dcb_run_robin;
9694#line 897
9695 __cil_tmp34 = (unsigned long )__cil_tmp33;
9696#line 897
9697 __cil_tmp35 = (unsigned long )dcb;
9698#line 897
9699 if (__cil_tmp35 == __cil_tmp34) {
9700#line 898
9701 start = dcb;
9702#line 899
9703 goto while_break;
9704 } else {
9705
9706 }
9707 }
9708#line 896
9709 __cil_tmp36 = dcb->list.next;
9710#line 896
9711 __mptr___0 = (struct list_head const *)__cil_tmp36;
9712#line 896
9713 __cil_tmp37 = (struct DeviceCtlBlk *)0;
9714#line 896
9715 __cil_tmp38 = & __cil_tmp37->list;
9716#line 896
9717 __cil_tmp39 = (unsigned int )__cil_tmp38;
9718#line 896
9719 __cil_tmp40 = (char *)__mptr___0;
9720#line 896
9721 __cil_tmp41 = __cil_tmp40 - __cil_tmp39;
9722#line 896
9723 dcb = (struct DeviceCtlBlk *)__cil_tmp41;
9724 }
9725 while_break___1: ;
9726 }
9727
9728 while_break: ;
9729#line 901
9730 if (! start) {
9731#line 903
9732 __cil_tmp42 = dcb_list_head->next;
9733#line 903
9734 __mptr___1 = (struct list_head const *)__cil_tmp42;
9735#line 903
9736 __cil_tmp43 = (struct DeviceCtlBlk *)0;
9737#line 903
9738 __cil_tmp44 = & __cil_tmp43->list;
9739#line 903
9740 __cil_tmp45 = (unsigned int )__cil_tmp44;
9741#line 903
9742 __cil_tmp46 = (char *)__mptr___1;
9743#line 903
9744 __cil_tmp47 = __cil_tmp46 - __cil_tmp45;
9745#line 903
9746 start = (struct DeviceCtlBlk *)__cil_tmp47;
9747#line 904
9748 acb->dcb_run_robin = start;
9749 } else {
9750
9751 }
9752#line 912
9753 pos = start;
9754 {
9755#line 913
9756 while (1) {
9757 while_continue___0: ;
9758 {
9759#line 914
9760 waiting_list_head = & pos->srb_waiting_list;
9761#line 917
9762 __cil_tmp48 = acb->dcb_run_robin;
9763#line 917
9764 acb->dcb_run_robin = dcb_get_next(dcb_list_head, __cil_tmp48);
9765#line 920
9766 __cil_tmp49 = (struct list_head const *)waiting_list_head;
9767#line 920
9768 tmp___10 = list_empty(__cil_tmp49);
9769 }
9770#line 920
9771 if (tmp___10) {
9772 {
9773#line 923
9774 pos = dcb_get_next(dcb_list_head, pos);
9775 }
9776 } else {
9777 {
9778#line 920
9779 __cil_tmp50 = & pos->srb_going_list;
9780#line 920
9781 tmp___11 = list_size(__cil_tmp50);
9782 }
9783 {
9784#line 920
9785 __cil_tmp51 = pos->max_command;
9786#line 920
9787 __cil_tmp52 = (unsigned int )__cil_tmp51;
9788#line 920
9789 if (__cil_tmp52 <= tmp___11) {
9790 {
9791#line 923
9792 pos = dcb_get_next(dcb_list_head, pos);
9793 }
9794 } else {
9795 {
9796#line 925
9797 __cil_tmp53 = waiting_list_head->next;
9798#line 925
9799 __mptr___2 = (struct list_head const *)__cil_tmp53;
9800#line 925
9801 __cil_tmp54 = (struct ScsiReqBlk *)0;
9802#line 925
9803 __cil_tmp55 = & __cil_tmp54->list;
9804#line 925
9805 __cil_tmp56 = (unsigned int )__cil_tmp55;
9806#line 925
9807 __cil_tmp57 = (char *)__mptr___2;
9808#line 925
9809 __cil_tmp58 = __cil_tmp57 - __cil_tmp56;
9810#line 925
9811 srb = (struct ScsiReqBlk *)__cil_tmp58;
9812#line 929
9813 tmp___9 = start_scsi(acb, pos, srb);
9814 }
9815#line 929
9816 if (tmp___9) {
9817 {
9818#line 932
9819 waiting_set_timer(acb, 5UL);
9820 }
9821 } else {
9822 {
9823#line 930
9824 srb_waiting_to_going_move(pos, srb);
9825 }
9826 }
9827#line 933
9828 goto while_break___0;
9829 }
9830 }
9831 }
9832 {
9833#line 913
9834 __cil_tmp59 = (unsigned long )start;
9835#line 913
9836 __cil_tmp60 = (unsigned long )pos;
9837#line 913
9838 if (__cil_tmp60 != __cil_tmp59) {
9839
9840 } else {
9841#line 913
9842 goto while_break___0;
9843 }
9844 }
9845 }
9846 while_break___2: ;
9847 }
9848
9849 while_break___0: ;
9850#line 936
9851 return;
9852}
9853}
9854#line 940 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9855static void waiting_timeout(unsigned long ptr )
9856{ unsigned long flags ;
9857 struct AdapterCtlBlk *acb ;
9858 raw_spinlock_t *tmp___7 ;
9859 struct Scsi_Host *__cil_tmp5 ;
9860 spinlock_t *__cil_tmp6 ;
9861 struct Scsi_Host *__cil_tmp7 ;
9862 spinlock_t *__cil_tmp8 ;
9863
9864 {
9865#line 943
9866 acb = (struct AdapterCtlBlk *)ptr;
9867 {
9868#line 944
9869 while (1) {
9870 while_continue: ;
9871
9872#line 944
9873 goto while_break;
9874 }
9875 while_break___2: ;
9876 }
9877
9878 while_break: ;
9879 {
9880#line 946
9881 while (1) {
9882 while_continue___0: ;
9883
9884 {
9885#line 946
9886 while (1) {
9887 while_continue___1: ;
9888 {
9889#line 946
9890 __cil_tmp5 = acb->scsi_host;
9891#line 946
9892 __cil_tmp6 = __cil_tmp5->host_lock;
9893#line 946
9894 tmp___7 = spinlock_check(__cil_tmp6);
9895#line 946
9896 flags = _raw_spin_lock_irqsave(tmp___7);
9897 }
9898#line 946
9899 goto while_break___1;
9900 }
9901 while_break___4: ;
9902 }
9903
9904 while_break___1: ;
9905#line 946
9906 goto while_break___0;
9907 }
9908 while_break___3: ;
9909 }
9910
9911 while_break___0:
9912 {
9913#line 947
9914 waiting_process_next(acb);
9915#line 948
9916 __cil_tmp7 = acb->scsi_host;
9917#line 948
9918 __cil_tmp8 = __cil_tmp7->host_lock;
9919#line 948
9920 spin_unlock_irqrestore(__cil_tmp8, flags);
9921 }
9922#line 949
9923 return;
9924}
9925}
9926#line 953 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9927static struct DeviceCtlBlk *find_dcb(struct AdapterCtlBlk *acb , u8 id , u8 lun )
9928{
9929
9930 {
9931#line 955
9932 return (acb->children[id][lun]);
9933}
9934}
9935#line 960 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
9936static void send_srb(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
9937{ struct DeviceCtlBlk *dcb ;
9938 unsigned int tmp___7 ;
9939 u8 tmp___8 ;
9940 struct list_head *__cil_tmp6 ;
9941 u16 __cil_tmp7 ;
9942 unsigned int __cil_tmp8 ;
9943 u8 __cil_tmp9 ;
9944 int __cil_tmp10 ;
9945
9946 {
9947 {
9948#line 962
9949 dcb = srb->dcb;
9950#line 964
9951 __cil_tmp6 = & dcb->srb_going_list;
9952#line 964
9953 tmp___7 = list_size(__cil_tmp6);
9954 }
9955 {
9956#line 964
9957 __cil_tmp7 = dcb->max_command;
9958#line 964
9959 __cil_tmp8 = (unsigned int )__cil_tmp7;
9960#line 964
9961 if (__cil_tmp8 <= tmp___7) {
9962 {
9963#line 967
9964 srb_waiting_append(dcb, srb);
9965#line 968
9966 waiting_process_next(acb);
9967 }
9968#line 969
9969 return;
9970 } else
9971#line 964
9972 if (acb->active_dcb) {
9973 {
9974#line 967
9975 srb_waiting_append(dcb, srb);
9976#line 968
9977 waiting_process_next(acb);
9978 }
9979#line 969
9980 return;
9981 } else {
9982 {
9983#line 964
9984 __cil_tmp9 = acb->acb_flag;
9985#line 964
9986 __cil_tmp10 = (int )__cil_tmp9;
9987#line 964
9988 if (__cil_tmp10 & 7) {
9989 {
9990#line 967
9991 srb_waiting_append(dcb, srb);
9992#line 968
9993 waiting_process_next(acb);
9994 }
9995#line 969
9996 return;
9997 } else {
9998
9999 }
10000 }
10001 }
10002 }
10003 {
10004#line 972
10005 tmp___8 = start_scsi(acb, dcb, srb);
10006 }
10007#line 972
10008 if (tmp___8) {
10009 {
10010#line 975
10011 srb_waiting_insert(dcb, srb);
10012#line 976
10013 waiting_set_timer(acb, 5UL);
10014 }
10015 } else {
10016 {
10017#line 973
10018 srb_going_append(dcb, srb);
10019 }
10020 }
10021#line 978
10022 return;
10023}
10024}
10025#line 981 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10026static void build_srb(struct scsi_cmnd *cmd , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
10027{ int nseg ;
10028 enum dma_data_direction dir ;
10029 long tmp___7 ;
10030 int i ;
10031 u32 reqlen ;
10032 unsigned int tmp___8 ;
10033 struct scatterlist *sg ;
10034 struct SGentry *sgp ;
10035 u32 busaddr ;
10036 u32 seglen ;
10037 int __cil_tmp14 ;
10038 int __cil_tmp15 ;
10039 int __cil_tmp16 ;
10040 long __cil_tmp17 ;
10041 unsigned int __cil_tmp18 ;
10042 u8 __cil_tmp19 ;
10043 int __cil_tmp20 ;
10044 dma_addr_t __cil_tmp21 ;
10045 struct SGentry *__cil_tmp22 ;
10046 struct SGentry *__cil_tmp23 ;
10047 size_t __cil_tmp24 ;
10048 size_t __cil_tmp25 ;
10049 u8 __cil_tmp26 ;
10050 int __cil_tmp27 ;
10051 int __cil_tmp28 ;
10052 size_t __cil_tmp29 ;
10053 size_t __cil_tmp30 ;
10054 size_t __cil_tmp31 ;
10055 size_t __cil_tmp32 ;
10056 size_t __cil_tmp33 ;
10057 u32 __cil_tmp34 ;
10058 size_t __cil_tmp35 ;
10059 size_t __cil_tmp36 ;
10060 u8 __cil_tmp37 ;
10061 int __cil_tmp38 ;
10062 size_t __cil_tmp39 ;
10063 size_t __cil_tmp40 ;
10064 u32 __cil_tmp41 ;
10065 struct AdapterCtlBlk *__cil_tmp42 ;
10066 struct pci_dev *__cil_tmp43 ;
10067 struct SGentry *__cil_tmp44 ;
10068 void *__cil_tmp45 ;
10069 unsigned long __cil_tmp46 ;
10070
10071 {
10072#line 985
10073 dir = cmd->sc_data_direction;
10074 {
10075#line 986
10076 while (1) {
10077 while_continue: ;
10078
10079#line 986
10080 goto while_break;
10081 }
10082 while_break___7: ;
10083 }
10084
10085 while_break:
10086 {
10087#line 989
10088 srb->dcb = dcb;
10089#line 990
10090 srb->cmd = cmd;
10091#line 991
10092 srb->sg_count = (u8 )0;
10093#line 992
10094 srb->total_xfer_length = (size_t )0;
10095#line 993
10096 srb->sg_bus_addr = (dma_addr_t )0;
10097#line 994
10098 srb->sg_index = (u8 )0;
10099#line 995
10100 srb->adapter_status = (u8 )0;
10101#line 996
10102 srb->target_status = (u8 )0;
10103#line 997
10104 srb->msg_count = (u8 )0;
10105#line 998
10106 srb->status = (u8 )0;
10107#line 999
10108 srb->flag = (u8 )0;
10109#line 1000
10110 srb->state = (u16 )0;
10111#line 1001
10112 srb->retry_count = (u8 )0;
10113#line 1002
10114 srb->tag_number = (u8 )255;
10115#line 1003
10116 srb->scsi_phase = (u8 )5;
10117#line 1004
10118 srb->end_message = (u8 )0;
10119#line 1006
10120 nseg = scsi_dma_map(cmd);
10121 }
10122 {
10123#line 1007
10124 while (1) {
10125 while_continue___0: ;
10126 {
10127#line 1007
10128 __cil_tmp14 = nseg < 0;
10129#line 1007
10130 __cil_tmp15 = ! __cil_tmp14;
10131#line 1007
10132 __cil_tmp16 = ! __cil_tmp15;
10133#line 1007
10134 __cil_tmp17 = (long )__cil_tmp16;
10135#line 1007
10136 tmp___7 = __builtin_expect(__cil_tmp17, 0L);
10137 }
10138#line 1007
10139 if (tmp___7) {
10140 {
10141#line 1007
10142 while (1) {
10143 while_continue___1: ;
10144#line 1007
10145 __asm__ volatile ("1:\tud2\n"
10146 ".pushsection __bug_table,\"a\"\n"
10147 "2:\t.long 1b - 2b, %c0 - 2b\n"
10148 "\t.word %c1, 0\n"
10149 "\t.org 2b+%c2\n"
10150 ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"),
10151 "i" (1007), "i" (12UL));
10152 {
10153#line 1007
10154 while (1) {
10155 while_continue___2: ;
10156
10157 }
10158 while_break___10: ;
10159 }
10160
10161#line 1007
10162 goto while_break___1;
10163 }
10164 while_break___9: ;
10165 }
10166
10167 while_break___1: ;
10168 } else {
10169
10170 }
10171#line 1007
10172 goto while_break___0;
10173 }
10174 while_break___8: ;
10175 }
10176
10177 while_break___0: ;
10178 {
10179#line 1009
10180 __cil_tmp18 = (unsigned int )dir;
10181#line 1009
10182 if (__cil_tmp18 == 3U) {
10183#line 1009
10184 goto _L;
10185 } else
10186#line 1009
10187 if (! nseg) {
10188 _L:
10189 {
10190#line 1010
10191 while (1) {
10192 while_continue___3: ;
10193
10194#line 1010
10195 goto while_break___3;
10196 }
10197 while_break___11: ;
10198 }
10199
10200 while_break___3: ;
10201 } else {
10202 {
10203#line 1016
10204 tmp___8 = scsi_bufflen(cmd);
10205#line 1016
10206 reqlen = tmp___8;
10207#line 1018
10208 sgp = srb->segment_x;
10209#line 1020
10210 srb->sg_count = (u8 )nseg;
10211 }
10212 {
10213#line 1022
10214 while (1) {
10215 while_continue___4: ;
10216
10217#line 1022
10218 goto while_break___4;
10219 }
10220 while_break___12: ;
10221 }
10222
10223 while_break___4:
10224 {
10225#line 1027
10226 i = 0;
10227#line 1027
10228 sg = scsi_sglist(cmd);
10229 }
10230 {
10231#line 1027
10232 while (1) {
10233 while_continue___5: ;
10234
10235 {
10236#line 1027
10237 __cil_tmp19 = srb->sg_count;
10238#line 1027
10239 __cil_tmp20 = (int )__cil_tmp19;
10240#line 1027
10241 if (i < __cil_tmp20) {
10242
10243 } else {
10244#line 1027
10245 goto while_break___5;
10246 }
10247 }
10248 {
10249#line 1028
10250 __cil_tmp21 = sg->dma_address;
10251#line 1028
10252 busaddr = (u32 )__cil_tmp21;
10253#line 1029
10254 seglen = sg->length;
10255#line 1030
10256 __cil_tmp22 = sgp + i;
10257#line 1030
10258 __cil_tmp22->address = busaddr;
10259#line 1031
10260 __cil_tmp23 = sgp + i;
10261#line 1031
10262 __cil_tmp23->length = seglen;
10263#line 1032
10264 __cil_tmp24 = (size_t )seglen;
10265#line 1032
10266 __cil_tmp25 = srb->total_xfer_length;
10267#line 1032
10268 srb->total_xfer_length = __cil_tmp25 + __cil_tmp24;
10269#line 1027
10270 i = i + 1;
10271#line 1027
10272 sg = sg_next(sg);
10273 }
10274 }
10275 while_break___13: ;
10276 }
10277
10278 while_break___5:
10279#line 1034
10280 __cil_tmp26 = srb->sg_count;
10281#line 1034
10282 __cil_tmp27 = (int )__cil_tmp26;
10283#line 1034
10284 __cil_tmp28 = __cil_tmp27 - 1;
10285#line 1034
10286 sgp = sgp + __cil_tmp28;
10287 {
10288#line 1040
10289 __cil_tmp29 = (size_t )reqlen;
10290#line 1040
10291 __cil_tmp30 = srb->total_xfer_length;
10292#line 1040
10293 if (__cil_tmp30 > __cil_tmp29) {
10294#line 1041
10295 __cil_tmp31 = (size_t )reqlen;
10296#line 1041
10297 __cil_tmp32 = srb->total_xfer_length;
10298#line 1041
10299 __cil_tmp33 = __cil_tmp32 - __cil_tmp31;
10300#line 1041
10301 __cil_tmp34 = sgp->length;
10302#line 1041
10303 __cil_tmp35 = (size_t )__cil_tmp34;
10304#line 1041
10305 __cil_tmp36 = __cil_tmp35 - __cil_tmp33;
10306#line 1041
10307 sgp->length = (u32 )__cil_tmp36;
10308#line 1042
10309 srb->total_xfer_length = (size_t )reqlen;
10310 } else {
10311
10312 }
10313 }
10314 {
10315#line 1046
10316 __cil_tmp37 = dcb->sync_period;
10317#line 1046
10318 __cil_tmp38 = (int )__cil_tmp37;
10319#line 1046
10320 if (__cil_tmp38 & 16) {
10321 {
10322#line 1046
10323 __cil_tmp39 = srb->total_xfer_length;
10324#line 1046
10325 if (__cil_tmp39 % 2UL) {
10326#line 1048
10327 __cil_tmp40 = srb->total_xfer_length;
10328#line 1048
10329 srb->total_xfer_length = __cil_tmp40 + 1UL;
10330#line 1049
10331 __cil_tmp41 = sgp->length;
10332#line 1049
10333 sgp->length = __cil_tmp41 + 1U;
10334 } else {
10335
10336 }
10337 }
10338 } else {
10339
10340 }
10341 }
10342 {
10343#line 1052
10344 __cil_tmp42 = dcb->acb;
10345#line 1052
10346 __cil_tmp43 = __cil_tmp42->dev;
10347#line 1052
10348 __cil_tmp44 = srb->segment_x;
10349#line 1052
10350 __cil_tmp45 = (void *)__cil_tmp44;
10351#line 1052
10352 __cil_tmp46 = 8UL * 64UL;
10353#line 1052
10354 srb->sg_bus_addr = pci_map_single(__cil_tmp43, __cil_tmp45, __cil_tmp46, 1);
10355 }
10356 {
10357#line 1057
10358 while (1) {
10359 while_continue___6: ;
10360
10361#line 1057
10362 goto while_break___6;
10363 }
10364 while_break___14: ;
10365 }
10366
10367 while_break___6: ;
10368 }
10369 }
10370#line 1061
10371 srb->request_length = srb->total_xfer_length;
10372#line 1062
10373 return;
10374}
10375}
10376#line 1084 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10377static int dc395x_queue_command_lck(struct scsi_cmnd *cmd , void (*done)(struct scsi_cmnd * ) )
10378{ struct DeviceCtlBlk *dcb ;
10379 struct ScsiReqBlk *srb ;
10380 struct AdapterCtlBlk *acb ;
10381 int tmp___7 ;
10382 struct scsi_device *__cil_tmp7 ;
10383 struct Scsi_Host *__cil_tmp8 ;
10384 unsigned long *__cil_tmp9 ;
10385 struct Scsi_Host *__cil_tmp10 ;
10386 unsigned int __cil_tmp11 ;
10387 struct scsi_device *__cil_tmp12 ;
10388 unsigned int __cil_tmp13 ;
10389 struct Scsi_Host *__cil_tmp14 ;
10390 unsigned int __cil_tmp15 ;
10391 struct scsi_device *__cil_tmp16 ;
10392 unsigned int __cil_tmp17 ;
10393 struct scsi_device *__cil_tmp18 ;
10394 unsigned int __cil_tmp19 ;
10395 struct scsi_device *__cil_tmp20 ;
10396 unsigned int __cil_tmp21 ;
10397 int __cil_tmp22 ;
10398 u8 __cil_tmp23 ;
10399 int __cil_tmp24 ;
10400 int __cil_tmp25 ;
10401 struct scsi_device *__cil_tmp26 ;
10402 unsigned int __cil_tmp27 ;
10403 struct scsi_device *__cil_tmp28 ;
10404 unsigned int __cil_tmp29 ;
10405 struct scsi_device *__cil_tmp30 ;
10406 unsigned int __cil_tmp31 ;
10407 u8 __cil_tmp32 ;
10408 struct scsi_device *__cil_tmp33 ;
10409 unsigned int __cil_tmp34 ;
10410 u8 __cil_tmp35 ;
10411 struct scsi_device *__cil_tmp36 ;
10412 unsigned int __cil_tmp37 ;
10413 struct scsi_device *__cil_tmp38 ;
10414 unsigned int __cil_tmp39 ;
10415 struct list_head *__cil_tmp40 ;
10416 struct list_head const *__cil_tmp41 ;
10417
10418 {
10419#line 1088
10420 __cil_tmp7 = cmd->device;
10421#line 1088
10422 __cil_tmp8 = __cil_tmp7->host;
10423#line 1088
10424 __cil_tmp9 = & __cil_tmp8->hostdata[0];
10425#line 1088
10426 acb = (struct AdapterCtlBlk *)__cil_tmp9;
10427 {
10428#line 1090
10429 while (1) {
10430 while_continue: ;
10431
10432#line 1090
10433 goto while_break;
10434 }
10435 while_break___2: ;
10436 }
10437
10438 while_break:
10439#line 1094
10440 cmd->result = 4 << 16;
10441 {
10442#line 1097
10443 __cil_tmp10 = acb->scsi_host;
10444#line 1097
10445 __cil_tmp11 = __cil_tmp10->max_id;
10446#line 1097
10447 __cil_tmp12 = cmd->device;
10448#line 1097
10449 __cil_tmp13 = __cil_tmp12->id;
10450#line 1097
10451 if (__cil_tmp13 >= __cil_tmp11) {
10452#line 1100
10453 goto complete;
10454 } else {
10455 {
10456#line 1097
10457 __cil_tmp14 = acb->scsi_host;
10458#line 1097
10459 __cil_tmp15 = __cil_tmp14->max_lun;
10460#line 1097
10461 __cil_tmp16 = cmd->device;
10462#line 1097
10463 __cil_tmp17 = __cil_tmp16->lun;
10464#line 1097
10465 if (__cil_tmp17 >= __cil_tmp15) {
10466#line 1100
10467 goto complete;
10468 } else {
10469 {
10470#line 1097
10471 __cil_tmp18 = cmd->device;
10472#line 1097
10473 __cil_tmp19 = __cil_tmp18->lun;
10474#line 1097
10475 if (__cil_tmp19 > 31U) {
10476#line 1100
10477 goto complete;
10478 } else {
10479
10480 }
10481 }
10482 }
10483 }
10484 }
10485 }
10486 {
10487#line 1104
10488 __cil_tmp20 = cmd->device;
10489#line 1104
10490 __cil_tmp21 = __cil_tmp20->lun;
10491#line 1104
10492 __cil_tmp22 = 1 << __cil_tmp21;
10493#line 1104
10494 __cil_tmp23 = acb->dcb_map[(cmd->device)->id];
10495#line 1104
10496 __cil_tmp24 = (int )__cil_tmp23;
10497#line 1104
10498 __cil_tmp25 = __cil_tmp24 & __cil_tmp22;
10499#line 1104
10500 if (! __cil_tmp25) {
10501 {
10502#line 1105
10503 __cil_tmp26 = cmd->device;
10504#line 1105
10505 __cil_tmp27 = __cil_tmp26->id;
10506#line 1105
10507 __cil_tmp28 = cmd->device;
10508#line 1105
10509 __cil_tmp29 = __cil_tmp28->lun;
10510#line 1105
10511 printk("<6>dc395x: queue_command: Ignore target <%02i-%i>\n", __cil_tmp27, __cil_tmp29);
10512 }
10513#line 1107
10514 goto complete;
10515 } else {
10516
10517 }
10518 }
10519 {
10520#line 1111
10521 __cil_tmp30 = cmd->device;
10522#line 1111
10523 __cil_tmp31 = __cil_tmp30->id;
10524#line 1111
10525 __cil_tmp32 = (u8 )__cil_tmp31;
10526#line 1111
10527 __cil_tmp33 = cmd->device;
10528#line 1111
10529 __cil_tmp34 = __cil_tmp33->lun;
10530#line 1111
10531 __cil_tmp35 = (u8 )__cil_tmp34;
10532#line 1111
10533 dcb = find_dcb(acb, __cil_tmp32, __cil_tmp35);
10534 }
10535#line 1112
10536 if (! dcb) {
10537 {
10538#line 1114
10539 __cil_tmp36 = cmd->device;
10540#line 1114
10541 __cil_tmp37 = __cil_tmp36->id;
10542#line 1114
10543 __cil_tmp38 = cmd->device;
10544#line 1114
10545 __cil_tmp39 = __cil_tmp38->lun;
10546#line 1114
10547 printk("<3>dc395x: queue_command: No such device <%02i-%i>", __cil_tmp37, __cil_tmp39);
10548 }
10549#line 1116
10550 goto complete;
10551 } else {
10552
10553 }
10554 {
10555#line 1120
10556 cmd->scsi_done = done;
10557#line 1121
10558 cmd->result = 0;
10559#line 1123
10560 srb = srb_get_free(acb);
10561 }
10562#line 1124
10563 if (! srb) {
10564 {
10565#line 1130
10566 while (1) {
10567 while_continue___0: ;
10568
10569#line 1130
10570 goto while_break___0;
10571 }
10572 while_break___3: ;
10573 }
10574
10575 while_break___0: ;
10576#line 1131
10577 return (1);
10578 } else {
10579
10580 }
10581 {
10582#line 1134
10583 build_srb(cmd, dcb, srb);
10584#line 1136
10585 __cil_tmp40 = & dcb->srb_waiting_list;
10586#line 1136
10587 __cil_tmp41 = (struct list_head const *)__cil_tmp40;
10588#line 1136
10589 tmp___7 = list_empty(__cil_tmp41);
10590 }
10591#line 1136
10592 if (tmp___7) {
10593 {
10594#line 1142
10595 send_srb(acb, srb);
10596 }
10597 } else {
10598 {
10599#line 1138
10600 srb_waiting_append(dcb, srb);
10601#line 1139
10602 waiting_process_next(acb);
10603 }
10604 }
10605 {
10606#line 1144
10607 while (1) {
10608 while_continue___1: ;
10609
10610#line 1144
10611 goto while_break___1;
10612 }
10613 while_break___4: ;
10614 }
10615
10616 while_break___1: ;
10617#line 1145
10618 return (0);
10619 complete:
10620 {
10621#line 1154
10622 (*done)(cmd);
10623 }
10624#line 1155
10625 return (0);
10626}
10627}
10628#line 1158 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10629static int dc395x_queue_command(struct Scsi_Host *shost , struct scsi_cmnd *cmd )
10630{ unsigned long irq_flags ;
10631 int rc ;
10632 raw_spinlock_t *tmp___7 ;
10633 spinlock_t *__cil_tmp6 ;
10634 void (*__cil_tmp7)(struct scsi_cmnd * ) ;
10635 spinlock_t *__cil_tmp8 ;
10636
10637 {
10638 {
10639#line 1158
10640 while (1) {
10641 while_continue: ;
10642
10643 {
10644#line 1158
10645 while (1) {
10646 while_continue___0: ;
10647 {
10648#line 1158
10649 __cil_tmp6 = shost->host_lock;
10650#line 1158
10651 tmp___7 = spinlock_check(__cil_tmp6);
10652#line 1158
10653 irq_flags = _raw_spin_lock_irqsave(tmp___7);
10654 }
10655#line 1158
10656 goto while_break___0;
10657 }
10658 while_break___2: ;
10659 }
10660
10661 while_break___0: ;
10662#line 1158
10663 goto while_break;
10664 }
10665 while_break___1: ;
10666 }
10667
10668 while_break:
10669 {
10670#line 1158
10671 scsi_cmd_get_serial(shost, cmd);
10672#line 1158
10673 __cil_tmp7 = cmd->scsi_done;
10674#line 1158
10675 rc = dc395x_queue_command_lck(cmd, __cil_tmp7);
10676#line 1158
10677 __cil_tmp8 = shost->host_lock;
10678#line 1158
10679 spin_unlock_irqrestore(__cil_tmp8, irq_flags);
10680 }
10681#line 1158
10682 return (rc);
10683}
10684}
10685#line 1163 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10686static int dc395x_bios_param(struct scsi_device *sdev , struct block_device *bdev ,
10687 sector_t capacity , int *info )
10688{ int tmp___7 ;
10689
10690 {
10691 {
10692#line 1187
10693 tmp___7 = scsicam_bios_param(bdev, capacity, info);
10694 }
10695#line 1187
10696 return (tmp___7);
10697}
10698}
10699#line 1192 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
10700static void dump_register_info(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ,
10701 struct ScsiReqBlk *srb )
10702{ u16 pstat ;
10703 struct pci_dev *dev ;
10704 char const *tmp___7 ;
10705 unsigned char tmp___8 ;
10706 unsigned char tmp___9 ;
10707 unsigned char tmp___10 ;
10708 unsigned short tmp___11 ;
10709 unsigned char tmp___12 ;
10710 unsigned int tmp___13 ;
10711 unsigned char tmp___14 ;
10712 unsigned char tmp___15 ;
10713 unsigned char tmp___16 ;
10714 unsigned char tmp___17 ;
10715 unsigned char tmp___18 ;
10716 unsigned char tmp___19 ;
10717 unsigned short tmp___20 ;
10718 unsigned int tmp___21 ;
10719 unsigned int tmp___22 ;
10720 unsigned int tmp___23 ;
10721 unsigned int tmp___24 ;
10722 unsigned short tmp___25 ;
10723 unsigned char tmp___26 ;
10724 unsigned char tmp___27 ;
10725 unsigned char tmp___28 ;
10726 unsigned char tmp___29 ;
10727 unsigned short tmp___30 ;
10728 unsigned char tmp___31 ;
10729 unsigned char tmp___32 ;
10730 unsigned char tmp___33 ;
10731 struct scsi_cmnd *__cil_tmp33 ;
10732 struct scsi_cmnd *__cil_tmp34 ;
10733 struct scsi_cmnd *__cil_tmp35 ;
10734 struct scsi_cmnd *__cil_tmp36 ;
10735 unsigned char *__cil_tmp37 ;
10736 unsigned char *__cil_tmp38 ;
10737 unsigned char __cil_tmp39 ;
10738 int __cil_tmp40 ;
10739 struct scsi_cmnd *__cil_tmp41 ;
10740 struct scsi_device *__cil_tmp42 ;
10741 unsigned int __cil_tmp43 ;
10742 struct scsi_cmnd *__cil_tmp44 ;
10743 struct scsi_device *__cil_tmp45 ;
10744 unsigned int __cil_tmp46 ;
10745 struct SGentry *__cil_tmp47 ;
10746 u8 __cil_tmp48 ;
10747 int __cil_tmp49 ;
10748 u8 __cil_tmp50 ;
10749 int __cil_tmp51 ;
10750 size_t __cil_tmp52 ;
10751 u16 __cil_tmp53 ;
10752 int __cil_tmp54 ;
10753 u8 __cil_tmp55 ;
10754 int __cil_tmp56 ;
10755 u8 __cil_tmp57 ;
10756 int __cil_tmp58 ;
10757 unsigned long __cil_tmp59 ;
10758 unsigned long __cil_tmp60 ;
10759 int __cil_tmp61 ;
10760 unsigned long __cil_tmp62 ;
10761 unsigned long __cil_tmp63 ;
10762 int __cil_tmp64 ;
10763 unsigned long __cil_tmp65 ;
10764 unsigned long __cil_tmp66 ;
10765 int __cil_tmp67 ;
10766 unsigned long __cil_tmp68 ;
10767 unsigned long __cil_tmp69 ;
10768 int __cil_tmp70 ;
10769 unsigned long __cil_tmp71 ;
10770 unsigned long __cil_tmp72 ;
10771 int __cil_tmp73 ;
10772 unsigned long __cil_tmp74 ;
10773 unsigned long __cil_tmp75 ;
10774 int __cil_tmp76 ;
10775 unsigned long __cil_tmp77 ;
10776 unsigned long __cil_tmp78 ;
10777 int __cil_tmp79 ;
10778 unsigned long __cil_tmp80 ;
10779 unsigned long __cil_tmp81 ;
10780 int __cil_tmp82 ;
10781 unsigned long __cil_tmp83 ;
10782 unsigned long __cil_tmp84 ;
10783 int __cil_tmp85 ;
10784 unsigned long __cil_tmp86 ;
10785 unsigned long __cil_tmp87 ;
10786 int __cil_tmp88 ;
10787 unsigned long __cil_tmp89 ;
10788 unsigned long __cil_tmp90 ;
10789 int __cil_tmp91 ;
10790 unsigned long __cil_tmp92 ;
10791 unsigned long __cil_tmp93 ;
10792 int __cil_tmp94 ;
10793 unsigned long __cil_tmp95 ;
10794 unsigned long __cil_tmp96 ;
10795 int __cil_tmp97 ;
10796 int __cil_tmp98 ;
10797 int __cil_tmp99 ;
10798 int __cil_tmp100 ;
10799 int __cil_tmp101 ;
10800 int __cil_tmp102 ;
10801 int __cil_tmp103 ;
10802 int __cil_tmp104 ;
10803 int __cil_tmp105 ;
10804 int __cil_tmp106 ;
10805 int __cil_tmp107 ;
10806 int __cil_tmp108 ;
10807 int __cil_tmp109 ;
10808 unsigned long __cil_tmp110 ;
10809 unsigned long __cil_tmp111 ;
10810 int __cil_tmp112 ;
10811 unsigned long __cil_tmp113 ;
10812 unsigned long __cil_tmp114 ;
10813 int __cil_tmp115 ;
10814 unsigned long __cil_tmp116 ;
10815 unsigned long __cil_tmp117 ;
10816 int __cil_tmp118 ;
10817 unsigned long __cil_tmp119 ;
10818 unsigned long __cil_tmp120 ;
10819 int __cil_tmp121 ;
10820 unsigned long __cil_tmp122 ;
10821 unsigned long __cil_tmp123 ;
10822 int __cil_tmp124 ;
10823 unsigned long __cil_tmp125 ;
10824 unsigned long __cil_tmp126 ;
10825 int __cil_tmp127 ;
10826 unsigned long __cil_tmp128 ;
10827 unsigned long __cil_tmp129 ;
10828 int __cil_tmp130 ;
10829 unsigned long __cil_tmp131 ;
10830 unsigned long __cil_tmp132 ;
10831 int __cil_tmp133 ;
10832 unsigned long __cil_tmp134 ;
10833 unsigned long __cil_tmp135 ;
10834 int __cil_tmp136 ;
10835 unsigned long __cil_tmp137 ;
10836 unsigned long __cil_tmp138 ;
10837 int __cil_tmp139 ;
10838 int __cil_tmp140 ;
10839 int __cil_tmp141 ;
10840 int __cil_tmp142 ;
10841 int __cil_tmp143 ;
10842 int __cil_tmp144 ;
10843 int __cil_tmp145 ;
10844 unsigned long __cil_tmp146 ;
10845 unsigned long __cil_tmp147 ;
10846 int __cil_tmp148 ;
10847 unsigned long __cil_tmp149 ;
10848 unsigned long __cil_tmp150 ;
10849 int __cil_tmp151 ;
10850 unsigned long __cil_tmp152 ;
10851 unsigned long __cil_tmp153 ;
10852 int __cil_tmp154 ;
10853 int __cil_tmp155 ;
10854 int __cil_tmp156 ;
10855 int __cil_tmp157 ;
10856 int __cil_tmp158 ;
10857
10858 {
10859 {
10860#line 1196
10861 dev = acb->dev;
10862#line 1197
10863 pci_read_config_word(dev, 6, & pstat);
10864 }
10865#line 1198
10866 if (! dcb) {
10867#line 1199
10868 dcb = acb->active_dcb;
10869 } else {
10870
10871 }
10872#line 1200
10873 if (! srb) {
10874#line 1200
10875 if (dcb) {
10876#line 1201
10877 srb = dcb->active_srb;
10878 } else {
10879
10880 }
10881 } else {
10882
10883 }
10884#line 1202
10885 if (srb) {
10886 {
10887#line 1203
10888 __cil_tmp33 = srb->cmd;
10889#line 1203
10890 if (! __cil_tmp33) {
10891 {
10892#line 1204
10893 __cil_tmp34 = srb->cmd;
10894#line 1204
10895 printk("<6>dc395x: dump: srb=%p cmd=%p OOOPS!\n", srb, __cil_tmp34);
10896 }
10897 } else {
10898 {
10899#line 1207
10900 __cil_tmp35 = srb->cmd;
10901#line 1207
10902 __cil_tmp36 = srb->cmd;
10903#line 1207
10904 __cil_tmp37 = __cil_tmp36->cmnd;
10905#line 1207
10906 __cil_tmp38 = __cil_tmp37 + 0;
10907#line 1207
10908 __cil_tmp39 = *__cil_tmp38;
10909#line 1207
10910 __cil_tmp40 = (int )__cil_tmp39;
10911#line 1207
10912 __cil_tmp41 = srb->cmd;
10913#line 1207
10914 __cil_tmp42 = __cil_tmp41->device;
10915#line 1207
10916 __cil_tmp43 = __cil_tmp42->id;
10917#line 1207
10918 __cil_tmp44 = srb->cmd;
10919#line 1207
10920 __cil_tmp45 = __cil_tmp44->device;
10921#line 1207
10922 __cil_tmp46 = __cil_tmp45->lun;
10923#line 1207
10924 printk("<6>dc395x: dump: srb=%p cmd=%p cmnd=0x%02x <%02i-%i>\n", srb, __cil_tmp35,
10925 __cil_tmp40, __cil_tmp43, __cil_tmp46);
10926 }
10927 }
10928 }
10929 {
10930#line 1212
10931 __cil_tmp47 = srb->segment_x;
10932#line 1212
10933 __cil_tmp48 = srb->sg_count;
10934#line 1212
10935 __cil_tmp49 = (int )__cil_tmp48;
10936#line 1212
10937 __cil_tmp50 = srb->sg_index;
10938#line 1212
10939 __cil_tmp51 = (int )__cil_tmp50;
10940#line 1212
10941 __cil_tmp52 = srb->total_xfer_length;
10942#line 1212
10943 printk(" sglist=%p cnt=%i idx=%i len=%zu\n", __cil_tmp47, __cil_tmp49, __cil_tmp51,
10944 __cil_tmp52);
10945 }
10946#line 1215
10947 if (acb->active_dcb) {
10948#line 1215
10949 tmp___7 = "";
10950 } else {
10951#line 1215
10952 tmp___7 = "not";
10953 }
10954 {
10955#line 1215
10956 __cil_tmp53 = srb->state;
10957#line 1215
10958 __cil_tmp54 = (int )__cil_tmp53;
10959#line 1215
10960 __cil_tmp55 = srb->status;
10961#line 1215
10962 __cil_tmp56 = (int )__cil_tmp55;
10963#line 1215
10964 __cil_tmp57 = srb->scsi_phase;
10965#line 1215
10966 __cil_tmp58 = (int )__cil_tmp57;
10967#line 1215
10968 printk(" state=0x%04x status=0x%02x phase=0x%02x (%sconn.)\n", __cil_tmp54, __cil_tmp56,
10969 __cil_tmp58, tmp___7);
10970 }
10971 } else {
10972
10973 }
10974 {
10975#line 1219
10976 __cil_tmp59 = acb->io_port_base;
10977#line 1219
10978 __cil_tmp60 = __cil_tmp59 + 145UL;
10979#line 1219
10980 __cil_tmp61 = (int )__cil_tmp60;
10981#line 1219
10982 tmp___8 = inb(__cil_tmp61);
10983#line 1219
10984 __cil_tmp62 = acb->io_port_base;
10985#line 1219
10986 __cil_tmp63 = __cil_tmp62 + 144UL;
10987#line 1219
10988 __cil_tmp64 = (int )__cil_tmp63;
10989#line 1219
10990 tmp___9 = inb(__cil_tmp64);
10991#line 1219
10992 __cil_tmp65 = acb->io_port_base;
10993#line 1219
10994 __cil_tmp66 = __cil_tmp65 + 143UL;
10995#line 1219
10996 __cil_tmp67 = (int )__cil_tmp66;
10997#line 1219
10998 tmp___10 = inb(__cil_tmp67);
10999#line 1219
11000 __cil_tmp68 = acb->io_port_base;
11001#line 1219
11002 __cil_tmp69 = __cil_tmp68 + 141UL;
11003#line 1219
11004 __cil_tmp70 = (int )__cil_tmp69;
11005#line 1219
11006 tmp___11 = inw(__cil_tmp70);
11007#line 1219
11008 __cil_tmp71 = acb->io_port_base;
11009#line 1219
11010 __cil_tmp72 = __cil_tmp71 + 140UL;
11011#line 1219
11012 __cil_tmp73 = (int )__cil_tmp72;
11013#line 1219
11014 tmp___12 = inb(__cil_tmp73);
11015#line 1219
11016 __cil_tmp74 = acb->io_port_base;
11017#line 1219
11018 __cil_tmp75 = __cil_tmp74 + 136UL;
11019#line 1219
11020 __cil_tmp76 = (int )__cil_tmp75;
11021#line 1219
11022 tmp___13 = inl(__cil_tmp76);
11023#line 1219
11024 __cil_tmp77 = acb->io_port_base;
11025#line 1219
11026 __cil_tmp78 = __cil_tmp77 + 135UL;
11027#line 1219
11028 __cil_tmp79 = (int )__cil_tmp78;
11029#line 1219
11030 tmp___14 = inb(__cil_tmp79);
11031#line 1219
11032 __cil_tmp80 = acb->io_port_base;
11033#line 1219
11034 __cil_tmp81 = __cil_tmp80 + 134UL;
11035#line 1219
11036 __cil_tmp82 = (int )__cil_tmp81;
11037#line 1219
11038 tmp___15 = inb(__cil_tmp82);
11039#line 1219
11040 __cil_tmp83 = acb->io_port_base;
11041#line 1219
11042 __cil_tmp84 = __cil_tmp83 + 133UL;
11043#line 1219
11044 __cil_tmp85 = (int )__cil_tmp84;
11045#line 1219
11046 tmp___16 = inb(__cil_tmp85);
11047#line 1219
11048 __cil_tmp86 = acb->io_port_base;
11049#line 1219
11050 __cil_tmp87 = __cil_tmp86 + 132UL;
11051#line 1219
11052 __cil_tmp88 = (int )__cil_tmp87;
11053#line 1219
11054 tmp___17 = inb(__cil_tmp88);
11055#line 1219
11056 __cil_tmp89 = acb->io_port_base;
11057#line 1219
11058 __cil_tmp90 = __cil_tmp89 + 131UL;
11059#line 1219
11060 __cil_tmp91 = (int )__cil_tmp90;
11061#line 1219
11062 tmp___18 = inb(__cil_tmp91);
11063#line 1219
11064 __cil_tmp92 = acb->io_port_base;
11065#line 1219
11066 __cil_tmp93 = __cil_tmp92 + 130UL;
11067#line 1219
11068 __cil_tmp94 = (int )__cil_tmp93;
11069#line 1219
11070 tmp___19 = inb(__cil_tmp94);
11071#line 1219
11072 __cil_tmp95 = acb->io_port_base;
11073#line 1219
11074 __cil_tmp96 = __cil_tmp95 + 128UL;
11075#line 1219
11076 __cil_tmp97 = (int )__cil_tmp96;
11077#line 1219
11078 tmp___20 = inw(__cil_tmp97);
11079#line 1219
11080 __cil_tmp98 = (int )tmp___20;
11081#line 1219
11082 __cil_tmp99 = (int )tmp___19;
11083#line 1219
11084 __cil_tmp100 = (int )tmp___18;
11085#line 1219
11086 __cil_tmp101 = (int )tmp___17;
11087#line 1219
11088 __cil_tmp102 = (int )tmp___16;
11089#line 1219
11090 __cil_tmp103 = (int )tmp___15;
11091#line 1219
11092 __cil_tmp104 = (int )tmp___14;
11093#line 1219
11094 __cil_tmp105 = (int )tmp___12;
11095#line 1219
11096 __cil_tmp106 = (int )tmp___11;
11097#line 1219
11098 __cil_tmp107 = (int )tmp___10;
11099#line 1219
11100 __cil_tmp108 = (int )tmp___9;
11101#line 1219
11102 __cil_tmp109 = (int )tmp___8;
11103#line 1219
11104 printk("<6>dc395x: dump: SCSI{status=0x%04x fifocnt=0x%02x signals=0x%02x irqstat=0x%02x sync=0x%02x target=0x%02x rselid=0x%02x ctr=0x%08x irqen=0x%02x config=0x%04x config2=0x%02x cmd=0x%02x selto=0x%02x}\n",
11105 __cil_tmp98, __cil_tmp99, __cil_tmp100, __cil_tmp101, __cil_tmp102, __cil_tmp103,
11106 __cil_tmp104, tmp___13, __cil_tmp105, __cil_tmp106, __cil_tmp107, __cil_tmp108,
11107 __cil_tmp109);
11108#line 1236
11109 __cil_tmp110 = acb->io_port_base;
11110#line 1236
11111 __cil_tmp111 = __cil_tmp110 + 176UL;
11112#line 1236
11113 __cil_tmp112 = (int )__cil_tmp111;
11114#line 1236
11115 tmp___21 = inl(__cil_tmp112);
11116#line 1236
11117 __cil_tmp113 = acb->io_port_base;
11118#line 1236
11119 __cil_tmp114 = __cil_tmp113 + 180UL;
11120#line 1236
11121 __cil_tmp115 = (int )__cil_tmp114;
11122#line 1236
11123 tmp___22 = inl(__cil_tmp115);
11124#line 1236
11125 __cil_tmp116 = acb->io_port_base;
11126#line 1236
11127 __cil_tmp117 = __cil_tmp116 + 172UL;
11128#line 1236
11129 __cil_tmp118 = (int )__cil_tmp117;
11130#line 1236
11131 tmp___23 = inl(__cil_tmp118);
11132#line 1236
11133 __cil_tmp119 = acb->io_port_base;
11134#line 1236
11135 __cil_tmp120 = __cil_tmp119 + 168UL;
11136#line 1236
11137 __cil_tmp121 = (int )__cil_tmp120;
11138#line 1236
11139 tmp___24 = inl(__cil_tmp121);
11140#line 1236
11141 __cil_tmp122 = acb->io_port_base;
11142#line 1236
11143 __cil_tmp123 = __cil_tmp122 + 166UL;
11144#line 1236
11145 __cil_tmp124 = (int )__cil_tmp123;
11146#line 1236
11147 tmp___25 = inw(__cil_tmp124);
11148#line 1236
11149 __cil_tmp125 = acb->io_port_base;
11150#line 1236
11151 __cil_tmp126 = __cil_tmp125 + 164UL;
11152#line 1236
11153 __cil_tmp127 = (int )__cil_tmp126;
11154#line 1236
11155 tmp___26 = inb(__cil_tmp127);
11156#line 1236
11157 __cil_tmp128 = acb->io_port_base;
11158#line 1236
11159 __cil_tmp129 = __cil_tmp128 + 163UL;
11160#line 1236
11161 __cil_tmp130 = (int )__cil_tmp129;
11162#line 1236
11163 tmp___27 = inb(__cil_tmp130);
11164#line 1236
11165 __cil_tmp131 = acb->io_port_base;
11166#line 1236
11167 __cil_tmp132 = __cil_tmp131 + 162UL;
11168#line 1236
11169 __cil_tmp133 = (int )__cil_tmp132;
11170#line 1236
11171 tmp___28 = inb(__cil_tmp133);
11172#line 1236
11173 __cil_tmp134 = acb->io_port_base;
11174#line 1236
11175 __cil_tmp135 = __cil_tmp134 + 161UL;
11176#line 1236
11177 __cil_tmp136 = (int )__cil_tmp135;
11178#line 1236
11179 tmp___29 = inb(__cil_tmp136);
11180#line 1236
11181 __cil_tmp137 = acb->io_port_base;
11182#line 1236
11183 __cil_tmp138 = __cil_tmp137 + 160UL;
11184#line 1236
11185 __cil_tmp139 = (int )__cil_tmp138;
11186#line 1236
11187 tmp___30 = inw(__cil_tmp139);
11188#line 1236
11189 __cil_tmp140 = (int )tmp___30;
11190#line 1236
11191 __cil_tmp141 = (int )tmp___29;
11192#line 1236
11193 __cil_tmp142 = (int )tmp___28;
11194#line 1236
11195 __cil_tmp143 = (int )tmp___27;
11196#line 1236
11197 __cil_tmp144 = (int )tmp___26;
11198#line 1236
11199 __cil_tmp145 = (int )tmp___25;
11200#line 1236
11201 printk("<6>dc395x: dump: DMA{cmd=0x%04x fifocnt=0x%02x fstat=0x%02x irqstat=0x%02x irqen=0x%02x cfg=0x%04x tctr=0x%08x ctctr=0x%08x addr=0x%08x:0x%08x}\n",
11202 __cil_tmp140, __cil_tmp141, __cil_tmp142, __cil_tmp143, __cil_tmp144, __cil_tmp145,
11203 tmp___24, tmp___23, tmp___22, tmp___21);
11204#line 1249
11205 __cil_tmp146 = acb->io_port_base;
11206#line 1249
11207 __cil_tmp147 = __cil_tmp146 + 219UL;
11208#line 1249
11209 __cil_tmp148 = (int )__cil_tmp147;
11210#line 1249
11211 tmp___31 = inb(__cil_tmp148);
11212#line 1249
11213 __cil_tmp149 = acb->io_port_base;
11214#line 1249
11215 __cil_tmp150 = __cil_tmp149 + 213UL;
11216#line 1249
11217 __cil_tmp151 = (int )__cil_tmp150;
11218#line 1249
11219 tmp___32 = inb(__cil_tmp151);
11220#line 1249
11221 __cil_tmp152 = acb->io_port_base;
11222#line 1249
11223 __cil_tmp153 = __cil_tmp152 + 212UL;
11224#line 1249
11225 __cil_tmp154 = (int )__cil_tmp153;
11226#line 1249
11227 tmp___33 = inb(__cil_tmp154);
11228#line 1249
11229 __cil_tmp155 = (int )tmp___33;
11230#line 1249
11231 __cil_tmp156 = (int )tmp___32;
11232#line 1249
11233 __cil_tmp157 = (int )tmp___31;
11234#line 1249
11235 __cil_tmp158 = (int )pstat;
11236#line 1249
11237 printk("<6>dc395x: dump: gen{gctrl=0x%02x gstat=0x%02x gtmr=0x%02x} pci{status=0x%04x}\n",
11238 __cil_tmp155, __cil_tmp156, __cil_tmp157, __cil_tmp158);
11239 }
11240#line 1255
11241 return;
11242}
11243}
11244#line 1258 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11245__inline static void clear_fifo(struct AdapterCtlBlk *acb , char *txt )
11246{ unsigned long __cil_tmp3 ;
11247 unsigned long __cil_tmp4 ;
11248 int __cil_tmp5 ;
11249
11250 {
11251 {
11252#line 1268
11253 __cil_tmp3 = acb->io_port_base;
11254#line 1268
11255 __cil_tmp4 = __cil_tmp3 + 128UL;
11256#line 1268
11257 __cil_tmp5 = (int )__cil_tmp4;
11258#line 1268
11259 outw((unsigned short)4, __cil_tmp5);
11260 }
11261#line 1269
11262 return;
11263}
11264}
11265#line 1272 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11266static void reset_dev_param(struct AdapterCtlBlk *acb )
11267{ struct DeviceCtlBlk *dcb ;
11268 struct NvRamType *eeprom ;
11269 struct list_head const *__mptr ;
11270 struct list_head const *__mptr___0 ;
11271 u8 period_index ;
11272 struct list_head *__cil_tmp7 ;
11273 struct DeviceCtlBlk *__cil_tmp8 ;
11274 struct list_head *__cil_tmp9 ;
11275 unsigned int __cil_tmp10 ;
11276 char *__cil_tmp11 ;
11277 char *__cil_tmp12 ;
11278 struct list_head *__cil_tmp13 ;
11279 unsigned long __cil_tmp14 ;
11280 struct list_head *__cil_tmp15 ;
11281 unsigned long __cil_tmp16 ;
11282 u8 __cil_tmp17 ;
11283 int __cil_tmp18 ;
11284 int __cil_tmp19 ;
11285 u8 __cil_tmp20 ;
11286 int __cil_tmp21 ;
11287 int __cil_tmp22 ;
11288 u8 __cil_tmp23 ;
11289 int __cil_tmp24 ;
11290 int __cil_tmp25 ;
11291 u8 __cil_tmp26 ;
11292 int __cil_tmp27 ;
11293 int __cil_tmp28 ;
11294 u8 __cil_tmp29 ;
11295 int __cil_tmp30 ;
11296 int __cil_tmp31 ;
11297 u8 __cil_tmp32 ;
11298 int __cil_tmp33 ;
11299 int __cil_tmp34 ;
11300 struct list_head *__cil_tmp35 ;
11301 struct DeviceCtlBlk *__cil_tmp36 ;
11302 struct list_head *__cil_tmp37 ;
11303 unsigned int __cil_tmp38 ;
11304 char *__cil_tmp39 ;
11305 char *__cil_tmp40 ;
11306
11307 {
11308#line 1275
11309 eeprom = & acb->eeprom;
11310 {
11311#line 1276
11312 while (1) {
11313 while_continue: ;
11314
11315#line 1276
11316 goto while_break;
11317 }
11318 while_break___1: ;
11319 }
11320
11321 while_break:
11322#line 1278
11323 __cil_tmp7 = acb->dcb_list.next;
11324#line 1278
11325 __mptr = (struct list_head const *)__cil_tmp7;
11326#line 1278
11327 __cil_tmp8 = (struct DeviceCtlBlk *)0;
11328#line 1278
11329 __cil_tmp9 = & __cil_tmp8->list;
11330#line 1278
11331 __cil_tmp10 = (unsigned int )__cil_tmp9;
11332#line 1278
11333 __cil_tmp11 = (char *)__mptr;
11334#line 1278
11335 __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
11336#line 1278
11337 dcb = (struct DeviceCtlBlk *)__cil_tmp12;
11338 {
11339#line 1278
11340 while (1) {
11341 while_continue___0: ;
11342
11343 {
11344#line 1278
11345 __cil_tmp13 = & acb->dcb_list;
11346#line 1278
11347 __cil_tmp14 = (unsigned long )__cil_tmp13;
11348#line 1278
11349 __cil_tmp15 = & dcb->list;
11350#line 1278
11351 __cil_tmp16 = (unsigned long )__cil_tmp15;
11352#line 1278
11353 if (__cil_tmp16 != __cil_tmp14) {
11354
11355 } else {
11356#line 1278
11357 goto while_break___0;
11358 }
11359 }
11360#line 1281
11361 __cil_tmp17 = dcb->sync_mode;
11362#line 1281
11363 __cil_tmp18 = (int )__cil_tmp17;
11364#line 1281
11365 __cil_tmp19 = __cil_tmp18 & -11;
11366#line 1281
11367 dcb->sync_mode = (u8 )__cil_tmp19;
11368#line 1282
11369 dcb->sync_period = (u8 )0;
11370#line 1283
11371 dcb->sync_offset = (u8 )0;
11372#line 1285
11373 dcb->dev_mode = eeprom->target[dcb->target_id].cfg0;
11374#line 1286
11375 __cil_tmp20 = eeprom->target[dcb->target_id].period;
11376#line 1286
11377 __cil_tmp21 = (int )__cil_tmp20;
11378#line 1286
11379 __cil_tmp22 = __cil_tmp21 & 7;
11380#line 1286
11381 period_index = (u8 )__cil_tmp22;
11382#line 1287
11383 dcb->min_nego_period = clock_period[period_index];
11384 {
11385#line 1288
11386 __cil_tmp23 = dcb->dev_mode;
11387#line 1288
11388 __cil_tmp24 = (int )__cil_tmp23;
11389#line 1288
11390 __cil_tmp25 = __cil_tmp24 & 32;
11391#line 1288
11392 if (! __cil_tmp25) {
11393#line 1290
11394 __cil_tmp26 = dcb->sync_mode;
11395#line 1290
11396 __cil_tmp27 = (int )__cil_tmp26;
11397#line 1290
11398 __cil_tmp28 = __cil_tmp27 & -5;
11399#line 1290
11400 dcb->sync_mode = (u8 )__cil_tmp28;
11401 } else {
11402 {
11403#line 1288
11404 __cil_tmp29 = acb->config;
11405#line 1288
11406 __cil_tmp30 = (int )__cil_tmp29;
11407#line 1288
11408 __cil_tmp31 = __cil_tmp30 & 32;
11409#line 1288
11410 if (! __cil_tmp31) {
11411#line 1290
11412 __cil_tmp32 = dcb->sync_mode;
11413#line 1290
11414 __cil_tmp33 = (int )__cil_tmp32;
11415#line 1290
11416 __cil_tmp34 = __cil_tmp33 & -5;
11417#line 1290
11418 dcb->sync_mode = (u8 )__cil_tmp34;
11419 } else {
11420
11421 }
11422 }
11423 }
11424 }
11425#line 1278
11426 __cil_tmp35 = dcb->list.next;
11427#line 1278
11428 __mptr___0 = (struct list_head const *)__cil_tmp35;
11429#line 1278
11430 __cil_tmp36 = (struct DeviceCtlBlk *)0;
11431#line 1278
11432 __cil_tmp37 = & __cil_tmp36->list;
11433#line 1278
11434 __cil_tmp38 = (unsigned int )__cil_tmp37;
11435#line 1278
11436 __cil_tmp39 = (char *)__mptr___0;
11437#line 1278
11438 __cil_tmp40 = __cil_tmp39 - __cil_tmp38;
11439#line 1278
11440 dcb = (struct DeviceCtlBlk *)__cil_tmp40;
11441 }
11442 while_break___2: ;
11443 }
11444
11445 while_break___0: ;
11446#line 1292
11447 return;
11448}
11449}
11450#line 1300 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11451static int __dc395x_eh_bus_reset(struct scsi_cmnd *cmd )
11452{ struct AdapterCtlBlk *acb ;
11453 int tmp___7 ;
11454 struct scsi_device *__cil_tmp4 ;
11455 struct Scsi_Host *__cil_tmp5 ;
11456 unsigned long *__cil_tmp6 ;
11457 struct scsi_device *__cil_tmp7 ;
11458 unsigned int __cil_tmp8 ;
11459 struct scsi_device *__cil_tmp9 ;
11460 unsigned int __cil_tmp10 ;
11461 struct timer_list *__cil_tmp11 ;
11462 struct timer_list const *__cil_tmp12 ;
11463 struct timer_list *__cil_tmp13 ;
11464 unsigned long __cil_tmp14 ;
11465 unsigned long __cil_tmp15 ;
11466 int __cil_tmp16 ;
11467 unsigned long __cil_tmp17 ;
11468 unsigned long __cil_tmp18 ;
11469 int __cil_tmp19 ;
11470 unsigned long __cil_tmp20 ;
11471 unsigned long __cil_tmp21 ;
11472 int __cil_tmp22 ;
11473 unsigned long __cil_tmp23 ;
11474 unsigned long __cil_tmp24 ;
11475 int __cil_tmp25 ;
11476 struct Scsi_Host *__cil_tmp26 ;
11477 u8 __cil_tmp27 ;
11478 int __cil_tmp28 ;
11479 int __cil_tmp29 ;
11480 unsigned long volatile __cil_tmp30 ;
11481 unsigned long volatile __cil_tmp31 ;
11482 unsigned long volatile __cil_tmp32 ;
11483 unsigned long volatile __cil_tmp33 ;
11484 unsigned long __cil_tmp34 ;
11485 unsigned long __cil_tmp35 ;
11486 int __cil_tmp36 ;
11487 char *__cil_tmp37 ;
11488 unsigned long __cil_tmp38 ;
11489 unsigned long __cil_tmp39 ;
11490 int __cil_tmp40 ;
11491 u8 __cil_tmp41 ;
11492 u8 __cil_tmp42 ;
11493 void *__cil_tmp43 ;
11494
11495 {
11496 {
11497#line 1302
11498 __cil_tmp4 = cmd->device;
11499#line 1302
11500 __cil_tmp5 = __cil_tmp4->host;
11501#line 1302
11502 __cil_tmp6 = & __cil_tmp5->hostdata[0];
11503#line 1302
11504 acb = (struct AdapterCtlBlk *)__cil_tmp6;
11505#line 1304
11506 __cil_tmp7 = cmd->device;
11507#line 1304
11508 __cil_tmp8 = __cil_tmp7->id;
11509#line 1304
11510 __cil_tmp9 = cmd->device;
11511#line 1304
11512 __cil_tmp10 = __cil_tmp9->lun;
11513#line 1304
11514 printk("<6>dc395x: eh_bus_reset: (0%p) target=<%02i-%i> cmd=%p\n", cmd, __cil_tmp8,
11515 __cil_tmp10, cmd);
11516#line 1308
11517 __cil_tmp11 = & acb->waiting_timer;
11518#line 1308
11519 __cil_tmp12 = (struct timer_list const *)__cil_tmp11;
11520#line 1308
11521 tmp___7 = timer_pending(__cil_tmp12);
11522 }
11523#line 1308
11524 if (tmp___7) {
11525 {
11526#line 1309
11527 __cil_tmp13 = & acb->waiting_timer;
11528#line 1309
11529 del_timer(__cil_tmp13);
11530 }
11531 } else {
11532
11533 }
11534 {
11535#line 1314
11536 __cil_tmp14 = acb->io_port_base;
11537#line 1314
11538 __cil_tmp15 = __cil_tmp14 + 164UL;
11539#line 1314
11540 __cil_tmp16 = (int )__cil_tmp15;
11541#line 1314
11542 outb((unsigned char)0, __cil_tmp16);
11543#line 1315
11544 __cil_tmp17 = acb->io_port_base;
11545#line 1315
11546 __cil_tmp18 = __cil_tmp17 + 140UL;
11547#line 1315
11548 __cil_tmp19 = (int )__cil_tmp18;
11549#line 1315
11550 outb((unsigned char)0, __cil_tmp19);
11551#line 1316
11552 __cil_tmp20 = acb->io_port_base;
11553#line 1316
11554 __cil_tmp21 = __cil_tmp20 + 128UL;
11555#line 1316
11556 __cil_tmp22 = (int )__cil_tmp21;
11557#line 1316
11558 outb((unsigned char)16, __cil_tmp22);
11559#line 1317
11560 __cil_tmp23 = acb->io_port_base;
11561#line 1317
11562 __cil_tmp24 = __cil_tmp23 + 161UL;
11563#line 1317
11564 __cil_tmp25 = (int )__cil_tmp24;
11565#line 1317
11566 outb((unsigned char)16, __cil_tmp25);
11567#line 1319
11568 reset_scsi_bus(acb);
11569#line 1320
11570 __const_udelay(2147500UL);
11571#line 1323
11572 __cil_tmp26 = acb->scsi_host;
11573#line 1323
11574 __cil_tmp27 = acb->eeprom.delay_time;
11575#line 1323
11576 __cil_tmp28 = (int )__cil_tmp27;
11577#line 1323
11578 __cil_tmp29 = 250 * __cil_tmp28;
11579#line 1323
11580 __cil_tmp30 = (unsigned long volatile )__cil_tmp29;
11581#line 1323
11582 __cil_tmp31 = (unsigned long volatile )375;
11583#line 1323
11584 __cil_tmp32 = jiffies + __cil_tmp31;
11585#line 1323
11586 __cil_tmp33 = __cil_tmp32 + __cil_tmp30;
11587#line 1323
11588 __cil_tmp26->last_reset = (unsigned long )__cil_tmp33;
11589#line 1331
11590 __cil_tmp34 = acb->io_port_base;
11591#line 1331
11592 __cil_tmp35 = __cil_tmp34 + 161UL;
11593#line 1331
11594 __cil_tmp36 = (int )__cil_tmp35;
11595#line 1331
11596 outb((unsigned char)2, __cil_tmp36);
11597#line 1332
11598 __cil_tmp37 = (char *)"eh_bus_reset";
11599#line 1332
11600 clear_fifo(acb, __cil_tmp37);
11601#line 1334
11602 __cil_tmp38 = acb->io_port_base;
11603#line 1334
11604 __cil_tmp39 = __cil_tmp38 + 132UL;
11605#line 1334
11606 __cil_tmp40 = (int )__cil_tmp39;
11607#line 1334
11608 inb(__cil_tmp40);
11609#line 1335
11610 set_basic_config(acb);
11611#line 1337
11612 reset_dev_param(acb);
11613#line 1338
11614 __cil_tmp41 = (u8 )8;
11615#line 1338
11616 __cil_tmp42 = (u8 )0;
11617#line 1338
11618 doing_srb_done(acb, __cil_tmp41, cmd, __cil_tmp42);
11619#line 1339
11620 __cil_tmp43 = (void *)0;
11621#line 1339
11622 acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp43;
11623#line 1340
11624 acb->acb_flag = (u8 )0;
11625#line 1341
11626 waiting_process_next(acb);
11627 }
11628#line 1343
11629 return (8194);
11630}
11631}
11632#line 1346 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11633static int dc395x_eh_bus_reset(struct scsi_cmnd *cmd )
11634{ int rc ;
11635 struct scsi_device *__cil_tmp3 ;
11636 struct Scsi_Host *__cil_tmp4 ;
11637 spinlock_t *__cil_tmp5 ;
11638 struct scsi_device *__cil_tmp6 ;
11639 struct Scsi_Host *__cil_tmp7 ;
11640 spinlock_t *__cil_tmp8 ;
11641
11642 {
11643 {
11644#line 1350
11645 __cil_tmp3 = cmd->device;
11646#line 1350
11647 __cil_tmp4 = __cil_tmp3->host;
11648#line 1350
11649 __cil_tmp5 = __cil_tmp4->host_lock;
11650#line 1350
11651 spin_lock_irq(__cil_tmp5);
11652#line 1351
11653 rc = __dc395x_eh_bus_reset(cmd);
11654#line 1352
11655 __cil_tmp6 = cmd->device;
11656#line 1352
11657 __cil_tmp7 = __cil_tmp6->host;
11658#line 1352
11659 __cil_tmp8 = __cil_tmp7->host_lock;
11660#line 1352
11661 spin_unlock_irq(__cil_tmp8);
11662 }
11663#line 1354
11664 return (rc);
11665}
11666}
11667#line 1362 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11668static int dc395x_eh_abort(struct scsi_cmnd *cmd )
11669{ struct AdapterCtlBlk *acb ;
11670 struct DeviceCtlBlk *dcb ;
11671 struct ScsiReqBlk *srb ;
11672 struct scsi_device *__cil_tmp5 ;
11673 struct Scsi_Host *__cil_tmp6 ;
11674 unsigned long *__cil_tmp7 ;
11675 struct scsi_device *__cil_tmp8 ;
11676 unsigned int __cil_tmp9 ;
11677 struct scsi_device *__cil_tmp10 ;
11678 unsigned int __cil_tmp11 ;
11679 struct scsi_device *__cil_tmp12 ;
11680 unsigned int __cil_tmp13 ;
11681 u8 __cil_tmp14 ;
11682 struct scsi_device *__cil_tmp15 ;
11683 unsigned int __cil_tmp16 ;
11684 u8 __cil_tmp17 ;
11685 struct list_head *__cil_tmp18 ;
11686 struct list_head *__cil_tmp19 ;
11687
11688 {
11689 {
11690#line 1368
11691 __cil_tmp5 = cmd->device;
11692#line 1368
11693 __cil_tmp6 = __cil_tmp5->host;
11694#line 1368
11695 __cil_tmp7 = & __cil_tmp6->hostdata[0];
11696#line 1368
11697 acb = (struct AdapterCtlBlk *)__cil_tmp7;
11698#line 1372
11699 __cil_tmp8 = cmd->device;
11700#line 1372
11701 __cil_tmp9 = __cil_tmp8->id;
11702#line 1372
11703 __cil_tmp10 = cmd->device;
11704#line 1372
11705 __cil_tmp11 = __cil_tmp10->lun;
11706#line 1372
11707 printk("<6>dc395x: eh_abort: (0x%p) target=<%02i-%i> cmd=%p\n", cmd, __cil_tmp9,
11708 __cil_tmp11, cmd);
11709#line 1375
11710 __cil_tmp12 = cmd->device;
11711#line 1375
11712 __cil_tmp13 = __cil_tmp12->id;
11713#line 1375
11714 __cil_tmp14 = (u8 )__cil_tmp13;
11715#line 1375
11716 __cil_tmp15 = cmd->device;
11717#line 1375
11718 __cil_tmp16 = __cil_tmp15->lun;
11719#line 1375
11720 __cil_tmp17 = (u8 )__cil_tmp16;
11721#line 1375
11722 dcb = find_dcb(acb, __cil_tmp14, __cil_tmp17);
11723 }
11724#line 1376
11725 if (! dcb) {
11726 {
11727#line 1377
11728 printk("<7>dc395x: eh_abort: No such device\n");
11729 }
11730#line 1378
11731 return (8195);
11732 } else {
11733
11734 }
11735 {
11736#line 1381
11737 __cil_tmp18 = & dcb->srb_waiting_list;
11738#line 1381
11739 srb = find_cmd(cmd, __cil_tmp18);
11740 }
11741#line 1382
11742 if (srb) {
11743 {
11744#line 1383
11745 srb_waiting_remove(dcb, srb);
11746#line 1384
11747 pci_unmap_srb_sense(acb, srb);
11748#line 1385
11749 pci_unmap_srb(acb, srb);
11750#line 1386
11751 free_tag(dcb, srb);
11752#line 1387
11753 srb_free_insert(acb, srb);
11754#line 1388
11755 printk("<7>dc395x: eh_abort: Command was waiting\n");
11756#line 1389
11757 cmd->result = 5 << 16;
11758 }
11759#line 1390
11760 return (8194);
11761 } else {
11762
11763 }
11764 {
11765#line 1392
11766 __cil_tmp19 = & dcb->srb_going_list;
11767#line 1392
11768 srb = find_cmd(cmd, __cil_tmp19);
11769 }
11770#line 1393
11771 if (srb) {
11772 {
11773#line 1394
11774 printk("<7>dc395x: eh_abort: Command in progress\n");
11775 }
11776 } else {
11777 {
11778#line 1397
11779 printk("<7>dc395x: eh_abort: Command not found\n");
11780 }
11781 }
11782#line 1399
11783 return (8195);
11784}
11785}
11786#line 1404 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11787static void build_sdtr(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
11788{ u8 *ptr ;
11789 u8 *tmp___7 ;
11790 u8 *tmp___8 ;
11791 u8 *tmp___9 ;
11792 u8 *tmp___10 ;
11793 u8 *tmp___11 ;
11794 u8 __cil_tmp10 ;
11795 int __cil_tmp11 ;
11796 u8 *__cil_tmp12 ;
11797 u8 __cil_tmp13 ;
11798 int __cil_tmp14 ;
11799 u8 __cil_tmp15 ;
11800 int __cil_tmp16 ;
11801 u8 __cil_tmp17 ;
11802 int __cil_tmp18 ;
11803 u8 __cil_tmp19 ;
11804 int __cil_tmp20 ;
11805 u8 __cil_tmp21 ;
11806 int __cil_tmp22 ;
11807 int __cil_tmp23 ;
11808 int __cil_tmp24 ;
11809 u8 __cil_tmp25 ;
11810 int __cil_tmp26 ;
11811 u8 __cil_tmp27 ;
11812 int __cil_tmp28 ;
11813 int __cil_tmp29 ;
11814 u16 __cil_tmp30 ;
11815 int __cil_tmp31 ;
11816 int __cil_tmp32 ;
11817
11818 {
11819#line 1407
11820 __cil_tmp10 = srb->msg_count;
11821#line 1407
11822 __cil_tmp11 = (int )__cil_tmp10;
11823#line 1407
11824 __cil_tmp12 = & srb->msgout_buf[0];
11825#line 1407
11826 ptr = __cil_tmp12 + __cil_tmp11;
11827 {
11828#line 1408
11829 __cil_tmp13 = srb->msg_count;
11830#line 1408
11831 __cil_tmp14 = (int )__cil_tmp13;
11832#line 1408
11833 if (__cil_tmp14 > 1) {
11834 {
11835#line 1409
11836 __cil_tmp15 = srb->msg_count;
11837#line 1409
11838 __cil_tmp16 = (int )__cil_tmp15;
11839#line 1409
11840 __cil_tmp17 = srb->msgout_buf[0];
11841#line 1409
11842 __cil_tmp18 = (int )__cil_tmp17;
11843#line 1409
11844 __cil_tmp19 = srb->msgout_buf[1];
11845#line 1409
11846 __cil_tmp20 = (int )__cil_tmp19;
11847#line 1409
11848 printk("<6>dc395x: build_sdtr: msgout_buf BUSY (%i: %02x %02x)\n", __cil_tmp16,
11849 __cil_tmp18, __cil_tmp20);
11850 }
11851#line 1413
11852 return;
11853 } else {
11854
11855 }
11856 }
11857 {
11858#line 1415
11859 __cil_tmp21 = dcb->dev_mode;
11860#line 1415
11861 __cil_tmp22 = (int )__cil_tmp21;
11862#line 1415
11863 __cil_tmp23 = __cil_tmp22 & 2;
11864#line 1415
11865 if (! __cil_tmp23) {
11866#line 1416
11867 dcb->sync_offset = (u8 )0;
11868#line 1417
11869 __cil_tmp24 = 200 >> 2;
11870#line 1417
11871 dcb->min_nego_period = (u8 )__cil_tmp24;
11872 } else {
11873 {
11874#line 1418
11875 __cil_tmp25 = dcb->sync_offset;
11876#line 1418
11877 __cil_tmp26 = (int )__cil_tmp25;
11878#line 1418
11879 if (__cil_tmp26 == 0) {
11880#line 1419
11881 dcb->sync_offset = (u8 )15;
11882 } else {
11883
11884 }
11885 }
11886 }
11887 }
11888#line 1421
11889 tmp___7 = ptr;
11890#line 1421
11891 ptr = ptr + 1;
11892#line 1421
11893 *tmp___7 = (u8 )1;
11894#line 1422
11895 tmp___8 = ptr;
11896#line 1422
11897 ptr = ptr + 1;
11898#line 1422
11899 *tmp___8 = (u8 )3;
11900#line 1423
11901 tmp___9 = ptr;
11902#line 1423
11903 ptr = ptr + 1;
11904#line 1423
11905 *tmp___9 = (u8 )1;
11906#line 1424
11907 tmp___10 = ptr;
11908#line 1424
11909 ptr = ptr + 1;
11910#line 1424
11911 *tmp___10 = dcb->min_nego_period;
11912#line 1425
11913 tmp___11 = ptr;
11914#line 1425
11915 ptr = ptr + 1;
11916#line 1425
11917 *tmp___11 = dcb->sync_offset;
11918#line 1426
11919 __cil_tmp27 = srb->msg_count;
11920#line 1426
11921 __cil_tmp28 = (int )__cil_tmp27;
11922#line 1426
11923 __cil_tmp29 = __cil_tmp28 + 5;
11924#line 1426
11925 srb->msg_count = (u8 )__cil_tmp29;
11926#line 1427
11927 __cil_tmp30 = srb->state;
11928#line 1427
11929 __cil_tmp31 = (int )__cil_tmp30;
11930#line 1427
11931 __cil_tmp32 = __cil_tmp31 | 8192;
11932#line 1427
11933 srb->state = (u16 )__cil_tmp32;
11934#line 1428
11935 return;
11936}
11937}
11938#line 1432 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
11939static void build_wdtr(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
11940{ u8 wide ;
11941 int tmp___7 ;
11942 u8 *ptr ;
11943 u8 *tmp___8 ;
11944 u8 *tmp___9 ;
11945 u8 *tmp___10 ;
11946 u8 *tmp___11 ;
11947 u8 __cil_tmp11 ;
11948 int __cil_tmp12 ;
11949 int __cil_tmp13 ;
11950 u8 __cil_tmp14 ;
11951 int __cil_tmp15 ;
11952 int __cil_tmp16 ;
11953 u8 __cil_tmp17 ;
11954 int __cil_tmp18 ;
11955 u8 *__cil_tmp19 ;
11956 u8 __cil_tmp20 ;
11957 int __cil_tmp21 ;
11958 u8 __cil_tmp22 ;
11959 int __cil_tmp23 ;
11960 u8 __cil_tmp24 ;
11961 int __cil_tmp25 ;
11962 u8 __cil_tmp26 ;
11963 int __cil_tmp27 ;
11964 u8 __cil_tmp28 ;
11965 int __cil_tmp29 ;
11966 int __cil_tmp30 ;
11967 u16 __cil_tmp31 ;
11968 int __cil_tmp32 ;
11969 int __cil_tmp33 ;
11970
11971 {
11972 {
11973#line 1435
11974 __cil_tmp11 = acb->config;
11975#line 1435
11976 __cil_tmp12 = (int )__cil_tmp11;
11977#line 1435
11978 __cil_tmp13 = __cil_tmp12 & 32;
11979#line 1435
11980 __cil_tmp14 = dcb->dev_mode;
11981#line 1435
11982 __cil_tmp15 = (int )__cil_tmp14;
11983#line 1435
11984 __cil_tmp16 = __cil_tmp15 & 32;
11985#line 1435
11986 if (__cil_tmp16 & __cil_tmp13) {
11987#line 1435
11988 tmp___7 = 1;
11989 } else {
11990#line 1435
11991 tmp___7 = 0;
11992 }
11993 }
11994#line 1435
11995 wide = (u8 )tmp___7;
11996#line 1437
11997 __cil_tmp17 = srb->msg_count;
11998#line 1437
11999 __cil_tmp18 = (int )__cil_tmp17;
12000#line 1437
12001 __cil_tmp19 = & srb->msgout_buf[0];
12002#line 1437
12003 ptr = __cil_tmp19 + __cil_tmp18;
12004 {
12005#line 1438
12006 __cil_tmp20 = srb->msg_count;
12007#line 1438
12008 __cil_tmp21 = (int )__cil_tmp20;
12009#line 1438
12010 if (__cil_tmp21 > 1) {
12011 {
12012#line 1439
12013 __cil_tmp22 = srb->msg_count;
12014#line 1439
12015 __cil_tmp23 = (int )__cil_tmp22;
12016#line 1439
12017 __cil_tmp24 = srb->msgout_buf[0];
12018#line 1439
12019 __cil_tmp25 = (int )__cil_tmp24;
12020#line 1439
12021 __cil_tmp26 = srb->msgout_buf[1];
12022#line 1439
12023 __cil_tmp27 = (int )__cil_tmp26;
12024#line 1439
12025 printk("<6>dc395x: build_wdtr: msgout_buf BUSY (%i: %02x %02x)\n", __cil_tmp23,
12026 __cil_tmp25, __cil_tmp27);
12027 }
12028#line 1443
12029 return;
12030 } else {
12031
12032 }
12033 }
12034#line 1445
12035 tmp___8 = ptr;
12036#line 1445
12037 ptr = ptr + 1;
12038#line 1445
12039 *tmp___8 = (u8 )1;
12040#line 1446
12041 tmp___9 = ptr;
12042#line 1446
12043 ptr = ptr + 1;
12044#line 1446
12045 *tmp___9 = (u8 )2;
12046#line 1447
12047 tmp___10 = ptr;
12048#line 1447
12049 ptr = ptr + 1;
12050#line 1447
12051 *tmp___10 = (u8 )3;
12052#line 1448
12053 tmp___11 = ptr;
12054#line 1448
12055 ptr = ptr + 1;
12056#line 1448
12057 *tmp___11 = wide;
12058#line 1449
12059 __cil_tmp28 = srb->msg_count;
12060#line 1449
12061 __cil_tmp29 = (int )__cil_tmp28;
12062#line 1449
12063 __cil_tmp30 = __cil_tmp29 + 4;
12064#line 1449
12065 srb->msg_count = (u8 )__cil_tmp30;
12066#line 1450
12067 __cil_tmp31 = srb->state;
12068#line 1450
12069 __cil_tmp32 = (int )__cil_tmp31;
12070#line 1450
12071 __cil_tmp33 = __cil_tmp32 | 16384;
12072#line 1450
12073 srb->state = (u16 )__cil_tmp33;
12074#line 1451
12075 return;
12076}
12077}
12078#line 1493 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
12079static u8 start_scsi(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
12080{ u16 s_stat2 ;
12081 u16 return_code ;
12082 u8 s_stat ;
12083 u8 scsicommand ;
12084 u8 i ;
12085 u8 identify_message ;
12086 u8 *ptr ;
12087 unsigned char tmp___7 ;
12088 unsigned short tmp___8 ;
12089 struct scsi_cmnd *tmp___9 ;
12090 unsigned short tmp___10 ;
12091 u32 tag_mask ;
12092 u8 tag_number ;
12093 u8 *tmp___11 ;
12094 unsigned short tmp___12 ;
12095 unsigned long __cil_tmp19 ;
12096 unsigned long __cil_tmp20 ;
12097 int __cil_tmp21 ;
12098 unsigned long __cil_tmp22 ;
12099 unsigned long __cil_tmp23 ;
12100 int __cil_tmp24 ;
12101 int __cil_tmp25 ;
12102 struct DeviceCtlBlk *__cil_tmp26 ;
12103 struct DeviceCtlBlk *__cil_tmp27 ;
12104 struct ScsiReqBlk *__cil_tmp28 ;
12105 struct scsi_cmnd *__cil_tmp29 ;
12106 unsigned long __cil_tmp30 ;
12107 unsigned long __cil_tmp31 ;
12108 int __cil_tmp32 ;
12109 int __cil_tmp33 ;
12110 struct Scsi_Host *__cil_tmp34 ;
12111 unsigned long __cil_tmp35 ;
12112 unsigned long __cil_tmp36 ;
12113 long __cil_tmp37 ;
12114 long __cil_tmp38 ;
12115 long __cil_tmp39 ;
12116 char *__cil_tmp40 ;
12117 struct Scsi_Host *__cil_tmp41 ;
12118 int __cil_tmp42 ;
12119 unsigned char __cil_tmp43 ;
12120 unsigned long __cil_tmp44 ;
12121 unsigned long __cil_tmp45 ;
12122 int __cil_tmp46 ;
12123 u8 __cil_tmp47 ;
12124 unsigned long __cil_tmp48 ;
12125 unsigned long __cil_tmp49 ;
12126 int __cil_tmp50 ;
12127 u8 __cil_tmp51 ;
12128 unsigned long __cil_tmp52 ;
12129 unsigned long __cil_tmp53 ;
12130 int __cil_tmp54 ;
12131 u8 __cil_tmp55 ;
12132 unsigned long __cil_tmp56 ;
12133 unsigned long __cil_tmp57 ;
12134 int __cil_tmp58 ;
12135 u8 __cil_tmp59 ;
12136 int __cil_tmp60 ;
12137 int __cil_tmp61 ;
12138 int __cil_tmp62 ;
12139 struct scsi_cmnd *__cil_tmp63 ;
12140 unsigned char *__cil_tmp64 ;
12141 unsigned char *__cil_tmp65 ;
12142 unsigned char __cil_tmp66 ;
12143 int __cil_tmp67 ;
12144 struct scsi_cmnd *__cil_tmp68 ;
12145 unsigned char *__cil_tmp69 ;
12146 unsigned char *__cil_tmp70 ;
12147 unsigned char __cil_tmp71 ;
12148 int __cil_tmp72 ;
12149 u8 __cil_tmp73 ;
12150 int __cil_tmp74 ;
12151 u8 __cil_tmp75 ;
12152 int __cil_tmp76 ;
12153 u8 __cil_tmp77 ;
12154 int __cil_tmp78 ;
12155 int __cil_tmp79 ;
12156 u8 __cil_tmp80 ;
12157 int __cil_tmp81 ;
12158 u8 __cil_tmp82 ;
12159 int __cil_tmp83 ;
12160 int __cil_tmp84 ;
12161 u8 __cil_tmp85 ;
12162 int __cil_tmp86 ;
12163 u8 __cil_tmp87 ;
12164 int __cil_tmp88 ;
12165 u8 __cil_tmp89 ;
12166 int __cil_tmp90 ;
12167 u8 __cil_tmp91 ;
12168 int __cil_tmp92 ;
12169 u8 __cil_tmp93 ;
12170 int __cil_tmp94 ;
12171 u8 __cil_tmp95 ;
12172 int __cil_tmp96 ;
12173 u8 __cil_tmp97 ;
12174 int __cil_tmp98 ;
12175 unsigned long __cil_tmp99 ;
12176 unsigned long __cil_tmp100 ;
12177 int __cil_tmp101 ;
12178 u8 __cil_tmp102 ;
12179 int __cil_tmp103 ;
12180 int __cil_tmp104 ;
12181 u32 __cil_tmp105 ;
12182 u16 __cil_tmp106 ;
12183 int __cil_tmp107 ;
12184 int __cil_tmp108 ;
12185 int __cil_tmp109 ;
12186 int __cil_tmp110 ;
12187 u16 __cil_tmp111 ;
12188 int __cil_tmp112 ;
12189 int __cil_tmp113 ;
12190 struct scsi_cmnd *__cil_tmp114 ;
12191 struct scsi_cmnd *__cil_tmp115 ;
12192 struct scsi_device *__cil_tmp116 ;
12193 unsigned int __cil_tmp117 ;
12194 struct scsi_cmnd *__cil_tmp118 ;
12195 struct scsi_device *__cil_tmp119 ;
12196 unsigned int __cil_tmp120 ;
12197 unsigned long __cil_tmp121 ;
12198 unsigned long __cil_tmp122 ;
12199 int __cil_tmp123 ;
12200 unsigned long __cil_tmp124 ;
12201 unsigned long __cil_tmp125 ;
12202 int __cil_tmp126 ;
12203 unsigned long __cil_tmp127 ;
12204 unsigned long __cil_tmp128 ;
12205 int __cil_tmp129 ;
12206 u32 __cil_tmp130 ;
12207 u8 __cil_tmp131 ;
12208 int __cil_tmp132 ;
12209 unsigned long __cil_tmp133 ;
12210 unsigned long __cil_tmp134 ;
12211 int __cil_tmp135 ;
12212 u8 __cil_tmp136 ;
12213 int __cil_tmp137 ;
12214 int __cil_tmp138 ;
12215 unsigned char __cil_tmp139 ;
12216 unsigned long __cil_tmp140 ;
12217 unsigned long __cil_tmp141 ;
12218 int __cil_tmp142 ;
12219 unsigned long __cil_tmp143 ;
12220 unsigned long __cil_tmp144 ;
12221 int __cil_tmp145 ;
12222 unsigned long __cil_tmp146 ;
12223 unsigned long __cil_tmp147 ;
12224 int __cil_tmp148 ;
12225 unsigned long __cil_tmp149 ;
12226 unsigned long __cil_tmp150 ;
12227 int __cil_tmp151 ;
12228 unsigned long __cil_tmp152 ;
12229 unsigned long __cil_tmp153 ;
12230 int __cil_tmp154 ;
12231 struct scsi_cmnd *__cil_tmp155 ;
12232 struct scsi_cmnd *__cil_tmp156 ;
12233 unsigned short __cil_tmp157 ;
12234 int __cil_tmp158 ;
12235 int __cil_tmp159 ;
12236 u8 __cil_tmp160 ;
12237 unsigned long __cil_tmp161 ;
12238 unsigned long __cil_tmp162 ;
12239 int __cil_tmp163 ;
12240 int __cil_tmp164 ;
12241 int __cil_tmp165 ;
12242 unsigned long __cil_tmp166 ;
12243 unsigned long __cil_tmp167 ;
12244 int __cil_tmp168 ;
12245 unsigned long __cil_tmp169 ;
12246 unsigned long __cil_tmp170 ;
12247 int __cil_tmp171 ;
12248 int __cil_tmp172 ;
12249 unsigned long __cil_tmp173 ;
12250 unsigned long __cil_tmp174 ;
12251 int __cil_tmp175 ;
12252 unsigned long __cil_tmp176 ;
12253 unsigned long __cil_tmp177 ;
12254 int __cil_tmp178 ;
12255
12256 {
12257 {
12258#line 1499
12259 while (1) {
12260 while_continue: ;
12261
12262#line 1499
12263 goto while_break;
12264 }
12265 while_break___7: ;
12266 }
12267
12268 while_break:
12269 {
12270#line 1502
12271 srb->tag_number = (u8 )255;
12272#line 1504
12273 __cil_tmp19 = acb->io_port_base;
12274#line 1504
12275 __cil_tmp20 = __cil_tmp19 + 131UL;
12276#line 1504
12277 __cil_tmp21 = (int )__cil_tmp20;
12278#line 1504
12279 tmp___7 = inb(__cil_tmp21);
12280#line 1504
12281 s_stat = tmp___7;
12282#line 1505
12283 s_stat2 = (u16 )0;
12284#line 1506
12285 __cil_tmp22 = acb->io_port_base;
12286#line 1506
12287 __cil_tmp23 = __cil_tmp22 + 128UL;
12288#line 1506
12289 __cil_tmp24 = (int )__cil_tmp23;
12290#line 1506
12291 tmp___8 = inw(__cil_tmp24);
12292#line 1506
12293 s_stat2 = tmp___8;
12294 }
12295 {
12296#line 1508
12297 __cil_tmp25 = (int )s_stat;
12298#line 1508
12299 if (__cil_tmp25 & 32) {
12300 {
12301#line 1509
12302 while (1) {
12303 while_continue___0: ;
12304
12305#line 1509
12306 goto while_break___0;
12307 }
12308 while_break___8: ;
12309 }
12310
12311 while_break___0: ;
12312#line 1522
12313 return ((u8 )1);
12314 } else {
12315
12316 }
12317 }
12318#line 1525
12319 if (acb->active_dcb) {
12320 {
12321#line 1526
12322 __cil_tmp26 = acb->active_dcb;
12323#line 1526
12324 if (__cil_tmp26->active_srb) {
12325#line 1526
12326 __cil_tmp27 = acb->active_dcb;
12327#line 1526
12328 __cil_tmp28 = __cil_tmp27->active_srb;
12329#line 1526
12330 tmp___9 = __cil_tmp28->cmd;
12331 } else {
12332#line 1526
12333 tmp___9 = (struct scsi_cmnd *)0;
12334 }
12335 }
12336 {
12337#line 1526
12338 __cil_tmp29 = srb->cmd;
12339#line 1526
12340 printk("<7>dc395x: start_scsi: (0x%p) Attempt to start acommand while another command (0x%p) is active.",
12341 __cil_tmp29, tmp___9);
12342 }
12343#line 1531
12344 return ((u8 )1);
12345 } else {
12346
12347 }
12348 {
12349#line 1533
12350 __cil_tmp30 = acb->io_port_base;
12351#line 1533
12352 __cil_tmp31 = __cil_tmp30 + 128UL;
12353#line 1533
12354 __cil_tmp32 = (int )__cil_tmp31;
12355#line 1533
12356 tmp___10 = inw(__cil_tmp32);
12357 }
12358 {
12359#line 1533
12360 __cil_tmp33 = (int )tmp___10;
12361#line 1533
12362 if (__cil_tmp33 & 128) {
12363 {
12364#line 1534
12365 while (1) {
12366 while_continue___1: ;
12367
12368#line 1534
12369 goto while_break___1;
12370 }
12371 while_break___9: ;
12372 }
12373
12374 while_break___1: ;
12375#line 1535
12376 return ((u8 )1);
12377 } else {
12378
12379 }
12380 }
12381 {
12382#line 1539
12383 __cil_tmp34 = acb->scsi_host;
12384#line 1539
12385 __cil_tmp35 = __cil_tmp34->last_reset;
12386#line 1539
12387 __cil_tmp36 = __cil_tmp35 - 125UL;
12388#line 1539
12389 __cil_tmp37 = (long )__cil_tmp36;
12390#line 1539
12391 __cil_tmp38 = (long )jiffies;
12392#line 1539
12393 __cil_tmp39 = __cil_tmp38 - __cil_tmp37;
12394#line 1539
12395 if (__cil_tmp39 < 0L) {
12396 {
12397#line 1540
12398 while (1) {
12399 while_continue___2: ;
12400
12401#line 1540
12402 goto while_break___2;
12403 }
12404 while_break___10: ;
12405 }
12406
12407 while_break___2: ;
12408#line 1541
12409 return ((u8 )1);
12410 } else {
12411
12412 }
12413 }
12414 {
12415#line 1545
12416 __cil_tmp40 = (char *)"start_scsi";
12417#line 1545
12418 clear_fifo(acb, __cil_tmp40);
12419#line 1546
12420 __cil_tmp41 = acb->scsi_host;
12421#line 1546
12422 __cil_tmp42 = __cil_tmp41->this_id;
12423#line 1546
12424 __cil_tmp43 = (unsigned char )__cil_tmp42;
12425#line 1546
12426 __cil_tmp44 = acb->io_port_base;
12427#line 1546
12428 __cil_tmp45 = __cil_tmp44 + 135UL;
12429#line 1546
12430 __cil_tmp46 = (int )__cil_tmp45;
12431#line 1546
12432 outb(__cil_tmp43, __cil_tmp46);
12433#line 1547
12434 __cil_tmp47 = dcb->target_id;
12435#line 1547
12436 __cil_tmp48 = acb->io_port_base;
12437#line 1547
12438 __cil_tmp49 = __cil_tmp48 + 134UL;
12439#line 1547
12440 __cil_tmp50 = (int )__cil_tmp49;
12441#line 1547
12442 outb(__cil_tmp47, __cil_tmp50);
12443#line 1548
12444 __cil_tmp51 = dcb->sync_period;
12445#line 1548
12446 __cil_tmp52 = acb->io_port_base;
12447#line 1548
12448 __cil_tmp53 = __cil_tmp52 + 133UL;
12449#line 1548
12450 __cil_tmp54 = (int )__cil_tmp53;
12451#line 1548
12452 outb(__cil_tmp51, __cil_tmp54);
12453#line 1549
12454 __cil_tmp55 = dcb->sync_offset;
12455#line 1549
12456 __cil_tmp56 = acb->io_port_base;
12457#line 1549
12458 __cil_tmp57 = __cil_tmp56 + 132UL;
12459#line 1549
12460 __cil_tmp58 = (int )__cil_tmp57;
12461#line 1549
12462 outb(__cil_tmp55, __cil_tmp58);
12463#line 1550
12464 srb->scsi_phase = (u8 )5;
12465#line 1552
12466 identify_message = dcb->identify_msg;
12467 }
12468 {
12469#line 1555
12470 __cil_tmp59 = srb->flag;
12471#line 1555
12472 __cil_tmp60 = (int )__cil_tmp59;
12473#line 1555
12474 if (__cil_tmp60 & 1) {
12475#line 1556
12476 __cil_tmp61 = (int )identify_message;
12477#line 1556
12478 __cil_tmp62 = __cil_tmp61 & 191;
12479#line 1556
12480 identify_message = (u8 )__cil_tmp62;
12481 } else {
12482
12483 }
12484 }
12485 {
12486#line 1558
12487 __cil_tmp63 = srb->cmd;
12488#line 1558
12489 __cil_tmp64 = __cil_tmp63->cmnd;
12490#line 1558
12491 __cil_tmp65 = __cil_tmp64 + 0;
12492#line 1558
12493 __cil_tmp66 = *__cil_tmp65;
12494#line 1558
12495 __cil_tmp67 = (int )__cil_tmp66;
12496#line 1558
12497 if (__cil_tmp67 == 18) {
12498#line 1558
12499 goto _L___1;
12500 } else {
12501 {
12502#line 1558
12503 __cil_tmp68 = srb->cmd;
12504#line 1558
12505 __cil_tmp69 = __cil_tmp68->cmnd;
12506#line 1558
12507 __cil_tmp70 = __cil_tmp69 + 0;
12508#line 1558
12509 __cil_tmp71 = *__cil_tmp70;
12510#line 1558
12511 __cil_tmp72 = (int )__cil_tmp71;
12512#line 1558
12513 if (__cil_tmp72 == 3) {
12514#line 1558
12515 goto _L___1;
12516 } else {
12517 {
12518#line 1558
12519 __cil_tmp73 = srb->flag;
12520#line 1558
12521 __cil_tmp74 = (int )__cil_tmp73;
12522#line 1558
12523 if (__cil_tmp74 & 1) {
12524 _L___1:
12525 {
12526#line 1558
12527 __cil_tmp75 = dcb->sync_mode;
12528#line 1558
12529 __cil_tmp76 = (int )__cil_tmp75;
12530#line 1558
12531 if (__cil_tmp76 & 4) {
12532 {
12533#line 1558
12534 __cil_tmp77 = dcb->sync_mode;
12535#line 1558
12536 __cil_tmp78 = (int )__cil_tmp77;
12537#line 1558
12538 __cil_tmp79 = __cil_tmp78 & 8;
12539#line 1558
12540 if (! __cil_tmp79) {
12541#line 1558
12542 goto _L;
12543 } else {
12544#line 1558
12545 goto _L___0;
12546 }
12547 }
12548 } else {
12549 _L___0:
12550 {
12551#line 1558
12552 __cil_tmp80 = dcb->sync_mode;
12553#line 1558
12554 __cil_tmp81 = (int )__cil_tmp80;
12555#line 1558
12556 if (__cil_tmp81 & 1) {
12557 {
12558#line 1558
12559 __cil_tmp82 = dcb->sync_mode;
12560#line 1558
12561 __cil_tmp83 = (int )__cil_tmp82;
12562#line 1558
12563 __cil_tmp84 = __cil_tmp83 & 2;
12564#line 1558
12565 if (! __cil_tmp84) {
12566 _L:
12567 {
12568#line 1558
12569 __cil_tmp85 = dcb->target_lun;
12570#line 1558
12571 __cil_tmp86 = (int )__cil_tmp85;
12572#line 1558
12573 if (__cil_tmp86 == 0) {
12574#line 1566
12575 srb->msgout_buf[0] = identify_message;
12576#line 1567
12577 srb->msg_count = (u8 )1;
12578#line 1568
12579 scsicommand = (u8 )184;
12580#line 1569
12581 srb->state = (u16 )4;
12582 {
12583#line 1571
12584 __cil_tmp87 = dcb->sync_mode;
12585#line 1571
12586 __cil_tmp88 = (int )__cil_tmp87;
12587#line 1571
12588 if (__cil_tmp88 & 4) {
12589 {
12590#line 1571
12591 __cil_tmp89 = dcb->inquiry7;
12592#line 1571
12593 __cil_tmp90 = (int )__cil_tmp89;
12594#line 1571
12595 if (__cil_tmp90 & 32) {
12596 {
12597#line 1573
12598 build_wdtr(acb, dcb, srb);
12599 }
12600#line 1574
12601 goto no_cmd;
12602 } else {
12603
12604 }
12605 }
12606 } else {
12607
12608 }
12609 }
12610 {
12611#line 1577
12612 __cil_tmp91 = dcb->sync_mode;
12613#line 1577
12614 __cil_tmp92 = (int )__cil_tmp91;
12615#line 1577
12616 if (__cil_tmp92 & 1) {
12617 {
12618#line 1577
12619 __cil_tmp93 = dcb->inquiry7;
12620#line 1577
12621 __cil_tmp94 = (int )__cil_tmp93;
12622#line 1577
12623 if (__cil_tmp94 & 16) {
12624 {
12625#line 1579
12626 build_sdtr(acb, dcb, srb);
12627 }
12628#line 1580
12629 goto no_cmd;
12630 } else {
12631
12632 }
12633 }
12634 } else {
12635
12636 }
12637 }
12638 {
12639#line 1582
12640 __cil_tmp95 = dcb->sync_mode;
12641#line 1582
12642 __cil_tmp96 = (int )__cil_tmp95;
12643#line 1582
12644 if (__cil_tmp96 & 4) {
12645 {
12646#line 1582
12647 __cil_tmp97 = dcb->inquiry7;
12648#line 1582
12649 __cil_tmp98 = (int )__cil_tmp97;
12650#line 1582
12651 if (__cil_tmp98 & 32) {
12652 {
12653#line 1584
12654 build_wdtr(acb, dcb, srb);
12655 }
12656#line 1585
12657 goto no_cmd;
12658 } else {
12659
12660 }
12661 }
12662 } else {
12663
12664 }
12665 }
12666#line 1587
12667 srb->msg_count = (u8 )0;
12668 } else {
12669
12670 }
12671 }
12672 } else {
12673
12674 }
12675 }
12676 } else {
12677
12678 }
12679 }
12680 }
12681 }
12682 } else {
12683
12684 }
12685 }
12686 }
12687 }
12688 }
12689 }
12690 {
12691#line 1590
12692 __cil_tmp99 = acb->io_port_base;
12693#line 1590
12694 __cil_tmp100 = __cil_tmp99 + 152UL;
12695#line 1590
12696 __cil_tmp101 = (int )__cil_tmp100;
12697#line 1590
12698 outb(identify_message, __cil_tmp101);
12699#line 1592
12700 scsicommand = (u8 )96;
12701#line 1593
12702 srb->state = (u16 )64;
12703 }
12704 {
12705#line 1595
12706 __cil_tmp102 = dcb->sync_mode;
12707#line 1595
12708 __cil_tmp103 = (int )__cil_tmp102;
12709#line 1595
12710 if (__cil_tmp103 & 32) {
12711 {
12712#line 1595
12713 __cil_tmp104 = (int )identify_message;
12714#line 1595
12715 if (__cil_tmp104 & 192) {
12716#line 1598
12717 tag_mask = (u32 )1;
12718#line 1599
12719 tag_number = (u8 )0;
12720 {
12721#line 1600
12722 while (1) {
12723 while_continue___3: ;
12724
12725 {
12726#line 1600
12727 __cil_tmp105 = dcb->tag_mask;
12728#line 1600
12729 if (tag_mask & __cil_tmp105) {
12730 {
12731#line 1600
12732 __cil_tmp106 = dcb->max_command;
12733#line 1600
12734 __cil_tmp107 = (int )__cil_tmp106;
12735#line 1600
12736 __cil_tmp108 = (int )tag_number;
12737#line 1600
12738 if (__cil_tmp108 < __cil_tmp107) {
12739
12740 } else {
12741#line 1600
12742 goto while_break___3;
12743 }
12744 }
12745 } else {
12746#line 1600
12747 goto while_break___3;
12748 }
12749 }
12750#line 1602
12751 tag_mask = tag_mask << 1;
12752#line 1603
12753 __cil_tmp109 = (int )tag_number;
12754#line 1603
12755 __cil_tmp110 = __cil_tmp109 + 1;
12756#line 1603
12757 tag_number = (u8 )__cil_tmp110;
12758 }
12759 while_break___11: ;
12760 }
12761
12762 while_break___3: ;
12763 {
12764#line 1605
12765 __cil_tmp111 = dcb->max_command;
12766#line 1605
12767 __cil_tmp112 = (int )__cil_tmp111;
12768#line 1605
12769 __cil_tmp113 = (int )tag_number;
12770#line 1605
12771 if (__cil_tmp113 >= __cil_tmp112) {
12772 {
12773#line 1606
12774 __cil_tmp114 = srb->cmd;
12775#line 1606
12776 __cil_tmp115 = srb->cmd;
12777#line 1606
12778 __cil_tmp116 = __cil_tmp115->device;
12779#line 1606
12780 __cil_tmp117 = __cil_tmp116->id;
12781#line 1606
12782 __cil_tmp118 = srb->cmd;
12783#line 1606
12784 __cil_tmp119 = __cil_tmp118->device;
12785#line 1606
12786 __cil_tmp120 = __cil_tmp119->lun;
12787#line 1606
12788 printk("<4>dc395x: start_scsi: (0x%p) Out of tags target=<%02i-%i>)\n", __cil_tmp114,
12789 __cil_tmp117, __cil_tmp120);
12790#line 1610
12791 srb->state = (u16 )2;
12792#line 1611
12793 __cil_tmp121 = acb->io_port_base;
12794#line 1611
12795 __cil_tmp122 = __cil_tmp121 + 128UL;
12796#line 1611
12797 __cil_tmp123 = (int )__cil_tmp122;
12798#line 1611
12799 outw((unsigned short)1, __cil_tmp123);
12800 }
12801#line 1613
12802 return ((u8 )1);
12803 } else {
12804
12805 }
12806 }
12807 {
12808#line 1616
12809 __cil_tmp124 = acb->io_port_base;
12810#line 1616
12811 __cil_tmp125 = __cil_tmp124 + 152UL;
12812#line 1616
12813 __cil_tmp126 = (int )__cil_tmp125;
12814#line 1616
12815 outb((unsigned char)32, __cil_tmp126);
12816#line 1617
12817 __cil_tmp127 = acb->io_port_base;
12818#line 1617
12819 __cil_tmp128 = __cil_tmp127 + 152UL;
12820#line 1617
12821 __cil_tmp129 = (int )__cil_tmp128;
12822#line 1617
12823 outb(tag_number, __cil_tmp129);
12824#line 1618
12825 __cil_tmp130 = dcb->tag_mask;
12826#line 1618
12827 dcb->tag_mask = __cil_tmp130 | tag_mask;
12828#line 1619
12829 srb->tag_number = tag_number;
12830#line 1620
12831 scsicommand = (u8 )100;
12832#line 1621
12833 srb->state = (u16 )64;
12834 }
12835 } else {
12836
12837 }
12838 }
12839 } else {
12840
12841 }
12842 }
12843 {
12844#line 1626
12845 while (1) {
12846 while_continue___4: ;
12847
12848#line 1626
12849 goto while_break___4;
12850 }
12851 while_break___12: ;
12852 }
12853
12854 while_break___4: ;
12855 {
12856#line 1629
12857 __cil_tmp131 = srb->flag;
12858#line 1629
12859 __cil_tmp132 = (int )__cil_tmp131;
12860#line 1629
12861 if (__cil_tmp132 & 1) {
12862 {
12863#line 1630
12864 __cil_tmp133 = acb->io_port_base;
12865#line 1630
12866 __cil_tmp134 = __cil_tmp133 + 152UL;
12867#line 1630
12868 __cil_tmp135 = (int )__cil_tmp134;
12869#line 1630
12870 outb((unsigned char)3, __cil_tmp135);
12871#line 1631
12872 __cil_tmp136 = dcb->target_lun;
12873#line 1631
12874 __cil_tmp137 = (int )__cil_tmp136;
12875#line 1631
12876 __cil_tmp138 = __cil_tmp137 << 5;
12877#line 1631
12878 __cil_tmp139 = (unsigned char )__cil_tmp138;
12879#line 1631
12880 __cil_tmp140 = acb->io_port_base;
12881#line 1631
12882 __cil_tmp141 = __cil_tmp140 + 152UL;
12883#line 1631
12884 __cil_tmp142 = (int )__cil_tmp141;
12885#line 1631
12886 outb(__cil_tmp139, __cil_tmp142);
12887#line 1632
12888 __cil_tmp143 = acb->io_port_base;
12889#line 1632
12890 __cil_tmp144 = __cil_tmp143 + 152UL;
12891#line 1632
12892 __cil_tmp145 = (int )__cil_tmp144;
12893#line 1632
12894 outb((unsigned char)0, __cil_tmp145);
12895#line 1633
12896 __cil_tmp146 = acb->io_port_base;
12897#line 1633
12898 __cil_tmp147 = __cil_tmp146 + 152UL;
12899#line 1633
12900 __cil_tmp148 = (int )__cil_tmp147;
12901#line 1633
12902 outb((unsigned char)0, __cil_tmp148);
12903#line 1634
12904 __cil_tmp149 = acb->io_port_base;
12905#line 1634
12906 __cil_tmp150 = __cil_tmp149 + 152UL;
12907#line 1634
12908 __cil_tmp151 = (int )__cil_tmp150;
12909#line 1634
12910 outb((unsigned char)96, __cil_tmp151);
12911#line 1635
12912 __cil_tmp152 = acb->io_port_base;
12913#line 1635
12914 __cil_tmp153 = __cil_tmp152 + 152UL;
12915#line 1635
12916 __cil_tmp154 = (int )__cil_tmp153;
12917#line 1635
12918 outb((unsigned char)0, __cil_tmp154);
12919 }
12920 } else {
12921#line 1637
12922 __cil_tmp155 = srb->cmd;
12923#line 1637
12924 ptr = __cil_tmp155->cmnd;
12925#line 1638
12926 i = (u8 )0;
12927 {
12928#line 1638
12929 while (1) {
12930 while_continue___5: ;
12931
12932 {
12933#line 1638
12934 __cil_tmp156 = srb->cmd;
12935#line 1638
12936 __cil_tmp157 = __cil_tmp156->cmd_len;
12937#line 1638
12938 __cil_tmp158 = (int )__cil_tmp157;
12939#line 1638
12940 __cil_tmp159 = (int )i;
12941#line 1638
12942 if (__cil_tmp159 < __cil_tmp158) {
12943
12944 } else {
12945#line 1638
12946 goto while_break___5;
12947 }
12948 }
12949 {
12950#line 1639
12951 tmp___11 = ptr;
12952#line 1639
12953 ptr = ptr + 1;
12954#line 1639
12955 __cil_tmp160 = *tmp___11;
12956#line 1639
12957 __cil_tmp161 = acb->io_port_base;
12958#line 1639
12959 __cil_tmp162 = __cil_tmp161 + 152UL;
12960#line 1639
12961 __cil_tmp163 = (int )__cil_tmp162;
12962#line 1639
12963 outb(__cil_tmp160, __cil_tmp163);
12964#line 1638
12965 __cil_tmp164 = (int )i;
12966#line 1638
12967 __cil_tmp165 = __cil_tmp164 + 1;
12968#line 1638
12969 i = (u8 )__cil_tmp165;
12970 }
12971 }
12972 while_break___13: ;
12973 }
12974
12975 while_break___5: ;
12976 }
12977 }
12978 no_cmd:
12979 {
12980#line 1642
12981 __cil_tmp166 = acb->io_port_base;
12982#line 1642
12983 __cil_tmp167 = __cil_tmp166 + 128UL;
12984#line 1642
12985 __cil_tmp168 = (int )__cil_tmp167;
12986#line 1642
12987 outw((unsigned short)3, __cil_tmp168);
12988#line 1644
12989 __cil_tmp169 = acb->io_port_base;
12990#line 1644
12991 __cil_tmp170 = __cil_tmp169 + 128UL;
12992#line 1644
12993 __cil_tmp171 = (int )__cil_tmp170;
12994#line 1644
12995 tmp___12 = inw(__cil_tmp171);
12996 }
12997 {
12998#line 1644
12999 __cil_tmp172 = (int )tmp___12;
13000#line 1644
13001 if (__cil_tmp172 & 128) {
13002 {
13003#line 1650
13004 while (1) {
13005 while_continue___6: ;
13006
13007#line 1650
13008 goto while_break___6;
13009 }
13010 while_break___14: ;
13011 }
13012
13013 while_break___6:
13014 {
13015#line 1652
13016 srb->state = (u16 )2;
13017#line 1653
13018 free_tag(dcb, srb);
13019#line 1654
13020 srb->msg_count = (u8 )0;
13021#line 1655
13022 return_code = (u16 )1;
13023 }
13024 } else {
13025 {
13026#line 1662
13027 srb->scsi_phase = (u8 )5;
13028#line 1663
13029 dcb->active_srb = srb;
13030#line 1664
13031 acb->active_dcb = dcb;
13032#line 1665
13033 return_code = (u16 )0;
13034#line 1667
13035 __cil_tmp173 = acb->io_port_base;
13036#line 1667
13037 __cil_tmp174 = __cil_tmp173 + 128UL;
13038#line 1667
13039 __cil_tmp175 = (int )__cil_tmp174;
13040#line 1667
13041 outw((unsigned short)3, __cil_tmp175);
13042#line 1670
13043 __cil_tmp176 = acb->io_port_base;
13044#line 1670
13045 __cil_tmp177 = __cil_tmp176 + 144UL;
13046#line 1670
13047 __cil_tmp178 = (int )__cil_tmp177;
13048#line 1670
13049 outb(scsicommand, __cil_tmp178);
13050 }
13051 }
13052 }
13053#line 1672
13054 return ((u8 )return_code);
13055}
13056}
13057#line 1682 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13058__inline static void enable_msgout_abort(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
13059{ unsigned long __cil_tmp3 ;
13060 unsigned long __cil_tmp4 ;
13061 int __cil_tmp5 ;
13062 u16 __cil_tmp6 ;
13063 int __cil_tmp7 ;
13064 int __cil_tmp8 ;
13065 u16 __cil_tmp9 ;
13066 int __cil_tmp10 ;
13067 int __cil_tmp11 ;
13068 u16 __cil_tmp12 ;
13069 int __cil_tmp13 ;
13070 int __cil_tmp14 ;
13071
13072 {
13073 {
13074#line 1685
13075 srb->msgout_buf[0] = (u8 )6;
13076#line 1686
13077 srb->msg_count = (u8 )1;
13078#line 1687
13079 __cil_tmp3 = acb->io_port_base;
13080#line 1687
13081 __cil_tmp4 = __cil_tmp3 + 128UL;
13082#line 1687
13083 __cil_tmp5 = (int )__cil_tmp4;
13084#line 1687
13085 outw((unsigned short)512, __cil_tmp5);
13086#line 1687
13087 __cil_tmp6 = srb->state;
13088#line 1687
13089 __cil_tmp7 = (int )__cil_tmp6;
13090#line 1687
13091 __cil_tmp8 = __cil_tmp7 | 4;
13092#line 1687
13093 srb->state = (u16 )__cil_tmp8;
13094#line 1688
13095 __cil_tmp9 = srb->state;
13096#line 1688
13097 __cil_tmp10 = (int )__cil_tmp9;
13098#line 1688
13099 __cil_tmp11 = __cil_tmp10 & -9;
13100#line 1688
13101 srb->state = (u16 )__cil_tmp11;
13102#line 1689
13103 __cil_tmp12 = srb->state;
13104#line 1689
13105 __cil_tmp13 = (int )__cil_tmp12;
13106#line 1689
13107 __cil_tmp14 = __cil_tmp13 | 4;
13108#line 1689
13109 srb->state = (u16 )__cil_tmp14;
13110 }
13111#line 1690
13112 return;
13113}
13114}
13115#line 1700 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13116static void dc395x_handle_interrupt(struct AdapterCtlBlk *acb , u16 scsi_status )
13117{ struct DeviceCtlBlk *dcb ;
13118 struct ScsiReqBlk *srb ;
13119 u16 phase ;
13120 u8 scsi_intstatus ;
13121 unsigned long flags ;
13122 void (*dc395x_statev)(struct AdapterCtlBlk * , struct ScsiReqBlk * , u16 * ) ;
13123 raw_spinlock_t *tmp___7 ;
13124 unsigned char tmp___8 ;
13125 int tmp___9 ;
13126 struct Scsi_Host *__cil_tmp12 ;
13127 spinlock_t *__cil_tmp13 ;
13128 unsigned long __cil_tmp14 ;
13129 unsigned long __cil_tmp15 ;
13130 int __cil_tmp16 ;
13131 int __cil_tmp17 ;
13132 int __cil_tmp18 ;
13133 int __cil_tmp19 ;
13134 struct timer_list *__cil_tmp20 ;
13135 struct timer_list const *__cil_tmp21 ;
13136 struct timer_list *__cil_tmp22 ;
13137 int __cil_tmp23 ;
13138 int __cil_tmp24 ;
13139 int __cil_tmp25 ;
13140 int __cil_tmp26 ;
13141 int __cil_tmp27 ;
13142 int __cil_tmp28 ;
13143 int __cil_tmp29 ;
13144 u8 __cil_tmp30 ;
13145 int __cil_tmp31 ;
13146 u8 __cil_tmp32 ;
13147 int __cil_tmp33 ;
13148 int __cil_tmp34 ;
13149 int __cil_tmp35 ;
13150 int __cil_tmp36 ;
13151 struct Scsi_Host *__cil_tmp37 ;
13152 spinlock_t *__cil_tmp38 ;
13153
13154 {
13155 {
13156#line 1711
13157 while (1) {
13158 while_continue: ;
13159
13160 {
13161#line 1711
13162 while (1) {
13163 while_continue___0: ;
13164 {
13165#line 1711
13166 __cil_tmp12 = acb->scsi_host;
13167#line 1711
13168 __cil_tmp13 = __cil_tmp12->host_lock;
13169#line 1711
13170 tmp___7 = spinlock_check(__cil_tmp13);
13171#line 1711
13172 flags = _raw_spin_lock_irqsave(tmp___7);
13173 }
13174#line 1711
13175 goto while_break___0;
13176 }
13177 while_break___3: ;
13178 }
13179
13180 while_break___0: ;
13181#line 1711
13182 goto while_break;
13183 }
13184 while_break___2: ;
13185 }
13186
13187 while_break:
13188 {
13189#line 1714
13190 __cil_tmp14 = acb->io_port_base;
13191#line 1714
13192 __cil_tmp15 = __cil_tmp14 + 132UL;
13193#line 1714
13194 __cil_tmp16 = (int )__cil_tmp15;
13195#line 1714
13196 tmp___8 = inb(__cil_tmp16);
13197#line 1714
13198 scsi_intstatus = tmp___8;
13199 }
13200 {
13201#line 1715
13202 __cil_tmp17 = (int )scsi_status;
13203#line 1715
13204 __cil_tmp18 = __cil_tmp17 & 8199;
13205#line 1715
13206 if (__cil_tmp18 == 8194) {
13207 {
13208#line 1716
13209 __cil_tmp19 = (int )scsi_status;
13210#line 1716
13211 printk("<7>dc395x: COP after COP completed? %04x\n", __cil_tmp19);
13212 }
13213 } else {
13214
13215 }
13216 }
13217 {
13218#line 1724
13219 __cil_tmp20 = & acb->selto_timer;
13220#line 1724
13221 __cil_tmp21 = (struct timer_list const *)__cil_tmp20;
13222#line 1724
13223 tmp___9 = timer_pending(__cil_tmp21);
13224 }
13225#line 1724
13226 if (tmp___9) {
13227 {
13228#line 1725
13229 __cil_tmp22 = & acb->selto_timer;
13230#line 1725
13231 del_timer(__cil_tmp22);
13232 }
13233 } else {
13234
13235 }
13236 {
13237#line 1727
13238 __cil_tmp23 = (int )scsi_intstatus;
13239#line 1727
13240 if (__cil_tmp23 & 48) {
13241 {
13242#line 1728
13243 disconnect(acb);
13244 }
13245#line 1729
13246 goto out_unlock;
13247 } else {
13248
13249 }
13250 }
13251 {
13252#line 1731
13253 __cil_tmp24 = (int )scsi_intstatus;
13254#line 1731
13255 if (__cil_tmp24 & 8) {
13256 {
13257#line 1732
13258 reselect(acb);
13259 }
13260#line 1733
13261 goto out_unlock;
13262 } else {
13263
13264 }
13265 }
13266 {
13267#line 1735
13268 __cil_tmp25 = (int )scsi_intstatus;
13269#line 1735
13270 if (__cil_tmp25 & 64) {
13271 {
13272#line 1736
13273 printk("<6>dc395x: Host does not support target mode!\n");
13274 }
13275#line 1737
13276 goto out_unlock;
13277 } else {
13278
13279 }
13280 }
13281 {
13282#line 1739
13283 __cil_tmp26 = (int )scsi_intstatus;
13284#line 1739
13285 if (__cil_tmp26 & 4) {
13286 {
13287#line 1740
13288 scsi_reset_detect(acb);
13289 }
13290#line 1741
13291 goto out_unlock;
13292 } else {
13293
13294 }
13295 }
13296 {
13297#line 1743
13298 __cil_tmp27 = (int )scsi_intstatus;
13299#line 1743
13300 if (__cil_tmp27 & 3) {
13301#line 1744
13302 dcb = acb->active_dcb;
13303#line 1745
13304 if (! dcb) {
13305 {
13306#line 1746
13307 __cil_tmp28 = (int )scsi_status;
13308#line 1746
13309 __cil_tmp29 = (int )scsi_intstatus;
13310#line 1746
13311 printk("<7>dc395x: Oops: BusService (%04x %02x) w/o ActiveDCB!\n", __cil_tmp28,
13312 __cil_tmp29);
13313 }
13314#line 1749
13315 goto out_unlock;
13316 } else {
13317
13318 }
13319#line 1751
13320 srb = dcb->active_srb;
13321 {
13322#line 1752
13323 __cil_tmp30 = dcb->flag;
13324#line 1752
13325 __cil_tmp31 = (int )__cil_tmp30;
13326#line 1752
13327 if (__cil_tmp31 & 1) {
13328 {
13329#line 1753
13330 while (1) {
13331 while_continue___1: ;
13332
13333#line 1753
13334 goto while_break___1;
13335 }
13336 while_break___4: ;
13337 }
13338
13339 while_break___1:
13340 {
13341#line 1754
13342 enable_msgout_abort(acb, srb);
13343 }
13344 } else {
13345
13346 }
13347 }
13348 {
13349#line 1758
13350 __cil_tmp32 = srb->scsi_phase;
13351#line 1758
13352 phase = (u16 )__cil_tmp32;
13353#line 1773
13354 dc395x_statev = (void (*)(struct AdapterCtlBlk * , struct ScsiReqBlk * , u16 * ))dc395x_scsi_phase0[phase];
13355#line 1774
13356 (*dc395x_statev)(acb, srb, & scsi_status);
13357#line 1781
13358 __cil_tmp33 = (int )scsi_status;
13359#line 1781
13360 __cil_tmp34 = __cil_tmp33 & 7;
13361#line 1781
13362 srb->scsi_phase = (u8 )__cil_tmp34;
13363#line 1782
13364 __cil_tmp35 = (int )scsi_status;
13365#line 1782
13366 __cil_tmp36 = __cil_tmp35 & 7;
13367#line 1782
13368 phase = (u16 )__cil_tmp36;
13369#line 1796
13370 dc395x_statev = (void (*)(struct AdapterCtlBlk * , struct ScsiReqBlk * , u16 * ))dc395x_scsi_phase1[phase];
13371#line 1797
13372 (*dc395x_statev)(acb, srb, & scsi_status);
13373 }
13374 } else {
13375
13376 }
13377 }
13378 out_unlock:
13379 {
13380#line 1800
13381 __cil_tmp37 = acb->scsi_host;
13382#line 1800
13383 __cil_tmp38 = __cil_tmp37->host_lock;
13384#line 1800
13385 spin_unlock_irqrestore(__cil_tmp38, flags);
13386 }
13387#line 1801
13388 return;
13389}
13390}
13391#line 1804 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13392static irqreturn_t dc395x_interrupt(int irq , void *dev_id )
13393{ struct AdapterCtlBlk *acb ;
13394 u16 scsi_status ;
13395 u8 dma_status ;
13396 irqreturn_t handled ;
13397 unsigned short tmp___7 ;
13398 unsigned char tmp___8 ;
13399 unsigned long __cil_tmp9 ;
13400 unsigned long __cil_tmp10 ;
13401 int __cil_tmp11 ;
13402 unsigned long __cil_tmp12 ;
13403 unsigned long __cil_tmp13 ;
13404 int __cil_tmp14 ;
13405 int __cil_tmp15 ;
13406 int __cil_tmp16 ;
13407 int __cil_tmp17 ;
13408 void *__cil_tmp18 ;
13409
13410 {
13411 {
13412#line 1806
13413 acb = (struct AdapterCtlBlk *)dev_id;
13414#line 1809
13415 handled = (irqreturn_t )0;
13416#line 1814
13417 __cil_tmp9 = acb->io_port_base;
13418#line 1814
13419 __cil_tmp10 = __cil_tmp9 + 128UL;
13420#line 1814
13421 __cil_tmp11 = (int )__cil_tmp10;
13422#line 1814
13423 tmp___7 = inw(__cil_tmp11);
13424#line 1814
13425 scsi_status = tmp___7;
13426#line 1815
13427 __cil_tmp12 = acb->io_port_base;
13428#line 1815
13429 __cil_tmp13 = __cil_tmp12 + 163UL;
13430#line 1815
13431 __cil_tmp14 = (int )__cil_tmp13;
13432#line 1815
13433 tmp___8 = inb(__cil_tmp14);
13434#line 1815
13435 dma_status = tmp___8;
13436 }
13437 {
13438#line 1816
13439 __cil_tmp15 = (int )scsi_status;
13440#line 1816
13441 if (__cil_tmp15 & 128) {
13442 {
13443#line 1818
13444 dc395x_handle_interrupt(acb, scsi_status);
13445#line 1819
13446 handled = (irqreturn_t )1;
13447 }
13448 } else {
13449 {
13450#line 1821
13451 __cil_tmp16 = (int )dma_status;
13452#line 1821
13453 if (__cil_tmp16 & 32) {
13454 {
13455#line 1823
13456 __cil_tmp17 = (int )dma_status;
13457#line 1823
13458 printk("<6>dc395x: Interrupt from DMA engine: 0x%02x!\n", __cil_tmp17);
13459#line 1833
13460 printk("<6>dc395x: Ignoring DMA error (probably a bad thing) ...\n");
13461#line 1834
13462 __cil_tmp18 = (void *)0;
13463#line 1834
13464 acb = (struct AdapterCtlBlk *)__cil_tmp18;
13465#line 1836
13466 handled = (irqreturn_t )1;
13467 }
13468 } else {
13469
13470 }
13471 }
13472 }
13473 }
13474#line 1839
13475 return (handled);
13476}
13477}
13478#line 1843 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13479static void msgout_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
13480{ u16 __cil_tmp4 ;
13481 int __cil_tmp5 ;
13482 unsigned long __cil_tmp6 ;
13483 unsigned long __cil_tmp7 ;
13484 int __cil_tmp8 ;
13485 u16 __cil_tmp9 ;
13486 int __cil_tmp10 ;
13487 int __cil_tmp11 ;
13488
13489 {
13490 {
13491#line 1846
13492 while (1) {
13493 while_continue: ;
13494
13495#line 1846
13496 goto while_break;
13497 }
13498 while_break___0: ;
13499 }
13500
13501 while_break: ;
13502 {
13503#line 1847
13504 __cil_tmp4 = srb->state;
13505#line 1847
13506 __cil_tmp5 = (int )__cil_tmp4;
13507#line 1847
13508 if (__cil_tmp5 & 36864) {
13509#line 1848
13510 *pscsi_status = (u16 )5;
13511 } else {
13512
13513 }
13514 }
13515 {
13516#line 1850
13517 __cil_tmp6 = acb->io_port_base;
13518#line 1850
13519 __cil_tmp7 = __cil_tmp6 + 128UL;
13520#line 1850
13521 __cil_tmp8 = (int )__cil_tmp7;
13522#line 1850
13523 outw((unsigned short)2, __cil_tmp8);
13524#line 1851
13525 __cil_tmp9 = srb->state;
13526#line 1851
13527 __cil_tmp10 = (int )__cil_tmp9;
13528#line 1851
13529 __cil_tmp11 = __cil_tmp10 & -5;
13530#line 1851
13531 srb->state = (u16 )__cil_tmp11;
13532 }
13533#line 1852
13534 return;
13535}
13536}
13537#line 1855 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13538static void msgout_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
13539{ u16 i ;
13540 u8 *ptr ;
13541 u8 *tmp___7 ;
13542 char *__cil_tmp7 ;
13543 u16 __cil_tmp8 ;
13544 int __cil_tmp9 ;
13545 int __cil_tmp10 ;
13546 u16 __cil_tmp11 ;
13547 int __cil_tmp12 ;
13548 int __cil_tmp13 ;
13549 struct scsi_cmnd *__cil_tmp14 ;
13550 u8 __cil_tmp15 ;
13551 unsigned long __cil_tmp16 ;
13552 unsigned long __cil_tmp17 ;
13553 int __cil_tmp18 ;
13554 unsigned long __cil_tmp19 ;
13555 unsigned long __cil_tmp20 ;
13556 int __cil_tmp21 ;
13557 unsigned long __cil_tmp22 ;
13558 unsigned long __cil_tmp23 ;
13559 int __cil_tmp24 ;
13560 u8 __cil_tmp25 ;
13561 int __cil_tmp26 ;
13562 int __cil_tmp27 ;
13563 u8 __cil_tmp28 ;
13564 unsigned long __cil_tmp29 ;
13565 unsigned long __cil_tmp30 ;
13566 int __cil_tmp31 ;
13567 int __cil_tmp32 ;
13568 int __cil_tmp33 ;
13569 u8 __cil_tmp34 ;
13570 int __cil_tmp35 ;
13571 unsigned long __cil_tmp36 ;
13572 unsigned long __cil_tmp37 ;
13573 int __cil_tmp38 ;
13574
13575 {
13576 {
13577#line 1860
13578 while (1) {
13579 while_continue: ;
13580
13581#line 1860
13582 goto while_break;
13583 }
13584 while_break___2: ;
13585 }
13586
13587 while_break:
13588 {
13589#line 1862
13590 __cil_tmp7 = (char *)"msgout_phase1";
13591#line 1862
13592 clear_fifo(acb, __cil_tmp7);
13593 }
13594 {
13595#line 1863
13596 __cil_tmp8 = srb->state;
13597#line 1863
13598 __cil_tmp9 = (int )__cil_tmp8;
13599#line 1863
13600 __cil_tmp10 = __cil_tmp9 & 4;
13601#line 1863
13602 if (! __cil_tmp10) {
13603 {
13604#line 1864
13605 __cil_tmp11 = srb->state;
13606#line 1864
13607 __cil_tmp12 = (int )__cil_tmp11;
13608#line 1864
13609 __cil_tmp13 = __cil_tmp12 | 4;
13610#line 1864
13611 srb->state = (u16 )__cil_tmp13;
13612#line 1865
13613 __cil_tmp14 = srb->cmd;
13614#line 1865
13615 printk("<7>dc395x: msgout_phase1: (0x%p) Phase unexpected\n", __cil_tmp14);
13616 }
13617 } else {
13618
13619 }
13620 }
13621 {
13622#line 1869
13623 __cil_tmp15 = srb->msg_count;
13624#line 1869
13625 if (! __cil_tmp15) {
13626 {
13627#line 1870
13628 while (1) {
13629 while_continue___0: ;
13630
13631#line 1870
13632 goto while_break___0;
13633 }
13634 while_break___3: ;
13635 }
13636
13637 while_break___0:
13638 {
13639#line 1872
13640 __cil_tmp16 = acb->io_port_base;
13641#line 1872
13642 __cil_tmp17 = __cil_tmp16 + 152UL;
13643#line 1872
13644 __cil_tmp18 = (int )__cil_tmp17;
13645#line 1872
13646 outb((unsigned char)8, __cil_tmp18);
13647#line 1873
13648 __cil_tmp19 = acb->io_port_base;
13649#line 1873
13650 __cil_tmp20 = __cil_tmp19 + 128UL;
13651#line 1873
13652 __cil_tmp21 = (int )__cil_tmp20;
13653#line 1873
13654 outw((unsigned short)2, __cil_tmp21);
13655#line 1874
13656 __cil_tmp22 = acb->io_port_base;
13657#line 1874
13658 __cil_tmp23 = __cil_tmp22 + 144UL;
13659#line 1874
13660 __cil_tmp24 = (int )__cil_tmp23;
13661#line 1874
13662 outb((unsigned char)192, __cil_tmp24);
13663 }
13664#line 1875
13665 return;
13666 } else {
13667
13668 }
13669 }
13670#line 1877
13671 ptr = & srb->msgout_buf[0];
13672#line 1878
13673 i = (u16 )0;
13674 {
13675#line 1878
13676 while (1) {
13677 while_continue___1: ;
13678
13679 {
13680#line 1878
13681 __cil_tmp25 = srb->msg_count;
13682#line 1878
13683 __cil_tmp26 = (int )__cil_tmp25;
13684#line 1878
13685 __cil_tmp27 = (int )i;
13686#line 1878
13687 if (__cil_tmp27 < __cil_tmp26) {
13688
13689 } else {
13690#line 1878
13691 goto while_break___1;
13692 }
13693 }
13694 {
13695#line 1879
13696 tmp___7 = ptr;
13697#line 1879
13698 ptr = ptr + 1;
13699#line 1879
13700 __cil_tmp28 = *tmp___7;
13701#line 1879
13702 __cil_tmp29 = acb->io_port_base;
13703#line 1879
13704 __cil_tmp30 = __cil_tmp29 + 152UL;
13705#line 1879
13706 __cil_tmp31 = (int )__cil_tmp30;
13707#line 1879
13708 outb(__cil_tmp28, __cil_tmp31);
13709#line 1878
13710 __cil_tmp32 = (int )i;
13711#line 1878
13712 __cil_tmp33 = __cil_tmp32 + 1;
13713#line 1878
13714 i = (u16 )__cil_tmp33;
13715 }
13716 }
13717 while_break___4: ;
13718 }
13719
13720 while_break___1:
13721#line 1880
13722 srb->msg_count = (u8 )0;
13723 {
13724#line 1881
13725 __cil_tmp34 = srb->msgout_buf[0];
13726#line 1881
13727 __cil_tmp35 = (int )__cil_tmp34;
13728#line 1881
13729 if (__cil_tmp35 == 6) {
13730#line 1882
13731 srb->state = (u16 )4096;
13732 } else {
13733
13734 }
13735 }
13736 {
13737#line 1884
13738 __cil_tmp36 = acb->io_port_base;
13739#line 1884
13740 __cil_tmp37 = __cil_tmp36 + 144UL;
13741#line 1884
13742 __cil_tmp38 = (int )__cil_tmp37;
13743#line 1884
13744 outb((unsigned char)192, __cil_tmp38);
13745 }
13746#line 1885
13747 return;
13748}
13749}
13750#line 1888 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13751static void command_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
13752{ unsigned long __cil_tmp4 ;
13753 unsigned long __cil_tmp5 ;
13754 int __cil_tmp6 ;
13755
13756 {
13757 {
13758#line 1891
13759 while (1) {
13760 while_continue: ;
13761
13762#line 1891
13763 goto while_break;
13764 }
13765 while_break___0: ;
13766 }
13767
13768 while_break:
13769 {
13770#line 1892
13771 __cil_tmp4 = acb->io_port_base;
13772#line 1892
13773 __cil_tmp5 = __cil_tmp4 + 128UL;
13774#line 1892
13775 __cil_tmp6 = (int )__cil_tmp5;
13776#line 1892
13777 outw((unsigned short)2, __cil_tmp6);
13778 }
13779#line 1893
13780 return;
13781}
13782}
13783#line 1896 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
13784static void command_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
13785{ struct DeviceCtlBlk *dcb ;
13786 u8 *ptr ;
13787 u16 i ;
13788 char *__cil_tmp7 ;
13789 unsigned long __cil_tmp8 ;
13790 unsigned long __cil_tmp9 ;
13791 int __cil_tmp10 ;
13792 u8 __cil_tmp11 ;
13793 int __cil_tmp12 ;
13794 int __cil_tmp13 ;
13795 struct scsi_cmnd *__cil_tmp14 ;
13796 struct scsi_cmnd *__cil_tmp15 ;
13797 unsigned short __cil_tmp16 ;
13798 int __cil_tmp17 ;
13799 int __cil_tmp18 ;
13800 u8 __cil_tmp19 ;
13801 unsigned long __cil_tmp20 ;
13802 unsigned long __cil_tmp21 ;
13803 int __cil_tmp22 ;
13804 int __cil_tmp23 ;
13805 int __cil_tmp24 ;
13806 unsigned long __cil_tmp25 ;
13807 unsigned long __cil_tmp26 ;
13808 int __cil_tmp27 ;
13809 u8 __cil_tmp28 ;
13810 int __cil_tmp29 ;
13811 int __cil_tmp30 ;
13812 unsigned char __cil_tmp31 ;
13813 unsigned long __cil_tmp32 ;
13814 unsigned long __cil_tmp33 ;
13815 int __cil_tmp34 ;
13816 unsigned long __cil_tmp35 ;
13817 unsigned long __cil_tmp36 ;
13818 int __cil_tmp37 ;
13819 unsigned long __cil_tmp38 ;
13820 unsigned long __cil_tmp39 ;
13821 int __cil_tmp40 ;
13822 unsigned long __cil_tmp41 ;
13823 unsigned long __cil_tmp42 ;
13824 int __cil_tmp43 ;
13825 unsigned long __cil_tmp44 ;
13826 unsigned long __cil_tmp45 ;
13827 int __cil_tmp46 ;
13828 u16 __cil_tmp47 ;
13829 int __cil_tmp48 ;
13830 int __cil_tmp49 ;
13831 unsigned long __cil_tmp50 ;
13832 unsigned long __cil_tmp51 ;
13833 int __cil_tmp52 ;
13834 unsigned long __cil_tmp53 ;
13835 unsigned long __cil_tmp54 ;
13836 int __cil_tmp55 ;
13837
13838 {
13839 {
13840#line 1902
13841 while (1) {
13842 while_continue: ;
13843
13844#line 1902
13845 goto while_break;
13846 }
13847 while_break___1: ;
13848 }
13849
13850 while_break:
13851 {
13852#line 1904
13853 __cil_tmp7 = (char *)"command_phase1";
13854#line 1904
13855 clear_fifo(acb, __cil_tmp7);
13856#line 1905
13857 __cil_tmp8 = acb->io_port_base;
13858#line 1905
13859 __cil_tmp9 = __cil_tmp8 + 128UL;
13860#line 1905
13861 __cil_tmp10 = (int )__cil_tmp9;
13862#line 1905
13863 outw((unsigned short)1024, __cil_tmp10);
13864 }
13865 {
13866#line 1906
13867 __cil_tmp11 = srb->flag;
13868#line 1906
13869 __cil_tmp12 = (int )__cil_tmp11;
13870#line 1906
13871 __cil_tmp13 = __cil_tmp12 & 1;
13872#line 1906
13873 if (! __cil_tmp13) {
13874#line 1907
13875 __cil_tmp14 = srb->cmd;
13876#line 1907
13877 ptr = __cil_tmp14->cmnd;
13878#line 1908
13879 i = (u16 )0;
13880 {
13881#line 1908
13882 while (1) {
13883 while_continue___0: ;
13884
13885 {
13886#line 1908
13887 __cil_tmp15 = srb->cmd;
13888#line 1908
13889 __cil_tmp16 = __cil_tmp15->cmd_len;
13890#line 1908
13891 __cil_tmp17 = (int )__cil_tmp16;
13892#line 1908
13893 __cil_tmp18 = (int )i;
13894#line 1908
13895 if (__cil_tmp18 < __cil_tmp17) {
13896
13897 } else {
13898#line 1908
13899 goto while_break___0;
13900 }
13901 }
13902 {
13903#line 1909
13904 __cil_tmp19 = *ptr;
13905#line 1909
13906 __cil_tmp20 = acb->io_port_base;
13907#line 1909
13908 __cil_tmp21 = __cil_tmp20 + 152UL;
13909#line 1909
13910 __cil_tmp22 = (int )__cil_tmp21;
13911#line 1909
13912 outb(__cil_tmp19, __cil_tmp22);
13913#line 1910
13914 ptr = ptr + 1;
13915#line 1908
13916 __cil_tmp23 = (int )i;
13917#line 1908
13918 __cil_tmp24 = __cil_tmp23 + 1;
13919#line 1908
13920 i = (u16 )__cil_tmp24;
13921 }
13922 }
13923 while_break___2: ;
13924 }
13925
13926 while_break___0: ;
13927 } else {
13928 {
13929#line 1913
13930 __cil_tmp25 = acb->io_port_base;
13931#line 1913
13932 __cil_tmp26 = __cil_tmp25 + 152UL;
13933#line 1913
13934 __cil_tmp27 = (int )__cil_tmp26;
13935#line 1913
13936 outb((unsigned char)3, __cil_tmp27);
13937#line 1914
13938 dcb = acb->active_dcb;
13939#line 1916
13940 __cil_tmp28 = dcb->target_lun;
13941#line 1916
13942 __cil_tmp29 = (int )__cil_tmp28;
13943#line 1916
13944 __cil_tmp30 = __cil_tmp29 << 5;
13945#line 1916
13946 __cil_tmp31 = (unsigned char )__cil_tmp30;
13947#line 1916
13948 __cil_tmp32 = acb->io_port_base;
13949#line 1916
13950 __cil_tmp33 = __cil_tmp32 + 152UL;
13951#line 1916
13952 __cil_tmp34 = (int )__cil_tmp33;
13953#line 1916
13954 outb(__cil_tmp31, __cil_tmp34);
13955#line 1917
13956 __cil_tmp35 = acb->io_port_base;
13957#line 1917
13958 __cil_tmp36 = __cil_tmp35 + 152UL;
13959#line 1917
13960 __cil_tmp37 = (int )__cil_tmp36;
13961#line 1917
13962 outb((unsigned char)0, __cil_tmp37);
13963#line 1918
13964 __cil_tmp38 = acb->io_port_base;
13965#line 1918
13966 __cil_tmp39 = __cil_tmp38 + 152UL;
13967#line 1918
13968 __cil_tmp40 = (int )__cil_tmp39;
13969#line 1918
13970 outb((unsigned char)0, __cil_tmp40);
13971#line 1919
13972 __cil_tmp41 = acb->io_port_base;
13973#line 1919
13974 __cil_tmp42 = __cil_tmp41 + 152UL;
13975#line 1919
13976 __cil_tmp43 = (int )__cil_tmp42;
13977#line 1919
13978 outb((unsigned char)96, __cil_tmp43);
13979#line 1920
13980 __cil_tmp44 = acb->io_port_base;
13981#line 1920
13982 __cil_tmp45 = __cil_tmp44 + 152UL;
13983#line 1920
13984 __cil_tmp46 = (int )__cil_tmp45;
13985#line 1920
13986 outb((unsigned char)0, __cil_tmp46);
13987 }
13988 }
13989 }
13990 {
13991#line 1922
13992 __cil_tmp47 = srb->state;
13993#line 1922
13994 __cil_tmp48 = (int )__cil_tmp47;
13995#line 1922
13996 __cil_tmp49 = __cil_tmp48 | 32;
13997#line 1922
13998 srb->state = (u16 )__cil_tmp49;
13999#line 1924
14000 __cil_tmp50 = acb->io_port_base;
14001#line 1924
14002 __cil_tmp51 = __cil_tmp50 + 128UL;
14003#line 1924
14004 __cil_tmp52 = (int )__cil_tmp51;
14005#line 1924
14006 outw((unsigned short)2, __cil_tmp52);
14007#line 1926
14008 __cil_tmp53 = acb->io_port_base;
14009#line 1926
14010 __cil_tmp54 = __cil_tmp53 + 144UL;
14011#line 1926
14012 __cil_tmp55 = (int )__cil_tmp54;
14013#line 1926
14014 outb((unsigned char)192, __cil_tmp55);
14015 }
14016#line 1927
14017 return;
14018}
14019}
14020#line 1934 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14021static void sg_verify_length(struct ScsiReqBlk *srb )
14022{
14023
14024 {
14025#line 1947
14026 return;
14027}
14028}
14029#line 1954 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14030static void sg_update_list(struct ScsiReqBlk *srb , u32 left )
14031{ u8 idx ;
14032 u32 xferred ;
14033 struct SGentry *psge ;
14034 size_t __cil_tmp6 ;
14035 size_t __cil_tmp7 ;
14036 size_t __cil_tmp8 ;
14037 u8 __cil_tmp9 ;
14038 int __cil_tmp10 ;
14039 struct SGentry *__cil_tmp11 ;
14040 u8 __cil_tmp12 ;
14041 int __cil_tmp13 ;
14042 int __cil_tmp14 ;
14043 u32 __cil_tmp15 ;
14044 u32 __cil_tmp16 ;
14045 u32 __cil_tmp17 ;
14046 u32 __cil_tmp18 ;
14047 struct DeviceCtlBlk *__cil_tmp19 ;
14048 struct AdapterCtlBlk *__cil_tmp20 ;
14049 struct pci_dev *__cil_tmp21 ;
14050 dma_addr_t __cil_tmp22 ;
14051 unsigned long __cil_tmp23 ;
14052 int __cil_tmp24 ;
14053 int __cil_tmp25 ;
14054
14055 {
14056#line 1957
14057 __cil_tmp6 = (size_t )left;
14058#line 1957
14059 __cil_tmp7 = srb->total_xfer_length;
14060#line 1957
14061 __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
14062#line 1957
14063 xferred = (u32 )__cil_tmp8;
14064#line 1958
14065 __cil_tmp9 = srb->sg_index;
14066#line 1958
14067 __cil_tmp10 = (int )__cil_tmp9;
14068#line 1958
14069 __cil_tmp11 = srb->segment_x;
14070#line 1958
14071 psge = __cil_tmp11 + __cil_tmp10;
14072 {
14073#line 1960
14074 while (1) {
14075 while_continue: ;
14076
14077#line 1960
14078 goto while_break;
14079 }
14080 while_break___1: ;
14081 }
14082
14083 while_break: ;
14084#line 1963
14085 if (xferred == 0U) {
14086#line 1965
14087 return;
14088 } else {
14089
14090 }
14091 {
14092#line 1968
14093 sg_verify_length(srb);
14094#line 1969
14095 srb->total_xfer_length = (size_t )left;
14096#line 1970
14097 idx = srb->sg_index;
14098 }
14099 {
14100#line 1970
14101 while (1) {
14102 while_continue___0: ;
14103
14104 {
14105#line 1970
14106 __cil_tmp12 = srb->sg_count;
14107#line 1970
14108 __cil_tmp13 = (int )__cil_tmp12;
14109#line 1970
14110 __cil_tmp14 = (int )idx;
14111#line 1970
14112 if (__cil_tmp14 < __cil_tmp13) {
14113
14114 } else {
14115#line 1970
14116 goto while_break___0;
14117 }
14118 }
14119 {
14120#line 1971
14121 __cil_tmp15 = psge->length;
14122#line 1971
14123 if (xferred >= __cil_tmp15) {
14124#line 1973
14125 __cil_tmp16 = psge->length;
14126#line 1973
14127 xferred = xferred - __cil_tmp16;
14128 } else {
14129 {
14130#line 1976
14131 __cil_tmp17 = psge->length;
14132#line 1976
14133 psge->length = __cil_tmp17 - xferred;
14134#line 1977
14135 __cil_tmp18 = psge->address;
14136#line 1977
14137 psge->address = __cil_tmp18 + xferred;
14138#line 1978
14139 srb->sg_index = idx;
14140#line 1979
14141 __cil_tmp19 = srb->dcb;
14142#line 1979
14143 __cil_tmp20 = __cil_tmp19->acb;
14144#line 1979
14145 __cil_tmp21 = __cil_tmp20->dev;
14146#line 1979
14147 __cil_tmp22 = srb->sg_bus_addr;
14148#line 1979
14149 __cil_tmp23 = 8UL * 64UL;
14150#line 1979
14151 pci_dma_sync_single_for_device(__cil_tmp21, __cil_tmp22, __cil_tmp23, 1);
14152 }
14153#line 1984
14154 goto while_break___0;
14155 }
14156 }
14157#line 1986
14158 psge = psge + 1;
14159#line 1970
14160 __cil_tmp24 = (int )idx;
14161#line 1970
14162 __cil_tmp25 = __cil_tmp24 + 1;
14163#line 1970
14164 idx = (u8 )__cil_tmp25;
14165 }
14166 while_break___2: ;
14167 }
14168
14169 while_break___0:
14170 {
14171#line 1988
14172 sg_verify_length(srb);
14173 }
14174#line 1989
14175 return;
14176}
14177}
14178#line 1998 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14179static void sg_subtract_one(struct ScsiReqBlk *srb )
14180{ size_t __cil_tmp2 ;
14181 size_t __cil_tmp3 ;
14182 u32 __cil_tmp4 ;
14183
14184 {
14185 {
14186#line 2000
14187 __cil_tmp2 = srb->total_xfer_length;
14188#line 2000
14189 __cil_tmp3 = __cil_tmp2 - 1UL;
14190#line 2000
14191 __cil_tmp4 = (u32 )__cil_tmp3;
14192#line 2000
14193 sg_update_list(srb, __cil_tmp4);
14194 }
14195#line 2001
14196 return;
14197}
14198}
14199#line 2012 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14200static void cleanup_after_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
14201{ unsigned char tmp___7 ;
14202 unsigned char tmp___8 ;
14203 unsigned char tmp___9 ;
14204 unsigned char tmp___10 ;
14205 unsigned short tmp___11 ;
14206 unsigned long __cil_tmp8 ;
14207 unsigned long __cil_tmp9 ;
14208 int __cil_tmp10 ;
14209 int __cil_tmp11 ;
14210 unsigned long __cil_tmp12 ;
14211 unsigned long __cil_tmp13 ;
14212 int __cil_tmp14 ;
14213 int __cil_tmp15 ;
14214 char *__cil_tmp16 ;
14215 unsigned long __cil_tmp17 ;
14216 unsigned long __cil_tmp18 ;
14217 int __cil_tmp19 ;
14218 int __cil_tmp20 ;
14219 unsigned long __cil_tmp21 ;
14220 unsigned long __cil_tmp22 ;
14221 int __cil_tmp23 ;
14222 unsigned long __cil_tmp24 ;
14223 unsigned long __cil_tmp25 ;
14224 int __cil_tmp26 ;
14225 int __cil_tmp27 ;
14226 unsigned long __cil_tmp28 ;
14227 unsigned long __cil_tmp29 ;
14228 int __cil_tmp30 ;
14229 unsigned long __cil_tmp31 ;
14230 unsigned long __cil_tmp32 ;
14231 int __cil_tmp33 ;
14232 int __cil_tmp34 ;
14233 char *__cil_tmp35 ;
14234 unsigned long __cil_tmp36 ;
14235 unsigned long __cil_tmp37 ;
14236 int __cil_tmp38 ;
14237
14238 {
14239 {
14240#line 2016
14241 __cil_tmp8 = acb->io_port_base;
14242#line 2016
14243 __cil_tmp9 = __cil_tmp8 + 160UL;
14244#line 2016
14245 __cil_tmp10 = (int )__cil_tmp9;
14246#line 2016
14247 tmp___11 = inw(__cil_tmp10);
14248 }
14249 {
14250#line 2016
14251 __cil_tmp11 = (int )tmp___11;
14252#line 2016
14253 if (__cil_tmp11 & 1) {
14254 {
14255#line 2017
14256 __cil_tmp12 = acb->io_port_base;
14257#line 2017
14258 __cil_tmp13 = __cil_tmp12 + 130UL;
14259#line 2017
14260 __cil_tmp14 = (int )__cil_tmp13;
14261#line 2017
14262 tmp___7 = inb(__cil_tmp14);
14263 }
14264 {
14265#line 2017
14266 __cil_tmp15 = (int )tmp___7;
14267#line 2017
14268 if (__cil_tmp15 & 64) {
14269
14270 } else {
14271 {
14272#line 2018
14273 __cil_tmp16 = (char *)"cleanup/in";
14274#line 2018
14275 clear_fifo(acb, __cil_tmp16);
14276 }
14277 }
14278 }
14279 {
14280#line 2019
14281 __cil_tmp17 = acb->io_port_base;
14282#line 2019
14283 __cil_tmp18 = __cil_tmp17 + 162UL;
14284#line 2019
14285 __cil_tmp19 = (int )__cil_tmp18;
14286#line 2019
14287 tmp___8 = inb(__cil_tmp19);
14288 }
14289 {
14290#line 2019
14291 __cil_tmp20 = (int )tmp___8;
14292#line 2019
14293 if (__cil_tmp20 & 128) {
14294
14295 } else {
14296 {
14297#line 2020
14298 __cil_tmp21 = acb->io_port_base;
14299#line 2020
14300 __cil_tmp22 = __cil_tmp21 + 161UL;
14301#line 2020
14302 __cil_tmp23 = (int )__cil_tmp22;
14303#line 2020
14304 outb((unsigned char)2, __cil_tmp23);
14305 }
14306 }
14307 }
14308 } else {
14309 {
14310#line 2022
14311 __cil_tmp24 = acb->io_port_base;
14312#line 2022
14313 __cil_tmp25 = __cil_tmp24 + 162UL;
14314#line 2022
14315 __cil_tmp26 = (int )__cil_tmp25;
14316#line 2022
14317 tmp___9 = inb(__cil_tmp26);
14318 }
14319 {
14320#line 2022
14321 __cil_tmp27 = (int )tmp___9;
14322#line 2022
14323 if (__cil_tmp27 & 128) {
14324
14325 } else {
14326 {
14327#line 2023
14328 __cil_tmp28 = acb->io_port_base;
14329#line 2023
14330 __cil_tmp29 = __cil_tmp28 + 161UL;
14331#line 2023
14332 __cil_tmp30 = (int )__cil_tmp29;
14333#line 2023
14334 outb((unsigned char)2, __cil_tmp30);
14335 }
14336 }
14337 }
14338 {
14339#line 2024
14340 __cil_tmp31 = acb->io_port_base;
14341#line 2024
14342 __cil_tmp32 = __cil_tmp31 + 130UL;
14343#line 2024
14344 __cil_tmp33 = (int )__cil_tmp32;
14345#line 2024
14346 tmp___10 = inb(__cil_tmp33);
14347 }
14348 {
14349#line 2024
14350 __cil_tmp34 = (int )tmp___10;
14351#line 2024
14352 if (__cil_tmp34 & 64) {
14353
14354 } else {
14355 {
14356#line 2025
14357 __cil_tmp35 = (char *)"cleanup/out";
14358#line 2025
14359 clear_fifo(acb, __cil_tmp35);
14360 }
14361 }
14362 }
14363 }
14364 }
14365 {
14366#line 2027
14367 __cil_tmp36 = acb->io_port_base;
14368#line 2027
14369 __cil_tmp37 = __cil_tmp36 + 128UL;
14370#line 2027
14371 __cil_tmp38 = (int )__cil_tmp37;
14372#line 2027
14373 outw((unsigned short)2, __cil_tmp38);
14374 }
14375#line 2028
14376 return;
14377}
14378}
14379#line 2038 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14380static void data_out_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
14381{ struct DeviceCtlBlk *dcb ;
14382 u16 scsi_status ;
14383 u32 d_left_counter ;
14384 unsigned char tmp___7 ;
14385 unsigned int tmp___8 ;
14386 unsigned int tmp___9 ;
14387 long oldxferred ;
14388 int diff ;
14389 int tmp___10 ;
14390 unsigned int tmp___11 ;
14391 unsigned long __cil_tmp14 ;
14392 unsigned long __cil_tmp15 ;
14393 int __cil_tmp16 ;
14394 u16 __cil_tmp17 ;
14395 int __cil_tmp18 ;
14396 int __cil_tmp19 ;
14397 int __cil_tmp20 ;
14398 u8 __cil_tmp21 ;
14399 int __cil_tmp22 ;
14400 int __cil_tmp23 ;
14401 int __cil_tmp24 ;
14402 int __cil_tmp25 ;
14403 unsigned long __cil_tmp26 ;
14404 unsigned long __cil_tmp27 ;
14405 int __cil_tmp28 ;
14406 int __cil_tmp29 ;
14407 int __cil_tmp30 ;
14408 u8 __cil_tmp31 ;
14409 int __cil_tmp32 ;
14410 size_t __cil_tmp33 ;
14411 unsigned long __cil_tmp34 ;
14412 unsigned long __cil_tmp35 ;
14413 int __cil_tmp36 ;
14414 u8 __cil_tmp37 ;
14415 int __cil_tmp38 ;
14416 struct scsi_cmnd *__cil_tmp39 ;
14417 int __cil_tmp40 ;
14418 size_t __cil_tmp41 ;
14419 size_t __cil_tmp42 ;
14420 size_t __cil_tmp43 ;
14421 u8 __cil_tmp44 ;
14422 int __cil_tmp45 ;
14423 u32 __cil_tmp46 ;
14424 u8 __cil_tmp47 ;
14425 int __cil_tmp48 ;
14426 struct SGentry *__cil_tmp49 ;
14427 struct SGentry *__cil_tmp50 ;
14428 u32 __cil_tmp51 ;
14429 struct scsi_cmnd *__cil_tmp52 ;
14430 size_t __cil_tmp53 ;
14431 size_t __cil_tmp54 ;
14432 size_t __cil_tmp55 ;
14433 unsigned long __cil_tmp56 ;
14434 unsigned long __cil_tmp57 ;
14435 unsigned long __cil_tmp58 ;
14436 unsigned long __cil_tmp59 ;
14437 unsigned long __cil_tmp60 ;
14438 unsigned long __cil_tmp61 ;
14439 unsigned long __cil_tmp62 ;
14440 unsigned long __cil_tmp63 ;
14441 unsigned long __cil_tmp64 ;
14442 size_t __cil_tmp65 ;
14443 size_t __cil_tmp66 ;
14444 size_t __cil_tmp67 ;
14445 u16 __cil_tmp68 ;
14446 int __cil_tmp69 ;
14447 int __cil_tmp70 ;
14448
14449 {
14450#line 2041
14451 dcb = srb->dcb;
14452#line 2042
14453 scsi_status = *pscsi_status;
14454#line 2043
14455 d_left_counter = (u32 )0;
14456 {
14457#line 2044
14458 while (1) {
14459 while_continue: ;
14460
14461#line 2044
14462 goto while_break;
14463 }
14464 while_break___2: ;
14465 }
14466
14467 while_break: ;
14468 {
14469#line 2059
14470 while (1) {
14471 while_continue___0: ;
14472
14473#line 2059
14474 goto while_break___0;
14475 }
14476 while_break___3: ;
14477 }
14478
14479 while_break___0:
14480 {
14481#line 2067
14482 __cil_tmp14 = acb->io_port_base;
14483#line 2067
14484 __cil_tmp15 = __cil_tmp14 + 161UL;
14485#line 2067
14486 __cil_tmp16 = (int )__cil_tmp15;
14487#line 2067
14488 outb((unsigned char)10, __cil_tmp16);
14489 }
14490 {
14491#line 2069
14492 __cil_tmp17 = srb->state;
14493#line 2069
14494 __cil_tmp18 = (int )__cil_tmp17;
14495#line 2069
14496 __cil_tmp19 = __cil_tmp18 & 512;
14497#line 2069
14498 if (! __cil_tmp19) {
14499 {
14500#line 2070
14501 __cil_tmp20 = (int )scsi_status;
14502#line 2070
14503 if (__cil_tmp20 & 8) {
14504#line 2071
14505 __cil_tmp21 = srb->status;
14506#line 2071
14507 __cil_tmp22 = (int )__cil_tmp21;
14508#line 2071
14509 __cil_tmp23 = __cil_tmp22 | 16;
14510#line 2071
14511 srb->status = (u8 )__cil_tmp23;
14512 } else {
14513
14514 }
14515 }
14516 {
14517#line 2079
14518 __cil_tmp24 = (int )scsi_status;
14519#line 2079
14520 __cil_tmp25 = __cil_tmp24 & 2048;
14521#line 2079
14522 if (! __cil_tmp25) {
14523 {
14524#line 2084
14525 __cil_tmp26 = acb->io_port_base;
14526#line 2084
14527 __cil_tmp27 = __cil_tmp26 + 130UL;
14528#line 2084
14529 __cil_tmp28 = (int )__cil_tmp27;
14530#line 2084
14531 tmp___7 = inb(__cil_tmp28);
14532#line 2084
14533 __cil_tmp29 = (int )tmp___7;
14534#line 2084
14535 __cil_tmp30 = __cil_tmp29 & 31;
14536#line 2084
14537 d_left_counter = (u32 )__cil_tmp30;
14538 }
14539 {
14540#line 2087
14541 __cil_tmp31 = dcb->sync_period;
14542#line 2087
14543 __cil_tmp32 = (int )__cil_tmp31;
14544#line 2087
14545 if (__cil_tmp32 & 16) {
14546#line 2088
14547 d_left_counter = d_left_counter << 1;
14548 } else {
14549
14550 }
14551 }
14552 {
14553#line 2090
14554 while (1) {
14555 while_continue___1: ;
14556
14557#line 2090
14558 goto while_break___1;
14559 }
14560 while_break___4: ;
14561 }
14562
14563 while_break___1: ;
14564 } else {
14565
14566 }
14567 }
14568 {
14569#line 2110
14570 __cil_tmp33 = srb->total_xfer_length;
14571#line 2110
14572 if (__cil_tmp33 > 4UL) {
14573 {
14574#line 2111
14575 __cil_tmp34 = acb->io_port_base;
14576#line 2111
14577 __cil_tmp35 = __cil_tmp34 + 136UL;
14578#line 2111
14579 __cil_tmp36 = (int )__cil_tmp35;
14580#line 2111
14581 tmp___8 = inl(__cil_tmp36);
14582#line 2111
14583 d_left_counter = d_left_counter + tmp___8;
14584 }
14585 } else {
14586
14587 }
14588 }
14589#line 2117
14590 if (d_left_counter == 1U) {
14591 {
14592#line 2117
14593 __cil_tmp37 = dcb->sync_period;
14594#line 2117
14595 __cil_tmp38 = (int )__cil_tmp37;
14596#line 2117
14597 if (__cil_tmp38 & 16) {
14598 {
14599#line 2117
14600 __cil_tmp39 = srb->cmd;
14601#line 2117
14602 tmp___9 = scsi_bufflen(__cil_tmp39);
14603 }
14604#line 2117
14605 if (tmp___9 % 2U) {
14606 {
14607#line 2119
14608 d_left_counter = (u32 )0;
14609#line 2120
14610 __cil_tmp40 = (int )scsi_status;
14611#line 2120
14612 printk("<6>dc395x: data_out_phase0: Discard 1 byte (0x%02x)\n", __cil_tmp40);
14613 }
14614 } else {
14615
14616 }
14617 } else {
14618
14619 }
14620 }
14621 } else {
14622
14623 }
14624#line 2134
14625 if (d_left_counter == 0U) {
14626#line 2135
14627 srb->total_xfer_length = (size_t )0;
14628 } else {
14629#line 2142
14630 __cil_tmp41 = (size_t )d_left_counter;
14631#line 2142
14632 __cil_tmp42 = srb->total_xfer_length;
14633#line 2142
14634 __cil_tmp43 = __cil_tmp42 - __cil_tmp41;
14635#line 2142
14636 oldxferred = (long )__cil_tmp43;
14637 {
14638#line 2144
14639 __cil_tmp44 = dcb->sync_period;
14640#line 2144
14641 __cil_tmp45 = (int )__cil_tmp44;
14642#line 2144
14643 if (__cil_tmp45 & 16) {
14644#line 2144
14645 tmp___10 = 2;
14646 } else {
14647#line 2144
14648 tmp___10 = 1;
14649 }
14650 }
14651 {
14652#line 2144
14653 diff = tmp___10;
14654#line 2146
14655 sg_update_list(srb, d_left_counter);
14656 }
14657 {
14658#line 2148
14659 __cil_tmp46 = (u32 )diff;
14660#line 2148
14661 __cil_tmp47 = srb->sg_index;
14662#line 2148
14663 __cil_tmp48 = (int )__cil_tmp47;
14664#line 2148
14665 __cil_tmp49 = srb->segment_x;
14666#line 2148
14667 __cil_tmp50 = __cil_tmp49 + __cil_tmp48;
14668#line 2148
14669 __cil_tmp51 = __cil_tmp50->length;
14670#line 2148
14671 if (__cil_tmp51 == __cil_tmp46) {
14672 {
14673#line 2148
14674 __cil_tmp52 = srb->cmd;
14675#line 2148
14676 tmp___11 = scsi_sg_count(__cil_tmp52);
14677 }
14678#line 2148
14679 if (tmp___11) {
14680 {
14681#line 2153
14682 printk("<6>dc395x: data_out_phase0: Work around chip bug (%i)?\n", diff);
14683#line 2155
14684 __cil_tmp53 = (size_t )diff;
14685#line 2155
14686 __cil_tmp54 = srb->total_xfer_length;
14687#line 2155
14688 __cil_tmp55 = __cil_tmp54 - __cil_tmp53;
14689#line 2155
14690 d_left_counter = (u32 )__cil_tmp55;
14691#line 2157
14692 sg_update_list(srb, d_left_counter);
14693 }
14694 } else {
14695#line 2148
14696 goto _L;
14697 }
14698 } else {
14699 _L:
14700 {
14701#line 2148
14702 __cil_tmp56 = (unsigned long )diff;
14703#line 2148
14704 __cil_tmp57 = 1UL << 12;
14705#line 2148
14706 __cil_tmp58 = __cil_tmp57 - __cil_tmp56;
14707#line 2148
14708 __cil_tmp59 = 1UL << 12;
14709#line 2148
14710 __cil_tmp60 = __cil_tmp59 - 1UL;
14711#line 2148
14712 __cil_tmp61 = ~ __cil_tmp60;
14713#line 2148
14714 __cil_tmp62 = ~ __cil_tmp61;
14715#line 2148
14716 __cil_tmp63 = (unsigned long )oldxferred;
14717#line 2148
14718 __cil_tmp64 = __cil_tmp63 & __cil_tmp62;
14719#line 2148
14720 if (__cil_tmp64 == __cil_tmp58) {
14721 {
14722#line 2153
14723 printk("<6>dc395x: data_out_phase0: Work around chip bug (%i)?\n", diff);
14724#line 2155
14725 __cil_tmp65 = (size_t )diff;
14726#line 2155
14727 __cil_tmp66 = srb->total_xfer_length;
14728#line 2155
14729 __cil_tmp67 = __cil_tmp66 - __cil_tmp65;
14730#line 2155
14731 d_left_counter = (u32 )__cil_tmp67;
14732#line 2157
14733 sg_update_list(srb, d_left_counter);
14734 }
14735 } else {
14736
14737 }
14738 }
14739 }
14740 }
14741 }
14742 } else {
14743
14744 }
14745 }
14746 {
14747#line 2165
14748 __cil_tmp68 = *pscsi_status;
14749#line 2165
14750 __cil_tmp69 = (int )__cil_tmp68;
14751#line 2165
14752 __cil_tmp70 = __cil_tmp69 & 7;
14753#line 2165
14754 if (__cil_tmp70 != 0) {
14755 {
14756#line 2166
14757 cleanup_after_transfer(acb, srb);
14758 }
14759 } else {
14760
14761 }
14762 }
14763#line 2168
14764 return;
14765}
14766}
14767#line 2171 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14768static void data_out_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
14769{ char *__cil_tmp4 ;
14770 u16 __cil_tmp5 ;
14771
14772 {
14773 {
14774#line 2174
14775 while (1) {
14776 while_continue: ;
14777
14778#line 2174
14779 goto while_break;
14780 }
14781 while_break___0: ;
14782 }
14783
14784 while_break:
14785 {
14786#line 2176
14787 __cil_tmp4 = (char *)"data_out_phase1";
14788#line 2176
14789 clear_fifo(acb, __cil_tmp4);
14790#line 2178
14791 __cil_tmp5 = (u16 )256;
14792#line 2178
14793 data_io_transfer(acb, srb, __cil_tmp5);
14794 }
14795#line 2179
14796 return;
14797}
14798}
14799#line 2181 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
14800static void data_in_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
14801{ u16 scsi_status ;
14802 u32 d_left_counter ;
14803 unsigned int sc ;
14804 unsigned int fc ;
14805 unsigned char tmp___7 ;
14806 unsigned int tmp___8 ;
14807 unsigned char tmp___9 ;
14808 int tmp___10 ;
14809 size_t left_io ;
14810 unsigned char *virt ;
14811 unsigned char *base ;
14812 unsigned long flags ;
14813 size_t len ;
14814 size_t offset ;
14815 struct scatterlist *tmp___11 ;
14816 void *tmp___12 ;
14817 u8 byte ;
14818 unsigned char tmp___13 ;
14819 unsigned char *tmp___14 ;
14820 unsigned char tmp___15 ;
14821 int __ret_warn_on ;
14822 long tmp___16 ;
14823 u8 byte___0 ;
14824 unsigned char tmp___17 ;
14825 unsigned char *tmp___18 ;
14826 int tmp___19 ;
14827 u16 __cil_tmp30 ;
14828 int __cil_tmp31 ;
14829 int __cil_tmp32 ;
14830 int __cil_tmp33 ;
14831 struct scsi_cmnd *__cil_tmp34 ;
14832 u8 __cil_tmp35 ;
14833 int __cil_tmp36 ;
14834 int __cil_tmp37 ;
14835 unsigned long __cil_tmp38 ;
14836 unsigned long __cil_tmp39 ;
14837 int __cil_tmp40 ;
14838 int __cil_tmp41 ;
14839 unsigned long __cil_tmp42 ;
14840 unsigned long __cil_tmp43 ;
14841 int __cil_tmp44 ;
14842 unsigned long __cil_tmp45 ;
14843 unsigned long __cil_tmp46 ;
14844 int __cil_tmp47 ;
14845 struct DeviceCtlBlk *__cil_tmp48 ;
14846 u8 __cil_tmp49 ;
14847 int __cil_tmp50 ;
14848 unsigned int __cil_tmp51 ;
14849 unsigned int __cil_tmp52 ;
14850 size_t __cil_tmp53 ;
14851 struct DeviceCtlBlk *__cil_tmp54 ;
14852 u8 __cil_tmp55 ;
14853 int __cil_tmp56 ;
14854 unsigned long __cil_tmp57 ;
14855 unsigned long __cil_tmp58 ;
14856 int __cil_tmp59 ;
14857 void *__cil_tmp60 ;
14858 size_t __cil_tmp61 ;
14859 struct scsi_cmnd *__cil_tmp62 ;
14860 u8 __cil_tmp63 ;
14861 int __cil_tmp64 ;
14862 unsigned long __cil_tmp65 ;
14863 unsigned long __cil_tmp66 ;
14864 int __cil_tmp67 ;
14865 unsigned long __cil_tmp68 ;
14866 unsigned long __cil_tmp69 ;
14867 int __cil_tmp70 ;
14868 int __cil_tmp71 ;
14869 int __cil_tmp72 ;
14870 int __cil_tmp73 ;
14871 int __cil_tmp74 ;
14872 int __cil_tmp75 ;
14873 int __cil_tmp76 ;
14874 long __cil_tmp77 ;
14875 int __cil_tmp78 ;
14876 int __cil_tmp79 ;
14877 int __cil_tmp80 ;
14878 int __cil_tmp81 ;
14879 long __cil_tmp82 ;
14880 struct DeviceCtlBlk *__cil_tmp83 ;
14881 u8 __cil_tmp84 ;
14882 int __cil_tmp85 ;
14883 size_t __cil_tmp86 ;
14884 unsigned long __cil_tmp87 ;
14885 unsigned long __cil_tmp88 ;
14886 int __cil_tmp89 ;
14887 size_t __cil_tmp90 ;
14888 unsigned long __cil_tmp91 ;
14889 unsigned long __cil_tmp92 ;
14890 int __cil_tmp93 ;
14891 void *__cil_tmp94 ;
14892 int __cil_tmp95 ;
14893 u16 __cil_tmp96 ;
14894 int __cil_tmp97 ;
14895 int __cil_tmp98 ;
14896
14897 {
14898#line 2184
14899 scsi_status = *pscsi_status;
14900 {
14901#line 2186
14902 while (1) {
14903 while_continue: ;
14904
14905#line 2186
14906 goto while_break;
14907 }
14908 while_break___10: ;
14909 }
14910
14911 while_break: ;
14912 {
14913#line 2202
14914 __cil_tmp30 = srb->state;
14915#line 2202
14916 __cil_tmp31 = (int )__cil_tmp30;
14917#line 2202
14918 __cil_tmp32 = __cil_tmp31 & 512;
14919#line 2202
14920 if (! __cil_tmp32) {
14921 {
14922#line 2206
14923 __cil_tmp33 = (int )scsi_status;
14924#line 2206
14925 if (__cil_tmp33 & 8) {
14926 {
14927#line 2207
14928 __cil_tmp34 = srb->cmd;
14929#line 2207
14930 printk("<6>dc395x: data_in_phase0: (0x%p) Parity Error\n", __cil_tmp34);
14931#line 2209
14932 __cil_tmp35 = srb->status;
14933#line 2209
14934 __cil_tmp36 = (int )__cil_tmp35;
14935#line 2209
14936 __cil_tmp37 = __cil_tmp36 | 16;
14937#line 2209
14938 srb->status = (u8 )__cil_tmp37;
14939 }
14940 } else {
14941
14942 }
14943 }
14944 {
14945#line 2217
14946 __cil_tmp38 = acb->io_port_base;
14947#line 2217
14948 __cil_tmp39 = __cil_tmp38 + 162UL;
14949#line 2217
14950 __cil_tmp40 = (int )__cil_tmp39;
14951#line 2217
14952 tmp___7 = inb(__cil_tmp40);
14953 }
14954 {
14955#line 2217
14956 __cil_tmp41 = (int )tmp___7;
14957#line 2217
14958 if (__cil_tmp41 & 128) {
14959
14960 } else {
14961 {
14962#line 2236
14963 while (1) {
14964 while_continue___0: ;
14965
14966#line 2236
14967 goto while_break___0;
14968 }
14969 while_break___11: ;
14970 }
14971
14972 while_break___0: ;
14973 }
14974 }
14975 {
14976#line 2242
14977 __cil_tmp42 = acb->io_port_base;
14978#line 2242
14979 __cil_tmp43 = __cil_tmp42 + 136UL;
14980#line 2242
14981 __cil_tmp44 = (int )__cil_tmp43;
14982#line 2242
14983 tmp___8 = inl(__cil_tmp44);
14984#line 2242
14985 sc = tmp___8;
14986#line 2243
14987 __cil_tmp45 = acb->io_port_base;
14988#line 2243
14989 __cil_tmp46 = __cil_tmp45 + 130UL;
14990#line 2243
14991 __cil_tmp47 = (int )__cil_tmp46;
14992#line 2243
14993 tmp___9 = inb(__cil_tmp47);
14994#line 2243
14995 fc = (unsigned int )tmp___9;
14996 }
14997 {
14998#line 2244
14999 __cil_tmp48 = srb->dcb;
15000#line 2244
15001 __cil_tmp49 = __cil_tmp48->sync_period;
15002#line 2244
15003 __cil_tmp50 = (int )__cil_tmp49;
15004#line 2244
15005 if (__cil_tmp50 & 16) {
15006#line 2244
15007 tmp___10 = 1;
15008 } else {
15009#line 2244
15010 tmp___10 = 0;
15011 }
15012 }
15013#line 2244
15014 __cil_tmp51 = fc & 31U;
15015#line 2244
15016 __cil_tmp52 = __cil_tmp51 << tmp___10;
15017#line 2244
15018 d_left_counter = sc + __cil_tmp52;
15019 {
15020#line 2247
15021 while (1) {
15022 while_continue___1: ;
15023
15024#line 2247
15025 goto while_break___1;
15026 }
15027 while_break___12: ;
15028 }
15029
15030 while_break___1: ;
15031#line 2260
15032 if (d_left_counter) {
15033 {
15034#line 2260
15035 __cil_tmp53 = srb->total_xfer_length;
15036#line 2260
15037 if (__cil_tmp53 <= 4UL) {
15038#line 2262
15039 left_io = srb->total_xfer_length;
15040 {
15041#line 2266
15042 while (1) {
15043 while_continue___2: ;
15044
15045#line 2266
15046 goto while_break___2;
15047 }
15048 while_break___13: ;
15049 }
15050
15051 while_break___2: ;
15052 {
15053#line 2272
15054 __cil_tmp54 = srb->dcb;
15055#line 2272
15056 __cil_tmp55 = __cil_tmp54->sync_period;
15057#line 2272
15058 __cil_tmp56 = (int )__cil_tmp55;
15059#line 2272
15060 if (__cil_tmp56 & 16) {
15061 {
15062#line 2273
15063 __cil_tmp57 = acb->io_port_base;
15064#line 2273
15065 __cil_tmp58 = __cil_tmp57 + 143UL;
15066#line 2273
15067 __cil_tmp59 = (int )__cil_tmp58;
15068#line 2273
15069 outb((unsigned char)2, __cil_tmp59);
15070 }
15071 } else {
15072
15073 }
15074 }
15075 {
15076#line 2275
15077 while (1) {
15078 while_continue___3: ;
15079
15080#line 2275
15081 if (left_io) {
15082
15083 } else {
15084#line 2275
15085 goto while_break___3;
15086 }
15087#line 2276
15088 __cil_tmp60 = (void *)0;
15089#line 2276
15090 base = (unsigned char *)__cil_tmp60;
15091#line 2277
15092 flags = 0UL;
15093#line 2278
15094 len = left_io;
15095#line 2279
15096 __cil_tmp61 = srb->request_length;
15097#line 2279
15098 offset = __cil_tmp61 - left_io;
15099 {
15100#line 2281
15101 while (1) {
15102 while_continue___4: ;
15103
15104 {
15105#line 2281
15106 while (1) {
15107 while_continue___5: ;
15108 {
15109#line 2281
15110 flags = arch_local_irq_save();
15111 }
15112#line 2281
15113 goto while_break___5;
15114 }
15115 while_break___16: ;
15116 }
15117
15118 while_break___5:
15119 {
15120#line 2281
15121 trace_hardirqs_off();
15122 }
15123#line 2281
15124 goto while_break___4;
15125 }
15126 while_break___15: ;
15127 }
15128
15129 while_break___4:
15130 {
15131#line 2284
15132 __cil_tmp62 = srb->cmd;
15133#line 2284
15134 tmp___11 = scsi_sglist(__cil_tmp62);
15135#line 2284
15136 __cil_tmp63 = srb->sg_count;
15137#line 2284
15138 __cil_tmp64 = (int )__cil_tmp63;
15139#line 2284
15140 tmp___12 = scsi_kmap_atomic_sg(tmp___11, __cil_tmp64, & offset, & len);
15141#line 2284
15142 base = (unsigned char *)tmp___12;
15143#line 2286
15144 virt = base + offset;
15145#line 2288
15146 left_io = left_io - len;
15147 }
15148 {
15149#line 2290
15150 while (1) {
15151 while_continue___6: ;
15152
15153#line 2290
15154 if (len) {
15155
15156 } else {
15157#line 2290
15158 goto while_break___6;
15159 }
15160 {
15161#line 2292
15162 __cil_tmp65 = acb->io_port_base;
15163#line 2292
15164 __cil_tmp66 = __cil_tmp65 + 152UL;
15165#line 2292
15166 __cil_tmp67 = (int )__cil_tmp66;
15167#line 2292
15168 tmp___13 = inb(__cil_tmp67);
15169#line 2292
15170 byte = tmp___13;
15171#line 2293
15172 tmp___14 = virt;
15173#line 2293
15174 virt = virt + 1;
15175#line 2293
15176 *tmp___14 = byte;
15177#line 2298
15178 d_left_counter = d_left_counter - 1U;
15179#line 2299
15180 sg_subtract_one(srb);
15181#line 2301
15182 len = len - 1UL;
15183#line 2303
15184 __cil_tmp68 = acb->io_port_base;
15185#line 2303
15186 __cil_tmp69 = __cil_tmp68 + 130UL;
15187#line 2303
15188 __cil_tmp70 = (int )__cil_tmp69;
15189#line 2303
15190 tmp___15 = inb(__cil_tmp70);
15191#line 2303
15192 fc = (unsigned int )tmp___15;
15193 }
15194#line 2305
15195 if (fc == 64U) {
15196#line 2306
15197 left_io = (size_t )0;
15198#line 2307
15199 goto while_break___6;
15200 } else {
15201
15202 }
15203 }
15204 while_break___17: ;
15205 }
15206
15207 while_break___6:
15208 {
15209#line 2311
15210 __cil_tmp71 = ! d_left_counter;
15211#line 2311
15212 __cil_tmp72 = fc != 64U;
15213#line 2311
15214 __cil_tmp73 = __cil_tmp72 == __cil_tmp71;
15215#line 2311
15216 __cil_tmp74 = ! __cil_tmp73;
15217#line 2311
15218 __ret_warn_on = ! __cil_tmp74;
15219#line 2311
15220 __cil_tmp75 = ! __ret_warn_on;
15221#line 2311
15222 __cil_tmp76 = ! __cil_tmp75;
15223#line 2311
15224 __cil_tmp77 = (long )__cil_tmp76;
15225#line 2311
15226 tmp___16 = __builtin_expect(__cil_tmp77, 0L);
15227 }
15228#line 2311
15229 if (tmp___16) {
15230 {
15231#line 2311
15232 __cil_tmp78 = (int const )2311;
15233#line 2311
15234 __cil_tmp79 = (int )__cil_tmp78;
15235#line 2311
15236 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c",
15237 __cil_tmp79);
15238 }
15239 } else {
15240
15241 }
15242 {
15243#line 2311
15244 __cil_tmp80 = ! __ret_warn_on;
15245#line 2311
15246 __cil_tmp81 = ! __cil_tmp80;
15247#line 2311
15248 __cil_tmp82 = (long )__cil_tmp81;
15249#line 2311
15250 __builtin_expect(__cil_tmp82, 0L);
15251 }
15252#line 2313
15253 if (fc == 64U) {
15254 {
15255#line 2313
15256 __cil_tmp83 = srb->dcb;
15257#line 2313
15258 __cil_tmp84 = __cil_tmp83->sync_period;
15259#line 2313
15260 __cil_tmp85 = (int )__cil_tmp84;
15261#line 2313
15262 if (__cil_tmp85 & 16) {
15263 {
15264#line 2315
15265 __cil_tmp86 = srb->total_xfer_length;
15266#line 2315
15267 if (__cil_tmp86 > 0UL) {
15268 {
15269#line 2316
15270 __cil_tmp87 = acb->io_port_base;
15271#line 2316
15272 __cil_tmp88 = __cil_tmp87 + 152UL;
15273#line 2316
15274 __cil_tmp89 = (int )__cil_tmp88;
15275#line 2316
15276 tmp___17 = inb(__cil_tmp89);
15277#line 2316
15278 byte___0 = tmp___17;
15279#line 2318
15280 tmp___18 = virt;
15281#line 2318
15282 virt = virt + 1;
15283#line 2318
15284 *tmp___18 = byte___0;
15285#line 2319
15286 __cil_tmp90 = srb->total_xfer_length;
15287#line 2319
15288 srb->total_xfer_length = __cil_tmp90 - 1UL;
15289 }
15290 } else {
15291
15292 }
15293 }
15294 {
15295#line 2324
15296 __cil_tmp91 = acb->io_port_base;
15297#line 2324
15298 __cil_tmp92 = __cil_tmp91 + 143UL;
15299#line 2324
15300 __cil_tmp93 = (int )__cil_tmp92;
15301#line 2324
15302 outb((unsigned char)0, __cil_tmp93);
15303 }
15304 } else {
15305
15306 }
15307 }
15308 } else {
15309
15310 }
15311 {
15312#line 2327
15313 __cil_tmp94 = (void *)base;
15314#line 2327
15315 scsi_kunmap_atomic_sg(__cil_tmp94);
15316 }
15317 {
15318#line 2328
15319 while (1) {
15320 while_continue___7: ;
15321 {
15322#line 2328
15323 tmp___19 = arch_irqs_disabled_flags(flags);
15324 }
15325#line 2328
15326 if (tmp___19) {
15327 {
15328#line 2328
15329 while (1) {
15330 while_continue___8: ;
15331 {
15332#line 2328
15333 arch_local_irq_restore(flags);
15334 }
15335#line 2328
15336 goto while_break___8;
15337 }
15338 while_break___19: ;
15339 }
15340
15341 while_break___8:
15342 {
15343#line 2328
15344 trace_hardirqs_off();
15345 }
15346 } else {
15347 {
15348#line 2328
15349 trace_hardirqs_on();
15350 }
15351 {
15352#line 2328
15353 while (1) {
15354 while_continue___9: ;
15355 {
15356#line 2328
15357 arch_local_irq_restore(flags);
15358 }
15359#line 2328
15360 goto while_break___9;
15361 }
15362 while_break___20: ;
15363 }
15364
15365 while_break___9: ;
15366 }
15367#line 2328
15368 goto while_break___7;
15369 }
15370 while_break___18: ;
15371 }
15372
15373 while_break___7: ;
15374 }
15375 while_break___14: ;
15376 }
15377
15378 while_break___3: ;
15379 } else {
15380
15381 }
15382 }
15383 } else {
15384
15385 }
15386#line 2360
15387 if (d_left_counter == 0U) {
15388#line 2374
15389 srb->total_xfer_length = (size_t )d_left_counter;
15390 } else {
15391 {
15392#line 2360
15393 __cil_tmp95 = (int )scsi_status;
15394#line 2360
15395 if (__cil_tmp95 & 256) {
15396#line 2374
15397 srb->total_xfer_length = (size_t )d_left_counter;
15398 } else {
15399 {
15400#line 2384
15401 sg_update_list(srb, d_left_counter);
15402 }
15403 }
15404 }
15405 }
15406 } else {
15407
15408 }
15409 }
15410 {
15411#line 2388
15412 __cil_tmp96 = *pscsi_status;
15413#line 2388
15414 __cil_tmp97 = (int )__cil_tmp96;
15415#line 2388
15416 __cil_tmp98 = __cil_tmp97 & 7;
15417#line 2388
15418 if (__cil_tmp98 != 1) {
15419 {
15420#line 2389
15421 cleanup_after_transfer(acb, srb);
15422 }
15423 } else {
15424
15425 }
15426 }
15427#line 2391
15428 return;
15429}
15430}
15431#line 2394 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
15432static void data_in_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
15433{ u16 __cil_tmp4 ;
15434
15435 {
15436 {
15437#line 2397
15438 while (1) {
15439 while_continue: ;
15440
15441#line 2397
15442 goto while_break;
15443 }
15444 while_break___0: ;
15445 }
15446
15447 while_break:
15448 {
15449#line 2399
15450 __cil_tmp4 = (u16 )257;
15451#line 2399
15452 data_io_transfer(acb, srb, __cil_tmp4);
15453 }
15454#line 2400
15455 return;
15456}
15457}
15458#line 2403 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
15459static void data_io_transfer(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb ,
15460 u16 io_dir )
15461{ struct DeviceCtlBlk *dcb ;
15462 u8 bval ;
15463 u8 dma_status ;
15464 unsigned char tmp___7 ;
15465 unsigned int tmp___8 ;
15466 int ln ;
15467 size_t left_io ;
15468 unsigned char *virt ;
15469 unsigned char *base ;
15470 unsigned long flags ;
15471 size_t len ;
15472 size_t offset ;
15473 struct scatterlist *tmp___9 ;
15474 void *tmp___10 ;
15475 unsigned char *tmp___11 ;
15476 size_t tmp___12 ;
15477 int tmp___13 ;
15478 u8 data ;
15479 u8 data2 ;
15480 unsigned char tmp___14 ;
15481 unsigned char tmp___15 ;
15482 unsigned char tmp___16 ;
15483 struct ScsiReqBlk *__cil_tmp26 ;
15484 unsigned long __cil_tmp27 ;
15485 unsigned long __cil_tmp28 ;
15486 u8 __cil_tmp29 ;
15487 int __cil_tmp30 ;
15488 u8 __cil_tmp31 ;
15489 int __cil_tmp32 ;
15490 size_t __cil_tmp33 ;
15491 unsigned long __cil_tmp34 ;
15492 unsigned long __cil_tmp35 ;
15493 int __cil_tmp36 ;
15494 int __cil_tmp37 ;
15495 unsigned long __cil_tmp38 ;
15496 unsigned long __cil_tmp39 ;
15497 int __cil_tmp40 ;
15498 u16 __cil_tmp41 ;
15499 int __cil_tmp42 ;
15500 int __cil_tmp43 ;
15501 unsigned long __cil_tmp44 ;
15502 unsigned long __cil_tmp45 ;
15503 int __cil_tmp46 ;
15504 struct scsi_cmnd *__cil_tmp47 ;
15505 int __cil_tmp48 ;
15506 int __cil_tmp49 ;
15507 u8 __cil_tmp50 ;
15508 unsigned long __cil_tmp51 ;
15509 unsigned long __cil_tmp52 ;
15510 dma_addr_t __cil_tmp53 ;
15511 dma_addr_t __cil_tmp54 ;
15512 dma_addr_t __cil_tmp55 ;
15513 unsigned int __cil_tmp56 ;
15514 unsigned long __cil_tmp57 ;
15515 unsigned long __cil_tmp58 ;
15516 int __cil_tmp59 ;
15517 u8 __cil_tmp60 ;
15518 int __cil_tmp61 ;
15519 u8 __cil_tmp62 ;
15520 int __cil_tmp63 ;
15521 int __cil_tmp64 ;
15522 u32 __cil_tmp65 ;
15523 u32 __cil_tmp66 ;
15524 unsigned long __cil_tmp67 ;
15525 unsigned long __cil_tmp68 ;
15526 int __cil_tmp69 ;
15527 int __cil_tmp70 ;
15528 int __cil_tmp71 ;
15529 struct SGentry *__cil_tmp72 ;
15530 struct SGentry *__cil_tmp73 ;
15531 u32 __cil_tmp74 ;
15532 unsigned long __cil_tmp75 ;
15533 unsigned long __cil_tmp76 ;
15534 int __cil_tmp77 ;
15535 struct SGentry *__cil_tmp78 ;
15536 struct SGentry *__cil_tmp79 ;
15537 u32 __cil_tmp80 ;
15538 unsigned long __cil_tmp81 ;
15539 unsigned long __cil_tmp82 ;
15540 int __cil_tmp83 ;
15541 size_t __cil_tmp84 ;
15542 unsigned int __cil_tmp85 ;
15543 unsigned long __cil_tmp86 ;
15544 unsigned long __cil_tmp87 ;
15545 int __cil_tmp88 ;
15546 unsigned long __cil_tmp89 ;
15547 unsigned long __cil_tmp90 ;
15548 int __cil_tmp91 ;
15549 int __cil_tmp92 ;
15550 unsigned long __cil_tmp93 ;
15551 unsigned long __cil_tmp94 ;
15552 int __cil_tmp95 ;
15553 unsigned long __cil_tmp96 ;
15554 unsigned long __cil_tmp97 ;
15555 int __cil_tmp98 ;
15556 unsigned long __cil_tmp99 ;
15557 unsigned long __cil_tmp100 ;
15558 int __cil_tmp101 ;
15559 unsigned long __cil_tmp102 ;
15560 unsigned long __cil_tmp103 ;
15561 int __cil_tmp104 ;
15562 size_t __cil_tmp105 ;
15563 u16 __cil_tmp106 ;
15564 int __cil_tmp107 ;
15565 int __cil_tmp108 ;
15566 size_t __cil_tmp109 ;
15567 unsigned int __cil_tmp110 ;
15568 unsigned long __cil_tmp111 ;
15569 unsigned long __cil_tmp112 ;
15570 int __cil_tmp113 ;
15571 unsigned long __cil_tmp114 ;
15572 unsigned long __cil_tmp115 ;
15573 int __cil_tmp116 ;
15574 int __cil_tmp117 ;
15575 unsigned long __cil_tmp118 ;
15576 unsigned long __cil_tmp119 ;
15577 int __cil_tmp120 ;
15578 size_t __cil_tmp121 ;
15579 struct DeviceCtlBlk *__cil_tmp122 ;
15580 u8 __cil_tmp123 ;
15581 int __cil_tmp124 ;
15582 unsigned long __cil_tmp125 ;
15583 unsigned long __cil_tmp126 ;
15584 int __cil_tmp127 ;
15585 void *__cil_tmp128 ;
15586 size_t __cil_tmp129 ;
15587 struct scsi_cmnd *__cil_tmp130 ;
15588 u8 __cil_tmp131 ;
15589 int __cil_tmp132 ;
15590 unsigned char __cil_tmp133 ;
15591 unsigned long __cil_tmp134 ;
15592 unsigned long __cil_tmp135 ;
15593 int __cil_tmp136 ;
15594 void *__cil_tmp137 ;
15595 struct DeviceCtlBlk *__cil_tmp138 ;
15596 u8 __cil_tmp139 ;
15597 int __cil_tmp140 ;
15598 unsigned long __cil_tmp141 ;
15599 unsigned long __cil_tmp142 ;
15600 int __cil_tmp143 ;
15601 unsigned long __cil_tmp144 ;
15602 unsigned long __cil_tmp145 ;
15603 int __cil_tmp146 ;
15604 unsigned long __cil_tmp147 ;
15605 unsigned long __cil_tmp148 ;
15606 int __cil_tmp149 ;
15607 u8 __cil_tmp150 ;
15608 int __cil_tmp151 ;
15609 int __cil_tmp152 ;
15610 u8 __cil_tmp153 ;
15611 int __cil_tmp154 ;
15612 unsigned long __cil_tmp155 ;
15613 unsigned long __cil_tmp156 ;
15614 int __cil_tmp157 ;
15615 unsigned long __cil_tmp158 ;
15616 unsigned long __cil_tmp159 ;
15617 int __cil_tmp160 ;
15618 int __cil_tmp161 ;
15619 unsigned long __cil_tmp162 ;
15620 unsigned long __cil_tmp163 ;
15621 int __cil_tmp164 ;
15622 unsigned long __cil_tmp165 ;
15623 unsigned long __cil_tmp166 ;
15624 int __cil_tmp167 ;
15625 unsigned char __cil_tmp168 ;
15626 unsigned long __cil_tmp169 ;
15627 unsigned long __cil_tmp170 ;
15628 int __cil_tmp171 ;
15629 unsigned char __cil_tmp172 ;
15630 unsigned long __cil_tmp173 ;
15631 unsigned long __cil_tmp174 ;
15632 int __cil_tmp175 ;
15633 unsigned long __cil_tmp176 ;
15634 unsigned long __cil_tmp177 ;
15635 int __cil_tmp178 ;
15636 unsigned long __cil_tmp179 ;
15637 unsigned long __cil_tmp180 ;
15638 int __cil_tmp181 ;
15639 int __cil_tmp182 ;
15640 unsigned long __cil_tmp183 ;
15641 unsigned long __cil_tmp184 ;
15642 int __cil_tmp185 ;
15643 unsigned char __cil_tmp186 ;
15644 unsigned long __cil_tmp187 ;
15645 unsigned long __cil_tmp188 ;
15646 int __cil_tmp189 ;
15647 u16 __cil_tmp190 ;
15648 int __cil_tmp191 ;
15649 int __cil_tmp192 ;
15650 unsigned long __cil_tmp193 ;
15651 unsigned long __cil_tmp194 ;
15652 int __cil_tmp195 ;
15653 int __cil_tmp196 ;
15654 unsigned long __cil_tmp197 ;
15655 unsigned long __cil_tmp198 ;
15656 int __cil_tmp199 ;
15657
15658 {
15659#line 2406
15660 dcb = srb->dcb;
15661 {
15662#line 2408
15663 while (1) {
15664 while_continue: ;
15665
15666#line 2408
15667 goto while_break;
15668 }
15669 while_break___7: ;
15670 }
15671
15672 while_break: ;
15673 {
15674#line 2413
15675 __cil_tmp26 = acb->tmp_srb;
15676#line 2413
15677 __cil_tmp27 = (unsigned long )__cil_tmp26;
15678#line 2413
15679 __cil_tmp28 = (unsigned long )srb;
15680#line 2413
15681 if (__cil_tmp28 == __cil_tmp27) {
15682 {
15683#line 2414
15684 printk("<3>dc395x: data_io_transfer: Using tmp_srb!\n");
15685 }
15686 } else {
15687
15688 }
15689 }
15690 {
15691#line 2415
15692 __cil_tmp29 = srb->sg_count;
15693#line 2415
15694 __cil_tmp30 = (int )__cil_tmp29;
15695#line 2415
15696 __cil_tmp31 = srb->sg_index;
15697#line 2415
15698 __cil_tmp32 = (int )__cil_tmp31;
15699#line 2415
15700 if (__cil_tmp32 >= __cil_tmp30) {
15701#line 2417
15702 return;
15703 } else {
15704
15705 }
15706 }
15707 {
15708#line 2420
15709 __cil_tmp33 = srb->total_xfer_length;
15710#line 2420
15711 if (__cil_tmp33 > 4UL) {
15712 {
15713#line 2421
15714 __cil_tmp34 = acb->io_port_base;
15715#line 2421
15716 __cil_tmp35 = __cil_tmp34 + 163UL;
15717#line 2421
15718 __cil_tmp36 = (int )__cil_tmp35;
15719#line 2421
15720 tmp___7 = inb(__cil_tmp36);
15721#line 2421
15722 dma_status = tmp___7;
15723 }
15724 {
15725#line 2426
15726 __cil_tmp37 = (int )dma_status;
15727#line 2426
15728 if (__cil_tmp37 & 128) {
15729 {
15730#line 2427
15731 printk("<7>dc395x: data_io_transfer: Xfer pending! Expect trouble!\n");
15732#line 2429
15733 dump_register_info(acb, dcb, srb);
15734#line 2430
15735 __cil_tmp38 = acb->io_port_base;
15736#line 2430
15737 __cil_tmp39 = __cil_tmp38 + 161UL;
15738#line 2430
15739 __cil_tmp40 = (int )__cil_tmp39;
15740#line 2430
15741 outb((unsigned char)2, __cil_tmp40);
15742 }
15743 } else {
15744
15745 }
15746 }
15747 {
15748#line 2437
15749 __cil_tmp41 = srb->state;
15750#line 2437
15751 __cil_tmp42 = (int )__cil_tmp41;
15752#line 2437
15753 __cil_tmp43 = __cil_tmp42 | 256;
15754#line 2437
15755 srb->state = (u16 )__cil_tmp43;
15756#line 2438
15757 __cil_tmp44 = acb->io_port_base;
15758#line 2438
15759 __cil_tmp45 = __cil_tmp44 + 180UL;
15760#line 2438
15761 __cil_tmp46 = (int )__cil_tmp45;
15762#line 2438
15763 outl(0U, __cil_tmp46);
15764#line 2439
15765 __cil_tmp47 = srb->cmd;
15766#line 2439
15767 tmp___8 = scsi_sg_count(__cil_tmp47);
15768 }
15769#line 2439
15770 if (tmp___8) {
15771 {
15772#line 2440
15773 __cil_tmp48 = (int )io_dir;
15774#line 2440
15775 __cil_tmp49 = __cil_tmp48 | 2;
15776#line 2440
15777 io_dir = (u16 )__cil_tmp49;
15778#line 2441
15779 __cil_tmp50 = srb->sg_index;
15780#line 2441
15781 __cil_tmp51 = (unsigned long )__cil_tmp50;
15782#line 2441
15783 __cil_tmp52 = 8UL * __cil_tmp51;
15784#line 2441
15785 __cil_tmp53 = (dma_addr_t )__cil_tmp52;
15786#line 2441
15787 __cil_tmp54 = srb->sg_bus_addr;
15788#line 2441
15789 __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
15790#line 2441
15791 __cil_tmp56 = (unsigned int )__cil_tmp55;
15792#line 2441
15793 __cil_tmp57 = acb->io_port_base;
15794#line 2441
15795 __cil_tmp58 = __cil_tmp57 + 176UL;
15796#line 2441
15797 __cil_tmp59 = (int )__cil_tmp58;
15798#line 2441
15799 outl(__cil_tmp56, __cil_tmp59);
15800#line 2446
15801 __cil_tmp60 = srb->sg_index;
15802#line 2446
15803 __cil_tmp61 = (int )__cil_tmp60;
15804#line 2446
15805 __cil_tmp62 = srb->sg_count;
15806#line 2446
15807 __cil_tmp63 = (int )__cil_tmp62;
15808#line 2446
15809 __cil_tmp64 = __cil_tmp63 - __cil_tmp61;
15810#line 2446
15811 __cil_tmp65 = (u32 )__cil_tmp64;
15812#line 2446
15813 __cil_tmp66 = __cil_tmp65 << 3;
15814#line 2446
15815 __cil_tmp67 = acb->io_port_base;
15816#line 2446
15817 __cil_tmp68 = __cil_tmp67 + 168UL;
15818#line 2446
15819 __cil_tmp69 = (int )__cil_tmp68;
15820#line 2446
15821 outl(__cil_tmp66, __cil_tmp69);
15822 }
15823 } else {
15824 {
15825#line 2450
15826 __cil_tmp70 = (int )io_dir;
15827#line 2450
15828 __cil_tmp71 = __cil_tmp70 & -3;
15829#line 2450
15830 io_dir = (u16 )__cil_tmp71;
15831#line 2451
15832 __cil_tmp72 = srb->segment_x;
15833#line 2451
15834 __cil_tmp73 = __cil_tmp72 + 0;
15835#line 2451
15836 __cil_tmp74 = __cil_tmp73->address;
15837#line 2451
15838 __cil_tmp75 = acb->io_port_base;
15839#line 2451
15840 __cil_tmp76 = __cil_tmp75 + 176UL;
15841#line 2451
15842 __cil_tmp77 = (int )__cil_tmp76;
15843#line 2451
15844 outl(__cil_tmp74, __cil_tmp77);
15845#line 2453
15846 __cil_tmp78 = srb->segment_x;
15847#line 2453
15848 __cil_tmp79 = __cil_tmp78 + 0;
15849#line 2453
15850 __cil_tmp80 = __cil_tmp79->length;
15851#line 2453
15852 __cil_tmp81 = acb->io_port_base;
15853#line 2453
15854 __cil_tmp82 = __cil_tmp81 + 168UL;
15855#line 2453
15856 __cil_tmp83 = (int )__cil_tmp82;
15857#line 2453
15858 outl(__cil_tmp80, __cil_tmp83);
15859 }
15860 }
15861 {
15862#line 2457
15863 __cil_tmp84 = srb->total_xfer_length;
15864#line 2457
15865 __cil_tmp85 = (unsigned int )__cil_tmp84;
15866#line 2457
15867 __cil_tmp86 = acb->io_port_base;
15868#line 2457
15869 __cil_tmp87 = __cil_tmp86 + 136UL;
15870#line 2457
15871 __cil_tmp88 = (int )__cil_tmp87;
15872#line 2457
15873 outl(__cil_tmp85, __cil_tmp88);
15874#line 2459
15875 __cil_tmp89 = acb->io_port_base;
15876#line 2459
15877 __cil_tmp90 = __cil_tmp89 + 128UL;
15878#line 2459
15879 __cil_tmp91 = (int )__cil_tmp90;
15880#line 2459
15881 outw((unsigned short)2, __cil_tmp91);
15882 }
15883 {
15884#line 2460
15885 __cil_tmp92 = (int )io_dir;
15886#line 2460
15887 if (__cil_tmp92 & 1) {
15888 {
15889#line 2461
15890 __cil_tmp93 = acb->io_port_base;
15891#line 2461
15892 __cil_tmp94 = __cil_tmp93 + 144UL;
15893#line 2461
15894 __cil_tmp95 = (int )__cil_tmp94;
15895#line 2461
15896 outb((unsigned char)195, __cil_tmp95);
15897#line 2463
15898 __cil_tmp96 = acb->io_port_base;
15899#line 2463
15900 __cil_tmp97 = __cil_tmp96 + 160UL;
15901#line 2463
15902 __cil_tmp98 = (int )__cil_tmp97;
15903#line 2463
15904 outw(io_dir, __cil_tmp98);
15905 }
15906 } else {
15907 {
15908#line 2465
15909 __cil_tmp99 = acb->io_port_base;
15910#line 2465
15911 __cil_tmp100 = __cil_tmp99 + 160UL;
15912#line 2465
15913 __cil_tmp101 = (int )__cil_tmp100;
15914#line 2465
15915 outw(io_dir, __cil_tmp101);
15916#line 2466
15917 __cil_tmp102 = acb->io_port_base;
15918#line 2466
15919 __cil_tmp103 = __cil_tmp102 + 144UL;
15920#line 2466
15921 __cil_tmp104 = (int )__cil_tmp103;
15922#line 2466
15923 outb((unsigned char)193, __cil_tmp104);
15924 }
15925 }
15926 }
15927 } else {
15928 {
15929#line 2472
15930 __cil_tmp105 = srb->total_xfer_length;
15931#line 2472
15932 if (__cil_tmp105 > 0UL) {
15933 {
15934#line 2477
15935 __cil_tmp106 = srb->state;
15936#line 2477
15937 __cil_tmp107 = (int )__cil_tmp106;
15938#line 2477
15939 __cil_tmp108 = __cil_tmp107 | 256;
15940#line 2477
15941 srb->state = (u16 )__cil_tmp108;
15942#line 2479
15943 __cil_tmp109 = srb->total_xfer_length;
15944#line 2479
15945 __cil_tmp110 = (unsigned int )__cil_tmp109;
15946#line 2479
15947 __cil_tmp111 = acb->io_port_base;
15948#line 2479
15949 __cil_tmp112 = __cil_tmp111 + 136UL;
15950#line 2479
15951 __cil_tmp113 = (int )__cil_tmp112;
15952#line 2479
15953 outl(__cil_tmp110, __cil_tmp113);
15954#line 2481
15955 __cil_tmp114 = acb->io_port_base;
15956#line 2481
15957 __cil_tmp115 = __cil_tmp114 + 128UL;
15958#line 2481
15959 __cil_tmp116 = (int )__cil_tmp115;
15960#line 2481
15961 outw((unsigned short)2, __cil_tmp116);
15962 }
15963 {
15964#line 2482
15965 __cil_tmp117 = (int )io_dir;
15966#line 2482
15967 if (__cil_tmp117 & 1) {
15968 {
15969#line 2483
15970 __cil_tmp118 = acb->io_port_base;
15971#line 2483
15972 __cil_tmp119 = __cil_tmp118 + 144UL;
15973#line 2483
15974 __cil_tmp120 = (int )__cil_tmp119;
15975#line 2483
15976 outb((unsigned char)194, __cil_tmp120);
15977 }
15978 } else {
15979#line 2486
15980 __cil_tmp121 = srb->total_xfer_length;
15981#line 2486
15982 ln = (int )__cil_tmp121;
15983#line 2487
15984 left_io = srb->total_xfer_length;
15985 {
15986#line 2489
15987 __cil_tmp122 = srb->dcb;
15988#line 2489
15989 __cil_tmp123 = __cil_tmp122->sync_period;
15990#line 2489
15991 __cil_tmp124 = (int )__cil_tmp123;
15992#line 2489
15993 if (__cil_tmp124 & 16) {
15994 {
15995#line 2490
15996 __cil_tmp125 = acb->io_port_base;
15997#line 2490
15998 __cil_tmp126 = __cil_tmp125 + 143UL;
15999#line 2490
16000 __cil_tmp127 = (int )__cil_tmp126;
16001#line 2490
16002 outb((unsigned char)2, __cil_tmp127);
16003 }
16004 } else {
16005
16006 }
16007 }
16008 {
16009#line 2493
16010 while (1) {
16011 while_continue___0: ;
16012
16013#line 2493
16014 if (left_io) {
16015
16016 } else {
16017#line 2493
16018 goto while_break___0;
16019 }
16020#line 2494
16021 __cil_tmp128 = (void *)0;
16022#line 2494
16023 base = (unsigned char *)__cil_tmp128;
16024#line 2495
16025 flags = 0UL;
16026#line 2496
16027 len = left_io;
16028#line 2497
16029 __cil_tmp129 = srb->request_length;
16030#line 2497
16031 offset = __cil_tmp129 - left_io;
16032 {
16033#line 2499
16034 while (1) {
16035 while_continue___1: ;
16036
16037 {
16038#line 2499
16039 while (1) {
16040 while_continue___2: ;
16041 {
16042#line 2499
16043 flags = arch_local_irq_save();
16044 }
16045#line 2499
16046 goto while_break___2;
16047 }
16048 while_break___10: ;
16049 }
16050
16051 while_break___2:
16052 {
16053#line 2499
16054 trace_hardirqs_off();
16055 }
16056#line 2499
16057 goto while_break___1;
16058 }
16059 while_break___9: ;
16060 }
16061
16062 while_break___1:
16063 {
16064#line 2501
16065 __cil_tmp130 = srb->cmd;
16066#line 2501
16067 tmp___9 = scsi_sglist(__cil_tmp130);
16068#line 2501
16069 __cil_tmp131 = srb->sg_count;
16070#line 2501
16071 __cil_tmp132 = (int )__cil_tmp131;
16072#line 2501
16073 tmp___10 = scsi_kmap_atomic_sg(tmp___9, __cil_tmp132, & offset, & len);
16074#line 2501
16075 base = (unsigned char *)tmp___10;
16076#line 2503
16077 virt = base + offset;
16078#line 2505
16079 left_io = left_io - len;
16080 }
16081 {
16082#line 2507
16083 while (1) {
16084 while_continue___3: ;
16085#line 2507
16086 tmp___12 = len;
16087#line 2507
16088 len = len - 1UL;
16089#line 2507
16090 if (tmp___12) {
16091
16092 } else {
16093#line 2507
16094 goto while_break___3;
16095 }
16096 {
16097#line 2511
16098 tmp___11 = virt;
16099#line 2511
16100 virt = virt + 1;
16101#line 2511
16102 __cil_tmp133 = *tmp___11;
16103#line 2511
16104 __cil_tmp134 = acb->io_port_base;
16105#line 2511
16106 __cil_tmp135 = __cil_tmp134 + 152UL;
16107#line 2511
16108 __cil_tmp136 = (int )__cil_tmp135;
16109#line 2511
16110 outb(__cil_tmp133, __cil_tmp136);
16111#line 2513
16112 sg_subtract_one(srb);
16113 }
16114 }
16115 while_break___11: ;
16116 }
16117
16118 while_break___3:
16119 {
16120#line 2516
16121 __cil_tmp137 = (void *)base;
16122#line 2516
16123 scsi_kunmap_atomic_sg(__cil_tmp137);
16124 }
16125 {
16126#line 2517
16127 while (1) {
16128 while_continue___4: ;
16129 {
16130#line 2517
16131 tmp___13 = arch_irqs_disabled_flags(flags);
16132 }
16133#line 2517
16134 if (tmp___13) {
16135 {
16136#line 2517
16137 while (1) {
16138 while_continue___5: ;
16139 {
16140#line 2517
16141 arch_local_irq_restore(flags);
16142 }
16143#line 2517
16144 goto while_break___5;
16145 }
16146 while_break___13: ;
16147 }
16148
16149 while_break___5:
16150 {
16151#line 2517
16152 trace_hardirqs_off();
16153 }
16154 } else {
16155 {
16156#line 2517
16157 trace_hardirqs_on();
16158 }
16159 {
16160#line 2517
16161 while (1) {
16162 while_continue___6: ;
16163 {
16164#line 2517
16165 arch_local_irq_restore(flags);
16166 }
16167#line 2517
16168 goto while_break___6;
16169 }
16170 while_break___14: ;
16171 }
16172
16173 while_break___6: ;
16174 }
16175#line 2517
16176 goto while_break___4;
16177 }
16178 while_break___12: ;
16179 }
16180
16181 while_break___4: ;
16182 }
16183 while_break___8: ;
16184 }
16185
16186 while_break___0: ;
16187 {
16188#line 2519
16189 __cil_tmp138 = srb->dcb;
16190#line 2519
16191 __cil_tmp139 = __cil_tmp138->sync_period;
16192#line 2519
16193 __cil_tmp140 = (int )__cil_tmp139;
16194#line 2519
16195 if (__cil_tmp140 & 16) {
16196#line 2520
16197 if (ln % 2) {
16198 {
16199#line 2521
16200 __cil_tmp141 = acb->io_port_base;
16201#line 2521
16202 __cil_tmp142 = __cil_tmp141 + 152UL;
16203#line 2521
16204 __cil_tmp143 = (int )__cil_tmp142;
16205#line 2521
16206 outb((unsigned char)0, __cil_tmp143);
16207 }
16208 } else {
16209
16210 }
16211 {
16212#line 2525
16213 __cil_tmp144 = acb->io_port_base;
16214#line 2525
16215 __cil_tmp145 = __cil_tmp144 + 143UL;
16216#line 2525
16217 __cil_tmp146 = (int )__cil_tmp145;
16218#line 2525
16219 outb((unsigned char)0, __cil_tmp146);
16220 }
16221 } else {
16222
16223 }
16224 }
16225 {
16226#line 2530
16227 __cil_tmp147 = acb->io_port_base;
16228#line 2530
16229 __cil_tmp148 = __cil_tmp147 + 144UL;
16230#line 2530
16231 __cil_tmp149 = (int )__cil_tmp148;
16232#line 2530
16233 outb((unsigned char)192, __cil_tmp149);
16234 }
16235 }
16236 }
16237 } else {
16238#line 2536
16239 data = (u8 )0;
16240#line 2536
16241 data2 = (u8 )0;
16242#line 2537
16243 if (srb->sg_count) {
16244#line 2538
16245 srb->adapter_status = (u8 )18;
16246#line 2539
16247 __cil_tmp150 = srb->status;
16248#line 2539
16249 __cil_tmp151 = (int )__cil_tmp150;
16250#line 2539
16251 __cil_tmp152 = __cil_tmp151 | 4;
16252#line 2539
16253 srb->status = (u8 )__cil_tmp152;
16254 } else {
16255
16256 }
16257 {
16258#line 2546
16259 __cil_tmp153 = dcb->sync_period;
16260#line 2546
16261 __cil_tmp154 = (int )__cil_tmp153;
16262#line 2546
16263 if (__cil_tmp154 & 16) {
16264 {
16265#line 2547
16266 __cil_tmp155 = acb->io_port_base;
16267#line 2547
16268 __cil_tmp156 = __cil_tmp155 + 136UL;
16269#line 2547
16270 __cil_tmp157 = (int )__cil_tmp156;
16271#line 2547
16272 outl(2U, __cil_tmp157);
16273#line 2548
16274 __cil_tmp158 = acb->io_port_base;
16275#line 2548
16276 __cil_tmp159 = __cil_tmp158 + 143UL;
16277#line 2548
16278 __cil_tmp160 = (int )__cil_tmp159;
16279#line 2548
16280 outb((unsigned char)2, __cil_tmp160);
16281 }
16282 {
16283#line 2550
16284 __cil_tmp161 = (int )io_dir;
16285#line 2550
16286 if (__cil_tmp161 & 1) {
16287 {
16288#line 2551
16289 __cil_tmp162 = acb->io_port_base;
16290#line 2551
16291 __cil_tmp163 = __cil_tmp162 + 152UL;
16292#line 2551
16293 __cil_tmp164 = (int )__cil_tmp163;
16294#line 2551
16295 tmp___14 = inb(__cil_tmp164);
16296#line 2551
16297 data = tmp___14;
16298#line 2552
16299 __cil_tmp165 = acb->io_port_base;
16300#line 2552
16301 __cil_tmp166 = __cil_tmp165 + 152UL;
16302#line 2552
16303 __cil_tmp167 = (int )__cil_tmp166;
16304#line 2552
16305 tmp___15 = inb(__cil_tmp167);
16306#line 2552
16307 data2 = tmp___15;
16308 }
16309 } else {
16310 {
16311#line 2557
16312 __cil_tmp168 = (unsigned char )'K';
16313#line 2557
16314 __cil_tmp169 = acb->io_port_base;
16315#line 2557
16316 __cil_tmp170 = __cil_tmp169 + 152UL;
16317#line 2557
16318 __cil_tmp171 = (int )__cil_tmp170;
16319#line 2557
16320 outb(__cil_tmp168, __cil_tmp171);
16321#line 2558
16322 __cil_tmp172 = (unsigned char )'G';
16323#line 2558
16324 __cil_tmp173 = acb->io_port_base;
16325#line 2558
16326 __cil_tmp174 = __cil_tmp173 + 152UL;
16327#line 2558
16328 __cil_tmp175 = (int )__cil_tmp174;
16329#line 2558
16330 outb(__cil_tmp172, __cil_tmp175);
16331 }
16332 }
16333 }
16334 {
16335#line 2560
16336 __cil_tmp176 = acb->io_port_base;
16337#line 2560
16338 __cil_tmp177 = __cil_tmp176 + 143UL;
16339#line 2560
16340 __cil_tmp178 = (int )__cil_tmp177;
16341#line 2560
16342 outb((unsigned char)0, __cil_tmp178);
16343 }
16344 } else {
16345 {
16346#line 2562
16347 __cil_tmp179 = acb->io_port_base;
16348#line 2562
16349 __cil_tmp180 = __cil_tmp179 + 136UL;
16350#line 2562
16351 __cil_tmp181 = (int )__cil_tmp180;
16352#line 2562
16353 outl(1U, __cil_tmp181);
16354 }
16355 {
16356#line 2565
16357 __cil_tmp182 = (int )io_dir;
16358#line 2565
16359 if (__cil_tmp182 & 1) {
16360 {
16361#line 2566
16362 __cil_tmp183 = acb->io_port_base;
16363#line 2566
16364 __cil_tmp184 = __cil_tmp183 + 152UL;
16365#line 2566
16366 __cil_tmp185 = (int )__cil_tmp184;
16367#line 2566
16368 tmp___16 = inb(__cil_tmp185);
16369#line 2566
16370 data = tmp___16;
16371 }
16372 } else {
16373 {
16374#line 2568
16375 __cil_tmp186 = (unsigned char )'K';
16376#line 2568
16377 __cil_tmp187 = acb->io_port_base;
16378#line 2568
16379 __cil_tmp188 = __cil_tmp187 + 152UL;
16380#line 2568
16381 __cil_tmp189 = (int )__cil_tmp188;
16382#line 2568
16383 outb(__cil_tmp186, __cil_tmp189);
16384 }
16385 }
16386 }
16387 }
16388 }
16389 {
16390#line 2570
16391 __cil_tmp190 = srb->state;
16392#line 2570
16393 __cil_tmp191 = (int )__cil_tmp190;
16394#line 2570
16395 __cil_tmp192 = __cil_tmp191 | 512;
16396#line 2570
16397 srb->state = (u16 )__cil_tmp192;
16398#line 2571
16399 __cil_tmp193 = acb->io_port_base;
16400#line 2571
16401 __cil_tmp194 = __cil_tmp193 + 128UL;
16402#line 2571
16403 __cil_tmp195 = (int )__cil_tmp194;
16404#line 2571
16405 outw((unsigned short)2, __cil_tmp195);
16406 }
16407 {
16408#line 2573
16409 __cil_tmp196 = (int )io_dir;
16410#line 2573
16411 if (__cil_tmp196 & 1) {
16412#line 2573
16413 bval = (u8 )194;
16414 } else {
16415#line 2573
16416 bval = (u8 )192;
16417 }
16418 }
16419 {
16420#line 2574
16421 __cil_tmp197 = acb->io_port_base;
16422#line 2574
16423 __cil_tmp198 = __cil_tmp197 + 144UL;
16424#line 2574
16425 __cil_tmp199 = (int )__cil_tmp198;
16426#line 2574
16427 outb(bval, __cil_tmp199);
16428 }
16429 }
16430 }
16431 }
16432 }
16433#line 2576
16434 return;
16435}
16436}
16437#line 2579 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16438static void status_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
16439{ unsigned char tmp___7 ;
16440 unsigned char tmp___8 ;
16441 unsigned long __cil_tmp6 ;
16442 unsigned long __cil_tmp7 ;
16443 int __cil_tmp8 ;
16444 unsigned long __cil_tmp9 ;
16445 unsigned long __cil_tmp10 ;
16446 int __cil_tmp11 ;
16447 unsigned long __cil_tmp12 ;
16448 unsigned long __cil_tmp13 ;
16449 int __cil_tmp14 ;
16450 unsigned long __cil_tmp15 ;
16451 unsigned long __cil_tmp16 ;
16452 int __cil_tmp17 ;
16453
16454 {
16455 {
16456#line 2582
16457 while (1) {
16458 while_continue: ;
16459
16460#line 2582
16461 goto while_break;
16462 }
16463 while_break___0: ;
16464 }
16465
16466 while_break:
16467 {
16468#line 2584
16469 __cil_tmp6 = acb->io_port_base;
16470#line 2584
16471 __cil_tmp7 = __cil_tmp6 + 152UL;
16472#line 2584
16473 __cil_tmp8 = (int )__cil_tmp7;
16474#line 2584
16475 tmp___7 = inb(__cil_tmp8);
16476#line 2584
16477 srb->target_status = tmp___7;
16478#line 2585
16479 __cil_tmp9 = acb->io_port_base;
16480#line 2585
16481 __cil_tmp10 = __cil_tmp9 + 152UL;
16482#line 2585
16483 __cil_tmp11 = (int )__cil_tmp10;
16484#line 2585
16485 tmp___8 = inb(__cil_tmp11);
16486#line 2585
16487 srb->end_message = tmp___8;
16488#line 2586
16489 srb->state = (u16 )2048;
16490#line 2587
16491 *pscsi_status = (u16 )5;
16492#line 2588
16493 __cil_tmp12 = acb->io_port_base;
16494#line 2588
16495 __cil_tmp13 = __cil_tmp12 + 128UL;
16496#line 2588
16497 __cil_tmp14 = (int )__cil_tmp13;
16498#line 2588
16499 outw((unsigned short)2, __cil_tmp14);
16500#line 2589
16501 __cil_tmp15 = acb->io_port_base;
16502#line 2589
16503 __cil_tmp16 = __cil_tmp15 + 144UL;
16504#line 2589
16505 __cil_tmp17 = (int )__cil_tmp16;
16506#line 2589
16507 outb((unsigned char)216, __cil_tmp17);
16508 }
16509#line 2590
16510 return;
16511}
16512}
16513#line 2593 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16514static void status_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
16515{ unsigned long __cil_tmp4 ;
16516 unsigned long __cil_tmp5 ;
16517 int __cil_tmp6 ;
16518 unsigned long __cil_tmp7 ;
16519 unsigned long __cil_tmp8 ;
16520 int __cil_tmp9 ;
16521
16522 {
16523 {
16524#line 2596
16525 while (1) {
16526 while_continue: ;
16527
16528#line 2596
16529 goto while_break;
16530 }
16531 while_break___0: ;
16532 }
16533
16534 while_break:
16535 {
16536#line 2598
16537 srb->state = (u16 )1024;
16538#line 2599
16539 __cil_tmp4 = acb->io_port_base;
16540#line 2599
16541 __cil_tmp5 = __cil_tmp4 + 128UL;
16542#line 2599
16543 __cil_tmp6 = (int )__cil_tmp5;
16544#line 2599
16545 outw((unsigned short)2, __cil_tmp6);
16546#line 2600
16547 __cil_tmp7 = acb->io_port_base;
16548#line 2600
16549 __cil_tmp8 = __cil_tmp7 + 144UL;
16550#line 2600
16551 __cil_tmp9 = (int )__cil_tmp8;
16552#line 2600
16553 outb((unsigned char)18, __cil_tmp9);
16554 }
16555#line 2601
16556 return;
16557}
16558}
16559#line 2605 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16560__inline static u8 msgin_completed(u8 *msgbuf , u32 len )
16561{ u8 __cil_tmp3 ;
16562 int __cil_tmp4 ;
16563 u8 *__cil_tmp5 ;
16564 u8 __cil_tmp6 ;
16565 int __cil_tmp7 ;
16566 int __cil_tmp8 ;
16567 u32 __cil_tmp9 ;
16568 u8 __cil_tmp10 ;
16569 int __cil_tmp11 ;
16570 u8 __cil_tmp12 ;
16571 int __cil_tmp13 ;
16572
16573 {
16574 {
16575#line 2607
16576 __cil_tmp3 = *msgbuf;
16577#line 2607
16578 __cil_tmp4 = (int )__cil_tmp3;
16579#line 2607
16580 if (__cil_tmp4 == 1) {
16581#line 2608
16582 if (len < 2U) {
16583#line 2609
16584 return ((u8 )0);
16585 } else {
16586
16587 }
16588 {
16589#line 2610
16590 __cil_tmp5 = msgbuf + 1;
16591#line 2610
16592 __cil_tmp6 = *__cil_tmp5;
16593#line 2610
16594 __cil_tmp7 = (int )__cil_tmp6;
16595#line 2610
16596 __cil_tmp8 = __cil_tmp7 + 2;
16597#line 2610
16598 __cil_tmp9 = (u32 )__cil_tmp8;
16599#line 2610
16600 if (len < __cil_tmp9) {
16601#line 2611
16602 return ((u8 )0);
16603 } else {
16604
16605 }
16606 }
16607 } else {
16608 {
16609#line 2612
16610 __cil_tmp10 = *msgbuf;
16611#line 2612
16612 __cil_tmp11 = (int )__cil_tmp10;
16613#line 2612
16614 if (__cil_tmp11 >= 32) {
16615 {
16616#line 2612
16617 __cil_tmp12 = *msgbuf;
16618#line 2612
16619 __cil_tmp13 = (int )__cil_tmp12;
16620#line 2612
16621 if (__cil_tmp13 <= 47) {
16622#line 2613
16623 if (len < 2U) {
16624#line 2614
16625 return ((u8 )0);
16626 } else {
16627
16628 }
16629 } else {
16630
16631 }
16632 }
16633 } else {
16634
16635 }
16636 }
16637 }
16638 }
16639#line 2615
16640 return ((u8 )1);
16641}
16642}
16643#line 2619 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16644__inline static void msgin_reject(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
16645{ unsigned long __cil_tmp3 ;
16646 unsigned long __cil_tmp4 ;
16647 int __cil_tmp5 ;
16648 u16 __cil_tmp6 ;
16649 int __cil_tmp7 ;
16650 int __cil_tmp8 ;
16651 u16 __cil_tmp9 ;
16652 int __cil_tmp10 ;
16653 int __cil_tmp11 ;
16654 u16 __cil_tmp12 ;
16655 int __cil_tmp13 ;
16656 int __cil_tmp14 ;
16657 u8 __cil_tmp15 ;
16658 int __cil_tmp16 ;
16659 struct DeviceCtlBlk *__cil_tmp17 ;
16660 u8 __cil_tmp18 ;
16661 int __cil_tmp19 ;
16662 struct DeviceCtlBlk *__cil_tmp20 ;
16663 u8 __cil_tmp21 ;
16664 int __cil_tmp22 ;
16665
16666 {
16667 {
16668#line 2622
16669 srb->msgout_buf[0] = (u8 )7;
16670#line 2623
16671 srb->msg_count = (u8 )1;
16672#line 2624
16673 __cil_tmp3 = acb->io_port_base;
16674#line 2624
16675 __cil_tmp4 = __cil_tmp3 + 128UL;
16676#line 2624
16677 __cil_tmp5 = (int )__cil_tmp4;
16678#line 2624
16679 outw((unsigned short)512, __cil_tmp5);
16680#line 2624
16681 __cil_tmp6 = srb->state;
16682#line 2624
16683 __cil_tmp7 = (int )__cil_tmp6;
16684#line 2624
16685 __cil_tmp8 = __cil_tmp7 | 4;
16686#line 2624
16687 srb->state = (u16 )__cil_tmp8;
16688#line 2625
16689 __cil_tmp9 = srb->state;
16690#line 2625
16691 __cil_tmp10 = (int )__cil_tmp9;
16692#line 2625
16693 __cil_tmp11 = __cil_tmp10 & -9;
16694#line 2625
16695 srb->state = (u16 )__cil_tmp11;
16696#line 2626
16697 __cil_tmp12 = srb->state;
16698#line 2626
16699 __cil_tmp13 = (int )__cil_tmp12;
16700#line 2626
16701 __cil_tmp14 = __cil_tmp13 | 4;
16702#line 2626
16703 srb->state = (u16 )__cil_tmp14;
16704#line 2627
16705 __cil_tmp15 = srb->msgin_buf[0];
16706#line 2627
16707 __cil_tmp16 = (int )__cil_tmp15;
16708#line 2627
16709 __cil_tmp17 = srb->dcb;
16710#line 2627
16711 __cil_tmp18 = __cil_tmp17->target_id;
16712#line 2627
16713 __cil_tmp19 = (int )__cil_tmp18;
16714#line 2627
16715 __cil_tmp20 = srb->dcb;
16716#line 2627
16717 __cil_tmp21 = __cil_tmp20->target_lun;
16718#line 2627
16719 __cil_tmp22 = (int )__cil_tmp21;
16720#line 2627
16721 printk("<6>dc395x: msgin_reject: 0x%02x <%02i-%i>\n", __cil_tmp16, __cil_tmp19,
16722 __cil_tmp22);
16723 }
16724#line 2630
16725 return;
16726}
16727}
16728#line 2633 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
16729static struct ScsiReqBlk *msgin_qtag(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb ,
16730 u8 tag )
16731{ struct ScsiReqBlk *srb ;
16732 struct ScsiReqBlk *i ;
16733 int tmp___7 ;
16734 struct list_head const *__mptr ;
16735 struct list_head const *__mptr___0 ;
16736 size_t __len ;
16737 void *__ret ;
16738 void *__cil_tmp11 ;
16739 int __cil_tmp12 ;
16740 int __cil_tmp13 ;
16741 unsigned int __cil_tmp14 ;
16742 u32 __cil_tmp15 ;
16743 unsigned int __cil_tmp16 ;
16744 u32 __cil_tmp17 ;
16745 int __cil_tmp18 ;
16746 struct list_head *__cil_tmp19 ;
16747 struct list_head const *__cil_tmp20 ;
16748 struct list_head *__cil_tmp21 ;
16749 struct ScsiReqBlk *__cil_tmp22 ;
16750 struct list_head *__cil_tmp23 ;
16751 unsigned int __cil_tmp24 ;
16752 char *__cil_tmp25 ;
16753 char *__cil_tmp26 ;
16754 struct list_head *__cil_tmp27 ;
16755 unsigned long __cil_tmp28 ;
16756 struct list_head *__cil_tmp29 ;
16757 unsigned long __cil_tmp30 ;
16758 int __cil_tmp31 ;
16759 u8 __cil_tmp32 ;
16760 int __cil_tmp33 ;
16761 struct list_head *__cil_tmp34 ;
16762 struct ScsiReqBlk *__cil_tmp35 ;
16763 struct list_head *__cil_tmp36 ;
16764 unsigned int __cil_tmp37 ;
16765 char *__cil_tmp38 ;
16766 char *__cil_tmp39 ;
16767 u8 __cil_tmp40 ;
16768 int __cil_tmp41 ;
16769 u16 __cil_tmp42 ;
16770 int __cil_tmp43 ;
16771 int __cil_tmp44 ;
16772 u8 __cil_tmp45 ;
16773 u8 *__cil_tmp46 ;
16774 void *__cil_tmp47 ;
16775 struct ScsiReqBlk *__cil_tmp48 ;
16776 u8 *__cil_tmp49 ;
16777 void const *__cil_tmp50 ;
16778 struct ScsiReqBlk *__cil_tmp51 ;
16779 u16 __cil_tmp52 ;
16780 int __cil_tmp53 ;
16781 u16 __cil_tmp54 ;
16782 int __cil_tmp55 ;
16783 int __cil_tmp56 ;
16784 u16 __cil_tmp57 ;
16785 int __cil_tmp58 ;
16786 int __cil_tmp59 ;
16787 unsigned long __cil_tmp60 ;
16788 unsigned long __cil_tmp61 ;
16789 int __cil_tmp62 ;
16790 u16 __cil_tmp63 ;
16791 int __cil_tmp64 ;
16792 int __cil_tmp65 ;
16793 int __cil_tmp66 ;
16794
16795 {
16796#line 2636
16797 __cil_tmp11 = (void *)0;
16798#line 2636
16799 srb = (struct ScsiReqBlk *)__cil_tmp11;
16800 {
16801#line 2638
16802 while (1) {
16803 while_continue: ;
16804
16805#line 2638
16806 goto while_break;
16807 }
16808 while_break___2: ;
16809 }
16810
16811 while_break: ;
16812 {
16813#line 2641
16814 __cil_tmp12 = (int )tag;
16815#line 2641
16816 __cil_tmp13 = 1 << __cil_tmp12;
16817#line 2641
16818 __cil_tmp14 = (unsigned int )__cil_tmp13;
16819#line 2641
16820 __cil_tmp15 = dcb->tag_mask;
16821#line 2641
16822 __cil_tmp16 = __cil_tmp15 & __cil_tmp14;
16823#line 2641
16824 if (! __cil_tmp16) {
16825 {
16826#line 2642
16827 __cil_tmp17 = dcb->tag_mask;
16828#line 2642
16829 __cil_tmp18 = (int )tag;
16830#line 2642
16831 printk("<7>dc395x: msgin_qtag: tag_mask=0x%08x does not reserve tag %i!\n", __cil_tmp17,
16832 __cil_tmp18);
16833 }
16834 } else {
16835
16836 }
16837 }
16838 {
16839#line 2646
16840 __cil_tmp19 = & dcb->srb_going_list;
16841#line 2646
16842 __cil_tmp20 = (struct list_head const *)__cil_tmp19;
16843#line 2646
16844 tmp___7 = list_empty(__cil_tmp20);
16845 }
16846#line 2646
16847 if (tmp___7) {
16848#line 2647
16849 goto mingx0;
16850 } else {
16851
16852 }
16853#line 2648
16854 __cil_tmp21 = dcb->srb_going_list.next;
16855#line 2648
16856 __mptr = (struct list_head const *)__cil_tmp21;
16857#line 2648
16858 __cil_tmp22 = (struct ScsiReqBlk *)0;
16859#line 2648
16860 __cil_tmp23 = & __cil_tmp22->list;
16861#line 2648
16862 __cil_tmp24 = (unsigned int )__cil_tmp23;
16863#line 2648
16864 __cil_tmp25 = (char *)__mptr;
16865#line 2648
16866 __cil_tmp26 = __cil_tmp25 - __cil_tmp24;
16867#line 2648
16868 i = (struct ScsiReqBlk *)__cil_tmp26;
16869 {
16870#line 2648
16871 while (1) {
16872 while_continue___0: ;
16873
16874 {
16875#line 2648
16876 __cil_tmp27 = & dcb->srb_going_list;
16877#line 2648
16878 __cil_tmp28 = (unsigned long )__cil_tmp27;
16879#line 2648
16880 __cil_tmp29 = & i->list;
16881#line 2648
16882 __cil_tmp30 = (unsigned long )__cil_tmp29;
16883#line 2648
16884 if (__cil_tmp30 != __cil_tmp28) {
16885
16886 } else {
16887#line 2648
16888 goto while_break___0;
16889 }
16890 }
16891 {
16892#line 2649
16893 __cil_tmp31 = (int )tag;
16894#line 2649
16895 __cil_tmp32 = i->tag_number;
16896#line 2649
16897 __cil_tmp33 = (int )__cil_tmp32;
16898#line 2649
16899 if (__cil_tmp33 == __cil_tmp31) {
16900#line 2650
16901 srb = i;
16902#line 2651
16903 goto while_break___0;
16904 } else {
16905
16906 }
16907 }
16908#line 2648
16909 __cil_tmp34 = i->list.next;
16910#line 2648
16911 __mptr___0 = (struct list_head const *)__cil_tmp34;
16912#line 2648
16913 __cil_tmp35 = (struct ScsiReqBlk *)0;
16914#line 2648
16915 __cil_tmp36 = & __cil_tmp35->list;
16916#line 2648
16917 __cil_tmp37 = (unsigned int )__cil_tmp36;
16918#line 2648
16919 __cil_tmp38 = (char *)__mptr___0;
16920#line 2648
16921 __cil_tmp39 = __cil_tmp38 - __cil_tmp37;
16922#line 2648
16923 i = (struct ScsiReqBlk *)__cil_tmp39;
16924 }
16925 while_break___3: ;
16926 }
16927
16928 while_break___0: ;
16929#line 2654
16930 if (! srb) {
16931#line 2655
16932 goto mingx0;
16933 } else {
16934
16935 }
16936 {
16937#line 2657
16938 while (1) {
16939 while_continue___1: ;
16940
16941#line 2657
16942 goto while_break___1;
16943 }
16944 while_break___4: ;
16945 }
16946
16947 while_break___1: ;
16948 {
16949#line 2659
16950 __cil_tmp40 = dcb->flag;
16951#line 2659
16952 __cil_tmp41 = (int )__cil_tmp40;
16953#line 2659
16954 if (__cil_tmp41 & 1) {
16955 {
16956#line 2661
16957 enable_msgout_abort(acb, srb);
16958 }
16959 } else {
16960
16961 }
16962 }
16963 {
16964#line 2664
16965 __cil_tmp42 = srb->state;
16966#line 2664
16967 __cil_tmp43 = (int )__cil_tmp42;
16968#line 2664
16969 __cil_tmp44 = __cil_tmp43 & 128;
16970#line 2664
16971 if (! __cil_tmp44) {
16972#line 2665
16973 goto mingx0;
16974 } else {
16975
16976 }
16977 }
16978 {
16979#line 2667
16980 __cil_tmp45 = acb->msg_len;
16981#line 2667
16982 __len = (size_t )__cil_tmp45;
16983#line 2667
16984 __cil_tmp46 = & srb->msgin_buf[0];
16985#line 2667
16986 __cil_tmp47 = (void *)__cil_tmp46;
16987#line 2667
16988 __cil_tmp48 = dcb->active_srb;
16989#line 2667
16990 __cil_tmp49 = & __cil_tmp48->msgin_buf[0];
16991#line 2667
16992 __cil_tmp50 = (void const *)__cil_tmp49;
16993#line 2667
16994 __ret = __builtin_memcpy(__cil_tmp47, __cil_tmp50, __len);
16995#line 2668
16996 __cil_tmp51 = dcb->active_srb;
16997#line 2668
16998 __cil_tmp52 = __cil_tmp51->state;
16999#line 2668
17000 __cil_tmp53 = (int )__cil_tmp52;
17001#line 2668
17002 __cil_tmp54 = srb->state;
17003#line 2668
17004 __cil_tmp55 = (int )__cil_tmp54;
17005#line 2668
17006 __cil_tmp56 = __cil_tmp55 | __cil_tmp53;
17007#line 2668
17008 srb->state = (u16 )__cil_tmp56;
17009#line 2669
17010 __cil_tmp57 = srb->state;
17011#line 2669
17012 __cil_tmp58 = (int )__cil_tmp57;
17013#line 2669
17014 __cil_tmp59 = __cil_tmp58 | 256;
17015#line 2669
17016 srb->state = (u16 )__cil_tmp59;
17017#line 2670
17018 dcb->active_srb = srb;
17019 }
17020#line 2672
17021 return (srb);
17022 mingx0:
17023 {
17024#line 2675
17025 srb = acb->tmp_srb;
17026#line 2676
17027 srb->state = (u16 )32768;
17028#line 2677
17029 dcb->active_srb = srb;
17030#line 2678
17031 srb->msgout_buf[0] = (u8 )13;
17032#line 2679
17033 srb->msg_count = (u8 )1;
17034#line 2680
17035 __cil_tmp60 = acb->io_port_base;
17036#line 2680
17037 __cil_tmp61 = __cil_tmp60 + 128UL;
17038#line 2680
17039 __cil_tmp62 = (int )__cil_tmp61;
17040#line 2680
17041 outw((unsigned short)512, __cil_tmp62);
17042#line 2680
17043 __cil_tmp63 = srb->state;
17044#line 2680
17045 __cil_tmp64 = (int )__cil_tmp63;
17046#line 2680
17047 __cil_tmp65 = __cil_tmp64 | 4;
17048#line 2680
17049 srb->state = (u16 )__cil_tmp65;
17050#line 2681
17051 __cil_tmp66 = (int )tag;
17052#line 2681
17053 printk("<7>dc395x: msgin_qtag: Unknown tag %i - abort\n", __cil_tmp66);
17054 }
17055#line 2682
17056 return (srb);
17057}
17058}
17059#line 2686 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17060__inline static void reprogram_regs(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb )
17061{ u8 __cil_tmp3 ;
17062 unsigned long __cil_tmp4 ;
17063 unsigned long __cil_tmp5 ;
17064 int __cil_tmp6 ;
17065 u8 __cil_tmp7 ;
17066 unsigned long __cil_tmp8 ;
17067 unsigned long __cil_tmp9 ;
17068 int __cil_tmp10 ;
17069 u8 __cil_tmp11 ;
17070 unsigned long __cil_tmp12 ;
17071 unsigned long __cil_tmp13 ;
17072 int __cil_tmp14 ;
17073
17074 {
17075 {
17076#line 2689
17077 __cil_tmp3 = dcb->target_id;
17078#line 2689
17079 __cil_tmp4 = acb->io_port_base;
17080#line 2689
17081 __cil_tmp5 = __cil_tmp4 + 134UL;
17082#line 2689
17083 __cil_tmp6 = (int )__cil_tmp5;
17084#line 2689
17085 outb(__cil_tmp3, __cil_tmp6);
17086#line 2690
17087 __cil_tmp7 = dcb->sync_period;
17088#line 2690
17089 __cil_tmp8 = acb->io_port_base;
17090#line 2690
17091 __cil_tmp9 = __cil_tmp8 + 133UL;
17092#line 2690
17093 __cil_tmp10 = (int )__cil_tmp9;
17094#line 2690
17095 outb(__cil_tmp7, __cil_tmp10);
17096#line 2691
17097 __cil_tmp11 = dcb->sync_offset;
17098#line 2691
17099 __cil_tmp12 = acb->io_port_base;
17100#line 2691
17101 __cil_tmp13 = __cil_tmp12 + 132UL;
17102#line 2691
17103 __cil_tmp14 = (int )__cil_tmp13;
17104#line 2691
17105 outb(__cil_tmp11, __cil_tmp14);
17106#line 2692
17107 set_xfer_rate(acb, dcb);
17108 }
17109#line 2693
17110 return;
17111}
17112}
17113#line 2697 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17114static void msgin_set_async(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
17115{ struct DeviceCtlBlk *dcb ;
17116 u8 __cil_tmp4 ;
17117 int __cil_tmp5 ;
17118 u8 __cil_tmp6 ;
17119 int __cil_tmp7 ;
17120 u8 __cil_tmp8 ;
17121 int __cil_tmp9 ;
17122 int __cil_tmp10 ;
17123 u8 __cil_tmp11 ;
17124 int __cil_tmp12 ;
17125 int __cil_tmp13 ;
17126 int __cil_tmp14 ;
17127 u16 __cil_tmp15 ;
17128 int __cil_tmp16 ;
17129 int __cil_tmp17 ;
17130 u8 __cil_tmp18 ;
17131 int __cil_tmp19 ;
17132 u8 __cil_tmp20 ;
17133 int __cil_tmp21 ;
17134 int __cil_tmp22 ;
17135 unsigned long __cil_tmp23 ;
17136 unsigned long __cil_tmp24 ;
17137 int __cil_tmp25 ;
17138 u16 __cil_tmp26 ;
17139 int __cil_tmp27 ;
17140 int __cil_tmp28 ;
17141
17142 {
17143 {
17144#line 2699
17145 dcb = srb->dcb;
17146#line 2700
17147 __cil_tmp4 = dcb->target_id;
17148#line 2700
17149 __cil_tmp5 = (int )__cil_tmp4;
17150#line 2700
17151 __cil_tmp6 = dcb->target_lun;
17152#line 2700
17153 __cil_tmp7 = (int )__cil_tmp6;
17154#line 2700
17155 printk("<7>dc395x: msgin_set_async: No sync transfers <%02i-%i>\n", __cil_tmp5,
17156 __cil_tmp7);
17157#line 2703
17158 __cil_tmp8 = dcb->sync_mode;
17159#line 2703
17160 __cil_tmp9 = (int )__cil_tmp8;
17161#line 2703
17162 __cil_tmp10 = __cil_tmp9 & -2;
17163#line 2703
17164 dcb->sync_mode = (u8 )__cil_tmp10;
17165#line 2704
17166 __cil_tmp11 = dcb->sync_mode;
17167#line 2704
17168 __cil_tmp12 = (int )__cil_tmp11;
17169#line 2704
17170 __cil_tmp13 = __cil_tmp12 | 2;
17171#line 2704
17172 dcb->sync_mode = (u8 )__cil_tmp13;
17173#line 2706
17174 dcb->sync_offset = (u8 )0;
17175#line 2707
17176 __cil_tmp14 = 200 >> 2;
17177#line 2707
17178 dcb->min_nego_period = (u8 )__cil_tmp14;
17179#line 2708
17180 __cil_tmp15 = srb->state;
17181#line 2708
17182 __cil_tmp16 = (int )__cil_tmp15;
17183#line 2708
17184 __cil_tmp17 = __cil_tmp16 & -8193;
17185#line 2708
17186 srb->state = (u16 )__cil_tmp17;
17187#line 2709
17188 reprogram_regs(acb, dcb);
17189 }
17190 {
17191#line 2710
17192 __cil_tmp18 = dcb->sync_mode;
17193#line 2710
17194 __cil_tmp19 = (int )__cil_tmp18;
17195#line 2710
17196 if (__cil_tmp19 & 4) {
17197 {
17198#line 2710
17199 __cil_tmp20 = dcb->sync_mode;
17200#line 2710
17201 __cil_tmp21 = (int )__cil_tmp20;
17202#line 2710
17203 __cil_tmp22 = __cil_tmp21 & 8;
17204#line 2710
17205 if (! __cil_tmp22) {
17206 {
17207#line 2712
17208 build_wdtr(acb, dcb, srb);
17209#line 2713
17210 __cil_tmp23 = acb->io_port_base;
17211#line 2713
17212 __cil_tmp24 = __cil_tmp23 + 128UL;
17213#line 2713
17214 __cil_tmp25 = (int )__cil_tmp24;
17215#line 2713
17216 outw((unsigned short)512, __cil_tmp25);
17217#line 2713
17218 __cil_tmp26 = srb->state;
17219#line 2713
17220 __cil_tmp27 = (int )__cil_tmp26;
17221#line 2713
17222 __cil_tmp28 = __cil_tmp27 | 4;
17223#line 2713
17224 srb->state = (u16 )__cil_tmp28;
17225 }
17226 {
17227#line 2714
17228 while (1) {
17229 while_continue: ;
17230
17231#line 2714
17232 goto while_break;
17233 }
17234 while_break___0: ;
17235 }
17236
17237 while_break: ;
17238 } else {
17239
17240 }
17241 }
17242 } else {
17243
17244 }
17245 }
17246#line 2716
17247 return;
17248}
17249}
17250#line 2720 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17251static void msgin_set_sync(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
17252{ struct DeviceCtlBlk *dcb ;
17253 u8 bval ;
17254 int fact ;
17255 char const *tmp___7 ;
17256 size_t __len ;
17257 void *__ret ;
17258 u8 __cil_tmp9 ;
17259 int __cil_tmp10 ;
17260 u8 __cil_tmp11 ;
17261 int __cil_tmp12 ;
17262 int __cil_tmp13 ;
17263 u8 __cil_tmp14 ;
17264 int __cil_tmp15 ;
17265 u8 __cil_tmp16 ;
17266 int __cil_tmp17 ;
17267 u8 __cil_tmp18 ;
17268 int __cil_tmp19 ;
17269 int __cil_tmp20 ;
17270 int __cil_tmp21 ;
17271 u8 __cil_tmp22 ;
17272 int __cil_tmp23 ;
17273 int __cil_tmp24 ;
17274 u8 __cil_tmp25 ;
17275 int __cil_tmp26 ;
17276 int __cil_tmp27 ;
17277 int __cil_tmp28 ;
17278 int __cil_tmp29 ;
17279 u8 __cil_tmp30 ;
17280 int __cil_tmp31 ;
17281 int __cil_tmp32 ;
17282 int __cil_tmp33 ;
17283 u8 __cil_tmp34 ;
17284 int __cil_tmp35 ;
17285 int __cil_tmp36 ;
17286 int __cil_tmp37 ;
17287 int __cil_tmp38 ;
17288 u8 __cil_tmp39 ;
17289 int __cil_tmp40 ;
17290 int __cil_tmp41 ;
17291 u8 __cil_tmp42 ;
17292 int __cil_tmp43 ;
17293 u8 __cil_tmp44 ;
17294 int __cil_tmp45 ;
17295 u8 __cil_tmp46 ;
17296 int __cil_tmp47 ;
17297 int __cil_tmp48 ;
17298 u8 __cil_tmp49 ;
17299 int __cil_tmp50 ;
17300 u8 __cil_tmp51 ;
17301 int __cil_tmp52 ;
17302 int __cil_tmp53 ;
17303 u8 __cil_tmp54 ;
17304 int __cil_tmp55 ;
17305 u8 __cil_tmp56 ;
17306 int __cil_tmp57 ;
17307 int __cil_tmp58 ;
17308 u8 __cil_tmp59 ;
17309 int __cil_tmp60 ;
17310 int __cil_tmp61 ;
17311 int __cil_tmp62 ;
17312 int __cil_tmp63 ;
17313 int __cil_tmp64 ;
17314 u16 __cil_tmp65 ;
17315 int __cil_tmp66 ;
17316 int __cil_tmp67 ;
17317 u8 __cil_tmp68 ;
17318 int __cil_tmp69 ;
17319 int __cil_tmp70 ;
17320 u8 __cil_tmp71 ;
17321 int __cil_tmp72 ;
17322 u8 *__cil_tmp73 ;
17323 void *__cil_tmp74 ;
17324 u8 *__cil_tmp75 ;
17325 void const *__cil_tmp76 ;
17326 u8 *__cil_tmp77 ;
17327 void *__cil_tmp78 ;
17328 u8 *__cil_tmp79 ;
17329 void const *__cil_tmp80 ;
17330 unsigned long __cil_tmp81 ;
17331 unsigned long __cil_tmp82 ;
17332 int __cil_tmp83 ;
17333 u16 __cil_tmp84 ;
17334 int __cil_tmp85 ;
17335 int __cil_tmp86 ;
17336 u8 __cil_tmp87 ;
17337 int __cil_tmp88 ;
17338 int __cil_tmp89 ;
17339 u8 __cil_tmp90 ;
17340 int __cil_tmp91 ;
17341 u8 __cil_tmp92 ;
17342 int __cil_tmp93 ;
17343 int __cil_tmp94 ;
17344 unsigned long __cil_tmp95 ;
17345 unsigned long __cil_tmp96 ;
17346 int __cil_tmp97 ;
17347 u16 __cil_tmp98 ;
17348 int __cil_tmp99 ;
17349 int __cil_tmp100 ;
17350 u16 __cil_tmp101 ;
17351 int __cil_tmp102 ;
17352 int __cil_tmp103 ;
17353 u8 __cil_tmp104 ;
17354 int __cil_tmp105 ;
17355 int __cil_tmp106 ;
17356
17357 {
17358#line 2722
17359 dcb = srb->dcb;
17360 {
17361#line 2725
17362 while (1) {
17363 while_continue: ;
17364
17365#line 2725
17366 goto while_break;
17367 }
17368 while_break___2: ;
17369 }
17370
17371 while_break: ;
17372 {
17373#line 2732
17374 __cil_tmp9 = srb->msgin_buf[4];
17375#line 2732
17376 __cil_tmp10 = (int )__cil_tmp9;
17377#line 2732
17378 if (__cil_tmp10 > 15) {
17379#line 2733
17380 srb->msgin_buf[4] = (u8 )15;
17381 } else {
17382
17383 }
17384 }
17385 {
17386#line 2734
17387 __cil_tmp11 = dcb->dev_mode;
17388#line 2734
17389 __cil_tmp12 = (int )__cil_tmp11;
17390#line 2734
17391 __cil_tmp13 = __cil_tmp12 & 2;
17392#line 2734
17393 if (! __cil_tmp13) {
17394#line 2735
17395 dcb->sync_offset = (u8 )0;
17396 } else {
17397 {
17398#line 2736
17399 __cil_tmp14 = dcb->sync_offset;
17400#line 2736
17401 __cil_tmp15 = (int )__cil_tmp14;
17402#line 2736
17403 if (__cil_tmp15 == 0) {
17404#line 2737
17405 dcb->sync_offset = srb->msgin_buf[4];
17406 } else {
17407
17408 }
17409 }
17410 }
17411 }
17412 {
17413#line 2738
17414 __cil_tmp16 = dcb->sync_offset;
17415#line 2738
17416 __cil_tmp17 = (int )__cil_tmp16;
17417#line 2738
17418 __cil_tmp18 = srb->msgin_buf[4];
17419#line 2738
17420 __cil_tmp19 = (int )__cil_tmp18;
17421#line 2738
17422 if (__cil_tmp19 > __cil_tmp17) {
17423#line 2739
17424 srb->msgin_buf[4] = dcb->sync_offset;
17425 } else {
17426#line 2741
17427 dcb->sync_offset = srb->msgin_buf[4];
17428 }
17429 }
17430#line 2742
17431 bval = (u8 )0;
17432 {
17433#line 2743
17434 while (1) {
17435 while_continue___0: ;
17436
17437 {
17438#line 2743
17439 __cil_tmp20 = (int )bval;
17440#line 2743
17441 if (__cil_tmp20 < 7) {
17442 {
17443#line 2743
17444 __cil_tmp21 = (int )clock_period[bval];
17445#line 2743
17446 __cil_tmp22 = srb->msgin_buf[3];
17447#line 2743
17448 __cil_tmp23 = (int )__cil_tmp22;
17449#line 2743
17450 if (__cil_tmp23 > __cil_tmp21) {
17451
17452 } else {
17453 {
17454#line 2743
17455 __cil_tmp24 = (int )clock_period[bval];
17456#line 2743
17457 __cil_tmp25 = dcb->min_nego_period;
17458#line 2743
17459 __cil_tmp26 = (int )__cil_tmp25;
17460#line 2743
17461 if (__cil_tmp26 > __cil_tmp24) {
17462
17463 } else {
17464#line 2743
17465 goto while_break___0;
17466 }
17467 }
17468 }
17469 }
17470 } else {
17471#line 2743
17472 goto while_break___0;
17473 }
17474 }
17475#line 2746
17476 __cil_tmp27 = (int )bval;
17477#line 2746
17478 __cil_tmp28 = __cil_tmp27 + 1;
17479#line 2746
17480 bval = (u8 )__cil_tmp28;
17481 }
17482 while_break___3: ;
17483 }
17484
17485 while_break___0: ;
17486 {
17487#line 2747
17488 __cil_tmp29 = (int )clock_period[bval];
17489#line 2747
17490 __cil_tmp30 = srb->msgin_buf[3];
17491#line 2747
17492 __cil_tmp31 = (int )__cil_tmp30;
17493#line 2747
17494 if (__cil_tmp31 < __cil_tmp29) {
17495 {
17496#line 2748
17497 __cil_tmp32 = (int )clock_period[bval];
17498#line 2748
17499 __cil_tmp33 = __cil_tmp32 << 2;
17500#line 2748
17501 printk("<6>dc395x: msgin_set_sync: Increase sync nego period to %ins\n", __cil_tmp33);
17502 }
17503 } else {
17504
17505 }
17506 }
17507#line 2751
17508 srb->msgin_buf[3] = clock_period[bval];
17509#line 2752
17510 __cil_tmp34 = dcb->sync_period;
17511#line 2752
17512 __cil_tmp35 = (int )__cil_tmp34;
17513#line 2752
17514 __cil_tmp36 = __cil_tmp35 & 240;
17515#line 2752
17516 dcb->sync_period = (u8 )__cil_tmp36;
17517#line 2753
17518 __cil_tmp37 = (int )bval;
17519#line 2753
17520 __cil_tmp38 = 8 | __cil_tmp37;
17521#line 2753
17522 __cil_tmp39 = dcb->sync_period;
17523#line 2753
17524 __cil_tmp40 = (int )__cil_tmp39;
17525#line 2753
17526 __cil_tmp41 = __cil_tmp40 | __cil_tmp38;
17527#line 2753
17528 dcb->sync_period = (u8 )__cil_tmp41;
17529#line 2754
17530 dcb->min_nego_period = srb->msgin_buf[3];
17531 {
17532#line 2756
17533 __cil_tmp42 = dcb->sync_period;
17534#line 2756
17535 __cil_tmp43 = (int )__cil_tmp42;
17536#line 2756
17537 if (__cil_tmp43 & 16) {
17538#line 2757
17539 fact = 500;
17540 } else {
17541#line 2759
17542 fact = 250;
17543 }
17544 }
17545#line 2761
17546 if (fact == 500) {
17547#line 2761
17548 tmp___7 = "Wide16";
17549 } else {
17550#line 2761
17551 tmp___7 = "";
17552 }
17553 {
17554#line 2761
17555 __cil_tmp44 = dcb->target_id;
17556#line 2761
17557 __cil_tmp45 = (int )__cil_tmp44;
17558#line 2761
17559 __cil_tmp46 = dcb->min_nego_period;
17560#line 2761
17561 __cil_tmp47 = (int )__cil_tmp46;
17562#line 2761
17563 __cil_tmp48 = __cil_tmp47 << 2;
17564#line 2761
17565 __cil_tmp49 = dcb->sync_offset;
17566#line 2761
17567 __cil_tmp50 = (int )__cil_tmp49;
17568#line 2761
17569 __cil_tmp51 = dcb->min_nego_period;
17570#line 2761
17571 __cil_tmp52 = (int )__cil_tmp51;
17572#line 2761
17573 __cil_tmp53 = fact / __cil_tmp52;
17574#line 2761
17575 __cil_tmp54 = dcb->min_nego_period;
17576#line 2761
17577 __cil_tmp55 = (int )__cil_tmp54;
17578#line 2761
17579 __cil_tmp56 = dcb->min_nego_period;
17580#line 2761
17581 __cil_tmp57 = (int )__cil_tmp56;
17582#line 2761
17583 __cil_tmp58 = __cil_tmp57 / 2;
17584#line 2761
17585 __cil_tmp59 = dcb->min_nego_period;
17586#line 2761
17587 __cil_tmp60 = (int )__cil_tmp59;
17588#line 2761
17589 __cil_tmp61 = fact % __cil_tmp60;
17590#line 2761
17591 __cil_tmp62 = __cil_tmp61 * 10;
17592#line 2761
17593 __cil_tmp63 = __cil_tmp62 + __cil_tmp58;
17594#line 2761
17595 __cil_tmp64 = __cil_tmp63 / __cil_tmp55;
17596#line 2761
17597 printk("<6>dc395x: Target %02i: %s Sync: %ins Offset %i (%02i.%01i MB/s)\n", __cil_tmp45,
17598 tmp___7, __cil_tmp48, __cil_tmp50, __cil_tmp53, __cil_tmp64);
17599 }
17600 {
17601#line 2769
17602 __cil_tmp65 = srb->state;
17603#line 2769
17604 __cil_tmp66 = (int )__cil_tmp65;
17605#line 2769
17606 __cil_tmp67 = __cil_tmp66 & 8192;
17607#line 2769
17608 if (! __cil_tmp67) {
17609 {
17610#line 2771
17611 __cil_tmp68 = srb->msgin_buf[3];
17612#line 2771
17613 __cil_tmp69 = (int )__cil_tmp68;
17614#line 2771
17615 __cil_tmp70 = __cil_tmp69 << 2;
17616#line 2771
17617 __cil_tmp71 = srb->msgin_buf[4];
17618#line 2771
17619 __cil_tmp72 = (int )__cil_tmp71;
17620#line 2771
17621 printk("<7>dc395x: msgin_set_sync: answer w/%ins %i\n", __cil_tmp70, __cil_tmp72);
17622#line 2774
17623 __len = (size_t )5;
17624 }
17625#line 2774
17626 if (__len >= 64UL) {
17627 {
17628#line 2774
17629 __cil_tmp73 = & srb->msgout_buf[0];
17630#line 2774
17631 __cil_tmp74 = (void *)__cil_tmp73;
17632#line 2774
17633 __cil_tmp75 = & srb->msgin_buf[0];
17634#line 2774
17635 __cil_tmp76 = (void const *)__cil_tmp75;
17636#line 2774
17637 __ret = __memcpy(__cil_tmp74, __cil_tmp76, __len);
17638 }
17639 } else {
17640 {
17641#line 2774
17642 __cil_tmp77 = & srb->msgout_buf[0];
17643#line 2774
17644 __cil_tmp78 = (void *)__cil_tmp77;
17645#line 2774
17646 __cil_tmp79 = & srb->msgin_buf[0];
17647#line 2774
17648 __cil_tmp80 = (void const *)__cil_tmp79;
17649#line 2774
17650 __ret = __builtin_memcpy(__cil_tmp78, __cil_tmp80, __len);
17651 }
17652 }
17653 {
17654#line 2775
17655 srb->msg_count = (u8 )5;
17656#line 2776
17657 __cil_tmp81 = acb->io_port_base;
17658#line 2776
17659 __cil_tmp82 = __cil_tmp81 + 128UL;
17660#line 2776
17661 __cil_tmp83 = (int )__cil_tmp82;
17662#line 2776
17663 outw((unsigned short)512, __cil_tmp83);
17664#line 2776
17665 __cil_tmp84 = srb->state;
17666#line 2776
17667 __cil_tmp85 = (int )__cil_tmp84;
17668#line 2776
17669 __cil_tmp86 = __cil_tmp85 | 4;
17670#line 2776
17671 srb->state = (u16 )__cil_tmp86;
17672#line 2777
17673 __cil_tmp87 = dcb->sync_mode;
17674#line 2777
17675 __cil_tmp88 = (int )__cil_tmp87;
17676#line 2777
17677 __cil_tmp89 = __cil_tmp88 | 2;
17678#line 2777
17679 dcb->sync_mode = (u8 )__cil_tmp89;
17680 }
17681 } else {
17682 {
17683#line 2779
17684 __cil_tmp90 = dcb->sync_mode;
17685#line 2779
17686 __cil_tmp91 = (int )__cil_tmp90;
17687#line 2779
17688 if (__cil_tmp91 & 4) {
17689 {
17690#line 2779
17691 __cil_tmp92 = dcb->sync_mode;
17692#line 2779
17693 __cil_tmp93 = (int )__cil_tmp92;
17694#line 2779
17695 __cil_tmp94 = __cil_tmp93 & 8;
17696#line 2779
17697 if (! __cil_tmp94) {
17698 {
17699#line 2781
17700 build_wdtr(acb, dcb, srb);
17701#line 2782
17702 __cil_tmp95 = acb->io_port_base;
17703#line 2782
17704 __cil_tmp96 = __cil_tmp95 + 128UL;
17705#line 2782
17706 __cil_tmp97 = (int )__cil_tmp96;
17707#line 2782
17708 outw((unsigned short)512, __cil_tmp97);
17709#line 2782
17710 __cil_tmp98 = srb->state;
17711#line 2782
17712 __cil_tmp99 = (int )__cil_tmp98;
17713#line 2782
17714 __cil_tmp100 = __cil_tmp99 | 4;
17715#line 2782
17716 srb->state = (u16 )__cil_tmp100;
17717 }
17718 {
17719#line 2783
17720 while (1) {
17721 while_continue___1: ;
17722
17723#line 2783
17724 goto while_break___1;
17725 }
17726 while_break___4: ;
17727 }
17728
17729 while_break___1: ;
17730 } else {
17731
17732 }
17733 }
17734 } else {
17735
17736 }
17737 }
17738 }
17739 }
17740 {
17741#line 2786
17742 __cil_tmp101 = srb->state;
17743#line 2786
17744 __cil_tmp102 = (int )__cil_tmp101;
17745#line 2786
17746 __cil_tmp103 = __cil_tmp102 & -8193;
17747#line 2786
17748 srb->state = (u16 )__cil_tmp103;
17749#line 2787
17750 __cil_tmp104 = dcb->sync_mode;
17751#line 2787
17752 __cil_tmp105 = (int )__cil_tmp104;
17753#line 2787
17754 __cil_tmp106 = __cil_tmp105 | 3;
17755#line 2787
17756 dcb->sync_mode = (u8 )__cil_tmp106;
17757#line 2789
17758 reprogram_regs(acb, dcb);
17759 }
17760#line 2790
17761 return;
17762}
17763}
17764#line 2793 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17765__inline static void msgin_set_nowide(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
17766{ struct DeviceCtlBlk *dcb ;
17767 u8 __cil_tmp4 ;
17768 int __cil_tmp5 ;
17769 int __cil_tmp6 ;
17770 u8 __cil_tmp7 ;
17771 int __cil_tmp8 ;
17772 int __cil_tmp9 ;
17773 u8 __cil_tmp10 ;
17774 int __cil_tmp11 ;
17775 int __cil_tmp12 ;
17776 u16 __cil_tmp13 ;
17777 int __cil_tmp14 ;
17778 int __cil_tmp15 ;
17779 u8 __cil_tmp16 ;
17780 int __cil_tmp17 ;
17781 u8 __cil_tmp18 ;
17782 int __cil_tmp19 ;
17783 int __cil_tmp20 ;
17784 unsigned long __cil_tmp21 ;
17785 unsigned long __cil_tmp22 ;
17786 int __cil_tmp23 ;
17787 u16 __cil_tmp24 ;
17788 int __cil_tmp25 ;
17789 int __cil_tmp26 ;
17790
17791 {
17792#line 2796
17793 dcb = srb->dcb;
17794 {
17795#line 2797
17796 while (1) {
17797 while_continue: ;
17798
17799#line 2797
17800 goto while_break;
17801 }
17802 while_break___1: ;
17803 }
17804
17805 while_break:
17806 {
17807#line 2799
17808 __cil_tmp4 = dcb->sync_period;
17809#line 2799
17810 __cil_tmp5 = (int )__cil_tmp4;
17811#line 2799
17812 __cil_tmp6 = __cil_tmp5 & -17;
17813#line 2799
17814 dcb->sync_period = (u8 )__cil_tmp6;
17815#line 2800
17816 __cil_tmp7 = dcb->sync_mode;
17817#line 2800
17818 __cil_tmp8 = (int )__cil_tmp7;
17819#line 2800
17820 __cil_tmp9 = __cil_tmp8 & -5;
17821#line 2800
17822 dcb->sync_mode = (u8 )__cil_tmp9;
17823#line 2801
17824 __cil_tmp10 = dcb->sync_mode;
17825#line 2801
17826 __cil_tmp11 = (int )__cil_tmp10;
17827#line 2801
17828 __cil_tmp12 = __cil_tmp11 | 8;
17829#line 2801
17830 dcb->sync_mode = (u8 )__cil_tmp12;
17831#line 2802
17832 __cil_tmp13 = srb->state;
17833#line 2802
17834 __cil_tmp14 = (int )__cil_tmp13;
17835#line 2802
17836 __cil_tmp15 = __cil_tmp14 & -16385;
17837#line 2802
17838 srb->state = (u16 )__cil_tmp15;
17839#line 2803
17840 reprogram_regs(acb, dcb);
17841 }
17842 {
17843#line 2804
17844 __cil_tmp16 = dcb->sync_mode;
17845#line 2804
17846 __cil_tmp17 = (int )__cil_tmp16;
17847#line 2804
17848 if (__cil_tmp17 & 1) {
17849 {
17850#line 2804
17851 __cil_tmp18 = dcb->sync_mode;
17852#line 2804
17853 __cil_tmp19 = (int )__cil_tmp18;
17854#line 2804
17855 __cil_tmp20 = __cil_tmp19 & 2;
17856#line 2804
17857 if (! __cil_tmp20) {
17858 {
17859#line 2806
17860 build_sdtr(acb, dcb, srb);
17861#line 2807
17862 __cil_tmp21 = acb->io_port_base;
17863#line 2807
17864 __cil_tmp22 = __cil_tmp21 + 128UL;
17865#line 2807
17866 __cil_tmp23 = (int )__cil_tmp22;
17867#line 2807
17868 outw((unsigned short)512, __cil_tmp23);
17869#line 2807
17870 __cil_tmp24 = srb->state;
17871#line 2807
17872 __cil_tmp25 = (int )__cil_tmp24;
17873#line 2807
17874 __cil_tmp26 = __cil_tmp25 | 4;
17875#line 2807
17876 srb->state = (u16 )__cil_tmp26;
17877 }
17878 {
17879#line 2808
17880 while (1) {
17881 while_continue___0: ;
17882
17883#line 2808
17884 goto while_break___0;
17885 }
17886 while_break___2: ;
17887 }
17888
17889 while_break___0: ;
17890 } else {
17891
17892 }
17893 }
17894 } else {
17895
17896 }
17897 }
17898#line 2810
17899 return;
17900}
17901}
17902#line 2812 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
17903static void msgin_set_wide(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
17904{ struct DeviceCtlBlk *dcb ;
17905 u8 wide ;
17906 int tmp___7 ;
17907 size_t __len ;
17908 void *__ret ;
17909 u8 __cil_tmp8 ;
17910 int __cil_tmp9 ;
17911 u8 __cil_tmp10 ;
17912 int __cil_tmp11 ;
17913 int __cil_tmp12 ;
17914 u8 __cil_tmp13 ;
17915 int __cil_tmp14 ;
17916 u16 __cil_tmp15 ;
17917 int __cil_tmp16 ;
17918 int __cil_tmp17 ;
17919 u8 __cil_tmp18 ;
17920 int __cil_tmp19 ;
17921 u8 *__cil_tmp20 ;
17922 void *__cil_tmp21 ;
17923 u8 *__cil_tmp22 ;
17924 void const *__cil_tmp23 ;
17925 u8 *__cil_tmp24 ;
17926 void *__cil_tmp25 ;
17927 u8 *__cil_tmp26 ;
17928 void const *__cil_tmp27 ;
17929 u16 __cil_tmp28 ;
17930 int __cil_tmp29 ;
17931 int __cil_tmp30 ;
17932 unsigned long __cil_tmp31 ;
17933 unsigned long __cil_tmp32 ;
17934 int __cil_tmp33 ;
17935 u16 __cil_tmp34 ;
17936 int __cil_tmp35 ;
17937 int __cil_tmp36 ;
17938 u8 __cil_tmp37 ;
17939 int __cil_tmp38 ;
17940 int __cil_tmp39 ;
17941 u8 __cil_tmp40 ;
17942 int __cil_tmp41 ;
17943 u8 __cil_tmp42 ;
17944 int __cil_tmp43 ;
17945 int __cil_tmp44 ;
17946 u8 __cil_tmp45 ;
17947 int __cil_tmp46 ;
17948 int __cil_tmp47 ;
17949 u16 __cil_tmp48 ;
17950 int __cil_tmp49 ;
17951 int __cil_tmp50 ;
17952 u8 __cil_tmp51 ;
17953 int __cil_tmp52 ;
17954 u8 __cil_tmp53 ;
17955 int __cil_tmp54 ;
17956 int __cil_tmp55 ;
17957 unsigned long __cil_tmp56 ;
17958 unsigned long __cil_tmp57 ;
17959 int __cil_tmp58 ;
17960 u16 __cil_tmp59 ;
17961 int __cil_tmp60 ;
17962 int __cil_tmp61 ;
17963
17964 {
17965#line 2814
17966 dcb = srb->dcb;
17967 {
17968#line 2815
17969 __cil_tmp8 = dcb->dev_mode;
17970#line 2815
17971 __cil_tmp9 = (int )__cil_tmp8;
17972#line 2815
17973 if (__cil_tmp9 & 32) {
17974 {
17975#line 2815
17976 __cil_tmp10 = acb->config;
17977#line 2815
17978 __cil_tmp11 = (int )__cil_tmp10;
17979#line 2815
17980 if (__cil_tmp11 & 32) {
17981#line 2815
17982 tmp___7 = 1;
17983 } else {
17984#line 2815
17985 tmp___7 = 0;
17986 }
17987 }
17988 } else {
17989#line 2815
17990 tmp___7 = 0;
17991 }
17992 }
17993#line 2815
17994 wide = (u8 )tmp___7;
17995 {
17996#line 2817
17997 while (1) {
17998 while_continue: ;
17999
18000#line 2817
18001 goto while_break;
18002 }
18003 while_break___2: ;
18004 }
18005
18006 while_break: ;
18007 {
18008#line 2819
18009 __cil_tmp12 = (int )wide;
18010#line 2819
18011 __cil_tmp13 = srb->msgin_buf[3];
18012#line 2819
18013 __cil_tmp14 = (int )__cil_tmp13;
18014#line 2819
18015 if (__cil_tmp14 > __cil_tmp12) {
18016#line 2820
18017 srb->msgin_buf[3] = wide;
18018 } else {
18019
18020 }
18021 }
18022 {
18023#line 2822
18024 __cil_tmp15 = srb->state;
18025#line 2822
18026 __cil_tmp16 = (int )__cil_tmp15;
18027#line 2822
18028 __cil_tmp17 = __cil_tmp16 & 16384;
18029#line 2822
18030 if (! __cil_tmp17) {
18031 {
18032#line 2823
18033 __cil_tmp18 = dcb->target_id;
18034#line 2823
18035 __cil_tmp19 = (int )__cil_tmp18;
18036#line 2823
18037 printk("<7>dc395x: msgin_set_wide: Wide nego initiated <%02i>\n", __cil_tmp19);
18038#line 2826
18039 __len = (size_t )4;
18040 }
18041#line 2826
18042 if (__len >= 64UL) {
18043 {
18044#line 2826
18045 __cil_tmp20 = & srb->msgout_buf[0];
18046#line 2826
18047 __cil_tmp21 = (void *)__cil_tmp20;
18048#line 2826
18049 __cil_tmp22 = & srb->msgin_buf[0];
18050#line 2826
18051 __cil_tmp23 = (void const *)__cil_tmp22;
18052#line 2826
18053 __ret = __memcpy(__cil_tmp21, __cil_tmp23, __len);
18054 }
18055 } else {
18056 {
18057#line 2826
18058 __cil_tmp24 = & srb->msgout_buf[0];
18059#line 2826
18060 __cil_tmp25 = (void *)__cil_tmp24;
18061#line 2826
18062 __cil_tmp26 = & srb->msgin_buf[0];
18063#line 2826
18064 __cil_tmp27 = (void const *)__cil_tmp26;
18065#line 2826
18066 __ret = __builtin_memcpy(__cil_tmp25, __cil_tmp27, __len);
18067 }
18068 }
18069 {
18070#line 2827
18071 srb->msg_count = (u8 )4;
18072#line 2828
18073 __cil_tmp28 = srb->state;
18074#line 2828
18075 __cil_tmp29 = (int )__cil_tmp28;
18076#line 2828
18077 __cil_tmp30 = __cil_tmp29 | 16384;
18078#line 2828
18079 srb->state = (u16 )__cil_tmp30;
18080#line 2829
18081 __cil_tmp31 = acb->io_port_base;
18082#line 2829
18083 __cil_tmp32 = __cil_tmp31 + 128UL;
18084#line 2829
18085 __cil_tmp33 = (int )__cil_tmp32;
18086#line 2829
18087 outw((unsigned short)512, __cil_tmp33);
18088#line 2829
18089 __cil_tmp34 = srb->state;
18090#line 2829
18091 __cil_tmp35 = (int )__cil_tmp34;
18092#line 2829
18093 __cil_tmp36 = __cil_tmp35 | 4;
18094#line 2829
18095 srb->state = (u16 )__cil_tmp36;
18096 }
18097 } else {
18098
18099 }
18100 }
18101#line 2832
18102 __cil_tmp37 = dcb->sync_mode;
18103#line 2832
18104 __cil_tmp38 = (int )__cil_tmp37;
18105#line 2832
18106 __cil_tmp39 = __cil_tmp38 | 12;
18107#line 2832
18108 dcb->sync_mode = (u8 )__cil_tmp39;
18109 {
18110#line 2833
18111 __cil_tmp40 = srb->msgin_buf[3];
18112#line 2833
18113 __cil_tmp41 = (int )__cil_tmp40;
18114#line 2833
18115 if (__cil_tmp41 > 0) {
18116#line 2834
18117 __cil_tmp42 = dcb->sync_period;
18118#line 2834
18119 __cil_tmp43 = (int )__cil_tmp42;
18120#line 2834
18121 __cil_tmp44 = __cil_tmp43 | 16;
18122#line 2834
18123 dcb->sync_period = (u8 )__cil_tmp44;
18124 } else {
18125#line 2836
18126 __cil_tmp45 = dcb->sync_period;
18127#line 2836
18128 __cil_tmp46 = (int )__cil_tmp45;
18129#line 2836
18130 __cil_tmp47 = __cil_tmp46 & -17;
18131#line 2836
18132 dcb->sync_period = (u8 )__cil_tmp47;
18133 }
18134 }
18135#line 2837
18136 __cil_tmp48 = srb->state;
18137#line 2837
18138 __cil_tmp49 = (int )__cil_tmp48;
18139#line 2837
18140 __cil_tmp50 = __cil_tmp49 & -16385;
18141#line 2837
18142 srb->state = (u16 )__cil_tmp50;
18143 {
18144#line 2839
18145 while (1) {
18146 while_continue___0: ;
18147
18148#line 2839
18149 goto while_break___0;
18150 }
18151 while_break___3: ;
18152 }
18153
18154 while_break___0:
18155 {
18156#line 2842
18157 reprogram_regs(acb, dcb);
18158 }
18159 {
18160#line 2843
18161 __cil_tmp51 = dcb->sync_mode;
18162#line 2843
18163 __cil_tmp52 = (int )__cil_tmp51;
18164#line 2843
18165 if (__cil_tmp52 & 1) {
18166 {
18167#line 2843
18168 __cil_tmp53 = dcb->sync_mode;
18169#line 2843
18170 __cil_tmp54 = (int )__cil_tmp53;
18171#line 2843
18172 __cil_tmp55 = __cil_tmp54 & 2;
18173#line 2843
18174 if (! __cil_tmp55) {
18175 {
18176#line 2845
18177 build_sdtr(acb, dcb, srb);
18178#line 2846
18179 __cil_tmp56 = acb->io_port_base;
18180#line 2846
18181 __cil_tmp57 = __cil_tmp56 + 128UL;
18182#line 2846
18183 __cil_tmp58 = (int )__cil_tmp57;
18184#line 2846
18185 outw((unsigned short)512, __cil_tmp58);
18186#line 2846
18187 __cil_tmp59 = srb->state;
18188#line 2846
18189 __cil_tmp60 = (int )__cil_tmp59;
18190#line 2846
18191 __cil_tmp61 = __cil_tmp60 | 4;
18192#line 2846
18193 srb->state = (u16 )__cil_tmp61;
18194 }
18195 {
18196#line 2847
18197 while (1) {
18198 while_continue___1: ;
18199
18200#line 2847
18201 goto while_break___1;
18202 }
18203 while_break___4: ;
18204 }
18205
18206 while_break___1: ;
18207 } else {
18208
18209 }
18210 }
18211 } else {
18212
18213 }
18214 }
18215#line 2849
18216 return;
18217}
18218}
18219#line 2864 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18220static void msgin_phase0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
18221{ struct DeviceCtlBlk *dcb ;
18222 u8 tmp___7 ;
18223 unsigned char tmp___8 ;
18224 u8 tmp___9 ;
18225 u8 __cil_tmp8 ;
18226 int __cil_tmp9 ;
18227 int __cil_tmp10 ;
18228 unsigned long __cil_tmp11 ;
18229 unsigned long __cil_tmp12 ;
18230 int __cil_tmp13 ;
18231 u8 *__cil_tmp14 ;
18232 u8 __cil_tmp15 ;
18233 u32 __cil_tmp16 ;
18234 u8 __cil_tmp17 ;
18235 int __cil_tmp18 ;
18236 u8 __cil_tmp19 ;
18237 int __cil_tmp20 ;
18238 u8 __cil_tmp21 ;
18239 int __cil_tmp22 ;
18240 u8 __cil_tmp23 ;
18241 int __cil_tmp24 ;
18242 u8 __cil_tmp25 ;
18243 int __cil_tmp26 ;
18244 u8 __cil_tmp27 ;
18245 int __cil_tmp28 ;
18246 u8 __cil_tmp29 ;
18247 int __cil_tmp30 ;
18248 u8 __cil_tmp31 ;
18249 int __cil_tmp32 ;
18250 u8 __cil_tmp33 ;
18251 int __cil_tmp34 ;
18252 u8 __cil_tmp35 ;
18253 int __cil_tmp36 ;
18254 u8 __cil_tmp37 ;
18255 int __cil_tmp38 ;
18256 u8 __cil_tmp39 ;
18257 unsigned long __cil_tmp40 ;
18258 unsigned long __cil_tmp41 ;
18259 int __cil_tmp42 ;
18260 u16 __cil_tmp43 ;
18261 int __cil_tmp44 ;
18262 u16 __cil_tmp45 ;
18263 int __cil_tmp46 ;
18264 u8 __cil_tmp47 ;
18265 int __cil_tmp48 ;
18266 u8 __cil_tmp49 ;
18267 int __cil_tmp50 ;
18268 u8 __cil_tmp51 ;
18269 int __cil_tmp52 ;
18270 u8 __cil_tmp53 ;
18271 int __cil_tmp54 ;
18272 u8 __cil_tmp55 ;
18273 int __cil_tmp56 ;
18274 u8 __cil_tmp57 ;
18275 int __cil_tmp58 ;
18276 int __cil_tmp59 ;
18277 u8 __cil_tmp60 ;
18278 int __cil_tmp61 ;
18279 unsigned long __cil_tmp62 ;
18280 unsigned long __cil_tmp63 ;
18281 int __cil_tmp64 ;
18282 u16 __cil_tmp65 ;
18283 int __cil_tmp66 ;
18284 int __cil_tmp67 ;
18285 u16 __cil_tmp68 ;
18286 int __cil_tmp69 ;
18287 int __cil_tmp70 ;
18288 u16 __cil_tmp71 ;
18289 int __cil_tmp72 ;
18290 int __cil_tmp73 ;
18291 unsigned long __cil_tmp74 ;
18292 unsigned long __cil_tmp75 ;
18293 int __cil_tmp76 ;
18294 unsigned long __cil_tmp77 ;
18295 unsigned long __cil_tmp78 ;
18296 int __cil_tmp79 ;
18297
18298 {
18299#line 2867
18300 dcb = acb->active_dcb;
18301 {
18302#line 2868
18303 while (1) {
18304 while_continue: ;
18305
18306#line 2868
18307 goto while_break;
18308 }
18309 while_break___5: ;
18310 }
18311
18312 while_break:
18313 {
18314#line 2870
18315 tmp___7 = acb->msg_len;
18316#line 2870
18317 __cil_tmp8 = acb->msg_len;
18318#line 2870
18319 __cil_tmp9 = (int )__cil_tmp8;
18320#line 2870
18321 __cil_tmp10 = __cil_tmp9 + 1;
18322#line 2870
18323 acb->msg_len = (u8 )__cil_tmp10;
18324#line 2870
18325 __cil_tmp11 = acb->io_port_base;
18326#line 2870
18327 __cil_tmp12 = __cil_tmp11 + 152UL;
18328#line 2870
18329 __cil_tmp13 = (int )__cil_tmp12;
18330#line 2870
18331 tmp___8 = inb(__cil_tmp13);
18332#line 2870
18333 srb->msgin_buf[tmp___7] = tmp___8;
18334#line 2871
18335 __cil_tmp14 = & srb->msgin_buf[0];
18336#line 2871
18337 __cil_tmp15 = acb->msg_len;
18338#line 2871
18339 __cil_tmp16 = (u32 )__cil_tmp15;
18340#line 2871
18341 tmp___9 = msgin_completed(__cil_tmp14, __cil_tmp16);
18342 }
18343#line 2871
18344 if (tmp___9) {
18345 {
18346#line 2874
18347 __cil_tmp17 = srb->msgin_buf[0];
18348#line 2874
18349 __cil_tmp18 = (int )__cil_tmp17;
18350#line 2874
18351 if (__cil_tmp18 == 4) {
18352#line 2874
18353 goto case_4;
18354 } else {
18355 {
18356#line 2878
18357 __cil_tmp19 = srb->msgin_buf[0];
18358#line 2878
18359 __cil_tmp20 = (int )__cil_tmp19;
18360#line 2878
18361 if (__cil_tmp20 == 32) {
18362#line 2878
18363 goto case_32;
18364 } else {
18365 {
18366#line 2879
18367 __cil_tmp21 = srb->msgin_buf[0];
18368#line 2879
18369 __cil_tmp22 = (int )__cil_tmp21;
18370#line 2879
18371 if (__cil_tmp22 == 33) {
18372#line 2879
18373 goto case_32;
18374 } else {
18375 {
18376#line 2880
18377 __cil_tmp23 = srb->msgin_buf[0];
18378#line 2880
18379 __cil_tmp24 = (int )__cil_tmp23;
18380#line 2880
18381 if (__cil_tmp24 == 34) {
18382#line 2880
18383 goto case_32;
18384 } else {
18385 {
18386#line 2886
18387 __cil_tmp25 = srb->msgin_buf[0];
18388#line 2886
18389 __cil_tmp26 = (int )__cil_tmp25;
18390#line 2886
18391 if (__cil_tmp26 == 7) {
18392#line 2886
18393 goto case_7;
18394 } else {
18395 {
18396#line 2903
18397 __cil_tmp27 = srb->msgin_buf[0];
18398#line 2903
18399 __cil_tmp28 = (int )__cil_tmp27;
18400#line 2903
18401 if (__cil_tmp28 == 1) {
18402#line 2903
18403 goto case_1;
18404 } else {
18405 {
18406#line 2920
18407 __cil_tmp29 = srb->msgin_buf[0];
18408#line 2920
18409 __cil_tmp30 = (int )__cil_tmp29;
18410#line 2920
18411 if (__cil_tmp30 == 35) {
18412#line 2920
18413 goto case_35;
18414 } else {
18415 {
18416#line 2925
18417 __cil_tmp31 = srb->msgin_buf[0];
18418#line 2925
18419 __cil_tmp32 = (int )__cil_tmp31;
18420#line 2925
18421 if (__cil_tmp32 == 0) {
18422#line 2925
18423 goto case_0;
18424 } else {
18425 {
18426#line 2929
18427 __cil_tmp33 = srb->msgin_buf[0];
18428#line 2929
18429 __cil_tmp34 = (int )__cil_tmp33;
18430#line 2929
18431 if (__cil_tmp34 == 2) {
18432#line 2929
18433 goto case_2;
18434 } else {
18435 {
18436#line 2939
18437 __cil_tmp35 = srb->msgin_buf[0];
18438#line 2939
18439 __cil_tmp36 = (int )__cil_tmp35;
18440#line 2939
18441 if (__cil_tmp36 == 3) {
18442#line 2939
18443 goto case_3;
18444 } else {
18445 {
18446#line 2943
18447 __cil_tmp37 = srb->msgin_buf[0];
18448#line 2943
18449 __cil_tmp38 = (int )__cil_tmp37;
18450#line 2943
18451 if (__cil_tmp38 == 6) {
18452#line 2943
18453 goto case_6;
18454 } else {
18455#line 2952
18456 goto switch_default;
18457#line 2873
18458 if (0) {
18459 case_4:
18460#line 2875
18461 srb->state = (u16 )128;
18462#line 2876
18463 goto switch_break;
18464 case_32:
18465 {
18466#line 2881
18467 __cil_tmp39 = srb->msgin_buf[1];
18468#line 2881
18469 srb = msgin_qtag(acb, dcb, __cil_tmp39);
18470 }
18471#line 2884
18472 goto switch_break;
18473 case_7:
18474 {
18475#line 2887
18476 __cil_tmp40 = acb->io_port_base;
18477#line 2887
18478 __cil_tmp41 = __cil_tmp40 + 128UL;
18479#line 2887
18480 __cil_tmp42 = (int )__cil_tmp41;
18481#line 2887
18482 outw((unsigned short)1026, __cil_tmp42);
18483 }
18484 {
18485#line 2890
18486 __cil_tmp43 = srb->state;
18487#line 2890
18488 __cil_tmp44 = (int )__cil_tmp43;
18489#line 2890
18490 if (__cil_tmp44 & 8192) {
18491 {
18492#line 2891
18493 msgin_set_async(acb, srb);
18494 }
18495#line 2892
18496 goto switch_break;
18497 } else {
18498
18499 }
18500 }
18501 {
18502#line 2895
18503 __cil_tmp45 = srb->state;
18504#line 2895
18505 __cil_tmp46 = (int )__cil_tmp45;
18506#line 2895
18507 if (__cil_tmp46 & 16384) {
18508 {
18509#line 2896
18510 msgin_set_nowide(acb, srb);
18511 }
18512#line 2897
18513 goto switch_break;
18514 } else {
18515
18516 }
18517 }
18518 {
18519#line 2899
18520 enable_msgout_abort(acb, srb);
18521 }
18522#line 2901
18523 goto switch_break;
18524 case_1:
18525 {
18526#line 2905
18527 __cil_tmp47 = srb->msgin_buf[1];
18528#line 2905
18529 __cil_tmp48 = (int )__cil_tmp47;
18530#line 2905
18531 if (__cil_tmp48 == 3) {
18532 {
18533#line 2905
18534 __cil_tmp49 = srb->msgin_buf[2];
18535#line 2905
18536 __cil_tmp50 = (int )__cil_tmp49;
18537#line 2905
18538 if (__cil_tmp50 == 1) {
18539 {
18540#line 2907
18541 msgin_set_sync(acb, srb);
18542 }
18543#line 2908
18544 goto switch_break;
18545 } else {
18546
18547 }
18548 }
18549 } else {
18550
18551 }
18552 }
18553 {
18554#line 2911
18555 __cil_tmp51 = srb->msgin_buf[1];
18556#line 2911
18557 __cil_tmp52 = (int )__cil_tmp51;
18558#line 2911
18559 if (__cil_tmp52 == 2) {
18560 {
18561#line 2911
18562 __cil_tmp53 = srb->msgin_buf[2];
18563#line 2911
18564 __cil_tmp54 = (int )__cil_tmp53;
18565#line 2911
18566 if (__cil_tmp54 == 3) {
18567 {
18568#line 2911
18569 __cil_tmp55 = srb->msgin_buf[3];
18570#line 2911
18571 __cil_tmp56 = (int )__cil_tmp55;
18572#line 2911
18573 if (__cil_tmp56 <= 2) {
18574 {
18575#line 2914
18576 msgin_set_wide(acb, srb);
18577 }
18578#line 2915
18579 goto switch_break;
18580 } else {
18581
18582 }
18583 }
18584 } else {
18585
18586 }
18587 }
18588 } else {
18589
18590 }
18591 }
18592 {
18593#line 2917
18594 msgin_reject(acb, srb);
18595 }
18596#line 2918
18597 goto switch_break;
18598 case_35:
18599 {
18600#line 2922
18601 while (1) {
18602 while_continue___0: ;
18603
18604#line 2922
18605 goto while_break___0;
18606 }
18607 while_break___6: ;
18608 }
18609
18610 while_break___0: ;
18611#line 2923
18612 goto switch_break;
18613 case_0:
18614#line 2927
18615 goto switch_break;
18616 case_2:
18617 {
18618#line 2934
18619 while (1) {
18620 while_continue___1: ;
18621
18622#line 2934
18623 goto while_break___1;
18624 }
18625 while_break___7: ;
18626 }
18627
18628 while_break___1: ;
18629#line 2937
18630 goto switch_break;
18631 case_3:
18632 {
18633#line 2940
18634 while (1) {
18635 while_continue___2: ;
18636
18637#line 2940
18638 goto while_break___2;
18639 }
18640 while_break___8: ;
18641 }
18642
18643 while_break___2: ;
18644#line 2941
18645 goto switch_break;
18646 case_6:
18647 {
18648#line 2944
18649 while (1) {
18650 while_continue___3: ;
18651
18652#line 2944
18653 goto while_break___3;
18654 }
18655 while_break___9: ;
18656 }
18657
18658 while_break___3:
18659 {
18660#line 2948
18661 __cil_tmp57 = dcb->flag;
18662#line 2948
18663 __cil_tmp58 = (int )__cil_tmp57;
18664#line 2948
18665 __cil_tmp59 = __cil_tmp58 | 1;
18666#line 2948
18667 dcb->flag = (u8 )__cil_tmp59;
18668#line 2949
18669 enable_msgout_abort(acb, srb);
18670 }
18671#line 2950
18672 goto switch_break;
18673 switch_default:
18674 {
18675#line 2954
18676 __cil_tmp60 = srb->msgin_buf[0];
18677#line 2954
18678 __cil_tmp61 = (int )__cil_tmp60;
18679#line 2954
18680 if (__cil_tmp61 & 128) {
18681 {
18682#line 2955
18683 while (1) {
18684 while_continue___4: ;
18685
18686#line 2955
18687 goto while_break___4;
18688 }
18689 while_break___10: ;
18690 }
18691
18692 while_break___4:
18693 {
18694#line 2956
18695 srb->msg_count = (u8 )1;
18696#line 2957
18697 srb->msgout_buf[0] = dcb->identify_msg;
18698#line 2958
18699 __cil_tmp62 = acb->io_port_base;
18700#line 2958
18701 __cil_tmp63 = __cil_tmp62 + 128UL;
18702#line 2958
18703 __cil_tmp64 = (int )__cil_tmp63;
18704#line 2958
18705 outw((unsigned short)512, __cil_tmp64);
18706#line 2958
18707 __cil_tmp65 = srb->state;
18708#line 2958
18709 __cil_tmp66 = (int )__cil_tmp65;
18710#line 2958
18711 __cil_tmp67 = __cil_tmp66 | 4;
18712#line 2958
18713 srb->state = (u16 )__cil_tmp67;
18714#line 2959
18715 __cil_tmp68 = srb->state;
18716#line 2959
18717 __cil_tmp69 = (int )__cil_tmp68;
18718#line 2959
18719 __cil_tmp70 = __cil_tmp69 | 4;
18720#line 2959
18721 srb->state = (u16 )__cil_tmp70;
18722 }
18723 } else {
18724
18725 }
18726 }
18727 {
18728#line 2962
18729 msgin_reject(acb, srb);
18730 }
18731 } else {
18732 switch_break: ;
18733 }
18734 }
18735 }
18736 }
18737 }
18738 }
18739 }
18740 }
18741 }
18742 }
18743 }
18744 }
18745 }
18746 }
18747 }
18748 }
18749 }
18750 }
18751 }
18752 }
18753 }
18754 }
18755 }
18756#line 2966
18757 __cil_tmp71 = srb->state;
18758#line 2966
18759 __cil_tmp72 = (int )__cil_tmp71;
18760#line 2966
18761 __cil_tmp73 = __cil_tmp72 & -9;
18762#line 2966
18763 srb->state = (u16 )__cil_tmp73;
18764#line 2967
18765 acb->msg_len = (u8 )0;
18766 } else {
18767
18768 }
18769 {
18770#line 2969
18771 *pscsi_status = (u16 )5;
18772#line 2970
18773 __cil_tmp74 = acb->io_port_base;
18774#line 2970
18775 __cil_tmp75 = __cil_tmp74 + 128UL;
18776#line 2970
18777 __cil_tmp76 = (int )__cil_tmp75;
18778#line 2970
18779 outw((unsigned short)2, __cil_tmp76);
18780#line 2971
18781 __cil_tmp77 = acb->io_port_base;
18782#line 2971
18783 __cil_tmp78 = __cil_tmp77 + 144UL;
18784#line 2971
18785 __cil_tmp79 = (int )__cil_tmp78;
18786#line 2971
18787 outb((unsigned char)216, __cil_tmp79);
18788 }
18789#line 2972
18790 return;
18791}
18792}
18793#line 2975 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18794static void msgin_phase1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
18795{ char *__cil_tmp4 ;
18796 unsigned long __cil_tmp5 ;
18797 unsigned long __cil_tmp6 ;
18798 int __cil_tmp7 ;
18799 u16 __cil_tmp8 ;
18800 int __cil_tmp9 ;
18801 int __cil_tmp10 ;
18802 u16 __cil_tmp11 ;
18803 int __cil_tmp12 ;
18804 int __cil_tmp13 ;
18805 u16 __cil_tmp14 ;
18806 int __cil_tmp15 ;
18807 int __cil_tmp16 ;
18808 unsigned long __cil_tmp17 ;
18809 unsigned long __cil_tmp18 ;
18810 int __cil_tmp19 ;
18811 unsigned long __cil_tmp20 ;
18812 unsigned long __cil_tmp21 ;
18813 int __cil_tmp22 ;
18814
18815 {
18816 {
18817#line 2978
18818 while (1) {
18819 while_continue: ;
18820
18821#line 2978
18822 goto while_break;
18823 }
18824 while_break___0: ;
18825 }
18826
18827 while_break:
18828 {
18829#line 2979
18830 __cil_tmp4 = (char *)"msgin_phase1";
18831#line 2979
18832 clear_fifo(acb, __cil_tmp4);
18833#line 2980
18834 __cil_tmp5 = acb->io_port_base;
18835#line 2980
18836 __cil_tmp6 = __cil_tmp5 + 136UL;
18837#line 2980
18838 __cil_tmp7 = (int )__cil_tmp6;
18839#line 2980
18840 outl(1U, __cil_tmp7);
18841 }
18842 {
18843#line 2981
18844 __cil_tmp8 = srb->state;
18845#line 2981
18846 __cil_tmp9 = (int )__cil_tmp8;
18847#line 2981
18848 __cil_tmp10 = __cil_tmp9 & 8;
18849#line 2981
18850 if (! __cil_tmp10) {
18851#line 2982
18852 __cil_tmp11 = srb->state;
18853#line 2982
18854 __cil_tmp12 = (int )__cil_tmp11;
18855#line 2982
18856 __cil_tmp13 = __cil_tmp12 & -129;
18857#line 2982
18858 srb->state = (u16 )__cil_tmp13;
18859#line 2983
18860 __cil_tmp14 = srb->state;
18861#line 2983
18862 __cil_tmp15 = (int )__cil_tmp14;
18863#line 2983
18864 __cil_tmp16 = __cil_tmp15 | 8;
18865#line 2983
18866 srb->state = (u16 )__cil_tmp16;
18867 } else {
18868
18869 }
18870 }
18871 {
18872#line 2985
18873 __cil_tmp17 = acb->io_port_base;
18874#line 2985
18875 __cil_tmp18 = __cil_tmp17 + 128UL;
18876#line 2985
18877 __cil_tmp19 = (int )__cil_tmp18;
18878#line 2985
18879 outw((unsigned short)2, __cil_tmp19);
18880#line 2987
18881 __cil_tmp20 = acb->io_port_base;
18882#line 2987
18883 __cil_tmp21 = __cil_tmp20 + 144UL;
18884#line 2987
18885 __cil_tmp22 = (int )__cil_tmp21;
18886#line 2987
18887 outb((unsigned char)194, __cil_tmp22);
18888 }
18889#line 2988
18890 return;
18891}
18892}
18893#line 2991 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18894static void nop0(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
18895{
18896
18897 {
18898#line 2994
18899 return;
18900}
18901}
18902#line 2997 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18903static void nop1(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb , u16 *pscsi_status )
18904{
18905
18906 {
18907#line 3000
18908 return;
18909}
18910}
18911#line 3003 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
18912static void set_xfer_rate(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb )
18913{ struct DeviceCtlBlk *i ;
18914 struct list_head const *__mptr ;
18915 struct list_head const *__mptr___0 ;
18916 u8 __cil_tmp6 ;
18917 int __cil_tmp7 ;
18918 u8 __cil_tmp8 ;
18919 struct list_head *__cil_tmp9 ;
18920 struct DeviceCtlBlk *__cil_tmp10 ;
18921 struct list_head *__cil_tmp11 ;
18922 unsigned int __cil_tmp12 ;
18923 char *__cil_tmp13 ;
18924 char *__cil_tmp14 ;
18925 struct list_head *__cil_tmp15 ;
18926 unsigned long __cil_tmp16 ;
18927 struct list_head *__cil_tmp17 ;
18928 unsigned long __cil_tmp18 ;
18929 u8 __cil_tmp19 ;
18930 int __cil_tmp20 ;
18931 u8 __cil_tmp21 ;
18932 int __cil_tmp22 ;
18933 struct list_head *__cil_tmp23 ;
18934 struct DeviceCtlBlk *__cil_tmp24 ;
18935 struct list_head *__cil_tmp25 ;
18936 unsigned int __cil_tmp26 ;
18937 char *__cil_tmp27 ;
18938 char *__cil_tmp28 ;
18939
18940 {
18941 {
18942#line 3008
18943 __cil_tmp6 = dcb->identify_msg;
18944#line 3008
18945 __cil_tmp7 = (int )__cil_tmp6;
18946#line 3008
18947 if (__cil_tmp7 & 7) {
18948#line 3009
18949 return;
18950 } else {
18951
18952 }
18953 }
18954#line 3011
18955 if (acb->scan_devices) {
18956#line 3012
18957 __cil_tmp8 = dcb->sync_offset;
18958#line 3012
18959 current_sync_offset = (u16 )__cil_tmp8;
18960#line 3013
18961 return;
18962 } else {
18963
18964 }
18965#line 3016
18966 __cil_tmp9 = acb->dcb_list.next;
18967#line 3016
18968 __mptr = (struct list_head const *)__cil_tmp9;
18969#line 3016
18970 __cil_tmp10 = (struct DeviceCtlBlk *)0;
18971#line 3016
18972 __cil_tmp11 = & __cil_tmp10->list;
18973#line 3016
18974 __cil_tmp12 = (unsigned int )__cil_tmp11;
18975#line 3016
18976 __cil_tmp13 = (char *)__mptr;
18977#line 3016
18978 __cil_tmp14 = __cil_tmp13 - __cil_tmp12;
18979#line 3016
18980 i = (struct DeviceCtlBlk *)__cil_tmp14;
18981 {
18982#line 3016
18983 while (1) {
18984 while_continue: ;
18985
18986 {
18987#line 3016
18988 __cil_tmp15 = & acb->dcb_list;
18989#line 3016
18990 __cil_tmp16 = (unsigned long )__cil_tmp15;
18991#line 3016
18992 __cil_tmp17 = & i->list;
18993#line 3016
18994 __cil_tmp18 = (unsigned long )__cil_tmp17;
18995#line 3016
18996 if (__cil_tmp18 != __cil_tmp16) {
18997
18998 } else {
18999#line 3016
19000 goto while_break;
19001 }
19002 }
19003 {
19004#line 3017
19005 __cil_tmp19 = dcb->target_id;
19006#line 3017
19007 __cil_tmp20 = (int )__cil_tmp19;
19008#line 3017
19009 __cil_tmp21 = i->target_id;
19010#line 3017
19011 __cil_tmp22 = (int )__cil_tmp21;
19012#line 3017
19013 if (__cil_tmp22 == __cil_tmp20) {
19014#line 3018
19015 i->sync_period = dcb->sync_period;
19016#line 3019
19017 i->sync_offset = dcb->sync_offset;
19018#line 3020
19019 i->sync_mode = dcb->sync_mode;
19020#line 3021
19021 i->min_nego_period = dcb->min_nego_period;
19022 } else {
19023
19024 }
19025 }
19026#line 3016
19027 __cil_tmp23 = i->list.next;
19028#line 3016
19029 __mptr___0 = (struct list_head const *)__cil_tmp23;
19030#line 3016
19031 __cil_tmp24 = (struct DeviceCtlBlk *)0;
19032#line 3016
19033 __cil_tmp25 = & __cil_tmp24->list;
19034#line 3016
19035 __cil_tmp26 = (unsigned int )__cil_tmp25;
19036#line 3016
19037 __cil_tmp27 = (char *)__mptr___0;
19038#line 3016
19039 __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
19040#line 3016
19041 i = (struct DeviceCtlBlk *)__cil_tmp28;
19042 }
19043 while_break___0: ;
19044 }
19045
19046 while_break: ;
19047#line 3023
19048 return;
19049}
19050}
19051#line 3026 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19052static void disconnect(struct AdapterCtlBlk *acb )
19053{ struct DeviceCtlBlk *dcb ;
19054 struct ScsiReqBlk *srb ;
19055 u8 tmp___7 ;
19056 u8 bval ;
19057 unsigned char tmp___8 ;
19058 struct Scsi_Host *__cil_tmp7 ;
19059 u8 __cil_tmp8 ;
19060 int __cil_tmp9 ;
19061 int __cil_tmp10 ;
19062 unsigned long volatile __cil_tmp11 ;
19063 unsigned long volatile __cil_tmp12 ;
19064 unsigned long volatile __cil_tmp13 ;
19065 unsigned long volatile __cil_tmp14 ;
19066 char *__cil_tmp15 ;
19067 unsigned long __cil_tmp16 ;
19068 unsigned long __cil_tmp17 ;
19069 int __cil_tmp18 ;
19070 void *__cil_tmp19 ;
19071 char *__cil_tmp20 ;
19072 unsigned long __cil_tmp21 ;
19073 unsigned long __cil_tmp22 ;
19074 int __cil_tmp23 ;
19075 u16 __cil_tmp24 ;
19076 int __cil_tmp25 ;
19077 u8 __cil_tmp26 ;
19078 int __cil_tmp27 ;
19079 u8 __cil_tmp28 ;
19080 int __cil_tmp29 ;
19081 u16 __cil_tmp30 ;
19082 int __cil_tmp31 ;
19083 u8 __cil_tmp32 ;
19084 int __cil_tmp33 ;
19085 int __cil_tmp34 ;
19086 struct Scsi_Host *__cil_tmp35 ;
19087 unsigned long volatile __cil_tmp36 ;
19088 unsigned long volatile __cil_tmp37 ;
19089 unsigned long volatile __cil_tmp38 ;
19090 unsigned long volatile __cil_tmp39 ;
19091 u8 __cil_tmp40 ;
19092 struct scsi_cmnd *__cil_tmp41 ;
19093 u8 __cil_tmp42 ;
19094 u16 __cil_tmp43 ;
19095 int __cil_tmp44 ;
19096 u16 __cil_tmp45 ;
19097 int __cil_tmp46 ;
19098 int __cil_tmp47 ;
19099 u16 __cil_tmp48 ;
19100 int __cil_tmp49 ;
19101 u16 __cil_tmp50 ;
19102 int __cil_tmp51 ;
19103 struct scsi_cmnd *__cil_tmp52 ;
19104 u8 __cil_tmp53 ;
19105 int __cil_tmp54 ;
19106 int __cil_tmp55 ;
19107 int __cil_tmp56 ;
19108 u16 __cil_tmp57 ;
19109 int __cil_tmp58 ;
19110 unsigned long __cil_tmp59 ;
19111 unsigned long __cil_tmp60 ;
19112 int __cil_tmp61 ;
19113 int __cil_tmp62 ;
19114 u16 __cil_tmp63 ;
19115 int __cil_tmp64 ;
19116 void *__cil_tmp65 ;
19117
19118 {
19119#line 3028
19120 dcb = acb->active_dcb;
19121#line 3031
19122 if (! dcb) {
19123 {
19124#line 3032
19125 printk("<3>dc395x: disconnect: No such device\n");
19126#line 3033
19127 __const_udelay(2147500UL);
19128#line 3035
19129 __cil_tmp7 = acb->scsi_host;
19130#line 3035
19131 __cil_tmp8 = acb->eeprom.delay_time;
19132#line 3035
19133 __cil_tmp9 = (int )__cil_tmp8;
19134#line 3035
19135 __cil_tmp10 = 250 * __cil_tmp9;
19136#line 3035
19137 __cil_tmp11 = (unsigned long volatile )__cil_tmp10;
19138#line 3035
19139 __cil_tmp12 = (unsigned long volatile )125;
19140#line 3035
19141 __cil_tmp13 = jiffies + __cil_tmp12;
19142#line 3035
19143 __cil_tmp14 = __cil_tmp13 + __cil_tmp11;
19144#line 3035
19145 __cil_tmp7->last_reset = (unsigned long )__cil_tmp14;
19146#line 3038
19147 __cil_tmp15 = (char *)"disconnectEx";
19148#line 3038
19149 clear_fifo(acb, __cil_tmp15);
19150#line 3039
19151 __cil_tmp16 = acb->io_port_base;
19152#line 3039
19153 __cil_tmp17 = __cil_tmp16 + 128UL;
19154#line 3039
19155 __cil_tmp18 = (int )__cil_tmp17;
19156#line 3039
19157 outw((unsigned short)1, __cil_tmp18);
19158 }
19159#line 3040
19160 return;
19161 } else {
19162
19163 }
19164#line 3042
19165 srb = dcb->active_srb;
19166#line 3043
19167 __cil_tmp19 = (void *)0;
19168#line 3043
19169 acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp19;
19170 {
19171#line 3044
19172 while (1) {
19173 while_continue: ;
19174
19175#line 3044
19176 goto while_break;
19177 }
19178 while_break___3: ;
19179 }
19180
19181 while_break:
19182 {
19183#line 3046
19184 srb->scsi_phase = (u8 )5;
19185#line 3047
19186 __cil_tmp20 = (char *)"disconnect";
19187#line 3047
19188 clear_fifo(acb, __cil_tmp20);
19189#line 3048
19190 __cil_tmp21 = acb->io_port_base;
19191#line 3048
19192 __cil_tmp22 = __cil_tmp21 + 128UL;
19193#line 3048
19194 __cil_tmp23 = (int )__cil_tmp22;
19195#line 3048
19196 outw((unsigned short)1, __cil_tmp23);
19197 }
19198 {
19199#line 3049
19200 __cil_tmp24 = srb->state;
19201#line 3049
19202 __cil_tmp25 = (int )__cil_tmp24;
19203#line 3049
19204 if (__cil_tmp25 & 32768) {
19205 {
19206#line 3050
19207 __cil_tmp26 = dcb->target_id;
19208#line 3050
19209 __cil_tmp27 = (int )__cil_tmp26;
19210#line 3050
19211 __cil_tmp28 = dcb->target_lun;
19212#line 3050
19213 __cil_tmp29 = (int )__cil_tmp28;
19214#line 3050
19215 printk("<3>dc395x: disconnect: Unexpected reselection <%02i-%i>\n", __cil_tmp27,
19216 __cil_tmp29);
19217#line 3053
19218 srb->state = (u16 )0;
19219#line 3054
19220 waiting_process_next(acb);
19221 }
19222 } else {
19223 {
19224#line 3055
19225 __cil_tmp30 = srb->state;
19226#line 3055
19227 __cil_tmp31 = (int )__cil_tmp30;
19228#line 3055
19229 if (__cil_tmp31 & 4096) {
19230 {
19231#line 3056
19232 __cil_tmp32 = dcb->flag;
19233#line 3056
19234 __cil_tmp33 = (int )__cil_tmp32;
19235#line 3056
19236 __cil_tmp34 = __cil_tmp33 & -2;
19237#line 3056
19238 dcb->flag = (u8 )__cil_tmp34;
19239#line 3057
19240 __cil_tmp35 = acb->scsi_host;
19241#line 3057
19242 __cil_tmp36 = (unsigned long volatile )1;
19243#line 3057
19244 __cil_tmp37 = (unsigned long volatile )125;
19245#line 3057
19246 __cil_tmp38 = jiffies + __cil_tmp37;
19247#line 3057
19248 __cil_tmp39 = __cil_tmp38 + __cil_tmp36;
19249#line 3057
19250 __cil_tmp35->last_reset = (unsigned long )__cil_tmp39;
19251#line 3058
19252 printk("<3>dc395x: disconnect: SRB_ABORT_SENT\n");
19253#line 3059
19254 __cil_tmp40 = (u8 )5;
19255#line 3059
19256 __cil_tmp41 = srb->cmd;
19257#line 3059
19258 __cil_tmp42 = (u8 )1;
19259#line 3059
19260 doing_srb_done(acb, __cil_tmp40, __cil_tmp41, __cil_tmp42);
19261#line 3060
19262 waiting_process_next(acb);
19263 }
19264 } else {
19265 {
19266#line 3062
19267 __cil_tmp43 = srb->state;
19268#line 3062
19269 __cil_tmp44 = (int )__cil_tmp43;
19270#line 3062
19271 if (__cil_tmp44 & 68) {
19272#line 3062
19273 goto _L___0;
19274 } else {
19275 {
19276#line 3062
19277 __cil_tmp45 = srb->state;
19278#line 3062
19279 __cil_tmp46 = (int )__cil_tmp45;
19280#line 3062
19281 __cil_tmp47 = __cil_tmp46 & 2176;
19282#line 3062
19283 if (! __cil_tmp47) {
19284 _L___0:
19285 {
19286#line 3070
19287 __cil_tmp48 = srb->state;
19288#line 3070
19289 __cil_tmp49 = (int )__cil_tmp48;
19290#line 3070
19291 if (__cil_tmp49 != 64) {
19292 {
19293#line 3070
19294 __cil_tmp50 = srb->state;
19295#line 3070
19296 __cil_tmp51 = (int )__cil_tmp50;
19297#line 3070
19298 if (__cil_tmp51 != 4) {
19299 {
19300#line 3072
19301 srb->state = (u16 )2;
19302#line 3073
19303 __cil_tmp52 = srb->cmd;
19304#line 3073
19305 printk("<7>dc395x: disconnect: (0x%p) Unexpected\n", __cil_tmp52);
19306#line 3076
19307 srb->target_status = (u8 )255;
19308 }
19309#line 3077
19310 goto disc1;
19311 } else {
19312#line 3070
19313 goto _L;
19314 }
19315 }
19316 } else {
19317 _L:
19318 {
19319#line 3080
19320 while (1) {
19321 while_continue___0: ;
19322
19323#line 3080
19324 goto while_break___0;
19325 }
19326 while_break___4: ;
19327 }
19328
19329 while_break___0:
19330#line 3083
19331 tmp___7 = srb->retry_count;
19332#line 3083
19333 __cil_tmp53 = srb->retry_count;
19334#line 3083
19335 __cil_tmp54 = (int )__cil_tmp53;
19336#line 3083
19337 __cil_tmp55 = __cil_tmp54 + 1;
19338#line 3083
19339 srb->retry_count = (u8 )__cil_tmp55;
19340 {
19341#line 3083
19342 __cil_tmp56 = (int )tmp___7;
19343#line 3083
19344 if (__cil_tmp56 > 3) {
19345#line 3085
19346 srb->target_status = (u8 )255;
19347#line 3087
19348 goto disc1;
19349 } else
19350#line 3083
19351 if (acb->scan_devices) {
19352#line 3085
19353 srb->target_status = (u8 )255;
19354#line 3087
19355 goto disc1;
19356 } else {
19357
19358 }
19359 }
19360 {
19361#line 3089
19362 free_tag(dcb, srb);
19363#line 3090
19364 srb_going_to_waiting_move(dcb, srb);
19365 }
19366 {
19367#line 3091
19368 while (1) {
19369 while_continue___1: ;
19370
19371#line 3091
19372 goto while_break___1;
19373 }
19374 while_break___5: ;
19375 }
19376
19377 while_break___1:
19378 {
19379#line 3094
19380 waiting_set_timer(acb, 12UL);
19381 }
19382 }
19383 }
19384 } else {
19385 {
19386#line 3096
19387 __cil_tmp57 = srb->state;
19388#line 3096
19389 __cil_tmp58 = (int )__cil_tmp57;
19390#line 3096
19391 if (__cil_tmp58 & 128) {
19392 {
19393#line 3097
19394 __cil_tmp59 = acb->io_port_base;
19395#line 3097
19396 __cil_tmp60 = __cil_tmp59 + 131UL;
19397#line 3097
19398 __cil_tmp61 = (int )__cil_tmp60;
19399#line 3097
19400 tmp___8 = inb(__cil_tmp61);
19401#line 3097
19402 bval = tmp___8;
19403 }
19404 {
19405#line 3101
19406 __cil_tmp62 = (int )bval;
19407#line 3101
19408 if (__cil_tmp62 & 64) {
19409 {
19410#line 3102
19411 while (1) {
19412 while_continue___2: ;
19413
19414#line 3102
19415 goto while_break___2;
19416 }
19417 while_break___6: ;
19418 }
19419
19420 while_break___2: ;
19421 } else {
19422 {
19423#line 3107
19424 waiting_process_next(acb);
19425 }
19426 }
19427 }
19428 } else {
19429 {
19430#line 3108
19431 __cil_tmp63 = srb->state;
19432#line 3108
19433 __cil_tmp64 = (int )__cil_tmp63;
19434#line 3108
19435 if (__cil_tmp64 & 2048) {
19436 disc1:
19437 {
19438#line 3113
19439 free_tag(dcb, srb);
19440#line 3114
19441 __cil_tmp65 = (void *)0;
19442#line 3114
19443 dcb->active_srb = (struct ScsiReqBlk *)__cil_tmp65;
19444#line 3115
19445 srb->state = (u16 )0;
19446#line 3116
19447 srb_done(acb, dcb, srb);
19448 }
19449 } else {
19450
19451 }
19452 }
19453 }
19454 }
19455 }
19456 }
19457 }
19458 }
19459 }
19460 }
19461 }
19462 }
19463#line 3119
19464 return;
19465}
19466}
19467#line 3122 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19468static void reselect(struct AdapterCtlBlk *acb )
19469{ struct DeviceCtlBlk *dcb ;
19470 struct ScsiReqBlk *srb ;
19471 u16 rsel_tar_lun_id ;
19472 u8 id ;
19473 u8 lun ;
19474 u8 arblostflag ;
19475 unsigned short tmp___7 ;
19476 void *__cil_tmp9 ;
19477 char *__cil_tmp10 ;
19478 unsigned long __cil_tmp11 ;
19479 unsigned long __cil_tmp12 ;
19480 int __cil_tmp13 ;
19481 unsigned long __cil_tmp14 ;
19482 unsigned long __cil_tmp15 ;
19483 int __cil_tmp16 ;
19484 u8 __cil_tmp17 ;
19485 int __cil_tmp18 ;
19486 int __cil_tmp19 ;
19487 int __cil_tmp20 ;
19488 int __cil_tmp21 ;
19489 int __cil_tmp22 ;
19490 int __cil_tmp23 ;
19491 int __cil_tmp24 ;
19492 int __cil_tmp25 ;
19493 int __cil_tmp26 ;
19494 int __cil_tmp27 ;
19495 int __cil_tmp28 ;
19496 unsigned long __cil_tmp29 ;
19497 unsigned long __cil_tmp30 ;
19498 int __cil_tmp31 ;
19499 u8 __cil_tmp32 ;
19500 int __cil_tmp33 ;
19501 int __cil_tmp34 ;
19502 u8 __cil_tmp35 ;
19503 int __cil_tmp36 ;
19504 u8 __cil_tmp37 ;
19505 int __cil_tmp38 ;
19506 u8 __cil_tmp39 ;
19507 int __cil_tmp40 ;
19508 u8 __cil_tmp41 ;
19509 int __cil_tmp42 ;
19510 u8 __cil_tmp43 ;
19511 int __cil_tmp44 ;
19512 u16 __cil_tmp45 ;
19513 int __cil_tmp46 ;
19514 int __cil_tmp47 ;
19515 u8 __cil_tmp48 ;
19516 int __cil_tmp49 ;
19517 u8 __cil_tmp50 ;
19518 int __cil_tmp51 ;
19519 u8 __cil_tmp52 ;
19520 int __cil_tmp53 ;
19521 struct Scsi_Host *__cil_tmp54 ;
19522 int __cil_tmp55 ;
19523 unsigned char __cil_tmp56 ;
19524 unsigned long __cil_tmp57 ;
19525 unsigned long __cil_tmp58 ;
19526 int __cil_tmp59 ;
19527 u8 __cil_tmp60 ;
19528 unsigned long __cil_tmp61 ;
19529 unsigned long __cil_tmp62 ;
19530 int __cil_tmp63 ;
19531 u8 __cil_tmp64 ;
19532 unsigned long __cil_tmp65 ;
19533 unsigned long __cil_tmp66 ;
19534 int __cil_tmp67 ;
19535 u8 __cil_tmp68 ;
19536 unsigned long __cil_tmp69 ;
19537 unsigned long __cil_tmp70 ;
19538 int __cil_tmp71 ;
19539 unsigned long __cil_tmp72 ;
19540 unsigned long __cil_tmp73 ;
19541 int __cil_tmp74 ;
19542 unsigned long __cil_tmp75 ;
19543 unsigned long __cil_tmp76 ;
19544 int __cil_tmp77 ;
19545
19546 {
19547#line 3124
19548 dcb = acb->active_dcb;
19549#line 3125
19550 __cil_tmp9 = (void *)0;
19551#line 3125
19552 srb = (struct ScsiReqBlk *)__cil_tmp9;
19553#line 3128
19554 arblostflag = (u8 )0;
19555 {
19556#line 3129
19557 while (1) {
19558 while_continue: ;
19559
19560#line 3129
19561 goto while_break;
19562 }
19563 while_break___2: ;
19564 }
19565
19566 while_break:
19567 {
19568#line 3131
19569 __cil_tmp10 = (char *)"reselect";
19570#line 3131
19571 clear_fifo(acb, __cil_tmp10);
19572#line 3134
19573 __cil_tmp11 = acb->io_port_base;
19574#line 3134
19575 __cil_tmp12 = __cil_tmp11 + 134UL;
19576#line 3134
19577 __cil_tmp13 = (int )__cil_tmp12;
19578#line 3134
19579 tmp___7 = inw(__cil_tmp13);
19580#line 3134
19581 rsel_tar_lun_id = tmp___7;
19582 }
19583#line 3135
19584 if (dcb) {
19585#line 3136
19586 srb = dcb->active_srb;
19587#line 3137
19588 if (! srb) {
19589 {
19590#line 3138
19591 printk("<7>dc395x: reselect: Arb lost Resel won, but active_srb == NULL\n");
19592#line 3140
19593 __cil_tmp14 = acb->io_port_base;
19594#line 3140
19595 __cil_tmp15 = __cil_tmp14 + 128UL;
19596#line 3140
19597 __cil_tmp16 = (int )__cil_tmp15;
19598#line 3140
19599 outw((unsigned short)2, __cil_tmp16);
19600 }
19601#line 3141
19602 return;
19603 } else {
19604
19605 }
19606 {
19607#line 3144
19608 __cil_tmp17 = acb->scan_devices;
19609#line 3144
19610 if (! __cil_tmp17) {
19611 {
19612#line 3145
19613 while (1) {
19614 while_continue___0: ;
19615
19616#line 3145
19617 goto while_break___0;
19618 }
19619 while_break___3: ;
19620 }
19621
19622 while_break___0:
19623 {
19624#line 3150
19625 arblostflag = (u8 )1;
19626#line 3153
19627 srb->state = (u16 )2;
19628#line 3154
19629 free_tag(dcb, srb);
19630#line 3155
19631 srb_going_to_waiting_move(dcb, srb);
19632#line 3156
19633 waiting_set_timer(acb, 12UL);
19634 }
19635 } else {
19636
19637 }
19638 }
19639 } else {
19640
19641 }
19642 {
19643#line 3162
19644 __cil_tmp18 = 128 << 8;
19645#line 3162
19646 __cil_tmp19 = (int )rsel_tar_lun_id;
19647#line 3162
19648 __cil_tmp20 = __cil_tmp19 & __cil_tmp18;
19649#line 3162
19650 if (! __cil_tmp20) {
19651 {
19652#line 3163
19653 __cil_tmp21 = (int )rsel_tar_lun_id;
19654#line 3163
19655 printk("<7>dc395x: reselect: Expects identify msg. Got %i!\n", __cil_tmp21);
19656 }
19657 } else {
19658
19659 }
19660 }
19661 {
19662#line 3165
19663 __cil_tmp22 = (int )rsel_tar_lun_id;
19664#line 3165
19665 __cil_tmp23 = __cil_tmp22 & 255;
19666#line 3165
19667 id = (u8 )__cil_tmp23;
19668#line 3166
19669 __cil_tmp24 = (int )rsel_tar_lun_id;
19670#line 3166
19671 __cil_tmp25 = __cil_tmp24 >> 8;
19672#line 3166
19673 __cil_tmp26 = __cil_tmp25 & 7;
19674#line 3166
19675 lun = (u8 )__cil_tmp26;
19676#line 3167
19677 dcb = find_dcb(acb, id, lun);
19678 }
19679#line 3168
19680 if (! dcb) {
19681 {
19682#line 3169
19683 __cil_tmp27 = (int )id;
19684#line 3169
19685 __cil_tmp28 = (int )lun;
19686#line 3169
19687 printk("<3>dc395x: reselect: From non existent device <%02i-%i>\n", __cil_tmp27,
19688 __cil_tmp28);
19689#line 3171
19690 __cil_tmp29 = acb->io_port_base;
19691#line 3171
19692 __cil_tmp30 = __cil_tmp29 + 128UL;
19693#line 3171
19694 __cil_tmp31 = (int )__cil_tmp30;
19695#line 3171
19696 outw((unsigned short)2, __cil_tmp31);
19697 }
19698#line 3172
19699 return;
19700 } else {
19701
19702 }
19703#line 3174
19704 acb->active_dcb = dcb;
19705 {
19706#line 3176
19707 __cil_tmp32 = dcb->dev_mode;
19708#line 3176
19709 __cil_tmp33 = (int )__cil_tmp32;
19710#line 3176
19711 __cil_tmp34 = __cil_tmp33 & 4;
19712#line 3176
19713 if (! __cil_tmp34) {
19714 {
19715#line 3177
19716 __cil_tmp35 = dcb->target_id;
19717#line 3177
19718 __cil_tmp36 = (int )__cil_tmp35;
19719#line 3177
19720 __cil_tmp37 = dcb->target_lun;
19721#line 3177
19722 __cil_tmp38 = (int )__cil_tmp37;
19723#line 3177
19724 printk("<7>dc395x: reselect: in spite of forbidden disconnection? <%02i-%i>\n",
19725 __cil_tmp36, __cil_tmp38);
19726 }
19727 } else {
19728
19729 }
19730 }
19731 {
19732#line 3181
19733 __cil_tmp39 = dcb->sync_mode;
19734#line 3181
19735 __cil_tmp40 = (int )__cil_tmp39;
19736#line 3181
19737 if (__cil_tmp40 & 32) {
19738#line 3182
19739 srb = acb->tmp_srb;
19740#line 3183
19741 dcb->active_srb = srb;
19742 } else {
19743#line 3186
19744 srb = dcb->active_srb;
19745#line 3187
19746 if (! srb) {
19747 {
19748#line 3191
19749 __cil_tmp41 = dcb->target_id;
19750#line 3191
19751 __cil_tmp42 = (int )__cil_tmp41;
19752#line 3191
19753 __cil_tmp43 = dcb->target_lun;
19754#line 3191
19755 __cil_tmp44 = (int )__cil_tmp43;
19756#line 3191
19757 printk("<7>dc395x: reselect: w/o disconnected cmds <%02i-%i>\n", __cil_tmp42,
19758 __cil_tmp44);
19759#line 3194
19760 srb = acb->tmp_srb;
19761#line 3195
19762 srb->state = (u16 )32768;
19763#line 3196
19764 dcb->active_srb = srb;
19765#line 3197
19766 enable_msgout_abort(acb, srb);
19767 }
19768 } else {
19769 {
19770#line 3187
19771 __cil_tmp45 = srb->state;
19772#line 3187
19773 __cil_tmp46 = (int )__cil_tmp45;
19774#line 3187
19775 __cil_tmp47 = __cil_tmp46 & 128;
19776#line 3187
19777 if (! __cil_tmp47) {
19778 {
19779#line 3191
19780 __cil_tmp48 = dcb->target_id;
19781#line 3191
19782 __cil_tmp49 = (int )__cil_tmp48;
19783#line 3191
19784 __cil_tmp50 = dcb->target_lun;
19785#line 3191
19786 __cil_tmp51 = (int )__cil_tmp50;
19787#line 3191
19788 printk("<7>dc395x: reselect: w/o disconnected cmds <%02i-%i>\n", __cil_tmp49,
19789 __cil_tmp51);
19790#line 3194
19791 srb = acb->tmp_srb;
19792#line 3195
19793 srb->state = (u16 )32768;
19794#line 3196
19795 dcb->active_srb = srb;
19796#line 3197
19797 enable_msgout_abort(acb, srb);
19798 }
19799 } else {
19800 {
19801#line 3199
19802 __cil_tmp52 = dcb->flag;
19803#line 3199
19804 __cil_tmp53 = (int )__cil_tmp52;
19805#line 3199
19806 if (__cil_tmp53 & 1) {
19807 {
19808#line 3201
19809 enable_msgout_abort(acb, srb);
19810 }
19811 } else {
19812#line 3203
19813 srb->state = (u16 )256;
19814 }
19815 }
19816 }
19817 }
19818 }
19819 }
19820 }
19821#line 3207
19822 srb->scsi_phase = (u8 )5;
19823 {
19824#line 3210
19825 while (1) {
19826 while_continue___1: ;
19827
19828#line 3210
19829 goto while_break___1;
19830 }
19831 while_break___4: ;
19832 }
19833
19834 while_break___1:
19835 {
19836#line 3211
19837 __cil_tmp54 = acb->scsi_host;
19838#line 3211
19839 __cil_tmp55 = __cil_tmp54->this_id;
19840#line 3211
19841 __cil_tmp56 = (unsigned char )__cil_tmp55;
19842#line 3211
19843 __cil_tmp57 = acb->io_port_base;
19844#line 3211
19845 __cil_tmp58 = __cil_tmp57 + 135UL;
19846#line 3211
19847 __cil_tmp59 = (int )__cil_tmp58;
19848#line 3211
19849 outb(__cil_tmp56, __cil_tmp59);
19850#line 3212
19851 __cil_tmp60 = dcb->target_id;
19852#line 3212
19853 __cil_tmp61 = acb->io_port_base;
19854#line 3212
19855 __cil_tmp62 = __cil_tmp61 + 134UL;
19856#line 3212
19857 __cil_tmp63 = (int )__cil_tmp62;
19858#line 3212
19859 outb(__cil_tmp60, __cil_tmp63);
19860#line 3213
19861 __cil_tmp64 = dcb->sync_offset;
19862#line 3213
19863 __cil_tmp65 = acb->io_port_base;
19864#line 3213
19865 __cil_tmp66 = __cil_tmp65 + 132UL;
19866#line 3213
19867 __cil_tmp67 = (int )__cil_tmp66;
19868#line 3213
19869 outb(__cil_tmp64, __cil_tmp67);
19870#line 3214
19871 __cil_tmp68 = dcb->sync_period;
19872#line 3214
19873 __cil_tmp69 = acb->io_port_base;
19874#line 3214
19875 __cil_tmp70 = __cil_tmp69 + 133UL;
19876#line 3214
19877 __cil_tmp71 = (int )__cil_tmp70;
19878#line 3214
19879 outb(__cil_tmp68, __cil_tmp71);
19880#line 3215
19881 __cil_tmp72 = acb->io_port_base;
19882#line 3215
19883 __cil_tmp73 = __cil_tmp72 + 128UL;
19884#line 3215
19885 __cil_tmp74 = (int )__cil_tmp73;
19886#line 3215
19887 outw((unsigned short)2, __cil_tmp74);
19888#line 3217
19889 __cil_tmp75 = acb->io_port_base;
19890#line 3217
19891 __cil_tmp76 = __cil_tmp75 + 144UL;
19892#line 3217
19893 __cil_tmp77 = (int )__cil_tmp76;
19894#line 3217
19895 outb((unsigned char)216, __cil_tmp77);
19896 }
19897#line 3218
19898 return;
19899}
19900}
19901#line 3221 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19902__inline static u8 tagq_blacklist(char *name )
19903{
19904
19905 {
19906#line 3230
19907 return ((u8 )0);
19908}
19909}
19910#line 3237 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
19911static void disc_tagq_set(struct DeviceCtlBlk *dcb , struct ScsiInqData *ptr )
19912{ u8 tmp___7 ;
19913 u8 __cil_tmp4 ;
19914 int __cil_tmp5 ;
19915 int __cil_tmp6 ;
19916 u8 __cil_tmp7 ;
19917 int __cil_tmp8 ;
19918 int __cil_tmp9 ;
19919 u8 __cil_tmp10 ;
19920 int __cil_tmp11 ;
19921 u8 __cil_tmp12 ;
19922 int __cil_tmp13 ;
19923 char *__cil_tmp14 ;
19924 char *__cil_tmp15 ;
19925 u16 __cil_tmp16 ;
19926 int __cil_tmp17 ;
19927 struct AdapterCtlBlk *__cil_tmp18 ;
19928 u8 __cil_tmp19 ;
19929 u8 __cil_tmp20 ;
19930 int __cil_tmp21 ;
19931 int __cil_tmp22 ;
19932
19933 {
19934 {
19935#line 3240
19936 __cil_tmp4 = ptr->Vers;
19937#line 3240
19938 __cil_tmp5 = (int )__cil_tmp4;
19939#line 3240
19940 __cil_tmp6 = __cil_tmp5 & 7;
19941#line 3240
19942 if (__cil_tmp6 >= 2) {
19943#line 3240
19944 goto _L;
19945 } else {
19946 {
19947#line 3240
19948 __cil_tmp7 = ptr->RDF;
19949#line 3240
19950 __cil_tmp8 = (int )__cil_tmp7;
19951#line 3240
19952 __cil_tmp9 = __cil_tmp8 & 15;
19953#line 3240
19954 if (__cil_tmp9 == 2) {
19955 _L:
19956 {
19957#line 3241
19958 __cil_tmp10 = ptr->Flags;
19959#line 3241
19960 __cil_tmp11 = (int )__cil_tmp10;
19961#line 3241
19962 if (__cil_tmp11 & 2) {
19963 {
19964#line 3241
19965 __cil_tmp12 = dcb->dev_mode;
19966#line 3241
19967 __cil_tmp13 = (int )__cil_tmp12;
19968#line 3241
19969 if (__cil_tmp13 & 16) {
19970 {
19971#line 3241
19972 __cil_tmp14 = (char *)ptr;
19973#line 3241
19974 __cil_tmp15 = __cil_tmp14 + 8;
19975#line 3241
19976 tmp___7 = tagq_blacklist(__cil_tmp15);
19977 }
19978#line 3241
19979 if (tmp___7) {
19980#line 3253
19981 dcb->max_command = (u16 )1;
19982 } else {
19983 {
19984#line 3247
19985 __cil_tmp16 = dcb->max_command;
19986#line 3247
19987 __cil_tmp17 = (int )__cil_tmp16;
19988#line 3247
19989 if (__cil_tmp17 == 1) {
19990#line 3248
19991 __cil_tmp18 = dcb->acb;
19992#line 3248
19993 __cil_tmp19 = __cil_tmp18->tag_max_num;
19994#line 3248
19995 dcb->max_command = (u16 )__cil_tmp19;
19996 } else {
19997
19998 }
19999 }
20000#line 3250
20001 __cil_tmp20 = dcb->sync_mode;
20002#line 3250
20003 __cil_tmp21 = (int )__cil_tmp20;
20004#line 3250
20005 __cil_tmp22 = __cil_tmp21 | 32;
20006#line 3250
20007 dcb->sync_mode = (u8 )__cil_tmp22;
20008 }
20009 } else {
20010#line 3253
20011 dcb->max_command = (u16 )1;
20012 }
20013 }
20014 } else {
20015#line 3253
20016 dcb->max_command = (u16 )1;
20017 }
20018 }
20019 } else {
20020
20021 }
20022 }
20023 }
20024 }
20025#line 3255
20026 return;
20027}
20028}
20029#line 3258 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20030static void add_dev(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiInqData *ptr )
20031{ u8 bval1 ;
20032 u8 __cil_tmp5 ;
20033 int __cil_tmp6 ;
20034 int __cil_tmp7 ;
20035
20036 {
20037 {
20038#line 3261
20039 __cil_tmp5 = ptr->DevType;
20040#line 3261
20041 __cil_tmp6 = (int )__cil_tmp5;
20042#line 3261
20043 __cil_tmp7 = __cil_tmp6 & 31;
20044#line 3261
20045 bval1 = (u8 )__cil_tmp7;
20046#line 3262
20047 dcb->dev_type = bval1;
20048#line 3264
20049 disc_tagq_set(dcb, ptr);
20050 }
20051#line 3265
20052 return;
20053}
20054}
20055#line 3269 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20056static void pci_unmap_srb(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
20057{ struct scsi_cmnd *cmd ;
20058 enum dma_data_direction dir ;
20059 unsigned int tmp___7 ;
20060 unsigned int __cil_tmp6 ;
20061 struct pci_dev *__cil_tmp7 ;
20062 dma_addr_t __cil_tmp8 ;
20063 unsigned long __cil_tmp9 ;
20064
20065 {
20066 {
20067#line 3271
20068 cmd = srb->cmd;
20069#line 3272
20070 dir = cmd->sc_data_direction;
20071#line 3274
20072 tmp___7 = scsi_sg_count(cmd);
20073 }
20074#line 3274
20075 if (tmp___7) {
20076 {
20077#line 3274
20078 __cil_tmp6 = (unsigned int )dir;
20079#line 3274
20080 if (__cil_tmp6 != 3U) {
20081 {
20082#line 3276
20083 while (1) {
20084 while_continue: ;
20085
20086#line 3276
20087 goto while_break;
20088 }
20089 while_break___1: ;
20090 }
20091
20092 while_break:
20093 {
20094#line 3278
20095 __cil_tmp7 = acb->dev;
20096#line 3278
20097 __cil_tmp8 = srb->sg_bus_addr;
20098#line 3278
20099 __cil_tmp9 = 8UL * 64UL;
20100#line 3278
20101 pci_unmap_single(__cil_tmp7, __cil_tmp8, __cil_tmp9, 1);
20102 }
20103 {
20104#line 3281
20105 while (1) {
20106 while_continue___0: ;
20107
20108#line 3281
20109 goto while_break___0;
20110 }
20111 while_break___2: ;
20112 }
20113
20114 while_break___0:
20115 {
20116#line 3284
20117 scsi_dma_unmap(cmd);
20118 }
20119 } else {
20120
20121 }
20122 }
20123 } else {
20124
20125 }
20126#line 3286
20127 return;
20128}
20129}
20130#line 3290 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20131static void pci_unmap_srb_sense(struct AdapterCtlBlk *acb , struct ScsiReqBlk *srb )
20132{ u8 __cil_tmp3 ;
20133 int __cil_tmp4 ;
20134 int __cil_tmp5 ;
20135 struct pci_dev *__cil_tmp6 ;
20136 struct SGentry *__cil_tmp7 ;
20137 struct SGentry *__cil_tmp8 ;
20138 u32 __cil_tmp9 ;
20139 dma_addr_t __cil_tmp10 ;
20140 struct SGentry *__cil_tmp11 ;
20141 struct SGentry *__cil_tmp12 ;
20142 u32 __cil_tmp13 ;
20143 size_t __cil_tmp14 ;
20144 struct SGentry *__cil_tmp15 ;
20145 struct SGentry *__cil_tmp16 ;
20146 struct SGentry *__cil_tmp17 ;
20147 struct SGentry *__cil_tmp18 ;
20148 struct SGentry *__cil_tmp19 ;
20149 struct SGentry *__cil_tmp20 ;
20150 struct SGentry *__cil_tmp21 ;
20151 struct SGentry *__cil_tmp22 ;
20152
20153 {
20154 {
20155#line 3293
20156 __cil_tmp3 = srb->flag;
20157#line 3293
20158 __cil_tmp4 = (int )__cil_tmp3;
20159#line 3293
20160 __cil_tmp5 = __cil_tmp4 & 1;
20161#line 3293
20162 if (! __cil_tmp5) {
20163#line 3294
20164 return;
20165 } else {
20166
20167 }
20168 }
20169 {
20170#line 3296
20171 while (1) {
20172 while_continue: ;
20173
20174#line 3296
20175 goto while_break;
20176 }
20177 while_break___0: ;
20178 }
20179
20180 while_break:
20181 {
20182#line 3298
20183 __cil_tmp6 = acb->dev;
20184#line 3298
20185 __cil_tmp7 = srb->segment_x;
20186#line 3298
20187 __cil_tmp8 = __cil_tmp7 + 0;
20188#line 3298
20189 __cil_tmp9 = __cil_tmp8->address;
20190#line 3298
20191 __cil_tmp10 = (dma_addr_t )__cil_tmp9;
20192#line 3298
20193 __cil_tmp11 = srb->segment_x;
20194#line 3298
20195 __cil_tmp12 = __cil_tmp11 + 0;
20196#line 3298
20197 __cil_tmp13 = __cil_tmp12->length;
20198#line 3298
20199 __cil_tmp14 = (size_t )__cil_tmp13;
20200#line 3298
20201 pci_unmap_single(__cil_tmp6, __cil_tmp10, __cil_tmp14, 2);
20202#line 3301
20203 srb->total_xfer_length = srb->xferred;
20204#line 3302
20205 __cil_tmp15 = srb->segment_x;
20206#line 3302
20207 __cil_tmp16 = __cil_tmp15 + 0;
20208#line 3302
20209 __cil_tmp17 = srb->segment_x;
20210#line 3302
20211 __cil_tmp18 = __cil_tmp17 + 63;
20212#line 3302
20213 __cil_tmp16->address = __cil_tmp18->address;
20214#line 3304
20215 __cil_tmp19 = srb->segment_x;
20216#line 3304
20217 __cil_tmp20 = __cil_tmp19 + 0;
20218#line 3304
20219 __cil_tmp21 = srb->segment_x;
20220#line 3304
20221 __cil_tmp22 = __cil_tmp21 + 63;
20222#line 3304
20223 __cil_tmp20->length = __cil_tmp22->length;
20224 }
20225#line 3306
20226 return;
20227}
20228}
20229#line 3313 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
20230static void srb_done(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
20231{ u8 tempcnt ;
20232 u8 status ;
20233 struct scsi_cmnd *cmd ;
20234 enum dma_data_direction dir ;
20235 int ckc_only ;
20236 unsigned int tmp___7 ;
20237 unsigned int tmp___8 ;
20238 struct scatterlist *tmp___9 ;
20239 unsigned int tmp___10 ;
20240 unsigned char *base ;
20241 struct ScsiInqData *ptr ;
20242 unsigned long flags ;
20243 struct scatterlist *sg ;
20244 struct scatterlist *tmp___11 ;
20245 size_t offset ;
20246 size_t len ;
20247 unsigned int tmp___12 ;
20248 void *tmp___13 ;
20249 unsigned int tmp___14 ;
20250 int tmp___15 ;
20251 u8 __cil_tmp24 ;
20252 int __cil_tmp25 ;
20253 u8 __cil_tmp26 ;
20254 int __cil_tmp27 ;
20255 int __cil_tmp28 ;
20256 int __cil_tmp29 ;
20257 unsigned char *__cil_tmp30 ;
20258 unsigned char *__cil_tmp31 ;
20259 unsigned char __cil_tmp32 ;
20260 int __cil_tmp33 ;
20261 int __cil_tmp34 ;
20262 unsigned char *__cil_tmp35 ;
20263 unsigned char *__cil_tmp36 ;
20264 unsigned char __cil_tmp37 ;
20265 int __cil_tmp38 ;
20266 int __cil_tmp39 ;
20267 unsigned char *__cil_tmp40 ;
20268 unsigned char *__cil_tmp41 ;
20269 unsigned char __cil_tmp42 ;
20270 int __cil_tmp43 ;
20271 int __cil_tmp44 ;
20272 unsigned char *__cil_tmp45 ;
20273 unsigned char *__cil_tmp46 ;
20274 unsigned char __cil_tmp47 ;
20275 int __cil_tmp48 ;
20276 int __cil_tmp49 ;
20277 unsigned char *__cil_tmp50 ;
20278 unsigned char *__cil_tmp51 ;
20279 unsigned char __cil_tmp52 ;
20280 int __cil_tmp53 ;
20281 int __cil_tmp54 ;
20282 unsigned char *__cil_tmp55 ;
20283 unsigned char *__cil_tmp56 ;
20284 unsigned char __cil_tmp57 ;
20285 int __cil_tmp58 ;
20286 u8 __cil_tmp59 ;
20287 int __cil_tmp60 ;
20288 u8 __cil_tmp61 ;
20289 int __cil_tmp62 ;
20290 int __cil_tmp63 ;
20291 u8 __cil_tmp64 ;
20292 int __cil_tmp65 ;
20293 unsigned char *__cil_tmp66 ;
20294 unsigned char *__cil_tmp67 ;
20295 unsigned char __cil_tmp68 ;
20296 int __cil_tmp69 ;
20297 u8 __cil_tmp70 ;
20298 int __cil_tmp71 ;
20299 u8 __cil_tmp72 ;
20300 int __cil_tmp73 ;
20301 int __cil_tmp74 ;
20302 u8 __cil_tmp75 ;
20303 int __cil_tmp76 ;
20304 unsigned char *__cil_tmp77 ;
20305 unsigned char *__cil_tmp78 ;
20306 unsigned char __cil_tmp79 ;
20307 int __cil_tmp80 ;
20308 u8 __cil_tmp81 ;
20309 int __cil_tmp82 ;
20310 u8 __cil_tmp83 ;
20311 int __cil_tmp84 ;
20312 int __cil_tmp85 ;
20313 u8 __cil_tmp86 ;
20314 int __cil_tmp87 ;
20315 unsigned char *__cil_tmp88 ;
20316 unsigned char *__cil_tmp89 ;
20317 unsigned char __cil_tmp90 ;
20318 int __cil_tmp91 ;
20319 u8 __cil_tmp92 ;
20320 int __cil_tmp93 ;
20321 u8 __cil_tmp94 ;
20322 int __cil_tmp95 ;
20323 int __cil_tmp96 ;
20324 u8 __cil_tmp97 ;
20325 int __cil_tmp98 ;
20326 unsigned char *__cil_tmp99 ;
20327 unsigned char *__cil_tmp100 ;
20328 unsigned char __cil_tmp101 ;
20329 int __cil_tmp102 ;
20330 u8 __cil_tmp103 ;
20331 int __cil_tmp104 ;
20332 u8 __cil_tmp105 ;
20333 int __cil_tmp106 ;
20334 int __cil_tmp107 ;
20335 u8 __cil_tmp108 ;
20336 int __cil_tmp109 ;
20337 unsigned char *__cil_tmp110 ;
20338 unsigned char *__cil_tmp111 ;
20339 unsigned char __cil_tmp112 ;
20340 int __cil_tmp113 ;
20341 unsigned char *__cil_tmp114 ;
20342 unsigned char *__cil_tmp115 ;
20343 unsigned char __cil_tmp116 ;
20344 int __cil_tmp117 ;
20345 unsigned char *__cil_tmp118 ;
20346 unsigned char *__cil_tmp119 ;
20347 unsigned char __cil_tmp120 ;
20348 int __cil_tmp121 ;
20349 unsigned char *__cil_tmp122 ;
20350 unsigned char *__cil_tmp123 ;
20351 unsigned char __cil_tmp124 ;
20352 int __cil_tmp125 ;
20353 unsigned char *__cil_tmp126 ;
20354 unsigned char *__cil_tmp127 ;
20355 unsigned int *__cil_tmp128 ;
20356 unsigned int __cil_tmp129 ;
20357 unsigned char *__cil_tmp130 ;
20358 unsigned char *__cil_tmp131 ;
20359 unsigned int *__cil_tmp132 ;
20360 unsigned int __cil_tmp133 ;
20361 unsigned char *__cil_tmp134 ;
20362 unsigned char *__cil_tmp135 ;
20363 unsigned char __cil_tmp136 ;
20364 int __cil_tmp137 ;
20365 unsigned char *__cil_tmp138 ;
20366 unsigned char *__cil_tmp139 ;
20367 unsigned int *__cil_tmp140 ;
20368 unsigned int __cil_tmp141 ;
20369 int __cil_tmp142 ;
20370 int __cil_tmp143 ;
20371 unsigned int __cil_tmp144 ;
20372 size_t __cil_tmp145 ;
20373 size_t __cil_tmp146 ;
20374 int __cil_tmp147 ;
20375 u8 __cil_tmp148 ;
20376 int __cil_tmp149 ;
20377 int __cil_tmp150 ;
20378 int __cil_tmp151 ;
20379 int __cil_tmp152 ;
20380 int __cil_tmp153 ;
20381 u8 __cil_tmp154 ;
20382 int __cil_tmp155 ;
20383 int __cil_tmp156 ;
20384 int __cil_tmp157 ;
20385 int __cil_tmp158 ;
20386 int __cil_tmp159 ;
20387 u8 __cil_tmp160 ;
20388 int __cil_tmp161 ;
20389 int __cil_tmp162 ;
20390 int __cil_tmp163 ;
20391 int __cil_tmp164 ;
20392 int __cil_tmp165 ;
20393 int __cil_tmp166 ;
20394 int __cil_tmp167 ;
20395 int __cil_tmp168 ;
20396 int __cil_tmp169 ;
20397 int __cil_tmp170 ;
20398 struct list_head *__cil_tmp171 ;
20399 u8 __cil_tmp172 ;
20400 int __cil_tmp173 ;
20401 u8 __cil_tmp174 ;
20402 int __cil_tmp175 ;
20403 int __cil_tmp176 ;
20404 int __cil_tmp177 ;
20405 int __cil_tmp178 ;
20406 int __cil_tmp179 ;
20407 int __cil_tmp180 ;
20408 int __cil_tmp181 ;
20409 int __cil_tmp182 ;
20410 int __cil_tmp183 ;
20411 int __cil_tmp184 ;
20412 u8 __cil_tmp185 ;
20413 int __cil_tmp186 ;
20414 int __cil_tmp187 ;
20415 int __cil_tmp188 ;
20416 int __cil_tmp189 ;
20417 int __cil_tmp190 ;
20418 int __cil_tmp191 ;
20419 int __cil_tmp192 ;
20420 int __cil_tmp193 ;
20421 int __cil_tmp194 ;
20422 u8 __cil_tmp195 ;
20423 int __cil_tmp196 ;
20424 int __cil_tmp197 ;
20425 int __cil_tmp198 ;
20426 u8 __cil_tmp199 ;
20427 int __cil_tmp200 ;
20428 int __cil_tmp201 ;
20429 int __cil_tmp202 ;
20430 int __cil_tmp203 ;
20431 int __cil_tmp204 ;
20432 u8 __cil_tmp205 ;
20433 int __cil_tmp206 ;
20434 int __cil_tmp207 ;
20435 int __cil_tmp208 ;
20436 int __cil_tmp209 ;
20437 unsigned int __cil_tmp210 ;
20438 struct pci_dev *__cil_tmp211 ;
20439 int __cil_tmp212 ;
20440 int __cil_tmp213 ;
20441 unsigned char *__cil_tmp214 ;
20442 unsigned char *__cil_tmp215 ;
20443 unsigned char __cil_tmp216 ;
20444 int __cil_tmp217 ;
20445 void *__cil_tmp218 ;
20446 int __cil_tmp219 ;
20447 unsigned char *__cil_tmp220 ;
20448 int __cil_tmp221 ;
20449 int __cil_tmp222 ;
20450 unsigned char *__cil_tmp223 ;
20451 unsigned char *__cil_tmp224 ;
20452 unsigned char __cil_tmp225 ;
20453 int __cil_tmp226 ;
20454 unsigned int __cil_tmp227 ;
20455 u8 __cil_tmp228 ;
20456 int __cil_tmp229 ;
20457 int __cil_tmp230 ;
20458 int __cil_tmp231 ;
20459 int __cil_tmp232 ;
20460 int __cil_tmp233 ;
20461 int __cil_tmp234 ;
20462 u8 __cil_tmp235 ;
20463 void *__cil_tmp236 ;
20464 size_t __cil_tmp237 ;
20465 int __cil_tmp238 ;
20466 size_t __cil_tmp239 ;
20467 struct ScsiReqBlk *__cil_tmp240 ;
20468 unsigned long __cil_tmp241 ;
20469 unsigned long __cil_tmp242 ;
20470 void (*__cil_tmp243)(struct scsi_cmnd * ) ;
20471
20472 {
20473#line 3317
20474 cmd = srb->cmd;
20475#line 3318
20476 dir = cmd->sc_data_direction;
20477#line 3319
20478 ckc_only = 1;
20479 {
20480#line 3321
20481 while (1) {
20482 while_continue: ;
20483
20484#line 3321
20485 goto while_break;
20486 }
20487 while_break___9: ;
20488 }
20489
20490 while_break: ;
20491 {
20492#line 3323
20493 while (1) {
20494 while_continue___0: ;
20495
20496#line 3323
20497 goto while_break___0;
20498 }
20499 while_break___10: ;
20500 }
20501
20502 while_break___0:
20503#line 3326
20504 status = srb->target_status;
20505 {
20506#line 3327
20507 __cil_tmp24 = srb->flag;
20508#line 3327
20509 __cil_tmp25 = (int )__cil_tmp24;
20510#line 3327
20511 if (__cil_tmp25 & 1) {
20512 {
20513#line 3328
20514 while (1) {
20515 while_continue___1: ;
20516
20517#line 3328
20518 goto while_break___1;
20519 }
20520 while_break___11: ;
20521 }
20522
20523 while_break___1:
20524 {
20525#line 3329
20526 pci_unmap_srb_sense(acb, srb);
20527#line 3333
20528 __cil_tmp26 = srb->flag;
20529#line 3333
20530 __cil_tmp27 = (int )__cil_tmp26;
20531#line 3333
20532 __cil_tmp28 = __cil_tmp27 & -2;
20533#line 3333
20534 srb->flag = (u8 )__cil_tmp28;
20535#line 3334
20536 srb->adapter_status = (u8 )0;
20537#line 3335
20538 __cil_tmp29 = 1 << 1;
20539#line 3335
20540 srb->target_status = (u8 )__cil_tmp29;
20541 }
20542#line 3336
20543 if (0) {
20544 {
20545#line 3338
20546 __cil_tmp30 = cmd->sense_buffer;
20547#line 3338
20548 __cil_tmp31 = __cil_tmp30 + 2;
20549#line 3338
20550 __cil_tmp32 = *__cil_tmp31;
20551#line 3338
20552 __cil_tmp33 = (int )__cil_tmp32;
20553#line 3338
20554 __cil_tmp34 = __cil_tmp33 & 15;
20555#line 3338
20556 if (__cil_tmp34 == 2) {
20557#line 3338
20558 goto case_2;
20559 } else {
20560 {
20561#line 3344
20562 __cil_tmp35 = cmd->sense_buffer;
20563#line 3344
20564 __cil_tmp36 = __cil_tmp35 + 2;
20565#line 3344
20566 __cil_tmp37 = *__cil_tmp36;
20567#line 3344
20568 __cil_tmp38 = (int )__cil_tmp37;
20569#line 3344
20570 __cil_tmp39 = __cil_tmp38 & 15;
20571#line 3344
20572 if (__cil_tmp39 == 6) {
20573#line 3344
20574 goto case_6;
20575 } else {
20576 {
20577#line 3350
20578 __cil_tmp40 = cmd->sense_buffer;
20579#line 3350
20580 __cil_tmp41 = __cil_tmp40 + 2;
20581#line 3350
20582 __cil_tmp42 = *__cil_tmp41;
20583#line 3350
20584 __cil_tmp43 = (int )__cil_tmp42;
20585#line 3350
20586 __cil_tmp44 = __cil_tmp43 & 15;
20587#line 3350
20588 if (__cil_tmp44 == 5) {
20589#line 3350
20590 goto case_5;
20591 } else {
20592 {
20593#line 3356
20594 __cil_tmp45 = cmd->sense_buffer;
20595#line 3356
20596 __cil_tmp46 = __cil_tmp45 + 2;
20597#line 3356
20598 __cil_tmp47 = *__cil_tmp46;
20599#line 3356
20600 __cil_tmp48 = (int )__cil_tmp47;
20601#line 3356
20602 __cil_tmp49 = __cil_tmp48 & 15;
20603#line 3356
20604 if (__cil_tmp49 == 3) {
20605#line 3356
20606 goto case_3;
20607 } else {
20608 {
20609#line 3362
20610 __cil_tmp50 = cmd->sense_buffer;
20611#line 3362
20612 __cil_tmp51 = __cil_tmp50 + 2;
20613#line 3362
20614 __cil_tmp52 = *__cil_tmp51;
20615#line 3362
20616 __cil_tmp53 = (int )__cil_tmp52;
20617#line 3362
20618 __cil_tmp54 = __cil_tmp53 & 15;
20619#line 3362
20620 if (__cil_tmp54 == 4) {
20621#line 3362
20622 goto case_4;
20623 } else
20624#line 3337
20625 if (0) {
20626 case_2:
20627 {
20628#line 3339
20629 __cil_tmp55 = cmd->cmnd;
20630#line 3339
20631 __cil_tmp56 = __cil_tmp55 + 0;
20632#line 3339
20633 __cil_tmp57 = *__cil_tmp56;
20634#line 3339
20635 __cil_tmp58 = (int )__cil_tmp57;
20636#line 3339
20637 __cil_tmp59 = dcb->target_id;
20638#line 3339
20639 __cil_tmp60 = (int )__cil_tmp59;
20640#line 3339
20641 __cil_tmp61 = dcb->target_lun;
20642#line 3339
20643 __cil_tmp62 = (int )__cil_tmp61;
20644#line 3339
20645 __cil_tmp63 = (int )status;
20646#line 3339
20647 __cil_tmp64 = acb->scan_devices;
20648#line 3339
20649 __cil_tmp65 = (int )__cil_tmp64;
20650#line 3339
20651 printk("<7>dc395x: ReqSense: NOT_READY cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20652 __cil_tmp58, __cil_tmp60, __cil_tmp62, __cil_tmp63, __cil_tmp65);
20653 }
20654#line 3343
20655 goto switch_break;
20656 case_6:
20657 {
20658#line 3345
20659 __cil_tmp66 = cmd->cmnd;
20660#line 3345
20661 __cil_tmp67 = __cil_tmp66 + 0;
20662#line 3345
20663 __cil_tmp68 = *__cil_tmp67;
20664#line 3345
20665 __cil_tmp69 = (int )__cil_tmp68;
20666#line 3345
20667 __cil_tmp70 = dcb->target_id;
20668#line 3345
20669 __cil_tmp71 = (int )__cil_tmp70;
20670#line 3345
20671 __cil_tmp72 = dcb->target_lun;
20672#line 3345
20673 __cil_tmp73 = (int )__cil_tmp72;
20674#line 3345
20675 __cil_tmp74 = (int )status;
20676#line 3345
20677 __cil_tmp75 = acb->scan_devices;
20678#line 3345
20679 __cil_tmp76 = (int )__cil_tmp75;
20680#line 3345
20681 printk("<7>dc395x: ReqSense: UNIT_ATTENTION cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20682 __cil_tmp69, __cil_tmp71, __cil_tmp73, __cil_tmp74, __cil_tmp76);
20683 }
20684#line 3349
20685 goto switch_break;
20686 case_5:
20687 {
20688#line 3351
20689 __cil_tmp77 = cmd->cmnd;
20690#line 3351
20691 __cil_tmp78 = __cil_tmp77 + 0;
20692#line 3351
20693 __cil_tmp79 = *__cil_tmp78;
20694#line 3351
20695 __cil_tmp80 = (int )__cil_tmp79;
20696#line 3351
20697 __cil_tmp81 = dcb->target_id;
20698#line 3351
20699 __cil_tmp82 = (int )__cil_tmp81;
20700#line 3351
20701 __cil_tmp83 = dcb->target_lun;
20702#line 3351
20703 __cil_tmp84 = (int )__cil_tmp83;
20704#line 3351
20705 __cil_tmp85 = (int )status;
20706#line 3351
20707 __cil_tmp86 = acb->scan_devices;
20708#line 3351
20709 __cil_tmp87 = (int )__cil_tmp86;
20710#line 3351
20711 printk("<7>dc395x: ReqSense: ILLEGAL_REQUEST cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20712 __cil_tmp80, __cil_tmp82, __cil_tmp84, __cil_tmp85, __cil_tmp87);
20713 }
20714#line 3355
20715 goto switch_break;
20716 case_3:
20717 {
20718#line 3357
20719 __cil_tmp88 = cmd->cmnd;
20720#line 3357
20721 __cil_tmp89 = __cil_tmp88 + 0;
20722#line 3357
20723 __cil_tmp90 = *__cil_tmp89;
20724#line 3357
20725 __cil_tmp91 = (int )__cil_tmp90;
20726#line 3357
20727 __cil_tmp92 = dcb->target_id;
20728#line 3357
20729 __cil_tmp93 = (int )__cil_tmp92;
20730#line 3357
20731 __cil_tmp94 = dcb->target_lun;
20732#line 3357
20733 __cil_tmp95 = (int )__cil_tmp94;
20734#line 3357
20735 __cil_tmp96 = (int )status;
20736#line 3357
20737 __cil_tmp97 = acb->scan_devices;
20738#line 3357
20739 __cil_tmp98 = (int )__cil_tmp97;
20740#line 3357
20741 printk("<7>dc395x: ReqSense: MEDIUM_ERROR cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20742 __cil_tmp91, __cil_tmp93, __cil_tmp95, __cil_tmp96, __cil_tmp98);
20743 }
20744#line 3361
20745 goto switch_break;
20746 case_4:
20747 {
20748#line 3363
20749 __cil_tmp99 = cmd->cmnd;
20750#line 3363
20751 __cil_tmp100 = __cil_tmp99 + 0;
20752#line 3363
20753 __cil_tmp101 = *__cil_tmp100;
20754#line 3363
20755 __cil_tmp102 = (int )__cil_tmp101;
20756#line 3363
20757 __cil_tmp103 = dcb->target_id;
20758#line 3363
20759 __cil_tmp104 = (int )__cil_tmp103;
20760#line 3363
20761 __cil_tmp105 = dcb->target_lun;
20762#line 3363
20763 __cil_tmp106 = (int )__cil_tmp105;
20764#line 3363
20765 __cil_tmp107 = (int )status;
20766#line 3363
20767 __cil_tmp108 = acb->scan_devices;
20768#line 3363
20769 __cil_tmp109 = (int )__cil_tmp108;
20770#line 3363
20771 printk("<7>dc395x: ReqSense: HARDWARE_ERROR cmnd=0x%02x <%02i-%i> stat=%i scan=%i ",
20772 __cil_tmp102, __cil_tmp104, __cil_tmp106, __cil_tmp107, __cil_tmp109);
20773 }
20774#line 3367
20775 goto switch_break;
20776 } else {
20777 switch_break: ;
20778 }
20779 }
20780 }
20781 }
20782 }
20783 }
20784 }
20785 }
20786 }
20787 }
20788 {
20789#line 3369
20790 __cil_tmp110 = cmd->sense_buffer;
20791#line 3369
20792 __cil_tmp111 = __cil_tmp110 + 7;
20793#line 3369
20794 __cil_tmp112 = *__cil_tmp111;
20795#line 3369
20796 __cil_tmp113 = (int )__cil_tmp112;
20797#line 3369
20798 if (__cil_tmp113 >= 6) {
20799 {
20800#line 3370
20801 __cil_tmp114 = cmd->sense_buffer;
20802#line 3370
20803 __cil_tmp115 = __cil_tmp114 + 2;
20804#line 3370
20805 __cil_tmp116 = *__cil_tmp115;
20806#line 3370
20807 __cil_tmp117 = (int )__cil_tmp116;
20808#line 3370
20809 __cil_tmp118 = cmd->sense_buffer;
20810#line 3370
20811 __cil_tmp119 = __cil_tmp118 + 12;
20812#line 3370
20813 __cil_tmp120 = *__cil_tmp119;
20814#line 3370
20815 __cil_tmp121 = (int )__cil_tmp120;
20816#line 3370
20817 __cil_tmp122 = cmd->sense_buffer;
20818#line 3370
20819 __cil_tmp123 = __cil_tmp122 + 13;
20820#line 3370
20821 __cil_tmp124 = *__cil_tmp123;
20822#line 3370
20823 __cil_tmp125 = (int )__cil_tmp124;
20824#line 3370
20825 __cil_tmp126 = cmd->sense_buffer;
20826#line 3370
20827 __cil_tmp127 = __cil_tmp126 + 3;
20828#line 3370
20829 __cil_tmp128 = (unsigned int *)__cil_tmp127;
20830#line 3370
20831 __cil_tmp129 = *__cil_tmp128;
20832#line 3370
20833 __cil_tmp130 = cmd->sense_buffer;
20834#line 3370
20835 __cil_tmp131 = __cil_tmp130 + 8;
20836#line 3370
20837 __cil_tmp132 = (unsigned int *)__cil_tmp131;
20838#line 3370
20839 __cil_tmp133 = *__cil_tmp132;
20840#line 3370
20841 printk("sense=0x%02x ASC=0x%02x ASCQ=0x%02x (0x%08x 0x%08x)\n", __cil_tmp117,
20842 __cil_tmp121, __cil_tmp125, __cil_tmp129, __cil_tmp133);
20843 }
20844 } else {
20845 {
20846#line 3377
20847 __cil_tmp134 = cmd->sense_buffer;
20848#line 3377
20849 __cil_tmp135 = __cil_tmp134 + 2;
20850#line 3377
20851 __cil_tmp136 = *__cil_tmp135;
20852#line 3377
20853 __cil_tmp137 = (int )__cil_tmp136;
20854#line 3377
20855 __cil_tmp138 = cmd->sense_buffer;
20856#line 3377
20857 __cil_tmp139 = __cil_tmp138 + 3;
20858#line 3377
20859 __cil_tmp140 = (unsigned int *)__cil_tmp139;
20860#line 3377
20861 __cil_tmp141 = *__cil_tmp140;
20862#line 3377
20863 printk("sense=0x%02x No ASC/ASCQ (0x%08x)\n", __cil_tmp137, __cil_tmp141);
20864 }
20865 }
20866 }
20867 } else {
20868
20869 }
20870 {
20871#line 3382
20872 __cil_tmp142 = 1 << 1;
20873#line 3382
20874 __cil_tmp143 = (int )status;
20875#line 3382
20876 if (__cil_tmp143 == __cil_tmp142) {
20877#line 3383
20878 cmd->result = 4 << 16;
20879#line 3384
20880 goto ckc_e;
20881 } else {
20882
20883 }
20884 }
20885 {
20886#line 3386
20887 while (1) {
20888 while_continue___2: ;
20889
20890#line 3386
20891 goto while_break___2;
20892 }
20893 while_break___12: ;
20894 }
20895
20896 while_break___2: ;
20897#line 3388
20898 if (srb->total_xfer_length) {
20899 {
20900#line 3388
20901 __cil_tmp144 = cmd->underflow;
20902#line 3388
20903 __cil_tmp145 = (size_t )__cil_tmp144;
20904#line 3388
20905 __cil_tmp146 = srb->total_xfer_length;
20906#line 3388
20907 if (__cil_tmp146 >= __cil_tmp145) {
20908#line 3390
20909 __cil_tmp147 = 1 << 1;
20910#line 3390
20911 __cil_tmp148 = srb->end_message;
20912#line 3390
20913 __cil_tmp149 = (int )__cil_tmp148;
20914#line 3390
20915 __cil_tmp150 = __cil_tmp149 << 8;
20916#line 3390
20917 __cil_tmp151 = 8 << 24;
20918#line 3390
20919 __cil_tmp152 = __cil_tmp151 | __cil_tmp150;
20920#line 3390
20921 cmd->result = __cil_tmp152 | __cil_tmp147;
20922 } else {
20923#line 3395
20924 __cil_tmp153 = 1 << 1;
20925#line 3395
20926 __cil_tmp154 = srb->end_message;
20927#line 3395
20928 __cil_tmp155 = (int )__cil_tmp154;
20929#line 3395
20930 __cil_tmp156 = __cil_tmp155 << 8;
20931#line 3395
20932 __cil_tmp157 = 8 << 24;
20933#line 3395
20934 __cil_tmp158 = __cil_tmp157 | __cil_tmp156;
20935#line 3395
20936 cmd->result = __cil_tmp158 | __cil_tmp153;
20937 }
20938 }
20939 } else {
20940#line 3395
20941 __cil_tmp159 = 1 << 1;
20942#line 3395
20943 __cil_tmp160 = srb->end_message;
20944#line 3395
20945 __cil_tmp161 = (int )__cil_tmp160;
20946#line 3395
20947 __cil_tmp162 = __cil_tmp161 << 8;
20948#line 3395
20949 __cil_tmp163 = 8 << 24;
20950#line 3395
20951 __cil_tmp164 = __cil_tmp163 | __cil_tmp162;
20952#line 3395
20953 cmd->result = __cil_tmp164 | __cil_tmp159;
20954 }
20955#line 3399
20956 goto ckc_e;
20957 } else {
20958
20959 }
20960 }
20961#line 3403
20962 if (status) {
20963 {
20964#line 3407
20965 __cil_tmp165 = (int )status;
20966#line 3407
20967 __cil_tmp166 = __cil_tmp165 >> 1;
20968#line 3407
20969 __cil_tmp167 = __cil_tmp166 & 127;
20970#line 3407
20971 if (__cil_tmp167 == 1) {
20972 {
20973#line 3408
20974 request_sense(acb, dcb, srb);
20975 }
20976#line 3409
20977 return;
20978 } else {
20979 {
20980#line 3410
20981 __cil_tmp168 = (int )status;
20982#line 3410
20983 __cil_tmp169 = __cil_tmp168 >> 1;
20984#line 3410
20985 __cil_tmp170 = __cil_tmp169 & 127;
20986#line 3410
20987 if (__cil_tmp170 == 20) {
20988 {
20989#line 3411
20990 __cil_tmp171 = & dcb->srb_going_list;
20991#line 3411
20992 tmp___7 = list_size(__cil_tmp171);
20993#line 3411
20994 tempcnt = (u8 )tmp___7;
20995#line 3412
20996 __cil_tmp172 = dcb->target_id;
20997#line 3412
20998 __cil_tmp173 = (int )__cil_tmp172;
20999#line 3412
21000 __cil_tmp174 = dcb->target_lun;
21001#line 3412
21002 __cil_tmp175 = (int )__cil_tmp174;
21003#line 3412
21004 __cil_tmp176 = (int )tempcnt;
21005#line 3412
21006 printk("<6>dc395x: QUEUE_FULL for dev <%02i-%i> with %i cmnds\n", __cil_tmp173,
21007 __cil_tmp175, __cil_tmp176);
21008 }
21009 {
21010#line 3414
21011 __cil_tmp177 = (int )tempcnt;
21012#line 3414
21013 if (__cil_tmp177 > 1) {
21014#line 3415
21015 __cil_tmp178 = (int )tempcnt;
21016#line 3415
21017 __cil_tmp179 = __cil_tmp178 - 1;
21018#line 3415
21019 tempcnt = (u8 )__cil_tmp179;
21020 } else {
21021
21022 }
21023 }
21024 {
21025#line 3416
21026 dcb->max_command = (u16 )tempcnt;
21027#line 3417
21028 free_tag(dcb, srb);
21029#line 3418
21030 srb_going_to_waiting_move(dcb, srb);
21031#line 3419
21032 waiting_set_timer(acb, 12UL);
21033#line 3420
21034 srb->adapter_status = (u8 )0;
21035#line 3421
21036 srb->target_status = (u8 )0;
21037 }
21038#line 3422
21039 return;
21040 } else {
21041 {
21042#line 3423
21043 __cil_tmp180 = (int )status;
21044#line 3423
21045 if (__cil_tmp180 == 255) {
21046#line 3424
21047 srb->adapter_status = (u8 )17;
21048#line 3425
21049 srb->target_status = (u8 )0;
21050#line 3426
21051 cmd->result = 1 << 16;
21052 } else {
21053#line 3428
21054 srb->adapter_status = (u8 )0;
21055#line 3429
21056 __cil_tmp181 = cmd->result;
21057#line 3429
21058 cmd->result = __cil_tmp181 & -16711681;
21059#line 3429
21060 __cil_tmp182 = 7 << 16;
21061#line 3429
21062 __cil_tmp183 = cmd->result;
21063#line 3429
21064 cmd->result = __cil_tmp183 | __cil_tmp182;
21065#line 3430
21066 __cil_tmp184 = cmd->result;
21067#line 3430
21068 cmd->result = __cil_tmp184 & -65281;
21069#line 3430
21070 __cil_tmp185 = srb->end_message;
21071#line 3430
21072 __cil_tmp186 = (int )__cil_tmp185;
21073#line 3430
21074 __cil_tmp187 = __cil_tmp186 << 8;
21075#line 3430
21076 __cil_tmp188 = cmd->result;
21077#line 3430
21078 cmd->result = __cil_tmp188 | __cil_tmp187;
21079#line 3431
21080 __cil_tmp189 = cmd->result;
21081#line 3431
21082 cmd->result = __cil_tmp189 & -256;
21083#line 3431
21084 __cil_tmp190 = (int )status;
21085#line 3431
21086 __cil_tmp191 = cmd->result;
21087#line 3431
21088 cmd->result = __cil_tmp191 | __cil_tmp190;
21089 }
21090 }
21091 }
21092 }
21093 }
21094 }
21095 } else {
21096#line 3438
21097 status = srb->adapter_status;
21098 {
21099#line 3439
21100 __cil_tmp192 = (int )status;
21101#line 3439
21102 if (__cil_tmp192 & 18) {
21103#line 3440
21104 srb->target_status = (u8 )0;
21105#line 3441
21106 __cil_tmp193 = cmd->result;
21107#line 3441
21108 cmd->result = __cil_tmp193 & -16711681;
21109#line 3441
21110 cmd->result = cmd->result;
21111#line 3442
21112 __cil_tmp194 = cmd->result;
21113#line 3442
21114 cmd->result = __cil_tmp194 & -65281;
21115#line 3442
21116 __cil_tmp195 = srb->end_message;
21117#line 3442
21118 __cil_tmp196 = (int )__cil_tmp195;
21119#line 3442
21120 __cil_tmp197 = __cil_tmp196 << 8;
21121#line 3442
21122 __cil_tmp198 = cmd->result;
21123#line 3442
21124 cmd->result = __cil_tmp198 | __cil_tmp197;
21125 } else {
21126 {
21127#line 3443
21128 __cil_tmp199 = srb->status;
21129#line 3443
21130 __cil_tmp200 = (int )__cil_tmp199;
21131#line 3443
21132 if (__cil_tmp200 & 16) {
21133#line 3444
21134 __cil_tmp201 = cmd->result;
21135#line 3444
21136 cmd->result = __cil_tmp201 & -16711681;
21137#line 3444
21138 __cil_tmp202 = 6 << 16;
21139#line 3444
21140 __cil_tmp203 = cmd->result;
21141#line 3444
21142 cmd->result = __cil_tmp203 | __cil_tmp202;
21143#line 3445
21144 __cil_tmp204 = cmd->result;
21145#line 3445
21146 cmd->result = __cil_tmp204 & -65281;
21147#line 3445
21148 __cil_tmp205 = srb->end_message;
21149#line 3445
21150 __cil_tmp206 = (int )__cil_tmp205;
21151#line 3445
21152 __cil_tmp207 = __cil_tmp206 << 8;
21153#line 3445
21154 __cil_tmp208 = cmd->result;
21155#line 3445
21156 cmd->result = __cil_tmp208 | __cil_tmp207;
21157 } else {
21158#line 3448
21159 srb->adapter_status = (u8 )0;
21160#line 3449
21161 srb->target_status = (u8 )0;
21162#line 3450
21163 __cil_tmp209 = cmd->result;
21164#line 3450
21165 cmd->result = __cil_tmp209 & -16711681;
21166#line 3450
21167 cmd->result = cmd->result;
21168 }
21169 }
21170 }
21171 }
21172 }
21173 {
21174#line 3454
21175 __cil_tmp210 = (unsigned int )dir;
21176#line 3454
21177 if (__cil_tmp210 != 3U) {
21178 {
21179#line 3454
21180 tmp___10 = scsi_sg_count(cmd);
21181 }
21182#line 3454
21183 if (tmp___10) {
21184 {
21185#line 3455
21186 tmp___8 = scsi_sg_count(cmd);
21187#line 3455
21188 tmp___9 = scsi_sglist(cmd);
21189#line 3455
21190 __cil_tmp211 = acb->dev;
21191#line 3455
21192 __cil_tmp212 = (int )tmp___8;
21193#line 3455
21194 __cil_tmp213 = (int )dir;
21195#line 3455
21196 pci_dma_sync_sg_for_cpu(__cil_tmp211, tmp___9, __cil_tmp212, __cil_tmp213);
21197 }
21198 } else {
21199
21200 }
21201 } else {
21202
21203 }
21204 }
21205#line 3458
21206 ckc_only = 0;
21207 ckc_e:
21208 {
21209#line 3462
21210 __cil_tmp214 = cmd->cmnd;
21211#line 3462
21212 __cil_tmp215 = __cil_tmp214 + 0;
21213#line 3462
21214 __cil_tmp216 = *__cil_tmp215;
21215#line 3462
21216 __cil_tmp217 = (int )__cil_tmp216;
21217#line 3462
21218 if (__cil_tmp217 == 18) {
21219 {
21220#line 3463
21221 __cil_tmp218 = (void *)0;
21222#line 3463
21223 base = (unsigned char *)__cil_tmp218;
21224#line 3465
21225 flags = 0UL;
21226#line 3466
21227 tmp___11 = scsi_sglist(cmd);
21228#line 3466
21229 sg = tmp___11;
21230#line 3467
21231 offset = (size_t )0;
21232#line 3467
21233 len = 36UL;
21234 }
21235 {
21236#line 3469
21237 while (1) {
21238 while_continue___3: ;
21239
21240 {
21241#line 3469
21242 while (1) {
21243 while_continue___4: ;
21244 {
21245#line 3469
21246 flags = arch_local_irq_save();
21247 }
21248#line 3469
21249 goto while_break___4;
21250 }
21251 while_break___14: ;
21252 }
21253
21254 while_break___4:
21255 {
21256#line 3469
21257 trace_hardirqs_off();
21258 }
21259#line 3469
21260 goto while_break___3;
21261 }
21262 while_break___13: ;
21263 }
21264
21265 while_break___3:
21266 {
21267#line 3470
21268 tmp___12 = scsi_sg_count(cmd);
21269#line 3470
21270 __cil_tmp219 = (int )tmp___12;
21271#line 3470
21272 tmp___13 = scsi_kmap_atomic_sg(sg, __cil_tmp219, & offset, & len);
21273#line 3470
21274 base = (unsigned char *)tmp___13;
21275#line 3471
21276 __cil_tmp220 = base + offset;
21277#line 3471
21278 ptr = (struct ScsiInqData *)__cil_tmp220;
21279 }
21280#line 3473
21281 if (! ckc_only) {
21282 {
21283#line 3473
21284 __cil_tmp221 = cmd->result;
21285#line 3473
21286 __cil_tmp222 = __cil_tmp221 & 16711680;
21287#line 3473
21288 if (__cil_tmp222 == 0) {
21289 {
21290#line 3473
21291 __cil_tmp223 = cmd->cmnd;
21292#line 3473
21293 __cil_tmp224 = __cil_tmp223 + 2;
21294#line 3473
21295 __cil_tmp225 = *__cil_tmp224;
21296#line 3473
21297 __cil_tmp226 = (int )__cil_tmp225;
21298#line 3473
21299 if (__cil_tmp226 == 0) {
21300 {
21301#line 3473
21302 tmp___14 = scsi_bufflen(cmd);
21303 }
21304#line 3473
21305 if (tmp___14 >= 8U) {
21306 {
21307#line 3473
21308 __cil_tmp227 = (unsigned int )dir;
21309#line 3473
21310 if (__cil_tmp227 != 3U) {
21311#line 3473
21312 if (ptr) {
21313 {
21314#line 3473
21315 __cil_tmp228 = ptr->Vers;
21316#line 3473
21317 __cil_tmp229 = (int )__cil_tmp228;
21318#line 3473
21319 __cil_tmp230 = __cil_tmp229 & 7;
21320#line 3473
21321 if (__cil_tmp230 >= 2) {
21322#line 3476
21323 dcb->inquiry7 = ptr->Flags;
21324 } else {
21325
21326 }
21327 }
21328 } else {
21329
21330 }
21331 } else {
21332
21333 }
21334 }
21335 } else {
21336
21337 }
21338 } else {
21339
21340 }
21341 }
21342 } else {
21343
21344 }
21345 }
21346 } else {
21347
21348 }
21349 {
21350#line 3480
21351 __cil_tmp231 = cmd->result;
21352#line 3480
21353 if (__cil_tmp231 == 0) {
21354#line 3480
21355 goto _L;
21356 } else {
21357 {
21358#line 3480
21359 __cil_tmp232 = cmd->result;
21360#line 3480
21361 __cil_tmp233 = __cil_tmp232 >> 1;
21362#line 3480
21363 __cil_tmp234 = __cil_tmp233 & 127;
21364#line 3480
21365 if (__cil_tmp234 & 1) {
21366 _L:
21367 {
21368#line 3483
21369 __cil_tmp235 = dcb->init_tcq_flag;
21370#line 3483
21371 if (! __cil_tmp235) {
21372 {
21373#line 3484
21374 add_dev(acb, dcb, ptr);
21375#line 3485
21376 dcb->init_tcq_flag = (u8 )1;
21377 }
21378 } else {
21379
21380 }
21381 }
21382 } else {
21383
21384 }
21385 }
21386 }
21387 }
21388 {
21389#line 3489
21390 __cil_tmp236 = (void *)base;
21391#line 3489
21392 scsi_kunmap_atomic_sg(__cil_tmp236);
21393 }
21394 {
21395#line 3490
21396 while (1) {
21397 while_continue___5: ;
21398 {
21399#line 3490
21400 tmp___15 = arch_irqs_disabled_flags(flags);
21401 }
21402#line 3490
21403 if (tmp___15) {
21404 {
21405#line 3490
21406 while (1) {
21407 while_continue___6: ;
21408 {
21409#line 3490
21410 arch_local_irq_restore(flags);
21411 }
21412#line 3490
21413 goto while_break___6;
21414 }
21415 while_break___16: ;
21416 }
21417
21418 while_break___6:
21419 {
21420#line 3490
21421 trace_hardirqs_off();
21422 }
21423 } else {
21424 {
21425#line 3490
21426 trace_hardirqs_on();
21427 }
21428 {
21429#line 3490
21430 while (1) {
21431 while_continue___7: ;
21432 {
21433#line 3490
21434 arch_local_irq_restore(flags);
21435 }
21436#line 3490
21437 goto while_break___7;
21438 }
21439 while_break___17: ;
21440 }
21441
21442 while_break___7: ;
21443 }
21444#line 3490
21445 goto while_break___5;
21446 }
21447 while_break___15: ;
21448 }
21449
21450 while_break___5: ;
21451 } else {
21452
21453 }
21454 }
21455 {
21456#line 3494
21457 __cil_tmp237 = srb->total_xfer_length;
21458#line 3494
21459 __cil_tmp238 = (int )__cil_tmp237;
21460#line 3494
21461 scsi_set_resid(cmd, __cil_tmp238);
21462#line 3496
21463 __cil_tmp239 = srb->total_xfer_length;
21464#line 3496
21465 cmd->SCp.this_residual = (int )__cil_tmp239;
21466#line 3497
21467 cmd->SCp.buffers_residual = 0;
21468#line 3506
21469 srb_going_remove(dcb, srb);
21470 }
21471 {
21472#line 3508
21473 __cil_tmp240 = acb->tmp_srb;
21474#line 3508
21475 __cil_tmp241 = (unsigned long )__cil_tmp240;
21476#line 3508
21477 __cil_tmp242 = (unsigned long )srb;
21478#line 3508
21479 if (__cil_tmp242 == __cil_tmp241) {
21480 {
21481#line 3509
21482 printk("<3>dc395x: srb_done: ERROR! Completed cmd with tmp_srb\n");
21483 }
21484 } else {
21485 {
21486#line 3511
21487 while (1) {
21488 while_continue___8: ;
21489
21490#line 3511
21491 goto while_break___8;
21492 }
21493 while_break___18: ;
21494 }
21495
21496 while_break___8:
21497 {
21498#line 3513
21499 srb_free_insert(acb, srb);
21500 }
21501 }
21502 }
21503 {
21504#line 3515
21505 pci_unmap_srb(acb, srb);
21506#line 3517
21507 __cil_tmp243 = cmd->scsi_done;
21508#line 3517
21509 (*__cil_tmp243)(cmd);
21510#line 3518
21511 waiting_process_next(acb);
21512 }
21513#line 3519
21514 return;
21515}
21516}
21517#line 3523 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
21518static void doing_srb_done(struct AdapterCtlBlk *acb , u8 did_flag , struct scsi_cmnd *cmd ,
21519 u8 force )
21520{ struct DeviceCtlBlk *dcb ;
21521 struct list_head const *__mptr ;
21522 struct list_head const *__mptr___0 ;
21523 struct ScsiReqBlk *srb ;
21524 struct ScsiReqBlk *tmp___7 ;
21525 struct scsi_cmnd *p ;
21526 struct list_head const *__mptr___1 ;
21527 struct list_head const *__mptr___2 ;
21528 struct list_head const *__mptr___3 ;
21529 enum dma_data_direction dir ;
21530 int result ;
21531 int tmp___8 ;
21532 struct list_head const *__mptr___4 ;
21533 struct list_head const *__mptr___5 ;
21534 struct list_head const *__mptr___6 ;
21535 int result___0 ;
21536 unsigned int tmp___9 ;
21537 int tmp___10 ;
21538 struct list_head *__cil_tmp23 ;
21539 struct DeviceCtlBlk *__cil_tmp24 ;
21540 struct list_head *__cil_tmp25 ;
21541 unsigned int __cil_tmp26 ;
21542 char *__cil_tmp27 ;
21543 char *__cil_tmp28 ;
21544 struct list_head *__cil_tmp29 ;
21545 unsigned long __cil_tmp30 ;
21546 struct list_head *__cil_tmp31 ;
21547 unsigned long __cil_tmp32 ;
21548 struct list_head *__cil_tmp33 ;
21549 struct ScsiReqBlk *__cil_tmp34 ;
21550 struct list_head *__cil_tmp35 ;
21551 unsigned int __cil_tmp36 ;
21552 char *__cil_tmp37 ;
21553 char *__cil_tmp38 ;
21554 struct list_head *__cil_tmp39 ;
21555 struct ScsiReqBlk *__cil_tmp40 ;
21556 struct list_head *__cil_tmp41 ;
21557 unsigned int __cil_tmp42 ;
21558 char *__cil_tmp43 ;
21559 char *__cil_tmp44 ;
21560 struct list_head *__cil_tmp45 ;
21561 unsigned long __cil_tmp46 ;
21562 struct list_head *__cil_tmp47 ;
21563 unsigned long __cil_tmp48 ;
21564 int __cil_tmp49 ;
21565 struct scsi_device *__cil_tmp50 ;
21566 unsigned int __cil_tmp51 ;
21567 struct scsi_device *__cil_tmp52 ;
21568 unsigned int __cil_tmp53 ;
21569 void (*__cil_tmp54)(struct scsi_cmnd * ) ;
21570 struct list_head *__cil_tmp55 ;
21571 struct ScsiReqBlk *__cil_tmp56 ;
21572 struct list_head *__cil_tmp57 ;
21573 unsigned int __cil_tmp58 ;
21574 char *__cil_tmp59 ;
21575 char *__cil_tmp60 ;
21576 struct list_head *__cil_tmp61 ;
21577 struct list_head const *__cil_tmp62 ;
21578 u8 __cil_tmp63 ;
21579 int __cil_tmp64 ;
21580 u8 __cil_tmp65 ;
21581 int __cil_tmp66 ;
21582 u8 __cil_tmp67 ;
21583 int __cil_tmp68 ;
21584 u8 __cil_tmp69 ;
21585 int __cil_tmp70 ;
21586 u32 __cil_tmp71 ;
21587 struct list_head *__cil_tmp72 ;
21588 struct ScsiReqBlk *__cil_tmp73 ;
21589 struct list_head *__cil_tmp74 ;
21590 unsigned int __cil_tmp75 ;
21591 char *__cil_tmp76 ;
21592 char *__cil_tmp77 ;
21593 struct list_head *__cil_tmp78 ;
21594 struct ScsiReqBlk *__cil_tmp79 ;
21595 struct list_head *__cil_tmp80 ;
21596 unsigned int __cil_tmp81 ;
21597 char *__cil_tmp82 ;
21598 char *__cil_tmp83 ;
21599 struct list_head *__cil_tmp84 ;
21600 unsigned long __cil_tmp85 ;
21601 struct list_head *__cil_tmp86 ;
21602 unsigned long __cil_tmp87 ;
21603 int __cil_tmp88 ;
21604 struct scsi_device *__cil_tmp89 ;
21605 unsigned int __cil_tmp90 ;
21606 struct scsi_device *__cil_tmp91 ;
21607 unsigned int __cil_tmp92 ;
21608 void (*__cil_tmp93)(struct scsi_cmnd * ) ;
21609 struct list_head *__cil_tmp94 ;
21610 struct ScsiReqBlk *__cil_tmp95 ;
21611 struct list_head *__cil_tmp96 ;
21612 unsigned int __cil_tmp97 ;
21613 char *__cil_tmp98 ;
21614 char *__cil_tmp99 ;
21615 struct list_head *__cil_tmp100 ;
21616 struct list_head const *__cil_tmp101 ;
21617 struct list_head *__cil_tmp102 ;
21618 u8 __cil_tmp103 ;
21619 int __cil_tmp104 ;
21620 u8 __cil_tmp105 ;
21621 int __cil_tmp106 ;
21622 u8 __cil_tmp107 ;
21623 int __cil_tmp108 ;
21624 int __cil_tmp109 ;
21625 struct list_head *__cil_tmp110 ;
21626 struct DeviceCtlBlk *__cil_tmp111 ;
21627 struct list_head *__cil_tmp112 ;
21628 unsigned int __cil_tmp113 ;
21629 char *__cil_tmp114 ;
21630 char *__cil_tmp115 ;
21631
21632 {
21633 {
21634#line 3527
21635 printk("<6>dc395x: doing_srb_done: pids ");
21636#line 3529
21637 __cil_tmp23 = acb->dcb_list.next;
21638#line 3529
21639 __mptr = (struct list_head const *)__cil_tmp23;
21640#line 3529
21641 __cil_tmp24 = (struct DeviceCtlBlk *)0;
21642#line 3529
21643 __cil_tmp25 = & __cil_tmp24->list;
21644#line 3529
21645 __cil_tmp26 = (unsigned int )__cil_tmp25;
21646#line 3529
21647 __cil_tmp27 = (char *)__mptr;
21648#line 3529
21649 __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
21650#line 3529
21651 dcb = (struct DeviceCtlBlk *)__cil_tmp28;
21652 }
21653 {
21654#line 3529
21655 while (1) {
21656 while_continue: ;
21657
21658 {
21659#line 3529
21660 __cil_tmp29 = & acb->dcb_list;
21661#line 3529
21662 __cil_tmp30 = (unsigned long )__cil_tmp29;
21663#line 3529
21664 __cil_tmp31 = & dcb->list;
21665#line 3529
21666 __cil_tmp32 = (unsigned long )__cil_tmp31;
21667#line 3529
21668 if (__cil_tmp32 != __cil_tmp30) {
21669
21670 } else {
21671#line 3529
21672 goto while_break;
21673 }
21674 }
21675#line 3534
21676 __cil_tmp33 = dcb->srb_going_list.next;
21677#line 3534
21678 __mptr___1 = (struct list_head const *)__cil_tmp33;
21679#line 3534
21680 __cil_tmp34 = (struct ScsiReqBlk *)0;
21681#line 3534
21682 __cil_tmp35 = & __cil_tmp34->list;
21683#line 3534
21684 __cil_tmp36 = (unsigned int )__cil_tmp35;
21685#line 3534
21686 __cil_tmp37 = (char *)__mptr___1;
21687#line 3534
21688 __cil_tmp38 = __cil_tmp37 - __cil_tmp36;
21689#line 3534
21690 srb = (struct ScsiReqBlk *)__cil_tmp38;
21691#line 3534
21692 __cil_tmp39 = srb->list.next;
21693#line 3534
21694 __mptr___2 = (struct list_head const *)__cil_tmp39;
21695#line 3534
21696 __cil_tmp40 = (struct ScsiReqBlk *)0;
21697#line 3534
21698 __cil_tmp41 = & __cil_tmp40->list;
21699#line 3534
21700 __cil_tmp42 = (unsigned int )__cil_tmp41;
21701#line 3534
21702 __cil_tmp43 = (char *)__mptr___2;
21703#line 3534
21704 __cil_tmp44 = __cil_tmp43 - __cil_tmp42;
21705#line 3534
21706 tmp___7 = (struct ScsiReqBlk *)__cil_tmp44;
21707 {
21708#line 3534
21709 while (1) {
21710 while_continue___0: ;
21711
21712 {
21713#line 3534
21714 __cil_tmp45 = & dcb->srb_going_list;
21715#line 3534
21716 __cil_tmp46 = (unsigned long )__cil_tmp45;
21717#line 3534
21718 __cil_tmp47 = & srb->list;
21719#line 3534
21720 __cil_tmp48 = (unsigned long )__cil_tmp47;
21721#line 3534
21722 if (__cil_tmp48 != __cil_tmp46) {
21723
21724 } else {
21725#line 3534
21726 goto while_break___0;
21727 }
21728 }
21729 {
21730#line 3538
21731 p = srb->cmd;
21732#line 3539
21733 dir = p->sc_data_direction;
21734#line 3540
21735 __cil_tmp49 = (int )did_flag;
21736#line 3540
21737 result = __cil_tmp49 << 16;
21738#line 3541
21739 __cil_tmp50 = p->device;
21740#line 3541
21741 __cil_tmp51 = __cil_tmp50->id;
21742#line 3541
21743 __cil_tmp52 = p->device;
21744#line 3541
21745 __cil_tmp53 = __cil_tmp52->lun;
21746#line 3541
21747 printk("G:%p(%02i-%i) ", p, __cil_tmp51, __cil_tmp53);
21748#line 3543
21749 srb_going_remove(dcb, srb);
21750#line 3544
21751 free_tag(dcb, srb);
21752#line 3545
21753 srb_free_insert(acb, srb);
21754#line 3546
21755 p->result = result;
21756#line 3547
21757 pci_unmap_srb_sense(acb, srb);
21758#line 3548
21759 pci_unmap_srb(acb, srb);
21760 }
21761#line 3549
21762 if (force) {
21763 {
21764#line 3552
21765 __cil_tmp54 = p->scsi_done;
21766#line 3552
21767 (*__cil_tmp54)(p);
21768 }
21769 } else {
21770
21771 }
21772#line 3534
21773 srb = tmp___7;
21774#line 3534
21775 __cil_tmp55 = tmp___7->list.next;
21776#line 3534
21777 __mptr___3 = (struct list_head const *)__cil_tmp55;
21778#line 3534
21779 __cil_tmp56 = (struct ScsiReqBlk *)0;
21780#line 3534
21781 __cil_tmp57 = & __cil_tmp56->list;
21782#line 3534
21783 __cil_tmp58 = (unsigned int )__cil_tmp57;
21784#line 3534
21785 __cil_tmp59 = (char *)__mptr___3;
21786#line 3534
21787 __cil_tmp60 = __cil_tmp59 - __cil_tmp58;
21788#line 3534
21789 tmp___7 = (struct ScsiReqBlk *)__cil_tmp60;
21790 }
21791 while_break___3: ;
21792 }
21793
21794 while_break___0:
21795 {
21796#line 3555
21797 __cil_tmp61 = & dcb->srb_going_list;
21798#line 3555
21799 __cil_tmp62 = (struct list_head const *)__cil_tmp61;
21800#line 3555
21801 tmp___8 = list_empty(__cil_tmp62);
21802 }
21803#line 3555
21804 if (tmp___8) {
21805
21806 } else {
21807 {
21808#line 3556
21809 __cil_tmp63 = dcb->target_id;
21810#line 3556
21811 __cil_tmp64 = (int )__cil_tmp63;
21812#line 3556
21813 __cil_tmp65 = dcb->target_lun;
21814#line 3556
21815 __cil_tmp66 = (int )__cil_tmp65;
21816#line 3556
21817 printk("<7>dc395x: How could the ML send cmnds to the Going queue? <%02i-%i>\n",
21818 __cil_tmp64, __cil_tmp66);
21819 }
21820 }
21821#line 3559
21822 if (dcb->tag_mask) {
21823 {
21824#line 3560
21825 __cil_tmp67 = dcb->target_id;
21826#line 3560
21827 __cil_tmp68 = (int )__cil_tmp67;
21828#line 3560
21829 __cil_tmp69 = dcb->target_lun;
21830#line 3560
21831 __cil_tmp70 = (int )__cil_tmp69;
21832#line 3560
21833 __cil_tmp71 = dcb->tag_mask;
21834#line 3560
21835 printk("<7>dc395x: tag_mask for <%02i-%i> should be empty, is %08x!\n", __cil_tmp68,
21836 __cil_tmp70, __cil_tmp71);
21837 }
21838 } else {
21839
21840 }
21841#line 3566
21842 __cil_tmp72 = dcb->srb_waiting_list.next;
21843#line 3566
21844 __mptr___4 = (struct list_head const *)__cil_tmp72;
21845#line 3566
21846 __cil_tmp73 = (struct ScsiReqBlk *)0;
21847#line 3566
21848 __cil_tmp74 = & __cil_tmp73->list;
21849#line 3566
21850 __cil_tmp75 = (unsigned int )__cil_tmp74;
21851#line 3566
21852 __cil_tmp76 = (char *)__mptr___4;
21853#line 3566
21854 __cil_tmp77 = __cil_tmp76 - __cil_tmp75;
21855#line 3566
21856 srb = (struct ScsiReqBlk *)__cil_tmp77;
21857#line 3566
21858 __cil_tmp78 = srb->list.next;
21859#line 3566
21860 __mptr___5 = (struct list_head const *)__cil_tmp78;
21861#line 3566
21862 __cil_tmp79 = (struct ScsiReqBlk *)0;
21863#line 3566
21864 __cil_tmp80 = & __cil_tmp79->list;
21865#line 3566
21866 __cil_tmp81 = (unsigned int )__cil_tmp80;
21867#line 3566
21868 __cil_tmp82 = (char *)__mptr___5;
21869#line 3566
21870 __cil_tmp83 = __cil_tmp82 - __cil_tmp81;
21871#line 3566
21872 tmp___7 = (struct ScsiReqBlk *)__cil_tmp83;
21873 {
21874#line 3566
21875 while (1) {
21876 while_continue___1: ;
21877
21878 {
21879#line 3566
21880 __cil_tmp84 = & dcb->srb_waiting_list;
21881#line 3566
21882 __cil_tmp85 = (unsigned long )__cil_tmp84;
21883#line 3566
21884 __cil_tmp86 = & srb->list;
21885#line 3566
21886 __cil_tmp87 = (unsigned long )__cil_tmp86;
21887#line 3566
21888 if (__cil_tmp87 != __cil_tmp85) {
21889
21890 } else {
21891#line 3566
21892 goto while_break___1;
21893 }
21894 }
21895 {
21896#line 3568
21897 p = srb->cmd;
21898#line 3570
21899 __cil_tmp88 = (int )did_flag;
21900#line 3570
21901 result___0 = __cil_tmp88 << 16;
21902#line 3571
21903 __cil_tmp89 = p->device;
21904#line 3571
21905 __cil_tmp90 = __cil_tmp89->id;
21906#line 3571
21907 __cil_tmp91 = p->device;
21908#line 3571
21909 __cil_tmp92 = __cil_tmp91->lun;
21910#line 3571
21911 printk("W:%p<%02i-%i>", p, __cil_tmp90, __cil_tmp92);
21912#line 3573
21913 srb_waiting_remove(dcb, srb);
21914#line 3574
21915 srb_free_insert(acb, srb);
21916#line 3575
21917 p->result = result___0;
21918#line 3576
21919 pci_unmap_srb_sense(acb, srb);
21920#line 3577
21921 pci_unmap_srb(acb, srb);
21922 }
21923#line 3578
21924 if (force) {
21925 {
21926#line 3581
21927 __cil_tmp93 = cmd->scsi_done;
21928#line 3581
21929 (*__cil_tmp93)(cmd);
21930 }
21931 } else {
21932
21933 }
21934#line 3566
21935 srb = tmp___7;
21936#line 3566
21937 __cil_tmp94 = tmp___7->list.next;
21938#line 3566
21939 __mptr___6 = (struct list_head const *)__cil_tmp94;
21940#line 3566
21941 __cil_tmp95 = (struct ScsiReqBlk *)0;
21942#line 3566
21943 __cil_tmp96 = & __cil_tmp95->list;
21944#line 3566
21945 __cil_tmp97 = (unsigned int )__cil_tmp96;
21946#line 3566
21947 __cil_tmp98 = (char *)__mptr___6;
21948#line 3566
21949 __cil_tmp99 = __cil_tmp98 - __cil_tmp97;
21950#line 3566
21951 tmp___7 = (struct ScsiReqBlk *)__cil_tmp99;
21952 }
21953 while_break___4: ;
21954 }
21955
21956 while_break___1:
21957 {
21958#line 3584
21959 __cil_tmp100 = & dcb->srb_waiting_list;
21960#line 3584
21961 __cil_tmp101 = (struct list_head const *)__cil_tmp100;
21962#line 3584
21963 tmp___10 = list_empty(__cil_tmp101);
21964 }
21965#line 3584
21966 if (tmp___10) {
21967
21968 } else {
21969 {
21970#line 3585
21971 __cil_tmp102 = & dcb->srb_waiting_list;
21972#line 3585
21973 tmp___9 = list_size(__cil_tmp102);
21974#line 3585
21975 __cil_tmp103 = dcb->target_id;
21976#line 3585
21977 __cil_tmp104 = (int )__cil_tmp103;
21978#line 3585
21979 __cil_tmp105 = dcb->target_lun;
21980#line 3585
21981 __cil_tmp106 = (int )__cil_tmp105;
21982#line 3585
21983 printk("<7>dc395x: ML queued %i cmnds again to <%02i-%i>\n", tmp___9, __cil_tmp104,
21984 __cil_tmp106);
21985 }
21986 }
21987#line 3588
21988 __cil_tmp107 = dcb->flag;
21989#line 3588
21990 __cil_tmp108 = (int )__cil_tmp107;
21991#line 3588
21992 __cil_tmp109 = __cil_tmp108 & -2;
21993#line 3588
21994 dcb->flag = (u8 )__cil_tmp109;
21995#line 3529
21996 __cil_tmp110 = dcb->list.next;
21997#line 3529
21998 __mptr___0 = (struct list_head const *)__cil_tmp110;
21999#line 3529
22000 __cil_tmp111 = (struct DeviceCtlBlk *)0;
22001#line 3529
22002 __cil_tmp112 = & __cil_tmp111->list;
22003#line 3529
22004 __cil_tmp113 = (unsigned int )__cil_tmp112;
22005#line 3529
22006 __cil_tmp114 = (char *)__mptr___0;
22007#line 3529
22008 __cil_tmp115 = __cil_tmp114 - __cil_tmp113;
22009#line 3529
22010 dcb = (struct DeviceCtlBlk *)__cil_tmp115;
22011 }
22012 while_break___2: ;
22013 }
22014
22015 while_break:
22016 {
22017#line 3590
22018 printk("\n");
22019 }
22020#line 3591
22021 return;
22022}
22023}
22024#line 3594 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22025static void reset_scsi_bus(struct AdapterCtlBlk *acb )
22026{ unsigned char tmp___7 ;
22027 u8 __cil_tmp3 ;
22028 int __cil_tmp4 ;
22029 int __cil_tmp5 ;
22030 unsigned long __cil_tmp6 ;
22031 unsigned long __cil_tmp7 ;
22032 int __cil_tmp8 ;
22033 unsigned long __cil_tmp9 ;
22034 unsigned long __cil_tmp10 ;
22035 int __cil_tmp11 ;
22036 int __cil_tmp12 ;
22037
22038 {
22039 {
22040#line 3596
22041 while (1) {
22042 while_continue: ;
22043
22044#line 3596
22045 goto while_break;
22046 }
22047 while_break___1: ;
22048 }
22049
22050 while_break:
22051 {
22052#line 3597
22053 __cil_tmp3 = acb->acb_flag;
22054#line 3597
22055 __cil_tmp4 = (int )__cil_tmp3;
22056#line 3597
22057 __cil_tmp5 = __cil_tmp4 | 1;
22058#line 3597
22059 acb->acb_flag = (u8 )__cil_tmp5;
22060#line 3598
22061 __cil_tmp6 = acb->io_port_base;
22062#line 3598
22063 __cil_tmp7 = __cil_tmp6 + 128UL;
22064#line 3598
22065 __cil_tmp8 = (int )__cil_tmp7;
22066#line 3598
22067 outw((unsigned short)8, __cil_tmp8);
22068 }
22069 {
22070#line 3600
22071 while (1) {
22072 while_continue___0: ;
22073 {
22074#line 3600
22075 __cil_tmp9 = acb->io_port_base;
22076#line 3600
22077 __cil_tmp10 = __cil_tmp9 + 132UL;
22078#line 3600
22079 __cil_tmp11 = (int )__cil_tmp10;
22080#line 3600
22081 tmp___7 = inb(__cil_tmp11);
22082 }
22083 {
22084#line 3600
22085 __cil_tmp12 = (int )tmp___7;
22086#line 3600
22087 if (__cil_tmp12 & 4) {
22088#line 3600
22089 goto while_break___0;
22090 } else {
22091
22092 }
22093 }
22094 }
22095 while_break___2: ;
22096 }
22097
22098 while_break___0: ;
22099#line 3602
22100 return;
22101}
22102}
22103#line 3605 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22104static void set_basic_config(struct AdapterCtlBlk *acb )
22105{ u8 bval ;
22106 u16 wval ;
22107 unsigned short tmp___7 ;
22108 unsigned short tmp___8 ;
22109 u8 __cil_tmp6 ;
22110 unsigned long __cil_tmp7 ;
22111 unsigned long __cil_tmp8 ;
22112 int __cil_tmp9 ;
22113 u8 __cil_tmp10 ;
22114 int __cil_tmp11 ;
22115 unsigned long __cil_tmp12 ;
22116 unsigned long __cil_tmp13 ;
22117 int __cil_tmp14 ;
22118 unsigned long __cil_tmp15 ;
22119 unsigned long __cil_tmp16 ;
22120 int __cil_tmp17 ;
22121 struct Scsi_Host *__cil_tmp18 ;
22122 int __cil_tmp19 ;
22123 unsigned char __cil_tmp20 ;
22124 unsigned long __cil_tmp21 ;
22125 unsigned long __cil_tmp22 ;
22126 int __cil_tmp23 ;
22127 unsigned long __cil_tmp24 ;
22128 unsigned long __cil_tmp25 ;
22129 int __cil_tmp26 ;
22130 unsigned long __cil_tmp27 ;
22131 unsigned long __cil_tmp28 ;
22132 int __cil_tmp29 ;
22133 int __cil_tmp30 ;
22134 int __cil_tmp31 ;
22135 unsigned long __cil_tmp32 ;
22136 unsigned long __cil_tmp33 ;
22137 int __cil_tmp34 ;
22138 unsigned long __cil_tmp35 ;
22139 unsigned long __cil_tmp36 ;
22140 int __cil_tmp37 ;
22141 int __cil_tmp38 ;
22142 int __cil_tmp39 ;
22143 int __cil_tmp40 ;
22144 int __cil_tmp41 ;
22145 unsigned long __cil_tmp42 ;
22146 unsigned long __cil_tmp43 ;
22147 int __cil_tmp44 ;
22148 unsigned long __cil_tmp45 ;
22149 unsigned long __cil_tmp46 ;
22150 int __cil_tmp47 ;
22151 unsigned long __cil_tmp48 ;
22152 unsigned long __cil_tmp49 ;
22153 int __cil_tmp50 ;
22154 unsigned long __cil_tmp51 ;
22155 unsigned long __cil_tmp52 ;
22156 int __cil_tmp53 ;
22157
22158 {
22159 {
22160#line 3609
22161 __cil_tmp6 = acb->sel_timeout;
22162#line 3609
22163 __cil_tmp7 = acb->io_port_base;
22164#line 3609
22165 __cil_tmp8 = __cil_tmp7 + 145UL;
22166#line 3609
22167 __cil_tmp9 = (int )__cil_tmp8;
22168#line 3609
22169 outb(__cil_tmp6, __cil_tmp9);
22170 }
22171 {
22172#line 3610
22173 __cil_tmp10 = acb->config;
22174#line 3610
22175 __cil_tmp11 = (int )__cil_tmp10;
22176#line 3610
22177 if (__cil_tmp11 & 8) {
22178#line 3611
22179 bval = (u8 )113;
22180 } else {
22181#line 3613
22182 bval = (u8 )97;
22183 }
22184 }
22185 {
22186#line 3615
22187 __cil_tmp12 = acb->io_port_base;
22188#line 3615
22189 __cil_tmp13 = __cil_tmp12 + 141UL;
22190#line 3615
22191 __cil_tmp14 = (int )__cil_tmp13;
22192#line 3615
22193 outb(bval, __cil_tmp14);
22194#line 3618
22195 __cil_tmp15 = acb->io_port_base;
22196#line 3618
22197 __cil_tmp16 = __cil_tmp15 + 142UL;
22198#line 3618
22199 __cil_tmp17 = (int )__cil_tmp16;
22200#line 3618
22201 outb((unsigned char)3, __cil_tmp17);
22202#line 3620
22203 __cil_tmp18 = acb->scsi_host;
22204#line 3620
22205 __cil_tmp19 = __cil_tmp18->this_id;
22206#line 3620
22207 __cil_tmp20 = (unsigned char )__cil_tmp19;
22208#line 3620
22209 __cil_tmp21 = acb->io_port_base;
22210#line 3620
22211 __cil_tmp22 = __cil_tmp21 + 135UL;
22212#line 3620
22213 __cil_tmp23 = (int )__cil_tmp22;
22214#line 3620
22215 outb(__cil_tmp20, __cil_tmp23);
22216#line 3622
22217 __cil_tmp24 = acb->io_port_base;
22218#line 3622
22219 __cil_tmp25 = __cil_tmp24 + 132UL;
22220#line 3622
22221 __cil_tmp26 = (int )__cil_tmp25;
22222#line 3622
22223 outb((unsigned char)0, __cil_tmp26);
22224#line 3624
22225 __cil_tmp27 = acb->io_port_base;
22226#line 3624
22227 __cil_tmp28 = __cil_tmp27 + 212UL;
22228#line 3624
22229 __cil_tmp29 = (int )__cil_tmp28;
22230#line 3624
22231 tmp___7 = inw(__cil_tmp29);
22232#line 3624
22233 __cil_tmp30 = (int )tmp___7;
22234#line 3624
22235 __cil_tmp31 = __cil_tmp30 & 127;
22236#line 3624
22237 wval = (u16 )__cil_tmp31;
22238#line 3625
22239 __cil_tmp32 = acb->io_port_base;
22240#line 3625
22241 __cil_tmp33 = __cil_tmp32 + 212UL;
22242#line 3625
22243 __cil_tmp34 = (int )__cil_tmp33;
22244#line 3625
22245 outw(wval, __cil_tmp34);
22246#line 3627
22247 __cil_tmp35 = acb->io_port_base;
22248#line 3627
22249 __cil_tmp36 = __cil_tmp35 + 166UL;
22250#line 3627
22251 __cil_tmp37 = (int )__cil_tmp36;
22252#line 3627
22253 tmp___8 = inw(__cil_tmp37);
22254#line 3627
22255 __cil_tmp38 = (int )tmp___8;
22256#line 3627
22257 __cil_tmp39 = __cil_tmp38 & -769;
22258#line 3627
22259 wval = (u16 )__cil_tmp39;
22260#line 3628
22261 __cil_tmp40 = (int )wval;
22262#line 3628
22263 __cil_tmp41 = __cil_tmp40 | 33280;
22264#line 3628
22265 wval = (u16 )__cil_tmp41;
22266#line 3630
22267 __cil_tmp42 = acb->io_port_base;
22268#line 3630
22269 __cil_tmp43 = __cil_tmp42 + 166UL;
22270#line 3630
22271 __cil_tmp44 = (int )__cil_tmp43;
22272#line 3630
22273 outw(wval, __cil_tmp44);
22274#line 3632
22275 __cil_tmp45 = acb->io_port_base;
22276#line 3632
22277 __cil_tmp46 = __cil_tmp45 + 132UL;
22278#line 3632
22279 __cil_tmp47 = (int )__cil_tmp46;
22280#line 3632
22281 inb(__cil_tmp47);
22282#line 3634
22283 __cil_tmp48 = acb->io_port_base;
22284#line 3634
22285 __cil_tmp49 = __cil_tmp48 + 140UL;
22286#line 3634
22287 __cil_tmp50 = (int )__cil_tmp49;
22288#line 3634
22289 outb((unsigned char)127, __cil_tmp50);
22290#line 3635
22291 __cil_tmp51 = acb->io_port_base;
22292#line 3635
22293 __cil_tmp52 = __cil_tmp51 + 164UL;
22294#line 3635
22295 __cil_tmp53 = (int )__cil_tmp52;
22296#line 3635
22297 outb((unsigned char)9, __cil_tmp53);
22298 }
22299#line 3638
22300 return;
22301}
22302}
22303#line 3641 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22304static void scsi_reset_detect(struct AdapterCtlBlk *acb )
22305{ int tmp___7 ;
22306 struct timer_list *__cil_tmp3 ;
22307 struct timer_list const *__cil_tmp4 ;
22308 struct timer_list *__cil_tmp5 ;
22309 unsigned long __cil_tmp6 ;
22310 unsigned long __cil_tmp7 ;
22311 int __cil_tmp8 ;
22312 unsigned long __cil_tmp9 ;
22313 unsigned long __cil_tmp10 ;
22314 int __cil_tmp11 ;
22315 struct Scsi_Host *__cil_tmp12 ;
22316 u8 __cil_tmp13 ;
22317 int __cil_tmp14 ;
22318 int __cil_tmp15 ;
22319 unsigned long volatile __cil_tmp16 ;
22320 unsigned long volatile __cil_tmp17 ;
22321 unsigned long volatile __cil_tmp18 ;
22322 unsigned long volatile __cil_tmp19 ;
22323 char *__cil_tmp20 ;
22324 u8 __cil_tmp21 ;
22325 int __cil_tmp22 ;
22326 u8 __cil_tmp23 ;
22327 int __cil_tmp24 ;
22328 int __cil_tmp25 ;
22329 u8 __cil_tmp26 ;
22330 int __cil_tmp27 ;
22331 int __cil_tmp28 ;
22332 u8 __cil_tmp29 ;
22333 void *__cil_tmp30 ;
22334 struct scsi_cmnd *__cil_tmp31 ;
22335 u8 __cil_tmp32 ;
22336 void *__cil_tmp33 ;
22337
22338 {
22339 {
22340#line 3643
22341 printk("<6>dc395x: scsi_reset_detect: acb=%p\n", acb);
22342#line 3645
22343 __cil_tmp3 = & acb->waiting_timer;
22344#line 3645
22345 __cil_tmp4 = (struct timer_list const *)__cil_tmp3;
22346#line 3645
22347 tmp___7 = timer_pending(__cil_tmp4);
22348 }
22349#line 3645
22350 if (tmp___7) {
22351 {
22352#line 3646
22353 __cil_tmp5 = & acb->waiting_timer;
22354#line 3646
22355 del_timer(__cil_tmp5);
22356 }
22357 } else {
22358
22359 }
22360 {
22361#line 3648
22362 __cil_tmp6 = acb->io_port_base;
22363#line 3648
22364 __cil_tmp7 = __cil_tmp6 + 128UL;
22365#line 3648
22366 __cil_tmp8 = (int )__cil_tmp7;
22367#line 3648
22368 outb((unsigned char)16, __cil_tmp8);
22369#line 3649
22370 __cil_tmp9 = acb->io_port_base;
22371#line 3649
22372 __cil_tmp10 = __cil_tmp9 + 161UL;
22373#line 3649
22374 __cil_tmp11 = (int )__cil_tmp10;
22375#line 3649
22376 outb((unsigned char)16, __cil_tmp11);
22377#line 3651
22378 __const_udelay(2147500UL);
22379#line 3653
22380 __cil_tmp12 = acb->scsi_host;
22381#line 3653
22382 __cil_tmp13 = acb->eeprom.delay_time;
22383#line 3653
22384 __cil_tmp14 = (int )__cil_tmp13;
22385#line 3653
22386 __cil_tmp15 = 250 * __cil_tmp14;
22387#line 3653
22388 __cil_tmp16 = (unsigned long volatile )__cil_tmp15;
22389#line 3653
22390 __cil_tmp17 = (unsigned long volatile )625;
22391#line 3653
22392 __cil_tmp18 = jiffies + __cil_tmp17;
22393#line 3653
22394 __cil_tmp19 = __cil_tmp18 + __cil_tmp16;
22395#line 3653
22396 __cil_tmp12->last_reset = (unsigned long )__cil_tmp19;
22397#line 3657
22398 __cil_tmp20 = (char *)"scsi_reset_detect";
22399#line 3657
22400 clear_fifo(acb, __cil_tmp20);
22401#line 3658
22402 set_basic_config(acb);
22403 }
22404 {
22405#line 3662
22406 __cil_tmp21 = acb->acb_flag;
22407#line 3662
22408 __cil_tmp22 = (int )__cil_tmp21;
22409#line 3662
22410 if (__cil_tmp22 & 1) {
22411#line 3663
22412 __cil_tmp23 = acb->acb_flag;
22413#line 3663
22414 __cil_tmp24 = (int )__cil_tmp23;
22415#line 3663
22416 __cil_tmp25 = __cil_tmp24 | 4;
22417#line 3663
22418 acb->acb_flag = (u8 )__cil_tmp25;
22419 } else {
22420 {
22421#line 3665
22422 __cil_tmp26 = acb->acb_flag;
22423#line 3665
22424 __cil_tmp27 = (int )__cil_tmp26;
22425#line 3665
22426 __cil_tmp28 = __cil_tmp27 | 2;
22427#line 3665
22428 acb->acb_flag = (u8 )__cil_tmp28;
22429#line 3666
22430 reset_dev_param(acb);
22431#line 3667
22432 __cil_tmp29 = (u8 )8;
22433#line 3667
22434 __cil_tmp30 = (void *)0;
22435#line 3667
22436 __cil_tmp31 = (struct scsi_cmnd *)__cil_tmp30;
22437#line 3667
22438 __cil_tmp32 = (u8 )1;
22439#line 3667
22440 doing_srb_done(acb, __cil_tmp29, __cil_tmp31, __cil_tmp32);
22441#line 3669
22442 __cil_tmp33 = (void *)0;
22443#line 3669
22444 acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp33;
22445#line 3670
22446 acb->acb_flag = (u8 )0;
22447#line 3671
22448 waiting_process_next(acb);
22449 }
22450 }
22451 }
22452#line 3673
22453 return;
22454}
22455}
22456#line 3676 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22457static void request_sense(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb , struct ScsiReqBlk *srb )
22458{ struct scsi_cmnd *cmd ;
22459 dma_addr_t tmp___7 ;
22460 u8 tmp___8 ;
22461 u8 __cil_tmp7 ;
22462 int __cil_tmp8 ;
22463 int __cil_tmp9 ;
22464 unsigned char *__cil_tmp10 ;
22465 void *__cil_tmp11 ;
22466 size_t __cil_tmp12 ;
22467 struct SGentry *__cil_tmp13 ;
22468 struct SGentry *__cil_tmp14 ;
22469 struct SGentry *__cil_tmp15 ;
22470 struct SGentry *__cil_tmp16 ;
22471 struct SGentry *__cil_tmp17 ;
22472 struct SGentry *__cil_tmp18 ;
22473 struct SGentry *__cil_tmp19 ;
22474 struct SGentry *__cil_tmp20 ;
22475 struct SGentry *__cil_tmp21 ;
22476 struct SGentry *__cil_tmp22 ;
22477 struct pci_dev *__cil_tmp23 ;
22478 unsigned char *__cil_tmp24 ;
22479 void *__cil_tmp25 ;
22480 size_t __cil_tmp26 ;
22481 struct SGentry *__cil_tmp27 ;
22482 struct SGentry *__cil_tmp28 ;
22483 struct scsi_cmnd *__cil_tmp29 ;
22484 u8 __cil_tmp30 ;
22485 int __cil_tmp31 ;
22486 u8 __cil_tmp32 ;
22487 int __cil_tmp33 ;
22488
22489 {
22490#line 3679
22491 cmd = srb->cmd;
22492 {
22493#line 3680
22494 while (1) {
22495 while_continue: ;
22496
22497#line 3680
22498 goto while_break;
22499 }
22500 while_break___1: ;
22501 }
22502
22503 while_break:
22504 {
22505#line 3683
22506 __cil_tmp7 = srb->flag;
22507#line 3683
22508 __cil_tmp8 = (int )__cil_tmp7;
22509#line 3683
22510 __cil_tmp9 = __cil_tmp8 | 1;
22511#line 3683
22512 srb->flag = (u8 )__cil_tmp9;
22513#line 3684
22514 srb->adapter_status = (u8 )0;
22515#line 3685
22516 srb->target_status = (u8 )0;
22517#line 3688
22518 __cil_tmp10 = cmd->sense_buffer;
22519#line 3688
22520 __cil_tmp11 = (void *)__cil_tmp10;
22521#line 3688
22522 __cil_tmp12 = (size_t )96;
22523#line 3688
22524 memset(__cil_tmp11, 0, __cil_tmp12);
22525#line 3691
22526 __cil_tmp13 = srb->segment_x;
22527#line 3691
22528 __cil_tmp14 = __cil_tmp13 + 63;
22529#line 3691
22530 __cil_tmp15 = srb->segment_x;
22531#line 3691
22532 __cil_tmp16 = __cil_tmp15 + 0;
22533#line 3691
22534 __cil_tmp14->address = __cil_tmp16->address;
22535#line 3693
22536 __cil_tmp17 = srb->segment_x;
22537#line 3693
22538 __cil_tmp18 = __cil_tmp17 + 63;
22539#line 3693
22540 __cil_tmp19 = srb->segment_x;
22541#line 3693
22542 __cil_tmp20 = __cil_tmp19 + 0;
22543#line 3693
22544 __cil_tmp18->length = __cil_tmp20->length;
22545#line 3695
22546 srb->xferred = srb->total_xfer_length;
22547#line 3697
22548 srb->total_xfer_length = (size_t )96;
22549#line 3698
22550 __cil_tmp21 = srb->segment_x;
22551#line 3698
22552 __cil_tmp22 = __cil_tmp21 + 0;
22553#line 3698
22554 __cil_tmp22->length = (u32 )96;
22555#line 3700
22556 __cil_tmp23 = acb->dev;
22557#line 3700
22558 __cil_tmp24 = cmd->sense_buffer;
22559#line 3700
22560 __cil_tmp25 = (void *)__cil_tmp24;
22561#line 3700
22562 __cil_tmp26 = (size_t )96;
22563#line 3700
22564 tmp___7 = pci_map_single(__cil_tmp23, __cil_tmp25, __cil_tmp26, 2);
22565#line 3700
22566 __cil_tmp27 = srb->segment_x;
22567#line 3700
22568 __cil_tmp28 = __cil_tmp27 + 0;
22569#line 3700
22570 __cil_tmp28->address = (u32 )tmp___7;
22571 }
22572 {
22573#line 3703
22574 while (1) {
22575 while_continue___0: ;
22576
22577#line 3703
22578 goto while_break___0;
22579 }
22580 while_break___2: ;
22581 }
22582
22583 while_break___0:
22584 {
22585#line 3706
22586 srb->sg_count = (u8 )1;
22587#line 3707
22588 srb->sg_index = (u8 )0;
22589#line 3709
22590 tmp___8 = start_scsi(acb, dcb, srb);
22591 }
22592#line 3709
22593 if (tmp___8) {
22594 {
22595#line 3710
22596 __cil_tmp29 = srb->cmd;
22597#line 3710
22598 __cil_tmp30 = dcb->target_id;
22599#line 3710
22600 __cil_tmp31 = (int )__cil_tmp30;
22601#line 3710
22602 __cil_tmp32 = dcb->target_lun;
22603#line 3710
22604 __cil_tmp33 = (int )__cil_tmp32;
22605#line 3710
22606 printk("<7>dc395x: request_sense: (0x%p) failed <%02i-%i>\n", __cil_tmp29, __cil_tmp31,
22607 __cil_tmp33);
22608#line 3713
22609 srb_going_to_waiting_move(dcb, srb);
22610#line 3714
22611 waiting_set_timer(acb, 2UL);
22612 }
22613 } else {
22614
22615 }
22616#line 3716
22617 return;
22618}
22619}
22620#line 3732 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22621static struct DeviceCtlBlk *device_alloc(struct AdapterCtlBlk *acb , u8 target , u8 lun )
22622{ struct NvRamType *eeprom ;
22623 u8 period_index ;
22624 struct DeviceCtlBlk *dcb ;
22625 void *tmp___7 ;
22626 int tmp___8 ;
22627 struct DeviceCtlBlk *p ;
22628 struct list_head const *__mptr ;
22629 struct list_head const *__mptr___0 ;
22630 u8 __cil_tmp12 ;
22631 int __cil_tmp13 ;
22632 int __cil_tmp14 ;
22633 void *__cil_tmp15 ;
22634 void *__cil_tmp16 ;
22635 struct list_head *__cil_tmp17 ;
22636 struct list_head *__cil_tmp18 ;
22637 void *__cil_tmp19 ;
22638 u8 __cil_tmp20 ;
22639 int __cil_tmp21 ;
22640 int __cil_tmp22 ;
22641 int __cil_tmp23 ;
22642 int __cil_tmp24 ;
22643 int __cil_tmp25 ;
22644 u8 __cil_tmp26 ;
22645 int __cil_tmp27 ;
22646 u8 __cil_tmp28 ;
22647 int __cil_tmp29 ;
22648 u8 __cil_tmp30 ;
22649 int __cil_tmp31 ;
22650 int __cil_tmp32 ;
22651 u8 __cil_tmp33 ;
22652 int __cil_tmp34 ;
22653 u8 __cil_tmp35 ;
22654 int __cil_tmp36 ;
22655 int __cil_tmp37 ;
22656 u8 __cil_tmp38 ;
22657 int __cil_tmp39 ;
22658 int __cil_tmp40 ;
22659 u8 __cil_tmp41 ;
22660 int __cil_tmp42 ;
22661 struct list_head *__cil_tmp43 ;
22662 struct DeviceCtlBlk *__cil_tmp44 ;
22663 struct list_head *__cil_tmp45 ;
22664 unsigned int __cil_tmp46 ;
22665 char *__cil_tmp47 ;
22666 char *__cil_tmp48 ;
22667 struct list_head *__cil_tmp49 ;
22668 unsigned long __cil_tmp50 ;
22669 struct list_head *__cil_tmp51 ;
22670 unsigned long __cil_tmp52 ;
22671 u8 __cil_tmp53 ;
22672 int __cil_tmp54 ;
22673 u8 __cil_tmp55 ;
22674 int __cil_tmp56 ;
22675 struct list_head *__cil_tmp57 ;
22676 struct DeviceCtlBlk *__cil_tmp58 ;
22677 struct list_head *__cil_tmp59 ;
22678 unsigned int __cil_tmp60 ;
22679 char *__cil_tmp61 ;
22680 char *__cil_tmp62 ;
22681
22682 {
22683 {
22684#line 3735
22685 eeprom = & acb->eeprom;
22686#line 3736
22687 __cil_tmp12 = eeprom->target[target].period;
22688#line 3736
22689 __cil_tmp13 = (int )__cil_tmp12;
22690#line 3736
22691 __cil_tmp14 = __cil_tmp13 & 7;
22692#line 3736
22693 period_index = (u8 )__cil_tmp14;
22694#line 3739
22695 tmp___7 = kmalloc(88UL, 32U);
22696#line 3739
22697 dcb = (struct DeviceCtlBlk *)tmp___7;
22698 }
22699 {
22700#line 3740
22701 while (1) {
22702 while_continue: ;
22703
22704#line 3740
22705 goto while_break;
22706 }
22707 while_break___2: ;
22708 }
22709
22710 while_break: ;
22711#line 3741
22712 if (! dcb) {
22713 {
22714#line 3742
22715 __cil_tmp15 = (void *)0;
22716#line 3742
22717 return ((struct DeviceCtlBlk *)__cil_tmp15);
22718 }
22719 } else {
22720
22721 }
22722 {
22723#line 3743
22724 __cil_tmp16 = (void *)0;
22725#line 3743
22726 dcb->acb = (struct AdapterCtlBlk *)__cil_tmp16;
22727#line 3744
22728 __cil_tmp17 = & dcb->srb_going_list;
22729#line 3744
22730 INIT_LIST_HEAD(__cil_tmp17);
22731#line 3745
22732 __cil_tmp18 = & dcb->srb_waiting_list;
22733#line 3745
22734 INIT_LIST_HEAD(__cil_tmp18);
22735#line 3746
22736 __cil_tmp19 = (void *)0;
22737#line 3746
22738 dcb->active_srb = (struct ScsiReqBlk *)__cil_tmp19;
22739#line 3747
22740 dcb->tag_mask = (u32 )0;
22741#line 3748
22742 dcb->max_command = (u16 )1;
22743#line 3749
22744 dcb->target_id = target;
22745#line 3750
22746 dcb->target_lun = lun;
22747 }
22748 {
22749#line 3752
22750 __cil_tmp20 = dcb->dev_mode;
22751#line 3752
22752 __cil_tmp21 = (int )__cil_tmp20;
22753#line 3752
22754 if (__cil_tmp21 & 4) {
22755#line 3752
22756 tmp___8 = 64;
22757 } else {
22758#line 3752
22759 tmp___8 = 0;
22760 }
22761 }
22762#line 3752
22763 __cil_tmp22 = (int )lun;
22764#line 3752
22765 __cil_tmp23 = __cil_tmp22 & 7;
22766#line 3752
22767 __cil_tmp24 = 128 | tmp___8;
22768#line 3752
22769 __cil_tmp25 = __cil_tmp24 | __cil_tmp23;
22770#line 3752
22771 dcb->identify_msg = (u8 )__cil_tmp25;
22772#line 3757
22773 dcb->dev_mode = eeprom->target[target].cfg0;
22774#line 3758
22775 dcb->inquiry7 = (u8 )0;
22776#line 3759
22777 dcb->sync_mode = (u8 )0;
22778#line 3760
22779 dcb->min_nego_period = clock_period[period_index];
22780#line 3761
22781 dcb->sync_period = (u8 )0;
22782#line 3762
22783 dcb->sync_offset = (u8 )0;
22784#line 3763
22785 dcb->flag = (u8 )0;
22786 {
22787#line 3766
22788 __cil_tmp26 = dcb->dev_mode;
22789#line 3766
22790 __cil_tmp27 = (int )__cil_tmp26;
22791#line 3766
22792 if (__cil_tmp27 & 32) {
22793 {
22794#line 3766
22795 __cil_tmp28 = acb->config;
22796#line 3766
22797 __cil_tmp29 = (int )__cil_tmp28;
22798#line 3766
22799 if (__cil_tmp29 & 32) {
22800#line 3768
22801 __cil_tmp30 = dcb->sync_mode;
22802#line 3768
22803 __cil_tmp31 = (int )__cil_tmp30;
22804#line 3768
22805 __cil_tmp32 = __cil_tmp31 | 4;
22806#line 3768
22807 dcb->sync_mode = (u8 )__cil_tmp32;
22808 } else {
22809
22810 }
22811 }
22812 } else {
22813
22814 }
22815 }
22816 {
22817#line 3771
22818 __cil_tmp33 = dcb->dev_mode;
22819#line 3771
22820 __cil_tmp34 = (int )__cil_tmp33;
22821#line 3771
22822 if (__cil_tmp34 & 2) {
22823#line 3772
22824 if (! lun) {
22825#line 3773
22826 __cil_tmp35 = dcb->sync_mode;
22827#line 3773
22828 __cil_tmp36 = (int )__cil_tmp35;
22829#line 3773
22830 __cil_tmp37 = __cil_tmp36 | 1;
22831#line 3773
22832 dcb->sync_mode = (u8 )__cil_tmp37;
22833 } else
22834#line 3772
22835 if (current_sync_offset) {
22836#line 3773
22837 __cil_tmp38 = dcb->sync_mode;
22838#line 3773
22839 __cil_tmp39 = (int )__cil_tmp38;
22840#line 3773
22841 __cil_tmp40 = __cil_tmp39 | 1;
22842#line 3773
22843 dcb->sync_mode = (u8 )__cil_tmp40;
22844 } else {
22845
22846 }
22847 } else {
22848
22849 }
22850 }
22851 {
22852#line 3775
22853 __cil_tmp41 = dcb->target_lun;
22854#line 3775
22855 __cil_tmp42 = (int )__cil_tmp41;
22856#line 3775
22857 if (__cil_tmp42 != 0) {
22858#line 3778
22859 __cil_tmp43 = acb->dcb_list.next;
22860#line 3778
22861 __mptr = (struct list_head const *)__cil_tmp43;
22862#line 3778
22863 __cil_tmp44 = (struct DeviceCtlBlk *)0;
22864#line 3778
22865 __cil_tmp45 = & __cil_tmp44->list;
22866#line 3778
22867 __cil_tmp46 = (unsigned int )__cil_tmp45;
22868#line 3778
22869 __cil_tmp47 = (char *)__mptr;
22870#line 3778
22871 __cil_tmp48 = __cil_tmp47 - __cil_tmp46;
22872#line 3778
22873 p = (struct DeviceCtlBlk *)__cil_tmp48;
22874 {
22875#line 3778
22876 while (1) {
22877 while_continue___0: ;
22878
22879 {
22880#line 3778
22881 __cil_tmp49 = & acb->dcb_list;
22882#line 3778
22883 __cil_tmp50 = (unsigned long )__cil_tmp49;
22884#line 3778
22885 __cil_tmp51 = & p->list;
22886#line 3778
22887 __cil_tmp52 = (unsigned long )__cil_tmp51;
22888#line 3778
22889 if (__cil_tmp52 != __cil_tmp50) {
22890
22891 } else {
22892#line 3778
22893 goto while_break___0;
22894 }
22895 }
22896 {
22897#line 3779
22898 __cil_tmp53 = dcb->target_id;
22899#line 3779
22900 __cil_tmp54 = (int )__cil_tmp53;
22901#line 3779
22902 __cil_tmp55 = p->target_id;
22903#line 3779
22904 __cil_tmp56 = (int )__cil_tmp55;
22905#line 3779
22906 if (__cil_tmp56 == __cil_tmp54) {
22907#line 3780
22908 goto while_break___0;
22909 } else {
22910
22911 }
22912 }
22913#line 3778
22914 __cil_tmp57 = p->list.next;
22915#line 3778
22916 __mptr___0 = (struct list_head const *)__cil_tmp57;
22917#line 3778
22918 __cil_tmp58 = (struct DeviceCtlBlk *)0;
22919#line 3778
22920 __cil_tmp59 = & __cil_tmp58->list;
22921#line 3778
22922 __cil_tmp60 = (unsigned int )__cil_tmp59;
22923#line 3778
22924 __cil_tmp61 = (char *)__mptr___0;
22925#line 3778
22926 __cil_tmp62 = __cil_tmp61 - __cil_tmp60;
22927#line 3778
22928 p = (struct DeviceCtlBlk *)__cil_tmp62;
22929 }
22930 while_break___3: ;
22931 }
22932
22933 while_break___0: ;
22934 {
22935#line 3781
22936 while (1) {
22937 while_continue___1: ;
22938
22939#line 3781
22940 goto while_break___1;
22941 }
22942 while_break___4: ;
22943 }
22944
22945 while_break___1:
22946#line 3785
22947 dcb->sync_mode = p->sync_mode;
22948#line 3786
22949 dcb->sync_period = p->sync_period;
22950#line 3787
22951 dcb->min_nego_period = p->min_nego_period;
22952#line 3788
22953 dcb->sync_offset = p->sync_offset;
22954#line 3789
22955 dcb->inquiry7 = p->inquiry7;
22956 } else {
22957
22958 }
22959 }
22960#line 3791
22961 return (dcb);
22962}
22963}
22964#line 3801 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
22965static void adapter_add_device(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb )
22966{ int tmp___7 ;
22967 struct list_head *__cil_tmp4 ;
22968 struct list_head const *__cil_tmp5 ;
22969 struct list_head *__cil_tmp6 ;
22970 struct list_head *__cil_tmp7 ;
22971 u8 __cil_tmp8 ;
22972 int __cil_tmp9 ;
22973 int __cil_tmp10 ;
22974 u8 __cil_tmp11 ;
22975 int __cil_tmp12 ;
22976 int __cil_tmp13 ;
22977
22978 {
22979 {
22980#line 3805
22981 dcb->acb = acb;
22982#line 3808
22983 __cil_tmp4 = & acb->dcb_list;
22984#line 3808
22985 __cil_tmp5 = (struct list_head const *)__cil_tmp4;
22986#line 3808
22987 tmp___7 = list_empty(__cil_tmp5);
22988 }
22989#line 3808
22990 if (tmp___7) {
22991#line 3809
22992 acb->dcb_run_robin = dcb;
22993 } else {
22994
22995 }
22996 {
22997#line 3812
22998 __cil_tmp6 = & dcb->list;
22999#line 3812
23000 __cil_tmp7 = & acb->dcb_list;
23001#line 3812
23002 list_add_tail(__cil_tmp6, __cil_tmp7);
23003#line 3815
23004 __cil_tmp8 = dcb->target_lun;
23005#line 3815
23006 __cil_tmp9 = (int )__cil_tmp8;
23007#line 3815
23008 __cil_tmp10 = 1 << __cil_tmp9;
23009#line 3815
23010 __cil_tmp11 = acb->dcb_map[dcb->target_id];
23011#line 3815
23012 __cil_tmp12 = (int )__cil_tmp11;
23013#line 3815
23014 __cil_tmp13 = __cil_tmp12 | __cil_tmp10;
23015#line 3815
23016 acb->dcb_map[dcb->target_id] = (u8 )__cil_tmp13;
23017#line 3816
23018 acb->children[dcb->target_id][dcb->target_lun] = dcb;
23019 }
23020#line 3817
23021 return;
23022}
23023}
23024#line 3829 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23025static void adapter_remove_device(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb )
23026{ struct DeviceCtlBlk *i ;
23027 struct DeviceCtlBlk *tmp___7 ;
23028 struct list_head const *__mptr ;
23029 struct list_head const *__mptr___0 ;
23030 struct list_head const *__mptr___1 ;
23031 unsigned long __cil_tmp8 ;
23032 struct DeviceCtlBlk *__cil_tmp9 ;
23033 unsigned long __cil_tmp10 ;
23034 void *__cil_tmp11 ;
23035 unsigned long __cil_tmp12 ;
23036 struct DeviceCtlBlk *__cil_tmp13 ;
23037 unsigned long __cil_tmp14 ;
23038 struct list_head *__cil_tmp15 ;
23039 struct list_head *__cil_tmp16 ;
23040 struct DeviceCtlBlk *__cil_tmp17 ;
23041 struct list_head *__cil_tmp18 ;
23042 unsigned int __cil_tmp19 ;
23043 char *__cil_tmp20 ;
23044 char *__cil_tmp21 ;
23045 struct list_head *__cil_tmp22 ;
23046 struct DeviceCtlBlk *__cil_tmp23 ;
23047 struct list_head *__cil_tmp24 ;
23048 unsigned int __cil_tmp25 ;
23049 char *__cil_tmp26 ;
23050 char *__cil_tmp27 ;
23051 struct list_head *__cil_tmp28 ;
23052 unsigned long __cil_tmp29 ;
23053 struct list_head *__cil_tmp30 ;
23054 unsigned long __cil_tmp31 ;
23055 unsigned long __cil_tmp32 ;
23056 unsigned long __cil_tmp33 ;
23057 struct list_head *__cil_tmp34 ;
23058 struct list_head *__cil_tmp35 ;
23059 struct DeviceCtlBlk *__cil_tmp36 ;
23060 struct list_head *__cil_tmp37 ;
23061 unsigned int __cil_tmp38 ;
23062 char *__cil_tmp39 ;
23063 char *__cil_tmp40 ;
23064 u8 __cil_tmp41 ;
23065 int __cil_tmp42 ;
23066 int __cil_tmp43 ;
23067 int __cil_tmp44 ;
23068 u8 __cil_tmp45 ;
23069 int __cil_tmp46 ;
23070 int __cil_tmp47 ;
23071 void *__cil_tmp48 ;
23072 void *__cil_tmp49 ;
23073
23074 {
23075 {
23076#line 3834
23077 while (1) {
23078 while_continue: ;
23079
23080#line 3834
23081 goto while_break;
23082 }
23083 while_break___1: ;
23084 }
23085
23086 while_break: ;
23087 {
23088#line 3838
23089 __cil_tmp8 = (unsigned long )dcb;
23090#line 3838
23091 __cil_tmp9 = acb->active_dcb;
23092#line 3838
23093 __cil_tmp10 = (unsigned long )__cil_tmp9;
23094#line 3838
23095 if (__cil_tmp10 == __cil_tmp8) {
23096#line 3839
23097 __cil_tmp11 = (void *)0;
23098#line 3839
23099 acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp11;
23100 } else {
23101
23102 }
23103 }
23104 {
23105#line 3840
23106 __cil_tmp12 = (unsigned long )dcb;
23107#line 3840
23108 __cil_tmp13 = acb->dcb_run_robin;
23109#line 3840
23110 __cil_tmp14 = (unsigned long )__cil_tmp13;
23111#line 3840
23112 if (__cil_tmp14 == __cil_tmp12) {
23113 {
23114#line 3841
23115 __cil_tmp15 = & acb->dcb_list;
23116#line 3841
23117 acb->dcb_run_robin = dcb_get_next(__cil_tmp15, dcb);
23118 }
23119 } else {
23120
23121 }
23122 }
23123#line 3844
23124 __cil_tmp16 = acb->dcb_list.next;
23125#line 3844
23126 __mptr = (struct list_head const *)__cil_tmp16;
23127#line 3844
23128 __cil_tmp17 = (struct DeviceCtlBlk *)0;
23129#line 3844
23130 __cil_tmp18 = & __cil_tmp17->list;
23131#line 3844
23132 __cil_tmp19 = (unsigned int )__cil_tmp18;
23133#line 3844
23134 __cil_tmp20 = (char *)__mptr;
23135#line 3844
23136 __cil_tmp21 = __cil_tmp20 - __cil_tmp19;
23137#line 3844
23138 i = (struct DeviceCtlBlk *)__cil_tmp21;
23139#line 3844
23140 __cil_tmp22 = i->list.next;
23141#line 3844
23142 __mptr___0 = (struct list_head const *)__cil_tmp22;
23143#line 3844
23144 __cil_tmp23 = (struct DeviceCtlBlk *)0;
23145#line 3844
23146 __cil_tmp24 = & __cil_tmp23->list;
23147#line 3844
23148 __cil_tmp25 = (unsigned int )__cil_tmp24;
23149#line 3844
23150 __cil_tmp26 = (char *)__mptr___0;
23151#line 3844
23152 __cil_tmp27 = __cil_tmp26 - __cil_tmp25;
23153#line 3844
23154 tmp___7 = (struct DeviceCtlBlk *)__cil_tmp27;
23155 {
23156#line 3844
23157 while (1) {
23158 while_continue___0: ;
23159
23160 {
23161#line 3844
23162 __cil_tmp28 = & acb->dcb_list;
23163#line 3844
23164 __cil_tmp29 = (unsigned long )__cil_tmp28;
23165#line 3844
23166 __cil_tmp30 = & i->list;
23167#line 3844
23168 __cil_tmp31 = (unsigned long )__cil_tmp30;
23169#line 3844
23170 if (__cil_tmp31 != __cil_tmp29) {
23171
23172 } else {
23173#line 3844
23174 goto while_break___0;
23175 }
23176 }
23177 {
23178#line 3845
23179 __cil_tmp32 = (unsigned long )i;
23180#line 3845
23181 __cil_tmp33 = (unsigned long )dcb;
23182#line 3845
23183 if (__cil_tmp33 == __cil_tmp32) {
23184 {
23185#line 3846
23186 __cil_tmp34 = & i->list;
23187#line 3846
23188 list_del(__cil_tmp34);
23189 }
23190#line 3847
23191 goto while_break___0;
23192 } else {
23193
23194 }
23195 }
23196#line 3844
23197 i = tmp___7;
23198#line 3844
23199 __cil_tmp35 = tmp___7->list.next;
23200#line 3844
23201 __mptr___1 = (struct list_head const *)__cil_tmp35;
23202#line 3844
23203 __cil_tmp36 = (struct DeviceCtlBlk *)0;
23204#line 3844
23205 __cil_tmp37 = & __cil_tmp36->list;
23206#line 3844
23207 __cil_tmp38 = (unsigned int )__cil_tmp37;
23208#line 3844
23209 __cil_tmp39 = (char *)__mptr___1;
23210#line 3844
23211 __cil_tmp40 = __cil_tmp39 - __cil_tmp38;
23212#line 3844
23213 tmp___7 = (struct DeviceCtlBlk *)__cil_tmp40;
23214 }
23215 while_break___2: ;
23216 }
23217
23218 while_break___0:
23219#line 3851
23220 __cil_tmp41 = dcb->target_lun;
23221#line 3851
23222 __cil_tmp42 = (int )__cil_tmp41;
23223#line 3851
23224 __cil_tmp43 = 1 << __cil_tmp42;
23225#line 3851
23226 __cil_tmp44 = ~ __cil_tmp43;
23227#line 3851
23228 __cil_tmp45 = acb->dcb_map[dcb->target_id];
23229#line 3851
23230 __cil_tmp46 = (int )__cil_tmp45;
23231#line 3851
23232 __cil_tmp47 = __cil_tmp46 & __cil_tmp44;
23233#line 3851
23234 acb->dcb_map[dcb->target_id] = (u8 )__cil_tmp47;
23235#line 3852
23236 __cil_tmp48 = (void *)0;
23237#line 3852
23238 acb->children[dcb->target_id][dcb->target_lun] = (struct DeviceCtlBlk *)__cil_tmp48;
23239#line 3853
23240 __cil_tmp49 = (void *)0;
23241#line 3853
23242 dcb->acb = (struct AdapterCtlBlk *)__cil_tmp49;
23243#line 3854
23244 return;
23245}
23246}
23247#line 3864 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23248static void adapter_remove_and_free_device(struct AdapterCtlBlk *acb , struct DeviceCtlBlk *dcb )
23249{ unsigned int tmp___7 ;
23250 struct list_head *__cil_tmp4 ;
23251 void const *__cil_tmp5 ;
23252
23253 {
23254 {
23255#line 3867
23256 __cil_tmp4 = & dcb->srb_going_list;
23257#line 3867
23258 tmp___7 = list_size(__cil_tmp4);
23259 }
23260#line 3867
23261 if (tmp___7 > 1U) {
23262 {
23263#line 3868
23264 while (1) {
23265 while_continue: ;
23266
23267#line 3868
23268 goto while_break;
23269 }
23270 while_break___0: ;
23271 }
23272
23273 while_break: ;
23274#line 3872
23275 return;
23276 } else {
23277
23278 }
23279 {
23280#line 3874
23281 adapter_remove_device(acb, dcb);
23282#line 3875
23283 __cil_tmp5 = (void const *)dcb;
23284#line 3875
23285 kfree(__cil_tmp5);
23286 }
23287#line 3876
23288 return;
23289}
23290}
23291#line 3885 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23292static void adapter_remove_and_free_all_devices(struct AdapterCtlBlk *acb )
23293{ struct DeviceCtlBlk *dcb ;
23294 struct DeviceCtlBlk *tmp___7 ;
23295 struct list_head const *__mptr ;
23296 struct list_head const *__mptr___0 ;
23297 struct list_head const *__mptr___1 ;
23298 struct list_head *__cil_tmp7 ;
23299 struct DeviceCtlBlk *__cil_tmp8 ;
23300 struct list_head *__cil_tmp9 ;
23301 unsigned int __cil_tmp10 ;
23302 char *__cil_tmp11 ;
23303 char *__cil_tmp12 ;
23304 struct list_head *__cil_tmp13 ;
23305 struct DeviceCtlBlk *__cil_tmp14 ;
23306 struct list_head *__cil_tmp15 ;
23307 unsigned int __cil_tmp16 ;
23308 char *__cil_tmp17 ;
23309 char *__cil_tmp18 ;
23310 struct list_head *__cil_tmp19 ;
23311 unsigned long __cil_tmp20 ;
23312 struct list_head *__cil_tmp21 ;
23313 unsigned long __cil_tmp22 ;
23314 struct list_head *__cil_tmp23 ;
23315 struct DeviceCtlBlk *__cil_tmp24 ;
23316 struct list_head *__cil_tmp25 ;
23317 unsigned int __cil_tmp26 ;
23318 char *__cil_tmp27 ;
23319 char *__cil_tmp28 ;
23320
23321 {
23322 {
23323#line 3889
23324 while (1) {
23325 while_continue: ;
23326
23327#line 3889
23328 goto while_break;
23329 }
23330 while_break___1: ;
23331 }
23332
23333 while_break:
23334#line 3892
23335 __cil_tmp7 = acb->dcb_list.next;
23336#line 3892
23337 __mptr = (struct list_head const *)__cil_tmp7;
23338#line 3892
23339 __cil_tmp8 = (struct DeviceCtlBlk *)0;
23340#line 3892
23341 __cil_tmp9 = & __cil_tmp8->list;
23342#line 3892
23343 __cil_tmp10 = (unsigned int )__cil_tmp9;
23344#line 3892
23345 __cil_tmp11 = (char *)__mptr;
23346#line 3892
23347 __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
23348#line 3892
23349 dcb = (struct DeviceCtlBlk *)__cil_tmp12;
23350#line 3892
23351 __cil_tmp13 = dcb->list.next;
23352#line 3892
23353 __mptr___0 = (struct list_head const *)__cil_tmp13;
23354#line 3892
23355 __cil_tmp14 = (struct DeviceCtlBlk *)0;
23356#line 3892
23357 __cil_tmp15 = & __cil_tmp14->list;
23358#line 3892
23359 __cil_tmp16 = (unsigned int )__cil_tmp15;
23360#line 3892
23361 __cil_tmp17 = (char *)__mptr___0;
23362#line 3892
23363 __cil_tmp18 = __cil_tmp17 - __cil_tmp16;
23364#line 3892
23365 tmp___7 = (struct DeviceCtlBlk *)__cil_tmp18;
23366 {
23367#line 3892
23368 while (1) {
23369 while_continue___0: ;
23370
23371 {
23372#line 3892
23373 __cil_tmp19 = & acb->dcb_list;
23374#line 3892
23375 __cil_tmp20 = (unsigned long )__cil_tmp19;
23376#line 3892
23377 __cil_tmp21 = & dcb->list;
23378#line 3892
23379 __cil_tmp22 = (unsigned long )__cil_tmp21;
23380#line 3892
23381 if (__cil_tmp22 != __cil_tmp20) {
23382
23383 } else {
23384#line 3892
23385 goto while_break___0;
23386 }
23387 }
23388 {
23389#line 3893
23390 adapter_remove_and_free_device(acb, dcb);
23391#line 3892
23392 dcb = tmp___7;
23393#line 3892
23394 __cil_tmp23 = tmp___7->list.next;
23395#line 3892
23396 __mptr___1 = (struct list_head const *)__cil_tmp23;
23397#line 3892
23398 __cil_tmp24 = (struct DeviceCtlBlk *)0;
23399#line 3892
23400 __cil_tmp25 = & __cil_tmp24->list;
23401#line 3892
23402 __cil_tmp26 = (unsigned int )__cil_tmp25;
23403#line 3892
23404 __cil_tmp27 = (char *)__mptr___1;
23405#line 3892
23406 __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
23407#line 3892
23408 tmp___7 = (struct DeviceCtlBlk *)__cil_tmp28;
23409 }
23410 }
23411 while_break___2: ;
23412 }
23413
23414 while_break___0: ;
23415#line 3894
23416 return;
23417}
23418}
23419#line 3904 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23420static int dc395x_slave_alloc(struct scsi_device *scsi_device )
23421{ struct AdapterCtlBlk *acb ;
23422 struct DeviceCtlBlk *dcb ;
23423 struct Scsi_Host *__cil_tmp4 ;
23424 unsigned long *__cil_tmp5 ;
23425 unsigned int __cil_tmp6 ;
23426 u8 __cil_tmp7 ;
23427 unsigned int __cil_tmp8 ;
23428 u8 __cil_tmp9 ;
23429
23430 {
23431 {
23432#line 3906
23433 __cil_tmp4 = scsi_device->host;
23434#line 3906
23435 __cil_tmp5 = & __cil_tmp4->hostdata[0];
23436#line 3906
23437 acb = (struct AdapterCtlBlk *)__cil_tmp5;
23438#line 3909
23439 __cil_tmp6 = scsi_device->id;
23440#line 3909
23441 __cil_tmp7 = (u8 )__cil_tmp6;
23442#line 3909
23443 __cil_tmp8 = scsi_device->lun;
23444#line 3909
23445 __cil_tmp9 = (u8 )__cil_tmp8;
23446#line 3909
23447 dcb = device_alloc(acb, __cil_tmp7, __cil_tmp9);
23448 }
23449#line 3910
23450 if (! dcb) {
23451#line 3911
23452 return (-12);
23453 } else {
23454
23455 }
23456 {
23457#line 3912
23458 adapter_add_device(acb, dcb);
23459 }
23460#line 3914
23461 return (0);
23462}
23463}
23464#line 3924 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23465static void dc395x_slave_destroy(struct scsi_device *scsi_device )
23466{ struct AdapterCtlBlk *acb ;
23467 struct DeviceCtlBlk *dcb ;
23468 struct DeviceCtlBlk *tmp___7 ;
23469 struct Scsi_Host *__cil_tmp5 ;
23470 unsigned long *__cil_tmp6 ;
23471 unsigned int __cil_tmp7 ;
23472 u8 __cil_tmp8 ;
23473 unsigned int __cil_tmp9 ;
23474 u8 __cil_tmp10 ;
23475
23476 {
23477 {
23478#line 3926
23479 __cil_tmp5 = scsi_device->host;
23480#line 3926
23481 __cil_tmp6 = & __cil_tmp5->hostdata[0];
23482#line 3926
23483 acb = (struct AdapterCtlBlk *)__cil_tmp6;
23484#line 3927
23485 __cil_tmp7 = scsi_device->id;
23486#line 3927
23487 __cil_tmp8 = (u8 )__cil_tmp7;
23488#line 3927
23489 __cil_tmp9 = scsi_device->lun;
23490#line 3927
23491 __cil_tmp10 = (u8 )__cil_tmp9;
23492#line 3927
23493 tmp___7 = find_dcb(acb, __cil_tmp8, __cil_tmp10);
23494#line 3927
23495 dcb = tmp___7;
23496 }
23497#line 3928
23498 if (dcb) {
23499 {
23500#line 3929
23501 adapter_remove_and_free_device(acb, dcb);
23502 }
23503 } else {
23504
23505 }
23506#line 3930
23507 return;
23508}
23509}
23510#line 3942
23511static void trms1040_wait_30us(unsigned long io_port ) __attribute__((__section__(".devinit.text"),
23512__no_instrument_function__)) ;
23513#line 3942
23514static void trms1040_wait_30us(unsigned long io_port ) __attribute__((__section__(".devinit.text"),
23515__no_instrument_function__)) ;
23516#line 3942 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23517static void trms1040_wait_30us(unsigned long io_port )
23518{ unsigned char tmp___7 ;
23519 unsigned long __cil_tmp3 ;
23520 int __cil_tmp4 ;
23521 unsigned long __cil_tmp5 ;
23522 int __cil_tmp6 ;
23523 int __cil_tmp7 ;
23524
23525 {
23526 {
23527#line 3945
23528 __cil_tmp3 = io_port + 219UL;
23529#line 3945
23530 __cil_tmp4 = (int )__cil_tmp3;
23531#line 3945
23532 outb((unsigned char)5, __cil_tmp4);
23533 }
23534 {
23535#line 3946
23536 while (1) {
23537 while_continue: ;
23538 {
23539#line 3946
23540 __cil_tmp5 = io_port + 213UL;
23541#line 3946
23542 __cil_tmp6 = (int )__cil_tmp5;
23543#line 3946
23544 tmp___7 = inb(__cil_tmp6);
23545 }
23546 {
23547#line 3946
23548 __cil_tmp7 = (int )tmp___7;
23549#line 3946
23550 if (__cil_tmp7 & 128) {
23551#line 3946
23552 goto while_break;
23553 } else {
23554
23555 }
23556 }
23557 }
23558 while_break___0: ;
23559 }
23560
23561 while_break: ;
23562#line 3948
23563 return;
23564}
23565}
23566#line 3959
23567static void trms1040_write_cmd(unsigned long io_port , u8 cmd , u8 addr ) __attribute__((__section__(".devinit.text"),
23568__no_instrument_function__)) ;
23569#line 3959
23570static void trms1040_write_cmd(unsigned long io_port , u8 cmd , u8 addr ) __attribute__((__section__(".devinit.text"),
23571__no_instrument_function__)) ;
23572#line 3959 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23573static void trms1040_write_cmd(unsigned long io_port , u8 cmd , u8 addr )
23574{ int i ;
23575 u8 send_data ;
23576 int __cil_tmp6 ;
23577 int __cil_tmp7 ;
23578 int __cil_tmp8 ;
23579 unsigned long __cil_tmp9 ;
23580 int __cil_tmp10 ;
23581 int __cil_tmp11 ;
23582 int __cil_tmp12 ;
23583 unsigned char __cil_tmp13 ;
23584 unsigned long __cil_tmp14 ;
23585 int __cil_tmp15 ;
23586 int __cil_tmp16 ;
23587 int __cil_tmp17 ;
23588 int __cil_tmp18 ;
23589 int __cil_tmp19 ;
23590 int __cil_tmp20 ;
23591 unsigned long __cil_tmp21 ;
23592 int __cil_tmp22 ;
23593 int __cil_tmp23 ;
23594 int __cil_tmp24 ;
23595 unsigned char __cil_tmp25 ;
23596 unsigned long __cil_tmp26 ;
23597 int __cil_tmp27 ;
23598 int __cil_tmp28 ;
23599 int __cil_tmp29 ;
23600 unsigned long __cil_tmp30 ;
23601 int __cil_tmp31 ;
23602
23603 {
23604#line 3965
23605 i = 0;
23606 {
23607#line 3965
23608 while (1) {
23609 while_continue: ;
23610
23611#line 3965
23612 if (i < 3) {
23613
23614 } else {
23615#line 3965
23616 goto while_break;
23617 }
23618#line 3966
23619 send_data = (u8 )1;
23620 {
23621#line 3967
23622 __cil_tmp6 = (int )cmd;
23623#line 3967
23624 if (__cil_tmp6 & 4) {
23625#line 3968
23626 __cil_tmp7 = (int )send_data;
23627#line 3968
23628 __cil_tmp8 = __cil_tmp7 | 8;
23629#line 3968
23630 send_data = (u8 )__cil_tmp8;
23631 } else {
23632
23633 }
23634 }
23635 {
23636#line 3970
23637 __cil_tmp9 = io_port + 214UL;
23638#line 3970
23639 __cil_tmp10 = (int )__cil_tmp9;
23640#line 3970
23641 outb(send_data, __cil_tmp10);
23642#line 3971
23643 trms1040_wait_30us(io_port);
23644#line 3972
23645 __cil_tmp11 = (int )send_data;
23646#line 3972
23647 __cil_tmp12 = __cil_tmp11 | 2;
23648#line 3972
23649 __cil_tmp13 = (unsigned char )__cil_tmp12;
23650#line 3972
23651 __cil_tmp14 = io_port + 214UL;
23652#line 3972
23653 __cil_tmp15 = (int )__cil_tmp14;
23654#line 3972
23655 outb(__cil_tmp13, __cil_tmp15);
23656#line 3974
23657 trms1040_wait_30us(io_port);
23658#line 3965
23659 i = i + 1;
23660#line 3965
23661 __cil_tmp16 = (int )cmd;
23662#line 3965
23663 __cil_tmp17 = __cil_tmp16 << 1;
23664#line 3965
23665 cmd = (u8 )__cil_tmp17;
23666 }
23667 }
23668 while_break___1: ;
23669 }
23670
23671 while_break:
23672#line 3978
23673 i = 0;
23674 {
23675#line 3978
23676 while (1) {
23677 while_continue___0: ;
23678
23679#line 3978
23680 if (i < 7) {
23681
23682 } else {
23683#line 3978
23684 goto while_break___0;
23685 }
23686#line 3979
23687 send_data = (u8 )1;
23688 {
23689#line 3980
23690 __cil_tmp18 = (int )addr;
23691#line 3980
23692 if (__cil_tmp18 & 64) {
23693#line 3981
23694 __cil_tmp19 = (int )send_data;
23695#line 3981
23696 __cil_tmp20 = __cil_tmp19 | 8;
23697#line 3981
23698 send_data = (u8 )__cil_tmp20;
23699 } else {
23700
23701 }
23702 }
23703 {
23704#line 3983
23705 __cil_tmp21 = io_port + 214UL;
23706#line 3983
23707 __cil_tmp22 = (int )__cil_tmp21;
23708#line 3983
23709 outb(send_data, __cil_tmp22);
23710#line 3984
23711 trms1040_wait_30us(io_port);
23712#line 3985
23713 __cil_tmp23 = (int )send_data;
23714#line 3985
23715 __cil_tmp24 = __cil_tmp23 | 2;
23716#line 3985
23717 __cil_tmp25 = (unsigned char )__cil_tmp24;
23718#line 3985
23719 __cil_tmp26 = io_port + 214UL;
23720#line 3985
23721 __cil_tmp27 = (int )__cil_tmp26;
23722#line 3985
23723 outb(__cil_tmp25, __cil_tmp27);
23724#line 3987
23725 trms1040_wait_30us(io_port);
23726#line 3978
23727 i = i + 1;
23728#line 3978
23729 __cil_tmp28 = (int )addr;
23730#line 3978
23731 __cil_tmp29 = __cil_tmp28 << 1;
23732#line 3978
23733 addr = (u8 )__cil_tmp29;
23734 }
23735 }
23736 while_break___2: ;
23737 }
23738
23739 while_break___0:
23740 {
23741#line 3989
23742 __cil_tmp30 = io_port + 214UL;
23743#line 3989
23744 __cil_tmp31 = (int )__cil_tmp30;
23745#line 3989
23746 outb((unsigned char)1, __cil_tmp31);
23747#line 3990
23748 trms1040_wait_30us(io_port);
23749 }
23750#line 3991
23751 return;
23752}
23753}
23754#line 4004
23755static void trms1040_set_data(unsigned long io_port , u8 addr , u8 byte ) __attribute__((__section__(".devinit.text"),
23756__no_instrument_function__)) ;
23757#line 4004
23758static void trms1040_set_data(unsigned long io_port , u8 addr , u8 byte ) __attribute__((__section__(".devinit.text"),
23759__no_instrument_function__)) ;
23760#line 4004 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23761static void trms1040_set_data(unsigned long io_port , u8 addr , u8 byte )
23762{ int i ;
23763 u8 send_data ;
23764 unsigned char tmp___7 ;
23765 u8 __cil_tmp7 ;
23766 int __cil_tmp8 ;
23767 int __cil_tmp9 ;
23768 int __cil_tmp10 ;
23769 unsigned long __cil_tmp11 ;
23770 int __cil_tmp12 ;
23771 int __cil_tmp13 ;
23772 int __cil_tmp14 ;
23773 unsigned char __cil_tmp15 ;
23774 unsigned long __cil_tmp16 ;
23775 int __cil_tmp17 ;
23776 int __cil_tmp18 ;
23777 int __cil_tmp19 ;
23778 unsigned long __cil_tmp20 ;
23779 int __cil_tmp21 ;
23780 unsigned long __cil_tmp22 ;
23781 int __cil_tmp23 ;
23782 unsigned long __cil_tmp24 ;
23783 int __cil_tmp25 ;
23784 unsigned long __cil_tmp26 ;
23785 int __cil_tmp27 ;
23786 unsigned long __cil_tmp28 ;
23787 int __cil_tmp29 ;
23788 unsigned long __cil_tmp30 ;
23789 int __cil_tmp31 ;
23790 int __cil_tmp32 ;
23791 unsigned long __cil_tmp33 ;
23792 int __cil_tmp34 ;
23793
23794 {
23795 {
23796#line 4010
23797 __cil_tmp7 = (u8 )5;
23798#line 4010
23799 trms1040_write_cmd(io_port, __cil_tmp7, addr);
23800#line 4013
23801 i = 0;
23802 }
23803 {
23804#line 4013
23805 while (1) {
23806 while_continue: ;
23807
23808#line 4013
23809 if (i < 8) {
23810
23811 } else {
23812#line 4013
23813 goto while_break;
23814 }
23815#line 4014
23816 send_data = (u8 )1;
23817 {
23818#line 4015
23819 __cil_tmp8 = (int )byte;
23820#line 4015
23821 if (__cil_tmp8 & 128) {
23822#line 4016
23823 __cil_tmp9 = (int )send_data;
23824#line 4016
23825 __cil_tmp10 = __cil_tmp9 | 8;
23826#line 4016
23827 send_data = (u8 )__cil_tmp10;
23828 } else {
23829
23830 }
23831 }
23832 {
23833#line 4018
23834 __cil_tmp11 = io_port + 214UL;
23835#line 4018
23836 __cil_tmp12 = (int )__cil_tmp11;
23837#line 4018
23838 outb(send_data, __cil_tmp12);
23839#line 4019
23840 trms1040_wait_30us(io_port);
23841#line 4020
23842 __cil_tmp13 = (int )send_data;
23843#line 4020
23844 __cil_tmp14 = __cil_tmp13 | 2;
23845#line 4020
23846 __cil_tmp15 = (unsigned char )__cil_tmp14;
23847#line 4020
23848 __cil_tmp16 = io_port + 214UL;
23849#line 4020
23850 __cil_tmp17 = (int )__cil_tmp16;
23851#line 4020
23852 outb(__cil_tmp15, __cil_tmp17);
23853#line 4021
23854 trms1040_wait_30us(io_port);
23855#line 4013
23856 i = i + 1;
23857#line 4013
23858 __cil_tmp18 = (int )byte;
23859#line 4013
23860 __cil_tmp19 = __cil_tmp18 << 1;
23861#line 4013
23862 byte = (u8 )__cil_tmp19;
23863 }
23864 }
23865 while_break___1: ;
23866 }
23867
23868 while_break:
23869 {
23870#line 4023
23871 __cil_tmp20 = io_port + 214UL;
23872#line 4023
23873 __cil_tmp21 = (int )__cil_tmp20;
23874#line 4023
23875 outb((unsigned char)1, __cil_tmp21);
23876#line 4024
23877 trms1040_wait_30us(io_port);
23878#line 4027
23879 __cil_tmp22 = io_port + 214UL;
23880#line 4027
23881 __cil_tmp23 = (int )__cil_tmp22;
23882#line 4027
23883 outb((unsigned char)0, __cil_tmp23);
23884#line 4028
23885 trms1040_wait_30us(io_port);
23886#line 4030
23887 __cil_tmp24 = io_port + 214UL;
23888#line 4030
23889 __cil_tmp25 = (int )__cil_tmp24;
23890#line 4030
23891 outb((unsigned char)1, __cil_tmp25);
23892#line 4031
23893 trms1040_wait_30us(io_port);
23894 }
23895 {
23896#line 4034
23897 while (1) {
23898 while_continue___0: ;
23899 {
23900#line 4035
23901 __cil_tmp26 = io_port + 214UL;
23902#line 4035
23903 __cil_tmp27 = (int )__cil_tmp26;
23904#line 4035
23905 outb((unsigned char)3, __cil_tmp27);
23906#line 4036
23907 trms1040_wait_30us(io_port);
23908#line 4038
23909 __cil_tmp28 = io_port + 214UL;
23910#line 4038
23911 __cil_tmp29 = (int )__cil_tmp28;
23912#line 4038
23913 outb((unsigned char)1, __cil_tmp29);
23914#line 4039
23915 trms1040_wait_30us(io_port);
23916#line 4041
23917 __cil_tmp30 = io_port + 214UL;
23918#line 4041
23919 __cil_tmp31 = (int )__cil_tmp30;
23920#line 4041
23921 tmp___7 = inb(__cil_tmp31);
23922 }
23923 {
23924#line 4041
23925 __cil_tmp32 = (int )tmp___7;
23926#line 4041
23927 if (__cil_tmp32 & 4) {
23928#line 4042
23929 goto while_break___0;
23930 } else {
23931
23932 }
23933 }
23934 }
23935 while_break___2: ;
23936 }
23937
23938 while_break___0:
23939 {
23940#line 4046
23941 __cil_tmp33 = io_port + 214UL;
23942#line 4046
23943 __cil_tmp34 = (int )__cil_tmp33;
23944#line 4046
23945 outb((unsigned char)0, __cil_tmp34);
23946 }
23947#line 4047
23948 return;
23949}
23950}
23951#line 4058
23952static void trms1040_write_all(struct NvRamType *eeprom , unsigned long io_port ) __attribute__((__section__(".devinit.text"),
23953__no_instrument_function__)) ;
23954#line 4058
23955static void trms1040_write_all(struct NvRamType *eeprom , unsigned long io_port ) __attribute__((__section__(".devinit.text"),
23956__no_instrument_function__)) ;
23957#line 4058 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
23958static void trms1040_write_all(struct NvRamType *eeprom , unsigned long io_port )
23959{ u8 *b_eeprom ;
23960 u8 addr ;
23961 unsigned char tmp___7 ;
23962 unsigned char tmp___8 ;
23963 unsigned long __cil_tmp7 ;
23964 int __cil_tmp8 ;
23965 int __cil_tmp9 ;
23966 int __cil_tmp10 ;
23967 unsigned char __cil_tmp11 ;
23968 unsigned long __cil_tmp12 ;
23969 int __cil_tmp13 ;
23970 u8 __cil_tmp14 ;
23971 u8 __cil_tmp15 ;
23972 unsigned long __cil_tmp16 ;
23973 int __cil_tmp17 ;
23974 int __cil_tmp18 ;
23975 u8 __cil_tmp19 ;
23976 int __cil_tmp20 ;
23977 int __cil_tmp21 ;
23978 u8 __cil_tmp22 ;
23979 u8 __cil_tmp23 ;
23980 unsigned long __cil_tmp24 ;
23981 int __cil_tmp25 ;
23982 unsigned long __cil_tmp26 ;
23983 int __cil_tmp27 ;
23984 int __cil_tmp28 ;
23985 int __cil_tmp29 ;
23986 unsigned char __cil_tmp30 ;
23987 unsigned long __cil_tmp31 ;
23988 int __cil_tmp32 ;
23989
23990 {
23991 {
23992#line 4060
23993 b_eeprom = (u8 *)eeprom;
23994#line 4064
23995 __cil_tmp7 = io_port + 212UL;
23996#line 4064
23997 __cil_tmp8 = (int )__cil_tmp7;
23998#line 4064
23999 tmp___7 = inb(__cil_tmp8);
24000#line 4064
24001 __cil_tmp9 = (int )tmp___7;
24002#line 4064
24003 __cil_tmp10 = __cil_tmp9 | 16;
24004#line 4064
24005 __cil_tmp11 = (unsigned char )__cil_tmp10;
24006#line 4064
24007 __cil_tmp12 = io_port + 212UL;
24008#line 4064
24009 __cil_tmp13 = (int )__cil_tmp12;
24010#line 4064
24011 outb(__cil_tmp11, __cil_tmp13);
24012#line 4068
24013 __cil_tmp14 = (u8 )4;
24014#line 4068
24015 __cil_tmp15 = (u8 )255;
24016#line 4068
24017 trms1040_write_cmd(io_port, __cil_tmp14, __cil_tmp15);
24018#line 4069
24019 __cil_tmp16 = io_port + 214UL;
24020#line 4069
24021 __cil_tmp17 = (int )__cil_tmp16;
24022#line 4069
24023 outb((unsigned char)0, __cil_tmp17);
24024#line 4070
24025 trms1040_wait_30us(io_port);
24026#line 4073
24027 addr = (u8 )0;
24028 }
24029 {
24030#line 4073
24031 while (1) {
24032 while_continue: ;
24033
24034 {
24035#line 4073
24036 __cil_tmp18 = (int )addr;
24037#line 4073
24038 if (__cil_tmp18 < 128) {
24039
24040 } else {
24041#line 4073
24042 goto while_break;
24043 }
24044 }
24045 {
24046#line 4074
24047 __cil_tmp19 = *b_eeprom;
24048#line 4074
24049 trms1040_set_data(io_port, addr, __cil_tmp19);
24050#line 4073
24051 __cil_tmp20 = (int )addr;
24052#line 4073
24053 __cil_tmp21 = __cil_tmp20 + 1;
24054#line 4073
24055 addr = (u8 )__cil_tmp21;
24056#line 4073
24057 b_eeprom = b_eeprom + 1;
24058 }
24059 }
24060 while_break___0: ;
24061 }
24062
24063 while_break:
24064 {
24065#line 4077
24066 __cil_tmp22 = (u8 )4;
24067#line 4077
24068 __cil_tmp23 = (u8 )0;
24069#line 4077
24070 trms1040_write_cmd(io_port, __cil_tmp22, __cil_tmp23);
24071#line 4078
24072 __cil_tmp24 = io_port + 214UL;
24073#line 4078
24074 __cil_tmp25 = (int )__cil_tmp24;
24075#line 4078
24076 outb((unsigned char)0, __cil_tmp25);
24077#line 4079
24078 trms1040_wait_30us(io_port);
24079#line 4082
24080 __cil_tmp26 = io_port + 212UL;
24081#line 4082
24082 __cil_tmp27 = (int )__cil_tmp26;
24083#line 4082
24084 tmp___8 = inb(__cil_tmp27);
24085#line 4082
24086 __cil_tmp28 = (int )tmp___8;
24087#line 4082
24088 __cil_tmp29 = __cil_tmp28 & -17;
24089#line 4082
24090 __cil_tmp30 = (unsigned char )__cil_tmp29;
24091#line 4082
24092 __cil_tmp31 = io_port + 212UL;
24093#line 4082
24094 __cil_tmp32 = (int )__cil_tmp31;
24095#line 4082
24096 outb(__cil_tmp30, __cil_tmp32);
24097 }
24098#line 4084
24099 return;
24100}
24101}
24102#line 4098
24103static u8 trms1040_get_data(unsigned long io_port , u8 addr ) __attribute__((__section__(".devinit.text"),
24104__no_instrument_function__)) ;
24105#line 4098
24106static u8 trms1040_get_data(unsigned long io_port , u8 addr ) __attribute__((__section__(".devinit.text"),
24107__no_instrument_function__)) ;
24108#line 4098 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24109static u8 trms1040_get_data(unsigned long io_port , u8 addr )
24110{ int i ;
24111 u8 read_byte ;
24112 u8 result ;
24113 u8 __cil_tmp6 ;
24114 unsigned long __cil_tmp7 ;
24115 int __cil_tmp8 ;
24116 unsigned long __cil_tmp9 ;
24117 int __cil_tmp10 ;
24118 unsigned long __cil_tmp11 ;
24119 int __cil_tmp12 ;
24120 int __cil_tmp13 ;
24121 int __cil_tmp14 ;
24122 int __cil_tmp15 ;
24123 int __cil_tmp16 ;
24124 int __cil_tmp17 ;
24125 unsigned long __cil_tmp18 ;
24126 int __cil_tmp19 ;
24127
24128 {
24129 {
24130#line 4102
24131 result = (u8 )0;
24132#line 4105
24133 __cil_tmp6 = (u8 )6;
24134#line 4105
24135 trms1040_write_cmd(io_port, __cil_tmp6, addr);
24136#line 4108
24137 i = 0;
24138 }
24139 {
24140#line 4108
24141 while (1) {
24142 while_continue: ;
24143
24144#line 4108
24145 if (i < 8) {
24146
24147 } else {
24148#line 4108
24149 goto while_break;
24150 }
24151 {
24152#line 4109
24153 __cil_tmp7 = io_port + 214UL;
24154#line 4109
24155 __cil_tmp8 = (int )__cil_tmp7;
24156#line 4109
24157 outb((unsigned char)3, __cil_tmp8);
24158#line 4110
24159 trms1040_wait_30us(io_port);
24160#line 4111
24161 __cil_tmp9 = io_port + 214UL;
24162#line 4111
24163 __cil_tmp10 = (int )__cil_tmp9;
24164#line 4111
24165 outb((unsigned char)1, __cil_tmp10);
24166#line 4114
24167 __cil_tmp11 = io_port + 214UL;
24168#line 4114
24169 __cil_tmp12 = (int )__cil_tmp11;
24170#line 4114
24171 read_byte = inb(__cil_tmp12);
24172#line 4115
24173 __cil_tmp13 = (int )result;
24174#line 4115
24175 __cil_tmp14 = __cil_tmp13 << 1;
24176#line 4115
24177 result = (u8 )__cil_tmp14;
24178 }
24179 {
24180#line 4116
24181 __cil_tmp15 = (int )read_byte;
24182#line 4116
24183 if (__cil_tmp15 & 4) {
24184#line 4117
24185 __cil_tmp16 = (int )result;
24186#line 4117
24187 __cil_tmp17 = __cil_tmp16 | 1;
24188#line 4117
24189 result = (u8 )__cil_tmp17;
24190 } else {
24191
24192 }
24193 }
24194 {
24195#line 4119
24196 trms1040_wait_30us(io_port);
24197#line 4108
24198 i = i + 1;
24199 }
24200 }
24201 while_break___0: ;
24202 }
24203
24204 while_break:
24205 {
24206#line 4123
24207 __cil_tmp18 = io_port + 214UL;
24208#line 4123
24209 __cil_tmp19 = (int )__cil_tmp18;
24210#line 4123
24211 outb((unsigned char)0, __cil_tmp19);
24212 }
24213#line 4124
24214 return (result);
24215}
24216}
24217#line 4136
24218static void trms1040_read_all(struct NvRamType *eeprom , unsigned long io_port ) __attribute__((__section__(".devinit.text"),
24219__no_instrument_function__)) ;
24220#line 4136
24221static void trms1040_read_all(struct NvRamType *eeprom , unsigned long io_port ) __attribute__((__section__(".devinit.text"),
24222__no_instrument_function__)) ;
24223#line 4136 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24224static void trms1040_read_all(struct NvRamType *eeprom , unsigned long io_port )
24225{ u8 *b_eeprom ;
24226 u8 addr ;
24227 unsigned char tmp___7 ;
24228 unsigned char tmp___8 ;
24229 unsigned long __cil_tmp7 ;
24230 int __cil_tmp8 ;
24231 int __cil_tmp9 ;
24232 int __cil_tmp10 ;
24233 unsigned char __cil_tmp11 ;
24234 unsigned long __cil_tmp12 ;
24235 int __cil_tmp13 ;
24236 int __cil_tmp14 ;
24237 int __cil_tmp15 ;
24238 int __cil_tmp16 ;
24239 unsigned long __cil_tmp17 ;
24240 int __cil_tmp18 ;
24241 int __cil_tmp19 ;
24242 int __cil_tmp20 ;
24243 unsigned char __cil_tmp21 ;
24244 unsigned long __cil_tmp22 ;
24245 int __cil_tmp23 ;
24246
24247 {
24248 {
24249#line 4138
24250 b_eeprom = (u8 *)eeprom;
24251#line 4142
24252 __cil_tmp7 = io_port + 212UL;
24253#line 4142
24254 __cil_tmp8 = (int )__cil_tmp7;
24255#line 4142
24256 tmp___7 = inb(__cil_tmp8);
24257#line 4142
24258 __cil_tmp9 = (int )tmp___7;
24259#line 4142
24260 __cil_tmp10 = __cil_tmp9 | 16;
24261#line 4142
24262 __cil_tmp11 = (unsigned char )__cil_tmp10;
24263#line 4142
24264 __cil_tmp12 = io_port + 212UL;
24265#line 4142
24266 __cil_tmp13 = (int )__cil_tmp12;
24267#line 4142
24268 outb(__cil_tmp11, __cil_tmp13);
24269#line 4146
24270 addr = (u8 )0;
24271 }
24272 {
24273#line 4146
24274 while (1) {
24275 while_continue: ;
24276
24277 {
24278#line 4146
24279 __cil_tmp14 = (int )addr;
24280#line 4146
24281 if (__cil_tmp14 < 128) {
24282
24283 } else {
24284#line 4146
24285 goto while_break;
24286 }
24287 }
24288 {
24289#line 4147
24290 *b_eeprom = trms1040_get_data(io_port, addr);
24291#line 4146
24292 __cil_tmp15 = (int )addr;
24293#line 4146
24294 __cil_tmp16 = __cil_tmp15 + 1;
24295#line 4146
24296 addr = (u8 )__cil_tmp16;
24297#line 4146
24298 b_eeprom = b_eeprom + 1;
24299 }
24300 }
24301 while_break___0: ;
24302 }
24303
24304 while_break:
24305 {
24306#line 4150
24307 __cil_tmp17 = io_port + 212UL;
24308#line 4150
24309 __cil_tmp18 = (int )__cil_tmp17;
24310#line 4150
24311 tmp___8 = inb(__cil_tmp18);
24312#line 4150
24313 __cil_tmp19 = (int )tmp___8;
24314#line 4150
24315 __cil_tmp20 = __cil_tmp19 & -17;
24316#line 4150
24317 __cil_tmp21 = (unsigned char )__cil_tmp20;
24318#line 4150
24319 __cil_tmp22 = io_port + 212UL;
24320#line 4150
24321 __cil_tmp23 = (int )__cil_tmp22;
24322#line 4150
24323 outb(__cil_tmp21, __cil_tmp23);
24324 }
24325#line 4152
24326 return;
24327}
24328}
24329#line 4166
24330static void check_eeprom(struct NvRamType *eeprom , unsigned long io_port ) __attribute__((__section__(".devinit.text"),
24331__no_instrument_function__)) ;
24332#line 4166
24333static void check_eeprom(struct NvRamType *eeprom , unsigned long io_port ) __attribute__((__section__(".devinit.text"),
24334__no_instrument_function__)) ;
24335#line 4166 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24336static void check_eeprom(struct NvRamType *eeprom , unsigned long io_port )
24337{ u16 *w_eeprom ;
24338 u16 w_addr ;
24339 u16 cksum ;
24340 u32 d_addr ;
24341 u32 *d_eeprom ;
24342 u32 *tmp___7 ;
24343 u32 *tmp___8 ;
24344 int __cil_tmp10 ;
24345 u16 __cil_tmp11 ;
24346 int __cil_tmp12 ;
24347 int __cil_tmp13 ;
24348 int __cil_tmp14 ;
24349 int __cil_tmp15 ;
24350 int __cil_tmp16 ;
24351 int __cil_tmp17 ;
24352 int __cil_tmp18 ;
24353 int __cil_tmp19 ;
24354 int __cil_tmp20 ;
24355 int __cil_tmp21 ;
24356 struct NVRamTarget *__cil_tmp22 ;
24357 int __cil_tmp23 ;
24358 u16 __cil_tmp24 ;
24359 int __cil_tmp25 ;
24360 int __cil_tmp26 ;
24361 int __cil_tmp27 ;
24362 int __cil_tmp28 ;
24363 int __cil_tmp29 ;
24364 int __cil_tmp30 ;
24365 int __cil_tmp31 ;
24366
24367 {
24368 {
24369#line 4168
24370 w_eeprom = (u16 *)eeprom;
24371#line 4174
24372 trms1040_read_all(eeprom, io_port);
24373#line 4176
24374 cksum = (u16 )0;
24375#line 4177
24376 w_addr = (u16 )0;
24377#line 4177
24378 w_eeprom = (u16 *)eeprom;
24379 }
24380 {
24381#line 4177
24382 while (1) {
24383 while_continue: ;
24384
24385 {
24386#line 4177
24387 __cil_tmp10 = (int )w_addr;
24388#line 4177
24389 if (__cil_tmp10 < 64) {
24390
24391 } else {
24392#line 4177
24393 goto while_break;
24394 }
24395 }
24396#line 4179
24397 __cil_tmp11 = *w_eeprom;
24398#line 4179
24399 __cil_tmp12 = (int )__cil_tmp11;
24400#line 4179
24401 __cil_tmp13 = (int )cksum;
24402#line 4179
24403 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
24404#line 4179
24405 cksum = (u16 )__cil_tmp14;
24406#line 4177
24407 __cil_tmp15 = (int )w_addr;
24408#line 4177
24409 __cil_tmp16 = __cil_tmp15 + 1;
24410#line 4177
24411 w_addr = (u16 )__cil_tmp16;
24412#line 4177
24413 w_eeprom = w_eeprom + 1;
24414 }
24415 while_break___3: ;
24416 }
24417
24418 while_break: ;
24419 {
24420#line 4180
24421 __cil_tmp17 = (int )cksum;
24422#line 4180
24423 if (__cil_tmp17 != 4660) {
24424 {
24425#line 4185
24426 printk("<4>dc395x: EEProm checksum error: using default values and options.\n");
24427#line 4187
24428 eeprom->sub_vendor_id[0] = (u8 )7649;
24429#line 4188
24430 __cil_tmp18 = 7649 >> 8;
24431#line 4188
24432 eeprom->sub_vendor_id[1] = (u8 )__cil_tmp18;
24433#line 4189
24434 eeprom->sub_sys_id[0] = (u8 )913;
24435#line 4190
24436 __cil_tmp19 = 913 >> 8;
24437#line 4190
24438 eeprom->sub_sys_id[1] = (u8 )__cil_tmp19;
24439#line 4192
24440 eeprom->sub_class = (u8 )0;
24441#line 4193
24442 eeprom->vendor_id[0] = (u8 )7649;
24443#line 4194
24444 __cil_tmp20 = 7649 >> 8;
24445#line 4194
24446 eeprom->vendor_id[1] = (u8 )__cil_tmp20;
24447#line 4195
24448 eeprom->device_id[0] = (u8 )913;
24449#line 4196
24450 __cil_tmp21 = 913 >> 8;
24451#line 4196
24452 eeprom->device_id[1] = (u8 )__cil_tmp21;
24453#line 4198
24454 eeprom->reserved = (u8 )0;
24455#line 4200
24456 d_addr = (u32 )0;
24457#line 4200
24458 __cil_tmp22 = & eeprom->target[0];
24459#line 4200
24460 d_eeprom = (u32 *)__cil_tmp22;
24461 }
24462 {
24463#line 4200
24464 while (1) {
24465 while_continue___0: ;
24466
24467#line 4200
24468 if (d_addr < 16U) {
24469
24470 } else {
24471#line 4200
24472 goto while_break___0;
24473 }
24474#line 4202
24475 *d_eeprom = (u32 )119;
24476#line 4200
24477 d_addr = d_addr + 1U;
24478#line 4200
24479 d_eeprom = d_eeprom + 1;
24480 }
24481 while_break___4: ;
24482 }
24483
24484 while_break___0:
24485#line 4204
24486 tmp___7 = d_eeprom;
24487#line 4204
24488 d_eeprom = d_eeprom + 1;
24489#line 4204
24490 *tmp___7 = (u32 )67112711;
24491#line 4205
24492 tmp___8 = d_eeprom;
24493#line 4205
24494 d_eeprom = d_eeprom + 1;
24495#line 4205
24496 *tmp___8 = (u32 )21;
24497#line 4206
24498 d_addr = (u32 )0;
24499 {
24500#line 4206
24501 while (1) {
24502 while_continue___1: ;
24503
24504#line 4206
24505 if (d_addr < 12U) {
24506
24507 } else {
24508#line 4206
24509 goto while_break___1;
24510 }
24511#line 4207
24512 *d_eeprom = (u32 )0;
24513#line 4206
24514 d_addr = d_addr + 1U;
24515#line 4206
24516 d_eeprom = d_eeprom + 1;
24517 }
24518 while_break___5: ;
24519 }
24520
24521 while_break___1:
24522 {
24523#line 4210
24524 set_safe_settings();
24525#line 4211
24526 fix_settings();
24527#line 4212
24528 eeprom_override(eeprom);
24529#line 4214
24530 eeprom->cksum = (u16 )0;
24531#line 4215
24532 w_addr = (u16 )0;
24533#line 4215
24534 cksum = (u16 )0;
24535#line 4215
24536 w_eeprom = (u16 *)eeprom;
24537 }
24538 {
24539#line 4215
24540 while (1) {
24541 while_continue___2: ;
24542
24543 {
24544#line 4215
24545 __cil_tmp23 = (int )w_addr;
24546#line 4215
24547 if (__cil_tmp23 < 63) {
24548
24549 } else {
24550#line 4215
24551 goto while_break___2;
24552 }
24553 }
24554#line 4217
24555 __cil_tmp24 = *w_eeprom;
24556#line 4217
24557 __cil_tmp25 = (int )__cil_tmp24;
24558#line 4217
24559 __cil_tmp26 = (int )cksum;
24560#line 4217
24561 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
24562#line 4217
24563 cksum = (u16 )__cil_tmp27;
24564#line 4215
24565 __cil_tmp28 = (int )w_addr;
24566#line 4215
24567 __cil_tmp29 = __cil_tmp28 + 1;
24568#line 4215
24569 w_addr = (u16 )__cil_tmp29;
24570#line 4215
24571 w_eeprom = w_eeprom + 1;
24572 }
24573 while_break___6: ;
24574 }
24575
24576 while_break___2:
24577 {
24578#line 4219
24579 __cil_tmp30 = (int )cksum;
24580#line 4219
24581 __cil_tmp31 = 4660 - __cil_tmp30;
24582#line 4219
24583 *w_eeprom = (u16 )__cil_tmp31;
24584#line 4220
24585 trms1040_write_all(eeprom, io_port);
24586#line 4221
24587 eeprom->delay_time = (u8 )cfg_data[5].value;
24588 }
24589 } else {
24590 {
24591#line 4223
24592 set_safe_settings();
24593#line 4224
24594 eeprom_index_to_delay(eeprom);
24595#line 4225
24596 eeprom_override(eeprom);
24597 }
24598 }
24599 }
24600#line 4227
24601 return;
24602}
24603}
24604#line 4236
24605static void print_eeprom_settings(struct NvRamType *eeprom ) __attribute__((__section__(".devinit.text"),
24606__no_instrument_function__)) ;
24607#line 4236
24608static void print_eeprom_settings(struct NvRamType *eeprom ) __attribute__((__section__(".devinit.text"),
24609__no_instrument_function__)) ;
24610#line 4236 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24611static void print_eeprom_settings(struct NvRamType *eeprom )
24612{ u8 __cil_tmp2 ;
24613 int __cil_tmp3 ;
24614 u8 __cil_tmp4 ;
24615 int __cil_tmp5 ;
24616 int __cil_tmp6 ;
24617 int __cil_tmp7 ;
24618 int __cil_tmp8 ;
24619 int __cil_tmp9 ;
24620 u8 __cil_tmp10 ;
24621 int __cil_tmp11 ;
24622 u8 __cil_tmp12 ;
24623 int __cil_tmp13 ;
24624 u8 __cil_tmp14 ;
24625 int __cil_tmp15 ;
24626 u8 __cil_tmp16 ;
24627 int __cil_tmp17 ;
24628 int __cil_tmp18 ;
24629 u8 __cil_tmp19 ;
24630 int __cil_tmp20 ;
24631
24632 {
24633 {
24634#line 4238
24635 __cil_tmp2 = eeprom->scsi_id;
24636#line 4238
24637 __cil_tmp3 = (int )__cil_tmp2;
24638#line 4238
24639 __cil_tmp4 = eeprom->target[0].period;
24640#line 4238
24641 __cil_tmp5 = (int )__cil_tmp4;
24642#line 4238
24643 __cil_tmp6 = (int )clock_speed[eeprom->target[0].period];
24644#line 4238
24645 __cil_tmp7 = __cil_tmp6 / 10;
24646#line 4238
24647 __cil_tmp8 = (int )clock_speed[eeprom->target[0].period];
24648#line 4238
24649 __cil_tmp9 = __cil_tmp8 % 10;
24650#line 4238
24651 __cil_tmp10 = eeprom->target[0].cfg0;
24652#line 4238
24653 __cil_tmp11 = (int )__cil_tmp10;
24654#line 4238
24655 printk("<6>dc395x: Used settings: AdapterID=%02i, Speed=%i(%02i.%01iMHz), dev_mode=0x%02x\n",
24656 __cil_tmp3, __cil_tmp5, __cil_tmp7, __cil_tmp9, __cil_tmp11);
24657#line 4244
24658 __cil_tmp12 = eeprom->channel_cfg;
24659#line 4244
24660 __cil_tmp13 = (int )__cil_tmp12;
24661#line 4244
24662 __cil_tmp14 = eeprom->max_tag;
24663#line 4244
24664 __cil_tmp15 = (int )__cil_tmp14;
24665#line 4244
24666 __cil_tmp16 = eeprom->max_tag;
24667#line 4244
24668 __cil_tmp17 = (int )__cil_tmp16;
24669#line 4244
24670 __cil_tmp18 = 1 << __cil_tmp17;
24671#line 4244
24672 __cil_tmp19 = eeprom->delay_time;
24673#line 4244
24674 __cil_tmp20 = (int )__cil_tmp19;
24675#line 4244
24676 printk("<6>dc395x: AdaptMode=0x%02x, Tags=%i(%02i), DelayReset=%is\n",
24677 __cil_tmp13, __cil_tmp15, __cil_tmp18, __cil_tmp20);
24678 }
24679#line 4247
24680 return;
24681}
24682}
24683#line 4251 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24684static void adapter_sg_tables_free(struct AdapterCtlBlk *acb )
24685{ int i ;
24686 unsigned int srbs_per_page ;
24687 unsigned long __cil_tmp4 ;
24688 unsigned long __cil_tmp5 ;
24689 unsigned long __cil_tmp6 ;
24690 struct SGentry *__cil_tmp7 ;
24691 void const *__cil_tmp8 ;
24692 unsigned int __cil_tmp9 ;
24693 unsigned int __cil_tmp10 ;
24694
24695 {
24696#line 4254
24697 __cil_tmp4 = 8UL * 64UL;
24698#line 4254
24699 __cil_tmp5 = 1UL << 12;
24700#line 4254
24701 __cil_tmp6 = __cil_tmp5 / __cil_tmp4;
24702#line 4254
24703 srbs_per_page = (unsigned int )__cil_tmp6;
24704#line 4256
24705 i = 0;
24706 {
24707#line 4256
24708 while (1) {
24709 while_continue: ;
24710
24711#line 4256
24712 if (i < 63) {
24713
24714 } else {
24715#line 4256
24716 goto while_break;
24717 }
24718 {
24719#line 4257
24720 __cil_tmp7 = acb->srb_array[i].segment_x;
24721#line 4257
24722 __cil_tmp8 = (void const *)__cil_tmp7;
24723#line 4257
24724 kfree(__cil_tmp8);
24725#line 4256
24726 __cil_tmp9 = (unsigned int )i;
24727#line 4256
24728 __cil_tmp10 = __cil_tmp9 + srbs_per_page;
24729#line 4256
24730 i = (int )__cil_tmp10;
24731 }
24732 }
24733 while_break___0: ;
24734 }
24735
24736 while_break: ;
24737#line 4258
24738 return;
24739}
24740}
24741#line 4264
24742static int adapter_sg_tables_alloc(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
24743__no_instrument_function__)) ;
24744#line 4264
24745static int adapter_sg_tables_alloc(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
24746__no_instrument_function__)) ;
24747#line 4264 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24748static int adapter_sg_tables_alloc(struct AdapterCtlBlk *acb )
24749{ unsigned int mem_needed ;
24750 int pages ;
24751 unsigned int srbs_per_page ;
24752 int srb_idx ;
24753 unsigned int i ;
24754 struct SGentry *ptr ;
24755 void *tmp___7 ;
24756 int tmp___8 ;
24757 unsigned int tmp___9 ;
24758 int tmp___10 ;
24759 unsigned long __cil_tmp12 ;
24760 unsigned long __cil_tmp13 ;
24761 unsigned long __cil_tmp14 ;
24762 unsigned long __cil_tmp15 ;
24763 unsigned long __cil_tmp16 ;
24764 unsigned long __cil_tmp17 ;
24765 unsigned long __cil_tmp18 ;
24766 unsigned long __cil_tmp19 ;
24767 unsigned long __cil_tmp20 ;
24768 unsigned long __cil_tmp21 ;
24769 unsigned long __cil_tmp22 ;
24770 void *__cil_tmp23 ;
24771 unsigned long __cil_tmp24 ;
24772 unsigned int __cil_tmp25 ;
24773 unsigned int __cil_tmp26 ;
24774
24775 {
24776#line 4266
24777 __cil_tmp12 = 8UL * 64UL;
24778#line 4266
24779 __cil_tmp13 = 64UL * __cil_tmp12;
24780#line 4266
24781 mem_needed = (unsigned int )__cil_tmp13;
24782#line 4268
24783 __cil_tmp14 = 1UL << 12;
24784#line 4268
24785 __cil_tmp15 = 1UL << 12;
24786#line 4268
24787 __cil_tmp16 = __cil_tmp15 - 1UL;
24788#line 4268
24789 __cil_tmp17 = (unsigned long )mem_needed;
24790#line 4268
24791 __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
24792#line 4268
24793 __cil_tmp19 = __cil_tmp18 / __cil_tmp14;
24794#line 4268
24795 pages = (int )__cil_tmp19;
24796#line 4269
24797 __cil_tmp20 = 8UL * 64UL;
24798#line 4269
24799 __cil_tmp21 = 1UL << 12;
24800#line 4269
24801 __cil_tmp22 = __cil_tmp21 / __cil_tmp20;
24802#line 4269
24803 srbs_per_page = (unsigned int )__cil_tmp22;
24804#line 4270
24805 srb_idx = 0;
24806#line 4271
24807 i = 0U;
24808#line 4272
24809 ptr = ptr;
24810#line 4274
24811 i = 0U;
24812 {
24813#line 4274
24814 while (1) {
24815 while_continue: ;
24816
24817#line 4274
24818 if (i < 63U) {
24819
24820 } else {
24821#line 4274
24822 goto while_break;
24823 }
24824#line 4275
24825 __cil_tmp23 = (void *)0;
24826#line 4275
24827 acb->srb_array[i].segment_x = (struct SGentry *)__cil_tmp23;
24828#line 4274
24829 i = i + 1U;
24830 }
24831 while_break___4: ;
24832 }
24833
24834 while_break: ;
24835 {
24836#line 4277
24837 while (1) {
24838 while_continue___0: ;
24839
24840#line 4277
24841 goto while_break___0;
24842 }
24843 while_break___5: ;
24844 }
24845
24846 while_break___0: ;
24847 {
24848#line 4278
24849 while (1) {
24850 while_continue___1: ;
24851#line 4278
24852 tmp___10 = pages;
24853#line 4278
24854 pages = pages - 1;
24855#line 4278
24856 if (tmp___10) {
24857
24858 } else {
24859#line 4278
24860 goto while_break___1;
24861 }
24862 {
24863#line 4279
24864 __cil_tmp24 = 1UL << 12;
24865#line 4279
24866 tmp___7 = kmalloc(__cil_tmp24, 208U);
24867#line 4279
24868 ptr = (struct SGentry *)tmp___7;
24869 }
24870#line 4280
24871 if (! ptr) {
24872 {
24873#line 4281
24874 adapter_sg_tables_free(acb);
24875 }
24876#line 4282
24877 return (1);
24878 } else {
24879
24880 }
24881 {
24882#line 4284
24883 while (1) {
24884 while_continue___2: ;
24885
24886#line 4284
24887 goto while_break___2;
24888 }
24889 while_break___7: ;
24890 }
24891
24892 while_break___2:
24893#line 4286
24894 i = 0U;
24895 {
24896#line 4287
24897 while (1) {
24898 while_continue___3: ;
24899
24900#line 4287
24901 if (i < srbs_per_page) {
24902#line 4287
24903 if (srb_idx < 63) {
24904
24905 } else {
24906#line 4287
24907 goto while_break___3;
24908 }
24909 } else {
24910#line 4287
24911 goto while_break___3;
24912 }
24913#line 4288
24914 tmp___8 = srb_idx;
24915#line 4288
24916 srb_idx = srb_idx + 1;
24917#line 4288
24918 tmp___9 = i;
24919#line 4288
24920 i = i + 1U;
24921#line 4288
24922 __cil_tmp25 = tmp___9 * 64U;
24923#line 4288
24924 acb->srb_array[tmp___8].segment_x = ptr + __cil_tmp25;
24925 }
24926 while_break___8: ;
24927 }
24928
24929 while_break___3: ;
24930 }
24931 while_break___6: ;
24932 }
24933
24934 while_break___1: ;
24935#line 4291
24936 if (i < srbs_per_page) {
24937#line 4292
24938 __cil_tmp26 = i * 64U;
24939#line 4292
24940 acb->srb.segment_x = ptr + __cil_tmp26;
24941 } else {
24942 {
24943#line 4295
24944 printk("<7>dc395x: No space for tmsrb SG table reserved?!\n");
24945 }
24946 }
24947#line 4296
24948 return (0);
24949}
24950}
24951#line 4310
24952static void adapter_print_config(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
24953__no_instrument_function__)) ;
24954#line 4310
24955static void adapter_print_config(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
24956__no_instrument_function__)) ;
24957#line 4310 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
24958static void adapter_print_config(struct AdapterCtlBlk *acb )
24959{ u8 bval ;
24960 unsigned char tmp___7 ;
24961 char const *tmp___8 ;
24962 char const *tmp___9 ;
24963 char const *tmp___10 ;
24964 unsigned char tmp___11 ;
24965 unsigned long __cil_tmp8 ;
24966 unsigned long __cil_tmp9 ;
24967 int __cil_tmp10 ;
24968 int __cil_tmp11 ;
24969 int __cil_tmp12 ;
24970 int __cil_tmp13 ;
24971 int __cil_tmp14 ;
24972 int __cil_tmp15 ;
24973 int __cil_tmp16 ;
24974 int __cil_tmp17 ;
24975 int __cil_tmp18 ;
24976 int __cil_tmp19 ;
24977 int __cil_tmp20 ;
24978 int __cil_tmp21 ;
24979 int __cil_tmp22 ;
24980 int __cil_tmp23 ;
24981 unsigned long __cil_tmp24 ;
24982 unsigned long __cil_tmp25 ;
24983 int __cil_tmp26 ;
24984 int __cil_tmp27 ;
24985 int __cil_tmp28 ;
24986 int __cil_tmp29 ;
24987 int __cil_tmp30 ;
24988
24989 {
24990 {
24991#line 4314
24992 __cil_tmp8 = acb->io_port_base;
24993#line 4314
24994 __cil_tmp9 = __cil_tmp8 + 213UL;
24995#line 4314
24996 __cil_tmp10 = (int )__cil_tmp9;
24997#line 4314
24998 tmp___7 = inb(__cil_tmp10);
24999#line 4314
25000 bval = tmp___7;
25001 }
25002 {
25003#line 4315
25004 __cil_tmp11 = (int )bval;
25005#line 4315
25006 if (__cil_tmp11 & 2) {
25007#line 4315
25008 tmp___8 = "(Wide) ";
25009 } else {
25010#line 4315
25011 tmp___8 = "";
25012 }
25013 }
25014 {
25015#line 4315
25016 printk("<6>dc395x: %sConnectors: ", tmp___8);
25017 }
25018 {
25019#line 4317
25020 __cil_tmp12 = (int )bval;
25021#line 4317
25022 __cil_tmp13 = __cil_tmp12 & 16;
25023#line 4317
25024 if (! __cil_tmp13) {
25025 {
25026#line 4318
25027 __cil_tmp14 = (int )bval;
25028#line 4318
25029 __cil_tmp15 = __cil_tmp14 & 64;
25030#line 4318
25031 if (! __cil_tmp15) {
25032#line 4318
25033 tmp___9 = "68";
25034 } else {
25035#line 4318
25036 tmp___9 = "50";
25037 }
25038 }
25039 {
25040#line 4318
25041 printk("ext%s ", tmp___9);
25042 }
25043 } else {
25044
25045 }
25046 }
25047 {
25048#line 4319
25049 __cil_tmp16 = (int )bval;
25050#line 4319
25051 __cil_tmp17 = __cil_tmp16 & 8;
25052#line 4319
25053 if (! __cil_tmp17) {
25054 {
25055#line 4320
25056 __cil_tmp18 = (int )bval;
25057#line 4320
25058 __cil_tmp19 = __cil_tmp18 & 32;
25059#line 4320
25060 if (! __cil_tmp19) {
25061#line 4320
25062 tmp___10 = "";
25063 } else {
25064#line 4320
25065 tmp___10 = "(50)";
25066 }
25067 }
25068 {
25069#line 4320
25070 printk("int68%s ", tmp___10);
25071 }
25072 } else {
25073
25074 }
25075 }
25076 {
25077#line 4321
25078 __cil_tmp20 = (int )bval;
25079#line 4321
25080 __cil_tmp21 = __cil_tmp20 & 4;
25081#line 4321
25082 if (! __cil_tmp21) {
25083 {
25084#line 4322
25085 printk("int50 ");
25086 }
25087 } else {
25088
25089 }
25090 }
25091 {
25092#line 4323
25093 __cil_tmp22 = (int )bval;
25094#line 4323
25095 __cil_tmp23 = __cil_tmp22 & 28;
25096#line 4323
25097 if (__cil_tmp23 == 0) {
25098 {
25099#line 4325
25100 printk(" Oops! (All 3?) ");
25101 }
25102 } else {
25103
25104 }
25105 }
25106 {
25107#line 4326
25108 __cil_tmp24 = acb->io_port_base;
25109#line 4326
25110 __cil_tmp25 = __cil_tmp24 + 212UL;
25111#line 4326
25112 __cil_tmp26 = (int )__cil_tmp25;
25113#line 4326
25114 tmp___11 = inb(__cil_tmp26);
25115#line 4326
25116 bval = tmp___11;
25117#line 4327
25118 printk(" Termination: ");
25119 }
25120 {
25121#line 4328
25122 __cil_tmp27 = (int )bval;
25123#line 4328
25124 if (__cil_tmp27 & 8) {
25125 {
25126#line 4329
25127 printk("Disabled\n");
25128 }
25129 } else {
25130 {
25131#line 4331
25132 __cil_tmp28 = (int )bval;
25133#line 4331
25134 if (__cil_tmp28 & 4) {
25135 {
25136#line 4332
25137 printk("Auto ");
25138 }
25139 } else {
25140
25141 }
25142 }
25143 {
25144#line 4333
25145 __cil_tmp29 = (int )bval;
25146#line 4333
25147 if (__cil_tmp29 & 2) {
25148 {
25149#line 4334
25150 printk("Low ");
25151 }
25152 } else {
25153
25154 }
25155 }
25156 {
25157#line 4335
25158 __cil_tmp30 = (int )bval;
25159#line 4335
25160 if (__cil_tmp30 & 1) {
25161 {
25162#line 4336
25163 printk("High ");
25164 }
25165 } else {
25166
25167 }
25168 }
25169 {
25170#line 4337
25171 printk("\n");
25172 }
25173 }
25174 }
25175#line 4339
25176 return;
25177}
25178}
25179#line 4370 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25180static struct lock_class_key __key___6 ;
25181#line 4371 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25182static struct lock_class_key __key___7 ;
25183#line 4354
25184static void adapter_init_params(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
25185__no_instrument_function__)) ;
25186#line 4354
25187static void adapter_init_params(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
25188__no_instrument_function__)) ;
25189#line 4354 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25190static void adapter_init_params(struct AdapterCtlBlk *acb )
25191{ struct NvRamType *eeprom ;
25192 int i ;
25193 struct list_head *__cil_tmp4 ;
25194 void *__cil_tmp5 ;
25195 void *__cil_tmp6 ;
25196 struct list_head *__cil_tmp7 ;
25197 struct timer_list *__cil_tmp8 ;
25198 struct timer_list *__cil_tmp9 ;
25199 u8 __cil_tmp10 ;
25200 int __cil_tmp11 ;
25201 int __cil_tmp12 ;
25202 u8 __cil_tmp13 ;
25203 int __cil_tmp14 ;
25204 u8 __cil_tmp15 ;
25205 int __cil_tmp16 ;
25206 struct Scsi_Host *__cil_tmp17 ;
25207 u8 __cil_tmp18 ;
25208 struct Scsi_Host *__cil_tmp19 ;
25209 int __cil_tmp20 ;
25210 int __cil_tmp21 ;
25211 u16 __cil_tmp22 ;
25212 int __cil_tmp23 ;
25213 int __cil_tmp24 ;
25214 struct ScsiReqBlk *__cil_tmp25 ;
25215
25216 {
25217 {
25218#line 4356
25219 eeprom = & acb->eeprom;
25220#line 4363
25221 __cil_tmp4 = & acb->dcb_list;
25222#line 4363
25223 INIT_LIST_HEAD(__cil_tmp4);
25224#line 4364
25225 __cil_tmp5 = (void *)0;
25226#line 4364
25227 acb->dcb_run_robin = (struct DeviceCtlBlk *)__cil_tmp5;
25228#line 4365
25229 __cil_tmp6 = (void *)0;
25230#line 4365
25231 acb->active_dcb = (struct DeviceCtlBlk *)__cil_tmp6;
25232#line 4367
25233 __cil_tmp7 = & acb->srb_free_list;
25234#line 4367
25235 INIT_LIST_HEAD(__cil_tmp7);
25236#line 4369
25237 acb->tmp_srb = & acb->srb;
25238 }
25239 {
25240#line 4370
25241 while (1) {
25242 while_continue: ;
25243 {
25244#line 4370
25245 __cil_tmp8 = & acb->waiting_timer;
25246#line 4370
25247 init_timer_key(__cil_tmp8, "&acb->waiting_timer", & __key___6);
25248 }
25249#line 4370
25250 goto while_break;
25251 }
25252 while_break___3: ;
25253 }
25254
25255 while_break: ;
25256 {
25257#line 4371
25258 while (1) {
25259 while_continue___0: ;
25260 {
25261#line 4371
25262 __cil_tmp9 = & acb->selto_timer;
25263#line 4371
25264 init_timer_key(__cil_tmp9, "&acb->selto_timer", & __key___7);
25265 }
25266#line 4371
25267 goto while_break___0;
25268 }
25269 while_break___4: ;
25270 }
25271
25272 while_break___0:
25273#line 4373
25274 acb->srb_count = (u16 )63;
25275#line 4375
25276 acb->sel_timeout = (u8 )153;
25277#line 4378
25278 __cil_tmp10 = eeprom->max_tag;
25279#line 4378
25280 __cil_tmp11 = (int )__cil_tmp10;
25281#line 4378
25282 __cil_tmp12 = 1 << __cil_tmp11;
25283#line 4378
25284 acb->tag_max_num = (u8 )__cil_tmp12;
25285 {
25286#line 4379
25287 __cil_tmp13 = acb->tag_max_num;
25288#line 4379
25289 __cil_tmp14 = (int )__cil_tmp13;
25290#line 4379
25291 if (__cil_tmp14 > 30) {
25292#line 4380
25293 acb->tag_max_num = (u8 )30;
25294 } else {
25295
25296 }
25297 }
25298#line 4382
25299 acb->acb_flag = (u8 )0;
25300#line 4383
25301 acb->gmode2 = eeprom->channel_cfg;
25302#line 4384
25303 acb->config = (u8 )0;
25304 {
25305#line 4386
25306 __cil_tmp15 = eeprom->channel_cfg;
25307#line 4386
25308 __cil_tmp16 = (int )__cil_tmp15;
25309#line 4386
25310 if (__cil_tmp16 & 32) {
25311#line 4387
25312 acb->lun_chk = (u8 )1;
25313 } else {
25314
25315 }
25316 }
25317#line 4388
25318 acb->scan_devices = (u8 )1;
25319#line 4390
25320 __cil_tmp17 = acb->scsi_host;
25321#line 4390
25322 __cil_tmp18 = eeprom->scsi_id;
25323#line 4390
25324 __cil_tmp17->this_id = (int )__cil_tmp18;
25325#line 4391
25326 __cil_tmp19 = acb->scsi_host;
25327#line 4391
25328 __cil_tmp20 = __cil_tmp19->this_id;
25329#line 4391
25330 __cil_tmp21 = 1 << __cil_tmp20;
25331#line 4391
25332 acb->hostid_bit = (u8 )__cil_tmp21;
25333#line 4393
25334 i = 0;
25335 {
25336#line 4393
25337 while (1) {
25338 while_continue___1: ;
25339
25340#line 4393
25341 if (i < 16) {
25342
25343 } else {
25344#line 4393
25345 goto while_break___1;
25346 }
25347#line 4394
25348 acb->dcb_map[i] = (u8 )0;
25349#line 4393
25350 i = i + 1;
25351 }
25352 while_break___5: ;
25353 }
25354
25355 while_break___1:
25356#line 4396
25357 acb->msg_len = (u8 )0;
25358#line 4399
25359 i = 0;
25360 {
25361#line 4399
25362 while (1) {
25363 while_continue___2: ;
25364
25365 {
25366#line 4399
25367 __cil_tmp22 = acb->srb_count;
25368#line 4399
25369 __cil_tmp23 = (int )__cil_tmp22;
25370#line 4399
25371 __cil_tmp24 = __cil_tmp23 - 1;
25372#line 4399
25373 if (i < __cil_tmp24) {
25374
25375 } else {
25376#line 4399
25377 goto while_break___2;
25378 }
25379 }
25380 {
25381#line 4400
25382 __cil_tmp25 = & acb->srb_array[i];
25383#line 4400
25384 srb_free_insert(acb, __cil_tmp25);
25385#line 4399
25386 i = i + 1;
25387 }
25388 }
25389 while_break___6: ;
25390 }
25391
25392 while_break___2: ;
25393#line 4401
25394 return;
25395}
25396}
25397#line 4416
25398static void adapter_init_scsi_host(struct Scsi_Host *host ) __attribute__((__section__(".devinit.text"),
25399__no_instrument_function__)) ;
25400#line 4416
25401static void adapter_init_scsi_host(struct Scsi_Host *host ) __attribute__((__section__(".devinit.text"),
25402__no_instrument_function__)) ;
25403#line 4416 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25404static void adapter_init_scsi_host(struct Scsi_Host *host )
25405{ struct AdapterCtlBlk *acb ;
25406 struct NvRamType *eeprom ;
25407 unsigned long *__cil_tmp4 ;
25408 u8 __cil_tmp5 ;
25409 unsigned long __cil_tmp6 ;
25410 unsigned long __cil_tmp7 ;
25411 u8 __cil_tmp8 ;
25412 unsigned int __cil_tmp9 ;
25413 unsigned int __cil_tmp10 ;
25414 unsigned int __cil_tmp11 ;
25415 unsigned int __cil_tmp12 ;
25416 u8 __cil_tmp13 ;
25417 int __cil_tmp14 ;
25418
25419 {
25420#line 4418
25421 __cil_tmp4 = & host->hostdata[0];
25422#line 4418
25423 acb = (struct AdapterCtlBlk *)__cil_tmp4;
25424#line 4419
25425 eeprom = & acb->eeprom;
25426#line 4421
25427 host->max_cmd_len = (unsigned short)24;
25428#line 4422
25429 host->can_queue = 32;
25430#line 4423
25431 host->cmd_per_lun = (short)16;
25432#line 4424
25433 __cil_tmp5 = eeprom->scsi_id;
25434#line 4424
25435 host->this_id = (int )__cil_tmp5;
25436#line 4425
25437 host->io_port = acb->io_port_base;
25438#line 4426
25439 __cil_tmp6 = acb->io_port_len;
25440#line 4426
25441 host->n_io_port = (unsigned char )__cil_tmp6;
25442#line 4427
25443 host->dma_channel = (unsigned char)255;
25444#line 4428
25445 __cil_tmp7 = acb->io_port_base;
25446#line 4428
25447 host->unique_id = (unsigned int )__cil_tmp7;
25448#line 4429
25449 host->irq = acb->irq_level;
25450#line 4430
25451 host->last_reset = (unsigned long )jiffies;
25452#line 4432
25453 host->max_id = 16U;
25454 {
25455#line 4433
25456 __cil_tmp8 = eeprom->scsi_id;
25457#line 4433
25458 __cil_tmp9 = (unsigned int )__cil_tmp8;
25459#line 4433
25460 __cil_tmp10 = host->max_id;
25461#line 4433
25462 __cil_tmp11 = __cil_tmp10 - 1U;
25463#line 4433
25464 if (__cil_tmp11 == __cil_tmp9) {
25465#line 4434
25466 __cil_tmp12 = host->max_id;
25467#line 4434
25468 host->max_id = __cil_tmp12 - 1U;
25469 } else {
25470
25471 }
25472 }
25473 {
25474#line 4437
25475 __cil_tmp13 = eeprom->channel_cfg;
25476#line 4437
25477 __cil_tmp14 = (int )__cil_tmp13;
25478#line 4437
25479 if (__cil_tmp14 & 32) {
25480#line 4438
25481 host->max_lun = 8U;
25482 } else {
25483#line 4440
25484 host->max_lun = 1U;
25485 }
25486 }
25487#line 4445
25488 return;
25489}
25490}
25491#line 4457
25492static void adapter_init_chip(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
25493__no_instrument_function__)) ;
25494#line 4457
25495static void adapter_init_chip(struct AdapterCtlBlk *acb ) __attribute__((__section__(".devinit.text"),
25496__no_instrument_function__)) ;
25497#line 4457 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25498static void adapter_init_chip(struct AdapterCtlBlk *acb )
25499{ struct NvRamType *eeprom ;
25500 unsigned char tmp___7 ;
25501 unsigned long __cil_tmp4 ;
25502 unsigned long __cil_tmp5 ;
25503 int __cil_tmp6 ;
25504 unsigned long __cil_tmp7 ;
25505 unsigned long __cil_tmp8 ;
25506 int __cil_tmp9 ;
25507 unsigned long __cil_tmp10 ;
25508 unsigned long __cil_tmp11 ;
25509 int __cil_tmp12 ;
25510 unsigned long __cil_tmp13 ;
25511 unsigned long __cil_tmp14 ;
25512 int __cil_tmp15 ;
25513 unsigned long __cil_tmp16 ;
25514 unsigned long __cil_tmp17 ;
25515 int __cil_tmp18 ;
25516 int __cil_tmp19 ;
25517 u8 __cil_tmp20 ;
25518 int __cil_tmp21 ;
25519 int __cil_tmp22 ;
25520 u8 __cil_tmp23 ;
25521 int __cil_tmp24 ;
25522 u8 __cil_tmp25 ;
25523 int __cil_tmp26 ;
25524 int __cil_tmp27 ;
25525 u8 __cil_tmp28 ;
25526 int __cil_tmp29 ;
25527 unsigned long __cil_tmp30 ;
25528 unsigned long __cil_tmp31 ;
25529 int __cil_tmp32 ;
25530 struct Scsi_Host *__cil_tmp33 ;
25531 u8 __cil_tmp34 ;
25532 int __cil_tmp35 ;
25533 int __cil_tmp36 ;
25534 unsigned long volatile __cil_tmp37 ;
25535 unsigned long volatile __cil_tmp38 ;
25536 unsigned long volatile __cil_tmp39 ;
25537 unsigned long volatile __cil_tmp40 ;
25538
25539 {
25540 {
25541#line 4459
25542 eeprom = & acb->eeprom;
25543#line 4462
25544 __cil_tmp4 = acb->io_port_base;
25545#line 4462
25546 __cil_tmp5 = __cil_tmp4 + 164UL;
25547#line 4462
25548 __cil_tmp6 = (int )__cil_tmp5;
25549#line 4462
25550 outb((unsigned char)0, __cil_tmp6);
25551#line 4463
25552 __cil_tmp7 = acb->io_port_base;
25553#line 4463
25554 __cil_tmp8 = __cil_tmp7 + 140UL;
25555#line 4463
25556 __cil_tmp9 = (int )__cil_tmp8;
25557#line 4463
25558 outb((unsigned char)0, __cil_tmp9);
25559#line 4466
25560 __cil_tmp10 = acb->io_port_base;
25561#line 4466
25562 __cil_tmp11 = __cil_tmp10 + 128UL;
25563#line 4466
25564 __cil_tmp12 = (int )__cil_tmp11;
25565#line 4466
25566 outw((unsigned short)16, __cil_tmp12);
25567#line 4469
25568 __cil_tmp13 = acb->io_port_base;
25569#line 4469
25570 __cil_tmp14 = __cil_tmp13 + 161UL;
25571#line 4469
25572 __cil_tmp15 = (int )__cil_tmp14;
25573#line 4469
25574 outb((unsigned char)16, __cil_tmp15);
25575#line 4470
25576 __const_udelay(85900UL);
25577#line 4473
25578 acb->config = (u8 )12;
25579#line 4474
25580 __cil_tmp16 = acb->io_port_base;
25581#line 4474
25582 __cil_tmp17 = __cil_tmp16 + 213UL;
25583#line 4474
25584 __cil_tmp18 = (int )__cil_tmp17;
25585#line 4474
25586 tmp___7 = inb(__cil_tmp18);
25587 }
25588 {
25589#line 4474
25590 __cil_tmp19 = (int )tmp___7;
25591#line 4474
25592 if (__cil_tmp19 & 2) {
25593#line 4475
25594 __cil_tmp20 = acb->config;
25595#line 4475
25596 __cil_tmp21 = (int )__cil_tmp20;
25597#line 4475
25598 __cil_tmp22 = __cil_tmp21 | 32;
25599#line 4475
25600 acb->config = (u8 )__cil_tmp22;
25601 } else {
25602
25603 }
25604 }
25605 {
25606#line 4477
25607 __cil_tmp23 = eeprom->channel_cfg;
25608#line 4477
25609 __cil_tmp24 = (int )__cil_tmp23;
25610#line 4477
25611 if (__cil_tmp24 & 4) {
25612#line 4478
25613 __cil_tmp25 = acb->config;
25614#line 4478
25615 __cil_tmp26 = (int )__cil_tmp25;
25616#line 4478
25617 __cil_tmp27 = __cil_tmp26 | 16;
25618#line 4478
25619 acb->config = (u8 )__cil_tmp27;
25620 } else {
25621
25622 }
25623 }
25624 {
25625#line 4480
25626 __cil_tmp28 = acb->config;
25627#line 4480
25628 __cil_tmp29 = (int )__cil_tmp28;
25629#line 4480
25630 if (__cil_tmp29 & 16) {
25631 {
25632#line 4481
25633 printk("<6>dc395x: Performing initial SCSI bus reset\n");
25634#line 4482
25635 __cil_tmp30 = acb->io_port_base;
25636#line 4482
25637 __cil_tmp31 = __cil_tmp30 + 128UL;
25638#line 4482
25639 __cil_tmp32 = (int )__cil_tmp31;
25640#line 4482
25641 outb((unsigned char)8, __cil_tmp32);
25642#line 4486
25643 __const_udelay(2147500UL);
25644#line 4488
25645 __cil_tmp33 = acb->scsi_host;
25646#line 4488
25647 __cil_tmp34 = acb->eeprom.delay_time;
25648#line 4488
25649 __cil_tmp35 = (int )__cil_tmp34;
25650#line 4488
25651 __cil_tmp36 = 250 * __cil_tmp35;
25652#line 4488
25653 __cil_tmp37 = (unsigned long volatile )__cil_tmp36;
25654#line 4488
25655 __cil_tmp38 = (unsigned long volatile )125;
25656#line 4488
25657 __cil_tmp39 = jiffies + __cil_tmp38;
25658#line 4488
25659 __cil_tmp40 = __cil_tmp39 + __cil_tmp37;
25660#line 4488
25661 __cil_tmp33->last_reset = (unsigned long )__cil_tmp40;
25662 }
25663 } else {
25664
25665 }
25666 }
25667#line 4494
25668 return;
25669}
25670}
25671#line 4510
25672static int adapter_init(struct AdapterCtlBlk *acb , unsigned long io_port , u32 io_port_len ,
25673 unsigned int irq ) __attribute__((__section__(".devinit.text"),
25674__no_instrument_function__)) ;
25675#line 4510
25676static int adapter_init(struct AdapterCtlBlk *acb , unsigned long io_port , u32 io_port_len ,
25677 unsigned int irq ) __attribute__((__section__(".devinit.text"),
25678__no_instrument_function__)) ;
25679#line 4510 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25680static int adapter_init(struct AdapterCtlBlk *acb , unsigned long io_port , u32 io_port_len ,
25681 unsigned int irq )
25682{ struct resource *tmp___7 ;
25683 int tmp___8 ;
25684 int tmp___9 ;
25685 int tmp ;
25686 int tmp___10 ;
25687 resource_size_t __cil_tmp10 ;
25688 resource_size_t __cil_tmp11 ;
25689 void *__cil_tmp12 ;
25690 struct NvRamType *__cil_tmp13 ;
25691 struct NvRamType *__cil_tmp14 ;
25692 struct Scsi_Host *__cil_tmp15 ;
25693 unsigned int __cil_tmp16 ;
25694 void *__cil_tmp17 ;
25695 unsigned long __cil_tmp18 ;
25696 resource_size_t __cil_tmp19 ;
25697 unsigned long __cil_tmp20 ;
25698 resource_size_t __cil_tmp21 ;
25699
25700 {
25701 {
25702#line 4513
25703 __cil_tmp10 = (resource_size_t )io_port;
25704#line 4513
25705 __cil_tmp11 = (resource_size_t )io_port_len;
25706#line 4513
25707 tmp___7 = __request_region(& ioport_resource, __cil_tmp10, __cil_tmp11, "dc395x",
25708 0);
25709 }
25710#line 4513
25711 if (tmp___7) {
25712
25713 } else {
25714 {
25715#line 4514
25716 printk("<3>dc395x: Failed to reserve IO region 0x%lx\n", io_port);
25717 }
25718#line 4515
25719 goto failed;
25720 }
25721 {
25722#line 4518
25723 acb->io_port_base = io_port;
25724#line 4519
25725 acb->io_port_len = (unsigned long )io_port_len;
25726#line 4521
25727 __cil_tmp12 = (void *)acb;
25728#line 4521
25729 tmp___10 = (int )request_irq(irq, & dc395x_interrupt, 128UL, "dc395x", __cil_tmp12);
25730#line 4521
25731 tmp = tmp___10;
25732#line 4521
25733 tmp___8 = tmp;
25734 }
25735#line 4521
25736 if (tmp___8) {
25737 {
25738#line 4523
25739 printk("<6>dc395x: Failed to register IRQ\n");
25740 }
25741#line 4524
25742 goto failed;
25743 } else {
25744
25745 }
25746 {
25747#line 4527
25748 acb->irq_level = irq;
25749#line 4530
25750 __cil_tmp13 = & acb->eeprom;
25751#line 4530
25752 check_eeprom(__cil_tmp13, io_port);
25753#line 4531
25754 __cil_tmp14 = & acb->eeprom;
25755#line 4531
25756 print_eeprom_settings(__cil_tmp14);
25757#line 4534
25758 adapter_init_params(acb);
25759#line 4537
25760 adapter_print_config(acb);
25761#line 4539
25762 tmp___9 = adapter_sg_tables_alloc(acb);
25763 }
25764#line 4539
25765 if (tmp___9) {
25766 {
25767#line 4540
25768 printk("<7>dc395x: Memory allocation for SG tables failed\n");
25769 }
25770#line 4541
25771 goto failed;
25772 } else {
25773
25774 }
25775 {
25776#line 4543
25777 __cil_tmp15 = acb->scsi_host;
25778#line 4543
25779 adapter_init_scsi_host(__cil_tmp15);
25780#line 4544
25781 adapter_init_chip(acb);
25782#line 4545
25783 set_basic_config(acb);
25784 }
25785 {
25786#line 4547
25787 while (1) {
25788 while_continue: ;
25789
25790#line 4547
25791 goto while_break;
25792 }
25793 while_break___0: ;
25794 }
25795
25796 while_break: ;
25797#line 4552
25798 return (0);
25799 failed:
25800#line 4555
25801 if (acb->irq_level) {
25802 {
25803#line 4556
25804 __cil_tmp16 = acb->irq_level;
25805#line 4556
25806 __cil_tmp17 = (void *)acb;
25807#line 4556
25808 free_irq(__cil_tmp16, __cil_tmp17);
25809 }
25810 } else {
25811
25812 }
25813#line 4557
25814 if (acb->io_port_base) {
25815 {
25816#line 4558
25817 __cil_tmp18 = acb->io_port_base;
25818#line 4558
25819 __cil_tmp19 = (resource_size_t )__cil_tmp18;
25820#line 4558
25821 __cil_tmp20 = acb->io_port_len;
25822#line 4558
25823 __cil_tmp21 = (resource_size_t )__cil_tmp20;
25824#line 4558
25825 __release_region(& ioport_resource, __cil_tmp19, __cil_tmp21);
25826 }
25827 } else {
25828
25829 }
25830 {
25831#line 4559
25832 adapter_sg_tables_free(acb);
25833 }
25834#line 4561
25835 return (1);
25836}
25837}
25838#line 4572 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25839static void adapter_uninit_chip(struct AdapterCtlBlk *acb )
25840{ unsigned long __cil_tmp2 ;
25841 unsigned long __cil_tmp3 ;
25842 int __cil_tmp4 ;
25843 unsigned long __cil_tmp5 ;
25844 unsigned long __cil_tmp6 ;
25845 int __cil_tmp7 ;
25846 u8 __cil_tmp8 ;
25847 int __cil_tmp9 ;
25848 unsigned long __cil_tmp10 ;
25849 unsigned long __cil_tmp11 ;
25850 int __cil_tmp12 ;
25851
25852 {
25853 {
25854#line 4575
25855 __cil_tmp2 = acb->io_port_base;
25856#line 4575
25857 __cil_tmp3 = __cil_tmp2 + 164UL;
25858#line 4575
25859 __cil_tmp4 = (int )__cil_tmp3;
25860#line 4575
25861 outb((unsigned char)0, __cil_tmp4);
25862#line 4576
25863 __cil_tmp5 = acb->io_port_base;
25864#line 4576
25865 __cil_tmp6 = __cil_tmp5 + 140UL;
25866#line 4576
25867 __cil_tmp7 = (int )__cil_tmp6;
25868#line 4576
25869 outb((unsigned char)0, __cil_tmp7);
25870 }
25871 {
25872#line 4579
25873 __cil_tmp8 = acb->config;
25874#line 4579
25875 __cil_tmp9 = (int )__cil_tmp8;
25876#line 4579
25877 if (__cil_tmp9 & 16) {
25878 {
25879#line 4580
25880 reset_scsi_bus(acb);
25881 }
25882 } else {
25883
25884 }
25885 }
25886 {
25887#line 4583
25888 __cil_tmp10 = acb->io_port_base;
25889#line 4583
25890 __cil_tmp11 = __cil_tmp10 + 132UL;
25891#line 4583
25892 __cil_tmp12 = (int )__cil_tmp11;
25893#line 4583
25894 inb(__cil_tmp12);
25895 }
25896#line 4584
25897 return;
25898}
25899}
25900#line 4595 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
25901static void adapter_uninit(struct AdapterCtlBlk *acb )
25902{ unsigned long flags ;
25903 raw_spinlock_t *tmp___7 ;
25904 int tmp___8 ;
25905 int tmp___9 ;
25906 struct Scsi_Host *__cil_tmp6 ;
25907 spinlock_t *__cil_tmp7 ;
25908 struct timer_list *__cil_tmp8 ;
25909 struct timer_list const *__cil_tmp9 ;
25910 struct timer_list *__cil_tmp10 ;
25911 struct timer_list *__cil_tmp11 ;
25912 struct timer_list const *__cil_tmp12 ;
25913 struct timer_list *__cil_tmp13 ;
25914 struct Scsi_Host *__cil_tmp14 ;
25915 spinlock_t *__cil_tmp15 ;
25916 unsigned int __cil_tmp16 ;
25917 void *__cil_tmp17 ;
25918 unsigned long __cil_tmp18 ;
25919 resource_size_t __cil_tmp19 ;
25920 unsigned long __cil_tmp20 ;
25921 resource_size_t __cil_tmp21 ;
25922
25923 {
25924 {
25925#line 4598
25926 while (1) {
25927 while_continue: ;
25928
25929 {
25930#line 4598
25931 while (1) {
25932 while_continue___0: ;
25933 {
25934#line 4598
25935 __cil_tmp6 = acb->scsi_host;
25936#line 4598
25937 __cil_tmp7 = __cil_tmp6->host_lock;
25938#line 4598
25939 tmp___7 = spinlock_check(__cil_tmp7);
25940#line 4598
25941 flags = _raw_spin_lock_irqsave(tmp___7);
25942 }
25943#line 4598
25944 goto while_break___0;
25945 }
25946 while_break___2: ;
25947 }
25948
25949 while_break___0: ;
25950#line 4598
25951 goto while_break;
25952 }
25953 while_break___1: ;
25954 }
25955
25956 while_break:
25957 {
25958#line 4601
25959 __cil_tmp8 = & acb->waiting_timer;
25960#line 4601
25961 __cil_tmp9 = (struct timer_list const *)__cil_tmp8;
25962#line 4601
25963 tmp___8 = timer_pending(__cil_tmp9);
25964 }
25965#line 4601
25966 if (tmp___8) {
25967 {
25968#line 4602
25969 __cil_tmp10 = & acb->waiting_timer;
25970#line 4602
25971 del_timer(__cil_tmp10);
25972 }
25973 } else {
25974
25975 }
25976 {
25977#line 4603
25978 __cil_tmp11 = & acb->selto_timer;
25979#line 4603
25980 __cil_tmp12 = (struct timer_list const *)__cil_tmp11;
25981#line 4603
25982 tmp___9 = timer_pending(__cil_tmp12);
25983 }
25984#line 4603
25985 if (tmp___9) {
25986 {
25987#line 4604
25988 __cil_tmp13 = & acb->selto_timer;
25989#line 4604
25990 del_timer(__cil_tmp13);
25991 }
25992 } else {
25993
25994 }
25995 {
25996#line 4606
25997 adapter_uninit_chip(acb);
25998#line 4607
25999 adapter_remove_and_free_all_devices(acb);
26000#line 4608
26001 __cil_tmp14 = acb->scsi_host;
26002#line 4608
26003 __cil_tmp15 = __cil_tmp14->host_lock;
26004#line 4608
26005 spin_unlock_irqrestore(__cil_tmp15, flags);
26006 }
26007#line 4610
26008 if (acb->irq_level) {
26009 {
26010#line 4611
26011 __cil_tmp16 = acb->irq_level;
26012#line 4611
26013 __cil_tmp17 = (void *)acb;
26014#line 4611
26015 free_irq(__cil_tmp16, __cil_tmp17);
26016 }
26017 } else {
26018
26019 }
26020#line 4612
26021 if (acb->io_port_base) {
26022 {
26023#line 4613
26024 __cil_tmp18 = acb->io_port_base;
26025#line 4613
26026 __cil_tmp19 = (resource_size_t )__cil_tmp18;
26027#line 4613
26028 __cil_tmp20 = acb->io_port_len;
26029#line 4613
26030 __cil_tmp21 = (resource_size_t )__cil_tmp20;
26031#line 4613
26032 __release_region(& ioport_resource, __cil_tmp19, __cil_tmp21);
26033 }
26034 } else {
26035
26036 }
26037 {
26038#line 4615
26039 adapter_sg_tables_free(acb);
26040 }
26041#line 4616
26042 return;
26043}
26044}
26045#line 4627 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
26046static int dc395x_proc_info(struct Scsi_Host *host , char *buffer , char **start ,
26047 off_t offset , int length , int inout )
26048{ struct AdapterCtlBlk *acb ;
26049 int spd ;
26050 int spd1 ;
26051 char *pos ;
26052 struct DeviceCtlBlk *dcb ;
26053 unsigned long flags ;
26054 int dev ;
26055 int tmp___7 ;
26056 int tmp___8 ;
26057 raw_spinlock_t *tmp___9 ;
26058 int tmp___10 ;
26059 char const *tmp___11 ;
26060 int tmp___12 ;
26061 int tmp___13 ;
26062 int tmp___14 ;
26063 int tmp___15 ;
26064 int tmp___16 ;
26065 int tmp___17 ;
26066 int tmp___18 ;
26067 unsigned char tmp___19 ;
26068 int tmp___20 ;
26069 int tmp___21 ;
26070 unsigned int tmp___22 ;
26071 int tmp___23 ;
26072 int tmp___24 ;
26073 int tmp___25 ;
26074 int tmp___26 ;
26075 struct list_head const *__mptr ;
26076 struct list_head const *__mptr___0 ;
26077 int nego_period ;
26078 int tmp___27 ;
26079 int tmp___28 ;
26080 int tmp___29 ;
26081 int tmp___30 ;
26082 int tmp___31 ;
26083 int tmp___32 ;
26084 int tmp___33 ;
26085 int tmp___34 ;
26086 int tmp___35 ;
26087 int tmp___36 ;
26088 int tmp___37 ;
26089 int tmp___38 ;
26090 int tmp___39 ;
26091 int tmp___40 ;
26092 int tmp___41 ;
26093 int tmp___42 ;
26094 int tmp___43 ;
26095 int tmp___44 ;
26096 int tmp___45 ;
26097 int tmp___46 ;
26098 int tmp___47 ;
26099 struct list_head const *__mptr___1 ;
26100 struct list_head const *__mptr___2 ;
26101 struct ScsiReqBlk *srb ;
26102 unsigned int tmp___48 ;
26103 int tmp___49 ;
26104 int tmp___50 ;
26105 struct list_head const *__mptr___3 ;
26106 struct list_head const *__mptr___4 ;
26107 int tmp___51 ;
26108 unsigned int tmp___52 ;
26109 int tmp___53 ;
26110 int tmp___54 ;
26111 struct list_head const *__mptr___5 ;
26112 struct list_head const *__mptr___6 ;
26113 int tmp___55 ;
26114 int tmp___56 ;
26115 int tmp___57 ;
26116 int tmp___58 ;
26117 unsigned long *__cil_tmp76 ;
26118 struct Scsi_Host *__cil_tmp77 ;
26119 spinlock_t *__cil_tmp78 ;
26120 unsigned int __cil_tmp79 ;
26121 u8 __cil_tmp80 ;
26122 int __cil_tmp81 ;
26123 unsigned long __cil_tmp82 ;
26124 unsigned int __cil_tmp83 ;
26125 u8 __cil_tmp84 ;
26126 int __cil_tmp85 ;
26127 int __cil_tmp86 ;
26128 int __cil_tmp87 ;
26129 unsigned int __cil_tmp88 ;
26130 unsigned int __cil_tmp89 ;
26131 int __cil_tmp90 ;
26132 u8 __cil_tmp91 ;
26133 int __cil_tmp92 ;
26134 unsigned long __cil_tmp93 ;
26135 unsigned long __cil_tmp94 ;
26136 int __cil_tmp95 ;
26137 int __cil_tmp96 ;
26138 u8 __cil_tmp97 ;
26139 int __cil_tmp98 ;
26140 struct list_head *__cil_tmp99 ;
26141 u8 __cil_tmp100 ;
26142 int __cil_tmp101 ;
26143 u8 __cil_tmp102 ;
26144 int __cil_tmp103 ;
26145 u8 __cil_tmp104 ;
26146 int __cil_tmp105 ;
26147 u8 __cil_tmp106 ;
26148 int __cil_tmp107 ;
26149 u8 __cil_tmp108 ;
26150 int __cil_tmp109 ;
26151 u8 __cil_tmp110 ;
26152 int __cil_tmp111 ;
26153 u8 __cil_tmp112 ;
26154 int __cil_tmp113 ;
26155 u8 __cil_tmp114 ;
26156 int __cil_tmp115 ;
26157 u8 __cil_tmp116 ;
26158 int __cil_tmp117 ;
26159 u8 __cil_tmp118 ;
26160 int __cil_tmp119 ;
26161 u8 __cil_tmp120 ;
26162 int __cil_tmp121 ;
26163 u8 __cil_tmp122 ;
26164 int __cil_tmp123 ;
26165 u8 __cil_tmp124 ;
26166 int __cil_tmp125 ;
26167 u8 __cil_tmp126 ;
26168 int __cil_tmp127 ;
26169 u8 __cil_tmp128 ;
26170 int __cil_tmp129 ;
26171 u8 __cil_tmp130 ;
26172 int __cil_tmp131 ;
26173 struct list_head *__cil_tmp132 ;
26174 struct DeviceCtlBlk *__cil_tmp133 ;
26175 struct list_head *__cil_tmp134 ;
26176 unsigned int __cil_tmp135 ;
26177 char *__cil_tmp136 ;
26178 char *__cil_tmp137 ;
26179 struct list_head *__cil_tmp138 ;
26180 unsigned long __cil_tmp139 ;
26181 struct list_head *__cil_tmp140 ;
26182 unsigned long __cil_tmp141 ;
26183 u8 __cil_tmp142 ;
26184 int __cil_tmp143 ;
26185 u8 __cil_tmp144 ;
26186 int __cil_tmp145 ;
26187 u8 __cil_tmp146 ;
26188 int __cil_tmp147 ;
26189 u8 __cil_tmp148 ;
26190 int __cil_tmp149 ;
26191 u8 __cil_tmp150 ;
26192 int __cil_tmp151 ;
26193 u8 __cil_tmp152 ;
26194 int __cil_tmp153 ;
26195 u8 __cil_tmp154 ;
26196 int __cil_tmp155 ;
26197 int __cil_tmp156 ;
26198 u8 __cil_tmp157 ;
26199 int __cil_tmp158 ;
26200 int __cil_tmp159 ;
26201 u8 __cil_tmp160 ;
26202 int __cil_tmp161 ;
26203 int __cil_tmp162 ;
26204 int __cil_tmp163 ;
26205 int __cil_tmp164 ;
26206 u8 __cil_tmp165 ;
26207 int __cil_tmp166 ;
26208 int __cil_tmp167 ;
26209 u16 __cil_tmp168 ;
26210 int __cil_tmp169 ;
26211 struct list_head *__cil_tmp170 ;
26212 struct DeviceCtlBlk *__cil_tmp171 ;
26213 struct list_head *__cil_tmp172 ;
26214 unsigned int __cil_tmp173 ;
26215 char *__cil_tmp174 ;
26216 char *__cil_tmp175 ;
26217 struct timer_list *__cil_tmp176 ;
26218 struct timer_list const *__cil_tmp177 ;
26219 struct list_head *__cil_tmp178 ;
26220 struct DeviceCtlBlk *__cil_tmp179 ;
26221 struct list_head *__cil_tmp180 ;
26222 unsigned int __cil_tmp181 ;
26223 char *__cil_tmp182 ;
26224 char *__cil_tmp183 ;
26225 struct list_head *__cil_tmp184 ;
26226 unsigned long __cil_tmp185 ;
26227 struct list_head *__cil_tmp186 ;
26228 unsigned long __cil_tmp187 ;
26229 struct list_head *__cil_tmp188 ;
26230 struct list_head const *__cil_tmp189 ;
26231 struct list_head *__cil_tmp190 ;
26232 u8 __cil_tmp191 ;
26233 int __cil_tmp192 ;
26234 u8 __cil_tmp193 ;
26235 int __cil_tmp194 ;
26236 struct list_head *__cil_tmp195 ;
26237 struct ScsiReqBlk *__cil_tmp196 ;
26238 struct list_head *__cil_tmp197 ;
26239 unsigned int __cil_tmp198 ;
26240 char *__cil_tmp199 ;
26241 char *__cil_tmp200 ;
26242 struct list_head *__cil_tmp201 ;
26243 unsigned long __cil_tmp202 ;
26244 struct list_head *__cil_tmp203 ;
26245 unsigned long __cil_tmp204 ;
26246 struct scsi_cmnd *__cil_tmp205 ;
26247 struct list_head *__cil_tmp206 ;
26248 struct ScsiReqBlk *__cil_tmp207 ;
26249 struct list_head *__cil_tmp208 ;
26250 unsigned int __cil_tmp209 ;
26251 char *__cil_tmp210 ;
26252 char *__cil_tmp211 ;
26253 struct list_head *__cil_tmp212 ;
26254 struct list_head const *__cil_tmp213 ;
26255 struct list_head *__cil_tmp214 ;
26256 u8 __cil_tmp215 ;
26257 int __cil_tmp216 ;
26258 u8 __cil_tmp217 ;
26259 int __cil_tmp218 ;
26260 struct list_head *__cil_tmp219 ;
26261 struct ScsiReqBlk *__cil_tmp220 ;
26262 struct list_head *__cil_tmp221 ;
26263 unsigned int __cil_tmp222 ;
26264 char *__cil_tmp223 ;
26265 char *__cil_tmp224 ;
26266 struct list_head *__cil_tmp225 ;
26267 unsigned long __cil_tmp226 ;
26268 struct list_head *__cil_tmp227 ;
26269 unsigned long __cil_tmp228 ;
26270 struct scsi_cmnd *__cil_tmp229 ;
26271 struct list_head *__cil_tmp230 ;
26272 struct ScsiReqBlk *__cil_tmp231 ;
26273 struct list_head *__cil_tmp232 ;
26274 unsigned int __cil_tmp233 ;
26275 char *__cil_tmp234 ;
26276 char *__cil_tmp235 ;
26277 struct list_head *__cil_tmp236 ;
26278 struct list_head const *__cil_tmp237 ;
26279 struct list_head *__cil_tmp238 ;
26280 struct list_head const *__cil_tmp239 ;
26281 struct list_head *__cil_tmp240 ;
26282 struct DeviceCtlBlk *__cil_tmp241 ;
26283 struct list_head *__cil_tmp242 ;
26284 unsigned int __cil_tmp243 ;
26285 char *__cil_tmp244 ;
26286 char *__cil_tmp245 ;
26287 struct Scsi_Host *__cil_tmp246 ;
26288 spinlock_t *__cil_tmp247 ;
26289 int __cil_tmp248 ;
26290 off_t __cil_tmp249 ;
26291 off_t __cil_tmp250 ;
26292 int __cil_tmp251 ;
26293 off_t __cil_tmp252 ;
26294 off_t __cil_tmp253 ;
26295 int __cil_tmp254 ;
26296 off_t __cil_tmp255 ;
26297 off_t __cil_tmp256 ;
26298
26299 {
26300#line 4630
26301 __cil_tmp76 = & host->hostdata[0];
26302#line 4630
26303 acb = (struct AdapterCtlBlk *)__cil_tmp76;
26304#line 4632
26305 pos = buffer;
26306#line 4637
26307 if (inout) {
26308#line 4638
26309 return (-1);
26310 } else {
26311
26312 }
26313 {
26314#line 4640
26315 tmp___7 = sprintf(pos, "Tekram DC395(U/UW/F), DC315(U) - ASIC TRM-S1040 PCI SCSI Host Adapter\n");
26316#line 4640
26317 pos = pos + tmp___7;
26318#line 4641
26319 tmp___8 = sprintf(pos, " Driver Version v2.05, 2004/03/08\n");
26320#line 4641
26321 pos = pos + tmp___8;
26322 }
26323 {
26324#line 4643
26325 while (1) {
26326 while_continue: ;
26327
26328 {
26329#line 4643
26330 while (1) {
26331 while_continue___0: ;
26332 {
26333#line 4643
26334 __cil_tmp77 = acb->scsi_host;
26335#line 4643
26336 __cil_tmp78 = __cil_tmp77->host_lock;
26337#line 4643
26338 tmp___9 = spinlock_check(__cil_tmp78);
26339#line 4643
26340 flags = _raw_spin_lock_irqsave(tmp___9);
26341 }
26342#line 4643
26343 goto while_break___0;
26344 }
26345 while_break___6: ;
26346 }
26347
26348 while_break___0: ;
26349#line 4643
26350 goto while_break;
26351 }
26352 while_break___5: ;
26353 }
26354
26355 while_break:
26356 {
26357#line 4645
26358 __cil_tmp79 = host->host_no;
26359#line 4645
26360 tmp___10 = sprintf(pos, "SCSI Host Nr %i, ", __cil_tmp79);
26361#line 4645
26362 pos = pos + tmp___10;
26363 }
26364 {
26365#line 4646
26366 __cil_tmp80 = acb->config;
26367#line 4646
26368 __cil_tmp81 = (int )__cil_tmp80;
26369#line 4646
26370 if (__cil_tmp81 & 32) {
26371#line 4646
26372 tmp___11 = "Wide";
26373 } else {
26374#line 4646
26375 tmp___11 = "";
26376 }
26377 }
26378 {
26379#line 4646
26380 tmp___12 = sprintf(pos, "DC395U/UW/F DC315/U %s\n", tmp___11);
26381#line 4646
26382 pos = pos + tmp___12;
26383#line 4648
26384 __cil_tmp82 = acb->io_port_base;
26385#line 4648
26386 tmp___13 = sprintf(pos, "io_port_base 0x%04lx, ", __cil_tmp82);
26387#line 4648
26388 pos = pos + tmp___13;
26389#line 4649
26390 __cil_tmp83 = acb->irq_level;
26391#line 4649
26392 tmp___14 = sprintf(pos, "irq_level 0x%04x, ", __cil_tmp83);
26393#line 4649
26394 pos = pos + tmp___14;
26395#line 4650
26396 __cil_tmp84 = acb->sel_timeout;
26397#line 4650
26398 __cil_tmp85 = (int )__cil_tmp84;
26399#line 4650
26400 __cil_tmp86 = 1638 * __cil_tmp85;
26401#line 4650
26402 __cil_tmp87 = __cil_tmp86 / 1000;
26403#line 4650
26404 tmp___15 = sprintf(pos, " SelTimeout %ims\n", __cil_tmp87);
26405#line 4650
26406 pos = pos + tmp___15;
26407#line 4652
26408 __cil_tmp88 = host->max_id;
26409#line 4652
26410 __cil_tmp89 = host->max_lun;
26411#line 4652
26412 tmp___16 = sprintf(pos, "MaxID %i, MaxLUN %i, ", __cil_tmp88, __cil_tmp89);
26413#line 4652
26414 pos = pos + tmp___16;
26415#line 4653
26416 __cil_tmp90 = host->this_id;
26417#line 4653
26418 tmp___17 = sprintf(pos, "AdapterID %i\n", __cil_tmp90);
26419#line 4653
26420 pos = pos + tmp___17;
26421#line 4655
26422 __cil_tmp91 = acb->tag_max_num;
26423#line 4655
26424 __cil_tmp92 = (int )__cil_tmp91;
26425#line 4655
26426 tmp___18 = sprintf(pos, "tag_max_num %i", __cil_tmp92);
26427#line 4655
26428 pos = pos + tmp___18;
26429#line 4657
26430 __cil_tmp93 = acb->io_port_base;
26431#line 4657
26432 __cil_tmp94 = __cil_tmp93 + 142UL;
26433#line 4657
26434 __cil_tmp95 = (int )__cil_tmp94;
26435#line 4657
26436 tmp___19 = inb(__cil_tmp95);
26437#line 4657
26438 __cil_tmp96 = (int )tmp___19;
26439#line 4657
26440 tmp___20 = sprintf(pos, ", FilterCfg 0x%02x", __cil_tmp96);
26441#line 4657
26442 pos = pos + tmp___20;
26443#line 4659
26444 __cil_tmp97 = acb->eeprom.delay_time;
26445#line 4659
26446 __cil_tmp98 = (int )__cil_tmp97;
26447#line 4659
26448 tmp___21 = sprintf(pos, ", DelayReset %is\n", __cil_tmp98);
26449#line 4659
26450 pos = pos + tmp___21;
26451#line 4662
26452 __cil_tmp99 = & acb->dcb_list;
26453#line 4662
26454 tmp___22 = list_size(__cil_tmp99);
26455#line 4662
26456 tmp___23 = sprintf(pos, "Nr of DCBs: %i\n", tmp___22);
26457#line 4662
26458 pos = pos + tmp___23;
26459#line 4663
26460 __cil_tmp100 = acb->dcb_map[0];
26461#line 4663
26462 __cil_tmp101 = (int )__cil_tmp100;
26463#line 4663
26464 __cil_tmp102 = acb->dcb_map[1];
26465#line 4663
26466 __cil_tmp103 = (int )__cil_tmp102;
26467#line 4663
26468 __cil_tmp104 = acb->dcb_map[2];
26469#line 4663
26470 __cil_tmp105 = (int )__cil_tmp104;
26471#line 4663
26472 __cil_tmp106 = acb->dcb_map[3];
26473#line 4663
26474 __cil_tmp107 = (int )__cil_tmp106;
26475#line 4663
26476 __cil_tmp108 = acb->dcb_map[4];
26477#line 4663
26478 __cil_tmp109 = (int )__cil_tmp108;
26479#line 4663
26480 __cil_tmp110 = acb->dcb_map[5];
26481#line 4663
26482 __cil_tmp111 = (int )__cil_tmp110;
26483#line 4663
26484 __cil_tmp112 = acb->dcb_map[6];
26485#line 4663
26486 __cil_tmp113 = (int )__cil_tmp112;
26487#line 4663
26488 __cil_tmp114 = acb->dcb_map[7];
26489#line 4663
26490 __cil_tmp115 = (int )__cil_tmp114;
26491#line 4663
26492 tmp___24 = sprintf(pos, "Map of attached LUNs: %02x %02x %02x %02x %02x %02x %02x %02x\n",
26493 __cil_tmp101, __cil_tmp103, __cil_tmp105, __cil_tmp107, __cil_tmp109,
26494 __cil_tmp111, __cil_tmp113, __cil_tmp115);
26495#line 4663
26496 pos = pos + tmp___24;
26497#line 4668
26498 __cil_tmp116 = acb->dcb_map[8];
26499#line 4668
26500 __cil_tmp117 = (int )__cil_tmp116;
26501#line 4668
26502 __cil_tmp118 = acb->dcb_map[9];
26503#line 4668
26504 __cil_tmp119 = (int )__cil_tmp118;
26505#line 4668
26506 __cil_tmp120 = acb->dcb_map[10];
26507#line 4668
26508 __cil_tmp121 = (int )__cil_tmp120;
26509#line 4668
26510 __cil_tmp122 = acb->dcb_map[11];
26511#line 4668
26512 __cil_tmp123 = (int )__cil_tmp122;
26513#line 4668
26514 __cil_tmp124 = acb->dcb_map[12];
26515#line 4668
26516 __cil_tmp125 = (int )__cil_tmp124;
26517#line 4668
26518 __cil_tmp126 = acb->dcb_map[13];
26519#line 4668
26520 __cil_tmp127 = (int )__cil_tmp126;
26521#line 4668
26522 __cil_tmp128 = acb->dcb_map[14];
26523#line 4668
26524 __cil_tmp129 = (int )__cil_tmp128;
26525#line 4668
26526 __cil_tmp130 = acb->dcb_map[15];
26527#line 4668
26528 __cil_tmp131 = (int )__cil_tmp130;
26529#line 4668
26530 tmp___25 = sprintf(pos, " %02x %02x %02x %02x %02x %02x %02x %02x\n",
26531 __cil_tmp117, __cil_tmp119, __cil_tmp121, __cil_tmp123, __cil_tmp125,
26532 __cil_tmp127, __cil_tmp129, __cil_tmp131);
26533#line 4668
26534 pos = pos + tmp___25;
26535#line 4674
26536 tmp___26 = sprintf(pos, "Un ID LUN Prty Sync Wide DsCn SndS TagQ nego_period SyncFreq SyncOffs MaxCmd\n");
26537#line 4674
26538 pos = pos + tmp___26;
26539#line 4677
26540 dev = 0;
26541#line 4678
26542 __cil_tmp132 = acb->dcb_list.next;
26543#line 4678
26544 __mptr = (struct list_head const *)__cil_tmp132;
26545#line 4678
26546 __cil_tmp133 = (struct DeviceCtlBlk *)0;
26547#line 4678
26548 __cil_tmp134 = & __cil_tmp133->list;
26549#line 4678
26550 __cil_tmp135 = (unsigned int )__cil_tmp134;
26551#line 4678
26552 __cil_tmp136 = (char *)__mptr;
26553#line 4678
26554 __cil_tmp137 = __cil_tmp136 - __cil_tmp135;
26555#line 4678
26556 dcb = (struct DeviceCtlBlk *)__cil_tmp137;
26557 }
26558 {
26559#line 4678
26560 while (1) {
26561 while_continue___1: ;
26562
26563 {
26564#line 4678
26565 __cil_tmp138 = & acb->dcb_list;
26566#line 4678
26567 __cil_tmp139 = (unsigned long )__cil_tmp138;
26568#line 4678
26569 __cil_tmp140 = & dcb->list;
26570#line 4678
26571 __cil_tmp141 = (unsigned long )__cil_tmp140;
26572#line 4678
26573 if (__cil_tmp141 != __cil_tmp139) {
26574
26575 } else {
26576#line 4678
26577 goto while_break___1;
26578 }
26579 }
26580 {
26581#line 4680
26582 __cil_tmp142 = dcb->target_id;
26583#line 4680
26584 __cil_tmp143 = (int )__cil_tmp142;
26585#line 4680
26586 __cil_tmp144 = dcb->target_lun;
26587#line 4680
26588 __cil_tmp145 = (int )__cil_tmp144;
26589#line 4680
26590 tmp___27 = sprintf(pos, "%02i %02i %02i ", dev, __cil_tmp143, __cil_tmp145);
26591#line 4680
26592 pos = pos + tmp___27;
26593 }
26594 {
26595#line 4682
26596 __cil_tmp146 = dcb->dev_mode;
26597#line 4682
26598 __cil_tmp147 = (int )__cil_tmp146;
26599#line 4682
26600 if (__cil_tmp147 & 1) {
26601 {
26602#line 4682
26603 tmp___28 = sprintf(pos, " Yes ");
26604#line 4682
26605 pos = pos + tmp___28;
26606 }
26607 } else {
26608 {
26609#line 4682
26610 tmp___29 = sprintf(pos, " No ");
26611#line 4682
26612 pos = pos + tmp___29;
26613 }
26614 }
26615 }
26616#line 4683
26617 if (dcb->sync_offset) {
26618 {
26619#line 4683
26620 tmp___30 = sprintf(pos, " Yes ");
26621#line 4683
26622 pos = pos + tmp___30;
26623 }
26624 } else {
26625 {
26626#line 4683
26627 tmp___31 = sprintf(pos, " No ");
26628#line 4683
26629 pos = pos + tmp___31;
26630 }
26631 }
26632 {
26633#line 4684
26634 __cil_tmp148 = dcb->sync_period;
26635#line 4684
26636 __cil_tmp149 = (int )__cil_tmp148;
26637#line 4684
26638 if (__cil_tmp149 & 16) {
26639 {
26640#line 4684
26641 tmp___32 = sprintf(pos, " Yes ");
26642#line 4684
26643 pos = pos + tmp___32;
26644 }
26645 } else {
26646 {
26647#line 4684
26648 tmp___33 = sprintf(pos, " No ");
26649#line 4684
26650 pos = pos + tmp___33;
26651 }
26652 }
26653 }
26654 {
26655#line 4685
26656 __cil_tmp150 = dcb->dev_mode;
26657#line 4685
26658 __cil_tmp151 = (int )__cil_tmp150;
26659#line 4685
26660 if (__cil_tmp151 & 4) {
26661 {
26662#line 4685
26663 tmp___34 = sprintf(pos, " Yes ");
26664#line 4685
26665 pos = pos + tmp___34;
26666 }
26667 } else {
26668 {
26669#line 4685
26670 tmp___35 = sprintf(pos, " No ");
26671#line 4685
26672 pos = pos + tmp___35;
26673 }
26674 }
26675 }
26676 {
26677#line 4686
26678 __cil_tmp152 = dcb->dev_mode;
26679#line 4686
26680 __cil_tmp153 = (int )__cil_tmp152;
26681#line 4686
26682 if (__cil_tmp153 & 8) {
26683 {
26684#line 4686
26685 tmp___36 = sprintf(pos, " Yes ");
26686#line 4686
26687 pos = pos + tmp___36;
26688 }
26689 } else {
26690 {
26691#line 4686
26692 tmp___37 = sprintf(pos, " No ");
26693#line 4686
26694 pos = pos + tmp___37;
26695 }
26696 }
26697 }
26698 {
26699#line 4687
26700 __cil_tmp154 = dcb->sync_mode;
26701#line 4687
26702 __cil_tmp155 = (int )__cil_tmp154;
26703#line 4687
26704 if (__cil_tmp155 & 32) {
26705 {
26706#line 4687
26707 tmp___38 = sprintf(pos, " Yes ");
26708#line 4687
26709 pos = pos + tmp___38;
26710 }
26711 } else {
26712 {
26713#line 4687
26714 tmp___39 = sprintf(pos, " No ");
26715#line 4687
26716 pos = pos + tmp___39;
26717 }
26718 }
26719 }
26720#line 4688
26721 __cil_tmp156 = (int )clock_period[(int )dcb->sync_period & 7];
26722#line 4688
26723 nego_period = __cil_tmp156 << 2;
26724#line 4689
26725 if (dcb->sync_offset) {
26726 {
26727#line 4690
26728 tmp___40 = sprintf(pos, " %03i ns ", nego_period);
26729#line 4690
26730 pos = pos + tmp___40;
26731 }
26732 } else {
26733 {
26734#line 4692
26735 __cil_tmp157 = dcb->min_nego_period;
26736#line 4692
26737 __cil_tmp158 = (int )__cil_tmp157;
26738#line 4692
26739 __cil_tmp159 = __cil_tmp158 << 2;
26740#line 4692
26741 tmp___41 = sprintf(pos, " (%03i ns)", __cil_tmp159);
26742#line 4692
26743 pos = pos + tmp___41;
26744 }
26745 }
26746 {
26747#line 4694
26748 __cil_tmp160 = dcb->sync_offset;
26749#line 4694
26750 __cil_tmp161 = (int )__cil_tmp160;
26751#line 4694
26752 if (__cil_tmp161 & 15) {
26753 {
26754#line 4695
26755 spd = 1000 / nego_period;
26756#line 4696
26757 spd1 = 1000 % nego_period;
26758#line 4697
26759 __cil_tmp162 = nego_period / 2;
26760#line 4697
26761 __cil_tmp163 = spd1 * 10;
26762#line 4697
26763 __cil_tmp164 = __cil_tmp163 + __cil_tmp162;
26764#line 4697
26765 spd1 = __cil_tmp164 / nego_period;
26766#line 4698
26767 __cil_tmp165 = dcb->sync_offset;
26768#line 4698
26769 __cil_tmp166 = (int )__cil_tmp165;
26770#line 4698
26771 __cil_tmp167 = __cil_tmp166 & 15;
26772#line 4698
26773 tmp___42 = sprintf(pos, " %2i.%1i M %02i ", spd, spd1, __cil_tmp167);
26774#line 4698
26775 pos = pos + tmp___42;
26776 }
26777 } else {
26778 {
26779#line 4701
26780 tmp___43 = sprintf(pos, " ");
26781#line 4701
26782 pos = pos + tmp___43;
26783 }
26784 }
26785 }
26786 {
26787#line 4704
26788 __cil_tmp168 = dcb->max_command;
26789#line 4704
26790 __cil_tmp169 = (int )__cil_tmp168;
26791#line 4704
26792 tmp___44 = sprintf(pos, " %02i\n", __cil_tmp169);
26793#line 4704
26794 pos = pos + tmp___44;
26795#line 4705
26796 dev = dev + 1;
26797#line 4678
26798 __cil_tmp170 = dcb->list.next;
26799#line 4678
26800 __mptr___0 = (struct list_head const *)__cil_tmp170;
26801#line 4678
26802 __cil_tmp171 = (struct DeviceCtlBlk *)0;
26803#line 4678
26804 __cil_tmp172 = & __cil_tmp171->list;
26805#line 4678
26806 __cil_tmp173 = (unsigned int )__cil_tmp172;
26807#line 4678
26808 __cil_tmp174 = (char *)__mptr___0;
26809#line 4678
26810 __cil_tmp175 = __cil_tmp174 - __cil_tmp173;
26811#line 4678
26812 dcb = (struct DeviceCtlBlk *)__cil_tmp175;
26813 }
26814 }
26815 while_break___7: ;
26816 }
26817
26818 while_break___1:
26819 {
26820#line 4708
26821 __cil_tmp176 = & acb->waiting_timer;
26822#line 4708
26823 __cil_tmp177 = (struct timer_list const *)__cil_tmp176;
26824#line 4708
26825 tmp___47 = timer_pending(__cil_tmp177);
26826 }
26827#line 4708
26828 if (tmp___47) {
26829 {
26830#line 4709
26831 tmp___45 = sprintf(pos, "Waiting queue timer running\n");
26832#line 4709
26833 pos = pos + tmp___45;
26834 }
26835 } else {
26836 {
26837#line 4711
26838 tmp___46 = sprintf(pos, "\n");
26839#line 4711
26840 pos = pos + tmp___46;
26841 }
26842 }
26843#line 4713
26844 __cil_tmp178 = acb->dcb_list.next;
26845#line 4713
26846 __mptr___1 = (struct list_head const *)__cil_tmp178;
26847#line 4713
26848 __cil_tmp179 = (struct DeviceCtlBlk *)0;
26849#line 4713
26850 __cil_tmp180 = & __cil_tmp179->list;
26851#line 4713
26852 __cil_tmp181 = (unsigned int )__cil_tmp180;
26853#line 4713
26854 __cil_tmp182 = (char *)__mptr___1;
26855#line 4713
26856 __cil_tmp183 = __cil_tmp182 - __cil_tmp181;
26857#line 4713
26858 dcb = (struct DeviceCtlBlk *)__cil_tmp183;
26859 {
26860#line 4713
26861 while (1) {
26862 while_continue___2: ;
26863
26864 {
26865#line 4713
26866 __cil_tmp184 = & acb->dcb_list;
26867#line 4713
26868 __cil_tmp185 = (unsigned long )__cil_tmp184;
26869#line 4713
26870 __cil_tmp186 = & dcb->list;
26871#line 4713
26872 __cil_tmp187 = (unsigned long )__cil_tmp186;
26873#line 4713
26874 if (__cil_tmp187 != __cil_tmp185) {
26875
26876 } else {
26877#line 4713
26878 goto while_break___2;
26879 }
26880 }
26881 {
26882#line 4715
26883 __cil_tmp188 = & dcb->srb_waiting_list;
26884#line 4715
26885 __cil_tmp189 = (struct list_head const *)__cil_tmp188;
26886#line 4715
26887 tmp___50 = list_empty(__cil_tmp189);
26888 }
26889#line 4715
26890 if (tmp___50) {
26891
26892 } else {
26893 {
26894#line 4716
26895 __cil_tmp190 = & dcb->srb_waiting_list;
26896#line 4716
26897 tmp___48 = list_size(__cil_tmp190);
26898#line 4716
26899 __cil_tmp191 = dcb->target_id;
26900#line 4716
26901 __cil_tmp192 = (int )__cil_tmp191;
26902#line 4716
26903 __cil_tmp193 = dcb->target_lun;
26904#line 4716
26905 __cil_tmp194 = (int )__cil_tmp193;
26906#line 4716
26907 tmp___49 = sprintf(pos, "DCB (%02i-%i): Waiting: %i:", __cil_tmp192, __cil_tmp194,
26908 tmp___48);
26909#line 4716
26910 pos = pos + tmp___49;
26911 }
26912 }
26913#line 4719
26914 __cil_tmp195 = dcb->srb_waiting_list.next;
26915#line 4719
26916 __mptr___3 = (struct list_head const *)__cil_tmp195;
26917#line 4719
26918 __cil_tmp196 = (struct ScsiReqBlk *)0;
26919#line 4719
26920 __cil_tmp197 = & __cil_tmp196->list;
26921#line 4719
26922 __cil_tmp198 = (unsigned int )__cil_tmp197;
26923#line 4719
26924 __cil_tmp199 = (char *)__mptr___3;
26925#line 4719
26926 __cil_tmp200 = __cil_tmp199 - __cil_tmp198;
26927#line 4719
26928 srb = (struct ScsiReqBlk *)__cil_tmp200;
26929 {
26930#line 4719
26931 while (1) {
26932 while_continue___3: ;
26933
26934 {
26935#line 4719
26936 __cil_tmp201 = & dcb->srb_waiting_list;
26937#line 4719
26938 __cil_tmp202 = (unsigned long )__cil_tmp201;
26939#line 4719
26940 __cil_tmp203 = & srb->list;
26941#line 4719
26942 __cil_tmp204 = (unsigned long )__cil_tmp203;
26943#line 4719
26944 if (__cil_tmp204 != __cil_tmp202) {
26945
26946 } else {
26947#line 4719
26948 goto while_break___3;
26949 }
26950 }
26951 {
26952#line 4720
26953 __cil_tmp205 = srb->cmd;
26954#line 4720
26955 tmp___51 = sprintf(pos, " %p", __cil_tmp205);
26956#line 4720
26957 pos = pos + tmp___51;
26958#line 4719
26959 __cil_tmp206 = srb->list.next;
26960#line 4719
26961 __mptr___4 = (struct list_head const *)__cil_tmp206;
26962#line 4719
26963 __cil_tmp207 = (struct ScsiReqBlk *)0;
26964#line 4719
26965 __cil_tmp208 = & __cil_tmp207->list;
26966#line 4719
26967 __cil_tmp209 = (unsigned int )__cil_tmp208;
26968#line 4719
26969 __cil_tmp210 = (char *)__mptr___4;
26970#line 4719
26971 __cil_tmp211 = __cil_tmp210 - __cil_tmp209;
26972#line 4719
26973 srb = (struct ScsiReqBlk *)__cil_tmp211;
26974 }
26975 }
26976 while_break___9: ;
26977 }
26978
26979 while_break___3:
26980 {
26981#line 4721
26982 __cil_tmp212 = & dcb->srb_going_list;
26983#line 4721
26984 __cil_tmp213 = (struct list_head const *)__cil_tmp212;
26985#line 4721
26986 tmp___54 = list_empty(__cil_tmp213);
26987 }
26988#line 4721
26989 if (tmp___54) {
26990
26991 } else {
26992 {
26993#line 4722
26994 __cil_tmp214 = & dcb->srb_going_list;
26995#line 4722
26996 tmp___52 = list_size(__cil_tmp214);
26997#line 4722
26998 __cil_tmp215 = dcb->target_id;
26999#line 4722
27000 __cil_tmp216 = (int )__cil_tmp215;
27001#line 4722
27002 __cil_tmp217 = dcb->target_lun;
27003#line 4722
27004 __cil_tmp218 = (int )__cil_tmp217;
27005#line 4722
27006 tmp___53 = sprintf(pos, "\nDCB (%02i-%i): Going : %i:", __cil_tmp216, __cil_tmp218,
27007 tmp___52);
27008#line 4722
27009 pos = pos + tmp___53;
27010 }
27011 }
27012#line 4725
27013 __cil_tmp219 = dcb->srb_going_list.next;
27014#line 4725
27015 __mptr___5 = (struct list_head const *)__cil_tmp219;
27016#line 4725
27017 __cil_tmp220 = (struct ScsiReqBlk *)0;
27018#line 4725
27019 __cil_tmp221 = & __cil_tmp220->list;
27020#line 4725
27021 __cil_tmp222 = (unsigned int )__cil_tmp221;
27022#line 4725
27023 __cil_tmp223 = (char *)__mptr___5;
27024#line 4725
27025 __cil_tmp224 = __cil_tmp223 - __cil_tmp222;
27026#line 4725
27027 srb = (struct ScsiReqBlk *)__cil_tmp224;
27028 {
27029#line 4725
27030 while (1) {
27031 while_continue___4: ;
27032
27033 {
27034#line 4725
27035 __cil_tmp225 = & dcb->srb_going_list;
27036#line 4725
27037 __cil_tmp226 = (unsigned long )__cil_tmp225;
27038#line 4725
27039 __cil_tmp227 = & srb->list;
27040#line 4725
27041 __cil_tmp228 = (unsigned long )__cil_tmp227;
27042#line 4725
27043 if (__cil_tmp228 != __cil_tmp226) {
27044
27045 } else {
27046#line 4725
27047 goto while_break___4;
27048 }
27049 }
27050 {
27051#line 4726
27052 __cil_tmp229 = srb->cmd;
27053#line 4726
27054 tmp___55 = sprintf(pos, " %p", __cil_tmp229);
27055#line 4726
27056 pos = pos + tmp___55;
27057#line 4725
27058 __cil_tmp230 = srb->list.next;
27059#line 4725
27060 __mptr___6 = (struct list_head const *)__cil_tmp230;
27061#line 4725
27062 __cil_tmp231 = (struct ScsiReqBlk *)0;
27063#line 4725
27064 __cil_tmp232 = & __cil_tmp231->list;
27065#line 4725
27066 __cil_tmp233 = (unsigned int )__cil_tmp232;
27067#line 4725
27068 __cil_tmp234 = (char *)__mptr___6;
27069#line 4725
27070 __cil_tmp235 = __cil_tmp234 - __cil_tmp233;
27071#line 4725
27072 srb = (struct ScsiReqBlk *)__cil_tmp235;
27073 }
27074 }
27075 while_break___10: ;
27076 }
27077
27078 while_break___4:
27079 {
27080#line 4727
27081 __cil_tmp236 = & dcb->srb_waiting_list;
27082#line 4727
27083 __cil_tmp237 = (struct list_head const *)__cil_tmp236;
27084#line 4727
27085 tmp___57 = list_empty(__cil_tmp237);
27086 }
27087#line 4727
27088 if (tmp___57) {
27089 {
27090#line 4727
27091 __cil_tmp238 = & dcb->srb_going_list;
27092#line 4727
27093 __cil_tmp239 = (struct list_head const *)__cil_tmp238;
27094#line 4727
27095 tmp___58 = list_empty(__cil_tmp239);
27096 }
27097#line 4727
27098 if (tmp___58) {
27099
27100 } else {
27101 {
27102#line 4728
27103 tmp___56 = sprintf(pos, "\n");
27104#line 4728
27105 pos = pos + tmp___56;
27106 }
27107 }
27108 } else {
27109 {
27110#line 4728
27111 tmp___56 = sprintf(pos, "\n");
27112#line 4728
27113 pos = pos + tmp___56;
27114 }
27115 }
27116#line 4713
27117 __cil_tmp240 = dcb->list.next;
27118#line 4713
27119 __mptr___2 = (struct list_head const *)__cil_tmp240;
27120#line 4713
27121 __cil_tmp241 = (struct DeviceCtlBlk *)0;
27122#line 4713
27123 __cil_tmp242 = & __cil_tmp241->list;
27124#line 4713
27125 __cil_tmp243 = (unsigned int )__cil_tmp242;
27126#line 4713
27127 __cil_tmp244 = (char *)__mptr___2;
27128#line 4713
27129 __cil_tmp245 = __cil_tmp244 - __cil_tmp243;
27130#line 4713
27131 dcb = (struct DeviceCtlBlk *)__cil_tmp245;
27132 }
27133 while_break___8: ;
27134 }
27135
27136 while_break___2:
27137 {
27138#line 4739
27139 *start = buffer + offset;
27140#line 4740
27141 __cil_tmp246 = acb->scsi_host;
27142#line 4740
27143 __cil_tmp247 = __cil_tmp246->host_lock;
27144#line 4740
27145 spin_unlock_irqrestore(__cil_tmp247, flags);
27146 }
27147 {
27148#line 4742
27149 __cil_tmp248 = pos - buffer;
27150#line 4742
27151 __cil_tmp249 = (off_t )__cil_tmp248;
27152#line 4742
27153 if (__cil_tmp249 < offset) {
27154#line 4743
27155 return (0);
27156 } else {
27157 {
27158#line 4744
27159 __cil_tmp250 = (off_t )length;
27160#line 4744
27161 __cil_tmp251 = pos - buffer;
27162#line 4744
27163 __cil_tmp252 = (off_t )__cil_tmp251;
27164#line 4744
27165 __cil_tmp253 = __cil_tmp252 - offset;
27166#line 4744
27167 if (__cil_tmp253 < __cil_tmp250) {
27168 {
27169#line 4745
27170 __cil_tmp254 = pos - buffer;
27171#line 4745
27172 __cil_tmp255 = (off_t )__cil_tmp254;
27173#line 4745
27174 __cil_tmp256 = __cil_tmp255 - offset;
27175#line 4745
27176 return ((int )__cil_tmp256);
27177 }
27178 } else {
27179#line 4747
27180 return (length);
27181 }
27182 }
27183 }
27184 }
27185}
27186}
27187#line 4751 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27188static struct scsi_host_template dc395x_driver_template =
27189#line 4751
27190 {& __this_module, "Tekram DC395(U/UW/F), DC315(U) - ASIC TRM-S1040 v2.05, 2004/03/08",
27191 (int (*)(struct scsi_host_template * ))0, (int (*)(struct Scsi_Host * ))0, (char const *(*)(struct Scsi_Host * ))0,
27192 (int (*)(struct scsi_device *dev , int cmd , void *arg ))0, (int (*)(struct scsi_device *dev ,
27193 int cmd ,
27194 void *arg ))0,
27195 & dc395x_queue_command, (int (*)(struct scsi_cmnd * , void (*done)(struct scsi_cmnd * ) ))0,
27196 & dc395x_eh_abort, (int (*)(struct scsi_cmnd * ))0, (int (*)(struct scsi_cmnd * ))0,
27197 & dc395x_eh_bus_reset, (int (*)(struct scsi_cmnd * ))0, & dc395x_slave_alloc,
27198 (int (*)(struct scsi_device * ))0, & dc395x_slave_destroy, (int (*)(struct scsi_target * ))0,
27199 (void (*)(struct scsi_target * ))0, (int (*)(struct Scsi_Host * , unsigned long ))0,
27200 (void (*)(struct Scsi_Host * ))0, (int (*)(struct scsi_device * , int , int ))0,
27201 (int (*)(struct scsi_device * , int ))0, & dc395x_bios_param, (void (*)(struct scsi_device * ))0,
27202 & dc395x_proc_info, (enum blk_eh_timer_return (*)(struct scsi_cmnd * ))0, "dc395x",
27203 (struct proc_dir_entry *)0, 63, 7, (unsigned short)64, (unsigned short)0, (unsigned short)0,
27204 0UL, (short)16, (unsigned char)0, 0U, 0U, 0U, 0U, 0U, 0U, 0U, (struct device_attribute **)0,
27205 (struct device_attribute **)0, {(struct list_head *)0, (struct list_head *)0},
27206 0ULL};
27207#line 4776
27208static void banner_display(void) ;
27209#line 4776 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27210static int banner_done = 0;
27211#line 4774 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27212static void banner_display(void)
27213{
27214
27215 {
27216#line 4777
27217 if (! banner_done) {
27218 {
27219#line 4779
27220 printk("<6>dc395x: %s %s\n", "Tekram DC395(U/UW/F), DC315(U) - ASIC TRM-S1040",
27221 "v2.05, 2004/03/08");
27222#line 4780
27223 banner_done = 1;
27224 }
27225 } else {
27226
27227 }
27228#line 4782
27229 return;
27230}
27231}
27232#line 4798
27233static int dc395x_init_one(struct pci_dev *dev , struct pci_device_id const *id ) __attribute__((__section__(".devinit.text"),
27234__no_instrument_function__)) ;
27235#line 4798
27236static int dc395x_init_one(struct pci_dev *dev , struct pci_device_id const *id ) __attribute__((__section__(".devinit.text"),
27237__no_instrument_function__)) ;
27238#line 4798 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27239static int dc395x_init_one(struct pci_dev *dev , struct pci_device_id const *id )
27240{ struct Scsi_Host *scsi_host ;
27241 struct AdapterCtlBlk *acb ;
27242 unsigned long io_port_base ;
27243 unsigned int io_port_len ;
27244 unsigned int irq ;
27245 int tmp___7 ;
27246 int tmp___8 ;
27247 int tmp___9 ;
27248 int tmp ;
27249 int tmp___10 ;
27250 int tmp___11 ;
27251 int tmp___12 ;
27252 void *__cil_tmp15 ;
27253 void *__cil_tmp16 ;
27254 resource_size_t __cil_tmp17 ;
27255 unsigned long long __cil_tmp18 ;
27256 resource_size_t __cil_tmp19 ;
27257 resource_size_t __cil_tmp20 ;
27258 resource_size_t __cil_tmp21 ;
27259 resource_size_t __cil_tmp22 ;
27260 resource_size_t __cil_tmp23 ;
27261 resource_size_t __cil_tmp24 ;
27262 resource_size_t __cil_tmp25 ;
27263 resource_size_t __cil_tmp26 ;
27264 resource_size_t __cil_tmp27 ;
27265 resource_size_t __cil_tmp28 ;
27266 resource_size_t __cil_tmp29 ;
27267 int __cil_tmp30 ;
27268 unsigned long *__cil_tmp31 ;
27269 struct device *__cil_tmp32 ;
27270 void *__cil_tmp33 ;
27271 void *__cil_tmp34 ;
27272 unsigned long __cil_tmp35 ;
27273 unsigned long __cil_tmp36 ;
27274 void *__cil_tmp37 ;
27275 unsigned long __cil_tmp38 ;
27276 unsigned long __cil_tmp39 ;
27277
27278 {
27279#line 4801
27280 __cil_tmp15 = (void *)0;
27281#line 4801
27282 scsi_host = (struct Scsi_Host *)__cil_tmp15;
27283#line 4802
27284 __cil_tmp16 = (void *)0;
27285#line 4802
27286 acb = (struct AdapterCtlBlk *)__cil_tmp16;
27287 {
27288#line 4807
27289 while (1) {
27290 while_continue: ;
27291
27292#line 4807
27293 goto while_break;
27294 }
27295 while_break___1: ;
27296 }
27297
27298 while_break:
27299 {
27300#line 4808
27301 banner_display();
27302#line 4810
27303 tmp___11 = (int )pci_enable_device(dev);
27304#line 4810
27305 tmp = tmp___11;
27306#line 4810
27307 tmp___7 = tmp;
27308 }
27309#line 4810
27310 if (tmp___7) {
27311 {
27312#line 4812
27313 printk("<6>dc395x: PCI Enable device failed.\n");
27314 }
27315#line 4813
27316 return (-19);
27317 } else {
27318
27319 }
27320#line 4815
27321 __cil_tmp17 = dev->resource[0].start;
27322#line 4815
27323 __cil_tmp18 = __cil_tmp17 & 1152921504606846972ULL;
27324#line 4815
27325 io_port_base = (unsigned long )__cil_tmp18;
27326 {
27327#line 4816
27328 __cil_tmp19 = dev->resource[0].start;
27329#line 4816
27330 if (__cil_tmp19 == 0ULL) {
27331 {
27332#line 4816
27333 __cil_tmp20 = dev->resource[0].start;
27334#line 4816
27335 __cil_tmp21 = dev->resource[0].end;
27336#line 4816
27337 if (__cil_tmp21 == __cil_tmp20) {
27338#line 4816
27339 io_port_len = 0U;
27340 } else {
27341#line 4816
27342 __cil_tmp22 = dev->resource[0].start;
27343#line 4816
27344 __cil_tmp23 = dev->resource[0].end;
27345#line 4816
27346 __cil_tmp24 = __cil_tmp23 - __cil_tmp22;
27347#line 4816
27348 __cil_tmp25 = __cil_tmp24 + 1ULL;
27349#line 4816
27350 io_port_len = (unsigned int )__cil_tmp25;
27351 }
27352 }
27353 } else {
27354#line 4816
27355 __cil_tmp26 = dev->resource[0].start;
27356#line 4816
27357 __cil_tmp27 = dev->resource[0].end;
27358#line 4816
27359 __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
27360#line 4816
27361 __cil_tmp29 = __cil_tmp28 + 1ULL;
27362#line 4816
27363 io_port_len = (unsigned int )__cil_tmp29;
27364 }
27365 }
27366#line 4817
27367 irq = dev->irq;
27368 {
27369#line 4818
27370 while (1) {
27371 while_continue___0: ;
27372
27373#line 4818
27374 goto while_break___0;
27375 }
27376 while_break___2: ;
27377 }
27378
27379 while_break___0:
27380 {
27381#line 4821
27382 __cil_tmp30 = (int )11264UL;
27383#line 4821
27384 scsi_host = scsi_host_alloc(& dc395x_driver_template, __cil_tmp30);
27385 }
27386#line 4823
27387 if (! scsi_host) {
27388 {
27389#line 4824
27390 printk("<6>dc395x: scsi_host_alloc failed\n");
27391 }
27392#line 4825
27393 goto fail;
27394 } else {
27395
27396 }
27397 {
27398#line 4827
27399 __cil_tmp31 = & scsi_host->hostdata[0];
27400#line 4827
27401 acb = (struct AdapterCtlBlk *)__cil_tmp31;
27402#line 4828
27403 acb->scsi_host = scsi_host;
27404#line 4829
27405 acb->dev = dev;
27406#line 4832
27407 tmp___8 = adapter_init(acb, io_port_base, io_port_len, irq);
27408 }
27409#line 4832
27410 if (tmp___8) {
27411 {
27412#line 4833
27413 printk("<6>dc395x: adapter init failed\n");
27414 }
27415#line 4834
27416 goto fail;
27417 } else {
27418
27419 }
27420 {
27421#line 4837
27422 pci_set_master(dev);
27423#line 4840
27424 __cil_tmp32 = & dev->dev;
27425#line 4840
27426 tmp___12 = (int )scsi_add_host(scsi_host, __cil_tmp32);
27427#line 4840
27428 tmp___10 = tmp___12;
27429#line 4840
27430 tmp___9 = tmp___10;
27431 }
27432#line 4840
27433 if (tmp___9) {
27434 {
27435#line 4841
27436 printk("<3>dc395x: scsi_add_host failed\n");
27437 }
27438#line 4842
27439 goto fail;
27440 } else {
27441
27442 }
27443 {
27444#line 4844
27445 __cil_tmp33 = (void *)scsi_host;
27446#line 4844
27447 pci_set_drvdata(dev, __cil_tmp33);
27448#line 4845
27449 scsi_scan_host(scsi_host);
27450 }
27451#line 4847
27452 return (0);
27453 fail:
27454 {
27455#line 4850
27456 __cil_tmp34 = (void *)0;
27457#line 4850
27458 __cil_tmp35 = (unsigned long )__cil_tmp34;
27459#line 4850
27460 __cil_tmp36 = (unsigned long )acb;
27461#line 4850
27462 if (__cil_tmp36 != __cil_tmp35) {
27463 {
27464#line 4851
27465 adapter_uninit(acb);
27466 }
27467 } else {
27468
27469 }
27470 }
27471 {
27472#line 4852
27473 __cil_tmp37 = (void *)0;
27474#line 4852
27475 __cil_tmp38 = (unsigned long )__cil_tmp37;
27476#line 4852
27477 __cil_tmp39 = (unsigned long )scsi_host;
27478#line 4852
27479 if (__cil_tmp39 != __cil_tmp38) {
27480 {
27481#line 4853
27482 scsi_host_put(scsi_host);
27483 }
27484 } else {
27485
27486 }
27487 }
27488 {
27489#line 4854
27490 pci_disable_device(dev);
27491 }
27492#line 4855
27493 return (-19);
27494}
27495}
27496#line 4865
27497static void dc395x_remove_one(struct pci_dev *dev ) __attribute__((__section__(".devexit.text"),
27498__no_instrument_function__)) ;
27499#line 4865
27500static void dc395x_remove_one(struct pci_dev *dev ) __attribute__((__section__(".devexit.text"),
27501__no_instrument_function__)) ;
27502#line 4865 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27503static void dc395x_remove_one(struct pci_dev *dev )
27504{ struct Scsi_Host *scsi_host ;
27505 void *tmp___7 ;
27506 struct AdapterCtlBlk *acb ;
27507 unsigned long *__cil_tmp5 ;
27508 void *__cil_tmp6 ;
27509
27510 {
27511 {
27512#line 4867
27513 tmp___7 = pci_get_drvdata(dev);
27514#line 4867
27515 scsi_host = (struct Scsi_Host *)tmp___7;
27516#line 4868
27517 __cil_tmp5 = & scsi_host->hostdata[0];
27518#line 4868
27519 acb = (struct AdapterCtlBlk *)__cil_tmp5;
27520 }
27521 {
27522#line 4870
27523 while (1) {
27524 while_continue: ;
27525
27526#line 4870
27527 goto while_break;
27528 }
27529 while_break___0: ;
27530 }
27531
27532 while_break:
27533 {
27534#line 4872
27535 scsi_remove_host(scsi_host);
27536#line 4873
27537 adapter_uninit(acb);
27538#line 4874
27539 pci_disable_device(dev);
27540#line 4875
27541 scsi_host_put(scsi_host);
27542#line 4876
27543 __cil_tmp6 = (void *)0;
27544#line 4876
27545 pci_set_drvdata(dev, __cil_tmp6);
27546 }
27547#line 4877
27548 return;
27549}
27550}
27551#line 4880 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27552static struct pci_device_id dc395x_pci_table[1] = { {(__u32 )7649, (__u32 )913, (__u32 )(~ 0), (__u32 )(~ 0), 0U, 0U, 0UL}};
27553#line 4889
27554extern struct pci_device_id const __mod_pci_device_table __attribute__((__unused__,
27555__alias__("dc395x_pci_table"))) ;
27556#line 4892 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27557static struct pci_driver dc395x_driver =
27558#line 4892
27559 {{(struct list_head *)0, (struct list_head *)0}, "dc395x", (struct pci_device_id const *)(dc395x_pci_table),
27560 & dc395x_init_one, & dc395x_remove_one, (int (*)(struct pci_dev *dev , pm_message_t state ))0,
27561 (int (*)(struct pci_dev *dev , pm_message_t state ))0, (int (*)(struct pci_dev *dev ))0,
27562 (int (*)(struct pci_dev *dev ))0, (void (*)(struct pci_dev *dev ))0, (struct pci_error_handlers *)0,
27563 {(char const *)0, (struct bus_type *)0, (struct module *)0, (char const *)0,
27564 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
27565 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
27566 pm_message_t state ))0,
27567 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
27568 (struct driver_private *)0}, {{{{{0U}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
27569 {(struct lock_class *)0,
27570 (struct lock_class *)0},
27571 (char const *)0,
27572 0, 0UL}}}}, {(struct list_head *)0,
27573 (struct list_head *)0}}};
27574#line 4905
27575static int dc395x_module_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
27576#line 4905
27577static int dc395x_module_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
27578#line 4905 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27579static int dc395x_module_init(void)
27580{ int tmp___7 ;
27581 int tmp ;
27582 int tmp___8 ;
27583
27584 {
27585 {
27586#line 4907
27587 tmp___8 = (int )__pci_register_driver(& dc395x_driver, & __this_module, "dc395x");
27588#line 4907
27589 tmp = tmp___8;
27590#line 4907
27591 tmp___7 = tmp;
27592 }
27593#line 4907
27594 return (tmp___7);
27595}
27596}
27597#line 4914
27598static void dc395x_module_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
27599#line 4914
27600static void dc395x_module_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
27601#line 4914 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27602static void dc395x_module_exit(void)
27603{
27604
27605 {
27606 {
27607#line 4916
27608 pci_unregister_driver(& dc395x_driver);
27609 }
27610#line 4917
27611 return;
27612}
27613}
27614#line 4920 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27615int init_module(void)
27616{ int tmp___7 ;
27617
27618 {
27619 {
27620#line 4920
27621 tmp___7 = dc395x_module_init();
27622 }
27623#line 4920
27624 return (tmp___7);
27625}
27626}
27627#line 4921 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27628void cleanup_module(void)
27629{
27630
27631 {
27632 {
27633#line 4921
27634 dc395x_module_exit();
27635 }
27636#line 4921
27637 return;
27638}
27639}
27640#line 4923 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27641static char const __mod_author4923[46] __attribute__((__used__, __unused__, __section__(".modinfo"),
27642__aligned__(1))) =
27643#line 4923
27644 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
27645 (char const )'o', (char const )'r', (char const )'=', (char const )'C',
27646 (char const )'.', (char const )'L', (char const )'.', (char const )' ',
27647 (char const )'H', (char const )'u', (char const )'a', (char const )'n',
27648 (char const )'g', (char const )' ', (char const )'/', (char const )' ',
27649 (char const )'E', (char const )'r', (char const )'i', (char const )'c',
27650 (char const )'h', (char const )' ', (char const )'C', (char const )'h',
27651 (char const )'e', (char const )'n', (char const )' ', (char const )'/',
27652 (char const )' ', (char const )'K', (char const )'u', (char const )'r',
27653 (char const )'t', (char const )' ', (char const )'G', (char const )'a',
27654 (char const )'r', (char const )'l', (char const )'o', (char const )'f',
27655 (char const )'f', (char const )'\000'};
27656#line 4924 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27657static char const __mod_description4924[104] __attribute__((__used__, __unused__,
27658__section__(".modinfo"), __aligned__(1))) =
27659#line 4924
27660 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
27661 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
27662 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
27663 (char const )'S', (char const )'C', (char const )'S', (char const )'I',
27664 (char const )' ', (char const )'h', (char const )'o', (char const )'s',
27665 (char const )'t', (char const )' ', (char const )'a', (char const )'d',
27666 (char const )'a', (char const )'p', (char const )'t', (char const )'e',
27667 (char const )'r', (char const )' ', (char const )'d', (char const )'r',
27668 (char const )'i', (char const )'v', (char const )'e', (char const )'r',
27669 (char const )' ', (char const )'f', (char const )'o', (char const )'r',
27670 (char const )' ', (char const )'T', (char const )'e', (char const )'k',
27671 (char const )'r', (char const )'a', (char const )'m', (char const )' ',
27672 (char const )'T', (char const )'R', (char const )'M', (char const )'-',
27673 (char const )'S', (char const )'1', (char const )'0', (char const )'4',
27674 (char const )'0', (char const )' ', (char const )'b', (char const )'a',
27675 (char const )'s', (char const )'e', (char const )'d', (char const )' ',
27676 (char const )'a', (char const )'d', (char const )'a', (char const )'p',
27677 (char const )'t', (char const )'e', (char const )'r', (char const )'s',
27678 (char const )':', (char const )' ', (char const )'T', (char const )'e',
27679 (char const )'k', (char const )'r', (char const )'a', (char const )'m',
27680 (char const )' ', (char const )'D', (char const )'C', (char const )'3',
27681 (char const )'9', (char const )'5', (char const )' ', (char const )'a',
27682 (char const )'n', (char const )'d', (char const )' ', (char const )'D',
27683 (char const )'C', (char const )'3', (char const )'1', (char const )'5',
27684 (char const )' ', (char const )'s', (char const )'e', (char const )'r',
27685 (char const )'i', (char const )'e', (char const )'s', (char const )'\000'};
27686#line 4925 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27687static char const __mod_license4925[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
27688__aligned__(1))) =
27689#line 4925
27690 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
27691 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
27692 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
27693#line 4943
27694void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
27695#line 4946
27696extern void ldv_check_return_value(int res ) ;
27697#line 4949
27698extern void ldv_initialize(void) ;
27699#line 4952
27700extern int nondet_int(void) ;
27701#line 4955 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27702int LDV_IN_INTERRUPT ;
27703#line 5806 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27704static int res_dc395x_init_one_106 ;
27705#line 4958 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/scsi/dc395x.c.common.c"
27706void main(void)
27707{ struct Scsi_Host *var_group1 ;
27708 char *var_dc395x_proc_info_104_p1 ;
27709 char **var_dc395x_proc_info_104_p2 ;
27710 off_t var_dc395x_proc_info_104_p3 ;
27711 int var_dc395x_proc_info_104_p4 ;
27712 int var_dc395x_proc_info_104_p5 ;
27713 struct scsi_device *var_group2 ;
27714 struct block_device *var_group3 ;
27715 sector_t var_dc395x_bios_param_24_p2 ;
27716 int *var_dc395x_bios_param_24_p3 ;
27717 struct scsi_cmnd *var_group4 ;
27718 struct pci_dev *var_group5 ;
27719 struct pci_device_id const *var_dc395x_init_one_106_p1 ;
27720 int var_dc395x_interrupt_38_p0 ;
27721 void *var_dc395x_interrupt_38_p1 ;
27722 unsigned long var_waiting_timeout_20_p0 ;
27723 int tmp___7 ;
27724 int ldv_s_dc395x_driver_pci_driver ;
27725 int tmp___8 ;
27726 int tmp___9 ;
27727 int __cil_tmp21 ;
27728
27729 {
27730 {
27731#line 6174
27732 LDV_IN_INTERRUPT = 1;
27733#line 6183
27734 ldv_initialize();
27735#line 6302
27736 tmp___7 = dc395x_module_init();
27737 }
27738#line 6302
27739 if (tmp___7) {
27740#line 6303
27741 goto ldv_final;
27742 } else {
27743
27744 }
27745#line 6306
27746 ldv_s_dc395x_driver_pci_driver = 0;
27747 {
27748#line 6313
27749 while (1) {
27750 while_continue: ;
27751 {
27752#line 6313
27753 tmp___9 = nondet_int();
27754 }
27755#line 6313
27756 if (tmp___9) {
27757
27758 } else {
27759 {
27760#line 6313
27761 __cil_tmp21 = ldv_s_dc395x_driver_pci_driver == 0;
27762#line 6313
27763 if (! __cil_tmp21) {
27764
27765 } else {
27766#line 6313
27767 goto while_break;
27768 }
27769 }
27770 }
27771 {
27772#line 6317
27773 tmp___8 = nondet_int();
27774 }
27775#line 6319
27776 if (tmp___8 == 0) {
27777#line 6319
27778 goto case_0;
27779 } else
27780#line 6448
27781 if (tmp___8 == 1) {
27782#line 6448
27783 goto case_1;
27784 } else
27785#line 6576
27786 if (tmp___8 == 2) {
27787#line 6576
27788 goto case_2;
27789 } else
27790#line 6707
27791 if (tmp___8 == 3) {
27792#line 6707
27793 goto case_3;
27794 } else
27795#line 6838
27796 if (tmp___8 == 4) {
27797#line 6838
27798 goto case_4;
27799 } else
27800#line 6969
27801 if (tmp___8 == 5) {
27802#line 6969
27803 goto case_5;
27804 } else
27805#line 7100
27806 if (tmp___8 == 6) {
27807#line 7100
27808 goto case_6;
27809 } else
27810#line 7232
27811 if (tmp___8 == 7) {
27812#line 7232
27813 goto case_7;
27814 } else
27815#line 7360
27816 if (tmp___8 == 8) {
27817#line 7360
27818 goto case_8;
27819 } else
27820#line 7491
27821 if (tmp___8 == 9) {
27822#line 7491
27823 goto case_9;
27824 } else {
27825#line 7622
27826 goto switch_default;
27827#line 6317
27828 if (0) {
27829 case_0:
27830 {
27831#line 6440
27832 dc395x_proc_info(var_group1, var_dc395x_proc_info_104_p1, var_dc395x_proc_info_104_p2,
27833 var_dc395x_proc_info_104_p3, var_dc395x_proc_info_104_p4,
27834 var_dc395x_proc_info_104_p5);
27835 }
27836#line 6447
27837 goto switch_break;
27838 case_1:
27839 {
27840#line 6518
27841 dc395x_bios_param(var_group2, var_group3, var_dc395x_bios_param_24_p2, var_dc395x_bios_param_24_p3);
27842 }
27843#line 6575
27844 goto switch_break;
27845 case_2:
27846 {
27847#line 6688
27848 dc395x_slave_alloc(var_group2);
27849 }
27850#line 6706
27851 goto switch_break;
27852 case_3:
27853 {
27854#line 6819
27855 dc395x_slave_destroy(var_group2);
27856 }
27857#line 6837
27858 goto switch_break;
27859 case_4:
27860 {
27861#line 6913
27862 dc395x_eh_abort(var_group4);
27863 }
27864#line 6968
27865 goto switch_break;
27866 case_5:
27867 {
27868#line 7044
27869 dc395x_eh_bus_reset(var_group4);
27870 }
27871#line 7099
27872 goto switch_break;
27873 case_6:
27874#line 7103
27875 if (ldv_s_dc395x_driver_pci_driver == 0) {
27876 {
27877#line 7221
27878 res_dc395x_init_one_106 = dc395x_init_one(var_group5, var_dc395x_init_one_106_p1);
27879#line 7222
27880 ldv_check_return_value(res_dc395x_init_one_106);
27881 }
27882#line 7223
27883 if (res_dc395x_init_one_106) {
27884#line 7224
27885 goto ldv_module_exit;
27886 } else {
27887
27888 }
27889#line 7225
27890 ldv_s_dc395x_driver_pci_driver = 0;
27891 } else {
27892
27893 }
27894#line 7231
27895 goto switch_break;
27896 case_7:
27897 {
27898#line 7235
27899 LDV_IN_INTERRUPT = 2;
27900#line 7318
27901 dc395x_interrupt(var_dc395x_interrupt_38_p0, var_dc395x_interrupt_38_p1);
27902#line 7353
27903 LDV_IN_INTERRUPT = 1;
27904 }
27905#line 7359
27906 goto switch_break;
27907 case_8: ;
27908#line 7490
27909 goto switch_break;
27910 case_9:
27911 {
27912#line 7561
27913 waiting_timeout(var_waiting_timeout_20_p0);
27914 }
27915#line 7621
27916 goto switch_break;
27917 switch_default:
27918#line 7622
27919 goto switch_break;
27920 } else {
27921 switch_break: ;
27922 }
27923 }
27924 }
27925 while_break___0: ;
27926 }
27927
27928 while_break: ;
27929 ldv_module_exit:
27930 {
27931#line 7747
27932 dc395x_module_exit();
27933 }
27934 ldv_final:
27935 {
27936#line 7750
27937 ldv_check_final_state();
27938 }
27939#line 7753
27940 return;
27941}
27942}
27943#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
27944void ldv_blast_assert(void)
27945{
27946
27947 {
27948 ERROR:
27949#line 6
27950 goto ERROR;
27951}
27952}
27953#line 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
27954extern void *ldv_undefined_pointer(void) ;
27955#line 1332 "include/linux/usb.h"
27956struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
27957#line 1333
27958void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
27959#line 1377
27960void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
27961 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
27962#line 1379
27963void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
27964#line 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27965void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
27966#line 22
27967void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
27968#line 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27969void ldv_assume_stop(void)
27970{
27971
27972 {
27973 LDV_STOP:
27974#line 23
27975 goto LDV_STOP;
27976}
27977}
27978#line 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27979int ldv_urb_state = 0;
27980#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27981int ldv_coherent_state = 0;
27982#line 62
27983void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
27984 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
27985#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
27986void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
27987 dma_addr_t *dma )
27988{ void *arbitrary_memory ;
27989 void *tmp___7 ;
27990
27991 {
27992 {
27993#line 64
27994 while (1) {
27995 while_continue: ;
27996 {
27997#line 64
27998 tmp___7 = ldv_undefined_pointer();
27999#line 64
28000 arbitrary_memory = tmp___7;
28001 }
28002#line 64
28003 if (! arbitrary_memory) {
28004#line 64
28005 return ((void *)0);
28006 } else {
28007
28008 }
28009#line 64
28010 ldv_coherent_state = ldv_coherent_state + 1;
28011#line 64
28012 return (arbitrary_memory);
28013#line 64
28014 goto while_break;
28015 }
28016 while_break___0: ;
28017 }
28018
28019 while_break: ;
28020#line 65
28021 return ((void *)0);
28022}
28023}
28024#line 68
28025void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
28026#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28027void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )
28028{ void *__cil_tmp5 ;
28029 unsigned long __cil_tmp6 ;
28030 unsigned long __cil_tmp7 ;
28031 int __cil_tmp8 ;
28032
28033 {
28034 {
28035#line 70
28036 while (1) {
28037 while_continue: ;
28038
28039 {
28040#line 70
28041 __cil_tmp5 = (void *)0;
28042#line 70
28043 __cil_tmp6 = (unsigned long )__cil_tmp5;
28044#line 70
28045 __cil_tmp7 = (unsigned long )addr;
28046#line 70
28047 __cil_tmp8 = __cil_tmp7 != __cil_tmp6;
28048#line 70
28049 if (! __cil_tmp8) {
28050 {
28051#line 70
28052 ldv_assume_stop();
28053 }
28054 } else {
28055
28056 }
28057 }
28058#line 70
28059 if (addr) {
28060#line 70
28061 if (ldv_coherent_state >= 1) {
28062
28063 } else {
28064 {
28065#line 70
28066 ldv_blast_assert();
28067 }
28068 }
28069#line 70
28070 ldv_coherent_state = ldv_coherent_state - 1;
28071 } else {
28072
28073 }
28074#line 70
28075 goto while_break;
28076 }
28077 while_break___0: ;
28078 }
28079
28080 while_break: ;
28081#line 71
28082 return;
28083}
28084}
28085#line 74
28086struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
28087#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28088struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )
28089{ void *arbitrary_memory ;
28090 void *tmp___7 ;
28091 void *__cil_tmp5 ;
28092
28093 {
28094 {
28095#line 75
28096 while (1) {
28097 while_continue: ;
28098 {
28099#line 75
28100 tmp___7 = ldv_undefined_pointer();
28101#line 75
28102 arbitrary_memory = tmp___7;
28103 }
28104#line 75
28105 if (! arbitrary_memory) {
28106 {
28107#line 75
28108 __cil_tmp5 = (void *)0;
28109#line 75
28110 return ((struct urb *)__cil_tmp5);
28111 }
28112 } else {
28113
28114 }
28115#line 75
28116 ldv_urb_state = ldv_urb_state + 1;
28117#line 75
28118 return ((struct urb *)arbitrary_memory);
28119#line 75
28120 goto while_break;
28121 }
28122 while_break___0: ;
28123 }
28124
28125 while_break: ;
28126#line 76
28127 return ((struct urb *)0);
28128}
28129}
28130#line 79
28131void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
28132#line 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28133void usb_free_urb(struct urb *urb )
28134{ struct urb *__cil_tmp2 ;
28135 unsigned long __cil_tmp3 ;
28136 unsigned long __cil_tmp4 ;
28137 int __cil_tmp5 ;
28138
28139 {
28140 {
28141#line 80
28142 while (1) {
28143 while_continue: ;
28144
28145 {
28146#line 80
28147 __cil_tmp2 = (struct urb *)0;
28148#line 80
28149 __cil_tmp3 = (unsigned long )__cil_tmp2;
28150#line 80
28151 __cil_tmp4 = (unsigned long )urb;
28152#line 80
28153 __cil_tmp5 = __cil_tmp4 != __cil_tmp3;
28154#line 80
28155 if (! __cil_tmp5) {
28156 {
28157#line 80
28158 ldv_assume_stop();
28159 }
28160 } else {
28161
28162 }
28163 }
28164#line 80
28165 if (urb) {
28166#line 80
28167 if (ldv_urb_state >= 1) {
28168
28169 } else {
28170 {
28171#line 80
28172 ldv_blast_assert();
28173 }
28174 }
28175#line 80
28176 ldv_urb_state = ldv_urb_state - 1;
28177 } else {
28178
28179 }
28180#line 80
28181 goto while_break;
28182 }
28183 while_break___0: ;
28184 }
28185
28186 while_break: ;
28187#line 81
28188 return;
28189}
28190}
28191#line 84
28192void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
28193#line 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/scsi/dc395x.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
28194void ldv_check_final_state(void)
28195{
28196
28197 {
28198#line 86
28199 if (ldv_urb_state == 0) {
28200
28201 } else {
28202 {
28203#line 86
28204 ldv_blast_assert();
28205 }
28206 }
28207#line 88
28208 if (ldv_coherent_state == 0) {
28209
28210 } else {
28211 {
28212#line 88
28213 ldv_blast_assert();
28214 }
28215 }
28216#line 89
28217 return;
28218}
28219}