1# 1 "ldv/68_1/drivers/mtd/sm_ftl.ko/safe.cil.out.i"
2# 1 "<built-in>"
3# 1 "<command-line>"
4# 1 "ldv/68_1/drivers/mtd/sm_ftl.ko/safe.cil.out.i"
5# 19 "include/asm-generic/int-ll64.h"
6typedef signed char __s8;
7# 20 "include/asm-generic/int-ll64.h"
8typedef unsigned char __u8;
9# 22 "include/asm-generic/int-ll64.h"
10typedef short __s16;
11# 23 "include/asm-generic/int-ll64.h"
12typedef unsigned short __u16;
13# 25 "include/asm-generic/int-ll64.h"
14typedef int __s32;
15# 26 "include/asm-generic/int-ll64.h"
16typedef unsigned int __u32;
17# 29 "include/asm-generic/int-ll64.h"
18typedef long long __s64;
19# 30 "include/asm-generic/int-ll64.h"
20typedef unsigned long long __u64;
21# 43 "include/asm-generic/int-ll64.h"
22typedef unsigned char u8;
23# 46 "include/asm-generic/int-ll64.h"
24typedef unsigned short u16;
25# 49 "include/asm-generic/int-ll64.h"
26typedef unsigned int u32;
27# 51 "include/asm-generic/int-ll64.h"
28typedef long long s64;
29# 52 "include/asm-generic/int-ll64.h"
30typedef unsigned long long u64;
31# 11 "include/asm-generic/types.h"
32typedef unsigned short umode_t;
33# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
34typedef unsigned int __kernel_mode_t;
35# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
36typedef int __kernel_pid_t;
37# 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
38typedef unsigned int __kernel_uid_t;
39# 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
40typedef unsigned int __kernel_gid_t;
41# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
42typedef unsigned long __kernel_size_t;
43# 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
44typedef long __kernel_ssize_t;
45# 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
46typedef long __kernel_time_t;
47# 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
48typedef long __kernel_clock_t;
49# 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
50typedef int __kernel_timer_t;
51# 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
52typedef int __kernel_clockid_t;
53# 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
54typedef long long __kernel_loff_t;
55# 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
56typedef __kernel_uid_t __kernel_uid32_t;
57# 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
58typedef __kernel_gid_t __kernel_gid32_t;
59# 21 "include/linux/types.h"
60typedef __u32 __kernel_dev_t;
61# 24 "include/linux/types.h"
62typedef __kernel_dev_t dev_t;
63# 26 "include/linux/types.h"
64typedef __kernel_mode_t mode_t;
65# 29 "include/linux/types.h"
66typedef __kernel_pid_t pid_t;
67# 34 "include/linux/types.h"
68typedef __kernel_clockid_t clockid_t;
69# 37 "include/linux/types.h"
70typedef _Bool bool;
71# 39 "include/linux/types.h"
72typedef __kernel_uid32_t uid_t;
73# 40 "include/linux/types.h"
74typedef __kernel_gid32_t gid_t;
75# 53 "include/linux/types.h"
76typedef __kernel_loff_t loff_t;
77# 62 "include/linux/types.h"
78typedef __kernel_size_t size_t;
79# 67 "include/linux/types.h"
80typedef __kernel_ssize_t ssize_t;
81# 77 "include/linux/types.h"
82typedef __kernel_time_t time_t;
83# 91 "include/linux/types.h"
84typedef unsigned char u_char;
85# 94 "include/linux/types.h"
86typedef unsigned long u_long;
87# 108 "include/linux/types.h"
88typedef __s16 int16_t;
89# 110 "include/linux/types.h"
90typedef __s32 int32_t;
91# 114 "include/linux/types.h"
92typedef __u8 uint8_t;
93# 115 "include/linux/types.h"
94typedef __u16 uint16_t;
95# 116 "include/linux/types.h"
96typedef __u32 uint32_t;
97# 119 "include/linux/types.h"
98typedef __u64 uint64_t;
99# 141 "include/linux/types.h"
100typedef unsigned long sector_t;
101# 142 "include/linux/types.h"
102typedef unsigned long blkcnt_t;
103# 154 "include/linux/types.h"
104typedef u64 dma_addr_t;
105# 177 "include/linux/types.h"
106typedef __u16 __le16;
107# 201 "include/linux/types.h"
108typedef unsigned int gfp_t;
109# 202 "include/linux/types.h"
110typedef unsigned int fmode_t;
111# 205 "include/linux/types.h"
112typedef u64 phys_addr_t;
113# 210 "include/linux/types.h"
114typedef phys_addr_t resource_size_t;
115# 212 "include/linux/types.h"
116struct __anonstruct_atomic_t_7 {
117 int counter ;
118};
119# 212 "include/linux/types.h"
120typedef struct __anonstruct_atomic_t_7 atomic_t;
121# 217 "include/linux/types.h"
122struct __anonstruct_atomic64_t_8 {
123 long counter ;
124};
125# 217 "include/linux/types.h"
126typedef struct __anonstruct_atomic64_t_8 atomic64_t;
127# 222 "include/linux/types.h"
128struct list_head {
129 struct list_head *next ;
130 struct list_head *prev ;
131};
132# 226 "include/linux/types.h"
133struct hlist_node;
134# 226 "include/linux/types.h"
135struct hlist_node;
136# 226 "include/linux/types.h"
137struct hlist_head {
138 struct hlist_node *first ;
139};
140# 230 "include/linux/types.h"
141struct hlist_node {
142 struct hlist_node *next ;
143 struct hlist_node **pprev ;
144};
145# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
146struct module;
147# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
148struct module;
149# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
150struct module;
151# 145 "include/linux/init.h"
152typedef void (*ctor_fn_t)(void);
153# 10 "include/asm-generic/bug.h"
154struct bug_entry {
155 int bug_addr_disp ;
156 int file_disp ;
157 unsigned short line ;
158 unsigned short flags ;
159};
160# 113 "include/linux/kernel.h"
161struct completion;
162# 113 "include/linux/kernel.h"
163struct completion;
164# 113 "include/linux/kernel.h"
165struct completion;
166# 114 "include/linux/kernel.h"
167struct pt_regs;
168# 114 "include/linux/kernel.h"
169struct pt_regs;
170# 114 "include/linux/kernel.h"
171struct pt_regs;
172# 322 "include/linux/kernel.h"
173struct pid;
174# 322 "include/linux/kernel.h"
175struct pid;
176# 322 "include/linux/kernel.h"
177struct pid;
178# 12 "include/linux/thread_info.h"
179struct timespec;
180# 12 "include/linux/thread_info.h"
181struct timespec;
182# 12 "include/linux/thread_info.h"
183struct timespec;
184# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
185struct page;
186# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
187struct page;
188# 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
189struct page;
190# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
191struct task_struct;
192# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
193struct task_struct;
194# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
195struct task_struct;
196# 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
197struct task_struct;
198# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
199struct mm_struct;
200# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
201struct mm_struct;
202# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
203struct mm_struct;
204# 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
205struct pt_regs {
206 unsigned long r15 ;
207 unsigned long r14 ;
208 unsigned long r13 ;
209 unsigned long r12 ;
210 unsigned long bp ;
211 unsigned long bx ;
212 unsigned long r11 ;
213 unsigned long r10 ;
214 unsigned long r9 ;
215 unsigned long r8 ;
216 unsigned long ax ;
217 unsigned long cx ;
218 unsigned long dx ;
219 unsigned long si ;
220 unsigned long di ;
221 unsigned long orig_ax ;
222 unsigned long ip ;
223 unsigned long cs ;
224 unsigned long flags ;
225 unsigned long sp ;
226 unsigned long ss ;
227};
228# 136 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
229struct task_struct;
230# 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
231struct kernel_vm86_regs {
232 struct pt_regs pt ;
233 unsigned short es ;
234 unsigned short __esh ;
235 unsigned short ds ;
236 unsigned short __dsh ;
237 unsigned short fs ;
238 unsigned short __fsh ;
239 unsigned short gs ;
240 unsigned short __gsh ;
241};
242# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
243union __anonunion____missing_field_name_14 {
244 struct pt_regs *regs ;
245 struct kernel_vm86_regs *vm86 ;
246};
247# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
248struct math_emu_info {
249 long ___orig_eip ;
250 union __anonunion____missing_field_name_14 __annonCompField5 ;
251};
252# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
253struct task_struct;
254# 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
255typedef unsigned long pgdval_t;
256# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
257typedef unsigned long pgprotval_t;
258# 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
259struct pgprot {
260 pgprotval_t pgprot ;
261};
262# 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
263typedef struct pgprot pgprot_t;
264# 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
265struct __anonstruct_pgd_t_17 {
266 pgdval_t pgd ;
267};
268# 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
269typedef struct __anonstruct_pgd_t_17 pgd_t;
270# 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
271typedef struct page *pgtable_t;
272# 293 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
273struct file;
274# 293 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
275struct file;
276# 293 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
277struct file;
278# 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
279struct seq_file;
280# 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
281struct seq_file;
282# 311 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
283struct seq_file;
284# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
285struct __anonstruct____missing_field_name_22 {
286 unsigned int a ;
287 unsigned int b ;
288};
289# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
290struct __anonstruct____missing_field_name_23 {
291 u16 limit0 ;
292 u16 base0 ;
293 unsigned int base1 : 8 ;
294 unsigned int type : 4 ;
295 unsigned int s : 1 ;
296 unsigned int dpl : 2 ;
297 unsigned int p : 1 ;
298 unsigned int limit : 4 ;
299 unsigned int avl : 1 ;
300 unsigned int l : 1 ;
301 unsigned int d : 1 ;
302 unsigned int g : 1 ;
303 unsigned int base2 : 8 ;
304};
305# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
306union __anonunion____missing_field_name_21 {
307 struct __anonstruct____missing_field_name_22 __annonCompField7 ;
308 struct __anonstruct____missing_field_name_23 __annonCompField8 ;
309};
310# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
311struct desc_struct {
312 union __anonunion____missing_field_name_21 __annonCompField9 ;
313} __attribute__((__packed__)) ;
314# 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
315struct page;
316# 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
317struct thread_struct;
318# 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
319struct thread_struct;
320# 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
321struct thread_struct;
322# 49 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
323struct mm_struct;
324# 50 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
325struct desc_struct;
326# 51 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
327struct task_struct;
328# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
329struct cpumask;
330# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
331struct cpumask;
332# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
333struct cpumask;
334# 322 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
335struct arch_spinlock;
336# 322 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
337struct arch_spinlock;
338# 322 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
339struct arch_spinlock;
340# 13 "include/linux/cpumask.h"
341struct cpumask {
342 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
343};
344# 13 "include/linux/cpumask.h"
345typedef struct cpumask cpumask_t;
346# 622 "include/linux/cpumask.h"
347typedef struct cpumask *cpumask_var_t;
348# 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
349struct task_struct;
350# 11 "include/linux/personality.h"
351struct pt_regs;
352# 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
353struct i387_fsave_struct {
354 u32 cwd ;
355 u32 swd ;
356 u32 twd ;
357 u32 fip ;
358 u32 fcs ;
359 u32 foo ;
360 u32 fos ;
361 u32 st_space[20] ;
362 u32 status ;
363};
364# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
365struct __anonstruct____missing_field_name_31 {
366 u64 rip ;
367 u64 rdp ;
368};
369# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
370struct __anonstruct____missing_field_name_32 {
371 u32 fip ;
372 u32 fcs ;
373 u32 foo ;
374 u32 fos ;
375};
376# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
377union __anonunion____missing_field_name_30 {
378 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
379 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
380};
381# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
382union __anonunion____missing_field_name_33 {
383 u32 padding1[12] ;
384 u32 sw_reserved[12] ;
385};
386# 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
387struct i387_fxsave_struct {
388 u16 cwd ;
389 u16 swd ;
390 u16 twd ;
391 u16 fop ;
392 union __anonunion____missing_field_name_30 __annonCompField14 ;
393 u32 mxcsr ;
394 u32 mxcsr_mask ;
395 u32 st_space[32] ;
396 u32 xmm_space[64] ;
397 u32 padding[12] ;
398 union __anonunion____missing_field_name_33 __annonCompField15 ;
399} __attribute__((__aligned__(16))) ;
400# 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
401struct i387_soft_struct {
402 u32 cwd ;
403 u32 swd ;
404 u32 twd ;
405 u32 fip ;
406 u32 fcs ;
407 u32 foo ;
408 u32 fos ;
409 u32 st_space[20] ;
410 u8 ftop ;
411 u8 changed ;
412 u8 lookahead ;
413 u8 no_update ;
414 u8 rm ;
415 u8 alimit ;
416 struct math_emu_info *info ;
417 u32 entry_eip ;
418};
419# 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
420struct ymmh_struct {
421 u32 ymmh_space[64] ;
422};
423# 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
424struct xsave_hdr_struct {
425 u64 xstate_bv ;
426 u64 reserved1[2] ;
427 u64 reserved2[5] ;
428} __attribute__((__packed__)) ;
429# 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
430struct xsave_struct {
431 struct i387_fxsave_struct i387 ;
432 struct xsave_hdr_struct xsave_hdr ;
433 struct ymmh_struct ymmh ;
434} __attribute__((__packed__, __aligned__(64))) ;
435# 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
436union thread_xstate {
437 struct i387_fsave_struct fsave ;
438 struct i387_fxsave_struct fxsave ;
439 struct i387_soft_struct soft ;
440 struct xsave_struct xsave ;
441};
442# 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
443struct fpu {
444 union thread_xstate *state ;
445};
446# 421 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
447struct kmem_cache;
448# 421 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
449struct kmem_cache;
450# 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
451struct perf_event;
452# 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
453struct perf_event;
454# 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
455struct perf_event;
456# 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
457struct thread_struct {
458 struct desc_struct tls_array[3] ;
459 unsigned long sp0 ;
460 unsigned long sp ;
461 unsigned long usersp ;
462 unsigned short es ;
463 unsigned short ds ;
464 unsigned short fsindex ;
465 unsigned short gsindex ;
466 unsigned long fs ;
467 unsigned long gs ;
468 struct perf_event *ptrace_bps[4] ;
469 unsigned long debugreg6 ;
470 unsigned long ptrace_dr7 ;
471 unsigned long cr2 ;
472 unsigned long trap_no ;
473 unsigned long error_code ;
474 struct fpu fpu ;
475 unsigned long *io_bitmap_ptr ;
476 unsigned long iopl ;
477 unsigned int io_bitmap_max ;
478};
479# 23 "include/asm-generic/atomic-long.h"
480typedef atomic64_t atomic_long_t;
481# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
482struct arch_spinlock {
483 unsigned int slock ;
484};
485# 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
486typedef struct arch_spinlock arch_spinlock_t;
487# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
488struct __anonstruct_arch_rwlock_t_36 {
489 unsigned int lock ;
490};
491# 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
492typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
493# 12 "include/linux/lockdep.h"
494struct task_struct;
495# 13 "include/linux/lockdep.h"
496struct lockdep_map;
497# 13 "include/linux/lockdep.h"
498struct lockdep_map;
499# 13 "include/linux/lockdep.h"
500struct lockdep_map;
501# 8 "include/linux/debug_locks.h"
502struct task_struct;
503# 48 "include/linux/debug_locks.h"
504struct task_struct;
505# 4 "include/linux/stacktrace.h"
506struct task_struct;
507# 5 "include/linux/stacktrace.h"
508struct pt_regs;
509# 8 "include/linux/stacktrace.h"
510struct task_struct;
511# 10 "include/linux/stacktrace.h"
512struct stack_trace {
513 unsigned int nr_entries ;
514 unsigned int max_entries ;
515 unsigned long *entries ;
516 int skip ;
517};
518# 50 "include/linux/lockdep.h"
519struct lockdep_subclass_key {
520 char __one_byte ;
521} __attribute__((__packed__)) ;
522# 54 "include/linux/lockdep.h"
523struct lock_class_key {
524 struct lockdep_subclass_key subkeys[8UL] ;
525};
526# 65 "include/linux/lockdep.h"
527struct lock_class {
528 struct list_head hash_entry ;
529 struct list_head lock_entry ;
530 struct lockdep_subclass_key *key ;
531 unsigned int subclass ;
532 unsigned int dep_gen_id ;
533 unsigned long usage_mask ;
534 struct stack_trace usage_traces[13] ;
535 struct list_head locks_after ;
536 struct list_head locks_before ;
537 unsigned int version ;
538 unsigned long ops ;
539 char const *name ;
540 int name_version ;
541 unsigned long contention_point[4] ;
542 unsigned long contending_point[4] ;
543};
544# 150 "include/linux/lockdep.h"
545struct lockdep_map {
546 struct lock_class_key *key ;
547 struct lock_class *class_cache[2] ;
548 char const *name ;
549 int cpu ;
550 unsigned long ip ;
551};
552# 196 "include/linux/lockdep.h"
553struct held_lock {
554 u64 prev_chain_key ;
555 unsigned long acquire_ip ;
556 struct lockdep_map *instance ;
557 struct lockdep_map *nest_lock ;
558 u64 waittime_stamp ;
559 u64 holdtime_stamp ;
560 unsigned int class_idx : 13 ;
561 unsigned int irq_context : 2 ;
562 unsigned int trylock : 1 ;
563 unsigned int read : 2 ;
564 unsigned int check : 2 ;
565 unsigned int hardirqs_off : 1 ;
566 unsigned int references : 11 ;
567};
568# 20 "include/linux/spinlock_types.h"
569struct raw_spinlock {
570 arch_spinlock_t raw_lock ;
571 unsigned int magic ;
572 unsigned int owner_cpu ;
573 void *owner ;
574 struct lockdep_map dep_map ;
575};
576# 20 "include/linux/spinlock_types.h"
577typedef struct raw_spinlock raw_spinlock_t;
578# 64 "include/linux/spinlock_types.h"
579struct __anonstruct____missing_field_name_38 {
580 u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
581 struct lockdep_map dep_map ;
582};
583# 64 "include/linux/spinlock_types.h"
584union __anonunion____missing_field_name_37 {
585 struct raw_spinlock rlock ;
586 struct __anonstruct____missing_field_name_38 __annonCompField17 ;
587};
588# 64 "include/linux/spinlock_types.h"
589struct spinlock {
590 union __anonunion____missing_field_name_37 __annonCompField18 ;
591};
592# 64 "include/linux/spinlock_types.h"
593typedef struct spinlock spinlock_t;
594# 11 "include/linux/rwlock_types.h"
595struct __anonstruct_rwlock_t_39 {
596 arch_rwlock_t raw_lock ;
597 unsigned int magic ;
598 unsigned int owner_cpu ;
599 void *owner ;
600 struct lockdep_map dep_map ;
601};
602# 11 "include/linux/rwlock_types.h"
603typedef struct __anonstruct_rwlock_t_39 rwlock_t;
604# 119 "include/linux/seqlock.h"
605struct seqcount {
606 unsigned int sequence ;
607};
608# 119 "include/linux/seqlock.h"
609typedef struct seqcount seqcount_t;
610# 14 "include/linux/time.h"
611struct timespec {
612 __kernel_time_t tv_sec ;
613 long tv_nsec ;
614};
615# 62 "include/linux/stat.h"
616struct kstat {
617 u64 ino ;
618 dev_t dev ;
619 umode_t mode ;
620 unsigned int nlink ;
621 uid_t uid ;
622 gid_t gid ;
623 dev_t rdev ;
624 loff_t size ;
625 struct timespec atime ;
626 struct timespec mtime ;
627 struct timespec ctime ;
628 unsigned long blksize ;
629 unsigned long long blocks ;
630};
631# 50 "include/linux/wait.h"
632struct __wait_queue_head {
633 spinlock_t lock ;
634 struct list_head task_list ;
635};
636# 54 "include/linux/wait.h"
637typedef struct __wait_queue_head wait_queue_head_t;
638# 56 "include/linux/wait.h"
639struct task_struct;
640# 96 "include/linux/nodemask.h"
641struct __anonstruct_nodemask_t_41 {
642 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
643};
644# 96 "include/linux/nodemask.h"
645typedef struct __anonstruct_nodemask_t_41 nodemask_t;
646# 60 "include/linux/pageblock-flags.h"
647struct page;
648# 48 "include/linux/mutex.h"
649struct mutex {
650 atomic_t count ;
651 spinlock_t wait_lock ;
652 struct list_head wait_list ;
653 struct task_struct *owner ;
654 char const *name ;
655 void *magic ;
656 struct lockdep_map dep_map ;
657};
658# 69 "include/linux/mutex.h"
659struct mutex_waiter {
660 struct list_head list ;
661 struct task_struct *task ;
662 void *magic ;
663};
664# 20 "include/linux/rwsem.h"
665struct rw_semaphore;
666# 20 "include/linux/rwsem.h"
667struct rw_semaphore;
668# 20 "include/linux/rwsem.h"
669struct rw_semaphore;
670# 26 "include/linux/rwsem.h"
671struct rw_semaphore {
672 long count ;
673 spinlock_t wait_lock ;
674 struct list_head wait_list ;
675 struct lockdep_map dep_map ;
676};
677# 50 "include/linux/notifier.h"
678struct notifier_block {
679 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
680 struct notifier_block *next ;
681 int priority ;
682};
683# 8 "include/linux/memory_hotplug.h"
684struct page;
685# 177 "include/linux/ioport.h"
686struct device;
687# 177 "include/linux/ioport.h"
688struct device;
689# 177 "include/linux/ioport.h"
690struct device;
691# 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
692struct device;
693# 46 "include/linux/ktime.h"
694union ktime {
695 s64 tv64 ;
696};
697# 59 "include/linux/ktime.h"
698typedef union ktime ktime_t;
699# 10 "include/linux/timer.h"
700struct tvec_base;
701# 10 "include/linux/timer.h"
702struct tvec_base;
703# 10 "include/linux/timer.h"
704struct tvec_base;
705# 12 "include/linux/timer.h"
706struct timer_list {
707 struct list_head entry ;
708 unsigned long expires ;
709 struct tvec_base *base ;
710 void (*function)(unsigned long ) ;
711 unsigned long data ;
712 int slack ;
713 int start_pid ;
714 void *start_site ;
715 char start_comm[16] ;
716 struct lockdep_map lockdep_map ;
717};
718# 289 "include/linux/timer.h"
719struct hrtimer;
720# 289 "include/linux/timer.h"
721struct hrtimer;
722# 289 "include/linux/timer.h"
723struct hrtimer;
724# 290 "include/linux/timer.h"
725enum hrtimer_restart;
726# 290 "include/linux/timer.h"
727enum hrtimer_restart;
728# 15 "include/linux/workqueue.h"
729struct workqueue_struct;
730# 15 "include/linux/workqueue.h"
731struct workqueue_struct;
732# 15 "include/linux/workqueue.h"
733struct workqueue_struct;
734# 17 "include/linux/workqueue.h"
735struct work_struct;
736# 17 "include/linux/workqueue.h"
737struct work_struct;
738# 17 "include/linux/workqueue.h"
739struct work_struct;
740# 79 "include/linux/workqueue.h"
741struct work_struct {
742 atomic_long_t data ;
743 struct list_head entry ;
744 void (*func)(struct work_struct *work ) ;
745 struct lockdep_map lockdep_map ;
746};
747# 92 "include/linux/workqueue.h"
748struct delayed_work {
749 struct work_struct work ;
750 struct timer_list timer ;
751};
752# 25 "include/linux/completion.h"
753struct completion {
754 unsigned int done ;
755 wait_queue_head_t wait ;
756};
757# 42 "include/linux/pm.h"
758struct device;
759# 50 "include/linux/pm.h"
760struct pm_message {
761 int event ;
762};
763# 50 "include/linux/pm.h"
764typedef struct pm_message pm_message_t;
765# 204 "include/linux/pm.h"
766struct dev_pm_ops {
767 int (*prepare)(struct device *dev ) ;
768 void (*complete)(struct device *dev ) ;
769 int (*suspend)(struct device *dev ) ;
770 int (*resume)(struct device *dev ) ;
771 int (*freeze)(struct device *dev ) ;
772 int (*thaw)(struct device *dev ) ;
773 int (*poweroff)(struct device *dev ) ;
774 int (*restore)(struct device *dev ) ;
775 int (*suspend_noirq)(struct device *dev ) ;
776 int (*resume_noirq)(struct device *dev ) ;
777 int (*freeze_noirq)(struct device *dev ) ;
778 int (*thaw_noirq)(struct device *dev ) ;
779 int (*poweroff_noirq)(struct device *dev ) ;
780 int (*restore_noirq)(struct device *dev ) ;
781 int (*runtime_suspend)(struct device *dev ) ;
782 int (*runtime_resume)(struct device *dev ) ;
783 int (*runtime_idle)(struct device *dev ) ;
784};
785# 392 "include/linux/pm.h"
786enum rpm_status {
787 RPM_ACTIVE = 0,
788 RPM_RESUMING = 1,
789 RPM_SUSPENDED = 2,
790 RPM_SUSPENDING = 3
791} ;
792# 414 "include/linux/pm.h"
793enum rpm_request {
794 RPM_REQ_NONE = 0,
795 RPM_REQ_IDLE = 1,
796 RPM_REQ_SUSPEND = 2,
797 RPM_REQ_AUTOSUSPEND = 3,
798 RPM_REQ_RESUME = 4
799} ;
800# 422 "include/linux/pm.h"
801struct wakeup_source;
802# 422 "include/linux/pm.h"
803struct wakeup_source;
804# 422 "include/linux/pm.h"
805struct wakeup_source;
806# 424 "include/linux/pm.h"
807struct dev_pm_info {
808 pm_message_t power_state ;
809 unsigned int can_wakeup : 1 ;
810 unsigned int async_suspend : 1 ;
811 bool is_prepared : 1 ;
812 bool is_suspended : 1 ;
813 spinlock_t lock ;
814 struct list_head entry ;
815 struct completion completion ;
816 struct wakeup_source *wakeup ;
817 struct timer_list suspend_timer ;
818 unsigned long timer_expires ;
819 struct work_struct work ;
820 wait_queue_head_t wait_queue ;
821 atomic_t usage_count ;
822 atomic_t child_count ;
823 unsigned int disable_depth : 3 ;
824 unsigned int ignore_children : 1 ;
825 unsigned int idle_notification : 1 ;
826 unsigned int request_pending : 1 ;
827 unsigned int deferred_resume : 1 ;
828 unsigned int run_wake : 1 ;
829 unsigned int runtime_auto : 1 ;
830 unsigned int no_callbacks : 1 ;
831 unsigned int irq_safe : 1 ;
832 unsigned int use_autosuspend : 1 ;
833 unsigned int timer_autosuspends : 1 ;
834 enum rpm_request request ;
835 enum rpm_status runtime_status ;
836 int runtime_error ;
837 int autosuspend_delay ;
838 unsigned long last_busy ;
839 unsigned long active_jiffies ;
840 unsigned long suspended_jiffies ;
841 unsigned long accounting_timestamp ;
842 void *subsys_data ;
843};
844# 475 "include/linux/pm.h"
845struct dev_power_domain {
846 struct dev_pm_ops ops ;
847};
848# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
849struct __anonstruct_mm_context_t_111 {
850 void *ldt ;
851 int size ;
852 unsigned short ia32_compat ;
853 struct mutex lock ;
854 void *vdso ;
855};
856# 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
857typedef struct __anonstruct_mm_context_t_111 mm_context_t;
858# 8 "include/linux/vmalloc.h"
859struct vm_area_struct;
860# 8 "include/linux/vmalloc.h"
861struct vm_area_struct;
862# 8 "include/linux/vmalloc.h"
863struct vm_area_struct;
864# 964 "include/linux/mmzone.h"
865struct page;
866# 10 "include/linux/gfp.h"
867struct vm_area_struct;
868# 29 "include/linux/sysctl.h"
869struct completion;
870# 72 "include/linux/rcupdate.h"
871struct rcu_head {
872 struct rcu_head *next ;
873 void (*func)(struct rcu_head *head ) ;
874};
875# 136 "include/linux/rcupdate.h"
876struct notifier_block;
877# 937 "include/linux/sysctl.h"
878struct nsproxy;
879# 937 "include/linux/sysctl.h"
880struct nsproxy;
881# 937 "include/linux/sysctl.h"
882struct nsproxy;
883# 48 "include/linux/kmod.h"
884struct cred;
885# 48 "include/linux/kmod.h"
886struct cred;
887# 48 "include/linux/kmod.h"
888struct cred;
889# 49 "include/linux/kmod.h"
890struct file;
891# 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
892struct task_struct;
893# 10 "include/linux/elf.h"
894struct file;
895# 27 "include/linux/elf.h"
896typedef __u64 Elf64_Addr;
897# 28 "include/linux/elf.h"
898typedef __u16 Elf64_Half;
899# 32 "include/linux/elf.h"
900typedef __u32 Elf64_Word;
901# 33 "include/linux/elf.h"
902typedef __u64 Elf64_Xword;
903# 203 "include/linux/elf.h"
904struct elf64_sym {
905 Elf64_Word st_name ;
906 unsigned char st_info ;
907 unsigned char st_other ;
908 Elf64_Half st_shndx ;
909 Elf64_Addr st_value ;
910 Elf64_Xword st_size ;
911};
912# 203 "include/linux/elf.h"
913typedef struct elf64_sym Elf64_Sym;
914# 20 "include/linux/kobject_ns.h"
915struct sock;
916# 20 "include/linux/kobject_ns.h"
917struct sock;
918# 20 "include/linux/kobject_ns.h"
919struct sock;
920# 21 "include/linux/kobject_ns.h"
921struct kobject;
922# 21 "include/linux/kobject_ns.h"
923struct kobject;
924# 21 "include/linux/kobject_ns.h"
925struct kobject;
926# 27 "include/linux/kobject_ns.h"
927enum kobj_ns_type {
928 KOBJ_NS_TYPE_NONE = 0,
929 KOBJ_NS_TYPE_NET = 1,
930 KOBJ_NS_TYPES = 2
931} ;
932# 40 "include/linux/kobject_ns.h"
933struct kobj_ns_type_operations {
934 enum kobj_ns_type type ;
935 void *(*grab_current_ns)(void) ;
936 void const *(*netlink_ns)(struct sock *sk ) ;
937 void const *(*initial_ns)(void) ;
938 void (*drop_ns)(void * ) ;
939};
940# 22 "include/linux/sysfs.h"
941struct kobject;
942# 23 "include/linux/sysfs.h"
943struct module;
944# 24 "include/linux/sysfs.h"
945enum kobj_ns_type;
946# 26 "include/linux/sysfs.h"
947struct attribute {
948 char const *name ;
949 mode_t mode ;
950 struct lock_class_key *key ;
951 struct lock_class_key skey ;
952};
953# 56 "include/linux/sysfs.h"
954struct attribute_group {
955 char const *name ;
956 mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
957 struct attribute **attrs ;
958};
959# 85 "include/linux/sysfs.h"
960struct file;
961# 86 "include/linux/sysfs.h"
962struct vm_area_struct;
963# 88 "include/linux/sysfs.h"
964struct bin_attribute {
965 struct attribute attr ;
966 size_t size ;
967 void *private ;
968 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
969 loff_t , size_t ) ;
970 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
971 loff_t , size_t ) ;
972 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
973};
974# 112 "include/linux/sysfs.h"
975struct sysfs_ops {
976 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
977 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
978};
979# 117 "include/linux/sysfs.h"
980struct sysfs_dirent;
981# 117 "include/linux/sysfs.h"
982struct sysfs_dirent;
983# 117 "include/linux/sysfs.h"
984struct sysfs_dirent;
985# 20 "include/linux/kref.h"
986struct kref {
987 atomic_t refcount ;
988};
989# 60 "include/linux/kobject.h"
990struct kset;
991# 60 "include/linux/kobject.h"
992struct kset;
993# 60 "include/linux/kobject.h"
994struct kobj_type;
995# 60 "include/linux/kobject.h"
996struct kobj_type;
997# 60 "include/linux/kobject.h"
998struct kobject {
999 char const *name ;
1000 struct list_head entry ;
1001 struct kobject *parent ;
1002 struct kset *kset ;
1003 struct kobj_type *ktype ;
1004 struct sysfs_dirent *sd ;
1005 struct kref kref ;
1006 unsigned int state_initialized : 1 ;
1007 unsigned int state_in_sysfs : 1 ;
1008 unsigned int state_add_uevent_sent : 1 ;
1009 unsigned int state_remove_uevent_sent : 1 ;
1010 unsigned int uevent_suppress : 1 ;
1011};
1012# 110 "include/linux/kobject.h"
1013struct kobj_type {
1014 void (*release)(struct kobject *kobj ) ;
1015 struct sysfs_ops const *sysfs_ops ;
1016 struct attribute **default_attrs ;
1017 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
1018 void const *(*namespace)(struct kobject *kobj ) ;
1019};
1020# 118 "include/linux/kobject.h"
1021struct kobj_uevent_env {
1022 char *envp[32] ;
1023 int envp_idx ;
1024 char buf[2048] ;
1025 int buflen ;
1026};
1027# 125 "include/linux/kobject.h"
1028struct kset_uevent_ops {
1029 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1030 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1031 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1032};
1033# 142 "include/linux/kobject.h"
1034struct sock;
1035# 161 "include/linux/kobject.h"
1036struct kset {
1037 struct list_head list ;
1038 spinlock_t list_lock ;
1039 struct kobject kobj ;
1040 struct kset_uevent_ops const *uevent_ops ;
1041};
1042# 34 "include/linux/moduleparam.h"
1043struct kernel_param;
1044# 34 "include/linux/moduleparam.h"
1045struct kernel_param;
1046# 34 "include/linux/moduleparam.h"
1047struct kernel_param;
1048# 36 "include/linux/moduleparam.h"
1049struct kernel_param_ops {
1050 int (*set)(char const *val , struct kernel_param const *kp ) ;
1051 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1052 void (*free)(void *arg ) ;
1053};
1054# 48 "include/linux/moduleparam.h"
1055struct kparam_string;
1056# 48 "include/linux/moduleparam.h"
1057struct kparam_string;
1058# 48 "include/linux/moduleparam.h"
1059struct kparam_array;
1060# 48 "include/linux/moduleparam.h"
1061struct kparam_array;
1062# 48 "include/linux/moduleparam.h"
1063union __anonunion____missing_field_name_195 {
1064 void *arg ;
1065 struct kparam_string const *str ;
1066 struct kparam_array const *arr ;
1067};
1068# 48 "include/linux/moduleparam.h"
1069struct kernel_param {
1070 char const *name ;
1071 struct kernel_param_ops const *ops ;
1072 u16 perm ;
1073 u16 flags ;
1074 union __anonunion____missing_field_name_195 __annonCompField31 ;
1075};
1076# 61 "include/linux/moduleparam.h"
1077struct kparam_string {
1078 unsigned int maxlen ;
1079 char *string ;
1080};
1081# 67 "include/linux/moduleparam.h"
1082struct kparam_array {
1083 unsigned int max ;
1084 unsigned int elemsize ;
1085 unsigned int *num ;
1086 struct kernel_param_ops const *ops ;
1087 void *elem ;
1088};
1089# 391 "include/linux/moduleparam.h"
1090struct module;
1091# 26 "include/linux/jump_label.h"
1092struct module;
1093# 61 "include/linux/jump_label.h"
1094struct jump_label_key {
1095 atomic_t enabled ;
1096};
1097# 22 "include/linux/tracepoint.h"
1098struct module;
1099# 23 "include/linux/tracepoint.h"
1100struct tracepoint;
1101# 23 "include/linux/tracepoint.h"
1102struct tracepoint;
1103# 23 "include/linux/tracepoint.h"
1104struct tracepoint;
1105# 25 "include/linux/tracepoint.h"
1106struct tracepoint_func {
1107 void *func ;
1108 void *data ;
1109};
1110# 30 "include/linux/tracepoint.h"
1111struct tracepoint {
1112 char const *name ;
1113 struct jump_label_key key ;
1114 void (*regfunc)(void) ;
1115 void (*unregfunc)(void) ;
1116 struct tracepoint_func *funcs ;
1117};
1118# 8 "include/asm-generic/module.h"
1119struct mod_arch_specific {
1120
1121};
1122# 21 "include/trace/events/module.h"
1123struct module;
1124# 37 "include/linux/module.h"
1125struct kernel_symbol {
1126 unsigned long value ;
1127 char const *name ;
1128};
1129# 49 "include/linux/module.h"
1130struct module;
1131# 51 "include/linux/module.h"
1132struct module_attribute {
1133 struct attribute attr ;
1134 ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1135 ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1136 size_t count ) ;
1137 void (*setup)(struct module * , char const * ) ;
1138 int (*test)(struct module * ) ;
1139 void (*free)(struct module * ) ;
1140};
1141# 70 "include/linux/module.h"
1142struct module_param_attrs;
1143# 70 "include/linux/module.h"
1144struct module_param_attrs;
1145# 70 "include/linux/module.h"
1146struct module_kobject {
1147 struct kobject kobj ;
1148 struct module *mod ;
1149 struct kobject *drivers_dir ;
1150 struct module_param_attrs *mp ;
1151};
1152# 83 "include/linux/module.h"
1153struct exception_table_entry;
1154# 83 "include/linux/module.h"
1155struct exception_table_entry;
1156# 83 "include/linux/module.h"
1157struct exception_table_entry;
1158# 202 "include/linux/module.h"
1159struct notifier_block;
1160# 265 "include/linux/module.h"
1161enum module_state {
1162 MODULE_STATE_LIVE = 0,
1163 MODULE_STATE_COMING = 1,
1164 MODULE_STATE_GOING = 2
1165} ;
1166# 272 "include/linux/module.h"
1167struct module_sect_attrs;
1168# 272 "include/linux/module.h"
1169struct module_sect_attrs;
1170# 272 "include/linux/module.h"
1171struct module_notes_attrs;
1172# 272 "include/linux/module.h"
1173struct module_notes_attrs;
1174# 272 "include/linux/module.h"
1175struct ftrace_event_call;
1176# 272 "include/linux/module.h"
1177struct ftrace_event_call;
1178# 272 "include/linux/module.h"
1179struct module_ref {
1180 unsigned int incs ;
1181 unsigned int decs ;
1182};
1183# 272 "include/linux/module.h"
1184struct module {
1185 enum module_state state ;
1186 struct list_head list ;
1187 char name[64UL - sizeof(unsigned long )] ;
1188 struct module_kobject mkobj ;
1189 struct module_attribute *modinfo_attrs ;
1190 char const *version ;
1191 char const *srcversion ;
1192 struct kobject *holders_dir ;
1193 struct kernel_symbol const *syms ;
1194 unsigned long const *crcs ;
1195 unsigned int num_syms ;
1196 struct kernel_param *kp ;
1197 unsigned int num_kp ;
1198 unsigned int num_gpl_syms ;
1199 struct kernel_symbol const *gpl_syms ;
1200 unsigned long const *gpl_crcs ;
1201 struct kernel_symbol const *unused_syms ;
1202 unsigned long const *unused_crcs ;
1203 unsigned int num_unused_syms ;
1204 unsigned int num_unused_gpl_syms ;
1205 struct kernel_symbol const *unused_gpl_syms ;
1206 unsigned long const *unused_gpl_crcs ;
1207 struct kernel_symbol const *gpl_future_syms ;
1208 unsigned long const *gpl_future_crcs ;
1209 unsigned int num_gpl_future_syms ;
1210 unsigned int num_exentries ;
1211 struct exception_table_entry *extable ;
1212 int (*init)(void) ;
1213 void *module_init ;
1214 void *module_core ;
1215 unsigned int init_size ;
1216 unsigned int core_size ;
1217 unsigned int init_text_size ;
1218 unsigned int core_text_size ;
1219 unsigned int init_ro_size ;
1220 unsigned int core_ro_size ;
1221 struct mod_arch_specific arch ;
1222 unsigned int taints ;
1223 unsigned int num_bugs ;
1224 struct list_head bug_list ;
1225 struct bug_entry *bug_table ;
1226 Elf64_Sym *symtab ;
1227 Elf64_Sym *core_symtab ;
1228 unsigned int num_symtab ;
1229 unsigned int core_num_syms ;
1230 char *strtab ;
1231 char *core_strtab ;
1232 struct module_sect_attrs *sect_attrs ;
1233 struct module_notes_attrs *notes_attrs ;
1234 char *args ;
1235 void *percpu ;
1236 unsigned int percpu_size ;
1237 unsigned int num_tracepoints ;
1238 struct tracepoint * const *tracepoints_ptrs ;
1239 unsigned int num_trace_bprintk_fmt ;
1240 char const **trace_bprintk_fmt_start ;
1241 struct ftrace_event_call **trace_events ;
1242 unsigned int num_trace_events ;
1243 unsigned int num_ftrace_callsites ;
1244 unsigned long *ftrace_callsites ;
1245 struct list_head source_list ;
1246 struct list_head target_list ;
1247 struct task_struct *waiter ;
1248 void (*exit)(void) ;
1249 struct module_ref *refptr ;
1250 ctor_fn_t *ctors ;
1251 unsigned int num_ctors ;
1252};
1253# 323 "include/linux/hdreg.h"
1254struct hd_geometry {
1255 unsigned char heads ;
1256 unsigned char sectors ;
1257 unsigned short cylinders ;
1258 unsigned long start ;
1259};
1260# 18 "include/linux/capability.h"
1261struct task_struct;
1262# 94 "include/linux/capability.h"
1263struct kernel_cap_struct {
1264 __u32 cap[2] ;
1265};
1266# 94 "include/linux/capability.h"
1267typedef struct kernel_cap_struct kernel_cap_t;
1268# 376 "include/linux/capability.h"
1269struct dentry;
1270# 376 "include/linux/capability.h"
1271struct dentry;
1272# 376 "include/linux/capability.h"
1273struct dentry;
1274# 377 "include/linux/capability.h"
1275struct user_namespace;
1276# 377 "include/linux/capability.h"
1277struct user_namespace;
1278# 377 "include/linux/capability.h"
1279struct user_namespace;
1280# 100 "include/linux/rbtree.h"
1281struct rb_node {
1282 unsigned long rb_parent_color ;
1283 struct rb_node *rb_right ;
1284 struct rb_node *rb_left ;
1285} __attribute__((__aligned__(sizeof(long )))) ;
1286# 110 "include/linux/rbtree.h"
1287struct rb_root {
1288 struct rb_node *rb_node ;
1289};
1290# 14 "include/linux/prio_tree.h"
1291struct prio_tree_node;
1292# 14 "include/linux/prio_tree.h"
1293struct prio_tree_node;
1294# 14 "include/linux/prio_tree.h"
1295struct raw_prio_tree_node {
1296 struct prio_tree_node *left ;
1297 struct prio_tree_node *right ;
1298 struct prio_tree_node *parent ;
1299};
1300# 20 "include/linux/prio_tree.h"
1301struct prio_tree_node {
1302 struct prio_tree_node *left ;
1303 struct prio_tree_node *right ;
1304 struct prio_tree_node *parent ;
1305 unsigned long start ;
1306 unsigned long last ;
1307};
1308# 28 "include/linux/prio_tree.h"
1309struct prio_tree_root {
1310 struct prio_tree_node *prio_tree_node ;
1311 unsigned short index_bits ;
1312 unsigned short raw ;
1313};
1314# 23 "include/linux/mm_types.h"
1315struct address_space;
1316# 23 "include/linux/mm_types.h"
1317struct address_space;
1318# 23 "include/linux/mm_types.h"
1319struct address_space;
1320# 34 "include/linux/mm_types.h"
1321struct __anonstruct____missing_field_name_201 {
1322 u16 inuse ;
1323 u16 objects ;
1324};
1325# 34 "include/linux/mm_types.h"
1326union __anonunion____missing_field_name_200 {
1327 atomic_t _mapcount ;
1328 struct __anonstruct____missing_field_name_201 __annonCompField32 ;
1329};
1330# 34 "include/linux/mm_types.h"
1331struct __anonstruct____missing_field_name_203 {
1332 unsigned long private ;
1333 struct address_space *mapping ;
1334};
1335# 34 "include/linux/mm_types.h"
1336union __anonunion____missing_field_name_202 {
1337 struct __anonstruct____missing_field_name_203 __annonCompField34 ;
1338 struct kmem_cache *slab ;
1339 struct page *first_page ;
1340};
1341# 34 "include/linux/mm_types.h"
1342union __anonunion____missing_field_name_204 {
1343 unsigned long index ;
1344 void *freelist ;
1345};
1346# 34 "include/linux/mm_types.h"
1347struct page {
1348 unsigned long flags ;
1349 atomic_t _count ;
1350 union __anonunion____missing_field_name_200 __annonCompField33 ;
1351 union __anonunion____missing_field_name_202 __annonCompField35 ;
1352 union __anonunion____missing_field_name_204 __annonCompField36 ;
1353 struct list_head lru ;
1354};
1355# 132 "include/linux/mm_types.h"
1356struct __anonstruct_vm_set_206 {
1357 struct list_head list ;
1358 void *parent ;
1359 struct vm_area_struct *head ;
1360};
1361# 132 "include/linux/mm_types.h"
1362union __anonunion_shared_205 {
1363 struct __anonstruct_vm_set_206 vm_set ;
1364 struct raw_prio_tree_node prio_tree_node ;
1365};
1366# 132 "include/linux/mm_types.h"
1367struct anon_vma;
1368# 132 "include/linux/mm_types.h"
1369struct anon_vma;
1370# 132 "include/linux/mm_types.h"
1371struct vm_operations_struct;
1372# 132 "include/linux/mm_types.h"
1373struct vm_operations_struct;
1374# 132 "include/linux/mm_types.h"
1375struct mempolicy;
1376# 132 "include/linux/mm_types.h"
1377struct mempolicy;
1378# 132 "include/linux/mm_types.h"
1379struct vm_area_struct {
1380 struct mm_struct *vm_mm ;
1381 unsigned long vm_start ;
1382 unsigned long vm_end ;
1383 struct vm_area_struct *vm_next ;
1384 struct vm_area_struct *vm_prev ;
1385 pgprot_t vm_page_prot ;
1386 unsigned long vm_flags ;
1387 struct rb_node vm_rb ;
1388 union __anonunion_shared_205 shared ;
1389 struct list_head anon_vma_chain ;
1390 struct anon_vma *anon_vma ;
1391 struct vm_operations_struct const *vm_ops ;
1392 unsigned long vm_pgoff ;
1393 struct file *vm_file ;
1394 void *vm_private_data ;
1395 struct mempolicy *vm_policy ;
1396};
1397# 189 "include/linux/mm_types.h"
1398struct core_thread {
1399 struct task_struct *task ;
1400 struct core_thread *next ;
1401};
1402# 194 "include/linux/mm_types.h"
1403struct core_state {
1404 atomic_t nr_threads ;
1405 struct core_thread dumper ;
1406 struct completion startup ;
1407};
1408# 216 "include/linux/mm_types.h"
1409struct mm_rss_stat {
1410 atomic_long_t count[3] ;
1411};
1412# 220 "include/linux/mm_types.h"
1413struct linux_binfmt;
1414# 220 "include/linux/mm_types.h"
1415struct linux_binfmt;
1416# 220 "include/linux/mm_types.h"
1417struct mmu_notifier_mm;
1418# 220 "include/linux/mm_types.h"
1419struct mmu_notifier_mm;
1420# 220 "include/linux/mm_types.h"
1421struct mm_struct {
1422 struct vm_area_struct *mmap ;
1423 struct rb_root mm_rb ;
1424 struct vm_area_struct *mmap_cache ;
1425 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1426 unsigned long pgoff , unsigned long flags ) ;
1427 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1428 unsigned long mmap_base ;
1429 unsigned long task_size ;
1430 unsigned long cached_hole_size ;
1431 unsigned long free_area_cache ;
1432 pgd_t *pgd ;
1433 atomic_t mm_users ;
1434 atomic_t mm_count ;
1435 int map_count ;
1436 spinlock_t page_table_lock ;
1437 struct rw_semaphore mmap_sem ;
1438 struct list_head mmlist ;
1439 unsigned long hiwater_rss ;
1440 unsigned long hiwater_vm ;
1441 unsigned long total_vm ;
1442 unsigned long locked_vm ;
1443 unsigned long shared_vm ;
1444 unsigned long exec_vm ;
1445 unsigned long stack_vm ;
1446 unsigned long reserved_vm ;
1447 unsigned long def_flags ;
1448 unsigned long nr_ptes ;
1449 unsigned long start_code ;
1450 unsigned long end_code ;
1451 unsigned long start_data ;
1452 unsigned long end_data ;
1453 unsigned long start_brk ;
1454 unsigned long brk ;
1455 unsigned long start_stack ;
1456 unsigned long arg_start ;
1457 unsigned long arg_end ;
1458 unsigned long env_start ;
1459 unsigned long env_end ;
1460 unsigned long saved_auxv[44] ;
1461 struct mm_rss_stat rss_stat ;
1462 struct linux_binfmt *binfmt ;
1463 cpumask_var_t cpu_vm_mask_var ;
1464 mm_context_t context ;
1465 unsigned int faultstamp ;
1466 unsigned int token_priority ;
1467 unsigned int last_interval ;
1468 atomic_t oom_disable_count ;
1469 unsigned long flags ;
1470 struct core_state *core_state ;
1471 spinlock_t ioctx_lock ;
1472 struct hlist_head ioctx_list ;
1473 struct task_struct *owner ;
1474 struct file *exe_file ;
1475 unsigned long num_exe_file_vmas ;
1476 struct mmu_notifier_mm *mmu_notifier_mm ;
1477 pgtable_t pmd_huge_pte ;
1478 struct cpumask cpumask_allocation ;
1479};
1480# 7 "include/asm-generic/cputime.h"
1481typedef unsigned long cputime_t;
1482# 84 "include/linux/sem.h"
1483struct task_struct;
1484# 122 "include/linux/sem.h"
1485struct sem_undo_list;
1486# 122 "include/linux/sem.h"
1487struct sem_undo_list;
1488# 135 "include/linux/sem.h"
1489struct sem_undo_list {
1490 atomic_t refcnt ;
1491 spinlock_t lock ;
1492 struct list_head list_proc ;
1493};
1494# 141 "include/linux/sem.h"
1495struct sysv_sem {
1496 struct sem_undo_list *undo_list ;
1497};
1498# 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1499struct siginfo;
1500# 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1501struct siginfo;
1502# 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1503struct siginfo;
1504# 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1505struct __anonstruct_sigset_t_208 {
1506 unsigned long sig[1] ;
1507};
1508# 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1509typedef struct __anonstruct_sigset_t_208 sigset_t;
1510# 17 "include/asm-generic/signal-defs.h"
1511typedef void __signalfn_t(int );
1512# 18 "include/asm-generic/signal-defs.h"
1513typedef __signalfn_t *__sighandler_t;
1514# 20 "include/asm-generic/signal-defs.h"
1515typedef void __restorefn_t(void);
1516# 21 "include/asm-generic/signal-defs.h"
1517typedef __restorefn_t *__sigrestore_t;
1518# 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1519struct sigaction {
1520 __sighandler_t sa_handler ;
1521 unsigned long sa_flags ;
1522 __sigrestore_t sa_restorer ;
1523 sigset_t sa_mask ;
1524};
1525# 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
1526struct k_sigaction {
1527 struct sigaction sa ;
1528};
1529# 7 "include/asm-generic/siginfo.h"
1530union sigval {
1531 int sival_int ;
1532 void *sival_ptr ;
1533};
1534# 7 "include/asm-generic/siginfo.h"
1535typedef union sigval sigval_t;
1536# 40 "include/asm-generic/siginfo.h"
1537struct __anonstruct__kill_210 {
1538 __kernel_pid_t _pid ;
1539 __kernel_uid32_t _uid ;
1540};
1541# 40 "include/asm-generic/siginfo.h"
1542struct __anonstruct__timer_211 {
1543 __kernel_timer_t _tid ;
1544 int _overrun ;
1545 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1546 sigval_t _sigval ;
1547 int _sys_private ;
1548};
1549# 40 "include/asm-generic/siginfo.h"
1550struct __anonstruct__rt_212 {
1551 __kernel_pid_t _pid ;
1552 __kernel_uid32_t _uid ;
1553 sigval_t _sigval ;
1554};
1555# 40 "include/asm-generic/siginfo.h"
1556struct __anonstruct__sigchld_213 {
1557 __kernel_pid_t _pid ;
1558 __kernel_uid32_t _uid ;
1559 int _status ;
1560 __kernel_clock_t _utime ;
1561 __kernel_clock_t _stime ;
1562};
1563# 40 "include/asm-generic/siginfo.h"
1564struct __anonstruct__sigfault_214 {
1565 void *_addr ;
1566 short _addr_lsb ;
1567};
1568# 40 "include/asm-generic/siginfo.h"
1569struct __anonstruct__sigpoll_215 {
1570 long _band ;
1571 int _fd ;
1572};
1573# 40 "include/asm-generic/siginfo.h"
1574union __anonunion__sifields_209 {
1575 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1576 struct __anonstruct__kill_210 _kill ;
1577 struct __anonstruct__timer_211 _timer ;
1578 struct __anonstruct__rt_212 _rt ;
1579 struct __anonstruct__sigchld_213 _sigchld ;
1580 struct __anonstruct__sigfault_214 _sigfault ;
1581 struct __anonstruct__sigpoll_215 _sigpoll ;
1582};
1583# 40 "include/asm-generic/siginfo.h"
1584struct siginfo {
1585 int si_signo ;
1586 int si_errno ;
1587 int si_code ;
1588 union __anonunion__sifields_209 _sifields ;
1589};
1590# 40 "include/asm-generic/siginfo.h"
1591typedef struct siginfo siginfo_t;
1592# 280 "include/asm-generic/siginfo.h"
1593struct siginfo;
1594# 10 "include/linux/signal.h"
1595struct task_struct;
1596# 18 "include/linux/signal.h"
1597struct user_struct;
1598# 18 "include/linux/signal.h"
1599struct user_struct;
1600# 28 "include/linux/signal.h"
1601struct sigpending {
1602 struct list_head list ;
1603 sigset_t signal ;
1604};
1605# 239 "include/linux/signal.h"
1606struct timespec;
1607# 240 "include/linux/signal.h"
1608struct pt_regs;
1609# 6 "include/linux/pid.h"
1610enum pid_type {
1611 PIDTYPE_PID = 0,
1612 PIDTYPE_PGID = 1,
1613 PIDTYPE_SID = 2,
1614 PIDTYPE_MAX = 3
1615} ;
1616# 50 "include/linux/pid.h"
1617struct pid_namespace;
1618# 50 "include/linux/pid.h"
1619struct pid_namespace;
1620# 50 "include/linux/pid.h"
1621struct upid {
1622 int nr ;
1623 struct pid_namespace *ns ;
1624 struct hlist_node pid_chain ;
1625};
1626# 57 "include/linux/pid.h"
1627struct pid {
1628 atomic_t count ;
1629 unsigned int level ;
1630 struct hlist_head tasks[3] ;
1631 struct rcu_head rcu ;
1632 struct upid numbers[1] ;
1633};
1634# 69 "include/linux/pid.h"
1635struct pid_link {
1636 struct hlist_node node ;
1637 struct pid *pid ;
1638};
1639# 100 "include/linux/pid.h"
1640struct pid_namespace;
1641# 97 "include/linux/proportions.h"
1642struct prop_local_single {
1643 unsigned long events ;
1644 unsigned long period ;
1645 int shift ;
1646 spinlock_t lock ;
1647};
1648# 10 "include/linux/seccomp.h"
1649struct __anonstruct_seccomp_t_218 {
1650 int mode ;
1651};
1652# 10 "include/linux/seccomp.h"
1653typedef struct __anonstruct_seccomp_t_218 seccomp_t;
1654# 82 "include/linux/plist.h"
1655struct plist_head {
1656 struct list_head node_list ;
1657 raw_spinlock_t *rawlock ;
1658 spinlock_t *spinlock ;
1659};
1660# 90 "include/linux/plist.h"
1661struct plist_node {
1662 int prio ;
1663 struct list_head prio_list ;
1664 struct list_head node_list ;
1665};
1666# 40 "include/linux/rtmutex.h"
1667struct rt_mutex_waiter;
1668# 40 "include/linux/rtmutex.h"
1669struct rt_mutex_waiter;
1670# 40 "include/linux/rtmutex.h"
1671struct rt_mutex_waiter;
1672# 42 "include/linux/resource.h"
1673struct rlimit {
1674 unsigned long rlim_cur ;
1675 unsigned long rlim_max ;
1676};
1677# 81 "include/linux/resource.h"
1678struct task_struct;
1679# 8 "include/linux/timerqueue.h"
1680struct timerqueue_node {
1681 struct rb_node node ;
1682 ktime_t expires ;
1683};
1684# 13 "include/linux/timerqueue.h"
1685struct timerqueue_head {
1686 struct rb_root head ;
1687 struct timerqueue_node *next ;
1688};
1689# 27 "include/linux/hrtimer.h"
1690struct hrtimer_clock_base;
1691# 27 "include/linux/hrtimer.h"
1692struct hrtimer_clock_base;
1693# 27 "include/linux/hrtimer.h"
1694struct hrtimer_clock_base;
1695# 28 "include/linux/hrtimer.h"
1696struct hrtimer_cpu_base;
1697# 28 "include/linux/hrtimer.h"
1698struct hrtimer_cpu_base;
1699# 28 "include/linux/hrtimer.h"
1700struct hrtimer_cpu_base;
1701# 44 "include/linux/hrtimer.h"
1702enum hrtimer_restart {
1703 HRTIMER_NORESTART = 0,
1704 HRTIMER_RESTART = 1
1705} ;
1706# 108 "include/linux/hrtimer.h"
1707struct hrtimer {
1708 struct timerqueue_node node ;
1709 ktime_t _softexpires ;
1710 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1711 struct hrtimer_clock_base *base ;
1712 unsigned long state ;
1713 int start_pid ;
1714 void *start_site ;
1715 char start_comm[16] ;
1716};
1717# 145 "include/linux/hrtimer.h"
1718struct hrtimer_clock_base {
1719 struct hrtimer_cpu_base *cpu_base ;
1720 int index ;
1721 clockid_t clockid ;
1722 struct timerqueue_head active ;
1723 ktime_t resolution ;
1724 ktime_t (*get_time)(void) ;
1725 ktime_t softirq_time ;
1726 ktime_t offset ;
1727};
1728# 178 "include/linux/hrtimer.h"
1729struct hrtimer_cpu_base {
1730 raw_spinlock_t lock ;
1731 unsigned long active_bases ;
1732 ktime_t expires_next ;
1733 int hres_active ;
1734 int hang_detected ;
1735 unsigned long nr_events ;
1736 unsigned long nr_retries ;
1737 unsigned long nr_hangs ;
1738 ktime_t max_hang_time ;
1739 struct hrtimer_clock_base clock_base[3] ;
1740};
1741# 11 "include/linux/task_io_accounting.h"
1742struct task_io_accounting {
1743 u64 rchar ;
1744 u64 wchar ;
1745 u64 syscr ;
1746 u64 syscw ;
1747 u64 read_bytes ;
1748 u64 write_bytes ;
1749 u64 cancelled_write_bytes ;
1750};
1751# 18 "include/linux/latencytop.h"
1752struct latency_record {
1753 unsigned long backtrace[12] ;
1754 unsigned int count ;
1755 unsigned long time ;
1756 unsigned long max ;
1757};
1758# 26 "include/linux/latencytop.h"
1759struct task_struct;
1760# 29 "include/linux/key.h"
1761typedef int32_t key_serial_t;
1762# 32 "include/linux/key.h"
1763typedef uint32_t key_perm_t;
1764# 34 "include/linux/key.h"
1765struct key;
1766# 34 "include/linux/key.h"
1767struct key;
1768# 34 "include/linux/key.h"
1769struct key;
1770# 74 "include/linux/key.h"
1771struct seq_file;
1772# 75 "include/linux/key.h"
1773struct user_struct;
1774# 76 "include/linux/key.h"
1775struct signal_struct;
1776# 76 "include/linux/key.h"
1777struct signal_struct;
1778# 76 "include/linux/key.h"
1779struct signal_struct;
1780# 77 "include/linux/key.h"
1781struct cred;
1782# 79 "include/linux/key.h"
1783struct key_type;
1784# 79 "include/linux/key.h"
1785struct key_type;
1786# 79 "include/linux/key.h"
1787struct key_type;
1788# 81 "include/linux/key.h"
1789struct keyring_list;
1790# 81 "include/linux/key.h"
1791struct keyring_list;
1792# 81 "include/linux/key.h"
1793struct keyring_list;
1794# 124 "include/linux/key.h"
1795struct key_user;
1796# 124 "include/linux/key.h"
1797struct key_user;
1798# 124 "include/linux/key.h"
1799union __anonunion____missing_field_name_219 {
1800 time_t expiry ;
1801 time_t revoked_at ;
1802};
1803# 124 "include/linux/key.h"
1804union __anonunion_type_data_220 {
1805 struct list_head link ;
1806 unsigned long x[2] ;
1807 void *p[2] ;
1808 int reject_error ;
1809};
1810# 124 "include/linux/key.h"
1811union __anonunion_payload_221 {
1812 unsigned long value ;
1813 void *rcudata ;
1814 void *data ;
1815 struct keyring_list *subscriptions ;
1816};
1817# 124 "include/linux/key.h"
1818struct key {
1819 atomic_t usage ;
1820 key_serial_t serial ;
1821 struct rb_node serial_node ;
1822 struct key_type *type ;
1823 struct rw_semaphore sem ;
1824 struct key_user *user ;
1825 void *security ;
1826 union __anonunion____missing_field_name_219 __annonCompField37 ;
1827 uid_t uid ;
1828 gid_t gid ;
1829 key_perm_t perm ;
1830 unsigned short quotalen ;
1831 unsigned short datalen ;
1832 unsigned long flags ;
1833 char *description ;
1834 union __anonunion_type_data_220 type_data ;
1835 union __anonunion_payload_221 payload ;
1836};
1837# 18 "include/linux/selinux.h"
1838struct audit_context;
1839# 18 "include/linux/selinux.h"
1840struct audit_context;
1841# 18 "include/linux/selinux.h"
1842struct audit_context;
1843# 21 "include/linux/cred.h"
1844struct user_struct;
1845# 22 "include/linux/cred.h"
1846struct cred;
1847# 23 "include/linux/cred.h"
1848struct inode;
1849# 23 "include/linux/cred.h"
1850struct inode;
1851# 23 "include/linux/cred.h"
1852struct inode;
1853# 31 "include/linux/cred.h"
1854struct group_info {
1855 atomic_t usage ;
1856 int ngroups ;
1857 int nblocks ;
1858 gid_t small_block[32] ;
1859 gid_t *blocks[0] ;
1860};
1861# 83 "include/linux/cred.h"
1862struct thread_group_cred {
1863 atomic_t usage ;
1864 pid_t tgid ;
1865 spinlock_t lock ;
1866 struct key *session_keyring ;
1867 struct key *process_keyring ;
1868 struct rcu_head rcu ;
1869};
1870# 116 "include/linux/cred.h"
1871struct cred {
1872 atomic_t usage ;
1873 atomic_t subscribers ;
1874 void *put_addr ;
1875 unsigned int magic ;
1876 uid_t uid ;
1877 gid_t gid ;
1878 uid_t suid ;
1879 gid_t sgid ;
1880 uid_t euid ;
1881 gid_t egid ;
1882 uid_t fsuid ;
1883 gid_t fsgid ;
1884 unsigned int securebits ;
1885 kernel_cap_t cap_inheritable ;
1886 kernel_cap_t cap_permitted ;
1887 kernel_cap_t cap_effective ;
1888 kernel_cap_t cap_bset ;
1889 unsigned char jit_keyring ;
1890 struct key *thread_keyring ;
1891 struct key *request_key_auth ;
1892 struct thread_group_cred *tgcred ;
1893 void *security ;
1894 struct user_struct *user ;
1895 struct user_namespace *user_ns ;
1896 struct group_info *group_info ;
1897 struct rcu_head rcu ;
1898};
1899# 97 "include/linux/sched.h"
1900struct futex_pi_state;
1901# 97 "include/linux/sched.h"
1902struct futex_pi_state;
1903# 97 "include/linux/sched.h"
1904struct futex_pi_state;
1905# 98 "include/linux/sched.h"
1906struct robust_list_head;
1907# 98 "include/linux/sched.h"
1908struct robust_list_head;
1909# 98 "include/linux/sched.h"
1910struct robust_list_head;
1911# 99 "include/linux/sched.h"
1912struct bio_list;
1913# 99 "include/linux/sched.h"
1914struct bio_list;
1915# 99 "include/linux/sched.h"
1916struct bio_list;
1917# 100 "include/linux/sched.h"
1918struct fs_struct;
1919# 100 "include/linux/sched.h"
1920struct fs_struct;
1921# 100 "include/linux/sched.h"
1922struct fs_struct;
1923# 101 "include/linux/sched.h"
1924struct perf_event_context;
1925# 101 "include/linux/sched.h"
1926struct perf_event_context;
1927# 101 "include/linux/sched.h"
1928struct perf_event_context;
1929# 102 "include/linux/sched.h"
1930struct blk_plug;
1931# 102 "include/linux/sched.h"
1932struct blk_plug;
1933# 102 "include/linux/sched.h"
1934struct blk_plug;
1935# 150 "include/linux/sched.h"
1936struct seq_file;
1937# 151 "include/linux/sched.h"
1938struct cfs_rq;
1939# 151 "include/linux/sched.h"
1940struct cfs_rq;
1941# 151 "include/linux/sched.h"
1942struct cfs_rq;
1943# 259 "include/linux/sched.h"
1944struct task_struct;
1945# 364 "include/linux/sched.h"
1946struct nsproxy;
1947# 365 "include/linux/sched.h"
1948struct user_namespace;
1949# 58 "include/linux/aio_abi.h"
1950struct io_event {
1951 __u64 data ;
1952 __u64 obj ;
1953 __s64 res ;
1954 __s64 res2 ;
1955};
1956# 16 "include/linux/uio.h"
1957struct iovec {
1958 void *iov_base ;
1959 __kernel_size_t iov_len ;
1960};
1961# 31 "include/linux/uio.h"
1962struct kvec {
1963 void *iov_base ;
1964 size_t iov_len ;
1965};
1966# 15 "include/linux/aio.h"
1967struct kioctx;
1968# 15 "include/linux/aio.h"
1969struct kioctx;
1970# 15 "include/linux/aio.h"
1971struct kioctx;
1972# 87 "include/linux/aio.h"
1973union __anonunion_ki_obj_223 {
1974 void *user ;
1975 struct task_struct *tsk ;
1976};
1977# 87 "include/linux/aio.h"
1978struct eventfd_ctx;
1979# 87 "include/linux/aio.h"
1980struct eventfd_ctx;
1981# 87 "include/linux/aio.h"
1982struct kiocb {
1983 struct list_head ki_run_list ;
1984 unsigned long ki_flags ;
1985 int ki_users ;
1986 unsigned int ki_key ;
1987 struct file *ki_filp ;
1988 struct kioctx *ki_ctx ;
1989 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
1990 ssize_t (*ki_retry)(struct kiocb * ) ;
1991 void (*ki_dtor)(struct kiocb * ) ;
1992 union __anonunion_ki_obj_223 ki_obj ;
1993 __u64 ki_user_data ;
1994 loff_t ki_pos ;
1995 void *private ;
1996 unsigned short ki_opcode ;
1997 size_t ki_nbytes ;
1998 char *ki_buf ;
1999 size_t ki_left ;
2000 struct iovec ki_inline_vec ;
2001 struct iovec *ki_iovec ;
2002 unsigned long ki_nr_segs ;
2003 unsigned long ki_cur_seg ;
2004 struct list_head ki_list ;
2005 struct eventfd_ctx *ki_eventfd ;
2006};
2007# 165 "include/linux/aio.h"
2008struct aio_ring_info {
2009 unsigned long mmap_base ;
2010 unsigned long mmap_size ;
2011 struct page **ring_pages ;
2012 spinlock_t ring_lock ;
2013 long nr_pages ;
2014 unsigned int nr ;
2015 unsigned int tail ;
2016 struct page *internal_pages[8] ;
2017};
2018# 178 "include/linux/aio.h"
2019struct kioctx {
2020 atomic_t users ;
2021 int dead ;
2022 struct mm_struct *mm ;
2023 unsigned long user_id ;
2024 struct hlist_node list ;
2025 wait_queue_head_t wait ;
2026 spinlock_t ctx_lock ;
2027 int reqs_active ;
2028 struct list_head active_reqs ;
2029 struct list_head run_list ;
2030 unsigned int max_reqs ;
2031 struct aio_ring_info ring_info ;
2032 struct delayed_work wq ;
2033 struct rcu_head rcu_head ;
2034};
2035# 213 "include/linux/aio.h"
2036struct mm_struct;
2037# 441 "include/linux/sched.h"
2038struct sighand_struct {
2039 atomic_t count ;
2040 struct k_sigaction action[64] ;
2041 spinlock_t siglock ;
2042 wait_queue_head_t signalfd_wqh ;
2043};
2044# 448 "include/linux/sched.h"
2045struct pacct_struct {
2046 int ac_flag ;
2047 long ac_exitcode ;
2048 unsigned long ac_mem ;
2049 cputime_t ac_utime ;
2050 cputime_t ac_stime ;
2051 unsigned long ac_minflt ;
2052 unsigned long ac_majflt ;
2053};
2054# 456 "include/linux/sched.h"
2055struct cpu_itimer {
2056 cputime_t expires ;
2057 cputime_t incr ;
2058 u32 error ;
2059 u32 incr_error ;
2060};
2061# 474 "include/linux/sched.h"
2062struct task_cputime {
2063 cputime_t utime ;
2064 cputime_t stime ;
2065 unsigned long long sum_exec_runtime ;
2066};
2067# 510 "include/linux/sched.h"
2068struct thread_group_cputimer {
2069 struct task_cputime cputime ;
2070 int running ;
2071 spinlock_t lock ;
2072};
2073# 517 "include/linux/sched.h"
2074struct autogroup;
2075# 517 "include/linux/sched.h"
2076struct autogroup;
2077# 517 "include/linux/sched.h"
2078struct autogroup;
2079# 526 "include/linux/sched.h"
2080struct tty_struct;
2081# 526 "include/linux/sched.h"
2082struct tty_struct;
2083# 526 "include/linux/sched.h"
2084struct taskstats;
2085# 526 "include/linux/sched.h"
2086struct taskstats;
2087# 526 "include/linux/sched.h"
2088struct tty_audit_buf;
2089# 526 "include/linux/sched.h"
2090struct tty_audit_buf;
2091# 526 "include/linux/sched.h"
2092struct signal_struct {
2093 atomic_t sigcnt ;
2094 atomic_t live ;
2095 int nr_threads ;
2096 wait_queue_head_t wait_chldexit ;
2097 struct task_struct *curr_target ;
2098 struct sigpending shared_pending ;
2099 int group_exit_code ;
2100 int notify_count ;
2101 struct task_struct *group_exit_task ;
2102 int group_stop_count ;
2103 unsigned int flags ;
2104 struct list_head posix_timers ;
2105 struct hrtimer real_timer ;
2106 struct pid *leader_pid ;
2107 ktime_t it_real_incr ;
2108 struct cpu_itimer it[2] ;
2109 struct thread_group_cputimer cputimer ;
2110 struct task_cputime cputime_expires ;
2111 struct list_head cpu_timers[3] ;
2112 struct pid *tty_old_pgrp ;
2113 int leader ;
2114 struct tty_struct *tty ;
2115 struct autogroup *autogroup ;
2116 cputime_t utime ;
2117 cputime_t stime ;
2118 cputime_t cutime ;
2119 cputime_t cstime ;
2120 cputime_t gtime ;
2121 cputime_t cgtime ;
2122 cputime_t prev_utime ;
2123 cputime_t prev_stime ;
2124 unsigned long nvcsw ;
2125 unsigned long nivcsw ;
2126 unsigned long cnvcsw ;
2127 unsigned long cnivcsw ;
2128 unsigned long min_flt ;
2129 unsigned long maj_flt ;
2130 unsigned long cmin_flt ;
2131 unsigned long cmaj_flt ;
2132 unsigned long inblock ;
2133 unsigned long oublock ;
2134 unsigned long cinblock ;
2135 unsigned long coublock ;
2136 unsigned long maxrss ;
2137 unsigned long cmaxrss ;
2138 struct task_io_accounting ioac ;
2139 unsigned long long sum_sched_runtime ;
2140 struct rlimit rlim[16] ;
2141 struct pacct_struct pacct ;
2142 struct taskstats *stats ;
2143 unsigned int audit_tty ;
2144 struct tty_audit_buf *tty_audit_buf ;
2145 struct rw_semaphore threadgroup_fork_lock ;
2146 int oom_adj ;
2147 int oom_score_adj ;
2148 int oom_score_adj_min ;
2149 struct mutex cred_guard_mutex ;
2150};
2151# 687 "include/linux/sched.h"
2152struct user_struct {
2153 atomic_t __count ;
2154 atomic_t processes ;
2155 atomic_t files ;
2156 atomic_t sigpending ;
2157 atomic_t inotify_watches ;
2158 atomic_t inotify_devs ;
2159 atomic_t fanotify_listeners ;
2160 atomic_long_t epoll_watches ;
2161 unsigned long mq_bytes ;
2162 unsigned long locked_shm ;
2163 struct key *uid_keyring ;
2164 struct key *session_keyring ;
2165 struct hlist_node uidhash_node ;
2166 uid_t uid ;
2167 struct user_namespace *user_ns ;
2168 atomic_long_t locked_vm ;
2169};
2170# 731 "include/linux/sched.h"
2171struct backing_dev_info;
2172# 731 "include/linux/sched.h"
2173struct backing_dev_info;
2174# 731 "include/linux/sched.h"
2175struct backing_dev_info;
2176# 732 "include/linux/sched.h"
2177struct reclaim_state;
2178# 732 "include/linux/sched.h"
2179struct reclaim_state;
2180# 732 "include/linux/sched.h"
2181struct reclaim_state;
2182# 735 "include/linux/sched.h"
2183struct sched_info {
2184 unsigned long pcount ;
2185 unsigned long long run_delay ;
2186 unsigned long long last_arrival ;
2187 unsigned long long last_queued ;
2188};
2189# 747 "include/linux/sched.h"
2190struct task_delay_info {
2191 spinlock_t lock ;
2192 unsigned int flags ;
2193 struct timespec blkio_start ;
2194 struct timespec blkio_end ;
2195 u64 blkio_delay ;
2196 u64 swapin_delay ;
2197 u32 blkio_count ;
2198 u32 swapin_count ;
2199 struct timespec freepages_start ;
2200 struct timespec freepages_end ;
2201 u64 freepages_delay ;
2202 u32 freepages_count ;
2203};
2204# 1050 "include/linux/sched.h"
2205struct io_context;
2206# 1050 "include/linux/sched.h"
2207struct io_context;
2208# 1050 "include/linux/sched.h"
2209struct io_context;
2210# 1059 "include/linux/sched.h"
2211struct audit_context;
2212# 1060 "include/linux/sched.h"
2213struct mempolicy;
2214# 1061 "include/linux/sched.h"
2215struct pipe_inode_info;
2216# 1061 "include/linux/sched.h"
2217struct pipe_inode_info;
2218# 1061 "include/linux/sched.h"
2219struct pipe_inode_info;
2220# 1064 "include/linux/sched.h"
2221struct rq;
2222# 1064 "include/linux/sched.h"
2223struct rq;
2224# 1064 "include/linux/sched.h"
2225struct rq;
2226# 1084 "include/linux/sched.h"
2227struct sched_class {
2228 struct sched_class const *next ;
2229 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2230 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2231 void (*yield_task)(struct rq *rq ) ;
2232 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2233 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2234 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2235 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2236 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2237 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2238 void (*post_schedule)(struct rq *this_rq ) ;
2239 void (*task_waking)(struct task_struct *task ) ;
2240 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2241 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2242 void (*rq_online)(struct rq *rq ) ;
2243 void (*rq_offline)(struct rq *rq ) ;
2244 void (*set_curr_task)(struct rq *rq ) ;
2245 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2246 void (*task_fork)(struct task_struct *p ) ;
2247 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2248 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2249 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2250 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2251 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2252};
2253# 1129 "include/linux/sched.h"
2254struct load_weight {
2255 unsigned long weight ;
2256 unsigned long inv_weight ;
2257};
2258# 1134 "include/linux/sched.h"
2259struct sched_statistics {
2260 u64 wait_start ;
2261 u64 wait_max ;
2262 u64 wait_count ;
2263 u64 wait_sum ;
2264 u64 iowait_count ;
2265 u64 iowait_sum ;
2266 u64 sleep_start ;
2267 u64 sleep_max ;
2268 s64 sum_sleep_runtime ;
2269 u64 block_start ;
2270 u64 block_max ;
2271 u64 exec_max ;
2272 u64 slice_max ;
2273 u64 nr_migrations_cold ;
2274 u64 nr_failed_migrations_affine ;
2275 u64 nr_failed_migrations_running ;
2276 u64 nr_failed_migrations_hot ;
2277 u64 nr_forced_migrations ;
2278 u64 nr_wakeups ;
2279 u64 nr_wakeups_sync ;
2280 u64 nr_wakeups_migrate ;
2281 u64 nr_wakeups_local ;
2282 u64 nr_wakeups_remote ;
2283 u64 nr_wakeups_affine ;
2284 u64 nr_wakeups_affine_attempts ;
2285 u64 nr_wakeups_passive ;
2286 u64 nr_wakeups_idle ;
2287};
2288# 1169 "include/linux/sched.h"
2289struct sched_entity {
2290 struct load_weight load ;
2291 struct rb_node run_node ;
2292 struct list_head group_node ;
2293 unsigned int on_rq ;
2294 u64 exec_start ;
2295 u64 sum_exec_runtime ;
2296 u64 vruntime ;
2297 u64 prev_sum_exec_runtime ;
2298 u64 nr_migrations ;
2299 struct sched_statistics statistics ;
2300 struct sched_entity *parent ;
2301 struct cfs_rq *cfs_rq ;
2302 struct cfs_rq *my_q ;
2303};
2304# 1195 "include/linux/sched.h"
2305struct rt_rq;
2306# 1195 "include/linux/sched.h"
2307struct rt_rq;
2308# 1195 "include/linux/sched.h"
2309struct sched_rt_entity {
2310 struct list_head run_list ;
2311 unsigned long timeout ;
2312 unsigned int time_slice ;
2313 int nr_cpus_allowed ;
2314 struct sched_rt_entity *back ;
2315 struct sched_rt_entity *parent ;
2316 struct rt_rq *rt_rq ;
2317 struct rt_rq *my_q ;
2318};
2319# 1220 "include/linux/sched.h"
2320struct files_struct;
2321# 1220 "include/linux/sched.h"
2322struct files_struct;
2323# 1220 "include/linux/sched.h"
2324struct irqaction;
2325# 1220 "include/linux/sched.h"
2326struct irqaction;
2327# 1220 "include/linux/sched.h"
2328struct css_set;
2329# 1220 "include/linux/sched.h"
2330struct css_set;
2331# 1220 "include/linux/sched.h"
2332struct compat_robust_list_head;
2333# 1220 "include/linux/sched.h"
2334struct compat_robust_list_head;
2335# 1220 "include/linux/sched.h"
2336struct ftrace_ret_stack;
2337# 1220 "include/linux/sched.h"
2338struct ftrace_ret_stack;
2339# 1220 "include/linux/sched.h"
2340struct mem_cgroup;
2341# 1220 "include/linux/sched.h"
2342struct mem_cgroup;
2343# 1220 "include/linux/sched.h"
2344struct memcg_batch_info {
2345 int do_batch ;
2346 struct mem_cgroup *memcg ;
2347 unsigned long nr_pages ;
2348 unsigned long memsw_nr_pages ;
2349};
2350# 1220 "include/linux/sched.h"
2351struct task_struct {
2352 long volatile state ;
2353 void *stack ;
2354 atomic_t usage ;
2355 unsigned int flags ;
2356 unsigned int ptrace ;
2357 struct task_struct *wake_entry ;
2358 int on_cpu ;
2359 int on_rq ;
2360 int prio ;
2361 int static_prio ;
2362 int normal_prio ;
2363 unsigned int rt_priority ;
2364 struct sched_class const *sched_class ;
2365 struct sched_entity se ;
2366 struct sched_rt_entity rt ;
2367 struct hlist_head preempt_notifiers ;
2368 unsigned char fpu_counter ;
2369 unsigned int btrace_seq ;
2370 unsigned int policy ;
2371 cpumask_t cpus_allowed ;
2372 struct sched_info sched_info ;
2373 struct list_head tasks ;
2374 struct plist_node pushable_tasks ;
2375 struct mm_struct *mm ;
2376 struct mm_struct *active_mm ;
2377 unsigned int brk_randomized : 1 ;
2378 int exit_state ;
2379 int exit_code ;
2380 int exit_signal ;
2381 int pdeath_signal ;
2382 unsigned int group_stop ;
2383 unsigned int personality ;
2384 unsigned int did_exec : 1 ;
2385 unsigned int in_execve : 1 ;
2386 unsigned int in_iowait : 1 ;
2387 unsigned int sched_reset_on_fork : 1 ;
2388 unsigned int sched_contributes_to_load : 1 ;
2389 pid_t pid ;
2390 pid_t tgid ;
2391 unsigned long stack_canary ;
2392 struct task_struct *real_parent ;
2393 struct task_struct *parent ;
2394 struct list_head children ;
2395 struct list_head sibling ;
2396 struct task_struct *group_leader ;
2397 struct list_head ptraced ;
2398 struct list_head ptrace_entry ;
2399 struct pid_link pids[3] ;
2400 struct list_head thread_group ;
2401 struct completion *vfork_done ;
2402 int *set_child_tid ;
2403 int *clear_child_tid ;
2404 cputime_t utime ;
2405 cputime_t stime ;
2406 cputime_t utimescaled ;
2407 cputime_t stimescaled ;
2408 cputime_t gtime ;
2409 cputime_t prev_utime ;
2410 cputime_t prev_stime ;
2411 unsigned long nvcsw ;
2412 unsigned long nivcsw ;
2413 struct timespec start_time ;
2414 struct timespec real_start_time ;
2415 unsigned long min_flt ;
2416 unsigned long maj_flt ;
2417 struct task_cputime cputime_expires ;
2418 struct list_head cpu_timers[3] ;
2419 struct cred const *real_cred ;
2420 struct cred const *cred ;
2421 struct cred *replacement_session_keyring ;
2422 char comm[16] ;
2423 int link_count ;
2424 int total_link_count ;
2425 struct sysv_sem sysvsem ;
2426 unsigned long last_switch_count ;
2427 struct thread_struct thread ;
2428 struct fs_struct *fs ;
2429 struct files_struct *files ;
2430 struct nsproxy *nsproxy ;
2431 struct signal_struct *signal ;
2432 struct sighand_struct *sighand ;
2433 sigset_t blocked ;
2434 sigset_t real_blocked ;
2435 sigset_t saved_sigmask ;
2436 struct sigpending pending ;
2437 unsigned long sas_ss_sp ;
2438 size_t sas_ss_size ;
2439 int (*notifier)(void *priv ) ;
2440 void *notifier_data ;
2441 sigset_t *notifier_mask ;
2442 struct audit_context *audit_context ;
2443 uid_t loginuid ;
2444 unsigned int sessionid ;
2445 seccomp_t seccomp ;
2446 u32 parent_exec_id ;
2447 u32 self_exec_id ;
2448 spinlock_t alloc_lock ;
2449 struct irqaction *irqaction ;
2450 raw_spinlock_t pi_lock ;
2451 struct plist_head pi_waiters ;
2452 struct rt_mutex_waiter *pi_blocked_on ;
2453 struct mutex_waiter *blocked_on ;
2454 unsigned int irq_events ;
2455 unsigned long hardirq_enable_ip ;
2456 unsigned long hardirq_disable_ip ;
2457 unsigned int hardirq_enable_event ;
2458 unsigned int hardirq_disable_event ;
2459 int hardirqs_enabled ;
2460 int hardirq_context ;
2461 unsigned long softirq_disable_ip ;
2462 unsigned long softirq_enable_ip ;
2463 unsigned int softirq_disable_event ;
2464 unsigned int softirq_enable_event ;
2465 int softirqs_enabled ;
2466 int softirq_context ;
2467 u64 curr_chain_key ;
2468 int lockdep_depth ;
2469 unsigned int lockdep_recursion ;
2470 struct held_lock held_locks[48UL] ;
2471 gfp_t lockdep_reclaim_gfp ;
2472 void *journal_info ;
2473 struct bio_list *bio_list ;
2474 struct blk_plug *plug ;
2475 struct reclaim_state *reclaim_state ;
2476 struct backing_dev_info *backing_dev_info ;
2477 struct io_context *io_context ;
2478 unsigned long ptrace_message ;
2479 siginfo_t *last_siginfo ;
2480 struct task_io_accounting ioac ;
2481 u64 acct_rss_mem1 ;
2482 u64 acct_vm_mem1 ;
2483 cputime_t acct_timexpd ;
2484 nodemask_t mems_allowed ;
2485 int mems_allowed_change_disable ;
2486 int cpuset_mem_spread_rotor ;
2487 int cpuset_slab_spread_rotor ;
2488 struct css_set *cgroups ;
2489 struct list_head cg_list ;
2490 struct robust_list_head *robust_list ;
2491 struct compat_robust_list_head *compat_robust_list ;
2492 struct list_head pi_state_list ;
2493 struct futex_pi_state *pi_state_cache ;
2494 struct perf_event_context *perf_event_ctxp[2] ;
2495 struct mutex perf_event_mutex ;
2496 struct list_head perf_event_list ;
2497 struct mempolicy *mempolicy ;
2498 short il_next ;
2499 short pref_node_fork ;
2500 atomic_t fs_excl ;
2501 struct rcu_head rcu ;
2502 struct pipe_inode_info *splice_pipe ;
2503 struct task_delay_info *delays ;
2504 int make_it_fail ;
2505 struct prop_local_single dirties ;
2506 int latency_record_count ;
2507 struct latency_record latency_record[32] ;
2508 unsigned long timer_slack_ns ;
2509 unsigned long default_timer_slack_ns ;
2510 struct list_head *scm_work_list ;
2511 int curr_ret_stack ;
2512 struct ftrace_ret_stack *ret_stack ;
2513 unsigned long long ftrace_timestamp ;
2514 atomic_t trace_overrun ;
2515 atomic_t tracing_graph_pause ;
2516 unsigned long trace ;
2517 unsigned long trace_recursion ;
2518 struct memcg_batch_info memcg_batch ;
2519 atomic_t ptrace_bp_refcnt ;
2520};
2521# 1634 "include/linux/sched.h"
2522struct pid_namespace;
2523# 38 "include/linux/slub_def.h"
2524struct kmem_cache_cpu {
2525 void **freelist ;
2526 unsigned long tid ;
2527 struct page *page ;
2528 int node ;
2529 unsigned int stat[19] ;
2530};
2531# 48 "include/linux/slub_def.h"
2532struct kmem_cache_node {
2533 spinlock_t list_lock ;
2534 unsigned long nr_partial ;
2535 struct list_head partial ;
2536 atomic_long_t nr_slabs ;
2537 atomic_long_t total_objects ;
2538 struct list_head full ;
2539};
2540# 64 "include/linux/slub_def.h"
2541struct kmem_cache_order_objects {
2542 unsigned long x ;
2543};
2544# 71 "include/linux/slub_def.h"
2545struct kmem_cache {
2546 struct kmem_cache_cpu *cpu_slab ;
2547 unsigned long flags ;
2548 unsigned long min_partial ;
2549 int size ;
2550 int objsize ;
2551 int offset ;
2552 struct kmem_cache_order_objects oo ;
2553 struct kmem_cache_order_objects max ;
2554 struct kmem_cache_order_objects min ;
2555 gfp_t allocflags ;
2556 int refcount ;
2557 void (*ctor)(void * ) ;
2558 int inuse ;
2559 int align ;
2560 int reserved ;
2561 char const *name ;
2562 struct list_head list ;
2563 struct kobject kobj ;
2564 int remote_node_defrag_ratio ;
2565 struct kmem_cache_node *node[1 << 10] ;
2566};
2567# 18 "include/linux/mtd/nand_ecc.h"
2568struct mtd_info;
2569# 18 "include/linux/mtd/nand_ecc.h"
2570struct mtd_info;
2571# 18 "include/linux/mtd/nand_ecc.h"
2572struct mtd_info;
2573# 19 "include/linux/klist.h"
2574struct klist_node;
2575# 19 "include/linux/klist.h"
2576struct klist_node;
2577# 19 "include/linux/klist.h"
2578struct klist_node;
2579# 39 "include/linux/klist.h"
2580struct klist_node {
2581 void *n_klist ;
2582 struct list_head n_node ;
2583 struct kref n_ref ;
2584};
2585# 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2586struct dma_map_ops;
2587# 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2588struct dma_map_ops;
2589# 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2590struct dev_archdata {
2591 void *acpi_handle ;
2592 struct dma_map_ops *dma_ops ;
2593 void *iommu ;
2594};
2595# 28 "include/linux/device.h"
2596struct device;
2597# 29 "include/linux/device.h"
2598struct device_private;
2599# 29 "include/linux/device.h"
2600struct device_private;
2601# 29 "include/linux/device.h"
2602struct device_private;
2603# 30 "include/linux/device.h"
2604struct device_driver;
2605# 30 "include/linux/device.h"
2606struct device_driver;
2607# 30 "include/linux/device.h"
2608struct device_driver;
2609# 31 "include/linux/device.h"
2610struct driver_private;
2611# 31 "include/linux/device.h"
2612struct driver_private;
2613# 31 "include/linux/device.h"
2614struct driver_private;
2615# 32 "include/linux/device.h"
2616struct class;
2617# 32 "include/linux/device.h"
2618struct class;
2619# 32 "include/linux/device.h"
2620struct class;
2621# 33 "include/linux/device.h"
2622struct subsys_private;
2623# 33 "include/linux/device.h"
2624struct subsys_private;
2625# 33 "include/linux/device.h"
2626struct subsys_private;
2627# 34 "include/linux/device.h"
2628struct bus_type;
2629# 34 "include/linux/device.h"
2630struct bus_type;
2631# 34 "include/linux/device.h"
2632struct bus_type;
2633# 35 "include/linux/device.h"
2634struct device_node;
2635# 35 "include/linux/device.h"
2636struct device_node;
2637# 35 "include/linux/device.h"
2638struct device_node;
2639# 37 "include/linux/device.h"
2640struct bus_attribute {
2641 struct attribute attr ;
2642 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2643 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
2644};
2645# 82 "include/linux/device.h"
2646struct device_attribute;
2647# 82 "include/linux/device.h"
2648struct device_attribute;
2649# 82 "include/linux/device.h"
2650struct driver_attribute;
2651# 82 "include/linux/device.h"
2652struct driver_attribute;
2653# 82 "include/linux/device.h"
2654struct bus_type {
2655 char const *name ;
2656 struct bus_attribute *bus_attrs ;
2657 struct device_attribute *dev_attrs ;
2658 struct driver_attribute *drv_attrs ;
2659 int (*match)(struct device *dev , struct device_driver *drv ) ;
2660 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2661 int (*probe)(struct device *dev ) ;
2662 int (*remove)(struct device *dev ) ;
2663 void (*shutdown)(struct device *dev ) ;
2664 int (*suspend)(struct device *dev , pm_message_t state ) ;
2665 int (*resume)(struct device *dev ) ;
2666 struct dev_pm_ops const *pm ;
2667 struct subsys_private *p ;
2668};
2669# 130 "include/linux/device.h"
2670struct notifier_block;
2671# 185 "include/linux/device.h"
2672struct of_device_id;
2673# 185 "include/linux/device.h"
2674struct of_device_id;
2675# 185 "include/linux/device.h"
2676struct device_driver {
2677 char const *name ;
2678 struct bus_type *bus ;
2679 struct module *owner ;
2680 char const *mod_name ;
2681 bool suppress_bind_attrs ;
2682 struct of_device_id const *of_match_table ;
2683 int (*probe)(struct device *dev ) ;
2684 int (*remove)(struct device *dev ) ;
2685 void (*shutdown)(struct device *dev ) ;
2686 int (*suspend)(struct device *dev , pm_message_t state ) ;
2687 int (*resume)(struct device *dev ) ;
2688 struct attribute_group const **groups ;
2689 struct dev_pm_ops const *pm ;
2690 struct driver_private *p ;
2691};
2692# 222 "include/linux/device.h"
2693struct driver_attribute {
2694 struct attribute attr ;
2695 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2696 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
2697};
2698# 280 "include/linux/device.h"
2699struct class_attribute;
2700# 280 "include/linux/device.h"
2701struct class_attribute;
2702# 280 "include/linux/device.h"
2703struct class {
2704 char const *name ;
2705 struct module *owner ;
2706 struct class_attribute *class_attrs ;
2707 struct device_attribute *dev_attrs ;
2708 struct bin_attribute *dev_bin_attrs ;
2709 struct kobject *dev_kobj ;
2710 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2711 char *(*devnode)(struct device *dev , mode_t *mode ) ;
2712 void (*class_release)(struct class *class ) ;
2713 void (*dev_release)(struct device *dev ) ;
2714 int (*suspend)(struct device *dev , pm_message_t state ) ;
2715 int (*resume)(struct device *dev ) ;
2716 struct kobj_ns_type_operations const *ns_type ;
2717 void const *(*namespace)(struct device *dev ) ;
2718 struct dev_pm_ops const *pm ;
2719 struct subsys_private *p ;
2720};
2721# 306 "include/linux/device.h"
2722struct device_type;
2723# 306 "include/linux/device.h"
2724struct device_type;
2725# 347 "include/linux/device.h"
2726struct class_attribute {
2727 struct attribute attr ;
2728 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2729 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
2730 size_t count ) ;
2731};
2732# 413 "include/linux/device.h"
2733struct device_type {
2734 char const *name ;
2735 struct attribute_group const **groups ;
2736 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2737 char *(*devnode)(struct device *dev , mode_t *mode ) ;
2738 void (*release)(struct device *dev ) ;
2739 struct dev_pm_ops const *pm ;
2740};
2741# 424 "include/linux/device.h"
2742struct device_attribute {
2743 struct attribute attr ;
2744 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2745 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
2746 size_t count ) ;
2747};
2748# 484 "include/linux/device.h"
2749struct device_dma_parameters {
2750 unsigned int max_segment_size ;
2751 unsigned long segment_boundary_mask ;
2752};
2753# 551 "include/linux/device.h"
2754struct dma_coherent_mem;
2755# 551 "include/linux/device.h"
2756struct dma_coherent_mem;
2757# 551 "include/linux/device.h"
2758struct device {
2759 struct device *parent ;
2760 struct device_private *p ;
2761 struct kobject kobj ;
2762 char const *init_name ;
2763 struct device_type const *type ;
2764 struct mutex mutex ;
2765 struct bus_type *bus ;
2766 struct device_driver *driver ;
2767 void *platform_data ;
2768 struct dev_pm_info power ;
2769 struct dev_power_domain *pwr_domain ;
2770 int numa_node ;
2771 u64 *dma_mask ;
2772 u64 coherent_dma_mask ;
2773 struct device_dma_parameters *dma_parms ;
2774 struct list_head dma_pools ;
2775 struct dma_coherent_mem *dma_mem ;
2776 struct dev_archdata archdata ;
2777 struct device_node *of_node ;
2778 dev_t devt ;
2779 spinlock_t devres_lock ;
2780 struct list_head devres_head ;
2781 struct klist_node knode_class ;
2782 struct class *class ;
2783 struct attribute_group const **groups ;
2784 void (*release)(struct device *dev ) ;
2785};
2786# 43 "include/linux/pm_wakeup.h"
2787struct wakeup_source {
2788 char *name ;
2789 struct list_head entry ;
2790 spinlock_t lock ;
2791 struct timer_list timer ;
2792 unsigned long timer_expires ;
2793 ktime_t total_time ;
2794 ktime_t max_time ;
2795 ktime_t last_time ;
2796 unsigned long event_count ;
2797 unsigned long active_count ;
2798 unsigned long relax_count ;
2799 unsigned long hit_count ;
2800 unsigned int active : 1 ;
2801};
2802# 101 "include/mtd/mtd-abi.h"
2803struct otp_info {
2804 __u32 start ;
2805 __u32 length ;
2806 __u32 locked ;
2807};
2808# 142 "include/mtd/mtd-abi.h"
2809struct nand_oobfree {
2810 __u32 offset ;
2811 __u32 length ;
2812};
2813# 172 "include/mtd/mtd-abi.h"
2814struct mtd_ecc_stats {
2815 __u32 corrected ;
2816 __u32 failed ;
2817 __u32 badblocks ;
2818 __u32 bbtblocks ;
2819};
2820# 47 "include/linux/mtd/mtd.h"
2821struct erase_info {
2822 struct mtd_info *mtd ;
2823 uint64_t addr ;
2824 uint64_t len ;
2825 uint64_t fail_addr ;
2826 u_long time ;
2827 u_long retries ;
2828 unsigned int dev ;
2829 unsigned int cell ;
2830 void (*callback)(struct erase_info *self ) ;
2831 u_long priv ;
2832 u_char state ;
2833 struct erase_info *next ;
2834};
2835# 62 "include/linux/mtd/mtd.h"
2836struct mtd_erase_region_info {
2837 uint64_t offset ;
2838 uint32_t erasesize ;
2839 uint32_t numblocks ;
2840 unsigned long *lockmap ;
2841};
2842# 77 "include/linux/mtd/mtd.h"
2843enum __anonenum_mtd_oob_mode_t_225 {
2844 MTD_OOB_PLACE = 0,
2845 MTD_OOB_AUTO = 1,
2846 MTD_OOB_RAW = 2
2847} ;
2848# 77 "include/linux/mtd/mtd.h"
2849typedef enum __anonenum_mtd_oob_mode_t_225 mtd_oob_mode_t;
2850# 102 "include/linux/mtd/mtd.h"
2851struct mtd_oob_ops {
2852 mtd_oob_mode_t mode ;
2853 size_t len ;
2854 size_t retlen ;
2855 size_t ooblen ;
2856 size_t oobretlen ;
2857 uint32_t ooboffs ;
2858 uint8_t *datbuf ;
2859 uint8_t *oobbuf ;
2860};
2861# 121 "include/linux/mtd/mtd.h"
2862struct nand_ecclayout {
2863 __u32 eccbytes ;
2864 __u32 eccpos[448] ;
2865 __u32 oobavail ;
2866 struct nand_oobfree oobfree[32] ;
2867};
2868# 128 "include/linux/mtd/mtd.h"
2869struct mtd_info {
2870 u_char type ;
2871 uint32_t flags ;
2872 uint64_t size ;
2873 uint32_t erasesize ;
2874 uint32_t writesize ;
2875 uint32_t writebufsize ;
2876 uint32_t oobsize ;
2877 uint32_t oobavail ;
2878 unsigned int erasesize_shift ;
2879 unsigned int writesize_shift ;
2880 unsigned int erasesize_mask ;
2881 unsigned int writesize_mask ;
2882 char const *name ;
2883 int index ;
2884 struct nand_ecclayout *ecclayout ;
2885 int numeraseregions ;
2886 struct mtd_erase_region_info *eraseregions ;
2887 int (*erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
2888 int (*point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2889 void **virt , resource_size_t *phys ) ;
2890 void (*unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
2891 unsigned long (*get_unmapped_area)(struct mtd_info *mtd , unsigned long len , unsigned long offset ,
2892 unsigned long flags ) ;
2893 struct backing_dev_info *backing_dev_info ;
2894 int (*read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2895 u_char *buf ) ;
2896 int (*write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char const *buf ) ;
2897 int (*panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
2898 u_char const *buf ) ;
2899 int (*read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
2900 int (*write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
2901 int (*get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
2902 int (*read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2903 u_char *buf ) ;
2904 int (*get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
2905 int (*read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2906 u_char *buf ) ;
2907 int (*write_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
2908 u_char *buf ) ;
2909 int (*lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
2910 int (*writev)(struct mtd_info *mtd , struct kvec const *vecs , unsigned long count ,
2911 loff_t to , size_t *retlen ) ;
2912 void (*sync)(struct mtd_info *mtd ) ;
2913 int (*lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2914 int (*unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2915 int (*is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
2916 int (*suspend)(struct mtd_info *mtd ) ;
2917 void (*resume)(struct mtd_info *mtd ) ;
2918 int (*block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
2919 int (*block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
2920 struct notifier_block reboot_notifier ;
2921 struct mtd_ecc_stats ecc_stats ;
2922 int subpage_sft ;
2923 void *priv ;
2924 struct module *owner ;
2925 struct device dev ;
2926 int usecount ;
2927 int (*get_device)(struct mtd_info *mtd ) ;
2928 void (*put_device)(struct mtd_info *mtd ) ;
2929};
2930# 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
2931struct sm_oob {
2932 uint32_t reserved ;
2933 uint8_t data_status ;
2934 uint8_t block_status ;
2935 uint8_t lba_copy1[2] ;
2936 uint8_t ecc2[3] ;
2937 uint8_t lba_copy2[2] ;
2938 uint8_t ecc1[3] ;
2939} __attribute__((__packed__)) ;
2940# 27 "include/linux/mtd/blktrans.h"
2941struct hd_geometry;
2942# 28 "include/linux/mtd/blktrans.h"
2943struct mtd_info;
2944# 29 "include/linux/mtd/blktrans.h"
2945struct mtd_blktrans_ops;
2946# 29 "include/linux/mtd/blktrans.h"
2947struct mtd_blktrans_ops;
2948# 29 "include/linux/mtd/blktrans.h"
2949struct mtd_blktrans_ops;
2950# 30 "include/linux/mtd/blktrans.h"
2951struct file;
2952# 31 "include/linux/mtd/blktrans.h"
2953struct inode;
2954# 33 "include/linux/mtd/blktrans.h"
2955struct gendisk;
2956# 33 "include/linux/mtd/blktrans.h"
2957struct gendisk;
2958# 33 "include/linux/mtd/blktrans.h"
2959struct request_queue;
2960# 33 "include/linux/mtd/blktrans.h"
2961struct request_queue;
2962# 33 "include/linux/mtd/blktrans.h"
2963struct mtd_blktrans_dev {
2964 struct mtd_blktrans_ops *tr ;
2965 struct list_head list ;
2966 struct mtd_info *mtd ;
2967 struct mutex lock ;
2968 int devnum ;
2969 bool bg_stop ;
2970 unsigned long size ;
2971 int readonly ;
2972 int open ;
2973 struct kref ref ;
2974 struct gendisk *disk ;
2975 struct attribute_group *disk_attributes ;
2976 struct task_struct *thread ;
2977 struct request_queue *rq ;
2978 spinlock_t queue_lock ;
2979 void *priv ;
2980};
2981# 52 "include/linux/mtd/blktrans.h"
2982struct mtd_blktrans_ops {
2983 char *name ;
2984 int major ;
2985 int part_bits ;
2986 int blksize ;
2987 int blkshift ;
2988 int (*readsect)(struct mtd_blktrans_dev *dev , unsigned long block , char *buffer ) ;
2989 int (*writesect)(struct mtd_blktrans_dev *dev , unsigned long block , char *buffer ) ;
2990 int (*discard)(struct mtd_blktrans_dev *dev , unsigned long block , unsigned int nr_blocks ) ;
2991 void (*background)(struct mtd_blktrans_dev *dev ) ;
2992 int (*getgeo)(struct mtd_blktrans_dev *dev , struct hd_geometry *geo ) ;
2993 int (*flush)(struct mtd_blktrans_dev *dev ) ;
2994 int (*open)(struct mtd_blktrans_dev *dev ) ;
2995 int (*release)(struct mtd_blktrans_dev *dev ) ;
2996 void (*add_mtd)(struct mtd_blktrans_ops *tr , struct mtd_info *mtd ) ;
2997 void (*remove_dev)(struct mtd_blktrans_dev *dev ) ;
2998 struct list_head devs ;
2999 struct list_head list ;
3000 struct module *owner ;
3001};
3002# 6 "include/asm-generic/scatterlist.h"
3003struct scatterlist {
3004 unsigned long sg_magic ;
3005 unsigned long page_link ;
3006 unsigned int offset ;
3007 unsigned int length ;
3008 dma_addr_t dma_address ;
3009 unsigned int dma_length ;
3010};
3011# 19 "include/linux/mm.h"
3012struct mempolicy;
3013# 20 "include/linux/mm.h"
3014struct anon_vma;
3015# 21 "include/linux/mm.h"
3016struct file_ra_state;
3017# 21 "include/linux/mm.h"
3018struct file_ra_state;
3019# 21 "include/linux/mm.h"
3020struct file_ra_state;
3021# 22 "include/linux/mm.h"
3022struct user_struct;
3023# 23 "include/linux/mm.h"
3024struct writeback_control;
3025# 23 "include/linux/mm.h"
3026struct writeback_control;
3027# 23 "include/linux/mm.h"
3028struct writeback_control;
3029# 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64.h"
3030struct mm_struct;
3031# 656 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable.h"
3032struct vm_area_struct;
3033# 185 "include/linux/mm.h"
3034struct vm_fault {
3035 unsigned int flags ;
3036 unsigned long pgoff ;
3037 void *virtual_address ;
3038 struct page *page ;
3039};
3040# 202 "include/linux/mm.h"
3041struct vm_operations_struct {
3042 void (*open)(struct vm_area_struct *area ) ;
3043 void (*close)(struct vm_area_struct *area ) ;
3044 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
3045 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
3046 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
3047 int write ) ;
3048 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
3049 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
3050 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
3051 unsigned long flags ) ;
3052};
3053# 244 "include/linux/mm.h"
3054struct inode;
3055# 197 "include/linux/page-flags.h"
3056struct page;
3057# 58 "include/linux/kfifo.h"
3058struct __kfifo {
3059 unsigned int in ;
3060 unsigned int out ;
3061 unsigned int mask ;
3062 unsigned int esize ;
3063 void *data ;
3064};
3065# 96 "include/linux/kfifo.h"
3066union __anonunion____missing_field_name_226 {
3067 struct __kfifo kfifo ;
3068 unsigned char *type ;
3069 char (*rectype)[0] ;
3070 void *ptr ;
3071 void const *ptr_const ;
3072};
3073# 96 "include/linux/kfifo.h"
3074struct kfifo {
3075 union __anonunion____missing_field_name_226 __annonCompField39 ;
3076 unsigned char buf[0] ;
3077};
3078# 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
3079struct ftl_zone {
3080 bool initialized ;
3081 int16_t *lba_to_phys_table ;
3082 struct kfifo free_sectors ;
3083};
3084# 28 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
3085struct sm_ftl {
3086 struct mtd_blktrans_dev *trans ;
3087 struct mutex mutex ;
3088 struct ftl_zone *zones ;
3089 int block_size ;
3090 int zone_size ;
3091 int zone_count ;
3092 int max_lba ;
3093 int smallpagenand ;
3094 bool readonly ;
3095 bool unstable ;
3096 int cis_block ;
3097 int cis_boffset ;
3098 int cis_page_offset ;
3099 void *cis_buffer ;
3100 int cache_block ;
3101 int cache_zone ;
3102 unsigned char *cache_data ;
3103 unsigned long cache_data_invalid_bitmap ;
3104 bool cache_clean ;
3105 struct work_struct flush_work ;
3106 struct timer_list timer ;
3107 struct completion erase_completion ;
3108 int heads ;
3109 int sectors ;
3110 int cylinders ;
3111 struct attribute_group *disk_attributes ;
3112};
3113# 67 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
3114struct chs_entry {
3115 unsigned long size ;
3116 unsigned short cyl ;
3117 unsigned char head ;
3118 unsigned char sec ;
3119};
3120# 39 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
3121struct sm_sysfs_attribute {
3122 struct device_attribute dev_attr ;
3123 char *data ;
3124 int len ;
3125};
3126# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
3127struct __anonstruct_233 {
3128 int : 0 ;
3129};
3130# 219 "include/linux/mod_devicetable.h"
3131struct of_device_id {
3132 char name[32] ;
3133 char type[32] ;
3134 char compatible[128] ;
3135 void *data ;
3136};
3137# 244 "include/linux/usb/ch9.h"
3138struct usb_device_descriptor {
3139 __u8 bLength ;
3140 __u8 bDescriptorType ;
3141 __le16 bcdUSB ;
3142 __u8 bDeviceClass ;
3143 __u8 bDeviceSubClass ;
3144 __u8 bDeviceProtocol ;
3145 __u8 bMaxPacketSize0 ;
3146 __le16 idVendor ;
3147 __le16 idProduct ;
3148 __le16 bcdDevice ;
3149 __u8 iManufacturer ;
3150 __u8 iProduct ;
3151 __u8 iSerialNumber ;
3152 __u8 bNumConfigurations ;
3153} __attribute__((__packed__)) ;
3154# 300 "include/linux/usb/ch9.h"
3155struct usb_config_descriptor {
3156 __u8 bLength ;
3157 __u8 bDescriptorType ;
3158 __le16 wTotalLength ;
3159 __u8 bNumInterfaces ;
3160 __u8 bConfigurationValue ;
3161 __u8 iConfiguration ;
3162 __u8 bmAttributes ;
3163 __u8 bMaxPower ;
3164} __attribute__((__packed__)) ;
3165# 337 "include/linux/usb/ch9.h"
3166struct usb_interface_descriptor {
3167 __u8 bLength ;
3168 __u8 bDescriptorType ;
3169 __u8 bInterfaceNumber ;
3170 __u8 bAlternateSetting ;
3171 __u8 bNumEndpoints ;
3172 __u8 bInterfaceClass ;
3173 __u8 bInterfaceSubClass ;
3174 __u8 bInterfaceProtocol ;
3175 __u8 iInterface ;
3176} __attribute__((__packed__)) ;
3177# 355 "include/linux/usb/ch9.h"
3178struct usb_endpoint_descriptor {
3179 __u8 bLength ;
3180 __u8 bDescriptorType ;
3181 __u8 bEndpointAddress ;
3182 __u8 bmAttributes ;
3183 __le16 wMaxPacketSize ;
3184 __u8 bInterval ;
3185 __u8 bRefresh ;
3186 __u8 bSynchAddress ;
3187} __attribute__((__packed__)) ;
3188# 576 "include/linux/usb/ch9.h"
3189struct usb_ss_ep_comp_descriptor {
3190 __u8 bLength ;
3191 __u8 bDescriptorType ;
3192 __u8 bMaxBurst ;
3193 __u8 bmAttributes ;
3194 __le16 wBytesPerInterval ;
3195} __attribute__((__packed__)) ;
3196# 637 "include/linux/usb/ch9.h"
3197struct usb_interface_assoc_descriptor {
3198 __u8 bLength ;
3199 __u8 bDescriptorType ;
3200 __u8 bFirstInterface ;
3201 __u8 bInterfaceCount ;
3202 __u8 bFunctionClass ;
3203 __u8 bFunctionSubClass ;
3204 __u8 bFunctionProtocol ;
3205 __u8 iFunction ;
3206} __attribute__((__packed__)) ;
3207# 846 "include/linux/usb/ch9.h"
3208enum usb_device_speed {
3209 USB_SPEED_UNKNOWN = 0,
3210 USB_SPEED_LOW = 1,
3211 USB_SPEED_FULL = 2,
3212 USB_SPEED_HIGH = 3,
3213 USB_SPEED_WIRELESS = 4,
3214 USB_SPEED_SUPER = 5
3215} ;
3216# 854 "include/linux/usb/ch9.h"
3217enum usb_device_state {
3218 USB_STATE_NOTATTACHED = 0,
3219 USB_STATE_ATTACHED = 1,
3220 USB_STATE_POWERED = 2,
3221 USB_STATE_RECONNECTING = 3,
3222 USB_STATE_UNAUTHENTICATED = 4,
3223 USB_STATE_DEFAULT = 5,
3224 USB_STATE_ADDRESS = 6,
3225 USB_STATE_CONFIGURED = 7,
3226 USB_STATE_SUSPENDED = 8
3227} ;
3228# 10 "include/linux/irqreturn.h"
3229enum irqreturn {
3230 IRQ_NONE = 0,
3231 IRQ_HANDLED = 1,
3232 IRQ_WAKE_THREAD = 2
3233} ;
3234# 16 "include/linux/irqreturn.h"
3235typedef enum irqreturn irqreturn_t;
3236# 31 "include/linux/irq.h"
3237struct seq_file;
3238# 12 "include/linux/irqdesc.h"
3239struct proc_dir_entry;
3240# 12 "include/linux/irqdesc.h"
3241struct proc_dir_entry;
3242# 12 "include/linux/irqdesc.h"
3243struct proc_dir_entry;
3244# 16 "include/linux/profile.h"
3245struct proc_dir_entry;
3246# 17 "include/linux/profile.h"
3247struct pt_regs;
3248# 18 "include/linux/profile.h"
3249struct notifier_block;
3250# 65 "include/linux/profile.h"
3251struct task_struct;
3252# 66 "include/linux/profile.h"
3253struct mm_struct;
3254# 88 "include/linux/profile.h"
3255struct pt_regs;
3256# 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
3257struct exception_table_entry {
3258 unsigned long insn ;
3259 unsigned long fixup ;
3260};
3261# 363 "include/linux/irq.h"
3262struct irqaction;
3263# 132 "include/linux/hardirq.h"
3264struct task_struct;
3265# 9 "include/trace/events/irq.h"
3266struct irqaction;
3267# 106 "include/linux/interrupt.h"
3268struct irqaction {
3269 irqreturn_t (*handler)(int , void * ) ;
3270 unsigned long flags ;
3271 void *dev_id ;
3272 struct irqaction *next ;
3273 int irq ;
3274 irqreturn_t (*thread_fn)(int , void * ) ;
3275 struct task_struct *thread ;
3276 unsigned long thread_flags ;
3277 unsigned long thread_mask ;
3278 char const *name ;
3279 struct proc_dir_entry *dir ;
3280} __attribute__((__aligned__((1) << (12) ))) ;
3281# 172 "include/linux/interrupt.h"
3282struct device;
3283# 682 "include/linux/interrupt.h"
3284struct seq_file;
3285# 15 "include/linux/blk_types.h"
3286struct page;
3287# 16 "include/linux/blk_types.h"
3288struct block_device;
3289# 16 "include/linux/blk_types.h"
3290struct block_device;
3291# 16 "include/linux/blk_types.h"
3292struct block_device;
3293# 33 "include/linux/list_bl.h"
3294struct hlist_bl_node;
3295# 33 "include/linux/list_bl.h"
3296struct hlist_bl_node;
3297# 33 "include/linux/list_bl.h"
3298struct hlist_bl_head {
3299 struct hlist_bl_node *first ;
3300};
3301# 37 "include/linux/list_bl.h"
3302struct hlist_bl_node {
3303 struct hlist_bl_node *next ;
3304 struct hlist_bl_node **pprev ;
3305};
3306# 13 "include/linux/dcache.h"
3307struct nameidata;
3308# 13 "include/linux/dcache.h"
3309struct nameidata;
3310# 13 "include/linux/dcache.h"
3311struct nameidata;
3312# 14 "include/linux/dcache.h"
3313struct path;
3314# 14 "include/linux/dcache.h"
3315struct path;
3316# 14 "include/linux/dcache.h"
3317struct path;
3318# 15 "include/linux/dcache.h"
3319struct vfsmount;
3320# 15 "include/linux/dcache.h"
3321struct vfsmount;
3322# 15 "include/linux/dcache.h"
3323struct vfsmount;
3324# 35 "include/linux/dcache.h"
3325struct qstr {
3326 unsigned int hash ;
3327 unsigned int len ;
3328 unsigned char const *name ;
3329};
3330# 116 "include/linux/dcache.h"
3331struct dentry_operations;
3332# 116 "include/linux/dcache.h"
3333struct dentry_operations;
3334# 116 "include/linux/dcache.h"
3335struct super_block;
3336# 116 "include/linux/dcache.h"
3337struct super_block;
3338# 116 "include/linux/dcache.h"
3339union __anonunion_d_u_243 {
3340 struct list_head d_child ;
3341 struct rcu_head d_rcu ;
3342};
3343# 116 "include/linux/dcache.h"
3344struct dentry {
3345 unsigned int d_flags ;
3346 seqcount_t d_seq ;
3347 struct hlist_bl_node d_hash ;
3348 struct dentry *d_parent ;
3349 struct qstr d_name ;
3350 struct inode *d_inode ;
3351 unsigned char d_iname[32] ;
3352 unsigned int d_count ;
3353 spinlock_t d_lock ;
3354 struct dentry_operations const *d_op ;
3355 struct super_block *d_sb ;
3356 unsigned long d_time ;
3357 void *d_fsdata ;
3358 struct list_head d_lru ;
3359 union __anonunion_d_u_243 d_u ;
3360 struct list_head d_subdirs ;
3361 struct list_head d_alias ;
3362};
3363# 159 "include/linux/dcache.h"
3364struct dentry_operations {
3365 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
3366 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
3367 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
3368 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
3369 int (*d_delete)(struct dentry const * ) ;
3370 void (*d_release)(struct dentry * ) ;
3371 void (*d_iput)(struct dentry * , struct inode * ) ;
3372 char *(*d_dname)(struct dentry * , char * , int ) ;
3373 struct vfsmount *(*d_automount)(struct path * ) ;
3374 int (*d_manage)(struct dentry * , bool ) ;
3375} __attribute__((__aligned__((1) << (6) ))) ;
3376# 4 "include/linux/path.h"
3377struct dentry;
3378# 5 "include/linux/path.h"
3379struct vfsmount;
3380# 7 "include/linux/path.h"
3381struct path {
3382 struct vfsmount *mnt ;
3383 struct dentry *dentry ;
3384};
3385# 57 "include/linux/radix-tree.h"
3386struct radix_tree_node;
3387# 57 "include/linux/radix-tree.h"
3388struct radix_tree_node;
3389# 57 "include/linux/radix-tree.h"
3390struct radix_tree_root {
3391 unsigned int height ;
3392 gfp_t gfp_mask ;
3393 struct radix_tree_node *rnode ;
3394};
3395# 16 "include/linux/fiemap.h"
3396struct fiemap_extent {
3397 __u64 fe_logical ;
3398 __u64 fe_physical ;
3399 __u64 fe_length ;
3400 __u64 fe_reserved64[2] ;
3401 __u32 fe_flags ;
3402 __u32 fe_reserved[3] ;
3403};
3404# 399 "include/linux/fs.h"
3405struct export_operations;
3406# 399 "include/linux/fs.h"
3407struct export_operations;
3408# 399 "include/linux/fs.h"
3409struct export_operations;
3410# 400 "include/linux/fs.h"
3411struct hd_geometry;
3412# 401 "include/linux/fs.h"
3413struct iovec;
3414# 402 "include/linux/fs.h"
3415struct nameidata;
3416# 403 "include/linux/fs.h"
3417struct kiocb;
3418# 404 "include/linux/fs.h"
3419struct kobject;
3420# 405 "include/linux/fs.h"
3421struct pipe_inode_info;
3422# 406 "include/linux/fs.h"
3423struct poll_table_struct;
3424# 406 "include/linux/fs.h"
3425struct poll_table_struct;
3426# 406 "include/linux/fs.h"
3427struct poll_table_struct;
3428# 407 "include/linux/fs.h"
3429struct kstatfs;
3430# 407 "include/linux/fs.h"
3431struct kstatfs;
3432# 407 "include/linux/fs.h"
3433struct kstatfs;
3434# 408 "include/linux/fs.h"
3435struct vm_area_struct;
3436# 409 "include/linux/fs.h"
3437struct vfsmount;
3438# 410 "include/linux/fs.h"
3439struct cred;
3440# 460 "include/linux/fs.h"
3441struct iattr {
3442 unsigned int ia_valid ;
3443 umode_t ia_mode ;
3444 uid_t ia_uid ;
3445 gid_t ia_gid ;
3446 loff_t ia_size ;
3447 struct timespec ia_atime ;
3448 struct timespec ia_mtime ;
3449 struct timespec ia_ctime ;
3450 struct file *ia_file ;
3451};
3452# 129 "include/linux/quota.h"
3453struct if_dqinfo {
3454 __u64 dqi_bgrace ;
3455 __u64 dqi_igrace ;
3456 __u32 dqi_flags ;
3457 __u32 dqi_valid ;
3458};
3459# 50 "include/linux/dqblk_xfs.h"
3460struct fs_disk_quota {
3461 __s8 d_version ;
3462 __s8 d_flags ;
3463 __u16 d_fieldmask ;
3464 __u32 d_id ;
3465 __u64 d_blk_hardlimit ;
3466 __u64 d_blk_softlimit ;
3467 __u64 d_ino_hardlimit ;
3468 __u64 d_ino_softlimit ;
3469 __u64 d_bcount ;
3470 __u64 d_icount ;
3471 __s32 d_itimer ;
3472 __s32 d_btimer ;
3473 __u16 d_iwarns ;
3474 __u16 d_bwarns ;
3475 __s32 d_padding2 ;
3476 __u64 d_rtb_hardlimit ;
3477 __u64 d_rtb_softlimit ;
3478 __u64 d_rtbcount ;
3479 __s32 d_rtbtimer ;
3480 __u16 d_rtbwarns ;
3481 __s16 d_padding3 ;
3482 char d_padding4[8] ;
3483};
3484# 146 "include/linux/dqblk_xfs.h"
3485struct fs_qfilestat {
3486 __u64 qfs_ino ;
3487 __u64 qfs_nblks ;
3488 __u32 qfs_nextents ;
3489};
3490# 146 "include/linux/dqblk_xfs.h"
3491typedef struct fs_qfilestat fs_qfilestat_t;
3492# 152 "include/linux/dqblk_xfs.h"
3493struct fs_quota_stat {
3494 __s8 qs_version ;
3495 __u16 qs_flags ;
3496 __s8 qs_pad ;
3497 fs_qfilestat_t qs_uquota ;
3498 fs_qfilestat_t qs_gquota ;
3499 __u32 qs_incoredqs ;
3500 __s32 qs_btimelimit ;
3501 __s32 qs_itimelimit ;
3502 __s32 qs_rtbtimelimit ;
3503 __u16 qs_bwarnlimit ;
3504 __u16 qs_iwarnlimit ;
3505};
3506# 17 "include/linux/dqblk_qtree.h"
3507struct dquot;
3508# 17 "include/linux/dqblk_qtree.h"
3509struct dquot;
3510# 17 "include/linux/dqblk_qtree.h"
3511struct dquot;
3512# 185 "include/linux/quota.h"
3513typedef __kernel_uid32_t qid_t;
3514# 186 "include/linux/quota.h"
3515typedef long long qsize_t;
3516# 200 "include/linux/quota.h"
3517struct mem_dqblk {
3518 qsize_t dqb_bhardlimit ;
3519 qsize_t dqb_bsoftlimit ;
3520 qsize_t dqb_curspace ;
3521 qsize_t dqb_rsvspace ;
3522 qsize_t dqb_ihardlimit ;
3523 qsize_t dqb_isoftlimit ;
3524 qsize_t dqb_curinodes ;
3525 time_t dqb_btime ;
3526 time_t dqb_itime ;
3527};
3528# 215 "include/linux/quota.h"
3529struct quota_format_type;
3530# 215 "include/linux/quota.h"
3531struct quota_format_type;
3532# 215 "include/linux/quota.h"
3533struct quota_format_type;
3534# 217 "include/linux/quota.h"
3535struct mem_dqinfo {
3536 struct quota_format_type *dqi_format ;
3537 int dqi_fmt_id ;
3538 struct list_head dqi_dirty_list ;
3539 unsigned long dqi_flags ;
3540 unsigned int dqi_bgrace ;
3541 unsigned int dqi_igrace ;
3542 qsize_t dqi_maxblimit ;
3543 qsize_t dqi_maxilimit ;
3544 void *dqi_priv ;
3545};
3546# 230 "include/linux/quota.h"
3547struct super_block;
3548# 284 "include/linux/quota.h"
3549struct dquot {
3550 struct hlist_node dq_hash ;
3551 struct list_head dq_inuse ;
3552 struct list_head dq_free ;
3553 struct list_head dq_dirty ;
3554 struct mutex dq_lock ;
3555 atomic_t dq_count ;
3556 wait_queue_head_t dq_wait_unused ;
3557 struct super_block *dq_sb ;
3558 unsigned int dq_id ;
3559 loff_t dq_off ;
3560 unsigned long dq_flags ;
3561 short dq_type ;
3562 struct mem_dqblk dq_dqb ;
3563};
3564# 301 "include/linux/quota.h"
3565struct quota_format_ops {
3566 int (*check_quota_file)(struct super_block *sb , int type ) ;
3567 int (*read_file_info)(struct super_block *sb , int type ) ;
3568 int (*write_file_info)(struct super_block *sb , int type ) ;
3569 int (*free_file_info)(struct super_block *sb , int type ) ;
3570 int (*read_dqblk)(struct dquot *dquot ) ;
3571 int (*commit_dqblk)(struct dquot *dquot ) ;
3572 int (*release_dqblk)(struct dquot *dquot ) ;
3573};
3574# 312 "include/linux/quota.h"
3575struct dquot_operations {
3576 int (*write_dquot)(struct dquot * ) ;
3577 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3578 void (*destroy_dquot)(struct dquot * ) ;
3579 int (*acquire_dquot)(struct dquot * ) ;
3580 int (*release_dquot)(struct dquot * ) ;
3581 int (*mark_dirty)(struct dquot * ) ;
3582 int (*write_info)(struct super_block * , int ) ;
3583 qsize_t *(*get_reserved_space)(struct inode * ) ;
3584};
3585# 325 "include/linux/quota.h"
3586struct path;
3587# 328 "include/linux/quota.h"
3588struct quotactl_ops {
3589 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3590 int (*quota_on_meta)(struct super_block * , int , int ) ;
3591 int (*quota_off)(struct super_block * , int ) ;
3592 int (*quota_sync)(struct super_block * , int , int ) ;
3593 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3594 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3595 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3596 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3597 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3598 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3599};
3600# 341 "include/linux/quota.h"
3601struct quota_format_type {
3602 int qf_fmt_id ;
3603 struct quota_format_ops const *qf_ops ;
3604 struct module *qf_owner ;
3605 struct quota_format_type *qf_next ;
3606};
3607# 395 "include/linux/quota.h"
3608struct quota_info {
3609 unsigned int flags ;
3610 struct mutex dqio_mutex ;
3611 struct mutex dqonoff_mutex ;
3612 struct rw_semaphore dqptr_sem ;
3613 struct inode *files[2] ;
3614 struct mem_dqinfo info[2] ;
3615 struct quota_format_ops const *ops[2] ;
3616};
3617# 523 "include/linux/fs.h"
3618struct page;
3619# 524 "include/linux/fs.h"
3620struct address_space;
3621# 525 "include/linux/fs.h"
3622struct writeback_control;
3623# 568 "include/linux/fs.h"
3624union __anonunion_arg_250 {
3625 char *buf ;
3626 void *data ;
3627};
3628# 568 "include/linux/fs.h"
3629struct __anonstruct_read_descriptor_t_249 {
3630 size_t written ;
3631 size_t count ;
3632 union __anonunion_arg_250 arg ;
3633 int error ;
3634};
3635# 568 "include/linux/fs.h"
3636typedef struct __anonstruct_read_descriptor_t_249 read_descriptor_t;
3637# 581 "include/linux/fs.h"
3638struct address_space_operations {
3639 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3640 int (*readpage)(struct file * , struct page * ) ;
3641 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3642 int (*set_page_dirty)(struct page *page ) ;
3643 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3644 unsigned int nr_pages ) ;
3645 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3646 unsigned int len , unsigned int flags , struct page **pagep ,
3647 void **fsdata ) ;
3648 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3649 unsigned int copied , struct page *page , void *fsdata ) ;
3650 sector_t (*bmap)(struct address_space * , sector_t ) ;
3651 void (*invalidatepage)(struct page * , unsigned long ) ;
3652 int (*releasepage)(struct page * , gfp_t ) ;
3653 void (*freepage)(struct page * ) ;
3654 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3655 unsigned long nr_segs ) ;
3656 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3657 int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
3658 int (*launder_page)(struct page * ) ;
3659 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3660 int (*error_remove_page)(struct address_space * , struct page * ) ;
3661};
3662# 633 "include/linux/fs.h"
3663struct backing_dev_info;
3664# 634 "include/linux/fs.h"
3665struct address_space {
3666 struct inode *host ;
3667 struct radix_tree_root page_tree ;
3668 spinlock_t tree_lock ;
3669 unsigned int i_mmap_writable ;
3670 struct prio_tree_root i_mmap ;
3671 struct list_head i_mmap_nonlinear ;
3672 struct mutex i_mmap_mutex ;
3673 unsigned long nrpages ;
3674 unsigned long writeback_index ;
3675 struct address_space_operations const *a_ops ;
3676 unsigned long flags ;
3677 struct backing_dev_info *backing_dev_info ;
3678 spinlock_t private_lock ;
3679 struct list_head private_list ;
3680 struct address_space *assoc_mapping ;
3681} __attribute__((__aligned__(sizeof(long )))) ;
3682# 658 "include/linux/fs.h"
3683struct hd_struct;
3684# 658 "include/linux/fs.h"
3685struct hd_struct;
3686# 658 "include/linux/fs.h"
3687struct block_device {
3688 dev_t bd_dev ;
3689 int bd_openers ;
3690 struct inode *bd_inode ;
3691 struct super_block *bd_super ;
3692 struct mutex bd_mutex ;
3693 struct list_head bd_inodes ;
3694 void *bd_claiming ;
3695 void *bd_holder ;
3696 int bd_holders ;
3697 bool bd_write_holder ;
3698 struct list_head bd_holder_disks ;
3699 struct block_device *bd_contains ;
3700 unsigned int bd_block_size ;
3701 struct hd_struct *bd_part ;
3702 unsigned int bd_part_count ;
3703 int bd_invalidated ;
3704 struct gendisk *bd_disk ;
3705 struct list_head bd_list ;
3706 unsigned long bd_private ;
3707 int bd_fsfreeze_count ;
3708 struct mutex bd_fsfreeze_mutex ;
3709};
3710# 735 "include/linux/fs.h"
3711struct posix_acl;
3712# 735 "include/linux/fs.h"
3713struct posix_acl;
3714# 735 "include/linux/fs.h"
3715struct posix_acl;
3716# 738 "include/linux/fs.h"
3717struct inode_operations;
3718# 738 "include/linux/fs.h"
3719struct inode_operations;
3720# 738 "include/linux/fs.h"
3721union __anonunion____missing_field_name_251 {
3722 struct list_head i_dentry ;
3723 struct rcu_head i_rcu ;
3724};
3725# 738 "include/linux/fs.h"
3726struct file_operations;
3727# 738 "include/linux/fs.h"
3728struct file_operations;
3729# 738 "include/linux/fs.h"
3730struct file_lock;
3731# 738 "include/linux/fs.h"
3732struct file_lock;
3733# 738 "include/linux/fs.h"
3734struct cdev;
3735# 738 "include/linux/fs.h"
3736struct cdev;
3737# 738 "include/linux/fs.h"
3738union __anonunion____missing_field_name_252 {
3739 struct pipe_inode_info *i_pipe ;
3740 struct block_device *i_bdev ;
3741 struct cdev *i_cdev ;
3742};
3743# 738 "include/linux/fs.h"
3744struct inode {
3745 umode_t i_mode ;
3746 uid_t i_uid ;
3747 gid_t i_gid ;
3748 struct inode_operations const *i_op ;
3749 struct super_block *i_sb ;
3750 spinlock_t i_lock ;
3751 unsigned int i_flags ;
3752 unsigned long i_state ;
3753 void *i_security ;
3754 struct mutex i_mutex ;
3755 unsigned long dirtied_when ;
3756 struct hlist_node i_hash ;
3757 struct list_head i_wb_list ;
3758 struct list_head i_lru ;
3759 struct list_head i_sb_list ;
3760 union __anonunion____missing_field_name_251 __annonCompField42 ;
3761 unsigned long i_ino ;
3762 atomic_t i_count ;
3763 unsigned int i_nlink ;
3764 dev_t i_rdev ;
3765 unsigned int i_blkbits ;
3766 u64 i_version ;
3767 loff_t i_size ;
3768 struct timespec i_atime ;
3769 struct timespec i_mtime ;
3770 struct timespec i_ctime ;
3771 blkcnt_t i_blocks ;
3772 unsigned short i_bytes ;
3773 struct rw_semaphore i_alloc_sem ;
3774 struct file_operations const *i_fop ;
3775 struct file_lock *i_flock ;
3776 struct address_space *i_mapping ;
3777 struct address_space i_data ;
3778 struct dquot *i_dquot[2] ;
3779 struct list_head i_devices ;
3780 union __anonunion____missing_field_name_252 __annonCompField43 ;
3781 __u32 i_generation ;
3782 __u32 i_fsnotify_mask ;
3783 struct hlist_head i_fsnotify_marks ;
3784 atomic_t i_readcount ;
3785 atomic_t i_writecount ;
3786 struct posix_acl *i_acl ;
3787 struct posix_acl *i_default_acl ;
3788 void *i_private ;
3789};
3790# 903 "include/linux/fs.h"
3791struct fown_struct {
3792 rwlock_t lock ;
3793 struct pid *pid ;
3794 enum pid_type pid_type ;
3795 uid_t uid ;
3796 uid_t euid ;
3797 int signum ;
3798};
3799# 914 "include/linux/fs.h"
3800struct file_ra_state {
3801 unsigned long start ;
3802 unsigned int size ;
3803 unsigned int async_size ;
3804 unsigned int ra_pages ;
3805 unsigned int mmap_miss ;
3806 loff_t prev_pos ;
3807};
3808# 937 "include/linux/fs.h"
3809union __anonunion_f_u_253 {
3810 struct list_head fu_list ;
3811 struct rcu_head fu_rcuhead ;
3812};
3813# 937 "include/linux/fs.h"
3814struct file {
3815 union __anonunion_f_u_253 f_u ;
3816 struct path f_path ;
3817 struct file_operations const *f_op ;
3818 spinlock_t f_lock ;
3819 int f_sb_list_cpu ;
3820 atomic_long_t f_count ;
3821 unsigned int f_flags ;
3822 fmode_t f_mode ;
3823 loff_t f_pos ;
3824 struct fown_struct f_owner ;
3825 struct cred const *f_cred ;
3826 struct file_ra_state f_ra ;
3827 u64 f_version ;
3828 void *f_security ;
3829 void *private_data ;
3830 struct list_head f_ep_links ;
3831 struct address_space *f_mapping ;
3832 unsigned long f_mnt_write_state ;
3833};
3834# 1064 "include/linux/fs.h"
3835typedef struct files_struct *fl_owner_t;
3836# 1066 "include/linux/fs.h"
3837struct file_lock_operations {
3838 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3839 void (*fl_release_private)(struct file_lock * ) ;
3840};
3841# 1071 "include/linux/fs.h"
3842struct lock_manager_operations {
3843 int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
3844 void (*fl_notify)(struct file_lock * ) ;
3845 int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
3846 void (*fl_release_private)(struct file_lock * ) ;
3847 void (*fl_break)(struct file_lock * ) ;
3848 int (*fl_change)(struct file_lock ** , int ) ;
3849};
3850# 8 "include/linux/nfs_fs_i.h"
3851struct nlm_lockowner;
3852# 8 "include/linux/nfs_fs_i.h"
3853struct nlm_lockowner;
3854# 8 "include/linux/nfs_fs_i.h"
3855struct nlm_lockowner;
3856# 13 "include/linux/nfs_fs_i.h"
3857struct nfs_lock_info {
3858 u32 state ;
3859 struct nlm_lockowner *owner ;
3860 struct list_head list ;
3861};
3862# 19 "include/linux/nfs_fs_i.h"
3863struct nfs4_lock_state;
3864# 19 "include/linux/nfs_fs_i.h"
3865struct nfs4_lock_state;
3866# 19 "include/linux/nfs_fs_i.h"
3867struct nfs4_lock_state;
3868# 20 "include/linux/nfs_fs_i.h"
3869struct nfs4_lock_info {
3870 struct nfs4_lock_state *owner ;
3871};
3872# 1091 "include/linux/fs.h"
3873struct fasync_struct;
3874# 1091 "include/linux/fs.h"
3875struct fasync_struct;
3876# 1091 "include/linux/fs.h"
3877struct __anonstruct_afs_255 {
3878 struct list_head link ;
3879 int state ;
3880};
3881# 1091 "include/linux/fs.h"
3882union __anonunion_fl_u_254 {
3883 struct nfs_lock_info nfs_fl ;
3884 struct nfs4_lock_info nfs4_fl ;
3885 struct __anonstruct_afs_255 afs ;
3886};
3887# 1091 "include/linux/fs.h"
3888struct file_lock {
3889 struct file_lock *fl_next ;
3890 struct list_head fl_link ;
3891 struct list_head fl_block ;
3892 fl_owner_t fl_owner ;
3893 unsigned char fl_flags ;
3894 unsigned char fl_type ;
3895 unsigned int fl_pid ;
3896 struct pid *fl_nspid ;
3897 wait_queue_head_t fl_wait ;
3898 struct file *fl_file ;
3899 loff_t fl_start ;
3900 loff_t fl_end ;
3901 struct fasync_struct *fl_fasync ;
3902 unsigned long fl_break_time ;
3903 struct file_lock_operations const *fl_ops ;
3904 struct lock_manager_operations const *fl_lmops ;
3905 union __anonunion_fl_u_254 fl_u ;
3906};
3907# 1324 "include/linux/fs.h"
3908struct fasync_struct {
3909 spinlock_t fa_lock ;
3910 int magic ;
3911 int fa_fd ;
3912 struct fasync_struct *fa_next ;
3913 struct file *fa_file ;
3914 struct rcu_head fa_rcu ;
3915};
3916# 1364 "include/linux/fs.h"
3917struct file_system_type;
3918# 1364 "include/linux/fs.h"
3919struct file_system_type;
3920# 1364 "include/linux/fs.h"
3921struct super_operations;
3922# 1364 "include/linux/fs.h"
3923struct super_operations;
3924# 1364 "include/linux/fs.h"
3925struct xattr_handler;
3926# 1364 "include/linux/fs.h"
3927struct xattr_handler;
3928# 1364 "include/linux/fs.h"
3929struct super_block {
3930 struct list_head s_list ;
3931 dev_t s_dev ;
3932 unsigned char s_dirt ;
3933 unsigned char s_blocksize_bits ;
3934 unsigned long s_blocksize ;
3935 loff_t s_maxbytes ;
3936 struct file_system_type *s_type ;
3937 struct super_operations const *s_op ;
3938 struct dquot_operations const *dq_op ;
3939 struct quotactl_ops const *s_qcop ;
3940 struct export_operations const *s_export_op ;
3941 unsigned long s_flags ;
3942 unsigned long s_magic ;
3943 struct dentry *s_root ;
3944 struct rw_semaphore s_umount ;
3945 struct mutex s_lock ;
3946 int s_count ;
3947 atomic_t s_active ;
3948 void *s_security ;
3949 struct xattr_handler const **s_xattr ;
3950 struct list_head s_inodes ;
3951 struct hlist_bl_head s_anon ;
3952 struct list_head *s_files ;
3953 struct list_head s_dentry_lru ;
3954 int s_nr_dentry_unused ;
3955 struct block_device *s_bdev ;
3956 struct backing_dev_info *s_bdi ;
3957 struct mtd_info *s_mtd ;
3958 struct list_head s_instances ;
3959 struct quota_info s_dquot ;
3960 int s_frozen ;
3961 wait_queue_head_t s_wait_unfrozen ;
3962 char s_id[32] ;
3963 u8 s_uuid[16] ;
3964 void *s_fs_info ;
3965 fmode_t s_mode ;
3966 u32 s_time_gran ;
3967 struct mutex s_vfs_rename_mutex ;
3968 char *s_subtype ;
3969 char *s_options ;
3970 struct dentry_operations const *s_d_op ;
3971 int cleancache_poolid ;
3972};
3973# 1499 "include/linux/fs.h"
3974struct fiemap_extent_info {
3975 unsigned int fi_flags ;
3976 unsigned int fi_extents_mapped ;
3977 unsigned int fi_extents_max ;
3978 struct fiemap_extent *fi_extents_start ;
3979};
3980# 1546 "include/linux/fs.h"
3981struct file_operations {
3982 struct module *owner ;
3983 loff_t (*llseek)(struct file * , loff_t , int ) ;
3984 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3985 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3986 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3987 loff_t ) ;
3988 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3989 loff_t ) ;
3990 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3991 loff_t , u64 , unsigned int ) ) ;
3992 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3993 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3994 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3995 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3996 int (*open)(struct inode * , struct file * ) ;
3997 int (*flush)(struct file * , fl_owner_t id ) ;
3998 int (*release)(struct inode * , struct file * ) ;
3999 int (*fsync)(struct file * , int datasync ) ;
4000 int (*aio_fsync)(struct kiocb * , int datasync ) ;
4001 int (*fasync)(int , struct file * , int ) ;
4002 int (*lock)(struct file * , int , struct file_lock * ) ;
4003 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
4004 int ) ;
4005 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
4006 unsigned long , unsigned long ) ;
4007 int (*check_flags)(int ) ;
4008 int (*flock)(struct file * , int , struct file_lock * ) ;
4009 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
4010 unsigned int ) ;
4011 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
4012 unsigned int ) ;
4013 int (*setlease)(struct file * , long , struct file_lock ** ) ;
4014 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
4015};
4016# 1578 "include/linux/fs.h"
4017struct inode_operations {
4018 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
4019 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
4020 int (*permission)(struct inode * , int , unsigned int ) ;
4021 int (*check_acl)(struct inode * , int , unsigned int ) ;
4022 int (*readlink)(struct dentry * , char * , int ) ;
4023 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
4024 int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
4025 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
4026 int (*unlink)(struct inode * , struct dentry * ) ;
4027 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
4028 int (*mkdir)(struct inode * , struct dentry * , int ) ;
4029 int (*rmdir)(struct inode * , struct dentry * ) ;
4030 int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
4031 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
4032 void (*truncate)(struct inode * ) ;
4033 int (*setattr)(struct dentry * , struct iattr * ) ;
4034 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
4035 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
4036 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
4037 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
4038 int (*removexattr)(struct dentry * , char const * ) ;
4039 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
4040 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
4041} __attribute__((__aligned__((1) << (6) ))) ;
4042# 1608 "include/linux/fs.h"
4043struct seq_file;
4044# 1622 "include/linux/fs.h"
4045struct super_operations {
4046 struct inode *(*alloc_inode)(struct super_block *sb ) ;
4047 void (*destroy_inode)(struct inode * ) ;
4048 void (*dirty_inode)(struct inode * , int flags ) ;
4049 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
4050 int (*drop_inode)(struct inode * ) ;
4051 void (*evict_inode)(struct inode * ) ;
4052 void (*put_super)(struct super_block * ) ;
4053 void (*write_super)(struct super_block * ) ;
4054 int (*sync_fs)(struct super_block *sb , int wait ) ;
4055 int (*freeze_fs)(struct super_block * ) ;
4056 int (*unfreeze_fs)(struct super_block * ) ;
4057 int (*statfs)(struct dentry * , struct kstatfs * ) ;
4058 int (*remount_fs)(struct super_block * , int * , char * ) ;
4059 void (*umount_begin)(struct super_block * ) ;
4060 int (*show_options)(struct seq_file * , struct vfsmount * ) ;
4061 int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
4062 int (*show_path)(struct seq_file * , struct vfsmount * ) ;
4063 int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
4064 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
4065 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
4066 loff_t ) ;
4067 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
4068};
4069# 1802 "include/linux/fs.h"
4070struct file_system_type {
4071 char const *name ;
4072 int fs_flags ;
4073 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
4074 void (*kill_sb)(struct super_block * ) ;
4075 struct module *owner ;
4076 struct file_system_type *next ;
4077 struct list_head fs_supers ;
4078 struct lock_class_key s_lock_key ;
4079 struct lock_class_key s_umount_key ;
4080 struct lock_class_key s_vfs_rename_key ;
4081 struct lock_class_key i_lock_key ;
4082 struct lock_class_key i_mutex_key ;
4083 struct lock_class_key i_mutex_dir_key ;
4084 struct lock_class_key i_alloc_sem_key ;
4085};
4086# 25 "include/linux/usb.h"
4087struct usb_device;
4088# 25 "include/linux/usb.h"
4089struct usb_device;
4090# 25 "include/linux/usb.h"
4091struct usb_device;
4092# 27 "include/linux/usb.h"
4093struct wusb_dev;
4094# 27 "include/linux/usb.h"
4095struct wusb_dev;
4096# 27 "include/linux/usb.h"
4097struct wusb_dev;
4098# 47 "include/linux/usb.h"
4099struct ep_device;
4100# 47 "include/linux/usb.h"
4101struct ep_device;
4102# 47 "include/linux/usb.h"
4103struct ep_device;
4104# 64 "include/linux/usb.h"
4105struct usb_host_endpoint {
4106 struct usb_endpoint_descriptor desc ;
4107 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4108 struct list_head urb_list ;
4109 void *hcpriv ;
4110 struct ep_device *ep_dev ;
4111 unsigned char *extra ;
4112 int extralen ;
4113 int enabled ;
4114};
4115# 77 "include/linux/usb.h"
4116struct usb_host_interface {
4117 struct usb_interface_descriptor desc ;
4118 struct usb_host_endpoint *endpoint ;
4119 char *string ;
4120 unsigned char *extra ;
4121 int extralen ;
4122};
4123# 90 "include/linux/usb.h"
4124enum usb_interface_condition {
4125 USB_INTERFACE_UNBOUND = 0,
4126 USB_INTERFACE_BINDING = 1,
4127 USB_INTERFACE_BOUND = 2,
4128 USB_INTERFACE_UNBINDING = 3
4129} ;
4130# 159 "include/linux/usb.h"
4131struct usb_interface {
4132 struct usb_host_interface *altsetting ;
4133 struct usb_host_interface *cur_altsetting ;
4134 unsigned int num_altsetting ;
4135 struct usb_interface_assoc_descriptor *intf_assoc ;
4136 int minor ;
4137 enum usb_interface_condition condition ;
4138 unsigned int sysfs_files_created : 1 ;
4139 unsigned int ep_devs_created : 1 ;
4140 unsigned int unregistering : 1 ;
4141 unsigned int needs_remote_wakeup : 1 ;
4142 unsigned int needs_altsetting0 : 1 ;
4143 unsigned int needs_binding : 1 ;
4144 unsigned int reset_running : 1 ;
4145 unsigned int resetting_device : 1 ;
4146 struct device dev ;
4147 struct device *usb_dev ;
4148 atomic_t pm_usage_cnt ;
4149 struct work_struct reset_ws ;
4150};
4151# 222 "include/linux/usb.h"
4152struct usb_interface_cache {
4153 unsigned int num_altsetting ;
4154 struct kref ref ;
4155 struct usb_host_interface altsetting[0] ;
4156};
4157# 274 "include/linux/usb.h"
4158struct usb_host_config {
4159 struct usb_config_descriptor desc ;
4160 char *string ;
4161 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4162 struct usb_interface *interface[32] ;
4163 struct usb_interface_cache *intf_cache[32] ;
4164 unsigned char *extra ;
4165 int extralen ;
4166};
4167# 305 "include/linux/usb.h"
4168struct usb_devmap {
4169 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4170};
4171# 312 "include/linux/usb.h"
4172struct mon_bus;
4173# 312 "include/linux/usb.h"
4174struct mon_bus;
4175# 312 "include/linux/usb.h"
4176struct usb_bus {
4177 struct device *controller ;
4178 int busnum ;
4179 char const *bus_name ;
4180 u8 uses_dma ;
4181 u8 uses_pio_for_control ;
4182 u8 otg_port ;
4183 unsigned int is_b_host : 1 ;
4184 unsigned int b_hnp_enable : 1 ;
4185 unsigned int sg_tablesize ;
4186 int devnum_next ;
4187 struct usb_devmap devmap ;
4188 struct usb_device *root_hub ;
4189 struct usb_bus *hs_companion ;
4190 struct list_head bus_list ;
4191 int bandwidth_allocated ;
4192 int bandwidth_int_reqs ;
4193 int bandwidth_isoc_reqs ;
4194 struct dentry *usbfs_dentry ;
4195 struct mon_bus *mon_bus ;
4196 int monitored ;
4197};
4198# 367 "include/linux/usb.h"
4199struct usb_tt;
4200# 367 "include/linux/usb.h"
4201struct usb_tt;
4202# 367 "include/linux/usb.h"
4203struct usb_tt;
4204# 426 "include/linux/usb.h"
4205struct usb_device {
4206 int devnum ;
4207 char devpath[16] ;
4208 u32 route ;
4209 enum usb_device_state state ;
4210 enum usb_device_speed speed ;
4211 struct usb_tt *tt ;
4212 int ttport ;
4213 unsigned int toggle[2] ;
4214 struct usb_device *parent ;
4215 struct usb_bus *bus ;
4216 struct usb_host_endpoint ep0 ;
4217 struct device dev ;
4218 struct usb_device_descriptor descriptor ;
4219 struct usb_host_config *config ;
4220 struct usb_host_config *actconfig ;
4221 struct usb_host_endpoint *ep_in[16] ;
4222 struct usb_host_endpoint *ep_out[16] ;
4223 char **rawdescriptors ;
4224 unsigned short bus_mA ;
4225 u8 portnum ;
4226 u8 level ;
4227 unsigned int can_submit : 1 ;
4228 unsigned int persist_enabled : 1 ;
4229 unsigned int have_langid : 1 ;
4230 unsigned int authorized : 1 ;
4231 unsigned int authenticated : 1 ;
4232 unsigned int wusb : 1 ;
4233 int string_langid ;
4234 char *product ;
4235 char *manufacturer ;
4236 char *serial ;
4237 struct list_head filelist ;
4238 struct device *usb_classdev ;
4239 struct dentry *usbfs_dentry ;
4240 int maxchild ;
4241 struct usb_device *children[31] ;
4242 u32 quirks ;
4243 atomic_t urbnum ;
4244 unsigned long active_duration ;
4245 unsigned long connect_time ;
4246 unsigned int do_remote_wakeup : 1 ;
4247 unsigned int reset_resume : 1 ;
4248 struct wusb_dev *wusb_dev ;
4249 int slot_id ;
4250};
4251# 983 "include/linux/usb.h"
4252struct usb_iso_packet_descriptor {
4253 unsigned int offset ;
4254 unsigned int length ;
4255 unsigned int actual_length ;
4256 int status ;
4257};
4258# 990 "include/linux/usb.h"
4259struct urb;
4260# 990 "include/linux/usb.h"
4261struct urb;
4262# 990 "include/linux/usb.h"
4263struct urb;
4264# 992 "include/linux/usb.h"
4265struct usb_anchor {
4266 struct list_head urb_list ;
4267 wait_queue_head_t wait ;
4268 spinlock_t lock ;
4269 unsigned int poisoned : 1 ;
4270};
4271# 1183 "include/linux/usb.h"
4272struct urb {
4273 struct kref kref ;
4274 void *hcpriv ;
4275 atomic_t use_count ;
4276 atomic_t reject ;
4277 int unlinked ;
4278 struct list_head urb_list ;
4279 struct list_head anchor_list ;
4280 struct usb_anchor *anchor ;
4281 struct usb_device *dev ;
4282 struct usb_host_endpoint *ep ;
4283 unsigned int pipe ;
4284 unsigned int stream_id ;
4285 int status ;
4286 unsigned int transfer_flags ;
4287 void *transfer_buffer ;
4288 dma_addr_t transfer_dma ;
4289 struct scatterlist *sg ;
4290 int num_sgs ;
4291 u32 transfer_buffer_length ;
4292 u32 actual_length ;
4293 unsigned char *setup_packet ;
4294 dma_addr_t setup_dma ;
4295 int start_frame ;
4296 int number_of_packets ;
4297 int interval ;
4298 int error_count ;
4299 void *context ;
4300 void (*complete)(struct urb * ) ;
4301 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4302};
4303# 1388 "include/linux/usb.h"
4304struct scatterlist;
4305# 1 "<compiler builtins>"
4306
4307# 1 "<compiler builtins>"
4308
4309# 97 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4310__inline static void ( __attribute__((__always_inline__)) clear_bit)(int nr , unsigned long volatile *addr )
4311{
4312
4313 {
4314# 105 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4315 __asm__ volatile (".section .smp_locks,\"a\"\n"
4316 ".balign 4\n"
4317 ".long 671f - .\n"
4318 ".previous\n"
4319 "671:"
4320 "\n\tlock; "
4321 "btr %1,%0": "+m" (*((long volatile *)addr)): "Ir" (nr));
4322# 109 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4323 return;
4324}
4325}
4326# 315 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4327__inline static int variable_test_bit(int nr , unsigned long const volatile *addr )
4328{ int oldbit ;
4329
4330 {
4331# 319 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4332 __asm__ volatile ("bt %2,%1\n\t"
4333 "sbb %0,%0": "=r" (oldbit): "m" (*((unsigned long *)addr)),
4334 "Ir" (nr));
4335# 324 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4336 return (oldbit);
4337}
4338}
4339# 11 "include/asm-generic/bitops/find.h"
4340extern unsigned long find_next_bit(unsigned long const *addr , unsigned long size ,
4341 unsigned long offset ) ;
4342# 35 "include/asm-generic/bitops/find.h"
4343extern unsigned long find_first_bit(unsigned long const *addr , unsigned long size ) ;
4344# 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4345__inline static unsigned int __arch_hweight32(unsigned int w )
4346{ unsigned int res ;
4347
4348 {
4349# 26 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4350 res = 0U;
4351# 28 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4352 __asm__ ("661:\n\t"
4353 "call __sw_hweight32"
4354 "\n662:\n"
4355 ".section .altinstructions,\"a\"\n"
4356 " "
4357 ".balign 8"
4358 " "
4359 "\n"
4360 " "
4361 ".quad"
4362 " "
4363 "661b\n"
4364 " "
4365 ".quad"
4366 " "
4367 "663f\n"
4368 "\t .word "
4369 "(4*32+23)"
4370 "\n"
4371 "\t .byte 662b-661b\n"
4372 "\t .byte 664f-663f\n"
4373 ".previous\n"
4374 ".section .discard,\"aw\",@progbits\n"
4375 "\t .byte 0xff + (664f-663f) - (662b-661b)\n"
4376 ".previous\n"
4377 ".section .altinstr_replacement, \"ax\"\n"
4378 "663:\n\t"
4379 ".byte 0xf3,0x40,0x0f,0xb8,0xc7"
4380 "\n664:\n"
4381 ".previous": "=a" (res): "D" (w));
4382# 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4383 return (res);
4384}
4385}
4386# 35 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4387__inline static unsigned int __arch_hweight16(unsigned int w )
4388{ unsigned int tmp ;
4389
4390 {
4391 {
4392# 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4393 tmp = __arch_hweight32(w & 65535U);
4394 }
4395# 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/arch_hweight.h"
4396 return (tmp);
4397}
4398}
4399# 51 "include/linux/log2.h"
4400__inline static bool is_power_of_2(unsigned long n ) __attribute__((__const__)) ;
4401# 51 "include/linux/log2.h"
4402__inline static bool is_power_of_2(unsigned long n ) __attribute__((__const__)) ;
4403# 51 "include/linux/log2.h"
4404__inline static bool is_power_of_2(unsigned long n )
4405{ int tmp ;
4406
4407 {
4408# 54 "include/linux/log2.h"
4409 if (n != 0UL) {
4410# 54 "include/linux/log2.h"
4411 if ((n & (n - 1UL)) == 0UL) {
4412# 54 "include/linux/log2.h"
4413 tmp = 1;
4414 } else {
4415# 54 "include/linux/log2.h"
4416 tmp = 0;
4417 }
4418 } else {
4419# 54 "include/linux/log2.h"
4420 tmp = 0;
4421 }
4422# 54 "include/linux/log2.h"
4423 return ((bool )tmp);
4424}
4425}
4426# 100 "include/linux/printk.h"
4427extern int printk(char const *fmt , ...) ;
4428# 69 "include/asm-generic/bug.h"
4429extern void warn_slowpath_null(char const *file , int const line ) ;
4430# 24 "include/linux/list.h"
4431__inline static void INIT_LIST_HEAD(struct list_head *list )
4432{
4433
4434 {
4435# 26 "include/linux/list.h"
4436 list->next = list;
4437# 27 "include/linux/list.h"
4438 list->prev = list;
4439# 28 "include/linux/list.h"
4440 return;
4441}
4442}
4443# 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4444extern void *__memcpy(void *to , void const *from , size_t len ) ;
4445# 55 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4446extern void *memset(void *s , int c , size_t n ) ;
4447# 60 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
4448extern int memcmp(void const *cs , void const *ct , unsigned long count ) ;
4449# 27 "include/linux/string.h"
4450extern char *strncpy(char * , char const * , __kernel_size_t ) ;
4451# 84 "include/linux/string.h"
4452extern __kernel_size_t strnlen(char const * , __kernel_size_t ) ;
4453# 22 "include/linux/err.h"
4454__inline static void * __attribute__((__warn_unused_result__)) ERR_PTR(long error )
4455{
4456
4457 {
4458# 24 "include/linux/err.h"
4459 return ((void *)error);
4460}
4461}
4462# 27 "include/linux/err.h"
4463__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr )
4464{
4465
4466 {
4467# 29 "include/linux/err.h"
4468 return ((long )ptr);
4469}
4470}
4471# 32 "include/linux/err.h"
4472__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr )
4473{ long tmp ;
4474
4475 {
4476 {
4477# 34 "include/linux/err.h"
4478 tmp = __builtin_expect((long )(! (! ((unsigned long )ptr >= 0x0ffffffffffff001UL))),
4479 0L);
4480 }
4481# 34 "include/linux/err.h"
4482 return (tmp);
4483}
4484}
4485# 261 "include/linux/lockdep.h"
4486extern void lockdep_init_map(struct lockdep_map *lock , char const *name , struct lock_class_key *key ,
4487 int subclass ) ;
4488# 80 "include/linux/wait.h"
4489extern void __init_waitqueue_head(wait_queue_head_t *q , struct lock_class_key * ) ;
4490# 115 "include/linux/mutex.h"
4491extern void __mutex_init(struct mutex *lock , char const *name , struct lock_class_key *key ) ;
4492# 134 "include/linux/mutex.h"
4493extern void mutex_lock_nested(struct mutex *lock , unsigned int subclass ) ;
4494# 169 "include/linux/mutex.h"
4495extern void mutex_unlock(struct mutex *lock ) ;
4496# 82 "include/linux/jiffies.h"
4497extern unsigned long volatile jiffies __attribute__((__section__(".data"))) ;
4498# 298 "include/linux/jiffies.h"
4499extern unsigned long msecs_to_jiffies(unsigned int const m ) ;
4500# 91 "include/linux/timer.h"
4501extern void init_timer_key(struct timer_list *timer , char const *name , struct lock_class_key *key ) ;
4502# 166 "include/linux/timer.h"
4503__inline static void setup_timer_key(struct timer_list *timer , char const *name ,
4504 struct lock_class_key *key , void (*function)(unsigned long ) ,
4505 unsigned long data )
4506{
4507
4508 {
4509 {
4510# 172 "include/linux/timer.h"
4511 timer->function = function;
4512# 173 "include/linux/timer.h"
4513 timer->data = data;
4514# 174 "include/linux/timer.h"
4515 init_timer_key(timer, name, key);
4516 }
4517# 175 "include/linux/timer.h"
4518 return;
4519}
4520}
4521# 210 "include/linux/timer.h"
4522extern int del_timer(struct timer_list *timer ) ;
4523# 211 "include/linux/timer.h"
4524extern int mod_timer(struct timer_list *timer , unsigned long expires ) ;
4525# 280 "include/linux/timer.h"
4526extern int del_timer_sync(struct timer_list *timer ) ;
4527# 156 "include/linux/workqueue.h"
4528extern void __init_work(struct work_struct *work , int onstack ) ;
4529# 299 "include/linux/workqueue.h"
4530extern struct workqueue_struct *__alloc_workqueue_key(char const *name , unsigned int flags ,
4531 int max_active , struct lock_class_key *key ,
4532 char const *lock_name ) ;
4533# 347 "include/linux/workqueue.h"
4534extern void destroy_workqueue(struct workqueue_struct *wq ) ;
4535# 349 "include/linux/workqueue.h"
4536extern int queue_work(struct workqueue_struct *wq , struct work_struct *work ) ;
4537# 372 "include/linux/workqueue.h"
4538extern bool cancel_work_sync(struct work_struct *work ) ;
4539# 76 "include/linux/completion.h"
4540static struct lock_class_key __key___2 ;
4541# 73 "include/linux/completion.h"
4542__inline static void init_completion(struct completion *x )
4543{
4544
4545 {
4546# 75 "include/linux/completion.h"
4547 x->done = 0U;
4548 {
4549# 76 "include/linux/completion.h"
4550 while (1) {
4551 while_continue: ;
4552 {
4553# 76 "include/linux/completion.h"
4554 __init_waitqueue_head(& x->wait, & __key___2);
4555 }
4556# 76 "include/linux/completion.h"
4557 goto while_break;
4558 }
4559 while_break___0: ;
4560 }
4561 while_break: ;
4562# 77 "include/linux/completion.h"
4563 return;
4564}
4565}
4566# 79 "include/linux/completion.h"
4567extern void wait_for_completion(struct completion * ) ;
4568# 91 "include/linux/completion.h"
4569extern void complete(struct completion * ) ;
4570# 830 "include/linux/rcupdate.h"
4571extern void kfree(void const * ) ;
4572# 303 "include/linux/moduleparam.h"
4573extern struct kernel_param_ops param_ops_int ;
4574# 329 "include/linux/moduleparam.h"
4575extern struct kernel_param_ops param_ops_bool ;
4576# 79 "include/linux/module.h"
4577int init_module(void) ;
4578# 80 "include/linux/module.h"
4579void cleanup_module(void) ;
4580# 99 "include/linux/module.h"
4581extern struct module __this_module ;
4582# 57 "include/linux/random.h"
4583extern void get_random_bytes(void *buf , int nbytes ) ;
4584# 221 "include/linux/slub_def.h"
4585extern void *__kmalloc(size_t size , gfp_t flags ) ;
4586# 255 "include/linux/slub_def.h"
4587__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4588 gfp_t flags )
4589{ void *tmp___10 ;
4590
4591 {
4592 {
4593# 270 "include/linux/slub_def.h"
4594 tmp___10 = __kmalloc(size, flags);
4595 }
4596# 270 "include/linux/slub_def.h"
4597 return (tmp___10);
4598}
4599}
4600# 318 "include/linux/slab.h"
4601__inline static void *kzalloc(size_t size , gfp_t flags )
4602{ void *tmp___7 ;
4603
4604 {
4605 {
4606# 320 "include/linux/slab.h"
4607 tmp___7 = kmalloc(size, flags | 32768U);
4608 }
4609# 320 "include/linux/slab.h"
4610 return (tmp___7);
4611}
4612}
4613# 23 "include/linux/mtd/nand_ecc.h"
4614extern void __nand_calculate_ecc(u_char const *dat , unsigned int eccsize , u_char *ecc_code ) ;
4615# 34 "include/linux/mtd/nand_ecc.h"
4616extern int __nand_correct_data(u_char *dat , u_char *read_ecc , u_char *calc_ecc ,
4617 unsigned int eccsize ) ;
4618# 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4619__inline static int sm_sector_valid(struct sm_oob *oob )
4620{ unsigned int tmp___7 ;
4621
4622 {
4623 {
4624# 44 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4625 tmp___7 = __arch_hweight16((unsigned int )oob->data_status);
4626 }
4627# 44 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4628 return (tmp___7 >= 5U);
4629}
4630}
4631# 47 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4632__inline static int sm_block_valid(struct sm_oob *oob )
4633{ unsigned int tmp___7 ;
4634
4635 {
4636 {
4637# 49 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4638 tmp___7 = __arch_hweight16((unsigned int )oob->block_status);
4639 }
4640# 49 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4641 return (tmp___7 >= 7U);
4642}
4643}
4644# 54 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4645__inline static int sm_block_erased(struct sm_oob *oob ) ;
4646# 54 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4647static uint32_t const erased_pattern[4] = { (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U};
4648# 52 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4649__inline static int sm_block_erased(struct sm_oob *oob )
4650{ int tmp___7 ;
4651
4652 {
4653 {
4654# 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4655 tmp___7 = memcmp((void const *)oob, (void const *)(erased_pattern), sizeof(*oob));
4656 }
4657# 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4658 if (tmp___7) {
4659
4660 } else {
4661# 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4662 return (1);
4663 }
4664# 60 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/nand/sm_common.h"
4665 return (0);
4666}
4667}
4668# 86 "include/linux/mtd/blktrans.h"
4669extern int register_mtd_blktrans(struct mtd_blktrans_ops *tr ) ;
4670# 87 "include/linux/mtd/blktrans.h"
4671extern int deregister_mtd_blktrans(struct mtd_blktrans_ops *tr ) ;
4672# 88 "include/linux/mtd/blktrans.h"
4673extern int add_mtd_blktrans_dev(struct mtd_blktrans_dev *dev ) ;
4674# 89 "include/linux/mtd/blktrans.h"
4675extern int del_mtd_blktrans_dev(struct mtd_blktrans_dev *dev ) ;
4676# 174 "include/linux/kfifo.h"
4677__inline static unsigned int __attribute__((__warn_unused_result__)) __kfifo_uint_must_check_helper(unsigned int val )
4678{
4679
4680 {
4681# 177 "include/linux/kfifo.h"
4682 return (val);
4683}
4684}
4685# 180 "include/linux/kfifo.h"
4686__inline static int __attribute__((__warn_unused_result__)) __kfifo_int_must_check_helper(int val )
4687{
4688
4689 {
4690# 183 "include/linux/kfifo.h"
4691 return (val);
4692}
4693}
4694# 790 "include/linux/kfifo.h"
4695extern int __kfifo_alloc(struct __kfifo *fifo , unsigned int size , size_t esize ,
4696 gfp_t gfp_mask ) ;
4697# 793 "include/linux/kfifo.h"
4698extern void __kfifo_free(struct __kfifo *fifo ) ;
4699# 798 "include/linux/kfifo.h"
4700extern unsigned int __kfifo_in(struct __kfifo *fifo , void const *buf , unsigned int len ) ;
4701# 801 "include/linux/kfifo.h"
4702extern unsigned int __kfifo_out(struct __kfifo *fifo , void *buf , unsigned int len ) ;
4703# 819 "include/linux/kfifo.h"
4704extern unsigned int __kfifo_in_r(struct __kfifo *fifo , void const *buf , unsigned int len ,
4705 size_t recsize ) ;
4706# 822 "include/linux/kfifo.h"
4707extern unsigned int __kfifo_out_r(struct __kfifo *fifo , void *buf , unsigned int len ,
4708 size_t recsize ) ;
4709# 89 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4710static void sm_erase_callback(struct erase_info *self ) ;
4711# 90 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4712static int sm_erase_block(struct sm_ftl *ftl , int zone_num , uint16_t block , int put_free ) ;
4713# 92 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4714static void sm_mark_block_bad(struct sm_ftl *ftl , int zone , int block ) ;
4715# 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/mtd/sm_ftl.h"
4716static int sm_recheck_media(struct sm_ftl *ftl ) ;
4717# 26 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4718struct workqueue_struct *cache_flush_workqueue ;
4719# 28 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4720static int cache_timeout = 1000;
4721# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4722static char const __param_str_cache_timeout[14] =
4723# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4724 { (char const )'c', (char const )'a', (char const )'c', (char const )'h',
4725 (char const )'e', (char const )'_', (char const )'t', (char const )'i',
4726 (char const )'m', (char const )'e', (char const )'o', (char const )'u',
4727 (char const )'t', (char const )'\000'};
4728# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4729static struct kernel_param const __param_cache_timeout __attribute__((__used__,
4730__unused__, __section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_cache_timeout, (struct kernel_param_ops const *)(& param_ops_bool),
4731 (u16 )292, (u16 )0, {(void *)(& cache_timeout)}};
4732# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4733static char const __mod_cache_timeouttype29[28] __attribute__((__used__, __unused__,
4734__section__(".modinfo"), __aligned__(1))) =
4735# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4736 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4737 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
4738 (char const )'=', (char const )'c', (char const )'a', (char const )'c',
4739 (char const )'h', (char const )'e', (char const )'_', (char const )'t',
4740 (char const )'i', (char const )'m', (char const )'e', (char const )'o',
4741 (char const )'u', (char const )'t', (char const )':', (char const )'b',
4742 (char const )'o', (char const )'o', (char const )'l', (char const )'\000'};
4743# 30 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4744static char const __mod_cache_timeout31[68] __attribute__((__used__, __unused__,
4745__section__(".modinfo"), __aligned__(1))) =
4746# 30 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4747 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4748 (char const )'=', (char const )'c', (char const )'a', (char const )'c',
4749 (char const )'h', (char const )'e', (char const )'_', (char const )'t',
4750 (char const )'i', (char const )'m', (char const )'e', (char const )'o',
4751 (char const )'u', (char const )'t', (char const )':', (char const )'T',
4752 (char const )'i', (char const )'m', (char const )'e', (char const )'o',
4753 (char const )'u', (char const )'t', (char const )' ', (char const )'(',
4754 (char const )'i', (char const )'n', (char const )' ', (char const )'m',
4755 (char const )'s', (char const )')', (char const )' ', (char const )'f',
4756 (char const )'o', (char const )'r', (char const )' ', (char const )'c',
4757 (char const )'a', (char const )'c', (char const )'h', (char const )'e',
4758 (char const )' ', (char const )'f', (char const )'l', (char const )'u',
4759 (char const )'s', (char const )'h', (char const )' ', (char const )'(',
4760 (char const )'1', (char const )'0', (char const )'0', (char const )'0',
4761 (char const )' ', (char const )'m', (char const )'s', (char const )' ',
4762 (char const )'d', (char const )'e', (char const )'f', (char const )'a',
4763 (char const )'u', (char const )'l', (char const )'t', (char const )'\000'};
4764# 33 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4765static int debug ;
4766# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4767static char const __param_str_debug[6] = { (char const )'d', (char const )'e', (char const )'b', (char const )'u',
4768 (char const )'g', (char const )'\000'};
4769# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4770static struct kernel_param const __param_debug __attribute__((__used__, __unused__,
4771__section__("__param"), __aligned__(sizeof(void *)))) = {__param_str_debug, (struct kernel_param_ops const *)(& param_ops_int), (u16 )420,
4772 (u16 )0, {(void *)(& debug)}};
4773# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4774static char const __mod_debugtype34[19] __attribute__((__used__, __unused__, __section__(".modinfo"),
4775__aligned__(1))) =
4776# 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4777 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4778 (char const )'t', (char const )'y', (char const )'p', (char const )'e',
4779 (char const )'=', (char const )'d', (char const )'e', (char const )'b',
4780 (char const )'u', (char const )'g', (char const )':', (char const )'i',
4781 (char const )'n', (char const )'t', (char const )'\000'};
4782# 35 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4783static char const __mod_debug35[29] __attribute__((__used__, __unused__, __section__(".modinfo"),
4784__aligned__(1))) =
4785# 35 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4786 { (char const )'p', (char const )'a', (char const )'r', (char const )'m',
4787 (char const )'=', (char const )'d', (char const )'e', (char const )'b',
4788 (char const )'u', (char const )'g', (char const )':', (char const )'D',
4789 (char const )'e', (char const )'b', (char const )'u', (char const )'g',
4790 (char const )' ', (char const )'l', (char const )'e', (char const )'v',
4791 (char const )'e', (char const )'l', (char const )' ', (char const )'(',
4792 (char const )'0', (char const )'-', (char const )'2', (char const )')',
4793 (char const )'\000'};
4794# 45 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4795ssize_t sm_attr_show(struct device *dev , struct device_attribute *attr , char *buf )
4796{ struct sm_sysfs_attribute *sm_attr ;
4797 struct device_attribute const *__mptr ;
4798
4799 {
4800 {
4801# 49 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4802 __mptr = (struct device_attribute const *)attr;
4803# 49 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4804 sm_attr = (struct sm_sysfs_attribute *)((char *)__mptr - (unsigned int )(& ((struct sm_sysfs_attribute *)0)->dev_attr));
4805# 51 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4806 strncpy(buf, (char const *)sm_attr->data, (__kernel_size_t )sm_attr->len);
4807 }
4808# 52 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4809 return ((ssize_t )sm_attr->len);
4810}
4811}
4812# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4813static struct lock_class_key __key___4 ;
4814# 58 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4815struct attribute_group *sm_create_sysfs_attributes(struct sm_ftl *ftl )
4816{ struct attribute_group *attr_group ;
4817 struct attribute **attributes ;
4818 struct sm_sysfs_attribute *vendor_attribute ;
4819 int vendor_len ;
4820 __kernel_size_t tmp___7 ;
4821 char *vendor ;
4822 void *tmp___8 ;
4823 size_t __len ;
4824 void *__ret ;
4825 void *tmp___9 ;
4826 void *tmp___10 ;
4827 void *tmp___11 ;
4828
4829 {
4830 {
4831# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4832 tmp___7 = strnlen((char const *)(ftl->cis_buffer + 89), (__kernel_size_t )167);
4833# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4834 vendor_len = (int )tmp___7;
4835# 67 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4836 tmp___8 = kmalloc((size_t )vendor_len, 208U);
4837# 67 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4838 vendor = (char *)tmp___8;
4839 }
4840# 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4841 if (! vendor) {
4842# 69 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4843 goto error1;
4844 } else {
4845
4846 }
4847 {
4848# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4849 __len = (size_t )vendor_len;
4850# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4851 __ret = __builtin_memcpy((void *)vendor, (void const *)(ftl->cis_buffer + 89),
4852 __len);
4853# 71 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4854 *(vendor + vendor_len) = (char)0;
4855# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4856 tmp___9 = kzalloc(sizeof(struct sm_sysfs_attribute ), 208U);
4857# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4858 vendor_attribute = (struct sm_sysfs_attribute *)tmp___9;
4859 }
4860# 76 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4861 if (! vendor_attribute) {
4862# 77 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4863 goto error2;
4864 } else {
4865
4866 }
4867 {
4868# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4869 while (1) {
4870 while_continue: ;
4871# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4872 vendor_attribute->dev_attr.attr.key = & __key___4;
4873# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4874 goto while_break;
4875 }
4876 while_break___0: ;
4877 }
4878 while_break:
4879 {
4880# 81 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4881 vendor_attribute->data = vendor;
4882# 82 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4883 vendor_attribute->len = vendor_len;
4884# 83 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4885 vendor_attribute->dev_attr.attr.name = "vendor";
4886# 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4887 vendor_attribute->dev_attr.attr.mode = (mode_t )292;
4888# 85 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4889 vendor_attribute->dev_attr.show = & sm_attr_show;
4890# 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4891 tmp___10 = kzalloc(sizeof(struct attribute *) * 2UL, 208U);
4892# 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4893 attributes = (struct attribute **)tmp___10;
4894 }
4895# 91 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4896 if (! attributes) {
4897# 92 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4898 goto error3;
4899 } else {
4900
4901 }
4902 {
4903# 93 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4904 *(attributes + 0) = & vendor_attribute->dev_attr.attr;
4905# 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4906 tmp___11 = kzalloc(sizeof(struct attribute_group ), 208U);
4907# 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4908 attr_group = (struct attribute_group *)tmp___11;
4909 }
4910# 97 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4911 if (! attr_group) {
4912# 98 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4913 goto error4;
4914 } else {
4915
4916 }
4917# 99 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4918 attr_group->attrs = attributes;
4919# 100 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4920 return (attr_group);
4921 error4:
4922 {
4923# 102 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4924 kfree((void const *)attributes);
4925 }
4926 error3:
4927 {
4928# 104 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4929 kfree((void const *)vendor_attribute);
4930 }
4931 error2:
4932 {
4933# 106 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4934 kfree((void const *)vendor);
4935 }
4936 error1:
4937# 108 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4938 return ((struct attribute_group *)((void *)0));
4939}
4940}
4941# 111 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4942void sm_delete_sysfs_attributes(struct sm_ftl *ftl )
4943{ struct attribute **attributes ;
4944 int i ;
4945 struct device_attribute *dev_attr ;
4946 struct attribute const *__mptr ;
4947 struct sm_sysfs_attribute *sm_attr ;
4948 struct device_attribute const *__mptr___0 ;
4949
4950 {
4951# 113 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4952 attributes = (ftl->disk_attributes)->attrs;
4953# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4954 i = 0;
4955 {
4956# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4957 while (1) {
4958 while_continue: ;
4959# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4960 if (*(attributes + i)) {
4961
4962 } else {
4963# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4964 goto while_break;
4965 }
4966 {
4967# 118 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4968 __mptr = (struct attribute const *)*(attributes + i);
4969# 118 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4970 dev_attr = (struct device_attribute *)((char *)__mptr - (unsigned int )(& ((struct device_attribute *)0)->attr));
4971# 122 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4972 __mptr___0 = (struct device_attribute const *)dev_attr;
4973# 122 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4974 sm_attr = (struct sm_sysfs_attribute *)((char *)__mptr___0 - (unsigned int )(& ((struct sm_sysfs_attribute *)0)->dev_attr));
4975# 125 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4976 kfree((void const *)sm_attr->data);
4977# 126 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4978 kfree((void const *)sm_attr);
4979# 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4980 i = i + 1;
4981 }
4982 }
4983 while_break___0: ;
4984 }
4985 while_break:
4986 {
4987# 129 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4988 kfree((void const *)(ftl->disk_attributes)->attrs);
4989# 130 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4990 kfree((void const *)ftl->disk_attributes);
4991 }
4992# 131 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4993 return;
4994}
4995}
4996# 136 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
4997static int sm_get_lba(uint8_t *lba )
4998{ unsigned int tmp___7 ;
4999
5000 {
5001# 139 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5002 if (((int )*(lba + 0) & 248) != 16) {
5003# 140 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5004 return (-2);
5005 } else {
5006
5007 }
5008 {
5009# 143 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5010 tmp___7 = __arch_hweight16((unsigned int )*((uint16_t *)lba));
5011 }
5012# 143 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5013 if (tmp___7 & 1U) {
5014# 144 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5015 return (-2);
5016 } else {
5017
5018 }
5019# 146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5020 return (((int )*(lba + 1) >> 1) | (((int )*(lba + 0) & 7) << 7));
5021}
5022}
5023# 157 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5024static int sm_read_lba(struct sm_oob *oob ) ;
5025# 157 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5026static uint32_t const erased_pattern___0[4] = { (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U, (uint32_t const )4294967295U};
5027# 155 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5028static int sm_read_lba(struct sm_oob *oob )
5029{ uint16_t lba_test ;
5030 int lba ;
5031 int tmp___7 ;
5032 bool tmp___8 ;
5033
5034 {
5035 {
5036# 164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5037 tmp___7 = memcmp((void const *)oob, (void const *)(erased_pattern___0), 16UL);
5038 }
5039# 164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5040 if (tmp___7) {
5041
5042 } else {
5043# 165 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5044 return (-1);
5045 }
5046# 168 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5047 lba_test = (uint16_t )((int )*((uint16_t *)(oob->lba_copy1)) ^ (int )*((uint16_t *)(oob->lba_copy2)));
5048# 169 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5049 if (lba_test) {
5050 {
5051# 169 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5052 tmp___8 = is_power_of_2((unsigned long )lba_test);
5053 }
5054# 169 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5055 if (tmp___8) {
5056
5057 } else {
5058# 170 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5059 return (-2);
5060 }
5061 } else {
5062
5063 }
5064 {
5065# 173 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5066 lba = sm_get_lba(oob->lba_copy1);
5067 }
5068# 175 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5069 if (lba == -2) {
5070 {
5071# 176 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5072 lba = sm_get_lba(oob->lba_copy2);
5073 }
5074 } else {
5075
5076 }
5077# 178 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5078 return (lba);
5079}
5080}
5081# 181 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5082static void sm_write_lba(struct sm_oob *oob , uint16_t lba )
5083{ uint8_t tmp___7[2] ;
5084 int __ret_warn_on ;
5085 long tmp___8 ;
5086 unsigned int tmp___9 ;
5087 uint8_t tmp___10 ;
5088 uint8_t tmp___11 ;
5089
5090 {
5091 {
5092# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5093 __ret_warn_on = ! (! ((int )lba >= 1000));
5094# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5095 tmp___8 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5096 }
5097# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5098 if (tmp___8) {
5099 {
5100# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5101 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5102 (int const )185);
5103 }
5104 } else {
5105
5106 }
5107 {
5108# 185 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5109 __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5110# 187 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5111 tmp___7[0] = (uint8_t )(16 | (((int )lba >> 7) & 7));
5112# 188 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5113 tmp___7[1] = (uint8_t )(((int )lba << 1) & 255);
5114# 190 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5115 tmp___9 = __arch_hweight16((unsigned int )*((uint16_t *)(tmp___7)));
5116 }
5117# 190 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5118 if (tmp___9 & 1U) {
5119# 191 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5120 tmp___7[1] = (uint8_t )((int )tmp___7[1] | 1);
5121 } else {
5122
5123 }
5124# 193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5125 tmp___10 = tmp___7[0];
5126# 193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5127 oob->lba_copy2[0] = tmp___10;
5128# 193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5129 oob->lba_copy1[0] = tmp___10;
5130# 194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5131 tmp___11 = tmp___7[1];
5132# 194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5133 oob->lba_copy2[1] = tmp___11;
5134# 194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5135 oob->lba_copy1[1] = tmp___11;
5136# 195 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5137 return;
5138}
5139}
5140# 199 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5141static loff_t sm_mkoffset(struct sm_ftl *ftl , int zone , int block , int boffset )
5142{ int __ret_warn_on ;
5143 long tmp___7 ;
5144 int __ret_warn_on___0 ;
5145 int tmp___8 ;
5146 long tmp___9 ;
5147 int __ret_warn_on___1 ;
5148 long tmp___10 ;
5149 int __ret_warn_on___2 ;
5150 long tmp___11 ;
5151
5152 {
5153 {
5154# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5155 __ret_warn_on = ! (! (boffset & 511));
5156# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5157 tmp___7 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5158 }
5159# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5160 if (tmp___7) {
5161 {
5162# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5163 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5164 (int const )201);
5165 }
5166 } else {
5167
5168 }
5169 {
5170# 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5171 __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5172 }
5173# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5174 if (zone < 0) {
5175# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5176 tmp___8 = 1;
5177 } else
5178# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5179 if (zone >= ftl->zone_count) {
5180# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5181 tmp___8 = 1;
5182 } else {
5183# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5184 tmp___8 = 0;
5185 }
5186 {
5187# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5188 __ret_warn_on___0 = tmp___8;
5189# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5190 tmp___9 = __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5191 }
5192# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5193 if (tmp___9) {
5194 {
5195# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5196 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5197 (int const )202);
5198 }
5199 } else {
5200
5201 }
5202 {
5203# 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5204 __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5205# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5206 __ret_warn_on___1 = ! (! (block >= ftl->zone_size));
5207# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5208 tmp___10 = __builtin_expect((long )(! (! __ret_warn_on___1)), 0L);
5209 }
5210# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5211 if (tmp___10) {
5212 {
5213# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5214 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5215 (int const )203);
5216 }
5217 } else {
5218
5219 }
5220 {
5221# 203 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5222 __builtin_expect((long )(! (! __ret_warn_on___1)), 0L);
5223# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5224 __ret_warn_on___2 = ! (! (boffset >= ftl->block_size));
5225# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5226 tmp___11 = __builtin_expect((long )(! (! __ret_warn_on___2)), 0L);
5227 }
5228# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5229 if (tmp___11) {
5230 {
5231# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5232 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5233 (int const )204);
5234 }
5235 } else {
5236
5237 }
5238 {
5239# 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5240 __builtin_expect((long )(! (! __ret_warn_on___2)), 0L);
5241 }
5242# 206 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5243 if (block == -1) {
5244# 207 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5245 return ((loff_t )-1);
5246 } else {
5247
5248 }
5249# 209 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5250 return ((loff_t )((zone * 1024 + block) * ftl->block_size + boffset));
5251}
5252}
5253# 213 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5254static void sm_break_offset(struct sm_ftl *ftl , loff_t offset , int *zone , int *block ,
5255 int *boffset )
5256{ uint32_t __base ;
5257 uint32_t __rem ;
5258 uint32_t __base___0 ;
5259 uint32_t __rem___0 ;
5260
5261 {
5262# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5263 __base = (uint32_t )ftl->block_size;
5264# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5265 __rem = (uint32_t )((uint64_t )offset % (unsigned long long )__base);
5266# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5267 offset = (loff_t )((uint64_t )offset / (uint64_t )__base);
5268# 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5269 *boffset = (int )__rem;
5270# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5271 __base___0 = (uint32_t )ftl->max_lba;
5272# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5273 __rem___0 = (uint32_t )((uint64_t )offset % (unsigned long long )__base___0);
5274# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5275 offset = (loff_t )((uint64_t )offset / (uint64_t )__base___0);
5276# 217 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5277 *block = (int )__rem___0;
5278# 218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5279 if (offset >= (loff_t )ftl->zone_count) {
5280# 218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5281 *zone = -1;
5282 } else {
5283# 218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5284 *zone = (int )offset;
5285 }
5286# 219 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5287 return;
5288}
5289}
5290# 223 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5291static int sm_correct_sector(uint8_t *buffer , struct sm_oob *oob )
5292{ uint8_t ecc[3] ;
5293 int tmp___7 ;
5294 int tmp___8 ;
5295
5296 {
5297 {
5298# 227 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5299 __nand_calculate_ecc((u_char const *)buffer, 256U, ecc);
5300# 228 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5301 tmp___7 = __nand_correct_data(buffer, ecc, oob->ecc1, 256U);
5302 }
5303# 228 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5304 if (tmp___7 < 0) {
5305# 229 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5306 return (-5);
5307 } else {
5308
5309 }
5310 {
5311# 231 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5312 buffer = buffer + 256;
5313# 233 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5314 __nand_calculate_ecc((u_char const *)buffer, 256U, ecc);
5315# 234 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5316 tmp___8 = __nand_correct_data(buffer, ecc, oob->ecc2, 256U);
5317 }
5318# 234 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5319 if (tmp___8 < 0) {
5320# 235 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5321 return (-5);
5322 } else {
5323
5324 }
5325# 236 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5326 return (0);
5327}
5328}
5329# 240 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5330static int sm_read_sector(struct sm_ftl *ftl , int zone , int block , int boffset ,
5331 uint8_t *buffer , struct sm_oob *oob )
5332{ struct mtd_info *mtd ;
5333 struct mtd_oob_ops ops ;
5334 struct sm_oob tmp_oob ;
5335 int ret ;
5336 int try ;
5337 int tmp___7 ;
5338 int tmp___8 ;
5339 loff_t tmp___9 ;
5340 bool tmp___10 ;
5341 int __ret_warn_on ;
5342 long tmp___11 ;
5343 int __ret_warn_on___0 ;
5344 int tmp___12 ;
5345 long tmp___13 ;
5346 int tmp___14 ;
5347 int tmp___15 ;
5348
5349 {
5350# 244 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5351 mtd = (ftl->trans)->mtd;
5352# 247 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5353 ret = -5;
5354# 248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5355 try = 0;
5356# 251 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5357 if (block == -1) {
5358 {
5359# 252 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5360 memset((void *)buffer, 255, (size_t )512);
5361 }
5362# 253 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5363 return (0);
5364 } else {
5365
5366 }
5367# 257 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5368 if (! oob) {
5369# 258 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5370 oob = & tmp_oob;
5371 } else {
5372
5373 }
5374# 260 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5375 if (ftl->smallpagenand) {
5376# 260 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5377 ops.mode = (mtd_oob_mode_t )2;
5378 } else {
5379# 260 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5380 ops.mode = (mtd_oob_mode_t )0;
5381 }
5382# 261 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5383 ops.ooboffs = (uint32_t )0;
5384# 262 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5385 ops.ooblen = (size_t )16;
5386# 263 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5387 ops.oobbuf = (uint8_t *)((void *)oob);
5388# 264 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5389 ops.len = (size_t )512;
5390# 265 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5391 ops.datbuf = buffer;
5392 again:
5393# 268 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5394 tmp___8 = try;
5395# 268 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5396 try = try + 1;
5397# 268 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5398 if (tmp___8) {
5399# 271 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5400 if (zone == 0) {
5401# 271 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5402 if (block == ftl->cis_block) {
5403# 271 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5404 if (boffset == ftl->cis_boffset) {
5405# 273 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5406 return (ret);
5407 } else {
5408
5409 }
5410 } else {
5411
5412 }
5413 } else {
5414
5415 }
5416# 276 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5417 if (try == 3) {
5418# 277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5419 return (ret);
5420 } else {
5421 {
5422# 276 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5423 tmp___7 = sm_recheck_media(ftl);
5424 }
5425# 276 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5426 if (tmp___7) {
5427# 277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5428 return (ret);
5429 } else {
5430
5431 }
5432 }
5433 } else {
5434
5435 }
5436 {
5437# 282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5438 tmp___9 = sm_mkoffset(ftl, zone, block, boffset);
5439# 282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5440 ret = (*(mtd->read_oob))(mtd, tmp___9, & ops);
5441 }
5442# 285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5443 if (ret != 0) {
5444# 285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5445 if (ret != -117) {
5446# 285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5447 if (ret != -74) {
5448# 286 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5449 if (debug) {
5450 {
5451# 286 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5452 printk("<7>sm_ftl: read of block %d at zone %d, failed due to error (%d)\n",
5453 block, zone, ret);
5454 }
5455 } else {
5456
5457 }
5458# 288 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5459 goto again;
5460 } else {
5461
5462 }
5463 } else {
5464
5465 }
5466 } else {
5467
5468 }
5469# 292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5470 if (oob->reserved != 4294967295U) {
5471 {
5472# 292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5473 tmp___10 = is_power_of_2((unsigned long )(~ oob->reserved));
5474 }
5475# 292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5476 if (tmp___10) {
5477
5478 } else {
5479# 293 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5480 goto again;
5481 }
5482 } else {
5483
5484 }
5485 {
5486# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5487 __ret_warn_on = ! (! (ops.oobretlen != 16UL));
5488# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5489 tmp___11 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5490 }
5491# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5492 if (tmp___11) {
5493 {
5494# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5495 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5496 (int const )296);
5497 }
5498 } else {
5499
5500 }
5501 {
5502# 296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5503 __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5504 }
5505# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5506 if (buffer) {
5507# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5508 if (ops.retlen != 512UL) {
5509# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5510 tmp___12 = 1;
5511 } else {
5512# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5513 tmp___12 = 0;
5514 }
5515 } else {
5516# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5517 tmp___12 = 0;
5518 }
5519 {
5520# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5521 __ret_warn_on___0 = tmp___12;
5522# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5523 tmp___13 = __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5524 }
5525# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5526 if (tmp___13) {
5527 {
5528# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5529 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5530 (int const )297);
5531 }
5532 } else {
5533
5534 }
5535 {
5536# 297 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5537 __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5538 }
5539# 299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5540 if (! buffer) {
5541# 300 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5542 return (0);
5543 } else {
5544
5545 }
5546 {
5547# 303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5548 tmp___14 = sm_sector_valid(oob);
5549 }
5550# 303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5551 if (tmp___14) {
5552
5553 } else {
5554# 304 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5555 if (debug) {
5556 {
5557# 304 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5558 printk("<7>sm_ftl: read of block %d at zone %d, failed because it is marked as bad\n",
5559 block, zone);
5560 }
5561 } else {
5562
5563 }
5564# 306 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5565 goto again;
5566 }
5567# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5568 if (ret == -74) {
5569# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5570 goto _L;
5571 } else
5572# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5573 if (ftl->smallpagenand) {
5574 {
5575# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5576 tmp___15 = sm_correct_sector(buffer, oob);
5577 }
5578# 310 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5579 if (tmp___15) {
5580 _L:
5581# 313 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5582 if (debug) {
5583 {
5584# 313 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5585 printk("<7>sm_ftl: read of block %d at zone %d, failed due to ECC error\n",
5586 block, zone);
5587 }
5588 } else {
5589
5590 }
5591# 315 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5592 goto again;
5593 } else {
5594
5595 }
5596 } else {
5597
5598 }
5599# 318 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5600 return (0);
5601}
5602}
5603# 322 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5604static int sm_write_sector(struct sm_ftl *ftl , int zone , int block , int boffset ,
5605 uint8_t *buffer , struct sm_oob *oob )
5606{ struct mtd_oob_ops ops ;
5607 struct mtd_info *mtd ;
5608 int ret ;
5609 long tmp___7 ;
5610 loff_t tmp___8 ;
5611 int __ret_warn_on ;
5612 long tmp___9 ;
5613 int __ret_warn_on___0 ;
5614 int tmp___10 ;
5615 long tmp___11 ;
5616
5617 {
5618# 327 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5619 mtd = (ftl->trans)->mtd;
5620 {
5621# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5622 while (1) {
5623 while_continue: ;
5624 {
5625# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5626 tmp___7 = __builtin_expect((long )(! (! ftl->readonly)), 0L);
5627 }
5628# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5629 if (tmp___7) {
5630 {
5631# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5632 while (1) {
5633 while_continue___0: ;
5634# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5635 __asm__ volatile ("1:\tud2\n"
5636 ".pushsection __bug_table,\"a\"\n"
5637 "2:\t.long 1b - 2b, %c0 - 2b\n"
5638 "\t.word %c1, 0\n"
5639 "\t.org 2b+%c2\n"
5640 ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
5641 "i" (330), "i" (sizeof(struct bug_entry )));
5642 {
5643# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5644 while (1) {
5645 while_continue___1: ;
5646
5647 }
5648 while_break___3: ;
5649 }
5650# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5651 goto while_break___0;
5652 }
5653 while_break___2: ;
5654 }
5655 while_break___0: ;
5656 } else {
5657
5658 }
5659# 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5660 goto while_break;
5661 }
5662 while_break___1: ;
5663 }
5664 while_break: ;
5665# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5666 if (zone == 0) {
5667# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5668 if (block == ftl->cis_block) {
5669# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5670 goto _L;
5671 } else
5672# 332 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5673 if (block == 0) {
5674 _L:
5675# 333 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5676 if (debug) {
5677 {
5678# 333 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5679 printk("<7>sm_ftl: attempted to write the CIS!\n");
5680 }
5681 } else {
5682
5683 }
5684# 334 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5685 return (-5);
5686 } else {
5687
5688 }
5689 } else {
5690
5691 }
5692# 337 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5693 if (ftl->unstable) {
5694# 338 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5695 return (-5);
5696 } else {
5697
5698 }
5699# 340 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5700 if (ftl->smallpagenand) {
5701# 340 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5702 ops.mode = (mtd_oob_mode_t )2;
5703 } else {
5704# 340 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5705 ops.mode = (mtd_oob_mode_t )0;
5706 }
5707 {
5708# 341 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5709 ops.len = (size_t )512;
5710# 342 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5711 ops.datbuf = buffer;
5712# 343 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5713 ops.ooboffs = (uint32_t )0;
5714# 344 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5715 ops.ooblen = (size_t )16;
5716# 345 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5717 ops.oobbuf = (uint8_t *)((void *)oob);
5718# 347 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5719 tmp___8 = sm_mkoffset(ftl, zone, block, boffset);
5720# 347 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5721 ret = (*(mtd->write_oob))(mtd, tmp___8, & ops);
5722 }
5723# 352 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5724 if (ret) {
5725# 353 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5726 if (debug) {
5727 {
5728# 353 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5729 printk("<7>sm_ftl: write to block %d at zone %d, failed with error %d\n", block,
5730 zone, ret);
5731 }
5732 } else {
5733
5734 }
5735 {
5736# 356 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5737 sm_recheck_media(ftl);
5738 }
5739# 357 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5740 return (ret);
5741 } else {
5742
5743 }
5744 {
5745# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5746 __ret_warn_on = ! (! (ops.oobretlen != 16UL));
5747# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5748 tmp___9 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5749 }
5750# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5751 if (tmp___9) {
5752 {
5753# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5754 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5755 (int const )361);
5756 }
5757 } else {
5758
5759 }
5760 {
5761# 361 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5762 __builtin_expect((long )(! (! __ret_warn_on)), 0L);
5763 }
5764# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5765 if (buffer) {
5766# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5767 if (ops.retlen != 512UL) {
5768# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5769 tmp___10 = 1;
5770 } else {
5771# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5772 tmp___10 = 0;
5773 }
5774 } else {
5775# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5776 tmp___10 = 0;
5777 }
5778 {
5779# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5780 __ret_warn_on___0 = tmp___10;
5781# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5782 tmp___11 = __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5783 }
5784# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5785 if (tmp___11) {
5786 {
5787# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5788 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
5789 (int const )362);
5790 }
5791 } else {
5792
5793 }
5794 {
5795# 362 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5796 __builtin_expect((long )(! (! __ret_warn_on___0)), 0L);
5797 }
5798# 364 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5799 return (0);
5800}
5801}
5802# 370 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5803static int sm_write_block(struct sm_ftl *ftl , uint8_t *buf , int zone , int block ,
5804 int lba , unsigned long invalid_bitmap )
5805{ struct sm_oob oob ;
5806 int boffset ;
5807 int retry ;
5808 int tmp___8 ;
5809 int tmp___9 ;
5810 int tmp___10 ;
5811
5812 {
5813 {
5814# 376 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5815 retry = 0;
5816# 379 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5817 memset((void *)(& oob), 255, (size_t )16);
5818# 380 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5819 sm_write_lba(& oob, (uint16_t )lba);
5820 }
5821 restart:
5822# 382 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5823 if (ftl->unstable) {
5824# 383 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5825 return (-5);
5826 } else {
5827
5828 }
5829# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5830 boffset = 0;
5831 {
5832# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5833 while (1) {
5834 while_continue: ;
5835# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5836 if (boffset < ftl->block_size) {
5837
5838 } else {
5839# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5840 goto while_break;
5841 }
5842 {
5843# 388 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5844 oob.data_status = (uint8_t )255;
5845# 390 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5846 tmp___8 = variable_test_bit(boffset / 512, (unsigned long const volatile *)(& invalid_bitmap));
5847 }
5848# 390 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5849 if (tmp___8) {
5850 {
5851# 392 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5852 printk("<4>sm_ftl: sector %d of block at LBA %d of zone %d coudn\'t be read, marking it as invalid\n",
5853 boffset / 512, lba, zone);
5854# 396 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5855 oob.data_status = (uint8_t )0;
5856 }
5857 } else {
5858
5859 }
5860# 399 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5861 if (ftl->smallpagenand) {
5862 {
5863# 400 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5864 __nand_calculate_ecc((u_char const *)(buf + boffset), 256U, oob.ecc1);
5865# 403 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5866 __nand_calculate_ecc((u_char const *)((buf + boffset) + 256), 256U, oob.ecc2);
5867 }
5868 } else {
5869
5870 }
5871 {
5872# 406 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5873 tmp___9 = sm_write_sector(ftl, zone, block, boffset, buf + boffset, & oob);
5874 }
5875# 406 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5876 if (tmp___9) {
5877
5878 } else {
5879# 408 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5880 goto __Cont;
5881 }
5882# 410 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5883 if (! retry) {
5884 {
5885# 418 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5886 tmp___10 = sm_erase_block(ftl, zone, (uint16_t )block, 0);
5887 }
5888# 418 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5889 if (tmp___10) {
5890# 419 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5891 return (-5);
5892 } else {
5893
5894 }
5895# 421 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5896 retry = 1;
5897# 422 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5898 goto restart;
5899 } else {
5900 {
5901# 424 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5902 sm_mark_block_bad(ftl, zone, block);
5903 }
5904# 425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5905 return (-5);
5906 }
5907 __Cont:
5908# 385 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5909 boffset = boffset + 512;
5910 }
5911 while_break___0: ;
5912 }
5913 while_break: ;
5914# 428 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5915 return (0);
5916}
5917}
5918# 433 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5919static void sm_mark_block_bad(struct sm_ftl *ftl , int zone , int block )
5920{ struct sm_oob oob ;
5921 int boffset ;
5922 int tmp___7 ;
5923
5924 {
5925 {
5926# 438 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5927 memset((void *)(& oob), 255, (size_t )16);
5928# 439 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5929 oob.block_status = (uint8_t )240;
5930 }
5931# 441 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5932 if (ftl->unstable) {
5933# 442 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5934 return;
5935 } else {
5936
5937 }
5938 {
5939# 444 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5940 tmp___7 = sm_recheck_media(ftl);
5941 }
5942# 444 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5943 if (tmp___7) {
5944# 445 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5945 return;
5946 } else {
5947
5948 }
5949 {
5950# 447 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5951 printk("<4>sm_ftl: marking block %d of zone %d as bad\n", block, zone);
5952# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5953 boffset = 0;
5954 }
5955 {
5956# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5957 while (1) {
5958 while_continue: ;
5959# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5960 if (boffset < ftl->block_size) {
5961
5962 } else {
5963# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5964 goto while_break;
5965 }
5966 {
5967# 453 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5968 sm_write_sector(ftl, zone, block, boffset, (uint8_t *)((void *)0), & oob);
5969# 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5970 boffset = boffset + 512;
5971 }
5972 }
5973 while_break___0: ;
5974 }
5975 while_break: ;
5976# 454 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5977 return;
5978}
5979}
5980# 460 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5981static int sm_erase_block(struct sm_ftl *ftl , int zone_num , uint16_t block , int put_free )
5982{ struct ftl_zone *zone ;
5983 struct mtd_info *mtd ;
5984 struct erase_info erase ;
5985 loff_t tmp___7 ;
5986 long tmp___8 ;
5987 int tmp___9 ;
5988 struct kfifo *__tmp ;
5989 unsigned char const *__buf ;
5990 unsigned long __n ;
5991 size_t __recsize ;
5992 struct __kfifo *__kfifo ;
5993
5994 {
5995 {
5996# 463 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5997 zone = ftl->zones + zone_num;
5998# 464 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
5999 mtd = (ftl->trans)->mtd;
6000# 467 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6001 erase.mtd = mtd;
6002# 468 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6003 erase.callback = & sm_erase_callback;
6004# 469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6005 tmp___7 = sm_mkoffset(ftl, zone_num, (int )block, 0);
6006# 469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6007 erase.addr = (uint64_t )tmp___7;
6008# 470 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6009 erase.len = (uint64_t )ftl->block_size;
6010# 471 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6011 erase.priv = (u_long )ftl;
6012 }
6013# 473 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6014 if (ftl->unstable) {
6015# 474 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6016 return (-5);
6017 } else {
6018
6019 }
6020 {
6021# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6022 while (1) {
6023 while_continue: ;
6024 {
6025# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6026 tmp___8 = __builtin_expect((long )(! (! ftl->readonly)), 0L);
6027 }
6028# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6029 if (tmp___8) {
6030 {
6031# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6032 while (1) {
6033 while_continue___0: ;
6034# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6035 __asm__ volatile ("1:\tud2\n"
6036 ".pushsection __bug_table,\"a\"\n"
6037 "2:\t.long 1b - 2b, %c0 - 2b\n"
6038 "\t.word %c1, 0\n"
6039 "\t.org 2b+%c2\n"
6040 ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
6041 "i" (476), "i" (sizeof(struct bug_entry )));
6042 {
6043# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6044 while (1) {
6045 while_continue___1: ;
6046
6047 }
6048 while_break___3: ;
6049 }
6050# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6051 goto while_break___0;
6052 }
6053 while_break___2: ;
6054 }
6055 while_break___0: ;
6056 } else {
6057
6058 }
6059# 476 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6060 goto while_break;
6061 }
6062 while_break___1: ;
6063 }
6064 while_break: ;
6065# 478 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6066 if (zone_num == 0) {
6067# 478 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6068 if ((int )block == ftl->cis_block) {
6069 {
6070# 479 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6071 printk("<4>sm_ftl: attempted to erase the CIS!\n");
6072 }
6073# 480 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6074 return (-5);
6075 } else
6076# 478 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6077 if ((int )block == 0) {
6078 {
6079# 479 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6080 printk("<4>sm_ftl: attempted to erase the CIS!\n");
6081 }
6082# 480 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6083 return (-5);
6084 } else {
6085
6086 }
6087 } else {
6088
6089 }
6090 {
6091# 483 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6092 tmp___9 = (*(mtd->erase))(mtd, & erase);
6093 }
6094# 483 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6095 if (tmp___9) {
6096 {
6097# 484 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6098 printk("<4>sm_ftl: erase of block %d in zone %d failed\n", (int )block, zone_num);
6099 }
6100# 486 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6101 goto error;
6102 } else {
6103
6104 }
6105# 489 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6106 if ((int )erase.state == 1) {
6107 {
6108# 490 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6109 wait_for_completion(& ftl->erase_completion);
6110 }
6111 } else {
6112
6113 }
6114# 492 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6115 if ((int )erase.state != 8) {
6116 {
6117# 493 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6118 printk("<4>sm_ftl: erase of block %d in zone %d failed after wait\n", (int )block,
6119 zone_num);
6120 }
6121# 495 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6122 goto error;
6123 } else {
6124
6125 }
6126# 498 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6127 if (put_free) {
6128# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6129 __tmp = & zone->free_sectors;
6130# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6131 __buf = (unsigned char const *)(& block);
6132# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6133 __n = sizeof(block);
6134# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6135 __recsize = sizeof(*(__tmp->__annonCompField39.rectype));
6136# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6137 __kfifo = & __tmp->__annonCompField39.kfifo;
6138# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6139 if (__recsize) {
6140 {
6141# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6142 __kfifo_in_r(__kfifo, (void const *)__buf, (unsigned int )__n, __recsize);
6143 }
6144 } else {
6145 {
6146# 499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6147 __kfifo_in(__kfifo, (void const *)__buf, (unsigned int )__n);
6148 }
6149 }
6150 } else {
6151
6152 }
6153# 502 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6154 return (0);
6155 error:
6156 {
6157# 504 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6158 sm_mark_block_bad(ftl, zone_num, (int )block);
6159 }
6160# 505 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6161 return (-5);
6162}
6163}
6164# 508 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6165static void sm_erase_callback(struct erase_info *self )
6166{ struct sm_ftl *ftl ;
6167
6168 {
6169 {
6170# 510 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6171 ftl = (struct sm_ftl *)self->priv;
6172# 511 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6173 complete(& ftl->erase_completion);
6174 }
6175# 512 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6176 return;
6177}
6178}
6179# 515 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6180static int sm_check_block(struct sm_ftl *ftl , int zone , int block )
6181{ int boffset ;
6182 struct sm_oob oob ;
6183 int lbas[4] ;
6184 int i ;
6185 int test_lba ;
6186 int tmp___7 ;
6187
6188 {
6189# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6190 lbas[0] = -3;
6191# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6192 lbas[1] = 0;
6193# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6194 lbas[2] = 0;
6195# 519 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6196 lbas[3] = 0;
6197# 520 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6198 i = 0;
6199# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6200 boffset = 0;
6201 {
6202# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6203 while (1) {
6204 while_continue: ;
6205# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6206 if (boffset < ftl->block_size) {
6207
6208 } else {
6209# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6210 goto while_break;
6211 }
6212 {
6213# 531 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6214 tmp___7 = sm_read_sector(ftl, zone, block, boffset, (uint8_t *)((void *)0), & oob);
6215 }
6216# 531 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6217 if (tmp___7) {
6218# 532 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6219 return (-2);
6220 } else {
6221
6222 }
6223 {
6224# 534 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6225 test_lba = sm_read_lba(& oob);
6226 }
6227# 536 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6228 if (lbas[i] != test_lba) {
6229# 537 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6230 i = i + 1;
6231# 537 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6232 lbas[i] = test_lba;
6233 } else {
6234
6235 }
6236# 540 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6237 if (i == 3) {
6238# 541 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6239 return (-5);
6240 } else {
6241
6242 }
6243# 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6244 boffset = boffset + 512;
6245 }
6246 while_break___0: ;
6247 }
6248 while_break: ;
6249# 545 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6250 if (i == 2) {
6251 {
6252# 546 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6253 sm_erase_block(ftl, zone, (uint16_t )block, 1);
6254 }
6255# 547 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6256 return (1);
6257 } else {
6258
6259 }
6260# 550 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6261 return (0);
6262}
6263}
6264# 554 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6265static struct chs_entry const chs_table[13] =
6266# 554 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6267 { {1UL, (unsigned short)125, (unsigned char)4, (unsigned char)4},
6268 {2UL, (unsigned short)125, (unsigned char)4, (unsigned char)8},
6269 {4UL, (unsigned short)250, (unsigned char)4, (unsigned char)8},
6270 {8UL, (unsigned short)250, (unsigned char)4, (unsigned char)16},
6271 {16UL, (unsigned short)500, (unsigned char)4, (unsigned char)16},
6272 {32UL, (unsigned short)500, (unsigned char)8, (unsigned char)16},
6273 {64UL, (unsigned short)500, (unsigned char)8, (unsigned char)32},
6274 {128UL, (unsigned short)500, (unsigned char)16, (unsigned char)32},
6275 {256UL, (unsigned short)1000, (unsigned char)16, (unsigned char)32},
6276 {512UL, (unsigned short)1015, (unsigned char)32, (unsigned char)63},
6277 {1024UL, (unsigned short)985, (unsigned char)33, (unsigned char)63},
6278 {2048UL, (unsigned short)985, (unsigned char)33, (unsigned char)63},
6279 {0UL, (unsigned short)0, (unsigned char)0, (unsigned char)0}};
6280# 571 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6281static uint8_t const cis_signature[10] =
6282# 571 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6283 { (uint8_t const )1, (uint8_t const )3, (uint8_t const )217, (uint8_t const )1,
6284 (uint8_t const )255, (uint8_t const )24, (uint8_t const )2, (uint8_t const )223,
6285 (uint8_t const )1, (uint8_t const )32};
6286# 576 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6287int sm_get_media_info(struct sm_ftl *ftl , struct mtd_info *mtd )
6288{ int i ;
6289 int size_in_megs ;
6290
6291 {
6292# 579 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6293 size_in_megs = (int )(mtd->size / 1048576ULL);
6294# 581 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6295 ftl->readonly = (bool )((int )mtd->type == 2);
6296# 584 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6297 ftl->zone_count = 1;
6298# 585 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6299 ftl->smallpagenand = 0;
6300# 588 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6301 if (size_in_megs == 1) {
6302# 588 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6303 goto case_1;
6304 } else
6305# 596 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6306 if (size_in_megs == 2) {
6307# 596 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6308 goto case_2;
6309 } else
6310# 614 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6311 if (size_in_megs == 4) {
6312# 614 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6313 goto case_4;
6314 } else
6315# 620 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6316 if (size_in_megs == 8) {
6317# 620 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6318 goto case_8;
6319 } else
6320# 587 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6321 if (0) {
6322 case_1:
6323# 590 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6324 ftl->zone_size = 256;
6325# 591 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6326 ftl->max_lba = 250;
6327# 592 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6328 ftl->block_size = 4096;
6329# 593 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6330 ftl->smallpagenand = 1;
6331# 595 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6332 goto switch_break;
6333 case_2:
6334# 598 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6335 if (mtd->writesize == 256U) {
6336# 599 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6337 ftl->zone_size = 512;
6338# 600 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6339 ftl->max_lba = 500;
6340# 601 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6341 ftl->block_size = 4096;
6342# 602 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6343 ftl->smallpagenand = 1;
6344 } else {
6345# 606 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6346 if (! ftl->readonly) {
6347# 607 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6348 return (-19);
6349 } else {
6350
6351 }
6352# 609 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6353 ftl->zone_size = 256;
6354# 610 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6355 ftl->max_lba = 250;
6356# 611 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6357 ftl->block_size = 8192;
6358 }
6359# 613 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6360 goto switch_break;
6361 case_4:
6362# 616 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6363 ftl->zone_size = 512;
6364# 617 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6365 ftl->max_lba = 500;
6366# 618 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6367 ftl->block_size = 8192;
6368# 619 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6369 goto switch_break;
6370 case_8:
6371# 622 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6372 ftl->zone_size = 1024;
6373# 623 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6374 ftl->max_lba = 1000;
6375# 624 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6376 ftl->block_size = 8192;
6377 } else {
6378 switch_break: ;
6379 }
6380# 629 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6381 if (size_in_megs >= 16) {
6382# 630 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6383 ftl->zone_count = size_in_megs / 16;
6384# 631 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6385 ftl->zone_size = 1024;
6386# 632 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6387 ftl->max_lba = 1000;
6388# 633 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6389 ftl->block_size = 16384;
6390 } else {
6391
6392 }
6393# 637 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6394 if (mtd->erasesize > (uint32_t )ftl->block_size) {
6395# 638 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6396 return (-19);
6397 } else {
6398
6399 }
6400# 640 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6401 if (mtd->writesize > 512U) {
6402# 641 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6403 return (-19);
6404 } else {
6405
6406 }
6407# 643 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6408 if (ftl->smallpagenand) {
6409# 643 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6410 if (mtd->oobsize < 8U) {
6411# 644 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6412 return (-19);
6413 } else {
6414
6415 }
6416 } else {
6417
6418 }
6419# 646 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6420 if (! ftl->smallpagenand) {
6421# 646 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6422 if (mtd->oobsize < 16U) {
6423# 647 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6424 return (-19);
6425 } else {
6426
6427 }
6428 } else {
6429
6430 }
6431# 650 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6432 if (! mtd->read_oob) {
6433# 651 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6434 return (-19);
6435 } else
6436# 650 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6437 if (! mtd->write_oob) {
6438# 651 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6439 return (-19);
6440 } else {
6441
6442 }
6443# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6444 i = 0;
6445 {
6446# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6447 while (1) {
6448 while_continue: ;
6449# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6450 if ((unsigned long )i < sizeof(chs_table) / sizeof(chs_table[0]) + sizeof(struct __anonstruct_233 )) {
6451
6452 } else {
6453# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6454 goto while_break;
6455 }
6456# 655 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6457 if (chs_table[i].size == (unsigned long const )size_in_megs) {
6458# 656 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6459 ftl->cylinders = (int )chs_table[i].cyl;
6460# 657 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6461 ftl->heads = (int )chs_table[i].head;
6462# 658 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6463 ftl->sectors = (int )chs_table[i].sec;
6464# 659 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6465 return (0);
6466 } else {
6467
6468 }
6469# 654 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6470 i = i + 1;
6471 }
6472 while_break___0: ;
6473 }
6474 while_break:
6475 {
6476# 663 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6477 printk("<4>sm_ftl: media has unknown size : %dMiB\n", size_in_megs);
6478# 664 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6479 ftl->cylinders = 985;
6480# 665 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6481 ftl->heads = 33;
6482# 666 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6483 ftl->sectors = 63;
6484 }
6485# 667 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6486 return (0);
6487}
6488}
6489# 671 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6490static int sm_read_cis(struct sm_ftl *ftl )
6491{ struct sm_oob oob ;
6492 int tmp___7 ;
6493 int tmp___8 ;
6494 int tmp___9 ;
6495 int tmp___10 ;
6496
6497 {
6498 {
6499# 675 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6500 tmp___7 = sm_read_sector(ftl, 0, ftl->cis_block, ftl->cis_boffset, (uint8_t *)ftl->cis_buffer,
6501 & oob);
6502 }
6503# 675 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6504 if (tmp___7) {
6505# 677 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6506 return (-5);
6507 } else {
6508
6509 }
6510 {
6511# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6512 tmp___8 = sm_sector_valid(& oob);
6513 }
6514# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6515 if (tmp___8) {
6516 {
6517# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6518 tmp___9 = sm_block_valid(& oob);
6519 }
6520# 679 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6521 if (tmp___9) {
6522
6523 } else {
6524# 680 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6525 return (-5);
6526 }
6527 } else {
6528# 680 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6529 return (-5);
6530 }
6531 {
6532# 682 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6533 tmp___10 = memcmp((void const *)(ftl->cis_buffer + ftl->cis_page_offset), (void const *)(cis_signature),
6534 sizeof(cis_signature));
6535 }
6536# 682 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6537 if (tmp___10) {
6538
6539 } else {
6540# 684 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6541 return (0);
6542 }
6543# 687 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6544 return (-5);
6545}
6546}
6547# 691 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6548static int sm_find_cis(struct sm_ftl *ftl )
6549{ struct sm_oob oob ;
6550 int block ;
6551 int boffset ;
6552 int block_found ;
6553 int cis_found ;
6554 int tmp___7 ;
6555 int tmp___8 ;
6556 int tmp___9 ;
6557 int tmp___10 ;
6558 int tmp___11 ;
6559 int tmp___12 ;
6560 int tmp___13 ;
6561 int tmp___14 ;
6562
6563 {
6564# 695 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6565 block_found = 0;
6566# 696 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6567 cis_found = 0;
6568# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6569 block = 0;
6570 {
6571# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6572 while (1) {
6573 while_continue: ;
6574# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6575 if (block < ftl->zone_size - ftl->max_lba) {
6576
6577 } else {
6578# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6579 goto while_break;
6580 }
6581 {
6582# 701 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6583 tmp___7 = sm_read_sector(ftl, 0, block, 0, (uint8_t *)((void *)0), & oob);
6584 }
6585# 701 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6586 if (tmp___7) {
6587# 702 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6588 goto __Cont;
6589 } else {
6590
6591 }
6592 {
6593# 704 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6594 tmp___8 = sm_block_valid(& oob);
6595 }
6596# 704 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6597 if (tmp___8) {
6598
6599 } else {
6600# 705 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6601 goto __Cont;
6602 }
6603# 706 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6604 block_found = 1;
6605# 707 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6606 goto while_break;
6607 __Cont:
6608# 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6609 block = block + 1;
6610 }
6611 while_break___1: ;
6612 }
6613 while_break: ;
6614# 710 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6615 if (! block_found) {
6616# 711 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6617 return (-5);
6618 } else {
6619
6620 }
6621# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6622 boffset = 0;
6623 {
6624# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6625 while (1) {
6626 while_continue___0: ;
6627# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6628 if (boffset < ftl->block_size) {
6629
6630 } else {
6631# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6632 goto while_break___0;
6633 }
6634 {
6635# 717 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6636 tmp___9 = sm_read_sector(ftl, 0, block, boffset, (uint8_t *)((void *)0), & oob);
6637 }
6638# 717 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6639 if (tmp___9) {
6640# 718 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6641 goto __Cont___0;
6642 } else {
6643
6644 }
6645 {
6646# 720 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6647 tmp___10 = sm_sector_valid(& oob);
6648 }
6649# 720 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6650 if (tmp___10) {
6651
6652 } else {
6653# 721 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6654 goto __Cont___0;
6655 }
6656# 722 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6657 goto while_break___0;
6658 __Cont___0:
6659# 714 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6660 boffset = boffset + 512;
6661 }
6662 while_break___2: ;
6663 }
6664 while_break___0: ;
6665# 725 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6666 if (boffset == ftl->block_size) {
6667# 726 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6668 return (-5);
6669 } else {
6670
6671 }
6672 {
6673# 728 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6674 ftl->cis_block = block;
6675# 729 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6676 ftl->cis_boffset = boffset;
6677# 730 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6678 ftl->cis_page_offset = 0;
6679# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6680 tmp___11 = sm_read_cis(ftl);
6681 }
6682# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6683 if (tmp___11) {
6684# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6685 tmp___12 = 0;
6686 } else {
6687# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6688 tmp___12 = 1;
6689 }
6690# 732 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6691 cis_found = tmp___12;
6692# 734 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6693 if (! cis_found) {
6694 {
6695# 735 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6696 ftl->cis_page_offset = 256;
6697# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6698 tmp___13 = sm_read_cis(ftl);
6699 }
6700# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6701 if (tmp___13) {
6702# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6703 tmp___14 = 0;
6704 } else {
6705# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6706 tmp___14 = 1;
6707 }
6708# 736 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6709 cis_found = tmp___14;
6710 } else {
6711
6712 }
6713# 739 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6714 if (cis_found) {
6715# 740 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6716 if (debug) {
6717 {
6718# 740 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6719 printk("<7>sm_ftl: CIS block found at offset %x\n", (block * ftl->block_size + boffset) + ftl->cis_page_offset);
6720 }
6721 } else {
6722
6723 }
6724# 743 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6725 return (0);
6726 } else {
6727
6728 }
6729# 745 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6730 return (-5);
6731}
6732}
6733# 749 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6734static int sm_recheck_media(struct sm_ftl *ftl )
6735{ int tmp___7 ;
6736
6737 {
6738 {
6739# 751 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6740 tmp___7 = sm_read_cis(ftl);
6741 }
6742# 751 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6743 if (tmp___7) {
6744# 753 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6745 if (! ftl->unstable) {
6746 {
6747# 754 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6748 printk("<4>sm_ftl: media unstable, not allowing writes\n");
6749# 755 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6750 ftl->unstable = (bool )1;
6751 }
6752 } else {
6753
6754 }
6755# 757 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6756 return (-5);
6757 } else {
6758
6759 }
6760# 759 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6761 return (0);
6762}
6763}
6764# 763 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6765static int sm_init_zone(struct sm_ftl *ftl , int zone_num )
6766{ struct ftl_zone *zone ;
6767 struct sm_oob oob ;
6768 uint16_t block ;
6769 int lba ;
6770 int i ;
6771 int len ;
6772 void *tmp___7 ;
6773 struct kfifo *__tmp ;
6774 struct __kfifo *__kfifo ;
6775 int tmp___8 ;
6776 int tmp___9 ;
6777 int tmp___10 ;
6778 int tmp___11 ;
6779 struct kfifo *__tmp___0 ;
6780 unsigned char *__buf ;
6781 unsigned long __n ;
6782 size_t __recsize ;
6783 struct __kfifo *__kfifo___0 ;
6784 int tmp___12 ;
6785 int tmp___13 ;
6786 int tmp___14 ;
6787 int tmp___15 ;
6788 struct kfifo *__tmpl ;
6789 struct kfifo *__tmpl___0 ;
6790 struct kfifo *__tmp___1 ;
6791 unsigned char *__buf___0 ;
6792 unsigned long __n___0 ;
6793 size_t __recsize___0 ;
6794 struct __kfifo *__kfifo___1 ;
6795 unsigned int tmp___16 ;
6796 unsigned int tmp___17 ;
6797 unsigned int tmp___18 ;
6798 unsigned int tmp___19 ;
6799 int __ret_warn_on ;
6800 long tmp___20 ;
6801 struct kfifo *__tmp___2 ;
6802 unsigned char const *__buf___1 ;
6803 unsigned long __n___1 ;
6804 size_t __recsize___1 ;
6805 struct __kfifo *__kfifo___2 ;
6806 int tmp___21 ;
6807 int tmp ;
6808 unsigned int tmp___22 ;
6809
6810 {
6811# 765 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6812 zone = ftl->zones + zone_num;
6813# 769 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6814 i = 0;
6815# 772 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6816 if (debug) {
6817 {
6818# 772 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6819 printk("<7>sm_ftl: initializing zone %d\n", zone_num);
6820 }
6821 } else {
6822
6823 }
6824 {
6825# 775 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6826 tmp___7 = kmalloc((size_t )(ftl->max_lba * 2), 208U);
6827# 775 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6828 zone->lba_to_phys_table = (int16_t *)tmp___7;
6829 }
6830# 777 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6831 if (! zone->lba_to_phys_table) {
6832# 778 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6833 return (-12);
6834 } else {
6835
6836 }
6837 {
6838# 779 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6839 memset((void *)zone->lba_to_phys_table, -1, (size_t )(ftl->max_lba * 2));
6840# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6841 __tmp = & zone->free_sectors;
6842# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6843 __kfifo = & __tmp->__annonCompField39.kfifo;
6844 }
6845# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6846 if (sizeof(*__tmp) == sizeof(struct __kfifo )) {
6847 {
6848# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6849 tmp___8 = __kfifo_alloc(__kfifo, (unsigned int )(ftl->zone_size * 2), sizeof(*(__tmp->__annonCompField39.type)),
6850 208U);
6851# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6852 tmp___9 = tmp___8;
6853 }
6854 } else {
6855# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6856 tmp___9 = -22;
6857 }
6858 {
6859# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6860 tmp = (int )__kfifo_int_must_check_helper(tmp___9);
6861# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6862 tmp___10 = tmp;
6863 }
6864# 783 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6865 if (tmp___10) {
6866 {
6867# 784 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6868 kfree((void const *)zone->lba_to_phys_table);
6869 }
6870# 785 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6871 return (-12);
6872 } else {
6873
6874 }
6875# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6876 block = (uint16_t )0;
6877 {
6878# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6879 while (1) {
6880 while_continue: ;
6881# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6882 if ((int )block < ftl->zone_size) {
6883
6884 } else {
6885# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6886 goto while_break;
6887 }
6888# 792 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6889 if (zone_num == 0) {
6890# 792 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6891 if ((int )block <= ftl->cis_block) {
6892# 793 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6893 goto __Cont;
6894 } else {
6895
6896 }
6897 } else {
6898
6899 }
6900 {
6901# 796 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6902 tmp___11 = sm_read_sector(ftl, zone_num, (int )block, 0, (uint8_t *)((void *)0),
6903 & oob);
6904 }
6905# 796 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6906 if (tmp___11) {
6907# 797 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6908 return (-5);
6909 } else {
6910
6911 }
6912 {
6913# 801 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6914 tmp___12 = sm_block_erased(& oob);
6915 }
6916# 801 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6917 if (tmp___12) {
6918# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6919 __tmp___0 = & zone->free_sectors;
6920# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6921 __buf = (unsigned char *)(& block);
6922# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6923 __n = 2UL;
6924# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6925 __recsize = sizeof(*(__tmp___0->__annonCompField39.rectype));
6926# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6927 __kfifo___0 = & __tmp___0->__annonCompField39.kfifo;
6928# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6929 if (__recsize) {
6930 {
6931# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6932 __kfifo_in_r(__kfifo___0, (void const *)__buf, (unsigned int )__n, __recsize);
6933 }
6934 } else {
6935 {
6936# 802 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6937 __kfifo_in(__kfifo___0, (void const *)__buf, (unsigned int )__n);
6938 }
6939 }
6940# 804 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6941 goto __Cont;
6942 } else {
6943
6944 }
6945 {
6946# 811 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6947 tmp___13 = sm_block_valid(& oob);
6948 }
6949# 811 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6950 if (tmp___13) {
6951
6952 } else {
6953# 812 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6954 if (debug) {
6955 {
6956# 812 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6957 printk("<7>sm_ftl: PH %04d <-> <marked bad>\n", (int )block);
6958 }
6959 } else {
6960
6961 }
6962# 813 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6963 goto __Cont;
6964 }
6965 {
6966# 817 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6967 lba = sm_read_lba(& oob);
6968 }
6969# 822 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6970 if (lba == -2) {
6971# 822 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6972 goto _L;
6973 } else
6974# 822 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6975 if (lba >= ftl->max_lba) {
6976 _L:
6977# 823 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6978 if (debug) {
6979 {
6980# 823 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6981 printk("<7>sm_ftl: PH %04d <-> LBA %04d(bad)\n", (int )block, lba);
6982 }
6983 } else {
6984
6985 }
6986# 824 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6987 goto __Cont;
6988 } else {
6989
6990 }
6991# 830 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6992 if ((int )*(zone->lba_to_phys_table + lba) < 0) {
6993# 831 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6994 if (debug > 1) {
6995 {
6996# 831 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
6997 printk("<7>sm_ftl: PH %04d <-> LBA %04d\n", (int )block, lba);
6998 }
6999 } else {
7000
7001 }
7002# 832 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7003 *(zone->lba_to_phys_table + lba) = (int16_t )block;
7004# 833 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7005 goto __Cont;
7006 } else {
7007
7008 }
7009 {
7010# 836 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7011 printk("<4>sm_ftl: collision of LBA %d between blocks %d and %d in zone %d\n",
7012 lba, (int )*(zone->lba_to_phys_table + lba), (int )block, zone_num);
7013# 841 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7014 tmp___14 = sm_check_block(ftl, zone_num, (int )block);
7015 }
7016# 841 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7017 if (tmp___14) {
7018# 842 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7019 goto __Cont;
7020 } else {
7021
7022 }
7023 {
7024# 845 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7025 tmp___15 = sm_check_block(ftl, zone_num, (int )*(zone->lba_to_phys_table + lba));
7026 }
7027# 845 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7028 if (tmp___15) {
7029# 847 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7030 *(zone->lba_to_phys_table + lba) = (int16_t )block;
7031# 848 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7032 goto __Cont;
7033 } else {
7034
7035 }
7036 {
7037# 855 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7038 printk("<4>sm_ftl: both blocks are valid, erasing the later\n");
7039# 856 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7040 sm_erase_block(ftl, zone_num, block, 1);
7041 }
7042 __Cont:
7043# 789 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7044 block = (uint16_t )((int )block + 1);
7045 }
7046 while_break___1: ;
7047 }
7048 while_break: ;
7049# 859 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7050 if (debug) {
7051 {
7052# 859 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7053 printk("<7>sm_ftl: zone initialized\n");
7054 }
7055 } else {
7056
7057 }
7058# 860 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7059 zone->initialized = (bool )1;
7060# 864 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7061 __tmpl = & zone->free_sectors;
7062# 864 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7063 if (__tmpl->__annonCompField39.kfifo.in - __tmpl->__annonCompField39.kfifo.out) {
7064
7065 } else {
7066 {
7067# 865 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7068 printk("<4>sm_ftl: no free blocks in zone %d\n", zone_num);
7069 }
7070# 866 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7071 return (0);
7072 }
7073 {
7074# 870 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7075 get_random_bytes((void *)(& i), 2);
7076# 871 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7077 __tmpl___0 = & zone->free_sectors;
7078# 871 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7079 i = (int )((unsigned int )i % ((__tmpl___0->__annonCompField39.kfifo.in - __tmpl___0->__annonCompField39.kfifo.out) / 2U));
7080 }
7081 {
7082# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7083 while (1) {
7084 while_continue___0: ;
7085# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7086 tmp___21 = i;
7087# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7088 i = i - 1;
7089# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7090 if (tmp___21) {
7091
7092 } else {
7093# 873 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7094 goto while_break___0;
7095 }
7096# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7097 __tmp___1 = & zone->free_sectors;
7098# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7099 __buf___0 = (unsigned char *)(& block);
7100# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7101 __n___0 = 2UL;
7102# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7103 __recsize___0 = sizeof(*(__tmp___1->__annonCompField39.rectype));
7104# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7105 __kfifo___1 = & __tmp___1->__annonCompField39.kfifo;
7106# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7107 if (__recsize___0) {
7108 {
7109# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7110 tmp___16 = __kfifo_out_r(__kfifo___1, (void *)__buf___0, (unsigned int )__n___0,
7111 __recsize___0);
7112# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7113 tmp___18 = tmp___16;
7114 }
7115 } else {
7116 {
7117# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7118 tmp___17 = __kfifo_out(__kfifo___1, (void *)__buf___0, (unsigned int )__n___0);
7119# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7120 tmp___18 = tmp___17;
7121 }
7122 }
7123 {
7124# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7125 tmp___22 = (unsigned int )__kfifo_uint_must_check_helper(tmp___18);
7126# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7127 tmp___19 = tmp___22;
7128# 874 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7129 len = (int )tmp___19;
7130# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7131 __ret_warn_on = ! (! (len != 2));
7132# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7133 tmp___20 = __builtin_expect((long )(! (! __ret_warn_on)), 0L);
7134 }
7135# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7136 if (tmp___20) {
7137 {
7138# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7139 warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c",
7140 (int const )876);
7141 }
7142 } else {
7143
7144 }
7145 {
7146# 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7147 __builtin_expect((long )(! (! __ret_warn_on)), 0L);
7148# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7149 __tmp___2 = & zone->free_sectors;
7150# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7151 __buf___1 = (unsigned char const *)(& block);
7152# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7153 __n___1 = 2UL;
7154# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7155 __recsize___1 = sizeof(*(__tmp___2->__annonCompField39.rectype));
7156# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7157 __kfifo___2 = & __tmp___2->__annonCompField39.kfifo;
7158 }
7159# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7160 if (__recsize___1) {
7161 {
7162# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7163 __kfifo_in_r(__kfifo___2, (void const *)__buf___1, (unsigned int )__n___1,
7164 __recsize___1);
7165 }
7166 } else {
7167 {
7168# 877 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7169 __kfifo_in(__kfifo___2, (void const *)__buf___1, (unsigned int )__n___1);
7170 }
7171 }
7172 }
7173 while_break___2: ;
7174 }
7175 while_break___0: ;
7176# 879 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7177 return (0);
7178}
7179}
7180# 883 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7181struct ftl_zone *sm_get_zone(struct sm_ftl *ftl , int zone_num )
7182{ struct ftl_zone *zone ;
7183 int error ;
7184 long tmp___7 ;
7185 void *tmp___8 ;
7186 void *tmp ;
7187
7188 {
7189 {
7190# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7191 while (1) {
7192 while_continue: ;
7193 {
7194# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7195 tmp___7 = __builtin_expect((long )(! (! (zone_num >= ftl->zone_count))), 0L);
7196 }
7197# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7198 if (tmp___7) {
7199 {
7200# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7201 while (1) {
7202 while_continue___0: ;
7203# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7204 __asm__ volatile ("1:\tud2\n"
7205 ".pushsection __bug_table,\"a\"\n"
7206 "2:\t.long 1b - 2b, %c0 - 2b\n"
7207 "\t.word %c1, 0\n"
7208 "\t.org 2b+%c2\n"
7209 ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
7210 "i" (888), "i" (sizeof(struct bug_entry )));
7211 {
7212# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7213 while (1) {
7214 while_continue___1: ;
7215
7216 }
7217 while_break___3: ;
7218 }
7219# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7220 goto while_break___0;
7221 }
7222 while_break___2: ;
7223 }
7224 while_break___0: ;
7225 } else {
7226
7227 }
7228# 888 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7229 goto while_break;
7230 }
7231 while_break___1: ;
7232 }
7233 while_break:
7234# 889 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7235 zone = ftl->zones + zone_num;
7236# 891 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7237 if (! zone->initialized) {
7238 {
7239# 892 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7240 error = sm_init_zone(ftl, zone_num);
7241 }
7242# 894 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7243 if (error) {
7244 {
7245# 895 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7246 tmp = (void *)ERR_PTR((long )error);
7247# 895 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7248 tmp___8 = tmp;
7249 }
7250# 895 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7251 return ((struct ftl_zone *)tmp___8);
7252 } else {
7253
7254 }
7255 } else {
7256
7257 }
7258# 897 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7259 return (zone);
7260}
7261}
7262# 904 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7263void sm_cache_init(struct sm_ftl *ftl )
7264{
7265
7266 {
7267# 906 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7268 ftl->cache_data_invalid_bitmap = 4294967295UL;
7269# 907 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7270 ftl->cache_clean = (bool )1;
7271# 908 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7272 ftl->cache_zone = -1;
7273# 909 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7274 ftl->cache_block = -1;
7275# 911 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7276 return;
7277}
7278}
7279# 914 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7280void sm_cache_put(struct sm_ftl *ftl , char *buffer , int boffset )
7281{ size_t __len ;
7282 void *__ret ;
7283
7284 {
7285# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7286 __len = (size_t )512;
7287# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7288 if (__len >= 64UL) {
7289 {
7290# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7291 __ret = __memcpy((void *)(ftl->cache_data + boffset), (void const *)buffer,
7292 __len);
7293 }
7294 } else {
7295 {
7296# 916 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7297 __ret = __builtin_memcpy((void *)(ftl->cache_data + boffset), (void const *)buffer,
7298 __len);
7299 }
7300 }
7301 {
7302# 917 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7303 clear_bit(boffset / 512, (unsigned long volatile *)(& ftl->cache_data_invalid_bitmap));
7304# 918 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7305 ftl->cache_clean = (bool )0;
7306 }
7307# 919 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7308 return;
7309}
7310}
7311# 922 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7312int sm_cache_get(struct sm_ftl *ftl , char *buffer , int boffset )
7313{ int tmp___8 ;
7314 size_t __len ;
7315 void *__ret ;
7316
7317 {
7318 {
7319# 924 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7320 tmp___8 = variable_test_bit(boffset / 512, (unsigned long const volatile *)(& ftl->cache_data_invalid_bitmap));
7321 }
7322# 924 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7323 if (tmp___8) {
7324# 926 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7325 return (-1);
7326 } else {
7327
7328 }
7329# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7330 __len = (size_t )512;
7331# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7332 if (__len >= 64UL) {
7333 {
7334# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7335 __ret = __memcpy((void *)buffer, (void const *)(ftl->cache_data + boffset),
7336 __len);
7337 }
7338 } else {
7339 {
7340# 928 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7341 __ret = __builtin_memcpy((void *)buffer, (void const *)(ftl->cache_data + boffset),
7342 __len);
7343 }
7344 }
7345# 929 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7346 return (0);
7347}
7348}
7349# 933 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7350int sm_cache_flush(struct sm_ftl *ftl )
7351{ struct ftl_zone *zone ;
7352 int sector_num ;
7353 uint16_t write_sector ;
7354 int zone_num ;
7355 int block_num ;
7356 long tmp___7 ;
7357 unsigned long tmp___8 ;
7358 unsigned long tmp___9 ;
7359 int tmp___10 ;
7360 struct kfifo *__tmp ;
7361 unsigned char *__buf ;
7362 unsigned long __n ;
7363 size_t __recsize ;
7364 struct __kfifo *__kfifo ;
7365 unsigned int tmp___11 ;
7366 unsigned int tmp___12 ;
7367 unsigned int tmp___13 ;
7368 unsigned int tmp___14 ;
7369 int tmp___15 ;
7370 unsigned int tmp ;
7371
7372 {
7373# 939 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7374 zone_num = ftl->cache_zone;
7375# 942 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7376 if (ftl->cache_clean) {
7377# 943 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7378 return (0);
7379 } else {
7380
7381 }
7382# 945 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7383 if (ftl->unstable) {
7384# 946 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7385 return (-5);
7386 } else {
7387
7388 }
7389 {
7390# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7391 while (1) {
7392 while_continue: ;
7393 {
7394# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7395 tmp___7 = __builtin_expect((long )(! (! (zone_num < 0))), 0L);
7396 }
7397# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7398 if (tmp___7) {
7399 {
7400# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7401 while (1) {
7402 while_continue___0: ;
7403# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7404 __asm__ volatile ("1:\tud2\n"
7405 ".pushsection __bug_table,\"a\"\n"
7406 "2:\t.long 1b - 2b, %c0 - 2b\n"
7407 "\t.word %c1, 0\n"
7408 "\t.org 2b+%c2\n"
7409 ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
7410 "i" (948), "i" (sizeof(struct bug_entry )));
7411 {
7412# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7413 while (1) {
7414 while_continue___1: ;
7415
7416 }
7417 while_break___5: ;
7418 }
7419# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7420 goto while_break___0;
7421 }
7422 while_break___4: ;
7423 }
7424 while_break___0: ;
7425 } else {
7426
7427 }
7428# 948 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7429 goto while_break;
7430 }
7431 while_break___3: ;
7432 }
7433 while_break:
7434 {
7435# 949 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7436 zone = ftl->zones + zone_num;
7437# 950 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7438 block_num = (int )*(zone->lba_to_phys_table + ftl->cache_block);
7439# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7440 tmp___8 = find_first_bit((unsigned long const *)(& ftl->cache_data_invalid_bitmap),
7441 (unsigned long )(ftl->block_size / 512));
7442# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7443 sector_num = (int )tmp___8;
7444 }
7445 {
7446# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7447 while (1) {
7448 while_continue___2: ;
7449# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7450 if (sector_num < ftl->block_size / 512) {
7451
7452 } else {
7453# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7454 goto while_break___2;
7455 }
7456 {
7457# 957 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7458 tmp___10 = sm_read_sector(ftl, zone_num, block_num, sector_num * 512, ftl->cache_data + sector_num * 512,
7459 (struct sm_oob *)((void *)0));
7460 }
7461# 957 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7462 if (tmp___10) {
7463
7464 } else {
7465 {
7466# 960 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7467 clear_bit(sector_num, (unsigned long volatile *)(& ftl->cache_data_invalid_bitmap));
7468 }
7469 }
7470 {
7471# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7472 tmp___9 = find_next_bit((unsigned long const *)(& ftl->cache_data_invalid_bitmap),
7473 (unsigned long )(ftl->block_size / 512), (unsigned long )(sector_num + 1));
7474# 954 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7475 sector_num = (int )tmp___9;
7476 }
7477 }
7478 while_break___6: ;
7479 }
7480 while_break___2: ;
7481 restart:
7482# 965 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7483 if (ftl->unstable) {
7484# 966 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7485 return (-5);
7486 } else {
7487
7488 }
7489# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7490 __tmp = & zone->free_sectors;
7491# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7492 __buf = (unsigned char *)(& write_sector);
7493# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7494 __n = 2UL;
7495# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7496 __recsize = sizeof(*(__tmp->__annonCompField39.rectype));
7497# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7498 __kfifo = & __tmp->__annonCompField39.kfifo;
7499# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7500 if (__recsize) {
7501 {
7502# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7503 tmp___11 = __kfifo_out_r(__kfifo, (void *)__buf, (unsigned int )__n, __recsize);
7504# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7505 tmp___13 = tmp___11;
7506 }
7507 } else {
7508 {
7509# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7510 tmp___12 = __kfifo_out(__kfifo, (void *)__buf, (unsigned int )__n);
7511# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7512 tmp___13 = tmp___12;
7513 }
7514 }
7515 {
7516# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7517 tmp = (unsigned int )__kfifo_uint_must_check_helper(tmp___13);
7518# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7519 tmp___14 = tmp;
7520 }
7521# 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7522 if (tmp___14 != 2U) {
7523# 974 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7524 if (debug) {
7525 {
7526# 974 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7527 printk("<7>sm_ftl: no free sectors for write!\n");
7528 }
7529 } else {
7530
7531 }
7532# 975 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7533 return (-5);
7534 } else {
7535
7536 }
7537 {
7538# 979 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7539 tmp___15 = sm_write_block(ftl, ftl->cache_data, zone_num, (int )write_sector, ftl->cache_block,
7540 ftl->cache_data_invalid_bitmap);
7541 }
7542# 979 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7543 if (tmp___15) {
7544# 981 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7545 goto restart;
7546 } else {
7547
7548 }
7549# 984 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7550 *(zone->lba_to_phys_table + ftl->cache_block) = (int16_t )write_sector;
7551# 987 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7552 if (block_num > 0) {
7553 {
7554# 988 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7555 sm_erase_block(ftl, zone_num, (uint16_t )block_num, 1);
7556 }
7557 } else {
7558
7559 }
7560 {
7561# 990 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7562 sm_cache_init(ftl);
7563 }
7564# 991 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7565 return (0);
7566}
7567}
7568# 996 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7569static void sm_cache_flush_timer(unsigned long data )
7570{ struct sm_ftl *ftl ;
7571
7572 {
7573 {
7574# 998 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7575 ftl = (struct sm_ftl *)data;
7576# 999 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7577 queue_work(cache_flush_workqueue, & ftl->flush_work);
7578 }
7579# 1000 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7580 return;
7581}
7582}
7583# 1003 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7584static void sm_cache_flush_work(struct work_struct *work )
7585{ struct sm_ftl *ftl ;
7586 struct work_struct const *__mptr ;
7587
7588 {
7589 {
7590# 1005 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7591 __mptr = (struct work_struct const *)work;
7592# 1005 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7593 ftl = (struct sm_ftl *)((char *)__mptr - (unsigned int )(& ((struct sm_ftl *)0)->flush_work));
7594# 1006 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7595 mutex_lock_nested(& ftl->mutex, 0U);
7596# 1007 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7597 sm_cache_flush(ftl);
7598# 1008 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7599 mutex_unlock(& ftl->mutex);
7600 }
7601# 1009 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7602 return;
7603}
7604}
7605# 1015 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7606static int sm_read(struct mtd_blktrans_dev *dev , unsigned long sect_no , char *buf )
7607{ struct sm_ftl *ftl ;
7608 struct ftl_zone *zone ;
7609 int error ;
7610 int in_cache ;
7611 int zone_num ;
7612 int block ;
7613 int boffset ;
7614 long tmp___7 ;
7615 long tmp___8 ;
7616 int tmp___9 ;
7617 int tmp___10 ;
7618 long tmp ;
7619 long tmp___11 ;
7620
7621 {
7622 {
7623# 1018 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7624 ftl = (struct sm_ftl *)dev->priv;
7625# 1020 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7626 error = 0;
7627# 1020 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7628 in_cache = 0;
7629# 1023 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7630 sm_break_offset(ftl, (loff_t )(sect_no << 9), & zone_num, & block, & boffset);
7631# 1024 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7632 mutex_lock_nested(& ftl->mutex, 0U);
7633# 1027 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7634 zone = sm_get_zone(ftl, zone_num);
7635# 1028 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7636 tmp = (long )IS_ERR((void const *)zone);
7637# 1028 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7638 tmp___8 = tmp;
7639 }
7640# 1028 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7641 if (tmp___8) {
7642 {
7643# 1029 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7644 tmp___11 = (long )PTR_ERR((void const *)zone);
7645# 1029 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7646 tmp___7 = tmp___11;
7647# 1029 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7648 error = (int )tmp___7;
7649 }
7650# 1030 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7651 goto unlock;
7652 } else {
7653
7654 }
7655# 1034 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7656 if (ftl->cache_zone == zone_num) {
7657# 1034 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7658 if (ftl->cache_block == block) {
7659 {
7660# 1035 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7661 in_cache = 1;
7662# 1036 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7663 tmp___9 = sm_cache_get(ftl, buf, boffset);
7664 }
7665# 1036 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7666 if (tmp___9) {
7667
7668 } else {
7669# 1037 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7670 goto unlock;
7671 }
7672 } else {
7673
7674 }
7675 } else {
7676
7677 }
7678# 1041 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7679 block = (int )*(zone->lba_to_phys_table + block);
7680# 1043 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7681 if (block == -1) {
7682 {
7683# 1044 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7684 memset((void *)buf, 255, (size_t )512);
7685 }
7686# 1045 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7687 goto unlock;
7688 } else {
7689
7690 }
7691 {
7692# 1048 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7693 tmp___10 = sm_read_sector(ftl, zone_num, block, boffset, (uint8_t *)buf, (struct sm_oob *)((void *)0));
7694 }
7695# 1048 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7696 if (tmp___10) {
7697# 1049 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7698 error = -5;
7699# 1050 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7700 goto unlock;
7701 } else {
7702
7703 }
7704# 1053 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7705 if (in_cache) {
7706 {
7707# 1054 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7708 sm_cache_put(ftl, buf, boffset);
7709 }
7710 } else {
7711
7712 }
7713 unlock:
7714 {
7715# 1056 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7716 mutex_unlock(& ftl->mutex);
7717 }
7718# 1057 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7719 return (error);
7720}
7721}
7722# 1061 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7723static int sm_write(struct mtd_blktrans_dev *dev , unsigned long sec_no , char *buf )
7724{ struct sm_ftl *ftl ;
7725 struct ftl_zone *zone ;
7726 int error ;
7727 int zone_num ;
7728 int block ;
7729 int boffset ;
7730 long tmp___7 ;
7731 long tmp___8 ;
7732 long tmp___9 ;
7733 unsigned long tmp___10 ;
7734 long tmp ;
7735 long tmp___11 ;
7736
7737 {
7738# 1064 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7739 ftl = (struct sm_ftl *)dev->priv;
7740 {
7741# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7742 while (1) {
7743 while_continue: ;
7744 {
7745# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7746 tmp___7 = __builtin_expect((long )(! (! ftl->readonly)), 0L);
7747 }
7748# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7749 if (tmp___7) {
7750 {
7751# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7752 while (1) {
7753 while_continue___0: ;
7754# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7755 __asm__ volatile ("1:\tud2\n"
7756 ".pushsection __bug_table,\"a\"\n"
7757 "2:\t.long 1b - 2b, %c0 - 2b\n"
7758 "\t.word %c1, 0\n"
7759 "\t.org 2b+%c2\n"
7760 ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"),
7761 "i" (1068), "i" (sizeof(struct bug_entry )));
7762 {
7763# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7764 while (1) {
7765 while_continue___1: ;
7766
7767 }
7768 while_break___3: ;
7769 }
7770# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7771 goto while_break___0;
7772 }
7773 while_break___2: ;
7774 }
7775 while_break___0: ;
7776 } else {
7777
7778 }
7779# 1068 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7780 goto while_break;
7781 }
7782 while_break___1: ;
7783 }
7784 while_break:
7785 {
7786# 1069 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7787 sm_break_offset(ftl, (loff_t )(sec_no << 9), & zone_num, & block, & boffset);
7788# 1072 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7789 del_timer(& ftl->timer);
7790# 1073 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7791 mutex_lock_nested(& ftl->mutex, 0U);
7792# 1075 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7793 zone = sm_get_zone(ftl, zone_num);
7794# 1076 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7795 tmp = (long )IS_ERR((void const *)zone);
7796# 1076 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7797 tmp___9 = tmp;
7798 }
7799# 1076 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7800 if (tmp___9) {
7801 {
7802# 1077 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7803 tmp___11 = (long )PTR_ERR((void const *)zone);
7804# 1077 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7805 tmp___8 = tmp___11;
7806# 1077 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7807 error = (int )tmp___8;
7808 }
7809# 1078 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7810 goto unlock;
7811 } else {
7812
7813 }
7814# 1082 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7815 if (ftl->cache_block != block) {
7816# 1082 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7817 goto _L;
7818 } else
7819# 1082 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7820 if (ftl->cache_zone != zone_num) {
7821 _L:
7822 {
7823# 1084 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7824 error = sm_cache_flush(ftl);
7825 }
7826# 1085 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7827 if (error) {
7828# 1086 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7829 goto unlock;
7830 } else {
7831
7832 }
7833# 1088 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7834 ftl->cache_block = block;
7835# 1089 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7836 ftl->cache_zone = zone_num;
7837 } else {
7838
7839 }
7840 {
7841# 1092 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7842 sm_cache_put(ftl, buf, boffset);
7843 }
7844 unlock:
7845 {
7846# 1094 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7847 tmp___10 = msecs_to_jiffies((unsigned int const )cache_timeout);
7848# 1094 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7849 mod_timer(& ftl->timer, (unsigned long )(jiffies + (unsigned long volatile )tmp___10));
7850# 1095 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7851 mutex_unlock(& ftl->mutex);
7852 }
7853# 1096 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7854 return (error);
7855}
7856}
7857# 1100 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7858static int sm_flush(struct mtd_blktrans_dev *dev )
7859{ struct sm_ftl *ftl ;
7860 int retval ;
7861
7862 {
7863 {
7864# 1102 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7865 ftl = (struct sm_ftl *)dev->priv;
7866# 1105 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7867 mutex_lock_nested(& ftl->mutex, 0U);
7868# 1106 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7869 retval = sm_cache_flush(ftl);
7870# 1107 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7871 mutex_unlock(& ftl->mutex);
7872 }
7873# 1108 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7874 return (retval);
7875}
7876}
7877# 1112 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7878static int sm_release(struct mtd_blktrans_dev *dev )
7879{ struct sm_ftl *ftl ;
7880
7881 {
7882 {
7883# 1114 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7884 ftl = (struct sm_ftl *)dev->priv;
7885# 1116 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7886 mutex_lock_nested(& ftl->mutex, 0U);
7887# 1117 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7888 del_timer_sync(& ftl->timer);
7889# 1118 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7890 cancel_work_sync(& ftl->flush_work);
7891# 1119 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7892 sm_cache_flush(ftl);
7893# 1120 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7894 mutex_unlock(& ftl->mutex);
7895 }
7896# 1121 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7897 return (0);
7898}
7899}
7900# 1125 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7901static int sm_getgeo(struct mtd_blktrans_dev *dev , struct hd_geometry *geo )
7902{ struct sm_ftl *ftl ;
7903
7904 {
7905# 1127 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7906 ftl = (struct sm_ftl *)dev->priv;
7907# 1128 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7908 geo->heads = (unsigned char )ftl->heads;
7909# 1129 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7910 geo->sectors = (unsigned char )ftl->sectors;
7911# 1130 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7912 geo->cylinders = (unsigned short )ftl->cylinders;
7913# 1131 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7914 return (0);
7915}
7916}
7917# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7918static struct lock_class_key __key___5 ;
7919# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7920static struct lock_class_key __key___6 ;
7921# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7922static struct lock_class_key __key___7 ;
7923# 1135 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7924static void sm_add_mtd(struct mtd_blktrans_ops *tr , struct mtd_info *mtd )
7925{ struct mtd_blktrans_dev *trans ;
7926 struct sm_ftl *ftl ;
7927 void *tmp___7 ;
7928 atomic_long_t __constr_expr_0 ;
7929 int tmp___8 ;
7930 void *tmp___9 ;
7931 void *tmp___10 ;
7932 void *tmp___11 ;
7933 int tmp___12 ;
7934 int tmp___13 ;
7935
7936 {
7937 {
7938# 1141 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7939 tmp___7 = kzalloc(sizeof(struct sm_ftl ), 208U);
7940# 1141 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7941 ftl = (struct sm_ftl *)tmp___7;
7942 }
7943# 1142 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7944 if (! ftl) {
7945# 1143 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7946 goto error1;
7947 } else {
7948
7949 }
7950 {
7951# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7952 while (1) {
7953 while_continue: ;
7954 {
7955# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7956 __mutex_init(& ftl->mutex, "&ftl->mutex", & __key___5);
7957 }
7958# 1146 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7959 goto while_break;
7960 }
7961 while_break___4: ;
7962 }
7963 while_break: ;
7964 {
7965# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7966 while (1) {
7967 while_continue___0: ;
7968 {
7969# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7970 setup_timer_key(& ftl->timer, "&ftl->timer", & __key___6, & sm_cache_flush_timer,
7971 (unsigned long )ftl);
7972 }
7973# 1147 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7974 goto while_break___0;
7975 }
7976 while_break___5: ;
7977 }
7978 while_break___0: ;
7979 {
7980# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7981 while (1) {
7982 while_continue___1: ;
7983
7984 {
7985# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7986 while (1) {
7987 while_continue___2: ;
7988 {
7989# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7990 __init_work(& ftl->flush_work, 0);
7991# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7992 __constr_expr_0.counter = 2097664L;
7993# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7994 ftl->flush_work.data = __constr_expr_0;
7995# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7996 lockdep_init_map(& ftl->flush_work.lockdep_map, "(&ftl->flush_work)", & __key___7,
7997 0);
7998# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
7999 INIT_LIST_HEAD(& ftl->flush_work.entry);
8000 }
8001 {
8002# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8003 while (1) {
8004 while_continue___3: ;
8005# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8006 ftl->flush_work.func = & sm_cache_flush_work;
8007# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8008 goto while_break___3;
8009 }
8010 while_break___8: ;
8011 }
8012 while_break___3: ;
8013# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8014 goto while_break___2;
8015 }
8016 while_break___7: ;
8017 }
8018 while_break___2: ;
8019# 1148 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8020 goto while_break___1;
8021 }
8022 while_break___6: ;
8023 }
8024 while_break___1:
8025 {
8026# 1149 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8027 init_completion(& ftl->erase_completion);
8028# 1152 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8029 tmp___8 = sm_get_media_info(ftl, mtd);
8030 }
8031# 1152 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8032 if (tmp___8) {
8033# 1153 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8034 if (debug) {
8035 {
8036# 1153 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8037 printk("<7>sm_ftl: found unsupported mtd device, aborting\n");
8038 }
8039 } else {
8040
8041 }
8042# 1154 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8043 goto error2;
8044 } else {
8045
8046 }
8047 {
8048# 1159 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8049 ftl->cis_buffer = kzalloc((size_t )512, 208U);
8050 }
8051# 1160 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8052 if (! ftl->cis_buffer) {
8053# 1161 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8054 goto error2;
8055 } else {
8056
8057 }
8058 {
8059# 1164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8060 tmp___9 = kzalloc(sizeof(struct ftl_zone ) * (unsigned long )ftl->zone_count, 208U);
8061# 1164 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8062 ftl->zones = (struct ftl_zone *)tmp___9;
8063 }
8064# 1166 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8065 if (! ftl->zones) {
8066# 1167 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8067 goto error3;
8068 } else {
8069
8070 }
8071 {
8072# 1170 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8073 tmp___10 = kzalloc((size_t )ftl->block_size, 208U);
8074# 1170 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8075 ftl->cache_data = (unsigned char *)tmp___10;
8076 }
8077# 1172 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8078 if (! ftl->cache_data) {
8079# 1173 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8080 goto error4;
8081 } else {
8082
8083 }
8084 {
8085# 1175 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8086 sm_cache_init(ftl);
8087# 1179 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8088 tmp___11 = kzalloc(sizeof(struct mtd_blktrans_dev ), 208U);
8089# 1179 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8090 trans = (struct mtd_blktrans_dev *)tmp___11;
8091 }
8092# 1180 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8093 if (! trans) {
8094# 1181 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8095 goto error5;
8096 } else {
8097
8098 }
8099 {
8100# 1183 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8101 ftl->trans = trans;
8102# 1184 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8103 trans->priv = (void *)ftl;
8104# 1186 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8105 trans->tr = tr;
8106# 1187 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8107 trans->mtd = mtd;
8108# 1188 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8109 trans->devnum = -1;
8110# 1189 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8111 trans->size = (unsigned long )((ftl->block_size * ftl->max_lba) * ftl->zone_count >> 9);
8112# 1190 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8113 trans->readonly = (int )ftl->readonly;
8114# 1192 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8115 tmp___12 = sm_find_cis(ftl);
8116 }
8117# 1192 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8118 if (tmp___12) {
8119# 1193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8120 if (debug) {
8121 {
8122# 1193 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8123 printk("<7>sm_ftl: CIS not found on mtd device, aborting\n");
8124 }
8125 } else {
8126
8127 }
8128# 1194 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8129 goto error6;
8130 } else {
8131
8132 }
8133 {
8134# 1197 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8135 ftl->disk_attributes = sm_create_sysfs_attributes(ftl);
8136 }
8137# 1198 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8138 if (! ftl->disk_attributes) {
8139# 1199 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8140 goto error6;
8141 } else {
8142
8143 }
8144 {
8145# 1200 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8146 trans->disk_attributes = ftl->disk_attributes;
8147# 1202 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8148 printk("<4>sm_ftl: Found %d MiB xD/SmartMedia FTL on mtd%d\n", (int )(mtd->size / 1048576ULL),
8149 mtd->index);
8150 }
8151# 1205 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8152 if (debug) {
8153 {
8154# 1205 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8155 printk("<7>sm_ftl: FTL layout:\n");
8156 }
8157 } else {
8158
8159 }
8160# 1206 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8161 if (debug) {
8162 {
8163# 1206 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8164 printk("<7>sm_ftl: %d zone(s), each consists of %d blocks (+%d spares)\n", ftl->zone_count,
8165 ftl->max_lba, ftl->zone_size - ftl->max_lba);
8166 }
8167 } else {
8168
8169 }
8170# 1209 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8171 if (debug) {
8172 {
8173# 1209 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8174 printk("<7>sm_ftl: each block consists of %d bytes\n", ftl->block_size);
8175 }
8176 } else {
8177
8178 }
8179 {
8180# 1214 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8181 tmp___13 = add_mtd_blktrans_dev(trans);
8182 }
8183# 1214 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8184 if (tmp___13) {
8185# 1215 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8186 if (debug) {
8187 {
8188# 1215 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8189 printk("<7>sm_ftl: error in mtdblktrans layer\n");
8190 }
8191 } else {
8192
8193 }
8194# 1216 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8195 goto error6;
8196 } else {
8197
8198 }
8199# 1218 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8200 return;
8201 error6:
8202 {
8203# 1220 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8204 kfree((void const *)trans);
8205 }
8206 error5:
8207 {
8208# 1222 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8209 kfree((void const *)ftl->cache_data);
8210 }
8211 error4:
8212 {
8213# 1224 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8214 kfree((void const *)ftl->zones);
8215 }
8216 error3:
8217 {
8218# 1226 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8219 kfree((void const *)ftl->cis_buffer);
8220 }
8221 error2:
8222 {
8223# 1228 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8224 kfree((void const *)ftl);
8225 }
8226 error1:
8227# 1230 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8228 return;
8229}
8230}
8231# 1234 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8232static void sm_remove_dev(struct mtd_blktrans_dev *dev )
8233{ struct sm_ftl *ftl ;
8234 int i ;
8235 struct kfifo *__tmp ;
8236 struct __kfifo *__kfifo ;
8237
8238 {
8239 {
8240# 1236 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8241 ftl = (struct sm_ftl *)dev->priv;
8242# 1239 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8243 del_mtd_blktrans_dev(dev);
8244# 1240 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8245 ftl->trans = (struct mtd_blktrans_dev *)((void *)0);
8246# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8247 i = 0;
8248 }
8249 {
8250# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8251 while (1) {
8252 while_continue: ;
8253# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8254 if (i < ftl->zone_count) {
8255
8256 } else {
8257# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8258 goto while_break;
8259 }
8260# 1244 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8261 if (! (ftl->zones + i)->initialized) {
8262# 1245 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8263 goto __Cont;
8264 } else {
8265
8266 }
8267 {
8268# 1247 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8269 kfree((void const *)(ftl->zones + i)->lba_to_phys_table);
8270# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8271 __tmp = & (ftl->zones + i)->free_sectors;
8272# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8273 __kfifo = & __tmp->__annonCompField39.kfifo;
8274 }
8275# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8276 if (sizeof(*__tmp) == sizeof(struct __kfifo )) {
8277 {
8278# 1248 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8279 __kfifo_free(__kfifo);
8280 }
8281 } else {
8282
8283 }
8284 __Cont:
8285# 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8286 i = i + 1;
8287 }
8288 while_break___0: ;
8289 }
8290 while_break:
8291 {
8292# 1251 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8293 sm_delete_sysfs_attributes(ftl);
8294# 1252 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8295 kfree((void const *)ftl->cis_buffer);
8296# 1253 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8297 kfree((void const *)ftl->zones);
8298# 1254 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8299 kfree((void const *)ftl->cache_data);
8300# 1255 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8301 kfree((void const *)ftl);
8302 }
8303# 1256 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8304 return;
8305}
8306}
8307# 1258 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8308static struct mtd_blktrans_ops sm_ftl_ops =
8309# 1258 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8310 {(char *)"smblk", -1, 3, 512, 0, & sm_read, & sm_write, (int (*)(struct mtd_blktrans_dev *dev ,
8311 unsigned long block ,
8312 unsigned int nr_blocks ))0,
8313 (void (*)(struct mtd_blktrans_dev *dev ))0, & sm_getgeo, & sm_flush, (int (*)(struct mtd_blktrans_dev *dev ))0,
8314 & sm_release, & sm_add_mtd, & sm_remove_dev, {(struct list_head *)0, (struct list_head *)0},
8315 {(struct list_head *)0, (struct list_head *)0}, & __this_module};
8316# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8317static struct lock_class_key __key___8 ;
8318# 1277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8319static int sm_module_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8320# 1277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8321static int sm_module_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8322# 1277 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8323static int sm_module_init(void)
8324{ int error ;
8325 char const *__lock_name ;
8326 struct workqueue_struct *tmp___7 ;
8327 long tmp___8 ;
8328 long tmp___9 ;
8329 long tmp ;
8330 long tmp___10 ;
8331
8332 {
8333 {
8334# 1279 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8335 error = 0;
8336# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8337 __lock_name = "(\"smflush\")";
8338# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8339 tmp___7 = __alloc_workqueue_key("smflush", 14U, 1, & __key___8, __lock_name);
8340# 1280 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8341 cache_flush_workqueue = tmp___7;
8342# 1282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8343 tmp = (long )IS_ERR((void const *)cache_flush_workqueue);
8344# 1282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8345 tmp___9 = tmp;
8346 }
8347# 1282 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8348 if (tmp___9) {
8349 {
8350# 1283 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8351 tmp___10 = (long )PTR_ERR((void const *)cache_flush_workqueue);
8352# 1283 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8353 tmp___8 = tmp___10;
8354 }
8355# 1283 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8356 return ((int )tmp___8);
8357 } else {
8358
8359 }
8360 {
8361# 1285 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8362 error = register_mtd_blktrans(& sm_ftl_ops);
8363 }
8364# 1286 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8365 if (error) {
8366 {
8367# 1287 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8368 destroy_workqueue(cache_flush_workqueue);
8369 }
8370 } else {
8371
8372 }
8373# 1288 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8374 return (error);
8375}
8376}
8377# 1292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8378static void sm_module_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8379# 1292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8380static void sm_module_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8381# 1292 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8382static void sm_module_exit(void)
8383{
8384
8385 {
8386 {
8387# 1294 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8388 destroy_workqueue(cache_flush_workqueue);
8389# 1295 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8390 deregister_mtd_blktrans(& sm_ftl_ops);
8391 }
8392# 1296 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8393 return;
8394}
8395}
8396# 1298 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8397int init_module(void)
8398{ int tmp___7 ;
8399
8400 {
8401 {
8402# 1298 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8403 tmp___7 = sm_module_init();
8404 }
8405# 1298 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8406 return (tmp___7);
8407}
8408}
8409# 1299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8410void cleanup_module(void)
8411{
8412
8413 {
8414 {
8415# 1299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8416 sm_module_exit();
8417 }
8418# 1299 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8419 return;
8420}
8421}
8422# 1301 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8423static char const __mod_license1301[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
8424__aligned__(1))) =
8425# 1301 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8426 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
8427 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
8428 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
8429# 1302 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8430static char const __mod_author1302[48] __attribute__((__used__, __unused__, __section__(".modinfo"),
8431__aligned__(1))) =
8432# 1302 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8433 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
8434 (char const )'o', (char const )'r', (char const )'=', (char const )'M',
8435 (char const )'a', (char const )'x', (char const )'i', (char const )'m',
8436 (char const )' ', (char const )'L', (char const )'e', (char const )'v',
8437 (char const )'i', (char const )'t', (char const )'s', (char const )'k',
8438 (char const )'y', (char const )' ', (char const )'<', (char const )'m',
8439 (char const )'a', (char const )'x', (char const )'i', (char const )'m',
8440 (char const )'l', (char const )'e', (char const )'v', (char const )'i',
8441 (char const )'t', (char const )'s', (char const )'k', (char const )'y',
8442 (char const )'@', (char const )'g', (char const )'m', (char const )'a',
8443 (char const )'i', (char const )'l', (char const )'.', (char const )'c',
8444 (char const )'o', (char const )'m', (char const )'>', (char const )'\000'};
8445# 1303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8446static char const __mod_description1303[48] __attribute__((__used__, __unused__,
8447__section__(".modinfo"), __aligned__(1))) =
8448# 1303 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8449 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
8450 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
8451 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
8452 (char const )'S', (char const )'m', (char const )'a', (char const )'r',
8453 (char const )'t', (char const )'m', (char const )'e', (char const )'d',
8454 (char const )'i', (char const )'a', (char const )'/', (char const )'x',
8455 (char const )'D', (char const )' ', (char const )'m', (char const )'t',
8456 (char const )'d', (char const )' ', (char const )'t', (char const )'r',
8457 (char const )'a', (char const )'n', (char const )'s', (char const )'l',
8458 (char const )'a', (char const )'t', (char const )'i', (char const )'o',
8459 (char const )'n', (char const )' ', (char const )'l', (char const )'a',
8460 (char const )'y', (char const )'e', (char const )'r', (char const )'\000'};
8461# 1321 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8462void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
8463# 1327 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8464extern void ldv_initialize(void) ;
8465# 1330 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8466extern int nondet_int(void) ;
8467# 1333 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8468int LDV_IN_INTERRUPT ;
8469# 1336 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8470void main(void)
8471{ struct mtd_blktrans_dev *var_group1 ;
8472 struct hd_geometry *var_group2 ;
8473 struct mtd_blktrans_ops *var_group3 ;
8474 struct mtd_info *var_group4 ;
8475 unsigned long var_sm_read_28_p1 ;
8476 char *var_sm_read_28_p2 ;
8477 unsigned long var_sm_write_29_p1 ;
8478 char *var_sm_write_29_p2 ;
8479 int tmp___7 ;
8480 int ldv_s_sm_ftl_ops_mtd_blktrans_ops ;
8481 int tmp___8 ;
8482 int tmp___9 ;
8483
8484 {
8485 {
8486# 1401 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8487 LDV_IN_INTERRUPT = 1;
8488# 1410 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8489 ldv_initialize();
8490# 1419 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8491 tmp___7 = sm_module_init();
8492 }
8493# 1419 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8494 if (tmp___7) {
8495# 1420 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8496 goto ldv_final;
8497 } else {
8498
8499 }
8500# 1421 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8501 ldv_s_sm_ftl_ops_mtd_blktrans_ops = 0;
8502 {
8503# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8504 while (1) {
8505 while_continue: ;
8506 {
8507# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8508 tmp___9 = nondet_int();
8509 }
8510# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8511 if (tmp___9) {
8512
8513 } else
8514# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8515 if (! (ldv_s_sm_ftl_ops_mtd_blktrans_ops == 0)) {
8516
8517 } else {
8518# 1425 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8519 goto while_break;
8520 }
8521 {
8522# 1429 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8523 tmp___8 = nondet_int();
8524 }
8525# 1431 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8526 if (tmp___8 == 0) {
8527# 1431 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8528 goto case_0;
8529 } else
8530# 1450 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8531 if (tmp___8 == 1) {
8532# 1450 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8533 goto case_1;
8534 } else
8535# 1469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8536 if (tmp___8 == 2) {
8537# 1469 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8538 goto case_2;
8539 } else
8540# 1488 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8541 if (tmp___8 == 3) {
8542# 1488 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8543 goto case_3;
8544 } else
8545# 1507 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8546 if (tmp___8 == 4) {
8547# 1507 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8548 goto case_4;
8549 } else
8550# 1526 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8551 if (tmp___8 == 5) {
8552# 1526 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8553 goto case_5;
8554 } else
8555# 1545 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8556 if (tmp___8 == 6) {
8557# 1545 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8558 goto case_6;
8559 } else {
8560# 1564 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8561 goto switch_default;
8562# 1429 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8563 if (0) {
8564 case_0:
8565# 1434 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8566 if (ldv_s_sm_ftl_ops_mtd_blktrans_ops == 0) {
8567 {
8568# 1442 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8569 sm_release(var_group1);
8570# 1443 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8571 ldv_s_sm_ftl_ops_mtd_blktrans_ops = 0;
8572 }
8573 } else {
8574
8575 }
8576# 1449 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8577 goto switch_break;
8578 case_1:
8579 {
8580# 1461 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8581 sm_getgeo(var_group1, var_group2);
8582 }
8583# 1468 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8584 goto switch_break;
8585 case_2:
8586 {
8587# 1480 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8588 sm_add_mtd(var_group3, var_group4);
8589 }
8590# 1487 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8591 goto switch_break;
8592 case_3:
8593 {
8594# 1499 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8595 sm_remove_dev(var_group1);
8596 }
8597# 1506 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8598 goto switch_break;
8599 case_4:
8600 {
8601# 1518 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8602 sm_read(var_group1, var_sm_read_28_p1, var_sm_read_28_p2);
8603 }
8604# 1525 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8605 goto switch_break;
8606 case_5:
8607 {
8608# 1537 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8609 sm_write(var_group1, var_sm_write_29_p1, var_sm_write_29_p2);
8610 }
8611# 1544 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8612 goto switch_break;
8613 case_6:
8614 {
8615# 1556 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8616 sm_flush(var_group1);
8617 }
8618# 1563 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8619 goto switch_break;
8620 switch_default:
8621# 1564 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8622 goto switch_break;
8623 } else {
8624 switch_break: ;
8625 }
8626 }
8627 }
8628 while_break___0: ;
8629 }
8630 while_break:
8631 {
8632# 1579 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8633 sm_module_exit();
8634 }
8635 ldv_final:
8636 {
8637# 1582 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8638 ldv_check_final_state();
8639 }
8640# 1585 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/mtd/sm_ftl.c.common.c"
8641 return;
8642}
8643}
8644# 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
8645void ldv_blast_assert(void)
8646{
8647
8648 {
8649 ERROR:
8650# 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
8651 goto ERROR;
8652}
8653}
8654# 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
8655extern void *ldv_undefined_pointer(void) ;
8656# 1332 "include/linux/usb.h"
8657struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
8658# 1333 "include/linux/usb.h"
8659void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
8660# 1377 "include/linux/usb.h"
8661void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8662 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
8663# 1379 "include/linux/usb.h"
8664void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
8665# 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8666void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
8667# 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8668void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
8669# 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8670void ldv_assume_stop(void)
8671{
8672
8673 {
8674 LDV_STOP:
8675# 23 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8676 goto LDV_STOP;
8677}
8678}
8679# 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8680int ldv_urb_state = 0;
8681# 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8682int ldv_coherent_state = 0;
8683# 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8684void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8685 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
8686# 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8687void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8688 dma_addr_t *dma )
8689{ void *arbitrary_memory ;
8690 void *tmp___7 ;
8691
8692 {
8693 {
8694# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8695 while (1) {
8696 while_continue: ;
8697 {
8698# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8699 tmp___7 = ldv_undefined_pointer();
8700# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8701 arbitrary_memory = tmp___7;
8702 }
8703# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8704 if (! arbitrary_memory) {
8705# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8706 return ((void *)0);
8707 } else {
8708
8709 }
8710# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8711 ldv_coherent_state = ldv_coherent_state + 1;
8712# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8713 return (arbitrary_memory);
8714# 64 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8715 goto while_break;
8716 }
8717 while_break___0: ;
8718 }
8719 while_break: ;
8720# 65 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8721 return ((void *)0);
8722}
8723}
8724# 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8725void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
8726# 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8727void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )
8728{
8729
8730 {
8731 {
8732# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8733 while (1) {
8734 while_continue: ;
8735# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8736 if (! ((unsigned long )addr != (unsigned long )((void *)0))) {
8737 {
8738# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8739 ldv_assume_stop();
8740 }
8741 } else {
8742
8743 }
8744# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8745 if (addr) {
8746# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8747 if (ldv_coherent_state >= 1) {
8748
8749 } else {
8750 {
8751# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8752 ldv_blast_assert();
8753 }
8754 }
8755# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8756 ldv_coherent_state = ldv_coherent_state - 1;
8757 } else {
8758
8759 }
8760# 70 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8761 goto while_break;
8762 }
8763 while_break___0: ;
8764 }
8765 while_break: ;
8766# 71 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8767 return;
8768}
8769}
8770# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8771struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
8772# 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8773struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )
8774{ void *arbitrary_memory ;
8775 void *tmp___7 ;
8776
8777 {
8778 {
8779# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8780 while (1) {
8781 while_continue: ;
8782 {
8783# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8784 tmp___7 = ldv_undefined_pointer();
8785# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8786 arbitrary_memory = tmp___7;
8787 }
8788# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8789 if (! arbitrary_memory) {
8790# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8791 return ((struct urb *)((void *)0));
8792 } else {
8793
8794 }
8795# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8796 ldv_urb_state = ldv_urb_state + 1;
8797# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8798 return ((struct urb *)arbitrary_memory);
8799# 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8800 goto while_break;
8801 }
8802 while_break___0: ;
8803 }
8804 while_break: ;
8805# 76 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8806 return ((struct urb *)0);
8807}
8808}
8809# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8810void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
8811# 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8812void usb_free_urb(struct urb *urb )
8813{
8814
8815 {
8816 {
8817# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8818 while (1) {
8819 while_continue: ;
8820# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8821 if (! ((unsigned long )urb != (unsigned long )((struct urb *)0))) {
8822 {
8823# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8824 ldv_assume_stop();
8825 }
8826 } else {
8827
8828 }
8829# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8830 if (urb) {
8831# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8832 if (ldv_urb_state >= 1) {
8833
8834 } else {
8835 {
8836# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8837 ldv_blast_assert();
8838 }
8839 }
8840# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8841 ldv_urb_state = ldv_urb_state - 1;
8842 } else {
8843
8844 }
8845# 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8846 goto while_break;
8847 }
8848 while_break___0: ;
8849 }
8850 while_break: ;
8851# 81 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8852 return;
8853}
8854}
8855# 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8856void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
8857# 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8858void ldv_check_final_state(void)
8859{
8860
8861 {
8862# 86 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8863 if (ldv_urb_state == 0) {
8864
8865 } else {
8866 {
8867# 86 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8868 ldv_blast_assert();
8869 }
8870 }
8871# 88 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8872 if (ldv_coherent_state == 0) {
8873
8874 } else {
8875 {
8876# 88 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8877 ldv_blast_assert();
8878 }
8879 }
8880# 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/mtd/sm_ftl.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8881 return;
8882}
8883}