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 45 "include/asm-generic/int-ll64.h"
23typedef short s16;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 14 "include/asm-generic/posix_types.h"
35typedef long __kernel_long_t;
36#line 15 "include/asm-generic/posix_types.h"
37typedef unsigned long __kernel_ulong_t;
38#line 31 "include/asm-generic/posix_types.h"
39typedef int __kernel_pid_t;
40#line 52 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_uid32_t;
42#line 53 "include/asm-generic/posix_types.h"
43typedef unsigned int __kernel_gid32_t;
44#line 75 "include/asm-generic/posix_types.h"
45typedef __kernel_ulong_t __kernel_size_t;
46#line 76 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_ssize_t;
48#line 90 "include/asm-generic/posix_types.h"
49typedef __kernel_long_t __kernel_off_t;
50#line 91 "include/asm-generic/posix_types.h"
51typedef long long __kernel_loff_t;
52#line 92 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_time_t;
54#line 93 "include/asm-generic/posix_types.h"
55typedef __kernel_long_t __kernel_clock_t;
56#line 94 "include/asm-generic/posix_types.h"
57typedef int __kernel_timer_t;
58#line 95 "include/asm-generic/posix_types.h"
59typedef int __kernel_clockid_t;
60#line 21 "include/linux/types.h"
61typedef __u32 __kernel_dev_t;
62#line 24 "include/linux/types.h"
63typedef __kernel_dev_t dev_t;
64#line 27 "include/linux/types.h"
65typedef unsigned short umode_t;
66#line 29 "include/linux/types.h"
67typedef __kernel_off_t off_t;
68#line 30 "include/linux/types.h"
69typedef __kernel_pid_t pid_t;
70#line 35 "include/linux/types.h"
71typedef __kernel_clockid_t clockid_t;
72#line 38 "include/linux/types.h"
73typedef _Bool bool;
74#line 40 "include/linux/types.h"
75typedef __kernel_uid32_t uid_t;
76#line 41 "include/linux/types.h"
77typedef __kernel_gid32_t gid_t;
78#line 54 "include/linux/types.h"
79typedef __kernel_loff_t loff_t;
80#line 63 "include/linux/types.h"
81typedef __kernel_size_t size_t;
82#line 68 "include/linux/types.h"
83typedef __kernel_ssize_t ssize_t;
84#line 78 "include/linux/types.h"
85typedef __kernel_time_t time_t;
86#line 111 "include/linux/types.h"
87typedef __s32 int32_t;
88#line 117 "include/linux/types.h"
89typedef __u32 uint32_t;
90#line 142 "include/linux/types.h"
91typedef unsigned long sector_t;
92#line 143 "include/linux/types.h"
93typedef unsigned long blkcnt_t;
94#line 155 "include/linux/types.h"
95typedef u64 dma_addr_t;
96#line 178 "include/linux/types.h"
97typedef __u16 __le16;
98#line 179 "include/linux/types.h"
99typedef __u16 __be16;
100#line 180 "include/linux/types.h"
101typedef __u32 __le32;
102#line 181 "include/linux/types.h"
103typedef __u32 __be32;
104#line 202 "include/linux/types.h"
105typedef unsigned int gfp_t;
106#line 203 "include/linux/types.h"
107typedef unsigned int fmode_t;
108#line 219 "include/linux/types.h"
109struct __anonstruct_atomic_t_7 {
110 int counter ;
111};
112#line 219 "include/linux/types.h"
113typedef struct __anonstruct_atomic_t_7 atomic_t;
114#line 224 "include/linux/types.h"
115struct __anonstruct_atomic64_t_8 {
116 long counter ;
117};
118#line 224 "include/linux/types.h"
119typedef struct __anonstruct_atomic64_t_8 atomic64_t;
120#line 229 "include/linux/types.h"
121struct list_head {
122 struct list_head *next ;
123 struct list_head *prev ;
124};
125#line 233
126struct hlist_node;
127#line 233 "include/linux/types.h"
128struct hlist_head {
129 struct hlist_node *first ;
130};
131#line 237 "include/linux/types.h"
132struct hlist_node {
133 struct hlist_node *next ;
134 struct hlist_node **pprev ;
135};
136#line 253 "include/linux/types.h"
137struct rcu_head {
138 struct rcu_head *next ;
139 void (*func)(struct rcu_head *head ) ;
140};
141#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
142struct module;
143#line 56
144struct module;
145#line 146 "include/linux/init.h"
146typedef void (*ctor_fn_t)(void);
147#line 47 "include/linux/dynamic_debug.h"
148struct device;
149#line 47
150struct device;
151#line 135 "include/linux/kernel.h"
152struct completion;
153#line 135
154struct completion;
155#line 136
156struct pt_regs;
157#line 136
158struct pt_regs;
159#line 349
160struct pid;
161#line 349
162struct pid;
163#line 12 "include/linux/thread_info.h"
164struct timespec;
165#line 12
166struct timespec;
167#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
168struct page;
169#line 18
170struct page;
171#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
172struct task_struct;
173#line 20
174struct task_struct;
175#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
176struct task_struct;
177#line 8
178struct mm_struct;
179#line 8
180struct mm_struct;
181#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
182struct pt_regs {
183 unsigned long r15 ;
184 unsigned long r14 ;
185 unsigned long r13 ;
186 unsigned long r12 ;
187 unsigned long bp ;
188 unsigned long bx ;
189 unsigned long r11 ;
190 unsigned long r10 ;
191 unsigned long r9 ;
192 unsigned long r8 ;
193 unsigned long ax ;
194 unsigned long cx ;
195 unsigned long dx ;
196 unsigned long si ;
197 unsigned long di ;
198 unsigned long orig_ax ;
199 unsigned long ip ;
200 unsigned long cs ;
201 unsigned long flags ;
202 unsigned long sp ;
203 unsigned long ss ;
204};
205#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
206struct __anonstruct____missing_field_name_15 {
207 unsigned int a ;
208 unsigned int b ;
209};
210#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
211struct __anonstruct____missing_field_name_16 {
212 u16 limit0 ;
213 u16 base0 ;
214 unsigned int base1 : 8 ;
215 unsigned int type : 4 ;
216 unsigned int s : 1 ;
217 unsigned int dpl : 2 ;
218 unsigned int p : 1 ;
219 unsigned int limit : 4 ;
220 unsigned int avl : 1 ;
221 unsigned int l : 1 ;
222 unsigned int d : 1 ;
223 unsigned int g : 1 ;
224 unsigned int base2 : 8 ;
225};
226#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
227union __anonunion____missing_field_name_14 {
228 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
229 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
230};
231#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
232struct desc_struct {
233 union __anonunion____missing_field_name_14 __annonCompField7 ;
234} __attribute__((__packed__)) ;
235#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
236typedef unsigned long pgdval_t;
237#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
238typedef unsigned long pgprotval_t;
239#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
240struct pgprot {
241 pgprotval_t pgprot ;
242};
243#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
244typedef struct pgprot pgprot_t;
245#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
246struct __anonstruct_pgd_t_20 {
247 pgdval_t pgd ;
248};
249#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
250typedef struct __anonstruct_pgd_t_20 pgd_t;
251#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
252typedef struct page *pgtable_t;
253#line 295
254struct file;
255#line 295
256struct file;
257#line 313
258struct seq_file;
259#line 313
260struct seq_file;
261#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
262struct page;
263#line 47
264struct thread_struct;
265#line 47
266struct thread_struct;
267#line 50
268struct mm_struct;
269#line 51
270struct desc_struct;
271#line 52
272struct task_struct;
273#line 53
274struct cpumask;
275#line 53
276struct cpumask;
277#line 329
278struct arch_spinlock;
279#line 329
280struct arch_spinlock;
281#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
282struct task_struct;
283#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
284struct kernel_vm86_regs {
285 struct pt_regs pt ;
286 unsigned short es ;
287 unsigned short __esh ;
288 unsigned short ds ;
289 unsigned short __dsh ;
290 unsigned short fs ;
291 unsigned short __fsh ;
292 unsigned short gs ;
293 unsigned short __gsh ;
294};
295#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
296union __anonunion____missing_field_name_24 {
297 struct pt_regs *regs ;
298 struct kernel_vm86_regs *vm86 ;
299};
300#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
301struct math_emu_info {
302 long ___orig_eip ;
303 union __anonunion____missing_field_name_24 __annonCompField8 ;
304};
305#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
306struct task_struct;
307#line 10 "include/asm-generic/bug.h"
308struct bug_entry {
309 int bug_addr_disp ;
310 int file_disp ;
311 unsigned short line ;
312 unsigned short flags ;
313};
314#line 12 "include/linux/bug.h"
315struct pt_regs;
316#line 14 "include/linux/cpumask.h"
317struct cpumask {
318 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
319};
320#line 14 "include/linux/cpumask.h"
321typedef struct cpumask cpumask_t;
322#line 637 "include/linux/cpumask.h"
323typedef struct cpumask *cpumask_var_t;
324#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
325struct static_key;
326#line 234
327struct static_key;
328#line 11 "include/linux/personality.h"
329struct pt_regs;
330#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
331struct i387_fsave_struct {
332 u32 cwd ;
333 u32 swd ;
334 u32 twd ;
335 u32 fip ;
336 u32 fcs ;
337 u32 foo ;
338 u32 fos ;
339 u32 st_space[20] ;
340 u32 status ;
341};
342#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
343struct __anonstruct____missing_field_name_31 {
344 u64 rip ;
345 u64 rdp ;
346};
347#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
348struct __anonstruct____missing_field_name_32 {
349 u32 fip ;
350 u32 fcs ;
351 u32 foo ;
352 u32 fos ;
353};
354#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
355union __anonunion____missing_field_name_30 {
356 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
357 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
358};
359#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
360union __anonunion____missing_field_name_33 {
361 u32 padding1[12] ;
362 u32 sw_reserved[12] ;
363};
364#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
365struct i387_fxsave_struct {
366 u16 cwd ;
367 u16 swd ;
368 u16 twd ;
369 u16 fop ;
370 union __anonunion____missing_field_name_30 __annonCompField14 ;
371 u32 mxcsr ;
372 u32 mxcsr_mask ;
373 u32 st_space[32] ;
374 u32 xmm_space[64] ;
375 u32 padding[12] ;
376 union __anonunion____missing_field_name_33 __annonCompField15 ;
377} __attribute__((__aligned__(16))) ;
378#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
379struct i387_soft_struct {
380 u32 cwd ;
381 u32 swd ;
382 u32 twd ;
383 u32 fip ;
384 u32 fcs ;
385 u32 foo ;
386 u32 fos ;
387 u32 st_space[20] ;
388 u8 ftop ;
389 u8 changed ;
390 u8 lookahead ;
391 u8 no_update ;
392 u8 rm ;
393 u8 alimit ;
394 struct math_emu_info *info ;
395 u32 entry_eip ;
396};
397#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
398struct ymmh_struct {
399 u32 ymmh_space[64] ;
400};
401#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
402struct xsave_hdr_struct {
403 u64 xstate_bv ;
404 u64 reserved1[2] ;
405 u64 reserved2[5] ;
406} __attribute__((__packed__)) ;
407#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
408struct xsave_struct {
409 struct i387_fxsave_struct i387 ;
410 struct xsave_hdr_struct xsave_hdr ;
411 struct ymmh_struct ymmh ;
412} __attribute__((__packed__, __aligned__(64))) ;
413#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
414union thread_xstate {
415 struct i387_fsave_struct fsave ;
416 struct i387_fxsave_struct fxsave ;
417 struct i387_soft_struct soft ;
418 struct xsave_struct xsave ;
419};
420#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
421struct fpu {
422 unsigned int last_cpu ;
423 unsigned int has_fpu ;
424 union thread_xstate *state ;
425};
426#line 433
427struct kmem_cache;
428#line 435
429struct perf_event;
430#line 435
431struct perf_event;
432#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
433struct thread_struct {
434 struct desc_struct tls_array[3] ;
435 unsigned long sp0 ;
436 unsigned long sp ;
437 unsigned long usersp ;
438 unsigned short es ;
439 unsigned short ds ;
440 unsigned short fsindex ;
441 unsigned short gsindex ;
442 unsigned long fs ;
443 unsigned long gs ;
444 struct perf_event *ptrace_bps[4] ;
445 unsigned long debugreg6 ;
446 unsigned long ptrace_dr7 ;
447 unsigned long cr2 ;
448 unsigned long trap_nr ;
449 unsigned long error_code ;
450 struct fpu fpu ;
451 unsigned long *io_bitmap_ptr ;
452 unsigned long iopl ;
453 unsigned int io_bitmap_max ;
454};
455#line 23 "include/asm-generic/atomic-long.h"
456typedef atomic64_t atomic_long_t;
457#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
458typedef u16 __ticket_t;
459#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
460typedef u32 __ticketpair_t;
461#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
462struct __raw_tickets {
463 __ticket_t head ;
464 __ticket_t tail ;
465};
466#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
467union __anonunion____missing_field_name_36 {
468 __ticketpair_t head_tail ;
469 struct __raw_tickets tickets ;
470};
471#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
472struct arch_spinlock {
473 union __anonunion____missing_field_name_36 __annonCompField17 ;
474};
475#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
476typedef struct arch_spinlock arch_spinlock_t;
477#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
478struct __anonstruct____missing_field_name_38 {
479 u32 read ;
480 s32 write ;
481};
482#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
483union __anonunion_arch_rwlock_t_37 {
484 s64 lock ;
485 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
486};
487#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
488typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
489#line 12 "include/linux/lockdep.h"
490struct task_struct;
491#line 391 "include/linux/lockdep.h"
492struct lock_class_key {
493
494};
495#line 20 "include/linux/spinlock_types.h"
496struct raw_spinlock {
497 arch_spinlock_t raw_lock ;
498 unsigned int magic ;
499 unsigned int owner_cpu ;
500 void *owner ;
501};
502#line 20 "include/linux/spinlock_types.h"
503typedef struct raw_spinlock raw_spinlock_t;
504#line 64 "include/linux/spinlock_types.h"
505union __anonunion____missing_field_name_39 {
506 struct raw_spinlock rlock ;
507};
508#line 64 "include/linux/spinlock_types.h"
509struct spinlock {
510 union __anonunion____missing_field_name_39 __annonCompField19 ;
511};
512#line 64 "include/linux/spinlock_types.h"
513typedef struct spinlock spinlock_t;
514#line 11 "include/linux/rwlock_types.h"
515struct __anonstruct_rwlock_t_40 {
516 arch_rwlock_t raw_lock ;
517 unsigned int magic ;
518 unsigned int owner_cpu ;
519 void *owner ;
520};
521#line 11 "include/linux/rwlock_types.h"
522typedef struct __anonstruct_rwlock_t_40 rwlock_t;
523#line 119 "include/linux/seqlock.h"
524struct seqcount {
525 unsigned int sequence ;
526};
527#line 119 "include/linux/seqlock.h"
528typedef struct seqcount seqcount_t;
529#line 14 "include/linux/time.h"
530struct timespec {
531 __kernel_time_t tv_sec ;
532 long tv_nsec ;
533};
534#line 62 "include/linux/stat.h"
535struct kstat {
536 u64 ino ;
537 dev_t dev ;
538 umode_t mode ;
539 unsigned int nlink ;
540 uid_t uid ;
541 gid_t gid ;
542 dev_t rdev ;
543 loff_t size ;
544 struct timespec atime ;
545 struct timespec mtime ;
546 struct timespec ctime ;
547 unsigned long blksize ;
548 unsigned long long blocks ;
549};
550#line 49 "include/linux/wait.h"
551struct __wait_queue_head {
552 spinlock_t lock ;
553 struct list_head task_list ;
554};
555#line 53 "include/linux/wait.h"
556typedef struct __wait_queue_head wait_queue_head_t;
557#line 55
558struct task_struct;
559#line 98 "include/linux/nodemask.h"
560struct __anonstruct_nodemask_t_42 {
561 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
562};
563#line 98 "include/linux/nodemask.h"
564typedef struct __anonstruct_nodemask_t_42 nodemask_t;
565#line 60 "include/linux/pageblock-flags.h"
566struct page;
567#line 48 "include/linux/mutex.h"
568struct mutex {
569 atomic_t count ;
570 spinlock_t wait_lock ;
571 struct list_head wait_list ;
572 struct task_struct *owner ;
573 char const *name ;
574 void *magic ;
575};
576#line 69 "include/linux/mutex.h"
577struct mutex_waiter {
578 struct list_head list ;
579 struct task_struct *task ;
580 void *magic ;
581};
582#line 19 "include/linux/rwsem.h"
583struct rw_semaphore;
584#line 19
585struct rw_semaphore;
586#line 25 "include/linux/rwsem.h"
587struct rw_semaphore {
588 long count ;
589 raw_spinlock_t wait_lock ;
590 struct list_head wait_list ;
591};
592#line 25 "include/linux/completion.h"
593struct completion {
594 unsigned int done ;
595 wait_queue_head_t wait ;
596};
597#line 9 "include/linux/memory_hotplug.h"
598struct page;
599#line 202 "include/linux/ioport.h"
600struct device;
601#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
602struct device;
603#line 46 "include/linux/ktime.h"
604union ktime {
605 s64 tv64 ;
606};
607#line 59 "include/linux/ktime.h"
608typedef union ktime ktime_t;
609#line 10 "include/linux/timer.h"
610struct tvec_base;
611#line 10
612struct tvec_base;
613#line 12 "include/linux/timer.h"
614struct timer_list {
615 struct list_head entry ;
616 unsigned long expires ;
617 struct tvec_base *base ;
618 void (*function)(unsigned long ) ;
619 unsigned long data ;
620 int slack ;
621 int start_pid ;
622 void *start_site ;
623 char start_comm[16] ;
624};
625#line 289
626struct hrtimer;
627#line 289
628struct hrtimer;
629#line 290
630enum hrtimer_restart;
631#line 15 "include/linux/workqueue.h"
632struct workqueue_struct;
633#line 15
634struct workqueue_struct;
635#line 17
636struct work_struct;
637#line 17
638struct work_struct;
639#line 79 "include/linux/workqueue.h"
640struct work_struct {
641 atomic_long_t data ;
642 struct list_head entry ;
643 void (*func)(struct work_struct *work ) ;
644};
645#line 92 "include/linux/workqueue.h"
646struct delayed_work {
647 struct work_struct work ;
648 struct timer_list timer ;
649};
650#line 102 "include/linux/workqueue.h"
651struct execute_work {
652 struct work_struct work ;
653};
654#line 42 "include/linux/pm.h"
655struct device;
656#line 50 "include/linux/pm.h"
657struct pm_message {
658 int event ;
659};
660#line 50 "include/linux/pm.h"
661typedef struct pm_message pm_message_t;
662#line 264 "include/linux/pm.h"
663struct dev_pm_ops {
664 int (*prepare)(struct device *dev ) ;
665 void (*complete)(struct device *dev ) ;
666 int (*suspend)(struct device *dev ) ;
667 int (*resume)(struct device *dev ) ;
668 int (*freeze)(struct device *dev ) ;
669 int (*thaw)(struct device *dev ) ;
670 int (*poweroff)(struct device *dev ) ;
671 int (*restore)(struct device *dev ) ;
672 int (*suspend_late)(struct device *dev ) ;
673 int (*resume_early)(struct device *dev ) ;
674 int (*freeze_late)(struct device *dev ) ;
675 int (*thaw_early)(struct device *dev ) ;
676 int (*poweroff_late)(struct device *dev ) ;
677 int (*restore_early)(struct device *dev ) ;
678 int (*suspend_noirq)(struct device *dev ) ;
679 int (*resume_noirq)(struct device *dev ) ;
680 int (*freeze_noirq)(struct device *dev ) ;
681 int (*thaw_noirq)(struct device *dev ) ;
682 int (*poweroff_noirq)(struct device *dev ) ;
683 int (*restore_noirq)(struct device *dev ) ;
684 int (*runtime_suspend)(struct device *dev ) ;
685 int (*runtime_resume)(struct device *dev ) ;
686 int (*runtime_idle)(struct device *dev ) ;
687};
688#line 458
689enum rpm_status {
690 RPM_ACTIVE = 0,
691 RPM_RESUMING = 1,
692 RPM_SUSPENDED = 2,
693 RPM_SUSPENDING = 3
694} ;
695#line 480
696enum rpm_request {
697 RPM_REQ_NONE = 0,
698 RPM_REQ_IDLE = 1,
699 RPM_REQ_SUSPEND = 2,
700 RPM_REQ_AUTOSUSPEND = 3,
701 RPM_REQ_RESUME = 4
702} ;
703#line 488
704struct wakeup_source;
705#line 488
706struct wakeup_source;
707#line 495 "include/linux/pm.h"
708struct pm_subsys_data {
709 spinlock_t lock ;
710 unsigned int refcount ;
711};
712#line 506
713struct dev_pm_qos_request;
714#line 506
715struct pm_qos_constraints;
716#line 506 "include/linux/pm.h"
717struct dev_pm_info {
718 pm_message_t power_state ;
719 unsigned int can_wakeup : 1 ;
720 unsigned int async_suspend : 1 ;
721 bool is_prepared : 1 ;
722 bool is_suspended : 1 ;
723 bool ignore_children : 1 ;
724 spinlock_t lock ;
725 struct list_head entry ;
726 struct completion completion ;
727 struct wakeup_source *wakeup ;
728 bool wakeup_path : 1 ;
729 struct timer_list suspend_timer ;
730 unsigned long timer_expires ;
731 struct work_struct work ;
732 wait_queue_head_t wait_queue ;
733 atomic_t usage_count ;
734 atomic_t child_count ;
735 unsigned int disable_depth : 3 ;
736 unsigned int idle_notification : 1 ;
737 unsigned int request_pending : 1 ;
738 unsigned int deferred_resume : 1 ;
739 unsigned int run_wake : 1 ;
740 unsigned int runtime_auto : 1 ;
741 unsigned int no_callbacks : 1 ;
742 unsigned int irq_safe : 1 ;
743 unsigned int use_autosuspend : 1 ;
744 unsigned int timer_autosuspends : 1 ;
745 enum rpm_request request ;
746 enum rpm_status runtime_status ;
747 int runtime_error ;
748 int autosuspend_delay ;
749 unsigned long last_busy ;
750 unsigned long active_jiffies ;
751 unsigned long suspended_jiffies ;
752 unsigned long accounting_timestamp ;
753 ktime_t suspend_time ;
754 s64 max_time_suspended_ns ;
755 struct dev_pm_qos_request *pq_req ;
756 struct pm_subsys_data *subsys_data ;
757 struct pm_qos_constraints *constraints ;
758};
759#line 564 "include/linux/pm.h"
760struct dev_pm_domain {
761 struct dev_pm_ops ops ;
762};
763#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
764struct __anonstruct_mm_context_t_112 {
765 void *ldt ;
766 int size ;
767 unsigned short ia32_compat ;
768 struct mutex lock ;
769 void *vdso ;
770};
771#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
772typedef struct __anonstruct_mm_context_t_112 mm_context_t;
773#line 8 "include/linux/vmalloc.h"
774struct vm_area_struct;
775#line 8
776struct vm_area_struct;
777#line 336 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
778struct bio_vec;
779#line 336
780struct bio_vec;
781#line 994 "include/linux/mmzone.h"
782struct page;
783#line 18 "include/linux/smp.h"
784struct call_single_data {
785 struct list_head list ;
786 void (*func)(void *info ) ;
787 void *info ;
788 u16 flags ;
789 u16 priv ;
790};
791#line 10 "include/linux/gfp.h"
792struct vm_area_struct;
793#line 29 "include/linux/sysctl.h"
794struct completion;
795#line 100 "include/linux/rbtree.h"
796struct rb_node {
797 unsigned long rb_parent_color ;
798 struct rb_node *rb_right ;
799 struct rb_node *rb_left ;
800} __attribute__((__aligned__(sizeof(long )))) ;
801#line 110 "include/linux/rbtree.h"
802struct rb_root {
803 struct rb_node *rb_node ;
804};
805#line 939 "include/linux/sysctl.h"
806struct nsproxy;
807#line 939
808struct nsproxy;
809#line 48 "include/linux/kmod.h"
810struct cred;
811#line 48
812struct cred;
813#line 49
814struct file;
815#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
816struct task_struct;
817#line 18 "include/linux/elf.h"
818typedef __u64 Elf64_Addr;
819#line 19 "include/linux/elf.h"
820typedef __u16 Elf64_Half;
821#line 23 "include/linux/elf.h"
822typedef __u32 Elf64_Word;
823#line 24 "include/linux/elf.h"
824typedef __u64 Elf64_Xword;
825#line 194 "include/linux/elf.h"
826struct elf64_sym {
827 Elf64_Word st_name ;
828 unsigned char st_info ;
829 unsigned char st_other ;
830 Elf64_Half st_shndx ;
831 Elf64_Addr st_value ;
832 Elf64_Xword st_size ;
833};
834#line 194 "include/linux/elf.h"
835typedef struct elf64_sym Elf64_Sym;
836#line 438
837struct file;
838#line 20 "include/linux/kobject_ns.h"
839struct sock;
840#line 20
841struct sock;
842#line 21
843struct kobject;
844#line 21
845struct kobject;
846#line 27
847enum kobj_ns_type {
848 KOBJ_NS_TYPE_NONE = 0,
849 KOBJ_NS_TYPE_NET = 1,
850 KOBJ_NS_TYPES = 2
851} ;
852#line 40 "include/linux/kobject_ns.h"
853struct kobj_ns_type_operations {
854 enum kobj_ns_type type ;
855 void *(*grab_current_ns)(void) ;
856 void const *(*netlink_ns)(struct sock *sk ) ;
857 void const *(*initial_ns)(void) ;
858 void (*drop_ns)(void * ) ;
859};
860#line 22 "include/linux/sysfs.h"
861struct kobject;
862#line 23
863struct module;
864#line 24
865enum kobj_ns_type;
866#line 26 "include/linux/sysfs.h"
867struct attribute {
868 char const *name ;
869 umode_t mode ;
870};
871#line 56 "include/linux/sysfs.h"
872struct attribute_group {
873 char const *name ;
874 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
875 struct attribute **attrs ;
876};
877#line 85
878struct file;
879#line 86
880struct vm_area_struct;
881#line 88 "include/linux/sysfs.h"
882struct bin_attribute {
883 struct attribute attr ;
884 size_t size ;
885 void *private ;
886 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
887 loff_t , size_t ) ;
888 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
889 loff_t , size_t ) ;
890 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
891};
892#line 112 "include/linux/sysfs.h"
893struct sysfs_ops {
894 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
895 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
896 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
897};
898#line 118
899struct sysfs_dirent;
900#line 118
901struct sysfs_dirent;
902#line 22 "include/linux/kref.h"
903struct kref {
904 atomic_t refcount ;
905};
906#line 60 "include/linux/kobject.h"
907struct kset;
908#line 60
909struct kobj_type;
910#line 60 "include/linux/kobject.h"
911struct kobject {
912 char const *name ;
913 struct list_head entry ;
914 struct kobject *parent ;
915 struct kset *kset ;
916 struct kobj_type *ktype ;
917 struct sysfs_dirent *sd ;
918 struct kref kref ;
919 unsigned int state_initialized : 1 ;
920 unsigned int state_in_sysfs : 1 ;
921 unsigned int state_add_uevent_sent : 1 ;
922 unsigned int state_remove_uevent_sent : 1 ;
923 unsigned int uevent_suppress : 1 ;
924};
925#line 108 "include/linux/kobject.h"
926struct kobj_type {
927 void (*release)(struct kobject *kobj ) ;
928 struct sysfs_ops const *sysfs_ops ;
929 struct attribute **default_attrs ;
930 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
931 void const *(*namespace)(struct kobject *kobj ) ;
932};
933#line 116 "include/linux/kobject.h"
934struct kobj_uevent_env {
935 char *envp[32] ;
936 int envp_idx ;
937 char buf[2048] ;
938 int buflen ;
939};
940#line 123 "include/linux/kobject.h"
941struct kset_uevent_ops {
942 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
943 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
944 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
945};
946#line 140
947struct sock;
948#line 159 "include/linux/kobject.h"
949struct kset {
950 struct list_head list ;
951 spinlock_t list_lock ;
952 struct kobject kobj ;
953 struct kset_uevent_ops const *uevent_ops ;
954};
955#line 39 "include/linux/moduleparam.h"
956struct kernel_param;
957#line 39
958struct kernel_param;
959#line 41 "include/linux/moduleparam.h"
960struct kernel_param_ops {
961 int (*set)(char const *val , struct kernel_param const *kp ) ;
962 int (*get)(char *buffer , struct kernel_param const *kp ) ;
963 void (*free)(void *arg ) ;
964};
965#line 50
966struct kparam_string;
967#line 50
968struct kparam_array;
969#line 50 "include/linux/moduleparam.h"
970union __anonunion____missing_field_name_199 {
971 void *arg ;
972 struct kparam_string const *str ;
973 struct kparam_array const *arr ;
974};
975#line 50 "include/linux/moduleparam.h"
976struct kernel_param {
977 char const *name ;
978 struct kernel_param_ops const *ops ;
979 u16 perm ;
980 s16 level ;
981 union __anonunion____missing_field_name_199 __annonCompField32 ;
982};
983#line 63 "include/linux/moduleparam.h"
984struct kparam_string {
985 unsigned int maxlen ;
986 char *string ;
987};
988#line 69 "include/linux/moduleparam.h"
989struct kparam_array {
990 unsigned int max ;
991 unsigned int elemsize ;
992 unsigned int *num ;
993 struct kernel_param_ops const *ops ;
994 void *elem ;
995};
996#line 445
997struct module;
998#line 80 "include/linux/jump_label.h"
999struct module;
1000#line 143 "include/linux/jump_label.h"
1001struct static_key {
1002 atomic_t enabled ;
1003};
1004#line 22 "include/linux/tracepoint.h"
1005struct module;
1006#line 23
1007struct tracepoint;
1008#line 23
1009struct tracepoint;
1010#line 25 "include/linux/tracepoint.h"
1011struct tracepoint_func {
1012 void *func ;
1013 void *data ;
1014};
1015#line 30 "include/linux/tracepoint.h"
1016struct tracepoint {
1017 char const *name ;
1018 struct static_key key ;
1019 void (*regfunc)(void) ;
1020 void (*unregfunc)(void) ;
1021 struct tracepoint_func *funcs ;
1022};
1023#line 19 "include/linux/export.h"
1024struct kernel_symbol {
1025 unsigned long value ;
1026 char const *name ;
1027};
1028#line 8 "include/asm-generic/module.h"
1029struct mod_arch_specific {
1030
1031};
1032#line 35 "include/linux/module.h"
1033struct module;
1034#line 37
1035struct module_param_attrs;
1036#line 37 "include/linux/module.h"
1037struct module_kobject {
1038 struct kobject kobj ;
1039 struct module *mod ;
1040 struct kobject *drivers_dir ;
1041 struct module_param_attrs *mp ;
1042};
1043#line 44 "include/linux/module.h"
1044struct module_attribute {
1045 struct attribute attr ;
1046 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1047 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1048 size_t count ) ;
1049 void (*setup)(struct module * , char const * ) ;
1050 int (*test)(struct module * ) ;
1051 void (*free)(struct module * ) ;
1052};
1053#line 71
1054struct exception_table_entry;
1055#line 71
1056struct exception_table_entry;
1057#line 199
1058enum module_state {
1059 MODULE_STATE_LIVE = 0,
1060 MODULE_STATE_COMING = 1,
1061 MODULE_STATE_GOING = 2
1062} ;
1063#line 215 "include/linux/module.h"
1064struct module_ref {
1065 unsigned long incs ;
1066 unsigned long decs ;
1067} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1068#line 220
1069struct module_sect_attrs;
1070#line 220
1071struct module_notes_attrs;
1072#line 220
1073struct ftrace_event_call;
1074#line 220 "include/linux/module.h"
1075struct module {
1076 enum module_state state ;
1077 struct list_head list ;
1078 char name[64UL - sizeof(unsigned long )] ;
1079 struct module_kobject mkobj ;
1080 struct module_attribute *modinfo_attrs ;
1081 char const *version ;
1082 char const *srcversion ;
1083 struct kobject *holders_dir ;
1084 struct kernel_symbol const *syms ;
1085 unsigned long const *crcs ;
1086 unsigned int num_syms ;
1087 struct kernel_param *kp ;
1088 unsigned int num_kp ;
1089 unsigned int num_gpl_syms ;
1090 struct kernel_symbol const *gpl_syms ;
1091 unsigned long const *gpl_crcs ;
1092 struct kernel_symbol const *unused_syms ;
1093 unsigned long const *unused_crcs ;
1094 unsigned int num_unused_syms ;
1095 unsigned int num_unused_gpl_syms ;
1096 struct kernel_symbol const *unused_gpl_syms ;
1097 unsigned long const *unused_gpl_crcs ;
1098 struct kernel_symbol const *gpl_future_syms ;
1099 unsigned long const *gpl_future_crcs ;
1100 unsigned int num_gpl_future_syms ;
1101 unsigned int num_exentries ;
1102 struct exception_table_entry *extable ;
1103 int (*init)(void) ;
1104 void *module_init ;
1105 void *module_core ;
1106 unsigned int init_size ;
1107 unsigned int core_size ;
1108 unsigned int init_text_size ;
1109 unsigned int core_text_size ;
1110 unsigned int init_ro_size ;
1111 unsigned int core_ro_size ;
1112 struct mod_arch_specific arch ;
1113 unsigned int taints ;
1114 unsigned int num_bugs ;
1115 struct list_head bug_list ;
1116 struct bug_entry *bug_table ;
1117 Elf64_Sym *symtab ;
1118 Elf64_Sym *core_symtab ;
1119 unsigned int num_symtab ;
1120 unsigned int core_num_syms ;
1121 char *strtab ;
1122 char *core_strtab ;
1123 struct module_sect_attrs *sect_attrs ;
1124 struct module_notes_attrs *notes_attrs ;
1125 char *args ;
1126 void *percpu ;
1127 unsigned int percpu_size ;
1128 unsigned int num_tracepoints ;
1129 struct tracepoint * const *tracepoints_ptrs ;
1130 unsigned int num_trace_bprintk_fmt ;
1131 char const **trace_bprintk_fmt_start ;
1132 struct ftrace_event_call **trace_events ;
1133 unsigned int num_trace_events ;
1134 struct list_head source_list ;
1135 struct list_head target_list ;
1136 struct task_struct *waiter ;
1137 void (*exit)(void) ;
1138 struct module_ref *refptr ;
1139 ctor_fn_t *ctors ;
1140 unsigned int num_ctors ;
1141};
1142#line 46 "include/linux/slub_def.h"
1143struct kmem_cache_cpu {
1144 void **freelist ;
1145 unsigned long tid ;
1146 struct page *page ;
1147 struct page *partial ;
1148 int node ;
1149 unsigned int stat[26] ;
1150};
1151#line 57 "include/linux/slub_def.h"
1152struct kmem_cache_node {
1153 spinlock_t list_lock ;
1154 unsigned long nr_partial ;
1155 struct list_head partial ;
1156 atomic_long_t nr_slabs ;
1157 atomic_long_t total_objects ;
1158 struct list_head full ;
1159};
1160#line 73 "include/linux/slub_def.h"
1161struct kmem_cache_order_objects {
1162 unsigned long x ;
1163};
1164#line 80 "include/linux/slub_def.h"
1165struct kmem_cache {
1166 struct kmem_cache_cpu *cpu_slab ;
1167 unsigned long flags ;
1168 unsigned long min_partial ;
1169 int size ;
1170 int objsize ;
1171 int offset ;
1172 int cpu_partial ;
1173 struct kmem_cache_order_objects oo ;
1174 struct kmem_cache_order_objects max ;
1175 struct kmem_cache_order_objects min ;
1176 gfp_t allocflags ;
1177 int refcount ;
1178 void (*ctor)(void * ) ;
1179 int inuse ;
1180 int align ;
1181 int reserved ;
1182 char const *name ;
1183 struct list_head list ;
1184 struct kobject kobj ;
1185 int remote_node_defrag_ratio ;
1186 struct kmem_cache_node *node[1 << 10] ;
1187};
1188#line 14 "include/linux/prio_tree.h"
1189struct prio_tree_node;
1190#line 14 "include/linux/prio_tree.h"
1191struct raw_prio_tree_node {
1192 struct prio_tree_node *left ;
1193 struct prio_tree_node *right ;
1194 struct prio_tree_node *parent ;
1195};
1196#line 20 "include/linux/prio_tree.h"
1197struct prio_tree_node {
1198 struct prio_tree_node *left ;
1199 struct prio_tree_node *right ;
1200 struct prio_tree_node *parent ;
1201 unsigned long start ;
1202 unsigned long last ;
1203};
1204#line 28 "include/linux/prio_tree.h"
1205struct prio_tree_root {
1206 struct prio_tree_node *prio_tree_node ;
1207 unsigned short index_bits ;
1208 unsigned short raw ;
1209};
1210#line 8 "include/linux/debug_locks.h"
1211struct task_struct;
1212#line 48
1213struct task_struct;
1214#line 23 "include/linux/mm_types.h"
1215struct address_space;
1216#line 23
1217struct address_space;
1218#line 40 "include/linux/mm_types.h"
1219union __anonunion____missing_field_name_202 {
1220 unsigned long index ;
1221 void *freelist ;
1222};
1223#line 40 "include/linux/mm_types.h"
1224struct __anonstruct____missing_field_name_206 {
1225 unsigned int inuse : 16 ;
1226 unsigned int objects : 15 ;
1227 unsigned int frozen : 1 ;
1228};
1229#line 40 "include/linux/mm_types.h"
1230union __anonunion____missing_field_name_205 {
1231 atomic_t _mapcount ;
1232 struct __anonstruct____missing_field_name_206 __annonCompField34 ;
1233};
1234#line 40 "include/linux/mm_types.h"
1235struct __anonstruct____missing_field_name_204 {
1236 union __anonunion____missing_field_name_205 __annonCompField35 ;
1237 atomic_t _count ;
1238};
1239#line 40 "include/linux/mm_types.h"
1240union __anonunion____missing_field_name_203 {
1241 unsigned long counters ;
1242 struct __anonstruct____missing_field_name_204 __annonCompField36 ;
1243};
1244#line 40 "include/linux/mm_types.h"
1245struct __anonstruct____missing_field_name_201 {
1246 union __anonunion____missing_field_name_202 __annonCompField33 ;
1247 union __anonunion____missing_field_name_203 __annonCompField37 ;
1248};
1249#line 40 "include/linux/mm_types.h"
1250struct __anonstruct____missing_field_name_208 {
1251 struct page *next ;
1252 int pages ;
1253 int pobjects ;
1254};
1255#line 40 "include/linux/mm_types.h"
1256union __anonunion____missing_field_name_207 {
1257 struct list_head lru ;
1258 struct __anonstruct____missing_field_name_208 __annonCompField39 ;
1259};
1260#line 40 "include/linux/mm_types.h"
1261union __anonunion____missing_field_name_209 {
1262 unsigned long private ;
1263 struct kmem_cache *slab ;
1264 struct page *first_page ;
1265};
1266#line 40 "include/linux/mm_types.h"
1267struct page {
1268 unsigned long flags ;
1269 struct address_space *mapping ;
1270 struct __anonstruct____missing_field_name_201 __annonCompField38 ;
1271 union __anonunion____missing_field_name_207 __annonCompField40 ;
1272 union __anonunion____missing_field_name_209 __annonCompField41 ;
1273 unsigned long debug_flags ;
1274} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1275#line 200 "include/linux/mm_types.h"
1276struct __anonstruct_vm_set_211 {
1277 struct list_head list ;
1278 void *parent ;
1279 struct vm_area_struct *head ;
1280};
1281#line 200 "include/linux/mm_types.h"
1282union __anonunion_shared_210 {
1283 struct __anonstruct_vm_set_211 vm_set ;
1284 struct raw_prio_tree_node prio_tree_node ;
1285};
1286#line 200
1287struct anon_vma;
1288#line 200
1289struct vm_operations_struct;
1290#line 200
1291struct mempolicy;
1292#line 200 "include/linux/mm_types.h"
1293struct vm_area_struct {
1294 struct mm_struct *vm_mm ;
1295 unsigned long vm_start ;
1296 unsigned long vm_end ;
1297 struct vm_area_struct *vm_next ;
1298 struct vm_area_struct *vm_prev ;
1299 pgprot_t vm_page_prot ;
1300 unsigned long vm_flags ;
1301 struct rb_node vm_rb ;
1302 union __anonunion_shared_210 shared ;
1303 struct list_head anon_vma_chain ;
1304 struct anon_vma *anon_vma ;
1305 struct vm_operations_struct const *vm_ops ;
1306 unsigned long vm_pgoff ;
1307 struct file *vm_file ;
1308 void *vm_private_data ;
1309 struct mempolicy *vm_policy ;
1310};
1311#line 257 "include/linux/mm_types.h"
1312struct core_thread {
1313 struct task_struct *task ;
1314 struct core_thread *next ;
1315};
1316#line 262 "include/linux/mm_types.h"
1317struct core_state {
1318 atomic_t nr_threads ;
1319 struct core_thread dumper ;
1320 struct completion startup ;
1321};
1322#line 284 "include/linux/mm_types.h"
1323struct mm_rss_stat {
1324 atomic_long_t count[3] ;
1325};
1326#line 288
1327struct linux_binfmt;
1328#line 288
1329struct mmu_notifier_mm;
1330#line 288 "include/linux/mm_types.h"
1331struct mm_struct {
1332 struct vm_area_struct *mmap ;
1333 struct rb_root mm_rb ;
1334 struct vm_area_struct *mmap_cache ;
1335 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1336 unsigned long pgoff , unsigned long flags ) ;
1337 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1338 unsigned long mmap_base ;
1339 unsigned long task_size ;
1340 unsigned long cached_hole_size ;
1341 unsigned long free_area_cache ;
1342 pgd_t *pgd ;
1343 atomic_t mm_users ;
1344 atomic_t mm_count ;
1345 int map_count ;
1346 spinlock_t page_table_lock ;
1347 struct rw_semaphore mmap_sem ;
1348 struct list_head mmlist ;
1349 unsigned long hiwater_rss ;
1350 unsigned long hiwater_vm ;
1351 unsigned long total_vm ;
1352 unsigned long locked_vm ;
1353 unsigned long pinned_vm ;
1354 unsigned long shared_vm ;
1355 unsigned long exec_vm ;
1356 unsigned long stack_vm ;
1357 unsigned long reserved_vm ;
1358 unsigned long def_flags ;
1359 unsigned long nr_ptes ;
1360 unsigned long start_code ;
1361 unsigned long end_code ;
1362 unsigned long start_data ;
1363 unsigned long end_data ;
1364 unsigned long start_brk ;
1365 unsigned long brk ;
1366 unsigned long start_stack ;
1367 unsigned long arg_start ;
1368 unsigned long arg_end ;
1369 unsigned long env_start ;
1370 unsigned long env_end ;
1371 unsigned long saved_auxv[44] ;
1372 struct mm_rss_stat rss_stat ;
1373 struct linux_binfmt *binfmt ;
1374 cpumask_var_t cpu_vm_mask_var ;
1375 mm_context_t context ;
1376 unsigned int faultstamp ;
1377 unsigned int token_priority ;
1378 unsigned int last_interval ;
1379 unsigned long flags ;
1380 struct core_state *core_state ;
1381 spinlock_t ioctx_lock ;
1382 struct hlist_head ioctx_list ;
1383 struct task_struct *owner ;
1384 struct file *exe_file ;
1385 unsigned long num_exe_file_vmas ;
1386 struct mmu_notifier_mm *mmu_notifier_mm ;
1387 pgtable_t pmd_huge_pte ;
1388 struct cpumask cpumask_allocation ;
1389};
1390#line 8 "include/linux/shrinker.h"
1391struct shrink_control {
1392 gfp_t gfp_mask ;
1393 unsigned long nr_to_scan ;
1394};
1395#line 31 "include/linux/shrinker.h"
1396struct shrinker {
1397 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1398 int seeks ;
1399 long batch ;
1400 struct list_head list ;
1401 atomic_long_t nr_in_batch ;
1402};
1403#line 22 "include/linux/mm.h"
1404struct mempolicy;
1405#line 23
1406struct anon_vma;
1407#line 24
1408struct file_ra_state;
1409#line 24
1410struct file_ra_state;
1411#line 25
1412struct user_struct;
1413#line 25
1414struct user_struct;
1415#line 26
1416struct writeback_control;
1417#line 26
1418struct writeback_control;
1419#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
1420struct mm_struct;
1421#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
1422struct vm_area_struct;
1423#line 188 "include/linux/mm.h"
1424struct vm_fault {
1425 unsigned int flags ;
1426 unsigned long pgoff ;
1427 void *virtual_address ;
1428 struct page *page ;
1429};
1430#line 205 "include/linux/mm.h"
1431struct vm_operations_struct {
1432 void (*open)(struct vm_area_struct *area ) ;
1433 void (*close)(struct vm_area_struct *area ) ;
1434 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1435 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1436 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
1437 int write ) ;
1438 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
1439 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
1440 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
1441 unsigned long flags ) ;
1442};
1443#line 247
1444struct inode;
1445#line 247
1446struct inode;
1447#line 195 "include/linux/page-flags.h"
1448struct page;
1449#line 6 "include/asm-generic/scatterlist.h"
1450struct scatterlist {
1451 unsigned long sg_magic ;
1452 unsigned long page_link ;
1453 unsigned int offset ;
1454 unsigned int length ;
1455 dma_addr_t dma_address ;
1456 unsigned int dma_length ;
1457};
1458#line 12 "include/linux/scatterlist.h"
1459struct sg_table {
1460 struct scatterlist *sgl ;
1461 unsigned int nents ;
1462 unsigned int orig_nents ;
1463};
1464#line 14 "include/scsi/scsi.h"
1465struct scsi_cmnd;
1466#line 14
1467struct scsi_cmnd;
1468#line 19 "include/linux/klist.h"
1469struct klist_node;
1470#line 19
1471struct klist_node;
1472#line 39 "include/linux/klist.h"
1473struct klist_node {
1474 void *n_klist ;
1475 struct list_head n_node ;
1476 struct kref n_ref ;
1477};
1478#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1479struct dma_map_ops;
1480#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1481struct dev_archdata {
1482 void *acpi_handle ;
1483 struct dma_map_ops *dma_ops ;
1484 void *iommu ;
1485};
1486#line 28 "include/linux/device.h"
1487struct device;
1488#line 29
1489struct device_private;
1490#line 29
1491struct device_private;
1492#line 30
1493struct device_driver;
1494#line 30
1495struct device_driver;
1496#line 31
1497struct driver_private;
1498#line 31
1499struct driver_private;
1500#line 32
1501struct module;
1502#line 33
1503struct class;
1504#line 33
1505struct class;
1506#line 34
1507struct subsys_private;
1508#line 34
1509struct subsys_private;
1510#line 35
1511struct bus_type;
1512#line 35
1513struct bus_type;
1514#line 36
1515struct device_node;
1516#line 36
1517struct device_node;
1518#line 37
1519struct iommu_ops;
1520#line 37
1521struct iommu_ops;
1522#line 39 "include/linux/device.h"
1523struct bus_attribute {
1524 struct attribute attr ;
1525 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1526 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1527};
1528#line 89
1529struct device_attribute;
1530#line 89
1531struct driver_attribute;
1532#line 89 "include/linux/device.h"
1533struct bus_type {
1534 char const *name ;
1535 char const *dev_name ;
1536 struct device *dev_root ;
1537 struct bus_attribute *bus_attrs ;
1538 struct device_attribute *dev_attrs ;
1539 struct driver_attribute *drv_attrs ;
1540 int (*match)(struct device *dev , struct device_driver *drv ) ;
1541 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1542 int (*probe)(struct device *dev ) ;
1543 int (*remove)(struct device *dev ) ;
1544 void (*shutdown)(struct device *dev ) ;
1545 int (*suspend)(struct device *dev , pm_message_t state ) ;
1546 int (*resume)(struct device *dev ) ;
1547 struct dev_pm_ops const *pm ;
1548 struct iommu_ops *iommu_ops ;
1549 struct subsys_private *p ;
1550};
1551#line 127
1552struct device_type;
1553#line 214
1554struct of_device_id;
1555#line 214 "include/linux/device.h"
1556struct device_driver {
1557 char const *name ;
1558 struct bus_type *bus ;
1559 struct module *owner ;
1560 char const *mod_name ;
1561 bool suppress_bind_attrs ;
1562 struct of_device_id const *of_match_table ;
1563 int (*probe)(struct device *dev ) ;
1564 int (*remove)(struct device *dev ) ;
1565 void (*shutdown)(struct device *dev ) ;
1566 int (*suspend)(struct device *dev , pm_message_t state ) ;
1567 int (*resume)(struct device *dev ) ;
1568 struct attribute_group const **groups ;
1569 struct dev_pm_ops const *pm ;
1570 struct driver_private *p ;
1571};
1572#line 249 "include/linux/device.h"
1573struct driver_attribute {
1574 struct attribute attr ;
1575 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1576 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1577};
1578#line 330
1579struct class_attribute;
1580#line 330 "include/linux/device.h"
1581struct class {
1582 char const *name ;
1583 struct module *owner ;
1584 struct class_attribute *class_attrs ;
1585 struct device_attribute *dev_attrs ;
1586 struct bin_attribute *dev_bin_attrs ;
1587 struct kobject *dev_kobj ;
1588 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1589 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1590 void (*class_release)(struct class *class ) ;
1591 void (*dev_release)(struct device *dev ) ;
1592 int (*suspend)(struct device *dev , pm_message_t state ) ;
1593 int (*resume)(struct device *dev ) ;
1594 struct kobj_ns_type_operations const *ns_type ;
1595 void const *(*namespace)(struct device *dev ) ;
1596 struct dev_pm_ops const *pm ;
1597 struct subsys_private *p ;
1598};
1599#line 397 "include/linux/device.h"
1600struct class_attribute {
1601 struct attribute attr ;
1602 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1603 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1604 size_t count ) ;
1605 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
1606};
1607#line 465 "include/linux/device.h"
1608struct device_type {
1609 char const *name ;
1610 struct attribute_group const **groups ;
1611 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1612 char *(*devnode)(struct device *dev , umode_t *mode ) ;
1613 void (*release)(struct device *dev ) ;
1614 struct dev_pm_ops const *pm ;
1615};
1616#line 476 "include/linux/device.h"
1617struct device_attribute {
1618 struct attribute attr ;
1619 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1620 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1621 size_t count ) ;
1622};
1623#line 559 "include/linux/device.h"
1624struct device_dma_parameters {
1625 unsigned int max_segment_size ;
1626 unsigned long segment_boundary_mask ;
1627};
1628#line 627
1629struct dma_coherent_mem;
1630#line 627 "include/linux/device.h"
1631struct device {
1632 struct device *parent ;
1633 struct device_private *p ;
1634 struct kobject kobj ;
1635 char const *init_name ;
1636 struct device_type const *type ;
1637 struct mutex mutex ;
1638 struct bus_type *bus ;
1639 struct device_driver *driver ;
1640 void *platform_data ;
1641 struct dev_pm_info power ;
1642 struct dev_pm_domain *pm_domain ;
1643 int numa_node ;
1644 u64 *dma_mask ;
1645 u64 coherent_dma_mask ;
1646 struct device_dma_parameters *dma_parms ;
1647 struct list_head dma_pools ;
1648 struct dma_coherent_mem *dma_mem ;
1649 struct dev_archdata archdata ;
1650 struct device_node *of_node ;
1651 dev_t devt ;
1652 u32 id ;
1653 spinlock_t devres_lock ;
1654 struct list_head devres_head ;
1655 struct klist_node knode_class ;
1656 struct class *class ;
1657 struct attribute_group const **groups ;
1658 void (*release)(struct device *dev ) ;
1659};
1660#line 43 "include/linux/pm_wakeup.h"
1661struct wakeup_source {
1662 char const *name ;
1663 struct list_head entry ;
1664 spinlock_t lock ;
1665 struct timer_list timer ;
1666 unsigned long timer_expires ;
1667 ktime_t total_time ;
1668 ktime_t max_time ;
1669 ktime_t last_time ;
1670 unsigned long event_count ;
1671 unsigned long active_count ;
1672 unsigned long relax_count ;
1673 unsigned long hit_count ;
1674 unsigned int active : 1 ;
1675};
1676#line 27 "include/linux/dma-attrs.h"
1677struct dma_attrs {
1678 unsigned long flags[((4UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
1679};
1680#line 7 "include/linux/dma-direction.h"
1681enum dma_data_direction {
1682 DMA_BIDIRECTIONAL = 0,
1683 DMA_TO_DEVICE = 1,
1684 DMA_FROM_DEVICE = 2,
1685 DMA_NONE = 3
1686} ;
1687#line 11 "include/linux/dma-mapping.h"
1688struct dma_map_ops {
1689 void *(*alloc)(struct device *dev , size_t size , dma_addr_t *dma_handle , gfp_t gfp ,
1690 struct dma_attrs *attrs ) ;
1691 void (*free)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ,
1692 struct dma_attrs *attrs ) ;
1693 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
1694 size_t , struct dma_attrs *attrs ) ;
1695 dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
1696 size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
1697 void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
1698 struct dma_attrs *attrs ) ;
1699 int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
1700 struct dma_attrs *attrs ) ;
1701 void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
1702 struct dma_attrs *attrs ) ;
1703 void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
1704 enum dma_data_direction dir ) ;
1705 void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
1706 enum dma_data_direction dir ) ;
1707 void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
1708 enum dma_data_direction dir ) ;
1709 void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
1710 enum dma_data_direction dir ) ;
1711 int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
1712 int (*dma_supported)(struct device *dev , u64 mask ) ;
1713 int (*set_dma_mask)(struct device *dev , u64 mask ) ;
1714 int is_phys ;
1715};
1716#line 25 "include/linux/dma-debug.h"
1717struct device;
1718#line 26
1719struct scatterlist;
1720#line 27
1721struct bus_type;
1722#line 6 "include/linux/swiotlb.h"
1723struct device;
1724#line 7
1725struct dma_attrs;
1726#line 8
1727struct scatterlist;
1728#line 18 "include/linux/capability.h"
1729struct task_struct;
1730#line 94 "include/linux/capability.h"
1731struct kernel_cap_struct {
1732 __u32 cap[2] ;
1733};
1734#line 94 "include/linux/capability.h"
1735typedef struct kernel_cap_struct kernel_cap_t;
1736#line 377
1737struct dentry;
1738#line 377
1739struct dentry;
1740#line 378
1741struct user_namespace;
1742#line 378
1743struct user_namespace;
1744#line 7 "include/asm-generic/cputime.h"
1745typedef unsigned long cputime_t;
1746#line 84 "include/linux/sem.h"
1747struct task_struct;
1748#line 101
1749struct sem_undo_list;
1750#line 101 "include/linux/sem.h"
1751struct sysv_sem {
1752 struct sem_undo_list *undo_list ;
1753};
1754#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1755struct siginfo;
1756#line 10
1757struct siginfo;
1758#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1759struct __anonstruct_sigset_t_214 {
1760 unsigned long sig[1] ;
1761};
1762#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1763typedef struct __anonstruct_sigset_t_214 sigset_t;
1764#line 17 "include/asm-generic/signal-defs.h"
1765typedef void __signalfn_t(int );
1766#line 18 "include/asm-generic/signal-defs.h"
1767typedef __signalfn_t *__sighandler_t;
1768#line 20 "include/asm-generic/signal-defs.h"
1769typedef void __restorefn_t(void);
1770#line 21 "include/asm-generic/signal-defs.h"
1771typedef __restorefn_t *__sigrestore_t;
1772#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1773struct sigaction {
1774 __sighandler_t sa_handler ;
1775 unsigned long sa_flags ;
1776 __sigrestore_t sa_restorer ;
1777 sigset_t sa_mask ;
1778};
1779#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1780struct k_sigaction {
1781 struct sigaction sa ;
1782};
1783#line 7 "include/asm-generic/siginfo.h"
1784union sigval {
1785 int sival_int ;
1786 void *sival_ptr ;
1787};
1788#line 7 "include/asm-generic/siginfo.h"
1789typedef union sigval sigval_t;
1790#line 48 "include/asm-generic/siginfo.h"
1791struct __anonstruct__kill_216 {
1792 __kernel_pid_t _pid ;
1793 __kernel_uid32_t _uid ;
1794};
1795#line 48 "include/asm-generic/siginfo.h"
1796struct __anonstruct__timer_217 {
1797 __kernel_timer_t _tid ;
1798 int _overrun ;
1799 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1800 sigval_t _sigval ;
1801 int _sys_private ;
1802};
1803#line 48 "include/asm-generic/siginfo.h"
1804struct __anonstruct__rt_218 {
1805 __kernel_pid_t _pid ;
1806 __kernel_uid32_t _uid ;
1807 sigval_t _sigval ;
1808};
1809#line 48 "include/asm-generic/siginfo.h"
1810struct __anonstruct__sigchld_219 {
1811 __kernel_pid_t _pid ;
1812 __kernel_uid32_t _uid ;
1813 int _status ;
1814 __kernel_clock_t _utime ;
1815 __kernel_clock_t _stime ;
1816};
1817#line 48 "include/asm-generic/siginfo.h"
1818struct __anonstruct__sigfault_220 {
1819 void *_addr ;
1820 short _addr_lsb ;
1821};
1822#line 48 "include/asm-generic/siginfo.h"
1823struct __anonstruct__sigpoll_221 {
1824 long _band ;
1825 int _fd ;
1826};
1827#line 48 "include/asm-generic/siginfo.h"
1828union __anonunion__sifields_215 {
1829 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1830 struct __anonstruct__kill_216 _kill ;
1831 struct __anonstruct__timer_217 _timer ;
1832 struct __anonstruct__rt_218 _rt ;
1833 struct __anonstruct__sigchld_219 _sigchld ;
1834 struct __anonstruct__sigfault_220 _sigfault ;
1835 struct __anonstruct__sigpoll_221 _sigpoll ;
1836};
1837#line 48 "include/asm-generic/siginfo.h"
1838struct siginfo {
1839 int si_signo ;
1840 int si_errno ;
1841 int si_code ;
1842 union __anonunion__sifields_215 _sifields ;
1843};
1844#line 48 "include/asm-generic/siginfo.h"
1845typedef struct siginfo siginfo_t;
1846#line 288
1847struct siginfo;
1848#line 10 "include/linux/signal.h"
1849struct task_struct;
1850#line 28 "include/linux/signal.h"
1851struct sigpending {
1852 struct list_head list ;
1853 sigset_t signal ;
1854};
1855#line 239
1856struct timespec;
1857#line 240
1858struct pt_regs;
1859#line 6 "include/linux/pid.h"
1860enum pid_type {
1861 PIDTYPE_PID = 0,
1862 PIDTYPE_PGID = 1,
1863 PIDTYPE_SID = 2,
1864 PIDTYPE_MAX = 3
1865} ;
1866#line 50
1867struct pid_namespace;
1868#line 50 "include/linux/pid.h"
1869struct upid {
1870 int nr ;
1871 struct pid_namespace *ns ;
1872 struct hlist_node pid_chain ;
1873};
1874#line 57 "include/linux/pid.h"
1875struct pid {
1876 atomic_t count ;
1877 unsigned int level ;
1878 struct hlist_head tasks[3] ;
1879 struct rcu_head rcu ;
1880 struct upid numbers[1] ;
1881};
1882#line 69 "include/linux/pid.h"
1883struct pid_link {
1884 struct hlist_node node ;
1885 struct pid *pid ;
1886};
1887#line 100
1888struct pid_namespace;
1889#line 18 "include/linux/percpu_counter.h"
1890struct percpu_counter {
1891 raw_spinlock_t lock ;
1892 s64 count ;
1893 struct list_head list ;
1894 s32 *counters ;
1895};
1896#line 50 "include/linux/proportions.h"
1897struct prop_local_percpu {
1898 struct percpu_counter events ;
1899 int shift ;
1900 unsigned long period ;
1901 raw_spinlock_t lock ;
1902};
1903#line 10 "include/linux/seccomp.h"
1904struct __anonstruct_seccomp_t_224 {
1905 int mode ;
1906};
1907#line 10 "include/linux/seccomp.h"
1908typedef struct __anonstruct_seccomp_t_224 seccomp_t;
1909#line 81 "include/linux/plist.h"
1910struct plist_head {
1911 struct list_head node_list ;
1912};
1913#line 85 "include/linux/plist.h"
1914struct plist_node {
1915 int prio ;
1916 struct list_head prio_list ;
1917 struct list_head node_list ;
1918};
1919#line 40 "include/linux/rtmutex.h"
1920struct rt_mutex_waiter;
1921#line 40
1922struct rt_mutex_waiter;
1923#line 42 "include/linux/resource.h"
1924struct rlimit {
1925 unsigned long rlim_cur ;
1926 unsigned long rlim_max ;
1927};
1928#line 81
1929struct task_struct;
1930#line 8 "include/linux/timerqueue.h"
1931struct timerqueue_node {
1932 struct rb_node node ;
1933 ktime_t expires ;
1934};
1935#line 13 "include/linux/timerqueue.h"
1936struct timerqueue_head {
1937 struct rb_root head ;
1938 struct timerqueue_node *next ;
1939};
1940#line 27 "include/linux/hrtimer.h"
1941struct hrtimer_clock_base;
1942#line 27
1943struct hrtimer_clock_base;
1944#line 28
1945struct hrtimer_cpu_base;
1946#line 28
1947struct hrtimer_cpu_base;
1948#line 44
1949enum hrtimer_restart {
1950 HRTIMER_NORESTART = 0,
1951 HRTIMER_RESTART = 1
1952} ;
1953#line 108 "include/linux/hrtimer.h"
1954struct hrtimer {
1955 struct timerqueue_node node ;
1956 ktime_t _softexpires ;
1957 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1958 struct hrtimer_clock_base *base ;
1959 unsigned long state ;
1960 int start_pid ;
1961 void *start_site ;
1962 char start_comm[16] ;
1963};
1964#line 145 "include/linux/hrtimer.h"
1965struct hrtimer_clock_base {
1966 struct hrtimer_cpu_base *cpu_base ;
1967 int index ;
1968 clockid_t clockid ;
1969 struct timerqueue_head active ;
1970 ktime_t resolution ;
1971 ktime_t (*get_time)(void) ;
1972 ktime_t softirq_time ;
1973 ktime_t offset ;
1974};
1975#line 178 "include/linux/hrtimer.h"
1976struct hrtimer_cpu_base {
1977 raw_spinlock_t lock ;
1978 unsigned long active_bases ;
1979 ktime_t expires_next ;
1980 int hres_active ;
1981 int hang_detected ;
1982 unsigned long nr_events ;
1983 unsigned long nr_retries ;
1984 unsigned long nr_hangs ;
1985 ktime_t max_hang_time ;
1986 struct hrtimer_clock_base clock_base[3] ;
1987};
1988#line 11 "include/linux/task_io_accounting.h"
1989struct task_io_accounting {
1990 u64 rchar ;
1991 u64 wchar ;
1992 u64 syscr ;
1993 u64 syscw ;
1994 u64 read_bytes ;
1995 u64 write_bytes ;
1996 u64 cancelled_write_bytes ;
1997};
1998#line 13 "include/linux/latencytop.h"
1999struct task_struct;
2000#line 20 "include/linux/latencytop.h"
2001struct latency_record {
2002 unsigned long backtrace[12] ;
2003 unsigned int count ;
2004 unsigned long time ;
2005 unsigned long max ;
2006};
2007#line 29 "include/linux/key.h"
2008typedef int32_t key_serial_t;
2009#line 32 "include/linux/key.h"
2010typedef uint32_t key_perm_t;
2011#line 34
2012struct key;
2013#line 34
2014struct key;
2015#line 74
2016struct seq_file;
2017#line 75
2018struct user_struct;
2019#line 76
2020struct signal_struct;
2021#line 76
2022struct signal_struct;
2023#line 77
2024struct cred;
2025#line 79
2026struct key_type;
2027#line 79
2028struct key_type;
2029#line 81
2030struct keyring_list;
2031#line 81
2032struct keyring_list;
2033#line 124
2034struct key_user;
2035#line 124 "include/linux/key.h"
2036union __anonunion____missing_field_name_225 {
2037 time_t expiry ;
2038 time_t revoked_at ;
2039};
2040#line 124 "include/linux/key.h"
2041union __anonunion_type_data_226 {
2042 struct list_head link ;
2043 unsigned long x[2] ;
2044 void *p[2] ;
2045 int reject_error ;
2046};
2047#line 124 "include/linux/key.h"
2048union __anonunion_payload_227 {
2049 unsigned long value ;
2050 void *rcudata ;
2051 void *data ;
2052 struct keyring_list *subscriptions ;
2053};
2054#line 124 "include/linux/key.h"
2055struct key {
2056 atomic_t usage ;
2057 key_serial_t serial ;
2058 struct rb_node serial_node ;
2059 struct key_type *type ;
2060 struct rw_semaphore sem ;
2061 struct key_user *user ;
2062 void *security ;
2063 union __anonunion____missing_field_name_225 __annonCompField42 ;
2064 uid_t uid ;
2065 gid_t gid ;
2066 key_perm_t perm ;
2067 unsigned short quotalen ;
2068 unsigned short datalen ;
2069 unsigned long flags ;
2070 char *description ;
2071 union __anonunion_type_data_226 type_data ;
2072 union __anonunion_payload_227 payload ;
2073};
2074#line 18 "include/linux/selinux.h"
2075struct audit_context;
2076#line 18
2077struct audit_context;
2078#line 21 "include/linux/cred.h"
2079struct user_struct;
2080#line 22
2081struct cred;
2082#line 23
2083struct inode;
2084#line 31 "include/linux/cred.h"
2085struct group_info {
2086 atomic_t usage ;
2087 int ngroups ;
2088 int nblocks ;
2089 gid_t small_block[32] ;
2090 gid_t *blocks[0] ;
2091};
2092#line 83 "include/linux/cred.h"
2093struct thread_group_cred {
2094 atomic_t usage ;
2095 pid_t tgid ;
2096 spinlock_t lock ;
2097 struct key *session_keyring ;
2098 struct key *process_keyring ;
2099 struct rcu_head rcu ;
2100};
2101#line 116 "include/linux/cred.h"
2102struct cred {
2103 atomic_t usage ;
2104 atomic_t subscribers ;
2105 void *put_addr ;
2106 unsigned int magic ;
2107 uid_t uid ;
2108 gid_t gid ;
2109 uid_t suid ;
2110 gid_t sgid ;
2111 uid_t euid ;
2112 gid_t egid ;
2113 uid_t fsuid ;
2114 gid_t fsgid ;
2115 unsigned int securebits ;
2116 kernel_cap_t cap_inheritable ;
2117 kernel_cap_t cap_permitted ;
2118 kernel_cap_t cap_effective ;
2119 kernel_cap_t cap_bset ;
2120 unsigned char jit_keyring ;
2121 struct key *thread_keyring ;
2122 struct key *request_key_auth ;
2123 struct thread_group_cred *tgcred ;
2124 void *security ;
2125 struct user_struct *user ;
2126 struct user_namespace *user_ns ;
2127 struct group_info *group_info ;
2128 struct rcu_head rcu ;
2129};
2130#line 61 "include/linux/llist.h"
2131struct llist_node;
2132#line 65 "include/linux/llist.h"
2133struct llist_node {
2134 struct llist_node *next ;
2135};
2136#line 97 "include/linux/sched.h"
2137struct futex_pi_state;
2138#line 97
2139struct futex_pi_state;
2140#line 98
2141struct robust_list_head;
2142#line 98
2143struct robust_list_head;
2144#line 99
2145struct bio_list;
2146#line 99
2147struct bio_list;
2148#line 100
2149struct fs_struct;
2150#line 100
2151struct fs_struct;
2152#line 101
2153struct perf_event_context;
2154#line 101
2155struct perf_event_context;
2156#line 102
2157struct blk_plug;
2158#line 102
2159struct blk_plug;
2160#line 150
2161struct seq_file;
2162#line 151
2163struct cfs_rq;
2164#line 151
2165struct cfs_rq;
2166#line 259
2167struct task_struct;
2168#line 366
2169struct nsproxy;
2170#line 367
2171struct user_namespace;
2172#line 58 "include/linux/aio_abi.h"
2173struct io_event {
2174 __u64 data ;
2175 __u64 obj ;
2176 __s64 res ;
2177 __s64 res2 ;
2178};
2179#line 16 "include/linux/uio.h"
2180struct iovec {
2181 void *iov_base ;
2182 __kernel_size_t iov_len ;
2183};
2184#line 15 "include/linux/aio.h"
2185struct kioctx;
2186#line 15
2187struct kioctx;
2188#line 87 "include/linux/aio.h"
2189union __anonunion_ki_obj_229 {
2190 void *user ;
2191 struct task_struct *tsk ;
2192};
2193#line 87
2194struct eventfd_ctx;
2195#line 87 "include/linux/aio.h"
2196struct kiocb {
2197 struct list_head ki_run_list ;
2198 unsigned long ki_flags ;
2199 int ki_users ;
2200 unsigned int ki_key ;
2201 struct file *ki_filp ;
2202 struct kioctx *ki_ctx ;
2203 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2204 ssize_t (*ki_retry)(struct kiocb * ) ;
2205 void (*ki_dtor)(struct kiocb * ) ;
2206 union __anonunion_ki_obj_229 ki_obj ;
2207 __u64 ki_user_data ;
2208 loff_t ki_pos ;
2209 void *private ;
2210 unsigned short ki_opcode ;
2211 size_t ki_nbytes ;
2212 char *ki_buf ;
2213 size_t ki_left ;
2214 struct iovec ki_inline_vec ;
2215 struct iovec *ki_iovec ;
2216 unsigned long ki_nr_segs ;
2217 unsigned long ki_cur_seg ;
2218 struct list_head ki_list ;
2219 struct list_head ki_batch ;
2220 struct eventfd_ctx *ki_eventfd ;
2221};
2222#line 166 "include/linux/aio.h"
2223struct aio_ring_info {
2224 unsigned long mmap_base ;
2225 unsigned long mmap_size ;
2226 struct page **ring_pages ;
2227 spinlock_t ring_lock ;
2228 long nr_pages ;
2229 unsigned int nr ;
2230 unsigned int tail ;
2231 struct page *internal_pages[8] ;
2232};
2233#line 179 "include/linux/aio.h"
2234struct kioctx {
2235 atomic_t users ;
2236 int dead ;
2237 struct mm_struct *mm ;
2238 unsigned long user_id ;
2239 struct hlist_node list ;
2240 wait_queue_head_t wait ;
2241 spinlock_t ctx_lock ;
2242 int reqs_active ;
2243 struct list_head active_reqs ;
2244 struct list_head run_list ;
2245 unsigned int max_reqs ;
2246 struct aio_ring_info ring_info ;
2247 struct delayed_work wq ;
2248 struct rcu_head rcu_head ;
2249};
2250#line 214
2251struct mm_struct;
2252#line 443 "include/linux/sched.h"
2253struct sighand_struct {
2254 atomic_t count ;
2255 struct k_sigaction action[64] ;
2256 spinlock_t siglock ;
2257 wait_queue_head_t signalfd_wqh ;
2258};
2259#line 450 "include/linux/sched.h"
2260struct pacct_struct {
2261 int ac_flag ;
2262 long ac_exitcode ;
2263 unsigned long ac_mem ;
2264 cputime_t ac_utime ;
2265 cputime_t ac_stime ;
2266 unsigned long ac_minflt ;
2267 unsigned long ac_majflt ;
2268};
2269#line 458 "include/linux/sched.h"
2270struct cpu_itimer {
2271 cputime_t expires ;
2272 cputime_t incr ;
2273 u32 error ;
2274 u32 incr_error ;
2275};
2276#line 476 "include/linux/sched.h"
2277struct task_cputime {
2278 cputime_t utime ;
2279 cputime_t stime ;
2280 unsigned long long sum_exec_runtime ;
2281};
2282#line 512 "include/linux/sched.h"
2283struct thread_group_cputimer {
2284 struct task_cputime cputime ;
2285 int running ;
2286 raw_spinlock_t lock ;
2287};
2288#line 519
2289struct autogroup;
2290#line 519
2291struct autogroup;
2292#line 528
2293struct tty_struct;
2294#line 528
2295struct taskstats;
2296#line 528
2297struct tty_audit_buf;
2298#line 528 "include/linux/sched.h"
2299struct signal_struct {
2300 atomic_t sigcnt ;
2301 atomic_t live ;
2302 int nr_threads ;
2303 wait_queue_head_t wait_chldexit ;
2304 struct task_struct *curr_target ;
2305 struct sigpending shared_pending ;
2306 int group_exit_code ;
2307 int notify_count ;
2308 struct task_struct *group_exit_task ;
2309 int group_stop_count ;
2310 unsigned int flags ;
2311 unsigned int is_child_subreaper : 1 ;
2312 unsigned int has_child_subreaper : 1 ;
2313 struct list_head posix_timers ;
2314 struct hrtimer real_timer ;
2315 struct pid *leader_pid ;
2316 ktime_t it_real_incr ;
2317 struct cpu_itimer it[2] ;
2318 struct thread_group_cputimer cputimer ;
2319 struct task_cputime cputime_expires ;
2320 struct list_head cpu_timers[3] ;
2321 struct pid *tty_old_pgrp ;
2322 int leader ;
2323 struct tty_struct *tty ;
2324 struct autogroup *autogroup ;
2325 cputime_t utime ;
2326 cputime_t stime ;
2327 cputime_t cutime ;
2328 cputime_t cstime ;
2329 cputime_t gtime ;
2330 cputime_t cgtime ;
2331 cputime_t prev_utime ;
2332 cputime_t prev_stime ;
2333 unsigned long nvcsw ;
2334 unsigned long nivcsw ;
2335 unsigned long cnvcsw ;
2336 unsigned long cnivcsw ;
2337 unsigned long min_flt ;
2338 unsigned long maj_flt ;
2339 unsigned long cmin_flt ;
2340 unsigned long cmaj_flt ;
2341 unsigned long inblock ;
2342 unsigned long oublock ;
2343 unsigned long cinblock ;
2344 unsigned long coublock ;
2345 unsigned long maxrss ;
2346 unsigned long cmaxrss ;
2347 struct task_io_accounting ioac ;
2348 unsigned long long sum_sched_runtime ;
2349 struct rlimit rlim[16] ;
2350 struct pacct_struct pacct ;
2351 struct taskstats *stats ;
2352 unsigned int audit_tty ;
2353 struct tty_audit_buf *tty_audit_buf ;
2354 struct rw_semaphore group_rwsem ;
2355 int oom_adj ;
2356 int oom_score_adj ;
2357 int oom_score_adj_min ;
2358 struct mutex cred_guard_mutex ;
2359};
2360#line 703 "include/linux/sched.h"
2361struct user_struct {
2362 atomic_t __count ;
2363 atomic_t processes ;
2364 atomic_t files ;
2365 atomic_t sigpending ;
2366 atomic_t inotify_watches ;
2367 atomic_t inotify_devs ;
2368 atomic_t fanotify_listeners ;
2369 atomic_long_t epoll_watches ;
2370 unsigned long mq_bytes ;
2371 unsigned long locked_shm ;
2372 struct key *uid_keyring ;
2373 struct key *session_keyring ;
2374 struct hlist_node uidhash_node ;
2375 uid_t uid ;
2376 struct user_namespace *user_ns ;
2377 atomic_long_t locked_vm ;
2378};
2379#line 747
2380struct backing_dev_info;
2381#line 747
2382struct backing_dev_info;
2383#line 748
2384struct reclaim_state;
2385#line 748
2386struct reclaim_state;
2387#line 751 "include/linux/sched.h"
2388struct sched_info {
2389 unsigned long pcount ;
2390 unsigned long long run_delay ;
2391 unsigned long long last_arrival ;
2392 unsigned long long last_queued ;
2393};
2394#line 763 "include/linux/sched.h"
2395struct task_delay_info {
2396 spinlock_t lock ;
2397 unsigned int flags ;
2398 struct timespec blkio_start ;
2399 struct timespec blkio_end ;
2400 u64 blkio_delay ;
2401 u64 swapin_delay ;
2402 u32 blkio_count ;
2403 u32 swapin_count ;
2404 struct timespec freepages_start ;
2405 struct timespec freepages_end ;
2406 u64 freepages_delay ;
2407 u32 freepages_count ;
2408};
2409#line 1088
2410struct io_context;
2411#line 1088
2412struct io_context;
2413#line 1097
2414struct audit_context;
2415#line 1098
2416struct mempolicy;
2417#line 1099
2418struct pipe_inode_info;
2419#line 1099
2420struct pipe_inode_info;
2421#line 1102
2422struct rq;
2423#line 1102
2424struct rq;
2425#line 1122 "include/linux/sched.h"
2426struct sched_class {
2427 struct sched_class const *next ;
2428 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2429 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2430 void (*yield_task)(struct rq *rq ) ;
2431 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2432 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2433 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2434 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2435 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2436 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2437 void (*post_schedule)(struct rq *this_rq ) ;
2438 void (*task_waking)(struct task_struct *task ) ;
2439 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2440 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2441 void (*rq_online)(struct rq *rq ) ;
2442 void (*rq_offline)(struct rq *rq ) ;
2443 void (*set_curr_task)(struct rq *rq ) ;
2444 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2445 void (*task_fork)(struct task_struct *p ) ;
2446 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2447 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2448 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2449 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2450 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2451};
2452#line 1167 "include/linux/sched.h"
2453struct load_weight {
2454 unsigned long weight ;
2455 unsigned long inv_weight ;
2456};
2457#line 1172 "include/linux/sched.h"
2458struct sched_statistics {
2459 u64 wait_start ;
2460 u64 wait_max ;
2461 u64 wait_count ;
2462 u64 wait_sum ;
2463 u64 iowait_count ;
2464 u64 iowait_sum ;
2465 u64 sleep_start ;
2466 u64 sleep_max ;
2467 s64 sum_sleep_runtime ;
2468 u64 block_start ;
2469 u64 block_max ;
2470 u64 exec_max ;
2471 u64 slice_max ;
2472 u64 nr_migrations_cold ;
2473 u64 nr_failed_migrations_affine ;
2474 u64 nr_failed_migrations_running ;
2475 u64 nr_failed_migrations_hot ;
2476 u64 nr_forced_migrations ;
2477 u64 nr_wakeups ;
2478 u64 nr_wakeups_sync ;
2479 u64 nr_wakeups_migrate ;
2480 u64 nr_wakeups_local ;
2481 u64 nr_wakeups_remote ;
2482 u64 nr_wakeups_affine ;
2483 u64 nr_wakeups_affine_attempts ;
2484 u64 nr_wakeups_passive ;
2485 u64 nr_wakeups_idle ;
2486};
2487#line 1207 "include/linux/sched.h"
2488struct sched_entity {
2489 struct load_weight load ;
2490 struct rb_node run_node ;
2491 struct list_head group_node ;
2492 unsigned int on_rq ;
2493 u64 exec_start ;
2494 u64 sum_exec_runtime ;
2495 u64 vruntime ;
2496 u64 prev_sum_exec_runtime ;
2497 u64 nr_migrations ;
2498 struct sched_statistics statistics ;
2499 struct sched_entity *parent ;
2500 struct cfs_rq *cfs_rq ;
2501 struct cfs_rq *my_q ;
2502};
2503#line 1233
2504struct rt_rq;
2505#line 1233 "include/linux/sched.h"
2506struct sched_rt_entity {
2507 struct list_head run_list ;
2508 unsigned long timeout ;
2509 unsigned int time_slice ;
2510 int nr_cpus_allowed ;
2511 struct sched_rt_entity *back ;
2512 struct sched_rt_entity *parent ;
2513 struct rt_rq *rt_rq ;
2514 struct rt_rq *my_q ;
2515};
2516#line 1264
2517struct files_struct;
2518#line 1264
2519struct css_set;
2520#line 1264
2521struct compat_robust_list_head;
2522#line 1264
2523struct mem_cgroup;
2524#line 1264 "include/linux/sched.h"
2525struct memcg_batch_info {
2526 int do_batch ;
2527 struct mem_cgroup *memcg ;
2528 unsigned long nr_pages ;
2529 unsigned long memsw_nr_pages ;
2530};
2531#line 1264 "include/linux/sched.h"
2532struct task_struct {
2533 long volatile state ;
2534 void *stack ;
2535 atomic_t usage ;
2536 unsigned int flags ;
2537 unsigned int ptrace ;
2538 struct llist_node wake_entry ;
2539 int on_cpu ;
2540 int on_rq ;
2541 int prio ;
2542 int static_prio ;
2543 int normal_prio ;
2544 unsigned int rt_priority ;
2545 struct sched_class const *sched_class ;
2546 struct sched_entity se ;
2547 struct sched_rt_entity rt ;
2548 struct hlist_head preempt_notifiers ;
2549 unsigned char fpu_counter ;
2550 unsigned int policy ;
2551 cpumask_t cpus_allowed ;
2552 struct sched_info sched_info ;
2553 struct list_head tasks ;
2554 struct plist_node pushable_tasks ;
2555 struct mm_struct *mm ;
2556 struct mm_struct *active_mm ;
2557 unsigned int brk_randomized : 1 ;
2558 int exit_state ;
2559 int exit_code ;
2560 int exit_signal ;
2561 int pdeath_signal ;
2562 unsigned int jobctl ;
2563 unsigned int personality ;
2564 unsigned int did_exec : 1 ;
2565 unsigned int in_execve : 1 ;
2566 unsigned int in_iowait : 1 ;
2567 unsigned int sched_reset_on_fork : 1 ;
2568 unsigned int sched_contributes_to_load : 1 ;
2569 unsigned int irq_thread : 1 ;
2570 pid_t pid ;
2571 pid_t tgid ;
2572 unsigned long stack_canary ;
2573 struct task_struct *real_parent ;
2574 struct task_struct *parent ;
2575 struct list_head children ;
2576 struct list_head sibling ;
2577 struct task_struct *group_leader ;
2578 struct list_head ptraced ;
2579 struct list_head ptrace_entry ;
2580 struct pid_link pids[3] ;
2581 struct list_head thread_group ;
2582 struct completion *vfork_done ;
2583 int *set_child_tid ;
2584 int *clear_child_tid ;
2585 cputime_t utime ;
2586 cputime_t stime ;
2587 cputime_t utimescaled ;
2588 cputime_t stimescaled ;
2589 cputime_t gtime ;
2590 cputime_t prev_utime ;
2591 cputime_t prev_stime ;
2592 unsigned long nvcsw ;
2593 unsigned long nivcsw ;
2594 struct timespec start_time ;
2595 struct timespec real_start_time ;
2596 unsigned long min_flt ;
2597 unsigned long maj_flt ;
2598 struct task_cputime cputime_expires ;
2599 struct list_head cpu_timers[3] ;
2600 struct cred const *real_cred ;
2601 struct cred const *cred ;
2602 struct cred *replacement_session_keyring ;
2603 char comm[16] ;
2604 int link_count ;
2605 int total_link_count ;
2606 struct sysv_sem sysvsem ;
2607 unsigned long last_switch_count ;
2608 struct thread_struct thread ;
2609 struct fs_struct *fs ;
2610 struct files_struct *files ;
2611 struct nsproxy *nsproxy ;
2612 struct signal_struct *signal ;
2613 struct sighand_struct *sighand ;
2614 sigset_t blocked ;
2615 sigset_t real_blocked ;
2616 sigset_t saved_sigmask ;
2617 struct sigpending pending ;
2618 unsigned long sas_ss_sp ;
2619 size_t sas_ss_size ;
2620 int (*notifier)(void *priv ) ;
2621 void *notifier_data ;
2622 sigset_t *notifier_mask ;
2623 struct audit_context *audit_context ;
2624 uid_t loginuid ;
2625 unsigned int sessionid ;
2626 seccomp_t seccomp ;
2627 u32 parent_exec_id ;
2628 u32 self_exec_id ;
2629 spinlock_t alloc_lock ;
2630 raw_spinlock_t pi_lock ;
2631 struct plist_head pi_waiters ;
2632 struct rt_mutex_waiter *pi_blocked_on ;
2633 struct mutex_waiter *blocked_on ;
2634 unsigned int irq_events ;
2635 unsigned long hardirq_enable_ip ;
2636 unsigned long hardirq_disable_ip ;
2637 unsigned int hardirq_enable_event ;
2638 unsigned int hardirq_disable_event ;
2639 int hardirqs_enabled ;
2640 int hardirq_context ;
2641 unsigned long softirq_disable_ip ;
2642 unsigned long softirq_enable_ip ;
2643 unsigned int softirq_disable_event ;
2644 unsigned int softirq_enable_event ;
2645 int softirqs_enabled ;
2646 int softirq_context ;
2647 void *journal_info ;
2648 struct bio_list *bio_list ;
2649 struct blk_plug *plug ;
2650 struct reclaim_state *reclaim_state ;
2651 struct backing_dev_info *backing_dev_info ;
2652 struct io_context *io_context ;
2653 unsigned long ptrace_message ;
2654 siginfo_t *last_siginfo ;
2655 struct task_io_accounting ioac ;
2656 u64 acct_rss_mem1 ;
2657 u64 acct_vm_mem1 ;
2658 cputime_t acct_timexpd ;
2659 nodemask_t mems_allowed ;
2660 seqcount_t mems_allowed_seq ;
2661 int cpuset_mem_spread_rotor ;
2662 int cpuset_slab_spread_rotor ;
2663 struct css_set *cgroups ;
2664 struct list_head cg_list ;
2665 struct robust_list_head *robust_list ;
2666 struct compat_robust_list_head *compat_robust_list ;
2667 struct list_head pi_state_list ;
2668 struct futex_pi_state *pi_state_cache ;
2669 struct perf_event_context *perf_event_ctxp[2] ;
2670 struct mutex perf_event_mutex ;
2671 struct list_head perf_event_list ;
2672 struct mempolicy *mempolicy ;
2673 short il_next ;
2674 short pref_node_fork ;
2675 struct rcu_head rcu ;
2676 struct pipe_inode_info *splice_pipe ;
2677 struct task_delay_info *delays ;
2678 int make_it_fail ;
2679 int nr_dirtied ;
2680 int nr_dirtied_pause ;
2681 unsigned long dirty_paused_when ;
2682 int latency_record_count ;
2683 struct latency_record latency_record[32] ;
2684 unsigned long timer_slack_ns ;
2685 unsigned long default_timer_slack_ns ;
2686 struct list_head *scm_work_list ;
2687 unsigned long trace ;
2688 unsigned long trace_recursion ;
2689 struct memcg_batch_info memcg_batch ;
2690 atomic_t ptrace_bp_refcnt ;
2691};
2692#line 1681
2693struct pid_namespace;
2694#line 13 "include/linux/blk_types.h"
2695struct bio;
2696#line 13
2697struct bio;
2698#line 14
2699struct bio_integrity_payload;
2700#line 14
2701struct bio_integrity_payload;
2702#line 15
2703struct page;
2704#line 16
2705struct block_device;
2706#line 16
2707struct block_device;
2708#line 17 "include/linux/blk_types.h"
2709typedef void bio_end_io_t(struct bio * , int );
2710#line 18 "include/linux/blk_types.h"
2711typedef void bio_destructor_t(struct bio * );
2712#line 23 "include/linux/blk_types.h"
2713struct bio_vec {
2714 struct page *bv_page ;
2715 unsigned int bv_len ;
2716 unsigned int bv_offset ;
2717};
2718#line 33 "include/linux/blk_types.h"
2719struct bio {
2720 sector_t bi_sector ;
2721 struct bio *bi_next ;
2722 struct block_device *bi_bdev ;
2723 unsigned long bi_flags ;
2724 unsigned long bi_rw ;
2725 unsigned short bi_vcnt ;
2726 unsigned short bi_idx ;
2727 unsigned int bi_phys_segments ;
2728 unsigned int bi_size ;
2729 unsigned int bi_seg_front_size ;
2730 unsigned int bi_seg_back_size ;
2731 unsigned int bi_max_vecs ;
2732 atomic_t bi_cnt ;
2733 struct bio_vec *bi_io_vec ;
2734 bio_end_io_t *bi_end_io ;
2735 void *bi_private ;
2736 struct bio_integrity_payload *bi_integrity ;
2737 bio_destructor_t *bi_destructor ;
2738 struct bio_vec bi_inline_vecs[0] ;
2739};
2740#line 33 "include/linux/list_bl.h"
2741struct hlist_bl_node;
2742#line 33 "include/linux/list_bl.h"
2743struct hlist_bl_head {
2744 struct hlist_bl_node *first ;
2745};
2746#line 37 "include/linux/list_bl.h"
2747struct hlist_bl_node {
2748 struct hlist_bl_node *next ;
2749 struct hlist_bl_node **pprev ;
2750};
2751#line 13 "include/linux/dcache.h"
2752struct nameidata;
2753#line 13
2754struct nameidata;
2755#line 14
2756struct path;
2757#line 14
2758struct path;
2759#line 15
2760struct vfsmount;
2761#line 15
2762struct vfsmount;
2763#line 35 "include/linux/dcache.h"
2764struct qstr {
2765 unsigned int hash ;
2766 unsigned int len ;
2767 unsigned char const *name ;
2768};
2769#line 88
2770struct dentry_operations;
2771#line 88
2772struct super_block;
2773#line 88 "include/linux/dcache.h"
2774union __anonunion_d_u_232 {
2775 struct list_head d_child ;
2776 struct rcu_head d_rcu ;
2777};
2778#line 88 "include/linux/dcache.h"
2779struct dentry {
2780 unsigned int d_flags ;
2781 seqcount_t d_seq ;
2782 struct hlist_bl_node d_hash ;
2783 struct dentry *d_parent ;
2784 struct qstr d_name ;
2785 struct inode *d_inode ;
2786 unsigned char d_iname[32] ;
2787 unsigned int d_count ;
2788 spinlock_t d_lock ;
2789 struct dentry_operations const *d_op ;
2790 struct super_block *d_sb ;
2791 unsigned long d_time ;
2792 void *d_fsdata ;
2793 struct list_head d_lru ;
2794 union __anonunion_d_u_232 d_u ;
2795 struct list_head d_subdirs ;
2796 struct list_head d_alias ;
2797};
2798#line 131 "include/linux/dcache.h"
2799struct dentry_operations {
2800 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2801 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2802 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2803 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2804 int (*d_delete)(struct dentry const * ) ;
2805 void (*d_release)(struct dentry * ) ;
2806 void (*d_prune)(struct dentry * ) ;
2807 void (*d_iput)(struct dentry * , struct inode * ) ;
2808 char *(*d_dname)(struct dentry * , char * , int ) ;
2809 struct vfsmount *(*d_automount)(struct path * ) ;
2810 int (*d_manage)(struct dentry * , bool ) ;
2811} __attribute__((__aligned__((1) << (6) ))) ;
2812#line 4 "include/linux/path.h"
2813struct dentry;
2814#line 5
2815struct vfsmount;
2816#line 7 "include/linux/path.h"
2817struct path {
2818 struct vfsmount *mnt ;
2819 struct dentry *dentry ;
2820};
2821#line 64 "include/linux/radix-tree.h"
2822struct radix_tree_node;
2823#line 64 "include/linux/radix-tree.h"
2824struct radix_tree_root {
2825 unsigned int height ;
2826 gfp_t gfp_mask ;
2827 struct radix_tree_node *rnode ;
2828};
2829#line 16 "include/linux/fiemap.h"
2830struct fiemap_extent {
2831 __u64 fe_logical ;
2832 __u64 fe_physical ;
2833 __u64 fe_length ;
2834 __u64 fe_reserved64[2] ;
2835 __u32 fe_flags ;
2836 __u32 fe_reserved[3] ;
2837};
2838#line 10 "include/linux/migrate_mode.h"
2839enum migrate_mode {
2840 MIGRATE_ASYNC = 0,
2841 MIGRATE_SYNC_LIGHT = 1,
2842 MIGRATE_SYNC = 2
2843} ;
2844#line 408 "include/linux/fs.h"
2845struct export_operations;
2846#line 408
2847struct export_operations;
2848#line 409
2849struct hd_geometry;
2850#line 409
2851struct hd_geometry;
2852#line 410
2853struct iovec;
2854#line 411
2855struct nameidata;
2856#line 412
2857struct kiocb;
2858#line 413
2859struct kobject;
2860#line 414
2861struct pipe_inode_info;
2862#line 415
2863struct poll_table_struct;
2864#line 415
2865struct poll_table_struct;
2866#line 416
2867struct kstatfs;
2868#line 416
2869struct kstatfs;
2870#line 417
2871struct vm_area_struct;
2872#line 418
2873struct vfsmount;
2874#line 419
2875struct cred;
2876#line 469 "include/linux/fs.h"
2877struct iattr {
2878 unsigned int ia_valid ;
2879 umode_t ia_mode ;
2880 uid_t ia_uid ;
2881 gid_t ia_gid ;
2882 loff_t ia_size ;
2883 struct timespec ia_atime ;
2884 struct timespec ia_mtime ;
2885 struct timespec ia_ctime ;
2886 struct file *ia_file ;
2887};
2888#line 129 "include/linux/quota.h"
2889struct if_dqinfo {
2890 __u64 dqi_bgrace ;
2891 __u64 dqi_igrace ;
2892 __u32 dqi_flags ;
2893 __u32 dqi_valid ;
2894};
2895#line 50 "include/linux/dqblk_xfs.h"
2896struct fs_disk_quota {
2897 __s8 d_version ;
2898 __s8 d_flags ;
2899 __u16 d_fieldmask ;
2900 __u32 d_id ;
2901 __u64 d_blk_hardlimit ;
2902 __u64 d_blk_softlimit ;
2903 __u64 d_ino_hardlimit ;
2904 __u64 d_ino_softlimit ;
2905 __u64 d_bcount ;
2906 __u64 d_icount ;
2907 __s32 d_itimer ;
2908 __s32 d_btimer ;
2909 __u16 d_iwarns ;
2910 __u16 d_bwarns ;
2911 __s32 d_padding2 ;
2912 __u64 d_rtb_hardlimit ;
2913 __u64 d_rtb_softlimit ;
2914 __u64 d_rtbcount ;
2915 __s32 d_rtbtimer ;
2916 __u16 d_rtbwarns ;
2917 __s16 d_padding3 ;
2918 char d_padding4[8] ;
2919};
2920#line 146 "include/linux/dqblk_xfs.h"
2921struct fs_qfilestat {
2922 __u64 qfs_ino ;
2923 __u64 qfs_nblks ;
2924 __u32 qfs_nextents ;
2925};
2926#line 146 "include/linux/dqblk_xfs.h"
2927typedef struct fs_qfilestat fs_qfilestat_t;
2928#line 152 "include/linux/dqblk_xfs.h"
2929struct fs_quota_stat {
2930 __s8 qs_version ;
2931 __u16 qs_flags ;
2932 __s8 qs_pad ;
2933 fs_qfilestat_t qs_uquota ;
2934 fs_qfilestat_t qs_gquota ;
2935 __u32 qs_incoredqs ;
2936 __s32 qs_btimelimit ;
2937 __s32 qs_itimelimit ;
2938 __s32 qs_rtbtimelimit ;
2939 __u16 qs_bwarnlimit ;
2940 __u16 qs_iwarnlimit ;
2941};
2942#line 17 "include/linux/dqblk_qtree.h"
2943struct dquot;
2944#line 17
2945struct dquot;
2946#line 185 "include/linux/quota.h"
2947typedef __kernel_uid32_t qid_t;
2948#line 186 "include/linux/quota.h"
2949typedef long long qsize_t;
2950#line 200 "include/linux/quota.h"
2951struct mem_dqblk {
2952 qsize_t dqb_bhardlimit ;
2953 qsize_t dqb_bsoftlimit ;
2954 qsize_t dqb_curspace ;
2955 qsize_t dqb_rsvspace ;
2956 qsize_t dqb_ihardlimit ;
2957 qsize_t dqb_isoftlimit ;
2958 qsize_t dqb_curinodes ;
2959 time_t dqb_btime ;
2960 time_t dqb_itime ;
2961};
2962#line 215
2963struct quota_format_type;
2964#line 215
2965struct quota_format_type;
2966#line 217 "include/linux/quota.h"
2967struct mem_dqinfo {
2968 struct quota_format_type *dqi_format ;
2969 int dqi_fmt_id ;
2970 struct list_head dqi_dirty_list ;
2971 unsigned long dqi_flags ;
2972 unsigned int dqi_bgrace ;
2973 unsigned int dqi_igrace ;
2974 qsize_t dqi_maxblimit ;
2975 qsize_t dqi_maxilimit ;
2976 void *dqi_priv ;
2977};
2978#line 230
2979struct super_block;
2980#line 288 "include/linux/quota.h"
2981struct dquot {
2982 struct hlist_node dq_hash ;
2983 struct list_head dq_inuse ;
2984 struct list_head dq_free ;
2985 struct list_head dq_dirty ;
2986 struct mutex dq_lock ;
2987 atomic_t dq_count ;
2988 wait_queue_head_t dq_wait_unused ;
2989 struct super_block *dq_sb ;
2990 unsigned int dq_id ;
2991 loff_t dq_off ;
2992 unsigned long dq_flags ;
2993 short dq_type ;
2994 struct mem_dqblk dq_dqb ;
2995};
2996#line 305 "include/linux/quota.h"
2997struct quota_format_ops {
2998 int (*check_quota_file)(struct super_block *sb , int type ) ;
2999 int (*read_file_info)(struct super_block *sb , int type ) ;
3000 int (*write_file_info)(struct super_block *sb , int type ) ;
3001 int (*free_file_info)(struct super_block *sb , int type ) ;
3002 int (*read_dqblk)(struct dquot *dquot ) ;
3003 int (*commit_dqblk)(struct dquot *dquot ) ;
3004 int (*release_dqblk)(struct dquot *dquot ) ;
3005};
3006#line 316 "include/linux/quota.h"
3007struct dquot_operations {
3008 int (*write_dquot)(struct dquot * ) ;
3009 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3010 void (*destroy_dquot)(struct dquot * ) ;
3011 int (*acquire_dquot)(struct dquot * ) ;
3012 int (*release_dquot)(struct dquot * ) ;
3013 int (*mark_dirty)(struct dquot * ) ;
3014 int (*write_info)(struct super_block * , int ) ;
3015 qsize_t *(*get_reserved_space)(struct inode * ) ;
3016};
3017#line 329
3018struct path;
3019#line 332 "include/linux/quota.h"
3020struct quotactl_ops {
3021 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3022 int (*quota_on_meta)(struct super_block * , int , int ) ;
3023 int (*quota_off)(struct super_block * , int ) ;
3024 int (*quota_sync)(struct super_block * , int , int ) ;
3025 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3026 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3027 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3028 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3029 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3030 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3031};
3032#line 345 "include/linux/quota.h"
3033struct quota_format_type {
3034 int qf_fmt_id ;
3035 struct quota_format_ops const *qf_ops ;
3036 struct module *qf_owner ;
3037 struct quota_format_type *qf_next ;
3038};
3039#line 399 "include/linux/quota.h"
3040struct quota_info {
3041 unsigned int flags ;
3042 struct mutex dqio_mutex ;
3043 struct mutex dqonoff_mutex ;
3044 struct rw_semaphore dqptr_sem ;
3045 struct inode *files[2] ;
3046 struct mem_dqinfo info[2] ;
3047 struct quota_format_ops const *ops[2] ;
3048};
3049#line 532 "include/linux/fs.h"
3050struct page;
3051#line 533
3052struct address_space;
3053#line 534
3054struct writeback_control;
3055#line 577 "include/linux/fs.h"
3056union __anonunion_arg_239 {
3057 char *buf ;
3058 void *data ;
3059};
3060#line 577 "include/linux/fs.h"
3061struct __anonstruct_read_descriptor_t_238 {
3062 size_t written ;
3063 size_t count ;
3064 union __anonunion_arg_239 arg ;
3065 int error ;
3066};
3067#line 577 "include/linux/fs.h"
3068typedef struct __anonstruct_read_descriptor_t_238 read_descriptor_t;
3069#line 590 "include/linux/fs.h"
3070struct address_space_operations {
3071 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3072 int (*readpage)(struct file * , struct page * ) ;
3073 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3074 int (*set_page_dirty)(struct page *page ) ;
3075 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3076 unsigned int nr_pages ) ;
3077 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3078 unsigned int len , unsigned int flags , struct page **pagep ,
3079 void **fsdata ) ;
3080 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3081 unsigned int copied , struct page *page , void *fsdata ) ;
3082 sector_t (*bmap)(struct address_space * , sector_t ) ;
3083 void (*invalidatepage)(struct page * , unsigned long ) ;
3084 int (*releasepage)(struct page * , gfp_t ) ;
3085 void (*freepage)(struct page * ) ;
3086 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3087 unsigned long nr_segs ) ;
3088 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3089 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
3090 int (*launder_page)(struct page * ) ;
3091 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3092 int (*error_remove_page)(struct address_space * , struct page * ) ;
3093};
3094#line 645
3095struct backing_dev_info;
3096#line 646 "include/linux/fs.h"
3097struct address_space {
3098 struct inode *host ;
3099 struct radix_tree_root page_tree ;
3100 spinlock_t tree_lock ;
3101 unsigned int i_mmap_writable ;
3102 struct prio_tree_root i_mmap ;
3103 struct list_head i_mmap_nonlinear ;
3104 struct mutex i_mmap_mutex ;
3105 unsigned long nrpages ;
3106 unsigned long writeback_index ;
3107 struct address_space_operations const *a_ops ;
3108 unsigned long flags ;
3109 struct backing_dev_info *backing_dev_info ;
3110 spinlock_t private_lock ;
3111 struct list_head private_list ;
3112 struct address_space *assoc_mapping ;
3113} __attribute__((__aligned__(sizeof(long )))) ;
3114#line 669
3115struct request_queue;
3116#line 669
3117struct request_queue;
3118#line 671
3119struct hd_struct;
3120#line 671
3121struct gendisk;
3122#line 671 "include/linux/fs.h"
3123struct block_device {
3124 dev_t bd_dev ;
3125 int bd_openers ;
3126 struct inode *bd_inode ;
3127 struct super_block *bd_super ;
3128 struct mutex bd_mutex ;
3129 struct list_head bd_inodes ;
3130 void *bd_claiming ;
3131 void *bd_holder ;
3132 int bd_holders ;
3133 bool bd_write_holder ;
3134 struct list_head bd_holder_disks ;
3135 struct block_device *bd_contains ;
3136 unsigned int bd_block_size ;
3137 struct hd_struct *bd_part ;
3138 unsigned int bd_part_count ;
3139 int bd_invalidated ;
3140 struct gendisk *bd_disk ;
3141 struct request_queue *bd_queue ;
3142 struct list_head bd_list ;
3143 unsigned long bd_private ;
3144 int bd_fsfreeze_count ;
3145 struct mutex bd_fsfreeze_mutex ;
3146};
3147#line 749
3148struct posix_acl;
3149#line 749
3150struct posix_acl;
3151#line 761
3152struct inode_operations;
3153#line 761 "include/linux/fs.h"
3154union __anonunion____missing_field_name_240 {
3155 unsigned int const i_nlink ;
3156 unsigned int __i_nlink ;
3157};
3158#line 761 "include/linux/fs.h"
3159union __anonunion____missing_field_name_241 {
3160 struct list_head i_dentry ;
3161 struct rcu_head i_rcu ;
3162};
3163#line 761
3164struct file_operations;
3165#line 761
3166struct file_lock;
3167#line 761
3168struct cdev;
3169#line 761 "include/linux/fs.h"
3170union __anonunion____missing_field_name_242 {
3171 struct pipe_inode_info *i_pipe ;
3172 struct block_device *i_bdev ;
3173 struct cdev *i_cdev ;
3174};
3175#line 761 "include/linux/fs.h"
3176struct inode {
3177 umode_t i_mode ;
3178 unsigned short i_opflags ;
3179 uid_t i_uid ;
3180 gid_t i_gid ;
3181 unsigned int i_flags ;
3182 struct posix_acl *i_acl ;
3183 struct posix_acl *i_default_acl ;
3184 struct inode_operations const *i_op ;
3185 struct super_block *i_sb ;
3186 struct address_space *i_mapping ;
3187 void *i_security ;
3188 unsigned long i_ino ;
3189 union __anonunion____missing_field_name_240 __annonCompField44 ;
3190 dev_t i_rdev ;
3191 struct timespec i_atime ;
3192 struct timespec i_mtime ;
3193 struct timespec i_ctime ;
3194 spinlock_t i_lock ;
3195 unsigned short i_bytes ;
3196 blkcnt_t i_blocks ;
3197 loff_t i_size ;
3198 unsigned long i_state ;
3199 struct mutex i_mutex ;
3200 unsigned long dirtied_when ;
3201 struct hlist_node i_hash ;
3202 struct list_head i_wb_list ;
3203 struct list_head i_lru ;
3204 struct list_head i_sb_list ;
3205 union __anonunion____missing_field_name_241 __annonCompField45 ;
3206 atomic_t i_count ;
3207 unsigned int i_blkbits ;
3208 u64 i_version ;
3209 atomic_t i_dio_count ;
3210 atomic_t i_writecount ;
3211 struct file_operations const *i_fop ;
3212 struct file_lock *i_flock ;
3213 struct address_space i_data ;
3214 struct dquot *i_dquot[2] ;
3215 struct list_head i_devices ;
3216 union __anonunion____missing_field_name_242 __annonCompField46 ;
3217 __u32 i_generation ;
3218 __u32 i_fsnotify_mask ;
3219 struct hlist_head i_fsnotify_marks ;
3220 atomic_t i_readcount ;
3221 void *i_private ;
3222};
3223#line 942 "include/linux/fs.h"
3224struct fown_struct {
3225 rwlock_t lock ;
3226 struct pid *pid ;
3227 enum pid_type pid_type ;
3228 uid_t uid ;
3229 uid_t euid ;
3230 int signum ;
3231};
3232#line 953 "include/linux/fs.h"
3233struct file_ra_state {
3234 unsigned long start ;
3235 unsigned int size ;
3236 unsigned int async_size ;
3237 unsigned int ra_pages ;
3238 unsigned int mmap_miss ;
3239 loff_t prev_pos ;
3240};
3241#line 976 "include/linux/fs.h"
3242union __anonunion_f_u_243 {
3243 struct list_head fu_list ;
3244 struct rcu_head fu_rcuhead ;
3245};
3246#line 976 "include/linux/fs.h"
3247struct file {
3248 union __anonunion_f_u_243 f_u ;
3249 struct path f_path ;
3250 struct file_operations const *f_op ;
3251 spinlock_t f_lock ;
3252 int f_sb_list_cpu ;
3253 atomic_long_t f_count ;
3254 unsigned int f_flags ;
3255 fmode_t f_mode ;
3256 loff_t f_pos ;
3257 struct fown_struct f_owner ;
3258 struct cred const *f_cred ;
3259 struct file_ra_state f_ra ;
3260 u64 f_version ;
3261 void *f_security ;
3262 void *private_data ;
3263 struct list_head f_ep_links ;
3264 struct list_head f_tfile_llink ;
3265 struct address_space *f_mapping ;
3266 unsigned long f_mnt_write_state ;
3267};
3268#line 1111 "include/linux/fs.h"
3269typedef struct files_struct *fl_owner_t;
3270#line 1113 "include/linux/fs.h"
3271struct file_lock_operations {
3272 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3273 void (*fl_release_private)(struct file_lock * ) ;
3274};
3275#line 1118 "include/linux/fs.h"
3276struct lock_manager_operations {
3277 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3278 void (*lm_notify)(struct file_lock * ) ;
3279 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
3280 void (*lm_release_private)(struct file_lock * ) ;
3281 void (*lm_break)(struct file_lock * ) ;
3282 int (*lm_change)(struct file_lock ** , int ) ;
3283};
3284#line 4 "include/linux/nfs_fs_i.h"
3285struct nlm_lockowner;
3286#line 4
3287struct nlm_lockowner;
3288#line 9 "include/linux/nfs_fs_i.h"
3289struct nfs_lock_info {
3290 u32 state ;
3291 struct nlm_lockowner *owner ;
3292 struct list_head list ;
3293};
3294#line 15
3295struct nfs4_lock_state;
3296#line 15
3297struct nfs4_lock_state;
3298#line 16 "include/linux/nfs_fs_i.h"
3299struct nfs4_lock_info {
3300 struct nfs4_lock_state *owner ;
3301};
3302#line 1138 "include/linux/fs.h"
3303struct fasync_struct;
3304#line 1138 "include/linux/fs.h"
3305struct __anonstruct_afs_245 {
3306 struct list_head link ;
3307 int state ;
3308};
3309#line 1138 "include/linux/fs.h"
3310union __anonunion_fl_u_244 {
3311 struct nfs_lock_info nfs_fl ;
3312 struct nfs4_lock_info nfs4_fl ;
3313 struct __anonstruct_afs_245 afs ;
3314};
3315#line 1138 "include/linux/fs.h"
3316struct file_lock {
3317 struct file_lock *fl_next ;
3318 struct list_head fl_link ;
3319 struct list_head fl_block ;
3320 fl_owner_t fl_owner ;
3321 unsigned int fl_flags ;
3322 unsigned char fl_type ;
3323 unsigned int fl_pid ;
3324 struct pid *fl_nspid ;
3325 wait_queue_head_t fl_wait ;
3326 struct file *fl_file ;
3327 loff_t fl_start ;
3328 loff_t fl_end ;
3329 struct fasync_struct *fl_fasync ;
3330 unsigned long fl_break_time ;
3331 unsigned long fl_downgrade_time ;
3332 struct file_lock_operations const *fl_ops ;
3333 struct lock_manager_operations const *fl_lmops ;
3334 union __anonunion_fl_u_244 fl_u ;
3335};
3336#line 1378 "include/linux/fs.h"
3337struct fasync_struct {
3338 spinlock_t fa_lock ;
3339 int magic ;
3340 int fa_fd ;
3341 struct fasync_struct *fa_next ;
3342 struct file *fa_file ;
3343 struct rcu_head fa_rcu ;
3344};
3345#line 1418
3346struct file_system_type;
3347#line 1418
3348struct super_operations;
3349#line 1418
3350struct xattr_handler;
3351#line 1418
3352struct mtd_info;
3353#line 1418 "include/linux/fs.h"
3354struct super_block {
3355 struct list_head s_list ;
3356 dev_t s_dev ;
3357 unsigned char s_dirt ;
3358 unsigned char s_blocksize_bits ;
3359 unsigned long s_blocksize ;
3360 loff_t s_maxbytes ;
3361 struct file_system_type *s_type ;
3362 struct super_operations const *s_op ;
3363 struct dquot_operations const *dq_op ;
3364 struct quotactl_ops const *s_qcop ;
3365 struct export_operations const *s_export_op ;
3366 unsigned long s_flags ;
3367 unsigned long s_magic ;
3368 struct dentry *s_root ;
3369 struct rw_semaphore s_umount ;
3370 struct mutex s_lock ;
3371 int s_count ;
3372 atomic_t s_active ;
3373 void *s_security ;
3374 struct xattr_handler const **s_xattr ;
3375 struct list_head s_inodes ;
3376 struct hlist_bl_head s_anon ;
3377 struct list_head *s_files ;
3378 struct list_head s_mounts ;
3379 struct list_head s_dentry_lru ;
3380 int s_nr_dentry_unused ;
3381 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
3382 struct list_head s_inode_lru ;
3383 int s_nr_inodes_unused ;
3384 struct block_device *s_bdev ;
3385 struct backing_dev_info *s_bdi ;
3386 struct mtd_info *s_mtd ;
3387 struct hlist_node s_instances ;
3388 struct quota_info s_dquot ;
3389 int s_frozen ;
3390 wait_queue_head_t s_wait_unfrozen ;
3391 char s_id[32] ;
3392 u8 s_uuid[16] ;
3393 void *s_fs_info ;
3394 unsigned int s_max_links ;
3395 fmode_t s_mode ;
3396 u32 s_time_gran ;
3397 struct mutex s_vfs_rename_mutex ;
3398 char *s_subtype ;
3399 char *s_options ;
3400 struct dentry_operations const *s_d_op ;
3401 int cleancache_poolid ;
3402 struct shrinker s_shrink ;
3403 atomic_long_t s_remove_count ;
3404 int s_readonly_remount ;
3405};
3406#line 1567 "include/linux/fs.h"
3407struct fiemap_extent_info {
3408 unsigned int fi_flags ;
3409 unsigned int fi_extents_mapped ;
3410 unsigned int fi_extents_max ;
3411 struct fiemap_extent *fi_extents_start ;
3412};
3413#line 1601
3414struct block_device_operations;
3415#line 1601
3416struct block_device_operations;
3417#line 1609 "include/linux/fs.h"
3418struct file_operations {
3419 struct module *owner ;
3420 loff_t (*llseek)(struct file * , loff_t , int ) ;
3421 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3422 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3423 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3424 loff_t ) ;
3425 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3426 loff_t ) ;
3427 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3428 loff_t , u64 , unsigned int ) ) ;
3429 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3430 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3431 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3432 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3433 int (*open)(struct inode * , struct file * ) ;
3434 int (*flush)(struct file * , fl_owner_t id ) ;
3435 int (*release)(struct inode * , struct file * ) ;
3436 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
3437 int (*aio_fsync)(struct kiocb * , int datasync ) ;
3438 int (*fasync)(int , struct file * , int ) ;
3439 int (*lock)(struct file * , int , struct file_lock * ) ;
3440 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3441 int ) ;
3442 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3443 unsigned long , unsigned long ) ;
3444 int (*check_flags)(int ) ;
3445 int (*flock)(struct file * , int , struct file_lock * ) ;
3446 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3447 unsigned int ) ;
3448 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3449 unsigned int ) ;
3450 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3451 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
3452};
3453#line 1639 "include/linux/fs.h"
3454struct inode_operations {
3455 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3456 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3457 int (*permission)(struct inode * , int ) ;
3458 struct posix_acl *(*get_acl)(struct inode * , int ) ;
3459 int (*readlink)(struct dentry * , char * , int ) ;
3460 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3461 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
3462 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3463 int (*unlink)(struct inode * , struct dentry * ) ;
3464 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3465 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
3466 int (*rmdir)(struct inode * , struct dentry * ) ;
3467 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
3468 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3469 void (*truncate)(struct inode * ) ;
3470 int (*setattr)(struct dentry * , struct iattr * ) ;
3471 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
3472 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3473 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3474 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3475 int (*removexattr)(struct dentry * , char const * ) ;
3476 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3477 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
3478} __attribute__((__aligned__((1) << (6) ))) ;
3479#line 1669
3480struct seq_file;
3481#line 1684 "include/linux/fs.h"
3482struct super_operations {
3483 struct inode *(*alloc_inode)(struct super_block *sb ) ;
3484 void (*destroy_inode)(struct inode * ) ;
3485 void (*dirty_inode)(struct inode * , int flags ) ;
3486 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
3487 int (*drop_inode)(struct inode * ) ;
3488 void (*evict_inode)(struct inode * ) ;
3489 void (*put_super)(struct super_block * ) ;
3490 void (*write_super)(struct super_block * ) ;
3491 int (*sync_fs)(struct super_block *sb , int wait ) ;
3492 int (*freeze_fs)(struct super_block * ) ;
3493 int (*unfreeze_fs)(struct super_block * ) ;
3494 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3495 int (*remount_fs)(struct super_block * , int * , char * ) ;
3496 void (*umount_begin)(struct super_block * ) ;
3497 int (*show_options)(struct seq_file * , struct dentry * ) ;
3498 int (*show_devname)(struct seq_file * , struct dentry * ) ;
3499 int (*show_path)(struct seq_file * , struct dentry * ) ;
3500 int (*show_stats)(struct seq_file * , struct dentry * ) ;
3501 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3502 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3503 loff_t ) ;
3504 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3505 int (*nr_cached_objects)(struct super_block * ) ;
3506 void (*free_cached_objects)(struct super_block * , int ) ;
3507};
3508#line 1835 "include/linux/fs.h"
3509struct file_system_type {
3510 char const *name ;
3511 int fs_flags ;
3512 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3513 void (*kill_sb)(struct super_block * ) ;
3514 struct module *owner ;
3515 struct file_system_type *next ;
3516 struct hlist_head fs_supers ;
3517 struct lock_class_key s_lock_key ;
3518 struct lock_class_key s_umount_key ;
3519 struct lock_class_key s_vfs_rename_key ;
3520 struct lock_class_key i_lock_key ;
3521 struct lock_class_key i_mutex_key ;
3522 struct lock_class_key i_mutex_dir_key ;
3523};
3524#line 82 "include/linux/genhd.h"
3525struct disk_stats {
3526 unsigned long sectors[2] ;
3527 unsigned long ios[2] ;
3528 unsigned long merges[2] ;
3529 unsigned long ticks[2] ;
3530 unsigned long io_ticks ;
3531 unsigned long time_in_queue ;
3532};
3533#line 94 "include/linux/genhd.h"
3534struct partition_meta_info {
3535 u8 uuid[16] ;
3536 u8 volname[64] ;
3537};
3538#line 99 "include/linux/genhd.h"
3539struct hd_struct {
3540 sector_t start_sect ;
3541 sector_t nr_sects ;
3542 sector_t alignment_offset ;
3543 unsigned int discard_alignment ;
3544 struct device __dev ;
3545 struct kobject *holder_dir ;
3546 int policy ;
3547 int partno ;
3548 struct partition_meta_info *info ;
3549 int make_it_fail ;
3550 unsigned long stamp ;
3551 atomic_t in_flight[2] ;
3552 struct disk_stats *dkstats ;
3553 atomic_t ref ;
3554 struct rcu_head rcu_head ;
3555};
3556#line 147 "include/linux/genhd.h"
3557struct disk_part_tbl {
3558 struct rcu_head rcu_head ;
3559 int len ;
3560 struct hd_struct *last_lookup ;
3561 struct hd_struct *part[] ;
3562};
3563#line 154
3564struct disk_events;
3565#line 154
3566struct disk_events;
3567#line 156
3568struct timer_rand_state;
3569#line 156
3570struct blk_integrity;
3571#line 156 "include/linux/genhd.h"
3572struct gendisk {
3573 int major ;
3574 int first_minor ;
3575 int minors ;
3576 char disk_name[32] ;
3577 char *(*devnode)(struct gendisk *gd , umode_t *mode ) ;
3578 unsigned int events ;
3579 unsigned int async_events ;
3580 struct disk_part_tbl *part_tbl ;
3581 struct hd_struct part0 ;
3582 struct block_device_operations const *fops ;
3583 struct request_queue *queue ;
3584 void *private_data ;
3585 int flags ;
3586 struct device *driverfs_dev ;
3587 struct kobject *slave_dir ;
3588 struct timer_rand_state *random ;
3589 atomic_t sync_io ;
3590 struct disk_events *ev ;
3591 struct blk_integrity *integrity ;
3592 int node_id ;
3593};
3594#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
3595struct exception_table_entry {
3596 unsigned long insn ;
3597 unsigned long fixup ;
3598};
3599#line 31 "include/linux/irq.h"
3600struct seq_file;
3601#line 32
3602struct module;
3603#line 12 "include/linux/irqdesc.h"
3604struct proc_dir_entry;
3605#line 12
3606struct proc_dir_entry;
3607#line 13
3608struct timer_rand_state;
3609#line 14
3610struct module;
3611#line 16 "include/linux/profile.h"
3612struct proc_dir_entry;
3613#line 17
3614struct pt_regs;
3615#line 65
3616struct task_struct;
3617#line 66
3618struct mm_struct;
3619#line 88
3620struct pt_regs;
3621#line 132 "include/linux/hardirq.h"
3622struct task_struct;
3623#line 28 "include/linux/writeback.h"
3624struct backing_dev_info;
3625#line 33
3626enum writeback_sync_modes {
3627 WB_SYNC_NONE = 0,
3628 WB_SYNC_ALL = 1
3629} ;
3630#line 60 "include/linux/writeback.h"
3631struct writeback_control {
3632 enum writeback_sync_modes sync_mode ;
3633 long nr_to_write ;
3634 long pages_skipped ;
3635 loff_t range_start ;
3636 loff_t range_end ;
3637 unsigned int for_kupdate : 1 ;
3638 unsigned int for_background : 1 ;
3639 unsigned int tagged_writepages : 1 ;
3640 unsigned int for_reclaim : 1 ;
3641 unsigned int range_cyclic : 1 ;
3642};
3643#line 84
3644struct bdi_writeback;
3645#line 84
3646struct bdi_writeback;
3647#line 21 "include/linux/backing-dev.h"
3648struct page;
3649#line 22
3650struct device;
3651#line 23
3652struct dentry;
3653#line 38 "include/linux/backing-dev.h"
3654typedef int congested_fn(void * , int );
3655#line 50 "include/linux/backing-dev.h"
3656struct bdi_writeback {
3657 struct backing_dev_info *bdi ;
3658 unsigned int nr ;
3659 unsigned long last_old_flush ;
3660 unsigned long last_active ;
3661 struct task_struct *task ;
3662 struct timer_list wakeup_timer ;
3663 struct list_head b_dirty ;
3664 struct list_head b_io ;
3665 struct list_head b_more_io ;
3666 spinlock_t list_lock ;
3667};
3668#line 65 "include/linux/backing-dev.h"
3669struct backing_dev_info {
3670 struct list_head bdi_list ;
3671 unsigned long ra_pages ;
3672 unsigned long state ;
3673 unsigned int capabilities ;
3674 congested_fn *congested_fn ;
3675 void *congested_data ;
3676 char *name ;
3677 struct percpu_counter bdi_stat[4] ;
3678 unsigned long bw_time_stamp ;
3679 unsigned long dirtied_stamp ;
3680 unsigned long written_stamp ;
3681 unsigned long write_bandwidth ;
3682 unsigned long avg_write_bandwidth ;
3683 unsigned long dirty_ratelimit ;
3684 unsigned long balanced_dirty_ratelimit ;
3685 struct prop_local_percpu completions ;
3686 int dirty_exceeded ;
3687 unsigned int min_ratio ;
3688 unsigned int max_ratio ;
3689 unsigned int max_prop_frac ;
3690 struct bdi_writeback wb ;
3691 spinlock_t wb_lock ;
3692 struct list_head work_list ;
3693 struct device *dev ;
3694 struct timer_list laptop_mode_wb_timer ;
3695 struct dentry *debug_dir ;
3696 struct dentry *debug_stats ;
3697};
3698#line 9 "include/linux/mempool.h"
3699struct kmem_cache;
3700#line 11 "include/linux/mempool.h"
3701typedef void *mempool_alloc_t(gfp_t gfp_mask , void *pool_data );
3702#line 12 "include/linux/mempool.h"
3703typedef void mempool_free_t(void *element , void *pool_data );
3704#line 14 "include/linux/mempool.h"
3705struct mempool_s {
3706 spinlock_t lock ;
3707 int min_nr ;
3708 int curr_nr ;
3709 void **elements ;
3710 void *pool_data ;
3711 mempool_alloc_t *alloc ;
3712 mempool_free_t *free ;
3713 wait_queue_head_t wait ;
3714};
3715#line 14 "include/linux/mempool.h"
3716typedef struct mempool_s mempool_t;
3717#line 75 "include/linux/iocontext.h"
3718union __anonunion____missing_field_name_256 {
3719 struct list_head q_node ;
3720 struct kmem_cache *__rcu_icq_cache ;
3721};
3722#line 75 "include/linux/iocontext.h"
3723union __anonunion____missing_field_name_257 {
3724 struct hlist_node ioc_node ;
3725 struct rcu_head __rcu_head ;
3726};
3727#line 75 "include/linux/iocontext.h"
3728struct io_cq {
3729 struct request_queue *q ;
3730 struct io_context *ioc ;
3731 union __anonunion____missing_field_name_256 __annonCompField47 ;
3732 union __anonunion____missing_field_name_257 __annonCompField48 ;
3733 unsigned int flags ;
3734};
3735#line 101 "include/linux/iocontext.h"
3736struct io_context {
3737 atomic_long_t refcount ;
3738 atomic_t nr_tasks ;
3739 spinlock_t lock ;
3740 unsigned short ioprio ;
3741 int nr_batch_requests ;
3742 unsigned long last_waited ;
3743 struct radix_tree_root icq_tree ;
3744 struct io_cq *icq_hint ;
3745 struct hlist_head icq_list ;
3746 struct work_struct release_work ;
3747};
3748#line 137
3749struct task_struct;
3750#line 170 "include/linux/bio.h"
3751struct bio_integrity_payload {
3752 struct bio *bip_bio ;
3753 sector_t bip_sector ;
3754 void *bip_buf ;
3755 bio_end_io_t *bip_end_io ;
3756 unsigned int bip_size ;
3757 unsigned short bip_slab ;
3758 unsigned short bip_vcnt ;
3759 unsigned short bip_idx ;
3760 struct work_struct bip_work ;
3761 struct bio_vec bip_vec[0] ;
3762};
3763#line 222
3764struct request_queue;
3765#line 374 "include/linux/bio.h"
3766struct bio_list {
3767 struct bio *head ;
3768 struct bio *tail ;
3769};
3770#line 67 "include/linux/bsg.h"
3771struct bsg_class_device {
3772 struct device *class_dev ;
3773 struct device *parent ;
3774 int minor ;
3775 struct request_queue *queue ;
3776 struct kref ref ;
3777 void (*release)(struct device * ) ;
3778};
3779#line 25 "include/linux/blkdev.h"
3780struct module;
3781#line 28
3782struct request_queue;
3783#line 29
3784struct elevator_queue;
3785#line 29
3786struct elevator_queue;
3787#line 32
3788struct request;
3789#line 32
3790struct request;
3791#line 34
3792struct bsg_job;
3793#line 34
3794struct bsg_job;
3795#line 39
3796struct request;
3797#line 40 "include/linux/blkdev.h"
3798typedef void rq_end_io_fn(struct request * , int );
3799#line 42 "include/linux/blkdev.h"
3800struct request_list {
3801 int count[2] ;
3802 int starved[2] ;
3803 int elvpriv ;
3804 mempool_t *rq_pool ;
3805 wait_queue_head_t wait[2] ;
3806};
3807#line 57
3808enum rq_cmd_type_bits {
3809 REQ_TYPE_FS = 1,
3810 REQ_TYPE_BLOCK_PC = 2,
3811 REQ_TYPE_SENSE = 3,
3812 REQ_TYPE_PM_SUSPEND = 4,
3813 REQ_TYPE_PM_RESUME = 5,
3814 REQ_TYPE_PM_SHUTDOWN = 6,
3815 REQ_TYPE_SPECIAL = 7,
3816 REQ_TYPE_ATA_TASKFILE = 8,
3817 REQ_TYPE_ATA_PC = 9
3818} ;
3819#line 81 "include/linux/blkdev.h"
3820union __anonunion____missing_field_name_260 {
3821 struct rb_node rb_node ;
3822 void *completion_data ;
3823};
3824#line 81 "include/linux/blkdev.h"
3825struct __anonstruct_elv_262 {
3826 struct io_cq *icq ;
3827 void *priv[2] ;
3828};
3829#line 81 "include/linux/blkdev.h"
3830struct __anonstruct_flush_263 {
3831 unsigned int seq ;
3832 struct list_head list ;
3833 rq_end_io_fn *saved_end_io ;
3834};
3835#line 81 "include/linux/blkdev.h"
3836union __anonunion____missing_field_name_261 {
3837 struct __anonstruct_elv_262 elv ;
3838 struct __anonstruct_flush_263 flush ;
3839};
3840#line 81 "include/linux/blkdev.h"
3841struct request {
3842 struct list_head queuelist ;
3843 struct call_single_data csd ;
3844 struct request_queue *q ;
3845 unsigned int cmd_flags ;
3846 enum rq_cmd_type_bits cmd_type ;
3847 unsigned long atomic_flags ;
3848 int cpu ;
3849 unsigned int __data_len ;
3850 sector_t __sector ;
3851 struct bio *bio ;
3852 struct bio *biotail ;
3853 struct hlist_node hash ;
3854 union __anonunion____missing_field_name_260 __annonCompField49 ;
3855 union __anonunion____missing_field_name_261 __annonCompField50 ;
3856 struct gendisk *rq_disk ;
3857 struct hd_struct *part ;
3858 unsigned long start_time ;
3859 unsigned short nr_phys_segments ;
3860 unsigned short nr_integrity_segments ;
3861 unsigned short ioprio ;
3862 int ref_count ;
3863 void *special ;
3864 char *buffer ;
3865 int tag ;
3866 int errors ;
3867 unsigned char __cmd[16] ;
3868 unsigned char *cmd ;
3869 unsigned short cmd_len ;
3870 unsigned int extra_len ;
3871 unsigned int sense_len ;
3872 unsigned int resid_len ;
3873 void *sense ;
3874 unsigned long deadline ;
3875 struct list_head timeout_list ;
3876 unsigned int timeout ;
3877 int retries ;
3878 rq_end_io_fn *end_io ;
3879 void *end_io_data ;
3880 struct request *next_rq ;
3881};
3882#line 8 "include/linux/elevator.h"
3883struct io_cq;
3884#line 10 "include/linux/elevator.h"
3885typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
3886#line 13 "include/linux/elevator.h"
3887typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
3888#line 15 "include/linux/elevator.h"
3889typedef void elevator_merged_fn(struct request_queue * , struct request * , int );
3890#line 17 "include/linux/elevator.h"
3891typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
3892#line 19 "include/linux/elevator.h"
3893typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
3894#line 22 "include/linux/elevator.h"
3895typedef int elevator_dispatch_fn(struct request_queue * , int );
3896#line 24 "include/linux/elevator.h"
3897typedef void elevator_add_req_fn(struct request_queue * , struct request * );
3898#line 25 "include/linux/elevator.h"
3899typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
3900#line 26 "include/linux/elevator.h"
3901typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
3902#line 27 "include/linux/elevator.h"
3903typedef int elevator_may_queue_fn(struct request_queue * , int );
3904#line 29 "include/linux/elevator.h"
3905typedef void elevator_init_icq_fn(struct io_cq * );
3906#line 30 "include/linux/elevator.h"
3907typedef void elevator_exit_icq_fn(struct io_cq * );
3908#line 31 "include/linux/elevator.h"
3909typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t );
3910#line 32 "include/linux/elevator.h"
3911typedef void elevator_put_req_fn(struct request * );
3912#line 33 "include/linux/elevator.h"
3913typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
3914#line 34 "include/linux/elevator.h"
3915typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
3916#line 36 "include/linux/elevator.h"
3917typedef void *elevator_init_fn(struct request_queue * );
3918#line 37 "include/linux/elevator.h"
3919typedef void elevator_exit_fn(struct elevator_queue * );
3920#line 39 "include/linux/elevator.h"
3921struct elevator_ops {
3922 elevator_merge_fn *elevator_merge_fn ;
3923 elevator_merged_fn *elevator_merged_fn ;
3924 elevator_merge_req_fn *elevator_merge_req_fn ;
3925 elevator_allow_merge_fn *elevator_allow_merge_fn ;
3926 elevator_bio_merged_fn *elevator_bio_merged_fn ;
3927 elevator_dispatch_fn *elevator_dispatch_fn ;
3928 elevator_add_req_fn *elevator_add_req_fn ;
3929 elevator_activate_req_fn *elevator_activate_req_fn ;
3930 elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
3931 elevator_completed_req_fn *elevator_completed_req_fn ;
3932 elevator_request_list_fn *elevator_former_req_fn ;
3933 elevator_request_list_fn *elevator_latter_req_fn ;
3934 elevator_init_icq_fn *elevator_init_icq_fn ;
3935 elevator_exit_icq_fn *elevator_exit_icq_fn ;
3936 elevator_set_req_fn *elevator_set_req_fn ;
3937 elevator_put_req_fn *elevator_put_req_fn ;
3938 elevator_may_queue_fn *elevator_may_queue_fn ;
3939 elevator_init_fn *elevator_init_fn ;
3940 elevator_exit_fn *elevator_exit_fn ;
3941};
3942#line 71 "include/linux/elevator.h"
3943struct elv_fs_entry {
3944 struct attribute attr ;
3945 ssize_t (*show)(struct elevator_queue * , char * ) ;
3946 ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ;
3947};
3948#line 80 "include/linux/elevator.h"
3949struct elevator_type {
3950 struct kmem_cache *icq_cache ;
3951 struct elevator_ops ops ;
3952 size_t icq_size ;
3953 size_t icq_align ;
3954 struct elv_fs_entry *elevator_attrs ;
3955 char elevator_name[16] ;
3956 struct module *elevator_owner ;
3957 char icq_cache_name[21] ;
3958 struct list_head list ;
3959};
3960#line 101 "include/linux/elevator.h"
3961struct elevator_queue {
3962 struct elevator_type *type ;
3963 void *elevator_data ;
3964 struct kobject kobj ;
3965 struct mutex sysfs_lock ;
3966 struct hlist_head *hash ;
3967 unsigned int registered : 1 ;
3968};
3969#line 202 "include/linux/blkdev.h"
3970typedef void request_fn_proc(struct request_queue *q );
3971#line 203 "include/linux/blkdev.h"
3972typedef void make_request_fn(struct request_queue *q , struct bio *bio );
3973#line 204 "include/linux/blkdev.h"
3974typedef int prep_rq_fn(struct request_queue * , struct request * );
3975#line 205 "include/linux/blkdev.h"
3976typedef void unprep_rq_fn(struct request_queue * , struct request * );
3977#line 207
3978struct bio_vec;
3979#line 208 "include/linux/blkdev.h"
3980struct bvec_merge_data {
3981 struct block_device *bi_bdev ;
3982 sector_t bi_sector ;
3983 unsigned int bi_size ;
3984 unsigned long bi_rw ;
3985};
3986#line 214 "include/linux/blkdev.h"
3987typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
3988#line 216 "include/linux/blkdev.h"
3989typedef void softirq_done_fn(struct request * );
3990#line 217 "include/linux/blkdev.h"
3991typedef int dma_drain_needed_fn(struct request * );
3992#line 218 "include/linux/blkdev.h"
3993typedef int lld_busy_fn(struct request_queue *q );
3994#line 219 "include/linux/blkdev.h"
3995typedef int bsg_job_fn(struct bsg_job * );
3996#line 221
3997enum blk_eh_timer_return {
3998 BLK_EH_NOT_HANDLED = 0,
3999 BLK_EH_HANDLED = 1,
4000 BLK_EH_RESET_TIMER = 2
4001} ;
4002#line 227 "include/linux/blkdev.h"
4003typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
4004#line 234 "include/linux/blkdev.h"
4005struct blk_queue_tag {
4006 struct request **tag_index ;
4007 unsigned long *tag_map ;
4008 int busy ;
4009 int max_depth ;
4010 int real_max_depth ;
4011 atomic_t refcnt ;
4012};
4013#line 246 "include/linux/blkdev.h"
4014struct queue_limits {
4015 unsigned long bounce_pfn ;
4016 unsigned long seg_boundary_mask ;
4017 unsigned int max_hw_sectors ;
4018 unsigned int max_sectors ;
4019 unsigned int max_segment_size ;
4020 unsigned int physical_block_size ;
4021 unsigned int alignment_offset ;
4022 unsigned int io_min ;
4023 unsigned int io_opt ;
4024 unsigned int max_discard_sectors ;
4025 unsigned int discard_granularity ;
4026 unsigned int discard_alignment ;
4027 unsigned short logical_block_size ;
4028 unsigned short max_segments ;
4029 unsigned short max_integrity_segments ;
4030 unsigned char misaligned ;
4031 unsigned char discard_misaligned ;
4032 unsigned char cluster ;
4033 unsigned char discard_zeroes_data ;
4034};
4035#line 271 "include/linux/blkdev.h"
4036struct request_queue {
4037 struct list_head queue_head ;
4038 struct request *last_merge ;
4039 struct elevator_queue *elevator ;
4040 struct request_list rq ;
4041 request_fn_proc *request_fn ;
4042 make_request_fn *make_request_fn ;
4043 prep_rq_fn *prep_rq_fn ;
4044 unprep_rq_fn *unprep_rq_fn ;
4045 merge_bvec_fn *merge_bvec_fn ;
4046 softirq_done_fn *softirq_done_fn ;
4047 rq_timed_out_fn *rq_timed_out_fn ;
4048 dma_drain_needed_fn *dma_drain_needed ;
4049 lld_busy_fn *lld_busy_fn ;
4050 sector_t end_sector ;
4051 struct request *boundary_rq ;
4052 struct delayed_work delay_work ;
4053 struct backing_dev_info backing_dev_info ;
4054 void *queuedata ;
4055 unsigned long queue_flags ;
4056 int id ;
4057 gfp_t bounce_gfp ;
4058 spinlock_t __queue_lock ;
4059 spinlock_t *queue_lock ;
4060 struct kobject kobj ;
4061 unsigned long nr_requests ;
4062 unsigned int nr_congestion_on ;
4063 unsigned int nr_congestion_off ;
4064 unsigned int nr_batching ;
4065 unsigned int dma_drain_size ;
4066 void *dma_drain_buffer ;
4067 unsigned int dma_pad_mask ;
4068 unsigned int dma_alignment ;
4069 struct blk_queue_tag *queue_tags ;
4070 struct list_head tag_busy_list ;
4071 unsigned int nr_sorted ;
4072 unsigned int in_flight[2] ;
4073 unsigned int rq_timeout ;
4074 struct timer_list timeout ;
4075 struct list_head timeout_list ;
4076 struct list_head icq_list ;
4077 struct queue_limits limits ;
4078 unsigned int sg_timeout ;
4079 unsigned int sg_reserved_size ;
4080 int node ;
4081 unsigned int flush_flags ;
4082 unsigned int flush_not_queueable : 1 ;
4083 unsigned int flush_queue_delayed : 1 ;
4084 unsigned int flush_pending_idx : 1 ;
4085 unsigned int flush_running_idx : 1 ;
4086 unsigned long flush_pending_since ;
4087 struct list_head flush_queue[2] ;
4088 struct list_head flush_data_in_flight ;
4089 struct request flush_rq ;
4090 struct mutex sysfs_lock ;
4091 bsg_job_fn *bsg_job_fn ;
4092 int bsg_job_size ;
4093 struct bsg_class_device bsg_dev ;
4094};
4095#line 889 "include/linux/blkdev.h"
4096struct blk_plug {
4097 unsigned long magic ;
4098 struct list_head list ;
4099 struct list_head cb_list ;
4100 unsigned int should_sort ;
4101};
4102#line 1165
4103struct work_struct;
4104#line 1220 "include/linux/blkdev.h"
4105struct blk_integrity_exchg {
4106 void *prot_buf ;
4107 void *data_buf ;
4108 sector_t sector ;
4109 unsigned int data_size ;
4110 unsigned short sector_size ;
4111 char const *disk_name ;
4112};
4113#line 1229 "include/linux/blkdev.h"
4114typedef void integrity_gen_fn(struct blk_integrity_exchg * );
4115#line 1230 "include/linux/blkdev.h"
4116typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
4117#line 1231 "include/linux/blkdev.h"
4118typedef void integrity_set_tag_fn(void * , void * , unsigned int );
4119#line 1232 "include/linux/blkdev.h"
4120typedef void integrity_get_tag_fn(void * , void * , unsigned int );
4121#line 1234 "include/linux/blkdev.h"
4122struct blk_integrity {
4123 integrity_gen_fn *generate_fn ;
4124 integrity_vrfy_fn *verify_fn ;
4125 integrity_set_tag_fn *set_tag_fn ;
4126 integrity_get_tag_fn *get_tag_fn ;
4127 unsigned short flags ;
4128 unsigned short tuple_size ;
4129 unsigned short sector_size ;
4130 unsigned short tag_size ;
4131 char const *name ;
4132 struct kobject kobj ;
4133};
4134#line 1362 "include/linux/blkdev.h"
4135struct block_device_operations {
4136 int (*open)(struct block_device * , fmode_t ) ;
4137 int (*release)(struct gendisk * , fmode_t ) ;
4138 int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4139 int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4140 int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ;
4141 unsigned int (*check_events)(struct gendisk *disk , unsigned int clearing ) ;
4142 int (*media_changed)(struct gendisk * ) ;
4143 void (*unlock_native_capacity)(struct gendisk * ) ;
4144 int (*revalidate_disk)(struct gendisk * ) ;
4145 int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
4146 void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ;
4147 struct module *owner ;
4148};
4149#line 11 "include/scsi/scsi_cmnd.h"
4150struct Scsi_Host;
4151#line 11
4152struct Scsi_Host;
4153#line 12
4154struct scsi_device;
4155#line 12
4156struct scsi_device;
4157#line 32 "include/scsi/scsi_cmnd.h"
4158struct scsi_data_buffer {
4159 struct sg_table table ;
4160 unsigned int length ;
4161 int resid ;
4162};
4163#line 39 "include/scsi/scsi_cmnd.h"
4164struct scsi_pointer {
4165 char *ptr ;
4166 int this_residual ;
4167 struct scatterlist *buffer ;
4168 int buffers_residual ;
4169 dma_addr_t dma_handle ;
4170 int volatile Status ;
4171 int volatile Message ;
4172 int volatile have_data_in ;
4173 int volatile sent_command ;
4174 int volatile phase ;
4175};
4176#line 54 "include/scsi/scsi_cmnd.h"
4177struct scsi_cmnd {
4178 struct scsi_device *device ;
4179 struct list_head list ;
4180 struct list_head eh_entry ;
4181 int eh_eflags ;
4182 unsigned long serial_number ;
4183 unsigned long jiffies_at_alloc ;
4184 int retries ;
4185 int allowed ;
4186 unsigned char prot_op ;
4187 unsigned char prot_type ;
4188 unsigned short cmd_len ;
4189 enum dma_data_direction sc_data_direction ;
4190 unsigned char *cmnd ;
4191 struct scsi_data_buffer sdb ;
4192 struct scsi_data_buffer *prot_sdb ;
4193 unsigned int underflow ;
4194 unsigned int transfersize ;
4195 struct request *request ;
4196 unsigned char *sense_buffer ;
4197 void (*scsi_done)(struct scsi_cmnd * ) ;
4198 struct scsi_pointer SCp ;
4199 unsigned char *host_scribble ;
4200 int result ;
4201 unsigned char tag ;
4202};
4203#line 11 "include/scsi/scsi_device.h"
4204struct device;
4205#line 12
4206struct request_queue;
4207#line 13
4208struct scsi_cmnd;
4209#line 15
4210struct scsi_sense_hdr;
4211#line 15
4212struct scsi_sense_hdr;
4213#line 31
4214enum scsi_device_state {
4215 SDEV_CREATED = 1,
4216 SDEV_RUNNING = 2,
4217 SDEV_CANCEL = 3,
4218 SDEV_DEL = 4,
4219 SDEV_QUIESCE = 5,
4220 SDEV_OFFLINE = 6,
4221 SDEV_BLOCK = 7,
4222 SDEV_CREATED_BLOCK = 8
4223} ;
4224#line 68
4225struct scsi_target;
4226#line 68
4227struct scsi_dh_data;
4228#line 68 "include/scsi/scsi_device.h"
4229struct scsi_device {
4230 struct Scsi_Host *host ;
4231 struct request_queue *request_queue ;
4232 struct list_head siblings ;
4233 struct list_head same_target_siblings ;
4234 unsigned int device_busy ;
4235 spinlock_t list_lock ;
4236 struct list_head cmd_list ;
4237 struct list_head starved_entry ;
4238 struct scsi_cmnd *current_cmnd ;
4239 unsigned short queue_depth ;
4240 unsigned short max_queue_depth ;
4241 unsigned short last_queue_full_depth ;
4242 unsigned short last_queue_full_count ;
4243 unsigned long last_queue_full_time ;
4244 unsigned long queue_ramp_up_period ;
4245 unsigned long last_queue_ramp_up ;
4246 unsigned int id ;
4247 unsigned int lun ;
4248 unsigned int channel ;
4249 unsigned int manufacturer ;
4250 unsigned int sector_size ;
4251 void *hostdata ;
4252 char type ;
4253 char scsi_level ;
4254 char inq_periph_qual ;
4255 unsigned char inquiry_len ;
4256 unsigned char *inquiry ;
4257 char const *vendor ;
4258 char const *model ;
4259 char const *rev ;
4260 unsigned char current_tag ;
4261 struct scsi_target *sdev_target ;
4262 unsigned int sdev_bflags ;
4263 unsigned int writeable : 1 ;
4264 unsigned int removable : 1 ;
4265 unsigned int changed : 1 ;
4266 unsigned int busy : 1 ;
4267 unsigned int lockable : 1 ;
4268 unsigned int locked : 1 ;
4269 unsigned int borken : 1 ;
4270 unsigned int disconnect : 1 ;
4271 unsigned int soft_reset : 1 ;
4272 unsigned int sdtr : 1 ;
4273 unsigned int wdtr : 1 ;
4274 unsigned int ppr : 1 ;
4275 unsigned int tagged_supported : 1 ;
4276 unsigned int simple_tags : 1 ;
4277 unsigned int ordered_tags : 1 ;
4278 unsigned int was_reset : 1 ;
4279 unsigned int expecting_cc_ua : 1 ;
4280 unsigned int use_10_for_rw : 1 ;
4281 unsigned int use_10_for_ms : 1 ;
4282 unsigned int skip_ms_page_8 : 1 ;
4283 unsigned int skip_ms_page_3f : 1 ;
4284 unsigned int skip_vpd_pages : 1 ;
4285 unsigned int use_192_bytes_for_3f : 1 ;
4286 unsigned int no_start_on_add : 1 ;
4287 unsigned int allow_restart : 1 ;
4288 unsigned int manage_start_stop : 1 ;
4289 unsigned int start_stop_pwr_cond : 1 ;
4290 unsigned int no_uld_attach : 1 ;
4291 unsigned int select_no_atn : 1 ;
4292 unsigned int fix_capacity : 1 ;
4293 unsigned int guess_capacity : 1 ;
4294 unsigned int retry_hwerror : 1 ;
4295 unsigned int last_sector_bug : 1 ;
4296 unsigned int no_read_disc_info : 1 ;
4297 unsigned int no_read_capacity_16 : 1 ;
4298 unsigned int is_visible : 1 ;
4299 unsigned long supported_events[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
4300 struct list_head event_list ;
4301 struct work_struct event_work ;
4302 unsigned int device_blocked ;
4303 unsigned int max_device_blocked ;
4304 atomic_t iorequest_cnt ;
4305 atomic_t iodone_cnt ;
4306 atomic_t ioerr_cnt ;
4307 struct device sdev_gendev ;
4308 struct device sdev_dev ;
4309 struct execute_work ew ;
4310 struct work_struct requeue_work ;
4311 struct scsi_dh_data *scsi_dh_data ;
4312 enum scsi_device_state sdev_state ;
4313 unsigned long sdev_data[0] ;
4314} __attribute__((__aligned__(sizeof(unsigned long )))) ;
4315#line 180 "include/scsi/scsi_device.h"
4316struct scsi_dh_devlist {
4317 char *vendor ;
4318 char *model ;
4319};
4320#line 186 "include/scsi/scsi_device.h"
4321struct scsi_device_handler {
4322 struct list_head list ;
4323 struct module *module ;
4324 char const *name ;
4325 struct scsi_dh_devlist const *devlist ;
4326 int (*check_sense)(struct scsi_device * , struct scsi_sense_hdr * ) ;
4327 int (*attach)(struct scsi_device * ) ;
4328 void (*detach)(struct scsi_device * ) ;
4329 int (*activate)(struct scsi_device * , void (*)(void * , int ) , void * ) ;
4330 int (*prep_fn)(struct scsi_device * , struct request * ) ;
4331 int (*set_params)(struct scsi_device * , char const * ) ;
4332 bool (*match)(struct scsi_device * ) ;
4333};
4334#line 203 "include/scsi/scsi_device.h"
4335struct scsi_dh_data {
4336 struct scsi_device_handler *scsi_dh ;
4337 struct scsi_device *sdev ;
4338 struct kref kref ;
4339 char buf[0] ;
4340};
4341#line 226
4342enum scsi_target_state {
4343 STARGET_CREATED = 1,
4344 STARGET_RUNNING = 2,
4345 STARGET_DEL = 3
4346} ;
4347#line 237 "include/scsi/scsi_device.h"
4348struct scsi_target {
4349 struct scsi_device *starget_sdev_user ;
4350 struct list_head siblings ;
4351 struct list_head devices ;
4352 struct device dev ;
4353 unsigned int reap_ref ;
4354 unsigned int channel ;
4355 unsigned int id ;
4356 unsigned int create : 1 ;
4357 unsigned int single_lun : 1 ;
4358 unsigned int pdt_1f_for_no_lun : 1 ;
4359 unsigned int no_report_luns : 1 ;
4360 unsigned int target_busy ;
4361 unsigned int can_queue ;
4362 unsigned int target_blocked ;
4363 unsigned int max_target_blocked ;
4364 char scsi_level ;
4365 struct execute_work ew ;
4366 enum scsi_target_state state ;
4367 void *hostdata ;
4368 unsigned long starget_data[0] ;
4369} __attribute__((__aligned__(sizeof(unsigned long )))) ;
4370#line 12 "include/linux/mod_devicetable.h"
4371typedef unsigned long kernel_ulong_t;
4372#line 98 "include/linux/mod_devicetable.h"
4373struct usb_device_id {
4374 __u16 match_flags ;
4375 __u16 idVendor ;
4376 __u16 idProduct ;
4377 __u16 bcdDevice_lo ;
4378 __u16 bcdDevice_hi ;
4379 __u8 bDeviceClass ;
4380 __u8 bDeviceSubClass ;
4381 __u8 bDeviceProtocol ;
4382 __u8 bInterfaceClass ;
4383 __u8 bInterfaceSubClass ;
4384 __u8 bInterfaceProtocol ;
4385 kernel_ulong_t driver_info ;
4386};
4387#line 219 "include/linux/mod_devicetable.h"
4388struct of_device_id {
4389 char name[32] ;
4390 char type[32] ;
4391 char compatible[128] ;
4392 void *data ;
4393};
4394#line 177 "include/linux/usb/ch9.h"
4395struct usb_ctrlrequest {
4396 __u8 bRequestType ;
4397 __u8 bRequest ;
4398 __le16 wValue ;
4399 __le16 wIndex ;
4400 __le16 wLength ;
4401} __attribute__((__packed__)) ;
4402#line 250 "include/linux/usb/ch9.h"
4403struct usb_device_descriptor {
4404 __u8 bLength ;
4405 __u8 bDescriptorType ;
4406 __le16 bcdUSB ;
4407 __u8 bDeviceClass ;
4408 __u8 bDeviceSubClass ;
4409 __u8 bDeviceProtocol ;
4410 __u8 bMaxPacketSize0 ;
4411 __le16 idVendor ;
4412 __le16 idProduct ;
4413 __le16 bcdDevice ;
4414 __u8 iManufacturer ;
4415 __u8 iProduct ;
4416 __u8 iSerialNumber ;
4417 __u8 bNumConfigurations ;
4418} __attribute__((__packed__)) ;
4419#line 306 "include/linux/usb/ch9.h"
4420struct usb_config_descriptor {
4421 __u8 bLength ;
4422 __u8 bDescriptorType ;
4423 __le16 wTotalLength ;
4424 __u8 bNumInterfaces ;
4425 __u8 bConfigurationValue ;
4426 __u8 iConfiguration ;
4427 __u8 bmAttributes ;
4428 __u8 bMaxPower ;
4429} __attribute__((__packed__)) ;
4430#line 343 "include/linux/usb/ch9.h"
4431struct usb_interface_descriptor {
4432 __u8 bLength ;
4433 __u8 bDescriptorType ;
4434 __u8 bInterfaceNumber ;
4435 __u8 bAlternateSetting ;
4436 __u8 bNumEndpoints ;
4437 __u8 bInterfaceClass ;
4438 __u8 bInterfaceSubClass ;
4439 __u8 bInterfaceProtocol ;
4440 __u8 iInterface ;
4441} __attribute__((__packed__)) ;
4442#line 361 "include/linux/usb/ch9.h"
4443struct usb_endpoint_descriptor {
4444 __u8 bLength ;
4445 __u8 bDescriptorType ;
4446 __u8 bEndpointAddress ;
4447 __u8 bmAttributes ;
4448 __le16 wMaxPacketSize ;
4449 __u8 bInterval ;
4450 __u8 bRefresh ;
4451 __u8 bSynchAddress ;
4452} __attribute__((__packed__)) ;
4453#line 598 "include/linux/usb/ch9.h"
4454struct usb_ss_ep_comp_descriptor {
4455 __u8 bLength ;
4456 __u8 bDescriptorType ;
4457 __u8 bMaxBurst ;
4458 __u8 bmAttributes ;
4459 __le16 wBytesPerInterval ;
4460} __attribute__((__packed__)) ;
4461#line 677 "include/linux/usb/ch9.h"
4462struct usb_interface_assoc_descriptor {
4463 __u8 bLength ;
4464 __u8 bDescriptorType ;
4465 __u8 bFirstInterface ;
4466 __u8 bInterfaceCount ;
4467 __u8 bFunctionClass ;
4468 __u8 bFunctionSubClass ;
4469 __u8 bFunctionProtocol ;
4470 __u8 iFunction ;
4471} __attribute__((__packed__)) ;
4472#line 737 "include/linux/usb/ch9.h"
4473struct usb_bos_descriptor {
4474 __u8 bLength ;
4475 __u8 bDescriptorType ;
4476 __le16 wTotalLength ;
4477 __u8 bNumDeviceCaps ;
4478} __attribute__((__packed__)) ;
4479#line 786 "include/linux/usb/ch9.h"
4480struct usb_ext_cap_descriptor {
4481 __u8 bLength ;
4482 __u8 bDescriptorType ;
4483 __u8 bDevCapabilityType ;
4484 __le32 bmAttributes ;
4485} __attribute__((__packed__)) ;
4486#line 806 "include/linux/usb/ch9.h"
4487struct usb_ss_cap_descriptor {
4488 __u8 bLength ;
4489 __u8 bDescriptorType ;
4490 __u8 bDevCapabilityType ;
4491 __u8 bmAttributes ;
4492 __le16 wSpeedSupported ;
4493 __u8 bFunctionalitySupport ;
4494 __u8 bU1devExitLat ;
4495 __le16 bU2DevExitLat ;
4496} __attribute__((__packed__)) ;
4497#line 829 "include/linux/usb/ch9.h"
4498struct usb_ss_container_id_descriptor {
4499 __u8 bLength ;
4500 __u8 bDescriptorType ;
4501 __u8 bDevCapabilityType ;
4502 __u8 bReserved ;
4503 __u8 ContainerID[16] ;
4504} __attribute__((__packed__)) ;
4505#line 891
4506enum usb_device_speed {
4507 USB_SPEED_UNKNOWN = 0,
4508 USB_SPEED_LOW = 1,
4509 USB_SPEED_FULL = 2,
4510 USB_SPEED_HIGH = 3,
4511 USB_SPEED_WIRELESS = 4,
4512 USB_SPEED_SUPER = 5
4513} ;
4514#line 911
4515enum usb_device_state {
4516 USB_STATE_NOTATTACHED = 0,
4517 USB_STATE_ATTACHED = 1,
4518 USB_STATE_POWERED = 2,
4519 USB_STATE_RECONNECTING = 3,
4520 USB_STATE_UNAUTHENTICATED = 4,
4521 USB_STATE_DEFAULT = 5,
4522 USB_STATE_ADDRESS = 6,
4523 USB_STATE_CONFIGURED = 7,
4524 USB_STATE_SUSPENDED = 8
4525} ;
4526#line 187 "include/linux/interrupt.h"
4527struct device;
4528#line 695
4529struct seq_file;
4530#line 25 "include/linux/usb.h"
4531struct usb_device;
4532#line 25
4533struct usb_device;
4534#line 26
4535struct usb_driver;
4536#line 26
4537struct usb_driver;
4538#line 27
4539struct wusb_dev;
4540#line 27
4541struct wusb_dev;
4542#line 47
4543struct ep_device;
4544#line 47
4545struct ep_device;
4546#line 64 "include/linux/usb.h"
4547struct usb_host_endpoint {
4548 struct usb_endpoint_descriptor desc ;
4549 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4550 struct list_head urb_list ;
4551 void *hcpriv ;
4552 struct ep_device *ep_dev ;
4553 unsigned char *extra ;
4554 int extralen ;
4555 int enabled ;
4556};
4557#line 77 "include/linux/usb.h"
4558struct usb_host_interface {
4559 struct usb_interface_descriptor desc ;
4560 struct usb_host_endpoint *endpoint ;
4561 char *string ;
4562 unsigned char *extra ;
4563 int extralen ;
4564};
4565#line 90
4566enum usb_interface_condition {
4567 USB_INTERFACE_UNBOUND = 0,
4568 USB_INTERFACE_BINDING = 1,
4569 USB_INTERFACE_BOUND = 2,
4570 USB_INTERFACE_UNBINDING = 3
4571} ;
4572#line 159 "include/linux/usb.h"
4573struct usb_interface {
4574 struct usb_host_interface *altsetting ;
4575 struct usb_host_interface *cur_altsetting ;
4576 unsigned int num_altsetting ;
4577 struct usb_interface_assoc_descriptor *intf_assoc ;
4578 int minor ;
4579 enum usb_interface_condition condition ;
4580 unsigned int sysfs_files_created : 1 ;
4581 unsigned int ep_devs_created : 1 ;
4582 unsigned int unregistering : 1 ;
4583 unsigned int needs_remote_wakeup : 1 ;
4584 unsigned int needs_altsetting0 : 1 ;
4585 unsigned int needs_binding : 1 ;
4586 unsigned int reset_running : 1 ;
4587 unsigned int resetting_device : 1 ;
4588 struct device dev ;
4589 struct device *usb_dev ;
4590 atomic_t pm_usage_cnt ;
4591 struct work_struct reset_ws ;
4592};
4593#line 222 "include/linux/usb.h"
4594struct usb_interface_cache {
4595 unsigned int num_altsetting ;
4596 struct kref ref ;
4597 struct usb_host_interface altsetting[0] ;
4598};
4599#line 274 "include/linux/usb.h"
4600struct usb_host_config {
4601 struct usb_config_descriptor desc ;
4602 char *string ;
4603 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4604 struct usb_interface *interface[32] ;
4605 struct usb_interface_cache *intf_cache[32] ;
4606 unsigned char *extra ;
4607 int extralen ;
4608};
4609#line 296 "include/linux/usb.h"
4610struct usb_host_bos {
4611 struct usb_bos_descriptor *desc ;
4612 struct usb_ext_cap_descriptor *ext_cap ;
4613 struct usb_ss_cap_descriptor *ss_cap ;
4614 struct usb_ss_container_id_descriptor *ss_id ;
4615};
4616#line 315 "include/linux/usb.h"
4617struct usb_devmap {
4618 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4619};
4620#line 322
4621struct mon_bus;
4622#line 322 "include/linux/usb.h"
4623struct usb_bus {
4624 struct device *controller ;
4625 int busnum ;
4626 char const *bus_name ;
4627 u8 uses_dma ;
4628 u8 uses_pio_for_control ;
4629 u8 otg_port ;
4630 unsigned int is_b_host : 1 ;
4631 unsigned int b_hnp_enable : 1 ;
4632 unsigned int sg_tablesize ;
4633 int devnum_next ;
4634 struct usb_devmap devmap ;
4635 struct usb_device *root_hub ;
4636 struct usb_bus *hs_companion ;
4637 struct list_head bus_list ;
4638 int bandwidth_allocated ;
4639 int bandwidth_int_reqs ;
4640 int bandwidth_isoc_reqs ;
4641 struct dentry *usbfs_dentry ;
4642 struct mon_bus *mon_bus ;
4643 int monitored ;
4644};
4645#line 377
4646struct usb_tt;
4647#line 377
4648struct usb_tt;
4649#line 379
4650enum usb_device_removable {
4651 USB_DEVICE_REMOVABLE_UNKNOWN = 0,
4652 USB_DEVICE_REMOVABLE = 1,
4653 USB_DEVICE_FIXED = 2
4654} ;
4655#line 447 "include/linux/usb.h"
4656struct usb_device {
4657 int devnum ;
4658 char devpath[16] ;
4659 u32 route ;
4660 enum usb_device_state state ;
4661 enum usb_device_speed speed ;
4662 struct usb_tt *tt ;
4663 int ttport ;
4664 unsigned int toggle[2] ;
4665 struct usb_device *parent ;
4666 struct usb_bus *bus ;
4667 struct usb_host_endpoint ep0 ;
4668 struct device dev ;
4669 struct usb_device_descriptor descriptor ;
4670 struct usb_host_bos *bos ;
4671 struct usb_host_config *config ;
4672 struct usb_host_config *actconfig ;
4673 struct usb_host_endpoint *ep_in[16] ;
4674 struct usb_host_endpoint *ep_out[16] ;
4675 char **rawdescriptors ;
4676 unsigned short bus_mA ;
4677 u8 portnum ;
4678 u8 level ;
4679 unsigned int can_submit : 1 ;
4680 unsigned int persist_enabled : 1 ;
4681 unsigned int have_langid : 1 ;
4682 unsigned int authorized : 1 ;
4683 unsigned int authenticated : 1 ;
4684 unsigned int wusb : 1 ;
4685 unsigned int lpm_capable : 1 ;
4686 unsigned int usb2_hw_lpm_capable : 1 ;
4687 unsigned int usb2_hw_lpm_enabled : 1 ;
4688 int string_langid ;
4689 char *product ;
4690 char *manufacturer ;
4691 char *serial ;
4692 struct list_head filelist ;
4693 struct device *usb_classdev ;
4694 struct dentry *usbfs_dentry ;
4695 int maxchild ;
4696 struct usb_device **children ;
4697 u32 quirks ;
4698 atomic_t urbnum ;
4699 unsigned long active_duration ;
4700 unsigned long connect_time ;
4701 unsigned int do_remote_wakeup : 1 ;
4702 unsigned int reset_resume : 1 ;
4703 struct wusb_dev *wusb_dev ;
4704 int slot_id ;
4705 enum usb_device_removable removable ;
4706};
4707#line 789 "include/linux/usb.h"
4708struct usb_dynids {
4709 spinlock_t lock ;
4710 struct list_head list ;
4711};
4712#line 808 "include/linux/usb.h"
4713struct usbdrv_wrap {
4714 struct device_driver driver ;
4715 int for_devices ;
4716};
4717#line 869 "include/linux/usb.h"
4718struct usb_driver {
4719 char const *name ;
4720 int (*probe)(struct usb_interface *intf , struct usb_device_id const *id ) ;
4721 void (*disconnect)(struct usb_interface *intf ) ;
4722 int (*unlocked_ioctl)(struct usb_interface *intf , unsigned int code , void *buf ) ;
4723 int (*suspend)(struct usb_interface *intf , pm_message_t message ) ;
4724 int (*resume)(struct usb_interface *intf ) ;
4725 int (*reset_resume)(struct usb_interface *intf ) ;
4726 int (*pre_reset)(struct usb_interface *intf ) ;
4727 int (*post_reset)(struct usb_interface *intf ) ;
4728 struct usb_device_id const *id_table ;
4729 struct usb_dynids dynids ;
4730 struct usbdrv_wrap drvwrap ;
4731 unsigned int no_dynamic_id : 1 ;
4732 unsigned int supports_autosuspend : 1 ;
4733 unsigned int soft_unbind : 1 ;
4734};
4735#line 1022 "include/linux/usb.h"
4736struct usb_iso_packet_descriptor {
4737 unsigned int offset ;
4738 unsigned int length ;
4739 unsigned int actual_length ;
4740 int status ;
4741};
4742#line 1029
4743struct urb;
4744#line 1029
4745struct urb;
4746#line 1031 "include/linux/usb.h"
4747struct usb_anchor {
4748 struct list_head urb_list ;
4749 wait_queue_head_t wait ;
4750 spinlock_t lock ;
4751 unsigned int poisoned : 1 ;
4752};
4753#line 1223 "include/linux/usb.h"
4754struct urb {
4755 struct kref kref ;
4756 void *hcpriv ;
4757 atomic_t use_count ;
4758 atomic_t reject ;
4759 int unlinked ;
4760 struct list_head urb_list ;
4761 struct list_head anchor_list ;
4762 struct usb_anchor *anchor ;
4763 struct usb_device *dev ;
4764 struct usb_host_endpoint *ep ;
4765 unsigned int pipe ;
4766 unsigned int stream_id ;
4767 int status ;
4768 unsigned int transfer_flags ;
4769 void *transfer_buffer ;
4770 dma_addr_t transfer_dma ;
4771 struct scatterlist *sg ;
4772 int num_mapped_sgs ;
4773 int num_sgs ;
4774 u32 transfer_buffer_length ;
4775 u32 actual_length ;
4776 unsigned char *setup_packet ;
4777 dma_addr_t setup_dma ;
4778 int start_frame ;
4779 int number_of_packets ;
4780 int interval ;
4781 int error_count ;
4782 void *context ;
4783 void (*complete)(struct urb * ) ;
4784 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4785};
4786#line 1429
4787struct scatterlist;
4788#line 1495 "include/linux/usb.h"
4789struct usb_sg_request {
4790 int status ;
4791 size_t bytes ;
4792 spinlock_t lock ;
4793 struct usb_device *dev ;
4794 int pipe ;
4795 int entries ;
4796 struct urb **urbs ;
4797 int count ;
4798 struct completion complete ;
4799};
4800#line 11 "include/scsi/scsi_host.h"
4801struct request_queue;
4802#line 12
4803struct block_device;
4804#line 13
4805struct completion;
4806#line 14
4807struct module;
4808#line 15
4809struct scsi_cmnd;
4810#line 16
4811struct scsi_device;
4812#line 17
4813struct scsi_target;
4814#line 18
4815struct Scsi_Host;
4816#line 19
4817struct scsi_host_cmd_pool;
4818#line 19
4819struct scsi_host_cmd_pool;
4820#line 20
4821struct scsi_transport_template;
4822#line 20
4823struct scsi_transport_template;
4824#line 52 "include/scsi/scsi_host.h"
4825struct scsi_host_template {
4826 struct module *module ;
4827 char const *name ;
4828 int (*detect)(struct scsi_host_template * ) ;
4829 int (*release)(struct Scsi_Host * ) ;
4830 char const *(*info)(struct Scsi_Host * ) ;
4831 int (*ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
4832 int (*compat_ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
4833 int (*queuecommand)(struct Scsi_Host * , struct scsi_cmnd * ) ;
4834 int (*transfer_response)(struct scsi_cmnd * , void (*done)(struct scsi_cmnd * ) ) ;
4835 int (*eh_abort_handler)(struct scsi_cmnd * ) ;
4836 int (*eh_device_reset_handler)(struct scsi_cmnd * ) ;
4837 int (*eh_target_reset_handler)(struct scsi_cmnd * ) ;
4838 int (*eh_bus_reset_handler)(struct scsi_cmnd * ) ;
4839 int (*eh_host_reset_handler)(struct scsi_cmnd * ) ;
4840 int (*slave_alloc)(struct scsi_device * ) ;
4841 int (*slave_configure)(struct scsi_device * ) ;
4842 void (*slave_destroy)(struct scsi_device * ) ;
4843 int (*target_alloc)(struct scsi_target * ) ;
4844 void (*target_destroy)(struct scsi_target * ) ;
4845 int (*scan_finished)(struct Scsi_Host * , unsigned long ) ;
4846 void (*scan_start)(struct Scsi_Host * ) ;
4847 int (*change_queue_depth)(struct scsi_device * , int , int ) ;
4848 int (*change_queue_type)(struct scsi_device * , int ) ;
4849 int (*bios_param)(struct scsi_device * , struct block_device * , sector_t , int * ) ;
4850 void (*unlock_native_capacity)(struct scsi_device * ) ;
4851 int (*proc_info)(struct Scsi_Host * , char * , char ** , off_t , int , int ) ;
4852 enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd * ) ;
4853 int (*host_reset)(struct Scsi_Host *shost , int reset_type ) ;
4854 char const *proc_name ;
4855 struct proc_dir_entry *proc_dir ;
4856 int can_queue ;
4857 int this_id ;
4858 unsigned short sg_tablesize ;
4859 unsigned short sg_prot_tablesize ;
4860 unsigned short max_sectors ;
4861 unsigned long dma_boundary ;
4862 short cmd_per_lun ;
4863 unsigned char present ;
4864 unsigned int supported_mode : 2 ;
4865 unsigned int unchecked_isa_dma : 1 ;
4866 unsigned int use_clustering : 1 ;
4867 unsigned int emulated : 1 ;
4868 unsigned int skip_settle_delay : 1 ;
4869 unsigned int ordered_tag : 1 ;
4870 unsigned int max_host_blocked ;
4871 struct device_attribute **shost_attrs ;
4872 struct device_attribute **sdev_attrs ;
4873 struct list_head legacy_hosts ;
4874 u64 vendor_id ;
4875};
4876#line 543
4877enum scsi_host_state {
4878 SHOST_CREATED = 1,
4879 SHOST_RUNNING = 2,
4880 SHOST_CANCEL = 3,
4881 SHOST_DEL = 4,
4882 SHOST_RECOVERY = 5,
4883 SHOST_CANCEL_RECOVERY = 6,
4884 SHOST_DEL_RECOVERY = 7
4885} ;
4886#line 553 "include/scsi/scsi_host.h"
4887struct Scsi_Host {
4888 struct list_head __devices ;
4889 struct list_head __targets ;
4890 struct scsi_host_cmd_pool *cmd_pool ;
4891 spinlock_t free_list_lock ;
4892 struct list_head free_list ;
4893 struct list_head starved_list ;
4894 spinlock_t default_lock ;
4895 spinlock_t *host_lock ;
4896 struct mutex scan_mutex ;
4897 struct list_head eh_cmd_q ;
4898 struct task_struct *ehandler ;
4899 struct completion *eh_action ;
4900 wait_queue_head_t host_wait ;
4901 struct scsi_host_template *hostt ;
4902 struct scsi_transport_template *transportt ;
4903 struct blk_queue_tag *bqt ;
4904 unsigned int host_busy ;
4905 unsigned int host_failed ;
4906 unsigned int host_eh_scheduled ;
4907 unsigned int host_no ;
4908 int resetting ;
4909 unsigned long last_reset ;
4910 unsigned int max_id ;
4911 unsigned int max_lun ;
4912 unsigned int max_channel ;
4913 unsigned int unique_id ;
4914 unsigned short max_cmd_len ;
4915 int this_id ;
4916 int can_queue ;
4917 short cmd_per_lun ;
4918 unsigned short sg_tablesize ;
4919 unsigned short sg_prot_tablesize ;
4920 unsigned short max_sectors ;
4921 unsigned long dma_boundary ;
4922 unsigned long cmd_serial_number ;
4923 unsigned int active_mode : 2 ;
4924 unsigned int unchecked_isa_dma : 1 ;
4925 unsigned int use_clustering : 1 ;
4926 unsigned int use_blk_tcq : 1 ;
4927 unsigned int host_self_blocked : 1 ;
4928 unsigned int reverse_ordering : 1 ;
4929 unsigned int ordered_tag : 1 ;
4930 unsigned int tmf_in_progress : 1 ;
4931 unsigned int async_scan : 1 ;
4932 unsigned int eh_noresume : 1 ;
4933 char work_q_name[20] ;
4934 struct workqueue_struct *work_q ;
4935 unsigned int host_blocked ;
4936 unsigned int max_host_blocked ;
4937 unsigned int prot_capabilities ;
4938 unsigned char prot_guard_type ;
4939 struct request_queue *uspace_req_q ;
4940 unsigned long base ;
4941 unsigned long io_port ;
4942 unsigned char n_io_port ;
4943 unsigned char dma_channel ;
4944 unsigned int irq ;
4945 enum scsi_host_state shost_state ;
4946 struct device shost_gendev ;
4947 struct device shost_dev ;
4948 struct list_head sht_legacy_list ;
4949 void *shost_data ;
4950 struct device *dma_dev ;
4951 unsigned long hostdata[0] __attribute__((__aligned__(sizeof(unsigned long )))) ;
4952};
4953#line 53 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4954struct us_data;
4955#line 53
4956struct us_data;
4957#line 54
4958struct scsi_cmnd;
4959#line 60 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4960struct us_unusual_dev {
4961 char const *vendorName ;
4962 char const *productName ;
4963 __u8 useProtocol ;
4964 __u8 useTransport ;
4965 int (*initFunction)(struct us_data * ) ;
4966};
4967#line 102 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
4968struct us_data {
4969 struct mutex dev_mutex ;
4970 struct usb_device *pusb_dev ;
4971 struct usb_interface *pusb_intf ;
4972 struct us_unusual_dev *unusual_dev ;
4973 unsigned long fflags ;
4974 unsigned long dflags ;
4975 unsigned int send_bulk_pipe ;
4976 unsigned int recv_bulk_pipe ;
4977 unsigned int send_ctrl_pipe ;
4978 unsigned int recv_ctrl_pipe ;
4979 unsigned int recv_intr_pipe ;
4980 char *transport_name ;
4981 char *protocol_name ;
4982 __le32 bcs_signature ;
4983 u8 subclass ;
4984 u8 protocol ;
4985 u8 max_lun ;
4986 u8 ifnum ;
4987 u8 ep_bInterval ;
4988 int (*transport)(struct scsi_cmnd * , struct us_data * ) ;
4989 int (*transport_reset)(struct us_data * ) ;
4990 void (*proto_handler)(struct scsi_cmnd * , struct us_data * ) ;
4991 struct scsi_cmnd *srb ;
4992 unsigned int tag ;
4993 char scsi_name[32] ;
4994 struct urb *current_urb ;
4995 struct usb_ctrlrequest *cr ;
4996 struct usb_sg_request current_sg ;
4997 unsigned char *iobuf ;
4998 dma_addr_t iobuf_dma ;
4999 struct task_struct *ctl_thread ;
5000 struct completion cmnd_ready ;
5001 struct completion notify ;
5002 wait_queue_head_t delay_wait ;
5003 struct delayed_work scan_dwork ;
5004 void *extra ;
5005 void (*extra_destructor)(void * ) ;
5006 void (*suspend_resume_hook)(struct us_data * , int ) ;
5007 int use_last_sector_hacks ;
5008 int last_sector_retries ;
5009};
5010#line 49 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/protocol.h"
5011enum xfer_buf_dir {
5012 TO_XFER_BUF = 0,
5013 FROM_XFER_BUF = 1
5014} ;
5015#line 118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5016struct nand_flash_dev {
5017 int model_id ;
5018 int chipshift ;
5019 char pageshift ;
5020 char blockshift ;
5021 char zoneshift ;
5022 char pageadrlen ;
5023};
5024#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5025struct __anonstruct_272 {
5026 int : 0 ;
5027};
5028#line 262 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5029struct sddr09_card_info {
5030 unsigned long capacity ;
5031 int pagesize ;
5032 int pageshift ;
5033 int blocksize ;
5034 int blockshift ;
5035 int blockmask ;
5036 int *lba_to_pba ;
5037 int *pba_to_lba ;
5038 int lbact ;
5039 int flags ;
5040};
5041#line 1 "<compiler builtins>"
5042
5043#line 1
5044long __builtin_expect(long val , long res ) ;
5045#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
5046__inline static __u32 __arch_swab32(__u32 val ) __attribute__((__no_instrument_function__,
5047__const__)) ;
5048#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
5049__inline static __u32 __arch_swab32(__u32 val )
5050{
5051
5052 {
5053#line 21
5054 __asm__ ("bswapl %0": "=r" (val): "0" (val));
5055#line 25
5056 return (val);
5057}
5058}
5059#line 55 "include/linux/swab.h"
5060__inline static __u32 __fswab32(__u32 val ) __attribute__((__no_instrument_function__,
5061__const__)) ;
5062#line 55 "include/linux/swab.h"
5063__inline static __u32 __fswab32(__u32 val )
5064{ __u32 tmp ;
5065
5066 {
5067 {
5068#line 58
5069 tmp = __arch_swab32(val);
5070 }
5071#line 58
5072 return (tmp);
5073}
5074}
5075#line 100 "include/linux/printk.h"
5076extern int ( printk)(char const *fmt , ...) ;
5077#line 320 "include/linux/kernel.h"
5078extern int ( sprintf)(char *buf , char const *fmt , ...) ;
5079#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
5080extern void *__memcpy(void *to , void const *from , size_t len ) ;
5081#line 55
5082extern void *memset(void *s , int c , size_t n ) ;
5083#line 61
5084extern unsigned long strlen(char const *s ) ;
5085#line 152 "include/linux/mutex.h"
5086void mutex_lock(struct mutex *lock ) ;
5087#line 153
5088int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
5089#line 154
5090int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
5091#line 168
5092int mutex_trylock(struct mutex *lock ) ;
5093#line 169
5094void mutex_unlock(struct mutex *lock ) ;
5095#line 170
5096int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
5097#line 26 "include/linux/export.h"
5098extern struct module __this_module ;
5099#line 67 "include/linux/module.h"
5100int init_module(void) ;
5101#line 68
5102void cleanup_module(void) ;
5103#line 161 "include/linux/slab.h"
5104extern void kfree(void const * ) ;
5105#line 221 "include/linux/slub_def.h"
5106extern void *__kmalloc(size_t size , gfp_t flags ) ;
5107#line 268
5108__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
5109 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
5110#line 268 "include/linux/slub_def.h"
5111__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
5112 gfp_t flags )
5113{ void *tmp___2 ;
5114
5115 {
5116 {
5117#line 283
5118 tmp___2 = __kmalloc(size, flags);
5119 }
5120#line 283
5121 return (tmp___2);
5122}
5123}
5124#line 349 "include/linux/slab.h"
5125__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
5126#line 349 "include/linux/slab.h"
5127__inline static void *kzalloc(size_t size , gfp_t flags )
5128{ void *tmp ;
5129 unsigned int __cil_tmp4 ;
5130
5131 {
5132 {
5133#line 351
5134 __cil_tmp4 = flags | 32768U;
5135#line 351
5136 tmp = kmalloc(size, __cil_tmp4);
5137 }
5138#line 351
5139 return (tmp);
5140}
5141}
5142#line 173 "include/scsi/scsi_cmnd.h"
5143__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
5144#line 173 "include/scsi/scsi_cmnd.h"
5145__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd )
5146{ unsigned long __cil_tmp2 ;
5147 unsigned long __cil_tmp3 ;
5148 unsigned long __cil_tmp4 ;
5149
5150 {
5151 {
5152#line 175
5153 __cil_tmp2 = 88 + 16;
5154#line 175
5155 __cil_tmp3 = (unsigned long )cmd;
5156#line 175
5157 __cil_tmp4 = __cil_tmp3 + __cil_tmp2;
5158#line 175
5159 return (*((unsigned int *)__cil_tmp4));
5160 }
5161}
5162}
5163#line 955 "include/linux/usb.h"
5164extern int usb_register_driver(struct usb_driver * , struct module * , char const * ) ;
5165#line 962
5166extern void usb_deregister(struct usb_driver * ) ;
5167#line 1462
5168extern int usb_reset_configuration(struct usb_device *dev ) ;
5169#line 175 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/usb.h"
5170extern void fill_inquiry_response(struct us_data *us , unsigned char *data , unsigned int data_len ) ;
5171#line 185
5172extern int usb_stor_suspend(struct usb_interface *iface , int messageevent ) ;
5173#line 186
5174extern int usb_stor_resume(struct usb_interface *iface ) ;
5175#line 187
5176extern int usb_stor_reset_resume(struct usb_interface *iface ) ;
5177#line 194
5178extern int usb_stor_pre_reset(struct usb_interface *iface ) ;
5179#line 195
5180extern int usb_stor_post_reset(struct usb_interface *iface ) ;
5181#line 197
5182extern int usb_stor_probe1(struct us_data **pus , struct usb_interface *intf , struct usb_device_id const *id ,
5183 struct us_unusual_dev *unusual_dev ) ;
5184#line 201
5185extern int usb_stor_probe2(struct us_data *us ) ;
5186#line 202
5187extern void usb_stor_disconnect(struct usb_interface *intf ) ;
5188#line 77 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/transport.h"
5189extern int usb_stor_CB_transport(struct scsi_cmnd * , struct us_data * ) ;
5190#line 78
5191extern int usb_stor_CB_reset(struct us_data * ) ;
5192#line 92
5193extern int usb_stor_ctrl_transfer(struct us_data *us , unsigned int pipe , u8 request ,
5194 u8 requesttype , u16 value , u16 index , void *data ,
5195 u16 size ) ;
5196#line 95
5197extern int usb_stor_bulk_transfer_buf(struct us_data *us , unsigned int pipe , void *buf ,
5198 unsigned int length , unsigned int *act_len ) ;
5199#line 97
5200extern int usb_stor_bulk_transfer_sg(struct us_data *us , unsigned int pipe , void *buf ,
5201 unsigned int length , int use_sg , int *residual ) ;
5202#line 99
5203extern int usb_stor_bulk_srb(struct us_data *us , unsigned int pipe , struct scsi_cmnd *srb ) ;
5204#line 51 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/usb/storage/protocol.h"
5205extern unsigned int usb_stor_access_xfer_buf(unsigned char *buffer , unsigned int buflen ,
5206 struct scsi_cmnd *srb , struct scatterlist ** ,
5207 unsigned int *offset , enum xfer_buf_dir dir ) ;
5208#line 55
5209extern void usb_stor_set_xfer_buf(unsigned char *buffer , unsigned int buflen , struct scsi_cmnd *srb ) ;
5210#line 57 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5211static char const __mod_description57[57] __attribute__((__used__, __unused__,
5212__section__(".modinfo"), __aligned__(1))) =
5213#line 57 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5214 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
5215 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
5216 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
5217 (char const )'D', (char const )'r', (char const )'i', (char const )'v',
5218 (char const )'e', (char const )'r', (char const )' ', (char const )'f',
5219 (char const )'o', (char const )'r', (char const )' ', (char const )'S',
5220 (char const )'a', (char const )'n', (char const )'D', (char const )'i',
5221 (char const )'s', (char const )'k', (char const )' ', (char const )'S',
5222 (char const )'D', (char const )'D', (char const )'R', (char const )'-',
5223 (char const )'0', (char const )'9', (char const )' ', (char const )'S',
5224 (char const )'m', (char const )'a', (char const )'r', (char const )'t',
5225 (char const )'M', (char const )'e', (char const )'d', (char const )'i',
5226 (char const )'a', (char const )' ', (char const )'r', (char const )'e',
5227 (char const )'a', (char const )'d', (char const )'e', (char const )'r',
5228 (char const )'\000'};
5229#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5230static char const __mod_author58[76] __attribute__((__used__, __unused__, __section__(".modinfo"),
5231__aligned__(1))) =
5232#line 58
5233 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
5234 (char const )'o', (char const )'r', (char const )'=', (char const )'A',
5235 (char const )'n', (char const )'d', (char const )'r', (char const )'i',
5236 (char const )'e', (char const )'s', (char const )' ', (char const )'B',
5237 (char const )'r', (char const )'o', (char const )'u', (char const )'w',
5238 (char const )'e', (char const )'r', (char const )' ', (char const )'<',
5239 (char const )'a', (char const )'e', (char const )'b', (char const )'@',
5240 (char const )'c', (char const )'w', (char const )'i', (char const )'.',
5241 (char const )'n', (char const )'l', (char const )'>', (char const )',',
5242 (char const )' ', (char const )'R', (char const )'o', (char const )'b',
5243 (char const )'e', (char const )'r', (char const )'t', (char const )' ',
5244 (char const )'B', (char const )'a', (char const )'r', (char const )'u',
5245 (char const )'c', (char const )'h', (char const )' ', (char const )'<',
5246 (char const )'a', (char const )'u', (char const )'t', (char const )'o',
5247 (char const )'p', (char const )'h', (char const )'i', (char const )'l',
5248 (char const )'e', (char const )'@', (char const )'s', (char const )'t',
5249 (char const )'a', (char const )'r', (char const )'b', (char const )'a',
5250 (char const )'n', (char const )'d', (char const )'.', (char const )'n',
5251 (char const )'e', (char const )'t', (char const )'>', (char const )'\000'};
5252#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5253static char const __mod_license59[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
5254__aligned__(1))) =
5255#line 59
5256 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
5257 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
5258 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
5259#line 61
5260static int usb_stor_sddr09_dpcm_init(struct us_data *us ) ;
5261#line 62
5262static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
5263#line 63
5264static int usb_stor_sddr09_init(struct us_data *us ) ;
5265#line 75 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5266static struct usb_device_id sddr09_usb_ids[6] = { {(__u16 )15, (__u16 )1078, (__u16 )5, (__u16 )256, (__u16 )256, (unsigned char)0,
5267 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5268 (kernel_ulong_t )(1 << 24)},
5269 {(__u16 )15, (__u16 )1254, (__u16 )3, (__u16 )0, (__u16 )39321, (unsigned char)0,
5270 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5271 (kernel_ulong_t )(1 << 24)},
5272 {(__u16 )15, (__u16 )1254, (__u16 )5, (__u16 )256, (__u16 )520, (unsigned char)0,
5273 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5274 (kernel_ulong_t )(1 << 24)},
5275 {(__u16 )15, (__u16 )1643, (__u16 )261, (__u16 )256, (__u16 )256, (unsigned char)0,
5276 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5277 (kernel_ulong_t )(1 << 24)},
5278 {(__u16 )15, (__u16 )1921, (__u16 )512, (__u16 )0, (__u16 )39321, (unsigned char)0,
5279 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5280 (kernel_ulong_t )(1 << 24)},
5281 {(__u16 )15, (__u16 )1967, (__u16 )6, (__u16 )256, (__u16 )256, (unsigned char)0,
5282 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5283 (kernel_ulong_t )(1 << 24)}};
5284#line 79
5285extern struct usb_device_id const __mod_usb_device_table __attribute__((__unused__,
5286__alias__("sddr09_usb_ids"))) ;
5287#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5288static struct us_unusual_dev sddr09_unusual_dev_list[6] = { {"Microtech", "CameraMate (DPCM_USB)", (__u8 )6, (__u8 )240, (int (*)(struct us_data * ))((void *)0)},
5289 {"Sandisk",
5290 "ImageMate SDDR09", (__u8 )6, (__u8 )129, & usb_stor_sddr09_init},
5291 {"SCM Microsystems", "eUSB SmartMedia / CompactFlash Adapter", (__u8 )6, (__u8 )240,
5292 & usb_stor_sddr09_dpcm_init},
5293 {"Olympus", "Camedia MAUSB-2", (__u8 )6, (__u8 )129, & usb_stor_sddr09_init},
5294 {"Sandisk",
5295 "ImageMate SDDR-09", (__u8 )6, (__u8 )129, & usb_stor_sddr09_init},
5296 {"Microtech", "CameraMate (DPCM_USB)", (__u8 )6, (__u8 )240, (int (*)(struct us_data * ))((void *)0)}};
5297#line 136
5298__inline static char *nand_flash_manufacturer(int manuf_id ) __attribute__((__no_instrument_function__)) ;
5299#line 136 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5300__inline static char *nand_flash_manufacturer(int manuf_id )
5301{
5302
5303 {
5304#line 138
5305 if (manuf_id == 1) {
5306#line 138
5307 goto case_1;
5308 } else
5309#line 140
5310 if (manuf_id == 143) {
5311#line 140
5312 goto case_143;
5313 } else
5314#line 142
5315 if (manuf_id == 152) {
5316#line 142
5317 goto case_152;
5318 } else
5319#line 144
5320 if (manuf_id == 236) {
5321#line 144
5322 goto case_236;
5323 } else {
5324 {
5325#line 146
5326 goto switch_default;
5327#line 137
5328 if (0) {
5329 case_1:
5330#line 139
5331 return ((char *)"AMD");
5332 case_143:
5333#line 141
5334 return ((char *)"NATSEMI");
5335 case_152:
5336#line 143
5337 return ((char *)"Toshiba");
5338 case_236:
5339#line 145
5340 return ((char *)"Samsung");
5341 switch_default:
5342#line 147
5343 return ((char *)"unknown");
5344 } else {
5345 switch_break: ;
5346 }
5347 }
5348 }
5349}
5350}
5351#line 158 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5352static struct nand_flash_dev nand_flash_ids[19] =
5353#line 158
5354 { {110, 20, (char)8, (char)4, (char)8, (char)2},
5355 {232, 20, (char)8, (char)4, (char)8, (char)2},
5356 {236, 20, (char)8, (char)4, (char)8, (char)2},
5357 {100, 21, (char)8, (char)4, (char)9, (char)2},
5358 {234, 21, (char)8, (char)4, (char)9, (char)2},
5359 {107, 22, (char)9, (char)4, (char)9, (char)2},
5360 {227, 22, (char)9, (char)4, (char)9, (char)2},
5361 {229, 22, (char)9, (char)4, (char)9, (char)2},
5362 {230, 23, (char)9, (char)4, (char)10, (char)2},
5363 {115, 24, (char)9, (char)5, (char)10, (char)2},
5364 {117, 25, (char)9, (char)5, (char)10, (char)2},
5365 {118, 26, (char)9, (char)5, (char)10, (char)3},
5366 {121, 27, (char)9, (char)5, (char)10, (char)3},
5367 {93, 21, (char)9, (char)4, (char)8, (char)2},
5368 {213, 22, (char)9, (char)4, (char)9, (char)2},
5369 {214, 23, (char)9, (char)4, (char)10, (char)2},
5370 {87, 24, (char)9, (char)4, (char)11, (char)2},
5371 {88, 25, (char)9, (char)4, (char)12, (char)2},
5372 {0, 0, (char)0, (char)0, (char)0, (char)0}};
5373#line 183 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5374static struct nand_flash_dev *nand_find_id(unsigned char id )
5375{ int i ;
5376 unsigned long __cil_tmp3 ;
5377 unsigned long __cil_tmp4 ;
5378 unsigned long __cil_tmp5 ;
5379 int __cil_tmp6 ;
5380 unsigned long __cil_tmp7 ;
5381 unsigned long __cil_tmp8 ;
5382 int __cil_tmp9 ;
5383 unsigned long __cil_tmp10 ;
5384 unsigned long __cil_tmp11 ;
5385 void *__cil_tmp12 ;
5386
5387 {
5388#line 187
5389 i = 0;
5390 {
5391#line 187
5392 while (1) {
5393 while_continue: ;
5394 {
5395#line 187
5396 __cil_tmp3 = 228UL / 12UL;
5397#line 187
5398 __cil_tmp4 = __cil_tmp3 + 0UL;
5399#line 187
5400 __cil_tmp5 = (unsigned long )i;
5401#line 187
5402 if (__cil_tmp5 < __cil_tmp4) {
5403
5404 } else {
5405#line 187
5406 goto while_break;
5407 }
5408 }
5409 {
5410#line 188
5411 __cil_tmp6 = (int )id;
5412#line 188
5413 __cil_tmp7 = i * 12UL;
5414#line 188
5415 __cil_tmp8 = (unsigned long )(nand_flash_ids) + __cil_tmp7;
5416#line 188
5417 __cil_tmp9 = *((int *)__cil_tmp8);
5418#line 188
5419 if (__cil_tmp9 == __cil_tmp6) {
5420 {
5421#line 189
5422 __cil_tmp10 = i * 12UL;
5423#line 189
5424 __cil_tmp11 = (unsigned long )(nand_flash_ids) + __cil_tmp10;
5425#line 189
5426 return ((struct nand_flash_dev *)__cil_tmp11);
5427 }
5428 } else {
5429
5430 }
5431 }
5432#line 187
5433 i = i + 1;
5434 }
5435 while_break: ;
5436 }
5437 {
5438#line 190
5439 __cil_tmp12 = (void *)0;
5440#line 190
5441 return ((struct nand_flash_dev *)__cil_tmp12);
5442 }
5443}
5444}
5445#line 196 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5446static unsigned char parity[256] ;
5447#line 197 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5448static unsigned char ecc2[256] ;
5449#line 199 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5450static void nand_init_ecc(void)
5451{ int i ;
5452 int j ;
5453 int a ;
5454 int tmp___7 ;
5455 unsigned long __cil_tmp5 ;
5456 unsigned long __cil_tmp6 ;
5457 unsigned long __cil_tmp7 ;
5458 unsigned long __cil_tmp8 ;
5459 int __cil_tmp9 ;
5460 int __cil_tmp10 ;
5461 unsigned long __cil_tmp11 ;
5462 unsigned long __cil_tmp12 ;
5463 unsigned char __cil_tmp13 ;
5464 int __cil_tmp14 ;
5465 int __cil_tmp15 ;
5466 int __cil_tmp16 ;
5467 int __cil_tmp17 ;
5468 int __cil_tmp18 ;
5469 int __cil_tmp19 ;
5470 unsigned long __cil_tmp20 ;
5471 unsigned long __cil_tmp21 ;
5472 unsigned long __cil_tmp22 ;
5473 unsigned long __cil_tmp23 ;
5474 int __cil_tmp24 ;
5475 int __cil_tmp25 ;
5476 int __cil_tmp26 ;
5477 int __cil_tmp27 ;
5478
5479 {
5480#line 202
5481 __cil_tmp5 = 0 * 1UL;
5482#line 202
5483 __cil_tmp6 = (unsigned long )(parity) + __cil_tmp5;
5484#line 202
5485 *((unsigned char *)__cil_tmp6) = (unsigned char)0;
5486#line 203
5487 i = 1;
5488 {
5489#line 203
5490 while (1) {
5491 while_continue: ;
5492#line 203
5493 if (i < 256) {
5494
5495 } else {
5496#line 203
5497 goto while_break;
5498 }
5499#line 204
5500 __cil_tmp7 = i * 1UL;
5501#line 204
5502 __cil_tmp8 = (unsigned long )(parity) + __cil_tmp7;
5503#line 204
5504 __cil_tmp9 = i - 1;
5505#line 204
5506 __cil_tmp10 = i & __cil_tmp9;
5507#line 204
5508 __cil_tmp11 = __cil_tmp10 * 1UL;
5509#line 204
5510 __cil_tmp12 = (unsigned long )(parity) + __cil_tmp11;
5511#line 204
5512 __cil_tmp13 = *((unsigned char *)__cil_tmp12);
5513#line 204
5514 __cil_tmp14 = (int )__cil_tmp13;
5515#line 204
5516 __cil_tmp15 = __cil_tmp14 ^ 1;
5517#line 204
5518 *((unsigned char *)__cil_tmp8) = (unsigned char )__cil_tmp15;
5519#line 203
5520 i = i + 1;
5521 }
5522 while_break: ;
5523 }
5524#line 206
5525 i = 0;
5526 {
5527#line 206
5528 while (1) {
5529 while_continue___0: ;
5530#line 206
5531 if (i < 256) {
5532
5533 } else {
5534#line 206
5535 goto while_break___0;
5536 }
5537#line 207
5538 a = 0;
5539#line 208
5540 j = 0;
5541 {
5542#line 208
5543 while (1) {
5544 while_continue___1: ;
5545#line 208
5546 if (j < 8) {
5547
5548 } else {
5549#line 208
5550 goto while_break___1;
5551 }
5552 {
5553#line 209
5554 __cil_tmp16 = 1 << j;
5555#line 209
5556 if (i & __cil_tmp16) {
5557 {
5558#line 210
5559 __cil_tmp17 = j & 1;
5560#line 210
5561 if (__cil_tmp17 == 0) {
5562#line 211
5563 a = a ^ 4;
5564 } else {
5565
5566 }
5567 }
5568 {
5569#line 212
5570 __cil_tmp18 = j & 2;
5571#line 212
5572 if (__cil_tmp18 == 0) {
5573#line 213
5574 a = a ^ 16;
5575 } else {
5576
5577 }
5578 }
5579 {
5580#line 214
5581 __cil_tmp19 = j & 4;
5582#line 214
5583 if (__cil_tmp19 == 0) {
5584#line 215
5585 a = a ^ 64;
5586 } else {
5587
5588 }
5589 }
5590 } else {
5591
5592 }
5593 }
5594#line 208
5595 j = j + 1;
5596 }
5597 while_break___1: ;
5598 }
5599 {
5600#line 218
5601 __cil_tmp20 = i * 1UL;
5602#line 218
5603 __cil_tmp21 = (unsigned long )(parity) + __cil_tmp20;
5604#line 218
5605 if (*((unsigned char *)__cil_tmp21)) {
5606#line 218
5607 tmp___7 = 168;
5608 } else {
5609#line 218
5610 tmp___7 = 0;
5611 }
5612 }
5613#line 218
5614 __cil_tmp22 = i * 1UL;
5615#line 218
5616 __cil_tmp23 = (unsigned long )(ecc2) + __cil_tmp22;
5617#line 218
5618 __cil_tmp24 = a << 1;
5619#line 218
5620 __cil_tmp25 = a ^ __cil_tmp24;
5621#line 218
5622 __cil_tmp26 = __cil_tmp25 ^ tmp___7;
5623#line 218
5624 __cil_tmp27 = ~ __cil_tmp26;
5625#line 218
5626 *((unsigned char *)__cil_tmp23) = (unsigned char )__cil_tmp27;
5627#line 206
5628 i = i + 1;
5629 }
5630 while_break___0: ;
5631 }
5632#line 220
5633 return;
5634}
5635}
5636#line 223 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5637static void nand_compute_ecc(unsigned char *data , unsigned char *ecc )
5638{ int i ;
5639 int j ;
5640 int a ;
5641 unsigned char par ;
5642 unsigned char bit ;
5643 unsigned char bits[8] ;
5644 int tmp___7 ;
5645 int tmp___8 ;
5646 unsigned long __cil_tmp11 ;
5647 unsigned long __cil_tmp12 ;
5648 unsigned char *__cil_tmp13 ;
5649 unsigned char __cil_tmp14 ;
5650 int __cil_tmp15 ;
5651 int __cil_tmp16 ;
5652 int __cil_tmp17 ;
5653 unsigned char *__cil_tmp18 ;
5654 unsigned char __cil_tmp19 ;
5655 unsigned long __cil_tmp20 ;
5656 unsigned long __cil_tmp21 ;
5657 int __cil_tmp22 ;
5658 int __cil_tmp23 ;
5659 unsigned long __cil_tmp24 ;
5660 unsigned long __cil_tmp25 ;
5661 int __cil_tmp26 ;
5662 unsigned long __cil_tmp27 ;
5663 unsigned long __cil_tmp28 ;
5664 unsigned char __cil_tmp29 ;
5665 int __cil_tmp30 ;
5666 int __cil_tmp31 ;
5667 unsigned long __cil_tmp32 ;
5668 unsigned long __cil_tmp33 ;
5669 unsigned char __cil_tmp34 ;
5670 int __cil_tmp35 ;
5671 unsigned long __cil_tmp36 ;
5672 unsigned long __cil_tmp37 ;
5673 unsigned char __cil_tmp38 ;
5674 int __cil_tmp39 ;
5675 int __cil_tmp40 ;
5676 unsigned long __cil_tmp41 ;
5677 unsigned long __cil_tmp42 ;
5678 unsigned char __cil_tmp43 ;
5679 int __cil_tmp44 ;
5680 int __cil_tmp45 ;
5681 unsigned long __cil_tmp46 ;
5682 unsigned long __cil_tmp47 ;
5683 unsigned char __cil_tmp48 ;
5684 int __cil_tmp49 ;
5685 int __cil_tmp50 ;
5686 int __cil_tmp51 ;
5687 int __cil_tmp52 ;
5688 unsigned long __cil_tmp53 ;
5689 unsigned long __cil_tmp54 ;
5690 unsigned char *__cil_tmp55 ;
5691 int __cil_tmp56 ;
5692 int __cil_tmp57 ;
5693 int __cil_tmp58 ;
5694 int __cil_tmp59 ;
5695 unsigned long __cil_tmp60 ;
5696 unsigned long __cil_tmp61 ;
5697 unsigned char __cil_tmp62 ;
5698 int __cil_tmp63 ;
5699 unsigned long __cil_tmp64 ;
5700 unsigned long __cil_tmp65 ;
5701 unsigned char __cil_tmp66 ;
5702 int __cil_tmp67 ;
5703 int __cil_tmp68 ;
5704 unsigned long __cil_tmp69 ;
5705 unsigned long __cil_tmp70 ;
5706 unsigned char __cil_tmp71 ;
5707 int __cil_tmp72 ;
5708 int __cil_tmp73 ;
5709 unsigned long __cil_tmp74 ;
5710 unsigned long __cil_tmp75 ;
5711 unsigned char __cil_tmp76 ;
5712 int __cil_tmp77 ;
5713 int __cil_tmp78 ;
5714 int __cil_tmp79 ;
5715 int __cil_tmp80 ;
5716 unsigned long __cil_tmp81 ;
5717 unsigned long __cil_tmp82 ;
5718 unsigned char *__cil_tmp83 ;
5719 int __cil_tmp84 ;
5720 int __cil_tmp85 ;
5721 int __cil_tmp86 ;
5722 int __cil_tmp87 ;
5723 unsigned char *__cil_tmp88 ;
5724 unsigned long __cil_tmp89 ;
5725 unsigned long __cil_tmp90 ;
5726
5727 {
5728#line 227
5729 par = (unsigned char)0;
5730#line 228
5731 j = 0;
5732 {
5733#line 228
5734 while (1) {
5735 while_continue: ;
5736#line 228
5737 if (j < 8) {
5738
5739 } else {
5740#line 228
5741 goto while_break;
5742 }
5743#line 229
5744 __cil_tmp11 = j * 1UL;
5745#line 229
5746 __cil_tmp12 = (unsigned long )(bits) + __cil_tmp11;
5747#line 229
5748 *((unsigned char *)__cil_tmp12) = (unsigned char)0;
5749#line 228
5750 j = j + 1;
5751 }
5752 while_break: ;
5753 }
5754#line 232
5755 i = 0;
5756 {
5757#line 232
5758 while (1) {
5759 while_continue___0: ;
5760#line 232
5761 if (i < 256) {
5762
5763 } else {
5764#line 232
5765 goto while_break___0;
5766 }
5767#line 233
5768 __cil_tmp13 = data + i;
5769#line 233
5770 __cil_tmp14 = *__cil_tmp13;
5771#line 233
5772 __cil_tmp15 = (int )__cil_tmp14;
5773#line 233
5774 __cil_tmp16 = (int )par;
5775#line 233
5776 __cil_tmp17 = __cil_tmp16 ^ __cil_tmp15;
5777#line 233
5778 par = (unsigned char )__cil_tmp17;
5779#line 234
5780 __cil_tmp18 = data + i;
5781#line 234
5782 __cil_tmp19 = *__cil_tmp18;
5783#line 234
5784 __cil_tmp20 = __cil_tmp19 * 1UL;
5785#line 234
5786 __cil_tmp21 = (unsigned long )(parity) + __cil_tmp20;
5787#line 234
5788 bit = *((unsigned char *)__cil_tmp21);
5789#line 235
5790 j = 0;
5791 {
5792#line 235
5793 while (1) {
5794 while_continue___1: ;
5795#line 235
5796 if (j < 8) {
5797
5798 } else {
5799#line 235
5800 goto while_break___1;
5801 }
5802 {
5803#line 236
5804 __cil_tmp22 = 1 << j;
5805#line 236
5806 __cil_tmp23 = i & __cil_tmp22;
5807#line 236
5808 if (__cil_tmp23 == 0) {
5809#line 237
5810 __cil_tmp24 = j * 1UL;
5811#line 237
5812 __cil_tmp25 = (unsigned long )(bits) + __cil_tmp24;
5813#line 237
5814 __cil_tmp26 = (int )bit;
5815#line 237
5816 __cil_tmp27 = j * 1UL;
5817#line 237
5818 __cil_tmp28 = (unsigned long )(bits) + __cil_tmp27;
5819#line 237
5820 __cil_tmp29 = *((unsigned char *)__cil_tmp28);
5821#line 237
5822 __cil_tmp30 = (int )__cil_tmp29;
5823#line 237
5824 __cil_tmp31 = __cil_tmp30 ^ __cil_tmp26;
5825#line 237
5826 *((unsigned char *)__cil_tmp25) = (unsigned char )__cil_tmp31;
5827 } else {
5828
5829 }
5830 }
5831#line 235
5832 j = j + 1;
5833 }
5834 while_break___1: ;
5835 }
5836#line 232
5837 i = i + 1;
5838 }
5839 while_break___0: ;
5840 }
5841#line 241
5842 __cil_tmp32 = 0 * 1UL;
5843#line 241
5844 __cil_tmp33 = (unsigned long )(bits) + __cil_tmp32;
5845#line 241
5846 __cil_tmp34 = *((unsigned char *)__cil_tmp33);
5847#line 241
5848 __cil_tmp35 = (int )__cil_tmp34;
5849#line 241
5850 __cil_tmp36 = 1 * 1UL;
5851#line 241
5852 __cil_tmp37 = (unsigned long )(bits) + __cil_tmp36;
5853#line 241
5854 __cil_tmp38 = *((unsigned char *)__cil_tmp37);
5855#line 241
5856 __cil_tmp39 = (int )__cil_tmp38;
5857#line 241
5858 __cil_tmp40 = __cil_tmp39 << 2;
5859#line 241
5860 __cil_tmp41 = 2 * 1UL;
5861#line 241
5862 __cil_tmp42 = (unsigned long )(bits) + __cil_tmp41;
5863#line 241
5864 __cil_tmp43 = *((unsigned char *)__cil_tmp42);
5865#line 241
5866 __cil_tmp44 = (int )__cil_tmp43;
5867#line 241
5868 __cil_tmp45 = __cil_tmp44 << 4;
5869#line 241
5870 __cil_tmp46 = 3 * 1UL;
5871#line 241
5872 __cil_tmp47 = (unsigned long )(bits) + __cil_tmp46;
5873#line 241
5874 __cil_tmp48 = *((unsigned char *)__cil_tmp47);
5875#line 241
5876 __cil_tmp49 = (int )__cil_tmp48;
5877#line 241
5878 __cil_tmp50 = __cil_tmp49 << 6;
5879#line 241
5880 __cil_tmp51 = __cil_tmp50 + __cil_tmp45;
5881#line 241
5882 __cil_tmp52 = __cil_tmp51 + __cil_tmp40;
5883#line 241
5884 a = __cil_tmp52 + __cil_tmp35;
5885 {
5886#line 242
5887 __cil_tmp53 = par * 1UL;
5888#line 242
5889 __cil_tmp54 = (unsigned long )(parity) + __cil_tmp53;
5890#line 242
5891 if (*((unsigned char *)__cil_tmp54)) {
5892#line 242
5893 tmp___7 = 170;
5894 } else {
5895#line 242
5896 tmp___7 = 0;
5897 }
5898 }
5899#line 242
5900 __cil_tmp55 = ecc + 0;
5901#line 242
5902 __cil_tmp56 = a << 1;
5903#line 242
5904 __cil_tmp57 = a ^ __cil_tmp56;
5905#line 242
5906 __cil_tmp58 = __cil_tmp57 ^ tmp___7;
5907#line 242
5908 __cil_tmp59 = ~ __cil_tmp58;
5909#line 242
5910 *__cil_tmp55 = (unsigned char )__cil_tmp59;
5911#line 244
5912 __cil_tmp60 = 4 * 1UL;
5913#line 244
5914 __cil_tmp61 = (unsigned long )(bits) + __cil_tmp60;
5915#line 244
5916 __cil_tmp62 = *((unsigned char *)__cil_tmp61);
5917#line 244
5918 __cil_tmp63 = (int )__cil_tmp62;
5919#line 244
5920 __cil_tmp64 = 5 * 1UL;
5921#line 244
5922 __cil_tmp65 = (unsigned long )(bits) + __cil_tmp64;
5923#line 244
5924 __cil_tmp66 = *((unsigned char *)__cil_tmp65);
5925#line 244
5926 __cil_tmp67 = (int )__cil_tmp66;
5927#line 244
5928 __cil_tmp68 = __cil_tmp67 << 2;
5929#line 244
5930 __cil_tmp69 = 6 * 1UL;
5931#line 244
5932 __cil_tmp70 = (unsigned long )(bits) + __cil_tmp69;
5933#line 244
5934 __cil_tmp71 = *((unsigned char *)__cil_tmp70);
5935#line 244
5936 __cil_tmp72 = (int )__cil_tmp71;
5937#line 244
5938 __cil_tmp73 = __cil_tmp72 << 4;
5939#line 244
5940 __cil_tmp74 = 7 * 1UL;
5941#line 244
5942 __cil_tmp75 = (unsigned long )(bits) + __cil_tmp74;
5943#line 244
5944 __cil_tmp76 = *((unsigned char *)__cil_tmp75);
5945#line 244
5946 __cil_tmp77 = (int )__cil_tmp76;
5947#line 244
5948 __cil_tmp78 = __cil_tmp77 << 6;
5949#line 244
5950 __cil_tmp79 = __cil_tmp78 + __cil_tmp73;
5951#line 244
5952 __cil_tmp80 = __cil_tmp79 + __cil_tmp68;
5953#line 244
5954 a = __cil_tmp80 + __cil_tmp63;
5955 {
5956#line 245
5957 __cil_tmp81 = par * 1UL;
5958#line 245
5959 __cil_tmp82 = (unsigned long )(parity) + __cil_tmp81;
5960#line 245
5961 if (*((unsigned char *)__cil_tmp82)) {
5962#line 245
5963 tmp___8 = 170;
5964 } else {
5965#line 245
5966 tmp___8 = 0;
5967 }
5968 }
5969#line 245
5970 __cil_tmp83 = ecc + 1;
5971#line 245
5972 __cil_tmp84 = a << 1;
5973#line 245
5974 __cil_tmp85 = a ^ __cil_tmp84;
5975#line 245
5976 __cil_tmp86 = __cil_tmp85 ^ tmp___8;
5977#line 245
5978 __cil_tmp87 = ~ __cil_tmp86;
5979#line 245
5980 *__cil_tmp83 = (unsigned char )__cil_tmp87;
5981#line 247
5982 __cil_tmp88 = ecc + 2;
5983#line 247
5984 __cil_tmp89 = par * 1UL;
5985#line 247
5986 __cil_tmp90 = (unsigned long )(ecc2) + __cil_tmp89;
5987#line 247
5988 *__cil_tmp88 = *((unsigned char *)__cil_tmp90);
5989#line 248
5990 return;
5991}
5992}
5993#line 250 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
5994static int nand_compare_ecc(unsigned char *data , unsigned char *ecc )
5995{ int tmp___7 ;
5996 unsigned char *__cil_tmp4 ;
5997 unsigned char __cil_tmp5 ;
5998 int __cil_tmp6 ;
5999 unsigned char *__cil_tmp7 ;
6000 unsigned char __cil_tmp8 ;
6001 int __cil_tmp9 ;
6002 unsigned char *__cil_tmp10 ;
6003 unsigned char __cil_tmp11 ;
6004 int __cil_tmp12 ;
6005 unsigned char *__cil_tmp13 ;
6006 unsigned char __cil_tmp14 ;
6007 int __cil_tmp15 ;
6008 unsigned char *__cil_tmp16 ;
6009 unsigned char __cil_tmp17 ;
6010 int __cil_tmp18 ;
6011 unsigned char *__cil_tmp19 ;
6012 unsigned char __cil_tmp20 ;
6013 int __cil_tmp21 ;
6014
6015 {
6016 {
6017#line 251
6018 __cil_tmp4 = ecc + 0;
6019#line 251
6020 __cil_tmp5 = *__cil_tmp4;
6021#line 251
6022 __cil_tmp6 = (int )__cil_tmp5;
6023#line 251
6024 __cil_tmp7 = data + 0;
6025#line 251
6026 __cil_tmp8 = *__cil_tmp7;
6027#line 251
6028 __cil_tmp9 = (int )__cil_tmp8;
6029#line 251
6030 if (__cil_tmp9 == __cil_tmp6) {
6031 {
6032#line 251
6033 __cil_tmp10 = ecc + 1;
6034#line 251
6035 __cil_tmp11 = *__cil_tmp10;
6036#line 251
6037 __cil_tmp12 = (int )__cil_tmp11;
6038#line 251
6039 __cil_tmp13 = data + 1;
6040#line 251
6041 __cil_tmp14 = *__cil_tmp13;
6042#line 251
6043 __cil_tmp15 = (int )__cil_tmp14;
6044#line 251
6045 if (__cil_tmp15 == __cil_tmp12) {
6046 {
6047#line 251
6048 __cil_tmp16 = ecc + 2;
6049#line 251
6050 __cil_tmp17 = *__cil_tmp16;
6051#line 251
6052 __cil_tmp18 = (int )__cil_tmp17;
6053#line 251
6054 __cil_tmp19 = data + 2;
6055#line 251
6056 __cil_tmp20 = *__cil_tmp19;
6057#line 251
6058 __cil_tmp21 = (int )__cil_tmp20;
6059#line 251
6060 if (__cil_tmp21 == __cil_tmp18) {
6061#line 251
6062 tmp___7 = 1;
6063 } else {
6064#line 251
6065 tmp___7 = 0;
6066 }
6067 }
6068 } else {
6069#line 251
6070 tmp___7 = 0;
6071 }
6072 }
6073 } else {
6074#line 251
6075 tmp___7 = 0;
6076 }
6077 }
6078#line 251
6079 return (tmp___7);
6080}
6081}
6082#line 254 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6083static void nand_store_ecc(unsigned char *data , unsigned char *ecc )
6084{ size_t __len ;
6085 void *__ret ;
6086 void *__cil_tmp5 ;
6087 void const *__cil_tmp6 ;
6088 void *__cil_tmp7 ;
6089 void const *__cil_tmp8 ;
6090
6091 {
6092#line 255
6093 __len = (size_t )3;
6094#line 255
6095 if (__len >= 64UL) {
6096 {
6097#line 255
6098 __cil_tmp5 = (void *)data;
6099#line 255
6100 __cil_tmp6 = (void const *)ecc;
6101#line 255
6102 __ret = __memcpy(__cil_tmp5, __cil_tmp6, __len);
6103 }
6104 } else {
6105 {
6106#line 255
6107 __cil_tmp7 = (void *)data;
6108#line 255
6109 __cil_tmp8 = (void const *)ecc;
6110#line 255
6111 __ret = __builtin_memcpy(__cil_tmp7, __cil_tmp8, __len);
6112 }
6113 }
6114#line 256
6115 return;
6116}
6117}
6118#line 299 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6119static int const erase_bad_lba_entries = (int const )0;
6120#line 303 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6121static int sddr09_send_command(struct us_data *us , unsigned char request , unsigned char direction ,
6122 unsigned char *xfer_data , unsigned int xfer_len )
6123{ unsigned int pipe ;
6124 unsigned char requesttype ;
6125 int rc ;
6126 int __cil_tmp9 ;
6127 int __cil_tmp10 ;
6128 int __cil_tmp11 ;
6129 unsigned long __cil_tmp12 ;
6130 unsigned long __cil_tmp13 ;
6131 unsigned long __cil_tmp14 ;
6132 unsigned long __cil_tmp15 ;
6133 u16 __cil_tmp16 ;
6134 u16 __cil_tmp17 ;
6135 void *__cil_tmp18 ;
6136 u16 __cil_tmp19 ;
6137
6138 {
6139#line 310
6140 __cil_tmp9 = (int )direction;
6141#line 310
6142 __cil_tmp10 = 65 | __cil_tmp9;
6143#line 310
6144 requesttype = (unsigned char )__cil_tmp10;
6145 {
6146#line 315
6147 __cil_tmp11 = (int )direction;
6148#line 315
6149 if (__cil_tmp11 == 128) {
6150#line 316
6151 __cil_tmp12 = (unsigned long )us;
6152#line 316
6153 __cil_tmp13 = __cil_tmp12 + 124;
6154#line 316
6155 pipe = *((unsigned int *)__cil_tmp13);
6156 } else {
6157#line 318
6158 __cil_tmp14 = (unsigned long )us;
6159#line 318
6160 __cil_tmp15 = __cil_tmp14 + 120;
6161#line 318
6162 pipe = *((unsigned int *)__cil_tmp15);
6163 }
6164 }
6165 {
6166#line 320
6167 __cil_tmp16 = (u16 )0;
6168#line 320
6169 __cil_tmp17 = (u16 )0;
6170#line 320
6171 __cil_tmp18 = (void *)xfer_data;
6172#line 320
6173 __cil_tmp19 = (u16 )xfer_len;
6174#line 320
6175 rc = usb_stor_ctrl_transfer(us, pipe, request, requesttype, __cil_tmp16, __cil_tmp17,
6176 __cil_tmp18, __cil_tmp19);
6177 }
6178#line 323
6179 if (rc == 0) {
6180#line 323
6181 goto case_0;
6182 } else
6183#line 324
6184 if (rc == 2) {
6185#line 324
6186 goto case_2;
6187 } else {
6188 {
6189#line 325
6190 goto switch_default;
6191#line 322
6192 if (0) {
6193 case_0:
6194#line 323
6195 return (0);
6196 case_2:
6197#line 324
6198 return (-32);
6199 switch_default:
6200#line 325
6201 return (-5);
6202 } else {
6203 switch_break: ;
6204 }
6205 }
6206 }
6207}
6208}
6209#line 329 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6210static int sddr09_send_scsi_command(struct us_data *us , unsigned char *command ,
6211 unsigned int command_len )
6212{ int tmp___7 ;
6213
6214 {
6215 {
6216#line 333
6217 tmp___7 = sddr09_send_command(us, (unsigned char)0, (unsigned char)0, command, command_len);
6218 }
6219#line 333
6220 return (tmp___7);
6221}
6222}
6223#line 362 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6224static int sddr09_request_sense(struct us_data *us , unsigned char *sensebuf , int buflen )
6225{ unsigned char *command ;
6226 int result ;
6227 int tmp___7 ;
6228 unsigned long __cil_tmp7 ;
6229 unsigned long __cil_tmp8 ;
6230 void *__cil_tmp9 ;
6231 size_t __cil_tmp10 ;
6232 unsigned char *__cil_tmp11 ;
6233 unsigned char *__cil_tmp12 ;
6234 int __cil_tmp13 ;
6235 unsigned char *__cil_tmp14 ;
6236 unsigned long __cil_tmp15 ;
6237 unsigned long __cil_tmp16 ;
6238 unsigned int __cil_tmp17 ;
6239 void *__cil_tmp18 ;
6240 unsigned int __cil_tmp19 ;
6241 void *__cil_tmp20 ;
6242 unsigned int *__cil_tmp21 ;
6243
6244 {
6245 {
6246#line 364
6247 __cil_tmp7 = (unsigned long )us;
6248#line 364
6249 __cil_tmp8 = __cil_tmp7 + 376;
6250#line 364
6251 command = *((unsigned char **)__cil_tmp8);
6252#line 367
6253 __cil_tmp9 = (void *)command;
6254#line 367
6255 __cil_tmp10 = (size_t )12;
6256#line 367
6257 memset(__cil_tmp9, 0, __cil_tmp10);
6258#line 368
6259 __cil_tmp11 = command + 0;
6260#line 368
6261 *__cil_tmp11 = (unsigned char)3;
6262#line 369
6263 __cil_tmp12 = command + 1;
6264#line 369
6265 __cil_tmp13 = 1 << 5;
6266#line 369
6267 *__cil_tmp12 = (unsigned char )__cil_tmp13;
6268#line 370
6269 __cil_tmp14 = command + 4;
6270#line 370
6271 *__cil_tmp14 = (unsigned char )buflen;
6272#line 372
6273 result = sddr09_send_scsi_command(us, command, 12U);
6274 }
6275#line 373
6276 if (result) {
6277#line 374
6278 return (result);
6279 } else {
6280
6281 }
6282 {
6283#line 376
6284 __cil_tmp15 = (unsigned long )us;
6285#line 376
6286 __cil_tmp16 = __cil_tmp15 + 116;
6287#line 376
6288 __cil_tmp17 = *((unsigned int *)__cil_tmp16);
6289#line 376
6290 __cil_tmp18 = (void *)sensebuf;
6291#line 376
6292 __cil_tmp19 = (unsigned int )buflen;
6293#line 376
6294 __cil_tmp20 = (void *)0;
6295#line 376
6296 __cil_tmp21 = (unsigned int *)__cil_tmp20;
6297#line 376
6298 result = usb_stor_bulk_transfer_buf(us, __cil_tmp17, __cil_tmp18, __cil_tmp19, __cil_tmp21);
6299 }
6300#line 378
6301 if (result == 0) {
6302#line 378
6303 tmp___7 = 0;
6304 } else {
6305#line 378
6306 tmp___7 = -5;
6307 }
6308#line 378
6309 return (tmp___7);
6310}
6311}
6312#line 403 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6313static int sddr09_readX(struct us_data *us , int x , unsigned long fromaddress , int nr_of_pages ,
6314 int bulklen , unsigned char *buf , int use_sg )
6315{ unsigned char *command ;
6316 int result ;
6317 unsigned long __cil_tmp10 ;
6318 unsigned long __cil_tmp11 ;
6319 unsigned char *__cil_tmp12 ;
6320 unsigned char *__cil_tmp13 ;
6321 int __cil_tmp14 ;
6322 int __cil_tmp15 ;
6323 unsigned char *__cil_tmp16 ;
6324 unsigned long __cil_tmp17 ;
6325 unsigned long __cil_tmp18 ;
6326 unsigned char *__cil_tmp19 ;
6327 unsigned long __cil_tmp20 ;
6328 unsigned long __cil_tmp21 ;
6329 unsigned char *__cil_tmp22 ;
6330 unsigned long __cil_tmp23 ;
6331 unsigned long __cil_tmp24 ;
6332 unsigned char *__cil_tmp25 ;
6333 unsigned long __cil_tmp26 ;
6334 unsigned long __cil_tmp27 ;
6335 unsigned char *__cil_tmp28 ;
6336 unsigned char *__cil_tmp29 ;
6337 unsigned char *__cil_tmp30 ;
6338 unsigned char *__cil_tmp31 ;
6339 unsigned char *__cil_tmp32 ;
6340 int __cil_tmp33 ;
6341 unsigned char *__cil_tmp34 ;
6342 int __cil_tmp35 ;
6343 unsigned long __cil_tmp36 ;
6344 unsigned long __cil_tmp37 ;
6345 unsigned int __cil_tmp38 ;
6346 void *__cil_tmp39 ;
6347 unsigned int __cil_tmp40 ;
6348 void *__cil_tmp41 ;
6349 int *__cil_tmp42 ;
6350
6351 {
6352 {
6353#line 408
6354 __cil_tmp10 = (unsigned long )us;
6355#line 408
6356 __cil_tmp11 = __cil_tmp10 + 376;
6357#line 408
6358 command = *((unsigned char **)__cil_tmp11);
6359#line 411
6360 __cil_tmp12 = command + 0;
6361#line 411
6362 *__cil_tmp12 = (unsigned char)232;
6363#line 412
6364 __cil_tmp13 = command + 1;
6365#line 412
6366 __cil_tmp14 = 1 << 5;
6367#line 412
6368 __cil_tmp15 = __cil_tmp14 | x;
6369#line 412
6370 *__cil_tmp13 = (unsigned char )__cil_tmp15;
6371#line 413
6372 __cil_tmp16 = command + 2;
6373#line 413
6374 __cil_tmp17 = fromaddress >> 16;
6375#line 413
6376 __cil_tmp18 = __cil_tmp17 >> 8;
6377#line 413
6378 *__cil_tmp16 = (unsigned char )__cil_tmp18;
6379#line 414
6380 __cil_tmp19 = command + 3;
6381#line 414
6382 __cil_tmp20 = fromaddress >> 16;
6383#line 414
6384 __cil_tmp21 = __cil_tmp20 & 255UL;
6385#line 414
6386 *__cil_tmp19 = (unsigned char )__cil_tmp21;
6387#line 415
6388 __cil_tmp22 = command + 4;
6389#line 415
6390 __cil_tmp23 = fromaddress & 65535UL;
6391#line 415
6392 __cil_tmp24 = __cil_tmp23 >> 8;
6393#line 415
6394 *__cil_tmp22 = (unsigned char )__cil_tmp24;
6395#line 416
6396 __cil_tmp25 = command + 5;
6397#line 416
6398 __cil_tmp26 = fromaddress & 65535UL;
6399#line 416
6400 __cil_tmp27 = __cil_tmp26 & 255UL;
6401#line 416
6402 *__cil_tmp25 = (unsigned char )__cil_tmp27;
6403#line 417
6404 __cil_tmp28 = command + 6;
6405#line 417
6406 *__cil_tmp28 = (unsigned char)0;
6407#line 418
6408 __cil_tmp29 = command + 7;
6409#line 418
6410 *__cil_tmp29 = (unsigned char)0;
6411#line 419
6412 __cil_tmp30 = command + 8;
6413#line 419
6414 *__cil_tmp30 = (unsigned char)0;
6415#line 420
6416 __cil_tmp31 = command + 9;
6417#line 420
6418 *__cil_tmp31 = (unsigned char)0;
6419#line 421
6420 __cil_tmp32 = command + 10;
6421#line 421
6422 __cil_tmp33 = nr_of_pages >> 8;
6423#line 421
6424 *__cil_tmp32 = (unsigned char )__cil_tmp33;
6425#line 422
6426 __cil_tmp34 = command + 11;
6427#line 422
6428 __cil_tmp35 = nr_of_pages & 255;
6429#line 422
6430 *__cil_tmp34 = (unsigned char )__cil_tmp35;
6431#line 424
6432 result = sddr09_send_scsi_command(us, command, 12U);
6433 }
6434#line 426
6435 if (result) {
6436 {
6437#line 427
6438 printk("<7>usb-storage: Result for send_control in sddr09_read2%d %d\n", x, result);
6439 }
6440#line 429
6441 return (result);
6442 } else {
6443
6444 }
6445 {
6446#line 432
6447 __cil_tmp36 = (unsigned long )us;
6448#line 432
6449 __cil_tmp37 = __cil_tmp36 + 116;
6450#line 432
6451 __cil_tmp38 = *((unsigned int *)__cil_tmp37);
6452#line 432
6453 __cil_tmp39 = (void *)buf;
6454#line 432
6455 __cil_tmp40 = (unsigned int )bulklen;
6456#line 432
6457 __cil_tmp41 = (void *)0;
6458#line 432
6459 __cil_tmp42 = (int *)__cil_tmp41;
6460#line 432
6461 result = usb_stor_bulk_transfer_sg(us, __cil_tmp38, __cil_tmp39, __cil_tmp40, use_sg,
6462 __cil_tmp42);
6463 }
6464#line 435
6465 if (result != 0) {
6466 {
6467#line 436
6468 printk("<7>usb-storage: Result for bulk_transfer in sddr09_read2%d %d\n", x, result);
6469 }
6470#line 438
6471 return (-5);
6472 } else {
6473
6474 }
6475#line 440
6476 return (0);
6477}
6478}
6479#line 452 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6480static int sddr09_read20(struct us_data *us , unsigned long fromaddress , int nr_of_pages ,
6481 int pageshift , unsigned char *buf , int use_sg )
6482{ int bulklen ;
6483 int tmp___7 ;
6484
6485 {
6486 {
6487#line 455
6488 bulklen = nr_of_pages << pageshift;
6489#line 458
6490 tmp___7 = sddr09_readX(us, 0, fromaddress, nr_of_pages, bulklen, buf, use_sg);
6491 }
6492#line 458
6493 return (tmp___7);
6494}
6495}
6496#line 475 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6497static int sddr09_read21(struct us_data *us , unsigned long fromaddress , int count ,
6498 int controlshift , unsigned char *buf , int use_sg )
6499{ int bulklen ;
6500 int tmp___7 ;
6501
6502 {
6503 {
6504#line 479
6505 bulklen = count << controlshift;
6506#line 480
6507 tmp___7 = sddr09_readX(us, 1, fromaddress, count, bulklen, buf, use_sg);
6508 }
6509#line 480
6510 return (tmp___7);
6511}
6512}
6513#line 493 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6514static int sddr09_read22(struct us_data *us , unsigned long fromaddress , int nr_of_pages ,
6515 int pageshift , unsigned char *buf , int use_sg )
6516{ int bulklen ;
6517 int tmp___7 ;
6518 int __cil_tmp9 ;
6519 int __cil_tmp10 ;
6520
6521 {
6522 {
6523#line 497
6524 __cil_tmp9 = nr_of_pages << 6;
6525#line 497
6526 __cil_tmp10 = nr_of_pages << pageshift;
6527#line 497
6528 bulklen = __cil_tmp10 + __cil_tmp9;
6529#line 498
6530 printk("<7>usb-storage: sddr09_read22: reading %d pages, %d bytes\n", nr_of_pages,
6531 bulklen);
6532#line 500
6533 tmp___7 = sddr09_readX(us, 2, fromaddress, nr_of_pages, bulklen, buf, use_sg);
6534 }
6535#line 500
6536 return (tmp___7);
6537}
6538}
6539#line 537 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6540static int sddr09_erase(struct us_data *us , unsigned long Eaddress )
6541{ unsigned char *command ;
6542 int result ;
6543 unsigned long __cil_tmp5 ;
6544 unsigned long __cil_tmp6 ;
6545 void *__cil_tmp7 ;
6546 size_t __cil_tmp8 ;
6547 unsigned char *__cil_tmp9 ;
6548 unsigned char *__cil_tmp10 ;
6549 int __cil_tmp11 ;
6550 unsigned char *__cil_tmp12 ;
6551 unsigned long __cil_tmp13 ;
6552 unsigned long __cil_tmp14 ;
6553 unsigned char *__cil_tmp15 ;
6554 unsigned long __cil_tmp16 ;
6555 unsigned long __cil_tmp17 ;
6556 unsigned char *__cil_tmp18 ;
6557 unsigned long __cil_tmp19 ;
6558 unsigned long __cil_tmp20 ;
6559 unsigned char *__cil_tmp21 ;
6560 unsigned long __cil_tmp22 ;
6561 unsigned long __cil_tmp23 ;
6562
6563 {
6564 {
6565#line 539
6566 __cil_tmp5 = (unsigned long )us;
6567#line 539
6568 __cil_tmp6 = __cil_tmp5 + 376;
6569#line 539
6570 command = *((unsigned char **)__cil_tmp6);
6571#line 542
6572 printk("<7>usb-storage: sddr09_erase: erase address %lu\n", Eaddress);
6573#line 544
6574 __cil_tmp7 = (void *)command;
6575#line 544
6576 __cil_tmp8 = (size_t )12;
6577#line 544
6578 memset(__cil_tmp7, 0, __cil_tmp8);
6579#line 545
6580 __cil_tmp9 = command + 0;
6581#line 545
6582 *__cil_tmp9 = (unsigned char)234;
6583#line 546
6584 __cil_tmp10 = command + 1;
6585#line 546
6586 __cil_tmp11 = 1 << 5;
6587#line 546
6588 *__cil_tmp10 = (unsigned char )__cil_tmp11;
6589#line 547
6590 __cil_tmp12 = command + 6;
6591#line 547
6592 __cil_tmp13 = Eaddress >> 16;
6593#line 547
6594 __cil_tmp14 = __cil_tmp13 >> 8;
6595#line 547
6596 *__cil_tmp12 = (unsigned char )__cil_tmp14;
6597#line 548
6598 __cil_tmp15 = command + 7;
6599#line 548
6600 __cil_tmp16 = Eaddress >> 16;
6601#line 548
6602 __cil_tmp17 = __cil_tmp16 & 255UL;
6603#line 548
6604 *__cil_tmp15 = (unsigned char )__cil_tmp17;
6605#line 549
6606 __cil_tmp18 = command + 8;
6607#line 549
6608 __cil_tmp19 = Eaddress & 65535UL;
6609#line 549
6610 __cil_tmp20 = __cil_tmp19 >> 8;
6611#line 549
6612 *__cil_tmp18 = (unsigned char )__cil_tmp20;
6613#line 550
6614 __cil_tmp21 = command + 9;
6615#line 550
6616 __cil_tmp22 = Eaddress & 65535UL;
6617#line 550
6618 __cil_tmp23 = __cil_tmp22 & 255UL;
6619#line 550
6620 *__cil_tmp21 = (unsigned char )__cil_tmp23;
6621#line 552
6622 result = sddr09_send_scsi_command(us, command, 12U);
6623 }
6624#line 554
6625 if (result) {
6626 {
6627#line 555
6628 printk("<7>usb-storage: Result for send_control in sddr09_erase %d\n", result);
6629 }
6630 } else {
6631
6632 }
6633#line 558
6634 return (result);
6635}
6636}
6637#line 586 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6638static int sddr09_writeX(struct us_data *us , unsigned long Waddress , unsigned long Eaddress ,
6639 int nr_of_pages , int bulklen , unsigned char *buf , int use_sg )
6640{ unsigned char *command ;
6641 int result ;
6642 unsigned long __cil_tmp10 ;
6643 unsigned long __cil_tmp11 ;
6644 unsigned char *__cil_tmp12 ;
6645 unsigned char *__cil_tmp13 ;
6646 int __cil_tmp14 ;
6647 unsigned char *__cil_tmp15 ;
6648 unsigned long __cil_tmp16 ;
6649 unsigned long __cil_tmp17 ;
6650 unsigned char *__cil_tmp18 ;
6651 unsigned long __cil_tmp19 ;
6652 unsigned long __cil_tmp20 ;
6653 unsigned char *__cil_tmp21 ;
6654 unsigned long __cil_tmp22 ;
6655 unsigned long __cil_tmp23 ;
6656 unsigned char *__cil_tmp24 ;
6657 unsigned long __cil_tmp25 ;
6658 unsigned long __cil_tmp26 ;
6659 unsigned char *__cil_tmp27 ;
6660 unsigned long __cil_tmp28 ;
6661 unsigned long __cil_tmp29 ;
6662 unsigned char *__cil_tmp30 ;
6663 unsigned long __cil_tmp31 ;
6664 unsigned long __cil_tmp32 ;
6665 unsigned char *__cil_tmp33 ;
6666 unsigned long __cil_tmp34 ;
6667 unsigned long __cil_tmp35 ;
6668 unsigned char *__cil_tmp36 ;
6669 unsigned long __cil_tmp37 ;
6670 unsigned long __cil_tmp38 ;
6671 unsigned char *__cil_tmp39 ;
6672 int __cil_tmp40 ;
6673 unsigned char *__cil_tmp41 ;
6674 int __cil_tmp42 ;
6675 unsigned long __cil_tmp43 ;
6676 unsigned long __cil_tmp44 ;
6677 unsigned int __cil_tmp45 ;
6678 void *__cil_tmp46 ;
6679 unsigned int __cil_tmp47 ;
6680 void *__cil_tmp48 ;
6681 int *__cil_tmp49 ;
6682
6683 {
6684 {
6685#line 591
6686 __cil_tmp10 = (unsigned long )us;
6687#line 591
6688 __cil_tmp11 = __cil_tmp10 + 376;
6689#line 591
6690 command = *((unsigned char **)__cil_tmp11);
6691#line 594
6692 __cil_tmp12 = command + 0;
6693#line 594
6694 *__cil_tmp12 = (unsigned char)233;
6695#line 595
6696 __cil_tmp13 = command + 1;
6697#line 595
6698 __cil_tmp14 = 1 << 5;
6699#line 595
6700 *__cil_tmp13 = (unsigned char )__cil_tmp14;
6701#line 597
6702 __cil_tmp15 = command + 2;
6703#line 597
6704 __cil_tmp16 = Waddress >> 16;
6705#line 597
6706 __cil_tmp17 = __cil_tmp16 >> 8;
6707#line 597
6708 *__cil_tmp15 = (unsigned char )__cil_tmp17;
6709#line 598
6710 __cil_tmp18 = command + 3;
6711#line 598
6712 __cil_tmp19 = Waddress >> 16;
6713#line 598
6714 __cil_tmp20 = __cil_tmp19 & 255UL;
6715#line 598
6716 *__cil_tmp18 = (unsigned char )__cil_tmp20;
6717#line 599
6718 __cil_tmp21 = command + 4;
6719#line 599
6720 __cil_tmp22 = Waddress & 65535UL;
6721#line 599
6722 __cil_tmp23 = __cil_tmp22 >> 8;
6723#line 599
6724 *__cil_tmp21 = (unsigned char )__cil_tmp23;
6725#line 600
6726 __cil_tmp24 = command + 5;
6727#line 600
6728 __cil_tmp25 = Waddress & 65535UL;
6729#line 600
6730 __cil_tmp26 = __cil_tmp25 & 255UL;
6731#line 600
6732 *__cil_tmp24 = (unsigned char )__cil_tmp26;
6733#line 602
6734 __cil_tmp27 = command + 6;
6735#line 602
6736 __cil_tmp28 = Eaddress >> 16;
6737#line 602
6738 __cil_tmp29 = __cil_tmp28 >> 8;
6739#line 602
6740 *__cil_tmp27 = (unsigned char )__cil_tmp29;
6741#line 603
6742 __cil_tmp30 = command + 7;
6743#line 603
6744 __cil_tmp31 = Eaddress >> 16;
6745#line 603
6746 __cil_tmp32 = __cil_tmp31 & 255UL;
6747#line 603
6748 *__cil_tmp30 = (unsigned char )__cil_tmp32;
6749#line 604
6750 __cil_tmp33 = command + 8;
6751#line 604
6752 __cil_tmp34 = Eaddress & 65535UL;
6753#line 604
6754 __cil_tmp35 = __cil_tmp34 >> 8;
6755#line 604
6756 *__cil_tmp33 = (unsigned char )__cil_tmp35;
6757#line 605
6758 __cil_tmp36 = command + 9;
6759#line 605
6760 __cil_tmp37 = Eaddress & 65535UL;
6761#line 605
6762 __cil_tmp38 = __cil_tmp37 & 255UL;
6763#line 605
6764 *__cil_tmp36 = (unsigned char )__cil_tmp38;
6765#line 607
6766 __cil_tmp39 = command + 10;
6767#line 607
6768 __cil_tmp40 = nr_of_pages >> 8;
6769#line 607
6770 *__cil_tmp39 = (unsigned char )__cil_tmp40;
6771#line 608
6772 __cil_tmp41 = command + 11;
6773#line 608
6774 __cil_tmp42 = nr_of_pages & 255;
6775#line 608
6776 *__cil_tmp41 = (unsigned char )__cil_tmp42;
6777#line 610
6778 result = sddr09_send_scsi_command(us, command, 12U);
6779 }
6780#line 612
6781 if (result) {
6782 {
6783#line 613
6784 printk("<7>usb-storage: Result for send_control in sddr09_writeX %d\n", result);
6785 }
6786#line 615
6787 return (result);
6788 } else {
6789
6790 }
6791 {
6792#line 618
6793 __cil_tmp43 = (unsigned long )us;
6794#line 618
6795 __cil_tmp44 = __cil_tmp43 + 112;
6796#line 618
6797 __cil_tmp45 = *((unsigned int *)__cil_tmp44);
6798#line 618
6799 __cil_tmp46 = (void *)buf;
6800#line 618
6801 __cil_tmp47 = (unsigned int )bulklen;
6802#line 618
6803 __cil_tmp48 = (void *)0;
6804#line 618
6805 __cil_tmp49 = (int *)__cil_tmp48;
6806#line 618
6807 result = usb_stor_bulk_transfer_sg(us, __cil_tmp45, __cil_tmp46, __cil_tmp47, use_sg,
6808 __cil_tmp49);
6809 }
6810#line 621
6811 if (result != 0) {
6812 {
6813#line 622
6814 printk("<7>usb-storage: Result for bulk_transfer in sddr09_writeX %d\n", result);
6815 }
6816#line 624
6817 return (-5);
6818 } else {
6819
6820 }
6821#line 626
6822 return (0);
6823}
6824}
6825#line 630 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6826static int sddr09_write_inplace(struct us_data *us , unsigned long address , int nr_of_pages ,
6827 int pageshift , unsigned char *buf , int use_sg )
6828{ int bulklen ;
6829 int tmp___7 ;
6830 int __cil_tmp9 ;
6831 int __cil_tmp10 ;
6832
6833 {
6834 {
6835#line 634
6836 __cil_tmp9 = nr_of_pages << 6;
6837#line 634
6838 __cil_tmp10 = nr_of_pages << pageshift;
6839#line 634
6840 bulklen = __cil_tmp10 + __cil_tmp9;
6841#line 635
6842 tmp___7 = sddr09_writeX(us, address, address, nr_of_pages, bulklen, buf, use_sg);
6843 }
6844#line 635
6845 return (tmp___7);
6846}
6847}
6848#line 724 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6849static int sddr09_read_status(struct us_data *us , unsigned char *status )
6850{ unsigned char *command ;
6851 unsigned char *data ;
6852 int result ;
6853 int tmp___7 ;
6854 unsigned long __cil_tmp7 ;
6855 unsigned long __cil_tmp8 ;
6856 unsigned long __cil_tmp9 ;
6857 unsigned long __cil_tmp10 ;
6858 void *__cil_tmp11 ;
6859 size_t __cil_tmp12 ;
6860 unsigned char *__cil_tmp13 ;
6861 unsigned char *__cil_tmp14 ;
6862 int __cil_tmp15 ;
6863 unsigned long __cil_tmp16 ;
6864 unsigned long __cil_tmp17 ;
6865 unsigned int __cil_tmp18 ;
6866 void *__cil_tmp19 ;
6867 void *__cil_tmp20 ;
6868 unsigned int *__cil_tmp21 ;
6869 unsigned char *__cil_tmp22 ;
6870
6871 {
6872 {
6873#line 727
6874 __cil_tmp7 = (unsigned long )us;
6875#line 727
6876 __cil_tmp8 = __cil_tmp7 + 376;
6877#line 727
6878 command = *((unsigned char **)__cil_tmp8);
6879#line 728
6880 __cil_tmp9 = (unsigned long )us;
6881#line 728
6882 __cil_tmp10 = __cil_tmp9 + 376;
6883#line 728
6884 data = *((unsigned char **)__cil_tmp10);
6885#line 731
6886 printk("<7>usb-storage: Reading status...\n");
6887#line 733
6888 __cil_tmp11 = (void *)command;
6889#line 733
6890 __cil_tmp12 = (size_t )12;
6891#line 733
6892 memset(__cil_tmp11, 0, __cil_tmp12);
6893#line 734
6894 __cil_tmp13 = command + 0;
6895#line 734
6896 *__cil_tmp13 = (unsigned char)236;
6897#line 735
6898 __cil_tmp14 = command + 1;
6899#line 735
6900 __cil_tmp15 = 1 << 5;
6901#line 735
6902 *__cil_tmp14 = (unsigned char )__cil_tmp15;
6903#line 737
6904 result = sddr09_send_scsi_command(us, command, 12U);
6905 }
6906#line 738
6907 if (result) {
6908#line 739
6909 return (result);
6910 } else {
6911
6912 }
6913 {
6914#line 741
6915 __cil_tmp16 = (unsigned long )us;
6916#line 741
6917 __cil_tmp17 = __cil_tmp16 + 116;
6918#line 741
6919 __cil_tmp18 = *((unsigned int *)__cil_tmp17);
6920#line 741
6921 __cil_tmp19 = (void *)data;
6922#line 741
6923 __cil_tmp20 = (void *)0;
6924#line 741
6925 __cil_tmp21 = (unsigned int *)__cil_tmp20;
6926#line 741
6927 result = usb_stor_bulk_transfer_buf(us, __cil_tmp18, __cil_tmp19, 64U, __cil_tmp21);
6928#line 743
6929 __cil_tmp22 = data + 0;
6930#line 743
6931 *status = *__cil_tmp22;
6932 }
6933#line 744
6934 if (result == 0) {
6935#line 744
6936 tmp___7 = 0;
6937 } else {
6938#line 744
6939 tmp___7 = -5;
6940 }
6941#line 744
6942 return (tmp___7);
6943}
6944}
6945#line 747 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
6946static int sddr09_read_data(struct us_data *us , unsigned long address , unsigned int sectors )
6947{ struct sddr09_card_info *info ;
6948 unsigned char *buffer ;
6949 unsigned int lba ;
6950 unsigned int maxlba ;
6951 unsigned int pba ;
6952 unsigned int page ;
6953 unsigned int pages ;
6954 unsigned int len ;
6955 unsigned int offset ;
6956 struct scatterlist *sg ;
6957 int result ;
6958 unsigned int _min1 ;
6959 unsigned int _min2 ;
6960 unsigned int tmp___7 ;
6961 void *tmp___8 ;
6962 unsigned int _min1___0 ;
6963 unsigned int _min2___0 ;
6964 unsigned int tmp___9 ;
6965 unsigned long __cil_tmp22 ;
6966 unsigned long __cil_tmp23 ;
6967 void *__cil_tmp24 ;
6968 unsigned long __cil_tmp25 ;
6969 unsigned long __cil_tmp26 ;
6970 int __cil_tmp27 ;
6971 unsigned long __cil_tmp28 ;
6972 unsigned long __cil_tmp29 ;
6973 unsigned long __cil_tmp30 ;
6974 int __cil_tmp31 ;
6975 unsigned long __cil_tmp32 ;
6976 unsigned long __cil_tmp33 ;
6977 unsigned long __cil_tmp34 ;
6978 unsigned long __cil_tmp35 ;
6979 int __cil_tmp36 ;
6980 unsigned long __cil_tmp37 ;
6981 unsigned long __cil_tmp38 ;
6982 int __cil_tmp39 ;
6983 int __cil_tmp40 ;
6984 unsigned long __cil_tmp41 ;
6985 unsigned long __cil_tmp42 ;
6986 unsigned int *__cil_tmp43 ;
6987 unsigned int *__cil_tmp44 ;
6988 unsigned long __cil_tmp45 ;
6989 unsigned long __cil_tmp46 ;
6990 int __cil_tmp47 ;
6991 unsigned int *__cil_tmp48 ;
6992 unsigned int __cil_tmp49 ;
6993 unsigned int *__cil_tmp50 ;
6994 unsigned int __cil_tmp51 ;
6995 unsigned int *__cil_tmp52 ;
6996 unsigned int *__cil_tmp53 ;
6997 unsigned long __cil_tmp54 ;
6998 unsigned long __cil_tmp55 ;
6999 int __cil_tmp56 ;
7000 unsigned int __cil_tmp57 ;
7001 size_t __cil_tmp58 ;
7002 void *__cil_tmp59 ;
7003 unsigned long __cil_tmp60 ;
7004 unsigned long __cil_tmp61 ;
7005 unsigned int *__cil_tmp62 ;
7006 struct scatterlist **__cil_tmp63 ;
7007 void *__cil_tmp64 ;
7008 unsigned int *__cil_tmp65 ;
7009 unsigned int *__cil_tmp66 ;
7010 unsigned long __cil_tmp67 ;
7011 unsigned long __cil_tmp68 ;
7012 int __cil_tmp69 ;
7013 unsigned int __cil_tmp70 ;
7014 unsigned int *__cil_tmp71 ;
7015 unsigned int __cil_tmp72 ;
7016 unsigned int *__cil_tmp73 ;
7017 unsigned int __cil_tmp74 ;
7018 unsigned int *__cil_tmp75 ;
7019 unsigned int *__cil_tmp76 ;
7020 unsigned long __cil_tmp77 ;
7021 unsigned long __cil_tmp78 ;
7022 int __cil_tmp79 ;
7023 unsigned long __cil_tmp80 ;
7024 unsigned long __cil_tmp81 ;
7025 int *__cil_tmp82 ;
7026 int *__cil_tmp83 ;
7027 int __cil_tmp84 ;
7028 void *__cil_tmp85 ;
7029 size_t __cil_tmp86 ;
7030 unsigned long __cil_tmp87 ;
7031 unsigned long __cil_tmp88 ;
7032 int __cil_tmp89 ;
7033 unsigned long __cil_tmp90 ;
7034 unsigned long __cil_tmp91 ;
7035 int __cil_tmp92 ;
7036 unsigned int __cil_tmp93 ;
7037 unsigned int __cil_tmp94 ;
7038 unsigned int __cil_tmp95 ;
7039 unsigned long __cil_tmp96 ;
7040 int __cil_tmp97 ;
7041 unsigned long __cil_tmp98 ;
7042 unsigned long __cil_tmp99 ;
7043 int __cil_tmp100 ;
7044 unsigned long __cil_tmp101 ;
7045 unsigned long __cil_tmp102 ;
7046 struct scsi_cmnd *__cil_tmp103 ;
7047 enum xfer_buf_dir __cil_tmp104 ;
7048 void const *__cil_tmp105 ;
7049
7050 {
7051#line 752
7052 __cil_tmp22 = (unsigned long )us;
7053#line 752
7054 __cil_tmp23 = __cil_tmp22 + 648;
7055#line 752
7056 __cil_tmp24 = *((void **)__cil_tmp23);
7057#line 752
7058 info = (struct sddr09_card_info *)__cil_tmp24;
7059#line 761
7060 __cil_tmp25 = (unsigned long )info;
7061#line 761
7062 __cil_tmp26 = __cil_tmp25 + 20;
7063#line 761
7064 __cil_tmp27 = *((int *)__cil_tmp26);
7065#line 761
7066 __cil_tmp28 = address >> __cil_tmp27;
7067#line 761
7068 lba = (unsigned int )__cil_tmp28;
7069#line 762
7070 __cil_tmp29 = (unsigned long )info;
7071#line 762
7072 __cil_tmp30 = __cil_tmp29 + 24;
7073#line 762
7074 __cil_tmp31 = *((int *)__cil_tmp30);
7075#line 762
7076 __cil_tmp32 = (unsigned long )__cil_tmp31;
7077#line 762
7078 __cil_tmp33 = address & __cil_tmp32;
7079#line 762
7080 page = (unsigned int )__cil_tmp33;
7081#line 763
7082 __cil_tmp34 = (unsigned long )info;
7083#line 763
7084 __cil_tmp35 = __cil_tmp34 + 20;
7085#line 763
7086 __cil_tmp36 = *((int *)__cil_tmp35);
7087#line 763
7088 __cil_tmp37 = (unsigned long )info;
7089#line 763
7090 __cil_tmp38 = __cil_tmp37 + 12;
7091#line 763
7092 __cil_tmp39 = *((int *)__cil_tmp38);
7093#line 763
7094 __cil_tmp40 = __cil_tmp39 + __cil_tmp36;
7095#line 763
7096 __cil_tmp41 = *((unsigned long *)info);
7097#line 763
7098 __cil_tmp42 = __cil_tmp41 >> __cil_tmp40;
7099#line 763
7100 maxlba = (unsigned int )__cil_tmp42;
7101#line 764
7102 if (lba >= maxlba) {
7103#line 765
7104 return (-5);
7105 } else {
7106
7107 }
7108#line 771
7109 __cil_tmp43 = & _min1;
7110#line 771
7111 *__cil_tmp43 = sectors;
7112#line 771
7113 __cil_tmp44 = & _min2;
7114#line 771
7115 __cil_tmp45 = (unsigned long )info;
7116#line 771
7117 __cil_tmp46 = __cil_tmp45 + 16;
7118#line 771
7119 __cil_tmp47 = *((int *)__cil_tmp46);
7120#line 771
7121 *__cil_tmp44 = (unsigned int )__cil_tmp47;
7122 {
7123#line 771
7124 __cil_tmp48 = & _min2;
7125#line 771
7126 __cil_tmp49 = *__cil_tmp48;
7127#line 771
7128 __cil_tmp50 = & _min1;
7129#line 771
7130 __cil_tmp51 = *__cil_tmp50;
7131#line 771
7132 if (__cil_tmp51 < __cil_tmp49) {
7133#line 771
7134 __cil_tmp52 = & _min1;
7135#line 771
7136 tmp___7 = *__cil_tmp52;
7137 } else {
7138#line 771
7139 __cil_tmp53 = & _min2;
7140#line 771
7141 tmp___7 = *__cil_tmp53;
7142 }
7143 }
7144 {
7145#line 771
7146 __cil_tmp54 = (unsigned long )info;
7147#line 771
7148 __cil_tmp55 = __cil_tmp54 + 8;
7149#line 771
7150 __cil_tmp56 = *((int *)__cil_tmp55);
7151#line 771
7152 __cil_tmp57 = (unsigned int )__cil_tmp56;
7153#line 771
7154 len = tmp___7 * __cil_tmp57;
7155#line 772
7156 __cil_tmp58 = (size_t )len;
7157#line 772
7158 tmp___8 = kmalloc(__cil_tmp58, 16U);
7159#line 772
7160 buffer = (unsigned char *)tmp___8;
7161 }
7162 {
7163#line 773
7164 __cil_tmp59 = (void *)0;
7165#line 773
7166 __cil_tmp60 = (unsigned long )__cil_tmp59;
7167#line 773
7168 __cil_tmp61 = (unsigned long )buffer;
7169#line 773
7170 if (__cil_tmp61 == __cil_tmp60) {
7171 {
7172#line 774
7173 printk("<4>sddr09_read_data: Out of memory\n");
7174 }
7175#line 775
7176 return (-12);
7177 } else {
7178
7179 }
7180 }
7181#line 781
7182 result = 0;
7183#line 782
7184 __cil_tmp62 = & offset;
7185#line 782
7186 *__cil_tmp62 = 0U;
7187#line 783
7188 __cil_tmp63 = & sg;
7189#line 783
7190 __cil_tmp64 = (void *)0;
7191#line 783
7192 *__cil_tmp63 = (struct scatterlist *)__cil_tmp64;
7193 {
7194#line 785
7195 while (1) {
7196 while_continue: ;
7197#line 785
7198 if (sectors > 0U) {
7199
7200 } else {
7201#line 785
7202 goto while_break;
7203 }
7204#line 788
7205 __cil_tmp65 = & _min1___0;
7206#line 788
7207 *__cil_tmp65 = sectors;
7208#line 788
7209 __cil_tmp66 = & _min2___0;
7210#line 788
7211 __cil_tmp67 = (unsigned long )info;
7212#line 788
7213 __cil_tmp68 = __cil_tmp67 + 16;
7214#line 788
7215 __cil_tmp69 = *((int *)__cil_tmp68);
7216#line 788
7217 __cil_tmp70 = (unsigned int )__cil_tmp69;
7218#line 788
7219 *__cil_tmp66 = __cil_tmp70 - page;
7220 {
7221#line 788
7222 __cil_tmp71 = & _min2___0;
7223#line 788
7224 __cil_tmp72 = *__cil_tmp71;
7225#line 788
7226 __cil_tmp73 = & _min1___0;
7227#line 788
7228 __cil_tmp74 = *__cil_tmp73;
7229#line 788
7230 if (__cil_tmp74 < __cil_tmp72) {
7231#line 788
7232 __cil_tmp75 = & _min1___0;
7233#line 788
7234 tmp___9 = *__cil_tmp75;
7235 } else {
7236#line 788
7237 __cil_tmp76 = & _min2___0;
7238#line 788
7239 tmp___9 = *__cil_tmp76;
7240 }
7241 }
7242#line 788
7243 pages = tmp___9;
7244#line 789
7245 __cil_tmp77 = (unsigned long )info;
7246#line 789
7247 __cil_tmp78 = __cil_tmp77 + 12;
7248#line 789
7249 __cil_tmp79 = *((int *)__cil_tmp78);
7250#line 789
7251 len = pages << __cil_tmp79;
7252#line 792
7253 if (lba >= maxlba) {
7254 {
7255#line 793
7256 printk("<7>usb-storage: Error: Requested lba %u exceeds maximum %u\n", lba,
7257 maxlba);
7258#line 795
7259 result = -5;
7260 }
7261#line 796
7262 goto while_break;
7263 } else {
7264
7265 }
7266#line 800
7267 __cil_tmp80 = (unsigned long )info;
7268#line 800
7269 __cil_tmp81 = __cil_tmp80 + 32;
7270#line 800
7271 __cil_tmp82 = *((int **)__cil_tmp81);
7272#line 800
7273 __cil_tmp83 = __cil_tmp82 + lba;
7274#line 800
7275 __cil_tmp84 = *__cil_tmp83;
7276#line 800
7277 pba = (unsigned int )__cil_tmp84;
7278#line 802
7279 if (pba == 4294967295U) {
7280 {
7281#line 804
7282 printk("<7>usb-storage: Read %d zero pages (LBA %d) page %d\n", pages, lba,
7283 page);
7284#line 812
7285 __cil_tmp85 = (void *)buffer;
7286#line 812
7287 __cil_tmp86 = (size_t )len;
7288#line 812
7289 memset(__cil_tmp85, 0, __cil_tmp86);
7290 }
7291 } else {
7292 {
7293#line 815
7294 printk("<7>usb-storage: Read %d pages, from PBA %d (LBA %d) page %d\n", pages,
7295 pba, lba, page);
7296#line 819
7297 __cil_tmp87 = (unsigned long )info;
7298#line 819
7299 __cil_tmp88 = __cil_tmp87 + 12;
7300#line 819
7301 __cil_tmp89 = *((int *)__cil_tmp88);
7302#line 819
7303 __cil_tmp90 = (unsigned long )info;
7304#line 819
7305 __cil_tmp91 = __cil_tmp90 + 20;
7306#line 819
7307 __cil_tmp92 = *((int *)__cil_tmp91);
7308#line 819
7309 __cil_tmp93 = pba << __cil_tmp92;
7310#line 819
7311 __cil_tmp94 = __cil_tmp93 + page;
7312#line 819
7313 __cil_tmp95 = __cil_tmp94 << __cil_tmp89;
7314#line 819
7315 address = (unsigned long )__cil_tmp95;
7316#line 822
7317 __cil_tmp96 = address >> 1;
7318#line 822
7319 __cil_tmp97 = (int )pages;
7320#line 822
7321 __cil_tmp98 = (unsigned long )info;
7322#line 822
7323 __cil_tmp99 = __cil_tmp98 + 12;
7324#line 822
7325 __cil_tmp100 = *((int *)__cil_tmp99);
7326#line 822
7327 result = sddr09_read20(us, __cil_tmp96, __cil_tmp97, __cil_tmp100, buffer, 0);
7328 }
7329#line 824
7330 if (result) {
7331#line 825
7332 goto while_break;
7333 } else {
7334
7335 }
7336 }
7337 {
7338#line 829
7339 __cil_tmp101 = (unsigned long )us;
7340#line 829
7341 __cil_tmp102 = __cil_tmp101 + 192;
7342#line 829
7343 __cil_tmp103 = *((struct scsi_cmnd **)__cil_tmp102);
7344#line 829
7345 __cil_tmp104 = (enum xfer_buf_dir )0;
7346#line 829
7347 usb_stor_access_xfer_buf(buffer, len, __cil_tmp103, & sg, & offset, __cil_tmp104);
7348#line 832
7349 page = 0U;
7350#line 833
7351 lba = lba + 1U;
7352#line 834
7353 sectors = sectors - pages;
7354 }
7355 }
7356 while_break: ;
7357 }
7358 {
7359#line 837
7360 __cil_tmp105 = (void const *)buffer;
7361#line 837
7362 kfree(__cil_tmp105);
7363 }
7364#line 838
7365 return (result);
7366}
7367}
7368#line 843
7369static unsigned int sddr09_find_unused_pba(struct sddr09_card_info *info , unsigned int lba ) ;
7370#line 843 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
7371static unsigned int lastpba = 1U;
7372#line 841 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
7373static unsigned int sddr09_find_unused_pba(struct sddr09_card_info *info , unsigned int lba )
7374{ int zonestart ;
7375 int end ;
7376 int i ;
7377 unsigned int __cil_tmp6 ;
7378 unsigned int __cil_tmp7 ;
7379 unsigned long __cil_tmp8 ;
7380 unsigned long __cil_tmp9 ;
7381 int __cil_tmp10 ;
7382 unsigned long __cil_tmp11 ;
7383 unsigned long __cil_tmp12 ;
7384 int __cil_tmp13 ;
7385 int __cil_tmp14 ;
7386 unsigned long __cil_tmp15 ;
7387 unsigned long __cil_tmp16 ;
7388 unsigned int __cil_tmp17 ;
7389 int __cil_tmp18 ;
7390 unsigned long __cil_tmp19 ;
7391 unsigned long __cil_tmp20 ;
7392 int *__cil_tmp21 ;
7393 int *__cil_tmp22 ;
7394 int __cil_tmp23 ;
7395 unsigned int __cil_tmp24 ;
7396 int __cil_tmp25 ;
7397 unsigned int __cil_tmp26 ;
7398 int __cil_tmp27 ;
7399 unsigned long __cil_tmp28 ;
7400 unsigned long __cil_tmp29 ;
7401 int *__cil_tmp30 ;
7402 int *__cil_tmp31 ;
7403 int __cil_tmp32 ;
7404 unsigned int __cil_tmp33 ;
7405 int __cil_tmp34 ;
7406
7407 {
7408#line 846
7409 __cil_tmp6 = lba / 1000U;
7410#line 846
7411 __cil_tmp7 = __cil_tmp6 << 10;
7412#line 846
7413 zonestart = (int )__cil_tmp7;
7414#line 847
7415 __cil_tmp8 = (unsigned long )info;
7416#line 847
7417 __cil_tmp9 = __cil_tmp8 + 12;
7418#line 847
7419 __cil_tmp10 = *((int *)__cil_tmp9);
7420#line 847
7421 __cil_tmp11 = (unsigned long )info;
7422#line 847
7423 __cil_tmp12 = __cil_tmp11 + 20;
7424#line 847
7425 __cil_tmp13 = *((int *)__cil_tmp12);
7426#line 847
7427 __cil_tmp14 = __cil_tmp13 + __cil_tmp10;
7428#line 847
7429 __cil_tmp15 = *((unsigned long *)info);
7430#line 847
7431 __cil_tmp16 = __cil_tmp15 >> __cil_tmp14;
7432#line 847
7433 end = (int )__cil_tmp16;
7434#line 848
7435 end = end - zonestart;
7436#line 849
7437 if (end > 1024) {
7438#line 850
7439 end = 1024;
7440 } else {
7441
7442 }
7443#line 852
7444 __cil_tmp17 = lastpba + 1U;
7445#line 852
7446 i = (int )__cil_tmp17;
7447 {
7448#line 852
7449 while (1) {
7450 while_continue: ;
7451#line 852
7452 if (i < end) {
7453
7454 } else {
7455#line 852
7456 goto while_break;
7457 }
7458 {
7459#line 853
7460 __cil_tmp18 = zonestart + i;
7461#line 853
7462 __cil_tmp19 = (unsigned long )info;
7463#line 853
7464 __cil_tmp20 = __cil_tmp19 + 40;
7465#line 853
7466 __cil_tmp21 = *((int **)__cil_tmp20);
7467#line 853
7468 __cil_tmp22 = __cil_tmp21 + __cil_tmp18;
7469#line 853
7470 __cil_tmp23 = *__cil_tmp22;
7471#line 853
7472 __cil_tmp24 = (unsigned int )__cil_tmp23;
7473#line 853
7474 if (__cil_tmp24 == 4294967295U) {
7475#line 854
7476 lastpba = (unsigned int )i;
7477 {
7478#line 855
7479 __cil_tmp25 = zonestart + i;
7480#line 855
7481 return ((unsigned int )__cil_tmp25);
7482 }
7483 } else {
7484
7485 }
7486 }
7487#line 852
7488 i = i + 1;
7489 }
7490 while_break: ;
7491 }
7492#line 858
7493 i = 0;
7494 {
7495#line 858
7496 while (1) {
7497 while_continue___0: ;
7498 {
7499#line 858
7500 __cil_tmp26 = (unsigned int )i;
7501#line 858
7502 if (__cil_tmp26 <= lastpba) {
7503
7504 } else {
7505#line 858
7506 goto while_break___0;
7507 }
7508 }
7509 {
7510#line 859
7511 __cil_tmp27 = zonestart + i;
7512#line 859
7513 __cil_tmp28 = (unsigned long )info;
7514#line 859
7515 __cil_tmp29 = __cil_tmp28 + 40;
7516#line 859
7517 __cil_tmp30 = *((int **)__cil_tmp29);
7518#line 859
7519 __cil_tmp31 = __cil_tmp30 + __cil_tmp27;
7520#line 859
7521 __cil_tmp32 = *__cil_tmp31;
7522#line 859
7523 __cil_tmp33 = (unsigned int )__cil_tmp32;
7524#line 859
7525 if (__cil_tmp33 == 4294967295U) {
7526#line 860
7527 lastpba = (unsigned int )i;
7528 {
7529#line 861
7530 __cil_tmp34 = zonestart + i;
7531#line 861
7532 return ((unsigned int )__cil_tmp34);
7533 }
7534 } else {
7535
7536 }
7537 }
7538#line 858
7539 i = i + 1;
7540 }
7541 while_break___0: ;
7542 }
7543#line 864
7544 return (0U);
7545}
7546}
7547#line 867 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
7548static int sddr09_write_lba(struct us_data *us , unsigned int lba , unsigned int page ,
7549 unsigned int pages , unsigned char *ptr , unsigned char *blockbuffer )
7550{ struct sddr09_card_info *info ;
7551 unsigned long address ;
7552 unsigned int pba ;
7553 unsigned int lbap ;
7554 unsigned int pagelen ;
7555 unsigned char *bptr ;
7556 unsigned char *cptr ;
7557 unsigned char *xptr ;
7558 unsigned char ecc[3] ;
7559 int i ;
7560 int result ;
7561 int isnew ;
7562 int tmp___7 ;
7563 int tmp___8 ;
7564 unsigned char tmp___9 ;
7565 unsigned char tmp___10 ;
7566 size_t __len ;
7567 void *__ret ;
7568 unsigned long __cil_tmp25 ;
7569 unsigned long __cil_tmp26 ;
7570 void *__cil_tmp27 ;
7571 unsigned int __cil_tmp28 ;
7572 unsigned int __cil_tmp29 ;
7573 unsigned int __cil_tmp30 ;
7574 unsigned int __cil_tmp31 ;
7575 unsigned int __cil_tmp32 ;
7576 unsigned long __cil_tmp33 ;
7577 unsigned long __cil_tmp34 ;
7578 unsigned long __cil_tmp35 ;
7579 unsigned long __cil_tmp36 ;
7580 int *__cil_tmp37 ;
7581 int *__cil_tmp38 ;
7582 int __cil_tmp39 ;
7583 unsigned long __cil_tmp40 ;
7584 unsigned long __cil_tmp41 ;
7585 int *__cil_tmp42 ;
7586 int *__cil_tmp43 ;
7587 unsigned long __cil_tmp44 ;
7588 unsigned long __cil_tmp45 ;
7589 int *__cil_tmp46 ;
7590 int *__cil_tmp47 ;
7591 int __cil_tmp48 ;
7592 unsigned long __cil_tmp49 ;
7593 unsigned long __cil_tmp50 ;
7594 int __cil_tmp51 ;
7595 int __cil_tmp52 ;
7596 int __cil_tmp53 ;
7597 unsigned long __cil_tmp54 ;
7598 unsigned long __cil_tmp55 ;
7599 int __cil_tmp56 ;
7600 unsigned long __cil_tmp57 ;
7601 unsigned long __cil_tmp58 ;
7602 int __cil_tmp59 ;
7603 int __cil_tmp60 ;
7604 unsigned int __cil_tmp61 ;
7605 unsigned long __cil_tmp62 ;
7606 unsigned long __cil_tmp63 ;
7607 unsigned long __cil_tmp64 ;
7608 int __cil_tmp65 ;
7609 unsigned long __cil_tmp66 ;
7610 unsigned long __cil_tmp67 ;
7611 int __cil_tmp68 ;
7612 unsigned long __cil_tmp69 ;
7613 unsigned long __cil_tmp70 ;
7614 int __cil_tmp71 ;
7615 unsigned int __cil_tmp72 ;
7616 unsigned int __cil_tmp73 ;
7617 unsigned long __cil_tmp74 ;
7618 unsigned long __cil_tmp75 ;
7619 int __cil_tmp76 ;
7620 unsigned long __cil_tmp77 ;
7621 unsigned long __cil_tmp78 ;
7622 unsigned char *__cil_tmp79 ;
7623 unsigned char *__cil_tmp80 ;
7624 unsigned long __cil_tmp81 ;
7625 unsigned long __cil_tmp82 ;
7626 unsigned char *__cil_tmp83 ;
7627 unsigned char *__cil_tmp84 ;
7628 unsigned long __cil_tmp85 ;
7629 unsigned long __cil_tmp86 ;
7630 unsigned char *__cil_tmp87 ;
7631 unsigned long __cil_tmp88 ;
7632 unsigned long __cil_tmp89 ;
7633 int __cil_tmp90 ;
7634 int __cil_tmp91 ;
7635 unsigned char *__cil_tmp92 ;
7636 unsigned long __cil_tmp93 ;
7637 unsigned long __cil_tmp94 ;
7638 unsigned char *__cil_tmp95 ;
7639 unsigned char *__cil_tmp96 ;
7640 unsigned long __cil_tmp97 ;
7641 unsigned long __cil_tmp98 ;
7642 unsigned char *__cil_tmp99 ;
7643 unsigned char *__cil_tmp100 ;
7644 unsigned long __cil_tmp101 ;
7645 unsigned long __cil_tmp102 ;
7646 unsigned char *__cil_tmp103 ;
7647 unsigned int __cil_tmp104 ;
7648 unsigned char *__cil_tmp105 ;
7649 unsigned char *__cil_tmp106 ;
7650 unsigned int __cil_tmp107 ;
7651 unsigned char *__cil_tmp108 ;
7652 unsigned char *__cil_tmp109 ;
7653 unsigned int __cil_tmp110 ;
7654 unsigned int __cil_tmp111 ;
7655 unsigned int __cil_tmp112 ;
7656 unsigned int __cil_tmp113 ;
7657 unsigned long __cil_tmp114 ;
7658 unsigned long __cil_tmp115 ;
7659 int __cil_tmp116 ;
7660 unsigned long __cil_tmp117 ;
7661 unsigned long __cil_tmp118 ;
7662 int __cil_tmp119 ;
7663 void *__cil_tmp120 ;
7664 void const *__cil_tmp121 ;
7665 unsigned long __cil_tmp122 ;
7666 unsigned long __cil_tmp123 ;
7667 int __cil_tmp124 ;
7668 unsigned long __cil_tmp125 ;
7669 unsigned long __cil_tmp126 ;
7670 unsigned char *__cil_tmp127 ;
7671 unsigned char *__cil_tmp128 ;
7672 unsigned long __cil_tmp129 ;
7673 unsigned long __cil_tmp130 ;
7674 unsigned char *__cil_tmp131 ;
7675 unsigned long __cil_tmp132 ;
7676 unsigned long __cil_tmp133 ;
7677 int __cil_tmp134 ;
7678 int __cil_tmp135 ;
7679 unsigned char *__cil_tmp136 ;
7680 unsigned long __cil_tmp137 ;
7681 unsigned long __cil_tmp138 ;
7682 unsigned char *__cil_tmp139 ;
7683 unsigned char *__cil_tmp140 ;
7684 unsigned long __cil_tmp141 ;
7685 unsigned long __cil_tmp142 ;
7686 unsigned char *__cil_tmp143 ;
7687 unsigned long __cil_tmp144 ;
7688 unsigned long __cil_tmp145 ;
7689 unsigned long __cil_tmp146 ;
7690 int __cil_tmp147 ;
7691 unsigned long __cil_tmp148 ;
7692 unsigned long __cil_tmp149 ;
7693 int __cil_tmp150 ;
7694
7695 {
7696#line 872
7697 __cil_tmp25 = (unsigned long )us;
7698#line 872
7699 __cil_tmp26 = __cil_tmp25 + 648;
7700#line 872
7701 __cil_tmp27 = *((void **)__cil_tmp26);
7702#line 872
7703 info = (struct sddr09_card_info *)__cil_tmp27;
7704#line 880
7705 __cil_tmp28 = lba % 1000U;
7706#line 880
7707 __cil_tmp29 = __cil_tmp28 << 1;
7708#line 880
7709 lbap = __cil_tmp29 | 4096U;
7710 {
7711#line 881
7712 __cil_tmp30 = lbap & 255U;
7713#line 881
7714 __cil_tmp31 = lbap >> 8;
7715#line 881
7716 __cil_tmp32 = __cil_tmp31 ^ __cil_tmp30;
7717#line 881
7718 __cil_tmp33 = __cil_tmp32 * 1UL;
7719#line 881
7720 __cil_tmp34 = (unsigned long )(parity) + __cil_tmp33;
7721#line 881
7722 if (*((unsigned char *)__cil_tmp34)) {
7723#line 882
7724 lbap = lbap ^ 1U;
7725 } else {
7726
7727 }
7728 }
7729#line 883
7730 __cil_tmp35 = (unsigned long )info;
7731#line 883
7732 __cil_tmp36 = __cil_tmp35 + 32;
7733#line 883
7734 __cil_tmp37 = *((int **)__cil_tmp36);
7735#line 883
7736 __cil_tmp38 = __cil_tmp37 + lba;
7737#line 883
7738 __cil_tmp39 = *__cil_tmp38;
7739#line 883
7740 pba = (unsigned int )__cil_tmp39;
7741#line 884
7742 isnew = 0;
7743#line 886
7744 if (pba == 4294967295U) {
7745 {
7746#line 887
7747 pba = sddr09_find_unused_pba(info, lba);
7748 }
7749#line 888
7750 if (! pba) {
7751 {
7752#line 889
7753 printk("<4>sddr09_write_lba: Out of unused blocks\n");
7754 }
7755#line 891
7756 return (-28);
7757 } else {
7758
7759 }
7760#line 893
7761 __cil_tmp40 = (unsigned long )info;
7762#line 893
7763 __cil_tmp41 = __cil_tmp40 + 40;
7764#line 893
7765 __cil_tmp42 = *((int **)__cil_tmp41);
7766#line 893
7767 __cil_tmp43 = __cil_tmp42 + pba;
7768#line 893
7769 *__cil_tmp43 = (int )lba;
7770#line 894
7771 __cil_tmp44 = (unsigned long )info;
7772#line 894
7773 __cil_tmp45 = __cil_tmp44 + 32;
7774#line 894
7775 __cil_tmp46 = *((int **)__cil_tmp45);
7776#line 894
7777 __cil_tmp47 = __cil_tmp46 + lba;
7778#line 894
7779 *__cil_tmp47 = (int )pba;
7780#line 895
7781 isnew = 1;
7782 } else {
7783
7784 }
7785#line 898
7786 if (pba == 1U) {
7787 {
7788#line 901
7789 printk("<4>sddr09: avoid writing to pba 1\n");
7790 }
7791#line 902
7792 return (0);
7793 } else {
7794
7795 }
7796 {
7797#line 905
7798 __cil_tmp48 = 1 << 6;
7799#line 905
7800 __cil_tmp49 = (unsigned long )info;
7801#line 905
7802 __cil_tmp50 = __cil_tmp49 + 12;
7803#line 905
7804 __cil_tmp51 = *((int *)__cil_tmp50);
7805#line 905
7806 __cil_tmp52 = 1 << __cil_tmp51;
7807#line 905
7808 __cil_tmp53 = __cil_tmp52 + __cil_tmp48;
7809#line 905
7810 pagelen = (unsigned int )__cil_tmp53;
7811#line 908
7812 __cil_tmp54 = (unsigned long )info;
7813#line 908
7814 __cil_tmp55 = __cil_tmp54 + 20;
7815#line 908
7816 __cil_tmp56 = *((int *)__cil_tmp55);
7817#line 908
7818 __cil_tmp57 = (unsigned long )info;
7819#line 908
7820 __cil_tmp58 = __cil_tmp57 + 12;
7821#line 908
7822 __cil_tmp59 = *((int *)__cil_tmp58);
7823#line 908
7824 __cil_tmp60 = __cil_tmp59 + __cil_tmp56;
7825#line 908
7826 __cil_tmp61 = pba << __cil_tmp60;
7827#line 908
7828 address = (unsigned long )__cil_tmp61;
7829#line 909
7830 __cil_tmp62 = address >> 1;
7831#line 909
7832 __cil_tmp63 = (unsigned long )info;
7833#line 909
7834 __cil_tmp64 = __cil_tmp63 + 16;
7835#line 909
7836 __cil_tmp65 = *((int *)__cil_tmp64);
7837#line 909
7838 __cil_tmp66 = (unsigned long )info;
7839#line 909
7840 __cil_tmp67 = __cil_tmp66 + 12;
7841#line 909
7842 __cil_tmp68 = *((int *)__cil_tmp67);
7843#line 909
7844 result = sddr09_read22(us, __cil_tmp62, __cil_tmp65, __cil_tmp68, blockbuffer, 0);
7845 }
7846#line 911
7847 if (result) {
7848#line 912
7849 return (result);
7850 } else {
7851
7852 }
7853#line 915
7854 i = 0;
7855 {
7856#line 915
7857 while (1) {
7858 while_continue: ;
7859 {
7860#line 915
7861 __cil_tmp69 = (unsigned long )info;
7862#line 915
7863 __cil_tmp70 = __cil_tmp69 + 16;
7864#line 915
7865 __cil_tmp71 = *((int *)__cil_tmp70);
7866#line 915
7867 if (i < __cil_tmp71) {
7868
7869 } else {
7870#line 915
7871 goto while_break;
7872 }
7873 }
7874 {
7875#line 916
7876 __cil_tmp72 = (unsigned int )i;
7877#line 916
7878 __cil_tmp73 = __cil_tmp72 * pagelen;
7879#line 916
7880 bptr = blockbuffer + __cil_tmp73;
7881#line 917
7882 __cil_tmp74 = (unsigned long )info;
7883#line 917
7884 __cil_tmp75 = __cil_tmp74 + 8;
7885#line 917
7886 __cil_tmp76 = *((int *)__cil_tmp75);
7887#line 917
7888 cptr = bptr + __cil_tmp76;
7889#line 918
7890 __cil_tmp77 = 0 * 1UL;
7891#line 918
7892 __cil_tmp78 = (unsigned long )(ecc) + __cil_tmp77;
7893#line 918
7894 __cil_tmp79 = (unsigned char *)__cil_tmp78;
7895#line 918
7896 nand_compute_ecc(bptr, __cil_tmp79);
7897#line 919
7898 __cil_tmp80 = cptr + 13;
7899#line 919
7900 __cil_tmp81 = 0 * 1UL;
7901#line 919
7902 __cil_tmp82 = (unsigned long )(ecc) + __cil_tmp81;
7903#line 919
7904 __cil_tmp83 = (unsigned char *)__cil_tmp82;
7905#line 919
7906 tmp___7 = nand_compare_ecc(__cil_tmp80, __cil_tmp83);
7907 }
7908#line 919
7909 if (tmp___7) {
7910
7911 } else {
7912 {
7913#line 920
7914 printk("<7>usb-storage: Warning: bad ecc in page %d- of pba %d\n", i, pba);
7915#line 922
7916 __cil_tmp84 = cptr + 13;
7917#line 922
7918 __cil_tmp85 = 0 * 1UL;
7919#line 922
7920 __cil_tmp86 = (unsigned long )(ecc) + __cil_tmp85;
7921#line 922
7922 __cil_tmp87 = (unsigned char *)__cil_tmp86;
7923#line 922
7924 nand_store_ecc(__cil_tmp84, __cil_tmp87);
7925 }
7926 }
7927 {
7928#line 924
7929 __cil_tmp88 = (unsigned long )info;
7930#line 924
7931 __cil_tmp89 = __cil_tmp88 + 8;
7932#line 924
7933 __cil_tmp90 = *((int *)__cil_tmp89);
7934#line 924
7935 __cil_tmp91 = __cil_tmp90 / 2;
7936#line 924
7937 __cil_tmp92 = bptr + __cil_tmp91;
7938#line 924
7939 __cil_tmp93 = 0 * 1UL;
7940#line 924
7941 __cil_tmp94 = (unsigned long )(ecc) + __cil_tmp93;
7942#line 924
7943 __cil_tmp95 = (unsigned char *)__cil_tmp94;
7944#line 924
7945 nand_compute_ecc(__cil_tmp92, __cil_tmp95);
7946#line 925
7947 __cil_tmp96 = cptr + 8;
7948#line 925
7949 __cil_tmp97 = 0 * 1UL;
7950#line 925
7951 __cil_tmp98 = (unsigned long )(ecc) + __cil_tmp97;
7952#line 925
7953 __cil_tmp99 = (unsigned char *)__cil_tmp98;
7954#line 925
7955 tmp___8 = nand_compare_ecc(__cil_tmp96, __cil_tmp99);
7956 }
7957#line 925
7958 if (tmp___8) {
7959
7960 } else {
7961 {
7962#line 926
7963 printk("<7>usb-storage: Warning: bad ecc in page %d+ of pba %d\n", i, pba);
7964#line 928
7965 __cil_tmp100 = cptr + 8;
7966#line 928
7967 __cil_tmp101 = 0 * 1UL;
7968#line 928
7969 __cil_tmp102 = (unsigned long )(ecc) + __cil_tmp101;
7970#line 928
7971 __cil_tmp103 = (unsigned char *)__cil_tmp102;
7972#line 928
7973 nand_store_ecc(__cil_tmp100, __cil_tmp103);
7974 }
7975 }
7976#line 930
7977 __cil_tmp104 = lbap >> 8;
7978#line 930
7979 tmp___9 = (unsigned char )__cil_tmp104;
7980#line 930
7981 __cil_tmp105 = cptr + 11;
7982#line 930
7983 *__cil_tmp105 = tmp___9;
7984#line 930
7985 __cil_tmp106 = cptr + 6;
7986#line 930
7987 *__cil_tmp106 = tmp___9;
7988#line 931
7989 __cil_tmp107 = lbap & 255U;
7990#line 931
7991 tmp___10 = (unsigned char )__cil_tmp107;
7992#line 931
7993 __cil_tmp108 = cptr + 12;
7994#line 931
7995 *__cil_tmp108 = tmp___10;
7996#line 931
7997 __cil_tmp109 = cptr + 7;
7998#line 931
7999 *__cil_tmp109 = tmp___10;
8000#line 915
8001 i = i + 1;
8002 }
8003 while_break: ;
8004 }
8005#line 935
8006 xptr = ptr;
8007#line 936
8008 i = (int )page;
8009 {
8010#line 936
8011 while (1) {
8012 while_continue___0: ;
8013 {
8014#line 936
8015 __cil_tmp110 = page + pages;
8016#line 936
8017 __cil_tmp111 = (unsigned int )i;
8018#line 936
8019 if (__cil_tmp111 < __cil_tmp110) {
8020
8021 } else {
8022#line 936
8023 goto while_break___0;
8024 }
8025 }
8026 {
8027#line 937
8028 __cil_tmp112 = (unsigned int )i;
8029#line 937
8030 __cil_tmp113 = __cil_tmp112 * pagelen;
8031#line 937
8032 bptr = blockbuffer + __cil_tmp113;
8033#line 938
8034 __cil_tmp114 = (unsigned long )info;
8035#line 938
8036 __cil_tmp115 = __cil_tmp114 + 8;
8037#line 938
8038 __cil_tmp116 = *((int *)__cil_tmp115);
8039#line 938
8040 cptr = bptr + __cil_tmp116;
8041#line 939
8042 __cil_tmp117 = (unsigned long )info;
8043#line 939
8044 __cil_tmp118 = __cil_tmp117 + 8;
8045#line 939
8046 __cil_tmp119 = *((int *)__cil_tmp118);
8047#line 939
8048 __len = (size_t )__cil_tmp119;
8049#line 939
8050 __cil_tmp120 = (void *)bptr;
8051#line 939
8052 __cil_tmp121 = (void const *)xptr;
8053#line 939
8054 __ret = __builtin_memcpy(__cil_tmp120, __cil_tmp121, __len);
8055#line 940
8056 __cil_tmp122 = (unsigned long )info;
8057#line 940
8058 __cil_tmp123 = __cil_tmp122 + 8;
8059#line 940
8060 __cil_tmp124 = *((int *)__cil_tmp123);
8061#line 940
8062 xptr = xptr + __cil_tmp124;
8063#line 941
8064 __cil_tmp125 = 0 * 1UL;
8065#line 941
8066 __cil_tmp126 = (unsigned long )(ecc) + __cil_tmp125;
8067#line 941
8068 __cil_tmp127 = (unsigned char *)__cil_tmp126;
8069#line 941
8070 nand_compute_ecc(bptr, __cil_tmp127);
8071#line 942
8072 __cil_tmp128 = cptr + 13;
8073#line 942
8074 __cil_tmp129 = 0 * 1UL;
8075#line 942
8076 __cil_tmp130 = (unsigned long )(ecc) + __cil_tmp129;
8077#line 942
8078 __cil_tmp131 = (unsigned char *)__cil_tmp130;
8079#line 942
8080 nand_store_ecc(__cil_tmp128, __cil_tmp131);
8081#line 943
8082 __cil_tmp132 = (unsigned long )info;
8083#line 943
8084 __cil_tmp133 = __cil_tmp132 + 8;
8085#line 943
8086 __cil_tmp134 = *((int *)__cil_tmp133);
8087#line 943
8088 __cil_tmp135 = __cil_tmp134 / 2;
8089#line 943
8090 __cil_tmp136 = bptr + __cil_tmp135;
8091#line 943
8092 __cil_tmp137 = 0 * 1UL;
8093#line 943
8094 __cil_tmp138 = (unsigned long )(ecc) + __cil_tmp137;
8095#line 943
8096 __cil_tmp139 = (unsigned char *)__cil_tmp138;
8097#line 943
8098 nand_compute_ecc(__cil_tmp136, __cil_tmp139);
8099#line 944
8100 __cil_tmp140 = cptr + 8;
8101#line 944
8102 __cil_tmp141 = 0 * 1UL;
8103#line 944
8104 __cil_tmp142 = (unsigned long )(ecc) + __cil_tmp141;
8105#line 944
8106 __cil_tmp143 = (unsigned char *)__cil_tmp142;
8107#line 944
8108 nand_store_ecc(__cil_tmp140, __cil_tmp143);
8109#line 936
8110 i = i + 1;
8111 }
8112 }
8113 while_break___0: ;
8114 }
8115 {
8116#line 947
8117 printk("<7>usb-storage: Rewrite PBA %d (LBA %d)\n", pba, lba);
8118#line 949
8119 __cil_tmp144 = address >> 1;
8120#line 949
8121 __cil_tmp145 = (unsigned long )info;
8122#line 949
8123 __cil_tmp146 = __cil_tmp145 + 16;
8124#line 949
8125 __cil_tmp147 = *((int *)__cil_tmp146);
8126#line 949
8127 __cil_tmp148 = (unsigned long )info;
8128#line 949
8129 __cil_tmp149 = __cil_tmp148 + 12;
8130#line 949
8131 __cil_tmp150 = *((int *)__cil_tmp149);
8132#line 949
8133 result = sddr09_write_inplace(us, __cil_tmp144, __cil_tmp147, __cil_tmp150, blockbuffer,
8134 0);
8135#line 952
8136 printk("<7>usb-storage: sddr09_write_inplace returns %d\n", result);
8137 }
8138#line 972
8139 return (result);
8140}
8141}
8142#line 975 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
8143static int sddr09_write_data(struct us_data *us , unsigned long address , unsigned int sectors )
8144{ struct sddr09_card_info *info ;
8145 unsigned int lba ;
8146 unsigned int maxlba ;
8147 unsigned int page ;
8148 unsigned int pages ;
8149 unsigned int pagelen ;
8150 unsigned int blocklen ;
8151 unsigned char *blockbuffer ;
8152 unsigned char *buffer ;
8153 unsigned int len ;
8154 unsigned int offset ;
8155 struct scatterlist *sg ;
8156 int result ;
8157 void *tmp___7 ;
8158 unsigned int _min1 ;
8159 unsigned int _min2 ;
8160 unsigned int tmp___8 ;
8161 void *tmp___9 ;
8162 unsigned int _min1___0 ;
8163 unsigned int _min2___0 ;
8164 unsigned int tmp___10 ;
8165 unsigned long __cil_tmp25 ;
8166 unsigned long __cil_tmp26 ;
8167 void *__cil_tmp27 ;
8168 unsigned long __cil_tmp28 ;
8169 unsigned long __cil_tmp29 ;
8170 int __cil_tmp30 ;
8171 unsigned long __cil_tmp31 ;
8172 unsigned long __cil_tmp32 ;
8173 unsigned long __cil_tmp33 ;
8174 int __cil_tmp34 ;
8175 unsigned long __cil_tmp35 ;
8176 unsigned long __cil_tmp36 ;
8177 unsigned long __cil_tmp37 ;
8178 unsigned long __cil_tmp38 ;
8179 int __cil_tmp39 ;
8180 unsigned long __cil_tmp40 ;
8181 unsigned long __cil_tmp41 ;
8182 int __cil_tmp42 ;
8183 int __cil_tmp43 ;
8184 unsigned long __cil_tmp44 ;
8185 unsigned long __cil_tmp45 ;
8186 int __cil_tmp46 ;
8187 unsigned long __cil_tmp47 ;
8188 unsigned long __cil_tmp48 ;
8189 int __cil_tmp49 ;
8190 int __cil_tmp50 ;
8191 int __cil_tmp51 ;
8192 unsigned long __cil_tmp52 ;
8193 unsigned long __cil_tmp53 ;
8194 int __cil_tmp54 ;
8195 size_t __cil_tmp55 ;
8196 unsigned int *__cil_tmp56 ;
8197 unsigned int *__cil_tmp57 ;
8198 unsigned long __cil_tmp58 ;
8199 unsigned long __cil_tmp59 ;
8200 int __cil_tmp60 ;
8201 unsigned int *__cil_tmp61 ;
8202 unsigned int __cil_tmp62 ;
8203 unsigned int *__cil_tmp63 ;
8204 unsigned int __cil_tmp64 ;
8205 unsigned int *__cil_tmp65 ;
8206 unsigned int *__cil_tmp66 ;
8207 unsigned long __cil_tmp67 ;
8208 unsigned long __cil_tmp68 ;
8209 int __cil_tmp69 ;
8210 unsigned int __cil_tmp70 ;
8211 size_t __cil_tmp71 ;
8212 void *__cil_tmp72 ;
8213 unsigned long __cil_tmp73 ;
8214 unsigned long __cil_tmp74 ;
8215 void const *__cil_tmp75 ;
8216 unsigned int *__cil_tmp76 ;
8217 struct scatterlist **__cil_tmp77 ;
8218 void *__cil_tmp78 ;
8219 unsigned int *__cil_tmp79 ;
8220 unsigned int *__cil_tmp80 ;
8221 unsigned long __cil_tmp81 ;
8222 unsigned long __cil_tmp82 ;
8223 int __cil_tmp83 ;
8224 unsigned int __cil_tmp84 ;
8225 unsigned int *__cil_tmp85 ;
8226 unsigned int __cil_tmp86 ;
8227 unsigned int *__cil_tmp87 ;
8228 unsigned int __cil_tmp88 ;
8229 unsigned int *__cil_tmp89 ;
8230 unsigned int *__cil_tmp90 ;
8231 unsigned long __cil_tmp91 ;
8232 unsigned long __cil_tmp92 ;
8233 int __cil_tmp93 ;
8234 unsigned long __cil_tmp94 ;
8235 unsigned long __cil_tmp95 ;
8236 struct scsi_cmnd *__cil_tmp96 ;
8237 enum xfer_buf_dir __cil_tmp97 ;
8238 void const *__cil_tmp98 ;
8239 void const *__cil_tmp99 ;
8240
8241 {
8242#line 980
8243 __cil_tmp25 = (unsigned long )us;
8244#line 980
8245 __cil_tmp26 = __cil_tmp25 + 648;
8246#line 980
8247 __cil_tmp27 = *((void **)__cil_tmp26);
8248#line 980
8249 info = (struct sddr09_card_info *)__cil_tmp27;
8250#line 990
8251 __cil_tmp28 = (unsigned long )info;
8252#line 990
8253 __cil_tmp29 = __cil_tmp28 + 20;
8254#line 990
8255 __cil_tmp30 = *((int *)__cil_tmp29);
8256#line 990
8257 __cil_tmp31 = address >> __cil_tmp30;
8258#line 990
8259 lba = (unsigned int )__cil_tmp31;
8260#line 991
8261 __cil_tmp32 = (unsigned long )info;
8262#line 991
8263 __cil_tmp33 = __cil_tmp32 + 24;
8264#line 991
8265 __cil_tmp34 = *((int *)__cil_tmp33);
8266#line 991
8267 __cil_tmp35 = (unsigned long )__cil_tmp34;
8268#line 991
8269 __cil_tmp36 = address & __cil_tmp35;
8270#line 991
8271 page = (unsigned int )__cil_tmp36;
8272#line 992
8273 __cil_tmp37 = (unsigned long )info;
8274#line 992
8275 __cil_tmp38 = __cil_tmp37 + 20;
8276#line 992
8277 __cil_tmp39 = *((int *)__cil_tmp38);
8278#line 992
8279 __cil_tmp40 = (unsigned long )info;
8280#line 992
8281 __cil_tmp41 = __cil_tmp40 + 12;
8282#line 992
8283 __cil_tmp42 = *((int *)__cil_tmp41);
8284#line 992
8285 __cil_tmp43 = __cil_tmp42 + __cil_tmp39;
8286#line 992
8287 __cil_tmp44 = *((unsigned long *)info);
8288#line 992
8289 __cil_tmp45 = __cil_tmp44 >> __cil_tmp43;
8290#line 992
8291 maxlba = (unsigned int )__cil_tmp45;
8292#line 993
8293 if (lba >= maxlba) {
8294#line 994
8295 return (-5);
8296 } else {
8297
8298 }
8299 {
8300#line 1002
8301 __cil_tmp46 = 1 << 6;
8302#line 1002
8303 __cil_tmp47 = (unsigned long )info;
8304#line 1002
8305 __cil_tmp48 = __cil_tmp47 + 12;
8306#line 1002
8307 __cil_tmp49 = *((int *)__cil_tmp48);
8308#line 1002
8309 __cil_tmp50 = 1 << __cil_tmp49;
8310#line 1002
8311 __cil_tmp51 = __cil_tmp50 + __cil_tmp46;
8312#line 1002
8313 pagelen = (unsigned int )__cil_tmp51;
8314#line 1003
8315 __cil_tmp52 = (unsigned long )info;
8316#line 1003
8317 __cil_tmp53 = __cil_tmp52 + 20;
8318#line 1003
8319 __cil_tmp54 = *((int *)__cil_tmp53);
8320#line 1003
8321 blocklen = pagelen << __cil_tmp54;
8322#line 1004
8323 __cil_tmp55 = (size_t )blocklen;
8324#line 1004
8325 tmp___7 = kmalloc(__cil_tmp55, 16U);
8326#line 1004
8327 blockbuffer = (unsigned char *)tmp___7;
8328 }
8329#line 1005
8330 if (! blockbuffer) {
8331 {
8332#line 1006
8333 printk("<4>sddr09_write_data: Out of memory\n");
8334 }
8335#line 1007
8336 return (-12);
8337 } else {
8338
8339 }
8340#line 1014
8341 __cil_tmp56 = & _min1;
8342#line 1014
8343 *__cil_tmp56 = sectors;
8344#line 1014
8345 __cil_tmp57 = & _min2;
8346#line 1014
8347 __cil_tmp58 = (unsigned long )info;
8348#line 1014
8349 __cil_tmp59 = __cil_tmp58 + 16;
8350#line 1014
8351 __cil_tmp60 = *((int *)__cil_tmp59);
8352#line 1014
8353 *__cil_tmp57 = (unsigned int )__cil_tmp60;
8354 {
8355#line 1014
8356 __cil_tmp61 = & _min2;
8357#line 1014
8358 __cil_tmp62 = *__cil_tmp61;
8359#line 1014
8360 __cil_tmp63 = & _min1;
8361#line 1014
8362 __cil_tmp64 = *__cil_tmp63;
8363#line 1014
8364 if (__cil_tmp64 < __cil_tmp62) {
8365#line 1014
8366 __cil_tmp65 = & _min1;
8367#line 1014
8368 tmp___8 = *__cil_tmp65;
8369 } else {
8370#line 1014
8371 __cil_tmp66 = & _min2;
8372#line 1014
8373 tmp___8 = *__cil_tmp66;
8374 }
8375 }
8376 {
8377#line 1014
8378 __cil_tmp67 = (unsigned long )info;
8379#line 1014
8380 __cil_tmp68 = __cil_tmp67 + 8;
8381#line 1014
8382 __cil_tmp69 = *((int *)__cil_tmp68);
8383#line 1014
8384 __cil_tmp70 = (unsigned int )__cil_tmp69;
8385#line 1014
8386 len = tmp___8 * __cil_tmp70;
8387#line 1015
8388 __cil_tmp71 = (size_t )len;
8389#line 1015
8390 tmp___9 = kmalloc(__cil_tmp71, 16U);
8391#line 1015
8392 buffer = (unsigned char *)tmp___9;
8393 }
8394 {
8395#line 1016
8396 __cil_tmp72 = (void *)0;
8397#line 1016
8398 __cil_tmp73 = (unsigned long )__cil_tmp72;
8399#line 1016
8400 __cil_tmp74 = (unsigned long )buffer;
8401#line 1016
8402 if (__cil_tmp74 == __cil_tmp73) {
8403 {
8404#line 1017
8405 printk("<4>sddr09_write_data: Out of memory\n");
8406#line 1018
8407 __cil_tmp75 = (void const *)blockbuffer;
8408#line 1018
8409 kfree(__cil_tmp75);
8410 }
8411#line 1019
8412 return (-12);
8413 } else {
8414
8415 }
8416 }
8417#line 1022
8418 result = 0;
8419#line 1023
8420 __cil_tmp76 = & offset;
8421#line 1023
8422 *__cil_tmp76 = 0U;
8423#line 1024
8424 __cil_tmp77 = & sg;
8425#line 1024
8426 __cil_tmp78 = (void *)0;
8427#line 1024
8428 *__cil_tmp77 = (struct scatterlist *)__cil_tmp78;
8429 {
8430#line 1026
8431 while (1) {
8432 while_continue: ;
8433#line 1026
8434 if (sectors > 0U) {
8435
8436 } else {
8437#line 1026
8438 goto while_break;
8439 }
8440#line 1030
8441 __cil_tmp79 = & _min1___0;
8442#line 1030
8443 *__cil_tmp79 = sectors;
8444#line 1030
8445 __cil_tmp80 = & _min2___0;
8446#line 1030
8447 __cil_tmp81 = (unsigned long )info;
8448#line 1030
8449 __cil_tmp82 = __cil_tmp81 + 16;
8450#line 1030
8451 __cil_tmp83 = *((int *)__cil_tmp82);
8452#line 1030
8453 __cil_tmp84 = (unsigned int )__cil_tmp83;
8454#line 1030
8455 *__cil_tmp80 = __cil_tmp84 - page;
8456 {
8457#line 1030
8458 __cil_tmp85 = & _min2___0;
8459#line 1030
8460 __cil_tmp86 = *__cil_tmp85;
8461#line 1030
8462 __cil_tmp87 = & _min1___0;
8463#line 1030
8464 __cil_tmp88 = *__cil_tmp87;
8465#line 1030
8466 if (__cil_tmp88 < __cil_tmp86) {
8467#line 1030
8468 __cil_tmp89 = & _min1___0;
8469#line 1030
8470 tmp___10 = *__cil_tmp89;
8471 } else {
8472#line 1030
8473 __cil_tmp90 = & _min2___0;
8474#line 1030
8475 tmp___10 = *__cil_tmp90;
8476 }
8477 }
8478#line 1030
8479 pages = tmp___10;
8480#line 1031
8481 __cil_tmp91 = (unsigned long )info;
8482#line 1031
8483 __cil_tmp92 = __cil_tmp91 + 12;
8484#line 1031
8485 __cil_tmp93 = *((int *)__cil_tmp92);
8486#line 1031
8487 len = pages << __cil_tmp93;
8488#line 1034
8489 if (lba >= maxlba) {
8490 {
8491#line 1035
8492 printk("<7>usb-storage: Error: Requested lba %u exceeds maximum %u\n", lba,
8493 maxlba);
8494#line 1037
8495 result = -5;
8496 }
8497#line 1038
8498 goto while_break;
8499 } else {
8500
8501 }
8502 {
8503#line 1042
8504 __cil_tmp94 = (unsigned long )us;
8505#line 1042
8506 __cil_tmp95 = __cil_tmp94 + 192;
8507#line 1042
8508 __cil_tmp96 = *((struct scsi_cmnd **)__cil_tmp95);
8509#line 1042
8510 __cil_tmp97 = (enum xfer_buf_dir )1;
8511#line 1042
8512 usb_stor_access_xfer_buf(buffer, len, __cil_tmp96, & sg, & offset, __cil_tmp97);
8513#line 1045
8514 result = sddr09_write_lba(us, lba, page, pages, buffer, blockbuffer);
8515 }
8516#line 1047
8517 if (result) {
8518#line 1048
8519 goto while_break;
8520 } else {
8521
8522 }
8523#line 1050
8524 page = 0U;
8525#line 1051
8526 lba = lba + 1U;
8527#line 1052
8528 sectors = sectors - pages;
8529 }
8530 while_break: ;
8531 }
8532 {
8533#line 1055
8534 __cil_tmp98 = (void const *)buffer;
8535#line 1055
8536 kfree(__cil_tmp98);
8537#line 1056
8538 __cil_tmp99 = (void const *)blockbuffer;
8539#line 1056
8540 kfree(__cil_tmp99);
8541 }
8542#line 1058
8543 return (result);
8544}
8545}
8546#line 1061 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
8547static int sddr09_read_control(struct us_data *us , unsigned long address , unsigned int blocks ,
8548 unsigned char *content , int use_sg )
8549{ int tmp___7 ;
8550 int __cil_tmp7 ;
8551
8552 {
8553 {
8554#line 1068
8555 printk("<7>usb-storage: Read control address %lu, blocks %d\n", address, blocks);
8556#line 1071
8557 __cil_tmp7 = (int )blocks;
8558#line 1071
8559 tmp___7 = sddr09_read21(us, address, __cil_tmp7, 6, content, use_sg);
8560 }
8561#line 1071
8562 return (tmp___7);
8563}
8564}
8565#line 1085 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
8566static int sddr09_read_deviceID(struct us_data *us , unsigned char *deviceID )
8567{ unsigned char *command ;
8568 unsigned char *content ;
8569 int result ;
8570 int i ;
8571 int tmp___7 ;
8572 unsigned long __cil_tmp8 ;
8573 unsigned long __cil_tmp9 ;
8574 unsigned long __cil_tmp10 ;
8575 unsigned long __cil_tmp11 ;
8576 void *__cil_tmp12 ;
8577 size_t __cil_tmp13 ;
8578 unsigned char *__cil_tmp14 ;
8579 unsigned char *__cil_tmp15 ;
8580 int __cil_tmp16 ;
8581 unsigned long __cil_tmp17 ;
8582 unsigned long __cil_tmp18 ;
8583 unsigned int __cil_tmp19 ;
8584 void *__cil_tmp20 ;
8585 void *__cil_tmp21 ;
8586 unsigned int *__cil_tmp22 ;
8587 unsigned char *__cil_tmp23 ;
8588 unsigned char *__cil_tmp24 ;
8589
8590 {
8591 {
8592#line 1087
8593 __cil_tmp8 = (unsigned long )us;
8594#line 1087
8595 __cil_tmp9 = __cil_tmp8 + 376;
8596#line 1087
8597 command = *((unsigned char **)__cil_tmp9);
8598#line 1088
8599 __cil_tmp10 = (unsigned long )us;
8600#line 1088
8601 __cil_tmp11 = __cil_tmp10 + 376;
8602#line 1088
8603 content = *((unsigned char **)__cil_tmp11);
8604#line 1091
8605 __cil_tmp12 = (void *)command;
8606#line 1091
8607 __cil_tmp13 = (size_t )12;
8608#line 1091
8609 memset(__cil_tmp12, 0, __cil_tmp13);
8610#line 1092
8611 __cil_tmp14 = command + 0;
8612#line 1092
8613 *__cil_tmp14 = (unsigned char)237;
8614#line 1093
8615 __cil_tmp15 = command + 1;
8616#line 1093
8617 __cil_tmp16 = 1 << 5;
8618#line 1093
8619 *__cil_tmp15 = (unsigned char )__cil_tmp16;
8620#line 1095
8621 result = sddr09_send_scsi_command(us, command, 12U);
8622 }
8623#line 1096
8624 if (result) {
8625#line 1097
8626 return (result);
8627 } else {
8628
8629 }
8630 {
8631#line 1099
8632 __cil_tmp17 = (unsigned long )us;
8633#line 1099
8634 __cil_tmp18 = __cil_tmp17 + 116;
8635#line 1099
8636 __cil_tmp19 = *((unsigned int *)__cil_tmp18);
8637#line 1099
8638 __cil_tmp20 = (void *)content;
8639#line 1099
8640 __cil_tmp21 = (void *)0;
8641#line 1099
8642 __cil_tmp22 = (unsigned int *)__cil_tmp21;
8643#line 1099
8644 result = usb_stor_bulk_transfer_buf(us, __cil_tmp19, __cil_tmp20, 64U, __cil_tmp22);
8645#line 1102
8646 i = 0;
8647 }
8648 {
8649#line 1102
8650 while (1) {
8651 while_continue: ;
8652#line 1102
8653 if (i < 4) {
8654
8655 } else {
8656#line 1102
8657 goto while_break;
8658 }
8659#line 1103
8660 __cil_tmp23 = deviceID + i;
8661#line 1103
8662 __cil_tmp24 = content + i;
8663#line 1103
8664 *__cil_tmp23 = *__cil_tmp24;
8665#line 1102
8666 i = i + 1;
8667 }
8668 while_break: ;
8669 }
8670#line 1105
8671 if (result == 0) {
8672#line 1105
8673 tmp___7 = 0;
8674 } else {
8675#line 1105
8676 tmp___7 = -5;
8677 }
8678#line 1105
8679 return (tmp___7);
8680}
8681}
8682#line 1108 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
8683static int sddr09_get_wp(struct us_data *us , struct sddr09_card_info *info )
8684{ int result ;
8685 unsigned char status ;
8686 unsigned char *__cil_tmp5 ;
8687 unsigned char __cil_tmp6 ;
8688 int __cil_tmp7 ;
8689 unsigned char *__cil_tmp8 ;
8690 unsigned char __cil_tmp9 ;
8691 int __cil_tmp10 ;
8692 int __cil_tmp11 ;
8693 unsigned long __cil_tmp12 ;
8694 unsigned long __cil_tmp13 ;
8695 unsigned long __cil_tmp14 ;
8696 unsigned long __cil_tmp15 ;
8697 int __cil_tmp16 ;
8698 unsigned char *__cil_tmp17 ;
8699 unsigned char __cil_tmp18 ;
8700 int __cil_tmp19 ;
8701 int __cil_tmp20 ;
8702 unsigned char *__cil_tmp21 ;
8703 unsigned char __cil_tmp22 ;
8704 int __cil_tmp23 ;
8705 unsigned char *__cil_tmp24 ;
8706 unsigned char __cil_tmp25 ;
8707 int __cil_tmp26 ;
8708
8709 {
8710 {
8711#line 1113
8712 result = sddr09_read_status(us, & status);
8713 }
8714#line 1114
8715 if (result) {
8716 {
8717#line 1115
8718 printk("<7>usb-storage: sddr09_get_wp: read_status fails\n");
8719 }
8720#line 1116
8721 return (result);
8722 } else {
8723
8724 }
8725 {
8726#line 1118
8727 __cil_tmp5 = & status;
8728#line 1118
8729 __cil_tmp6 = *__cil_tmp5;
8730#line 1118
8731 __cil_tmp7 = (int )__cil_tmp6;
8732#line 1118
8733 printk("<7>usb-storage: sddr09_get_wp: status 0x%02X", __cil_tmp7);
8734 }
8735 {
8736#line 1119
8737 __cil_tmp8 = & status;
8738#line 1119
8739 __cil_tmp9 = *__cil_tmp8;
8740#line 1119
8741 __cil_tmp10 = (int )__cil_tmp9;
8742#line 1119
8743 __cil_tmp11 = __cil_tmp10 & 128;
8744#line 1119
8745 if (__cil_tmp11 == 0) {
8746 {
8747#line 1120
8748 __cil_tmp12 = (unsigned long )info;
8749#line 1120
8750 __cil_tmp13 = __cil_tmp12 + 52;
8751#line 1120
8752 __cil_tmp14 = (unsigned long )info;
8753#line 1120
8754 __cil_tmp15 = __cil_tmp14 + 52;
8755#line 1120
8756 __cil_tmp16 = *((int *)__cil_tmp15);
8757#line 1120
8758 *((int *)__cil_tmp13) = __cil_tmp16 | 1;
8759#line 1121
8760 printk("<7>usb-storage: WP");
8761 }
8762 } else {
8763
8764 }
8765 }
8766 {
8767#line 1123
8768 __cil_tmp17 = & status;
8769#line 1123
8770 __cil_tmp18 = *__cil_tmp17;
8771#line 1123
8772 __cil_tmp19 = (int )__cil_tmp18;
8773#line 1123
8774 if (__cil_tmp19 & 64) {
8775 {
8776#line 1124
8777 printk("<7>usb-storage: Ready");
8778 }
8779 } else {
8780
8781 }
8782 }
8783 {
8784#line 1125
8785 __cil_tmp20 = 1 << 5;
8786#line 1125
8787 __cil_tmp21 = & status;
8788#line 1125
8789 __cil_tmp22 = *__cil_tmp21;
8790#line 1125
8791 __cil_tmp23 = (int )__cil_tmp22;
8792#line 1125
8793 if (__cil_tmp23 & __cil_tmp20) {
8794 {
8795#line 1126
8796 printk("<7>usb-storage: Suspended");
8797 }
8798 } else {
8799
8800 }
8801 }
8802 {
8803#line 1127
8804 __cil_tmp24 = & status;
8805#line 1127
8806 __cil_tmp25 = *__cil_tmp24;
8807#line 1127
8808 __cil_tmp26 = (int )__cil_tmp25;
8809#line 1127
8810 if (__cil_tmp26 & 1) {
8811 {
8812#line 1128
8813 printk("<7>usb-storage: Error");
8814 }
8815 } else {
8816
8817 }
8818 }
8819 {
8820#line 1129
8821 printk("<7>usb-storage: \n");
8822 }
8823#line 1130
8824 return (0);
8825}
8826}
8827#line 1151 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
8828static struct nand_flash_dev *sddr09_get_cardinfo(struct us_data *us , unsigned char flags )
8829{ struct nand_flash_dev *cardinfo ;
8830 unsigned char deviceID[4] ;
8831 char blurbtxt[256] ;
8832 int result ;
8833 char *tmp___7 ;
8834 unsigned long tmp___8 ;
8835 unsigned long tmp___9 ;
8836 unsigned long tmp___10 ;
8837 unsigned long tmp___11 ;
8838 unsigned long tmp___12 ;
8839 unsigned long tmp___13 ;
8840 unsigned long __cil_tmp14 ;
8841 unsigned long __cil_tmp15 ;
8842 unsigned char *__cil_tmp16 ;
8843 void *__cil_tmp17 ;
8844 unsigned long __cil_tmp18 ;
8845 unsigned long __cil_tmp19 ;
8846 char *__cil_tmp20 ;
8847 unsigned long __cil_tmp21 ;
8848 unsigned long __cil_tmp22 ;
8849 unsigned char __cil_tmp23 ;
8850 int __cil_tmp24 ;
8851 unsigned long __cil_tmp25 ;
8852 unsigned long __cil_tmp26 ;
8853 unsigned char __cil_tmp27 ;
8854 int __cil_tmp28 ;
8855 unsigned long __cil_tmp29 ;
8856 unsigned long __cil_tmp30 ;
8857 unsigned char __cil_tmp31 ;
8858 int __cil_tmp32 ;
8859 unsigned long __cil_tmp33 ;
8860 unsigned long __cil_tmp34 ;
8861 unsigned char __cil_tmp35 ;
8862 int __cil_tmp36 ;
8863 unsigned long __cil_tmp37 ;
8864 unsigned long __cil_tmp38 ;
8865 unsigned char __cil_tmp39 ;
8866 int __cil_tmp40 ;
8867 unsigned long __cil_tmp41 ;
8868 unsigned long __cil_tmp42 ;
8869 char *__cil_tmp43 ;
8870 char const *__cil_tmp44 ;
8871 unsigned long __cil_tmp45 ;
8872 unsigned long __cil_tmp46 ;
8873 char *__cil_tmp47 ;
8874 char *__cil_tmp48 ;
8875 unsigned long __cil_tmp49 ;
8876 unsigned long __cil_tmp50 ;
8877 unsigned char __cil_tmp51 ;
8878 unsigned long __cil_tmp52 ;
8879 unsigned long __cil_tmp53 ;
8880 char *__cil_tmp54 ;
8881 char const *__cil_tmp55 ;
8882 unsigned long __cil_tmp56 ;
8883 unsigned long __cil_tmp57 ;
8884 char *__cil_tmp58 ;
8885 char *__cil_tmp59 ;
8886 unsigned long __cil_tmp60 ;
8887 unsigned long __cil_tmp61 ;
8888 int __cil_tmp62 ;
8889 int __cil_tmp63 ;
8890 int __cil_tmp64 ;
8891 unsigned long __cil_tmp65 ;
8892 unsigned long __cil_tmp66 ;
8893 char *__cil_tmp67 ;
8894 char const *__cil_tmp68 ;
8895 unsigned long __cil_tmp69 ;
8896 unsigned long __cil_tmp70 ;
8897 char *__cil_tmp71 ;
8898 char *__cil_tmp72 ;
8899 unsigned long __cil_tmp73 ;
8900 unsigned long __cil_tmp74 ;
8901 unsigned char __cil_tmp75 ;
8902 int __cil_tmp76 ;
8903 unsigned long __cil_tmp77 ;
8904 unsigned long __cil_tmp78 ;
8905 char *__cil_tmp79 ;
8906 char const *__cil_tmp80 ;
8907 unsigned long __cil_tmp81 ;
8908 unsigned long __cil_tmp82 ;
8909 char *__cil_tmp83 ;
8910 char *__cil_tmp84 ;
8911 unsigned long __cil_tmp85 ;
8912 unsigned long __cil_tmp86 ;
8913 unsigned char __cil_tmp87 ;
8914 int __cil_tmp88 ;
8915 unsigned long __cil_tmp89 ;
8916 unsigned long __cil_tmp90 ;
8917 char *__cil_tmp91 ;
8918 char const *__cil_tmp92 ;
8919 unsigned long __cil_tmp93 ;
8920 unsigned long __cil_tmp94 ;
8921 char *__cil_tmp95 ;
8922 char *__cil_tmp96 ;
8923 int __cil_tmp97 ;
8924 unsigned long __cil_tmp98 ;
8925 unsigned long __cil_tmp99 ;
8926 char *__cil_tmp100 ;
8927 char const *__cil_tmp101 ;
8928 unsigned long __cil_tmp102 ;
8929 unsigned long __cil_tmp103 ;
8930 char *__cil_tmp104 ;
8931 char *__cil_tmp105 ;
8932 unsigned long __cil_tmp106 ;
8933 unsigned long __cil_tmp107 ;
8934 char *__cil_tmp108 ;
8935
8936 {
8937 {
8938#line 1158
8939 printk("<7>usb-storage: Reading capacity...\n");
8940#line 1160
8941 __cil_tmp14 = 0 * 1UL;
8942#line 1160
8943 __cil_tmp15 = (unsigned long )(deviceID) + __cil_tmp14;
8944#line 1160
8945 __cil_tmp16 = (unsigned char *)__cil_tmp15;
8946#line 1160
8947 result = sddr09_read_deviceID(us, __cil_tmp16);
8948 }
8949#line 1162
8950 if (result) {
8951 {
8952#line 1163
8953 printk("<7>usb-storage: Result of read_deviceID is %d\n", result);
8954#line 1164
8955 printk("<4>sddr09: could not read card info\n");
8956 }
8957 {
8958#line 1165
8959 __cil_tmp17 = (void *)0;
8960#line 1165
8961 return ((struct nand_flash_dev *)__cil_tmp17);
8962 }
8963 } else {
8964
8965 }
8966 {
8967#line 1168
8968 __cil_tmp18 = 0 * 1UL;
8969#line 1168
8970 __cil_tmp19 = (unsigned long )(blurbtxt) + __cil_tmp18;
8971#line 1168
8972 __cil_tmp20 = (char *)__cil_tmp19;
8973#line 1168
8974 __cil_tmp21 = 0 * 1UL;
8975#line 1168
8976 __cil_tmp22 = (unsigned long )(deviceID) + __cil_tmp21;
8977#line 1168
8978 __cil_tmp23 = *((unsigned char *)__cil_tmp22);
8979#line 1168
8980 __cil_tmp24 = (int )__cil_tmp23;
8981#line 1168
8982 __cil_tmp25 = 1 * 1UL;
8983#line 1168
8984 __cil_tmp26 = (unsigned long )(deviceID) + __cil_tmp25;
8985#line 1168
8986 __cil_tmp27 = *((unsigned char *)__cil_tmp26);
8987#line 1168
8988 __cil_tmp28 = (int )__cil_tmp27;
8989#line 1168
8990 __cil_tmp29 = 2 * 1UL;
8991#line 1168
8992 __cil_tmp30 = (unsigned long )(deviceID) + __cil_tmp29;
8993#line 1168
8994 __cil_tmp31 = *((unsigned char *)__cil_tmp30);
8995#line 1168
8996 __cil_tmp32 = (int )__cil_tmp31;
8997#line 1168
8998 __cil_tmp33 = 3 * 1UL;
8999#line 1168
9000 __cil_tmp34 = (unsigned long )(deviceID) + __cil_tmp33;
9001#line 1168
9002 __cil_tmp35 = *((unsigned char *)__cil_tmp34);
9003#line 1168
9004 __cil_tmp36 = (int )__cil_tmp35;
9005#line 1168
9006 sprintf(__cil_tmp20, "sddr09: Found Flash card, ID = %02X %02X %02X %02X", __cil_tmp24,
9007 __cil_tmp28, __cil_tmp32, __cil_tmp36);
9008#line 1172
9009 __cil_tmp37 = 0 * 1UL;
9010#line 1172
9011 __cil_tmp38 = (unsigned long )(deviceID) + __cil_tmp37;
9012#line 1172
9013 __cil_tmp39 = *((unsigned char *)__cil_tmp38);
9014#line 1172
9015 __cil_tmp40 = (int )__cil_tmp39;
9016#line 1172
9017 tmp___7 = nand_flash_manufacturer(__cil_tmp40);
9018#line 1172
9019 __cil_tmp41 = 0 * 1UL;
9020#line 1172
9021 __cil_tmp42 = (unsigned long )(blurbtxt) + __cil_tmp41;
9022#line 1172
9023 __cil_tmp43 = (char *)__cil_tmp42;
9024#line 1172
9025 __cil_tmp44 = (char const *)__cil_tmp43;
9026#line 1172
9027 tmp___8 = strlen(__cil_tmp44);
9028#line 1172
9029 __cil_tmp45 = 0 * 1UL;
9030#line 1172
9031 __cil_tmp46 = (unsigned long )(blurbtxt) + __cil_tmp45;
9032#line 1172
9033 __cil_tmp47 = (char *)__cil_tmp46;
9034#line 1172
9035 __cil_tmp48 = __cil_tmp47 + tmp___8;
9036#line 1172
9037 sprintf(__cil_tmp48, ": Manuf. %s", tmp___7);
9038#line 1177
9039 __cil_tmp49 = 1 * 1UL;
9040#line 1177
9041 __cil_tmp50 = (unsigned long )(deviceID) + __cil_tmp49;
9042#line 1177
9043 __cil_tmp51 = *((unsigned char *)__cil_tmp50);
9044#line 1177
9045 cardinfo = nand_find_id(__cil_tmp51);
9046 }
9047#line 1178
9048 if (cardinfo) {
9049 {
9050#line 1182
9051 __cil_tmp52 = 0 * 1UL;
9052#line 1182
9053 __cil_tmp53 = (unsigned long )(blurbtxt) + __cil_tmp52;
9054#line 1182
9055 __cil_tmp54 = (char *)__cil_tmp53;
9056#line 1182
9057 __cil_tmp55 = (char const *)__cil_tmp54;
9058#line 1182
9059 tmp___9 = strlen(__cil_tmp55);
9060#line 1182
9061 __cil_tmp56 = 0 * 1UL;
9062#line 1182
9063 __cil_tmp57 = (unsigned long )(blurbtxt) + __cil_tmp56;
9064#line 1182
9065 __cil_tmp58 = (char *)__cil_tmp57;
9066#line 1182
9067 __cil_tmp59 = __cil_tmp58 + tmp___9;
9068#line 1182
9069 __cil_tmp60 = (unsigned long )cardinfo;
9070#line 1182
9071 __cil_tmp61 = __cil_tmp60 + 4;
9072#line 1182
9073 __cil_tmp62 = *((int *)__cil_tmp61);
9074#line 1182
9075 __cil_tmp63 = __cil_tmp62 - 20;
9076#line 1182
9077 __cil_tmp64 = 1 << __cil_tmp63;
9078#line 1182
9079 sprintf(__cil_tmp59, ", %d MB", __cil_tmp64);
9080 }
9081 } else {
9082 {
9083#line 1185
9084 __cil_tmp65 = 0 * 1UL;
9085#line 1185
9086 __cil_tmp66 = (unsigned long )(blurbtxt) + __cil_tmp65;
9087#line 1185
9088 __cil_tmp67 = (char *)__cil_tmp66;
9089#line 1185
9090 __cil_tmp68 = (char const *)__cil_tmp67;
9091#line 1185
9092 tmp___10 = strlen(__cil_tmp68);
9093#line 1185
9094 __cil_tmp69 = 0 * 1UL;
9095#line 1185
9096 __cil_tmp70 = (unsigned long )(blurbtxt) + __cil_tmp69;
9097#line 1185
9098 __cil_tmp71 = (char *)__cil_tmp70;
9099#line 1185
9100 __cil_tmp72 = __cil_tmp71 + tmp___10;
9101#line 1185
9102 sprintf(__cil_tmp72, ", type unrecognized");
9103 }
9104 }
9105 {
9106#line 1190
9107 __cil_tmp73 = 2 * 1UL;
9108#line 1190
9109 __cil_tmp74 = (unsigned long )(deviceID) + __cil_tmp73;
9110#line 1190
9111 __cil_tmp75 = *((unsigned char *)__cil_tmp74);
9112#line 1190
9113 __cil_tmp76 = (int )__cil_tmp75;
9114#line 1190
9115 if (__cil_tmp76 == 165) {
9116 {
9117#line 1191
9118 __cil_tmp77 = 0 * 1UL;
9119#line 1191
9120 __cil_tmp78 = (unsigned long )(blurbtxt) + __cil_tmp77;
9121#line 1191
9122 __cil_tmp79 = (char *)__cil_tmp78;
9123#line 1191
9124 __cil_tmp80 = (char const *)__cil_tmp79;
9125#line 1191
9126 tmp___11 = strlen(__cil_tmp80);
9127#line 1191
9128 __cil_tmp81 = 0 * 1UL;
9129#line 1191
9130 __cil_tmp82 = (unsigned long )(blurbtxt) + __cil_tmp81;
9131#line 1191
9132 __cil_tmp83 = (char *)__cil_tmp82;
9133#line 1191
9134 __cil_tmp84 = __cil_tmp83 + tmp___11;
9135#line 1191
9136 sprintf(__cil_tmp84, ", 128-bit ID");
9137 }
9138 } else {
9139
9140 }
9141 }
9142 {
9143#line 1196
9144 __cil_tmp85 = 3 * 1UL;
9145#line 1196
9146 __cil_tmp86 = (unsigned long )(deviceID) + __cil_tmp85;
9147#line 1196
9148 __cil_tmp87 = *((unsigned char *)__cil_tmp86);
9149#line 1196
9150 __cil_tmp88 = (int )__cil_tmp87;
9151#line 1196
9152 if (__cil_tmp88 == 192) {
9153 {
9154#line 1197
9155 __cil_tmp89 = 0 * 1UL;
9156#line 1197
9157 __cil_tmp90 = (unsigned long )(blurbtxt) + __cil_tmp89;
9158#line 1197
9159 __cil_tmp91 = (char *)__cil_tmp90;
9160#line 1197
9161 __cil_tmp92 = (char const *)__cil_tmp91;
9162#line 1197
9163 tmp___12 = strlen(__cil_tmp92);
9164#line 1197
9165 __cil_tmp93 = 0 * 1UL;
9166#line 1197
9167 __cil_tmp94 = (unsigned long )(blurbtxt) + __cil_tmp93;
9168#line 1197
9169 __cil_tmp95 = (char *)__cil_tmp94;
9170#line 1197
9171 __cil_tmp96 = __cil_tmp95 + tmp___12;
9172#line 1197
9173 sprintf(__cil_tmp96, ", extra cmd");
9174 }
9175 } else {
9176
9177 }
9178 }
9179 {
9180#line 1201
9181 __cil_tmp97 = (int )flags;
9182#line 1201
9183 if (__cil_tmp97 & 1) {
9184 {
9185#line 1202
9186 __cil_tmp98 = 0 * 1UL;
9187#line 1202
9188 __cil_tmp99 = (unsigned long )(blurbtxt) + __cil_tmp98;
9189#line 1202
9190 __cil_tmp100 = (char *)__cil_tmp99;
9191#line 1202
9192 __cil_tmp101 = (char const *)__cil_tmp100;
9193#line 1202
9194 tmp___13 = strlen(__cil_tmp101);
9195#line 1202
9196 __cil_tmp102 = 0 * 1UL;
9197#line 1202
9198 __cil_tmp103 = (unsigned long )(blurbtxt) + __cil_tmp102;
9199#line 1202
9200 __cil_tmp104 = (char *)__cil_tmp103;
9201#line 1202
9202 __cil_tmp105 = __cil_tmp104 + tmp___13;
9203#line 1202
9204 sprintf(__cil_tmp105, ", WP");
9205 }
9206 } else {
9207
9208 }
9209 }
9210 {
9211#line 1205
9212 __cil_tmp106 = 0 * 1UL;
9213#line 1205
9214 __cil_tmp107 = (unsigned long )(blurbtxt) + __cil_tmp106;
9215#line 1205
9216 __cil_tmp108 = (char *)__cil_tmp107;
9217#line 1205
9218 printk("<4>%s\n", __cil_tmp108);
9219 }
9220#line 1207
9221 return (cardinfo);
9222}
9223}
9224#line 1210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
9225static int sddr09_read_map(struct us_data *us )
9226{ struct sddr09_card_info *info ;
9227 int numblocks ;
9228 int alloc_len ;
9229 int alloc_blocks ;
9230 int i ;
9231 int j ;
9232 int result ;
9233 unsigned char *buffer ;
9234 unsigned char *buffer_end ;
9235 unsigned char *ptr ;
9236 unsigned int lba ;
9237 unsigned int lbact ;
9238 int _min1 ;
9239 int _min2 ;
9240 int tmp___7 ;
9241 void *tmp___8 ;
9242 void *tmp___9 ;
9243 void *tmp___10 ;
9244 int tmp___11 ;
9245 unsigned long address ;
9246 int _min1___0 ;
9247 int _min2___0 ;
9248 int tmp___12 ;
9249 unsigned long address___0 ;
9250 int ct ;
9251 unsigned long __cil_tmp27 ;
9252 unsigned long __cil_tmp28 ;
9253 void *__cil_tmp29 ;
9254 unsigned long __cil_tmp30 ;
9255 unsigned long __cil_tmp31 ;
9256 unsigned long __cil_tmp32 ;
9257 int __cil_tmp33 ;
9258 unsigned long __cil_tmp34 ;
9259 unsigned long __cil_tmp35 ;
9260 int __cil_tmp36 ;
9261 int __cil_tmp37 ;
9262 unsigned long __cil_tmp38 ;
9263 unsigned long __cil_tmp39 ;
9264 int *__cil_tmp40 ;
9265 int *__cil_tmp41 ;
9266 int *__cil_tmp42 ;
9267 int __cil_tmp43 ;
9268 int *__cil_tmp44 ;
9269 int __cil_tmp45 ;
9270 int *__cil_tmp46 ;
9271 int *__cil_tmp47 ;
9272 size_t __cil_tmp48 ;
9273 void *__cil_tmp49 ;
9274 unsigned long __cil_tmp50 ;
9275 unsigned long __cil_tmp51 ;
9276 unsigned long __cil_tmp52 ;
9277 unsigned long __cil_tmp53 ;
9278 int *__cil_tmp54 ;
9279 void const *__cil_tmp55 ;
9280 unsigned long __cil_tmp56 ;
9281 unsigned long __cil_tmp57 ;
9282 int *__cil_tmp58 ;
9283 void const *__cil_tmp59 ;
9284 unsigned long __cil_tmp60 ;
9285 unsigned long __cil_tmp61 ;
9286 unsigned long __cil_tmp62 ;
9287 unsigned long __cil_tmp63 ;
9288 unsigned long __cil_tmp64 ;
9289 unsigned long __cil_tmp65 ;
9290 unsigned long __cil_tmp66 ;
9291 unsigned long __cil_tmp67 ;
9292 void *__cil_tmp68 ;
9293 unsigned long __cil_tmp69 ;
9294 unsigned long __cil_tmp70 ;
9295 unsigned long __cil_tmp71 ;
9296 int *__cil_tmp72 ;
9297 unsigned long __cil_tmp73 ;
9298 void *__cil_tmp74 ;
9299 unsigned long __cil_tmp75 ;
9300 unsigned long __cil_tmp76 ;
9301 unsigned long __cil_tmp77 ;
9302 int *__cil_tmp78 ;
9303 unsigned long __cil_tmp79 ;
9304 unsigned long __cil_tmp80 ;
9305 unsigned long __cil_tmp81 ;
9306 int *__cil_tmp82 ;
9307 int *__cil_tmp83 ;
9308 unsigned long __cil_tmp84 ;
9309 unsigned long __cil_tmp85 ;
9310 int *__cil_tmp86 ;
9311 int *__cil_tmp87 ;
9312 int __cil_tmp88 ;
9313 unsigned long __cil_tmp89 ;
9314 unsigned long __cil_tmp90 ;
9315 unsigned long __cil_tmp91 ;
9316 unsigned long __cil_tmp92 ;
9317 int __cil_tmp93 ;
9318 unsigned long __cil_tmp94 ;
9319 unsigned long __cil_tmp95 ;
9320 int __cil_tmp96 ;
9321 int __cil_tmp97 ;
9322 int __cil_tmp98 ;
9323 int *__cil_tmp99 ;
9324 int *__cil_tmp100 ;
9325 int *__cil_tmp101 ;
9326 int __cil_tmp102 ;
9327 int *__cil_tmp103 ;
9328 int __cil_tmp104 ;
9329 int *__cil_tmp105 ;
9330 int *__cil_tmp106 ;
9331 unsigned long __cil_tmp107 ;
9332 unsigned int __cil_tmp108 ;
9333 unsigned long __cil_tmp109 ;
9334 unsigned long __cil_tmp110 ;
9335 int *__cil_tmp111 ;
9336 int *__cil_tmp112 ;
9337 unsigned long __cil_tmp113 ;
9338 unsigned long __cil_tmp114 ;
9339 int *__cil_tmp115 ;
9340 int *__cil_tmp116 ;
9341 unsigned char *__cil_tmp117 ;
9342 unsigned char __cil_tmp118 ;
9343 int __cil_tmp119 ;
9344 unsigned long __cil_tmp120 ;
9345 unsigned long __cil_tmp121 ;
9346 int *__cil_tmp122 ;
9347 int *__cil_tmp123 ;
9348 unsigned char *__cil_tmp124 ;
9349 unsigned char __cil_tmp125 ;
9350 int __cil_tmp126 ;
9351 unsigned char *__cil_tmp127 ;
9352 unsigned char __cil_tmp128 ;
9353 int __cil_tmp129 ;
9354 unsigned char *__cil_tmp130 ;
9355 unsigned char __cil_tmp131 ;
9356 int __cil_tmp132 ;
9357 unsigned char *__cil_tmp133 ;
9358 unsigned char __cil_tmp134 ;
9359 int __cil_tmp135 ;
9360 unsigned char *__cil_tmp136 ;
9361 unsigned char __cil_tmp137 ;
9362 int __cil_tmp138 ;
9363 unsigned char *__cil_tmp139 ;
9364 unsigned char __cil_tmp140 ;
9365 int __cil_tmp141 ;
9366 unsigned char *__cil_tmp142 ;
9367 unsigned char __cil_tmp143 ;
9368 int __cil_tmp144 ;
9369 unsigned long __cil_tmp145 ;
9370 unsigned long __cil_tmp146 ;
9371 int *__cil_tmp147 ;
9372 int *__cil_tmp148 ;
9373 unsigned char *__cil_tmp149 ;
9374 unsigned char __cil_tmp150 ;
9375 int __cil_tmp151 ;
9376 int __cil_tmp152 ;
9377 unsigned char *__cil_tmp153 ;
9378 unsigned char __cil_tmp154 ;
9379 int __cil_tmp155 ;
9380 unsigned char *__cil_tmp156 ;
9381 unsigned char __cil_tmp157 ;
9382 int __cil_tmp158 ;
9383 unsigned char *__cil_tmp159 ;
9384 unsigned char __cil_tmp160 ;
9385 int __cil_tmp161 ;
9386 unsigned char *__cil_tmp162 ;
9387 unsigned char __cil_tmp163 ;
9388 int __cil_tmp164 ;
9389 unsigned long __cil_tmp165 ;
9390 unsigned long __cil_tmp166 ;
9391 int *__cil_tmp167 ;
9392 int *__cil_tmp168 ;
9393 unsigned char *__cil_tmp169 ;
9394 unsigned char __cil_tmp170 ;
9395 int __cil_tmp171 ;
9396 unsigned char *__cil_tmp172 ;
9397 unsigned char __cil_tmp173 ;
9398 int __cil_tmp174 ;
9399 int __cil_tmp175 ;
9400 unsigned long __cil_tmp176 ;
9401 unsigned long __cil_tmp177 ;
9402 unsigned char *__cil_tmp178 ;
9403 unsigned char __cil_tmp179 ;
9404 int __cil_tmp180 ;
9405 unsigned char *__cil_tmp181 ;
9406 unsigned char __cil_tmp182 ;
9407 int __cil_tmp183 ;
9408 unsigned long __cil_tmp184 ;
9409 unsigned long __cil_tmp185 ;
9410 int *__cil_tmp186 ;
9411 int *__cil_tmp187 ;
9412 unsigned char *__cil_tmp188 ;
9413 unsigned char __cil_tmp189 ;
9414 u16 __cil_tmp190 ;
9415 int __cil_tmp191 ;
9416 int __cil_tmp192 ;
9417 unsigned char *__cil_tmp193 ;
9418 unsigned char __cil_tmp194 ;
9419 u16 __cil_tmp195 ;
9420 int __cil_tmp196 ;
9421 int __cil_tmp197 ;
9422 unsigned int __cil_tmp198 ;
9423 int __cil_tmp199 ;
9424 int __cil_tmp200 ;
9425 unsigned int __cil_tmp201 ;
9426 unsigned long __cil_tmp202 ;
9427 unsigned long __cil_tmp203 ;
9428 int *__cil_tmp204 ;
9429 int *__cil_tmp205 ;
9430 int __cil_tmp206 ;
9431 unsigned int __cil_tmp207 ;
9432 unsigned long __cil_tmp208 ;
9433 unsigned long __cil_tmp209 ;
9434 int *__cil_tmp210 ;
9435 int *__cil_tmp211 ;
9436 int __cil_tmp212 ;
9437 unsigned long __cil_tmp213 ;
9438 unsigned long __cil_tmp214 ;
9439 int *__cil_tmp215 ;
9440 int *__cil_tmp216 ;
9441 unsigned long __cil_tmp217 ;
9442 unsigned long __cil_tmp218 ;
9443 int *__cil_tmp219 ;
9444 int *__cil_tmp220 ;
9445 unsigned long __cil_tmp221 ;
9446 unsigned long __cil_tmp222 ;
9447 int __cil_tmp223 ;
9448 unsigned long __cil_tmp224 ;
9449 unsigned long __cil_tmp225 ;
9450 int __cil_tmp226 ;
9451 int __cil_tmp227 ;
9452 int __cil_tmp228 ;
9453 unsigned long __cil_tmp229 ;
9454 unsigned long __cil_tmp230 ;
9455 unsigned long __cil_tmp231 ;
9456 int *__cil_tmp232 ;
9457 int *__cil_tmp233 ;
9458 unsigned long __cil_tmp234 ;
9459 unsigned long __cil_tmp235 ;
9460 int *__cil_tmp236 ;
9461 int *__cil_tmp237 ;
9462 int __cil_tmp238 ;
9463 int __cil_tmp239 ;
9464 unsigned long __cil_tmp240 ;
9465 unsigned long __cil_tmp241 ;
9466 int *__cil_tmp242 ;
9467 int *__cil_tmp243 ;
9468 int __cil_tmp244 ;
9469 unsigned int __cil_tmp245 ;
9470 int __cil_tmp246 ;
9471 unsigned long __cil_tmp247 ;
9472 unsigned long __cil_tmp248 ;
9473 int *__cil_tmp249 ;
9474 int *__cil_tmp250 ;
9475 unsigned int __cil_tmp251 ;
9476 unsigned long __cil_tmp252 ;
9477 unsigned long __cil_tmp253 ;
9478 unsigned long __cil_tmp254 ;
9479 unsigned long __cil_tmp255 ;
9480 int *__cil_tmp256 ;
9481 void const *__cil_tmp257 ;
9482 unsigned long __cil_tmp258 ;
9483 unsigned long __cil_tmp259 ;
9484 int *__cil_tmp260 ;
9485 void const *__cil_tmp261 ;
9486 unsigned long __cil_tmp262 ;
9487 unsigned long __cil_tmp263 ;
9488 void *__cil_tmp264 ;
9489 unsigned long __cil_tmp265 ;
9490 unsigned long __cil_tmp266 ;
9491 void *__cil_tmp267 ;
9492 void const *__cil_tmp268 ;
9493
9494 {
9495#line 1213
9496 __cil_tmp27 = (unsigned long )us;
9497#line 1213
9498 __cil_tmp28 = __cil_tmp27 + 648;
9499#line 1213
9500 __cil_tmp29 = *((void **)__cil_tmp28);
9501#line 1213
9502 info = (struct sddr09_card_info *)__cil_tmp29;
9503 {
9504#line 1219
9505 __cil_tmp30 = *((unsigned long *)info);
9506#line 1219
9507 if (! __cil_tmp30) {
9508#line 1220
9509 return (-1);
9510 } else {
9511
9512 }
9513 }
9514#line 1225
9515 __cil_tmp31 = (unsigned long )info;
9516#line 1225
9517 __cil_tmp32 = __cil_tmp31 + 12;
9518#line 1225
9519 __cil_tmp33 = *((int *)__cil_tmp32);
9520#line 1225
9521 __cil_tmp34 = (unsigned long )info;
9522#line 1225
9523 __cil_tmp35 = __cil_tmp34 + 20;
9524#line 1225
9525 __cil_tmp36 = *((int *)__cil_tmp35);
9526#line 1225
9527 __cil_tmp37 = __cil_tmp36 + __cil_tmp33;
9528#line 1225
9529 __cil_tmp38 = *((unsigned long *)info);
9530#line 1225
9531 __cil_tmp39 = __cil_tmp38 >> __cil_tmp37;
9532#line 1225
9533 numblocks = (int )__cil_tmp39;
9534#line 1232
9535 __cil_tmp40 = & _min1;
9536#line 1232
9537 *__cil_tmp40 = numblocks;
9538#line 1232
9539 __cil_tmp41 = & _min2;
9540#line 1232
9541 *__cil_tmp41 = 65536 >> 6;
9542 {
9543#line 1232
9544 __cil_tmp42 = & _min2;
9545#line 1232
9546 __cil_tmp43 = *__cil_tmp42;
9547#line 1232
9548 __cil_tmp44 = & _min1;
9549#line 1232
9550 __cil_tmp45 = *__cil_tmp44;
9551#line 1232
9552 if (__cil_tmp45 < __cil_tmp43) {
9553#line 1232
9554 __cil_tmp46 = & _min1;
9555#line 1232
9556 tmp___7 = *__cil_tmp46;
9557 } else {
9558#line 1232
9559 __cil_tmp47 = & _min2;
9560#line 1232
9561 tmp___7 = *__cil_tmp47;
9562 }
9563 }
9564 {
9565#line 1232
9566 alloc_blocks = tmp___7;
9567#line 1233
9568 alloc_len = alloc_blocks << 6;
9569#line 1234
9570 __cil_tmp48 = (size_t )alloc_len;
9571#line 1234
9572 tmp___8 = kmalloc(__cil_tmp48, 16U);
9573#line 1234
9574 buffer = (unsigned char *)tmp___8;
9575 }
9576 {
9577#line 1235
9578 __cil_tmp49 = (void *)0;
9579#line 1235
9580 __cil_tmp50 = (unsigned long )__cil_tmp49;
9581#line 1235
9582 __cil_tmp51 = (unsigned long )buffer;
9583#line 1235
9584 if (__cil_tmp51 == __cil_tmp50) {
9585 {
9586#line 1236
9587 printk("<4>sddr09_read_map: out of memory\n");
9588#line 1237
9589 result = -1;
9590 }
9591#line 1238
9592 goto done;
9593 } else {
9594
9595 }
9596 }
9597 {
9598#line 1240
9599 buffer_end = buffer + alloc_len;
9600#line 1244
9601 __cil_tmp52 = (unsigned long )info;
9602#line 1244
9603 __cil_tmp53 = __cil_tmp52 + 32;
9604#line 1244
9605 __cil_tmp54 = *((int **)__cil_tmp53);
9606#line 1244
9607 __cil_tmp55 = (void const *)__cil_tmp54;
9608#line 1244
9609 kfree(__cil_tmp55);
9610#line 1245
9611 __cil_tmp56 = (unsigned long )info;
9612#line 1245
9613 __cil_tmp57 = __cil_tmp56 + 40;
9614#line 1245
9615 __cil_tmp58 = *((int **)__cil_tmp57);
9616#line 1245
9617 __cil_tmp59 = (void const *)__cil_tmp58;
9618#line 1245
9619 kfree(__cil_tmp59);
9620#line 1246
9621 __cil_tmp60 = (unsigned long )numblocks;
9622#line 1246
9623 __cil_tmp61 = __cil_tmp60 * 4UL;
9624#line 1246
9625 tmp___9 = kmalloc(__cil_tmp61, 16U);
9626#line 1246
9627 __cil_tmp62 = (unsigned long )info;
9628#line 1246
9629 __cil_tmp63 = __cil_tmp62 + 32;
9630#line 1246
9631 *((int **)__cil_tmp63) = (int *)tmp___9;
9632#line 1247
9633 __cil_tmp64 = (unsigned long )numblocks;
9634#line 1247
9635 __cil_tmp65 = __cil_tmp64 * 4UL;
9636#line 1247
9637 tmp___10 = kmalloc(__cil_tmp65, 16U);
9638#line 1247
9639 __cil_tmp66 = (unsigned long )info;
9640#line 1247
9641 __cil_tmp67 = __cil_tmp66 + 40;
9642#line 1247
9643 *((int **)__cil_tmp67) = (int *)tmp___10;
9644 }
9645 {
9646#line 1249
9647 __cil_tmp68 = (void *)0;
9648#line 1249
9649 __cil_tmp69 = (unsigned long )__cil_tmp68;
9650#line 1249
9651 __cil_tmp70 = (unsigned long )info;
9652#line 1249
9653 __cil_tmp71 = __cil_tmp70 + 32;
9654#line 1249
9655 __cil_tmp72 = *((int **)__cil_tmp71);
9656#line 1249
9657 __cil_tmp73 = (unsigned long )__cil_tmp72;
9658#line 1249
9659 if (__cil_tmp73 == __cil_tmp69) {
9660 {
9661#line 1250
9662 printk("<4>sddr09_read_map: out of memory\n");
9663#line 1251
9664 result = -1;
9665 }
9666#line 1252
9667 goto done;
9668 } else {
9669 {
9670#line 1249
9671 __cil_tmp74 = (void *)0;
9672#line 1249
9673 __cil_tmp75 = (unsigned long )__cil_tmp74;
9674#line 1249
9675 __cil_tmp76 = (unsigned long )info;
9676#line 1249
9677 __cil_tmp77 = __cil_tmp76 + 40;
9678#line 1249
9679 __cil_tmp78 = *((int **)__cil_tmp77);
9680#line 1249
9681 __cil_tmp79 = (unsigned long )__cil_tmp78;
9682#line 1249
9683 if (__cil_tmp79 == __cil_tmp75) {
9684 {
9685#line 1250
9686 printk("<4>sddr09_read_map: out of memory\n");
9687#line 1251
9688 result = -1;
9689 }
9690#line 1252
9691 goto done;
9692 } else {
9693
9694 }
9695 }
9696 }
9697 }
9698#line 1255
9699 i = 0;
9700 {
9701#line 1255
9702 while (1) {
9703 while_continue: ;
9704#line 1255
9705 if (i < numblocks) {
9706
9707 } else {
9708#line 1255
9709 goto while_break;
9710 }
9711#line 1256
9712 tmp___11 = -1;
9713#line 1256
9714 __cil_tmp80 = (unsigned long )info;
9715#line 1256
9716 __cil_tmp81 = __cil_tmp80 + 40;
9717#line 1256
9718 __cil_tmp82 = *((int **)__cil_tmp81);
9719#line 1256
9720 __cil_tmp83 = __cil_tmp82 + i;
9721#line 1256
9722 *__cil_tmp83 = tmp___11;
9723#line 1256
9724 __cil_tmp84 = (unsigned long )info;
9725#line 1256
9726 __cil_tmp85 = __cil_tmp84 + 32;
9727#line 1256
9728 __cil_tmp86 = *((int **)__cil_tmp85);
9729#line 1256
9730 __cil_tmp87 = __cil_tmp86 + i;
9731#line 1256
9732 *__cil_tmp87 = tmp___11;
9733#line 1255
9734 i = i + 1;
9735 }
9736 while_break: ;
9737 }
9738#line 1262
9739 ptr = buffer_end;
9740#line 1263
9741 i = 0;
9742 {
9743#line 1263
9744 while (1) {
9745 while_continue___0: ;
9746#line 1263
9747 if (i < numblocks) {
9748
9749 } else {
9750#line 1263
9751 goto while_break___0;
9752 }
9753#line 1264
9754 __cil_tmp88 = 1 << 6;
9755#line 1264
9756 ptr = ptr + __cil_tmp88;
9757 {
9758#line 1265
9759 __cil_tmp89 = (unsigned long )buffer_end;
9760#line 1265
9761 __cil_tmp90 = (unsigned long )ptr;
9762#line 1265
9763 if (__cil_tmp90 >= __cil_tmp89) {
9764#line 1268
9765 __cil_tmp91 = (unsigned long )info;
9766#line 1268
9767 __cil_tmp92 = __cil_tmp91 + 20;
9768#line 1268
9769 __cil_tmp93 = *((int *)__cil_tmp92);
9770#line 1268
9771 __cil_tmp94 = (unsigned long )info;
9772#line 1268
9773 __cil_tmp95 = __cil_tmp94 + 12;
9774#line 1268
9775 __cil_tmp96 = *((int *)__cil_tmp95);
9776#line 1268
9777 __cil_tmp97 = __cil_tmp96 + __cil_tmp93;
9778#line 1268
9779 __cil_tmp98 = i << __cil_tmp97;
9780#line 1268
9781 address = (unsigned long )__cil_tmp98;
9782#line 1271
9783 __cil_tmp99 = & _min1___0;
9784#line 1271
9785 *__cil_tmp99 = alloc_blocks;
9786#line 1271
9787 __cil_tmp100 = & _min2___0;
9788#line 1271
9789 *__cil_tmp100 = numblocks - i;
9790 {
9791#line 1271
9792 __cil_tmp101 = & _min2___0;
9793#line 1271
9794 __cil_tmp102 = *__cil_tmp101;
9795#line 1271
9796 __cil_tmp103 = & _min1___0;
9797#line 1271
9798 __cil_tmp104 = *__cil_tmp103;
9799#line 1271
9800 if (__cil_tmp104 < __cil_tmp102) {
9801#line 1271
9802 __cil_tmp105 = & _min1___0;
9803#line 1271
9804 tmp___12 = *__cil_tmp105;
9805 } else {
9806#line 1271
9807 __cil_tmp106 = & _min2___0;
9808#line 1271
9809 tmp___12 = *__cil_tmp106;
9810 }
9811 }
9812 {
9813#line 1271
9814 __cil_tmp107 = address >> 1;
9815#line 1271
9816 __cil_tmp108 = (unsigned int )tmp___12;
9817#line 1271
9818 result = sddr09_read_control(us, __cil_tmp107, __cil_tmp108, buffer, 0);
9819 }
9820#line 1273
9821 if (result) {
9822#line 1274
9823 result = -1;
9824#line 1275
9825 goto done;
9826 } else {
9827
9828 }
9829#line 1277
9830 ptr = buffer;
9831 } else {
9832
9833 }
9834 }
9835#line 1280
9836 if (i == 0) {
9837#line 1281
9838 __cil_tmp109 = (unsigned long )info;
9839#line 1281
9840 __cil_tmp110 = __cil_tmp109 + 40;
9841#line 1281
9842 __cil_tmp111 = *((int **)__cil_tmp110);
9843#line 1281
9844 __cil_tmp112 = __cil_tmp111 + i;
9845#line 1281
9846 *__cil_tmp112 = -3;
9847#line 1282
9848 goto __Cont;
9849 } else
9850#line 1280
9851 if (i == 1) {
9852#line 1281
9853 __cil_tmp113 = (unsigned long )info;
9854#line 1281
9855 __cil_tmp114 = __cil_tmp113 + 40;
9856#line 1281
9857 __cil_tmp115 = *((int **)__cil_tmp114);
9858#line 1281
9859 __cil_tmp116 = __cil_tmp115 + i;
9860#line 1281
9861 *__cil_tmp116 = -3;
9862#line 1282
9863 goto __Cont;
9864 } else {
9865
9866 }
9867#line 1286
9868 j = 0;
9869 {
9870#line 1286
9871 while (1) {
9872 while_continue___1: ;
9873#line 1286
9874 if (j < 16) {
9875
9876 } else {
9877#line 1286
9878 goto while_break___1;
9879 }
9880 {
9881#line 1287
9882 __cil_tmp117 = ptr + j;
9883#line 1287
9884 __cil_tmp118 = *__cil_tmp117;
9885#line 1287
9886 __cil_tmp119 = (int )__cil_tmp118;
9887#line 1287
9888 if (__cil_tmp119 != 0) {
9889#line 1288
9890 goto nonz;
9891 } else {
9892
9893 }
9894 }
9895#line 1286
9896 j = j + 1;
9897 }
9898 while_break___1: ;
9899 }
9900 {
9901#line 1289
9902 __cil_tmp120 = (unsigned long )info;
9903#line 1289
9904 __cil_tmp121 = __cil_tmp120 + 40;
9905#line 1289
9906 __cil_tmp122 = *((int **)__cil_tmp121);
9907#line 1289
9908 __cil_tmp123 = __cil_tmp122 + i;
9909#line 1289
9910 *__cil_tmp123 = -3;
9911#line 1290
9912 printk("<4>sddr09: PBA %d has no logical mapping\n", i);
9913 }
9914#line 1292
9915 goto __Cont;
9916 nonz:
9917#line 1296
9918 j = 0;
9919 {
9920#line 1296
9921 while (1) {
9922 while_continue___2: ;
9923#line 1296
9924 if (j < 16) {
9925
9926 } else {
9927#line 1296
9928 goto while_break___2;
9929 }
9930 {
9931#line 1297
9932 __cil_tmp124 = ptr + j;
9933#line 1297
9934 __cil_tmp125 = *__cil_tmp124;
9935#line 1297
9936 __cil_tmp126 = (int )__cil_tmp125;
9937#line 1297
9938 if (__cil_tmp126 != 255) {
9939#line 1298
9940 goto nonff;
9941 } else {
9942
9943 }
9944 }
9945#line 1296
9946 j = j + 1;
9947 }
9948 while_break___2: ;
9949 }
9950#line 1299
9951 goto __Cont;
9952 nonff:
9953#line 1303
9954 if (j < 6) {
9955 {
9956#line 1304
9957 __cil_tmp127 = ptr + 0;
9958#line 1304
9959 __cil_tmp128 = *__cil_tmp127;
9960#line 1304
9961 __cil_tmp129 = (int )__cil_tmp128;
9962#line 1304
9963 __cil_tmp130 = ptr + 1;
9964#line 1304
9965 __cil_tmp131 = *__cil_tmp130;
9966#line 1304
9967 __cil_tmp132 = (int )__cil_tmp131;
9968#line 1304
9969 __cil_tmp133 = ptr + 2;
9970#line 1304
9971 __cil_tmp134 = *__cil_tmp133;
9972#line 1304
9973 __cil_tmp135 = (int )__cil_tmp134;
9974#line 1304
9975 __cil_tmp136 = ptr + 3;
9976#line 1304
9977 __cil_tmp137 = *__cil_tmp136;
9978#line 1304
9979 __cil_tmp138 = (int )__cil_tmp137;
9980#line 1304
9981 __cil_tmp139 = ptr + 4;
9982#line 1304
9983 __cil_tmp140 = *__cil_tmp139;
9984#line 1304
9985 __cil_tmp141 = (int )__cil_tmp140;
9986#line 1304
9987 __cil_tmp142 = ptr + 5;
9988#line 1304
9989 __cil_tmp143 = *__cil_tmp142;
9990#line 1304
9991 __cil_tmp144 = (int )__cil_tmp143;
9992#line 1304
9993 printk("<4>sddr09: PBA %d has no logical mapping: reserved area = %02X%02X%02X%02X data status %02X block status %02X\n",
9994 i, __cil_tmp129, __cil_tmp132, __cil_tmp135, __cil_tmp138, __cil_tmp141,
9995 __cil_tmp144);
9996#line 1310
9997 __cil_tmp145 = (unsigned long )info;
9998#line 1310
9999 __cil_tmp146 = __cil_tmp145 + 40;
10000#line 1310
10001 __cil_tmp147 = *((int **)__cil_tmp146);
10002#line 1310
10003 __cil_tmp148 = __cil_tmp147 + i;
10004#line 1310
10005 *__cil_tmp148 = -3;
10006 }
10007#line 1311
10008 goto __Cont;
10009 } else {
10010
10011 }
10012 {
10013#line 1314
10014 __cil_tmp149 = ptr + 6;
10015#line 1314
10016 __cil_tmp150 = *__cil_tmp149;
10017#line 1314
10018 __cil_tmp151 = (int )__cil_tmp150;
10019#line 1314
10020 __cil_tmp152 = __cil_tmp151 >> 4;
10021#line 1314
10022 if (__cil_tmp152 != 1) {
10023 {
10024#line 1315
10025 __cil_tmp153 = ptr + 6;
10026#line 1315
10027 __cil_tmp154 = *__cil_tmp153;
10028#line 1315
10029 __cil_tmp155 = (int )__cil_tmp154;
10030#line 1315
10031 __cil_tmp156 = ptr + 7;
10032#line 1315
10033 __cil_tmp157 = *__cil_tmp156;
10034#line 1315
10035 __cil_tmp158 = (int )__cil_tmp157;
10036#line 1315
10037 __cil_tmp159 = ptr + 11;
10038#line 1315
10039 __cil_tmp160 = *__cil_tmp159;
10040#line 1315
10041 __cil_tmp161 = (int )__cil_tmp160;
10042#line 1315
10043 __cil_tmp162 = ptr + 12;
10044#line 1315
10045 __cil_tmp163 = *__cil_tmp162;
10046#line 1315
10047 __cil_tmp164 = (int )__cil_tmp163;
10048#line 1315
10049 printk("<4>sddr09: PBA %d has invalid address field %02X%02X/%02X%02X\n", i,
10050 __cil_tmp155, __cil_tmp158, __cil_tmp161, __cil_tmp164);
10051#line 1319
10052 __cil_tmp165 = (unsigned long )info;
10053#line 1319
10054 __cil_tmp166 = __cil_tmp165 + 40;
10055#line 1319
10056 __cil_tmp167 = *((int **)__cil_tmp166);
10057#line 1319
10058 __cil_tmp168 = __cil_tmp167 + i;
10059#line 1319
10060 *__cil_tmp168 = -3;
10061 }
10062#line 1320
10063 goto __Cont;
10064 } else {
10065
10066 }
10067 }
10068 {
10069#line 1324
10070 __cil_tmp169 = ptr + 7;
10071#line 1324
10072 __cil_tmp170 = *__cil_tmp169;
10073#line 1324
10074 __cil_tmp171 = (int )__cil_tmp170;
10075#line 1324
10076 __cil_tmp172 = ptr + 6;
10077#line 1324
10078 __cil_tmp173 = *__cil_tmp172;
10079#line 1324
10080 __cil_tmp174 = (int )__cil_tmp173;
10081#line 1324
10082 __cil_tmp175 = __cil_tmp174 ^ __cil_tmp171;
10083#line 1324
10084 __cil_tmp176 = __cil_tmp175 * 1UL;
10085#line 1324
10086 __cil_tmp177 = (unsigned long )(parity) + __cil_tmp176;
10087#line 1324
10088 if (*((unsigned char *)__cil_tmp177)) {
10089 {
10090#line 1325
10091 __cil_tmp178 = ptr + 6;
10092#line 1325
10093 __cil_tmp179 = *__cil_tmp178;
10094#line 1325
10095 __cil_tmp180 = (int )__cil_tmp179;
10096#line 1325
10097 __cil_tmp181 = ptr + 7;
10098#line 1325
10099 __cil_tmp182 = *__cil_tmp181;
10100#line 1325
10101 __cil_tmp183 = (int )__cil_tmp182;
10102#line 1325
10103 printk("<4>sddr09: Bad parity in LBA for block %d (%02X %02X)\n", i, __cil_tmp180,
10104 __cil_tmp183);
10105#line 1328
10106 __cil_tmp184 = (unsigned long )info;
10107#line 1328
10108 __cil_tmp185 = __cil_tmp184 + 40;
10109#line 1328
10110 __cil_tmp186 = *((int **)__cil_tmp185);
10111#line 1328
10112 __cil_tmp187 = __cil_tmp186 + i;
10113#line 1328
10114 *__cil_tmp187 = -3;
10115 }
10116#line 1329
10117 goto __Cont;
10118 } else {
10119
10120 }
10121 }
10122#line 1332
10123 __cil_tmp188 = ptr + 6;
10124#line 1332
10125 __cil_tmp189 = *__cil_tmp188;
10126#line 1332
10127 __cil_tmp190 = (u16 )__cil_tmp189;
10128#line 1332
10129 __cil_tmp191 = (int )__cil_tmp190;
10130#line 1332
10131 __cil_tmp192 = __cil_tmp191 << 8;
10132#line 1332
10133 __cil_tmp193 = ptr + 7;
10134#line 1332
10135 __cil_tmp194 = *__cil_tmp193;
10136#line 1332
10137 __cil_tmp195 = (u16 )__cil_tmp194;
10138#line 1332
10139 __cil_tmp196 = (int )__cil_tmp195;
10140#line 1332
10141 __cil_tmp197 = __cil_tmp196 | __cil_tmp192;
10142#line 1332
10143 lba = (unsigned int )__cil_tmp197;
10144#line 1333
10145 __cil_tmp198 = lba & 2047U;
10146#line 1333
10147 lba = __cil_tmp198 >> 1;
10148#line 1344
10149 if (lba >= 1000U) {
10150 {
10151#line 1345
10152 printk("<4>sddr09: Bad low LBA %d for block %d\n", lba, i);
10153 }
10154#line 1348
10155 goto possibly_erase;
10156 } else {
10157
10158 }
10159#line 1351
10160 __cil_tmp199 = i / 1024;
10161#line 1351
10162 __cil_tmp200 = 1000 * __cil_tmp199;
10163#line 1351
10164 __cil_tmp201 = (unsigned int )__cil_tmp200;
10165#line 1351
10166 lba = lba + __cil_tmp201;
10167 {
10168#line 1353
10169 __cil_tmp202 = (unsigned long )info;
10170#line 1353
10171 __cil_tmp203 = __cil_tmp202 + 32;
10172#line 1353
10173 __cil_tmp204 = *((int **)__cil_tmp203);
10174#line 1353
10175 __cil_tmp205 = __cil_tmp204 + lba;
10176#line 1353
10177 __cil_tmp206 = *__cil_tmp205;
10178#line 1353
10179 __cil_tmp207 = (unsigned int )__cil_tmp206;
10180#line 1353
10181 if (__cil_tmp207 != 4294967295U) {
10182 {
10183#line 1354
10184 __cil_tmp208 = (unsigned long )info;
10185#line 1354
10186 __cil_tmp209 = __cil_tmp208 + 32;
10187#line 1354
10188 __cil_tmp210 = *((int **)__cil_tmp209);
10189#line 1354
10190 __cil_tmp211 = __cil_tmp210 + lba;
10191#line 1354
10192 __cil_tmp212 = *__cil_tmp211;
10193#line 1354
10194 printk("<4>sddr09: LBA %d seen for PBA %d and %d\n", lba, __cil_tmp212, i);
10195 }
10196#line 1357
10197 goto possibly_erase;
10198 } else {
10199
10200 }
10201 }
10202#line 1360
10203 __cil_tmp213 = (unsigned long )info;
10204#line 1360
10205 __cil_tmp214 = __cil_tmp213 + 40;
10206#line 1360
10207 __cil_tmp215 = *((int **)__cil_tmp214);
10208#line 1360
10209 __cil_tmp216 = __cil_tmp215 + i;
10210#line 1360
10211 *__cil_tmp216 = (int )lba;
10212#line 1361
10213 __cil_tmp217 = (unsigned long )info;
10214#line 1361
10215 __cil_tmp218 = __cil_tmp217 + 32;
10216#line 1361
10217 __cil_tmp219 = *((int **)__cil_tmp218);
10218#line 1361
10219 __cil_tmp220 = __cil_tmp219 + lba;
10220#line 1361
10221 *__cil_tmp220 = i;
10222#line 1362
10223 goto __Cont;
10224 possibly_erase:
10225#line 1365
10226 if (erase_bad_lba_entries) {
10227 {
10228#line 1368
10229 __cil_tmp221 = (unsigned long )info;
10230#line 1368
10231 __cil_tmp222 = __cil_tmp221 + 20;
10232#line 1368
10233 __cil_tmp223 = *((int *)__cil_tmp222);
10234#line 1368
10235 __cil_tmp224 = (unsigned long )info;
10236#line 1368
10237 __cil_tmp225 = __cil_tmp224 + 12;
10238#line 1368
10239 __cil_tmp226 = *((int *)__cil_tmp225);
10240#line 1368
10241 __cil_tmp227 = __cil_tmp226 + __cil_tmp223;
10242#line 1368
10243 __cil_tmp228 = i << __cil_tmp227;
10244#line 1368
10245 address___0 = (unsigned long )__cil_tmp228;
10246#line 1369
10247 __cil_tmp229 = address___0 >> 1;
10248#line 1369
10249 sddr09_erase(us, __cil_tmp229);
10250#line 1370
10251 __cil_tmp230 = (unsigned long )info;
10252#line 1370
10253 __cil_tmp231 = __cil_tmp230 + 40;
10254#line 1370
10255 __cil_tmp232 = *((int **)__cil_tmp231);
10256#line 1370
10257 __cil_tmp233 = __cil_tmp232 + i;
10258#line 1370
10259 *__cil_tmp233 = -1;
10260 }
10261 } else {
10262#line 1372
10263 __cil_tmp234 = (unsigned long )info;
10264#line 1372
10265 __cil_tmp235 = __cil_tmp234 + 40;
10266#line 1372
10267 __cil_tmp236 = *((int **)__cil_tmp235);
10268#line 1372
10269 __cil_tmp237 = __cil_tmp236 + i;
10270#line 1372
10271 *__cil_tmp237 = -3;
10272 }
10273 __Cont:
10274#line 1263
10275 i = i + 1;
10276 }
10277 while_break___0: ;
10278 }
10279#line 1381
10280 lbact = 0U;
10281#line 1382
10282 i = 0;
10283 {
10284#line 1382
10285 while (1) {
10286 while_continue___3: ;
10287#line 1382
10288 if (i < numblocks) {
10289
10290 } else {
10291#line 1382
10292 goto while_break___3;
10293 }
10294#line 1383
10295 ct = 0;
10296#line 1385
10297 j = 0;
10298 {
10299#line 1385
10300 while (1) {
10301 while_continue___4: ;
10302#line 1385
10303 if (j < 1024) {
10304 {
10305#line 1385
10306 __cil_tmp238 = i + j;
10307#line 1385
10308 if (__cil_tmp238 < numblocks) {
10309
10310 } else {
10311#line 1385
10312 goto while_break___4;
10313 }
10314 }
10315 } else {
10316#line 1385
10317 goto while_break___4;
10318 }
10319 {
10320#line 1386
10321 __cil_tmp239 = i + j;
10322#line 1386
10323 __cil_tmp240 = (unsigned long )info;
10324#line 1386
10325 __cil_tmp241 = __cil_tmp240 + 40;
10326#line 1386
10327 __cil_tmp242 = *((int **)__cil_tmp241);
10328#line 1386
10329 __cil_tmp243 = __cil_tmp242 + __cil_tmp239;
10330#line 1386
10331 __cil_tmp244 = *__cil_tmp243;
10332#line 1386
10333 __cil_tmp245 = (unsigned int )__cil_tmp244;
10334#line 1386
10335 if (__cil_tmp245 != 4294967293U) {
10336#line 1387
10337 if (ct >= 1000) {
10338#line 1388
10339 __cil_tmp246 = i + j;
10340#line 1388
10341 __cil_tmp247 = (unsigned long )info;
10342#line 1388
10343 __cil_tmp248 = __cil_tmp247 + 40;
10344#line 1388
10345 __cil_tmp249 = *((int **)__cil_tmp248);
10346#line 1388
10347 __cil_tmp250 = __cil_tmp249 + __cil_tmp246;
10348#line 1388
10349 *__cil_tmp250 = -2;
10350 } else {
10351#line 1390
10352 ct = ct + 1;
10353 }
10354 } else {
10355
10356 }
10357 }
10358#line 1385
10359 j = j + 1;
10360 }
10361 while_break___4: ;
10362 }
10363#line 1393
10364 __cil_tmp251 = (unsigned int )ct;
10365#line 1393
10366 lbact = lbact + __cil_tmp251;
10367#line 1382
10368 i = i + 1024;
10369 }
10370 while_break___3: ;
10371 }
10372 {
10373#line 1395
10374 __cil_tmp252 = (unsigned long )info;
10375#line 1395
10376 __cil_tmp253 = __cil_tmp252 + 48;
10377#line 1395
10378 *((int *)__cil_tmp253) = (int )lbact;
10379#line 1396
10380 printk("<7>usb-storage: Found %d LBA\'s\n", lbact);
10381#line 1397
10382 result = 0;
10383 }
10384 done:
10385#line 1400
10386 if (result != 0) {
10387 {
10388#line 1401
10389 __cil_tmp254 = (unsigned long )info;
10390#line 1401
10391 __cil_tmp255 = __cil_tmp254 + 32;
10392#line 1401
10393 __cil_tmp256 = *((int **)__cil_tmp255);
10394#line 1401
10395 __cil_tmp257 = (void const *)__cil_tmp256;
10396#line 1401
10397 kfree(__cil_tmp257);
10398#line 1402
10399 __cil_tmp258 = (unsigned long )info;
10400#line 1402
10401 __cil_tmp259 = __cil_tmp258 + 40;
10402#line 1402
10403 __cil_tmp260 = *((int **)__cil_tmp259);
10404#line 1402
10405 __cil_tmp261 = (void const *)__cil_tmp260;
10406#line 1402
10407 kfree(__cil_tmp261);
10408#line 1403
10409 __cil_tmp262 = (unsigned long )info;
10410#line 1403
10411 __cil_tmp263 = __cil_tmp262 + 32;
10412#line 1403
10413 __cil_tmp264 = (void *)0;
10414#line 1403
10415 *((int **)__cil_tmp263) = (int *)__cil_tmp264;
10416#line 1404
10417 __cil_tmp265 = (unsigned long )info;
10418#line 1404
10419 __cil_tmp266 = __cil_tmp265 + 40;
10420#line 1404
10421 __cil_tmp267 = (void *)0;
10422#line 1404
10423 *((int **)__cil_tmp266) = (int *)__cil_tmp267;
10424 }
10425 } else {
10426
10427 }
10428 {
10429#line 1406
10430 __cil_tmp268 = (void const *)buffer;
10431#line 1406
10432 kfree(__cil_tmp268);
10433 }
10434#line 1407
10435 return (result);
10436}
10437}
10438#line 1410 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10439static void sddr09_card_info_destructor(void *extra )
10440{ struct sddr09_card_info *info ;
10441 unsigned long __cil_tmp3 ;
10442 unsigned long __cil_tmp4 ;
10443 int *__cil_tmp5 ;
10444 void const *__cil_tmp6 ;
10445 unsigned long __cil_tmp7 ;
10446 unsigned long __cil_tmp8 ;
10447 int *__cil_tmp9 ;
10448 void const *__cil_tmp10 ;
10449
10450 {
10451#line 1412
10452 info = (struct sddr09_card_info *)extra;
10453#line 1414
10454 if (! info) {
10455#line 1415
10456 return;
10457 } else {
10458
10459 }
10460 {
10461#line 1417
10462 __cil_tmp3 = (unsigned long )info;
10463#line 1417
10464 __cil_tmp4 = __cil_tmp3 + 32;
10465#line 1417
10466 __cil_tmp5 = *((int **)__cil_tmp4);
10467#line 1417
10468 __cil_tmp6 = (void const *)__cil_tmp5;
10469#line 1417
10470 kfree(__cil_tmp6);
10471#line 1418
10472 __cil_tmp7 = (unsigned long )info;
10473#line 1418
10474 __cil_tmp8 = __cil_tmp7 + 40;
10475#line 1418
10476 __cil_tmp9 = *((int **)__cil_tmp8);
10477#line 1418
10478 __cil_tmp10 = (void const *)__cil_tmp9;
10479#line 1418
10480 kfree(__cil_tmp10);
10481 }
10482#line 1419
10483 return;
10484}
10485}
10486#line 1421 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10487static int sddr09_common_init(struct us_data *us )
10488{ int result ;
10489 unsigned long __cil_tmp3 ;
10490 unsigned long __cil_tmp4 ;
10491 unsigned long __cil_tmp5 ;
10492 struct usb_device *__cil_tmp6 ;
10493 unsigned long __cil_tmp7 ;
10494 unsigned long __cil_tmp8 ;
10495 struct usb_host_config *__cil_tmp9 ;
10496 unsigned long __cil_tmp10 ;
10497 unsigned long __cil_tmp11 ;
10498 __u8 __cil_tmp12 ;
10499 int __cil_tmp13 ;
10500 unsigned long __cil_tmp14 ;
10501 unsigned long __cil_tmp15 ;
10502 unsigned long __cil_tmp16 ;
10503 struct usb_device *__cil_tmp17 ;
10504 unsigned long __cil_tmp18 ;
10505 unsigned long __cil_tmp19 ;
10506 struct usb_host_config *__cil_tmp20 ;
10507 unsigned long __cil_tmp21 ;
10508 unsigned long __cil_tmp22 ;
10509 __u8 __cil_tmp23 ;
10510 int __cil_tmp24 ;
10511 unsigned long __cil_tmp25 ;
10512 unsigned long __cil_tmp26 ;
10513 struct usb_device *__cil_tmp27 ;
10514 unsigned long __cil_tmp28 ;
10515 unsigned long __cil_tmp29 ;
10516 unsigned long __cil_tmp30 ;
10517 unsigned long __cil_tmp31 ;
10518 void *__cil_tmp32 ;
10519 unsigned long __cil_tmp33 ;
10520 unsigned long __cil_tmp34 ;
10521
10522 {
10523 {
10524#line 1426
10525 __cil_tmp3 = 0 + 5;
10526#line 1426
10527 __cil_tmp4 = (unsigned long )us;
10528#line 1426
10529 __cil_tmp5 = __cil_tmp4 + 72;
10530#line 1426
10531 __cil_tmp6 = *((struct usb_device **)__cil_tmp5);
10532#line 1426
10533 __cil_tmp7 = (unsigned long )__cil_tmp6;
10534#line 1426
10535 __cil_tmp8 = __cil_tmp7 + 944;
10536#line 1426
10537 __cil_tmp9 = *((struct usb_host_config **)__cil_tmp8);
10538#line 1426
10539 __cil_tmp10 = (unsigned long )__cil_tmp9;
10540#line 1426
10541 __cil_tmp11 = __cil_tmp10 + __cil_tmp3;
10542#line 1426
10543 __cil_tmp12 = *((__u8 *)__cil_tmp11);
10544#line 1426
10545 __cil_tmp13 = (int )__cil_tmp12;
10546#line 1426
10547 if (__cil_tmp13 != 1) {
10548 {
10549#line 1427
10550 __cil_tmp14 = 0 + 5;
10551#line 1427
10552 __cil_tmp15 = (unsigned long )us;
10553#line 1427
10554 __cil_tmp16 = __cil_tmp15 + 72;
10555#line 1427
10556 __cil_tmp17 = *((struct usb_device **)__cil_tmp16);
10557#line 1427
10558 __cil_tmp18 = (unsigned long )__cil_tmp17;
10559#line 1427
10560 __cil_tmp19 = __cil_tmp18 + 944;
10561#line 1427
10562 __cil_tmp20 = *((struct usb_host_config **)__cil_tmp19);
10563#line 1427
10564 __cil_tmp21 = (unsigned long )__cil_tmp20;
10565#line 1427
10566 __cil_tmp22 = __cil_tmp21 + __cil_tmp14;
10567#line 1427
10568 __cil_tmp23 = *((__u8 *)__cil_tmp22);
10569#line 1427
10570 __cil_tmp24 = (int )__cil_tmp23;
10571#line 1427
10572 printk("<7>usb-storage: active config #%d != 1 ??\n", __cil_tmp24);
10573 }
10574#line 1429
10575 return (-22);
10576 } else {
10577
10578 }
10579 }
10580 {
10581#line 1432
10582 __cil_tmp25 = (unsigned long )us;
10583#line 1432
10584 __cil_tmp26 = __cil_tmp25 + 72;
10585#line 1432
10586 __cil_tmp27 = *((struct usb_device **)__cil_tmp26);
10587#line 1432
10588 result = usb_reset_configuration(__cil_tmp27);
10589#line 1433
10590 printk("<7>usb-storage: Result of usb_reset_configuration is %d\n", result);
10591 }
10592#line 1434
10593 if (result == -32) {
10594 {
10595#line 1435
10596 printk("<7>usb-storage: -- stall on control interface\n");
10597 }
10598 } else
10599#line 1436
10600 if (result != 0) {
10601 {
10602#line 1438
10603 printk("<7>usb-storage: -- Unknown error. Rejecting device\n");
10604 }
10605#line 1439
10606 return (-22);
10607 } else {
10608
10609 }
10610 {
10611#line 1442
10612 __cil_tmp28 = (unsigned long )us;
10613#line 1442
10614 __cil_tmp29 = __cil_tmp28 + 648;
10615#line 1442
10616 *((void **)__cil_tmp29) = kzalloc(56UL, 16U);
10617 }
10618 {
10619#line 1443
10620 __cil_tmp30 = (unsigned long )us;
10621#line 1443
10622 __cil_tmp31 = __cil_tmp30 + 648;
10623#line 1443
10624 __cil_tmp32 = *((void **)__cil_tmp31);
10625#line 1443
10626 if (! __cil_tmp32) {
10627#line 1444
10628 return (-12);
10629 } else {
10630
10631 }
10632 }
10633 {
10634#line 1445
10635 __cil_tmp33 = (unsigned long )us;
10636#line 1445
10637 __cil_tmp34 = __cil_tmp33 + 656;
10638#line 1445
10639 *((void (**)(void * ))__cil_tmp34) = & sddr09_card_info_destructor;
10640#line 1447
10641 nand_init_ecc();
10642 }
10643#line 1448
10644 return (0);
10645}
10646}
10647#line 1457 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10648static int usb_stor_sddr09_dpcm_init(struct us_data *us )
10649{ int result ;
10650 unsigned char *data ;
10651 int j ;
10652 unsigned long __cil_tmp5 ;
10653 unsigned long __cil_tmp6 ;
10654 unsigned char *__cil_tmp7 ;
10655 unsigned char __cil_tmp8 ;
10656 int __cil_tmp9 ;
10657 unsigned char *__cil_tmp10 ;
10658 unsigned char __cil_tmp11 ;
10659 int __cil_tmp12 ;
10660 unsigned char *__cil_tmp13 ;
10661 unsigned char __cil_tmp14 ;
10662 int __cil_tmp15 ;
10663 unsigned char *__cil_tmp16 ;
10664 unsigned char __cil_tmp17 ;
10665 int __cil_tmp18 ;
10666 unsigned char *__cil_tmp19 ;
10667 unsigned char __cil_tmp20 ;
10668 int __cil_tmp21 ;
10669 unsigned char *__cil_tmp22 ;
10670 unsigned char __cil_tmp23 ;
10671 int __cil_tmp24 ;
10672
10673 {
10674 {
10675#line 1460
10676 __cil_tmp5 = (unsigned long )us;
10677#line 1460
10678 __cil_tmp6 = __cil_tmp5 + 376;
10679#line 1460
10680 data = *((unsigned char **)__cil_tmp6);
10681#line 1462
10682 result = sddr09_common_init(us);
10683 }
10684#line 1463
10685 if (result) {
10686#line 1464
10687 return (result);
10688 } else {
10689
10690 }
10691 {
10692#line 1466
10693 result = sddr09_send_command(us, (unsigned char)1, (unsigned char)128, data, 2U);
10694 }
10695#line 1467
10696 if (result) {
10697 {
10698#line 1468
10699 printk("<7>usb-storage: sddr09_init: send_command fails\n");
10700 }
10701#line 1469
10702 return (result);
10703 } else {
10704
10705 }
10706 {
10707#line 1472
10708 __cil_tmp7 = data + 0;
10709#line 1472
10710 __cil_tmp8 = *__cil_tmp7;
10711#line 1472
10712 __cil_tmp9 = (int )__cil_tmp8;
10713#line 1472
10714 __cil_tmp10 = data + 1;
10715#line 1472
10716 __cil_tmp11 = *__cil_tmp10;
10717#line 1472
10718 __cil_tmp12 = (int )__cil_tmp11;
10719#line 1472
10720 printk("<7>usb-storage: SDDR09init: %02X %02X\n", __cil_tmp9, __cil_tmp12);
10721#line 1475
10722 result = sddr09_send_command(us, (unsigned char)8, (unsigned char)128, data, 2U);
10723 }
10724#line 1476
10725 if (result) {
10726 {
10727#line 1477
10728 printk("<7>usb-storage: sddr09_init: 2nd send_command fails\n");
10729 }
10730#line 1478
10731 return (result);
10732 } else {
10733
10734 }
10735 {
10736#line 1481
10737 __cil_tmp13 = data + 0;
10738#line 1481
10739 __cil_tmp14 = *__cil_tmp13;
10740#line 1481
10741 __cil_tmp15 = (int )__cil_tmp14;
10742#line 1481
10743 __cil_tmp16 = data + 1;
10744#line 1481
10745 __cil_tmp17 = *__cil_tmp16;
10746#line 1481
10747 __cil_tmp18 = (int )__cil_tmp17;
10748#line 1481
10749 printk("<7>usb-storage: SDDR09init: %02X %02X\n", __cil_tmp15, __cil_tmp18);
10750#line 1484
10751 result = sddr09_request_sense(us, data, 18);
10752 }
10753#line 1485
10754 if (result == 0) {
10755 {
10756#line 1485
10757 __cil_tmp19 = data + 2;
10758#line 1485
10759 __cil_tmp20 = *__cil_tmp19;
10760#line 1485
10761 __cil_tmp21 = (int )__cil_tmp20;
10762#line 1485
10763 if (__cil_tmp21 != 0) {
10764#line 1487
10765 j = 0;
10766 {
10767#line 1487
10768 while (1) {
10769 while_continue: ;
10770#line 1487
10771 if (j < 18) {
10772
10773 } else {
10774#line 1487
10775 goto while_break;
10776 }
10777 {
10778#line 1488
10779 __cil_tmp22 = data + j;
10780#line 1488
10781 __cil_tmp23 = *__cil_tmp22;
10782#line 1488
10783 __cil_tmp24 = (int )__cil_tmp23;
10784#line 1488
10785 printk(" %02X", __cil_tmp24);
10786#line 1487
10787 j = j + 1;
10788 }
10789 }
10790 while_break: ;
10791 }
10792 {
10793#line 1489
10794 printk("\n");
10795 }
10796 } else {
10797
10798 }
10799 }
10800 } else {
10801
10802 }
10803#line 1501
10804 return (0);
10805}
10806}
10807#line 1507 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10808static int dpcm_transport(struct scsi_cmnd *srb , struct us_data *us )
10809{ int ret ;
10810 struct scsi_device *__cil_tmp4 ;
10811 unsigned long __cil_tmp5 ;
10812 unsigned long __cil_tmp6 ;
10813 unsigned int __cil_tmp7 ;
10814 struct scsi_device *__cil_tmp8 ;
10815 unsigned long __cil_tmp9 ;
10816 unsigned long __cil_tmp10 ;
10817 unsigned int __cil_tmp11 ;
10818 struct scsi_device *__cil_tmp12 ;
10819 unsigned long __cil_tmp13 ;
10820 unsigned long __cil_tmp14 ;
10821 struct scsi_device *__cil_tmp15 ;
10822 unsigned long __cil_tmp16 ;
10823 unsigned long __cil_tmp17 ;
10824 struct scsi_device *__cil_tmp18 ;
10825 unsigned long __cil_tmp19 ;
10826 unsigned long __cil_tmp20 ;
10827 unsigned int __cil_tmp21 ;
10828
10829 {
10830 {
10831#line 1511
10832 __cil_tmp4 = *((struct scsi_device **)srb);
10833#line 1511
10834 __cil_tmp5 = (unsigned long )__cil_tmp4;
10835#line 1511
10836 __cil_tmp6 = __cil_tmp5 + 156;
10837#line 1511
10838 __cil_tmp7 = *((unsigned int *)__cil_tmp6);
10839#line 1511
10840 printk("<7>usb-storage: dpcm_transport: LUN=%d\n", __cil_tmp7);
10841 }
10842 {
10843#line 1513
10844 __cil_tmp8 = *((struct scsi_device **)srb);
10845#line 1513
10846 __cil_tmp9 = (unsigned long )__cil_tmp8;
10847#line 1513
10848 __cil_tmp10 = __cil_tmp9 + 156;
10849#line 1513
10850 __cil_tmp11 = *((unsigned int *)__cil_tmp10);
10851#line 1514
10852 if ((int )__cil_tmp11 == 0) {
10853#line 1514
10854 goto case_0;
10855 } else
10856#line 1522
10857 if ((int )__cil_tmp11 == 1) {
10858#line 1522
10859 goto case_1;
10860 } else {
10861 {
10862#line 1536
10863 goto switch_default;
10864#line 1513
10865 if (0) {
10866 case_0:
10867 {
10868#line 1519
10869 ret = usb_stor_CB_transport(srb, us);
10870 }
10871#line 1520
10872 goto switch_break;
10873 case_1:
10874 {
10875#line 1531
10876 __cil_tmp12 = *((struct scsi_device **)srb);
10877#line 1531
10878 __cil_tmp13 = (unsigned long )__cil_tmp12;
10879#line 1531
10880 __cil_tmp14 = __cil_tmp13 + 156;
10881#line 1531
10882 *((unsigned int *)__cil_tmp14) = 0U;
10883#line 1532
10884 ret = sddr09_transport(srb, us);
10885#line 1533
10886 __cil_tmp15 = *((struct scsi_device **)srb);
10887#line 1533
10888 __cil_tmp16 = (unsigned long )__cil_tmp15;
10889#line 1533
10890 __cil_tmp17 = __cil_tmp16 + 156;
10891#line 1533
10892 *((unsigned int *)__cil_tmp17) = 1U;
10893 }
10894#line 1534
10895 goto switch_break;
10896 switch_default:
10897 {
10898#line 1537
10899 __cil_tmp18 = *((struct scsi_device **)srb);
10900#line 1537
10901 __cil_tmp19 = (unsigned long )__cil_tmp18;
10902#line 1537
10903 __cil_tmp20 = __cil_tmp19 + 156;
10904#line 1537
10905 __cil_tmp21 = *((unsigned int *)__cil_tmp20);
10906#line 1537
10907 printk("<7>usb-storage: dpcm_transport: Invalid LUN %d\n", __cil_tmp21);
10908#line 1539
10909 ret = 3;
10910 }
10911#line 1540
10912 goto switch_break;
10913 } else {
10914 switch_break: ;
10915 }
10916 }
10917 }
10918 }
10919#line 1542
10920 return (ret);
10921}
10922}
10923#line 1551
10924static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
10925#line 1551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10926static unsigned char sensekey = (unsigned char)0;
10927#line 1551
10928static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
10929#line 1551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10930static unsigned char sensecode = (unsigned char)0;
10931#line 1552
10932static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
10933#line 1552 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10934static unsigned char havefakesense = (unsigned char)0;
10935#line 1560
10936static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
10937#line 1560 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10938static unsigned char inquiry_response[8] =
10939#line 1560
10940 { (unsigned char)0, (unsigned char)128, (unsigned char)0, (unsigned char)2,
10941 (unsigned char)31, (unsigned char)0, (unsigned char)0, (unsigned char)0};
10942#line 1565
10943static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us ) ;
10944#line 1565 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10945static unsigned char mode_page_01[19] =
10946#line 1565
10947 { (unsigned char)0, (unsigned char)15, (unsigned char)0, (unsigned char)0,
10948 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)1,
10949 (unsigned char)10, (unsigned char)0, (unsigned char)0, (unsigned char)0,
10950 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
10951 (unsigned char)0, (unsigned char)0, (unsigned char)0};
10952#line 1549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
10953static int sddr09_transport(struct scsi_cmnd *srb , struct us_data *us )
10954{ int result ;
10955 int i ;
10956 unsigned char *ptr ;
10957 unsigned long capacity ;
10958 unsigned int page ;
10959 unsigned int pages ;
10960 struct sddr09_card_info *info ;
10961 size_t __len ;
10962 void *__ret ;
10963 struct nand_flash_dev *cardinfo ;
10964 int tmp___7 ;
10965 __u32 tmp___8 ;
10966 __u32 tmp___9 ;
10967 int modepage ;
10968 size_t __len___0 ;
10969 void *__ret___0 ;
10970 int tmp___11 ;
10971 int tmp___12 ;
10972 unsigned long tmp___13 ;
10973 unsigned int tmp___14 ;
10974 unsigned int pipe ;
10975 unsigned int tmp___15 ;
10976 unsigned int tmp___16 ;
10977 char const *tmp___17 ;
10978 int tmp___18 ;
10979 unsigned long __cil_tmp29 ;
10980 unsigned long __cil_tmp30 ;
10981 unsigned long __cil_tmp31 ;
10982 unsigned long __cil_tmp32 ;
10983 void *__cil_tmp33 ;
10984 unsigned long __cil_tmp34 ;
10985 unsigned long __cil_tmp35 ;
10986 unsigned char *__cil_tmp36 ;
10987 unsigned char *__cil_tmp37 ;
10988 unsigned char __cil_tmp38 ;
10989 int __cil_tmp39 ;
10990 void *__cil_tmp40 ;
10991 size_t __cil_tmp41 ;
10992 unsigned char *__cil_tmp42 ;
10993 unsigned char *__cil_tmp43 ;
10994 unsigned char *__cil_tmp44 ;
10995 unsigned char *__cil_tmp45 ;
10996 unsigned long __cil_tmp46 ;
10997 unsigned long __cil_tmp47 ;
10998 unsigned char *__cil_tmp48 ;
10999 unsigned char *__cil_tmp49 ;
11000 unsigned char __cil_tmp50 ;
11001 int __cil_tmp51 ;
11002 void *__cil_tmp52 ;
11003 unsigned long __cil_tmp53 ;
11004 unsigned long __cil_tmp54 ;
11005 unsigned char *__cil_tmp55 ;
11006 void const *__cil_tmp56 ;
11007 void *__cil_tmp57 ;
11008 unsigned long __cil_tmp58 ;
11009 unsigned long __cil_tmp59 ;
11010 unsigned char *__cil_tmp60 ;
11011 void const *__cil_tmp61 ;
11012 unsigned long __cil_tmp62 ;
11013 unsigned long __cil_tmp63 ;
11014 unsigned char *__cil_tmp64 ;
11015 unsigned char *__cil_tmp65 ;
11016 unsigned char __cil_tmp66 ;
11017 int __cil_tmp67 ;
11018 unsigned long __cil_tmp68 ;
11019 unsigned long __cil_tmp69 ;
11020 int __cil_tmp70 ;
11021 unsigned char __cil_tmp71 ;
11022 unsigned long __cil_tmp72 ;
11023 unsigned long __cil_tmp73 ;
11024 int __cil_tmp74 ;
11025 int __cil_tmp75 ;
11026 unsigned long __cil_tmp76 ;
11027 unsigned long __cil_tmp77 ;
11028 unsigned long __cil_tmp78 ;
11029 unsigned long __cil_tmp79 ;
11030 char __cil_tmp80 ;
11031 unsigned long __cil_tmp81 ;
11032 unsigned long __cil_tmp82 ;
11033 unsigned long __cil_tmp83 ;
11034 unsigned long __cil_tmp84 ;
11035 int __cil_tmp85 ;
11036 unsigned long __cil_tmp86 ;
11037 unsigned long __cil_tmp87 ;
11038 unsigned long __cil_tmp88 ;
11039 unsigned long __cil_tmp89 ;
11040 char __cil_tmp90 ;
11041 unsigned long __cil_tmp91 ;
11042 unsigned long __cil_tmp92 ;
11043 unsigned long __cil_tmp93 ;
11044 unsigned long __cil_tmp94 ;
11045 int __cil_tmp95 ;
11046 unsigned long __cil_tmp96 ;
11047 unsigned long __cil_tmp97 ;
11048 unsigned long __cil_tmp98 ;
11049 unsigned long __cil_tmp99 ;
11050 int __cil_tmp100 ;
11051 unsigned long __cil_tmp101 ;
11052 unsigned long __cil_tmp102 ;
11053 int __cil_tmp103 ;
11054 unsigned long __cil_tmp104 ;
11055 unsigned long __cil_tmp105 ;
11056 int __cil_tmp106 ;
11057 int __cil_tmp107 ;
11058 int __cil_tmp108 ;
11059 __u32 __cil_tmp109 ;
11060 __be32 *__cil_tmp110 ;
11061 __be32 *__cil_tmp111 ;
11062 unsigned long __cil_tmp112 ;
11063 unsigned long __cil_tmp113 ;
11064 int __cil_tmp114 ;
11065 __u32 __cil_tmp115 ;
11066 __be32 *__cil_tmp116 ;
11067 __be32 *__cil_tmp117 ;
11068 unsigned long __cil_tmp118 ;
11069 unsigned long __cil_tmp119 ;
11070 unsigned char *__cil_tmp120 ;
11071 unsigned char *__cil_tmp121 ;
11072 unsigned char __cil_tmp122 ;
11073 int __cil_tmp123 ;
11074 unsigned long __cil_tmp124 ;
11075 unsigned long __cil_tmp125 ;
11076 unsigned char *__cil_tmp126 ;
11077 unsigned char *__cil_tmp127 ;
11078 unsigned char __cil_tmp128 ;
11079 int __cil_tmp129 ;
11080 void *__cil_tmp130 ;
11081 unsigned long __cil_tmp131 ;
11082 unsigned long __cil_tmp132 ;
11083 unsigned char *__cil_tmp133 ;
11084 void const *__cil_tmp134 ;
11085 void *__cil_tmp135 ;
11086 unsigned long __cil_tmp136 ;
11087 unsigned long __cil_tmp137 ;
11088 unsigned char *__cil_tmp138 ;
11089 void const *__cil_tmp139 ;
11090 __be16 *__cil_tmp140 ;
11091 __be16 *__cil_tmp141 ;
11092 unsigned long __cil_tmp142 ;
11093 __u16 __cil_tmp143 ;
11094 int __cil_tmp144 ;
11095 int __cil_tmp145 ;
11096 int __cil_tmp146 ;
11097 unsigned long __cil_tmp147 ;
11098 __u16 __cil_tmp148 ;
11099 int __cil_tmp149 ;
11100 int __cil_tmp150 ;
11101 int __cil_tmp151 ;
11102 int __cil_tmp152 ;
11103 __u16 __cil_tmp153 ;
11104 int __cil_tmp154 ;
11105 unsigned long __cil_tmp155 ;
11106 unsigned long __cil_tmp156 ;
11107 int __cil_tmp157 ;
11108 unsigned char *__cil_tmp158 ;
11109 unsigned char *__cil_tmp159 ;
11110 unsigned int __cil_tmp160 ;
11111 unsigned long __cil_tmp161 ;
11112 unsigned long __cil_tmp162 ;
11113 unsigned char *__cil_tmp163 ;
11114 unsigned char *__cil_tmp164 ;
11115 unsigned char __cil_tmp165 ;
11116 int __cil_tmp166 ;
11117 unsigned long __cil_tmp167 ;
11118 unsigned long __cil_tmp168 ;
11119 unsigned char *__cil_tmp169 ;
11120 unsigned char *__cil_tmp170 ;
11121 unsigned char __cil_tmp171 ;
11122 int __cil_tmp172 ;
11123 unsigned long __cil_tmp173 ;
11124 unsigned long __cil_tmp174 ;
11125 unsigned char *__cil_tmp175 ;
11126 unsigned char *__cil_tmp176 ;
11127 unsigned char __cil_tmp177 ;
11128 u16 __cil_tmp178 ;
11129 int __cil_tmp179 ;
11130 int __cil_tmp180 ;
11131 unsigned long __cil_tmp181 ;
11132 unsigned long __cil_tmp182 ;
11133 unsigned char *__cil_tmp183 ;
11134 unsigned char *__cil_tmp184 ;
11135 unsigned char __cil_tmp185 ;
11136 u16 __cil_tmp186 ;
11137 int __cil_tmp187 ;
11138 int __cil_tmp188 ;
11139 unsigned long __cil_tmp189 ;
11140 unsigned long __cil_tmp190 ;
11141 unsigned char *__cil_tmp191 ;
11142 unsigned char *__cil_tmp192 ;
11143 unsigned char __cil_tmp193 ;
11144 u16 __cil_tmp194 ;
11145 int __cil_tmp195 ;
11146 int __cil_tmp196 ;
11147 unsigned long __cil_tmp197 ;
11148 unsigned long __cil_tmp198 ;
11149 unsigned char *__cil_tmp199 ;
11150 unsigned char *__cil_tmp200 ;
11151 unsigned char __cil_tmp201 ;
11152 u16 __cil_tmp202 ;
11153 int __cil_tmp203 ;
11154 int __cil_tmp204 ;
11155 unsigned int __cil_tmp205 ;
11156 unsigned long __cil_tmp206 ;
11157 unsigned long __cil_tmp207 ;
11158 unsigned char *__cil_tmp208 ;
11159 unsigned char *__cil_tmp209 ;
11160 unsigned char __cil_tmp210 ;
11161 u16 __cil_tmp211 ;
11162 int __cil_tmp212 ;
11163 int __cil_tmp213 ;
11164 unsigned long __cil_tmp214 ;
11165 unsigned long __cil_tmp215 ;
11166 unsigned char *__cil_tmp216 ;
11167 unsigned char *__cil_tmp217 ;
11168 unsigned char __cil_tmp218 ;
11169 u16 __cil_tmp219 ;
11170 int __cil_tmp220 ;
11171 int __cil_tmp221 ;
11172 unsigned long __cil_tmp222 ;
11173 unsigned long __cil_tmp223 ;
11174 unsigned long __cil_tmp224 ;
11175 unsigned char *__cil_tmp225 ;
11176 unsigned char *__cil_tmp226 ;
11177 unsigned char __cil_tmp227 ;
11178 int __cil_tmp228 ;
11179 unsigned long __cil_tmp229 ;
11180 unsigned long __cil_tmp230 ;
11181 unsigned char *__cil_tmp231 ;
11182 unsigned char *__cil_tmp232 ;
11183 unsigned char __cil_tmp233 ;
11184 u16 __cil_tmp234 ;
11185 int __cil_tmp235 ;
11186 int __cil_tmp236 ;
11187 unsigned long __cil_tmp237 ;
11188 unsigned long __cil_tmp238 ;
11189 unsigned char *__cil_tmp239 ;
11190 unsigned char *__cil_tmp240 ;
11191 unsigned char __cil_tmp241 ;
11192 u16 __cil_tmp242 ;
11193 int __cil_tmp243 ;
11194 int __cil_tmp244 ;
11195 unsigned long __cil_tmp245 ;
11196 unsigned long __cil_tmp246 ;
11197 unsigned char *__cil_tmp247 ;
11198 unsigned char *__cil_tmp248 ;
11199 unsigned char __cil_tmp249 ;
11200 u16 __cil_tmp250 ;
11201 int __cil_tmp251 ;
11202 int __cil_tmp252 ;
11203 unsigned long __cil_tmp253 ;
11204 unsigned long __cil_tmp254 ;
11205 unsigned char *__cil_tmp255 ;
11206 unsigned char *__cil_tmp256 ;
11207 unsigned char __cil_tmp257 ;
11208 u16 __cil_tmp258 ;
11209 int __cil_tmp259 ;
11210 int __cil_tmp260 ;
11211 unsigned int __cil_tmp261 ;
11212 unsigned long __cil_tmp262 ;
11213 unsigned long __cil_tmp263 ;
11214 unsigned char *__cil_tmp264 ;
11215 unsigned char *__cil_tmp265 ;
11216 unsigned char __cil_tmp266 ;
11217 u16 __cil_tmp267 ;
11218 int __cil_tmp268 ;
11219 int __cil_tmp269 ;
11220 unsigned long __cil_tmp270 ;
11221 unsigned long __cil_tmp271 ;
11222 unsigned char *__cil_tmp272 ;
11223 unsigned char *__cil_tmp273 ;
11224 unsigned char __cil_tmp274 ;
11225 u16 __cil_tmp275 ;
11226 int __cil_tmp276 ;
11227 int __cil_tmp277 ;
11228 unsigned long __cil_tmp278 ;
11229 unsigned long __cil_tmp279 ;
11230 unsigned long __cil_tmp280 ;
11231 unsigned char *__cil_tmp281 ;
11232 unsigned char *__cil_tmp282 ;
11233 unsigned char __cil_tmp283 ;
11234 int __cil_tmp284 ;
11235 unsigned long __cil_tmp285 ;
11236 unsigned long __cil_tmp286 ;
11237 unsigned char *__cil_tmp287 ;
11238 unsigned char *__cil_tmp288 ;
11239 unsigned char __cil_tmp289 ;
11240 int __cil_tmp290 ;
11241 unsigned long __cil_tmp291 ;
11242 unsigned long __cil_tmp292 ;
11243 unsigned short __cil_tmp293 ;
11244 int __cil_tmp294 ;
11245 unsigned long __cil_tmp295 ;
11246 unsigned long __cil_tmp296 ;
11247 unsigned short __cil_tmp297 ;
11248 unsigned long __cil_tmp298 ;
11249 unsigned long __cil_tmp299 ;
11250 unsigned char *__cil_tmp300 ;
11251 unsigned char *__cil_tmp301 ;
11252 unsigned long __cil_tmp302 ;
11253 unsigned long __cil_tmp303 ;
11254 unsigned long __cil_tmp304 ;
11255 unsigned long __cil_tmp305 ;
11256 unsigned short __cil_tmp306 ;
11257 int __cil_tmp307 ;
11258 int __cil_tmp308 ;
11259 unsigned long __cil_tmp309 ;
11260 unsigned long __cil_tmp310 ;
11261 unsigned char *__cil_tmp311 ;
11262 unsigned char *__cil_tmp312 ;
11263 int __cil_tmp313 ;
11264 unsigned char *__cil_tmp314 ;
11265 char const *__cil_tmp315 ;
11266 unsigned char *__cil_tmp316 ;
11267 char *__cil_tmp317 ;
11268 unsigned long __cil_tmp318 ;
11269 unsigned long __cil_tmp319 ;
11270 unsigned char *__cil_tmp320 ;
11271 unsigned char *__cil_tmp321 ;
11272 unsigned char __cil_tmp322 ;
11273 int __cil_tmp323 ;
11274 unsigned long __cil_tmp324 ;
11275 unsigned long __cil_tmp325 ;
11276 unsigned char *__cil_tmp326 ;
11277 unsigned long __cil_tmp327 ;
11278 unsigned long __cil_tmp328 ;
11279 enum dma_data_direction __cil_tmp329 ;
11280 unsigned int __cil_tmp330 ;
11281 unsigned long __cil_tmp331 ;
11282 unsigned long __cil_tmp332 ;
11283 enum dma_data_direction __cil_tmp333 ;
11284 unsigned int __cil_tmp334 ;
11285 unsigned long __cil_tmp335 ;
11286 unsigned long __cil_tmp336 ;
11287 enum dma_data_direction __cil_tmp337 ;
11288 unsigned int __cil_tmp338 ;
11289 unsigned long __cil_tmp339 ;
11290 unsigned long __cil_tmp340 ;
11291 unsigned long __cil_tmp341 ;
11292 unsigned long __cil_tmp342 ;
11293 unsigned long __cil_tmp343 ;
11294 unsigned long __cil_tmp344 ;
11295 enum dma_data_direction __cil_tmp345 ;
11296 unsigned int __cil_tmp346 ;
11297
11298 {
11299#line 1554
11300 __cil_tmp29 = (unsigned long )us;
11301#line 1554
11302 __cil_tmp30 = __cil_tmp29 + 376;
11303#line 1554
11304 ptr = *((unsigned char **)__cil_tmp30);
11305#line 1571
11306 __cil_tmp31 = (unsigned long )us;
11307#line 1571
11308 __cil_tmp32 = __cil_tmp31 + 648;
11309#line 1571
11310 __cil_tmp33 = *((void **)__cil_tmp32);
11311#line 1571
11312 info = (struct sddr09_card_info *)__cil_tmp33;
11313 {
11314#line 1573
11315 __cil_tmp34 = (unsigned long )srb;
11316#line 1573
11317 __cil_tmp35 = __cil_tmp34 + 80;
11318#line 1573
11319 __cil_tmp36 = *((unsigned char **)__cil_tmp35);
11320#line 1573
11321 __cil_tmp37 = __cil_tmp36 + 0;
11322#line 1573
11323 __cil_tmp38 = *__cil_tmp37;
11324#line 1573
11325 __cil_tmp39 = (int )__cil_tmp38;
11326#line 1573
11327 if (__cil_tmp39 == 3) {
11328#line 1573
11329 if (havefakesense) {
11330 {
11331#line 1575
11332 __cil_tmp40 = (void *)ptr;
11333#line 1575
11334 __cil_tmp41 = (size_t )18;
11335#line 1575
11336 memset(__cil_tmp40, 0, __cil_tmp41);
11337#line 1576
11338 __cil_tmp42 = ptr + 0;
11339#line 1576
11340 *__cil_tmp42 = (unsigned char)112;
11341#line 1577
11342 __cil_tmp43 = ptr + 2;
11343#line 1577
11344 *__cil_tmp43 = sensekey;
11345#line 1578
11346 __cil_tmp44 = ptr + 7;
11347#line 1578
11348 *__cil_tmp44 = (unsigned char)11;
11349#line 1579
11350 __cil_tmp45 = ptr + 12;
11351#line 1579
11352 *__cil_tmp45 = sensecode;
11353#line 1580
11354 usb_stor_set_xfer_buf(ptr, 18U, srb);
11355#line 1581
11356 havefakesense = (unsigned char)0;
11357#line 1581
11358 sensecode = havefakesense;
11359#line 1581
11360 sensekey = sensecode;
11361 }
11362#line 1582
11363 return (0);
11364 } else {
11365
11366 }
11367 } else {
11368
11369 }
11370 }
11371#line 1585
11372 havefakesense = (unsigned char)1;
11373 {
11374#line 1590
11375 __cil_tmp46 = (unsigned long )srb;
11376#line 1590
11377 __cil_tmp47 = __cil_tmp46 + 80;
11378#line 1590
11379 __cil_tmp48 = *((unsigned char **)__cil_tmp47);
11380#line 1590
11381 __cil_tmp49 = __cil_tmp48 + 0;
11382#line 1590
11383 __cil_tmp50 = *__cil_tmp49;
11384#line 1590
11385 __cil_tmp51 = (int )__cil_tmp50;
11386#line 1590
11387 if (__cil_tmp51 == 18) {
11388#line 1591
11389 __len = (size_t )8;
11390#line 1591
11391 if (__len >= 64UL) {
11392 {
11393#line 1591
11394 __cil_tmp52 = (void *)ptr;
11395#line 1591
11396 __cil_tmp53 = 0 * 1UL;
11397#line 1591
11398 __cil_tmp54 = (unsigned long )(inquiry_response) + __cil_tmp53;
11399#line 1591
11400 __cil_tmp55 = (unsigned char *)__cil_tmp54;
11401#line 1591
11402 __cil_tmp56 = (void const *)__cil_tmp55;
11403#line 1591
11404 __ret = __memcpy(__cil_tmp52, __cil_tmp56, __len);
11405 }
11406 } else {
11407 {
11408#line 1591
11409 __cil_tmp57 = (void *)ptr;
11410#line 1591
11411 __cil_tmp58 = 0 * 1UL;
11412#line 1591
11413 __cil_tmp59 = (unsigned long )(inquiry_response) + __cil_tmp58;
11414#line 1591
11415 __cil_tmp60 = (unsigned char *)__cil_tmp59;
11416#line 1591
11417 __cil_tmp61 = (void const *)__cil_tmp60;
11418#line 1591
11419 __ret = __builtin_memcpy(__cil_tmp57, __cil_tmp61, __len);
11420 }
11421 }
11422 {
11423#line 1592
11424 fill_inquiry_response(us, ptr, 36U);
11425 }
11426#line 1593
11427 return (0);
11428 } else {
11429
11430 }
11431 }
11432 {
11433#line 1596
11434 __cil_tmp62 = (unsigned long )srb;
11435#line 1596
11436 __cil_tmp63 = __cil_tmp62 + 80;
11437#line 1596
11438 __cil_tmp64 = *((unsigned char **)__cil_tmp63);
11439#line 1596
11440 __cil_tmp65 = __cil_tmp64 + 0;
11441#line 1596
11442 __cil_tmp66 = *__cil_tmp65;
11443#line 1596
11444 __cil_tmp67 = (int )__cil_tmp66;
11445#line 1596
11446 if (__cil_tmp67 == 37) {
11447 {
11448#line 1599
11449 sddr09_get_wp(us, info);
11450#line 1601
11451 __cil_tmp68 = (unsigned long )info;
11452#line 1601
11453 __cil_tmp69 = __cil_tmp68 + 52;
11454#line 1601
11455 __cil_tmp70 = *((int *)__cil_tmp69);
11456#line 1601
11457 __cil_tmp71 = (unsigned char )__cil_tmp70;
11458#line 1601
11459 cardinfo = sddr09_get_cardinfo(us, __cil_tmp71);
11460 }
11461#line 1602
11462 if (! cardinfo) {
11463 init_error:
11464#line 1605
11465 sensekey = (unsigned char)2;
11466#line 1606
11467 sensecode = (unsigned char)58;
11468#line 1607
11469 return (1);
11470 } else {
11471
11472 }
11473 {
11474#line 1610
11475 __cil_tmp72 = (unsigned long )cardinfo;
11476#line 1610
11477 __cil_tmp73 = __cil_tmp72 + 4;
11478#line 1610
11479 __cil_tmp74 = *((int *)__cil_tmp73);
11480#line 1610
11481 __cil_tmp75 = 1 << __cil_tmp74;
11482#line 1610
11483 *((unsigned long *)info) = (unsigned long )__cil_tmp75;
11484#line 1611
11485 __cil_tmp76 = (unsigned long )info;
11486#line 1611
11487 __cil_tmp77 = __cil_tmp76 + 12;
11488#line 1611
11489 __cil_tmp78 = (unsigned long )cardinfo;
11490#line 1611
11491 __cil_tmp79 = __cil_tmp78 + 8;
11492#line 1611
11493 __cil_tmp80 = *((char *)__cil_tmp79);
11494#line 1611
11495 *((int *)__cil_tmp77) = (int )__cil_tmp80;
11496#line 1612
11497 __cil_tmp81 = (unsigned long )info;
11498#line 1612
11499 __cil_tmp82 = __cil_tmp81 + 8;
11500#line 1612
11501 __cil_tmp83 = (unsigned long )info;
11502#line 1612
11503 __cil_tmp84 = __cil_tmp83 + 12;
11504#line 1612
11505 __cil_tmp85 = *((int *)__cil_tmp84);
11506#line 1612
11507 *((int *)__cil_tmp82) = 1 << __cil_tmp85;
11508#line 1613
11509 __cil_tmp86 = (unsigned long )info;
11510#line 1613
11511 __cil_tmp87 = __cil_tmp86 + 20;
11512#line 1613
11513 __cil_tmp88 = (unsigned long )cardinfo;
11514#line 1613
11515 __cil_tmp89 = __cil_tmp88 + 9;
11516#line 1613
11517 __cil_tmp90 = *((char *)__cil_tmp89);
11518#line 1613
11519 *((int *)__cil_tmp87) = (int )__cil_tmp90;
11520#line 1614
11521 __cil_tmp91 = (unsigned long )info;
11522#line 1614
11523 __cil_tmp92 = __cil_tmp91 + 16;
11524#line 1614
11525 __cil_tmp93 = (unsigned long )info;
11526#line 1614
11527 __cil_tmp94 = __cil_tmp93 + 20;
11528#line 1614
11529 __cil_tmp95 = *((int *)__cil_tmp94);
11530#line 1614
11531 *((int *)__cil_tmp92) = 1 << __cil_tmp95;
11532#line 1615
11533 __cil_tmp96 = (unsigned long )info;
11534#line 1615
11535 __cil_tmp97 = __cil_tmp96 + 24;
11536#line 1615
11537 __cil_tmp98 = (unsigned long )info;
11538#line 1615
11539 __cil_tmp99 = __cil_tmp98 + 16;
11540#line 1615
11541 __cil_tmp100 = *((int *)__cil_tmp99);
11542#line 1615
11543 *((int *)__cil_tmp97) = __cil_tmp100 - 1;
11544#line 1618
11545 tmp___7 = sddr09_read_map(us);
11546 }
11547#line 1618
11548 if (tmp___7) {
11549#line 1620
11550 goto init_error;
11551 } else {
11552
11553 }
11554 {
11555#line 1625
11556 __cil_tmp101 = (unsigned long )info;
11557#line 1625
11558 __cil_tmp102 = __cil_tmp101 + 20;
11559#line 1625
11560 __cil_tmp103 = *((int *)__cil_tmp102);
11561#line 1625
11562 __cil_tmp104 = (unsigned long )info;
11563#line 1625
11564 __cil_tmp105 = __cil_tmp104 + 48;
11565#line 1625
11566 __cil_tmp106 = *((int *)__cil_tmp105);
11567#line 1625
11568 __cil_tmp107 = __cil_tmp106 << __cil_tmp103;
11569#line 1625
11570 __cil_tmp108 = __cil_tmp107 - 1;
11571#line 1625
11572 capacity = (unsigned long )__cil_tmp108;
11573#line 1627
11574 __cil_tmp109 = (__u32 )capacity;
11575#line 1627
11576 tmp___8 = __fswab32(__cil_tmp109);
11577#line 1627
11578 __cil_tmp110 = (__be32 *)ptr;
11579#line 1627
11580 __cil_tmp111 = __cil_tmp110 + 0;
11581#line 1627
11582 *__cil_tmp111 = tmp___8;
11583#line 1631
11584 __cil_tmp112 = (unsigned long )info;
11585#line 1631
11586 __cil_tmp113 = __cil_tmp112 + 8;
11587#line 1631
11588 __cil_tmp114 = *((int *)__cil_tmp113);
11589#line 1631
11590 __cil_tmp115 = (__u32 )__cil_tmp114;
11591#line 1631
11592 tmp___9 = __fswab32(__cil_tmp115);
11593#line 1631
11594 __cil_tmp116 = (__be32 *)ptr;
11595#line 1631
11596 __cil_tmp117 = __cil_tmp116 + 1;
11597#line 1631
11598 *__cil_tmp117 = tmp___9;
11599#line 1632
11600 usb_stor_set_xfer_buf(ptr, 8U, srb);
11601 }
11602#line 1634
11603 return (0);
11604 } else {
11605
11606 }
11607 }
11608 {
11609#line 1637
11610 __cil_tmp118 = (unsigned long )srb;
11611#line 1637
11612 __cil_tmp119 = __cil_tmp118 + 80;
11613#line 1637
11614 __cil_tmp120 = *((unsigned char **)__cil_tmp119);
11615#line 1637
11616 __cil_tmp121 = __cil_tmp120 + 0;
11617#line 1637
11618 __cil_tmp122 = *__cil_tmp121;
11619#line 1637
11620 __cil_tmp123 = (int )__cil_tmp122;
11621#line 1637
11622 if (__cil_tmp123 == 90) {
11623#line 1638
11624 __cil_tmp124 = (unsigned long )srb;
11625#line 1638
11626 __cil_tmp125 = __cil_tmp124 + 80;
11627#line 1638
11628 __cil_tmp126 = *((unsigned char **)__cil_tmp125);
11629#line 1638
11630 __cil_tmp127 = __cil_tmp126 + 2;
11631#line 1638
11632 __cil_tmp128 = *__cil_tmp127;
11633#line 1638
11634 __cil_tmp129 = (int )__cil_tmp128;
11635#line 1638
11636 modepage = __cil_tmp129 & 63;
11637#line 1643
11638 if (modepage == 1) {
11639#line 1643
11640 goto _L;
11641 } else
11642#line 1643
11643 if (modepage == 63) {
11644 _L:
11645 {
11646#line 1644
11647 printk("<7>usb-storage: SDDR09: Dummy up request for mode page 0x%x\n", modepage);
11648#line 1647
11649 __len___0 = 19UL;
11650 }
11651#line 1647
11652 if (__len___0 >= 64UL) {
11653 {
11654#line 1647
11655 __cil_tmp130 = (void *)ptr;
11656#line 1647
11657 __cil_tmp131 = 0 * 1UL;
11658#line 1647
11659 __cil_tmp132 = (unsigned long )(mode_page_01) + __cil_tmp131;
11660#line 1647
11661 __cil_tmp133 = (unsigned char *)__cil_tmp132;
11662#line 1647
11663 __cil_tmp134 = (void const *)__cil_tmp133;
11664#line 1647
11665 __ret___0 = __memcpy(__cil_tmp130, __cil_tmp134, __len___0);
11666 }
11667 } else {
11668 {
11669#line 1647
11670 __cil_tmp135 = (void *)ptr;
11671#line 1647
11672 __cil_tmp136 = 0 * 1UL;
11673#line 1647
11674 __cil_tmp137 = (unsigned long )(mode_page_01) + __cil_tmp136;
11675#line 1647
11676 __cil_tmp138 = (unsigned char *)__cil_tmp137;
11677#line 1647
11678 __cil_tmp139 = (void const *)__cil_tmp138;
11679#line 1647
11680 __ret___0 = __builtin_memcpy(__cil_tmp135, __cil_tmp139, __len___0);
11681 }
11682 }
11683#line 1648
11684 __cil_tmp140 = (__be16 *)ptr;
11685#line 1648
11686 __cil_tmp141 = __cil_tmp140 + 0;
11687#line 1648
11688 __cil_tmp142 = 19UL - 2UL;
11689#line 1648
11690 __cil_tmp143 = (__u16 )__cil_tmp142;
11691#line 1648
11692 __cil_tmp144 = (int )__cil_tmp143;
11693#line 1648
11694 __cil_tmp145 = __cil_tmp144 & 65280;
11695#line 1648
11696 __cil_tmp146 = __cil_tmp145 >> 8;
11697#line 1648
11698 __cil_tmp147 = 19UL - 2UL;
11699#line 1648
11700 __cil_tmp148 = (__u16 )__cil_tmp147;
11701#line 1648
11702 __cil_tmp149 = (int )__cil_tmp148;
11703#line 1648
11704 __cil_tmp150 = __cil_tmp149 & 255;
11705#line 1648
11706 __cil_tmp151 = __cil_tmp150 << 8;
11707#line 1648
11708 __cil_tmp152 = __cil_tmp151 | __cil_tmp146;
11709#line 1648
11710 __cil_tmp153 = (__u16 )__cil_tmp152;
11711#line 1648
11712 __cil_tmp154 = (int )__cil_tmp153;
11713#line 1648
11714 *__cil_tmp141 = (__be16 )__cil_tmp154;
11715 {
11716#line 1649
11717 __cil_tmp155 = (unsigned long )info;
11718#line 1649
11719 __cil_tmp156 = __cil_tmp155 + 52;
11720#line 1649
11721 __cil_tmp157 = *((int *)__cil_tmp156);
11722#line 1649
11723 if (__cil_tmp157 & 1) {
11724#line 1649
11725 __cil_tmp158 = ptr + 3;
11726#line 1649
11727 *__cil_tmp158 = (unsigned char)128;
11728 } else {
11729#line 1649
11730 __cil_tmp159 = ptr + 3;
11731#line 1649
11732 *__cil_tmp159 = (unsigned char)0;
11733 }
11734 }
11735 {
11736#line 1650
11737 __cil_tmp160 = (unsigned int )19UL;
11738#line 1650
11739 usb_stor_set_xfer_buf(ptr, __cil_tmp160, srb);
11740 }
11741#line 1651
11742 return (0);
11743 } else {
11744
11745 }
11746#line 1654
11747 sensekey = (unsigned char)5;
11748#line 1655
11749 sensecode = (unsigned char)36;
11750#line 1656
11751 return (1);
11752 } else {
11753
11754 }
11755 }
11756 {
11757#line 1659
11758 __cil_tmp161 = (unsigned long )srb;
11759#line 1659
11760 __cil_tmp162 = __cil_tmp161 + 80;
11761#line 1659
11762 __cil_tmp163 = *((unsigned char **)__cil_tmp162);
11763#line 1659
11764 __cil_tmp164 = __cil_tmp163 + 0;
11765#line 1659
11766 __cil_tmp165 = *__cil_tmp164;
11767#line 1659
11768 __cil_tmp166 = (int )__cil_tmp165;
11769#line 1659
11770 if (__cil_tmp166 == 30) {
11771#line 1660
11772 return (0);
11773 } else {
11774
11775 }
11776 }
11777#line 1662
11778 havefakesense = (unsigned char)0;
11779 {
11780#line 1664
11781 __cil_tmp167 = (unsigned long )srb;
11782#line 1664
11783 __cil_tmp168 = __cil_tmp167 + 80;
11784#line 1664
11785 __cil_tmp169 = *((unsigned char **)__cil_tmp168);
11786#line 1664
11787 __cil_tmp170 = __cil_tmp169 + 0;
11788#line 1664
11789 __cil_tmp171 = *__cil_tmp170;
11790#line 1664
11791 __cil_tmp172 = (int )__cil_tmp171;
11792#line 1664
11793 if (__cil_tmp172 == 40) {
11794 {
11795#line 1666
11796 __cil_tmp173 = (unsigned long )srb;
11797#line 1666
11798 __cil_tmp174 = __cil_tmp173 + 80;
11799#line 1666
11800 __cil_tmp175 = *((unsigned char **)__cil_tmp174);
11801#line 1666
11802 __cil_tmp176 = __cil_tmp175 + 2;
11803#line 1666
11804 __cil_tmp177 = *__cil_tmp176;
11805#line 1666
11806 __cil_tmp178 = (u16 )__cil_tmp177;
11807#line 1666
11808 __cil_tmp179 = (int )__cil_tmp178;
11809#line 1666
11810 __cil_tmp180 = __cil_tmp179 << 8;
11811#line 1666
11812 __cil_tmp181 = (unsigned long )srb;
11813#line 1666
11814 __cil_tmp182 = __cil_tmp181 + 80;
11815#line 1666
11816 __cil_tmp183 = *((unsigned char **)__cil_tmp182);
11817#line 1666
11818 __cil_tmp184 = __cil_tmp183 + 3;
11819#line 1666
11820 __cil_tmp185 = *__cil_tmp184;
11821#line 1666
11822 __cil_tmp186 = (u16 )__cil_tmp185;
11823#line 1666
11824 __cil_tmp187 = (int )__cil_tmp186;
11825#line 1666
11826 __cil_tmp188 = __cil_tmp187 | __cil_tmp180;
11827#line 1666
11828 page = (unsigned int )__cil_tmp188;
11829#line 1667
11830 page = page << 16;
11831#line 1668
11832 __cil_tmp189 = (unsigned long )srb;
11833#line 1668
11834 __cil_tmp190 = __cil_tmp189 + 80;
11835#line 1668
11836 __cil_tmp191 = *((unsigned char **)__cil_tmp190);
11837#line 1668
11838 __cil_tmp192 = __cil_tmp191 + 4;
11839#line 1668
11840 __cil_tmp193 = *__cil_tmp192;
11841#line 1668
11842 __cil_tmp194 = (u16 )__cil_tmp193;
11843#line 1668
11844 __cil_tmp195 = (int )__cil_tmp194;
11845#line 1668
11846 __cil_tmp196 = __cil_tmp195 << 8;
11847#line 1668
11848 __cil_tmp197 = (unsigned long )srb;
11849#line 1668
11850 __cil_tmp198 = __cil_tmp197 + 80;
11851#line 1668
11852 __cil_tmp199 = *((unsigned char **)__cil_tmp198);
11853#line 1668
11854 __cil_tmp200 = __cil_tmp199 + 5;
11855#line 1668
11856 __cil_tmp201 = *__cil_tmp200;
11857#line 1668
11858 __cil_tmp202 = (u16 )__cil_tmp201;
11859#line 1668
11860 __cil_tmp203 = (int )__cil_tmp202;
11861#line 1668
11862 __cil_tmp204 = __cil_tmp203 | __cil_tmp196;
11863#line 1668
11864 __cil_tmp205 = (unsigned int )__cil_tmp204;
11865#line 1668
11866 page = page | __cil_tmp205;
11867#line 1669
11868 __cil_tmp206 = (unsigned long )srb;
11869#line 1669
11870 __cil_tmp207 = __cil_tmp206 + 80;
11871#line 1669
11872 __cil_tmp208 = *((unsigned char **)__cil_tmp207);
11873#line 1669
11874 __cil_tmp209 = __cil_tmp208 + 7;
11875#line 1669
11876 __cil_tmp210 = *__cil_tmp209;
11877#line 1669
11878 __cil_tmp211 = (u16 )__cil_tmp210;
11879#line 1669
11880 __cil_tmp212 = (int )__cil_tmp211;
11881#line 1669
11882 __cil_tmp213 = __cil_tmp212 << 8;
11883#line 1669
11884 __cil_tmp214 = (unsigned long )srb;
11885#line 1669
11886 __cil_tmp215 = __cil_tmp214 + 80;
11887#line 1669
11888 __cil_tmp216 = *((unsigned char **)__cil_tmp215);
11889#line 1669
11890 __cil_tmp217 = __cil_tmp216 + 8;
11891#line 1669
11892 __cil_tmp218 = *__cil_tmp217;
11893#line 1669
11894 __cil_tmp219 = (u16 )__cil_tmp218;
11895#line 1669
11896 __cil_tmp220 = (int )__cil_tmp219;
11897#line 1669
11898 __cil_tmp221 = __cil_tmp220 | __cil_tmp213;
11899#line 1669
11900 pages = (unsigned int )__cil_tmp221;
11901#line 1671
11902 printk("<7>usb-storage: READ_10: read page %d pagect %d\n", page, pages);
11903#line 1674
11904 __cil_tmp222 = (unsigned long )page;
11905#line 1674
11906 result = sddr09_read_data(us, __cil_tmp222, pages);
11907 }
11908#line 1675
11909 if (result == 0) {
11910#line 1675
11911 tmp___11 = 0;
11912 } else {
11913#line 1675
11914 tmp___11 = 3;
11915 }
11916#line 1675
11917 return (tmp___11);
11918 } else {
11919
11920 }
11921 }
11922 {
11923#line 1679
11924 __cil_tmp223 = (unsigned long )srb;
11925#line 1679
11926 __cil_tmp224 = __cil_tmp223 + 80;
11927#line 1679
11928 __cil_tmp225 = *((unsigned char **)__cil_tmp224);
11929#line 1679
11930 __cil_tmp226 = __cil_tmp225 + 0;
11931#line 1679
11932 __cil_tmp227 = *__cil_tmp226;
11933#line 1679
11934 __cil_tmp228 = (int )__cil_tmp227;
11935#line 1679
11936 if (__cil_tmp228 == 42) {
11937 {
11938#line 1681
11939 __cil_tmp229 = (unsigned long )srb;
11940#line 1681
11941 __cil_tmp230 = __cil_tmp229 + 80;
11942#line 1681
11943 __cil_tmp231 = *((unsigned char **)__cil_tmp230);
11944#line 1681
11945 __cil_tmp232 = __cil_tmp231 + 2;
11946#line 1681
11947 __cil_tmp233 = *__cil_tmp232;
11948#line 1681
11949 __cil_tmp234 = (u16 )__cil_tmp233;
11950#line 1681
11951 __cil_tmp235 = (int )__cil_tmp234;
11952#line 1681
11953 __cil_tmp236 = __cil_tmp235 << 8;
11954#line 1681
11955 __cil_tmp237 = (unsigned long )srb;
11956#line 1681
11957 __cil_tmp238 = __cil_tmp237 + 80;
11958#line 1681
11959 __cil_tmp239 = *((unsigned char **)__cil_tmp238);
11960#line 1681
11961 __cil_tmp240 = __cil_tmp239 + 3;
11962#line 1681
11963 __cil_tmp241 = *__cil_tmp240;
11964#line 1681
11965 __cil_tmp242 = (u16 )__cil_tmp241;
11966#line 1681
11967 __cil_tmp243 = (int )__cil_tmp242;
11968#line 1681
11969 __cil_tmp244 = __cil_tmp243 | __cil_tmp236;
11970#line 1681
11971 page = (unsigned int )__cil_tmp244;
11972#line 1682
11973 page = page << 16;
11974#line 1683
11975 __cil_tmp245 = (unsigned long )srb;
11976#line 1683
11977 __cil_tmp246 = __cil_tmp245 + 80;
11978#line 1683
11979 __cil_tmp247 = *((unsigned char **)__cil_tmp246);
11980#line 1683
11981 __cil_tmp248 = __cil_tmp247 + 4;
11982#line 1683
11983 __cil_tmp249 = *__cil_tmp248;
11984#line 1683
11985 __cil_tmp250 = (u16 )__cil_tmp249;
11986#line 1683
11987 __cil_tmp251 = (int )__cil_tmp250;
11988#line 1683
11989 __cil_tmp252 = __cil_tmp251 << 8;
11990#line 1683
11991 __cil_tmp253 = (unsigned long )srb;
11992#line 1683
11993 __cil_tmp254 = __cil_tmp253 + 80;
11994#line 1683
11995 __cil_tmp255 = *((unsigned char **)__cil_tmp254);
11996#line 1683
11997 __cil_tmp256 = __cil_tmp255 + 5;
11998#line 1683
11999 __cil_tmp257 = *__cil_tmp256;
12000#line 1683
12001 __cil_tmp258 = (u16 )__cil_tmp257;
12002#line 1683
12003 __cil_tmp259 = (int )__cil_tmp258;
12004#line 1683
12005 __cil_tmp260 = __cil_tmp259 | __cil_tmp252;
12006#line 1683
12007 __cil_tmp261 = (unsigned int )__cil_tmp260;
12008#line 1683
12009 page = page | __cil_tmp261;
12010#line 1684
12011 __cil_tmp262 = (unsigned long )srb;
12012#line 1684
12013 __cil_tmp263 = __cil_tmp262 + 80;
12014#line 1684
12015 __cil_tmp264 = *((unsigned char **)__cil_tmp263);
12016#line 1684
12017 __cil_tmp265 = __cil_tmp264 + 7;
12018#line 1684
12019 __cil_tmp266 = *__cil_tmp265;
12020#line 1684
12021 __cil_tmp267 = (u16 )__cil_tmp266;
12022#line 1684
12023 __cil_tmp268 = (int )__cil_tmp267;
12024#line 1684
12025 __cil_tmp269 = __cil_tmp268 << 8;
12026#line 1684
12027 __cil_tmp270 = (unsigned long )srb;
12028#line 1684
12029 __cil_tmp271 = __cil_tmp270 + 80;
12030#line 1684
12031 __cil_tmp272 = *((unsigned char **)__cil_tmp271);
12032#line 1684
12033 __cil_tmp273 = __cil_tmp272 + 8;
12034#line 1684
12035 __cil_tmp274 = *__cil_tmp273;
12036#line 1684
12037 __cil_tmp275 = (u16 )__cil_tmp274;
12038#line 1684
12039 __cil_tmp276 = (int )__cil_tmp275;
12040#line 1684
12041 __cil_tmp277 = __cil_tmp276 | __cil_tmp269;
12042#line 1684
12043 pages = (unsigned int )__cil_tmp277;
12044#line 1686
12045 printk("<7>usb-storage: WRITE_10: write page %d pagect %d\n", page, pages);
12046#line 1689
12047 __cil_tmp278 = (unsigned long )page;
12048#line 1689
12049 result = sddr09_write_data(us, __cil_tmp278, pages);
12050 }
12051#line 1690
12052 if (result == 0) {
12053#line 1690
12054 tmp___12 = 0;
12055 } else {
12056#line 1690
12057 tmp___12 = 3;
12058 }
12059#line 1690
12060 return (tmp___12);
12061 } else {
12062
12063 }
12064 }
12065 {
12066#line 1697
12067 __cil_tmp279 = (unsigned long )srb;
12068#line 1697
12069 __cil_tmp280 = __cil_tmp279 + 80;
12070#line 1697
12071 __cil_tmp281 = *((unsigned char **)__cil_tmp280);
12072#line 1697
12073 __cil_tmp282 = __cil_tmp281 + 0;
12074#line 1697
12075 __cil_tmp283 = *__cil_tmp282;
12076#line 1697
12077 __cil_tmp284 = (int )__cil_tmp283;
12078#line 1697
12079 if (__cil_tmp284 != 0) {
12080 {
12081#line 1697
12082 __cil_tmp285 = (unsigned long )srb;
12083#line 1697
12084 __cil_tmp286 = __cil_tmp285 + 80;
12085#line 1697
12086 __cil_tmp287 = *((unsigned char **)__cil_tmp286);
12087#line 1697
12088 __cil_tmp288 = __cil_tmp287 + 0;
12089#line 1697
12090 __cil_tmp289 = *__cil_tmp288;
12091#line 1697
12092 __cil_tmp290 = (int )__cil_tmp289;
12093#line 1697
12094 if (__cil_tmp290 != 3) {
12095#line 1699
12096 sensekey = (unsigned char)5;
12097#line 1700
12098 sensecode = (unsigned char)32;
12099#line 1701
12100 havefakesense = (unsigned char)1;
12101#line 1702
12102 return (1);
12103 } else {
12104
12105 }
12106 }
12107 } else {
12108
12109 }
12110 }
12111 {
12112#line 1705
12113 while (1) {
12114 while_continue: ;
12115 {
12116#line 1705
12117 __cil_tmp291 = (unsigned long )srb;
12118#line 1705
12119 __cil_tmp292 = __cil_tmp291 + 74;
12120#line 1705
12121 __cil_tmp293 = *((unsigned short *)__cil_tmp292);
12122#line 1705
12123 __cil_tmp294 = (int )__cil_tmp293;
12124#line 1705
12125 if (__cil_tmp294 < 12) {
12126
12127 } else {
12128#line 1705
12129 goto while_break;
12130 }
12131 }
12132#line 1706
12133 __cil_tmp295 = (unsigned long )srb;
12134#line 1706
12135 __cil_tmp296 = __cil_tmp295 + 74;
12136#line 1706
12137 __cil_tmp297 = *((unsigned short *)__cil_tmp296);
12138#line 1706
12139 __cil_tmp298 = (unsigned long )srb;
12140#line 1706
12141 __cil_tmp299 = __cil_tmp298 + 80;
12142#line 1706
12143 __cil_tmp300 = *((unsigned char **)__cil_tmp299);
12144#line 1706
12145 __cil_tmp301 = __cil_tmp300 + __cil_tmp297;
12146#line 1706
12147 *__cil_tmp301 = (unsigned char)0;
12148#line 1705
12149 __cil_tmp302 = (unsigned long )srb;
12150#line 1705
12151 __cil_tmp303 = __cil_tmp302 + 74;
12152#line 1705
12153 __cil_tmp304 = (unsigned long )srb;
12154#line 1705
12155 __cil_tmp305 = __cil_tmp304 + 74;
12156#line 1705
12157 __cil_tmp306 = *((unsigned short *)__cil_tmp305);
12158#line 1705
12159 __cil_tmp307 = (int )__cil_tmp306;
12160#line 1705
12161 __cil_tmp308 = __cil_tmp307 + 1;
12162#line 1705
12163 *((unsigned short *)__cil_tmp303) = (unsigned short )__cil_tmp308;
12164 }
12165 while_break: ;
12166 }
12167#line 1708
12168 __cil_tmp309 = (unsigned long )srb;
12169#line 1708
12170 __cil_tmp310 = __cil_tmp309 + 80;
12171#line 1708
12172 __cil_tmp311 = *((unsigned char **)__cil_tmp310);
12173#line 1708
12174 __cil_tmp312 = __cil_tmp311 + 1;
12175#line 1708
12176 __cil_tmp313 = 1 << 5;
12177#line 1708
12178 *__cil_tmp312 = (unsigned char )__cil_tmp313;
12179#line 1710
12180 __cil_tmp314 = ptr + 0;
12181#line 1710
12182 *__cil_tmp314 = (unsigned char)0;
12183#line 1711
12184 i = 0;
12185 {
12186#line 1711
12187 while (1) {
12188 while_continue___0: ;
12189#line 1711
12190 if (i < 12) {
12191
12192 } else {
12193#line 1711
12194 goto while_break___0;
12195 }
12196 {
12197#line 1712
12198 __cil_tmp315 = (char const *)ptr;
12199#line 1712
12200 tmp___13 = strlen(__cil_tmp315);
12201#line 1712
12202 __cil_tmp316 = ptr + tmp___13;
12203#line 1712
12204 __cil_tmp317 = (char *)__cil_tmp316;
12205#line 1712
12206 __cil_tmp318 = (unsigned long )srb;
12207#line 1712
12208 __cil_tmp319 = __cil_tmp318 + 80;
12209#line 1712
12210 __cil_tmp320 = *((unsigned char **)__cil_tmp319);
12211#line 1712
12212 __cil_tmp321 = __cil_tmp320 + i;
12213#line 1712
12214 __cil_tmp322 = *__cil_tmp321;
12215#line 1712
12216 __cil_tmp323 = (int )__cil_tmp322;
12217#line 1712
12218 sprintf(__cil_tmp317, "%02X ", __cil_tmp323);
12219#line 1711
12220 i = i + 1;
12221 }
12222 }
12223 while_break___0: ;
12224 }
12225 {
12226#line 1714
12227 printk("<7>usb-storage: SDDR09: Send control for command %s\n", ptr);
12228#line 1716
12229 __cil_tmp324 = (unsigned long )srb;
12230#line 1716
12231 __cil_tmp325 = __cil_tmp324 + 80;
12232#line 1716
12233 __cil_tmp326 = *((unsigned char **)__cil_tmp325);
12234#line 1716
12235 result = sddr09_send_scsi_command(us, __cil_tmp326, 12U);
12236 }
12237#line 1717
12238 if (result) {
12239 {
12240#line 1718
12241 printk("<7>usb-storage: sddr09_transport: sddr09_send_scsi_command returns %d\n",
12242 result);
12243 }
12244#line 1720
12245 return (3);
12246 } else {
12247
12248 }
12249 {
12250#line 1723
12251 tmp___14 = scsi_bufflen(srb);
12252 }
12253#line 1723
12254 if (tmp___14 == 0U) {
12255#line 1724
12256 return (0);
12257 } else {
12258
12259 }
12260 {
12261#line 1726
12262 __cil_tmp327 = (unsigned long )srb;
12263#line 1726
12264 __cil_tmp328 = __cil_tmp327 + 76;
12265#line 1726
12266 __cil_tmp329 = *((enum dma_data_direction *)__cil_tmp328);
12267#line 1726
12268 __cil_tmp330 = (unsigned int )__cil_tmp329;
12269#line 1726
12270 if (__cil_tmp330 == 1U) {
12271#line 1726
12272 goto _L___0;
12273 } else {
12274 {
12275#line 1726
12276 __cil_tmp331 = (unsigned long )srb;
12277#line 1726
12278 __cil_tmp332 = __cil_tmp331 + 76;
12279#line 1726
12280 __cil_tmp333 = *((enum dma_data_direction *)__cil_tmp332);
12281#line 1726
12282 __cil_tmp334 = (unsigned int )__cil_tmp333;
12283#line 1726
12284 if (__cil_tmp334 == 2U) {
12285 _L___0:
12286 {
12287#line 1728
12288 __cil_tmp335 = (unsigned long )srb;
12289#line 1728
12290 __cil_tmp336 = __cil_tmp335 + 76;
12291#line 1728
12292 __cil_tmp337 = *((enum dma_data_direction *)__cil_tmp336);
12293#line 1728
12294 __cil_tmp338 = (unsigned int )__cil_tmp337;
12295#line 1728
12296 if (__cil_tmp338 == 1U) {
12297#line 1728
12298 __cil_tmp339 = (unsigned long )us;
12299#line 1728
12300 __cil_tmp340 = __cil_tmp339 + 112;
12301#line 1728
12302 tmp___15 = *((unsigned int *)__cil_tmp340);
12303 } else {
12304#line 1728
12305 __cil_tmp341 = (unsigned long )us;
12306#line 1728
12307 __cil_tmp342 = __cil_tmp341 + 116;
12308#line 1728
12309 tmp___15 = *((unsigned int *)__cil_tmp342);
12310 }
12311 }
12312 {
12313#line 1728
12314 pipe = tmp___15;
12315#line 1731
12316 tmp___16 = scsi_bufflen(srb);
12317 }
12318 {
12319#line 1731
12320 __cil_tmp343 = (unsigned long )srb;
12321#line 1731
12322 __cil_tmp344 = __cil_tmp343 + 76;
12323#line 1731
12324 __cil_tmp345 = *((enum dma_data_direction *)__cil_tmp344);
12325#line 1731
12326 __cil_tmp346 = (unsigned int )__cil_tmp345;
12327#line 1731
12328 if (__cil_tmp346 == 1U) {
12329#line 1731
12330 tmp___17 = "sending";
12331 } else {
12332#line 1731
12333 tmp___17 = "receiving";
12334 }
12335 }
12336 {
12337#line 1731
12338 printk("<7>usb-storage: SDDR09: %s %d bytes\n", tmp___17, tmp___16);
12339#line 1736
12340 result = usb_stor_bulk_srb(us, pipe, srb);
12341 }
12342#line 1738
12343 if (result == 0) {
12344#line 1738
12345 tmp___18 = 0;
12346 } else {
12347#line 1738
12348 tmp___18 = 3;
12349 }
12350#line 1738
12351 return (tmp___18);
12352 } else {
12353
12354 }
12355 }
12356 }
12357 }
12358#line 1742
12359 return (0);
12360}
12361}
12362#line 1748 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12363static int usb_stor_sddr09_init(struct us_data *us )
12364{ int tmp___7 ;
12365
12366 {
12367 {
12368#line 1750
12369 tmp___7 = sddr09_common_init(us);
12370 }
12371#line 1750
12372 return (tmp___7);
12373}
12374}
12375#line 1753 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12376static int sddr09_probe(struct usb_interface *intf , struct usb_device_id const *id )
12377{ struct us_data *us ;
12378 int result ;
12379 unsigned long __cil_tmp5 ;
12380 unsigned long __cil_tmp6 ;
12381 struct usb_device_id *__cil_tmp7 ;
12382 struct usb_device_id const *__cil_tmp8 ;
12383 int __cil_tmp9 ;
12384 unsigned long __cil_tmp10 ;
12385 unsigned long __cil_tmp11 ;
12386 struct us_unusual_dev *__cil_tmp12 ;
12387 struct us_unusual_dev *__cil_tmp13 ;
12388 struct us_data **__cil_tmp14 ;
12389 struct us_data *__cil_tmp15 ;
12390 unsigned long __cil_tmp16 ;
12391 unsigned long __cil_tmp17 ;
12392 u8 __cil_tmp18 ;
12393 int __cil_tmp19 ;
12394 struct us_data **__cil_tmp20 ;
12395 struct us_data *__cil_tmp21 ;
12396 unsigned long __cil_tmp22 ;
12397 unsigned long __cil_tmp23 ;
12398 struct us_data **__cil_tmp24 ;
12399 struct us_data *__cil_tmp25 ;
12400 unsigned long __cil_tmp26 ;
12401 unsigned long __cil_tmp27 ;
12402 struct us_data **__cil_tmp28 ;
12403 struct us_data *__cil_tmp29 ;
12404 unsigned long __cil_tmp30 ;
12405 unsigned long __cil_tmp31 ;
12406 struct us_data **__cil_tmp32 ;
12407 struct us_data *__cil_tmp33 ;
12408 unsigned long __cil_tmp34 ;
12409 unsigned long __cil_tmp35 ;
12410 struct us_data **__cil_tmp36 ;
12411 struct us_data *__cil_tmp37 ;
12412 unsigned long __cil_tmp38 ;
12413 unsigned long __cil_tmp39 ;
12414 struct us_data **__cil_tmp40 ;
12415 struct us_data *__cil_tmp41 ;
12416 unsigned long __cil_tmp42 ;
12417 unsigned long __cil_tmp43 ;
12418 struct us_data **__cil_tmp44 ;
12419 struct us_data *__cil_tmp45 ;
12420 unsigned long __cil_tmp46 ;
12421 unsigned long __cil_tmp47 ;
12422 struct us_data **__cil_tmp48 ;
12423 struct us_data *__cil_tmp49 ;
12424 unsigned long __cil_tmp50 ;
12425 unsigned long __cil_tmp51 ;
12426 struct us_data **__cil_tmp52 ;
12427 struct us_data *__cil_tmp53 ;
12428
12429 {
12430 {
12431#line 1759
12432 __cil_tmp5 = 0 * 24UL;
12433#line 1759
12434 __cil_tmp6 = (unsigned long )(sddr09_usb_ids) + __cil_tmp5;
12435#line 1759
12436 __cil_tmp7 = (struct usb_device_id *)__cil_tmp6;
12437#line 1759
12438 __cil_tmp8 = (struct usb_device_id const *)__cil_tmp7;
12439#line 1759
12440 __cil_tmp9 = id - __cil_tmp8;
12441#line 1759
12442 __cil_tmp10 = 0 * 32UL;
12443#line 1759
12444 __cil_tmp11 = (unsigned long )(sddr09_unusual_dev_list) + __cil_tmp10;
12445#line 1759
12446 __cil_tmp12 = (struct us_unusual_dev *)__cil_tmp11;
12447#line 1759
12448 __cil_tmp13 = __cil_tmp12 + __cil_tmp9;
12449#line 1759
12450 result = usb_stor_probe1(& us, intf, id, __cil_tmp13);
12451 }
12452#line 1761
12453 if (result) {
12454#line 1762
12455 return (result);
12456 } else {
12457
12458 }
12459 {
12460#line 1764
12461 __cil_tmp14 = & us;
12462#line 1764
12463 __cil_tmp15 = *__cil_tmp14;
12464#line 1764
12465 __cil_tmp16 = (unsigned long )__cil_tmp15;
12466#line 1764
12467 __cil_tmp17 = __cil_tmp16 + 157;
12468#line 1764
12469 __cil_tmp18 = *((u8 *)__cil_tmp17);
12470#line 1764
12471 __cil_tmp19 = (int )__cil_tmp18;
12472#line 1764
12473 if (__cil_tmp19 == 240) {
12474#line 1765
12475 __cil_tmp20 = & us;
12476#line 1765
12477 __cil_tmp21 = *__cil_tmp20;
12478#line 1765
12479 __cil_tmp22 = (unsigned long )__cil_tmp21;
12480#line 1765
12481 __cil_tmp23 = __cil_tmp22 + 136;
12482#line 1765
12483 *((char **)__cil_tmp23) = (char *)"Control/Bulk-EUSB/SDDR09";
12484#line 1766
12485 __cil_tmp24 = & us;
12486#line 1766
12487 __cil_tmp25 = *__cil_tmp24;
12488#line 1766
12489 __cil_tmp26 = (unsigned long )__cil_tmp25;
12490#line 1766
12491 __cil_tmp27 = __cil_tmp26 + 168;
12492#line 1766
12493 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp27) = & dpcm_transport;
12494#line 1767
12495 __cil_tmp28 = & us;
12496#line 1767
12497 __cil_tmp29 = *__cil_tmp28;
12498#line 1767
12499 __cil_tmp30 = (unsigned long )__cil_tmp29;
12500#line 1767
12501 __cil_tmp31 = __cil_tmp30 + 176;
12502#line 1767
12503 *((int (**)(struct us_data * ))__cil_tmp31) = & usb_stor_CB_reset;
12504#line 1768
12505 __cil_tmp32 = & us;
12506#line 1768
12507 __cil_tmp33 = *__cil_tmp32;
12508#line 1768
12509 __cil_tmp34 = (unsigned long )__cil_tmp33;
12510#line 1768
12511 __cil_tmp35 = __cil_tmp34 + 158;
12512#line 1768
12513 *((u8 *)__cil_tmp35) = (u8 )1;
12514 } else {
12515#line 1770
12516 __cil_tmp36 = & us;
12517#line 1770
12518 __cil_tmp37 = *__cil_tmp36;
12519#line 1770
12520 __cil_tmp38 = (unsigned long )__cil_tmp37;
12521#line 1770
12522 __cil_tmp39 = __cil_tmp38 + 136;
12523#line 1770
12524 *((char **)__cil_tmp39) = (char *)"EUSB/SDDR09";
12525#line 1771
12526 __cil_tmp40 = & us;
12527#line 1771
12528 __cil_tmp41 = *__cil_tmp40;
12529#line 1771
12530 __cil_tmp42 = (unsigned long )__cil_tmp41;
12531#line 1771
12532 __cil_tmp43 = __cil_tmp42 + 168;
12533#line 1771
12534 *((int (**)(struct scsi_cmnd * , struct us_data * ))__cil_tmp43) = & sddr09_transport;
12535#line 1772
12536 __cil_tmp44 = & us;
12537#line 1772
12538 __cil_tmp45 = *__cil_tmp44;
12539#line 1772
12540 __cil_tmp46 = (unsigned long )__cil_tmp45;
12541#line 1772
12542 __cil_tmp47 = __cil_tmp46 + 176;
12543#line 1772
12544 *((int (**)(struct us_data * ))__cil_tmp47) = & usb_stor_CB_reset;
12545#line 1773
12546 __cil_tmp48 = & us;
12547#line 1773
12548 __cil_tmp49 = *__cil_tmp48;
12549#line 1773
12550 __cil_tmp50 = (unsigned long )__cil_tmp49;
12551#line 1773
12552 __cil_tmp51 = __cil_tmp50 + 158;
12553#line 1773
12554 *((u8 *)__cil_tmp51) = (u8 )0;
12555 }
12556 }
12557 {
12558#line 1776
12559 __cil_tmp52 = & us;
12560#line 1776
12561 __cil_tmp53 = *__cil_tmp52;
12562#line 1776
12563 result = usb_stor_probe2(__cil_tmp53);
12564 }
12565#line 1777
12566 return (result);
12567}
12568}
12569#line 1780 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12570static struct usb_driver sddr09_driver =
12571#line 1780
12572 {"ums-sddr09", & sddr09_probe, & usb_stor_disconnect, (int (*)(struct usb_interface *intf ,
12573 unsigned int code ,
12574 void *buf ))0, & usb_stor_suspend,
12575 & usb_stor_resume, & usb_stor_reset_resume, & usb_stor_pre_reset, & usb_stor_post_reset,
12576 (struct usb_device_id const *)(sddr09_usb_ids), {{{{{{0U}}, 0U, 0U, (void *)0}}},
12577 {(struct list_head *)0, (struct list_head *)0}},
12578 {{(char const *)0, (struct bus_type *)0, (struct module *)0, (char const *)0,
12579 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
12580 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
12581 pm_message_t state ))0,
12582 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
12583 (struct driver_private *)0}, 0}, 1U, 0U, 1U};
12584#line 1794
12585static int sddr09_driver_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
12586#line 1794 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12587static int sddr09_driver_init(void)
12588{ int tmp___7 ;
12589
12590 {
12591 {
12592#line 1794
12593 tmp___7 = usb_register_driver(& sddr09_driver, & __this_module, "ums_sddr09");
12594 }
12595#line 1794
12596 return (tmp___7);
12597}
12598}
12599#line 1794 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12600int init_module(void)
12601{ int tmp___7 ;
12602
12603 {
12604 {
12605#line 1794
12606 tmp___7 = sddr09_driver_init();
12607 }
12608#line 1794
12609 return (tmp___7);
12610}
12611}
12612#line 1794
12613static void sddr09_driver_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
12614#line 1794 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12615static void sddr09_driver_exit(void)
12616{
12617
12618 {
12619 {
12620#line 1794
12621 usb_deregister(& sddr09_driver);
12622 }
12623#line 1794
12624 return;
12625}
12626}
12627#line 1794 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12628void cleanup_module(void)
12629{
12630
12631 {
12632 {
12633#line 1794
12634 sddr09_driver_exit();
12635 }
12636#line 1794
12637 return;
12638}
12639}
12640#line 1812
12641void ldv_check_final_state(void) ;
12642#line 1815
12643extern void ldv_check_return_value(int res ) ;
12644#line 1818
12645extern void ldv_initialize(void) ;
12646#line 1821
12647extern int __VERIFIER_nondet_int(void) ;
12648#line 1824 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12649int LDV_IN_INTERRUPT ;
12650#line 1887 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12651static int res_sddr09_probe_36 ;
12652#line 1827 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12653void main(void)
12654{ struct usb_interface *var_group1 ;
12655 struct usb_device_id const *var_sddr09_probe_36_p1 ;
12656 int ldv_s_sddr09_driver_usb_driver ;
12657 int tmp___7 ;
12658 int tmp___8 ;
12659 int __cil_tmp6 ;
12660
12661 {
12662 {
12663#line 1895
12664 LDV_IN_INTERRUPT = 1;
12665#line 1904
12666 ldv_initialize();
12667#line 1905
12668 ldv_s_sddr09_driver_usb_driver = 0;
12669 }
12670 {
12671#line 1908
12672 while (1) {
12673 while_continue: ;
12674 {
12675#line 1908
12676 tmp___8 = __VERIFIER_nondet_int();
12677 }
12678#line 1908
12679 if (tmp___8) {
12680
12681 } else {
12682 {
12683#line 1908
12684 __cil_tmp6 = ldv_s_sddr09_driver_usb_driver == 0;
12685#line 1908
12686 if (! __cil_tmp6) {
12687
12688 } else {
12689#line 1908
12690 goto while_break;
12691 }
12692 }
12693 }
12694 {
12695#line 1912
12696 tmp___7 = __VERIFIER_nondet_int();
12697 }
12698#line 1914
12699 if (tmp___7 == 0) {
12700#line 1914
12701 goto case_0;
12702 } else {
12703 {
12704#line 1979
12705 goto switch_default;
12706#line 1912
12707 if (0) {
12708 case_0:
12709#line 1917
12710 if (ldv_s_sddr09_driver_usb_driver == 0) {
12711 {
12712#line 1968
12713 res_sddr09_probe_36 = sddr09_probe(var_group1, var_sddr09_probe_36_p1);
12714#line 1969
12715 ldv_check_return_value(res_sddr09_probe_36);
12716 }
12717#line 1970
12718 if (res_sddr09_probe_36) {
12719#line 1971
12720 goto ldv_module_exit;
12721 } else {
12722
12723 }
12724#line 1972
12725 ldv_s_sddr09_driver_usb_driver = 0;
12726 } else {
12727
12728 }
12729#line 1978
12730 goto switch_break;
12731 switch_default:
12732#line 1979
12733 goto switch_break;
12734 } else {
12735 switch_break: ;
12736 }
12737 }
12738 }
12739 }
12740 while_break: ;
12741 }
12742 ldv_module_exit:
12743 {
12744#line 1988
12745 ldv_check_final_state();
12746 }
12747#line 1991
12748 return;
12749}
12750}
12751#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
12752void ldv_blast_assert(void)
12753{
12754
12755 {
12756 ERROR:
12757#line 6
12758 goto ERROR;
12759}
12760}
12761#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
12762extern int __VERIFIER_nondet_int(void) ;
12763#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12764int ldv_mutex = 1;
12765#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12766int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
12767{ int nondetermined ;
12768
12769 {
12770#line 29
12771 if (ldv_mutex == 1) {
12772
12773 } else {
12774 {
12775#line 29
12776 ldv_blast_assert();
12777 }
12778 }
12779 {
12780#line 32
12781 nondetermined = __VERIFIER_nondet_int();
12782 }
12783#line 35
12784 if (nondetermined) {
12785#line 38
12786 ldv_mutex = 2;
12787#line 40
12788 return (0);
12789 } else {
12790#line 45
12791 return (-4);
12792 }
12793}
12794}
12795#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12796int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
12797{ int nondetermined ;
12798
12799 {
12800#line 57
12801 if (ldv_mutex == 1) {
12802
12803 } else {
12804 {
12805#line 57
12806 ldv_blast_assert();
12807 }
12808 }
12809 {
12810#line 60
12811 nondetermined = __VERIFIER_nondet_int();
12812 }
12813#line 63
12814 if (nondetermined) {
12815#line 66
12816 ldv_mutex = 2;
12817#line 68
12818 return (0);
12819 } else {
12820#line 73
12821 return (-4);
12822 }
12823}
12824}
12825#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12826int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
12827{ int atomic_value_after_dec ;
12828
12829 {
12830#line 83
12831 if (ldv_mutex == 1) {
12832
12833 } else {
12834 {
12835#line 83
12836 ldv_blast_assert();
12837 }
12838 }
12839 {
12840#line 86
12841 atomic_value_after_dec = __VERIFIER_nondet_int();
12842 }
12843#line 89
12844 if (atomic_value_after_dec == 0) {
12845#line 92
12846 ldv_mutex = 2;
12847#line 94
12848 return (1);
12849 } else {
12850
12851 }
12852#line 98
12853 return (0);
12854}
12855}
12856#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12857void mutex_lock(struct mutex *lock )
12858{
12859
12860 {
12861#line 108
12862 if (ldv_mutex == 1) {
12863
12864 } else {
12865 {
12866#line 108
12867 ldv_blast_assert();
12868 }
12869 }
12870#line 110
12871 ldv_mutex = 2;
12872#line 111
12873 return;
12874}
12875}
12876#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12877int mutex_trylock(struct mutex *lock )
12878{ int nondetermined ;
12879
12880 {
12881#line 121
12882 if (ldv_mutex == 1) {
12883
12884 } else {
12885 {
12886#line 121
12887 ldv_blast_assert();
12888 }
12889 }
12890 {
12891#line 124
12892 nondetermined = __VERIFIER_nondet_int();
12893 }
12894#line 127
12895 if (nondetermined) {
12896#line 130
12897 ldv_mutex = 2;
12898#line 132
12899 return (1);
12900 } else {
12901#line 137
12902 return (0);
12903 }
12904}
12905}
12906#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12907void mutex_unlock(struct mutex *lock )
12908{
12909
12910 {
12911#line 147
12912 if (ldv_mutex == 2) {
12913
12914 } else {
12915 {
12916#line 147
12917 ldv_blast_assert();
12918 }
12919 }
12920#line 149
12921 ldv_mutex = 1;
12922#line 150
12923 return;
12924}
12925}
12926#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
12927void ldv_check_final_state(void)
12928{
12929
12930 {
12931#line 156
12932 if (ldv_mutex == 1) {
12933
12934 } else {
12935 {
12936#line 156
12937 ldv_blast_assert();
12938 }
12939 }
12940#line 157
12941 return;
12942}
12943}
12944#line 2000 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/7667/dscv_tempdir/dscv/ri/32_1/drivers/usb/storage/sddr09.c.common.c"
12945long s__builtin_expect(long val , long res )
12946{
12947
12948 {
12949#line 2001
12950 return (val);
12951}
12952}