Showing error 1105

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--mtd--onenand--onenand_sim.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4990
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 20 "include/asm-generic/int-ll64.h"
   5typedef unsigned char __u8;
   6#line 23 "include/asm-generic/int-ll64.h"
   7typedef unsigned short __u16;
   8#line 25 "include/asm-generic/int-ll64.h"
   9typedef int __s32;
  10#line 26 "include/asm-generic/int-ll64.h"
  11typedef unsigned int __u32;
  12#line 30 "include/asm-generic/int-ll64.h"
  13typedef unsigned long long __u64;
  14#line 43 "include/asm-generic/int-ll64.h"
  15typedef unsigned char u8;
  16#line 45 "include/asm-generic/int-ll64.h"
  17typedef short s16;
  18#line 46 "include/asm-generic/int-ll64.h"
  19typedef unsigned short u16;
  20#line 49 "include/asm-generic/int-ll64.h"
  21typedef unsigned int u32;
  22#line 51 "include/asm-generic/int-ll64.h"
  23typedef long long s64;
  24#line 52 "include/asm-generic/int-ll64.h"
  25typedef unsigned long long u64;
  26#line 14 "include/asm-generic/posix_types.h"
  27typedef long __kernel_long_t;
  28#line 15 "include/asm-generic/posix_types.h"
  29typedef unsigned long __kernel_ulong_t;
  30#line 31 "include/asm-generic/posix_types.h"
  31typedef int __kernel_pid_t;
  32#line 52 "include/asm-generic/posix_types.h"
  33typedef unsigned int __kernel_uid32_t;
  34#line 53 "include/asm-generic/posix_types.h"
  35typedef unsigned int __kernel_gid32_t;
  36#line 75 "include/asm-generic/posix_types.h"
  37typedef __kernel_ulong_t __kernel_size_t;
  38#line 76 "include/asm-generic/posix_types.h"
  39typedef __kernel_long_t __kernel_ssize_t;
  40#line 91 "include/asm-generic/posix_types.h"
  41typedef long long __kernel_loff_t;
  42#line 92 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_time_t;
  44#line 93 "include/asm-generic/posix_types.h"
  45typedef __kernel_long_t __kernel_clock_t;
  46#line 94 "include/asm-generic/posix_types.h"
  47typedef int __kernel_timer_t;
  48#line 95 "include/asm-generic/posix_types.h"
  49typedef int __kernel_clockid_t;
  50#line 21 "include/linux/types.h"
  51typedef __u32 __kernel_dev_t;
  52#line 24 "include/linux/types.h"
  53typedef __kernel_dev_t dev_t;
  54#line 27 "include/linux/types.h"
  55typedef unsigned short umode_t;
  56#line 30 "include/linux/types.h"
  57typedef __kernel_pid_t pid_t;
  58#line 35 "include/linux/types.h"
  59typedef __kernel_clockid_t clockid_t;
  60#line 38 "include/linux/types.h"
  61typedef _Bool bool;
  62#line 40 "include/linux/types.h"
  63typedef __kernel_uid32_t uid_t;
  64#line 41 "include/linux/types.h"
  65typedef __kernel_gid32_t gid_t;
  66#line 54 "include/linux/types.h"
  67typedef __kernel_loff_t loff_t;
  68#line 63 "include/linux/types.h"
  69typedef __kernel_size_t size_t;
  70#line 68 "include/linux/types.h"
  71typedef __kernel_ssize_t ssize_t;
  72#line 78 "include/linux/types.h"
  73typedef __kernel_time_t time_t;
  74#line 92 "include/linux/types.h"
  75typedef unsigned char u_char;
  76#line 95 "include/linux/types.h"
  77typedef unsigned long u_long;
  78#line 111 "include/linux/types.h"
  79typedef __s32 int32_t;
  80#line 115 "include/linux/types.h"
  81typedef __u8 uint8_t;
  82#line 117 "include/linux/types.h"
  83typedef __u32 uint32_t;
  84#line 120 "include/linux/types.h"
  85typedef __u64 uint64_t;
  86#line 202 "include/linux/types.h"
  87typedef unsigned int gfp_t;
  88#line 206 "include/linux/types.h"
  89typedef u64 phys_addr_t;
  90#line 211 "include/linux/types.h"
  91typedef phys_addr_t resource_size_t;
  92#line 221 "include/linux/types.h"
  93struct __anonstruct_atomic_t_6 {
  94   int counter ;
  95};
  96#line 221 "include/linux/types.h"
  97typedef struct __anonstruct_atomic_t_6 atomic_t;
  98#line 226 "include/linux/types.h"
  99struct __anonstruct_atomic64_t_7 {
 100   long counter ;
 101};
 102#line 226 "include/linux/types.h"
 103typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 104#line 227 "include/linux/types.h"
 105struct list_head {
 106   struct list_head *next ;
 107   struct list_head *prev ;
 108};
 109#line 232
 110struct hlist_node;
 111#line 232 "include/linux/types.h"
 112struct hlist_head {
 113   struct hlist_node *first ;
 114};
 115#line 236 "include/linux/types.h"
 116struct hlist_node {
 117   struct hlist_node *next ;
 118   struct hlist_node **pprev ;
 119};
 120#line 247 "include/linux/types.h"
 121struct rcu_head {
 122   struct rcu_head *next ;
 123   void (*func)(struct rcu_head * ) ;
 124};
 125#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 126struct module;
 127#line 55
 128struct module;
 129#line 146 "include/linux/init.h"
 130typedef void (*ctor_fn_t)(void);
 131#line 46 "include/linux/dynamic_debug.h"
 132struct device;
 133#line 46
 134struct device;
 135#line 57
 136struct completion;
 137#line 57
 138struct completion;
 139#line 58
 140struct pt_regs;
 141#line 58
 142struct pt_regs;
 143#line 348 "include/linux/kernel.h"
 144struct pid;
 145#line 348
 146struct pid;
 147#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 148struct timespec;
 149#line 112
 150struct timespec;
 151#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 152struct page;
 153#line 58
 154struct page;
 155#line 26 "include/asm-generic/getorder.h"
 156struct task_struct;
 157#line 26
 158struct task_struct;
 159#line 28
 160struct mm_struct;
 161#line 28
 162struct mm_struct;
 163#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 164struct pt_regs {
 165   unsigned long r15 ;
 166   unsigned long r14 ;
 167   unsigned long r13 ;
 168   unsigned long r12 ;
 169   unsigned long bp ;
 170   unsigned long bx ;
 171   unsigned long r11 ;
 172   unsigned long r10 ;
 173   unsigned long r9 ;
 174   unsigned long r8 ;
 175   unsigned long ax ;
 176   unsigned long cx ;
 177   unsigned long dx ;
 178   unsigned long si ;
 179   unsigned long di ;
 180   unsigned long orig_ax ;
 181   unsigned long ip ;
 182   unsigned long cs ;
 183   unsigned long flags ;
 184   unsigned long sp ;
 185   unsigned long ss ;
 186};
 187#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 188struct __anonstruct_ldv_2180_13 {
 189   unsigned int a ;
 190   unsigned int b ;
 191};
 192#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 193struct __anonstruct_ldv_2195_14 {
 194   u16 limit0 ;
 195   u16 base0 ;
 196   unsigned char base1 ;
 197   unsigned char type : 4 ;
 198   unsigned char s : 1 ;
 199   unsigned char dpl : 2 ;
 200   unsigned char p : 1 ;
 201   unsigned char limit : 4 ;
 202   unsigned char avl : 1 ;
 203   unsigned char l : 1 ;
 204   unsigned char d : 1 ;
 205   unsigned char g : 1 ;
 206   unsigned char base2 ;
 207};
 208#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 209union __anonunion_ldv_2196_12 {
 210   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 211   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 212};
 213#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 214struct desc_struct {
 215   union __anonunion_ldv_2196_12 ldv_2196 ;
 216};
 217#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 218typedef unsigned long pgdval_t;
 219#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 220typedef unsigned long pgprotval_t;
 221#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 222struct pgprot {
 223   pgprotval_t pgprot ;
 224};
 225#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 226typedef struct pgprot pgprot_t;
 227#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 228struct __anonstruct_pgd_t_16 {
 229   pgdval_t pgd ;
 230};
 231#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 232typedef struct __anonstruct_pgd_t_16 pgd_t;
 233#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 234typedef struct page *pgtable_t;
 235#line 290
 236struct file;
 237#line 290
 238struct file;
 239#line 337
 240struct thread_struct;
 241#line 337
 242struct thread_struct;
 243#line 339
 244struct cpumask;
 245#line 339
 246struct cpumask;
 247#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 248struct arch_spinlock;
 249#line 327
 250struct arch_spinlock;
 251#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 252struct kernel_vm86_regs {
 253   struct pt_regs pt ;
 254   unsigned short es ;
 255   unsigned short __esh ;
 256   unsigned short ds ;
 257   unsigned short __dsh ;
 258   unsigned short fs ;
 259   unsigned short __fsh ;
 260   unsigned short gs ;
 261   unsigned short __gsh ;
 262};
 263#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 264union __anonunion_ldv_2824_19 {
 265   struct pt_regs *regs ;
 266   struct kernel_vm86_regs *vm86 ;
 267};
 268#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 269struct math_emu_info {
 270   long ___orig_eip ;
 271   union __anonunion_ldv_2824_19 ldv_2824 ;
 272};
 273#line 306 "include/linux/bitmap.h"
 274struct bug_entry {
 275   int bug_addr_disp ;
 276   int file_disp ;
 277   unsigned short line ;
 278   unsigned short flags ;
 279};
 280#line 89 "include/linux/bug.h"
 281struct cpumask {
 282   unsigned long bits[64U] ;
 283};
 284#line 14 "include/linux/cpumask.h"
 285typedef struct cpumask cpumask_t;
 286#line 637 "include/linux/cpumask.h"
 287typedef struct cpumask *cpumask_var_t;
 288#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 289struct static_key;
 290#line 234
 291struct static_key;
 292#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 293struct i387_fsave_struct {
 294   u32 cwd ;
 295   u32 swd ;
 296   u32 twd ;
 297   u32 fip ;
 298   u32 fcs ;
 299   u32 foo ;
 300   u32 fos ;
 301   u32 st_space[20U] ;
 302   u32 status ;
 303};
 304#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 305struct __anonstruct_ldv_5180_24 {
 306   u64 rip ;
 307   u64 rdp ;
 308};
 309#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 310struct __anonstruct_ldv_5186_25 {
 311   u32 fip ;
 312   u32 fcs ;
 313   u32 foo ;
 314   u32 fos ;
 315};
 316#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 317union __anonunion_ldv_5187_23 {
 318   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 319   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 320};
 321#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 322union __anonunion_ldv_5196_26 {
 323   u32 padding1[12U] ;
 324   u32 sw_reserved[12U] ;
 325};
 326#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 327struct i387_fxsave_struct {
 328   u16 cwd ;
 329   u16 swd ;
 330   u16 twd ;
 331   u16 fop ;
 332   union __anonunion_ldv_5187_23 ldv_5187 ;
 333   u32 mxcsr ;
 334   u32 mxcsr_mask ;
 335   u32 st_space[32U] ;
 336   u32 xmm_space[64U] ;
 337   u32 padding[12U] ;
 338   union __anonunion_ldv_5196_26 ldv_5196 ;
 339};
 340#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 341struct i387_soft_struct {
 342   u32 cwd ;
 343   u32 swd ;
 344   u32 twd ;
 345   u32 fip ;
 346   u32 fcs ;
 347   u32 foo ;
 348   u32 fos ;
 349   u32 st_space[20U] ;
 350   u8 ftop ;
 351   u8 changed ;
 352   u8 lookahead ;
 353   u8 no_update ;
 354   u8 rm ;
 355   u8 alimit ;
 356   struct math_emu_info *info ;
 357   u32 entry_eip ;
 358};
 359#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 360struct ymmh_struct {
 361   u32 ymmh_space[64U] ;
 362};
 363#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 364struct xsave_hdr_struct {
 365   u64 xstate_bv ;
 366   u64 reserved1[2U] ;
 367   u64 reserved2[5U] ;
 368};
 369#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 370struct xsave_struct {
 371   struct i387_fxsave_struct i387 ;
 372   struct xsave_hdr_struct xsave_hdr ;
 373   struct ymmh_struct ymmh ;
 374};
 375#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 376union thread_xstate {
 377   struct i387_fsave_struct fsave ;
 378   struct i387_fxsave_struct fxsave ;
 379   struct i387_soft_struct soft ;
 380   struct xsave_struct xsave ;
 381};
 382#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 383struct fpu {
 384   unsigned int last_cpu ;
 385   unsigned int has_fpu ;
 386   union thread_xstate *state ;
 387};
 388#line 433
 389struct kmem_cache;
 390#line 434
 391struct perf_event;
 392#line 434
 393struct perf_event;
 394#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 395struct thread_struct {
 396   struct desc_struct tls_array[3U] ;
 397   unsigned long sp0 ;
 398   unsigned long sp ;
 399   unsigned long usersp ;
 400   unsigned short es ;
 401   unsigned short ds ;
 402   unsigned short fsindex ;
 403   unsigned short gsindex ;
 404   unsigned long fs ;
 405   unsigned long gs ;
 406   struct perf_event *ptrace_bps[4U] ;
 407   unsigned long debugreg6 ;
 408   unsigned long ptrace_dr7 ;
 409   unsigned long cr2 ;
 410   unsigned long trap_nr ;
 411   unsigned long error_code ;
 412   struct fpu fpu ;
 413   unsigned long *io_bitmap_ptr ;
 414   unsigned long iopl ;
 415   unsigned int io_bitmap_max ;
 416};
 417#line 23 "include/asm-generic/atomic-long.h"
 418typedef atomic64_t atomic_long_t;
 419#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 420typedef u16 __ticket_t;
 421#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 422typedef u32 __ticketpair_t;
 423#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 424struct __raw_tickets {
 425   __ticket_t head ;
 426   __ticket_t tail ;
 427};
 428#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 429union __anonunion_ldv_5907_29 {
 430   __ticketpair_t head_tail ;
 431   struct __raw_tickets tickets ;
 432};
 433#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 434struct arch_spinlock {
 435   union __anonunion_ldv_5907_29 ldv_5907 ;
 436};
 437#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 438typedef struct arch_spinlock arch_spinlock_t;
 439#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 440struct lockdep_map;
 441#line 34
 442struct lockdep_map;
 443#line 55 "include/linux/debug_locks.h"
 444struct stack_trace {
 445   unsigned int nr_entries ;
 446   unsigned int max_entries ;
 447   unsigned long *entries ;
 448   int skip ;
 449};
 450#line 26 "include/linux/stacktrace.h"
 451struct lockdep_subclass_key {
 452   char __one_byte ;
 453};
 454#line 53 "include/linux/lockdep.h"
 455struct lock_class_key {
 456   struct lockdep_subclass_key subkeys[8U] ;
 457};
 458#line 59 "include/linux/lockdep.h"
 459struct lock_class {
 460   struct list_head hash_entry ;
 461   struct list_head lock_entry ;
 462   struct lockdep_subclass_key *key ;
 463   unsigned int subclass ;
 464   unsigned int dep_gen_id ;
 465   unsigned long usage_mask ;
 466   struct stack_trace usage_traces[13U] ;
 467   struct list_head locks_after ;
 468   struct list_head locks_before ;
 469   unsigned int version ;
 470   unsigned long ops ;
 471   char const   *name ;
 472   int name_version ;
 473   unsigned long contention_point[4U] ;
 474   unsigned long contending_point[4U] ;
 475};
 476#line 144 "include/linux/lockdep.h"
 477struct lockdep_map {
 478   struct lock_class_key *key ;
 479   struct lock_class *class_cache[2U] ;
 480   char const   *name ;
 481   int cpu ;
 482   unsigned long ip ;
 483};
 484#line 187 "include/linux/lockdep.h"
 485struct held_lock {
 486   u64 prev_chain_key ;
 487   unsigned long acquire_ip ;
 488   struct lockdep_map *instance ;
 489   struct lockdep_map *nest_lock ;
 490   u64 waittime_stamp ;
 491   u64 holdtime_stamp ;
 492   unsigned short class_idx : 13 ;
 493   unsigned char irq_context : 2 ;
 494   unsigned char trylock : 1 ;
 495   unsigned char read : 2 ;
 496   unsigned char check : 2 ;
 497   unsigned char hardirqs_off : 1 ;
 498   unsigned short references : 11 ;
 499};
 500#line 556 "include/linux/lockdep.h"
 501struct raw_spinlock {
 502   arch_spinlock_t raw_lock ;
 503   unsigned int magic ;
 504   unsigned int owner_cpu ;
 505   void *owner ;
 506   struct lockdep_map dep_map ;
 507};
 508#line 32 "include/linux/spinlock_types.h"
 509typedef struct raw_spinlock raw_spinlock_t;
 510#line 33 "include/linux/spinlock_types.h"
 511struct __anonstruct_ldv_6122_33 {
 512   u8 __padding[24U] ;
 513   struct lockdep_map dep_map ;
 514};
 515#line 33 "include/linux/spinlock_types.h"
 516union __anonunion_ldv_6123_32 {
 517   struct raw_spinlock rlock ;
 518   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 519};
 520#line 33 "include/linux/spinlock_types.h"
 521struct spinlock {
 522   union __anonunion_ldv_6123_32 ldv_6123 ;
 523};
 524#line 76 "include/linux/spinlock_types.h"
 525typedef struct spinlock spinlock_t;
 526#line 110 "include/linux/seqlock.h"
 527struct seqcount {
 528   unsigned int sequence ;
 529};
 530#line 121 "include/linux/seqlock.h"
 531typedef struct seqcount seqcount_t;
 532#line 254 "include/linux/seqlock.h"
 533struct timespec {
 534   __kernel_time_t tv_sec ;
 535   long tv_nsec ;
 536};
 537#line 48 "include/linux/wait.h"
 538struct __wait_queue_head {
 539   spinlock_t lock ;
 540   struct list_head task_list ;
 541};
 542#line 53 "include/linux/wait.h"
 543typedef struct __wait_queue_head wait_queue_head_t;
 544#line 98 "include/linux/nodemask.h"
 545struct __anonstruct_nodemask_t_36 {
 546   unsigned long bits[16U] ;
 547};
 548#line 98 "include/linux/nodemask.h"
 549typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 550#line 670 "include/linux/mmzone.h"
 551struct mutex {
 552   atomic_t count ;
 553   spinlock_t wait_lock ;
 554   struct list_head wait_list ;
 555   struct task_struct *owner ;
 556   char const   *name ;
 557   void *magic ;
 558   struct lockdep_map dep_map ;
 559};
 560#line 63 "include/linux/mutex.h"
 561struct mutex_waiter {
 562   struct list_head list ;
 563   struct task_struct *task ;
 564   void *magic ;
 565};
 566#line 171
 567struct rw_semaphore;
 568#line 171
 569struct rw_semaphore;
 570#line 172 "include/linux/mutex.h"
 571struct rw_semaphore {
 572   long count ;
 573   raw_spinlock_t wait_lock ;
 574   struct list_head wait_list ;
 575   struct lockdep_map dep_map ;
 576};
 577#line 128 "include/linux/rwsem.h"
 578struct completion {
 579   unsigned int done ;
 580   wait_queue_head_t wait ;
 581};
 582#line 188 "include/linux/rcupdate.h"
 583struct notifier_block;
 584#line 188
 585struct notifier_block;
 586#line 239 "include/linux/srcu.h"
 587struct notifier_block {
 588   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
 589   struct notifier_block *next ;
 590   int priority ;
 591};
 592#line 312 "include/linux/jiffies.h"
 593union ktime {
 594   s64 tv64 ;
 595};
 596#line 59 "include/linux/ktime.h"
 597typedef union ktime ktime_t;
 598#line 341
 599struct tvec_base;
 600#line 341
 601struct tvec_base;
 602#line 342 "include/linux/ktime.h"
 603struct timer_list {
 604   struct list_head entry ;
 605   unsigned long expires ;
 606   struct tvec_base *base ;
 607   void (*function)(unsigned long  ) ;
 608   unsigned long data ;
 609   int slack ;
 610   int start_pid ;
 611   void *start_site ;
 612   char start_comm[16U] ;
 613   struct lockdep_map lockdep_map ;
 614};
 615#line 289 "include/linux/timer.h"
 616struct hrtimer;
 617#line 289
 618struct hrtimer;
 619#line 290
 620enum hrtimer_restart;
 621#line 302
 622struct work_struct;
 623#line 302
 624struct work_struct;
 625#line 45 "include/linux/workqueue.h"
 626struct work_struct {
 627   atomic_long_t data ;
 628   struct list_head entry ;
 629   void (*func)(struct work_struct * ) ;
 630   struct lockdep_map lockdep_map ;
 631};
 632#line 46 "include/linux/pm.h"
 633struct pm_message {
 634   int event ;
 635};
 636#line 52 "include/linux/pm.h"
 637typedef struct pm_message pm_message_t;
 638#line 53 "include/linux/pm.h"
 639struct dev_pm_ops {
 640   int (*prepare)(struct device * ) ;
 641   void (*complete)(struct device * ) ;
 642   int (*suspend)(struct device * ) ;
 643   int (*resume)(struct device * ) ;
 644   int (*freeze)(struct device * ) ;
 645   int (*thaw)(struct device * ) ;
 646   int (*poweroff)(struct device * ) ;
 647   int (*restore)(struct device * ) ;
 648   int (*suspend_late)(struct device * ) ;
 649   int (*resume_early)(struct device * ) ;
 650   int (*freeze_late)(struct device * ) ;
 651   int (*thaw_early)(struct device * ) ;
 652   int (*poweroff_late)(struct device * ) ;
 653   int (*restore_early)(struct device * ) ;
 654   int (*suspend_noirq)(struct device * ) ;
 655   int (*resume_noirq)(struct device * ) ;
 656   int (*freeze_noirq)(struct device * ) ;
 657   int (*thaw_noirq)(struct device * ) ;
 658   int (*poweroff_noirq)(struct device * ) ;
 659   int (*restore_noirq)(struct device * ) ;
 660   int (*runtime_suspend)(struct device * ) ;
 661   int (*runtime_resume)(struct device * ) ;
 662   int (*runtime_idle)(struct device * ) ;
 663};
 664#line 289
 665enum rpm_status {
 666    RPM_ACTIVE = 0,
 667    RPM_RESUMING = 1,
 668    RPM_SUSPENDED = 2,
 669    RPM_SUSPENDING = 3
 670} ;
 671#line 296
 672enum rpm_request {
 673    RPM_REQ_NONE = 0,
 674    RPM_REQ_IDLE = 1,
 675    RPM_REQ_SUSPEND = 2,
 676    RPM_REQ_AUTOSUSPEND = 3,
 677    RPM_REQ_RESUME = 4
 678} ;
 679#line 304
 680struct wakeup_source;
 681#line 304
 682struct wakeup_source;
 683#line 494 "include/linux/pm.h"
 684struct pm_subsys_data {
 685   spinlock_t lock ;
 686   unsigned int refcount ;
 687};
 688#line 499
 689struct dev_pm_qos_request;
 690#line 499
 691struct pm_qos_constraints;
 692#line 499 "include/linux/pm.h"
 693struct dev_pm_info {
 694   pm_message_t power_state ;
 695   unsigned char can_wakeup : 1 ;
 696   unsigned char async_suspend : 1 ;
 697   bool is_prepared ;
 698   bool is_suspended ;
 699   bool ignore_children ;
 700   spinlock_t lock ;
 701   struct list_head entry ;
 702   struct completion completion ;
 703   struct wakeup_source *wakeup ;
 704   bool wakeup_path ;
 705   struct timer_list suspend_timer ;
 706   unsigned long timer_expires ;
 707   struct work_struct work ;
 708   wait_queue_head_t wait_queue ;
 709   atomic_t usage_count ;
 710   atomic_t child_count ;
 711   unsigned char disable_depth : 3 ;
 712   unsigned char idle_notification : 1 ;
 713   unsigned char request_pending : 1 ;
 714   unsigned char deferred_resume : 1 ;
 715   unsigned char run_wake : 1 ;
 716   unsigned char runtime_auto : 1 ;
 717   unsigned char no_callbacks : 1 ;
 718   unsigned char irq_safe : 1 ;
 719   unsigned char use_autosuspend : 1 ;
 720   unsigned char timer_autosuspends : 1 ;
 721   enum rpm_request request ;
 722   enum rpm_status runtime_status ;
 723   int runtime_error ;
 724   int autosuspend_delay ;
 725   unsigned long last_busy ;
 726   unsigned long active_jiffies ;
 727   unsigned long suspended_jiffies ;
 728   unsigned long accounting_timestamp ;
 729   ktime_t suspend_time ;
 730   s64 max_time_suspended_ns ;
 731   struct dev_pm_qos_request *pq_req ;
 732   struct pm_subsys_data *subsys_data ;
 733   struct pm_qos_constraints *constraints ;
 734};
 735#line 558 "include/linux/pm.h"
 736struct dev_pm_domain {
 737   struct dev_pm_ops ops ;
 738};
 739#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 740struct __anonstruct_mm_context_t_101 {
 741   void *ldt ;
 742   int size ;
 743   unsigned short ia32_compat ;
 744   struct mutex lock ;
 745   void *vdso ;
 746};
 747#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 748typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 749#line 18 "include/asm-generic/pci_iomap.h"
 750struct vm_area_struct;
 751#line 18
 752struct vm_area_struct;
 753#line 835 "include/linux/sysctl.h"
 754struct rb_node {
 755   unsigned long rb_parent_color ;
 756   struct rb_node *rb_right ;
 757   struct rb_node *rb_left ;
 758};
 759#line 108 "include/linux/rbtree.h"
 760struct rb_root {
 761   struct rb_node *rb_node ;
 762};
 763#line 176
 764struct nsproxy;
 765#line 176
 766struct nsproxy;
 767#line 37 "include/linux/kmod.h"
 768struct cred;
 769#line 37
 770struct cred;
 771#line 18 "include/linux/elf.h"
 772typedef __u64 Elf64_Addr;
 773#line 19 "include/linux/elf.h"
 774typedef __u16 Elf64_Half;
 775#line 23 "include/linux/elf.h"
 776typedef __u32 Elf64_Word;
 777#line 24 "include/linux/elf.h"
 778typedef __u64 Elf64_Xword;
 779#line 193 "include/linux/elf.h"
 780struct elf64_sym {
 781   Elf64_Word st_name ;
 782   unsigned char st_info ;
 783   unsigned char st_other ;
 784   Elf64_Half st_shndx ;
 785   Elf64_Addr st_value ;
 786   Elf64_Xword st_size ;
 787};
 788#line 201 "include/linux/elf.h"
 789typedef struct elf64_sym Elf64_Sym;
 790#line 445
 791struct sock;
 792#line 445
 793struct sock;
 794#line 446
 795struct kobject;
 796#line 446
 797struct kobject;
 798#line 447
 799enum kobj_ns_type {
 800    KOBJ_NS_TYPE_NONE = 0,
 801    KOBJ_NS_TYPE_NET = 1,
 802    KOBJ_NS_TYPES = 2
 803} ;
 804#line 453 "include/linux/elf.h"
 805struct kobj_ns_type_operations {
 806   enum kobj_ns_type type ;
 807   void *(*grab_current_ns)(void) ;
 808   void const   *(*netlink_ns)(struct sock * ) ;
 809   void const   *(*initial_ns)(void) ;
 810   void (*drop_ns)(void * ) ;
 811};
 812#line 57 "include/linux/kobject_ns.h"
 813struct attribute {
 814   char const   *name ;
 815   umode_t mode ;
 816   struct lock_class_key *key ;
 817   struct lock_class_key skey ;
 818};
 819#line 33 "include/linux/sysfs.h"
 820struct attribute_group {
 821   char const   *name ;
 822   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 823   struct attribute **attrs ;
 824};
 825#line 62 "include/linux/sysfs.h"
 826struct bin_attribute {
 827   struct attribute attr ;
 828   size_t size ;
 829   void *private ;
 830   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 831                   loff_t  , size_t  ) ;
 832   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 833                    loff_t  , size_t  ) ;
 834   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 835};
 836#line 98 "include/linux/sysfs.h"
 837struct sysfs_ops {
 838   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 839   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 840   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 841};
 842#line 117
 843struct sysfs_dirent;
 844#line 117
 845struct sysfs_dirent;
 846#line 182 "include/linux/sysfs.h"
 847struct kref {
 848   atomic_t refcount ;
 849};
 850#line 49 "include/linux/kobject.h"
 851struct kset;
 852#line 49
 853struct kobj_type;
 854#line 49 "include/linux/kobject.h"
 855struct kobject {
 856   char const   *name ;
 857   struct list_head entry ;
 858   struct kobject *parent ;
 859   struct kset *kset ;
 860   struct kobj_type *ktype ;
 861   struct sysfs_dirent *sd ;
 862   struct kref kref ;
 863   unsigned char state_initialized : 1 ;
 864   unsigned char state_in_sysfs : 1 ;
 865   unsigned char state_add_uevent_sent : 1 ;
 866   unsigned char state_remove_uevent_sent : 1 ;
 867   unsigned char uevent_suppress : 1 ;
 868};
 869#line 107 "include/linux/kobject.h"
 870struct kobj_type {
 871   void (*release)(struct kobject * ) ;
 872   struct sysfs_ops  const  *sysfs_ops ;
 873   struct attribute **default_attrs ;
 874   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 875   void const   *(*namespace)(struct kobject * ) ;
 876};
 877#line 115 "include/linux/kobject.h"
 878struct kobj_uevent_env {
 879   char *envp[32U] ;
 880   int envp_idx ;
 881   char buf[2048U] ;
 882   int buflen ;
 883};
 884#line 122 "include/linux/kobject.h"
 885struct kset_uevent_ops {
 886   int (* const  filter)(struct kset * , struct kobject * ) ;
 887   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 888   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 889};
 890#line 139 "include/linux/kobject.h"
 891struct kset {
 892   struct list_head list ;
 893   spinlock_t list_lock ;
 894   struct kobject kobj ;
 895   struct kset_uevent_ops  const  *uevent_ops ;
 896};
 897#line 215
 898struct kernel_param;
 899#line 215
 900struct kernel_param;
 901#line 216 "include/linux/kobject.h"
 902struct kernel_param_ops {
 903   int (*set)(char const   * , struct kernel_param  const  * ) ;
 904   int (*get)(char * , struct kernel_param  const  * ) ;
 905   void (*free)(void * ) ;
 906};
 907#line 49 "include/linux/moduleparam.h"
 908struct kparam_string;
 909#line 49
 910struct kparam_array;
 911#line 49 "include/linux/moduleparam.h"
 912union __anonunion_ldv_13367_134 {
 913   void *arg ;
 914   struct kparam_string  const  *str ;
 915   struct kparam_array  const  *arr ;
 916};
 917#line 49 "include/linux/moduleparam.h"
 918struct kernel_param {
 919   char const   *name ;
 920   struct kernel_param_ops  const  *ops ;
 921   u16 perm ;
 922   s16 level ;
 923   union __anonunion_ldv_13367_134 ldv_13367 ;
 924};
 925#line 61 "include/linux/moduleparam.h"
 926struct kparam_string {
 927   unsigned int maxlen ;
 928   char *string ;
 929};
 930#line 67 "include/linux/moduleparam.h"
 931struct kparam_array {
 932   unsigned int max ;
 933   unsigned int elemsize ;
 934   unsigned int *num ;
 935   struct kernel_param_ops  const  *ops ;
 936   void *elem ;
 937};
 938#line 458 "include/linux/moduleparam.h"
 939struct static_key {
 940   atomic_t enabled ;
 941};
 942#line 225 "include/linux/jump_label.h"
 943struct tracepoint;
 944#line 225
 945struct tracepoint;
 946#line 226 "include/linux/jump_label.h"
 947struct tracepoint_func {
 948   void *func ;
 949   void *data ;
 950};
 951#line 29 "include/linux/tracepoint.h"
 952struct tracepoint {
 953   char const   *name ;
 954   struct static_key key ;
 955   void (*regfunc)(void) ;
 956   void (*unregfunc)(void) ;
 957   struct tracepoint_func *funcs ;
 958};
 959#line 86 "include/linux/tracepoint.h"
 960struct kernel_symbol {
 961   unsigned long value ;
 962   char const   *name ;
 963};
 964#line 27 "include/linux/export.h"
 965struct mod_arch_specific {
 966
 967};
 968#line 34 "include/linux/module.h"
 969struct module_param_attrs;
 970#line 34 "include/linux/module.h"
 971struct module_kobject {
 972   struct kobject kobj ;
 973   struct module *mod ;
 974   struct kobject *drivers_dir ;
 975   struct module_param_attrs *mp ;
 976};
 977#line 43 "include/linux/module.h"
 978struct module_attribute {
 979   struct attribute attr ;
 980   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 981   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 982                    size_t  ) ;
 983   void (*setup)(struct module * , char const   * ) ;
 984   int (*test)(struct module * ) ;
 985   void (*free)(struct module * ) ;
 986};
 987#line 69
 988struct exception_table_entry;
 989#line 69
 990struct exception_table_entry;
 991#line 198
 992enum module_state {
 993    MODULE_STATE_LIVE = 0,
 994    MODULE_STATE_COMING = 1,
 995    MODULE_STATE_GOING = 2
 996} ;
 997#line 204 "include/linux/module.h"
 998struct module_ref {
 999   unsigned long incs ;
1000   unsigned long decs ;
1001};
1002#line 219
1003struct module_sect_attrs;
1004#line 219
1005struct module_notes_attrs;
1006#line 219
1007struct ftrace_event_call;
1008#line 219 "include/linux/module.h"
1009struct module {
1010   enum module_state state ;
1011   struct list_head list ;
1012   char name[56U] ;
1013   struct module_kobject mkobj ;
1014   struct module_attribute *modinfo_attrs ;
1015   char const   *version ;
1016   char const   *srcversion ;
1017   struct kobject *holders_dir ;
1018   struct kernel_symbol  const  *syms ;
1019   unsigned long const   *crcs ;
1020   unsigned int num_syms ;
1021   struct kernel_param *kp ;
1022   unsigned int num_kp ;
1023   unsigned int num_gpl_syms ;
1024   struct kernel_symbol  const  *gpl_syms ;
1025   unsigned long const   *gpl_crcs ;
1026   struct kernel_symbol  const  *unused_syms ;
1027   unsigned long const   *unused_crcs ;
1028   unsigned int num_unused_syms ;
1029   unsigned int num_unused_gpl_syms ;
1030   struct kernel_symbol  const  *unused_gpl_syms ;
1031   unsigned long const   *unused_gpl_crcs ;
1032   struct kernel_symbol  const  *gpl_future_syms ;
1033   unsigned long const   *gpl_future_crcs ;
1034   unsigned int num_gpl_future_syms ;
1035   unsigned int num_exentries ;
1036   struct exception_table_entry *extable ;
1037   int (*init)(void) ;
1038   void *module_init ;
1039   void *module_core ;
1040   unsigned int init_size ;
1041   unsigned int core_size ;
1042   unsigned int init_text_size ;
1043   unsigned int core_text_size ;
1044   unsigned int init_ro_size ;
1045   unsigned int core_ro_size ;
1046   struct mod_arch_specific arch ;
1047   unsigned int taints ;
1048   unsigned int num_bugs ;
1049   struct list_head bug_list ;
1050   struct bug_entry *bug_table ;
1051   Elf64_Sym *symtab ;
1052   Elf64_Sym *core_symtab ;
1053   unsigned int num_symtab ;
1054   unsigned int core_num_syms ;
1055   char *strtab ;
1056   char *core_strtab ;
1057   struct module_sect_attrs *sect_attrs ;
1058   struct module_notes_attrs *notes_attrs ;
1059   char *args ;
1060   void *percpu ;
1061   unsigned int percpu_size ;
1062   unsigned int num_tracepoints ;
1063   struct tracepoint * const  *tracepoints_ptrs ;
1064   unsigned int num_trace_bprintk_fmt ;
1065   char const   **trace_bprintk_fmt_start ;
1066   struct ftrace_event_call **trace_events ;
1067   unsigned int num_trace_events ;
1068   struct list_head source_list ;
1069   struct list_head target_list ;
1070   struct task_struct *waiter ;
1071   void (*exit)(void) ;
1072   struct module_ref *refptr ;
1073   ctor_fn_t (**ctors)(void) ;
1074   unsigned int num_ctors ;
1075};
1076#line 88 "include/linux/kmemleak.h"
1077struct kmem_cache_cpu {
1078   void **freelist ;
1079   unsigned long tid ;
1080   struct page *page ;
1081   struct page *partial ;
1082   int node ;
1083   unsigned int stat[26U] ;
1084};
1085#line 55 "include/linux/slub_def.h"
1086struct kmem_cache_node {
1087   spinlock_t list_lock ;
1088   unsigned long nr_partial ;
1089   struct list_head partial ;
1090   atomic_long_t nr_slabs ;
1091   atomic_long_t total_objects ;
1092   struct list_head full ;
1093};
1094#line 66 "include/linux/slub_def.h"
1095struct kmem_cache_order_objects {
1096   unsigned long x ;
1097};
1098#line 76 "include/linux/slub_def.h"
1099struct kmem_cache {
1100   struct kmem_cache_cpu *cpu_slab ;
1101   unsigned long flags ;
1102   unsigned long min_partial ;
1103   int size ;
1104   int objsize ;
1105   int offset ;
1106   int cpu_partial ;
1107   struct kmem_cache_order_objects oo ;
1108   struct kmem_cache_order_objects max ;
1109   struct kmem_cache_order_objects min ;
1110   gfp_t allocflags ;
1111   int refcount ;
1112   void (*ctor)(void * ) ;
1113   int inuse ;
1114   int align ;
1115   int reserved ;
1116   char const   *name ;
1117   struct list_head list ;
1118   struct kobject kobj ;
1119   int remote_node_defrag_ratio ;
1120   struct kmem_cache_node *node[1024U] ;
1121};
1122#line 21 "include/linux/uio.h"
1123struct kvec {
1124   void *iov_base ;
1125   size_t iov_len ;
1126};
1127#line 54
1128struct klist_node;
1129#line 54
1130struct klist_node;
1131#line 37 "include/linux/klist.h"
1132struct klist_node {
1133   void *n_klist ;
1134   struct list_head n_node ;
1135   struct kref n_ref ;
1136};
1137#line 67
1138struct dma_map_ops;
1139#line 67 "include/linux/klist.h"
1140struct dev_archdata {
1141   void *acpi_handle ;
1142   struct dma_map_ops *dma_ops ;
1143   void *iommu ;
1144};
1145#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1146struct device_private;
1147#line 17
1148struct device_private;
1149#line 18
1150struct device_driver;
1151#line 18
1152struct device_driver;
1153#line 19
1154struct driver_private;
1155#line 19
1156struct driver_private;
1157#line 20
1158struct class;
1159#line 20
1160struct class;
1161#line 21
1162struct subsys_private;
1163#line 21
1164struct subsys_private;
1165#line 22
1166struct bus_type;
1167#line 22
1168struct bus_type;
1169#line 23
1170struct device_node;
1171#line 23
1172struct device_node;
1173#line 24
1174struct iommu_ops;
1175#line 24
1176struct iommu_ops;
1177#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1178struct bus_attribute {
1179   struct attribute attr ;
1180   ssize_t (*show)(struct bus_type * , char * ) ;
1181   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
1182};
1183#line 51 "include/linux/device.h"
1184struct device_attribute;
1185#line 51
1186struct driver_attribute;
1187#line 51 "include/linux/device.h"
1188struct bus_type {
1189   char const   *name ;
1190   char const   *dev_name ;
1191   struct device *dev_root ;
1192   struct bus_attribute *bus_attrs ;
1193   struct device_attribute *dev_attrs ;
1194   struct driver_attribute *drv_attrs ;
1195   int (*match)(struct device * , struct device_driver * ) ;
1196   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1197   int (*probe)(struct device * ) ;
1198   int (*remove)(struct device * ) ;
1199   void (*shutdown)(struct device * ) ;
1200   int (*suspend)(struct device * , pm_message_t  ) ;
1201   int (*resume)(struct device * ) ;
1202   struct dev_pm_ops  const  *pm ;
1203   struct iommu_ops *iommu_ops ;
1204   struct subsys_private *p ;
1205};
1206#line 125
1207struct device_type;
1208#line 182
1209struct of_device_id;
1210#line 182 "include/linux/device.h"
1211struct device_driver {
1212   char const   *name ;
1213   struct bus_type *bus ;
1214   struct module *owner ;
1215   char const   *mod_name ;
1216   bool suppress_bind_attrs ;
1217   struct of_device_id  const  *of_match_table ;
1218   int (*probe)(struct device * ) ;
1219   int (*remove)(struct device * ) ;
1220   void (*shutdown)(struct device * ) ;
1221   int (*suspend)(struct device * , pm_message_t  ) ;
1222   int (*resume)(struct device * ) ;
1223   struct attribute_group  const  **groups ;
1224   struct dev_pm_ops  const  *pm ;
1225   struct driver_private *p ;
1226};
1227#line 245 "include/linux/device.h"
1228struct driver_attribute {
1229   struct attribute attr ;
1230   ssize_t (*show)(struct device_driver * , char * ) ;
1231   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
1232};
1233#line 299
1234struct class_attribute;
1235#line 299 "include/linux/device.h"
1236struct class {
1237   char const   *name ;
1238   struct module *owner ;
1239   struct class_attribute *class_attrs ;
1240   struct device_attribute *dev_attrs ;
1241   struct bin_attribute *dev_bin_attrs ;
1242   struct kobject *dev_kobj ;
1243   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1244   char *(*devnode)(struct device * , umode_t * ) ;
1245   void (*class_release)(struct class * ) ;
1246   void (*dev_release)(struct device * ) ;
1247   int (*suspend)(struct device * , pm_message_t  ) ;
1248   int (*resume)(struct device * ) ;
1249   struct kobj_ns_type_operations  const  *ns_type ;
1250   void const   *(*namespace)(struct device * ) ;
1251   struct dev_pm_ops  const  *pm ;
1252   struct subsys_private *p ;
1253};
1254#line 394 "include/linux/device.h"
1255struct class_attribute {
1256   struct attribute attr ;
1257   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1258   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
1259   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
1260};
1261#line 447 "include/linux/device.h"
1262struct device_type {
1263   char const   *name ;
1264   struct attribute_group  const  **groups ;
1265   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1266   char *(*devnode)(struct device * , umode_t * ) ;
1267   void (*release)(struct device * ) ;
1268   struct dev_pm_ops  const  *pm ;
1269};
1270#line 474 "include/linux/device.h"
1271struct device_attribute {
1272   struct attribute attr ;
1273   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1274   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
1275                    size_t  ) ;
1276};
1277#line 557 "include/linux/device.h"
1278struct device_dma_parameters {
1279   unsigned int max_segment_size ;
1280   unsigned long segment_boundary_mask ;
1281};
1282#line 567
1283struct dma_coherent_mem;
1284#line 567 "include/linux/device.h"
1285struct device {
1286   struct device *parent ;
1287   struct device_private *p ;
1288   struct kobject kobj ;
1289   char const   *init_name ;
1290   struct device_type  const  *type ;
1291   struct mutex mutex ;
1292   struct bus_type *bus ;
1293   struct device_driver *driver ;
1294   void *platform_data ;
1295   struct dev_pm_info power ;
1296   struct dev_pm_domain *pm_domain ;
1297   int numa_node ;
1298   u64 *dma_mask ;
1299   u64 coherent_dma_mask ;
1300   struct device_dma_parameters *dma_parms ;
1301   struct list_head dma_pools ;
1302   struct dma_coherent_mem *dma_mem ;
1303   struct dev_archdata archdata ;
1304   struct device_node *of_node ;
1305   dev_t devt ;
1306   u32 id ;
1307   spinlock_t devres_lock ;
1308   struct list_head devres_head ;
1309   struct klist_node knode_class ;
1310   struct class *class ;
1311   struct attribute_group  const  **groups ;
1312   void (*release)(struct device * ) ;
1313};
1314#line 681 "include/linux/device.h"
1315struct wakeup_source {
1316   char const   *name ;
1317   struct list_head entry ;
1318   spinlock_t lock ;
1319   struct timer_list timer ;
1320   unsigned long timer_expires ;
1321   ktime_t total_time ;
1322   ktime_t max_time ;
1323   ktime_t last_time ;
1324   unsigned long event_count ;
1325   unsigned long active_count ;
1326   unsigned long relax_count ;
1327   unsigned long hit_count ;
1328   unsigned char active : 1 ;
1329};
1330#line 142 "include/mtd/mtd-abi.h"
1331struct otp_info {
1332   __u32 start ;
1333   __u32 length ;
1334   __u32 locked ;
1335};
1336#line 216 "include/mtd/mtd-abi.h"
1337struct nand_oobfree {
1338   __u32 offset ;
1339   __u32 length ;
1340};
1341#line 238 "include/mtd/mtd-abi.h"
1342struct mtd_ecc_stats {
1343   __u32 corrected ;
1344   __u32 failed ;
1345   __u32 badblocks ;
1346   __u32 bbtblocks ;
1347};
1348#line 260
1349struct mtd_info;
1350#line 260 "include/mtd/mtd-abi.h"
1351struct erase_info {
1352   struct mtd_info *mtd ;
1353   uint64_t addr ;
1354   uint64_t len ;
1355   uint64_t fail_addr ;
1356   u_long time ;
1357   u_long retries ;
1358   unsigned int dev ;
1359   unsigned int cell ;
1360   void (*callback)(struct erase_info * ) ;
1361   u_long priv ;
1362   u_char state ;
1363   struct erase_info *next ;
1364};
1365#line 62 "include/linux/mtd/mtd.h"
1366struct mtd_erase_region_info {
1367   uint64_t offset ;
1368   uint32_t erasesize ;
1369   uint32_t numblocks ;
1370   unsigned long *lockmap ;
1371};
1372#line 69 "include/linux/mtd/mtd.h"
1373struct mtd_oob_ops {
1374   unsigned int mode ;
1375   size_t len ;
1376   size_t retlen ;
1377   size_t ooblen ;
1378   size_t oobretlen ;
1379   uint32_t ooboffs ;
1380   uint8_t *datbuf ;
1381   uint8_t *oobbuf ;
1382};
1383#line 99 "include/linux/mtd/mtd.h"
1384struct nand_ecclayout {
1385   __u32 eccbytes ;
1386   __u32 eccpos[448U] ;
1387   __u32 oobavail ;
1388   struct nand_oobfree oobfree[32U] ;
1389};
1390#line 114
1391struct backing_dev_info;
1392#line 114 "include/linux/mtd/mtd.h"
1393struct mtd_info {
1394   u_char type ;
1395   uint32_t flags ;
1396   uint64_t size ;
1397   uint32_t erasesize ;
1398   uint32_t writesize ;
1399   uint32_t writebufsize ;
1400   uint32_t oobsize ;
1401   uint32_t oobavail ;
1402   unsigned int erasesize_shift ;
1403   unsigned int writesize_shift ;
1404   unsigned int erasesize_mask ;
1405   unsigned int writesize_mask ;
1406   char const   *name ;
1407   int index ;
1408   struct nand_ecclayout *ecclayout ;
1409   unsigned int ecc_strength ;
1410   int numeraseregions ;
1411   struct mtd_erase_region_info *eraseregions ;
1412   int (*_erase)(struct mtd_info * , struct erase_info * ) ;
1413   int (*_point)(struct mtd_info * , loff_t  , size_t  , size_t * , void ** , resource_size_t * ) ;
1414   int (*_unpoint)(struct mtd_info * , loff_t  , size_t  ) ;
1415   unsigned long (*_get_unmapped_area)(struct mtd_info * , unsigned long  , unsigned long  ,
1416                                       unsigned long  ) ;
1417   int (*_read)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
1418   int (*_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
1419   int (*_panic_write)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char const   * ) ;
1420   int (*_read_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
1421   int (*_write_oob)(struct mtd_info * , loff_t  , struct mtd_oob_ops * ) ;
1422   int (*_get_fact_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
1423   int (*_read_fact_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
1424   int (*_get_user_prot_info)(struct mtd_info * , struct otp_info * , size_t  ) ;
1425   int (*_read_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * , u_char * ) ;
1426   int (*_write_user_prot_reg)(struct mtd_info * , loff_t  , size_t  , size_t * ,
1427                               u_char * ) ;
1428   int (*_lock_user_prot_reg)(struct mtd_info * , loff_t  , size_t  ) ;
1429   int (*_writev)(struct mtd_info * , struct kvec  const  * , unsigned long  , loff_t  ,
1430                  size_t * ) ;
1431   void (*_sync)(struct mtd_info * ) ;
1432   int (*_lock)(struct mtd_info * , loff_t  , uint64_t  ) ;
1433   int (*_unlock)(struct mtd_info * , loff_t  , uint64_t  ) ;
1434   int (*_is_locked)(struct mtd_info * , loff_t  , uint64_t  ) ;
1435   int (*_block_isbad)(struct mtd_info * , loff_t  ) ;
1436   int (*_block_markbad)(struct mtd_info * , loff_t  ) ;
1437   int (*_suspend)(struct mtd_info * ) ;
1438   void (*_resume)(struct mtd_info * ) ;
1439   int (*_get_device)(struct mtd_info * ) ;
1440   void (*_put_device)(struct mtd_info * ) ;
1441   struct backing_dev_info *backing_dev_info ;
1442   struct notifier_block reboot_notifier ;
1443   struct mtd_ecc_stats ecc_stats ;
1444   int subpage_sft ;
1445   void *priv ;
1446   struct module *owner ;
1447   struct device dev ;
1448   int usecount ;
1449};
1450#line 356
1451struct mtd_partition;
1452#line 356
1453struct mtd_partition;
1454#line 357
1455struct mtd_part_parser_data;
1456#line 357
1457struct mtd_part_parser_data;
1458#line 401 "include/linux/mtd/mtd.h"
1459struct mtd_partition {
1460   char *name ;
1461   uint64_t size ;
1462   uint64_t offset ;
1463   uint32_t mask_flags ;
1464   struct nand_ecclayout *ecclayout ;
1465};
1466#line 46 "include/linux/mtd/partitions.h"
1467struct mtd_part_parser_data {
1468   unsigned long origin ;
1469   struct device_node *of_node ;
1470};
1471#line 93 "include/linux/capability.h"
1472struct kernel_cap_struct {
1473   __u32 cap[2U] ;
1474};
1475#line 96 "include/linux/capability.h"
1476typedef struct kernel_cap_struct kernel_cap_t;
1477#line 105
1478struct user_namespace;
1479#line 105
1480struct user_namespace;
1481#line 554
1482struct prio_tree_node;
1483#line 554 "include/linux/capability.h"
1484struct raw_prio_tree_node {
1485   struct prio_tree_node *left ;
1486   struct prio_tree_node *right ;
1487   struct prio_tree_node *parent ;
1488};
1489#line 19 "include/linux/prio_tree.h"
1490struct prio_tree_node {
1491   struct prio_tree_node *left ;
1492   struct prio_tree_node *right ;
1493   struct prio_tree_node *parent ;
1494   unsigned long start ;
1495   unsigned long last ;
1496};
1497#line 116
1498struct address_space;
1499#line 116
1500struct address_space;
1501#line 117 "include/linux/prio_tree.h"
1502union __anonunion_ldv_15581_137 {
1503   unsigned long index ;
1504   void *freelist ;
1505};
1506#line 117 "include/linux/prio_tree.h"
1507struct __anonstruct_ldv_15591_141 {
1508   unsigned short inuse ;
1509   unsigned short objects : 15 ;
1510   unsigned char frozen : 1 ;
1511};
1512#line 117 "include/linux/prio_tree.h"
1513union __anonunion_ldv_15592_140 {
1514   atomic_t _mapcount ;
1515   struct __anonstruct_ldv_15591_141 ldv_15591 ;
1516};
1517#line 117 "include/linux/prio_tree.h"
1518struct __anonstruct_ldv_15594_139 {
1519   union __anonunion_ldv_15592_140 ldv_15592 ;
1520   atomic_t _count ;
1521};
1522#line 117 "include/linux/prio_tree.h"
1523union __anonunion_ldv_15595_138 {
1524   unsigned long counters ;
1525   struct __anonstruct_ldv_15594_139 ldv_15594 ;
1526};
1527#line 117 "include/linux/prio_tree.h"
1528struct __anonstruct_ldv_15596_136 {
1529   union __anonunion_ldv_15581_137 ldv_15581 ;
1530   union __anonunion_ldv_15595_138 ldv_15595 ;
1531};
1532#line 117 "include/linux/prio_tree.h"
1533struct __anonstruct_ldv_15603_143 {
1534   struct page *next ;
1535   int pages ;
1536   int pobjects ;
1537};
1538#line 117 "include/linux/prio_tree.h"
1539union __anonunion_ldv_15604_142 {
1540   struct list_head lru ;
1541   struct __anonstruct_ldv_15603_143 ldv_15603 ;
1542};
1543#line 117 "include/linux/prio_tree.h"
1544union __anonunion_ldv_15609_144 {
1545   unsigned long private ;
1546   struct kmem_cache *slab ;
1547   struct page *first_page ;
1548};
1549#line 117 "include/linux/prio_tree.h"
1550struct page {
1551   unsigned long flags ;
1552   struct address_space *mapping ;
1553   struct __anonstruct_ldv_15596_136 ldv_15596 ;
1554   union __anonunion_ldv_15604_142 ldv_15604 ;
1555   union __anonunion_ldv_15609_144 ldv_15609 ;
1556   unsigned long debug_flags ;
1557};
1558#line 192 "include/linux/mm_types.h"
1559struct __anonstruct_vm_set_146 {
1560   struct list_head list ;
1561   void *parent ;
1562   struct vm_area_struct *head ;
1563};
1564#line 192 "include/linux/mm_types.h"
1565union __anonunion_shared_145 {
1566   struct __anonstruct_vm_set_146 vm_set ;
1567   struct raw_prio_tree_node prio_tree_node ;
1568};
1569#line 192
1570struct anon_vma;
1571#line 192
1572struct vm_operations_struct;
1573#line 192
1574struct mempolicy;
1575#line 192 "include/linux/mm_types.h"
1576struct vm_area_struct {
1577   struct mm_struct *vm_mm ;
1578   unsigned long vm_start ;
1579   unsigned long vm_end ;
1580   struct vm_area_struct *vm_next ;
1581   struct vm_area_struct *vm_prev ;
1582   pgprot_t vm_page_prot ;
1583   unsigned long vm_flags ;
1584   struct rb_node vm_rb ;
1585   union __anonunion_shared_145 shared ;
1586   struct list_head anon_vma_chain ;
1587   struct anon_vma *anon_vma ;
1588   struct vm_operations_struct  const  *vm_ops ;
1589   unsigned long vm_pgoff ;
1590   struct file *vm_file ;
1591   void *vm_private_data ;
1592   struct mempolicy *vm_policy ;
1593};
1594#line 255 "include/linux/mm_types.h"
1595struct core_thread {
1596   struct task_struct *task ;
1597   struct core_thread *next ;
1598};
1599#line 261 "include/linux/mm_types.h"
1600struct core_state {
1601   atomic_t nr_threads ;
1602   struct core_thread dumper ;
1603   struct completion startup ;
1604};
1605#line 274 "include/linux/mm_types.h"
1606struct mm_rss_stat {
1607   atomic_long_t count[3U] ;
1608};
1609#line 287
1610struct linux_binfmt;
1611#line 287
1612struct mmu_notifier_mm;
1613#line 287 "include/linux/mm_types.h"
1614struct mm_struct {
1615   struct vm_area_struct *mmap ;
1616   struct rb_root mm_rb ;
1617   struct vm_area_struct *mmap_cache ;
1618   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1619                                      unsigned long  , unsigned long  ) ;
1620   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1621   unsigned long mmap_base ;
1622   unsigned long task_size ;
1623   unsigned long cached_hole_size ;
1624   unsigned long free_area_cache ;
1625   pgd_t *pgd ;
1626   atomic_t mm_users ;
1627   atomic_t mm_count ;
1628   int map_count ;
1629   spinlock_t page_table_lock ;
1630   struct rw_semaphore mmap_sem ;
1631   struct list_head mmlist ;
1632   unsigned long hiwater_rss ;
1633   unsigned long hiwater_vm ;
1634   unsigned long total_vm ;
1635   unsigned long locked_vm ;
1636   unsigned long pinned_vm ;
1637   unsigned long shared_vm ;
1638   unsigned long exec_vm ;
1639   unsigned long stack_vm ;
1640   unsigned long reserved_vm ;
1641   unsigned long def_flags ;
1642   unsigned long nr_ptes ;
1643   unsigned long start_code ;
1644   unsigned long end_code ;
1645   unsigned long start_data ;
1646   unsigned long end_data ;
1647   unsigned long start_brk ;
1648   unsigned long brk ;
1649   unsigned long start_stack ;
1650   unsigned long arg_start ;
1651   unsigned long arg_end ;
1652   unsigned long env_start ;
1653   unsigned long env_end ;
1654   unsigned long saved_auxv[44U] ;
1655   struct mm_rss_stat rss_stat ;
1656   struct linux_binfmt *binfmt ;
1657   cpumask_var_t cpu_vm_mask_var ;
1658   mm_context_t context ;
1659   unsigned int faultstamp ;
1660   unsigned int token_priority ;
1661   unsigned int last_interval ;
1662   unsigned long flags ;
1663   struct core_state *core_state ;
1664   spinlock_t ioctx_lock ;
1665   struct hlist_head ioctx_list ;
1666   struct task_struct *owner ;
1667   struct file *exe_file ;
1668   unsigned long num_exe_file_vmas ;
1669   struct mmu_notifier_mm *mmu_notifier_mm ;
1670   pgtable_t pmd_huge_pte ;
1671   struct cpumask cpumask_allocation ;
1672};
1673#line 7 "include/asm-generic/cputime.h"
1674typedef unsigned long cputime_t;
1675#line 98 "include/linux/sem.h"
1676struct sem_undo_list;
1677#line 98 "include/linux/sem.h"
1678struct sysv_sem {
1679   struct sem_undo_list *undo_list ;
1680};
1681#line 107
1682struct siginfo;
1683#line 107
1684struct siginfo;
1685#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1686struct __anonstruct_sigset_t_147 {
1687   unsigned long sig[1U] ;
1688};
1689#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1690typedef struct __anonstruct_sigset_t_147 sigset_t;
1691#line 17 "include/asm-generic/signal-defs.h"
1692typedef void __signalfn_t(int  );
1693#line 18 "include/asm-generic/signal-defs.h"
1694typedef __signalfn_t *__sighandler_t;
1695#line 20 "include/asm-generic/signal-defs.h"
1696typedef void __restorefn_t(void);
1697#line 21 "include/asm-generic/signal-defs.h"
1698typedef __restorefn_t *__sigrestore_t;
1699#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1700struct sigaction {
1701   __sighandler_t sa_handler ;
1702   unsigned long sa_flags ;
1703   __sigrestore_t sa_restorer ;
1704   sigset_t sa_mask ;
1705};
1706#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1707struct k_sigaction {
1708   struct sigaction sa ;
1709};
1710#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1711union sigval {
1712   int sival_int ;
1713   void *sival_ptr ;
1714};
1715#line 10 "include/asm-generic/siginfo.h"
1716typedef union sigval sigval_t;
1717#line 11 "include/asm-generic/siginfo.h"
1718struct __anonstruct__kill_149 {
1719   __kernel_pid_t _pid ;
1720   __kernel_uid32_t _uid ;
1721};
1722#line 11 "include/asm-generic/siginfo.h"
1723struct __anonstruct__timer_150 {
1724   __kernel_timer_t _tid ;
1725   int _overrun ;
1726   char _pad[0U] ;
1727   sigval_t _sigval ;
1728   int _sys_private ;
1729};
1730#line 11 "include/asm-generic/siginfo.h"
1731struct __anonstruct__rt_151 {
1732   __kernel_pid_t _pid ;
1733   __kernel_uid32_t _uid ;
1734   sigval_t _sigval ;
1735};
1736#line 11 "include/asm-generic/siginfo.h"
1737struct __anonstruct__sigchld_152 {
1738   __kernel_pid_t _pid ;
1739   __kernel_uid32_t _uid ;
1740   int _status ;
1741   __kernel_clock_t _utime ;
1742   __kernel_clock_t _stime ;
1743};
1744#line 11 "include/asm-generic/siginfo.h"
1745struct __anonstruct__sigfault_153 {
1746   void *_addr ;
1747   short _addr_lsb ;
1748};
1749#line 11 "include/asm-generic/siginfo.h"
1750struct __anonstruct__sigpoll_154 {
1751   long _band ;
1752   int _fd ;
1753};
1754#line 11 "include/asm-generic/siginfo.h"
1755union __anonunion__sifields_148 {
1756   int _pad[28U] ;
1757   struct __anonstruct__kill_149 _kill ;
1758   struct __anonstruct__timer_150 _timer ;
1759   struct __anonstruct__rt_151 _rt ;
1760   struct __anonstruct__sigchld_152 _sigchld ;
1761   struct __anonstruct__sigfault_153 _sigfault ;
1762   struct __anonstruct__sigpoll_154 _sigpoll ;
1763};
1764#line 11 "include/asm-generic/siginfo.h"
1765struct siginfo {
1766   int si_signo ;
1767   int si_errno ;
1768   int si_code ;
1769   union __anonunion__sifields_148 _sifields ;
1770};
1771#line 102 "include/asm-generic/siginfo.h"
1772typedef struct siginfo siginfo_t;
1773#line 14 "include/linux/signal.h"
1774struct user_struct;
1775#line 24 "include/linux/signal.h"
1776struct sigpending {
1777   struct list_head list ;
1778   sigset_t signal ;
1779};
1780#line 395
1781struct pid_namespace;
1782#line 395 "include/linux/signal.h"
1783struct upid {
1784   int nr ;
1785   struct pid_namespace *ns ;
1786   struct hlist_node pid_chain ;
1787};
1788#line 56 "include/linux/pid.h"
1789struct pid {
1790   atomic_t count ;
1791   unsigned int level ;
1792   struct hlist_head tasks[3U] ;
1793   struct rcu_head rcu ;
1794   struct upid numbers[1U] ;
1795};
1796#line 68 "include/linux/pid.h"
1797struct pid_link {
1798   struct hlist_node node ;
1799   struct pid *pid ;
1800};
1801#line 10 "include/linux/seccomp.h"
1802struct __anonstruct_seccomp_t_157 {
1803   int mode ;
1804};
1805#line 10 "include/linux/seccomp.h"
1806typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1807#line 427 "include/linux/rculist.h"
1808struct plist_head {
1809   struct list_head node_list ;
1810};
1811#line 84 "include/linux/plist.h"
1812struct plist_node {
1813   int prio ;
1814   struct list_head prio_list ;
1815   struct list_head node_list ;
1816};
1817#line 38 "include/linux/rtmutex.h"
1818struct rt_mutex_waiter;
1819#line 38
1820struct rt_mutex_waiter;
1821#line 41 "include/linux/resource.h"
1822struct rlimit {
1823   unsigned long rlim_cur ;
1824   unsigned long rlim_max ;
1825};
1826#line 85 "include/linux/resource.h"
1827struct timerqueue_node {
1828   struct rb_node node ;
1829   ktime_t expires ;
1830};
1831#line 12 "include/linux/timerqueue.h"
1832struct timerqueue_head {
1833   struct rb_root head ;
1834   struct timerqueue_node *next ;
1835};
1836#line 50
1837struct hrtimer_clock_base;
1838#line 50
1839struct hrtimer_clock_base;
1840#line 51
1841struct hrtimer_cpu_base;
1842#line 51
1843struct hrtimer_cpu_base;
1844#line 60
1845enum hrtimer_restart {
1846    HRTIMER_NORESTART = 0,
1847    HRTIMER_RESTART = 1
1848} ;
1849#line 65 "include/linux/timerqueue.h"
1850struct hrtimer {
1851   struct timerqueue_node node ;
1852   ktime_t _softexpires ;
1853   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1854   struct hrtimer_clock_base *base ;
1855   unsigned long state ;
1856   int start_pid ;
1857   void *start_site ;
1858   char start_comm[16U] ;
1859};
1860#line 132 "include/linux/hrtimer.h"
1861struct hrtimer_clock_base {
1862   struct hrtimer_cpu_base *cpu_base ;
1863   int index ;
1864   clockid_t clockid ;
1865   struct timerqueue_head active ;
1866   ktime_t resolution ;
1867   ktime_t (*get_time)(void) ;
1868   ktime_t softirq_time ;
1869   ktime_t offset ;
1870};
1871#line 162 "include/linux/hrtimer.h"
1872struct hrtimer_cpu_base {
1873   raw_spinlock_t lock ;
1874   unsigned long active_bases ;
1875   ktime_t expires_next ;
1876   int hres_active ;
1877   int hang_detected ;
1878   unsigned long nr_events ;
1879   unsigned long nr_retries ;
1880   unsigned long nr_hangs ;
1881   ktime_t max_hang_time ;
1882   struct hrtimer_clock_base clock_base[3U] ;
1883};
1884#line 452 "include/linux/hrtimer.h"
1885struct task_io_accounting {
1886   u64 rchar ;
1887   u64 wchar ;
1888   u64 syscr ;
1889   u64 syscw ;
1890   u64 read_bytes ;
1891   u64 write_bytes ;
1892   u64 cancelled_write_bytes ;
1893};
1894#line 45 "include/linux/task_io_accounting.h"
1895struct latency_record {
1896   unsigned long backtrace[12U] ;
1897   unsigned int count ;
1898   unsigned long time ;
1899   unsigned long max ;
1900};
1901#line 29 "include/linux/key.h"
1902typedef int32_t key_serial_t;
1903#line 32 "include/linux/key.h"
1904typedef uint32_t key_perm_t;
1905#line 33
1906struct key;
1907#line 33
1908struct key;
1909#line 34
1910struct signal_struct;
1911#line 34
1912struct signal_struct;
1913#line 35
1914struct key_type;
1915#line 35
1916struct key_type;
1917#line 37
1918struct keyring_list;
1919#line 37
1920struct keyring_list;
1921#line 115
1922struct key_user;
1923#line 115 "include/linux/key.h"
1924union __anonunion_ldv_16845_158 {
1925   time_t expiry ;
1926   time_t revoked_at ;
1927};
1928#line 115 "include/linux/key.h"
1929union __anonunion_type_data_159 {
1930   struct list_head link ;
1931   unsigned long x[2U] ;
1932   void *p[2U] ;
1933   int reject_error ;
1934};
1935#line 115 "include/linux/key.h"
1936union __anonunion_payload_160 {
1937   unsigned long value ;
1938   void *rcudata ;
1939   void *data ;
1940   struct keyring_list *subscriptions ;
1941};
1942#line 115 "include/linux/key.h"
1943struct key {
1944   atomic_t usage ;
1945   key_serial_t serial ;
1946   struct rb_node serial_node ;
1947   struct key_type *type ;
1948   struct rw_semaphore sem ;
1949   struct key_user *user ;
1950   void *security ;
1951   union __anonunion_ldv_16845_158 ldv_16845 ;
1952   uid_t uid ;
1953   gid_t gid ;
1954   key_perm_t perm ;
1955   unsigned short quotalen ;
1956   unsigned short datalen ;
1957   unsigned long flags ;
1958   char *description ;
1959   union __anonunion_type_data_159 type_data ;
1960   union __anonunion_payload_160 payload ;
1961};
1962#line 316
1963struct audit_context;
1964#line 316
1965struct audit_context;
1966#line 28 "include/linux/selinux.h"
1967struct group_info {
1968   atomic_t usage ;
1969   int ngroups ;
1970   int nblocks ;
1971   gid_t small_block[32U] ;
1972   gid_t *blocks[0U] ;
1973};
1974#line 77 "include/linux/cred.h"
1975struct thread_group_cred {
1976   atomic_t usage ;
1977   pid_t tgid ;
1978   spinlock_t lock ;
1979   struct key *session_keyring ;
1980   struct key *process_keyring ;
1981   struct rcu_head rcu ;
1982};
1983#line 91 "include/linux/cred.h"
1984struct cred {
1985   atomic_t usage ;
1986   atomic_t subscribers ;
1987   void *put_addr ;
1988   unsigned int magic ;
1989   uid_t uid ;
1990   gid_t gid ;
1991   uid_t suid ;
1992   gid_t sgid ;
1993   uid_t euid ;
1994   gid_t egid ;
1995   uid_t fsuid ;
1996   gid_t fsgid ;
1997   unsigned int securebits ;
1998   kernel_cap_t cap_inheritable ;
1999   kernel_cap_t cap_permitted ;
2000   kernel_cap_t cap_effective ;
2001   kernel_cap_t cap_bset ;
2002   unsigned char jit_keyring ;
2003   struct key *thread_keyring ;
2004   struct key *request_key_auth ;
2005   struct thread_group_cred *tgcred ;
2006   void *security ;
2007   struct user_struct *user ;
2008   struct user_namespace *user_ns ;
2009   struct group_info *group_info ;
2010   struct rcu_head rcu ;
2011};
2012#line 264
2013struct llist_node;
2014#line 64 "include/linux/llist.h"
2015struct llist_node {
2016   struct llist_node *next ;
2017};
2018#line 185
2019struct futex_pi_state;
2020#line 185
2021struct futex_pi_state;
2022#line 186
2023struct robust_list_head;
2024#line 186
2025struct robust_list_head;
2026#line 187
2027struct bio_list;
2028#line 187
2029struct bio_list;
2030#line 188
2031struct fs_struct;
2032#line 188
2033struct fs_struct;
2034#line 189
2035struct perf_event_context;
2036#line 189
2037struct perf_event_context;
2038#line 190
2039struct blk_plug;
2040#line 190
2041struct blk_plug;
2042#line 149 "include/linux/sched.h"
2043struct cfs_rq;
2044#line 149
2045struct cfs_rq;
2046#line 406 "include/linux/sched.h"
2047struct sighand_struct {
2048   atomic_t count ;
2049   struct k_sigaction action[64U] ;
2050   spinlock_t siglock ;
2051   wait_queue_head_t signalfd_wqh ;
2052};
2053#line 449 "include/linux/sched.h"
2054struct pacct_struct {
2055   int ac_flag ;
2056   long ac_exitcode ;
2057   unsigned long ac_mem ;
2058   cputime_t ac_utime ;
2059   cputime_t ac_stime ;
2060   unsigned long ac_minflt ;
2061   unsigned long ac_majflt ;
2062};
2063#line 457 "include/linux/sched.h"
2064struct cpu_itimer {
2065   cputime_t expires ;
2066   cputime_t incr ;
2067   u32 error ;
2068   u32 incr_error ;
2069};
2070#line 464 "include/linux/sched.h"
2071struct task_cputime {
2072   cputime_t utime ;
2073   cputime_t stime ;
2074   unsigned long long sum_exec_runtime ;
2075};
2076#line 481 "include/linux/sched.h"
2077struct thread_group_cputimer {
2078   struct task_cputime cputime ;
2079   int running ;
2080   raw_spinlock_t lock ;
2081};
2082#line 517
2083struct autogroup;
2084#line 517
2085struct autogroup;
2086#line 518
2087struct tty_struct;
2088#line 518
2089struct taskstats;
2090#line 518
2091struct tty_audit_buf;
2092#line 518 "include/linux/sched.h"
2093struct signal_struct {
2094   atomic_t sigcnt ;
2095   atomic_t live ;
2096   int nr_threads ;
2097   wait_queue_head_t wait_chldexit ;
2098   struct task_struct *curr_target ;
2099   struct sigpending shared_pending ;
2100   int group_exit_code ;
2101   int notify_count ;
2102   struct task_struct *group_exit_task ;
2103   int group_stop_count ;
2104   unsigned int flags ;
2105   unsigned char is_child_subreaper : 1 ;
2106   unsigned char has_child_subreaper : 1 ;
2107   struct list_head posix_timers ;
2108   struct hrtimer real_timer ;
2109   struct pid *leader_pid ;
2110   ktime_t it_real_incr ;
2111   struct cpu_itimer it[2U] ;
2112   struct thread_group_cputimer cputimer ;
2113   struct task_cputime cputime_expires ;
2114   struct list_head cpu_timers[3U] ;
2115   struct pid *tty_old_pgrp ;
2116   int leader ;
2117   struct tty_struct *tty ;
2118   struct autogroup *autogroup ;
2119   cputime_t utime ;
2120   cputime_t stime ;
2121   cputime_t cutime ;
2122   cputime_t cstime ;
2123   cputime_t gtime ;
2124   cputime_t cgtime ;
2125   cputime_t prev_utime ;
2126   cputime_t prev_stime ;
2127   unsigned long nvcsw ;
2128   unsigned long nivcsw ;
2129   unsigned long cnvcsw ;
2130   unsigned long cnivcsw ;
2131   unsigned long min_flt ;
2132   unsigned long maj_flt ;
2133   unsigned long cmin_flt ;
2134   unsigned long cmaj_flt ;
2135   unsigned long inblock ;
2136   unsigned long oublock ;
2137   unsigned long cinblock ;
2138   unsigned long coublock ;
2139   unsigned long maxrss ;
2140   unsigned long cmaxrss ;
2141   struct task_io_accounting ioac ;
2142   unsigned long long sum_sched_runtime ;
2143   struct rlimit rlim[16U] ;
2144   struct pacct_struct pacct ;
2145   struct taskstats *stats ;
2146   unsigned int audit_tty ;
2147   struct tty_audit_buf *tty_audit_buf ;
2148   struct rw_semaphore group_rwsem ;
2149   int oom_adj ;
2150   int oom_score_adj ;
2151   int oom_score_adj_min ;
2152   struct mutex cred_guard_mutex ;
2153};
2154#line 699 "include/linux/sched.h"
2155struct user_struct {
2156   atomic_t __count ;
2157   atomic_t processes ;
2158   atomic_t files ;
2159   atomic_t sigpending ;
2160   atomic_t inotify_watches ;
2161   atomic_t inotify_devs ;
2162   atomic_t fanotify_listeners ;
2163   atomic_long_t epoll_watches ;
2164   unsigned long mq_bytes ;
2165   unsigned long locked_shm ;
2166   struct key *uid_keyring ;
2167   struct key *session_keyring ;
2168   struct hlist_node uidhash_node ;
2169   uid_t uid ;
2170   struct user_namespace *user_ns ;
2171   atomic_long_t locked_vm ;
2172};
2173#line 744
2174struct reclaim_state;
2175#line 744
2176struct reclaim_state;
2177#line 745 "include/linux/sched.h"
2178struct sched_info {
2179   unsigned long pcount ;
2180   unsigned long long run_delay ;
2181   unsigned long long last_arrival ;
2182   unsigned long long last_queued ;
2183};
2184#line 760 "include/linux/sched.h"
2185struct task_delay_info {
2186   spinlock_t lock ;
2187   unsigned int flags ;
2188   struct timespec blkio_start ;
2189   struct timespec blkio_end ;
2190   u64 blkio_delay ;
2191   u64 swapin_delay ;
2192   u32 blkio_count ;
2193   u32 swapin_count ;
2194   struct timespec freepages_start ;
2195   struct timespec freepages_end ;
2196   u64 freepages_delay ;
2197   u32 freepages_count ;
2198};
2199#line 1069
2200struct io_context;
2201#line 1069
2202struct io_context;
2203#line 1097
2204struct pipe_inode_info;
2205#line 1097
2206struct pipe_inode_info;
2207#line 1099
2208struct rq;
2209#line 1099
2210struct rq;
2211#line 1100 "include/linux/sched.h"
2212struct sched_class {
2213   struct sched_class  const  *next ;
2214   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2215   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2216   void (*yield_task)(struct rq * ) ;
2217   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2218   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2219   struct task_struct *(*pick_next_task)(struct rq * ) ;
2220   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2221   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2222   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2223   void (*post_schedule)(struct rq * ) ;
2224   void (*task_waking)(struct task_struct * ) ;
2225   void (*task_woken)(struct rq * , struct task_struct * ) ;
2226   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2227   void (*rq_online)(struct rq * ) ;
2228   void (*rq_offline)(struct rq * ) ;
2229   void (*set_curr_task)(struct rq * ) ;
2230   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2231   void (*task_fork)(struct task_struct * ) ;
2232   void (*switched_from)(struct rq * , struct task_struct * ) ;
2233   void (*switched_to)(struct rq * , struct task_struct * ) ;
2234   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2235   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2236   void (*task_move_group)(struct task_struct * , int  ) ;
2237};
2238#line 1165 "include/linux/sched.h"
2239struct load_weight {
2240   unsigned long weight ;
2241   unsigned long inv_weight ;
2242};
2243#line 1170 "include/linux/sched.h"
2244struct sched_statistics {
2245   u64 wait_start ;
2246   u64 wait_max ;
2247   u64 wait_count ;
2248   u64 wait_sum ;
2249   u64 iowait_count ;
2250   u64 iowait_sum ;
2251   u64 sleep_start ;
2252   u64 sleep_max ;
2253   s64 sum_sleep_runtime ;
2254   u64 block_start ;
2255   u64 block_max ;
2256   u64 exec_max ;
2257   u64 slice_max ;
2258   u64 nr_migrations_cold ;
2259   u64 nr_failed_migrations_affine ;
2260   u64 nr_failed_migrations_running ;
2261   u64 nr_failed_migrations_hot ;
2262   u64 nr_forced_migrations ;
2263   u64 nr_wakeups ;
2264   u64 nr_wakeups_sync ;
2265   u64 nr_wakeups_migrate ;
2266   u64 nr_wakeups_local ;
2267   u64 nr_wakeups_remote ;
2268   u64 nr_wakeups_affine ;
2269   u64 nr_wakeups_affine_attempts ;
2270   u64 nr_wakeups_passive ;
2271   u64 nr_wakeups_idle ;
2272};
2273#line 1205 "include/linux/sched.h"
2274struct sched_entity {
2275   struct load_weight load ;
2276   struct rb_node run_node ;
2277   struct list_head group_node ;
2278   unsigned int on_rq ;
2279   u64 exec_start ;
2280   u64 sum_exec_runtime ;
2281   u64 vruntime ;
2282   u64 prev_sum_exec_runtime ;
2283   u64 nr_migrations ;
2284   struct sched_statistics statistics ;
2285   struct sched_entity *parent ;
2286   struct cfs_rq *cfs_rq ;
2287   struct cfs_rq *my_q ;
2288};
2289#line 1231
2290struct rt_rq;
2291#line 1231 "include/linux/sched.h"
2292struct sched_rt_entity {
2293   struct list_head run_list ;
2294   unsigned long timeout ;
2295   unsigned int time_slice ;
2296   int nr_cpus_allowed ;
2297   struct sched_rt_entity *back ;
2298   struct sched_rt_entity *parent ;
2299   struct rt_rq *rt_rq ;
2300   struct rt_rq *my_q ;
2301};
2302#line 1255
2303struct mem_cgroup;
2304#line 1255 "include/linux/sched.h"
2305struct memcg_batch_info {
2306   int do_batch ;
2307   struct mem_cgroup *memcg ;
2308   unsigned long nr_pages ;
2309   unsigned long memsw_nr_pages ;
2310};
2311#line 1616
2312struct files_struct;
2313#line 1616
2314struct css_set;
2315#line 1616
2316struct compat_robust_list_head;
2317#line 1616 "include/linux/sched.h"
2318struct task_struct {
2319   long volatile   state ;
2320   void *stack ;
2321   atomic_t usage ;
2322   unsigned int flags ;
2323   unsigned int ptrace ;
2324   struct llist_node wake_entry ;
2325   int on_cpu ;
2326   int on_rq ;
2327   int prio ;
2328   int static_prio ;
2329   int normal_prio ;
2330   unsigned int rt_priority ;
2331   struct sched_class  const  *sched_class ;
2332   struct sched_entity se ;
2333   struct sched_rt_entity rt ;
2334   struct hlist_head preempt_notifiers ;
2335   unsigned char fpu_counter ;
2336   unsigned int policy ;
2337   cpumask_t cpus_allowed ;
2338   struct sched_info sched_info ;
2339   struct list_head tasks ;
2340   struct plist_node pushable_tasks ;
2341   struct mm_struct *mm ;
2342   struct mm_struct *active_mm ;
2343   unsigned char brk_randomized : 1 ;
2344   int exit_state ;
2345   int exit_code ;
2346   int exit_signal ;
2347   int pdeath_signal ;
2348   unsigned int jobctl ;
2349   unsigned int personality ;
2350   unsigned char did_exec : 1 ;
2351   unsigned char in_execve : 1 ;
2352   unsigned char in_iowait : 1 ;
2353   unsigned char sched_reset_on_fork : 1 ;
2354   unsigned char sched_contributes_to_load : 1 ;
2355   unsigned char irq_thread : 1 ;
2356   pid_t pid ;
2357   pid_t tgid ;
2358   unsigned long stack_canary ;
2359   struct task_struct *real_parent ;
2360   struct task_struct *parent ;
2361   struct list_head children ;
2362   struct list_head sibling ;
2363   struct task_struct *group_leader ;
2364   struct list_head ptraced ;
2365   struct list_head ptrace_entry ;
2366   struct pid_link pids[3U] ;
2367   struct list_head thread_group ;
2368   struct completion *vfork_done ;
2369   int *set_child_tid ;
2370   int *clear_child_tid ;
2371   cputime_t utime ;
2372   cputime_t stime ;
2373   cputime_t utimescaled ;
2374   cputime_t stimescaled ;
2375   cputime_t gtime ;
2376   cputime_t prev_utime ;
2377   cputime_t prev_stime ;
2378   unsigned long nvcsw ;
2379   unsigned long nivcsw ;
2380   struct timespec start_time ;
2381   struct timespec real_start_time ;
2382   unsigned long min_flt ;
2383   unsigned long maj_flt ;
2384   struct task_cputime cputime_expires ;
2385   struct list_head cpu_timers[3U] ;
2386   struct cred  const  *real_cred ;
2387   struct cred  const  *cred ;
2388   struct cred *replacement_session_keyring ;
2389   char comm[16U] ;
2390   int link_count ;
2391   int total_link_count ;
2392   struct sysv_sem sysvsem ;
2393   unsigned long last_switch_count ;
2394   struct thread_struct thread ;
2395   struct fs_struct *fs ;
2396   struct files_struct *files ;
2397   struct nsproxy *nsproxy ;
2398   struct signal_struct *signal ;
2399   struct sighand_struct *sighand ;
2400   sigset_t blocked ;
2401   sigset_t real_blocked ;
2402   sigset_t saved_sigmask ;
2403   struct sigpending pending ;
2404   unsigned long sas_ss_sp ;
2405   size_t sas_ss_size ;
2406   int (*notifier)(void * ) ;
2407   void *notifier_data ;
2408   sigset_t *notifier_mask ;
2409   struct audit_context *audit_context ;
2410   uid_t loginuid ;
2411   unsigned int sessionid ;
2412   seccomp_t seccomp ;
2413   u32 parent_exec_id ;
2414   u32 self_exec_id ;
2415   spinlock_t alloc_lock ;
2416   raw_spinlock_t pi_lock ;
2417   struct plist_head pi_waiters ;
2418   struct rt_mutex_waiter *pi_blocked_on ;
2419   struct mutex_waiter *blocked_on ;
2420   unsigned int irq_events ;
2421   unsigned long hardirq_enable_ip ;
2422   unsigned long hardirq_disable_ip ;
2423   unsigned int hardirq_enable_event ;
2424   unsigned int hardirq_disable_event ;
2425   int hardirqs_enabled ;
2426   int hardirq_context ;
2427   unsigned long softirq_disable_ip ;
2428   unsigned long softirq_enable_ip ;
2429   unsigned int softirq_disable_event ;
2430   unsigned int softirq_enable_event ;
2431   int softirqs_enabled ;
2432   int softirq_context ;
2433   u64 curr_chain_key ;
2434   int lockdep_depth ;
2435   unsigned int lockdep_recursion ;
2436   struct held_lock held_locks[48U] ;
2437   gfp_t lockdep_reclaim_gfp ;
2438   void *journal_info ;
2439   struct bio_list *bio_list ;
2440   struct blk_plug *plug ;
2441   struct reclaim_state *reclaim_state ;
2442   struct backing_dev_info *backing_dev_info ;
2443   struct io_context *io_context ;
2444   unsigned long ptrace_message ;
2445   siginfo_t *last_siginfo ;
2446   struct task_io_accounting ioac ;
2447   u64 acct_rss_mem1 ;
2448   u64 acct_vm_mem1 ;
2449   cputime_t acct_timexpd ;
2450   nodemask_t mems_allowed ;
2451   seqcount_t mems_allowed_seq ;
2452   int cpuset_mem_spread_rotor ;
2453   int cpuset_slab_spread_rotor ;
2454   struct css_set *cgroups ;
2455   struct list_head cg_list ;
2456   struct robust_list_head *robust_list ;
2457   struct compat_robust_list_head *compat_robust_list ;
2458   struct list_head pi_state_list ;
2459   struct futex_pi_state *pi_state_cache ;
2460   struct perf_event_context *perf_event_ctxp[2U] ;
2461   struct mutex perf_event_mutex ;
2462   struct list_head perf_event_list ;
2463   struct mempolicy *mempolicy ;
2464   short il_next ;
2465   short pref_node_fork ;
2466   struct rcu_head rcu ;
2467   struct pipe_inode_info *splice_pipe ;
2468   struct task_delay_info *delays ;
2469   int make_it_fail ;
2470   int nr_dirtied ;
2471   int nr_dirtied_pause ;
2472   unsigned long dirty_paused_when ;
2473   int latency_record_count ;
2474   struct latency_record latency_record[32U] ;
2475   unsigned long timer_slack_ns ;
2476   unsigned long default_timer_slack_ns ;
2477   struct list_head *scm_work_list ;
2478   unsigned long trace ;
2479   unsigned long trace_recursion ;
2480   struct memcg_batch_info memcg_batch ;
2481   atomic_t ptrace_bp_refcnt ;
2482};
2483#line 2820
2484enum ldv_15989 {
2485    FL_READY = 0,
2486    FL_STATUS = 1,
2487    FL_CFI_QUERY = 2,
2488    FL_JEDEC_QUERY = 3,
2489    FL_ERASING = 4,
2490    FL_ERASE_SUSPENDING = 5,
2491    FL_ERASE_SUSPENDED = 6,
2492    FL_WRITING = 7,
2493    FL_WRITING_TO_BUFFER = 8,
2494    FL_OTP_WRITE = 9,
2495    FL_WRITE_SUSPENDING = 10,
2496    FL_WRITE_SUSPENDED = 11,
2497    FL_PM_SUSPENDED = 12,
2498    FL_SYNCING = 13,
2499    FL_UNLOADING = 14,
2500    FL_LOCKING = 15,
2501    FL_UNLOCKING = 16,
2502    FL_POINT = 17,
2503    FL_XIP_WHILE_ERASING = 18,
2504    FL_XIP_WHILE_WRITING = 19,
2505    FL_SHUTDOWN = 20,
2506    FL_READING = 21,
2507    FL_CACHEDPRG = 22,
2508    FL_RESETING = 23,
2509    FL_OTPING = 24,
2510    FL_PREPARING_ERASE = 25,
2511    FL_VERIFYING_ERASE = 26,
2512    FL_UNKNOWN = 27
2513} ;
2514#line 63 "include/linux/mtd/flashchip.h"
2515typedef enum ldv_15989 flstate_t;
2516#line 28 "include/linux/mtd/onenand.h"
2517struct onenand_bufferram {
2518   int blockpage ;
2519};
2520#line 36 "include/linux/mtd/onenand.h"
2521struct onenand_chip {
2522   void *base ;
2523   unsigned int dies ;
2524   unsigned int boundary[2U] ;
2525   loff_t diesize[2U] ;
2526   unsigned int chipsize ;
2527   unsigned int device_id ;
2528   unsigned int version_id ;
2529   unsigned int technology ;
2530   unsigned int density_mask ;
2531   unsigned int options ;
2532   unsigned int erase_shift ;
2533   unsigned int page_shift ;
2534   unsigned int page_mask ;
2535   unsigned int writesize ;
2536   unsigned int bufferram_index ;
2537   struct onenand_bufferram bufferram[2U] ;
2538   int (*command)(struct mtd_info * , int  , loff_t  , size_t  ) ;
2539   int (*wait)(struct mtd_info * , int  ) ;
2540   int (*bbt_wait)(struct mtd_info * , int  ) ;
2541   void (*unlock_all)(struct mtd_info * ) ;
2542   int (*read_bufferram)(struct mtd_info * , int  , unsigned char * , int  , size_t  ) ;
2543   int (*write_bufferram)(struct mtd_info * , int  , unsigned char const   * , int  ,
2544                          size_t  ) ;
2545   unsigned short (*read_word)(void * ) ;
2546   void (*write_word)(unsigned short  , void * ) ;
2547   void (*mmcontrol)(struct mtd_info * , int  ) ;
2548   int (*chip_probe)(struct mtd_info * ) ;
2549   int (*block_markbad)(struct mtd_info * , loff_t  ) ;
2550   int (*scan_bbt)(struct mtd_info * ) ;
2551   int (*enable)(struct mtd_info * ) ;
2552   int (*disable)(struct mtd_info * ) ;
2553   struct completion complete ;
2554   int irq ;
2555   spinlock_t chip_lock ;
2556   wait_queue_head_t wq ;
2557   flstate_t state ;
2558   unsigned char *page_buf ;
2559   unsigned char *oob_buf ;
2560   unsigned char *verify_buf ;
2561   int subpagesize ;
2562   struct nand_ecclayout *ecclayout ;
2563   void *bbm ;
2564   void *priv ;
2565   unsigned int ongoing ;
2566};
2567#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2568struct onenand_flash {
2569   void *base ;
2570   void *data ;
2571};
2572#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2573struct onenand_info {
2574   struct mtd_info mtd ;
2575   struct mtd_partition *parts ;
2576   struct onenand_chip onenand ;
2577   struct onenand_flash flash ;
2578};
2579#line 1 "<compiler builtins>"
2580
2581#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2582void ldv_spin_lock(void) ;
2583#line 3
2584void ldv_spin_unlock(void) ;
2585#line 4
2586int ldv_spin_trylock(void) ;
2587#line 101 "include/linux/printk.h"
2588extern int printk(char const   *  , ...) ;
2589#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2590extern void *memset(void * , int  , size_t  ) ;
2591#line 60
2592extern int memcmp(void const   * , void const   * , size_t  ) ;
2593#line 54 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2594__inline static unsigned short readw(void const volatile   *addr ) 
2595{ unsigned short ret ;
2596  unsigned short volatile   *__cil_tmp3 ;
2597
2598  {
2599#line 54
2600  __cil_tmp3 = (unsigned short volatile   *)addr;
2601#line 54
2602  __asm__  volatile   ("movw %1,%0": "=r" (ret): "m" (*__cil_tmp3): "memory");
2603#line 54
2604  return (ret);
2605}
2606}
2607#line 62 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2608__inline static void writew(unsigned short val , void volatile   *addr ) 
2609{ unsigned short volatile   *__cil_tmp3 ;
2610
2611  {
2612#line 62
2613  __cil_tmp3 = (unsigned short volatile   *)addr;
2614#line 62
2615  __asm__  volatile   ("movw %0,%1": : "r" (val), "m" (*__cil_tmp3): "memory");
2616#line 63
2617  return;
2618}
2619}
2620#line 54 "include/linux/vmalloc.h"
2621extern void *vmalloc(unsigned long  ) ;
2622#line 57
2623void *ldv_vmalloc_19(unsigned long ldv_func_arg1 ) ;
2624#line 70
2625extern void vfree(void const   * ) ;
2626#line 26 "include/linux/export.h"
2627extern struct module __this_module ;
2628#line 161 "include/linux/slab.h"
2629extern void kfree(void const   * ) ;
2630#line 220 "include/linux/slub_def.h"
2631extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2632#line 223
2633void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2634#line 225
2635extern void *__kmalloc(size_t  , gfp_t  ) ;
2636#line 268 "include/linux/slub_def.h"
2637__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags ) 
2638{ void *tmp___2 ;
2639
2640  {
2641  {
2642#line 283
2643  tmp___2 = __kmalloc(size, flags);
2644  }
2645#line 283
2646  return (tmp___2);
2647}
2648}
2649#line 268
2650__inline static void *kmalloc(size_t size , gfp_t flags ) ;
2651#line 353 "include/linux/slab.h"
2652__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2653#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2654extern void *__VERIFIER_nondet_pointer(void) ;
2655#line 11
2656void ldv_check_alloc_flags(gfp_t flags ) ;
2657#line 12
2658void ldv_check_alloc_nonatomic(void) ;
2659#line 14
2660struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2661#line 362 "include/linux/mtd/mtd.h"
2662extern int mtd_device_parse_register(struct mtd_info * , char const   ** , struct mtd_part_parser_data * ,
2663                                     struct mtd_partition  const  * , int  ) ;
2664#line 25 "include/linux/mtd/onenand.h"
2665extern int onenand_scan(struct mtd_info * , int  ) ;
2666#line 27
2667extern void onenand_release(struct mtd_info * ) ;
2668#line 229
2669extern loff_t onenand_addr(struct onenand_chip * , int  ) ;
2670#line 230
2671extern int flexonenand_region(struct mtd_info * , loff_t  ) ;
2672#line 71 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2673static int manuf_id  =    236;
2674#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2675static int device_id  =    4;
2676#line 73 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2677static int version_id  =    30;
2678#line 74 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2679static int technology_id  =    0;
2680#line 75 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2681static int boundary[2U]  = {      1,      1};
2682#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2683static unsigned char *ffchars  ;
2684#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2685static struct mtd_partition os_partitions[1U]  = {      {(char *)"OneNAND simulator partition", 0ULL, 0ULL, 0U, (struct nand_ecclayout *)0}};
2686#line 129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2687static struct onenand_info *info  ;
2688#line 145 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2689static void onenand_lock_handle(struct onenand_chip *this , int cmd ) 
2690{ int block_lock_scheme ;
2691  int status ;
2692  unsigned short tmp ;
2693  void *__cil_tmp6 ;
2694  void const volatile   *__cil_tmp7 ;
2695  void const volatile   *__cil_tmp8 ;
2696  unsigned long __cil_tmp9 ;
2697  unsigned long __cil_tmp10 ;
2698  unsigned int __cil_tmp11 ;
2699  unsigned int __cil_tmp12 ;
2700  void *__cil_tmp13 ;
2701  void volatile   *__cil_tmp14 ;
2702  void volatile   *__cil_tmp15 ;
2703  short __cil_tmp16 ;
2704  int __cil_tmp17 ;
2705  int __cil_tmp18 ;
2706  unsigned short __cil_tmp19 ;
2707  int __cil_tmp20 ;
2708  unsigned short __cil_tmp21 ;
2709  void *__cil_tmp22 ;
2710  void volatile   *__cil_tmp23 ;
2711  void volatile   *__cil_tmp24 ;
2712  void *__cil_tmp25 ;
2713  void volatile   *__cil_tmp26 ;
2714  void volatile   *__cil_tmp27 ;
2715  short __cil_tmp28 ;
2716  int __cil_tmp29 ;
2717  int __cil_tmp30 ;
2718  unsigned short __cil_tmp31 ;
2719  int __cil_tmp32 ;
2720  unsigned short __cil_tmp33 ;
2721  void *__cil_tmp34 ;
2722  void volatile   *__cil_tmp35 ;
2723  void volatile   *__cil_tmp36 ;
2724  void *__cil_tmp37 ;
2725  void volatile   *__cil_tmp38 ;
2726  void volatile   *__cil_tmp39 ;
2727  short __cil_tmp40 ;
2728  int __cil_tmp41 ;
2729  int __cil_tmp42 ;
2730  unsigned short __cil_tmp43 ;
2731  int __cil_tmp44 ;
2732  unsigned short __cil_tmp45 ;
2733  void *__cil_tmp46 ;
2734  void volatile   *__cil_tmp47 ;
2735  void volatile   *__cil_tmp48 ;
2736
2737  {
2738  {
2739#line 150
2740  __cil_tmp6 = *((void **)this);
2741#line 150
2742  __cil_tmp7 = (void const volatile   *)__cil_tmp6;
2743#line 150
2744  __cil_tmp8 = __cil_tmp7 + 124060U;
2745#line 150
2746  tmp = readw(__cil_tmp8);
2747#line 150
2748  status = (int )tmp;
2749#line 151
2750  __cil_tmp9 = (unsigned long )this;
2751#line 151
2752  __cil_tmp10 = __cil_tmp9 + 60;
2753#line 151
2754  __cil_tmp11 = *((unsigned int *)__cil_tmp10);
2755#line 151
2756  __cil_tmp12 = __cil_tmp11 & 1U;
2757#line 151
2758  block_lock_scheme = __cil_tmp12 == 0U;
2759  }
2760#line 154
2761  if (cmd == 35) {
2762#line 154
2763    goto case_35;
2764  } else
2765#line 155
2766  if (cmd == 39) {
2767#line 155
2768    goto case_39;
2769  } else
2770#line 162
2771  if (cmd == 42) {
2772#line 162
2773    goto case_42;
2774  } else
2775#line 169
2776  if (cmd == 44) {
2777#line 169
2778    goto case_44;
2779  } else {
2780    {
2781#line 176
2782    goto switch_default;
2783#line 153
2784    if (0) {
2785      case_35: /* CIL Label */ ;
2786      case_39: /* CIL Label */ ;
2787#line 156
2788      if (block_lock_scheme != 0) {
2789        {
2790#line 157
2791        __cil_tmp13 = *((void **)this);
2792#line 157
2793        __cil_tmp14 = (void volatile   *)__cil_tmp13;
2794#line 157
2795        __cil_tmp15 = __cil_tmp14 + 124060U;
2796#line 157
2797        writew((unsigned short)4, __cil_tmp15);
2798        }
2799      } else {
2800        {
2801#line 159
2802        __cil_tmp16 = (short )status;
2803#line 159
2804        __cil_tmp17 = (int )__cil_tmp16;
2805#line 159
2806        __cil_tmp18 = __cil_tmp17 | 4;
2807#line 159
2808        __cil_tmp19 = (unsigned short )__cil_tmp18;
2809#line 159
2810        __cil_tmp20 = (int )__cil_tmp19;
2811#line 159
2812        __cil_tmp21 = (unsigned short )__cil_tmp20;
2813#line 159
2814        __cil_tmp22 = *((void **)this);
2815#line 159
2816        __cil_tmp23 = (void volatile   *)__cil_tmp22;
2817#line 159
2818        __cil_tmp24 = __cil_tmp23 + 124060U;
2819#line 159
2820        writew(__cil_tmp21, __cil_tmp24);
2821        }
2822      }
2823#line 160
2824      goto ldv_18913;
2825      case_42: /* CIL Label */ ;
2826#line 163
2827      if (block_lock_scheme != 0) {
2828        {
2829#line 164
2830        __cil_tmp25 = *((void **)this);
2831#line 164
2832        __cil_tmp26 = (void volatile   *)__cil_tmp25;
2833#line 164
2834        __cil_tmp27 = __cil_tmp26 + 124060U;
2835#line 164
2836        writew((unsigned short)2, __cil_tmp27);
2837        }
2838      } else {
2839        {
2840#line 166
2841        __cil_tmp28 = (short )status;
2842#line 166
2843        __cil_tmp29 = (int )__cil_tmp28;
2844#line 166
2845        __cil_tmp30 = __cil_tmp29 | 2;
2846#line 166
2847        __cil_tmp31 = (unsigned short )__cil_tmp30;
2848#line 166
2849        __cil_tmp32 = (int )__cil_tmp31;
2850#line 166
2851        __cil_tmp33 = (unsigned short )__cil_tmp32;
2852#line 166
2853        __cil_tmp34 = *((void **)this);
2854#line 166
2855        __cil_tmp35 = (void volatile   *)__cil_tmp34;
2856#line 166
2857        __cil_tmp36 = __cil_tmp35 + 124060U;
2858#line 166
2859        writew(__cil_tmp33, __cil_tmp36);
2860        }
2861      }
2862#line 167
2863      goto ldv_18913;
2864      case_44: /* CIL Label */ ;
2865#line 170
2866      if (block_lock_scheme != 0) {
2867        {
2868#line 171
2869        __cil_tmp37 = *((void **)this);
2870#line 171
2871        __cil_tmp38 = (void volatile   *)__cil_tmp37;
2872#line 171
2873        __cil_tmp39 = __cil_tmp38 + 124060U;
2874#line 171
2875        writew((unsigned short)1, __cil_tmp39);
2876        }
2877      } else {
2878        {
2879#line 173
2880        __cil_tmp40 = (short )status;
2881#line 173
2882        __cil_tmp41 = (int )__cil_tmp40;
2883#line 173
2884        __cil_tmp42 = __cil_tmp41 | 1;
2885#line 173
2886        __cil_tmp43 = (unsigned short )__cil_tmp42;
2887#line 173
2888        __cil_tmp44 = (int )__cil_tmp43;
2889#line 173
2890        __cil_tmp45 = (unsigned short )__cil_tmp44;
2891#line 173
2892        __cil_tmp46 = *((void **)this);
2893#line 173
2894        __cil_tmp47 = (void volatile   *)__cil_tmp46;
2895#line 173
2896        __cil_tmp48 = __cil_tmp47 + 124060U;
2897#line 173
2898        writew(__cil_tmp45, __cil_tmp48);
2899        }
2900      }
2901#line 174
2902      goto ldv_18913;
2903      switch_default: /* CIL Label */ ;
2904#line 177
2905      goto ldv_18913;
2906    } else {
2907      switch_break: /* CIL Label */ ;
2908    }
2909    }
2910  }
2911  ldv_18913: ;
2912#line 180
2913  return;
2914}
2915}
2916#line 188 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
2917static void onenand_bootram_handle(struct onenand_chip *this , int cmd ) 
2918{ unsigned short __cil_tmp3 ;
2919  int __cil_tmp4 ;
2920  unsigned short __cil_tmp5 ;
2921  void *__cil_tmp6 ;
2922  void volatile   *__cil_tmp7 ;
2923  unsigned short __cil_tmp8 ;
2924  int __cil_tmp9 ;
2925  unsigned short __cil_tmp10 ;
2926  void *__cil_tmp11 ;
2927  void volatile   *__cil_tmp12 ;
2928  void volatile   *__cil_tmp13 ;
2929  unsigned short __cil_tmp14 ;
2930  int __cil_tmp15 ;
2931  unsigned short __cil_tmp16 ;
2932  void *__cil_tmp17 ;
2933  void volatile   *__cil_tmp18 ;
2934  void volatile   *__cil_tmp19 ;
2935
2936  {
2937#line 191
2938  if (cmd == 144) {
2939#line 191
2940    goto case_144;
2941  } else {
2942    {
2943#line 197
2944    goto switch_default;
2945#line 190
2946    if (0) {
2947      case_144: /* CIL Label */ 
2948      {
2949#line 192
2950      __cil_tmp3 = (unsigned short )manuf_id;
2951#line 192
2952      __cil_tmp4 = (int )__cil_tmp3;
2953#line 192
2954      __cil_tmp5 = (unsigned short )__cil_tmp4;
2955#line 192
2956      __cil_tmp6 = *((void **)this);
2957#line 192
2958      __cil_tmp7 = (void volatile   *)__cil_tmp6;
2959#line 192
2960      writew(__cil_tmp5, __cil_tmp7);
2961#line 193
2962      __cil_tmp8 = (unsigned short )device_id;
2963#line 193
2964      __cil_tmp9 = (int )__cil_tmp8;
2965#line 193
2966      __cil_tmp10 = (unsigned short )__cil_tmp9;
2967#line 193
2968      __cil_tmp11 = *((void **)this);
2969#line 193
2970      __cil_tmp12 = (void volatile   *)__cil_tmp11;
2971#line 193
2972      __cil_tmp13 = __cil_tmp12 + 2U;
2973#line 193
2974      writew(__cil_tmp10, __cil_tmp13);
2975#line 194
2976      __cil_tmp14 = (unsigned short )version_id;
2977#line 194
2978      __cil_tmp15 = (int )__cil_tmp14;
2979#line 194
2980      __cil_tmp16 = (unsigned short )__cil_tmp15;
2981#line 194
2982      __cil_tmp17 = *((void **)this);
2983#line 194
2984      __cil_tmp18 = (void volatile   *)__cil_tmp17;
2985#line 194
2986      __cil_tmp19 = __cil_tmp18 + 4U;
2987#line 194
2988      writew(__cil_tmp16, __cil_tmp19);
2989      }
2990#line 195
2991      goto ldv_18922;
2992      switch_default: /* CIL Label */ ;
2993#line 199
2994      goto ldv_18922;
2995    } else {
2996      switch_break: /* CIL Label */ ;
2997    }
2998    }
2999  }
3000  ldv_18922: ;
3001#line 202
3002  return;
3003}
3004}
3005#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3006static void onenand_update_interrupt(struct onenand_chip *this , int cmd ) 
3007{ int interrupt ;
3008  unsigned short __cil_tmp4 ;
3009  int __cil_tmp5 ;
3010  unsigned short __cil_tmp6 ;
3011  void *__cil_tmp7 ;
3012  void volatile   *__cil_tmp8 ;
3013  void volatile   *__cil_tmp9 ;
3014
3015  {
3016#line 212
3017  interrupt = 32768;
3018#line 215
3019  if (cmd == 0) {
3020#line 215
3021    goto case_0;
3022  } else
3023#line 216
3024  if (cmd == 19) {
3025#line 216
3026    goto case_19;
3027  } else
3028#line 220
3029  if (cmd == 128) {
3030#line 220
3031    goto case_128;
3032  } else
3033#line 221
3034  if (cmd == 26) {
3035#line 221
3036    goto case_26;
3037  } else
3038#line 225
3039  if (cmd == 148) {
3040#line 225
3041    goto case_148;
3042  } else
3043#line 229
3044  if (cmd == 240) {
3045#line 229
3046    goto case_240;
3047  } else {
3048    {
3049#line 233
3050    goto switch_default;
3051#line 214
3052    if (0) {
3053      case_0: /* CIL Label */ ;
3054      case_19: /* CIL Label */ 
3055#line 217
3056      interrupt = interrupt | 128;
3057#line 218
3058      goto ldv_18931;
3059      case_128: /* CIL Label */ ;
3060      case_26: /* CIL Label */ 
3061#line 222
3062      interrupt = interrupt | 64;
3063#line 223
3064      goto ldv_18931;
3065      case_148: /* CIL Label */ 
3066#line 226
3067      interrupt = interrupt | 32;
3068#line 227
3069      goto ldv_18931;
3070      case_240: /* CIL Label */ 
3071#line 230
3072      interrupt = interrupt | 16;
3073#line 231
3074      goto ldv_18931;
3075      switch_default: /* CIL Label */ ;
3076#line 234
3077      goto ldv_18931;
3078    } else {
3079      switch_break: /* CIL Label */ ;
3080    }
3081    }
3082  }
3083  ldv_18931: 
3084  {
3085#line 237
3086  __cil_tmp4 = (unsigned short )interrupt;
3087#line 237
3088  __cil_tmp5 = (int )__cil_tmp4;
3089#line 237
3090  __cil_tmp6 = (unsigned short )__cil_tmp5;
3091#line 237
3092  __cil_tmp7 = *((void **)this);
3093#line 237
3094  __cil_tmp8 = (void volatile   *)__cil_tmp7;
3095#line 237
3096  __cil_tmp9 = __cil_tmp8 + 124034U;
3097#line 237
3098  writew(__cil_tmp6, __cil_tmp9);
3099  }
3100#line 238
3101  return;
3102}
3103}
3104#line 250 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3105static int onenand_check_overwrite(void *dest , void *src , size_t count ) 
3106{ unsigned int *s ;
3107  unsigned int *d ;
3108  int i ;
3109  unsigned int *tmp ;
3110  unsigned int *tmp___0 ;
3111  unsigned int __cil_tmp9 ;
3112  unsigned int __cil_tmp10 ;
3113  size_t __cil_tmp11 ;
3114
3115  {
3116#line 252
3117  s = (unsigned int *)src;
3118#line 253
3119  d = (unsigned int *)dest;
3120#line 256
3121  count = count >> 2;
3122#line 257
3123  i = 0;
3124#line 257
3125  goto ldv_18946;
3126  ldv_18945: 
3127#line 258
3128  tmp = s;
3129#line 258
3130  s = s + 1;
3131#line 258
3132  tmp___0 = d;
3133#line 258
3134  d = d + 1;
3135  {
3136#line 258
3137  __cil_tmp9 = *tmp___0;
3138#line 258
3139  __cil_tmp10 = *tmp;
3140#line 258
3141  if (__cil_tmp10 != __cil_tmp9) {
3142#line 259
3143    return (1);
3144  } else {
3145
3146  }
3147  }
3148#line 257
3149  i = i + 1;
3150  ldv_18946: ;
3151  {
3152#line 257
3153  __cil_tmp11 = (size_t )i;
3154#line 257
3155  if (__cil_tmp11 < count) {
3156#line 258
3157    goto ldv_18945;
3158  } else {
3159#line 260
3160    goto ldv_18947;
3161  }
3162  }
3163  ldv_18947: ;
3164#line 261
3165  return (0);
3166}
3167}
3168#line 275 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3169static void onenand_data_handle(struct onenand_chip *this , int cmd , int dataram ,
3170                                unsigned int offset ) 
3171{ struct mtd_info *mtd ;
3172  struct onenand_flash *flash ;
3173  int main_offset ;
3174  int spare_offset ;
3175  int die ;
3176  void *src ;
3177  void *dest ;
3178  unsigned int i ;
3179  int pi_operation ;
3180  int erasesize ;
3181  int rgn ;
3182  unsigned short tmp ;
3183  size_t __len ;
3184  void *__ret ;
3185  size_t __len___0 ;
3186  void *__ret___0 ;
3187  unsigned short tmp___0 ;
3188  int off ;
3189  int tmp___1 ;
3190  int tmp___2 ;
3191  int tmp___3 ;
3192  size_t __len___1 ;
3193  void *__ret___1 ;
3194  int tmp___4 ;
3195  int tmp___5 ;
3196  int tmp___6 ;
3197  size_t __len___2 ;
3198  void *__ret___2 ;
3199  unsigned long __cil_tmp33 ;
3200  unsigned long __cil_tmp34 ;
3201  void *__cil_tmp35 ;
3202  unsigned long __cil_tmp36 ;
3203  unsigned long __cil_tmp37 ;
3204  uint32_t __cil_tmp38 ;
3205  unsigned long __cil_tmp39 ;
3206  unsigned long __cil_tmp40 ;
3207  uint32_t __cil_tmp41 ;
3208  void *__cil_tmp42 ;
3209  void const volatile   *__cil_tmp43 ;
3210  void const volatile   *__cil_tmp44 ;
3211  unsigned long __cil_tmp45 ;
3212  unsigned long __cil_tmp46 ;
3213  unsigned long __cil_tmp47 ;
3214  void *__cil_tmp48 ;
3215  unsigned long __cil_tmp49 ;
3216  unsigned long __cil_tmp50 ;
3217  void *__cil_tmp51 ;
3218  unsigned long __cil_tmp52 ;
3219  unsigned long __cil_tmp53 ;
3220  int __cil_tmp54 ;
3221  unsigned short __cil_tmp55 ;
3222  int __cil_tmp56 ;
3223  unsigned short __cil_tmp57 ;
3224  void *__cil_tmp58 ;
3225  void volatile   *__cil_tmp59 ;
3226  void volatile   *__cil_tmp60 ;
3227  unsigned long __cil_tmp61 ;
3228  unsigned long __cil_tmp62 ;
3229  uint32_t __cil_tmp63 ;
3230  void const   *__cil_tmp64 ;
3231  unsigned int __cil_tmp65 ;
3232  unsigned long __cil_tmp66 ;
3233  unsigned long __cil_tmp67 ;
3234  unsigned long __cil_tmp68 ;
3235  unsigned int __cil_tmp69 ;
3236  unsigned long __cil_tmp70 ;
3237  unsigned long __cil_tmp71 ;
3238  unsigned long __cil_tmp72 ;
3239  unsigned long __cil_tmp73 ;
3240  void *__cil_tmp74 ;
3241  unsigned long __cil_tmp75 ;
3242  unsigned long __cil_tmp76 ;
3243  void *__cil_tmp77 ;
3244  unsigned long __cil_tmp78 ;
3245  unsigned long __cil_tmp79 ;
3246  uint32_t __cil_tmp80 ;
3247  void const   *__cil_tmp81 ;
3248  unsigned long __cil_tmp82 ;
3249  unsigned long __cil_tmp83 ;
3250  void *__cil_tmp84 ;
3251  unsigned long __cil_tmp85 ;
3252  unsigned long __cil_tmp86 ;
3253  unsigned long __cil_tmp87 ;
3254  void *__cil_tmp88 ;
3255  void *__cil_tmp89 ;
3256  void const volatile   *__cil_tmp90 ;
3257  void const volatile   *__cil_tmp91 ;
3258  unsigned long __cil_tmp92 ;
3259  unsigned long __cil_tmp93 ;
3260  unsigned long __cil_tmp94 ;
3261  unsigned long __cil_tmp95 ;
3262  int __cil_tmp96 ;
3263  unsigned int __cil_tmp97 ;
3264  unsigned int __cil_tmp98 ;
3265  unsigned long __cil_tmp99 ;
3266  void const   *__cil_tmp100 ;
3267  void const   *__cil_tmp101 ;
3268  void const   *__cil_tmp102 ;
3269  unsigned long __cil_tmp103 ;
3270  unsigned long __cil_tmp104 ;
3271  int __cil_tmp105 ;
3272  size_t __cil_tmp106 ;
3273  unsigned long __cil_tmp107 ;
3274  void const   *__cil_tmp108 ;
3275  void const   *__cil_tmp109 ;
3276  void const   *__cil_tmp110 ;
3277  unsigned long __cil_tmp111 ;
3278  unsigned long __cil_tmp112 ;
3279  int __cil_tmp113 ;
3280  size_t __cil_tmp114 ;
3281  unsigned long __cil_tmp115 ;
3282  void *__cil_tmp116 ;
3283  unsigned long __cil_tmp117 ;
3284  void *__cil_tmp118 ;
3285  unsigned long __cil_tmp119 ;
3286  unsigned long __cil_tmp120 ;
3287  int __cil_tmp121 ;
3288  size_t __cil_tmp122 ;
3289  unsigned long __cil_tmp123 ;
3290  unsigned long __cil_tmp124 ;
3291  int __cil_tmp125 ;
3292  unsigned long __cil_tmp126 ;
3293  void *__cil_tmp127 ;
3294  unsigned long __cil_tmp128 ;
3295  void const   *__cil_tmp129 ;
3296  void const   *__cil_tmp130 ;
3297  unsigned long __cil_tmp131 ;
3298  unsigned long __cil_tmp132 ;
3299  int __cil_tmp133 ;
3300  int __cil_tmp134 ;
3301  unsigned int __cil_tmp135 ;
3302  unsigned long __cil_tmp136 ;
3303  unsigned long __cil_tmp137 ;
3304  void *__cil_tmp138 ;
3305  void const   *__cil_tmp139 ;
3306  void const   *__cil_tmp140 ;
3307  unsigned long __cil_tmp141 ;
3308  unsigned long __cil_tmp142 ;
3309  uint32_t __cil_tmp143 ;
3310  size_t __cil_tmp144 ;
3311  unsigned int __cil_tmp145 ;
3312  unsigned long __cil_tmp146 ;
3313  unsigned long __cil_tmp147 ;
3314  unsigned long __cil_tmp148 ;
3315  unsigned int __cil_tmp149 ;
3316  unsigned long __cil_tmp150 ;
3317  unsigned long __cil_tmp151 ;
3318  unsigned long __cil_tmp152 ;
3319  unsigned long __cil_tmp153 ;
3320  void *__cil_tmp154 ;
3321  void const   *__cil_tmp155 ;
3322  void const   *__cil_tmp156 ;
3323  unsigned long __cil_tmp157 ;
3324  unsigned long __cil_tmp158 ;
3325  uint32_t __cil_tmp159 ;
3326  size_t __cil_tmp160 ;
3327  unsigned long __cil_tmp161 ;
3328  unsigned long __cil_tmp162 ;
3329  uint32_t __cil_tmp163 ;
3330  size_t __cil_tmp164 ;
3331  unsigned long __cil_tmp165 ;
3332  unsigned long __cil_tmp166 ;
3333  uint32_t __cil_tmp167 ;
3334  void const   *__cil_tmp168 ;
3335  unsigned long __cil_tmp169 ;
3336  unsigned long __cil_tmp170 ;
3337  unsigned int __cil_tmp171 ;
3338  unsigned int __cil_tmp172 ;
3339  loff_t __cil_tmp173 ;
3340  unsigned long __cil_tmp174 ;
3341  unsigned long __cil_tmp175 ;
3342  unsigned long __cil_tmp176 ;
3343  struct mtd_erase_region_info *__cil_tmp177 ;
3344  struct mtd_erase_region_info *__cil_tmp178 ;
3345  unsigned long __cil_tmp179 ;
3346  unsigned long __cil_tmp180 ;
3347  uint32_t __cil_tmp181 ;
3348  unsigned long __cil_tmp182 ;
3349  unsigned long __cil_tmp183 ;
3350  uint32_t __cil_tmp184 ;
3351  unsigned long __cil_tmp185 ;
3352  unsigned long __cil_tmp186 ;
3353  unsigned long __cil_tmp187 ;
3354  void *__cil_tmp188 ;
3355  void *__cil_tmp189 ;
3356  size_t __cil_tmp190 ;
3357  unsigned int __cil_tmp191 ;
3358  unsigned long __cil_tmp192 ;
3359  unsigned long __cil_tmp193 ;
3360  unsigned long __cil_tmp194 ;
3361  unsigned int __cil_tmp195 ;
3362  unsigned long __cil_tmp196 ;
3363  unsigned long __cil_tmp197 ;
3364  unsigned long __cil_tmp198 ;
3365  unsigned long __cil_tmp199 ;
3366  void *__cil_tmp200 ;
3367  void *__cil_tmp201 ;
3368  int __cil_tmp202 ;
3369  size_t __cil_tmp203 ;
3370
3371  {
3372#line 278
3373  mtd = (struct mtd_info *)info;
3374#line 279
3375  __cil_tmp33 = (unsigned long )this;
3376#line 279
3377  __cil_tmp34 = __cil_tmp33 + 528;
3378#line 279
3379  __cil_tmp35 = *((void **)__cil_tmp34);
3380#line 279
3381  flash = (struct onenand_flash *)__cil_tmp35;
3382#line 280
3383  die = 0;
3384#line 287
3385  if (dataram != 0) {
3386#line 288
3387    __cil_tmp36 = (unsigned long )mtd;
3388#line 288
3389    __cil_tmp37 = __cil_tmp36 + 20;
3390#line 288
3391    __cil_tmp38 = *((uint32_t *)__cil_tmp37);
3392#line 288
3393    main_offset = (int )__cil_tmp38;
3394#line 289
3395    __cil_tmp39 = (unsigned long )mtd;
3396#line 289
3397    __cil_tmp40 = __cil_tmp39 + 28;
3398#line 289
3399    __cil_tmp41 = *((uint32_t *)__cil_tmp40);
3400#line 289
3401    spare_offset = (int )__cil_tmp41;
3402  } else {
3403#line 291
3404    main_offset = 0;
3405#line 292
3406    spare_offset = 0;
3407  }
3408#line 295
3409  if (pi_operation != 0) {
3410    {
3411#line 296
3412    __cil_tmp42 = *((void **)this);
3413#line 296
3414    __cil_tmp43 = (void const volatile   *)__cil_tmp42;
3415#line 296
3416    __cil_tmp44 = __cil_tmp43 + 123394U;
3417#line 296
3418    tmp = readw(__cil_tmp44);
3419#line 296
3420    die = (int )tmp;
3421#line 297
3422    die = die >> 15;
3423    }
3424  } else {
3425
3426  }
3427#line 301
3428  if (cmd == 102) {
3429#line 301
3430    goto case_102;
3431  } else
3432#line 305
3433  if (cmd == 240) {
3434#line 305
3435    goto case_240;
3436  } else
3437#line 309
3438  if (cmd == 0) {
3439#line 309
3440    goto case_0;
3441  } else
3442#line 319
3443  if (cmd == 19) {
3444#line 319
3445    goto case_19;
3446  } else
3447#line 325
3448  if (cmd == 128) {
3449#line 325
3450    goto case_128;
3451  } else
3452#line 344
3453  if (cmd == 26) {
3454#line 344
3455    goto case_26;
3456  } else
3457#line 358
3458  if (cmd == 148) {
3459#line 358
3460    goto case_148;
3461  } else {
3462    {
3463#line 373
3464    goto switch_default;
3465#line 300
3466    if (0) {
3467      case_102: /* CIL Label */ 
3468#line 302
3469      pi_operation = 1;
3470#line 303
3471      goto ldv_18966;
3472      case_240: /* CIL Label */ 
3473#line 306
3474      pi_operation = 0;
3475#line 307
3476      goto ldv_18966;
3477      case_0: /* CIL Label */ 
3478#line 310
3479      __cil_tmp45 = (unsigned long )offset;
3480#line 310
3481      __cil_tmp46 = (unsigned long )flash;
3482#line 310
3483      __cil_tmp47 = __cil_tmp46 + 8;
3484#line 310
3485      __cil_tmp48 = *((void **)__cil_tmp47);
3486#line 310
3487      src = __cil_tmp48 + __cil_tmp45;
3488#line 311
3489      __cil_tmp49 = (unsigned long )main_offset;
3490#line 311
3491      __cil_tmp50 = __cil_tmp49 + 1024UL;
3492#line 311
3493      __cil_tmp51 = *((void **)this);
3494#line 311
3495      dest = __cil_tmp51 + __cil_tmp50;
3496#line 312
3497      if (pi_operation != 0) {
3498        {
3499#line 313
3500        __cil_tmp52 = die * 4UL;
3501#line 313
3502        __cil_tmp53 = (unsigned long )(boundary) + __cil_tmp52;
3503#line 313
3504        __cil_tmp54 = *((int *)__cil_tmp53);
3505#line 313
3506        __cil_tmp55 = (unsigned short )__cil_tmp54;
3507#line 313
3508        __cil_tmp56 = (int )__cil_tmp55;
3509#line 313
3510        __cil_tmp57 = (unsigned short )__cil_tmp56;
3511#line 313
3512        __cil_tmp58 = *((void **)this);
3513#line 313
3514        __cil_tmp59 = (void volatile   *)__cil_tmp58;
3515#line 313
3516        __cil_tmp60 = __cil_tmp59 + 1024U;
3517#line 313
3518        writew(__cil_tmp57, __cil_tmp60);
3519        }
3520#line 314
3521        goto ldv_18966;
3522      } else {
3523
3524      }
3525      {
3526#line 316
3527      __cil_tmp61 = (unsigned long )mtd;
3528#line 316
3529      __cil_tmp62 = __cil_tmp61 + 20;
3530#line 316
3531      __cil_tmp63 = *((uint32_t *)__cil_tmp62);
3532#line 316
3533      __len = (size_t )__cil_tmp63;
3534#line 316
3535      __cil_tmp64 = (void const   *)src;
3536#line 316
3537      __ret = __builtin_memcpy(dest, __cil_tmp64, __len);
3538      }
3539      case_19: /* CIL Label */ 
3540      {
3541#line 320
3542      __cil_tmp65 = offset >> 5;
3543#line 320
3544      __cil_tmp66 = (unsigned long )__cil_tmp65;
3545#line 320
3546      __cil_tmp67 = (unsigned long )this;
3547#line 320
3548      __cil_tmp68 = __cil_tmp67 + 40;
3549#line 320
3550      __cil_tmp69 = *((unsigned int *)__cil_tmp68);
3551#line 320
3552      __cil_tmp70 = (unsigned long )__cil_tmp69;
3553#line 320
3554      __cil_tmp71 = __cil_tmp70 + __cil_tmp66;
3555#line 320
3556      __cil_tmp72 = (unsigned long )flash;
3557#line 320
3558      __cil_tmp73 = __cil_tmp72 + 8;
3559#line 320
3560      __cil_tmp74 = *((void **)__cil_tmp73);
3561#line 320
3562      src = __cil_tmp74 + __cil_tmp71;
3563#line 321
3564      __cil_tmp75 = (unsigned long )spare_offset;
3565#line 321
3566      __cil_tmp76 = __cil_tmp75 + 65568UL;
3567#line 321
3568      __cil_tmp77 = *((void **)this);
3569#line 321
3570      dest = __cil_tmp77 + __cil_tmp76;
3571#line 322
3572      __cil_tmp78 = (unsigned long )mtd;
3573#line 322
3574      __cil_tmp79 = __cil_tmp78 + 28;
3575#line 322
3576      __cil_tmp80 = *((uint32_t *)__cil_tmp79);
3577#line 322
3578      __len___0 = (size_t )__cil_tmp80;
3579#line 322
3580      __cil_tmp81 = (void const   *)src;
3581#line 322
3582      __ret___0 = __builtin_memcpy(dest, __cil_tmp81, __len___0);
3583      }
3584#line 323
3585      goto ldv_18966;
3586      case_128: /* CIL Label */ 
3587#line 326
3588      __cil_tmp82 = (unsigned long )main_offset;
3589#line 326
3590      __cil_tmp83 = __cil_tmp82 + 1024UL;
3591#line 326
3592      __cil_tmp84 = *((void **)this);
3593#line 326
3594      src = __cil_tmp84 + __cil_tmp83;
3595#line 327
3596      __cil_tmp85 = (unsigned long )offset;
3597#line 327
3598      __cil_tmp86 = (unsigned long )flash;
3599#line 327
3600      __cil_tmp87 = __cil_tmp86 + 8;
3601#line 327
3602      __cil_tmp88 = *((void **)__cil_tmp87);
3603#line 327
3604      dest = __cil_tmp88 + __cil_tmp85;
3605#line 328
3606      if (pi_operation != 0) {
3607        {
3608#line 329
3609        __cil_tmp89 = *((void **)this);
3610#line 329
3611        __cil_tmp90 = (void const volatile   *)__cil_tmp89;
3612#line 329
3613        __cil_tmp91 = __cil_tmp90 + 1024U;
3614#line 329
3615        tmp___0 = readw(__cil_tmp91);
3616#line 329
3617        __cil_tmp92 = die * 4UL;
3618#line 329
3619        __cil_tmp93 = (unsigned long )(boundary) + __cil_tmp92;
3620#line 329
3621        *((int *)__cil_tmp93) = (int )tmp___0;
3622        }
3623#line 330
3624        goto ldv_18966;
3625      } else {
3626
3627      }
3628#line 333
3629      i = 0U;
3630#line 333
3631      goto ldv_18983;
3632      ldv_18982: 
3633      {
3634#line 334
3635      __cil_tmp94 = (unsigned long )this;
3636#line 334
3637      __cil_tmp95 = __cil_tmp94 + 504;
3638#line 334
3639      __cil_tmp96 = *((int *)__cil_tmp95);
3640#line 334
3641      __cil_tmp97 = (unsigned int )__cil_tmp96;
3642#line 334
3643      __cil_tmp98 = __cil_tmp97 * i;
3644#line 334
3645      off = (int )__cil_tmp98;
3646#line 335
3647      __cil_tmp99 = (unsigned long )off;
3648#line 335
3649      __cil_tmp100 = (void const   *)src;
3650#line 335
3651      __cil_tmp101 = __cil_tmp100 + __cil_tmp99;
3652#line 335
3653      __cil_tmp102 = (void const   *)ffchars;
3654#line 335
3655      __cil_tmp103 = (unsigned long )this;
3656#line 335
3657      __cil_tmp104 = __cil_tmp103 + 504;
3658#line 335
3659      __cil_tmp105 = *((int *)__cil_tmp104);
3660#line 335
3661      __cil_tmp106 = (size_t )__cil_tmp105;
3662#line 335
3663      tmp___1 = memcmp(__cil_tmp101, __cil_tmp102, __cil_tmp106);
3664      }
3665#line 335
3666      if (tmp___1 == 0) {
3667#line 336
3668        goto ldv_18978;
3669      } else {
3670
3671      }
3672      {
3673#line 337
3674      __cil_tmp107 = (unsigned long )off;
3675#line 337
3676      __cil_tmp108 = (void const   *)dest;
3677#line 337
3678      __cil_tmp109 = __cil_tmp108 + __cil_tmp107;
3679#line 337
3680      __cil_tmp110 = (void const   *)ffchars;
3681#line 337
3682      __cil_tmp111 = (unsigned long )this;
3683#line 337
3684      __cil_tmp112 = __cil_tmp111 + 504;
3685#line 337
3686      __cil_tmp113 = *((int *)__cil_tmp112);
3687#line 337
3688      __cil_tmp114 = (size_t )__cil_tmp113;
3689#line 337
3690      tmp___2 = memcmp(__cil_tmp109, __cil_tmp110, __cil_tmp114);
3691      }
3692#line 337
3693      if (tmp___2 != 0) {
3694        {
3695#line 337
3696        __cil_tmp115 = (unsigned long )off;
3697#line 337
3698        __cil_tmp116 = dest + __cil_tmp115;
3699#line 337
3700        __cil_tmp117 = (unsigned long )off;
3701#line 337
3702        __cil_tmp118 = src + __cil_tmp117;
3703#line 337
3704        __cil_tmp119 = (unsigned long )this;
3705#line 337
3706        __cil_tmp120 = __cil_tmp119 + 504;
3707#line 337
3708        __cil_tmp121 = *((int *)__cil_tmp120);
3709#line 337
3710        __cil_tmp122 = (size_t )__cil_tmp121;
3711#line 337
3712        tmp___3 = onenand_check_overwrite(__cil_tmp116, __cil_tmp118, __cil_tmp122);
3713        }
3714#line 337
3715        if (tmp___3 != 0) {
3716          {
3717#line 339
3718          printk("<3>over-write happened at 0x%08x\n", offset);
3719          }
3720        } else {
3721
3722        }
3723      } else {
3724
3725      }
3726      {
3727#line 340
3728      __cil_tmp123 = (unsigned long )this;
3729#line 340
3730      __cil_tmp124 = __cil_tmp123 + 504;
3731#line 340
3732      __cil_tmp125 = *((int *)__cil_tmp124);
3733#line 340
3734      __len___1 = (size_t )__cil_tmp125;
3735#line 340
3736      __cil_tmp126 = (unsigned long )off;
3737#line 340
3738      __cil_tmp127 = dest + __cil_tmp126;
3739#line 340
3740      __cil_tmp128 = (unsigned long )off;
3741#line 340
3742      __cil_tmp129 = (void const   *)src;
3743#line 340
3744      __cil_tmp130 = __cil_tmp129 + __cil_tmp128;
3745#line 340
3746      __ret___1 = __builtin_memcpy(__cil_tmp127, __cil_tmp130, __len___1);
3747      }
3748      ldv_18978: 
3749#line 333
3750      i = i + 1U;
3751      ldv_18983: ;
3752      {
3753#line 333
3754      __cil_tmp131 = (unsigned long )mtd;
3755#line 333
3756      __cil_tmp132 = __cil_tmp131 + 352;
3757#line 333
3758      __cil_tmp133 = *((int *)__cil_tmp132);
3759#line 333
3760      __cil_tmp134 = 1 << __cil_tmp133;
3761#line 333
3762      __cil_tmp135 = (unsigned int )__cil_tmp134;
3763#line 333
3764      if (__cil_tmp135 > i) {
3765#line 334
3766        goto ldv_18982;
3767      } else {
3768#line 336
3769        goto ldv_18984;
3770      }
3771      }
3772      ldv_18984: ;
3773      case_26: /* CIL Label */ 
3774      {
3775#line 345
3776      __cil_tmp136 = (unsigned long )spare_offset;
3777#line 345
3778      __cil_tmp137 = __cil_tmp136 + 65568UL;
3779#line 345
3780      __cil_tmp138 = *((void **)this);
3781#line 345
3782      src = __cil_tmp138 + __cil_tmp137;
3783#line 347
3784      __cil_tmp139 = (void const   *)src;
3785#line 347
3786      __cil_tmp140 = (void const   *)ffchars;
3787#line 347
3788      __cil_tmp141 = (unsigned long )mtd;
3789#line 347
3790      __cil_tmp142 = __cil_tmp141 + 28;
3791#line 347
3792      __cil_tmp143 = *((uint32_t *)__cil_tmp142);
3793#line 347
3794      __cil_tmp144 = (size_t )__cil_tmp143;
3795#line 347
3796      tmp___4 = memcmp(__cil_tmp139, __cil_tmp140, __cil_tmp144);
3797      }
3798#line 347
3799      if (tmp___4 == 0) {
3800#line 348
3801        goto ldv_18966;
3802      } else {
3803
3804      }
3805      {
3806#line 350
3807      __cil_tmp145 = offset >> 5;
3808#line 350
3809      __cil_tmp146 = (unsigned long )__cil_tmp145;
3810#line 350
3811      __cil_tmp147 = (unsigned long )this;
3812#line 350
3813      __cil_tmp148 = __cil_tmp147 + 40;
3814#line 350
3815      __cil_tmp149 = *((unsigned int *)__cil_tmp148);
3816#line 350
3817      __cil_tmp150 = (unsigned long )__cil_tmp149;
3818#line 350
3819      __cil_tmp151 = __cil_tmp150 + __cil_tmp146;
3820#line 350
3821      __cil_tmp152 = (unsigned long )flash;
3822#line 350
3823      __cil_tmp153 = __cil_tmp152 + 8;
3824#line 350
3825      __cil_tmp154 = *((void **)__cil_tmp153);
3826#line 350
3827      dest = __cil_tmp154 + __cil_tmp151;
3828#line 351
3829      __cil_tmp155 = (void const   *)dest;
3830#line 351
3831      __cil_tmp156 = (void const   *)ffchars;
3832#line 351
3833      __cil_tmp157 = (unsigned long )mtd;
3834#line 351
3835      __cil_tmp158 = __cil_tmp157 + 28;
3836#line 351
3837      __cil_tmp159 = *((uint32_t *)__cil_tmp158);
3838#line 351
3839      __cil_tmp160 = (size_t )__cil_tmp159;
3840#line 351
3841      tmp___5 = memcmp(__cil_tmp155, __cil_tmp156, __cil_tmp160);
3842      }
3843#line 351
3844      if (tmp___5 != 0) {
3845        {
3846#line 351
3847        __cil_tmp161 = (unsigned long )mtd;
3848#line 351
3849        __cil_tmp162 = __cil_tmp161 + 28;
3850#line 351
3851        __cil_tmp163 = *((uint32_t *)__cil_tmp162);
3852#line 351
3853        __cil_tmp164 = (size_t )__cil_tmp163;
3854#line 351
3855        tmp___6 = onenand_check_overwrite(dest, src, __cil_tmp164);
3856        }
3857#line 351
3858        if (tmp___6 != 0) {
3859          {
3860#line 353
3861          printk("<3>OOB: over-write happened at 0x%08x\n", offset);
3862          }
3863        } else {
3864
3865        }
3866      } else {
3867
3868      }
3869      {
3870#line 355
3871      __cil_tmp165 = (unsigned long )mtd;
3872#line 355
3873      __cil_tmp166 = __cil_tmp165 + 28;
3874#line 355
3875      __cil_tmp167 = *((uint32_t *)__cil_tmp166);
3876#line 355
3877      __len___2 = (size_t )__cil_tmp167;
3878#line 355
3879      __cil_tmp168 = (void const   *)src;
3880#line 355
3881      __ret___2 = __builtin_memcpy(dest, __cil_tmp168, __len___2);
3882      }
3883#line 356
3884      goto ldv_18966;
3885      case_148: /* CIL Label */ ;
3886#line 359
3887      if (pi_operation != 0) {
3888#line 360
3889        goto ldv_18966;
3890      } else {
3891
3892      }
3893      {
3894#line 362
3895      __cil_tmp169 = (unsigned long )this;
3896#line 362
3897      __cil_tmp170 = __cil_tmp169 + 44;
3898#line 362
3899      __cil_tmp171 = *((unsigned int *)__cil_tmp170);
3900#line 362
3901      __cil_tmp172 = __cil_tmp171 & 512U;
3902#line 362
3903      if (__cil_tmp172 != 0U) {
3904        {
3905#line 363
3906        __cil_tmp173 = (loff_t )offset;
3907#line 363
3908        rgn = flexonenand_region(mtd, __cil_tmp173);
3909#line 364
3910        __cil_tmp174 = (unsigned long )rgn;
3911#line 364
3912        __cil_tmp175 = (unsigned long )mtd;
3913#line 364
3914        __cil_tmp176 = __cil_tmp175 + 88;
3915#line 364
3916        __cil_tmp177 = *((struct mtd_erase_region_info **)__cil_tmp176);
3917#line 364
3918        __cil_tmp178 = __cil_tmp177 + __cil_tmp174;
3919#line 364
3920        __cil_tmp179 = (unsigned long )__cil_tmp178;
3921#line 364
3922        __cil_tmp180 = __cil_tmp179 + 8;
3923#line 364
3924        __cil_tmp181 = *((uint32_t *)__cil_tmp180);
3925#line 364
3926        erasesize = (int )__cil_tmp181;
3927        }
3928      } else {
3929#line 366
3930        __cil_tmp182 = (unsigned long )mtd;
3931#line 366
3932        __cil_tmp183 = __cil_tmp182 + 16;
3933#line 366
3934        __cil_tmp184 = *((uint32_t *)__cil_tmp183);
3935#line 366
3936        erasesize = (int )__cil_tmp184;
3937      }
3938      }
3939      {
3940#line 368
3941      __cil_tmp185 = (unsigned long )offset;
3942#line 368
3943      __cil_tmp186 = (unsigned long )flash;
3944#line 368
3945      __cil_tmp187 = __cil_tmp186 + 8;
3946#line 368
3947      __cil_tmp188 = *((void **)__cil_tmp187);
3948#line 368
3949      __cil_tmp189 = __cil_tmp188 + __cil_tmp185;
3950#line 368
3951      __cil_tmp190 = (size_t )erasesize;
3952#line 368
3953      memset(__cil_tmp189, 255, __cil_tmp190);
3954#line 369
3955      __cil_tmp191 = offset >> 5;
3956#line 369
3957      __cil_tmp192 = (unsigned long )__cil_tmp191;
3958#line 369
3959      __cil_tmp193 = (unsigned long )this;
3960#line 369
3961      __cil_tmp194 = __cil_tmp193 + 40;
3962#line 369
3963      __cil_tmp195 = *((unsigned int *)__cil_tmp194);
3964#line 369
3965      __cil_tmp196 = (unsigned long )__cil_tmp195;
3966#line 369
3967      __cil_tmp197 = __cil_tmp196 + __cil_tmp192;
3968#line 369
3969      __cil_tmp198 = (unsigned long )flash;
3970#line 369
3971      __cil_tmp199 = __cil_tmp198 + 8;
3972#line 369
3973      __cil_tmp200 = *((void **)__cil_tmp199);
3974#line 369
3975      __cil_tmp201 = __cil_tmp200 + __cil_tmp197;
3976#line 369
3977      __cil_tmp202 = erasesize >> 5;
3978#line 369
3979      __cil_tmp203 = (size_t )__cil_tmp202;
3980#line 369
3981      memset(__cil_tmp201, 255, __cil_tmp203);
3982      }
3983#line 371
3984      goto ldv_18966;
3985      switch_default: /* CIL Label */ ;
3986#line 374
3987      goto ldv_18966;
3988    } else {
3989      switch_break: /* CIL Label */ ;
3990    }
3991    }
3992  }
3993  ldv_18966: ;
3994#line 377
3995  return;
3996}
3997}
3998#line 385 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
3999static void onenand_command_handle(struct onenand_chip *this , int cmd ) 
4000{ unsigned long offset ;
4001  int block ;
4002  int page ;
4003  int bufferram ;
4004  int dataram ;
4005  unsigned short tmp ;
4006  unsigned short tmp___0 ;
4007  unsigned short tmp___1 ;
4008  loff_t tmp___2 ;
4009  void *__cil_tmp12 ;
4010  void const volatile   *__cil_tmp13 ;
4011  void const volatile   *__cil_tmp14 ;
4012  int __cil_tmp15 ;
4013  unsigned int __cil_tmp16 ;
4014  unsigned long __cil_tmp17 ;
4015  unsigned long __cil_tmp18 ;
4016  unsigned int __cil_tmp19 ;
4017  unsigned int __cil_tmp20 ;
4018  int __cil_tmp21 ;
4019  unsigned long __cil_tmp22 ;
4020  unsigned long __cil_tmp23 ;
4021  unsigned int __cil_tmp24 ;
4022  unsigned int __cil_tmp25 ;
4023  unsigned int __cil_tmp26 ;
4024  void *__cil_tmp27 ;
4025  void const volatile   *__cil_tmp28 ;
4026  void const volatile   *__cil_tmp29 ;
4027  void *__cil_tmp30 ;
4028  void const volatile   *__cil_tmp31 ;
4029  void const volatile   *__cil_tmp32 ;
4030  unsigned long __cil_tmp33 ;
4031  unsigned long __cil_tmp34 ;
4032  unsigned int __cil_tmp35 ;
4033  int __cil_tmp36 ;
4034  int __cil_tmp37 ;
4035  unsigned long __cil_tmp38 ;
4036  unsigned int __cil_tmp39 ;
4037
4038  {
4039#line 387
4040  offset = 0UL;
4041#line 388
4042  block = -1;
4043#line 388
4044  page = -1;
4045#line 388
4046  bufferram = -1;
4047#line 389
4048  dataram = 0;
4049#line 392
4050  if (cmd == 35) {
4051#line 392
4052    goto case_35;
4053  } else
4054#line 393
4055  if (cmd == 42) {
4056#line 393
4057    goto case_42;
4058  } else
4059#line 394
4060  if (cmd == 44) {
4061#line 394
4062    goto case_44;
4063  } else
4064#line 395
4065  if (cmd == 39) {
4066#line 395
4067    goto case_39;
4068  } else
4069#line 399
4070  if (cmd == 6520) {
4071#line 399
4072    goto case_6520;
4073  } else {
4074    {
4075#line 403
4076    goto switch_default;
4077#line 391
4078    if (0) {
4079      case_35: /* CIL Label */ ;
4080      case_42: /* CIL Label */ ;
4081      case_44: /* CIL Label */ ;
4082      case_39: /* CIL Label */ 
4083      {
4084#line 396
4085      onenand_lock_handle(this, cmd);
4086      }
4087#line 397
4088      goto ldv_19004;
4089      case_6520: /* CIL Label */ ;
4090#line 401
4091      return;
4092      switch_default: /* CIL Label */ 
4093      {
4094#line 404
4095      __cil_tmp12 = *((void **)this);
4096#line 404
4097      __cil_tmp13 = (void const volatile   *)__cil_tmp12;
4098#line 404
4099      __cil_tmp14 = __cil_tmp13 + 123392U;
4100#line 404
4101      tmp = readw(__cil_tmp14);
4102#line 404
4103      block = (int )tmp;
4104      }
4105      {
4106#line 405
4107      __cil_tmp15 = block & 32768;
4108#line 405
4109      if (__cil_tmp15 != 0) {
4110#line 406
4111        block = block & -32769;
4112#line 408
4113        __cil_tmp16 = (unsigned int )block;
4114#line 408
4115        __cil_tmp17 = (unsigned long )this;
4116#line 408
4117        __cil_tmp18 = __cil_tmp17 + 64;
4118#line 408
4119        __cil_tmp19 = *((unsigned int *)__cil_tmp18);
4120#line 408
4121        __cil_tmp20 = __cil_tmp19 + 1U;
4122#line 408
4123        __cil_tmp21 = (int )__cil_tmp20;
4124#line 408
4125        __cil_tmp22 = (unsigned long )this;
4126#line 408
4127        __cil_tmp23 = __cil_tmp22 + 40;
4128#line 408
4129        __cil_tmp24 = *((unsigned int *)__cil_tmp23);
4130#line 408
4131        __cil_tmp25 = __cil_tmp24 >> __cil_tmp21;
4132#line 408
4133        __cil_tmp26 = __cil_tmp25 + __cil_tmp16;
4134#line 408
4135        block = (int )__cil_tmp26;
4136      } else {
4137
4138      }
4139      }
4140#line 410
4141      if (cmd == 148) {
4142#line 411
4143        goto ldv_19004;
4144      } else {
4145
4146      }
4147      {
4148#line 413
4149      __cil_tmp27 = *((void **)this);
4150#line 413
4151      __cil_tmp28 = (void const volatile   *)__cil_tmp27;
4152#line 413
4153      __cil_tmp29 = __cil_tmp28 + 123406U;
4154#line 413
4155      tmp___0 = readw(__cil_tmp29);
4156#line 413
4157      page = (int )tmp___0;
4158#line 414
4159      page = page >> 2;
4160#line 415
4161      __cil_tmp30 = *((void **)this);
4162#line 415
4163      __cil_tmp31 = (void const volatile   *)__cil_tmp30;
4164#line 415
4165      __cil_tmp32 = __cil_tmp31 + 123904U;
4166#line 415
4167      tmp___1 = readw(__cil_tmp32);
4168#line 415
4169      bufferram = (int )tmp___1;
4170#line 416
4171      bufferram = bufferram >> 8;
4172#line 417
4173      bufferram = bufferram & 12;
4174#line 418
4175      dataram = bufferram == 12;
4176      }
4177#line 419
4178      goto ldv_19004;
4179    } else {
4180      switch_break: /* CIL Label */ ;
4181    }
4182    }
4183  }
4184  ldv_19004: ;
4185#line 422
4186  if (block != -1) {
4187    {
4188#line 423
4189    tmp___2 = onenand_addr(this, block);
4190#line 423
4191    offset = (unsigned long )tmp___2;
4192    }
4193  } else {
4194
4195  }
4196#line 425
4197  if (page != -1) {
4198#line 426
4199    __cil_tmp33 = (unsigned long )this;
4200#line 426
4201    __cil_tmp34 = __cil_tmp33 + 68;
4202#line 426
4203    __cil_tmp35 = *((unsigned int *)__cil_tmp34);
4204#line 426
4205    __cil_tmp36 = (int )__cil_tmp35;
4206#line 426
4207    __cil_tmp37 = page << __cil_tmp36;
4208#line 426
4209    __cil_tmp38 = (unsigned long )__cil_tmp37;
4210#line 426
4211    offset = __cil_tmp38 + offset;
4212  } else {
4213
4214  }
4215  {
4216#line 428
4217  __cil_tmp39 = (unsigned int )offset;
4218#line 428
4219  onenand_data_handle(this, cmd, dataram, __cil_tmp39);
4220#line 430
4221  onenand_update_interrupt(this, cmd);
4222  }
4223#line 431
4224  return;
4225}
4226}
4227#line 440 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4228static void onenand_writew(unsigned short value , void *addr ) 
4229{ struct onenand_chip *this ;
4230  unsigned long __cil_tmp4 ;
4231  unsigned long __cil_tmp5 ;
4232  unsigned long __cil_tmp6 ;
4233  void *__cil_tmp7 ;
4234  unsigned long __cil_tmp8 ;
4235  void *__cil_tmp9 ;
4236  void *__cil_tmp10 ;
4237  unsigned long __cil_tmp11 ;
4238  int __cil_tmp12 ;
4239  unsigned long __cil_tmp13 ;
4240  void *__cil_tmp14 ;
4241  void *__cil_tmp15 ;
4242  unsigned long __cil_tmp16 ;
4243  int __cil_tmp17 ;
4244  int __cil_tmp18 ;
4245  unsigned short __cil_tmp19 ;
4246  void volatile   *__cil_tmp20 ;
4247
4248  {
4249#line 442
4250  __cil_tmp4 = 0 + 360;
4251#line 442
4252  __cil_tmp5 = (unsigned long )info;
4253#line 442
4254  __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
4255#line 442
4256  __cil_tmp7 = *((void **)__cil_tmp6);
4257#line 442
4258  this = (struct onenand_chip *)__cil_tmp7;
4259  {
4260#line 445
4261  __cil_tmp8 = (unsigned long )addr;
4262#line 445
4263  __cil_tmp9 = *((void **)this);
4264#line 445
4265  __cil_tmp10 = __cil_tmp9 + 1024UL;
4266#line 445
4267  __cil_tmp11 = (unsigned long )__cil_tmp10;
4268#line 445
4269  if (__cil_tmp11 > __cil_tmp8) {
4270    {
4271#line 446
4272    __cil_tmp12 = (int )value;
4273#line 446
4274    onenand_bootram_handle(this, __cil_tmp12);
4275    }
4276#line 447
4277    return;
4278  } else {
4279
4280  }
4281  }
4282  {
4283#line 450
4284  __cil_tmp13 = (unsigned long )addr;
4285#line 450
4286  __cil_tmp14 = *((void **)this);
4287#line 450
4288  __cil_tmp15 = __cil_tmp14 + 123968UL;
4289#line 450
4290  __cil_tmp16 = (unsigned long )__cil_tmp15;
4291#line 450
4292  if (__cil_tmp16 == __cil_tmp13) {
4293    {
4294#line 451
4295    __cil_tmp17 = (int )value;
4296#line 451
4297    onenand_command_handle(this, __cil_tmp17);
4298    }
4299  } else {
4300
4301  }
4302  }
4303  {
4304#line 453
4305  __cil_tmp18 = (int )value;
4306#line 453
4307  __cil_tmp19 = (unsigned short )__cil_tmp18;
4308#line 453
4309  __cil_tmp20 = (void volatile   *)addr;
4310#line 453
4311  writew(__cil_tmp19, __cil_tmp20);
4312  }
4313#line 454
4314  return;
4315}
4316}
4317#line 462 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4318static int flash_init(struct onenand_flash *flash ) 
4319{ int density ;
4320  int size ;
4321  int buffer_size ;
4322  void *__cil_tmp5 ;
4323  unsigned long __cil_tmp6 ;
4324  void *__cil_tmp7 ;
4325  unsigned long __cil_tmp8 ;
4326  unsigned long __cil_tmp9 ;
4327  unsigned long __cil_tmp10 ;
4328  int __cil_tmp11 ;
4329  int __cil_tmp12 ;
4330  unsigned long __cil_tmp13 ;
4331  void *__cil_tmp14 ;
4332  unsigned long __cil_tmp15 ;
4333  unsigned long __cil_tmp16 ;
4334  unsigned long __cil_tmp17 ;
4335  void *__cil_tmp18 ;
4336  unsigned long __cil_tmp19 ;
4337  void *__cil_tmp20 ;
4338  void const   *__cil_tmp21 ;
4339  unsigned long __cil_tmp22 ;
4340  unsigned long __cil_tmp23 ;
4341  void *__cil_tmp24 ;
4342  int __cil_tmp25 ;
4343  int __cil_tmp26 ;
4344  size_t __cil_tmp27 ;
4345  unsigned short __cil_tmp28 ;
4346  int __cil_tmp29 ;
4347  unsigned short __cil_tmp30 ;
4348  void *__cil_tmp31 ;
4349  void volatile   *__cil_tmp32 ;
4350  void volatile   *__cil_tmp33 ;
4351  unsigned short __cil_tmp34 ;
4352  int __cil_tmp35 ;
4353  unsigned short __cil_tmp36 ;
4354  void *__cil_tmp37 ;
4355  void volatile   *__cil_tmp38 ;
4356  void volatile   *__cil_tmp39 ;
4357  unsigned short __cil_tmp40 ;
4358  int __cil_tmp41 ;
4359  unsigned short __cil_tmp42 ;
4360  void *__cil_tmp43 ;
4361  void volatile   *__cil_tmp44 ;
4362  void volatile   *__cil_tmp45 ;
4363  unsigned short __cil_tmp46 ;
4364  int __cil_tmp47 ;
4365  unsigned short __cil_tmp48 ;
4366  void *__cil_tmp49 ;
4367  void volatile   *__cil_tmp50 ;
4368  void volatile   *__cil_tmp51 ;
4369  unsigned short __cil_tmp52 ;
4370  int __cil_tmp53 ;
4371  unsigned short __cil_tmp54 ;
4372  void *__cil_tmp55 ;
4373  void volatile   *__cil_tmp56 ;
4374  void volatile   *__cil_tmp57 ;
4375
4376  {
4377  {
4378#line 467
4379  *((void **)flash) = kzalloc(131072UL, 208U);
4380  }
4381  {
4382#line 468
4383  __cil_tmp5 = (void *)0;
4384#line 468
4385  __cil_tmp6 = (unsigned long )__cil_tmp5;
4386#line 468
4387  __cil_tmp7 = *((void **)flash);
4388#line 468
4389  __cil_tmp8 = (unsigned long )__cil_tmp7;
4390#line 468
4391  if (__cil_tmp8 == __cil_tmp6) {
4392    {
4393#line 469
4394    printk("<3>Unable to allocate base address.\n");
4395    }
4396#line 470
4397    return (-12);
4398  } else {
4399
4400  }
4401  }
4402  {
4403#line 473
4404  density = device_id >> 4;
4405#line 474
4406  density = density & 15;
4407#line 475
4408  size = 16777216 << density;
4409#line 477
4410  __cil_tmp9 = (unsigned long )flash;
4411#line 477
4412  __cil_tmp10 = __cil_tmp9 + 8;
4413#line 477
4414  __cil_tmp11 = size >> 5;
4415#line 477
4416  __cil_tmp12 = __cil_tmp11 + size;
4417#line 477
4418  __cil_tmp13 = (unsigned long )__cil_tmp12;
4419#line 477
4420  *((void **)__cil_tmp10) = ldv_vmalloc_19(__cil_tmp13);
4421  }
4422  {
4423#line 478
4424  __cil_tmp14 = (void *)0;
4425#line 478
4426  __cil_tmp15 = (unsigned long )__cil_tmp14;
4427#line 478
4428  __cil_tmp16 = (unsigned long )flash;
4429#line 478
4430  __cil_tmp17 = __cil_tmp16 + 8;
4431#line 478
4432  __cil_tmp18 = *((void **)__cil_tmp17);
4433#line 478
4434  __cil_tmp19 = (unsigned long )__cil_tmp18;
4435#line 478
4436  if (__cil_tmp19 == __cil_tmp15) {
4437    {
4438#line 479
4439    printk("<3>Unable to allocate nand core address.\n");
4440#line 480
4441    __cil_tmp20 = *((void **)flash);
4442#line 480
4443    __cil_tmp21 = (void const   *)__cil_tmp20;
4444#line 480
4445    kfree(__cil_tmp21);
4446    }
4447#line 481
4448    return (-12);
4449  } else {
4450
4451  }
4452  }
4453  {
4454#line 484
4455  __cil_tmp22 = (unsigned long )flash;
4456#line 484
4457  __cil_tmp23 = __cil_tmp22 + 8;
4458#line 484
4459  __cil_tmp24 = *((void **)__cil_tmp23);
4460#line 484
4461  __cil_tmp25 = size >> 5;
4462#line 484
4463  __cil_tmp26 = __cil_tmp25 + size;
4464#line 484
4465  __cil_tmp27 = (size_t )__cil_tmp26;
4466#line 484
4467  memset(__cil_tmp24, 255, __cil_tmp27);
4468#line 487
4469  __cil_tmp28 = (unsigned short )manuf_id;
4470#line 487
4471  __cil_tmp29 = (int )__cil_tmp28;
4472#line 487
4473  __cil_tmp30 = (unsigned short )__cil_tmp29;
4474#line 487
4475  __cil_tmp31 = *((void **)flash);
4476#line 487
4477  __cil_tmp32 = (void volatile   *)__cil_tmp31;
4478#line 487
4479  __cil_tmp33 = __cil_tmp32 + 122880U;
4480#line 487
4481  writew(__cil_tmp30, __cil_tmp33);
4482#line 488
4483  __cil_tmp34 = (unsigned short )device_id;
4484#line 488
4485  __cil_tmp35 = (int )__cil_tmp34;
4486#line 488
4487  __cil_tmp36 = (unsigned short )__cil_tmp35;
4488#line 488
4489  __cil_tmp37 = *((void **)flash);
4490#line 488
4491  __cil_tmp38 = (void volatile   *)__cil_tmp37;
4492#line 488
4493  __cil_tmp39 = __cil_tmp38 + 122882U;
4494#line 488
4495  writew(__cil_tmp36, __cil_tmp39);
4496#line 489
4497  __cil_tmp40 = (unsigned short )version_id;
4498#line 489
4499  __cil_tmp41 = (int )__cil_tmp40;
4500#line 489
4501  __cil_tmp42 = (unsigned short )__cil_tmp41;
4502#line 489
4503  __cil_tmp43 = *((void **)flash);
4504#line 489
4505  __cil_tmp44 = (void volatile   *)__cil_tmp43;
4506#line 489
4507  __cil_tmp45 = __cil_tmp44 + 122884U;
4508#line 489
4509  writew(__cil_tmp42, __cil_tmp45);
4510#line 490
4511  __cil_tmp46 = (unsigned short )technology_id;
4512#line 490
4513  __cil_tmp47 = (int )__cil_tmp46;
4514#line 490
4515  __cil_tmp48 = (unsigned short )__cil_tmp47;
4516#line 490
4517  __cil_tmp49 = *((void **)flash);
4518#line 490
4519  __cil_tmp50 = (void volatile   *)__cil_tmp49;
4520#line 490
4521  __cil_tmp51 = __cil_tmp50 + 122892U;
4522#line 490
4523  writew(__cil_tmp48, __cil_tmp51);
4524  }
4525#line 492
4526  if (density <= 1) {
4527#line 493
4528    buffer_size = 1024;
4529  } else {
4530#line 495
4531    buffer_size = 2048;
4532  }
4533  {
4534#line 496
4535  __cil_tmp52 = (unsigned short )buffer_size;
4536#line 496
4537  __cil_tmp53 = (int )__cil_tmp52;
4538#line 496
4539  __cil_tmp54 = (unsigned short )__cil_tmp53;
4540#line 496
4541  __cil_tmp55 = *((void **)flash);
4542#line 496
4543  __cil_tmp56 = (void volatile   *)__cil_tmp55;
4544#line 496
4545  __cil_tmp57 = __cil_tmp56 + 122886U;
4546#line 496
4547  writew(__cil_tmp54, __cil_tmp57);
4548  }
4549#line 498
4550  return (0);
4551}
4552}
4553#line 507 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4554static void flash_exit(struct onenand_flash *flash ) 
4555{ unsigned long __cil_tmp2 ;
4556  unsigned long __cil_tmp3 ;
4557  void *__cil_tmp4 ;
4558  void const   *__cil_tmp5 ;
4559  void *__cil_tmp6 ;
4560  void const   *__cil_tmp7 ;
4561
4562  {
4563  {
4564#line 509
4565  __cil_tmp2 = (unsigned long )flash;
4566#line 509
4567  __cil_tmp3 = __cil_tmp2 + 8;
4568#line 509
4569  __cil_tmp4 = *((void **)__cil_tmp3);
4570#line 509
4571  __cil_tmp5 = (void const   *)__cil_tmp4;
4572#line 509
4573  vfree(__cil_tmp5);
4574#line 510
4575  __cil_tmp6 = *((void **)flash);
4576#line 510
4577  __cil_tmp7 = (void const   *)__cil_tmp6;
4578#line 510
4579  kfree(__cil_tmp7);
4580  }
4581#line 511
4582  return;
4583}
4584}
4585#line 513 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4586static int onenand_sim_init(void) 
4587{ void *tmp ;
4588  void *tmp___0 ;
4589  int tmp___1 ;
4590  int tmp___2 ;
4591  unsigned char *__cil_tmp5 ;
4592  unsigned long __cil_tmp6 ;
4593  unsigned long __cil_tmp7 ;
4594  void *__cil_tmp8 ;
4595  struct onenand_info *__cil_tmp9 ;
4596  unsigned long __cil_tmp10 ;
4597  unsigned long __cil_tmp11 ;
4598  void const   *__cil_tmp12 ;
4599  unsigned long __cil_tmp13 ;
4600  unsigned long __cil_tmp14 ;
4601  unsigned long __cil_tmp15 ;
4602  unsigned long __cil_tmp16 ;
4603  unsigned long __cil_tmp17 ;
4604  struct onenand_flash *__cil_tmp18 ;
4605  void const   *__cil_tmp19 ;
4606  void const   *__cil_tmp20 ;
4607  unsigned long __cil_tmp21 ;
4608  unsigned long __cil_tmp22 ;
4609  unsigned long __cil_tmp23 ;
4610  unsigned long __cil_tmp24 ;
4611  unsigned long __cil_tmp25 ;
4612  unsigned long __cil_tmp26 ;
4613  unsigned long __cil_tmp27 ;
4614  unsigned long __cil_tmp28 ;
4615  unsigned long __cil_tmp29 ;
4616  unsigned long __cil_tmp30 ;
4617  unsigned long __cil_tmp31 ;
4618  struct onenand_flash *__cil_tmp32 ;
4619  unsigned long __cil_tmp33 ;
4620  unsigned long __cil_tmp34 ;
4621  unsigned long __cil_tmp35 ;
4622  unsigned long __cil_tmp36 ;
4623  unsigned long __cil_tmp37 ;
4624  unsigned long __cil_tmp38 ;
4625  unsigned long __cil_tmp39 ;
4626  unsigned long __cil_tmp40 ;
4627  struct onenand_chip *__cil_tmp41 ;
4628  unsigned long __cil_tmp42 ;
4629  unsigned long __cil_tmp43 ;
4630  unsigned long __cil_tmp44 ;
4631  struct mtd_info *__cil_tmp45 ;
4632  unsigned long __cil_tmp46 ;
4633  unsigned long __cil_tmp47 ;
4634  struct onenand_flash *__cil_tmp48 ;
4635  void const   *__cil_tmp49 ;
4636  void const   *__cil_tmp50 ;
4637  struct mtd_info *__cil_tmp51 ;
4638  char const   **__cil_tmp52 ;
4639  struct mtd_part_parser_data *__cil_tmp53 ;
4640  unsigned long __cil_tmp54 ;
4641  unsigned long __cil_tmp55 ;
4642  struct mtd_partition *__cil_tmp56 ;
4643  struct mtd_partition  const  *__cil_tmp57 ;
4644
4645  {
4646  {
4647#line 516
4648  tmp = kmalloc(4224UL, 208U);
4649#line 516
4650  ffchars = (unsigned char *)tmp;
4651  }
4652  {
4653#line 517
4654  __cil_tmp5 = (unsigned char *)0;
4655#line 517
4656  __cil_tmp6 = (unsigned long )__cil_tmp5;
4657#line 517
4658  __cil_tmp7 = (unsigned long )ffchars;
4659#line 517
4660  if (__cil_tmp7 == __cil_tmp6) {
4661    {
4662#line 518
4663    printk("<3>Unable to allocate ff chars.\n");
4664    }
4665#line 519
4666    return (-12);
4667  } else {
4668
4669  }
4670  }
4671  {
4672#line 521
4673  __cil_tmp8 = (void *)ffchars;
4674#line 521
4675  memset(__cil_tmp8, 255, 4224UL);
4676#line 524
4677  tmp___0 = kzalloc(2104UL, 208U);
4678#line 524
4679  info = (struct onenand_info *)tmp___0;
4680  }
4681  {
4682#line 525
4683  __cil_tmp9 = (struct onenand_info *)0;
4684#line 525
4685  __cil_tmp10 = (unsigned long )__cil_tmp9;
4686#line 525
4687  __cil_tmp11 = (unsigned long )info;
4688#line 525
4689  if (__cil_tmp11 == __cil_tmp10) {
4690    {
4691#line 526
4692    printk("<3>Unable to allocate core structures.\n");
4693#line 527
4694    __cil_tmp12 = (void const   *)ffchars;
4695#line 527
4696    kfree(__cil_tmp12);
4697    }
4698#line 528
4699    return (-12);
4700  } else {
4701
4702  }
4703  }
4704  {
4705#line 532
4706  __cil_tmp13 = 1544 + 152;
4707#line 532
4708  __cil_tmp14 = (unsigned long )info;
4709#line 532
4710  __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
4711#line 532
4712  *((void (**)(unsigned short  , void * ))__cil_tmp15) = & onenand_writew;
4713#line 534
4714  __cil_tmp16 = (unsigned long )info;
4715#line 534
4716  __cil_tmp17 = __cil_tmp16 + 2088;
4717#line 534
4718  __cil_tmp18 = (struct onenand_flash *)__cil_tmp17;
4719#line 534
4720  tmp___1 = flash_init(__cil_tmp18);
4721  }
4722#line 534
4723  if (tmp___1 != 0) {
4724    {
4725#line 535
4726    printk("<3>Unable to allocate flash.\n");
4727#line 536
4728    __cil_tmp19 = (void const   *)ffchars;
4729#line 536
4730    kfree(__cil_tmp19);
4731#line 537
4732    __cil_tmp20 = (void const   *)info;
4733#line 537
4734    kfree(__cil_tmp20);
4735    }
4736#line 538
4737    return (-12);
4738  } else {
4739
4740  }
4741  {
4742#line 541
4743  __cil_tmp21 = (unsigned long )info;
4744#line 541
4745  __cil_tmp22 = __cil_tmp21 + 1536;
4746#line 541
4747  *((struct mtd_partition **)__cil_tmp22) = (struct mtd_partition *)(& os_partitions);
4748#line 543
4749  __cil_tmp23 = (unsigned long )info;
4750#line 543
4751  __cil_tmp24 = __cil_tmp23 + 1544;
4752#line 543
4753  __cil_tmp25 = (unsigned long )info;
4754#line 543
4755  __cil_tmp26 = __cil_tmp25 + 2088;
4756#line 543
4757  *((void **)__cil_tmp24) = *((void **)__cil_tmp26);
4758#line 544
4759  __cil_tmp27 = 1544 + 528;
4760#line 544
4761  __cil_tmp28 = (unsigned long )info;
4762#line 544
4763  __cil_tmp29 = __cil_tmp28 + __cil_tmp27;
4764#line 544
4765  __cil_tmp30 = (unsigned long )info;
4766#line 544
4767  __cil_tmp31 = __cil_tmp30 + 2088;
4768#line 544
4769  __cil_tmp32 = (struct onenand_flash *)__cil_tmp31;
4770#line 544
4771  *((void **)__cil_tmp29) = (void *)__cil_tmp32;
4772#line 546
4773  __cil_tmp33 = 0 + 56;
4774#line 546
4775  __cil_tmp34 = (unsigned long )info;
4776#line 546
4777  __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
4778#line 546
4779  *((char const   **)__cil_tmp35) = "OneNAND simulator";
4780#line 547
4781  __cil_tmp36 = 0 + 360;
4782#line 547
4783  __cil_tmp37 = (unsigned long )info;
4784#line 547
4785  __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
4786#line 547
4787  __cil_tmp39 = (unsigned long )info;
4788#line 547
4789  __cil_tmp40 = __cil_tmp39 + 1544;
4790#line 547
4791  __cil_tmp41 = (struct onenand_chip *)__cil_tmp40;
4792#line 547
4793  *((void **)__cil_tmp38) = (void *)__cil_tmp41;
4794#line 548
4795  __cil_tmp42 = 0 + 368;
4796#line 548
4797  __cil_tmp43 = (unsigned long )info;
4798#line 548
4799  __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
4800#line 548
4801  *((struct module **)__cil_tmp44) = & __this_module;
4802#line 550
4803  __cil_tmp45 = (struct mtd_info *)info;
4804#line 550
4805  tmp___2 = onenand_scan(__cil_tmp45, 1);
4806  }
4807#line 550
4808  if (tmp___2 != 0) {
4809    {
4810#line 551
4811    __cil_tmp46 = (unsigned long )info;
4812#line 551
4813    __cil_tmp47 = __cil_tmp46 + 2088;
4814#line 551
4815    __cil_tmp48 = (struct onenand_flash *)__cil_tmp47;
4816#line 551
4817    flash_exit(__cil_tmp48);
4818#line 552
4819    __cil_tmp49 = (void const   *)ffchars;
4820#line 552
4821    kfree(__cil_tmp49);
4822#line 553
4823    __cil_tmp50 = (void const   *)info;
4824#line 553
4825    kfree(__cil_tmp50);
4826    }
4827#line 554
4828    return (-6);
4829  } else {
4830
4831  }
4832  {
4833#line 557
4834  __cil_tmp51 = (struct mtd_info *)info;
4835#line 557
4836  __cil_tmp52 = (char const   **)0;
4837#line 557
4838  __cil_tmp53 = (struct mtd_part_parser_data *)0;
4839#line 557
4840  __cil_tmp54 = (unsigned long )info;
4841#line 557
4842  __cil_tmp55 = __cil_tmp54 + 1536;
4843#line 557
4844  __cil_tmp56 = *((struct mtd_partition **)__cil_tmp55);
4845#line 557
4846  __cil_tmp57 = (struct mtd_partition  const  *)__cil_tmp56;
4847#line 557
4848  mtd_device_parse_register(__cil_tmp51, __cil_tmp52, __cil_tmp53, __cil_tmp57, 1);
4849  }
4850#line 560
4851  return (0);
4852}
4853}
4854#line 563 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4855static void onenand_sim_exit(void) 
4856{ struct onenand_chip *this ;
4857  struct onenand_flash *flash ;
4858  unsigned long __cil_tmp3 ;
4859  unsigned long __cil_tmp4 ;
4860  unsigned long __cil_tmp5 ;
4861  void *__cil_tmp6 ;
4862  unsigned long __cil_tmp7 ;
4863  unsigned long __cil_tmp8 ;
4864  void *__cil_tmp9 ;
4865  struct mtd_info *__cil_tmp10 ;
4866  void const   *__cil_tmp11 ;
4867  void const   *__cil_tmp12 ;
4868
4869  {
4870  {
4871#line 565
4872  __cil_tmp3 = 0 + 360;
4873#line 565
4874  __cil_tmp4 = (unsigned long )info;
4875#line 565
4876  __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
4877#line 565
4878  __cil_tmp6 = *((void **)__cil_tmp5);
4879#line 565
4880  this = (struct onenand_chip *)__cil_tmp6;
4881#line 566
4882  __cil_tmp7 = (unsigned long )this;
4883#line 566
4884  __cil_tmp8 = __cil_tmp7 + 528;
4885#line 566
4886  __cil_tmp9 = *((void **)__cil_tmp8);
4887#line 566
4888  flash = (struct onenand_flash *)__cil_tmp9;
4889#line 568
4890  __cil_tmp10 = (struct mtd_info *)info;
4891#line 568
4892  onenand_release(__cil_tmp10);
4893#line 569
4894  flash_exit(flash);
4895#line 570
4896  __cil_tmp11 = (void const   *)ffchars;
4897#line 570
4898  kfree(__cil_tmp11);
4899#line 571
4900  __cil_tmp12 = (void const   *)info;
4901#line 571
4902  kfree(__cil_tmp12);
4903  }
4904#line 572
4905  return;
4906}
4907}
4908#line 597
4909extern void ldv_check_final_state(void) ;
4910#line 603
4911extern void ldv_initialize(void) ;
4912#line 606
4913extern int __VERIFIER_nondet_int(void) ;
4914#line 609 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4915int LDV_IN_INTERRUPT  ;
4916#line 612 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4917void main(void) 
4918{ int tmp ;
4919  int tmp___0 ;
4920  int tmp___1 ;
4921
4922  {
4923  {
4924#line 624
4925  LDV_IN_INTERRUPT = 1;
4926#line 633
4927  ldv_initialize();
4928#line 681
4929  tmp = onenand_sim_init();
4930  }
4931#line 681
4932  if (tmp != 0) {
4933#line 682
4934    goto ldv_final;
4935  } else {
4936
4937  }
4938#line 684
4939  goto ldv_19060;
4940  ldv_19059: 
4941  {
4942#line 687
4943  tmp___0 = __VERIFIER_nondet_int();
4944  }
4945  {
4946#line 689
4947  goto switch_default;
4948#line 687
4949  if (0) {
4950    switch_default: /* CIL Label */ ;
4951#line 689
4952    goto ldv_19058;
4953  } else {
4954    switch_break: /* CIL Label */ ;
4955  }
4956  }
4957  ldv_19058: ;
4958  ldv_19060: 
4959  {
4960#line 684
4961  tmp___1 = __VERIFIER_nondet_int();
4962  }
4963#line 684
4964  if (tmp___1 != 0) {
4965#line 685
4966    goto ldv_19059;
4967  } else {
4968#line 687
4969    goto ldv_19061;
4970  }
4971  ldv_19061: ;
4972  {
4973#line 743
4974  onenand_sim_exit();
4975  }
4976  ldv_final: 
4977  {
4978#line 746
4979  ldv_check_final_state();
4980  }
4981#line 749
4982  return;
4983}
4984}
4985#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4986void ldv_blast_assert(void) 
4987{ 
4988
4989  {
4990  ERROR: ;
4991#line 6
4992  goto ERROR;
4993}
4994}
4995#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4996extern int __VERIFIER_nondet_int(void) ;
4997#line 770 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
4998int ldv_spin  =    0;
4999#line 774 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5000void ldv_check_alloc_flags(gfp_t flags ) 
5001{ 
5002
5003  {
5004#line 777
5005  if (ldv_spin != 0) {
5006#line 777
5007    if (flags != 32U) {
5008      {
5009#line 777
5010      ldv_blast_assert();
5011      }
5012    } else {
5013
5014    }
5015  } else {
5016
5017  }
5018#line 780
5019  return;
5020}
5021}
5022#line 780
5023extern struct page *ldv_some_page(void) ;
5024#line 783 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5025struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
5026{ struct page *tmp ;
5027
5028  {
5029#line 786
5030  if (ldv_spin != 0) {
5031#line 786
5032    if (flags != 32U) {
5033      {
5034#line 786
5035      ldv_blast_assert();
5036      }
5037    } else {
5038
5039    }
5040  } else {
5041
5042  }
5043  {
5044#line 788
5045  tmp = ldv_some_page();
5046  }
5047#line 788
5048  return (tmp);
5049}
5050}
5051#line 792 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5052void ldv_check_alloc_nonatomic(void) 
5053{ 
5054
5055  {
5056#line 795
5057  if (ldv_spin != 0) {
5058    {
5059#line 795
5060    ldv_blast_assert();
5061    }
5062  } else {
5063
5064  }
5065#line 798
5066  return;
5067}
5068}
5069#line 799 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5070void ldv_spin_lock(void) 
5071{ 
5072
5073  {
5074#line 802
5075  ldv_spin = 1;
5076#line 803
5077  return;
5078}
5079}
5080#line 806 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5081void ldv_spin_unlock(void) 
5082{ 
5083
5084  {
5085#line 809
5086  ldv_spin = 0;
5087#line 810
5088  return;
5089}
5090}
5091#line 813 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5092int ldv_spin_trylock(void) 
5093{ int is_lock ;
5094
5095  {
5096  {
5097#line 818
5098  is_lock = __VERIFIER_nondet_int();
5099  }
5100#line 820
5101  if (is_lock != 0) {
5102#line 823
5103    return (0);
5104  } else {
5105#line 828
5106    ldv_spin = 1;
5107#line 830
5108    return (1);
5109  }
5110}
5111}
5112#line 952 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5113__inline static void *kmalloc(size_t size , gfp_t flags ) 
5114{ 
5115
5116  {
5117  {
5118#line 958
5119  ldv_check_alloc_flags(flags);
5120#line 960
5121  ldv_kmalloc_12(size, flags);
5122  }
5123#line 961
5124  return ((void *)0);
5125}
5126}
5127#line 997 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5128void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
5129{ 
5130
5131  {
5132  {
5133#line 1003
5134  ldv_check_alloc_flags(ldv_func_arg2);
5135#line 1005
5136  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
5137  }
5138#line 1006
5139  return ((void *)0);
5140}
5141}
5142#line 1008 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5143__inline static void *kzalloc(size_t size , gfp_t flags ) 
5144{ void *tmp ;
5145
5146  {
5147  {
5148#line 1014
5149  ldv_check_alloc_flags(flags);
5150#line 1015
5151  tmp = __VERIFIER_nondet_pointer();
5152  }
5153#line 1015
5154  return (tmp);
5155}
5156}
5157#line 1029 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/11676/dscv_tempdir/dscv/ri/43_1a/drivers/mtd/onenand/onenand_sim.c.p"
5158void *ldv_vmalloc_19(unsigned long ldv_func_arg1 ) 
5159{ 
5160
5161  {
5162  {
5163#line 1034
5164  ldv_check_alloc_nonatomic();
5165#line 1036
5166  vmalloc(ldv_func_arg1);
5167  }
5168#line 1037
5169  return ((void *)0);
5170}
5171}