Showing error 745

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/32_7_cilled_unsafe_const_ok_linux-32_1-drivers--mtd--chips--cfi_cmdset_0001.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 20191
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 94 "include/linux/types.h"
   77typedef unsigned int u_int;
   78#line 95 "include/linux/types.h"
   79typedef unsigned long u_long;
   80#line 111 "include/linux/types.h"
   81typedef __s32 int32_t;
   82#line 115 "include/linux/types.h"
   83typedef __u8 uint8_t;
   84#line 116 "include/linux/types.h"
   85typedef __u16 uint16_t;
   86#line 117 "include/linux/types.h"
   87typedef __u32 uint32_t;
   88#line 120 "include/linux/types.h"
   89typedef __u64 uint64_t;
   90#line 178 "include/linux/types.h"
   91typedef __u16 __le16;
   92#line 179 "include/linux/types.h"
   93typedef __u16 __be16;
   94#line 180 "include/linux/types.h"
   95typedef __u32 __le32;
   96#line 181 "include/linux/types.h"
   97typedef __u32 __be32;
   98#line 182 "include/linux/types.h"
   99typedef __u64 __le64;
  100#line 202 "include/linux/types.h"
  101typedef unsigned int gfp_t;
  102#line 206 "include/linux/types.h"
  103typedef u64 phys_addr_t;
  104#line 211 "include/linux/types.h"
  105typedef phys_addr_t resource_size_t;
  106#line 219 "include/linux/types.h"
  107struct __anonstruct_atomic_t_7 {
  108   int counter ;
  109};
  110#line 219 "include/linux/types.h"
  111typedef struct __anonstruct_atomic_t_7 atomic_t;
  112#line 224 "include/linux/types.h"
  113struct __anonstruct_atomic64_t_8 {
  114   long counter ;
  115};
  116#line 224 "include/linux/types.h"
  117typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  118#line 229 "include/linux/types.h"
  119struct list_head {
  120   struct list_head *next ;
  121   struct list_head *prev ;
  122};
  123#line 233
  124struct hlist_node;
  125#line 233 "include/linux/types.h"
  126struct hlist_head {
  127   struct hlist_node *first ;
  128};
  129#line 237 "include/linux/types.h"
  130struct hlist_node {
  131   struct hlist_node *next ;
  132   struct hlist_node **pprev ;
  133};
  134#line 253 "include/linux/types.h"
  135struct rcu_head {
  136   struct rcu_head *next ;
  137   void (*func)(struct rcu_head *head ) ;
  138};
  139#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
  140struct module;
  141#line 56
  142struct module;
  143#line 146 "include/linux/init.h"
  144typedef void (*ctor_fn_t)(void);
  145#line 9 "include/linux/dynamic_debug.h"
  146struct _ddebug {
  147   char    *modname ;
  148   char    *function ;
  149   char    *filename ;
  150   char    *format ;
  151   unsigned int lineno : 18 ;
  152   unsigned int flags : 8 ;
  153} __attribute__((__aligned__(8))) ;
  154#line 47
  155struct device;
  156#line 47
  157struct device;
  158#line 135 "include/linux/kernel.h"
  159struct completion;
  160#line 135
  161struct completion;
  162#line 136
  163struct pt_regs;
  164#line 136
  165struct pt_regs;
  166#line 349
  167struct pid;
  168#line 349
  169struct pid;
  170#line 12 "include/linux/thread_info.h"
  171struct timespec;
  172#line 12
  173struct timespec;
  174#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
  175struct page;
  176#line 18
  177struct page;
  178#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
  179struct task_struct;
  180#line 20
  181struct task_struct;
  182#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  183struct task_struct;
  184#line 8
  185struct mm_struct;
  186#line 8
  187struct mm_struct;
  188#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  189struct pt_regs {
  190   unsigned long r15 ;
  191   unsigned long r14 ;
  192   unsigned long r13 ;
  193   unsigned long r12 ;
  194   unsigned long bp ;
  195   unsigned long bx ;
  196   unsigned long r11 ;
  197   unsigned long r10 ;
  198   unsigned long r9 ;
  199   unsigned long r8 ;
  200   unsigned long ax ;
  201   unsigned long cx ;
  202   unsigned long dx ;
  203   unsigned long si ;
  204   unsigned long di ;
  205   unsigned long orig_ax ;
  206   unsigned long ip ;
  207   unsigned long cs ;
  208   unsigned long flags ;
  209   unsigned long sp ;
  210   unsigned long ss ;
  211};
  212#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
  213struct __anonstruct____missing_field_name_15 {
  214   unsigned int a ;
  215   unsigned int b ;
  216};
  217#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
  218struct __anonstruct____missing_field_name_16 {
  219   u16 limit0 ;
  220   u16 base0 ;
  221   unsigned int base1 : 8 ;
  222   unsigned int type : 4 ;
  223   unsigned int s : 1 ;
  224   unsigned int dpl : 2 ;
  225   unsigned int p : 1 ;
  226   unsigned int limit : 4 ;
  227   unsigned int avl : 1 ;
  228   unsigned int l : 1 ;
  229   unsigned int d : 1 ;
  230   unsigned int g : 1 ;
  231   unsigned int base2 : 8 ;
  232};
  233#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
  234union __anonunion____missing_field_name_14 {
  235   struct __anonstruct____missing_field_name_15 __annonCompField5 ;
  236   struct __anonstruct____missing_field_name_16 __annonCompField6 ;
  237};
  238#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
  239struct desc_struct {
  240   union __anonunion____missing_field_name_14 __annonCompField7 ;
  241} __attribute__((__packed__)) ;
  242#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
  243typedef unsigned long pgdval_t;
  244#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
  245typedef unsigned long pgprotval_t;
  246#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  247struct pgprot {
  248   pgprotval_t pgprot ;
  249};
  250#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  251typedef struct pgprot pgprot_t;
  252#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  253struct __anonstruct_pgd_t_20 {
  254   pgdval_t pgd ;
  255};
  256#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  257typedef struct __anonstruct_pgd_t_20 pgd_t;
  258#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
  259typedef struct page *pgtable_t;
  260#line 295
  261struct file;
  262#line 295
  263struct file;
  264#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
  265struct page;
  266#line 47
  267struct thread_struct;
  268#line 47
  269struct thread_struct;
  270#line 50
  271struct mm_struct;
  272#line 51
  273struct desc_struct;
  274#line 52
  275struct task_struct;
  276#line 53
  277struct cpumask;
  278#line 53
  279struct cpumask;
  280#line 329
  281struct arch_spinlock;
  282#line 329
  283struct arch_spinlock;
  284#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
  285struct task_struct;
  286#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
  287struct kernel_vm86_regs {
  288   struct pt_regs pt ;
  289   unsigned short es ;
  290   unsigned short __esh ;
  291   unsigned short ds ;
  292   unsigned short __dsh ;
  293   unsigned short fs ;
  294   unsigned short __fsh ;
  295   unsigned short gs ;
  296   unsigned short __gsh ;
  297};
  298#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
  299union __anonunion____missing_field_name_24 {
  300   struct pt_regs *regs ;
  301   struct kernel_vm86_regs *vm86 ;
  302};
  303#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
  304struct math_emu_info {
  305   long ___orig_eip ;
  306   union __anonunion____missing_field_name_24 __annonCompField8 ;
  307};
  308#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
  309struct task_struct;
  310#line 10 "include/asm-generic/bug.h"
  311struct bug_entry {
  312   int bug_addr_disp ;
  313   int file_disp ;
  314   unsigned short line ;
  315   unsigned short flags ;
  316};
  317#line 12 "include/linux/bug.h"
  318struct pt_regs;
  319#line 14 "include/linux/cpumask.h"
  320struct cpumask {
  321   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
  322};
  323#line 14 "include/linux/cpumask.h"
  324typedef struct cpumask cpumask_t;
  325#line 637 "include/linux/cpumask.h"
  326typedef struct cpumask *cpumask_var_t;
  327#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
  328struct static_key;
  329#line 234
  330struct static_key;
  331#line 11 "include/linux/personality.h"
  332struct pt_regs;
  333#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  334struct i387_fsave_struct {
  335   u32 cwd ;
  336   u32 swd ;
  337   u32 twd ;
  338   u32 fip ;
  339   u32 fcs ;
  340   u32 foo ;
  341   u32 fos ;
  342   u32 st_space[20] ;
  343   u32 status ;
  344};
  345#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  346struct __anonstruct____missing_field_name_31 {
  347   u64 rip ;
  348   u64 rdp ;
  349};
  350#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  351struct __anonstruct____missing_field_name_32 {
  352   u32 fip ;
  353   u32 fcs ;
  354   u32 foo ;
  355   u32 fos ;
  356};
  357#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  358union __anonunion____missing_field_name_30 {
  359   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
  360   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
  361};
  362#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  363union __anonunion____missing_field_name_33 {
  364   u32 padding1[12] ;
  365   u32 sw_reserved[12] ;
  366};
  367#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  368struct i387_fxsave_struct {
  369   u16 cwd ;
  370   u16 swd ;
  371   u16 twd ;
  372   u16 fop ;
  373   union __anonunion____missing_field_name_30 __annonCompField14 ;
  374   u32 mxcsr ;
  375   u32 mxcsr_mask ;
  376   u32 st_space[32] ;
  377   u32 xmm_space[64] ;
  378   u32 padding[12] ;
  379   union __anonunion____missing_field_name_33 __annonCompField15 ;
  380} __attribute__((__aligned__(16))) ;
  381#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  382struct i387_soft_struct {
  383   u32 cwd ;
  384   u32 swd ;
  385   u32 twd ;
  386   u32 fip ;
  387   u32 fcs ;
  388   u32 foo ;
  389   u32 fos ;
  390   u32 st_space[20] ;
  391   u8 ftop ;
  392   u8 changed ;
  393   u8 lookahead ;
  394   u8 no_update ;
  395   u8 rm ;
  396   u8 alimit ;
  397   struct math_emu_info *info ;
  398   u32 entry_eip ;
  399};
  400#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  401struct ymmh_struct {
  402   u32 ymmh_space[64] ;
  403};
  404#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  405struct xsave_hdr_struct {
  406   u64 xstate_bv ;
  407   u64 reserved1[2] ;
  408   u64 reserved2[5] ;
  409} __attribute__((__packed__)) ;
  410#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  411struct xsave_struct {
  412   struct i387_fxsave_struct i387 ;
  413   struct xsave_hdr_struct xsave_hdr ;
  414   struct ymmh_struct ymmh ;
  415} __attribute__((__packed__, __aligned__(64))) ;
  416#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  417union thread_xstate {
  418   struct i387_fsave_struct fsave ;
  419   struct i387_fxsave_struct fxsave ;
  420   struct i387_soft_struct soft ;
  421   struct xsave_struct xsave ;
  422};
  423#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  424struct fpu {
  425   unsigned int last_cpu ;
  426   unsigned int has_fpu ;
  427   union thread_xstate *state ;
  428};
  429#line 433
  430struct kmem_cache;
  431#line 435
  432struct perf_event;
  433#line 435
  434struct perf_event;
  435#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
  436struct thread_struct {
  437   struct desc_struct tls_array[3] ;
  438   unsigned long sp0 ;
  439   unsigned long sp ;
  440   unsigned long usersp ;
  441   unsigned short es ;
  442   unsigned short ds ;
  443   unsigned short fsindex ;
  444   unsigned short gsindex ;
  445   unsigned long fs ;
  446   unsigned long gs ;
  447   struct perf_event *ptrace_bps[4] ;
  448   unsigned long debugreg6 ;
  449   unsigned long ptrace_dr7 ;
  450   unsigned long cr2 ;
  451   unsigned long trap_nr ;
  452   unsigned long error_code ;
  453   struct fpu fpu ;
  454   unsigned long *io_bitmap_ptr ;
  455   unsigned long iopl ;
  456   unsigned int io_bitmap_max ;
  457};
  458#line 23 "include/asm-generic/atomic-long.h"
  459typedef atomic64_t atomic_long_t;
  460#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  461typedef u16 __ticket_t;
  462#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  463typedef u32 __ticketpair_t;
  464#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  465struct __raw_tickets {
  466   __ticket_t head ;
  467   __ticket_t tail ;
  468};
  469#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  470union __anonunion____missing_field_name_36 {
  471   __ticketpair_t head_tail ;
  472   struct __raw_tickets tickets ;
  473};
  474#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  475struct arch_spinlock {
  476   union __anonunion____missing_field_name_36 __annonCompField17 ;
  477};
  478#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
  479typedef struct arch_spinlock arch_spinlock_t;
  480#line 12 "include/linux/lockdep.h"
  481struct task_struct;
  482#line 391 "include/linux/lockdep.h"
  483struct lock_class_key {
  484
  485};
  486#line 20 "include/linux/spinlock_types.h"
  487struct raw_spinlock {
  488   arch_spinlock_t raw_lock ;
  489   unsigned int magic ;
  490   unsigned int owner_cpu ;
  491   void *owner ;
  492};
  493#line 20 "include/linux/spinlock_types.h"
  494typedef struct raw_spinlock raw_spinlock_t;
  495#line 64 "include/linux/spinlock_types.h"
  496union __anonunion____missing_field_name_39 {
  497   struct raw_spinlock rlock ;
  498};
  499#line 64 "include/linux/spinlock_types.h"
  500struct spinlock {
  501   union __anonunion____missing_field_name_39 __annonCompField19 ;
  502};
  503#line 64 "include/linux/spinlock_types.h"
  504typedef struct spinlock spinlock_t;
  505#line 119 "include/linux/seqlock.h"
  506struct seqcount {
  507   unsigned int sequence ;
  508};
  509#line 119 "include/linux/seqlock.h"
  510typedef struct seqcount seqcount_t;
  511#line 14 "include/linux/time.h"
  512struct timespec {
  513   __kernel_time_t tv_sec ;
  514   long tv_nsec ;
  515};
  516#line 27 "include/linux/wait.h"
  517struct __wait_queue;
  518#line 27 "include/linux/wait.h"
  519typedef struct __wait_queue wait_queue_t;
  520#line 31 "include/linux/wait.h"
  521struct __wait_queue {
  522   unsigned int flags ;
  523   void *private ;
  524   int (*func)(wait_queue_t *wait , unsigned int mode , int flags , void *key ) ;
  525   struct list_head task_list ;
  526};
  527#line 49 "include/linux/wait.h"
  528struct __wait_queue_head {
  529   spinlock_t lock ;
  530   struct list_head task_list ;
  531};
  532#line 53 "include/linux/wait.h"
  533typedef struct __wait_queue_head wait_queue_head_t;
  534#line 55
  535struct task_struct;
  536#line 98 "include/linux/nodemask.h"
  537struct __anonstruct_nodemask_t_42 {
  538   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
  539};
  540#line 98 "include/linux/nodemask.h"
  541typedef struct __anonstruct_nodemask_t_42 nodemask_t;
  542#line 60 "include/linux/pageblock-flags.h"
  543struct page;
  544#line 48 "include/linux/mutex.h"
  545struct mutex {
  546   atomic_t count ;
  547   spinlock_t wait_lock ;
  548   struct list_head wait_list ;
  549   struct task_struct *owner ;
  550   char    *name ;
  551   void *magic ;
  552};
  553#line 69 "include/linux/mutex.h"
  554struct mutex_waiter {
  555   struct list_head list ;
  556   struct task_struct *task ;
  557   void *magic ;
  558};
  559#line 19 "include/linux/rwsem.h"
  560struct rw_semaphore;
  561#line 19
  562struct rw_semaphore;
  563#line 25 "include/linux/rwsem.h"
  564struct rw_semaphore {
  565   long count ;
  566   raw_spinlock_t wait_lock ;
  567   struct list_head wait_list ;
  568};
  569#line 25 "include/linux/completion.h"
  570struct completion {
  571   unsigned int done ;
  572   wait_queue_head_t wait ;
  573};
  574#line 188 "include/linux/rcupdate.h"
  575struct notifier_block;
  576#line 188
  577struct notifier_block;
  578#line 50 "include/linux/notifier.h"
  579struct notifier_block {
  580   int (*notifier_call)(struct notifier_block * , unsigned long  , void * ) ;
  581   struct notifier_block *next ;
  582   int priority ;
  583};
  584#line 9 "include/linux/memory_hotplug.h"
  585struct page;
  586#line 202 "include/linux/ioport.h"
  587struct device;
  588#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
  589struct device;
  590#line 46 "include/linux/ktime.h"
  591union ktime {
  592   s64 tv64 ;
  593};
  594#line 59 "include/linux/ktime.h"
  595typedef union ktime ktime_t;
  596#line 10 "include/linux/timer.h"
  597struct tvec_base;
  598#line 10
  599struct tvec_base;
  600#line 12 "include/linux/timer.h"
  601struct timer_list {
  602   struct list_head entry ;
  603   unsigned long expires ;
  604   struct tvec_base *base ;
  605   void (*function)(unsigned long  ) ;
  606   unsigned long data ;
  607   int slack ;
  608   int start_pid ;
  609   void *start_site ;
  610   char start_comm[16] ;
  611};
  612#line 289
  613struct hrtimer;
  614#line 289
  615struct hrtimer;
  616#line 290
  617enum hrtimer_restart;
  618#line 17 "include/linux/workqueue.h"
  619struct work_struct;
  620#line 17
  621struct work_struct;
  622#line 79 "include/linux/workqueue.h"
  623struct work_struct {
  624   atomic_long_t data ;
  625   struct list_head entry ;
  626   void (*func)(struct work_struct *work ) ;
  627};
  628#line 42 "include/linux/pm.h"
  629struct device;
  630#line 50 "include/linux/pm.h"
  631struct pm_message {
  632   int event ;
  633};
  634#line 50 "include/linux/pm.h"
  635typedef struct pm_message pm_message_t;
  636#line 264 "include/linux/pm.h"
  637struct dev_pm_ops {
  638   int (*prepare)(struct device *dev ) ;
  639   void (*complete)(struct device *dev ) ;
  640   int (*suspend)(struct device *dev ) ;
  641   int (*resume)(struct device *dev ) ;
  642   int (*freeze)(struct device *dev ) ;
  643   int (*thaw)(struct device *dev ) ;
  644   int (*poweroff)(struct device *dev ) ;
  645   int (*restore)(struct device *dev ) ;
  646   int (*suspend_late)(struct device *dev ) ;
  647   int (*resume_early)(struct device *dev ) ;
  648   int (*freeze_late)(struct device *dev ) ;
  649   int (*thaw_early)(struct device *dev ) ;
  650   int (*poweroff_late)(struct device *dev ) ;
  651   int (*restore_early)(struct device *dev ) ;
  652   int (*suspend_noirq)(struct device *dev ) ;
  653   int (*resume_noirq)(struct device *dev ) ;
  654   int (*freeze_noirq)(struct device *dev ) ;
  655   int (*thaw_noirq)(struct device *dev ) ;
  656   int (*poweroff_noirq)(struct device *dev ) ;
  657   int (*restore_noirq)(struct device *dev ) ;
  658   int (*runtime_suspend)(struct device *dev ) ;
  659   int (*runtime_resume)(struct device *dev ) ;
  660   int (*runtime_idle)(struct device *dev ) ;
  661};
  662#line 458
  663enum rpm_status {
  664    RPM_ACTIVE = 0,
  665    RPM_RESUMING = 1,
  666    RPM_SUSPENDED = 2,
  667    RPM_SUSPENDING = 3
  668} ;
  669#line 480
  670enum rpm_request {
  671    RPM_REQ_NONE = 0,
  672    RPM_REQ_IDLE = 1,
  673    RPM_REQ_SUSPEND = 2,
  674    RPM_REQ_AUTOSUSPEND = 3,
  675    RPM_REQ_RESUME = 4
  676} ;
  677#line 488
  678struct wakeup_source;
  679#line 488
  680struct wakeup_source;
  681#line 495 "include/linux/pm.h"
  682struct pm_subsys_data {
  683   spinlock_t lock ;
  684   unsigned int refcount ;
  685};
  686#line 506
  687struct dev_pm_qos_request;
  688#line 506
  689struct pm_qos_raints;
  690#line 506 "include/linux/pm.h"
  691struct dev_pm_info {
  692   pm_message_t power_state ;
  693   unsigned int can_wakeup : 1 ;
  694   unsigned int async_suspend : 1 ;
  695   bool is_prepared : 1 ;
  696   bool is_suspended : 1 ;
  697   bool ignore_children : 1 ;
  698   spinlock_t lock ;
  699   struct list_head entry ;
  700   struct completion completion ;
  701   struct wakeup_source *wakeup ;
  702   bool wakeup_path : 1 ;
  703   struct timer_list suspend_timer ;
  704   unsigned long timer_expires ;
  705   struct work_struct work ;
  706   wait_queue_head_t wait_queue ;
  707   atomic_t usage_count ;
  708   atomic_t child_count ;
  709   unsigned int disable_depth : 3 ;
  710   unsigned int idle_notification : 1 ;
  711   unsigned int request_pending : 1 ;
  712   unsigned int deferred_resume : 1 ;
  713   unsigned int run_wake : 1 ;
  714   unsigned int runtime_auto : 1 ;
  715   unsigned int no_callbacks : 1 ;
  716   unsigned int irq_safe : 1 ;
  717   unsigned int use_autosuspend : 1 ;
  718   unsigned int timer_autosuspends : 1 ;
  719   enum rpm_request request ;
  720   enum rpm_status runtime_status ;
  721   int runtime_error ;
  722   int autosuspend_delay ;
  723   unsigned long last_busy ;
  724   unsigned long active_jiffies ;
  725   unsigned long suspended_jiffies ;
  726   unsigned long accounting_timestamp ;
  727   ktime_t suspend_time ;
  728   s64 max_time_suspended_ns ;
  729   struct dev_pm_qos_request *pq_req ;
  730   struct pm_subsys_data *subsys_data ;
  731   struct pm_qos_raints *raints ;
  732};
  733#line 564 "include/linux/pm.h"
  734struct dev_pm_domain {
  735   struct dev_pm_ops ops ;
  736};
  737#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
  738struct __anonstruct_mm_context_t_112 {
  739   void *ldt ;
  740   int size ;
  741   unsigned short ia32_compat ;
  742   struct mutex lock ;
  743   void *vdso ;
  744};
  745#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
  746typedef struct __anonstruct_mm_context_t_112 mm_context_t;
  747#line 8 "include/linux/vmalloc.h"
  748struct vm_area_struct;
  749#line 8
  750struct vm_area_struct;
  751#line 994 "include/linux/mmzone.h"
  752struct page;
  753#line 10 "include/linux/gfp.h"
  754struct vm_area_struct;
  755#line 29 "include/linux/sysctl.h"
  756struct completion;
  757#line 100 "include/linux/rbtree.h"
  758struct rb_node {
  759   unsigned long rb_parent_color ;
  760   struct rb_node *rb_right ;
  761   struct rb_node *rb_left ;
  762} __attribute__((__aligned__(sizeof(long )))) ;
  763#line 110 "include/linux/rbtree.h"
  764struct rb_root {
  765   struct rb_node *rb_node ;
  766};
  767#line 939 "include/linux/sysctl.h"
  768struct nsproxy;
  769#line 939
  770struct nsproxy;
  771#line 48 "include/linux/kmod.h"
  772struct cred;
  773#line 48
  774struct cred;
  775#line 49
  776struct file;
  777#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
  778struct task_struct;
  779#line 18 "include/linux/elf.h"
  780typedef __u64 Elf64_Addr;
  781#line 19 "include/linux/elf.h"
  782typedef __u16 Elf64_Half;
  783#line 23 "include/linux/elf.h"
  784typedef __u32 Elf64_Word;
  785#line 24 "include/linux/elf.h"
  786typedef __u64 Elf64_Xword;
  787#line 194 "include/linux/elf.h"
  788struct elf64_sym {
  789   Elf64_Word st_name ;
  790   unsigned char st_info ;
  791   unsigned char st_other ;
  792   Elf64_Half st_shndx ;
  793   Elf64_Addr st_value ;
  794   Elf64_Xword st_size ;
  795};
  796#line 194 "include/linux/elf.h"
  797typedef struct elf64_sym Elf64_Sym;
  798#line 438
  799struct file;
  800#line 20 "include/linux/kobject_ns.h"
  801struct sock;
  802#line 20
  803struct sock;
  804#line 21
  805struct kobject;
  806#line 21
  807struct kobject;
  808#line 27
  809enum kobj_ns_type {
  810    KOBJ_NS_TYPE_NONE = 0,
  811    KOBJ_NS_TYPE_NET = 1,
  812    KOBJ_NS_TYPES = 2
  813} ;
  814#line 40 "include/linux/kobject_ns.h"
  815struct kobj_ns_type_operations {
  816   enum kobj_ns_type type ;
  817   void *(*grab_current_ns)(void) ;
  818   void    *(*netlink_ns)(struct sock *sk ) ;
  819   void    *(*initial_ns)(void) ;
  820   void (*drop_ns)(void * ) ;
  821};
  822#line 22 "include/linux/sysfs.h"
  823struct kobject;
  824#line 23
  825struct module;
  826#line 24
  827enum kobj_ns_type;
  828#line 26 "include/linux/sysfs.h"
  829struct attribute {
  830   char    *name ;
  831   umode_t mode ;
  832};
  833#line 56 "include/linux/sysfs.h"
  834struct attribute_group {
  835   char    *name ;
  836   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
  837   struct attribute **attrs ;
  838};
  839#line 85
  840struct file;
  841#line 86
  842struct vm_area_struct;
  843#line 88 "include/linux/sysfs.h"
  844struct bin_attribute {
  845   struct attribute attr ;
  846   size_t size ;
  847   void *private ;
  848   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
  849                   loff_t  , size_t  ) ;
  850   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
  851                    loff_t  , size_t  ) ;
  852   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
  853};
  854#line 112 "include/linux/sysfs.h"
  855struct sysfs_ops {
  856   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
  857   ssize_t (*store)(struct kobject * , struct attribute * , char    * , size_t  ) ;
  858   void    *(*namespace)(struct kobject * , struct attribute    * ) ;
  859};
  860#line 118
  861struct sysfs_dirent;
  862#line 118
  863struct sysfs_dirent;
  864#line 22 "include/linux/kref.h"
  865struct kref {
  866   atomic_t refcount ;
  867};
  868#line 60 "include/linux/kobject.h"
  869struct kset;
  870#line 60
  871struct kobj_type;
  872#line 60 "include/linux/kobject.h"
  873struct kobject {
  874   char    *name ;
  875   struct list_head entry ;
  876   struct kobject *parent ;
  877   struct kset *kset ;
  878   struct kobj_type *ktype ;
  879   struct sysfs_dirent *sd ;
  880   struct kref kref ;
  881   unsigned int state_initialized : 1 ;
  882   unsigned int state_in_sysfs : 1 ;
  883   unsigned int state_add_uevent_sent : 1 ;
  884   unsigned int state_remove_uevent_sent : 1 ;
  885   unsigned int uevent_suppress : 1 ;
  886};
  887#line 108 "include/linux/kobject.h"
  888struct kobj_type {
  889   void (*release)(struct kobject *kobj ) ;
  890   struct sysfs_ops    *sysfs_ops ;
  891   struct attribute **default_attrs ;
  892   struct kobj_ns_type_operations    *(*child_ns_type)(struct kobject *kobj ) ;
  893   void    *(*namespace)(struct kobject *kobj ) ;
  894};
  895#line 116 "include/linux/kobject.h"
  896struct kobj_uevent_env {
  897   char *envp[32] ;
  898   int envp_idx ;
  899   char buf[2048] ;
  900   int buflen ;
  901};
  902#line 123 "include/linux/kobject.h"
  903struct kset_uevent_ops {
  904   int (*   filter)(struct kset *kset , struct kobject *kobj ) ;
  905   char    *(*   name)(struct kset *kset , struct kobject *kobj ) ;
  906   int (*   uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
  907};
  908#line 140
  909struct sock;
  910#line 159 "include/linux/kobject.h"
  911struct kset {
  912   struct list_head list ;
  913   spinlock_t list_lock ;
  914   struct kobject kobj ;
  915   struct kset_uevent_ops    *uevent_ops ;
  916};
  917#line 39 "include/linux/moduleparam.h"
  918struct kernel_param;
  919#line 39
  920struct kernel_param;
  921#line 41 "include/linux/moduleparam.h"
  922struct kernel_param_ops {
  923   int (*set)(char    *val , struct kernel_param    *kp ) ;
  924   int (*get)(char *buffer , struct kernel_param    *kp ) ;
  925   void (*free)(void *arg ) ;
  926};
  927#line 50
  928struct kparam_string;
  929#line 50
  930struct kparam_array;
  931#line 50 "include/linux/moduleparam.h"
  932union __anonunion____missing_field_name_199 {
  933   void *arg ;
  934   struct kparam_string    *str ;
  935   struct kparam_array    *arr ;
  936};
  937#line 50 "include/linux/moduleparam.h"
  938struct kernel_param {
  939   char    *name ;
  940   struct kernel_param_ops    *ops ;
  941   u16 perm ;
  942   s16 level ;
  943   union __anonunion____missing_field_name_199 __annonCompField32 ;
  944};
  945#line 63 "include/linux/moduleparam.h"
  946struct kparam_string {
  947   unsigned int maxlen ;
  948   char *string ;
  949};
  950#line 69 "include/linux/moduleparam.h"
  951struct kparam_array {
  952   unsigned int max ;
  953   unsigned int elemsize ;
  954   unsigned int *num ;
  955   struct kernel_param_ops    *ops ;
  956   void *elem ;
  957};
  958#line 445
  959struct module;
  960#line 80 "include/linux/jump_label.h"
  961struct module;
  962#line 143 "include/linux/jump_label.h"
  963struct static_key {
  964   atomic_t enabled ;
  965};
  966#line 22 "include/linux/tracepoint.h"
  967struct module;
  968#line 23
  969struct tracepoint;
  970#line 23
  971struct tracepoint;
  972#line 25 "include/linux/tracepoint.h"
  973struct tracepoint_func {
  974   void *func ;
  975   void *data ;
  976};
  977#line 30 "include/linux/tracepoint.h"
  978struct tracepoint {
  979   char    *name ;
  980   struct static_key key ;
  981   void (*regfunc)(void) ;
  982   void (*unregfunc)(void) ;
  983   struct tracepoint_func *funcs ;
  984};
  985#line 19 "include/linux/export.h"
  986struct kernel_symbol {
  987   unsigned long value ;
  988   char    *name ;
  989};
  990#line 8 "include/asm-generic/module.h"
  991struct mod_arch_specific {
  992
  993};
  994#line 35 "include/linux/module.h"
  995struct module;
  996#line 37
  997struct module_param_attrs;
  998#line 37 "include/linux/module.h"
  999struct module_kobject {
 1000   struct kobject kobj ;
 1001   struct module *mod ;
 1002   struct kobject *drivers_dir ;
 1003   struct module_param_attrs *mp ;
 1004};
 1005#line 44 "include/linux/module.h"
 1006struct module_attribute {
 1007   struct attribute attr ;
 1008   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 1009   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char    * ,
 1010                    size_t count ) ;
 1011   void (*setup)(struct module * , char    * ) ;
 1012   int (*test)(struct module * ) ;
 1013   void (*free)(struct module * ) ;
 1014};
 1015#line 71
 1016struct exception_table_entry;
 1017#line 71
 1018struct exception_table_entry;
 1019#line 182
 1020struct notifier_block;
 1021#line 199
 1022enum module_state {
 1023    MODULE_STATE_LIVE = 0,
 1024    MODULE_STATE_COMING = 1,
 1025    MODULE_STATE_GOING = 2
 1026} ;
 1027#line 215 "include/linux/module.h"
 1028struct module_ref {
 1029   unsigned long incs ;
 1030   unsigned long decs ;
 1031} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 1032#line 220
 1033struct module_sect_attrs;
 1034#line 220
 1035struct module_notes_attrs;
 1036#line 220
 1037struct ftrace_event_call;
 1038#line 220 "include/linux/module.h"
 1039struct module {
 1040   enum module_state state ;
 1041   struct list_head list ;
 1042   char name[64UL - sizeof(unsigned long )] ;
 1043   struct module_kobject mkobj ;
 1044   struct module_attribute *modinfo_attrs ;
 1045   char    *version ;
 1046   char    *srcversion ;
 1047   struct kobject *holders_dir ;
 1048   struct kernel_symbol    *syms ;
 1049   unsigned long    *crcs ;
 1050   unsigned int num_syms ;
 1051   struct kernel_param *kp ;
 1052   unsigned int num_kp ;
 1053   unsigned int num_gpl_syms ;
 1054   struct kernel_symbol    *gpl_syms ;
 1055   unsigned long    *gpl_crcs ;
 1056   struct kernel_symbol    *unused_syms ;
 1057   unsigned long    *unused_crcs ;
 1058   unsigned int num_unused_syms ;
 1059   unsigned int num_unused_gpl_syms ;
 1060   struct kernel_symbol    *unused_gpl_syms ;
 1061   unsigned long    *unused_gpl_crcs ;
 1062   struct kernel_symbol    *gpl_future_syms ;
 1063   unsigned long    *gpl_future_crcs ;
 1064   unsigned int num_gpl_future_syms ;
 1065   unsigned int num_exentries ;
 1066   struct exception_table_entry *extable ;
 1067   int (*init)(void) ;
 1068   void *module_init ;
 1069   void *module_core ;
 1070   unsigned int init_size ;
 1071   unsigned int core_size ;
 1072   unsigned int init_text_size ;
 1073   unsigned int core_text_size ;
 1074   unsigned int init_ro_size ;
 1075   unsigned int core_ro_size ;
 1076   struct mod_arch_specific arch ;
 1077   unsigned int taints ;
 1078   unsigned int num_bugs ;
 1079   struct list_head bug_list ;
 1080   struct bug_entry *bug_table ;
 1081   Elf64_Sym *symtab ;
 1082   Elf64_Sym *core_symtab ;
 1083   unsigned int num_symtab ;
 1084   unsigned int core_num_syms ;
 1085   char *strtab ;
 1086   char *core_strtab ;
 1087   struct module_sect_attrs *sect_attrs ;
 1088   struct module_notes_attrs *notes_attrs ;
 1089   char *args ;
 1090   void *percpu ;
 1091   unsigned int percpu_size ;
 1092   unsigned int num_tracepoints ;
 1093   struct tracepoint *   *tracepoints_ptrs ;
 1094   unsigned int num_trace_bprintk_fmt ;
 1095   char    **trace_bprintk_fmt_start ;
 1096   struct ftrace_event_call **trace_events ;
 1097   unsigned int num_trace_events ;
 1098   struct list_head source_list ;
 1099   struct list_head target_list ;
 1100   struct task_struct *waiter ;
 1101   void (*exit)(void) ;
 1102   struct module_ref *refptr ;
 1103   ctor_fn_t *ctors ;
 1104   unsigned int num_ctors ;
 1105};
 1106#line 18 "include/linux/capability.h"
 1107struct task_struct;
 1108#line 94 "include/linux/capability.h"
 1109struct kernel_cap_struct {
 1110   __u32 cap[2] ;
 1111};
 1112#line 94 "include/linux/capability.h"
 1113typedef struct kernel_cap_struct kernel_cap_t;
 1114#line 378
 1115struct user_namespace;
 1116#line 378
 1117struct user_namespace;
 1118#line 14 "include/linux/prio_tree.h"
 1119struct prio_tree_node;
 1120#line 14 "include/linux/prio_tree.h"
 1121struct raw_prio_tree_node {
 1122   struct prio_tree_node *left ;
 1123   struct prio_tree_node *right ;
 1124   struct prio_tree_node *parent ;
 1125};
 1126#line 20 "include/linux/prio_tree.h"
 1127struct prio_tree_node {
 1128   struct prio_tree_node *left ;
 1129   struct prio_tree_node *right ;
 1130   struct prio_tree_node *parent ;
 1131   unsigned long start ;
 1132   unsigned long last ;
 1133};
 1134#line 23 "include/linux/mm_types.h"
 1135struct address_space;
 1136#line 23
 1137struct address_space;
 1138#line 40 "include/linux/mm_types.h"
 1139union __anonunion____missing_field_name_203 {
 1140   unsigned long index ;
 1141   void *freelist ;
 1142};
 1143#line 40 "include/linux/mm_types.h"
 1144struct __anonstruct____missing_field_name_207 {
 1145   unsigned int inuse : 16 ;
 1146   unsigned int objects : 15 ;
 1147   unsigned int frozen : 1 ;
 1148};
 1149#line 40 "include/linux/mm_types.h"
 1150union __anonunion____missing_field_name_206 {
 1151   atomic_t _mapcount ;
 1152   struct __anonstruct____missing_field_name_207 __annonCompField34 ;
 1153};
 1154#line 40 "include/linux/mm_types.h"
 1155struct __anonstruct____missing_field_name_205 {
 1156   union __anonunion____missing_field_name_206 __annonCompField35 ;
 1157   atomic_t _count ;
 1158};
 1159#line 40 "include/linux/mm_types.h"
 1160union __anonunion____missing_field_name_204 {
 1161   unsigned long counters ;
 1162   struct __anonstruct____missing_field_name_205 __annonCompField36 ;
 1163};
 1164#line 40 "include/linux/mm_types.h"
 1165struct __anonstruct____missing_field_name_202 {
 1166   union __anonunion____missing_field_name_203 __annonCompField33 ;
 1167   union __anonunion____missing_field_name_204 __annonCompField37 ;
 1168};
 1169#line 40 "include/linux/mm_types.h"
 1170struct __anonstruct____missing_field_name_209 {
 1171   struct page *next ;
 1172   int pages ;
 1173   int pobjects ;
 1174};
 1175#line 40 "include/linux/mm_types.h"
 1176union __anonunion____missing_field_name_208 {
 1177   struct list_head lru ;
 1178   struct __anonstruct____missing_field_name_209 __annonCompField39 ;
 1179};
 1180#line 40 "include/linux/mm_types.h"
 1181union __anonunion____missing_field_name_210 {
 1182   unsigned long private ;
 1183   struct kmem_cache *slab ;
 1184   struct page *first_page ;
 1185};
 1186#line 40 "include/linux/mm_types.h"
 1187struct page {
 1188   unsigned long flags ;
 1189   struct address_space *mapping ;
 1190   struct __anonstruct____missing_field_name_202 __annonCompField38 ;
 1191   union __anonunion____missing_field_name_208 __annonCompField40 ;
 1192   union __anonunion____missing_field_name_210 __annonCompField41 ;
 1193   unsigned long debug_flags ;
 1194} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 1195#line 200 "include/linux/mm_types.h"
 1196struct __anonstruct_vm_set_212 {
 1197   struct list_head list ;
 1198   void *parent ;
 1199   struct vm_area_struct *head ;
 1200};
 1201#line 200 "include/linux/mm_types.h"
 1202union __anonunion_shared_211 {
 1203   struct __anonstruct_vm_set_212 vm_set ;
 1204   struct raw_prio_tree_node prio_tree_node ;
 1205};
 1206#line 200
 1207struct anon_vma;
 1208#line 200
 1209struct vm_operations_struct;
 1210#line 200
 1211struct mempolicy;
 1212#line 200 "include/linux/mm_types.h"
 1213struct vm_area_struct {
 1214   struct mm_struct *vm_mm ;
 1215   unsigned long vm_start ;
 1216   unsigned long vm_end ;
 1217   struct vm_area_struct *vm_next ;
 1218   struct vm_area_struct *vm_prev ;
 1219   pgprot_t vm_page_prot ;
 1220   unsigned long vm_flags ;
 1221   struct rb_node vm_rb ;
 1222   union __anonunion_shared_211 shared ;
 1223   struct list_head anon_vma_chain ;
 1224   struct anon_vma *anon_vma ;
 1225   struct vm_operations_struct    *vm_ops ;
 1226   unsigned long vm_pgoff ;
 1227   struct file *vm_file ;
 1228   void *vm_private_data ;
 1229   struct mempolicy *vm_policy ;
 1230};
 1231#line 257 "include/linux/mm_types.h"
 1232struct core_thread {
 1233   struct task_struct *task ;
 1234   struct core_thread *next ;
 1235};
 1236#line 262 "include/linux/mm_types.h"
 1237struct core_state {
 1238   atomic_t nr_threads ;
 1239   struct core_thread dumper ;
 1240   struct completion startup ;
 1241};
 1242#line 284 "include/linux/mm_types.h"
 1243struct mm_rss_stat {
 1244   atomic_long_t count[3] ;
 1245};
 1246#line 288
 1247struct linux_binfmt;
 1248#line 288
 1249struct mmu_notifier_mm;
 1250#line 288 "include/linux/mm_types.h"
 1251struct mm_struct {
 1252   struct vm_area_struct *mmap ;
 1253   struct rb_root mm_rb ;
 1254   struct vm_area_struct *mmap_cache ;
 1255   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
 1256                                      unsigned long pgoff , unsigned long flags ) ;
 1257   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
 1258   unsigned long mmap_base ;
 1259   unsigned long task_size ;
 1260   unsigned long cached_hole_size ;
 1261   unsigned long free_area_cache ;
 1262   pgd_t *pgd ;
 1263   atomic_t mm_users ;
 1264   atomic_t mm_count ;
 1265   int map_count ;
 1266   spinlock_t page_table_lock ;
 1267   struct rw_semaphore mmap_sem ;
 1268   struct list_head mmlist ;
 1269   unsigned long hiwater_rss ;
 1270   unsigned long hiwater_vm ;
 1271   unsigned long total_vm ;
 1272   unsigned long locked_vm ;
 1273   unsigned long pinned_vm ;
 1274   unsigned long shared_vm ;
 1275   unsigned long exec_vm ;
 1276   unsigned long stack_vm ;
 1277   unsigned long reserved_vm ;
 1278   unsigned long def_flags ;
 1279   unsigned long nr_ptes ;
 1280   unsigned long start_code ;
 1281   unsigned long end_code ;
 1282   unsigned long start_data ;
 1283   unsigned long end_data ;
 1284   unsigned long start_brk ;
 1285   unsigned long brk ;
 1286   unsigned long start_stack ;
 1287   unsigned long arg_start ;
 1288   unsigned long arg_end ;
 1289   unsigned long env_start ;
 1290   unsigned long env_end ;
 1291   unsigned long saved_auxv[44] ;
 1292   struct mm_rss_stat rss_stat ;
 1293   struct linux_binfmt *binfmt ;
 1294   cpumask_var_t cpu_vm_mask_var ;
 1295   mm_context_t context ;
 1296   unsigned int faultstamp ;
 1297   unsigned int token_priority ;
 1298   unsigned int last_interval ;
 1299   unsigned long flags ;
 1300   struct core_state *core_state ;
 1301   spinlock_t ioctx_lock ;
 1302   struct hlist_head ioctx_list ;
 1303   struct task_struct *owner ;
 1304   struct file *exe_file ;
 1305   unsigned long num_exe_file_vmas ;
 1306   struct mmu_notifier_mm *mmu_notifier_mm ;
 1307   pgtable_t pmd_huge_pte ;
 1308   struct cpumask cpumask_allocation ;
 1309};
 1310#line 7 "include/asm-generic/cputime.h"
 1311typedef unsigned long cputime_t;
 1312#line 84 "include/linux/sem.h"
 1313struct task_struct;
 1314#line 101
 1315struct sem_undo_list;
 1316#line 101 "include/linux/sem.h"
 1317struct sysv_sem {
 1318   struct sem_undo_list *undo_list ;
 1319};
 1320#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1321struct siginfo;
 1322#line 10
 1323struct siginfo;
 1324#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1325struct __anonstruct_sigset_t_214 {
 1326   unsigned long sig[1] ;
 1327};
 1328#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1329typedef struct __anonstruct_sigset_t_214 sigset_t;
 1330#line 17 "include/asm-generic/signal-defs.h"
 1331typedef void __signalfn_t(int  );
 1332#line 18 "include/asm-generic/signal-defs.h"
 1333typedef __signalfn_t *__sighandler_t;
 1334#line 20 "include/asm-generic/signal-defs.h"
 1335typedef void __restorefn_t(void);
 1336#line 21 "include/asm-generic/signal-defs.h"
 1337typedef __restorefn_t *__sigrestore_t;
 1338#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1339struct sigaction {
 1340   __sighandler_t sa_handler ;
 1341   unsigned long sa_flags ;
 1342   __sigrestore_t sa_restorer ;
 1343   sigset_t sa_mask ;
 1344};
 1345#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
 1346struct k_sigaction {
 1347   struct sigaction sa ;
 1348};
 1349#line 7 "include/asm-generic/siginfo.h"
 1350union sigval {
 1351   int sival_int ;
 1352   void *sival_ptr ;
 1353};
 1354#line 7 "include/asm-generic/siginfo.h"
 1355typedef union sigval sigval_t;
 1356#line 48 "include/asm-generic/siginfo.h"
 1357struct __anonstruct__kill_216 {
 1358   __kernel_pid_t _pid ;
 1359   __kernel_uid32_t _uid ;
 1360};
 1361#line 48 "include/asm-generic/siginfo.h"
 1362struct __anonstruct__timer_217 {
 1363   __kernel_timer_t _tid ;
 1364   int _overrun ;
 1365   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
 1366   sigval_t _sigval ;
 1367   int _sys_private ;
 1368};
 1369#line 48 "include/asm-generic/siginfo.h"
 1370struct __anonstruct__rt_218 {
 1371   __kernel_pid_t _pid ;
 1372   __kernel_uid32_t _uid ;
 1373   sigval_t _sigval ;
 1374};
 1375#line 48 "include/asm-generic/siginfo.h"
 1376struct __anonstruct__sigchld_219 {
 1377   __kernel_pid_t _pid ;
 1378   __kernel_uid32_t _uid ;
 1379   int _status ;
 1380   __kernel_clock_t _utime ;
 1381   __kernel_clock_t _stime ;
 1382};
 1383#line 48 "include/asm-generic/siginfo.h"
 1384struct __anonstruct__sigfault_220 {
 1385   void *_addr ;
 1386   short _addr_lsb ;
 1387};
 1388#line 48 "include/asm-generic/siginfo.h"
 1389struct __anonstruct__sigpoll_221 {
 1390   long _band ;
 1391   int _fd ;
 1392};
 1393#line 48 "include/asm-generic/siginfo.h"
 1394union __anonunion__sifields_215 {
 1395   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
 1396   struct __anonstruct__kill_216 _kill ;
 1397   struct __anonstruct__timer_217 _timer ;
 1398   struct __anonstruct__rt_218 _rt ;
 1399   struct __anonstruct__sigchld_219 _sigchld ;
 1400   struct __anonstruct__sigfault_220 _sigfault ;
 1401   struct __anonstruct__sigpoll_221 _sigpoll ;
 1402};
 1403#line 48 "include/asm-generic/siginfo.h"
 1404struct siginfo {
 1405   int si_signo ;
 1406   int si_errno ;
 1407   int si_code ;
 1408   union __anonunion__sifields_215 _sifields ;
 1409};
 1410#line 48 "include/asm-generic/siginfo.h"
 1411typedef struct siginfo siginfo_t;
 1412#line 288
 1413struct siginfo;
 1414#line 10 "include/linux/signal.h"
 1415struct task_struct;
 1416#line 18
 1417struct user_struct;
 1418#line 28 "include/linux/signal.h"
 1419struct sigpending {
 1420   struct list_head list ;
 1421   sigset_t signal ;
 1422};
 1423#line 239
 1424struct timespec;
 1425#line 240
 1426struct pt_regs;
 1427#line 50 "include/linux/pid.h"
 1428struct pid_namespace;
 1429#line 50 "include/linux/pid.h"
 1430struct upid {
 1431   int nr ;
 1432   struct pid_namespace *ns ;
 1433   struct hlist_node pid_chain ;
 1434};
 1435#line 57 "include/linux/pid.h"
 1436struct pid {
 1437   atomic_t count ;
 1438   unsigned int level ;
 1439   struct hlist_head tasks[3] ;
 1440   struct rcu_head rcu ;
 1441   struct upid numbers[1] ;
 1442};
 1443#line 69 "include/linux/pid.h"
 1444struct pid_link {
 1445   struct hlist_node node ;
 1446   struct pid *pid ;
 1447};
 1448#line 100
 1449struct pid_namespace;
 1450#line 10 "include/linux/seccomp.h"
 1451struct __anonstruct_seccomp_t_224 {
 1452   int mode ;
 1453};
 1454#line 10 "include/linux/seccomp.h"
 1455typedef struct __anonstruct_seccomp_t_224 seccomp_t;
 1456#line 81 "include/linux/plist.h"
 1457struct plist_head {
 1458   struct list_head node_list ;
 1459};
 1460#line 85 "include/linux/plist.h"
 1461struct plist_node {
 1462   int prio ;
 1463   struct list_head prio_list ;
 1464   struct list_head node_list ;
 1465};
 1466#line 40 "include/linux/rtmutex.h"
 1467struct rt_mutex_waiter;
 1468#line 40
 1469struct rt_mutex_waiter;
 1470#line 42 "include/linux/resource.h"
 1471struct rlimit {
 1472   unsigned long rlim_cur ;
 1473   unsigned long rlim_max ;
 1474};
 1475#line 81
 1476struct task_struct;
 1477#line 8 "include/linux/timerqueue.h"
 1478struct timerqueue_node {
 1479   struct rb_node node ;
 1480   ktime_t expires ;
 1481};
 1482#line 13 "include/linux/timerqueue.h"
 1483struct timerqueue_head {
 1484   struct rb_root head ;
 1485   struct timerqueue_node *next ;
 1486};
 1487#line 27 "include/linux/hrtimer.h"
 1488struct hrtimer_clock_base;
 1489#line 27
 1490struct hrtimer_clock_base;
 1491#line 28
 1492struct hrtimer_cpu_base;
 1493#line 28
 1494struct hrtimer_cpu_base;
 1495#line 44
 1496enum hrtimer_restart {
 1497    HRTIMER_NORESTART = 0,
 1498    HRTIMER_RESTART = 1
 1499} ;
 1500#line 108 "include/linux/hrtimer.h"
 1501struct hrtimer {
 1502   struct timerqueue_node node ;
 1503   ktime_t _softexpires ;
 1504   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 1505   struct hrtimer_clock_base *base ;
 1506   unsigned long state ;
 1507   int start_pid ;
 1508   void *start_site ;
 1509   char start_comm[16] ;
 1510};
 1511#line 145 "include/linux/hrtimer.h"
 1512struct hrtimer_clock_base {
 1513   struct hrtimer_cpu_base *cpu_base ;
 1514   int index ;
 1515   clockid_t clockid ;
 1516   struct timerqueue_head active ;
 1517   ktime_t resolution ;
 1518   ktime_t (*get_time)(void) ;
 1519   ktime_t softirq_time ;
 1520   ktime_t offset ;
 1521};
 1522#line 178 "include/linux/hrtimer.h"
 1523struct hrtimer_cpu_base {
 1524   raw_spinlock_t lock ;
 1525   unsigned long active_bases ;
 1526   ktime_t expires_next ;
 1527   int hres_active ;
 1528   int hang_detected ;
 1529   unsigned long nr_events ;
 1530   unsigned long nr_retries ;
 1531   unsigned long nr_hangs ;
 1532   ktime_t max_hang_time ;
 1533   struct hrtimer_clock_base clock_base[3] ;
 1534};
 1535#line 11 "include/linux/task_io_accounting.h"
 1536struct task_io_accounting {
 1537   u64 rchar ;
 1538   u64 wchar ;
 1539   u64 syscr ;
 1540   u64 syscw ;
 1541   u64 read_bytes ;
 1542   u64 write_bytes ;
 1543   u64 cancelled_write_bytes ;
 1544};
 1545#line 13 "include/linux/latencytop.h"
 1546struct task_struct;
 1547#line 20 "include/linux/latencytop.h"
 1548struct latency_record {
 1549   unsigned long backtrace[12] ;
 1550   unsigned int count ;
 1551   unsigned long time ;
 1552   unsigned long max ;
 1553};
 1554#line 29 "include/linux/key.h"
 1555typedef int32_t key_serial_t;
 1556#line 32 "include/linux/key.h"
 1557typedef uint32_t key_perm_t;
 1558#line 34
 1559struct key;
 1560#line 34
 1561struct key;
 1562#line 75
 1563struct user_struct;
 1564#line 76
 1565struct signal_struct;
 1566#line 76
 1567struct signal_struct;
 1568#line 77
 1569struct cred;
 1570#line 79
 1571struct key_type;
 1572#line 79
 1573struct key_type;
 1574#line 81
 1575struct keyring_list;
 1576#line 81
 1577struct keyring_list;
 1578#line 124
 1579struct key_user;
 1580#line 124 "include/linux/key.h"
 1581union __anonunion____missing_field_name_225 {
 1582   time_t expiry ;
 1583   time_t revoked_at ;
 1584};
 1585#line 124 "include/linux/key.h"
 1586union __anonunion_type_data_226 {
 1587   struct list_head link ;
 1588   unsigned long x[2] ;
 1589   void *p[2] ;
 1590   int reject_error ;
 1591};
 1592#line 124 "include/linux/key.h"
 1593union __anonunion_payload_227 {
 1594   unsigned long value ;
 1595   void *rcudata ;
 1596   void *data ;
 1597   struct keyring_list *subscriptions ;
 1598};
 1599#line 124 "include/linux/key.h"
 1600struct key {
 1601   atomic_t usage ;
 1602   key_serial_t serial ;
 1603   struct rb_node serial_node ;
 1604   struct key_type *type ;
 1605   struct rw_semaphore sem ;
 1606   struct key_user *user ;
 1607   void *security ;
 1608   union __anonunion____missing_field_name_225 __annonCompField42 ;
 1609   uid_t uid ;
 1610   gid_t gid ;
 1611   key_perm_t perm ;
 1612   unsigned short quotalen ;
 1613   unsigned short datalen ;
 1614   unsigned long flags ;
 1615   char *description ;
 1616   union __anonunion_type_data_226 type_data ;
 1617   union __anonunion_payload_227 payload ;
 1618};
 1619#line 18 "include/linux/selinux.h"
 1620struct audit_context;
 1621#line 18
 1622struct audit_context;
 1623#line 21 "include/linux/cred.h"
 1624struct user_struct;
 1625#line 22
 1626struct cred;
 1627#line 31 "include/linux/cred.h"
 1628struct group_info {
 1629   atomic_t usage ;
 1630   int ngroups ;
 1631   int nblocks ;
 1632   gid_t small_block[32] ;
 1633   gid_t *blocks[0] ;
 1634};
 1635#line 83 "include/linux/cred.h"
 1636struct thread_group_cred {
 1637   atomic_t usage ;
 1638   pid_t tgid ;
 1639   spinlock_t lock ;
 1640   struct key *session_keyring ;
 1641   struct key *process_keyring ;
 1642   struct rcu_head rcu ;
 1643};
 1644#line 116 "include/linux/cred.h"
 1645struct cred {
 1646   atomic_t usage ;
 1647   atomic_t subscribers ;
 1648   void *put_addr ;
 1649   unsigned int magic ;
 1650   uid_t uid ;
 1651   gid_t gid ;
 1652   uid_t suid ;
 1653   gid_t sgid ;
 1654   uid_t euid ;
 1655   gid_t egid ;
 1656   uid_t fsuid ;
 1657   gid_t fsgid ;
 1658   unsigned int securebits ;
 1659   kernel_cap_t cap_inheritable ;
 1660   kernel_cap_t cap_permitted ;
 1661   kernel_cap_t cap_effective ;
 1662   kernel_cap_t cap_bset ;
 1663   unsigned char jit_keyring ;
 1664   struct key *thread_keyring ;
 1665   struct key *request_key_auth ;
 1666   struct thread_group_cred *tgcred ;
 1667   void *security ;
 1668   struct user_struct *user ;
 1669   struct user_namespace *user_ns ;
 1670   struct group_info *group_info ;
 1671   struct rcu_head rcu ;
 1672};
 1673#line 61 "include/linux/llist.h"
 1674struct llist_node;
 1675#line 65 "include/linux/llist.h"
 1676struct llist_node {
 1677   struct llist_node *next ;
 1678};
 1679#line 97 "include/linux/sched.h"
 1680struct futex_pi_state;
 1681#line 97
 1682struct futex_pi_state;
 1683#line 98
 1684struct robust_list_head;
 1685#line 98
 1686struct robust_list_head;
 1687#line 99
 1688struct bio_list;
 1689#line 99
 1690struct bio_list;
 1691#line 100
 1692struct fs_struct;
 1693#line 100
 1694struct fs_struct;
 1695#line 101
 1696struct perf_event_context;
 1697#line 101
 1698struct perf_event_context;
 1699#line 102
 1700struct blk_plug;
 1701#line 102
 1702struct blk_plug;
 1703#line 151
 1704struct cfs_rq;
 1705#line 151
 1706struct cfs_rq;
 1707#line 259
 1708struct task_struct;
 1709#line 366
 1710struct nsproxy;
 1711#line 367
 1712struct user_namespace;
 1713#line 31 "include/linux/uio.h"
 1714struct kvec {
 1715   void *iov_base ;
 1716   size_t iov_len ;
 1717};
 1718#line 214 "include/linux/aio.h"
 1719struct mm_struct;
 1720#line 443 "include/linux/sched.h"
 1721struct sighand_struct {
 1722   atomic_t count ;
 1723   struct k_sigaction action[64] ;
 1724   spinlock_t siglock ;
 1725   wait_queue_head_t signalfd_wqh ;
 1726};
 1727#line 450 "include/linux/sched.h"
 1728struct pacct_struct {
 1729   int ac_flag ;
 1730   long ac_exitcode ;
 1731   unsigned long ac_mem ;
 1732   cputime_t ac_utime ;
 1733   cputime_t ac_stime ;
 1734   unsigned long ac_minflt ;
 1735   unsigned long ac_majflt ;
 1736};
 1737#line 458 "include/linux/sched.h"
 1738struct cpu_itimer {
 1739   cputime_t expires ;
 1740   cputime_t incr ;
 1741   u32 error ;
 1742   u32 incr_error ;
 1743};
 1744#line 476 "include/linux/sched.h"
 1745struct task_cputime {
 1746   cputime_t utime ;
 1747   cputime_t stime ;
 1748   unsigned long long sum_exec_runtime ;
 1749};
 1750#line 512 "include/linux/sched.h"
 1751struct thread_group_cputimer {
 1752   struct task_cputime cputime ;
 1753   int running ;
 1754   raw_spinlock_t lock ;
 1755};
 1756#line 519
 1757struct autogroup;
 1758#line 519
 1759struct autogroup;
 1760#line 528
 1761struct tty_struct;
 1762#line 528
 1763struct taskstats;
 1764#line 528
 1765struct tty_audit_buf;
 1766#line 528 "include/linux/sched.h"
 1767struct signal_struct {
 1768   atomic_t sigcnt ;
 1769   atomic_t live ;
 1770   int nr_threads ;
 1771   wait_queue_head_t wait_chldexit ;
 1772   struct task_struct *curr_target ;
 1773   struct sigpending shared_pending ;
 1774   int group_exit_code ;
 1775   int notify_count ;
 1776   struct task_struct *group_exit_task ;
 1777   int group_stop_count ;
 1778   unsigned int flags ;
 1779   unsigned int is_child_subreaper : 1 ;
 1780   unsigned int has_child_subreaper : 1 ;
 1781   struct list_head posix_timers ;
 1782   struct hrtimer real_timer ;
 1783   struct pid *leader_pid ;
 1784   ktime_t it_real_incr ;
 1785   struct cpu_itimer it[2] ;
 1786   struct thread_group_cputimer cputimer ;
 1787   struct task_cputime cputime_expires ;
 1788   struct list_head cpu_timers[3] ;
 1789   struct pid *tty_old_pgrp ;
 1790   int leader ;
 1791   struct tty_struct *tty ;
 1792   struct autogroup *autogroup ;
 1793   cputime_t utime ;
 1794   cputime_t stime ;
 1795   cputime_t cutime ;
 1796   cputime_t cstime ;
 1797   cputime_t gtime ;
 1798   cputime_t cgtime ;
 1799   cputime_t prev_utime ;
 1800   cputime_t prev_stime ;
 1801   unsigned long nvcsw ;
 1802   unsigned long nivcsw ;
 1803   unsigned long cnvcsw ;
 1804   unsigned long cnivcsw ;
 1805   unsigned long min_flt ;
 1806   unsigned long maj_flt ;
 1807   unsigned long cmin_flt ;
 1808   unsigned long cmaj_flt ;
 1809   unsigned long inblock ;
 1810   unsigned long oublock ;
 1811   unsigned long cinblock ;
 1812   unsigned long coublock ;
 1813   unsigned long maxrss ;
 1814   unsigned long cmaxrss ;
 1815   struct task_io_accounting ioac ;
 1816   unsigned long long sum_sched_runtime ;
 1817   struct rlimit rlim[16] ;
 1818   struct pacct_struct pacct ;
 1819   struct taskstats *stats ;
 1820   unsigned int audit_tty ;
 1821   struct tty_audit_buf *tty_audit_buf ;
 1822   struct rw_semaphore group_rwsem ;
 1823   int oom_adj ;
 1824   int oom_score_adj ;
 1825   int oom_score_adj_min ;
 1826   struct mutex cred_guard_mutex ;
 1827};
 1828#line 703 "include/linux/sched.h"
 1829struct user_struct {
 1830   atomic_t __count ;
 1831   atomic_t processes ;
 1832   atomic_t files ;
 1833   atomic_t sigpending ;
 1834   atomic_t inotify_watches ;
 1835   atomic_t inotify_devs ;
 1836   atomic_t fanotify_listeners ;
 1837   atomic_long_t epoll_watches ;
 1838   unsigned long mq_bytes ;
 1839   unsigned long locked_shm ;
 1840   struct key *uid_keyring ;
 1841   struct key *session_keyring ;
 1842   struct hlist_node uidhash_node ;
 1843   uid_t uid ;
 1844   struct user_namespace *user_ns ;
 1845   atomic_long_t locked_vm ;
 1846};
 1847#line 747
 1848struct backing_dev_info;
 1849#line 747
 1850struct backing_dev_info;
 1851#line 748
 1852struct reclaim_state;
 1853#line 748
 1854struct reclaim_state;
 1855#line 751 "include/linux/sched.h"
 1856struct sched_info {
 1857   unsigned long pcount ;
 1858   unsigned long long run_delay ;
 1859   unsigned long long last_arrival ;
 1860   unsigned long long last_queued ;
 1861};
 1862#line 763 "include/linux/sched.h"
 1863struct task_delay_info {
 1864   spinlock_t lock ;
 1865   unsigned int flags ;
 1866   struct timespec blkio_start ;
 1867   struct timespec blkio_end ;
 1868   u64 blkio_delay ;
 1869   u64 swapin_delay ;
 1870   u32 blkio_count ;
 1871   u32 swapin_count ;
 1872   struct timespec freepages_start ;
 1873   struct timespec freepages_end ;
 1874   u64 freepages_delay ;
 1875   u32 freepages_count ;
 1876};
 1877#line 1088
 1878struct io_context;
 1879#line 1088
 1880struct io_context;
 1881#line 1097
 1882struct audit_context;
 1883#line 1098
 1884struct mempolicy;
 1885#line 1099
 1886struct pipe_inode_info;
 1887#line 1099
 1888struct pipe_inode_info;
 1889#line 1102
 1890struct rq;
 1891#line 1102
 1892struct rq;
 1893#line 1122 "include/linux/sched.h"
 1894struct sched_class {
 1895   struct sched_class    *next ;
 1896   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
 1897   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
 1898   void (*yield_task)(struct rq *rq ) ;
 1899   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
 1900   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
 1901   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
 1902   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
 1903   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
 1904   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
 1905   void (*post_schedule)(struct rq *this_rq ) ;
 1906   void (*task_waking)(struct task_struct *task ) ;
 1907   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
 1908   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask    *newmask ) ;
 1909   void (*rq_online)(struct rq *rq ) ;
 1910   void (*rq_offline)(struct rq *rq ) ;
 1911   void (*set_curr_task)(struct rq *rq ) ;
 1912   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
 1913   void (*task_fork)(struct task_struct *p ) ;
 1914   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
 1915   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
 1916   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
 1917   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
 1918   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
 1919};
 1920#line 1167 "include/linux/sched.h"
 1921struct load_weight {
 1922   unsigned long weight ;
 1923   unsigned long inv_weight ;
 1924};
 1925#line 1172 "include/linux/sched.h"
 1926struct sched_statistics {
 1927   u64 wait_start ;
 1928   u64 wait_max ;
 1929   u64 wait_count ;
 1930   u64 wait_sum ;
 1931   u64 iowait_count ;
 1932   u64 iowait_sum ;
 1933   u64 sleep_start ;
 1934   u64 sleep_max ;
 1935   s64 sum_sleep_runtime ;
 1936   u64 block_start ;
 1937   u64 block_max ;
 1938   u64 exec_max ;
 1939   u64 slice_max ;
 1940   u64 nr_migrations_cold ;
 1941   u64 nr_failed_migrations_affine ;
 1942   u64 nr_failed_migrations_running ;
 1943   u64 nr_failed_migrations_hot ;
 1944   u64 nr_forced_migrations ;
 1945   u64 nr_wakeups ;
 1946   u64 nr_wakeups_sync ;
 1947   u64 nr_wakeups_migrate ;
 1948   u64 nr_wakeups_local ;
 1949   u64 nr_wakeups_remote ;
 1950   u64 nr_wakeups_affine ;
 1951   u64 nr_wakeups_affine_attempts ;
 1952   u64 nr_wakeups_passive ;
 1953   u64 nr_wakeups_idle ;
 1954};
 1955#line 1207 "include/linux/sched.h"
 1956struct sched_entity {
 1957   struct load_weight load ;
 1958   struct rb_node run_node ;
 1959   struct list_head group_node ;
 1960   unsigned int on_rq ;
 1961   u64 exec_start ;
 1962   u64 sum_exec_runtime ;
 1963   u64 vruntime ;
 1964   u64 prev_sum_exec_runtime ;
 1965   u64 nr_migrations ;
 1966   struct sched_statistics statistics ;
 1967   struct sched_entity *parent ;
 1968   struct cfs_rq *cfs_rq ;
 1969   struct cfs_rq *my_q ;
 1970};
 1971#line 1233
 1972struct rt_rq;
 1973#line 1233 "include/linux/sched.h"
 1974struct sched_rt_entity {
 1975   struct list_head run_list ;
 1976   unsigned long timeout ;
 1977   unsigned int time_slice ;
 1978   int nr_cpus_allowed ;
 1979   struct sched_rt_entity *back ;
 1980   struct sched_rt_entity *parent ;
 1981   struct rt_rq *rt_rq ;
 1982   struct rt_rq *my_q ;
 1983};
 1984#line 1264
 1985struct files_struct;
 1986#line 1264
 1987struct css_set;
 1988#line 1264
 1989struct compat_robust_list_head;
 1990#line 1264
 1991struct mem_cgroup;
 1992#line 1264 "include/linux/sched.h"
 1993struct memcg_batch_info {
 1994   int do_batch ;
 1995   struct mem_cgroup *memcg ;
 1996   unsigned long nr_pages ;
 1997   unsigned long memsw_nr_pages ;
 1998};
 1999#line 1264 "include/linux/sched.h"
 2000struct task_struct {
 2001   long volatile   state ;
 2002   void *stack ;
 2003   atomic_t usage ;
 2004   unsigned int flags ;
 2005   unsigned int ptrace ;
 2006   struct llist_node wake_entry ;
 2007   int on_cpu ;
 2008   int on_rq ;
 2009   int prio ;
 2010   int static_prio ;
 2011   int normal_prio ;
 2012   unsigned int rt_priority ;
 2013   struct sched_class    *sched_class ;
 2014   struct sched_entity se ;
 2015   struct sched_rt_entity rt ;
 2016   struct hlist_head preempt_notifiers ;
 2017   unsigned char fpu_counter ;
 2018   unsigned int policy ;
 2019   cpumask_t cpus_allowed ;
 2020   struct sched_info sched_info ;
 2021   struct list_head tasks ;
 2022   struct plist_node pushable_tasks ;
 2023   struct mm_struct *mm ;
 2024   struct mm_struct *active_mm ;
 2025   unsigned int brk_randomized : 1 ;
 2026   int exit_state ;
 2027   int exit_code ;
 2028   int exit_signal ;
 2029   int pdeath_signal ;
 2030   unsigned int jobctl ;
 2031   unsigned int personality ;
 2032   unsigned int did_exec : 1 ;
 2033   unsigned int in_execve : 1 ;
 2034   unsigned int in_iowait : 1 ;
 2035   unsigned int sched_reset_on_fork : 1 ;
 2036   unsigned int sched_contributes_to_load : 1 ;
 2037   unsigned int irq_thread : 1 ;
 2038   pid_t pid ;
 2039   pid_t tgid ;
 2040   unsigned long stack_canary ;
 2041   struct task_struct *real_parent ;
 2042   struct task_struct *parent ;
 2043   struct list_head children ;
 2044   struct list_head sibling ;
 2045   struct task_struct *group_leader ;
 2046   struct list_head ptraced ;
 2047   struct list_head ptrace_entry ;
 2048   struct pid_link pids[3] ;
 2049   struct list_head thread_group ;
 2050   struct completion *vfork_done ;
 2051   int *set_child_tid ;
 2052   int *clear_child_tid ;
 2053   cputime_t utime ;
 2054   cputime_t stime ;
 2055   cputime_t utimescaled ;
 2056   cputime_t stimescaled ;
 2057   cputime_t gtime ;
 2058   cputime_t prev_utime ;
 2059   cputime_t prev_stime ;
 2060   unsigned long nvcsw ;
 2061   unsigned long nivcsw ;
 2062   struct timespec start_time ;
 2063   struct timespec real_start_time ;
 2064   unsigned long min_flt ;
 2065   unsigned long maj_flt ;
 2066   struct task_cputime cputime_expires ;
 2067   struct list_head cpu_timers[3] ;
 2068   struct cred    *real_cred ;
 2069   struct cred    *cred ;
 2070   struct cred *replacement_session_keyring ;
 2071   char comm[16] ;
 2072   int link_count ;
 2073   int total_link_count ;
 2074   struct sysv_sem sysvsem ;
 2075   unsigned long last_switch_count ;
 2076   struct thread_struct thread ;
 2077   struct fs_struct *fs ;
 2078   struct files_struct *files ;
 2079   struct nsproxy *nsproxy ;
 2080   struct signal_struct *signal ;
 2081   struct sighand_struct *sighand ;
 2082   sigset_t blocked ;
 2083   sigset_t real_blocked ;
 2084   sigset_t saved_sigmask ;
 2085   struct sigpending pending ;
 2086   unsigned long sas_ss_sp ;
 2087   size_t sas_ss_size ;
 2088   int (*notifier)(void *priv ) ;
 2089   void *notifier_data ;
 2090   sigset_t *notifier_mask ;
 2091   struct audit_context *audit_context ;
 2092   uid_t loginuid ;
 2093   unsigned int sessionid ;
 2094   seccomp_t seccomp ;
 2095   u32 parent_exec_id ;
 2096   u32 self_exec_id ;
 2097   spinlock_t alloc_lock ;
 2098   raw_spinlock_t pi_lock ;
 2099   struct plist_head pi_waiters ;
 2100   struct rt_mutex_waiter *pi_blocked_on ;
 2101   struct mutex_waiter *blocked_on ;
 2102   unsigned int irq_events ;
 2103   unsigned long hardirq_enable_ip ;
 2104   unsigned long hardirq_disable_ip ;
 2105   unsigned int hardirq_enable_event ;
 2106   unsigned int hardirq_disable_event ;
 2107   int hardirqs_enabled ;
 2108   int hardirq_context ;
 2109   unsigned long softirq_disable_ip ;
 2110   unsigned long softirq_enable_ip ;
 2111   unsigned int softirq_disable_event ;
 2112   unsigned int softirq_enable_event ;
 2113   int softirqs_enabled ;
 2114   int softirq_context ;
 2115   void *journal_info ;
 2116   struct bio_list *bio_list ;
 2117   struct blk_plug *plug ;
 2118   struct reclaim_state *reclaim_state ;
 2119   struct backing_dev_info *backing_dev_info ;
 2120   struct io_context *io_context ;
 2121   unsigned long ptrace_message ;
 2122   siginfo_t *last_siginfo ;
 2123   struct task_io_accounting ioac ;
 2124   u64 acct_rss_mem1 ;
 2125   u64 acct_vm_mem1 ;
 2126   cputime_t acct_timexpd ;
 2127   nodemask_t mems_allowed ;
 2128   seqcount_t mems_allowed_seq ;
 2129   int cpuset_mem_spread_rotor ;
 2130   int cpuset_slab_spread_rotor ;
 2131   struct css_set *cgroups ;
 2132   struct list_head cg_list ;
 2133   struct robust_list_head *robust_list ;
 2134   struct compat_robust_list_head *compat_robust_list ;
 2135   struct list_head pi_state_list ;
 2136   struct futex_pi_state *pi_state_cache ;
 2137   struct perf_event_context *perf_event_ctxp[2] ;
 2138   struct mutex perf_event_mutex ;
 2139   struct list_head perf_event_list ;
 2140   struct mempolicy *mempolicy ;
 2141   short il_next ;
 2142   short pref_node_fork ;
 2143   struct rcu_head rcu ;
 2144   struct pipe_inode_info *splice_pipe ;
 2145   struct task_delay_info *delays ;
 2146   int make_it_fail ;
 2147   int nr_dirtied ;
 2148   int nr_dirtied_pause ;
 2149   unsigned long dirty_paused_when ;
 2150   int latency_record_count ;
 2151   struct latency_record latency_record[32] ;
 2152   unsigned long timer_slack_ns ;
 2153   unsigned long default_timer_slack_ns ;
 2154   struct list_head *scm_work_list ;
 2155   unsigned long trace ;
 2156   unsigned long trace_recursion ;
 2157   struct memcg_batch_info memcg_batch ;
 2158   atomic_t ptrace_bp_refcnt ;
 2159};
 2160#line 1681
 2161struct pid_namespace;
 2162#line 46 "include/linux/slub_def.h"
 2163struct kmem_cache_cpu {
 2164   void **freelist ;
 2165   unsigned long tid ;
 2166   struct page *page ;
 2167   struct page *partial ;
 2168   int node ;
 2169   unsigned int stat[26] ;
 2170};
 2171#line 57 "include/linux/slub_def.h"
 2172struct kmem_cache_node {
 2173   spinlock_t list_lock ;
 2174   unsigned long nr_partial ;
 2175   struct list_head partial ;
 2176   atomic_long_t nr_slabs ;
 2177   atomic_long_t total_objects ;
 2178   struct list_head full ;
 2179};
 2180#line 73 "include/linux/slub_def.h"
 2181struct kmem_cache_order_objects {
 2182   unsigned long x ;
 2183};
 2184#line 80 "include/linux/slub_def.h"
 2185struct kmem_cache {
 2186   struct kmem_cache_cpu *cpu_slab ;
 2187   unsigned long flags ;
 2188   unsigned long min_partial ;
 2189   int size ;
 2190   int objsize ;
 2191   int offset ;
 2192   int cpu_partial ;
 2193   struct kmem_cache_order_objects oo ;
 2194   struct kmem_cache_order_objects max ;
 2195   struct kmem_cache_order_objects min ;
 2196   gfp_t allocflags ;
 2197   int refcount ;
 2198   void (*ctor)(void * ) ;
 2199   int inuse ;
 2200   int align ;
 2201   int reserved ;
 2202   char    *name ;
 2203   struct list_head list ;
 2204   struct kobject kobj ;
 2205   int remote_node_defrag_ratio ;
 2206   struct kmem_cache_node *node[1 << 10] ;
 2207};
 2208#line 32 "include/linux/irq.h"
 2209struct module;
 2210#line 14 "include/linux/irqdesc.h"
 2211struct module;
 2212#line 17 "include/linux/profile.h"
 2213struct pt_regs;
 2214#line 18
 2215struct notifier_block;
 2216#line 65
 2217struct task_struct;
 2218#line 66
 2219struct mm_struct;
 2220#line 88
 2221struct pt_regs;
 2222#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
 2223struct exception_table_entry {
 2224   unsigned long insn ;
 2225   unsigned long fixup ;
 2226};
 2227#line 132 "include/linux/hardirq.h"
 2228struct task_struct;
 2229#line 187 "include/linux/interrupt.h"
 2230struct device;
 2231#line 60 "include/linux/reboot.h"
 2232struct pt_regs;
 2233#line 186 "include/linux/mtd/map.h"
 2234union __anonunion_map_word_239 {
 2235   unsigned long x[4] ;
 2236};
 2237#line 186 "include/linux/mtd/map.h"
 2238typedef union __anonunion_map_word_239 map_word;
 2239#line 208
 2240struct mtd_chip_driver;
 2241#line 208 "include/linux/mtd/map.h"
 2242struct map_info {
 2243   char    *name ;
 2244   unsigned long size ;
 2245   resource_size_t phys ;
 2246   void *virt ;
 2247   void *cached ;
 2248   int swap ;
 2249   int bankwidth ;
 2250   map_word (*read)(struct map_info * , unsigned long  ) ;
 2251   void (*copy_from)(struct map_info * , void * , unsigned long  , ssize_t  ) ;
 2252   void (*write)(struct map_info * , map_word     , unsigned long  ) ;
 2253   void (*copy_to)(struct map_info * , unsigned long  , void    * , ssize_t  ) ;
 2254   void (*inval_cache)(struct map_info * , unsigned long  , ssize_t  ) ;
 2255   void (*set_vpp)(struct map_info * , int  ) ;
 2256   unsigned long pfow_base ;
 2257   unsigned long map_priv_1 ;
 2258   unsigned long map_priv_2 ;
 2259   void *fldrv_priv ;
 2260   struct mtd_chip_driver *fldrv ;
 2261};
 2262#line 252
 2263struct mtd_info;
 2264#line 252 "include/linux/mtd/map.h"
 2265struct mtd_chip_driver {
 2266   struct mtd_info *(*probe)(struct map_info *map ) ;
 2267   void (*destroy)(struct mtd_info * ) ;
 2268   struct module *module ;
 2269   char *name ;
 2270   struct list_head list ;
 2271};
 2272#line 19 "include/linux/klist.h"
 2273struct klist_node;
 2274#line 19
 2275struct klist_node;
 2276#line 39 "include/linux/klist.h"
 2277struct klist_node {
 2278   void *n_klist ;
 2279   struct list_head n_node ;
 2280   struct kref n_ref ;
 2281};
 2282#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 2283struct dma_map_ops;
 2284#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 2285struct dev_archdata {
 2286   void *acpi_handle ;
 2287   struct dma_map_ops *dma_ops ;
 2288   void *iommu ;
 2289};
 2290#line 28 "include/linux/device.h"
 2291struct device;
 2292#line 29
 2293struct device_private;
 2294#line 29
 2295struct device_private;
 2296#line 30
 2297struct device_driver;
 2298#line 30
 2299struct device_driver;
 2300#line 31
 2301struct driver_private;
 2302#line 31
 2303struct driver_private;
 2304#line 32
 2305struct module;
 2306#line 33
 2307struct class;
 2308#line 33
 2309struct class;
 2310#line 34
 2311struct subsys_private;
 2312#line 34
 2313struct subsys_private;
 2314#line 35
 2315struct bus_type;
 2316#line 35
 2317struct bus_type;
 2318#line 36
 2319struct device_node;
 2320#line 36
 2321struct device_node;
 2322#line 37
 2323struct iommu_ops;
 2324#line 37
 2325struct iommu_ops;
 2326#line 39 "include/linux/device.h"
 2327struct bus_attribute {
 2328   struct attribute attr ;
 2329   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
 2330   ssize_t (*store)(struct bus_type *bus , char    *buf , size_t count ) ;
 2331};
 2332#line 89
 2333struct device_attribute;
 2334#line 89
 2335struct driver_attribute;
 2336#line 89 "include/linux/device.h"
 2337struct bus_type {
 2338   char    *name ;
 2339   char    *dev_name ;
 2340   struct device *dev_root ;
 2341   struct bus_attribute *bus_attrs ;
 2342   struct device_attribute *dev_attrs ;
 2343   struct driver_attribute *drv_attrs ;
 2344   int (*match)(struct device *dev , struct device_driver *drv ) ;
 2345   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 2346   int (*probe)(struct device *dev ) ;
 2347   int (*remove)(struct device *dev ) ;
 2348   void (*shutdown)(struct device *dev ) ;
 2349   int (*suspend)(struct device *dev , pm_message_t state ) ;
 2350   int (*resume)(struct device *dev ) ;
 2351   struct dev_pm_ops    *pm ;
 2352   struct iommu_ops *iommu_ops ;
 2353   struct subsys_private *p ;
 2354};
 2355#line 127
 2356struct device_type;
 2357#line 159
 2358struct notifier_block;
 2359#line 214
 2360struct of_device_id;
 2361#line 214 "include/linux/device.h"
 2362struct device_driver {
 2363   char    *name ;
 2364   struct bus_type *bus ;
 2365   struct module *owner ;
 2366   char    *mod_name ;
 2367   bool suppress_bind_attrs ;
 2368   struct of_device_id    *of_match_table ;
 2369   int (*probe)(struct device *dev ) ;
 2370   int (*remove)(struct device *dev ) ;
 2371   void (*shutdown)(struct device *dev ) ;
 2372   int (*suspend)(struct device *dev , pm_message_t state ) ;
 2373   int (*resume)(struct device *dev ) ;
 2374   struct attribute_group    **groups ;
 2375   struct dev_pm_ops    *pm ;
 2376   struct driver_private *p ;
 2377};
 2378#line 249 "include/linux/device.h"
 2379struct driver_attribute {
 2380   struct attribute attr ;
 2381   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
 2382   ssize_t (*store)(struct device_driver *driver , char    *buf , size_t count ) ;
 2383};
 2384#line 330
 2385struct class_attribute;
 2386#line 330 "include/linux/device.h"
 2387struct class {
 2388   char    *name ;
 2389   struct module *owner ;
 2390   struct class_attribute *class_attrs ;
 2391   struct device_attribute *dev_attrs ;
 2392   struct bin_attribute *dev_bin_attrs ;
 2393   struct kobject *dev_kobj ;
 2394   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 2395   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 2396   void (*class_release)(struct class *class ) ;
 2397   void (*dev_release)(struct device *dev ) ;
 2398   int (*suspend)(struct device *dev , pm_message_t state ) ;
 2399   int (*resume)(struct device *dev ) ;
 2400   struct kobj_ns_type_operations    *ns_type ;
 2401   void    *(*namespace)(struct device *dev ) ;
 2402   struct dev_pm_ops    *pm ;
 2403   struct subsys_private *p ;
 2404};
 2405#line 397 "include/linux/device.h"
 2406struct class_attribute {
 2407   struct attribute attr ;
 2408   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
 2409   ssize_t (*store)(struct class *class , struct class_attribute *attr , char    *buf ,
 2410                    size_t count ) ;
 2411   void    *(*namespace)(struct class *class , struct class_attribute    *attr ) ;
 2412};
 2413#line 465 "include/linux/device.h"
 2414struct device_type {
 2415   char    *name ;
 2416   struct attribute_group    **groups ;
 2417   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
 2418   char *(*devnode)(struct device *dev , umode_t *mode ) ;
 2419   void (*release)(struct device *dev ) ;
 2420   struct dev_pm_ops    *pm ;
 2421};
 2422#line 476 "include/linux/device.h"
 2423struct device_attribute {
 2424   struct attribute attr ;
 2425   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
 2426   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char    *buf ,
 2427                    size_t count ) ;
 2428};
 2429#line 559 "include/linux/device.h"
 2430struct device_dma_parameters {
 2431   unsigned int max_segment_size ;
 2432   unsigned long segment_boundary_mask ;
 2433};
 2434#line 627
 2435struct dma_coherent_mem;
 2436#line 627 "include/linux/device.h"
 2437struct device {
 2438   struct device *parent ;
 2439   struct device_private *p ;
 2440   struct kobject kobj ;
 2441   char    *init_name ;
 2442   struct device_type    *type ;
 2443   struct mutex mutex ;
 2444   struct bus_type *bus ;
 2445   struct device_driver *driver ;
 2446   void *platform_data ;
 2447   struct dev_pm_info power ;
 2448   struct dev_pm_domain *pm_domain ;
 2449   int numa_node ;
 2450   u64 *dma_mask ;
 2451   u64 coherent_dma_mask ;
 2452   struct device_dma_parameters *dma_parms ;
 2453   struct list_head dma_pools ;
 2454   struct dma_coherent_mem *dma_mem ;
 2455   struct dev_archdata archdata ;
 2456   struct device_node *of_node ;
 2457   dev_t devt ;
 2458   u32 id ;
 2459   spinlock_t devres_lock ;
 2460   struct list_head devres_head ;
 2461   struct klist_node knode_class ;
 2462   struct class *class ;
 2463   struct attribute_group    **groups ;
 2464   void (*release)(struct device *dev ) ;
 2465};
 2466#line 43 "include/linux/pm_wakeup.h"
 2467struct wakeup_source {
 2468   char    *name ;
 2469   struct list_head entry ;
 2470   spinlock_t lock ;
 2471   struct timer_list timer ;
 2472   unsigned long timer_expires ;
 2473   ktime_t total_time ;
 2474   ktime_t max_time ;
 2475   ktime_t last_time ;
 2476   unsigned long event_count ;
 2477   unsigned long active_count ;
 2478   unsigned long relax_count ;
 2479   unsigned long hit_count ;
 2480   unsigned int active : 1 ;
 2481};
 2482#line 143 "include/mtd/mtd-abi.h"
 2483struct otp_info {
 2484   __u32 start ;
 2485   __u32 length ;
 2486   __u32 locked ;
 2487};
 2488#line 217 "include/mtd/mtd-abi.h"
 2489struct nand_oobfree {
 2490   __u32 offset ;
 2491   __u32 length ;
 2492};
 2493#line 247 "include/mtd/mtd-abi.h"
 2494struct mtd_ecc_stats {
 2495   __u32 corrected ;
 2496   __u32 failed ;
 2497   __u32 badblocks ;
 2498   __u32 bbtblocks ;
 2499};
 2500#line 48 "include/linux/mtd/mtd.h"
 2501struct erase_info {
 2502   struct mtd_info *mtd ;
 2503   uint64_t addr ;
 2504   uint64_t len ;
 2505   uint64_t fail_addr ;
 2506   u_long time ;
 2507   u_long retries ;
 2508   unsigned int dev ;
 2509   unsigned int cell ;
 2510   void (*callback)(struct erase_info *self ) ;
 2511   u_long priv ;
 2512   u_char state ;
 2513   struct erase_info *next ;
 2514};
 2515#line 63 "include/linux/mtd/mtd.h"
 2516struct mtd_erase_region_info {
 2517   uint64_t offset ;
 2518   uint32_t erasesize ;
 2519   uint32_t numblocks ;
 2520   unsigned long *lockmap ;
 2521};
 2522#line 89 "include/linux/mtd/mtd.h"
 2523struct mtd_oob_ops {
 2524   unsigned int mode ;
 2525   size_t len ;
 2526   size_t retlen ;
 2527   size_t ooblen ;
 2528   size_t oobretlen ;
 2529   uint32_t ooboffs ;
 2530   uint8_t *datbuf ;
 2531   uint8_t *oobbuf ;
 2532};
 2533#line 108 "include/linux/mtd/mtd.h"
 2534struct nand_ecclayout {
 2535   __u32 eccbytes ;
 2536   __u32 eccpos[448] ;
 2537   __u32 oobavail ;
 2538   struct nand_oobfree oobfree[32] ;
 2539};
 2540#line 115
 2541struct module;
 2542#line 117 "include/linux/mtd/mtd.h"
 2543struct mtd_info {
 2544   u_char type ;
 2545   uint32_t flags ;
 2546   uint64_t size ;
 2547   uint32_t erasesize ;
 2548   uint32_t writesize ;
 2549   uint32_t writebufsize ;
 2550   uint32_t oobsize ;
 2551   uint32_t oobavail ;
 2552   unsigned int erasesize_shift ;
 2553   unsigned int writesize_shift ;
 2554   unsigned int erasesize_mask ;
 2555   unsigned int writesize_mask ;
 2556   char    *name ;
 2557   int index ;
 2558   struct nand_ecclayout *ecclayout ;
 2559   unsigned int ecc_strength ;
 2560   int numeraseregions ;
 2561   struct mtd_erase_region_info *eraseregions ;
 2562   int (*_erase)(struct mtd_info *mtd , struct erase_info *instr ) ;
 2563   int (*_point)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 2564                 void **virt , resource_size_t *phys ) ;
 2565   int (*_unpoint)(struct mtd_info *mtd , loff_t from , size_t len ) ;
 2566   unsigned long (*_get_unmapped_area)(struct mtd_info *mtd , unsigned long len ,
 2567                                       unsigned long offset , unsigned long flags ) ;
 2568   int (*_read)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 2569                u_char *buf ) ;
 2570   int (*_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
 2571                 u_char    *buf ) ;
 2572   int (*_panic_write)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
 2573                       u_char    *buf ) ;
 2574   int (*_read_oob)(struct mtd_info *mtd , loff_t from , struct mtd_oob_ops *ops ) ;
 2575   int (*_write_oob)(struct mtd_info *mtd , loff_t to , struct mtd_oob_ops *ops ) ;
 2576   int (*_get_fact_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
 2577   int (*_read_fact_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 2578                              u_char *buf ) ;
 2579   int (*_get_user_prot_info)(struct mtd_info *mtd , struct otp_info *buf , size_t len ) ;
 2580   int (*_read_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 2581                              u_char *buf ) ;
 2582   int (*_write_user_prot_reg)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen ,
 2583                               u_char *buf ) ;
 2584   int (*_lock_user_prot_reg)(struct mtd_info *mtd , loff_t from , size_t len ) ;
 2585   int (*_writev)(struct mtd_info *mtd , struct kvec    *vecs , unsigned long count ,
 2586                  loff_t to , size_t *retlen ) ;
 2587   void (*_sync)(struct mtd_info *mtd ) ;
 2588   int (*_lock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
 2589   int (*_unlock)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
 2590   int (*_is_locked)(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
 2591   int (*_block_isbad)(struct mtd_info *mtd , loff_t ofs ) ;
 2592   int (*_block_markbad)(struct mtd_info *mtd , loff_t ofs ) ;
 2593   int (*_suspend)(struct mtd_info *mtd ) ;
 2594   void (*_resume)(struct mtd_info *mtd ) ;
 2595   int (*_get_device)(struct mtd_info *mtd ) ;
 2596   void (*_put_device)(struct mtd_info *mtd ) ;
 2597   struct backing_dev_info *backing_dev_info ;
 2598   struct notifier_block reboot_notifier ;
 2599   struct mtd_ecc_stats ecc_stats ;
 2600   int subpage_sft ;
 2601   void *priv ;
 2602   struct module *owner ;
 2603   struct device dev ;
 2604   int usecount ;
 2605};
 2606#line 31 "include/linux/mtd/flashchip.h"
 2607enum __anonenum_flstate_t_241 {
 2608    FL_READY = 0,
 2609    FL_STATUS = 1,
 2610    FL_CFI_QUERY = 2,
 2611    FL_JEDEC_QUERY = 3,
 2612    FL_ERASING = 4,
 2613    FL_ERASE_SUSPENDING = 5,
 2614    FL_ERASE_SUSPENDED = 6,
 2615    FL_WRITING = 7,
 2616    FL_WRITING_TO_BUFFER = 8,
 2617    FL_OTP_WRITE = 9,
 2618    FL_WRITE_SUSPENDING = 10,
 2619    FL_WRITE_SUSPENDED = 11,
 2620    FL_PM_SUSPENDED = 12,
 2621    FL_SYNCING = 13,
 2622    FL_UNLOADING = 14,
 2623    FL_LOCKING = 15,
 2624    FL_UNLOCKING = 16,
 2625    FL_POINT = 17,
 2626    FL_XIP_WHILE_ERASING = 18,
 2627    FL_XIP_WHILE_WRITING = 19,
 2628    FL_SHUTDOWN = 20,
 2629    FL_READING = 21,
 2630    FL_CACHEDPRG = 22,
 2631    FL_RESETING = 23,
 2632    FL_OTPING = 24,
 2633    FL_PREPARING_ERASE = 25,
 2634    FL_VERIFYING_ERASE = 26,
 2635    FL_UNKNOWN = 27
 2636} ;
 2637#line 31 "include/linux/mtd/flashchip.h"
 2638typedef enum __anonenum_flstate_t_241 flstate_t;
 2639#line 71 "include/linux/mtd/flashchip.h"
 2640struct flchip {
 2641   unsigned long start ;
 2642   int ref_point_counter ;
 2643   flstate_t state ;
 2644   flstate_t oldstate ;
 2645   unsigned int write_suspended : 1 ;
 2646   unsigned int erase_suspended : 1 ;
 2647   unsigned long in_progress_block_addr ;
 2648   struct mutex mutex ;
 2649   wait_queue_head_t wq ;
 2650   int word_write_time ;
 2651   int buffer_write_time ;
 2652   int erase_time ;
 2653   int word_write_time_max ;
 2654   int buffer_write_time_max ;
 2655   int erase_time_max ;
 2656   void *priv ;
 2657};
 2658#line 105 "include/linux/mtd/flashchip.h"
 2659struct flchip_shared {
 2660   struct mutex lock ;
 2661   struct flchip *writing ;
 2662   struct flchip *erasing ;
 2663};
 2664#line 133 "include/linux/mtd/cfi.h"
 2665struct cfi_ident {
 2666   uint8_t qry[3] ;
 2667   uint16_t P_ID ;
 2668   uint16_t P_ADR ;
 2669   uint16_t A_ID ;
 2670   uint16_t A_ADR ;
 2671   uint8_t VccMin ;
 2672   uint8_t VccMax ;
 2673   uint8_t VppMin ;
 2674   uint8_t VppMax ;
 2675   uint8_t WordWriteTimeoutTyp ;
 2676   uint8_t BufWriteTimeoutTyp ;
 2677   uint8_t BlockEraseTimeoutTyp ;
 2678   uint8_t ChipEraseTimeoutTyp ;
 2679   uint8_t WordWriteTimeoutMax ;
 2680   uint8_t BufWriteTimeoutMax ;
 2681   uint8_t BlockEraseTimeoutMax ;
 2682   uint8_t ChipEraseTimeoutMax ;
 2683   uint8_t DevSize ;
 2684   uint16_t InterfaceDesc ;
 2685   uint16_t MaxBufWriteSize ;
 2686   uint8_t NumEraseRegions ;
 2687   uint32_t EraseRegionInfo[0] ;
 2688} __attribute__((__packed__)) ;
 2689#line 160 "include/linux/mtd/cfi.h"
 2690struct cfi_extquery {
 2691   uint8_t pri[3] ;
 2692   uint8_t MajorVersion ;
 2693   uint8_t MinorVersion ;
 2694} __attribute__((__packed__)) ;
 2695#line 168 "include/linux/mtd/cfi.h"
 2696struct cfi_pri_intelext {
 2697   uint8_t pri[3] ;
 2698   uint8_t MajorVersion ;
 2699   uint8_t MinorVersion ;
 2700   uint32_t FeatureSupport ;
 2701   uint8_t SuspendCmdSupport ;
 2702   uint16_t BlkStatusRegMask ;
 2703   uint8_t VccOptimal ;
 2704   uint8_t VppOptimal ;
 2705   uint8_t NumProtectionFields ;
 2706   uint16_t ProtRegAddr ;
 2707   uint8_t FactProtRegSize ;
 2708   uint8_t UserProtRegSize ;
 2709   uint8_t extra[0] ;
 2710} __attribute__((__packed__)) ;
 2711#line 185 "include/linux/mtd/cfi.h"
 2712struct cfi_intelext_otpinfo {
 2713   uint32_t ProtRegAddr ;
 2714   uint16_t FactGroups ;
 2715   uint8_t FactProtRegSize ;
 2716   uint16_t UserGroups ;
 2717   uint8_t UserProtRegSize ;
 2718} __attribute__((__packed__)) ;
 2719#line 193 "include/linux/mtd/cfi.h"
 2720struct cfi_intelext_blockinfo {
 2721   uint16_t NumIdentBlocks ;
 2722   uint16_t BlockSize ;
 2723   uint16_t MinBlockEraseCycles ;
 2724   uint8_t BitsPerCell ;
 2725   uint8_t BlockCap ;
 2726} __attribute__((__packed__)) ;
 2727#line 201 "include/linux/mtd/cfi.h"
 2728struct cfi_intelext_regioninfo {
 2729   uint16_t NumIdentPartitions ;
 2730   uint8_t NumOpAllowed ;
 2731   uint8_t NumOpAllowedSimProgMode ;
 2732   uint8_t NumOpAllowedSimEraMode ;
 2733   uint8_t NumBlockTypes ;
 2734   struct cfi_intelext_blockinfo BlockTypes[1] ;
 2735} __attribute__((__packed__)) ;
 2736#line 210 "include/linux/mtd/cfi.h"
 2737struct cfi_intelext_programming_regioninfo {
 2738   uint8_t ProgRegShift ;
 2739   uint8_t Reserved1 ;
 2740   uint8_t ControlValid ;
 2741   uint8_t Reserved2 ;
 2742   uint8_t ControlInvalid ;
 2743   uint8_t Reserved3 ;
 2744} __attribute__((__packed__)) ;
 2745#line 240 "include/linux/mtd/cfi.h"
 2746struct cfi_pri_atmel {
 2747   uint8_t pri[3] ;
 2748   uint8_t MajorVersion ;
 2749   uint8_t MinorVersion ;
 2750   uint8_t Features ;
 2751   uint8_t BottomBoot ;
 2752   uint8_t BurstMode ;
 2753   uint8_t PageMode ;
 2754} __attribute__((__packed__)) ;
 2755#line 280 "include/linux/mtd/cfi.h"
 2756struct cfi_private {
 2757   uint16_t cmdset ;
 2758   void *cmdset_priv ;
 2759   int interleave ;
 2760   int device_type ;
 2761   int cfi_mode ;
 2762   int addr_unlock1 ;
 2763   int addr_unlock2 ;
 2764   struct mtd_info *(*cmdset_setup)(struct map_info * ) ;
 2765   struct cfi_ident *cfiq ;
 2766   int mfr ;
 2767   int id ;
 2768   int numchips ;
 2769   map_word sector_erase_cmd ;
 2770   unsigned long chipshift ;
 2771   char    *im_name ;
 2772   struct flchip chips[0] ;
 2773};
 2774#line 528 "include/linux/mtd/cfi.h"
 2775struct cfi_fixup {
 2776   uint16_t mfr ;
 2777   uint16_t id ;
 2778   void (*fixup)(struct mtd_info *mtd ) ;
 2779};
 2780#line 5 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 2781enum fwh_lock_state {
 2782    FWH_UNLOCKED = 0,
 2783    FWH_DENY_WRITE = 1,
 2784    FWH_IMMUTABLE = 2,
 2785    FWH_DENY_READ = 4
 2786} ;
 2787#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 2788struct fwh_xxlock_thunk {
 2789   enum fwh_lock_state val ;
 2790   flstate_t state ;
 2791};
 2792#line 1 "<compiler builtins>"
 2793
 2794#line 1
 2795long __builtin_expect(long val , long res ) ;
 2796#line 59 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
 2797__inline static void ( __attribute__((__always_inline__)) set_bit)(unsigned int nr ,
 2798                                                                   unsigned long volatile   *addr )  __attribute__((__no_instrument_function__)) ;
 2799#line 59 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
 2800__inline static void ( __attribute__((__always_inline__)) set_bit)(unsigned int nr ,
 2801                                                                   unsigned long volatile   *addr ) 
 2802{ long volatile   *__cil_tmp3 ;
 2803
 2804  {
 2805#line 68
 2806  __cil_tmp3 = (long volatile   *)addr;
 2807#line 68
 2808  __asm__  volatile   (".section .smp_locks,\"a\"\n"
 2809                       ".balign 4\n"
 2810                       ".long 671f - .\n"
 2811                       ".previous\n"
 2812                       "671:"
 2813                       "\n\tlock; "
 2814                       "bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
 2815#line 71
 2816  return;
 2817}
 2818}
 2819#line 97
 2820__inline static void ( __attribute__((__always_inline__)) clear_bit)(int nr , unsigned long volatile   *addr )  __attribute__((__no_instrument_function__)) ;
 2821#line 97 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
 2822__inline static void ( __attribute__((__always_inline__)) clear_bit)(int nr , unsigned long volatile   *addr ) 
 2823{ long volatile   *__cil_tmp3 ;
 2824
 2825  {
 2826#line 105
 2827  __cil_tmp3 = (long volatile   *)addr;
 2828#line 105
 2829  __asm__  volatile   (".section .smp_locks,\"a\"\n"
 2830                       ".balign 4\n"
 2831                       ".long 671f - .\n"
 2832                       ".previous\n"
 2833                       "671:"
 2834                       "\n\tlock; "
 2835                       "btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
 2836#line 109
 2837  return;
 2838}
 2839}
 2840#line 347
 2841__inline static unsigned long __ffs(unsigned long word )  __attribute__((__no_instrument_function__)) ;
 2842#line 347 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
 2843__inline static unsigned long __ffs(unsigned long word ) 
 2844{ 
 2845
 2846  {
 2847#line 349
 2848  __asm__  ("bsf %1,%0": "=r" (word): "rm" (word));
 2849#line 352
 2850  return (word);
 2851}
 2852}
 2853#line 22 "include/asm-generic/bitops/find.h"
 2854extern unsigned long find_next_zero_bit(unsigned long    *addr , unsigned long size ,
 2855                                        unsigned long offset ) ;
 2856#line 45
 2857extern unsigned long find_first_zero_bit(unsigned long    *addr , unsigned long size ) ;
 2858#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
 2859__inline static __u32 __arch_swab32(__u32 val )  __attribute__((__no_instrument_function__)) ;
 2860
 2861#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/swab.h"
 2862__inline static __u32 __arch_swab32(__u32 val ) 
 2863{ 
 2864
 2865  {
 2866#line 21
 2867  __asm__  ("bswapl %0": "=r" (val): "0" (val));
 2868#line 25
 2869  return (val);
 2870}
 2871}
 2872#line 46 "include/linux/swab.h"
 2873__inline static __u16 __fswab16(__u16 val )  __attribute__((__no_instrument_function__)) ;
 2874
 2875#line 46 "include/linux/swab.h"
 2876__inline static __u16 __fswab16(__u16 val ) 
 2877{ int __cil_tmp2 ;
 2878  int __cil_tmp3 ;
 2879  int __cil_tmp4 ;
 2880  int __cil_tmp5 ;
 2881  int __cil_tmp6 ;
 2882  int __cil_tmp7 ;
 2883  int __cil_tmp8 ;
 2884
 2885  {
 2886  {
 2887#line 51
 2888  __cil_tmp2 = (int )val;
 2889#line 51
 2890  __cil_tmp3 = __cil_tmp2 & 65280;
 2891#line 51
 2892  __cil_tmp4 = __cil_tmp3 >> 8;
 2893#line 51
 2894  __cil_tmp5 = (int )val;
 2895#line 51
 2896  __cil_tmp6 = __cil_tmp5 & 255;
 2897#line 51
 2898  __cil_tmp7 = __cil_tmp6 << 8;
 2899#line 51
 2900  __cil_tmp8 = __cil_tmp7 | __cil_tmp4;
 2901#line 51
 2902  return ((__u16 )__cil_tmp8);
 2903  }
 2904}
 2905}
 2906#line 55
 2907__inline static __u32 __fswab32(__u32 val )  __attribute__((__no_instrument_function__)) ;
 2908
 2909#line 55 "include/linux/swab.h"
 2910__inline static __u32 __fswab32(__u32 val ) 
 2911{ __u32 tmp ;
 2912
 2913  {
 2914  {
 2915#line 58
 2916  tmp = __arch_swab32(val);
 2917  }
 2918#line 58
 2919  return (tmp);
 2920}
 2921}
 2922#line 47 "include/linux/byteorder/little_endian.h"
 2923__inline static __u64 __le64_to_cpup(__le64    *p )  __attribute__((__no_instrument_function__)) ;
 2924#line 47 "include/linux/byteorder/little_endian.h"
 2925__inline static __u64 __le64_to_cpup(__le64    *p ) 
 2926{ __le64    __cil_tmp2 ;
 2927
 2928  {
 2929  {
 2930#line 49
 2931  __cil_tmp2 = *p;
 2932#line 49
 2933  return ((__u64 )__cil_tmp2);
 2934  }
 2935}
 2936}
 2937#line 55
 2938__inline static __u32 __le32_to_cpup(__le32    *p )  __attribute__((__no_instrument_function__)) ;
 2939#line 55 "include/linux/byteorder/little_endian.h"
 2940__inline static __u32 __le32_to_cpup(__le32    *p ) 
 2941{ __le32    __cil_tmp2 ;
 2942
 2943  {
 2944  {
 2945#line 57
 2946  __cil_tmp2 = *p;
 2947#line 57
 2948  return ((__u32 )__cil_tmp2);
 2949  }
 2950}
 2951}
 2952#line 63
 2953__inline static __u16 __le16_to_cpup(__le16    *p )  __attribute__((__no_instrument_function__)) ;
 2954#line 63 "include/linux/byteorder/little_endian.h"
 2955__inline static __u16 __le16_to_cpup(__le16    *p ) 
 2956{ __le16    __cil_tmp2 ;
 2957
 2958  {
 2959  {
 2960#line 65
 2961  __cil_tmp2 = *p;
 2962#line 65
 2963  return ((__u16 )__cil_tmp2);
 2964  }
 2965}
 2966}
 2967#line 100 "include/linux/printk.h"
 2968extern int ( /* format attribute */  printk)(char    *fmt  , ...) ;
 2969#line 44 "include/linux/dynamic_debug.h"
 2970extern int ( /* format attribute */  __dynamic_pr_debug)(struct _ddebug *descriptor ,
 2971                                                         char    *fmt  , ...) ;
 2972#line 147 "include/linux/kernel.h"
 2973extern void __might_sleep(char    *file , int line , int preempt_offset ) ;
 2974#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
 2975extern void __bad_percpu_size(void) ;
 2976#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 2977extern struct task_struct *current_task  __attribute__((__section__(".data..percpu"))) ;
 2978#line 12
 2979__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void)  __attribute__((__no_instrument_function__)) ;
 2980#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 2981__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void) 
 2982{ struct task_struct *pfo_ret__ ;
 2983
 2984  {
 2985#line 14
 2986  if ((int )8UL == 1) {
 2987#line 14
 2988    goto case_1;
 2989  } else
 2990#line 14
 2991  if ((int )8UL == 2) {
 2992#line 14
 2993    goto case_2;
 2994  } else
 2995#line 14
 2996  if ((int )8UL == 4) {
 2997#line 14
 2998    goto case_4;
 2999  } else
 3000#line 14
 3001  if ((int )8UL == 8) {
 3002#line 14
 3003    goto case_8;
 3004  } else {
 3005    {
 3006#line 14
 3007    goto switch_default;
 3008#line 14
 3009    if (0) {
 3010      case_1: /* CIL Label */ 
 3011#line 14
 3012      __asm__  ("mov"
 3013                "b "
 3014                "%%"
 3015                "gs"
 3016                ":"
 3017                "%P"
 3018                "1"
 3019                ",%0": "=q" (pfo_ret__): "p" (& current_task));
 3020#line 14
 3021      goto switch_break;
 3022      case_2: /* CIL Label */ 
 3023#line 14
 3024      __asm__  ("mov"
 3025                "w "
 3026                "%%"
 3027                "gs"
 3028                ":"
 3029                "%P"
 3030                "1"
 3031                ",%0": "=r" (pfo_ret__): "p" (& current_task));
 3032#line 14
 3033      goto switch_break;
 3034      case_4: /* CIL Label */ 
 3035#line 14
 3036      __asm__  ("mov"
 3037                "l "
 3038                "%%"
 3039                "gs"
 3040                ":"
 3041                "%P"
 3042                "1"
 3043                ",%0": "=r" (pfo_ret__): "p" (& current_task));
 3044#line 14
 3045      goto switch_break;
 3046      case_8: /* CIL Label */ 
 3047#line 14
 3048      __asm__  ("mov"
 3049                "q "
 3050                "%%"
 3051                "gs"
 3052                ":"
 3053                "%P"
 3054                "1"
 3055                ",%0": "=r" (pfo_ret__): "p" (& current_task));
 3056#line 14
 3057      goto switch_break;
 3058      switch_default: /* CIL Label */ 
 3059      {
 3060#line 14
 3061      __bad_percpu_size();
 3062      }
 3063    } else {
 3064      switch_break: /* CIL Label */ ;
 3065    }
 3066    }
 3067  }
 3068#line 14
 3069  return (pfo_ret__);
 3070}
 3071}
 3072#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
 3073extern void *__memcpy(void *to , void    *from , size_t len ) ;
 3074#line 55
 3075extern void *memset(void *s , int c , size_t n ) ;
 3076#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/cmpxchg.h"
 3077extern void __xchg_wrong_size(void) ;
 3078#line 29 "include/linux/wait.h"
 3079extern int default_wake_function(wait_queue_t *wait , unsigned int mode , int flags ,
 3080                                 void *key ) ;
 3081#line 79
 3082extern void __init_waitqueue_head(wait_queue_head_t *q , char    *name , struct lock_class_key * ) ;
 3083#line 117
 3084extern void add_wait_queue(wait_queue_head_t *q , wait_queue_t *wait ) ;
 3085#line 119
 3086extern void remove_wait_queue(wait_queue_head_t *q , wait_queue_t *wait ) ;
 3087#line 155
 3088extern void __wake_up(wait_queue_head_t *q , unsigned int mode , int nr , void *key ) ;
 3089#line 115 "include/linux/mutex.h"
 3090extern void __mutex_init(struct mutex *lock , char    *name , struct lock_class_key *key ) ;
 3091#line 152
 3092void mutex_lock(struct mutex *lock ) ;
 3093#line 153
 3094int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
 3095#line 154
 3096int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
 3097#line 168
 3098int mutex_trylock(struct mutex *lock ) ;
 3099#line 169
 3100void mutex_unlock(struct mutex *lock ) ;
 3101#line 170
 3102int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
 3103#line 82 "include/linux/jiffies.h"
 3104extern unsigned long volatile   jiffies  __attribute__((__section__(".data"))) ;
 3105#line 26 "include/linux/export.h"
 3106extern struct module __this_module ;
 3107#line 453 "include/linux/module.h"
 3108extern void __module_get(struct module *module ) ;
 3109#line 362 "include/linux/sched.h"
 3110extern void schedule(void) ;
 3111#line 2626
 3112extern int _cond_resched(void) ;
 3113#line 161 "include/linux/slab.h"
 3114extern void kfree(void    * ) ;
 3115#line 221 "include/linux/slub_def.h"
 3116extern void *__kmalloc(size_t size , gfp_t flags ) ;
 3117#line 268
 3118__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
 3119                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
 3120#line 268 "include/linux/slub_def.h"
 3121__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
 3122                                                                    gfp_t flags ) 
 3123{ void *tmp___10 ;
 3124
 3125  {
 3126  {
 3127#line 283
 3128  tmp___10 = __kmalloc(size, flags);
 3129  }
 3130#line 283
 3131  return (tmp___10);
 3132}
 3133}
 3134#line 349 "include/linux/slab.h"
 3135__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
 3136#line 349 "include/linux/slab.h"
 3137__inline static void *kzalloc(size_t size , gfp_t flags ) 
 3138{ void *tmp___7 ;
 3139  unsigned int __cil_tmp4 ;
 3140
 3141  {
 3142  {
 3143#line 351
 3144  __cil_tmp4 = flags | 32768U;
 3145#line 351
 3146  tmp___7 = kmalloc(size, __cil_tmp4);
 3147  }
 3148#line 351
 3149  return (tmp___7);
 3150}
 3151}
 3152#line 8 "include/asm-generic/delay.h"
 3153extern void __udelay(unsigned long usecs ) ;
 3154#line 10
 3155extern void ___udelay(unsigned long xloops ) ;
 3156#line 46 "include/linux/delay.h"
 3157extern void msleep(unsigned int msecs ) ;
 3158#line 47 "include/linux/reboot.h"
 3159extern int register_reboot_notifier(struct notifier_block * ) ;
 3160#line 48
 3161extern int unregister_reboot_notifier(struct notifier_block * ) ;
 3162#line 7 "include/linux/unaligned/access_ok.h"
 3163__inline static u16 get_unaligned_le16(void    *p )  __attribute__((__no_instrument_function__)) ;
 3164#line 7 "include/linux/unaligned/access_ok.h"
 3165__inline static u16 get_unaligned_le16(void    *p ) 
 3166{ __u16 tmp___7 ;
 3167  __le16 *__cil_tmp3 ;
 3168  __le16    *__cil_tmp4 ;
 3169
 3170  {
 3171  {
 3172#line 9
 3173  __cil_tmp3 = (__le16 *)p;
 3174#line 9
 3175  __cil_tmp4 = (__le16    *)__cil_tmp3;
 3176#line 9
 3177  tmp___7 = __le16_to_cpup(__cil_tmp4);
 3178  }
 3179#line 9
 3180  return (tmp___7);
 3181}
 3182}
 3183#line 12
 3184__inline static u32 get_unaligned_le32(void    *p )  __attribute__((__no_instrument_function__)) ;
 3185#line 12 "include/linux/unaligned/access_ok.h"
 3186__inline static u32 get_unaligned_le32(void    *p ) 
 3187{ __u32 tmp___7 ;
 3188  __le32 *__cil_tmp3 ;
 3189  __le32    *__cil_tmp4 ;
 3190
 3191  {
 3192  {
 3193#line 14
 3194  __cil_tmp3 = (__le32 *)p;
 3195#line 14
 3196  __cil_tmp4 = (__le32    *)__cil_tmp3;
 3197#line 14
 3198  tmp___7 = __le32_to_cpup(__cil_tmp4);
 3199  }
 3200#line 14
 3201  return (tmp___7);
 3202}
 3203}
 3204#line 17
 3205__inline static u64 get_unaligned_le64(void    *p )  __attribute__((__no_instrument_function__)) ;
 3206#line 17 "include/linux/unaligned/access_ok.h"
 3207__inline static u64 get_unaligned_le64(void    *p ) 
 3208{ __u64 tmp___7 ;
 3209  __le64 *__cil_tmp3 ;
 3210  __le64    *__cil_tmp4 ;
 3211
 3212  {
 3213  {
 3214#line 19
 3215  __cil_tmp3 = (__le64 *)p;
 3216#line 19
 3217  __cil_tmp4 = (__le64    *)__cil_tmp3;
 3218#line 19
 3219  tmp___7 = __le64_to_cpup(__cil_tmp4);
 3220  }
 3221#line 19
 3222  return (tmp___7);
 3223}
 3224}
 3225#line 273 "include/linux/mtd/map.h"
 3226__inline static int map_word_equal(struct map_info *map , map_word val1 , map_word val2 )  __attribute__((__no_instrument_function__)) ;
 3227#line 273 "include/linux/mtd/map.h"
 3228__inline static int map_word_equal(struct map_info *map , map_word val1 , map_word val2 ) 
 3229{ int i ;
 3230  unsigned long __cil_tmp5 ;
 3231  unsigned long __cil_tmp6 ;
 3232  unsigned long __cil_tmp7 ;
 3233  int __cil_tmp8 ;
 3234  unsigned long __cil_tmp9 ;
 3235  unsigned long __cil_tmp10 ;
 3236  unsigned long __cil_tmp11 ;
 3237  unsigned long __cil_tmp12 ;
 3238  unsigned long __cil_tmp13 ;
 3239  unsigned long __cil_tmp14 ;
 3240  unsigned long __cil_tmp15 ;
 3241  unsigned long __cil_tmp16 ;
 3242  unsigned long __cil_tmp17 ;
 3243  unsigned long __cil_tmp18 ;
 3244  unsigned long __cil_tmp19 ;
 3245  unsigned long __cil_tmp20 ;
 3246
 3247  {
 3248#line 276
 3249  i = 0;
 3250  {
 3251#line 276
 3252  while (1) {
 3253    while_continue: /* CIL Label */ ;
 3254    {
 3255#line 276
 3256    __cil_tmp5 = 8UL - 1UL;
 3257#line 276
 3258    __cil_tmp6 = (unsigned long )map;
 3259#line 276
 3260    __cil_tmp7 = __cil_tmp6 + 44;
 3261#line 276
 3262    __cil_tmp8 = *((int *)__cil_tmp7);
 3263#line 276
 3264    __cil_tmp9 = (unsigned long )__cil_tmp8;
 3265#line 276
 3266    __cil_tmp10 = __cil_tmp9 + __cil_tmp5;
 3267#line 276
 3268    __cil_tmp11 = __cil_tmp10 / 8UL;
 3269#line 276
 3270    __cil_tmp12 = (unsigned long )i;
 3271#line 276
 3272    if (__cil_tmp12 < __cil_tmp11) {
 3273
 3274    } else {
 3275#line 276
 3276      goto while_break;
 3277    }
 3278    }
 3279    {
 3280#line 277
 3281    __cil_tmp13 = i * 8UL;
 3282#line 277
 3283    __cil_tmp14 = 0 + __cil_tmp13;
 3284#line 277
 3285    __cil_tmp15 = (unsigned long )(& val2) + __cil_tmp14;
 3286#line 277
 3287    __cil_tmp16 = *((unsigned long *)__cil_tmp15);
 3288#line 277
 3289    __cil_tmp17 = i * 8UL;
 3290#line 277
 3291    __cil_tmp18 = 0 + __cil_tmp17;
 3292#line 277
 3293    __cil_tmp19 = (unsigned long )(& val1) + __cil_tmp18;
 3294#line 277
 3295    __cil_tmp20 = *((unsigned long *)__cil_tmp19);
 3296#line 277
 3297    if (__cil_tmp20 != __cil_tmp16) {
 3298#line 278
 3299      return (0);
 3300    } else {
 3301
 3302    }
 3303    }
 3304#line 276
 3305    i = i + 1;
 3306  }
 3307  while_break: /* CIL Label */ ;
 3308  }
 3309#line 280
 3310  return (1);
 3311}
 3312}
 3313#line 283
 3314__inline static map_word map_word_and(struct map_info *map , map_word val1 , map_word val2 )  __attribute__((__no_instrument_function__)) ;
 3315#line 283 "include/linux/mtd/map.h"
 3316__inline static map_word map_word_and(struct map_info *map , map_word val1 , map_word val2 ) 
 3317{ map_word r ;
 3318  int i ;
 3319  unsigned long __cil_tmp6 ;
 3320  unsigned long __cil_tmp7 ;
 3321  unsigned long __cil_tmp8 ;
 3322  int __cil_tmp9 ;
 3323  unsigned long __cil_tmp10 ;
 3324  unsigned long __cil_tmp11 ;
 3325  unsigned long __cil_tmp12 ;
 3326  unsigned long __cil_tmp13 ;
 3327  unsigned long __cil_tmp14 ;
 3328  unsigned long __cil_tmp15 ;
 3329  unsigned long __cil_tmp16 ;
 3330  unsigned long __cil_tmp17 ;
 3331  unsigned long __cil_tmp18 ;
 3332  unsigned long __cil_tmp19 ;
 3333  unsigned long __cil_tmp20 ;
 3334  unsigned long __cil_tmp21 ;
 3335  unsigned long __cil_tmp22 ;
 3336  unsigned long __cil_tmp23 ;
 3337  unsigned long __cil_tmp24 ;
 3338  map_word *__cil_tmp25 ;
 3339
 3340  {
 3341#line 288
 3342  i = 0;
 3343  {
 3344#line 288
 3345  while (1) {
 3346    while_continue: /* CIL Label */ ;
 3347    {
 3348#line 288
 3349    __cil_tmp6 = 8UL - 1UL;
 3350#line 288
 3351    __cil_tmp7 = (unsigned long )map;
 3352#line 288
 3353    __cil_tmp8 = __cil_tmp7 + 44;
 3354#line 288
 3355    __cil_tmp9 = *((int *)__cil_tmp8);
 3356#line 288
 3357    __cil_tmp10 = (unsigned long )__cil_tmp9;
 3358#line 288
 3359    __cil_tmp11 = __cil_tmp10 + __cil_tmp6;
 3360#line 288
 3361    __cil_tmp12 = __cil_tmp11 / 8UL;
 3362#line 288
 3363    __cil_tmp13 = (unsigned long )i;
 3364#line 288
 3365    if (__cil_tmp13 < __cil_tmp12) {
 3366
 3367    } else {
 3368#line 288
 3369      goto while_break;
 3370    }
 3371    }
 3372#line 289
 3373    __cil_tmp14 = i * 8UL;
 3374#line 289
 3375    __cil_tmp15 = 0 + __cil_tmp14;
 3376#line 289
 3377    __cil_tmp16 = (unsigned long )(& r) + __cil_tmp15;
 3378#line 289
 3379    __cil_tmp17 = i * 8UL;
 3380#line 289
 3381    __cil_tmp18 = 0 + __cil_tmp17;
 3382#line 289
 3383    __cil_tmp19 = (unsigned long )(& val2) + __cil_tmp18;
 3384#line 289
 3385    __cil_tmp20 = *((unsigned long *)__cil_tmp19);
 3386#line 289
 3387    __cil_tmp21 = i * 8UL;
 3388#line 289
 3389    __cil_tmp22 = 0 + __cil_tmp21;
 3390#line 289
 3391    __cil_tmp23 = (unsigned long )(& val1) + __cil_tmp22;
 3392#line 289
 3393    __cil_tmp24 = *((unsigned long *)__cil_tmp23);
 3394#line 289
 3395    *((unsigned long *)__cil_tmp16) = __cil_tmp24 & __cil_tmp20;
 3396#line 288
 3397    i = i + 1;
 3398  }
 3399  while_break: /* CIL Label */ ;
 3400  }
 3401  {
 3402#line 291
 3403  __cil_tmp25 = & r;
 3404#line 291
 3405  return (*__cil_tmp25);
 3406  }
 3407}
 3408}
 3409#line 294
 3410__inline static map_word map_word_clr(struct map_info *map , map_word val1 , map_word val2 )  __attribute__((__no_instrument_function__)) ;
 3411#line 294 "include/linux/mtd/map.h"
 3412__inline static map_word map_word_clr(struct map_info *map , map_word val1 , map_word val2 ) 
 3413{ map_word r ;
 3414  int i ;
 3415  unsigned long __cil_tmp6 ;
 3416  unsigned long __cil_tmp7 ;
 3417  unsigned long __cil_tmp8 ;
 3418  int __cil_tmp9 ;
 3419  unsigned long __cil_tmp10 ;
 3420  unsigned long __cil_tmp11 ;
 3421  unsigned long __cil_tmp12 ;
 3422  unsigned long __cil_tmp13 ;
 3423  unsigned long __cil_tmp14 ;
 3424  unsigned long __cil_tmp15 ;
 3425  unsigned long __cil_tmp16 ;
 3426  unsigned long __cil_tmp17 ;
 3427  unsigned long __cil_tmp18 ;
 3428  unsigned long __cil_tmp19 ;
 3429  unsigned long __cil_tmp20 ;
 3430  unsigned long __cil_tmp21 ;
 3431  unsigned long __cil_tmp22 ;
 3432  unsigned long __cil_tmp23 ;
 3433  unsigned long __cil_tmp24 ;
 3434  unsigned long __cil_tmp25 ;
 3435  map_word *__cil_tmp26 ;
 3436
 3437  {
 3438#line 299
 3439  i = 0;
 3440  {
 3441#line 299
 3442  while (1) {
 3443    while_continue: /* CIL Label */ ;
 3444    {
 3445#line 299
 3446    __cil_tmp6 = 8UL - 1UL;
 3447#line 299
 3448    __cil_tmp7 = (unsigned long )map;
 3449#line 299
 3450    __cil_tmp8 = __cil_tmp7 + 44;
 3451#line 299
 3452    __cil_tmp9 = *((int *)__cil_tmp8);
 3453#line 299
 3454    __cil_tmp10 = (unsigned long )__cil_tmp9;
 3455#line 299
 3456    __cil_tmp11 = __cil_tmp10 + __cil_tmp6;
 3457#line 299
 3458    __cil_tmp12 = __cil_tmp11 / 8UL;
 3459#line 299
 3460    __cil_tmp13 = (unsigned long )i;
 3461#line 299
 3462    if (__cil_tmp13 < __cil_tmp12) {
 3463
 3464    } else {
 3465#line 299
 3466      goto while_break;
 3467    }
 3468    }
 3469#line 300
 3470    __cil_tmp14 = i * 8UL;
 3471#line 300
 3472    __cil_tmp15 = 0 + __cil_tmp14;
 3473#line 300
 3474    __cil_tmp16 = (unsigned long )(& r) + __cil_tmp15;
 3475#line 300
 3476    __cil_tmp17 = i * 8UL;
 3477#line 300
 3478    __cil_tmp18 = 0 + __cil_tmp17;
 3479#line 300
 3480    __cil_tmp19 = (unsigned long )(& val2) + __cil_tmp18;
 3481#line 300
 3482    __cil_tmp20 = *((unsigned long *)__cil_tmp19);
 3483#line 300
 3484    __cil_tmp21 = ~ __cil_tmp20;
 3485#line 300
 3486    __cil_tmp22 = i * 8UL;
 3487#line 300
 3488    __cil_tmp23 = 0 + __cil_tmp22;
 3489#line 300
 3490    __cil_tmp24 = (unsigned long )(& val1) + __cil_tmp23;
 3491#line 300
 3492    __cil_tmp25 = *((unsigned long *)__cil_tmp24);
 3493#line 300
 3494    *((unsigned long *)__cil_tmp16) = __cil_tmp25 & __cil_tmp21;
 3495#line 299
 3496    i = i + 1;
 3497  }
 3498  while_break: /* CIL Label */ ;
 3499  }
 3500  {
 3501#line 302
 3502  __cil_tmp26 = & r;
 3503#line 302
 3504  return (*__cil_tmp26);
 3505  }
 3506}
 3507}
 3508#line 318
 3509__inline static int map_word_bitsset(struct map_info *map , map_word val1 , map_word val2 )  __attribute__((__no_instrument_function__)) ;
 3510#line 318 "include/linux/mtd/map.h"
 3511__inline static int map_word_bitsset(struct map_info *map , map_word val1 , map_word val2 ) 
 3512{ int i ;
 3513  unsigned long __cil_tmp5 ;
 3514  unsigned long __cil_tmp6 ;
 3515  unsigned long __cil_tmp7 ;
 3516  int __cil_tmp8 ;
 3517  unsigned long __cil_tmp9 ;
 3518  unsigned long __cil_tmp10 ;
 3519  unsigned long __cil_tmp11 ;
 3520  unsigned long __cil_tmp12 ;
 3521  unsigned long __cil_tmp13 ;
 3522  unsigned long __cil_tmp14 ;
 3523  unsigned long __cil_tmp15 ;
 3524  unsigned long __cil_tmp16 ;
 3525  unsigned long __cil_tmp17 ;
 3526  unsigned long __cil_tmp18 ;
 3527  unsigned long __cil_tmp19 ;
 3528  unsigned long __cil_tmp20 ;
 3529
 3530  {
 3531#line 322
 3532  i = 0;
 3533  {
 3534#line 322
 3535  while (1) {
 3536    while_continue: /* CIL Label */ ;
 3537    {
 3538#line 322
 3539    __cil_tmp5 = 8UL - 1UL;
 3540#line 322
 3541    __cil_tmp6 = (unsigned long )map;
 3542#line 322
 3543    __cil_tmp7 = __cil_tmp6 + 44;
 3544#line 322
 3545    __cil_tmp8 = *((int *)__cil_tmp7);
 3546#line 322
 3547    __cil_tmp9 = (unsigned long )__cil_tmp8;
 3548#line 322
 3549    __cil_tmp10 = __cil_tmp9 + __cil_tmp5;
 3550#line 322
 3551    __cil_tmp11 = __cil_tmp10 / 8UL;
 3552#line 322
 3553    __cil_tmp12 = (unsigned long )i;
 3554#line 322
 3555    if (__cil_tmp12 < __cil_tmp11) {
 3556
 3557    } else {
 3558#line 322
 3559      goto while_break;
 3560    }
 3561    }
 3562    {
 3563#line 323
 3564    __cil_tmp13 = i * 8UL;
 3565#line 323
 3566    __cil_tmp14 = 0 + __cil_tmp13;
 3567#line 323
 3568    __cil_tmp15 = (unsigned long )(& val2) + __cil_tmp14;
 3569#line 323
 3570    __cil_tmp16 = *((unsigned long *)__cil_tmp15);
 3571#line 323
 3572    __cil_tmp17 = i * 8UL;
 3573#line 323
 3574    __cil_tmp18 = 0 + __cil_tmp17;
 3575#line 323
 3576    __cil_tmp19 = (unsigned long )(& val1) + __cil_tmp18;
 3577#line 323
 3578    __cil_tmp20 = *((unsigned long *)__cil_tmp19);
 3579#line 323
 3580    if (__cil_tmp20 & __cil_tmp16) {
 3581#line 324
 3582      return (1);
 3583    } else {
 3584
 3585    }
 3586    }
 3587#line 322
 3588    i = i + 1;
 3589  }
 3590  while_break: /* CIL Label */ ;
 3591  }
 3592#line 326
 3593  return (0);
 3594}
 3595}
 3596#line 329
 3597__inline static map_word map_word_load(struct map_info *map , void    *ptr )  __attribute__((__no_instrument_function__)) ;
 3598#line 329 "include/linux/mtd/map.h"
 3599__inline static map_word map_word_load(struct map_info *map , void    *ptr ) 
 3600{ map_word r ;
 3601  u16 tmp___10 ;
 3602  u32 tmp___13 ;
 3603  u64 tmp___16 ;
 3604  size_t __len ;
 3605  void *__ret ;
 3606  unsigned long __cil_tmp18 ;
 3607  unsigned long __cil_tmp19 ;
 3608  int __cil_tmp20 ;
 3609  unsigned long __cil_tmp21 ;
 3610  unsigned long __cil_tmp22 ;
 3611  unsigned long __cil_tmp23 ;
 3612  unsigned char *__cil_tmp24 ;
 3613  unsigned char __cil_tmp25 ;
 3614  unsigned long __cil_tmp26 ;
 3615  unsigned long __cil_tmp27 ;
 3616  int __cil_tmp28 ;
 3617  uint16_t *__cil_tmp29 ;
 3618  void    *__cil_tmp30 ;
 3619  unsigned long __cil_tmp31 ;
 3620  unsigned long __cil_tmp32 ;
 3621  unsigned long __cil_tmp33 ;
 3622  int __cil_tmp34 ;
 3623  uint16_t __cil_tmp35 ;
 3624  unsigned long __cil_tmp36 ;
 3625  unsigned long __cil_tmp37 ;
 3626  int __cil_tmp38 ;
 3627  uint32_t *__cil_tmp39 ;
 3628  void    *__cil_tmp40 ;
 3629  unsigned long __cil_tmp41 ;
 3630  unsigned long __cil_tmp42 ;
 3631  unsigned long __cil_tmp43 ;
 3632  unsigned long __cil_tmp44 ;
 3633  unsigned long __cil_tmp45 ;
 3634  int __cil_tmp46 ;
 3635  uint64_t *__cil_tmp47 ;
 3636  void    *__cil_tmp48 ;
 3637  unsigned long __cil_tmp49 ;
 3638  unsigned long __cil_tmp50 ;
 3639  unsigned long __cil_tmp51 ;
 3640  unsigned long __cil_tmp52 ;
 3641  unsigned long __cil_tmp53 ;
 3642  int __cil_tmp54 ;
 3643  unsigned long __cil_tmp55 ;
 3644  unsigned long __cil_tmp56 ;
 3645  int __cil_tmp57 ;
 3646  unsigned long __cil_tmp58 ;
 3647  unsigned long __cil_tmp59 ;
 3648  unsigned long __cil_tmp60 ;
 3649  unsigned long *__cil_tmp61 ;
 3650  void *__cil_tmp62 ;
 3651  map_word *__cil_tmp63 ;
 3652
 3653  {
 3654  {
 3655#line 333
 3656  __cil_tmp18 = (unsigned long )map;
 3657#line 333
 3658  __cil_tmp19 = __cil_tmp18 + 44;
 3659#line 333
 3660  __cil_tmp20 = *((int *)__cil_tmp19);
 3661#line 333
 3662  if (__cil_tmp20 == 1) {
 3663#line 334
 3664    __cil_tmp21 = 0 * 8UL;
 3665#line 334
 3666    __cil_tmp22 = 0 + __cil_tmp21;
 3667#line 334
 3668    __cil_tmp23 = (unsigned long )(& r) + __cil_tmp22;
 3669#line 334
 3670    __cil_tmp24 = (unsigned char *)ptr;
 3671#line 334
 3672    __cil_tmp25 = *__cil_tmp24;
 3673#line 334
 3674    *((unsigned long *)__cil_tmp23) = (unsigned long )__cil_tmp25;
 3675  } else {
 3676    {
 3677#line 335
 3678    __cil_tmp26 = (unsigned long )map;
 3679#line 335
 3680    __cil_tmp27 = __cil_tmp26 + 44;
 3681#line 335
 3682    __cil_tmp28 = *((int *)__cil_tmp27);
 3683#line 335
 3684    if (__cil_tmp28 == 2) {
 3685      {
 3686#line 336
 3687      __cil_tmp29 = (uint16_t *)ptr;
 3688#line 336
 3689      __cil_tmp30 = (void    *)__cil_tmp29;
 3690#line 336
 3691      tmp___10 = get_unaligned_le16(__cil_tmp30);
 3692#line 336
 3693      __cil_tmp31 = 0 * 8UL;
 3694#line 336
 3695      __cil_tmp32 = 0 + __cil_tmp31;
 3696#line 336
 3697      __cil_tmp33 = (unsigned long )(& r) + __cil_tmp32;
 3698#line 336
 3699      __cil_tmp34 = (int )tmp___10;
 3700#line 336
 3701      __cil_tmp35 = (uint16_t )__cil_tmp34;
 3702#line 336
 3703      *((unsigned long *)__cil_tmp33) = (unsigned long )__cil_tmp35;
 3704      }
 3705    } else {
 3706      {
 3707#line 337
 3708      __cil_tmp36 = (unsigned long )map;
 3709#line 337
 3710      __cil_tmp37 = __cil_tmp36 + 44;
 3711#line 337
 3712      __cil_tmp38 = *((int *)__cil_tmp37);
 3713#line 337
 3714      if (__cil_tmp38 == 4) {
 3715        {
 3716#line 338
 3717        __cil_tmp39 = (uint32_t *)ptr;
 3718#line 338
 3719        __cil_tmp40 = (void    *)__cil_tmp39;
 3720#line 338
 3721        tmp___13 = get_unaligned_le32(__cil_tmp40);
 3722#line 338
 3723        __cil_tmp41 = 0 * 8UL;
 3724#line 338
 3725        __cil_tmp42 = 0 + __cil_tmp41;
 3726#line 338
 3727        __cil_tmp43 = (unsigned long )(& r) + __cil_tmp42;
 3728#line 338
 3729        *((unsigned long *)__cil_tmp43) = (unsigned long )tmp___13;
 3730        }
 3731      } else {
 3732        {
 3733#line 340
 3734        __cil_tmp44 = (unsigned long )map;
 3735#line 340
 3736        __cil_tmp45 = __cil_tmp44 + 44;
 3737#line 340
 3738        __cil_tmp46 = *((int *)__cil_tmp45);
 3739#line 340
 3740        if (__cil_tmp46 == 8) {
 3741          {
 3742#line 341
 3743          __cil_tmp47 = (uint64_t *)ptr;
 3744#line 341
 3745          __cil_tmp48 = (void    *)__cil_tmp47;
 3746#line 341
 3747          tmp___16 = get_unaligned_le64(__cil_tmp48);
 3748#line 341
 3749          __cil_tmp49 = 0 * 8UL;
 3750#line 341
 3751          __cil_tmp50 = 0 + __cil_tmp49;
 3752#line 341
 3753          __cil_tmp51 = (unsigned long )(& r) + __cil_tmp50;
 3754#line 341
 3755          *((unsigned long *)__cil_tmp51) = (unsigned long )tmp___16;
 3756          }
 3757        } else {
 3758          {
 3759#line 343
 3760          __cil_tmp52 = (unsigned long )map;
 3761#line 343
 3762          __cil_tmp53 = __cil_tmp52 + 44;
 3763#line 343
 3764          __cil_tmp54 = *((int *)__cil_tmp53);
 3765#line 343
 3766          if (__cil_tmp54 > 8) {
 3767            {
 3768#line 344
 3769            __cil_tmp55 = (unsigned long )map;
 3770#line 344
 3771            __cil_tmp56 = __cil_tmp55 + 44;
 3772#line 344
 3773            __cil_tmp57 = *((int *)__cil_tmp56);
 3774#line 344
 3775            __len = (size_t )__cil_tmp57;
 3776#line 344
 3777            __cil_tmp58 = 0 * 8UL;
 3778#line 344
 3779            __cil_tmp59 = 0 + __cil_tmp58;
 3780#line 344
 3781            __cil_tmp60 = (unsigned long )(& r) + __cil_tmp59;
 3782#line 344
 3783            __cil_tmp61 = (unsigned long *)__cil_tmp60;
 3784#line 344
 3785            __cil_tmp62 = (void *)__cil_tmp61;
 3786#line 344
 3787            __ret = __builtin_memcpy(__cil_tmp62, ptr, __len);
 3788            }
 3789          } else {
 3790
 3791          }
 3792          }
 3793        }
 3794        }
 3795      }
 3796      }
 3797    }
 3798    }
 3799  }
 3800  }
 3801  {
 3802#line 346
 3803  __cil_tmp63 = & r;
 3804#line 346
 3805  return (*__cil_tmp63);
 3806  }
 3807}
 3808}
 3809#line 349
 3810__inline static map_word map_word_load_partial(struct map_info *map , map_word orig ,
 3811                                               unsigned char    *buf , int start ,
 3812                                               int len )  __attribute__((__no_instrument_function__)) ;
 3813#line 349 "include/linux/mtd/map.h"
 3814__inline static map_word map_word_load_partial(struct map_info *map , map_word orig ,
 3815                                               unsigned char    *buf , int start ,
 3816                                               int len ) 
 3817{ int i ;
 3818  char *dest ;
 3819  size_t __len ;
 3820  void *__ret ;
 3821  int bitpos ;
 3822  unsigned long __cil_tmp11 ;
 3823  unsigned long __cil_tmp12 ;
 3824  int __cil_tmp13 ;
 3825  char *__cil_tmp14 ;
 3826  void *__cil_tmp15 ;
 3827  void    *__cil_tmp16 ;
 3828  int __cil_tmp17 ;
 3829  unsigned long __cil_tmp18 ;
 3830  unsigned long __cil_tmp19 ;
 3831  unsigned long __cil_tmp20 ;
 3832  int __cil_tmp21 ;
 3833  int __cil_tmp22 ;
 3834  unsigned long __cil_tmp23 ;
 3835  unsigned long __cil_tmp24 ;
 3836  unsigned long __cil_tmp25 ;
 3837  unsigned long __cil_tmp26 ;
 3838  unsigned long __cil_tmp27 ;
 3839  unsigned long __cil_tmp28 ;
 3840  unsigned long __cil_tmp29 ;
 3841  unsigned long __cil_tmp30 ;
 3842  int __cil_tmp31 ;
 3843  unsigned char    *__cil_tmp32 ;
 3844  unsigned char    __cil_tmp33 ;
 3845  int    __cil_tmp34 ;
 3846  int    __cil_tmp35 ;
 3847  unsigned long __cil_tmp36 ;
 3848  unsigned long __cil_tmp37 ;
 3849  unsigned long __cil_tmp38 ;
 3850  unsigned long __cil_tmp39 ;
 3851  unsigned long __cil_tmp40 ;
 3852  map_word *__cil_tmp41 ;
 3853
 3854  {
 3855  {
 3856#line 353
 3857  __cil_tmp11 = (unsigned long )map;
 3858#line 353
 3859  __cil_tmp12 = __cil_tmp11 + 44;
 3860#line 353
 3861  __cil_tmp13 = *((int *)__cil_tmp12);
 3862#line 353
 3863  if (__cil_tmp13 > 8) {
 3864    {
 3865#line 354
 3866    dest = (char *)(& orig);
 3867#line 355
 3868    __len = (size_t )len;
 3869#line 355
 3870    __cil_tmp14 = dest + start;
 3871#line 355
 3872    __cil_tmp15 = (void *)__cil_tmp14;
 3873#line 355
 3874    __cil_tmp16 = (void    *)buf;
 3875#line 355
 3876    __ret = __builtin_memcpy(__cil_tmp15, __cil_tmp16, __len);
 3877    }
 3878  } else {
 3879#line 357
 3880    i = start;
 3881    {
 3882#line 357
 3883    while (1) {
 3884      while_continue: /* CIL Label */ ;
 3885      {
 3886#line 357
 3887      __cil_tmp17 = start + len;
 3888#line 357
 3889      if (i < __cil_tmp17) {
 3890
 3891      } else {
 3892#line 357
 3893        goto while_break;
 3894      }
 3895      }
 3896#line 360
 3897      bitpos = i * 8;
 3898#line 364
 3899      __cil_tmp18 = 0 * 8UL;
 3900#line 364
 3901      __cil_tmp19 = 0 + __cil_tmp18;
 3902#line 364
 3903      __cil_tmp20 = (unsigned long )(& orig) + __cil_tmp19;
 3904#line 364
 3905      __cil_tmp21 = 255 << bitpos;
 3906#line 364
 3907      __cil_tmp22 = ~ __cil_tmp21;
 3908#line 364
 3909      __cil_tmp23 = (unsigned long )__cil_tmp22;
 3910#line 364
 3911      __cil_tmp24 = 0 * 8UL;
 3912#line 364
 3913      __cil_tmp25 = 0 + __cil_tmp24;
 3914#line 364
 3915      __cil_tmp26 = (unsigned long )(& orig) + __cil_tmp25;
 3916#line 364
 3917      __cil_tmp27 = *((unsigned long *)__cil_tmp26);
 3918#line 364
 3919      *((unsigned long *)__cil_tmp20) = __cil_tmp27 & __cil_tmp23;
 3920#line 365
 3921      __cil_tmp28 = 0 * 8UL;
 3922#line 365
 3923      __cil_tmp29 = 0 + __cil_tmp28;
 3924#line 365
 3925      __cil_tmp30 = (unsigned long )(& orig) + __cil_tmp29;
 3926#line 365
 3927      __cil_tmp31 = i - start;
 3928#line 365
 3929      __cil_tmp32 = buf + __cil_tmp31;
 3930#line 365
 3931      __cil_tmp33 = *__cil_tmp32;
 3932#line 365
 3933      __cil_tmp34 = (int    )__cil_tmp33;
 3934#line 365
 3935      __cil_tmp35 = __cil_tmp34 << bitpos;
 3936#line 365
 3937      __cil_tmp36 = (unsigned long )__cil_tmp35;
 3938#line 365
 3939      __cil_tmp37 = 0 * 8UL;
 3940#line 365
 3941      __cil_tmp38 = 0 + __cil_tmp37;
 3942#line 365
 3943      __cil_tmp39 = (unsigned long )(& orig) + __cil_tmp38;
 3944#line 365
 3945      __cil_tmp40 = *((unsigned long *)__cil_tmp39);
 3946#line 365
 3947      *((unsigned long *)__cil_tmp30) = __cil_tmp40 | __cil_tmp36;
 3948#line 357
 3949      i = i + 1;
 3950    }
 3951    while_break: /* CIL Label */ ;
 3952    }
 3953  }
 3954  }
 3955  {
 3956#line 368
 3957  __cil_tmp41 = & orig;
 3958#line 368
 3959  return (*__cil_tmp41);
 3960  }
 3961}
 3962}
 3963#line 377
 3964__inline static map_word map_word_ff(struct map_info *map )  __attribute__((__no_instrument_function__)) ;
 3965#line 377 "include/linux/mtd/map.h"
 3966__inline static map_word map_word_ff(struct map_info *map ) 
 3967{ map_word r ;
 3968  int i ;
 3969  int bw ;
 3970  unsigned long __cil_tmp5 ;
 3971  unsigned long __cil_tmp6 ;
 3972  int __cil_tmp7 ;
 3973  unsigned long __cil_tmp8 ;
 3974  unsigned long __cil_tmp9 ;
 3975  int __cil_tmp10 ;
 3976  unsigned long __cil_tmp11 ;
 3977  unsigned long __cil_tmp12 ;
 3978  unsigned long __cil_tmp13 ;
 3979  int __cil_tmp14 ;
 3980  int __cil_tmp15 ;
 3981  unsigned long __cil_tmp16 ;
 3982  unsigned long __cil_tmp17 ;
 3983  unsigned long __cil_tmp18 ;
 3984  int __cil_tmp19 ;
 3985  unsigned long __cil_tmp20 ;
 3986  unsigned long __cil_tmp21 ;
 3987  unsigned long __cil_tmp22 ;
 3988  unsigned long __cil_tmp23 ;
 3989  unsigned long __cil_tmp24 ;
 3990  unsigned long __cil_tmp25 ;
 3991  unsigned long __cil_tmp26 ;
 3992  map_word *__cil_tmp27 ;
 3993
 3994  {
 3995  {
 3996#line 382
 3997  __cil_tmp5 = (unsigned long )map;
 3998#line 382
 3999  __cil_tmp6 = __cil_tmp5 + 44;
 4000#line 382
 4001  __cil_tmp7 = *((int *)__cil_tmp6);
 4002#line 382
 4003  if (__cil_tmp7 < 8) {
 4004#line 383
 4005    __cil_tmp8 = (unsigned long )map;
 4006#line 383
 4007    __cil_tmp9 = __cil_tmp8 + 44;
 4008#line 383
 4009    __cil_tmp10 = *((int *)__cil_tmp9);
 4010#line 383
 4011    bw = 8 * __cil_tmp10;
 4012#line 384
 4013    __cil_tmp11 = 0 * 8UL;
 4014#line 384
 4015    __cil_tmp12 = 0 + __cil_tmp11;
 4016#line 384
 4017    __cil_tmp13 = (unsigned long )(& r) + __cil_tmp12;
 4018#line 384
 4019    __cil_tmp14 = 1 << bw;
 4020#line 384
 4021    __cil_tmp15 = __cil_tmp14 - 1;
 4022#line 384
 4023    *((unsigned long *)__cil_tmp13) = (unsigned long )__cil_tmp15;
 4024  } else {
 4025#line 386
 4026    i = 0;
 4027    {
 4028#line 386
 4029    while (1) {
 4030      while_continue: /* CIL Label */ ;
 4031      {
 4032#line 386
 4033      __cil_tmp16 = 8UL - 1UL;
 4034#line 386
 4035      __cil_tmp17 = (unsigned long )map;
 4036#line 386
 4037      __cil_tmp18 = __cil_tmp17 + 44;
 4038#line 386
 4039      __cil_tmp19 = *((int *)__cil_tmp18);
 4040#line 386
 4041      __cil_tmp20 = (unsigned long )__cil_tmp19;
 4042#line 386
 4043      __cil_tmp21 = __cil_tmp20 + __cil_tmp16;
 4044#line 386
 4045      __cil_tmp22 = __cil_tmp21 / 8UL;
 4046#line 386
 4047      __cil_tmp23 = (unsigned long )i;
 4048#line 386
 4049      if (__cil_tmp23 < __cil_tmp22) {
 4050
 4051      } else {
 4052#line 386
 4053        goto while_break;
 4054      }
 4055      }
 4056#line 387
 4057      __cil_tmp24 = i * 8UL;
 4058#line 387
 4059      __cil_tmp25 = 0 + __cil_tmp24;
 4060#line 387
 4061      __cil_tmp26 = (unsigned long )(& r) + __cil_tmp25;
 4062#line 387
 4063      *((unsigned long *)__cil_tmp26) = ~ 0UL;
 4064#line 386
 4065      i = i + 1;
 4066    }
 4067    while_break: /* CIL Label */ ;
 4068    }
 4069  }
 4070  }
 4071  {
 4072#line 389
 4073  __cil_tmp27 = & r;
 4074#line 389
 4075  return (*__cil_tmp27);
 4076  }
 4077}
 4078}
 4079#line 388 "include/linux/mtd/mtd.h"
 4080extern void mtd_erase_callback(struct erase_info *instr ) ;
 4081#line 328 "include/linux/mtd/cfi.h"
 4082__inline static map_word cfi_build_cmd(u_long cmd , struct map_info *map , struct cfi_private *cfi )  __attribute__((__no_instrument_function__)) ;
 4083#line 328 "include/linux/mtd/cfi.h"
 4084__inline static map_word cfi_build_cmd(u_long cmd , struct map_info *map , struct cfi_private *cfi ) 
 4085{ map_word val ;
 4086  int wordwidth ;
 4087  int words_per_bus ;
 4088  int chip_mode ;
 4089  int chips_per_word ;
 4090  unsigned long onecmd ;
 4091  int i ;
 4092  __u16 tmp___9 ;
 4093  int tmp___10 ;
 4094  int tmp___11 ;
 4095  int tmp___12 ;
 4096  __u32 tmp___15 ;
 4097  __be32 tmp___16 ;
 4098  int tmp___17 ;
 4099  int tmp___18 ;
 4100  unsigned long __cil_tmp23 ;
 4101  unsigned long __cil_tmp24 ;
 4102  unsigned long __cil_tmp25 ;
 4103  unsigned long __cil_tmp26 ;
 4104  unsigned long __cil_tmp27 ;
 4105  unsigned long __cil_tmp28 ;
 4106  unsigned long __cil_tmp29 ;
 4107  unsigned long __cil_tmp30 ;
 4108  unsigned long __cil_tmp31 ;
 4109  unsigned long __cil_tmp32 ;
 4110  unsigned long __cil_tmp33 ;
 4111  unsigned long __cil_tmp34 ;
 4112  unsigned long __cil_tmp35 ;
 4113  unsigned long __cil_tmp36 ;
 4114  int __cil_tmp37 ;
 4115  unsigned long __cil_tmp38 ;
 4116  unsigned long __cil_tmp39 ;
 4117  int __cil_tmp40 ;
 4118  unsigned long __cil_tmp41 ;
 4119  unsigned long __cil_tmp42 ;
 4120  unsigned long __cil_tmp43 ;
 4121  unsigned long __cil_tmp44 ;
 4122  int __cil_tmp45 ;
 4123  unsigned long __cil_tmp46 ;
 4124  unsigned long __cil_tmp47 ;
 4125  int __cil_tmp48 ;
 4126  unsigned long __cil_tmp49 ;
 4127  unsigned long __cil_tmp50 ;
 4128  int __cil_tmp51 ;
 4129  unsigned long __cil_tmp52 ;
 4130  unsigned long __cil_tmp53 ;
 4131  int __cil_tmp54 ;
 4132  int __cil_tmp55 ;
 4133  unsigned long __cil_tmp56 ;
 4134  unsigned long __cil_tmp57 ;
 4135  unsigned long __cil_tmp58 ;
 4136  unsigned long __cil_tmp59 ;
 4137  __u16 __cil_tmp60 ;
 4138  int __cil_tmp61 ;
 4139  __be16 __cil_tmp62 ;
 4140  __u16 __cil_tmp63 ;
 4141  unsigned long __cil_tmp64 ;
 4142  unsigned long __cil_tmp65 ;
 4143  unsigned long __cil_tmp66 ;
 4144  unsigned long __cil_tmp67 ;
 4145  __u32 __cil_tmp68 ;
 4146  int __cil_tmp69 ;
 4147  unsigned long __cil_tmp70 ;
 4148  int __cil_tmp71 ;
 4149  unsigned long __cil_tmp72 ;
 4150  int __cil_tmp73 ;
 4151  unsigned long __cil_tmp74 ;
 4152  unsigned long __cil_tmp75 ;
 4153  unsigned long __cil_tmp76 ;
 4154  unsigned long __cil_tmp77 ;
 4155  map_word *__cil_tmp78 ;
 4156
 4157  {
 4158#line 330
 4159  __cil_tmp23 = 0 * 8UL;
 4160#line 330
 4161  __cil_tmp24 = 0 + __cil_tmp23;
 4162#line 330
 4163  __cil_tmp25 = (unsigned long )(& val) + __cil_tmp24;
 4164#line 330
 4165  *((unsigned long *)__cil_tmp25) = 0UL;
 4166#line 330
 4167  __cil_tmp26 = 1 * 8UL;
 4168#line 330
 4169  __cil_tmp27 = 0 + __cil_tmp26;
 4170#line 330
 4171  __cil_tmp28 = (unsigned long )(& val) + __cil_tmp27;
 4172#line 330
 4173  *((unsigned long *)__cil_tmp28) = 0UL;
 4174#line 330
 4175  __cil_tmp29 = 2 * 8UL;
 4176#line 330
 4177  __cil_tmp30 = 0 + __cil_tmp29;
 4178#line 330
 4179  __cil_tmp31 = (unsigned long )(& val) + __cil_tmp30;
 4180#line 330
 4181  *((unsigned long *)__cil_tmp31) = 0UL;
 4182#line 330
 4183  __cil_tmp32 = 3 * 8UL;
 4184#line 330
 4185  __cil_tmp33 = 0 + __cil_tmp32;
 4186#line 330
 4187  __cil_tmp34 = (unsigned long )(& val) + __cil_tmp33;
 4188#line 330
 4189  *((unsigned long *)__cil_tmp34) = 0UL;
 4190  {
 4191#line 339
 4192  __cil_tmp35 = (unsigned long )map;
 4193#line 339
 4194  __cil_tmp36 = __cil_tmp35 + 44;
 4195#line 339
 4196  __cil_tmp37 = *((int *)__cil_tmp36);
 4197#line 339
 4198  if (__cil_tmp37 > 8) {
 4199#line 340
 4200    wordwidth = (int )8UL;
 4201#line 341
 4202    __cil_tmp38 = (unsigned long )map;
 4203#line 341
 4204    __cil_tmp39 = __cil_tmp38 + 44;
 4205#line 341
 4206    __cil_tmp40 = *((int *)__cil_tmp39);
 4207#line 341
 4208    words_per_bus = __cil_tmp40 / wordwidth;
 4209  } else {
 4210#line 343
 4211    __cil_tmp41 = (unsigned long )map;
 4212#line 343
 4213    __cil_tmp42 = __cil_tmp41 + 44;
 4214#line 343
 4215    wordwidth = *((int *)__cil_tmp42);
 4216#line 344
 4217    words_per_bus = 1;
 4218  }
 4219  }
 4220#line 347
 4221  __cil_tmp43 = (unsigned long )cfi;
 4222#line 347
 4223  __cil_tmp44 = __cil_tmp43 + 16;
 4224#line 347
 4225  __cil_tmp45 = *((int *)__cil_tmp44);
 4226#line 347
 4227  __cil_tmp46 = (unsigned long )map;
 4228#line 347
 4229  __cil_tmp47 = __cil_tmp46 + 44;
 4230#line 347
 4231  __cil_tmp48 = *((int *)__cil_tmp47);
 4232#line 347
 4233  chip_mode = __cil_tmp48 / __cil_tmp45;
 4234#line 348
 4235  __cil_tmp49 = (unsigned long )map;
 4236#line 348
 4237  __cil_tmp50 = __cil_tmp49 + 44;
 4238#line 348
 4239  __cil_tmp51 = *((int *)__cil_tmp50);
 4240#line 348
 4241  __cil_tmp52 = (unsigned long )cfi;
 4242#line 348
 4243  __cil_tmp53 = __cil_tmp52 + 16;
 4244#line 348
 4245  __cil_tmp54 = *((int *)__cil_tmp53);
 4246#line 348
 4247  __cil_tmp55 = wordwidth * __cil_tmp54;
 4248#line 348
 4249  chips_per_word = __cil_tmp55 / __cil_tmp51;
 4250#line 354
 4251  if (chip_mode == 1) {
 4252#line 354
 4253    goto case_1;
 4254  } else
 4255#line 357
 4256  if (chip_mode == 2) {
 4257#line 357
 4258    goto case_2;
 4259  } else
 4260#line 360
 4261  if (chip_mode == 4) {
 4262#line 360
 4263    goto case_4;
 4264  } else {
 4265    {
 4266#line 353
 4267    goto switch_default;
 4268#line 352
 4269    if (0) {
 4270      switch_default: /* CIL Label */ 
 4271      {
 4272#line 353
 4273      while (1) {
 4274        while_continue: /* CIL Label */ ;
 4275#line 353
 4276        __asm__  volatile   ("1:\tud2\n"
 4277                             ".pushsection __bug_table,\"a\"\n"
 4278                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 4279                             "\t.word %c1, 0\n"
 4280                             "\t.org 2b+%c2\n"
 4281                             ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (353),
 4282                             "i" (12UL));
 4283        {
 4284#line 353
 4285        while (1) {
 4286          while_continue___0: /* CIL Label */ ;
 4287        }
 4288        while_break___0: /* CIL Label */ ;
 4289        }
 4290#line 353
 4291        goto while_break;
 4292      }
 4293      while_break: /* CIL Label */ ;
 4294      }
 4295      case_1: /* CIL Label */ 
 4296#line 355
 4297      onecmd = cmd;
 4298#line 356
 4299      goto switch_break;
 4300      case_2: /* CIL Label */ 
 4301#line 358
 4302      __cil_tmp56 = (unsigned long )map;
 4303#line 358
 4304      __cil_tmp57 = __cil_tmp56 + 40;
 4305#line 358
 4306      tmp___12 = *((int *)__cil_tmp57);
 4307#line 358
 4308      if (tmp___12) {
 4309
 4310      } else {
 4311#line 358
 4312        tmp___12 = 1;
 4313      }
 4314#line 358
 4315      if (tmp___12 == 1) {
 4316#line 358
 4317        onecmd = cmd;
 4318      } else {
 4319#line 358
 4320        __cil_tmp58 = (unsigned long )map;
 4321#line 358
 4322        __cil_tmp59 = __cil_tmp58 + 40;
 4323#line 358
 4324        tmp___11 = *((int *)__cil_tmp59);
 4325#line 358
 4326        if (tmp___11) {
 4327
 4328        } else {
 4329#line 358
 4330          tmp___11 = 1;
 4331        }
 4332#line 358
 4333        if (tmp___11 == 3) {
 4334          {
 4335#line 358
 4336          __cil_tmp60 = (__u16 )cmd;
 4337#line 358
 4338          tmp___9 = __fswab16(__cil_tmp60);
 4339#line 358
 4340          __cil_tmp61 = (int )tmp___9;
 4341#line 358
 4342          __cil_tmp62 = (__be16 )__cil_tmp61;
 4343#line 358
 4344          tmp___10 = (int )__cil_tmp62;
 4345          }
 4346        } else {
 4347#line 358
 4348          __cil_tmp63 = (__u16 )cmd;
 4349#line 358
 4350          tmp___10 = (int )__cil_tmp63;
 4351        }
 4352#line 358
 4353        onecmd = (unsigned long )tmp___10;
 4354      }
 4355#line 359
 4356      goto switch_break;
 4357      case_4: /* CIL Label */ 
 4358#line 361
 4359      __cil_tmp64 = (unsigned long )map;
 4360#line 361
 4361      __cil_tmp65 = __cil_tmp64 + 40;
 4362#line 361
 4363      tmp___18 = *((int *)__cil_tmp65);
 4364#line 361
 4365      if (tmp___18) {
 4366
 4367      } else {
 4368#line 361
 4369        tmp___18 = 1;
 4370      }
 4371#line 361
 4372      if (tmp___18 == 1) {
 4373#line 361
 4374        onecmd = cmd;
 4375      } else {
 4376#line 361
 4377        __cil_tmp66 = (unsigned long )map;
 4378#line 361
 4379        __cil_tmp67 = __cil_tmp66 + 40;
 4380#line 361
 4381        tmp___17 = *((int *)__cil_tmp67);
 4382#line 361
 4383        if (tmp___17) {
 4384
 4385        } else {
 4386#line 361
 4387          tmp___17 = 1;
 4388        }
 4389#line 361
 4390        if (tmp___17 == 3) {
 4391          {
 4392#line 361
 4393          __cil_tmp68 = (__u32 )cmd;
 4394#line 361
 4395          tmp___15 = __fswab32(__cil_tmp68);
 4396#line 361
 4397          tmp___16 = tmp___15;
 4398          }
 4399        } else {
 4400#line 361
 4401          tmp___16 = (__u32 )cmd;
 4402        }
 4403#line 361
 4404        onecmd = (unsigned long )tmp___16;
 4405      }
 4406#line 362
 4407      goto switch_break;
 4408    } else {
 4409      switch_break: /* CIL Label */ ;
 4410    }
 4411    }
 4412  }
 4413#line 370
 4414  if (chips_per_word == 8) {
 4415#line 370
 4416    goto case_8;
 4417  } else
 4418#line 373
 4419  if (chips_per_word == 4) {
 4420#line 373
 4421    goto case_4___0;
 4422  } else
 4423#line 375
 4424  if (chips_per_word == 2) {
 4425#line 375
 4426    goto case_2___0;
 4427  } else
 4428#line 377
 4429  if (chips_per_word == 1) {
 4430#line 377
 4431    goto case_1___0;
 4432  } else {
 4433    {
 4434#line 368
 4435    goto switch_default___0;
 4436#line 367
 4437    if (0) {
 4438      switch_default___0: /* CIL Label */ 
 4439      {
 4440#line 368
 4441      while (1) {
 4442        while_continue___1: /* CIL Label */ ;
 4443#line 368
 4444        __asm__  volatile   ("1:\tud2\n"
 4445                             ".pushsection __bug_table,\"a\"\n"
 4446                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 4447                             "\t.word %c1, 0\n"
 4448                             "\t.org 2b+%c2\n"
 4449                             ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (368),
 4450                             "i" (12UL));
 4451        {
 4452#line 368
 4453        while (1) {
 4454          while_continue___2: /* CIL Label */ ;
 4455        }
 4456        while_break___2: /* CIL Label */ ;
 4457        }
 4458#line 368
 4459        goto while_break___1;
 4460      }
 4461      while_break___1: /* CIL Label */ ;
 4462      }
 4463      case_8: /* CIL Label */ 
 4464#line 371
 4465      __cil_tmp69 = chip_mode * 32;
 4466#line 371
 4467      __cil_tmp70 = onecmd << __cil_tmp69;
 4468#line 371
 4469      onecmd = onecmd | __cil_tmp70;
 4470      case_4___0: /* CIL Label */ 
 4471#line 374
 4472      __cil_tmp71 = chip_mode * 16;
 4473#line 374
 4474      __cil_tmp72 = onecmd << __cil_tmp71;
 4475#line 374
 4476      onecmd = onecmd | __cil_tmp72;
 4477      case_2___0: /* CIL Label */ 
 4478#line 376
 4479      __cil_tmp73 = chip_mode * 8;
 4480#line 376
 4481      __cil_tmp74 = onecmd << __cil_tmp73;
 4482#line 376
 4483      onecmd = onecmd | __cil_tmp74;
 4484      case_1___0: /* CIL Label */ ;
 4485    } else {
 4486      switch_break___0: /* CIL Label */ ;
 4487    }
 4488    }
 4489  }
 4490#line 383
 4491  i = 0;
 4492  {
 4493#line 383
 4494  while (1) {
 4495    while_continue___3: /* CIL Label */ ;
 4496#line 383
 4497    if (i < words_per_bus) {
 4498
 4499    } else {
 4500#line 383
 4501      goto while_break___3;
 4502    }
 4503#line 384
 4504    __cil_tmp75 = i * 8UL;
 4505#line 384
 4506    __cil_tmp76 = 0 + __cil_tmp75;
 4507#line 384
 4508    __cil_tmp77 = (unsigned long )(& val) + __cil_tmp76;
 4509#line 384
 4510    *((unsigned long *)__cil_tmp77) = onecmd;
 4511#line 383
 4512    i = i + 1;
 4513  }
 4514  while_break___3: /* CIL Label */ ;
 4515  }
 4516  {
 4517#line 387
 4518  __cil_tmp78 = & val;
 4519#line 387
 4520  return (*__cil_tmp78);
 4521  }
 4522}
 4523}
 4524#line 392
 4525__inline static unsigned long cfi_merge_status(map_word val , struct map_info *map ,
 4526                                               struct cfi_private *cfi )  __attribute__((__no_instrument_function__)) ;
 4527#line 392 "include/linux/mtd/cfi.h"
 4528__inline static unsigned long cfi_merge_status(map_word val , struct map_info *map ,
 4529                                               struct cfi_private *cfi ) 
 4530{ int wordwidth ;
 4531  int words_per_bus ;
 4532  int chip_mode ;
 4533  int chips_per_word ;
 4534  unsigned long onestat ;
 4535  unsigned long res ;
 4536  int i ;
 4537  __u16 tmp___9 ;
 4538  int tmp___10 ;
 4539  int tmp___11 ;
 4540  int tmp___12 ;
 4541  __u32 tmp___15 ;
 4542  __u32 tmp___16 ;
 4543  int tmp___17 ;
 4544  int tmp___18 ;
 4545  unsigned long __cil_tmp23 ;
 4546  unsigned long __cil_tmp24 ;
 4547  int __cil_tmp25 ;
 4548  unsigned long __cil_tmp26 ;
 4549  unsigned long __cil_tmp27 ;
 4550  int __cil_tmp28 ;
 4551  unsigned long __cil_tmp29 ;
 4552  unsigned long __cil_tmp30 ;
 4553  unsigned long __cil_tmp31 ;
 4554  unsigned long __cil_tmp32 ;
 4555  int __cil_tmp33 ;
 4556  unsigned long __cil_tmp34 ;
 4557  unsigned long __cil_tmp35 ;
 4558  int __cil_tmp36 ;
 4559  unsigned long __cil_tmp37 ;
 4560  unsigned long __cil_tmp38 ;
 4561  int __cil_tmp39 ;
 4562  unsigned long __cil_tmp40 ;
 4563  unsigned long __cil_tmp41 ;
 4564  int __cil_tmp42 ;
 4565  int __cil_tmp43 ;
 4566  unsigned long __cil_tmp44 ;
 4567  unsigned long __cil_tmp45 ;
 4568  unsigned long __cil_tmp46 ;
 4569  unsigned long __cil_tmp47 ;
 4570  unsigned long __cil_tmp48 ;
 4571  unsigned long __cil_tmp49 ;
 4572  unsigned long __cil_tmp50 ;
 4573  int __cil_tmp51 ;
 4574  unsigned long __cil_tmp52 ;
 4575  int __cil_tmp53 ;
 4576  unsigned long __cil_tmp54 ;
 4577  int __cil_tmp55 ;
 4578  unsigned long __cil_tmp56 ;
 4579  unsigned long __cil_tmp57 ;
 4580  unsigned long __cil_tmp58 ;
 4581  unsigned long __cil_tmp59 ;
 4582  unsigned long __cil_tmp60 ;
 4583  __be16 __cil_tmp61 ;
 4584  __le16 __cil_tmp62 ;
 4585  unsigned long __cil_tmp63 ;
 4586  unsigned long __cil_tmp64 ;
 4587  unsigned long __cil_tmp65 ;
 4588  unsigned long __cil_tmp66 ;
 4589  __be32 __cil_tmp67 ;
 4590
 4591  {
 4592#line 396
 4593  res = 0UL;
 4594  {
 4595#line 403
 4596  __cil_tmp23 = (unsigned long )map;
 4597#line 403
 4598  __cil_tmp24 = __cil_tmp23 + 44;
 4599#line 403
 4600  __cil_tmp25 = *((int *)__cil_tmp24);
 4601#line 403
 4602  if (__cil_tmp25 > 8) {
 4603#line 404
 4604    wordwidth = (int )8UL;
 4605#line 405
 4606    __cil_tmp26 = (unsigned long )map;
 4607#line 405
 4608    __cil_tmp27 = __cil_tmp26 + 44;
 4609#line 405
 4610    __cil_tmp28 = *((int *)__cil_tmp27);
 4611#line 405
 4612    words_per_bus = __cil_tmp28 / wordwidth;
 4613  } else {
 4614#line 407
 4615    __cil_tmp29 = (unsigned long )map;
 4616#line 407
 4617    __cil_tmp30 = __cil_tmp29 + 44;
 4618#line 407
 4619    wordwidth = *((int *)__cil_tmp30);
 4620#line 408
 4621    words_per_bus = 1;
 4622  }
 4623  }
 4624#line 411
 4625  __cil_tmp31 = (unsigned long )cfi;
 4626#line 411
 4627  __cil_tmp32 = __cil_tmp31 + 16;
 4628#line 411
 4629  __cil_tmp33 = *((int *)__cil_tmp32);
 4630#line 411
 4631  __cil_tmp34 = (unsigned long )map;
 4632#line 411
 4633  __cil_tmp35 = __cil_tmp34 + 44;
 4634#line 411
 4635  __cil_tmp36 = *((int *)__cil_tmp35);
 4636#line 411
 4637  chip_mode = __cil_tmp36 / __cil_tmp33;
 4638#line 412
 4639  __cil_tmp37 = (unsigned long )map;
 4640#line 412
 4641  __cil_tmp38 = __cil_tmp37 + 44;
 4642#line 412
 4643  __cil_tmp39 = *((int *)__cil_tmp38);
 4644#line 412
 4645  __cil_tmp40 = (unsigned long )cfi;
 4646#line 412
 4647  __cil_tmp41 = __cil_tmp40 + 16;
 4648#line 412
 4649  __cil_tmp42 = *((int *)__cil_tmp41);
 4650#line 412
 4651  __cil_tmp43 = wordwidth * __cil_tmp42;
 4652#line 412
 4653  chips_per_word = __cil_tmp43 / __cil_tmp39;
 4654#line 414
 4655  __cil_tmp44 = 0 * 8UL;
 4656#line 414
 4657  __cil_tmp45 = 0 + __cil_tmp44;
 4658#line 414
 4659  __cil_tmp46 = (unsigned long )(& val) + __cil_tmp45;
 4660#line 414
 4661  onestat = *((unsigned long *)__cil_tmp46);
 4662#line 416
 4663  i = 1;
 4664  {
 4665#line 416
 4666  while (1) {
 4667    while_continue: /* CIL Label */ ;
 4668#line 416
 4669    if (i < words_per_bus) {
 4670
 4671    } else {
 4672#line 416
 4673      goto while_break;
 4674    }
 4675#line 417
 4676    __cil_tmp47 = i * 8UL;
 4677#line 417
 4678    __cil_tmp48 = 0 + __cil_tmp47;
 4679#line 417
 4680    __cil_tmp49 = (unsigned long )(& val) + __cil_tmp48;
 4681#line 417
 4682    __cil_tmp50 = *((unsigned long *)__cil_tmp49);
 4683#line 417
 4684    onestat = onestat | __cil_tmp50;
 4685#line 416
 4686    i = i + 1;
 4687  }
 4688  while_break: /* CIL Label */ ;
 4689  }
 4690#line 420
 4691  res = onestat;
 4692#line 424
 4693  if (chips_per_word == 8) {
 4694#line 424
 4695    goto case_8;
 4696  } else
 4697#line 427
 4698  if (chips_per_word == 4) {
 4699#line 427
 4700    goto case_4;
 4701  } else
 4702#line 429
 4703  if (chips_per_word == 2) {
 4704#line 429
 4705    goto case_2;
 4706  } else
 4707#line 431
 4708  if (chips_per_word == 1) {
 4709#line 431
 4710    goto case_1;
 4711  } else {
 4712    {
 4713#line 422
 4714    goto switch_default;
 4715#line 421
 4716    if (0) {
 4717      switch_default: /* CIL Label */ 
 4718      {
 4719#line 422
 4720      while (1) {
 4721        while_continue___0: /* CIL Label */ ;
 4722#line 422
 4723        __asm__  volatile   ("1:\tud2\n"
 4724                             ".pushsection __bug_table,\"a\"\n"
 4725                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 4726                             "\t.word %c1, 0\n"
 4727                             "\t.org 2b+%c2\n"
 4728                             ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (422),
 4729                             "i" (12UL));
 4730        {
 4731#line 422
 4732        while (1) {
 4733          while_continue___1: /* CIL Label */ ;
 4734        }
 4735        while_break___1: /* CIL Label */ ;
 4736        }
 4737#line 422
 4738        goto while_break___0;
 4739      }
 4740      while_break___0: /* CIL Label */ ;
 4741      }
 4742      case_8: /* CIL Label */ 
 4743#line 425
 4744      __cil_tmp51 = chip_mode * 32;
 4745#line 425
 4746      __cil_tmp52 = onestat >> __cil_tmp51;
 4747#line 425
 4748      res = res | __cil_tmp52;
 4749      case_4: /* CIL Label */ 
 4750#line 428
 4751      __cil_tmp53 = chip_mode * 16;
 4752#line 428
 4753      __cil_tmp54 = onestat >> __cil_tmp53;
 4754#line 428
 4755      res = res | __cil_tmp54;
 4756      case_2: /* CIL Label */ 
 4757#line 430
 4758      __cil_tmp55 = chip_mode * 8;
 4759#line 430
 4760      __cil_tmp56 = onestat >> __cil_tmp55;
 4761#line 430
 4762      res = res | __cil_tmp56;
 4763      case_1: /* CIL Label */ ;
 4764    } else {
 4765      switch_break: /* CIL Label */ ;
 4766    }
 4767    }
 4768  }
 4769#line 438
 4770  if (chip_mode == 1) {
 4771#line 438
 4772    goto case_1___0;
 4773  } else
 4774#line 440
 4775  if (chip_mode == 2) {
 4776#line 440
 4777    goto case_2___0;
 4778  } else
 4779#line 443
 4780  if (chip_mode == 4) {
 4781#line 443
 4782    goto case_4___0;
 4783  } else {
 4784    {
 4785#line 446
 4786    goto switch_default___0;
 4787#line 437
 4788    if (0) {
 4789      case_1___0: /* CIL Label */ 
 4790#line 439
 4791      goto switch_break___0;
 4792      case_2___0: /* CIL Label */ 
 4793#line 441
 4794      __cil_tmp57 = (unsigned long )map;
 4795#line 441
 4796      __cil_tmp58 = __cil_tmp57 + 40;
 4797#line 441
 4798      tmp___12 = *((int *)__cil_tmp58);
 4799#line 441
 4800      if (tmp___12) {
 4801
 4802      } else {
 4803#line 441
 4804        tmp___12 = 1;
 4805      }
 4806#line 441
 4807      if (tmp___12 == 1) {
 4808#line 441
 4809        res = res;
 4810      } else {
 4811#line 441
 4812        __cil_tmp59 = (unsigned long )map;
 4813#line 441
 4814        __cil_tmp60 = __cil_tmp59 + 40;
 4815#line 441
 4816        tmp___11 = *((int *)__cil_tmp60);
 4817#line 441
 4818        if (tmp___11) {
 4819
 4820        } else {
 4821#line 441
 4822          tmp___11 = 1;
 4823        }
 4824#line 441
 4825        if (tmp___11 == 3) {
 4826          {
 4827#line 441
 4828          __cil_tmp61 = (__be16 )res;
 4829#line 441
 4830          tmp___9 = __fswab16(__cil_tmp61);
 4831#line 441
 4832          tmp___10 = (int )tmp___9;
 4833          }
 4834        } else {
 4835#line 441
 4836          __cil_tmp62 = (__le16 )res;
 4837#line 441
 4838          tmp___10 = (int )__cil_tmp62;
 4839        }
 4840#line 441
 4841        res = (unsigned long )tmp___10;
 4842      }
 4843#line 442
 4844      goto switch_break___0;
 4845      case_4___0: /* CIL Label */ 
 4846#line 444
 4847      __cil_tmp63 = (unsigned long )map;
 4848#line 444
 4849      __cil_tmp64 = __cil_tmp63 + 40;
 4850#line 444
 4851      tmp___18 = *((int *)__cil_tmp64);
 4852#line 444
 4853      if (tmp___18) {
 4854
 4855      } else {
 4856#line 444
 4857        tmp___18 = 1;
 4858      }
 4859#line 444
 4860      if (tmp___18 == 1) {
 4861#line 444
 4862        res = res;
 4863      } else {
 4864#line 444
 4865        __cil_tmp65 = (unsigned long )map;
 4866#line 444
 4867        __cil_tmp66 = __cil_tmp65 + 40;
 4868#line 444
 4869        tmp___17 = *((int *)__cil_tmp66);
 4870#line 444
 4871        if (tmp___17) {
 4872
 4873        } else {
 4874#line 444
 4875          tmp___17 = 1;
 4876        }
 4877#line 444
 4878        if (tmp___17 == 3) {
 4879          {
 4880#line 444
 4881          __cil_tmp67 = (__be32 )res;
 4882#line 444
 4883          tmp___15 = __fswab32(__cil_tmp67);
 4884#line 444
 4885          tmp___16 = tmp___15;
 4886          }
 4887        } else {
 4888#line 444
 4889          tmp___16 = (__le32 )res;
 4890        }
 4891#line 444
 4892        res = (unsigned long )tmp___16;
 4893      }
 4894#line 445
 4895      goto switch_break___0;
 4896      switch_default___0: /* CIL Label */ 
 4897      {
 4898#line 446
 4899      while (1) {
 4900        while_continue___2: /* CIL Label */ ;
 4901#line 446
 4902        __asm__  volatile   ("1:\tud2\n"
 4903                             ".pushsection __bug_table,\"a\"\n"
 4904                             "2:\t.long 1b - 2b, %c0 - 2b\n"
 4905                             "\t.word %c1, 0\n"
 4906                             "\t.org 2b+%c2\n"
 4907                             ".popsection": : "i" ("include/linux/mtd/cfi.h"), "i" (446),
 4908                             "i" (12UL));
 4909        {
 4910#line 446
 4911        while (1) {
 4912          while_continue___3: /* CIL Label */ ;
 4913        }
 4914        while_break___3: /* CIL Label */ ;
 4915        }
 4916#line 446
 4917        goto while_break___2;
 4918      }
 4919      while_break___2: /* CIL Label */ ;
 4920      }
 4921    } else {
 4922      switch_break___0: /* CIL Label */ ;
 4923    }
 4924    }
 4925  }
 4926#line 448
 4927  return (res);
 4928}
 4929}
 4930#line 477
 4931__inline static uint8_t cfi_read_query(struct map_info *map , uint32_t addr )  __attribute__((__no_instrument_function__)) ;
 4932#line 477 "include/linux/mtd/cfi.h"
 4933__inline static uint8_t cfi_read_query(struct map_info *map , uint32_t addr ) 
 4934{ map_word val ;
 4935  map_word tmp___7 ;
 4936  __u16 tmp___10 ;
 4937  int tmp___11 ;
 4938  int tmp___12 ;
 4939  unsigned long tmp___13 ;
 4940  int tmp___14 ;
 4941  __u32 tmp___17 ;
 4942  __u32 tmp___18 ;
 4943  int tmp___19 ;
 4944  unsigned long tmp___20 ;
 4945  int tmp___21 ;
 4946  unsigned long __cil_tmp19 ;
 4947  unsigned long __cil_tmp20 ;
 4948  map_word (*__cil_tmp21)(struct map_info * , unsigned long  ) ;
 4949  unsigned long __cil_tmp22 ;
 4950  map_word *__cil_tmp23 ;
 4951  unsigned long __cil_tmp24 ;
 4952  unsigned long __cil_tmp25 ;
 4953  int __cil_tmp26 ;
 4954  unsigned long __cil_tmp27 ;
 4955  unsigned long __cil_tmp28 ;
 4956  unsigned long __cil_tmp29 ;
 4957  unsigned long __cil_tmp30 ;
 4958  unsigned long __cil_tmp31 ;
 4959  unsigned long __cil_tmp32 ;
 4960  int __cil_tmp33 ;
 4961  unsigned long __cil_tmp34 ;
 4962  unsigned long __cil_tmp35 ;
 4963  unsigned long __cil_tmp36 ;
 4964  unsigned long __cil_tmp37 ;
 4965  unsigned long __cil_tmp38 ;
 4966  unsigned long __cil_tmp39 ;
 4967  unsigned long __cil_tmp40 ;
 4968  unsigned long __cil_tmp41 ;
 4969  unsigned long __cil_tmp42 ;
 4970  unsigned long __cil_tmp43 ;
 4971  unsigned long __cil_tmp44 ;
 4972  __be16 __cil_tmp45 ;
 4973  unsigned long __cil_tmp46 ;
 4974  unsigned long __cil_tmp47 ;
 4975  unsigned long __cil_tmp48 ;
 4976  unsigned long __cil_tmp49 ;
 4977  __le16 __cil_tmp50 ;
 4978  unsigned long __cil_tmp51 ;
 4979  unsigned long __cil_tmp52 ;
 4980  unsigned long __cil_tmp53 ;
 4981  unsigned long __cil_tmp54 ;
 4982  unsigned long __cil_tmp55 ;
 4983  unsigned long __cil_tmp56 ;
 4984  unsigned long __cil_tmp57 ;
 4985  unsigned long __cil_tmp58 ;
 4986  unsigned long __cil_tmp59 ;
 4987  unsigned long __cil_tmp60 ;
 4988  unsigned long __cil_tmp61 ;
 4989  __be32 __cil_tmp62 ;
 4990  unsigned long __cil_tmp63 ;
 4991  unsigned long __cil_tmp64 ;
 4992  unsigned long __cil_tmp65 ;
 4993  unsigned long __cil_tmp66 ;
 4994
 4995  {
 4996  {
 4997#line 479
 4998  __cil_tmp19 = (unsigned long )map;
 4999#line 479
 5000  __cil_tmp20 = __cil_tmp19 + 48;
 5001#line 479
 5002  __cil_tmp21 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp20);
 5003#line 479
 5004  __cil_tmp22 = (unsigned long )addr;
 5005#line 479
 5006  tmp___7 = (*__cil_tmp21)(map, __cil_tmp22);
 5007#line 479
 5008  __cil_tmp23 = & val;
 5009#line 479
 5010  *__cil_tmp23 = tmp___7;
 5011  }
 5012  {
 5013#line 481
 5014  __cil_tmp24 = (unsigned long )map;
 5015#line 481
 5016  __cil_tmp25 = __cil_tmp24 + 44;
 5017#line 481
 5018  __cil_tmp26 = *((int *)__cil_tmp25);
 5019#line 481
 5020  if (__cil_tmp26 == 1) {
 5021    {
 5022#line 482
 5023    __cil_tmp27 = 0 * 8UL;
 5024#line 482
 5025    __cil_tmp28 = 0 + __cil_tmp27;
 5026#line 482
 5027    __cil_tmp29 = (unsigned long )(& val) + __cil_tmp28;
 5028#line 482
 5029    __cil_tmp30 = *((unsigned long *)__cil_tmp29);
 5030#line 482
 5031    return ((uint8_t )__cil_tmp30);
 5032    }
 5033  } else {
 5034    {
 5035#line 483
 5036    __cil_tmp31 = (unsigned long )map;
 5037#line 483
 5038    __cil_tmp32 = __cil_tmp31 + 44;
 5039#line 483
 5040    __cil_tmp33 = *((int *)__cil_tmp32);
 5041#line 483
 5042    if (__cil_tmp33 == 2) {
 5043#line 484
 5044      __cil_tmp34 = (unsigned long )map;
 5045#line 484
 5046      __cil_tmp35 = __cil_tmp34 + 40;
 5047#line 484
 5048      tmp___14 = *((int *)__cil_tmp35);
 5049#line 484
 5050      if (tmp___14) {
 5051
 5052      } else {
 5053#line 484
 5054        tmp___14 = 1;
 5055      }
 5056#line 484
 5057      if (tmp___14 == 1) {
 5058#line 484
 5059        __cil_tmp36 = 0 * 8UL;
 5060#line 484
 5061        __cil_tmp37 = 0 + __cil_tmp36;
 5062#line 484
 5063        __cil_tmp38 = (unsigned long )(& val) + __cil_tmp37;
 5064#line 484
 5065        tmp___13 = *((unsigned long *)__cil_tmp38);
 5066      } else {
 5067#line 484
 5068        __cil_tmp39 = (unsigned long )map;
 5069#line 484
 5070        __cil_tmp40 = __cil_tmp39 + 40;
 5071#line 484
 5072        tmp___12 = *((int *)__cil_tmp40);
 5073#line 484
 5074        if (tmp___12) {
 5075
 5076        } else {
 5077#line 484
 5078          tmp___12 = 1;
 5079        }
 5080#line 484
 5081        if (tmp___12 == 3) {
 5082          {
 5083#line 484
 5084          __cil_tmp41 = 0 * 8UL;
 5085#line 484
 5086          __cil_tmp42 = 0 + __cil_tmp41;
 5087#line 484
 5088          __cil_tmp43 = (unsigned long )(& val) + __cil_tmp42;
 5089#line 484
 5090          __cil_tmp44 = *((unsigned long *)__cil_tmp43);
 5091#line 484
 5092          __cil_tmp45 = (__be16 )__cil_tmp44;
 5093#line 484
 5094          tmp___10 = __fswab16(__cil_tmp45);
 5095#line 484
 5096          tmp___11 = (int )tmp___10;
 5097          }
 5098        } else {
 5099#line 484
 5100          __cil_tmp46 = 0 * 8UL;
 5101#line 484
 5102          __cil_tmp47 = 0 + __cil_tmp46;
 5103#line 484
 5104          __cil_tmp48 = (unsigned long )(& val) + __cil_tmp47;
 5105#line 484
 5106          __cil_tmp49 = *((unsigned long *)__cil_tmp48);
 5107#line 484
 5108          __cil_tmp50 = (__le16 )__cil_tmp49;
 5109#line 484
 5110          tmp___11 = (int )__cil_tmp50;
 5111        }
 5112#line 484
 5113        tmp___13 = (unsigned long )tmp___11;
 5114      }
 5115#line 484
 5116      return ((uint8_t )tmp___13);
 5117    } else {
 5118#line 489
 5119      __cil_tmp51 = (unsigned long )map;
 5120#line 489
 5121      __cil_tmp52 = __cil_tmp51 + 40;
 5122#line 489
 5123      tmp___21 = *((int *)__cil_tmp52);
 5124#line 489
 5125      if (tmp___21) {
 5126
 5127      } else {
 5128#line 489
 5129        tmp___21 = 1;
 5130      }
 5131#line 489
 5132      if (tmp___21 == 1) {
 5133#line 489
 5134        __cil_tmp53 = 0 * 8UL;
 5135#line 489
 5136        __cil_tmp54 = 0 + __cil_tmp53;
 5137#line 489
 5138        __cil_tmp55 = (unsigned long )(& val) + __cil_tmp54;
 5139#line 489
 5140        tmp___20 = *((unsigned long *)__cil_tmp55);
 5141      } else {
 5142#line 489
 5143        __cil_tmp56 = (unsigned long )map;
 5144#line 489
 5145        __cil_tmp57 = __cil_tmp56 + 40;
 5146#line 489
 5147        tmp___19 = *((int *)__cil_tmp57);
 5148#line 489
 5149        if (tmp___19) {
 5150
 5151        } else {
 5152#line 489
 5153          tmp___19 = 1;
 5154        }
 5155#line 489
 5156        if (tmp___19 == 3) {
 5157          {
 5158#line 489
 5159          __cil_tmp58 = 0 * 8UL;
 5160#line 489
 5161          __cil_tmp59 = 0 + __cil_tmp58;
 5162#line 489
 5163          __cil_tmp60 = (unsigned long )(& val) + __cil_tmp59;
 5164#line 489
 5165          __cil_tmp61 = *((unsigned long *)__cil_tmp60);
 5166#line 489
 5167          __cil_tmp62 = (__be32 )__cil_tmp61;
 5168#line 489
 5169          tmp___17 = __fswab32(__cil_tmp62);
 5170#line 489
 5171          tmp___18 = tmp___17;
 5172          }
 5173        } else {
 5174#line 489
 5175          __cil_tmp63 = 0 * 8UL;
 5176#line 489
 5177          __cil_tmp64 = 0 + __cil_tmp63;
 5178#line 489
 5179          __cil_tmp65 = (unsigned long )(& val) + __cil_tmp64;
 5180#line 489
 5181          __cil_tmp66 = *((unsigned long *)__cil_tmp65);
 5182#line 489
 5183          tmp___18 = (__le32 )__cil_tmp66;
 5184        }
 5185#line 489
 5186        tmp___20 = (unsigned long )tmp___18;
 5187      }
 5188#line 489
 5189      return ((uint8_t )tmp___20);
 5190    }
 5191    }
 5192  }
 5193  }
 5194}
 5195}
 5196#line 509
 5197__inline static void cfi_udelay(int us )  __attribute__((__no_instrument_function__)) ;
 5198#line 509 "include/linux/mtd/cfi.h"
 5199__inline static void cfi_udelay(int us ) 
 5200{ int __cil_tmp2 ;
 5201  int __cil_tmp3 ;
 5202  unsigned int __cil_tmp4 ;
 5203  unsigned long __cil_tmp5 ;
 5204
 5205  {
 5206#line 511
 5207  if (us >= 1000) {
 5208    {
 5209#line 512
 5210    __cil_tmp2 = us + 999;
 5211#line 512
 5212    __cil_tmp3 = __cil_tmp2 / 1000;
 5213#line 512
 5214    __cil_tmp4 = (unsigned int )__cil_tmp3;
 5215#line 512
 5216    msleep(__cil_tmp4);
 5217    }
 5218  } else {
 5219    {
 5220#line 514
 5221    __cil_tmp5 = (unsigned long )us;
 5222#line 514
 5223    __udelay(__cil_tmp5);
 5224#line 515
 5225    __might_sleep("include/linux/mtd/cfi.h", 515, 0);
 5226#line 515
 5227    _cond_resched();
 5228    }
 5229  }
 5230#line 517
 5231  return;
 5232}
 5233}
 5234#line 526
 5235extern struct cfi_extquery *cfi_read_pri(struct map_info *map , uint16_t adr , uint16_t size ,
 5236                                         char    *name ) ;
 5237#line 555
 5238extern void cfi_fixup(struct mtd_info *mtd , struct cfi_fixup *fixups ) ;
 5239#line 560
 5240extern int cfi_varsize_frob(struct mtd_info *mtd , int (*frob)(struct map_info *map ,
 5241                                                               struct flchip *chip ,
 5242                                                               unsigned long adr ,
 5243                                                               int len , void *thunk ) ,
 5244                            loff_t ofs , size_t len , void *thunk ) ;
 5245#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 5246static int cfi_intelext_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 5247                             u_char *buf ) ;
 5248#line 59
 5249static int cfi_intelext_write_words(struct mtd_info *mtd , loff_t to , size_t len ,
 5250                                    size_t *retlen , u_char    *buf ) ;
 5251#line 60
 5252static int cfi_intelext_write_buffers(struct mtd_info *mtd , loff_t to , size_t len ,
 5253                                      size_t *retlen , u_char    *buf ) ;
 5254#line 61
 5255static int cfi_intelext_writev(struct mtd_info *mtd , struct kvec    *vecs ,
 5256                               unsigned long count , loff_t to , size_t *retlen ) ;
 5257#line 62
 5258static int cfi_intelext_erase_varsize(struct mtd_info *mtd , struct erase_info *instr ) ;
 5259#line 63
 5260static void cfi_intelext_sync(struct mtd_info *mtd ) ;
 5261#line 64
 5262static int cfi_intelext_lock(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
 5263#line 65
 5264static int cfi_intelext_unlock(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
 5265#line 66
 5266static int cfi_intelext_is_locked(struct mtd_info *mtd , loff_t ofs , uint64_t len ) ;
 5267#line 69
 5268static int cfi_intelext_read_fact_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
 5269                                           size_t *retlen , u_char *buf ) ;
 5270#line 70
 5271static int cfi_intelext_read_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
 5272                                           size_t *retlen , u_char *buf ) ;
 5273#line 71
 5274static int cfi_intelext_write_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
 5275                                            size_t *retlen , u_char *buf ) ;
 5276#line 72
 5277static int cfi_intelext_lock_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ) ;
 5278#line 73
 5279static int cfi_intelext_get_fact_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
 5280                                           size_t len ) ;
 5281#line 75
 5282static int cfi_intelext_get_user_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
 5283                                           size_t len ) ;
 5284#line 78
 5285static int cfi_intelext_suspend(struct mtd_info *mtd ) ;
 5286#line 79
 5287static void cfi_intelext_resume(struct mtd_info *mtd ) ;
 5288#line 80
 5289static int cfi_intelext_reboot(struct notifier_block *nb , unsigned long val , void *v ) ;
 5290#line 82
 5291static void cfi_intelext_destroy(struct mtd_info *mtd ) ;
 5292#line 84
 5293struct mtd_info *cfi_cmdset_0001(struct map_info *map , int primary ) ;
 5294#line 86
 5295static struct mtd_info *cfi_intelext_setup(struct mtd_info *mtd ) ;
 5296#line 87
 5297static int cfi_intelext_partition_fixup(struct mtd_info *mtd , struct cfi_private **pcfi ) ;
 5298#line 89
 5299static int cfi_intelext_point(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 5300                              void **virt , resource_size_t *phys ) ;
 5301#line 91
 5302static int cfi_intelext_unpoint(struct mtd_info *mtd , loff_t from , size_t len ) ;
 5303#line 93
 5304static int chip_ready(struct map_info *map , struct flchip *chip , unsigned long adr ,
 5305                      int mode ) ;
 5306#line 94
 5307static int get_chip(struct map_info *map , struct flchip *chip , unsigned long adr ,
 5308                    int mode ) ;
 5309#line 95
 5310static void put_chip(struct map_info *map , struct flchip *chip , unsigned long adr ) ;
 5311#line 37 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 5312static int fwh_xxlock_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
 5313                               int len , void *thunk ) ;
 5314#line 37 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 5315static struct _ddebug  __attribute__((__aligned__(8))) descriptor  __attribute__((__used__,
 5316__section__("__verbose")))  =    {"cfi_cmdset_0001", "fwh_xxlock_oneblock", "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h",
 5317    "MTD %s(): chip->start: %lx wanted >= 0x400000\n", 38U, 0U};
 5318#line 28 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 5319static int fwh_xxlock_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
 5320                               int len , void *thunk ) 
 5321{ struct cfi_private *cfi ;
 5322  struct fwh_xxlock_thunk *xxlt ;
 5323  int ret ;
 5324  long tmp___7 ;
 5325  map_word tmp___8 ;
 5326  unsigned long __cil_tmp11 ;
 5327  unsigned long __cil_tmp12 ;
 5328  void *__cil_tmp13 ;
 5329  unsigned long __cil_tmp14 ;
 5330  struct _ddebug  __attribute__((__aligned__(8))) *__cil_tmp15 ;
 5331  unsigned int __cil_tmp16 ;
 5332  unsigned int __cil_tmp17 ;
 5333  int __cil_tmp18 ;
 5334  int __cil_tmp19 ;
 5335  long __cil_tmp20 ;
 5336  unsigned long __cil_tmp21 ;
 5337  unsigned long __cil_tmp22 ;
 5338  unsigned long __cil_tmp23 ;
 5339  unsigned long __cil_tmp24 ;
 5340  unsigned long __cil_tmp25 ;
 5341  unsigned long __cil_tmp26 ;
 5342  struct mutex *__cil_tmp27 ;
 5343  unsigned long __cil_tmp28 ;
 5344  unsigned long __cil_tmp29 ;
 5345  struct mutex *__cil_tmp30 ;
 5346  unsigned long __cil_tmp31 ;
 5347  unsigned long __cil_tmp32 ;
 5348  unsigned long __cil_tmp33 ;
 5349  unsigned long __cil_tmp34 ;
 5350  unsigned long __cil_tmp35 ;
 5351  unsigned long __cil_tmp36 ;
 5352  unsigned long __cil_tmp37 ;
 5353  unsigned long __cil_tmp38 ;
 5354  enum fwh_lock_state __cil_tmp39 ;
 5355  u_long __cil_tmp40 ;
 5356  unsigned long __cil_tmp41 ;
 5357  unsigned long __cil_tmp42 ;
 5358  void (*__cil_tmp43)(struct map_info * , map_word     , unsigned long  ) ;
 5359  map_word    __cil_tmp44 ;
 5360  unsigned long __cil_tmp45 ;
 5361  unsigned long __cil_tmp46 ;
 5362  unsigned long __cil_tmp47 ;
 5363  unsigned long __cil_tmp48 ;
 5364  unsigned long __cil_tmp49 ;
 5365  unsigned long __cil_tmp50 ;
 5366  struct mutex *__cil_tmp51 ;
 5367
 5368  {
 5369#line 31
 5370  __cil_tmp11 = (unsigned long )map;
 5371#line 31
 5372  __cil_tmp12 = __cil_tmp11 + 120;
 5373#line 31
 5374  __cil_tmp13 = *((void **)__cil_tmp12);
 5375#line 31
 5376  cfi = (struct cfi_private *)__cil_tmp13;
 5377#line 32
 5378  xxlt = (struct fwh_xxlock_thunk *)thunk;
 5379  {
 5380#line 36
 5381  __cil_tmp14 = *((unsigned long *)chip);
 5382#line 36
 5383  if (__cil_tmp14 < 4194304UL) {
 5384    {
 5385#line 37
 5386    while (1) {
 5387      while_continue: /* CIL Label */ ;
 5388      {
 5389#line 37
 5390      __cil_tmp15 = & descriptor;
 5391#line 37
 5392      __cil_tmp16 = __cil_tmp15->flags;
 5393#line 37
 5394      __cil_tmp17 = __cil_tmp16 & 1U;
 5395#line 37
 5396      __cil_tmp18 = ! __cil_tmp17;
 5397#line 37
 5398      __cil_tmp19 = ! __cil_tmp18;
 5399#line 37
 5400      __cil_tmp20 = (long )__cil_tmp19;
 5401#line 37
 5402      tmp___7 = __builtin_expect(__cil_tmp20, 0L);
 5403      }
 5404#line 37
 5405      if (tmp___7) {
 5406        {
 5407#line 37
 5408        __cil_tmp21 = *((unsigned long *)chip);
 5409#line 37
 5410        __dynamic_pr_debug(& descriptor, "MTD %s(): chip->start: %lx wanted >= 0x400000\n",
 5411                           "fwh_xxlock_oneblock", __cil_tmp21);
 5412        }
 5413      } else {
 5414
 5415      }
 5416#line 37
 5417      goto while_break;
 5418    }
 5419    while_break: /* CIL Label */ ;
 5420    }
 5421#line 39
 5422    return (-5);
 5423  } else {
 5424
 5425  }
 5426  }
 5427  {
 5428#line 52
 5429  __cil_tmp22 = adr & 0xffffffffffff0000UL;
 5430#line 52
 5431  adr = __cil_tmp22 | 2UL;
 5432#line 53
 5433  __cil_tmp23 = *((unsigned long *)chip);
 5434#line 53
 5435  __cil_tmp24 = __cil_tmp23 - 4194304UL;
 5436#line 53
 5437  adr = adr + __cil_tmp24;
 5438#line 60
 5439  __cil_tmp25 = (unsigned long )chip;
 5440#line 60
 5441  __cil_tmp26 = __cil_tmp25 + 32;
 5442#line 60
 5443  __cil_tmp27 = (struct mutex *)__cil_tmp26;
 5444#line 60
 5445  mutex_lock(__cil_tmp27);
 5446#line 61
 5447  ret = get_chip(map, chip, adr, 15);
 5448  }
 5449#line 62
 5450  if (ret) {
 5451    {
 5452#line 63
 5453    __cil_tmp28 = (unsigned long )chip;
 5454#line 63
 5455    __cil_tmp29 = __cil_tmp28 + 32;
 5456#line 63
 5457    __cil_tmp30 = (struct mutex *)__cil_tmp29;
 5458#line 63
 5459    mutex_unlock(__cil_tmp30);
 5460    }
 5461#line 64
 5462    return (ret);
 5463  } else {
 5464
 5465  }
 5466  {
 5467#line 67
 5468  __cil_tmp31 = (unsigned long )chip;
 5469#line 67
 5470  __cil_tmp32 = __cil_tmp31 + 16;
 5471#line 67
 5472  __cil_tmp33 = (unsigned long )chip;
 5473#line 67
 5474  __cil_tmp34 = __cil_tmp33 + 12;
 5475#line 67
 5476  *((flstate_t *)__cil_tmp32) = *((flstate_t *)__cil_tmp34);
 5477#line 68
 5478  __cil_tmp35 = (unsigned long )chip;
 5479#line 68
 5480  __cil_tmp36 = __cil_tmp35 + 12;
 5481#line 68
 5482  __cil_tmp37 = (unsigned long )xxlt;
 5483#line 68
 5484  __cil_tmp38 = __cil_tmp37 + 4;
 5485#line 68
 5486  *((flstate_t *)__cil_tmp36) = *((flstate_t *)__cil_tmp38);
 5487#line 69
 5488  __cil_tmp39 = *((enum fwh_lock_state *)xxlt);
 5489#line 69
 5490  __cil_tmp40 = (u_long )__cil_tmp39;
 5491#line 69
 5492  tmp___8 = cfi_build_cmd(__cil_tmp40, map, cfi);
 5493#line 69
 5494  __cil_tmp41 = (unsigned long )map;
 5495#line 69
 5496  __cil_tmp42 = __cil_tmp41 + 64;
 5497#line 69
 5498  __cil_tmp43 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp42);
 5499#line 69
 5500  __cil_tmp44 = (map_word    )tmp___8;
 5501#line 69
 5502  (*__cil_tmp43)(map, __cil_tmp44, adr);
 5503#line 72
 5504  __cil_tmp45 = (unsigned long )chip;
 5505#line 72
 5506  __cil_tmp46 = __cil_tmp45 + 12;
 5507#line 72
 5508  __cil_tmp47 = (unsigned long )chip;
 5509#line 72
 5510  __cil_tmp48 = __cil_tmp47 + 16;
 5511#line 72
 5512  *((flstate_t *)__cil_tmp46) = *((flstate_t *)__cil_tmp48);
 5513#line 73
 5514  put_chip(map, chip, adr);
 5515#line 74
 5516  __cil_tmp49 = (unsigned long )chip;
 5517#line 74
 5518  __cil_tmp50 = __cil_tmp49 + 32;
 5519#line 74
 5520  __cil_tmp51 = (struct mutex *)__cil_tmp50;
 5521#line 74
 5522  mutex_unlock(__cil_tmp51);
 5523  }
 5524#line 75
 5525  return (0);
 5526}
 5527}
 5528#line 79 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 5529static int fwh_lock_varsize(struct mtd_info *mtd , loff_t ofs , uint64_t len ) 
 5530{ int ret ;
 5531  struct fwh_xxlock_thunk __r_expr_0 ;
 5532  struct fwh_xxlock_thunk *__cil_tmp6 ;
 5533  unsigned long __cil_tmp7 ;
 5534  size_t __cil_tmp8 ;
 5535  void *__cil_tmp9 ;
 5536
 5537  {
 5538  {
 5539#line 83
 5540  __cil_tmp6 = & __r_expr_0;
 5541#line 83
 5542  *((enum fwh_lock_state *)__cil_tmp6) = (enum fwh_lock_state )1;
 5543#line 83
 5544  __cil_tmp7 = (unsigned long )(& __r_expr_0) + 4;
 5545#line 83
 5546  *((flstate_t *)__cil_tmp7) = (flstate_t )15;
 5547#line 83
 5548  __cil_tmp8 = (size_t )len;
 5549#line 83
 5550  __cil_tmp9 = (void *)(& __r_expr_0);
 5551#line 83
 5552  ret = cfi_varsize_frob(mtd, & fwh_xxlock_oneblock, ofs, __cil_tmp8, __cil_tmp9);
 5553  }
 5554#line 86
 5555  return (ret);
 5556}
 5557}
 5558#line 90 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 5559static int fwh_unlock_varsize(struct mtd_info *mtd , loff_t ofs , uint64_t len ) 
 5560{ int ret ;
 5561  struct fwh_xxlock_thunk __r_expr_0 ;
 5562  struct fwh_xxlock_thunk *__cil_tmp6 ;
 5563  unsigned long __cil_tmp7 ;
 5564  size_t __cil_tmp8 ;
 5565  void *__cil_tmp9 ;
 5566
 5567  {
 5568  {
 5569#line 94
 5570  __cil_tmp6 = & __r_expr_0;
 5571#line 94
 5572  *((enum fwh_lock_state *)__cil_tmp6) = (enum fwh_lock_state )0;
 5573#line 94
 5574  __cil_tmp7 = (unsigned long )(& __r_expr_0) + 4;
 5575#line 94
 5576  *((flstate_t *)__cil_tmp7) = (flstate_t )16;
 5577#line 94
 5578  __cil_tmp8 = (size_t )len;
 5579#line 94
 5580  __cil_tmp9 = (void *)(& __r_expr_0);
 5581#line 94
 5582  ret = cfi_varsize_frob(mtd, & fwh_xxlock_oneblock, ofs, __cil_tmp8, __cil_tmp9);
 5583  }
 5584#line 97
 5585  return (ret);
 5586}
 5587}
 5588#line 100 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/mtd/chips/fwh_lock.h"
 5589static void fixup_use_fwh_lock(struct mtd_info *mtd ) 
 5590{ unsigned long __cil_tmp2 ;
 5591  unsigned long __cil_tmp3 ;
 5592  unsigned long __cil_tmp4 ;
 5593  unsigned long __cil_tmp5 ;
 5594
 5595  {
 5596  {
 5597#line 102
 5598  printk("<5>using fwh lock/unlock method\n");
 5599#line 104
 5600  __cil_tmp2 = (unsigned long )mtd;
 5601#line 104
 5602  __cil_tmp3 = __cil_tmp2 + 232;
 5603#line 104
 5604  *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp3) = & fwh_lock_varsize;
 5605#line 105
 5606  __cil_tmp4 = (unsigned long )mtd;
 5607#line 105
 5608  __cil_tmp5 = __cil_tmp4 + 240;
 5609#line 105
 5610  *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp5) = & fwh_unlock_varsize;
 5611  }
 5612#line 106
 5613  return;
 5614}
 5615}
 5616#line 104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 5617static struct mtd_chip_driver cfi_intelext_chipdrv  =    {(struct mtd_info *(*)(struct map_info *map ))((void *)0), & cfi_intelext_destroy,
 5618    & __this_module, (char *)"cfi_cmdset_0001", {(struct list_head *)0, (struct list_head *)0}};
 5619#line 166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 5620static void fixup_convert_atmel_pri(struct mtd_info *mtd ) 
 5621{ struct map_info *map ;
 5622  struct cfi_private *cfi ;
 5623  struct cfi_pri_intelext *extp ;
 5624  struct cfi_pri_atmel atmel_pri ;
 5625  uint32_t features ;
 5626  size_t __len ;
 5627  void *__ret ;
 5628  unsigned long __cil_tmp9 ;
 5629  unsigned long __cil_tmp10 ;
 5630  void *__cil_tmp11 ;
 5631  unsigned long __cil_tmp12 ;
 5632  unsigned long __cil_tmp13 ;
 5633  void *__cil_tmp14 ;
 5634  unsigned long __cil_tmp15 ;
 5635  unsigned long __cil_tmp16 ;
 5636  void *__cil_tmp17 ;
 5637  unsigned long __cil_tmp18 ;
 5638  unsigned long __cil_tmp19 ;
 5639  unsigned long __cil_tmp20 ;
 5640  unsigned long __cil_tmp21 ;
 5641  unsigned long __cil_tmp22 ;
 5642  unsigned long __cil_tmp23 ;
 5643  unsigned long __cil_tmp24 ;
 5644  unsigned long __cil_tmp25 ;
 5645  unsigned long __cil_tmp26 ;
 5646  unsigned long __cil_tmp27 ;
 5647  unsigned long __cil_tmp28 ;
 5648  unsigned long __cil_tmp29 ;
 5649  void *__cil_tmp30 ;
 5650  void    *__cil_tmp31 ;
 5651  void *__cil_tmp32 ;
 5652  void    *__cil_tmp33 ;
 5653  char *__cil_tmp34 ;
 5654  char *__cil_tmp35 ;
 5655  void *__cil_tmp36 ;
 5656  unsigned long __cil_tmp37 ;
 5657  unsigned long __cil_tmp38 ;
 5658  uint8_t __cil_tmp39 ;
 5659  int __cil_tmp40 ;
 5660  unsigned long __cil_tmp41 ;
 5661  uint8_t __cil_tmp42 ;
 5662  int __cil_tmp43 ;
 5663  unsigned long __cil_tmp44 ;
 5664  uint8_t __cil_tmp45 ;
 5665  int __cil_tmp46 ;
 5666  int __cil_tmp47 ;
 5667  unsigned int __cil_tmp48 ;
 5668  unsigned long __cil_tmp49 ;
 5669  uint8_t __cil_tmp50 ;
 5670  int __cil_tmp51 ;
 5671  int __cil_tmp52 ;
 5672  unsigned int __cil_tmp53 ;
 5673  unsigned long __cil_tmp54 ;
 5674  uint8_t __cil_tmp55 ;
 5675  int __cil_tmp56 ;
 5676  int __cil_tmp57 ;
 5677  unsigned int __cil_tmp58 ;
 5678  unsigned long __cil_tmp59 ;
 5679  uint8_t __cil_tmp60 ;
 5680  int __cil_tmp61 ;
 5681  int __cil_tmp62 ;
 5682  unsigned int __cil_tmp63 ;
 5683  unsigned long __cil_tmp64 ;
 5684  uint8_t __cil_tmp65 ;
 5685  int __cil_tmp66 ;
 5686  int __cil_tmp67 ;
 5687  unsigned int __cil_tmp68 ;
 5688  unsigned long __cil_tmp69 ;
 5689  uint8_t __cil_tmp70 ;
 5690  int __cil_tmp71 ;
 5691  int __cil_tmp72 ;
 5692  unsigned int __cil_tmp73 ;
 5693  unsigned long __cil_tmp74 ;
 5694  unsigned long __cil_tmp75 ;
 5695  unsigned long __cil_tmp76 ;
 5696  unsigned long __cil_tmp77 ;
 5697  struct cfi_ident *__cil_tmp78 ;
 5698  unsigned long __cil_tmp79 ;
 5699  unsigned long __cil_tmp80 ;
 5700  unsigned long __cil_tmp81 ;
 5701  unsigned long __cil_tmp82 ;
 5702  struct cfi_ident *__cil_tmp83 ;
 5703  unsigned long __cil_tmp84 ;
 5704  unsigned long __cil_tmp85 ;
 5705
 5706  {
 5707#line 168
 5708  __cil_tmp9 = (unsigned long )mtd;
 5709#line 168
 5710  __cil_tmp10 = __cil_tmp9 + 360;
 5711#line 168
 5712  __cil_tmp11 = *((void **)__cil_tmp10);
 5713#line 168
 5714  map = (struct map_info *)__cil_tmp11;
 5715#line 169
 5716  __cil_tmp12 = (unsigned long )map;
 5717#line 169
 5718  __cil_tmp13 = __cil_tmp12 + 120;
 5719#line 169
 5720  __cil_tmp14 = *((void **)__cil_tmp13);
 5721#line 169
 5722  cfi = (struct cfi_private *)__cil_tmp14;
 5723#line 170
 5724  __cil_tmp15 = (unsigned long )cfi;
 5725#line 170
 5726  __cil_tmp16 = __cil_tmp15 + 8;
 5727#line 170
 5728  __cil_tmp17 = *((void **)__cil_tmp16);
 5729#line 170
 5730  extp = (struct cfi_pri_intelext *)__cil_tmp17;
 5731#line 172
 5732  features = (uint32_t )0;
 5733#line 175
 5734  __cil_tmp18 = (unsigned long )extp;
 5735#line 175
 5736  __cil_tmp19 = __cil_tmp18 + 5;
 5737#line 175
 5738  __cil_tmp20 = (unsigned long )extp;
 5739#line 175
 5740  __cil_tmp21 = __cil_tmp20 + 5;
 5741#line 175
 5742  *((uint32_t *)__cil_tmp19) = *((uint32_t *)__cil_tmp21);
 5743#line 176
 5744  __cil_tmp22 = (unsigned long )extp;
 5745#line 176
 5746  __cil_tmp23 = __cil_tmp22 + 10;
 5747#line 176
 5748  __cil_tmp24 = (unsigned long )extp;
 5749#line 176
 5750  __cil_tmp25 = __cil_tmp24 + 10;
 5751#line 176
 5752  *((uint16_t *)__cil_tmp23) = *((uint16_t *)__cil_tmp25);
 5753#line 177
 5754  __cil_tmp26 = (unsigned long )extp;
 5755#line 177
 5756  __cil_tmp27 = __cil_tmp26 + 15;
 5757#line 177
 5758  __cil_tmp28 = (unsigned long )extp;
 5759#line 177
 5760  __cil_tmp29 = __cil_tmp28 + 15;
 5761#line 177
 5762  *((uint16_t *)__cil_tmp27) = *((uint16_t *)__cil_tmp29);
 5763#line 179
 5764  __len = 9UL;
 5765#line 179
 5766  if (__len >= 64UL) {
 5767    {
 5768#line 179
 5769    __cil_tmp30 = (void *)(& atmel_pri);
 5770#line 179
 5771    __cil_tmp31 = (void    *)extp;
 5772#line 179
 5773    __ret = __memcpy(__cil_tmp30, __cil_tmp31, __len);
 5774    }
 5775  } else {
 5776    {
 5777#line 179
 5778    __cil_tmp32 = (void *)(& atmel_pri);
 5779#line 179
 5780    __cil_tmp33 = (void    *)extp;
 5781#line 179
 5782    __ret = __builtin_memcpy(__cil_tmp32, __cil_tmp33, __len);
 5783    }
 5784  }
 5785  {
 5786#line 180
 5787  __cil_tmp34 = (char *)extp;
 5788#line 180
 5789  __cil_tmp35 = __cil_tmp34 + 5;
 5790#line 180
 5791  __cil_tmp36 = (void *)__cil_tmp35;
 5792#line 180
 5793  __cil_tmp37 = 19UL - 5UL;
 5794#line 180
 5795  memset(__cil_tmp36, 0, __cil_tmp37);
 5796#line 182
 5797  __cil_tmp38 = (unsigned long )(& atmel_pri) + 5;
 5798#line 182
 5799  __cil_tmp39 = *((uint8_t *)__cil_tmp38);
 5800#line 182
 5801  __cil_tmp40 = (int )__cil_tmp39;
 5802#line 182
 5803  printk("<3>atmel Features: %02x\n", __cil_tmp40);
 5804  }
 5805  {
 5806#line 184
 5807  __cil_tmp41 = (unsigned long )(& atmel_pri) + 5;
 5808#line 184
 5809  __cil_tmp42 = *((uint8_t *)__cil_tmp41);
 5810#line 184
 5811  __cil_tmp43 = (int )__cil_tmp42;
 5812#line 184
 5813  if (__cil_tmp43 & 1) {
 5814#line 185
 5815    features = features | 1U;
 5816  } else {
 5817
 5818  }
 5819  }
 5820  {
 5821#line 186
 5822  __cil_tmp44 = (unsigned long )(& atmel_pri) + 5;
 5823#line 186
 5824  __cil_tmp45 = *((uint8_t *)__cil_tmp44);
 5825#line 186
 5826  __cil_tmp46 = (int )__cil_tmp45;
 5827#line 186
 5828  if (__cil_tmp46 & 2) {
 5829#line 187
 5830    __cil_tmp47 = 1 << 1;
 5831#line 187
 5832    __cil_tmp48 = (unsigned int )__cil_tmp47;
 5833#line 187
 5834    features = features | __cil_tmp48;
 5835  } else {
 5836
 5837  }
 5838  }
 5839  {
 5840#line 188
 5841  __cil_tmp49 = (unsigned long )(& atmel_pri) + 5;
 5842#line 188
 5843  __cil_tmp50 = *((uint8_t *)__cil_tmp49);
 5844#line 188
 5845  __cil_tmp51 = (int )__cil_tmp50;
 5846#line 188
 5847  if (__cil_tmp51 & 4) {
 5848#line 189
 5849    __cil_tmp52 = 1 << 2;
 5850#line 189
 5851    __cil_tmp53 = (unsigned int )__cil_tmp52;
 5852#line 189
 5853    features = features | __cil_tmp53;
 5854  } else {
 5855
 5856  }
 5857  }
 5858  {
 5859#line 190
 5860  __cil_tmp54 = (unsigned long )(& atmel_pri) + 5;
 5861#line 190
 5862  __cil_tmp55 = *((uint8_t *)__cil_tmp54);
 5863#line 190
 5864  __cil_tmp56 = (int )__cil_tmp55;
 5865#line 190
 5866  if (__cil_tmp56 & 8) {
 5867#line 191
 5868    __cil_tmp57 = 1 << 9;
 5869#line 191
 5870    __cil_tmp58 = (unsigned int )__cil_tmp57;
 5871#line 191
 5872    features = features | __cil_tmp58;
 5873  } else {
 5874
 5875  }
 5876  }
 5877  {
 5878#line 192
 5879  __cil_tmp59 = (unsigned long )(& atmel_pri) + 5;
 5880#line 192
 5881  __cil_tmp60 = *((uint8_t *)__cil_tmp59);
 5882#line 192
 5883  __cil_tmp61 = (int )__cil_tmp60;
 5884#line 192
 5885  if (__cil_tmp61 & 32) {
 5886#line 193
 5887    __cil_tmp62 = 1 << 7;
 5888#line 193
 5889    __cil_tmp63 = (unsigned int )__cil_tmp62;
 5890#line 193
 5891    features = features | __cil_tmp63;
 5892  } else {
 5893
 5894  }
 5895  }
 5896  {
 5897#line 194
 5898  __cil_tmp64 = (unsigned long )(& atmel_pri) + 5;
 5899#line 194
 5900  __cil_tmp65 = *((uint8_t *)__cil_tmp64);
 5901#line 194
 5902  __cil_tmp66 = (int )__cil_tmp65;
 5903#line 194
 5904  if (__cil_tmp66 & 64) {
 5905#line 195
 5906    __cil_tmp67 = 1 << 4;
 5907#line 195
 5908    __cil_tmp68 = (unsigned int )__cil_tmp67;
 5909#line 195
 5910    features = features | __cil_tmp68;
 5911  } else {
 5912
 5913  }
 5914  }
 5915  {
 5916#line 196
 5917  __cil_tmp69 = (unsigned long )(& atmel_pri) + 5;
 5918#line 196
 5919  __cil_tmp70 = *((uint8_t *)__cil_tmp69);
 5920#line 196
 5921  __cil_tmp71 = (int )__cil_tmp70;
 5922#line 196
 5923  if (__cil_tmp71 & 128) {
 5924#line 197
 5925    __cil_tmp72 = 1 << 6;
 5926#line 197
 5927    __cil_tmp73 = (unsigned int )__cil_tmp72;
 5928#line 197
 5929    features = features | __cil_tmp73;
 5930  } else {
 5931
 5932  }
 5933  }
 5934#line 199
 5935  __cil_tmp74 = (unsigned long )extp;
 5936#line 199
 5937  __cil_tmp75 = __cil_tmp74 + 5;
 5938#line 199
 5939  *((uint32_t *)__cil_tmp75) = features;
 5940#line 202
 5941  __cil_tmp76 = (unsigned long )cfi;
 5942#line 202
 5943  __cil_tmp77 = __cil_tmp76 + 48;
 5944#line 202
 5945  __cil_tmp78 = *((struct cfi_ident **)__cil_tmp77);
 5946#line 202
 5947  __cil_tmp79 = (unsigned long )__cil_tmp78;
 5948#line 202
 5949  __cil_tmp80 = __cil_tmp79 + 16;
 5950#line 202
 5951  *((uint8_t *)__cil_tmp80) = (uint8_t )0;
 5952#line 203
 5953  __cil_tmp81 = (unsigned long )cfi;
 5954#line 203
 5955  __cil_tmp82 = __cil_tmp81 + 48;
 5956#line 203
 5957  __cil_tmp83 = *((struct cfi_ident **)__cil_tmp82);
 5958#line 203
 5959  __cil_tmp84 = (unsigned long )__cil_tmp83;
 5960#line 203
 5961  __cil_tmp85 = __cil_tmp84 + 20;
 5962#line 203
 5963  *((uint8_t *)__cil_tmp85) = (uint8_t )0;
 5964#line 204
 5965  return;
 5966}
 5967}
 5968#line 206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 5969static void fixup_at49bv640dx_lock(struct mtd_info *mtd ) 
 5970{ struct map_info *map ;
 5971  struct cfi_private *cfi ;
 5972  struct cfi_pri_intelext *cfip ;
 5973  unsigned long __cil_tmp5 ;
 5974  unsigned long __cil_tmp6 ;
 5975  void *__cil_tmp7 ;
 5976  unsigned long __cil_tmp8 ;
 5977  unsigned long __cil_tmp9 ;
 5978  void *__cil_tmp10 ;
 5979  unsigned long __cil_tmp11 ;
 5980  unsigned long __cil_tmp12 ;
 5981  void *__cil_tmp13 ;
 5982  unsigned long __cil_tmp14 ;
 5983  unsigned long __cil_tmp15 ;
 5984  int __cil_tmp16 ;
 5985  unsigned int __cil_tmp17 ;
 5986  unsigned long __cil_tmp18 ;
 5987  unsigned long __cil_tmp19 ;
 5988  uint32_t __cil_tmp20 ;
 5989  unsigned long __cil_tmp21 ;
 5990  unsigned long __cil_tmp22 ;
 5991  unsigned long __cil_tmp23 ;
 5992  unsigned long __cil_tmp24 ;
 5993  uint32_t __cil_tmp25 ;
 5994
 5995  {
 5996#line 208
 5997  __cil_tmp5 = (unsigned long )mtd;
 5998#line 208
 5999  __cil_tmp6 = __cil_tmp5 + 360;
 6000#line 208
 6001  __cil_tmp7 = *((void **)__cil_tmp6);
 6002#line 208
 6003  map = (struct map_info *)__cil_tmp7;
 6004#line 209
 6005  __cil_tmp8 = (unsigned long )map;
 6006#line 209
 6007  __cil_tmp9 = __cil_tmp8 + 120;
 6008#line 209
 6009  __cil_tmp10 = *((void **)__cil_tmp9);
 6010#line 209
 6011  cfi = (struct cfi_private *)__cil_tmp10;
 6012#line 210
 6013  __cil_tmp11 = (unsigned long )cfi;
 6014#line 210
 6015  __cil_tmp12 = __cil_tmp11 + 8;
 6016#line 210
 6017  __cil_tmp13 = *((void **)__cil_tmp12);
 6018#line 210
 6019  cfip = (struct cfi_pri_intelext *)__cil_tmp13;
 6020#line 212
 6021  __cil_tmp14 = (unsigned long )cfip;
 6022#line 212
 6023  __cil_tmp15 = __cil_tmp14 + 5;
 6024#line 212
 6025  __cil_tmp16 = 1 << 5;
 6026#line 212
 6027  __cil_tmp17 = (unsigned int )__cil_tmp16;
 6028#line 212
 6029  __cil_tmp18 = (unsigned long )cfip;
 6030#line 212
 6031  __cil_tmp19 = __cil_tmp18 + 5;
 6032#line 212
 6033  __cil_tmp20 = *((uint32_t *)__cil_tmp19);
 6034#line 212
 6035  *((uint32_t *)__cil_tmp15) = __cil_tmp20 | __cil_tmp17;
 6036#line 213
 6037  __cil_tmp21 = (unsigned long )mtd;
 6038#line 213
 6039  __cil_tmp22 = __cil_tmp21 + 4;
 6040#line 213
 6041  __cil_tmp23 = (unsigned long )mtd;
 6042#line 213
 6043  __cil_tmp24 = __cil_tmp23 + 4;
 6044#line 213
 6045  __cil_tmp25 = *((uint32_t *)__cil_tmp24);
 6046#line 213
 6047  *((uint32_t *)__cil_tmp22) = __cil_tmp25 | 8192U;
 6048#line 214
 6049  return;
 6050}
 6051}
 6052#line 244 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6053static void fixup_st_m28w320ct(struct mtd_info *mtd ) 
 6054{ struct map_info *map ;
 6055  struct cfi_private *cfi ;
 6056  unsigned long __cil_tmp4 ;
 6057  unsigned long __cil_tmp5 ;
 6058  void *__cil_tmp6 ;
 6059  unsigned long __cil_tmp7 ;
 6060  unsigned long __cil_tmp8 ;
 6061  void *__cil_tmp9 ;
 6062  unsigned long __cil_tmp10 ;
 6063  unsigned long __cil_tmp11 ;
 6064  struct cfi_ident *__cil_tmp12 ;
 6065  unsigned long __cil_tmp13 ;
 6066  unsigned long __cil_tmp14 ;
 6067  unsigned long __cil_tmp15 ;
 6068  unsigned long __cil_tmp16 ;
 6069  struct cfi_ident *__cil_tmp17 ;
 6070  unsigned long __cil_tmp18 ;
 6071  unsigned long __cil_tmp19 ;
 6072
 6073  {
 6074#line 246
 6075  __cil_tmp4 = (unsigned long )mtd;
 6076#line 246
 6077  __cil_tmp5 = __cil_tmp4 + 360;
 6078#line 246
 6079  __cil_tmp6 = *((void **)__cil_tmp5);
 6080#line 246
 6081  map = (struct map_info *)__cil_tmp6;
 6082#line 247
 6083  __cil_tmp7 = (unsigned long )map;
 6084#line 247
 6085  __cil_tmp8 = __cil_tmp7 + 120;
 6086#line 247
 6087  __cil_tmp9 = *((void **)__cil_tmp8);
 6088#line 247
 6089  cfi = (struct cfi_private *)__cil_tmp9;
 6090#line 249
 6091  __cil_tmp10 = (unsigned long )cfi;
 6092#line 249
 6093  __cil_tmp11 = __cil_tmp10 + 48;
 6094#line 249
 6095  __cil_tmp12 = *((struct cfi_ident **)__cil_tmp11);
 6096#line 249
 6097  __cil_tmp13 = (unsigned long )__cil_tmp12;
 6098#line 249
 6099  __cil_tmp14 = __cil_tmp13 + 16;
 6100#line 249
 6101  *((uint8_t *)__cil_tmp14) = (uint8_t )0;
 6102#line 250
 6103  __cil_tmp15 = (unsigned long )cfi;
 6104#line 250
 6105  __cil_tmp16 = __cil_tmp15 + 48;
 6106#line 250
 6107  __cil_tmp17 = *((struct cfi_ident **)__cil_tmp16);
 6108#line 250
 6109  __cil_tmp18 = (unsigned long )__cil_tmp17;
 6110#line 250
 6111  __cil_tmp19 = __cil_tmp18 + 20;
 6112#line 250
 6113  *((uint8_t *)__cil_tmp19) = (uint8_t )0;
 6114#line 251
 6115  return;
 6116}
 6117}
 6118#line 253 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6119static void fixup_st_m28w320cb(struct mtd_info *mtd ) 
 6120{ struct map_info *map ;
 6121  struct cfi_private *cfi ;
 6122  unsigned long __cil_tmp4 ;
 6123  unsigned long __cil_tmp5 ;
 6124  void *__cil_tmp6 ;
 6125  unsigned long __cil_tmp7 ;
 6126  unsigned long __cil_tmp8 ;
 6127  void *__cil_tmp9 ;
 6128  unsigned long __cil_tmp10 ;
 6129  unsigned long __cil_tmp11 ;
 6130  unsigned long __cil_tmp12 ;
 6131  unsigned long __cil_tmp13 ;
 6132  struct cfi_ident *__cil_tmp14 ;
 6133  unsigned long __cil_tmp15 ;
 6134  unsigned long __cil_tmp16 ;
 6135  unsigned long __cil_tmp17 ;
 6136  unsigned long __cil_tmp18 ;
 6137  unsigned long __cil_tmp19 ;
 6138  unsigned long __cil_tmp20 ;
 6139  struct cfi_ident *__cil_tmp21 ;
 6140  unsigned long __cil_tmp22 ;
 6141  unsigned long __cil_tmp23 ;
 6142  uint32_t __cil_tmp24 ;
 6143  unsigned int __cil_tmp25 ;
 6144
 6145  {
 6146#line 255
 6147  __cil_tmp4 = (unsigned long )mtd;
 6148#line 255
 6149  __cil_tmp5 = __cil_tmp4 + 360;
 6150#line 255
 6151  __cil_tmp6 = *((void **)__cil_tmp5);
 6152#line 255
 6153  map = (struct map_info *)__cil_tmp6;
 6154#line 256
 6155  __cil_tmp7 = (unsigned long )map;
 6156#line 256
 6157  __cil_tmp8 = __cil_tmp7 + 120;
 6158#line 256
 6159  __cil_tmp9 = *((void **)__cil_tmp8);
 6160#line 256
 6161  cfi = (struct cfi_private *)__cil_tmp9;
 6162#line 259
 6163  __cil_tmp10 = 1 * 4UL;
 6164#line 259
 6165  __cil_tmp11 = 29 + __cil_tmp10;
 6166#line 259
 6167  __cil_tmp12 = (unsigned long )cfi;
 6168#line 259
 6169  __cil_tmp13 = __cil_tmp12 + 48;
 6170#line 259
 6171  __cil_tmp14 = *((struct cfi_ident **)__cil_tmp13);
 6172#line 259
 6173  __cil_tmp15 = (unsigned long )__cil_tmp14;
 6174#line 259
 6175  __cil_tmp16 = __cil_tmp15 + __cil_tmp11;
 6176#line 259
 6177  __cil_tmp17 = 1 * 4UL;
 6178#line 259
 6179  __cil_tmp18 = 29 + __cil_tmp17;
 6180#line 259
 6181  __cil_tmp19 = (unsigned long )cfi;
 6182#line 259
 6183  __cil_tmp20 = __cil_tmp19 + 48;
 6184#line 259
 6185  __cil_tmp21 = *((struct cfi_ident **)__cil_tmp20);
 6186#line 259
 6187  __cil_tmp22 = (unsigned long )__cil_tmp21;
 6188#line 259
 6189  __cil_tmp23 = __cil_tmp22 + __cil_tmp18;
 6190#line 259
 6191  __cil_tmp24 = *((uint32_t *)__cil_tmp23);
 6192#line 259
 6193  __cil_tmp25 = __cil_tmp24 & 4294901760U;
 6194#line 259
 6195  *((uint32_t *)__cil_tmp16) = __cil_tmp25 | 62U;
 6196#line 261
 6197  return;
 6198}
 6199}
 6200#line 263 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6201static void fixup_use_point(struct mtd_info *mtd ) 
 6202{ struct map_info *map ;
 6203  unsigned long __cil_tmp3 ;
 6204  unsigned long __cil_tmp4 ;
 6205  void *__cil_tmp5 ;
 6206  unsigned long __cil_tmp6 ;
 6207  unsigned long __cil_tmp7 ;
 6208  int (*__cil_tmp8)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 6209                    void **virt , resource_size_t *phys ) ;
 6210  unsigned long __cil_tmp9 ;
 6211  unsigned long __cil_tmp10 ;
 6212  resource_size_t __cil_tmp11 ;
 6213  unsigned long __cil_tmp12 ;
 6214  unsigned long __cil_tmp13 ;
 6215  unsigned long __cil_tmp14 ;
 6216  unsigned long __cil_tmp15 ;
 6217
 6218  {
 6219#line 265
 6220  __cil_tmp3 = (unsigned long )mtd;
 6221#line 265
 6222  __cil_tmp4 = __cil_tmp3 + 360;
 6223#line 265
 6224  __cil_tmp5 = *((void **)__cil_tmp4);
 6225#line 265
 6226  map = (struct map_info *)__cil_tmp5;
 6227  {
 6228#line 266
 6229  __cil_tmp6 = (unsigned long )mtd;
 6230#line 266
 6231  __cil_tmp7 = __cil_tmp6 + 104;
 6232#line 266
 6233  __cil_tmp8 = *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 6234                           void **virt , resource_size_t *phys ))__cil_tmp7);
 6235#line 266
 6236  if (! __cil_tmp8) {
 6237    {
 6238#line 266
 6239    __cil_tmp9 = (unsigned long )map;
 6240#line 266
 6241    __cil_tmp10 = __cil_tmp9 + 16;
 6242#line 266
 6243    __cil_tmp11 = *((resource_size_t *)__cil_tmp10);
 6244#line 266
 6245    if (__cil_tmp11 != 0xffffffffffffffffULL) {
 6246#line 267
 6247      __cil_tmp12 = (unsigned long )mtd;
 6248#line 267
 6249      __cil_tmp13 = __cil_tmp12 + 104;
 6250#line 267
 6251      *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
 6252                  void **virt , resource_size_t *phys ))__cil_tmp13) = & cfi_intelext_point;
 6253#line 268
 6254      __cil_tmp14 = (unsigned long )mtd;
 6255#line 268
 6256      __cil_tmp15 = __cil_tmp14 + 112;
 6257#line 268
 6258      *((int (**)(struct mtd_info *mtd , loff_t from , size_t len ))__cil_tmp15) = & cfi_intelext_unpoint;
 6259    } else {
 6260
 6261    }
 6262    }
 6263  } else {
 6264
 6265  }
 6266  }
 6267#line 270
 6268  return;
 6269}
 6270}
 6271#line 272 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6272static void fixup_use_write_buffers(struct mtd_info *mtd ) 
 6273{ struct map_info *map ;
 6274  struct cfi_private *cfi ;
 6275  unsigned long __cil_tmp4 ;
 6276  unsigned long __cil_tmp5 ;
 6277  void *__cil_tmp6 ;
 6278  unsigned long __cil_tmp7 ;
 6279  unsigned long __cil_tmp8 ;
 6280  void *__cil_tmp9 ;
 6281  unsigned long __cil_tmp10 ;
 6282  unsigned long __cil_tmp11 ;
 6283  struct cfi_ident *__cil_tmp12 ;
 6284  unsigned long __cil_tmp13 ;
 6285  unsigned long __cil_tmp14 ;
 6286  unsigned long __cil_tmp15 ;
 6287  unsigned long __cil_tmp16 ;
 6288  unsigned long __cil_tmp17 ;
 6289  unsigned long __cil_tmp18 ;
 6290
 6291  {
 6292#line 274
 6293  __cil_tmp4 = (unsigned long )mtd;
 6294#line 274
 6295  __cil_tmp5 = __cil_tmp4 + 360;
 6296#line 274
 6297  __cil_tmp6 = *((void **)__cil_tmp5);
 6298#line 274
 6299  map = (struct map_info *)__cil_tmp6;
 6300#line 275
 6301  __cil_tmp7 = (unsigned long )map;
 6302#line 275
 6303  __cil_tmp8 = __cil_tmp7 + 120;
 6304#line 275
 6305  __cil_tmp9 = *((void **)__cil_tmp8);
 6306#line 275
 6307  cfi = (struct cfi_private *)__cil_tmp9;
 6308  {
 6309#line 276
 6310  __cil_tmp10 = (unsigned long )cfi;
 6311#line 276
 6312  __cil_tmp11 = __cil_tmp10 + 48;
 6313#line 276
 6314  __cil_tmp12 = *((struct cfi_ident **)__cil_tmp11);
 6315#line 276
 6316  __cil_tmp13 = (unsigned long )__cil_tmp12;
 6317#line 276
 6318  __cil_tmp14 = __cil_tmp13 + 16;
 6319#line 276
 6320  if (*((uint8_t *)__cil_tmp14)) {
 6321    {
 6322#line 277
 6323    printk("<6>Using buffer write method\n");
 6324#line 278
 6325    __cil_tmp15 = (unsigned long )mtd;
 6326#line 278
 6327    __cil_tmp16 = __cil_tmp15 + 136;
 6328#line 278
 6329    *((int (**)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char    *buf ))__cil_tmp16) = & cfi_intelext_write_buffers;
 6330#line 279
 6331    __cil_tmp17 = (unsigned long )mtd;
 6332#line 279
 6333    __cil_tmp18 = __cil_tmp17 + 216;
 6334#line 279
 6335    *((int (**)(struct mtd_info *mtd , struct kvec    *vecs , unsigned long count ,
 6336                loff_t to , size_t *retlen ))__cil_tmp18) = & cfi_intelext_writev;
 6337    }
 6338  } else {
 6339
 6340  }
 6341  }
 6342#line 281
 6343  return;
 6344}
 6345}
 6346#line 286 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6347static void fixup_unlock_powerup_lock(struct mtd_info *mtd ) 
 6348{ struct map_info *map ;
 6349  struct cfi_private *cfi ;
 6350  struct cfi_pri_intelext *cfip ;
 6351  unsigned long __cil_tmp5 ;
 6352  unsigned long __cil_tmp6 ;
 6353  void *__cil_tmp7 ;
 6354  unsigned long __cil_tmp8 ;
 6355  unsigned long __cil_tmp9 ;
 6356  void *__cil_tmp10 ;
 6357  unsigned long __cil_tmp11 ;
 6358  unsigned long __cil_tmp12 ;
 6359  void *__cil_tmp13 ;
 6360  unsigned long __cil_tmp14 ;
 6361  unsigned long __cil_tmp15 ;
 6362  uint32_t __cil_tmp16 ;
 6363  unsigned long __cil_tmp17 ;
 6364  unsigned long __cil_tmp18 ;
 6365  unsigned long __cil_tmp19 ;
 6366  unsigned long __cil_tmp20 ;
 6367  uint32_t __cil_tmp21 ;
 6368
 6369  {
 6370#line 288
 6371  __cil_tmp5 = (unsigned long )mtd;
 6372#line 288
 6373  __cil_tmp6 = __cil_tmp5 + 360;
 6374#line 288
 6375  __cil_tmp7 = *((void **)__cil_tmp6);
 6376#line 288
 6377  map = (struct map_info *)__cil_tmp7;
 6378#line 289
 6379  __cil_tmp8 = (unsigned long )map;
 6380#line 289
 6381  __cil_tmp9 = __cil_tmp8 + 120;
 6382#line 289
 6383  __cil_tmp10 = *((void **)__cil_tmp9);
 6384#line 289
 6385  cfi = (struct cfi_private *)__cil_tmp10;
 6386#line 290
 6387  __cil_tmp11 = (unsigned long )cfi;
 6388#line 290
 6389  __cil_tmp12 = __cil_tmp11 + 8;
 6390#line 290
 6391  __cil_tmp13 = *((void **)__cil_tmp12);
 6392#line 290
 6393  cfip = (struct cfi_pri_intelext *)__cil_tmp13;
 6394  {
 6395#line 292
 6396  __cil_tmp14 = (unsigned long )cfip;
 6397#line 292
 6398  __cil_tmp15 = __cil_tmp14 + 5;
 6399#line 292
 6400  __cil_tmp16 = *((uint32_t *)__cil_tmp15);
 6401#line 292
 6402  if (__cil_tmp16 & 32U) {
 6403    {
 6404#line 293
 6405    printk("<6>Using auto-unlock on power-up/resume\n");
 6406#line 294
 6407    __cil_tmp17 = (unsigned long )mtd;
 6408#line 294
 6409    __cil_tmp18 = __cil_tmp17 + 4;
 6410#line 294
 6411    __cil_tmp19 = (unsigned long )mtd;
 6412#line 294
 6413    __cil_tmp20 = __cil_tmp19 + 4;
 6414#line 294
 6415    __cil_tmp21 = *((uint32_t *)__cil_tmp20);
 6416#line 294
 6417    *((uint32_t *)__cil_tmp18) = __cil_tmp21 | 8192U;
 6418    }
 6419  } else {
 6420
 6421  }
 6422  }
 6423#line 296
 6424  return;
 6425}
 6426}
 6427#line 298 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6428static struct cfi_fixup cfi_fixup_table[8]  = 
 6429#line 298
 6430  {      {(uint16_t )31, (uint16_t )65535, & fixup_convert_atmel_pri}, 
 6431        {(uint16_t )31, (uint16_t )734, & fixup_at49bv640dx_lock}, 
 6432        {(uint16_t )31, (uint16_t )731, & fixup_at49bv640dx_lock}, 
 6433        {(uint16_t )65535, (uint16_t )65535, & fixup_use_write_buffers}, 
 6434        {(uint16_t )32, (uint16_t )186, & fixup_st_m28w320ct}, 
 6435        {(uint16_t )32, (uint16_t )187, & fixup_st_m28w320cb}, 
 6436        {(uint16_t )137, (uint16_t )65535, & fixup_unlock_powerup_lock}, 
 6437        {(uint16_t )0, (uint16_t )0, (void (*)(struct mtd_info *mtd ))((void *)0)}};
 6438#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6439static struct cfi_fixup jedec_fixup_table[6]  = {      {(uint16_t )137, (uint16_t )173, & fixup_use_fwh_lock}, 
 6440        {(uint16_t )137, (uint16_t )172, & fixup_use_fwh_lock}, 
 6441        {(uint16_t )32, (uint16_t )47, & fixup_use_fwh_lock}, 
 6442        {(uint16_t )32, (uint16_t )128, & fixup_use_fwh_lock}, 
 6443        {(uint16_t )32, (uint16_t )129, & fixup_use_fwh_lock}, 
 6444        {(uint16_t )0, (uint16_t )0, (void (*)(struct mtd_info *mtd ))((void *)0)}};
 6445#line 325 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6446static struct cfi_fixup fixup_table[2]  = {      {(uint16_t )65535, (uint16_t )65535, & fixup_use_point}, 
 6447        {(uint16_t )0, (uint16_t )0, (void (*)(struct mtd_info *mtd ))((void *)0)}};
 6448#line 335 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6449static void cfi_fixup_major_minor(struct cfi_private *cfi , struct cfi_pri_intelext *extp ) 
 6450{ unsigned long __cil_tmp3 ;
 6451  unsigned long __cil_tmp4 ;
 6452  int __cil_tmp5 ;
 6453  unsigned long __cil_tmp6 ;
 6454  unsigned long __cil_tmp7 ;
 6455  int __cil_tmp8 ;
 6456  unsigned long __cil_tmp9 ;
 6457  unsigned long __cil_tmp10 ;
 6458  uint8_t __cil_tmp11 ;
 6459  int __cil_tmp12 ;
 6460  unsigned long __cil_tmp13 ;
 6461  unsigned long __cil_tmp14 ;
 6462
 6463  {
 6464  {
 6465#line 338
 6466  __cil_tmp3 = (unsigned long )cfi;
 6467#line 338
 6468  __cil_tmp4 = __cil_tmp3 + 56;
 6469#line 338
 6470  __cil_tmp5 = *((int *)__cil_tmp4);
 6471#line 338
 6472  if (__cil_tmp5 == 137) {
 6473    {
 6474#line 338
 6475    __cil_tmp6 = (unsigned long )cfi;
 6476#line 338
 6477    __cil_tmp7 = __cil_tmp6 + 60;
 6478#line 338
 6479    __cil_tmp8 = *((int *)__cil_tmp7);
 6480#line 338
 6481    if (__cil_tmp8 == 34844) {
 6482      {
 6483#line 338
 6484      __cil_tmp9 = (unsigned long )extp;
 6485#line 338
 6486      __cil_tmp10 = __cil_tmp9 + 4;
 6487#line 338
 6488      __cil_tmp11 = *((uint8_t *)__cil_tmp10);
 6489#line 338
 6490      __cil_tmp12 = (int )__cil_tmp11;
 6491#line 338
 6492      if (__cil_tmp12 == 51) {
 6493#line 340
 6494        __cil_tmp13 = (unsigned long )extp;
 6495#line 340
 6496        __cil_tmp14 = __cil_tmp13 + 4;
 6497#line 340
 6498        *((uint8_t *)__cil_tmp14) = (uint8_t )'1';
 6499      } else {
 6500
 6501      }
 6502      }
 6503    } else {
 6504
 6505    }
 6506    }
 6507  } else {
 6508
 6509  }
 6510  }
 6511#line 341
 6512  return;
 6513}
 6514}
 6515#line 343
 6516__inline static struct cfi_pri_intelext *read_pri_intelext(struct map_info *map ,
 6517                                                           __u16 adr )  __attribute__((__no_instrument_function__)) ;
 6518#line 343 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 6519__inline static struct cfi_pri_intelext *read_pri_intelext(struct map_info *map ,
 6520                                                           __u16 adr ) 
 6521{ struct cfi_private *cfi ;
 6522  struct cfi_pri_intelext *extp ;
 6523  unsigned int extra_size ;
 6524  unsigned int extp_size ;
 6525  struct cfi_extquery *tmp___7 ;
 6526  int nb_parts ;
 6527  int i ;
 6528  struct cfi_intelext_regioninfo *rinfo ;
 6529  unsigned long __cil_tmp11 ;
 6530  unsigned long __cil_tmp12 ;
 6531  void *__cil_tmp13 ;
 6532  uint16_t __cil_tmp14 ;
 6533  void *__cil_tmp15 ;
 6534  unsigned long __cil_tmp16 ;
 6535  unsigned long __cil_tmp17 ;
 6536  uint8_t __cil_tmp18 ;
 6537  int __cil_tmp19 ;
 6538  unsigned long __cil_tmp20 ;
 6539  unsigned long __cil_tmp21 ;
 6540  uint8_t __cil_tmp22 ;
 6541  int __cil_tmp23 ;
 6542  unsigned long __cil_tmp24 ;
 6543  unsigned long __cil_tmp25 ;
 6544  uint8_t __cil_tmp26 ;
 6545  int __cil_tmp27 ;
 6546  void    *__cil_tmp28 ;
 6547  void *__cil_tmp29 ;
 6548  unsigned long __cil_tmp30 ;
 6549  unsigned long __cil_tmp31 ;
 6550  uint8_t __cil_tmp32 ;
 6551  int __cil_tmp33 ;
 6552  unsigned long __cil_tmp34 ;
 6553  unsigned long __cil_tmp35 ;
 6554  uint8_t __cil_tmp36 ;
 6555  int __cil_tmp37 ;
 6556  unsigned long __cil_tmp38 ;
 6557  unsigned long __cil_tmp39 ;
 6558  uint8_t __cil_tmp40 ;
 6559  int __cil_tmp41 ;
 6560  void    *__cil_tmp42 ;
 6561  void *__cil_tmp43 ;
 6562  unsigned long __cil_tmp44 ;
 6563  unsigned long __cil_tmp45 ;
 6564  uint8_t __cil_tmp46 ;
 6565  int __cil_tmp47 ;
 6566  unsigned long __cil_tmp48 ;
 6567  unsigned long __cil_tmp49 ;
 6568  uint8_t __cil_tmp50 ;
 6569  int __cil_tmp51 ;
 6570  unsigned long __cil_tmp52 ;
 6571  unsigned long __cil_tmp53 ;
 6572  uint8_t __cil_tmp54 ;
 6573  int __cil_tmp55 ;
 6574  void    *__cil_tmp56 ;
 6575  void *__cil_tmp57 ;
 6576  unsigned long __cil_tmp58 ;
 6577  unsigned long __cil_tmp59 ;
 6578  unsigned long __cil_tmp60 ;
 6579  unsigned long __cil_tmp61 ;
 6580  unsigned long __cil_tmp62 ;
 6581  unsigned long __cil_tmp63 ;
 6582  unsigned long __cil_tmp64 ;
 6583  unsigned long __cil_tmp65 ;
 6584  unsigned long __cil_tmp66 ;
 6585  unsigned long __cil_tmp67 ;
 6586  unsigned long __cil_tmp68 ;
 6587  unsigned long __cil_tmp69 ;
 6588  unsigned long __cil_tmp70 ;
 6589  unsigned long __cil_tmp71 ;
 6590  uint8_t __cil_tmp72 ;
 6591  int __cil_tmp73 ;
 6592  unsigned long __cil_tmp74 ;
 6593  unsigned long __cil_tmp75 ;
 6594  uint8_t __cil_tmp76 ;
 6595  int __cil_tmp77 ;
 6596  int __cil_tmp78 ;
 6597  unsigned long __cil_tmp79 ;
 6598  unsigned long __cil_tmp80 ;
 6599  unsigned long __cil_tmp81 ;
 6600  unsigned long __cil_tmp82 ;
 6601  unsigned long __cil_tmp83 ;
 6602  unsigned long __cil_tmp84 ;
 6603  uint8_t __cil_tmp85 ;
 6604  int __cil_tmp86 ;
 6605  unsigned long __cil_tmp87 ;
 6606  unsigned long __cil_tmp88 ;
 6607  unsigned long __cil_tmp89 ;
 6608  unsigned int __cil_tmp90 ;
 6609  unsigned long __cil_tmp91 ;
 6610  unsigned long __cil_tmp92 ;
 6611  unsigned long __cil_tmp93 ;
 6612  unsigned long __cil_tmp94 ;
 6613  uint8_t __cil_tmp95 ;
 6614  unsigned int __cil_tmp96 ;
 6615  unsigned long __cil_tmp97 ;
 6616  unsigned long __cil_tmp98 ;
 6617  uint8_t __cil_tmp99 ;
 6618  int __cil_tmp100 ;
 6619  unsigned long __cil_tmp101 ;
 6620  unsigned long __cil_tmp102 ;
 6621  unsigned long __cil_tmp103 ;
 6622  unsigned int __cil_tmp104 ;
 6623  unsigned long __cil_tmp105 ;
 6624  unsigned long __cil_tmp106 ;
 6625  unsigned long __cil_tmp107 ;
 6626  unsigned long __cil_tmp108 ;
 6627  uint8_t __cil_tmp109 ;
 6628  unsigned long __cil_tmp110 ;
 6629  unsigned long __cil_tmp111 ;
 6630  uint8_t __cil_tmp112 ;
 6631  int __cil_tmp113 ;
 6632  unsigned long __cil_tmp114 ;
 6633  unsigned long __cil_tmp115 ;
 6634  unsigned long __cil_tmp116 ;
 6635  unsigned long __cil_tmp117 ;
 6636  uint8_t *__cil_tmp118 ;
 6637  unsigned long __cil_tmp119 ;
 6638  unsigned long __cil_tmp120 ;
 6639  unsigned long __cil_tmp121 ;
 6640  unsigned long __cil_tmp122 ;
 6641  unsigned long __cil_tmp123 ;
 6642  unsigned long __cil_tmp124 ;
 6643  unsigned long __cil_tmp125 ;
 6644  uint8_t __cil_tmp126 ;
 6645  int __cil_tmp127 ;
 6646  int __cil_tmp128 ;
 6647  unsigned long __cil_tmp129 ;
 6648  unsigned long __cil_tmp130 ;
 6649  unsigned long __cil_tmp131 ;
 6650  unsigned long __cil_tmp132 ;
 6651  unsigned long __cil_tmp133 ;
 6652  unsigned long __cil_tmp134 ;
 6653  uint8_t __cil_tmp135 ;
 6654  int __cil_tmp136 ;
 6655  unsigned long __cil_tmp137 ;
 6656  unsigned long __cil_tmp138 ;
 6657  unsigned long __cil_tmp139 ;
 6658  unsigned long __cil_tmp140 ;
 6659  unsigned long __cil_tmp141 ;
 6660  unsigned long __cil_tmp142 ;
 6661  unsigned long __cil_tmp143 ;
 6662  void    *__cil_tmp144 ;
 6663  void *__cil_tmp145 ;
 6664
 6665  {
 6666#line 346
 6667  __cil_tmp11 = (unsigned long )map;
 6668#line 346
 6669  __cil_tmp12 = __cil_tmp11 + 120;
 6670#line 346
 6671  __cil_tmp13 = *((void **)__cil_tmp12);
 6672#line 346
 6673  cfi = (struct cfi_private *)__cil_tmp13;
 6674#line 348
 6675  extra_size = 0U;
 6676#line 349
 6677  extp_size = (unsigned int )19UL;
 6678  again: 
 6679  {
 6680#line 352
 6681  __cil_tmp14 = (uint16_t )extp_size;
 6682#line 352
 6683  tmp___7 = cfi_read_pri(map, adr, __cil_tmp14, "Intel/Sharp");
 6684#line 352
 6685  extp = (struct cfi_pri_intelext *)tmp___7;
 6686  }
 6687#line 353
 6688  if (! extp) {
 6689    {
 6690#line 354
 6691    __cil_tmp15 = (void *)0;
 6692#line 354
 6693    return ((struct cfi_pri_intelext *)__cil_tmp15);
 6694    }
 6695  } else {
 6696
 6697  }
 6698  {
 6699#line 356
 6700  cfi_fixup_major_minor(cfi, extp);
 6701  }
 6702  {
 6703#line 358
 6704  __cil_tmp16 = (unsigned long )extp;
 6705#line 358
 6706  __cil_tmp17 = __cil_tmp16 + 3;
 6707#line 358
 6708  __cil_tmp18 = *((uint8_t *)__cil_tmp17);
 6709#line 358
 6710  __cil_tmp19 = (int )__cil_tmp18;
 6711#line 358
 6712  if (__cil_tmp19 != 49) {
 6713    {
 6714#line 360
 6715    __cil_tmp20 = (unsigned long )extp;
 6716#line 360
 6717    __cil_tmp21 = __cil_tmp20 + 3;
 6718#line 360
 6719    __cil_tmp22 = *((uint8_t *)__cil_tmp21);
 6720#line 360
 6721    __cil_tmp23 = (int )__cil_tmp22;
 6722#line 360
 6723    __cil_tmp24 = (unsigned long )extp;
 6724#line 360
 6725    __cil_tmp25 = __cil_tmp24 + 4;
 6726#line 360
 6727    __cil_tmp26 = *((uint8_t *)__cil_tmp25);
 6728#line 360
 6729    __cil_tmp27 = (int )__cil_tmp26;
 6730#line 360
 6731    printk("<3>  Unknown Intel/Sharp Extended Query version %c.%c.\n", __cil_tmp23,
 6732           __cil_tmp27);
 6733#line 363
 6734    __cil_tmp28 = (void    *)extp;
 6735#line 363
 6736    kfree(__cil_tmp28);
 6737    }
 6738    {
 6739#line 364
 6740    __cil_tmp29 = (void *)0;
 6741#line 364
 6742    return ((struct cfi_pri_intelext *)__cil_tmp29);
 6743    }
 6744  } else {
 6745    {
 6746#line 358
 6747    __cil_tmp30 = (unsigned long )extp;
 6748#line 358
 6749    __cil_tmp31 = __cil_tmp30 + 4;
 6750#line 358
 6751    __cil_tmp32 = *((uint8_t *)__cil_tmp31);
 6752#line 358
 6753    __cil_tmp33 = (int )__cil_tmp32;
 6754#line 358
 6755    if (__cil_tmp33 < 48) {
 6756      {
 6757#line 360
 6758      __cil_tmp34 = (unsigned long )extp;
 6759#line 360
 6760      __cil_tmp35 = __cil_tmp34 + 3;
 6761#line 360
 6762      __cil_tmp36 = *((uint8_t *)__cil_tmp35);
 6763#line 360
 6764      __cil_tmp37 = (int )__cil_tmp36;
 6765#line 360
 6766      __cil_tmp38 = (unsigned long )extp;
 6767#line 360
 6768      __cil_tmp39 = __cil_tmp38 + 4;
 6769#line 360
 6770      __cil_tmp40 = *((uint8_t *)__cil_tmp39);
 6771#line 360
 6772      __cil_tmp41 = (int )__cil_tmp40;
 6773#line 360
 6774      printk("<3>  Unknown Intel/Sharp Extended Query version %c.%c.\n", __cil_tmp37,
 6775             __cil_tmp41);
 6776#line 363
 6777      __cil_tmp42 = (void    *)extp;
 6778#line 363
 6779      kfree(__cil_tmp42);
 6780      }
 6781      {
 6782#line 364
 6783      __cil_tmp43 = (void *)0;
 6784#line 364
 6785      return ((struct cfi_pri_intelext *)__cil_tmp43);
 6786      }
 6787    } else {
 6788      {
 6789#line 358
 6790      __cil_tmp44 = (unsigned long )extp;
 6791#line 358
 6792      __cil_tmp45 = __cil_tmp44 + 4;
 6793#line 358
 6794      __cil_tmp46 = *((uint8_t *)__cil_tmp45);
 6795#line 358
 6796      __cil_tmp47 = (int )__cil_tmp46;
 6797#line 358
 6798      if (__cil_tmp47 > 53) {
 6799        {
 6800#line 360
 6801        __cil_tmp48 = (unsigned long )extp;
 6802#line 360
 6803        __cil_tmp49 = __cil_tmp48 + 3;
 6804#line 360
 6805        __cil_tmp50 = *((uint8_t *)__cil_tmp49);
 6806#line 360
 6807        __cil_tmp51 = (int )__cil_tmp50;
 6808#line 360
 6809        __cil_tmp52 = (unsigned long )extp;
 6810#line 360
 6811        __cil_tmp53 = __cil_tmp52 + 4;
 6812#line 360
 6813        __cil_tmp54 = *((uint8_t *)__cil_tmp53);
 6814#line 360
 6815        __cil_tmp55 = (int )__cil_tmp54;
 6816#line 360
 6817        printk("<3>  Unknown Intel/Sharp Extended Query version %c.%c.\n", __cil_tmp51,
 6818               __cil_tmp55);
 6819#line 363
 6820        __cil_tmp56 = (void    *)extp;
 6821#line 363
 6822        kfree(__cil_tmp56);
 6823        }
 6824        {
 6825#line 364
 6826        __cil_tmp57 = (void *)0;
 6827#line 364
 6828        return ((struct cfi_pri_intelext *)__cil_tmp57);
 6829        }
 6830      } else {
 6831
 6832      }
 6833      }
 6834    }
 6835    }
 6836  }
 6837  }
 6838#line 368
 6839  __cil_tmp58 = (unsigned long )extp;
 6840#line 368
 6841  __cil_tmp59 = __cil_tmp58 + 5;
 6842#line 368
 6843  __cil_tmp60 = (unsigned long )extp;
 6844#line 368
 6845  __cil_tmp61 = __cil_tmp60 + 5;
 6846#line 368
 6847  *((uint32_t *)__cil_tmp59) = *((uint32_t *)__cil_tmp61);
 6848#line 369
 6849  __cil_tmp62 = (unsigned long )extp;
 6850#line 369
 6851  __cil_tmp63 = __cil_tmp62 + 10;
 6852#line 369
 6853  __cil_tmp64 = (unsigned long )extp;
 6854#line 369
 6855  __cil_tmp65 = __cil_tmp64 + 10;
 6856#line 369
 6857  *((uint16_t *)__cil_tmp63) = *((uint16_t *)__cil_tmp65);
 6858#line 370
 6859  __cil_tmp66 = (unsigned long )extp;
 6860#line 370
 6861  __cil_tmp67 = __cil_tmp66 + 15;
 6862#line 370
 6863  __cil_tmp68 = (unsigned long )extp;
 6864#line 370
 6865  __cil_tmp69 = __cil_tmp68 + 15;
 6866#line 370
 6867  *((uint16_t *)__cil_tmp67) = *((uint16_t *)__cil_tmp69);
 6868  {
 6869#line 372
 6870  __cil_tmp70 = (unsigned long )extp;
 6871#line 372
 6872  __cil_tmp71 = __cil_tmp70 + 4;
 6873#line 372
 6874  __cil_tmp72 = *((uint8_t *)__cil_tmp71);
 6875#line 372
 6876  __cil_tmp73 = (int )__cil_tmp72;
 6877#line 372
 6878  if (__cil_tmp73 >= 48) {
 6879#line 373
 6880    extra_size = 0U;
 6881#line 376
 6882    __cil_tmp74 = (unsigned long )extp;
 6883#line 376
 6884    __cil_tmp75 = __cil_tmp74 + 14;
 6885#line 376
 6886    __cil_tmp76 = *((uint8_t *)__cil_tmp75);
 6887#line 376
 6888    __cil_tmp77 = (int )__cil_tmp76;
 6889#line 376
 6890    __cil_tmp78 = __cil_tmp77 - 1;
 6891#line 376
 6892    __cil_tmp79 = (unsigned long )__cil_tmp78;
 6893#line 376
 6894    __cil_tmp80 = __cil_tmp79 * 10UL;
 6895#line 376
 6896    __cil_tmp81 = (unsigned long )extra_size;
 6897#line 376
 6898    __cil_tmp82 = __cil_tmp81 + __cil_tmp80;
 6899#line 376
 6900    extra_size = (unsigned int )__cil_tmp82;
 6901  } else {
 6902
 6903  }
 6904  }
 6905  {
 6906#line 380
 6907  __cil_tmp83 = (unsigned long )extp;
 6908#line 380
 6909  __cil_tmp84 = __cil_tmp83 + 4;
 6910#line 380
 6911  __cil_tmp85 = *((uint8_t *)__cil_tmp84);
 6912#line 380
 6913  __cil_tmp86 = (int )__cil_tmp85;
 6914#line 380
 6915  if (__cil_tmp86 >= 49) {
 6916#line 382
 6917    extra_size = extra_size + 2U;
 6918    {
 6919#line 383
 6920    __cil_tmp87 = (unsigned long )extra_size;
 6921#line 383
 6922    __cil_tmp88 = 19UL + __cil_tmp87;
 6923#line 383
 6924    __cil_tmp89 = (unsigned long )extp_size;
 6925#line 383
 6926    if (__cil_tmp89 < __cil_tmp88) {
 6927#line 384
 6928      goto need_more;
 6929    } else {
 6930
 6931    }
 6932    }
 6933#line 385
 6934    __cil_tmp90 = extra_size - 1U;
 6935#line 385
 6936    __cil_tmp91 = __cil_tmp90 * 1UL;
 6937#line 385
 6938    __cil_tmp92 = 19 + __cil_tmp91;
 6939#line 385
 6940    __cil_tmp93 = (unsigned long )extp;
 6941#line 385
 6942    __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
 6943#line 385
 6944    __cil_tmp95 = *((uint8_t *)__cil_tmp94);
 6945#line 385
 6946    __cil_tmp96 = (unsigned int )__cil_tmp95;
 6947#line 385
 6948    extra_size = extra_size + __cil_tmp96;
 6949  } else {
 6950
 6951  }
 6952  }
 6953  {
 6954#line 388
 6955  __cil_tmp97 = (unsigned long )extp;
 6956#line 388
 6957  __cil_tmp98 = __cil_tmp97 + 4;
 6958#line 388
 6959  __cil_tmp99 = *((uint8_t *)__cil_tmp98);
 6960#line 388
 6961  __cil_tmp100 = (int )__cil_tmp99;
 6962#line 388
 6963  if (__cil_tmp100 >= 51) {
 6964#line 392
 6965    extra_size = extra_size + 1U;
 6966    {
 6967#line 393
 6968    __cil_tmp101 = (unsigned long )extra_size;
 6969#line 393
 6970    __cil_tmp102 = 19UL + __cil_tmp101;
 6971#line 393
 6972    __cil_tmp103 = (unsigned long )extp_size;
 6973#line 393
 6974    if (__cil_tmp103 < __cil_tmp102) {
 6975#line 394
 6976      goto need_more;
 6977    } else {
 6978
 6979    }
 6980    }
 6981#line 395
 6982    __cil_tmp104 = extra_size - 1U;
 6983#line 395
 6984    __cil_tmp105 = __cil_tmp104 * 1UL;
 6985#line 395
 6986    __cil_tmp106 = 19 + __cil_tmp105;
 6987#line 395
 6988    __cil_tmp107 = (unsigned long )extp;
 6989#line 395
 6990    __cil_tmp108 = __cil_tmp107 + __cil_tmp106;
 6991#line 395
 6992    __cil_tmp109 = *((uint8_t *)__cil_tmp108);
 6993#line 395
 6994    nb_parts = (int )__cil_tmp109;
 6995    {
 6996#line 398
 6997    __cil_tmp110 = (unsigned long )extp;
 6998#line 398
 6999    __cil_tmp111 = __cil_tmp110 + 4;
 7000#line 398
 7001    __cil_tmp112 = *((uint8_t *)__cil_tmp111);
 7002#line 398
 7003    __cil_tmp113 = (int )__cil_tmp112;
 7004#line 398
 7005    if (__cil_tmp113 >= 52) {
 7006#line 399
 7007      extra_size = extra_size + 2U;
 7008    } else {
 7009
 7010    }
 7011    }
 7012#line 401
 7013    i = 0;
 7014    {
 7015#line 401
 7016    while (1) {
 7017      while_continue: /* CIL Label */ ;
 7018#line 401
 7019      if (i < nb_parts) {
 7020
 7021      } else {
 7022#line 401
 7023        goto while_break;
 7024      }
 7025#line 403
 7026      __cil_tmp114 = extra_size * 1UL;
 7027#line 403
 7028      __cil_tmp115 = 19 + __cil_tmp114;
 7029#line 403
 7030      __cil_tmp116 = (unsigned long )extp;
 7031#line 403
 7032      __cil_tmp117 = __cil_tmp116 + __cil_tmp115;
 7033#line 403
 7034      __cil_tmp118 = (uint8_t *)__cil_tmp117;
 7035#line 403
 7036      rinfo = (struct cfi_intelext_regioninfo *)__cil_tmp118;
 7037#line 404
 7038      __cil_tmp119 = (unsigned long )extra_size;
 7039#line 404
 7040      __cil_tmp120 = __cil_tmp119 + 14UL;
 7041#line 404
 7042      extra_size = (unsigned int )__cil_tmp120;
 7043      {
 7044#line 405
 7045      __cil_tmp121 = (unsigned long )extra_size;
 7046#line 405
 7047      __cil_tmp122 = 19UL + __cil_tmp121;
 7048#line 405
 7049      __cil_tmp123 = (unsigned long )extp_size;
 7050#line 405
 7051      if (__cil_tmp123 < __cil_tmp122) {
 7052#line 406
 7053        goto need_more;
 7054      } else {
 7055
 7056      }
 7057      }
 7058#line 407
 7059      *((uint16_t *)rinfo) = *((uint16_t *)rinfo);
 7060#line 408
 7061      __cil_tmp124 = (unsigned long )rinfo;
 7062#line 408
 7063      __cil_tmp125 = __cil_tmp124 + 5;
 7064#line 408
 7065      __cil_tmp126 = *((uint8_t *)__cil_tmp125);
 7066#line 408
 7067      __cil_tmp127 = (int )__cil_tmp126;
 7068#line 408
 7069      __cil_tmp128 = __cil_tmp127 - 1;
 7070#line 408
 7071      __cil_tmp129 = (unsigned long )__cil_tmp128;
 7072#line 408
 7073      __cil_tmp130 = __cil_tmp129 * 8UL;
 7074#line 408
 7075      __cil_tmp131 = (unsigned long )extra_size;
 7076#line 408
 7077      __cil_tmp132 = __cil_tmp131 + __cil_tmp130;
 7078#line 408
 7079      extra_size = (unsigned int )__cil_tmp132;
 7080#line 401
 7081      i = i + 1;
 7082    }
 7083    while_break: /* CIL Label */ ;
 7084    }
 7085    {
 7086#line 412
 7087    __cil_tmp133 = (unsigned long )extp;
 7088#line 412
 7089    __cil_tmp134 = __cil_tmp133 + 4;
 7090#line 412
 7091    __cil_tmp135 = *((uint8_t *)__cil_tmp134);
 7092#line 412
 7093    __cil_tmp136 = (int )__cil_tmp135;
 7094#line 412
 7095    if (__cil_tmp136 >= 52) {
 7096#line 413
 7097      __cil_tmp137 = (unsigned long )extra_size;
 7098#line 413
 7099      __cil_tmp138 = __cil_tmp137 + 6UL;
 7100#line 413
 7101      extra_size = (unsigned int )__cil_tmp138;
 7102    } else {
 7103
 7104    }
 7105    }
 7106    {
 7107#line 415
 7108    __cil_tmp139 = (unsigned long )extra_size;
 7109#line 415
 7110    __cil_tmp140 = 19UL + __cil_tmp139;
 7111#line 415
 7112    __cil_tmp141 = (unsigned long )extp_size;
 7113#line 415
 7114    if (__cil_tmp141 < __cil_tmp140) {
 7115      need_more: 
 7116      {
 7117#line 417
 7118      __cil_tmp142 = (unsigned long )extra_size;
 7119#line 417
 7120      __cil_tmp143 = 19UL + __cil_tmp142;
 7121#line 417
 7122      extp_size = (unsigned int )__cil_tmp143;
 7123#line 418
 7124      __cil_tmp144 = (void    *)extp;
 7125#line 418
 7126      kfree(__cil_tmp144);
 7127      }
 7128#line 419
 7129      if (extp_size > 4096U) {
 7130        {
 7131#line 420
 7132        printk("<3>%s: cfi_pri_intelext is too fat\n", "read_pri_intelext");
 7133        }
 7134        {
 7135#line 423
 7136        __cil_tmp145 = (void *)0;
 7137#line 423
 7138        return ((struct cfi_pri_intelext *)__cil_tmp145);
 7139        }
 7140      } else {
 7141
 7142      }
 7143#line 425
 7144      goto again;
 7145    } else {
 7146
 7147    }
 7148    }
 7149  } else {
 7150
 7151  }
 7152  }
 7153#line 429
 7154  return (extp);
 7155}
 7156}
 7157#line 540 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 7158static struct lock_class_key __key___3  ;
 7159#line 432 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 7160struct mtd_info *cfi_cmdset_0001(struct map_info *map , int primary ) 
 7161{ struct cfi_private *cfi ;
 7162  struct mtd_info *mtd ;
 7163  int i ;
 7164  void *tmp___7 ;
 7165  __u16 adr ;
 7166  int tmp___8 ;
 7167  struct cfi_pri_intelext *extp ;
 7168  struct mtd_info *tmp___9 ;
 7169  unsigned long __cil_tmp11 ;
 7170  unsigned long __cil_tmp12 ;
 7171  void *__cil_tmp13 ;
 7172  void *__cil_tmp14 ;
 7173  unsigned long __cil_tmp15 ;
 7174  unsigned long __cil_tmp16 ;
 7175  unsigned long __cil_tmp17 ;
 7176  unsigned long __cil_tmp18 ;
 7177  unsigned long __cil_tmp19 ;
 7178  unsigned long __cil_tmp20 ;
 7179  unsigned long __cil_tmp21 ;
 7180  unsigned long __cil_tmp22 ;
 7181  unsigned long __cil_tmp23 ;
 7182  unsigned long __cil_tmp24 ;
 7183  unsigned long __cil_tmp25 ;
 7184  unsigned long __cil_tmp26 ;
 7185  unsigned long __cil_tmp27 ;
 7186  unsigned long __cil_tmp28 ;
 7187  unsigned long __cil_tmp29 ;
 7188  unsigned long __cil_tmp30 ;
 7189  unsigned long __cil_tmp31 ;
 7190  unsigned long __cil_tmp32 ;
 7191  unsigned long __cil_tmp33 ;
 7192  unsigned long __cil_tmp34 ;
 7193  unsigned long __cil_tmp35 ;
 7194  unsigned long __cil_tmp36 ;
 7195  unsigned long __cil_tmp37 ;
 7196  unsigned long __cil_tmp38 ;
 7197  unsigned long __cil_tmp39 ;
 7198  unsigned long __cil_tmp40 ;
 7199  unsigned long __cil_tmp41 ;
 7200  unsigned long __cil_tmp42 ;
 7201  unsigned long __cil_tmp43 ;
 7202  unsigned long __cil_tmp44 ;
 7203  struct cfi_ident *__cil_tmp45 ;
 7204  unsigned long __cil_tmp46 ;
 7205  unsigned long __cil_tmp47 ;
 7206  uint16_t __cil_tmp48 ;
 7207  int __cil_tmp49 ;
 7208  unsigned long __cil_tmp50 ;
 7209  unsigned long __cil_tmp51 ;
 7210  int __cil_tmp52 ;
 7211  int __cil_tmp53 ;
 7212  unsigned long __cil_tmp54 ;
 7213  unsigned long __cil_tmp55 ;
 7214  unsigned long __cil_tmp56 ;
 7215  unsigned long __cil_tmp57 ;
 7216  int __cil_tmp58 ;
 7217  unsigned long __cil_tmp59 ;
 7218  unsigned long __cil_tmp60 ;
 7219  struct cfi_ident *__cil_tmp61 ;
 7220  unsigned long __cil_tmp62 ;
 7221  unsigned long __cil_tmp63 ;
 7222  uint16_t __cil_tmp64 ;
 7223  unsigned long __cil_tmp65 ;
 7224  unsigned long __cil_tmp66 ;
 7225  struct cfi_ident *__cil_tmp67 ;
 7226  unsigned long __cil_tmp68 ;
 7227  unsigned long __cil_tmp69 ;
 7228  uint16_t __cil_tmp70 ;
 7229  void    *__cil_tmp71 ;
 7230  void *__cil_tmp72 ;
 7231  unsigned long __cil_tmp73 ;
 7232  unsigned long __cil_tmp74 ;
 7233  unsigned long __cil_tmp75 ;
 7234  unsigned long __cil_tmp76 ;
 7235  struct cfi_fixup *__cil_tmp77 ;
 7236  unsigned long __cil_tmp78 ;
 7237  unsigned long __cil_tmp79 ;
 7238  uint8_t __cil_tmp80 ;
 7239  int __cil_tmp81 ;
 7240  unsigned long __cil_tmp82 ;
 7241  unsigned long __cil_tmp83 ;
 7242  int __cil_tmp84 ;
 7243  unsigned long __cil_tmp85 ;
 7244  unsigned long __cil_tmp86 ;
 7245  struct cfi_fixup *__cil_tmp87 ;
 7246  unsigned long __cil_tmp88 ;
 7247  unsigned long __cil_tmp89 ;
 7248  struct cfi_fixup *__cil_tmp90 ;
 7249  unsigned long __cil_tmp91 ;
 7250  unsigned long __cil_tmp92 ;
 7251  int __cil_tmp93 ;
 7252  unsigned long __cil_tmp94 ;
 7253  unsigned long __cil_tmp95 ;
 7254  struct cfi_ident *__cil_tmp96 ;
 7255  unsigned long __cil_tmp97 ;
 7256  unsigned long __cil_tmp98 ;
 7257  unsigned long __cil_tmp99 ;
 7258  unsigned long __cil_tmp100 ;
 7259  unsigned long __cil_tmp101 ;
 7260  unsigned long __cil_tmp102 ;
 7261  unsigned long __cil_tmp103 ;
 7262  unsigned long __cil_tmp104 ;
 7263  unsigned long __cil_tmp105 ;
 7264  struct cfi_ident *__cil_tmp106 ;
 7265  unsigned long __cil_tmp107 ;
 7266  unsigned long __cil_tmp108 ;
 7267  uint8_t __cil_tmp109 ;
 7268  int __cil_tmp110 ;
 7269  unsigned long __cil_tmp111 ;
 7270  unsigned long __cil_tmp112 ;
 7271  unsigned long __cil_tmp113 ;
 7272  unsigned long __cil_tmp114 ;
 7273  unsigned long __cil_tmp115 ;
 7274  unsigned long __cil_tmp116 ;
 7275  unsigned long __cil_tmp117 ;
 7276  struct cfi_ident *__cil_tmp118 ;
 7277  unsigned long __cil_tmp119 ;
 7278  unsigned long __cil_tmp120 ;
 7279  unsigned long __cil_tmp121 ;
 7280  unsigned long __cil_tmp122 ;
 7281  unsigned long __cil_tmp123 ;
 7282  unsigned long __cil_tmp124 ;
 7283  unsigned long __cil_tmp125 ;
 7284  unsigned long __cil_tmp126 ;
 7285  unsigned long __cil_tmp127 ;
 7286  struct cfi_ident *__cil_tmp128 ;
 7287  unsigned long __cil_tmp129 ;
 7288  unsigned long __cil_tmp130 ;
 7289  uint8_t __cil_tmp131 ;
 7290  int __cil_tmp132 ;
 7291  unsigned long __cil_tmp133 ;
 7292  unsigned long __cil_tmp134 ;
 7293  struct cfi_ident *__cil_tmp135 ;
 7294  unsigned long __cil_tmp136 ;
 7295  unsigned long __cil_tmp137 ;
 7296  unsigned long __cil_tmp138 ;
 7297  unsigned long __cil_tmp139 ;
 7298  unsigned long __cil_tmp140 ;
 7299  unsigned long __cil_tmp141 ;
 7300  unsigned long __cil_tmp142 ;
 7301  unsigned long __cil_tmp143 ;
 7302  unsigned long __cil_tmp144 ;
 7303  struct cfi_ident *__cil_tmp145 ;
 7304  unsigned long __cil_tmp146 ;
 7305  unsigned long __cil_tmp147 ;
 7306  uint8_t __cil_tmp148 ;
 7307  int __cil_tmp149 ;
 7308  unsigned long __cil_tmp150 ;
 7309  unsigned long __cil_tmp151 ;
 7310  unsigned long __cil_tmp152 ;
 7311  unsigned long __cil_tmp153 ;
 7312  unsigned long __cil_tmp154 ;
 7313  unsigned long __cil_tmp155 ;
 7314  unsigned long __cil_tmp156 ;
 7315  struct cfi_ident *__cil_tmp157 ;
 7316  unsigned long __cil_tmp158 ;
 7317  unsigned long __cil_tmp159 ;
 7318  unsigned long __cil_tmp160 ;
 7319  unsigned long __cil_tmp161 ;
 7320  struct cfi_ident *__cil_tmp162 ;
 7321  unsigned long __cil_tmp163 ;
 7322  unsigned long __cil_tmp164 ;
 7323  unsigned long __cil_tmp165 ;
 7324  unsigned long __cil_tmp166 ;
 7325  unsigned long __cil_tmp167 ;
 7326  unsigned long __cil_tmp168 ;
 7327  unsigned long __cil_tmp169 ;
 7328  unsigned long __cil_tmp170 ;
 7329  unsigned long __cil_tmp171 ;
 7330  struct cfi_ident *__cil_tmp172 ;
 7331  unsigned long __cil_tmp173 ;
 7332  unsigned long __cil_tmp174 ;
 7333  uint8_t __cil_tmp175 ;
 7334  int __cil_tmp176 ;
 7335  unsigned long __cil_tmp177 ;
 7336  unsigned long __cil_tmp178 ;
 7337  struct cfi_ident *__cil_tmp179 ;
 7338  unsigned long __cil_tmp180 ;
 7339  unsigned long __cil_tmp181 ;
 7340  uint8_t __cil_tmp182 ;
 7341  int __cil_tmp183 ;
 7342  int __cil_tmp184 ;
 7343  unsigned long __cil_tmp185 ;
 7344  unsigned long __cil_tmp186 ;
 7345  unsigned long __cil_tmp187 ;
 7346  unsigned long __cil_tmp188 ;
 7347  unsigned long __cil_tmp189 ;
 7348  unsigned long __cil_tmp190 ;
 7349  unsigned long __cil_tmp191 ;
 7350  unsigned long __cil_tmp192 ;
 7351  unsigned long __cil_tmp193 ;
 7352  unsigned long __cil_tmp194 ;
 7353  unsigned long __cil_tmp195 ;
 7354  unsigned long __cil_tmp196 ;
 7355  struct cfi_ident *__cil_tmp197 ;
 7356  unsigned long __cil_tmp198 ;
 7357  unsigned long __cil_tmp199 ;
 7358  unsigned long __cil_tmp200 ;
 7359  unsigned long __cil_tmp201 ;
 7360  struct cfi_ident *__cil_tmp202 ;
 7361  unsigned long __cil_tmp203 ;
 7362  unsigned long __cil_tmp204 ;
 7363  unsigned long __cil_tmp205 ;
 7364  unsigned long __cil_tmp206 ;
 7365  unsigned long __cil_tmp207 ;
 7366  unsigned long __cil_tmp208 ;
 7367  unsigned long __cil_tmp209 ;
 7368  unsigned long __cil_tmp210 ;
 7369  unsigned long __cil_tmp211 ;
 7370  struct cfi_ident *__cil_tmp212 ;
 7371  unsigned long __cil_tmp213 ;
 7372  unsigned long __cil_tmp214 ;
 7373  uint8_t __cil_tmp215 ;
 7374  int __cil_tmp216 ;
 7375  unsigned long __cil_tmp217 ;
 7376  unsigned long __cil_tmp218 ;
 7377  struct cfi_ident *__cil_tmp219 ;
 7378  unsigned long __cil_tmp220 ;
 7379  unsigned long __cil_tmp221 ;
 7380  uint8_t __cil_tmp222 ;
 7381  int __cil_tmp223 ;
 7382  int __cil_tmp224 ;
 7383  unsigned long __cil_tmp225 ;
 7384  unsigned long __cil_tmp226 ;
 7385  struct cfi_ident *__cil_tmp227 ;
 7386  unsigned long __cil_tmp228 ;
 7387  unsigned long __cil_tmp229 ;
 7388  unsigned long __cil_tmp230 ;
 7389  unsigned long __cil_tmp231 ;
 7390  struct cfi_ident *__cil_tmp232 ;
 7391  unsigned long __cil_tmp233 ;
 7392  unsigned long __cil_tmp234 ;
 7393  unsigned long __cil_tmp235 ;
 7394  unsigned long __cil_tmp236 ;
 7395  unsigned long __cil_tmp237 ;
 7396  unsigned long __cil_tmp238 ;
 7397  unsigned long __cil_tmp239 ;
 7398  unsigned long __cil_tmp240 ;
 7399  unsigned long __cil_tmp241 ;
 7400  struct cfi_ident *__cil_tmp242 ;
 7401  unsigned long __cil_tmp243 ;
 7402  unsigned long __cil_tmp244 ;
 7403  uint8_t __cil_tmp245 ;
 7404  int __cil_tmp246 ;
 7405  unsigned long __cil_tmp247 ;
 7406  unsigned long __cil_tmp248 ;
 7407  struct cfi_ident *__cil_tmp249 ;
 7408  unsigned long __cil_tmp250 ;
 7409  unsigned long __cil_tmp251 ;
 7410  uint8_t __cil_tmp252 ;
 7411  int __cil_tmp253 ;
 7412  int __cil_tmp254 ;
 7413  unsigned long __cil_tmp255 ;
 7414  unsigned long __cil_tmp256 ;
 7415  unsigned long __cil_tmp257 ;
 7416  unsigned long __cil_tmp258 ;
 7417  unsigned long __cil_tmp259 ;
 7418  unsigned long __cil_tmp260 ;
 7419  unsigned long __cil_tmp261 ;
 7420  unsigned long __cil_tmp262 ;
 7421  unsigned long __cil_tmp263 ;
 7422  unsigned long __cil_tmp264 ;
 7423  unsigned long __cil_tmp265 ;
 7424  unsigned long __cil_tmp266 ;
 7425  unsigned long __cil_tmp267 ;
 7426  unsigned long __cil_tmp268 ;
 7427  unsigned long __cil_tmp269 ;
 7428  unsigned long __cil_tmp270 ;
 7429  unsigned long __cil_tmp271 ;
 7430  unsigned long __cil_tmp272 ;
 7431  unsigned long __cil_tmp273 ;
 7432  unsigned long __cil_tmp274 ;
 7433  wait_queue_head_t *__cil_tmp275 ;
 7434  unsigned long __cil_tmp276 ;
 7435  unsigned long __cil_tmp277 ;
 7436
 7437  {
 7438  {
 7439#line 434
 7440  __cil_tmp11 = (unsigned long )map;
 7441#line 434
 7442  __cil_tmp12 = __cil_tmp11 + 120;
 7443#line 434
 7444  __cil_tmp13 = *((void **)__cil_tmp12);
 7445#line 434
 7446  cfi = (struct cfi_private *)__cil_tmp13;
 7447#line 438
 7448  tmp___7 = kzalloc(1152UL, 208U);
 7449#line 438
 7450  mtd = (struct mtd_info *)tmp___7;
 7451  }
 7452#line 439
 7453  if (! mtd) {
 7454    {
 7455#line 440
 7456    printk("<3>Failed to allocate memory for MTD device\n");
 7457    }
 7458    {
 7459#line 441
 7460    __cil_tmp14 = (void *)0;
 7461#line 441
 7462    return ((struct mtd_info *)__cil_tmp14);
 7463    }
 7464  } else {
 7465
 7466  }
 7467#line 443
 7468  __cil_tmp15 = (unsigned long )mtd;
 7469#line 443
 7470  __cil_tmp16 = __cil_tmp15 + 360;
 7471#line 443
 7472  *((void **)__cil_tmp16) = (void *)map;
 7473#line 444
 7474  *((u_char *)mtd) = (u_char )3;
 7475#line 447
 7476  __cil_tmp17 = (unsigned long )mtd;
 7477#line 447
 7478  __cil_tmp18 = __cil_tmp17 + 96;
 7479#line 447
 7480  *((int (**)(struct mtd_info *mtd , struct erase_info *instr ))__cil_tmp18) = & cfi_intelext_erase_varsize;
 7481#line 448
 7482  __cil_tmp19 = (unsigned long )mtd;
 7483#line 448
 7484  __cil_tmp20 = __cil_tmp19 + 128;
 7485#line 448
 7486  *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen , u_char *buf ))__cil_tmp20) = & cfi_intelext_read;
 7487#line 449
 7488  __cil_tmp21 = (unsigned long )mtd;
 7489#line 449
 7490  __cil_tmp22 = __cil_tmp21 + 136;
 7491#line 449
 7492  *((int (**)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char    *buf ))__cil_tmp22) = & cfi_intelext_write_words;
 7493#line 450
 7494  __cil_tmp23 = (unsigned long )mtd;
 7495#line 450
 7496  __cil_tmp24 = __cil_tmp23 + 224;
 7497#line 450
 7498  *((void (**)(struct mtd_info *mtd ))__cil_tmp24) = & cfi_intelext_sync;
 7499#line 451
 7500  __cil_tmp25 = (unsigned long )mtd;
 7501#line 451
 7502  __cil_tmp26 = __cil_tmp25 + 232;
 7503#line 451
 7504  *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp26) = & cfi_intelext_lock;
 7505#line 452
 7506  __cil_tmp27 = (unsigned long )mtd;
 7507#line 452
 7508  __cil_tmp28 = __cil_tmp27 + 240;
 7509#line 452
 7510  *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp28) = & cfi_intelext_unlock;
 7511#line 453
 7512  __cil_tmp29 = (unsigned long )mtd;
 7513#line 453
 7514  __cil_tmp30 = __cil_tmp29 + 248;
 7515#line 453
 7516  *((int (**)(struct mtd_info *mtd , loff_t ofs , uint64_t len ))__cil_tmp30) = & cfi_intelext_is_locked;
 7517#line 454
 7518  __cil_tmp31 = (unsigned long )mtd;
 7519#line 454
 7520  __cil_tmp32 = __cil_tmp31 + 272;
 7521#line 454
 7522  *((int (**)(struct mtd_info *mtd ))__cil_tmp32) = & cfi_intelext_suspend;
 7523#line 455
 7524  __cil_tmp33 = (unsigned long )mtd;
 7525#line 455
 7526  __cil_tmp34 = __cil_tmp33 + 280;
 7527#line 455
 7528  *((void (**)(struct mtd_info *mtd ))__cil_tmp34) = & cfi_intelext_resume;
 7529#line 456
 7530  __cil_tmp35 = (unsigned long )mtd;
 7531#line 456
 7532  __cil_tmp36 = __cil_tmp35 + 4;
 7533#line 456
 7534  *((uint32_t *)__cil_tmp36) = (uint32_t )3072;
 7535#line 457
 7536  __cil_tmp37 = (unsigned long )mtd;
 7537#line 457
 7538  __cil_tmp38 = __cil_tmp37 + 56;
 7539#line 457
 7540  *((char    **)__cil_tmp38) = *((char    **)map);
 7541#line 458
 7542  __cil_tmp39 = (unsigned long )mtd;
 7543#line 458
 7544  __cil_tmp40 = __cil_tmp39 + 20;
 7545#line 458
 7546  *((uint32_t *)__cil_tmp40) = (uint32_t )1;
 7547#line 459
 7548  __cil_tmp41 = (unsigned long )mtd;
 7549#line 459
 7550  __cil_tmp42 = __cil_tmp41 + 24;
 7551#line 459
 7552  __cil_tmp43 = (unsigned long )cfi;
 7553#line 459
 7554  __cil_tmp44 = __cil_tmp43 + 48;
 7555#line 459
 7556  __cil_tmp45 = *((struct cfi_ident **)__cil_tmp44);
 7557#line 459
 7558  __cil_tmp46 = (unsigned long )__cil_tmp45;
 7559#line 459
 7560  __cil_tmp47 = __cil_tmp46 + 26;
 7561#line 459
 7562  __cil_tmp48 = *((uint16_t *)__cil_tmp47);
 7563#line 459
 7564  __cil_tmp49 = (int )__cil_tmp48;
 7565#line 459
 7566  __cil_tmp50 = (unsigned long )cfi;
 7567#line 459
 7568  __cil_tmp51 = __cil_tmp50 + 16;
 7569#line 459
 7570  __cil_tmp52 = *((int *)__cil_tmp51);
 7571#line 459
 7572  __cil_tmp53 = __cil_tmp52 << __cil_tmp49;
 7573#line 459
 7574  *((uint32_t *)__cil_tmp42) = (uint32_t )__cil_tmp53;
 7575#line 461
 7576  __cil_tmp54 = (unsigned long )mtd;
 7577#line 461
 7578  __cil_tmp55 = __cil_tmp54 + 312;
 7579#line 461
 7580  *((int (**)(struct notifier_block * , unsigned long  , void * ))__cil_tmp55) = & cfi_intelext_reboot;
 7581  {
 7582#line 463
 7583  __cil_tmp56 = (unsigned long )cfi;
 7584#line 463
 7585  __cil_tmp57 = __cil_tmp56 + 24;
 7586#line 463
 7587  __cil_tmp58 = *((int *)__cil_tmp57);
 7588#line 463
 7589  if (__cil_tmp58 == 1) {
 7590#line 469
 7591    if (primary) {
 7592#line 469
 7593      __cil_tmp59 = (unsigned long )cfi;
 7594#line 469
 7595      __cil_tmp60 = __cil_tmp59 + 48;
 7596#line 469
 7597      __cil_tmp61 = *((struct cfi_ident **)__cil_tmp60);
 7598#line 469
 7599      __cil_tmp62 = (unsigned long )__cil_tmp61;
 7600#line 469
 7601      __cil_tmp63 = __cil_tmp62 + 5;
 7602#line 469
 7603      __cil_tmp64 = *((uint16_t *)__cil_tmp63);
 7604#line 469
 7605      tmp___8 = (int )__cil_tmp64;
 7606    } else {
 7607#line 469
 7608      __cil_tmp65 = (unsigned long )cfi;
 7609#line 469
 7610      __cil_tmp66 = __cil_tmp65 + 48;
 7611#line 469
 7612      __cil_tmp67 = *((struct cfi_ident **)__cil_tmp66);
 7613#line 469
 7614      __cil_tmp68 = (unsigned long )__cil_tmp67;
 7615#line 469
 7616      __cil_tmp69 = __cil_tmp68 + 9;
 7617#line 469
 7618      __cil_tmp70 = *((uint16_t *)__cil_tmp69);
 7619#line 469
 7620      tmp___8 = (int )__cil_tmp70;
 7621    }
 7622    {
 7623#line 469
 7624    adr = (__u16 )tmp___8;
 7625#line 472
 7626    extp = read_pri_intelext(map, adr);
 7627    }
 7628#line 473
 7629    if (! extp) {
 7630      {
 7631#line 474
 7632      __cil_tmp71 = (void    *)mtd;
 7633#line 474
 7634      kfree(__cil_tmp71);
 7635      }
 7636      {
 7637#line 475
 7638      __cil_tmp72 = (void *)0;
 7639#line 475
 7640      return ((struct mtd_info *)__cil_tmp72);
 7641      }
 7642    } else {
 7643
 7644    }
 7645    {
 7646#line 479
 7647    __cil_tmp73 = (unsigned long )cfi;
 7648#line 479
 7649    __cil_tmp74 = __cil_tmp73 + 8;
 7650#line 479
 7651    *((void **)__cil_tmp74) = (void *)extp;
 7652#line 481
 7653    __cil_tmp75 = 0 * 16UL;
 7654#line 481
 7655    __cil_tmp76 = (unsigned long )(cfi_fixup_table) + __cil_tmp75;
 7656#line 481
 7657    __cil_tmp77 = (struct cfi_fixup *)__cil_tmp76;
 7658#line 481
 7659    cfi_fixup(mtd, __cil_tmp77);
 7660    }
 7661    {
 7662#line 488
 7663    __cil_tmp78 = (unsigned long )extp;
 7664#line 488
 7665    __cil_tmp79 = __cil_tmp78 + 9;
 7666#line 488
 7667    __cil_tmp80 = *((uint8_t *)__cil_tmp79);
 7668#line 488
 7669    __cil_tmp81 = (int )__cil_tmp80;
 7670#line 488
 7671    if (__cil_tmp81 & 1) {
 7672      {
 7673#line 489
 7674      printk("<5>cfi_cmdset_0001: Erase suspend on write enabled\n");
 7675      }
 7676    } else {
 7677
 7678    }
 7679    }
 7680  } else {
 7681    {
 7682#line 492
 7683    __cil_tmp82 = (unsigned long )cfi;
 7684#line 492
 7685    __cil_tmp83 = __cil_tmp82 + 24;
 7686#line 492
 7687    __cil_tmp84 = *((int *)__cil_tmp83);
 7688#line 492
 7689    if (__cil_tmp84 == 0) {
 7690      {
 7691#line 494
 7692      __cil_tmp85 = 0 * 16UL;
 7693#line 494
 7694      __cil_tmp86 = (unsigned long )(jedec_fixup_table) + __cil_tmp85;
 7695#line 494
 7696      __cil_tmp87 = (struct cfi_fixup *)__cil_tmp86;
 7697#line 494
 7698      cfi_fixup(mtd, __cil_tmp87);
 7699      }
 7700    } else {
 7701
 7702    }
 7703    }
 7704  }
 7705  }
 7706  {
 7707#line 497
 7708  __cil_tmp88 = 0 * 16UL;
 7709#line 497
 7710  __cil_tmp89 = (unsigned long )(fixup_table) + __cil_tmp88;
 7711#line 497
 7712  __cil_tmp90 = (struct cfi_fixup *)__cil_tmp89;
 7713#line 497
 7714  cfi_fixup(mtd, __cil_tmp90);
 7715#line 499
 7716  i = 0;
 7717  }
 7718  {
 7719#line 499
 7720  while (1) {
 7721    while_continue: /* CIL Label */ ;
 7722    {
 7723#line 499
 7724    __cil_tmp91 = (unsigned long )cfi;
 7725#line 499
 7726    __cil_tmp92 = __cil_tmp91 + 64;
 7727#line 499
 7728    __cil_tmp93 = *((int *)__cil_tmp92);
 7729#line 499
 7730    if (i < __cil_tmp93) {
 7731
 7732    } else {
 7733#line 499
 7734      goto while_break;
 7735    }
 7736    }
 7737    {
 7738#line 500
 7739    __cil_tmp94 = (unsigned long )cfi;
 7740#line 500
 7741    __cil_tmp95 = __cil_tmp94 + 48;
 7742#line 500
 7743    __cil_tmp96 = *((struct cfi_ident **)__cil_tmp95);
 7744#line 500
 7745    __cil_tmp97 = (unsigned long )__cil_tmp96;
 7746#line 500
 7747    __cil_tmp98 = __cil_tmp97 + 15;
 7748#line 500
 7749    if (*((uint8_t *)__cil_tmp98)) {
 7750#line 501
 7751      __cil_tmp99 = i * 176UL;
 7752#line 501
 7753      __cil_tmp100 = __cil_tmp99 + 144;
 7754#line 501
 7755      __cil_tmp101 = 120 + __cil_tmp100;
 7756#line 501
 7757      __cil_tmp102 = (unsigned long )cfi;
 7758#line 501
 7759      __cil_tmp103 = __cil_tmp102 + __cil_tmp101;
 7760#line 501
 7761      __cil_tmp104 = (unsigned long )cfi;
 7762#line 501
 7763      __cil_tmp105 = __cil_tmp104 + 48;
 7764#line 501
 7765      __cil_tmp106 = *((struct cfi_ident **)__cil_tmp105);
 7766#line 501
 7767      __cil_tmp107 = (unsigned long )__cil_tmp106;
 7768#line 501
 7769      __cil_tmp108 = __cil_tmp107 + 15;
 7770#line 501
 7771      __cil_tmp109 = *((uint8_t *)__cil_tmp108);
 7772#line 501
 7773      __cil_tmp110 = (int )__cil_tmp109;
 7774#line 501
 7775      *((int *)__cil_tmp103) = 1 << __cil_tmp110;
 7776    } else {
 7777#line 504
 7778      __cil_tmp111 = i * 176UL;
 7779#line 504
 7780      __cil_tmp112 = __cil_tmp111 + 144;
 7781#line 504
 7782      __cil_tmp113 = 120 + __cil_tmp112;
 7783#line 504
 7784      __cil_tmp114 = (unsigned long )cfi;
 7785#line 504
 7786      __cil_tmp115 = __cil_tmp114 + __cil_tmp113;
 7787#line 504
 7788      *((int *)__cil_tmp115) = 50000;
 7789    }
 7790    }
 7791    {
 7792#line 506
 7793    __cil_tmp116 = (unsigned long )cfi;
 7794#line 506
 7795    __cil_tmp117 = __cil_tmp116 + 48;
 7796#line 506
 7797    __cil_tmp118 = *((struct cfi_ident **)__cil_tmp117);
 7798#line 506
 7799    __cil_tmp119 = (unsigned long )__cil_tmp118;
 7800#line 506
 7801    __cil_tmp120 = __cil_tmp119 + 16;
 7802#line 506
 7803    if (*((uint8_t *)__cil_tmp120)) {
 7804#line 507
 7805      __cil_tmp121 = i * 176UL;
 7806#line 507
 7807      __cil_tmp122 = __cil_tmp121 + 148;
 7808#line 507
 7809      __cil_tmp123 = 120 + __cil_tmp122;
 7810#line 507
 7811      __cil_tmp124 = (unsigned long )cfi;
 7812#line 507
 7813      __cil_tmp125 = __cil_tmp124 + __cil_tmp123;
 7814#line 507
 7815      __cil_tmp126 = (unsigned long )cfi;
 7816#line 507
 7817      __cil_tmp127 = __cil_tmp126 + 48;
 7818#line 507
 7819      __cil_tmp128 = *((struct cfi_ident **)__cil_tmp127);
 7820#line 507
 7821      __cil_tmp129 = (unsigned long )__cil_tmp128;
 7822#line 507
 7823      __cil_tmp130 = __cil_tmp129 + 16;
 7824#line 507
 7825      __cil_tmp131 = *((uint8_t *)__cil_tmp130);
 7826#line 507
 7827      __cil_tmp132 = (int )__cil_tmp131;
 7828#line 507
 7829      *((int *)__cil_tmp125) = 1 << __cil_tmp132;
 7830    } else {
 7831
 7832    }
 7833    }
 7834    {
 7835#line 511
 7836    __cil_tmp133 = (unsigned long )cfi;
 7837#line 511
 7838    __cil_tmp134 = __cil_tmp133 + 48;
 7839#line 511
 7840    __cil_tmp135 = *((struct cfi_ident **)__cil_tmp134);
 7841#line 511
 7842    __cil_tmp136 = (unsigned long )__cil_tmp135;
 7843#line 511
 7844    __cil_tmp137 = __cil_tmp136 + 17;
 7845#line 511
 7846    if (*((uint8_t *)__cil_tmp137)) {
 7847#line 512
 7848      __cil_tmp138 = i * 176UL;
 7849#line 512
 7850      __cil_tmp139 = __cil_tmp138 + 152;
 7851#line 512
 7852      __cil_tmp140 = 120 + __cil_tmp139;
 7853#line 512
 7854      __cil_tmp141 = (unsigned long )cfi;
 7855#line 512
 7856      __cil_tmp142 = __cil_tmp141 + __cil_tmp140;
 7857#line 512
 7858      __cil_tmp143 = (unsigned long )cfi;
 7859#line 512
 7860      __cil_tmp144 = __cil_tmp143 + 48;
 7861#line 512
 7862      __cil_tmp145 = *((struct cfi_ident **)__cil_tmp144);
 7863#line 512
 7864      __cil_tmp146 = (unsigned long )__cil_tmp145;
 7865#line 512
 7866      __cil_tmp147 = __cil_tmp146 + 17;
 7867#line 512
 7868      __cil_tmp148 = *((uint8_t *)__cil_tmp147);
 7869#line 512
 7870      __cil_tmp149 = (int )__cil_tmp148;
 7871#line 512
 7872      *((int *)__cil_tmp142) = 1000 << __cil_tmp149;
 7873    } else {
 7874#line 515
 7875      __cil_tmp150 = i * 176UL;
 7876#line 515
 7877      __cil_tmp151 = __cil_tmp150 + 152;
 7878#line 515
 7879      __cil_tmp152 = 120 + __cil_tmp151;
 7880#line 515
 7881      __cil_tmp153 = (unsigned long )cfi;
 7882#line 515
 7883      __cil_tmp154 = __cil_tmp153 + __cil_tmp152;
 7884#line 515
 7885      *((int *)__cil_tmp154) = 2000000;
 7886    }
 7887    }
 7888    {
 7889#line 517
 7890    __cil_tmp155 = (unsigned long )cfi;
 7891#line 517
 7892    __cil_tmp156 = __cil_tmp155 + 48;
 7893#line 517
 7894    __cil_tmp157 = *((struct cfi_ident **)__cil_tmp156);
 7895#line 517
 7896    __cil_tmp158 = (unsigned long )__cil_tmp157;
 7897#line 517
 7898    __cil_tmp159 = __cil_tmp158 + 15;
 7899#line 517
 7900    if (*((uint8_t *)__cil_tmp159)) {
 7901      {
 7902#line 517
 7903      __cil_tmp160 = (unsigned long )cfi;
 7904#line 517
 7905      __cil_tmp161 = __cil_tmp160 + 48;
 7906#line 517
 7907      __cil_tmp162 = *((struct cfi_ident **)__cil_tmp161);
 7908#line 517
 7909      __cil_tmp163 = (unsigned long )__cil_tmp162;
 7910#line 517
 7911      __cil_tmp164 = __cil_tmp163 + 19;
 7912#line 517
 7913      if (*((uint8_t *)__cil_tmp164)) {
 7914#line 519
 7915        __cil_tmp165 = i * 176UL;
 7916#line 519
 7917        __cil_tmp166 = __cil_tmp165 + 156;
 7918#line 519
 7919        __cil_tmp167 = 120 + __cil_tmp166;
 7920#line 519
 7921        __cil_tmp168 = (unsigned long )cfi;
 7922#line 519
 7923        __cil_tmp169 = __cil_tmp168 + __cil_tmp167;
 7924#line 519
 7925        __cil_tmp170 = (unsigned long )cfi;
 7926#line 519
 7927        __cil_tmp171 = __cil_tmp170 + 48;
 7928#line 519
 7929        __cil_tmp172 = *((struct cfi_ident **)__cil_tmp171);
 7930#line 519
 7931        __cil_tmp173 = (unsigned long )__cil_tmp172;
 7932#line 519
 7933        __cil_tmp174 = __cil_tmp173 + 19;
 7934#line 519
 7935        __cil_tmp175 = *((uint8_t *)__cil_tmp174);
 7936#line 519
 7937        __cil_tmp176 = (int )__cil_tmp175;
 7938#line 519
 7939        __cil_tmp177 = (unsigned long )cfi;
 7940#line 519
 7941        __cil_tmp178 = __cil_tmp177 + 48;
 7942#line 519
 7943        __cil_tmp179 = *((struct cfi_ident **)__cil_tmp178);
 7944#line 519
 7945        __cil_tmp180 = (unsigned long )__cil_tmp179;
 7946#line 519
 7947        __cil_tmp181 = __cil_tmp180 + 15;
 7948#line 519
 7949        __cil_tmp182 = *((uint8_t *)__cil_tmp181);
 7950#line 519
 7951        __cil_tmp183 = (int )__cil_tmp182;
 7952#line 519
 7953        __cil_tmp184 = __cil_tmp183 + __cil_tmp176;
 7954#line 519
 7955        *((int *)__cil_tmp169) = 1 << __cil_tmp184;
 7956      } else {
 7957#line 523
 7958        __cil_tmp185 = i * 176UL;
 7959#line 523
 7960        __cil_tmp186 = __cil_tmp185 + 156;
 7961#line 523
 7962        __cil_tmp187 = 120 + __cil_tmp186;
 7963#line 523
 7964        __cil_tmp188 = (unsigned long )cfi;
 7965#line 523
 7966        __cil_tmp189 = __cil_tmp188 + __cil_tmp187;
 7967#line 523
 7968        *((int *)__cil_tmp189) = 400000;
 7969      }
 7970      }
 7971    } else {
 7972#line 523
 7973      __cil_tmp190 = i * 176UL;
 7974#line 523
 7975      __cil_tmp191 = __cil_tmp190 + 156;
 7976#line 523
 7977      __cil_tmp192 = 120 + __cil_tmp191;
 7978#line 523
 7979      __cil_tmp193 = (unsigned long )cfi;
 7980#line 523
 7981      __cil_tmp194 = __cil_tmp193 + __cil_tmp192;
 7982#line 523
 7983      *((int *)__cil_tmp194) = 400000;
 7984    }
 7985    }
 7986    {
 7987#line 525
 7988    __cil_tmp195 = (unsigned long )cfi;
 7989#line 525
 7990    __cil_tmp196 = __cil_tmp195 + 48;
 7991#line 525
 7992    __cil_tmp197 = *((struct cfi_ident **)__cil_tmp196);
 7993#line 525
 7994    __cil_tmp198 = (unsigned long )__cil_tmp197;
 7995#line 525
 7996    __cil_tmp199 = __cil_tmp198 + 16;
 7997#line 525
 7998    if (*((uint8_t *)__cil_tmp199)) {
 7999      {
 8000#line 525
 8001      __cil_tmp200 = (unsigned long )cfi;
 8002#line 525
 8003      __cil_tmp201 = __cil_tmp200 + 48;
 8004#line 525
 8005      __cil_tmp202 = *((struct cfi_ident **)__cil_tmp201);
 8006#line 525
 8007      __cil_tmp203 = (unsigned long )__cil_tmp202;
 8008#line 525
 8009      __cil_tmp204 = __cil_tmp203 + 20;
 8010#line 525
 8011      if (*((uint8_t *)__cil_tmp204)) {
 8012#line 527
 8013        __cil_tmp205 = i * 176UL;
 8014#line 527
 8015        __cil_tmp206 = __cil_tmp205 + 160;
 8016#line 527
 8017        __cil_tmp207 = 120 + __cil_tmp206;
 8018#line 527
 8019        __cil_tmp208 = (unsigned long )cfi;
 8020#line 527
 8021        __cil_tmp209 = __cil_tmp208 + __cil_tmp207;
 8022#line 527
 8023        __cil_tmp210 = (unsigned long )cfi;
 8024#line 527
 8025        __cil_tmp211 = __cil_tmp210 + 48;
 8026#line 527
 8027        __cil_tmp212 = *((struct cfi_ident **)__cil_tmp211);
 8028#line 527
 8029        __cil_tmp213 = (unsigned long )__cil_tmp212;
 8030#line 527
 8031        __cil_tmp214 = __cil_tmp213 + 20;
 8032#line 527
 8033        __cil_tmp215 = *((uint8_t *)__cil_tmp214);
 8034#line 527
 8035        __cil_tmp216 = (int )__cil_tmp215;
 8036#line 527
 8037        __cil_tmp217 = (unsigned long )cfi;
 8038#line 527
 8039        __cil_tmp218 = __cil_tmp217 + 48;
 8040#line 527
 8041        __cil_tmp219 = *((struct cfi_ident **)__cil_tmp218);
 8042#line 527
 8043        __cil_tmp220 = (unsigned long )__cil_tmp219;
 8044#line 527
 8045        __cil_tmp221 = __cil_tmp220 + 16;
 8046#line 527
 8047        __cil_tmp222 = *((uint8_t *)__cil_tmp221);
 8048#line 527
 8049        __cil_tmp223 = (int )__cil_tmp222;
 8050#line 527
 8051        __cil_tmp224 = __cil_tmp223 + __cil_tmp216;
 8052#line 527
 8053        *((int *)__cil_tmp209) = 1 << __cil_tmp224;
 8054      } else {
 8055
 8056      }
 8057      }
 8058    } else {
 8059
 8060    }
 8061    }
 8062    {
 8063#line 531
 8064    __cil_tmp225 = (unsigned long )cfi;
 8065#line 531
 8066    __cil_tmp226 = __cil_tmp225 + 48;
 8067#line 531
 8068    __cil_tmp227 = *((struct cfi_ident **)__cil_tmp226);
 8069#line 531
 8070    __cil_tmp228 = (unsigned long )__cil_tmp227;
 8071#line 531
 8072    __cil_tmp229 = __cil_tmp228 + 17;
 8073#line 531
 8074    if (*((uint8_t *)__cil_tmp229)) {
 8075      {
 8076#line 531
 8077      __cil_tmp230 = (unsigned long )cfi;
 8078#line 531
 8079      __cil_tmp231 = __cil_tmp230 + 48;
 8080#line 531
 8081      __cil_tmp232 = *((struct cfi_ident **)__cil_tmp231);
 8082#line 531
 8083      __cil_tmp233 = (unsigned long )__cil_tmp232;
 8084#line 531
 8085      __cil_tmp234 = __cil_tmp233 + 21;
 8086#line 531
 8087      if (*((uint8_t *)__cil_tmp234)) {
 8088#line 533
 8089        __cil_tmp235 = i * 176UL;
 8090#line 533
 8091        __cil_tmp236 = __cil_tmp235 + 164;
 8092#line 533
 8093        __cil_tmp237 = 120 + __cil_tmp236;
 8094#line 533
 8095        __cil_tmp238 = (unsigned long )cfi;
 8096#line 533
 8097        __cil_tmp239 = __cil_tmp238 + __cil_tmp237;
 8098#line 533
 8099        __cil_tmp240 = (unsigned long )cfi;
 8100#line 533
 8101        __cil_tmp241 = __cil_tmp240 + 48;
 8102#line 533
 8103        __cil_tmp242 = *((struct cfi_ident **)__cil_tmp241);
 8104#line 533
 8105        __cil_tmp243 = (unsigned long )__cil_tmp242;
 8106#line 533
 8107        __cil_tmp244 = __cil_tmp243 + 21;
 8108#line 533
 8109        __cil_tmp245 = *((uint8_t *)__cil_tmp244);
 8110#line 533
 8111        __cil_tmp246 = (int )__cil_tmp245;
 8112#line 533
 8113        __cil_tmp247 = (unsigned long )cfi;
 8114#line 533
 8115        __cil_tmp248 = __cil_tmp247 + 48;
 8116#line 533
 8117        __cil_tmp249 = *((struct cfi_ident **)__cil_tmp248);
 8118#line 533
 8119        __cil_tmp250 = (unsigned long )__cil_tmp249;
 8120#line 533
 8121        __cil_tmp251 = __cil_tmp250 + 17;
 8122#line 533
 8123        __cil_tmp252 = *((uint8_t *)__cil_tmp251);
 8124#line 533
 8125        __cil_tmp253 = (int )__cil_tmp252;
 8126#line 533
 8127        __cil_tmp254 = __cil_tmp253 + __cil_tmp246;
 8128#line 533
 8129        *((int *)__cil_tmp239) = 1000 << __cil_tmp254;
 8130      } else {
 8131#line 537
 8132        __cil_tmp255 = i * 176UL;
 8133#line 537
 8134        __cil_tmp256 = __cil_tmp255 + 164;
 8135#line 537
 8136        __cil_tmp257 = 120 + __cil_tmp256;
 8137#line 537
 8138        __cil_tmp258 = (unsigned long )cfi;
 8139#line 537
 8140        __cil_tmp259 = __cil_tmp258 + __cil_tmp257;
 8141#line 537
 8142        *((int *)__cil_tmp259) = 16000000;
 8143      }
 8144      }
 8145    } else {
 8146#line 537
 8147      __cil_tmp260 = i * 176UL;
 8148#line 537
 8149      __cil_tmp261 = __cil_tmp260 + 164;
 8150#line 537
 8151      __cil_tmp262 = 120 + __cil_tmp261;
 8152#line 537
 8153      __cil_tmp263 = (unsigned long )cfi;
 8154#line 537
 8155      __cil_tmp264 = __cil_tmp263 + __cil_tmp262;
 8156#line 537
 8157      *((int *)__cil_tmp264) = 16000000;
 8158    }
 8159    }
 8160#line 539
 8161    __cil_tmp265 = i * 176UL;
 8162#line 539
 8163    __cil_tmp266 = __cil_tmp265 + 8;
 8164#line 539
 8165    __cil_tmp267 = 120 + __cil_tmp266;
 8166#line 539
 8167    __cil_tmp268 = (unsigned long )cfi;
 8168#line 539
 8169    __cil_tmp269 = __cil_tmp268 + __cil_tmp267;
 8170#line 539
 8171    *((int *)__cil_tmp269) = 0;
 8172    {
 8173#line 540
 8174    while (1) {
 8175      while_continue___0: /* CIL Label */ ;
 8176      {
 8177#line 540
 8178      __cil_tmp270 = i * 176UL;
 8179#line 540
 8180      __cil_tmp271 = __cil_tmp270 + 104;
 8181#line 540
 8182      __cil_tmp272 = 120 + __cil_tmp271;
 8183#line 540
 8184      __cil_tmp273 = (unsigned long )cfi;
 8185#line 540
 8186      __cil_tmp274 = __cil_tmp273 + __cil_tmp272;
 8187#line 540
 8188      __cil_tmp275 = (wait_queue_head_t *)__cil_tmp274;
 8189#line 540
 8190      __init_waitqueue_head(__cil_tmp275, "&(cfi->chips[i].wq)", & __key___3);
 8191      }
 8192#line 540
 8193      goto while_break___0;
 8194    }
 8195    while_break___0: /* CIL Label */ ;
 8196    }
 8197#line 499
 8198    i = i + 1;
 8199  }
 8200  while_break: /* CIL Label */ ;
 8201  }
 8202  {
 8203#line 543
 8204  __cil_tmp276 = (unsigned long )map;
 8205#line 543
 8206  __cil_tmp277 = __cil_tmp276 + 128;
 8207#line 543
 8208  *((struct mtd_chip_driver **)__cil_tmp277) = & cfi_intelext_chipdrv;
 8209#line 545
 8210  tmp___9 = cfi_intelext_setup(mtd);
 8211  }
 8212#line 545
 8213  return (tmp___9);
 8214}
 8215}
 8216#line 547 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8217struct mtd_info *cfi_cmdset_0003(struct map_info *map , int primary ) 
 8218{ struct mtd_info *tmp___7 ;
 8219
 8220  {
 8221  {
 8222#line 547
 8223  tmp___7 = cfi_cmdset_0001(map, primary);
 8224  }
 8225#line 547
 8226  return (tmp___7);
 8227}
 8228}
 8229#line 548 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8230struct mtd_info *cfi_cmdset_0200(struct map_info *map , int primary ) 
 8231{ struct mtd_info *tmp___7 ;
 8232
 8233  {
 8234  {
 8235#line 548
 8236  tmp___7 = cfi_cmdset_0001(map, primary);
 8237  }
 8238#line 548
 8239  return (tmp___7);
 8240}
 8241}
 8242#line 549
 8243extern void *__crc_cfi_cmdset_0001  __attribute__((__weak__)) ;
 8244#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8245static unsigned long    __kcrctab_cfi_cmdset_0001  __attribute__((__used__, __unused__,
 8246__section__("___kcrctab_gpl+cfi_cmdset_0001")))  =    (unsigned long    )((unsigned long )(& __crc_cfi_cmdset_0001));
 8247#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8248static char    __kstrtab_cfi_cmdset_0001[16]  __attribute__((__section__("__ksymtab_strings"),
 8249__aligned__(1)))  = 
 8250#line 549
 8251  {      (char    )'c',      (char    )'f',      (char const   )'i',      (char const   )'_', 
 8252        (char    )'c',      (char    )'m',      (char const   )'d',      (char const   )'s', 
 8253        (char    )'e',      (char    )'t',      (char const   )'_',      (char const   )'0', 
 8254        (char    )'0',      (char    )'0',      (char const   )'1',      (char const   )'\000'};
 8255#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8256static struct kernel_symbol    __ksymtab_cfi_cmdset_0001  __attribute__((__used__,
 8257__unused__, __section__("___ksymtab_gpl+cfi_cmdset_0001")))  =    {(unsigned long )(& cfi_cmdset_0001), __kstrtab_cfi_cmdset_0001};
 8258#line 550
 8259extern void *__crc_cfi_cmdset_0003  __attribute__((__weak__)) ;
 8260#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8261static unsigned long    __kcrctab_cfi_cmdset_0003  __attribute__((__used__, __unused__,
 8262__section__("___kcrctab_gpl+cfi_cmdset_0003")))  =    (unsigned long    )((unsigned long )(& __crc_cfi_cmdset_0003));
 8263#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8264static char    __kstrtab_cfi_cmdset_0003[16]  __attribute__((__section__("__ksymtab_strings"),
 8265__aligned__(1)))  = 
 8266#line 550
 8267  {      (char    )'c',      (char    )'f',      (char const   )'i',      (char const   )'_', 
 8268        (char    )'c',      (char    )'m',      (char const   )'d',      (char const   )'s', 
 8269        (char    )'e',      (char    )'t',      (char const   )'_',      (char const   )'0', 
 8270        (char    )'0',      (char    )'0',      (char const   )'3',      (char const   )'\000'};
 8271#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8272static struct kernel_symbol    __ksymtab_cfi_cmdset_0003  __attribute__((__used__,
 8273__unused__, __section__("___ksymtab_gpl+cfi_cmdset_0003")))  =    {(unsigned long )(& cfi_cmdset_0003), __kstrtab_cfi_cmdset_0003};
 8274#line 551
 8275extern void *__crc_cfi_cmdset_0200  __attribute__((__weak__)) ;
 8276#line 551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8277static unsigned long    __kcrctab_cfi_cmdset_0200  __attribute__((__used__, __unused__,
 8278__section__("___kcrctab_gpl+cfi_cmdset_0200")))  =    (unsigned long    )((unsigned long )(& __crc_cfi_cmdset_0200));
 8279#line 551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8280static char    __kstrtab_cfi_cmdset_0200[16]  __attribute__((__section__("__ksymtab_strings"),
 8281__aligned__(1)))  = 
 8282#line 551
 8283  {      (char    )'c',      (char    )'f',      (char const   )'i',      (char const   )'_', 
 8284        (char    )'c',      (char    )'m',      (char const   )'d',      (char const   )'s', 
 8285        (char    )'e',      (char    )'t',      (char const   )'_',      (char const   )'0', 
 8286        (char    )'2',      (char    )'0',      (char const   )'0',      (char const   )'\000'};
 8287#line 551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8288static struct kernel_symbol    __ksymtab_cfi_cmdset_0200  __attribute__((__used__,
 8289__unused__, __section__("___ksymtab_gpl+cfi_cmdset_0200")))  =    {(unsigned long )(& cfi_cmdset_0200), __kstrtab_cfi_cmdset_0200};
 8290#line 553 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 8291static struct mtd_info *cfi_intelext_setup(struct mtd_info *mtd ) 
 8292{ struct map_info *map ;
 8293  struct cfi_private *cfi ;
 8294  unsigned long offset ;
 8295  int i ;
 8296  int j ;
 8297  unsigned long devsize ;
 8298  void *tmp___7 ;
 8299  unsigned long ernum ;
 8300  unsigned long ersize ;
 8301  void *tmp___8 ;
 8302  int tmp___9 ;
 8303  unsigned long __cil_tmp13 ;
 8304  unsigned long __cil_tmp14 ;
 8305  void *__cil_tmp15 ;
 8306  struct cfi_private **__cil_tmp16 ;
 8307  unsigned long __cil_tmp17 ;
 8308  unsigned long __cil_tmp18 ;
 8309  void *__cil_tmp19 ;
 8310  struct cfi_private **__cil_tmp20 ;
 8311  struct cfi_private *__cil_tmp21 ;
 8312  unsigned long __cil_tmp22 ;
 8313  unsigned long __cil_tmp23 ;
 8314  int __cil_tmp24 ;
 8315  struct cfi_private **__cil_tmp25 ;
 8316  struct cfi_private *__cil_tmp26 ;
 8317  unsigned long __cil_tmp27 ;
 8318  unsigned long __cil_tmp28 ;
 8319  struct cfi_ident *__cil_tmp29 ;
 8320  unsigned long __cil_tmp30 ;
 8321  unsigned long __cil_tmp31 ;
 8322  uint8_t __cil_tmp32 ;
 8323  int __cil_tmp33 ;
 8324  int __cil_tmp34 ;
 8325  int __cil_tmp35 ;
 8326  unsigned long __cil_tmp36 ;
 8327  unsigned long __cil_tmp37 ;
 8328  struct cfi_private **__cil_tmp38 ;
 8329  struct cfi_private *__cil_tmp39 ;
 8330  unsigned long __cil_tmp40 ;
 8331  unsigned long __cil_tmp41 ;
 8332  int __cil_tmp42 ;
 8333  unsigned long __cil_tmp43 ;
 8334  unsigned long __cil_tmp44 ;
 8335  unsigned long __cil_tmp45 ;
 8336  unsigned long __cil_tmp46 ;
 8337  struct cfi_private **__cil_tmp47 ;
 8338  struct cfi_private *__cil_tmp48 ;
 8339  unsigned long __cil_tmp49 ;
 8340  unsigned long __cil_tmp50 ;
 8341  int __cil_tmp51 ;
 8342  struct cfi_private **__cil_tmp52 ;
 8343  struct cfi_private *__cil_tmp53 ;
 8344  unsigned long __cil_tmp54 ;
 8345  unsigned long __cil_tmp55 ;
 8346  struct cfi_ident *__cil_tmp56 ;
 8347  unsigned long __cil_tmp57 ;
 8348  unsigned long __cil_tmp58 ;
 8349  uint8_t __cil_tmp59 ;
 8350  int __cil_tmp60 ;
 8351  unsigned long __cil_tmp61 ;
 8352  unsigned long __cil_tmp62 ;
 8353  int __cil_tmp63 ;
 8354  unsigned long __cil_tmp64 ;
 8355  unsigned long __cil_tmp65 ;
 8356  unsigned long __cil_tmp66 ;
 8357  unsigned long __cil_tmp67 ;
 8358  unsigned long __cil_tmp68 ;
 8359  unsigned long __cil_tmp69 ;
 8360  struct mtd_erase_region_info *__cil_tmp70 ;
 8361  struct cfi_private **__cil_tmp71 ;
 8362  struct cfi_private *__cil_tmp72 ;
 8363  unsigned long __cil_tmp73 ;
 8364  unsigned long __cil_tmp74 ;
 8365  struct cfi_ident *__cil_tmp75 ;
 8366  unsigned long __cil_tmp76 ;
 8367  unsigned long __cil_tmp77 ;
 8368  uint8_t __cil_tmp78 ;
 8369  int __cil_tmp79 ;
 8370  struct cfi_private **__cil_tmp80 ;
 8371  struct cfi_private *__cil_tmp81 ;
 8372  unsigned long __cil_tmp82 ;
 8373  unsigned long __cil_tmp83 ;
 8374  int __cil_tmp84 ;
 8375  unsigned int __cil_tmp85 ;
 8376  unsigned long __cil_tmp86 ;
 8377  unsigned long __cil_tmp87 ;
 8378  struct cfi_private **__cil_tmp88 ;
 8379  struct cfi_private *__cil_tmp89 ;
 8380  unsigned long __cil_tmp90 ;
 8381  unsigned long __cil_tmp91 ;
 8382  struct cfi_ident *__cil_tmp92 ;
 8383  unsigned long __cil_tmp93 ;
 8384  unsigned long __cil_tmp94 ;
 8385  uint32_t __cil_tmp95 ;
 8386  uint32_t __cil_tmp96 ;
 8387  unsigned int __cil_tmp97 ;
 8388  unsigned int __cil_tmp98 ;
 8389  unsigned long __cil_tmp99 ;
 8390  unsigned long __cil_tmp100 ;
 8391  struct cfi_private **__cil_tmp101 ;
 8392  struct cfi_private *__cil_tmp102 ;
 8393  unsigned long __cil_tmp103 ;
 8394  unsigned long __cil_tmp104 ;
 8395  struct cfi_ident *__cil_tmp105 ;
 8396  unsigned long __cil_tmp106 ;
 8397  unsigned long __cil_tmp107 ;
 8398  uint32_t __cil_tmp108 ;
 8399  unsigned int __cil_tmp109 ;
 8400  unsigned int __cil_tmp110 ;
 8401  unsigned long __cil_tmp111 ;
 8402  unsigned long __cil_tmp112 ;
 8403  uint32_t __cil_tmp113 ;
 8404  unsigned long __cil_tmp114 ;
 8405  unsigned long __cil_tmp115 ;
 8406  unsigned long __cil_tmp116 ;
 8407  struct cfi_private **__cil_tmp117 ;
 8408  struct cfi_private *__cil_tmp118 ;
 8409  unsigned long __cil_tmp119 ;
 8410  unsigned long __cil_tmp120 ;
 8411  int __cil_tmp121 ;
 8412  struct cfi_private **__cil_tmp122 ;
 8413  struct cfi_private *__cil_tmp123 ;
 8414  unsigned long __cil_tmp124 ;
 8415  unsigned long __cil_tmp125 ;
 8416  struct cfi_ident *__cil_tmp126 ;
 8417  unsigned long __cil_tmp127 ;
 8418  unsigned long __cil_tmp128 ;
 8419  uint8_t __cil_tmp129 ;
 8420  int __cil_tmp130 ;
 8421  int __cil_tmp131 ;
 8422  int __cil_tmp132 ;
 8423  unsigned long __cil_tmp133 ;
 8424  unsigned long __cil_tmp134 ;
 8425  struct mtd_erase_region_info *__cil_tmp135 ;
 8426  struct mtd_erase_region_info *__cil_tmp136 ;
 8427  unsigned long __cil_tmp137 ;
 8428  unsigned long __cil_tmp138 ;
 8429  unsigned long __cil_tmp139 ;
 8430  struct cfi_private **__cil_tmp140 ;
 8431  struct cfi_private *__cil_tmp141 ;
 8432  unsigned long __cil_tmp142 ;
 8433  unsigned long __cil_tmp143 ;
 8434  struct cfi_ident *__cil_tmp144 ;
 8435  unsigned long __cil_tmp145 ;
 8436  unsigned long __cil_tmp146 ;
 8437  uint8_t __cil_tmp147 ;
 8438  int __cil_tmp148 ;
 8439  int __cil_tmp149 ;
 8440  int __cil_tmp150 ;
 8441  unsigned long __cil_tmp151 ;
 8442  unsigned long __cil_tmp152 ;
 8443  struct mtd_erase_region_info *__cil_tmp153 ;
 8444  struct mtd_erase_region_info *__cil_tmp154 ;
 8445  unsigned long __cil_tmp155 ;
 8446  unsigned long __cil_tmp156 ;
 8447  struct cfi_private **__cil_tmp157 ;
 8448  struct cfi_private *__cil_tmp158 ;
 8449  unsigned long __cil_tmp159 ;
 8450  unsigned long __cil_tmp160 ;
 8451  struct cfi_ident *__cil_tmp161 ;
 8452  unsigned long __cil_tmp162 ;
 8453  unsigned long __cil_tmp163 ;
 8454  uint8_t __cil_tmp164 ;
 8455  int __cil_tmp165 ;
 8456  int __cil_tmp166 ;
 8457  int __cil_tmp167 ;
 8458  unsigned long __cil_tmp168 ;
 8459  unsigned long __cil_tmp169 ;
 8460  struct mtd_erase_region_info *__cil_tmp170 ;
 8461  struct mtd_erase_region_info *__cil_tmp171 ;
 8462  unsigned long __cil_tmp172 ;
 8463  unsigned long __cil_tmp173 ;
 8464  unsigned long __cil_tmp174 ;
 8465  unsigned long __cil_tmp175 ;
 8466  struct cfi_private **__cil_tmp176 ;
 8467  struct cfi_private *__cil_tmp177 ;
 8468  unsigned long __cil_tmp178 ;
 8469  unsigned long __cil_tmp179 ;
 8470  struct cfi_ident *__cil_tmp180 ;
 8471  unsigned long __cil_tmp181 ;
 8472  unsigned long __cil_tmp182 ;
 8473  uint8_t __cil_tmp183 ;
 8474  int __cil_tmp184 ;
 8475  int __cil_tmp185 ;
 8476  int __cil_tmp186 ;
 8477  unsigned long __cil_tmp187 ;
 8478  unsigned long __cil_tmp188 ;
 8479  struct mtd_erase_region_info *__cil_tmp189 ;
 8480  struct mtd_erase_region_info *__cil_tmp190 ;
 8481  unsigned long __cil_tmp191 ;
 8482  unsigned long __cil_tmp192 ;
 8483  unsigned long __cil_tmp193 ;
 8484  unsigned long __cil_tmp194 ;
 8485  unsigned long __cil_tmp195 ;
 8486  int __cil_tmp196 ;
 8487  unsigned long __cil_tmp197 ;
 8488  unsigned long __cil_tmp198 ;
 8489  struct mtd_erase_region_info *__cil_tmp199 ;
 8490  struct mtd_erase_region_info *__cil_tmp200 ;
 8491  uint64_t __cil_tmp201 ;
 8492  unsigned long __cil_tmp202 ;
 8493  unsigned long __cil_tmp203 ;
 8494  struct mtd_erase_region_info *__cil_tmp204 ;
 8495  struct mtd_erase_region_info *__cil_tmp205 ;
 8496  unsigned long __cil_tmp206 ;
 8497  unsigned long __cil_tmp207 ;
 8498  uint32_t __cil_tmp208 ;
 8499  unsigned long __cil_tmp209 ;
 8500  unsigned long __cil_tmp210 ;
 8501  struct mtd_erase_region_info *__cil_tmp211 ;
 8502  struct mtd_erase_region_info *__cil_tmp212 ;
 8503  unsigned long __cil_tmp213 ;
 8504  unsigned long __cil_tmp214 ;
 8505  uint32_t __cil_tmp215 ;
 8506  unsigned long __cil_tmp216 ;
 8507  unsigned long __cil_tmp217 ;
 8508  unsigned long __cil_tmp218 ;
 8509  unsigned long __cil_tmp219 ;
 8510  unsigned long __cil_tmp220 ;
 8511  unsigned long __cil_tmp221 ;
 8512  unsigned long __cil_tmp222 ;
 8513  unsigned long __cil_tmp223 ;
 8514  unsigned long __cil_tmp224 ;
 8515  unsigned long __cil_tmp225 ;
 8516  unsigned long __cil_tmp226 ;
 8517  unsigned long __cil_tmp227 ;
 8518  unsigned long __cil_tmp228 ;
 8519  unsigned long __cil_tmp229 ;
 8520  struct notifier_block *__cil_tmp230 ;
 8521  unsigned long __cil_tmp231 ;
 8522  unsigned long __cil_tmp232 ;
 8523  struct mtd_erase_region_info *__cil_tmp233 ;
 8524  void    *__cil_tmp234 ;
 8525  void    *__cil_tmp235 ;
 8526  struct cfi_private **__cil_tmp236 ;
 8527  struct cfi_private *__cil_tmp237 ;
 8528  unsigned long __cil_tmp238 ;
 8529  unsigned long __cil_tmp239 ;
 8530  void *__cil_tmp240 ;
 8531  void    *__cil_tmp241 ;
 8532  void *__cil_tmp242 ;
 8533
 8534  {
 8535  {
 8536#line 555
 8537  __cil_tmp13 = (unsigned long )mtd;
 8538#line 555
 8539  __cil_tmp14 = __cil_tmp13 + 360;
 8540#line 555
 8541  __cil_tmp15 = *((void **)__cil_tmp14);
 8542#line 555
 8543  map = (struct map_info *)__cil_tmp15;
 8544#line 556
 8545  __cil_tmp16 = & cfi;
 8546#line 556
 8547  __cil_tmp17 = (unsigned long )map;
 8548#line 556
 8549  __cil_tmp18 = __cil_tmp17 + 120;
 8550#line 556
 8551  __cil_tmp19 = *((void **)__cil_tmp18);
 8552#line 556
 8553  *__cil_tmp16 = (struct cfi_private *)__cil_tmp19;
 8554#line 557
 8555  offset = 0UL;
 8556#line 559
 8557  __cil_tmp20 = & cfi;
 8558#line 559
 8559  __cil_tmp21 = *__cil_tmp20;
 8560#line 559
 8561  __cil_tmp22 = (unsigned long )__cil_tmp21;
 8562#line 559
 8563  __cil_tmp23 = __cil_tmp22 + 16;
 8564#line 559
 8565  __cil_tmp24 = *((int *)__cil_tmp23);
 8566#line 559
 8567  __cil_tmp25 = & cfi;
 8568#line 559
 8569  __cil_tmp26 = *__cil_tmp25;
 8570#line 559
 8571  __cil_tmp27 = (unsigned long )__cil_tmp26;
 8572#line 559
 8573  __cil_tmp28 = __cil_tmp27 + 48;
 8574#line 559
 8575  __cil_tmp29 = *((struct cfi_ident **)__cil_tmp28);
 8576#line 559
 8577  __cil_tmp30 = (unsigned long )__cil_tmp29;
 8578#line 559
 8579  __cil_tmp31 = __cil_tmp30 + 23;
 8580#line 559
 8581  __cil_tmp32 = *((uint8_t *)__cil_tmp31);
 8582#line 559
 8583  __cil_tmp33 = (int )__cil_tmp32;
 8584#line 559
 8585  __cil_tmp34 = 1 << __cil_tmp33;
 8586#line 559
 8587  __cil_tmp35 = __cil_tmp34 * __cil_tmp24;
 8588#line 559
 8589  devsize = (unsigned long )__cil_tmp35;
 8590#line 563
 8591  __cil_tmp36 = (unsigned long )mtd;
 8592#line 563
 8593  __cil_tmp37 = __cil_tmp36 + 8;
 8594#line 563
 8595  __cil_tmp38 = & cfi;
 8596#line 563
 8597  __cil_tmp39 = *__cil_tmp38;
 8598#line 563
 8599  __cil_tmp40 = (unsigned long )__cil_tmp39;
 8600#line 563
 8601  __cil_tmp41 = __cil_tmp40 + 64;
 8602#line 563
 8603  __cil_tmp42 = *((int *)__cil_tmp41);
 8604#line 563
 8605  __cil_tmp43 = (unsigned long )__cil_tmp42;
 8606#line 563
 8607  __cil_tmp44 = devsize * __cil_tmp43;
 8608#line 563
 8609  *((uint64_t *)__cil_tmp37) = (uint64_t )__cil_tmp44;
 8610#line 565
 8611  __cil_tmp45 = (unsigned long )mtd;
 8612#line 565
 8613  __cil_tmp46 = __cil_tmp45 + 84;
 8614#line 565
 8615  __cil_tmp47 = & cfi;
 8616#line 565
 8617  __cil_tmp48 = *__cil_tmp47;
 8618#line 565
 8619  __cil_tmp49 = (unsigned long )__cil_tmp48;
 8620#line 565
 8621  __cil_tmp50 = __cil_tmp49 + 64;
 8622#line 565
 8623  __cil_tmp51 = *((int *)__cil_tmp50);
 8624#line 565
 8625  __cil_tmp52 = & cfi;
 8626#line 565
 8627  __cil_tmp53 = *__cil_tmp52;
 8628#line 565
 8629  __cil_tmp54 = (unsigned long )__cil_tmp53;
 8630#line 565
 8631  __cil_tmp55 = __cil_tmp54 + 48;
 8632#line 565
 8633  __cil_tmp56 = *((struct cfi_ident **)__cil_tmp55);
 8634#line 565
 8635  __cil_tmp57 = (unsigned long )__cil_tmp56;
 8636#line 565
 8637  __cil_tmp58 = __cil_tmp57 + 28;
 8638#line 565
 8639  __cil_tmp59 = *((uint8_t *)__cil_tmp58);
 8640#line 565
 8641  __cil_tmp60 = (int )__cil_tmp59;
 8642#line 565
 8643  *((int *)__cil_tmp46) = __cil_tmp60 * __cil_tmp51;
 8644#line 566
 8645  __cil_tmp61 = (unsigned long )mtd;
 8646#line 566
 8647  __cil_tmp62 = __cil_tmp61 + 84;
 8648#line 566
 8649  __cil_tmp63 = *((int *)__cil_tmp62);
 8650#line 566
 8651  __cil_tmp64 = (unsigned long )__cil_tmp63;
 8652#line 566
 8653  __cil_tmp65 = 24UL * __cil_tmp64;
 8654#line 566
 8655  tmp___7 = kmalloc(__cil_tmp65, 208U);
 8656#line 566
 8657  __cil_tmp66 = (unsigned long )mtd;
 8658#line 566
 8659  __cil_tmp67 = __cil_tmp66 + 88;
 8660#line 566
 8661  *((struct mtd_erase_region_info **)__cil_tmp67) = (struct mtd_erase_region_info *)tmp___7;
 8662  }
 8663  {
 8664#line 568
 8665  __cil_tmp68 = (unsigned long )mtd;
 8666#line 568
 8667  __cil_tmp69 = __cil_tmp68 + 88;
 8668#line 568
 8669  __cil_tmp70 = *((struct mtd_erase_region_info **)__cil_tmp69);
 8670#line 568
 8671  if (! __cil_tmp70) {
 8672    {
 8673#line 569
 8674    printk("<3>Failed to allocate memory for MTD erase region info\n");
 8675    }
 8676#line 570
 8677    goto setup_err;
 8678  } else {
 8679
 8680  }
 8681  }
 8682#line 573
 8683  i = 0;
 8684  {
 8685#line 573
 8686  while (1) {
 8687    while_continue: /* CIL Label */ ;
 8688    {
 8689#line 573
 8690    __cil_tmp71 = & cfi;
 8691#line 573
 8692    __cil_tmp72 = *__cil_tmp71;
 8693#line 573
 8694    __cil_tmp73 = (unsigned long )__cil_tmp72;
 8695#line 573
 8696    __cil_tmp74 = __cil_tmp73 + 48;
 8697#line 573
 8698    __cil_tmp75 = *((struct cfi_ident **)__cil_tmp74);
 8699#line 573
 8700    __cil_tmp76 = (unsigned long )__cil_tmp75;
 8701#line 573
 8702    __cil_tmp77 = __cil_tmp76 + 28;
 8703#line 573
 8704    __cil_tmp78 = *((uint8_t *)__cil_tmp77);
 8705#line 573
 8706    __cil_tmp79 = (int )__cil_tmp78;
 8707#line 573
 8708    if (i < __cil_tmp79) {
 8709
 8710    } else {
 8711#line 573
 8712      goto while_break;
 8713    }
 8714    }
 8715#line 575
 8716    __cil_tmp80 = & cfi;
 8717#line 575
 8718    __cil_tmp81 = *__cil_tmp80;
 8719#line 575
 8720    __cil_tmp82 = (unsigned long )__cil_tmp81;
 8721#line 575
 8722    __cil_tmp83 = __cil_tmp82 + 16;
 8723#line 575
 8724    __cil_tmp84 = *((int *)__cil_tmp83);
 8725#line 575
 8726    __cil_tmp85 = (unsigned int )__cil_tmp84;
 8727#line 575
 8728    __cil_tmp86 = i * 4UL;
 8729#line 575
 8730    __cil_tmp87 = 29 + __cil_tmp86;
 8731#line 575
 8732    __cil_tmp88 = & cfi;
 8733#line 575
 8734    __cil_tmp89 = *__cil_tmp88;
 8735#line 575
 8736    __cil_tmp90 = (unsigned long )__cil_tmp89;
 8737#line 575
 8738    __cil_tmp91 = __cil_tmp90 + 48;
 8739#line 575
 8740    __cil_tmp92 = *((struct cfi_ident **)__cil_tmp91);
 8741#line 575
 8742    __cil_tmp93 = (unsigned long )__cil_tmp92;
 8743#line 575
 8744    __cil_tmp94 = __cil_tmp93 + __cil_tmp87;
 8745#line 575
 8746    __cil_tmp95 = *((uint32_t *)__cil_tmp94);
 8747#line 575
 8748    __cil_tmp96 = __cil_tmp95 >> 8;
 8749#line 575
 8750    __cil_tmp97 = __cil_tmp96 & 4294967040U;
 8751#line 575
 8752    __cil_tmp98 = __cil_tmp97 * __cil_tmp85;
 8753#line 575
 8754    ersize = (unsigned long )__cil_tmp98;
 8755#line 576
 8756    __cil_tmp99 = i * 4UL;
 8757#line 576
 8758    __cil_tmp100 = 29 + __cil_tmp99;
 8759#line 576
 8760    __cil_tmp101 = & cfi;
 8761#line 576
 8762    __cil_tmp102 = *__cil_tmp101;
 8763#line 576
 8764    __cil_tmp103 = (unsigned long )__cil_tmp102;
 8765#line 576
 8766    __cil_tmp104 = __cil_tmp103 + 48;
 8767#line 576
 8768    __cil_tmp105 = *((struct cfi_ident **)__cil_tmp104);
 8769#line 576
 8770    __cil_tmp106 = (unsigned long )__cil_tmp105;
 8771#line 576
 8772    __cil_tmp107 = __cil_tmp106 + __cil_tmp100;
 8773#line 576
 8774    __cil_tmp108 = *((uint32_t *)__cil_tmp107);
 8775#line 576
 8776    __cil_tmp109 = __cil_tmp108 & 65535U;
 8777#line 576
 8778    __cil_tmp110 = __cil_tmp109 + 1U;
 8779#line 576
 8780    ernum = (unsigned long )__cil_tmp110;
 8781    {
 8782#line 578
 8783    __cil_tmp111 = (unsigned long )mtd;
 8784#line 578
 8785    __cil_tmp112 = __cil_tmp111 + 16;
 8786#line 578
 8787    __cil_tmp113 = *((uint32_t *)__cil_tmp112);
 8788#line 578
 8789    __cil_tmp114 = (unsigned long )__cil_tmp113;
 8790#line 578
 8791    if (__cil_tmp114 < ersize) {
 8792#line 579
 8793      __cil_tmp115 = (unsigned long )mtd;
 8794#line 579
 8795      __cil_tmp116 = __cil_tmp115 + 16;
 8796#line 579
 8797      *((uint32_t *)__cil_tmp116) = (uint32_t )ersize;
 8798    } else {
 8799
 8800    }
 8801    }
 8802#line 581
 8803    j = 0;
 8804    {
 8805#line 581
 8806    while (1) {
 8807      while_continue___0: /* CIL Label */ ;
 8808      {
 8809#line 581
 8810      __cil_tmp117 = & cfi;
 8811#line 581
 8812      __cil_tmp118 = *__cil_tmp117;
 8813#line 581
 8814      __cil_tmp119 = (unsigned long )__cil_tmp118;
 8815#line 581
 8816      __cil_tmp120 = __cil_tmp119 + 64;
 8817#line 581
 8818      __cil_tmp121 = *((int *)__cil_tmp120);
 8819#line 581
 8820      if (j < __cil_tmp121) {
 8821
 8822      } else {
 8823#line 581
 8824        goto while_break___0;
 8825      }
 8826      }
 8827      {
 8828#line 582
 8829      __cil_tmp122 = & cfi;
 8830#line 582
 8831      __cil_tmp123 = *__cil_tmp122;
 8832#line 582
 8833      __cil_tmp124 = (unsigned long )__cil_tmp123;
 8834#line 582
 8835      __cil_tmp125 = __cil_tmp124 + 48;
 8836#line 582
 8837      __cil_tmp126 = *((struct cfi_ident **)__cil_tmp125);
 8838#line 582
 8839      __cil_tmp127 = (unsigned long )__cil_tmp126;
 8840#line 582
 8841      __cil_tmp128 = __cil_tmp127 + 28;
 8842#line 582
 8843      __cil_tmp129 = *((uint8_t *)__cil_tmp128);
 8844#line 582
 8845      __cil_tmp130 = (int )__cil_tmp129;
 8846#line 582
 8847      __cil_tmp131 = j * __cil_tmp130;
 8848#line 582
 8849      __cil_tmp132 = __cil_tmp131 + i;
 8850#line 582
 8851      __cil_tmp133 = (unsigned long )mtd;
 8852#line 582
 8853      __cil_tmp134 = __cil_tmp133 + 88;
 8854#line 582
 8855      __cil_tmp135 = *((struct mtd_erase_region_info **)__cil_tmp134);
 8856#line 582
 8857      __cil_tmp136 = __cil_tmp135 + __cil_tmp132;
 8858#line 582
 8859      __cil_tmp137 = (unsigned long )j;
 8860#line 582
 8861      __cil_tmp138 = __cil_tmp137 * devsize;
 8862#line 582
 8863      __cil_tmp139 = __cil_tmp138 + offset;
 8864#line 582
 8865      *((uint64_t *)__cil_tmp136) = (uint64_t )__cil_tmp139;
 8866#line 583
 8867      __cil_tmp140 = & cfi;
 8868#line 583
 8869      __cil_tmp141 = *__cil_tmp140;
 8870#line 583
 8871      __cil_tmp142 = (unsigned long )__cil_tmp141;
 8872#line 583
 8873      __cil_tmp143 = __cil_tmp142 + 48;
 8874#line 583
 8875      __cil_tmp144 = *((struct cfi_ident **)__cil_tmp143);
 8876#line 583
 8877      __cil_tmp145 = (unsigned long )__cil_tmp144;
 8878#line 583
 8879      __cil_tmp146 = __cil_tmp145 + 28;
 8880#line 583
 8881      __cil_tmp147 = *((uint8_t *)__cil_tmp146);
 8882#line 583
 8883      __cil_tmp148 = (int )__cil_tmp147;
 8884#line 583
 8885      __cil_tmp149 = j * __cil_tmp148;
 8886#line 583
 8887      __cil_tmp150 = __cil_tmp149 + i;
 8888#line 583
 8889      __cil_tmp151 = (unsigned long )mtd;
 8890#line 583
 8891      __cil_tmp152 = __cil_tmp151 + 88;
 8892#line 583
 8893      __cil_tmp153 = *((struct mtd_erase_region_info **)__cil_tmp152);
 8894#line 583
 8895      __cil_tmp154 = __cil_tmp153 + __cil_tmp150;
 8896#line 583
 8897      __cil_tmp155 = (unsigned long )__cil_tmp154;
 8898#line 583
 8899      __cil_tmp156 = __cil_tmp155 + 8;
 8900#line 583
 8901      *((uint32_t *)__cil_tmp156) = (uint32_t )ersize;
 8902#line 584
 8903      __cil_tmp157 = & cfi;
 8904#line 584
 8905      __cil_tmp158 = *__cil_tmp157;
 8906#line 584
 8907      __cil_tmp159 = (unsigned long )__cil_tmp158;
 8908#line 584
 8909      __cil_tmp160 = __cil_tmp159 + 48;
 8910#line 584
 8911      __cil_tmp161 = *((struct cfi_ident **)__cil_tmp160);
 8912#line 584
 8913      __cil_tmp162 = (unsigned long )__cil_tmp161;
 8914#line 584
 8915      __cil_tmp163 = __cil_tmp162 + 28;
 8916#line 584
 8917      __cil_tmp164 = *((uint8_t *)__cil_tmp163);
 8918#line 584
 8919      __cil_tmp165 = (int )__cil_tmp164;
 8920#line 584
 8921      __cil_tmp166 = j * __cil_tmp165;
 8922#line 584
 8923      __cil_tmp167 = __cil_tmp166 + i;
 8924#line 584
 8925      __cil_tmp168 = (unsigned long )mtd;
 8926#line 584
 8927      __cil_tmp169 = __cil_tmp168 + 88;
 8928#line 584
 8929      __cil_tmp170 = *((struct mtd_erase_region_info **)__cil_tmp169);
 8930#line 584
 8931      __cil_tmp171 = __cil_tmp170 + __cil_tmp167;
 8932#line 584
 8933      __cil_tmp172 = (unsigned long )__cil_tmp171;
 8934#line 584
 8935      __cil_tmp173 = __cil_tmp172 + 12;
 8936#line 584
 8937      *((uint32_t *)__cil_tmp173) = (uint32_t )ernum;
 8938#line 585
 8939      __cil_tmp174 = ernum / 8UL;
 8940#line 585
 8941      __cil_tmp175 = __cil_tmp174 + 1UL;
 8942#line 585
 8943      tmp___8 = kmalloc(__cil_tmp175, 208U);
 8944#line 585
 8945      __cil_tmp176 = & cfi;
 8946#line 585
 8947      __cil_tmp177 = *__cil_tmp176;
 8948#line 585
 8949      __cil_tmp178 = (unsigned long )__cil_tmp177;
 8950#line 585
 8951      __cil_tmp179 = __cil_tmp178 + 48;
 8952#line 585
 8953      __cil_tmp180 = *((struct cfi_ident **)__cil_tmp179);
 8954#line 585
 8955      __cil_tmp181 = (unsigned long )__cil_tmp180;
 8956#line 585
 8957      __cil_tmp182 = __cil_tmp181 + 28;
 8958#line 585
 8959      __cil_tmp183 = *((uint8_t *)__cil_tmp182);
 8960#line 585
 8961      __cil_tmp184 = (int )__cil_tmp183;
 8962#line 585
 8963      __cil_tmp185 = j * __cil_tmp184;
 8964#line 585
 8965      __cil_tmp186 = __cil_tmp185 + i;
 8966#line 585
 8967      __cil_tmp187 = (unsigned long )mtd;
 8968#line 585
 8969      __cil_tmp188 = __cil_tmp187 + 88;
 8970#line 585
 8971      __cil_tmp189 = *((struct mtd_erase_region_info **)__cil_tmp188);
 8972#line 585
 8973      __cil_tmp190 = __cil_tmp189 + __cil_tmp186;
 8974#line 585
 8975      __cil_tmp191 = (unsigned long )__cil_tmp190;
 8976#line 585
 8977      __cil_tmp192 = __cil_tmp191 + 16;
 8978#line 585
 8979      *((unsigned long **)__cil_tmp192) = (unsigned long *)tmp___8;
 8980#line 581
 8981      j = j + 1;
 8982      }
 8983    }
 8984    while_break___0: /* CIL Label */ ;
 8985    }
 8986#line 587
 8987    __cil_tmp193 = ersize * ernum;
 8988#line 587
 8989    offset = offset + __cil_tmp193;
 8990#line 573
 8991    i = i + 1;
 8992  }
 8993  while_break: /* CIL Label */ ;
 8994  }
 8995#line 590
 8996  if (offset != devsize) {
 8997    {
 8998#line 592
 8999    printk("<4>Sum of regions (%lx) != total size of set of interleaved chips (%lx)\n",
 9000           offset, devsize);
 9001    }
 9002#line 593
 9003    goto setup_err;
 9004  } else {
 9005
 9006  }
 9007#line 596
 9008  i = 0;
 9009  {
 9010#line 596
 9011  while (1) {
 9012    while_continue___1: /* CIL Label */ ;
 9013    {
 9014#line 596
 9015    __cil_tmp194 = (unsigned long )mtd;
 9016#line 596
 9017    __cil_tmp195 = __cil_tmp194 + 84;
 9018#line 596
 9019    __cil_tmp196 = *((int *)__cil_tmp195);
 9020#line 596
 9021    if (i < __cil_tmp196) {
 9022
 9023    } else {
 9024#line 596
 9025      goto while_break___1;
 9026    }
 9027    }
 9028    {
 9029#line 597
 9030    __cil_tmp197 = (unsigned long )mtd;
 9031#line 597
 9032    __cil_tmp198 = __cil_tmp197 + 88;
 9033#line 597
 9034    __cil_tmp199 = *((struct mtd_erase_region_info **)__cil_tmp198);
 9035#line 597
 9036    __cil_tmp200 = __cil_tmp199 + i;
 9037#line 597
 9038    __cil_tmp201 = *((uint64_t *)__cil_tmp200);
 9039#line 597
 9040    __cil_tmp202 = (unsigned long )mtd;
 9041#line 597
 9042    __cil_tmp203 = __cil_tmp202 + 88;
 9043#line 597
 9044    __cil_tmp204 = *((struct mtd_erase_region_info **)__cil_tmp203);
 9045#line 597
 9046    __cil_tmp205 = __cil_tmp204 + i;
 9047#line 597
 9048    __cil_tmp206 = (unsigned long )__cil_tmp205;
 9049#line 597
 9050    __cil_tmp207 = __cil_tmp206 + 8;
 9051#line 597
 9052    __cil_tmp208 = *((uint32_t *)__cil_tmp207);
 9053#line 597
 9054    __cil_tmp209 = (unsigned long )mtd;
 9055#line 597
 9056    __cil_tmp210 = __cil_tmp209 + 88;
 9057#line 597
 9058    __cil_tmp211 = *((struct mtd_erase_region_info **)__cil_tmp210);
 9059#line 597
 9060    __cil_tmp212 = __cil_tmp211 + i;
 9061#line 597
 9062    __cil_tmp213 = (unsigned long )__cil_tmp212;
 9063#line 597
 9064    __cil_tmp214 = __cil_tmp213 + 12;
 9065#line 597
 9066    __cil_tmp215 = *((uint32_t *)__cil_tmp214);
 9067#line 597
 9068    printk("<7>erase region %d: offset=0x%llx,size=0x%x,blocks=%d\n", i, __cil_tmp201,
 9069           __cil_tmp208, __cil_tmp215);
 9070#line 596
 9071    i = i + 1;
 9072    }
 9073  }
 9074  while_break___1: /* CIL Label */ ;
 9075  }
 9076  {
 9077#line 604
 9078  __cil_tmp216 = (unsigned long )mtd;
 9079#line 604
 9080  __cil_tmp217 = __cil_tmp216 + 176;
 9081#line 604
 9082  *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen , u_char *buf ))__cil_tmp217) = & cfi_intelext_read_fact_prot_reg;
 9083#line 605
 9084  __cil_tmp218 = (unsigned long )mtd;
 9085#line 605
 9086  __cil_tmp219 = __cil_tmp218 + 192;
 9087#line 605
 9088  *((int (**)(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen , u_char *buf ))__cil_tmp219) = & cfi_intelext_read_user_prot_reg;
 9089#line 606
 9090  __cil_tmp220 = (unsigned long )mtd;
 9091#line 606
 9092  __cil_tmp221 = __cil_tmp220 + 200;
 9093#line 606
 9094  *((int (**)(struct mtd_info *mtd , loff_t to , size_t len , size_t *retlen , u_char *buf ))__cil_tmp221) = & cfi_intelext_write_user_prot_reg;
 9095#line 607
 9096  __cil_tmp222 = (unsigned long )mtd;
 9097#line 607
 9098  __cil_tmp223 = __cil_tmp222 + 208;
 9099#line 607
 9100  *((int (**)(struct mtd_info *mtd , loff_t from , size_t len ))__cil_tmp223) = & cfi_intelext_lock_user_prot_reg;
 9101#line 608
 9102  __cil_tmp224 = (unsigned long )mtd;
 9103#line 608
 9104  __cil_tmp225 = __cil_tmp224 + 168;
 9105#line 608
 9106  *((int (**)(struct mtd_info *mtd , struct otp_info *buf , size_t len ))__cil_tmp225) = & cfi_intelext_get_fact_prot_info;
 9107#line 609
 9108  __cil_tmp226 = (unsigned long )mtd;
 9109#line 609
 9110  __cil_tmp227 = __cil_tmp226 + 184;
 9111#line 609
 9112  *((int (**)(struct mtd_info *mtd , struct otp_info *buf , size_t len ))__cil_tmp227) = & cfi_intelext_get_user_prot_info;
 9113#line 614
 9114  tmp___9 = cfi_intelext_partition_fixup(mtd, & cfi);
 9115  }
 9116#line 614
 9117  if (tmp___9 != 0) {
 9118#line 615
 9119    goto setup_err;
 9120  } else {
 9121
 9122  }
 9123  {
 9124#line 617
 9125  __module_get(& __this_module);
 9126#line 618
 9127  __cil_tmp228 = (unsigned long )mtd;
 9128#line 618
 9129  __cil_tmp229 = __cil_tmp228 + 312;
 9130#line 618
 9131  __cil_tmp230 = (struct notifier_block *)__cil_tmp229;
 9132#line 618
 9133  register_reboot_notifier(__cil_tmp230);
 9134  }
 9135#line 619
 9136  return (mtd);
 9137  setup_err: 
 9138  {
 9139#line 622
 9140  __cil_tmp231 = (unsigned long )mtd;
 9141#line 622
 9142  __cil_tmp232 = __cil_tmp231 + 88;
 9143#line 622
 9144  __cil_tmp233 = *((struct mtd_erase_region_info **)__cil_tmp232);
 9145#line 622
 9146  __cil_tmp234 = (void    *)__cil_tmp233;
 9147#line 622
 9148  kfree(__cil_tmp234);
 9149#line 623
 9150  __cil_tmp235 = (void    *)mtd;
 9151#line 623
 9152  kfree(__cil_tmp235);
 9153#line 624
 9154  __cil_tmp236 = & cfi;
 9155#line 624
 9156  __cil_tmp237 = *__cil_tmp236;
 9157#line 624
 9158  __cil_tmp238 = (unsigned long )__cil_tmp237;
 9159#line 624
 9160  __cil_tmp239 = __cil_tmp238 + 8;
 9161#line 624
 9162  __cil_tmp240 = *((void **)__cil_tmp239);
 9163#line 624
 9164  __cil_tmp241 = (void    *)__cil_tmp240;
 9165#line 624
 9166  kfree(__cil_tmp241);
 9167  }
 9168  {
 9169#line 625
 9170  __cil_tmp242 = (void *)0;
 9171#line 625
 9172  return ((struct mtd_info *)__cil_tmp242);
 9173  }
 9174}
 9175}
 9176#line 724 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 9177static struct lock_class_key __key___4  ;
 9178#line 731 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 9179static struct lock_class_key __key___5  ;
 9180#line 732 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 9181static struct lock_class_key __key___6  ;
 9182#line 628 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
 9183static int cfi_intelext_partition_fixup(struct mtd_info *mtd , struct cfi_private **pcfi ) 
 9184{ struct map_info *map ;
 9185  struct cfi_private *cfi ;
 9186  struct cfi_pri_intelext *extp ;
 9187  struct cfi_private *newcfi ;
 9188  struct flchip *chip ;
 9189  struct flchip_shared *shared ;
 9190  int offs ;
 9191  int numregions ;
 9192  int numparts ;
 9193  int partshift ;
 9194  int numvirtchips ;
 9195  int i ;
 9196  int j ;
 9197  struct cfi_intelext_regioninfo *rinfo ;
 9198  struct cfi_intelext_programming_regioninfo *prinfo ;
 9199  unsigned long tmp___7 ;
 9200  void *tmp___8 ;
 9201  void *tmp___9 ;
 9202  size_t __len ;
 9203  void *__ret ;
 9204  struct flchip *tmp___10 ;
 9205  unsigned long __cil_tmp24 ;
 9206  unsigned long __cil_tmp25 ;
 9207  void *__cil_tmp26 ;
 9208  unsigned long __cil_tmp27 ;
 9209  unsigned long __cil_tmp28 ;
 9210  void *__cil_tmp29 ;
 9211  unsigned long __cil_tmp30 ;
 9212  unsigned long __cil_tmp31 ;
 9213  uint8_t __cil_tmp32 ;
 9214  int __cil_tmp33 ;
 9215  unsigned long __cil_tmp34 ;
 9216  unsigned long __cil_tmp35 ;
 9217  uint8_t __cil_tmp36 ;
 9218  int __cil_tmp37 ;
 9219  int __cil_tmp38 ;
 9220  unsigned int __cil_tmp39 ;
 9221  unsigned long __cil_tmp40 ;
 9222  unsigned long __cil_tmp41 ;
 9223  uint32_t __cil_tmp42 ;
 9224  unsigned long __cil_tmp43 ;
 9225  unsigned long __cil_tmp44 ;
 9226  uint8_t __cil_tmp45 ;
 9227  int __cil_tmp46 ;
 9228  int __cil_tmp47 ;
 9229  unsigned long __cil_tmp48 ;
 9230  unsigned long __cil_tmp49 ;
 9231  int __cil_tmp50 ;
 9232  unsigned long __cil_tmp51 ;
 9233  unsigned long __cil_tmp52 ;
 9234  unsigned long __cil_tmp53 ;
 9235  unsigned long __cil_tmp54 ;
 9236  uint8_t __cil_tmp55 ;
 9237  int __cil_tmp56 ;
 9238  int __cil_tmp57 ;
 9239  unsigned long __cil_tmp58 ;
 9240  unsigned long __cil_tmp59 ;
 9241  unsigned long __cil_tmp60 ;
 9242  unsigned long __cil_tmp61 ;
 9243  uint8_t __cil_tmp62 ;
 9244  unsigned long __cil_tmp63 ;
 9245  unsigned long __cil_tmp64 ;
 9246  uint8_t __cil_tmp65 ;
 9247  int __cil_tmp66 ;
 9248  unsigned long __cil_tmp67 ;
 9249  unsigned long __cil_tmp68 ;
 9250  unsigned long __cil_tmp69 ;
 9251  unsigned long __cil_tmp70 ;
 9252  uint8_t *__cil_tmp71 ;
 9253  uint16_t __cil_tmp72 ;
 9254  int __cil_tmp73 ;
 9255  unsigned long __cil_tmp74 ;
 9256  unsigned long __cil_tmp75 ;
 9257  uint8_t __cil_tmp76 ;
 9258  int __cil_tmp77 ;
 9259  int __cil_tmp78 ;
 9260  unsigned long __cil_tmp79 ;
 9261  unsigned long __cil_tmp80 ;
 9262  unsigned long __cil_tmp81 ;
 9263  unsigned long __cil_tmp82 ;
 9264  unsigned long __cil_tmp83 ;
 9265  unsigned long __cil_tmp84 ;
 9266  unsigned long __cil_tmp85 ;
 9267  uint8_t __cil_tmp86 ;
 9268  int __cil_tmp87 ;
 9269  unsigned long __cil_tmp88 ;
 9270  unsigned long __cil_tmp89 ;
 9271  unsigned long __cil_tmp90 ;
 9272  unsigned long __cil_tmp91 ;
 9273  uint8_t *__cil_tmp92 ;
 9274  unsigned long __cil_tmp93 ;
 9275  unsigned long __cil_tmp94 ;
 9276  uint8_t __cil_tmp95 ;
 9277  int __cil_tmp96 ;
 9278  unsigned long __cil_tmp97 ;
 9279  unsigned long __cil_tmp98 ;
 9280  int __cil_tmp99 ;
 9281  int __cil_tmp100 ;
 9282  unsigned long __cil_tmp101 ;
 9283  unsigned long __cil_tmp102 ;
 9284  unsigned long __cil_tmp103 ;
 9285  unsigned long __cil_tmp104 ;
 9286  uint32_t __cil_tmp105 ;
 9287  char    *__cil_tmp106 ;
 9288  unsigned long __cil_tmp107 ;
 9289  unsigned long __cil_tmp108 ;
 9290  uint32_t __cil_tmp109 ;
 9291  unsigned long __cil_tmp110 ;
 9292  unsigned long __cil_tmp111 ;
 9293  uint8_t __cil_tmp112 ;
 9294  int __cil_tmp113 ;
 9295  unsigned long __cil_tmp114 ;
 9296  unsigned long __cil_tmp115 ;
 9297  int __cil_tmp116 ;
 9298  int __cil_tmp117 ;
 9299  unsigned long __cil_tmp118 ;
 9300  unsigned long __cil_tmp119 ;
 9301  uint8_t __cil_tmp120 ;
 9302  int __cil_tmp121 ;
 9303  unsigned long __cil_tmp122 ;
 9304  unsigned long __cil_tmp123 ;
 9305  int __cil_tmp124 ;
 9306  int __cil_tmp125 ;
 9307  unsigned long __cil_tmp126 ;
 9308  unsigned long __cil_tmp127 ;
 9309  unsigned long __cil_tmp128 ;
 9310  unsigned long __cil_tmp129 ;
 9311  unsigned long __cil_tmp130 ;
 9312  unsigned long __cil_tmp131 ;
 9313  unsigned long __cil_tmp132 ;
 9314  uint32_t __cil_tmp133 ;
 9315  int __cil_tmp134 ;
 9316  uint32_t __cil_tmp135 ;
 9317  unsigned long __cil_tmp136 ;
 9318  unsigned long __cil_tmp137 ;
 9319  int __cil_tmp138 ;
 9320  unsigned long __cil_tmp139 ;
 9321  unsigned long __cil_tmp140 ;
 9322  unsigned long __cil_tmp141 ;
 9323  unsigned long __cil_tmp142 ;
 9324  unsigned long __cil_tmp143 ;
 9325  int __cil_tmp144 ;
 9326  unsigned long __cil_tmp145 ;
 9327  unsigned long __cil_tmp146 ;
 9328  void    *__cil_tmp147 ;
 9329  void *__cil_tmp148 ;
 9330  void    *__cil_tmp149 ;
 9331  void *__cil_tmp150 ;
 9332  void    *__cil_tmp151 ;
 9333  unsigned long __cil_tmp152 ;
 9334  unsigned long __cil_tmp153 ;
 9335  unsigned long __cil_tmp154 ;
 9336  unsigned long __cil_tmp155 ;
 9337  unsigned long __cil_tmp156 ;
 9338  unsigned long __cil_tmp157 ;
 9339  unsigned long __cil_tmp158 ;
 9340  unsigned long __cil_tmp159 ;
 9341  unsigned long __cil_tmp160 ;
 9342  unsigned long __cil_tmp161 ;
 9343  int __cil_tmp162 ;
 9344  void *__cil_tmp163 ;
 9345  struct flchip_shared *__cil_tmp164 ;
 9346  unsigned long __cil_tmp165 ;
 9347  unsigned long __cil_tmp166 ;
 9348  struct flchip_shared *__cil_tmp167 ;
 9349  unsigned long __cil_tmp168 ;
 9350  unsigned long __cil_tmp169 ;
 9351  struct flchip_shared *__cil_tmp170 ;
 9352  struct mutex *__cil_tmp171 ;
 9353  unsigned long __cil_tmp172 ;
 9354  unsigned long __cil_tmp173 ;
 9355  unsigned long __cil_tmp174 ;
 9356  unsigned long __cil_tmp175 ;
 9357  int __cil_tmp176 ;
 9358  unsigned long __cil_tmp177 ;
 9359  unsigned long __cil_tmp178 ;
 9360  unsigned long __cil_tmp179 ;
 9361  unsigned long __cil_tmp180 ;
 9362  struct flchip_shared *__cil_tmp181 ;
 9363  unsigned long __cil_tmp182 ;
 9364  unsigned long __cil_tmp183 ;
 9365  wait_queue_head_t *__cil_tmp184 ;
 9366  unsigned long __cil_tmp185 ;
 9367  unsigned long __cil_tmp186 ;
 9368  struct mutex *__cil_tmp187 ;
 9369  char    *__cil_tmp188 ;
 9370  unsigned long __cil_tmp189 ;
 9371  unsigned long __cil_tmp190 ;
 9372  int __cil_tmp191 ;
 9373  unsigned long __cil_tmp192 ;
 9374  unsigned long __cil_tmp193 ;
 9375  int __cil_tmp194 ;
 9376  unsigned long __cil_tmp195 ;
 9377  unsigned long __cil_tmp196 ;
 9378  int __cil_tmp197 ;
 9379  unsigned long __cil_tmp198 ;
 9380  unsigned long __cil_tmp199 ;
 9381  unsigned long __cil_tmp200 ;
 9382  unsigned long __cil_tmp201 ;
 9383  int __cil_tmp202 ;
 9384  unsigned long __cil_tmp203 ;
 9385  unsigned long __cil_tmp204 ;
 9386  void    *__cil_tmp205 ;
 9387
 9388  {
 9389#line 631
 9390  __cil_tmp24 = (unsigned long )mtd;
 9391#line 631
 9392  __cil_tmp25 = __cil_tmp24 + 360;
 9393#line 631
 9394  __cil_tmp26 = *((void **)__cil_tmp25);
 9395#line 631
 9396  map = (struct map_info *)__cil_tmp26;
 9397#line 632
 9398  cfi = *pcfi;
 9399#line 633
 9400  __cil_tmp27 = (unsigned long )cfi;
 9401#line 633
 9402  __cil_tmp28 = __cil_tmp27 + 8;
 9403#line 633
 9404  __cil_tmp29 = *((void **)__cil_tmp28);
 9405#line 633
 9406  extp = (struct cfi_pri_intelext *)__cil_tmp29;
 9407#line 646
 9408  if (extp) {
 9409    {
 9410#line 646
 9411    __cil_tmp30 = (unsigned long )extp;
 9412#line 646
 9413    __cil_tmp31 = __cil_tmp30 + 3;
 9414#line 646
 9415    __cil_tmp32 = *((uint8_t *)__cil_tmp31);
 9416#line 646
 9417    __cil_tmp33 = (int )__cil_tmp32;
 9418#line 646
 9419    if (__cil_tmp33 == 49) {
 9420      {
 9421#line 646
 9422      __cil_tmp34 = (unsigned long )extp;
 9423#line 646
 9424      __cil_tmp35 = __cil_tmp34 + 4;
 9425#line 646
 9426      __cil_tmp36 = *((uint8_t *)__cil_tmp35);
 9427#line 646
 9428      __cil_tmp37 = (int )__cil_tmp36;
 9429#line 646
 9430      if (__cil_tmp37 >= 51) {
 9431        {
 9432#line 646
 9433        __cil_tmp38 = 1 << 9;
 9434#line 646
 9435        __cil_tmp39 = (unsigned int )__cil_tmp38;
 9436#line 646
 9437        __cil_tmp40 = (unsigned long )extp;
 9438#line 646
 9439        __cil_tmp41 = __cil_tmp40 + 5;
 9440#line 646
 9441        __cil_tmp42 = *((uint32_t *)__cil_tmp41);
 9442#line 646
 9443        if (__cil_tmp42 & __cil_tmp39) {
 9444#line 654
 9445          __cil_tmp43 = (unsigned long )extp;
 9446#line 654
 9447          __cil_tmp44 = __cil_tmp43 + 14;
 9448#line 654
 9449          __cil_tmp45 = *((uint8_t *)__cil_tmp44);
 9450#line 654
 9451          __cil_tmp46 = (int )__cil_tmp45;
 9452#line 654
 9453          __cil_tmp47 = __cil_tmp46 - 1;
 9454#line 654
 9455          __cil_tmp48 = (unsigned long )__cil_tmp47;
 9456#line 654
 9457          __cil_tmp49 = __cil_tmp48 * 10UL;
 9458#line 654
 9459          offs = (int )__cil_tmp49;
 9460#line 658
 9461          __cil_tmp50 = offs + 1;
 9462#line 658
 9463          __cil_tmp51 = __cil_tmp50 * 1UL;
 9464#line 658
 9465          __cil_tmp52 = 19 + __cil_tmp51;
 9466#line 658
 9467          __cil_tmp53 = (unsigned long )extp;
 9468#line 658
 9469          __cil_tmp54 = __cil_tmp53 + __cil_tmp52;
 9470#line 658
 9471          __cil_tmp55 = *((uint8_t *)__cil_tmp54);
 9472#line 658
 9473          __cil_tmp56 = (int )__cil_tmp55;
 9474#line 658
 9475          __cil_tmp57 = __cil_tmp56 + 2;
 9476#line 658
 9477          offs = offs + __cil_tmp57;
 9478#line 661
 9479          __cil_tmp58 = offs * 1UL;
 9480#line 661
 9481          __cil_tmp59 = 19 + __cil_tmp58;
 9482#line 661
 9483          __cil_tmp60 = (unsigned long )extp;
 9484#line 661
 9485          __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
 9486#line 661
 9487          __cil_tmp62 = *((uint8_t *)__cil_tmp61);
 9488#line 661
 9489          numregions = (int )__cil_tmp62;
 9490#line 662
 9491          offs = offs + 1;
 9492          {
 9493#line 665
 9494          __cil_tmp63 = (unsigned long )extp;
 9495#line 665
 9496          __cil_tmp64 = __cil_tmp63 + 4;
 9497#line 665
 9498          __cil_tmp65 = *((uint8_t *)__cil_tmp64);
 9499#line 665
 9500          __cil_tmp66 = (int )__cil_tmp65;
 9501#line 665
 9502          if (__cil_tmp66 >= 52) {
 9503#line 666
 9504            offs = offs + 2;
 9505          } else {
 9506
 9507          }
 9508          }
 9509#line 669
 9510          numparts = 0;
 9511#line 670
 9512          i = 0;
 9513          {
 9514#line 670
 9515          while (1) {
 9516            while_continue: /* CIL Label */ ;
 9517#line 670
 9518            if (i < numregions) {
 9519
 9520            } else {
 9521#line 670
 9522              goto while_break;
 9523            }
 9524#line 672
 9525            __cil_tmp67 = offs * 1UL;
 9526#line 672
 9527            __cil_tmp68 = 19 + __cil_tmp67;
 9528#line 672
 9529            __cil_tmp69 = (unsigned long )extp;
 9530#line 672
 9531            __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
 9532#line 672
 9533            __cil_tmp71 = (uint8_t *)__cil_tmp70;
 9534#line 672
 9535            rinfo = (struct cfi_intelext_regioninfo *)__cil_tmp71;
 9536#line 673
 9537            __cil_tmp72 = *((uint16_t *)rinfo);
 9538#line 673
 9539            __cil_tmp73 = (int )__cil_tmp72;
 9540#line 673
 9541            numparts = numparts + __cil_tmp73;
 9542#line 674
 9543            __cil_tmp74 = (unsigned long )rinfo;
 9544#line 674
 9545            __cil_tmp75 = __cil_tmp74 + 5;
 9546#line 674
 9547            __cil_tmp76 = *((uint8_t *)__cil_tmp75);
 9548#line 674
 9549            __cil_tmp77 = (int )__cil_tmp76;
 9550#line 674
 9551            __cil_tmp78 = __cil_tmp77 - 1;
 9552#line 674
 9553            __cil_tmp79 = (unsigned long )__cil_tmp78;
 9554#line 674
 9555            __cil_tmp80 = __cil_tmp79 * 8UL;
 9556#line 674
 9557            __cil_tmp81 = 14UL + __cil_tmp80;
 9558#line 674
 9559            __cil_tmp82 = (unsigned long )offs;
 9560#line 674
 9561            __cil_tmp83 = __cil_tmp82 + __cil_tmp81;
 9562#line 674
 9563            offs = (int )__cil_tmp83;
 9564#line 670
 9565            i = i + 1;
 9566          }
 9567          while_break: /* CIL Label */ ;
 9568          }
 9569#line 679
 9570          if (! numparts) {
 9571#line 680
 9572            numparts = 1;
 9573          } else {
 9574
 9575          }
 9576          {
 9577#line 683
 9578          __cil_tmp84 = (unsigned long )extp;
 9579#line 683
 9580          __cil_tmp85 = __cil_tmp84 + 4;
 9581#line 683
 9582          __cil_tmp86 = *((uint8_t *)__cil_tmp85);
 9583#line 683
 9584          __cil_tmp87 = (int )__cil_tmp86;
 9585#line 683
 9586          if (__cil_tmp87 >= 52) {
 9587            {
 9588#line 685
 9589            __cil_tmp88 = offs * 1UL;
 9590#line 685
 9591            __cil_tmp89 = 19 + __cil_tmp88;
 9592#line 685
 9593            __cil_tmp90 = (unsigned long )extp;
 9594#line 685
 9595            __cil_tmp91 = __cil_tmp90 + __cil_tmp89;
 9596#line 685
 9597            __cil_tmp92 = (uint8_t *)__cil_tmp91;
 9598#line 685
 9599            prinfo = (struct cfi_intelext_programming_regioninfo *)__cil_tmp92;
 9600#line 686
 9601            __cil_tmp93 = (unsigned long )mtd;
 9602#line 686
 9603            __cil_tmp94 = __cil_tmp93 + 20;
 9604#line 686
 9605            __cil_tmp95 = *((uint8_t *)prinfo);
 9606#line 686
 9607            __cil_tmp96 = (int )__cil_tmp95;
 9608#line 686
 9609            __cil_tmp97 = (unsigned long )cfi;
 9610#line 686
 9611            __cil_tmp98 = __cil_tmp97 + 16;
 9612#line 686
 9613            __cil_tmp99 = *((int *)__cil_tmp98);
 9614#line 686
 9615            __cil_tmp100 = __cil_tmp99 << __cil_tmp96;
 9616#line 686
 9617            *((uint32_t *)__cil_tmp94) = (uint32_t )__cil_tmp100;
 9618#line 687
 9619            __cil_tmp101 = (unsigned long )mtd;
 9620#line 687
 9621            __cil_tmp102 = __cil_tmp101 + 4;
 9622#line 687
 9623            __cil_tmp103 = (unsigned long )mtd;
 9624#line 687
 9625            __cil_tmp104 = __cil_tmp103 + 4;
 9626#line 687
 9627            __cil_tmp105 = *((uint32_t *)__cil_tmp104);
 9628#line 687
 9629            *((uint32_t *)__cil_tmp102) = __cil_tmp105 & 4294965247U;
 9630#line 688
 9631            __cil_tmp106 = *((char    **)map);
 9632#line 688
 9633            __cil_tmp107 = (unsigned long )mtd;
 9634#line 688
 9635            __cil_tmp108 = __cil_tmp107 + 20;
 9636#line 688
 9637            __cil_tmp109 = *((uint32_t *)__cil_tmp108);
 9638#line 688
 9639            __cil_tmp110 = (unsigned long )prinfo;
 9640#line 688
 9641            __cil_tmp111 = __cil_tmp110 + 2;
 9642#line 688
 9643            __cil_tmp112 = *((uint8_t *)__cil_tmp111);
 9644#line 688
 9645            __cil_tmp113 = (int )__cil_tmp112;
 9646#line 688
 9647            __cil_tmp114 = (unsigned long )cfi;
 9648#line 688
 9649            __cil_tmp115 = __cil_tmp114 + 16;
 9650#line 688
 9651            __cil_tmp116 = *((int *)__cil_tmp115);
 9652#line 688
 9653            __cil_tmp117 = __cil_tmp116 * __cil_tmp113;
 9654#line 688
 9655            __cil_tmp118 = (unsigned long )prinfo;
 9656#line 688
 9657            __cil_tmp119 = __cil_tmp118 + 4;
 9658#line 688
 9659            __cil_tmp120 = *((uint8_t *)__cil_tmp119);
 9660#line 688
 9661            __cil_tmp121 = (int )__cil_tmp120;
 9662#line 688
 9663            __cil_tmp122 = (unsigned long )cfi;
 9664#line 688
 9665            __cil_tmp123 = __cil_tmp122 + 16;
 9666#line 688
 9667            __cil_tmp124 = *((int *)__cil_tmp123);
 9668#line 688
 9669            __cil_tmp125 = __cil_tmp124 * __cil_tmp121;
 9670#line 688
 9671            printk("<7>%s: program region size/ctrl_valid/ctrl_inval = %d/%d/%d\n",
 9672                   __cil_tmp106, __cil_tmp109, __cil_tmp117, __cil_tmp125);
 9673            }
 9674          } else {
 9675
 9676          }
 9677          }
 9678          {
 9679#line 699
 9680          __cil_tmp126 = (unsigned long )numparts;
 9681#line 699
 9682          tmp___7 = __ffs(__cil_tmp126);
 9683#line 699
 9684          __cil_tmp127 = (unsigned long )cfi;
 9685#line 699
 9686          __cil_tmp128 = __cil_tmp127 + 104;
 9687#line 699
 9688          __cil_tmp129 = *((unsigned long *)__cil_tmp128);
 9689#line 699
 9690          __cil_tmp130 = __cil_tmp129 - tmp___7;
 9691#line 699
 9692          partshift = (int )__cil_tmp130;
 9693          }
 9694          {
 9695#line 701
 9696          __cil_tmp131 = (unsigned long )mtd;
 9697#line 701
 9698          __cil_tmp132 = __cil_tmp131 + 16;
 9699#line 701
 9700          __cil_tmp133 = *((uint32_t *)__cil_tmp132);
 9701#line 701
 9702          __cil_tmp134 = 1 << partshift;
 9703#line 701
 9704          __cil_tmp135 = (uint32_t )__cil_tmp134;
 9705#line 701
 9706          if (__cil_tmp135 < __cil_tmp133) {
 9707            {
 9708#line 702
 9709            printk("<3>%s: bad number of hw partitions (%d)\n", "cfi_intelext_partition_fixup",
 9710                   numparts);
 9711            }
 9712#line 705
 9713            return (-22);
 9714          } else {
 9715
 9716          }
 9717          }
 9718          {
 9719#line 708
 9720          __cil_tmp136 = (unsigned long )cfi;
 9721#line 708
 9722          __cil_tmp137 = __cil_tmp136 + 64;
 9723#line 708
 9724          __cil_tmp138 = *((int *)__cil_tmp137);
 9725#line 708
 9726          numvirtchips = __cil_tmp138 * numparts;
 9727#line 709
 9728          __cil_tmp139 = (unsigned long )numvirtchips;
 9729#line 709
 9730          __cil_tmp140 = __cil_tmp139 * 176UL;
 9731#line 709
 9732          __cil_tmp141 = 120UL + __cil_tmp140;
 9733#line 709
 9734          tmp___8 = kmalloc(__cil_tmp141, 208U);
 9735#line 709
 9736          newcfi = (struct cfi_private *)tmp___8;
 9737          }
 9738#line 710
 9739          if (! newcfi) {
 9740#line 711
 9741            return (-12);
 9742          } else {
 9743
 9744          }
 9745          {
 9746#line 712
 9747          __cil_tmp142 = (unsigned long )cfi;
 9748#line 712
 9749          __cil_tmp143 = __cil_tmp142 + 64;
 9750#line 712
 9751          __cil_tmp144 = *((int *)__cil_tmp143);
 9752#line 712
 9753          __cil_tmp145 = (unsigned long )__cil_tmp144;
 9754#line 712
 9755          __cil_tmp146 = 88UL * __cil_tmp145;
 9756#line 712
 9757          tmp___9 = kmalloc(__cil_tmp146, 208U);
 9758#line 712
 9759          shared = (struct flchip_shared *)tmp___9;
 9760          }
 9761#line 713
 9762          if (! shared) {
 9763            {
 9764#line 714
 9765            __cil_tmp147 = (void    *)newcfi;
 9766#line 714
 9767            kfree(__cil_tmp147);
 9768            }
 9769#line 715
 9770            return (-12);
 9771          } else {
 9772
 9773          }
 9774#line 717
 9775          __len = 120UL;
 9776#line 717
 9777          if (__len >= 64UL) {
 9778            {
 9779#line 717
 9780            __cil_tmp148 = (void *)newcfi;
 9781#line 717
 9782            __cil_tmp149 = (void    *)cfi;
 9783#line 717
 9784            __ret = __memcpy(__cil_tmp148, __cil_tmp149, __len);
 9785            }
 9786          } else {
 9787            {
 9788#line 717
 9789            __cil_tmp150 = (void *)newcfi;
 9790#line 717
 9791            __cil_tmp151 = (void    *)cfi;
 9792#line 717
 9793            __ret = __builtin_memcpy(__cil_tmp150, __cil_tmp151, __len);
 9794            }
 9795          }
 9796#line 718
 9797          __cil_tmp152 = (unsigned long )newcfi;
 9798#line 718
 9799          __cil_tmp153 = __cil_tmp152 + 64;
 9800#line 718
 9801          *((int *)__cil_tmp153) = numvirtchips;
 9802#line 719
 9803          __cil_tmp154 = (unsigned long )newcfi;
 9804#line 719
 9805          __cil_tmp155 = __cil_tmp154 + 104;
 9806#line 719
 9807          *((unsigned long *)__cil_tmp155) = (unsigned long )partshift;
 9808#line 721
 9809          __cil_tmp156 = 0 * 176UL;
 9810#line 721
 9811          __cil_tmp157 = 120 + __cil_tmp156;
 9812#line 721
 9813          __cil_tmp158 = (unsigned long )newcfi;
 9814#line 721
 9815          __cil_tmp159 = __cil_tmp158 + __cil_tmp157;
 9816#line 721
 9817          chip = (struct flchip *)__cil_tmp159;
 9818#line 722
 9819          i = 0;
 9820          {
 9821#line 722
 9822          while (1) {
 9823            while_continue___0: /* CIL Label */ ;
 9824            {
 9825#line 722
 9826            __cil_tmp160 = (unsigned long )cfi;
 9827#line 722
 9828            __cil_tmp161 = __cil_tmp160 + 64;
 9829#line 722
 9830            __cil_tmp162 = *((int *)__cil_tmp161);
 9831#line 722
 9832            if (i < __cil_tmp162) {
 9833
 9834            } else {
 9835#line 722
 9836              goto while_break___0;
 9837            }
 9838            }
 9839#line 723
 9840            __cil_tmp163 = (void *)0;
 9841#line 723
 9842            tmp___10 = (struct flchip *)__cil_tmp163;
 9843#line 723
 9844            __cil_tmp164 = shared + i;
 9845#line 723
 9846            __cil_tmp165 = (unsigned long )__cil_tmp164;
 9847#line 723
 9848            __cil_tmp166 = __cil_tmp165 + 80;
 9849#line 723
 9850            *((struct flchip **)__cil_tmp166) = tmp___10;
 9851#line 723
 9852            __cil_tmp167 = shared + i;
 9853#line 723
 9854            __cil_tmp168 = (unsigned long )__cil_tmp167;
 9855#line 723
 9856            __cil_tmp169 = __cil_tmp168 + 72;
 9857#line 723
 9858            *((struct flchip **)__cil_tmp169) = tmp___10;
 9859            {
 9860#line 724
 9861            while (1) {
 9862              while_continue___1: /* CIL Label */ ;
 9863              {
 9864#line 724
 9865              __cil_tmp170 = shared + i;
 9866#line 724
 9867              __cil_tmp171 = (struct mutex *)__cil_tmp170;
 9868#line 724
 9869              __mutex_init(__cil_tmp171, "&shared[i].lock", & __key___4);
 9870              }
 9871#line 724
 9872              goto while_break___1;
 9873            }
 9874            while_break___1: /* CIL Label */ ;
 9875            }
 9876#line 725
 9877            j = 0;
 9878            {
 9879#line 725
 9880            while (1) {
 9881              while_continue___2: /* CIL Label */ ;
 9882#line 725
 9883              if (j < numparts) {
 9884
 9885              } else {
 9886#line 725
 9887                goto while_break___2;
 9888              }
 9889#line 726
 9890              __cil_tmp172 = i * 176UL;
 9891#line 726
 9892              __cil_tmp173 = 120 + __cil_tmp172;
 9893#line 726
 9894              __cil_tmp174 = (unsigned long )cfi;
 9895#line 726
 9896              __cil_tmp175 = __cil_tmp174 + __cil_tmp173;
 9897#line 726
 9898              *chip = *((struct flchip *)__cil_tmp175);
 9899#line 727
 9900              __cil_tmp176 = j << partshift;
 9901#line 727
 9902              __cil_tmp177 = (unsigned long )__cil_tmp176;
 9903#line 727
 9904              __cil_tmp178 = *((unsigned long *)chip);
 9905#line 727
 9906              *((unsigned long *)chip) = __cil_tmp178 + __cil_tmp177;
 9907#line 728
 9908              __cil_tmp179 = (unsigned long )chip;
 9909#line 728
 9910              __cil_tmp180 = __cil_tmp179 + 168;
 9911#line 728
 9912              __cil_tmp181 = shared + i;
 9913#line 728
 9914              *((void **)__cil_tmp180) = (void *)__cil_tmp181;
 9915              {
 9916#line 731
 9917              while (1) {
 9918                while_continue___3: /* CIL Label */ ;
 9919                {
 9920#line 731
 9921                __cil_tmp182 = (unsigned long )chip;
 9922#line 731
 9923                __cil_tmp183 = __cil_tmp182 + 104;
 9924#line 731
 9925                __cil_tmp184 = (wait_queue_head_t *)__cil_tmp183;
 9926#line 731
 9927                __init_waitqueue_head(__cil_tmp184, "&chip->wq", & __key___5);
 9928                }
 9929#line 731
 9930                goto while_break___3;
 9931              }
 9932              while_break___3: /* CIL Label */ ;
 9933              }
 9934              {
 9935#line 732
 9936              while (1) {
 9937                while_continue___4: /* CIL Label */ ;
 9938                {
 9939#line 732
 9940                __cil_tmp185 = (unsigned long )chip;
 9941#line 732
 9942                __cil_tmp186 = __cil_tmp185 + 32;
 9943#line 732
 9944                __cil_tmp187 = (struct mutex *)__cil_tmp186;
 9945#line 732
 9946                __mutex_init(__cil_tmp187, "&chip->mutex", & __key___6);
 9947                }
 9948#line 732
 9949                goto while_break___4;
 9950              }
 9951              while_break___4: /* CIL Label */ ;
 9952              }
 9953#line 733
 9954              chip = chip + 1;
 9955#line 725
 9956              j = j + 1;
 9957            }
 9958            while_break___2: /* CIL Label */ ;
 9959            }
 9960#line 722
 9961            i = i + 1;
 9962          }
 9963          while_break___0: /* CIL Label */ ;
 9964          }
 9965          {
 9966#line 737
 9967          __cil_tmp188 = *((char    **)map);
 9968#line 737
 9969          __cil_tmp189 = (unsigned long )cfi;
 9970#line 737
 9971          __cil_tmp190 = __cil_tmp189 + 64;
 9972#line 737
 9973          __cil_tmp191 = *((int *)__cil_tmp190);
 9974#line 737
 9975          __cil_tmp192 = (unsigned long )cfi;
 9976#line 737
 9977          __cil_tmp193 = __cil_tmp192 + 16;
 9978#line 737
 9979          __cil_tmp194 = *((int *)__cil_tmp193);
 9980#line 737
 9981          __cil_tmp195 = (unsigned long )newcfi;
 9982#line 737
 9983          __cil_tmp196 = __cil_tmp195 + 64;
 9984#line 737
 9985          __cil_tmp197 = *((int *)__cil_tmp196);
 9986#line 737
 9987          __cil_tmp198 = (unsigned long )newcfi;
 9988#line 737
 9989          __cil_tmp199 = __cil_tmp198 + 104;
 9990#line 737
 9991          __cil_tmp200 = *((unsigned long *)__cil_tmp199);
 9992#line 737
 9993          __cil_tmp201 = __cil_tmp200 - 10UL;
 9994#line 737
 9995          __cil_tmp202 = 1 << __cil_tmp201;
 9996#line 737
 9997          printk("<7>%s: %d set(s) of %d interleaved chips --> %d partitions of %d KiB\n",
 9998                 __cil_tmp188, __cil_tmp191, __cil_tmp194, __cil_tmp197, __cil_tmp202);
 9999#line 742
10000          __cil_tmp203 = (unsigned long )map;
10001#line 742
10002          __cil_tmp204 = __cil_tmp203 + 120;
10003#line 742
10004          *((void **)__cil_tmp204) = (void *)newcfi;
10005#line 743
10006          *pcfi = newcfi;
10007#line 744
10008          __cil_tmp205 = (void    *)cfi;
10009#line 744
10010          kfree(__cil_tmp205);
10011          }
10012        } else {
10013
10014        }
10015        }
10016      } else {
10017
10018      }
10019      }
10020    } else {
10021
10022    }
10023    }
10024  } else {
10025
10026  }
10027#line 747
10028  return (0);
10029}
10030}
10031#line 753 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
10032static int chip_ready(struct map_info *map , struct flchip *chip , unsigned long adr ,
10033                      int mode ) 
10034{ wait_queue_t wait ;
10035  struct task_struct *tmp___7 ;
10036  struct cfi_private *cfi ;
10037  map_word status ;
10038  map_word status_OK ;
10039  map_word tmp___8 ;
10040  map_word status_PWS ;
10041  map_word tmp___9 ;
10042  struct cfi_pri_intelext *cfip ;
10043  unsigned long timeo ;
10044  map_word tmp___10 ;
10045  int tmp___11 ;
10046  map_word tmp___12 ;
10047  int tmp___13 ;
10048  map_word tmp___14 ;
10049  map_word tmp___15 ;
10050  map_word tmp___16 ;
10051  int tmp___17 ;
10052  long volatile   __ret ;
10053  struct task_struct *tmp___19 ;
10054  struct task_struct *tmp___20 ;
10055  struct task_struct *tmp___21 ;
10056  struct task_struct *tmp___22 ;
10057  struct task_struct *tmp___23 ;
10058  wait_queue_t *__cil_tmp34 ;
10059  unsigned long __cil_tmp35 ;
10060  unsigned long __cil_tmp36 ;
10061  unsigned long __cil_tmp37 ;
10062  void *__cil_tmp38 ;
10063  unsigned long __cil_tmp39 ;
10064  unsigned long __cil_tmp40 ;
10065  void *__cil_tmp41 ;
10066  unsigned long __cil_tmp42 ;
10067  unsigned long __cil_tmp43 ;
10068  void *__cil_tmp44 ;
10069  u_long __cil_tmp45 ;
10070  u_long __cil_tmp46 ;
10071  unsigned long __cil_tmp47 ;
10072  unsigned long __cil_tmp48 ;
10073  void *__cil_tmp49 ;
10074  unsigned long volatile   __cil_tmp50 ;
10075  unsigned long volatile   __cil_tmp51 ;
10076  unsigned long __cil_tmp52 ;
10077  unsigned long __cil_tmp53 ;
10078  flstate_t __cil_tmp54 ;
10079  unsigned int __cil_tmp55 ;
10080  unsigned long __cil_tmp56 ;
10081  unsigned long __cil_tmp57 ;
10082  flstate_t __cil_tmp58 ;
10083  map_word *__cil_tmp59 ;
10084  unsigned long __cil_tmp60 ;
10085  unsigned long __cil_tmp61 ;
10086  map_word (*__cil_tmp62)(struct map_info * , unsigned long  ) ;
10087  map_word *__cil_tmp63 ;
10088  map_word __cil_tmp64 ;
10089  unsigned long __cil_tmp65 ;
10090  unsigned long __cil_tmp66 ;
10091  map_word *__cil_tmp67 ;
10092  map_word __cil_tmp68 ;
10093  unsigned long __cil_tmp69 ;
10094  unsigned long __cil_tmp70 ;
10095  struct mutex *__cil_tmp71 ;
10096  unsigned long __cil_tmp72 ;
10097  unsigned long __cil_tmp73 ;
10098  struct mutex *__cil_tmp74 ;
10099  unsigned long __cil_tmp75 ;
10100  unsigned long __cil_tmp76 ;
10101  uint32_t __cil_tmp77 ;
10102  unsigned int __cil_tmp78 ;
10103  unsigned long __cil_tmp79 ;
10104  unsigned long __cil_tmp80 ;
10105  uint8_t __cil_tmp81 ;
10106  int __cil_tmp82 ;
10107  u_long __cil_tmp83 ;
10108  unsigned long __cil_tmp84 ;
10109  unsigned long __cil_tmp85 ;
10110  void (*__cil_tmp86)(struct map_info * , map_word     , unsigned long  ) ;
10111  map_word    __cil_tmp87 ;
10112  u_long __cil_tmp88 ;
10113  unsigned long __cil_tmp89 ;
10114  unsigned long __cil_tmp90 ;
10115  void (*__cil_tmp91)(struct map_info * , map_word     , unsigned long  ) ;
10116  map_word    __cil_tmp92 ;
10117  unsigned long __cil_tmp93 ;
10118  unsigned long __cil_tmp94 ;
10119  unsigned long __cil_tmp95 ;
10120  unsigned long __cil_tmp96 ;
10121  map_word *__cil_tmp97 ;
10122  unsigned long __cil_tmp98 ;
10123  unsigned long __cil_tmp99 ;
10124  map_word (*__cil_tmp100)(struct map_info * , unsigned long  ) ;
10125  map_word *__cil_tmp101 ;
10126  map_word __cil_tmp102 ;
10127  long __cil_tmp103 ;
10128  long __cil_tmp104 ;
10129  long __cil_tmp105 ;
10130  char    *__cil_tmp106 ;
10131  unsigned long __cil_tmp107 ;
10132  unsigned long __cil_tmp108 ;
10133  unsigned long __cil_tmp109 ;
10134  unsigned long __cil_tmp110 ;
10135  unsigned long __cil_tmp111 ;
10136  unsigned long __cil_tmp112 ;
10137  struct mutex *__cil_tmp113 ;
10138  unsigned long __cil_tmp114 ;
10139  unsigned long __cil_tmp115 ;
10140  struct mutex *__cil_tmp116 ;
10141  unsigned long __cil_tmp117 ;
10142  unsigned long __cil_tmp118 ;
10143  unsigned long __cil_tmp119 ;
10144  unsigned long __cil_tmp120 ;
10145  uint8_t __cil_tmp121 ;
10146  int __cil_tmp122 ;
10147  int __cil_tmp123 ;
10148  unsigned long __cil_tmp124 ;
10149  unsigned long __cil_tmp125 ;
10150  unsigned long __cil_tmp126 ;
10151  unsigned long __cil_tmp127 ;
10152  unsigned long __cil_tmp128 ;
10153  unsigned long __cil_tmp129 ;
10154  unsigned long __cil_tmp130 ;
10155  unsigned long __cil_tmp131 ;
10156  flstate_t __cil_tmp132 ;
10157  unsigned int __cil_tmp133 ;
10158  unsigned long __cil_tmp134 ;
10159  unsigned long __cil_tmp135 ;
10160  wait_queue_head_t *__cil_tmp136 ;
10161  unsigned long __cil_tmp137 ;
10162  unsigned long __cil_tmp138 ;
10163  struct mutex *__cil_tmp139 ;
10164  unsigned long __cil_tmp140 ;
10165  unsigned long __cil_tmp141 ;
10166  wait_queue_head_t *__cil_tmp142 ;
10167  unsigned long __cil_tmp143 ;
10168  unsigned long __cil_tmp144 ;
10169  struct mutex *__cil_tmp145 ;
10170
10171  {
10172  {
10173#line 755
10174  tmp___7 = get_current();
10175#line 755
10176  __cil_tmp34 = & wait;
10177#line 755
10178  *((unsigned int *)__cil_tmp34) = 0U;
10179#line 755
10180  __cil_tmp35 = (unsigned long )(& wait) + 8;
10181#line 755
10182  *((void **)__cil_tmp35) = (void *)tmp___7;
10183#line 755
10184  __cil_tmp36 = (unsigned long )(& wait) + 16;
10185#line 755
10186  *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp36) = & default_wake_function;
10187#line 755
10188  __cil_tmp37 = (unsigned long )(& wait) + 24;
10189#line 755
10190  __cil_tmp38 = (void *)0;
10191#line 755
10192  *((struct list_head **)__cil_tmp37) = (struct list_head *)__cil_tmp38;
10193#line 755
10194  __cil_tmp39 = 24 + 8;
10195#line 755
10196  __cil_tmp40 = (unsigned long )(& wait) + __cil_tmp39;
10197#line 755
10198  __cil_tmp41 = (void *)0;
10199#line 755
10200  *((struct list_head **)__cil_tmp40) = (struct list_head *)__cil_tmp41;
10201#line 756
10202  __cil_tmp42 = (unsigned long )map;
10203#line 756
10204  __cil_tmp43 = __cil_tmp42 + 120;
10205#line 756
10206  __cil_tmp44 = *((void **)__cil_tmp43);
10207#line 756
10208  cfi = (struct cfi_private *)__cil_tmp44;
10209#line 757
10210  __cil_tmp45 = (u_long )128;
10211#line 757
10212  tmp___8 = cfi_build_cmd(__cil_tmp45, map, cfi);
10213#line 757
10214  status_OK = tmp___8;
10215#line 757
10216  __cil_tmp46 = (u_long )1;
10217#line 757
10218  tmp___9 = cfi_build_cmd(__cil_tmp46, map, cfi);
10219#line 757
10220  status_PWS = tmp___9;
10221#line 758
10222  __cil_tmp47 = (unsigned long )cfi;
10223#line 758
10224  __cil_tmp48 = __cil_tmp47 + 8;
10225#line 758
10226  __cil_tmp49 = *((void **)__cil_tmp48);
10227#line 758
10228  cfip = (struct cfi_pri_intelext *)__cil_tmp49;
10229#line 759
10230  __cil_tmp50 = (unsigned long volatile   )250;
10231#line 759
10232  __cil_tmp51 = jiffies + __cil_tmp50;
10233#line 759
10234  timeo = (unsigned long )__cil_tmp51;
10235  }
10236#line 762
10237  if (mode == 13) {
10238    {
10239#line 762
10240    __cil_tmp52 = (unsigned long )chip;
10241#line 762
10242    __cil_tmp53 = __cil_tmp52 + 16;
10243#line 762
10244    __cil_tmp54 = *((flstate_t *)__cil_tmp53);
10245#line 762
10246    __cil_tmp55 = (unsigned int )__cil_tmp54;
10247#line 762
10248    if (__cil_tmp55 != 0U) {
10249#line 763
10250      goto sleep;
10251    } else {
10252
10253    }
10254    }
10255  } else {
10256
10257  }
10258  {
10259#line 765
10260  __cil_tmp56 = (unsigned long )chip;
10261#line 765
10262  __cil_tmp57 = __cil_tmp56 + 12;
10263#line 765
10264  __cil_tmp58 = *((flstate_t *)__cil_tmp57);
10265#line 767
10266  if ((int )__cil_tmp58 == 1) {
10267#line 767
10268    goto case_1;
10269  } else
10270#line 785
10271  if ((int )__cil_tmp58 == 0) {
10272#line 785
10273    goto case_0;
10274  } else
10275#line 786
10276  if ((int )__cil_tmp58 == 2) {
10277#line 786
10278    goto case_0;
10279  } else
10280#line 787
10281  if ((int )__cil_tmp58 == 3) {
10282#line 787
10283    goto case_0;
10284  } else
10285#line 790
10286  if ((int )__cil_tmp58 == 4) {
10287#line 790
10288    goto case_4;
10289  } else
10290#line 833
10291  if ((int )__cil_tmp58 == 18) {
10292#line 833
10293    goto case_18;
10294  } else
10295#line 841
10296  if ((int )__cil_tmp58 == 20) {
10297#line 841
10298    goto case_20;
10299  } else
10300#line 844
10301  if ((int )__cil_tmp58 == 17) {
10302#line 844
10303    goto case_17;
10304  } else {
10305    {
10306#line 849
10307    goto sleep;
10308#line 765
10309    if (0) {
10310      case_1: /* CIL Label */ 
10311      {
10312#line 768
10313      while (1) {
10314        while_continue: /* CIL Label */ ;
10315        {
10316#line 769
10317        __cil_tmp59 = & status;
10318#line 769
10319        __cil_tmp60 = (unsigned long )map;
10320#line 769
10321        __cil_tmp61 = __cil_tmp60 + 48;
10322#line 769
10323        __cil_tmp62 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp61);
10324#line 769
10325        *__cil_tmp59 = (*__cil_tmp62)(map, adr);
10326#line 770
10327        __cil_tmp63 = & status;
10328#line 770
10329        __cil_tmp64 = *__cil_tmp63;
10330#line 770
10331        tmp___10 = map_word_and(map, __cil_tmp64, status_OK);
10332#line 770
10333        tmp___11 = map_word_equal(map, status_OK, tmp___10);
10334        }
10335#line 770
10336        if (tmp___11) {
10337#line 771
10338          goto while_break;
10339        } else {
10340
10341        }
10342        {
10343#line 775
10344        __cil_tmp65 = (unsigned long )chip;
10345#line 775
10346        __cil_tmp66 = __cil_tmp65 + 168;
10347#line 775
10348        if (*((void **)__cil_tmp66)) {
10349          {
10350#line 775
10351          __cil_tmp67 = & status;
10352#line 775
10353          __cil_tmp68 = *__cil_tmp67;
10354#line 775
10355          tmp___12 = map_word_and(map, __cil_tmp68, status_PWS);
10356#line 775
10357          tmp___13 = map_word_equal(map, status_PWS, tmp___12);
10358          }
10359#line 775
10360          if (tmp___13) {
10361#line 776
10362            goto while_break;
10363          } else {
10364
10365          }
10366        } else {
10367
10368        }
10369        }
10370        {
10371#line 778
10372        __cil_tmp69 = (unsigned long )chip;
10373#line 778
10374        __cil_tmp70 = __cil_tmp69 + 32;
10375#line 778
10376        __cil_tmp71 = (struct mutex *)__cil_tmp70;
10377#line 778
10378        mutex_unlock(__cil_tmp71);
10379#line 779
10380        cfi_udelay(1);
10381#line 780
10382        __cil_tmp72 = (unsigned long )chip;
10383#line 780
10384        __cil_tmp73 = __cil_tmp72 + 32;
10385#line 780
10386        __cil_tmp74 = (struct mutex *)__cil_tmp73;
10387#line 780
10388        mutex_lock(__cil_tmp74);
10389        }
10390#line 782
10391        return (-11);
10392      }
10393      while_break: /* CIL Label */ ;
10394      }
10395      case_0: /* CIL Label */ 
10396      case_2: /* CIL Label */ 
10397      case_3: /* CIL Label */ 
10398#line 788
10399      return (0);
10400      case_4: /* CIL Label */ 
10401#line 791
10402      if (! cfip) {
10403#line 795
10404        goto sleep;
10405      } else {
10406        {
10407#line 791
10408        __cil_tmp75 = (unsigned long )cfip;
10409#line 791
10410        __cil_tmp76 = __cil_tmp75 + 5;
10411#line 791
10412        __cil_tmp77 = *((uint32_t *)__cil_tmp76);
10413#line 791
10414        __cil_tmp78 = __cil_tmp77 & 2U;
10415#line 791
10416        if (! __cil_tmp78) {
10417#line 795
10418          goto sleep;
10419        } else
10420#line 791
10421        if (mode == 0) {
10422
10423        } else
10424#line 791
10425        if (mode == 17) {
10426
10427        } else
10428#line 791
10429        if (mode == 7) {
10430          {
10431#line 791
10432          __cil_tmp79 = (unsigned long )cfip;
10433#line 791
10434          __cil_tmp80 = __cil_tmp79 + 9;
10435#line 791
10436          __cil_tmp81 = *((uint8_t *)__cil_tmp80);
10437#line 791
10438          __cil_tmp82 = (int )__cil_tmp81;
10439#line 791
10440          if (__cil_tmp82 & 1) {
10441
10442          } else {
10443#line 795
10444            goto sleep;
10445          }
10446          }
10447        } else {
10448#line 795
10449          goto sleep;
10450        }
10451        }
10452      }
10453      {
10454#line 799
10455      __cil_tmp83 = (u_long )176;
10456#line 799
10457      tmp___14 = cfi_build_cmd(__cil_tmp83, map, cfi);
10458#line 799
10459      __cil_tmp84 = (unsigned long )map;
10460#line 799
10461      __cil_tmp85 = __cil_tmp84 + 64;
10462#line 799
10463      __cil_tmp86 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp85);
10464#line 799
10465      __cil_tmp87 = (map_word    )tmp___14;
10466#line 799
10467      (*__cil_tmp86)(map, __cil_tmp87, adr);
10468#line 806
10469      __cil_tmp88 = (u_long )112;
10470#line 806
10471      tmp___15 = cfi_build_cmd(__cil_tmp88, map, cfi);
10472#line 806
10473      __cil_tmp89 = (unsigned long )map;
10474#line 806
10475      __cil_tmp90 = __cil_tmp89 + 64;
10476#line 806
10477      __cil_tmp91 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp90);
10478#line 806
10479      __cil_tmp92 = (map_word    )tmp___15;
10480#line 806
10481      (*__cil_tmp91)(map, __cil_tmp92, adr);
10482#line 807
10483      __cil_tmp93 = (unsigned long )chip;
10484#line 807
10485      __cil_tmp94 = __cil_tmp93 + 16;
10486#line 807
10487      *((flstate_t *)__cil_tmp94) = (flstate_t )4;
10488#line 808
10489      __cil_tmp95 = (unsigned long )chip;
10490#line 808
10491      __cil_tmp96 = __cil_tmp95 + 12;
10492#line 808
10493      *((flstate_t *)__cil_tmp96) = (flstate_t )5;
10494#line 809
10495      chip->erase_suspended = 1U;
10496      }
10497      {
10498#line 810
10499      while (1) {
10500        while_continue___0: /* CIL Label */ ;
10501        {
10502#line 811
10503        __cil_tmp97 = & status;
10504#line 811
10505        __cil_tmp98 = (unsigned long )map;
10506#line 811
10507        __cil_tmp99 = __cil_tmp98 + 48;
10508#line 811
10509        __cil_tmp100 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp99);
10510#line 811
10511        *__cil_tmp97 = (*__cil_tmp100)(map, adr);
10512#line 812
10513        __cil_tmp101 = & status;
10514#line 812
10515        __cil_tmp102 = *__cil_tmp101;
10516#line 812
10517        tmp___16 = map_word_and(map, __cil_tmp102, status_OK);
10518#line 812
10519        tmp___17 = map_word_equal(map, status_OK, tmp___16);
10520        }
10521#line 812
10522        if (tmp___17) {
10523#line 813
10524          goto while_break___0;
10525        } else {
10526
10527        }
10528        {
10529#line 815
10530        __cil_tmp103 = (long )jiffies;
10531#line 815
10532        __cil_tmp104 = (long )timeo;
10533#line 815
10534        __cil_tmp105 = __cil_tmp104 - __cil_tmp103;
10535#line 815
10536        if (__cil_tmp105 < 0L) {
10537          {
10538#line 818
10539          put_chip(map, chip, adr);
10540#line 819
10541          __cil_tmp106 = *((char    **)map);
10542#line 819
10543          __cil_tmp107 = 0 * 8UL;
10544#line 819
10545          __cil_tmp108 = 0 + __cil_tmp107;
10546#line 819
10547          __cil_tmp109 = (unsigned long )(& status) + __cil_tmp108;
10548#line 819
10549          __cil_tmp110 = *((unsigned long *)__cil_tmp109);
10550#line 819
10551          printk("<3>%s: Chip not ready after erase suspended: status = 0x%lx\n",
10552                 __cil_tmp106, __cil_tmp110);
10553          }
10554#line 821
10555          return (-5);
10556        } else {
10557
10558        }
10559        }
10560        {
10561#line 824
10562        __cil_tmp111 = (unsigned long )chip;
10563#line 824
10564        __cil_tmp112 = __cil_tmp111 + 32;
10565#line 824
10566        __cil_tmp113 = (struct mutex *)__cil_tmp112;
10567#line 824
10568        mutex_unlock(__cil_tmp113);
10569#line 825
10570        cfi_udelay(1);
10571#line 826
10572        __cil_tmp114 = (unsigned long )chip;
10573#line 826
10574        __cil_tmp115 = __cil_tmp114 + 32;
10575#line 826
10576        __cil_tmp116 = (struct mutex *)__cil_tmp115;
10577#line 826
10578        mutex_lock(__cil_tmp116);
10579        }
10580      }
10581      while_break___0: /* CIL Label */ ;
10582      }
10583#line 830
10584      __cil_tmp117 = (unsigned long )chip;
10585#line 830
10586      __cil_tmp118 = __cil_tmp117 + 12;
10587#line 830
10588      *((flstate_t *)__cil_tmp118) = (flstate_t )1;
10589#line 831
10590      return (0);
10591      case_18: /* CIL Label */ 
10592#line 834
10593      if (mode != 0) {
10594#line 834
10595        if (mode != 17) {
10596#line 834
10597          if (mode != 7) {
10598#line 836
10599            goto sleep;
10600          } else
10601#line 834
10602          if (! cfip) {
10603#line 836
10604            goto sleep;
10605          } else {
10606            {
10607#line 834
10608            __cil_tmp119 = (unsigned long )cfip;
10609#line 834
10610            __cil_tmp120 = __cil_tmp119 + 9;
10611#line 834
10612            __cil_tmp121 = *((uint8_t *)__cil_tmp120);
10613#line 834
10614            __cil_tmp122 = (int )__cil_tmp121;
10615#line 834
10616            __cil_tmp123 = __cil_tmp122 & 1;
10617#line 834
10618            if (! __cil_tmp123) {
10619#line 836
10620              goto sleep;
10621            } else {
10622
10623            }
10624            }
10625          }
10626        } else {
10627
10628        }
10629      } else {
10630
10631      }
10632#line 837
10633      __cil_tmp124 = (unsigned long )chip;
10634#line 837
10635      __cil_tmp125 = __cil_tmp124 + 16;
10636#line 837
10637      __cil_tmp126 = (unsigned long )chip;
10638#line 837
10639      __cil_tmp127 = __cil_tmp126 + 12;
10640#line 837
10641      *((flstate_t *)__cil_tmp125) = *((flstate_t *)__cil_tmp127);
10642#line 838
10643      __cil_tmp128 = (unsigned long )chip;
10644#line 838
10645      __cil_tmp129 = __cil_tmp128 + 12;
10646#line 838
10647      *((flstate_t *)__cil_tmp129) = (flstate_t )0;
10648#line 839
10649      return (0);
10650      case_20: /* CIL Label */ 
10651#line 843
10652      return (-5);
10653      case_17: /* CIL Label */ 
10654#line 846
10655      if (mode == 0) {
10656        {
10657#line 846
10658        __cil_tmp130 = (unsigned long )chip;
10659#line 846
10660        __cil_tmp131 = __cil_tmp130 + 16;
10661#line 846
10662        __cil_tmp132 = *((flstate_t *)__cil_tmp131);
10663#line 846
10664        __cil_tmp133 = (unsigned int )__cil_tmp132;
10665#line 846
10666        if (__cil_tmp133 == 0U) {
10667#line 847
10668          return (0);
10669        } else {
10670
10671        }
10672        }
10673      } else {
10674
10675      }
10676      sleep: 
10677      switch_default: /* CIL Label */ 
10678      {
10679#line 851
10680      while (1) {
10681        while_continue___1: /* CIL Label */ ;
10682#line 851
10683        __ret = (long volatile   )2;
10684#line 851
10685        if ((int )8UL == 1) {
10686#line 851
10687          goto case_1___0;
10688        } else
10689#line 851
10690        if ((int )8UL == 2) {
10691#line 851
10692          goto case_2___0;
10693        } else
10694#line 851
10695        if ((int )8UL == 4) {
10696#line 851
10697          goto case_4___0;
10698        } else
10699#line 851
10700        if ((int )8UL == 8) {
10701#line 851
10702          goto case_8;
10703        } else {
10704          {
10705#line 851
10706          goto switch_default___0;
10707#line 851
10708          if (0) {
10709            case_1___0: /* CIL Label */ 
10710            {
10711#line 851
10712            tmp___20 = get_current();
10713#line 851
10714            __asm__  volatile   (""
10715                                 "xchg"
10716                                 "b %b0, %1\n": "+q" (__ret), "+m" (*((long volatile   *)tmp___20)): : "memory",
10717                                 "cc");
10718            }
10719#line 851
10720            goto switch_break___0;
10721            case_2___0: /* CIL Label */ 
10722            {
10723#line 851
10724            tmp___21 = get_current();
10725#line 851
10726            __asm__  volatile   (""
10727                                 "xchg"
10728                                 "w %w0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___21)): : "memory",
10729                                 "cc");
10730            }
10731#line 851
10732            goto switch_break___0;
10733            case_4___0: /* CIL Label */ 
10734            {
10735#line 851
10736            tmp___22 = get_current();
10737#line 851
10738            __asm__  volatile   (""
10739                                 "xchg"
10740                                 "l %0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___22)): : "memory",
10741                                 "cc");
10742            }
10743#line 851
10744            goto switch_break___0;
10745            case_8: /* CIL Label */ 
10746            {
10747#line 851
10748            tmp___23 = get_current();
10749#line 851
10750            __asm__  volatile   (""
10751                                 "xchg"
10752                                 "q %q0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___23)): : "memory",
10753                                 "cc");
10754            }
10755#line 851
10756            goto switch_break___0;
10757            switch_default___0: /* CIL Label */ 
10758            {
10759#line 851
10760            __xchg_wrong_size();
10761            }
10762          } else {
10763            switch_break___0: /* CIL Label */ ;
10764          }
10765          }
10766        }
10767#line 851
10768        goto while_break___1;
10769      }
10770      while_break___1: /* CIL Label */ ;
10771      }
10772      {
10773#line 852
10774      __cil_tmp134 = (unsigned long )chip;
10775#line 852
10776      __cil_tmp135 = __cil_tmp134 + 104;
10777#line 852
10778      __cil_tmp136 = (wait_queue_head_t *)__cil_tmp135;
10779#line 852
10780      add_wait_queue(__cil_tmp136, & wait);
10781#line 853
10782      __cil_tmp137 = (unsigned long )chip;
10783#line 853
10784      __cil_tmp138 = __cil_tmp137 + 32;
10785#line 853
10786      __cil_tmp139 = (struct mutex *)__cil_tmp138;
10787#line 853
10788      mutex_unlock(__cil_tmp139);
10789#line 854
10790      schedule();
10791#line 855
10792      __cil_tmp140 = (unsigned long )chip;
10793#line 855
10794      __cil_tmp141 = __cil_tmp140 + 104;
10795#line 855
10796      __cil_tmp142 = (wait_queue_head_t *)__cil_tmp141;
10797#line 855
10798      remove_wait_queue(__cil_tmp142, & wait);
10799#line 856
10800      __cil_tmp143 = (unsigned long )chip;
10801#line 856
10802      __cil_tmp144 = __cil_tmp143 + 32;
10803#line 856
10804      __cil_tmp145 = (struct mutex *)__cil_tmp144;
10805#line 856
10806      mutex_lock(__cil_tmp145);
10807      }
10808#line 857
10809      return (-11);
10810    } else {
10811      switch_break: /* CIL Label */ ;
10812    }
10813    }
10814  }
10815  }
10816}
10817}
10818#line 861 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
10819static int get_chip(struct map_info *map , struct flchip *chip , unsigned long adr ,
10820                    int mode ) 
10821{ int ret ;
10822  wait_queue_t wait ;
10823  struct task_struct *tmp___7 ;
10824  struct flchip_shared *shared ;
10825  struct flchip *contender ;
10826  long volatile   __ret ;
10827  struct task_struct *tmp___9 ;
10828  struct task_struct *tmp___10 ;
10829  struct task_struct *tmp___11 ;
10830  struct task_struct *tmp___12 ;
10831  struct task_struct *tmp___13 ;
10832  wait_queue_t *__cil_tmp17 ;
10833  unsigned long __cil_tmp18 ;
10834  unsigned long __cil_tmp19 ;
10835  unsigned long __cil_tmp20 ;
10836  void *__cil_tmp21 ;
10837  unsigned long __cil_tmp22 ;
10838  unsigned long __cil_tmp23 ;
10839  void *__cil_tmp24 ;
10840  unsigned long __cil_tmp25 ;
10841  unsigned long __cil_tmp26 ;
10842  unsigned long __cil_tmp27 ;
10843  unsigned long __cil_tmp28 ;
10844  flstate_t __cil_tmp29 ;
10845  unsigned int __cil_tmp30 ;
10846  unsigned long __cil_tmp31 ;
10847  unsigned long __cil_tmp32 ;
10848  void *__cil_tmp33 ;
10849  struct mutex *__cil_tmp34 ;
10850  unsigned long __cil_tmp35 ;
10851  unsigned long __cil_tmp36 ;
10852  unsigned long __cil_tmp37 ;
10853  unsigned long __cil_tmp38 ;
10854  unsigned long __cil_tmp39 ;
10855  unsigned long __cil_tmp40 ;
10856  struct mutex *__cil_tmp41 ;
10857  struct mutex *__cil_tmp42 ;
10858  unsigned long __cil_tmp43 ;
10859  unsigned long __cil_tmp44 ;
10860  struct mutex *__cil_tmp45 ;
10861  unsigned long __cil_tmp46 ;
10862  unsigned long __cil_tmp47 ;
10863  unsigned long __cil_tmp48 ;
10864  struct mutex *__cil_tmp49 ;
10865  unsigned long __cil_tmp50 ;
10866  unsigned long __cil_tmp51 ;
10867  struct mutex *__cil_tmp52 ;
10868  unsigned long __cil_tmp53 ;
10869  unsigned long __cil_tmp54 ;
10870  struct mutex *__cil_tmp55 ;
10871  struct mutex *__cil_tmp56 ;
10872  unsigned long __cil_tmp57 ;
10873  unsigned long __cil_tmp58 ;
10874  flstate_t __cil_tmp59 ;
10875  unsigned int __cil_tmp60 ;
10876  unsigned long __cil_tmp61 ;
10877  unsigned long __cil_tmp62 ;
10878  unsigned long __cil_tmp63 ;
10879  struct mutex *__cil_tmp64 ;
10880  unsigned long __cil_tmp65 ;
10881  unsigned long __cil_tmp66 ;
10882  struct mutex *__cil_tmp67 ;
10883  unsigned long __cil_tmp68 ;
10884  unsigned long __cil_tmp69 ;
10885  unsigned long __cil_tmp70 ;
10886  unsigned long __cil_tmp71 ;
10887  struct flchip *__cil_tmp72 ;
10888  unsigned long __cil_tmp73 ;
10889  unsigned long __cil_tmp74 ;
10890  flstate_t __cil_tmp75 ;
10891  unsigned int __cil_tmp76 ;
10892  struct mutex *__cil_tmp77 ;
10893  unsigned long __cil_tmp78 ;
10894  unsigned long __cil_tmp79 ;
10895  wait_queue_head_t *__cil_tmp80 ;
10896  unsigned long __cil_tmp81 ;
10897  unsigned long __cil_tmp82 ;
10898  struct mutex *__cil_tmp83 ;
10899  unsigned long __cil_tmp84 ;
10900  unsigned long __cil_tmp85 ;
10901  wait_queue_head_t *__cil_tmp86 ;
10902  unsigned long __cil_tmp87 ;
10903  unsigned long __cil_tmp88 ;
10904  struct mutex *__cil_tmp89 ;
10905  unsigned long __cil_tmp90 ;
10906  unsigned long __cil_tmp91 ;
10907  unsigned long __cil_tmp92 ;
10908  unsigned long __cil_tmp93 ;
10909  struct mutex *__cil_tmp94 ;
10910
10911  {
10912  {
10913#line 864
10914  tmp___7 = get_current();
10915#line 864
10916  __cil_tmp17 = & wait;
10917#line 864
10918  *((unsigned int *)__cil_tmp17) = 0U;
10919#line 864
10920  __cil_tmp18 = (unsigned long )(& wait) + 8;
10921#line 864
10922  *((void **)__cil_tmp18) = (void *)tmp___7;
10923#line 864
10924  __cil_tmp19 = (unsigned long )(& wait) + 16;
10925#line 864
10926  *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp19) = & default_wake_function;
10927#line 864
10928  __cil_tmp20 = (unsigned long )(& wait) + 24;
10929#line 864
10930  __cil_tmp21 = (void *)0;
10931#line 864
10932  *((struct list_head **)__cil_tmp20) = (struct list_head *)__cil_tmp21;
10933#line 864
10934  __cil_tmp22 = 24 + 8;
10935#line 864
10936  __cil_tmp23 = (unsigned long )(& wait) + __cil_tmp22;
10937#line 864
10938  __cil_tmp24 = (void *)0;
10939#line 864
10940  *((struct list_head **)__cil_tmp23) = (struct list_head *)__cil_tmp24;
10941  }
10942  retry: 
10943  {
10944#line 867
10945  __cil_tmp25 = (unsigned long )chip;
10946#line 867
10947  __cil_tmp26 = __cil_tmp25 + 168;
10948#line 867
10949  if (*((void **)__cil_tmp26)) {
10950#line 867
10951    if (mode == 7) {
10952#line 867
10953      goto _L;
10954    } else
10955#line 867
10956    if (mode == 4) {
10957#line 867
10958      goto _L;
10959    } else
10960#line 867
10961    if (mode == 9) {
10962#line 867
10963      goto _L;
10964    } else
10965#line 867
10966    if (mode == 20) {
10967      _L: /* CIL Label */ 
10968      {
10969#line 867
10970      __cil_tmp27 = (unsigned long )chip;
10971#line 867
10972      __cil_tmp28 = __cil_tmp27 + 12;
10973#line 867
10974      __cil_tmp29 = *((flstate_t *)__cil_tmp28);
10975#line 867
10976      __cil_tmp30 = (unsigned int )__cil_tmp29;
10977#line 867
10978      if (__cil_tmp30 != 13U) {
10979        {
10980#line 888
10981        __cil_tmp31 = (unsigned long )chip;
10982#line 888
10983        __cil_tmp32 = __cil_tmp31 + 168;
10984#line 888
10985        __cil_tmp33 = *((void **)__cil_tmp32);
10986#line 888
10987        shared = (struct flchip_shared *)__cil_tmp33;
10988#line 890
10989        __cil_tmp34 = (struct mutex *)shared;
10990#line 890
10991        mutex_lock(__cil_tmp34);
10992#line 891
10993        __cil_tmp35 = (unsigned long )shared;
10994#line 891
10995        __cil_tmp36 = __cil_tmp35 + 72;
10996#line 891
10997        contender = *((struct flchip **)__cil_tmp36);
10998        }
10999#line 892
11000        if (contender) {
11001          {
11002#line 892
11003          __cil_tmp37 = (unsigned long )chip;
11004#line 892
11005          __cil_tmp38 = (unsigned long )contender;
11006#line 892
11007          if (__cil_tmp38 != __cil_tmp37) {
11008            {
11009#line 902
11010            __cil_tmp39 = (unsigned long )contender;
11011#line 902
11012            __cil_tmp40 = __cil_tmp39 + 32;
11013#line 902
11014            __cil_tmp41 = (struct mutex *)__cil_tmp40;
11015#line 902
11016            ret = mutex_trylock(__cil_tmp41);
11017#line 903
11018            __cil_tmp42 = (struct mutex *)shared;
11019#line 903
11020            mutex_unlock(__cil_tmp42);
11021            }
11022#line 904
11023            if (! ret) {
11024#line 905
11025              goto retry;
11026            } else {
11027
11028            }
11029            {
11030#line 906
11031            __cil_tmp43 = (unsigned long )chip;
11032#line 906
11033            __cil_tmp44 = __cil_tmp43 + 32;
11034#line 906
11035            __cil_tmp45 = (struct mutex *)__cil_tmp44;
11036#line 906
11037            mutex_unlock(__cil_tmp45);
11038#line 907
11039            __cil_tmp46 = *((unsigned long *)contender);
11040#line 907
11041            ret = chip_ready(map, contender, __cil_tmp46, mode);
11042#line 908
11043            __cil_tmp47 = (unsigned long )chip;
11044#line 908
11045            __cil_tmp48 = __cil_tmp47 + 32;
11046#line 908
11047            __cil_tmp49 = (struct mutex *)__cil_tmp48;
11048#line 908
11049            mutex_lock(__cil_tmp49);
11050            }
11051#line 910
11052            if (ret == -11) {
11053              {
11054#line 911
11055              __cil_tmp50 = (unsigned long )contender;
11056#line 911
11057              __cil_tmp51 = __cil_tmp50 + 32;
11058#line 911
11059              __cil_tmp52 = (struct mutex *)__cil_tmp51;
11060#line 911
11061              mutex_unlock(__cil_tmp52);
11062              }
11063#line 912
11064              goto retry;
11065            } else {
11066
11067            }
11068#line 914
11069            if (ret) {
11070              {
11071#line 915
11072              __cil_tmp53 = (unsigned long )contender;
11073#line 915
11074              __cil_tmp54 = __cil_tmp53 + 32;
11075#line 915
11076              __cil_tmp55 = (struct mutex *)__cil_tmp54;
11077#line 915
11078              mutex_unlock(__cil_tmp55);
11079              }
11080#line 916
11081              return (ret);
11082            } else {
11083
11084            }
11085            {
11086#line 918
11087            __cil_tmp56 = (struct mutex *)shared;
11088#line 918
11089            mutex_lock(__cil_tmp56);
11090            }
11091            {
11092#line 922
11093            __cil_tmp57 = (unsigned long )chip;
11094#line 922
11095            __cil_tmp58 = __cil_tmp57 + 12;
11096#line 922
11097            __cil_tmp59 = *((flstate_t *)__cil_tmp58);
11098#line 922
11099            __cil_tmp60 = (unsigned int )__cil_tmp59;
11100#line 922
11101            if (__cil_tmp60 == 13U) {
11102              {
11103#line 923
11104              __cil_tmp61 = *((unsigned long *)contender);
11105#line 923
11106              put_chip(map, contender, __cil_tmp61);
11107#line 924
11108              __cil_tmp62 = (unsigned long )contender;
11109#line 924
11110              __cil_tmp63 = __cil_tmp62 + 32;
11111#line 924
11112              __cil_tmp64 = (struct mutex *)__cil_tmp63;
11113#line 924
11114              mutex_unlock(__cil_tmp64);
11115              }
11116#line 925
11117              goto retry;
11118            } else {
11119
11120            }
11121            }
11122            {
11123#line 927
11124            __cil_tmp65 = (unsigned long )contender;
11125#line 927
11126            __cil_tmp66 = __cil_tmp65 + 32;
11127#line 927
11128            __cil_tmp67 = (struct mutex *)__cil_tmp66;
11129#line 927
11130            mutex_unlock(__cil_tmp67);
11131            }
11132          } else {
11133
11134          }
11135          }
11136        } else {
11137
11138        }
11139#line 932
11140        if (mode == 4) {
11141          {
11142#line 932
11143          __cil_tmp68 = (unsigned long )shared;
11144#line 932
11145          __cil_tmp69 = __cil_tmp68 + 80;
11146#line 932
11147          if (*((struct flchip **)__cil_tmp69)) {
11148            {
11149#line 932
11150            __cil_tmp70 = (unsigned long )shared;
11151#line 932
11152            __cil_tmp71 = __cil_tmp70 + 80;
11153#line 932
11154            __cil_tmp72 = *((struct flchip **)__cil_tmp71);
11155#line 932
11156            __cil_tmp73 = (unsigned long )__cil_tmp72;
11157#line 932
11158            __cil_tmp74 = __cil_tmp73 + 16;
11159#line 932
11160            __cil_tmp75 = *((flstate_t *)__cil_tmp74);
11161#line 932
11162            __cil_tmp76 = (unsigned int )__cil_tmp75;
11163#line 932
11164            if (__cil_tmp76 == 4U) {
11165              {
11166#line 934
11167              __cil_tmp77 = (struct mutex *)shared;
11168#line 934
11169              mutex_unlock(__cil_tmp77);
11170              }
11171              {
11172#line 935
11173              while (1) {
11174                while_continue: /* CIL Label */ ;
11175#line 935
11176                __ret = (long volatile   )2;
11177#line 935
11178                if ((int )8UL == 1) {
11179#line 935
11180                  goto case_1;
11181                } else
11182#line 935
11183                if ((int )8UL == 2) {
11184#line 935
11185                  goto case_2;
11186                } else
11187#line 935
11188                if ((int )8UL == 4) {
11189#line 935
11190                  goto case_4;
11191                } else
11192#line 935
11193                if ((int )8UL == 8) {
11194#line 935
11195                  goto case_8;
11196                } else {
11197                  {
11198#line 935
11199                  goto switch_default;
11200#line 935
11201                  if (0) {
11202                    case_1: /* CIL Label */ 
11203                    {
11204#line 935
11205                    tmp___10 = get_current();
11206#line 935
11207                    __asm__  volatile   (""
11208                                         "xchg"
11209                                         "b %b0, %1\n": "+q" (__ret), "+m" (*((long volatile   *)tmp___10)): : "memory",
11210                                         "cc");
11211                    }
11212#line 935
11213                    goto switch_break;
11214                    case_2: /* CIL Label */ 
11215                    {
11216#line 935
11217                    tmp___11 = get_current();
11218#line 935
11219                    __asm__  volatile   (""
11220                                         "xchg"
11221                                         "w %w0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___11)): : "memory",
11222                                         "cc");
11223                    }
11224#line 935
11225                    goto switch_break;
11226                    case_4: /* CIL Label */ 
11227                    {
11228#line 935
11229                    tmp___12 = get_current();
11230#line 935
11231                    __asm__  volatile   (""
11232                                         "xchg"
11233                                         "l %0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___12)): : "memory",
11234                                         "cc");
11235                    }
11236#line 935
11237                    goto switch_break;
11238                    case_8: /* CIL Label */ 
11239                    {
11240#line 935
11241                    tmp___13 = get_current();
11242#line 935
11243                    __asm__  volatile   (""
11244                                         "xchg"
11245                                         "q %q0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___13)): : "memory",
11246                                         "cc");
11247                    }
11248#line 935
11249                    goto switch_break;
11250                    switch_default: /* CIL Label */ 
11251                    {
11252#line 935
11253                    __xchg_wrong_size();
11254                    }
11255                  } else {
11256                    switch_break: /* CIL Label */ ;
11257                  }
11258                  }
11259                }
11260#line 935
11261                goto while_break;
11262              }
11263              while_break: /* CIL Label */ ;
11264              }
11265              {
11266#line 936
11267              __cil_tmp78 = (unsigned long )chip;
11268#line 936
11269              __cil_tmp79 = __cil_tmp78 + 104;
11270#line 936
11271              __cil_tmp80 = (wait_queue_head_t *)__cil_tmp79;
11272#line 936
11273              add_wait_queue(__cil_tmp80, & wait);
11274#line 937
11275              __cil_tmp81 = (unsigned long )chip;
11276#line 937
11277              __cil_tmp82 = __cil_tmp81 + 32;
11278#line 937
11279              __cil_tmp83 = (struct mutex *)__cil_tmp82;
11280#line 937
11281              mutex_unlock(__cil_tmp83);
11282#line 938
11283              schedule();
11284#line 939
11285              __cil_tmp84 = (unsigned long )chip;
11286#line 939
11287              __cil_tmp85 = __cil_tmp84 + 104;
11288#line 939
11289              __cil_tmp86 = (wait_queue_head_t *)__cil_tmp85;
11290#line 939
11291              remove_wait_queue(__cil_tmp86, & wait);
11292#line 940
11293              __cil_tmp87 = (unsigned long )chip;
11294#line 940
11295              __cil_tmp88 = __cil_tmp87 + 32;
11296#line 940
11297              __cil_tmp89 = (struct mutex *)__cil_tmp88;
11298#line 940
11299              mutex_lock(__cil_tmp89);
11300              }
11301#line 941
11302              goto retry;
11303            } else {
11304
11305            }
11306            }
11307          } else {
11308
11309          }
11310          }
11311        } else {
11312
11313        }
11314#line 945
11315        __cil_tmp90 = (unsigned long )shared;
11316#line 945
11317        __cil_tmp91 = __cil_tmp90 + 72;
11318#line 945
11319        *((struct flchip **)__cil_tmp91) = chip;
11320#line 946
11321        if (mode == 4) {
11322#line 947
11323          __cil_tmp92 = (unsigned long )shared;
11324#line 947
11325          __cil_tmp93 = __cil_tmp92 + 80;
11326#line 947
11327          *((struct flchip **)__cil_tmp93) = chip;
11328        } else {
11329
11330        }
11331        {
11332#line 948
11333        __cil_tmp94 = (struct mutex *)shared;
11334#line 948
11335        mutex_unlock(__cil_tmp94);
11336        }
11337      } else {
11338
11339      }
11340      }
11341    } else {
11342
11343    }
11344  } else {
11345
11346  }
11347  }
11348  {
11349#line 950
11350  ret = chip_ready(map, chip, adr, mode);
11351  }
11352#line 951
11353  if (ret == -11) {
11354#line 952
11355    goto retry;
11356  } else {
11357
11358  }
11359#line 954
11360  return (ret);
11361}
11362}
11363#line 957 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
11364static void put_chip(struct map_info *map , struct flchip *chip , unsigned long adr ) 
11365{ struct cfi_private *cfi ;
11366  struct flchip_shared *shared ;
11367  struct flchip *loaner ;
11368  map_word tmp___7 ;
11369  map_word tmp___8 ;
11370  unsigned long __cil_tmp9 ;
11371  unsigned long __cil_tmp10 ;
11372  void *__cil_tmp11 ;
11373  unsigned long __cil_tmp12 ;
11374  unsigned long __cil_tmp13 ;
11375  unsigned long __cil_tmp14 ;
11376  unsigned long __cil_tmp15 ;
11377  void *__cil_tmp16 ;
11378  struct mutex *__cil_tmp17 ;
11379  unsigned long __cil_tmp18 ;
11380  unsigned long __cil_tmp19 ;
11381  unsigned long __cil_tmp20 ;
11382  struct flchip *__cil_tmp21 ;
11383  unsigned long __cil_tmp22 ;
11384  unsigned long __cil_tmp23 ;
11385  unsigned long __cil_tmp24 ;
11386  flstate_t __cil_tmp25 ;
11387  unsigned int __cil_tmp26 ;
11388  unsigned long __cil_tmp27 ;
11389  unsigned long __cil_tmp28 ;
11390  unsigned long __cil_tmp29 ;
11391  unsigned long __cil_tmp30 ;
11392  unsigned long __cil_tmp31 ;
11393  unsigned long __cil_tmp32 ;
11394  unsigned long __cil_tmp33 ;
11395  unsigned long __cil_tmp34 ;
11396  unsigned long __cil_tmp35 ;
11397  struct flchip *__cil_tmp36 ;
11398  unsigned long __cil_tmp37 ;
11399  unsigned long __cil_tmp38 ;
11400  unsigned long __cil_tmp39 ;
11401  unsigned long __cil_tmp40 ;
11402  unsigned long __cil_tmp41 ;
11403  struct mutex *__cil_tmp42 ;
11404  struct mutex *__cil_tmp43 ;
11405  unsigned long __cil_tmp44 ;
11406  unsigned long __cil_tmp45 ;
11407  struct mutex *__cil_tmp46 ;
11408  unsigned long __cil_tmp47 ;
11409  unsigned long __cil_tmp48 ;
11410  unsigned long __cil_tmp49 ;
11411  struct mutex *__cil_tmp50 ;
11412  unsigned long __cil_tmp51 ;
11413  unsigned long __cil_tmp52 ;
11414  struct mutex *__cil_tmp53 ;
11415  unsigned long __cil_tmp54 ;
11416  unsigned long __cil_tmp55 ;
11417  wait_queue_head_t *__cil_tmp56 ;
11418  void *__cil_tmp57 ;
11419  unsigned long __cil_tmp58 ;
11420  unsigned long __cil_tmp59 ;
11421  void *__cil_tmp60 ;
11422  unsigned long __cil_tmp61 ;
11423  unsigned long __cil_tmp62 ;
11424  void *__cil_tmp63 ;
11425  unsigned long __cil_tmp64 ;
11426  unsigned long __cil_tmp65 ;
11427  unsigned long __cil_tmp66 ;
11428  struct flchip *__cil_tmp67 ;
11429  unsigned long __cil_tmp68 ;
11430  unsigned long __cil_tmp69 ;
11431  unsigned long __cil_tmp70 ;
11432  unsigned long __cil_tmp71 ;
11433  struct flchip *__cil_tmp72 ;
11434  unsigned long __cil_tmp73 ;
11435  struct mutex *__cil_tmp74 ;
11436  unsigned long __cil_tmp75 ;
11437  unsigned long __cil_tmp76 ;
11438  wait_queue_head_t *__cil_tmp77 ;
11439  void *__cil_tmp78 ;
11440  struct mutex *__cil_tmp79 ;
11441  unsigned long __cil_tmp80 ;
11442  unsigned long __cil_tmp81 ;
11443  flstate_t __cil_tmp82 ;
11444  u_long __cil_tmp83 ;
11445  unsigned long __cil_tmp84 ;
11446  unsigned long __cil_tmp85 ;
11447  void (*__cil_tmp86)(struct map_info * , map_word     , unsigned long  ) ;
11448  map_word    __cil_tmp87 ;
11449  u_long __cil_tmp88 ;
11450  unsigned long __cil_tmp89 ;
11451  unsigned long __cil_tmp90 ;
11452  void (*__cil_tmp91)(struct map_info * , map_word     , unsigned long  ) ;
11453  map_word    __cil_tmp92 ;
11454  unsigned long __cil_tmp93 ;
11455  unsigned long __cil_tmp94 ;
11456  unsigned long __cil_tmp95 ;
11457  unsigned long __cil_tmp96 ;
11458  unsigned long __cil_tmp97 ;
11459  unsigned long __cil_tmp98 ;
11460  unsigned long __cil_tmp99 ;
11461  unsigned long __cil_tmp100 ;
11462  unsigned long __cil_tmp101 ;
11463  unsigned long __cil_tmp102 ;
11464  char    *__cil_tmp103 ;
11465  unsigned long __cil_tmp104 ;
11466  unsigned long __cil_tmp105 ;
11467  flstate_t __cil_tmp106 ;
11468  unsigned int __cil_tmp107 ;
11469  unsigned long __cil_tmp108 ;
11470  unsigned long __cil_tmp109 ;
11471  wait_queue_head_t *__cil_tmp110 ;
11472  void *__cil_tmp111 ;
11473
11474  {
11475#line 959
11476  __cil_tmp9 = (unsigned long )map;
11477#line 959
11478  __cil_tmp10 = __cil_tmp9 + 120;
11479#line 959
11480  __cil_tmp11 = *((void **)__cil_tmp10);
11481#line 959
11482  cfi = (struct cfi_private *)__cil_tmp11;
11483  {
11484#line 961
11485  __cil_tmp12 = (unsigned long )chip;
11486#line 961
11487  __cil_tmp13 = __cil_tmp12 + 168;
11488#line 961
11489  if (*((void **)__cil_tmp13)) {
11490    {
11491#line 962
11492    __cil_tmp14 = (unsigned long )chip;
11493#line 962
11494    __cil_tmp15 = __cil_tmp14 + 168;
11495#line 962
11496    __cil_tmp16 = *((void **)__cil_tmp15);
11497#line 962
11498    shared = (struct flchip_shared *)__cil_tmp16;
11499#line 963
11500    __cil_tmp17 = (struct mutex *)shared;
11501#line 963
11502    mutex_lock(__cil_tmp17);
11503    }
11504    {
11505#line 964
11506    __cil_tmp18 = (unsigned long )chip;
11507#line 964
11508    __cil_tmp19 = (unsigned long )shared;
11509#line 964
11510    __cil_tmp20 = __cil_tmp19 + 72;
11511#line 964
11512    __cil_tmp21 = *((struct flchip **)__cil_tmp20);
11513#line 964
11514    __cil_tmp22 = (unsigned long )__cil_tmp21;
11515#line 964
11516    if (__cil_tmp22 == __cil_tmp18) {
11517      {
11518#line 964
11519      __cil_tmp23 = (unsigned long )chip;
11520#line 964
11521      __cil_tmp24 = __cil_tmp23 + 16;
11522#line 964
11523      __cil_tmp25 = *((flstate_t *)__cil_tmp24);
11524#line 964
11525      __cil_tmp26 = (unsigned int )__cil_tmp25;
11526#line 964
11527      if (__cil_tmp26 == 0U) {
11528#line 966
11529        __cil_tmp27 = (unsigned long )shared;
11530#line 966
11531        __cil_tmp28 = __cil_tmp27 + 72;
11532#line 966
11533        __cil_tmp29 = (unsigned long )shared;
11534#line 966
11535        __cil_tmp30 = __cil_tmp29 + 80;
11536#line 966
11537        *((struct flchip **)__cil_tmp28) = *((struct flchip **)__cil_tmp30);
11538        {
11539#line 967
11540        __cil_tmp31 = (unsigned long )shared;
11541#line 967
11542        __cil_tmp32 = __cil_tmp31 + 72;
11543#line 967
11544        if (*((struct flchip **)__cil_tmp32)) {
11545          {
11546#line 967
11547          __cil_tmp33 = (unsigned long )chip;
11548#line 967
11549          __cil_tmp34 = (unsigned long )shared;
11550#line 967
11551          __cil_tmp35 = __cil_tmp34 + 72;
11552#line 967
11553          __cil_tmp36 = *((struct flchip **)__cil_tmp35);
11554#line 967
11555          __cil_tmp37 = (unsigned long )__cil_tmp36;
11556#line 967
11557          if (__cil_tmp37 != __cil_tmp33) {
11558            {
11559#line 969
11560            __cil_tmp38 = (unsigned long )shared;
11561#line 969
11562            __cil_tmp39 = __cil_tmp38 + 72;
11563#line 969
11564            loaner = *((struct flchip **)__cil_tmp39);
11565#line 970
11566            __cil_tmp40 = (unsigned long )loaner;
11567#line 970
11568            __cil_tmp41 = __cil_tmp40 + 32;
11569#line 970
11570            __cil_tmp42 = (struct mutex *)__cil_tmp41;
11571#line 970
11572            mutex_lock(__cil_tmp42);
11573#line 971
11574            __cil_tmp43 = (struct mutex *)shared;
11575#line 971
11576            mutex_unlock(__cil_tmp43);
11577#line 972
11578            __cil_tmp44 = (unsigned long )chip;
11579#line 972
11580            __cil_tmp45 = __cil_tmp44 + 32;
11581#line 972
11582            __cil_tmp46 = (struct mutex *)__cil_tmp45;
11583#line 972
11584            mutex_unlock(__cil_tmp46);
11585#line 973
11586            __cil_tmp47 = *((unsigned long *)loaner);
11587#line 973
11588            put_chip(map, loaner, __cil_tmp47);
11589#line 974
11590            __cil_tmp48 = (unsigned long )chip;
11591#line 974
11592            __cil_tmp49 = __cil_tmp48 + 32;
11593#line 974
11594            __cil_tmp50 = (struct mutex *)__cil_tmp49;
11595#line 974
11596            mutex_lock(__cil_tmp50);
11597#line 975
11598            __cil_tmp51 = (unsigned long )loaner;
11599#line 975
11600            __cil_tmp52 = __cil_tmp51 + 32;
11601#line 975
11602            __cil_tmp53 = (struct mutex *)__cil_tmp52;
11603#line 975
11604            mutex_unlock(__cil_tmp53);
11605#line 976
11606            __cil_tmp54 = (unsigned long )chip;
11607#line 976
11608            __cil_tmp55 = __cil_tmp54 + 104;
11609#line 976
11610            __cil_tmp56 = (wait_queue_head_t *)__cil_tmp55;
11611#line 976
11612            __cil_tmp57 = (void *)0;
11613#line 976
11614            __wake_up(__cil_tmp56, 3U, 1, __cil_tmp57);
11615            }
11616#line 977
11617            return;
11618          } else {
11619
11620          }
11621          }
11622        } else {
11623
11624        }
11625        }
11626#line 979
11627        __cil_tmp58 = (unsigned long )shared;
11628#line 979
11629        __cil_tmp59 = __cil_tmp58 + 80;
11630#line 979
11631        __cil_tmp60 = (void *)0;
11632#line 979
11633        *((struct flchip **)__cil_tmp59) = (struct flchip *)__cil_tmp60;
11634#line 980
11635        __cil_tmp61 = (unsigned long )shared;
11636#line 980
11637        __cil_tmp62 = __cil_tmp61 + 72;
11638#line 980
11639        __cil_tmp63 = (void *)0;
11640#line 980
11641        *((struct flchip **)__cil_tmp62) = (struct flchip *)__cil_tmp63;
11642      } else {
11643#line 964
11644        goto _L;
11645      }
11646      }
11647    } else {
11648      _L: /* CIL Label */ 
11649      {
11650#line 981
11651      __cil_tmp64 = (unsigned long )chip;
11652#line 981
11653      __cil_tmp65 = (unsigned long )shared;
11654#line 981
11655      __cil_tmp66 = __cil_tmp65 + 80;
11656#line 981
11657      __cil_tmp67 = *((struct flchip **)__cil_tmp66);
11658#line 981
11659      __cil_tmp68 = (unsigned long )__cil_tmp67;
11660#line 981
11661      if (__cil_tmp68 == __cil_tmp64) {
11662        {
11663#line 981
11664        __cil_tmp69 = (unsigned long )chip;
11665#line 981
11666        __cil_tmp70 = (unsigned long )shared;
11667#line 981
11668        __cil_tmp71 = __cil_tmp70 + 72;
11669#line 981
11670        __cil_tmp72 = *((struct flchip **)__cil_tmp71);
11671#line 981
11672        __cil_tmp73 = (unsigned long )__cil_tmp72;
11673#line 981
11674        if (__cil_tmp73 != __cil_tmp69) {
11675          {
11676#line 989
11677          __cil_tmp74 = (struct mutex *)shared;
11678#line 989
11679          mutex_unlock(__cil_tmp74);
11680#line 990
11681          __cil_tmp75 = (unsigned long )chip;
11682#line 990
11683          __cil_tmp76 = __cil_tmp75 + 104;
11684#line 990
11685          __cil_tmp77 = (wait_queue_head_t *)__cil_tmp76;
11686#line 990
11687          __cil_tmp78 = (void *)0;
11688#line 990
11689          __wake_up(__cil_tmp77, 3U, 1, __cil_tmp78);
11690          }
11691#line 991
11692          return;
11693        } else {
11694
11695        }
11696        }
11697      } else {
11698
11699      }
11700      }
11701    }
11702    }
11703    {
11704#line 993
11705    __cil_tmp79 = (struct mutex *)shared;
11706#line 993
11707    mutex_unlock(__cil_tmp79);
11708    }
11709  } else {
11710
11711  }
11712  }
11713  {
11714#line 996
11715  __cil_tmp80 = (unsigned long )chip;
11716#line 996
11717  __cil_tmp81 = __cil_tmp80 + 16;
11718#line 996
11719  __cil_tmp82 = *((flstate_t *)__cil_tmp81);
11720#line 997
11721  if ((int )__cil_tmp82 == 4) {
11722#line 997
11723    goto case_4;
11724  } else
11725#line 1013
11726  if ((int )__cil_tmp82 == 18) {
11727#line 1013
11728    goto case_18;
11729  } else
11730#line 1018
11731  if ((int )__cil_tmp82 == 0) {
11732#line 1018
11733    goto case_0;
11734  } else
11735#line 1019
11736  if ((int )__cil_tmp82 == 1) {
11737#line 1019
11738    goto case_0;
11739  } else
11740#line 1020
11741  if ((int )__cil_tmp82 == 3) {
11742#line 1020
11743    goto case_0;
11744  } else {
11745    {
11746#line 1022
11747    goto switch_default;
11748#line 996
11749    if (0) {
11750      case_4: /* CIL Label */ 
11751      {
11752#line 1007
11753      __cil_tmp83 = (u_long )208;
11754#line 1007
11755      tmp___7 = cfi_build_cmd(__cil_tmp83, map, cfi);
11756#line 1007
11757      __cil_tmp84 = (unsigned long )map;
11758#line 1007
11759      __cil_tmp85 = __cil_tmp84 + 64;
11760#line 1007
11761      __cil_tmp86 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp85);
11762#line 1007
11763      __cil_tmp87 = (map_word    )tmp___7;
11764#line 1007
11765      (*__cil_tmp86)(map, __cil_tmp87, adr);
11766#line 1008
11767      __cil_tmp88 = (u_long )112;
11768#line 1008
11769      tmp___8 = cfi_build_cmd(__cil_tmp88, map, cfi);
11770#line 1008
11771      __cil_tmp89 = (unsigned long )map;
11772#line 1008
11773      __cil_tmp90 = __cil_tmp89 + 64;
11774#line 1008
11775      __cil_tmp91 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp90);
11776#line 1008
11777      __cil_tmp92 = (map_word    )tmp___8;
11778#line 1008
11779      (*__cil_tmp91)(map, __cil_tmp92, adr);
11780#line 1009
11781      __cil_tmp93 = (unsigned long )chip;
11782#line 1009
11783      __cil_tmp94 = __cil_tmp93 + 16;
11784#line 1009
11785      *((flstate_t *)__cil_tmp94) = (flstate_t )0;
11786#line 1010
11787      __cil_tmp95 = (unsigned long )chip;
11788#line 1010
11789      __cil_tmp96 = __cil_tmp95 + 12;
11790#line 1010
11791      *((flstate_t *)__cil_tmp96) = (flstate_t )4;
11792      }
11793#line 1011
11794      goto switch_break;
11795      case_18: /* CIL Label */ 
11796#line 1014
11797      __cil_tmp97 = (unsigned long )chip;
11798#line 1014
11799      __cil_tmp98 = __cil_tmp97 + 12;
11800#line 1014
11801      __cil_tmp99 = (unsigned long )chip;
11802#line 1014
11803      __cil_tmp100 = __cil_tmp99 + 16;
11804#line 1014
11805      *((flstate_t *)__cil_tmp98) = *((flstate_t *)__cil_tmp100);
11806#line 1015
11807      __cil_tmp101 = (unsigned long )chip;
11808#line 1015
11809      __cil_tmp102 = __cil_tmp101 + 16;
11810#line 1015
11811      *((flstate_t *)__cil_tmp102) = (flstate_t )0;
11812#line 1016
11813      goto switch_break;
11814      case_0: /* CIL Label */ 
11815      case_1: /* CIL Label */ 
11816      case_3: /* CIL Label */ 
11817#line 1021
11818      goto switch_break;
11819      switch_default: /* CIL Label */ 
11820      {
11821#line 1023
11822      __cil_tmp103 = *((char    **)map);
11823#line 1023
11824      __cil_tmp104 = (unsigned long )chip;
11825#line 1023
11826      __cil_tmp105 = __cil_tmp104 + 16;
11827#line 1023
11828      __cil_tmp106 = *((flstate_t *)__cil_tmp105);
11829#line 1023
11830      __cil_tmp107 = (unsigned int )__cil_tmp106;
11831#line 1023
11832      printk("<3>%s: put_chip() called with oldstate %d!!\n", __cil_tmp103, __cil_tmp107);
11833      }
11834    } else {
11835      switch_break: /* CIL Label */ ;
11836    }
11837    }
11838  }
11839  }
11840  {
11841#line 1025
11842  __cil_tmp108 = (unsigned long )chip;
11843#line 1025
11844  __cil_tmp109 = __cil_tmp108 + 104;
11845#line 1025
11846  __cil_tmp110 = (wait_queue_head_t *)__cil_tmp109;
11847#line 1025
11848  __cil_tmp111 = (void *)0;
11849#line 1025
11850  __wake_up(__cil_tmp110, 3U, 1, __cil_tmp111);
11851  }
11852#line 1026
11853  return;
11854}
11855}
11856#line 1206 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
11857static int inval_cache_and_wait_for_operation(struct map_info *map , struct flchip *chip ,
11858                                              unsigned long cmd_adr , unsigned long inval_adr ,
11859                                              int inval_len , unsigned int chip_op_time ,
11860                                              unsigned int chip_op_time_max ) 
11861{ struct cfi_private *cfi ;
11862  map_word status ;
11863  map_word status_OK ;
11864  map_word tmp___7 ;
11865  int chip_state ;
11866  unsigned int timeo ;
11867  unsigned int sleep_time ;
11868  unsigned int reset_timeo ;
11869  wait_queue_t wait ;
11870  struct task_struct *tmp___8 ;
11871  long volatile   __ret ;
11872  struct task_struct *tmp___10 ;
11873  struct task_struct *tmp___11 ;
11874  struct task_struct *tmp___12 ;
11875  struct task_struct *tmp___13 ;
11876  struct task_struct *tmp___14 ;
11877  map_word tmp___15 ;
11878  int tmp___16 ;
11879  map_word tmp___17 ;
11880  unsigned long __cil_tmp28 ;
11881  unsigned long __cil_tmp29 ;
11882  void *__cil_tmp30 ;
11883  u_long __cil_tmp31 ;
11884  unsigned long __cil_tmp32 ;
11885  unsigned long __cil_tmp33 ;
11886  flstate_t __cil_tmp34 ;
11887  unsigned long __cil_tmp35 ;
11888  unsigned long __cil_tmp36 ;
11889  struct mutex *__cil_tmp37 ;
11890  unsigned long __cil_tmp38 ;
11891  unsigned long __cil_tmp39 ;
11892  unsigned long __cil_tmp40 ;
11893  unsigned long __cil_tmp41 ;
11894  void (*__cil_tmp42)(struct map_info * , unsigned long  , ssize_t  ) ;
11895  ssize_t __cil_tmp43 ;
11896  unsigned long __cil_tmp44 ;
11897  unsigned long __cil_tmp45 ;
11898  struct mutex *__cil_tmp46 ;
11899  unsigned int __cil_tmp47 ;
11900  unsigned long __cil_tmp48 ;
11901  unsigned long __cil_tmp49 ;
11902  flstate_t __cil_tmp50 ;
11903  unsigned int __cil_tmp51 ;
11904  wait_queue_t *__cil_tmp52 ;
11905  unsigned long __cil_tmp53 ;
11906  unsigned long __cil_tmp54 ;
11907  unsigned long __cil_tmp55 ;
11908  void *__cil_tmp56 ;
11909  unsigned long __cil_tmp57 ;
11910  unsigned long __cil_tmp58 ;
11911  void *__cil_tmp59 ;
11912  unsigned long __cil_tmp60 ;
11913  unsigned long __cil_tmp61 ;
11914  wait_queue_head_t *__cil_tmp62 ;
11915  unsigned long __cil_tmp63 ;
11916  unsigned long __cil_tmp64 ;
11917  struct mutex *__cil_tmp65 ;
11918  unsigned long __cil_tmp66 ;
11919  unsigned long __cil_tmp67 ;
11920  wait_queue_head_t *__cil_tmp68 ;
11921  unsigned long __cil_tmp69 ;
11922  unsigned long __cil_tmp70 ;
11923  struct mutex *__cil_tmp71 ;
11924  unsigned long __cil_tmp72 ;
11925  unsigned long __cil_tmp73 ;
11926  map_word (*__cil_tmp74)(struct map_info * , unsigned long  ) ;
11927  unsigned long __cil_tmp75 ;
11928  unsigned long __cil_tmp76 ;
11929  unsigned long __cil_tmp77 ;
11930  unsigned long __cil_tmp78 ;
11931  u_long __cil_tmp79 ;
11932  unsigned long __cil_tmp80 ;
11933  unsigned long __cil_tmp81 ;
11934  void (*__cil_tmp82)(struct map_info * , map_word     , unsigned long  ) ;
11935  map_word    __cil_tmp83 ;
11936  unsigned long __cil_tmp84 ;
11937  unsigned long __cil_tmp85 ;
11938  unsigned long __cil_tmp86 ;
11939  unsigned long __cil_tmp87 ;
11940  struct mutex *__cil_tmp88 ;
11941  unsigned int __cil_tmp89 ;
11942  unsigned long __cil_tmp90 ;
11943  unsigned long __cil_tmp91 ;
11944  struct mutex *__cil_tmp92 ;
11945  unsigned long __cil_tmp93 ;
11946  unsigned long __cil_tmp94 ;
11947
11948  {
11949  {
11950#line 1211
11951  __cil_tmp28 = (unsigned long )map;
11952#line 1211
11953  __cil_tmp29 = __cil_tmp28 + 120;
11954#line 1211
11955  __cil_tmp30 = *((void **)__cil_tmp29);
11956#line 1211
11957  cfi = (struct cfi_private *)__cil_tmp30;
11958#line 1212
11959  __cil_tmp31 = (u_long )128;
11960#line 1212
11961  tmp___7 = cfi_build_cmd(__cil_tmp31, map, cfi);
11962#line 1212
11963  status_OK = tmp___7;
11964#line 1213
11965  __cil_tmp32 = (unsigned long )chip;
11966#line 1213
11967  __cil_tmp33 = __cil_tmp32 + 12;
11968#line 1213
11969  __cil_tmp34 = *((flstate_t *)__cil_tmp33);
11970#line 1213
11971  chip_state = (int )__cil_tmp34;
11972#line 1216
11973  __cil_tmp35 = (unsigned long )chip;
11974#line 1216
11975  __cil_tmp36 = __cil_tmp35 + 32;
11976#line 1216
11977  __cil_tmp37 = (struct mutex *)__cil_tmp36;
11978#line 1216
11979  mutex_unlock(__cil_tmp37);
11980  }
11981#line 1217
11982  if (inval_len) {
11983    {
11984#line 1218
11985    while (1) {
11986      while_continue: /* CIL Label */ ;
11987      {
11988#line 1218
11989      __cil_tmp38 = (unsigned long )map;
11990#line 1218
11991      __cil_tmp39 = __cil_tmp38 + 80;
11992#line 1218
11993      if (*((void (**)(struct map_info * , unsigned long  , ssize_t  ))__cil_tmp39)) {
11994        {
11995#line 1218
11996        __cil_tmp40 = (unsigned long )map;
11997#line 1218
11998        __cil_tmp41 = __cil_tmp40 + 80;
11999#line 1218
12000        __cil_tmp42 = *((void (**)(struct map_info * , unsigned long  , ssize_t  ))__cil_tmp41);
12001#line 1218
12002        __cil_tmp43 = (ssize_t )inval_len;
12003#line 1218
12004        (*__cil_tmp42)(map, inval_adr, __cil_tmp43);
12005        }
12006      } else {
12007
12008      }
12009      }
12010#line 1218
12011      goto while_break;
12012    }
12013    while_break: /* CIL Label */ ;
12014    }
12015  } else {
12016
12017  }
12018  {
12019#line 1219
12020  __cil_tmp44 = (unsigned long )chip;
12021#line 1219
12022  __cil_tmp45 = __cil_tmp44 + 32;
12023#line 1219
12024  __cil_tmp46 = (struct mutex *)__cil_tmp45;
12025#line 1219
12026  mutex_lock(__cil_tmp46);
12027#line 1221
12028  timeo = chip_op_time_max;
12029  }
12030#line 1222
12031  if (! timeo) {
12032#line 1223
12033    timeo = 500000U;
12034  } else {
12035
12036  }
12037#line 1224
12038  reset_timeo = timeo;
12039#line 1225
12040  sleep_time = chip_op_time / 2U;
12041  {
12042#line 1227
12043  while (1) {
12044    while_continue___0: /* CIL Label */ ;
12045    {
12046#line 1228
12047    __cil_tmp47 = (unsigned int )chip_state;
12048#line 1228
12049    __cil_tmp48 = (unsigned long )chip;
12050#line 1228
12051    __cil_tmp49 = __cil_tmp48 + 12;
12052#line 1228
12053    __cil_tmp50 = *((flstate_t *)__cil_tmp49);
12054#line 1228
12055    __cil_tmp51 = (unsigned int )__cil_tmp50;
12056#line 1228
12057    if (__cil_tmp51 != __cil_tmp47) {
12058      {
12059#line 1230
12060      tmp___8 = get_current();
12061#line 1230
12062      __cil_tmp52 = & wait;
12063#line 1230
12064      *((unsigned int *)__cil_tmp52) = 0U;
12065#line 1230
12066      __cil_tmp53 = (unsigned long )(& wait) + 8;
12067#line 1230
12068      *((void **)__cil_tmp53) = (void *)tmp___8;
12069#line 1230
12070      __cil_tmp54 = (unsigned long )(& wait) + 16;
12071#line 1230
12072      *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp54) = & default_wake_function;
12073#line 1230
12074      __cil_tmp55 = (unsigned long )(& wait) + 24;
12075#line 1230
12076      __cil_tmp56 = (void *)0;
12077#line 1230
12078      *((struct list_head **)__cil_tmp55) = (struct list_head *)__cil_tmp56;
12079#line 1230
12080      __cil_tmp57 = 24 + 8;
12081#line 1230
12082      __cil_tmp58 = (unsigned long )(& wait) + __cil_tmp57;
12083#line 1230
12084      __cil_tmp59 = (void *)0;
12085#line 1230
12086      *((struct list_head **)__cil_tmp58) = (struct list_head *)__cil_tmp59;
12087      }
12088      {
12089#line 1231
12090      while (1) {
12091        while_continue___1: /* CIL Label */ ;
12092#line 1231
12093        __ret = (long volatile   )2;
12094#line 1231
12095        if ((int )8UL == 1) {
12096#line 1231
12097          goto case_1;
12098        } else
12099#line 1231
12100        if ((int )8UL == 2) {
12101#line 1231
12102          goto case_2;
12103        } else
12104#line 1231
12105        if ((int )8UL == 4) {
12106#line 1231
12107          goto case_4;
12108        } else
12109#line 1231
12110        if ((int )8UL == 8) {
12111#line 1231
12112          goto case_8;
12113        } else {
12114          {
12115#line 1231
12116          goto switch_default;
12117#line 1231
12118          if (0) {
12119            case_1: /* CIL Label */ 
12120            {
12121#line 1231
12122            tmp___11 = get_current();
12123#line 1231
12124            __asm__  volatile   (""
12125                                 "xchg"
12126                                 "b %b0, %1\n": "+q" (__ret), "+m" (*((long volatile   *)tmp___11)): : "memory",
12127                                 "cc");
12128            }
12129#line 1231
12130            goto switch_break;
12131            case_2: /* CIL Label */ 
12132            {
12133#line 1231
12134            tmp___12 = get_current();
12135#line 1231
12136            __asm__  volatile   (""
12137                                 "xchg"
12138                                 "w %w0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___12)): : "memory",
12139                                 "cc");
12140            }
12141#line 1231
12142            goto switch_break;
12143            case_4: /* CIL Label */ 
12144            {
12145#line 1231
12146            tmp___13 = get_current();
12147#line 1231
12148            __asm__  volatile   (""
12149                                 "xchg"
12150                                 "l %0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___13)): : "memory",
12151                                 "cc");
12152            }
12153#line 1231
12154            goto switch_break;
12155            case_8: /* CIL Label */ 
12156            {
12157#line 1231
12158            tmp___14 = get_current();
12159#line 1231
12160            __asm__  volatile   (""
12161                                 "xchg"
12162                                 "q %q0, %1\n": "+r" (__ret), "+m" (*((long volatile   *)tmp___14)): : "memory",
12163                                 "cc");
12164            }
12165#line 1231
12166            goto switch_break;
12167            switch_default: /* CIL Label */ 
12168            {
12169#line 1231
12170            __xchg_wrong_size();
12171            }
12172          } else {
12173            switch_break: /* CIL Label */ ;
12174          }
12175          }
12176        }
12177#line 1231
12178        goto while_break___1;
12179      }
12180      while_break___1: /* CIL Label */ ;
12181      }
12182      {
12183#line 1232
12184      __cil_tmp60 = (unsigned long )chip;
12185#line 1232
12186      __cil_tmp61 = __cil_tmp60 + 104;
12187#line 1232
12188      __cil_tmp62 = (wait_queue_head_t *)__cil_tmp61;
12189#line 1232
12190      add_wait_queue(__cil_tmp62, & wait);
12191#line 1233
12192      __cil_tmp63 = (unsigned long )chip;
12193#line 1233
12194      __cil_tmp64 = __cil_tmp63 + 32;
12195#line 1233
12196      __cil_tmp65 = (struct mutex *)__cil_tmp64;
12197#line 1233
12198      mutex_unlock(__cil_tmp65);
12199#line 1234
12200      schedule();
12201#line 1235
12202      __cil_tmp66 = (unsigned long )chip;
12203#line 1235
12204      __cil_tmp67 = __cil_tmp66 + 104;
12205#line 1235
12206      __cil_tmp68 = (wait_queue_head_t *)__cil_tmp67;
12207#line 1235
12208      remove_wait_queue(__cil_tmp68, & wait);
12209#line 1236
12210      __cil_tmp69 = (unsigned long )chip;
12211#line 1236
12212      __cil_tmp70 = __cil_tmp69 + 32;
12213#line 1236
12214      __cil_tmp71 = (struct mutex *)__cil_tmp70;
12215#line 1236
12216      mutex_lock(__cil_tmp71);
12217      }
12218#line 1237
12219      goto __Cont;
12220    } else {
12221
12222    }
12223    }
12224    {
12225#line 1240
12226    __cil_tmp72 = (unsigned long )map;
12227#line 1240
12228    __cil_tmp73 = __cil_tmp72 + 48;
12229#line 1240
12230    __cil_tmp74 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp73);
12231#line 1240
12232    status = (*__cil_tmp74)(map, cmd_adr);
12233#line 1241
12234    tmp___15 = map_word_and(map, status, status_OK);
12235#line 1241
12236    tmp___16 = map_word_equal(map, status_OK, tmp___15);
12237    }
12238#line 1241
12239    if (tmp___16) {
12240#line 1242
12241      goto while_break___0;
12242    } else {
12243
12244    }
12245#line 1244
12246    if (chip->erase_suspended) {
12247#line 1244
12248      if (chip_state == 4) {
12249#line 1246
12250        timeo = reset_timeo;
12251#line 1247
12252        chip->erase_suspended = 0U;
12253      } else {
12254
12255      }
12256    } else {
12257
12258    }
12259    {
12260#line 1249
12261    __cil_tmp75 = (unsigned long )chip;
12262#line 1249
12263    __cil_tmp76 = __cil_tmp75 + 20;
12264#line 1249
12265    if (*((unsigned int *)__cil_tmp76)) {
12266#line 1249
12267      if (chip_state == 7) {
12268#line 1251
12269        timeo = reset_timeo;
12270#line 1252
12271        __cil_tmp77 = (unsigned long )chip;
12272#line 1252
12273        __cil_tmp78 = __cil_tmp77 + 20;
12274#line 1252
12275        *((unsigned int *)__cil_tmp78) = 0U;
12276      } else {
12277
12278      }
12279    } else {
12280
12281    }
12282    }
12283#line 1254
12284    if (! timeo) {
12285      {
12286#line 1255
12287      __cil_tmp79 = (u_long )112;
12288#line 1255
12289      tmp___17 = cfi_build_cmd(__cil_tmp79, map, cfi);
12290#line 1255
12291      __cil_tmp80 = (unsigned long )map;
12292#line 1255
12293      __cil_tmp81 = __cil_tmp80 + 64;
12294#line 1255
12295      __cil_tmp82 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp81);
12296#line 1255
12297      __cil_tmp83 = (map_word    )tmp___17;
12298#line 1255
12299      (*__cil_tmp82)(map, __cil_tmp83, cmd_adr);
12300#line 1256
12301      __cil_tmp84 = (unsigned long )chip;
12302#line 1256
12303      __cil_tmp85 = __cil_tmp84 + 12;
12304#line 1256
12305      *((flstate_t *)__cil_tmp85) = (flstate_t )1;
12306      }
12307#line 1257
12308      return (-62);
12309    } else {
12310
12311    }
12312    {
12313#line 1261
12314    __cil_tmp86 = (unsigned long )chip;
12315#line 1261
12316    __cil_tmp87 = __cil_tmp86 + 32;
12317#line 1261
12318    __cil_tmp88 = (struct mutex *)__cil_tmp87;
12319#line 1261
12320    mutex_unlock(__cil_tmp88);
12321    }
12322#line 1262
12323    if (sleep_time >= 4000U) {
12324      {
12325#line 1268
12326      __cil_tmp89 = sleep_time / 1000U;
12327#line 1268
12328      msleep(__cil_tmp89);
12329#line 1269
12330      timeo = timeo - sleep_time;
12331#line 1270
12332      sleep_time = 4000U;
12333      }
12334    } else {
12335      {
12336#line 1272
12337      ___udelay(4295UL);
12338#line 1273
12339      __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c",
12340                    1273, 0);
12341#line 1273
12342      _cond_resched();
12343#line 1274
12344      timeo = timeo - 1U;
12345      }
12346    }
12347    {
12348#line 1276
12349    __cil_tmp90 = (unsigned long )chip;
12350#line 1276
12351    __cil_tmp91 = __cil_tmp90 + 32;
12352#line 1276
12353    __cil_tmp92 = (struct mutex *)__cil_tmp91;
12354#line 1276
12355    mutex_lock(__cil_tmp92);
12356    }
12357    __Cont: /* CIL Label */ ;
12358  }
12359  while_break___0: /* CIL Label */ ;
12360  }
12361#line 1280
12362  __cil_tmp93 = (unsigned long )chip;
12363#line 1280
12364  __cil_tmp94 = __cil_tmp93 + 12;
12365#line 1280
12366  *((flstate_t *)__cil_tmp94) = (flstate_t )1;
12367#line 1281
12368  return (0);
12369}
12370}
12371#line 1290 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
12372static int do_point_onechip(struct map_info *map , struct flchip *chip , loff_t adr ,
12373                            size_t len ) 
12374{ unsigned long cmd_addr ;
12375  struct cfi_private *cfi ;
12376  int ret ;
12377  map_word tmp___7 ;
12378  unsigned long __cil_tmp9 ;
12379  unsigned long __cil_tmp10 ;
12380  void *__cil_tmp11 ;
12381  unsigned long __cil_tmp12 ;
12382  loff_t __cil_tmp13 ;
12383  unsigned long __cil_tmp14 ;
12384  unsigned long __cil_tmp15 ;
12385  int __cil_tmp16 ;
12386  int __cil_tmp17 ;
12387  int __cil_tmp18 ;
12388  long long __cil_tmp19 ;
12389  long long __cil_tmp20 ;
12390  unsigned long __cil_tmp21 ;
12391  unsigned long __cil_tmp22 ;
12392  struct mutex *__cil_tmp23 ;
12393  unsigned long __cil_tmp24 ;
12394  unsigned long __cil_tmp25 ;
12395  flstate_t __cil_tmp26 ;
12396  unsigned int __cil_tmp27 ;
12397  unsigned long __cil_tmp28 ;
12398  unsigned long __cil_tmp29 ;
12399  flstate_t __cil_tmp30 ;
12400  unsigned int __cil_tmp31 ;
12401  u_long __cil_tmp32 ;
12402  unsigned long __cil_tmp33 ;
12403  unsigned long __cil_tmp34 ;
12404  void (*__cil_tmp35)(struct map_info * , map_word     , unsigned long  ) ;
12405  map_word    __cil_tmp36 ;
12406  unsigned long __cil_tmp37 ;
12407  unsigned long __cil_tmp38 ;
12408  unsigned long __cil_tmp39 ;
12409  unsigned long __cil_tmp40 ;
12410  unsigned long __cil_tmp41 ;
12411  unsigned long __cil_tmp42 ;
12412  int __cil_tmp43 ;
12413  unsigned long __cil_tmp44 ;
12414  unsigned long __cil_tmp45 ;
12415  struct mutex *__cil_tmp46 ;
12416
12417  {
12418  {
12419#line 1293
12420  __cil_tmp9 = (unsigned long )map;
12421#line 1293
12422  __cil_tmp10 = __cil_tmp9 + 120;
12423#line 1293
12424  __cil_tmp11 = *((void **)__cil_tmp10);
12425#line 1293
12426  cfi = (struct cfi_private *)__cil_tmp11;
12427#line 1294
12428  ret = 0;
12429#line 1296
12430  __cil_tmp12 = *((unsigned long *)chip);
12431#line 1296
12432  __cil_tmp13 = (loff_t )__cil_tmp12;
12433#line 1296
12434  adr = adr + __cil_tmp13;
12435#line 1299
12436  __cil_tmp14 = (unsigned long )map;
12437#line 1299
12438  __cil_tmp15 = __cil_tmp14 + 44;
12439#line 1299
12440  __cil_tmp16 = *((int *)__cil_tmp15);
12441#line 1299
12442  __cil_tmp17 = __cil_tmp16 - 1;
12443#line 1299
12444  __cil_tmp18 = ~ __cil_tmp17;
12445#line 1299
12446  __cil_tmp19 = (long long )__cil_tmp18;
12447#line 1299
12448  __cil_tmp20 = adr & __cil_tmp19;
12449#line 1299
12450  cmd_addr = (unsigned long )__cil_tmp20;
12451#line 1301
12452  __cil_tmp21 = (unsigned long )chip;
12453#line 1301
12454  __cil_tmp22 = __cil_tmp21 + 32;
12455#line 1301
12456  __cil_tmp23 = (struct mutex *)__cil_tmp22;
12457#line 1301
12458  mutex_lock(__cil_tmp23);
12459#line 1303
12460  ret = get_chip(map, chip, cmd_addr, 17);
12461  }
12462#line 1305
12463  if (! ret) {
12464    {
12465#line 1306
12466    __cil_tmp24 = (unsigned long )chip;
12467#line 1306
12468    __cil_tmp25 = __cil_tmp24 + 12;
12469#line 1306
12470    __cil_tmp26 = *((flstate_t *)__cil_tmp25);
12471#line 1306
12472    __cil_tmp27 = (unsigned int )__cil_tmp26;
12473#line 1306
12474    if (__cil_tmp27 != 17U) {
12475      {
12476#line 1306
12477      __cil_tmp28 = (unsigned long )chip;
12478#line 1306
12479      __cil_tmp29 = __cil_tmp28 + 12;
12480#line 1306
12481      __cil_tmp30 = *((flstate_t *)__cil_tmp29);
12482#line 1306
12483      __cil_tmp31 = (unsigned int )__cil_tmp30;
12484#line 1306
12485      if (__cil_tmp31 != 0U) {
12486        {
12487#line 1307
12488        __cil_tmp32 = (u_long )255;
12489#line 1307
12490        tmp___7 = cfi_build_cmd(__cil_tmp32, map, cfi);
12491#line 1307
12492        __cil_tmp33 = (unsigned long )map;
12493#line 1307
12494        __cil_tmp34 = __cil_tmp33 + 64;
12495#line 1307
12496        __cil_tmp35 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp34);
12497#line 1307
12498        __cil_tmp36 = (map_word    )tmp___7;
12499#line 1307
12500        (*__cil_tmp35)(map, __cil_tmp36, cmd_addr);
12501        }
12502      } else {
12503
12504      }
12505      }
12506    } else {
12507
12508    }
12509    }
12510#line 1309
12511    __cil_tmp37 = (unsigned long )chip;
12512#line 1309
12513    __cil_tmp38 = __cil_tmp37 + 12;
12514#line 1309
12515    *((flstate_t *)__cil_tmp38) = (flstate_t )17;
12516#line 1310
12517    __cil_tmp39 = (unsigned long )chip;
12518#line 1310
12519    __cil_tmp40 = __cil_tmp39 + 8;
12520#line 1310
12521    __cil_tmp41 = (unsigned long )chip;
12522#line 1310
12523    __cil_tmp42 = __cil_tmp41 + 8;
12524#line 1310
12525    __cil_tmp43 = *((int *)__cil_tmp42);
12526#line 1310
12527    *((int *)__cil_tmp40) = __cil_tmp43 + 1;
12528  } else {
12529
12530  }
12531  {
12532#line 1312
12533  __cil_tmp44 = (unsigned long )chip;
12534#line 1312
12535  __cil_tmp45 = __cil_tmp44 + 32;
12536#line 1312
12537  __cil_tmp46 = (struct mutex *)__cil_tmp45;
12538#line 1312
12539  mutex_unlock(__cil_tmp46);
12540  }
12541#line 1314
12542  return (ret);
12543}
12544}
12545#line 1317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
12546static int cfi_intelext_point(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
12547                              void **virt , resource_size_t *phys ) 
12548{ struct map_info *map ;
12549  struct cfi_private *cfi ;
12550  unsigned long ofs ;
12551  unsigned long last_end ;
12552  int chipnum ;
12553  int ret ;
12554  unsigned long thislen ;
12555  unsigned long __cil_tmp14 ;
12556  unsigned long __cil_tmp15 ;
12557  void *__cil_tmp16 ;
12558  unsigned long __cil_tmp17 ;
12559  unsigned long __cil_tmp18 ;
12560  void *__cil_tmp19 ;
12561  unsigned long __cil_tmp20 ;
12562  unsigned long __cil_tmp21 ;
12563  void *__cil_tmp22 ;
12564  unsigned long __cil_tmp23 ;
12565  unsigned long __cil_tmp24 ;
12566  unsigned long __cil_tmp25 ;
12567  loff_t __cil_tmp26 ;
12568  unsigned long __cil_tmp27 ;
12569  unsigned long __cil_tmp28 ;
12570  unsigned long __cil_tmp29 ;
12571  int __cil_tmp30 ;
12572  loff_t __cil_tmp31 ;
12573  loff_t __cil_tmp32 ;
12574  unsigned long __cil_tmp33 ;
12575  unsigned long __cil_tmp34 ;
12576  unsigned long __cil_tmp35 ;
12577  unsigned long __cil_tmp36 ;
12578  unsigned long __cil_tmp37 ;
12579  unsigned long __cil_tmp38 ;
12580  unsigned long __cil_tmp39 ;
12581  void *__cil_tmp40 ;
12582  void *__cil_tmp41 ;
12583  resource_size_t __cil_tmp42 ;
12584  unsigned long __cil_tmp43 ;
12585  unsigned long __cil_tmp44 ;
12586  unsigned long __cil_tmp45 ;
12587  unsigned long __cil_tmp46 ;
12588  unsigned long __cil_tmp47 ;
12589  resource_size_t __cil_tmp48 ;
12590  unsigned long __cil_tmp49 ;
12591  unsigned long __cil_tmp50 ;
12592  resource_size_t __cil_tmp51 ;
12593  resource_size_t __cil_tmp52 ;
12594  unsigned long __cil_tmp53 ;
12595  unsigned long __cil_tmp54 ;
12596  int __cil_tmp55 ;
12597  unsigned long __cil_tmp56 ;
12598  unsigned long __cil_tmp57 ;
12599  unsigned long __cil_tmp58 ;
12600  unsigned long __cil_tmp59 ;
12601  unsigned long __cil_tmp60 ;
12602  unsigned long __cil_tmp61 ;
12603  unsigned long __cil_tmp62 ;
12604  unsigned long __cil_tmp63 ;
12605  unsigned long __cil_tmp64 ;
12606  unsigned long __cil_tmp65 ;
12607  unsigned long __cil_tmp66 ;
12608  unsigned long __cil_tmp67 ;
12609  size_t __cil_tmp68 ;
12610  size_t __cil_tmp69 ;
12611  unsigned long __cil_tmp70 ;
12612  unsigned long __cil_tmp71 ;
12613  unsigned long __cil_tmp72 ;
12614  int __cil_tmp73 ;
12615  unsigned long __cil_tmp74 ;
12616  unsigned long __cil_tmp75 ;
12617  unsigned long __cil_tmp76 ;
12618  unsigned long __cil_tmp77 ;
12619  unsigned long __cil_tmp78 ;
12620  struct flchip *__cil_tmp79 ;
12621  loff_t __cil_tmp80 ;
12622  size_t __cil_tmp81 ;
12623  unsigned long __cil_tmp82 ;
12624  unsigned long __cil_tmp83 ;
12625  unsigned long __cil_tmp84 ;
12626  int __cil_tmp85 ;
12627  unsigned long __cil_tmp86 ;
12628
12629  {
12630#line 1320
12631  __cil_tmp14 = (unsigned long )mtd;
12632#line 1320
12633  __cil_tmp15 = __cil_tmp14 + 360;
12634#line 1320
12635  __cil_tmp16 = *((void **)__cil_tmp15);
12636#line 1320
12637  map = (struct map_info *)__cil_tmp16;
12638#line 1321
12639  __cil_tmp17 = (unsigned long )map;
12640#line 1321
12641  __cil_tmp18 = __cil_tmp17 + 120;
12642#line 1321
12643  __cil_tmp19 = *((void **)__cil_tmp18);
12644#line 1321
12645  cfi = (struct cfi_private *)__cil_tmp19;
12646#line 1322
12647  last_end = 0UL;
12648#line 1324
12649  ret = 0;
12650  {
12651#line 1326
12652  __cil_tmp20 = (unsigned long )map;
12653#line 1326
12654  __cil_tmp21 = __cil_tmp20 + 24;
12655#line 1326
12656  __cil_tmp22 = *((void **)__cil_tmp21);
12657#line 1326
12658  if (! __cil_tmp22) {
12659#line 1327
12660    return (-22);
12661  } else {
12662
12663  }
12664  }
12665#line 1332
12666  __cil_tmp23 = (unsigned long )cfi;
12667#line 1332
12668  __cil_tmp24 = __cil_tmp23 + 104;
12669#line 1332
12670  __cil_tmp25 = *((unsigned long *)__cil_tmp24);
12671#line 1332
12672  __cil_tmp26 = from >> __cil_tmp25;
12673#line 1332
12674  chipnum = (int )__cil_tmp26;
12675#line 1333
12676  __cil_tmp27 = (unsigned long )cfi;
12677#line 1333
12678  __cil_tmp28 = __cil_tmp27 + 104;
12679#line 1333
12680  __cil_tmp29 = *((unsigned long *)__cil_tmp28);
12681#line 1333
12682  __cil_tmp30 = chipnum << __cil_tmp29;
12683#line 1333
12684  __cil_tmp31 = (loff_t )__cil_tmp30;
12685#line 1333
12686  __cil_tmp32 = from - __cil_tmp31;
12687#line 1333
12688  ofs = (unsigned long )__cil_tmp32;
12689#line 1335
12690  __cil_tmp33 = chipnum * 176UL;
12691#line 1335
12692  __cil_tmp34 = 120 + __cil_tmp33;
12693#line 1335
12694  __cil_tmp35 = (unsigned long )cfi;
12695#line 1335
12696  __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
12697#line 1335
12698  __cil_tmp37 = *((unsigned long *)__cil_tmp36);
12699#line 1335
12700  __cil_tmp38 = (unsigned long )map;
12701#line 1335
12702  __cil_tmp39 = __cil_tmp38 + 24;
12703#line 1335
12704  __cil_tmp40 = *((void **)__cil_tmp39);
12705#line 1335
12706  __cil_tmp41 = __cil_tmp40 + __cil_tmp37;
12707#line 1335
12708  *virt = __cil_tmp41 + ofs;
12709#line 1336
12710  if (phys) {
12711#line 1337
12712    __cil_tmp42 = (resource_size_t )ofs;
12713#line 1337
12714    __cil_tmp43 = chipnum * 176UL;
12715#line 1337
12716    __cil_tmp44 = 120 + __cil_tmp43;
12717#line 1337
12718    __cil_tmp45 = (unsigned long )cfi;
12719#line 1337
12720    __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
12721#line 1337
12722    __cil_tmp47 = *((unsigned long *)__cil_tmp46);
12723#line 1337
12724    __cil_tmp48 = (resource_size_t )__cil_tmp47;
12725#line 1337
12726    __cil_tmp49 = (unsigned long )map;
12727#line 1337
12728    __cil_tmp50 = __cil_tmp49 + 16;
12729#line 1337
12730    __cil_tmp51 = *((resource_size_t *)__cil_tmp50);
12731#line 1337
12732    __cil_tmp52 = __cil_tmp51 + __cil_tmp48;
12733#line 1337
12734    *phys = __cil_tmp52 + __cil_tmp42;
12735  } else {
12736
12737  }
12738  {
12739#line 1339
12740  while (1) {
12741    while_continue: /* CIL Label */ ;
12742#line 1339
12743    if (len) {
12744
12745    } else {
12746#line 1339
12747      goto while_break;
12748    }
12749    {
12750#line 1342
12751    __cil_tmp53 = (unsigned long )cfi;
12752#line 1342
12753    __cil_tmp54 = __cil_tmp53 + 64;
12754#line 1342
12755    __cil_tmp55 = *((int *)__cil_tmp54);
12756#line 1342
12757    if (chipnum >= __cil_tmp55) {
12758#line 1343
12759      goto while_break;
12760    } else {
12761
12762    }
12763    }
12764#line 1346
12765    if (! last_end) {
12766#line 1347
12767      __cil_tmp56 = chipnum * 176UL;
12768#line 1347
12769      __cil_tmp57 = 120 + __cil_tmp56;
12770#line 1347
12771      __cil_tmp58 = (unsigned long )cfi;
12772#line 1347
12773      __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
12774#line 1347
12775      last_end = *((unsigned long *)__cil_tmp59);
12776    } else {
12777      {
12778#line 1348
12779      __cil_tmp60 = chipnum * 176UL;
12780#line 1348
12781      __cil_tmp61 = 120 + __cil_tmp60;
12782#line 1348
12783      __cil_tmp62 = (unsigned long )cfi;
12784#line 1348
12785      __cil_tmp63 = __cil_tmp62 + __cil_tmp61;
12786#line 1348
12787      __cil_tmp64 = *((unsigned long *)__cil_tmp63);
12788#line 1348
12789      if (__cil_tmp64 != last_end) {
12790#line 1349
12791        goto while_break;
12792      } else {
12793
12794      }
12795      }
12796    }
12797    {
12798#line 1351
12799    __cil_tmp65 = (unsigned long )cfi;
12800#line 1351
12801    __cil_tmp66 = __cil_tmp65 + 104;
12802#line 1351
12803    __cil_tmp67 = *((unsigned long *)__cil_tmp66);
12804#line 1351
12805    __cil_tmp68 = len + ofs;
12806#line 1351
12807    __cil_tmp69 = __cil_tmp68 - 1UL;
12808#line 1351
12809    if (__cil_tmp69 >> __cil_tmp67) {
12810#line 1352
12811      __cil_tmp70 = (unsigned long )cfi;
12812#line 1352
12813      __cil_tmp71 = __cil_tmp70 + 104;
12814#line 1352
12815      __cil_tmp72 = *((unsigned long *)__cil_tmp71);
12816#line 1352
12817      __cil_tmp73 = 1 << __cil_tmp72;
12818#line 1352
12819      __cil_tmp74 = (unsigned long )__cil_tmp73;
12820#line 1352
12821      thislen = __cil_tmp74 - ofs;
12822    } else {
12823#line 1354
12824      thislen = len;
12825    }
12826    }
12827    {
12828#line 1356
12829    __cil_tmp75 = chipnum * 176UL;
12830#line 1356
12831    __cil_tmp76 = 120 + __cil_tmp75;
12832#line 1356
12833    __cil_tmp77 = (unsigned long )cfi;
12834#line 1356
12835    __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
12836#line 1356
12837    __cil_tmp79 = (struct flchip *)__cil_tmp78;
12838#line 1356
12839    __cil_tmp80 = (loff_t )ofs;
12840#line 1356
12841    ret = do_point_onechip(map, __cil_tmp79, __cil_tmp80, thislen);
12842    }
12843#line 1357
12844    if (ret) {
12845#line 1358
12846      goto while_break;
12847    } else {
12848
12849    }
12850#line 1360
12851    __cil_tmp81 = *retlen;
12852#line 1360
12853    *retlen = __cil_tmp81 + thislen;
12854#line 1361
12855    len = len - thislen;
12856#line 1363
12857    ofs = 0UL;
12858#line 1364
12859    __cil_tmp82 = (unsigned long )cfi;
12860#line 1364
12861    __cil_tmp83 = __cil_tmp82 + 104;
12862#line 1364
12863    __cil_tmp84 = *((unsigned long *)__cil_tmp83);
12864#line 1364
12865    __cil_tmp85 = 1 << __cil_tmp84;
12866#line 1364
12867    __cil_tmp86 = (unsigned long )__cil_tmp85;
12868#line 1364
12869    last_end = last_end + __cil_tmp86;
12870#line 1365
12871    chipnum = chipnum + 1;
12872  }
12873  while_break: /* CIL Label */ ;
12874  }
12875#line 1367
12876  return (0);
12877}
12878}
12879#line 1370 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
12880static int cfi_intelext_unpoint(struct mtd_info *mtd , loff_t from , size_t len ) 
12881{ struct map_info *map ;
12882  struct cfi_private *cfi ;
12883  unsigned long ofs ;
12884  int chipnum ;
12885  int err ;
12886  unsigned long thislen ;
12887  struct flchip *chip ;
12888  unsigned long __cil_tmp11 ;
12889  unsigned long __cil_tmp12 ;
12890  void *__cil_tmp13 ;
12891  unsigned long __cil_tmp14 ;
12892  unsigned long __cil_tmp15 ;
12893  void *__cil_tmp16 ;
12894  unsigned long __cil_tmp17 ;
12895  unsigned long __cil_tmp18 ;
12896  unsigned long __cil_tmp19 ;
12897  loff_t __cil_tmp20 ;
12898  unsigned long __cil_tmp21 ;
12899  unsigned long __cil_tmp22 ;
12900  unsigned long __cil_tmp23 ;
12901  int __cil_tmp24 ;
12902  loff_t __cil_tmp25 ;
12903  loff_t __cil_tmp26 ;
12904  unsigned long __cil_tmp27 ;
12905  unsigned long __cil_tmp28 ;
12906  unsigned long __cil_tmp29 ;
12907  unsigned long __cil_tmp30 ;
12908  unsigned long __cil_tmp31 ;
12909  unsigned long __cil_tmp32 ;
12910  int __cil_tmp33 ;
12911  unsigned long __cil_tmp34 ;
12912  unsigned long __cil_tmp35 ;
12913  unsigned long __cil_tmp36 ;
12914  size_t __cil_tmp37 ;
12915  size_t __cil_tmp38 ;
12916  unsigned long __cil_tmp39 ;
12917  unsigned long __cil_tmp40 ;
12918  unsigned long __cil_tmp41 ;
12919  int __cil_tmp42 ;
12920  unsigned long __cil_tmp43 ;
12921  unsigned long __cil_tmp44 ;
12922  unsigned long __cil_tmp45 ;
12923  struct mutex *__cil_tmp46 ;
12924  unsigned long __cil_tmp47 ;
12925  unsigned long __cil_tmp48 ;
12926  flstate_t __cil_tmp49 ;
12927  unsigned int __cil_tmp50 ;
12928  unsigned long __cil_tmp51 ;
12929  unsigned long __cil_tmp52 ;
12930  unsigned long __cil_tmp53 ;
12931  unsigned long __cil_tmp54 ;
12932  int __cil_tmp55 ;
12933  unsigned long __cil_tmp56 ;
12934  unsigned long __cil_tmp57 ;
12935  int __cil_tmp58 ;
12936  unsigned long __cil_tmp59 ;
12937  unsigned long __cil_tmp60 ;
12938  char    *__cil_tmp61 ;
12939  unsigned long __cil_tmp62 ;
12940  unsigned long __cil_tmp63 ;
12941  unsigned long __cil_tmp64 ;
12942  struct mutex *__cil_tmp65 ;
12943
12944  {
12945#line 1372
12946  __cil_tmp11 = (unsigned long )mtd;
12947#line 1372
12948  __cil_tmp12 = __cil_tmp11 + 360;
12949#line 1372
12950  __cil_tmp13 = *((void **)__cil_tmp12);
12951#line 1372
12952  map = (struct map_info *)__cil_tmp13;
12953#line 1373
12954  __cil_tmp14 = (unsigned long )map;
12955#line 1373
12956  __cil_tmp15 = __cil_tmp14 + 120;
12957#line 1373
12958  __cil_tmp16 = *((void **)__cil_tmp15);
12959#line 1373
12960  cfi = (struct cfi_private *)__cil_tmp16;
12961#line 1375
12962  err = 0;
12963#line 1380
12964  __cil_tmp17 = (unsigned long )cfi;
12965#line 1380
12966  __cil_tmp18 = __cil_tmp17 + 104;
12967#line 1380
12968  __cil_tmp19 = *((unsigned long *)__cil_tmp18);
12969#line 1380
12970  __cil_tmp20 = from >> __cil_tmp19;
12971#line 1380
12972  chipnum = (int )__cil_tmp20;
12973#line 1381
12974  __cil_tmp21 = (unsigned long )cfi;
12975#line 1381
12976  __cil_tmp22 = __cil_tmp21 + 104;
12977#line 1381
12978  __cil_tmp23 = *((unsigned long *)__cil_tmp22);
12979#line 1381
12980  __cil_tmp24 = chipnum << __cil_tmp23;
12981#line 1381
12982  __cil_tmp25 = (loff_t )__cil_tmp24;
12983#line 1381
12984  __cil_tmp26 = from - __cil_tmp25;
12985#line 1381
12986  ofs = (unsigned long )__cil_tmp26;
12987  {
12988#line 1383
12989  while (1) {
12990    while_continue: /* CIL Label */ ;
12991#line 1383
12992    if (len) {
12993#line 1383
12994      if (! err) {
12995
12996      } else {
12997#line 1383
12998        goto while_break;
12999      }
13000    } else {
13001#line 1383
13002      goto while_break;
13003    }
13004#line 1387
13005    __cil_tmp27 = chipnum * 176UL;
13006#line 1387
13007    __cil_tmp28 = 120 + __cil_tmp27;
13008#line 1387
13009    __cil_tmp29 = (unsigned long )cfi;
13010#line 1387
13011    __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
13012#line 1387
13013    chip = (struct flchip *)__cil_tmp30;
13014    {
13015#line 1388
13016    __cil_tmp31 = (unsigned long )cfi;
13017#line 1388
13018    __cil_tmp32 = __cil_tmp31 + 64;
13019#line 1388
13020    __cil_tmp33 = *((int *)__cil_tmp32);
13021#line 1388
13022    if (chipnum >= __cil_tmp33) {
13023#line 1389
13024      goto while_break;
13025    } else {
13026
13027    }
13028    }
13029    {
13030#line 1391
13031    __cil_tmp34 = (unsigned long )cfi;
13032#line 1391
13033    __cil_tmp35 = __cil_tmp34 + 104;
13034#line 1391
13035    __cil_tmp36 = *((unsigned long *)__cil_tmp35);
13036#line 1391
13037    __cil_tmp37 = len + ofs;
13038#line 1391
13039    __cil_tmp38 = __cil_tmp37 - 1UL;
13040#line 1391
13041    if (__cil_tmp38 >> __cil_tmp36) {
13042#line 1392
13043      __cil_tmp39 = (unsigned long )cfi;
13044#line 1392
13045      __cil_tmp40 = __cil_tmp39 + 104;
13046#line 1392
13047      __cil_tmp41 = *((unsigned long *)__cil_tmp40);
13048#line 1392
13049      __cil_tmp42 = 1 << __cil_tmp41;
13050#line 1392
13051      __cil_tmp43 = (unsigned long )__cil_tmp42;
13052#line 1392
13053      thislen = __cil_tmp43 - ofs;
13054    } else {
13055#line 1394
13056      thislen = len;
13057    }
13058    }
13059    {
13060#line 1396
13061    __cil_tmp44 = (unsigned long )chip;
13062#line 1396
13063    __cil_tmp45 = __cil_tmp44 + 32;
13064#line 1396
13065    __cil_tmp46 = (struct mutex *)__cil_tmp45;
13066#line 1396
13067    mutex_lock(__cil_tmp46);
13068    }
13069    {
13070#line 1397
13071    __cil_tmp47 = (unsigned long )chip;
13072#line 1397
13073    __cil_tmp48 = __cil_tmp47 + 12;
13074#line 1397
13075    __cil_tmp49 = *((flstate_t *)__cil_tmp48);
13076#line 1397
13077    __cil_tmp50 = (unsigned int )__cil_tmp49;
13078#line 1397
13079    if (__cil_tmp50 == 17U) {
13080#line 1398
13081      __cil_tmp51 = (unsigned long )chip;
13082#line 1398
13083      __cil_tmp52 = __cil_tmp51 + 8;
13084#line 1398
13085      __cil_tmp53 = (unsigned long )chip;
13086#line 1398
13087      __cil_tmp54 = __cil_tmp53 + 8;
13088#line 1398
13089      __cil_tmp55 = *((int *)__cil_tmp54);
13090#line 1398
13091      *((int *)__cil_tmp52) = __cil_tmp55 - 1;
13092      {
13093#line 1399
13094      __cil_tmp56 = (unsigned long )chip;
13095#line 1399
13096      __cil_tmp57 = __cil_tmp56 + 8;
13097#line 1399
13098      __cil_tmp58 = *((int *)__cil_tmp57);
13099#line 1399
13100      if (__cil_tmp58 == 0) {
13101#line 1400
13102        __cil_tmp59 = (unsigned long )chip;
13103#line 1400
13104        __cil_tmp60 = __cil_tmp59 + 12;
13105#line 1400
13106        *((flstate_t *)__cil_tmp60) = (flstate_t )0;
13107      } else {
13108
13109      }
13110      }
13111    } else {
13112      {
13113#line 1402
13114      __cil_tmp61 = *((char    **)map);
13115#line 1402
13116      printk("<3>%s: Error: unpoint called on non pointed region\n", __cil_tmp61);
13117#line 1403
13118      err = -22;
13119      }
13120    }
13121    }
13122    {
13123#line 1406
13124    __cil_tmp62 = *((unsigned long *)chip);
13125#line 1406
13126    put_chip(map, chip, __cil_tmp62);
13127#line 1407
13128    __cil_tmp63 = (unsigned long )chip;
13129#line 1407
13130    __cil_tmp64 = __cil_tmp63 + 32;
13131#line 1407
13132    __cil_tmp65 = (struct mutex *)__cil_tmp64;
13133#line 1407
13134    mutex_unlock(__cil_tmp65);
13135#line 1409
13136    len = len - thislen;
13137#line 1410
13138    ofs = 0UL;
13139#line 1411
13140    chipnum = chipnum + 1;
13141    }
13142  }
13143  while_break: /* CIL Label */ ;
13144  }
13145#line 1414
13146  return (err);
13147}
13148}
13149#line 1417
13150__inline static int do_read_onechip(struct map_info *map , struct flchip *chip , loff_t adr ,
13151                                    size_t len , u_char *buf )  __attribute__((__no_instrument_function__)) ;
13152#line 1417 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13153__inline static int do_read_onechip(struct map_info *map , struct flchip *chip , loff_t adr ,
13154                                    size_t len , u_char *buf ) 
13155{ unsigned long cmd_addr ;
13156  struct cfi_private *cfi ;
13157  int ret ;
13158  map_word tmp___7 ;
13159  unsigned long __cil_tmp10 ;
13160  unsigned long __cil_tmp11 ;
13161  void *__cil_tmp12 ;
13162  unsigned long __cil_tmp13 ;
13163  loff_t __cil_tmp14 ;
13164  unsigned long __cil_tmp15 ;
13165  unsigned long __cil_tmp16 ;
13166  int __cil_tmp17 ;
13167  int __cil_tmp18 ;
13168  int __cil_tmp19 ;
13169  long long __cil_tmp20 ;
13170  long long __cil_tmp21 ;
13171  unsigned long __cil_tmp22 ;
13172  unsigned long __cil_tmp23 ;
13173  struct mutex *__cil_tmp24 ;
13174  unsigned long __cil_tmp25 ;
13175  unsigned long __cil_tmp26 ;
13176  struct mutex *__cil_tmp27 ;
13177  unsigned long __cil_tmp28 ;
13178  unsigned long __cil_tmp29 ;
13179  flstate_t __cil_tmp30 ;
13180  unsigned int __cil_tmp31 ;
13181  unsigned long __cil_tmp32 ;
13182  unsigned long __cil_tmp33 ;
13183  flstate_t __cil_tmp34 ;
13184  unsigned int __cil_tmp35 ;
13185  u_long __cil_tmp36 ;
13186  unsigned long __cil_tmp37 ;
13187  unsigned long __cil_tmp38 ;
13188  void (*__cil_tmp39)(struct map_info * , map_word     , unsigned long  ) ;
13189  map_word    __cil_tmp40 ;
13190  unsigned long __cil_tmp41 ;
13191  unsigned long __cil_tmp42 ;
13192  unsigned long __cil_tmp43 ;
13193  unsigned long __cil_tmp44 ;
13194  void (*__cil_tmp45)(struct map_info * , void * , unsigned long  , ssize_t  ) ;
13195  void *__cil_tmp46 ;
13196  unsigned long __cil_tmp47 ;
13197  ssize_t __cil_tmp48 ;
13198  unsigned long __cil_tmp49 ;
13199  unsigned long __cil_tmp50 ;
13200  struct mutex *__cil_tmp51 ;
13201
13202  {
13203  {
13204#line 1420
13205  __cil_tmp10 = (unsigned long )map;
13206#line 1420
13207  __cil_tmp11 = __cil_tmp10 + 120;
13208#line 1420
13209  __cil_tmp12 = *((void **)__cil_tmp11);
13210#line 1420
13211  cfi = (struct cfi_private *)__cil_tmp12;
13212#line 1423
13213  __cil_tmp13 = *((unsigned long *)chip);
13214#line 1423
13215  __cil_tmp14 = (loff_t )__cil_tmp13;
13216#line 1423
13217  adr = adr + __cil_tmp14;
13218#line 1426
13219  __cil_tmp15 = (unsigned long )map;
13220#line 1426
13221  __cil_tmp16 = __cil_tmp15 + 44;
13222#line 1426
13223  __cil_tmp17 = *((int *)__cil_tmp16);
13224#line 1426
13225  __cil_tmp18 = __cil_tmp17 - 1;
13226#line 1426
13227  __cil_tmp19 = ~ __cil_tmp18;
13228#line 1426
13229  __cil_tmp20 = (long long )__cil_tmp19;
13230#line 1426
13231  __cil_tmp21 = adr & __cil_tmp20;
13232#line 1426
13233  cmd_addr = (unsigned long )__cil_tmp21;
13234#line 1428
13235  __cil_tmp22 = (unsigned long )chip;
13236#line 1428
13237  __cil_tmp23 = __cil_tmp22 + 32;
13238#line 1428
13239  __cil_tmp24 = (struct mutex *)__cil_tmp23;
13240#line 1428
13241  mutex_lock(__cil_tmp24);
13242#line 1429
13243  ret = get_chip(map, chip, cmd_addr, 0);
13244  }
13245#line 1430
13246  if (ret) {
13247    {
13248#line 1431
13249    __cil_tmp25 = (unsigned long )chip;
13250#line 1431
13251    __cil_tmp26 = __cil_tmp25 + 32;
13252#line 1431
13253    __cil_tmp27 = (struct mutex *)__cil_tmp26;
13254#line 1431
13255    mutex_unlock(__cil_tmp27);
13256    }
13257#line 1432
13258    return (ret);
13259  } else {
13260
13261  }
13262  {
13263#line 1435
13264  __cil_tmp28 = (unsigned long )chip;
13265#line 1435
13266  __cil_tmp29 = __cil_tmp28 + 12;
13267#line 1435
13268  __cil_tmp30 = *((flstate_t *)__cil_tmp29);
13269#line 1435
13270  __cil_tmp31 = (unsigned int )__cil_tmp30;
13271#line 1435
13272  if (__cil_tmp31 != 17U) {
13273    {
13274#line 1435
13275    __cil_tmp32 = (unsigned long )chip;
13276#line 1435
13277    __cil_tmp33 = __cil_tmp32 + 12;
13278#line 1435
13279    __cil_tmp34 = *((flstate_t *)__cil_tmp33);
13280#line 1435
13281    __cil_tmp35 = (unsigned int )__cil_tmp34;
13282#line 1435
13283    if (__cil_tmp35 != 0U) {
13284      {
13285#line 1436
13286      __cil_tmp36 = (u_long )255;
13287#line 1436
13288      tmp___7 = cfi_build_cmd(__cil_tmp36, map, cfi);
13289#line 1436
13290      __cil_tmp37 = (unsigned long )map;
13291#line 1436
13292      __cil_tmp38 = __cil_tmp37 + 64;
13293#line 1436
13294      __cil_tmp39 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp38);
13295#line 1436
13296      __cil_tmp40 = (map_word    )tmp___7;
13297#line 1436
13298      (*__cil_tmp39)(map, __cil_tmp40, cmd_addr);
13299#line 1438
13300      __cil_tmp41 = (unsigned long )chip;
13301#line 1438
13302      __cil_tmp42 = __cil_tmp41 + 12;
13303#line 1438
13304      *((flstate_t *)__cil_tmp42) = (flstate_t )0;
13305      }
13306    } else {
13307
13308    }
13309    }
13310  } else {
13311
13312  }
13313  }
13314  {
13315#line 1441
13316  __cil_tmp43 = (unsigned long )map;
13317#line 1441
13318  __cil_tmp44 = __cil_tmp43 + 56;
13319#line 1441
13320  __cil_tmp45 = *((void (**)(struct map_info * , void * , unsigned long  , ssize_t  ))__cil_tmp44);
13321#line 1441
13322  __cil_tmp46 = (void *)buf;
13323#line 1441
13324  __cil_tmp47 = (unsigned long )adr;
13325#line 1441
13326  __cil_tmp48 = (ssize_t )len;
13327#line 1441
13328  (*__cil_tmp45)(map, __cil_tmp46, __cil_tmp47, __cil_tmp48);
13329#line 1443
13330  put_chip(map, chip, cmd_addr);
13331#line 1445
13332  __cil_tmp49 = (unsigned long )chip;
13333#line 1445
13334  __cil_tmp50 = __cil_tmp49 + 32;
13335#line 1445
13336  __cil_tmp51 = (struct mutex *)__cil_tmp50;
13337#line 1445
13338  mutex_unlock(__cil_tmp51);
13339  }
13340#line 1446
13341  return (0);
13342}
13343}
13344#line 1449 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13345static int cfi_intelext_read(struct mtd_info *mtd , loff_t from , size_t len , size_t *retlen ,
13346                             u_char *buf ) 
13347{ struct map_info *map ;
13348  struct cfi_private *cfi ;
13349  unsigned long ofs ;
13350  int chipnum ;
13351  int ret ;
13352  unsigned long thislen ;
13353  unsigned long __cil_tmp12 ;
13354  unsigned long __cil_tmp13 ;
13355  void *__cil_tmp14 ;
13356  unsigned long __cil_tmp15 ;
13357  unsigned long __cil_tmp16 ;
13358  void *__cil_tmp17 ;
13359  unsigned long __cil_tmp18 ;
13360  unsigned long __cil_tmp19 ;
13361  unsigned long __cil_tmp20 ;
13362  loff_t __cil_tmp21 ;
13363  unsigned long __cil_tmp22 ;
13364  unsigned long __cil_tmp23 ;
13365  unsigned long __cil_tmp24 ;
13366  int __cil_tmp25 ;
13367  loff_t __cil_tmp26 ;
13368  loff_t __cil_tmp27 ;
13369  unsigned long __cil_tmp28 ;
13370  unsigned long __cil_tmp29 ;
13371  int __cil_tmp30 ;
13372  unsigned long __cil_tmp31 ;
13373  unsigned long __cil_tmp32 ;
13374  unsigned long __cil_tmp33 ;
13375  size_t __cil_tmp34 ;
13376  size_t __cil_tmp35 ;
13377  unsigned long __cil_tmp36 ;
13378  unsigned long __cil_tmp37 ;
13379  unsigned long __cil_tmp38 ;
13380  int __cil_tmp39 ;
13381  unsigned long __cil_tmp40 ;
13382  unsigned long __cil_tmp41 ;
13383  unsigned long __cil_tmp42 ;
13384  unsigned long __cil_tmp43 ;
13385  unsigned long __cil_tmp44 ;
13386  struct flchip *__cil_tmp45 ;
13387  loff_t __cil_tmp46 ;
13388  size_t __cil_tmp47 ;
13389
13390  {
13391#line 1451
13392  __cil_tmp12 = (unsigned long )mtd;
13393#line 1451
13394  __cil_tmp13 = __cil_tmp12 + 360;
13395#line 1451
13396  __cil_tmp14 = *((void **)__cil_tmp13);
13397#line 1451
13398  map = (struct map_info *)__cil_tmp14;
13399#line 1452
13400  __cil_tmp15 = (unsigned long )map;
13401#line 1452
13402  __cil_tmp16 = __cil_tmp15 + 120;
13403#line 1452
13404  __cil_tmp17 = *((void **)__cil_tmp16);
13405#line 1452
13406  cfi = (struct cfi_private *)__cil_tmp17;
13407#line 1455
13408  ret = 0;
13409#line 1458
13410  __cil_tmp18 = (unsigned long )cfi;
13411#line 1458
13412  __cil_tmp19 = __cil_tmp18 + 104;
13413#line 1458
13414  __cil_tmp20 = *((unsigned long *)__cil_tmp19);
13415#line 1458
13416  __cil_tmp21 = from >> __cil_tmp20;
13417#line 1458
13418  chipnum = (int )__cil_tmp21;
13419#line 1459
13420  __cil_tmp22 = (unsigned long )cfi;
13421#line 1459
13422  __cil_tmp23 = __cil_tmp22 + 104;
13423#line 1459
13424  __cil_tmp24 = *((unsigned long *)__cil_tmp23);
13425#line 1459
13426  __cil_tmp25 = chipnum << __cil_tmp24;
13427#line 1459
13428  __cil_tmp26 = (loff_t )__cil_tmp25;
13429#line 1459
13430  __cil_tmp27 = from - __cil_tmp26;
13431#line 1459
13432  ofs = (unsigned long )__cil_tmp27;
13433  {
13434#line 1461
13435  while (1) {
13436    while_continue: /* CIL Label */ ;
13437#line 1461
13438    if (len) {
13439
13440    } else {
13441#line 1461
13442      goto while_break;
13443    }
13444    {
13445#line 1464
13446    __cil_tmp28 = (unsigned long )cfi;
13447#line 1464
13448    __cil_tmp29 = __cil_tmp28 + 64;
13449#line 1464
13450    __cil_tmp30 = *((int *)__cil_tmp29);
13451#line 1464
13452    if (chipnum >= __cil_tmp30) {
13453#line 1465
13454      goto while_break;
13455    } else {
13456
13457    }
13458    }
13459    {
13460#line 1467
13461    __cil_tmp31 = (unsigned long )cfi;
13462#line 1467
13463    __cil_tmp32 = __cil_tmp31 + 104;
13464#line 1467
13465    __cil_tmp33 = *((unsigned long *)__cil_tmp32);
13466#line 1467
13467    __cil_tmp34 = len + ofs;
13468#line 1467
13469    __cil_tmp35 = __cil_tmp34 - 1UL;
13470#line 1467
13471    if (__cil_tmp35 >> __cil_tmp33) {
13472#line 1468
13473      __cil_tmp36 = (unsigned long )cfi;
13474#line 1468
13475      __cil_tmp37 = __cil_tmp36 + 104;
13476#line 1468
13477      __cil_tmp38 = *((unsigned long *)__cil_tmp37);
13478#line 1468
13479      __cil_tmp39 = 1 << __cil_tmp38;
13480#line 1468
13481      __cil_tmp40 = (unsigned long )__cil_tmp39;
13482#line 1468
13483      thislen = __cil_tmp40 - ofs;
13484    } else {
13485#line 1470
13486      thislen = len;
13487    }
13488    }
13489    {
13490#line 1472
13491    __cil_tmp41 = chipnum * 176UL;
13492#line 1472
13493    __cil_tmp42 = 120 + __cil_tmp41;
13494#line 1472
13495    __cil_tmp43 = (unsigned long )cfi;
13496#line 1472
13497    __cil_tmp44 = __cil_tmp43 + __cil_tmp42;
13498#line 1472
13499    __cil_tmp45 = (struct flchip *)__cil_tmp44;
13500#line 1472
13501    __cil_tmp46 = (loff_t )ofs;
13502#line 1472
13503    ret = do_read_onechip(map, __cil_tmp45, __cil_tmp46, thislen, buf);
13504    }
13505#line 1473
13506    if (ret) {
13507#line 1474
13508      goto while_break;
13509    } else {
13510
13511    }
13512#line 1476
13513    __cil_tmp47 = *retlen;
13514#line 1476
13515    *retlen = __cil_tmp47 + thislen;
13516#line 1477
13517    len = len - thislen;
13518#line 1478
13519    buf = buf + thislen;
13520#line 1480
13521    ofs = 0UL;
13522#line 1481
13523    chipnum = chipnum + 1;
13524  }
13525  while_break: /* CIL Label */ ;
13526  }
13527#line 1483
13528  return (ret);
13529}
13530}
13531#line 1486 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13532static int do_write_oneword(struct map_info *map , struct flchip *chip , unsigned long adr ,
13533                            map_word datum , int mode ) 
13534{ struct cfi_private *cfi ;
13535  map_word status ;
13536  map_word write_cmd ;
13537  int ret ;
13538  map_word tmp___7 ;
13539  map_word tmp___8 ;
13540  unsigned long chipstatus ;
13541  unsigned long tmp___9 ;
13542  map_word tmp___10 ;
13543  map_word tmp___11 ;
13544  map_word tmp___12 ;
13545  int tmp___13 ;
13546  unsigned long __cil_tmp18 ;
13547  unsigned long __cil_tmp19 ;
13548  void *__cil_tmp20 ;
13549  unsigned long __cil_tmp21 ;
13550  unsigned long __cil_tmp22 ;
13551  unsigned long __cil_tmp23 ;
13552  struct cfi_ident *__cil_tmp24 ;
13553  unsigned long __cil_tmp25 ;
13554  unsigned long __cil_tmp26 ;
13555  uint16_t __cil_tmp27 ;
13556  int __cil_tmp28 ;
13557  u_long __cil_tmp29 ;
13558  u_long __cil_tmp30 ;
13559  u_long __cil_tmp31 ;
13560  unsigned long __cil_tmp32 ;
13561  unsigned long __cil_tmp33 ;
13562  struct mutex *__cil_tmp34 ;
13563  unsigned long __cil_tmp35 ;
13564  unsigned long __cil_tmp36 ;
13565  struct mutex *__cil_tmp37 ;
13566  unsigned long __cil_tmp38 ;
13567  unsigned long __cil_tmp39 ;
13568  unsigned long __cil_tmp40 ;
13569  unsigned long __cil_tmp41 ;
13570  void (*__cil_tmp42)(struct map_info * , int  ) ;
13571  unsigned long __cil_tmp43 ;
13572  unsigned long __cil_tmp44 ;
13573  void (*__cil_tmp45)(struct map_info * , map_word     , unsigned long  ) ;
13574  map_word    __cil_tmp46 ;
13575  unsigned long __cil_tmp47 ;
13576  unsigned long __cil_tmp48 ;
13577  void (*__cil_tmp49)(struct map_info * , map_word     , unsigned long  ) ;
13578  map_word    __cil_tmp50 ;
13579  unsigned long __cil_tmp51 ;
13580  unsigned long __cil_tmp52 ;
13581  unsigned long __cil_tmp53 ;
13582  unsigned long __cil_tmp54 ;
13583  int __cil_tmp55 ;
13584  unsigned long __cil_tmp56 ;
13585  unsigned long __cil_tmp57 ;
13586  int __cil_tmp58 ;
13587  unsigned int __cil_tmp59 ;
13588  unsigned long __cil_tmp60 ;
13589  unsigned long __cil_tmp61 ;
13590  int __cil_tmp62 ;
13591  unsigned int __cil_tmp63 ;
13592  char    *__cil_tmp64 ;
13593  unsigned long __cil_tmp65 ;
13594  unsigned long __cil_tmp66 ;
13595  map_word (*__cil_tmp67)(struct map_info * , unsigned long  ) ;
13596  u_long __cil_tmp68 ;
13597  u_long __cil_tmp69 ;
13598  unsigned long __cil_tmp70 ;
13599  unsigned long __cil_tmp71 ;
13600  void (*__cil_tmp72)(struct map_info * , map_word     , unsigned long  ) ;
13601  map_word    __cil_tmp73 ;
13602  u_long __cil_tmp74 ;
13603  unsigned long __cil_tmp75 ;
13604  unsigned long __cil_tmp76 ;
13605  void (*__cil_tmp77)(struct map_info * , map_word     , unsigned long  ) ;
13606  map_word    __cil_tmp78 ;
13607  char    *__cil_tmp79 ;
13608  char    *__cil_tmp80 ;
13609  unsigned long __cil_tmp81 ;
13610  unsigned long __cil_tmp82 ;
13611  unsigned long __cil_tmp83 ;
13612  unsigned long __cil_tmp84 ;
13613  void (*__cil_tmp85)(struct map_info * , int  ) ;
13614  unsigned long __cil_tmp86 ;
13615  unsigned long __cil_tmp87 ;
13616  struct mutex *__cil_tmp88 ;
13617
13618  {
13619#line 1489
13620  __cil_tmp18 = (unsigned long )map;
13621#line 1489
13622  __cil_tmp19 = __cil_tmp18 + 120;
13623#line 1489
13624  __cil_tmp20 = *((void **)__cil_tmp19);
13625#line 1489
13626  cfi = (struct cfi_private *)__cil_tmp20;
13627#line 1491
13628  ret = 0;
13629#line 1493
13630  __cil_tmp21 = *((unsigned long *)chip);
13631#line 1493
13632  adr = adr + __cil_tmp21;
13633#line 1496
13634  if (mode == 7) {
13635#line 1496
13636    goto case_7;
13637  } else
13638#line 1499
13639  if (mode == 9) {
13640#line 1499
13641    goto case_9;
13642  } else {
13643    {
13644#line 1502
13645    goto switch_default;
13646#line 1495
13647    if (0) {
13648      case_7: /* CIL Label */ 
13649      {
13650#line 1497
13651      __cil_tmp22 = (unsigned long )cfi;
13652#line 1497
13653      __cil_tmp23 = __cil_tmp22 + 48;
13654#line 1497
13655      __cil_tmp24 = *((struct cfi_ident **)__cil_tmp23);
13656#line 1497
13657      __cil_tmp25 = (unsigned long )__cil_tmp24;
13658#line 1497
13659      __cil_tmp26 = __cil_tmp25 + 3;
13660#line 1497
13661      __cil_tmp27 = *((uint16_t *)__cil_tmp26);
13662#line 1497
13663      __cil_tmp28 = (int )__cil_tmp27;
13664#line 1497
13665      if (__cil_tmp28 != 512) {
13666        {
13667#line 1497
13668        __cil_tmp29 = (u_long )64;
13669#line 1497
13670        tmp___7 = cfi_build_cmd(__cil_tmp29, map, cfi);
13671#line 1497
13672        write_cmd = tmp___7;
13673        }
13674      } else {
13675        {
13676#line 1497
13677        __cil_tmp30 = (u_long )65;
13678#line 1497
13679        tmp___8 = cfi_build_cmd(__cil_tmp30, map, cfi);
13680#line 1497
13681        write_cmd = tmp___8;
13682        }
13683      }
13684      }
13685#line 1498
13686      goto switch_break;
13687      case_9: /* CIL Label */ 
13688      {
13689#line 1500
13690      __cil_tmp31 = (u_long )192;
13691#line 1500
13692      write_cmd = cfi_build_cmd(__cil_tmp31, map, cfi);
13693      }
13694#line 1501
13695      goto switch_break;
13696      switch_default: /* CIL Label */ 
13697#line 1503
13698      return (-22);
13699    } else {
13700      switch_break: /* CIL Label */ ;
13701    }
13702    }
13703  }
13704  {
13705#line 1506
13706  __cil_tmp32 = (unsigned long )chip;
13707#line 1506
13708  __cil_tmp33 = __cil_tmp32 + 32;
13709#line 1506
13710  __cil_tmp34 = (struct mutex *)__cil_tmp33;
13711#line 1506
13712  mutex_lock(__cil_tmp34);
13713#line 1507
13714  ret = get_chip(map, chip, adr, mode);
13715  }
13716#line 1508
13717  if (ret) {
13718    {
13719#line 1509
13720    __cil_tmp35 = (unsigned long )chip;
13721#line 1509
13722    __cil_tmp36 = __cil_tmp35 + 32;
13723#line 1509
13724    __cil_tmp37 = (struct mutex *)__cil_tmp36;
13725#line 1509
13726    mutex_unlock(__cil_tmp37);
13727    }
13728#line 1510
13729    return (ret);
13730  } else {
13731
13732  }
13733  {
13734#line 1514
13735  while (1) {
13736    while_continue: /* CIL Label */ ;
13737    {
13738#line 1514
13739    __cil_tmp38 = (unsigned long )map;
13740#line 1514
13741    __cil_tmp39 = __cil_tmp38 + 88;
13742#line 1514
13743    if (*((void (**)(struct map_info * , int  ))__cil_tmp39)) {
13744      {
13745#line 1514
13746      __cil_tmp40 = (unsigned long )map;
13747#line 1514
13748      __cil_tmp41 = __cil_tmp40 + 88;
13749#line 1514
13750      __cil_tmp42 = *((void (**)(struct map_info * , int  ))__cil_tmp41);
13751#line 1514
13752      (*__cil_tmp42)(map, 1);
13753      }
13754    } else {
13755
13756    }
13757    }
13758#line 1514
13759    goto while_break;
13760  }
13761  while_break: /* CIL Label */ ;
13762  }
13763  {
13764#line 1516
13765  __cil_tmp43 = (unsigned long )map;
13766#line 1516
13767  __cil_tmp44 = __cil_tmp43 + 64;
13768#line 1516
13769  __cil_tmp45 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp44);
13770#line 1516
13771  __cil_tmp46 = (map_word    )write_cmd;
13772#line 1516
13773  (*__cil_tmp45)(map, __cil_tmp46, adr);
13774#line 1517
13775  __cil_tmp47 = (unsigned long )map;
13776#line 1517
13777  __cil_tmp48 = __cil_tmp47 + 64;
13778#line 1517
13779  __cil_tmp49 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp48);
13780#line 1517
13781  __cil_tmp50 = (map_word    )datum;
13782#line 1517
13783  (*__cil_tmp49)(map, __cil_tmp50, adr);
13784#line 1518
13785  __cil_tmp51 = (unsigned long )chip;
13786#line 1518
13787  __cil_tmp52 = __cil_tmp51 + 12;
13788#line 1518
13789  *((flstate_t *)__cil_tmp52) = (flstate_t )mode;
13790#line 1520
13791  __cil_tmp53 = (unsigned long )map;
13792#line 1520
13793  __cil_tmp54 = __cil_tmp53 + 44;
13794#line 1520
13795  __cil_tmp55 = *((int *)__cil_tmp54);
13796#line 1520
13797  __cil_tmp56 = (unsigned long )chip;
13798#line 1520
13799  __cil_tmp57 = __cil_tmp56 + 144;
13800#line 1520
13801  __cil_tmp58 = *((int *)__cil_tmp57);
13802#line 1520
13803  __cil_tmp59 = (unsigned int )__cil_tmp58;
13804#line 1520
13805  __cil_tmp60 = (unsigned long )chip;
13806#line 1520
13807  __cil_tmp61 = __cil_tmp60 + 156;
13808#line 1520
13809  __cil_tmp62 = *((int *)__cil_tmp61);
13810#line 1520
13811  __cil_tmp63 = (unsigned int )__cil_tmp62;
13812#line 1520
13813  ret = inval_cache_and_wait_for_operation(map, chip, adr, adr, __cil_tmp55, __cil_tmp59,
13814                                           __cil_tmp63);
13815  }
13816#line 1524
13817  if (ret) {
13818    {
13819#line 1526
13820    __cil_tmp64 = *((char    **)map);
13821#line 1526
13822    printk("<3>%s: word write error (status timeout)\n", __cil_tmp64);
13823    }
13824#line 1527
13825    goto out;
13826  } else {
13827
13828  }
13829  {
13830#line 1531
13831  __cil_tmp65 = (unsigned long )map;
13832#line 1531
13833  __cil_tmp66 = __cil_tmp65 + 48;
13834#line 1531
13835  __cil_tmp67 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp66);
13836#line 1531
13837  status = (*__cil_tmp67)(map, adr);
13838#line 1532
13839  __cil_tmp68 = (u_long )26;
13840#line 1532
13841  tmp___12 = cfi_build_cmd(__cil_tmp68, map, cfi);
13842#line 1532
13843  tmp___13 = map_word_bitsset(map, status, tmp___12);
13844  }
13845#line 1532
13846  if (tmp___13) {
13847    {
13848#line 1533
13849    tmp___9 = cfi_merge_status(status, map, cfi);
13850#line 1533
13851    chipstatus = tmp___9;
13852#line 1536
13853    __cil_tmp69 = (u_long )80;
13854#line 1536
13855    tmp___10 = cfi_build_cmd(__cil_tmp69, map, cfi);
13856#line 1536
13857    __cil_tmp70 = (unsigned long )map;
13858#line 1536
13859    __cil_tmp71 = __cil_tmp70 + 64;
13860#line 1536
13861    __cil_tmp72 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp71);
13862#line 1536
13863    __cil_tmp73 = (map_word    )tmp___10;
13864#line 1536
13865    (*__cil_tmp72)(map, __cil_tmp73, adr);
13866#line 1537
13867    __cil_tmp74 = (u_long )112;
13868#line 1537
13869    tmp___11 = cfi_build_cmd(__cil_tmp74, map, cfi);
13870#line 1537
13871    __cil_tmp75 = (unsigned long )map;
13872#line 1537
13873    __cil_tmp76 = __cil_tmp75 + 64;
13874#line 1537
13875    __cil_tmp77 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp76);
13876#line 1537
13877    __cil_tmp78 = (map_word    )tmp___11;
13878#line 1537
13879    (*__cil_tmp77)(map, __cil_tmp78, adr);
13880    }
13881#line 1540
13882    if (chipstatus & 2UL) {
13883#line 1541
13884      ret = -30;
13885    } else
13886#line 1542
13887    if (chipstatus & 8UL) {
13888      {
13889#line 1543
13890      __cil_tmp79 = *((char    **)map);
13891#line 1543
13892      printk("<3>%s: word write error (bad VPP)\n", __cil_tmp79);
13893#line 1544
13894      ret = -5;
13895      }
13896    } else {
13897      {
13898#line 1546
13899      __cil_tmp80 = *((char    **)map);
13900#line 1546
13901      printk("<3>%s: word write error (status 0x%lx)\n", __cil_tmp80, chipstatus);
13902#line 1547
13903      ret = -22;
13904      }
13905    }
13906#line 1550
13907    goto out;
13908  } else {
13909
13910  }
13911  out: 
13912  {
13913#line 1554
13914  while (1) {
13915    while_continue___0: /* CIL Label */ ;
13916    {
13917#line 1554
13918    __cil_tmp81 = (unsigned long )map;
13919#line 1554
13920    __cil_tmp82 = __cil_tmp81 + 88;
13921#line 1554
13922    if (*((void (**)(struct map_info * , int  ))__cil_tmp82)) {
13923      {
13924#line 1554
13925      __cil_tmp83 = (unsigned long )map;
13926#line 1554
13927      __cil_tmp84 = __cil_tmp83 + 88;
13928#line 1554
13929      __cil_tmp85 = *((void (**)(struct map_info * , int  ))__cil_tmp84);
13930#line 1554
13931      (*__cil_tmp85)(map, 0);
13932      }
13933    } else {
13934
13935    }
13936    }
13937#line 1554
13938    goto while_break___0;
13939  }
13940  while_break___0: /* CIL Label */ ;
13941  }
13942  {
13943#line 1555
13944  put_chip(map, chip, adr);
13945#line 1556
13946  __cil_tmp86 = (unsigned long )chip;
13947#line 1556
13948  __cil_tmp87 = __cil_tmp86 + 32;
13949#line 1556
13950  __cil_tmp88 = (struct mutex *)__cil_tmp87;
13951#line 1556
13952  mutex_unlock(__cil_tmp88);
13953  }
13954#line 1557
13955  return (ret);
13956}
13957}
13958#line 1561 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
13959static int cfi_intelext_write_words(struct mtd_info *mtd , loff_t to , size_t len ,
13960                                    size_t *retlen , u_char    *buf ) 
13961{ struct map_info *map ;
13962  struct cfi_private *cfi ;
13963  int ret ;
13964  int chipnum ;
13965  unsigned long ofs ;
13966  unsigned long bus_ofs ;
13967  int gap ;
13968  int n ;
13969  map_word datum ;
13970  int __min1 ;
13971  int __min2 ;
13972  int tmp___7 ;
13973  map_word datum___0 ;
13974  map_word tmp___8 ;
13975  map_word datum___1 ;
13976  unsigned long __cil_tmp21 ;
13977  unsigned long __cil_tmp22 ;
13978  void *__cil_tmp23 ;
13979  unsigned long __cil_tmp24 ;
13980  unsigned long __cil_tmp25 ;
13981  void *__cil_tmp26 ;
13982  unsigned long __cil_tmp27 ;
13983  unsigned long __cil_tmp28 ;
13984  unsigned long __cil_tmp29 ;
13985  loff_t __cil_tmp30 ;
13986  unsigned long __cil_tmp31 ;
13987  unsigned long __cil_tmp32 ;
13988  unsigned long __cil_tmp33 ;
13989  int __cil_tmp34 ;
13990  loff_t __cil_tmp35 ;
13991  loff_t __cil_tmp36 ;
13992  unsigned long __cil_tmp37 ;
13993  unsigned long __cil_tmp38 ;
13994  int __cil_tmp39 ;
13995  int __cil_tmp40 ;
13996  unsigned long __cil_tmp41 ;
13997  unsigned long __cil_tmp42 ;
13998  unsigned long __cil_tmp43 ;
13999  int __cil_tmp44 ;
14000  int __cil_tmp45 ;
14001  int __cil_tmp46 ;
14002  unsigned long __cil_tmp47 ;
14003  unsigned long __cil_tmp48 ;
14004  unsigned long __cil_tmp49 ;
14005  unsigned long __cil_tmp50 ;
14006  int __cil_tmp51 ;
14007  unsigned long __cil_tmp52 ;
14008  unsigned long __cil_tmp53 ;
14009  unsigned long __cil_tmp54 ;
14010  unsigned long __cil_tmp55 ;
14011  struct flchip *__cil_tmp56 ;
14012  size_t __cil_tmp57 ;
14013  unsigned long __cil_tmp58 ;
14014  size_t __cil_tmp59 ;
14015  size_t __cil_tmp60 ;
14016  unsigned long __cil_tmp61 ;
14017  unsigned long __cil_tmp62 ;
14018  unsigned long __cil_tmp63 ;
14019  unsigned long __cil_tmp64 ;
14020  unsigned long __cil_tmp65 ;
14021  int __cil_tmp66 ;
14022  unsigned long __cil_tmp67 ;
14023  unsigned long __cil_tmp68 ;
14024  int __cil_tmp69 ;
14025  size_t __cil_tmp70 ;
14026  void    *__cil_tmp71 ;
14027  unsigned long __cil_tmp72 ;
14028  unsigned long __cil_tmp73 ;
14029  unsigned long __cil_tmp74 ;
14030  unsigned long __cil_tmp75 ;
14031  struct flchip *__cil_tmp76 ;
14032  unsigned long __cil_tmp77 ;
14033  unsigned long __cil_tmp78 ;
14034  int __cil_tmp79 ;
14035  unsigned long __cil_tmp80 ;
14036  unsigned long __cil_tmp81 ;
14037  unsigned long __cil_tmp82 ;
14038  int __cil_tmp83 ;
14039  unsigned long __cil_tmp84 ;
14040  unsigned long __cil_tmp85 ;
14041  int __cil_tmp86 ;
14042  size_t __cil_tmp87 ;
14043  size_t __cil_tmp88 ;
14044  unsigned long __cil_tmp89 ;
14045  unsigned long __cil_tmp90 ;
14046  int __cil_tmp91 ;
14047  size_t __cil_tmp92 ;
14048  unsigned long __cil_tmp93 ;
14049  unsigned long __cil_tmp94 ;
14050  unsigned long __cil_tmp95 ;
14051  unsigned long __cil_tmp96 ;
14052  unsigned long __cil_tmp97 ;
14053  int __cil_tmp98 ;
14054  unsigned long __cil_tmp99 ;
14055  unsigned long __cil_tmp100 ;
14056  int __cil_tmp101 ;
14057  int __cil_tmp102 ;
14058  unsigned long __cil_tmp103 ;
14059  int __cil_tmp104 ;
14060  unsigned long __cil_tmp105 ;
14061  unsigned long __cil_tmp106 ;
14062  unsigned long __cil_tmp107 ;
14063  unsigned long __cil_tmp108 ;
14064  struct flchip *__cil_tmp109 ;
14065  size_t __cil_tmp110 ;
14066
14067  {
14068#line 1563
14069  __cil_tmp21 = (unsigned long )mtd;
14070#line 1563
14071  __cil_tmp22 = __cil_tmp21 + 360;
14072#line 1563
14073  __cil_tmp23 = *((void **)__cil_tmp22);
14074#line 1563
14075  map = (struct map_info *)__cil_tmp23;
14076#line 1564
14077  __cil_tmp24 = (unsigned long )map;
14078#line 1564
14079  __cil_tmp25 = __cil_tmp24 + 120;
14080#line 1564
14081  __cil_tmp26 = *((void **)__cil_tmp25);
14082#line 1564
14083  cfi = (struct cfi_private *)__cil_tmp26;
14084#line 1565
14085  ret = 0;
14086#line 1569
14087  __cil_tmp27 = (unsigned long )cfi;
14088#line 1569
14089  __cil_tmp28 = __cil_tmp27 + 104;
14090#line 1569
14091  __cil_tmp29 = *((unsigned long *)__cil_tmp28);
14092#line 1569
14093  __cil_tmp30 = to >> __cil_tmp29;
14094#line 1569
14095  chipnum = (int )__cil_tmp30;
14096#line 1570
14097  __cil_tmp31 = (unsigned long )cfi;
14098#line 1570
14099  __cil_tmp32 = __cil_tmp31 + 104;
14100#line 1570
14101  __cil_tmp33 = *((unsigned long *)__cil_tmp32);
14102#line 1570
14103  __cil_tmp34 = chipnum << __cil_tmp33;
14104#line 1570
14105  __cil_tmp35 = (loff_t )__cil_tmp34;
14106#line 1570
14107  __cil_tmp36 = to - __cil_tmp35;
14108#line 1570
14109  ofs = (unsigned long )__cil_tmp36;
14110  {
14111#line 1573
14112  __cil_tmp37 = (unsigned long )map;
14113#line 1573
14114  __cil_tmp38 = __cil_tmp37 + 44;
14115#line 1573
14116  __cil_tmp39 = *((int *)__cil_tmp38);
14117#line 1573
14118  __cil_tmp40 = __cil_tmp39 - 1;
14119#line 1573
14120  __cil_tmp41 = (unsigned long )__cil_tmp40;
14121#line 1573
14122  if (ofs & __cil_tmp41) {
14123#line 1574
14124    __cil_tmp42 = (unsigned long )map;
14125#line 1574
14126    __cil_tmp43 = __cil_tmp42 + 44;
14127#line 1574
14128    __cil_tmp44 = *((int *)__cil_tmp43);
14129#line 1574
14130    __cil_tmp45 = __cil_tmp44 - 1;
14131#line 1574
14132    __cil_tmp46 = ~ __cil_tmp45;
14133#line 1574
14134    __cil_tmp47 = (unsigned long )__cil_tmp46;
14135#line 1574
14136    bus_ofs = ofs & __cil_tmp47;
14137#line 1575
14138    __cil_tmp48 = ofs - bus_ofs;
14139#line 1575
14140    gap = (int )__cil_tmp48;
14141#line 1579
14142    __min1 = (int )len;
14143#line 1579
14144    __cil_tmp49 = (unsigned long )map;
14145#line 1579
14146    __cil_tmp50 = __cil_tmp49 + 44;
14147#line 1579
14148    __cil_tmp51 = *((int *)__cil_tmp50);
14149#line 1579
14150    __min2 = __cil_tmp51 - gap;
14151#line 1579
14152    if (__min1 < __min2) {
14153#line 1579
14154      tmp___7 = __min1;
14155    } else {
14156#line 1579
14157      tmp___7 = __min2;
14158    }
14159    {
14160#line 1579
14161    n = tmp___7;
14162#line 1580
14163    datum = map_word_ff(map);
14164#line 1581
14165    datum = map_word_load_partial(map, datum, buf, gap, n);
14166#line 1583
14167    __cil_tmp52 = chipnum * 176UL;
14168#line 1583
14169    __cil_tmp53 = 120 + __cil_tmp52;
14170#line 1583
14171    __cil_tmp54 = (unsigned long )cfi;
14172#line 1583
14173    __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
14174#line 1583
14175    __cil_tmp56 = (struct flchip *)__cil_tmp55;
14176#line 1583
14177    ret = do_write_oneword(map, __cil_tmp56, bus_ofs, datum, 7);
14178    }
14179#line 1585
14180    if (ret) {
14181#line 1586
14182      return (ret);
14183    } else {
14184
14185    }
14186#line 1588
14187    __cil_tmp57 = (size_t )n;
14188#line 1588
14189    len = len - __cil_tmp57;
14190#line 1589
14191    __cil_tmp58 = (unsigned long )n;
14192#line 1589
14193    ofs = ofs + __cil_tmp58;
14194#line 1590
14195    buf = buf + n;
14196#line 1591
14197    __cil_tmp59 = (size_t )n;
14198#line 1591
14199    __cil_tmp60 = *retlen;
14200#line 1591
14201    *retlen = __cil_tmp60 + __cil_tmp59;
14202    {
14203#line 1593
14204    __cil_tmp61 = (unsigned long )cfi;
14205#line 1593
14206    __cil_tmp62 = __cil_tmp61 + 104;
14207#line 1593
14208    __cil_tmp63 = *((unsigned long *)__cil_tmp62);
14209#line 1593
14210    if (ofs >> __cil_tmp63) {
14211#line 1594
14212      chipnum = chipnum + 1;
14213#line 1595
14214      ofs = 0UL;
14215      {
14216#line 1596
14217      __cil_tmp64 = (unsigned long )cfi;
14218#line 1596
14219      __cil_tmp65 = __cil_tmp64 + 64;
14220#line 1596
14221      __cil_tmp66 = *((int *)__cil_tmp65);
14222#line 1596
14223      if (chipnum == __cil_tmp66) {
14224#line 1597
14225        return (0);
14226      } else {
14227
14228      }
14229      }
14230    } else {
14231
14232    }
14233    }
14234  } else {
14235
14236  }
14237  }
14238  {
14239#line 1601
14240  while (1) {
14241    while_continue: /* CIL Label */ ;
14242    {
14243#line 1601
14244    __cil_tmp67 = (unsigned long )map;
14245#line 1601
14246    __cil_tmp68 = __cil_tmp67 + 44;
14247#line 1601
14248    __cil_tmp69 = *((int *)__cil_tmp68);
14249#line 1601
14250    __cil_tmp70 = (size_t )__cil_tmp69;
14251#line 1601
14252    if (len >= __cil_tmp70) {
14253
14254    } else {
14255#line 1601
14256      goto while_break;
14257    }
14258    }
14259    {
14260#line 1602
14261    __cil_tmp71 = (void    *)buf;
14262#line 1602
14263    tmp___8 = map_word_load(map, __cil_tmp71);
14264#line 1602
14265    datum___0 = tmp___8;
14266#line 1604
14267    __cil_tmp72 = chipnum * 176UL;
14268#line 1604
14269    __cil_tmp73 = 120 + __cil_tmp72;
14270#line 1604
14271    __cil_tmp74 = (unsigned long )cfi;
14272#line 1604
14273    __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
14274#line 1604
14275    __cil_tmp76 = (struct flchip *)__cil_tmp75;
14276#line 1604
14277    ret = do_write_oneword(map, __cil_tmp76, ofs, datum___0, 7);
14278    }
14279#line 1606
14280    if (ret) {
14281#line 1607
14282      return (ret);
14283    } else {
14284
14285    }
14286#line 1609
14287    __cil_tmp77 = (unsigned long )map;
14288#line 1609
14289    __cil_tmp78 = __cil_tmp77 + 44;
14290#line 1609
14291    __cil_tmp79 = *((int *)__cil_tmp78);
14292#line 1609
14293    __cil_tmp80 = (unsigned long )__cil_tmp79;
14294#line 1609
14295    ofs = ofs + __cil_tmp80;
14296#line 1610
14297    __cil_tmp81 = (unsigned long )map;
14298#line 1610
14299    __cil_tmp82 = __cil_tmp81 + 44;
14300#line 1610
14301    __cil_tmp83 = *((int *)__cil_tmp82);
14302#line 1610
14303    buf = buf + __cil_tmp83;
14304#line 1611
14305    __cil_tmp84 = (unsigned long )map;
14306#line 1611
14307    __cil_tmp85 = __cil_tmp84 + 44;
14308#line 1611
14309    __cil_tmp86 = *((int *)__cil_tmp85);
14310#line 1611
14311    __cil_tmp87 = (size_t )__cil_tmp86;
14312#line 1611
14313    __cil_tmp88 = *retlen;
14314#line 1611
14315    *retlen = __cil_tmp88 + __cil_tmp87;
14316#line 1612
14317    __cil_tmp89 = (unsigned long )map;
14318#line 1612
14319    __cil_tmp90 = __cil_tmp89 + 44;
14320#line 1612
14321    __cil_tmp91 = *((int *)__cil_tmp90);
14322#line 1612
14323    __cil_tmp92 = (size_t )__cil_tmp91;
14324#line 1612
14325    len = len - __cil_tmp92;
14326    {
14327#line 1614
14328    __cil_tmp93 = (unsigned long )cfi;
14329#line 1614
14330    __cil_tmp94 = __cil_tmp93 + 104;
14331#line 1614
14332    __cil_tmp95 = *((unsigned long *)__cil_tmp94);
14333#line 1614
14334    if (ofs >> __cil_tmp95) {
14335#line 1615
14336      chipnum = chipnum + 1;
14337#line 1616
14338      ofs = 0UL;
14339      {
14340#line 1617
14341      __cil_tmp96 = (unsigned long )cfi;
14342#line 1617
14343      __cil_tmp97 = __cil_tmp96 + 64;
14344#line 1617
14345      __cil_tmp98 = *((int *)__cil_tmp97);
14346#line 1617
14347      if (chipnum == __cil_tmp98) {
14348#line 1618
14349        return (0);
14350      } else {
14351
14352      }
14353      }
14354    } else {
14355
14356    }
14357    }
14358  }
14359  while_break: /* CIL Label */ ;
14360  }
14361  {
14362#line 1622
14363  __cil_tmp99 = (unsigned long )map;
14364#line 1622
14365  __cil_tmp100 = __cil_tmp99 + 44;
14366#line 1622
14367  __cil_tmp101 = *((int *)__cil_tmp100);
14368#line 1622
14369  __cil_tmp102 = __cil_tmp101 - 1;
14370#line 1622
14371  __cil_tmp103 = (unsigned long )__cil_tmp102;
14372#line 1622
14373  if (len & __cil_tmp103) {
14374    {
14375#line 1625
14376    datum___1 = map_word_ff(map);
14377#line 1626
14378    __cil_tmp104 = (int )len;
14379#line 1626
14380    datum___1 = map_word_load_partial(map, datum___1, buf, 0, __cil_tmp104);
14381#line 1628
14382    __cil_tmp105 = chipnum * 176UL;
14383#line 1628
14384    __cil_tmp106 = 120 + __cil_tmp105;
14385#line 1628
14386    __cil_tmp107 = (unsigned long )cfi;
14387#line 1628
14388    __cil_tmp108 = __cil_tmp107 + __cil_tmp106;
14389#line 1628
14390    __cil_tmp109 = (struct flchip *)__cil_tmp108;
14391#line 1628
14392    ret = do_write_oneword(map, __cil_tmp109, ofs, datum___1, 7);
14393    }
14394#line 1630
14395    if (ret) {
14396#line 1631
14397      return (ret);
14398    } else {
14399
14400    }
14401#line 1633
14402    __cil_tmp110 = *retlen;
14403#line 1633
14404    *retlen = __cil_tmp110 + len;
14405  } else {
14406
14407  }
14408  }
14409#line 1636
14410  return (0);
14411}
14412}
14413#line 1640 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
14414static int do_write_buffer(struct map_info *map , struct flchip *chip , unsigned long adr ,
14415                           struct kvec    **pvec , unsigned long *pvec_seek ,
14416                           int len ) 
14417{ struct cfi_private *cfi ;
14418  map_word status ;
14419  map_word write_cmd ;
14420  map_word datum ;
14421  unsigned long cmd_adr ;
14422  int ret ;
14423  int wbufsize ;
14424  int word_gap ;
14425  int words ;
14426  struct kvec    *vec ;
14427  unsigned long vec_seek ;
14428  unsigned long initial_adr ;
14429  int initial_len ;
14430  map_word tmp___7 ;
14431  map_word tmp___8 ;
14432  map_word tmp___9 ;
14433  map_word tmp___10 ;
14434  map_word tmp___11 ;
14435  map_word tmp___12 ;
14436  int tmp___13 ;
14437  map_word Xstatus ;
14438  map_word tmp___14 ;
14439  map_word tmp___15 ;
14440  map_word tmp___16 ;
14441  map_word tmp___17 ;
14442  map_word tmp___18 ;
14443  int n ;
14444  map_word tmp___19 ;
14445  map_word tmp___20 ;
14446  unsigned long chipstatus ;
14447  unsigned long tmp___21 ;
14448  map_word tmp___22 ;
14449  map_word tmp___23 ;
14450  map_word tmp___24 ;
14451  int tmp___25 ;
14452  unsigned long __cil_tmp42 ;
14453  unsigned long __cil_tmp43 ;
14454  void *__cil_tmp44 ;
14455  unsigned long __cil_tmp45 ;
14456  unsigned long __cil_tmp46 ;
14457  struct cfi_ident *__cil_tmp47 ;
14458  unsigned long __cil_tmp48 ;
14459  unsigned long __cil_tmp49 ;
14460  uint16_t __cil_tmp50 ;
14461  int __cil_tmp51 ;
14462  unsigned long __cil_tmp52 ;
14463  unsigned long __cil_tmp53 ;
14464  int __cil_tmp54 ;
14465  unsigned long __cil_tmp55 ;
14466  int __cil_tmp56 ;
14467  int __cil_tmp57 ;
14468  unsigned long __cil_tmp58 ;
14469  unsigned long __cil_tmp59 ;
14470  unsigned long __cil_tmp60 ;
14471  struct cfi_ident *__cil_tmp61 ;
14472  unsigned long __cil_tmp62 ;
14473  unsigned long __cil_tmp63 ;
14474  uint16_t __cil_tmp64 ;
14475  int __cil_tmp65 ;
14476  u_long __cil_tmp66 ;
14477  u_long __cil_tmp67 ;
14478  unsigned long __cil_tmp68 ;
14479  unsigned long __cil_tmp69 ;
14480  struct mutex *__cil_tmp70 ;
14481  unsigned long __cil_tmp71 ;
14482  unsigned long __cil_tmp72 ;
14483  struct mutex *__cil_tmp73 ;
14484  unsigned long __cil_tmp74 ;
14485  unsigned long __cil_tmp75 ;
14486  unsigned long __cil_tmp76 ;
14487  unsigned long __cil_tmp77 ;
14488  void (*__cil_tmp78)(struct map_info * , int  ) ;
14489  unsigned long __cil_tmp79 ;
14490  unsigned long __cil_tmp80 ;
14491  flstate_t __cil_tmp81 ;
14492  unsigned int __cil_tmp82 ;
14493  u_long __cil_tmp83 ;
14494  unsigned long __cil_tmp84 ;
14495  unsigned long __cil_tmp85 ;
14496  void (*__cil_tmp86)(struct map_info * , map_word     , unsigned long  ) ;
14497  map_word    __cil_tmp87 ;
14498  unsigned long __cil_tmp88 ;
14499  unsigned long __cil_tmp89 ;
14500  map_word *__cil_tmp90 ;
14501  unsigned long __cil_tmp91 ;
14502  unsigned long __cil_tmp92 ;
14503  map_word (*__cil_tmp93)(struct map_info * , unsigned long  ) ;
14504  u_long __cil_tmp94 ;
14505  map_word *__cil_tmp95 ;
14506  map_word __cil_tmp96 ;
14507  unsigned long __cil_tmp97 ;
14508  unsigned long __cil_tmp98 ;
14509  unsigned long __cil_tmp99 ;
14510  unsigned long __cil_tmp100 ;
14511  u_long __cil_tmp101 ;
14512  unsigned long __cil_tmp102 ;
14513  unsigned long __cil_tmp103 ;
14514  void (*__cil_tmp104)(struct map_info * , map_word     , unsigned long  ) ;
14515  map_word    __cil_tmp105 ;
14516  u_long __cil_tmp106 ;
14517  unsigned long __cil_tmp107 ;
14518  unsigned long __cil_tmp108 ;
14519  void (*__cil_tmp109)(struct map_info * , map_word     , unsigned long  ) ;
14520  map_word    __cil_tmp110 ;
14521  unsigned long __cil_tmp111 ;
14522  unsigned long __cil_tmp112 ;
14523  unsigned long __cil_tmp113 ;
14524  unsigned long __cil_tmp114 ;
14525  void (*__cil_tmp115)(struct map_info * , map_word     , unsigned long  ) ;
14526  map_word    __cil_tmp116 ;
14527  unsigned long __cil_tmp117 ;
14528  unsigned long __cil_tmp118 ;
14529  map_word (*__cil_tmp119)(struct map_info * , unsigned long  ) ;
14530  map_word *__cil_tmp120 ;
14531  u_long __cil_tmp121 ;
14532  unsigned long __cil_tmp122 ;
14533  unsigned long __cil_tmp123 ;
14534  void (*__cil_tmp124)(struct map_info * , map_word     , unsigned long  ) ;
14535  map_word    __cil_tmp125 ;
14536  unsigned long __cil_tmp126 ;
14537  unsigned long __cil_tmp127 ;
14538  map_word *__cil_tmp128 ;
14539  unsigned long __cil_tmp129 ;
14540  unsigned long __cil_tmp130 ;
14541  map_word (*__cil_tmp131)(struct map_info * , unsigned long  ) ;
14542  u_long __cil_tmp132 ;
14543  unsigned long __cil_tmp133 ;
14544  unsigned long __cil_tmp134 ;
14545  void (*__cil_tmp135)(struct map_info * , map_word     , unsigned long  ) ;
14546  map_word    __cil_tmp136 ;
14547  u_long __cil_tmp137 ;
14548  unsigned long __cil_tmp138 ;
14549  unsigned long __cil_tmp139 ;
14550  void (*__cil_tmp140)(struct map_info * , map_word     , unsigned long  ) ;
14551  map_word    __cil_tmp141 ;
14552  char    *__cil_tmp142 ;
14553  unsigned long __cil_tmp143 ;
14554  unsigned long __cil_tmp144 ;
14555  unsigned long __cil_tmp145 ;
14556  unsigned long __cil_tmp146 ;
14557  unsigned long __cil_tmp147 ;
14558  unsigned long __cil_tmp148 ;
14559  unsigned long __cil_tmp149 ;
14560  unsigned long __cil_tmp150 ;
14561  unsigned long __cil_tmp151 ;
14562  unsigned long __cil_tmp152 ;
14563  int __cil_tmp153 ;
14564  int __cil_tmp154 ;
14565  unsigned long __cil_tmp155 ;
14566  unsigned long __cil_tmp156 ;
14567  unsigned long __cil_tmp157 ;
14568  unsigned long __cil_tmp158 ;
14569  unsigned long __cil_tmp159 ;
14570  int __cil_tmp160 ;
14571  unsigned long __cil_tmp161 ;
14572  unsigned long __cil_tmp162 ;
14573  int __cil_tmp163 ;
14574  int __cil_tmp164 ;
14575  int __cil_tmp165 ;
14576  int __cil_tmp166 ;
14577  unsigned long __cil_tmp167 ;
14578  unsigned long __cil_tmp168 ;
14579  int __cil_tmp169 ;
14580  unsigned long __cil_tmp170 ;
14581  u_long __cil_tmp171 ;
14582  unsigned long __cil_tmp172 ;
14583  unsigned long __cil_tmp173 ;
14584  void (*__cil_tmp174)(struct map_info * , map_word     , unsigned long  ) ;
14585  map_word    __cil_tmp175 ;
14586  unsigned long __cil_tmp176 ;
14587  unsigned long __cil_tmp177 ;
14588  int __cil_tmp178 ;
14589  size_t    __cil_tmp179 ;
14590  unsigned long __cil_tmp180 ;
14591  unsigned long __cil_tmp181 ;
14592  size_t    __cil_tmp182 ;
14593  size_t    __cil_tmp183 ;
14594  size_t    __cil_tmp184 ;
14595  size_t    __cil_tmp185 ;
14596  unsigned long __cil_tmp186 ;
14597  unsigned long __cil_tmp187 ;
14598  size_t    __cil_tmp188 ;
14599  size_t    __cil_tmp189 ;
14600  unsigned long __cil_tmp190 ;
14601  unsigned long __cil_tmp191 ;
14602  int __cil_tmp192 ;
14603  void *   __cil_tmp193 ;
14604  void *   __cil_tmp194 ;
14605  unsigned char    *__cil_tmp195 ;
14606  unsigned long __cil_tmp196 ;
14607  unsigned long __cil_tmp197 ;
14608  void (*__cil_tmp198)(struct map_info * , map_word     , unsigned long  ) ;
14609  map_word    __cil_tmp199 ;
14610  unsigned long __cil_tmp200 ;
14611  unsigned long __cil_tmp201 ;
14612  int __cil_tmp202 ;
14613  unsigned long __cil_tmp203 ;
14614  unsigned long __cil_tmp204 ;
14615  unsigned long __cil_tmp205 ;
14616  int __cil_tmp206 ;
14617  unsigned long __cil_tmp207 ;
14618  unsigned long __cil_tmp208 ;
14619  void (*__cil_tmp209)(struct map_info * , map_word     , unsigned long  ) ;
14620  map_word    __cil_tmp210 ;
14621  unsigned long __cil_tmp211 ;
14622  unsigned long __cil_tmp212 ;
14623  int __cil_tmp213 ;
14624  unsigned long __cil_tmp214 ;
14625  unsigned long __cil_tmp215 ;
14626  unsigned long __cil_tmp216 ;
14627  unsigned long __cil_tmp217 ;
14628  size_t    __cil_tmp218 ;
14629  unsigned long __cil_tmp219 ;
14630  u_long __cil_tmp220 ;
14631  unsigned long __cil_tmp221 ;
14632  unsigned long __cil_tmp222 ;
14633  void (*__cil_tmp223)(struct map_info * , map_word     , unsigned long  ) ;
14634  map_word    __cil_tmp224 ;
14635  unsigned long __cil_tmp225 ;
14636  unsigned long __cil_tmp226 ;
14637  unsigned long __cil_tmp227 ;
14638  unsigned long __cil_tmp228 ;
14639  int __cil_tmp229 ;
14640  unsigned int __cil_tmp230 ;
14641  unsigned long __cil_tmp231 ;
14642  unsigned long __cil_tmp232 ;
14643  int __cil_tmp233 ;
14644  unsigned int __cil_tmp234 ;
14645  u_long __cil_tmp235 ;
14646  unsigned long __cil_tmp236 ;
14647  unsigned long __cil_tmp237 ;
14648  void (*__cil_tmp238)(struct map_info * , map_word     , unsigned long  ) ;
14649  map_word    __cil_tmp239 ;
14650  unsigned long __cil_tmp240 ;
14651  unsigned long __cil_tmp241 ;
14652  char    *__cil_tmp242 ;
14653  map_word *__cil_tmp243 ;
14654  unsigned long __cil_tmp244 ;
14655  unsigned long __cil_tmp245 ;
14656  map_word (*__cil_tmp246)(struct map_info * , unsigned long  ) ;
14657  u_long __cil_tmp247 ;
14658  map_word *__cil_tmp248 ;
14659  map_word __cil_tmp249 ;
14660  map_word *__cil_tmp250 ;
14661  map_word __cil_tmp251 ;
14662  u_long __cil_tmp252 ;
14663  unsigned long __cil_tmp253 ;
14664  unsigned long __cil_tmp254 ;
14665  void (*__cil_tmp255)(struct map_info * , map_word     , unsigned long  ) ;
14666  map_word    __cil_tmp256 ;
14667  u_long __cil_tmp257 ;
14668  unsigned long __cil_tmp258 ;
14669  unsigned long __cil_tmp259 ;
14670  void (*__cil_tmp260)(struct map_info * , map_word     , unsigned long  ) ;
14671  map_word    __cil_tmp261 ;
14672  char    *__cil_tmp262 ;
14673  char    *__cil_tmp263 ;
14674  unsigned long __cil_tmp264 ;
14675  unsigned long __cil_tmp265 ;
14676  unsigned long __cil_tmp266 ;
14677  unsigned long __cil_tmp267 ;
14678  void (*__cil_tmp268)(struct map_info * , int  ) ;
14679  unsigned long __cil_tmp269 ;
14680  unsigned long __cil_tmp270 ;
14681  struct mutex *__cil_tmp271 ;
14682
14683  {
14684#line 1644
14685  __cil_tmp42 = (unsigned long )map;
14686#line 1644
14687  __cil_tmp43 = __cil_tmp42 + 120;
14688#line 1644
14689  __cil_tmp44 = *((void **)__cil_tmp43);
14690#line 1644
14691  cfi = (struct cfi_private *)__cil_tmp44;
14692#line 1651
14693  initial_len = len;
14694#line 1653
14695  __cil_tmp45 = (unsigned long )cfi;
14696#line 1653
14697  __cil_tmp46 = __cil_tmp45 + 48;
14698#line 1653
14699  __cil_tmp47 = *((struct cfi_ident **)__cil_tmp46);
14700#line 1653
14701  __cil_tmp48 = (unsigned long )__cil_tmp47;
14702#line 1653
14703  __cil_tmp49 = __cil_tmp48 + 26;
14704#line 1653
14705  __cil_tmp50 = *((uint16_t *)__cil_tmp49);
14706#line 1653
14707  __cil_tmp51 = (int )__cil_tmp50;
14708#line 1653
14709  __cil_tmp52 = (unsigned long )cfi;
14710#line 1653
14711  __cil_tmp53 = __cil_tmp52 + 16;
14712#line 1653
14713  __cil_tmp54 = *((int *)__cil_tmp53);
14714#line 1653
14715  wbufsize = __cil_tmp54 << __cil_tmp51;
14716#line 1654
14717  __cil_tmp55 = *((unsigned long *)chip);
14718#line 1654
14719  adr = adr + __cil_tmp55;
14720#line 1655
14721  initial_adr = adr;
14722#line 1656
14723  __cil_tmp56 = wbufsize - 1;
14724#line 1656
14725  __cil_tmp57 = ~ __cil_tmp56;
14726#line 1656
14727  __cil_tmp58 = (unsigned long )__cil_tmp57;
14728#line 1656
14729  cmd_adr = adr & __cil_tmp58;
14730  {
14731#line 1659
14732  __cil_tmp59 = (unsigned long )cfi;
14733#line 1659
14734  __cil_tmp60 = __cil_tmp59 + 48;
14735#line 1659
14736  __cil_tmp61 = *((struct cfi_ident **)__cil_tmp60);
14737#line 1659
14738  __cil_tmp62 = (unsigned long )__cil_tmp61;
14739#line 1659
14740  __cil_tmp63 = __cil_tmp62 + 3;
14741#line 1659
14742  __cil_tmp64 = *((uint16_t *)__cil_tmp63);
14743#line 1659
14744  __cil_tmp65 = (int )__cil_tmp64;
14745#line 1659
14746  if (__cil_tmp65 != 512) {
14747    {
14748#line 1659
14749    __cil_tmp66 = (u_long )232;
14750#line 1659
14751    tmp___7 = cfi_build_cmd(__cil_tmp66, map, cfi);
14752#line 1659
14753    write_cmd = tmp___7;
14754    }
14755  } else {
14756    {
14757#line 1659
14758    __cil_tmp67 = (u_long )233;
14759#line 1659
14760    tmp___8 = cfi_build_cmd(__cil_tmp67, map, cfi);
14761#line 1659
14762    write_cmd = tmp___8;
14763    }
14764  }
14765  }
14766  {
14767#line 1661
14768  __cil_tmp68 = (unsigned long )chip;
14769#line 1661
14770  __cil_tmp69 = __cil_tmp68 + 32;
14771#line 1661
14772  __cil_tmp70 = (struct mutex *)__cil_tmp69;
14773#line 1661
14774  mutex_lock(__cil_tmp70);
14775#line 1662
14776  ret = get_chip(map, chip, cmd_adr, 7);
14777  }
14778#line 1663
14779  if (ret) {
14780    {
14781#line 1664
14782    __cil_tmp71 = (unsigned long )chip;
14783#line 1664
14784    __cil_tmp72 = __cil_tmp71 + 32;
14785#line 1664
14786    __cil_tmp73 = (struct mutex *)__cil_tmp72;
14787#line 1664
14788    mutex_unlock(__cil_tmp73);
14789    }
14790#line 1665
14791    return (ret);
14792  } else {
14793
14794  }
14795  {
14796#line 1669
14797  while (1) {
14798    while_continue: /* CIL Label */ ;
14799    {
14800#line 1669
14801    __cil_tmp74 = (unsigned long )map;
14802#line 1669
14803    __cil_tmp75 = __cil_tmp74 + 88;
14804#line 1669
14805    if (*((void (**)(struct map_info * , int  ))__cil_tmp75)) {
14806      {
14807#line 1669
14808      __cil_tmp76 = (unsigned long )map;
14809#line 1669
14810      __cil_tmp77 = __cil_tmp76 + 88;
14811#line 1669
14812      __cil_tmp78 = *((void (**)(struct map_info * , int  ))__cil_tmp77);
14813#line 1669
14814      (*__cil_tmp78)(map, 1);
14815      }
14816    } else {
14817
14818    }
14819    }
14820#line 1669
14821    goto while_break;
14822  }
14823  while_break: /* CIL Label */ ;
14824  }
14825  {
14826#line 1676
14827  __cil_tmp79 = (unsigned long )chip;
14828#line 1676
14829  __cil_tmp80 = __cil_tmp79 + 12;
14830#line 1676
14831  __cil_tmp81 = *((flstate_t *)__cil_tmp80);
14832#line 1676
14833  __cil_tmp82 = (unsigned int )__cil_tmp81;
14834#line 1676
14835  if (__cil_tmp82 != 1U) {
14836    {
14837#line 1677
14838    __cil_tmp83 = (u_long )112;
14839#line 1677
14840    tmp___9 = cfi_build_cmd(__cil_tmp83, map, cfi);
14841#line 1677
14842    __cil_tmp84 = (unsigned long )map;
14843#line 1677
14844    __cil_tmp85 = __cil_tmp84 + 64;
14845#line 1677
14846    __cil_tmp86 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp85);
14847#line 1677
14848    __cil_tmp87 = (map_word    )tmp___9;
14849#line 1677
14850    (*__cil_tmp86)(map, __cil_tmp87, cmd_adr);
14851#line 1678
14852    __cil_tmp88 = (unsigned long )chip;
14853#line 1678
14854    __cil_tmp89 = __cil_tmp88 + 12;
14855#line 1678
14856    *((flstate_t *)__cil_tmp89) = (flstate_t )1;
14857    }
14858  } else {
14859
14860  }
14861  }
14862  {
14863#line 1680
14864  __cil_tmp90 = & status;
14865#line 1680
14866  __cil_tmp91 = (unsigned long )map;
14867#line 1680
14868  __cil_tmp92 = __cil_tmp91 + 48;
14869#line 1680
14870  __cil_tmp93 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp92);
14871#line 1680
14872  *__cil_tmp90 = (*__cil_tmp93)(map, cmd_adr);
14873#line 1681
14874  __cil_tmp94 = (u_long )48;
14875#line 1681
14876  tmp___12 = cfi_build_cmd(__cil_tmp94, map, cfi);
14877#line 1681
14878  __cil_tmp95 = & status;
14879#line 1681
14880  __cil_tmp96 = *__cil_tmp95;
14881#line 1681
14882  tmp___13 = map_word_bitsset(map, __cil_tmp96, tmp___12);
14883  }
14884#line 1681
14885  if (tmp___13) {
14886    {
14887#line 1683
14888    __cil_tmp97 = 0 * 8UL;
14889#line 1683
14890    __cil_tmp98 = 0 + __cil_tmp97;
14891#line 1683
14892    __cil_tmp99 = (unsigned long )(& status) + __cil_tmp98;
14893#line 1683
14894    __cil_tmp100 = *((unsigned long *)__cil_tmp99);
14895#line 1683
14896    printk("<4>SR.4 or SR.5 bits set in buffer write (status %lx). Clearing.\n", __cil_tmp100);
14897#line 1685
14898    __cil_tmp101 = (u_long )80;
14899#line 1685
14900    tmp___10 = cfi_build_cmd(__cil_tmp101, map, cfi);
14901#line 1685
14902    __cil_tmp102 = (unsigned long )map;
14903#line 1685
14904    __cil_tmp103 = __cil_tmp102 + 64;
14905#line 1685
14906    __cil_tmp104 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp103);
14907#line 1685
14908    __cil_tmp105 = (map_word    )tmp___10;
14909#line 1685
14910    (*__cil_tmp104)(map, __cil_tmp105, cmd_adr);
14911#line 1686
14912    __cil_tmp106 = (u_long )112;
14913#line 1686
14914    tmp___11 = cfi_build_cmd(__cil_tmp106, map, cfi);
14915#line 1686
14916    __cil_tmp107 = (unsigned long )map;
14917#line 1686
14918    __cil_tmp108 = __cil_tmp107 + 64;
14919#line 1686
14920    __cil_tmp109 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp108);
14921#line 1686
14922    __cil_tmp110 = (map_word    )tmp___11;
14923#line 1686
14924    (*__cil_tmp109)(map, __cil_tmp110, cmd_adr);
14925    }
14926  } else {
14927
14928  }
14929  {
14930#line 1689
14931  __cil_tmp111 = (unsigned long )chip;
14932#line 1689
14933  __cil_tmp112 = __cil_tmp111 + 12;
14934#line 1689
14935  *((flstate_t *)__cil_tmp112) = (flstate_t )8;
14936#line 1690
14937  __cil_tmp113 = (unsigned long )map;
14938#line 1690
14939  __cil_tmp114 = __cil_tmp113 + 64;
14940#line 1690
14941  __cil_tmp115 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp114);
14942#line 1690
14943  __cil_tmp116 = (map_word    )write_cmd;
14944#line 1690
14945  (*__cil_tmp115)(map, __cil_tmp116, cmd_adr);
14946#line 1691
14947  ret = inval_cache_and_wait_for_operation(map, chip, cmd_adr, 0UL, 0, 0U, 0U);
14948  }
14949#line 1692
14950  if (ret) {
14951    {
14952#line 1694
14953    __cil_tmp117 = (unsigned long )map;
14954#line 1694
14955    __cil_tmp118 = __cil_tmp117 + 48;
14956#line 1694
14957    __cil_tmp119 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp118);
14958#line 1694
14959    tmp___14 = (*__cil_tmp119)(map, cmd_adr);
14960#line 1694
14961    __cil_tmp120 = & Xstatus;
14962#line 1694
14963    *__cil_tmp120 = tmp___14;
14964#line 1695
14965    __cil_tmp121 = (u_long )112;
14966#line 1695
14967    tmp___15 = cfi_build_cmd(__cil_tmp121, map, cfi);
14968#line 1695
14969    __cil_tmp122 = (unsigned long )map;
14970#line 1695
14971    __cil_tmp123 = __cil_tmp122 + 64;
14972#line 1695
14973    __cil_tmp124 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp123);
14974#line 1695
14975    __cil_tmp125 = (map_word    )tmp___15;
14976#line 1695
14977    (*__cil_tmp124)(map, __cil_tmp125, cmd_adr);
14978#line 1696
14979    __cil_tmp126 = (unsigned long )chip;
14980#line 1696
14981    __cil_tmp127 = __cil_tmp126 + 12;
14982#line 1696
14983    *((flstate_t *)__cil_tmp127) = (flstate_t )1;
14984#line 1697
14985    __cil_tmp128 = & status;
14986#line 1697
14987    __cil_tmp129 = (unsigned long )map;
14988#line 1697
14989    __cil_tmp130 = __cil_tmp129 + 48;
14990#line 1697
14991    __cil_tmp131 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp130);
14992#line 1697
14993    *__cil_tmp128 = (*__cil_tmp131)(map, cmd_adr);
14994#line 1698
14995    __cil_tmp132 = (u_long )80;
14996#line 1698
14997    tmp___16 = cfi_build_cmd(__cil_tmp132, map, cfi);
14998#line 1698
14999    __cil_tmp133 = (unsigned long )map;
15000#line 1698
15001    __cil_tmp134 = __cil_tmp133 + 64;
15002#line 1698
15003    __cil_tmp135 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp134);
15004#line 1698
15005    __cil_tmp136 = (map_word    )tmp___16;
15006#line 1698
15007    (*__cil_tmp135)(map, __cil_tmp136, cmd_adr);
15008#line 1699
15009    __cil_tmp137 = (u_long )112;
15010#line 1699
15011    tmp___17 = cfi_build_cmd(__cil_tmp137, map, cfi);
15012#line 1699
15013    __cil_tmp138 = (unsigned long )map;
15014#line 1699
15015    __cil_tmp139 = __cil_tmp138 + 64;
15016#line 1699
15017    __cil_tmp140 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp139);
15018#line 1699
15019    __cil_tmp141 = (map_word    )tmp___17;
15020#line 1699
15021    (*__cil_tmp140)(map, __cil_tmp141, cmd_adr);
15022#line 1701
15023    __cil_tmp142 = *((char    **)map);
15024#line 1701
15025    __cil_tmp143 = 0 * 8UL;
15026#line 1701
15027    __cil_tmp144 = 0 + __cil_tmp143;
15028#line 1701
15029    __cil_tmp145 = (unsigned long )(& Xstatus) + __cil_tmp144;
15030#line 1701
15031    __cil_tmp146 = *((unsigned long *)__cil_tmp145);
15032#line 1701
15033    __cil_tmp147 = 0 * 8UL;
15034#line 1701
15035    __cil_tmp148 = 0 + __cil_tmp147;
15036#line 1701
15037    __cil_tmp149 = (unsigned long )(& status) + __cil_tmp148;
15038#line 1701
15039    __cil_tmp150 = *((unsigned long *)__cil_tmp149);
15040#line 1701
15041    printk("<3>%s: Chip not ready for buffer write. Xstatus = %lx, status = %lx\n",
15042           __cil_tmp142, __cil_tmp146, __cil_tmp150);
15043    }
15044#line 1703
15045    goto out;
15046  } else {
15047
15048  }
15049#line 1707
15050  __cil_tmp151 = (unsigned long )map;
15051#line 1707
15052  __cil_tmp152 = __cil_tmp151 + 44;
15053#line 1707
15054  __cil_tmp153 = *((int *)__cil_tmp152);
15055#line 1707
15056  __cil_tmp154 = __cil_tmp153 - 1;
15057#line 1707
15058  __cil_tmp155 = (unsigned long )__cil_tmp154;
15059#line 1707
15060  __cil_tmp156 = - adr;
15061#line 1707
15062  __cil_tmp157 = __cil_tmp156 & __cil_tmp155;
15063#line 1707
15064  word_gap = (int )__cil_tmp157;
15065#line 1708
15066  __cil_tmp158 = (unsigned long )map;
15067#line 1708
15068  __cil_tmp159 = __cil_tmp158 + 44;
15069#line 1708
15070  __cil_tmp160 = *((int *)__cil_tmp159);
15071#line 1708
15072  __cil_tmp161 = (unsigned long )map;
15073#line 1708
15074  __cil_tmp162 = __cil_tmp161 + 44;
15075#line 1708
15076  __cil_tmp163 = *((int *)__cil_tmp162);
15077#line 1708
15078  __cil_tmp164 = len - word_gap;
15079#line 1708
15080  __cil_tmp165 = __cil_tmp164 + __cil_tmp163;
15081#line 1708
15082  __cil_tmp166 = __cil_tmp165 - 1;
15083#line 1708
15084  words = __cil_tmp166 / __cil_tmp160;
15085#line 1709
15086  if (! word_gap) {
15087#line 1710
15088    words = words - 1;
15089  } else {
15090    {
15091#line 1712
15092    __cil_tmp167 = (unsigned long )map;
15093#line 1712
15094    __cil_tmp168 = __cil_tmp167 + 44;
15095#line 1712
15096    __cil_tmp169 = *((int *)__cil_tmp168);
15097#line 1712
15098    word_gap = __cil_tmp169 - word_gap;
15099#line 1713
15100    __cil_tmp170 = (unsigned long )word_gap;
15101#line 1713
15102    adr = adr - __cil_tmp170;
15103#line 1714
15104    datum = map_word_ff(map);
15105    }
15106  }
15107  {
15108#line 1718
15109  __cil_tmp171 = (u_long )words;
15110#line 1718
15111  tmp___18 = cfi_build_cmd(__cil_tmp171, map, cfi);
15112#line 1718
15113  __cil_tmp172 = (unsigned long )map;
15114#line 1718
15115  __cil_tmp173 = __cil_tmp172 + 64;
15116#line 1718
15117  __cil_tmp174 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp173);
15118#line 1718
15119  __cil_tmp175 = (map_word    )tmp___18;
15120#line 1718
15121  (*__cil_tmp174)(map, __cil_tmp175, cmd_adr);
15122#line 1721
15123  vec = *pvec;
15124#line 1722
15125  vec_seek = *pvec_seek;
15126  }
15127  {
15128#line 1723
15129  while (1) {
15130    while_continue___0: /* CIL Label */ ;
15131#line 1724
15132    __cil_tmp176 = (unsigned long )map;
15133#line 1724
15134    __cil_tmp177 = __cil_tmp176 + 44;
15135#line 1724
15136    __cil_tmp178 = *((int *)__cil_tmp177);
15137#line 1724
15138    n = __cil_tmp178 - word_gap;
15139    {
15140#line 1725
15141    __cil_tmp179 = (size_t    )vec_seek;
15142#line 1725
15143    __cil_tmp180 = (unsigned long )vec;
15144#line 1725
15145    __cil_tmp181 = __cil_tmp180 + 8;
15146#line 1725
15147    __cil_tmp182 = *((size_t    *)__cil_tmp181);
15148#line 1725
15149    __cil_tmp183 = __cil_tmp182 - __cil_tmp179;
15150#line 1725
15151    __cil_tmp184 = (size_t    )n;
15152#line 1725
15153    if (__cil_tmp184 > __cil_tmp183) {
15154#line 1726
15155      __cil_tmp185 = (size_t    )vec_seek;
15156#line 1726
15157      __cil_tmp186 = (unsigned long )vec;
15158#line 1726
15159      __cil_tmp187 = __cil_tmp186 + 8;
15160#line 1726
15161      __cil_tmp188 = *((size_t    *)__cil_tmp187);
15162#line 1726
15163      __cil_tmp189 = __cil_tmp188 - __cil_tmp185;
15164#line 1726
15165      n = (int )__cil_tmp189;
15166    } else {
15167
15168    }
15169    }
15170#line 1727
15171    if (n > len) {
15172#line 1728
15173      n = len;
15174    } else {
15175
15176    }
15177#line 1730
15178    if (! word_gap) {
15179      {
15180#line 1730
15181      __cil_tmp190 = (unsigned long )map;
15182#line 1730
15183      __cil_tmp191 = __cil_tmp190 + 44;
15184#line 1730
15185      __cil_tmp192 = *((int *)__cil_tmp191);
15186#line 1730
15187      if (len < __cil_tmp192) {
15188        {
15189#line 1731
15190        datum = map_word_ff(map);
15191        }
15192      } else {
15193
15194      }
15195      }
15196    } else {
15197
15198    }
15199    {
15200#line 1733
15201    __cil_tmp193 = *((void *   *)vec);
15202#line 1733
15203    __cil_tmp194 = __cil_tmp193 + vec_seek;
15204#line 1733
15205    __cil_tmp195 = (unsigned char    *)__cil_tmp194;
15206#line 1733
15207    datum = map_word_load_partial(map, datum, __cil_tmp195, word_gap, n);
15208#line 1737
15209    len = len - n;
15210#line 1738
15211    word_gap = word_gap + n;
15212    }
15213#line 1739
15214    if (! len) {
15215      {
15216#line 1740
15217      __cil_tmp196 = (unsigned long )map;
15218#line 1740
15219      __cil_tmp197 = __cil_tmp196 + 64;
15220#line 1740
15221      __cil_tmp198 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp197);
15222#line 1740
15223      __cil_tmp199 = (map_word    )datum;
15224#line 1740
15225      (*__cil_tmp198)(map, __cil_tmp199, adr);
15226#line 1741
15227      __cil_tmp200 = (unsigned long )map;
15228#line 1741
15229      __cil_tmp201 = __cil_tmp200 + 44;
15230#line 1741
15231      __cil_tmp202 = *((int *)__cil_tmp201);
15232#line 1741
15233      __cil_tmp203 = (unsigned long )__cil_tmp202;
15234#line 1741
15235      adr = adr + __cil_tmp203;
15236#line 1742
15237      word_gap = 0;
15238      }
15239    } else {
15240      {
15241#line 1739
15242      __cil_tmp204 = (unsigned long )map;
15243#line 1739
15244      __cil_tmp205 = __cil_tmp204 + 44;
15245#line 1739
15246      __cil_tmp206 = *((int *)__cil_tmp205);
15247#line 1739
15248      if (word_gap == __cil_tmp206) {
15249        {
15250#line 1740
15251        __cil_tmp207 = (unsigned long )map;
15252#line 1740
15253        __cil_tmp208 = __cil_tmp207 + 64;
15254#line 1740
15255        __cil_tmp209 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp208);
15256#line 1740
15257        __cil_tmp210 = (map_word    )datum;
15258#line 1740
15259        (*__cil_tmp209)(map, __cil_tmp210, adr);
15260#line 1741
15261        __cil_tmp211 = (unsigned long )map;
15262#line 1741
15263        __cil_tmp212 = __cil_tmp211 + 44;
15264#line 1741
15265        __cil_tmp213 = *((int *)__cil_tmp212);
15266#line 1741
15267        __cil_tmp214 = (unsigned long )__cil_tmp213;
15268#line 1741
15269        adr = adr + __cil_tmp214;
15270#line 1742
15271        word_gap = 0;
15272        }
15273      } else {
15274
15275      }
15276      }
15277    }
15278#line 1745
15279    __cil_tmp215 = (unsigned long )n;
15280#line 1745
15281    vec_seek = vec_seek + __cil_tmp215;
15282    {
15283#line 1746
15284    __cil_tmp216 = (unsigned long )vec;
15285#line 1746
15286    __cil_tmp217 = __cil_tmp216 + 8;
15287#line 1746
15288    __cil_tmp218 = *((size_t    *)__cil_tmp217);
15289#line 1746
15290    __cil_tmp219 = (unsigned long )__cil_tmp218;
15291#line 1746
15292    if (vec_seek == __cil_tmp219) {
15293#line 1747
15294      vec = vec + 1;
15295#line 1748
15296      vec_seek = 0UL;
15297    } else {
15298
15299    }
15300    }
15301#line 1723
15302    if (len) {
15303
15304    } else {
15305#line 1723
15306      goto while_break___0;
15307    }
15308  }
15309  while_break___0: /* CIL Label */ ;
15310  }
15311  {
15312#line 1751
15313  *pvec = vec;
15314#line 1752
15315  *pvec_seek = vec_seek;
15316#line 1755
15317  __cil_tmp220 = (u_long )208;
15318#line 1755
15319  tmp___19 = cfi_build_cmd(__cil_tmp220, map, cfi);
15320#line 1755
15321  __cil_tmp221 = (unsigned long )map;
15322#line 1755
15323  __cil_tmp222 = __cil_tmp221 + 64;
15324#line 1755
15325  __cil_tmp223 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp222);
15326#line 1755
15327  __cil_tmp224 = (map_word    )tmp___19;
15328#line 1755
15329  (*__cil_tmp223)(map, __cil_tmp224, cmd_adr);
15330#line 1756
15331  __cil_tmp225 = (unsigned long )chip;
15332#line 1756
15333  __cil_tmp226 = __cil_tmp225 + 12;
15334#line 1756
15335  *((flstate_t *)__cil_tmp226) = (flstate_t )7;
15336#line 1758
15337  __cil_tmp227 = (unsigned long )chip;
15338#line 1758
15339  __cil_tmp228 = __cil_tmp227 + 148;
15340#line 1758
15341  __cil_tmp229 = *((int *)__cil_tmp228);
15342#line 1758
15343  __cil_tmp230 = (unsigned int )__cil_tmp229;
15344#line 1758
15345  __cil_tmp231 = (unsigned long )chip;
15346#line 1758
15347  __cil_tmp232 = __cil_tmp231 + 160;
15348#line 1758
15349  __cil_tmp233 = *((int *)__cil_tmp232);
15350#line 1758
15351  __cil_tmp234 = (unsigned int )__cil_tmp233;
15352#line 1758
15353  ret = inval_cache_and_wait_for_operation(map, chip, cmd_adr, initial_adr, initial_len,
15354                                           __cil_tmp230, __cil_tmp234);
15355  }
15356#line 1762
15357  if (ret) {
15358    {
15359#line 1763
15360    __cil_tmp235 = (u_long )112;
15361#line 1763
15362    tmp___20 = cfi_build_cmd(__cil_tmp235, map, cfi);
15363#line 1763
15364    __cil_tmp236 = (unsigned long )map;
15365#line 1763
15366    __cil_tmp237 = __cil_tmp236 + 64;
15367#line 1763
15368    __cil_tmp238 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp237);
15369#line 1763
15370    __cil_tmp239 = (map_word    )tmp___20;
15371#line 1763
15372    (*__cil_tmp238)(map, __cil_tmp239, cmd_adr);
15373#line 1764
15374    __cil_tmp240 = (unsigned long )chip;
15375#line 1764
15376    __cil_tmp241 = __cil_tmp240 + 12;
15377#line 1764
15378    *((flstate_t *)__cil_tmp241) = (flstate_t )1;
15379#line 1766
15380    __cil_tmp242 = *((char    **)map);
15381#line 1766
15382    printk("<3>%s: buffer write error (status timeout)\n", __cil_tmp242);
15383    }
15384#line 1767
15385    goto out;
15386  } else {
15387
15388  }
15389  {
15390#line 1771
15391  __cil_tmp243 = & status;
15392#line 1771
15393  __cil_tmp244 = (unsigned long )map;
15394#line 1771
15395  __cil_tmp245 = __cil_tmp244 + 48;
15396#line 1771
15397  __cil_tmp246 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp245);
15398#line 1771
15399  *__cil_tmp243 = (*__cil_tmp246)(map, cmd_adr);
15400#line 1772
15401  __cil_tmp247 = (u_long )26;
15402#line 1772
15403  tmp___24 = cfi_build_cmd(__cil_tmp247, map, cfi);
15404#line 1772
15405  __cil_tmp248 = & status;
15406#line 1772
15407  __cil_tmp249 = *__cil_tmp248;
15408#line 1772
15409  tmp___25 = map_word_bitsset(map, __cil_tmp249, tmp___24);
15410  }
15411#line 1772
15412  if (tmp___25) {
15413    {
15414#line 1773
15415    __cil_tmp250 = & status;
15416#line 1773
15417    __cil_tmp251 = *__cil_tmp250;
15418#line 1773
15419    tmp___21 = cfi_merge_status(__cil_tmp251, map, cfi);
15420#line 1773
15421    chipstatus = tmp___21;
15422#line 1776
15423    __cil_tmp252 = (u_long )80;
15424#line 1776
15425    tmp___22 = cfi_build_cmd(__cil_tmp252, map, cfi);
15426#line 1776
15427    __cil_tmp253 = (unsigned long )map;
15428#line 1776
15429    __cil_tmp254 = __cil_tmp253 + 64;
15430#line 1776
15431    __cil_tmp255 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp254);
15432#line 1776
15433    __cil_tmp256 = (map_word    )tmp___22;
15434#line 1776
15435    (*__cil_tmp255)(map, __cil_tmp256, cmd_adr);
15436#line 1777
15437    __cil_tmp257 = (u_long )112;
15438#line 1777
15439    tmp___23 = cfi_build_cmd(__cil_tmp257, map, cfi);
15440#line 1777
15441    __cil_tmp258 = (unsigned long )map;
15442#line 1777
15443    __cil_tmp259 = __cil_tmp258 + 64;
15444#line 1777
15445    __cil_tmp260 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp259);
15446#line 1777
15447    __cil_tmp261 = (map_word    )tmp___23;
15448#line 1777
15449    (*__cil_tmp260)(map, __cil_tmp261, cmd_adr);
15450    }
15451#line 1780
15452    if (chipstatus & 2UL) {
15453#line 1781
15454      ret = -30;
15455    } else
15456#line 1782
15457    if (chipstatus & 8UL) {
15458      {
15459#line 1783
15460      __cil_tmp262 = *((char    **)map);
15461#line 1783
15462      printk("<3>%s: buffer write error (bad VPP)\n", __cil_tmp262);
15463#line 1784
15464      ret = -5;
15465      }
15466    } else {
15467      {
15468#line 1786
15469      __cil_tmp263 = *((char    **)map);
15470#line 1786
15471      printk("<3>%s: buffer write error (status 0x%lx)\n", __cil_tmp263, chipstatus);
15472#line 1787
15473      ret = -22;
15474      }
15475    }
15476#line 1790
15477    goto out;
15478  } else {
15479
15480  }
15481  out: 
15482  {
15483#line 1794
15484  while (1) {
15485    while_continue___1: /* CIL Label */ ;
15486    {
15487#line 1794
15488    __cil_tmp264 = (unsigned long )map;
15489#line 1794
15490    __cil_tmp265 = __cil_tmp264 + 88;
15491#line 1794
15492    if (*((void (**)(struct map_info * , int  ))__cil_tmp265)) {
15493      {
15494#line 1794
15495      __cil_tmp266 = (unsigned long )map;
15496#line 1794
15497      __cil_tmp267 = __cil_tmp266 + 88;
15498#line 1794
15499      __cil_tmp268 = *((void (**)(struct map_info * , int  ))__cil_tmp267);
15500#line 1794
15501      (*__cil_tmp268)(map, 0);
15502      }
15503    } else {
15504
15505    }
15506    }
15507#line 1794
15508    goto while_break___1;
15509  }
15510  while_break___1: /* CIL Label */ ;
15511  }
15512  {
15513#line 1795
15514  put_chip(map, chip, cmd_adr);
15515#line 1796
15516  __cil_tmp269 = (unsigned long )chip;
15517#line 1796
15518  __cil_tmp270 = __cil_tmp269 + 32;
15519#line 1796
15520  __cil_tmp271 = (struct mutex *)__cil_tmp270;
15521#line 1796
15522  mutex_unlock(__cil_tmp271);
15523  }
15524#line 1797
15525  return (ret);
15526}
15527}
15528#line 1800 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
15529static int cfi_intelext_writev(struct mtd_info *mtd , struct kvec    *vecs ,
15530                               unsigned long count , loff_t to , size_t *retlen ) 
15531{ struct map_info *map ;
15532  struct cfi_private *cfi ;
15533  int wbufsize ;
15534  int ret ;
15535  int chipnum ;
15536  unsigned long ofs ;
15537  unsigned long vec_seek ;
15538  unsigned long i ;
15539  size_t len ;
15540  int size ;
15541  unsigned long __cil_tmp16 ;
15542  unsigned long __cil_tmp17 ;
15543  void *__cil_tmp18 ;
15544  unsigned long __cil_tmp19 ;
15545  unsigned long __cil_tmp20 ;
15546  void *__cil_tmp21 ;
15547  unsigned long __cil_tmp22 ;
15548  unsigned long __cil_tmp23 ;
15549  struct cfi_ident *__cil_tmp24 ;
15550  unsigned long __cil_tmp25 ;
15551  unsigned long __cil_tmp26 ;
15552  uint16_t __cil_tmp27 ;
15553  int __cil_tmp28 ;
15554  unsigned long __cil_tmp29 ;
15555  unsigned long __cil_tmp30 ;
15556  int __cil_tmp31 ;
15557  struct kvec    **__cil_tmp32 ;
15558  struct kvec    *__cil_tmp33 ;
15559  struct kvec    *__cil_tmp34 ;
15560  unsigned long __cil_tmp35 ;
15561  unsigned long __cil_tmp36 ;
15562  size_t    __cil_tmp37 ;
15563  size_t __cil_tmp38 ;
15564  unsigned long __cil_tmp39 ;
15565  unsigned long __cil_tmp40 ;
15566  unsigned long __cil_tmp41 ;
15567  loff_t __cil_tmp42 ;
15568  unsigned long __cil_tmp43 ;
15569  unsigned long __cil_tmp44 ;
15570  unsigned long __cil_tmp45 ;
15571  int __cil_tmp46 ;
15572  loff_t __cil_tmp47 ;
15573  loff_t __cil_tmp48 ;
15574  unsigned long *__cil_tmp49 ;
15575  int __cil_tmp50 ;
15576  unsigned long __cil_tmp51 ;
15577  unsigned long __cil_tmp52 ;
15578  unsigned long __cil_tmp53 ;
15579  unsigned long __cil_tmp54 ;
15580  size_t __cil_tmp55 ;
15581  unsigned long __cil_tmp56 ;
15582  unsigned long __cil_tmp57 ;
15583  unsigned long __cil_tmp58 ;
15584  unsigned long __cil_tmp59 ;
15585  struct flchip *__cil_tmp60 ;
15586  unsigned long __cil_tmp61 ;
15587  size_t __cil_tmp62 ;
15588  size_t __cil_tmp63 ;
15589  size_t __cil_tmp64 ;
15590  unsigned long __cil_tmp65 ;
15591  unsigned long __cil_tmp66 ;
15592  unsigned long __cil_tmp67 ;
15593  unsigned long __cil_tmp68 ;
15594  unsigned long __cil_tmp69 ;
15595  int __cil_tmp70 ;
15596
15597  {
15598#line 1803
15599  __cil_tmp16 = (unsigned long )mtd;
15600#line 1803
15601  __cil_tmp17 = __cil_tmp16 + 360;
15602#line 1803
15603  __cil_tmp18 = *((void **)__cil_tmp17);
15604#line 1803
15605  map = (struct map_info *)__cil_tmp18;
15606#line 1804
15607  __cil_tmp19 = (unsigned long )map;
15608#line 1804
15609  __cil_tmp20 = __cil_tmp19 + 120;
15610#line 1804
15611  __cil_tmp21 = *((void **)__cil_tmp20);
15612#line 1804
15613  cfi = (struct cfi_private *)__cil_tmp21;
15614#line 1805
15615  __cil_tmp22 = (unsigned long )cfi;
15616#line 1805
15617  __cil_tmp23 = __cil_tmp22 + 48;
15618#line 1805
15619  __cil_tmp24 = *((struct cfi_ident **)__cil_tmp23);
15620#line 1805
15621  __cil_tmp25 = (unsigned long )__cil_tmp24;
15622#line 1805
15623  __cil_tmp26 = __cil_tmp25 + 26;
15624#line 1805
15625  __cil_tmp27 = *((uint16_t *)__cil_tmp26);
15626#line 1805
15627  __cil_tmp28 = (int )__cil_tmp27;
15628#line 1805
15629  __cil_tmp29 = (unsigned long )cfi;
15630#line 1805
15631  __cil_tmp30 = __cil_tmp29 + 16;
15632#line 1805
15633  __cil_tmp31 = *((int *)__cil_tmp30);
15634#line 1805
15635  wbufsize = __cil_tmp31 << __cil_tmp28;
15636#line 1806
15637  ret = 0;
15638#line 1809
15639  len = (size_t )0;
15640#line 1811
15641  i = 0UL;
15642  {
15643#line 1811
15644  while (1) {
15645    while_continue: /* CIL Label */ ;
15646#line 1811
15647    if (i < count) {
15648
15649    } else {
15650#line 1811
15651      goto while_break;
15652    }
15653#line 1812
15654    __cil_tmp32 = & vecs;
15655#line 1812
15656    __cil_tmp33 = *__cil_tmp32;
15657#line 1812
15658    __cil_tmp34 = __cil_tmp33 + i;
15659#line 1812
15660    __cil_tmp35 = (unsigned long )__cil_tmp34;
15661#line 1812
15662    __cil_tmp36 = __cil_tmp35 + 8;
15663#line 1812
15664    __cil_tmp37 = *((size_t    *)__cil_tmp36);
15665#line 1812
15666    __cil_tmp38 = (size_t )__cil_tmp37;
15667#line 1812
15668    len = len + __cil_tmp38;
15669#line 1811
15670    i = i + 1UL;
15671  }
15672  while_break: /* CIL Label */ ;
15673  }
15674#line 1814
15675  if (! len) {
15676#line 1815
15677    return (0);
15678  } else {
15679
15680  }
15681#line 1817
15682  __cil_tmp39 = (unsigned long )cfi;
15683#line 1817
15684  __cil_tmp40 = __cil_tmp39 + 104;
15685#line 1817
15686  __cil_tmp41 = *((unsigned long *)__cil_tmp40);
15687#line 1817
15688  __cil_tmp42 = to >> __cil_tmp41;
15689#line 1817
15690  chipnum = (int )__cil_tmp42;
15691#line 1818
15692  __cil_tmp43 = (unsigned long )cfi;
15693#line 1818
15694  __cil_tmp44 = __cil_tmp43 + 104;
15695#line 1818
15696  __cil_tmp45 = *((unsigned long *)__cil_tmp44);
15697#line 1818
15698  __cil_tmp46 = chipnum << __cil_tmp45;
15699#line 1818
15700  __cil_tmp47 = (loff_t )__cil_tmp46;
15701#line 1818
15702  __cil_tmp48 = to - __cil_tmp47;
15703#line 1818
15704  ofs = (unsigned long )__cil_tmp48;
15705#line 1819
15706  __cil_tmp49 = & vec_seek;
15707#line 1819
15708  *__cil_tmp49 = 0UL;
15709  {
15710#line 1821
15711  while (1) {
15712    while_continue___0: /* CIL Label */ ;
15713#line 1823
15714    __cil_tmp50 = wbufsize - 1;
15715#line 1823
15716    __cil_tmp51 = (unsigned long )__cil_tmp50;
15717#line 1823
15718    __cil_tmp52 = ofs & __cil_tmp51;
15719#line 1823
15720    __cil_tmp53 = (unsigned long )wbufsize;
15721#line 1823
15722    __cil_tmp54 = __cil_tmp53 - __cil_tmp52;
15723#line 1823
15724    size = (int )__cil_tmp54;
15725    {
15726#line 1825
15727    __cil_tmp55 = (size_t )size;
15728#line 1825
15729    if (__cil_tmp55 > len) {
15730#line 1826
15731      size = (int )len;
15732    } else {
15733
15734    }
15735    }
15736    {
15737#line 1827
15738    __cil_tmp56 = chipnum * 176UL;
15739#line 1827
15740    __cil_tmp57 = 120 + __cil_tmp56;
15741#line 1827
15742    __cil_tmp58 = (unsigned long )cfi;
15743#line 1827
15744    __cil_tmp59 = __cil_tmp58 + __cil_tmp57;
15745#line 1827
15746    __cil_tmp60 = (struct flchip *)__cil_tmp59;
15747#line 1827
15748    ret = do_write_buffer(map, __cil_tmp60, ofs, & vecs, & vec_seek, size);
15749    }
15750#line 1829
15751    if (ret) {
15752#line 1830
15753      return (ret);
15754    } else {
15755
15756    }
15757#line 1832
15758    __cil_tmp61 = (unsigned long )size;
15759#line 1832
15760    ofs = ofs + __cil_tmp61;
15761#line 1833
15762    __cil_tmp62 = (size_t )size;
15763#line 1833
15764    __cil_tmp63 = *retlen;
15765#line 1833
15766    *retlen = __cil_tmp63 + __cil_tmp62;
15767#line 1834
15768    __cil_tmp64 = (size_t )size;
15769#line 1834
15770    len = len - __cil_tmp64;
15771    {
15772#line 1836
15773    __cil_tmp65 = (unsigned long )cfi;
15774#line 1836
15775    __cil_tmp66 = __cil_tmp65 + 104;
15776#line 1836
15777    __cil_tmp67 = *((unsigned long *)__cil_tmp66);
15778#line 1836
15779    if (ofs >> __cil_tmp67) {
15780#line 1837
15781      chipnum = chipnum + 1;
15782#line 1838
15783      ofs = 0UL;
15784      {
15785#line 1839
15786      __cil_tmp68 = (unsigned long )cfi;
15787#line 1839
15788      __cil_tmp69 = __cil_tmp68 + 64;
15789#line 1839
15790      __cil_tmp70 = *((int *)__cil_tmp69);
15791#line 1839
15792      if (chipnum == __cil_tmp70) {
15793#line 1840
15794        return (0);
15795      } else {
15796
15797      }
15798      }
15799    } else {
15800
15801    }
15802    }
15803    {
15804#line 1845
15805    __might_sleep("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c",
15806                  1845, 0);
15807#line 1845
15808    _cond_resched();
15809    }
15810#line 1821
15811    if (len) {
15812
15813    } else {
15814#line 1821
15815      goto while_break___0;
15816    }
15817  }
15818  while_break___0: /* CIL Label */ ;
15819  }
15820#line 1849
15821  return (0);
15822}
15823}
15824#line 1852 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
15825static int cfi_intelext_write_buffers(struct mtd_info *mtd , loff_t to , size_t len ,
15826                                      size_t *retlen , u_char    *buf ) 
15827{ struct kvec vec ;
15828  int tmp___7 ;
15829  struct kvec *__cil_tmp8 ;
15830  unsigned long __cil_tmp9 ;
15831  struct kvec    *__cil_tmp10 ;
15832
15833  {
15834  {
15835#line 1857
15836  __cil_tmp8 = & vec;
15837#line 1857
15838  *((void **)__cil_tmp8) = (void *)buf;
15839#line 1858
15840  __cil_tmp9 = (unsigned long )(& vec) + 8;
15841#line 1858
15842  *((size_t *)__cil_tmp9) = len;
15843#line 1860
15844  __cil_tmp10 = (struct kvec    *)(& vec);
15845#line 1860
15846  tmp___7 = cfi_intelext_writev(mtd, __cil_tmp10, 1UL, to, retlen);
15847  }
15848#line 1860
15849  return (tmp___7);
15850}
15851}
15852#line 1863 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
15853static int do_erase_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
15854                             int len , void *thunk ) 
15855{ struct cfi_private *cfi ;
15856  map_word status ;
15857  int retries ;
15858  int ret ;
15859  map_word tmp___7 ;
15860  map_word tmp___8 ;
15861  map_word tmp___9 ;
15862  map_word tmp___10 ;
15863  map_word tmp___11 ;
15864  unsigned long chipstatus ;
15865  unsigned long tmp___12 ;
15866  map_word tmp___13 ;
15867  map_word tmp___14 ;
15868  int tmp___15 ;
15869  map_word tmp___16 ;
15870  int tmp___17 ;
15871  unsigned long __cil_tmp22 ;
15872  unsigned long __cil_tmp23 ;
15873  void *__cil_tmp24 ;
15874  unsigned long __cil_tmp25 ;
15875  unsigned long __cil_tmp26 ;
15876  unsigned long __cil_tmp27 ;
15877  struct mutex *__cil_tmp28 ;
15878  unsigned long __cil_tmp29 ;
15879  unsigned long __cil_tmp30 ;
15880  struct mutex *__cil_tmp31 ;
15881  unsigned long __cil_tmp32 ;
15882  unsigned long __cil_tmp33 ;
15883  unsigned long __cil_tmp34 ;
15884  unsigned long __cil_tmp35 ;
15885  void (*__cil_tmp36)(struct map_info * , int  ) ;
15886  u_long __cil_tmp37 ;
15887  unsigned long __cil_tmp38 ;
15888  unsigned long __cil_tmp39 ;
15889  void (*__cil_tmp40)(struct map_info * , map_word     , unsigned long  ) ;
15890  map_word    __cil_tmp41 ;
15891  u_long __cil_tmp42 ;
15892  unsigned long __cil_tmp43 ;
15893  unsigned long __cil_tmp44 ;
15894  void (*__cil_tmp45)(struct map_info * , map_word     , unsigned long  ) ;
15895  map_word    __cil_tmp46 ;
15896  u_long __cil_tmp47 ;
15897  unsigned long __cil_tmp48 ;
15898  unsigned long __cil_tmp49 ;
15899  void (*__cil_tmp50)(struct map_info * , map_word     , unsigned long  ) ;
15900  map_word    __cil_tmp51 ;
15901  unsigned long __cil_tmp52 ;
15902  unsigned long __cil_tmp53 ;
15903  unsigned long __cil_tmp54 ;
15904  unsigned long __cil_tmp55 ;
15905  int __cil_tmp56 ;
15906  unsigned int __cil_tmp57 ;
15907  unsigned long __cil_tmp58 ;
15908  unsigned long __cil_tmp59 ;
15909  int __cil_tmp60 ;
15910  unsigned int __cil_tmp61 ;
15911  u_long __cil_tmp62 ;
15912  unsigned long __cil_tmp63 ;
15913  unsigned long __cil_tmp64 ;
15914  void (*__cil_tmp65)(struct map_info * , map_word     , unsigned long  ) ;
15915  map_word    __cil_tmp66 ;
15916  unsigned long __cil_tmp67 ;
15917  unsigned long __cil_tmp68 ;
15918  char    *__cil_tmp69 ;
15919  u_long __cil_tmp70 ;
15920  unsigned long __cil_tmp71 ;
15921  unsigned long __cil_tmp72 ;
15922  void (*__cil_tmp73)(struct map_info * , map_word     , unsigned long  ) ;
15923  map_word    __cil_tmp74 ;
15924  unsigned long __cil_tmp75 ;
15925  unsigned long __cil_tmp76 ;
15926  unsigned long __cil_tmp77 ;
15927  unsigned long __cil_tmp78 ;
15928  map_word (*__cil_tmp79)(struct map_info * , unsigned long  ) ;
15929  u_long __cil_tmp80 ;
15930  u_long __cil_tmp81 ;
15931  unsigned long __cil_tmp82 ;
15932  unsigned long __cil_tmp83 ;
15933  void (*__cil_tmp84)(struct map_info * , map_word     , unsigned long  ) ;
15934  map_word    __cil_tmp85 ;
15935  u_long __cil_tmp86 ;
15936  unsigned long __cil_tmp87 ;
15937  unsigned long __cil_tmp88 ;
15938  void (*__cil_tmp89)(struct map_info * , map_word     , unsigned long  ) ;
15939  map_word    __cil_tmp90 ;
15940  unsigned long __cil_tmp91 ;
15941  char    *__cil_tmp92 ;
15942  char    *__cil_tmp93 ;
15943  unsigned long __cil_tmp94 ;
15944  unsigned long __cil_tmp95 ;
15945  unsigned long __cil_tmp96 ;
15946  unsigned long __cil_tmp97 ;
15947  void (*__cil_tmp98)(struct map_info * , int  ) ;
15948  unsigned long __cil_tmp99 ;
15949  unsigned long __cil_tmp100 ;
15950  struct mutex *__cil_tmp101 ;
15951  char    *__cil_tmp102 ;
15952  char    *__cil_tmp103 ;
15953  unsigned long __cil_tmp104 ;
15954  unsigned long __cil_tmp105 ;
15955  unsigned long __cil_tmp106 ;
15956  unsigned long __cil_tmp107 ;
15957  void (*__cil_tmp108)(struct map_info * , int  ) ;
15958  unsigned long __cil_tmp109 ;
15959  unsigned long __cil_tmp110 ;
15960  struct mutex *__cil_tmp111 ;
15961
15962  {
15963#line 1866
15964  __cil_tmp22 = (unsigned long )map;
15965#line 1866
15966  __cil_tmp23 = __cil_tmp22 + 120;
15967#line 1866
15968  __cil_tmp24 = *((void **)__cil_tmp23);
15969#line 1866
15970  cfi = (struct cfi_private *)__cil_tmp24;
15971#line 1868
15972  retries = 3;
15973#line 1871
15974  __cil_tmp25 = *((unsigned long *)chip);
15975#line 1871
15976  adr = adr + __cil_tmp25;
15977  retry: 
15978  {
15979#line 1874
15980  __cil_tmp26 = (unsigned long )chip;
15981#line 1874
15982  __cil_tmp27 = __cil_tmp26 + 32;
15983#line 1874
15984  __cil_tmp28 = (struct mutex *)__cil_tmp27;
15985#line 1874
15986  mutex_lock(__cil_tmp28);
15987#line 1875
15988  ret = get_chip(map, chip, adr, 4);
15989  }
15990#line 1876
15991  if (ret) {
15992    {
15993#line 1877
15994    __cil_tmp29 = (unsigned long )chip;
15995#line 1877
15996    __cil_tmp30 = __cil_tmp29 + 32;
15997#line 1877
15998    __cil_tmp31 = (struct mutex *)__cil_tmp30;
15999#line 1877
16000    mutex_unlock(__cil_tmp31);
16001    }
16002#line 1878
16003    return (ret);
16004  } else {
16005
16006  }
16007  {
16008#line 1882
16009  while (1) {
16010    while_continue: /* CIL Label */ ;
16011    {
16012#line 1882
16013    __cil_tmp32 = (unsigned long )map;
16014#line 1882
16015    __cil_tmp33 = __cil_tmp32 + 88;
16016#line 1882
16017    if (*((void (**)(struct map_info * , int  ))__cil_tmp33)) {
16018      {
16019#line 1882
16020      __cil_tmp34 = (unsigned long )map;
16021#line 1882
16022      __cil_tmp35 = __cil_tmp34 + 88;
16023#line 1882
16024      __cil_tmp36 = *((void (**)(struct map_info * , int  ))__cil_tmp35);
16025#line 1882
16026      (*__cil_tmp36)(map, 1);
16027      }
16028    } else {
16029
16030    }
16031    }
16032#line 1882
16033    goto while_break;
16034  }
16035  while_break: /* CIL Label */ ;
16036  }
16037  {
16038#line 1886
16039  __cil_tmp37 = (u_long )80;
16040#line 1886
16041  tmp___7 = cfi_build_cmd(__cil_tmp37, map, cfi);
16042#line 1886
16043  __cil_tmp38 = (unsigned long )map;
16044#line 1886
16045  __cil_tmp39 = __cil_tmp38 + 64;
16046#line 1886
16047  __cil_tmp40 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp39);
16048#line 1886
16049  __cil_tmp41 = (map_word    )tmp___7;
16050#line 1886
16051  (*__cil_tmp40)(map, __cil_tmp41, adr);
16052#line 1889
16053  __cil_tmp42 = (u_long )32;
16054#line 1889
16055  tmp___8 = cfi_build_cmd(__cil_tmp42, map, cfi);
16056#line 1889
16057  __cil_tmp43 = (unsigned long )map;
16058#line 1889
16059  __cil_tmp44 = __cil_tmp43 + 64;
16060#line 1889
16061  __cil_tmp45 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp44);
16062#line 1889
16063  __cil_tmp46 = (map_word    )tmp___8;
16064#line 1889
16065  (*__cil_tmp45)(map, __cil_tmp46, adr);
16066#line 1890
16067  __cil_tmp47 = (u_long )208;
16068#line 1890
16069  tmp___9 = cfi_build_cmd(__cil_tmp47, map, cfi);
16070#line 1890
16071  __cil_tmp48 = (unsigned long )map;
16072#line 1890
16073  __cil_tmp49 = __cil_tmp48 + 64;
16074#line 1890
16075  __cil_tmp50 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp49);
16076#line 1890
16077  __cil_tmp51 = (map_word    )tmp___9;
16078#line 1890
16079  (*__cil_tmp50)(map, __cil_tmp51, adr);
16080#line 1891
16081  __cil_tmp52 = (unsigned long )chip;
16082#line 1891
16083  __cil_tmp53 = __cil_tmp52 + 12;
16084#line 1891
16085  *((flstate_t *)__cil_tmp53) = (flstate_t )4;
16086#line 1892
16087  chip->erase_suspended = 0U;
16088#line 1894
16089  __cil_tmp54 = (unsigned long )chip;
16090#line 1894
16091  __cil_tmp55 = __cil_tmp54 + 152;
16092#line 1894
16093  __cil_tmp56 = *((int *)__cil_tmp55);
16094#line 1894
16095  __cil_tmp57 = (unsigned int )__cil_tmp56;
16096#line 1894
16097  __cil_tmp58 = (unsigned long )chip;
16098#line 1894
16099  __cil_tmp59 = __cil_tmp58 + 164;
16100#line 1894
16101  __cil_tmp60 = *((int *)__cil_tmp59);
16102#line 1894
16103  __cil_tmp61 = (unsigned int )__cil_tmp60;
16104#line 1894
16105  ret = inval_cache_and_wait_for_operation(map, chip, adr, adr, len, __cil_tmp57,
16106                                           __cil_tmp61);
16107  }
16108#line 1898
16109  if (ret) {
16110    {
16111#line 1899
16112    __cil_tmp62 = (u_long )112;
16113#line 1899
16114    tmp___10 = cfi_build_cmd(__cil_tmp62, map, cfi);
16115#line 1899
16116    __cil_tmp63 = (unsigned long )map;
16117#line 1899
16118    __cil_tmp64 = __cil_tmp63 + 64;
16119#line 1899
16120    __cil_tmp65 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp64);
16121#line 1899
16122    __cil_tmp66 = (map_word    )tmp___10;
16123#line 1899
16124    (*__cil_tmp65)(map, __cil_tmp66, adr);
16125#line 1900
16126    __cil_tmp67 = (unsigned long )chip;
16127#line 1900
16128    __cil_tmp68 = __cil_tmp67 + 12;
16129#line 1900
16130    *((flstate_t *)__cil_tmp68) = (flstate_t )1;
16131#line 1902
16132    __cil_tmp69 = *((char    **)map);
16133#line 1902
16134    printk("<3>%s: block erase error: (status timeout)\n", __cil_tmp69);
16135    }
16136#line 1903
16137    goto out;
16138  } else {
16139
16140  }
16141  {
16142#line 1907
16143  __cil_tmp70 = (u_long )112;
16144#line 1907
16145  tmp___11 = cfi_build_cmd(__cil_tmp70, map, cfi);
16146#line 1907
16147  __cil_tmp71 = (unsigned long )map;
16148#line 1907
16149  __cil_tmp72 = __cil_tmp71 + 64;
16150#line 1907
16151  __cil_tmp73 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp72);
16152#line 1907
16153  __cil_tmp74 = (map_word    )tmp___11;
16154#line 1907
16155  (*__cil_tmp73)(map, __cil_tmp74, adr);
16156#line 1908
16157  __cil_tmp75 = (unsigned long )chip;
16158#line 1908
16159  __cil_tmp76 = __cil_tmp75 + 12;
16160#line 1908
16161  *((flstate_t *)__cil_tmp76) = (flstate_t )1;
16162#line 1909
16163  __cil_tmp77 = (unsigned long )map;
16164#line 1909
16165  __cil_tmp78 = __cil_tmp77 + 48;
16166#line 1909
16167  __cil_tmp79 = *((map_word (**)(struct map_info * , unsigned long  ))__cil_tmp78);
16168#line 1909
16169  status = (*__cil_tmp79)(map, adr);
16170#line 1912
16171  __cil_tmp80 = (u_long )58;
16172#line 1912
16173  tmp___16 = cfi_build_cmd(__cil_tmp80, map, cfi);
16174#line 1912
16175  tmp___17 = map_word_bitsset(map, status, tmp___16);
16176  }
16177#line 1912
16178  if (tmp___17) {
16179    {
16180#line 1913
16181    tmp___12 = cfi_merge_status(status, map, cfi);
16182#line 1913
16183    chipstatus = tmp___12;
16184#line 1916
16185    __cil_tmp81 = (u_long )80;
16186#line 1916
16187    tmp___13 = cfi_build_cmd(__cil_tmp81, map, cfi);
16188#line 1916
16189    __cil_tmp82 = (unsigned long )map;
16190#line 1916
16191    __cil_tmp83 = __cil_tmp82 + 64;
16192#line 1916
16193    __cil_tmp84 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp83);
16194#line 1916
16195    __cil_tmp85 = (map_word    )tmp___13;
16196#line 1916
16197    (*__cil_tmp84)(map, __cil_tmp85, adr);
16198#line 1917
16199    __cil_tmp86 = (u_long )112;
16200#line 1917
16201    tmp___14 = cfi_build_cmd(__cil_tmp86, map, cfi);
16202#line 1917
16203    __cil_tmp87 = (unsigned long )map;
16204#line 1917
16205    __cil_tmp88 = __cil_tmp87 + 64;
16206#line 1917
16207    __cil_tmp89 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp88);
16208#line 1917
16209    __cil_tmp90 = (map_word    )tmp___14;
16210#line 1917
16211    (*__cil_tmp89)(map, __cil_tmp90, adr);
16212    }
16213    {
16214#line 1920
16215    __cil_tmp91 = chipstatus & 48UL;
16216#line 1920
16217    if (__cil_tmp91 == 48UL) {
16218      {
16219#line 1921
16220      __cil_tmp92 = *((char    **)map);
16221#line 1921
16222      printk("<3>%s: block erase error: (bad command sequence, status 0x%lx)\n", __cil_tmp92,
16223             chipstatus);
16224#line 1922
16225      ret = -22;
16226      }
16227    } else
16228#line 1923
16229    if (chipstatus & 2UL) {
16230#line 1925
16231      ret = -30;
16232    } else
16233#line 1926
16234    if (chipstatus & 8UL) {
16235      {
16236#line 1928
16237      __cil_tmp93 = *((char    **)map);
16238#line 1928
16239      printk("<3>%s: block erase error: (bad VPP)\n", __cil_tmp93);
16240#line 1929
16241      ret = -5;
16242      }
16243    } else
16244#line 1930
16245    if (chipstatus & 32UL) {
16246#line 1930
16247      tmp___15 = retries;
16248#line 1930
16249      retries = retries - 1;
16250#line 1930
16251      if (tmp___15) {
16252        {
16253#line 1931
16254        printk("<7>block erase failed at 0x%08lx: status 0x%lx. Retrying...\n", adr,
16255               chipstatus);
16256        }
16257        {
16258#line 1932
16259        while (1) {
16260          while_continue___0: /* CIL Label */ ;
16261          {
16262#line 1932
16263          __cil_tmp94 = (unsigned long )map;
16264#line 1932
16265          __cil_tmp95 = __cil_tmp94 + 88;
16266#line 1932
16267          if (*((void (**)(struct map_info * , int  ))__cil_tmp95)) {
16268            {
16269#line 1932
16270            __cil_tmp96 = (unsigned long )map;
16271#line 1932
16272            __cil_tmp97 = __cil_tmp96 + 88;
16273#line 1932
16274            __cil_tmp98 = *((void (**)(struct map_info * , int  ))__cil_tmp97);
16275#line 1932
16276            (*__cil_tmp98)(map, 0);
16277            }
16278          } else {
16279
16280          }
16281          }
16282#line 1932
16283          goto while_break___0;
16284        }
16285        while_break___0: /* CIL Label */ ;
16286        }
16287        {
16288#line 1933
16289        put_chip(map, chip, adr);
16290#line 1934
16291        __cil_tmp99 = (unsigned long )chip;
16292#line 1934
16293        __cil_tmp100 = __cil_tmp99 + 32;
16294#line 1934
16295        __cil_tmp101 = (struct mutex *)__cil_tmp100;
16296#line 1934
16297        mutex_unlock(__cil_tmp101);
16298        }
16299#line 1935
16300        goto retry;
16301      } else {
16302        {
16303#line 1937
16304        __cil_tmp102 = *((char    **)map);
16305#line 1937
16306        printk("<3>%s: block erase failed at 0x%08lx (status 0x%lx)\n", __cil_tmp102,
16307               adr, chipstatus);
16308#line 1938
16309        ret = -5;
16310        }
16311      }
16312    } else {
16313      {
16314#line 1937
16315      __cil_tmp103 = *((char    **)map);
16316#line 1937
16317      printk("<3>%s: block erase failed at 0x%08lx (status 0x%lx)\n", __cil_tmp103,
16318             adr, chipstatus);
16319#line 1938
16320      ret = -5;
16321      }
16322    }
16323    }
16324#line 1941
16325    goto out;
16326  } else {
16327
16328  }
16329  out: 
16330  {
16331#line 1945
16332  while (1) {
16333    while_continue___1: /* CIL Label */ ;
16334    {
16335#line 1945
16336    __cil_tmp104 = (unsigned long )map;
16337#line 1945
16338    __cil_tmp105 = __cil_tmp104 + 88;
16339#line 1945
16340    if (*((void (**)(struct map_info * , int  ))__cil_tmp105)) {
16341      {
16342#line 1945
16343      __cil_tmp106 = (unsigned long )map;
16344#line 1945
16345      __cil_tmp107 = __cil_tmp106 + 88;
16346#line 1945
16347      __cil_tmp108 = *((void (**)(struct map_info * , int  ))__cil_tmp107);
16348#line 1945
16349      (*__cil_tmp108)(map, 0);
16350      }
16351    } else {
16352
16353    }
16354    }
16355#line 1945
16356    goto while_break___1;
16357  }
16358  while_break___1: /* CIL Label */ ;
16359  }
16360  {
16361#line 1946
16362  put_chip(map, chip, adr);
16363#line 1947
16364  __cil_tmp109 = (unsigned long )chip;
16365#line 1947
16366  __cil_tmp110 = __cil_tmp109 + 32;
16367#line 1947
16368  __cil_tmp111 = (struct mutex *)__cil_tmp110;
16369#line 1947
16370  mutex_unlock(__cil_tmp111);
16371  }
16372#line 1948
16373  return (ret);
16374}
16375}
16376#line 1951 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16377static int cfi_intelext_erase_varsize(struct mtd_info *mtd , struct erase_info *instr ) 
16378{ unsigned long ofs ;
16379  unsigned long len ;
16380  int ret ;
16381  unsigned long __cil_tmp6 ;
16382  unsigned long __cil_tmp7 ;
16383  uint64_t __cil_tmp8 ;
16384  unsigned long __cil_tmp9 ;
16385  unsigned long __cil_tmp10 ;
16386  uint64_t __cil_tmp11 ;
16387  loff_t __cil_tmp12 ;
16388  void *__cil_tmp13 ;
16389  unsigned long __cil_tmp14 ;
16390  unsigned long __cil_tmp15 ;
16391
16392  {
16393  {
16394#line 1956
16395  __cil_tmp6 = (unsigned long )instr;
16396#line 1956
16397  __cil_tmp7 = __cil_tmp6 + 8;
16398#line 1956
16399  __cil_tmp8 = *((uint64_t *)__cil_tmp7);
16400#line 1956
16401  ofs = (unsigned long )__cil_tmp8;
16402#line 1957
16403  __cil_tmp9 = (unsigned long )instr;
16404#line 1957
16405  __cil_tmp10 = __cil_tmp9 + 16;
16406#line 1957
16407  __cil_tmp11 = *((uint64_t *)__cil_tmp10);
16408#line 1957
16409  len = (unsigned long )__cil_tmp11;
16410#line 1959
16411  __cil_tmp12 = (loff_t )ofs;
16412#line 1959
16413  __cil_tmp13 = (void *)0;
16414#line 1959
16415  ret = cfi_varsize_frob(mtd, & do_erase_oneblock, __cil_tmp12, len, __cil_tmp13);
16416  }
16417#line 1960
16418  if (ret) {
16419#line 1961
16420    return (ret);
16421  } else {
16422
16423  }
16424  {
16425#line 1963
16426  __cil_tmp14 = (unsigned long )instr;
16427#line 1963
16428  __cil_tmp15 = __cil_tmp14 + 72;
16429#line 1963
16430  *((u_char *)__cil_tmp15) = (u_char )8;
16431#line 1964
16432  mtd_erase_callback(instr);
16433  }
16434#line 1966
16435  return (0);
16436}
16437}
16438#line 1969 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16439static void cfi_intelext_sync(struct mtd_info *mtd ) 
16440{ struct map_info *map ;
16441  struct cfi_private *cfi ;
16442  int i ;
16443  struct flchip *chip ;
16444  int ret ;
16445  unsigned long __cil_tmp7 ;
16446  unsigned long __cil_tmp8 ;
16447  void *__cil_tmp9 ;
16448  unsigned long __cil_tmp10 ;
16449  unsigned long __cil_tmp11 ;
16450  void *__cil_tmp12 ;
16451  unsigned long __cil_tmp13 ;
16452  unsigned long __cil_tmp14 ;
16453  int __cil_tmp15 ;
16454  unsigned long __cil_tmp16 ;
16455  unsigned long __cil_tmp17 ;
16456  unsigned long __cil_tmp18 ;
16457  unsigned long __cil_tmp19 ;
16458  unsigned long __cil_tmp20 ;
16459  unsigned long __cil_tmp21 ;
16460  struct mutex *__cil_tmp22 ;
16461  unsigned long __cil_tmp23 ;
16462  unsigned long __cil_tmp24 ;
16463  unsigned long __cil_tmp25 ;
16464  unsigned long __cil_tmp26 ;
16465  unsigned long __cil_tmp27 ;
16466  unsigned long __cil_tmp28 ;
16467  unsigned long __cil_tmp29 ;
16468  unsigned long __cil_tmp30 ;
16469  unsigned long __cil_tmp31 ;
16470  struct mutex *__cil_tmp32 ;
16471  unsigned long __cil_tmp33 ;
16472  unsigned long __cil_tmp34 ;
16473  unsigned long __cil_tmp35 ;
16474  unsigned long __cil_tmp36 ;
16475  unsigned long __cil_tmp37 ;
16476  unsigned long __cil_tmp38 ;
16477  struct mutex *__cil_tmp39 ;
16478  unsigned long __cil_tmp40 ;
16479  unsigned long __cil_tmp41 ;
16480  flstate_t __cil_tmp42 ;
16481  unsigned int __cil_tmp43 ;
16482  unsigned long __cil_tmp44 ;
16483  unsigned long __cil_tmp45 ;
16484  unsigned long __cil_tmp46 ;
16485  unsigned long __cil_tmp47 ;
16486  unsigned long __cil_tmp48 ;
16487  unsigned long __cil_tmp49 ;
16488  unsigned long __cil_tmp50 ;
16489  unsigned long __cil_tmp51 ;
16490  wait_queue_head_t *__cil_tmp52 ;
16491  void *__cil_tmp53 ;
16492  unsigned long __cil_tmp54 ;
16493  unsigned long __cil_tmp55 ;
16494  struct mutex *__cil_tmp56 ;
16495
16496  {
16497#line 1971
16498  __cil_tmp7 = (unsigned long )mtd;
16499#line 1971
16500  __cil_tmp8 = __cil_tmp7 + 360;
16501#line 1971
16502  __cil_tmp9 = *((void **)__cil_tmp8);
16503#line 1971
16504  map = (struct map_info *)__cil_tmp9;
16505#line 1972
16506  __cil_tmp10 = (unsigned long )map;
16507#line 1972
16508  __cil_tmp11 = __cil_tmp10 + 120;
16509#line 1972
16510  __cil_tmp12 = *((void **)__cil_tmp11);
16511#line 1972
16512  cfi = (struct cfi_private *)__cil_tmp12;
16513#line 1975
16514  ret = 0;
16515#line 1977
16516  i = 0;
16517  {
16518#line 1977
16519  while (1) {
16520    while_continue: /* CIL Label */ ;
16521#line 1977
16522    if (! ret) {
16523      {
16524#line 1977
16525      __cil_tmp13 = (unsigned long )cfi;
16526#line 1977
16527      __cil_tmp14 = __cil_tmp13 + 64;
16528#line 1977
16529      __cil_tmp15 = *((int *)__cil_tmp14);
16530#line 1977
16531      if (i < __cil_tmp15) {
16532
16533      } else {
16534#line 1977
16535        goto while_break;
16536      }
16537      }
16538    } else {
16539#line 1977
16540      goto while_break;
16541    }
16542    {
16543#line 1978
16544    __cil_tmp16 = i * 176UL;
16545#line 1978
16546    __cil_tmp17 = 120 + __cil_tmp16;
16547#line 1978
16548    __cil_tmp18 = (unsigned long )cfi;
16549#line 1978
16550    __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
16551#line 1978
16552    chip = (struct flchip *)__cil_tmp19;
16553#line 1980
16554    __cil_tmp20 = (unsigned long )chip;
16555#line 1980
16556    __cil_tmp21 = __cil_tmp20 + 32;
16557#line 1980
16558    __cil_tmp22 = (struct mutex *)__cil_tmp21;
16559#line 1980
16560    mutex_lock(__cil_tmp22);
16561#line 1981
16562    __cil_tmp23 = *((unsigned long *)chip);
16563#line 1981
16564    ret = get_chip(map, chip, __cil_tmp23, 13);
16565    }
16566#line 1983
16567    if (! ret) {
16568#line 1984
16569      __cil_tmp24 = (unsigned long )chip;
16570#line 1984
16571      __cil_tmp25 = __cil_tmp24 + 16;
16572#line 1984
16573      __cil_tmp26 = (unsigned long )chip;
16574#line 1984
16575      __cil_tmp27 = __cil_tmp26 + 12;
16576#line 1984
16577      *((flstate_t *)__cil_tmp25) = *((flstate_t *)__cil_tmp27);
16578#line 1985
16579      __cil_tmp28 = (unsigned long )chip;
16580#line 1985
16581      __cil_tmp29 = __cil_tmp28 + 12;
16582#line 1985
16583      *((flstate_t *)__cil_tmp29) = (flstate_t )13;
16584    } else {
16585
16586    }
16587    {
16588#line 1991
16589    __cil_tmp30 = (unsigned long )chip;
16590#line 1991
16591    __cil_tmp31 = __cil_tmp30 + 32;
16592#line 1991
16593    __cil_tmp32 = (struct mutex *)__cil_tmp31;
16594#line 1991
16595    mutex_unlock(__cil_tmp32);
16596#line 1977
16597    i = i + 1;
16598    }
16599  }
16600  while_break: /* CIL Label */ ;
16601  }
16602#line 1996
16603  i = i - 1;
16604  {
16605#line 1996
16606  while (1) {
16607    while_continue___0: /* CIL Label */ ;
16608#line 1996
16609    if (i >= 0) {
16610
16611    } else {
16612#line 1996
16613      goto while_break___0;
16614    }
16615    {
16616#line 1997
16617    __cil_tmp33 = i * 176UL;
16618#line 1997
16619    __cil_tmp34 = 120 + __cil_tmp33;
16620#line 1997
16621    __cil_tmp35 = (unsigned long )cfi;
16622#line 1997
16623    __cil_tmp36 = __cil_tmp35 + __cil_tmp34;
16624#line 1997
16625    chip = (struct flchip *)__cil_tmp36;
16626#line 1999
16627    __cil_tmp37 = (unsigned long )chip;
16628#line 1999
16629    __cil_tmp38 = __cil_tmp37 + 32;
16630#line 1999
16631    __cil_tmp39 = (struct mutex *)__cil_tmp38;
16632#line 1999
16633    mutex_lock(__cil_tmp39);
16634    }
16635    {
16636#line 2001
16637    __cil_tmp40 = (unsigned long )chip;
16638#line 2001
16639    __cil_tmp41 = __cil_tmp40 + 12;
16640#line 2001
16641    __cil_tmp42 = *((flstate_t *)__cil_tmp41);
16642#line 2001
16643    __cil_tmp43 = (unsigned int )__cil_tmp42;
16644#line 2001
16645    if (__cil_tmp43 == 13U) {
16646      {
16647#line 2002
16648      __cil_tmp44 = (unsigned long )chip;
16649#line 2002
16650      __cil_tmp45 = __cil_tmp44 + 12;
16651#line 2002
16652      __cil_tmp46 = (unsigned long )chip;
16653#line 2002
16654      __cil_tmp47 = __cil_tmp46 + 16;
16655#line 2002
16656      *((flstate_t *)__cil_tmp45) = *((flstate_t *)__cil_tmp47);
16657#line 2003
16658      __cil_tmp48 = (unsigned long )chip;
16659#line 2003
16660      __cil_tmp49 = __cil_tmp48 + 16;
16661#line 2003
16662      *((flstate_t *)__cil_tmp49) = (flstate_t )0;
16663#line 2004
16664      __cil_tmp50 = (unsigned long )chip;
16665#line 2004
16666      __cil_tmp51 = __cil_tmp50 + 104;
16667#line 2004
16668      __cil_tmp52 = (wait_queue_head_t *)__cil_tmp51;
16669#line 2004
16670      __cil_tmp53 = (void *)0;
16671#line 2004
16672      __wake_up(__cil_tmp52, 3U, 1, __cil_tmp53);
16673      }
16674    } else {
16675
16676    }
16677    }
16678    {
16679#line 2006
16680    __cil_tmp54 = (unsigned long )chip;
16681#line 2006
16682    __cil_tmp55 = __cil_tmp54 + 32;
16683#line 2006
16684    __cil_tmp56 = (struct mutex *)__cil_tmp55;
16685#line 2006
16686    mutex_unlock(__cil_tmp56);
16687#line 1996
16688    i = i - 1;
16689    }
16690  }
16691  while_break___0: /* CIL Label */ ;
16692  }
16693#line 2008
16694  return;
16695}
16696}
16697#line 2010 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16698static int do_getlockstatus_oneblock(struct map_info *map , struct flchip *chip ,
16699                                     unsigned long adr , int len , void *thunk ) 
16700{ struct cfi_private *cfi ;
16701  int status ;
16702  int ofs_factor ;
16703  map_word tmp___7 ;
16704  uint8_t tmp___8 ;
16705  unsigned long __cil_tmp11 ;
16706  unsigned long __cil_tmp12 ;
16707  void *__cil_tmp13 ;
16708  unsigned long __cil_tmp14 ;
16709  unsigned long __cil_tmp15 ;
16710  int __cil_tmp16 ;
16711  unsigned long __cil_tmp17 ;
16712  unsigned long __cil_tmp18 ;
16713  int __cil_tmp19 ;
16714  unsigned long __cil_tmp20 ;
16715  u_long __cil_tmp21 ;
16716  unsigned long __cil_tmp22 ;
16717  unsigned long __cil_tmp23 ;
16718  void (*__cil_tmp24)(struct map_info * , map_word     , unsigned long  ) ;
16719  map_word    __cil_tmp25 ;
16720  int __cil_tmp26 ;
16721  unsigned long __cil_tmp27 ;
16722  unsigned long __cil_tmp28 ;
16723  unsigned long __cil_tmp29 ;
16724  unsigned long __cil_tmp30 ;
16725  int __cil_tmp31 ;
16726  unsigned long __cil_tmp32 ;
16727  unsigned long __cil_tmp33 ;
16728  uint32_t __cil_tmp34 ;
16729
16730  {
16731  {
16732#line 2015
16733  __cil_tmp11 = (unsigned long )map;
16734#line 2015
16735  __cil_tmp12 = __cil_tmp11 + 120;
16736#line 2015
16737  __cil_tmp13 = *((void **)__cil_tmp12);
16738#line 2015
16739  cfi = (struct cfi_private *)__cil_tmp13;
16740#line 2016
16741  __cil_tmp14 = (unsigned long )cfi;
16742#line 2016
16743  __cil_tmp15 = __cil_tmp14 + 20;
16744#line 2016
16745  __cil_tmp16 = *((int *)__cil_tmp15);
16746#line 2016
16747  __cil_tmp17 = (unsigned long )cfi;
16748#line 2016
16749  __cil_tmp18 = __cil_tmp17 + 16;
16750#line 2016
16751  __cil_tmp19 = *((int *)__cil_tmp18);
16752#line 2016
16753  ofs_factor = __cil_tmp19 * __cil_tmp16;
16754#line 2018
16755  __cil_tmp20 = *((unsigned long *)chip);
16756#line 2018
16757  adr = adr + __cil_tmp20;
16758#line 2020
16759  __cil_tmp21 = (u_long )144;
16760#line 2020
16761  tmp___7 = cfi_build_cmd(__cil_tmp21, map, cfi);
16762#line 2020
16763  __cil_tmp22 = (unsigned long )map;
16764#line 2020
16765  __cil_tmp23 = __cil_tmp22 + 64;
16766#line 2020
16767  __cil_tmp24 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp23);
16768#line 2020
16769  __cil_tmp25 = (map_word    )tmp___7;
16770#line 2020
16771  __cil_tmp26 = 2 * ofs_factor;
16772#line 2020
16773  __cil_tmp27 = (unsigned long )__cil_tmp26;
16774#line 2020
16775  __cil_tmp28 = adr + __cil_tmp27;
16776#line 2020
16777  (*__cil_tmp24)(map, __cil_tmp25, __cil_tmp28);
16778#line 2021
16779  __cil_tmp29 = (unsigned long )chip;
16780#line 2021
16781  __cil_tmp30 = __cil_tmp29 + 12;
16782#line 2021
16783  *((flstate_t *)__cil_tmp30) = (flstate_t )3;
16784#line 2022
16785  __cil_tmp31 = 2 * ofs_factor;
16786#line 2022
16787  __cil_tmp32 = (unsigned long )__cil_tmp31;
16788#line 2022
16789  __cil_tmp33 = adr + __cil_tmp32;
16790#line 2022
16791  __cil_tmp34 = (uint32_t )__cil_tmp33;
16792#line 2022
16793  tmp___8 = cfi_read_query(map, __cil_tmp34);
16794#line 2022
16795  status = (int )tmp___8;
16796  }
16797#line 2024
16798  return (status);
16799}
16800}
16801#line 2042 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
16802static int do_xxlock_oneblock(struct map_info *map , struct flchip *chip , unsigned long adr ,
16803                              int len , void *thunk ) 
16804{ struct cfi_private *cfi ;
16805  struct cfi_pri_intelext *extp ;
16806  int udelay ;
16807  int ret ;
16808  map_word tmp___7 ;
16809  map_word tmp___8 ;
16810  map_word tmp___9 ;
16811  map_word tmp___10 ;
16812  unsigned long __cil_tmp14 ;
16813  unsigned long __cil_tmp15 ;
16814  void *__cil_tmp16 ;
16815  unsigned long __cil_tmp17 ;
16816  unsigned long __cil_tmp18 ;
16817  void *__cil_tmp19 ;
16818  unsigned long __cil_tmp20 ;
16819  unsigned long __cil_tmp21 ;
16820  unsigned long __cil_tmp22 ;
16821  struct mutex *__cil_tmp23 ;
16822  unsigned long __cil_tmp24 ;
16823  unsigned long __cil_tmp25 ;
16824  struct mutex *__cil_tmp26 ;
16825  unsigned long __cil_tmp27 ;
16826  unsigned long __cil_tmp28 ;
16827  unsigned long __cil_tmp29 ;
16828  unsigned long __cil_tmp30 ;
16829  void (*__cil_tmp31)(struct map_info * , int  ) ;
16830  u_long __cil_tmp32 ;
16831  unsigned long __cil_tmp33 ;
16832  unsigned long __cil_tmp34 ;
16833  void (*__cil_tmp35)(struct map_info * , map_word     , unsigned long  ) ;
16834  map_word    __cil_tmp36 ;
16835  void *__cil_tmp37 ;
16836  unsigned long __cil_tmp38 ;
16837  unsigned long __cil_tmp39 ;
16838  u_long __cil_tmp40 ;
16839  unsigned long __cil_tmp41 ;
16840  unsigned long __cil_tmp42 ;
16841  void (*__cil_tmp43)(struct map_info * , map_word     , unsigned long  ) ;
16842  map_word    __cil_tmp44 ;
16843  unsigned long __cil_tmp45 ;
16844  unsigned long __cil_tmp46 ;
16845  void *__cil_tmp47 ;
16846  unsigned long __cil_tmp48 ;
16847  unsigned long __cil_tmp49 ;
16848  u_long __cil_tmp50 ;
16849  unsigned long __cil_tmp51 ;
16850  unsigned long __cil_tmp52 ;
16851  void (*__cil_tmp53)(struct map_info * , map_word     , unsigned long  ) ;
16852  map_word    __cil_tmp54 ;
16853  unsigned long __cil_tmp55 ;
16854  unsigned long __cil_tmp56 ;
16855  int __cil_tmp57 ;
16856  unsigned int __cil_tmp58 ;
16857  unsigned long __cil_tmp59 ;
16858  unsigned long __cil_tmp60 ;
16859  uint32_t __cil_tmp61 ;
16860  unsigned int __cil_tmp62 ;
16861  unsigned int __cil_tmp63 ;
16862  int __cil_tmp64 ;
16863  unsigned int __cil_tmp65 ;
16864  u_long __cil_tmp66 ;
16865  unsigned long __cil_tmp67 ;
16866  unsigned long __cil_tmp68 ;
16867  void (*__cil_tmp69)(struct map_info * , map_word     , unsigned long  ) ;
16868  map_word    __cil_tmp70 ;
16869  unsigned long __cil_tmp71 ;
16870  unsigned long __cil_tmp72 ;
16871  char    *__cil_tmp73 ;
16872  unsigned long __cil_tmp74 ;
16873  unsigned long __cil_tmp75 ;
16874  unsigned long __cil_tmp76 ;
16875  unsigned long __cil_tmp77 ;
16876  void (*__cil_tmp78)(struct map_info * , int  ) ;
16877  unsigned long __cil_tmp79 ;
16878  unsigned long __cil_tmp80 ;
16879  struct mutex *__cil_tmp81 ;
16880
16881  {
16882  {
16883#line 2045
16884  __cil_tmp14 = (unsigned long )map;
16885#line 2045
16886  __cil_tmp15 = __cil_tmp14 + 120;
16887#line 2045
16888  __cil_tmp16 = *((void **)__cil_tmp15);
16889#line 2045
16890  cfi = (struct cfi_private *)__cil_tmp16;
16891#line 2046
16892  __cil_tmp17 = (unsigned long )cfi;
16893#line 2046
16894  __cil_tmp18 = __cil_tmp17 + 8;
16895#line 2046
16896  __cil_tmp19 = *((void **)__cil_tmp18);
16897#line 2046
16898  extp = (struct cfi_pri_intelext *)__cil_tmp19;
16899#line 2050
16900  __cil_tmp20 = *((unsigned long *)chip);
16901#line 2050
16902  adr = adr + __cil_tmp20;
16903#line 2052
16904  __cil_tmp21 = (unsigned long )chip;
16905#line 2052
16906  __cil_tmp22 = __cil_tmp21 + 32;
16907#line 2052
16908  __cil_tmp23 = (struct mutex *)__cil_tmp22;
16909#line 2052
16910  mutex_lock(__cil_tmp23);
16911#line 2053
16912  ret = get_chip(map, chip, adr, 15);
16913  }
16914#line 2054
16915  if (ret) {
16916    {
16917#line 2055
16918    __cil_tmp24 = (unsigned long )chip;
16919#line 2055
16920    __cil_tmp25 = __cil_tmp24 + 32;
16921#line 2055
16922    __cil_tmp26 = (struct mutex *)__cil_tmp25;
16923#line 2055
16924    mutex_unlock(__cil_tmp26);
16925    }
16926#line 2056
16927    return (ret);
16928  } else {
16929
16930  }
16931  {
16932#line 2059
16933  while (1) {
16934    while_continue: /* CIL Label */ ;
16935    {
16936#line 2059
16937    __cil_tmp27 = (unsigned long )map;
16938#line 2059
16939    __cil_tmp28 = __cil_tmp27 + 88;
16940#line 2059
16941    if (*((void (**)(struct map_info * , int  ))__cil_tmp28)) {
16942      {
16943#line 2059
16944      __cil_tmp29 = (unsigned long )map;
16945#line 2059
16946      __cil_tmp30 = __cil_tmp29 + 88;
16947#line 2059
16948      __cil_tmp31 = *((void (**)(struct map_info * , int  ))__cil_tmp30);
16949#line 2059
16950      (*__cil_tmp31)(map, 1);
16951      }
16952    } else {
16953
16954    }
16955    }
16956#line 2059
16957    goto while_break;
16958  }
16959  while_break: /* CIL Label */ ;
16960  }
16961  {
16962#line 2062
16963  __cil_tmp32 = (u_long )96;
16964#line 2062
16965  tmp___7 = cfi_build_cmd(__cil_tmp32, map, cfi);
16966#line 2062
16967  __cil_tmp33 = (unsigned long )map;
16968#line 2062
16969  __cil_tmp34 = __cil_tmp33 + 64;
16970#line 2062
16971  __cil_tmp35 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp34);
16972#line 2062
16973  __cil_tmp36 = (map_word    )tmp___7;
16974#line 2062
16975  (*__cil_tmp35)(map, __cil_tmp36, adr);
16976  }
16977  {
16978#line 2063
16979  __cil_tmp37 = (void *)1;
16980#line 2063
16981  __cil_tmp38 = (unsigned long )__cil_tmp37;
16982#line 2063
16983  __cil_tmp39 = (unsigned long )thunk;
16984#line 2063
16985  if (__cil_tmp39 == __cil_tmp38) {
16986    {
16987#line 2064
16988    __cil_tmp40 = (u_long )1;
16989#line 2064
16990    tmp___8 = cfi_build_cmd(__cil_tmp40, map, cfi);
16991#line 2064
16992    __cil_tmp41 = (unsigned long )map;
16993#line 2064
16994    __cil_tmp42 = __cil_tmp41 + 64;
16995#line 2064
16996    __cil_tmp43 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp42);
16997#line 2064
16998    __cil_tmp44 = (map_word    )tmp___8;
16999#line 2064
17000    (*__cil_tmp43)(map, __cil_tmp44, adr);
17001#line 2065
17002    __cil_tmp45 = (unsigned long )chip;
17003#line 2065
17004    __cil_tmp46 = __cil_tmp45 + 12;
17005#line 2065
17006    *((flstate_t *)__cil_tmp46) = (flstate_t )15;
17007    }
17008  } else {
17009    {
17010#line 2066
17011    __cil_tmp47 = (void *)2;
17012#line 2066
17013    __cil_tmp48 = (unsigned long )__cil_tmp47;
17014#line 2066
17015    __cil_tmp49 = (unsigned long )thunk;
17016#line 2066
17017    if (__cil_tmp49 == __cil_tmp48) {
17018      {
17019#line 2067
17020      __cil_tmp50 = (u_long )208;
17021#line 2067
17022      tmp___9 = cfi_build_cmd(__cil_tmp50, map, cfi);
17023#line 2067
17024      __cil_tmp51 = (unsigned long )map;
17025#line 2067
17026      __cil_tmp52 = __cil_tmp51 + 64;
17027#line 2067
17028      __cil_tmp53 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp52);
17029#line 2067
17030      __cil_tmp54 = (map_word    )tmp___9;
17031#line 2067
17032      (*__cil_tmp53)(map, __cil_tmp54, adr);
17033#line 2068
17034      __cil_tmp55 = (unsigned long )chip;
17035#line 2068
17036      __cil_tmp56 = __cil_tmp55 + 12;
17037#line 2068
17038      *((flstate_t *)__cil_tmp56) = (flstate_t )16;
17039      }
17040    } else {
17041      {
17042#line 2070
17043      while (1) {
17044        while_continue___0: /* CIL Label */ ;
17045#line 2070
17046        __asm__  volatile   ("1:\tud2\n"
17047                             ".pushsection __bug_table,\"a\"\n"
17048                             "2:\t.long 1b - 2b, %c0 - 2b\n"
17049                             "\t.word %c1, 0\n"
17050                             "\t.org 2b+%c2\n"
17051                             ".popsection": : "i" ("/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"),
17052                             "i" (2070), "i" (12UL));
17053        {
17054#line 2070
17055        while (1) {
17056          while_continue___1: /* CIL Label */ ;
17057        }
17058        while_break___1: /* CIL Label */ ;
17059        }
17060#line 2070
17061        goto while_break___0;
17062      }
17063      while_break___0: /* CIL Label */ ;
17064      }
17065    }
17066    }
17067  }
17068  }
17069#line 2076
17070  if (! extp) {
17071#line 2076
17072    udelay = 4000;
17073  } else {
17074    {
17075#line 2076
17076    __cil_tmp57 = 1 << 5;
17077#line 2076
17078    __cil_tmp58 = (unsigned int )__cil_tmp57;
17079#line 2076
17080    __cil_tmp59 = (unsigned long )extp;
17081#line 2076
17082    __cil_tmp60 = __cil_tmp59 + 5;
17083#line 2076
17084    __cil_tmp61 = *((uint32_t *)__cil_tmp60);
17085#line 2076
17086    __cil_tmp62 = __cil_tmp61 & __cil_tmp58;
17087#line 2076
17088    if (! __cil_tmp62) {
17089#line 2076
17090      udelay = 4000;
17091    } else {
17092#line 2076
17093      udelay = 0;
17094    }
17095    }
17096  }
17097  {
17098#line 2078
17099  __cil_tmp63 = (unsigned int )udelay;
17100#line 2078
17101  __cil_tmp64 = udelay * 100;
17102#line 2078
17103  __cil_tmp65 = (unsigned int )__cil_tmp64;
17104#line 2078
17105  ret = inval_cache_and_wait_for_operation(map, chip, adr, 0UL, 0, __cil_tmp63, __cil_tmp65);
17106  }
17107#line 2079
17108  if (ret) {
17109    {
17110#line 2080
17111    __cil_tmp66 = (u_long )112;
17112#line 2080
17113    tmp___10 = cfi_build_cmd(__cil_tmp66, map, cfi);
17114#line 2080
17115    __cil_tmp67 = (unsigned long )map;
17116#line 2080
17117    __cil_tmp68 = __cil_tmp67 + 64;
17118#line 2080
17119    __cil_tmp69 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp68);
17120#line 2080
17121    __cil_tmp70 = (map_word    )tmp___10;
17122#line 2080
17123    (*__cil_tmp69)(map, __cil_tmp70, adr);
17124#line 2081
17125    __cil_tmp71 = (unsigned long )chip;
17126#line 2081
17127    __cil_tmp72 = __cil_tmp71 + 12;
17128#line 2081
17129    *((flstate_t *)__cil_tmp72) = (flstate_t )1;
17130#line 2083
17131    __cil_tmp73 = *((char    **)map);
17132#line 2083
17133    printk("<3>%s: block unlock error: (status timeout)\n", __cil_tmp73);
17134    }
17135#line 2084
17136    goto out;
17137  } else {
17138
17139  }
17140  out: 
17141  {
17142#line 2088
17143  while (1) {
17144    while_continue___2: /* CIL Label */ ;
17145    {
17146#line 2088
17147    __cil_tmp74 = (unsigned long )map;
17148#line 2088
17149    __cil_tmp75 = __cil_tmp74 + 88;
17150#line 2088
17151    if (*((void (**)(struct map_info * , int  ))__cil_tmp75)) {
17152      {
17153#line 2088
17154      __cil_tmp76 = (unsigned long )map;
17155#line 2088
17156      __cil_tmp77 = __cil_tmp76 + 88;
17157#line 2088
17158      __cil_tmp78 = *((void (**)(struct map_info * , int  ))__cil_tmp77);
17159#line 2088
17160      (*__cil_tmp78)(map, 0);
17161      }
17162    } else {
17163
17164    }
17165    }
17166#line 2088
17167    goto while_break___2;
17168  }
17169  while_break___2: /* CIL Label */ ;
17170  }
17171  {
17172#line 2089
17173  put_chip(map, chip, adr);
17174#line 2090
17175  __cil_tmp79 = (unsigned long )chip;
17176#line 2090
17177  __cil_tmp80 = __cil_tmp79 + 32;
17178#line 2090
17179  __cil_tmp81 = (struct mutex *)__cil_tmp80;
17180#line 2090
17181  mutex_unlock(__cil_tmp81);
17182  }
17183#line 2091
17184  return (ret);
17185}
17186}
17187#line 2094 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17188static int cfi_intelext_lock(struct mtd_info *mtd , loff_t ofs , uint64_t len ) 
17189{ int ret ;
17190  size_t __cil_tmp5 ;
17191  void *__cil_tmp6 ;
17192
17193  {
17194  {
17195#line 2105
17196  __cil_tmp5 = (size_t )len;
17197#line 2105
17198  __cil_tmp6 = (void *)1;
17199#line 2105
17200  ret = cfi_varsize_frob(mtd, & do_xxlock_oneblock, ofs, __cil_tmp5, __cil_tmp6);
17201  }
17202#line 2115
17203  return (ret);
17204}
17205}
17206#line 2118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17207static int cfi_intelext_unlock(struct mtd_info *mtd , loff_t ofs , uint64_t len ) 
17208{ int ret ;
17209  size_t __cil_tmp5 ;
17210  void *__cil_tmp6 ;
17211
17212  {
17213  {
17214#line 2129
17215  __cil_tmp5 = (size_t )len;
17216#line 2129
17217  __cil_tmp6 = (void *)2;
17218#line 2129
17219  ret = cfi_varsize_frob(mtd, & do_xxlock_oneblock, ofs, __cil_tmp5, __cil_tmp6);
17220  }
17221#line 2139
17222  return (ret);
17223}
17224}
17225#line 2142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17226static int cfi_intelext_is_locked(struct mtd_info *mtd , loff_t ofs , uint64_t len ) 
17227{ int tmp___8 ;
17228  int tmp___9 ;
17229  size_t __cil_tmp7 ;
17230  void *__cil_tmp8 ;
17231
17232  {
17233  {
17234#line 2145
17235  __cil_tmp7 = (size_t )len;
17236#line 2145
17237  __cil_tmp8 = (void *)0;
17238#line 2145
17239  tmp___9 = cfi_varsize_frob(mtd, & do_getlockstatus_oneblock, ofs, __cil_tmp7, __cil_tmp8);
17240  }
17241#line 2145
17242  if (tmp___9) {
17243#line 2145
17244    tmp___8 = 1;
17245  } else {
17246#line 2145
17247    tmp___8 = 0;
17248  }
17249#line 2145
17250  return (tmp___8);
17251}
17252}
17253#line 2155 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17254static int do_otp_read(struct map_info *map , struct flchip *chip , u_long offset ,
17255                       u_char *buf , u_int size , u_long prot , u_int grpno , u_int grpsz ) 
17256{ struct cfi_private *cfi ;
17257  int ret ;
17258  map_word tmp___7 ;
17259  unsigned long __cil_tmp12 ;
17260  unsigned long __cil_tmp13 ;
17261  void *__cil_tmp14 ;
17262  unsigned long __cil_tmp15 ;
17263  unsigned long __cil_tmp16 ;
17264  struct mutex *__cil_tmp17 ;
17265  unsigned long __cil_tmp18 ;
17266  unsigned long __cil_tmp19 ;
17267  unsigned long __cil_tmp20 ;
17268  struct mutex *__cil_tmp21 ;
17269  unsigned long __cil_tmp22 ;
17270  unsigned long __cil_tmp23 ;
17271  unsigned long __cil_tmp24 ;
17272  unsigned long __cil_tmp25 ;
17273  void (*__cil_tmp26)(struct map_info * , unsigned long  , ssize_t  ) ;
17274  unsigned long __cil_tmp27 ;
17275  unsigned long __cil_tmp28 ;
17276  ssize_t __cil_tmp29 ;
17277  unsigned long __cil_tmp30 ;
17278  unsigned long __cil_tmp31 ;
17279  flstate_t __cil_tmp32 ;
17280  unsigned int __cil_tmp33 ;
17281  u_long __cil_tmp34 ;
17282  unsigned long __cil_tmp35 ;
17283  unsigned long __cil_tmp36 ;
17284  void (*__cil_tmp37)(struct map_info * , map_word     , unsigned long  ) ;
17285  map_word    __cil_tmp38 ;
17286  unsigned long __cil_tmp39 ;
17287  unsigned long __cil_tmp40 ;
17288  unsigned long __cil_tmp41 ;
17289  unsigned long __cil_tmp42 ;
17290  unsigned long __cil_tmp43 ;
17291  void (*__cil_tmp44)(struct map_info * , void * , unsigned long  , ssize_t  ) ;
17292  void *__cil_tmp45 ;
17293  unsigned long __cil_tmp46 ;
17294  unsigned long __cil_tmp47 ;
17295  ssize_t __cil_tmp48 ;
17296  unsigned long __cil_tmp49 ;
17297  unsigned long __cil_tmp50 ;
17298  unsigned long __cil_tmp51 ;
17299  unsigned long __cil_tmp52 ;
17300  void (*__cil_tmp53)(struct map_info * , unsigned long  , ssize_t  ) ;
17301  unsigned long __cil_tmp54 ;
17302  unsigned long __cil_tmp55 ;
17303  ssize_t __cil_tmp56 ;
17304  unsigned long __cil_tmp57 ;
17305  unsigned long __cil_tmp58 ;
17306  unsigned long __cil_tmp59 ;
17307  struct mutex *__cil_tmp60 ;
17308
17309  {
17310  {
17311#line 2159
17312  __cil_tmp12 = (unsigned long )map;
17313#line 2159
17314  __cil_tmp13 = __cil_tmp12 + 120;
17315#line 2159
17316  __cil_tmp14 = *((void **)__cil_tmp13);
17317#line 2159
17318  cfi = (struct cfi_private *)__cil_tmp14;
17319#line 2162
17320  __cil_tmp15 = (unsigned long )chip;
17321#line 2162
17322  __cil_tmp16 = __cil_tmp15 + 32;
17323#line 2162
17324  __cil_tmp17 = (struct mutex *)__cil_tmp16;
17325#line 2162
17326  mutex_lock(__cil_tmp17);
17327#line 2163
17328  __cil_tmp18 = *((unsigned long *)chip);
17329#line 2163
17330  ret = get_chip(map, chip, __cil_tmp18, 3);
17331  }
17332#line 2164
17333  if (ret) {
17334    {
17335#line 2165
17336    __cil_tmp19 = (unsigned long )chip;
17337#line 2165
17338    __cil_tmp20 = __cil_tmp19 + 32;
17339#line 2165
17340    __cil_tmp21 = (struct mutex *)__cil_tmp20;
17341#line 2165
17342    mutex_unlock(__cil_tmp21);
17343    }
17344#line 2166
17345    return (ret);
17346  } else {
17347
17348  }
17349  {
17350#line 2170
17351  while (1) {
17352    while_continue: /* CIL Label */ ;
17353    {
17354#line 2170
17355    __cil_tmp22 = (unsigned long )map;
17356#line 2170
17357    __cil_tmp23 = __cil_tmp22 + 80;
17358#line 2170
17359    if (*((void (**)(struct map_info * , unsigned long  , ssize_t  ))__cil_tmp23)) {
17360      {
17361#line 2170
17362      __cil_tmp24 = (unsigned long )map;
17363#line 2170
17364      __cil_tmp25 = __cil_tmp24 + 80;
17365#line 2170
17366      __cil_tmp26 = *((void (**)(struct map_info * , unsigned long  , ssize_t  ))__cil_tmp25);
17367#line 2170
17368      __cil_tmp27 = *((unsigned long *)chip);
17369#line 2170
17370      __cil_tmp28 = __cil_tmp27 + offset;
17371#line 2170
17372      __cil_tmp29 = (ssize_t )size;
17373#line 2170
17374      (*__cil_tmp26)(map, __cil_tmp28, __cil_tmp29);
17375      }
17376    } else {
17377
17378    }
17379    }
17380#line 2170
17381    goto while_break;
17382  }
17383  while_break: /* CIL Label */ ;
17384  }
17385  {
17386#line 2173
17387  __cil_tmp30 = (unsigned long )chip;
17388#line 2173
17389  __cil_tmp31 = __cil_tmp30 + 12;
17390#line 2173
17391  __cil_tmp32 = *((flstate_t *)__cil_tmp31);
17392#line 2173
17393  __cil_tmp33 = (unsigned int )__cil_tmp32;
17394#line 2173
17395  if (__cil_tmp33 != 3U) {
17396    {
17397#line 2174
17398    __cil_tmp34 = (u_long )144;
17399#line 2174
17400    tmp___7 = cfi_build_cmd(__cil_tmp34, map, cfi);
17401#line 2174
17402    __cil_tmp35 = (unsigned long )map;
17403#line 2174
17404    __cil_tmp36 = __cil_tmp35 + 64;
17405#line 2174
17406    __cil_tmp37 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp36);
17407#line 2174
17408    __cil_tmp38 = (map_word    )tmp___7;
17409#line 2174
17410    __cil_tmp39 = *((unsigned long *)chip);
17411#line 2174
17412    (*__cil_tmp37)(map, __cil_tmp38, __cil_tmp39);
17413#line 2175
17414    __cil_tmp40 = (unsigned long )chip;
17415#line 2175
17416    __cil_tmp41 = __cil_tmp40 + 12;
17417#line 2175
17418    *((flstate_t *)__cil_tmp41) = (flstate_t )3;
17419    }
17420  } else {
17421
17422  }
17423  }
17424  {
17425#line 2177
17426  __cil_tmp42 = (unsigned long )map;
17427#line 2177
17428  __cil_tmp43 = __cil_tmp42 + 56;
17429#line 2177
17430  __cil_tmp44 = *((void (**)(struct map_info * , void * , unsigned long  , ssize_t  ))__cil_tmp43);
17431#line 2177
17432  __cil_tmp45 = (void *)buf;
17433#line 2177
17434  __cil_tmp46 = *((unsigned long *)chip);
17435#line 2177
17436  __cil_tmp47 = __cil_tmp46 + offset;
17437#line 2177
17438  __cil_tmp48 = (ssize_t )size;
17439#line 2177
17440  (*__cil_tmp44)(map, __cil_tmp45, __cil_tmp47, __cil_tmp48);
17441  }
17442  {
17443#line 2181
17444  while (1) {
17445    while_continue___0: /* CIL Label */ ;
17446    {
17447#line 2181
17448    __cil_tmp49 = (unsigned long )map;
17449#line 2181
17450    __cil_tmp50 = __cil_tmp49 + 80;
17451#line 2181
17452    if (*((void (**)(struct map_info * , unsigned long  , ssize_t  ))__cil_tmp50)) {
17453      {
17454#line 2181
17455      __cil_tmp51 = (unsigned long )map;
17456#line 2181
17457      __cil_tmp52 = __cil_tmp51 + 80;
17458#line 2181
17459      __cil_tmp53 = *((void (**)(struct map_info * , unsigned long  , ssize_t  ))__cil_tmp52);
17460#line 2181
17461      __cil_tmp54 = *((unsigned long *)chip);
17462#line 2181
17463      __cil_tmp55 = __cil_tmp54 + offset;
17464#line 2181
17465      __cil_tmp56 = (ssize_t )size;
17466#line 2181
17467      (*__cil_tmp53)(map, __cil_tmp55, __cil_tmp56);
17468      }
17469    } else {
17470
17471    }
17472    }
17473#line 2181
17474    goto while_break___0;
17475  }
17476  while_break___0: /* CIL Label */ ;
17477  }
17478  {
17479#line 2183
17480  __cil_tmp57 = *((unsigned long *)chip);
17481#line 2183
17482  put_chip(map, chip, __cil_tmp57);
17483#line 2184
17484  __cil_tmp58 = (unsigned long )chip;
17485#line 2184
17486  __cil_tmp59 = __cil_tmp58 + 32;
17487#line 2184
17488  __cil_tmp60 = (struct mutex *)__cil_tmp59;
17489#line 2184
17490  mutex_unlock(__cil_tmp60);
17491  }
17492#line 2185
17493  return (0);
17494}
17495}
17496#line 2188 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17497static int do_otp_write(struct map_info *map , struct flchip *chip , u_long offset ,
17498                        u_char *buf , u_int size , u_long prot , u_int grpno , u_int grpsz ) 
17499{ int ret ;
17500  unsigned long bus_ofs ;
17501  int gap ;
17502  int n ;
17503  int __min1 ;
17504  int __min2 ;
17505  int tmp___7 ;
17506  map_word datum ;
17507  map_word tmp___8 ;
17508  unsigned long __cil_tmp18 ;
17509  unsigned long __cil_tmp19 ;
17510  int __cil_tmp20 ;
17511  int __cil_tmp21 ;
17512  int __cil_tmp22 ;
17513  unsigned long __cil_tmp23 ;
17514  u_long __cil_tmp24 ;
17515  unsigned long __cil_tmp25 ;
17516  unsigned long __cil_tmp26 ;
17517  int __cil_tmp27 ;
17518  unsigned char    *__cil_tmp28 ;
17519  u_long __cil_tmp29 ;
17520  u_int __cil_tmp30 ;
17521
17522  {
17523  {
17524#line 2194
17525  while (1) {
17526    while_continue: /* CIL Label */ ;
17527#line 2194
17528    if (size) {
17529
17530    } else {
17531#line 2194
17532      goto while_break;
17533    }
17534#line 2195
17535    __cil_tmp18 = (unsigned long )map;
17536#line 2195
17537    __cil_tmp19 = __cil_tmp18 + 44;
17538#line 2195
17539    __cil_tmp20 = *((int *)__cil_tmp19);
17540#line 2195
17541    __cil_tmp21 = __cil_tmp20 - 1;
17542#line 2195
17543    __cil_tmp22 = ~ __cil_tmp21;
17544#line 2195
17545    __cil_tmp23 = (unsigned long )__cil_tmp22;
17546#line 2195
17547    bus_ofs = offset & __cil_tmp23;
17548#line 2196
17549    __cil_tmp24 = offset - bus_ofs;
17550#line 2196
17551    gap = (int )__cil_tmp24;
17552#line 2197
17553    __min1 = (int )size;
17554#line 2197
17555    __cil_tmp25 = (unsigned long )map;
17556#line 2197
17557    __cil_tmp26 = __cil_tmp25 + 44;
17558#line 2197
17559    __cil_tmp27 = *((int *)__cil_tmp26);
17560#line 2197
17561    __min2 = __cil_tmp27 - gap;
17562#line 2197
17563    if (__min1 < __min2) {
17564#line 2197
17565      tmp___7 = __min1;
17566    } else {
17567#line 2197
17568      tmp___7 = __min2;
17569    }
17570    {
17571#line 2197
17572    n = tmp___7;
17573#line 2198
17574    tmp___8 = map_word_ff(map);
17575#line 2198
17576    datum = tmp___8;
17577#line 2200
17578    __cil_tmp28 = (unsigned char    *)buf;
17579#line 2200
17580    datum = map_word_load_partial(map, datum, __cil_tmp28, gap, n);
17581#line 2201
17582    ret = do_write_oneword(map, chip, bus_ofs, datum, 9);
17583    }
17584#line 2202
17585    if (ret) {
17586#line 2203
17587      return (ret);
17588    } else {
17589
17590    }
17591#line 2205
17592    __cil_tmp29 = (u_long )n;
17593#line 2205
17594    offset = offset + __cil_tmp29;
17595#line 2206
17596    buf = buf + n;
17597#line 2207
17598    __cil_tmp30 = (u_int )n;
17599#line 2207
17600    size = size - __cil_tmp30;
17601  }
17602  while_break: /* CIL Label */ ;
17603  }
17604#line 2210
17605  return (0);
17606}
17607}
17608#line 2213 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17609static int do_otp_lock(struct map_info *map , struct flchip *chip , u_long offset ,
17610                       u_char *buf , u_int size , u_long prot , u_int grpno , u_int grpsz ) 
17611{ struct cfi_private *cfi ;
17612  map_word datum ;
17613  map_word tmp___7 ;
17614  int tmp___8 ;
17615  unsigned long __cil_tmp13 ;
17616  unsigned long __cil_tmp14 ;
17617  void *__cil_tmp15 ;
17618  int __cil_tmp16 ;
17619  u_long __cil_tmp17 ;
17620
17621  {
17622#line 2217
17623  __cil_tmp13 = (unsigned long )map;
17624#line 2217
17625  __cil_tmp14 = __cil_tmp13 + 120;
17626#line 2217
17627  __cil_tmp15 = *((void **)__cil_tmp14);
17628#line 2217
17629  cfi = (struct cfi_private *)__cil_tmp15;
17630#line 2221
17631  if (size != grpsz) {
17632#line 2222
17633    return (-18);
17634  } else {
17635
17636  }
17637  {
17638#line 2224
17639  datum = map_word_ff(map);
17640#line 2225
17641  __cil_tmp16 = 1 << grpno;
17642#line 2225
17643  __cil_tmp17 = (u_long )__cil_tmp16;
17644#line 2225
17645  tmp___7 = cfi_build_cmd(__cil_tmp17, map, cfi);
17646#line 2225
17647  datum = map_word_clr(map, datum, tmp___7);
17648#line 2226
17649  tmp___8 = do_write_oneword(map, chip, prot, datum, 9);
17650  }
17651#line 2226
17652  return (tmp___8);
17653}
17654}
17655#line 2229 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
17656static int cfi_intelext_otp_walk(struct mtd_info *mtd , loff_t from , size_t len ,
17657                                 size_t *retlen , u_char *buf , int (*action)(struct map_info *map ,
17658                                                                              struct flchip *chip ,
17659                                                                              u_long data_offset ,
17660                                                                              u_char *buf ,
17661                                                                              u_int size ,
17662                                                                              u_long prot_offset ,
17663                                                                              u_int groupno ,
17664                                                                              u_int groupsize ) ,
17665                                 int user_regs ) 
17666{ struct map_info *map ;
17667  struct cfi_private *cfi ;
17668  struct cfi_pri_intelext *extp ;
17669  struct flchip *chip ;
17670  struct cfi_intelext_otpinfo *otp ;
17671  u_long devsize ;
17672  u_long reg_prot_offset ;
17673  u_long data_offset ;
17674  u_int chip_num ;
17675  u_int chip_step ;
17676  u_int field ;
17677  u_int reg_fact_size ;
17678  u_int reg_user_size ;
17679  u_int groups ;
17680  u_int groupno ;
17681  u_int groupsize ;
17682  u_int reg_fact_groups ;
17683  u_int reg_user_groups ;
17684  int ret ;
17685  struct otp_info *otpinfo ;
17686  map_word lockword ;
17687  map_word tmp___7 ;
17688  int tmp___8 ;
17689  int tmp___9 ;
17690  int size ;
17691  unsigned long __cil_tmp33 ;
17692  unsigned long __cil_tmp34 ;
17693  void *__cil_tmp35 ;
17694  unsigned long __cil_tmp36 ;
17695  unsigned long __cil_tmp37 ;
17696  void *__cil_tmp38 ;
17697  unsigned long __cil_tmp39 ;
17698  unsigned long __cil_tmp40 ;
17699  void *__cil_tmp41 ;
17700  unsigned long __cil_tmp42 ;
17701  unsigned long __cil_tmp43 ;
17702  uint32_t __cil_tmp44 ;
17703  unsigned int __cil_tmp45 ;
17704  unsigned long __cil_tmp46 ;
17705  unsigned long __cil_tmp47 ;
17706  uint8_t __cil_tmp48 ;
17707  unsigned long __cil_tmp49 ;
17708  unsigned long __cil_tmp50 ;
17709  int __cil_tmp51 ;
17710  unsigned long __cil_tmp52 ;
17711  unsigned long __cil_tmp53 ;
17712  struct cfi_ident *__cil_tmp54 ;
17713  unsigned long __cil_tmp55 ;
17714  unsigned long __cil_tmp56 ;
17715  uint8_t __cil_tmp57 ;
17716  int __cil_tmp58 ;
17717  int __cil_tmp59 ;
17718  int __cil_tmp60 ;
17719  unsigned long __cil_tmp61 ;
17720  unsigned long __cil_tmp62 ;
17721  unsigned long __cil_tmp63 ;
17722  u_long __cil_tmp64 ;
17723  unsigned long __cil_tmp65 ;
17724  unsigned long __cil_tmp66 ;
17725  int __cil_tmp67 ;
17726  unsigned long __cil_tmp68 ;
17727  unsigned long __cil_tmp69 ;
17728  unsigned long __cil_tmp70 ;
17729  unsigned long __cil_tmp71 ;
17730  int __cil_tmp72 ;
17731  u_int __cil_tmp73 ;
17732  unsigned long __cil_tmp74 ;
17733  unsigned long __cil_tmp75 ;
17734  unsigned long __cil_tmp76 ;
17735  unsigned long __cil_tmp77 ;
17736  unsigned long __cil_tmp78 ;
17737  unsigned long __cil_tmp79 ;
17738  unsigned long __cil_tmp80 ;
17739  unsigned long __cil_tmp81 ;
17740  uint8_t *__cil_tmp82 ;
17741  unsigned long __cil_tmp83 ;
17742  unsigned long __cil_tmp84 ;
17743  uint16_t __cil_tmp85 ;
17744  unsigned long __cil_tmp86 ;
17745  unsigned long __cil_tmp87 ;
17746  uint8_t __cil_tmp88 ;
17747  int __cil_tmp89 ;
17748  int __cil_tmp90 ;
17749  unsigned long __cil_tmp91 ;
17750  unsigned long __cil_tmp92 ;
17751  uint8_t __cil_tmp93 ;
17752  int __cil_tmp94 ;
17753  int __cil_tmp95 ;
17754  unsigned long __cil_tmp96 ;
17755  unsigned long __cil_tmp97 ;
17756  int __cil_tmp98 ;
17757  unsigned long __cil_tmp99 ;
17758  unsigned long __cil_tmp100 ;
17759  int __cil_tmp101 ;
17760  int __cil_tmp102 ;
17761  u_long __cil_tmp103 ;
17762  unsigned long __cil_tmp104 ;
17763  unsigned long __cil_tmp105 ;
17764  int __cil_tmp106 ;
17765  unsigned long __cil_tmp107 ;
17766  unsigned long __cil_tmp108 ;
17767  int __cil_tmp109 ;
17768  int __cil_tmp110 ;
17769  u_long __cil_tmp111 ;
17770  unsigned long __cil_tmp112 ;
17771  unsigned long __cil_tmp113 ;
17772  int __cil_tmp114 ;
17773  u_int __cil_tmp115 ;
17774  unsigned long __cil_tmp116 ;
17775  unsigned long __cil_tmp117 ;
17776  int __cil_tmp118 ;
17777  u_int __cil_tmp119 ;
17778  u_int __cil_tmp120 ;
17779  u_long __cil_tmp121 ;
17780  u_char *__cil_tmp122 ;
17781  unsigned long __cil_tmp123 ;
17782  unsigned long __cil_tmp124 ;
17783  int __cil_tmp125 ;
17784  u_int __cil_tmp126 ;
17785  u_long __cil_tmp127 ;
17786  u_int __cil_tmp128 ;
17787  u_int __cil_tmp129 ;
17788  unsigned long __cil_tmp130 ;
17789  unsigned long __cil_tmp131 ;
17790  int __cil_tmp132 ;
17791  u_long __cil_tmp133 ;
17792  map_word *__cil_tmp134 ;
17793  map_word __cil_tmp135 ;
17794  unsigned long __cil_tmp136 ;
17795  unsigned long __cil_tmp137 ;
17796  loff_t __cil_tmp138 ;
17797  size_t __cil_tmp139 ;
17798  loff_t __cil_tmp140 ;
17799  loff_t __cil_tmp141 ;
17800  u_long __cil_tmp142 ;
17801  loff_t __cil_tmp143 ;
17802  loff_t __cil_tmp144 ;
17803  loff_t __cil_tmp145 ;
17804  loff_t __cil_tmp146 ;
17805  size_t __cil_tmp147 ;
17806  u_int __cil_tmp148 ;
17807  size_t __cil_tmp149 ;
17808  size_t __cil_tmp150 ;
17809  size_t __cil_tmp151 ;
17810  u_long __cil_tmp152 ;
17811  unsigned long __cil_tmp153 ;
17812  unsigned long __cil_tmp154 ;
17813  uint8_t __cil_tmp155 ;
17814  u_int __cil_tmp156 ;
17815  uint32_t __cil_tmp157 ;
17816  unsigned long __cil_tmp158 ;
17817  unsigned long __cil_tmp159 ;
17818  uint16_t __cil_tmp160 ;
17819  unsigned long __cil_tmp161 ;
17820  unsigned long __cil_tmp162 ;
17821  uint8_t __cil_tmp163 ;
17822  int __cil_tmp164 ;
17823  int __cil_tmp165 ;
17824  unsigned long __cil_tmp166 ;
17825  unsigned long __cil_tmp167 ;
17826  uint16_t __cil_tmp168 ;
17827  unsigned long __cil_tmp169 ;
17828  unsigned long __cil_tmp170 ;
17829  uint8_t __cil_tmp171 ;
17830  int __cil_tmp172 ;
17831  int __cil_tmp173 ;
17832
17833  {
17834#line 2233
17835  __cil_tmp33 = (unsigned long )mtd;
17836#line 2233
17837  __cil_tmp34 = __cil_tmp33 + 360;
17838#line 2233
17839  __cil_tmp35 = *((void **)__cil_tmp34);
17840#line 2233
17841  map = (struct map_info *)__cil_tmp35;
17842#line 2234
17843  __cil_tmp36 = (unsigned long )map;
17844#line 2234
17845  __cil_tmp37 = __cil_tmp36 + 120;
17846#line 2234
17847  __cil_tmp38 = *((void **)__cil_tmp37);
17848#line 2234
17849  cfi = (struct cfi_private *)__cil_tmp38;
17850#line 2235
17851  __cil_tmp39 = (unsigned long )cfi;
17852#line 2235
17853  __cil_tmp40 = __cil_tmp39 + 8;
17854#line 2235
17855  __cil_tmp41 = *((void **)__cil_tmp40);
17856#line 2235
17857  extp = (struct cfi_pri_intelext *)__cil_tmp41;
17858#line 2243
17859  *retlen = (size_t )0;
17860#line 2246
17861  if (! extp) {
17862#line 2247
17863    return (-61);
17864  } else {
17865    {
17866#line 2246
17867    __cil_tmp42 = (unsigned long )extp;
17868#line 2246
17869    __cil_tmp43 = __cil_tmp42 + 5;
17870#line 2246
17871    __cil_tmp44 = *((uint32_t *)__cil_tmp43);
17872#line 2246
17873    __cil_tmp45 = __cil_tmp44 & 64U;
17874#line 2246
17875    if (! __cil_tmp45) {
17876#line 2247
17877      return (-61);
17878    } else {
17879      {
17880#line 2246
17881      __cil_tmp46 = (unsigned long )extp;
17882#line 2246
17883      __cil_tmp47 = __cil_tmp46 + 14;
17884#line 2246
17885      __cil_tmp48 = *((uint8_t *)__cil_tmp47);
17886#line 2246
17887      if (! __cil_tmp48) {
17888#line 2247
17889        return (-61);
17890      } else {
17891
17892      }
17893      }
17894    }
17895    }
17896  }
17897#line 2250
17898  __cil_tmp49 = (unsigned long )cfi;
17899#line 2250
17900  __cil_tmp50 = __cil_tmp49 + 16;
17901#line 2250
17902  __cil_tmp51 = *((int *)__cil_tmp50);
17903#line 2250
17904  __cil_tmp52 = (unsigned long )cfi;
17905#line 2250
17906  __cil_tmp53 = __cil_tmp52 + 48;
17907#line 2250
17908  __cil_tmp54 = *((struct cfi_ident **)__cil_tmp53);
17909#line 2250
17910  __cil_tmp55 = (unsigned long )__cil_tmp54;
17911#line 2250
17912  __cil_tmp56 = __cil_tmp55 + 23;
17913#line 2250
17914  __cil_tmp57 = *((uint8_t *)__cil_tmp56);
17915#line 2250
17916  __cil_tmp58 = (int )__cil_tmp57;
17917#line 2250
17918  __cil_tmp59 = 1 << __cil_tmp58;
17919#line 2250
17920  __cil_tmp60 = __cil_tmp59 * __cil_tmp51;
17921#line 2250
17922  devsize = (u_long )__cil_tmp60;
17923#line 2251
17924  __cil_tmp61 = (unsigned long )cfi;
17925#line 2251
17926  __cil_tmp62 = __cil_tmp61 + 104;
17927#line 2251
17928  __cil_tmp63 = *((unsigned long *)__cil_tmp62);
17929#line 2251
17930  __cil_tmp64 = devsize >> __cil_tmp63;
17931#line 2251
17932  chip_step = (u_int )__cil_tmp64;
17933#line 2252
17934  chip_num = (u_int )0;
17935  {
17936#line 2256
17937  __cil_tmp65 = (unsigned long )cfi;
17938#line 2256
17939  __cil_tmp66 = __cil_tmp65 + 56;
17940#line 2256
17941  __cil_tmp67 = *((int *)__cil_tmp66);
17942#line 2256
17943  if (__cil_tmp67 == 137) {
17944    {
17945#line 2257
17946    __cil_tmp68 = (unsigned long )cfi;
17947#line 2257
17948    __cil_tmp69 = __cil_tmp68 + 60;
17949#line 2258
17950    if (*((int *)__cil_tmp69) == 34827) {
17951#line 2258
17952      goto case_34827;
17953    } else
17954#line 2259
17955    if (*((int *)__cil_tmp69) == 34828) {
17956#line 2259
17957      goto case_34827;
17958    } else
17959#line 2260
17960    if (*((int *)__cil_tmp69) == 34829) {
17961#line 2260
17962      goto case_34827;
17963    } else
17964#line 2257
17965    if (0) {
17966      case_34827: /* CIL Label */ 
17967      case_34828: /* CIL Label */ 
17968      case_34829: /* CIL Label */ 
17969#line 2261
17970      chip_num = chip_step - 1U;
17971    } else {
17972      switch_break: /* CIL Label */ ;
17973    }
17974    }
17975  } else {
17976
17977  }
17978  }
17979  {
17980#line 2265
17981  while (1) {
17982    while_continue: /* CIL Label */ ;
17983    {
17984#line 2265
17985    __cil_tmp70 = (unsigned long )cfi;
17986#line 2265
17987    __cil_tmp71 = __cil_tmp70 + 64;
17988#line 2265
17989    __cil_tmp72 = *((int *)__cil_tmp71);
17990#line 2265
17991    __cil_tmp73 = (u_int )__cil_tmp72;
17992#line 2265
17993    if (chip_num < __cil_tmp73) {
17994
17995    } else {
17996#line 2265
17997      goto while_break;
17998    }
17999    }
18000#line 2266
18001    __cil_tmp74 = chip_num * 176UL;
18002#line 2266
18003    __cil_tmp75 = 120 + __cil_tmp74;
18004#line 2266
18005    __cil_tmp76 = (unsigned long )cfi;
18006#line 2266
18007    __cil_tmp77 = __cil_tmp76 + __cil_tmp75;
18008#line 2266
18009    chip = (struct flchip *)__cil_tmp77;
18010#line 2267
18011    __cil_tmp78 = 0 * 1UL;
18012#line 2267
18013    __cil_tmp79 = 19 + __cil_tmp78;
18014#line 2267
18015    __cil_tmp80 = (unsigned long )extp;
18016#line 2267
18017    __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
18018#line 2267
18019    __cil_tmp82 = (uint8_t *)__cil_tmp81;
18020#line 2267
18021    otp = (struct cfi_intelext_otpinfo *)__cil_tmp82;
18022#line 2270
18023    field = (u_int )0;
18024#line 2271
18025    __cil_tmp83 = (unsigned long )extp;
18026#line 2271
18027    __cil_tmp84 = __cil_tmp83 + 15;
18028#line 2271
18029    __cil_tmp85 = *((uint16_t *)__cil_tmp84);
18030#line 2271
18031    reg_prot_offset = (u_long )__cil_tmp85;
18032#line 2272
18033    reg_fact_groups = (u_int )1;
18034#line 2273
18035    __cil_tmp86 = (unsigned long )extp;
18036#line 2273
18037    __cil_tmp87 = __cil_tmp86 + 17;
18038#line 2273
18039    __cil_tmp88 = *((uint8_t *)__cil_tmp87);
18040#line 2273
18041    __cil_tmp89 = (int )__cil_tmp88;
18042#line 2273
18043    __cil_tmp90 = 1 << __cil_tmp89;
18044#line 2273
18045    reg_fact_size = (u_int )__cil_tmp90;
18046#line 2274
18047    reg_user_groups = (u_int )1;
18048#line 2275
18049    __cil_tmp91 = (unsigned long )extp;
18050#line 2275
18051    __cil_tmp92 = __cil_tmp91 + 18;
18052#line 2275
18053    __cil_tmp93 = *((uint8_t *)__cil_tmp92);
18054#line 2275
18055    __cil_tmp94 = (int )__cil_tmp93;
18056#line 2275
18057    __cil_tmp95 = 1 << __cil_tmp94;
18058#line 2275
18059    reg_user_size = (u_int )__cil_tmp95;
18060    {
18061#line 2277
18062    while (1) {
18063      while_continue___0: /* CIL Label */ ;
18064#line 2277
18065      if (len > 0UL) {
18066
18067      } else {
18068#line 2277
18069        goto while_break___0;
18070      }
18071#line 2279
18072      data_offset = reg_prot_offset + 1UL;
18073#line 2280
18074      __cil_tmp96 = (unsigned long )cfi;
18075#line 2280
18076      __cil_tmp97 = __cil_tmp96 + 20;
18077#line 2280
18078      __cil_tmp98 = *((int *)__cil_tmp97);
18079#line 2280
18080      __cil_tmp99 = (unsigned long )cfi;
18081#line 2280
18082      __cil_tmp100 = __cil_tmp99 + 16;
18083#line 2280
18084      __cil_tmp101 = *((int *)__cil_tmp100);
18085#line 2280
18086      __cil_tmp102 = __cil_tmp101 * __cil_tmp98;
18087#line 2280
18088      __cil_tmp103 = (u_long )__cil_tmp102;
18089#line 2280
18090      data_offset = data_offset * __cil_tmp103;
18091#line 2281
18092      __cil_tmp104 = (unsigned long )cfi;
18093#line 2281
18094      __cil_tmp105 = __cil_tmp104 + 20;
18095#line 2281
18096      __cil_tmp106 = *((int *)__cil_tmp105);
18097#line 2281
18098      __cil_tmp107 = (unsigned long )cfi;
18099#line 2281
18100      __cil_tmp108 = __cil_tmp107 + 16;
18101#line 2281
18102      __cil_tmp109 = *((int *)__cil_tmp108);
18103#line 2281
18104      __cil_tmp110 = __cil_tmp109 * __cil_tmp106;
18105#line 2281
18106      __cil_tmp111 = (u_long )__cil_tmp110;
18107#line 2281
18108      reg_prot_offset = reg_prot_offset * __cil_tmp111;
18109#line 2282
18110      __cil_tmp112 = (unsigned long )cfi;
18111#line 2282
18112      __cil_tmp113 = __cil_tmp112 + 16;
18113#line 2282
18114      __cil_tmp114 = *((int *)__cil_tmp113);
18115#line 2282
18116      __cil_tmp115 = (u_int )__cil_tmp114;
18117#line 2282
18118      reg_fact_size = reg_fact_size * __cil_tmp115;
18119#line 2283
18120      __cil_tmp116 = (unsigned long )cfi;
18121#line 2283
18122      __cil_tmp117 = __cil_tmp116 + 16;
18123#line 2283
18124      __cil_tmp118 = *((int *)__cil_tmp117);
18125#line 2283
18126      __cil_tmp119 = (u_int )__cil_tmp118;
18127#line 2283
18128      reg_user_size = reg_user_size * __cil_tmp119;
18129#line 2285
18130      if (user_regs) {
18131#line 2286
18132        groups = reg_user_groups;
18133#line 2287
18134        groupsize = reg_user_size;
18135#line 2289
18136        groupno = reg_fact_groups;
18137#line 2290
18138        __cil_tmp120 = reg_fact_groups * reg_fact_size;
18139#line 2290
18140        __cil_tmp121 = (u_long )__cil_tmp120;
18141#line 2290
18142        data_offset = data_offset + __cil_tmp121;
18143      } else {
18144#line 2292
18145        groups = reg_fact_groups;
18146#line 2293
18147        groupsize = reg_fact_size;
18148#line 2294
18149        groupno = (u_int )0;
18150      }
18151      {
18152#line 2297
18153      while (1) {
18154        while_continue___1: /* CIL Label */ ;
18155#line 2297
18156        if (len > 0UL) {
18157#line 2297
18158          if (groups > 0U) {
18159
18160          } else {
18161#line 2297
18162            goto while_break___1;
18163          }
18164        } else {
18165#line 2297
18166          goto while_break___1;
18167        }
18168#line 2298
18169        if (! action) {
18170#line 2305
18171          len = len - 12UL;
18172#line 2306
18173          if (len <= 0UL) {
18174#line 2307
18175            return (-28);
18176          } else {
18177
18178          }
18179          {
18180#line 2308
18181          __cil_tmp122 = (u_char *)(& lockword);
18182#line 2308
18183          __cil_tmp123 = (unsigned long )map;
18184#line 2308
18185          __cil_tmp124 = __cil_tmp123 + 44;
18186#line 2308
18187          __cil_tmp125 = *((int *)__cil_tmp124);
18188#line 2308
18189          __cil_tmp126 = (u_int )__cil_tmp125;
18190#line 2308
18191          __cil_tmp127 = (u_long )0;
18192#line 2308
18193          __cil_tmp128 = (u_int )0;
18194#line 2308
18195          __cil_tmp129 = (u_int )0;
18196#line 2308
18197          ret = do_otp_read(map, chip, reg_prot_offset, __cil_tmp122, __cil_tmp126,
18198                            __cil_tmp127, __cil_tmp128, __cil_tmp129);
18199          }
18200#line 2313
18201          if (ret) {
18202#line 2314
18203            return (ret);
18204          } else {
18205
18206          }
18207          {
18208#line 2315
18209          otpinfo = (struct otp_info *)buf;
18210#line 2316
18211          *((__u32 *)otpinfo) = (__u32 )from;
18212#line 2317
18213          __cil_tmp130 = (unsigned long )otpinfo;
18214#line 2317
18215          __cil_tmp131 = __cil_tmp130 + 4;
18216#line 2317
18217          *((__u32 *)__cil_tmp131) = groupsize;
18218#line 2318
18219          __cil_tmp132 = 1 << groupno;
18220#line 2318
18221          __cil_tmp133 = (u_long )__cil_tmp132;
18222#line 2318
18223          tmp___7 = cfi_build_cmd(__cil_tmp133, map, cfi);
18224#line 2318
18225          __cil_tmp134 = & lockword;
18226#line 2318
18227          __cil_tmp135 = *__cil_tmp134;
18228#line 2318
18229          tmp___8 = map_word_bitsset(map, __cil_tmp135, tmp___7);
18230          }
18231#line 2318
18232          if (tmp___8) {
18233#line 2318
18234            tmp___9 = 0;
18235          } else {
18236#line 2318
18237            tmp___9 = 1;
18238          }
18239#line 2318
18240          __cil_tmp136 = (unsigned long )otpinfo;
18241#line 2318
18242          __cil_tmp137 = __cil_tmp136 + 8;
18243#line 2318
18244          *((__u32 *)__cil_tmp137) = (__u32 )tmp___9;
18245#line 2321
18246          __cil_tmp138 = (loff_t )groupsize;
18247#line 2321
18248          from = from + __cil_tmp138;
18249#line 2322
18250          buf = buf + 12UL;
18251#line 2323
18252          __cil_tmp139 = *retlen;
18253#line 2323
18254          *retlen = __cil_tmp139 + 12UL;
18255        } else {
18256          {
18257#line 2324
18258          __cil_tmp140 = (loff_t )groupsize;
18259#line 2324
18260          if (from >= __cil_tmp140) {
18261#line 2325
18262            __cil_tmp141 = (loff_t )groupsize;
18263#line 2325
18264            from = from - __cil_tmp141;
18265#line 2326
18266            __cil_tmp142 = (u_long )groupsize;
18267#line 2326
18268            data_offset = data_offset + __cil_tmp142;
18269          } else {
18270#line 2328
18271            size = (int )groupsize;
18272#line 2329
18273            __cil_tmp143 = (loff_t )data_offset;
18274#line 2329
18275            __cil_tmp144 = __cil_tmp143 + from;
18276#line 2329
18277            data_offset = (u_long )__cil_tmp144;
18278#line 2330
18279            __cil_tmp145 = (loff_t )size;
18280#line 2330
18281            __cil_tmp146 = __cil_tmp145 - from;
18282#line 2330
18283            size = (int )__cil_tmp146;
18284#line 2331
18285            from = (loff_t )0;
18286            {
18287#line 2332
18288            __cil_tmp147 = (size_t )size;
18289#line 2332
18290            if (__cil_tmp147 > len) {
18291#line 2333
18292              size = (int )len;
18293            } else {
18294
18295            }
18296            }
18297            {
18298#line 2334
18299            __cil_tmp148 = (u_int )size;
18300#line 2334
18301            ret = (*action)(map, chip, data_offset, buf, __cil_tmp148, reg_prot_offset,
18302                            groupno, groupsize);
18303            }
18304#line 2337
18305            if (ret < 0) {
18306#line 2338
18307              return (ret);
18308            } else {
18309
18310            }
18311#line 2339
18312            buf = buf + size;
18313#line 2340
18314            __cil_tmp149 = (size_t )size;
18315#line 2340
18316            len = len - __cil_tmp149;
18317#line 2341
18318            __cil_tmp150 = (size_t )size;
18319#line 2341
18320            __cil_tmp151 = *retlen;
18321#line 2341
18322            *retlen = __cil_tmp151 + __cil_tmp150;
18323#line 2342
18324            __cil_tmp152 = (u_long )size;
18325#line 2342
18326            data_offset = data_offset + __cil_tmp152;
18327          }
18328          }
18329        }
18330#line 2344
18331        groupno = groupno + 1U;
18332#line 2345
18333        groups = groups - 1U;
18334      }
18335      while_break___1: /* CIL Label */ ;
18336      }
18337#line 2349
18338      field = field + 1U;
18339      {
18340#line 2349
18341      __cil_tmp153 = (unsigned long )extp;
18342#line 2349
18343      __cil_tmp154 = __cil_tmp153 + 14;
18344#line 2349
18345      __cil_tmp155 = *((uint8_t *)__cil_tmp154);
18346#line 2349
18347      __cil_tmp156 = (u_int )__cil_tmp155;
18348#line 2349
18349      if (field == __cil_tmp156) {
18350#line 2350
18351        goto while_break___0;
18352      } else {
18353
18354      }
18355      }
18356#line 2351
18357      __cil_tmp157 = *((uint32_t *)otp);
18358#line 2351
18359      reg_prot_offset = (u_long )__cil_tmp157;
18360#line 2352
18361      __cil_tmp158 = (unsigned long )otp;
18362#line 2352
18363      __cil_tmp159 = __cil_tmp158 + 4;
18364#line 2352
18365      __cil_tmp160 = *((uint16_t *)__cil_tmp159);
18366#line 2352
18367      reg_fact_groups = (u_int )__cil_tmp160;
18368#line 2353
18369      __cil_tmp161 = (unsigned long )otp;
18370#line 2353
18371      __cil_tmp162 = __cil_tmp161 + 6;
18372#line 2353
18373      __cil_tmp163 = *((uint8_t *)__cil_tmp162);
18374#line 2353
18375      __cil_tmp164 = (int )__cil_tmp163;
18376#line 2353
18377      __cil_tmp165 = 1 << __cil_tmp164;
18378#line 2353
18379      reg_fact_size = (u_int )__cil_tmp165;
18380#line 2354
18381      __cil_tmp166 = (unsigned long )otp;
18382#line 2354
18383      __cil_tmp167 = __cil_tmp166 + 7;
18384#line 2354
18385      __cil_tmp168 = *((uint16_t *)__cil_tmp167);
18386#line 2354
18387      reg_user_groups = (u_int )__cil_tmp168;
18388#line 2355
18389      __cil_tmp169 = (unsigned long )otp;
18390#line 2355
18391      __cil_tmp170 = __cil_tmp169 + 9;
18392#line 2355
18393      __cil_tmp171 = *((uint8_t *)__cil_tmp170);
18394#line 2355
18395      __cil_tmp172 = (int )__cil_tmp171;
18396#line 2355
18397      __cil_tmp173 = 1 << __cil_tmp172;
18398#line 2355
18399      reg_user_size = (u_int )__cil_tmp173;
18400#line 2356
18401      otp = otp + 1;
18402    }
18403    while_break___0: /* CIL Label */ ;
18404    }
18405#line 2265
18406    chip_num = chip_num + chip_step;
18407  }
18408  while_break: /* CIL Label */ ;
18409  }
18410#line 2360
18411  return (0);
18412}
18413}
18414#line 2363 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18415static int cfi_intelext_read_fact_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
18416                                           size_t *retlen , u_char *buf ) 
18417{ int tmp___7 ;
18418
18419  {
18420  {
18421#line 2367
18422  tmp___7 = cfi_intelext_otp_walk(mtd, from, len, retlen, buf, & do_otp_read, 0);
18423  }
18424#line 2367
18425  return (tmp___7);
18426}
18427}
18428#line 2371 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18429static int cfi_intelext_read_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
18430                                           size_t *retlen , u_char *buf ) 
18431{ int tmp___7 ;
18432
18433  {
18434  {
18435#line 2375
18436  tmp___7 = cfi_intelext_otp_walk(mtd, from, len, retlen, buf, & do_otp_read, 1);
18437  }
18438#line 2375
18439  return (tmp___7);
18440}
18441}
18442#line 2379 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18443static int cfi_intelext_write_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ,
18444                                            size_t *retlen , u_char *buf ) 
18445{ int tmp___7 ;
18446
18447  {
18448  {
18449#line 2383
18450  tmp___7 = cfi_intelext_otp_walk(mtd, from, len, retlen, buf, & do_otp_write, 1);
18451  }
18452#line 2383
18453  return (tmp___7);
18454}
18455}
18456#line 2387 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18457static int cfi_intelext_lock_user_prot_reg(struct mtd_info *mtd , loff_t from , size_t len ) 
18458{ size_t retlen ;
18459  int tmp___7 ;
18460  void *__cil_tmp6 ;
18461  u_char *__cil_tmp7 ;
18462
18463  {
18464  {
18465#line 2391
18466  __cil_tmp6 = (void *)0;
18467#line 2391
18468  __cil_tmp7 = (u_char *)__cil_tmp6;
18469#line 2391
18470  tmp___7 = cfi_intelext_otp_walk(mtd, from, len, & retlen, __cil_tmp7, & do_otp_lock,
18471                                  1);
18472  }
18473#line 2391
18474  return (tmp___7);
18475}
18476}
18477#line 2395 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18478static int cfi_intelext_get_fact_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
18479                                           size_t len ) 
18480{ size_t retlen ;
18481  int ret ;
18482  size_t tmp___7 ;
18483  loff_t __cil_tmp7 ;
18484  u_char *__cil_tmp8 ;
18485  void *__cil_tmp9 ;
18486  int (*__cil_tmp10)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18487                     u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18488                     u_int groupsize ) ;
18489  size_t *__cil_tmp11 ;
18490
18491  {
18492  {
18493#line 2401
18494  __cil_tmp7 = (loff_t )0;
18495#line 2401
18496  __cil_tmp8 = (u_char *)buf;
18497#line 2401
18498  __cil_tmp9 = (void *)0;
18499#line 2401
18500  __cil_tmp10 = (int (*)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18501                         u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18502                         u_int groupsize ))__cil_tmp9;
18503#line 2401
18504  ret = cfi_intelext_otp_walk(mtd, __cil_tmp7, len, & retlen, __cil_tmp8, __cil_tmp10,
18505                              0);
18506#line 2402
18507  tmp___7 = (size_t )ret;
18508  }
18509#line 2402
18510  if (tmp___7) {
18511
18512  } else {
18513#line 2402
18514    __cil_tmp11 = & retlen;
18515#line 2402
18516    tmp___7 = *__cil_tmp11;
18517  }
18518#line 2402
18519  return ((int )tmp___7);
18520}
18521}
18522#line 2405 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18523static int cfi_intelext_get_user_prot_info(struct mtd_info *mtd , struct otp_info *buf ,
18524                                           size_t len ) 
18525{ size_t retlen ;
18526  int ret ;
18527  size_t tmp___7 ;
18528  loff_t __cil_tmp7 ;
18529  u_char *__cil_tmp8 ;
18530  void *__cil_tmp9 ;
18531  int (*__cil_tmp10)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18532                     u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18533                     u_int groupsize ) ;
18534  size_t *__cil_tmp11 ;
18535
18536  {
18537  {
18538#line 2411
18539  __cil_tmp7 = (loff_t )0;
18540#line 2411
18541  __cil_tmp8 = (u_char *)buf;
18542#line 2411
18543  __cil_tmp9 = (void *)0;
18544#line 2411
18545  __cil_tmp10 = (int (*)(struct map_info *map , struct flchip *chip , u_long data_offset ,
18546                         u_char *buf , u_int size , u_long prot_offset , u_int groupno ,
18547                         u_int groupsize ))__cil_tmp9;
18548#line 2411
18549  ret = cfi_intelext_otp_walk(mtd, __cil_tmp7, len, & retlen, __cil_tmp8, __cil_tmp10,
18550                              1);
18551#line 2412
18552  tmp___7 = (size_t )ret;
18553  }
18554#line 2412
18555  if (tmp___7) {
18556
18557  } else {
18558#line 2412
18559    __cil_tmp11 = & retlen;
18560#line 2412
18561    tmp___7 = *__cil_tmp11;
18562  }
18563#line 2412
18564  return ((int )tmp___7);
18565}
18566}
18567#line 2417 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18568static void cfi_intelext_save_locks(struct mtd_info *mtd ) 
18569{ struct mtd_erase_region_info *region ;
18570  int block ;
18571  int status ;
18572  int i ;
18573  unsigned long adr ;
18574  size_t len ;
18575  unsigned long __cil_tmp8 ;
18576  unsigned long __cil_tmp9 ;
18577  int __cil_tmp10 ;
18578  unsigned long __cil_tmp11 ;
18579  unsigned long __cil_tmp12 ;
18580  struct mtd_erase_region_info *__cil_tmp13 ;
18581  unsigned long __cil_tmp14 ;
18582  unsigned long __cil_tmp15 ;
18583  unsigned long *__cil_tmp16 ;
18584  unsigned long __cil_tmp17 ;
18585  unsigned long __cil_tmp18 ;
18586  uint32_t __cil_tmp19 ;
18587  uint32_t __cil_tmp20 ;
18588  unsigned long __cil_tmp21 ;
18589  unsigned long __cil_tmp22 ;
18590  uint32_t __cil_tmp23 ;
18591  size_t __cil_tmp24 ;
18592  size_t __cil_tmp25 ;
18593  uint64_t __cil_tmp26 ;
18594  uint64_t __cil_tmp27 ;
18595  uint64_t __cil_tmp28 ;
18596  loff_t __cil_tmp29 ;
18597  void *__cil_tmp30 ;
18598  unsigned int __cil_tmp31 ;
18599  unsigned long __cil_tmp32 ;
18600  unsigned long __cil_tmp33 ;
18601  unsigned long *__cil_tmp34 ;
18602  unsigned long volatile   *__cil_tmp35 ;
18603  unsigned long __cil_tmp36 ;
18604  unsigned long __cil_tmp37 ;
18605  unsigned long *__cil_tmp38 ;
18606  unsigned long volatile   *__cil_tmp39 ;
18607
18608  {
18609#line 2424
18610  i = 0;
18611  {
18612#line 2424
18613  while (1) {
18614    while_continue: /* CIL Label */ ;
18615    {
18616#line 2424
18617    __cil_tmp8 = (unsigned long )mtd;
18618#line 2424
18619    __cil_tmp9 = __cil_tmp8 + 84;
18620#line 2424
18621    __cil_tmp10 = *((int *)__cil_tmp9);
18622#line 2424
18623    if (i < __cil_tmp10) {
18624
18625    } else {
18626#line 2424
18627      goto while_break;
18628    }
18629    }
18630#line 2425
18631    __cil_tmp11 = (unsigned long )mtd;
18632#line 2425
18633    __cil_tmp12 = __cil_tmp11 + 88;
18634#line 2425
18635    __cil_tmp13 = *((struct mtd_erase_region_info **)__cil_tmp12);
18636#line 2425
18637    region = __cil_tmp13 + i;
18638    {
18639#line 2426
18640    __cil_tmp14 = (unsigned long )region;
18641#line 2426
18642    __cil_tmp15 = __cil_tmp14 + 16;
18643#line 2426
18644    __cil_tmp16 = *((unsigned long **)__cil_tmp15);
18645#line 2426
18646    if (! __cil_tmp16) {
18647#line 2427
18648      goto __Cont;
18649    } else {
18650
18651    }
18652    }
18653#line 2429
18654    block = 0;
18655    {
18656#line 2429
18657    while (1) {
18658      while_continue___0: /* CIL Label */ ;
18659      {
18660#line 2429
18661      __cil_tmp17 = (unsigned long )region;
18662#line 2429
18663      __cil_tmp18 = __cil_tmp17 + 12;
18664#line 2429
18665      __cil_tmp19 = *((uint32_t *)__cil_tmp18);
18666#line 2429
18667      __cil_tmp20 = (uint32_t )block;
18668#line 2429
18669      if (__cil_tmp20 < __cil_tmp19) {
18670
18671      } else {
18672#line 2429
18673        goto while_break___0;
18674      }
18675      }
18676      {
18677#line 2430
18678      __cil_tmp21 = (unsigned long )region;
18679#line 2430
18680      __cil_tmp22 = __cil_tmp21 + 8;
18681#line 2430
18682      __cil_tmp23 = *((uint32_t *)__cil_tmp22);
18683#line 2430
18684      len = (size_t )__cil_tmp23;
18685#line 2431
18686      __cil_tmp24 = (size_t )block;
18687#line 2431
18688      __cil_tmp25 = __cil_tmp24 * len;
18689#line 2431
18690      __cil_tmp26 = (uint64_t )__cil_tmp25;
18691#line 2431
18692      __cil_tmp27 = *((uint64_t *)region);
18693#line 2431
18694      __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
18695#line 2431
18696      adr = (unsigned long )__cil_tmp28;
18697#line 2433
18698      __cil_tmp29 = (loff_t )adr;
18699#line 2433
18700      __cil_tmp30 = (void *)0;
18701#line 2433
18702      status = cfi_varsize_frob(mtd, & do_getlockstatus_oneblock, __cil_tmp29, len,
18703                                __cil_tmp30);
18704      }
18705#line 2435
18706      if (status) {
18707        {
18708#line 2436
18709        __cil_tmp31 = (unsigned int )block;
18710#line 2436
18711        __cil_tmp32 = (unsigned long )region;
18712#line 2436
18713        __cil_tmp33 = __cil_tmp32 + 16;
18714#line 2436
18715        __cil_tmp34 = *((unsigned long **)__cil_tmp33);
18716#line 2436
18717        __cil_tmp35 = (unsigned long volatile   *)__cil_tmp34;
18718#line 2436
18719        set_bit(__cil_tmp31, __cil_tmp35);
18720        }
18721      } else {
18722        {
18723#line 2438
18724        __cil_tmp36 = (unsigned long )region;
18725#line 2438
18726        __cil_tmp37 = __cil_tmp36 + 16;
18727#line 2438
18728        __cil_tmp38 = *((unsigned long **)__cil_tmp37);
18729#line 2438
18730        __cil_tmp39 = (unsigned long volatile   *)__cil_tmp38;
18731#line 2438
18732        clear_bit(block, __cil_tmp39);
18733        }
18734      }
18735#line 2429
18736      block = block + 1;
18737    }
18738    while_break___0: /* CIL Label */ ;
18739    }
18740    __Cont: /* CIL Label */ 
18741#line 2424
18742    i = i + 1;
18743  }
18744  while_break: /* CIL Label */ ;
18745  }
18746#line 2441
18747  return;
18748}
18749}
18750#line 2443 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
18751static int cfi_intelext_suspend(struct mtd_info *mtd ) 
18752{ struct map_info *map ;
18753  struct cfi_private *cfi ;
18754  struct cfi_pri_intelext *extp ;
18755  int i ;
18756  struct flchip *chip ;
18757  int ret ;
18758  map_word tmp___7 ;
18759  unsigned long __cil_tmp9 ;
18760  unsigned long __cil_tmp10 ;
18761  void *__cil_tmp11 ;
18762  unsigned long __cil_tmp12 ;
18763  unsigned long __cil_tmp13 ;
18764  void *__cil_tmp14 ;
18765  unsigned long __cil_tmp15 ;
18766  unsigned long __cil_tmp16 ;
18767  void *__cil_tmp17 ;
18768  unsigned long __cil_tmp18 ;
18769  unsigned long __cil_tmp19 ;
18770  uint32_t __cil_tmp20 ;
18771  int __cil_tmp21 ;
18772  unsigned int __cil_tmp22 ;
18773  unsigned long __cil_tmp23 ;
18774  unsigned long __cil_tmp24 ;
18775  uint32_t __cil_tmp25 ;
18776  unsigned long __cil_tmp26 ;
18777  unsigned long __cil_tmp27 ;
18778  int __cil_tmp28 ;
18779  unsigned long __cil_tmp29 ;
18780  unsigned long __cil_tmp30 ;
18781  unsigned long __cil_tmp31 ;
18782  unsigned long __cil_tmp32 ;
18783  unsigned long __cil_tmp33 ;
18784  unsigned long __cil_tmp34 ;
18785  struct mutex *__cil_tmp35 ;
18786  unsigned long __cil_tmp36 ;
18787  unsigned long __cil_tmp37 ;
18788  flstate_t __cil_tmp38 ;
18789  unsigned long __cil_tmp39 ;
18790  unsigned long __cil_tmp40 ;
18791  flstate_t __cil_tmp41 ;
18792  unsigned int __cil_tmp42 ;
18793  u_long __cil_tmp43 ;
18794  unsigned long __cil_tmp44 ;
18795  unsigned long __cil_tmp45 ;
18796  void (*__cil_tmp46)(struct map_info * , map_word     , unsigned long  ) ;
18797  map_word    __cil_tmp47 ;
18798  unsigned long __cil_tmp48 ;
18799  unsigned long __cil_tmp49 ;
18800  unsigned long __cil_tmp50 ;
18801  unsigned long __cil_tmp51 ;
18802  unsigned long __cil_tmp52 ;
18803  unsigned long __cil_tmp53 ;
18804  unsigned long __cil_tmp54 ;
18805  unsigned long __cil_tmp55 ;
18806  unsigned long __cil_tmp56 ;
18807  unsigned long __cil_tmp57 ;
18808  unsigned long __cil_tmp58 ;
18809  unsigned long __cil_tmp59 ;
18810  unsigned long __cil_tmp60 ;
18811  flstate_t __cil_tmp61 ;
18812  unsigned int __cil_tmp62 ;
18813  unsigned long __cil_tmp63 ;
18814  unsigned long __cil_tmp64 ;
18815  flstate_t __cil_tmp65 ;
18816  unsigned int __cil_tmp66 ;
18817  unsigned long __cil_tmp67 ;
18818  unsigned long __cil_tmp68 ;
18819  struct mutex *__cil_tmp69 ;
18820  unsigned long __cil_tmp70 ;
18821  unsigned long __cil_tmp71 ;
18822  unsigned long __cil_tmp72 ;
18823  unsigned long __cil_tmp73 ;
18824  unsigned long __cil_tmp74 ;
18825  unsigned long __cil_tmp75 ;
18826  struct mutex *__cil_tmp76 ;
18827  unsigned long __cil_tmp77 ;
18828  unsigned long __cil_tmp78 ;
18829  flstate_t __cil_tmp79 ;
18830  unsigned int __cil_tmp80 ;
18831  unsigned long __cil_tmp81 ;
18832  unsigned long __cil_tmp82 ;
18833  unsigned long __cil_tmp83 ;
18834  unsigned long __cil_tmp84 ;
18835  unsigned long __cil_tmp85 ;
18836  unsigned long __cil_tmp86 ;
18837  unsigned long __cil_tmp87 ;
18838  unsigned long __cil_tmp88 ;
18839  wait_queue_head_t *__cil_tmp89 ;
18840  void *__cil_tmp90 ;
18841  unsigned long __cil_tmp91 ;
18842  unsigned long __cil_tmp92 ;
18843  struct mutex *__cil_tmp93 ;
18844
18845  {
18846#line 2445
18847  __cil_tmp9 = (unsigned long )mtd;
18848#line 2445
18849  __cil_tmp10 = __cil_tmp9 + 360;
18850#line 2445
18851  __cil_tmp11 = *((void **)__cil_tmp10);
18852#line 2445
18853  map = (struct map_info *)__cil_tmp11;
18854#line 2446
18855  __cil_tmp12 = (unsigned long )map;
18856#line 2446
18857  __cil_tmp13 = __cil_tmp12 + 120;
18858#line 2446
18859  __cil_tmp14 = *((void **)__cil_tmp13);
18860#line 2446
18861  cfi = (struct cfi_private *)__cil_tmp14;
18862#line 2447
18863  __cil_tmp15 = (unsigned long )cfi;
18864#line 2447
18865  __cil_tmp16 = __cil_tmp15 + 8;
18866#line 2447
18867  __cil_tmp17 = *((void **)__cil_tmp16);
18868#line 2447
18869  extp = (struct cfi_pri_intelext *)__cil_tmp17;
18870#line 2450
18871  ret = 0;
18872  {
18873#line 2452
18874  __cil_tmp18 = (unsigned long )mtd;
18875#line 2452
18876  __cil_tmp19 = __cil_tmp18 + 4;
18877#line 2452
18878  __cil_tmp20 = *((uint32_t *)__cil_tmp19);
18879#line 2452
18880  if (__cil_tmp20 & 8192U) {
18881#line 2452
18882    if (extp) {
18883      {
18884#line 2452
18885      __cil_tmp21 = 1 << 5;
18886#line 2452
18887      __cil_tmp22 = (unsigned int )__cil_tmp21;
18888#line 2452
18889      __cil_tmp23 = (unsigned long )extp;
18890#line 2452
18891      __cil_tmp24 = __cil_tmp23 + 5;
18892#line 2452
18893      __cil_tmp25 = *((uint32_t *)__cil_tmp24);
18894#line 2452
18895      if (__cil_tmp25 & __cil_tmp22) {
18896        {
18897#line 2454
18898        cfi_intelext_save_locks(mtd);
18899        }
18900      } else {
18901
18902      }
18903      }
18904    } else {
18905
18906    }
18907  } else {
18908
18909  }
18910  }
18911#line 2456
18912  i = 0;
18913  {
18914#line 2456
18915  while (1) {
18916    while_continue: /* CIL Label */ ;
18917#line 2456
18918    if (! ret) {
18919      {
18920#line 2456
18921      __cil_tmp26 = (unsigned long )cfi;
18922#line 2456
18923      __cil_tmp27 = __cil_tmp26 + 64;
18924#line 2456
18925      __cil_tmp28 = *((int *)__cil_tmp27);
18926#line 2456
18927      if (i < __cil_tmp28) {
18928
18929      } else {
18930#line 2456
18931        goto while_break;
18932      }
18933      }
18934    } else {
18935#line 2456
18936      goto while_break;
18937    }
18938    {
18939#line 2457
18940    __cil_tmp29 = i * 176UL;
18941#line 2457
18942    __cil_tmp30 = 120 + __cil_tmp29;
18943#line 2457
18944    __cil_tmp31 = (unsigned long )cfi;
18945#line 2457
18946    __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
18947#line 2457
18948    chip = (struct flchip *)__cil_tmp32;
18949#line 2459
18950    __cil_tmp33 = (unsigned long )chip;
18951#line 2459
18952    __cil_tmp34 = __cil_tmp33 + 32;
18953#line 2459
18954    __cil_tmp35 = (struct mutex *)__cil_tmp34;
18955#line 2459
18956    mutex_lock(__cil_tmp35);
18957    }
18958    {
18959#line 2461
18960    __cil_tmp36 = (unsigned long )chip;
18961#line 2461
18962    __cil_tmp37 = __cil_tmp36 + 12;
18963#line 2461
18964    __cil_tmp38 = *((flstate_t *)__cil_tmp37);
18965#line 2462
18966    if ((int )__cil_tmp38 == 0) {
18967#line 2462
18968      goto case_0;
18969    } else
18970#line 2463
18971    if ((int )__cil_tmp38 == 1) {
18972#line 2463
18973      goto case_0;
18974    } else
18975#line 2464
18976    if ((int )__cil_tmp38 == 2) {
18977#line 2464
18978      goto case_0;
18979    } else
18980#line 2465
18981    if ((int )__cil_tmp38 == 3) {
18982#line 2465
18983      goto case_0;
18984    } else
18985#line 2488
18986    if ((int )__cil_tmp38 == 12) {
18987#line 2488
18988      goto case_12;
18989    } else {
18990      {
18991#line 2481
18992      goto switch_default;
18993#line 2461
18994      if (0) {
18995        case_0: /* CIL Label */ 
18996        case_1: /* CIL Label */ 
18997        case_2: /* CIL Label */ 
18998        case_3: /* CIL Label */ 
18999        {
19000#line 2466
19001        __cil_tmp39 = (unsigned long )chip;
19002#line 2466
19003        __cil_tmp40 = __cil_tmp39 + 16;
19004#line 2466
19005        __cil_tmp41 = *((flstate_t *)__cil_tmp40);
19006#line 2466
19007        __cil_tmp42 = (unsigned int )__cil_tmp41;
19008#line 2466
19009        if (__cil_tmp42 == 0U) {
19010          {
19011#line 2468
19012          __cil_tmp43 = (u_long )255;
19013#line 2468
19014          tmp___7 = cfi_build_cmd(__cil_tmp43, map, cfi);
19015#line 2468
19016          __cil_tmp44 = (unsigned long )map;
19017#line 2468
19018          __cil_tmp45 = __cil_tmp44 + 64;
19019#line 2468
19020          __cil_tmp46 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp45);
19021#line 2468
19022          __cil_tmp47 = (map_word    )tmp___7;
19023#line 2468
19024          __cil_tmp48 = i * 176UL;
19025#line 2468
19026          __cil_tmp49 = 120 + __cil_tmp48;
19027#line 2468
19028          __cil_tmp50 = (unsigned long )cfi;
19029#line 2468
19030          __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
19031#line 2468
19032          __cil_tmp52 = *((unsigned long *)__cil_tmp51);
19033#line 2468
19034          (*__cil_tmp46)(map, __cil_tmp47, __cil_tmp52);
19035#line 2469
19036          __cil_tmp53 = (unsigned long )chip;
19037#line 2469
19038          __cil_tmp54 = __cil_tmp53 + 16;
19039#line 2469
19040          __cil_tmp55 = (unsigned long )chip;
19041#line 2469
19042          __cil_tmp56 = __cil_tmp55 + 12;
19043#line 2469
19044          *((flstate_t *)__cil_tmp54) = *((flstate_t *)__cil_tmp56);
19045#line 2470
19046          __cil_tmp57 = (unsigned long )chip;
19047#line 2470
19048          __cil_tmp58 = __cil_tmp57 + 12;
19049#line 2470
19050          *((flstate_t *)__cil_tmp58) = (flstate_t )12;
19051          }
19052        } else {
19053          {
19054#line 2477
19055          __cil_tmp59 = (unsigned long )chip;
19056#line 2477
19057          __cil_tmp60 = __cil_tmp59 + 16;
19058#line 2477
19059          __cil_tmp61 = *((flstate_t *)__cil_tmp60);
19060#line 2477
19061          __cil_tmp62 = (unsigned int )__cil_tmp61;
19062#line 2477
19063          printk("<5>Flash device refused suspend due to pending operation (oldstate %d)\n",
19064                 __cil_tmp62);
19065#line 2478
19066          ret = -11;
19067          }
19068        }
19069        }
19070#line 2480
19071        goto switch_break;
19072        switch_default: /* CIL Label */ 
19073        {
19074#line 2486
19075        __cil_tmp63 = (unsigned long )chip;
19076#line 2486
19077        __cil_tmp64 = __cil_tmp63 + 12;
19078#line 2486
19079        __cil_tmp65 = *((flstate_t *)__cil_tmp64);
19080#line 2486
19081        __cil_tmp66 = (unsigned int )__cil_tmp65;
19082#line 2486
19083        printk("<5>Flash device refused suspend due to active operation (state %d)\n",
19084               __cil_tmp66);
19085#line 2487
19086        ret = -11;
19087        }
19088        case_12: /* CIL Label */ 
19089#line 2489
19090        goto switch_break;
19091      } else {
19092        switch_break: /* CIL Label */ ;
19093      }
19094      }
19095    }
19096    }
19097    {
19098#line 2491
19099    __cil_tmp67 = (unsigned long )chip;
19100#line 2491
19101    __cil_tmp68 = __cil_tmp67 + 32;
19102#line 2491
19103    __cil_tmp69 = (struct mutex *)__cil_tmp68;
19104#line 2491
19105    mutex_unlock(__cil_tmp69);
19106#line 2456
19107    i = i + 1;
19108    }
19109  }
19110  while_break: /* CIL Label */ ;
19111  }
19112#line 2496
19113  if (ret) {
19114#line 2497
19115    i = i - 1;
19116    {
19117#line 2497
19118    while (1) {
19119      while_continue___0: /* CIL Label */ ;
19120#line 2497
19121      if (i >= 0) {
19122
19123      } else {
19124#line 2497
19125        goto while_break___0;
19126      }
19127      {
19128#line 2498
19129      __cil_tmp70 = i * 176UL;
19130#line 2498
19131      __cil_tmp71 = 120 + __cil_tmp70;
19132#line 2498
19133      __cil_tmp72 = (unsigned long )cfi;
19134#line 2498
19135      __cil_tmp73 = __cil_tmp72 + __cil_tmp71;
19136#line 2498
19137      chip = (struct flchip *)__cil_tmp73;
19138#line 2500
19139      __cil_tmp74 = (unsigned long )chip;
19140#line 2500
19141      __cil_tmp75 = __cil_tmp74 + 32;
19142#line 2500
19143      __cil_tmp76 = (struct mutex *)__cil_tmp75;
19144#line 2500
19145      mutex_lock(__cil_tmp76);
19146      }
19147      {
19148#line 2502
19149      __cil_tmp77 = (unsigned long )chip;
19150#line 2502
19151      __cil_tmp78 = __cil_tmp77 + 12;
19152#line 2502
19153      __cil_tmp79 = *((flstate_t *)__cil_tmp78);
19154#line 2502
19155      __cil_tmp80 = (unsigned int )__cil_tmp79;
19156#line 2502
19157      if (__cil_tmp80 == 12U) {
19158        {
19159#line 2506
19160        __cil_tmp81 = (unsigned long )chip;
19161#line 2506
19162        __cil_tmp82 = __cil_tmp81 + 12;
19163#line 2506
19164        __cil_tmp83 = (unsigned long )chip;
19165#line 2506
19166        __cil_tmp84 = __cil_tmp83 + 16;
19167#line 2506
19168        *((flstate_t *)__cil_tmp82) = *((flstate_t *)__cil_tmp84);
19169#line 2507
19170        __cil_tmp85 = (unsigned long )chip;
19171#line 2507
19172        __cil_tmp86 = __cil_tmp85 + 16;
19173#line 2507
19174        *((flstate_t *)__cil_tmp86) = (flstate_t )0;
19175#line 2508
19176        __cil_tmp87 = (unsigned long )chip;
19177#line 2508
19178        __cil_tmp88 = __cil_tmp87 + 104;
19179#line 2508
19180        __cil_tmp89 = (wait_queue_head_t *)__cil_tmp88;
19181#line 2508
19182        __cil_tmp90 = (void *)0;
19183#line 2508
19184        __wake_up(__cil_tmp89, 3U, 1, __cil_tmp90);
19185        }
19186      } else {
19187
19188      }
19189      }
19190      {
19191#line 2510
19192      __cil_tmp91 = (unsigned long )chip;
19193#line 2510
19194      __cil_tmp92 = __cil_tmp91 + 32;
19195#line 2510
19196      __cil_tmp93 = (struct mutex *)__cil_tmp92;
19197#line 2510
19198      mutex_unlock(__cil_tmp93);
19199#line 2497
19200      i = i - 1;
19201      }
19202    }
19203    while_break___0: /* CIL Label */ ;
19204    }
19205  } else {
19206
19207  }
19208#line 2514
19209  return (ret);
19210}
19211}
19212#line 2517 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19213static void cfi_intelext_restore_locks(struct mtd_info *mtd ) 
19214{ struct mtd_erase_region_info *region ;
19215  int block ;
19216  int i ;
19217  unsigned long adr ;
19218  size_t len ;
19219  unsigned long tmp___7 ;
19220  unsigned long tmp___8 ;
19221  unsigned long __cil_tmp9 ;
19222  unsigned long __cil_tmp10 ;
19223  int __cil_tmp11 ;
19224  unsigned long __cil_tmp12 ;
19225  unsigned long __cil_tmp13 ;
19226  struct mtd_erase_region_info *__cil_tmp14 ;
19227  unsigned long __cil_tmp15 ;
19228  unsigned long __cil_tmp16 ;
19229  unsigned long *__cil_tmp17 ;
19230  unsigned long __cil_tmp18 ;
19231  unsigned long __cil_tmp19 ;
19232  unsigned long *__cil_tmp20 ;
19233  unsigned long    *__cil_tmp21 ;
19234  unsigned long __cil_tmp22 ;
19235  unsigned long __cil_tmp23 ;
19236  uint32_t __cil_tmp24 ;
19237  unsigned long __cil_tmp25 ;
19238  unsigned long __cil_tmp26 ;
19239  unsigned long __cil_tmp27 ;
19240  uint32_t __cil_tmp28 ;
19241  uint32_t __cil_tmp29 ;
19242  unsigned long __cil_tmp30 ;
19243  unsigned long __cil_tmp31 ;
19244  uint32_t __cil_tmp32 ;
19245  size_t __cil_tmp33 ;
19246  size_t __cil_tmp34 ;
19247  uint64_t __cil_tmp35 ;
19248  uint64_t __cil_tmp36 ;
19249  uint64_t __cil_tmp37 ;
19250  loff_t __cil_tmp38 ;
19251  uint64_t __cil_tmp39 ;
19252  unsigned long __cil_tmp40 ;
19253  unsigned long __cil_tmp41 ;
19254  unsigned long *__cil_tmp42 ;
19255  unsigned long    *__cil_tmp43 ;
19256  unsigned long __cil_tmp44 ;
19257  unsigned long __cil_tmp45 ;
19258  uint32_t __cil_tmp46 ;
19259  unsigned long __cil_tmp47 ;
19260  int __cil_tmp48 ;
19261  unsigned long __cil_tmp49 ;
19262
19263  {
19264#line 2524
19265  i = 0;
19266  {
19267#line 2524
19268  while (1) {
19269    while_continue: /* CIL Label */ ;
19270    {
19271#line 2524
19272    __cil_tmp9 = (unsigned long )mtd;
19273#line 2524
19274    __cil_tmp10 = __cil_tmp9 + 84;
19275#line 2524
19276    __cil_tmp11 = *((int *)__cil_tmp10);
19277#line 2524
19278    if (i < __cil_tmp11) {
19279
19280    } else {
19281#line 2524
19282      goto while_break;
19283    }
19284    }
19285#line 2525
19286    __cil_tmp12 = (unsigned long )mtd;
19287#line 2525
19288    __cil_tmp13 = __cil_tmp12 + 88;
19289#line 2525
19290    __cil_tmp14 = *((struct mtd_erase_region_info **)__cil_tmp13);
19291#line 2525
19292    region = __cil_tmp14 + i;
19293    {
19294#line 2526
19295    __cil_tmp15 = (unsigned long )region;
19296#line 2526
19297    __cil_tmp16 = __cil_tmp15 + 16;
19298#line 2526
19299    __cil_tmp17 = *((unsigned long **)__cil_tmp16);
19300#line 2526
19301    if (! __cil_tmp17) {
19302#line 2527
19303      goto __Cont;
19304    } else {
19305
19306    }
19307    }
19308    {
19309#line 2529
19310    __cil_tmp18 = (unsigned long )region;
19311#line 2529
19312    __cil_tmp19 = __cil_tmp18 + 16;
19313#line 2529
19314    __cil_tmp20 = *((unsigned long **)__cil_tmp19);
19315#line 2529
19316    __cil_tmp21 = (unsigned long    *)__cil_tmp20;
19317#line 2529
19318    __cil_tmp22 = (unsigned long )region;
19319#line 2529
19320    __cil_tmp23 = __cil_tmp22 + 12;
19321#line 2529
19322    __cil_tmp24 = *((uint32_t *)__cil_tmp23);
19323#line 2529
19324    __cil_tmp25 = (unsigned long )__cil_tmp24;
19325#line 2529
19326    tmp___7 = find_first_zero_bit(__cil_tmp21, __cil_tmp25);
19327#line 2529
19328    block = (int )tmp___7;
19329    }
19330    {
19331#line 2529
19332    while (1) {
19333      while_continue___0: /* CIL Label */ ;
19334      {
19335#line 2529
19336      __cil_tmp26 = (unsigned long )region;
19337#line 2529
19338      __cil_tmp27 = __cil_tmp26 + 12;
19339#line 2529
19340      __cil_tmp28 = *((uint32_t *)__cil_tmp27);
19341#line 2529
19342      __cil_tmp29 = (uint32_t )block;
19343#line 2529
19344      if (__cil_tmp29 < __cil_tmp28) {
19345
19346      } else {
19347#line 2529
19348        goto while_break___0;
19349      }
19350      }
19351      {
19352#line 2530
19353      __cil_tmp30 = (unsigned long )region;
19354#line 2530
19355      __cil_tmp31 = __cil_tmp30 + 8;
19356#line 2530
19357      __cil_tmp32 = *((uint32_t *)__cil_tmp31);
19358#line 2530
19359      len = (size_t )__cil_tmp32;
19360#line 2531
19361      __cil_tmp33 = (size_t )block;
19362#line 2531
19363      __cil_tmp34 = __cil_tmp33 * len;
19364#line 2531
19365      __cil_tmp35 = (uint64_t )__cil_tmp34;
19366#line 2531
19367      __cil_tmp36 = *((uint64_t *)region);
19368#line 2531
19369      __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
19370#line 2531
19371      adr = (unsigned long )__cil_tmp37;
19372#line 2532
19373      __cil_tmp38 = (loff_t )adr;
19374#line 2532
19375      __cil_tmp39 = (uint64_t )len;
19376#line 2532
19377      cfi_intelext_unlock(mtd, __cil_tmp38, __cil_tmp39);
19378#line 2529
19379      __cil_tmp40 = (unsigned long )region;
19380#line 2529
19381      __cil_tmp41 = __cil_tmp40 + 16;
19382#line 2529
19383      __cil_tmp42 = *((unsigned long **)__cil_tmp41);
19384#line 2529
19385      __cil_tmp43 = (unsigned long    *)__cil_tmp42;
19386#line 2529
19387      __cil_tmp44 = (unsigned long )region;
19388#line 2529
19389      __cil_tmp45 = __cil_tmp44 + 12;
19390#line 2529
19391      __cil_tmp46 = *((uint32_t *)__cil_tmp45);
19392#line 2529
19393      __cil_tmp47 = (unsigned long )__cil_tmp46;
19394#line 2529
19395      __cil_tmp48 = block + 1;
19396#line 2529
19397      __cil_tmp49 = (unsigned long )__cil_tmp48;
19398#line 2529
19399      tmp___8 = find_next_zero_bit(__cil_tmp43, __cil_tmp47, __cil_tmp49);
19400#line 2529
19401      block = (int )tmp___8;
19402      }
19403    }
19404    while_break___0: /* CIL Label */ ;
19405    }
19406    __Cont: /* CIL Label */ 
19407#line 2524
19408    i = i + 1;
19409  }
19410  while_break: /* CIL Label */ ;
19411  }
19412#line 2535
19413  return;
19414}
19415}
19416#line 2537 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19417static void cfi_intelext_resume(struct mtd_info *mtd ) 
19418{ struct map_info *map ;
19419  struct cfi_private *cfi ;
19420  struct cfi_pri_intelext *extp ;
19421  int i ;
19422  struct flchip *chip ;
19423  map_word tmp___7 ;
19424  flstate_t tmp___8 ;
19425  unsigned long __cil_tmp9 ;
19426  unsigned long __cil_tmp10 ;
19427  void *__cil_tmp11 ;
19428  unsigned long __cil_tmp12 ;
19429  unsigned long __cil_tmp13 ;
19430  void *__cil_tmp14 ;
19431  unsigned long __cil_tmp15 ;
19432  unsigned long __cil_tmp16 ;
19433  void *__cil_tmp17 ;
19434  unsigned long __cil_tmp18 ;
19435  unsigned long __cil_tmp19 ;
19436  int __cil_tmp20 ;
19437  unsigned long __cil_tmp21 ;
19438  unsigned long __cil_tmp22 ;
19439  unsigned long __cil_tmp23 ;
19440  unsigned long __cil_tmp24 ;
19441  unsigned long __cil_tmp25 ;
19442  unsigned long __cil_tmp26 ;
19443  struct mutex *__cil_tmp27 ;
19444  unsigned long __cil_tmp28 ;
19445  unsigned long __cil_tmp29 ;
19446  flstate_t __cil_tmp30 ;
19447  unsigned int __cil_tmp31 ;
19448  u_long __cil_tmp32 ;
19449  unsigned long __cil_tmp33 ;
19450  unsigned long __cil_tmp34 ;
19451  void (*__cil_tmp35)(struct map_info * , map_word     , unsigned long  ) ;
19452  map_word    __cil_tmp36 ;
19453  unsigned long __cil_tmp37 ;
19454  unsigned long __cil_tmp38 ;
19455  unsigned long __cil_tmp39 ;
19456  unsigned long __cil_tmp40 ;
19457  unsigned long __cil_tmp41 ;
19458  unsigned long __cil_tmp42 ;
19459  unsigned long __cil_tmp43 ;
19460  unsigned long __cil_tmp44 ;
19461  unsigned long __cil_tmp45 ;
19462  unsigned long __cil_tmp46 ;
19463  unsigned long __cil_tmp47 ;
19464  wait_queue_head_t *__cil_tmp48 ;
19465  void *__cil_tmp49 ;
19466  unsigned long __cil_tmp50 ;
19467  unsigned long __cil_tmp51 ;
19468  struct mutex *__cil_tmp52 ;
19469  unsigned long __cil_tmp53 ;
19470  unsigned long __cil_tmp54 ;
19471  uint32_t __cil_tmp55 ;
19472  int __cil_tmp56 ;
19473  unsigned int __cil_tmp57 ;
19474  unsigned long __cil_tmp58 ;
19475  unsigned long __cil_tmp59 ;
19476  uint32_t __cil_tmp60 ;
19477
19478  {
19479#line 2539
19480  __cil_tmp9 = (unsigned long )mtd;
19481#line 2539
19482  __cil_tmp10 = __cil_tmp9 + 360;
19483#line 2539
19484  __cil_tmp11 = *((void **)__cil_tmp10);
19485#line 2539
19486  map = (struct map_info *)__cil_tmp11;
19487#line 2540
19488  __cil_tmp12 = (unsigned long )map;
19489#line 2540
19490  __cil_tmp13 = __cil_tmp12 + 120;
19491#line 2540
19492  __cil_tmp14 = *((void **)__cil_tmp13);
19493#line 2540
19494  cfi = (struct cfi_private *)__cil_tmp14;
19495#line 2541
19496  __cil_tmp15 = (unsigned long )cfi;
19497#line 2541
19498  __cil_tmp16 = __cil_tmp15 + 8;
19499#line 2541
19500  __cil_tmp17 = *((void **)__cil_tmp16);
19501#line 2541
19502  extp = (struct cfi_pri_intelext *)__cil_tmp17;
19503#line 2545
19504  i = 0;
19505  {
19506#line 2545
19507  while (1) {
19508    while_continue: /* CIL Label */ ;
19509    {
19510#line 2545
19511    __cil_tmp18 = (unsigned long )cfi;
19512#line 2545
19513    __cil_tmp19 = __cil_tmp18 + 64;
19514#line 2545
19515    __cil_tmp20 = *((int *)__cil_tmp19);
19516#line 2545
19517    if (i < __cil_tmp20) {
19518
19519    } else {
19520#line 2545
19521      goto while_break;
19522    }
19523    }
19524    {
19525#line 2547
19526    __cil_tmp21 = i * 176UL;
19527#line 2547
19528    __cil_tmp22 = 120 + __cil_tmp21;
19529#line 2547
19530    __cil_tmp23 = (unsigned long )cfi;
19531#line 2547
19532    __cil_tmp24 = __cil_tmp23 + __cil_tmp22;
19533#line 2547
19534    chip = (struct flchip *)__cil_tmp24;
19535#line 2549
19536    __cil_tmp25 = (unsigned long )chip;
19537#line 2549
19538    __cil_tmp26 = __cil_tmp25 + 32;
19539#line 2549
19540    __cil_tmp27 = (struct mutex *)__cil_tmp26;
19541#line 2549
19542    mutex_lock(__cil_tmp27);
19543    }
19544    {
19545#line 2552
19546    __cil_tmp28 = (unsigned long )chip;
19547#line 2552
19548    __cil_tmp29 = __cil_tmp28 + 12;
19549#line 2552
19550    __cil_tmp30 = *((flstate_t *)__cil_tmp29);
19551#line 2552
19552    __cil_tmp31 = (unsigned int )__cil_tmp30;
19553#line 2552
19554    if (__cil_tmp31 == 12U) {
19555      {
19556#line 2553
19557      __cil_tmp32 = (u_long )255;
19558#line 2553
19559      tmp___7 = cfi_build_cmd(__cil_tmp32, map, cfi);
19560#line 2553
19561      __cil_tmp33 = (unsigned long )map;
19562#line 2553
19563      __cil_tmp34 = __cil_tmp33 + 64;
19564#line 2553
19565      __cil_tmp35 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp34);
19566#line 2553
19567      __cil_tmp36 = (map_word    )tmp___7;
19568#line 2553
19569      __cil_tmp37 = i * 176UL;
19570#line 2553
19571      __cil_tmp38 = 120 + __cil_tmp37;
19572#line 2553
19573      __cil_tmp39 = (unsigned long )cfi;
19574#line 2553
19575      __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
19576#line 2553
19577      __cil_tmp41 = *((unsigned long *)__cil_tmp40);
19578#line 2553
19579      (*__cil_tmp35)(map, __cil_tmp36, __cil_tmp41);
19580#line 2554
19581      tmp___8 = (flstate_t )0;
19582#line 2554
19583      __cil_tmp42 = (unsigned long )chip;
19584#line 2554
19585      __cil_tmp43 = __cil_tmp42 + 12;
19586#line 2554
19587      *((flstate_t *)__cil_tmp43) = tmp___8;
19588#line 2554
19589      __cil_tmp44 = (unsigned long )chip;
19590#line 2554
19591      __cil_tmp45 = __cil_tmp44 + 16;
19592#line 2554
19593      *((flstate_t *)__cil_tmp45) = tmp___8;
19594#line 2555
19595      __cil_tmp46 = (unsigned long )chip;
19596#line 2555
19597      __cil_tmp47 = __cil_tmp46 + 104;
19598#line 2555
19599      __cil_tmp48 = (wait_queue_head_t *)__cil_tmp47;
19600#line 2555
19601      __cil_tmp49 = (void *)0;
19602#line 2555
19603      __wake_up(__cil_tmp48, 3U, 1, __cil_tmp49);
19604      }
19605    } else {
19606
19607    }
19608    }
19609    {
19610#line 2558
19611    __cil_tmp50 = (unsigned long )chip;
19612#line 2558
19613    __cil_tmp51 = __cil_tmp50 + 32;
19614#line 2558
19615    __cil_tmp52 = (struct mutex *)__cil_tmp51;
19616#line 2558
19617    mutex_unlock(__cil_tmp52);
19618#line 2545
19619    i = i + 1;
19620    }
19621  }
19622  while_break: /* CIL Label */ ;
19623  }
19624  {
19625#line 2561
19626  __cil_tmp53 = (unsigned long )mtd;
19627#line 2561
19628  __cil_tmp54 = __cil_tmp53 + 4;
19629#line 2561
19630  __cil_tmp55 = *((uint32_t *)__cil_tmp54);
19631#line 2561
19632  if (__cil_tmp55 & 8192U) {
19633#line 2561
19634    if (extp) {
19635      {
19636#line 2561
19637      __cil_tmp56 = 1 << 5;
19638#line 2561
19639      __cil_tmp57 = (unsigned int )__cil_tmp56;
19640#line 2561
19641      __cil_tmp58 = (unsigned long )extp;
19642#line 2561
19643      __cil_tmp59 = __cil_tmp58 + 5;
19644#line 2561
19645      __cil_tmp60 = *((uint32_t *)__cil_tmp59);
19646#line 2561
19647      if (__cil_tmp60 & __cil_tmp57) {
19648        {
19649#line 2563
19650        cfi_intelext_restore_locks(mtd);
19651        }
19652      } else {
19653
19654      }
19655      }
19656    } else {
19657
19658    }
19659  } else {
19660
19661  }
19662  }
19663#line 2564
19664  return;
19665}
19666}
19667#line 2566 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19668static int cfi_intelext_reset(struct mtd_info *mtd ) 
19669{ struct map_info *map ;
19670  struct cfi_private *cfi ;
19671  int i ;
19672  int ret ;
19673  struct flchip *chip ;
19674  map_word tmp___7 ;
19675  unsigned long __cil_tmp8 ;
19676  unsigned long __cil_tmp9 ;
19677  void *__cil_tmp10 ;
19678  unsigned long __cil_tmp11 ;
19679  unsigned long __cil_tmp12 ;
19680  void *__cil_tmp13 ;
19681  unsigned long __cil_tmp14 ;
19682  unsigned long __cil_tmp15 ;
19683  int __cil_tmp16 ;
19684  unsigned long __cil_tmp17 ;
19685  unsigned long __cil_tmp18 ;
19686  unsigned long __cil_tmp19 ;
19687  unsigned long __cil_tmp20 ;
19688  unsigned long __cil_tmp21 ;
19689  unsigned long __cil_tmp22 ;
19690  struct mutex *__cil_tmp23 ;
19691  unsigned long __cil_tmp24 ;
19692  u_long __cil_tmp25 ;
19693  unsigned long __cil_tmp26 ;
19694  unsigned long __cil_tmp27 ;
19695  void (*__cil_tmp28)(struct map_info * , map_word     , unsigned long  ) ;
19696  map_word    __cil_tmp29 ;
19697  unsigned long __cil_tmp30 ;
19698  unsigned long __cil_tmp31 ;
19699  unsigned long __cil_tmp32 ;
19700  unsigned long __cil_tmp33 ;
19701  unsigned long __cil_tmp34 ;
19702  unsigned long __cil_tmp35 ;
19703  struct mutex *__cil_tmp36 ;
19704
19705  {
19706#line 2568
19707  __cil_tmp8 = (unsigned long )mtd;
19708#line 2568
19709  __cil_tmp9 = __cil_tmp8 + 360;
19710#line 2568
19711  __cil_tmp10 = *((void **)__cil_tmp9);
19712#line 2568
19713  map = (struct map_info *)__cil_tmp10;
19714#line 2569
19715  __cil_tmp11 = (unsigned long )map;
19716#line 2569
19717  __cil_tmp12 = __cil_tmp11 + 120;
19718#line 2569
19719  __cil_tmp13 = *((void **)__cil_tmp12);
19720#line 2569
19721  cfi = (struct cfi_private *)__cil_tmp13;
19722#line 2572
19723  i = 0;
19724  {
19725#line 2572
19726  while (1) {
19727    while_continue: /* CIL Label */ ;
19728    {
19729#line 2572
19730    __cil_tmp14 = (unsigned long )cfi;
19731#line 2572
19732    __cil_tmp15 = __cil_tmp14 + 64;
19733#line 2572
19734    __cil_tmp16 = *((int *)__cil_tmp15);
19735#line 2572
19736    if (i < __cil_tmp16) {
19737
19738    } else {
19739#line 2572
19740      goto while_break;
19741    }
19742    }
19743    {
19744#line 2573
19745    __cil_tmp17 = i * 176UL;
19746#line 2573
19747    __cil_tmp18 = 120 + __cil_tmp17;
19748#line 2573
19749    __cil_tmp19 = (unsigned long )cfi;
19750#line 2573
19751    __cil_tmp20 = __cil_tmp19 + __cil_tmp18;
19752#line 2573
19753    chip = (struct flchip *)__cil_tmp20;
19754#line 2578
19755    __cil_tmp21 = (unsigned long )chip;
19756#line 2578
19757    __cil_tmp22 = __cil_tmp21 + 32;
19758#line 2578
19759    __cil_tmp23 = (struct mutex *)__cil_tmp22;
19760#line 2578
19761    mutex_lock(__cil_tmp23);
19762#line 2579
19763    __cil_tmp24 = *((unsigned long *)chip);
19764#line 2579
19765    ret = get_chip(map, chip, __cil_tmp24, 20);
19766    }
19767#line 2580
19768    if (! ret) {
19769      {
19770#line 2581
19771      __cil_tmp25 = (u_long )255;
19772#line 2581
19773      tmp___7 = cfi_build_cmd(__cil_tmp25, map, cfi);
19774#line 2581
19775      __cil_tmp26 = (unsigned long )map;
19776#line 2581
19777      __cil_tmp27 = __cil_tmp26 + 64;
19778#line 2581
19779      __cil_tmp28 = *((void (**)(struct map_info * , map_word     , unsigned long  ))__cil_tmp27);
19780#line 2581
19781      __cil_tmp29 = (map_word    )tmp___7;
19782#line 2581
19783      __cil_tmp30 = *((unsigned long *)chip);
19784#line 2581
19785      (*__cil_tmp28)(map, __cil_tmp29, __cil_tmp30);
19786#line 2582
19787      __cil_tmp31 = (unsigned long )chip;
19788#line 2582
19789      __cil_tmp32 = __cil_tmp31 + 12;
19790#line 2582
19791      *((flstate_t *)__cil_tmp32) = (flstate_t )20;
19792#line 2583
19793      __cil_tmp33 = *((unsigned long *)chip);
19794#line 2583
19795      put_chip(map, chip, __cil_tmp33);
19796      }
19797    } else {
19798
19799    }
19800    {
19801#line 2585
19802    __cil_tmp34 = (unsigned long )chip;
19803#line 2585
19804    __cil_tmp35 = __cil_tmp34 + 32;
19805#line 2585
19806    __cil_tmp36 = (struct mutex *)__cil_tmp35;
19807#line 2585
19808    mutex_unlock(__cil_tmp36);
19809#line 2572
19810    i = i + 1;
19811    }
19812  }
19813  while_break: /* CIL Label */ ;
19814  }
19815#line 2588
19816  return (0);
19817}
19818}
19819#line 2591 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19820static int cfi_intelext_reboot(struct notifier_block *nb , unsigned long val , void *v ) 
19821{ struct mtd_info *mtd ;
19822  struct notifier_block    *__mptr ;
19823  struct mtd_info *__cil_tmp6 ;
19824  unsigned long __cil_tmp7 ;
19825  unsigned long __cil_tmp8 ;
19826  struct notifier_block *__cil_tmp9 ;
19827  unsigned int __cil_tmp10 ;
19828  char *__cil_tmp11 ;
19829  char *__cil_tmp12 ;
19830
19831  {
19832  {
19833#line 2596
19834  __mptr = (struct notifier_block    *)nb;
19835#line 2596
19836  __cil_tmp6 = (struct mtd_info *)0;
19837#line 2596
19838  __cil_tmp7 = (unsigned long )__cil_tmp6;
19839#line 2596
19840  __cil_tmp8 = __cil_tmp7 + 312;
19841#line 2596
19842  __cil_tmp9 = (struct notifier_block *)__cil_tmp8;
19843#line 2596
19844  __cil_tmp10 = (unsigned int )__cil_tmp9;
19845#line 2596
19846  __cil_tmp11 = (char *)__mptr;
19847#line 2596
19848  __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
19849#line 2596
19850  mtd = (struct mtd_info *)__cil_tmp12;
19851#line 2597
19852  cfi_intelext_reset(mtd);
19853  }
19854#line 2598
19855  return (0);
19856}
19857}
19858#line 2601 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
19859static void cfi_intelext_destroy(struct mtd_info *mtd ) 
19860{ struct map_info *map ;
19861  struct cfi_private *cfi ;
19862  struct mtd_erase_region_info *region ;
19863  int i ;
19864  unsigned long __cil_tmp6 ;
19865  unsigned long __cil_tmp7 ;
19866  void *__cil_tmp8 ;
19867  unsigned long __cil_tmp9 ;
19868  unsigned long __cil_tmp10 ;
19869  void *__cil_tmp11 ;
19870  unsigned long __cil_tmp12 ;
19871  unsigned long __cil_tmp13 ;
19872  struct notifier_block *__cil_tmp14 ;
19873  unsigned long __cil_tmp15 ;
19874  unsigned long __cil_tmp16 ;
19875  void *__cil_tmp17 ;
19876  void    *__cil_tmp18 ;
19877  unsigned long __cil_tmp19 ;
19878  unsigned long __cil_tmp20 ;
19879  struct cfi_ident *__cil_tmp21 ;
19880  void    *__cil_tmp22 ;
19881  unsigned long __cil_tmp23 ;
19882  unsigned long __cil_tmp24 ;
19883  unsigned long __cil_tmp25 ;
19884  unsigned long __cil_tmp26 ;
19885  unsigned long __cil_tmp27 ;
19886  void *__cil_tmp28 ;
19887  void    *__cil_tmp29 ;
19888  void    *__cil_tmp30 ;
19889  unsigned long __cil_tmp31 ;
19890  unsigned long __cil_tmp32 ;
19891  int __cil_tmp33 ;
19892  unsigned long __cil_tmp34 ;
19893  unsigned long __cil_tmp35 ;
19894  struct mtd_erase_region_info *__cil_tmp36 ;
19895  unsigned long __cil_tmp37 ;
19896  unsigned long __cil_tmp38 ;
19897  unsigned long __cil_tmp39 ;
19898  unsigned long __cil_tmp40 ;
19899  unsigned long *__cil_tmp41 ;
19900  void    *__cil_tmp42 ;
19901  unsigned long __cil_tmp43 ;
19902  unsigned long __cil_tmp44 ;
19903  struct mtd_erase_region_info *__cil_tmp45 ;
19904  void    *__cil_tmp46 ;
19905
19906  {
19907  {
19908#line 2603
19909  __cil_tmp6 = (unsigned long )mtd;
19910#line 2603
19911  __cil_tmp7 = __cil_tmp6 + 360;
19912#line 2603
19913  __cil_tmp8 = *((void **)__cil_tmp7);
19914#line 2603
19915  map = (struct map_info *)__cil_tmp8;
19916#line 2604
19917  __cil_tmp9 = (unsigned long )map;
19918#line 2604
19919  __cil_tmp10 = __cil_tmp9 + 120;
19920#line 2604
19921  __cil_tmp11 = *((void **)__cil_tmp10);
19922#line 2604
19923  cfi = (struct cfi_private *)__cil_tmp11;
19924#line 2607
19925  cfi_intelext_reset(mtd);
19926#line 2608
19927  __cil_tmp12 = (unsigned long )mtd;
19928#line 2608
19929  __cil_tmp13 = __cil_tmp12 + 312;
19930#line 2608
19931  __cil_tmp14 = (struct notifier_block *)__cil_tmp13;
19932#line 2608
19933  unregister_reboot_notifier(__cil_tmp14);
19934#line 2609
19935  __cil_tmp15 = (unsigned long )cfi;
19936#line 2609
19937  __cil_tmp16 = __cil_tmp15 + 8;
19938#line 2609
19939  __cil_tmp17 = *((void **)__cil_tmp16);
19940#line 2609
19941  __cil_tmp18 = (void    *)__cil_tmp17;
19942#line 2609
19943  kfree(__cil_tmp18);
19944#line 2610
19945  __cil_tmp19 = (unsigned long )cfi;
19946#line 2610
19947  __cil_tmp20 = __cil_tmp19 + 48;
19948#line 2610
19949  __cil_tmp21 = *((struct cfi_ident **)__cil_tmp20);
19950#line 2610
19951  __cil_tmp22 = (void    *)__cil_tmp21;
19952#line 2610
19953  kfree(__cil_tmp22);
19954#line 2611
19955  __cil_tmp23 = 0 * 176UL;
19956#line 2611
19957  __cil_tmp24 = __cil_tmp23 + 168;
19958#line 2611
19959  __cil_tmp25 = 120 + __cil_tmp24;
19960#line 2611
19961  __cil_tmp26 = (unsigned long )cfi;
19962#line 2611
19963  __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
19964#line 2611
19965  __cil_tmp28 = *((void **)__cil_tmp27);
19966#line 2611
19967  __cil_tmp29 = (void    *)__cil_tmp28;
19968#line 2611
19969  kfree(__cil_tmp29);
19970#line 2612
19971  __cil_tmp30 = (void    *)cfi;
19972#line 2612
19973  kfree(__cil_tmp30);
19974#line 2613
19975  i = 0;
19976  }
19977  {
19978#line 2613
19979  while (1) {
19980    while_continue: /* CIL Label */ ;
19981    {
19982#line 2613
19983    __cil_tmp31 = (unsigned long )mtd;
19984#line 2613
19985    __cil_tmp32 = __cil_tmp31 + 84;
19986#line 2613
19987    __cil_tmp33 = *((int *)__cil_tmp32);
19988#line 2613
19989    if (i < __cil_tmp33) {
19990
19991    } else {
19992#line 2613
19993      goto while_break;
19994    }
19995    }
19996#line 2614
19997    __cil_tmp34 = (unsigned long )mtd;
19998#line 2614
19999    __cil_tmp35 = __cil_tmp34 + 88;
20000#line 2614
20001    __cil_tmp36 = *((struct mtd_erase_region_info **)__cil_tmp35);
20002#line 2614
20003    region = __cil_tmp36 + i;
20004    {
20005#line 2615
20006    __cil_tmp37 = (unsigned long )region;
20007#line 2615
20008    __cil_tmp38 = __cil_tmp37 + 16;
20009#line 2615
20010    if (*((unsigned long **)__cil_tmp38)) {
20011      {
20012#line 2616
20013      __cil_tmp39 = (unsigned long )region;
20014#line 2616
20015      __cil_tmp40 = __cil_tmp39 + 16;
20016#line 2616
20017      __cil_tmp41 = *((unsigned long **)__cil_tmp40);
20018#line 2616
20019      __cil_tmp42 = (void    *)__cil_tmp41;
20020#line 2616
20021      kfree(__cil_tmp42);
20022      }
20023    } else {
20024
20025    }
20026    }
20027#line 2613
20028    i = i + 1;
20029  }
20030  while_break: /* CIL Label */ ;
20031  }
20032  {
20033#line 2618
20034  __cil_tmp43 = (unsigned long )mtd;
20035#line 2618
20036  __cil_tmp44 = __cil_tmp43 + 88;
20037#line 2618
20038  __cil_tmp45 = *((struct mtd_erase_region_info **)__cil_tmp44);
20039#line 2618
20040  __cil_tmp46 = (void    *)__cil_tmp45;
20041#line 2618
20042  kfree(__cil_tmp46);
20043  }
20044#line 2619
20045  return;
20046}
20047}
20048#line 2621 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20049static char    __mod_license2621[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
20050__aligned__(1)))  = 
20051#line 2621
20052  {      (char    )'l',      (char    )'i',      (char const   )'c',      (char const   )'e', 
20053        (char    )'n',      (char    )'s',      (char const   )'e',      (char const   )'=', 
20054        (char    )'G',      (char    )'P',      (char const   )'L',      (char const   )'\000'};
20055#line 2622 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20056static char    __mod_author2622[52]  __attribute__((__used__, __unused__, __section__(".modinfo"),
20057__aligned__(1)))  = 
20058#line 2622
20059  {      (char    )'a',      (char    )'u',      (char const   )'t',      (char const   )'h', 
20060        (char    )'o',      (char    )'r',      (char const   )'=',      (char const   )'D', 
20061        (char    )'a',      (char    )'v',      (char const   )'i',      (char const   )'d', 
20062        (char    )' ',      (char    )'W',      (char const   )'o',      (char const   )'o', 
20063        (char    )'d',      (char    )'h',      (char const   )'o',      (char const   )'u', 
20064        (char    )'s',      (char    )'e',      (char const   )' ',      (char const   )'<', 
20065        (char    )'d',      (char    )'w',      (char const   )'m',      (char const   )'w', 
20066        (char    )'2',      (char    )'@',      (char const   )'i',      (char const   )'n', 
20067        (char    )'f',      (char    )'r',      (char const   )'a',      (char const   )'d', 
20068        (char    )'e',      (char    )'a',      (char const   )'d',      (char const   )'.', 
20069        (char    )'o',      (char    )'r',      (char const   )'g',      (char const   )'>', 
20070        (char    )' ',      (char    )'e',      (char const   )'t',      (char const   )' ', 
20071        (char    )'a',      (char    )'l',      (char const   )'.',      (char const   )'\000'};
20072#line 2623 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20073static char    __mod_description2623[56]  __attribute__((__used__, __unused__,
20074__section__(".modinfo"), __aligned__(1)))  = 
20075#line 2623
20076  {      (char    )'d',      (char    )'e',      (char const   )'s',      (char const   )'c', 
20077        (char    )'r',      (char    )'i',      (char const   )'p',      (char const   )'t', 
20078        (char    )'i',      (char    )'o',      (char const   )'n',      (char const   )'=', 
20079        (char    )'M',      (char    )'T',      (char const   )'D',      (char const   )' ', 
20080        (char    )'c',      (char    )'h',      (char const   )'i',      (char const   )'p', 
20081        (char    )' ',      (char    )'d',      (char const   )'r',      (char const   )'i', 
20082        (char    )'v',      (char    )'e',      (char const   )'r',      (char const   )' ', 
20083        (char    )'f',      (char    )'o',      (char const   )'r',      (char const   )' ', 
20084        (char    )'I',      (char    )'n',      (char const   )'t',      (char const   )'e', 
20085        (char    )'l',      (char    )'/',      (char const   )'S',      (char const   )'h', 
20086        (char    )'a',      (char    )'r',      (char const   )'p',      (char const   )' ', 
20087        (char    )'f',      (char    )'l',      (char const   )'a',      (char const   )'s', 
20088        (char    )'h',      (char    )' ',      (char const   )'c',      (char const   )'h', 
20089        (char    )'i',      (char    )'p',      (char const   )'s',      (char const   )'\000'};
20090#line 2624 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20091static char    __mod_alias2624[22]  __attribute__((__used__, __unused__, __section__(".modinfo"),
20092__aligned__(1)))  = 
20093#line 2624
20094  {      (char    )'a',      (char    )'l',      (char const   )'i',      (char const   )'a', 
20095        (char    )'s',      (char    )'=',      (char const   )'c',      (char const   )'f', 
20096        (char    )'i',      (char    )'_',      (char const   )'c',      (char const   )'m', 
20097        (char    )'d',      (char    )'s',      (char const   )'e',      (char const   )'t', 
20098        (char    )'_',      (char    )'0',      (char const   )'0',      (char const   )'0', 
20099        (char    )'3',      (char    )'\000'};
20100#line 2625 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20101static char    __mod_alias2625[22]  __attribute__((__used__, __unused__, __section__(".modinfo"),
20102__aligned__(1)))  = 
20103#line 2625
20104  {      (char    )'a',      (char    )'l',      (char const   )'i',      (char const   )'a', 
20105        (char    )'s',      (char    )'=',      (char const   )'c',      (char const   )'f', 
20106        (char    )'i',      (char    )'_',      (char const   )'c',      (char const   )'m', 
20107        (char    )'d',      (char    )'s',      (char const   )'e',      (char const   )'t', 
20108        (char    )'_',      (char    )'0',      (char const   )'2',      (char const   )'0', 
20109        (char    )'0',      (char    )'\000'};
20110#line 2643
20111void ldv_check_final_state(void) ;
20112#line 2649
20113extern void ldv_initialize(void) ;
20114#line 2652
20115extern int __VERIFIER_nondet_int(void) ;
20116#line 2655 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20117int LDV_IN_INTERRUPT  ;
20118#line 2658 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20119void main(void) 
20120{ struct mtd_info *var_group1 ;
20121  int tmp___7 ;
20122  int tmp___8 ;
20123
20124  {
20125  {
20126#line 2731
20127  LDV_IN_INTERRUPT = 1;
20128#line 2740
20129  ldv_initialize();
20130  }
20131  {
20132#line 2744
20133  while (1) {
20134    while_continue: /* CIL Label */ ;
20135    {
20136#line 2744
20137    tmp___8 = __VERIFIER_nondet_int();
20138    }
20139#line 2744
20140    if (tmp___8) {
20141
20142    } else {
20143#line 2744
20144      goto while_break;
20145    }
20146    {
20147#line 2747
20148    tmp___7 = __VERIFIER_nondet_int();
20149    }
20150#line 2749
20151    if (tmp___7 == 0) {
20152#line 2749
20153      goto case_0;
20154    } else {
20155      {
20156#line 2820
20157      goto switch_default;
20158#line 2747
20159      if (0) {
20160        case_0: /* CIL Label */ 
20161        {
20162#line 2812
20163        cfi_intelext_destroy(var_group1);
20164        }
20165#line 2819
20166        goto switch_break;
20167        switch_default: /* CIL Label */ 
20168#line 2820
20169        goto switch_break;
20170      } else {
20171        switch_break: /* CIL Label */ ;
20172      }
20173      }
20174    }
20175  }
20176  while_break: /* CIL Label */ ;
20177  }
20178  {
20179#line 2829
20180  ldv_check_final_state();
20181  }
20182#line 2832
20183  return;
20184}
20185}
20186#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
20187void ldv_blast_assert(void) 
20188{ 
20189
20190  {
20191  ERROR: 
20192#line 6
20193  goto ERROR;
20194}
20195}
20196#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
20197extern int __VERIFIER_nondet_int(void) ;
20198#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20199int ldv_mutex  =    1;
20200#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20201int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
20202{ int nondetermined ;
20203
20204  {
20205#line 29
20206  if (ldv_mutex == 1) {
20207
20208  } else {
20209    {
20210#line 29
20211    ldv_blast_assert();
20212    }
20213  }
20214  {
20215#line 32
20216  nondetermined = __VERIFIER_nondet_int();
20217  }
20218#line 35
20219  if (nondetermined) {
20220#line 38
20221    ldv_mutex = 2;
20222#line 40
20223    return (0);
20224  } else {
20225#line 45
20226    return (-4);
20227  }
20228}
20229}
20230#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20231int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
20232{ int nondetermined ;
20233
20234  {
20235#line 57
20236  if (ldv_mutex == 1) {
20237
20238  } else {
20239    {
20240#line 57
20241    ldv_blast_assert();
20242    }
20243  }
20244  {
20245#line 60
20246  nondetermined = __VERIFIER_nondet_int();
20247  }
20248#line 63
20249  if (nondetermined) {
20250#line 66
20251    ldv_mutex = 2;
20252#line 68
20253    return (0);
20254  } else {
20255#line 73
20256    return (-4);
20257  }
20258}
20259}
20260#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20261int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
20262{ int atomic_value_after_dec ;
20263
20264  {
20265#line 83
20266  if (ldv_mutex == 1) {
20267
20268  } else {
20269    {
20270#line 83
20271    ldv_blast_assert();
20272    }
20273  }
20274  {
20275#line 86
20276  atomic_value_after_dec = __VERIFIER_nondet_int();
20277  }
20278#line 89
20279  if (atomic_value_after_dec == 0) {
20280#line 92
20281    ldv_mutex = 2;
20282#line 94
20283    return (1);
20284  } else {
20285
20286  }
20287#line 98
20288  return (0);
20289}
20290}
20291#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20292void mutex_lock(struct mutex *lock ) 
20293{ 
20294
20295  {
20296#line 108
20297  if (ldv_mutex == 1) {
20298
20299  } else {
20300    {
20301#line 108
20302    ldv_blast_assert();
20303    }
20304  }
20305#line 110
20306  ldv_mutex = 2;
20307#line 111
20308  return;
20309}
20310}
20311#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20312int mutex_trylock(struct mutex *lock ) 
20313{ int nondetermined ;
20314
20315  {
20316#line 121
20317  if (ldv_mutex == 1) {
20318
20319  } else {
20320    {
20321#line 121
20322    ldv_blast_assert();
20323    }
20324  }
20325  {
20326#line 124
20327  nondetermined = __VERIFIER_nondet_int();
20328  }
20329#line 127
20330  if (nondetermined) {
20331#line 130
20332    ldv_mutex = 2;
20333#line 132
20334    return (1);
20335  } else {
20336#line 137
20337    return (0);
20338  }
20339}
20340}
20341#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20342void mutex_unlock(struct mutex *lock ) 
20343{ 
20344
20345  {
20346#line 147
20347  if (ldv_mutex == 2) {
20348
20349  } else {
20350    {
20351#line 147
20352    ldv_blast_assert();
20353    }
20354  }
20355#line 149
20356  ldv_mutex = 1;
20357#line 150
20358  return;
20359}
20360}
20361#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
20362void ldv_check_final_state(void) 
20363{ 
20364
20365  {
20366#line 156
20367  if (ldv_mutex == 1) {
20368
20369  } else {
20370    {
20371#line 156
20372    ldv_blast_assert();
20373    }
20374  }
20375#line 157
20376  return;
20377}
20378}
20379#line 2841 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/5348/dscv_tempdir/dscv/ri/32_1/drivers/mtd/chips/cfi_cmdset_0001.c.common.c"
20380long s__builtin_expect(long val , long res ) 
20381{ 
20382
20383  {
20384#line 2842
20385  return (val);
20386}
20387}