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 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
37typedef unsigned long __kernel_nlink_t;
38#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"
39typedef long __kernel_off_t;
40#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"
41typedef int __kernel_pid_t;
42#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"
43typedef unsigned int __kernel_uid_t;
44#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"
45typedef unsigned int __kernel_gid_t;
46#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"
47typedef unsigned long __kernel_size_t;
48#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"
49typedef long __kernel_ssize_t;
50#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"
51typedef long __kernel_time_t;
52#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"
53typedef long __kernel_clock_t;
54#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"
55typedef int __kernel_timer_t;
56#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"
57typedef int __kernel_clockid_t;
58#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
59typedef long long __kernel_loff_t;
60#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
61typedef __kernel_uid_t __kernel_uid32_t;
62#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
63typedef __kernel_gid_t __kernel_gid32_t;
64#line 21 "include/linux/types.h"
65typedef __u32 __kernel_dev_t;
66#line 24 "include/linux/types.h"
67typedef __kernel_dev_t dev_t;
68#line 26 "include/linux/types.h"
69typedef __kernel_mode_t mode_t;
70#line 27 "include/linux/types.h"
71typedef __kernel_nlink_t nlink_t;
72#line 28 "include/linux/types.h"
73typedef __kernel_off_t off_t;
74#line 29 "include/linux/types.h"
75typedef __kernel_pid_t pid_t;
76#line 34 "include/linux/types.h"
77typedef __kernel_clockid_t clockid_t;
78#line 37 "include/linux/types.h"
79typedef _Bool bool;
80#line 39 "include/linux/types.h"
81typedef __kernel_uid32_t uid_t;
82#line 40 "include/linux/types.h"
83typedef __kernel_gid32_t gid_t;
84#line 53 "include/linux/types.h"
85typedef __kernel_loff_t loff_t;
86#line 62 "include/linux/types.h"
87typedef __kernel_size_t size_t;
88#line 67 "include/linux/types.h"
89typedef __kernel_ssize_t ssize_t;
90#line 77 "include/linux/types.h"
91typedef __kernel_time_t time_t;
92#line 110 "include/linux/types.h"
93typedef __s32 int32_t;
94#line 116 "include/linux/types.h"
95typedef __u32 uint32_t;
96#line 141 "include/linux/types.h"
97typedef unsigned long sector_t;
98#line 142 "include/linux/types.h"
99typedef unsigned long blkcnt_t;
100#line 154 "include/linux/types.h"
101typedef u64 dma_addr_t;
102#line 178 "include/linux/types.h"
103typedef __u16 __be16;
104#line 180 "include/linux/types.h"
105typedef __u32 __be32;
106#line 201 "include/linux/types.h"
107typedef unsigned int gfp_t;
108#line 202 "include/linux/types.h"
109typedef unsigned int fmode_t;
110#line 214 "include/linux/types.h"
111struct __anonstruct_atomic_t_6 {
112 int counter ;
113};
114#line 214 "include/linux/types.h"
115typedef struct __anonstruct_atomic_t_6 atomic_t;
116#line 219 "include/linux/types.h"
117struct __anonstruct_atomic64_t_7 {
118 long counter ;
119};
120#line 219 "include/linux/types.h"
121typedef struct __anonstruct_atomic64_t_7 atomic64_t;
122#line 220 "include/linux/types.h"
123struct list_head {
124 struct list_head *next ;
125 struct list_head *prev ;
126};
127#line 225
128struct hlist_node;
129#line 225
130struct hlist_node;
131#line 225
132struct hlist_node;
133#line 225 "include/linux/types.h"
134struct hlist_head {
135 struct hlist_node *first ;
136};
137#line 229 "include/linux/types.h"
138struct hlist_node {
139 struct hlist_node *next ;
140 struct hlist_node **pprev ;
141};
142#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
143struct module;
144#line 58
145struct module;
146#line 58
147struct module;
148#line 58
149struct module;
150#line 145 "include/linux/init.h"
151typedef void (*ctor_fn_t)(void);
152#line 48 "include/linux/dynamic_debug.h"
153struct bug_entry {
154 int bug_addr_disp ;
155 int file_disp ;
156 unsigned short line ;
157 unsigned short flags ;
158};
159#line 70 "include/asm-generic/bug.h"
160struct completion;
161#line 70
162struct completion;
163#line 70
164struct completion;
165#line 70
166struct completion;
167#line 71
168struct pt_regs;
169#line 71
170struct pt_regs;
171#line 71
172struct pt_regs;
173#line 71
174struct pt_regs;
175#line 321 "include/linux/kernel.h"
176struct pid;
177#line 321
178struct pid;
179#line 321
180struct pid;
181#line 321
182struct pid;
183#line 671
184struct timespec;
185#line 671
186struct timespec;
187#line 671
188struct timespec;
189#line 671
190struct timespec;
191#line 672
192struct compat_timespec;
193#line 672
194struct compat_timespec;
195#line 672
196struct compat_timespec;
197#line 672
198struct compat_timespec;
199#line 673 "include/linux/kernel.h"
200struct __anonstruct_futex_9 {
201 u32 *uaddr ;
202 u32 val ;
203 u32 flags ;
204 u32 bitset ;
205 u64 time ;
206 u32 *uaddr2 ;
207};
208#line 673 "include/linux/kernel.h"
209struct __anonstruct_nanosleep_10 {
210 clockid_t clockid ;
211 struct timespec *rmtp ;
212 struct compat_timespec *compat_rmtp ;
213 u64 expires ;
214};
215#line 673
216struct pollfd;
217#line 673
218struct pollfd;
219#line 673
220struct pollfd;
221#line 673 "include/linux/kernel.h"
222struct __anonstruct_poll_11 {
223 struct pollfd *ufds ;
224 int nfds ;
225 int has_timeout ;
226 unsigned long tv_sec ;
227 unsigned long tv_nsec ;
228};
229#line 673 "include/linux/kernel.h"
230union __anonunion_ldv_2052_8 {
231 struct __anonstruct_futex_9 futex ;
232 struct __anonstruct_nanosleep_10 nanosleep ;
233 struct __anonstruct_poll_11 poll ;
234};
235#line 673 "include/linux/kernel.h"
236struct restart_block {
237 long (*fn)(struct restart_block * ) ;
238 union __anonunion_ldv_2052_8 ldv_2052 ;
239};
240#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_types.h"
241struct page;
242#line 59
243struct page;
244#line 59
245struct page;
246#line 59
247struct page;
248#line 21 "include/asm-generic/getorder.h"
249struct task_struct;
250#line 21
251struct task_struct;
252#line 21
253struct task_struct;
254#line 21
255struct task_struct;
256#line 22
257struct exec_domain;
258#line 22
259struct exec_domain;
260#line 22
261struct exec_domain;
262#line 22
263struct exec_domain;
264#line 23
265struct mm_struct;
266#line 23
267struct mm_struct;
268#line 23
269struct mm_struct;
270#line 23
271struct mm_struct;
272#line 215 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/segment.h"
273struct pt_regs {
274 unsigned long r15 ;
275 unsigned long r14 ;
276 unsigned long r13 ;
277 unsigned long r12 ;
278 unsigned long bp ;
279 unsigned long bx ;
280 unsigned long r11 ;
281 unsigned long r10 ;
282 unsigned long r9 ;
283 unsigned long r8 ;
284 unsigned long ax ;
285 unsigned long cx ;
286 unsigned long dx ;
287 unsigned long si ;
288 unsigned long di ;
289 unsigned long orig_ax ;
290 unsigned long ip ;
291 unsigned long cs ;
292 unsigned long flags ;
293 unsigned long sp ;
294 unsigned long ss ;
295};
296#line 282 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
297struct kernel_vm86_regs {
298 struct pt_regs pt ;
299 unsigned short es ;
300 unsigned short __esh ;
301 unsigned short ds ;
302 unsigned short __dsh ;
303 unsigned short fs ;
304 unsigned short __fsh ;
305 unsigned short gs ;
306 unsigned short __gsh ;
307};
308#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
309union __anonunion_ldv_2292_12 {
310 struct pt_regs *regs ;
311 struct kernel_vm86_regs *vm86 ;
312};
313#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
314struct math_emu_info {
315 long ___orig_eip ;
316 union __anonunion_ldv_2292_12 ldv_2292 ;
317};
318#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"
319typedef unsigned long pgdval_t;
320#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"
321typedef unsigned long pgprotval_t;
322#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
323struct pgprot {
324 pgprotval_t pgprot ;
325};
326#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
327typedef struct pgprot pgprot_t;
328#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
329struct __anonstruct_pgd_t_15 {
330 pgdval_t pgd ;
331};
332#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
333typedef struct __anonstruct_pgd_t_15 pgd_t;
334#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
335typedef struct page *pgtable_t;
336#line 288
337struct file;
338#line 288
339struct file;
340#line 288
341struct file;
342#line 288
343struct file;
344#line 303
345struct seq_file;
346#line 303
347struct seq_file;
348#line 303
349struct seq_file;
350#line 303
351struct seq_file;
352#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
353struct __anonstruct_ldv_2526_19 {
354 unsigned int a ;
355 unsigned int b ;
356};
357#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
358struct __anonstruct_ldv_2541_20 {
359 u16 limit0 ;
360 u16 base0 ;
361 unsigned char base1 ;
362 unsigned char type : 4 ;
363 unsigned char s : 1 ;
364 unsigned char dpl : 2 ;
365 unsigned char p : 1 ;
366 unsigned char limit : 4 ;
367 unsigned char avl : 1 ;
368 unsigned char l : 1 ;
369 unsigned char d : 1 ;
370 unsigned char g : 1 ;
371 unsigned char base2 ;
372};
373#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
374union __anonunion_ldv_2542_18 {
375 struct __anonstruct_ldv_2526_19 ldv_2526 ;
376 struct __anonstruct_ldv_2541_20 ldv_2541 ;
377};
378#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
379struct desc_struct {
380 union __anonunion_ldv_2542_18 ldv_2542 ;
381};
382#line 122 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
383struct thread_struct;
384#line 122
385struct thread_struct;
386#line 122
387struct thread_struct;
388#line 122
389struct thread_struct;
390#line 124
391struct cpumask;
392#line 124
393struct cpumask;
394#line 124
395struct cpumask;
396#line 124
397struct cpumask;
398#line 320 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
399struct arch_spinlock;
400#line 320
401struct arch_spinlock;
402#line 320
403struct arch_spinlock;
404#line 320
405struct arch_spinlock;
406#line 304 "include/linux/bitmap.h"
407struct cpumask {
408 unsigned long bits[64U] ;
409};
410#line 13 "include/linux/cpumask.h"
411typedef struct cpumask cpumask_t;
412#line 622 "include/linux/cpumask.h"
413typedef struct cpumask *cpumask_var_t;
414#line 90 "include/linux/personality.h"
415struct map_segment;
416#line 90
417struct map_segment;
418#line 90
419struct map_segment;
420#line 90 "include/linux/personality.h"
421struct exec_domain {
422 char const *name ;
423 void (*handler)(int , struct pt_regs * ) ;
424 unsigned char pers_low ;
425 unsigned char pers_high ;
426 unsigned long *signal_map ;
427 unsigned long *signal_invmap ;
428 struct map_segment *err_map ;
429 struct map_segment *socktype_map ;
430 struct map_segment *sockopt_map ;
431 struct map_segment *af_map ;
432 struct module *module ;
433 struct exec_domain *next ;
434};
435#line 145 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
436struct seq_operations;
437#line 145
438struct seq_operations;
439#line 145
440struct seq_operations;
441#line 277 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
442struct i387_fsave_struct {
443 u32 cwd ;
444 u32 swd ;
445 u32 twd ;
446 u32 fip ;
447 u32 fcs ;
448 u32 foo ;
449 u32 fos ;
450 u32 st_space[20U] ;
451 u32 status ;
452};
453#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
454struct __anonstruct_ldv_5171_24 {
455 u64 rip ;
456 u64 rdp ;
457};
458#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
459struct __anonstruct_ldv_5177_25 {
460 u32 fip ;
461 u32 fcs ;
462 u32 foo ;
463 u32 fos ;
464};
465#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
466union __anonunion_ldv_5178_23 {
467 struct __anonstruct_ldv_5171_24 ldv_5171 ;
468 struct __anonstruct_ldv_5177_25 ldv_5177 ;
469};
470#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
471union __anonunion_ldv_5187_26 {
472 u32 padding1[12U] ;
473 u32 sw_reserved[12U] ;
474};
475#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
476struct i387_fxsave_struct {
477 u16 cwd ;
478 u16 swd ;
479 u16 twd ;
480 u16 fop ;
481 union __anonunion_ldv_5178_23 ldv_5178 ;
482 u32 mxcsr ;
483 u32 mxcsr_mask ;
484 u32 st_space[32U] ;
485 u32 xmm_space[64U] ;
486 u32 padding[12U] ;
487 union __anonunion_ldv_5187_26 ldv_5187 ;
488};
489#line 329 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
490struct i387_soft_struct {
491 u32 cwd ;
492 u32 swd ;
493 u32 twd ;
494 u32 fip ;
495 u32 fcs ;
496 u32 foo ;
497 u32 fos ;
498 u32 st_space[20U] ;
499 u8 ftop ;
500 u8 changed ;
501 u8 lookahead ;
502 u8 no_update ;
503 u8 rm ;
504 u8 alimit ;
505 struct math_emu_info *info ;
506 u32 entry_eip ;
507};
508#line 350 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
509struct ymmh_struct {
510 u32 ymmh_space[64U] ;
511};
512#line 355 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
513struct xsave_hdr_struct {
514 u64 xstate_bv ;
515 u64 reserved1[2U] ;
516 u64 reserved2[5U] ;
517};
518#line 361 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
519struct xsave_struct {
520 struct i387_fxsave_struct i387 ;
521 struct xsave_hdr_struct xsave_hdr ;
522 struct ymmh_struct ymmh ;
523};
524#line 367 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
525union thread_xstate {
526 struct i387_fsave_struct fsave ;
527 struct i387_fxsave_struct fxsave ;
528 struct i387_soft_struct soft ;
529 struct xsave_struct xsave ;
530};
531#line 375 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
532struct fpu {
533 union thread_xstate *state ;
534};
535#line 421
536struct kmem_cache;
537#line 421
538struct kmem_cache;
539#line 421
540struct kmem_cache;
541#line 422
542struct perf_event;
543#line 422
544struct perf_event;
545#line 422
546struct perf_event;
547#line 422
548struct perf_event;
549#line 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
550struct thread_struct {
551 struct desc_struct tls_array[3U] ;
552 unsigned long sp0 ;
553 unsigned long sp ;
554 unsigned long usersp ;
555 unsigned short es ;
556 unsigned short ds ;
557 unsigned short fsindex ;
558 unsigned short gsindex ;
559 unsigned long fs ;
560 unsigned long gs ;
561 struct perf_event *ptrace_bps[4U] ;
562 unsigned long debugreg6 ;
563 unsigned long ptrace_dr7 ;
564 unsigned long cr2 ;
565 unsigned long trap_no ;
566 unsigned long error_code ;
567 struct fpu fpu ;
568 unsigned long *io_bitmap_ptr ;
569 unsigned long iopl ;
570 unsigned int io_bitmap_max ;
571};
572#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
573struct __anonstruct_mm_segment_t_28 {
574 unsigned long seg ;
575};
576#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
577typedef struct __anonstruct_mm_segment_t_28 mm_segment_t;
578#line 23 "include/asm-generic/atomic-long.h"
579typedef atomic64_t atomic_long_t;
580#line 131 "include/asm-generic/atomic-long.h"
581struct thread_info {
582 struct task_struct *task ;
583 struct exec_domain *exec_domain ;
584 __u32 flags ;
585 __u32 status ;
586 __u32 cpu ;
587 int preempt_count ;
588 mm_segment_t addr_limit ;
589 struct restart_block restart_block ;
590 void *sysenter_return ;
591 int uaccess_err ;
592};
593#line 8 "include/linux/bottom_half.h"
594struct arch_spinlock {
595 unsigned int slock ;
596};
597#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
598typedef struct arch_spinlock arch_spinlock_t;
599#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
600struct __anonstruct_arch_rwlock_t_29 {
601 unsigned int lock ;
602};
603#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
604typedef struct __anonstruct_arch_rwlock_t_29 arch_rwlock_t;
605#line 17
606struct lockdep_map;
607#line 17
608struct lockdep_map;
609#line 17
610struct lockdep_map;
611#line 17
612struct lockdep_map;
613#line 55 "include/linux/debug_locks.h"
614struct stack_trace {
615 unsigned int nr_entries ;
616 unsigned int max_entries ;
617 unsigned long *entries ;
618 int skip ;
619};
620#line 26 "include/linux/stacktrace.h"
621struct lockdep_subclass_key {
622 char __one_byte ;
623};
624#line 53 "include/linux/lockdep.h"
625struct lock_class_key {
626 struct lockdep_subclass_key subkeys[8U] ;
627};
628#line 59 "include/linux/lockdep.h"
629struct lock_class {
630 struct list_head hash_entry ;
631 struct list_head lock_entry ;
632 struct lockdep_subclass_key *key ;
633 unsigned int subclass ;
634 unsigned int dep_gen_id ;
635 unsigned long usage_mask ;
636 struct stack_trace usage_traces[13U] ;
637 struct list_head locks_after ;
638 struct list_head locks_before ;
639 unsigned int version ;
640 unsigned long ops ;
641 char const *name ;
642 int name_version ;
643 unsigned long contention_point[4U] ;
644 unsigned long contending_point[4U] ;
645};
646#line 144 "include/linux/lockdep.h"
647struct lockdep_map {
648 struct lock_class_key *key ;
649 struct lock_class *class_cache[2U] ;
650 char const *name ;
651 int cpu ;
652 unsigned long ip ;
653};
654#line 187 "include/linux/lockdep.h"
655struct held_lock {
656 u64 prev_chain_key ;
657 unsigned long acquire_ip ;
658 struct lockdep_map *instance ;
659 struct lockdep_map *nest_lock ;
660 u64 waittime_stamp ;
661 u64 holdtime_stamp ;
662 unsigned short class_idx : 13 ;
663 unsigned char irq_context : 2 ;
664 unsigned char trylock : 1 ;
665 unsigned char read : 2 ;
666 unsigned char check : 2 ;
667 unsigned char hardirqs_off : 1 ;
668 unsigned short references : 11 ;
669};
670#line 552 "include/linux/lockdep.h"
671struct raw_spinlock {
672 arch_spinlock_t raw_lock ;
673 unsigned int magic ;
674 unsigned int owner_cpu ;
675 void *owner ;
676 struct lockdep_map dep_map ;
677};
678#line 32 "include/linux/spinlock_types.h"
679typedef struct raw_spinlock raw_spinlock_t;
680#line 33 "include/linux/spinlock_types.h"
681struct __anonstruct_ldv_6059_31 {
682 u8 __padding[24U] ;
683 struct lockdep_map dep_map ;
684};
685#line 33 "include/linux/spinlock_types.h"
686union __anonunion_ldv_6060_30 {
687 struct raw_spinlock rlock ;
688 struct __anonstruct_ldv_6059_31 ldv_6059 ;
689};
690#line 33 "include/linux/spinlock_types.h"
691struct spinlock {
692 union __anonunion_ldv_6060_30 ldv_6060 ;
693};
694#line 76 "include/linux/spinlock_types.h"
695typedef struct spinlock spinlock_t;
696#line 23 "include/linux/rwlock_types.h"
697struct __anonstruct_rwlock_t_32 {
698 arch_rwlock_t raw_lock ;
699 unsigned int magic ;
700 unsigned int owner_cpu ;
701 void *owner ;
702 struct lockdep_map dep_map ;
703};
704#line 23 "include/linux/rwlock_types.h"
705typedef struct __anonstruct_rwlock_t_32 rwlock_t;
706#line 110 "include/linux/seqlock.h"
707struct seqcount {
708 unsigned int sequence ;
709};
710#line 121 "include/linux/seqlock.h"
711typedef struct seqcount seqcount_t;
712#line 233 "include/linux/seqlock.h"
713struct timespec {
714 __kernel_time_t tv_sec ;
715 long tv_nsec ;
716};
717#line 286 "include/linux/time.h"
718struct kstat {
719 u64 ino ;
720 dev_t dev ;
721 umode_t mode ;
722 unsigned int nlink ;
723 uid_t uid ;
724 gid_t gid ;
725 dev_t rdev ;
726 loff_t size ;
727 struct timespec atime ;
728 struct timespec mtime ;
729 struct timespec ctime ;
730 unsigned long blksize ;
731 unsigned long long blocks ;
732};
733#line 28 "include/linux/wait.h"
734struct __wait_queue;
735#line 28
736struct __wait_queue;
737#line 28
738struct __wait_queue;
739#line 28 "include/linux/wait.h"
740typedef struct __wait_queue wait_queue_t;
741#line 31 "include/linux/wait.h"
742struct __wait_queue {
743 unsigned int flags ;
744 void *private ;
745 int (*func)(wait_queue_t * , unsigned int , int , void * ) ;
746 struct list_head task_list ;
747};
748#line 49 "include/linux/wait.h"
749struct __wait_queue_head {
750 spinlock_t lock ;
751 struct list_head task_list ;
752};
753#line 54 "include/linux/wait.h"
754typedef struct __wait_queue_head wait_queue_head_t;
755#line 96 "include/linux/nodemask.h"
756struct __anonstruct_nodemask_t_34 {
757 unsigned long bits[16U] ;
758};
759#line 96 "include/linux/nodemask.h"
760typedef struct __anonstruct_nodemask_t_34 nodemask_t;
761#line 640 "include/linux/mmzone.h"
762struct mutex {
763 atomic_t count ;
764 spinlock_t wait_lock ;
765 struct list_head wait_list ;
766 struct task_struct *owner ;
767 char const *name ;
768 void *magic ;
769 struct lockdep_map dep_map ;
770};
771#line 63 "include/linux/mutex.h"
772struct mutex_waiter {
773 struct list_head list ;
774 struct task_struct *task ;
775 void *magic ;
776};
777#line 171
778struct rw_semaphore;
779#line 171
780struct rw_semaphore;
781#line 171
782struct rw_semaphore;
783#line 171
784struct rw_semaphore;
785#line 172 "include/linux/mutex.h"
786struct rw_semaphore {
787 long count ;
788 spinlock_t wait_lock ;
789 struct list_head wait_list ;
790 struct lockdep_map dep_map ;
791};
792#line 763 "include/linux/mmzone.h"
793struct ctl_table;
794#line 763
795struct ctl_table;
796#line 763
797struct ctl_table;
798#line 763
799struct ctl_table;
800#line 175 "include/linux/ioport.h"
801struct device;
802#line 175
803struct device;
804#line 175
805struct device;
806#line 175
807struct device;
808#line 312 "include/linux/jiffies.h"
809union ktime {
810 s64 tv64 ;
811};
812#line 59 "include/linux/ktime.h"
813typedef union ktime ktime_t;
814#line 99 "include/linux/debugobjects.h"
815struct tvec_base;
816#line 99
817struct tvec_base;
818#line 99
819struct tvec_base;
820#line 99
821struct tvec_base;
822#line 100 "include/linux/debugobjects.h"
823struct timer_list {
824 struct list_head entry ;
825 unsigned long expires ;
826 struct tvec_base *base ;
827 void (*function)(unsigned long ) ;
828 unsigned long data ;
829 int slack ;
830 int start_pid ;
831 void *start_site ;
832 char start_comm[16U] ;
833 struct lockdep_map lockdep_map ;
834};
835#line 289 "include/linux/timer.h"
836struct hrtimer;
837#line 289
838struct hrtimer;
839#line 289
840struct hrtimer;
841#line 289
842struct hrtimer;
843#line 290
844enum hrtimer_restart;
845#line 290
846enum hrtimer_restart;
847#line 290
848enum hrtimer_restart;
849#line 302
850struct work_struct;
851#line 302
852struct work_struct;
853#line 302
854struct work_struct;
855#line 302
856struct work_struct;
857#line 45 "include/linux/workqueue.h"
858struct work_struct {
859 atomic_long_t data ;
860 struct list_head entry ;
861 void (*func)(struct work_struct * ) ;
862 struct lockdep_map lockdep_map ;
863};
864#line 86 "include/linux/workqueue.h"
865struct delayed_work {
866 struct work_struct work ;
867 struct timer_list timer ;
868};
869#line 443 "include/linux/workqueue.h"
870struct completion {
871 unsigned int done ;
872 wait_queue_head_t wait ;
873};
874#line 46 "include/linux/pm.h"
875struct pm_message {
876 int event ;
877};
878#line 52 "include/linux/pm.h"
879typedef struct pm_message pm_message_t;
880#line 53 "include/linux/pm.h"
881struct dev_pm_ops {
882 int (*prepare)(struct device * ) ;
883 void (*complete)(struct device * ) ;
884 int (*suspend)(struct device * ) ;
885 int (*resume)(struct device * ) ;
886 int (*freeze)(struct device * ) ;
887 int (*thaw)(struct device * ) ;
888 int (*poweroff)(struct device * ) ;
889 int (*restore)(struct device * ) ;
890 int (*suspend_noirq)(struct device * ) ;
891 int (*resume_noirq)(struct device * ) ;
892 int (*freeze_noirq)(struct device * ) ;
893 int (*thaw_noirq)(struct device * ) ;
894 int (*poweroff_noirq)(struct device * ) ;
895 int (*restore_noirq)(struct device * ) ;
896 int (*runtime_suspend)(struct device * ) ;
897 int (*runtime_resume)(struct device * ) ;
898 int (*runtime_idle)(struct device * ) ;
899};
900#line 272
901enum rpm_status {
902 RPM_ACTIVE = 0,
903 RPM_RESUMING = 1,
904 RPM_SUSPENDED = 2,
905 RPM_SUSPENDING = 3
906} ;
907#line 279
908enum rpm_request {
909 RPM_REQ_NONE = 0,
910 RPM_REQ_IDLE = 1,
911 RPM_REQ_SUSPEND = 2,
912 RPM_REQ_AUTOSUSPEND = 3,
913 RPM_REQ_RESUME = 4
914} ;
915#line 287
916struct wakeup_source;
917#line 287
918struct wakeup_source;
919#line 287
920struct wakeup_source;
921#line 287
922struct wakeup_source;
923#line 288 "include/linux/pm.h"
924struct dev_pm_info {
925 pm_message_t power_state ;
926 unsigned char can_wakeup : 1 ;
927 unsigned char async_suspend : 1 ;
928 bool is_prepared ;
929 bool is_suspended ;
930 spinlock_t lock ;
931 struct list_head entry ;
932 struct completion completion ;
933 struct wakeup_source *wakeup ;
934 struct timer_list suspend_timer ;
935 unsigned long timer_expires ;
936 struct work_struct work ;
937 wait_queue_head_t wait_queue ;
938 atomic_t usage_count ;
939 atomic_t child_count ;
940 unsigned char disable_depth : 3 ;
941 unsigned char ignore_children : 1 ;
942 unsigned char idle_notification : 1 ;
943 unsigned char request_pending : 1 ;
944 unsigned char deferred_resume : 1 ;
945 unsigned char run_wake : 1 ;
946 unsigned char runtime_auto : 1 ;
947 unsigned char no_callbacks : 1 ;
948 unsigned char irq_safe : 1 ;
949 unsigned char use_autosuspend : 1 ;
950 unsigned char timer_autosuspends : 1 ;
951 enum rpm_request request ;
952 enum rpm_status runtime_status ;
953 int runtime_error ;
954 int autosuspend_delay ;
955 unsigned long last_busy ;
956 unsigned long active_jiffies ;
957 unsigned long suspended_jiffies ;
958 unsigned long accounting_timestamp ;
959 void *subsys_data ;
960};
961#line 469 "include/linux/pm.h"
962struct dev_power_domain {
963 struct dev_pm_ops ops ;
964};
965#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
966struct __anonstruct_mm_context_t_99 {
967 void *ldt ;
968 int size ;
969 unsigned short ia32_compat ;
970 struct mutex lock ;
971 void *vdso ;
972};
973#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
974typedef struct __anonstruct_mm_context_t_99 mm_context_t;
975#line 71 "include/asm-generic/iomap.h"
976struct vm_area_struct;
977#line 71
978struct vm_area_struct;
979#line 71
980struct vm_area_struct;
981#line 71
982struct vm_area_struct;
983#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/io.h"
984struct bio_vec;
985#line 335
986struct bio_vec;
987#line 335
988struct bio_vec;
989#line 335
990struct bio_vec;
991#line 18 "include/linux/smp.h"
992struct call_single_data {
993 struct list_head list ;
994 void (*func)(void * ) ;
995 void *info ;
996 u16 flags ;
997 u16 priv ;
998};
999#line 53 "include/linux/rcupdate.h"
1000struct rcu_head {
1001 struct rcu_head *next ;
1002 void (*func)(struct rcu_head * ) ;
1003};
1004#line 841
1005struct nsproxy;
1006#line 841
1007struct nsproxy;
1008#line 841
1009struct nsproxy;
1010#line 841
1011struct nsproxy;
1012#line 842
1013struct ctl_table_root;
1014#line 842
1015struct ctl_table_root;
1016#line 842
1017struct ctl_table_root;
1018#line 842
1019struct ctl_table_root;
1020#line 843 "include/linux/rcupdate.h"
1021struct ctl_table_set {
1022 struct list_head list ;
1023 struct ctl_table_set *parent ;
1024 int (*is_seen)(struct ctl_table_set * ) ;
1025};
1026#line 947 "include/linux/sysctl.h"
1027struct ctl_table_header;
1028#line 947
1029struct ctl_table_header;
1030#line 947
1031struct ctl_table_header;
1032#line 947
1033struct ctl_table_header;
1034#line 965 "include/linux/sysctl.h"
1035typedef int proc_handler(struct ctl_table * , int , void * , size_t * , loff_t * );
1036#line 985 "include/linux/sysctl.h"
1037struct ctl_table {
1038 char const *procname ;
1039 void *data ;
1040 int maxlen ;
1041 mode_t mode ;
1042 struct ctl_table *child ;
1043 struct ctl_table *parent ;
1044 proc_handler *proc_handler ;
1045 void *extra1 ;
1046 void *extra2 ;
1047};
1048#line 1027 "include/linux/sysctl.h"
1049struct ctl_table_root {
1050 struct list_head root_list ;
1051 struct ctl_table_set default_set ;
1052 struct ctl_table_set *(*lookup)(struct ctl_table_root * , struct nsproxy * ) ;
1053 int (*permissions)(struct ctl_table_root * , struct nsproxy * , struct ctl_table * ) ;
1054};
1055#line 1035 "include/linux/sysctl.h"
1056struct __anonstruct_ldv_12193_124 {
1057 struct ctl_table *ctl_table ;
1058 struct list_head ctl_entry ;
1059 int used ;
1060 int count ;
1061};
1062#line 1035 "include/linux/sysctl.h"
1063union __anonunion_ldv_12195_123 {
1064 struct __anonstruct_ldv_12193_124 ldv_12193 ;
1065 struct rcu_head rcu ;
1066};
1067#line 1035 "include/linux/sysctl.h"
1068struct ctl_table_header {
1069 union __anonunion_ldv_12195_123 ldv_12195 ;
1070 struct completion *unregistering ;
1071 struct ctl_table *ctl_table_arg ;
1072 struct ctl_table_root *root ;
1073 struct ctl_table_set *set ;
1074 struct ctl_table *attached_by ;
1075 struct ctl_table *attached_to ;
1076 struct ctl_table_header *parent ;
1077};
1078#line 36 "include/linux/kmod.h"
1079struct cred;
1080#line 36
1081struct cred;
1082#line 36
1083struct cred;
1084#line 36
1085struct cred;
1086#line 27 "include/linux/elf.h"
1087typedef __u64 Elf64_Addr;
1088#line 28 "include/linux/elf.h"
1089typedef __u16 Elf64_Half;
1090#line 32 "include/linux/elf.h"
1091typedef __u32 Elf64_Word;
1092#line 33 "include/linux/elf.h"
1093typedef __u64 Elf64_Xword;
1094#line 202 "include/linux/elf.h"
1095struct elf64_sym {
1096 Elf64_Word st_name ;
1097 unsigned char st_info ;
1098 unsigned char st_other ;
1099 Elf64_Half st_shndx ;
1100 Elf64_Addr st_value ;
1101 Elf64_Xword st_size ;
1102};
1103#line 210 "include/linux/elf.h"
1104typedef struct elf64_sym Elf64_Sym;
1105#line 444
1106struct sock;
1107#line 444
1108struct sock;
1109#line 444
1110struct sock;
1111#line 444
1112struct sock;
1113#line 445
1114struct kobject;
1115#line 445
1116struct kobject;
1117#line 445
1118struct kobject;
1119#line 445
1120struct kobject;
1121#line 446
1122enum kobj_ns_type {
1123 KOBJ_NS_TYPE_NONE = 0,
1124 KOBJ_NS_TYPE_NET = 1,
1125 KOBJ_NS_TYPES = 2
1126} ;
1127#line 452 "include/linux/elf.h"
1128struct kobj_ns_type_operations {
1129 enum kobj_ns_type type ;
1130 void *(*grab_current_ns)(void) ;
1131 void const *(*netlink_ns)(struct sock * ) ;
1132 void const *(*initial_ns)(void) ;
1133 void (*drop_ns)(void * ) ;
1134};
1135#line 57 "include/linux/kobject_ns.h"
1136struct attribute {
1137 char const *name ;
1138 mode_t mode ;
1139 struct lock_class_key *key ;
1140 struct lock_class_key skey ;
1141};
1142#line 33 "include/linux/sysfs.h"
1143struct attribute_group {
1144 char const *name ;
1145 mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
1146 struct attribute **attrs ;
1147};
1148#line 62 "include/linux/sysfs.h"
1149struct bin_attribute {
1150 struct attribute attr ;
1151 size_t size ;
1152 void *private ;
1153 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1154 loff_t , size_t ) ;
1155 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1156 loff_t , size_t ) ;
1157 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
1158};
1159#line 98 "include/linux/sysfs.h"
1160struct sysfs_ops {
1161 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
1162 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
1163};
1164#line 116
1165struct sysfs_dirent;
1166#line 116
1167struct sysfs_dirent;
1168#line 116
1169struct sysfs_dirent;
1170#line 116
1171struct sysfs_dirent;
1172#line 181 "include/linux/sysfs.h"
1173struct kref {
1174 atomic_t refcount ;
1175};
1176#line 39 "include/linux/kobject.h"
1177enum kobject_action {
1178 KOBJ_ADD = 0,
1179 KOBJ_REMOVE = 1,
1180 KOBJ_CHANGE = 2,
1181 KOBJ_MOVE = 3,
1182 KOBJ_ONLINE = 4,
1183 KOBJ_OFFLINE = 5,
1184 KOBJ_MAX = 6
1185} ;
1186#line 49
1187struct kset;
1188#line 49
1189struct kset;
1190#line 49
1191struct kset;
1192#line 49
1193struct kobj_type;
1194#line 49
1195struct kobj_type;
1196#line 49
1197struct kobj_type;
1198#line 49 "include/linux/kobject.h"
1199struct kobject {
1200 char const *name ;
1201 struct list_head entry ;
1202 struct kobject *parent ;
1203 struct kset *kset ;
1204 struct kobj_type *ktype ;
1205 struct sysfs_dirent *sd ;
1206 struct kref kref ;
1207 unsigned char state_initialized : 1 ;
1208 unsigned char state_in_sysfs : 1 ;
1209 unsigned char state_add_uevent_sent : 1 ;
1210 unsigned char state_remove_uevent_sent : 1 ;
1211 unsigned char uevent_suppress : 1 ;
1212};
1213#line 109 "include/linux/kobject.h"
1214struct kobj_type {
1215 void (*release)(struct kobject * ) ;
1216 struct sysfs_ops const *sysfs_ops ;
1217 struct attribute **default_attrs ;
1218 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
1219 void const *(*namespace)(struct kobject * ) ;
1220};
1221#line 117 "include/linux/kobject.h"
1222struct kobj_uevent_env {
1223 char *envp[32U] ;
1224 int envp_idx ;
1225 char buf[2048U] ;
1226 int buflen ;
1227};
1228#line 124 "include/linux/kobject.h"
1229struct kset_uevent_ops {
1230 int (* const filter)(struct kset * , struct kobject * ) ;
1231 char const *(* const name)(struct kset * , struct kobject * ) ;
1232 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
1233};
1234#line 141 "include/linux/kobject.h"
1235struct kset {
1236 struct list_head list ;
1237 spinlock_t list_lock ;
1238 struct kobject kobj ;
1239 struct kset_uevent_ops const *uevent_ops ;
1240};
1241#line 219
1242struct kernel_param;
1243#line 219
1244struct kernel_param;
1245#line 219
1246struct kernel_param;
1247#line 219
1248struct kernel_param;
1249#line 220 "include/linux/kobject.h"
1250struct kernel_param_ops {
1251 int (*set)(char const * , struct kernel_param const * ) ;
1252 int (*get)(char * , struct kernel_param const * ) ;
1253 void (*free)(void * ) ;
1254};
1255#line 44 "include/linux/moduleparam.h"
1256struct kparam_string;
1257#line 44
1258struct kparam_string;
1259#line 44
1260struct kparam_string;
1261#line 44
1262struct kparam_array;
1263#line 44
1264struct kparam_array;
1265#line 44
1266struct kparam_array;
1267#line 44 "include/linux/moduleparam.h"
1268union __anonunion_ldv_12924_129 {
1269 void *arg ;
1270 struct kparam_string const *str ;
1271 struct kparam_array const *arr ;
1272};
1273#line 44 "include/linux/moduleparam.h"
1274struct kernel_param {
1275 char const *name ;
1276 struct kernel_param_ops const *ops ;
1277 u16 perm ;
1278 u16 flags ;
1279 union __anonunion_ldv_12924_129 ldv_12924 ;
1280};
1281#line 59 "include/linux/moduleparam.h"
1282struct kparam_string {
1283 unsigned int maxlen ;
1284 char *string ;
1285};
1286#line 65 "include/linux/moduleparam.h"
1287struct kparam_array {
1288 unsigned int max ;
1289 unsigned int elemsize ;
1290 unsigned int *num ;
1291 struct kernel_param_ops const *ops ;
1292 void *elem ;
1293};
1294#line 404 "include/linux/moduleparam.h"
1295struct jump_label_key {
1296 atomic_t enabled ;
1297};
1298#line 99 "include/linux/jump_label.h"
1299struct tracepoint;
1300#line 99
1301struct tracepoint;
1302#line 99
1303struct tracepoint;
1304#line 99
1305struct tracepoint;
1306#line 100 "include/linux/jump_label.h"
1307struct tracepoint_func {
1308 void *func ;
1309 void *data ;
1310};
1311#line 29 "include/linux/tracepoint.h"
1312struct tracepoint {
1313 char const *name ;
1314 struct jump_label_key key ;
1315 void (*regfunc)(void) ;
1316 void (*unregfunc)(void) ;
1317 struct tracepoint_func *funcs ;
1318};
1319#line 84 "include/linux/tracepoint.h"
1320struct mod_arch_specific {
1321
1322};
1323#line 127 "include/trace/events/module.h"
1324struct kernel_symbol {
1325 unsigned long value ;
1326 char const *name ;
1327};
1328#line 48 "include/linux/module.h"
1329struct module_attribute {
1330 struct attribute attr ;
1331 ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1332 ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1333 size_t ) ;
1334 void (*setup)(struct module * , char const * ) ;
1335 int (*test)(struct module * ) ;
1336 void (*free)(struct module * ) ;
1337};
1338#line 68
1339struct module_param_attrs;
1340#line 68
1341struct module_param_attrs;
1342#line 68
1343struct module_param_attrs;
1344#line 68 "include/linux/module.h"
1345struct module_kobject {
1346 struct kobject kobj ;
1347 struct module *mod ;
1348 struct kobject *drivers_dir ;
1349 struct module_param_attrs *mp ;
1350};
1351#line 81
1352struct exception_table_entry;
1353#line 81
1354struct exception_table_entry;
1355#line 81
1356struct exception_table_entry;
1357#line 81
1358struct exception_table_entry;
1359#line 218
1360enum module_state {
1361 MODULE_STATE_LIVE = 0,
1362 MODULE_STATE_COMING = 1,
1363 MODULE_STATE_GOING = 2
1364} ;
1365#line 224 "include/linux/module.h"
1366struct module_ref {
1367 unsigned int incs ;
1368 unsigned int decs ;
1369};
1370#line 418
1371struct module_sect_attrs;
1372#line 418
1373struct module_sect_attrs;
1374#line 418
1375struct module_sect_attrs;
1376#line 418
1377struct module_notes_attrs;
1378#line 418
1379struct module_notes_attrs;
1380#line 418
1381struct module_notes_attrs;
1382#line 418
1383struct ftrace_event_call;
1384#line 418
1385struct ftrace_event_call;
1386#line 418
1387struct ftrace_event_call;
1388#line 418 "include/linux/module.h"
1389struct module {
1390 enum module_state state ;
1391 struct list_head list ;
1392 char name[56U] ;
1393 struct module_kobject mkobj ;
1394 struct module_attribute *modinfo_attrs ;
1395 char const *version ;
1396 char const *srcversion ;
1397 struct kobject *holders_dir ;
1398 struct kernel_symbol const *syms ;
1399 unsigned long const *crcs ;
1400 unsigned int num_syms ;
1401 struct kernel_param *kp ;
1402 unsigned int num_kp ;
1403 unsigned int num_gpl_syms ;
1404 struct kernel_symbol const *gpl_syms ;
1405 unsigned long const *gpl_crcs ;
1406 struct kernel_symbol const *unused_syms ;
1407 unsigned long const *unused_crcs ;
1408 unsigned int num_unused_syms ;
1409 unsigned int num_unused_gpl_syms ;
1410 struct kernel_symbol const *unused_gpl_syms ;
1411 unsigned long const *unused_gpl_crcs ;
1412 struct kernel_symbol const *gpl_future_syms ;
1413 unsigned long const *gpl_future_crcs ;
1414 unsigned int num_gpl_future_syms ;
1415 unsigned int num_exentries ;
1416 struct exception_table_entry *extable ;
1417 int (*init)(void) ;
1418 void *module_init ;
1419 void *module_core ;
1420 unsigned int init_size ;
1421 unsigned int core_size ;
1422 unsigned int init_text_size ;
1423 unsigned int core_text_size ;
1424 unsigned int init_ro_size ;
1425 unsigned int core_ro_size ;
1426 struct mod_arch_specific arch ;
1427 unsigned int taints ;
1428 unsigned int num_bugs ;
1429 struct list_head bug_list ;
1430 struct bug_entry *bug_table ;
1431 Elf64_Sym *symtab ;
1432 Elf64_Sym *core_symtab ;
1433 unsigned int num_symtab ;
1434 unsigned int core_num_syms ;
1435 char *strtab ;
1436 char *core_strtab ;
1437 struct module_sect_attrs *sect_attrs ;
1438 struct module_notes_attrs *notes_attrs ;
1439 char *args ;
1440 void *percpu ;
1441 unsigned int percpu_size ;
1442 unsigned int num_tracepoints ;
1443 struct tracepoint * const *tracepoints_ptrs ;
1444 unsigned int num_trace_bprintk_fmt ;
1445 char const **trace_bprintk_fmt_start ;
1446 struct ftrace_event_call **trace_events ;
1447 unsigned int num_trace_events ;
1448 unsigned int num_ftrace_callsites ;
1449 unsigned long *ftrace_callsites ;
1450 struct list_head source_list ;
1451 struct list_head target_list ;
1452 struct task_struct *waiter ;
1453 void (*exit)(void) ;
1454 struct module_ref *refptr ;
1455 ctor_fn_t (**ctors)(void) ;
1456 unsigned int num_ctors ;
1457};
1458#line 8 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
1459struct pkt_ctrl_command {
1460 __u32 command ;
1461 __u32 dev_index ;
1462 __u32 dev ;
1463 __u32 pkt_dev ;
1464 __u32 num_devices ;
1465 __u32 padding ;
1466};
1467#line 93 "include/linux/capability.h"
1468struct kernel_cap_struct {
1469 __u32 cap[2U] ;
1470};
1471#line 96 "include/linux/capability.h"
1472typedef struct kernel_cap_struct kernel_cap_t;
1473#line 104
1474struct dentry;
1475#line 104
1476struct dentry;
1477#line 104
1478struct dentry;
1479#line 104
1480struct dentry;
1481#line 105
1482struct user_namespace;
1483#line 105
1484struct user_namespace;
1485#line 105
1486struct user_namespace;
1487#line 105
1488struct user_namespace;
1489#line 553 "include/linux/capability.h"
1490struct rb_node {
1491 unsigned long rb_parent_color ;
1492 struct rb_node *rb_right ;
1493 struct rb_node *rb_left ;
1494};
1495#line 108 "include/linux/rbtree.h"
1496struct rb_root {
1497 struct rb_node *rb_node ;
1498};
1499#line 176
1500struct prio_tree_node;
1501#line 176
1502struct prio_tree_node;
1503#line 176
1504struct prio_tree_node;
1505#line 176 "include/linux/rbtree.h"
1506struct raw_prio_tree_node {
1507 struct prio_tree_node *left ;
1508 struct prio_tree_node *right ;
1509 struct prio_tree_node *parent ;
1510};
1511#line 19 "include/linux/prio_tree.h"
1512struct prio_tree_node {
1513 struct prio_tree_node *left ;
1514 struct prio_tree_node *right ;
1515 struct prio_tree_node *parent ;
1516 unsigned long start ;
1517 unsigned long last ;
1518};
1519#line 27 "include/linux/prio_tree.h"
1520struct prio_tree_root {
1521 struct prio_tree_node *prio_tree_node ;
1522 unsigned short index_bits ;
1523 unsigned short raw ;
1524};
1525#line 115
1526struct address_space;
1527#line 115
1528struct address_space;
1529#line 115
1530struct address_space;
1531#line 115
1532struct address_space;
1533#line 116 "include/linux/prio_tree.h"
1534struct __anonstruct_ldv_13933_132 {
1535 u16 inuse ;
1536 u16 objects ;
1537};
1538#line 116 "include/linux/prio_tree.h"
1539union __anonunion_ldv_13934_131 {
1540 atomic_t _mapcount ;
1541 struct __anonstruct_ldv_13933_132 ldv_13933 ;
1542};
1543#line 116 "include/linux/prio_tree.h"
1544struct __anonstruct_ldv_13939_134 {
1545 unsigned long private ;
1546 struct address_space *mapping ;
1547};
1548#line 116 "include/linux/prio_tree.h"
1549union __anonunion_ldv_13942_133 {
1550 struct __anonstruct_ldv_13939_134 ldv_13939 ;
1551 struct kmem_cache *slab ;
1552 struct page *first_page ;
1553};
1554#line 116 "include/linux/prio_tree.h"
1555union __anonunion_ldv_13946_135 {
1556 unsigned long index ;
1557 void *freelist ;
1558};
1559#line 116 "include/linux/prio_tree.h"
1560struct page {
1561 unsigned long flags ;
1562 atomic_t _count ;
1563 union __anonunion_ldv_13934_131 ldv_13934 ;
1564 union __anonunion_ldv_13942_133 ldv_13942 ;
1565 union __anonunion_ldv_13946_135 ldv_13946 ;
1566 struct list_head lru ;
1567};
1568#line 124 "include/linux/mm_types.h"
1569struct __anonstruct_vm_set_137 {
1570 struct list_head list ;
1571 void *parent ;
1572 struct vm_area_struct *head ;
1573};
1574#line 124 "include/linux/mm_types.h"
1575union __anonunion_shared_136 {
1576 struct __anonstruct_vm_set_137 vm_set ;
1577 struct raw_prio_tree_node prio_tree_node ;
1578};
1579#line 124
1580struct anon_vma;
1581#line 124
1582struct anon_vma;
1583#line 124
1584struct anon_vma;
1585#line 124
1586struct vm_operations_struct;
1587#line 124
1588struct vm_operations_struct;
1589#line 124
1590struct vm_operations_struct;
1591#line 124
1592struct mempolicy;
1593#line 124
1594struct mempolicy;
1595#line 124
1596struct mempolicy;
1597#line 124 "include/linux/mm_types.h"
1598struct vm_area_struct {
1599 struct mm_struct *vm_mm ;
1600 unsigned long vm_start ;
1601 unsigned long vm_end ;
1602 struct vm_area_struct *vm_next ;
1603 struct vm_area_struct *vm_prev ;
1604 pgprot_t vm_page_prot ;
1605 unsigned long vm_flags ;
1606 struct rb_node vm_rb ;
1607 union __anonunion_shared_136 shared ;
1608 struct list_head anon_vma_chain ;
1609 struct anon_vma *anon_vma ;
1610 struct vm_operations_struct const *vm_ops ;
1611 unsigned long vm_pgoff ;
1612 struct file *vm_file ;
1613 void *vm_private_data ;
1614 struct mempolicy *vm_policy ;
1615};
1616#line 187 "include/linux/mm_types.h"
1617struct core_thread {
1618 struct task_struct *task ;
1619 struct core_thread *next ;
1620};
1621#line 193 "include/linux/mm_types.h"
1622struct core_state {
1623 atomic_t nr_threads ;
1624 struct core_thread dumper ;
1625 struct completion startup ;
1626};
1627#line 206 "include/linux/mm_types.h"
1628struct mm_rss_stat {
1629 atomic_long_t count[3U] ;
1630};
1631#line 219
1632struct linux_binfmt;
1633#line 219
1634struct linux_binfmt;
1635#line 219
1636struct linux_binfmt;
1637#line 219
1638struct mmu_notifier_mm;
1639#line 219
1640struct mmu_notifier_mm;
1641#line 219
1642struct mmu_notifier_mm;
1643#line 219 "include/linux/mm_types.h"
1644struct mm_struct {
1645 struct vm_area_struct *mmap ;
1646 struct rb_root mm_rb ;
1647 struct vm_area_struct *mmap_cache ;
1648 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1649 unsigned long , unsigned long ) ;
1650 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1651 unsigned long mmap_base ;
1652 unsigned long task_size ;
1653 unsigned long cached_hole_size ;
1654 unsigned long free_area_cache ;
1655 pgd_t *pgd ;
1656 atomic_t mm_users ;
1657 atomic_t mm_count ;
1658 int map_count ;
1659 spinlock_t page_table_lock ;
1660 struct rw_semaphore mmap_sem ;
1661 struct list_head mmlist ;
1662 unsigned long hiwater_rss ;
1663 unsigned long hiwater_vm ;
1664 unsigned long total_vm ;
1665 unsigned long locked_vm ;
1666 unsigned long shared_vm ;
1667 unsigned long exec_vm ;
1668 unsigned long stack_vm ;
1669 unsigned long reserved_vm ;
1670 unsigned long def_flags ;
1671 unsigned long nr_ptes ;
1672 unsigned long start_code ;
1673 unsigned long end_code ;
1674 unsigned long start_data ;
1675 unsigned long end_data ;
1676 unsigned long start_brk ;
1677 unsigned long brk ;
1678 unsigned long start_stack ;
1679 unsigned long arg_start ;
1680 unsigned long arg_end ;
1681 unsigned long env_start ;
1682 unsigned long env_end ;
1683 unsigned long saved_auxv[44U] ;
1684 struct mm_rss_stat rss_stat ;
1685 struct linux_binfmt *binfmt ;
1686 cpumask_var_t cpu_vm_mask_var ;
1687 mm_context_t context ;
1688 unsigned int faultstamp ;
1689 unsigned int token_priority ;
1690 unsigned int last_interval ;
1691 atomic_t oom_disable_count ;
1692 unsigned long flags ;
1693 struct core_state *core_state ;
1694 spinlock_t ioctx_lock ;
1695 struct hlist_head ioctx_list ;
1696 struct task_struct *owner ;
1697 struct file *exe_file ;
1698 unsigned long num_exe_file_vmas ;
1699 struct mmu_notifier_mm *mmu_notifier_mm ;
1700 pgtable_t pmd_huge_pte ;
1701 struct cpumask cpumask_allocation ;
1702};
1703#line 7 "include/asm-generic/cputime.h"
1704typedef unsigned long cputime_t;
1705#line 118 "include/linux/sem.h"
1706struct sem_undo_list;
1707#line 118
1708struct sem_undo_list;
1709#line 118
1710struct sem_undo_list;
1711#line 131 "include/linux/sem.h"
1712struct sem_undo_list {
1713 atomic_t refcnt ;
1714 spinlock_t lock ;
1715 struct list_head list_proc ;
1716};
1717#line 140 "include/linux/sem.h"
1718struct sysv_sem {
1719 struct sem_undo_list *undo_list ;
1720};
1721#line 149
1722struct siginfo;
1723#line 149
1724struct siginfo;
1725#line 149
1726struct siginfo;
1727#line 149
1728struct siginfo;
1729#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1730struct __anonstruct_sigset_t_138 {
1731 unsigned long sig[1U] ;
1732};
1733#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1734typedef struct __anonstruct_sigset_t_138 sigset_t;
1735#line 17 "include/asm-generic/signal-defs.h"
1736typedef void __signalfn_t(int );
1737#line 18 "include/asm-generic/signal-defs.h"
1738typedef __signalfn_t *__sighandler_t;
1739#line 20 "include/asm-generic/signal-defs.h"
1740typedef void __restorefn_t(void);
1741#line 21 "include/asm-generic/signal-defs.h"
1742typedef __restorefn_t *__sigrestore_t;
1743#line 126 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1744struct sigaction {
1745 __sighandler_t sa_handler ;
1746 unsigned long sa_flags ;
1747 __sigrestore_t sa_restorer ;
1748 sigset_t sa_mask ;
1749};
1750#line 173 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1751struct k_sigaction {
1752 struct sigaction sa ;
1753};
1754#line 185 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1755union sigval {
1756 int sival_int ;
1757 void *sival_ptr ;
1758};
1759#line 10 "include/asm-generic/siginfo.h"
1760typedef union sigval sigval_t;
1761#line 11 "include/asm-generic/siginfo.h"
1762struct __anonstruct__kill_140 {
1763 __kernel_pid_t _pid ;
1764 __kernel_uid32_t _uid ;
1765};
1766#line 11 "include/asm-generic/siginfo.h"
1767struct __anonstruct__timer_141 {
1768 __kernel_timer_t _tid ;
1769 int _overrun ;
1770 char _pad[0U] ;
1771 sigval_t _sigval ;
1772 int _sys_private ;
1773};
1774#line 11 "include/asm-generic/siginfo.h"
1775struct __anonstruct__rt_142 {
1776 __kernel_pid_t _pid ;
1777 __kernel_uid32_t _uid ;
1778 sigval_t _sigval ;
1779};
1780#line 11 "include/asm-generic/siginfo.h"
1781struct __anonstruct__sigchld_143 {
1782 __kernel_pid_t _pid ;
1783 __kernel_uid32_t _uid ;
1784 int _status ;
1785 __kernel_clock_t _utime ;
1786 __kernel_clock_t _stime ;
1787};
1788#line 11 "include/asm-generic/siginfo.h"
1789struct __anonstruct__sigfault_144 {
1790 void *_addr ;
1791 short _addr_lsb ;
1792};
1793#line 11 "include/asm-generic/siginfo.h"
1794struct __anonstruct__sigpoll_145 {
1795 long _band ;
1796 int _fd ;
1797};
1798#line 11 "include/asm-generic/siginfo.h"
1799union __anonunion__sifields_139 {
1800 int _pad[28U] ;
1801 struct __anonstruct__kill_140 _kill ;
1802 struct __anonstruct__timer_141 _timer ;
1803 struct __anonstruct__rt_142 _rt ;
1804 struct __anonstruct__sigchld_143 _sigchld ;
1805 struct __anonstruct__sigfault_144 _sigfault ;
1806 struct __anonstruct__sigpoll_145 _sigpoll ;
1807};
1808#line 11 "include/asm-generic/siginfo.h"
1809struct siginfo {
1810 int si_signo ;
1811 int si_errno ;
1812 int si_code ;
1813 union __anonunion__sifields_139 _sifields ;
1814};
1815#line 94 "include/asm-generic/siginfo.h"
1816typedef struct siginfo siginfo_t;
1817#line 14 "include/linux/signal.h"
1818struct user_struct;
1819#line 14
1820struct user_struct;
1821#line 14
1822struct user_struct;
1823#line 24 "include/linux/signal.h"
1824struct sigpending {
1825 struct list_head list ;
1826 sigset_t signal ;
1827};
1828#line 387
1829enum pid_type {
1830 PIDTYPE_PID = 0,
1831 PIDTYPE_PGID = 1,
1832 PIDTYPE_SID = 2,
1833 PIDTYPE_MAX = 3
1834} ;
1835#line 394
1836struct pid_namespace;
1837#line 394
1838struct pid_namespace;
1839#line 394
1840struct pid_namespace;
1841#line 394 "include/linux/signal.h"
1842struct upid {
1843 int nr ;
1844 struct pid_namespace *ns ;
1845 struct hlist_node pid_chain ;
1846};
1847#line 56 "include/linux/pid.h"
1848struct pid {
1849 atomic_t count ;
1850 unsigned int level ;
1851 struct hlist_head tasks[3U] ;
1852 struct rcu_head rcu ;
1853 struct upid numbers[1U] ;
1854};
1855#line 68 "include/linux/pid.h"
1856struct pid_link {
1857 struct hlist_node node ;
1858 struct pid *pid ;
1859};
1860#line 175 "include/linux/pid.h"
1861struct percpu_counter {
1862 spinlock_t lock ;
1863 s64 count ;
1864 struct list_head list ;
1865 s32 *counters ;
1866};
1867#line 45 "include/linux/proportions.h"
1868struct prop_local_percpu {
1869 struct percpu_counter events ;
1870 int shift ;
1871 unsigned long period ;
1872 spinlock_t lock ;
1873};
1874#line 90 "include/linux/proportions.h"
1875struct prop_local_single {
1876 unsigned long events ;
1877 unsigned long period ;
1878 int shift ;
1879 spinlock_t lock ;
1880};
1881#line 10 "include/linux/seccomp.h"
1882struct __anonstruct_seccomp_t_148 {
1883 int mode ;
1884};
1885#line 10 "include/linux/seccomp.h"
1886typedef struct __anonstruct_seccomp_t_148 seccomp_t;
1887#line 427 "include/linux/rculist.h"
1888struct plist_head {
1889 struct list_head node_list ;
1890 raw_spinlock_t *rawlock ;
1891 spinlock_t *spinlock ;
1892};
1893#line 88 "include/linux/plist.h"
1894struct plist_node {
1895 int prio ;
1896 struct list_head prio_list ;
1897 struct list_head node_list ;
1898};
1899#line 38 "include/linux/rtmutex.h"
1900struct rt_mutex_waiter;
1901#line 38
1902struct rt_mutex_waiter;
1903#line 38
1904struct rt_mutex_waiter;
1905#line 38
1906struct rt_mutex_waiter;
1907#line 41 "include/linux/resource.h"
1908struct rlimit {
1909 unsigned long rlim_cur ;
1910 unsigned long rlim_max ;
1911};
1912#line 85 "include/linux/resource.h"
1913struct timerqueue_node {
1914 struct rb_node node ;
1915 ktime_t expires ;
1916};
1917#line 12 "include/linux/timerqueue.h"
1918struct timerqueue_head {
1919 struct rb_root head ;
1920 struct timerqueue_node *next ;
1921};
1922#line 50
1923struct hrtimer_clock_base;
1924#line 50
1925struct hrtimer_clock_base;
1926#line 50
1927struct hrtimer_clock_base;
1928#line 50
1929struct hrtimer_clock_base;
1930#line 51
1931struct hrtimer_cpu_base;
1932#line 51
1933struct hrtimer_cpu_base;
1934#line 51
1935struct hrtimer_cpu_base;
1936#line 51
1937struct hrtimer_cpu_base;
1938#line 60
1939enum hrtimer_restart {
1940 HRTIMER_NORESTART = 0,
1941 HRTIMER_RESTART = 1
1942} ;
1943#line 65 "include/linux/timerqueue.h"
1944struct hrtimer {
1945 struct timerqueue_node node ;
1946 ktime_t _softexpires ;
1947 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1948 struct hrtimer_clock_base *base ;
1949 unsigned long state ;
1950 int start_pid ;
1951 void *start_site ;
1952 char start_comm[16U] ;
1953};
1954#line 132 "include/linux/hrtimer.h"
1955struct hrtimer_clock_base {
1956 struct hrtimer_cpu_base *cpu_base ;
1957 int index ;
1958 clockid_t clockid ;
1959 struct timerqueue_head active ;
1960 ktime_t resolution ;
1961 ktime_t (*get_time)(void) ;
1962 ktime_t softirq_time ;
1963 ktime_t offset ;
1964};
1965#line 162 "include/linux/hrtimer.h"
1966struct hrtimer_cpu_base {
1967 raw_spinlock_t lock ;
1968 unsigned long active_bases ;
1969 ktime_t expires_next ;
1970 int hres_active ;
1971 int hang_detected ;
1972 unsigned long nr_events ;
1973 unsigned long nr_retries ;
1974 unsigned long nr_hangs ;
1975 ktime_t max_hang_time ;
1976 struct hrtimer_clock_base clock_base[3U] ;
1977};
1978#line 452 "include/linux/hrtimer.h"
1979struct task_io_accounting {
1980 u64 rchar ;
1981 u64 wchar ;
1982 u64 syscr ;
1983 u64 syscw ;
1984 u64 read_bytes ;
1985 u64 write_bytes ;
1986 u64 cancelled_write_bytes ;
1987};
1988#line 45 "include/linux/task_io_accounting.h"
1989struct latency_record {
1990 unsigned long backtrace[12U] ;
1991 unsigned int count ;
1992 unsigned long time ;
1993 unsigned long max ;
1994};
1995#line 29 "include/linux/key.h"
1996typedef int32_t key_serial_t;
1997#line 32 "include/linux/key.h"
1998typedef uint32_t key_perm_t;
1999#line 33
2000struct key;
2001#line 33
2002struct key;
2003#line 33
2004struct key;
2005#line 33
2006struct key;
2007#line 34
2008struct signal_struct;
2009#line 34
2010struct signal_struct;
2011#line 34
2012struct signal_struct;
2013#line 34
2014struct signal_struct;
2015#line 35
2016struct key_type;
2017#line 35
2018struct key_type;
2019#line 35
2020struct key_type;
2021#line 35
2022struct key_type;
2023#line 37
2024struct keyring_list;
2025#line 37
2026struct keyring_list;
2027#line 37
2028struct keyring_list;
2029#line 37
2030struct keyring_list;
2031#line 115
2032struct key_user;
2033#line 115
2034struct key_user;
2035#line 115
2036struct key_user;
2037#line 115 "include/linux/key.h"
2038union __anonunion_ldv_15200_149 {
2039 time_t expiry ;
2040 time_t revoked_at ;
2041};
2042#line 115 "include/linux/key.h"
2043union __anonunion_type_data_150 {
2044 struct list_head link ;
2045 unsigned long x[2U] ;
2046 void *p[2U] ;
2047 int reject_error ;
2048};
2049#line 115 "include/linux/key.h"
2050union __anonunion_payload_151 {
2051 unsigned long value ;
2052 void *rcudata ;
2053 void *data ;
2054 struct keyring_list *subscriptions ;
2055};
2056#line 115 "include/linux/key.h"
2057struct key {
2058 atomic_t usage ;
2059 key_serial_t serial ;
2060 struct rb_node serial_node ;
2061 struct key_type *type ;
2062 struct rw_semaphore sem ;
2063 struct key_user *user ;
2064 void *security ;
2065 union __anonunion_ldv_15200_149 ldv_15200 ;
2066 uid_t uid ;
2067 gid_t gid ;
2068 key_perm_t perm ;
2069 unsigned short quotalen ;
2070 unsigned short datalen ;
2071 unsigned long flags ;
2072 char *description ;
2073 union __anonunion_type_data_150 type_data ;
2074 union __anonunion_payload_151 payload ;
2075};
2076#line 310
2077struct audit_context;
2078#line 310
2079struct audit_context;
2080#line 310
2081struct audit_context;
2082#line 310
2083struct audit_context;
2084#line 27 "include/linux/selinux.h"
2085struct inode;
2086#line 27
2087struct inode;
2088#line 27
2089struct inode;
2090#line 27
2091struct inode;
2092#line 28 "include/linux/selinux.h"
2093struct group_info {
2094 atomic_t usage ;
2095 int ngroups ;
2096 int nblocks ;
2097 gid_t small_block[32U] ;
2098 gid_t *blocks[0U] ;
2099};
2100#line 77 "include/linux/cred.h"
2101struct thread_group_cred {
2102 atomic_t usage ;
2103 pid_t tgid ;
2104 spinlock_t lock ;
2105 struct key *session_keyring ;
2106 struct key *process_keyring ;
2107 struct rcu_head rcu ;
2108};
2109#line 91 "include/linux/cred.h"
2110struct cred {
2111 atomic_t usage ;
2112 atomic_t subscribers ;
2113 void *put_addr ;
2114 unsigned int magic ;
2115 uid_t uid ;
2116 gid_t gid ;
2117 uid_t suid ;
2118 gid_t sgid ;
2119 uid_t euid ;
2120 gid_t egid ;
2121 uid_t fsuid ;
2122 gid_t fsgid ;
2123 unsigned int securebits ;
2124 kernel_cap_t cap_inheritable ;
2125 kernel_cap_t cap_permitted ;
2126 kernel_cap_t cap_effective ;
2127 kernel_cap_t cap_bset ;
2128 unsigned char jit_keyring ;
2129 struct key *thread_keyring ;
2130 struct key *request_key_auth ;
2131 struct thread_group_cred *tgcred ;
2132 void *security ;
2133 struct user_struct *user ;
2134 struct user_namespace *user_ns ;
2135 struct group_info *group_info ;
2136 struct rcu_head rcu ;
2137};
2138#line 264
2139struct futex_pi_state;
2140#line 264
2141struct futex_pi_state;
2142#line 264
2143struct futex_pi_state;
2144#line 264
2145struct futex_pi_state;
2146#line 265
2147struct robust_list_head;
2148#line 265
2149struct robust_list_head;
2150#line 265
2151struct robust_list_head;
2152#line 265
2153struct robust_list_head;
2154#line 266
2155struct bio_list;
2156#line 266
2157struct bio_list;
2158#line 266
2159struct bio_list;
2160#line 266
2161struct bio_list;
2162#line 267
2163struct fs_struct;
2164#line 267
2165struct fs_struct;
2166#line 267
2167struct fs_struct;
2168#line 267
2169struct fs_struct;
2170#line 268
2171struct perf_event_context;
2172#line 268
2173struct perf_event_context;
2174#line 268
2175struct perf_event_context;
2176#line 268
2177struct perf_event_context;
2178#line 269
2179struct blk_plug;
2180#line 269
2181struct blk_plug;
2182#line 269
2183struct blk_plug;
2184#line 269
2185struct blk_plug;
2186#line 149 "include/linux/sched.h"
2187struct cfs_rq;
2188#line 149
2189struct cfs_rq;
2190#line 149
2191struct cfs_rq;
2192#line 149
2193struct cfs_rq;
2194#line 44 "include/linux/aio_abi.h"
2195struct io_event {
2196 __u64 data ;
2197 __u64 obj ;
2198 __s64 res ;
2199 __s64 res2 ;
2200};
2201#line 106 "include/linux/aio_abi.h"
2202struct iovec {
2203 void *iov_base ;
2204 __kernel_size_t iov_len ;
2205};
2206#line 54 "include/linux/uio.h"
2207struct kioctx;
2208#line 54
2209struct kioctx;
2210#line 54
2211struct kioctx;
2212#line 54
2213struct kioctx;
2214#line 55 "include/linux/uio.h"
2215union __anonunion_ki_obj_152 {
2216 void *user ;
2217 struct task_struct *tsk ;
2218};
2219#line 55
2220struct eventfd_ctx;
2221#line 55
2222struct eventfd_ctx;
2223#line 55
2224struct eventfd_ctx;
2225#line 55 "include/linux/uio.h"
2226struct kiocb {
2227 struct list_head ki_run_list ;
2228 unsigned long ki_flags ;
2229 int ki_users ;
2230 unsigned int ki_key ;
2231 struct file *ki_filp ;
2232 struct kioctx *ki_ctx ;
2233 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2234 ssize_t (*ki_retry)(struct kiocb * ) ;
2235 void (*ki_dtor)(struct kiocb * ) ;
2236 union __anonunion_ki_obj_152 ki_obj ;
2237 __u64 ki_user_data ;
2238 loff_t ki_pos ;
2239 void *private ;
2240 unsigned short ki_opcode ;
2241 size_t ki_nbytes ;
2242 char *ki_buf ;
2243 size_t ki_left ;
2244 struct iovec ki_inline_vec ;
2245 struct iovec *ki_iovec ;
2246 unsigned long ki_nr_segs ;
2247 unsigned long ki_cur_seg ;
2248 struct list_head ki_list ;
2249 struct eventfd_ctx *ki_eventfd ;
2250};
2251#line 161 "include/linux/aio.h"
2252struct aio_ring_info {
2253 unsigned long mmap_base ;
2254 unsigned long mmap_size ;
2255 struct page **ring_pages ;
2256 spinlock_t ring_lock ;
2257 long nr_pages ;
2258 unsigned int nr ;
2259 unsigned int tail ;
2260 struct page *internal_pages[8U] ;
2261};
2262#line 177 "include/linux/aio.h"
2263struct kioctx {
2264 atomic_t users ;
2265 int dead ;
2266 struct mm_struct *mm ;
2267 unsigned long user_id ;
2268 struct hlist_node list ;
2269 wait_queue_head_t wait ;
2270 spinlock_t ctx_lock ;
2271 int reqs_active ;
2272 struct list_head active_reqs ;
2273 struct list_head run_list ;
2274 unsigned int max_reqs ;
2275 struct aio_ring_info ring_info ;
2276 struct delayed_work wq ;
2277 struct rcu_head rcu_head ;
2278};
2279#line 404 "include/linux/sched.h"
2280struct sighand_struct {
2281 atomic_t count ;
2282 struct k_sigaction action[64U] ;
2283 spinlock_t siglock ;
2284 wait_queue_head_t signalfd_wqh ;
2285};
2286#line 447 "include/linux/sched.h"
2287struct pacct_struct {
2288 int ac_flag ;
2289 long ac_exitcode ;
2290 unsigned long ac_mem ;
2291 cputime_t ac_utime ;
2292 cputime_t ac_stime ;
2293 unsigned long ac_minflt ;
2294 unsigned long ac_majflt ;
2295};
2296#line 455 "include/linux/sched.h"
2297struct cpu_itimer {
2298 cputime_t expires ;
2299 cputime_t incr ;
2300 u32 error ;
2301 u32 incr_error ;
2302};
2303#line 462 "include/linux/sched.h"
2304struct task_cputime {
2305 cputime_t utime ;
2306 cputime_t stime ;
2307 unsigned long long sum_exec_runtime ;
2308};
2309#line 479 "include/linux/sched.h"
2310struct thread_group_cputimer {
2311 struct task_cputime cputime ;
2312 int running ;
2313 spinlock_t lock ;
2314};
2315#line 515
2316struct autogroup;
2317#line 515
2318struct autogroup;
2319#line 515
2320struct autogroup;
2321#line 515
2322struct autogroup;
2323#line 516
2324struct tty_struct;
2325#line 516
2326struct tty_struct;
2327#line 516
2328struct tty_struct;
2329#line 516
2330struct taskstats;
2331#line 516
2332struct taskstats;
2333#line 516
2334struct taskstats;
2335#line 516
2336struct tty_audit_buf;
2337#line 516
2338struct tty_audit_buf;
2339#line 516
2340struct tty_audit_buf;
2341#line 516 "include/linux/sched.h"
2342struct signal_struct {
2343 atomic_t sigcnt ;
2344 atomic_t live ;
2345 int nr_threads ;
2346 wait_queue_head_t wait_chldexit ;
2347 struct task_struct *curr_target ;
2348 struct sigpending shared_pending ;
2349 int group_exit_code ;
2350 int notify_count ;
2351 struct task_struct *group_exit_task ;
2352 int group_stop_count ;
2353 unsigned int flags ;
2354 struct list_head posix_timers ;
2355 struct hrtimer real_timer ;
2356 struct pid *leader_pid ;
2357 ktime_t it_real_incr ;
2358 struct cpu_itimer it[2U] ;
2359 struct thread_group_cputimer cputimer ;
2360 struct task_cputime cputime_expires ;
2361 struct list_head cpu_timers[3U] ;
2362 struct pid *tty_old_pgrp ;
2363 int leader ;
2364 struct tty_struct *tty ;
2365 struct autogroup *autogroup ;
2366 cputime_t utime ;
2367 cputime_t stime ;
2368 cputime_t cutime ;
2369 cputime_t cstime ;
2370 cputime_t gtime ;
2371 cputime_t cgtime ;
2372 cputime_t prev_utime ;
2373 cputime_t prev_stime ;
2374 unsigned long nvcsw ;
2375 unsigned long nivcsw ;
2376 unsigned long cnvcsw ;
2377 unsigned long cnivcsw ;
2378 unsigned long min_flt ;
2379 unsigned long maj_flt ;
2380 unsigned long cmin_flt ;
2381 unsigned long cmaj_flt ;
2382 unsigned long inblock ;
2383 unsigned long oublock ;
2384 unsigned long cinblock ;
2385 unsigned long coublock ;
2386 unsigned long maxrss ;
2387 unsigned long cmaxrss ;
2388 struct task_io_accounting ioac ;
2389 unsigned long long sum_sched_runtime ;
2390 struct rlimit rlim[16U] ;
2391 struct pacct_struct pacct ;
2392 struct taskstats *stats ;
2393 unsigned int audit_tty ;
2394 struct tty_audit_buf *tty_audit_buf ;
2395 struct rw_semaphore threadgroup_fork_lock ;
2396 int oom_adj ;
2397 int oom_score_adj ;
2398 int oom_score_adj_min ;
2399 struct mutex cred_guard_mutex ;
2400};
2401#line 683 "include/linux/sched.h"
2402struct user_struct {
2403 atomic_t __count ;
2404 atomic_t processes ;
2405 atomic_t files ;
2406 atomic_t sigpending ;
2407 atomic_t inotify_watches ;
2408 atomic_t inotify_devs ;
2409 atomic_t fanotify_listeners ;
2410 atomic_long_t epoll_watches ;
2411 unsigned long mq_bytes ;
2412 unsigned long locked_shm ;
2413 struct key *uid_keyring ;
2414 struct key *session_keyring ;
2415 struct hlist_node uidhash_node ;
2416 uid_t uid ;
2417 struct user_namespace *user_ns ;
2418 atomic_long_t locked_vm ;
2419};
2420#line 728
2421struct backing_dev_info;
2422#line 728
2423struct backing_dev_info;
2424#line 728
2425struct backing_dev_info;
2426#line 728
2427struct backing_dev_info;
2428#line 729
2429struct reclaim_state;
2430#line 729
2431struct reclaim_state;
2432#line 729
2433struct reclaim_state;
2434#line 729
2435struct reclaim_state;
2436#line 730 "include/linux/sched.h"
2437struct sched_info {
2438 unsigned long pcount ;
2439 unsigned long long run_delay ;
2440 unsigned long long last_arrival ;
2441 unsigned long long last_queued ;
2442};
2443#line 744 "include/linux/sched.h"
2444struct task_delay_info {
2445 spinlock_t lock ;
2446 unsigned int flags ;
2447 struct timespec blkio_start ;
2448 struct timespec blkio_end ;
2449 u64 blkio_delay ;
2450 u64 swapin_delay ;
2451 u32 blkio_count ;
2452 u32 swapin_count ;
2453 struct timespec freepages_start ;
2454 struct timespec freepages_end ;
2455 u64 freepages_delay ;
2456 u32 freepages_count ;
2457};
2458#line 1037
2459struct io_context;
2460#line 1037
2461struct io_context;
2462#line 1037
2463struct io_context;
2464#line 1037
2465struct io_context;
2466#line 1059
2467struct pipe_inode_info;
2468#line 1059
2469struct pipe_inode_info;
2470#line 1059
2471struct pipe_inode_info;
2472#line 1059
2473struct pipe_inode_info;
2474#line 1061
2475struct rq;
2476#line 1061
2477struct rq;
2478#line 1061
2479struct rq;
2480#line 1061
2481struct rq;
2482#line 1062 "include/linux/sched.h"
2483struct sched_class {
2484 struct sched_class const *next ;
2485 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2486 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2487 void (*yield_task)(struct rq * ) ;
2488 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2489 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2490 struct task_struct *(*pick_next_task)(struct rq * ) ;
2491 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2492 int (*select_task_rq)(struct task_struct * , int , int ) ;
2493 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2494 void (*post_schedule)(struct rq * ) ;
2495 void (*task_waking)(struct task_struct * ) ;
2496 void (*task_woken)(struct rq * , struct task_struct * ) ;
2497 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
2498 void (*rq_online)(struct rq * ) ;
2499 void (*rq_offline)(struct rq * ) ;
2500 void (*set_curr_task)(struct rq * ) ;
2501 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2502 void (*task_fork)(struct task_struct * ) ;
2503 void (*switched_from)(struct rq * , struct task_struct * ) ;
2504 void (*switched_to)(struct rq * , struct task_struct * ) ;
2505 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2506 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2507 void (*task_move_group)(struct task_struct * , int ) ;
2508};
2509#line 1127 "include/linux/sched.h"
2510struct load_weight {
2511 unsigned long weight ;
2512 unsigned long inv_weight ;
2513};
2514#line 1132 "include/linux/sched.h"
2515struct sched_statistics {
2516 u64 wait_start ;
2517 u64 wait_max ;
2518 u64 wait_count ;
2519 u64 wait_sum ;
2520 u64 iowait_count ;
2521 u64 iowait_sum ;
2522 u64 sleep_start ;
2523 u64 sleep_max ;
2524 s64 sum_sleep_runtime ;
2525 u64 block_start ;
2526 u64 block_max ;
2527 u64 exec_max ;
2528 u64 slice_max ;
2529 u64 nr_migrations_cold ;
2530 u64 nr_failed_migrations_affine ;
2531 u64 nr_failed_migrations_running ;
2532 u64 nr_failed_migrations_hot ;
2533 u64 nr_forced_migrations ;
2534 u64 nr_wakeups ;
2535 u64 nr_wakeups_sync ;
2536 u64 nr_wakeups_migrate ;
2537 u64 nr_wakeups_local ;
2538 u64 nr_wakeups_remote ;
2539 u64 nr_wakeups_affine ;
2540 u64 nr_wakeups_affine_attempts ;
2541 u64 nr_wakeups_passive ;
2542 u64 nr_wakeups_idle ;
2543};
2544#line 1167 "include/linux/sched.h"
2545struct sched_entity {
2546 struct load_weight load ;
2547 struct rb_node run_node ;
2548 struct list_head group_node ;
2549 unsigned int on_rq ;
2550 u64 exec_start ;
2551 u64 sum_exec_runtime ;
2552 u64 vruntime ;
2553 u64 prev_sum_exec_runtime ;
2554 u64 nr_migrations ;
2555 struct sched_statistics statistics ;
2556 struct sched_entity *parent ;
2557 struct cfs_rq *cfs_rq ;
2558 struct cfs_rq *my_q ;
2559};
2560#line 1193
2561struct rt_rq;
2562#line 1193
2563struct rt_rq;
2564#line 1193
2565struct rt_rq;
2566#line 1193 "include/linux/sched.h"
2567struct sched_rt_entity {
2568 struct list_head run_list ;
2569 unsigned long timeout ;
2570 unsigned int time_slice ;
2571 int nr_cpus_allowed ;
2572 struct sched_rt_entity *back ;
2573 struct sched_rt_entity *parent ;
2574 struct rt_rq *rt_rq ;
2575 struct rt_rq *my_q ;
2576};
2577#line 1217
2578struct mem_cgroup;
2579#line 1217
2580struct mem_cgroup;
2581#line 1217
2582struct mem_cgroup;
2583#line 1217 "include/linux/sched.h"
2584struct memcg_batch_info {
2585 int do_batch ;
2586 struct mem_cgroup *memcg ;
2587 unsigned long nr_pages ;
2588 unsigned long memsw_nr_pages ;
2589};
2590#line 1569
2591struct files_struct;
2592#line 1569
2593struct files_struct;
2594#line 1569
2595struct files_struct;
2596#line 1569
2597struct irqaction;
2598#line 1569
2599struct irqaction;
2600#line 1569
2601struct irqaction;
2602#line 1569
2603struct css_set;
2604#line 1569
2605struct css_set;
2606#line 1569
2607struct css_set;
2608#line 1569
2609struct compat_robust_list_head;
2610#line 1569
2611struct compat_robust_list_head;
2612#line 1569
2613struct compat_robust_list_head;
2614#line 1569
2615struct ftrace_ret_stack;
2616#line 1569
2617struct ftrace_ret_stack;
2618#line 1569
2619struct ftrace_ret_stack;
2620#line 1569 "include/linux/sched.h"
2621struct task_struct {
2622 long volatile state ;
2623 void *stack ;
2624 atomic_t usage ;
2625 unsigned int flags ;
2626 unsigned int ptrace ;
2627 struct task_struct *wake_entry ;
2628 int on_cpu ;
2629 int on_rq ;
2630 int prio ;
2631 int static_prio ;
2632 int normal_prio ;
2633 unsigned int rt_priority ;
2634 struct sched_class const *sched_class ;
2635 struct sched_entity se ;
2636 struct sched_rt_entity rt ;
2637 struct hlist_head preempt_notifiers ;
2638 unsigned char fpu_counter ;
2639 unsigned int btrace_seq ;
2640 unsigned int policy ;
2641 cpumask_t cpus_allowed ;
2642 struct sched_info sched_info ;
2643 struct list_head tasks ;
2644 struct plist_node pushable_tasks ;
2645 struct mm_struct *mm ;
2646 struct mm_struct *active_mm ;
2647 unsigned char brk_randomized : 1 ;
2648 int exit_state ;
2649 int exit_code ;
2650 int exit_signal ;
2651 int pdeath_signal ;
2652 unsigned int group_stop ;
2653 unsigned int personality ;
2654 unsigned char did_exec : 1 ;
2655 unsigned char in_execve : 1 ;
2656 unsigned char in_iowait : 1 ;
2657 unsigned char sched_reset_on_fork : 1 ;
2658 unsigned char sched_contributes_to_load : 1 ;
2659 pid_t pid ;
2660 pid_t tgid ;
2661 unsigned long stack_canary ;
2662 struct task_struct *real_parent ;
2663 struct task_struct *parent ;
2664 struct list_head children ;
2665 struct list_head sibling ;
2666 struct task_struct *group_leader ;
2667 struct list_head ptraced ;
2668 struct list_head ptrace_entry ;
2669 struct pid_link pids[3U] ;
2670 struct list_head thread_group ;
2671 struct completion *vfork_done ;
2672 int *set_child_tid ;
2673 int *clear_child_tid ;
2674 cputime_t utime ;
2675 cputime_t stime ;
2676 cputime_t utimescaled ;
2677 cputime_t stimescaled ;
2678 cputime_t gtime ;
2679 cputime_t prev_utime ;
2680 cputime_t prev_stime ;
2681 unsigned long nvcsw ;
2682 unsigned long nivcsw ;
2683 struct timespec start_time ;
2684 struct timespec real_start_time ;
2685 unsigned long min_flt ;
2686 unsigned long maj_flt ;
2687 struct task_cputime cputime_expires ;
2688 struct list_head cpu_timers[3U] ;
2689 struct cred const *real_cred ;
2690 struct cred const *cred ;
2691 struct cred *replacement_session_keyring ;
2692 char comm[16U] ;
2693 int link_count ;
2694 int total_link_count ;
2695 struct sysv_sem sysvsem ;
2696 unsigned long last_switch_count ;
2697 struct thread_struct thread ;
2698 struct fs_struct *fs ;
2699 struct files_struct *files ;
2700 struct nsproxy *nsproxy ;
2701 struct signal_struct *signal ;
2702 struct sighand_struct *sighand ;
2703 sigset_t blocked ;
2704 sigset_t real_blocked ;
2705 sigset_t saved_sigmask ;
2706 struct sigpending pending ;
2707 unsigned long sas_ss_sp ;
2708 size_t sas_ss_size ;
2709 int (*notifier)(void * ) ;
2710 void *notifier_data ;
2711 sigset_t *notifier_mask ;
2712 struct audit_context *audit_context ;
2713 uid_t loginuid ;
2714 unsigned int sessionid ;
2715 seccomp_t seccomp ;
2716 u32 parent_exec_id ;
2717 u32 self_exec_id ;
2718 spinlock_t alloc_lock ;
2719 struct irqaction *irqaction ;
2720 raw_spinlock_t pi_lock ;
2721 struct plist_head pi_waiters ;
2722 struct rt_mutex_waiter *pi_blocked_on ;
2723 struct mutex_waiter *blocked_on ;
2724 unsigned int irq_events ;
2725 unsigned long hardirq_enable_ip ;
2726 unsigned long hardirq_disable_ip ;
2727 unsigned int hardirq_enable_event ;
2728 unsigned int hardirq_disable_event ;
2729 int hardirqs_enabled ;
2730 int hardirq_context ;
2731 unsigned long softirq_disable_ip ;
2732 unsigned long softirq_enable_ip ;
2733 unsigned int softirq_disable_event ;
2734 unsigned int softirq_enable_event ;
2735 int softirqs_enabled ;
2736 int softirq_context ;
2737 u64 curr_chain_key ;
2738 int lockdep_depth ;
2739 unsigned int lockdep_recursion ;
2740 struct held_lock held_locks[48U] ;
2741 gfp_t lockdep_reclaim_gfp ;
2742 void *journal_info ;
2743 struct bio_list *bio_list ;
2744 struct blk_plug *plug ;
2745 struct reclaim_state *reclaim_state ;
2746 struct backing_dev_info *backing_dev_info ;
2747 struct io_context *io_context ;
2748 unsigned long ptrace_message ;
2749 siginfo_t *last_siginfo ;
2750 struct task_io_accounting ioac ;
2751 u64 acct_rss_mem1 ;
2752 u64 acct_vm_mem1 ;
2753 cputime_t acct_timexpd ;
2754 nodemask_t mems_allowed ;
2755 int mems_allowed_change_disable ;
2756 int cpuset_mem_spread_rotor ;
2757 int cpuset_slab_spread_rotor ;
2758 struct css_set *cgroups ;
2759 struct list_head cg_list ;
2760 struct robust_list_head *robust_list ;
2761 struct compat_robust_list_head *compat_robust_list ;
2762 struct list_head pi_state_list ;
2763 struct futex_pi_state *pi_state_cache ;
2764 struct perf_event_context *perf_event_ctxp[2U] ;
2765 struct mutex perf_event_mutex ;
2766 struct list_head perf_event_list ;
2767 struct mempolicy *mempolicy ;
2768 short il_next ;
2769 short pref_node_fork ;
2770 atomic_t fs_excl ;
2771 struct rcu_head rcu ;
2772 struct pipe_inode_info *splice_pipe ;
2773 struct task_delay_info *delays ;
2774 int make_it_fail ;
2775 struct prop_local_single dirties ;
2776 int latency_record_count ;
2777 struct latency_record latency_record[32U] ;
2778 unsigned long timer_slack_ns ;
2779 unsigned long default_timer_slack_ns ;
2780 struct list_head *scm_work_list ;
2781 int curr_ret_stack ;
2782 struct ftrace_ret_stack *ret_stack ;
2783 unsigned long long ftrace_timestamp ;
2784 atomic_t trace_overrun ;
2785 atomic_t tracing_graph_pause ;
2786 unsigned long trace ;
2787 unsigned long trace_recursion ;
2788 struct memcg_batch_info memcg_batch ;
2789 atomic_t ptrace_bp_refcnt ;
2790};
2791#line 118 "include/linux/kmemleak.h"
2792struct kmem_cache_cpu {
2793 void **freelist ;
2794 unsigned long tid ;
2795 struct page *page ;
2796 int node ;
2797 unsigned int stat[19U] ;
2798};
2799#line 46 "include/linux/slub_def.h"
2800struct kmem_cache_node {
2801 spinlock_t list_lock ;
2802 unsigned long nr_partial ;
2803 struct list_head partial ;
2804 atomic_long_t nr_slabs ;
2805 atomic_long_t total_objects ;
2806 struct list_head full ;
2807};
2808#line 57 "include/linux/slub_def.h"
2809struct kmem_cache_order_objects {
2810 unsigned long x ;
2811};
2812#line 67 "include/linux/slub_def.h"
2813struct kmem_cache {
2814 struct kmem_cache_cpu *cpu_slab ;
2815 unsigned long flags ;
2816 unsigned long min_partial ;
2817 int size ;
2818 int objsize ;
2819 int offset ;
2820 struct kmem_cache_order_objects oo ;
2821 struct kmem_cache_order_objects max ;
2822 struct kmem_cache_order_objects min ;
2823 gfp_t allocflags ;
2824 int refcount ;
2825 void (*ctor)(void * ) ;
2826 int inuse ;
2827 int align ;
2828 int reserved ;
2829 char const *name ;
2830 struct list_head list ;
2831 struct kobject kobj ;
2832 int remote_node_defrag_ratio ;
2833 struct kmem_cache_node *node[1024U] ;
2834};
2835#line 25 "include/linux/genhd.h"
2836struct device_type;
2837#line 25
2838struct device_type;
2839#line 25
2840struct device_type;
2841#line 27
2842struct class;
2843#line 27
2844struct class;
2845#line 27
2846struct class;
2847#line 51
2848struct klist_node;
2849#line 51
2850struct klist_node;
2851#line 51
2852struct klist_node;
2853#line 51
2854struct klist_node;
2855#line 37 "include/linux/klist.h"
2856struct klist_node {
2857 void *n_klist ;
2858 struct list_head n_node ;
2859 struct kref n_ref ;
2860};
2861#line 67
2862struct dma_map_ops;
2863#line 67
2864struct dma_map_ops;
2865#line 67
2866struct dma_map_ops;
2867#line 67 "include/linux/klist.h"
2868struct dev_archdata {
2869 void *acpi_handle ;
2870 struct dma_map_ops *dma_ops ;
2871 void *iommu ;
2872};
2873#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2874struct device_private;
2875#line 17
2876struct device_private;
2877#line 17
2878struct device_private;
2879#line 17
2880struct device_private;
2881#line 18
2882struct device_driver;
2883#line 18
2884struct device_driver;
2885#line 18
2886struct device_driver;
2887#line 18
2888struct device_driver;
2889#line 19
2890struct driver_private;
2891#line 19
2892struct driver_private;
2893#line 19
2894struct driver_private;
2895#line 19
2896struct driver_private;
2897#line 20
2898struct subsys_private;
2899#line 20
2900struct subsys_private;
2901#line 20
2902struct subsys_private;
2903#line 20
2904struct subsys_private;
2905#line 21
2906struct bus_type;
2907#line 21
2908struct bus_type;
2909#line 21
2910struct bus_type;
2911#line 21
2912struct bus_type;
2913#line 22
2914struct device_node;
2915#line 22
2916struct device_node;
2917#line 22
2918struct device_node;
2919#line 22
2920struct device_node;
2921#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2922struct bus_attribute {
2923 struct attribute attr ;
2924 ssize_t (*show)(struct bus_type * , char * ) ;
2925 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
2926};
2927#line 49 "include/linux/device.h"
2928struct device_attribute;
2929#line 49
2930struct device_attribute;
2931#line 49
2932struct device_attribute;
2933#line 49
2934struct driver_attribute;
2935#line 49
2936struct driver_attribute;
2937#line 49
2938struct driver_attribute;
2939#line 49 "include/linux/device.h"
2940struct bus_type {
2941 char const *name ;
2942 struct bus_attribute *bus_attrs ;
2943 struct device_attribute *dev_attrs ;
2944 struct driver_attribute *drv_attrs ;
2945 int (*match)(struct device * , struct device_driver * ) ;
2946 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
2947 int (*probe)(struct device * ) ;
2948 int (*remove)(struct device * ) ;
2949 void (*shutdown)(struct device * ) ;
2950 int (*suspend)(struct device * , pm_message_t ) ;
2951 int (*resume)(struct device * ) ;
2952 struct dev_pm_ops const *pm ;
2953 struct subsys_private *p ;
2954};
2955#line 153
2956struct of_device_id;
2957#line 153
2958struct of_device_id;
2959#line 153
2960struct of_device_id;
2961#line 153 "include/linux/device.h"
2962struct device_driver {
2963 char const *name ;
2964 struct bus_type *bus ;
2965 struct module *owner ;
2966 char const *mod_name ;
2967 bool suppress_bind_attrs ;
2968 struct of_device_id const *of_match_table ;
2969 int (*probe)(struct device * ) ;
2970 int (*remove)(struct device * ) ;
2971 void (*shutdown)(struct device * ) ;
2972 int (*suspend)(struct device * , pm_message_t ) ;
2973 int (*resume)(struct device * ) ;
2974 struct attribute_group const **groups ;
2975 struct dev_pm_ops const *pm ;
2976 struct driver_private *p ;
2977};
2978#line 218 "include/linux/device.h"
2979struct driver_attribute {
2980 struct attribute attr ;
2981 ssize_t (*show)(struct device_driver * , char * ) ;
2982 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
2983};
2984#line 248
2985struct class_attribute;
2986#line 248
2987struct class_attribute;
2988#line 248
2989struct class_attribute;
2990#line 248 "include/linux/device.h"
2991struct class {
2992 char const *name ;
2993 struct module *owner ;
2994 struct class_attribute *class_attrs ;
2995 struct device_attribute *dev_attrs ;
2996 struct bin_attribute *dev_bin_attrs ;
2997 struct kobject *dev_kobj ;
2998 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
2999 char *(*devnode)(struct device * , mode_t * ) ;
3000 void (*class_release)(struct class * ) ;
3001 void (*dev_release)(struct device * ) ;
3002 int (*suspend)(struct device * , pm_message_t ) ;
3003 int (*resume)(struct device * ) ;
3004 struct kobj_ns_type_operations const *ns_type ;
3005 void const *(*namespace)(struct device * ) ;
3006 struct dev_pm_ops const *pm ;
3007 struct subsys_private *p ;
3008};
3009#line 344 "include/linux/device.h"
3010struct class_attribute {
3011 struct attribute attr ;
3012 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
3013 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
3014};
3015#line 395 "include/linux/device.h"
3016struct device_type {
3017 char const *name ;
3018 struct attribute_group const **groups ;
3019 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
3020 char *(*devnode)(struct device * , mode_t * ) ;
3021 void (*release)(struct device * ) ;
3022 struct dev_pm_ops const *pm ;
3023};
3024#line 422 "include/linux/device.h"
3025struct device_attribute {
3026 struct attribute attr ;
3027 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
3028 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
3029 size_t ) ;
3030};
3031#line 483 "include/linux/device.h"
3032struct device_dma_parameters {
3033 unsigned int max_segment_size ;
3034 unsigned long segment_boundary_mask ;
3035};
3036#line 492
3037struct dma_coherent_mem;
3038#line 492
3039struct dma_coherent_mem;
3040#line 492
3041struct dma_coherent_mem;
3042#line 492 "include/linux/device.h"
3043struct device {
3044 struct device *parent ;
3045 struct device_private *p ;
3046 struct kobject kobj ;
3047 char const *init_name ;
3048 struct device_type const *type ;
3049 struct mutex mutex ;
3050 struct bus_type *bus ;
3051 struct device_driver *driver ;
3052 void *platform_data ;
3053 struct dev_pm_info power ;
3054 struct dev_power_domain *pwr_domain ;
3055 int numa_node ;
3056 u64 *dma_mask ;
3057 u64 coherent_dma_mask ;
3058 struct device_dma_parameters *dma_parms ;
3059 struct list_head dma_pools ;
3060 struct dma_coherent_mem *dma_mem ;
3061 struct dev_archdata archdata ;
3062 struct device_node *of_node ;
3063 dev_t devt ;
3064 spinlock_t devres_lock ;
3065 struct list_head devres_head ;
3066 struct klist_node knode_class ;
3067 struct class *class ;
3068 struct attribute_group const **groups ;
3069 void (*release)(struct device * ) ;
3070};
3071#line 604 "include/linux/device.h"
3072struct wakeup_source {
3073 char *name ;
3074 struct list_head entry ;
3075 spinlock_t lock ;
3076 struct timer_list timer ;
3077 unsigned long timer_expires ;
3078 ktime_t total_time ;
3079 ktime_t max_time ;
3080 ktime_t last_time ;
3081 unsigned long event_count ;
3082 unsigned long active_count ;
3083 unsigned long relax_count ;
3084 unsigned long hit_count ;
3085 unsigned char active : 1 ;
3086};
3087#line 904
3088struct bio;
3089#line 904
3090struct bio;
3091#line 904
3092struct bio;
3093#line 904
3094struct bio;
3095#line 905
3096struct bio_integrity_payload;
3097#line 905
3098struct bio_integrity_payload;
3099#line 905
3100struct bio_integrity_payload;
3101#line 905
3102struct bio_integrity_payload;
3103#line 906
3104struct block_device;
3105#line 906
3106struct block_device;
3107#line 906
3108struct block_device;
3109#line 906
3110struct block_device;
3111#line 17 "include/linux/blk_types.h"
3112typedef void bio_end_io_t(struct bio * , int );
3113#line 18 "include/linux/blk_types.h"
3114typedef void bio_destructor_t(struct bio * );
3115#line 19 "include/linux/blk_types.h"
3116struct bio_vec {
3117 struct page *bv_page ;
3118 unsigned int bv_len ;
3119 unsigned int bv_offset ;
3120};
3121#line 28 "include/linux/blk_types.h"
3122struct bio {
3123 sector_t bi_sector ;
3124 struct bio *bi_next ;
3125 struct block_device *bi_bdev ;
3126 unsigned long bi_flags ;
3127 unsigned long bi_rw ;
3128 unsigned short bi_vcnt ;
3129 unsigned short bi_idx ;
3130 unsigned int bi_phys_segments ;
3131 unsigned int bi_size ;
3132 unsigned int bi_seg_front_size ;
3133 unsigned int bi_seg_back_size ;
3134 unsigned int bi_max_vecs ;
3135 unsigned int bi_comp_cpu ;
3136 atomic_t bi_cnt ;
3137 struct bio_vec *bi_io_vec ;
3138 bio_end_io_t *bi_end_io ;
3139 void *bi_private ;
3140 struct bio_integrity_payload *bi_integrity ;
3141 bio_destructor_t *bi_destructor ;
3142 struct bio_vec bi_inline_vecs[0U] ;
3143};
3144#line 92 "include/linux/bit_spinlock.h"
3145struct hlist_bl_node;
3146#line 92
3147struct hlist_bl_node;
3148#line 92
3149struct hlist_bl_node;
3150#line 92 "include/linux/bit_spinlock.h"
3151struct hlist_bl_head {
3152 struct hlist_bl_node *first ;
3153};
3154#line 36 "include/linux/list_bl.h"
3155struct hlist_bl_node {
3156 struct hlist_bl_node *next ;
3157 struct hlist_bl_node **pprev ;
3158};
3159#line 114 "include/linux/rculist_bl.h"
3160struct nameidata;
3161#line 114
3162struct nameidata;
3163#line 114
3164struct nameidata;
3165#line 114
3166struct nameidata;
3167#line 115
3168struct path;
3169#line 115
3170struct path;
3171#line 115
3172struct path;
3173#line 115
3174struct path;
3175#line 116
3176struct vfsmount;
3177#line 116
3178struct vfsmount;
3179#line 116
3180struct vfsmount;
3181#line 116
3182struct vfsmount;
3183#line 117 "include/linux/rculist_bl.h"
3184struct qstr {
3185 unsigned int hash ;
3186 unsigned int len ;
3187 unsigned char const *name ;
3188};
3189#line 100 "include/linux/dcache.h"
3190struct dentry_operations;
3191#line 100
3192struct dentry_operations;
3193#line 100
3194struct dentry_operations;
3195#line 100
3196struct super_block;
3197#line 100
3198struct super_block;
3199#line 100
3200struct super_block;
3201#line 100 "include/linux/dcache.h"
3202union __anonunion_d_u_154 {
3203 struct list_head d_child ;
3204 struct rcu_head d_rcu ;
3205};
3206#line 100 "include/linux/dcache.h"
3207struct dentry {
3208 unsigned int d_flags ;
3209 seqcount_t d_seq ;
3210 struct hlist_bl_node d_hash ;
3211 struct dentry *d_parent ;
3212 struct qstr d_name ;
3213 struct inode *d_inode ;
3214 unsigned char d_iname[32U] ;
3215 unsigned int d_count ;
3216 spinlock_t d_lock ;
3217 struct dentry_operations const *d_op ;
3218 struct super_block *d_sb ;
3219 unsigned long d_time ;
3220 void *d_fsdata ;
3221 struct list_head d_lru ;
3222 union __anonunion_d_u_154 d_u ;
3223 struct list_head d_subdirs ;
3224 struct list_head d_alias ;
3225};
3226#line 151 "include/linux/dcache.h"
3227struct dentry_operations {
3228 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
3229 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
3230 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
3231 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
3232 int (*d_delete)(struct dentry const * ) ;
3233 void (*d_release)(struct dentry * ) ;
3234 void (*d_iput)(struct dentry * , struct inode * ) ;
3235 char *(*d_dname)(struct dentry * , char * , int ) ;
3236 struct vfsmount *(*d_automount)(struct path * ) ;
3237 int (*d_manage)(struct dentry * , bool ) ;
3238};
3239#line 422 "include/linux/dcache.h"
3240struct path {
3241 struct vfsmount *mnt ;
3242 struct dentry *dentry ;
3243};
3244#line 51 "include/linux/radix-tree.h"
3245struct radix_tree_node;
3246#line 51
3247struct radix_tree_node;
3248#line 51
3249struct radix_tree_node;
3250#line 51 "include/linux/radix-tree.h"
3251struct radix_tree_root {
3252 unsigned int height ;
3253 gfp_t gfp_mask ;
3254 struct radix_tree_node *rnode ;
3255};
3256#line 45 "include/linux/semaphore.h"
3257struct fiemap_extent {
3258 __u64 fe_logical ;
3259 __u64 fe_physical ;
3260 __u64 fe_length ;
3261 __u64 fe_reserved64[2U] ;
3262 __u32 fe_flags ;
3263 __u32 fe_reserved[3U] ;
3264};
3265#line 38 "include/linux/fiemap.h"
3266struct export_operations;
3267#line 38
3268struct export_operations;
3269#line 38
3270struct export_operations;
3271#line 38
3272struct export_operations;
3273#line 39
3274struct hd_geometry;
3275#line 39
3276struct hd_geometry;
3277#line 39
3278struct hd_geometry;
3279#line 39
3280struct hd_geometry;
3281#line 40
3282struct poll_table_struct;
3283#line 40
3284struct poll_table_struct;
3285#line 40
3286struct poll_table_struct;
3287#line 40
3288struct poll_table_struct;
3289#line 41
3290struct kstatfs;
3291#line 41
3292struct kstatfs;
3293#line 41
3294struct kstatfs;
3295#line 41
3296struct kstatfs;
3297#line 426 "include/linux/fs.h"
3298struct iattr {
3299 unsigned int ia_valid ;
3300 umode_t ia_mode ;
3301 uid_t ia_uid ;
3302 gid_t ia_gid ;
3303 loff_t ia_size ;
3304 struct timespec ia_atime ;
3305 struct timespec ia_mtime ;
3306 struct timespec ia_ctime ;
3307 struct file *ia_file ;
3308};
3309#line 119 "include/linux/quota.h"
3310struct if_dqinfo {
3311 __u64 dqi_bgrace ;
3312 __u64 dqi_igrace ;
3313 __u32 dqi_flags ;
3314 __u32 dqi_valid ;
3315};
3316#line 152 "include/linux/quota.h"
3317struct fs_disk_quota {
3318 __s8 d_version ;
3319 __s8 d_flags ;
3320 __u16 d_fieldmask ;
3321 __u32 d_id ;
3322 __u64 d_blk_hardlimit ;
3323 __u64 d_blk_softlimit ;
3324 __u64 d_ino_hardlimit ;
3325 __u64 d_ino_softlimit ;
3326 __u64 d_bcount ;
3327 __u64 d_icount ;
3328 __s32 d_itimer ;
3329 __s32 d_btimer ;
3330 __u16 d_iwarns ;
3331 __u16 d_bwarns ;
3332 __s32 d_padding2 ;
3333 __u64 d_rtb_hardlimit ;
3334 __u64 d_rtb_softlimit ;
3335 __u64 d_rtbcount ;
3336 __s32 d_rtbtimer ;
3337 __u16 d_rtbwarns ;
3338 __s16 d_padding3 ;
3339 char d_padding4[8U] ;
3340};
3341#line 75 "include/linux/dqblk_xfs.h"
3342struct fs_qfilestat {
3343 __u64 qfs_ino ;
3344 __u64 qfs_nblks ;
3345 __u32 qfs_nextents ;
3346};
3347#line 150 "include/linux/dqblk_xfs.h"
3348typedef struct fs_qfilestat fs_qfilestat_t;
3349#line 151 "include/linux/dqblk_xfs.h"
3350struct fs_quota_stat {
3351 __s8 qs_version ;
3352 __u16 qs_flags ;
3353 __s8 qs_pad ;
3354 fs_qfilestat_t qs_uquota ;
3355 fs_qfilestat_t qs_gquota ;
3356 __u32 qs_incoredqs ;
3357 __s32 qs_btimelimit ;
3358 __s32 qs_itimelimit ;
3359 __s32 qs_rtbtimelimit ;
3360 __u16 qs_bwarnlimit ;
3361 __u16 qs_iwarnlimit ;
3362};
3363#line 165
3364struct dquot;
3365#line 165
3366struct dquot;
3367#line 165
3368struct dquot;
3369#line 165
3370struct dquot;
3371#line 185 "include/linux/quota.h"
3372typedef __kernel_uid32_t qid_t;
3373#line 186 "include/linux/quota.h"
3374typedef long long qsize_t;
3375#line 189 "include/linux/quota.h"
3376struct mem_dqblk {
3377 qsize_t dqb_bhardlimit ;
3378 qsize_t dqb_bsoftlimit ;
3379 qsize_t dqb_curspace ;
3380 qsize_t dqb_rsvspace ;
3381 qsize_t dqb_ihardlimit ;
3382 qsize_t dqb_isoftlimit ;
3383 qsize_t dqb_curinodes ;
3384 time_t dqb_btime ;
3385 time_t dqb_itime ;
3386};
3387#line 211
3388struct quota_format_type;
3389#line 211
3390struct quota_format_type;
3391#line 211
3392struct quota_format_type;
3393#line 211
3394struct quota_format_type;
3395#line 212 "include/linux/quota.h"
3396struct mem_dqinfo {
3397 struct quota_format_type *dqi_format ;
3398 int dqi_fmt_id ;
3399 struct list_head dqi_dirty_list ;
3400 unsigned long dqi_flags ;
3401 unsigned int dqi_bgrace ;
3402 unsigned int dqi_igrace ;
3403 qsize_t dqi_maxblimit ;
3404 qsize_t dqi_maxilimit ;
3405 void *dqi_priv ;
3406};
3407#line 271 "include/linux/quota.h"
3408struct dquot {
3409 struct hlist_node dq_hash ;
3410 struct list_head dq_inuse ;
3411 struct list_head dq_free ;
3412 struct list_head dq_dirty ;
3413 struct mutex dq_lock ;
3414 atomic_t dq_count ;
3415 wait_queue_head_t dq_wait_unused ;
3416 struct super_block *dq_sb ;
3417 unsigned int dq_id ;
3418 loff_t dq_off ;
3419 unsigned long dq_flags ;
3420 short dq_type ;
3421 struct mem_dqblk dq_dqb ;
3422};
3423#line 299 "include/linux/quota.h"
3424struct quota_format_ops {
3425 int (*check_quota_file)(struct super_block * , int ) ;
3426 int (*read_file_info)(struct super_block * , int ) ;
3427 int (*write_file_info)(struct super_block * , int ) ;
3428 int (*free_file_info)(struct super_block * , int ) ;
3429 int (*read_dqblk)(struct dquot * ) ;
3430 int (*commit_dqblk)(struct dquot * ) ;
3431 int (*release_dqblk)(struct dquot * ) ;
3432};
3433#line 310 "include/linux/quota.h"
3434struct dquot_operations {
3435 int (*write_dquot)(struct dquot * ) ;
3436 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3437 void (*destroy_dquot)(struct dquot * ) ;
3438 int (*acquire_dquot)(struct dquot * ) ;
3439 int (*release_dquot)(struct dquot * ) ;
3440 int (*mark_dirty)(struct dquot * ) ;
3441 int (*write_info)(struct super_block * , int ) ;
3442 qsize_t *(*get_reserved_space)(struct inode * ) ;
3443};
3444#line 324 "include/linux/quota.h"
3445struct quotactl_ops {
3446 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3447 int (*quota_on_meta)(struct super_block * , int , int ) ;
3448 int (*quota_off)(struct super_block * , int ) ;
3449 int (*quota_sync)(struct super_block * , int , int ) ;
3450 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3451 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3452 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3453 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3454 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3455 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3456};
3457#line 340 "include/linux/quota.h"
3458struct quota_format_type {
3459 int qf_fmt_id ;
3460 struct quota_format_ops const *qf_ops ;
3461 struct module *qf_owner ;
3462 struct quota_format_type *qf_next ;
3463};
3464#line 386 "include/linux/quota.h"
3465struct quota_info {
3466 unsigned int flags ;
3467 struct mutex dqio_mutex ;
3468 struct mutex dqonoff_mutex ;
3469 struct rw_semaphore dqptr_sem ;
3470 struct inode *files[2U] ;
3471 struct mem_dqinfo info[2U] ;
3472 struct quota_format_ops const *ops[2U] ;
3473};
3474#line 417
3475struct writeback_control;
3476#line 417
3477struct writeback_control;
3478#line 417
3479struct writeback_control;
3480#line 417
3481struct writeback_control;
3482#line 576 "include/linux/fs.h"
3483union __anonunion_arg_156 {
3484 char *buf ;
3485 void *data ;
3486};
3487#line 576 "include/linux/fs.h"
3488struct __anonstruct_read_descriptor_t_155 {
3489 size_t written ;
3490 size_t count ;
3491 union __anonunion_arg_156 arg ;
3492 int error ;
3493};
3494#line 576 "include/linux/fs.h"
3495typedef struct __anonstruct_read_descriptor_t_155 read_descriptor_t;
3496#line 579 "include/linux/fs.h"
3497struct address_space_operations {
3498 int (*writepage)(struct page * , struct writeback_control * ) ;
3499 int (*readpage)(struct file * , struct page * ) ;
3500 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3501 int (*set_page_dirty)(struct page * ) ;
3502 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
3503 unsigned int ) ;
3504 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
3505 unsigned int , struct page ** , void ** ) ;
3506 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
3507 unsigned int , struct page * , void * ) ;
3508 sector_t (*bmap)(struct address_space * , sector_t ) ;
3509 void (*invalidatepage)(struct page * , unsigned long ) ;
3510 int (*releasepage)(struct page * , gfp_t ) ;
3511 void (*freepage)(struct page * ) ;
3512 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
3513 unsigned long ) ;
3514 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3515 int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
3516 int (*launder_page)(struct page * ) ;
3517 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3518 int (*error_remove_page)(struct address_space * , struct page * ) ;
3519};
3520#line 630 "include/linux/fs.h"
3521struct address_space {
3522 struct inode *host ;
3523 struct radix_tree_root page_tree ;
3524 spinlock_t tree_lock ;
3525 unsigned int i_mmap_writable ;
3526 struct prio_tree_root i_mmap ;
3527 struct list_head i_mmap_nonlinear ;
3528 struct mutex i_mmap_mutex ;
3529 unsigned long nrpages ;
3530 unsigned long writeback_index ;
3531 struct address_space_operations const *a_ops ;
3532 unsigned long flags ;
3533 struct backing_dev_info *backing_dev_info ;
3534 spinlock_t private_lock ;
3535 struct list_head private_list ;
3536 struct address_space *assoc_mapping ;
3537};
3538#line 652
3539struct hd_struct;
3540#line 652
3541struct hd_struct;
3542#line 652
3543struct hd_struct;
3544#line 652
3545struct gendisk;
3546#line 652
3547struct gendisk;
3548#line 652
3549struct gendisk;
3550#line 652 "include/linux/fs.h"
3551struct block_device {
3552 dev_t bd_dev ;
3553 int bd_openers ;
3554 struct inode *bd_inode ;
3555 struct super_block *bd_super ;
3556 struct mutex bd_mutex ;
3557 struct list_head bd_inodes ;
3558 void *bd_claiming ;
3559 void *bd_holder ;
3560 int bd_holders ;
3561 bool bd_write_holder ;
3562 struct list_head bd_holder_disks ;
3563 struct block_device *bd_contains ;
3564 unsigned int bd_block_size ;
3565 struct hd_struct *bd_part ;
3566 unsigned int bd_part_count ;
3567 int bd_invalidated ;
3568 struct gendisk *bd_disk ;
3569 struct list_head bd_list ;
3570 unsigned long bd_private ;
3571 int bd_fsfreeze_count ;
3572 struct mutex bd_fsfreeze_mutex ;
3573};
3574#line 723
3575struct posix_acl;
3576#line 723
3577struct posix_acl;
3578#line 723
3579struct posix_acl;
3580#line 723
3581struct posix_acl;
3582#line 724
3583struct inode_operations;
3584#line 724
3585struct inode_operations;
3586#line 724
3587struct inode_operations;
3588#line 724 "include/linux/fs.h"
3589union __anonunion_ldv_19050_157 {
3590 struct list_head i_dentry ;
3591 struct rcu_head i_rcu ;
3592};
3593#line 724
3594struct file_operations;
3595#line 724
3596struct file_operations;
3597#line 724
3598struct file_operations;
3599#line 724
3600struct file_lock;
3601#line 724
3602struct file_lock;
3603#line 724
3604struct file_lock;
3605#line 724
3606struct cdev;
3607#line 724
3608struct cdev;
3609#line 724
3610struct cdev;
3611#line 724 "include/linux/fs.h"
3612union __anonunion_ldv_19077_158 {
3613 struct pipe_inode_info *i_pipe ;
3614 struct block_device *i_bdev ;
3615 struct cdev *i_cdev ;
3616};
3617#line 724 "include/linux/fs.h"
3618struct inode {
3619 umode_t i_mode ;
3620 uid_t i_uid ;
3621 gid_t i_gid ;
3622 struct inode_operations const *i_op ;
3623 struct super_block *i_sb ;
3624 spinlock_t i_lock ;
3625 unsigned int i_flags ;
3626 unsigned long i_state ;
3627 void *i_security ;
3628 struct mutex i_mutex ;
3629 unsigned long dirtied_when ;
3630 struct hlist_node i_hash ;
3631 struct list_head i_wb_list ;
3632 struct list_head i_lru ;
3633 struct list_head i_sb_list ;
3634 union __anonunion_ldv_19050_157 ldv_19050 ;
3635 unsigned long i_ino ;
3636 atomic_t i_count ;
3637 unsigned int i_nlink ;
3638 dev_t i_rdev ;
3639 unsigned int i_blkbits ;
3640 u64 i_version ;
3641 loff_t i_size ;
3642 struct timespec i_atime ;
3643 struct timespec i_mtime ;
3644 struct timespec i_ctime ;
3645 blkcnt_t i_blocks ;
3646 unsigned short i_bytes ;
3647 struct rw_semaphore i_alloc_sem ;
3648 struct file_operations const *i_fop ;
3649 struct file_lock *i_flock ;
3650 struct address_space *i_mapping ;
3651 struct address_space i_data ;
3652 struct dquot *i_dquot[2U] ;
3653 struct list_head i_devices ;
3654 union __anonunion_ldv_19077_158 ldv_19077 ;
3655 __u32 i_generation ;
3656 __u32 i_fsnotify_mask ;
3657 struct hlist_head i_fsnotify_marks ;
3658 atomic_t i_readcount ;
3659 atomic_t i_writecount ;
3660 struct posix_acl *i_acl ;
3661 struct posix_acl *i_default_acl ;
3662 void *i_private ;
3663};
3664#line 902 "include/linux/fs.h"
3665struct fown_struct {
3666 rwlock_t lock ;
3667 struct pid *pid ;
3668 enum pid_type pid_type ;
3669 uid_t uid ;
3670 uid_t euid ;
3671 int signum ;
3672};
3673#line 910 "include/linux/fs.h"
3674struct file_ra_state {
3675 unsigned long start ;
3676 unsigned int size ;
3677 unsigned int async_size ;
3678 unsigned int ra_pages ;
3679 unsigned int mmap_miss ;
3680 loff_t prev_pos ;
3681};
3682#line 933 "include/linux/fs.h"
3683union __anonunion_f_u_159 {
3684 struct list_head fu_list ;
3685 struct rcu_head fu_rcuhead ;
3686};
3687#line 933 "include/linux/fs.h"
3688struct file {
3689 union __anonunion_f_u_159 f_u ;
3690 struct path f_path ;
3691 struct file_operations const *f_op ;
3692 spinlock_t f_lock ;
3693 int f_sb_list_cpu ;
3694 atomic_long_t f_count ;
3695 unsigned int f_flags ;
3696 fmode_t f_mode ;
3697 loff_t f_pos ;
3698 struct fown_struct f_owner ;
3699 struct cred const *f_cred ;
3700 struct file_ra_state f_ra ;
3701 u64 f_version ;
3702 void *f_security ;
3703 void *private_data ;
3704 struct list_head f_ep_links ;
3705 struct address_space *f_mapping ;
3706 unsigned long f_mnt_write_state ;
3707};
3708#line 1064 "include/linux/fs.h"
3709typedef struct files_struct *fl_owner_t;
3710#line 1065 "include/linux/fs.h"
3711struct file_lock_operations {
3712 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3713 void (*fl_release_private)(struct file_lock * ) ;
3714};
3715#line 1070 "include/linux/fs.h"
3716struct lock_manager_operations {
3717 int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
3718 void (*fl_notify)(struct file_lock * ) ;
3719 int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
3720 void (*fl_release_private)(struct file_lock * ) ;
3721 void (*fl_break)(struct file_lock * ) ;
3722 int (*fl_change)(struct file_lock ** , int ) ;
3723};
3724#line 163 "include/linux/nfs.h"
3725struct nlm_lockowner;
3726#line 163
3727struct nlm_lockowner;
3728#line 163
3729struct nlm_lockowner;
3730#line 163
3731struct nlm_lockowner;
3732#line 164 "include/linux/nfs.h"
3733struct nfs_lock_info {
3734 u32 state ;
3735 struct nlm_lockowner *owner ;
3736 struct list_head list ;
3737};
3738#line 18 "include/linux/nfs_fs_i.h"
3739struct nfs4_lock_state;
3740#line 18
3741struct nfs4_lock_state;
3742#line 18
3743struct nfs4_lock_state;
3744#line 18
3745struct nfs4_lock_state;
3746#line 19 "include/linux/nfs_fs_i.h"
3747struct nfs4_lock_info {
3748 struct nfs4_lock_state *owner ;
3749};
3750#line 23
3751struct fasync_struct;
3752#line 23
3753struct fasync_struct;
3754#line 23
3755struct fasync_struct;
3756#line 23 "include/linux/nfs_fs_i.h"
3757struct __anonstruct_afs_161 {
3758 struct list_head link ;
3759 int state ;
3760};
3761#line 23 "include/linux/nfs_fs_i.h"
3762union __anonunion_fl_u_160 {
3763 struct nfs_lock_info nfs_fl ;
3764 struct nfs4_lock_info nfs4_fl ;
3765 struct __anonstruct_afs_161 afs ;
3766};
3767#line 23 "include/linux/nfs_fs_i.h"
3768struct file_lock {
3769 struct file_lock *fl_next ;
3770 struct list_head fl_link ;
3771 struct list_head fl_block ;
3772 fl_owner_t fl_owner ;
3773 unsigned char fl_flags ;
3774 unsigned char fl_type ;
3775 unsigned int fl_pid ;
3776 struct pid *fl_nspid ;
3777 wait_queue_head_t fl_wait ;
3778 struct file *fl_file ;
3779 loff_t fl_start ;
3780 loff_t fl_end ;
3781 struct fasync_struct *fl_fasync ;
3782 unsigned long fl_break_time ;
3783 struct file_lock_operations const *fl_ops ;
3784 struct lock_manager_operations const *fl_lmops ;
3785 union __anonunion_fl_u_160 fl_u ;
3786};
3787#line 1171 "include/linux/fs.h"
3788struct fasync_struct {
3789 spinlock_t fa_lock ;
3790 int magic ;
3791 int fa_fd ;
3792 struct fasync_struct *fa_next ;
3793 struct file *fa_file ;
3794 struct rcu_head fa_rcu ;
3795};
3796#line 1363
3797struct file_system_type;
3798#line 1363
3799struct file_system_type;
3800#line 1363
3801struct file_system_type;
3802#line 1363
3803struct super_operations;
3804#line 1363
3805struct super_operations;
3806#line 1363
3807struct super_operations;
3808#line 1363
3809struct xattr_handler;
3810#line 1363
3811struct xattr_handler;
3812#line 1363
3813struct xattr_handler;
3814#line 1363
3815struct mtd_info;
3816#line 1363
3817struct mtd_info;
3818#line 1363
3819struct mtd_info;
3820#line 1363 "include/linux/fs.h"
3821struct super_block {
3822 struct list_head s_list ;
3823 dev_t s_dev ;
3824 unsigned char s_dirt ;
3825 unsigned char s_blocksize_bits ;
3826 unsigned long s_blocksize ;
3827 loff_t s_maxbytes ;
3828 struct file_system_type *s_type ;
3829 struct super_operations const *s_op ;
3830 struct dquot_operations const *dq_op ;
3831 struct quotactl_ops const *s_qcop ;
3832 struct export_operations const *s_export_op ;
3833 unsigned long s_flags ;
3834 unsigned long s_magic ;
3835 struct dentry *s_root ;
3836 struct rw_semaphore s_umount ;
3837 struct mutex s_lock ;
3838 int s_count ;
3839 atomic_t s_active ;
3840 void *s_security ;
3841 struct xattr_handler const **s_xattr ;
3842 struct list_head s_inodes ;
3843 struct hlist_bl_head s_anon ;
3844 struct list_head *s_files ;
3845 struct list_head s_dentry_lru ;
3846 int s_nr_dentry_unused ;
3847 struct block_device *s_bdev ;
3848 struct backing_dev_info *s_bdi ;
3849 struct mtd_info *s_mtd ;
3850 struct list_head s_instances ;
3851 struct quota_info s_dquot ;
3852 int s_frozen ;
3853 wait_queue_head_t s_wait_unfrozen ;
3854 char s_id[32U] ;
3855 u8 s_uuid[16U] ;
3856 void *s_fs_info ;
3857 fmode_t s_mode ;
3858 u32 s_time_gran ;
3859 struct mutex s_vfs_rename_mutex ;
3860 char *s_subtype ;
3861 char *s_options ;
3862 struct dentry_operations const *s_d_op ;
3863 int cleancache_poolid ;
3864};
3865#line 1495 "include/linux/fs.h"
3866struct fiemap_extent_info {
3867 unsigned int fi_flags ;
3868 unsigned int fi_extents_mapped ;
3869 unsigned int fi_extents_max ;
3870 struct fiemap_extent *fi_extents_start ;
3871};
3872#line 1533
3873struct block_device_operations;
3874#line 1533
3875struct block_device_operations;
3876#line 1533
3877struct block_device_operations;
3878#line 1533
3879struct block_device_operations;
3880#line 1534 "include/linux/fs.h"
3881struct file_operations {
3882 struct module *owner ;
3883 loff_t (*llseek)(struct file * , loff_t , int ) ;
3884 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3885 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3886 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3887 loff_t ) ;
3888 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3889 loff_t ) ;
3890 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3891 loff_t , u64 , unsigned int ) ) ;
3892 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3893 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3894 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3895 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3896 int (*open)(struct inode * , struct file * ) ;
3897 int (*flush)(struct file * , fl_owner_t ) ;
3898 int (*release)(struct inode * , struct file * ) ;
3899 int (*fsync)(struct file * , int ) ;
3900 int (*aio_fsync)(struct kiocb * , int ) ;
3901 int (*fasync)(int , struct file * , int ) ;
3902 int (*lock)(struct file * , int , struct file_lock * ) ;
3903 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3904 int ) ;
3905 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3906 unsigned long , unsigned long ) ;
3907 int (*check_flags)(int ) ;
3908 int (*flock)(struct file * , int , struct file_lock * ) ;
3909 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3910 unsigned int ) ;
3911 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3912 unsigned int ) ;
3913 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3914 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
3915};
3916#line 1574 "include/linux/fs.h"
3917struct inode_operations {
3918 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3919 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3920 int (*permission)(struct inode * , int , unsigned int ) ;
3921 int (*check_acl)(struct inode * , int , unsigned int ) ;
3922 int (*readlink)(struct dentry * , char * , int ) ;
3923 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3924 int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
3925 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3926 int (*unlink)(struct inode * , struct dentry * ) ;
3927 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3928 int (*mkdir)(struct inode * , struct dentry * , int ) ;
3929 int (*rmdir)(struct inode * , struct dentry * ) ;
3930 int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
3931 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3932 void (*truncate)(struct inode * ) ;
3933 int (*setattr)(struct dentry * , struct iattr * ) ;
3934 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3935 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3936 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3937 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3938 int (*removexattr)(struct dentry * , char const * ) ;
3939 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3940 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
3941};
3942#line 1620 "include/linux/fs.h"
3943struct super_operations {
3944 struct inode *(*alloc_inode)(struct super_block * ) ;
3945 void (*destroy_inode)(struct inode * ) ;
3946 void (*dirty_inode)(struct inode * , int ) ;
3947 int (*write_inode)(struct inode * , struct writeback_control * ) ;
3948 int (*drop_inode)(struct inode * ) ;
3949 void (*evict_inode)(struct inode * ) ;
3950 void (*put_super)(struct super_block * ) ;
3951 void (*write_super)(struct super_block * ) ;
3952 int (*sync_fs)(struct super_block * , int ) ;
3953 int (*freeze_fs)(struct super_block * ) ;
3954 int (*unfreeze_fs)(struct super_block * ) ;
3955 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3956 int (*remount_fs)(struct super_block * , int * , char * ) ;
3957 void (*umount_begin)(struct super_block * ) ;
3958 int (*show_options)(struct seq_file * , struct vfsmount * ) ;
3959 int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
3960 int (*show_path)(struct seq_file * , struct vfsmount * ) ;
3961 int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
3962 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3963 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3964 loff_t ) ;
3965 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3966};
3967#line 1801 "include/linux/fs.h"
3968struct file_system_type {
3969 char const *name ;
3970 int fs_flags ;
3971 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3972 void (*kill_sb)(struct super_block * ) ;
3973 struct module *owner ;
3974 struct file_system_type *next ;
3975 struct list_head fs_supers ;
3976 struct lock_class_key s_lock_key ;
3977 struct lock_class_key s_umount_key ;
3978 struct lock_class_key s_vfs_rename_key ;
3979 struct lock_class_key i_lock_key ;
3980 struct lock_class_key i_mutex_key ;
3981 struct lock_class_key i_mutex_dir_key ;
3982 struct lock_class_key i_alloc_sem_key ;
3983};
3984#line 81 "include/linux/genhd.h"
3985struct disk_stats {
3986 unsigned long sectors[2U] ;
3987 unsigned long ios[2U] ;
3988 unsigned long merges[2U] ;
3989 unsigned long ticks[2U] ;
3990 unsigned long io_ticks ;
3991 unsigned long time_in_queue ;
3992};
3993#line 90 "include/linux/genhd.h"
3994struct partition_meta_info {
3995 u8 uuid[16U] ;
3996 u8 volname[64U] ;
3997};
3998#line 98 "include/linux/genhd.h"
3999struct hd_struct {
4000 sector_t start_sect ;
4001 sector_t nr_sects ;
4002 sector_t alignment_offset ;
4003 unsigned int discard_alignment ;
4004 struct device __dev ;
4005 struct kobject *holder_dir ;
4006 int policy ;
4007 int partno ;
4008 struct partition_meta_info *info ;
4009 int make_it_fail ;
4010 unsigned long stamp ;
4011 atomic_t in_flight[2U] ;
4012 struct disk_stats *dkstats ;
4013 atomic_t ref ;
4014 struct rcu_head rcu_head ;
4015};
4016#line 145 "include/linux/genhd.h"
4017struct disk_part_tbl {
4018 struct rcu_head rcu_head ;
4019 int len ;
4020 struct hd_struct *last_lookup ;
4021 struct hd_struct *part[0U] ;
4022};
4023#line 152
4024struct disk_events;
4025#line 152
4026struct disk_events;
4027#line 152
4028struct disk_events;
4029#line 152
4030struct disk_events;
4031#line 153
4032struct request_queue;
4033#line 153
4034struct request_queue;
4035#line 153
4036struct request_queue;
4037#line 153
4038struct timer_rand_state;
4039#line 153
4040struct timer_rand_state;
4041#line 153
4042struct timer_rand_state;
4043#line 153
4044struct blk_integrity;
4045#line 153
4046struct blk_integrity;
4047#line 153
4048struct blk_integrity;
4049#line 153 "include/linux/genhd.h"
4050struct gendisk {
4051 int major ;
4052 int first_minor ;
4053 int minors ;
4054 char disk_name[32U] ;
4055 char *(*devnode)(struct gendisk * , mode_t * ) ;
4056 unsigned int events ;
4057 unsigned int async_events ;
4058 struct disk_part_tbl *part_tbl ;
4059 struct hd_struct part0 ;
4060 struct block_device_operations const *fops ;
4061 struct request_queue *queue ;
4062 void *private_data ;
4063 int flags ;
4064 struct device *driverfs_dev ;
4065 struct kobject *slave_dir ;
4066 struct timer_rand_state *random ;
4067 atomic_t sync_io ;
4068 struct disk_events *ev ;
4069 struct blk_integrity *integrity ;
4070 int node_id ;
4071};
4072#line 175 "include/linux/mm.h"
4073struct vm_fault {
4074 unsigned int flags ;
4075 unsigned long pgoff ;
4076 void *virtual_address ;
4077 struct page *page ;
4078};
4079#line 192 "include/linux/mm.h"
4080struct vm_operations_struct {
4081 void (*open)(struct vm_area_struct * ) ;
4082 void (*close)(struct vm_area_struct * ) ;
4083 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
4084 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
4085 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
4086 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
4087 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
4088 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
4089 unsigned long ) ;
4090};
4091#line 1652 "include/linux/mm.h"
4092struct exception_table_entry {
4093 unsigned long insn ;
4094 unsigned long fixup ;
4095};
4096#line 331 "include/linux/irq.h"
4097struct proc_dir_entry;
4098#line 331
4099struct proc_dir_entry;
4100#line 331
4101struct proc_dir_entry;
4102#line 331
4103struct proc_dir_entry;
4104#line 13 "include/linux/writeback.h"
4105enum writeback_sync_modes {
4106 WB_SYNC_NONE = 0,
4107 WB_SYNC_ALL = 1
4108} ;
4109#line 18 "include/linux/writeback.h"
4110struct writeback_control {
4111 enum writeback_sync_modes sync_mode ;
4112 unsigned long *older_than_this ;
4113 unsigned long wb_start ;
4114 long nr_to_write ;
4115 long pages_skipped ;
4116 loff_t range_start ;
4117 loff_t range_end ;
4118 unsigned char nonblocking : 1 ;
4119 unsigned char encountered_congestion : 1 ;
4120 unsigned char for_kupdate : 1 ;
4121 unsigned char for_background : 1 ;
4122 unsigned char for_reclaim : 1 ;
4123 unsigned char range_cyclic : 1 ;
4124 unsigned char more_io : 1 ;
4125};
4126#line 54
4127struct bdi_writeback;
4128#line 54
4129struct bdi_writeback;
4130#line 54
4131struct bdi_writeback;
4132#line 54
4133struct bdi_writeback;
4134#line 38 "include/linux/backing-dev.h"
4135typedef int congested_fn(void * , int );
4136#line 45 "include/linux/backing-dev.h"
4137struct bdi_writeback {
4138 struct backing_dev_info *bdi ;
4139 unsigned int nr ;
4140 unsigned long last_old_flush ;
4141 unsigned long last_active ;
4142 struct task_struct *task ;
4143 struct timer_list wakeup_timer ;
4144 struct list_head b_dirty ;
4145 struct list_head b_io ;
4146 struct list_head b_more_io ;
4147};
4148#line 61 "include/linux/backing-dev.h"
4149struct backing_dev_info {
4150 struct list_head bdi_list ;
4151 unsigned long ra_pages ;
4152 unsigned long state ;
4153 unsigned int capabilities ;
4154 congested_fn *congested_fn ;
4155 void *congested_data ;
4156 char *name ;
4157 struct percpu_counter bdi_stat[2U] ;
4158 struct prop_local_percpu completions ;
4159 int dirty_exceeded ;
4160 unsigned int min_ratio ;
4161 unsigned int max_ratio ;
4162 unsigned int max_prop_frac ;
4163 struct bdi_writeback wb ;
4164 spinlock_t wb_lock ;
4165 struct list_head work_list ;
4166 struct device *dev ;
4167 struct timer_list laptop_mode_wb_timer ;
4168 struct dentry *debug_dir ;
4169 struct dentry *debug_stats ;
4170};
4171#line 11 "include/linux/mempool.h"
4172typedef void *mempool_alloc_t(gfp_t , void * );
4173#line 12 "include/linux/mempool.h"
4174typedef void mempool_free_t(void * , void * );
4175#line 13 "include/linux/mempool.h"
4176struct mempool_s {
4177 spinlock_t lock ;
4178 int min_nr ;
4179 int curr_nr ;
4180 void **elements ;
4181 void *pool_data ;
4182 mempool_alloc_t *alloc ;
4183 mempool_free_t *free ;
4184 wait_queue_head_t wait ;
4185};
4186#line 24 "include/linux/mempool.h"
4187typedef struct mempool_s mempool_t;
4188#line 29 "include/linux/iocontext.h"
4189struct io_context {
4190 atomic_long_t refcount ;
4191 atomic_t nr_tasks ;
4192 spinlock_t lock ;
4193 unsigned short ioprio ;
4194 unsigned short ioprio_changed ;
4195 unsigned short cgroup_changed ;
4196 int nr_batch_requests ;
4197 unsigned long last_waited ;
4198 struct radix_tree_root radix_root ;
4199 struct hlist_head cic_list ;
4200 void *ioc_data ;
4201};
4202#line 90 "include/linux/bio.h"
4203struct bio_integrity_payload {
4204 struct bio *bip_bio ;
4205 sector_t bip_sector ;
4206 void *bip_buf ;
4207 bio_end_io_t *bip_end_io ;
4208 unsigned int bip_size ;
4209 unsigned short bip_slab ;
4210 unsigned short bip_vcnt ;
4211 unsigned short bip_idx ;
4212 struct work_struct bip_work ;
4213 struct bio_vec bip_vec[0U] ;
4214};
4215#line 186 "include/linux/bio.h"
4216struct bio_pair {
4217 struct bio bio1 ;
4218 struct bio bio2 ;
4219 struct bio_vec bv1 ;
4220 struct bio_vec bv2 ;
4221 struct bio_integrity_payload bip1 ;
4222 struct bio_integrity_payload bip2 ;
4223 struct bio_vec iv1 ;
4224 struct bio_vec iv2 ;
4225 atomic_t cnt ;
4226 int error ;
4227};
4228#line 373 "include/linux/bio.h"
4229struct bio_list {
4230 struct bio *head ;
4231 struct bio *tail ;
4232};
4233#line 63 "include/linux/bsg.h"
4234struct bsg_class_device {
4235 struct device *class_dev ;
4236 struct device *parent ;
4237 int minor ;
4238 struct request_queue *queue ;
4239 struct kref ref ;
4240 void (*release)(struct device * ) ;
4241};
4242#line 80 "include/linux/bsg.h"
4243struct scatterlist {
4244 unsigned long sg_magic ;
4245 unsigned long page_link ;
4246 unsigned int offset ;
4247 unsigned int length ;
4248 dma_addr_t dma_address ;
4249 unsigned int dma_length ;
4250};
4251#line 18 "include/asm-generic/scatterlist.h"
4252struct elevator_queue;
4253#line 18
4254struct elevator_queue;
4255#line 18
4256struct elevator_queue;
4257#line 18
4258struct elevator_queue;
4259#line 20
4260struct blk_trace;
4261#line 20
4262struct blk_trace;
4263#line 20
4264struct blk_trace;
4265#line 20
4266struct blk_trace;
4267#line 21
4268struct request;
4269#line 21
4270struct request;
4271#line 21
4272struct request;
4273#line 21
4274struct request;
4275#line 38 "include/linux/blkdev.h"
4276typedef void rq_end_io_fn(struct request * , int );
4277#line 39 "include/linux/blkdev.h"
4278struct request_list {
4279 int count[2U] ;
4280 int starved[2U] ;
4281 int elvpriv ;
4282 mempool_t *rq_pool ;
4283 wait_queue_head_t wait[2U] ;
4284};
4285#line 51
4286enum rq_cmd_type_bits {
4287 REQ_TYPE_FS = 1,
4288 REQ_TYPE_BLOCK_PC = 2,
4289 REQ_TYPE_SENSE = 3,
4290 REQ_TYPE_PM_SUSPEND = 4,
4291 REQ_TYPE_PM_RESUME = 5,
4292 REQ_TYPE_PM_SHUTDOWN = 6,
4293 REQ_TYPE_SPECIAL = 7,
4294 REQ_TYPE_ATA_TASKFILE = 8,
4295 REQ_TYPE_ATA_PC = 9
4296} ;
4297#line 63 "include/linux/blkdev.h"
4298union __anonunion_ldv_26214_163 {
4299 struct rb_node rb_node ;
4300 void *completion_data ;
4301};
4302#line 63 "include/linux/blkdev.h"
4303struct __anonstruct_flush_165 {
4304 unsigned int seq ;
4305 struct list_head list ;
4306};
4307#line 63 "include/linux/blkdev.h"
4308union __anonunion_ldv_26221_164 {
4309 void *elevator_private[3U] ;
4310 struct __anonstruct_flush_165 flush ;
4311};
4312#line 63 "include/linux/blkdev.h"
4313struct request {
4314 struct list_head queuelist ;
4315 struct call_single_data csd ;
4316 struct request_queue *q ;
4317 unsigned int cmd_flags ;
4318 enum rq_cmd_type_bits cmd_type ;
4319 unsigned long atomic_flags ;
4320 int cpu ;
4321 unsigned int __data_len ;
4322 sector_t __sector ;
4323 struct bio *bio ;
4324 struct bio *biotail ;
4325 struct hlist_node hash ;
4326 union __anonunion_ldv_26214_163 ldv_26214 ;
4327 union __anonunion_ldv_26221_164 ldv_26221 ;
4328 struct gendisk *rq_disk ;
4329 struct hd_struct *part ;
4330 unsigned long start_time ;
4331 unsigned short nr_phys_segments ;
4332 unsigned short nr_integrity_segments ;
4333 unsigned short ioprio ;
4334 int ref_count ;
4335 void *special ;
4336 char *buffer ;
4337 int tag ;
4338 int errors ;
4339 unsigned char __cmd[16U] ;
4340 unsigned char *cmd ;
4341 unsigned short cmd_len ;
4342 unsigned int extra_len ;
4343 unsigned int sense_len ;
4344 unsigned int resid_len ;
4345 void *sense ;
4346 unsigned long deadline ;
4347 struct list_head timeout_list ;
4348 unsigned int timeout ;
4349 int retries ;
4350 rq_end_io_fn *end_io ;
4351 void *end_io_data ;
4352 struct request *next_rq ;
4353};
4354#line 8 "include/linux/elevator.h"
4355typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
4356#line 11 "include/linux/elevator.h"
4357typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
4358#line 13 "include/linux/elevator.h"
4359typedef void elevator_merged_fn(struct request_queue * , struct request * , int );
4360#line 15 "include/linux/elevator.h"
4361typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
4362#line 17 "include/linux/elevator.h"
4363typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
4364#line 20 "include/linux/elevator.h"
4365typedef int elevator_dispatch_fn(struct request_queue * , int );
4366#line 22 "include/linux/elevator.h"
4367typedef void elevator_add_req_fn(struct request_queue * , struct request * );
4368#line 23 "include/linux/elevator.h"
4369typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
4370#line 24 "include/linux/elevator.h"
4371typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
4372#line 25 "include/linux/elevator.h"
4373typedef int elevator_may_queue_fn(struct request_queue * , int );
4374#line 27 "include/linux/elevator.h"
4375typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t );
4376#line 28 "include/linux/elevator.h"
4377typedef void elevator_put_req_fn(struct request * );
4378#line 29 "include/linux/elevator.h"
4379typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
4380#line 30 "include/linux/elevator.h"
4381typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
4382#line 32 "include/linux/elevator.h"
4383typedef void *elevator_init_fn(struct request_queue * );
4384#line 33 "include/linux/elevator.h"
4385typedef void elevator_exit_fn(struct elevator_queue * );
4386#line 34 "include/linux/elevator.h"
4387struct elevator_ops {
4388 elevator_merge_fn *elevator_merge_fn ;
4389 elevator_merged_fn *elevator_merged_fn ;
4390 elevator_merge_req_fn *elevator_merge_req_fn ;
4391 elevator_allow_merge_fn *elevator_allow_merge_fn ;
4392 elevator_bio_merged_fn *elevator_bio_merged_fn ;
4393 elevator_dispatch_fn *elevator_dispatch_fn ;
4394 elevator_add_req_fn *elevator_add_req_fn ;
4395 elevator_activate_req_fn *elevator_activate_req_fn ;
4396 elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
4397 elevator_completed_req_fn *elevator_completed_req_fn ;
4398 elevator_request_list_fn *elevator_former_req_fn ;
4399 elevator_request_list_fn *elevator_latter_req_fn ;
4400 elevator_set_req_fn *elevator_set_req_fn ;
4401 elevator_put_req_fn *elevator_put_req_fn ;
4402 elevator_may_queue_fn *elevator_may_queue_fn ;
4403 elevator_init_fn *elevator_init_fn ;
4404 elevator_exit_fn *elevator_exit_fn ;
4405 void (*trim)(struct io_context * ) ;
4406};
4407#line 62 "include/linux/elevator.h"
4408struct elv_fs_entry {
4409 struct attribute attr ;
4410 ssize_t (*show)(struct elevator_queue * , char * ) ;
4411 ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ;
4412};
4413#line 70 "include/linux/elevator.h"
4414struct elevator_type {
4415 struct list_head list ;
4416 struct elevator_ops ops ;
4417 struct elv_fs_entry *elevator_attrs ;
4418 char elevator_name[16U] ;
4419 struct module *elevator_owner ;
4420};
4421#line 82 "include/linux/elevator.h"
4422struct elevator_queue {
4423 struct elevator_ops *ops ;
4424 void *elevator_data ;
4425 struct kobject kobj ;
4426 struct elevator_type *elevator_type ;
4427 struct mutex sysfs_lock ;
4428 struct hlist_head *hash ;
4429 unsigned char registered : 1 ;
4430};
4431#line 195 "include/linux/blkdev.h"
4432typedef void request_fn_proc(struct request_queue * );
4433#line 196 "include/linux/blkdev.h"
4434typedef int make_request_fn(struct request_queue * , struct bio * );
4435#line 197 "include/linux/blkdev.h"
4436typedef int prep_rq_fn(struct request_queue * , struct request * );
4437#line 198 "include/linux/blkdev.h"
4438typedef void unprep_rq_fn(struct request_queue * , struct request * );
4439#line 199 "include/linux/blkdev.h"
4440struct bvec_merge_data {
4441 struct block_device *bi_bdev ;
4442 sector_t bi_sector ;
4443 unsigned int bi_size ;
4444 unsigned long bi_rw ;
4445};
4446#line 207 "include/linux/blkdev.h"
4447typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
4448#line 209 "include/linux/blkdev.h"
4449typedef void softirq_done_fn(struct request * );
4450#line 210 "include/linux/blkdev.h"
4451typedef int dma_drain_needed_fn(struct request * );
4452#line 211 "include/linux/blkdev.h"
4453typedef int lld_busy_fn(struct request_queue * );
4454#line 212
4455enum blk_eh_timer_return {
4456 BLK_EH_NOT_HANDLED = 0,
4457 BLK_EH_HANDLED = 1,
4458 BLK_EH_RESET_TIMER = 2
4459} ;
4460#line 219 "include/linux/blkdev.h"
4461typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
4462#line 225 "include/linux/blkdev.h"
4463struct blk_queue_tag {
4464 struct request **tag_index ;
4465 unsigned long *tag_map ;
4466 int busy ;
4467 int max_depth ;
4468 int real_max_depth ;
4469 atomic_t refcnt ;
4470};
4471#line 234 "include/linux/blkdev.h"
4472struct queue_limits {
4473 unsigned long bounce_pfn ;
4474 unsigned long seg_boundary_mask ;
4475 unsigned int max_hw_sectors ;
4476 unsigned int max_sectors ;
4477 unsigned int max_segment_size ;
4478 unsigned int physical_block_size ;
4479 unsigned int alignment_offset ;
4480 unsigned int io_min ;
4481 unsigned int io_opt ;
4482 unsigned int max_discard_sectors ;
4483 unsigned int discard_granularity ;
4484 unsigned int discard_alignment ;
4485 unsigned short logical_block_size ;
4486 unsigned short max_segments ;
4487 unsigned short max_integrity_segments ;
4488 unsigned char misaligned ;
4489 unsigned char discard_misaligned ;
4490 unsigned char cluster ;
4491 unsigned char discard_zeroes_data ;
4492};
4493#line 262 "include/linux/blkdev.h"
4494struct request_queue {
4495 struct list_head queue_head ;
4496 struct request *last_merge ;
4497 struct elevator_queue *elevator ;
4498 struct request_list rq ;
4499 request_fn_proc *request_fn ;
4500 make_request_fn *make_request_fn ;
4501 prep_rq_fn *prep_rq_fn ;
4502 unprep_rq_fn *unprep_rq_fn ;
4503 merge_bvec_fn *merge_bvec_fn ;
4504 softirq_done_fn *softirq_done_fn ;
4505 rq_timed_out_fn *rq_timed_out_fn ;
4506 dma_drain_needed_fn *dma_drain_needed ;
4507 lld_busy_fn *lld_busy_fn ;
4508 sector_t end_sector ;
4509 struct request *boundary_rq ;
4510 struct delayed_work delay_work ;
4511 struct backing_dev_info backing_dev_info ;
4512 void *queuedata ;
4513 gfp_t bounce_gfp ;
4514 unsigned long queue_flags ;
4515 spinlock_t __queue_lock ;
4516 spinlock_t *queue_lock ;
4517 struct kobject kobj ;
4518 unsigned long nr_requests ;
4519 unsigned int nr_congestion_on ;
4520 unsigned int nr_congestion_off ;
4521 unsigned int nr_batching ;
4522 void *dma_drain_buffer ;
4523 unsigned int dma_drain_size ;
4524 unsigned int dma_pad_mask ;
4525 unsigned int dma_alignment ;
4526 struct blk_queue_tag *queue_tags ;
4527 struct list_head tag_busy_list ;
4528 unsigned int nr_sorted ;
4529 unsigned int in_flight[2U] ;
4530 unsigned int rq_timeout ;
4531 struct timer_list timeout ;
4532 struct list_head timeout_list ;
4533 struct queue_limits limits ;
4534 unsigned int sg_timeout ;
4535 unsigned int sg_reserved_size ;
4536 int node ;
4537 struct blk_trace *blk_trace ;
4538 unsigned int flush_flags ;
4539 unsigned char flush_not_queueable : 1 ;
4540 unsigned char flush_queue_delayed : 1 ;
4541 unsigned char flush_pending_idx : 1 ;
4542 unsigned char flush_running_idx : 1 ;
4543 unsigned long flush_pending_since ;
4544 struct list_head flush_queue[2U] ;
4545 struct list_head flush_data_in_flight ;
4546 struct request flush_rq ;
4547 struct mutex sysfs_lock ;
4548 struct bsg_class_device bsg_dev ;
4549};
4550#line 859 "include/linux/blkdev.h"
4551struct blk_plug {
4552 unsigned long magic ;
4553 struct list_head list ;
4554 struct list_head cb_list ;
4555 unsigned int should_sort ;
4556};
4557#line 1192 "include/linux/blkdev.h"
4558struct blk_integrity_exchg {
4559 void *prot_buf ;
4560 void *data_buf ;
4561 sector_t sector ;
4562 unsigned int data_size ;
4563 unsigned short sector_size ;
4564 char const *disk_name ;
4565};
4566#line 1212 "include/linux/blkdev.h"
4567typedef void integrity_gen_fn(struct blk_integrity_exchg * );
4568#line 1213 "include/linux/blkdev.h"
4569typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
4570#line 1214 "include/linux/blkdev.h"
4571typedef void integrity_set_tag_fn(void * , void * , unsigned int );
4572#line 1215 "include/linux/blkdev.h"
4573typedef void integrity_get_tag_fn(void * , void * , unsigned int );
4574#line 1216 "include/linux/blkdev.h"
4575struct blk_integrity {
4576 integrity_gen_fn *generate_fn ;
4577 integrity_vrfy_fn *verify_fn ;
4578 integrity_set_tag_fn *set_tag_fn ;
4579 integrity_get_tag_fn *get_tag_fn ;
4580 unsigned short flags ;
4581 unsigned short tuple_size ;
4582 unsigned short sector_size ;
4583 unsigned short tag_size ;
4584 char const *name ;
4585 struct kobject kobj ;
4586};
4587#line 1275 "include/linux/blkdev.h"
4588struct block_device_operations {
4589 int (*open)(struct block_device * , fmode_t ) ;
4590 int (*release)(struct gendisk * , fmode_t ) ;
4591 int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4592 int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4593 int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ;
4594 unsigned int (*check_events)(struct gendisk * , unsigned int ) ;
4595 int (*media_changed)(struct gendisk * ) ;
4596 void (*unlock_native_capacity)(struct gendisk * ) ;
4597 int (*revalidate_disk)(struct gendisk * ) ;
4598 int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
4599 void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ;
4600 struct module *owner ;
4601};
4602#line 272 "include/linux/cdrom.h"
4603struct request_sense;
4604#line 272
4605struct request_sense;
4606#line 272
4607struct request_sense;
4608#line 696 "include/linux/cdrom.h"
4609struct request_sense {
4610 unsigned char error_code : 7 ;
4611 unsigned char valid : 1 ;
4612 __u8 segment_number ;
4613 unsigned char sense_key : 4 ;
4614 unsigned char reserved2 : 1 ;
4615 unsigned char ili : 1 ;
4616 unsigned char reserved1 : 2 ;
4617 __u8 information[4U] ;
4618 __u8 add_sense_len ;
4619 __u8 command_info[4U] ;
4620 __u8 asc ;
4621 __u8 ascq ;
4622 __u8 fruc ;
4623 __u8 sks[3U] ;
4624 __u8 asb[46U] ;
4625};
4626#line 853 "include/linux/cdrom.h"
4627struct __anonstruct_disc_information_169 {
4628 __be16 disc_information_length ;
4629 unsigned char disc_status : 2 ;
4630 unsigned char border_status : 2 ;
4631 unsigned char erasable : 1 ;
4632 unsigned char reserved1 : 3 ;
4633 __u8 n_first_track ;
4634 __u8 n_sessions_lsb ;
4635 __u8 first_track_lsb ;
4636 __u8 last_track_lsb ;
4637 unsigned char mrw_status : 2 ;
4638 unsigned char dbit : 1 ;
4639 unsigned char reserved2 : 2 ;
4640 unsigned char uru : 1 ;
4641 unsigned char dbc_v : 1 ;
4642 unsigned char did_v : 1 ;
4643 __u8 disc_type ;
4644 __u8 n_sessions_msb ;
4645 __u8 first_track_msb ;
4646 __u8 last_track_msb ;
4647 __u32 disc_id ;
4648 __u32 lead_in ;
4649 __u32 lead_out ;
4650 __u8 disc_bar_code[8U] ;
4651 __u8 reserved3 ;
4652 __u8 n_opc ;
4653};
4654#line 853 "include/linux/cdrom.h"
4655typedef struct __anonstruct_disc_information_169 disc_information;
4656#line 893 "include/linux/cdrom.h"
4657struct __anonstruct_track_information_170 {
4658 __be16 track_information_length ;
4659 __u8 track_lsb ;
4660 __u8 session_lsb ;
4661 __u8 reserved1 ;
4662 unsigned char track_mode : 4 ;
4663 unsigned char copy : 1 ;
4664 unsigned char damage : 1 ;
4665 unsigned char reserved2 : 2 ;
4666 unsigned char data_mode : 4 ;
4667 unsigned char fp : 1 ;
4668 unsigned char packet : 1 ;
4669 unsigned char blank : 1 ;
4670 unsigned char rt : 1 ;
4671 unsigned char nwa_v : 1 ;
4672 unsigned char lra_v : 1 ;
4673 unsigned char reserved3 : 6 ;
4674 __be32 track_start ;
4675 __be32 next_writable ;
4676 __be32 free_blocks ;
4677 __be32 fixed_packet_size ;
4678 __be32 track_size ;
4679 __be32 last_rec_address ;
4680};
4681#line 893 "include/linux/cdrom.h"
4682typedef struct __anonstruct_track_information_170 track_information;
4683#line 910 "include/linux/cdrom.h"
4684struct packet_command {
4685 unsigned char cmd[12U] ;
4686 unsigned char *buffer ;
4687 unsigned int buflen ;
4688 int stat ;
4689 struct request_sense *sense ;
4690 unsigned char data_direction ;
4691 int quiet ;
4692 int timeout ;
4693 void *reserved[1U] ;
4694};
4695#line 1128 "include/linux/cdrom.h"
4696struct __anonstruct_write_param_page_172 {
4697 unsigned char page_code : 6 ;
4698 unsigned char reserved1 : 1 ;
4699 unsigned char ps : 1 ;
4700 __u8 page_length ;
4701 unsigned char write_type : 4 ;
4702 unsigned char test_write : 1 ;
4703 unsigned char ls_v : 1 ;
4704 unsigned char bufe : 1 ;
4705 unsigned char reserved2 : 1 ;
4706 unsigned char track_mode : 4 ;
4707 unsigned char copy : 1 ;
4708 unsigned char fp : 1 ;
4709 unsigned char multi_session : 2 ;
4710 unsigned char data_block_type : 4 ;
4711 unsigned char reserved3 : 4 ;
4712 __u8 link_size ;
4713 __u8 reserved4 ;
4714 unsigned char app_code : 6 ;
4715 unsigned char reserved5 : 2 ;
4716 __u8 session_format ;
4717 __u8 reserved6 ;
4718 __be32 packet_size ;
4719 __u16 audio_pause ;
4720 __u8 mcn[16U] ;
4721 __u8 isrc[16U] ;
4722 __u8 subhdr0 ;
4723 __u8 subhdr1 ;
4724 __u8 subhdr2 ;
4725 __u8 subhdr3 ;
4726};
4727#line 1128 "include/linux/cdrom.h"
4728typedef struct __anonstruct_write_param_page_172 write_param_page;
4729#line 1212 "include/linux/cdrom.h"
4730struct packet_settings {
4731 __u32 size ;
4732 __u8 fp ;
4733 __u8 link_loss ;
4734 __u8 write_type ;
4735 __u8 track_mode ;
4736 __u8 block_mode ;
4737};
4738#line 133 "include/linux/pktcdvd.h"
4739struct packet_stats {
4740 unsigned long pkt_started ;
4741 unsigned long pkt_ended ;
4742 unsigned long secs_w ;
4743 unsigned long secs_rg ;
4744 unsigned long secs_r ;
4745};
4746#line 145 "include/linux/pktcdvd.h"
4747struct packet_cdrw {
4748 struct list_head pkt_free_list ;
4749 struct list_head pkt_active_list ;
4750 spinlock_t active_list_lock ;
4751 struct task_struct *thread ;
4752 atomic_t pending_bios ;
4753};
4754#line 154 "include/linux/pktcdvd.h"
4755struct packet_iosched {
4756 atomic_t attention ;
4757 int writing ;
4758 spinlock_t lock ;
4759 struct bio_list read_queue ;
4760 struct bio_list write_queue ;
4761 sector_t last_write ;
4762 int successive_reads ;
4763};
4764#line 171
4765enum packet_data_state {
4766 PACKET_IDLE_STATE = 0,
4767 PACKET_WAITING_STATE = 1,
4768 PACKET_READ_WAIT_STATE = 2,
4769 PACKET_WRITE_WAIT_STATE = 3,
4770 PACKET_RECOVERY_STATE = 4,
4771 PACKET_FINISHED_STATE = 5,
4772 PACKET_NUM_STATES = 6
4773} ;
4774#line 181
4775struct pktcdvd_device;
4776#line 181
4777struct pktcdvd_device;
4778#line 181
4779struct pktcdvd_device;
4780#line 181
4781struct pktcdvd_device;
4782#line 182 "include/linux/pktcdvd.h"
4783struct packet_data {
4784 struct list_head list ;
4785 spinlock_t lock ;
4786 struct bio_list orig_bios ;
4787 int write_size ;
4788 struct bio *w_bio ;
4789 sector_t sector ;
4790 int frames ;
4791 enum packet_data_state state ;
4792 atomic_t run_sm ;
4793 long sleep_time ;
4794 atomic_t io_wait ;
4795 atomic_t io_errors ;
4796 struct bio *r_bios[128U] ;
4797 struct page *pages[64U] ;
4798 int cache_valid ;
4799 int id ;
4800 struct pktcdvd_device *pd ;
4801};
4802#line 237 "include/linux/pktcdvd.h"
4803struct pkt_rb_node {
4804 struct rb_node rb_node ;
4805 struct bio *bio ;
4806};
4807#line 242 "include/linux/pktcdvd.h"
4808struct packet_stacked_data {
4809 struct bio *bio ;
4810 struct pktcdvd_device *pd ;
4811};
4812#line 248 "include/linux/pktcdvd.h"
4813struct pktcdvd_kobj {
4814 struct kobject kobj ;
4815 struct pktcdvd_device *pd ;
4816};
4817#line 255 "include/linux/pktcdvd.h"
4818struct pktcdvd_device {
4819 struct block_device *bdev ;
4820 dev_t pkt_dev ;
4821 char name[20U] ;
4822 struct packet_settings settings ;
4823 struct packet_stats stats ;
4824 int refcnt ;
4825 int write_speed ;
4826 int read_speed ;
4827 unsigned long offset ;
4828 __u8 mode_offset ;
4829 __u8 type ;
4830 unsigned long flags ;
4831 __u16 mmc3_profile ;
4832 __u32 nwa ;
4833 __u32 lra ;
4834 struct packet_cdrw cdrw ;
4835 wait_queue_head_t wqueue ;
4836 spinlock_t lock ;
4837 struct rb_root bio_queue ;
4838 int bio_queue_size ;
4839 sector_t current_sector ;
4840 atomic_t scan_queue ;
4841 mempool_t *rb_pool ;
4842 struct packet_iosched iosched ;
4843 struct gendisk *disk ;
4844 int write_congestion_off ;
4845 int write_congestion_on ;
4846 struct device *dev ;
4847 struct pktcdvd_kobj *kobj_stat ;
4848 struct pktcdvd_kobj *kobj_wqueue ;
4849 struct dentry *dfs_d_root ;
4850 struct dentry *dfs_f_info ;
4851};
4852#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
4853typedef s32 compat_time_t;
4854#line 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
4855typedef s32 compat_long_t;
4856#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
4857struct compat_timespec {
4858 compat_time_t tv_sec ;
4859 s32 tv_nsec ;
4860};
4861#line 196 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
4862typedef u32 compat_uptr_t;
4863#line 205 "include/linux/compat.h"
4864struct compat_robust_list {
4865 compat_uptr_t next ;
4866};
4867#line 209 "include/linux/compat.h"
4868struct compat_robust_list_head {
4869 struct compat_robust_list list ;
4870 compat_long_t futex_offset ;
4871 compat_uptr_t list_op_pending ;
4872};
4873#line 46 "include/linux/proc_fs.h"
4874typedef int read_proc_t(char * , char ** , off_t , int , int * , void * );
4875#line 48 "include/linux/proc_fs.h"
4876typedef int write_proc_t(struct file * , char const * , unsigned long , void * );
4877#line 49 "include/linux/proc_fs.h"
4878struct proc_dir_entry {
4879 unsigned int low_ino ;
4880 unsigned int namelen ;
4881 char const *name ;
4882 mode_t mode ;
4883 nlink_t nlink ;
4884 uid_t uid ;
4885 gid_t gid ;
4886 loff_t size ;
4887 struct inode_operations const *proc_iops ;
4888 struct file_operations const *proc_fops ;
4889 struct proc_dir_entry *next ;
4890 struct proc_dir_entry *parent ;
4891 struct proc_dir_entry *subdir ;
4892 void *data ;
4893 read_proc_t *read_proc ;
4894 write_proc_t *write_proc ;
4895 atomic_t count ;
4896 int pde_users ;
4897 spinlock_t pde_unload_lock ;
4898 struct completion *pde_unload_completion ;
4899 struct list_head pde_openers ;
4900};
4901#line 241 "include/linux/proc_fs.h"
4902struct proc_ns_operations {
4903 char const *name ;
4904 int type ;
4905 void *(*get)(struct task_struct * ) ;
4906 void (*put)(void * ) ;
4907 int (*install)(struct nsproxy * , void * ) ;
4908};
4909#line 254 "include/linux/proc_fs.h"
4910union proc_op {
4911 int (*proc_get_link)(struct inode * , struct path * ) ;
4912 int (*proc_read)(struct task_struct * , char * ) ;
4913 int (*proc_show)(struct seq_file * , struct pid_namespace * , struct pid * , struct task_struct * ) ;
4914};
4915#line 260 "include/linux/proc_fs.h"
4916struct proc_inode {
4917 struct pid *pid ;
4918 int fd ;
4919 union proc_op op ;
4920 struct proc_dir_entry *pde ;
4921 struct ctl_table_header *sysctl ;
4922 struct ctl_table *sysctl_entry ;
4923 void *ns ;
4924 struct proc_ns_operations const *ns_ops ;
4925 struct inode vfs_inode ;
4926};
4927#line 292 "include/linux/proc_fs.h"
4928struct seq_file {
4929 char *buf ;
4930 size_t size ;
4931 size_t from ;
4932 size_t count ;
4933 loff_t index ;
4934 loff_t read_pos ;
4935 u64 version ;
4936 struct mutex lock ;
4937 struct seq_operations const *op ;
4938 void *private ;
4939};
4940#line 28 "include/linux/seq_file.h"
4941struct seq_operations {
4942 void *(*start)(struct seq_file * , loff_t * ) ;
4943 void (*stop)(struct seq_file * , void * ) ;
4944 void *(*next)(struct seq_file * , void * , loff_t * ) ;
4945 int (*show)(struct seq_file * , void * ) ;
4946};
4947#line 154 "include/linux/seq_file.h"
4948struct miscdevice {
4949 int minor ;
4950 char const *name ;
4951 struct file_operations const *fops ;
4952 struct list_head list ;
4953 struct device *parent ;
4954 struct device *this_device ;
4955 char const *nodename ;
4956 mode_t mode ;
4957};
4958#line 34 "include/linux/bug.h"
4959struct dma_attrs {
4960 unsigned long flags[1U] ;
4961};
4962#line 266 "include/linux/scatterlist.h"
4963enum dma_data_direction {
4964 DMA_BIDIRECTIONAL = 0,
4965 DMA_TO_DEVICE = 1,
4966 DMA_FROM_DEVICE = 2,
4967 DMA_NONE = 3
4968} ;
4969#line 273 "include/linux/scatterlist.h"
4970struct dma_map_ops {
4971 void *(*alloc_coherent)(struct device * , size_t , dma_addr_t * , gfp_t ) ;
4972 void (*free_coherent)(struct device * , size_t , void * , dma_addr_t ) ;
4973 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
4974 enum dma_data_direction , struct dma_attrs * ) ;
4975 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
4976 struct dma_attrs * ) ;
4977 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
4978 struct dma_attrs * ) ;
4979 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
4980 struct dma_attrs * ) ;
4981 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
4982 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
4983 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
4984 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
4985 int (*mapping_error)(struct device * , dma_addr_t ) ;
4986 int (*dma_supported)(struct device * , u64 ) ;
4987 int (*set_dma_mask)(struct device * , u64 ) ;
4988 int is_phys ;
4989};
4990#line 1 "<compiler builtins>"
4991
4992#line 1
4993
4994#line 1
4995long __builtin_expect(long , long ) ;
4996#line 24 "include/linux/list.h"
4997__inline static void INIT_LIST_HEAD(struct list_head *list )
4998{
4999
5000 {
5001#line 26
5002 list->next = list;
5003#line 27
5004 list->prev = list;
5005#line 28
5006 return;
5007}
5008}
5009#line 47
5010extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
5011#line 60 "include/linux/list.h"
5012__inline static void list_add(struct list_head *new , struct list_head *head )
5013{ struct list_head *__cil_tmp3 ;
5014
5015 {
5016 {
5017#line 62
5018 __cil_tmp3 = head->next;
5019#line 62
5020 __list_add(new, head, __cil_tmp3);
5021 }
5022#line 63
5023 return;
5024}
5025}
5026#line 74 "include/linux/list.h"
5027__inline static void list_add_tail(struct list_head *new , struct list_head *head )
5028{ struct list_head *__cil_tmp3 ;
5029
5030 {
5031 {
5032#line 76
5033 __cil_tmp3 = head->prev;
5034#line 76
5035 __list_add(new, __cil_tmp3, head);
5036 }
5037#line 77
5038 return;
5039}
5040}
5041#line 111
5042extern void __list_del_entry(struct list_head * ) ;
5043#line 112
5044extern void list_del(struct list_head * ) ;
5045#line 142 "include/linux/list.h"
5046__inline static void list_del_init(struct list_head *entry )
5047{
5048
5049 {
5050 {
5051#line 144
5052 __list_del_entry(entry);
5053#line 145
5054 INIT_LIST_HEAD(entry);
5055 }
5056#line 146
5057 return;
5058}
5059}
5060#line 186 "include/linux/list.h"
5061__inline static int list_empty(struct list_head const *head )
5062{ unsigned long __cil_tmp2 ;
5063 struct list_head *__cil_tmp3 ;
5064 struct list_head const *__cil_tmp4 ;
5065 unsigned long __cil_tmp5 ;
5066
5067 {
5068 {
5069#line 188
5070 __cil_tmp2 = (unsigned long )head;
5071#line 188
5072 __cil_tmp3 = head->next;
5073#line 188
5074 __cil_tmp4 = (struct list_head const *)__cil_tmp3;
5075#line 188
5076 __cil_tmp5 = (unsigned long )__cil_tmp4;
5077#line 188
5078 return (__cil_tmp5 == __cil_tmp2);
5079 }
5080}
5081}
5082#line 60 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
5083__inline static void set_bit(unsigned int nr , unsigned long volatile *addr )
5084{ long volatile *__cil_tmp3 ;
5085
5086 {
5087#line 68
5088 __cil_tmp3 = (long volatile *)addr;
5089#line 68
5090 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
5091#line 70
5092 return;
5093}
5094}
5095#line 98 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
5096__inline static void clear_bit(int nr , unsigned long volatile *addr )
5097{ long volatile *__cil_tmp3 ;
5098
5099 {
5100#line 105
5101 __cil_tmp3 = (long volatile *)addr;
5102#line 105
5103 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
5104#line 107
5105 return;
5106}
5107}
5108#line 309 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
5109__inline static int constant_test_bit(unsigned int nr , unsigned long const volatile *addr )
5110{ int __cil_tmp3 ;
5111 int __cil_tmp4 ;
5112 unsigned int __cil_tmp5 ;
5113 unsigned long __cil_tmp6 ;
5114 unsigned long const volatile *__cil_tmp7 ;
5115 unsigned long volatile __cil_tmp8 ;
5116 unsigned long __cil_tmp9 ;
5117 unsigned long __cil_tmp10 ;
5118 int __cil_tmp11 ;
5119
5120 {
5121 {
5122#line 311
5123 __cil_tmp3 = (int )nr;
5124#line 311
5125 __cil_tmp4 = __cil_tmp3 & 63;
5126#line 311
5127 __cil_tmp5 = nr / 64U;
5128#line 311
5129 __cil_tmp6 = (unsigned long )__cil_tmp5;
5130#line 311
5131 __cil_tmp7 = addr + __cil_tmp6;
5132#line 311
5133 __cil_tmp8 = *__cil_tmp7;
5134#line 311
5135 __cil_tmp9 = (unsigned long )__cil_tmp8;
5136#line 311
5137 __cil_tmp10 = __cil_tmp9 >> __cil_tmp4;
5138#line 311
5139 __cil_tmp11 = (int )__cil_tmp10;
5140#line 311
5141 return (__cil_tmp11 & 1);
5142 }
5143}
5144}
5145#line 315 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
5146__inline static int variable_test_bit(int nr , unsigned long const volatile *addr )
5147{ int oldbit ;
5148 unsigned long *__cil_tmp4 ;
5149
5150 {
5151#line 319
5152 __cil_tmp4 = (unsigned long *)addr;
5153#line 319
5154 __asm__ volatile ("bt %2,%1\n\tsbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4),
5155 "Ir" (nr));
5156#line 324
5157 return (oldbit);
5158}
5159}
5160#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/swab.h"
5161__inline static __u32 __arch_swab32(__u32 val )
5162{
5163
5164 {
5165#line 21
5166 __asm__ ("bswapl %0": "=r" (val): "0" (val));
5167#line 25
5168 return (val);
5169}
5170}
5171#line 46 "include/linux/swab.h"
5172__inline static __u16 __fswab16(__u16 val )
5173{ int __cil_tmp2 ;
5174 int __cil_tmp3 ;
5175 short __cil_tmp4 ;
5176 int __cil_tmp5 ;
5177 int __cil_tmp6 ;
5178 int __cil_tmp7 ;
5179 short __cil_tmp8 ;
5180 int __cil_tmp9 ;
5181 int __cil_tmp10 ;
5182
5183 {
5184 {
5185#line 51
5186 __cil_tmp2 = (int )val;
5187#line 51
5188 __cil_tmp3 = __cil_tmp2 >> 8;
5189#line 51
5190 __cil_tmp4 = (short )__cil_tmp3;
5191#line 51
5192 __cil_tmp5 = (int )__cil_tmp4;
5193#line 51
5194 __cil_tmp6 = (int )val;
5195#line 51
5196 __cil_tmp7 = __cil_tmp6 << 8;
5197#line 51
5198 __cil_tmp8 = (short )__cil_tmp7;
5199#line 51
5200 __cil_tmp9 = (int )__cil_tmp8;
5201#line 51
5202 __cil_tmp10 = __cil_tmp9 | __cil_tmp5;
5203#line 51
5204 return ((__u16 )__cil_tmp10);
5205 }
5206}
5207}
5208#line 55 "include/linux/swab.h"
5209__inline static __u32 __fswab32(__u32 val )
5210{ __u32 tmp ;
5211
5212 {
5213 {
5214#line 58
5215 tmp = __arch_swab32(val);
5216 }
5217#line 58
5218 return (tmp);
5219}
5220}
5221#line 101 "include/linux/printk.h"
5222extern int printk(char const * , ...) ;
5223#line 64 "include/asm-generic/bug.h"
5224extern void warn_slowpath_fmt(char const * , int , char const * , ...) ;
5225#line 170 "include/linux/kernel.h"
5226extern void might_fault(void) ;
5227#line 291
5228extern int sprintf(char * , char const * , ...) ;
5229#line 303
5230extern char *kasprintf(gfp_t , char const * , ...) ;
5231#line 307
5232extern int sscanf(char const * , char const * , ...) ;
5233#line 88 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/percpu.h"
5234extern void __bad_percpu_size(void) ;
5235#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
5236extern struct task_struct *current_task ;
5237#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
5238__inline static struct task_struct *get_current(void)
5239{ struct task_struct *pfo_ret__ ;
5240
5241 {
5242#line 14
5243 if (1) {
5244#line 14
5245 goto case_8;
5246 } else {
5247#line 14
5248 goto switch_default;
5249#line 14
5250 if (0) {
5251#line 14
5252 __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task));
5253#line 14
5254 goto ldv_2386;
5255#line 14
5256 __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
5257#line 14
5258 goto ldv_2386;
5259#line 14
5260 __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
5261#line 14
5262 goto ldv_2386;
5263 case_8:
5264#line 14
5265 __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
5266#line 14
5267 goto ldv_2386;
5268 switch_default:
5269 {
5270#line 14
5271 __bad_percpu_size();
5272 }
5273 } else {
5274
5275 }
5276 }
5277 ldv_2386: ;
5278#line 14
5279 return (pfo_ret__);
5280}
5281}
5282#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/cmpxchg_64.h"
5283extern void __xchg_wrong_size(void) ;
5284#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
5285extern void *__memcpy(void * , void const * , size_t ) ;
5286#line 55
5287extern void *memset(void * , int , size_t ) ;
5288#line 62
5289extern char *strcpy(char * , char const * ) ;
5290#line 64
5291extern int strcmp(char const * , char const * ) ;
5292#line 32 "include/linux/err.h"
5293__inline static long IS_ERR(void const *ptr )
5294{ long tmp ;
5295 unsigned long __cil_tmp3 ;
5296 int __cil_tmp4 ;
5297 long __cil_tmp5 ;
5298
5299 {
5300 {
5301#line 34
5302 __cil_tmp3 = (unsigned long )ptr;
5303#line 34
5304 __cil_tmp4 = __cil_tmp3 > 1152921504606842880UL;
5305#line 34
5306 __cil_tmp5 = (long )__cil_tmp4;
5307#line 34
5308 tmp = __builtin_expect(__cil_tmp5, 0L);
5309 }
5310#line 34
5311 return (tmp);
5312}
5313}
5314#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
5315__inline static int atomic_read(atomic_t const *v )
5316{ int const *__cil_tmp2 ;
5317 int volatile *__cil_tmp3 ;
5318 int volatile __cil_tmp4 ;
5319
5320 {
5321 {
5322#line 25
5323 __cil_tmp2 = & v->counter;
5324#line 25
5325 __cil_tmp3 = (int volatile *)__cil_tmp2;
5326#line 25
5327 __cil_tmp4 = *__cil_tmp3;
5328#line 25
5329 return ((int )__cil_tmp4);
5330 }
5331}
5332}
5333#line 35 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
5334__inline static void atomic_set(atomic_t *v , int i )
5335{
5336
5337 {
5338#line 37
5339 v->counter = i;
5340#line 38
5341 return;
5342}
5343}
5344#line 93 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
5345__inline static void atomic_inc(atomic_t *v )
5346{
5347
5348 {
5349#line 95
5350 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; incl %0": "+m" (v->counter));
5351#line 97
5352 return;
5353}
5354}
5355#line 105 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
5356__inline static void atomic_dec(atomic_t *v )
5357{
5358
5359 {
5360#line 107
5361 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; decl %0": "+m" (v->counter));
5362#line 109
5363 return;
5364}
5365}
5366#line 119 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
5367__inline static int atomic_dec_and_test(atomic_t *v )
5368{ unsigned char c ;
5369 unsigned int __cil_tmp3 ;
5370
5371 {
5372#line 123
5373 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; decl %0; sete %1": "+m" (v->counter),
5374 "=qm" (c): : "memory");
5375 {
5376#line 126
5377 __cil_tmp3 = (unsigned int )c;
5378#line 126
5379 return (__cil_tmp3 != 0U);
5380 }
5381}
5382}
5383#line 217 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
5384extern unsigned long kernel_stack ;
5385#line 219 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
5386__inline static struct thread_info *current_thread_info(void)
5387{ struct thread_info *ti ;
5388 unsigned long pfo_ret__ ;
5389 unsigned long __cil_tmp3 ;
5390
5391 {
5392#line 222
5393 if (1) {
5394#line 222
5395 goto case_8;
5396 } else {
5397#line 222
5398 goto switch_default;
5399#line 222
5400 if (0) {
5401#line 222
5402 __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& kernel_stack));
5403#line 222
5404 goto ldv_5782;
5405#line 222
5406 __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
5407#line 222
5408 goto ldv_5782;
5409#line 222
5410 __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
5411#line 222
5412 goto ldv_5782;
5413 case_8:
5414#line 222
5415 __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
5416#line 222
5417 goto ldv_5782;
5418 switch_default:
5419 {
5420#line 222
5421 __bad_percpu_size();
5422 }
5423 } else {
5424
5425 }
5426 }
5427 ldv_5782:
5428#line 222
5429 __cil_tmp3 = pfo_ret__ - 8152UL;
5430#line 222
5431 ti = (struct thread_info *)__cil_tmp3;
5432#line 224
5433 return (ti);
5434}
5435}
5436#line 82 "include/linux/thread_info.h"
5437__inline static int test_ti_thread_flag(struct thread_info *ti , int flag )
5438{ int tmp ;
5439 __u32 *__cil_tmp4 ;
5440 unsigned long const volatile *__cil_tmp5 ;
5441
5442 {
5443 {
5444#line 84
5445 __cil_tmp4 = & ti->flags;
5446#line 84
5447 __cil_tmp5 = (unsigned long const volatile *)__cil_tmp4;
5448#line 84
5449 tmp = variable_test_bit(flag, __cil_tmp5);
5450 }
5451#line 84
5452 return (tmp);
5453}
5454}
5455#line 93 "include/linux/spinlock.h"
5456extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ;
5457#line 22 "include/linux/spinlock_api_smp.h"
5458extern void _raw_spin_lock(raw_spinlock_t * ) ;
5459#line 29
5460extern void _raw_spin_lock_irq(raw_spinlock_t * ) ;
5461#line 39
5462extern void _raw_spin_unlock(raw_spinlock_t * ) ;
5463#line 41
5464extern void _raw_spin_unlock_irq(raw_spinlock_t * ) ;
5465#line 272 "include/linux/spinlock.h"
5466__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
5467{
5468
5469 {
5470#line 274
5471 return (& lock->ldv_6060.rlock);
5472}
5473}
5474#line 283 "include/linux/spinlock.h"
5475__inline static void spin_lock(spinlock_t *lock )
5476{ struct raw_spinlock *__cil_tmp2 ;
5477
5478 {
5479 {
5480#line 285
5481 __cil_tmp2 = & lock->ldv_6060.rlock;
5482#line 285
5483 _raw_spin_lock(__cil_tmp2);
5484 }
5485#line 286
5486 return;
5487}
5488}
5489#line 308 "include/linux/spinlock.h"
5490__inline static void spin_lock_irq(spinlock_t *lock )
5491{ struct raw_spinlock *__cil_tmp2 ;
5492
5493 {
5494 {
5495#line 310
5496 __cil_tmp2 = & lock->ldv_6060.rlock;
5497#line 310
5498 _raw_spin_lock_irq(__cil_tmp2);
5499 }
5500#line 311
5501 return;
5502}
5503}
5504#line 323 "include/linux/spinlock.h"
5505__inline static void spin_unlock(spinlock_t *lock )
5506{ struct raw_spinlock *__cil_tmp2 ;
5507
5508 {
5509 {
5510#line 325
5511 __cil_tmp2 = & lock->ldv_6060.rlock;
5512#line 325
5513 _raw_spin_unlock(__cil_tmp2);
5514 }
5515#line 326
5516 return;
5517}
5518}
5519#line 333 "include/linux/spinlock.h"
5520__inline static void spin_unlock_irq(spinlock_t *lock )
5521{ struct raw_spinlock *__cil_tmp2 ;
5522
5523 {
5524 {
5525#line 335
5526 __cil_tmp2 = & lock->ldv_6060.rlock;
5527#line 335
5528 _raw_spin_unlock_irq(__cil_tmp2);
5529 }
5530#line 336
5531 return;
5532}
5533}
5534#line 30 "include/linux/wait.h"
5535extern int default_wake_function(wait_queue_t * , unsigned int , int , void * ) ;
5536#line 80
5537extern void __init_waitqueue_head(wait_queue_head_t * , struct lock_class_key * ) ;
5538#line 118
5539extern void add_wait_queue(wait_queue_head_t * , wait_queue_t * ) ;
5540#line 120
5541extern void remove_wait_queue(wait_queue_head_t * , wait_queue_t * ) ;
5542#line 156
5543extern void __wake_up(wait_queue_head_t * , unsigned int , int , void * ) ;
5544#line 115 "include/linux/mutex.h"
5545extern void __mutex_init(struct mutex * , char const * , struct lock_class_key * ) ;
5546#line 134
5547extern void mutex_lock_nested(struct mutex * , unsigned int ) ;
5548#line 169
5549extern void mutex_unlock(struct mutex * ) ;
5550#line 322 "include/linux/gfp.h"
5551extern struct page *alloc_pages_current(gfp_t , unsigned int ) ;
5552#line 325 "include/linux/gfp.h"
5553__inline static struct page *alloc_pages(gfp_t gfp_mask , unsigned int order )
5554{ struct page *tmp ;
5555
5556 {
5557 {
5558#line 327
5559 tmp = alloc_pages_current(gfp_mask, order);
5560 }
5561#line 327
5562 return (tmp);
5563}
5564}
5565#line 358
5566extern void __free_pages(struct page * , unsigned int ) ;
5567#line 830 "include/linux/rcupdate.h"
5568extern void kfree(void const * ) ;
5569#line 90 "include/linux/kobject.h"
5570extern int kobject_init_and_add(struct kobject * , struct kobj_type * , struct kobject * ,
5571 char const * , ...) ;
5572#line 106
5573extern void kobject_put(struct kobject * ) ;
5574#line 211
5575extern int kobject_uevent(struct kobject * , enum kobject_action ) ;
5576#line 99 "include/linux/module.h"
5577extern struct module __this_module ;
5578#line 519
5579__inline static void ldv___module_get_3(struct module *module ) ;
5580#line 541
5581__inline static int ldv_try_module_get_1(struct module *module ) ;
5582#line 547
5583void ldv_module_put_2(struct module *ldv_func_arg1 ) ;
5584#line 551
5585void ldv_module_put_4(struct module *ldv_func_arg1 ) ;
5586#line 555
5587void ldv_module_put_5(struct module *ldv_func_arg1 ) ;
5588#line 3 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
5589int ldv_try_module_get(struct module *module ) ;
5590#line 4
5591void ldv_module_get(struct module *module ) ;
5592#line 5
5593void ldv_module_put(struct module *module ) ;
5594#line 6
5595unsigned int ldv_module_refcount(void) ;
5596#line 7
5597void ldv_module_put_and_exit(void) ;
5598#line 546 "include/linux/capability.h"
5599extern bool capable(int ) ;
5600#line 147 "include/linux/rbtree.h"
5601extern void rb_insert_color(struct rb_node * , struct rb_root * ) ;
5602#line 148
5603extern void rb_erase(struct rb_node * , struct rb_root * ) ;
5604#line 159
5605extern struct rb_node *rb_next(struct rb_node const * ) ;
5606#line 161
5607extern struct rb_node *rb_first(struct rb_root const * ) ;
5608#line 168 "include/linux/rbtree.h"
5609__inline static void rb_link_node(struct rb_node *node , struct rb_node *parent ,
5610 struct rb_node **rb_link )
5611{ struct rb_node *tmp ;
5612
5613 {
5614#line 171
5615 node->rb_parent_color = (unsigned long )parent;
5616#line 172
5617 tmp = (struct rb_node *)0;
5618#line 172
5619 node->rb_right = tmp;
5620#line 172
5621 node->rb_left = tmp;
5622#line 174
5623 *rb_link = node;
5624#line 175
5625 return;
5626}
5627}
5628#line 357 "include/linux/sched.h"
5629extern long schedule_timeout(long ) ;
5630#line 2037
5631extern void set_user_nice(struct task_struct * , long ) ;
5632#line 2112
5633extern int wake_up_process(struct task_struct * ) ;
5634#line 2441 "include/linux/sched.h"
5635__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag )
5636{ int tmp ;
5637 void *__cil_tmp4 ;
5638 struct thread_info *__cil_tmp5 ;
5639
5640 {
5641 {
5642#line 2443
5643 __cil_tmp4 = tsk->stack;
5644#line 2443
5645 __cil_tmp5 = (struct thread_info *)__cil_tmp4;
5646#line 2443
5647 tmp = test_ti_thread_flag(__cil_tmp5, flag);
5648 }
5649#line 2443
5650 return (tmp);
5651}
5652}
5653#line 41 "include/linux/kdev_t.h"
5654__inline static u32 new_encode_dev(dev_t dev )
5655{ unsigned int major ;
5656 unsigned int minor ;
5657 unsigned int __cil_tmp4 ;
5658 unsigned int __cil_tmp5 ;
5659 unsigned int __cil_tmp6 ;
5660 unsigned int __cil_tmp7 ;
5661 unsigned int __cil_tmp8 ;
5662
5663 {
5664#line 43
5665 major = dev >> 20;
5666#line 44
5667 minor = dev & 1048575U;
5668 {
5669#line 45
5670 __cil_tmp4 = minor & 4294967040U;
5671#line 45
5672 __cil_tmp5 = __cil_tmp4 << 12;
5673#line 45
5674 __cil_tmp6 = major << 8;
5675#line 45
5676 __cil_tmp7 = minor & 255U;
5677#line 45
5678 __cil_tmp8 = __cil_tmp7 | __cil_tmp6;
5679#line 45
5680 return (__cil_tmp8 | __cil_tmp5);
5681 }
5682}
5683}
5684#line 48 "include/linux/kdev_t.h"
5685__inline static dev_t new_decode_dev(u32 dev )
5686{ unsigned int major ;
5687 unsigned int minor ;
5688 unsigned int __cil_tmp4 ;
5689 u32 __cil_tmp5 ;
5690 unsigned int __cil_tmp6 ;
5691 unsigned int __cil_tmp7 ;
5692 unsigned int __cil_tmp8 ;
5693
5694 {
5695#line 50
5696 __cil_tmp4 = dev & 1048320U;
5697#line 50
5698 major = __cil_tmp4 >> 8;
5699#line 51
5700 __cil_tmp5 = dev >> 12;
5701#line 51
5702 __cil_tmp6 = __cil_tmp5 & 1048320U;
5703#line 51
5704 __cil_tmp7 = dev & 255U;
5705#line 51
5706 minor = __cil_tmp7 | __cil_tmp6;
5707 {
5708#line 52
5709 __cil_tmp8 = major << 20;
5710#line 52
5711 return (__cil_tmp8 | minor);
5712 }
5713}
5714}
5715#line 221 "include/linux/slub_def.h"
5716extern void *__kmalloc(size_t , gfp_t ) ;
5717#line 255 "include/linux/slub_def.h"
5718__inline static void *kmalloc(size_t size , gfp_t flags )
5719{ void *tmp___2 ;
5720
5721 {
5722 {
5723#line 270
5724 tmp___2 = __kmalloc(size, flags);
5725 }
5726#line 270
5727 return (tmp___2);
5728}
5729}
5730#line 223 "include/linux/slab.h"
5731__inline static void *kcalloc(size_t n , size_t size , gfp_t flags )
5732{ void *tmp ;
5733 unsigned long __cil_tmp5 ;
5734 size_t __cil_tmp6 ;
5735 unsigned int __cil_tmp7 ;
5736
5737 {
5738#line 225
5739 if (size != 0UL) {
5740 {
5741#line 225
5742 __cil_tmp5 = 1152921504606846975UL / size;
5743#line 225
5744 if (__cil_tmp5 < n) {
5745#line 226
5746 return ((void *)0);
5747 } else {
5748
5749 }
5750 }
5751 } else {
5752
5753 }
5754 {
5755#line 227
5756 __cil_tmp6 = n * size;
5757#line 227
5758 __cil_tmp7 = flags | 32768U;
5759#line 227
5760 tmp = __kmalloc(__cil_tmp6, __cil_tmp7);
5761 }
5762#line 227
5763 return (tmp);
5764}
5765}
5766#line 318 "include/linux/slab.h"
5767__inline static void *kzalloc(size_t size , gfp_t flags )
5768{ void *tmp ;
5769 unsigned int __cil_tmp4 ;
5770
5771 {
5772 {
5773#line 320
5774 __cil_tmp4 = flags | 32768U;
5775#line 320
5776 tmp = kmalloc(size, __cil_tmp4);
5777 }
5778#line 320
5779 return (tmp);
5780}
5781}
5782#line 313 "include/linux/device.h"
5783extern int __class_register(struct class * , struct lock_class_key * ) ;
5784#line 394
5785extern void class_destroy(struct class * ) ;
5786#line 692
5787extern void device_unregister(struct device * ) ;
5788#line 743
5789extern struct device *device_create(struct class * , struct device * , dev_t , void * ,
5790 char const * , ...) ;
5791#line 2025 "include/linux/fs.h"
5792extern int register_blkdev(unsigned int , char const * ) ;
5793#line 2026
5794extern void unregister_blkdev(unsigned int , char const * ) ;
5795#line 2027
5796extern struct block_device *bdget(dev_t ) ;
5797#line 2029
5798extern void bd_set_size(struct block_device * , loff_t ) ;
5799#line 2062
5800extern int blkdev_get(struct block_device * , fmode_t , void * ) ;
5801#line 2067
5802extern int blkdev_put(struct block_device * , fmode_t ) ;
5803#line 2115
5804extern char const *bdevname(struct block_device * , char * ) ;
5805#line 2296
5806extern int set_blocksize(struct block_device * , int ) ;
5807#line 2337
5808extern loff_t no_llseek(struct file * , loff_t , int ) ;
5809#line 2342
5810extern int nonseekable_open(struct inode * , struct file * ) ;
5811#line 408 "include/linux/genhd.h"
5812extern void add_disk(struct gendisk * ) ;
5813#line 409
5814extern void del_gendisk(struct gendisk * ) ;
5815#line 438 "include/linux/genhd.h"
5816__inline static void set_capacity(struct gendisk *disk , sector_t size )
5817{
5818
5819 {
5820#line 440
5821 disk->part0.nr_sects = size;
5822#line 441
5823 return;
5824}
5825}
5826#line 607
5827extern struct gendisk *alloc_disk(int ) ;
5828#line 609
5829extern void put_disk(struct gendisk * ) ;
5830#line 720 "include/linux/mm.h"
5831__inline static void *lowmem_page_address(struct page *page )
5832{ long __cil_tmp2 ;
5833 long __cil_tmp3 ;
5834 long __cil_tmp4 ;
5835 unsigned long long __cil_tmp5 ;
5836 unsigned long long __cil_tmp6 ;
5837 unsigned long __cil_tmp7 ;
5838 unsigned long __cil_tmp8 ;
5839
5840 {
5841 {
5842#line 722
5843 __cil_tmp2 = (long )page;
5844#line 722
5845 __cil_tmp3 = __cil_tmp2 + 24189255811072L;
5846#line 722
5847 __cil_tmp4 = __cil_tmp3 / 56L;
5848#line 722
5849 __cil_tmp5 = (unsigned long long )__cil_tmp4;
5850#line 722
5851 __cil_tmp6 = __cil_tmp5 << 12;
5852#line 722
5853 __cil_tmp7 = (unsigned long )__cil_tmp6;
5854#line 722
5855 __cil_tmp8 = __cil_tmp7 + 1152789563211513856UL;
5856#line 722
5857 return ((void *)__cil_tmp8);
5858 }
5859}
5860}
5861#line 40 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
5862extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
5863#line 42
5864extern unsigned long _copy_from_user(void * , void const * , unsigned int ) ;
5865#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
5866__inline static unsigned long copy_from_user(void *to , void const *from , unsigned long n )
5867{ int sz ;
5868 unsigned long tmp ;
5869 int __ret_warn_on ;
5870 long tmp___0 ;
5871 long tmp___1 ;
5872 long tmp___2 ;
5873 void const *__cil_tmp10 ;
5874 void *__cil_tmp11 ;
5875 int __cil_tmp12 ;
5876 long __cil_tmp13 ;
5877 unsigned int __cil_tmp14 ;
5878 unsigned long __cil_tmp15 ;
5879 int __cil_tmp16 ;
5880 long __cil_tmp17 ;
5881 unsigned int __cil_tmp18 ;
5882 int __cil_tmp19 ;
5883 long __cil_tmp20 ;
5884 int __cil_tmp21 ;
5885 int __cil_tmp22 ;
5886 int __cil_tmp23 ;
5887 long __cil_tmp24 ;
5888
5889 {
5890 {
5891#line 50
5892 __cil_tmp10 = (void const *)to;
5893#line 50
5894 __cil_tmp11 = (void *)__cil_tmp10;
5895#line 50
5896 tmp = __builtin_object_size(__cil_tmp11, 0);
5897#line 50
5898 sz = (int )tmp;
5899#line 52
5900 might_fault();
5901#line 53
5902 __cil_tmp12 = sz == -1;
5903#line 53
5904 __cil_tmp13 = (long )__cil_tmp12;
5905#line 53
5906 tmp___1 = __builtin_expect(__cil_tmp13, 1L);
5907 }
5908#line 53
5909 if (tmp___1 != 0L) {
5910 {
5911#line 54
5912 __cil_tmp14 = (unsigned int )n;
5913#line 54
5914 n = _copy_from_user(to, from, __cil_tmp14);
5915 }
5916 } else {
5917 {
5918#line 53
5919 __cil_tmp15 = (unsigned long )sz;
5920#line 53
5921 __cil_tmp16 = __cil_tmp15 >= n;
5922#line 53
5923 __cil_tmp17 = (long )__cil_tmp16;
5924#line 53
5925 tmp___2 = __builtin_expect(__cil_tmp17, 1L);
5926 }
5927#line 53
5928 if (tmp___2 != 0L) {
5929 {
5930#line 54
5931 __cil_tmp18 = (unsigned int )n;
5932#line 54
5933 n = _copy_from_user(to, from, __cil_tmp18);
5934 }
5935 } else {
5936 {
5937#line 57
5938 __ret_warn_on = 1;
5939#line 57
5940 __cil_tmp19 = __ret_warn_on != 0;
5941#line 57
5942 __cil_tmp20 = (long )__cil_tmp19;
5943#line 57
5944 tmp___0 = __builtin_expect(__cil_tmp20, 0L);
5945 }
5946#line 57
5947 if (tmp___0 != 0L) {
5948 {
5949#line 57
5950 __cil_tmp21 = (int const )57;
5951#line 57
5952 __cil_tmp22 = (int )__cil_tmp21;
5953#line 57
5954 warn_slowpath_fmt("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h",
5955 __cil_tmp22, "Buffer overflow detected!\n");
5956 }
5957 } else {
5958
5959 }
5960 {
5961#line 57
5962 __cil_tmp23 = __ret_warn_on != 0;
5963#line 57
5964 __cil_tmp24 = (long )__cil_tmp23;
5965#line 57
5966 __builtin_expect(__cil_tmp24, 0L);
5967 }
5968 }
5969 }
5970#line 59
5971 return (n);
5972}
5973}
5974#line 63 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
5975__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
5976{ unsigned long tmp ;
5977
5978 {
5979 {
5980#line 65
5981 might_fault();
5982#line 67
5983 tmp = _copy_to_user(dst, src, size);
5984 }
5985#line 67
5986 return ((int )tmp);
5987}
5988}
5989#line 16 "include/linux/uaccess.h"
5990__inline static void pagefault_disable(void)
5991{ struct thread_info *tmp ;
5992 int __cil_tmp2 ;
5993
5994 {
5995 {
5996#line 18
5997 tmp = current_thread_info();
5998#line 18
5999 __cil_tmp2 = tmp->preempt_count;
6000#line 18
6001 tmp->preempt_count = __cil_tmp2 + 1;
6002#line 23
6003 __asm__ volatile ("": : : "memory");
6004 }
6005#line 24
6006 return;
6007}
6008}
6009#line 26 "include/linux/uaccess.h"
6010__inline static void pagefault_enable(void)
6011{ struct thread_info *tmp ;
6012 int __cil_tmp2 ;
6013
6014 {
6015 {
6016#line 32
6017 __asm__ volatile ("": : : "memory");
6018#line 33
6019 tmp = current_thread_info();
6020#line 33
6021 __cil_tmp2 = tmp->preempt_count;
6022#line 33
6023 tmp->preempt_count = __cil_tmp2 + -1;
6024#line 37
6025 __asm__ volatile ("": : : "memory");
6026 }
6027#line 38
6028 return;
6029}
6030}
6031#line 58 "include/linux/highmem.h"
6032__inline static void *__kmap_atomic(struct page *page )
6033{ void *tmp ;
6034
6035 {
6036 {
6037#line 60
6038 pagefault_disable();
6039#line 61
6040 tmp = lowmem_page_address(page);
6041 }
6042#line 61
6043 return (tmp);
6044}
6045}
6046#line 65 "include/linux/highmem.h"
6047__inline static void __kunmap_atomic(void *addr )
6048{
6049
6050 {
6051 {
6052#line 67
6053 pagefault_enable();
6054 }
6055#line 68
6056 return;
6057}
6058}
6059#line 283 "include/linux/backing-dev.h"
6060extern void clear_bdi_congested(struct backing_dev_info * , int ) ;
6061#line 284
6062extern void set_bdi_congested(struct backing_dev_info * , int ) ;
6063#line 285
6064extern long congestion_wait(int , long ) ;
6065#line 26 "include/linux/mempool.h"
6066extern mempool_t *mempool_create(int , mempool_alloc_t * , mempool_free_t * , void * ) ;
6067#line 32
6068extern void mempool_destroy(mempool_t * ) ;
6069#line 33
6070extern void *mempool_alloc(mempool_t * , gfp_t ) ;
6071#line 34
6072extern void mempool_free(void * , mempool_t * ) ;
6073#line 53
6074extern void *mempool_kmalloc(gfp_t , void * ) ;
6075#line 54
6076extern void mempool_kfree(void * , void * ) ;
6077#line 55 "include/linux/mempool.h"
6078__inline static mempool_t *mempool_create_kmalloc_pool(int min_nr , size_t size )
6079{ mempool_t *tmp ;
6080 void *__cil_tmp4 ;
6081
6082 {
6083 {
6084#line 57
6085 __cil_tmp4 = (void *)size;
6086#line 57
6087 tmp = mempool_create(min_nr, & mempool_kmalloc, & mempool_kfree, __cil_tmp4);
6088 }
6089#line 57
6090 return (tmp);
6091}
6092}
6093#line 208 "include/linux/bio.h"
6094extern struct bio_pair *bio_split(struct bio * , int ) ;
6095#line 209
6096extern void bio_pair_release(struct bio_pair * ) ;
6097#line 217
6098extern void bio_put(struct bio * ) ;
6099#line 220
6100extern void bio_endio(struct bio * , int ) ;
6101#line 225
6102extern struct bio *bio_clone(struct bio * , gfp_t ) ;
6103#line 227
6104extern void bio_init(struct bio * ) ;
6105#line 229
6106extern int bio_add_page(struct bio * , struct page * , unsigned int , unsigned int ) ;
6107#line 386 "include/linux/bio.h"
6108__inline static int bio_list_empty(struct bio_list const *bl )
6109{ struct bio *__cil_tmp2 ;
6110 unsigned long __cil_tmp3 ;
6111 struct bio *__cil_tmp4 ;
6112 unsigned long __cil_tmp5 ;
6113
6114 {
6115 {
6116#line 388
6117 __cil_tmp2 = (struct bio * const )0;
6118#line 388
6119 __cil_tmp3 = (unsigned long )__cil_tmp2;
6120#line 388
6121 __cil_tmp4 = bl->head;
6122#line 388
6123 __cil_tmp5 = (unsigned long )__cil_tmp4;
6124#line 388
6125 return (__cil_tmp5 == __cil_tmp3);
6126 }
6127}
6128}
6129#line 391 "include/linux/bio.h"
6130__inline static void bio_list_init(struct bio_list *bl )
6131{ struct bio *tmp ;
6132
6133 {
6134#line 393
6135 tmp = (struct bio *)0;
6136#line 393
6137 bl->tail = tmp;
6138#line 393
6139 bl->head = tmp;
6140#line 394
6141 return;
6142}
6143}
6144#line 410 "include/linux/bio.h"
6145__inline static void bio_list_add(struct bio_list *bl , struct bio *bio )
6146{ struct bio *__cil_tmp3 ;
6147 unsigned long __cil_tmp4 ;
6148 struct bio *__cil_tmp5 ;
6149 unsigned long __cil_tmp6 ;
6150 struct bio *__cil_tmp7 ;
6151
6152 {
6153#line 412
6154 bio->bi_next = (struct bio *)0;
6155 {
6156#line 414
6157 __cil_tmp3 = (struct bio *)0;
6158#line 414
6159 __cil_tmp4 = (unsigned long )__cil_tmp3;
6160#line 414
6161 __cil_tmp5 = bl->tail;
6162#line 414
6163 __cil_tmp6 = (unsigned long )__cil_tmp5;
6164#line 414
6165 if (__cil_tmp6 != __cil_tmp4) {
6166#line 415
6167 __cil_tmp7 = bl->tail;
6168#line 415
6169 __cil_tmp7->bi_next = bio;
6170 } else {
6171#line 417
6172 bl->head = bio;
6173 }
6174 }
6175#line 419
6176 bl->tail = bio;
6177#line 420
6178 return;
6179}
6180}
6181#line 459 "include/linux/bio.h"
6182__inline static struct bio *bio_list_peek(struct bio_list *bl )
6183{
6184
6185 {
6186#line 461
6187 return (bl->head);
6188}
6189}
6190#line 464 "include/linux/bio.h"
6191__inline static struct bio *bio_list_pop(struct bio_list *bl )
6192{ struct bio *bio ;
6193 struct bio *__cil_tmp3 ;
6194 unsigned long __cil_tmp4 ;
6195 unsigned long __cil_tmp5 ;
6196 struct bio *__cil_tmp6 ;
6197 struct bio *__cil_tmp7 ;
6198 unsigned long __cil_tmp8 ;
6199 struct bio *__cil_tmp9 ;
6200 unsigned long __cil_tmp10 ;
6201
6202 {
6203#line 466
6204 bio = bl->head;
6205 {
6206#line 468
6207 __cil_tmp3 = (struct bio *)0;
6208#line 468
6209 __cil_tmp4 = (unsigned long )__cil_tmp3;
6210#line 468
6211 __cil_tmp5 = (unsigned long )bio;
6212#line 468
6213 if (__cil_tmp5 != __cil_tmp4) {
6214#line 469
6215 __cil_tmp6 = bl->head;
6216#line 469
6217 bl->head = __cil_tmp6->bi_next;
6218 {
6219#line 470
6220 __cil_tmp7 = (struct bio *)0;
6221#line 470
6222 __cil_tmp8 = (unsigned long )__cil_tmp7;
6223#line 470
6224 __cil_tmp9 = bl->head;
6225#line 470
6226 __cil_tmp10 = (unsigned long )__cil_tmp9;
6227#line 470
6228 if (__cil_tmp10 == __cil_tmp8) {
6229#line 471
6230 bl->tail = (struct bio *)0;
6231 } else {
6232
6233 }
6234 }
6235#line 473
6236 bio->bi_next = (struct bio *)0;
6237 } else {
6238
6239 }
6240 }
6241#line 476
6242 return (bio);
6243}
6244}
6245#line 599 "include/linux/blkdev.h"
6246extern void blk_queue_bounce(struct request_queue * , struct bio ** ) ;
6247#line 651
6248extern void generic_make_request(struct bio * ) ;
6249#line 653
6250extern void blk_put_request(struct request * ) ;
6251#line 655
6252extern struct request *blk_get_request(struct request_queue * , int , gfp_t ) ;
6253#line 708
6254extern int blk_rq_map_kern(struct request_queue * , struct request * , void * , unsigned int ,
6255 gfp_t ) ;
6256#line 712
6257extern int blk_execute_rq(struct request_queue * , struct gendisk * , struct request * ,
6258 int ) ;
6259#line 717 "include/linux/blkdev.h"
6260__inline static struct request_queue *bdev_get_queue(struct block_device *bdev )
6261{ struct gendisk *__cil_tmp2 ;
6262
6263 {
6264 {
6265#line 719
6266 __cil_tmp2 = bdev->bd_disk;
6267#line 719
6268 return (__cil_tmp2->queue);
6269 }
6270}
6271}
6272#line 807
6273extern void blk_cleanup_queue(struct request_queue * ) ;
6274#line 808
6275extern void blk_queue_make_request(struct request_queue * , make_request_fn * ) ;
6276#line 811
6277extern void blk_queue_max_hw_sectors(struct request_queue * , unsigned int ) ;
6278#line 816
6279extern void blk_queue_logical_block_size(struct request_queue * , unsigned short ) ;
6280#line 841
6281extern void blk_queue_merge_bvec(struct request_queue * , merge_bvec_fn * ) ;
6282#line 856
6283extern struct request_queue *blk_alloc_queue(gfp_t ) ;
6284#line 975 "include/linux/blkdev.h"
6285__inline static unsigned short queue_max_segments(struct request_queue *q )
6286{
6287
6288 {
6289#line 977
6290 return (q->limits.max_segments);
6291}
6292}
6293#line 1313
6294extern int __blkdev_driver_ioctl(struct block_device * , fmode_t , unsigned int ,
6295 unsigned long ) ;
6296#line 1022 "include/linux/cdrom.h"
6297extern void init_cdrom_command(struct packet_command * , void * , int , int ) ;
6298#line 198 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
6299__inline static void *compat_ptr(compat_uptr_t uptr )
6300{ unsigned long __cil_tmp2 ;
6301
6302 {
6303 {
6304#line 200
6305 __cil_tmp2 = (unsigned long )uptr;
6306#line 200
6307 return ((void *)__cil_tmp2);
6308 }
6309}
6310}
6311#line 7 "include/linux/kthread.h"
6312extern struct task_struct *kthread_create_on_node(int (*)(void * ) , void * , int ,
6313 char const * , ...) ;
6314#line 36
6315extern int kthread_stop(struct task_struct * ) ;
6316#line 37
6317extern int kthread_should_stop(void) ;
6318#line 111 "include/linux/proc_fs.h"
6319extern struct proc_dir_entry *proc_create_data(char const * , mode_t , struct proc_dir_entry * ,
6320 struct file_operations const * ,
6321 void * ) ;
6322#line 115
6323extern void remove_proc_entry(char const * , struct proc_dir_entry * ) ;
6324#line 148
6325extern struct proc_dir_entry *proc_mkdir(char const * , struct proc_dir_entry * ) ;
6326#line 278 "include/linux/proc_fs.h"
6327__inline static struct proc_inode *PROC_I(struct inode const *inode )
6328{ struct inode const *__mptr ;
6329 struct proc_inode *__cil_tmp3 ;
6330
6331 {
6332#line 280
6333 __mptr = inode;
6334 {
6335#line 280
6336 __cil_tmp3 = (struct proc_inode *)__mptr;
6337#line 280
6338 return (__cil_tmp3 + 1152921504606846912UL);
6339 }
6340}
6341}
6342#line 283 "include/linux/proc_fs.h"
6343__inline static struct proc_dir_entry *PDE(struct inode const *inode )
6344{ struct proc_inode *tmp ;
6345
6346 {
6347 {
6348#line 285
6349 tmp = PROC_I(inode);
6350 }
6351#line 285
6352 return (tmp->pde);
6353}
6354}
6355#line 78 "include/linux/seq_file.h"
6356extern ssize_t seq_read(struct file * , char * , size_t , loff_t * ) ;
6357#line 79
6358extern loff_t seq_lseek(struct file * , loff_t , int ) ;
6359#line 86
6360extern int seq_printf(struct seq_file * , char const * , ...) ;
6361#line 119
6362extern int single_open(struct file * , int (*)(struct seq_file * , void * ) , void * ) ;
6363#line 120
6364extern int single_release(struct inode * , struct file * ) ;
6365#line 58 "include/linux/miscdevice.h"
6366extern int misc_register(struct miscdevice * ) ;
6367#line 59
6368extern int misc_deregister(struct miscdevice * ) ;
6369#line 21 "include/linux/freezer.h"
6370__inline static int freezing(struct task_struct *p )
6371{ int tmp ;
6372
6373 {
6374 {
6375#line 23
6376 tmp = test_tsk_thread_flag(p, 23);
6377 }
6378#line 23
6379 return (tmp);
6380}
6381}
6382#line 50
6383extern void refrigerator(void) ;
6384#line 54 "include/linux/freezer.h"
6385__inline static int try_to_freeze(void)
6386{ struct task_struct *tmp ;
6387 int tmp___0 ;
6388
6389 {
6390 {
6391#line 56
6392 tmp = get_current();
6393#line 56
6394 tmp___0 = freezing(tmp);
6395 }
6396#line 56
6397 if (tmp___0 != 0) {
6398 {
6399#line 57
6400 refrigerator();
6401 }
6402#line 58
6403 return (1);
6404 } else {
6405#line 60
6406 return (0);
6407 }
6408}
6409}
6410#line 122 "include/linux/freezer.h"
6411__inline static void set_freezable(void)
6412{ struct task_struct *tmp ;
6413 unsigned int __cil_tmp2 ;
6414
6415 {
6416 {
6417#line 124
6418 tmp = get_current();
6419#line 124
6420 __cil_tmp2 = tmp->flags;
6421#line 124
6422 tmp->flags = __cil_tmp2 & 4294934527U;
6423 }
6424#line 125
6425 return;
6426}
6427}
6428#line 206 "include/scsi/scsi.h"
6429extern unsigned char const scsi_command_size_tbl[8U] ;
6430#line 37 "include/linux/debugfs.h"
6431extern struct dentry *debugfs_create_file(char const * , mode_t , struct dentry * ,
6432 void * , struct file_operations const * ) ;
6433#line 41
6434extern struct dentry *debugfs_create_dir(char const * , struct dentry * ) ;
6435#line 46
6436extern void debugfs_remove(struct dentry * ) ;
6437#line 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6438static struct mutex pktcdvd_mutex = {{1}, {{{{0U}, 3735899821U, 4294967295U, (void *)1152921504606846975UL, {(struct lock_class_key *)0,
6439 {(struct lock_class *)0,
6440 (struct lock_class *)0},
6441 "pktcdvd_mutex.wait_lock",
6442 0, 0UL}}}},
6443 {& pktcdvd_mutex.wait_list, & pktcdvd_mutex.wait_list}, (struct task_struct *)0,
6444 (char const *)0, (void *)(& pktcdvd_mutex), {(struct lock_class_key *)0, {(struct lock_class *)0,
6445 (struct lock_class *)0},
6446 "pktcdvd_mutex", 0, 0UL}};
6447#line 97 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6448static struct pktcdvd_device *pkt_devs[8U] ;
6449#line 98 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6450static struct proc_dir_entry *pkt_proc ;
6451#line 99 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6452static int pktdev_major ;
6453#line 100 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6454static int write_congestion_on = 10000;
6455#line 101 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6456static int write_congestion_off = 9000;
6457#line 102 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6458static struct mutex ctl_mutex ;
6459#line 103 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6460static mempool_t *psd_pool ;
6461#line 105 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6462static struct class *class_pktcdvd = (struct class *)0;
6463#line 106 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6464static struct dentry *pkt_debugfs_root = (struct dentry *)0;
6465#line 109
6466static int pkt_setup_dev(dev_t dev , dev_t *pkt_dev ) ;
6467#line 110
6468static int pkt_remove_dev(dev_t pkt_dev ) ;
6469#line 111
6470static int pkt_seq_show(struct seq_file *m , void *p ) ;
6471#line 118 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6472static struct pktcdvd_kobj *pkt_kobj_create(struct pktcdvd_device *pd , char const *name ,
6473 struct kobject *parent , struct kobj_type *ktype )
6474{ struct pktcdvd_kobj *p ;
6475 int error ;
6476 void *tmp ;
6477 struct pktcdvd_kobj *__cil_tmp8 ;
6478 unsigned long __cil_tmp9 ;
6479 unsigned long __cil_tmp10 ;
6480 struct kobject *__cil_tmp11 ;
6481 struct kobject *__cil_tmp12 ;
6482 struct kobject *__cil_tmp13 ;
6483 enum kobject_action __cil_tmp14 ;
6484
6485 {
6486 {
6487#line 126
6488 tmp = kzalloc(72UL, 208U);
6489#line 126
6490 p = (struct pktcdvd_kobj *)tmp;
6491 }
6492 {
6493#line 127
6494 __cil_tmp8 = (struct pktcdvd_kobj *)0;
6495#line 127
6496 __cil_tmp9 = (unsigned long )__cil_tmp8;
6497#line 127
6498 __cil_tmp10 = (unsigned long )p;
6499#line 127
6500 if (__cil_tmp10 == __cil_tmp9) {
6501#line 128
6502 return ((struct pktcdvd_kobj *)0);
6503 } else {
6504
6505 }
6506 }
6507 {
6508#line 129
6509 p->pd = pd;
6510#line 130
6511 __cil_tmp11 = & p->kobj;
6512#line 130
6513 error = kobject_init_and_add(__cil_tmp11, ktype, parent, "%s", name);
6514 }
6515#line 131
6516 if (error != 0) {
6517 {
6518#line 132
6519 __cil_tmp12 = & p->kobj;
6520#line 132
6521 kobject_put(__cil_tmp12);
6522 }
6523#line 133
6524 return ((struct pktcdvd_kobj *)0);
6525 } else {
6526
6527 }
6528 {
6529#line 135
6530 __cil_tmp13 = & p->kobj;
6531#line 135
6532 __cil_tmp14 = (enum kobject_action )0;
6533#line 135
6534 kobject_uevent(__cil_tmp13, __cil_tmp14);
6535 }
6536#line 136
6537 return (p);
6538}
6539}
6540#line 141 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6541static void pkt_kobj_remove(struct pktcdvd_kobj *p )
6542{ struct pktcdvd_kobj *__cil_tmp2 ;
6543 unsigned long __cil_tmp3 ;
6544 unsigned long __cil_tmp4 ;
6545 struct kobject *__cil_tmp5 ;
6546
6547 {
6548 {
6549#line 143
6550 __cil_tmp2 = (struct pktcdvd_kobj *)0;
6551#line 143
6552 __cil_tmp3 = (unsigned long )__cil_tmp2;
6553#line 143
6554 __cil_tmp4 = (unsigned long )p;
6555#line 143
6556 if (__cil_tmp4 != __cil_tmp3) {
6557 {
6558#line 144
6559 __cil_tmp5 = & p->kobj;
6560#line 144
6561 kobject_put(__cil_tmp5);
6562 }
6563 } else {
6564
6565 }
6566 }
6567#line 145
6568 return;
6569}
6570}
6571#line 149 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6572static void pkt_kobj_release(struct kobject *kobj )
6573{ struct kobject const *__mptr ;
6574 struct pktcdvd_kobj *__cil_tmp3 ;
6575 void const *__cil_tmp4 ;
6576
6577 {
6578 {
6579#line 151
6580 __mptr = (struct kobject const *)kobj;
6581#line 151
6582 __cil_tmp3 = (struct pktcdvd_kobj *)__mptr;
6583#line 151
6584 __cil_tmp4 = (void const *)__cil_tmp3;
6585#line 151
6586 kfree(__cil_tmp4);
6587 }
6588#line 153
6589 return;
6590}
6591}
6592#line 178 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6593static struct attribute kobj_pkt_attr_st1 = {"reset", 128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
6594 {(char)0}, {(char)0}, {(char)0},
6595 {(char)0}, {(char)0}}}};
6596#line 179 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6597static struct attribute kobj_pkt_attr_st2 = {"packets_started", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
6598 {(char)0}, {(char)0}, {(char)0},
6599 {(char)0}, {(char)0}}}};
6600#line 180 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6601static struct attribute kobj_pkt_attr_st3 = {"packets_finished", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
6602 {(char)0}, {(char)0},
6603 {(char)0}, {(char)0},
6604 {(char)0}, {(char)0}}}};
6605#line 181 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6606static struct attribute kobj_pkt_attr_st4 = {"kb_written", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
6607 {(char)0}, {(char)0}, {(char)0},
6608 {(char)0}, {(char)0}}}};
6609#line 182 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6610static struct attribute kobj_pkt_attr_st5 = {"kb_read", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
6611 {(char)0}, {(char)0}, {(char)0},
6612 {(char)0}, {(char)0}}}};
6613#line 183 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6614static struct attribute kobj_pkt_attr_st6 = {"kb_read_gather", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
6615 {(char)0}, {(char)0}, {(char)0},
6616 {(char)0}, {(char)0}}}};
6617#line 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6618static struct attribute *kobj_pkt_attrs_stat[7U] = { & kobj_pkt_attr_st1, & kobj_pkt_attr_st2, & kobj_pkt_attr_st3, & kobj_pkt_attr_st4,
6619 & kobj_pkt_attr_st5, & kobj_pkt_attr_st6, (struct attribute *)0};
6620#line 195 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6621static struct attribute kobj_pkt_attr_wq1 = {"size", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0}, {(char)0},
6622 {(char)0}, {(char)0}, {(char)0}, {(char)0}}}};
6623#line 196 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6624static struct attribute kobj_pkt_attr_wq2 = {"congestion_off", 420U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
6625 {(char)0}, {(char)0}, {(char)0},
6626 {(char)0}, {(char)0}}}};
6627#line 197 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6628static struct attribute kobj_pkt_attr_wq3 = {"congestion_on", 420U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
6629 {(char)0}, {(char)0}, {(char)0},
6630 {(char)0}, {(char)0}}}};
6631#line 199 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6632static struct attribute *kobj_pkt_attrs_wqueue[4U] = { & kobj_pkt_attr_wq1, & kobj_pkt_attr_wq2, & kobj_pkt_attr_wq3, (struct attribute *)0};
6633#line 206 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6634static ssize_t kobj_pkt_show(struct kobject *kobj , struct attribute *attr , char *data )
6635{ struct pktcdvd_device *pd ;
6636 struct kobject const *__mptr ;
6637 int n ;
6638 int v ;
6639 int tmp ;
6640 int tmp___0 ;
6641 int tmp___1 ;
6642 int tmp___2 ;
6643 int tmp___3 ;
6644 int tmp___4 ;
6645 int tmp___5 ;
6646 int tmp___6 ;
6647 struct pktcdvd_kobj *__cil_tmp16 ;
6648 char const *__cil_tmp17 ;
6649 unsigned long __cil_tmp18 ;
6650 char const *__cil_tmp19 ;
6651 unsigned long __cil_tmp20 ;
6652 char const *__cil_tmp21 ;
6653 unsigned long __cil_tmp22 ;
6654 unsigned long __cil_tmp23 ;
6655 char const *__cil_tmp24 ;
6656 unsigned long __cil_tmp25 ;
6657 unsigned long __cil_tmp26 ;
6658 char const *__cil_tmp27 ;
6659 unsigned long __cil_tmp28 ;
6660 unsigned long __cil_tmp29 ;
6661 char const *__cil_tmp30 ;
6662 spinlock_t *__cil_tmp31 ;
6663 spinlock_t *__cil_tmp32 ;
6664 char const *__cil_tmp33 ;
6665 spinlock_t *__cil_tmp34 ;
6666 spinlock_t *__cil_tmp35 ;
6667 char const *__cil_tmp36 ;
6668 spinlock_t *__cil_tmp37 ;
6669 spinlock_t *__cil_tmp38 ;
6670
6671 {
6672 {
6673#line 209
6674 __mptr = (struct kobject const *)kobj;
6675#line 209
6676 __cil_tmp16 = (struct pktcdvd_kobj *)__mptr;
6677#line 209
6678 pd = __cil_tmp16->pd;
6679#line 210
6680 n = 0;
6681#line 212
6682 __cil_tmp17 = attr->name;
6683#line 212
6684 tmp___6 = strcmp(__cil_tmp17, "packets_started");
6685 }
6686#line 212
6687 if (tmp___6 == 0) {
6688 {
6689#line 213
6690 __cil_tmp18 = pd->stats.pkt_started;
6691#line 213
6692 n = sprintf(data, "%lu\n", __cil_tmp18);
6693 }
6694 } else {
6695 {
6696#line 215
6697 __cil_tmp19 = attr->name;
6698#line 215
6699 tmp___5 = strcmp(__cil_tmp19, "packets_finished");
6700 }
6701#line 215
6702 if (tmp___5 == 0) {
6703 {
6704#line 216
6705 __cil_tmp20 = pd->stats.pkt_ended;
6706#line 216
6707 n = sprintf(data, "%lu\n", __cil_tmp20);
6708 }
6709 } else {
6710 {
6711#line 218
6712 __cil_tmp21 = attr->name;
6713#line 218
6714 tmp___4 = strcmp(__cil_tmp21, "kb_written");
6715 }
6716#line 218
6717 if (tmp___4 == 0) {
6718 {
6719#line 219
6720 __cil_tmp22 = pd->stats.secs_w;
6721#line 219
6722 __cil_tmp23 = __cil_tmp22 >> 1;
6723#line 219
6724 n = sprintf(data, "%lu\n", __cil_tmp23);
6725 }
6726 } else {
6727 {
6728#line 221
6729 __cil_tmp24 = attr->name;
6730#line 221
6731 tmp___3 = strcmp(__cil_tmp24, "kb_read");
6732 }
6733#line 221
6734 if (tmp___3 == 0) {
6735 {
6736#line 222
6737 __cil_tmp25 = pd->stats.secs_r;
6738#line 222
6739 __cil_tmp26 = __cil_tmp25 >> 1;
6740#line 222
6741 n = sprintf(data, "%lu\n", __cil_tmp26);
6742 }
6743 } else {
6744 {
6745#line 224
6746 __cil_tmp27 = attr->name;
6747#line 224
6748 tmp___2 = strcmp(__cil_tmp27, "kb_read_gather");
6749 }
6750#line 224
6751 if (tmp___2 == 0) {
6752 {
6753#line 225
6754 __cil_tmp28 = pd->stats.secs_rg;
6755#line 225
6756 __cil_tmp29 = __cil_tmp28 >> 1;
6757#line 225
6758 n = sprintf(data, "%lu\n", __cil_tmp29);
6759 }
6760 } else {
6761 {
6762#line 227
6763 __cil_tmp30 = attr->name;
6764#line 227
6765 tmp___1 = strcmp(__cil_tmp30, "size");
6766 }
6767#line 227
6768 if (tmp___1 == 0) {
6769 {
6770#line 228
6771 __cil_tmp31 = & pd->lock;
6772#line 228
6773 spin_lock(__cil_tmp31);
6774#line 229
6775 v = pd->bio_queue_size;
6776#line 230
6777 __cil_tmp32 = & pd->lock;
6778#line 230
6779 spin_unlock(__cil_tmp32);
6780#line 231
6781 n = sprintf(data, "%d\n", v);
6782 }
6783 } else {
6784 {
6785#line 233
6786 __cil_tmp33 = attr->name;
6787#line 233
6788 tmp___0 = strcmp(__cil_tmp33, "congestion_off");
6789 }
6790#line 233
6791 if (tmp___0 == 0) {
6792 {
6793#line 234
6794 __cil_tmp34 = & pd->lock;
6795#line 234
6796 spin_lock(__cil_tmp34);
6797#line 235
6798 v = pd->write_congestion_off;
6799#line 236
6800 __cil_tmp35 = & pd->lock;
6801#line 236
6802 spin_unlock(__cil_tmp35);
6803#line 237
6804 n = sprintf(data, "%d\n", v);
6805 }
6806 } else {
6807 {
6808#line 239
6809 __cil_tmp36 = attr->name;
6810#line 239
6811 tmp = strcmp(__cil_tmp36, "congestion_on");
6812 }
6813#line 239
6814 if (tmp == 0) {
6815 {
6816#line 240
6817 __cil_tmp37 = & pd->lock;
6818#line 240
6819 spin_lock(__cil_tmp37);
6820#line 241
6821 v = pd->write_congestion_on;
6822#line 242
6823 __cil_tmp38 = & pd->lock;
6824#line 242
6825 spin_unlock(__cil_tmp38);
6826#line 243
6827 n = sprintf(data, "%d\n", v);
6828 }
6829 } else {
6830
6831 }
6832 }
6833 }
6834 }
6835 }
6836 }
6837 }
6838 }
6839#line 245
6840 return ((ssize_t )n);
6841}
6842}
6843#line 248 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6844static void init_write_congestion_marks(int *lo , int *hi )
6845{ int _max1 ;
6846 int _max2 ;
6847 int tmp ;
6848 int _min1 ;
6849 int _min2 ;
6850 int tmp___0 ;
6851 int _min1___0 ;
6852 int _min2___0 ;
6853 int tmp___1 ;
6854 int _max1___0 ;
6855 int _max2___0 ;
6856 int tmp___2 ;
6857 int __cil_tmp15 ;
6858 int __cil_tmp16 ;
6859 int __cil_tmp17 ;
6860 int __cil_tmp18 ;
6861
6862 {
6863 {
6864#line 250
6865 __cil_tmp15 = *hi;
6866#line 250
6867 if (__cil_tmp15 > 0) {
6868#line 251
6869 _max1 = *hi;
6870#line 251
6871 _max2 = 500;
6872#line 251
6873 if (_max1 > _max2) {
6874#line 251
6875 tmp = _max1;
6876 } else {
6877#line 251
6878 tmp = _max2;
6879 }
6880#line 251
6881 *hi = tmp;
6882#line 252
6883 _min1 = *hi;
6884#line 252
6885 _min2 = 1000000;
6886#line 252
6887 if (_min1 < _min2) {
6888#line 252
6889 tmp___0 = _min1;
6890 } else {
6891#line 252
6892 tmp___0 = _min2;
6893 }
6894#line 252
6895 *hi = tmp___0;
6896 {
6897#line 253
6898 __cil_tmp16 = *lo;
6899#line 253
6900 if (__cil_tmp16 <= 0) {
6901#line 254
6902 __cil_tmp17 = *hi;
6903#line 254
6904 *lo = __cil_tmp17 + -100;
6905 } else {
6906#line 256
6907 _min1___0 = *lo;
6908#line 256
6909 __cil_tmp18 = *hi;
6910#line 256
6911 _min2___0 = __cil_tmp18 + -100;
6912#line 256
6913 if (_min1___0 < _min2___0) {
6914#line 256
6915 tmp___1 = _min1___0;
6916 } else {
6917#line 256
6918 tmp___1 = _min2___0;
6919 }
6920#line 256
6921 *lo = tmp___1;
6922#line 257
6923 _max1___0 = *lo;
6924#line 257
6925 _max2___0 = 100;
6926#line 257
6927 if (_max1___0 > _max2___0) {
6928#line 257
6929 tmp___2 = _max1___0;
6930 } else {
6931#line 257
6932 tmp___2 = _max2___0;
6933 }
6934#line 257
6935 *lo = tmp___2;
6936 }
6937 }
6938 } else {
6939#line 260
6940 *hi = -1;
6941#line 261
6942 *lo = -1;
6943 }
6944 }
6945#line 263
6946 return;
6947}
6948}
6949#line 265 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
6950static ssize_t kobj_pkt_store(struct kobject *kobj , struct attribute *attr , char const *data ,
6951 size_t len )
6952{ struct pktcdvd_device *pd ;
6953 struct kobject const *__mptr ;
6954 int val ;
6955 int tmp ;
6956 int tmp___0 ;
6957 int tmp___1 ;
6958 int tmp___2 ;
6959 int tmp___3 ;
6960 struct pktcdvd_kobj *__cil_tmp13 ;
6961 char const *__cil_tmp14 ;
6962 char const *__cil_tmp15 ;
6963 spinlock_t *__cil_tmp16 ;
6964 int *__cil_tmp17 ;
6965 int *__cil_tmp18 ;
6966 spinlock_t *__cil_tmp19 ;
6967 char const *__cil_tmp20 ;
6968 spinlock_t *__cil_tmp21 ;
6969 int *__cil_tmp22 ;
6970 int *__cil_tmp23 ;
6971 spinlock_t *__cil_tmp24 ;
6972
6973 {
6974 {
6975#line 269
6976 __mptr = (struct kobject const *)kobj;
6977#line 269
6978 __cil_tmp13 = (struct pktcdvd_kobj *)__mptr;
6979#line 269
6980 pd = __cil_tmp13->pd;
6981#line 272
6982 __cil_tmp14 = attr->name;
6983#line 272
6984 tmp___3 = strcmp(__cil_tmp14, "reset");
6985 }
6986#line 272
6987 if (tmp___3 == 0) {
6988#line 272
6989 if (len != 0UL) {
6990#line 273
6991 pd->stats.pkt_started = 0UL;
6992#line 274
6993 pd->stats.pkt_ended = 0UL;
6994#line 275
6995 pd->stats.secs_w = 0UL;
6996#line 276
6997 pd->stats.secs_rg = 0UL;
6998#line 277
6999 pd->stats.secs_r = 0UL;
7000 } else {
7001#line 272
7002 goto _L___0;
7003 }
7004 } else {
7005 _L___0:
7006 {
7007#line 279
7008 __cil_tmp15 = attr->name;
7009#line 279
7010 tmp___1 = strcmp(__cil_tmp15, "congestion_off");
7011 }
7012#line 279
7013 if (tmp___1 == 0) {
7014 {
7015#line 279
7016 tmp___2 = sscanf(data, "%d", & val);
7017 }
7018#line 279
7019 if (tmp___2 == 1) {
7020 {
7021#line 281
7022 __cil_tmp16 = & pd->lock;
7023#line 281
7024 spin_lock(__cil_tmp16);
7025#line 282
7026 pd->write_congestion_off = val;
7027#line 283
7028 __cil_tmp17 = & pd->write_congestion_off;
7029#line 283
7030 __cil_tmp18 = & pd->write_congestion_on;
7031#line 283
7032 init_write_congestion_marks(__cil_tmp17, __cil_tmp18);
7033#line 285
7034 __cil_tmp19 = & pd->lock;
7035#line 285
7036 spin_unlock(__cil_tmp19);
7037 }
7038 } else {
7039#line 279
7040 goto _L;
7041 }
7042 } else {
7043 _L:
7044 {
7045#line 287
7046 __cil_tmp20 = attr->name;
7047#line 287
7048 tmp = strcmp(__cil_tmp20, "congestion_on");
7049 }
7050#line 287
7051 if (tmp == 0) {
7052 {
7053#line 287
7054 tmp___0 = sscanf(data, "%d", & val);
7055 }
7056#line 287
7057 if (tmp___0 == 1) {
7058 {
7059#line 289
7060 __cil_tmp21 = & pd->lock;
7061#line 289
7062 spin_lock(__cil_tmp21);
7063#line 290
7064 pd->write_congestion_on = val;
7065#line 291
7066 __cil_tmp22 = & pd->write_congestion_off;
7067#line 291
7068 __cil_tmp23 = & pd->write_congestion_on;
7069#line 291
7070 init_write_congestion_marks(__cil_tmp22, __cil_tmp23);
7071#line 293
7072 __cil_tmp24 = & pd->lock;
7073#line 293
7074 spin_unlock(__cil_tmp24);
7075 }
7076 } else {
7077
7078 }
7079 } else {
7080
7081 }
7082 }
7083 }
7084#line 295
7085 return ((ssize_t )len);
7086}
7087}
7088#line 298 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7089static struct sysfs_ops const kobj_pkt_ops = {& kobj_pkt_show, & kobj_pkt_store};
7090#line 302 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7091static struct kobj_type kobj_pkt_type_stat = {& pkt_kobj_release, & kobj_pkt_ops, (struct attribute **)(& kobj_pkt_attrs_stat),
7092 (struct kobj_ns_type_operations const *(*)(struct kobject * ))0, (void const *(*)(struct kobject * ))0};
7093#line 307 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7094static struct kobj_type kobj_pkt_type_wqueue = {& pkt_kobj_release, & kobj_pkt_ops, (struct attribute **)(& kobj_pkt_attrs_wqueue),
7095 (struct kobj_ns_type_operations const *(*)(struct kobject * ))0, (void const *(*)(struct kobject * ))0};
7096#line 313 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7097static void pkt_sysfs_dev_new(struct pktcdvd_device *pd )
7098{ long tmp ;
7099 struct class *__cil_tmp3 ;
7100 unsigned long __cil_tmp4 ;
7101 unsigned long __cil_tmp5 ;
7102 struct device *__cil_tmp6 ;
7103 void *__cil_tmp7 ;
7104 char (*__cil_tmp8)[20U] ;
7105 char *__cil_tmp9 ;
7106 struct device *__cil_tmp10 ;
7107 void const *__cil_tmp11 ;
7108 struct device *__cil_tmp12 ;
7109 unsigned long __cil_tmp13 ;
7110 struct device *__cil_tmp14 ;
7111 unsigned long __cil_tmp15 ;
7112 struct device *__cil_tmp16 ;
7113 struct kobject *__cil_tmp17 ;
7114 struct device *__cil_tmp18 ;
7115 struct kobject *__cil_tmp19 ;
7116
7117 {
7118 {
7119#line 315
7120 __cil_tmp3 = (struct class *)0;
7121#line 315
7122 __cil_tmp4 = (unsigned long )__cil_tmp3;
7123#line 315
7124 __cil_tmp5 = (unsigned long )class_pktcdvd;
7125#line 315
7126 if (__cil_tmp5 != __cil_tmp4) {
7127 {
7128#line 316
7129 __cil_tmp6 = (struct device *)0;
7130#line 316
7131 __cil_tmp7 = (void *)0;
7132#line 316
7133 __cil_tmp8 = & pd->name;
7134#line 316
7135 __cil_tmp9 = (char *)__cil_tmp8;
7136#line 316
7137 pd->dev = device_create(class_pktcdvd, __cil_tmp6, 0U, __cil_tmp7, "%s", __cil_tmp9);
7138#line 318
7139 __cil_tmp10 = pd->dev;
7140#line 318
7141 __cil_tmp11 = (void const *)__cil_tmp10;
7142#line 318
7143 tmp = IS_ERR(__cil_tmp11);
7144 }
7145#line 318
7146 if (tmp != 0L) {
7147#line 319
7148 pd->dev = (struct device *)0;
7149 } else {
7150
7151 }
7152 } else {
7153
7154 }
7155 }
7156 {
7157#line 321
7158 __cil_tmp12 = (struct device *)0;
7159#line 321
7160 __cil_tmp13 = (unsigned long )__cil_tmp12;
7161#line 321
7162 __cil_tmp14 = pd->dev;
7163#line 321
7164 __cil_tmp15 = (unsigned long )__cil_tmp14;
7165#line 321
7166 if (__cil_tmp15 != __cil_tmp13) {
7167 {
7168#line 322
7169 __cil_tmp16 = pd->dev;
7170#line 322
7171 __cil_tmp17 = & __cil_tmp16->kobj;
7172#line 322
7173 pd->kobj_stat = pkt_kobj_create(pd, "stat", __cil_tmp17, & kobj_pkt_type_stat);
7174#line 325
7175 __cil_tmp18 = pd->dev;
7176#line 325
7177 __cil_tmp19 = & __cil_tmp18->kobj;
7178#line 325
7179 pd->kobj_wqueue = pkt_kobj_create(pd, "write_queue", __cil_tmp19, & kobj_pkt_type_wqueue);
7180 }
7181 } else {
7182
7183 }
7184 }
7185#line 329
7186 return;
7187}
7188}
7189#line 331 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7190static void pkt_sysfs_dev_remove(struct pktcdvd_device *pd )
7191{ struct pktcdvd_kobj *__cil_tmp2 ;
7192 struct pktcdvd_kobj *__cil_tmp3 ;
7193 struct class *__cil_tmp4 ;
7194 unsigned long __cil_tmp5 ;
7195 unsigned long __cil_tmp6 ;
7196 struct device *__cil_tmp7 ;
7197
7198 {
7199 {
7200#line 333
7201 __cil_tmp2 = pd->kobj_stat;
7202#line 333
7203 pkt_kobj_remove(__cil_tmp2);
7204#line 334
7205 __cil_tmp3 = pd->kobj_wqueue;
7206#line 334
7207 pkt_kobj_remove(__cil_tmp3);
7208 }
7209 {
7210#line 335
7211 __cil_tmp4 = (struct class *)0;
7212#line 335
7213 __cil_tmp5 = (unsigned long )__cil_tmp4;
7214#line 335
7215 __cil_tmp6 = (unsigned long )class_pktcdvd;
7216#line 335
7217 if (__cil_tmp6 != __cil_tmp5) {
7218 {
7219#line 336
7220 __cil_tmp7 = pd->dev;
7221#line 336
7222 device_unregister(__cil_tmp7);
7223 }
7224 } else {
7225
7226 }
7227 }
7228#line 337
7229 return;
7230}
7231}
7232#line 347 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7233static void class_pktcdvd_release(struct class *cls )
7234{ void const *__cil_tmp2 ;
7235
7236 {
7237 {
7238#line 349
7239 __cil_tmp2 = (void const *)cls;
7240#line 349
7241 kfree(__cil_tmp2);
7242 }
7243#line 350
7244 return;
7245}
7246}
7247#line 351 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7248static ssize_t class_pktcdvd_show_map(struct class *c , struct class_attribute *attr ,
7249 char *data )
7250{ int n ;
7251 int idx ;
7252 struct pktcdvd_device *pd ;
7253 int tmp ;
7254 struct pktcdvd_device *__cil_tmp8 ;
7255 unsigned long __cil_tmp9 ;
7256 unsigned long __cil_tmp10 ;
7257 unsigned long __cil_tmp11 ;
7258 char *__cil_tmp12 ;
7259 char (*__cil_tmp13)[20U] ;
7260 char *__cil_tmp14 ;
7261 dev_t __cil_tmp15 ;
7262 dev_t __cil_tmp16 ;
7263 dev_t __cil_tmp17 ;
7264 unsigned int __cil_tmp18 ;
7265 struct block_device *__cil_tmp19 ;
7266 dev_t __cil_tmp20 ;
7267 dev_t __cil_tmp21 ;
7268 struct block_device *__cil_tmp22 ;
7269 dev_t __cil_tmp23 ;
7270 unsigned int __cil_tmp24 ;
7271
7272 {
7273 {
7274#line 355
7275 n = 0;
7276#line 357
7277 mutex_lock_nested(& ctl_mutex, 1U);
7278#line 358
7279 idx = 0;
7280 }
7281#line 358
7282 goto ldv_30602;
7283 ldv_30601:
7284#line 359
7285 pd = pkt_devs[idx];
7286 {
7287#line 360
7288 __cil_tmp8 = (struct pktcdvd_device *)0;
7289#line 360
7290 __cil_tmp9 = (unsigned long )__cil_tmp8;
7291#line 360
7292 __cil_tmp10 = (unsigned long )pd;
7293#line 360
7294 if (__cil_tmp10 == __cil_tmp9) {
7295#line 361
7296 goto ldv_30600;
7297 } else {
7298
7299 }
7300 }
7301 {
7302#line 362
7303 __cil_tmp11 = (unsigned long )n;
7304#line 362
7305 __cil_tmp12 = data + __cil_tmp11;
7306#line 362
7307 __cil_tmp13 = & pd->name;
7308#line 362
7309 __cil_tmp14 = (char *)__cil_tmp13;
7310#line 362
7311 __cil_tmp15 = pd->pkt_dev;
7312#line 362
7313 __cil_tmp16 = __cil_tmp15 >> 20;
7314#line 362
7315 __cil_tmp17 = pd->pkt_dev;
7316#line 362
7317 __cil_tmp18 = __cil_tmp17 & 1048575U;
7318#line 362
7319 __cil_tmp19 = pd->bdev;
7320#line 362
7321 __cil_tmp20 = __cil_tmp19->bd_dev;
7322#line 362
7323 __cil_tmp21 = __cil_tmp20 >> 20;
7324#line 362
7325 __cil_tmp22 = pd->bdev;
7326#line 362
7327 __cil_tmp23 = __cil_tmp22->bd_dev;
7328#line 362
7329 __cil_tmp24 = __cil_tmp23 & 1048575U;
7330#line 362
7331 tmp = sprintf(__cil_tmp12, "%s %u:%u %u:%u\n", __cil_tmp14, __cil_tmp16, __cil_tmp18,
7332 __cil_tmp21, __cil_tmp24);
7333#line 362
7334 n = tmp + n;
7335 }
7336 ldv_30600:
7337#line 358
7338 idx = idx + 1;
7339 ldv_30602: ;
7340#line 358
7341 if (idx <= 7) {
7342#line 359
7343 goto ldv_30601;
7344 } else {
7345#line 361
7346 goto ldv_30603;
7347 }
7348 ldv_30603:
7349 {
7350#line 368
7351 mutex_unlock(& ctl_mutex);
7352 }
7353#line 369
7354 return ((ssize_t )n);
7355}
7356}
7357#line 372 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7358static ssize_t class_pktcdvd_store_add(struct class *c , struct class_attribute *attr ,
7359 char const *buf , size_t count )
7360{ unsigned int major ;
7361 unsigned int minor ;
7362 int tmp ;
7363 int tmp___0 ;
7364 unsigned int __cil_tmp9 ;
7365 unsigned int __cil_tmp10 ;
7366 dev_t *__cil_tmp11 ;
7367
7368 {
7369 {
7370#line 379
7371 tmp___0 = sscanf(buf, "%u:%u", & major, & minor);
7372 }
7373#line 379
7374 if (tmp___0 == 2) {
7375 {
7376#line 381
7377 tmp = ldv_try_module_get_1(& __this_module);
7378 }
7379#line 381
7380 if (tmp == 0) {
7381#line 382
7382 return (-19L);
7383 } else {
7384
7385 }
7386 {
7387#line 384
7388 __cil_tmp9 = major << 20;
7389#line 384
7390 __cil_tmp10 = __cil_tmp9 | minor;
7391#line 384
7392 __cil_tmp11 = (dev_t *)0;
7393#line 384
7394 pkt_setup_dev(__cil_tmp10, __cil_tmp11);
7395#line 386
7396 ldv_module_put_2(& __this_module);
7397 }
7398#line 388
7399 return ((ssize_t )count);
7400 } else {
7401
7402 }
7403#line 391
7404 return (-22L);
7405}
7406}
7407#line 394 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7408static ssize_t class_pktcdvd_store_remove(struct class *c , struct class_attribute *attr ,
7409 char const *buf , size_t count )
7410{ unsigned int major ;
7411 unsigned int minor ;
7412 int tmp ;
7413 unsigned int __cil_tmp8 ;
7414 unsigned int __cil_tmp9 ;
7415
7416 {
7417 {
7418#line 400
7419 tmp = sscanf(buf, "%u:%u", & major, & minor);
7420 }
7421#line 400
7422 if (tmp == 2) {
7423 {
7424#line 401
7425 __cil_tmp8 = major << 20;
7426#line 401
7427 __cil_tmp9 = __cil_tmp8 | minor;
7428#line 401
7429 pkt_remove_dev(__cil_tmp9);
7430 }
7431#line 402
7432 return ((ssize_t )count);
7433 } else {
7434
7435 }
7436#line 404
7437 return (-22L);
7438}
7439}
7440#line 407 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7441static struct class_attribute class_pktcdvd_attrs[4U] = { {{"add", 128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7442 {(char)0}, {(char)0}, {(char)0},
7443 {(char)0}, {(char)0}}}}, (ssize_t (*)(struct class * ,
7444 struct class_attribute * ,
7445 char * ))0,
7446 & class_pktcdvd_store_add},
7447 {{"remove", 128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7448 {(char)0}, {(char)0}, {(char)0},
7449 {(char)0}, {(char)0}}}}, (ssize_t (*)(struct class * ,
7450 struct class_attribute * ,
7451 char * ))0,
7452 & class_pktcdvd_store_remove},
7453 {{"device_map", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7454 {(char)0}, {(char)0}, {(char)0},
7455 {(char)0}, {(char)0}}}},
7456 & class_pktcdvd_show_map, (ssize_t (*)(struct class * , struct class_attribute * ,
7457 char const * , size_t ))0},
7458 {{(char const *)0, 0U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7459 {(char)0}, {(char)0},
7460 {(char)0}, {(char)0},
7461 {(char)0}, {(char)0}}}},
7462 (ssize_t (*)(struct class * , struct class_attribute * , char * ))0, (ssize_t (*)(struct class * ,
7463 struct class_attribute * ,
7464 char const * ,
7465 size_t ))0}};
7466#line 415 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7467static int pkt_sysfs_init(void)
7468{ int ret ;
7469 void *tmp ;
7470 struct lock_class_key __key ;
7471 int tmp___0 ;
7472 struct class *__cil_tmp5 ;
7473 unsigned long __cil_tmp6 ;
7474 unsigned long __cil_tmp7 ;
7475 void const *__cil_tmp8 ;
7476
7477 {
7478 {
7479#line 417
7480 ret = 0;
7481#line 423
7482 tmp = kzalloc(128UL, 208U);
7483#line 423
7484 class_pktcdvd = (struct class *)tmp;
7485 }
7486 {
7487#line 424
7488 __cil_tmp5 = (struct class *)0;
7489#line 424
7490 __cil_tmp6 = (unsigned long )__cil_tmp5;
7491#line 424
7492 __cil_tmp7 = (unsigned long )class_pktcdvd;
7493#line 424
7494 if (__cil_tmp7 == __cil_tmp6) {
7495#line 425
7496 return (-12);
7497 } else {
7498
7499 }
7500 }
7501 {
7502#line 426
7503 class_pktcdvd->name = "pktcdvd";
7504#line 427
7505 class_pktcdvd->owner = & __this_module;
7506#line 428
7507 class_pktcdvd->class_release = & class_pktcdvd_release;
7508#line 429
7509 class_pktcdvd->class_attrs = (struct class_attribute *)(& class_pktcdvd_attrs);
7510#line 430
7511 tmp___0 = __class_register(class_pktcdvd, & __key);
7512#line 430
7513 ret = tmp___0;
7514 }
7515#line 431
7516 if (ret != 0) {
7517 {
7518#line 432
7519 __cil_tmp8 = (void const *)class_pktcdvd;
7520#line 432
7521 kfree(__cil_tmp8);
7522#line 433
7523 class_pktcdvd = (struct class *)0;
7524#line 434
7525 printk("pktcdvd: failed to create class pktcdvd\n");
7526 }
7527#line 435
7528 return (ret);
7529 } else {
7530
7531 }
7532#line 437
7533 return (0);
7534}
7535}
7536#line 440 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7537static void pkt_sysfs_cleanup(void)
7538{ struct class *__cil_tmp1 ;
7539 unsigned long __cil_tmp2 ;
7540 unsigned long __cil_tmp3 ;
7541
7542 {
7543 {
7544#line 442
7545 __cil_tmp1 = (struct class *)0;
7546#line 442
7547 __cil_tmp2 = (unsigned long )__cil_tmp1;
7548#line 442
7549 __cil_tmp3 = (unsigned long )class_pktcdvd;
7550#line 442
7551 if (__cil_tmp3 != __cil_tmp2) {
7552 {
7553#line 443
7554 class_destroy(class_pktcdvd);
7555 }
7556 } else {
7557
7558 }
7559 }
7560#line 444
7561 class_pktcdvd = (struct class *)0;
7562#line 445
7563 return;
7564}
7565}
7566#line 455 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7567static int pkt_debugfs_seq_show(struct seq_file *m , void *p )
7568{ int tmp ;
7569
7570 {
7571 {
7572#line 457
7573 tmp = pkt_seq_show(m, p);
7574 }
7575#line 457
7576 return (tmp);
7577}
7578}
7579#line 460 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7580static int pkt_debugfs_fops_open(struct inode *inode , struct file *file )
7581{ int tmp ;
7582 void *__cil_tmp4 ;
7583
7584 {
7585 {
7586#line 462
7587 __cil_tmp4 = inode->i_private;
7588#line 462
7589 tmp = single_open(file, & pkt_debugfs_seq_show, __cil_tmp4);
7590 }
7591#line 462
7592 return (tmp);
7593}
7594}
7595#line 465 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7596static struct file_operations const debug_fops =
7597#line 465
7598 {& __this_module, & seq_lseek, & seq_read, (ssize_t (*)(struct file * , char const * ,
7599 size_t , loff_t * ))0,
7600 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
7601 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
7602 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
7603 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
7604 struct poll_table_struct * ))0,
7605 (long (*)(struct file * , unsigned int , unsigned long ))0, (long (*)(struct file * ,
7606 unsigned int ,
7607 unsigned long ))0,
7608 (int (*)(struct file * , struct vm_area_struct * ))0, & pkt_debugfs_fops_open,
7609 (int (*)(struct file * , fl_owner_t ))0, & single_release, (int (*)(struct file * ,
7610 int ))0,
7611 (int (*)(struct kiocb * , int ))0, (int (*)(int , struct file * , int ))0,
7612 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
7613 struct page * ,
7614 int , size_t ,
7615 loff_t * ,
7616 int ))0,
7617 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
7618 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
7619 int , struct file_lock * ))0,
7620 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
7621 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
7622 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
7623 int , loff_t ,
7624 loff_t ))0};
7625#line 473 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7626static void pkt_debugfs_dev_new(struct pktcdvd_device *pd )
7627{ long tmp ;
7628 long tmp___0 ;
7629 struct dentry *__cil_tmp4 ;
7630 unsigned long __cil_tmp5 ;
7631 unsigned long __cil_tmp6 ;
7632 char (*__cil_tmp7)[20U] ;
7633 char const *__cil_tmp8 ;
7634 struct dentry *__cil_tmp9 ;
7635 void const *__cil_tmp10 ;
7636 struct dentry *__cil_tmp11 ;
7637 void *__cil_tmp12 ;
7638 struct dentry *__cil_tmp13 ;
7639 void const *__cil_tmp14 ;
7640
7641 {
7642 {
7643#line 475
7644 __cil_tmp4 = (struct dentry *)0;
7645#line 475
7646 __cil_tmp5 = (unsigned long )__cil_tmp4;
7647#line 475
7648 __cil_tmp6 = (unsigned long )pkt_debugfs_root;
7649#line 475
7650 if (__cil_tmp6 == __cil_tmp5) {
7651#line 476
7652 return;
7653 } else {
7654
7655 }
7656 }
7657 {
7658#line 477
7659 pd->dfs_f_info = (struct dentry *)0;
7660#line 478
7661 __cil_tmp7 = & pd->name;
7662#line 478
7663 __cil_tmp8 = (char const *)__cil_tmp7;
7664#line 478
7665 pd->dfs_d_root = debugfs_create_dir(__cil_tmp8, pkt_debugfs_root);
7666#line 479
7667 __cil_tmp9 = pd->dfs_d_root;
7668#line 479
7669 __cil_tmp10 = (void const *)__cil_tmp9;
7670#line 479
7671 tmp = IS_ERR(__cil_tmp10);
7672 }
7673#line 479
7674 if (tmp != 0L) {
7675#line 480
7676 pd->dfs_d_root = (struct dentry *)0;
7677#line 481
7678 return;
7679 } else {
7680
7681 }
7682 {
7683#line 483
7684 __cil_tmp11 = pd->dfs_d_root;
7685#line 483
7686 __cil_tmp12 = (void *)pd;
7687#line 483
7688 pd->dfs_f_info = debugfs_create_file("info", 292U, __cil_tmp11, __cil_tmp12, & debug_fops);
7689#line 485
7690 __cil_tmp13 = pd->dfs_f_info;
7691#line 485
7692 __cil_tmp14 = (void const *)__cil_tmp13;
7693#line 485
7694 tmp___0 = IS_ERR(__cil_tmp14);
7695 }
7696#line 485
7697 if (tmp___0 != 0L) {
7698#line 486
7699 pd->dfs_f_info = (struct dentry *)0;
7700#line 487
7701 return;
7702 } else {
7703
7704 }
7705#line 489
7706 return;
7707}
7708}
7709#line 491 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7710static void pkt_debugfs_dev_remove(struct pktcdvd_device *pd )
7711{ struct dentry *__cil_tmp2 ;
7712 unsigned long __cil_tmp3 ;
7713 unsigned long __cil_tmp4 ;
7714 struct dentry *__cil_tmp5 ;
7715 unsigned long __cil_tmp6 ;
7716 struct dentry *__cil_tmp7 ;
7717 unsigned long __cil_tmp8 ;
7718 struct dentry *__cil_tmp9 ;
7719 struct dentry *__cil_tmp10 ;
7720 unsigned long __cil_tmp11 ;
7721 struct dentry *__cil_tmp12 ;
7722 unsigned long __cil_tmp13 ;
7723 struct dentry *__cil_tmp14 ;
7724
7725 {
7726 {
7727#line 493
7728 __cil_tmp2 = (struct dentry *)0;
7729#line 493
7730 __cil_tmp3 = (unsigned long )__cil_tmp2;
7731#line 493
7732 __cil_tmp4 = (unsigned long )pkt_debugfs_root;
7733#line 493
7734 if (__cil_tmp4 == __cil_tmp3) {
7735#line 494
7736 return;
7737 } else {
7738
7739 }
7740 }
7741 {
7742#line 495
7743 __cil_tmp5 = (struct dentry *)0;
7744#line 495
7745 __cil_tmp6 = (unsigned long )__cil_tmp5;
7746#line 495
7747 __cil_tmp7 = pd->dfs_f_info;
7748#line 495
7749 __cil_tmp8 = (unsigned long )__cil_tmp7;
7750#line 495
7751 if (__cil_tmp8 != __cil_tmp6) {
7752 {
7753#line 496
7754 __cil_tmp9 = pd->dfs_f_info;
7755#line 496
7756 debugfs_remove(__cil_tmp9);
7757 }
7758 } else {
7759
7760 }
7761 }
7762#line 497
7763 pd->dfs_f_info = (struct dentry *)0;
7764 {
7765#line 498
7766 __cil_tmp10 = (struct dentry *)0;
7767#line 498
7768 __cil_tmp11 = (unsigned long )__cil_tmp10;
7769#line 498
7770 __cil_tmp12 = pd->dfs_d_root;
7771#line 498
7772 __cil_tmp13 = (unsigned long )__cil_tmp12;
7773#line 498
7774 if (__cil_tmp13 != __cil_tmp11) {
7775 {
7776#line 499
7777 __cil_tmp14 = pd->dfs_d_root;
7778#line 499
7779 debugfs_remove(__cil_tmp14);
7780 }
7781 } else {
7782
7783 }
7784 }
7785#line 500
7786 pd->dfs_d_root = (struct dentry *)0;
7787#line 501
7788 return;
7789}
7790}
7791#line 503 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7792static void pkt_debugfs_init(void)
7793{ long tmp ;
7794 struct dentry *__cil_tmp2 ;
7795 void const *__cil_tmp3 ;
7796
7797 {
7798 {
7799#line 505
7800 __cil_tmp2 = (struct dentry *)0;
7801#line 505
7802 pkt_debugfs_root = debugfs_create_dir("pktcdvd", __cil_tmp2);
7803#line 506
7804 __cil_tmp3 = (void const *)pkt_debugfs_root;
7805#line 506
7806 tmp = IS_ERR(__cil_tmp3);
7807 }
7808#line 506
7809 if (tmp != 0L) {
7810#line 507
7811 pkt_debugfs_root = (struct dentry *)0;
7812#line 508
7813 return;
7814 } else {
7815
7816 }
7817#line 510
7818 return;
7819}
7820}
7821#line 512 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7822static void pkt_debugfs_cleanup(void)
7823{ struct dentry *__cil_tmp1 ;
7824 unsigned long __cil_tmp2 ;
7825 unsigned long __cil_tmp3 ;
7826
7827 {
7828 {
7829#line 514
7830 __cil_tmp1 = (struct dentry *)0;
7831#line 514
7832 __cil_tmp2 = (unsigned long )__cil_tmp1;
7833#line 514
7834 __cil_tmp3 = (unsigned long )pkt_debugfs_root;
7835#line 514
7836 if (__cil_tmp3 == __cil_tmp2) {
7837#line 515
7838 return;
7839 } else {
7840
7841 }
7842 }
7843 {
7844#line 516
7845 debugfs_remove(pkt_debugfs_root);
7846#line 517
7847 pkt_debugfs_root = (struct dentry *)0;
7848 }
7849#line 518
7850 return;
7851}
7852}
7853#line 523 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7854static void pkt_bio_finished(struct pktcdvd_device *pd )
7855{ int tmp ;
7856 long tmp___0 ;
7857 int tmp___1 ;
7858 atomic_t *__cil_tmp5 ;
7859 atomic_t const *__cil_tmp6 ;
7860 int __cil_tmp7 ;
7861 long __cil_tmp8 ;
7862 atomic_t *__cil_tmp9 ;
7863 atomic_t *__cil_tmp10 ;
7864 wait_queue_head_t *__cil_tmp11 ;
7865 void *__cil_tmp12 ;
7866
7867 {
7868 {
7869#line 525
7870 __cil_tmp5 = & pd->cdrw.pending_bios;
7871#line 525
7872 __cil_tmp6 = (atomic_t const *)__cil_tmp5;
7873#line 525
7874 tmp = atomic_read(__cil_tmp6);
7875#line 525
7876 __cil_tmp7 = tmp <= 0;
7877#line 525
7878 __cil_tmp8 = (long )__cil_tmp7;
7879#line 525
7880 tmp___0 = __builtin_expect(__cil_tmp8, 0L);
7881 }
7882#line 525
7883 if (tmp___0 != 0L) {
7884#line 525
7885 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
7886 "i" (525), "i" (12UL));
7887 ldv_30654: ;
7888#line 525
7889 goto ldv_30654;
7890 } else {
7891
7892 }
7893 {
7894#line 526
7895 __cil_tmp9 = & pd->cdrw.pending_bios;
7896#line 526
7897 tmp___1 = atomic_dec_and_test(__cil_tmp9);
7898 }
7899#line 526
7900 if (tmp___1 != 0) {
7901 {
7902#line 528
7903 __cil_tmp10 = & pd->iosched.attention;
7904#line 528
7905 atomic_set(__cil_tmp10, 1);
7906#line 529
7907 __cil_tmp11 = & pd->wqueue;
7908#line 529
7909 __cil_tmp12 = (void *)0;
7910#line 529
7911 __wake_up(__cil_tmp11, 3U, 1, __cil_tmp12);
7912 }
7913 } else {
7914
7915 }
7916#line 531
7917 return;
7918}
7919}
7920#line 533 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7921static void pkt_bio_destructor(struct bio *bio )
7922{ struct bio_vec *__cil_tmp2 ;
7923 void const *__cil_tmp3 ;
7924 void const *__cil_tmp4 ;
7925
7926 {
7927 {
7928#line 535
7929 __cil_tmp2 = bio->bi_io_vec;
7930#line 535
7931 __cil_tmp3 = (void const *)__cil_tmp2;
7932#line 535
7933 kfree(__cil_tmp3);
7934#line 536
7935 __cil_tmp4 = (void const *)bio;
7936#line 536
7937 kfree(__cil_tmp4);
7938 }
7939#line 537
7940 return;
7941}
7942}
7943#line 539 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
7944static struct bio *pkt_bio_alloc(int nr_iovecs )
7945{ struct bio_vec *bvl ;
7946 struct bio *bio ;
7947 void *tmp ;
7948 void *tmp___0 ;
7949 struct bio *__cil_tmp6 ;
7950 unsigned long __cil_tmp7 ;
7951 unsigned long __cil_tmp8 ;
7952 size_t __cil_tmp9 ;
7953 struct bio_vec *__cil_tmp10 ;
7954 unsigned long __cil_tmp11 ;
7955 unsigned long __cil_tmp12 ;
7956 void const *__cil_tmp13 ;
7957
7958 {
7959 {
7960#line 541
7961 bvl = (struct bio_vec *)0;
7962#line 544
7963 tmp = kmalloc(112UL, 208U);
7964#line 544
7965 bio = (struct bio *)tmp;
7966 }
7967 {
7968#line 545
7969 __cil_tmp6 = (struct bio *)0;
7970#line 545
7971 __cil_tmp7 = (unsigned long )__cil_tmp6;
7972#line 545
7973 __cil_tmp8 = (unsigned long )bio;
7974#line 545
7975 if (__cil_tmp8 == __cil_tmp7) {
7976#line 546
7977 goto no_bio;
7978 } else {
7979
7980 }
7981 }
7982 {
7983#line 547
7984 bio_init(bio);
7985#line 549
7986 __cil_tmp9 = (size_t )nr_iovecs;
7987#line 549
7988 tmp___0 = kcalloc(__cil_tmp9, 16UL, 208U);
7989#line 549
7990 bvl = (struct bio_vec *)tmp___0;
7991 }
7992 {
7993#line 550
7994 __cil_tmp10 = (struct bio_vec *)0;
7995#line 550
7996 __cil_tmp11 = (unsigned long )__cil_tmp10;
7997#line 550
7998 __cil_tmp12 = (unsigned long )bvl;
7999#line 550
8000 if (__cil_tmp12 == __cil_tmp11) {
8001#line 551
8002 goto no_bvl;
8003 } else {
8004
8005 }
8006 }
8007#line 553
8008 bio->bi_max_vecs = (unsigned int )nr_iovecs;
8009#line 554
8010 bio->bi_io_vec = bvl;
8011#line 555
8012 bio->bi_destructor = & pkt_bio_destructor;
8013#line 557
8014 return (bio);
8015 no_bvl:
8016 {
8017#line 560
8018 __cil_tmp13 = (void const *)bio;
8019#line 560
8020 kfree(__cil_tmp13);
8021 }
8022 no_bio: ;
8023#line 562
8024 return ((struct bio *)0);
8025}
8026}
8027#line 568 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8028static struct packet_data *pkt_alloc_packet_data(int frames )
8029{ int i ;
8030 struct packet_data *pkt ;
8031 void *tmp ;
8032 struct lock_class_key __key ;
8033 struct bio *bio ;
8034 struct bio *tmp___0 ;
8035 struct bio *bio___0 ;
8036 struct packet_data *__cil_tmp9 ;
8037 unsigned long __cil_tmp10 ;
8038 unsigned long __cil_tmp11 ;
8039 struct bio *__cil_tmp12 ;
8040 unsigned long __cil_tmp13 ;
8041 struct bio *__cil_tmp14 ;
8042 unsigned long __cil_tmp15 ;
8043 struct page *__cil_tmp16 ;
8044 unsigned long __cil_tmp17 ;
8045 struct page *__cil_tmp18 ;
8046 unsigned long __cil_tmp19 ;
8047 unsigned long __cil_tmp20 ;
8048 unsigned long __cil_tmp21 ;
8049 unsigned long __cil_tmp22 ;
8050 spinlock_t *__cil_tmp23 ;
8051 struct raw_spinlock *__cil_tmp24 ;
8052 struct bio_list *__cil_tmp25 ;
8053 struct bio *__cil_tmp26 ;
8054 unsigned long __cil_tmp27 ;
8055 unsigned long __cil_tmp28 ;
8056 struct bio *__cil_tmp29 ;
8057 unsigned long __cil_tmp30 ;
8058 unsigned long __cil_tmp31 ;
8059 struct page *__cil_tmp32 ;
8060 unsigned long __cil_tmp33 ;
8061 struct page *__cil_tmp34 ;
8062 unsigned long __cil_tmp35 ;
8063 struct page *__cil_tmp36 ;
8064 unsigned long __cil_tmp37 ;
8065 unsigned long __cil_tmp38 ;
8066 unsigned long __cil_tmp39 ;
8067 struct bio *__cil_tmp40 ;
8068 void const *__cil_tmp41 ;
8069
8070 {
8071 {
8072#line 573
8073 tmp = kzalloc(1712UL, 208U);
8074#line 573
8075 pkt = (struct packet_data *)tmp;
8076 }
8077 {
8078#line 574
8079 __cil_tmp9 = (struct packet_data *)0;
8080#line 574
8081 __cil_tmp10 = (unsigned long )__cil_tmp9;
8082#line 574
8083 __cil_tmp11 = (unsigned long )pkt;
8084#line 574
8085 if (__cil_tmp11 == __cil_tmp10) {
8086#line 575
8087 goto no_pkt;
8088 } else {
8089
8090 }
8091 }
8092 {
8093#line 577
8094 pkt->frames = frames;
8095#line 578
8096 pkt->w_bio = pkt_bio_alloc(frames);
8097 }
8098 {
8099#line 579
8100 __cil_tmp12 = (struct bio *)0;
8101#line 579
8102 __cil_tmp13 = (unsigned long )__cil_tmp12;
8103#line 579
8104 __cil_tmp14 = pkt->w_bio;
8105#line 579
8106 __cil_tmp15 = (unsigned long )__cil_tmp14;
8107#line 579
8108 if (__cil_tmp15 == __cil_tmp13) {
8109#line 580
8110 goto no_bio;
8111 } else {
8112
8113 }
8114 }
8115#line 582
8116 i = 0;
8117#line 582
8118 goto ldv_30674;
8119 ldv_30673:
8120 {
8121#line 583
8122 pkt->pages[i] = alloc_pages(32976U, 0U);
8123 }
8124 {
8125#line 584
8126 __cil_tmp16 = (struct page *)0;
8127#line 584
8128 __cil_tmp17 = (unsigned long )__cil_tmp16;
8129#line 584
8130 __cil_tmp18 = pkt->pages[i];
8131#line 584
8132 __cil_tmp19 = (unsigned long )__cil_tmp18;
8133#line 584
8134 if (__cil_tmp19 == __cil_tmp17) {
8135#line 585
8136 goto no_page;
8137 } else {
8138
8139 }
8140 }
8141#line 582
8142 i = i + 1;
8143 ldv_30674: ;
8144 {
8145#line 582
8146 __cil_tmp20 = (unsigned long )frames;
8147#line 582
8148 __cil_tmp21 = __cil_tmp20 / 2UL;
8149#line 582
8150 __cil_tmp22 = (unsigned long )i;
8151#line 582
8152 if (__cil_tmp22 < __cil_tmp21) {
8153#line 583
8154 goto ldv_30673;
8155 } else {
8156#line 585
8157 goto ldv_30675;
8158 }
8159 }
8160 ldv_30675:
8161 {
8162#line 588
8163 __cil_tmp23 = & pkt->lock;
8164#line 588
8165 spinlock_check(__cil_tmp23);
8166#line 588
8167 __cil_tmp24 = & pkt->lock.ldv_6060.rlock;
8168#line 588
8169 __raw_spin_lock_init(__cil_tmp24, "&(&pkt->lock)->rlock", & __key);
8170#line 589
8171 __cil_tmp25 = & pkt->orig_bios;
8172#line 589
8173 bio_list_init(__cil_tmp25);
8174#line 591
8175 i = 0;
8176 }
8177#line 591
8178 goto ldv_30680;
8179 ldv_30679:
8180 {
8181#line 592
8182 tmp___0 = pkt_bio_alloc(1);
8183#line 592
8184 bio = tmp___0;
8185 }
8186 {
8187#line 593
8188 __cil_tmp26 = (struct bio *)0;
8189#line 593
8190 __cil_tmp27 = (unsigned long )__cil_tmp26;
8191#line 593
8192 __cil_tmp28 = (unsigned long )bio;
8193#line 593
8194 if (__cil_tmp28 == __cil_tmp27) {
8195#line 594
8196 goto no_rd_bio;
8197 } else {
8198
8199 }
8200 }
8201#line 595
8202 pkt->r_bios[i] = bio;
8203#line 591
8204 i = i + 1;
8205 ldv_30680: ;
8206#line 591
8207 if (i < frames) {
8208#line 592
8209 goto ldv_30679;
8210 } else {
8211#line 594
8212 goto ldv_30681;
8213 }
8214 ldv_30681: ;
8215#line 598
8216 return (pkt);
8217 no_rd_bio:
8218#line 601
8219 i = 0;
8220#line 601
8221 goto ldv_30684;
8222 ldv_30683:
8223#line 602
8224 bio___0 = pkt->r_bios[i];
8225 {
8226#line 603
8227 __cil_tmp29 = (struct bio *)0;
8228#line 603
8229 __cil_tmp30 = (unsigned long )__cil_tmp29;
8230#line 603
8231 __cil_tmp31 = (unsigned long )bio___0;
8232#line 603
8233 if (__cil_tmp31 != __cil_tmp30) {
8234 {
8235#line 604
8236 bio_put(bio___0);
8237 }
8238 } else {
8239
8240 }
8241 }
8242#line 601
8243 i = i + 1;
8244 ldv_30684: ;
8245#line 601
8246 if (i < frames) {
8247#line 602
8248 goto ldv_30683;
8249 } else {
8250#line 604
8251 goto ldv_30685;
8252 }
8253 ldv_30685: ;
8254 no_page:
8255#line 608
8256 i = 0;
8257#line 608
8258 goto ldv_30687;
8259 ldv_30686: ;
8260 {
8261#line 609
8262 __cil_tmp32 = (struct page *)0;
8263#line 609
8264 __cil_tmp33 = (unsigned long )__cil_tmp32;
8265#line 609
8266 __cil_tmp34 = pkt->pages[i];
8267#line 609
8268 __cil_tmp35 = (unsigned long )__cil_tmp34;
8269#line 609
8270 if (__cil_tmp35 != __cil_tmp33) {
8271 {
8272#line 610
8273 __cil_tmp36 = pkt->pages[i];
8274#line 610
8275 __free_pages(__cil_tmp36, 0U);
8276 }
8277 } else {
8278
8279 }
8280 }
8281#line 608
8282 i = i + 1;
8283 ldv_30687: ;
8284 {
8285#line 608
8286 __cil_tmp37 = (unsigned long )frames;
8287#line 608
8288 __cil_tmp38 = __cil_tmp37 / 2UL;
8289#line 608
8290 __cil_tmp39 = (unsigned long )i;
8291#line 608
8292 if (__cil_tmp39 < __cil_tmp38) {
8293#line 609
8294 goto ldv_30686;
8295 } else {
8296#line 611
8297 goto ldv_30688;
8298 }
8299 }
8300 ldv_30688:
8301 {
8302#line 611
8303 __cil_tmp40 = pkt->w_bio;
8304#line 611
8305 bio_put(__cil_tmp40);
8306 }
8307 no_bio:
8308 {
8309#line 613
8310 __cil_tmp41 = (void const *)pkt;
8311#line 613
8312 kfree(__cil_tmp41);
8313 }
8314 no_pkt: ;
8315#line 615
8316 return ((struct packet_data *)0);
8317}
8318}
8319#line 621 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8320static void pkt_free_packet_data(struct packet_data *pkt )
8321{ int i ;
8322 struct bio *bio ;
8323 struct bio *__cil_tmp4 ;
8324 unsigned long __cil_tmp5 ;
8325 unsigned long __cil_tmp6 ;
8326 int __cil_tmp7 ;
8327 struct page *__cil_tmp8 ;
8328 int __cil_tmp9 ;
8329 unsigned long __cil_tmp10 ;
8330 unsigned long __cil_tmp11 ;
8331 unsigned long __cil_tmp12 ;
8332 struct bio *__cil_tmp13 ;
8333 void const *__cil_tmp14 ;
8334
8335 {
8336#line 625
8337 i = 0;
8338#line 625
8339 goto ldv_30695;
8340 ldv_30694:
8341#line 626
8342 bio = pkt->r_bios[i];
8343 {
8344#line 627
8345 __cil_tmp4 = (struct bio *)0;
8346#line 627
8347 __cil_tmp5 = (unsigned long )__cil_tmp4;
8348#line 627
8349 __cil_tmp6 = (unsigned long )bio;
8350#line 627
8351 if (__cil_tmp6 != __cil_tmp5) {
8352 {
8353#line 628
8354 bio_put(bio);
8355 }
8356 } else {
8357
8358 }
8359 }
8360#line 625
8361 i = i + 1;
8362 ldv_30695: ;
8363 {
8364#line 625
8365 __cil_tmp7 = pkt->frames;
8366#line 625
8367 if (__cil_tmp7 > i) {
8368#line 626
8369 goto ldv_30694;
8370 } else {
8371#line 628
8372 goto ldv_30696;
8373 }
8374 }
8375 ldv_30696:
8376#line 630
8377 i = 0;
8378#line 630
8379 goto ldv_30698;
8380 ldv_30697:
8381 {
8382#line 631
8383 __cil_tmp8 = pkt->pages[i];
8384#line 631
8385 __free_pages(__cil_tmp8, 0U);
8386#line 630
8387 i = i + 1;
8388 }
8389 ldv_30698: ;
8390 {
8391#line 630
8392 __cil_tmp9 = pkt->frames;
8393#line 630
8394 __cil_tmp10 = (unsigned long )__cil_tmp9;
8395#line 630
8396 __cil_tmp11 = __cil_tmp10 / 2UL;
8397#line 630
8398 __cil_tmp12 = (unsigned long )i;
8399#line 630
8400 if (__cil_tmp12 < __cil_tmp11) {
8401#line 631
8402 goto ldv_30697;
8403 } else {
8404#line 633
8405 goto ldv_30699;
8406 }
8407 }
8408 ldv_30699:
8409 {
8410#line 632
8411 __cil_tmp13 = pkt->w_bio;
8412#line 632
8413 bio_put(__cil_tmp13);
8414#line 633
8415 __cil_tmp14 = (void const *)pkt;
8416#line 633
8417 kfree(__cil_tmp14);
8418 }
8419#line 634
8420 return;
8421}
8422}
8423#line 636 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8424static void pkt_shrink_pktlist(struct pktcdvd_device *pd )
8425{ struct packet_data *pkt ;
8426 struct packet_data *next ;
8427 int tmp ;
8428 long tmp___0 ;
8429 struct list_head const *__mptr ;
8430 struct list_head const *__mptr___0 ;
8431 struct list_head const *__mptr___1 ;
8432 struct list_head *__cil_tmp9 ;
8433 struct list_head const *__cil_tmp10 ;
8434 int __cil_tmp11 ;
8435 long __cil_tmp12 ;
8436 struct list_head *__cil_tmp13 ;
8437 struct list_head *__cil_tmp14 ;
8438 struct list_head *__cil_tmp15 ;
8439 struct list_head *__cil_tmp16 ;
8440 unsigned long __cil_tmp17 ;
8441 struct list_head *__cil_tmp18 ;
8442 unsigned long __cil_tmp19 ;
8443 struct list_head *__cil_tmp20 ;
8444
8445 {
8446 {
8447#line 640
8448 __cil_tmp9 = & pd->cdrw.pkt_active_list;
8449#line 640
8450 __cil_tmp10 = (struct list_head const *)__cil_tmp9;
8451#line 640
8452 tmp = list_empty(__cil_tmp10);
8453#line 640
8454 __cil_tmp11 = tmp == 0;
8455#line 640
8456 __cil_tmp12 = (long )__cil_tmp11;
8457#line 640
8458 tmp___0 = __builtin_expect(__cil_tmp12, 0L);
8459 }
8460#line 640
8461 if (tmp___0 != 0L) {
8462#line 640
8463 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
8464 "i" (640), "i" (12UL));
8465 ldv_30705: ;
8466#line 640
8467 goto ldv_30705;
8468 } else {
8469
8470 }
8471#line 642
8472 __cil_tmp13 = pd->cdrw.pkt_free_list.next;
8473#line 642
8474 __mptr = (struct list_head const *)__cil_tmp13;
8475#line 642
8476 pkt = (struct packet_data *)__mptr;
8477#line 642
8478 __cil_tmp14 = pkt->list.next;
8479#line 642
8480 __mptr___0 = (struct list_head const *)__cil_tmp14;
8481#line 642
8482 next = (struct packet_data *)__mptr___0;
8483#line 642
8484 goto ldv_30713;
8485 ldv_30712:
8486 {
8487#line 643
8488 pkt_free_packet_data(pkt);
8489#line 642
8490 pkt = next;
8491#line 642
8492 __cil_tmp15 = next->list.next;
8493#line 642
8494 __mptr___1 = (struct list_head const *)__cil_tmp15;
8495#line 642
8496 next = (struct packet_data *)__mptr___1;
8497 }
8498 ldv_30713: ;
8499 {
8500#line 642
8501 __cil_tmp16 = & pd->cdrw.pkt_free_list;
8502#line 642
8503 __cil_tmp17 = (unsigned long )__cil_tmp16;
8504#line 642
8505 __cil_tmp18 = & pkt->list;
8506#line 642
8507 __cil_tmp19 = (unsigned long )__cil_tmp18;
8508#line 642
8509 if (__cil_tmp19 != __cil_tmp17) {
8510#line 643
8511 goto ldv_30712;
8512 } else {
8513#line 645
8514 goto ldv_30714;
8515 }
8516 }
8517 ldv_30714:
8518 {
8519#line 645
8520 __cil_tmp20 = & pd->cdrw.pkt_free_list;
8521#line 645
8522 INIT_LIST_HEAD(__cil_tmp20);
8523 }
8524#line 646
8525 return;
8526}
8527}
8528#line 648 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8529static int pkt_grow_pktlist(struct pktcdvd_device *pd , int nr_packets )
8530{ struct packet_data *pkt ;
8531 int tmp ;
8532 long tmp___0 ;
8533 struct list_head *__cil_tmp6 ;
8534 struct list_head const *__cil_tmp7 ;
8535 int __cil_tmp8 ;
8536 long __cil_tmp9 ;
8537 __u32 __cil_tmp10 ;
8538 __u32 __cil_tmp11 ;
8539 int __cil_tmp12 ;
8540 struct packet_data *__cil_tmp13 ;
8541 unsigned long __cil_tmp14 ;
8542 unsigned long __cil_tmp15 ;
8543 struct list_head *__cil_tmp16 ;
8544 struct list_head *__cil_tmp17 ;
8545
8546 {
8547 {
8548#line 652
8549 __cil_tmp6 = & pd->cdrw.pkt_free_list;
8550#line 652
8551 __cil_tmp7 = (struct list_head const *)__cil_tmp6;
8552#line 652
8553 tmp = list_empty(__cil_tmp7);
8554#line 652
8555 __cil_tmp8 = tmp == 0;
8556#line 652
8557 __cil_tmp9 = (long )__cil_tmp8;
8558#line 652
8559 tmp___0 = __builtin_expect(__cil_tmp9, 0L);
8560 }
8561#line 652
8562 if (tmp___0 != 0L) {
8563#line 652
8564 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
8565 "i" (652), "i" (12UL));
8566 ldv_30720: ;
8567#line 652
8568 goto ldv_30720;
8569 } else {
8570
8571 }
8572#line 654
8573 goto ldv_30722;
8574 ldv_30721:
8575 {
8576#line 655
8577 __cil_tmp10 = pd->settings.size;
8578#line 655
8579 __cil_tmp11 = __cil_tmp10 >> 2;
8580#line 655
8581 __cil_tmp12 = (int )__cil_tmp11;
8582#line 655
8583 pkt = pkt_alloc_packet_data(__cil_tmp12);
8584 }
8585 {
8586#line 656
8587 __cil_tmp13 = (struct packet_data *)0;
8588#line 656
8589 __cil_tmp14 = (unsigned long )__cil_tmp13;
8590#line 656
8591 __cil_tmp15 = (unsigned long )pkt;
8592#line 656
8593 if (__cil_tmp15 == __cil_tmp14) {
8594 {
8595#line 657
8596 pkt_shrink_pktlist(pd);
8597 }
8598#line 658
8599 return (0);
8600 } else {
8601
8602 }
8603 }
8604 {
8605#line 660
8606 pkt->id = nr_packets;
8607#line 661
8608 pkt->pd = pd;
8609#line 662
8610 __cil_tmp16 = & pkt->list;
8611#line 662
8612 __cil_tmp17 = & pd->cdrw.pkt_free_list;
8613#line 662
8614 list_add(__cil_tmp16, __cil_tmp17);
8615#line 663
8616 nr_packets = nr_packets - 1;
8617 }
8618 ldv_30722: ;
8619#line 654
8620 if (nr_packets > 0) {
8621#line 655
8622 goto ldv_30721;
8623 } else {
8624#line 657
8625 goto ldv_30723;
8626 }
8627 ldv_30723: ;
8628#line 665
8629 return (1);
8630}
8631}
8632#line 668 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8633__inline static struct pkt_rb_node *pkt_rbtree_next(struct pkt_rb_node *node )
8634{ struct rb_node *n ;
8635 struct rb_node *tmp ;
8636 struct rb_node const *__mptr ;
8637 struct rb_node *__cil_tmp5 ;
8638 struct rb_node const *__cil_tmp6 ;
8639 struct rb_node *__cil_tmp7 ;
8640 unsigned long __cil_tmp8 ;
8641 unsigned long __cil_tmp9 ;
8642
8643 {
8644 {
8645#line 670
8646 __cil_tmp5 = & node->rb_node;
8647#line 670
8648 __cil_tmp6 = (struct rb_node const *)__cil_tmp5;
8649#line 670
8650 tmp = rb_next(__cil_tmp6);
8651#line 670
8652 n = tmp;
8653 }
8654 {
8655#line 671
8656 __cil_tmp7 = (struct rb_node *)0;
8657#line 671
8658 __cil_tmp8 = (unsigned long )__cil_tmp7;
8659#line 671
8660 __cil_tmp9 = (unsigned long )n;
8661#line 671
8662 if (__cil_tmp9 == __cil_tmp8) {
8663#line 672
8664 return ((struct pkt_rb_node *)0);
8665 } else {
8666
8667 }
8668 }
8669#line 673
8670 __mptr = (struct rb_node const *)n;
8671#line 673
8672 return ((struct pkt_rb_node *)__mptr);
8673}
8674}
8675#line 676 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8676static void pkt_rbtree_erase(struct pktcdvd_device *pd , struct pkt_rb_node *node )
8677{ long tmp ;
8678 struct rb_node *__cil_tmp4 ;
8679 struct rb_root *__cil_tmp5 ;
8680 void *__cil_tmp6 ;
8681 mempool_t *__cil_tmp7 ;
8682 int __cil_tmp8 ;
8683 int __cil_tmp9 ;
8684 int __cil_tmp10 ;
8685 long __cil_tmp11 ;
8686
8687 {
8688 {
8689#line 678
8690 __cil_tmp4 = & node->rb_node;
8691#line 678
8692 __cil_tmp5 = & pd->bio_queue;
8693#line 678
8694 rb_erase(__cil_tmp4, __cil_tmp5);
8695#line 679
8696 __cil_tmp6 = (void *)node;
8697#line 679
8698 __cil_tmp7 = pd->rb_pool;
8699#line 679
8700 mempool_free(__cil_tmp6, __cil_tmp7);
8701#line 680
8702 __cil_tmp8 = pd->bio_queue_size;
8703#line 680
8704 pd->bio_queue_size = __cil_tmp8 - 1;
8705#line 681
8706 __cil_tmp9 = pd->bio_queue_size;
8707#line 681
8708 __cil_tmp10 = __cil_tmp9 < 0;
8709#line 681
8710 __cil_tmp11 = (long )__cil_tmp10;
8711#line 681
8712 tmp = __builtin_expect(__cil_tmp11, 0L);
8713 }
8714#line 681
8715 if (tmp != 0L) {
8716#line 681
8717 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
8718 "i" (681), "i" (12UL));
8719 ldv_30734: ;
8720#line 681
8721 goto ldv_30734;
8722 } else {
8723
8724 }
8725#line 683
8726 return;
8727}
8728}
8729#line 687 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8730static struct pkt_rb_node *pkt_rbtree_find(struct pktcdvd_device *pd , sector_t s )
8731{ struct rb_node *n ;
8732 struct rb_node *next ;
8733 struct pkt_rb_node *tmp ;
8734 long tmp___0 ;
8735 struct rb_node const *__mptr ;
8736 long tmp___1 ;
8737 struct rb_node *__cil_tmp9 ;
8738 unsigned long __cil_tmp10 ;
8739 unsigned long __cil_tmp11 ;
8740 int __cil_tmp12 ;
8741 int __cil_tmp13 ;
8742 long __cil_tmp14 ;
8743 struct bio *__cil_tmp15 ;
8744 sector_t __cil_tmp16 ;
8745 struct rb_node *__cil_tmp17 ;
8746 unsigned long __cil_tmp18 ;
8747 unsigned long __cil_tmp19 ;
8748 struct bio *__cil_tmp20 ;
8749 sector_t __cil_tmp21 ;
8750 struct pkt_rb_node *__cil_tmp22 ;
8751 unsigned long __cil_tmp23 ;
8752 unsigned long __cil_tmp24 ;
8753 struct bio *__cil_tmp25 ;
8754 sector_t __cil_tmp26 ;
8755 int __cil_tmp27 ;
8756 long __cil_tmp28 ;
8757
8758 {
8759#line 689
8760 n = pd->bio_queue.rb_node;
8761 {
8762#line 693
8763 __cil_tmp9 = (struct rb_node *)0;
8764#line 693
8765 __cil_tmp10 = (unsigned long )__cil_tmp9;
8766#line 693
8767 __cil_tmp11 = (unsigned long )n;
8768#line 693
8769 if (__cil_tmp11 == __cil_tmp10) {
8770 {
8771#line 694
8772 __cil_tmp12 = pd->bio_queue_size;
8773#line 694
8774 __cil_tmp13 = __cil_tmp12 > 0;
8775#line 694
8776 __cil_tmp14 = (long )__cil_tmp13;
8777#line 694
8778 tmp___0 = __builtin_expect(__cil_tmp14, 0L);
8779 }
8780#line 694
8781 if (tmp___0 != 0L) {
8782#line 694
8783 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
8784 "i" (694), "i" (12UL));
8785 ldv_30742: ;
8786#line 694
8787 goto ldv_30742;
8788 } else {
8789
8790 }
8791#line 695
8792 return ((struct pkt_rb_node *)0);
8793 } else {
8794
8795 }
8796 }
8797 ldv_30746:
8798#line 699
8799 __mptr = (struct rb_node const *)n;
8800#line 699
8801 tmp = (struct pkt_rb_node *)__mptr;
8802 {
8803#line 700
8804 __cil_tmp15 = tmp->bio;
8805#line 700
8806 __cil_tmp16 = __cil_tmp15->bi_sector;
8807#line 700
8808 if (__cil_tmp16 >= s) {
8809#line 701
8810 next = n->rb_left;
8811 } else {
8812#line 703
8813 next = n->rb_right;
8814 }
8815 }
8816 {
8817#line 704
8818 __cil_tmp17 = (struct rb_node *)0;
8819#line 704
8820 __cil_tmp18 = (unsigned long )__cil_tmp17;
8821#line 704
8822 __cil_tmp19 = (unsigned long )next;
8823#line 704
8824 if (__cil_tmp19 == __cil_tmp18) {
8825#line 705
8826 goto ldv_30745;
8827 } else {
8828
8829 }
8830 }
8831#line 706
8832 n = next;
8833#line 707
8834 goto ldv_30746;
8835 ldv_30745: ;
8836 {
8837#line 709
8838 __cil_tmp20 = tmp->bio;
8839#line 709
8840 __cil_tmp21 = __cil_tmp20->bi_sector;
8841#line 709
8842 if (__cil_tmp21 < s) {
8843 {
8844#line 710
8845 tmp = pkt_rbtree_next(tmp);
8846 }
8847 {
8848#line 711
8849 __cil_tmp22 = (struct pkt_rb_node *)0;
8850#line 711
8851 __cil_tmp23 = (unsigned long )__cil_tmp22;
8852#line 711
8853 __cil_tmp24 = (unsigned long )tmp;
8854#line 711
8855 if (__cil_tmp24 == __cil_tmp23) {
8856#line 712
8857 return ((struct pkt_rb_node *)0);
8858 } else {
8859
8860 }
8861 }
8862 } else {
8863
8864 }
8865 }
8866 {
8867#line 714
8868 __cil_tmp25 = tmp->bio;
8869#line 714
8870 __cil_tmp26 = __cil_tmp25->bi_sector;
8871#line 714
8872 __cil_tmp27 = __cil_tmp26 < s;
8873#line 714
8874 __cil_tmp28 = (long )__cil_tmp27;
8875#line 714
8876 tmp___1 = __builtin_expect(__cil_tmp28, 0L);
8877 }
8878#line 714
8879 if (tmp___1 != 0L) {
8880#line 714
8881 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
8882 "i" (714), "i" (12UL));
8883 ldv_30747: ;
8884#line 714
8885 goto ldv_30747;
8886 } else {
8887
8888 }
8889#line 715
8890 return (tmp);
8891}
8892}
8893#line 721 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8894static void pkt_rbtree_insert(struct pktcdvd_device *pd , struct pkt_rb_node *node )
8895{ struct rb_node **p ;
8896 struct rb_node *parent ;
8897 sector_t s ;
8898 struct pkt_rb_node *tmp ;
8899 struct rb_node const *__mptr ;
8900 struct bio *__cil_tmp8 ;
8901 struct bio *__cil_tmp9 ;
8902 sector_t __cil_tmp10 ;
8903 struct rb_node *__cil_tmp11 ;
8904 struct rb_node *__cil_tmp12 ;
8905 struct rb_node *__cil_tmp13 ;
8906 unsigned long __cil_tmp14 ;
8907 struct rb_node *__cil_tmp15 ;
8908 unsigned long __cil_tmp16 ;
8909 struct rb_node *__cil_tmp17 ;
8910 struct rb_node *__cil_tmp18 ;
8911 struct rb_root *__cil_tmp19 ;
8912 int __cil_tmp20 ;
8913
8914 {
8915#line 723
8916 p = & pd->bio_queue.rb_node;
8917#line 724
8918 parent = (struct rb_node *)0;
8919#line 725
8920 __cil_tmp8 = node->bio;
8921#line 725
8922 s = __cil_tmp8->bi_sector;
8923#line 728
8924 goto ldv_30759;
8925 ldv_30758:
8926#line 729
8927 parent = *p;
8928#line 730
8929 __mptr = (struct rb_node const *)parent;
8930#line 730
8931 tmp = (struct pkt_rb_node *)__mptr;
8932 {
8933#line 731
8934 __cil_tmp9 = tmp->bio;
8935#line 731
8936 __cil_tmp10 = __cil_tmp9->bi_sector;
8937#line 731
8938 if (__cil_tmp10 > s) {
8939#line 732
8940 __cil_tmp11 = *p;
8941#line 732
8942 p = & __cil_tmp11->rb_left;
8943 } else {
8944#line 734
8945 __cil_tmp12 = *p;
8946#line 734
8947 p = & __cil_tmp12->rb_right;
8948 }
8949 }
8950 ldv_30759: ;
8951 {
8952#line 728
8953 __cil_tmp13 = (struct rb_node *)0;
8954#line 728
8955 __cil_tmp14 = (unsigned long )__cil_tmp13;
8956#line 728
8957 __cil_tmp15 = *p;
8958#line 728
8959 __cil_tmp16 = (unsigned long )__cil_tmp15;
8960#line 728
8961 if (__cil_tmp16 != __cil_tmp14) {
8962#line 729
8963 goto ldv_30758;
8964 } else {
8965#line 731
8966 goto ldv_30760;
8967 }
8968 }
8969 ldv_30760:
8970 {
8971#line 736
8972 __cil_tmp17 = & node->rb_node;
8973#line 736
8974 rb_link_node(__cil_tmp17, parent, p);
8975#line 737
8976 __cil_tmp18 = & node->rb_node;
8977#line 737
8978 __cil_tmp19 = & pd->bio_queue;
8979#line 737
8980 rb_insert_color(__cil_tmp18, __cil_tmp19);
8981#line 738
8982 __cil_tmp20 = pd->bio_queue_size;
8983#line 738
8984 pd->bio_queue_size = __cil_tmp20 + 1;
8985 }
8986#line 739
8987 return;
8988}
8989}
8990#line 745 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
8991static int pkt_generic_packet(struct pktcdvd_device *pd , struct packet_command *cgc )
8992{ struct request_queue *q ;
8993 struct request_queue *tmp ;
8994 struct request *rq ;
8995 int ret ;
8996 int tmp___0 ;
8997 size_t __len ;
8998 void *__ret ;
8999 struct block_device *__cil_tmp10 ;
9000 unsigned char __cil_tmp11 ;
9001 unsigned int __cil_tmp12 ;
9002 int __cil_tmp13 ;
9003 unsigned int __cil_tmp14 ;
9004 unsigned char *__cil_tmp15 ;
9005 void *__cil_tmp16 ;
9006 unsigned int __cil_tmp17 ;
9007 unsigned char *__cil_tmp18 ;
9008 void *__cil_tmp19 ;
9009 unsigned char (*__cil_tmp20)[12U] ;
9010 void const *__cil_tmp21 ;
9011 unsigned char *__cil_tmp22 ;
9012 void *__cil_tmp23 ;
9013 unsigned char (*__cil_tmp24)[12U] ;
9014 void const *__cil_tmp25 ;
9015 int __cil_tmp26 ;
9016 unsigned int __cil_tmp27 ;
9017 struct request_queue *__cil_tmp28 ;
9018 struct block_device *__cil_tmp29 ;
9019 struct gendisk *__cil_tmp30 ;
9020 int __cil_tmp31 ;
9021
9022 {
9023 {
9024#line 747
9025 __cil_tmp10 = pd->bdev;
9026#line 747
9027 tmp = bdev_get_queue(__cil_tmp10);
9028#line 747
9029 q = tmp;
9030#line 749
9031 ret = 0;
9032#line 751
9033 __cil_tmp11 = cgc->data_direction;
9034#line 751
9035 __cil_tmp12 = (unsigned int )__cil_tmp11;
9036#line 751
9037 __cil_tmp13 = __cil_tmp12 == 1U;
9038#line 751
9039 rq = blk_get_request(q, __cil_tmp13, 16U);
9040 }
9041 {
9042#line 754
9043 __cil_tmp14 = cgc->buflen;
9044#line 754
9045 if (__cil_tmp14 != 0U) {
9046 {
9047#line 755
9048 __cil_tmp15 = cgc->buffer;
9049#line 755
9050 __cil_tmp16 = (void *)__cil_tmp15;
9051#line 755
9052 __cil_tmp17 = cgc->buflen;
9053#line 755
9054 tmp___0 = blk_rq_map_kern(q, rq, __cil_tmp16, __cil_tmp17, 16U);
9055 }
9056#line 755
9057 if (tmp___0 != 0) {
9058#line 756
9059 goto out;
9060 } else {
9061
9062 }
9063 } else {
9064
9065 }
9066 }
9067#line 759
9068 rq->cmd_len = (unsigned short )scsi_command_size_tbl[((int )cgc->cmd[0] >> 5) & 7];
9069#line 760
9070 __len = 12UL;
9071#line 760
9072 if (__len > 63UL) {
9073 {
9074#line 760
9075 __cil_tmp18 = rq->cmd;
9076#line 760
9077 __cil_tmp19 = (void *)__cil_tmp18;
9078#line 760
9079 __cil_tmp20 = & cgc->cmd;
9080#line 760
9081 __cil_tmp21 = (void const *)__cil_tmp20;
9082#line 760
9083 __ret = __memcpy(__cil_tmp19, __cil_tmp21, __len);
9084 }
9085 } else {
9086 {
9087#line 760
9088 __cil_tmp22 = rq->cmd;
9089#line 760
9090 __cil_tmp23 = (void *)__cil_tmp22;
9091#line 760
9092 __cil_tmp24 = & cgc->cmd;
9093#line 760
9094 __cil_tmp25 = (void const *)__cil_tmp24;
9095#line 760
9096 __ret = __builtin_memcpy(__cil_tmp23, __cil_tmp25, __len);
9097 }
9098 }
9099#line 762
9100 rq->timeout = 15000U;
9101#line 763
9102 rq->cmd_type = (enum rq_cmd_type_bits )2;
9103 {
9104#line 764
9105 __cil_tmp26 = cgc->quiet;
9106#line 764
9107 if (__cil_tmp26 != 0) {
9108#line 765
9109 __cil_tmp27 = rq->cmd_flags;
9110#line 765
9111 rq->cmd_flags = __cil_tmp27 | 524288U;
9112 } else {
9113
9114 }
9115 }
9116 {
9117#line 767
9118 __cil_tmp28 = rq->q;
9119#line 767
9120 __cil_tmp29 = pd->bdev;
9121#line 767
9122 __cil_tmp30 = __cil_tmp29->bd_disk;
9123#line 767
9124 blk_execute_rq(__cil_tmp28, __cil_tmp30, rq, 0);
9125 }
9126 {
9127#line 768
9128 __cil_tmp31 = rq->errors;
9129#line 768
9130 if (__cil_tmp31 != 0) {
9131#line 769
9132 ret = -5;
9133 } else {
9134
9135 }
9136 }
9137 out:
9138 {
9139#line 771
9140 blk_put_request(rq);
9141 }
9142#line 772
9143 return (ret);
9144}
9145}
9146#line 779 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
9147static void pkt_dump_sense(struct packet_command *cgc )
9148{ char *info[9U] ;
9149 int i ;
9150 struct request_sense *sense ;
9151 unsigned char __cil_tmp5 ;
9152 int __cil_tmp6 ;
9153 struct request_sense *__cil_tmp7 ;
9154 unsigned long __cil_tmp8 ;
9155 unsigned long __cil_tmp9 ;
9156 unsigned char __cil_tmp10 ;
9157 int __cil_tmp11 ;
9158 __u8 __cil_tmp12 ;
9159 int __cil_tmp13 ;
9160 __u8 __cil_tmp14 ;
9161 int __cil_tmp15 ;
9162 unsigned char __cil_tmp16 ;
9163 int __cil_tmp17 ;
9164
9165 {
9166 {
9167#line 781
9168 info[0] = (char *)"No sense";
9169#line 781
9170 info[1] = (char *)"Recovered error";
9171#line 781
9172 info[2] = (char *)"Not ready";
9173#line 781
9174 info[3] = (char *)"Medium error";
9175#line 781
9176 info[4] = (char *)"Hardware error";
9177#line 781
9178 info[5] = (char *)"Illegal request";
9179#line 781
9180 info[6] = (char *)"Unit attention";
9181#line 781
9182 info[7] = (char *)"Data protect";
9183#line 781
9184 info[8] = (char *)"Blank check";
9185#line 785
9186 sense = cgc->sense;
9187#line 787
9188 printk("pktcdvd:");
9189#line 788
9190 i = 0;
9191 }
9192#line 788
9193 goto ldv_30779;
9194 ldv_30778:
9195 {
9196#line 789
9197 __cil_tmp5 = cgc->cmd[i];
9198#line 789
9199 __cil_tmp6 = (int )__cil_tmp5;
9200#line 789
9201 printk(" %02x", __cil_tmp6);
9202#line 788
9203 i = i + 1;
9204 }
9205 ldv_30779: ;
9206#line 788
9207 if (i <= 11) {
9208#line 789
9209 goto ldv_30778;
9210 } else {
9211#line 791
9212 goto ldv_30780;
9213 }
9214 ldv_30780:
9215 {
9216#line 790
9217 printk(" - ");
9218 }
9219 {
9220#line 792
9221 __cil_tmp7 = (struct request_sense *)0;
9222#line 792
9223 __cil_tmp8 = (unsigned long )__cil_tmp7;
9224#line 792
9225 __cil_tmp9 = (unsigned long )sense;
9226#line 792
9227 if (__cil_tmp9 == __cil_tmp8) {
9228 {
9229#line 793
9230 printk("no sense\n");
9231 }
9232#line 794
9233 return;
9234 } else {
9235
9236 }
9237 }
9238 {
9239#line 797
9240 __cil_tmp10 = sense->sense_key;
9241#line 797
9242 __cil_tmp11 = (int )__cil_tmp10;
9243#line 797
9244 __cil_tmp12 = sense->asc;
9245#line 797
9246 __cil_tmp13 = (int )__cil_tmp12;
9247#line 797
9248 __cil_tmp14 = sense->ascq;
9249#line 797
9250 __cil_tmp15 = (int )__cil_tmp14;
9251#line 797
9252 printk("sense %02x.%02x.%02x", __cil_tmp11, __cil_tmp13, __cil_tmp15);
9253 }
9254 {
9255#line 799
9256 __cil_tmp16 = sense->sense_key;
9257#line 799
9258 __cil_tmp17 = (int )__cil_tmp16;
9259#line 799
9260 if (__cil_tmp17 > 8) {
9261 {
9262#line 800
9263 printk(" (INVALID)\n");
9264 }
9265#line 801
9266 return;
9267 } else {
9268
9269 }
9270 }
9271 {
9272#line 804
9273 printk(" (%s)\n", info[(int )sense->sense_key]);
9274 }
9275#line 805
9276 return;
9277}
9278}
9279#line 810 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
9280static int pkt_flush_cache(struct pktcdvd_device *pd )
9281{ struct packet_command cgc ;
9282 int tmp ;
9283 void *__cil_tmp4 ;
9284
9285 {
9286 {
9287#line 814
9288 __cil_tmp4 = (void *)0;
9289#line 814
9290 init_cdrom_command(& cgc, __cil_tmp4, 0, 3);
9291#line 815
9292 cgc.cmd[0] = (unsigned char)53;
9293#line 816
9294 cgc.quiet = 1;
9295#line 825
9296 tmp = pkt_generic_packet(pd, & cgc);
9297 }
9298#line 825
9299 return (tmp);
9300}
9301}
9302#line 831 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
9303static int pkt_set_speed(struct pktcdvd_device *pd , unsigned int write_speed , unsigned int read_speed )
9304{ struct packet_command cgc ;
9305 struct request_sense sense ;
9306 int ret ;
9307 void *__cil_tmp7 ;
9308 unsigned int __cil_tmp8 ;
9309 unsigned int __cil_tmp9 ;
9310
9311 {
9312 {
9313#line 838
9314 __cil_tmp7 = (void *)0;
9315#line 838
9316 init_cdrom_command(& cgc, __cil_tmp7, 0, 3);
9317#line 839
9318 cgc.sense = & sense;
9319#line 840
9320 cgc.cmd[0] = (unsigned char)187;
9321#line 841
9322 __cil_tmp8 = read_speed >> 8;
9323#line 841
9324 cgc.cmd[2] = (unsigned char )__cil_tmp8;
9325#line 842
9326 cgc.cmd[3] = (unsigned char )read_speed;
9327#line 843
9328 __cil_tmp9 = write_speed >> 8;
9329#line 843
9330 cgc.cmd[4] = (unsigned char )__cil_tmp9;
9331#line 844
9332 cgc.cmd[5] = (unsigned char )write_speed;
9333#line 846
9334 ret = pkt_generic_packet(pd, & cgc);
9335 }
9336#line 846
9337 if (ret != 0) {
9338 {
9339#line 847
9340 pkt_dump_sense(& cgc);
9341 }
9342 } else {
9343
9344 }
9345#line 849
9346 return (ret);
9347}
9348}
9349#line 856 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
9350static void pkt_queue_bio(struct pktcdvd_device *pd , struct bio *bio )
9351{ spinlock_t *__cil_tmp3 ;
9352 unsigned long __cil_tmp4 ;
9353 unsigned long __cil_tmp5 ;
9354 struct bio_list *__cil_tmp6 ;
9355 struct bio_list *__cil_tmp7 ;
9356 spinlock_t *__cil_tmp8 ;
9357 atomic_t *__cil_tmp9 ;
9358 wait_queue_head_t *__cil_tmp10 ;
9359 void *__cil_tmp11 ;
9360
9361 {
9362 {
9363#line 858
9364 __cil_tmp3 = & pd->iosched.lock;
9365#line 858
9366 spin_lock(__cil_tmp3);
9367 }
9368 {
9369#line 859
9370 __cil_tmp4 = bio->bi_rw;
9371#line 859
9372 __cil_tmp5 = __cil_tmp4 & 1UL;
9373#line 859
9374 if (__cil_tmp5 == 0UL) {
9375 {
9376#line 860
9377 __cil_tmp6 = & pd->iosched.read_queue;
9378#line 860
9379 bio_list_add(__cil_tmp6, bio);
9380 }
9381 } else {
9382 {
9383#line 862
9384 __cil_tmp7 = & pd->iosched.write_queue;
9385#line 862
9386 bio_list_add(__cil_tmp7, bio);
9387 }
9388 }
9389 }
9390 {
9391#line 863
9392 __cil_tmp8 = & pd->iosched.lock;
9393#line 863
9394 spin_unlock(__cil_tmp8);
9395#line 865
9396 __cil_tmp9 = & pd->iosched.attention;
9397#line 865
9398 atomic_set(__cil_tmp9, 1);
9399#line 866
9400 __cil_tmp10 = & pd->wqueue;
9401#line 866
9402 __cil_tmp11 = (void *)0;
9403#line 866
9404 __wake_up(__cil_tmp10, 3U, 1, __cil_tmp11);
9405 }
9406#line 867
9407 return;
9408}
9409}
9410#line 885 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
9411static void pkt_iosched_process_queue(struct pktcdvd_device *pd )
9412{ int tmp ;
9413 struct bio *bio ;
9414 int reads_queued ;
9415 int writes_queued ;
9416 int tmp___0 ;
9417 int tmp___1 ;
9418 int need_write_seek ;
9419 int tmp___2 ;
9420 int tmp___3 ;
9421 atomic_t *__cil_tmp11 ;
9422 atomic_t const *__cil_tmp12 ;
9423 atomic_t *__cil_tmp13 ;
9424 spinlock_t *__cil_tmp14 ;
9425 struct bio_list *__cil_tmp15 ;
9426 struct bio_list const *__cil_tmp16 ;
9427 struct bio_list *__cil_tmp17 ;
9428 struct bio_list const *__cil_tmp18 ;
9429 spinlock_t *__cil_tmp19 ;
9430 int __cil_tmp20 ;
9431 spinlock_t *__cil_tmp21 ;
9432 struct bio_list *__cil_tmp22 ;
9433 spinlock_t *__cil_tmp23 ;
9434 struct bio *__cil_tmp24 ;
9435 unsigned long __cil_tmp25 ;
9436 unsigned long __cil_tmp26 ;
9437 sector_t __cil_tmp27 ;
9438 sector_t __cil_tmp28 ;
9439 atomic_t *__cil_tmp29 ;
9440 atomic_t const *__cil_tmp30 ;
9441 atomic_t *__cil_tmp31 ;
9442 atomic_t const *__cil_tmp32 ;
9443 spinlock_t *__cil_tmp33 ;
9444 int __cil_tmp34 ;
9445 struct bio_list *__cil_tmp35 ;
9446 struct bio_list *__cil_tmp36 ;
9447 spinlock_t *__cil_tmp37 ;
9448 struct bio *__cil_tmp38 ;
9449 unsigned long __cil_tmp39 ;
9450 unsigned long __cil_tmp40 ;
9451 unsigned long __cil_tmp41 ;
9452 unsigned long __cil_tmp42 ;
9453 unsigned int __cil_tmp43 ;
9454 unsigned int __cil_tmp44 ;
9455 int __cil_tmp45 ;
9456 unsigned int __cil_tmp46 ;
9457 unsigned int __cil_tmp47 ;
9458 unsigned int __cil_tmp48 ;
9459 unsigned int __cil_tmp49 ;
9460 sector_t __cil_tmp50 ;
9461 sector_t __cil_tmp51 ;
9462 int __cil_tmp52 ;
9463 int __cil_tmp53 ;
9464 int __cil_tmp54 ;
9465 int __cil_tmp55 ;
9466 unsigned int __cil_tmp56 ;
9467 int __cil_tmp57 ;
9468 unsigned int __cil_tmp58 ;
9469 int __cil_tmp59 ;
9470 int __cil_tmp60 ;
9471 int __cil_tmp61 ;
9472 unsigned int __cil_tmp62 ;
9473 int __cil_tmp63 ;
9474 unsigned int __cil_tmp64 ;
9475 atomic_t *__cil_tmp65 ;
9476
9477 {
9478 {
9479#line 888
9480 __cil_tmp11 = & pd->iosched.attention;
9481#line 888
9482 __cil_tmp12 = (atomic_t const *)__cil_tmp11;
9483#line 888
9484 tmp = atomic_read(__cil_tmp12);
9485 }
9486#line 888
9487 if (tmp == 0) {
9488#line 889
9489 return;
9490 } else {
9491
9492 }
9493 {
9494#line 890
9495 __cil_tmp13 = & pd->iosched.attention;
9496#line 890
9497 atomic_set(__cil_tmp13, 0);
9498 }
9499 ldv_30806:
9500 {
9501#line 896
9502 __cil_tmp14 = & pd->iosched.lock;
9503#line 896
9504 spin_lock(__cil_tmp14);
9505#line 897
9506 __cil_tmp15 = & pd->iosched.read_queue;
9507#line 897
9508 __cil_tmp16 = (struct bio_list const *)__cil_tmp15;
9509#line 897
9510 tmp___0 = bio_list_empty(__cil_tmp16);
9511#line 897
9512 reads_queued = tmp___0 == 0;
9513#line 898
9514 __cil_tmp17 = & pd->iosched.write_queue;
9515#line 898
9516 __cil_tmp18 = (struct bio_list const *)__cil_tmp17;
9517#line 898
9518 tmp___1 = bio_list_empty(__cil_tmp18);
9519#line 898
9520 writes_queued = tmp___1 == 0;
9521#line 899
9522 __cil_tmp19 = & pd->iosched.lock;
9523#line 899
9524 spin_unlock(__cil_tmp19);
9525 }
9526#line 901
9527 if (reads_queued == 0) {
9528#line 901
9529 if (writes_queued == 0) {
9530#line 902
9531 goto ldv_30803;
9532 } else {
9533
9534 }
9535 } else {
9536
9537 }
9538 {
9539#line 904
9540 __cil_tmp20 = pd->iosched.writing;
9541#line 904
9542 if (__cil_tmp20 != 0) {
9543 {
9544#line 905
9545 need_write_seek = 1;
9546#line 906
9547 __cil_tmp21 = & pd->iosched.lock;
9548#line 906
9549 spin_lock(__cil_tmp21);
9550#line 907
9551 __cil_tmp22 = & pd->iosched.write_queue;
9552#line 907
9553 bio = bio_list_peek(__cil_tmp22);
9554#line 908
9555 __cil_tmp23 = & pd->iosched.lock;
9556#line 908
9557 spin_unlock(__cil_tmp23);
9558 }
9559 {
9560#line 909
9561 __cil_tmp24 = (struct bio *)0;
9562#line 909
9563 __cil_tmp25 = (unsigned long )__cil_tmp24;
9564#line 909
9565 __cil_tmp26 = (unsigned long )bio;
9566#line 909
9567 if (__cil_tmp26 != __cil_tmp25) {
9568 {
9569#line 909
9570 __cil_tmp27 = pd->iosched.last_write;
9571#line 909
9572 __cil_tmp28 = bio->bi_sector;
9573#line 909
9574 if (__cil_tmp28 == __cil_tmp27) {
9575#line 910
9576 need_write_seek = 0;
9577 } else {
9578
9579 }
9580 }
9581 } else {
9582
9583 }
9584 }
9585#line 911
9586 if (need_write_seek != 0) {
9587#line 911
9588 if (reads_queued != 0) {
9589 {
9590#line 912
9591 __cil_tmp29 = & pd->cdrw.pending_bios;
9592#line 912
9593 __cil_tmp30 = (atomic_t const *)__cil_tmp29;
9594#line 912
9595 tmp___2 = atomic_read(__cil_tmp30);
9596 }
9597#line 912
9598 if (tmp___2 > 0) {
9599#line 914
9600 goto ldv_30803;
9601 } else {
9602
9603 }
9604 {
9605#line 916
9606 pkt_flush_cache(pd);
9607#line 917
9608 pd->iosched.writing = 0;
9609 }
9610 } else {
9611
9612 }
9613 } else {
9614
9615 }
9616 } else
9617#line 920
9618 if (reads_queued == 0) {
9619#line 920
9620 if (writes_queued != 0) {
9621 {
9622#line 921
9623 __cil_tmp31 = & pd->cdrw.pending_bios;
9624#line 921
9625 __cil_tmp32 = (atomic_t const *)__cil_tmp31;
9626#line 921
9627 tmp___3 = atomic_read(__cil_tmp32);
9628 }
9629#line 921
9630 if (tmp___3 > 0) {
9631#line 923
9632 goto ldv_30803;
9633 } else {
9634
9635 }
9636#line 925
9637 pd->iosched.writing = 1;
9638 } else {
9639
9640 }
9641 } else {
9642
9643 }
9644 }
9645 {
9646#line 929
9647 __cil_tmp33 = & pd->iosched.lock;
9648#line 929
9649 spin_lock(__cil_tmp33);
9650 }
9651 {
9652#line 930
9653 __cil_tmp34 = pd->iosched.writing;
9654#line 930
9655 if (__cil_tmp34 != 0) {
9656 {
9657#line 931
9658 __cil_tmp35 = & pd->iosched.write_queue;
9659#line 931
9660 bio = bio_list_pop(__cil_tmp35);
9661 }
9662 } else {
9663 {
9664#line 933
9665 __cil_tmp36 = & pd->iosched.read_queue;
9666#line 933
9667 bio = bio_list_pop(__cil_tmp36);
9668 }
9669 }
9670 }
9671 {
9672#line 934
9673 __cil_tmp37 = & pd->iosched.lock;
9674#line 934
9675 spin_unlock(__cil_tmp37);
9676 }
9677 {
9678#line 936
9679 __cil_tmp38 = (struct bio *)0;
9680#line 936
9681 __cil_tmp39 = (unsigned long )__cil_tmp38;
9682#line 936
9683 __cil_tmp40 = (unsigned long )bio;
9684#line 936
9685 if (__cil_tmp40 == __cil_tmp39) {
9686#line 937
9687 goto ldv_30805;
9688 } else {
9689
9690 }
9691 }
9692 {
9693#line 939
9694 __cil_tmp41 = bio->bi_rw;
9695#line 939
9696 __cil_tmp42 = __cil_tmp41 & 1UL;
9697#line 939
9698 if (__cil_tmp42 == 0UL) {
9699#line 940
9700 __cil_tmp43 = bio->bi_size;
9701#line 940
9702 __cil_tmp44 = __cil_tmp43 >> 10;
9703#line 940
9704 __cil_tmp45 = pd->iosched.successive_reads;
9705#line 940
9706 __cil_tmp46 = (unsigned int )__cil_tmp45;
9707#line 940
9708 __cil_tmp47 = __cil_tmp46 + __cil_tmp44;
9709#line 940
9710 pd->iosched.successive_reads = (int )__cil_tmp47;
9711 } else {
9712#line 942
9713 pd->iosched.successive_reads = 0;
9714#line 943
9715 __cil_tmp48 = bio->bi_size;
9716#line 943
9717 __cil_tmp49 = __cil_tmp48 >> 9;
9718#line 943
9719 __cil_tmp50 = (sector_t )__cil_tmp49;
9720#line 943
9721 __cil_tmp51 = bio->bi_sector;
9722#line 943
9723 pd->iosched.last_write = __cil_tmp51 + __cil_tmp50;
9724 }
9725 }
9726 {
9727#line 945
9728 __cil_tmp52 = pd->iosched.successive_reads;
9729#line 945
9730 if (__cil_tmp52 > 511) {
9731 {
9732#line 946
9733 __cil_tmp53 = pd->write_speed;
9734#line 946
9735 __cil_tmp54 = pd->read_speed;
9736#line 946
9737 if (__cil_tmp54 == __cil_tmp53) {
9738 {
9739#line 947
9740 pd->read_speed = 65535;
9741#line 948
9742 __cil_tmp55 = pd->write_speed;
9743#line 948
9744 __cil_tmp56 = (unsigned int )__cil_tmp55;
9745#line 948
9746 __cil_tmp57 = pd->read_speed;
9747#line 948
9748 __cil_tmp58 = (unsigned int )__cil_tmp57;
9749#line 948
9750 pkt_set_speed(pd, __cil_tmp56, __cil_tmp58);
9751 }
9752 } else {
9753 {
9754#line 951
9755 __cil_tmp59 = pd->write_speed;
9756#line 951
9757 __cil_tmp60 = pd->read_speed;
9758#line 951
9759 if (__cil_tmp60 != __cil_tmp59) {
9760 {
9761#line 952
9762 pd->read_speed = pd->write_speed;
9763#line 953
9764 __cil_tmp61 = pd->write_speed;
9765#line 953
9766 __cil_tmp62 = (unsigned int )__cil_tmp61;
9767#line 953
9768 __cil_tmp63 = pd->read_speed;
9769#line 953
9770 __cil_tmp64 = (unsigned int )__cil_tmp63;
9771#line 953
9772 pkt_set_speed(pd, __cil_tmp62, __cil_tmp64);
9773 }
9774 } else {
9775
9776 }
9777 }
9778 }
9779 }
9780 } else {
9781
9782 }
9783 }
9784 {
9785#line 957
9786 __cil_tmp65 = & pd->cdrw.pending_bios;
9787#line 957
9788 atomic_inc(__cil_tmp65);
9789#line 958
9790 generic_make_request(bio);
9791 }
9792 ldv_30805: ;
9793#line 959
9794 goto ldv_30806;
9795 ldv_30803: ;
9796#line 961
9797 return;
9798}
9799}
9800#line 966 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
9801static int pkt_set_segment_merging(struct pktcdvd_device *pd , struct request_queue *q )
9802{ unsigned short tmp ;
9803 unsigned short tmp___0 ;
9804 __u32 __cil_tmp5 ;
9805 __u32 __cil_tmp6 ;
9806 __u32 __cil_tmp7 ;
9807 __u32 __cil_tmp8 ;
9808 unsigned long *__cil_tmp9 ;
9809 unsigned long volatile *__cil_tmp10 ;
9810 unsigned int __cil_tmp11 ;
9811 __u32 __cil_tmp12 ;
9812 __u32 __cil_tmp13 ;
9813 __u32 __cil_tmp14 ;
9814 unsigned long *__cil_tmp15 ;
9815 unsigned long volatile *__cil_tmp16 ;
9816
9817 {
9818 {
9819#line 968
9820 tmp___0 = queue_max_segments(q);
9821 }
9822 {
9823#line 968
9824 __cil_tmp5 = (__u32 )tmp___0;
9825#line 968
9826 __cil_tmp6 = pd->settings.size;
9827#line 968
9828 __cil_tmp7 = __cil_tmp6 << 9;
9829#line 968
9830 __cil_tmp8 = __cil_tmp7 / 2048U;
9831#line 968
9832 if (__cil_tmp8 <= __cil_tmp5) {
9833 {
9834#line 973
9835 __cil_tmp9 = & pd->flags;
9836#line 973
9837 __cil_tmp10 = (unsigned long volatile *)__cil_tmp9;
9838#line 973
9839 clear_bit(4, __cil_tmp10);
9840 }
9841#line 974
9842 return (0);
9843 } else {
9844 {
9845#line 975
9846 tmp = queue_max_segments(q);
9847 }
9848 {
9849#line 975
9850 __cil_tmp11 = (unsigned int )tmp;
9851#line 975
9852 __cil_tmp12 = pd->settings.size;
9853#line 975
9854 __cil_tmp13 = __cil_tmp12 << 9;
9855#line 975
9856 __cil_tmp14 = __cil_tmp13 / 4096U;
9857#line 975
9858 if (__cil_tmp14 <= __cil_tmp11) {
9859 {
9860#line 981
9861 __cil_tmp15 = & pd->flags;
9862#line 981
9863 __cil_tmp16 = (unsigned long volatile *)__cil_tmp15;
9864#line 981
9865 set_bit(4U, __cil_tmp16);
9866 }
9867#line 982
9868 return (0);
9869 } else {
9870 {
9871#line 984
9872 printk("pktcdvd: cdrom max_phys_segments too small\n");
9873 }
9874#line 985
9875 return (-5);
9876 }
9877 }
9878 }
9879 }
9880}
9881}
9882#line 992 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
9883static void pkt_copy_bio_data(struct bio *src_bio , int seg , int offs , struct page *dst_page ,
9884 int dst_offs )
9885{ unsigned int copy_size ;
9886 struct bio_vec *src_bvl ;
9887 void *vfrom ;
9888 void *tmp ;
9889 void *vto ;
9890 void *tmp___0 ;
9891 int len ;
9892 int __min1 ;
9893 int __min2 ;
9894 int tmp___1 ;
9895 long tmp___2 ;
9896 size_t __len ;
9897 void *__ret ;
9898 unsigned long __cil_tmp19 ;
9899 struct bio_vec *__cil_tmp20 ;
9900 struct page *__cil_tmp21 ;
9901 unsigned long __cil_tmp22 ;
9902 unsigned int __cil_tmp23 ;
9903 unsigned long __cil_tmp24 ;
9904 unsigned long __cil_tmp25 ;
9905 unsigned long __cil_tmp26 ;
9906 unsigned int __cil_tmp27 ;
9907 unsigned int __cil_tmp28 ;
9908 unsigned int __cil_tmp29 ;
9909 int __cil_tmp30 ;
9910 long __cil_tmp31 ;
9911 void const *__cil_tmp32 ;
9912 unsigned int __cil_tmp33 ;
9913
9914 {
9915#line 994
9916 copy_size = 2048U;
9917#line 996
9918 goto ldv_30831;
9919 ldv_30830:
9920 {
9921#line 997
9922 __cil_tmp19 = (unsigned long )seg;
9923#line 997
9924 __cil_tmp20 = src_bio->bi_io_vec;
9925#line 997
9926 src_bvl = __cil_tmp20 + __cil_tmp19;
9927#line 998
9928 __cil_tmp21 = src_bvl->bv_page;
9929#line 998
9930 tmp = __kmap_atomic(__cil_tmp21);
9931#line 998
9932 __cil_tmp22 = (unsigned long )offs;
9933#line 998
9934 __cil_tmp23 = src_bvl->bv_offset;
9935#line 998
9936 __cil_tmp24 = (unsigned long )__cil_tmp23;
9937#line 998
9938 __cil_tmp25 = __cil_tmp24 + __cil_tmp22;
9939#line 998
9940 vfrom = tmp + __cil_tmp25;
9941#line 1000
9942 tmp___0 = lowmem_page_address(dst_page);
9943#line 1000
9944 __cil_tmp26 = (unsigned long )dst_offs;
9945#line 1000
9946 vto = tmp___0 + __cil_tmp26;
9947#line 1001
9948 __min1 = (int )copy_size;
9949#line 1001
9950 __cil_tmp27 = (unsigned int )offs;
9951#line 1001
9952 __cil_tmp28 = src_bvl->bv_len;
9953#line 1001
9954 __cil_tmp29 = __cil_tmp28 - __cil_tmp27;
9955#line 1001
9956 __min2 = (int )__cil_tmp29;
9957 }
9958#line 1001
9959 if (__min1 < __min2) {
9960#line 1001
9961 tmp___1 = __min1;
9962 } else {
9963#line 1001
9964 tmp___1 = __min2;
9965 }
9966 {
9967#line 1001
9968 len = tmp___1;
9969#line 1003
9970 __cil_tmp30 = len < 0;
9971#line 1003
9972 __cil_tmp31 = (long )__cil_tmp30;
9973#line 1003
9974 tmp___2 = __builtin_expect(__cil_tmp31, 0L);
9975 }
9976#line 1003
9977 if (tmp___2 != 0L) {
9978#line 1003
9979 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
9980 "i" (1003), "i" (12UL));
9981 ldv_30826: ;
9982#line 1003
9983 goto ldv_30826;
9984 } else {
9985
9986 }
9987 {
9988#line 1004
9989 __len = (size_t )len;
9990#line 1004
9991 __cil_tmp32 = (void const *)vfrom;
9992#line 1004
9993 __ret = __builtin_memcpy(vto, __cil_tmp32, __len);
9994#line 1005
9995 __kunmap_atomic(vfrom);
9996#line 1007
9997 seg = seg + 1;
9998#line 1008
9999 offs = 0;
10000#line 1009
10001 dst_offs = dst_offs + len;
10002#line 1010
10003 __cil_tmp33 = (unsigned int )len;
10004#line 1010
10005 copy_size = copy_size - __cil_tmp33;
10006 }
10007 ldv_30831: ;
10008#line 996
10009 if (copy_size != 0U) {
10010#line 997
10011 goto ldv_30830;
10012 } else {
10013#line 999
10014 goto ldv_30832;
10015 }
10016 ldv_30832: ;
10017#line 1001
10018 return;
10019}
10020}
10021#line 1021 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10022static void pkt_make_local_copy(struct packet_data *pkt , struct bio_vec *bvec )
10023{ int f ;
10024 int p ;
10025 int offs ;
10026 void *vfrom ;
10027 void *tmp ;
10028 void *vto ;
10029 void *tmp___0 ;
10030 size_t __len ;
10031 void *__ret ;
10032 long tmp___1 ;
10033 struct page *__cil_tmp13 ;
10034 unsigned long __cil_tmp14 ;
10035 unsigned long __cil_tmp15 ;
10036 struct bio_vec *__cil_tmp16 ;
10037 struct page *__cil_tmp17 ;
10038 unsigned long __cil_tmp18 ;
10039 unsigned long __cil_tmp19 ;
10040 struct bio_vec *__cil_tmp20 ;
10041 struct page *__cil_tmp21 ;
10042 unsigned long __cil_tmp22 ;
10043 struct bio_vec *__cil_tmp23 ;
10044 unsigned int __cil_tmp24 ;
10045 unsigned long __cil_tmp25 ;
10046 struct page *__cil_tmp26 ;
10047 unsigned long __cil_tmp27 ;
10048 void const *__cil_tmp28 ;
10049 void const *__cil_tmp29 ;
10050 unsigned long __cil_tmp30 ;
10051 struct bio_vec *__cil_tmp31 ;
10052 unsigned long __cil_tmp32 ;
10053 struct bio_vec *__cil_tmp33 ;
10054 unsigned int __cil_tmp34 ;
10055 unsigned long __cil_tmp35 ;
10056 struct bio_vec *__cil_tmp36 ;
10057 unsigned int __cil_tmp37 ;
10058 int __cil_tmp38 ;
10059 long __cil_tmp39 ;
10060 unsigned int __cil_tmp40 ;
10061 int __cil_tmp41 ;
10062
10063 {
10064#line 1026
10065 p = 0;
10066#line 1027
10067 offs = 0;
10068#line 1028
10069 f = 0;
10070#line 1028
10071 goto ldv_30847;
10072 ldv_30846: ;
10073 {
10074#line 1029
10075 __cil_tmp13 = pkt->pages[p];
10076#line 1029
10077 __cil_tmp14 = (unsigned long )__cil_tmp13;
10078#line 1029
10079 __cil_tmp15 = (unsigned long )f;
10080#line 1029
10081 __cil_tmp16 = bvec + __cil_tmp15;
10082#line 1029
10083 __cil_tmp17 = __cil_tmp16->bv_page;
10084#line 1029
10085 __cil_tmp18 = (unsigned long )__cil_tmp17;
10086#line 1029
10087 if (__cil_tmp18 != __cil_tmp14) {
10088 {
10089#line 1030
10090 __cil_tmp19 = (unsigned long )f;
10091#line 1030
10092 __cil_tmp20 = bvec + __cil_tmp19;
10093#line 1030
10094 __cil_tmp21 = __cil_tmp20->bv_page;
10095#line 1030
10096 tmp = __kmap_atomic(__cil_tmp21);
10097#line 1030
10098 __cil_tmp22 = (unsigned long )f;
10099#line 1030
10100 __cil_tmp23 = bvec + __cil_tmp22;
10101#line 1030
10102 __cil_tmp24 = __cil_tmp23->bv_offset;
10103#line 1030
10104 __cil_tmp25 = (unsigned long )__cil_tmp24;
10105#line 1030
10106 vfrom = tmp + __cil_tmp25;
10107#line 1031
10108 __cil_tmp26 = pkt->pages[p];
10109#line 1031
10110 tmp___0 = lowmem_page_address(__cil_tmp26);
10111#line 1031
10112 __cil_tmp27 = (unsigned long )offs;
10113#line 1031
10114 vto = tmp___0 + __cil_tmp27;
10115#line 1032
10116 __len = 2048UL;
10117 }
10118#line 1032
10119 if (__len > 63UL) {
10120 {
10121#line 1032
10122 __cil_tmp28 = (void const *)vfrom;
10123#line 1032
10124 __ret = __memcpy(vto, __cil_tmp28, __len);
10125 }
10126 } else {
10127 {
10128#line 1032
10129 __cil_tmp29 = (void const *)vfrom;
10130#line 1032
10131 __ret = __builtin_memcpy(vto, __cil_tmp29, __len);
10132 }
10133 }
10134 {
10135#line 1033
10136 __kunmap_atomic(vfrom);
10137#line 1034
10138 __cil_tmp30 = (unsigned long )f;
10139#line 1034
10140 __cil_tmp31 = bvec + __cil_tmp30;
10141#line 1034
10142 __cil_tmp31->bv_page = pkt->pages[p];
10143#line 1035
10144 __cil_tmp32 = (unsigned long )f;
10145#line 1035
10146 __cil_tmp33 = bvec + __cil_tmp32;
10147#line 1035
10148 __cil_tmp33->bv_offset = (unsigned int )offs;
10149 }
10150 } else {
10151 {
10152#line 1037
10153 __cil_tmp34 = (unsigned int )offs;
10154#line 1037
10155 __cil_tmp35 = (unsigned long )f;
10156#line 1037
10157 __cil_tmp36 = bvec + __cil_tmp35;
10158#line 1037
10159 __cil_tmp37 = __cil_tmp36->bv_offset;
10160#line 1037
10161 __cil_tmp38 = __cil_tmp37 != __cil_tmp34;
10162#line 1037
10163 __cil_tmp39 = (long )__cil_tmp38;
10164#line 1037
10165 tmp___1 = __builtin_expect(__cil_tmp39, 0L);
10166 }
10167#line 1037
10168 if (tmp___1 != 0L) {
10169#line 1037
10170 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10171 "i" (1037), "i" (12UL));
10172 ldv_30845: ;
10173#line 1037
10174 goto ldv_30845;
10175 } else {
10176
10177 }
10178 }
10179 }
10180#line 1039
10181 offs = offs + 2048;
10182 {
10183#line 1040
10184 __cil_tmp40 = (unsigned int )offs;
10185#line 1040
10186 if (__cil_tmp40 > 4095U) {
10187#line 1041
10188 offs = 0;
10189#line 1042
10190 p = p + 1;
10191 } else {
10192
10193 }
10194 }
10195#line 1028
10196 f = f + 1;
10197 ldv_30847: ;
10198 {
10199#line 1028
10200 __cil_tmp41 = pkt->frames;
10201#line 1028
10202 if (__cil_tmp41 > f) {
10203#line 1029
10204 goto ldv_30846;
10205 } else {
10206#line 1031
10207 goto ldv_30848;
10208 }
10209 }
10210 ldv_30848: ;
10211#line 1033
10212 return;
10213}
10214}
10215#line 1047 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10216static void pkt_end_io_read(struct bio *bio , int err )
10217{ struct packet_data *pkt ;
10218 struct pktcdvd_device *pd ;
10219 long tmp ;
10220 int tmp___0 ;
10221 void *__cil_tmp7 ;
10222 struct pktcdvd_device *__cil_tmp8 ;
10223 unsigned long __cil_tmp9 ;
10224 unsigned long __cil_tmp10 ;
10225 int __cil_tmp11 ;
10226 long __cil_tmp12 ;
10227 atomic_t *__cil_tmp13 ;
10228 atomic_t *__cil_tmp14 ;
10229 atomic_t *__cil_tmp15 ;
10230 wait_queue_head_t *__cil_tmp16 ;
10231 void *__cil_tmp17 ;
10232
10233 {
10234 {
10235#line 1049
10236 __cil_tmp7 = bio->bi_private;
10237#line 1049
10238 pkt = (struct packet_data *)__cil_tmp7;
10239#line 1050
10240 pd = pkt->pd;
10241#line 1051
10242 __cil_tmp8 = (struct pktcdvd_device *)0;
10243#line 1051
10244 __cil_tmp9 = (unsigned long )__cil_tmp8;
10245#line 1051
10246 __cil_tmp10 = (unsigned long )pd;
10247#line 1051
10248 __cil_tmp11 = __cil_tmp10 == __cil_tmp9;
10249#line 1051
10250 __cil_tmp12 = (long )__cil_tmp11;
10251#line 1051
10252 tmp = __builtin_expect(__cil_tmp12, 0L);
10253 }
10254#line 1051
10255 if (tmp != 0L) {
10256#line 1051
10257 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10258 "i" (1051), "i" (12UL));
10259 ldv_30855: ;
10260#line 1051
10261 goto ldv_30855;
10262 } else {
10263
10264 }
10265#line 1056
10266 if (err != 0) {
10267 {
10268#line 1057
10269 __cil_tmp13 = & pkt->io_errors;
10270#line 1057
10271 atomic_inc(__cil_tmp13);
10272 }
10273 } else {
10274
10275 }
10276 {
10277#line 1058
10278 __cil_tmp14 = & pkt->io_wait;
10279#line 1058
10280 tmp___0 = atomic_dec_and_test(__cil_tmp14);
10281 }
10282#line 1058
10283 if (tmp___0 != 0) {
10284 {
10285#line 1059
10286 __cil_tmp15 = & pkt->run_sm;
10287#line 1059
10288 atomic_inc(__cil_tmp15);
10289#line 1060
10290 __cil_tmp16 = & pd->wqueue;
10291#line 1060
10292 __cil_tmp17 = (void *)0;
10293#line 1060
10294 __wake_up(__cil_tmp16, 3U, 1, __cil_tmp17);
10295 }
10296 } else {
10297
10298 }
10299 {
10300#line 1062
10301 pkt_bio_finished(pd);
10302 }
10303#line 1063
10304 return;
10305}
10306}
10307#line 1065 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10308static void pkt_end_io_packet_write(struct bio *bio , int err )
10309{ struct packet_data *pkt ;
10310 struct pktcdvd_device *pd ;
10311 long tmp ;
10312 void *__cil_tmp6 ;
10313 struct pktcdvd_device *__cil_tmp7 ;
10314 unsigned long __cil_tmp8 ;
10315 unsigned long __cil_tmp9 ;
10316 int __cil_tmp10 ;
10317 long __cil_tmp11 ;
10318 unsigned long __cil_tmp12 ;
10319 atomic_t *__cil_tmp13 ;
10320 atomic_t *__cil_tmp14 ;
10321 wait_queue_head_t *__cil_tmp15 ;
10322 void *__cil_tmp16 ;
10323
10324 {
10325 {
10326#line 1067
10327 __cil_tmp6 = bio->bi_private;
10328#line 1067
10329 pkt = (struct packet_data *)__cil_tmp6;
10330#line 1068
10331 pd = pkt->pd;
10332#line 1069
10333 __cil_tmp7 = (struct pktcdvd_device *)0;
10334#line 1069
10335 __cil_tmp8 = (unsigned long )__cil_tmp7;
10336#line 1069
10337 __cil_tmp9 = (unsigned long )pd;
10338#line 1069
10339 __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
10340#line 1069
10341 __cil_tmp11 = (long )__cil_tmp10;
10342#line 1069
10343 tmp = __builtin_expect(__cil_tmp11, 0L);
10344 }
10345#line 1069
10346 if (tmp != 0L) {
10347#line 1069
10348 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10349 "i" (1069), "i" (12UL));
10350 ldv_30862: ;
10351#line 1069
10352 goto ldv_30862;
10353 } else {
10354
10355 }
10356 {
10357#line 1073
10358 __cil_tmp12 = pd->stats.pkt_ended;
10359#line 1073
10360 pd->stats.pkt_ended = __cil_tmp12 + 1UL;
10361#line 1075
10362 pkt_bio_finished(pd);
10363#line 1076
10364 __cil_tmp13 = & pkt->io_wait;
10365#line 1076
10366 atomic_dec(__cil_tmp13);
10367#line 1077
10368 __cil_tmp14 = & pkt->run_sm;
10369#line 1077
10370 atomic_inc(__cil_tmp14);
10371#line 1078
10372 __cil_tmp15 = & pd->wqueue;
10373#line 1078
10374 __cil_tmp16 = (void *)0;
10375#line 1078
10376 __wake_up(__cil_tmp15, 3U, 1, __cil_tmp16);
10377 }
10378#line 1079
10379 return;
10380}
10381}
10382#line 1084 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10383static void pkt_gather_data(struct pktcdvd_device *pd , struct packet_data *pkt )
10384{ int frames_read ;
10385 struct bio *bio ;
10386 int f ;
10387 char written[128U] ;
10388 int tmp ;
10389 long tmp___0 ;
10390 int first_frame ;
10391 int num_frames ;
10392 long tmp___1 ;
10393 long tmp___2 ;
10394 struct bio_vec *vec ;
10395 int p ;
10396 int offset ;
10397 int tmp___3 ;
10398 struct bio_list *__cil_tmp17 ;
10399 struct bio_list const *__cil_tmp18 ;
10400 int __cil_tmp19 ;
10401 long __cil_tmp20 ;
10402 atomic_t *__cil_tmp21 ;
10403 atomic_t *__cil_tmp22 ;
10404 void *__cil_tmp23 ;
10405 spinlock_t *__cil_tmp24 ;
10406 sector_t __cil_tmp25 ;
10407 sector_t __cil_tmp26 ;
10408 sector_t __cil_tmp27 ;
10409 sector_t __cil_tmp28 ;
10410 unsigned int __cil_tmp29 ;
10411 unsigned int __cil_tmp30 ;
10412 int __cil_tmp31 ;
10413 unsigned long __cil_tmp32 ;
10414 unsigned long __cil_tmp33 ;
10415 int __cil_tmp34 ;
10416 long __cil_tmp35 ;
10417 int __cil_tmp36 ;
10418 int __cil_tmp37 ;
10419 int __cil_tmp38 ;
10420 long __cil_tmp39 ;
10421 int __cil_tmp40 ;
10422 struct bio *__cil_tmp41 ;
10423 unsigned long __cil_tmp42 ;
10424 unsigned long __cil_tmp43 ;
10425 spinlock_t *__cil_tmp44 ;
10426 int __cil_tmp45 ;
10427 signed char __cil_tmp46 ;
10428 int __cil_tmp47 ;
10429 int __cil_tmp48 ;
10430 sector_t __cil_tmp49 ;
10431 sector_t __cil_tmp50 ;
10432 int __cil_tmp51 ;
10433 unsigned long __cil_tmp52 ;
10434 unsigned long __cil_tmp53 ;
10435 int __cil_tmp54 ;
10436 struct page *__cil_tmp55 ;
10437 unsigned int __cil_tmp56 ;
10438 atomic_t *__cil_tmp57 ;
10439 int __cil_tmp58 ;
10440 unsigned long __cil_tmp59 ;
10441 int __cil_tmp60 ;
10442 unsigned long __cil_tmp61 ;
10443 unsigned long __cil_tmp62 ;
10444
10445 {
10446 {
10447#line 1086
10448 frames_read = 0;
10449#line 1091
10450 __cil_tmp17 = & pkt->orig_bios;
10451#line 1091
10452 __cil_tmp18 = (struct bio_list const *)__cil_tmp17;
10453#line 1091
10454 tmp = bio_list_empty(__cil_tmp18);
10455#line 1091
10456 __cil_tmp19 = tmp != 0;
10457#line 1091
10458 __cil_tmp20 = (long )__cil_tmp19;
10459#line 1091
10460 tmp___0 = __builtin_expect(__cil_tmp20, 0L);
10461 }
10462#line 1091
10463 if (tmp___0 != 0L) {
10464#line 1091
10465 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10466 "i" (1091), "i" (12UL));
10467 ldv_30871: ;
10468#line 1091
10469 goto ldv_30871;
10470 } else {
10471
10472 }
10473 {
10474#line 1093
10475 __cil_tmp21 = & pkt->io_wait;
10476#line 1093
10477 atomic_set(__cil_tmp21, 0);
10478#line 1094
10479 __cil_tmp22 = & pkt->io_errors;
10480#line 1094
10481 atomic_set(__cil_tmp22, 0);
10482#line 1099
10483 __cil_tmp23 = (void *)(& written);
10484#line 1099
10485 memset(__cil_tmp23, 0, 128UL);
10486#line 1100
10487 __cil_tmp24 = & pkt->lock;
10488#line 1100
10489 spin_lock(__cil_tmp24);
10490#line 1101
10491 bio = pkt->orig_bios.head;
10492 }
10493#line 1101
10494 goto ldv_30880;
10495 ldv_30879:
10496 {
10497#line 1102
10498 __cil_tmp25 = pkt->sector;
10499#line 1102
10500 __cil_tmp26 = bio->bi_sector;
10501#line 1102
10502 __cil_tmp27 = __cil_tmp26 - __cil_tmp25;
10503#line 1102
10504 __cil_tmp28 = __cil_tmp27 / 4UL;
10505#line 1102
10506 first_frame = (int )__cil_tmp28;
10507#line 1103
10508 __cil_tmp29 = bio->bi_size;
10509#line 1103
10510 __cil_tmp30 = __cil_tmp29 / 2048U;
10511#line 1103
10512 num_frames = (int )__cil_tmp30;
10513#line 1104
10514 __cil_tmp31 = num_frames * 4;
10515#line 1104
10516 __cil_tmp32 = (unsigned long )__cil_tmp31;
10517#line 1104
10518 __cil_tmp33 = pd->stats.secs_w;
10519#line 1104
10520 pd->stats.secs_w = __cil_tmp33 + __cil_tmp32;
10521#line 1105
10522 __cil_tmp34 = first_frame < 0;
10523#line 1105
10524 __cil_tmp35 = (long )__cil_tmp34;
10525#line 1105
10526 tmp___1 = __builtin_expect(__cil_tmp35, 0L);
10527 }
10528#line 1105
10529 if (tmp___1 != 0L) {
10530#line 1105
10531 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10532 "i" (1105), "i" (12UL));
10533 ldv_30874: ;
10534#line 1105
10535 goto ldv_30874;
10536 } else {
10537
10538 }
10539 {
10540#line 1106
10541 __cil_tmp36 = pkt->frames;
10542#line 1106
10543 __cil_tmp37 = first_frame + num_frames;
10544#line 1106
10545 __cil_tmp38 = __cil_tmp37 > __cil_tmp36;
10546#line 1106
10547 __cil_tmp39 = (long )__cil_tmp38;
10548#line 1106
10549 tmp___2 = __builtin_expect(__cil_tmp39, 0L);
10550 }
10551#line 1106
10552 if (tmp___2 != 0L) {
10553#line 1106
10554 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10555 "i" (1106), "i" (12UL));
10556 ldv_30875: ;
10557#line 1106
10558 goto ldv_30875;
10559 } else {
10560
10561 }
10562#line 1107
10563 f = first_frame;
10564#line 1107
10565 goto ldv_30877;
10566 ldv_30876:
10567#line 1108
10568 written[f] = (char)1;
10569#line 1107
10570 f = f + 1;
10571 ldv_30877: ;
10572 {
10573#line 1107
10574 __cil_tmp40 = first_frame + num_frames;
10575#line 1107
10576 if (__cil_tmp40 > f) {
10577#line 1108
10578 goto ldv_30876;
10579 } else {
10580#line 1110
10581 goto ldv_30878;
10582 }
10583 }
10584 ldv_30878:
10585#line 1101
10586 bio = bio->bi_next;
10587 ldv_30880: ;
10588 {
10589#line 1101
10590 __cil_tmp41 = (struct bio *)0;
10591#line 1101
10592 __cil_tmp42 = (unsigned long )__cil_tmp41;
10593#line 1101
10594 __cil_tmp43 = (unsigned long )bio;
10595#line 1101
10596 if (__cil_tmp43 != __cil_tmp42) {
10597#line 1102
10598 goto ldv_30879;
10599 } else {
10600#line 1104
10601 goto ldv_30881;
10602 }
10603 }
10604 ldv_30881:
10605 {
10606#line 1110
10607 __cil_tmp44 = & pkt->lock;
10608#line 1110
10609 spin_unlock(__cil_tmp44);
10610 }
10611 {
10612#line 1112
10613 __cil_tmp45 = pkt->cache_valid;
10614#line 1112
10615 if (__cil_tmp45 != 0) {
10616#line 1115
10617 goto out_account;
10618 } else {
10619
10620 }
10621 }
10622#line 1121
10623 f = 0;
10624#line 1121
10625 goto ldv_30889;
10626 ldv_30888: ;
10627 {
10628#line 1125
10629 __cil_tmp46 = (signed char )written[f];
10630#line 1125
10631 __cil_tmp47 = (int )__cil_tmp46;
10632#line 1125
10633 if (__cil_tmp47 != 0) {
10634#line 1126
10635 goto ldv_30886;
10636 } else {
10637
10638 }
10639 }
10640 {
10641#line 1127
10642 bio = pkt->r_bios[f];
10643#line 1128
10644 vec = bio->bi_io_vec;
10645#line 1129
10646 bio_init(bio);
10647#line 1130
10648 bio->bi_max_vecs = 1U;
10649#line 1131
10650 __cil_tmp48 = f * 4;
10651#line 1131
10652 __cil_tmp49 = (sector_t )__cil_tmp48;
10653#line 1131
10654 __cil_tmp50 = pkt->sector;
10655#line 1131
10656 bio->bi_sector = __cil_tmp50 + __cil_tmp49;
10657#line 1132
10658 bio->bi_bdev = pd->bdev;
10659#line 1133
10660 bio->bi_end_io = & pkt_end_io_read;
10661#line 1134
10662 bio->bi_private = (void *)pkt;
10663#line 1135
10664 bio->bi_io_vec = vec;
10665#line 1136
10666 bio->bi_destructor = & pkt_bio_destructor;
10667#line 1138
10668 __cil_tmp51 = f * 2048;
10669#line 1138
10670 __cil_tmp52 = (unsigned long )__cil_tmp51;
10671#line 1138
10672 __cil_tmp53 = __cil_tmp52 / 4096UL;
10673#line 1138
10674 p = (int )__cil_tmp53;
10675#line 1139
10676 __cil_tmp54 = f * 2048;
10677#line 1139
10678 offset = __cil_tmp54 & 4095;
10679#line 1142
10680 __cil_tmp55 = pkt->pages[p];
10681#line 1142
10682 __cil_tmp56 = (unsigned int )offset;
10683#line 1142
10684 tmp___3 = bio_add_page(bio, __cil_tmp55, 2048U, __cil_tmp56);
10685 }
10686#line 1142
10687 if (tmp___3 == 0) {
10688#line 1143
10689 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10690 "i" (1143), "i" (12UL));
10691 ldv_30887: ;
10692#line 1143
10693 goto ldv_30887;
10694 } else {
10695
10696 }
10697 {
10698#line 1145
10699 __cil_tmp57 = & pkt->io_wait;
10700#line 1145
10701 atomic_inc(__cil_tmp57);
10702#line 1146
10703 bio->bi_rw = 0UL;
10704#line 1147
10705 pkt_queue_bio(pd, bio);
10706#line 1148
10707 frames_read = frames_read + 1;
10708 }
10709 ldv_30886:
10710#line 1121
10711 f = f + 1;
10712 ldv_30889: ;
10713 {
10714#line 1121
10715 __cil_tmp58 = pkt->frames;
10716#line 1121
10717 if (__cil_tmp58 > f) {
10718#line 1122
10719 goto ldv_30888;
10720 } else {
10721#line 1124
10722 goto ldv_30890;
10723 }
10724 }
10725 ldv_30890: ;
10726 out_account:
10727#line 1154
10728 __cil_tmp59 = pd->stats.pkt_started;
10729#line 1154
10730 pd->stats.pkt_started = __cil_tmp59 + 1UL;
10731#line 1155
10732 __cil_tmp60 = frames_read * 4;
10733#line 1155
10734 __cil_tmp61 = (unsigned long )__cil_tmp60;
10735#line 1155
10736 __cil_tmp62 = pd->stats.secs_rg;
10737#line 1155
10738 pd->stats.secs_rg = __cil_tmp62 + __cil_tmp61;
10739#line 1156
10740 return;
10741}
10742}
10743#line 1162 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10744static struct packet_data *pkt_get_packet_data(struct pktcdvd_device *pd , int zone )
10745{ struct packet_data *pkt ;
10746 struct list_head const *__mptr ;
10747 struct list_head const *__mptr___0 ;
10748 struct list_head *__cil_tmp6 ;
10749 sector_t __cil_tmp7 ;
10750 sector_t __cil_tmp8 ;
10751 struct list_head *__cil_tmp9 ;
10752 unsigned long __cil_tmp10 ;
10753 struct list_head *__cil_tmp11 ;
10754 unsigned long __cil_tmp12 ;
10755 struct list_head *__cil_tmp13 ;
10756 sector_t __cil_tmp14 ;
10757 sector_t __cil_tmp15 ;
10758 struct list_head *__cil_tmp16 ;
10759 struct list_head *__cil_tmp17 ;
10760 unsigned long __cil_tmp18 ;
10761 struct list_head *__cil_tmp19 ;
10762 unsigned long __cil_tmp20 ;
10763
10764 {
10765#line 1166
10766 __cil_tmp6 = pd->cdrw.pkt_free_list.next;
10767#line 1166
10768 __mptr = (struct list_head const *)__cil_tmp6;
10769#line 1166
10770 pkt = (struct packet_data *)__mptr;
10771#line 1166
10772 goto ldv_30901;
10773 ldv_30900: ;
10774 {
10775#line 1167
10776 __cil_tmp7 = (sector_t )zone;
10777#line 1167
10778 __cil_tmp8 = pkt->sector;
10779#line 1167
10780 if (__cil_tmp8 == __cil_tmp7) {
10781#line 1167
10782 goto _L;
10783 } else {
10784 {
10785#line 1167
10786 __cil_tmp9 = & pd->cdrw.pkt_free_list;
10787#line 1167
10788 __cil_tmp10 = (unsigned long )__cil_tmp9;
10789#line 1167
10790 __cil_tmp11 = pkt->list.next;
10791#line 1167
10792 __cil_tmp12 = (unsigned long )__cil_tmp11;
10793#line 1167
10794 if (__cil_tmp12 == __cil_tmp10) {
10795 _L:
10796 {
10797#line 1168
10798 __cil_tmp13 = & pkt->list;
10799#line 1168
10800 list_del_init(__cil_tmp13);
10801 }
10802 {
10803#line 1169
10804 __cil_tmp14 = (sector_t )zone;
10805#line 1169
10806 __cil_tmp15 = pkt->sector;
10807#line 1169
10808 if (__cil_tmp15 != __cil_tmp14) {
10809#line 1170
10810 pkt->cache_valid = 0;
10811 } else {
10812
10813 }
10814 }
10815#line 1171
10816 return (pkt);
10817 } else {
10818
10819 }
10820 }
10821 }
10822 }
10823#line 1166
10824 __cil_tmp16 = pkt->list.next;
10825#line 1166
10826 __mptr___0 = (struct list_head const *)__cil_tmp16;
10827#line 1166
10828 pkt = (struct packet_data *)__mptr___0;
10829 ldv_30901: ;
10830 {
10831#line 1166
10832 __cil_tmp17 = & pd->cdrw.pkt_free_list;
10833#line 1166
10834 __cil_tmp18 = (unsigned long )__cil_tmp17;
10835#line 1166
10836 __cil_tmp19 = & pkt->list;
10837#line 1166
10838 __cil_tmp20 = (unsigned long )__cil_tmp19;
10839#line 1166
10840 if (__cil_tmp20 != __cil_tmp18) {
10841#line 1167
10842 goto ldv_30900;
10843 } else {
10844#line 1169
10845 goto ldv_30902;
10846 }
10847 }
10848 ldv_30902:
10849#line 1174
10850 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
10851 "i" (1174), "i" (12UL));
10852 ldv_30903: ;
10853#line 1174
10854 goto ldv_30903;
10855#line 1175
10856 return ((struct packet_data *)0);
10857}
10858}
10859#line 1178 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10860static void pkt_put_packet_data(struct pktcdvd_device *pd , struct packet_data *pkt )
10861{ int __cil_tmp3 ;
10862 struct list_head *__cil_tmp4 ;
10863 struct list_head *__cil_tmp5 ;
10864 struct list_head *__cil_tmp6 ;
10865 struct list_head *__cil_tmp7 ;
10866
10867 {
10868 {
10869#line 1180
10870 __cil_tmp3 = pkt->cache_valid;
10871#line 1180
10872 if (__cil_tmp3 != 0) {
10873 {
10874#line 1181
10875 __cil_tmp4 = & pkt->list;
10876#line 1181
10877 __cil_tmp5 = & pd->cdrw.pkt_free_list;
10878#line 1181
10879 list_add(__cil_tmp4, __cil_tmp5);
10880 }
10881 } else {
10882 {
10883#line 1183
10884 __cil_tmp6 = & pkt->list;
10885#line 1183
10886 __cil_tmp7 = & pd->cdrw.pkt_free_list;
10887#line 1183
10888 list_add_tail(__cil_tmp6, __cil_tmp7);
10889 }
10890 }
10891 }
10892#line 1184
10893 return;
10894}
10895}
10896#line 1193 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10897static int pkt_start_recovery(struct packet_data *pkt )
10898{
10899
10900 {
10901#line 1199
10902 return (0);
10903}
10904}
10905#line 1247 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10906__inline static void pkt_set_state(struct packet_data *pkt , enum packet_data_state state )
10907{
10908
10909 {
10910#line 1257
10911 pkt->state = state;
10912#line 1258
10913 return;
10914}
10915}
10916#line 1264 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
10917static int pkt_handle_queue(struct pktcdvd_device *pd )
10918{ struct packet_data *pkt ;
10919 struct packet_data *p ;
10920 struct bio *bio ;
10921 sector_t zone ;
10922 struct pkt_rb_node *node ;
10923 struct pkt_rb_node *first_node ;
10924 struct rb_node *n ;
10925 int wakeup ;
10926 int tmp ;
10927 struct rb_node const *__mptr ;
10928 struct list_head const *__mptr___0 ;
10929 struct list_head const *__mptr___1 ;
10930 struct rb_node const *__mptr___2 ;
10931 long tmp___0 ;
10932 int tmp___1 ;
10933 int _max1 ;
10934 int _max2 ;
10935 int tmp___2 ;
10936 atomic_t *__cil_tmp20 ;
10937 struct list_head *__cil_tmp21 ;
10938 struct list_head const *__cil_tmp22 ;
10939 spinlock_t *__cil_tmp23 ;
10940 sector_t __cil_tmp24 ;
10941 struct pkt_rb_node *__cil_tmp25 ;
10942 unsigned long __cil_tmp26 ;
10943 unsigned long __cil_tmp27 ;
10944 struct rb_root *__cil_tmp28 ;
10945 struct rb_root const *__cil_tmp29 ;
10946 struct rb_node *__cil_tmp30 ;
10947 unsigned long __cil_tmp31 ;
10948 unsigned long __cil_tmp32 ;
10949 __u32 __cil_tmp33 ;
10950 __u32 __cil_tmp34 ;
10951 unsigned long __cil_tmp35 ;
10952 unsigned long __cil_tmp36 ;
10953 sector_t __cil_tmp37 ;
10954 sector_t __cil_tmp38 ;
10955 struct list_head *__cil_tmp39 ;
10956 sector_t __cil_tmp40 ;
10957 struct list_head *__cil_tmp41 ;
10958 struct list_head *__cil_tmp42 ;
10959 unsigned long __cil_tmp43 ;
10960 struct list_head *__cil_tmp44 ;
10961 unsigned long __cil_tmp45 ;
10962 struct pkt_rb_node *__cil_tmp46 ;
10963 unsigned long __cil_tmp47 ;
10964 unsigned long __cil_tmp48 ;
10965 struct rb_root *__cil_tmp49 ;
10966 struct rb_root const *__cil_tmp50 ;
10967 struct rb_node *__cil_tmp51 ;
10968 unsigned long __cil_tmp52 ;
10969 unsigned long __cil_tmp53 ;
10970 unsigned long __cil_tmp54 ;
10971 unsigned long __cil_tmp55 ;
10972 struct pkt_rb_node *__cil_tmp56 ;
10973 unsigned long __cil_tmp57 ;
10974 unsigned long __cil_tmp58 ;
10975 spinlock_t *__cil_tmp59 ;
10976 struct bio *__cil_tmp60 ;
10977 unsigned long __cil_tmp61 ;
10978 unsigned long __cil_tmp62 ;
10979 int __cil_tmp63 ;
10980 __u32 __cil_tmp64 ;
10981 sector_t __cil_tmp65 ;
10982 __u32 __cil_tmp66 ;
10983 __u32 __cil_tmp67 ;
10984 int __cil_tmp68 ;
10985 __u32 __cil_tmp69 ;
10986 int __cil_tmp70 ;
10987 long __cil_tmp71 ;
10988 spinlock_t *__cil_tmp72 ;
10989 __u32 __cil_tmp73 ;
10990 __u32 __cil_tmp74 ;
10991 unsigned long __cil_tmp75 ;
10992 unsigned long __cil_tmp76 ;
10993 sector_t __cil_tmp77 ;
10994 sector_t __cil_tmp78 ;
10995 unsigned long __cil_tmp79 ;
10996 spinlock_t *__cil_tmp80 ;
10997 struct bio_list *__cil_tmp81 ;
10998 unsigned int __cil_tmp82 ;
10999 unsigned int __cil_tmp83 ;
11000 int __cil_tmp84 ;
11001 unsigned int __cil_tmp85 ;
11002 unsigned int __cil_tmp86 ;
11003 spinlock_t *__cil_tmp87 ;
11004 struct pkt_rb_node *__cil_tmp88 ;
11005 unsigned long __cil_tmp89 ;
11006 unsigned long __cil_tmp90 ;
11007 int __cil_tmp91 ;
11008 int __cil_tmp92 ;
11009 int __cil_tmp93 ;
11010 spinlock_t *__cil_tmp94 ;
11011 struct gendisk *__cil_tmp95 ;
11012 struct request_queue *__cil_tmp96 ;
11013 struct backing_dev_info *__cil_tmp97 ;
11014 enum packet_data_state __cil_tmp98 ;
11015 atomic_t *__cil_tmp99 ;
11016 spinlock_t *__cil_tmp100 ;
11017 struct list_head *__cil_tmp101 ;
11018 struct list_head *__cil_tmp102 ;
11019 spinlock_t *__cil_tmp103 ;
11020
11021 {
11022 {
11023#line 1267
11024 bio = (struct bio *)0;
11025#line 1268
11026 zone = 0UL;
11027#line 1275
11028 __cil_tmp20 = & pd->scan_queue;
11029#line 1275
11030 atomic_set(__cil_tmp20, 0);
11031#line 1277
11032 __cil_tmp21 = & pd->cdrw.pkt_free_list;
11033#line 1277
11034 __cil_tmp22 = (struct list_head const *)__cil_tmp21;
11035#line 1277
11036 tmp = list_empty(__cil_tmp22);
11037 }
11038#line 1277
11039 if (tmp != 0) {
11040#line 1279
11041 return (0);
11042 } else {
11043
11044 }
11045 {
11046#line 1285
11047 __cil_tmp23 = & pd->lock;
11048#line 1285
11049 spin_lock(__cil_tmp23);
11050#line 1286
11051 __cil_tmp24 = pd->current_sector;
11052#line 1286
11053 first_node = pkt_rbtree_find(pd, __cil_tmp24);
11054 }
11055 {
11056#line 1287
11057 __cil_tmp25 = (struct pkt_rb_node *)0;
11058#line 1287
11059 __cil_tmp26 = (unsigned long )__cil_tmp25;
11060#line 1287
11061 __cil_tmp27 = (unsigned long )first_node;
11062#line 1287
11063 if (__cil_tmp27 == __cil_tmp26) {
11064 {
11065#line 1288
11066 __cil_tmp28 = & pd->bio_queue;
11067#line 1288
11068 __cil_tmp29 = (struct rb_root const *)__cil_tmp28;
11069#line 1288
11070 n = rb_first(__cil_tmp29);
11071 }
11072 {
11073#line 1289
11074 __cil_tmp30 = (struct rb_node *)0;
11075#line 1289
11076 __cil_tmp31 = (unsigned long )__cil_tmp30;
11077#line 1289
11078 __cil_tmp32 = (unsigned long )n;
11079#line 1289
11080 if (__cil_tmp32 != __cil_tmp31) {
11081#line 1290
11082 __mptr = (struct rb_node const *)n;
11083#line 1290
11084 first_node = (struct pkt_rb_node *)__mptr;
11085 } else {
11086
11087 }
11088 }
11089 } else {
11090
11091 }
11092 }
11093#line 1292
11094 node = first_node;
11095#line 1293
11096 goto ldv_30940;
11097 ldv_30939:
11098#line 1294
11099 bio = node->bio;
11100#line 1295
11101 __cil_tmp33 = pd->settings.size;
11102#line 1295
11103 __cil_tmp34 = - __cil_tmp33;
11104#line 1295
11105 __cil_tmp35 = (unsigned long )__cil_tmp34;
11106#line 1295
11107 __cil_tmp36 = pd->offset;
11108#line 1295
11109 __cil_tmp37 = bio->bi_sector;
11110#line 1295
11111 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
11112#line 1295
11113 zone = __cil_tmp38 & __cil_tmp35;
11114#line 1296
11115 __cil_tmp39 = pd->cdrw.pkt_active_list.next;
11116#line 1296
11117 __mptr___0 = (struct list_head const *)__cil_tmp39;
11118#line 1296
11119 p = (struct packet_data *)__mptr___0;
11120#line 1296
11121 goto ldv_30934;
11122 ldv_30933: ;
11123 {
11124#line 1297
11125 __cil_tmp40 = p->sector;
11126#line 1297
11127 if (__cil_tmp40 == zone) {
11128#line 1298
11129 bio = (struct bio *)0;
11130#line 1299
11131 goto try_next_bio;
11132 } else {
11133
11134 }
11135 }
11136#line 1296
11137 __cil_tmp41 = p->list.next;
11138#line 1296
11139 __mptr___1 = (struct list_head const *)__cil_tmp41;
11140#line 1296
11141 p = (struct packet_data *)__mptr___1;
11142 ldv_30934: ;
11143 {
11144#line 1296
11145 __cil_tmp42 = & pd->cdrw.pkt_active_list;
11146#line 1296
11147 __cil_tmp43 = (unsigned long )__cil_tmp42;
11148#line 1296
11149 __cil_tmp44 = & p->list;
11150#line 1296
11151 __cil_tmp45 = (unsigned long )__cil_tmp44;
11152#line 1296
11153 if (__cil_tmp45 != __cil_tmp43) {
11154#line 1297
11155 goto ldv_30933;
11156 } else {
11157#line 1299
11158 goto ldv_30935;
11159 }
11160 }
11161 ldv_30935: ;
11162#line 1302
11163 goto ldv_30936;
11164 try_next_bio:
11165 {
11166#line 1304
11167 node = pkt_rbtree_next(node);
11168 }
11169 {
11170#line 1305
11171 __cil_tmp46 = (struct pkt_rb_node *)0;
11172#line 1305
11173 __cil_tmp47 = (unsigned long )__cil_tmp46;
11174#line 1305
11175 __cil_tmp48 = (unsigned long )node;
11176#line 1305
11177 if (__cil_tmp48 == __cil_tmp47) {
11178 {
11179#line 1306
11180 __cil_tmp49 = & pd->bio_queue;
11181#line 1306
11182 __cil_tmp50 = (struct rb_root const *)__cil_tmp49;
11183#line 1306
11184 n = rb_first(__cil_tmp50);
11185 }
11186 {
11187#line 1307
11188 __cil_tmp51 = (struct rb_node *)0;
11189#line 1307
11190 __cil_tmp52 = (unsigned long )__cil_tmp51;
11191#line 1307
11192 __cil_tmp53 = (unsigned long )n;
11193#line 1307
11194 if (__cil_tmp53 != __cil_tmp52) {
11195#line 1308
11196 __mptr___2 = (struct rb_node const *)n;
11197#line 1308
11198 node = (struct pkt_rb_node *)__mptr___2;
11199 } else {
11200
11201 }
11202 }
11203 } else {
11204
11205 }
11206 }
11207 {
11208#line 1310
11209 __cil_tmp54 = (unsigned long )first_node;
11210#line 1310
11211 __cil_tmp55 = (unsigned long )node;
11212#line 1310
11213 if (__cil_tmp55 == __cil_tmp54) {
11214#line 1311
11215 node = (struct pkt_rb_node *)0;
11216 } else {
11217
11218 }
11219 }
11220 ldv_30940: ;
11221 {
11222#line 1293
11223 __cil_tmp56 = (struct pkt_rb_node *)0;
11224#line 1293
11225 __cil_tmp57 = (unsigned long )__cil_tmp56;
11226#line 1293
11227 __cil_tmp58 = (unsigned long )node;
11228#line 1293
11229 if (__cil_tmp58 != __cil_tmp57) {
11230#line 1294
11231 goto ldv_30939;
11232 } else {
11233#line 1296
11234 goto ldv_30936;
11235 }
11236 }
11237 ldv_30936:
11238 {
11239#line 1313
11240 __cil_tmp59 = & pd->lock;
11241#line 1313
11242 spin_unlock(__cil_tmp59);
11243 }
11244 {
11245#line 1314
11246 __cil_tmp60 = (struct bio *)0;
11247#line 1314
11248 __cil_tmp61 = (unsigned long )__cil_tmp60;
11249#line 1314
11250 __cil_tmp62 = (unsigned long )bio;
11251#line 1314
11252 if (__cil_tmp62 == __cil_tmp61) {
11253#line 1316
11254 return (0);
11255 } else {
11256
11257 }
11258 }
11259 {
11260#line 1319
11261 __cil_tmp63 = (int )zone;
11262#line 1319
11263 pkt = pkt_get_packet_data(pd, __cil_tmp63);
11264#line 1321
11265 __cil_tmp64 = pd->settings.size;
11266#line 1321
11267 __cil_tmp65 = (sector_t )__cil_tmp64;
11268#line 1321
11269 pd->current_sector = __cil_tmp65 + zone;
11270#line 1322
11271 pkt->sector = zone;
11272#line 1323
11273 __cil_tmp66 = pd->settings.size;
11274#line 1323
11275 __cil_tmp67 = __cil_tmp66 >> 2;
11276#line 1323
11277 __cil_tmp68 = pkt->frames;
11278#line 1323
11279 __cil_tmp69 = (__u32 )__cil_tmp68;
11280#line 1323
11281 __cil_tmp70 = __cil_tmp69 != __cil_tmp67;
11282#line 1323
11283 __cil_tmp71 = (long )__cil_tmp70;
11284#line 1323
11285 tmp___0 = __builtin_expect(__cil_tmp71, 0L);
11286 }
11287#line 1323
11288 if (tmp___0 != 0L) {
11289#line 1323
11290 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
11291 "i" (1323), "i" (12UL));
11292 ldv_30941: ;
11293#line 1323
11294 goto ldv_30941;
11295 } else {
11296
11297 }
11298 {
11299#line 1324
11300 pkt->write_size = 0;
11301#line 1330
11302 __cil_tmp72 = & pd->lock;
11303#line 1330
11304 spin_lock(__cil_tmp72);
11305 }
11306#line 1332
11307 goto ldv_30944;
11308 ldv_30943:
11309#line 1333
11310 bio = node->bio;
11311 {
11312#line 1336
11313 __cil_tmp73 = pd->settings.size;
11314#line 1336
11315 __cil_tmp74 = - __cil_tmp73;
11316#line 1336
11317 __cil_tmp75 = (unsigned long )__cil_tmp74;
11318#line 1336
11319 __cil_tmp76 = pd->offset;
11320#line 1336
11321 __cil_tmp77 = bio->bi_sector;
11322#line 1336
11323 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
11324#line 1336
11325 __cil_tmp79 = __cil_tmp78 & __cil_tmp75;
11326#line 1336
11327 if (__cil_tmp79 != zone) {
11328#line 1337
11329 goto ldv_30942;
11330 } else {
11331
11332 }
11333 }
11334 {
11335#line 1338
11336 pkt_rbtree_erase(pd, node);
11337#line 1339
11338 __cil_tmp80 = & pkt->lock;
11339#line 1339
11340 spin_lock(__cil_tmp80);
11341#line 1340
11342 __cil_tmp81 = & pkt->orig_bios;
11343#line 1340
11344 bio_list_add(__cil_tmp81, bio);
11345#line 1341
11346 __cil_tmp82 = bio->bi_size;
11347#line 1341
11348 __cil_tmp83 = __cil_tmp82 / 2048U;
11349#line 1341
11350 __cil_tmp84 = pkt->write_size;
11351#line 1341
11352 __cil_tmp85 = (unsigned int )__cil_tmp84;
11353#line 1341
11354 __cil_tmp86 = __cil_tmp85 + __cil_tmp83;
11355#line 1341
11356 pkt->write_size = (int )__cil_tmp86;
11357#line 1342
11358 __cil_tmp87 = & pkt->lock;
11359#line 1342
11360 spin_unlock(__cil_tmp87);
11361 }
11362 ldv_30944:
11363 {
11364#line 1332
11365 node = pkt_rbtree_find(pd, zone);
11366 }
11367 {
11368#line 1332
11369 __cil_tmp88 = (struct pkt_rb_node *)0;
11370#line 1332
11371 __cil_tmp89 = (unsigned long )__cil_tmp88;
11372#line 1332
11373 __cil_tmp90 = (unsigned long )node;
11374#line 1332
11375 if (__cil_tmp90 != __cil_tmp89) {
11376#line 1333
11377 goto ldv_30943;
11378 } else {
11379#line 1335
11380 goto ldv_30942;
11381 }
11382 }
11383 ldv_30942: ;
11384 {
11385#line 1346
11386 __cil_tmp91 = pd->write_congestion_on;
11387#line 1346
11388 if (__cil_tmp91 > 0) {
11389 {
11390#line 1346
11391 __cil_tmp92 = pd->write_congestion_off;
11392#line 1346
11393 __cil_tmp93 = pd->bio_queue_size;
11394#line 1346
11395 if (__cil_tmp93 <= __cil_tmp92) {
11396#line 1346
11397 tmp___1 = 1;
11398 } else {
11399#line 1346
11400 tmp___1 = 0;
11401 }
11402 }
11403 } else {
11404#line 1346
11405 tmp___1 = 0;
11406 }
11407 }
11408 {
11409#line 1346
11410 wakeup = tmp___1;
11411#line 1348
11412 __cil_tmp94 = & pd->lock;
11413#line 1348
11414 spin_unlock(__cil_tmp94);
11415 }
11416#line 1349
11417 if (wakeup != 0) {
11418 {
11419#line 1350
11420 __cil_tmp95 = pd->disk;
11421#line 1350
11422 __cil_tmp96 = __cil_tmp95->queue;
11423#line 1350
11424 __cil_tmp97 = & __cil_tmp96->backing_dev_info;
11425#line 1350
11426 clear_bdi_congested(__cil_tmp97, 0);
11427 }
11428 } else {
11429
11430 }
11431#line 1354
11432 _max1 = 1;
11433#line 1354
11434 _max2 = 1;
11435#line 1354
11436 if (_max1 > _max2) {
11437#line 1354
11438 tmp___2 = _max1;
11439 } else {
11440#line 1354
11441 tmp___2 = _max2;
11442 }
11443 {
11444#line 1354
11445 pkt->sleep_time = (long )tmp___2;
11446#line 1355
11447 __cil_tmp98 = (enum packet_data_state )1;
11448#line 1355
11449 pkt_set_state(pkt, __cil_tmp98);
11450#line 1356
11451 __cil_tmp99 = & pkt->run_sm;
11452#line 1356
11453 atomic_set(__cil_tmp99, 1);
11454#line 1358
11455 __cil_tmp100 = & pd->cdrw.active_list_lock;
11456#line 1358
11457 spin_lock(__cil_tmp100);
11458#line 1359
11459 __cil_tmp101 = & pkt->list;
11460#line 1359
11461 __cil_tmp102 = & pd->cdrw.pkt_active_list;
11462#line 1359
11463 list_add(__cil_tmp101, __cil_tmp102);
11464#line 1360
11465 __cil_tmp103 = & pd->cdrw.active_list_lock;
11466#line 1360
11467 spin_unlock(__cil_tmp103);
11468 }
11469#line 1362
11470 return (1);
11471}
11472}
11473#line 1369 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
11474static void pkt_start_write(struct pktcdvd_device *pd , struct packet_data *pkt )
11475{ struct bio *bio ;
11476 int f ;
11477 int frames_write ;
11478 struct bio_vec *bvec ;
11479 int segment ;
11480 int src_offs ;
11481 int first_frame ;
11482 int num_frames ;
11483 long tmp ;
11484 long tmp___0 ;
11485 struct bio_vec *src_bvl ;
11486 long tmp___1 ;
11487 long tmp___2 ;
11488 int tmp___3 ;
11489 int tmp___4 ;
11490 struct bio *__cil_tmp18 ;
11491 unsigned long __cil_tmp19 ;
11492 struct bio_vec *__cil_tmp20 ;
11493 unsigned long __cil_tmp21 ;
11494 struct bio_vec *__cil_tmp22 ;
11495 int __cil_tmp23 ;
11496 unsigned int __cil_tmp24 ;
11497 int __cil_tmp25 ;
11498 spinlock_t *__cil_tmp26 ;
11499 unsigned short __cil_tmp27 ;
11500 sector_t __cil_tmp28 ;
11501 sector_t __cil_tmp29 ;
11502 sector_t __cil_tmp30 ;
11503 sector_t __cil_tmp31 ;
11504 unsigned int __cil_tmp32 ;
11505 unsigned int __cil_tmp33 ;
11506 int __cil_tmp34 ;
11507 long __cil_tmp35 ;
11508 int __cil_tmp36 ;
11509 int __cil_tmp37 ;
11510 int __cil_tmp38 ;
11511 long __cil_tmp39 ;
11512 unsigned long __cil_tmp40 ;
11513 struct bio_vec *__cil_tmp41 ;
11514 unsigned int __cil_tmp42 ;
11515 unsigned int __cil_tmp43 ;
11516 unsigned int __cil_tmp44 ;
11517 unsigned short __cil_tmp45 ;
11518 int __cil_tmp46 ;
11519 int __cil_tmp47 ;
11520 long __cil_tmp48 ;
11521 unsigned long __cil_tmp49 ;
11522 struct bio_vec *__cil_tmp50 ;
11523 unsigned int __cil_tmp51 ;
11524 unsigned int __cil_tmp52 ;
11525 unsigned int __cil_tmp53 ;
11526 unsigned int __cil_tmp54 ;
11527 unsigned int __cil_tmp55 ;
11528 unsigned long __cil_tmp56 ;
11529 struct bio_vec *__cil_tmp57 ;
11530 unsigned long __cil_tmp58 ;
11531 struct bio_vec *__cil_tmp59 ;
11532 unsigned int __cil_tmp60 ;
11533 unsigned int __cil_tmp61 ;
11534 unsigned long __cil_tmp62 ;
11535 struct bio_vec *__cil_tmp63 ;
11536 struct page *__cil_tmp64 ;
11537 unsigned long __cil_tmp65 ;
11538 struct bio_vec *__cil_tmp66 ;
11539 unsigned int __cil_tmp67 ;
11540 int __cil_tmp68 ;
11541 int __cil_tmp69 ;
11542 struct bio *__cil_tmp70 ;
11543 unsigned long __cil_tmp71 ;
11544 unsigned long __cil_tmp72 ;
11545 enum packet_data_state __cil_tmp73 ;
11546 spinlock_t *__cil_tmp74 ;
11547 int __cil_tmp75 ;
11548 int __cil_tmp76 ;
11549 long __cil_tmp77 ;
11550 unsigned long *__cil_tmp78 ;
11551 unsigned long const volatile *__cil_tmp79 ;
11552 int __cil_tmp80 ;
11553 int __cil_tmp81 ;
11554 struct bio *__cil_tmp82 ;
11555 struct bio *__cil_tmp83 ;
11556 struct bio *__cil_tmp84 ;
11557 struct bio *__cil_tmp85 ;
11558 struct bio *__cil_tmp86 ;
11559 struct bio *__cil_tmp87 ;
11560 struct bio *__cil_tmp88 ;
11561 struct bio *__cil_tmp89 ;
11562 struct bio *__cil_tmp90 ;
11563 unsigned long __cil_tmp91 ;
11564 struct bio_vec *__cil_tmp92 ;
11565 struct page *__cil_tmp93 ;
11566 unsigned long __cil_tmp94 ;
11567 struct bio_vec *__cil_tmp95 ;
11568 unsigned int __cil_tmp96 ;
11569 int __cil_tmp97 ;
11570 atomic_t *__cil_tmp98 ;
11571 struct bio *__cil_tmp99 ;
11572 struct bio *__cil_tmp100 ;
11573
11574 {
11575#line 1374
11576 __cil_tmp18 = pkt->w_bio;
11577#line 1374
11578 bvec = __cil_tmp18->bi_io_vec;
11579#line 1376
11580 f = 0;
11581#line 1376
11582 goto ldv_30957;
11583 ldv_30956:
11584#line 1377
11585 __cil_tmp19 = (unsigned long )f;
11586#line 1377
11587 __cil_tmp20 = bvec + __cil_tmp19;
11588#line 1377
11589 __cil_tmp20->bv_page = pkt->pages[(unsigned long )(f * 2048) / 4096UL];
11590#line 1378
11591 __cil_tmp21 = (unsigned long )f;
11592#line 1378
11593 __cil_tmp22 = bvec + __cil_tmp21;
11594#line 1378
11595 __cil_tmp23 = f * 2048;
11596#line 1378
11597 __cil_tmp24 = (unsigned int )__cil_tmp23;
11598#line 1378
11599 __cil_tmp22->bv_offset = __cil_tmp24 & 4095U;
11600#line 1376
11601 f = f + 1;
11602 ldv_30957: ;
11603 {
11604#line 1376
11605 __cil_tmp25 = pkt->frames;
11606#line 1376
11607 if (__cil_tmp25 > f) {
11608#line 1377
11609 goto ldv_30956;
11610 } else {
11611#line 1379
11612 goto ldv_30958;
11613 }
11614 }
11615 ldv_30958:
11616 {
11617#line 1384
11618 frames_write = 0;
11619#line 1385
11620 __cil_tmp26 = & pkt->lock;
11621#line 1385
11622 spin_lock(__cil_tmp26);
11623#line 1386
11624 bio = pkt->orig_bios.head;
11625 }
11626#line 1386
11627 goto ldv_30974;
11628 ldv_30973:
11629 {
11630#line 1387
11631 __cil_tmp27 = bio->bi_idx;
11632#line 1387
11633 segment = (int )__cil_tmp27;
11634#line 1388
11635 src_offs = 0;
11636#line 1389
11637 __cil_tmp28 = pkt->sector;
11638#line 1389
11639 __cil_tmp29 = bio->bi_sector;
11640#line 1389
11641 __cil_tmp30 = __cil_tmp29 - __cil_tmp28;
11642#line 1389
11643 __cil_tmp31 = __cil_tmp30 / 4UL;
11644#line 1389
11645 first_frame = (int )__cil_tmp31;
11646#line 1390
11647 __cil_tmp32 = bio->bi_size;
11648#line 1390
11649 __cil_tmp33 = __cil_tmp32 / 2048U;
11650#line 1390
11651 num_frames = (int )__cil_tmp33;
11652#line 1391
11653 __cil_tmp34 = first_frame < 0;
11654#line 1391
11655 __cil_tmp35 = (long )__cil_tmp34;
11656#line 1391
11657 tmp = __builtin_expect(__cil_tmp35, 0L);
11658 }
11659#line 1391
11660 if (tmp != 0L) {
11661#line 1391
11662 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
11663 "i" (1391), "i" (12UL));
11664 ldv_30963: ;
11665#line 1391
11666 goto ldv_30963;
11667 } else {
11668
11669 }
11670 {
11671#line 1392
11672 __cil_tmp36 = pkt->frames;
11673#line 1392
11674 __cil_tmp37 = first_frame + num_frames;
11675#line 1392
11676 __cil_tmp38 = __cil_tmp37 > __cil_tmp36;
11677#line 1392
11678 __cil_tmp39 = (long )__cil_tmp38;
11679#line 1392
11680 tmp___0 = __builtin_expect(__cil_tmp39, 0L);
11681 }
11682#line 1392
11683 if (tmp___0 != 0L) {
11684#line 1392
11685 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
11686 "i" (1392), "i" (12UL));
11687 ldv_30964: ;
11688#line 1392
11689 goto ldv_30964;
11690 } else {
11691
11692 }
11693#line 1393
11694 f = first_frame;
11695#line 1393
11696 goto ldv_30971;
11697 ldv_30970:
11698#line 1394
11699 __cil_tmp40 = (unsigned long )segment;
11700#line 1394
11701 __cil_tmp41 = bio->bi_io_vec;
11702#line 1394
11703 src_bvl = __cil_tmp41 + __cil_tmp40;
11704#line 1396
11705 goto ldv_30968;
11706 ldv_30967:
11707 {
11708#line 1397
11709 __cil_tmp42 = src_bvl->bv_len;
11710#line 1397
11711 __cil_tmp43 = (unsigned int )src_offs;
11712#line 1397
11713 __cil_tmp44 = __cil_tmp43 - __cil_tmp42;
11714#line 1397
11715 src_offs = (int )__cil_tmp44;
11716#line 1398
11717 segment = segment + 1;
11718#line 1399
11719 __cil_tmp45 = bio->bi_vcnt;
11720#line 1399
11721 __cil_tmp46 = (int )__cil_tmp45;
11722#line 1399
11723 __cil_tmp47 = __cil_tmp46 <= segment;
11724#line 1399
11725 __cil_tmp48 = (long )__cil_tmp47;
11726#line 1399
11727 tmp___1 = __builtin_expect(__cil_tmp48, 0L);
11728 }
11729#line 1399
11730 if (tmp___1 != 0L) {
11731#line 1399
11732 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
11733 "i" (1399), "i" (12UL));
11734 ldv_30966: ;
11735#line 1399
11736 goto ldv_30966;
11737 } else {
11738
11739 }
11740#line 1400
11741 __cil_tmp49 = (unsigned long )segment;
11742#line 1400
11743 __cil_tmp50 = bio->bi_io_vec;
11744#line 1400
11745 src_bvl = __cil_tmp50 + __cil_tmp49;
11746 ldv_30968: ;
11747 {
11748#line 1396
11749 __cil_tmp51 = src_bvl->bv_len;
11750#line 1396
11751 __cil_tmp52 = (unsigned int )src_offs;
11752#line 1396
11753 if (__cil_tmp52 >= __cil_tmp51) {
11754#line 1397
11755 goto ldv_30967;
11756 } else {
11757#line 1399
11758 goto ldv_30969;
11759 }
11760 }
11761 ldv_30969: ;
11762 {
11763#line 1403
11764 __cil_tmp53 = (unsigned int )src_offs;
11765#line 1403
11766 __cil_tmp54 = src_bvl->bv_len;
11767#line 1403
11768 __cil_tmp55 = __cil_tmp54 - __cil_tmp53;
11769#line 1403
11770 if (__cil_tmp55 > 2047U) {
11771#line 1404
11772 __cil_tmp56 = (unsigned long )f;
11773#line 1404
11774 __cil_tmp57 = bvec + __cil_tmp56;
11775#line 1404
11776 __cil_tmp57->bv_page = src_bvl->bv_page;
11777#line 1405
11778 __cil_tmp58 = (unsigned long )f;
11779#line 1405
11780 __cil_tmp59 = bvec + __cil_tmp58;
11781#line 1405
11782 __cil_tmp60 = (unsigned int )src_offs;
11783#line 1405
11784 __cil_tmp61 = src_bvl->bv_offset;
11785#line 1405
11786 __cil_tmp59->bv_offset = __cil_tmp61 + __cil_tmp60;
11787 } else {
11788 {
11789#line 1407
11790 __cil_tmp62 = (unsigned long )f;
11791#line 1407
11792 __cil_tmp63 = bvec + __cil_tmp62;
11793#line 1407
11794 __cil_tmp64 = __cil_tmp63->bv_page;
11795#line 1407
11796 __cil_tmp65 = (unsigned long )f;
11797#line 1407
11798 __cil_tmp66 = bvec + __cil_tmp65;
11799#line 1407
11800 __cil_tmp67 = __cil_tmp66->bv_offset;
11801#line 1407
11802 __cil_tmp68 = (int )__cil_tmp67;
11803#line 1407
11804 pkt_copy_bio_data(bio, segment, src_offs, __cil_tmp64, __cil_tmp68);
11805 }
11806 }
11807 }
11808#line 1410
11809 src_offs = src_offs + 2048;
11810#line 1411
11811 frames_write = frames_write + 1;
11812#line 1393
11813 f = f + 1;
11814 ldv_30971: ;
11815 {
11816#line 1393
11817 __cil_tmp69 = first_frame + num_frames;
11818#line 1393
11819 if (__cil_tmp69 > f) {
11820#line 1394
11821 goto ldv_30970;
11822 } else {
11823#line 1396
11824 goto ldv_30972;
11825 }
11826 }
11827 ldv_30972:
11828#line 1386
11829 bio = bio->bi_next;
11830 ldv_30974: ;
11831 {
11832#line 1386
11833 __cil_tmp70 = (struct bio *)0;
11834#line 1386
11835 __cil_tmp71 = (unsigned long )__cil_tmp70;
11836#line 1386
11837 __cil_tmp72 = (unsigned long )bio;
11838#line 1386
11839 if (__cil_tmp72 != __cil_tmp71) {
11840#line 1387
11841 goto ldv_30973;
11842 } else {
11843#line 1389
11844 goto ldv_30975;
11845 }
11846 }
11847 ldv_30975:
11848 {
11849#line 1414
11850 __cil_tmp73 = (enum packet_data_state )3;
11851#line 1414
11852 pkt_set_state(pkt, __cil_tmp73);
11853#line 1415
11854 __cil_tmp74 = & pkt->lock;
11855#line 1415
11856 spin_unlock(__cil_tmp74);
11857#line 1419
11858 __cil_tmp75 = pkt->write_size;
11859#line 1419
11860 __cil_tmp76 = __cil_tmp75 != frames_write;
11861#line 1419
11862 __cil_tmp77 = (long )__cil_tmp76;
11863#line 1419
11864 tmp___2 = __builtin_expect(__cil_tmp77, 0L);
11865 }
11866#line 1419
11867 if (tmp___2 != 0L) {
11868#line 1419
11869 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
11870 "i" (1419), "i" (12UL));
11871 ldv_30976: ;
11872#line 1419
11873 goto ldv_30976;
11874 } else {
11875
11876 }
11877 {
11878#line 1421
11879 __cil_tmp78 = & pd->flags;
11880#line 1421
11881 __cil_tmp79 = (unsigned long const volatile *)__cil_tmp78;
11882#line 1421
11883 tmp___3 = constant_test_bit(4U, __cil_tmp79);
11884 }
11885#line 1421
11886 if (tmp___3 != 0) {
11887 {
11888#line 1422
11889 pkt_make_local_copy(pkt, bvec);
11890#line 1423
11891 pkt->cache_valid = 1;
11892 }
11893 } else {
11894 {
11895#line 1421
11896 __cil_tmp80 = pkt->frames;
11897#line 1421
11898 __cil_tmp81 = pkt->write_size;
11899#line 1421
11900 if (__cil_tmp81 < __cil_tmp80) {
11901 {
11902#line 1422
11903 pkt_make_local_copy(pkt, bvec);
11904#line 1423
11905 pkt->cache_valid = 1;
11906 }
11907 } else {
11908#line 1425
11909 pkt->cache_valid = 0;
11910 }
11911 }
11912 }
11913 {
11914#line 1429
11915 __cil_tmp82 = pkt->w_bio;
11916#line 1429
11917 bio_init(__cil_tmp82);
11918#line 1430
11919 __cil_tmp83 = pkt->w_bio;
11920#line 1430
11921 __cil_tmp83->bi_max_vecs = 128U;
11922#line 1431
11923 __cil_tmp84 = pkt->w_bio;
11924#line 1431
11925 __cil_tmp84->bi_sector = pkt->sector;
11926#line 1432
11927 __cil_tmp85 = pkt->w_bio;
11928#line 1432
11929 __cil_tmp85->bi_bdev = pd->bdev;
11930#line 1433
11931 __cil_tmp86 = pkt->w_bio;
11932#line 1433
11933 __cil_tmp86->bi_end_io = & pkt_end_io_packet_write;
11934#line 1434
11935 __cil_tmp87 = pkt->w_bio;
11936#line 1434
11937 __cil_tmp87->bi_private = (void *)pkt;
11938#line 1435
11939 __cil_tmp88 = pkt->w_bio;
11940#line 1435
11941 __cil_tmp88->bi_io_vec = bvec;
11942#line 1436
11943 __cil_tmp89 = pkt->w_bio;
11944#line 1436
11945 __cil_tmp89->bi_destructor = & pkt_bio_destructor;
11946#line 1437
11947 f = 0;
11948 }
11949#line 1437
11950 goto ldv_30979;
11951 ldv_30978:
11952 {
11953#line 1438
11954 __cil_tmp90 = pkt->w_bio;
11955#line 1438
11956 __cil_tmp91 = (unsigned long )f;
11957#line 1438
11958 __cil_tmp92 = bvec + __cil_tmp91;
11959#line 1438
11960 __cil_tmp93 = __cil_tmp92->bv_page;
11961#line 1438
11962 __cil_tmp94 = (unsigned long )f;
11963#line 1438
11964 __cil_tmp95 = bvec + __cil_tmp94;
11965#line 1438
11966 __cil_tmp96 = __cil_tmp95->bv_offset;
11967#line 1438
11968 tmp___4 = bio_add_page(__cil_tmp90, __cil_tmp93, 2048U, __cil_tmp96);
11969 }
11970#line 1438
11971 if (tmp___4 == 0) {
11972#line 1439
11973 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
11974 "i" (1439), "i" (12UL));
11975 ldv_30977: ;
11976#line 1439
11977 goto ldv_30977;
11978 } else {
11979
11980 }
11981#line 1437
11982 f = f + 1;
11983 ldv_30979: ;
11984 {
11985#line 1437
11986 __cil_tmp97 = pkt->frames;
11987#line 1437
11988 if (__cil_tmp97 > f) {
11989#line 1438
11990 goto ldv_30978;
11991 } else {
11992#line 1440
11993 goto ldv_30980;
11994 }
11995 }
11996 ldv_30980:
11997 {
11998#line 1442
11999 __cil_tmp98 = & pkt->io_wait;
12000#line 1442
12001 atomic_set(__cil_tmp98, 1);
12002#line 1443
12003 __cil_tmp99 = pkt->w_bio;
12004#line 1443
12005 __cil_tmp99->bi_rw = 1UL;
12006#line 1444
12007 __cil_tmp100 = pkt->w_bio;
12008#line 1444
12009 pkt_queue_bio(pd, __cil_tmp100);
12010 }
12011#line 1445
12012 return;
12013}
12014}
12015#line 1447 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
12016static void pkt_finish_packet(struct packet_data *pkt , int uptodate )
12017{ struct bio *bio ;
12018 int tmp ;
12019 struct bio_list *__cil_tmp5 ;
12020 struct bio *__cil_tmp6 ;
12021 unsigned long __cil_tmp7 ;
12022 unsigned long __cil_tmp8 ;
12023
12024 {
12025#line 1451
12026 if (uptodate == 0) {
12027#line 1452
12028 pkt->cache_valid = 0;
12029 } else {
12030
12031 }
12032#line 1455
12033 goto ldv_30987;
12034 ldv_30986: ;
12035#line 1456
12036 if (uptodate != 0) {
12037#line 1456
12038 tmp = 0;
12039 } else {
12040#line 1456
12041 tmp = -5;
12042 }
12043 {
12044#line 1456
12045 bio_endio(bio, tmp);
12046 }
12047 ldv_30987:
12048 {
12049#line 1455
12050 __cil_tmp5 = & pkt->orig_bios;
12051#line 1455
12052 bio = bio_list_pop(__cil_tmp5);
12053 }
12054 {
12055#line 1455
12056 __cil_tmp6 = (struct bio *)0;
12057#line 1455
12058 __cil_tmp7 = (unsigned long )__cil_tmp6;
12059#line 1455
12060 __cil_tmp8 = (unsigned long )bio;
12061#line 1455
12062 if (__cil_tmp8 != __cil_tmp7) {
12063#line 1456
12064 goto ldv_30986;
12065 } else {
12066#line 1458
12067 goto ldv_30988;
12068 }
12069 }
12070 ldv_30988: ;
12071#line 1460
12072 return;
12073}
12074}
12075#line 1459 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
12076static void pkt_run_state_machine(struct pktcdvd_device *pd , struct packet_data *pkt )
12077{ int uptodate ;
12078 int tmp ;
12079 int tmp___0 ;
12080 int tmp___1 ;
12081 int tmp___2 ;
12082 int tmp___3 ;
12083 enum packet_data_state __cil_tmp9 ;
12084 unsigned int __cil_tmp10 ;
12085 int __cil_tmp11 ;
12086 enum packet_data_state __cil_tmp12 ;
12087 unsigned int __cil_tmp13 ;
12088 int __cil_tmp14 ;
12089 enum packet_data_state __cil_tmp15 ;
12090 unsigned int __cil_tmp16 ;
12091 int __cil_tmp17 ;
12092 enum packet_data_state __cil_tmp18 ;
12093 unsigned int __cil_tmp19 ;
12094 int __cil_tmp20 ;
12095 enum packet_data_state __cil_tmp21 ;
12096 unsigned int __cil_tmp22 ;
12097 int __cil_tmp23 ;
12098 int __cil_tmp24 ;
12099 int __cil_tmp25 ;
12100 long __cil_tmp26 ;
12101 enum packet_data_state __cil_tmp27 ;
12102 atomic_t *__cil_tmp28 ;
12103 atomic_t const *__cil_tmp29 ;
12104 atomic_t *__cil_tmp30 ;
12105 atomic_t const *__cil_tmp31 ;
12106 enum packet_data_state __cil_tmp32 ;
12107 atomic_t *__cil_tmp33 ;
12108 atomic_t const *__cil_tmp34 ;
12109 struct bio *__cil_tmp35 ;
12110 unsigned long *__cil_tmp36 ;
12111 unsigned long const volatile *__cil_tmp37 ;
12112 enum packet_data_state __cil_tmp38 ;
12113 enum packet_data_state __cil_tmp39 ;
12114 enum packet_data_state __cil_tmp40 ;
12115 struct bio *__cil_tmp41 ;
12116 unsigned long *__cil_tmp42 ;
12117 unsigned long const volatile *__cil_tmp43 ;
12118
12119 {
12120 ldv_31002: ;
12121 {
12122#line 1467
12123 __cil_tmp9 = pkt->state;
12124#line 1467
12125 __cil_tmp10 = (unsigned int )__cil_tmp9;
12126#line 1467
12127 __cil_tmp11 = (int )__cil_tmp10;
12128#line 1467
12129 if (__cil_tmp11 == 1) {
12130#line 1467
12131 goto case_1;
12132 } else {
12133 {
12134#line 1476
12135 __cil_tmp12 = pkt->state;
12136#line 1476
12137 __cil_tmp13 = (unsigned int )__cil_tmp12;
12138#line 1476
12139 __cil_tmp14 = (int )__cil_tmp13;
12140#line 1476
12141 if (__cil_tmp14 == 2) {
12142#line 1476
12143 goto case_2;
12144 } else {
12145 {
12146#line 1487
12147 __cil_tmp15 = pkt->state;
12148#line 1487
12149 __cil_tmp16 = (unsigned int )__cil_tmp15;
12150#line 1487
12151 __cil_tmp17 = (int )__cil_tmp16;
12152#line 1487
12153 if (__cil_tmp17 == 3) {
12154#line 1487
12155 goto case_3;
12156 } else {
12157 {
12158#line 1498
12159 __cil_tmp18 = pkt->state;
12160#line 1498
12161 __cil_tmp19 = (unsigned int )__cil_tmp18;
12162#line 1498
12163 __cil_tmp20 = (int )__cil_tmp19;
12164#line 1498
12165 if (__cil_tmp20 == 4) {
12166#line 1498
12167 goto case_4;
12168 } else {
12169 {
12170#line 1507
12171 __cil_tmp21 = pkt->state;
12172#line 1507
12173 __cil_tmp22 = (unsigned int )__cil_tmp21;
12174#line 1507
12175 __cil_tmp23 = (int )__cil_tmp22;
12176#line 1507
12177 if (__cil_tmp23 == 5) {
12178#line 1507
12179 goto case_5;
12180 } else {
12181#line 1512
12182 goto switch_default;
12183#line 1466
12184 if (0) {
12185 case_1: ;
12186 {
12187#line 1468
12188 __cil_tmp24 = pkt->frames;
12189#line 1468
12190 __cil_tmp25 = pkt->write_size;
12191#line 1468
12192 if (__cil_tmp25 < __cil_tmp24) {
12193 {
12194#line 1468
12195 __cil_tmp26 = pkt->sleep_time;
12196#line 1468
12197 if (__cil_tmp26 > 0L) {
12198#line 1469
12199 return;
12200 } else {
12201
12202 }
12203 }
12204 } else {
12205
12206 }
12207 }
12208 {
12209#line 1471
12210 pkt->sleep_time = 0L;
12211#line 1472
12212 pkt_gather_data(pd, pkt);
12213#line 1473
12214 __cil_tmp27 = (enum packet_data_state )2;
12215#line 1473
12216 pkt_set_state(pkt, __cil_tmp27);
12217 }
12218#line 1474
12219 goto ldv_30995;
12220 case_2:
12221 {
12222#line 1477
12223 __cil_tmp28 = & pkt->io_wait;
12224#line 1477
12225 __cil_tmp29 = (atomic_t const *)__cil_tmp28;
12226#line 1477
12227 tmp = atomic_read(__cil_tmp29);
12228 }
12229#line 1477
12230 if (tmp > 0) {
12231#line 1478
12232 return;
12233 } else {
12234
12235 }
12236 {
12237#line 1480
12238 __cil_tmp30 = & pkt->io_errors;
12239#line 1480
12240 __cil_tmp31 = (atomic_t const *)__cil_tmp30;
12241#line 1480
12242 tmp___0 = atomic_read(__cil_tmp31);
12243 }
12244#line 1480
12245 if (tmp___0 > 0) {
12246 {
12247#line 1481
12248 __cil_tmp32 = (enum packet_data_state )4;
12249#line 1481
12250 pkt_set_state(pkt, __cil_tmp32);
12251 }
12252 } else {
12253 {
12254#line 1483
12255 pkt_start_write(pd, pkt);
12256 }
12257 }
12258#line 1485
12259 goto ldv_30995;
12260 case_3:
12261 {
12262#line 1488
12263 __cil_tmp33 = & pkt->io_wait;
12264#line 1488
12265 __cil_tmp34 = (atomic_t const *)__cil_tmp33;
12266#line 1488
12267 tmp___1 = atomic_read(__cil_tmp34);
12268 }
12269#line 1488
12270 if (tmp___1 > 0) {
12271#line 1489
12272 return;
12273 } else {
12274
12275 }
12276 {
12277#line 1491
12278 __cil_tmp35 = pkt->w_bio;
12279#line 1491
12280 __cil_tmp36 = & __cil_tmp35->bi_flags;
12281#line 1491
12282 __cil_tmp37 = (unsigned long const volatile *)__cil_tmp36;
12283#line 1491
12284 tmp___2 = constant_test_bit(0U, __cil_tmp37);
12285 }
12286#line 1491
12287 if (tmp___2 != 0) {
12288 {
12289#line 1492
12290 __cil_tmp38 = (enum packet_data_state )5;
12291#line 1492
12292 pkt_set_state(pkt, __cil_tmp38);
12293 }
12294 } else {
12295 {
12296#line 1494
12297 __cil_tmp39 = (enum packet_data_state )4;
12298#line 1494
12299 pkt_set_state(pkt, __cil_tmp39);
12300 }
12301 }
12302#line 1496
12303 goto ldv_30995;
12304 case_4:
12305 {
12306#line 1499
12307 tmp___3 = pkt_start_recovery(pkt);
12308 }
12309#line 1499
12310 if (tmp___3 != 0) {
12311 {
12312#line 1500
12313 pkt_start_write(pd, pkt);
12314 }
12315 } else {
12316 {
12317#line 1503
12318 __cil_tmp40 = (enum packet_data_state )5;
12319#line 1503
12320 pkt_set_state(pkt, __cil_tmp40);
12321 }
12322 }
12323#line 1505
12324 goto ldv_30995;
12325 case_5:
12326 {
12327#line 1508
12328 __cil_tmp41 = pkt->w_bio;
12329#line 1508
12330 __cil_tmp42 = & __cil_tmp41->bi_flags;
12331#line 1508
12332 __cil_tmp43 = (unsigned long const volatile *)__cil_tmp42;
12333#line 1508
12334 uptodate = constant_test_bit(0U, __cil_tmp43);
12335#line 1509
12336 pkt_finish_packet(pkt, uptodate);
12337 }
12338#line 1510
12339 return;
12340 switch_default:
12341#line 1513
12342 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
12343 "i" (1513), "i" (12UL));
12344 ldv_31001: ;
12345#line 1513
12346 goto ldv_31001;
12347 } else {
12348
12349 }
12350 }
12351 }
12352 }
12353 }
12354 }
12355 }
12356 }
12357 }
12358 }
12359 }
12360 ldv_30995: ;
12361#line 1516
12362 goto ldv_31002;
12363}
12364}
12365#line 1519 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
12366static void pkt_handle_packets(struct pktcdvd_device *pd )
12367{ struct packet_data *pkt ;
12368 struct packet_data *next ;
12369 struct list_head const *__mptr ;
12370 int tmp ;
12371 struct list_head const *__mptr___0 ;
12372 struct list_head const *__mptr___1 ;
12373 struct list_head const *__mptr___2 ;
12374 struct list_head const *__mptr___3 ;
12375 struct list_head *__cil_tmp10 ;
12376 atomic_t *__cil_tmp11 ;
12377 atomic_t const *__cil_tmp12 ;
12378 atomic_t *__cil_tmp13 ;
12379 struct list_head *__cil_tmp14 ;
12380 struct list_head *__cil_tmp15 ;
12381 unsigned long __cil_tmp16 ;
12382 struct list_head *__cil_tmp17 ;
12383 unsigned long __cil_tmp18 ;
12384 spinlock_t *__cil_tmp19 ;
12385 struct list_head *__cil_tmp20 ;
12386 struct list_head *__cil_tmp21 ;
12387 enum packet_data_state __cil_tmp22 ;
12388 unsigned int __cil_tmp23 ;
12389 struct list_head *__cil_tmp24 ;
12390 enum packet_data_state __cil_tmp25 ;
12391 atomic_t *__cil_tmp26 ;
12392 struct list_head *__cil_tmp27 ;
12393 struct list_head *__cil_tmp28 ;
12394 unsigned long __cil_tmp29 ;
12395 struct list_head *__cil_tmp30 ;
12396 unsigned long __cil_tmp31 ;
12397 spinlock_t *__cil_tmp32 ;
12398
12399 {
12400#line 1528
12401 __cil_tmp10 = pd->cdrw.pkt_active_list.next;
12402#line 1528
12403 __mptr = (struct list_head const *)__cil_tmp10;
12404#line 1528
12405 pkt = (struct packet_data *)__mptr;
12406#line 1528
12407 goto ldv_31013;
12408 ldv_31012:
12409 {
12410#line 1529
12411 __cil_tmp11 = & pkt->run_sm;
12412#line 1529
12413 __cil_tmp12 = (atomic_t const *)__cil_tmp11;
12414#line 1529
12415 tmp = atomic_read(__cil_tmp12);
12416 }
12417#line 1529
12418 if (tmp > 0) {
12419 {
12420#line 1530
12421 __cil_tmp13 = & pkt->run_sm;
12422#line 1530
12423 atomic_set(__cil_tmp13, 0);
12424#line 1531
12425 pkt_run_state_machine(pd, pkt);
12426 }
12427 } else {
12428
12429 }
12430#line 1528
12431 __cil_tmp14 = pkt->list.next;
12432#line 1528
12433 __mptr___0 = (struct list_head const *)__cil_tmp14;
12434#line 1528
12435 pkt = (struct packet_data *)__mptr___0;
12436 ldv_31013: ;
12437 {
12438#line 1528
12439 __cil_tmp15 = & pd->cdrw.pkt_active_list;
12440#line 1528
12441 __cil_tmp16 = (unsigned long )__cil_tmp15;
12442#line 1528
12443 __cil_tmp17 = & pkt->list;
12444#line 1528
12445 __cil_tmp18 = (unsigned long )__cil_tmp17;
12446#line 1528
12447 if (__cil_tmp18 != __cil_tmp16) {
12448#line 1529
12449 goto ldv_31012;
12450 } else {
12451#line 1531
12452 goto ldv_31014;
12453 }
12454 }
12455 ldv_31014:
12456 {
12457#line 1538
12458 __cil_tmp19 = & pd->cdrw.active_list_lock;
12459#line 1538
12460 spin_lock(__cil_tmp19);
12461#line 1539
12462 __cil_tmp20 = pd->cdrw.pkt_active_list.next;
12463#line 1539
12464 __mptr___1 = (struct list_head const *)__cil_tmp20;
12465#line 1539
12466 pkt = (struct packet_data *)__mptr___1;
12467#line 1539
12468 __cil_tmp21 = pkt->list.next;
12469#line 1539
12470 __mptr___2 = (struct list_head const *)__cil_tmp21;
12471#line 1539
12472 next = (struct packet_data *)__mptr___2;
12473 }
12474#line 1539
12475 goto ldv_31022;
12476 ldv_31021: ;
12477 {
12478#line 1540
12479 __cil_tmp22 = pkt->state;
12480#line 1540
12481 __cil_tmp23 = (unsigned int )__cil_tmp22;
12482#line 1540
12483 if (__cil_tmp23 == 5U) {
12484 {
12485#line 1541
12486 __cil_tmp24 = & pkt->list;
12487#line 1541
12488 list_del(__cil_tmp24);
12489#line 1542
12490 pkt_put_packet_data(pd, pkt);
12491#line 1543
12492 __cil_tmp25 = (enum packet_data_state )0;
12493#line 1543
12494 pkt_set_state(pkt, __cil_tmp25);
12495#line 1544
12496 __cil_tmp26 = & pd->scan_queue;
12497#line 1544
12498 atomic_set(__cil_tmp26, 1);
12499 }
12500 } else {
12501
12502 }
12503 }
12504#line 1539
12505 pkt = next;
12506#line 1539
12507 __cil_tmp27 = next->list.next;
12508#line 1539
12509 __mptr___3 = (struct list_head const *)__cil_tmp27;
12510#line 1539
12511 next = (struct packet_data *)__mptr___3;
12512 ldv_31022: ;
12513 {
12514#line 1539
12515 __cil_tmp28 = & pd->cdrw.pkt_active_list;
12516#line 1539
12517 __cil_tmp29 = (unsigned long )__cil_tmp28;
12518#line 1539
12519 __cil_tmp30 = & pkt->list;
12520#line 1539
12521 __cil_tmp31 = (unsigned long )__cil_tmp30;
12522#line 1539
12523 if (__cil_tmp31 != __cil_tmp29) {
12524#line 1540
12525 goto ldv_31021;
12526 } else {
12527#line 1542
12528 goto ldv_31023;
12529 }
12530 }
12531 ldv_31023:
12532 {
12533#line 1547
12534 __cil_tmp32 = & pd->cdrw.active_list_lock;
12535#line 1547
12536 spin_unlock(__cil_tmp32);
12537 }
12538#line 1548
12539 return;
12540}
12541}
12542#line 1550 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
12543static void pkt_count_states(struct pktcdvd_device *pd , int *states )
12544{ struct packet_data *pkt ;
12545 int i ;
12546 struct list_head const *__mptr ;
12547 struct list_head const *__mptr___0 ;
12548 unsigned long __cil_tmp7 ;
12549 int *__cil_tmp8 ;
12550 spinlock_t *__cil_tmp9 ;
12551 struct list_head *__cil_tmp10 ;
12552 enum packet_data_state __cil_tmp11 ;
12553 unsigned long __cil_tmp12 ;
12554 int *__cil_tmp13 ;
12555 enum packet_data_state __cil_tmp14 ;
12556 unsigned long __cil_tmp15 ;
12557 int *__cil_tmp16 ;
12558 int __cil_tmp17 ;
12559 struct list_head *__cil_tmp18 ;
12560 struct list_head *__cil_tmp19 ;
12561 unsigned long __cil_tmp20 ;
12562 struct list_head *__cil_tmp21 ;
12563 unsigned long __cil_tmp22 ;
12564 spinlock_t *__cil_tmp23 ;
12565
12566 {
12567#line 1555
12568 i = 0;
12569#line 1555
12570 goto ldv_31031;
12571 ldv_31030:
12572#line 1556
12573 __cil_tmp7 = (unsigned long )i;
12574#line 1556
12575 __cil_tmp8 = states + __cil_tmp7;
12576#line 1556
12577 *__cil_tmp8 = 0;
12578#line 1555
12579 i = i + 1;
12580 ldv_31031: ;
12581#line 1555
12582 if (i <= 5) {
12583#line 1556
12584 goto ldv_31030;
12585 } else {
12586#line 1558
12587 goto ldv_31032;
12588 }
12589 ldv_31032:
12590 {
12591#line 1558
12592 __cil_tmp9 = & pd->cdrw.active_list_lock;
12593#line 1558
12594 spin_lock(__cil_tmp9);
12595#line 1559
12596 __cil_tmp10 = pd->cdrw.pkt_active_list.next;
12597#line 1559
12598 __mptr = (struct list_head const *)__cil_tmp10;
12599#line 1559
12600 pkt = (struct packet_data *)__mptr;
12601 }
12602#line 1559
12603 goto ldv_31038;
12604 ldv_31037:
12605#line 1560
12606 __cil_tmp11 = pkt->state;
12607#line 1560
12608 __cil_tmp12 = (unsigned long )__cil_tmp11;
12609#line 1560
12610 __cil_tmp13 = states + __cil_tmp12;
12611#line 1560
12612 __cil_tmp14 = pkt->state;
12613#line 1560
12614 __cil_tmp15 = (unsigned long )__cil_tmp14;
12615#line 1560
12616 __cil_tmp16 = states + __cil_tmp15;
12617#line 1560
12618 __cil_tmp17 = *__cil_tmp16;
12619#line 1560
12620 *__cil_tmp13 = __cil_tmp17 + 1;
12621#line 1559
12622 __cil_tmp18 = pkt->list.next;
12623#line 1559
12624 __mptr___0 = (struct list_head const *)__cil_tmp18;
12625#line 1559
12626 pkt = (struct packet_data *)__mptr___0;
12627 ldv_31038: ;
12628 {
12629#line 1559
12630 __cil_tmp19 = & pd->cdrw.pkt_active_list;
12631#line 1559
12632 __cil_tmp20 = (unsigned long )__cil_tmp19;
12633#line 1559
12634 __cil_tmp21 = & pkt->list;
12635#line 1559
12636 __cil_tmp22 = (unsigned long )__cil_tmp21;
12637#line 1559
12638 if (__cil_tmp22 != __cil_tmp20) {
12639#line 1560
12640 goto ldv_31037;
12641 } else {
12642#line 1562
12643 goto ldv_31039;
12644 }
12645 }
12646 ldv_31039:
12647 {
12648#line 1562
12649 __cil_tmp23 = & pd->cdrw.active_list_lock;
12650#line 1562
12651 spin_unlock(__cil_tmp23);
12652 }
12653#line 1563
12654 return;
12655}
12656}
12657#line 1569 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
12658static int kcdrwd(void *foobar )
12659{ struct pktcdvd_device *pd ;
12660 struct packet_data *pkt ;
12661 long min_sleep_time ;
12662 long residue ;
12663 struct task_struct *tmp ;
12664 wait_queue_t wait ;
12665 struct task_struct *tmp___0 ;
12666 long volatile __x ;
12667 u8 volatile *__ptr ;
12668 struct task_struct *tmp___1 ;
12669 u16 volatile *__ptr___0 ;
12670 struct task_struct *tmp___2 ;
12671 u32 volatile *__ptr___1 ;
12672 struct task_struct *tmp___3 ;
12673 u64 volatile *__ptr___2 ;
12674 struct task_struct *tmp___4 ;
12675 int tmp___5 ;
12676 struct list_head const *__mptr ;
12677 int tmp___6 ;
12678 struct list_head const *__mptr___0 ;
12679 int tmp___7 ;
12680 struct list_head const *__mptr___1 ;
12681 struct list_head const *__mptr___2 ;
12682 struct list_head const *__mptr___3 ;
12683 struct list_head const *__mptr___4 ;
12684 int tmp___8 ;
12685 long volatile __x___0 ;
12686 u8 volatile *__ptr___3 ;
12687 struct task_struct *tmp___9 ;
12688 u16 volatile *__ptr___4 ;
12689 struct task_struct *tmp___10 ;
12690 u32 volatile *__ptr___5 ;
12691 struct task_struct *tmp___11 ;
12692 u64 volatile *__ptr___6 ;
12693 struct task_struct *tmp___12 ;
12694 int tmp___13 ;
12695 int tmp___14 ;
12696 wait_queue_head_t *__cil_tmp39 ;
12697 long volatile *__cil_tmp40 ;
12698 long volatile *__cil_tmp41 ;
12699 long volatile *__cil_tmp42 ;
12700 long volatile *__cil_tmp43 ;
12701 atomic_t *__cil_tmp44 ;
12702 atomic_t const *__cil_tmp45 ;
12703 struct list_head *__cil_tmp46 ;
12704 atomic_t *__cil_tmp47 ;
12705 atomic_t const *__cil_tmp48 ;
12706 struct list_head *__cil_tmp49 ;
12707 struct list_head *__cil_tmp50 ;
12708 unsigned long __cil_tmp51 ;
12709 struct list_head *__cil_tmp52 ;
12710 unsigned long __cil_tmp53 ;
12711 atomic_t *__cil_tmp54 ;
12712 atomic_t const *__cil_tmp55 ;
12713 struct list_head *__cil_tmp56 ;
12714 long __cil_tmp57 ;
12715 long __cil_tmp58 ;
12716 struct list_head *__cil_tmp59 ;
12717 struct list_head *__cil_tmp60 ;
12718 unsigned long __cil_tmp61 ;
12719 struct list_head *__cil_tmp62 ;
12720 unsigned long __cil_tmp63 ;
12721 struct list_head *__cil_tmp64 ;
12722 long __cil_tmp65 ;
12723 long __cil_tmp66 ;
12724 long __cil_tmp67 ;
12725 long __cil_tmp68 ;
12726 atomic_t *__cil_tmp69 ;
12727 struct list_head *__cil_tmp70 ;
12728 struct list_head *__cil_tmp71 ;
12729 unsigned long __cil_tmp72 ;
12730 struct list_head *__cil_tmp73 ;
12731 unsigned long __cil_tmp74 ;
12732 long volatile *__cil_tmp75 ;
12733 long volatile *__cil_tmp76 ;
12734 long volatile *__cil_tmp77 ;
12735 long volatile *__cil_tmp78 ;
12736 wait_queue_head_t *__cil_tmp79 ;
12737
12738 {
12739 {
12740#line 1571
12741 pd = (struct pktcdvd_device *)foobar;
12742#line 1575
12743 tmp = get_current();
12744#line 1575
12745 set_user_nice(tmp, -20L);
12746#line 1576
12747 set_freezable();
12748 }
12749 ldv_31102:
12750 {
12751#line 1579
12752 tmp___0 = get_current();
12753#line 1579
12754 wait.flags = 0U;
12755#line 1579
12756 wait.private = (void *)tmp___0;
12757#line 1579
12758 wait.func = & default_wake_function;
12759#line 1579
12760 wait.task_list.next = (struct list_head *)0;
12761#line 1579
12762 wait.task_list.prev = (struct list_head *)0;
12763#line 1584
12764 __cil_tmp39 = & pd->wqueue;
12765#line 1584
12766 add_wait_queue(__cil_tmp39, & wait);
12767 }
12768 ldv_31085:
12769#line 1586
12770 __x = (long volatile )1L;
12771#line 1586
12772 if (1) {
12773#line 1586
12774 goto case_8;
12775 } else {
12776#line 1586
12777 goto switch_default;
12778#line 1586
12779 if (0) {
12780 {
12781#line 1586
12782 tmp___1 = get_current();
12783#line 1586
12784 __cil_tmp40 = & tmp___1->state;
12785#line 1586
12786 __ptr = (u8 volatile *)__cil_tmp40;
12787#line 1586
12788 __asm__ volatile ("xchgb %0,%1": "=q" (__x), "+m" (*__ptr): "0" (__x): "memory");
12789 }
12790#line 1586
12791 goto ldv_31051;
12792 {
12793#line 1586
12794 tmp___2 = get_current();
12795#line 1586
12796 __cil_tmp41 = & tmp___2->state;
12797#line 1586
12798 __ptr___0 = (u16 volatile *)__cil_tmp41;
12799#line 1586
12800 __asm__ volatile ("xchgw %0,%1": "=r" (__x), "+m" (*__ptr___0): "0" (__x): "memory");
12801 }
12802#line 1586
12803 goto ldv_31051;
12804 {
12805#line 1586
12806 tmp___3 = get_current();
12807#line 1586
12808 __cil_tmp42 = & tmp___3->state;
12809#line 1586
12810 __ptr___1 = (u32 volatile *)__cil_tmp42;
12811#line 1586
12812 __asm__ volatile ("xchgl %0,%1": "=r" (__x), "+m" (*__ptr___1): "0" (__x): "memory");
12813 }
12814#line 1586
12815 goto ldv_31051;
12816 case_8:
12817 {
12818#line 1586
12819 tmp___4 = get_current();
12820#line 1586
12821 __cil_tmp43 = & tmp___4->state;
12822#line 1586
12823 __ptr___2 = (u64 volatile *)__cil_tmp43;
12824#line 1586
12825 __asm__ volatile ("xchgq %0,%1": "=r" (__x), "+m" (*__ptr___2): "0" (__x): "memory");
12826 }
12827#line 1586
12828 goto ldv_31051;
12829 switch_default:
12830 {
12831#line 1586
12832 __xchg_wrong_size();
12833 }
12834 } else {
12835
12836 }
12837 }
12838 ldv_31051:
12839 {
12840#line 1589
12841 __cil_tmp44 = & pd->scan_queue;
12842#line 1589
12843 __cil_tmp45 = (atomic_t const *)__cil_tmp44;
12844#line 1589
12845 tmp___5 = atomic_read(__cil_tmp45);
12846 }
12847#line 1589
12848 if (tmp___5 > 0) {
12849#line 1590
12850 goto work_to_do;
12851 } else {
12852
12853 }
12854#line 1593
12855 __cil_tmp46 = pd->cdrw.pkt_active_list.next;
12856#line 1593
12857 __mptr = (struct list_head const *)__cil_tmp46;
12858#line 1593
12859 pkt = (struct packet_data *)__mptr;
12860#line 1593
12861 goto ldv_31066;
12862 ldv_31065:
12863 {
12864#line 1594
12865 __cil_tmp47 = & pkt->run_sm;
12866#line 1594
12867 __cil_tmp48 = (atomic_t const *)__cil_tmp47;
12868#line 1594
12869 tmp___6 = atomic_read(__cil_tmp48);
12870 }
12871#line 1594
12872 if (tmp___6 > 0) {
12873#line 1595
12874 goto work_to_do;
12875 } else {
12876
12877 }
12878#line 1593
12879 __cil_tmp49 = pkt->list.next;
12880#line 1593
12881 __mptr___0 = (struct list_head const *)__cil_tmp49;
12882#line 1593
12883 pkt = (struct packet_data *)__mptr___0;
12884 ldv_31066: ;
12885 {
12886#line 1593
12887 __cil_tmp50 = & pd->cdrw.pkt_active_list;
12888#line 1593
12889 __cil_tmp51 = (unsigned long )__cil_tmp50;
12890#line 1593
12891 __cil_tmp52 = & pkt->list;
12892#line 1593
12893 __cil_tmp53 = (unsigned long )__cil_tmp52;
12894#line 1593
12895 if (__cil_tmp53 != __cil_tmp51) {
12896#line 1594
12897 goto ldv_31065;
12898 } else {
12899#line 1596
12900 goto ldv_31067;
12901 }
12902 }
12903 ldv_31067:
12904 {
12905#line 1599
12906 __cil_tmp54 = & pd->iosched.attention;
12907#line 1599
12908 __cil_tmp55 = (atomic_t const *)__cil_tmp54;
12909#line 1599
12910 tmp___7 = atomic_read(__cil_tmp55);
12911 }
12912#line 1599
12913 if (tmp___7 != 0) {
12914#line 1600
12915 goto work_to_do;
12916 } else {
12917
12918 }
12919#line 1611
12920 min_sleep_time = 9223372036854775807L;
12921#line 1612
12922 __cil_tmp56 = pd->cdrw.pkt_active_list.next;
12923#line 1612
12924 __mptr___1 = (struct list_head const *)__cil_tmp56;
12925#line 1612
12926 pkt = (struct packet_data *)__mptr___1;
12927#line 1612
12928 goto ldv_31074;
12929 ldv_31073: ;
12930 {
12931#line 1613
12932 __cil_tmp57 = pkt->sleep_time;
12933#line 1613
12934 if (__cil_tmp57 != 0L) {
12935 {
12936#line 1613
12937 __cil_tmp58 = pkt->sleep_time;
12938#line 1613
12939 if (__cil_tmp58 < min_sleep_time) {
12940#line 1614
12941 min_sleep_time = pkt->sleep_time;
12942 } else {
12943
12944 }
12945 }
12946 } else {
12947
12948 }
12949 }
12950#line 1612
12951 __cil_tmp59 = pkt->list.next;
12952#line 1612
12953 __mptr___2 = (struct list_head const *)__cil_tmp59;
12954#line 1612
12955 pkt = (struct packet_data *)__mptr___2;
12956 ldv_31074: ;
12957 {
12958#line 1612
12959 __cil_tmp60 = & pd->cdrw.pkt_active_list;
12960#line 1612
12961 __cil_tmp61 = (unsigned long )__cil_tmp60;
12962#line 1612
12963 __cil_tmp62 = & pkt->list;
12964#line 1612
12965 __cil_tmp63 = (unsigned long )__cil_tmp62;
12966#line 1612
12967 if (__cil_tmp63 != __cil_tmp61) {
12968#line 1613
12969 goto ldv_31073;
12970 } else {
12971#line 1615
12972 goto ldv_31075;
12973 }
12974 }
12975 ldv_31075:
12976 {
12977#line 1618
12978 residue = schedule_timeout(min_sleep_time);
12979#line 1622
12980 try_to_freeze();
12981#line 1624
12982 __cil_tmp64 = pd->cdrw.pkt_active_list.next;
12983#line 1624
12984 __mptr___3 = (struct list_head const *)__cil_tmp64;
12985#line 1624
12986 pkt = (struct packet_data *)__mptr___3;
12987 }
12988#line 1624
12989 goto ldv_31082;
12990 ldv_31081: ;
12991 {
12992#line 1625
12993 __cil_tmp65 = pkt->sleep_time;
12994#line 1625
12995 if (__cil_tmp65 == 0L) {
12996#line 1626
12997 goto ldv_31080;
12998 } else {
12999
13000 }
13001 }
13002#line 1627
13003 __cil_tmp66 = residue - min_sleep_time;
13004#line 1627
13005 __cil_tmp67 = pkt->sleep_time;
13006#line 1627
13007 pkt->sleep_time = __cil_tmp67 + __cil_tmp66;
13008 {
13009#line 1628
13010 __cil_tmp68 = pkt->sleep_time;
13011#line 1628
13012 if (__cil_tmp68 <= 0L) {
13013 {
13014#line 1629
13015 pkt->sleep_time = 0L;
13016#line 1630
13017 __cil_tmp69 = & pkt->run_sm;
13018#line 1630
13019 atomic_inc(__cil_tmp69);
13020 }
13021 } else {
13022
13023 }
13024 }
13025 ldv_31080:
13026#line 1624
13027 __cil_tmp70 = pkt->list.next;
13028#line 1624
13029 __mptr___4 = (struct list_head const *)__cil_tmp70;
13030#line 1624
13031 pkt = (struct packet_data *)__mptr___4;
13032 ldv_31082: ;
13033 {
13034#line 1624
13035 __cil_tmp71 = & pd->cdrw.pkt_active_list;
13036#line 1624
13037 __cil_tmp72 = (unsigned long )__cil_tmp71;
13038#line 1624
13039 __cil_tmp73 = & pkt->list;
13040#line 1624
13041 __cil_tmp74 = (unsigned long )__cil_tmp73;
13042#line 1624
13043 if (__cil_tmp74 != __cil_tmp72) {
13044#line 1625
13045 goto ldv_31081;
13046 } else {
13047#line 1627
13048 goto ldv_31083;
13049 }
13050 }
13051 ldv_31083:
13052 {
13053#line 1634
13054 tmp___8 = kthread_should_stop();
13055 }
13056#line 1634
13057 if (tmp___8 != 0) {
13058#line 1635
13059 goto ldv_31084;
13060 } else {
13061
13062 }
13063#line 1636
13064 goto ldv_31085;
13065 ldv_31084: ;
13066 work_to_do:
13067#line 1638
13068 __x___0 = (long volatile )0L;
13069#line 1638
13070 if (1) {
13071#line 1638
13072 goto case_8___0;
13073 } else {
13074#line 1638
13075 goto switch_default___0;
13076#line 1638
13077 if (0) {
13078 {
13079#line 1638
13080 tmp___9 = get_current();
13081#line 1638
13082 __cil_tmp75 = & tmp___9->state;
13083#line 1638
13084 __ptr___3 = (u8 volatile *)__cil_tmp75;
13085#line 1638
13086 __asm__ volatile ("xchgb %0,%1": "=q" (__x___0), "+m" (*__ptr___3): "0" (__x___0): "memory");
13087 }
13088#line 1638
13089 goto ldv_31089;
13090 {
13091#line 1638
13092 tmp___10 = get_current();
13093#line 1638
13094 __cil_tmp76 = & tmp___10->state;
13095#line 1638
13096 __ptr___4 = (u16 volatile *)__cil_tmp76;
13097#line 1638
13098 __asm__ volatile ("xchgw %0,%1": "=r" (__x___0), "+m" (*__ptr___4): "0" (__x___0): "memory");
13099 }
13100#line 1638
13101 goto ldv_31089;
13102 {
13103#line 1638
13104 tmp___11 = get_current();
13105#line 1638
13106 __cil_tmp77 = & tmp___11->state;
13107#line 1638
13108 __ptr___5 = (u32 volatile *)__cil_tmp77;
13109#line 1638
13110 __asm__ volatile ("xchgl %0,%1": "=r" (__x___0), "+m" (*__ptr___5): "0" (__x___0): "memory");
13111 }
13112#line 1638
13113 goto ldv_31089;
13114 case_8___0:
13115 {
13116#line 1638
13117 tmp___12 = get_current();
13118#line 1638
13119 __cil_tmp78 = & tmp___12->state;
13120#line 1638
13121 __ptr___6 = (u64 volatile *)__cil_tmp78;
13122#line 1638
13123 __asm__ volatile ("xchgq %0,%1": "=r" (__x___0), "+m" (*__ptr___6): "0" (__x___0): "memory");
13124 }
13125#line 1638
13126 goto ldv_31089;
13127 switch_default___0:
13128 {
13129#line 1638
13130 __xchg_wrong_size();
13131 }
13132 } else {
13133
13134 }
13135 }
13136 ldv_31089:
13137 {
13138#line 1639
13139 __cil_tmp79 = & pd->wqueue;
13140#line 1639
13141 remove_wait_queue(__cil_tmp79, & wait);
13142#line 1641
13143 tmp___13 = kthread_should_stop();
13144 }
13145#line 1641
13146 if (tmp___13 != 0) {
13147#line 1642
13148 goto ldv_31098;
13149 } else {
13150
13151 }
13152#line 1648
13153 goto ldv_31100;
13154 ldv_31099: ;
13155 ldv_31100:
13156 {
13157#line 1648
13158 tmp___14 = pkt_handle_queue(pd);
13159 }
13160#line 1648
13161 if (tmp___14 != 0) {
13162#line 1649
13163 goto ldv_31099;
13164 } else {
13165#line 1651
13166 goto ldv_31101;
13167 }
13168 ldv_31101:
13169 {
13170#line 1654
13171 pkt_handle_packets(pd);
13172#line 1659
13173 pkt_iosched_process_queue(pd);
13174 }
13175#line 1660
13176 goto ldv_31102;
13177 ldv_31098: ;
13178#line 1662
13179 return (0);
13180}
13181}
13182#line 1665 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13183static void pkt_print_settings(struct pktcdvd_device *pd )
13184{ char *tmp ;
13185 int tmp___0 ;
13186 __u8 __cil_tmp4 ;
13187 unsigned int __cil_tmp5 ;
13188 __u32 __cil_tmp6 ;
13189 __u32 __cil_tmp7 ;
13190 __u8 __cil_tmp8 ;
13191 unsigned int __cil_tmp9 ;
13192
13193 {
13194 {
13195#line 1667
13196 __cil_tmp4 = pd->settings.fp;
13197#line 1667
13198 __cil_tmp5 = (unsigned int )__cil_tmp4;
13199#line 1667
13200 if (__cil_tmp5 != 0U) {
13201#line 1667
13202 tmp = (char *)"Fixed";
13203 } else {
13204#line 1667
13205 tmp = (char *)"Variable";
13206 }
13207 }
13208 {
13209#line 1667
13210 printk("pktcdvd: %s packets, ", tmp);
13211#line 1668
13212 __cil_tmp6 = pd->settings.size;
13213#line 1668
13214 __cil_tmp7 = __cil_tmp6 >> 2;
13215#line 1668
13216 printk("%u blocks, ", __cil_tmp7);
13217 }
13218 {
13219#line 1669
13220 __cil_tmp8 = pd->settings.block_mode;
13221#line 1669
13222 __cil_tmp9 = (unsigned int )__cil_tmp8;
13223#line 1669
13224 if (__cil_tmp9 == 8U) {
13225#line 1669
13226 tmp___0 = 49;
13227 } else {
13228#line 1669
13229 tmp___0 = 50;
13230 }
13231 }
13232 {
13233#line 1669
13234 printk("Mode-%c disc\n", tmp___0);
13235 }
13236#line 1670
13237 return;
13238}
13239}
13240#line 1672 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13241static int pkt_mode_sense(struct pktcdvd_device *pd , struct packet_command *cgc ,
13242 int page_code , int page_control )
13243{ int tmp ;
13244 unsigned char (*__cil_tmp6)[12U] ;
13245 void *__cil_tmp7 ;
13246 signed char __cil_tmp8 ;
13247 int __cil_tmp9 ;
13248 int __cil_tmp10 ;
13249 signed char __cil_tmp11 ;
13250 int __cil_tmp12 ;
13251 int __cil_tmp13 ;
13252 unsigned int __cil_tmp14 ;
13253 unsigned int __cil_tmp15 ;
13254 unsigned int __cil_tmp16 ;
13255
13256 {
13257 {
13258#line 1674
13259 __cil_tmp6 = & cgc->cmd;
13260#line 1674
13261 __cil_tmp7 = (void *)__cil_tmp6;
13262#line 1674
13263 memset(__cil_tmp7, 0, 12UL);
13264#line 1676
13265 cgc->cmd[0] = (unsigned char)90;
13266#line 1677
13267 __cil_tmp8 = (signed char )page_code;
13268#line 1677
13269 __cil_tmp9 = (int )__cil_tmp8;
13270#line 1677
13271 __cil_tmp10 = page_control << 6;
13272#line 1677
13273 __cil_tmp11 = (signed char )__cil_tmp10;
13274#line 1677
13275 __cil_tmp12 = (int )__cil_tmp11;
13276#line 1677
13277 __cil_tmp13 = __cil_tmp12 | __cil_tmp9;
13278#line 1677
13279 cgc->cmd[2] = (unsigned char )__cil_tmp13;
13280#line 1678
13281 __cil_tmp14 = cgc->buflen;
13282#line 1678
13283 __cil_tmp15 = __cil_tmp14 >> 8;
13284#line 1678
13285 cgc->cmd[7] = (unsigned char )__cil_tmp15;
13286#line 1679
13287 __cil_tmp16 = cgc->buflen;
13288#line 1679
13289 cgc->cmd[8] = (unsigned char )__cil_tmp16;
13290#line 1680
13291 cgc->data_direction = (unsigned char)2;
13292#line 1681
13293 tmp = pkt_generic_packet(pd, cgc);
13294 }
13295#line 1681
13296 return (tmp);
13297}
13298}
13299#line 1684 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13300static int pkt_mode_select(struct pktcdvd_device *pd , struct packet_command *cgc )
13301{ int tmp ;
13302 unsigned char (*__cil_tmp4)[12U] ;
13303 void *__cil_tmp5 ;
13304 unsigned char *__cil_tmp6 ;
13305 void *__cil_tmp7 ;
13306 unsigned int __cil_tmp8 ;
13307 unsigned int __cil_tmp9 ;
13308 unsigned int __cil_tmp10 ;
13309
13310 {
13311 {
13312#line 1686
13313 __cil_tmp4 = & cgc->cmd;
13314#line 1686
13315 __cil_tmp5 = (void *)__cil_tmp4;
13316#line 1686
13317 memset(__cil_tmp5, 0, 12UL);
13318#line 1687
13319 __cil_tmp6 = cgc->buffer;
13320#line 1687
13321 __cil_tmp7 = (void *)__cil_tmp6;
13322#line 1687
13323 memset(__cil_tmp7, 0, 2UL);
13324#line 1688
13325 cgc->cmd[0] = (unsigned char)85;
13326#line 1689
13327 cgc->cmd[1] = (unsigned char)16;
13328#line 1690
13329 __cil_tmp8 = cgc->buflen;
13330#line 1690
13331 __cil_tmp9 = __cil_tmp8 >> 8;
13332#line 1690
13333 cgc->cmd[7] = (unsigned char )__cil_tmp9;
13334#line 1691
13335 __cil_tmp10 = cgc->buflen;
13336#line 1691
13337 cgc->cmd[8] = (unsigned char )__cil_tmp10;
13338#line 1692
13339 cgc->data_direction = (unsigned char)1;
13340#line 1693
13341 tmp = pkt_generic_packet(pd, cgc);
13342 }
13343#line 1693
13344 return (tmp);
13345}
13346}
13347#line 1696 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13348static int pkt_get_disc_info(struct pktcdvd_device *pd , disc_information *di )
13349{ struct packet_command cgc ;
13350 int ret ;
13351 __u16 tmp ;
13352 int tmp___0 ;
13353 void *__cil_tmp7 ;
13354 __be16 __cil_tmp8 ;
13355 int __cil_tmp9 ;
13356 __u16 __cil_tmp10 ;
13357 unsigned int __cil_tmp11 ;
13358
13359 {
13360 {
13361#line 1702
13362 __cil_tmp7 = (void *)di;
13363#line 1702
13364 init_cdrom_command(& cgc, __cil_tmp7, 36, 2);
13365#line 1703
13366 cgc.cmd[0] = (unsigned char)81;
13367#line 1704
13368 cgc.buflen = 2U;
13369#line 1704
13370 cgc.cmd[8] = (unsigned char)2;
13371#line 1705
13372 cgc.quiet = 1;
13373#line 1707
13374 ret = pkt_generic_packet(pd, & cgc);
13375 }
13376#line 1707
13377 if (ret != 0) {
13378#line 1708
13379 return (ret);
13380 } else {
13381
13382 }
13383 {
13384#line 1713
13385 __cil_tmp8 = di->disc_information_length;
13386#line 1713
13387 __cil_tmp9 = (int )__cil_tmp8;
13388#line 1713
13389 __cil_tmp10 = (__u16 )__cil_tmp9;
13390#line 1713
13391 tmp = __fswab16(__cil_tmp10);
13392#line 1713
13393 __cil_tmp11 = (unsigned int )tmp;
13394#line 1713
13395 cgc.buflen = __cil_tmp11 + 2U;
13396 }
13397#line 1716
13398 if (cgc.buflen > 36U) {
13399#line 1717
13400 cgc.buflen = 36U;
13401 } else {
13402
13403 }
13404 {
13405#line 1719
13406 cgc.cmd[8] = (unsigned char )cgc.buflen;
13407#line 1720
13408 tmp___0 = pkt_generic_packet(pd, & cgc);
13409 }
13410#line 1720
13411 return (tmp___0);
13412}
13413}
13414#line 1723 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13415static int pkt_get_track_info(struct pktcdvd_device *pd , __u16 track , __u8 type ,
13416 track_information *ti )
13417{ struct packet_command cgc ;
13418 int ret ;
13419 __u16 tmp ;
13420 int tmp___0 ;
13421 void *__cil_tmp9 ;
13422 unsigned int __cil_tmp10 ;
13423 unsigned int __cil_tmp11 ;
13424 int __cil_tmp12 ;
13425 int __cil_tmp13 ;
13426 __be16 __cil_tmp14 ;
13427 int __cil_tmp15 ;
13428 __u16 __cil_tmp16 ;
13429 unsigned int __cil_tmp17 ;
13430
13431 {
13432 {
13433#line 1728
13434 __cil_tmp9 = (void *)ti;
13435#line 1728
13436 init_cdrom_command(& cgc, __cil_tmp9, 8, 2);
13437#line 1729
13438 cgc.cmd[0] = (unsigned char)82;
13439#line 1730
13440 __cil_tmp10 = (unsigned int )type;
13441#line 1730
13442 __cil_tmp11 = __cil_tmp10 & 3U;
13443#line 1730
13444 cgc.cmd[1] = (unsigned char )__cil_tmp11;
13445#line 1731
13446 __cil_tmp12 = (int )track;
13447#line 1731
13448 __cil_tmp13 = __cil_tmp12 >> 8;
13449#line 1731
13450 cgc.cmd[4] = (unsigned char )__cil_tmp13;
13451#line 1732
13452 cgc.cmd[5] = (unsigned char )track;
13453#line 1733
13454 cgc.cmd[8] = (unsigned char)8;
13455#line 1734
13456 cgc.quiet = 1;
13457#line 1736
13458 ret = pkt_generic_packet(pd, & cgc);
13459 }
13460#line 1736
13461 if (ret != 0) {
13462#line 1737
13463 return (ret);
13464 } else {
13465
13466 }
13467 {
13468#line 1739
13469 __cil_tmp14 = ti->track_information_length;
13470#line 1739
13471 __cil_tmp15 = (int )__cil_tmp14;
13472#line 1739
13473 __cil_tmp16 = (__u16 )__cil_tmp15;
13474#line 1739
13475 tmp = __fswab16(__cil_tmp16);
13476#line 1739
13477 __cil_tmp17 = (unsigned int )tmp;
13478#line 1739
13479 cgc.buflen = __cil_tmp17 + 2U;
13480 }
13481#line 1742
13482 if (cgc.buflen > 32U) {
13483#line 1743
13484 cgc.buflen = 32U;
13485 } else {
13486
13487 }
13488 {
13489#line 1745
13490 cgc.cmd[8] = (unsigned char )cgc.buflen;
13491#line 1746
13492 tmp___0 = pkt_generic_packet(pd, & cgc);
13493 }
13494#line 1746
13495 return (tmp___0);
13496}
13497}
13498#line 1749 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13499static int pkt_get_last_written(struct pktcdvd_device *pd , long *last_written )
13500{ disc_information di ;
13501 track_information ti ;
13502 __u32 last_track ;
13503 int ret ;
13504 __u32 tmp ;
13505 __u32 tmp___0 ;
13506 __u32 tmp___1 ;
13507 __u32 tmp___2 ;
13508 int __cil_tmp11 ;
13509 int __cil_tmp12 ;
13510 int __cil_tmp13 ;
13511 int __cil_tmp14 ;
13512 __u16 __cil_tmp15 ;
13513 int __cil_tmp16 ;
13514 __u16 __cil_tmp17 ;
13515 __u8 __cil_tmp18 ;
13516 unsigned char *__cil_tmp19 ;
13517 unsigned char *__cil_tmp20 ;
13518 unsigned char __cil_tmp21 ;
13519 unsigned int __cil_tmp22 ;
13520 __u16 __cil_tmp23 ;
13521 int __cil_tmp24 ;
13522 __u16 __cil_tmp25 ;
13523 __u8 __cil_tmp26 ;
13524 unsigned char *__cil_tmp27 ;
13525 unsigned char *__cil_tmp28 ;
13526 unsigned char __cil_tmp29 ;
13527 unsigned int __cil_tmp30 ;
13528 __u32 __cil_tmp31 ;
13529 __u32 __cil_tmp32 ;
13530 long __cil_tmp33 ;
13531 long __cil_tmp34 ;
13532
13533 {
13534 {
13535#line 1755
13536 ret = -1;
13537#line 1757
13538 ret = pkt_get_disc_info(pd, & di);
13539 }
13540#line 1757
13541 if (ret != 0) {
13542#line 1758
13543 return (ret);
13544 } else {
13545
13546 }
13547 {
13548#line 1760
13549 __cil_tmp11 = (int )di.last_track_lsb;
13550#line 1760
13551 __cil_tmp12 = (int )di.last_track_msb;
13552#line 1760
13553 __cil_tmp13 = __cil_tmp12 << 8;
13554#line 1760
13555 __cil_tmp14 = __cil_tmp13 | __cil_tmp11;
13556#line 1760
13557 last_track = (__u32 )__cil_tmp14;
13558#line 1761
13559 __cil_tmp15 = (__u16 )last_track;
13560#line 1761
13561 __cil_tmp16 = (int )__cil_tmp15;
13562#line 1761
13563 __cil_tmp17 = (__u16 )__cil_tmp16;
13564#line 1761
13565 __cil_tmp18 = (__u8 )1;
13566#line 1761
13567 ret = pkt_get_track_info(pd, __cil_tmp17, __cil_tmp18, & ti);
13568 }
13569#line 1761
13570 if (ret != 0) {
13571#line 1762
13572 return (ret);
13573 } else {
13574
13575 }
13576 {
13577#line 1765
13578 __cil_tmp19 = (unsigned char *)(& ti);
13579#line 1765
13580 __cil_tmp20 = __cil_tmp19 + 6UL;
13581#line 1765
13582 __cil_tmp21 = *__cil_tmp20;
13583#line 1765
13584 __cil_tmp22 = (unsigned int )__cil_tmp21;
13585#line 1765
13586 if (__cil_tmp22 != 0U) {
13587 {
13588#line 1766
13589 last_track = last_track - 1U;
13590#line 1767
13591 __cil_tmp23 = (__u16 )last_track;
13592#line 1767
13593 __cil_tmp24 = (int )__cil_tmp23;
13594#line 1767
13595 __cil_tmp25 = (__u16 )__cil_tmp24;
13596#line 1767
13597 __cil_tmp26 = (__u8 )1;
13598#line 1767
13599 ret = pkt_get_track_info(pd, __cil_tmp25, __cil_tmp26, & ti);
13600 }
13601#line 1767
13602 if (ret != 0) {
13603#line 1768
13604 return (ret);
13605 } else {
13606
13607 }
13608 } else {
13609
13610 }
13611 }
13612 {
13613#line 1772
13614 __cil_tmp27 = (unsigned char *)(& ti);
13615#line 1772
13616 __cil_tmp28 = __cil_tmp27 + 7UL;
13617#line 1772
13618 __cil_tmp29 = *__cil_tmp28;
13619#line 1772
13620 __cil_tmp30 = (unsigned int )__cil_tmp29;
13621#line 1772
13622 if (__cil_tmp30 != 0U) {
13623 {
13624#line 1773
13625 tmp = __fswab32(ti.last_rec_address);
13626#line 1773
13627 *last_written = (long )tmp;
13628 }
13629 } else {
13630 {
13631#line 1776
13632 tmp___0 = __fswab32(ti.track_start);
13633#line 1776
13634 tmp___1 = __fswab32(ti.track_size);
13635#line 1776
13636 __cil_tmp31 = tmp___0 + tmp___1;
13637#line 1776
13638 *last_written = (long )__cil_tmp31;
13639 }
13640#line 1778
13641 if (ti.free_blocks != 0U) {
13642 {
13643#line 1779
13644 tmp___2 = __fswab32(ti.free_blocks);
13645#line 1779
13646 __cil_tmp32 = tmp___2 + 7U;
13647#line 1779
13648 __cil_tmp33 = (long )__cil_tmp32;
13649#line 1779
13650 __cil_tmp34 = *last_written;
13651#line 1779
13652 *last_written = __cil_tmp34 - __cil_tmp33;
13653 }
13654 } else {
13655
13656 }
13657 }
13658 }
13659#line 1781
13660 return (0);
13661}
13662}
13663#line 1787 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13664static int pkt_set_write_settings(struct pktcdvd_device *pd )
13665{ struct packet_command cgc ;
13666 struct request_sense sense ;
13667 write_param_page *wp ;
13668 char buffer[128U] ;
13669 int ret ;
13670 int size ;
13671 __u16 __cil_tmp8 ;
13672 unsigned int __cil_tmp9 ;
13673 __u16 __cil_tmp10 ;
13674 unsigned int __cil_tmp11 ;
13675 void *__cil_tmp12 ;
13676 void *__cil_tmp13 ;
13677 int __cil_tmp14 ;
13678 int __cil_tmp15 ;
13679 int __cil_tmp16 ;
13680 int __cil_tmp17 ;
13681 int __cil_tmp18 ;
13682 signed char __cil_tmp19 ;
13683 int __cil_tmp20 ;
13684 int __cil_tmp21 ;
13685 int __cil_tmp22 ;
13686 signed char __cil_tmp23 ;
13687 int __cil_tmp24 ;
13688 int __cil_tmp25 ;
13689 unsigned int __cil_tmp26 ;
13690 void *__cil_tmp27 ;
13691 __u8 __cil_tmp28 ;
13692 unsigned long __cil_tmp29 ;
13693 unsigned long __cil_tmp30 ;
13694 write_param_page *__cil_tmp31 ;
13695 unsigned char *__cil_tmp32 ;
13696 unsigned char *__cil_tmp33 ;
13697 unsigned char __cil_tmp34 ;
13698 unsigned int __cil_tmp35 ;
13699 unsigned char *__cil_tmp36 ;
13700 unsigned char *__cil_tmp37 ;
13701 unsigned char __cil_tmp38 ;
13702 unsigned int __cil_tmp39 ;
13703 unsigned char __cil_tmp40 ;
13704 int __cil_tmp41 ;
13705 __u32 __cil_tmp42 ;
13706 __u32 __cil_tmp43 ;
13707
13708 {
13709 {
13710#line 1796
13711 __cil_tmp8 = pd->mmc3_profile;
13712#line 1796
13713 __cil_tmp9 = (unsigned int )__cil_tmp8;
13714#line 1796
13715 if (__cil_tmp9 == 26U) {
13716#line 1797
13717 return (0);
13718 } else {
13719 {
13720#line 1796
13721 __cil_tmp10 = pd->mmc3_profile;
13722#line 1796
13723 __cil_tmp11 = (unsigned int )__cil_tmp10;
13724#line 1796
13725 if (__cil_tmp11 == 18U) {
13726#line 1797
13727 return (0);
13728 } else {
13729
13730 }
13731 }
13732 }
13733 }
13734 {
13735#line 1799
13736 __cil_tmp12 = (void *)(& buffer);
13737#line 1799
13738 memset(__cil_tmp12, 0, 128UL);
13739#line 1800
13740 __cil_tmp13 = (void *)(& buffer);
13741#line 1800
13742 init_cdrom_command(& cgc, __cil_tmp13, 52, 2);
13743#line 1801
13744 cgc.sense = & sense;
13745#line 1802
13746 ret = pkt_mode_sense(pd, & cgc, 5, 0);
13747 }
13748#line 1802
13749 if (ret != 0) {
13750 {
13751#line 1803
13752 pkt_dump_sense(& cgc);
13753 }
13754#line 1804
13755 return (ret);
13756 } else {
13757
13758 }
13759#line 1807
13760 __cil_tmp14 = (int )buffer[1];
13761#line 1807
13762 __cil_tmp15 = __cil_tmp14 & 255;
13763#line 1807
13764 __cil_tmp16 = (int )buffer[0];
13765#line 1807
13766 __cil_tmp17 = __cil_tmp16 << 8;
13767#line 1807
13768 __cil_tmp18 = __cil_tmp17 | __cil_tmp15;
13769#line 1807
13770 size = __cil_tmp18 + 2;
13771#line 1808
13772 __cil_tmp19 = (signed char )buffer[7];
13773#line 1808
13774 __cil_tmp20 = (int )__cil_tmp19;
13775#line 1808
13776 __cil_tmp21 = (int )buffer[6];
13777#line 1808
13778 __cil_tmp22 = __cil_tmp21 << 8;
13779#line 1808
13780 __cil_tmp23 = (signed char )__cil_tmp22;
13781#line 1808
13782 __cil_tmp24 = (int )__cil_tmp23;
13783#line 1808
13784 __cil_tmp25 = __cil_tmp24 | __cil_tmp20;
13785#line 1808
13786 pd->mode_offset = (__u8 )__cil_tmp25;
13787 {
13788#line 1809
13789 __cil_tmp26 = (unsigned int )size;
13790#line 1809
13791 if (__cil_tmp26 > 128U) {
13792#line 1810
13793 size = 128;
13794 } else {
13795
13796 }
13797 }
13798 {
13799#line 1815
13800 __cil_tmp27 = (void *)(& buffer);
13801#line 1815
13802 init_cdrom_command(& cgc, __cil_tmp27, size, 2);
13803#line 1816
13804 cgc.sense = & sense;
13805#line 1817
13806 ret = pkt_mode_sense(pd, & cgc, 5, 0);
13807 }
13808#line 1817
13809 if (ret != 0) {
13810 {
13811#line 1818
13812 pkt_dump_sense(& cgc);
13813 }
13814#line 1819
13815 return (ret);
13816 } else {
13817
13818 }
13819#line 1825
13820 __cil_tmp28 = pd->mode_offset;
13821#line 1825
13822 __cil_tmp29 = (unsigned long )__cil_tmp28;
13823#line 1825
13824 __cil_tmp30 = __cil_tmp29 + 8UL;
13825#line 1825
13826 __cil_tmp31 = (write_param_page *)(& buffer);
13827#line 1825
13828 wp = __cil_tmp31 + __cil_tmp30;
13829#line 1827
13830 wp->fp = pd->settings.fp;
13831#line 1828
13832 wp->track_mode = pd->settings.track_mode;
13833#line 1829
13834 wp->write_type = pd->settings.write_type;
13835#line 1830
13836 wp->data_block_type = pd->settings.block_mode;
13837#line 1832
13838 wp->multi_session = (unsigned char)0;
13839 {
13840#line 1839
13841 __cil_tmp32 = (unsigned char *)wp;
13842#line 1839
13843 __cil_tmp33 = __cil_tmp32 + 4UL;
13844#line 1839
13845 __cil_tmp34 = *__cil_tmp33;
13846#line 1839
13847 __cil_tmp35 = (unsigned int )__cil_tmp34;
13848#line 1839
13849 if (__cil_tmp35 == 8U) {
13850#line 1840
13851 wp->session_format = (__u8 )0U;
13852#line 1841
13853 wp->subhdr2 = (__u8 )32U;
13854 } else {
13855 {
13856#line 1842
13857 __cil_tmp36 = (unsigned char *)wp;
13858#line 1842
13859 __cil_tmp37 = __cil_tmp36 + 4UL;
13860#line 1842
13861 __cil_tmp38 = *__cil_tmp37;
13862#line 1842
13863 __cil_tmp39 = (unsigned int )__cil_tmp38;
13864#line 1842
13865 if (__cil_tmp39 == 10U) {
13866#line 1843
13867 wp->session_format = (__u8 )32U;
13868#line 1844
13869 wp->subhdr2 = (__u8 )8U;
13870 } else {
13871 {
13872#line 1853
13873 __cil_tmp40 = wp->data_block_type;
13874#line 1853
13875 __cil_tmp41 = (int )__cil_tmp40;
13876#line 1853
13877 printk("pktcdvd: write mode wrong %d\n", __cil_tmp41);
13878 }
13879#line 1854
13880 return (1);
13881 }
13882 }
13883 }
13884 }
13885 {
13886#line 1856
13887 __cil_tmp42 = pd->settings.size;
13888#line 1856
13889 __cil_tmp43 = __cil_tmp42 >> 2;
13890#line 1856
13891 wp->packet_size = __fswab32(__cil_tmp43);
13892#line 1858
13893 cgc.cmd[8] = (unsigned char )size;
13894#line 1858
13895 cgc.buflen = (unsigned int )cgc.cmd[8];
13896#line 1859
13897 ret = pkt_mode_select(pd, & cgc);
13898 }
13899#line 1859
13900 if (ret != 0) {
13901 {
13902#line 1860
13903 pkt_dump_sense(& cgc);
13904 }
13905#line 1861
13906 return (ret);
13907 } else {
13908
13909 }
13910 {
13911#line 1864
13912 pkt_print_settings(pd);
13913 }
13914#line 1865
13915 return (0);
13916}
13917}
13918#line 1871 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
13919static int pkt_writable_track(struct pktcdvd_device *pd , track_information *ti )
13920{ __u16 __cil_tmp3 ;
13921 int __cil_tmp4 ;
13922 __u16 __cil_tmp5 ;
13923 int __cil_tmp6 ;
13924 unsigned char *__cil_tmp7 ;
13925 unsigned char *__cil_tmp8 ;
13926 unsigned char __cil_tmp9 ;
13927 unsigned int __cil_tmp10 ;
13928 unsigned char *__cil_tmp11 ;
13929 unsigned char *__cil_tmp12 ;
13930 unsigned char __cil_tmp13 ;
13931 unsigned int __cil_tmp14 ;
13932 unsigned char *__cil_tmp15 ;
13933 unsigned char *__cil_tmp16 ;
13934 unsigned char __cil_tmp17 ;
13935 unsigned int __cil_tmp18 ;
13936 unsigned char *__cil_tmp19 ;
13937 unsigned char *__cil_tmp20 ;
13938 unsigned char __cil_tmp21 ;
13939 unsigned int __cil_tmp22 ;
13940 unsigned char *__cil_tmp23 ;
13941 unsigned char *__cil_tmp24 ;
13942 unsigned char __cil_tmp25 ;
13943 unsigned int __cil_tmp26 ;
13944 unsigned char *__cil_tmp27 ;
13945 unsigned char *__cil_tmp28 ;
13946 unsigned char __cil_tmp29 ;
13947 unsigned int __cil_tmp30 ;
13948 unsigned char *__cil_tmp31 ;
13949 unsigned char *__cil_tmp32 ;
13950 unsigned char __cil_tmp33 ;
13951 unsigned int __cil_tmp34 ;
13952 unsigned char *__cil_tmp35 ;
13953 unsigned char *__cil_tmp36 ;
13954 unsigned char __cil_tmp37 ;
13955 unsigned int __cil_tmp38 ;
13956 unsigned char __cil_tmp39 ;
13957 int __cil_tmp40 ;
13958 unsigned char __cil_tmp41 ;
13959 int __cil_tmp42 ;
13960 unsigned char __cil_tmp43 ;
13961 int __cil_tmp44 ;
13962
13963 {
13964 {
13965#line 1874
13966 __cil_tmp3 = pd->mmc3_profile;
13967#line 1874
13968 __cil_tmp4 = (int )__cil_tmp3;
13969#line 1874
13970 if (__cil_tmp4 == 26) {
13971#line 1874
13972 goto case_26;
13973 } else {
13974 {
13975#line 1875
13976 __cil_tmp5 = pd->mmc3_profile;
13977#line 1875
13978 __cil_tmp6 = (int )__cil_tmp5;
13979#line 1875
13980 if (__cil_tmp6 == 18) {
13981#line 1875
13982 goto case_18;
13983 } else {
13984#line 1878
13985 goto switch_default;
13986#line 1873
13987 if (0) {
13988 case_26: ;
13989 case_18: ;
13990#line 1877
13991 return (1);
13992 switch_default: ;
13993#line 1879
13994 goto ldv_31154;
13995 } else {
13996
13997 }
13998 }
13999 }
14000 }
14001 }
14002 ldv_31154: ;
14003 {
14004#line 1882
14005 __cil_tmp7 = (unsigned char *)ti;
14006#line 1882
14007 __cil_tmp8 = __cil_tmp7 + 6UL;
14008#line 1882
14009 __cil_tmp9 = *__cil_tmp8;
14010#line 1882
14011 __cil_tmp10 = (unsigned int )__cil_tmp9;
14012#line 1882
14013 if (__cil_tmp10 == 0U) {
14014#line 1883
14015 return (0);
14016 } else {
14017 {
14018#line 1882
14019 __cil_tmp11 = (unsigned char *)ti;
14020#line 1882
14021 __cil_tmp12 = __cil_tmp11 + 6UL;
14022#line 1882
14023 __cil_tmp13 = *__cil_tmp12;
14024#line 1882
14025 __cil_tmp14 = (unsigned int )__cil_tmp13;
14026#line 1882
14027 if (__cil_tmp14 == 0U) {
14028#line 1883
14029 return (0);
14030 } else {
14031
14032 }
14033 }
14034 }
14035 }
14036 {
14037#line 1888
14038 __cil_tmp15 = (unsigned char *)ti;
14039#line 1888
14040 __cil_tmp16 = __cil_tmp15 + 6UL;
14041#line 1888
14042 __cil_tmp17 = *__cil_tmp16;
14043#line 1888
14044 __cil_tmp18 = (unsigned int )__cil_tmp17;
14045#line 1888
14046 if (__cil_tmp18 == 0U) {
14047 {
14048#line 1888
14049 __cil_tmp19 = (unsigned char *)ti;
14050#line 1888
14051 __cil_tmp20 = __cil_tmp19 + 6UL;
14052#line 1888
14053 __cil_tmp21 = *__cil_tmp20;
14054#line 1888
14055 __cil_tmp22 = (unsigned int )__cil_tmp21;
14056#line 1888
14057 if (__cil_tmp22 == 0U) {
14058#line 1889
14059 return (1);
14060 } else {
14061
14062 }
14063 }
14064 } else {
14065
14066 }
14067 }
14068 {
14069#line 1891
14070 __cil_tmp23 = (unsigned char *)ti;
14071#line 1891
14072 __cil_tmp24 = __cil_tmp23 + 6UL;
14073#line 1891
14074 __cil_tmp25 = *__cil_tmp24;
14075#line 1891
14076 __cil_tmp26 = (unsigned int )__cil_tmp25;
14077#line 1891
14078 if (__cil_tmp26 == 0U) {
14079 {
14080#line 1891
14081 __cil_tmp27 = (unsigned char *)ti;
14082#line 1891
14083 __cil_tmp28 = __cil_tmp27 + 6UL;
14084#line 1891
14085 __cil_tmp29 = *__cil_tmp28;
14086#line 1891
14087 __cil_tmp30 = (unsigned int )__cil_tmp29;
14088#line 1891
14089 if (__cil_tmp30 != 0U) {
14090#line 1892
14091 return (1);
14092 } else {
14093
14094 }
14095 }
14096 } else {
14097
14098 }
14099 }
14100 {
14101#line 1894
14102 __cil_tmp31 = (unsigned char *)ti;
14103#line 1894
14104 __cil_tmp32 = __cil_tmp31 + 6UL;
14105#line 1894
14106 __cil_tmp33 = *__cil_tmp32;
14107#line 1894
14108 __cil_tmp34 = (unsigned int )__cil_tmp33;
14109#line 1894
14110 if (__cil_tmp34 != 0U) {
14111 {
14112#line 1894
14113 __cil_tmp35 = (unsigned char *)ti;
14114#line 1894
14115 __cil_tmp36 = __cil_tmp35 + 6UL;
14116#line 1894
14117 __cil_tmp37 = *__cil_tmp36;
14118#line 1894
14119 __cil_tmp38 = (unsigned int )__cil_tmp37;
14120#line 1894
14121 if (__cil_tmp38 == 0U) {
14122#line 1895
14123 return (1);
14124 } else {
14125
14126 }
14127 }
14128 } else {
14129
14130 }
14131 }
14132 {
14133#line 1897
14134 __cil_tmp39 = ti->rt;
14135#line 1897
14136 __cil_tmp40 = (int )__cil_tmp39;
14137#line 1897
14138 __cil_tmp41 = ti->blank;
14139#line 1897
14140 __cil_tmp42 = (int )__cil_tmp41;
14141#line 1897
14142 __cil_tmp43 = ti->packet;
14143#line 1897
14144 __cil_tmp44 = (int )__cil_tmp43;
14145#line 1897
14146 printk("pktcdvd: bad state %d-%d-%d\n", __cil_tmp40, __cil_tmp42, __cil_tmp44);
14147 }
14148#line 1898
14149 return (0);
14150}
14151}
14152#line 1904 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
14153static int pkt_writable_disc(struct pktcdvd_device *pd , disc_information *di )
14154{ __u16 __cil_tmp3 ;
14155 int __cil_tmp4 ;
14156 __u16 __cil_tmp5 ;
14157 int __cil_tmp6 ;
14158 __u16 __cil_tmp7 ;
14159 int __cil_tmp8 ;
14160 __u16 __cil_tmp9 ;
14161 int __cil_tmp10 ;
14162 __u16 __cil_tmp11 ;
14163 int __cil_tmp12 ;
14164 __u8 __cil_tmp13 ;
14165 unsigned int __cil_tmp14 ;
14166 __u8 __cil_tmp15 ;
14167 unsigned int __cil_tmp16 ;
14168 __u8 __cil_tmp17 ;
14169 unsigned int __cil_tmp18 ;
14170 __u8 __cil_tmp19 ;
14171 int __cil_tmp20 ;
14172 unsigned char *__cil_tmp21 ;
14173 unsigned char *__cil_tmp22 ;
14174 unsigned char __cil_tmp23 ;
14175 unsigned int __cil_tmp24 ;
14176 unsigned char *__cil_tmp25 ;
14177 unsigned char *__cil_tmp26 ;
14178 unsigned char __cil_tmp27 ;
14179 unsigned int __cil_tmp28 ;
14180
14181 {
14182 {
14183#line 1907
14184 __cil_tmp3 = pd->mmc3_profile;
14185#line 1907
14186 __cil_tmp4 = (int )__cil_tmp3;
14187#line 1907
14188 if (__cil_tmp4 == 10) {
14189#line 1907
14190 goto case_10;
14191 } else {
14192 {
14193#line 1908
14194 __cil_tmp5 = pd->mmc3_profile;
14195#line 1908
14196 __cil_tmp6 = (int )__cil_tmp5;
14197#line 1908
14198 if (__cil_tmp6 == 65535) {
14199#line 1908
14200 goto case_65535;
14201 } else {
14202 {
14203#line 1910
14204 __cil_tmp7 = pd->mmc3_profile;
14205#line 1910
14206 __cil_tmp8 = (int )__cil_tmp7;
14207#line 1910
14208 if (__cil_tmp8 == 26) {
14209#line 1910
14210 goto case_26;
14211 } else {
14212 {
14213#line 1911
14214 __cil_tmp9 = pd->mmc3_profile;
14215#line 1911
14216 __cil_tmp10 = (int )__cil_tmp9;
14217#line 1911
14218 if (__cil_tmp10 == 19) {
14219#line 1911
14220 goto case_19;
14221 } else {
14222 {
14223#line 1912
14224 __cil_tmp11 = pd->mmc3_profile;
14225#line 1912
14226 __cil_tmp12 = (int )__cil_tmp11;
14227#line 1912
14228 if (__cil_tmp12 == 18) {
14229#line 1912
14230 goto case_18;
14231 } else {
14232#line 1914
14233 goto switch_default;
14234#line 1906
14235 if (0) {
14236 case_10: ;
14237 case_65535: ;
14238#line 1909
14239 goto ldv_31161;
14240 case_26: ;
14241 case_19: ;
14242 case_18: ;
14243#line 1913
14244 return (1);
14245 switch_default: ;
14246#line 1916
14247 return (0);
14248 } else {
14249
14250 }
14251 }
14252 }
14253 }
14254 }
14255 }
14256 }
14257 }
14258 }
14259 }
14260 }
14261 ldv_31161: ;
14262 {
14263#line 1923
14264 __cil_tmp13 = di->disc_type;
14265#line 1923
14266 __cil_tmp14 = (unsigned int )__cil_tmp13;
14267#line 1923
14268 if (__cil_tmp14 == 255U) {
14269 {
14270#line 1924
14271 printk("pktcdvd: Unknown disc. No track?\n");
14272 }
14273#line 1925
14274 return (0);
14275 } else {
14276
14277 }
14278 }
14279 {
14280#line 1928
14281 __cil_tmp15 = di->disc_type;
14282#line 1928
14283 __cil_tmp16 = (unsigned int )__cil_tmp15;
14284#line 1928
14285 if (__cil_tmp16 != 32U) {
14286 {
14287#line 1928
14288 __cil_tmp17 = di->disc_type;
14289#line 1928
14290 __cil_tmp18 = (unsigned int )__cil_tmp17;
14291#line 1928
14292 if (__cil_tmp18 != 0U) {
14293 {
14294#line 1929
14295 __cil_tmp19 = di->disc_type;
14296#line 1929
14297 __cil_tmp20 = (int )__cil_tmp19;
14298#line 1929
14299 printk("pktcdvd: Wrong disc type (%x)\n", __cil_tmp20);
14300 }
14301#line 1930
14302 return (0);
14303 } else {
14304
14305 }
14306 }
14307 } else {
14308
14309 }
14310 }
14311 {
14312#line 1933
14313 __cil_tmp21 = (unsigned char *)di;
14314#line 1933
14315 __cil_tmp22 = __cil_tmp21 + 2UL;
14316#line 1933
14317 __cil_tmp23 = *__cil_tmp22;
14318#line 1933
14319 __cil_tmp24 = (unsigned int )__cil_tmp23;
14320#line 1933
14321 if (__cil_tmp24 == 0U) {
14322 {
14323#line 1934
14324 printk("pktcdvd: Disc not erasable\n");
14325 }
14326#line 1935
14327 return (0);
14328 } else {
14329
14330 }
14331 }
14332 {
14333#line 1938
14334 __cil_tmp25 = (unsigned char *)di;
14335#line 1938
14336 __cil_tmp26 = __cil_tmp25 + 2UL;
14337#line 1938
14338 __cil_tmp27 = *__cil_tmp26;
14339#line 1938
14340 __cil_tmp28 = (unsigned int )__cil_tmp27;
14341#line 1938
14342 if (__cil_tmp28 == 8U) {
14343 {
14344#line 1939
14345 printk("pktcdvd: Can\'t write to last track (reserved)\n");
14346 }
14347#line 1940
14348 return (0);
14349 } else {
14350
14351 }
14352 }
14353#line 1943
14354 return (1);
14355}
14356}
14357#line 1946 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
14358static int pkt_probe_settings(struct pktcdvd_device *pd )
14359{ struct packet_command cgc ;
14360 unsigned char buf[12U] ;
14361 disc_information di ;
14362 track_information ti ;
14363 int ret ;
14364 int track ;
14365 int tmp ;
14366 int tmp___0 ;
14367 __u32 tmp___1 ;
14368 __u32 tmp___2 ;
14369 __u32 tmp___3 ;
14370 __u32 tmp___4 ;
14371 void *__cil_tmp14 ;
14372 short __cil_tmp15 ;
14373 int __cil_tmp16 ;
14374 int __cil_tmp17 ;
14375 int __cil_tmp18 ;
14376 short __cil_tmp19 ;
14377 int __cil_tmp20 ;
14378 int __cil_tmp21 ;
14379 void *__cil_tmp22 ;
14380 void *__cil_tmp23 ;
14381 unsigned char *__cil_tmp24 ;
14382 unsigned char *__cil_tmp25 ;
14383 unsigned char __cil_tmp26 ;
14384 unsigned int __cil_tmp27 ;
14385 __u16 __cil_tmp28 ;
14386 int __cil_tmp29 ;
14387 __u16 __cil_tmp30 ;
14388 __u8 __cil_tmp31 ;
14389 __u32 __cil_tmp32 ;
14390 __u32 __cil_tmp33 ;
14391 __u32 __cil_tmp34 ;
14392 __u32 __cil_tmp35 ;
14393 __u32 __cil_tmp36 ;
14394 unsigned int __cil_tmp37 ;
14395 unsigned char *__cil_tmp38 ;
14396 unsigned char *__cil_tmp39 ;
14397 unsigned char __cil_tmp40 ;
14398 unsigned int __cil_tmp41 ;
14399 unsigned long *__cil_tmp42 ;
14400 unsigned long volatile *__cil_tmp43 ;
14401 unsigned char *__cil_tmp44 ;
14402 unsigned char *__cil_tmp45 ;
14403 unsigned char __cil_tmp46 ;
14404 unsigned int __cil_tmp47 ;
14405 unsigned long *__cil_tmp48 ;
14406 unsigned long volatile *__cil_tmp49 ;
14407 unsigned long *__cil_tmp50 ;
14408 unsigned long volatile *__cil_tmp51 ;
14409 int __cil_tmp52 ;
14410 int __cil_tmp53 ;
14411
14412 {
14413 {
14414#line 1954
14415 __cil_tmp14 = (void *)(& buf);
14416#line 1954
14417 init_cdrom_command(& cgc, __cil_tmp14, 12, 2);
14418#line 1955
14419 cgc.cmd[0] = (unsigned char)70;
14420#line 1956
14421 cgc.cmd[8] = (unsigned char)8;
14422#line 1957
14423 ret = pkt_generic_packet(pd, & cgc);
14424 }
14425#line 1958
14426 if (ret == 0) {
14427#line 1958
14428 __cil_tmp15 = (short )buf[7];
14429#line 1958
14430 __cil_tmp16 = (int )__cil_tmp15;
14431#line 1958
14432 __cil_tmp17 = (int )buf[6];
14433#line 1958
14434 __cil_tmp18 = __cil_tmp17 << 8;
14435#line 1958
14436 __cil_tmp19 = (short )__cil_tmp18;
14437#line 1958
14438 __cil_tmp20 = (int )__cil_tmp19;
14439#line 1958
14440 __cil_tmp21 = __cil_tmp20 | __cil_tmp16;
14441#line 1958
14442 pd->mmc3_profile = (__u16 )__cil_tmp21;
14443 } else {
14444#line 1958
14445 pd->mmc3_profile = (__u16 )65535U;
14446 }
14447 {
14448#line 1960
14449 __cil_tmp22 = (void *)(& di);
14450#line 1960
14451 memset(__cil_tmp22, 0, 36UL);
14452#line 1961
14453 __cil_tmp23 = (void *)(& ti);
14454#line 1961
14455 memset(__cil_tmp23, 0, 32UL);
14456#line 1963
14457 ret = pkt_get_disc_info(pd, & di);
14458 }
14459#line 1963
14460 if (ret != 0) {
14461 {
14462#line 1964
14463 printk("failed get_disc\n");
14464 }
14465#line 1965
14466 return (ret);
14467 } else {
14468
14469 }
14470 {
14471#line 1968
14472 tmp = pkt_writable_disc(pd, & di);
14473 }
14474#line 1968
14475 if (tmp == 0) {
14476#line 1969
14477 return (-30);
14478 } else {
14479
14480 }
14481 {
14482#line 1971
14483 __cil_tmp24 = (unsigned char *)(& di);
14484#line 1971
14485 __cil_tmp25 = __cil_tmp24 + 2UL;
14486#line 1971
14487 __cil_tmp26 = *__cil_tmp25;
14488#line 1971
14489 __cil_tmp27 = (unsigned int )__cil_tmp26;
14490#line 1971
14491 if (__cil_tmp27 != 0U) {
14492#line 1971
14493 pd->type = (__u8 )2U;
14494 } else {
14495#line 1971
14496 pd->type = (__u8 )1U;
14497 }
14498 }
14499 {
14500#line 1973
14501 track = 1;
14502#line 1974
14503 __cil_tmp28 = (__u16 )track;
14504#line 1974
14505 __cil_tmp29 = (int )__cil_tmp28;
14506#line 1974
14507 __cil_tmp30 = (__u16 )__cil_tmp29;
14508#line 1974
14509 __cil_tmp31 = (__u8 )1;
14510#line 1974
14511 ret = pkt_get_track_info(pd, __cil_tmp30, __cil_tmp31, & ti);
14512 }
14513#line 1974
14514 if (ret != 0) {
14515 {
14516#line 1975
14517 printk("pktcdvd: failed get_track\n");
14518 }
14519#line 1976
14520 return (ret);
14521 } else {
14522
14523 }
14524 {
14525#line 1979
14526 tmp___0 = pkt_writable_track(pd, & ti);
14527 }
14528#line 1979
14529 if (tmp___0 == 0) {
14530 {
14531#line 1980
14532 printk("pktcdvd: can\'t write to this track\n");
14533 }
14534#line 1981
14535 return (-30);
14536 } else {
14537
14538 }
14539 {
14540#line 1988
14541 tmp___1 = __fswab32(ti.fixed_packet_size);
14542#line 1988
14543 pd->settings.size = tmp___1 << 2;
14544 }
14545 {
14546#line 1989
14547 __cil_tmp32 = pd->settings.size;
14548#line 1989
14549 if (__cil_tmp32 == 0U) {
14550 {
14551#line 1990
14552 printk("pktcdvd: detected zero packet size!\n");
14553 }
14554#line 1991
14555 return (-6);
14556 } else {
14557
14558 }
14559 }
14560 {
14561#line 1993
14562 __cil_tmp33 = pd->settings.size;
14563#line 1993
14564 if (__cil_tmp33 > 512U) {
14565 {
14566#line 1994
14567 printk("pktcdvd: packet size is too big\n");
14568 }
14569#line 1995
14570 return (-30);
14571 } else {
14572
14573 }
14574 }
14575 {
14576#line 1997
14577 pd->settings.fp = ti.fp;
14578#line 1998
14579 tmp___2 = __fswab32(ti.track_start);
14580#line 1998
14581 __cil_tmp34 = pd->settings.size;
14582#line 1998
14583 __cil_tmp35 = __cil_tmp34 - 1U;
14584#line 1998
14585 __cil_tmp36 = tmp___2 << 2;
14586#line 1998
14587 __cil_tmp37 = __cil_tmp36 & __cil_tmp35;
14588#line 1998
14589 pd->offset = (unsigned long )__cil_tmp37;
14590 }
14591 {
14592#line 2000
14593 __cil_tmp38 = (unsigned char *)(& ti);
14594#line 2000
14595 __cil_tmp39 = __cil_tmp38 + 7UL;
14596#line 2000
14597 __cil_tmp40 = *__cil_tmp39;
14598#line 2000
14599 __cil_tmp41 = (unsigned int )__cil_tmp40;
14600#line 2000
14601 if (__cil_tmp41 != 0U) {
14602 {
14603#line 2001
14604 tmp___3 = __fswab32(ti.next_writable);
14605#line 2001
14606 pd->nwa = tmp___3;
14607#line 2002
14608 __cil_tmp42 = & pd->flags;
14609#line 2002
14610 __cil_tmp43 = (unsigned long volatile *)__cil_tmp42;
14611#line 2002
14612 set_bit(2U, __cil_tmp43);
14613 }
14614 } else {
14615
14616 }
14617 }
14618 {
14619#line 2010
14620 __cil_tmp44 = (unsigned char *)(& ti);
14621#line 2010
14622 __cil_tmp45 = __cil_tmp44 + 7UL;
14623#line 2010
14624 __cil_tmp46 = *__cil_tmp45;
14625#line 2010
14626 __cil_tmp47 = (unsigned int )__cil_tmp46;
14627#line 2010
14628 if (__cil_tmp47 != 0U) {
14629 {
14630#line 2011
14631 tmp___4 = __fswab32(ti.last_rec_address);
14632#line 2011
14633 pd->lra = tmp___4;
14634#line 2012
14635 __cil_tmp48 = & pd->flags;
14636#line 2012
14637 __cil_tmp49 = (unsigned long volatile *)__cil_tmp48;
14638#line 2012
14639 set_bit(3U, __cil_tmp49);
14640 }
14641 } else {
14642 {
14643#line 2014
14644 pd->lra = 4294967295U;
14645#line 2015
14646 __cil_tmp50 = & pd->flags;
14647#line 2015
14648 __cil_tmp51 = (unsigned long volatile *)__cil_tmp50;
14649#line 2015
14650 set_bit(3U, __cil_tmp51);
14651 }
14652 }
14653 }
14654#line 2021
14655 pd->settings.link_loss = (__u8 )7U;
14656#line 2022
14657 pd->settings.write_type = (__u8 )0U;
14658#line 2023
14659 pd->settings.track_mode = ti.track_mode;
14660 {
14661#line 2029
14662 __cil_tmp52 = (int )ti.data_mode;
14663#line 2029
14664 if (__cil_tmp52 == 1) {
14665#line 2029
14666 goto case_1;
14667 } else {
14668 {
14669#line 2032
14670 __cil_tmp53 = (int )ti.data_mode;
14671#line 2032
14672 if (__cil_tmp53 == 2) {
14673#line 2032
14674 goto case_2;
14675 } else {
14676#line 2035
14677 goto switch_default;
14678#line 2028
14679 if (0) {
14680 case_1:
14681#line 2030
14682 pd->settings.block_mode = (__u8 )8U;
14683#line 2031
14684 goto ldv_31176;
14685 case_2:
14686#line 2033
14687 pd->settings.block_mode = (__u8 )10U;
14688#line 2034
14689 goto ldv_31176;
14690 switch_default:
14691 {
14692#line 2036
14693 printk("pktcdvd: unknown data mode\n");
14694 }
14695#line 2037
14696 return (-30);
14697 } else {
14698
14699 }
14700 }
14701 }
14702 }
14703 }
14704 ldv_31176: ;
14705#line 2039
14706 return (0);
14707}
14708}
14709#line 2045 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
14710static int pkt_write_caching(struct pktcdvd_device *pd , int set )
14711{ struct packet_command cgc ;
14712 struct request_sense sense ;
14713 unsigned char buf[64U] ;
14714 int ret ;
14715 int tmp ;
14716 void *__cil_tmp8 ;
14717 __u8 __cil_tmp9 ;
14718 int __cil_tmp10 ;
14719 int __cil_tmp11 ;
14720 signed char __cil_tmp12 ;
14721 int __cil_tmp13 ;
14722 int __cil_tmp14 ;
14723 signed char __cil_tmp15 ;
14724 int __cil_tmp16 ;
14725 int __cil_tmp17 ;
14726 int __cil_tmp18 ;
14727 signed char __cil_tmp19 ;
14728 int __cil_tmp20 ;
14729 int __cil_tmp21 ;
14730 unsigned char __cil_tmp22 ;
14731 unsigned int __cil_tmp23 ;
14732 unsigned int __cil_tmp24 ;
14733 char (*__cil_tmp25)[20U] ;
14734 char *__cil_tmp26 ;
14735
14736 {
14737 {
14738#line 2053
14739 __cil_tmp8 = (void *)(& buf);
14740#line 2053
14741 init_cdrom_command(& cgc, __cil_tmp8, 64, 2);
14742#line 2054
14743 cgc.sense = & sense;
14744#line 2055
14745 __cil_tmp9 = pd->mode_offset;
14746#line 2055
14747 __cil_tmp10 = (int )__cil_tmp9;
14748#line 2055
14749 __cil_tmp11 = __cil_tmp10 + 12;
14750#line 2055
14751 cgc.buflen = (unsigned int )__cil_tmp11;
14752#line 2060
14753 cgc.quiet = 1;
14754#line 2062
14755 ret = pkt_mode_sense(pd, & cgc, 8, 0);
14756 }
14757#line 2062
14758 if (ret != 0) {
14759#line 2063
14760 return (ret);
14761 } else {
14762
14763 }
14764#line 2065
14765 if (set != 0) {
14766#line 2065
14767 tmp = 4;
14768 } else {
14769#line 2065
14770 tmp = 0;
14771 }
14772 {
14773#line 2065
14774 __cil_tmp12 = (signed char )buf[(int )pd->mode_offset + 10];
14775#line 2065
14776 __cil_tmp13 = (int )__cil_tmp12;
14777#line 2065
14778 __cil_tmp14 = __cil_tmp13 | tmp;
14779#line 2065
14780 buf[(int )pd->mode_offset + 10] = (unsigned char )__cil_tmp14;
14781#line 2067
14782 __cil_tmp15 = (signed char )buf[1];
14783#line 2067
14784 __cil_tmp16 = (int )__cil_tmp15;
14785#line 2067
14786 __cil_tmp17 = (int )buf[0];
14787#line 2067
14788 __cil_tmp18 = __cil_tmp17 << 8;
14789#line 2067
14790 __cil_tmp19 = (signed char )__cil_tmp18;
14791#line 2067
14792 __cil_tmp20 = (int )__cil_tmp19;
14793#line 2067
14794 __cil_tmp21 = __cil_tmp20 | __cil_tmp16;
14795#line 2067
14796 __cil_tmp22 = (unsigned char )__cil_tmp21;
14797#line 2067
14798 __cil_tmp23 = (unsigned int )__cil_tmp22;
14799#line 2067
14800 __cil_tmp24 = __cil_tmp23 + 2U;
14801#line 2067
14802 cgc.cmd[8] = (unsigned char )__cil_tmp24;
14803#line 2067
14804 cgc.buflen = (unsigned int )cgc.cmd[8];
14805#line 2068
14806 ret = pkt_mode_select(pd, & cgc);
14807 }
14808#line 2069
14809 if (ret != 0) {
14810 {
14811#line 2070
14812 printk("pktcdvd: write caching control failed\n");
14813#line 2071
14814 pkt_dump_sense(& cgc);
14815 }
14816 } else
14817#line 2072
14818 if (ret == 0) {
14819#line 2072
14820 if (set != 0) {
14821 {
14822#line 2073
14823 __cil_tmp25 = & pd->name;
14824#line 2073
14825 __cil_tmp26 = (char *)__cil_tmp25;
14826#line 2073
14827 printk("pktcdvd: enabled write caching on %s\n", __cil_tmp26);
14828 }
14829 } else {
14830
14831 }
14832 } else {
14833
14834 }
14835#line 2074
14836 return (ret);
14837}
14838}
14839#line 2077 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
14840static int pkt_lock_door(struct pktcdvd_device *pd , int lockflag )
14841{ struct packet_command cgc ;
14842 int tmp ;
14843 void *__cil_tmp5 ;
14844 int __cil_tmp6 ;
14845
14846 {
14847 {
14848#line 2081
14849 __cil_tmp5 = (void *)0;
14850#line 2081
14851 init_cdrom_command(& cgc, __cil_tmp5, 0, 3);
14852#line 2082
14853 cgc.cmd[0] = (unsigned char)30;
14854#line 2083
14855 __cil_tmp6 = lockflag != 0;
14856#line 2083
14857 cgc.cmd[4] = (unsigned char )__cil_tmp6;
14858#line 2084
14859 tmp = pkt_generic_packet(pd, & cgc);
14860 }
14861#line 2084
14862 return (tmp);
14863}
14864}
14865#line 2090 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
14866static int pkt_get_max_speed(struct pktcdvd_device *pd , unsigned int *write_speed )
14867{ struct packet_command cgc ;
14868 struct request_sense sense ;
14869 unsigned char buf[274U] ;
14870 unsigned char *cap_buf ;
14871 int ret ;
14872 int offset ;
14873 int num_spdb ;
14874 __u8 __cil_tmp10 ;
14875 unsigned long __cil_tmp11 ;
14876 unsigned long __cil_tmp12 ;
14877 unsigned char *__cil_tmp13 ;
14878 void *__cil_tmp14 ;
14879 unsigned char *__cil_tmp15 ;
14880 unsigned char __cil_tmp16 ;
14881 int __cil_tmp17 ;
14882 __u8 __cil_tmp18 ;
14883 int __cil_tmp19 ;
14884 int __cil_tmp20 ;
14885 unsigned int __cil_tmp21 ;
14886 unsigned char *__cil_tmp22 ;
14887 unsigned char __cil_tmp23 ;
14888 unsigned int __cil_tmp24 ;
14889 unsigned char *__cil_tmp25 ;
14890 unsigned char __cil_tmp26 ;
14891 unsigned int __cil_tmp27 ;
14892 unsigned char *__cil_tmp28 ;
14893 unsigned char __cil_tmp29 ;
14894 int __cil_tmp30 ;
14895 unsigned char *__cil_tmp31 ;
14896 unsigned char __cil_tmp32 ;
14897 int __cil_tmp33 ;
14898 int __cil_tmp34 ;
14899 unsigned long __cil_tmp35 ;
14900 unsigned long __cil_tmp36 ;
14901 unsigned char *__cil_tmp37 ;
14902 unsigned char __cil_tmp38 ;
14903 int __cil_tmp39 ;
14904 unsigned long __cil_tmp40 ;
14905 unsigned char *__cil_tmp41 ;
14906 unsigned char __cil_tmp42 ;
14907 int __cil_tmp43 ;
14908 int __cil_tmp44 ;
14909 int __cil_tmp45 ;
14910
14911 {
14912 {
14913#line 2099
14914 __cil_tmp10 = pd->mode_offset;
14915#line 2099
14916 __cil_tmp11 = (unsigned long )__cil_tmp10;
14917#line 2099
14918 __cil_tmp12 = __cil_tmp11 + 8UL;
14919#line 2099
14920 __cil_tmp13 = (unsigned char *)(& buf);
14921#line 2099
14922 cap_buf = __cil_tmp13 + __cil_tmp12;
14923#line 2100
14924 __cil_tmp14 = (void *)(& buf);
14925#line 2100
14926 init_cdrom_command(& cgc, __cil_tmp14, 274, 0);
14927#line 2101
14928 cgc.sense = & sense;
14929#line 2103
14930 ret = pkt_mode_sense(pd, & cgc, 42, 0);
14931 }
14932#line 2104
14933 if (ret != 0) {
14934 {
14935#line 2105
14936 __cil_tmp15 = cap_buf + 1UL;
14937#line 2105
14938 __cil_tmp16 = *__cil_tmp15;
14939#line 2105
14940 __cil_tmp17 = (int )__cil_tmp16;
14941#line 2105
14942 __cil_tmp18 = pd->mode_offset;
14943#line 2105
14944 __cil_tmp19 = (int )__cil_tmp18;
14945#line 2105
14946 __cil_tmp20 = __cil_tmp19 + __cil_tmp17;
14947#line 2105
14948 __cil_tmp21 = (unsigned int )__cil_tmp20;
14949#line 2105
14950 cgc.buflen = __cil_tmp21 + 10U;
14951#line 2107
14952 ret = pkt_mode_sense(pd, & cgc, 42, 0);
14953 }
14954#line 2108
14955 if (ret != 0) {
14956 {
14957#line 2109
14958 pkt_dump_sense(& cgc);
14959 }
14960#line 2110
14961 return (ret);
14962 } else {
14963
14964 }
14965 } else {
14966
14967 }
14968#line 2114
14969 offset = 20;
14970 {
14971#line 2115
14972 __cil_tmp22 = cap_buf + 1UL;
14973#line 2115
14974 __cil_tmp23 = *__cil_tmp22;
14975#line 2115
14976 __cil_tmp24 = (unsigned int )__cil_tmp23;
14977#line 2115
14978 if (__cil_tmp24 > 27U) {
14979#line 2116
14980 offset = 28;
14981 } else {
14982
14983 }
14984 }
14985 {
14986#line 2117
14987 __cil_tmp25 = cap_buf + 1UL;
14988#line 2117
14989 __cil_tmp26 = *__cil_tmp25;
14990#line 2117
14991 __cil_tmp27 = (unsigned int )__cil_tmp26;
14992#line 2117
14993 if (__cil_tmp27 > 29U) {
14994#line 2122
14995 __cil_tmp28 = cap_buf + 31UL;
14996#line 2122
14997 __cil_tmp29 = *__cil_tmp28;
14998#line 2122
14999 __cil_tmp30 = (int )__cil_tmp29;
15000#line 2122
15001 __cil_tmp31 = cap_buf + 30UL;
15002#line 2122
15003 __cil_tmp32 = *__cil_tmp31;
15004#line 2122
15005 __cil_tmp33 = (int )__cil_tmp32;
15006#line 2122
15007 __cil_tmp34 = __cil_tmp33 << 8;
15008#line 2122
15009 num_spdb = __cil_tmp34 + __cil_tmp30;
15010#line 2123
15011 if (num_spdb > 0) {
15012#line 2124
15013 offset = 34;
15014 } else {
15015
15016 }
15017 } else {
15018
15019 }
15020 }
15021#line 2127
15022 __cil_tmp35 = (unsigned long )offset;
15023#line 2127
15024 __cil_tmp36 = __cil_tmp35 + 1UL;
15025#line 2127
15026 __cil_tmp37 = cap_buf + __cil_tmp36;
15027#line 2127
15028 __cil_tmp38 = *__cil_tmp37;
15029#line 2127
15030 __cil_tmp39 = (int )__cil_tmp38;
15031#line 2127
15032 __cil_tmp40 = (unsigned long )offset;
15033#line 2127
15034 __cil_tmp41 = cap_buf + __cil_tmp40;
15035#line 2127
15036 __cil_tmp42 = *__cil_tmp41;
15037#line 2127
15038 __cil_tmp43 = (int )__cil_tmp42;
15039#line 2127
15040 __cil_tmp44 = __cil_tmp43 << 8;
15041#line 2127
15042 __cil_tmp45 = __cil_tmp44 | __cil_tmp39;
15043#line 2127
15044 *write_speed = (unsigned int )__cil_tmp45;
15045#line 2128
15046 return (0);
15047}
15048}
15049#line 2133 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15050static char clv_to_speed[16U] =
15051#line 2133
15052 { (char)0, (char)2, (char)4, (char)6,
15053 (char)8, (char)0, (char)0, (char)0,
15054 (char)0, (char)0, (char)0, (char)0,
15055 (char)0, (char)0, (char)0, (char)0};
15056#line 2138 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15057static char hs_clv_to_speed[16U] =
15058#line 2138
15059 { (char)0, (char)2, (char)4, (char)6,
15060 (char)10, (char)0, (char)0, (char)0,
15061 (char)0, (char)0, (char)0, (char)0,
15062 (char)0, (char)0, (char)0, (char)0};
15063#line 2143 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15064static char us_clv_to_speed[16U] =
15065#line 2143
15066 { (char)0, (char)2, (char)4, (char)8,
15067 (char)0, (char)0, (char)16, (char)0,
15068 (char)24, (char)32, (char)40, (char)48,
15069 (char)0, (char)0, (char)0, (char)0};
15070#line 2151 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15071static int pkt_media_speed(struct pktcdvd_device *pd , unsigned int *speed )
15072{ struct packet_command cgc ;
15073 struct request_sense sense ;
15074 unsigned char buf[64U] ;
15075 unsigned int size ;
15076 unsigned int st ;
15077 unsigned int sp ;
15078 int ret ;
15079 void *__cil_tmp10 ;
15080 unsigned int __cil_tmp11 ;
15081 unsigned int __cil_tmp12 ;
15082 unsigned int __cil_tmp13 ;
15083 unsigned int __cil_tmp14 ;
15084 void *__cil_tmp15 ;
15085 int __cil_tmp16 ;
15086 int __cil_tmp17 ;
15087 int __cil_tmp18 ;
15088 int __cil_tmp19 ;
15089 int __cil_tmp20 ;
15090 int __cil_tmp21 ;
15091 int __cil_tmp22 ;
15092 unsigned int __cil_tmp23 ;
15093 unsigned int __cil_tmp24 ;
15094 int __cil_tmp25 ;
15095 int __cil_tmp26 ;
15096 int __cil_tmp27 ;
15097 unsigned int __cil_tmp28 ;
15098 unsigned int __cil_tmp29 ;
15099
15100 {
15101 {
15102#line 2160
15103 __cil_tmp10 = (void *)(& buf);
15104#line 2160
15105 init_cdrom_command(& cgc, __cil_tmp10, 2, 2);
15106#line 2161
15107 cgc.sense = & sense;
15108#line 2162
15109 cgc.cmd[0] = (unsigned char)67;
15110#line 2163
15111 cgc.cmd[1] = (unsigned char)2;
15112#line 2164
15113 cgc.cmd[2] = (unsigned char)4;
15114#line 2165
15115 cgc.cmd[8] = (unsigned char)2;
15116#line 2166
15117 ret = pkt_generic_packet(pd, & cgc);
15118 }
15119#line 2167
15120 if (ret != 0) {
15121 {
15122#line 2168
15123 pkt_dump_sense(& cgc);
15124 }
15125#line 2169
15126 return (ret);
15127 } else {
15128
15129 }
15130#line 2171
15131 __cil_tmp11 = (unsigned int )buf[1];
15132#line 2171
15133 __cil_tmp12 = (unsigned int )buf[0];
15134#line 2171
15135 __cil_tmp13 = __cil_tmp12 << 8;
15136#line 2171
15137 __cil_tmp14 = __cil_tmp13 + __cil_tmp11;
15138#line 2171
15139 size = __cil_tmp14 + 2U;
15140#line 2172
15141 if (size > 64U) {
15142#line 2173
15143 size = 64U;
15144 } else {
15145
15146 }
15147 {
15148#line 2175
15149 __cil_tmp15 = (void *)(& buf);
15150#line 2175
15151 __cil_tmp16 = (int )size;
15152#line 2175
15153 init_cdrom_command(& cgc, __cil_tmp15, __cil_tmp16, 2);
15154#line 2176
15155 cgc.sense = & sense;
15156#line 2177
15157 cgc.cmd[0] = (unsigned char)67;
15158#line 2178
15159 cgc.cmd[1] = (unsigned char)2;
15160#line 2179
15161 cgc.cmd[2] = (unsigned char)4;
15162#line 2180
15163 cgc.cmd[8] = (unsigned char )size;
15164#line 2181
15165 ret = pkt_generic_packet(pd, & cgc);
15166 }
15167#line 2182
15168 if (ret != 0) {
15169 {
15170#line 2183
15171 pkt_dump_sense(& cgc);
15172 }
15173#line 2184
15174 return (ret);
15175 } else {
15176
15177 }
15178 {
15179#line 2187
15180 __cil_tmp17 = (int )buf[6];
15181#line 2187
15182 __cil_tmp18 = __cil_tmp17 & 64;
15183#line 2187
15184 if (__cil_tmp18 == 0) {
15185 {
15186#line 2188
15187 printk("pktcdvd: Disc type is not CD-RW\n");
15188 }
15189#line 2189
15190 return (1);
15191 } else {
15192
15193 }
15194 }
15195 {
15196#line 2191
15197 __cil_tmp19 = (int )buf[6];
15198#line 2191
15199 __cil_tmp20 = __cil_tmp19 & 4;
15200#line 2191
15201 if (__cil_tmp20 == 0) {
15202 {
15203#line 2192
15204 printk("pktcdvd: A1 values on media are not valid, maybe not CDRW?\n");
15205 }
15206#line 2193
15207 return (1);
15208 } else {
15209
15210 }
15211 }
15212#line 2196
15213 __cil_tmp21 = (int )buf[6];
15214#line 2196
15215 __cil_tmp22 = __cil_tmp21 >> 3;
15216#line 2196
15217 __cil_tmp23 = (unsigned int )__cil_tmp22;
15218#line 2196
15219 st = __cil_tmp23 & 7U;
15220#line 2198
15221 __cil_tmp24 = (unsigned int )buf[16];
15222#line 2198
15223 sp = __cil_tmp24 & 15U;
15224 {
15225#line 2202
15226 __cil_tmp25 = (int )st;
15227#line 2202
15228 if (__cil_tmp25 == 0) {
15229#line 2202
15230 goto case_0;
15231 } else {
15232 {
15233#line 2205
15234 __cil_tmp26 = (int )st;
15235#line 2205
15236 if (__cil_tmp26 == 1) {
15237#line 2205
15238 goto case_1;
15239 } else {
15240 {
15241#line 2208
15242 __cil_tmp27 = (int )st;
15243#line 2208
15244 if (__cil_tmp27 == 2) {
15245#line 2208
15246 goto case_2;
15247 } else {
15248#line 2211
15249 goto switch_default;
15250#line 2201
15251 if (0) {
15252 case_0:
15253#line 2203
15254 *speed = (unsigned int )clv_to_speed[sp];
15255#line 2204
15256 goto ldv_31218;
15257 case_1:
15258#line 2206
15259 *speed = (unsigned int )hs_clv_to_speed[sp];
15260#line 2207
15261 goto ldv_31218;
15262 case_2:
15263#line 2209
15264 *speed = (unsigned int )us_clv_to_speed[sp];
15265#line 2210
15266 goto ldv_31218;
15267 switch_default:
15268 {
15269#line 2212
15270 printk("pktcdvd: Unknown disc sub-type %d\n", st);
15271 }
15272#line 2213
15273 return (1);
15274 } else {
15275
15276 }
15277 }
15278 }
15279 }
15280 }
15281 }
15282 }
15283 ldv_31218: ;
15284 {
15285#line 2215
15286 __cil_tmp28 = *speed;
15287#line 2215
15288 if (__cil_tmp28 != 0U) {
15289 {
15290#line 2216
15291 __cil_tmp29 = *speed;
15292#line 2216
15293 printk("pktcdvd: Max. media speed: %d\n", __cil_tmp29);
15294 }
15295#line 2217
15296 return (0);
15297 } else {
15298 {
15299#line 2219
15300 printk("pktcdvd: Unknown speed %d for sub-type %d\n", sp, st);
15301 }
15302#line 2220
15303 return (1);
15304 }
15305 }
15306}
15307}
15308#line 2224 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15309static int pkt_perform_opc(struct pktcdvd_device *pd )
15310{ struct packet_command cgc ;
15311 struct request_sense sense ;
15312 int ret ;
15313 void *__cil_tmp5 ;
15314
15315 {
15316 {
15317#line 2232
15318 __cil_tmp5 = (void *)0;
15319#line 2232
15320 init_cdrom_command(& cgc, __cil_tmp5, 0, 3);
15321#line 2233
15322 cgc.sense = & sense;
15323#line 2234
15324 cgc.timeout = 15000;
15325#line 2235
15326 cgc.cmd[0] = (unsigned char)84;
15327#line 2236
15328 cgc.cmd[1] = (unsigned char)1;
15329#line 2237
15330 ret = pkt_generic_packet(pd, & cgc);
15331 }
15332#line 2237
15333 if (ret != 0) {
15334 {
15335#line 2238
15336 pkt_dump_sense(& cgc);
15337 }
15338 } else {
15339
15340 }
15341#line 2239
15342 return (ret);
15343}
15344}
15345#line 2242 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15346static int pkt_open_write(struct pktcdvd_device *pd )
15347{ int ret ;
15348 unsigned int write_speed ;
15349 unsigned int media_write_speed ;
15350 unsigned int read_speed ;
15351 unsigned int _min1 ;
15352 unsigned int _min2 ;
15353 unsigned int tmp ;
15354 char (*__cil_tmp9)[20U] ;
15355 char *__cil_tmp10 ;
15356 __u16 __cil_tmp11 ;
15357 int __cil_tmp12 ;
15358 __u16 __cil_tmp13 ;
15359 int __cil_tmp14 ;
15360 __u16 __cil_tmp15 ;
15361 int __cil_tmp16 ;
15362 unsigned int __cil_tmp17 ;
15363 char (*__cil_tmp18)[20U] ;
15364 char *__cil_tmp19 ;
15365 char (*__cil_tmp20)[20U] ;
15366 char *__cil_tmp21 ;
15367
15368 {
15369 {
15370#line 2247
15371 ret = pkt_probe_settings(pd);
15372 }
15373#line 2247
15374 if (ret != 0) {
15375#line 2249
15376 return (ret);
15377 } else {
15378
15379 }
15380 {
15381#line 2252
15382 ret = pkt_set_write_settings(pd);
15383 }
15384#line 2252
15385 if (ret != 0) {
15386 {
15387#line 2253
15388 __cil_tmp9 = & pd->name;
15389#line 2253
15390 __cil_tmp10 = (char *)__cil_tmp9;
15391#line 2253
15392 printk("<5>pktcdvd: %s failed saving write settings\n", __cil_tmp10);
15393 }
15394#line 2254
15395 return (-5);
15396 } else {
15397
15398 }
15399 {
15400#line 2257
15401 pkt_write_caching(pd, 1);
15402#line 2259
15403 ret = pkt_get_max_speed(pd, & write_speed);
15404 }
15405#line 2259
15406 if (ret != 0) {
15407#line 2260
15408 write_speed = 2832U;
15409 } else {
15410
15411 }
15412 {
15413#line 2262
15414 __cil_tmp11 = pd->mmc3_profile;
15415#line 2262
15416 __cil_tmp12 = (int )__cil_tmp11;
15417#line 2262
15418 if (__cil_tmp12 == 19) {
15419#line 2262
15420 goto case_19;
15421 } else {
15422 {
15423#line 2263
15424 __cil_tmp13 = pd->mmc3_profile;
15425#line 2263
15426 __cil_tmp14 = (int )__cil_tmp13;
15427#line 2263
15428 if (__cil_tmp14 == 26) {
15429#line 2263
15430 goto case_26;
15431 } else {
15432 {
15433#line 2264
15434 __cil_tmp15 = pd->mmc3_profile;
15435#line 2264
15436 __cil_tmp16 = (int )__cil_tmp15;
15437#line 2264
15438 if (__cil_tmp16 == 18) {
15439#line 2264
15440 goto case_18;
15441 } else {
15442#line 2267
15443 goto switch_default;
15444#line 2261
15445 if (0) {
15446 case_19: ;
15447 case_26: ;
15448 case_18:
15449 {
15450#line 2265
15451 printk("<5>pktcdvd: write speed %ukB/s\n", write_speed);
15452 }
15453#line 2266
15454 goto ldv_31238;
15455 switch_default:
15456 {
15457#line 2268
15458 ret = pkt_media_speed(pd, & media_write_speed);
15459 }
15460#line 2268
15461 if (ret != 0) {
15462#line 2269
15463 media_write_speed = 16U;
15464 } else {
15465
15466 }
15467#line 2270
15468 _min1 = write_speed;
15469#line 2270
15470 _min2 = media_write_speed * 177U;
15471#line 2270
15472 if (_min1 < _min2) {
15473#line 2270
15474 tmp = _min1;
15475 } else {
15476#line 2270
15477 tmp = _min2;
15478 }
15479 {
15480#line 2270
15481 write_speed = tmp;
15482#line 2271
15483 __cil_tmp17 = write_speed / 176U;
15484#line 2271
15485 printk("<5>pktcdvd: write speed %ux\n", __cil_tmp17);
15486 }
15487#line 2272
15488 goto ldv_31238;
15489 } else {
15490
15491 }
15492 }
15493 }
15494 }
15495 }
15496 }
15497 }
15498 ldv_31238:
15499 {
15500#line 2274
15501 read_speed = write_speed;
15502#line 2276
15503 ret = pkt_set_speed(pd, write_speed, read_speed);
15504 }
15505#line 2276
15506 if (ret != 0) {
15507 {
15508#line 2277
15509 __cil_tmp18 = & pd->name;
15510#line 2277
15511 __cil_tmp19 = (char *)__cil_tmp18;
15512#line 2277
15513 printk("<5>pktcdvd: %s couldn\'t set write speed\n", __cil_tmp19);
15514 }
15515#line 2278
15516 return (-5);
15517 } else {
15518
15519 }
15520 {
15521#line 2280
15522 pd->write_speed = (int )write_speed;
15523#line 2281
15524 pd->read_speed = (int )read_speed;
15525#line 2283
15526 ret = pkt_perform_opc(pd);
15527 }
15528#line 2283
15529 if (ret != 0) {
15530 {
15531#line 2284
15532 __cil_tmp20 = & pd->name;
15533#line 2284
15534 __cil_tmp21 = (char *)__cil_tmp20;
15535#line 2284
15536 printk("<5>pktcdvd: %s Optimum Power Calibration failed\n", __cil_tmp21);
15537 }
15538 } else {
15539
15540 }
15541#line 2287
15542 return (0);
15543}
15544}
15545#line 2293 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15546static int pkt_open_dev(struct pktcdvd_device *pd , fmode_t write )
15547{ int ret ;
15548 long lba ;
15549 struct request_queue *q ;
15550 int tmp ;
15551 struct block_device *__cil_tmp7 ;
15552 dev_t __cil_tmp8 ;
15553 struct block_device *__cil_tmp9 ;
15554 void *__cil_tmp10 ;
15555 struct gendisk *__cil_tmp11 ;
15556 long __cil_tmp12 ;
15557 sector_t __cil_tmp13 ;
15558 struct block_device *__cil_tmp14 ;
15559 struct gendisk *__cil_tmp15 ;
15560 long __cil_tmp16 ;
15561 sector_t __cil_tmp17 ;
15562 struct block_device *__cil_tmp18 ;
15563 long long __cil_tmp19 ;
15564 long long __cil_tmp20 ;
15565 struct block_device *__cil_tmp21 ;
15566 spinlock_t *__cil_tmp22 ;
15567 __u32 __cil_tmp23 ;
15568 spinlock_t *__cil_tmp24 ;
15569 unsigned long *__cil_tmp25 ;
15570 unsigned long volatile *__cil_tmp26 ;
15571 unsigned long *__cil_tmp27 ;
15572 unsigned long volatile *__cil_tmp28 ;
15573 long __cil_tmp29 ;
15574 struct block_device *__cil_tmp30 ;
15575
15576 {
15577 {
15578#line 2304
15579 __cil_tmp7 = pd->bdev;
15580#line 2304
15581 __cil_tmp8 = __cil_tmp7->bd_dev;
15582#line 2304
15583 bdget(__cil_tmp8);
15584#line 2305
15585 __cil_tmp9 = pd->bdev;
15586#line 2305
15587 __cil_tmp10 = (void *)pd;
15588#line 2305
15589 ret = blkdev_get(__cil_tmp9, 129U, __cil_tmp10);
15590 }
15591#line 2305
15592 if (ret != 0) {
15593#line 2306
15594 goto out;
15595 } else {
15596
15597 }
15598 {
15599#line 2308
15600 ret = pkt_get_last_written(pd, & lba);
15601 }
15602#line 2308
15603 if (ret != 0) {
15604 {
15605#line 2309
15606 printk("pktcdvd: pkt_get_last_written failed\n");
15607 }
15608#line 2310
15609 goto out_putdev;
15610 } else {
15611
15612 }
15613 {
15614#line 2313
15615 __cil_tmp11 = pd->disk;
15616#line 2313
15617 __cil_tmp12 = lba << 2;
15618#line 2313
15619 __cil_tmp13 = (sector_t )__cil_tmp12;
15620#line 2313
15621 set_capacity(__cil_tmp11, __cil_tmp13);
15622#line 2314
15623 __cil_tmp14 = pd->bdev;
15624#line 2314
15625 __cil_tmp15 = __cil_tmp14->bd_disk;
15626#line 2314
15627 __cil_tmp16 = lba << 2;
15628#line 2314
15629 __cil_tmp17 = (sector_t )__cil_tmp16;
15630#line 2314
15631 set_capacity(__cil_tmp15, __cil_tmp17);
15632#line 2315
15633 __cil_tmp18 = pd->bdev;
15634#line 2315
15635 __cil_tmp19 = (long long )lba;
15636#line 2315
15637 __cil_tmp20 = __cil_tmp19 << 11;
15638#line 2315
15639 bd_set_size(__cil_tmp18, __cil_tmp20);
15640#line 2317
15641 __cil_tmp21 = pd->bdev;
15642#line 2317
15643 q = bdev_get_queue(__cil_tmp21);
15644 }
15645#line 2318
15646 if (write != 0U) {
15647 {
15648#line 2319
15649 ret = pkt_open_write(pd);
15650 }
15651#line 2319
15652 if (ret != 0) {
15653#line 2320
15654 goto out_putdev;
15655 } else {
15656
15657 }
15658 {
15659#line 2325
15660 __cil_tmp22 = q->queue_lock;
15661#line 2325
15662 spin_lock_irq(__cil_tmp22);
15663#line 2326
15664 __cil_tmp23 = pd->settings.size;
15665#line 2326
15666 blk_queue_max_hw_sectors(q, __cil_tmp23);
15667#line 2327
15668 __cil_tmp24 = q->queue_lock;
15669#line 2327
15670 spin_unlock_irq(__cil_tmp24);
15671#line 2328
15672 __cil_tmp25 = & pd->flags;
15673#line 2328
15674 __cil_tmp26 = (unsigned long volatile *)__cil_tmp25;
15675#line 2328
15676 set_bit(1U, __cil_tmp26);
15677 }
15678 } else {
15679 {
15680#line 2330
15681 pkt_set_speed(pd, 65535U, 65535U);
15682#line 2331
15683 __cil_tmp27 = & pd->flags;
15684#line 2331
15685 __cil_tmp28 = (unsigned long volatile *)__cil_tmp27;
15686#line 2331
15687 clear_bit(1, __cil_tmp28);
15688 }
15689 }
15690 {
15691#line 2334
15692 ret = pkt_set_segment_merging(pd, q);
15693 }
15694#line 2334
15695 if (ret != 0) {
15696#line 2335
15697 goto out_putdev;
15698 } else {
15699
15700 }
15701#line 2337
15702 if (write != 0U) {
15703 {
15704#line 2338
15705 tmp = pkt_grow_pktlist(pd, 8);
15706 }
15707#line 2338
15708 if (tmp == 0) {
15709 {
15710#line 2339
15711 printk("pktcdvd: not enough memory for buffers\n");
15712#line 2340
15713 ret = -12;
15714 }
15715#line 2341
15716 goto out_putdev;
15717 } else {
15718
15719 }
15720 {
15721#line 2343
15722 __cil_tmp29 = lba << 1;
15723#line 2343
15724 printk("pktcdvd: %lukB available on disc\n", __cil_tmp29);
15725 }
15726 } else {
15727
15728 }
15729#line 2346
15730 return (0);
15731 out_putdev:
15732 {
15733#line 2349
15734 __cil_tmp30 = pd->bdev;
15735#line 2349
15736 blkdev_put(__cil_tmp30, 129U);
15737 }
15738 out: ;
15739#line 2351
15740 return (ret);
15741}
15742}
15743#line 2358 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15744static void pkt_release_dev(struct pktcdvd_device *pd , int flush )
15745{ int tmp ;
15746 char (*__cil_tmp4)[20U] ;
15747 char *__cil_tmp5 ;
15748 struct block_device *__cil_tmp6 ;
15749
15750 {
15751#line 2360
15752 if (flush != 0) {
15753 {
15754#line 2360
15755 tmp = pkt_flush_cache(pd);
15756 }
15757#line 2360
15758 if (tmp != 0) {
15759 {
15760#line 2361
15761 __cil_tmp4 = & pd->name;
15762#line 2361
15763 __cil_tmp5 = (char *)__cil_tmp4;
15764#line 2361
15765 printk("<5>pktcdvd: %s not flushing cache\n", __cil_tmp5);
15766 }
15767 } else {
15768
15769 }
15770 } else {
15771
15772 }
15773 {
15774#line 2363
15775 pkt_lock_door(pd, 0);
15776#line 2365
15777 pkt_set_speed(pd, 65535U, 65535U);
15778#line 2366
15779 __cil_tmp6 = pd->bdev;
15780#line 2366
15781 blkdev_put(__cil_tmp6, 129U);
15782#line 2368
15783 pkt_shrink_pktlist(pd);
15784 }
15785#line 2369
15786 return;
15787}
15788}
15789#line 2371 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15790static struct pktcdvd_device *pkt_find_dev_from_minor(unsigned int dev_minor )
15791{
15792
15793 {
15794#line 2373
15795 if (dev_minor > 7U) {
15796#line 2374
15797 return ((struct pktcdvd_device *)0);
15798 } else {
15799
15800 }
15801#line 2375
15802 return (pkt_devs[dev_minor]);
15803}
15804}
15805#line 2378 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15806static int pkt_open(struct block_device *bdev , fmode_t mode )
15807{ struct pktcdvd_device *pd ;
15808 int ret ;
15809 long tmp ;
15810 int tmp___0 ;
15811 dev_t __cil_tmp7 ;
15812 unsigned int __cil_tmp8 ;
15813 struct pktcdvd_device *__cil_tmp9 ;
15814 unsigned long __cil_tmp10 ;
15815 unsigned long __cil_tmp11 ;
15816 int __cil_tmp12 ;
15817 int __cil_tmp13 ;
15818 long __cil_tmp14 ;
15819 int __cil_tmp15 ;
15820 int __cil_tmp16 ;
15821 unsigned int __cil_tmp17 ;
15822 unsigned long *__cil_tmp18 ;
15823 unsigned long const volatile *__cil_tmp19 ;
15824 unsigned int __cil_tmp20 ;
15825 int __cil_tmp21 ;
15826
15827 {
15828 {
15829#line 2380
15830 pd = (struct pktcdvd_device *)0;
15831#line 2385
15832 mutex_lock_nested(& pktcdvd_mutex, 0U);
15833#line 2386
15834 mutex_lock_nested(& ctl_mutex, 0U);
15835#line 2387
15836 __cil_tmp7 = bdev->bd_dev;
15837#line 2387
15838 __cil_tmp8 = __cil_tmp7 & 1048575U;
15839#line 2387
15840 pd = pkt_find_dev_from_minor(__cil_tmp8);
15841 }
15842 {
15843#line 2388
15844 __cil_tmp9 = (struct pktcdvd_device *)0;
15845#line 2388
15846 __cil_tmp10 = (unsigned long )__cil_tmp9;
15847#line 2388
15848 __cil_tmp11 = (unsigned long )pd;
15849#line 2388
15850 if (__cil_tmp11 == __cil_tmp10) {
15851#line 2389
15852 ret = -19;
15853#line 2390
15854 goto out;
15855 } else {
15856
15857 }
15858 }
15859 {
15860#line 2392
15861 __cil_tmp12 = pd->refcnt;
15862#line 2392
15863 __cil_tmp13 = __cil_tmp12 < 0;
15864#line 2392
15865 __cil_tmp14 = (long )__cil_tmp13;
15866#line 2392
15867 tmp = __builtin_expect(__cil_tmp14, 0L);
15868 }
15869#line 2392
15870 if (tmp != 0L) {
15871#line 2392
15872 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
15873 "i" (2392), "i" (12UL));
15874 ldv_31266: ;
15875#line 2392
15876 goto ldv_31266;
15877 } else {
15878
15879 }
15880#line 2394
15881 __cil_tmp15 = pd->refcnt;
15882#line 2394
15883 pd->refcnt = __cil_tmp15 + 1;
15884 {
15885#line 2395
15886 __cil_tmp16 = pd->refcnt;
15887#line 2395
15888 if (__cil_tmp16 > 1) {
15889 {
15890#line 2396
15891 __cil_tmp17 = mode & 2U;
15892#line 2396
15893 if (__cil_tmp17 != 0U) {
15894 {
15895#line 2396
15896 __cil_tmp18 = & pd->flags;
15897#line 2396
15898 __cil_tmp19 = (unsigned long const volatile *)__cil_tmp18;
15899#line 2396
15900 tmp___0 = constant_test_bit(1U, __cil_tmp19);
15901 }
15902#line 2396
15903 if (tmp___0 == 0) {
15904#line 2398
15905 ret = -16;
15906#line 2399
15907 goto out_dec;
15908 } else {
15909#line 2396
15910 goto _L;
15911 }
15912 } else {
15913 _L:
15914 {
15915#line 2402
15916 __cil_tmp20 = mode & 2U;
15917#line 2402
15918 ret = pkt_open_dev(pd, __cil_tmp20);
15919 }
15920#line 2403
15921 if (ret != 0) {
15922#line 2404
15923 goto out_dec;
15924 } else {
15925
15926 }
15927 {
15928#line 2409
15929 set_blocksize(bdev, 2048);
15930 }
15931 }
15932 }
15933 } else {
15934
15935 }
15936 }
15937 {
15938#line 2412
15939 mutex_unlock(& ctl_mutex);
15940#line 2413
15941 mutex_unlock(& pktcdvd_mutex);
15942 }
15943#line 2414
15944 return (0);
15945 out_dec:
15946#line 2417
15947 __cil_tmp21 = pd->refcnt;
15948#line 2417
15949 pd->refcnt = __cil_tmp21 - 1;
15950 out:
15951 {
15952#line 2420
15953 mutex_unlock(& ctl_mutex);
15954#line 2421
15955 mutex_unlock(& pktcdvd_mutex);
15956 }
15957#line 2422
15958 return (ret);
15959}
15960}
15961#line 2425 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
15962static int pkt_close(struct gendisk *disk , fmode_t mode )
15963{ struct pktcdvd_device *pd ;
15964 int ret ;
15965 long tmp ;
15966 int flush ;
15967 int tmp___0 ;
15968 void *__cil_tmp8 ;
15969 int __cil_tmp9 ;
15970 int __cil_tmp10 ;
15971 int __cil_tmp11 ;
15972 long __cil_tmp12 ;
15973 int __cil_tmp13 ;
15974 unsigned long *__cil_tmp14 ;
15975 unsigned long const volatile *__cil_tmp15 ;
15976
15977 {
15978 {
15979#line 2427
15980 __cil_tmp8 = disk->private_data;
15981#line 2427
15982 pd = (struct pktcdvd_device *)__cil_tmp8;
15983#line 2428
15984 ret = 0;
15985#line 2430
15986 mutex_lock_nested(& pktcdvd_mutex, 0U);
15987#line 2431
15988 mutex_lock_nested(& ctl_mutex, 0U);
15989#line 2432
15990 __cil_tmp9 = pd->refcnt;
15991#line 2432
15992 pd->refcnt = __cil_tmp9 - 1;
15993#line 2433
15994 __cil_tmp10 = pd->refcnt;
15995#line 2433
15996 __cil_tmp11 = __cil_tmp10 < 0;
15997#line 2433
15998 __cil_tmp12 = (long )__cil_tmp11;
15999#line 2433
16000 tmp = __builtin_expect(__cil_tmp12, 0L);
16001 }
16002#line 2433
16003 if (tmp != 0L) {
16004#line 2433
16005 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
16006 "i" (2433), "i" (12UL));
16007 ldv_31274: ;
16008#line 2433
16009 goto ldv_31274;
16010 } else {
16011
16012 }
16013 {
16014#line 2434
16015 __cil_tmp13 = pd->refcnt;
16016#line 2434
16017 if (__cil_tmp13 == 0) {
16018 {
16019#line 2435
16020 __cil_tmp14 = & pd->flags;
16021#line 2435
16022 __cil_tmp15 = (unsigned long const volatile *)__cil_tmp14;
16023#line 2435
16024 tmp___0 = constant_test_bit(1U, __cil_tmp15);
16025#line 2435
16026 flush = tmp___0;
16027#line 2436
16028 pkt_release_dev(pd, flush);
16029 }
16030 } else {
16031
16032 }
16033 }
16034 {
16035#line 2438
16036 mutex_unlock(& ctl_mutex);
16037#line 2439
16038 mutex_unlock(& pktcdvd_mutex);
16039 }
16040#line 2440
16041 return (ret);
16042}
16043}
16044#line 2444 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
16045static void pkt_end_io_read_cloned(struct bio *bio , int err )
16046{ struct packet_stacked_data *psd ;
16047 struct pktcdvd_device *pd ;
16048 void *__cil_tmp5 ;
16049 struct bio *__cil_tmp6 ;
16050 void *__cil_tmp7 ;
16051
16052 {
16053 {
16054#line 2446
16055 __cil_tmp5 = bio->bi_private;
16056#line 2446
16057 psd = (struct packet_stacked_data *)__cil_tmp5;
16058#line 2447
16059 pd = psd->pd;
16060#line 2449
16061 bio_put(bio);
16062#line 2450
16063 __cil_tmp6 = psd->bio;
16064#line 2450
16065 bio_endio(__cil_tmp6, err);
16066#line 2451
16067 __cil_tmp7 = (void *)psd;
16068#line 2451
16069 mempool_free(__cil_tmp7, psd_pool);
16070#line 2452
16071 pkt_bio_finished(pd);
16072 }
16073#line 2453
16074 return;
16075}
16076}
16077#line 2455 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
16078static int pkt_make_request(struct request_queue *q , struct bio *bio )
16079{ struct pktcdvd_device *pd ;
16080 char b[32U] ;
16081 sector_t zone ;
16082 struct packet_data *pkt ;
16083 int was_empty ;
16084 int blocked_bio ;
16085 struct pkt_rb_node *node ;
16086 char const *tmp ;
16087 struct bio *cloned_bio ;
16088 struct bio *tmp___0 ;
16089 struct packet_stacked_data *psd ;
16090 void *tmp___1 ;
16091 int tmp___2 ;
16092 struct bio_pair *bp ;
16093 sector_t last_zone ;
16094 int first_sectors ;
16095 long tmp___3 ;
16096 long tmp___4 ;
16097 struct list_head const *__mptr ;
16098 struct list_head const *__mptr___0 ;
16099 void *tmp___5 ;
16100 long tmp___6 ;
16101 int tmp___7 ;
16102 void *__cil_tmp26 ;
16103 struct pktcdvd_device *__cil_tmp27 ;
16104 unsigned long __cil_tmp28 ;
16105 unsigned long __cil_tmp29 ;
16106 struct block_device *__cil_tmp30 ;
16107 char *__cil_tmp31 ;
16108 unsigned long __cil_tmp32 ;
16109 unsigned long __cil_tmp33 ;
16110 unsigned int __cil_tmp34 ;
16111 unsigned int __cil_tmp35 ;
16112 unsigned long __cil_tmp36 ;
16113 unsigned long __cil_tmp37 ;
16114 unsigned long *__cil_tmp38 ;
16115 unsigned long const volatile *__cil_tmp39 ;
16116 char (*__cil_tmp40)[20U] ;
16117 char *__cil_tmp41 ;
16118 sector_t __cil_tmp42 ;
16119 unsigned long long __cil_tmp43 ;
16120 unsigned int __cil_tmp44 ;
16121 unsigned int __cil_tmp45 ;
16122 unsigned int __cil_tmp46 ;
16123 __u32 __cil_tmp47 ;
16124 __u32 __cil_tmp48 ;
16125 unsigned long __cil_tmp49 ;
16126 unsigned long __cil_tmp50 ;
16127 sector_t __cil_tmp51 ;
16128 sector_t __cil_tmp52 ;
16129 __u32 __cil_tmp53 ;
16130 __u32 __cil_tmp54 ;
16131 unsigned long __cil_tmp55 ;
16132 unsigned long __cil_tmp56 ;
16133 unsigned int __cil_tmp57 ;
16134 unsigned int __cil_tmp58 ;
16135 sector_t __cil_tmp59 ;
16136 sector_t __cil_tmp60 ;
16137 sector_t __cil_tmp61 ;
16138 sector_t __cil_tmp62 ;
16139 sector_t __cil_tmp63 ;
16140 __u32 __cil_tmp64 ;
16141 sector_t __cil_tmp65 ;
16142 sector_t __cil_tmp66 ;
16143 int __cil_tmp67 ;
16144 long __cil_tmp68 ;
16145 sector_t __cil_tmp69 ;
16146 unsigned int __cil_tmp70 ;
16147 unsigned int __cil_tmp71 ;
16148 unsigned int __cil_tmp72 ;
16149 struct bio_pair *__cil_tmp73 ;
16150 unsigned long __cil_tmp74 ;
16151 unsigned long __cil_tmp75 ;
16152 int __cil_tmp76 ;
16153 long __cil_tmp77 ;
16154 struct bio *__cil_tmp78 ;
16155 struct bio *__cil_tmp79 ;
16156 spinlock_t *__cil_tmp80 ;
16157 struct list_head *__cil_tmp81 ;
16158 sector_t __cil_tmp82 ;
16159 spinlock_t *__cil_tmp83 ;
16160 enum packet_data_state __cil_tmp84 ;
16161 unsigned int __cil_tmp85 ;
16162 enum packet_data_state __cil_tmp86 ;
16163 unsigned int __cil_tmp87 ;
16164 struct bio_list *__cil_tmp88 ;
16165 unsigned int __cil_tmp89 ;
16166 unsigned int __cil_tmp90 ;
16167 int __cil_tmp91 ;
16168 unsigned int __cil_tmp92 ;
16169 unsigned int __cil_tmp93 ;
16170 int __cil_tmp94 ;
16171 int __cil_tmp95 ;
16172 enum packet_data_state __cil_tmp96 ;
16173 unsigned int __cil_tmp97 ;
16174 atomic_t *__cil_tmp98 ;
16175 wait_queue_head_t *__cil_tmp99 ;
16176 void *__cil_tmp100 ;
16177 spinlock_t *__cil_tmp101 ;
16178 spinlock_t *__cil_tmp102 ;
16179 spinlock_t *__cil_tmp103 ;
16180 struct list_head *__cil_tmp104 ;
16181 struct list_head *__cil_tmp105 ;
16182 unsigned long __cil_tmp106 ;
16183 struct list_head *__cil_tmp107 ;
16184 unsigned long __cil_tmp108 ;
16185 spinlock_t *__cil_tmp109 ;
16186 spinlock_t *__cil_tmp110 ;
16187 int __cil_tmp111 ;
16188 int __cil_tmp112 ;
16189 int __cil_tmp113 ;
16190 struct backing_dev_info *__cil_tmp114 ;
16191 spinlock_t *__cil_tmp115 ;
16192 spinlock_t *__cil_tmp116 ;
16193 int __cil_tmp117 ;
16194 int __cil_tmp118 ;
16195 spinlock_t *__cil_tmp119 ;
16196 mempool_t *__cil_tmp120 ;
16197 spinlock_t *__cil_tmp121 ;
16198 int __cil_tmp122 ;
16199 int __cil_tmp123 ;
16200 long __cil_tmp124 ;
16201 int __cil_tmp125 ;
16202 spinlock_t *__cil_tmp126 ;
16203 atomic_t *__cil_tmp127 ;
16204 wait_queue_head_t *__cil_tmp128 ;
16205 void *__cil_tmp129 ;
16206 struct list_head *__cil_tmp130 ;
16207 struct list_head const *__cil_tmp131 ;
16208 wait_queue_head_t *__cil_tmp132 ;
16209 void *__cil_tmp133 ;
16210
16211 {
16212#line 2464
16213 __cil_tmp26 = q->queuedata;
16214#line 2464
16215 pd = (struct pktcdvd_device *)__cil_tmp26;
16216 {
16217#line 2465
16218 __cil_tmp27 = (struct pktcdvd_device *)0;
16219#line 2465
16220 __cil_tmp28 = (unsigned long )__cil_tmp27;
16221#line 2465
16222 __cil_tmp29 = (unsigned long )pd;
16223#line 2465
16224 if (__cil_tmp29 == __cil_tmp28) {
16225 {
16226#line 2466
16227 __cil_tmp30 = bio->bi_bdev;
16228#line 2466
16229 __cil_tmp31 = (char *)(& b);
16230#line 2466
16231 tmp = bdevname(__cil_tmp30, __cil_tmp31);
16232#line 2466
16233 printk("pktcdvd: %s incorrect request queue\n", tmp);
16234 }
16235#line 2467
16236 goto end_io;
16237 } else {
16238
16239 }
16240 }
16241 {
16242#line 2473
16243 __cil_tmp32 = bio->bi_rw;
16244#line 2473
16245 __cil_tmp33 = __cil_tmp32 & 1UL;
16246#line 2473
16247 if (__cil_tmp33 == 0UL) {
16248 {
16249#line 2474
16250 tmp___0 = bio_clone(bio, 16U);
16251#line 2474
16252 cloned_bio = tmp___0;
16253#line 2475
16254 tmp___1 = mempool_alloc(psd_pool, 16U);
16255#line 2475
16256 psd = (struct packet_stacked_data *)tmp___1;
16257#line 2477
16258 psd->pd = pd;
16259#line 2478
16260 psd->bio = bio;
16261#line 2479
16262 cloned_bio->bi_bdev = pd->bdev;
16263#line 2480
16264 cloned_bio->bi_private = (void *)psd;
16265#line 2481
16266 cloned_bio->bi_end_io = & pkt_end_io_read_cloned;
16267#line 2482
16268 __cil_tmp34 = bio->bi_size;
16269#line 2482
16270 __cil_tmp35 = __cil_tmp34 >> 9;
16271#line 2482
16272 __cil_tmp36 = (unsigned long )__cil_tmp35;
16273#line 2482
16274 __cil_tmp37 = pd->stats.secs_r;
16275#line 2482
16276 pd->stats.secs_r = __cil_tmp37 + __cil_tmp36;
16277#line 2483
16278 pkt_queue_bio(pd, cloned_bio);
16279 }
16280#line 2484
16281 return (0);
16282 } else {
16283
16284 }
16285 }
16286 {
16287#line 2487
16288 __cil_tmp38 = & pd->flags;
16289#line 2487
16290 __cil_tmp39 = (unsigned long const volatile *)__cil_tmp38;
16291#line 2487
16292 tmp___2 = constant_test_bit(1U, __cil_tmp39);
16293 }
16294#line 2487
16295 if (tmp___2 == 0) {
16296 {
16297#line 2488
16298 __cil_tmp40 = & pd->name;
16299#line 2488
16300 __cil_tmp41 = (char *)__cil_tmp40;
16301#line 2488
16302 __cil_tmp42 = bio->bi_sector;
16303#line 2488
16304 __cil_tmp43 = (unsigned long long )__cil_tmp42;
16305#line 2488
16306 printk("pktcdvd: WRITE for ro device %s (%llu)\n", __cil_tmp41, __cil_tmp43);
16307 }
16308#line 2490
16309 goto end_io;
16310 } else {
16311
16312 }
16313 {
16314#line 2493
16315 __cil_tmp44 = bio->bi_size;
16316#line 2493
16317 if (__cil_tmp44 == 0U) {
16318 {
16319#line 2494
16320 printk("pktcdvd: wrong bio size\n");
16321 }
16322#line 2495
16323 goto end_io;
16324 } else {
16325 {
16326#line 2493
16327 __cil_tmp45 = bio->bi_size;
16328#line 2493
16329 __cil_tmp46 = __cil_tmp45 & 2047U;
16330#line 2493
16331 if (__cil_tmp46 != 0U) {
16332 {
16333#line 2494
16334 printk("pktcdvd: wrong bio size\n");
16335 }
16336#line 2495
16337 goto end_io;
16338 } else {
16339
16340 }
16341 }
16342 }
16343 }
16344 {
16345#line 2498
16346 blk_queue_bounce(q, & bio);
16347#line 2500
16348 __cil_tmp47 = pd->settings.size;
16349#line 2500
16350 __cil_tmp48 = - __cil_tmp47;
16351#line 2500
16352 __cil_tmp49 = (unsigned long )__cil_tmp48;
16353#line 2500
16354 __cil_tmp50 = pd->offset;
16355#line 2500
16356 __cil_tmp51 = bio->bi_sector;
16357#line 2500
16358 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
16359#line 2500
16360 zone = __cil_tmp52 & __cil_tmp49;
16361#line 2511
16362 __cil_tmp53 = pd->settings.size;
16363#line 2511
16364 __cil_tmp54 = - __cil_tmp53;
16365#line 2511
16366 __cil_tmp55 = (unsigned long )__cil_tmp54;
16367#line 2511
16368 __cil_tmp56 = pd->offset;
16369#line 2511
16370 __cil_tmp57 = bio->bi_size;
16371#line 2511
16372 __cil_tmp58 = __cil_tmp57 >> 9;
16373#line 2511
16374 __cil_tmp59 = (sector_t )__cil_tmp58;
16375#line 2511
16376 __cil_tmp60 = bio->bi_sector;
16377#line 2511
16378 __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
16379#line 2511
16380 __cil_tmp62 = __cil_tmp61 + __cil_tmp56;
16381#line 2511
16382 __cil_tmp63 = __cil_tmp62 - 1UL;
16383#line 2511
16384 last_zone = __cil_tmp63 & __cil_tmp55;
16385 }
16386#line 2512
16387 if (last_zone != zone) {
16388 {
16389#line 2513
16390 __cil_tmp64 = pd->settings.size;
16391#line 2513
16392 __cil_tmp65 = (sector_t )__cil_tmp64;
16393#line 2513
16394 __cil_tmp66 = __cil_tmp65 + zone;
16395#line 2513
16396 __cil_tmp67 = __cil_tmp66 != last_zone;
16397#line 2513
16398 __cil_tmp68 = (long )__cil_tmp67;
16399#line 2513
16400 tmp___3 = __builtin_expect(__cil_tmp68, 0L);
16401 }
16402#line 2513
16403 if (tmp___3 != 0L) {
16404#line 2513
16405 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
16406 "i" (2513), "i" (12UL));
16407 ldv_31299: ;
16408#line 2513
16409 goto ldv_31299;
16410 } else {
16411
16412 }
16413 {
16414#line 2514
16415 __cil_tmp69 = bio->bi_sector;
16416#line 2514
16417 __cil_tmp70 = (unsigned int )__cil_tmp69;
16418#line 2514
16419 __cil_tmp71 = (unsigned int )last_zone;
16420#line 2514
16421 __cil_tmp72 = __cil_tmp71 - __cil_tmp70;
16422#line 2514
16423 first_sectors = (int )__cil_tmp72;
16424#line 2515
16425 bp = bio_split(bio, first_sectors);
16426#line 2516
16427 __cil_tmp73 = (struct bio_pair *)0;
16428#line 2516
16429 __cil_tmp74 = (unsigned long )__cil_tmp73;
16430#line 2516
16431 __cil_tmp75 = (unsigned long )bp;
16432#line 2516
16433 __cil_tmp76 = __cil_tmp75 == __cil_tmp74;
16434#line 2516
16435 __cil_tmp77 = (long )__cil_tmp76;
16436#line 2516
16437 tmp___4 = __builtin_expect(__cil_tmp77, 0L);
16438 }
16439#line 2516
16440 if (tmp___4 != 0L) {
16441#line 2516
16442 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
16443 "i" (2516), "i" (12UL));
16444 ldv_31300: ;
16445#line 2516
16446 goto ldv_31300;
16447 } else {
16448
16449 }
16450 {
16451#line 2517
16452 __cil_tmp78 = & bp->bio1;
16453#line 2517
16454 pkt_make_request(q, __cil_tmp78);
16455#line 2518
16456 __cil_tmp79 = & bp->bio2;
16457#line 2518
16458 pkt_make_request(q, __cil_tmp79);
16459#line 2519
16460 bio_pair_release(bp);
16461 }
16462#line 2520
16463 return (0);
16464 } else {
16465
16466 }
16467 {
16468#line 2528
16469 __cil_tmp80 = & pd->cdrw.active_list_lock;
16470#line 2528
16471 spin_lock(__cil_tmp80);
16472#line 2529
16473 blocked_bio = 0;
16474#line 2530
16475 __cil_tmp81 = pd->cdrw.pkt_active_list.next;
16476#line 2530
16477 __mptr = (struct list_head const *)__cil_tmp81;
16478#line 2530
16479 pkt = (struct packet_data *)__mptr;
16480 }
16481#line 2530
16482 goto ldv_31306;
16483 ldv_31305: ;
16484 {
16485#line 2531
16486 __cil_tmp82 = pkt->sector;
16487#line 2531
16488 if (__cil_tmp82 == zone) {
16489 {
16490#line 2532
16491 __cil_tmp83 = & pkt->lock;
16492#line 2532
16493 spin_lock(__cil_tmp83);
16494 }
16495 {
16496#line 2533
16497 __cil_tmp84 = pkt->state;
16498#line 2533
16499 __cil_tmp85 = (unsigned int )__cil_tmp84;
16500#line 2533
16501 if (__cil_tmp85 == 1U) {
16502#line 2533
16503 goto _L;
16504 } else {
16505 {
16506#line 2533
16507 __cil_tmp86 = pkt->state;
16508#line 2533
16509 __cil_tmp87 = (unsigned int )__cil_tmp86;
16510#line 2533
16511 if (__cil_tmp87 == 2U) {
16512 _L:
16513 {
16514#line 2535
16515 __cil_tmp88 = & pkt->orig_bios;
16516#line 2535
16517 bio_list_add(__cil_tmp88, bio);
16518#line 2536
16519 __cil_tmp89 = bio->bi_size;
16520#line 2536
16521 __cil_tmp90 = __cil_tmp89 / 2048U;
16522#line 2536
16523 __cil_tmp91 = pkt->write_size;
16524#line 2536
16525 __cil_tmp92 = (unsigned int )__cil_tmp91;
16526#line 2536
16527 __cil_tmp93 = __cil_tmp92 + __cil_tmp90;
16528#line 2536
16529 pkt->write_size = (int )__cil_tmp93;
16530 }
16531 {
16532#line 2537
16533 __cil_tmp94 = pkt->frames;
16534#line 2537
16535 __cil_tmp95 = pkt->write_size;
16536#line 2537
16537 if (__cil_tmp95 >= __cil_tmp94) {
16538 {
16539#line 2537
16540 __cil_tmp96 = pkt->state;
16541#line 2537
16542 __cil_tmp97 = (unsigned int )__cil_tmp96;
16543#line 2537
16544 if (__cil_tmp97 == 1U) {
16545 {
16546#line 2539
16547 __cil_tmp98 = & pkt->run_sm;
16548#line 2539
16549 atomic_inc(__cil_tmp98);
16550#line 2540
16551 __cil_tmp99 = & pd->wqueue;
16552#line 2540
16553 __cil_tmp100 = (void *)0;
16554#line 2540
16555 __wake_up(__cil_tmp99, 3U, 1, __cil_tmp100);
16556 }
16557 } else {
16558
16559 }
16560 }
16561 } else {
16562
16563 }
16564 }
16565 {
16566#line 2542
16567 __cil_tmp101 = & pkt->lock;
16568#line 2542
16569 spin_unlock(__cil_tmp101);
16570#line 2543
16571 __cil_tmp102 = & pd->cdrw.active_list_lock;
16572#line 2543
16573 spin_unlock(__cil_tmp102);
16574 }
16575#line 2544
16576 return (0);
16577 } else {
16578#line 2546
16579 blocked_bio = 1;
16580 }
16581 }
16582 }
16583 }
16584 {
16585#line 2548
16586 __cil_tmp103 = & pkt->lock;
16587#line 2548
16588 spin_unlock(__cil_tmp103);
16589 }
16590 } else {
16591
16592 }
16593 }
16594#line 2530
16595 __cil_tmp104 = pkt->list.next;
16596#line 2530
16597 __mptr___0 = (struct list_head const *)__cil_tmp104;
16598#line 2530
16599 pkt = (struct packet_data *)__mptr___0;
16600 ldv_31306: ;
16601 {
16602#line 2530
16603 __cil_tmp105 = & pd->cdrw.pkt_active_list;
16604#line 2530
16605 __cil_tmp106 = (unsigned long )__cil_tmp105;
16606#line 2530
16607 __cil_tmp107 = & pkt->list;
16608#line 2530
16609 __cil_tmp108 = (unsigned long )__cil_tmp107;
16610#line 2530
16611 if (__cil_tmp108 != __cil_tmp106) {
16612#line 2531
16613 goto ldv_31305;
16614 } else {
16615#line 2533
16616 goto ldv_31307;
16617 }
16618 }
16619 ldv_31307:
16620 {
16621#line 2551
16622 __cil_tmp109 = & pd->cdrw.active_list_lock;
16623#line 2551
16624 spin_unlock(__cil_tmp109);
16625#line 2558
16626 __cil_tmp110 = & pd->lock;
16627#line 2558
16628 spin_lock(__cil_tmp110);
16629 }
16630 {
16631#line 2559
16632 __cil_tmp111 = pd->write_congestion_on;
16633#line 2559
16634 if (__cil_tmp111 > 0) {
16635 {
16636#line 2559
16637 __cil_tmp112 = pd->write_congestion_on;
16638#line 2559
16639 __cil_tmp113 = pd->bio_queue_size;
16640#line 2559
16641 if (__cil_tmp113 >= __cil_tmp112) {
16642 {
16643#line 2561
16644 __cil_tmp114 = & q->backing_dev_info;
16645#line 2561
16646 set_bdi_congested(__cil_tmp114, 0);
16647 }
16648 ldv_31308:
16649 {
16650#line 2563
16651 __cil_tmp115 = & pd->lock;
16652#line 2563
16653 spin_unlock(__cil_tmp115);
16654#line 2564
16655 congestion_wait(0, 250L);
16656#line 2565
16657 __cil_tmp116 = & pd->lock;
16658#line 2565
16659 spin_lock(__cil_tmp116);
16660 }
16661 {
16662#line 2566
16663 __cil_tmp117 = pd->write_congestion_off;
16664#line 2566
16665 __cil_tmp118 = pd->bio_queue_size;
16666#line 2566
16667 if (__cil_tmp118 > __cil_tmp117) {
16668#line 2567
16669 goto ldv_31308;
16670 } else {
16671#line 2569
16672 goto ldv_31309;
16673 }
16674 }
16675 ldv_31309: ;
16676 } else {
16677
16678 }
16679 }
16680 } else {
16681
16682 }
16683 }
16684 {
16685#line 2568
16686 __cil_tmp119 = & pd->lock;
16687#line 2568
16688 spin_unlock(__cil_tmp119);
16689#line 2573
16690 __cil_tmp120 = pd->rb_pool;
16691#line 2573
16692 tmp___5 = mempool_alloc(__cil_tmp120, 16U);
16693#line 2573
16694 node = (struct pkt_rb_node *)tmp___5;
16695#line 2574
16696 node->bio = bio;
16697#line 2575
16698 __cil_tmp121 = & pd->lock;
16699#line 2575
16700 spin_lock(__cil_tmp121);
16701#line 2576
16702 __cil_tmp122 = pd->bio_queue_size;
16703#line 2576
16704 __cil_tmp123 = __cil_tmp122 < 0;
16705#line 2576
16706 __cil_tmp124 = (long )__cil_tmp123;
16707#line 2576
16708 tmp___6 = __builtin_expect(__cil_tmp124, 0L);
16709 }
16710#line 2576
16711 if (tmp___6 != 0L) {
16712#line 2576
16713 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
16714 "i" (2576), "i" (12UL));
16715 ldv_31310: ;
16716#line 2576
16717 goto ldv_31310;
16718 } else {
16719
16720 }
16721 {
16722#line 2577
16723 __cil_tmp125 = pd->bio_queue_size;
16724#line 2577
16725 was_empty = __cil_tmp125 == 0;
16726#line 2578
16727 pkt_rbtree_insert(pd, node);
16728#line 2579
16729 __cil_tmp126 = & pd->lock;
16730#line 2579
16731 spin_unlock(__cil_tmp126);
16732#line 2584
16733 __cil_tmp127 = & pd->scan_queue;
16734#line 2584
16735 atomic_set(__cil_tmp127, 1);
16736 }
16737#line 2585
16738 if (was_empty != 0) {
16739 {
16740#line 2587
16741 __cil_tmp128 = & pd->wqueue;
16742#line 2587
16743 __cil_tmp129 = (void *)0;
16744#line 2587
16745 __wake_up(__cil_tmp128, 3U, 1, __cil_tmp129);
16746 }
16747 } else {
16748 {
16749#line 2588
16750 __cil_tmp130 = & pd->cdrw.pkt_free_list;
16751#line 2588
16752 __cil_tmp131 = (struct list_head const *)__cil_tmp130;
16753#line 2588
16754 tmp___7 = list_empty(__cil_tmp131);
16755 }
16756#line 2588
16757 if (tmp___7 == 0) {
16758#line 2588
16759 if (blocked_bio == 0) {
16760 {
16761#line 2593
16762 __cil_tmp132 = & pd->wqueue;
16763#line 2593
16764 __cil_tmp133 = (void *)0;
16765#line 2593
16766 __wake_up(__cil_tmp132, 3U, 1, __cil_tmp133);
16767 }
16768 } else {
16769
16770 }
16771 } else {
16772
16773 }
16774 }
16775#line 2595
16776 return (0);
16777 end_io:
16778 {
16779#line 2597
16780 bio_endio(bio, -5);
16781 }
16782#line 2598
16783 return (0);
16784}
16785}
16786#line 2603 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
16787static int pkt_merge_bvec(struct request_queue *q , struct bvec_merge_data *bmd ,
16788 struct bio_vec *bvec )
16789{ struct pktcdvd_device *pd ;
16790 sector_t zone ;
16791 int used ;
16792 int remaining ;
16793 int remaining2 ;
16794 int _max1 ;
16795 int _max2 ;
16796 int tmp ;
16797 long tmp___0 ;
16798 void *__cil_tmp13 ;
16799 __u32 __cil_tmp14 ;
16800 __u32 __cil_tmp15 ;
16801 unsigned long __cil_tmp16 ;
16802 unsigned long __cil_tmp17 ;
16803 sector_t __cil_tmp18 ;
16804 sector_t __cil_tmp19 ;
16805 unsigned int __cil_tmp20 ;
16806 unsigned int __cil_tmp21 ;
16807 sector_t __cil_tmp22 ;
16808 unsigned int __cil_tmp23 ;
16809 unsigned int __cil_tmp24 ;
16810 unsigned int __cil_tmp25 ;
16811 unsigned int __cil_tmp26 ;
16812 __u32 __cil_tmp27 ;
16813 __u32 __cil_tmp28 ;
16814 __u32 __cil_tmp29 ;
16815 __u32 __cil_tmp30 ;
16816 unsigned int __cil_tmp31 ;
16817 unsigned int __cil_tmp32 ;
16818 int __cil_tmp33 ;
16819 long __cil_tmp34 ;
16820
16821 {
16822#line 2606
16823 __cil_tmp13 = q->queuedata;
16824#line 2606
16825 pd = (struct pktcdvd_device *)__cil_tmp13;
16826#line 2607
16827 __cil_tmp14 = pd->settings.size;
16828#line 2607
16829 __cil_tmp15 = - __cil_tmp14;
16830#line 2607
16831 __cil_tmp16 = (unsigned long )__cil_tmp15;
16832#line 2607
16833 __cil_tmp17 = pd->offset;
16834#line 2607
16835 __cil_tmp18 = bmd->bi_sector;
16836#line 2607
16837 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
16838#line 2607
16839 zone = __cil_tmp19 & __cil_tmp16;
16840#line 2608
16841 __cil_tmp20 = bmd->bi_size;
16842#line 2608
16843 __cil_tmp21 = (unsigned int )zone;
16844#line 2608
16845 __cil_tmp22 = bmd->bi_sector;
16846#line 2608
16847 __cil_tmp23 = (unsigned int )__cil_tmp22;
16848#line 2608
16849 __cil_tmp24 = __cil_tmp23 - __cil_tmp21;
16850#line 2608
16851 __cil_tmp25 = __cil_tmp24 << 9U;
16852#line 2608
16853 __cil_tmp26 = __cil_tmp25 + __cil_tmp20;
16854#line 2608
16855 used = (int )__cil_tmp26;
16856#line 2609
16857 __cil_tmp27 = (__u32 )used;
16858#line 2609
16859 __cil_tmp28 = pd->settings.size;
16860#line 2609
16861 __cil_tmp29 = __cil_tmp28 << 9;
16862#line 2609
16863 __cil_tmp30 = __cil_tmp29 - __cil_tmp27;
16864#line 2609
16865 remaining = (int )__cil_tmp30;
16866#line 2616
16867 __cil_tmp31 = bmd->bi_size;
16868#line 2616
16869 __cil_tmp32 = 4096U - __cil_tmp31;
16870#line 2616
16871 remaining2 = (int )__cil_tmp32;
16872#line 2617
16873 _max1 = remaining;
16874#line 2617
16875 _max2 = remaining2;
16876#line 2617
16877 if (_max1 > _max2) {
16878#line 2617
16879 tmp = _max1;
16880 } else {
16881#line 2617
16882 tmp = _max2;
16883 }
16884 {
16885#line 2617
16886 remaining = tmp;
16887#line 2619
16888 __cil_tmp33 = remaining < 0;
16889#line 2619
16890 __cil_tmp34 = (long )__cil_tmp33;
16891#line 2619
16892 tmp___0 = __builtin_expect(__cil_tmp34, 0L);
16893 }
16894#line 2619
16895 if (tmp___0 != 0L) {
16896#line 2619
16897 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"),
16898 "i" (2619), "i" (12UL));
16899 ldv_31324: ;
16900#line 2619
16901 goto ldv_31324;
16902 } else {
16903
16904 }
16905#line 2620
16906 return (remaining);
16907}
16908}
16909#line 2623 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
16910static void pkt_init_queue(struct pktcdvd_device *pd )
16911{ struct request_queue *q ;
16912 struct gendisk *__cil_tmp3 ;
16913
16914 {
16915 {
16916#line 2625
16917 __cil_tmp3 = pd->disk;
16918#line 2625
16919 q = __cil_tmp3->queue;
16920#line 2627
16921 blk_queue_make_request(q, & pkt_make_request);
16922#line 2628
16923 blk_queue_logical_block_size(q, (unsigned short)2048);
16924#line 2629
16925 blk_queue_max_hw_sectors(q, 512U);
16926#line 2630
16927 blk_queue_merge_bvec(q, & pkt_merge_bvec);
16928#line 2631
16929 q->queuedata = (void *)pd;
16930 }
16931#line 2632
16932 return;
16933}
16934}
16935#line 2634 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
16936static int pkt_seq_show(struct seq_file *m , void *p )
16937{ struct pktcdvd_device *pd ;
16938 char *msg ;
16939 char bdev_buf[32U] ;
16940 int states[6U] ;
16941 char const *tmp ;
16942 char *tmp___0 ;
16943 int tmp___1 ;
16944 void *__cil_tmp10 ;
16945 struct block_device *__cil_tmp11 ;
16946 char *__cil_tmp12 ;
16947 char (*__cil_tmp13)[20U] ;
16948 char *__cil_tmp14 ;
16949 __u32 __cil_tmp15 ;
16950 __u32 __cil_tmp16 ;
16951 __u8 __cil_tmp17 ;
16952 unsigned int __cil_tmp18 ;
16953 __u8 __cil_tmp19 ;
16954 unsigned int __cil_tmp20 ;
16955 __u8 __cil_tmp21 ;
16956 int __cil_tmp22 ;
16957 __u8 __cil_tmp23 ;
16958 int __cil_tmp24 ;
16959 __u8 __cil_tmp25 ;
16960 unsigned int __cil_tmp26 ;
16961 __u8 __cil_tmp27 ;
16962 unsigned int __cil_tmp28 ;
16963 unsigned long __cil_tmp29 ;
16964 unsigned long __cil_tmp30 ;
16965 unsigned long __cil_tmp31 ;
16966 unsigned long __cil_tmp32 ;
16967 unsigned long __cil_tmp33 ;
16968 unsigned long __cil_tmp34 ;
16969 unsigned long __cil_tmp35 ;
16970 unsigned long __cil_tmp36 ;
16971 int __cil_tmp37 ;
16972 unsigned long __cil_tmp38 ;
16973 int __cil_tmp39 ;
16974 int __cil_tmp40 ;
16975 unsigned long __cil_tmp41 ;
16976 __u8 __cil_tmp42 ;
16977 int __cil_tmp43 ;
16978 int __cil_tmp44 ;
16979 atomic_t *__cil_tmp45 ;
16980 atomic_t const *__cil_tmp46 ;
16981 sector_t __cil_tmp47 ;
16982 unsigned long long __cil_tmp48 ;
16983 int *__cil_tmp49 ;
16984 int __cil_tmp50 ;
16985 int __cil_tmp51 ;
16986
16987 {
16988 {
16989#line 2636
16990 __cil_tmp10 = m->private;
16991#line 2636
16992 pd = (struct pktcdvd_device *)__cil_tmp10;
16993#line 2641
16994 __cil_tmp11 = pd->bdev;
16995#line 2641
16996 __cil_tmp12 = (char *)(& bdev_buf);
16997#line 2641
16998 tmp = bdevname(__cil_tmp11, __cil_tmp12);
16999#line 2641
17000 __cil_tmp13 = & pd->name;
17001#line 2641
17002 __cil_tmp14 = (char *)__cil_tmp13;
17003#line 2641
17004 seq_printf(m, "Writer %s mapped to %s:\n", __cil_tmp14, tmp);
17005#line 2644
17006 seq_printf(m, "\nSettings:\n");
17007#line 2645
17008 __cil_tmp15 = pd->settings.size;
17009#line 2645
17010 __cil_tmp16 = __cil_tmp15 / 2U;
17011#line 2645
17012 seq_printf(m, "\tpacket size:\t\t%dkB\n", __cil_tmp16);
17013 }
17014 {
17015#line 2647
17016 __cil_tmp17 = pd->settings.write_type;
17017#line 2647
17018 __cil_tmp18 = (unsigned int )__cil_tmp17;
17019#line 2647
17020 if (__cil_tmp18 == 0U) {
17021#line 2648
17022 msg = (char *)"Packet";
17023 } else {
17024#line 2650
17025 msg = (char *)"Unknown";
17026 }
17027 }
17028 {
17029#line 2651
17030 seq_printf(m, "\twrite type:\t\t%s\n", msg);
17031 }
17032 {
17033#line 2653
17034 __cil_tmp19 = pd->settings.fp;
17035#line 2653
17036 __cil_tmp20 = (unsigned int )__cil_tmp19;
17037#line 2653
17038 if (__cil_tmp20 != 0U) {
17039#line 2653
17040 tmp___0 = (char *)"Fixed";
17041 } else {
17042#line 2653
17043 tmp___0 = (char *)"Variable";
17044 }
17045 }
17046 {
17047#line 2653
17048 seq_printf(m, "\tpacket type:\t\t%s\n", tmp___0);
17049#line 2654
17050 __cil_tmp21 = pd->settings.link_loss;
17051#line 2654
17052 __cil_tmp22 = (int )__cil_tmp21;
17053#line 2654
17054 seq_printf(m, "\tlink loss:\t\t%d\n", __cil_tmp22);
17055#line 2656
17056 __cil_tmp23 = pd->settings.track_mode;
17057#line 2656
17058 __cil_tmp24 = (int )__cil_tmp23;
17059#line 2656
17060 seq_printf(m, "\ttrack mode:\t\t%d\n", __cil_tmp24);
17061 }
17062 {
17063#line 2658
17064 __cil_tmp25 = pd->settings.block_mode;
17065#line 2658
17066 __cil_tmp26 = (unsigned int )__cil_tmp25;
17067#line 2658
17068 if (__cil_tmp26 == 8U) {
17069#line 2659
17070 msg = (char *)"Mode 1";
17071 } else {
17072 {
17073#line 2660
17074 __cil_tmp27 = pd->settings.block_mode;
17075#line 2660
17076 __cil_tmp28 = (unsigned int )__cil_tmp27;
17077#line 2660
17078 if (__cil_tmp28 == 10U) {
17079#line 2661
17080 msg = (char *)"Mode 2";
17081 } else {
17082#line 2663
17083 msg = (char *)"Unknown";
17084 }
17085 }
17086 }
17087 }
17088 {
17089#line 2664
17090 seq_printf(m, "\tblock mode:\t\t%s\n", msg);
17091#line 2666
17092 seq_printf(m, "\nStatistics:\n");
17093#line 2667
17094 __cil_tmp29 = pd->stats.pkt_started;
17095#line 2667
17096 seq_printf(m, "\tpackets started:\t%lu\n", __cil_tmp29);
17097#line 2668
17098 __cil_tmp30 = pd->stats.pkt_ended;
17099#line 2668
17100 seq_printf(m, "\tpackets ended:\t\t%lu\n", __cil_tmp30);
17101#line 2669
17102 __cil_tmp31 = pd->stats.secs_w;
17103#line 2669
17104 __cil_tmp32 = __cil_tmp31 >> 1;
17105#line 2669
17106 seq_printf(m, "\twritten:\t\t%lukB\n", __cil_tmp32);
17107#line 2670
17108 __cil_tmp33 = pd->stats.secs_rg;
17109#line 2670
17110 __cil_tmp34 = __cil_tmp33 >> 1;
17111#line 2670
17112 seq_printf(m, "\tread gather:\t\t%lukB\n", __cil_tmp34);
17113#line 2671
17114 __cil_tmp35 = pd->stats.secs_r;
17115#line 2671
17116 __cil_tmp36 = __cil_tmp35 >> 1;
17117#line 2671
17118 seq_printf(m, "\tread:\t\t\t%lukB\n", __cil_tmp36);
17119#line 2673
17120 seq_printf(m, "\nMisc:\n");
17121#line 2674
17122 __cil_tmp37 = pd->refcnt;
17123#line 2674
17124 seq_printf(m, "\treference count:\t%d\n", __cil_tmp37);
17125#line 2675
17126 __cil_tmp38 = pd->flags;
17127#line 2675
17128 seq_printf(m, "\tflags:\t\t\t0x%lx\n", __cil_tmp38);
17129#line 2676
17130 __cil_tmp39 = pd->read_speed;
17131#line 2676
17132 seq_printf(m, "\tread speed:\t\t%ukB/s\n", __cil_tmp39);
17133#line 2677
17134 __cil_tmp40 = pd->write_speed;
17135#line 2677
17136 seq_printf(m, "\twrite speed:\t\t%ukB/s\n", __cil_tmp40);
17137#line 2678
17138 __cil_tmp41 = pd->offset;
17139#line 2678
17140 seq_printf(m, "\tstart offset:\t\t%lu\n", __cil_tmp41);
17141#line 2679
17142 __cil_tmp42 = pd->mode_offset;
17143#line 2679
17144 __cil_tmp43 = (int )__cil_tmp42;
17145#line 2679
17146 seq_printf(m, "\tmode page offset:\t%u\n", __cil_tmp43);
17147#line 2681
17148 seq_printf(m, "\nQueue state:\n");
17149#line 2682
17150 __cil_tmp44 = pd->bio_queue_size;
17151#line 2682
17152 seq_printf(m, "\tbios queued:\t\t%d\n", __cil_tmp44);
17153#line 2683
17154 __cil_tmp45 = & pd->cdrw.pending_bios;
17155#line 2683
17156 __cil_tmp46 = (atomic_t const *)__cil_tmp45;
17157#line 2683
17158 tmp___1 = atomic_read(__cil_tmp46);
17159#line 2683
17160 seq_printf(m, "\tbios pending:\t\t%d\n", tmp___1);
17161#line 2684
17162 __cil_tmp47 = pd->current_sector;
17163#line 2684
17164 __cil_tmp48 = (unsigned long long )__cil_tmp47;
17165#line 2684
17166 seq_printf(m, "\tcurrent sector:\t\t0x%llx\n", __cil_tmp48);
17167#line 2686
17168 __cil_tmp49 = (int *)(& states);
17169#line 2686
17170 pkt_count_states(pd, __cil_tmp49);
17171#line 2687
17172 seq_printf(m, "\tstate:\t\t\ti:%d ow:%d rw:%d ww:%d rec:%d fin:%d\n", states[0],
17173 states[1], states[2], states[3], states[4], states[5]);
17174#line 2690
17175 __cil_tmp50 = pd->write_congestion_off;
17176#line 2690
17177 __cil_tmp51 = pd->write_congestion_on;
17178#line 2690
17179 seq_printf(m, "\twrite congestion marks:\toff=%d on=%d\n", __cil_tmp50, __cil_tmp51);
17180 }
17181#line 2693
17182 return (0);
17183}
17184}
17185#line 2696 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17186static int pkt_seq_open(struct inode *inode , struct file *file )
17187{ struct proc_dir_entry *tmp ;
17188 int tmp___0 ;
17189 struct inode const *__cil_tmp5 ;
17190 void *__cil_tmp6 ;
17191
17192 {
17193 {
17194#line 2698
17195 __cil_tmp5 = (struct inode const *)inode;
17196#line 2698
17197 tmp = PDE(__cil_tmp5);
17198#line 2698
17199 __cil_tmp6 = tmp->data;
17200#line 2698
17201 tmp___0 = single_open(file, & pkt_seq_show, __cil_tmp6);
17202 }
17203#line 2698
17204 return (tmp___0);
17205}
17206}
17207#line 2701 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17208static struct file_operations const pkt_proc_fops =
17209#line 2701
17210 {(struct module *)0, & seq_lseek, & seq_read, (ssize_t (*)(struct file * , char const * ,
17211 size_t , loff_t * ))0,
17212 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
17213 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
17214 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
17215 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
17216 struct poll_table_struct * ))0,
17217 (long (*)(struct file * , unsigned int , unsigned long ))0, (long (*)(struct file * ,
17218 unsigned int ,
17219 unsigned long ))0,
17220 (int (*)(struct file * , struct vm_area_struct * ))0, & pkt_seq_open, (int (*)(struct file * ,
17221 fl_owner_t ))0,
17222 & single_release, (int (*)(struct file * , int ))0, (int (*)(struct kiocb * ,
17223 int ))0, (int (*)(int ,
17224 struct file * ,
17225 int ))0,
17226 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
17227 struct page * ,
17228 int , size_t ,
17229 loff_t * ,
17230 int ))0,
17231 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
17232 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
17233 int , struct file_lock * ))0,
17234 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
17235 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
17236 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
17237 int , loff_t ,
17238 loff_t ))0};
17239#line 2708 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17240static int pkt_new_dev(struct pktcdvd_device *pd , dev_t dev )
17241{ int i ;
17242 int ret ;
17243 char b[32U] ;
17244 struct block_device *bdev ;
17245 struct pktcdvd_device *pd2 ;
17246 char const *tmp ;
17247 struct task_struct *__k ;
17248 struct task_struct *tmp___0 ;
17249 long tmp___1 ;
17250 long tmp___2 ;
17251 char const *tmp___3 ;
17252 dev_t __cil_tmp14 ;
17253 struct pktcdvd_device *__cil_tmp15 ;
17254 unsigned long __cil_tmp16 ;
17255 unsigned long __cil_tmp17 ;
17256 struct block_device *__cil_tmp18 ;
17257 dev_t __cil_tmp19 ;
17258 struct block_device *__cil_tmp20 ;
17259 char *__cil_tmp21 ;
17260 dev_t __cil_tmp22 ;
17261 struct block_device *__cil_tmp23 ;
17262 unsigned long __cil_tmp24 ;
17263 unsigned long __cil_tmp25 ;
17264 void *__cil_tmp26 ;
17265 atomic_t *__cil_tmp27 ;
17266 void *__cil_tmp28 ;
17267 char (*__cil_tmp29)[20U] ;
17268 char *__cil_tmp30 ;
17269 void const *__cil_tmp31 ;
17270 struct task_struct *__cil_tmp32 ;
17271 void const *__cil_tmp33 ;
17272 char (*__cil_tmp34)[20U] ;
17273 char const *__cil_tmp35 ;
17274 void *__cil_tmp36 ;
17275 char *__cil_tmp37 ;
17276 char (*__cil_tmp38)[20U] ;
17277 char *__cil_tmp39 ;
17278
17279 {
17280#line 2711
17281 ret = 0;
17282 {
17283#line 2715
17284 __cil_tmp14 = pd->pkt_dev;
17285#line 2715
17286 if (__cil_tmp14 == dev) {
17287 {
17288#line 2716
17289 printk("pktcdvd: Recursive setup not allowed\n");
17290 }
17291#line 2717
17292 return (-16);
17293 } else {
17294
17295 }
17296 }
17297#line 2719
17298 i = 0;
17299#line 2719
17300 goto ldv_31353;
17301 ldv_31352:
17302#line 2720
17303 pd2 = pkt_devs[i];
17304 {
17305#line 2721
17306 __cil_tmp15 = (struct pktcdvd_device *)0;
17307#line 2721
17308 __cil_tmp16 = (unsigned long )__cil_tmp15;
17309#line 2721
17310 __cil_tmp17 = (unsigned long )pd2;
17311#line 2721
17312 if (__cil_tmp17 == __cil_tmp16) {
17313#line 2722
17314 goto ldv_31351;
17315 } else {
17316
17317 }
17318 }
17319 {
17320#line 2723
17321 __cil_tmp18 = pd2->bdev;
17322#line 2723
17323 __cil_tmp19 = __cil_tmp18->bd_dev;
17324#line 2723
17325 if (__cil_tmp19 == dev) {
17326 {
17327#line 2724
17328 __cil_tmp20 = pd2->bdev;
17329#line 2724
17330 __cil_tmp21 = (char *)(& b);
17331#line 2724
17332 tmp = bdevname(__cil_tmp20, __cil_tmp21);
17333#line 2724
17334 printk("pktcdvd: %s already setup\n", tmp);
17335 }
17336#line 2725
17337 return (-16);
17338 } else {
17339
17340 }
17341 }
17342 {
17343#line 2727
17344 __cil_tmp22 = pd2->pkt_dev;
17345#line 2727
17346 if (__cil_tmp22 == dev) {
17347 {
17348#line 2728
17349 printk("pktcdvd: Can\'t chain pktcdvd devices\n");
17350 }
17351#line 2729
17352 return (-16);
17353 } else {
17354
17355 }
17356 }
17357 ldv_31351:
17358#line 2719
17359 i = i + 1;
17360 ldv_31353: ;
17361#line 2719
17362 if (i <= 7) {
17363#line 2720
17364 goto ldv_31352;
17365 } else {
17366#line 2722
17367 goto ldv_31354;
17368 }
17369 ldv_31354:
17370 {
17371#line 2733
17372 bdev = bdget(dev);
17373 }
17374 {
17375#line 2734
17376 __cil_tmp23 = (struct block_device *)0;
17377#line 2734
17378 __cil_tmp24 = (unsigned long )__cil_tmp23;
17379#line 2734
17380 __cil_tmp25 = (unsigned long )bdev;
17381#line 2734
17382 if (__cil_tmp25 == __cil_tmp24) {
17383#line 2735
17384 return (-12);
17385 } else {
17386
17387 }
17388 }
17389 {
17390#line 2736
17391 __cil_tmp26 = (void *)0;
17392#line 2736
17393 ret = blkdev_get(bdev, 65U, __cil_tmp26);
17394 }
17395#line 2737
17396 if (ret != 0) {
17397#line 2738
17398 return (ret);
17399 } else {
17400
17401 }
17402 {
17403#line 2741
17404 ldv___module_get_3(& __this_module);
17405#line 2743
17406 pd->bdev = bdev;
17407#line 2744
17408 set_blocksize(bdev, 2048);
17409#line 2746
17410 pkt_init_queue(pd);
17411#line 2748
17412 __cil_tmp27 = & pd->cdrw.pending_bios;
17413#line 2748
17414 atomic_set(__cil_tmp27, 0);
17415#line 2749
17416 __cil_tmp28 = (void *)pd;
17417#line 2749
17418 __cil_tmp29 = & pd->name;
17419#line 2749
17420 __cil_tmp30 = (char *)__cil_tmp29;
17421#line 2749
17422 tmp___0 = kthread_create_on_node(& kcdrwd, __cil_tmp28, -1, "%s", __cil_tmp30);
17423#line 2749
17424 __k = tmp___0;
17425#line 2749
17426 __cil_tmp31 = (void const *)__k;
17427#line 2749
17428 tmp___1 = IS_ERR(__cil_tmp31);
17429 }
17430#line 2749
17431 if (tmp___1 == 0L) {
17432 {
17433#line 2749
17434 wake_up_process(__k);
17435 }
17436 } else {
17437
17438 }
17439 {
17440#line 2749
17441 pd->cdrw.thread = __k;
17442#line 2750
17443 __cil_tmp32 = pd->cdrw.thread;
17444#line 2750
17445 __cil_tmp33 = (void const *)__cil_tmp32;
17446#line 2750
17447 tmp___2 = IS_ERR(__cil_tmp33);
17448 }
17449#line 2750
17450 if (tmp___2 != 0L) {
17451 {
17452#line 2751
17453 printk("pktcdvd: can\'t start kernel thread\n");
17454#line 2752
17455 ret = -12;
17456 }
17457#line 2753
17458 goto out_mem;
17459 } else {
17460
17461 }
17462 {
17463#line 2756
17464 __cil_tmp34 = & pd->name;
17465#line 2756
17466 __cil_tmp35 = (char const *)__cil_tmp34;
17467#line 2756
17468 __cil_tmp36 = (void *)pd;
17469#line 2756
17470 proc_create_data(__cil_tmp35, 0U, pkt_proc, & pkt_proc_fops, __cil_tmp36);
17471#line 2757
17472 __cil_tmp37 = (char *)(& b);
17473#line 2757
17474 tmp___3 = bdevname(bdev, __cil_tmp37);
17475#line 2757
17476 __cil_tmp38 = & pd->name;
17477#line 2757
17478 __cil_tmp39 = (char *)__cil_tmp38;
17479#line 2757
17480 printk("<5>pktcdvd: writer %s mapped to %s\n", __cil_tmp39, tmp___3);
17481 }
17482#line 2758
17483 return (0);
17484 out_mem:
17485 {
17486#line 2761
17487 blkdev_put(bdev, 65U);
17488#line 2763
17489 ldv_module_put_4(& __this_module);
17490 }
17491#line 2764
17492 return (ret);
17493}
17494}
17495#line 2767 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17496static int pkt_ioctl(struct block_device *bdev , fmode_t mode , unsigned int cmd ,
17497 unsigned long arg )
17498{ struct pktcdvd_device *pd ;
17499 int ret ;
17500 struct gendisk *__cil_tmp7 ;
17501 void *__cil_tmp8 ;
17502 int __cil_tmp9 ;
17503 int __cil_tmp10 ;
17504 int __cil_tmp11 ;
17505 int __cil_tmp12 ;
17506 int __cil_tmp13 ;
17507 int __cil_tmp14 ;
17508 int __cil_tmp15 ;
17509 struct block_device *__cil_tmp16 ;
17510
17511 {
17512 {
17513#line 2769
17514 __cil_tmp7 = bdev->bd_disk;
17515#line 2769
17516 __cil_tmp8 = __cil_tmp7->private_data;
17517#line 2769
17518 pd = (struct pktcdvd_device *)__cil_tmp8;
17519#line 2775
17520 mutex_lock_nested(& pktcdvd_mutex, 0U);
17521 }
17522 {
17523#line 2777
17524 __cil_tmp9 = (int )cmd;
17525#line 2777
17526 if (__cil_tmp9 == 21257) {
17527#line 2777
17528 goto case_21257;
17529 } else {
17530 {
17531#line 2788
17532 __cil_tmp10 = (int )cmd;
17533#line 2788
17534 if (__cil_tmp10 == 21264) {
17535#line 2788
17536 goto case_21264;
17537 } else {
17538 {
17539#line 2789
17540 __cil_tmp11 = (int )cmd;
17541#line 2789
17542 if (__cil_tmp11 == 21254) {
17543#line 2789
17544 goto case_21254;
17545 } else {
17546 {
17547#line 2790
17548 __cil_tmp12 = (int )cmd;
17549#line 2790
17550 if (__cil_tmp12 == 21397) {
17551#line 2790
17552 goto case_21397;
17553 } else {
17554 {
17555#line 2791
17556 __cil_tmp13 = (int )cmd;
17557#line 2791
17558 if (__cil_tmp13 == 21395) {
17559#line 2791
17560 goto case_21395;
17561 } else {
17562 {
17563#line 2792
17564 __cil_tmp14 = (int )cmd;
17565#line 2792
17566 if (__cil_tmp14 == 1) {
17567#line 2792
17568 goto case_1;
17569 } else {
17570#line 2796
17571 goto switch_default;
17572#line 2776
17573 if (0) {
17574 case_21257: ;
17575 {
17576#line 2782
17577 __cil_tmp15 = pd->refcnt;
17578#line 2782
17579 if (__cil_tmp15 == 1) {
17580 {
17581#line 2783
17582 pkt_lock_door(pd, 0);
17583 }
17584 } else {
17585
17586 }
17587 }
17588 case_21264: ;
17589 case_21254: ;
17590 case_21397: ;
17591 case_21395: ;
17592 case_1:
17593 {
17594#line 2793
17595 __cil_tmp16 = pd->bdev;
17596#line 2793
17597 ret = __blkdev_driver_ioctl(__cil_tmp16, mode, cmd, arg);
17598 }
17599#line 2794
17600 goto ldv_31372;
17601 switch_default:
17602#line 2798
17603 ret = -25;
17604 } else {
17605
17606 }
17607 }
17608 }
17609 }
17610 }
17611 }
17612 }
17613 }
17614 }
17615 }
17616 }
17617 }
17618 }
17619 ldv_31372:
17620 {
17621#line 2800
17622 mutex_unlock(& pktcdvd_mutex);
17623 }
17624#line 2802
17625 return (ret);
17626}
17627}
17628#line 2805 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17629static unsigned int pkt_check_events(struct gendisk *disk , unsigned int clearing )
17630{ struct pktcdvd_device *pd ;
17631 struct gendisk *attached_disk ;
17632 unsigned int tmp ;
17633 void *__cil_tmp6 ;
17634 struct pktcdvd_device *__cil_tmp7 ;
17635 unsigned long __cil_tmp8 ;
17636 unsigned long __cil_tmp9 ;
17637 struct block_device *__cil_tmp10 ;
17638 unsigned long __cil_tmp11 ;
17639 struct block_device *__cil_tmp12 ;
17640 unsigned long __cil_tmp13 ;
17641 struct block_device *__cil_tmp14 ;
17642 struct gendisk *__cil_tmp15 ;
17643 unsigned long __cil_tmp16 ;
17644 unsigned long __cil_tmp17 ;
17645 unsigned int (*__cil_tmp18)(struct gendisk * , unsigned int ) ;
17646 unsigned long __cil_tmp19 ;
17647 struct block_device_operations const *__cil_tmp20 ;
17648 unsigned int (*__cil_tmp21)(struct gendisk * , unsigned int ) ;
17649 unsigned long __cil_tmp22 ;
17650 struct block_device_operations const *__cil_tmp23 ;
17651 unsigned int (*__cil_tmp24)(struct gendisk * , unsigned int ) ;
17652
17653 {
17654#line 2808
17655 __cil_tmp6 = disk->private_data;
17656#line 2808
17657 pd = (struct pktcdvd_device *)__cil_tmp6;
17658 {
17659#line 2811
17660 __cil_tmp7 = (struct pktcdvd_device *)0;
17661#line 2811
17662 __cil_tmp8 = (unsigned long )__cil_tmp7;
17663#line 2811
17664 __cil_tmp9 = (unsigned long )pd;
17665#line 2811
17666 if (__cil_tmp9 == __cil_tmp8) {
17667#line 2812
17668 return (0U);
17669 } else {
17670
17671 }
17672 }
17673 {
17674#line 2813
17675 __cil_tmp10 = (struct block_device *)0;
17676#line 2813
17677 __cil_tmp11 = (unsigned long )__cil_tmp10;
17678#line 2813
17679 __cil_tmp12 = pd->bdev;
17680#line 2813
17681 __cil_tmp13 = (unsigned long )__cil_tmp12;
17682#line 2813
17683 if (__cil_tmp13 == __cil_tmp11) {
17684#line 2814
17685 return (0U);
17686 } else {
17687
17688 }
17689 }
17690#line 2815
17691 __cil_tmp14 = pd->bdev;
17692#line 2815
17693 attached_disk = __cil_tmp14->bd_disk;
17694 {
17695#line 2816
17696 __cil_tmp15 = (struct gendisk *)0;
17697#line 2816
17698 __cil_tmp16 = (unsigned long )__cil_tmp15;
17699#line 2816
17700 __cil_tmp17 = (unsigned long )attached_disk;
17701#line 2816
17702 if (__cil_tmp17 == __cil_tmp16) {
17703#line 2817
17704 return (0U);
17705 } else {
17706 {
17707#line 2816
17708 __cil_tmp18 = (unsigned int (* const )(struct gendisk * , unsigned int ))0;
17709#line 2816
17710 __cil_tmp19 = (unsigned long )__cil_tmp18;
17711#line 2816
17712 __cil_tmp20 = attached_disk->fops;
17713#line 2816
17714 __cil_tmp21 = __cil_tmp20->check_events;
17715#line 2816
17716 __cil_tmp22 = (unsigned long )__cil_tmp21;
17717#line 2816
17718 if (__cil_tmp22 == __cil_tmp19) {
17719#line 2817
17720 return (0U);
17721 } else {
17722
17723 }
17724 }
17725 }
17726 }
17727 {
17728#line 2818
17729 __cil_tmp23 = attached_disk->fops;
17730#line 2818
17731 __cil_tmp24 = __cil_tmp23->check_events;
17732#line 2818
17733 tmp = (*__cil_tmp24)(attached_disk, clearing);
17734 }
17735#line 2818
17736 return (tmp);
17737}
17738}
17739#line 2821 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17740static struct block_device_operations const pktcdvd_ops =
17741#line 2821
17742 {& pkt_open, & pkt_close, & pkt_ioctl, (int (*)(struct block_device * , fmode_t ,
17743 unsigned int , unsigned long ))0,
17744 (int (*)(struct block_device * , sector_t , void ** , unsigned long * ))0, & pkt_check_events,
17745 (int (*)(struct gendisk * ))0, (void (*)(struct gendisk * ))0, (int (*)(struct gendisk * ))0,
17746 (int (*)(struct block_device * , struct hd_geometry * ))0, (void (*)(struct block_device * ,
17747 unsigned long ))0,
17748 & __this_module};
17749#line 2829 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17750static char *pktcdvd_devnode(struct gendisk *gd , mode_t *mode )
17751{ char *tmp ;
17752 char (*__cil_tmp4)[32U] ;
17753 char *__cil_tmp5 ;
17754
17755 {
17756 {
17757#line 2831
17758 __cil_tmp4 = & gd->disk_name;
17759#line 2831
17760 __cil_tmp5 = (char *)__cil_tmp4;
17761#line 2831
17762 tmp = kasprintf(208U, "pktcdvd/%s", __cil_tmp5);
17763 }
17764#line 2831
17765 return (tmp);
17766}
17767}
17768#line 2837 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
17769static int pkt_setup_dev(dev_t dev , dev_t *pkt_dev )
17770{ int idx ;
17771 int ret ;
17772 struct pktcdvd_device *pd ;
17773 struct gendisk *disk ;
17774 void *tmp ;
17775 struct lock_class_key __key ;
17776 struct lock_class_key __key___0 ;
17777 struct lock_class_key __key___1 ;
17778 struct lock_class_key __key___2 ;
17779 struct rb_root __constr_expr_0 ;
17780 struct pktcdvd_device *__cil_tmp13 ;
17781 unsigned long __cil_tmp14 ;
17782 unsigned long __cil_tmp15 ;
17783 struct pktcdvd_device *__cil_tmp16 ;
17784 unsigned long __cil_tmp17 ;
17785 unsigned long __cil_tmp18 ;
17786 mempool_t *__cil_tmp19 ;
17787 unsigned long __cil_tmp20 ;
17788 mempool_t *__cil_tmp21 ;
17789 unsigned long __cil_tmp22 ;
17790 struct list_head *__cil_tmp23 ;
17791 struct list_head *__cil_tmp24 ;
17792 spinlock_t *__cil_tmp25 ;
17793 struct raw_spinlock *__cil_tmp26 ;
17794 spinlock_t *__cil_tmp27 ;
17795 struct raw_spinlock *__cil_tmp28 ;
17796 spinlock_t *__cil_tmp29 ;
17797 struct raw_spinlock *__cil_tmp30 ;
17798 struct bio_list *__cil_tmp31 ;
17799 struct bio_list *__cil_tmp32 ;
17800 char (*__cil_tmp33)[20U] ;
17801 char *__cil_tmp34 ;
17802 wait_queue_head_t *__cil_tmp35 ;
17803 struct gendisk *__cil_tmp36 ;
17804 unsigned long __cil_tmp37 ;
17805 unsigned long __cil_tmp38 ;
17806 char (*__cil_tmp39)[32U] ;
17807 char *__cil_tmp40 ;
17808 char (*__cil_tmp41)[20U] ;
17809 char const *__cil_tmp42 ;
17810 struct request_queue *__cil_tmp43 ;
17811 unsigned long __cil_tmp44 ;
17812 struct request_queue *__cil_tmp45 ;
17813 unsigned long __cil_tmp46 ;
17814 int __cil_tmp47 ;
17815 int __cil_tmp48 ;
17816 struct block_device *__cil_tmp49 ;
17817 struct gendisk *__cil_tmp50 ;
17818 struct block_device *__cil_tmp51 ;
17819 struct gendisk *__cil_tmp52 ;
17820 dev_t *__cil_tmp53 ;
17821 unsigned long __cil_tmp54 ;
17822 unsigned long __cil_tmp55 ;
17823 struct request_queue *__cil_tmp56 ;
17824 mempool_t *__cil_tmp57 ;
17825 unsigned long __cil_tmp58 ;
17826 mempool_t *__cil_tmp59 ;
17827 unsigned long __cil_tmp60 ;
17828 mempool_t *__cil_tmp61 ;
17829 void const *__cil_tmp62 ;
17830
17831 {
17832 {
17833#line 2840
17834 ret = -12;
17835#line 2844
17836 mutex_lock_nested(& ctl_mutex, 1U);
17837#line 2846
17838 idx = 0;
17839 }
17840#line 2846
17841 goto ldv_31395;
17842 ldv_31394: ;
17843 {
17844#line 2847
17845 __cil_tmp13 = (struct pktcdvd_device *)0;
17846#line 2847
17847 __cil_tmp14 = (unsigned long )__cil_tmp13;
17848#line 2847
17849 __cil_tmp15 = (unsigned long )pkt_devs[idx];
17850#line 2847
17851 if (__cil_tmp15 == __cil_tmp14) {
17852#line 2848
17853 goto ldv_31393;
17854 } else {
17855
17856 }
17857 }
17858#line 2846
17859 idx = idx + 1;
17860 ldv_31395: ;
17861#line 2846
17862 if (idx <= 7) {
17863#line 2847
17864 goto ldv_31394;
17865 } else {
17866#line 2849
17867 goto ldv_31393;
17868 }
17869 ldv_31393: ;
17870#line 2849
17871 if (idx == 8) {
17872 {
17873#line 2850
17874 printk("pktcdvd: max %d writers supported\n", 8);
17875#line 2851
17876 ret = -16;
17877 }
17878#line 2852
17879 goto out_mutex;
17880 } else {
17881
17882 }
17883 {
17884#line 2855
17885 tmp = kzalloc(648UL, 208U);
17886#line 2855
17887 pd = (struct pktcdvd_device *)tmp;
17888 }
17889 {
17890#line 2856
17891 __cil_tmp16 = (struct pktcdvd_device *)0;
17892#line 2856
17893 __cil_tmp17 = (unsigned long )__cil_tmp16;
17894#line 2856
17895 __cil_tmp18 = (unsigned long )pd;
17896#line 2856
17897 if (__cil_tmp18 == __cil_tmp17) {
17898#line 2857
17899 goto out_mutex;
17900 } else {
17901
17902 }
17903 }
17904 {
17905#line 2859
17906 pd->rb_pool = mempool_create_kmalloc_pool(512, 32UL);
17907 }
17908 {
17909#line 2861
17910 __cil_tmp19 = (mempool_t *)0;
17911#line 2861
17912 __cil_tmp20 = (unsigned long )__cil_tmp19;
17913#line 2861
17914 __cil_tmp21 = pd->rb_pool;
17915#line 2861
17916 __cil_tmp22 = (unsigned long )__cil_tmp21;
17917#line 2861
17918 if (__cil_tmp22 == __cil_tmp20) {
17919#line 2862
17920 goto out_mem;
17921 } else {
17922
17923 }
17924 }
17925 {
17926#line 2864
17927 __cil_tmp23 = & pd->cdrw.pkt_free_list;
17928#line 2864
17929 INIT_LIST_HEAD(__cil_tmp23);
17930#line 2865
17931 __cil_tmp24 = & pd->cdrw.pkt_active_list;
17932#line 2865
17933 INIT_LIST_HEAD(__cil_tmp24);
17934#line 2866
17935 __cil_tmp25 = & pd->cdrw.active_list_lock;
17936#line 2866
17937 spinlock_check(__cil_tmp25);
17938#line 2866
17939 __cil_tmp26 = & pd->cdrw.active_list_lock.ldv_6060.rlock;
17940#line 2866
17941 __raw_spin_lock_init(__cil_tmp26, "&(&pd->cdrw.active_list_lock)->rlock", & __key);
17942#line 2868
17943 __cil_tmp27 = & pd->lock;
17944#line 2868
17945 spinlock_check(__cil_tmp27);
17946#line 2868
17947 __cil_tmp28 = & pd->lock.ldv_6060.rlock;
17948#line 2868
17949 __raw_spin_lock_init(__cil_tmp28, "&(&pd->lock)->rlock", & __key___0);
17950#line 2869
17951 __cil_tmp29 = & pd->iosched.lock;
17952#line 2869
17953 spinlock_check(__cil_tmp29);
17954#line 2869
17955 __cil_tmp30 = & pd->iosched.lock.ldv_6060.rlock;
17956#line 2869
17957 __raw_spin_lock_init(__cil_tmp30, "&(&pd->iosched.lock)->rlock", & __key___1);
17958#line 2870
17959 __cil_tmp31 = & pd->iosched.read_queue;
17960#line 2870
17961 bio_list_init(__cil_tmp31);
17962#line 2871
17963 __cil_tmp32 = & pd->iosched.write_queue;
17964#line 2871
17965 bio_list_init(__cil_tmp32);
17966#line 2872
17967 __cil_tmp33 = & pd->name;
17968#line 2872
17969 __cil_tmp34 = (char *)__cil_tmp33;
17970#line 2872
17971 sprintf(__cil_tmp34, "pktcdvd%d", idx);
17972#line 2873
17973 __cil_tmp35 = & pd->wqueue;
17974#line 2873
17975 __init_waitqueue_head(__cil_tmp35, & __key___2);
17976#line 2874
17977 __constr_expr_0.rb_node = (struct rb_node *)0;
17978#line 2874
17979 pd->bio_queue = __constr_expr_0;
17980#line 2876
17981 pd->write_congestion_on = write_congestion_on;
17982#line 2877
17983 pd->write_congestion_off = write_congestion_off;
17984#line 2879
17985 disk = alloc_disk(1);
17986 }
17987 {
17988#line 2880
17989 __cil_tmp36 = (struct gendisk *)0;
17990#line 2880
17991 __cil_tmp37 = (unsigned long )__cil_tmp36;
17992#line 2880
17993 __cil_tmp38 = (unsigned long )disk;
17994#line 2880
17995 if (__cil_tmp38 == __cil_tmp37) {
17996#line 2881
17997 goto out_mem;
17998 } else {
17999
18000 }
18001 }
18002 {
18003#line 2882
18004 pd->disk = disk;
18005#line 2883
18006 disk->major = pktdev_major;
18007#line 2884
18008 disk->first_minor = idx;
18009#line 2885
18010 disk->fops = & pktcdvd_ops;
18011#line 2886
18012 disk->flags = 1;
18013#line 2887
18014 __cil_tmp39 = & disk->disk_name;
18015#line 2887
18016 __cil_tmp40 = (char *)__cil_tmp39;
18017#line 2887
18018 __cil_tmp41 = & pd->name;
18019#line 2887
18020 __cil_tmp42 = (char const *)__cil_tmp41;
18021#line 2887
18022 strcpy(__cil_tmp40, __cil_tmp42);
18023#line 2888
18024 disk->devnode = & pktcdvd_devnode;
18025#line 2889
18026 disk->private_data = (void *)pd;
18027#line 2890
18028 disk->queue = blk_alloc_queue(208U);
18029 }
18030 {
18031#line 2891
18032 __cil_tmp43 = (struct request_queue *)0;
18033#line 2891
18034 __cil_tmp44 = (unsigned long )__cil_tmp43;
18035#line 2891
18036 __cil_tmp45 = disk->queue;
18037#line 2891
18038 __cil_tmp46 = (unsigned long )__cil_tmp45;
18039#line 2891
18040 if (__cil_tmp46 == __cil_tmp44) {
18041#line 2892
18042 goto out_mem2;
18043 } else {
18044
18045 }
18046 }
18047 {
18048#line 2894
18049 __cil_tmp47 = pktdev_major << 20;
18050#line 2894
18051 __cil_tmp48 = __cil_tmp47 | idx;
18052#line 2894
18053 pd->pkt_dev = (dev_t )__cil_tmp48;
18054#line 2895
18055 ret = pkt_new_dev(pd, dev);
18056 }
18057#line 2896
18058 if (ret != 0) {
18059#line 2897
18060 goto out_new_dev;
18061 } else {
18062
18063 }
18064 {
18065#line 2900
18066 __cil_tmp49 = pd->bdev;
18067#line 2900
18068 __cil_tmp50 = __cil_tmp49->bd_disk;
18069#line 2900
18070 disk->events = __cil_tmp50->events;
18071#line 2901
18072 __cil_tmp51 = pd->bdev;
18073#line 2901
18074 __cil_tmp52 = __cil_tmp51->bd_disk;
18075#line 2901
18076 disk->async_events = __cil_tmp52->async_events;
18077#line 2903
18078 add_disk(disk);
18079#line 2905
18080 pkt_sysfs_dev_new(pd);
18081#line 2906
18082 pkt_debugfs_dev_new(pd);
18083#line 2908
18084 pkt_devs[idx] = pd;
18085 }
18086 {
18087#line 2909
18088 __cil_tmp53 = (dev_t *)0;
18089#line 2909
18090 __cil_tmp54 = (unsigned long )__cil_tmp53;
18091#line 2909
18092 __cil_tmp55 = (unsigned long )pkt_dev;
18093#line 2909
18094 if (__cil_tmp55 != __cil_tmp54) {
18095#line 2910
18096 *pkt_dev = pd->pkt_dev;
18097 } else {
18098
18099 }
18100 }
18101 {
18102#line 2912
18103 mutex_unlock(& ctl_mutex);
18104 }
18105#line 2913
18106 return (0);
18107 out_new_dev:
18108 {
18109#line 2916
18110 __cil_tmp56 = disk->queue;
18111#line 2916
18112 blk_cleanup_queue(__cil_tmp56);
18113 }
18114 out_mem2:
18115 {
18116#line 2918
18117 put_disk(disk);
18118 }
18119 out_mem: ;
18120 {
18121#line 2920
18122 __cil_tmp57 = (mempool_t *)0;
18123#line 2920
18124 __cil_tmp58 = (unsigned long )__cil_tmp57;
18125#line 2920
18126 __cil_tmp59 = pd->rb_pool;
18127#line 2920
18128 __cil_tmp60 = (unsigned long )__cil_tmp59;
18129#line 2920
18130 if (__cil_tmp60 != __cil_tmp58) {
18131 {
18132#line 2921
18133 __cil_tmp61 = pd->rb_pool;
18134#line 2921
18135 mempool_destroy(__cil_tmp61);
18136 }
18137 } else {
18138
18139 }
18140 }
18141 {
18142#line 2922
18143 __cil_tmp62 = (void const *)pd;
18144#line 2922
18145 kfree(__cil_tmp62);
18146 }
18147 out_mutex:
18148 {
18149#line 2924
18150 mutex_unlock(& ctl_mutex);
18151#line 2925
18152 printk("pktcdvd: setup of pktcdvd device failed\n");
18153 }
18154#line 2926
18155 return (ret);
18156}
18157}
18158#line 2932 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18159static int pkt_remove_dev(dev_t pkt_dev )
18160{ struct pktcdvd_device *pd ;
18161 int idx ;
18162 int ret ;
18163 long tmp ;
18164 struct pktcdvd_device *__cil_tmp6 ;
18165 unsigned long __cil_tmp7 ;
18166 unsigned long __cil_tmp8 ;
18167 dev_t __cil_tmp9 ;
18168 int __cil_tmp10 ;
18169 struct task_struct *__cil_tmp11 ;
18170 void const *__cil_tmp12 ;
18171 struct task_struct *__cil_tmp13 ;
18172 struct block_device *__cil_tmp14 ;
18173 char (*__cil_tmp15)[20U] ;
18174 char const *__cil_tmp16 ;
18175 char (*__cil_tmp17)[20U] ;
18176 char *__cil_tmp18 ;
18177 struct gendisk *__cil_tmp19 ;
18178 struct gendisk *__cil_tmp20 ;
18179 struct request_queue *__cil_tmp21 ;
18180 struct gendisk *__cil_tmp22 ;
18181 mempool_t *__cil_tmp23 ;
18182 void const *__cil_tmp24 ;
18183
18184 {
18185 {
18186#line 2936
18187 ret = 0;
18188#line 2938
18189 mutex_lock_nested(& ctl_mutex, 1U);
18190#line 2940
18191 idx = 0;
18192 }
18193#line 2940
18194 goto ldv_31413;
18195 ldv_31412:
18196#line 2941
18197 pd = pkt_devs[idx];
18198 {
18199#line 2942
18200 __cil_tmp6 = (struct pktcdvd_device *)0;
18201#line 2942
18202 __cil_tmp7 = (unsigned long )__cil_tmp6;
18203#line 2942
18204 __cil_tmp8 = (unsigned long )pd;
18205#line 2942
18206 if (__cil_tmp8 != __cil_tmp7) {
18207 {
18208#line 2942
18209 __cil_tmp9 = pd->pkt_dev;
18210#line 2942
18211 if (__cil_tmp9 == pkt_dev) {
18212#line 2943
18213 goto ldv_31411;
18214 } else {
18215
18216 }
18217 }
18218 } else {
18219
18220 }
18221 }
18222#line 2940
18223 idx = idx + 1;
18224 ldv_31413: ;
18225#line 2940
18226 if (idx <= 7) {
18227#line 2941
18228 goto ldv_31412;
18229 } else {
18230#line 2943
18231 goto ldv_31411;
18232 }
18233 ldv_31411: ;
18234#line 2945
18235 if (idx == 8) {
18236 {
18237#line 2946
18238 printk("<5>pktcdvd: dev not setup\n");
18239#line 2947
18240 ret = -6;
18241 }
18242#line 2948
18243 goto out;
18244 } else {
18245
18246 }
18247 {
18248#line 2951
18249 __cil_tmp10 = pd->refcnt;
18250#line 2951
18251 if (__cil_tmp10 > 0) {
18252#line 2952
18253 ret = -16;
18254#line 2953
18255 goto out;
18256 } else {
18257
18258 }
18259 }
18260 {
18261#line 2955
18262 __cil_tmp11 = pd->cdrw.thread;
18263#line 2955
18264 __cil_tmp12 = (void const *)__cil_tmp11;
18265#line 2955
18266 tmp = IS_ERR(__cil_tmp12);
18267 }
18268#line 2955
18269 if (tmp == 0L) {
18270 {
18271#line 2956
18272 __cil_tmp13 = pd->cdrw.thread;
18273#line 2956
18274 kthread_stop(__cil_tmp13);
18275 }
18276 } else {
18277
18278 }
18279 {
18280#line 2958
18281 pkt_devs[idx] = (struct pktcdvd_device *)0;
18282#line 2960
18283 pkt_debugfs_dev_remove(pd);
18284#line 2961
18285 pkt_sysfs_dev_remove(pd);
18286#line 2963
18287 __cil_tmp14 = pd->bdev;
18288#line 2963
18289 blkdev_put(__cil_tmp14, 65U);
18290#line 2965
18291 __cil_tmp15 = & pd->name;
18292#line 2965
18293 __cil_tmp16 = (char const *)__cil_tmp15;
18294#line 2965
18295 remove_proc_entry(__cil_tmp16, pkt_proc);
18296#line 2966
18297 __cil_tmp17 = & pd->name;
18298#line 2966
18299 __cil_tmp18 = (char *)__cil_tmp17;
18300#line 2966
18301 printk("<5>pktcdvd: writer %s unmapped\n", __cil_tmp18);
18302#line 2968
18303 __cil_tmp19 = pd->disk;
18304#line 2968
18305 del_gendisk(__cil_tmp19);
18306#line 2969
18307 __cil_tmp20 = pd->disk;
18308#line 2969
18309 __cil_tmp21 = __cil_tmp20->queue;
18310#line 2969
18311 blk_cleanup_queue(__cil_tmp21);
18312#line 2970
18313 __cil_tmp22 = pd->disk;
18314#line 2970
18315 put_disk(__cil_tmp22);
18316#line 2972
18317 __cil_tmp23 = pd->rb_pool;
18318#line 2972
18319 mempool_destroy(__cil_tmp23);
18320#line 2973
18321 __cil_tmp24 = (void const *)pd;
18322#line 2973
18323 kfree(__cil_tmp24);
18324#line 2976
18325 ldv_module_put_5(& __this_module);
18326 }
18327 out:
18328 {
18329#line 2979
18330 mutex_unlock(& ctl_mutex);
18331 }
18332#line 2980
18333 return (ret);
18334}
18335}
18336#line 2983 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18337static void pkt_get_status(struct pkt_ctrl_command *ctrl_cmd )
18338{ struct pktcdvd_device *pd ;
18339 __u32 __cil_tmp3 ;
18340 struct pktcdvd_device *__cil_tmp4 ;
18341 unsigned long __cil_tmp5 ;
18342 unsigned long __cil_tmp6 ;
18343 struct block_device *__cil_tmp7 ;
18344 dev_t __cil_tmp8 ;
18345 dev_t __cil_tmp9 ;
18346
18347 {
18348 {
18349#line 2987
18350 mutex_lock_nested(& ctl_mutex, 1U);
18351#line 2989
18352 __cil_tmp3 = ctrl_cmd->dev_index;
18353#line 2989
18354 pd = pkt_find_dev_from_minor(__cil_tmp3);
18355 }
18356 {
18357#line 2990
18358 __cil_tmp4 = (struct pktcdvd_device *)0;
18359#line 2990
18360 __cil_tmp5 = (unsigned long )__cil_tmp4;
18361#line 2990
18362 __cil_tmp6 = (unsigned long )pd;
18363#line 2990
18364 if (__cil_tmp6 != __cil_tmp5) {
18365 {
18366#line 2991
18367 __cil_tmp7 = pd->bdev;
18368#line 2991
18369 __cil_tmp8 = __cil_tmp7->bd_dev;
18370#line 2991
18371 ctrl_cmd->dev = new_encode_dev(__cil_tmp8);
18372#line 2992
18373 __cil_tmp9 = pd->pkt_dev;
18374#line 2992
18375 ctrl_cmd->pkt_dev = new_encode_dev(__cil_tmp9);
18376 }
18377 } else {
18378#line 2994
18379 ctrl_cmd->dev = 0U;
18380#line 2995
18381 ctrl_cmd->pkt_dev = 0U;
18382 }
18383 }
18384 {
18385#line 2997
18386 ctrl_cmd->num_devices = 8U;
18387#line 2999
18388 mutex_unlock(& ctl_mutex);
18389 }
18390#line 3000
18391 return;
18392}
18393}
18394#line 3002 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18395static long pkt_ctl_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
18396{ void *argp ;
18397 struct pkt_ctrl_command ctrl_cmd ;
18398 int ret ;
18399 dev_t pkt_dev ;
18400 unsigned long tmp ;
18401 bool tmp___0 ;
18402 int tmp___1 ;
18403 dev_t tmp___2 ;
18404 bool tmp___3 ;
18405 int tmp___4 ;
18406 dev_t tmp___5 ;
18407 int tmp___6 ;
18408 void *__cil_tmp16 ;
18409 void const *__cil_tmp17 ;
18410 int __cil_tmp18 ;
18411 int __cil_tmp19 ;
18412 int __cil_tmp20 ;
18413 void const *__cil_tmp21 ;
18414
18415 {
18416#line 3004
18417 argp = (void *)arg;
18418#line 3006
18419 ret = 0;
18420#line 3007
18421 pkt_dev = 0U;
18422#line 3009
18423 if (cmd != 3222820865U) {
18424#line 3010
18425 return (-25L);
18426 } else {
18427
18428 }
18429 {
18430#line 3012
18431 __cil_tmp16 = (void *)(& ctrl_cmd);
18432#line 3012
18433 __cil_tmp17 = (void const *)argp;
18434#line 3012
18435 tmp = copy_from_user(__cil_tmp16, __cil_tmp17, 24UL);
18436 }
18437#line 3012
18438 if (tmp != 0UL) {
18439#line 3013
18440 return (-14L);
18441 } else {
18442
18443 }
18444 {
18445#line 3016
18446 __cil_tmp18 = (int )ctrl_cmd.command;
18447#line 3016
18448 if (__cil_tmp18 == 0) {
18449#line 3016
18450 goto case_0;
18451 } else {
18452 {
18453#line 3022
18454 __cil_tmp19 = (int )ctrl_cmd.command;
18455#line 3022
18456 if (__cil_tmp19 == 1) {
18457#line 3022
18458 goto case_1;
18459 } else {
18460 {
18461#line 3027
18462 __cil_tmp20 = (int )ctrl_cmd.command;
18463#line 3027
18464 if (__cil_tmp20 == 2) {
18465#line 3027
18466 goto case_2;
18467 } else {
18468#line 3030
18469 goto switch_default;
18470#line 3015
18471 if (0) {
18472 case_0:
18473 {
18474#line 3017
18475 tmp___0 = capable(21);
18476 }
18477#line 3017
18478 if (tmp___0) {
18479#line 3017
18480 tmp___1 = 0;
18481 } else {
18482#line 3017
18483 tmp___1 = 1;
18484 }
18485#line 3017
18486 if (tmp___1) {
18487#line 3018
18488 return (-1L);
18489 } else {
18490
18491 }
18492 {
18493#line 3019
18494 tmp___2 = new_decode_dev(ctrl_cmd.dev);
18495#line 3019
18496 ret = pkt_setup_dev(tmp___2, & pkt_dev);
18497#line 3020
18498 ctrl_cmd.pkt_dev = new_encode_dev(pkt_dev);
18499 }
18500#line 3021
18501 goto ldv_31429;
18502 case_1:
18503 {
18504#line 3023
18505 tmp___3 = capable(21);
18506 }
18507#line 3023
18508 if (tmp___3) {
18509#line 3023
18510 tmp___4 = 0;
18511 } else {
18512#line 3023
18513 tmp___4 = 1;
18514 }
18515#line 3023
18516 if (tmp___4) {
18517#line 3024
18518 return (-1L);
18519 } else {
18520
18521 }
18522 {
18523#line 3025
18524 tmp___5 = new_decode_dev(ctrl_cmd.pkt_dev);
18525#line 3025
18526 ret = pkt_remove_dev(tmp___5);
18527 }
18528#line 3026
18529 goto ldv_31429;
18530 case_2:
18531 {
18532#line 3028
18533 pkt_get_status(& ctrl_cmd);
18534 }
18535#line 3029
18536 goto ldv_31429;
18537 switch_default: ;
18538#line 3031
18539 return (-25L);
18540 } else {
18541
18542 }
18543 }
18544 }
18545 }
18546 }
18547 }
18548 }
18549 ldv_31429:
18550 {
18551#line 3034
18552 __cil_tmp21 = (void const *)(& ctrl_cmd);
18553#line 3034
18554 tmp___6 = copy_to_user(argp, __cil_tmp21, 24U);
18555 }
18556#line 3034
18557 if (tmp___6 != 0) {
18558#line 3035
18559 return (-14L);
18560 } else {
18561
18562 }
18563#line 3036
18564 return ((long )ret);
18565}
18566}
18567#line 3040 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18568static long pkt_ctl_compat_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
18569{ void *tmp ;
18570 long tmp___0 ;
18571 compat_uptr_t __cil_tmp6 ;
18572 unsigned long __cil_tmp7 ;
18573
18574 {
18575 {
18576#line 3042
18577 __cil_tmp6 = (compat_uptr_t )arg;
18578#line 3042
18579 tmp = compat_ptr(__cil_tmp6);
18580#line 3042
18581 __cil_tmp7 = (unsigned long )tmp;
18582#line 3042
18583 tmp___0 = pkt_ctl_ioctl(file, cmd, __cil_tmp7);
18584 }
18585#line 3042
18586 return (tmp___0);
18587}
18588}
18589#line 3046 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18590static struct file_operations const pkt_ctl_fops =
18591#line 3046
18592 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
18593 loff_t * ))0, (ssize_t (*)(struct file * ,
18594 char const * ,
18595 size_t ,
18596 loff_t * ))0,
18597 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
18598 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
18599 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
18600 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
18601 struct poll_table_struct * ))0,
18602 & pkt_ctl_ioctl, & pkt_ctl_compat_ioctl, (int (*)(struct file * , struct vm_area_struct * ))0,
18603 & nonseekable_open, (int (*)(struct file * , fl_owner_t ))0, (int (*)(struct inode * ,
18604 struct file * ))0,
18605 (int (*)(struct file * , int ))0, (int (*)(struct kiocb * , int ))0, (int (*)(int ,
18606 struct file * ,
18607 int ))0,
18608 (int (*)(struct file * , int , struct file_lock * ))0, (ssize_t (*)(struct file * ,
18609 struct page * ,
18610 int , size_t ,
18611 loff_t * ,
18612 int ))0,
18613 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
18614 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
18615 int , struct file_lock * ))0,
18616 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
18617 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
18618 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
18619 int , loff_t ,
18620 loff_t ))0};
18621#line 3056 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18622static struct miscdevice pkt_misc =
18623#line 3056
18624 {255, "pktcdvd", & pkt_ctl_fops, {(struct list_head *)0, (struct list_head *)0},
18625 (struct device *)0, (struct device *)0, "pktcdvd/control", 0U};
18626#line 3063 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18627static int pkt_init(void)
18628{ int ret ;
18629 struct lock_class_key __key ;
18630 mempool_t *__cil_tmp3 ;
18631 unsigned long __cil_tmp4 ;
18632 unsigned long __cil_tmp5 ;
18633 unsigned int __cil_tmp6 ;
18634 struct proc_dir_entry *__cil_tmp7 ;
18635 unsigned int __cil_tmp8 ;
18636
18637 {
18638 {
18639#line 3067
18640 __mutex_init(& ctl_mutex, "&ctl_mutex", & __key);
18641#line 3069
18642 psd_pool = mempool_create_kmalloc_pool(64, 16UL);
18643 }
18644 {
18645#line 3071
18646 __cil_tmp3 = (mempool_t *)0;
18647#line 3071
18648 __cil_tmp4 = (unsigned long )__cil_tmp3;
18649#line 3071
18650 __cil_tmp5 = (unsigned long )psd_pool;
18651#line 3071
18652 if (__cil_tmp5 == __cil_tmp4) {
18653#line 3072
18654 return (-12);
18655 } else {
18656
18657 }
18658 }
18659 {
18660#line 3074
18661 __cil_tmp6 = (unsigned int )pktdev_major;
18662#line 3074
18663 ret = register_blkdev(__cil_tmp6, "pktcdvd");
18664 }
18665#line 3075
18666 if (ret < 0) {
18667 {
18668#line 3076
18669 printk("pktcdvd: Unable to register block device\n");
18670 }
18671#line 3077
18672 goto out2;
18673 } else {
18674
18675 }
18676#line 3079
18677 if (pktdev_major == 0) {
18678#line 3080
18679 pktdev_major = ret;
18680 } else {
18681
18682 }
18683 {
18684#line 3082
18685 ret = pkt_sysfs_init();
18686 }
18687#line 3083
18688 if (ret != 0) {
18689#line 3084
18690 goto out;
18691 } else {
18692
18693 }
18694 {
18695#line 3086
18696 pkt_debugfs_init();
18697#line 3088
18698 ret = misc_register(& pkt_misc);
18699 }
18700#line 3089
18701 if (ret != 0) {
18702 {
18703#line 3090
18704 printk("pktcdvd: Unable to register misc device\n");
18705 }
18706#line 3091
18707 goto out_misc;
18708 } else {
18709
18710 }
18711 {
18712#line 3094
18713 __cil_tmp7 = (struct proc_dir_entry *)0;
18714#line 3094
18715 pkt_proc = proc_mkdir("driver/pktcdvd", __cil_tmp7);
18716 }
18717#line 3096
18718 return (0);
18719 out_misc:
18720 {
18721#line 3099
18722 pkt_debugfs_cleanup();
18723#line 3100
18724 pkt_sysfs_cleanup();
18725 }
18726 out:
18727 {
18728#line 3102
18729 __cil_tmp8 = (unsigned int )pktdev_major;
18730#line 3102
18731 unregister_blkdev(__cil_tmp8, "pktcdvd");
18732 }
18733 out2:
18734 {
18735#line 3104
18736 mempool_destroy(psd_pool);
18737 }
18738#line 3105
18739 return (ret);
18740}
18741}
18742#line 3108 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18743static void pkt_exit(void)
18744{ struct proc_dir_entry *__cil_tmp1 ;
18745 unsigned int __cil_tmp2 ;
18746
18747 {
18748 {
18749#line 3110
18750 __cil_tmp1 = (struct proc_dir_entry *)0;
18751#line 3110
18752 remove_proc_entry("driver/pktcdvd", __cil_tmp1);
18753#line 3111
18754 misc_deregister(& pkt_misc);
18755#line 3113
18756 pkt_debugfs_cleanup();
18757#line 3114
18758 pkt_sysfs_cleanup();
18759#line 3116
18760 __cil_tmp2 = (unsigned int )pktdev_major;
18761#line 3116
18762 unregister_blkdev(__cil_tmp2, "pktcdvd");
18763#line 3117
18764 mempool_destroy(psd_pool);
18765 }
18766#line 3118
18767 return;
18768}
18769}
18770#line 3143
18771void ldv_check_final_state(void) ;
18772#line 3146
18773extern void ldv_check_return_value(int ) ;
18774#line 3149
18775extern void ldv_initialize(void) ;
18776#line 3152
18777extern int nondet_int(void) ;
18778#line 3155 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18779int LDV_IN_INTERRUPT ;
18780#line 3158 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
18781void main(void)
18782{ struct kobject *var_group1 ;
18783 struct attribute *var_group2 ;
18784 char *var_kobj_pkt_show_3_p2 ;
18785 char const *var_kobj_pkt_store_5_p2 ;
18786 size_t var_kobj_pkt_store_5_p3 ;
18787 struct inode *var_group3 ;
18788 struct file *var_group4 ;
18789 int res_pkt_debugfs_fops_open_15 ;
18790 int res_pkt_seq_open_80 ;
18791 struct block_device *var_group5 ;
18792 fmode_t var_pkt_open_73_p1 ;
18793 int res_pkt_open_73 ;
18794 struct gendisk *var_group6 ;
18795 fmode_t var_pkt_close_74_p1 ;
18796 fmode_t var_pkt_ioctl_82_p1 ;
18797 unsigned int var_pkt_ioctl_82_p2 ;
18798 unsigned long var_pkt_ioctl_82_p3 ;
18799 unsigned int var_pkt_check_events_83_p1 ;
18800 unsigned int var_pkt_ctl_ioctl_88_p1 ;
18801 unsigned long var_pkt_ctl_ioctl_88_p2 ;
18802 unsigned int var_pkt_ctl_compat_ioctl_89_p1 ;
18803 unsigned long var_pkt_ctl_compat_ioctl_89_p2 ;
18804 int ldv_s_kobj_pkt_type_stat_kobj_type ;
18805 int ldv_s_kobj_pkt_type_wqueue_kobj_type ;
18806 int ldv_s_debug_fops_file_operations ;
18807 int ldv_s_pkt_proc_fops_file_operations ;
18808 int ldv_s_pktcdvd_ops_block_device_operations ;
18809 int tmp ;
18810 int tmp___0 ;
18811 int tmp___1 ;
18812
18813 {
18814 {
18815#line 3685
18816 ldv_s_kobj_pkt_type_stat_kobj_type = 0;
18817#line 3687
18818 ldv_s_kobj_pkt_type_wqueue_kobj_type = 0;
18819#line 3689
18820 ldv_s_debug_fops_file_operations = 0;
18821#line 3691
18822 ldv_s_pkt_proc_fops_file_operations = 0;
18823#line 3693
18824 ldv_s_pktcdvd_ops_block_device_operations = 0;
18825#line 3636
18826 LDV_IN_INTERRUPT = 1;
18827#line 3645
18828 ldv_initialize();
18829#line 3681
18830 tmp = pkt_init();
18831 }
18832#line 3681
18833 if (tmp != 0) {
18834#line 3682
18835 goto ldv_final;
18836 } else {
18837
18838 }
18839#line 3699
18840 goto ldv_31520;
18841 ldv_31519:
18842 {
18843#line 3707
18844 tmp___0 = nondet_int();
18845 }
18846#line 3709
18847 if (tmp___0 == 0) {
18848#line 3709
18849 goto case_0;
18850 } else
18851#line 3757
18852 if (tmp___0 == 1) {
18853#line 3757
18854 goto case_1;
18855 } else
18856#line 3805
18857 if (tmp___0 == 2) {
18858#line 3805
18859 goto case_2;
18860 } else
18861#line 3853
18862 if (tmp___0 == 3) {
18863#line 3853
18864 goto case_3;
18865 } else
18866#line 3901
18867 if (tmp___0 == 4) {
18868#line 3901
18869 goto case_4;
18870 } else
18871#line 3952
18872 if (tmp___0 == 5) {
18873#line 3952
18874 goto case_5;
18875 } else
18876#line 4003
18877 if (tmp___0 == 6) {
18878#line 4003
18879 goto case_6;
18880 } else
18881#line 4054
18882 if (tmp___0 == 7) {
18883#line 4054
18884 goto case_7;
18885 } else
18886#line 4102
18887 if (tmp___0 == 8) {
18888#line 4102
18889 goto case_8;
18890 } else
18891#line 4150
18892 if (tmp___0 == 9) {
18893#line 4150
18894 goto case_9;
18895 } else
18896#line 4198
18897 if (tmp___0 == 10) {
18898#line 4198
18899 goto case_10;
18900 } else
18901#line 4246
18902 if (tmp___0 == 11) {
18903#line 4246
18904 goto case_11;
18905 } else {
18906#line 4294
18907 goto switch_default;
18908#line 3707
18909 if (0) {
18910 case_0:
18911 {
18912#line 3733
18913 kobj_pkt_show(var_group1, var_group2, var_kobj_pkt_show_3_p2);
18914 }
18915#line 3756
18916 goto ldv_31505;
18917 case_1:
18918 {
18919#line 3781
18920 kobj_pkt_store(var_group1, var_group2, var_kobj_pkt_store_5_p2, var_kobj_pkt_store_5_p3);
18921 }
18922#line 3804
18923 goto ldv_31505;
18924 case_2: ;
18925#line 3808
18926 if (ldv_s_kobj_pkt_type_stat_kobj_type == 0) {
18927 {
18928#line 3827
18929 pkt_kobj_release(var_group1);
18930#line 3846
18931 ldv_s_kobj_pkt_type_stat_kobj_type = 0;
18932 }
18933 } else {
18934
18935 }
18936#line 3852
18937 goto ldv_31505;
18938 case_3: ;
18939#line 3856
18940 if (ldv_s_kobj_pkt_type_wqueue_kobj_type == 0) {
18941 {
18942#line 3875
18943 pkt_kobj_release(var_group1);
18944#line 3894
18945 ldv_s_kobj_pkt_type_wqueue_kobj_type = 0;
18946 }
18947 } else {
18948
18949 }
18950#line 3900
18951 goto ldv_31505;
18952 case_4: ;
18953#line 3904
18954 if (ldv_s_debug_fops_file_operations == 0) {
18955 {
18956#line 3925
18957 res_pkt_debugfs_fops_open_15 = pkt_debugfs_fops_open(var_group3, var_group4);
18958#line 3926
18959 ldv_check_return_value(res_pkt_debugfs_fops_open_15);
18960 }
18961#line 3927
18962 if (res_pkt_debugfs_fops_open_15 != 0) {
18963#line 3928
18964 goto ldv_module_exit;
18965 } else {
18966
18967 }
18968#line 3945
18969 ldv_s_debug_fops_file_operations = 0;
18970 } else {
18971
18972 }
18973#line 3951
18974 goto ldv_31505;
18975 case_5: ;
18976#line 3955
18977 if (ldv_s_pkt_proc_fops_file_operations == 0) {
18978 {
18979#line 3986
18980 res_pkt_seq_open_80 = pkt_seq_open(var_group3, var_group4);
18981#line 3987
18982 ldv_check_return_value(res_pkt_seq_open_80);
18983 }
18984#line 3988
18985 if (res_pkt_seq_open_80 != 0) {
18986#line 3989
18987 goto ldv_module_exit;
18988 } else {
18989
18990 }
18991#line 3996
18992 ldv_s_pkt_proc_fops_file_operations = 0;
18993 } else {
18994
18995 }
18996#line 4002
18997 goto ldv_31505;
18998 case_6: ;
18999#line 4006
19000 if (ldv_s_pktcdvd_ops_block_device_operations == 0) {
19001 {
19002#line 4037
19003 res_pkt_open_73 = pkt_open(var_group5, var_pkt_open_73_p1);
19004#line 4038
19005 ldv_check_return_value(res_pkt_open_73);
19006 }
19007#line 4039
19008 if (res_pkt_open_73 != 0) {
19009#line 4040
19010 goto ldv_module_exit;
19011 } else {
19012
19013 }
19014#line 4047
19015 ldv_s_pktcdvd_ops_block_device_operations = ldv_s_pktcdvd_ops_block_device_operations + 1;
19016 } else {
19017
19018 }
19019#line 4053
19020 goto ldv_31505;
19021 case_7: ;
19022#line 4057
19023 if (ldv_s_pktcdvd_ops_block_device_operations == 1) {
19024 {
19025#line 4088
19026 pkt_close(var_group6, var_pkt_close_74_p1);
19027#line 4095
19028 ldv_s_pktcdvd_ops_block_device_operations = 0;
19029 }
19030 } else {
19031
19032 }
19033#line 4101
19034 goto ldv_31505;
19035 case_8:
19036 {
19037#line 4136
19038 pkt_ioctl(var_group5, var_pkt_ioctl_82_p1, var_pkt_ioctl_82_p2, var_pkt_ioctl_82_p3);
19039 }
19040#line 4149
19041 goto ldv_31505;
19042 case_9:
19043 {
19044#line 4184
19045 pkt_check_events(var_group6, var_pkt_check_events_83_p1);
19046 }
19047#line 4197
19048 goto ldv_31505;
19049 case_10:
19050 {
19051#line 4232
19052 pkt_ctl_ioctl(var_group4, var_pkt_ctl_ioctl_88_p1, var_pkt_ctl_ioctl_88_p2);
19053 }
19054#line 4245
19055 goto ldv_31505;
19056 case_11:
19057 {
19058#line 4281
19059 pkt_ctl_compat_ioctl(var_group4, var_pkt_ctl_compat_ioctl_89_p1, var_pkt_ctl_compat_ioctl_89_p2);
19060 }
19061#line 4293
19062 goto ldv_31505;
19063 switch_default: ;
19064#line 4294
19065 goto ldv_31505;
19066 } else {
19067
19068 }
19069 }
19070 ldv_31505: ;
19071 ldv_31520:
19072 {
19073#line 3699
19074 tmp___1 = nondet_int();
19075 }
19076#line 3699
19077 if (tmp___1 != 0) {
19078#line 3705
19079 goto ldv_31519;
19080 } else
19081#line 3699
19082 if (ldv_s_kobj_pkt_type_stat_kobj_type != 0) {
19083#line 3705
19084 goto ldv_31519;
19085 } else
19086#line 3699
19087 if (ldv_s_kobj_pkt_type_wqueue_kobj_type != 0) {
19088#line 3705
19089 goto ldv_31519;
19090 } else
19091#line 3699
19092 if (ldv_s_debug_fops_file_operations != 0) {
19093#line 3705
19094 goto ldv_31519;
19095 } else
19096#line 3699
19097 if (ldv_s_pkt_proc_fops_file_operations != 0) {
19098#line 3705
19099 goto ldv_31519;
19100 } else
19101#line 3699
19102 if (ldv_s_pktcdvd_ops_block_device_operations != 0) {
19103#line 3705
19104 goto ldv_31519;
19105 } else {
19106#line 3707
19107 goto ldv_31521;
19108 }
19109 ldv_31521: ;
19110 ldv_module_exit:
19111 {
19112#line 4336
19113 pkt_exit();
19114 }
19115 ldv_final:
19116 {
19117#line 4339
19118 ldv_check_final_state();
19119 }
19120#line 4342
19121 return;
19122}
19123}
19124#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast-assert.h"
19125void ldv_blast_assert(void)
19126{
19127
19128 {
19129 ERROR: ;
19130#line 6
19131 goto ERROR;
19132}
19133}
19134#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast.h"
19135extern int ldv_undefined_int(void) ;
19136#line 4359 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19137int ldv_module_refcounter = 1;
19138#line 4362 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19139void ldv_module_get(struct module *module )
19140{ struct module *__cil_tmp2 ;
19141 unsigned long __cil_tmp3 ;
19142 unsigned long __cil_tmp4 ;
19143
19144 {
19145 {
19146#line 4365
19147 __cil_tmp2 = (struct module *)0;
19148#line 4365
19149 __cil_tmp3 = (unsigned long )__cil_tmp2;
19150#line 4365
19151 __cil_tmp4 = (unsigned long )module;
19152#line 4365
19153 if (__cil_tmp4 != __cil_tmp3) {
19154#line 4367
19155 ldv_module_refcounter = ldv_module_refcounter + 1;
19156 } else {
19157
19158 }
19159 }
19160#line 4368
19161 return;
19162}
19163}
19164#line 4372 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19165int ldv_try_module_get(struct module *module )
19166{ int module_get_succeeded ;
19167 struct module *__cil_tmp3 ;
19168 unsigned long __cil_tmp4 ;
19169 unsigned long __cil_tmp5 ;
19170
19171 {
19172 {
19173#line 4377
19174 __cil_tmp3 = (struct module *)0;
19175#line 4377
19176 __cil_tmp4 = (unsigned long )__cil_tmp3;
19177#line 4377
19178 __cil_tmp5 = (unsigned long )module;
19179#line 4377
19180 if (__cil_tmp5 != __cil_tmp4) {
19181 {
19182#line 4380
19183 module_get_succeeded = ldv_undefined_int();
19184 }
19185#line 4382
19186 if (module_get_succeeded == 1) {
19187#line 4384
19188 ldv_module_refcounter = ldv_module_refcounter + 1;
19189#line 4386
19190 return (1);
19191 } else {
19192#line 4391
19193 return (0);
19194 }
19195 } else {
19196
19197 }
19198 }
19199#line 4393
19200 return (0);
19201}
19202}
19203#line 4397 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19204void ldv_module_put(struct module *module )
19205{ struct module *__cil_tmp2 ;
19206 unsigned long __cil_tmp3 ;
19207 unsigned long __cil_tmp4 ;
19208
19209 {
19210 {
19211#line 4400
19212 __cil_tmp2 = (struct module *)0;
19213#line 4400
19214 __cil_tmp3 = (unsigned long )__cil_tmp2;
19215#line 4400
19216 __cil_tmp4 = (unsigned long )module;
19217#line 4400
19218 if (__cil_tmp4 != __cil_tmp3) {
19219#line 4402
19220 if (ldv_module_refcounter <= 1) {
19221 {
19222#line 4402
19223 ldv_blast_assert();
19224 }
19225 } else {
19226
19227 }
19228#line 4404
19229 ldv_module_refcounter = ldv_module_refcounter - 1;
19230 } else {
19231
19232 }
19233 }
19234#line 4406
19235 return;
19236}
19237}
19238#line 4409 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19239void ldv_module_put_and_exit(void)
19240{ struct module *__cil_tmp1 ;
19241
19242 {
19243 {
19244#line 4411
19245 __cil_tmp1 = (struct module *)1;
19246#line 4411
19247 ldv_module_put(__cil_tmp1);
19248 }
19249 LDV_STOP: ;
19250#line 4413
19251 goto LDV_STOP;
19252}
19253}
19254#line 4417 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19255unsigned int ldv_module_refcount(void)
19256{ int __cil_tmp1 ;
19257
19258 {
19259 {
19260#line 4420
19261 __cil_tmp1 = ldv_module_refcounter + -1;
19262#line 4420
19263 return ((unsigned int )__cil_tmp1);
19264 }
19265}
19266}
19267#line 4424 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19268void ldv_check_final_state(void)
19269{
19270
19271 {
19272#line 4427
19273 if (ldv_module_refcounter != 1) {
19274 {
19275#line 4427
19276 ldv_blast_assert();
19277 }
19278 } else {
19279
19280 }
19281#line 4430
19282 return;
19283}
19284}
19285#line 4430 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19286__inline static int ldv_try_module_get_1(struct module *module )
19287{ int tmp ;
19288
19289 {
19290 {
19291#line 4435
19292 tmp = ldv_try_module_get(module);
19293 }
19294#line 4435
19295 return (tmp);
19296}
19297}
19298#line 4438 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19299void ldv_module_put_2(struct module *ldv_func_arg1 )
19300{
19301
19302 {
19303 {
19304#line 4443
19305 ldv_module_put(ldv_func_arg1);
19306 }
19307#line 4444
19308 return;
19309}
19310}
19311#line 4446 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19312__inline static void ldv___module_get_3(struct module *module )
19313{
19314
19315 {
19316 {
19317#line 4451
19318 ldv_module_get(module);
19319 }
19320#line 4452
19321 return;
19322}
19323}
19324#line 4454 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19325void ldv_module_put_4(struct module *ldv_func_arg1 )
19326{
19327
19328 {
19329 {
19330#line 4459
19331 ldv_module_put(ldv_func_arg1);
19332 }
19333#line 4460
19334 return;
19335}
19336}
19337#line 4462 "/anthill/stuff/tacas-comp/work/current--X--drivers/block/pktcdvd.ko--X--unsafelinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/block/pktcdvd.c.p"
19338void ldv_module_put_5(struct module *ldv_func_arg1 )
19339{
19340
19341 {
19342 {
19343#line 4467
19344 ldv_module_put(ldv_func_arg1);
19345 }
19346#line 4468
19347 return;
19348}
19349}