1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 22 "include/asm-generic/int-ll64.h"
7typedef short __s16;
8#line 23 "include/asm-generic/int-ll64.h"
9typedef unsigned short __u16;
10#line 25 "include/asm-generic/int-ll64.h"
11typedef int __s32;
12#line 26 "include/asm-generic/int-ll64.h"
13typedef unsigned int __u32;
14#line 29 "include/asm-generic/int-ll64.h"
15typedef long long __s64;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 31 "include/asm-generic/posix_types.h"
37typedef int __kernel_pid_t;
38#line 52 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_uid32_t;
40#line 53 "include/asm-generic/posix_types.h"
41typedef unsigned int __kernel_gid32_t;
42#line 75 "include/asm-generic/posix_types.h"
43typedef __kernel_ulong_t __kernel_size_t;
44#line 76 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_ssize_t;
46#line 91 "include/asm-generic/posix_types.h"
47typedef long long __kernel_loff_t;
48#line 92 "include/asm-generic/posix_types.h"
49typedef __kernel_long_t __kernel_time_t;
50#line 93 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_clock_t;
52#line 94 "include/asm-generic/posix_types.h"
53typedef int __kernel_timer_t;
54#line 95 "include/asm-generic/posix_types.h"
55typedef int __kernel_clockid_t;
56#line 21 "include/linux/types.h"
57typedef __u32 __kernel_dev_t;
58#line 24 "include/linux/types.h"
59typedef __kernel_dev_t dev_t;
60#line 27 "include/linux/types.h"
61typedef unsigned short umode_t;
62#line 30 "include/linux/types.h"
63typedef __kernel_pid_t pid_t;
64#line 35 "include/linux/types.h"
65typedef __kernel_clockid_t clockid_t;
66#line 38 "include/linux/types.h"
67typedef _Bool bool;
68#line 40 "include/linux/types.h"
69typedef __kernel_uid32_t uid_t;
70#line 41 "include/linux/types.h"
71typedef __kernel_gid32_t gid_t;
72#line 54 "include/linux/types.h"
73typedef __kernel_loff_t loff_t;
74#line 63 "include/linux/types.h"
75typedef __kernel_size_t size_t;
76#line 68 "include/linux/types.h"
77typedef __kernel_ssize_t ssize_t;
78#line 78 "include/linux/types.h"
79typedef __kernel_time_t time_t;
80#line 111 "include/linux/types.h"
81typedef __s32 int32_t;
82#line 117 "include/linux/types.h"
83typedef __u32 uint32_t;
84#line 142 "include/linux/types.h"
85typedef unsigned long sector_t;
86#line 143 "include/linux/types.h"
87typedef unsigned long blkcnt_t;
88#line 155 "include/linux/types.h"
89typedef u64 dma_addr_t;
90#line 202 "include/linux/types.h"
91typedef unsigned int gfp_t;
92#line 203 "include/linux/types.h"
93typedef unsigned int fmode_t;
94#line 206 "include/linux/types.h"
95typedef u64 phys_addr_t;
96#line 211 "include/linux/types.h"
97typedef phys_addr_t resource_size_t;
98#line 221 "include/linux/types.h"
99struct __anonstruct_atomic_t_6 {
100 int counter ;
101};
102#line 221 "include/linux/types.h"
103typedef struct __anonstruct_atomic_t_6 atomic_t;
104#line 226 "include/linux/types.h"
105struct __anonstruct_atomic64_t_7 {
106 long counter ;
107};
108#line 226 "include/linux/types.h"
109typedef struct __anonstruct_atomic64_t_7 atomic64_t;
110#line 227 "include/linux/types.h"
111struct list_head {
112 struct list_head *next ;
113 struct list_head *prev ;
114};
115#line 232
116struct hlist_node;
117#line 232 "include/linux/types.h"
118struct hlist_head {
119 struct hlist_node *first ;
120};
121#line 236 "include/linux/types.h"
122struct hlist_node {
123 struct hlist_node *next ;
124 struct hlist_node **pprev ;
125};
126#line 247 "include/linux/types.h"
127struct rcu_head {
128 struct rcu_head *next ;
129 void (*func)(struct rcu_head * ) ;
130};
131#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
132struct module;
133#line 55
134struct module;
135#line 146 "include/linux/init.h"
136typedef void (*ctor_fn_t)(void);
137#line 46 "include/linux/dynamic_debug.h"
138struct device;
139#line 46
140struct device;
141#line 57
142struct completion;
143#line 57
144struct completion;
145#line 58
146struct pt_regs;
147#line 58
148struct pt_regs;
149#line 200 "include/linux/kernel.h"
150struct atomic_notifier_head;
151#line 348
152struct pid;
153#line 348
154struct pid;
155#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
156struct timespec;
157#line 112
158struct timespec;
159#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
160struct page;
161#line 58
162struct page;
163#line 26 "include/asm-generic/getorder.h"
164struct task_struct;
165#line 26
166struct task_struct;
167#line 28
168struct mm_struct;
169#line 28
170struct mm_struct;
171#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
172struct pt_regs {
173 unsigned long r15 ;
174 unsigned long r14 ;
175 unsigned long r13 ;
176 unsigned long r12 ;
177 unsigned long bp ;
178 unsigned long bx ;
179 unsigned long r11 ;
180 unsigned long r10 ;
181 unsigned long r9 ;
182 unsigned long r8 ;
183 unsigned long ax ;
184 unsigned long cx ;
185 unsigned long dx ;
186 unsigned long si ;
187 unsigned long di ;
188 unsigned long orig_ax ;
189 unsigned long ip ;
190 unsigned long cs ;
191 unsigned long flags ;
192 unsigned long sp ;
193 unsigned long ss ;
194};
195#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
196struct __anonstruct_ldv_2180_13 {
197 unsigned int a ;
198 unsigned int b ;
199};
200#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
201struct __anonstruct_ldv_2195_14 {
202 u16 limit0 ;
203 u16 base0 ;
204 unsigned char base1 ;
205 unsigned char type : 4 ;
206 unsigned char s : 1 ;
207 unsigned char dpl : 2 ;
208 unsigned char p : 1 ;
209 unsigned char limit : 4 ;
210 unsigned char avl : 1 ;
211 unsigned char l : 1 ;
212 unsigned char d : 1 ;
213 unsigned char g : 1 ;
214 unsigned char base2 ;
215};
216#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
217union __anonunion_ldv_2196_12 {
218 struct __anonstruct_ldv_2180_13 ldv_2180 ;
219 struct __anonstruct_ldv_2195_14 ldv_2195 ;
220};
221#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
222struct desc_struct {
223 union __anonunion_ldv_2196_12 ldv_2196 ;
224};
225#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
226typedef unsigned long pgdval_t;
227#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
228typedef unsigned long pgprotval_t;
229#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
230struct pgprot {
231 pgprotval_t pgprot ;
232};
233#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
234typedef struct pgprot pgprot_t;
235#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
236struct __anonstruct_pgd_t_16 {
237 pgdval_t pgd ;
238};
239#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
240typedef struct __anonstruct_pgd_t_16 pgd_t;
241#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
242typedef struct page *pgtable_t;
243#line 290
244struct file;
245#line 290
246struct file;
247#line 305
248struct seq_file;
249#line 305
250struct seq_file;
251#line 337
252struct thread_struct;
253#line 337
254struct thread_struct;
255#line 339
256struct cpumask;
257#line 339
258struct cpumask;
259#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
260struct arch_spinlock;
261#line 327
262struct arch_spinlock;
263#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
264struct kernel_vm86_regs {
265 struct pt_regs pt ;
266 unsigned short es ;
267 unsigned short __esh ;
268 unsigned short ds ;
269 unsigned short __dsh ;
270 unsigned short fs ;
271 unsigned short __fsh ;
272 unsigned short gs ;
273 unsigned short __gsh ;
274};
275#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
276union __anonunion_ldv_2824_19 {
277 struct pt_regs *regs ;
278 struct kernel_vm86_regs *vm86 ;
279};
280#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
281struct math_emu_info {
282 long ___orig_eip ;
283 union __anonunion_ldv_2824_19 ldv_2824 ;
284};
285#line 306 "include/linux/bitmap.h"
286struct bug_entry {
287 int bug_addr_disp ;
288 int file_disp ;
289 unsigned short line ;
290 unsigned short flags ;
291};
292#line 89 "include/linux/bug.h"
293struct cpumask {
294 unsigned long bits[64U] ;
295};
296#line 14 "include/linux/cpumask.h"
297typedef struct cpumask cpumask_t;
298#line 637 "include/linux/cpumask.h"
299typedef struct cpumask *cpumask_var_t;
300#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
301struct static_key;
302#line 234
303struct static_key;
304#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
305struct seq_operations;
306#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
307struct i387_fsave_struct {
308 u32 cwd ;
309 u32 swd ;
310 u32 twd ;
311 u32 fip ;
312 u32 fcs ;
313 u32 foo ;
314 u32 fos ;
315 u32 st_space[20U] ;
316 u32 status ;
317};
318#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
319struct __anonstruct_ldv_5180_24 {
320 u64 rip ;
321 u64 rdp ;
322};
323#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
324struct __anonstruct_ldv_5186_25 {
325 u32 fip ;
326 u32 fcs ;
327 u32 foo ;
328 u32 fos ;
329};
330#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
331union __anonunion_ldv_5187_23 {
332 struct __anonstruct_ldv_5180_24 ldv_5180 ;
333 struct __anonstruct_ldv_5186_25 ldv_5186 ;
334};
335#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
336union __anonunion_ldv_5196_26 {
337 u32 padding1[12U] ;
338 u32 sw_reserved[12U] ;
339};
340#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
341struct i387_fxsave_struct {
342 u16 cwd ;
343 u16 swd ;
344 u16 twd ;
345 u16 fop ;
346 union __anonunion_ldv_5187_23 ldv_5187 ;
347 u32 mxcsr ;
348 u32 mxcsr_mask ;
349 u32 st_space[32U] ;
350 u32 xmm_space[64U] ;
351 u32 padding[12U] ;
352 union __anonunion_ldv_5196_26 ldv_5196 ;
353};
354#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
355struct i387_soft_struct {
356 u32 cwd ;
357 u32 swd ;
358 u32 twd ;
359 u32 fip ;
360 u32 fcs ;
361 u32 foo ;
362 u32 fos ;
363 u32 st_space[20U] ;
364 u8 ftop ;
365 u8 changed ;
366 u8 lookahead ;
367 u8 no_update ;
368 u8 rm ;
369 u8 alimit ;
370 struct math_emu_info *info ;
371 u32 entry_eip ;
372};
373#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
374struct ymmh_struct {
375 u32 ymmh_space[64U] ;
376};
377#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
378struct xsave_hdr_struct {
379 u64 xstate_bv ;
380 u64 reserved1[2U] ;
381 u64 reserved2[5U] ;
382};
383#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
384struct xsave_struct {
385 struct i387_fxsave_struct i387 ;
386 struct xsave_hdr_struct xsave_hdr ;
387 struct ymmh_struct ymmh ;
388};
389#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
390union thread_xstate {
391 struct i387_fsave_struct fsave ;
392 struct i387_fxsave_struct fxsave ;
393 struct i387_soft_struct soft ;
394 struct xsave_struct xsave ;
395};
396#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
397struct fpu {
398 unsigned int last_cpu ;
399 unsigned int has_fpu ;
400 union thread_xstate *state ;
401};
402#line 433
403struct kmem_cache;
404#line 434
405struct perf_event;
406#line 434
407struct perf_event;
408#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
409struct thread_struct {
410 struct desc_struct tls_array[3U] ;
411 unsigned long sp0 ;
412 unsigned long sp ;
413 unsigned long usersp ;
414 unsigned short es ;
415 unsigned short ds ;
416 unsigned short fsindex ;
417 unsigned short gsindex ;
418 unsigned long fs ;
419 unsigned long gs ;
420 struct perf_event *ptrace_bps[4U] ;
421 unsigned long debugreg6 ;
422 unsigned long ptrace_dr7 ;
423 unsigned long cr2 ;
424 unsigned long trap_nr ;
425 unsigned long error_code ;
426 struct fpu fpu ;
427 unsigned long *io_bitmap_ptr ;
428 unsigned long iopl ;
429 unsigned int io_bitmap_max ;
430};
431#line 23 "include/asm-generic/atomic-long.h"
432typedef atomic64_t atomic_long_t;
433#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
434typedef u16 __ticket_t;
435#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
436typedef u32 __ticketpair_t;
437#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
438struct __raw_tickets {
439 __ticket_t head ;
440 __ticket_t tail ;
441};
442#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
443union __anonunion_ldv_5907_29 {
444 __ticketpair_t head_tail ;
445 struct __raw_tickets tickets ;
446};
447#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
448struct arch_spinlock {
449 union __anonunion_ldv_5907_29 ldv_5907 ;
450};
451#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
452typedef struct arch_spinlock arch_spinlock_t;
453#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
454struct __anonstruct_ldv_5914_31 {
455 u32 read ;
456 s32 write ;
457};
458#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
459union __anonunion_arch_rwlock_t_30 {
460 s64 lock ;
461 struct __anonstruct_ldv_5914_31 ldv_5914 ;
462};
463#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
464typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
465#line 34
466struct lockdep_map;
467#line 34
468struct lockdep_map;
469#line 55 "include/linux/debug_locks.h"
470struct stack_trace {
471 unsigned int nr_entries ;
472 unsigned int max_entries ;
473 unsigned long *entries ;
474 int skip ;
475};
476#line 26 "include/linux/stacktrace.h"
477struct lockdep_subclass_key {
478 char __one_byte ;
479};
480#line 53 "include/linux/lockdep.h"
481struct lock_class_key {
482 struct lockdep_subclass_key subkeys[8U] ;
483};
484#line 59 "include/linux/lockdep.h"
485struct lock_class {
486 struct list_head hash_entry ;
487 struct list_head lock_entry ;
488 struct lockdep_subclass_key *key ;
489 unsigned int subclass ;
490 unsigned int dep_gen_id ;
491 unsigned long usage_mask ;
492 struct stack_trace usage_traces[13U] ;
493 struct list_head locks_after ;
494 struct list_head locks_before ;
495 unsigned int version ;
496 unsigned long ops ;
497 char const *name ;
498 int name_version ;
499 unsigned long contention_point[4U] ;
500 unsigned long contending_point[4U] ;
501};
502#line 144 "include/linux/lockdep.h"
503struct lockdep_map {
504 struct lock_class_key *key ;
505 struct lock_class *class_cache[2U] ;
506 char const *name ;
507 int cpu ;
508 unsigned long ip ;
509};
510#line 187 "include/linux/lockdep.h"
511struct held_lock {
512 u64 prev_chain_key ;
513 unsigned long acquire_ip ;
514 struct lockdep_map *instance ;
515 struct lockdep_map *nest_lock ;
516 u64 waittime_stamp ;
517 u64 holdtime_stamp ;
518 unsigned short class_idx : 13 ;
519 unsigned char irq_context : 2 ;
520 unsigned char trylock : 1 ;
521 unsigned char read : 2 ;
522 unsigned char check : 2 ;
523 unsigned char hardirqs_off : 1 ;
524 unsigned short references : 11 ;
525};
526#line 556 "include/linux/lockdep.h"
527struct raw_spinlock {
528 arch_spinlock_t raw_lock ;
529 unsigned int magic ;
530 unsigned int owner_cpu ;
531 void *owner ;
532 struct lockdep_map dep_map ;
533};
534#line 32 "include/linux/spinlock_types.h"
535typedef struct raw_spinlock raw_spinlock_t;
536#line 33 "include/linux/spinlock_types.h"
537struct __anonstruct_ldv_6122_33 {
538 u8 __padding[24U] ;
539 struct lockdep_map dep_map ;
540};
541#line 33 "include/linux/spinlock_types.h"
542union __anonunion_ldv_6123_32 {
543 struct raw_spinlock rlock ;
544 struct __anonstruct_ldv_6122_33 ldv_6122 ;
545};
546#line 33 "include/linux/spinlock_types.h"
547struct spinlock {
548 union __anonunion_ldv_6123_32 ldv_6123 ;
549};
550#line 76 "include/linux/spinlock_types.h"
551typedef struct spinlock spinlock_t;
552#line 23 "include/linux/rwlock_types.h"
553struct __anonstruct_rwlock_t_34 {
554 arch_rwlock_t raw_lock ;
555 unsigned int magic ;
556 unsigned int owner_cpu ;
557 void *owner ;
558 struct lockdep_map dep_map ;
559};
560#line 23 "include/linux/rwlock_types.h"
561typedef struct __anonstruct_rwlock_t_34 rwlock_t;
562#line 110 "include/linux/seqlock.h"
563struct seqcount {
564 unsigned int sequence ;
565};
566#line 121 "include/linux/seqlock.h"
567typedef struct seqcount seqcount_t;
568#line 254 "include/linux/seqlock.h"
569struct timespec {
570 __kernel_time_t tv_sec ;
571 long tv_nsec ;
572};
573#line 286 "include/linux/time.h"
574struct kstat {
575 u64 ino ;
576 dev_t dev ;
577 umode_t mode ;
578 unsigned int nlink ;
579 uid_t uid ;
580 gid_t gid ;
581 dev_t rdev ;
582 loff_t size ;
583 struct timespec atime ;
584 struct timespec mtime ;
585 struct timespec ctime ;
586 unsigned long blksize ;
587 unsigned long long blocks ;
588};
589#line 48 "include/linux/wait.h"
590struct __wait_queue_head {
591 spinlock_t lock ;
592 struct list_head task_list ;
593};
594#line 53 "include/linux/wait.h"
595typedef struct __wait_queue_head wait_queue_head_t;
596#line 98 "include/linux/nodemask.h"
597struct __anonstruct_nodemask_t_36 {
598 unsigned long bits[16U] ;
599};
600#line 98 "include/linux/nodemask.h"
601typedef struct __anonstruct_nodemask_t_36 nodemask_t;
602#line 670 "include/linux/mmzone.h"
603struct mutex {
604 atomic_t count ;
605 spinlock_t wait_lock ;
606 struct list_head wait_list ;
607 struct task_struct *owner ;
608 char const *name ;
609 void *magic ;
610 struct lockdep_map dep_map ;
611};
612#line 63 "include/linux/mutex.h"
613struct mutex_waiter {
614 struct list_head list ;
615 struct task_struct *task ;
616 void *magic ;
617};
618#line 171
619struct rw_semaphore;
620#line 171
621struct rw_semaphore;
622#line 172 "include/linux/mutex.h"
623struct rw_semaphore {
624 long count ;
625 raw_spinlock_t wait_lock ;
626 struct list_head wait_list ;
627 struct lockdep_map dep_map ;
628};
629#line 128 "include/linux/rwsem.h"
630struct completion {
631 unsigned int done ;
632 wait_queue_head_t wait ;
633};
634#line 188 "include/linux/rcupdate.h"
635struct notifier_block;
636#line 188
637struct notifier_block;
638#line 239 "include/linux/srcu.h"
639struct notifier_block {
640 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
641 struct notifier_block *next ;
642 int priority ;
643};
644#line 55 "include/linux/notifier.h"
645struct atomic_notifier_head {
646 spinlock_t lock ;
647 struct notifier_block *head ;
648};
649#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
650struct resource {
651 resource_size_t start ;
652 resource_size_t end ;
653 char const *name ;
654 unsigned long flags ;
655 struct resource *parent ;
656 struct resource *sibling ;
657 struct resource *child ;
658};
659#line 312 "include/linux/jiffies.h"
660union ktime {
661 s64 tv64 ;
662};
663#line 59 "include/linux/ktime.h"
664typedef union ktime ktime_t;
665#line 341
666struct tvec_base;
667#line 341
668struct tvec_base;
669#line 342 "include/linux/ktime.h"
670struct timer_list {
671 struct list_head entry ;
672 unsigned long expires ;
673 struct tvec_base *base ;
674 void (*function)(unsigned long ) ;
675 unsigned long data ;
676 int slack ;
677 int start_pid ;
678 void *start_site ;
679 char start_comm[16U] ;
680 struct lockdep_map lockdep_map ;
681};
682#line 289 "include/linux/timer.h"
683struct hrtimer;
684#line 289
685struct hrtimer;
686#line 290
687enum hrtimer_restart;
688#line 302
689struct work_struct;
690#line 302
691struct work_struct;
692#line 45 "include/linux/workqueue.h"
693struct work_struct {
694 atomic_long_t data ;
695 struct list_head entry ;
696 void (*func)(struct work_struct * ) ;
697 struct lockdep_map lockdep_map ;
698};
699#line 86 "include/linux/workqueue.h"
700struct delayed_work {
701 struct work_struct work ;
702 struct timer_list timer ;
703};
704#line 46 "include/linux/pm.h"
705struct pm_message {
706 int event ;
707};
708#line 52 "include/linux/pm.h"
709typedef struct pm_message pm_message_t;
710#line 53 "include/linux/pm.h"
711struct dev_pm_ops {
712 int (*prepare)(struct device * ) ;
713 void (*complete)(struct device * ) ;
714 int (*suspend)(struct device * ) ;
715 int (*resume)(struct device * ) ;
716 int (*freeze)(struct device * ) ;
717 int (*thaw)(struct device * ) ;
718 int (*poweroff)(struct device * ) ;
719 int (*restore)(struct device * ) ;
720 int (*suspend_late)(struct device * ) ;
721 int (*resume_early)(struct device * ) ;
722 int (*freeze_late)(struct device * ) ;
723 int (*thaw_early)(struct device * ) ;
724 int (*poweroff_late)(struct device * ) ;
725 int (*restore_early)(struct device * ) ;
726 int (*suspend_noirq)(struct device * ) ;
727 int (*resume_noirq)(struct device * ) ;
728 int (*freeze_noirq)(struct device * ) ;
729 int (*thaw_noirq)(struct device * ) ;
730 int (*poweroff_noirq)(struct device * ) ;
731 int (*restore_noirq)(struct device * ) ;
732 int (*runtime_suspend)(struct device * ) ;
733 int (*runtime_resume)(struct device * ) ;
734 int (*runtime_idle)(struct device * ) ;
735};
736#line 289
737enum rpm_status {
738 RPM_ACTIVE = 0,
739 RPM_RESUMING = 1,
740 RPM_SUSPENDED = 2,
741 RPM_SUSPENDING = 3
742} ;
743#line 296
744enum rpm_request {
745 RPM_REQ_NONE = 0,
746 RPM_REQ_IDLE = 1,
747 RPM_REQ_SUSPEND = 2,
748 RPM_REQ_AUTOSUSPEND = 3,
749 RPM_REQ_RESUME = 4
750} ;
751#line 304
752struct wakeup_source;
753#line 304
754struct wakeup_source;
755#line 494 "include/linux/pm.h"
756struct pm_subsys_data {
757 spinlock_t lock ;
758 unsigned int refcount ;
759};
760#line 499
761struct dev_pm_qos_request;
762#line 499
763struct pm_qos_constraints;
764#line 499 "include/linux/pm.h"
765struct dev_pm_info {
766 pm_message_t power_state ;
767 unsigned char can_wakeup : 1 ;
768 unsigned char async_suspend : 1 ;
769 bool is_prepared ;
770 bool is_suspended ;
771 bool ignore_children ;
772 spinlock_t lock ;
773 struct list_head entry ;
774 struct completion completion ;
775 struct wakeup_source *wakeup ;
776 bool wakeup_path ;
777 struct timer_list suspend_timer ;
778 unsigned long timer_expires ;
779 struct work_struct work ;
780 wait_queue_head_t wait_queue ;
781 atomic_t usage_count ;
782 atomic_t child_count ;
783 unsigned char disable_depth : 3 ;
784 unsigned char idle_notification : 1 ;
785 unsigned char request_pending : 1 ;
786 unsigned char deferred_resume : 1 ;
787 unsigned char run_wake : 1 ;
788 unsigned char runtime_auto : 1 ;
789 unsigned char no_callbacks : 1 ;
790 unsigned char irq_safe : 1 ;
791 unsigned char use_autosuspend : 1 ;
792 unsigned char timer_autosuspends : 1 ;
793 enum rpm_request request ;
794 enum rpm_status runtime_status ;
795 int runtime_error ;
796 int autosuspend_delay ;
797 unsigned long last_busy ;
798 unsigned long active_jiffies ;
799 unsigned long suspended_jiffies ;
800 unsigned long accounting_timestamp ;
801 ktime_t suspend_time ;
802 s64 max_time_suspended_ns ;
803 struct dev_pm_qos_request *pq_req ;
804 struct pm_subsys_data *subsys_data ;
805 struct pm_qos_constraints *constraints ;
806};
807#line 558 "include/linux/pm.h"
808struct dev_pm_domain {
809 struct dev_pm_ops ops ;
810};
811#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
812struct __anonstruct_mm_context_t_101 {
813 void *ldt ;
814 int size ;
815 unsigned short ia32_compat ;
816 struct mutex lock ;
817 void *vdso ;
818};
819#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
820typedef struct __anonstruct_mm_context_t_101 mm_context_t;
821#line 18 "include/asm-generic/pci_iomap.h"
822struct vm_area_struct;
823#line 18
824struct vm_area_struct;
825#line 835 "include/linux/sysctl.h"
826struct rb_node {
827 unsigned long rb_parent_color ;
828 struct rb_node *rb_right ;
829 struct rb_node *rb_left ;
830};
831#line 108 "include/linux/rbtree.h"
832struct rb_root {
833 struct rb_node *rb_node ;
834};
835#line 176
836struct nsproxy;
837#line 176
838struct nsproxy;
839#line 37 "include/linux/kmod.h"
840struct cred;
841#line 37
842struct cred;
843#line 18 "include/linux/elf.h"
844typedef __u64 Elf64_Addr;
845#line 19 "include/linux/elf.h"
846typedef __u16 Elf64_Half;
847#line 23 "include/linux/elf.h"
848typedef __u32 Elf64_Word;
849#line 24 "include/linux/elf.h"
850typedef __u64 Elf64_Xword;
851#line 193 "include/linux/elf.h"
852struct elf64_sym {
853 Elf64_Word st_name ;
854 unsigned char st_info ;
855 unsigned char st_other ;
856 Elf64_Half st_shndx ;
857 Elf64_Addr st_value ;
858 Elf64_Xword st_size ;
859};
860#line 201 "include/linux/elf.h"
861typedef struct elf64_sym Elf64_Sym;
862#line 445
863struct sock;
864#line 445
865struct sock;
866#line 446
867struct kobject;
868#line 446
869struct kobject;
870#line 447
871enum kobj_ns_type {
872 KOBJ_NS_TYPE_NONE = 0,
873 KOBJ_NS_TYPE_NET = 1,
874 KOBJ_NS_TYPES = 2
875} ;
876#line 453 "include/linux/elf.h"
877struct kobj_ns_type_operations {
878 enum kobj_ns_type type ;
879 void *(*grab_current_ns)(void) ;
880 void const *(*netlink_ns)(struct sock * ) ;
881 void const *(*initial_ns)(void) ;
882 void (*drop_ns)(void * ) ;
883};
884#line 57 "include/linux/kobject_ns.h"
885struct attribute {
886 char const *name ;
887 umode_t mode ;
888 struct lock_class_key *key ;
889 struct lock_class_key skey ;
890};
891#line 33 "include/linux/sysfs.h"
892struct attribute_group {
893 char const *name ;
894 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
895 struct attribute **attrs ;
896};
897#line 62 "include/linux/sysfs.h"
898struct bin_attribute {
899 struct attribute attr ;
900 size_t size ;
901 void *private ;
902 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
903 loff_t , size_t ) ;
904 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
905 loff_t , size_t ) ;
906 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
907};
908#line 98 "include/linux/sysfs.h"
909struct sysfs_ops {
910 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
911 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
912 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
913};
914#line 117
915struct sysfs_dirent;
916#line 117
917struct sysfs_dirent;
918#line 182 "include/linux/sysfs.h"
919struct kref {
920 atomic_t refcount ;
921};
922#line 49 "include/linux/kobject.h"
923struct kset;
924#line 49
925struct kobj_type;
926#line 49 "include/linux/kobject.h"
927struct kobject {
928 char const *name ;
929 struct list_head entry ;
930 struct kobject *parent ;
931 struct kset *kset ;
932 struct kobj_type *ktype ;
933 struct sysfs_dirent *sd ;
934 struct kref kref ;
935 unsigned char state_initialized : 1 ;
936 unsigned char state_in_sysfs : 1 ;
937 unsigned char state_add_uevent_sent : 1 ;
938 unsigned char state_remove_uevent_sent : 1 ;
939 unsigned char uevent_suppress : 1 ;
940};
941#line 107 "include/linux/kobject.h"
942struct kobj_type {
943 void (*release)(struct kobject * ) ;
944 struct sysfs_ops const *sysfs_ops ;
945 struct attribute **default_attrs ;
946 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
947 void const *(*namespace)(struct kobject * ) ;
948};
949#line 115 "include/linux/kobject.h"
950struct kobj_uevent_env {
951 char *envp[32U] ;
952 int envp_idx ;
953 char buf[2048U] ;
954 int buflen ;
955};
956#line 122 "include/linux/kobject.h"
957struct kset_uevent_ops {
958 int (* const filter)(struct kset * , struct kobject * ) ;
959 char const *(* const name)(struct kset * , struct kobject * ) ;
960 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
961};
962#line 128 "include/linux/kobject.h"
963struct kobj_attribute {
964 struct attribute attr ;
965 ssize_t (*show)(struct kobject * , struct kobj_attribute * , char * ) ;
966 ssize_t (*store)(struct kobject * , struct kobj_attribute * , char const * ,
967 size_t ) ;
968};
969#line 139 "include/linux/kobject.h"
970struct kset {
971 struct list_head list ;
972 spinlock_t list_lock ;
973 struct kobject kobj ;
974 struct kset_uevent_ops const *uevent_ops ;
975};
976#line 215
977struct kernel_param;
978#line 215
979struct kernel_param;
980#line 216 "include/linux/kobject.h"
981struct kernel_param_ops {
982 int (*set)(char const * , struct kernel_param const * ) ;
983 int (*get)(char * , struct kernel_param const * ) ;
984 void (*free)(void * ) ;
985};
986#line 49 "include/linux/moduleparam.h"
987struct kparam_string;
988#line 49
989struct kparam_array;
990#line 49 "include/linux/moduleparam.h"
991union __anonunion_ldv_13363_134 {
992 void *arg ;
993 struct kparam_string const *str ;
994 struct kparam_array const *arr ;
995};
996#line 49 "include/linux/moduleparam.h"
997struct kernel_param {
998 char const *name ;
999 struct kernel_param_ops const *ops ;
1000 u16 perm ;
1001 s16 level ;
1002 union __anonunion_ldv_13363_134 ldv_13363 ;
1003};
1004#line 61 "include/linux/moduleparam.h"
1005struct kparam_string {
1006 unsigned int maxlen ;
1007 char *string ;
1008};
1009#line 67 "include/linux/moduleparam.h"
1010struct kparam_array {
1011 unsigned int max ;
1012 unsigned int elemsize ;
1013 unsigned int *num ;
1014 struct kernel_param_ops const *ops ;
1015 void *elem ;
1016};
1017#line 458 "include/linux/moduleparam.h"
1018struct static_key {
1019 atomic_t enabled ;
1020};
1021#line 225 "include/linux/jump_label.h"
1022struct tracepoint;
1023#line 225
1024struct tracepoint;
1025#line 226 "include/linux/jump_label.h"
1026struct tracepoint_func {
1027 void *func ;
1028 void *data ;
1029};
1030#line 29 "include/linux/tracepoint.h"
1031struct tracepoint {
1032 char const *name ;
1033 struct static_key key ;
1034 void (*regfunc)(void) ;
1035 void (*unregfunc)(void) ;
1036 struct tracepoint_func *funcs ;
1037};
1038#line 86 "include/linux/tracepoint.h"
1039struct kernel_symbol {
1040 unsigned long value ;
1041 char const *name ;
1042};
1043#line 27 "include/linux/export.h"
1044struct mod_arch_specific {
1045
1046};
1047#line 34 "include/linux/module.h"
1048struct module_param_attrs;
1049#line 34 "include/linux/module.h"
1050struct module_kobject {
1051 struct kobject kobj ;
1052 struct module *mod ;
1053 struct kobject *drivers_dir ;
1054 struct module_param_attrs *mp ;
1055};
1056#line 43 "include/linux/module.h"
1057struct module_attribute {
1058 struct attribute attr ;
1059 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1060 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1061 size_t ) ;
1062 void (*setup)(struct module * , char const * ) ;
1063 int (*test)(struct module * ) ;
1064 void (*free)(struct module * ) ;
1065};
1066#line 69
1067struct exception_table_entry;
1068#line 69
1069struct exception_table_entry;
1070#line 198
1071enum module_state {
1072 MODULE_STATE_LIVE = 0,
1073 MODULE_STATE_COMING = 1,
1074 MODULE_STATE_GOING = 2
1075} ;
1076#line 204 "include/linux/module.h"
1077struct module_ref {
1078 unsigned long incs ;
1079 unsigned long decs ;
1080};
1081#line 219
1082struct module_sect_attrs;
1083#line 219
1084struct module_notes_attrs;
1085#line 219
1086struct ftrace_event_call;
1087#line 219 "include/linux/module.h"
1088struct module {
1089 enum module_state state ;
1090 struct list_head list ;
1091 char name[56U] ;
1092 struct module_kobject mkobj ;
1093 struct module_attribute *modinfo_attrs ;
1094 char const *version ;
1095 char const *srcversion ;
1096 struct kobject *holders_dir ;
1097 struct kernel_symbol const *syms ;
1098 unsigned long const *crcs ;
1099 unsigned int num_syms ;
1100 struct kernel_param *kp ;
1101 unsigned int num_kp ;
1102 unsigned int num_gpl_syms ;
1103 struct kernel_symbol const *gpl_syms ;
1104 unsigned long const *gpl_crcs ;
1105 struct kernel_symbol const *unused_syms ;
1106 unsigned long const *unused_crcs ;
1107 unsigned int num_unused_syms ;
1108 unsigned int num_unused_gpl_syms ;
1109 struct kernel_symbol const *unused_gpl_syms ;
1110 unsigned long const *unused_gpl_crcs ;
1111 struct kernel_symbol const *gpl_future_syms ;
1112 unsigned long const *gpl_future_crcs ;
1113 unsigned int num_gpl_future_syms ;
1114 unsigned int num_exentries ;
1115 struct exception_table_entry *extable ;
1116 int (*init)(void) ;
1117 void *module_init ;
1118 void *module_core ;
1119 unsigned int init_size ;
1120 unsigned int core_size ;
1121 unsigned int init_text_size ;
1122 unsigned int core_text_size ;
1123 unsigned int init_ro_size ;
1124 unsigned int core_ro_size ;
1125 struct mod_arch_specific arch ;
1126 unsigned int taints ;
1127 unsigned int num_bugs ;
1128 struct list_head bug_list ;
1129 struct bug_entry *bug_table ;
1130 Elf64_Sym *symtab ;
1131 Elf64_Sym *core_symtab ;
1132 unsigned int num_symtab ;
1133 unsigned int core_num_syms ;
1134 char *strtab ;
1135 char *core_strtab ;
1136 struct module_sect_attrs *sect_attrs ;
1137 struct module_notes_attrs *notes_attrs ;
1138 char *args ;
1139 void *percpu ;
1140 unsigned int percpu_size ;
1141 unsigned int num_tracepoints ;
1142 struct tracepoint * const *tracepoints_ptrs ;
1143 unsigned int num_trace_bprintk_fmt ;
1144 char const **trace_bprintk_fmt_start ;
1145 struct ftrace_event_call **trace_events ;
1146 unsigned int num_trace_events ;
1147 struct list_head source_list ;
1148 struct list_head target_list ;
1149 struct task_struct *waiter ;
1150 void (*exit)(void) ;
1151 struct module_ref *refptr ;
1152 ctor_fn_t (**ctors)(void) ;
1153 unsigned int num_ctors ;
1154};
1155#line 88 "include/linux/kmemleak.h"
1156struct kmem_cache_cpu {
1157 void **freelist ;
1158 unsigned long tid ;
1159 struct page *page ;
1160 struct page *partial ;
1161 int node ;
1162 unsigned int stat[26U] ;
1163};
1164#line 55 "include/linux/slub_def.h"
1165struct kmem_cache_node {
1166 spinlock_t list_lock ;
1167 unsigned long nr_partial ;
1168 struct list_head partial ;
1169 atomic_long_t nr_slabs ;
1170 atomic_long_t total_objects ;
1171 struct list_head full ;
1172};
1173#line 66 "include/linux/slub_def.h"
1174struct kmem_cache_order_objects {
1175 unsigned long x ;
1176};
1177#line 76 "include/linux/slub_def.h"
1178struct kmem_cache {
1179 struct kmem_cache_cpu *cpu_slab ;
1180 unsigned long flags ;
1181 unsigned long min_partial ;
1182 int size ;
1183 int objsize ;
1184 int offset ;
1185 int cpu_partial ;
1186 struct kmem_cache_order_objects oo ;
1187 struct kmem_cache_order_objects max ;
1188 struct kmem_cache_order_objects min ;
1189 gfp_t allocflags ;
1190 int refcount ;
1191 void (*ctor)(void * ) ;
1192 int inuse ;
1193 int align ;
1194 int reserved ;
1195 char const *name ;
1196 struct list_head list ;
1197 struct kobject kobj ;
1198 int remote_node_defrag_ratio ;
1199 struct kmem_cache_node *node[1024U] ;
1200};
1201#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
1202struct klist_node;
1203#line 15
1204struct klist_node;
1205#line 37 "include/linux/klist.h"
1206struct klist_node {
1207 void *n_klist ;
1208 struct list_head n_node ;
1209 struct kref n_ref ;
1210};
1211#line 67
1212struct dma_map_ops;
1213#line 67 "include/linux/klist.h"
1214struct dev_archdata {
1215 void *acpi_handle ;
1216 struct dma_map_ops *dma_ops ;
1217 void *iommu ;
1218};
1219#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1220struct pdev_archdata {
1221
1222};
1223#line 17
1224struct device_private;
1225#line 17
1226struct device_private;
1227#line 18
1228struct device_driver;
1229#line 18
1230struct device_driver;
1231#line 19
1232struct driver_private;
1233#line 19
1234struct driver_private;
1235#line 20
1236struct class;
1237#line 20
1238struct class;
1239#line 21
1240struct subsys_private;
1241#line 21
1242struct subsys_private;
1243#line 22
1244struct bus_type;
1245#line 22
1246struct bus_type;
1247#line 23
1248struct device_node;
1249#line 23
1250struct device_node;
1251#line 24
1252struct iommu_ops;
1253#line 24
1254struct iommu_ops;
1255#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1256struct bus_attribute {
1257 struct attribute attr ;
1258 ssize_t (*show)(struct bus_type * , char * ) ;
1259 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1260};
1261#line 51 "include/linux/device.h"
1262struct device_attribute;
1263#line 51
1264struct driver_attribute;
1265#line 51 "include/linux/device.h"
1266struct bus_type {
1267 char const *name ;
1268 char const *dev_name ;
1269 struct device *dev_root ;
1270 struct bus_attribute *bus_attrs ;
1271 struct device_attribute *dev_attrs ;
1272 struct driver_attribute *drv_attrs ;
1273 int (*match)(struct device * , struct device_driver * ) ;
1274 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1275 int (*probe)(struct device * ) ;
1276 int (*remove)(struct device * ) ;
1277 void (*shutdown)(struct device * ) ;
1278 int (*suspend)(struct device * , pm_message_t ) ;
1279 int (*resume)(struct device * ) ;
1280 struct dev_pm_ops const *pm ;
1281 struct iommu_ops *iommu_ops ;
1282 struct subsys_private *p ;
1283};
1284#line 125
1285struct device_type;
1286#line 182
1287struct of_device_id;
1288#line 182 "include/linux/device.h"
1289struct device_driver {
1290 char const *name ;
1291 struct bus_type *bus ;
1292 struct module *owner ;
1293 char const *mod_name ;
1294 bool suppress_bind_attrs ;
1295 struct of_device_id const *of_match_table ;
1296 int (*probe)(struct device * ) ;
1297 int (*remove)(struct device * ) ;
1298 void (*shutdown)(struct device * ) ;
1299 int (*suspend)(struct device * , pm_message_t ) ;
1300 int (*resume)(struct device * ) ;
1301 struct attribute_group const **groups ;
1302 struct dev_pm_ops const *pm ;
1303 struct driver_private *p ;
1304};
1305#line 245 "include/linux/device.h"
1306struct driver_attribute {
1307 struct attribute attr ;
1308 ssize_t (*show)(struct device_driver * , char * ) ;
1309 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1310};
1311#line 299
1312struct class_attribute;
1313#line 299 "include/linux/device.h"
1314struct class {
1315 char const *name ;
1316 struct module *owner ;
1317 struct class_attribute *class_attrs ;
1318 struct device_attribute *dev_attrs ;
1319 struct bin_attribute *dev_bin_attrs ;
1320 struct kobject *dev_kobj ;
1321 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1322 char *(*devnode)(struct device * , umode_t * ) ;
1323 void (*class_release)(struct class * ) ;
1324 void (*dev_release)(struct device * ) ;
1325 int (*suspend)(struct device * , pm_message_t ) ;
1326 int (*resume)(struct device * ) ;
1327 struct kobj_ns_type_operations const *ns_type ;
1328 void const *(*namespace)(struct device * ) ;
1329 struct dev_pm_ops const *pm ;
1330 struct subsys_private *p ;
1331};
1332#line 394 "include/linux/device.h"
1333struct class_attribute {
1334 struct attribute attr ;
1335 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1336 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1337 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1338};
1339#line 447 "include/linux/device.h"
1340struct device_type {
1341 char const *name ;
1342 struct attribute_group const **groups ;
1343 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1344 char *(*devnode)(struct device * , umode_t * ) ;
1345 void (*release)(struct device * ) ;
1346 struct dev_pm_ops const *pm ;
1347};
1348#line 474 "include/linux/device.h"
1349struct device_attribute {
1350 struct attribute attr ;
1351 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1352 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1353 size_t ) ;
1354};
1355#line 557 "include/linux/device.h"
1356struct device_dma_parameters {
1357 unsigned int max_segment_size ;
1358 unsigned long segment_boundary_mask ;
1359};
1360#line 567
1361struct dma_coherent_mem;
1362#line 567 "include/linux/device.h"
1363struct device {
1364 struct device *parent ;
1365 struct device_private *p ;
1366 struct kobject kobj ;
1367 char const *init_name ;
1368 struct device_type const *type ;
1369 struct mutex mutex ;
1370 struct bus_type *bus ;
1371 struct device_driver *driver ;
1372 void *platform_data ;
1373 struct dev_pm_info power ;
1374 struct dev_pm_domain *pm_domain ;
1375 int numa_node ;
1376 u64 *dma_mask ;
1377 u64 coherent_dma_mask ;
1378 struct device_dma_parameters *dma_parms ;
1379 struct list_head dma_pools ;
1380 struct dma_coherent_mem *dma_mem ;
1381 struct dev_archdata archdata ;
1382 struct device_node *of_node ;
1383 dev_t devt ;
1384 u32 id ;
1385 spinlock_t devres_lock ;
1386 struct list_head devres_head ;
1387 struct klist_node knode_class ;
1388 struct class *class ;
1389 struct attribute_group const **groups ;
1390 void (*release)(struct device * ) ;
1391};
1392#line 681 "include/linux/device.h"
1393struct wakeup_source {
1394 char const *name ;
1395 struct list_head entry ;
1396 spinlock_t lock ;
1397 struct timer_list timer ;
1398 unsigned long timer_expires ;
1399 ktime_t total_time ;
1400 ktime_t max_time ;
1401 ktime_t last_time ;
1402 unsigned long event_count ;
1403 unsigned long active_count ;
1404 unsigned long relax_count ;
1405 unsigned long hit_count ;
1406 unsigned char active : 1 ;
1407};
1408#line 12 "include/linux/mod_devicetable.h"
1409typedef unsigned long kernel_ulong_t;
1410#line 215 "include/linux/mod_devicetable.h"
1411struct of_device_id {
1412 char name[32U] ;
1413 char type[32U] ;
1414 char compatible[128U] ;
1415 void *data ;
1416};
1417#line 469 "include/linux/mod_devicetable.h"
1418struct dmi_strmatch {
1419 unsigned char slot ;
1420 char substr[79U] ;
1421};
1422#line 476 "include/linux/mod_devicetable.h"
1423struct dmi_system_id {
1424 int (*callback)(struct dmi_system_id const * ) ;
1425 char const *ident ;
1426 struct dmi_strmatch matches[4U] ;
1427 void *driver_data ;
1428};
1429#line 492 "include/linux/mod_devicetable.h"
1430struct platform_device_id {
1431 char name[20U] ;
1432 kernel_ulong_t driver_data ;
1433};
1434#line 584
1435struct mfd_cell;
1436#line 584
1437struct mfd_cell;
1438#line 585 "include/linux/mod_devicetable.h"
1439struct platform_device {
1440 char const *name ;
1441 int id ;
1442 struct device dev ;
1443 u32 num_resources ;
1444 struct resource *resource ;
1445 struct platform_device_id const *id_entry ;
1446 struct mfd_cell *mfd_cell ;
1447 struct pdev_archdata archdata ;
1448};
1449#line 51 "include/linux/platform_device.h"
1450struct platform_device_info {
1451 struct device *parent ;
1452 char const *name ;
1453 int id ;
1454 struct resource const *res ;
1455 unsigned int num_res ;
1456 void const *data ;
1457 size_t size_data ;
1458 u64 dma_mask ;
1459};
1460#line 280 "include/linux/platform_device.h"
1461struct dma_attrs {
1462 unsigned long flags[1U] ;
1463};
1464#line 67 "include/linux/dma-attrs.h"
1465enum dma_data_direction {
1466 DMA_BIDIRECTIONAL = 0,
1467 DMA_TO_DEVICE = 1,
1468 DMA_FROM_DEVICE = 2,
1469 DMA_NONE = 3
1470} ;
1471#line 74
1472struct prio_tree_node;
1473#line 74 "include/linux/dma-attrs.h"
1474struct raw_prio_tree_node {
1475 struct prio_tree_node *left ;
1476 struct prio_tree_node *right ;
1477 struct prio_tree_node *parent ;
1478};
1479#line 19 "include/linux/prio_tree.h"
1480struct prio_tree_node {
1481 struct prio_tree_node *left ;
1482 struct prio_tree_node *right ;
1483 struct prio_tree_node *parent ;
1484 unsigned long start ;
1485 unsigned long last ;
1486};
1487#line 27 "include/linux/prio_tree.h"
1488struct prio_tree_root {
1489 struct prio_tree_node *prio_tree_node ;
1490 unsigned short index_bits ;
1491 unsigned short raw ;
1492};
1493#line 116
1494struct address_space;
1495#line 116
1496struct address_space;
1497#line 117 "include/linux/prio_tree.h"
1498union __anonunion_ldv_15355_137 {
1499 unsigned long index ;
1500 void *freelist ;
1501};
1502#line 117 "include/linux/prio_tree.h"
1503struct __anonstruct_ldv_15365_141 {
1504 unsigned short inuse ;
1505 unsigned short objects : 15 ;
1506 unsigned char frozen : 1 ;
1507};
1508#line 117 "include/linux/prio_tree.h"
1509union __anonunion_ldv_15366_140 {
1510 atomic_t _mapcount ;
1511 struct __anonstruct_ldv_15365_141 ldv_15365 ;
1512};
1513#line 117 "include/linux/prio_tree.h"
1514struct __anonstruct_ldv_15368_139 {
1515 union __anonunion_ldv_15366_140 ldv_15366 ;
1516 atomic_t _count ;
1517};
1518#line 117 "include/linux/prio_tree.h"
1519union __anonunion_ldv_15369_138 {
1520 unsigned long counters ;
1521 struct __anonstruct_ldv_15368_139 ldv_15368 ;
1522};
1523#line 117 "include/linux/prio_tree.h"
1524struct __anonstruct_ldv_15370_136 {
1525 union __anonunion_ldv_15355_137 ldv_15355 ;
1526 union __anonunion_ldv_15369_138 ldv_15369 ;
1527};
1528#line 117 "include/linux/prio_tree.h"
1529struct __anonstruct_ldv_15377_143 {
1530 struct page *next ;
1531 int pages ;
1532 int pobjects ;
1533};
1534#line 117 "include/linux/prio_tree.h"
1535union __anonunion_ldv_15378_142 {
1536 struct list_head lru ;
1537 struct __anonstruct_ldv_15377_143 ldv_15377 ;
1538};
1539#line 117 "include/linux/prio_tree.h"
1540union __anonunion_ldv_15383_144 {
1541 unsigned long private ;
1542 struct kmem_cache *slab ;
1543 struct page *first_page ;
1544};
1545#line 117 "include/linux/prio_tree.h"
1546struct page {
1547 unsigned long flags ;
1548 struct address_space *mapping ;
1549 struct __anonstruct_ldv_15370_136 ldv_15370 ;
1550 union __anonunion_ldv_15378_142 ldv_15378 ;
1551 union __anonunion_ldv_15383_144 ldv_15383 ;
1552 unsigned long debug_flags ;
1553};
1554#line 192 "include/linux/mm_types.h"
1555struct __anonstruct_vm_set_146 {
1556 struct list_head list ;
1557 void *parent ;
1558 struct vm_area_struct *head ;
1559};
1560#line 192 "include/linux/mm_types.h"
1561union __anonunion_shared_145 {
1562 struct __anonstruct_vm_set_146 vm_set ;
1563 struct raw_prio_tree_node prio_tree_node ;
1564};
1565#line 192
1566struct anon_vma;
1567#line 192
1568struct vm_operations_struct;
1569#line 192
1570struct mempolicy;
1571#line 192 "include/linux/mm_types.h"
1572struct vm_area_struct {
1573 struct mm_struct *vm_mm ;
1574 unsigned long vm_start ;
1575 unsigned long vm_end ;
1576 struct vm_area_struct *vm_next ;
1577 struct vm_area_struct *vm_prev ;
1578 pgprot_t vm_page_prot ;
1579 unsigned long vm_flags ;
1580 struct rb_node vm_rb ;
1581 union __anonunion_shared_145 shared ;
1582 struct list_head anon_vma_chain ;
1583 struct anon_vma *anon_vma ;
1584 struct vm_operations_struct const *vm_ops ;
1585 unsigned long vm_pgoff ;
1586 struct file *vm_file ;
1587 void *vm_private_data ;
1588 struct mempolicy *vm_policy ;
1589};
1590#line 255 "include/linux/mm_types.h"
1591struct core_thread {
1592 struct task_struct *task ;
1593 struct core_thread *next ;
1594};
1595#line 261 "include/linux/mm_types.h"
1596struct core_state {
1597 atomic_t nr_threads ;
1598 struct core_thread dumper ;
1599 struct completion startup ;
1600};
1601#line 274 "include/linux/mm_types.h"
1602struct mm_rss_stat {
1603 atomic_long_t count[3U] ;
1604};
1605#line 287
1606struct linux_binfmt;
1607#line 287
1608struct mmu_notifier_mm;
1609#line 287 "include/linux/mm_types.h"
1610struct mm_struct {
1611 struct vm_area_struct *mmap ;
1612 struct rb_root mm_rb ;
1613 struct vm_area_struct *mmap_cache ;
1614 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1615 unsigned long , unsigned long ) ;
1616 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1617 unsigned long mmap_base ;
1618 unsigned long task_size ;
1619 unsigned long cached_hole_size ;
1620 unsigned long free_area_cache ;
1621 pgd_t *pgd ;
1622 atomic_t mm_users ;
1623 atomic_t mm_count ;
1624 int map_count ;
1625 spinlock_t page_table_lock ;
1626 struct rw_semaphore mmap_sem ;
1627 struct list_head mmlist ;
1628 unsigned long hiwater_rss ;
1629 unsigned long hiwater_vm ;
1630 unsigned long total_vm ;
1631 unsigned long locked_vm ;
1632 unsigned long pinned_vm ;
1633 unsigned long shared_vm ;
1634 unsigned long exec_vm ;
1635 unsigned long stack_vm ;
1636 unsigned long reserved_vm ;
1637 unsigned long def_flags ;
1638 unsigned long nr_ptes ;
1639 unsigned long start_code ;
1640 unsigned long end_code ;
1641 unsigned long start_data ;
1642 unsigned long end_data ;
1643 unsigned long start_brk ;
1644 unsigned long brk ;
1645 unsigned long start_stack ;
1646 unsigned long arg_start ;
1647 unsigned long arg_end ;
1648 unsigned long env_start ;
1649 unsigned long env_end ;
1650 unsigned long saved_auxv[44U] ;
1651 struct mm_rss_stat rss_stat ;
1652 struct linux_binfmt *binfmt ;
1653 cpumask_var_t cpu_vm_mask_var ;
1654 mm_context_t context ;
1655 unsigned int faultstamp ;
1656 unsigned int token_priority ;
1657 unsigned int last_interval ;
1658 unsigned long flags ;
1659 struct core_state *core_state ;
1660 spinlock_t ioctx_lock ;
1661 struct hlist_head ioctx_list ;
1662 struct task_struct *owner ;
1663 struct file *exe_file ;
1664 unsigned long num_exe_file_vmas ;
1665 struct mmu_notifier_mm *mmu_notifier_mm ;
1666 pgtable_t pmd_huge_pte ;
1667 struct cpumask cpumask_allocation ;
1668};
1669#line 93 "include/linux/bit_spinlock.h"
1670struct shrink_control {
1671 gfp_t gfp_mask ;
1672 unsigned long nr_to_scan ;
1673};
1674#line 14 "include/linux/shrinker.h"
1675struct shrinker {
1676 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1677 int seeks ;
1678 long batch ;
1679 struct list_head list ;
1680 atomic_long_t nr_in_batch ;
1681};
1682#line 43
1683struct file_ra_state;
1684#line 43
1685struct file_ra_state;
1686#line 44
1687struct user_struct;
1688#line 44
1689struct user_struct;
1690#line 45
1691struct writeback_control;
1692#line 45
1693struct writeback_control;
1694#line 178 "include/linux/mm.h"
1695struct vm_fault {
1696 unsigned int flags ;
1697 unsigned long pgoff ;
1698 void *virtual_address ;
1699 struct page *page ;
1700};
1701#line 195 "include/linux/mm.h"
1702struct vm_operations_struct {
1703 void (*open)(struct vm_area_struct * ) ;
1704 void (*close)(struct vm_area_struct * ) ;
1705 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
1706 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
1707 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
1708 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
1709 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
1710 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
1711 unsigned long ) ;
1712};
1713#line 244
1714struct inode;
1715#line 244
1716struct inode;
1717#line 1631 "include/linux/mm.h"
1718struct scatterlist {
1719 unsigned long sg_magic ;
1720 unsigned long page_link ;
1721 unsigned int offset ;
1722 unsigned int length ;
1723 dma_addr_t dma_address ;
1724 unsigned int dma_length ;
1725};
1726#line 268 "include/linux/scatterlist.h"
1727struct dma_map_ops {
1728 void *(*alloc)(struct device * , size_t , dma_addr_t * , gfp_t , struct dma_attrs * ) ;
1729 void (*free)(struct device * , size_t , void * , dma_addr_t , struct dma_attrs * ) ;
1730 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
1731 size_t , struct dma_attrs * ) ;
1732 dma_addr_t (*map_page)(struct device * , struct page * , unsigned long , size_t ,
1733 enum dma_data_direction , struct dma_attrs * ) ;
1734 void (*unmap_page)(struct device * , dma_addr_t , size_t , enum dma_data_direction ,
1735 struct dma_attrs * ) ;
1736 int (*map_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1737 struct dma_attrs * ) ;
1738 void (*unmap_sg)(struct device * , struct scatterlist * , int , enum dma_data_direction ,
1739 struct dma_attrs * ) ;
1740 void (*sync_single_for_cpu)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1741 void (*sync_single_for_device)(struct device * , dma_addr_t , size_t , enum dma_data_direction ) ;
1742 void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1743 void (*sync_sg_for_device)(struct device * , struct scatterlist * , int , enum dma_data_direction ) ;
1744 int (*mapping_error)(struct device * , dma_addr_t ) ;
1745 int (*dma_supported)(struct device * , u64 ) ;
1746 int (*set_dma_mask)(struct device * , u64 ) ;
1747 int is_phys ;
1748};
1749#line 17 "include/linux/dmapool.h"
1750struct dma_pool;
1751#line 40
1752struct block_device;
1753#line 40
1754struct block_device;
1755#line 427 "include/linux/rculist.h"
1756struct hlist_bl_node;
1757#line 427 "include/linux/rculist.h"
1758struct hlist_bl_head {
1759 struct hlist_bl_node *first ;
1760};
1761#line 36 "include/linux/list_bl.h"
1762struct hlist_bl_node {
1763 struct hlist_bl_node *next ;
1764 struct hlist_bl_node **pprev ;
1765};
1766#line 114 "include/linux/rculist_bl.h"
1767struct nameidata;
1768#line 114
1769struct nameidata;
1770#line 115
1771struct path;
1772#line 115
1773struct path;
1774#line 116
1775struct vfsmount;
1776#line 116
1777struct vfsmount;
1778#line 117 "include/linux/rculist_bl.h"
1779struct qstr {
1780 unsigned int hash ;
1781 unsigned int len ;
1782 unsigned char const *name ;
1783};
1784#line 72 "include/linux/dcache.h"
1785struct dentry_operations;
1786#line 72
1787struct super_block;
1788#line 72 "include/linux/dcache.h"
1789union __anonunion_d_u_147 {
1790 struct list_head d_child ;
1791 struct rcu_head d_rcu ;
1792};
1793#line 72 "include/linux/dcache.h"
1794struct dentry {
1795 unsigned int d_flags ;
1796 seqcount_t d_seq ;
1797 struct hlist_bl_node d_hash ;
1798 struct dentry *d_parent ;
1799 struct qstr d_name ;
1800 struct inode *d_inode ;
1801 unsigned char d_iname[32U] ;
1802 unsigned int d_count ;
1803 spinlock_t d_lock ;
1804 struct dentry_operations const *d_op ;
1805 struct super_block *d_sb ;
1806 unsigned long d_time ;
1807 void *d_fsdata ;
1808 struct list_head d_lru ;
1809 union __anonunion_d_u_147 d_u ;
1810 struct list_head d_subdirs ;
1811 struct list_head d_alias ;
1812};
1813#line 123 "include/linux/dcache.h"
1814struct dentry_operations {
1815 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1816 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1817 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1818 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1819 int (*d_delete)(struct dentry const * ) ;
1820 void (*d_release)(struct dentry * ) ;
1821 void (*d_prune)(struct dentry * ) ;
1822 void (*d_iput)(struct dentry * , struct inode * ) ;
1823 char *(*d_dname)(struct dentry * , char * , int ) ;
1824 struct vfsmount *(*d_automount)(struct path * ) ;
1825 int (*d_manage)(struct dentry * , bool ) ;
1826};
1827#line 402 "include/linux/dcache.h"
1828struct path {
1829 struct vfsmount *mnt ;
1830 struct dentry *dentry ;
1831};
1832#line 58 "include/linux/radix-tree.h"
1833struct radix_tree_node;
1834#line 58 "include/linux/radix-tree.h"
1835struct radix_tree_root {
1836 unsigned int height ;
1837 gfp_t gfp_mask ;
1838 struct radix_tree_node *rnode ;
1839};
1840#line 377
1841enum pid_type {
1842 PIDTYPE_PID = 0,
1843 PIDTYPE_PGID = 1,
1844 PIDTYPE_SID = 2,
1845 PIDTYPE_MAX = 3
1846} ;
1847#line 384
1848struct pid_namespace;
1849#line 384 "include/linux/radix-tree.h"
1850struct upid {
1851 int nr ;
1852 struct pid_namespace *ns ;
1853 struct hlist_node pid_chain ;
1854};
1855#line 56 "include/linux/pid.h"
1856struct pid {
1857 atomic_t count ;
1858 unsigned int level ;
1859 struct hlist_head tasks[3U] ;
1860 struct rcu_head rcu ;
1861 struct upid numbers[1U] ;
1862};
1863#line 68 "include/linux/pid.h"
1864struct pid_link {
1865 struct hlist_node node ;
1866 struct pid *pid ;
1867};
1868#line 93 "include/linux/capability.h"
1869struct kernel_cap_struct {
1870 __u32 cap[2U] ;
1871};
1872#line 96 "include/linux/capability.h"
1873typedef struct kernel_cap_struct kernel_cap_t;
1874#line 104
1875struct user_namespace;
1876#line 104
1877struct user_namespace;
1878#line 45 "include/linux/semaphore.h"
1879struct fiemap_extent {
1880 __u64 fe_logical ;
1881 __u64 fe_physical ;
1882 __u64 fe_length ;
1883 __u64 fe_reserved64[2U] ;
1884 __u32 fe_flags ;
1885 __u32 fe_reserved[3U] ;
1886};
1887#line 38 "include/linux/fiemap.h"
1888enum migrate_mode {
1889 MIGRATE_ASYNC = 0,
1890 MIGRATE_SYNC_LIGHT = 1,
1891 MIGRATE_SYNC = 2
1892} ;
1893#line 44
1894struct export_operations;
1895#line 44
1896struct export_operations;
1897#line 46
1898struct iovec;
1899#line 46
1900struct iovec;
1901#line 47
1902struct kiocb;
1903#line 47
1904struct kiocb;
1905#line 48
1906struct pipe_inode_info;
1907#line 48
1908struct pipe_inode_info;
1909#line 49
1910struct poll_table_struct;
1911#line 49
1912struct poll_table_struct;
1913#line 50
1914struct kstatfs;
1915#line 50
1916struct kstatfs;
1917#line 435 "include/linux/fs.h"
1918struct iattr {
1919 unsigned int ia_valid ;
1920 umode_t ia_mode ;
1921 uid_t ia_uid ;
1922 gid_t ia_gid ;
1923 loff_t ia_size ;
1924 struct timespec ia_atime ;
1925 struct timespec ia_mtime ;
1926 struct timespec ia_ctime ;
1927 struct file *ia_file ;
1928};
1929#line 119 "include/linux/quota.h"
1930struct if_dqinfo {
1931 __u64 dqi_bgrace ;
1932 __u64 dqi_igrace ;
1933 __u32 dqi_flags ;
1934 __u32 dqi_valid ;
1935};
1936#line 176 "include/linux/percpu_counter.h"
1937struct fs_disk_quota {
1938 __s8 d_version ;
1939 __s8 d_flags ;
1940 __u16 d_fieldmask ;
1941 __u32 d_id ;
1942 __u64 d_blk_hardlimit ;
1943 __u64 d_blk_softlimit ;
1944 __u64 d_ino_hardlimit ;
1945 __u64 d_ino_softlimit ;
1946 __u64 d_bcount ;
1947 __u64 d_icount ;
1948 __s32 d_itimer ;
1949 __s32 d_btimer ;
1950 __u16 d_iwarns ;
1951 __u16 d_bwarns ;
1952 __s32 d_padding2 ;
1953 __u64 d_rtb_hardlimit ;
1954 __u64 d_rtb_softlimit ;
1955 __u64 d_rtbcount ;
1956 __s32 d_rtbtimer ;
1957 __u16 d_rtbwarns ;
1958 __s16 d_padding3 ;
1959 char d_padding4[8U] ;
1960};
1961#line 75 "include/linux/dqblk_xfs.h"
1962struct fs_qfilestat {
1963 __u64 qfs_ino ;
1964 __u64 qfs_nblks ;
1965 __u32 qfs_nextents ;
1966};
1967#line 150 "include/linux/dqblk_xfs.h"
1968typedef struct fs_qfilestat fs_qfilestat_t;
1969#line 151 "include/linux/dqblk_xfs.h"
1970struct fs_quota_stat {
1971 __s8 qs_version ;
1972 __u16 qs_flags ;
1973 __s8 qs_pad ;
1974 fs_qfilestat_t qs_uquota ;
1975 fs_qfilestat_t qs_gquota ;
1976 __u32 qs_incoredqs ;
1977 __s32 qs_btimelimit ;
1978 __s32 qs_itimelimit ;
1979 __s32 qs_rtbtimelimit ;
1980 __u16 qs_bwarnlimit ;
1981 __u16 qs_iwarnlimit ;
1982};
1983#line 165
1984struct dquot;
1985#line 165
1986struct dquot;
1987#line 185 "include/linux/quota.h"
1988typedef __kernel_uid32_t qid_t;
1989#line 186 "include/linux/quota.h"
1990typedef long long qsize_t;
1991#line 189 "include/linux/quota.h"
1992struct mem_dqblk {
1993 qsize_t dqb_bhardlimit ;
1994 qsize_t dqb_bsoftlimit ;
1995 qsize_t dqb_curspace ;
1996 qsize_t dqb_rsvspace ;
1997 qsize_t dqb_ihardlimit ;
1998 qsize_t dqb_isoftlimit ;
1999 qsize_t dqb_curinodes ;
2000 time_t dqb_btime ;
2001 time_t dqb_itime ;
2002};
2003#line 211
2004struct quota_format_type;
2005#line 211
2006struct quota_format_type;
2007#line 212 "include/linux/quota.h"
2008struct mem_dqinfo {
2009 struct quota_format_type *dqi_format ;
2010 int dqi_fmt_id ;
2011 struct list_head dqi_dirty_list ;
2012 unsigned long dqi_flags ;
2013 unsigned int dqi_bgrace ;
2014 unsigned int dqi_igrace ;
2015 qsize_t dqi_maxblimit ;
2016 qsize_t dqi_maxilimit ;
2017 void *dqi_priv ;
2018};
2019#line 275 "include/linux/quota.h"
2020struct dquot {
2021 struct hlist_node dq_hash ;
2022 struct list_head dq_inuse ;
2023 struct list_head dq_free ;
2024 struct list_head dq_dirty ;
2025 struct mutex dq_lock ;
2026 atomic_t dq_count ;
2027 wait_queue_head_t dq_wait_unused ;
2028 struct super_block *dq_sb ;
2029 unsigned int dq_id ;
2030 loff_t dq_off ;
2031 unsigned long dq_flags ;
2032 short dq_type ;
2033 struct mem_dqblk dq_dqb ;
2034};
2035#line 303 "include/linux/quota.h"
2036struct quota_format_ops {
2037 int (*check_quota_file)(struct super_block * , int ) ;
2038 int (*read_file_info)(struct super_block * , int ) ;
2039 int (*write_file_info)(struct super_block * , int ) ;
2040 int (*free_file_info)(struct super_block * , int ) ;
2041 int (*read_dqblk)(struct dquot * ) ;
2042 int (*commit_dqblk)(struct dquot * ) ;
2043 int (*release_dqblk)(struct dquot * ) ;
2044};
2045#line 314 "include/linux/quota.h"
2046struct dquot_operations {
2047 int (*write_dquot)(struct dquot * ) ;
2048 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
2049 void (*destroy_dquot)(struct dquot * ) ;
2050 int (*acquire_dquot)(struct dquot * ) ;
2051 int (*release_dquot)(struct dquot * ) ;
2052 int (*mark_dirty)(struct dquot * ) ;
2053 int (*write_info)(struct super_block * , int ) ;
2054 qsize_t *(*get_reserved_space)(struct inode * ) ;
2055};
2056#line 328 "include/linux/quota.h"
2057struct quotactl_ops {
2058 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
2059 int (*quota_on_meta)(struct super_block * , int , int ) ;
2060 int (*quota_off)(struct super_block * , int ) ;
2061 int (*quota_sync)(struct super_block * , int , int ) ;
2062 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
2063 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
2064 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2065 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2066 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2067 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
2068};
2069#line 344 "include/linux/quota.h"
2070struct quota_format_type {
2071 int qf_fmt_id ;
2072 struct quota_format_ops const *qf_ops ;
2073 struct module *qf_owner ;
2074 struct quota_format_type *qf_next ;
2075};
2076#line 390 "include/linux/quota.h"
2077struct quota_info {
2078 unsigned int flags ;
2079 struct mutex dqio_mutex ;
2080 struct mutex dqonoff_mutex ;
2081 struct rw_semaphore dqptr_sem ;
2082 struct inode *files[2U] ;
2083 struct mem_dqinfo info[2U] ;
2084 struct quota_format_ops const *ops[2U] ;
2085};
2086#line 585 "include/linux/fs.h"
2087union __anonunion_arg_150 {
2088 char *buf ;
2089 void *data ;
2090};
2091#line 585 "include/linux/fs.h"
2092struct __anonstruct_read_descriptor_t_149 {
2093 size_t written ;
2094 size_t count ;
2095 union __anonunion_arg_150 arg ;
2096 int error ;
2097};
2098#line 585 "include/linux/fs.h"
2099typedef struct __anonstruct_read_descriptor_t_149 read_descriptor_t;
2100#line 588 "include/linux/fs.h"
2101struct address_space_operations {
2102 int (*writepage)(struct page * , struct writeback_control * ) ;
2103 int (*readpage)(struct file * , struct page * ) ;
2104 int (*writepages)(struct address_space * , struct writeback_control * ) ;
2105 int (*set_page_dirty)(struct page * ) ;
2106 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
2107 unsigned int ) ;
2108 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
2109 unsigned int , struct page ** , void ** ) ;
2110 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
2111 unsigned int , struct page * , void * ) ;
2112 sector_t (*bmap)(struct address_space * , sector_t ) ;
2113 void (*invalidatepage)(struct page * , unsigned long ) ;
2114 int (*releasepage)(struct page * , gfp_t ) ;
2115 void (*freepage)(struct page * ) ;
2116 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
2117 unsigned long ) ;
2118 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
2119 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
2120 int (*launder_page)(struct page * ) ;
2121 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
2122 int (*error_remove_page)(struct address_space * , struct page * ) ;
2123};
2124#line 642
2125struct backing_dev_info;
2126#line 642
2127struct backing_dev_info;
2128#line 643 "include/linux/fs.h"
2129struct address_space {
2130 struct inode *host ;
2131 struct radix_tree_root page_tree ;
2132 spinlock_t tree_lock ;
2133 unsigned int i_mmap_writable ;
2134 struct prio_tree_root i_mmap ;
2135 struct list_head i_mmap_nonlinear ;
2136 struct mutex i_mmap_mutex ;
2137 unsigned long nrpages ;
2138 unsigned long writeback_index ;
2139 struct address_space_operations const *a_ops ;
2140 unsigned long flags ;
2141 struct backing_dev_info *backing_dev_info ;
2142 spinlock_t private_lock ;
2143 struct list_head private_list ;
2144 struct address_space *assoc_mapping ;
2145};
2146#line 664
2147struct request_queue;
2148#line 664
2149struct request_queue;
2150#line 665
2151struct hd_struct;
2152#line 665
2153struct gendisk;
2154#line 665 "include/linux/fs.h"
2155struct block_device {
2156 dev_t bd_dev ;
2157 int bd_openers ;
2158 struct inode *bd_inode ;
2159 struct super_block *bd_super ;
2160 struct mutex bd_mutex ;
2161 struct list_head bd_inodes ;
2162 void *bd_claiming ;
2163 void *bd_holder ;
2164 int bd_holders ;
2165 bool bd_write_holder ;
2166 struct list_head bd_holder_disks ;
2167 struct block_device *bd_contains ;
2168 unsigned int bd_block_size ;
2169 struct hd_struct *bd_part ;
2170 unsigned int bd_part_count ;
2171 int bd_invalidated ;
2172 struct gendisk *bd_disk ;
2173 struct request_queue *bd_queue ;
2174 struct list_head bd_list ;
2175 unsigned long bd_private ;
2176 int bd_fsfreeze_count ;
2177 struct mutex bd_fsfreeze_mutex ;
2178};
2179#line 737
2180struct posix_acl;
2181#line 737
2182struct posix_acl;
2183#line 738
2184struct inode_operations;
2185#line 738 "include/linux/fs.h"
2186union __anonunion_ldv_20169_151 {
2187 unsigned int const i_nlink ;
2188 unsigned int __i_nlink ;
2189};
2190#line 738 "include/linux/fs.h"
2191union __anonunion_ldv_20188_152 {
2192 struct list_head i_dentry ;
2193 struct rcu_head i_rcu ;
2194};
2195#line 738
2196struct file_operations;
2197#line 738
2198struct file_lock;
2199#line 738
2200struct cdev;
2201#line 738 "include/linux/fs.h"
2202union __anonunion_ldv_20206_153 {
2203 struct pipe_inode_info *i_pipe ;
2204 struct block_device *i_bdev ;
2205 struct cdev *i_cdev ;
2206};
2207#line 738 "include/linux/fs.h"
2208struct inode {
2209 umode_t i_mode ;
2210 unsigned short i_opflags ;
2211 uid_t i_uid ;
2212 gid_t i_gid ;
2213 unsigned int i_flags ;
2214 struct posix_acl *i_acl ;
2215 struct posix_acl *i_default_acl ;
2216 struct inode_operations const *i_op ;
2217 struct super_block *i_sb ;
2218 struct address_space *i_mapping ;
2219 void *i_security ;
2220 unsigned long i_ino ;
2221 union __anonunion_ldv_20169_151 ldv_20169 ;
2222 dev_t i_rdev ;
2223 struct timespec i_atime ;
2224 struct timespec i_mtime ;
2225 struct timespec i_ctime ;
2226 spinlock_t i_lock ;
2227 unsigned short i_bytes ;
2228 blkcnt_t i_blocks ;
2229 loff_t i_size ;
2230 unsigned long i_state ;
2231 struct mutex i_mutex ;
2232 unsigned long dirtied_when ;
2233 struct hlist_node i_hash ;
2234 struct list_head i_wb_list ;
2235 struct list_head i_lru ;
2236 struct list_head i_sb_list ;
2237 union __anonunion_ldv_20188_152 ldv_20188 ;
2238 atomic_t i_count ;
2239 unsigned int i_blkbits ;
2240 u64 i_version ;
2241 atomic_t i_dio_count ;
2242 atomic_t i_writecount ;
2243 struct file_operations const *i_fop ;
2244 struct file_lock *i_flock ;
2245 struct address_space i_data ;
2246 struct dquot *i_dquot[2U] ;
2247 struct list_head i_devices ;
2248 union __anonunion_ldv_20206_153 ldv_20206 ;
2249 __u32 i_generation ;
2250 __u32 i_fsnotify_mask ;
2251 struct hlist_head i_fsnotify_marks ;
2252 atomic_t i_readcount ;
2253 void *i_private ;
2254};
2255#line 941 "include/linux/fs.h"
2256struct fown_struct {
2257 rwlock_t lock ;
2258 struct pid *pid ;
2259 enum pid_type pid_type ;
2260 uid_t uid ;
2261 uid_t euid ;
2262 int signum ;
2263};
2264#line 949 "include/linux/fs.h"
2265struct file_ra_state {
2266 unsigned long start ;
2267 unsigned int size ;
2268 unsigned int async_size ;
2269 unsigned int ra_pages ;
2270 unsigned int mmap_miss ;
2271 loff_t prev_pos ;
2272};
2273#line 972 "include/linux/fs.h"
2274union __anonunion_f_u_154 {
2275 struct list_head fu_list ;
2276 struct rcu_head fu_rcuhead ;
2277};
2278#line 972 "include/linux/fs.h"
2279struct file {
2280 union __anonunion_f_u_154 f_u ;
2281 struct path f_path ;
2282 struct file_operations const *f_op ;
2283 spinlock_t f_lock ;
2284 int f_sb_list_cpu ;
2285 atomic_long_t f_count ;
2286 unsigned int f_flags ;
2287 fmode_t f_mode ;
2288 loff_t f_pos ;
2289 struct fown_struct f_owner ;
2290 struct cred const *f_cred ;
2291 struct file_ra_state f_ra ;
2292 u64 f_version ;
2293 void *f_security ;
2294 void *private_data ;
2295 struct list_head f_ep_links ;
2296 struct list_head f_tfile_llink ;
2297 struct address_space *f_mapping ;
2298 unsigned long f_mnt_write_state ;
2299};
2300#line 1111
2301struct files_struct;
2302#line 1111 "include/linux/fs.h"
2303typedef struct files_struct *fl_owner_t;
2304#line 1112 "include/linux/fs.h"
2305struct file_lock_operations {
2306 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
2307 void (*fl_release_private)(struct file_lock * ) ;
2308};
2309#line 1117 "include/linux/fs.h"
2310struct lock_manager_operations {
2311 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
2312 void (*lm_notify)(struct file_lock * ) ;
2313 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
2314 void (*lm_release_private)(struct file_lock * ) ;
2315 void (*lm_break)(struct file_lock * ) ;
2316 int (*lm_change)(struct file_lock ** , int ) ;
2317};
2318#line 1134
2319struct nlm_lockowner;
2320#line 1134
2321struct nlm_lockowner;
2322#line 1135 "include/linux/fs.h"
2323struct nfs_lock_info {
2324 u32 state ;
2325 struct nlm_lockowner *owner ;
2326 struct list_head list ;
2327};
2328#line 14 "include/linux/nfs_fs_i.h"
2329struct nfs4_lock_state;
2330#line 14
2331struct nfs4_lock_state;
2332#line 15 "include/linux/nfs_fs_i.h"
2333struct nfs4_lock_info {
2334 struct nfs4_lock_state *owner ;
2335};
2336#line 19
2337struct fasync_struct;
2338#line 19 "include/linux/nfs_fs_i.h"
2339struct __anonstruct_afs_156 {
2340 struct list_head link ;
2341 int state ;
2342};
2343#line 19 "include/linux/nfs_fs_i.h"
2344union __anonunion_fl_u_155 {
2345 struct nfs_lock_info nfs_fl ;
2346 struct nfs4_lock_info nfs4_fl ;
2347 struct __anonstruct_afs_156 afs ;
2348};
2349#line 19 "include/linux/nfs_fs_i.h"
2350struct file_lock {
2351 struct file_lock *fl_next ;
2352 struct list_head fl_link ;
2353 struct list_head fl_block ;
2354 fl_owner_t fl_owner ;
2355 unsigned int fl_flags ;
2356 unsigned char fl_type ;
2357 unsigned int fl_pid ;
2358 struct pid *fl_nspid ;
2359 wait_queue_head_t fl_wait ;
2360 struct file *fl_file ;
2361 loff_t fl_start ;
2362 loff_t fl_end ;
2363 struct fasync_struct *fl_fasync ;
2364 unsigned long fl_break_time ;
2365 unsigned long fl_downgrade_time ;
2366 struct file_lock_operations const *fl_ops ;
2367 struct lock_manager_operations const *fl_lmops ;
2368 union __anonunion_fl_u_155 fl_u ;
2369};
2370#line 1221 "include/linux/fs.h"
2371struct fasync_struct {
2372 spinlock_t fa_lock ;
2373 int magic ;
2374 int fa_fd ;
2375 struct fasync_struct *fa_next ;
2376 struct file *fa_file ;
2377 struct rcu_head fa_rcu ;
2378};
2379#line 1417
2380struct file_system_type;
2381#line 1417
2382struct super_operations;
2383#line 1417
2384struct xattr_handler;
2385#line 1417
2386struct mtd_info;
2387#line 1417 "include/linux/fs.h"
2388struct super_block {
2389 struct list_head s_list ;
2390 dev_t s_dev ;
2391 unsigned char s_dirt ;
2392 unsigned char s_blocksize_bits ;
2393 unsigned long s_blocksize ;
2394 loff_t s_maxbytes ;
2395 struct file_system_type *s_type ;
2396 struct super_operations const *s_op ;
2397 struct dquot_operations const *dq_op ;
2398 struct quotactl_ops const *s_qcop ;
2399 struct export_operations const *s_export_op ;
2400 unsigned long s_flags ;
2401 unsigned long s_magic ;
2402 struct dentry *s_root ;
2403 struct rw_semaphore s_umount ;
2404 struct mutex s_lock ;
2405 int s_count ;
2406 atomic_t s_active ;
2407 void *s_security ;
2408 struct xattr_handler const **s_xattr ;
2409 struct list_head s_inodes ;
2410 struct hlist_bl_head s_anon ;
2411 struct list_head *s_files ;
2412 struct list_head s_mounts ;
2413 struct list_head s_dentry_lru ;
2414 int s_nr_dentry_unused ;
2415 spinlock_t s_inode_lru_lock ;
2416 struct list_head s_inode_lru ;
2417 int s_nr_inodes_unused ;
2418 struct block_device *s_bdev ;
2419 struct backing_dev_info *s_bdi ;
2420 struct mtd_info *s_mtd ;
2421 struct hlist_node s_instances ;
2422 struct quota_info s_dquot ;
2423 int s_frozen ;
2424 wait_queue_head_t s_wait_unfrozen ;
2425 char s_id[32U] ;
2426 u8 s_uuid[16U] ;
2427 void *s_fs_info ;
2428 unsigned int s_max_links ;
2429 fmode_t s_mode ;
2430 u32 s_time_gran ;
2431 struct mutex s_vfs_rename_mutex ;
2432 char *s_subtype ;
2433 char *s_options ;
2434 struct dentry_operations const *s_d_op ;
2435 int cleancache_poolid ;
2436 struct shrinker s_shrink ;
2437 atomic_long_t s_remove_count ;
2438 int s_readonly_remount ;
2439};
2440#line 1563 "include/linux/fs.h"
2441struct fiemap_extent_info {
2442 unsigned int fi_flags ;
2443 unsigned int fi_extents_mapped ;
2444 unsigned int fi_extents_max ;
2445 struct fiemap_extent *fi_extents_start ;
2446};
2447#line 1602 "include/linux/fs.h"
2448struct file_operations {
2449 struct module *owner ;
2450 loff_t (*llseek)(struct file * , loff_t , int ) ;
2451 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
2452 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
2453 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
2454 loff_t ) ;
2455 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
2456 loff_t ) ;
2457 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
2458 loff_t , u64 , unsigned int ) ) ;
2459 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
2460 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
2461 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
2462 int (*mmap)(struct file * , struct vm_area_struct * ) ;
2463 int (*open)(struct inode * , struct file * ) ;
2464 int (*flush)(struct file * , fl_owner_t ) ;
2465 int (*release)(struct inode * , struct file * ) ;
2466 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
2467 int (*aio_fsync)(struct kiocb * , int ) ;
2468 int (*fasync)(int , struct file * , int ) ;
2469 int (*lock)(struct file * , int , struct file_lock * ) ;
2470 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
2471 int ) ;
2472 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2473 unsigned long , unsigned long ) ;
2474 int (*check_flags)(int ) ;
2475 int (*flock)(struct file * , int , struct file_lock * ) ;
2476 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
2477 unsigned int ) ;
2478 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
2479 unsigned int ) ;
2480 int (*setlease)(struct file * , long , struct file_lock ** ) ;
2481 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
2482};
2483#line 1637 "include/linux/fs.h"
2484struct inode_operations {
2485 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
2486 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2487 int (*permission)(struct inode * , int ) ;
2488 struct posix_acl *(*get_acl)(struct inode * , int ) ;
2489 int (*readlink)(struct dentry * , char * , int ) ;
2490 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2491 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
2492 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2493 int (*unlink)(struct inode * , struct dentry * ) ;
2494 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
2495 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
2496 int (*rmdir)(struct inode * , struct dentry * ) ;
2497 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
2498 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2499 void (*truncate)(struct inode * ) ;
2500 int (*setattr)(struct dentry * , struct iattr * ) ;
2501 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
2502 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2503 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2504 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2505 int (*removexattr)(struct dentry * , char const * ) ;
2506 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2507 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
2508};
2509#line 1682 "include/linux/fs.h"
2510struct super_operations {
2511 struct inode *(*alloc_inode)(struct super_block * ) ;
2512 void (*destroy_inode)(struct inode * ) ;
2513 void (*dirty_inode)(struct inode * , int ) ;
2514 int (*write_inode)(struct inode * , struct writeback_control * ) ;
2515 int (*drop_inode)(struct inode * ) ;
2516 void (*evict_inode)(struct inode * ) ;
2517 void (*put_super)(struct super_block * ) ;
2518 void (*write_super)(struct super_block * ) ;
2519 int (*sync_fs)(struct super_block * , int ) ;
2520 int (*freeze_fs)(struct super_block * ) ;
2521 int (*unfreeze_fs)(struct super_block * ) ;
2522 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2523 int (*remount_fs)(struct super_block * , int * , char * ) ;
2524 void (*umount_begin)(struct super_block * ) ;
2525 int (*show_options)(struct seq_file * , struct dentry * ) ;
2526 int (*show_devname)(struct seq_file * , struct dentry * ) ;
2527 int (*show_path)(struct seq_file * , struct dentry * ) ;
2528 int (*show_stats)(struct seq_file * , struct dentry * ) ;
2529 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2530 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2531 loff_t ) ;
2532 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2533 int (*nr_cached_objects)(struct super_block * ) ;
2534 void (*free_cached_objects)(struct super_block * , int ) ;
2535};
2536#line 1834 "include/linux/fs.h"
2537struct file_system_type {
2538 char const *name ;
2539 int fs_flags ;
2540 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2541 void (*kill_sb)(struct super_block * ) ;
2542 struct module *owner ;
2543 struct file_system_type *next ;
2544 struct hlist_head fs_supers ;
2545 struct lock_class_key s_lock_key ;
2546 struct lock_class_key s_umount_key ;
2547 struct lock_class_key s_vfs_rename_key ;
2548 struct lock_class_key i_lock_key ;
2549 struct lock_class_key i_mutex_key ;
2550 struct lock_class_key i_mutex_dir_key ;
2551};
2552#line 7 "include/asm-generic/cputime.h"
2553typedef unsigned long cputime_t;
2554#line 98 "include/linux/sem.h"
2555struct sem_undo_list;
2556#line 98 "include/linux/sem.h"
2557struct sysv_sem {
2558 struct sem_undo_list *undo_list ;
2559};
2560#line 107
2561struct siginfo;
2562#line 107
2563struct siginfo;
2564#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2565struct __anonstruct_sigset_t_157 {
2566 unsigned long sig[1U] ;
2567};
2568#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2569typedef struct __anonstruct_sigset_t_157 sigset_t;
2570#line 17 "include/asm-generic/signal-defs.h"
2571typedef void __signalfn_t(int );
2572#line 18 "include/asm-generic/signal-defs.h"
2573typedef __signalfn_t *__sighandler_t;
2574#line 20 "include/asm-generic/signal-defs.h"
2575typedef void __restorefn_t(void);
2576#line 21 "include/asm-generic/signal-defs.h"
2577typedef __restorefn_t *__sigrestore_t;
2578#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2579struct sigaction {
2580 __sighandler_t sa_handler ;
2581 unsigned long sa_flags ;
2582 __sigrestore_t sa_restorer ;
2583 sigset_t sa_mask ;
2584};
2585#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2586struct k_sigaction {
2587 struct sigaction sa ;
2588};
2589#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
2590union sigval {
2591 int sival_int ;
2592 void *sival_ptr ;
2593};
2594#line 10 "include/asm-generic/siginfo.h"
2595typedef union sigval sigval_t;
2596#line 11 "include/asm-generic/siginfo.h"
2597struct __anonstruct__kill_159 {
2598 __kernel_pid_t _pid ;
2599 __kernel_uid32_t _uid ;
2600};
2601#line 11 "include/asm-generic/siginfo.h"
2602struct __anonstruct__timer_160 {
2603 __kernel_timer_t _tid ;
2604 int _overrun ;
2605 char _pad[0U] ;
2606 sigval_t _sigval ;
2607 int _sys_private ;
2608};
2609#line 11 "include/asm-generic/siginfo.h"
2610struct __anonstruct__rt_161 {
2611 __kernel_pid_t _pid ;
2612 __kernel_uid32_t _uid ;
2613 sigval_t _sigval ;
2614};
2615#line 11 "include/asm-generic/siginfo.h"
2616struct __anonstruct__sigchld_162 {
2617 __kernel_pid_t _pid ;
2618 __kernel_uid32_t _uid ;
2619 int _status ;
2620 __kernel_clock_t _utime ;
2621 __kernel_clock_t _stime ;
2622};
2623#line 11 "include/asm-generic/siginfo.h"
2624struct __anonstruct__sigfault_163 {
2625 void *_addr ;
2626 short _addr_lsb ;
2627};
2628#line 11 "include/asm-generic/siginfo.h"
2629struct __anonstruct__sigpoll_164 {
2630 long _band ;
2631 int _fd ;
2632};
2633#line 11 "include/asm-generic/siginfo.h"
2634union __anonunion__sifields_158 {
2635 int _pad[28U] ;
2636 struct __anonstruct__kill_159 _kill ;
2637 struct __anonstruct__timer_160 _timer ;
2638 struct __anonstruct__rt_161 _rt ;
2639 struct __anonstruct__sigchld_162 _sigchld ;
2640 struct __anonstruct__sigfault_163 _sigfault ;
2641 struct __anonstruct__sigpoll_164 _sigpoll ;
2642};
2643#line 11 "include/asm-generic/siginfo.h"
2644struct siginfo {
2645 int si_signo ;
2646 int si_errno ;
2647 int si_code ;
2648 union __anonunion__sifields_158 _sifields ;
2649};
2650#line 102 "include/asm-generic/siginfo.h"
2651typedef struct siginfo siginfo_t;
2652#line 24 "include/linux/signal.h"
2653struct sigpending {
2654 struct list_head list ;
2655 sigset_t signal ;
2656};
2657#line 10 "include/linux/seccomp.h"
2658struct __anonstruct_seccomp_t_167 {
2659 int mode ;
2660};
2661#line 10 "include/linux/seccomp.h"
2662typedef struct __anonstruct_seccomp_t_167 seccomp_t;
2663#line 26 "include/linux/seccomp.h"
2664struct plist_head {
2665 struct list_head node_list ;
2666};
2667#line 84 "include/linux/plist.h"
2668struct plist_node {
2669 int prio ;
2670 struct list_head prio_list ;
2671 struct list_head node_list ;
2672};
2673#line 38 "include/linux/rtmutex.h"
2674struct rt_mutex_waiter;
2675#line 38
2676struct rt_mutex_waiter;
2677#line 41 "include/linux/resource.h"
2678struct rlimit {
2679 unsigned long rlim_cur ;
2680 unsigned long rlim_max ;
2681};
2682#line 85 "include/linux/resource.h"
2683struct timerqueue_node {
2684 struct rb_node node ;
2685 ktime_t expires ;
2686};
2687#line 12 "include/linux/timerqueue.h"
2688struct timerqueue_head {
2689 struct rb_root head ;
2690 struct timerqueue_node *next ;
2691};
2692#line 50
2693struct hrtimer_clock_base;
2694#line 50
2695struct hrtimer_clock_base;
2696#line 51
2697struct hrtimer_cpu_base;
2698#line 51
2699struct hrtimer_cpu_base;
2700#line 60
2701enum hrtimer_restart {
2702 HRTIMER_NORESTART = 0,
2703 HRTIMER_RESTART = 1
2704} ;
2705#line 65 "include/linux/timerqueue.h"
2706struct hrtimer {
2707 struct timerqueue_node node ;
2708 ktime_t _softexpires ;
2709 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2710 struct hrtimer_clock_base *base ;
2711 unsigned long state ;
2712 int start_pid ;
2713 void *start_site ;
2714 char start_comm[16U] ;
2715};
2716#line 132 "include/linux/hrtimer.h"
2717struct hrtimer_clock_base {
2718 struct hrtimer_cpu_base *cpu_base ;
2719 int index ;
2720 clockid_t clockid ;
2721 struct timerqueue_head active ;
2722 ktime_t resolution ;
2723 ktime_t (*get_time)(void) ;
2724 ktime_t softirq_time ;
2725 ktime_t offset ;
2726};
2727#line 162 "include/linux/hrtimer.h"
2728struct hrtimer_cpu_base {
2729 raw_spinlock_t lock ;
2730 unsigned long active_bases ;
2731 ktime_t expires_next ;
2732 int hres_active ;
2733 int hang_detected ;
2734 unsigned long nr_events ;
2735 unsigned long nr_retries ;
2736 unsigned long nr_hangs ;
2737 ktime_t max_hang_time ;
2738 struct hrtimer_clock_base clock_base[3U] ;
2739};
2740#line 452 "include/linux/hrtimer.h"
2741struct task_io_accounting {
2742 u64 rchar ;
2743 u64 wchar ;
2744 u64 syscr ;
2745 u64 syscw ;
2746 u64 read_bytes ;
2747 u64 write_bytes ;
2748 u64 cancelled_write_bytes ;
2749};
2750#line 45 "include/linux/task_io_accounting.h"
2751struct latency_record {
2752 unsigned long backtrace[12U] ;
2753 unsigned int count ;
2754 unsigned long time ;
2755 unsigned long max ;
2756};
2757#line 29 "include/linux/key.h"
2758typedef int32_t key_serial_t;
2759#line 32 "include/linux/key.h"
2760typedef uint32_t key_perm_t;
2761#line 33
2762struct key;
2763#line 33
2764struct key;
2765#line 34
2766struct signal_struct;
2767#line 34
2768struct signal_struct;
2769#line 35
2770struct key_type;
2771#line 35
2772struct key_type;
2773#line 37
2774struct keyring_list;
2775#line 37
2776struct keyring_list;
2777#line 115
2778struct key_user;
2779#line 115 "include/linux/key.h"
2780union __anonunion_ldv_23015_168 {
2781 time_t expiry ;
2782 time_t revoked_at ;
2783};
2784#line 115 "include/linux/key.h"
2785union __anonunion_type_data_169 {
2786 struct list_head link ;
2787 unsigned long x[2U] ;
2788 void *p[2U] ;
2789 int reject_error ;
2790};
2791#line 115 "include/linux/key.h"
2792union __anonunion_payload_170 {
2793 unsigned long value ;
2794 void *rcudata ;
2795 void *data ;
2796 struct keyring_list *subscriptions ;
2797};
2798#line 115 "include/linux/key.h"
2799struct key {
2800 atomic_t usage ;
2801 key_serial_t serial ;
2802 struct rb_node serial_node ;
2803 struct key_type *type ;
2804 struct rw_semaphore sem ;
2805 struct key_user *user ;
2806 void *security ;
2807 union __anonunion_ldv_23015_168 ldv_23015 ;
2808 uid_t uid ;
2809 gid_t gid ;
2810 key_perm_t perm ;
2811 unsigned short quotalen ;
2812 unsigned short datalen ;
2813 unsigned long flags ;
2814 char *description ;
2815 union __anonunion_type_data_169 type_data ;
2816 union __anonunion_payload_170 payload ;
2817};
2818#line 316
2819struct audit_context;
2820#line 316
2821struct audit_context;
2822#line 27 "include/linux/selinux.h"
2823struct group_info {
2824 atomic_t usage ;
2825 int ngroups ;
2826 int nblocks ;
2827 gid_t small_block[32U] ;
2828 gid_t *blocks[0U] ;
2829};
2830#line 77 "include/linux/cred.h"
2831struct thread_group_cred {
2832 atomic_t usage ;
2833 pid_t tgid ;
2834 spinlock_t lock ;
2835 struct key *session_keyring ;
2836 struct key *process_keyring ;
2837 struct rcu_head rcu ;
2838};
2839#line 91 "include/linux/cred.h"
2840struct cred {
2841 atomic_t usage ;
2842 atomic_t subscribers ;
2843 void *put_addr ;
2844 unsigned int magic ;
2845 uid_t uid ;
2846 gid_t gid ;
2847 uid_t suid ;
2848 gid_t sgid ;
2849 uid_t euid ;
2850 gid_t egid ;
2851 uid_t fsuid ;
2852 gid_t fsgid ;
2853 unsigned int securebits ;
2854 kernel_cap_t cap_inheritable ;
2855 kernel_cap_t cap_permitted ;
2856 kernel_cap_t cap_effective ;
2857 kernel_cap_t cap_bset ;
2858 unsigned char jit_keyring ;
2859 struct key *thread_keyring ;
2860 struct key *request_key_auth ;
2861 struct thread_group_cred *tgcred ;
2862 void *security ;
2863 struct user_struct *user ;
2864 struct user_namespace *user_ns ;
2865 struct group_info *group_info ;
2866 struct rcu_head rcu ;
2867};
2868#line 264
2869struct llist_node;
2870#line 64 "include/linux/llist.h"
2871struct llist_node {
2872 struct llist_node *next ;
2873};
2874#line 185
2875struct futex_pi_state;
2876#line 185
2877struct futex_pi_state;
2878#line 186
2879struct robust_list_head;
2880#line 186
2881struct robust_list_head;
2882#line 187
2883struct bio_list;
2884#line 187
2885struct bio_list;
2886#line 188
2887struct fs_struct;
2888#line 188
2889struct fs_struct;
2890#line 189
2891struct perf_event_context;
2892#line 189
2893struct perf_event_context;
2894#line 190
2895struct blk_plug;
2896#line 190
2897struct blk_plug;
2898#line 149 "include/linux/sched.h"
2899struct cfs_rq;
2900#line 149
2901struct cfs_rq;
2902#line 44 "include/linux/aio_abi.h"
2903struct io_event {
2904 __u64 data ;
2905 __u64 obj ;
2906 __s64 res ;
2907 __s64 res2 ;
2908};
2909#line 106 "include/linux/aio_abi.h"
2910struct iovec {
2911 void *iov_base ;
2912 __kernel_size_t iov_len ;
2913};
2914#line 54 "include/linux/uio.h"
2915struct kioctx;
2916#line 54
2917struct kioctx;
2918#line 55 "include/linux/uio.h"
2919union __anonunion_ki_obj_171 {
2920 void *user ;
2921 struct task_struct *tsk ;
2922};
2923#line 55
2924struct eventfd_ctx;
2925#line 55 "include/linux/uio.h"
2926struct kiocb {
2927 struct list_head ki_run_list ;
2928 unsigned long ki_flags ;
2929 int ki_users ;
2930 unsigned int ki_key ;
2931 struct file *ki_filp ;
2932 struct kioctx *ki_ctx ;
2933 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2934 ssize_t (*ki_retry)(struct kiocb * ) ;
2935 void (*ki_dtor)(struct kiocb * ) ;
2936 union __anonunion_ki_obj_171 ki_obj ;
2937 __u64 ki_user_data ;
2938 loff_t ki_pos ;
2939 void *private ;
2940 unsigned short ki_opcode ;
2941 size_t ki_nbytes ;
2942 char *ki_buf ;
2943 size_t ki_left ;
2944 struct iovec ki_inline_vec ;
2945 struct iovec *ki_iovec ;
2946 unsigned long ki_nr_segs ;
2947 unsigned long ki_cur_seg ;
2948 struct list_head ki_list ;
2949 struct list_head ki_batch ;
2950 struct eventfd_ctx *ki_eventfd ;
2951};
2952#line 162 "include/linux/aio.h"
2953struct aio_ring_info {
2954 unsigned long mmap_base ;
2955 unsigned long mmap_size ;
2956 struct page **ring_pages ;
2957 spinlock_t ring_lock ;
2958 long nr_pages ;
2959 unsigned int nr ;
2960 unsigned int tail ;
2961 struct page *internal_pages[8U] ;
2962};
2963#line 178 "include/linux/aio.h"
2964struct kioctx {
2965 atomic_t users ;
2966 int dead ;
2967 struct mm_struct *mm ;
2968 unsigned long user_id ;
2969 struct hlist_node list ;
2970 wait_queue_head_t wait ;
2971 spinlock_t ctx_lock ;
2972 int reqs_active ;
2973 struct list_head active_reqs ;
2974 struct list_head run_list ;
2975 unsigned int max_reqs ;
2976 struct aio_ring_info ring_info ;
2977 struct delayed_work wq ;
2978 struct rcu_head rcu_head ;
2979};
2980#line 406 "include/linux/sched.h"
2981struct sighand_struct {
2982 atomic_t count ;
2983 struct k_sigaction action[64U] ;
2984 spinlock_t siglock ;
2985 wait_queue_head_t signalfd_wqh ;
2986};
2987#line 449 "include/linux/sched.h"
2988struct pacct_struct {
2989 int ac_flag ;
2990 long ac_exitcode ;
2991 unsigned long ac_mem ;
2992 cputime_t ac_utime ;
2993 cputime_t ac_stime ;
2994 unsigned long ac_minflt ;
2995 unsigned long ac_majflt ;
2996};
2997#line 457 "include/linux/sched.h"
2998struct cpu_itimer {
2999 cputime_t expires ;
3000 cputime_t incr ;
3001 u32 error ;
3002 u32 incr_error ;
3003};
3004#line 464 "include/linux/sched.h"
3005struct task_cputime {
3006 cputime_t utime ;
3007 cputime_t stime ;
3008 unsigned long long sum_exec_runtime ;
3009};
3010#line 481 "include/linux/sched.h"
3011struct thread_group_cputimer {
3012 struct task_cputime cputime ;
3013 int running ;
3014 raw_spinlock_t lock ;
3015};
3016#line 517
3017struct autogroup;
3018#line 517
3019struct autogroup;
3020#line 518
3021struct tty_struct;
3022#line 518
3023struct taskstats;
3024#line 518
3025struct tty_audit_buf;
3026#line 518 "include/linux/sched.h"
3027struct signal_struct {
3028 atomic_t sigcnt ;
3029 atomic_t live ;
3030 int nr_threads ;
3031 wait_queue_head_t wait_chldexit ;
3032 struct task_struct *curr_target ;
3033 struct sigpending shared_pending ;
3034 int group_exit_code ;
3035 int notify_count ;
3036 struct task_struct *group_exit_task ;
3037 int group_stop_count ;
3038 unsigned int flags ;
3039 unsigned char is_child_subreaper : 1 ;
3040 unsigned char has_child_subreaper : 1 ;
3041 struct list_head posix_timers ;
3042 struct hrtimer real_timer ;
3043 struct pid *leader_pid ;
3044 ktime_t it_real_incr ;
3045 struct cpu_itimer it[2U] ;
3046 struct thread_group_cputimer cputimer ;
3047 struct task_cputime cputime_expires ;
3048 struct list_head cpu_timers[3U] ;
3049 struct pid *tty_old_pgrp ;
3050 int leader ;
3051 struct tty_struct *tty ;
3052 struct autogroup *autogroup ;
3053 cputime_t utime ;
3054 cputime_t stime ;
3055 cputime_t cutime ;
3056 cputime_t cstime ;
3057 cputime_t gtime ;
3058 cputime_t cgtime ;
3059 cputime_t prev_utime ;
3060 cputime_t prev_stime ;
3061 unsigned long nvcsw ;
3062 unsigned long nivcsw ;
3063 unsigned long cnvcsw ;
3064 unsigned long cnivcsw ;
3065 unsigned long min_flt ;
3066 unsigned long maj_flt ;
3067 unsigned long cmin_flt ;
3068 unsigned long cmaj_flt ;
3069 unsigned long inblock ;
3070 unsigned long oublock ;
3071 unsigned long cinblock ;
3072 unsigned long coublock ;
3073 unsigned long maxrss ;
3074 unsigned long cmaxrss ;
3075 struct task_io_accounting ioac ;
3076 unsigned long long sum_sched_runtime ;
3077 struct rlimit rlim[16U] ;
3078 struct pacct_struct pacct ;
3079 struct taskstats *stats ;
3080 unsigned int audit_tty ;
3081 struct tty_audit_buf *tty_audit_buf ;
3082 struct rw_semaphore group_rwsem ;
3083 int oom_adj ;
3084 int oom_score_adj ;
3085 int oom_score_adj_min ;
3086 struct mutex cred_guard_mutex ;
3087};
3088#line 699 "include/linux/sched.h"
3089struct user_struct {
3090 atomic_t __count ;
3091 atomic_t processes ;
3092 atomic_t files ;
3093 atomic_t sigpending ;
3094 atomic_t inotify_watches ;
3095 atomic_t inotify_devs ;
3096 atomic_t fanotify_listeners ;
3097 atomic_long_t epoll_watches ;
3098 unsigned long mq_bytes ;
3099 unsigned long locked_shm ;
3100 struct key *uid_keyring ;
3101 struct key *session_keyring ;
3102 struct hlist_node uidhash_node ;
3103 uid_t uid ;
3104 struct user_namespace *user_ns ;
3105 atomic_long_t locked_vm ;
3106};
3107#line 744
3108struct reclaim_state;
3109#line 744
3110struct reclaim_state;
3111#line 745 "include/linux/sched.h"
3112struct sched_info {
3113 unsigned long pcount ;
3114 unsigned long long run_delay ;
3115 unsigned long long last_arrival ;
3116 unsigned long long last_queued ;
3117};
3118#line 760 "include/linux/sched.h"
3119struct task_delay_info {
3120 spinlock_t lock ;
3121 unsigned int flags ;
3122 struct timespec blkio_start ;
3123 struct timespec blkio_end ;
3124 u64 blkio_delay ;
3125 u64 swapin_delay ;
3126 u32 blkio_count ;
3127 u32 swapin_count ;
3128 struct timespec freepages_start ;
3129 struct timespec freepages_end ;
3130 u64 freepages_delay ;
3131 u32 freepages_count ;
3132};
3133#line 1069
3134struct io_context;
3135#line 1069
3136struct io_context;
3137#line 1098
3138struct rq;
3139#line 1098
3140struct rq;
3141#line 1099 "include/linux/sched.h"
3142struct sched_class {
3143 struct sched_class const *next ;
3144 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
3145 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
3146 void (*yield_task)(struct rq * ) ;
3147 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
3148 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
3149 struct task_struct *(*pick_next_task)(struct rq * ) ;
3150 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
3151 int (*select_task_rq)(struct task_struct * , int , int ) ;
3152 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
3153 void (*post_schedule)(struct rq * ) ;
3154 void (*task_waking)(struct task_struct * ) ;
3155 void (*task_woken)(struct rq * , struct task_struct * ) ;
3156 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
3157 void (*rq_online)(struct rq * ) ;
3158 void (*rq_offline)(struct rq * ) ;
3159 void (*set_curr_task)(struct rq * ) ;
3160 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
3161 void (*task_fork)(struct task_struct * ) ;
3162 void (*switched_from)(struct rq * , struct task_struct * ) ;
3163 void (*switched_to)(struct rq * , struct task_struct * ) ;
3164 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
3165 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
3166 void (*task_move_group)(struct task_struct * , int ) ;
3167};
3168#line 1165 "include/linux/sched.h"
3169struct load_weight {
3170 unsigned long weight ;
3171 unsigned long inv_weight ;
3172};
3173#line 1170 "include/linux/sched.h"
3174struct sched_statistics {
3175 u64 wait_start ;
3176 u64 wait_max ;
3177 u64 wait_count ;
3178 u64 wait_sum ;
3179 u64 iowait_count ;
3180 u64 iowait_sum ;
3181 u64 sleep_start ;
3182 u64 sleep_max ;
3183 s64 sum_sleep_runtime ;
3184 u64 block_start ;
3185 u64 block_max ;
3186 u64 exec_max ;
3187 u64 slice_max ;
3188 u64 nr_migrations_cold ;
3189 u64 nr_failed_migrations_affine ;
3190 u64 nr_failed_migrations_running ;
3191 u64 nr_failed_migrations_hot ;
3192 u64 nr_forced_migrations ;
3193 u64 nr_wakeups ;
3194 u64 nr_wakeups_sync ;
3195 u64 nr_wakeups_migrate ;
3196 u64 nr_wakeups_local ;
3197 u64 nr_wakeups_remote ;
3198 u64 nr_wakeups_affine ;
3199 u64 nr_wakeups_affine_attempts ;
3200 u64 nr_wakeups_passive ;
3201 u64 nr_wakeups_idle ;
3202};
3203#line 1205 "include/linux/sched.h"
3204struct sched_entity {
3205 struct load_weight load ;
3206 struct rb_node run_node ;
3207 struct list_head group_node ;
3208 unsigned int on_rq ;
3209 u64 exec_start ;
3210 u64 sum_exec_runtime ;
3211 u64 vruntime ;
3212 u64 prev_sum_exec_runtime ;
3213 u64 nr_migrations ;
3214 struct sched_statistics statistics ;
3215 struct sched_entity *parent ;
3216 struct cfs_rq *cfs_rq ;
3217 struct cfs_rq *my_q ;
3218};
3219#line 1231
3220struct rt_rq;
3221#line 1231 "include/linux/sched.h"
3222struct sched_rt_entity {
3223 struct list_head run_list ;
3224 unsigned long timeout ;
3225 unsigned int time_slice ;
3226 int nr_cpus_allowed ;
3227 struct sched_rt_entity *back ;
3228 struct sched_rt_entity *parent ;
3229 struct rt_rq *rt_rq ;
3230 struct rt_rq *my_q ;
3231};
3232#line 1255
3233struct mem_cgroup;
3234#line 1255 "include/linux/sched.h"
3235struct memcg_batch_info {
3236 int do_batch ;
3237 struct mem_cgroup *memcg ;
3238 unsigned long nr_pages ;
3239 unsigned long memsw_nr_pages ;
3240};
3241#line 1616
3242struct css_set;
3243#line 1616
3244struct compat_robust_list_head;
3245#line 1616 "include/linux/sched.h"
3246struct task_struct {
3247 long volatile state ;
3248 void *stack ;
3249 atomic_t usage ;
3250 unsigned int flags ;
3251 unsigned int ptrace ;
3252 struct llist_node wake_entry ;
3253 int on_cpu ;
3254 int on_rq ;
3255 int prio ;
3256 int static_prio ;
3257 int normal_prio ;
3258 unsigned int rt_priority ;
3259 struct sched_class const *sched_class ;
3260 struct sched_entity se ;
3261 struct sched_rt_entity rt ;
3262 struct hlist_head preempt_notifiers ;
3263 unsigned char fpu_counter ;
3264 unsigned int policy ;
3265 cpumask_t cpus_allowed ;
3266 struct sched_info sched_info ;
3267 struct list_head tasks ;
3268 struct plist_node pushable_tasks ;
3269 struct mm_struct *mm ;
3270 struct mm_struct *active_mm ;
3271 unsigned char brk_randomized : 1 ;
3272 int exit_state ;
3273 int exit_code ;
3274 int exit_signal ;
3275 int pdeath_signal ;
3276 unsigned int jobctl ;
3277 unsigned int personality ;
3278 unsigned char did_exec : 1 ;
3279 unsigned char in_execve : 1 ;
3280 unsigned char in_iowait : 1 ;
3281 unsigned char sched_reset_on_fork : 1 ;
3282 unsigned char sched_contributes_to_load : 1 ;
3283 unsigned char irq_thread : 1 ;
3284 pid_t pid ;
3285 pid_t tgid ;
3286 unsigned long stack_canary ;
3287 struct task_struct *real_parent ;
3288 struct task_struct *parent ;
3289 struct list_head children ;
3290 struct list_head sibling ;
3291 struct task_struct *group_leader ;
3292 struct list_head ptraced ;
3293 struct list_head ptrace_entry ;
3294 struct pid_link pids[3U] ;
3295 struct list_head thread_group ;
3296 struct completion *vfork_done ;
3297 int *set_child_tid ;
3298 int *clear_child_tid ;
3299 cputime_t utime ;
3300 cputime_t stime ;
3301 cputime_t utimescaled ;
3302 cputime_t stimescaled ;
3303 cputime_t gtime ;
3304 cputime_t prev_utime ;
3305 cputime_t prev_stime ;
3306 unsigned long nvcsw ;
3307 unsigned long nivcsw ;
3308 struct timespec start_time ;
3309 struct timespec real_start_time ;
3310 unsigned long min_flt ;
3311 unsigned long maj_flt ;
3312 struct task_cputime cputime_expires ;
3313 struct list_head cpu_timers[3U] ;
3314 struct cred const *real_cred ;
3315 struct cred const *cred ;
3316 struct cred *replacement_session_keyring ;
3317 char comm[16U] ;
3318 int link_count ;
3319 int total_link_count ;
3320 struct sysv_sem sysvsem ;
3321 unsigned long last_switch_count ;
3322 struct thread_struct thread ;
3323 struct fs_struct *fs ;
3324 struct files_struct *files ;
3325 struct nsproxy *nsproxy ;
3326 struct signal_struct *signal ;
3327 struct sighand_struct *sighand ;
3328 sigset_t blocked ;
3329 sigset_t real_blocked ;
3330 sigset_t saved_sigmask ;
3331 struct sigpending pending ;
3332 unsigned long sas_ss_sp ;
3333 size_t sas_ss_size ;
3334 int (*notifier)(void * ) ;
3335 void *notifier_data ;
3336 sigset_t *notifier_mask ;
3337 struct audit_context *audit_context ;
3338 uid_t loginuid ;
3339 unsigned int sessionid ;
3340 seccomp_t seccomp ;
3341 u32 parent_exec_id ;
3342 u32 self_exec_id ;
3343 spinlock_t alloc_lock ;
3344 raw_spinlock_t pi_lock ;
3345 struct plist_head pi_waiters ;
3346 struct rt_mutex_waiter *pi_blocked_on ;
3347 struct mutex_waiter *blocked_on ;
3348 unsigned int irq_events ;
3349 unsigned long hardirq_enable_ip ;
3350 unsigned long hardirq_disable_ip ;
3351 unsigned int hardirq_enable_event ;
3352 unsigned int hardirq_disable_event ;
3353 int hardirqs_enabled ;
3354 int hardirq_context ;
3355 unsigned long softirq_disable_ip ;
3356 unsigned long softirq_enable_ip ;
3357 unsigned int softirq_disable_event ;
3358 unsigned int softirq_enable_event ;
3359 int softirqs_enabled ;
3360 int softirq_context ;
3361 u64 curr_chain_key ;
3362 int lockdep_depth ;
3363 unsigned int lockdep_recursion ;
3364 struct held_lock held_locks[48U] ;
3365 gfp_t lockdep_reclaim_gfp ;
3366 void *journal_info ;
3367 struct bio_list *bio_list ;
3368 struct blk_plug *plug ;
3369 struct reclaim_state *reclaim_state ;
3370 struct backing_dev_info *backing_dev_info ;
3371 struct io_context *io_context ;
3372 unsigned long ptrace_message ;
3373 siginfo_t *last_siginfo ;
3374 struct task_io_accounting ioac ;
3375 u64 acct_rss_mem1 ;
3376 u64 acct_vm_mem1 ;
3377 cputime_t acct_timexpd ;
3378 nodemask_t mems_allowed ;
3379 seqcount_t mems_allowed_seq ;
3380 int cpuset_mem_spread_rotor ;
3381 int cpuset_slab_spread_rotor ;
3382 struct css_set *cgroups ;
3383 struct list_head cg_list ;
3384 struct robust_list_head *robust_list ;
3385 struct compat_robust_list_head *compat_robust_list ;
3386 struct list_head pi_state_list ;
3387 struct futex_pi_state *pi_state_cache ;
3388 struct perf_event_context *perf_event_ctxp[2U] ;
3389 struct mutex perf_event_mutex ;
3390 struct list_head perf_event_list ;
3391 struct mempolicy *mempolicy ;
3392 short il_next ;
3393 short pref_node_fork ;
3394 struct rcu_head rcu ;
3395 struct pipe_inode_info *splice_pipe ;
3396 struct task_delay_info *delays ;
3397 int make_it_fail ;
3398 int nr_dirtied ;
3399 int nr_dirtied_pause ;
3400 unsigned long dirty_paused_when ;
3401 int latency_record_count ;
3402 struct latency_record latency_record[32U] ;
3403 unsigned long timer_slack_ns ;
3404 unsigned long default_timer_slack_ns ;
3405 struct list_head *scm_work_list ;
3406 unsigned long trace ;
3407 unsigned long trace_recursion ;
3408 struct memcg_batch_info memcg_batch ;
3409 atomic_t ptrace_bp_refcnt ;
3410};
3411#line 143 "include/acpi/platform/aclinux.h"
3412struct acpi_table_header {
3413 char signature[4U] ;
3414 u32 length ;
3415 u8 revision ;
3416 u8 checksum ;
3417 char oem_id[6U] ;
3418 char oem_table_id[8U] ;
3419 u32 oem_revision ;
3420 char asl_compiler_id[4U] ;
3421 u32 asl_compiler_revision ;
3422};
3423#line 105 "include/acpi/actbl.h"
3424struct acpi_generic_address {
3425 u8 space_id ;
3426 u8 bit_width ;
3427 u8 bit_offset ;
3428 u8 access_width ;
3429 u64 address ;
3430};
3431#line 181 "include/acpi/actbl.h"
3432struct acpi_table_fadt {
3433 struct acpi_table_header header ;
3434 u32 facs ;
3435 u32 dsdt ;
3436 u8 model ;
3437 u8 preferred_profile ;
3438 u16 sci_interrupt ;
3439 u32 smi_command ;
3440 u8 acpi_enable ;
3441 u8 acpi_disable ;
3442 u8 S4bios_request ;
3443 u8 pstate_control ;
3444 u32 pm1a_event_block ;
3445 u32 pm1b_event_block ;
3446 u32 pm1a_control_block ;
3447 u32 pm1b_control_block ;
3448 u32 pm2_control_block ;
3449 u32 pm_timer_block ;
3450 u32 gpe0_block ;
3451 u32 gpe1_block ;
3452 u8 pm1_event_length ;
3453 u8 pm1_control_length ;
3454 u8 pm2_control_length ;
3455 u8 pm_timer_length ;
3456 u8 gpe0_block_length ;
3457 u8 gpe1_block_length ;
3458 u8 gpe1_base ;
3459 u8 cst_control ;
3460 u16 C2latency ;
3461 u16 C3latency ;
3462 u16 flush_size ;
3463 u16 flush_stride ;
3464 u8 duty_offset ;
3465 u8 duty_width ;
3466 u8 day_alarm ;
3467 u8 month_alarm ;
3468 u8 century ;
3469 u16 boot_flags ;
3470 u8 reserved ;
3471 u32 flags ;
3472 struct acpi_generic_address reset_register ;
3473 u8 reset_value ;
3474 u8 reserved4[3U] ;
3475 u64 Xfacs ;
3476 u64 Xdsdt ;
3477 struct acpi_generic_address xpm1a_event_block ;
3478 struct acpi_generic_address xpm1b_event_block ;
3479 struct acpi_generic_address xpm1a_control_block ;
3480 struct acpi_generic_address xpm1b_control_block ;
3481 struct acpi_generic_address xpm2_control_block ;
3482 struct acpi_generic_address xpm_timer_block ;
3483 struct acpi_generic_address xgpe0_block ;
3484 struct acpi_generic_address xgpe1_block ;
3485 struct acpi_generic_address sleep_control ;
3486 struct acpi_generic_address sleep_status ;
3487};
3488#line 69 "include/linux/io.h"
3489struct exception_table_entry {
3490 unsigned long insn ;
3491 unsigned long fixup ;
3492};
3493#line 115 "include/linux/rtc.h"
3494struct seq_file {
3495 char *buf ;
3496 size_t size ;
3497 size_t from ;
3498 size_t count ;
3499 loff_t index ;
3500 loff_t read_pos ;
3501 u64 version ;
3502 struct mutex lock ;
3503 struct seq_operations const *op ;
3504 int poll_event ;
3505 void *private ;
3506};
3507#line 30 "include/linux/seq_file.h"
3508struct seq_operations {
3509 void *(*start)(struct seq_file * , loff_t * ) ;
3510 void (*stop)(struct seq_file * , void * ) ;
3511 void *(*next)(struct seq_file * , void * , loff_t * ) ;
3512 int (*show)(struct seq_file * , void * ) ;
3513};
3514#line 158 "include/linux/seq_file.h"
3515struct cdev {
3516 struct kobject kobj ;
3517 struct module *owner ;
3518 struct file_operations const *ops ;
3519 struct list_head list ;
3520 dev_t dev ;
3521 unsigned int count ;
3522};
3523#line 34 "include/linux/poll.h"
3524struct poll_table_struct {
3525 void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
3526 unsigned long _key ;
3527};
3528#line 278 "include/linux/rtc.h"
3529enum kmsg_dump_reason {
3530 KMSG_DUMP_PANIC = 0,
3531 KMSG_DUMP_OOPS = 1,
3532 KMSG_DUMP_EMERG = 2,
3533 KMSG_DUMP_RESTART = 3,
3534 KMSG_DUMP_HALT = 4,
3535 KMSG_DUMP_POWEROFF = 5
3536} ;
3537#line 54 "include/linux/kmsg_dump.h"
3538enum pstore_type_id {
3539 PSTORE_TYPE_DMESG = 0,
3540 PSTORE_TYPE_MCE = 1,
3541 PSTORE_TYPE_UNKNOWN = 255
3542} ;
3543#line 60 "include/linux/kmsg_dump.h"
3544struct pstore_info {
3545 struct module *owner ;
3546 char *name ;
3547 spinlock_t buf_lock ;
3548 char *buf ;
3549 size_t bufsize ;
3550 struct mutex read_mutex ;
3551 int (*open)(struct pstore_info * ) ;
3552 int (*close)(struct pstore_info * ) ;
3553 ssize_t (*read)(u64 * , enum pstore_type_id * , struct timespec * , char ** , struct pstore_info * ) ;
3554 int (*write)(enum pstore_type_id , enum kmsg_dump_reason , u64 * , unsigned int ,
3555 size_t , struct pstore_info * ) ;
3556 int (*erase)(enum pstore_type_id , u64 , struct pstore_info * ) ;
3557 void *data ;
3558};
3559#line 34 "include/linux/efi.h"
3560typedef unsigned long efi_status_t;
3561#line 36 "include/linux/efi.h"
3562typedef u16 efi_char16_t;
3563#line 41 "include/linux/efi.h"
3564struct __anonstruct_efi_guid_t_184 {
3565 u8 b[16U] ;
3566};
3567#line 41 "include/linux/efi.h"
3568typedef struct __anonstruct_efi_guid_t_184 efi_guid_t;
3569#line 235 "include/linux/efi.h"
3570typedef efi_status_t efi_get_variable_t(efi_char16_t * , efi_guid_t * , u32 * , unsigned long * ,
3571 void * );
3572#line 237 "include/linux/efi.h"
3573typedef efi_status_t efi_get_next_variable_t(unsigned long * , efi_char16_t * , efi_guid_t * );
3574#line 239 "include/linux/efi.h"
3575typedef efi_status_t efi_set_variable_t(efi_char16_t * , efi_guid_t * , u32 , unsigned long ,
3576 void * );
3577#line 625 "include/linux/efi.h"
3578struct efivar_operations {
3579 efi_get_variable_t *get_variable ;
3580 efi_get_next_variable_t *get_next_variable ;
3581 efi_set_variable_t *set_variable ;
3582};
3583#line 639
3584struct efivar_entry;
3585#line 639 "include/linux/efi.h"
3586struct efivars {
3587 spinlock_t lock ;
3588 struct list_head list ;
3589 struct kset *kset ;
3590 struct bin_attribute *new_var ;
3591 struct bin_attribute *del_var ;
3592 struct efivar_operations const *ops ;
3593 struct efivar_entry *walk_entry ;
3594 struct pstore_info efi_pstore_info ;
3595};
3596#line 662 "include/linux/efi.h"
3597struct gsmi_buf {
3598 u8 *start ;
3599 size_t length ;
3600 dma_addr_t handle ;
3601 u32 address ;
3602};
3603#line 100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3604struct gsmi_device {
3605 struct platform_device *pdev ;
3606 struct gsmi_buf *name_buf ;
3607 struct gsmi_buf *data_buf ;
3608 struct gsmi_buf *param_buf ;
3609 spinlock_t lock ;
3610 u16 smi_cmd ;
3611 int handshake_type ;
3612 struct dma_pool *dma_pool ;
3613};
3614#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3615struct gsmi_nvram_var_param {
3616 efi_guid_t guid ;
3617 u32 name_ptr ;
3618 u32 attributes ;
3619 u32 data_len ;
3620 u32 data_ptr ;
3621};
3622#line 120 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3623struct gsmi_get_next_var_param {
3624 u8 guid[16U] ;
3625 u32 name_ptr ;
3626 u32 name_len ;
3627};
3628#line 126 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3629struct gsmi_set_eventlog_param {
3630 u32 data_ptr ;
3631 u32 data_len ;
3632 u32 type ;
3633};
3634#line 132 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3635struct gsmi_log_entry_type_1 {
3636 u16 type ;
3637 u32 instance ;
3638};
3639#line 551 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3640struct __anonstruct_param_203 {
3641 u32 percentage ;
3642 u32 data_type ;
3643};
3644#line 1 "<compiler builtins>"
3645
3646#line 1
3647long __builtin_expect(long , long ) ;
3648#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3649void ldv_spin_lock(void) ;
3650#line 3
3651void ldv_spin_unlock(void) ;
3652#line 4
3653int ldv_spin_trylock(void) ;
3654#line 101 "include/linux/printk.h"
3655extern int printk(char const * , ...) ;
3656#line 200 "include/linux/kernel.h"
3657extern struct atomic_notifier_head panic_notifier_list ;
3658#line 218
3659extern int kstrtoull(char const * , unsigned int , unsigned long long * ) ;
3660#line 220 "include/linux/kernel.h"
3661__inline static int kstrtoul(char const *s , unsigned int base , unsigned long *res )
3662{ int tmp ;
3663 unsigned long long *__cil_tmp6 ;
3664
3665 {
3666 {
3667#line 228
3668 __cil_tmp6 = (unsigned long long *)res;
3669#line 228
3670 tmp = kstrtoull(s, base, __cil_tmp6);
3671 }
3672#line 228
3673 return (tmp);
3674}
3675}
3676#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_64_types.h"
3677extern unsigned long __phys_addr(unsigned long ) ;
3678#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
3679extern void *__memcpy(void * , void const * , size_t ) ;
3680#line 55
3681extern void *memset(void * , int , size_t ) ;
3682#line 45 "include/linux/string.h"
3683extern int strncmp(char const * , char const * , __kernel_size_t ) ;
3684#line 27 "include/linux/err.h"
3685__inline static long PTR_ERR(void const *ptr )
3686{
3687
3688 {
3689#line 29
3690 return ((long )ptr);
3691}
3692}
3693#line 32 "include/linux/err.h"
3694__inline static long IS_ERR(void const *ptr )
3695{ long tmp ;
3696 unsigned long __cil_tmp3 ;
3697 int __cil_tmp4 ;
3698 long __cil_tmp5 ;
3699
3700 {
3701 {
3702#line 34
3703 __cil_tmp3 = (unsigned long )ptr;
3704#line 34
3705 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
3706#line 34
3707 __cil_tmp5 = (long )__cil_tmp4;
3708#line 34
3709 tmp = __builtin_expect(__cil_tmp5, 0L);
3710 }
3711#line 34
3712 return (tmp);
3713}
3714}
3715#line 93 "include/linux/spinlock.h"
3716extern void __raw_spin_lock_init(raw_spinlock_t * , char const * , struct lock_class_key * ) ;
3717#line 43 "include/linux/spinlock_api_smp.h"
3718extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long ) ;
3719#line 272 "include/linux/spinlock.h"
3720__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
3721{
3722
3723 {
3724#line 274
3725 return ((struct raw_spinlock *)lock);
3726}
3727}
3728#line 350 "include/linux/spinlock.h"
3729__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags )
3730{ struct raw_spinlock *__cil_tmp5 ;
3731
3732 {
3733 {
3734#line 352
3735 __cil_tmp5 = (struct raw_spinlock *)lock;
3736#line 352
3737 _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
3738 }
3739#line 353
3740 return;
3741}
3742}
3743#line 350
3744__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
3745#line 115 "include/linux/notifier.h"
3746extern int atomic_notifier_chain_register(struct atomic_notifier_head * , struct notifier_block * ) ;
3747#line 128
3748extern int atomic_notifier_chain_unregister(struct atomic_notifier_head * , struct notifier_block * ) ;
3749#line 111 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
3750__inline static phys_addr_t virt_to_phys(void volatile *address )
3751{ unsigned long tmp ;
3752 unsigned long __cil_tmp3 ;
3753
3754 {
3755 {
3756#line 113
3757 __cil_tmp3 = (unsigned long )address;
3758#line 113
3759 tmp = __phys_addr(__cil_tmp3);
3760 }
3761#line 113
3762 return ((phys_addr_t )tmp);
3763}
3764}
3765#line 133 "include/linux/sysfs.h"
3766extern int sysfs_create_files(struct kobject * , struct attribute const ** ) ;
3767#line 138
3768extern void sysfs_remove_files(struct kobject * , struct attribute const ** ) ;
3769#line 140
3770extern int sysfs_create_bin_file(struct kobject * , struct bin_attribute const * ) ;
3771#line 142
3772extern void sysfs_remove_bin_file(struct kobject * , struct bin_attribute const * ) ;
3773#line 97 "include/linux/kobject.h"
3774extern struct kobject *kobject_create_and_add(char const * , struct kobject * ) ;
3775#line 104
3776extern void kobject_put(struct kobject * ) ;
3777#line 204
3778extern struct kobject *firmware_kobj ;
3779#line 161 "include/linux/slab.h"
3780extern void kfree(void const * ) ;
3781#line 220 "include/linux/slub_def.h"
3782extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
3783#line 223
3784void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
3785#line 353 "include/linux/slab.h"
3786__inline static void *kzalloc(size_t size , gfp_t flags ) ;
3787#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3788extern void *__VERIFIER_nondet_pointer(void) ;
3789#line 11
3790void ldv_check_alloc_flags(gfp_t flags ) ;
3791#line 12
3792void ldv_check_alloc_nonatomic(void) ;
3793#line 14
3794struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
3795#line 40 "include/linux/platform_device.h"
3796extern void platform_device_unregister(struct platform_device * ) ;
3797#line 65
3798extern struct platform_device *platform_device_register_full(struct platform_device_info const * ) ;
3799#line 82 "include/linux/platform_device.h"
3800__inline static struct platform_device *platform_device_register_resndata(struct device *parent ,
3801 char const *name ,
3802 int id ,
3803 struct resource const *res ,
3804 unsigned int num ,
3805 void const *data ,
3806 size_t size )
3807{ struct platform_device_info pdevinfo ;
3808 struct platform_device *tmp ;
3809 struct platform_device_info *__cil_tmp10 ;
3810 unsigned long __cil_tmp11 ;
3811 unsigned long __cil_tmp12 ;
3812 unsigned long __cil_tmp13 ;
3813 unsigned long __cil_tmp14 ;
3814 unsigned long __cil_tmp15 ;
3815 unsigned long __cil_tmp16 ;
3816 unsigned long __cil_tmp17 ;
3817 struct platform_device_info const *__cil_tmp18 ;
3818
3819 {
3820 {
3821#line 87
3822 __cil_tmp10 = & pdevinfo;
3823#line 87
3824 *((struct device **)__cil_tmp10) = parent;
3825#line 87
3826 __cil_tmp11 = (unsigned long )(& pdevinfo) + 8;
3827#line 87
3828 *((char const **)__cil_tmp11) = name;
3829#line 87
3830 __cil_tmp12 = (unsigned long )(& pdevinfo) + 16;
3831#line 87
3832 *((int *)__cil_tmp12) = id;
3833#line 87
3834 __cil_tmp13 = (unsigned long )(& pdevinfo) + 24;
3835#line 87
3836 *((struct resource const **)__cil_tmp13) = res;
3837#line 87
3838 __cil_tmp14 = (unsigned long )(& pdevinfo) + 32;
3839#line 87
3840 *((unsigned int *)__cil_tmp14) = num;
3841#line 87
3842 __cil_tmp15 = (unsigned long )(& pdevinfo) + 40;
3843#line 87
3844 *((void const **)__cil_tmp15) = data;
3845#line 87
3846 __cil_tmp16 = (unsigned long )(& pdevinfo) + 48;
3847#line 87
3848 *((size_t *)__cil_tmp16) = size;
3849#line 87
3850 __cil_tmp17 = (unsigned long )(& pdevinfo) + 56;
3851#line 87
3852 *((u64 *)__cil_tmp17) = 0ULL;
3853#line 98
3854 __cil_tmp18 = (struct platform_device_info const *)(& pdevinfo);
3855#line 98
3856 tmp = platform_device_register_full(__cil_tmp18);
3857 }
3858#line 98
3859 return (tmp);
3860}
3861}
3862#line 123 "include/linux/platform_device.h"
3863__inline static struct platform_device *platform_device_register_simple(char const *name ,
3864 int id , struct resource const *res ,
3865 unsigned int num )
3866{ struct platform_device *tmp ;
3867 struct device *__cil_tmp6 ;
3868 void const *__cil_tmp7 ;
3869
3870 {
3871 {
3872#line 127
3873 __cil_tmp6 = (struct device *)0;
3874#line 127
3875 __cil_tmp7 = (void const *)0;
3876#line 127
3877 tmp = platform_device_register_resndata(__cil_tmp6, name, id, res, num, __cil_tmp7,
3878 0UL);
3879 }
3880#line 127
3881 return (tmp);
3882}
3883}
3884#line 17 "include/linux/dmapool.h"
3885extern struct dma_pool *dma_pool_create(char const * , struct device * , size_t ,
3886 size_t , size_t ) ;
3887#line 20
3888extern void dma_pool_destroy(struct dma_pool * ) ;
3889#line 22
3890extern void *dma_pool_alloc(struct dma_pool * , gfp_t , dma_addr_t * ) ;
3891#line 26
3892void *ldv_dma_pool_alloc_19(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
3893 dma_addr_t *ldv_func_arg3 ) ;
3894#line 29
3895extern void dma_pool_free(struct dma_pool * , void * , dma_addr_t ) ;
3896#line 103 "include/acpi/acpixf.h"
3897extern struct acpi_table_fadt acpi_gbl_FADT ;
3898#line 96 "include/linux/dmi.h"
3899extern int dmi_check_system(struct dmi_system_id const * ) ;
3900#line 98
3901extern char const *dmi_get_system_info(int ) ;
3902#line 16 "include/linux/kdebug.h"
3903extern int register_die_notifier(struct notifier_block * ) ;
3904#line 17
3905extern int unregister_die_notifier(struct notifier_block * ) ;
3906#line 47 "include/linux/reboot.h"
3907extern int register_reboot_notifier(struct notifier_block * ) ;
3908#line 48
3909extern int unregister_reboot_notifier(struct notifier_block * ) ;
3910#line 658 "include/linux/efi.h"
3911extern int register_efivars(struct efivars * , struct efivar_operations const * ,
3912 struct kobject * ) ;
3913#line 661
3914extern void unregister_efivars(struct efivars * ) ;
3915#line 110 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3916struct gsmi_device gsmi_dev ;
3917#line 145 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3918static unsigned int spincount = 65536U;
3919#line 150 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
3920static struct gsmi_buf *gsmi_buf_alloc(void)
3921{ struct gsmi_buf *smibuf ;
3922 void *tmp ;
3923 void *tmp___0 ;
3924 phys_addr_t tmp___1 ;
3925 struct gsmi_buf *__cil_tmp5 ;
3926 unsigned long __cil_tmp6 ;
3927 unsigned long __cil_tmp7 ;
3928 unsigned long __cil_tmp8 ;
3929 struct dma_pool *__cil_tmp9 ;
3930 unsigned long __cil_tmp10 ;
3931 unsigned long __cil_tmp11 ;
3932 dma_addr_t *__cil_tmp12 ;
3933 u8 *__cil_tmp13 ;
3934 unsigned long __cil_tmp14 ;
3935 u8 *__cil_tmp15 ;
3936 unsigned long __cil_tmp16 ;
3937 void const *__cil_tmp17 ;
3938 unsigned long __cil_tmp18 ;
3939 unsigned long __cil_tmp19 ;
3940 u8 *__cil_tmp20 ;
3941 void volatile *__cil_tmp21 ;
3942 unsigned long __cil_tmp22 ;
3943 unsigned long __cil_tmp23 ;
3944
3945 {
3946 {
3947#line 154
3948 tmp = kzalloc(32UL, 208U);
3949#line 154
3950 smibuf = (struct gsmi_buf *)tmp;
3951 }
3952 {
3953#line 155
3954 __cil_tmp5 = (struct gsmi_buf *)0;
3955#line 155
3956 __cil_tmp6 = (unsigned long )__cil_tmp5;
3957#line 155
3958 __cil_tmp7 = (unsigned long )smibuf;
3959#line 155
3960 if (__cil_tmp7 == __cil_tmp6) {
3961 {
3962#line 156
3963 printk("<3>gsmi: out of memory\n");
3964 }
3965#line 157
3966 return ((struct gsmi_buf *)0);
3967 } else {
3968
3969 }
3970 }
3971 {
3972#line 161
3973 __cil_tmp8 = (unsigned long )(& gsmi_dev) + 112;
3974#line 161
3975 __cil_tmp9 = *((struct dma_pool **)__cil_tmp8);
3976#line 161
3977 __cil_tmp10 = (unsigned long )smibuf;
3978#line 161
3979 __cil_tmp11 = __cil_tmp10 + 16;
3980#line 161
3981 __cil_tmp12 = (dma_addr_t *)__cil_tmp11;
3982#line 161
3983 tmp___0 = ldv_dma_pool_alloc_19(__cil_tmp9, 208U, __cil_tmp12);
3984#line 161
3985 *((u8 **)smibuf) = (u8 *)tmp___0;
3986 }
3987 {
3988#line 163
3989 __cil_tmp13 = (u8 *)0;
3990#line 163
3991 __cil_tmp14 = (unsigned long )__cil_tmp13;
3992#line 163
3993 __cil_tmp15 = *((u8 **)smibuf);
3994#line 163
3995 __cil_tmp16 = (unsigned long )__cil_tmp15;
3996#line 163
3997 if (__cil_tmp16 == __cil_tmp14) {
3998 {
3999#line 164
4000 printk("<3>gsmi: failed to allocate name buffer\n");
4001#line 165
4002 __cil_tmp17 = (void const *)smibuf;
4003#line 165
4004 kfree(__cil_tmp17);
4005 }
4006#line 166
4007 return ((struct gsmi_buf *)0);
4008 } else {
4009
4010 }
4011 }
4012 {
4013#line 170
4014 __cil_tmp18 = (unsigned long )smibuf;
4015#line 170
4016 __cil_tmp19 = __cil_tmp18 + 8;
4017#line 170
4018 *((size_t *)__cil_tmp19) = 1024UL;
4019#line 171
4020 __cil_tmp20 = *((u8 **)smibuf);
4021#line 171
4022 __cil_tmp21 = (void volatile *)__cil_tmp20;
4023#line 171
4024 tmp___1 = virt_to_phys(__cil_tmp21);
4025#line 171
4026 __cil_tmp22 = (unsigned long )smibuf;
4027#line 171
4028 __cil_tmp23 = __cil_tmp22 + 24;
4029#line 171
4030 *((u32 *)__cil_tmp23) = (unsigned int )tmp___1;
4031 }
4032#line 173
4033 return (smibuf);
4034}
4035}
4036#line 176 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
4037static void gsmi_buf_free(struct gsmi_buf *smibuf )
4038{ struct gsmi_buf *__cil_tmp2 ;
4039 unsigned long __cil_tmp3 ;
4040 unsigned long __cil_tmp4 ;
4041 u8 *__cil_tmp5 ;
4042 unsigned long __cil_tmp6 ;
4043 u8 *__cil_tmp7 ;
4044 unsigned long __cil_tmp8 ;
4045 unsigned long __cil_tmp9 ;
4046 struct dma_pool *__cil_tmp10 ;
4047 u8 *__cil_tmp11 ;
4048 void *__cil_tmp12 ;
4049 unsigned long __cil_tmp13 ;
4050 unsigned long __cil_tmp14 ;
4051 dma_addr_t __cil_tmp15 ;
4052 void const *__cil_tmp16 ;
4053
4054 {
4055 {
4056#line 178
4057 __cil_tmp2 = (struct gsmi_buf *)0;
4058#line 178
4059 __cil_tmp3 = (unsigned long )__cil_tmp2;
4060#line 178
4061 __cil_tmp4 = (unsigned long )smibuf;
4062#line 178
4063 if (__cil_tmp4 != __cil_tmp3) {
4064 {
4065#line 179
4066 __cil_tmp5 = (u8 *)0;
4067#line 179
4068 __cil_tmp6 = (unsigned long )__cil_tmp5;
4069#line 179
4070 __cil_tmp7 = *((u8 **)smibuf);
4071#line 179
4072 __cil_tmp8 = (unsigned long )__cil_tmp7;
4073#line 179
4074 if (__cil_tmp8 != __cil_tmp6) {
4075 {
4076#line 180
4077 __cil_tmp9 = (unsigned long )(& gsmi_dev) + 112;
4078#line 180
4079 __cil_tmp10 = *((struct dma_pool **)__cil_tmp9);
4080#line 180
4081 __cil_tmp11 = *((u8 **)smibuf);
4082#line 180
4083 __cil_tmp12 = (void *)__cil_tmp11;
4084#line 180
4085 __cil_tmp13 = (unsigned long )smibuf;
4086#line 180
4087 __cil_tmp14 = __cil_tmp13 + 16;
4088#line 180
4089 __cil_tmp15 = *((dma_addr_t *)__cil_tmp14);
4090#line 180
4091 dma_pool_free(__cil_tmp10, __cil_tmp12, __cil_tmp15);
4092 }
4093 } else {
4094
4095 }
4096 }
4097 {
4098#line 182
4099 __cil_tmp16 = (void const *)smibuf;
4100#line 182
4101 kfree(__cil_tmp16);
4102 }
4103 } else {
4104
4105 }
4106 }
4107#line 184
4108 return;
4109}
4110}
4111#line 190 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
4112static int gsmi_exec(u8 func , u8 sub )
4113{ u16 cmd ;
4114 u16 result ;
4115 int rc ;
4116 short __cil_tmp6 ;
4117 int __cil_tmp7 ;
4118 int __cil_tmp8 ;
4119 int __cil_tmp9 ;
4120 short __cil_tmp10 ;
4121 int __cil_tmp11 ;
4122 int __cil_tmp12 ;
4123 unsigned long __cil_tmp13 ;
4124 int __cil_tmp14 ;
4125 unsigned long __cil_tmp15 ;
4126 unsigned long __cil_tmp16 ;
4127 struct gsmi_buf *__cil_tmp17 ;
4128 unsigned long __cil_tmp18 ;
4129 unsigned long __cil_tmp19 ;
4130 unsigned long __cil_tmp20 ;
4131 int __cil_tmp21 ;
4132 unsigned long __cil_tmp22 ;
4133 unsigned long __cil_tmp23 ;
4134 struct gsmi_buf *__cil_tmp24 ;
4135 unsigned long __cil_tmp25 ;
4136 unsigned long __cil_tmp26 ;
4137 unsigned int *__cil_tmp27 ;
4138 unsigned long __cil_tmp28 ;
4139 unsigned long __cil_tmp29 ;
4140 struct gsmi_buf *__cil_tmp30 ;
4141 unsigned long __cil_tmp31 ;
4142 unsigned long __cil_tmp32 ;
4143 int __cil_tmp33 ;
4144 int __cil_tmp34 ;
4145 unsigned int __cil_tmp35 ;
4146 int __cil_tmp36 ;
4147 int __cil_tmp37 ;
4148 int __cil_tmp38 ;
4149 int __cil_tmp39 ;
4150 int __cil_tmp40 ;
4151 int __cil_tmp41 ;
4152 int __cil_tmp42 ;
4153
4154 {
4155#line 192
4156 __cil_tmp6 = (short )func;
4157#line 192
4158 __cil_tmp7 = (int )__cil_tmp6;
4159#line 192
4160 __cil_tmp8 = (int )sub;
4161#line 192
4162 __cil_tmp9 = __cil_tmp8 << 8;
4163#line 192
4164 __cil_tmp10 = (short )__cil_tmp9;
4165#line 192
4166 __cil_tmp11 = (int )__cil_tmp10;
4167#line 192
4168 __cil_tmp12 = __cil_tmp11 | __cil_tmp7;
4169#line 192
4170 cmd = (u16 )__cil_tmp12;
4171#line 193
4172 result = (u16 )0U;
4173#line 194
4174 rc = 0;
4175 {
4176#line 204
4177 __cil_tmp13 = (unsigned long )(& gsmi_dev) + 108;
4178#line 204
4179 __cil_tmp14 = *((int *)__cil_tmp13);
4180#line 204
4181 if (__cil_tmp14 == 126) {
4182#line 212
4183 __cil_tmp15 = (unsigned long )(& gsmi_dev) + 104;
4184#line 212
4185 __cil_tmp16 = (unsigned long )(& gsmi_dev) + 24;
4186#line 212
4187 __cil_tmp17 = *((struct gsmi_buf **)__cil_tmp16);
4188#line 212
4189 __cil_tmp18 = (unsigned long )__cil_tmp17;
4190#line 212
4191 __cil_tmp19 = __cil_tmp18 + 24;
4192#line 212
4193 __asm__ volatile ("stc\noutb %%al, %%dx\n1: jc 1b\n": "=a" (result): "0" (cmd),
4194 "d" (*((u16 *)__cil_tmp15)), "b" (*((u32 *)__cil_tmp19)): "memory",
4195 "cc");
4196 } else {
4197 {
4198#line 222
4199 __cil_tmp20 = (unsigned long )(& gsmi_dev) + 108;
4200#line 222
4201 __cil_tmp21 = *((int *)__cil_tmp20);
4202#line 222
4203 if (__cil_tmp21 == 125) {
4204#line 227
4205 __cil_tmp22 = (unsigned long )(& gsmi_dev) + 104;
4206#line 227
4207 __cil_tmp23 = (unsigned long )(& gsmi_dev) + 24;
4208#line 227
4209 __cil_tmp24 = *((struct gsmi_buf **)__cil_tmp23);
4210#line 227
4211 __cil_tmp25 = (unsigned long )__cil_tmp24;
4212#line 227
4213 __cil_tmp26 = __cil_tmp25 + 24;
4214#line 227
4215 __cil_tmp27 = & spincount;
4216#line 227
4217 __asm__ volatile ("outb %%al, %%dx\n1: loop 1b\n": "=a" (result): "0" (cmd),
4218 "d" (*((u16 *)__cil_tmp22)), "b" (*((u32 *)__cil_tmp26)),
4219 "c" (*__cil_tmp27): "memory", "cc");
4220 } else {
4221#line 243
4222 __cil_tmp28 = (unsigned long )(& gsmi_dev) + 104;
4223#line 243
4224 __cil_tmp29 = (unsigned long )(& gsmi_dev) + 24;
4225#line 243
4226 __cil_tmp30 = *((struct gsmi_buf **)__cil_tmp29);
4227#line 243
4228 __cil_tmp31 = (unsigned long )__cil_tmp30;
4229#line 243
4230 __cil_tmp32 = __cil_tmp31 + 24;
4231#line 243
4232 __asm__ volatile ("outb %%al, %%dx\n\t": "=a" (result): "0" (cmd), "d" (*((u16 *)__cil_tmp28)),
4233 "b" (*((u32 *)__cil_tmp32)): "memory", "cc");
4234 }
4235 }
4236 }
4237 }
4238#line 255
4239 if ((int )result == 0) {
4240#line 255
4241 goto case_0;
4242 } else
4243#line 257
4244 if ((int )result == 14) {
4245#line 257
4246 goto case_14;
4247 } else
4248#line 261
4249 if ((int )result == 130) {
4250#line 261
4251 goto case_130;
4252 } else
4253#line 265
4254 if ((int )result == 133) {
4255#line 265
4256 goto case_133;
4257 } else
4258#line 269
4259 if ((int )result == 131) {
4260#line 269
4261 goto case_131;
4262 } else
4263#line 270
4264 if ((int )result == 3) {
4265#line 270
4266 goto case_3;
4267 } else
4268#line 276
4269 if ((int )result == 134) {
4270#line 276
4271 goto case_134;
4272 } else
4273#line 280
4274 if ((int )result == 135) {
4275#line 280
4276 goto case_135;
4277 } else
4278#line 284
4279 if ((int )result == 142) {
4280#line 284
4281 goto case_142;
4282 } else
4283#line 288
4284 if ((int )result == 11) {
4285#line 288
4286 goto case_11;
4287 } else
4288#line 292
4289 if ((int )result == 126) {
4290#line 292
4291 goto case_126;
4292 } else
4293#line 293
4294 if ((int )result == 125) {
4295#line 293
4296 goto case_125;
4297 } else
4298#line 294
4299 if ((int )result == 127) {
4300#line 294
4301 goto case_127;
4302 } else {
4303 {
4304#line 297
4305 goto switch_default;
4306#line 254
4307 if (0) {
4308 case_0: ;
4309#line 256
4310 goto ldv_30394;
4311 case_14:
4312#line 259
4313 rc = 1;
4314#line 260
4315 goto ldv_30394;
4316 case_130:
4317 {
4318#line 262
4319 __cil_tmp33 = (int )cmd;
4320#line 262
4321 printk("<3>gsmi: exec 0x%04x: Invalid parameter\n", __cil_tmp33);
4322#line 263
4323 rc = -22;
4324 }
4325#line 264
4326 goto ldv_30394;
4327 case_133:
4328 {
4329#line 266
4330 __cil_tmp34 = (int )cmd;
4331#line 266
4332 printk("<3>gsmi: exec 0x%04x: Buffer too small\n", __cil_tmp34);
4333#line 267
4334 rc = -12;
4335 }
4336#line 268
4337 goto ldv_30394;
4338 case_131: ;
4339 case_3: ;
4340 {
4341#line 271
4342 __cil_tmp35 = (unsigned int )sub;
4343#line 271
4344 if (__cil_tmp35 != 193U) {
4345 {
4346#line 272
4347 __cil_tmp36 = (int )cmd;
4348#line 272
4349 printk("<3>gsmi: exec 0x%04x: Not supported\n", __cil_tmp36);
4350 }
4351 } else {
4352
4353 }
4354 }
4355#line 274
4356 rc = -38;
4357#line 275
4358 goto ldv_30394;
4359 case_134:
4360 {
4361#line 277
4362 __cil_tmp37 = (int )cmd;
4363#line 277
4364 printk("<3>gsmi: exec 0x%04x: Not ready\n", __cil_tmp37);
4365#line 278
4366 rc = -16;
4367 }
4368#line 279
4369 goto ldv_30394;
4370 case_135:
4371 {
4372#line 281
4373 __cil_tmp38 = (int )cmd;
4374#line 281
4375 printk("<3>gsmi: exec 0x%04x: Device error\n", __cil_tmp38);
4376#line 282
4377 rc = -14;
4378 }
4379#line 283
4380 goto ldv_30394;
4381 case_142:
4382 {
4383#line 285
4384 __cil_tmp39 = (int )cmd;
4385#line 285
4386 printk("<3>gsmi: exec 0x%04x: Data not found\n", __cil_tmp39);
4387#line 286
4388 rc = -2;
4389 }
4390#line 287
4391 goto ldv_30394;
4392 case_11:
4393 {
4394#line 289
4395 __cil_tmp40 = (int )cmd;
4396#line 289
4397 printk("<3>gsmi: exec 0x%04x: Log full\n", __cil_tmp40);
4398#line 290
4399 rc = -28;
4400 }
4401#line 291
4402 goto ldv_30394;
4403 case_126: ;
4404 case_125: ;
4405 case_127:
4406#line 295
4407 rc = (int )result;
4408#line 296
4409 goto ldv_30394;
4410 switch_default:
4411 {
4412#line 298
4413 __cil_tmp41 = (int )cmd;
4414#line 298
4415 __cil_tmp42 = (int )result;
4416#line 298
4417 printk("<3>gsmi: exec 0x%04x: Unknown error 0x%04x\n", __cil_tmp41, __cil_tmp42);
4418#line 300
4419 rc = -6;
4420 }
4421 } else {
4422 switch_break: ;
4423 }
4424 }
4425 }
4426 ldv_30394: ;
4427#line 303
4428 return (rc);
4429}
4430}
4431#line 308 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
4432static size_t utf16_strlen(efi_char16_t *data , unsigned long maxlength )
4433{ unsigned long length ;
4434 efi_char16_t *tmp ;
4435 efi_char16_t __cil_tmp5 ;
4436 unsigned int __cil_tmp6 ;
4437
4438 {
4439#line 310
4440 length = 0UL;
4441#line 312
4442 goto ldv_30414;
4443 ldv_30413:
4444#line 313
4445 length = length + 1UL;
4446 ldv_30414:
4447#line 312
4448 tmp = data;
4449#line 312
4450 data = data + 1;
4451 {
4452#line 312
4453 __cil_tmp5 = *tmp;
4454#line 312
4455 __cil_tmp6 = (unsigned int )__cil_tmp5;
4456#line 312
4457 if (__cil_tmp6 != 0U) {
4458#line 312
4459 if (length < maxlength) {
4460#line 313
4461 goto ldv_30413;
4462 } else {
4463#line 315
4464 goto ldv_30415;
4465 }
4466 } else {
4467#line 315
4468 goto ldv_30415;
4469 }
4470 }
4471 ldv_30415: ;
4472#line 314
4473 return (length);
4474}
4475}
4476#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
4477static efi_status_t gsmi_get_variable(efi_char16_t *name , efi_guid_t *vendor , u32 *attr ,
4478 unsigned long *data_size , void *data )
4479{ struct gsmi_nvram_var_param param ;
4480 efi_status_t ret ;
4481 unsigned long flags ;
4482 size_t name_len ;
4483 size_t tmp ;
4484 int rc ;
4485 size_t __len ;
4486 void *__ret ;
4487 size_t __len___0 ;
4488 void *__ret___0 ;
4489 size_t __len___1 ;
4490 void *__ret___1 ;
4491 size_t __len___2 ;
4492 void *__ret___2 ;
4493 unsigned long __min1 ;
4494 unsigned long __min2 ;
4495 unsigned long tmp___0 ;
4496 unsigned long __min1___0 ;
4497 unsigned long __min2___0 ;
4498 unsigned long tmp___1 ;
4499 size_t __len___3 ;
4500 void *__ret___3 ;
4501 unsigned long __cil_tmp28 ;
4502 unsigned long __cil_tmp29 ;
4503 unsigned long __cil_tmp30 ;
4504 unsigned long __cil_tmp31 ;
4505 unsigned long __cil_tmp32 ;
4506 unsigned long __cil_tmp33 ;
4507 unsigned long __cil_tmp34 ;
4508 unsigned long __cil_tmp35 ;
4509 unsigned long __cil_tmp36 ;
4510 unsigned long __cil_tmp37 ;
4511 unsigned long __cil_tmp38 ;
4512 unsigned long __cil_tmp39 ;
4513 unsigned long __cil_tmp40 ;
4514 unsigned long __cil_tmp41 ;
4515 unsigned long __cil_tmp42 ;
4516 unsigned long __cil_tmp43 ;
4517 unsigned long __cil_tmp44 ;
4518 unsigned long __cil_tmp45 ;
4519 unsigned long __cil_tmp46 ;
4520 unsigned long __cil_tmp47 ;
4521 unsigned long __cil_tmp48 ;
4522 unsigned long __cil_tmp49 ;
4523 unsigned long __cil_tmp50 ;
4524 unsigned long __cil_tmp51 ;
4525 unsigned long __cil_tmp52 ;
4526 unsigned long __cil_tmp53 ;
4527 unsigned long __cil_tmp54 ;
4528 unsigned long __cil_tmp55 ;
4529 unsigned long __cil_tmp56 ;
4530 unsigned long __cil_tmp57 ;
4531 unsigned long __cil_tmp58 ;
4532 unsigned long __cil_tmp59 ;
4533 unsigned long __cil_tmp60 ;
4534 unsigned long __cil_tmp61 ;
4535 unsigned long __cil_tmp62 ;
4536 unsigned long __cil_tmp63 ;
4537 unsigned long __cil_tmp64 ;
4538 unsigned long __cil_tmp65 ;
4539 unsigned long __cil_tmp66 ;
4540 unsigned long __cil_tmp67 ;
4541 unsigned long __cil_tmp68 ;
4542 unsigned long __cil_tmp69 ;
4543 unsigned long __cil_tmp70 ;
4544 unsigned long __cil_tmp71 ;
4545 unsigned long __cil_tmp72 ;
4546 unsigned long __cil_tmp73 ;
4547 unsigned long __cil_tmp74 ;
4548 unsigned long __cil_tmp75 ;
4549 unsigned long __cil_tmp76 ;
4550 unsigned long __cil_tmp77 ;
4551 unsigned long __cil_tmp78 ;
4552 unsigned long __cil_tmp79 ;
4553 unsigned long __cil_tmp80 ;
4554 unsigned long __cil_tmp81 ;
4555 unsigned long __cil_tmp82 ;
4556 unsigned long __cil_tmp83 ;
4557 unsigned long __cil_tmp84 ;
4558 unsigned long __cil_tmp85 ;
4559 unsigned long __cil_tmp86 ;
4560 unsigned long __cil_tmp87 ;
4561 unsigned long __cil_tmp88 ;
4562 unsigned long __cil_tmp89 ;
4563 unsigned long __cil_tmp90 ;
4564 unsigned long __cil_tmp91 ;
4565 unsigned long __cil_tmp92 ;
4566 unsigned long __cil_tmp93 ;
4567 struct gsmi_buf *__cil_tmp94 ;
4568 unsigned long __cil_tmp95 ;
4569 unsigned long __cil_tmp96 ;
4570 unsigned long __cil_tmp97 ;
4571 unsigned long __cil_tmp98 ;
4572 unsigned long __cil_tmp99 ;
4573 unsigned long __cil_tmp100 ;
4574 unsigned long __cil_tmp101 ;
4575 struct gsmi_buf *__cil_tmp102 ;
4576 unsigned long __cil_tmp103 ;
4577 unsigned long __cil_tmp104 ;
4578 struct gsmi_nvram_var_param *__cil_tmp105 ;
4579 efi_guid_t *__cil_tmp106 ;
4580 void *__cil_tmp107 ;
4581 void const *__cil_tmp108 ;
4582 struct gsmi_nvram_var_param *__cil_tmp109 ;
4583 efi_guid_t *__cil_tmp110 ;
4584 void *__cil_tmp111 ;
4585 void const *__cil_tmp112 ;
4586 unsigned long __cil_tmp113 ;
4587 struct gsmi_buf *__cil_tmp114 ;
4588 u8 *__cil_tmp115 ;
4589 void *__cil_tmp116 ;
4590 unsigned long __cil_tmp117 ;
4591 struct gsmi_buf *__cil_tmp118 ;
4592 unsigned long __cil_tmp119 ;
4593 unsigned long __cil_tmp120 ;
4594 size_t __cil_tmp121 ;
4595 unsigned long __cil_tmp122 ;
4596 struct gsmi_buf *__cil_tmp123 ;
4597 u8 *__cil_tmp124 ;
4598 void *__cil_tmp125 ;
4599 void const *__cil_tmp126 ;
4600 unsigned long __cil_tmp127 ;
4601 struct gsmi_buf *__cil_tmp128 ;
4602 u8 *__cil_tmp129 ;
4603 void *__cil_tmp130 ;
4604 unsigned long __cil_tmp131 ;
4605 struct gsmi_buf *__cil_tmp132 ;
4606 unsigned long __cil_tmp133 ;
4607 unsigned long __cil_tmp134 ;
4608 size_t __cil_tmp135 ;
4609 unsigned long __cil_tmp136 ;
4610 struct gsmi_buf *__cil_tmp137 ;
4611 u8 *__cil_tmp138 ;
4612 void *__cil_tmp139 ;
4613 unsigned long __cil_tmp140 ;
4614 struct gsmi_buf *__cil_tmp141 ;
4615 unsigned long __cil_tmp142 ;
4616 unsigned long __cil_tmp143 ;
4617 size_t __cil_tmp144 ;
4618 unsigned long __cil_tmp145 ;
4619 struct gsmi_buf *__cil_tmp146 ;
4620 u8 *__cil_tmp147 ;
4621 void *__cil_tmp148 ;
4622 void const *__cil_tmp149 ;
4623 unsigned long __cil_tmp150 ;
4624 struct gsmi_buf *__cil_tmp151 ;
4625 u8 *__cil_tmp152 ;
4626 void *__cil_tmp153 ;
4627 void const *__cil_tmp154 ;
4628 u8 __cil_tmp155 ;
4629 u8 __cil_tmp156 ;
4630 void *__cil_tmp157 ;
4631 unsigned long __cil_tmp158 ;
4632 struct gsmi_buf *__cil_tmp159 ;
4633 u8 *__cil_tmp160 ;
4634 void const *__cil_tmp161 ;
4635 void *__cil_tmp162 ;
4636 unsigned long __cil_tmp163 ;
4637 struct gsmi_buf *__cil_tmp164 ;
4638 u8 *__cil_tmp165 ;
4639 void const *__cil_tmp166 ;
4640 unsigned long __cil_tmp167 ;
4641 struct gsmi_buf *__cil_tmp168 ;
4642 unsigned long __cil_tmp169 ;
4643 unsigned long __cil_tmp170 ;
4644 unsigned long __cil_tmp171 ;
4645 u32 __cil_tmp172 ;
4646 unsigned long __cil_tmp173 ;
4647 struct gsmi_buf *__cil_tmp174 ;
4648 u8 *__cil_tmp175 ;
4649 void const *__cil_tmp176 ;
4650 unsigned long __cil_tmp177 ;
4651 spinlock_t *__cil_tmp178 ;
4652
4653 {
4654 {
4655#line 322
4656 __cil_tmp28 = 0 * 1UL;
4657#line 322
4658 __cil_tmp29 = 0 + __cil_tmp28;
4659#line 322
4660 __cil_tmp30 = 0 + __cil_tmp29;
4661#line 322
4662 __cil_tmp31 = (unsigned long )(& param) + __cil_tmp30;
4663#line 322
4664 *((u8 *)__cil_tmp31) = (unsigned char)0;
4665#line 322
4666 __cil_tmp32 = 1 * 1UL;
4667#line 322
4668 __cil_tmp33 = 0 + __cil_tmp32;
4669#line 322
4670 __cil_tmp34 = 0 + __cil_tmp33;
4671#line 322
4672 __cil_tmp35 = (unsigned long )(& param) + __cil_tmp34;
4673#line 322
4674 *((u8 *)__cil_tmp35) = (unsigned char)0;
4675#line 322
4676 __cil_tmp36 = 2 * 1UL;
4677#line 322
4678 __cil_tmp37 = 0 + __cil_tmp36;
4679#line 322
4680 __cil_tmp38 = 0 + __cil_tmp37;
4681#line 322
4682 __cil_tmp39 = (unsigned long )(& param) + __cil_tmp38;
4683#line 322
4684 *((u8 *)__cil_tmp39) = (unsigned char)0;
4685#line 322
4686 __cil_tmp40 = 3 * 1UL;
4687#line 322
4688 __cil_tmp41 = 0 + __cil_tmp40;
4689#line 322
4690 __cil_tmp42 = 0 + __cil_tmp41;
4691#line 322
4692 __cil_tmp43 = (unsigned long )(& param) + __cil_tmp42;
4693#line 322
4694 *((u8 *)__cil_tmp43) = (unsigned char)0;
4695#line 322
4696 __cil_tmp44 = 4 * 1UL;
4697#line 322
4698 __cil_tmp45 = 0 + __cil_tmp44;
4699#line 322
4700 __cil_tmp46 = 0 + __cil_tmp45;
4701#line 322
4702 __cil_tmp47 = (unsigned long )(& param) + __cil_tmp46;
4703#line 322
4704 *((u8 *)__cil_tmp47) = (unsigned char)0;
4705#line 322
4706 __cil_tmp48 = 5 * 1UL;
4707#line 322
4708 __cil_tmp49 = 0 + __cil_tmp48;
4709#line 322
4710 __cil_tmp50 = 0 + __cil_tmp49;
4711#line 322
4712 __cil_tmp51 = (unsigned long )(& param) + __cil_tmp50;
4713#line 322
4714 *((u8 *)__cil_tmp51) = (unsigned char)0;
4715#line 322
4716 __cil_tmp52 = 6 * 1UL;
4717#line 322
4718 __cil_tmp53 = 0 + __cil_tmp52;
4719#line 322
4720 __cil_tmp54 = 0 + __cil_tmp53;
4721#line 322
4722 __cil_tmp55 = (unsigned long )(& param) + __cil_tmp54;
4723#line 322
4724 *((u8 *)__cil_tmp55) = (unsigned char)0;
4725#line 322
4726 __cil_tmp56 = 7 * 1UL;
4727#line 322
4728 __cil_tmp57 = 0 + __cil_tmp56;
4729#line 322
4730 __cil_tmp58 = 0 + __cil_tmp57;
4731#line 322
4732 __cil_tmp59 = (unsigned long )(& param) + __cil_tmp58;
4733#line 322
4734 *((u8 *)__cil_tmp59) = (unsigned char)0;
4735#line 322
4736 __cil_tmp60 = 8 * 1UL;
4737#line 322
4738 __cil_tmp61 = 0 + __cil_tmp60;
4739#line 322
4740 __cil_tmp62 = 0 + __cil_tmp61;
4741#line 322
4742 __cil_tmp63 = (unsigned long )(& param) + __cil_tmp62;
4743#line 322
4744 *((u8 *)__cil_tmp63) = (unsigned char)0;
4745#line 322
4746 __cil_tmp64 = 9 * 1UL;
4747#line 322
4748 __cil_tmp65 = 0 + __cil_tmp64;
4749#line 322
4750 __cil_tmp66 = 0 + __cil_tmp65;
4751#line 322
4752 __cil_tmp67 = (unsigned long )(& param) + __cil_tmp66;
4753#line 322
4754 *((u8 *)__cil_tmp67) = (unsigned char)0;
4755#line 322
4756 __cil_tmp68 = 10 * 1UL;
4757#line 322
4758 __cil_tmp69 = 0 + __cil_tmp68;
4759#line 322
4760 __cil_tmp70 = 0 + __cil_tmp69;
4761#line 322
4762 __cil_tmp71 = (unsigned long )(& param) + __cil_tmp70;
4763#line 322
4764 *((u8 *)__cil_tmp71) = (unsigned char)0;
4765#line 322
4766 __cil_tmp72 = 11 * 1UL;
4767#line 322
4768 __cil_tmp73 = 0 + __cil_tmp72;
4769#line 322
4770 __cil_tmp74 = 0 + __cil_tmp73;
4771#line 322
4772 __cil_tmp75 = (unsigned long )(& param) + __cil_tmp74;
4773#line 322
4774 *((u8 *)__cil_tmp75) = (unsigned char)0;
4775#line 322
4776 __cil_tmp76 = 12 * 1UL;
4777#line 322
4778 __cil_tmp77 = 0 + __cil_tmp76;
4779#line 322
4780 __cil_tmp78 = 0 + __cil_tmp77;
4781#line 322
4782 __cil_tmp79 = (unsigned long )(& param) + __cil_tmp78;
4783#line 322
4784 *((u8 *)__cil_tmp79) = (unsigned char)0;
4785#line 322
4786 __cil_tmp80 = 13 * 1UL;
4787#line 322
4788 __cil_tmp81 = 0 + __cil_tmp80;
4789#line 322
4790 __cil_tmp82 = 0 + __cil_tmp81;
4791#line 322
4792 __cil_tmp83 = (unsigned long )(& param) + __cil_tmp82;
4793#line 322
4794 *((u8 *)__cil_tmp83) = (unsigned char)0;
4795#line 322
4796 __cil_tmp84 = 14 * 1UL;
4797#line 322
4798 __cil_tmp85 = 0 + __cil_tmp84;
4799#line 322
4800 __cil_tmp86 = 0 + __cil_tmp85;
4801#line 322
4802 __cil_tmp87 = (unsigned long )(& param) + __cil_tmp86;
4803#line 322
4804 *((u8 *)__cil_tmp87) = (unsigned char)0;
4805#line 322
4806 __cil_tmp88 = 15 * 1UL;
4807#line 322
4808 __cil_tmp89 = 0 + __cil_tmp88;
4809#line 322
4810 __cil_tmp90 = 0 + __cil_tmp89;
4811#line 322
4812 __cil_tmp91 = (unsigned long )(& param) + __cil_tmp90;
4813#line 322
4814 *((u8 *)__cil_tmp91) = (unsigned char)0;
4815#line 322
4816 __cil_tmp92 = (unsigned long )(& param) + 16;
4817#line 322
4818 __cil_tmp93 = (unsigned long )(& gsmi_dev) + 8;
4819#line 322
4820 __cil_tmp94 = *((struct gsmi_buf **)__cil_tmp93);
4821#line 322
4822 __cil_tmp95 = (unsigned long )__cil_tmp94;
4823#line 322
4824 __cil_tmp96 = __cil_tmp95 + 24;
4825#line 322
4826 *((u32 *)__cil_tmp92) = *((u32 *)__cil_tmp96);
4827#line 322
4828 __cil_tmp97 = (unsigned long )(& param) + 20;
4829#line 322
4830 *((u32 *)__cil_tmp97) = 0U;
4831#line 322
4832 __cil_tmp98 = (unsigned long )(& param) + 24;
4833#line 322
4834 __cil_tmp99 = *data_size;
4835#line 322
4836 *((u32 *)__cil_tmp98) = (unsigned int )__cil_tmp99;
4837#line 322
4838 __cil_tmp100 = (unsigned long )(& param) + 28;
4839#line 322
4840 __cil_tmp101 = (unsigned long )(& gsmi_dev) + 16;
4841#line 322
4842 __cil_tmp102 = *((struct gsmi_buf **)__cil_tmp101);
4843#line 322
4844 __cil_tmp103 = (unsigned long )__cil_tmp102;
4845#line 322
4846 __cil_tmp104 = __cil_tmp103 + 24;
4847#line 322
4848 *((u32 *)__cil_tmp100) = *((u32 *)__cil_tmp104);
4849#line 327
4850 ret = 0UL;
4851#line 329
4852 tmp = utf16_strlen(name, 512UL);
4853#line 329
4854 name_len = tmp;
4855 }
4856#line 332
4857 if (name_len > 511UL) {
4858#line 333
4859 return (0x8000000000000004UL);
4860 } else {
4861
4862 }
4863 {
4864#line 335
4865 ldv_spin_lock();
4866#line 338
4867 __len = 16UL;
4868 }
4869#line 338
4870 if (__len > 63UL) {
4871 {
4872#line 338
4873 __cil_tmp105 = & param;
4874#line 338
4875 __cil_tmp106 = (efi_guid_t *)__cil_tmp105;
4876#line 338
4877 __cil_tmp107 = (void *)__cil_tmp106;
4878#line 338
4879 __cil_tmp108 = (void const *)vendor;
4880#line 338
4881 __ret = __memcpy(__cil_tmp107, __cil_tmp108, __len);
4882 }
4883 } else {
4884 {
4885#line 338
4886 __cil_tmp109 = & param;
4887#line 338
4888 __cil_tmp110 = (efi_guid_t *)__cil_tmp109;
4889#line 338
4890 __cil_tmp111 = (void *)__cil_tmp110;
4891#line 338
4892 __cil_tmp112 = (void const *)vendor;
4893#line 338
4894 __ret = __builtin_memcpy(__cil_tmp111, __cil_tmp112, __len);
4895 }
4896 }
4897 {
4898#line 341
4899 __cil_tmp113 = (unsigned long )(& gsmi_dev) + 8;
4900#line 341
4901 __cil_tmp114 = *((struct gsmi_buf **)__cil_tmp113);
4902#line 341
4903 __cil_tmp115 = *((u8 **)__cil_tmp114);
4904#line 341
4905 __cil_tmp116 = (void *)__cil_tmp115;
4906#line 341
4907 __cil_tmp117 = (unsigned long )(& gsmi_dev) + 8;
4908#line 341
4909 __cil_tmp118 = *((struct gsmi_buf **)__cil_tmp117);
4910#line 341
4911 __cil_tmp119 = (unsigned long )__cil_tmp118;
4912#line 341
4913 __cil_tmp120 = __cil_tmp119 + 8;
4914#line 341
4915 __cil_tmp121 = *((size_t *)__cil_tmp120);
4916#line 341
4917 memset(__cil_tmp116, 0, __cil_tmp121);
4918#line 342
4919 __len___0 = name_len * 2UL;
4920#line 342
4921 __cil_tmp122 = (unsigned long )(& gsmi_dev) + 8;
4922#line 342
4923 __cil_tmp123 = *((struct gsmi_buf **)__cil_tmp122);
4924#line 342
4925 __cil_tmp124 = *((u8 **)__cil_tmp123);
4926#line 342
4927 __cil_tmp125 = (void *)__cil_tmp124;
4928#line 342
4929 __cil_tmp126 = (void const *)name;
4930#line 342
4931 __ret___0 = __builtin_memcpy(__cil_tmp125, __cil_tmp126, __len___0);
4932#line 345
4933 __cil_tmp127 = (unsigned long )(& gsmi_dev) + 16;
4934#line 345
4935 __cil_tmp128 = *((struct gsmi_buf **)__cil_tmp127);
4936#line 345
4937 __cil_tmp129 = *((u8 **)__cil_tmp128);
4938#line 345
4939 __cil_tmp130 = (void *)__cil_tmp129;
4940#line 345
4941 __cil_tmp131 = (unsigned long )(& gsmi_dev) + 16;
4942#line 345
4943 __cil_tmp132 = *((struct gsmi_buf **)__cil_tmp131);
4944#line 345
4945 __cil_tmp133 = (unsigned long )__cil_tmp132;
4946#line 345
4947 __cil_tmp134 = __cil_tmp133 + 8;
4948#line 345
4949 __cil_tmp135 = *((size_t *)__cil_tmp134);
4950#line 345
4951 memset(__cil_tmp130, 0, __cil_tmp135);
4952#line 348
4953 __cil_tmp136 = (unsigned long )(& gsmi_dev) + 24;
4954#line 348
4955 __cil_tmp137 = *((struct gsmi_buf **)__cil_tmp136);
4956#line 348
4957 __cil_tmp138 = *((u8 **)__cil_tmp137);
4958#line 348
4959 __cil_tmp139 = (void *)__cil_tmp138;
4960#line 348
4961 __cil_tmp140 = (unsigned long )(& gsmi_dev) + 24;
4962#line 348
4963 __cil_tmp141 = *((struct gsmi_buf **)__cil_tmp140);
4964#line 348
4965 __cil_tmp142 = (unsigned long )__cil_tmp141;
4966#line 348
4967 __cil_tmp143 = __cil_tmp142 + 8;
4968#line 348
4969 __cil_tmp144 = *((size_t *)__cil_tmp143);
4970#line 348
4971 memset(__cil_tmp139, 0, __cil_tmp144);
4972#line 349
4973 __len___1 = 32UL;
4974 }
4975#line 349
4976 if (__len___1 > 63UL) {
4977 {
4978#line 349
4979 __cil_tmp145 = (unsigned long )(& gsmi_dev) + 24;
4980#line 349
4981 __cil_tmp146 = *((struct gsmi_buf **)__cil_tmp145);
4982#line 349
4983 __cil_tmp147 = *((u8 **)__cil_tmp146);
4984#line 349
4985 __cil_tmp148 = (void *)__cil_tmp147;
4986#line 349
4987 __cil_tmp149 = (void const *)(& param);
4988#line 349
4989 __ret___1 = __memcpy(__cil_tmp148, __cil_tmp149, __len___1);
4990 }
4991 } else {
4992 {
4993#line 349
4994 __cil_tmp150 = (unsigned long )(& gsmi_dev) + 24;
4995#line 349
4996 __cil_tmp151 = *((struct gsmi_buf **)__cil_tmp150);
4997#line 349
4998 __cil_tmp152 = *((u8 **)__cil_tmp151);
4999#line 349
5000 __cil_tmp153 = (void *)__cil_tmp152;
5001#line 349
5002 __cil_tmp154 = (void const *)(& param);
5003#line 349
5004 __ret___1 = __builtin_memcpy(__cil_tmp153, __cil_tmp154, __len___1);
5005 }
5006 }
5007 {
5008#line 351
5009 __cil_tmp155 = (u8 )239;
5010#line 351
5011 __cil_tmp156 = (u8 )1;
5012#line 351
5013 rc = gsmi_exec(__cil_tmp155, __cil_tmp156);
5014 }
5015#line 352
5016 if (rc < 0) {
5017 {
5018#line 353
5019 printk("<3>gsmi: Get Variable failed\n");
5020#line 354
5021 ret = 0x8000000000000001UL;
5022 }
5023 } else
5024#line 355
5025 if (rc == 1) {
5026#line 357
5027 ret = 0x800000000000000eUL;
5028 } else {
5029#line 360
5030 __len___2 = 32UL;
5031#line 360
5032 if (__len___2 > 63UL) {
5033 {
5034#line 360
5035 __cil_tmp157 = (void *)(& param);
5036#line 360
5037 __cil_tmp158 = (unsigned long )(& gsmi_dev) + 24;
5038#line 360
5039 __cil_tmp159 = *((struct gsmi_buf **)__cil_tmp158);
5040#line 360
5041 __cil_tmp160 = *((u8 **)__cil_tmp159);
5042#line 360
5043 __cil_tmp161 = (void const *)__cil_tmp160;
5044#line 360
5045 __ret___2 = __memcpy(__cil_tmp157, __cil_tmp161, __len___2);
5046 }
5047 } else {
5048 {
5049#line 360
5050 __cil_tmp162 = (void *)(& param);
5051#line 360
5052 __cil_tmp163 = (unsigned long )(& gsmi_dev) + 24;
5053#line 360
5054 __cil_tmp164 = *((struct gsmi_buf **)__cil_tmp163);
5055#line 360
5056 __cil_tmp165 = *((u8 **)__cil_tmp164);
5057#line 360
5058 __cil_tmp166 = (void const *)__cil_tmp165;
5059#line 360
5060 __ret___2 = __builtin_memcpy(__cil_tmp162, __cil_tmp166, __len___2);
5061 }
5062 }
5063#line 363
5064 __min1 = *data_size;
5065#line 363
5066 __cil_tmp167 = (unsigned long )(& gsmi_dev) + 16;
5067#line 363
5068 __cil_tmp168 = *((struct gsmi_buf **)__cil_tmp167);
5069#line 363
5070 __cil_tmp169 = (unsigned long )__cil_tmp168;
5071#line 363
5072 __cil_tmp170 = __cil_tmp169 + 8;
5073#line 363
5074 __min2 = *((size_t *)__cil_tmp170);
5075#line 363
5076 if (__min1 < __min2) {
5077#line 363
5078 tmp___0 = __min1;
5079 } else {
5080#line 363
5081 tmp___0 = __min2;
5082 }
5083#line 363
5084 *data_size = tmp___0;
5085#line 365
5086 __min1___0 = *data_size;
5087#line 365
5088 __cil_tmp171 = (unsigned long )(& param) + 24;
5089#line 365
5090 __cil_tmp172 = *((u32 *)__cil_tmp171);
5091#line 365
5092 __min2___0 = (unsigned long )__cil_tmp172;
5093#line 365
5094 if (__min1___0 < __min2___0) {
5095#line 365
5096 tmp___1 = __min1___0;
5097 } else {
5098#line 365
5099 tmp___1 = __min2___0;
5100 }
5101 {
5102#line 365
5103 *data_size = tmp___1;
5104#line 368
5105 __len___3 = *data_size;
5106#line 368
5107 __cil_tmp173 = (unsigned long )(& gsmi_dev) + 16;
5108#line 368
5109 __cil_tmp174 = *((struct gsmi_buf **)__cil_tmp173);
5110#line 368
5111 __cil_tmp175 = *((u8 **)__cil_tmp174);
5112#line 368
5113 __cil_tmp176 = (void const *)__cil_tmp175;
5114#line 368
5115 __ret___3 = __builtin_memcpy(data, __cil_tmp176, __len___3);
5116#line 371
5117 *attr = 7U;
5118 }
5119 }
5120 {
5121#line 376
5122 __cil_tmp177 = (unsigned long )(& gsmi_dev) + 32;
5123#line 376
5124 __cil_tmp178 = (spinlock_t *)__cil_tmp177;
5125#line 376
5126 spin_unlock_irqrestore(__cil_tmp178, flags);
5127 }
5128#line 378
5129 return (ret);
5130}
5131}
5132#line 381 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
5133static efi_status_t gsmi_get_next_variable(unsigned long *name_size , efi_char16_t *name ,
5134 efi_guid_t *vendor )
5135{ struct gsmi_get_next_var_param param ;
5136 efi_status_t ret ;
5137 int rc ;
5138 unsigned long flags ;
5139 size_t tmp ;
5140 size_t __len ;
5141 void *__ret ;
5142 size_t __len___0 ;
5143 void *__ret___0 ;
5144 size_t __len___1 ;
5145 void *__ret___1 ;
5146 size_t __len___2 ;
5147 void *__ret___2 ;
5148 size_t __len___3 ;
5149 void *__ret___3 ;
5150 size_t tmp___0 ;
5151 size_t __len___4 ;
5152 void *__ret___4 ;
5153 unsigned long __cil_tmp22 ;
5154 unsigned long __cil_tmp23 ;
5155 unsigned long __cil_tmp24 ;
5156 unsigned long __cil_tmp25 ;
5157 unsigned long __cil_tmp26 ;
5158 unsigned long __cil_tmp27 ;
5159 unsigned long __cil_tmp28 ;
5160 unsigned long __cil_tmp29 ;
5161 unsigned long __cil_tmp30 ;
5162 unsigned long __cil_tmp31 ;
5163 unsigned long __cil_tmp32 ;
5164 unsigned long __cil_tmp33 ;
5165 unsigned long __cil_tmp34 ;
5166 unsigned long __cil_tmp35 ;
5167 unsigned long __cil_tmp36 ;
5168 unsigned long __cil_tmp37 ;
5169 unsigned long __cil_tmp38 ;
5170 unsigned long __cil_tmp39 ;
5171 unsigned long __cil_tmp40 ;
5172 unsigned long __cil_tmp41 ;
5173 unsigned long __cil_tmp42 ;
5174 unsigned long __cil_tmp43 ;
5175 unsigned long __cil_tmp44 ;
5176 unsigned long __cil_tmp45 ;
5177 unsigned long __cil_tmp46 ;
5178 unsigned long __cil_tmp47 ;
5179 unsigned long __cil_tmp48 ;
5180 unsigned long __cil_tmp49 ;
5181 unsigned long __cil_tmp50 ;
5182 unsigned long __cil_tmp51 ;
5183 unsigned long __cil_tmp52 ;
5184 unsigned long __cil_tmp53 ;
5185 unsigned long __cil_tmp54 ;
5186 unsigned long __cil_tmp55 ;
5187 unsigned long __cil_tmp56 ;
5188 unsigned long __cil_tmp57 ;
5189 unsigned long __cil_tmp58 ;
5190 unsigned long __cil_tmp59 ;
5191 unsigned long __cil_tmp60 ;
5192 unsigned long __cil_tmp61 ;
5193 unsigned long __cil_tmp62 ;
5194 unsigned long __cil_tmp63 ;
5195 unsigned long __cil_tmp64 ;
5196 unsigned long __cil_tmp65 ;
5197 unsigned long __cil_tmp66 ;
5198 unsigned long __cil_tmp67 ;
5199 unsigned long __cil_tmp68 ;
5200 unsigned long __cil_tmp69 ;
5201 unsigned long __cil_tmp70 ;
5202 unsigned long __cil_tmp71 ;
5203 struct gsmi_buf *__cil_tmp72 ;
5204 unsigned long __cil_tmp73 ;
5205 unsigned long __cil_tmp74 ;
5206 unsigned long __cil_tmp75 ;
5207 unsigned long __cil_tmp76 ;
5208 struct gsmi_buf *__cil_tmp77 ;
5209 unsigned long __cil_tmp78 ;
5210 unsigned long __cil_tmp79 ;
5211 size_t __cil_tmp80 ;
5212 unsigned long __cil_tmp81 ;
5213 struct gsmi_get_next_var_param *__cil_tmp82 ;
5214 u8 (*__cil_tmp83)[16U] ;
5215 void *__cil_tmp84 ;
5216 void const *__cil_tmp85 ;
5217 struct gsmi_get_next_var_param *__cil_tmp86 ;
5218 u8 (*__cil_tmp87)[16U] ;
5219 void *__cil_tmp88 ;
5220 void const *__cil_tmp89 ;
5221 unsigned long __cil_tmp90 ;
5222 struct gsmi_buf *__cil_tmp91 ;
5223 u8 *__cil_tmp92 ;
5224 void *__cil_tmp93 ;
5225 void const *__cil_tmp94 ;
5226 unsigned long __cil_tmp95 ;
5227 struct gsmi_buf *__cil_tmp96 ;
5228 u8 *__cil_tmp97 ;
5229 void *__cil_tmp98 ;
5230 unsigned long __cil_tmp99 ;
5231 struct gsmi_buf *__cil_tmp100 ;
5232 unsigned long __cil_tmp101 ;
5233 unsigned long __cil_tmp102 ;
5234 size_t __cil_tmp103 ;
5235 unsigned long __cil_tmp104 ;
5236 struct gsmi_buf *__cil_tmp105 ;
5237 u8 *__cil_tmp106 ;
5238 void *__cil_tmp107 ;
5239 void const *__cil_tmp108 ;
5240 unsigned long __cil_tmp109 ;
5241 struct gsmi_buf *__cil_tmp110 ;
5242 u8 *__cil_tmp111 ;
5243 void *__cil_tmp112 ;
5244 void const *__cil_tmp113 ;
5245 u8 __cil_tmp114 ;
5246 u8 __cil_tmp115 ;
5247 void *__cil_tmp116 ;
5248 unsigned long __cil_tmp117 ;
5249 struct gsmi_buf *__cil_tmp118 ;
5250 u8 *__cil_tmp119 ;
5251 void const *__cil_tmp120 ;
5252 void *__cil_tmp121 ;
5253 unsigned long __cil_tmp122 ;
5254 struct gsmi_buf *__cil_tmp123 ;
5255 u8 *__cil_tmp124 ;
5256 void const *__cil_tmp125 ;
5257 void *__cil_tmp126 ;
5258 unsigned long __cil_tmp127 ;
5259 struct gsmi_buf *__cil_tmp128 ;
5260 u8 *__cil_tmp129 ;
5261 void const *__cil_tmp130 ;
5262 void *__cil_tmp131 ;
5263 unsigned long __cil_tmp132 ;
5264 struct gsmi_buf *__cil_tmp133 ;
5265 u8 *__cil_tmp134 ;
5266 void const *__cil_tmp135 ;
5267 void *__cil_tmp136 ;
5268 struct gsmi_get_next_var_param *__cil_tmp137 ;
5269 u8 (*__cil_tmp138)[16U] ;
5270 void const *__cil_tmp139 ;
5271 void *__cil_tmp140 ;
5272 struct gsmi_get_next_var_param *__cil_tmp141 ;
5273 u8 (*__cil_tmp142)[16U] ;
5274 void const *__cil_tmp143 ;
5275 unsigned long __cil_tmp144 ;
5276 spinlock_t *__cil_tmp145 ;
5277
5278 {
5279#line 385
5280 __cil_tmp22 = 0 * 1UL;
5281#line 385
5282 __cil_tmp23 = 0 + __cil_tmp22;
5283#line 385
5284 __cil_tmp24 = (unsigned long )(& param) + __cil_tmp23;
5285#line 385
5286 *((u8 *)__cil_tmp24) = (unsigned char)0;
5287#line 385
5288 __cil_tmp25 = 1 * 1UL;
5289#line 385
5290 __cil_tmp26 = 0 + __cil_tmp25;
5291#line 385
5292 __cil_tmp27 = (unsigned long )(& param) + __cil_tmp26;
5293#line 385
5294 *((u8 *)__cil_tmp27) = (unsigned char)0;
5295#line 385
5296 __cil_tmp28 = 2 * 1UL;
5297#line 385
5298 __cil_tmp29 = 0 + __cil_tmp28;
5299#line 385
5300 __cil_tmp30 = (unsigned long )(& param) + __cil_tmp29;
5301#line 385
5302 *((u8 *)__cil_tmp30) = (unsigned char)0;
5303#line 385
5304 __cil_tmp31 = 3 * 1UL;
5305#line 385
5306 __cil_tmp32 = 0 + __cil_tmp31;
5307#line 385
5308 __cil_tmp33 = (unsigned long )(& param) + __cil_tmp32;
5309#line 385
5310 *((u8 *)__cil_tmp33) = (unsigned char)0;
5311#line 385
5312 __cil_tmp34 = 4 * 1UL;
5313#line 385
5314 __cil_tmp35 = 0 + __cil_tmp34;
5315#line 385
5316 __cil_tmp36 = (unsigned long )(& param) + __cil_tmp35;
5317#line 385
5318 *((u8 *)__cil_tmp36) = (unsigned char)0;
5319#line 385
5320 __cil_tmp37 = 5 * 1UL;
5321#line 385
5322 __cil_tmp38 = 0 + __cil_tmp37;
5323#line 385
5324 __cil_tmp39 = (unsigned long )(& param) + __cil_tmp38;
5325#line 385
5326 *((u8 *)__cil_tmp39) = (unsigned char)0;
5327#line 385
5328 __cil_tmp40 = 6 * 1UL;
5329#line 385
5330 __cil_tmp41 = 0 + __cil_tmp40;
5331#line 385
5332 __cil_tmp42 = (unsigned long )(& param) + __cil_tmp41;
5333#line 385
5334 *((u8 *)__cil_tmp42) = (unsigned char)0;
5335#line 385
5336 __cil_tmp43 = 7 * 1UL;
5337#line 385
5338 __cil_tmp44 = 0 + __cil_tmp43;
5339#line 385
5340 __cil_tmp45 = (unsigned long )(& param) + __cil_tmp44;
5341#line 385
5342 *((u8 *)__cil_tmp45) = (unsigned char)0;
5343#line 385
5344 __cil_tmp46 = 8 * 1UL;
5345#line 385
5346 __cil_tmp47 = 0 + __cil_tmp46;
5347#line 385
5348 __cil_tmp48 = (unsigned long )(& param) + __cil_tmp47;
5349#line 385
5350 *((u8 *)__cil_tmp48) = (unsigned char)0;
5351#line 385
5352 __cil_tmp49 = 9 * 1UL;
5353#line 385
5354 __cil_tmp50 = 0 + __cil_tmp49;
5355#line 385
5356 __cil_tmp51 = (unsigned long )(& param) + __cil_tmp50;
5357#line 385
5358 *((u8 *)__cil_tmp51) = (unsigned char)0;
5359#line 385
5360 __cil_tmp52 = 10 * 1UL;
5361#line 385
5362 __cil_tmp53 = 0 + __cil_tmp52;
5363#line 385
5364 __cil_tmp54 = (unsigned long )(& param) + __cil_tmp53;
5365#line 385
5366 *((u8 *)__cil_tmp54) = (unsigned char)0;
5367#line 385
5368 __cil_tmp55 = 11 * 1UL;
5369#line 385
5370 __cil_tmp56 = 0 + __cil_tmp55;
5371#line 385
5372 __cil_tmp57 = (unsigned long )(& param) + __cil_tmp56;
5373#line 385
5374 *((u8 *)__cil_tmp57) = (unsigned char)0;
5375#line 385
5376 __cil_tmp58 = 12 * 1UL;
5377#line 385
5378 __cil_tmp59 = 0 + __cil_tmp58;
5379#line 385
5380 __cil_tmp60 = (unsigned long )(& param) + __cil_tmp59;
5381#line 385
5382 *((u8 *)__cil_tmp60) = (unsigned char)0;
5383#line 385
5384 __cil_tmp61 = 13 * 1UL;
5385#line 385
5386 __cil_tmp62 = 0 + __cil_tmp61;
5387#line 385
5388 __cil_tmp63 = (unsigned long )(& param) + __cil_tmp62;
5389#line 385
5390 *((u8 *)__cil_tmp63) = (unsigned char)0;
5391#line 385
5392 __cil_tmp64 = 14 * 1UL;
5393#line 385
5394 __cil_tmp65 = 0 + __cil_tmp64;
5395#line 385
5396 __cil_tmp66 = (unsigned long )(& param) + __cil_tmp65;
5397#line 385
5398 *((u8 *)__cil_tmp66) = (unsigned char)0;
5399#line 385
5400 __cil_tmp67 = 15 * 1UL;
5401#line 385
5402 __cil_tmp68 = 0 + __cil_tmp67;
5403#line 385
5404 __cil_tmp69 = (unsigned long )(& param) + __cil_tmp68;
5405#line 385
5406 *((u8 *)__cil_tmp69) = (unsigned char)0;
5407#line 385
5408 __cil_tmp70 = (unsigned long )(& param) + 16;
5409#line 385
5410 __cil_tmp71 = (unsigned long )(& gsmi_dev) + 8;
5411#line 385
5412 __cil_tmp72 = *((struct gsmi_buf **)__cil_tmp71);
5413#line 385
5414 __cil_tmp73 = (unsigned long )__cil_tmp72;
5415#line 385
5416 __cil_tmp74 = __cil_tmp73 + 24;
5417#line 385
5418 *((u32 *)__cil_tmp70) = *((u32 *)__cil_tmp74);
5419#line 385
5420 __cil_tmp75 = (unsigned long )(& param) + 20;
5421#line 385
5422 __cil_tmp76 = (unsigned long )(& gsmi_dev) + 8;
5423#line 385
5424 __cil_tmp77 = *((struct gsmi_buf **)__cil_tmp76);
5425#line 385
5426 __cil_tmp78 = (unsigned long )__cil_tmp77;
5427#line 385
5428 __cil_tmp79 = __cil_tmp78 + 8;
5429#line 385
5430 __cil_tmp80 = *((size_t *)__cil_tmp79);
5431#line 385
5432 *((u32 *)__cil_tmp75) = (unsigned int )__cil_tmp80;
5433#line 389
5434 ret = 0UL;
5435 {
5436#line 394
5437 __cil_tmp81 = *name_size;
5438#line 394
5439 if (__cil_tmp81 != 1024UL) {
5440#line 395
5441 return (0x8000000000000004UL);
5442 } else {
5443
5444 }
5445 }
5446 {
5447#line 398
5448 tmp = utf16_strlen(name, 512UL);
5449 }
5450#line 398
5451 if (tmp == 512UL) {
5452#line 399
5453 return (0x8000000000000002UL);
5454 } else {
5455
5456 }
5457 {
5458#line 401
5459 ldv_spin_lock();
5460#line 404
5461 __len = 16UL;
5462 }
5463#line 404
5464 if (__len > 63UL) {
5465 {
5466#line 404
5467 __cil_tmp82 = & param;
5468#line 404
5469 __cil_tmp83 = (u8 (*)[16U])__cil_tmp82;
5470#line 404
5471 __cil_tmp84 = (void *)__cil_tmp83;
5472#line 404
5473 __cil_tmp85 = (void const *)vendor;
5474#line 404
5475 __ret = __memcpy(__cil_tmp84, __cil_tmp85, __len);
5476 }
5477 } else {
5478 {
5479#line 404
5480 __cil_tmp86 = & param;
5481#line 404
5482 __cil_tmp87 = (u8 (*)[16U])__cil_tmp86;
5483#line 404
5484 __cil_tmp88 = (void *)__cil_tmp87;
5485#line 404
5486 __cil_tmp89 = (void const *)vendor;
5487#line 404
5488 __ret = __builtin_memcpy(__cil_tmp88, __cil_tmp89, __len);
5489 }
5490 }
5491 {
5492#line 407
5493 __len___0 = *name_size;
5494#line 407
5495 __cil_tmp90 = (unsigned long )(& gsmi_dev) + 8;
5496#line 407
5497 __cil_tmp91 = *((struct gsmi_buf **)__cil_tmp90);
5498#line 407
5499 __cil_tmp92 = *((u8 **)__cil_tmp91);
5500#line 407
5501 __cil_tmp93 = (void *)__cil_tmp92;
5502#line 407
5503 __cil_tmp94 = (void const *)name;
5504#line 407
5505 __ret___0 = __builtin_memcpy(__cil_tmp93, __cil_tmp94, __len___0);
5506#line 410
5507 __cil_tmp95 = (unsigned long )(& gsmi_dev) + 24;
5508#line 410
5509 __cil_tmp96 = *((struct gsmi_buf **)__cil_tmp95);
5510#line 410
5511 __cil_tmp97 = *((u8 **)__cil_tmp96);
5512#line 410
5513 __cil_tmp98 = (void *)__cil_tmp97;
5514#line 410
5515 __cil_tmp99 = (unsigned long )(& gsmi_dev) + 24;
5516#line 410
5517 __cil_tmp100 = *((struct gsmi_buf **)__cil_tmp99);
5518#line 410
5519 __cil_tmp101 = (unsigned long )__cil_tmp100;
5520#line 410
5521 __cil_tmp102 = __cil_tmp101 + 8;
5522#line 410
5523 __cil_tmp103 = *((size_t *)__cil_tmp102);
5524#line 410
5525 memset(__cil_tmp98, 0, __cil_tmp103);
5526#line 411
5527 __len___1 = 24UL;
5528 }
5529#line 411
5530 if (__len___1 > 63UL) {
5531 {
5532#line 411
5533 __cil_tmp104 = (unsigned long )(& gsmi_dev) + 24;
5534#line 411
5535 __cil_tmp105 = *((struct gsmi_buf **)__cil_tmp104);
5536#line 411
5537 __cil_tmp106 = *((u8 **)__cil_tmp105);
5538#line 411
5539 __cil_tmp107 = (void *)__cil_tmp106;
5540#line 411
5541 __cil_tmp108 = (void const *)(& param);
5542#line 411
5543 __ret___1 = __memcpy(__cil_tmp107, __cil_tmp108, __len___1);
5544 }
5545 } else {
5546 {
5547#line 411
5548 __cil_tmp109 = (unsigned long )(& gsmi_dev) + 24;
5549#line 411
5550 __cil_tmp110 = *((struct gsmi_buf **)__cil_tmp109);
5551#line 411
5552 __cil_tmp111 = *((u8 **)__cil_tmp110);
5553#line 411
5554 __cil_tmp112 = (void *)__cil_tmp111;
5555#line 411
5556 __cil_tmp113 = (void const *)(& param);
5557#line 411
5558 __ret___1 = __builtin_memcpy(__cil_tmp112, __cil_tmp113, __len___1);
5559 }
5560 }
5561 {
5562#line 413
5563 __cil_tmp114 = (u8 )239;
5564#line 413
5565 __cil_tmp115 = (u8 )2;
5566#line 413
5567 rc = gsmi_exec(__cil_tmp114, __cil_tmp115);
5568 }
5569#line 414
5570 if (rc < 0) {
5571 {
5572#line 415
5573 printk("<3>gsmi: Get Next Variable Name failed\n");
5574#line 416
5575 ret = 0x8000000000000001UL;
5576 }
5577 } else
5578#line 417
5579 if (rc == 1) {
5580#line 419
5581 ret = 0x800000000000000eUL;
5582 } else {
5583#line 422
5584 __len___2 = 24UL;
5585#line 422
5586 if (__len___2 > 63UL) {
5587 {
5588#line 422
5589 __cil_tmp116 = (void *)(& param);
5590#line 422
5591 __cil_tmp117 = (unsigned long )(& gsmi_dev) + 24;
5592#line 422
5593 __cil_tmp118 = *((struct gsmi_buf **)__cil_tmp117);
5594#line 422
5595 __cil_tmp119 = *((u8 **)__cil_tmp118);
5596#line 422
5597 __cil_tmp120 = (void const *)__cil_tmp119;
5598#line 422
5599 __ret___2 = __memcpy(__cil_tmp116, __cil_tmp120, __len___2);
5600 }
5601 } else {
5602 {
5603#line 422
5604 __cil_tmp121 = (void *)(& param);
5605#line 422
5606 __cil_tmp122 = (unsigned long )(& gsmi_dev) + 24;
5607#line 422
5608 __cil_tmp123 = *((struct gsmi_buf **)__cil_tmp122);
5609#line 422
5610 __cil_tmp124 = *((u8 **)__cil_tmp123);
5611#line 422
5612 __cil_tmp125 = (void const *)__cil_tmp124;
5613#line 422
5614 __ret___2 = __builtin_memcpy(__cil_tmp121, __cil_tmp125, __len___2);
5615 }
5616 }
5617#line 425
5618 __len___3 = 1024UL;
5619#line 425
5620 if (__len___3 > 63UL) {
5621 {
5622#line 425
5623 __cil_tmp126 = (void *)name;
5624#line 425
5625 __cil_tmp127 = (unsigned long )(& gsmi_dev) + 8;
5626#line 425
5627 __cil_tmp128 = *((struct gsmi_buf **)__cil_tmp127);
5628#line 425
5629 __cil_tmp129 = *((u8 **)__cil_tmp128);
5630#line 425
5631 __cil_tmp130 = (void const *)__cil_tmp129;
5632#line 425
5633 __ret___3 = __memcpy(__cil_tmp126, __cil_tmp130, __len___3);
5634 }
5635 } else {
5636 {
5637#line 425
5638 __cil_tmp131 = (void *)name;
5639#line 425
5640 __cil_tmp132 = (unsigned long )(& gsmi_dev) + 8;
5641#line 425
5642 __cil_tmp133 = *((struct gsmi_buf **)__cil_tmp132);
5643#line 425
5644 __cil_tmp134 = *((u8 **)__cil_tmp133);
5645#line 425
5646 __cil_tmp135 = (void const *)__cil_tmp134;
5647#line 425
5648 __ret___3 = __builtin_memcpy(__cil_tmp131, __cil_tmp135, __len___3);
5649 }
5650 }
5651 {
5652#line 426
5653 tmp___0 = utf16_strlen(name, 512UL);
5654#line 426
5655 *name_size = tmp___0 * 2UL;
5656#line 429
5657 __len___4 = 16UL;
5658 }
5659#line 429
5660 if (__len___4 > 63UL) {
5661 {
5662#line 429
5663 __cil_tmp136 = (void *)vendor;
5664#line 429
5665 __cil_tmp137 = & param;
5666#line 429
5667 __cil_tmp138 = (u8 (*)[16U])__cil_tmp137;
5668#line 429
5669 __cil_tmp139 = (void const *)__cil_tmp138;
5670#line 429
5671 __ret___4 = __memcpy(__cil_tmp136, __cil_tmp139, __len___4);
5672 }
5673 } else {
5674 {
5675#line 429
5676 __cil_tmp140 = (void *)vendor;
5677#line 429
5678 __cil_tmp141 = & param;
5679#line 429
5680 __cil_tmp142 = (u8 (*)[16U])__cil_tmp141;
5681#line 429
5682 __cil_tmp143 = (void const *)__cil_tmp142;
5683#line 429
5684 __ret___4 = __builtin_memcpy(__cil_tmp140, __cil_tmp143, __len___4);
5685 }
5686 }
5687#line 430
5688 ret = 0UL;
5689 }
5690 {
5691#line 433
5692 __cil_tmp144 = (unsigned long )(& gsmi_dev) + 32;
5693#line 433
5694 __cil_tmp145 = (spinlock_t *)__cil_tmp144;
5695#line 433
5696 spin_unlock_irqrestore(__cil_tmp145, flags);
5697 }
5698#line 435
5699 return (ret);
5700}
5701}
5702#line 438 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
5703static efi_status_t gsmi_set_variable(efi_char16_t *name , efi_guid_t *vendor , u32 attr ,
5704 unsigned long data_size , void *data )
5705{ struct gsmi_nvram_var_param param ;
5706 size_t name_len ;
5707 size_t tmp ;
5708 efi_status_t ret ;
5709 int rc ;
5710 unsigned long flags ;
5711 size_t __len ;
5712 void *__ret ;
5713 size_t __len___0 ;
5714 void *__ret___0 ;
5715 size_t __len___1 ;
5716 void *__ret___1 ;
5717 size_t __len___2 ;
5718 void *__ret___2 ;
5719 unsigned long __cil_tmp20 ;
5720 unsigned long __cil_tmp21 ;
5721 unsigned long __cil_tmp22 ;
5722 unsigned long __cil_tmp23 ;
5723 unsigned long __cil_tmp24 ;
5724 unsigned long __cil_tmp25 ;
5725 unsigned long __cil_tmp26 ;
5726 unsigned long __cil_tmp27 ;
5727 unsigned long __cil_tmp28 ;
5728 unsigned long __cil_tmp29 ;
5729 unsigned long __cil_tmp30 ;
5730 unsigned long __cil_tmp31 ;
5731 unsigned long __cil_tmp32 ;
5732 unsigned long __cil_tmp33 ;
5733 unsigned long __cil_tmp34 ;
5734 unsigned long __cil_tmp35 ;
5735 unsigned long __cil_tmp36 ;
5736 unsigned long __cil_tmp37 ;
5737 unsigned long __cil_tmp38 ;
5738 unsigned long __cil_tmp39 ;
5739 unsigned long __cil_tmp40 ;
5740 unsigned long __cil_tmp41 ;
5741 unsigned long __cil_tmp42 ;
5742 unsigned long __cil_tmp43 ;
5743 unsigned long __cil_tmp44 ;
5744 unsigned long __cil_tmp45 ;
5745 unsigned long __cil_tmp46 ;
5746 unsigned long __cil_tmp47 ;
5747 unsigned long __cil_tmp48 ;
5748 unsigned long __cil_tmp49 ;
5749 unsigned long __cil_tmp50 ;
5750 unsigned long __cil_tmp51 ;
5751 unsigned long __cil_tmp52 ;
5752 unsigned long __cil_tmp53 ;
5753 unsigned long __cil_tmp54 ;
5754 unsigned long __cil_tmp55 ;
5755 unsigned long __cil_tmp56 ;
5756 unsigned long __cil_tmp57 ;
5757 unsigned long __cil_tmp58 ;
5758 unsigned long __cil_tmp59 ;
5759 unsigned long __cil_tmp60 ;
5760 unsigned long __cil_tmp61 ;
5761 unsigned long __cil_tmp62 ;
5762 unsigned long __cil_tmp63 ;
5763 unsigned long __cil_tmp64 ;
5764 unsigned long __cil_tmp65 ;
5765 unsigned long __cil_tmp66 ;
5766 unsigned long __cil_tmp67 ;
5767 unsigned long __cil_tmp68 ;
5768 unsigned long __cil_tmp69 ;
5769 unsigned long __cil_tmp70 ;
5770 unsigned long __cil_tmp71 ;
5771 unsigned long __cil_tmp72 ;
5772 unsigned long __cil_tmp73 ;
5773 unsigned long __cil_tmp74 ;
5774 unsigned long __cil_tmp75 ;
5775 unsigned long __cil_tmp76 ;
5776 unsigned long __cil_tmp77 ;
5777 unsigned long __cil_tmp78 ;
5778 unsigned long __cil_tmp79 ;
5779 unsigned long __cil_tmp80 ;
5780 unsigned long __cil_tmp81 ;
5781 unsigned long __cil_tmp82 ;
5782 unsigned long __cil_tmp83 ;
5783 unsigned long __cil_tmp84 ;
5784 unsigned long __cil_tmp85 ;
5785 struct gsmi_buf *__cil_tmp86 ;
5786 unsigned long __cil_tmp87 ;
5787 unsigned long __cil_tmp88 ;
5788 unsigned long __cil_tmp89 ;
5789 unsigned long __cil_tmp90 ;
5790 unsigned long __cil_tmp91 ;
5791 unsigned long __cil_tmp92 ;
5792 struct gsmi_buf *__cil_tmp93 ;
5793 unsigned long __cil_tmp94 ;
5794 unsigned long __cil_tmp95 ;
5795 struct gsmi_nvram_var_param *__cil_tmp96 ;
5796 efi_guid_t *__cil_tmp97 ;
5797 void *__cil_tmp98 ;
5798 void const *__cil_tmp99 ;
5799 struct gsmi_nvram_var_param *__cil_tmp100 ;
5800 efi_guid_t *__cil_tmp101 ;
5801 void *__cil_tmp102 ;
5802 void const *__cil_tmp103 ;
5803 unsigned long __cil_tmp104 ;
5804 struct gsmi_buf *__cil_tmp105 ;
5805 u8 *__cil_tmp106 ;
5806 void *__cil_tmp107 ;
5807 unsigned long __cil_tmp108 ;
5808 struct gsmi_buf *__cil_tmp109 ;
5809 unsigned long __cil_tmp110 ;
5810 unsigned long __cil_tmp111 ;
5811 size_t __cil_tmp112 ;
5812 unsigned long __cil_tmp113 ;
5813 struct gsmi_buf *__cil_tmp114 ;
5814 u8 *__cil_tmp115 ;
5815 void *__cil_tmp116 ;
5816 void const *__cil_tmp117 ;
5817 unsigned long __cil_tmp118 ;
5818 struct gsmi_buf *__cil_tmp119 ;
5819 u8 *__cil_tmp120 ;
5820 void *__cil_tmp121 ;
5821 unsigned long __cil_tmp122 ;
5822 struct gsmi_buf *__cil_tmp123 ;
5823 unsigned long __cil_tmp124 ;
5824 unsigned long __cil_tmp125 ;
5825 size_t __cil_tmp126 ;
5826 unsigned long __cil_tmp127 ;
5827 struct gsmi_buf *__cil_tmp128 ;
5828 u8 *__cil_tmp129 ;
5829 void *__cil_tmp130 ;
5830 void const *__cil_tmp131 ;
5831 unsigned long __cil_tmp132 ;
5832 struct gsmi_buf *__cil_tmp133 ;
5833 u8 *__cil_tmp134 ;
5834 void *__cil_tmp135 ;
5835 unsigned long __cil_tmp136 ;
5836 struct gsmi_buf *__cil_tmp137 ;
5837 unsigned long __cil_tmp138 ;
5838 unsigned long __cil_tmp139 ;
5839 size_t __cil_tmp140 ;
5840 unsigned long __cil_tmp141 ;
5841 struct gsmi_buf *__cil_tmp142 ;
5842 u8 *__cil_tmp143 ;
5843 void *__cil_tmp144 ;
5844 void const *__cil_tmp145 ;
5845 unsigned long __cil_tmp146 ;
5846 struct gsmi_buf *__cil_tmp147 ;
5847 u8 *__cil_tmp148 ;
5848 void *__cil_tmp149 ;
5849 void const *__cil_tmp150 ;
5850 u8 __cil_tmp151 ;
5851 u8 __cil_tmp152 ;
5852 unsigned long __cil_tmp153 ;
5853 spinlock_t *__cil_tmp154 ;
5854
5855 {
5856 {
5857#line 444
5858 __cil_tmp20 = 0 * 1UL;
5859#line 444
5860 __cil_tmp21 = 0 + __cil_tmp20;
5861#line 444
5862 __cil_tmp22 = 0 + __cil_tmp21;
5863#line 444
5864 __cil_tmp23 = (unsigned long )(& param) + __cil_tmp22;
5865#line 444
5866 *((u8 *)__cil_tmp23) = (unsigned char)0;
5867#line 444
5868 __cil_tmp24 = 1 * 1UL;
5869#line 444
5870 __cil_tmp25 = 0 + __cil_tmp24;
5871#line 444
5872 __cil_tmp26 = 0 + __cil_tmp25;
5873#line 444
5874 __cil_tmp27 = (unsigned long )(& param) + __cil_tmp26;
5875#line 444
5876 *((u8 *)__cil_tmp27) = (unsigned char)0;
5877#line 444
5878 __cil_tmp28 = 2 * 1UL;
5879#line 444
5880 __cil_tmp29 = 0 + __cil_tmp28;
5881#line 444
5882 __cil_tmp30 = 0 + __cil_tmp29;
5883#line 444
5884 __cil_tmp31 = (unsigned long )(& param) + __cil_tmp30;
5885#line 444
5886 *((u8 *)__cil_tmp31) = (unsigned char)0;
5887#line 444
5888 __cil_tmp32 = 3 * 1UL;
5889#line 444
5890 __cil_tmp33 = 0 + __cil_tmp32;
5891#line 444
5892 __cil_tmp34 = 0 + __cil_tmp33;
5893#line 444
5894 __cil_tmp35 = (unsigned long )(& param) + __cil_tmp34;
5895#line 444
5896 *((u8 *)__cil_tmp35) = (unsigned char)0;
5897#line 444
5898 __cil_tmp36 = 4 * 1UL;
5899#line 444
5900 __cil_tmp37 = 0 + __cil_tmp36;
5901#line 444
5902 __cil_tmp38 = 0 + __cil_tmp37;
5903#line 444
5904 __cil_tmp39 = (unsigned long )(& param) + __cil_tmp38;
5905#line 444
5906 *((u8 *)__cil_tmp39) = (unsigned char)0;
5907#line 444
5908 __cil_tmp40 = 5 * 1UL;
5909#line 444
5910 __cil_tmp41 = 0 + __cil_tmp40;
5911#line 444
5912 __cil_tmp42 = 0 + __cil_tmp41;
5913#line 444
5914 __cil_tmp43 = (unsigned long )(& param) + __cil_tmp42;
5915#line 444
5916 *((u8 *)__cil_tmp43) = (unsigned char)0;
5917#line 444
5918 __cil_tmp44 = 6 * 1UL;
5919#line 444
5920 __cil_tmp45 = 0 + __cil_tmp44;
5921#line 444
5922 __cil_tmp46 = 0 + __cil_tmp45;
5923#line 444
5924 __cil_tmp47 = (unsigned long )(& param) + __cil_tmp46;
5925#line 444
5926 *((u8 *)__cil_tmp47) = (unsigned char)0;
5927#line 444
5928 __cil_tmp48 = 7 * 1UL;
5929#line 444
5930 __cil_tmp49 = 0 + __cil_tmp48;
5931#line 444
5932 __cil_tmp50 = 0 + __cil_tmp49;
5933#line 444
5934 __cil_tmp51 = (unsigned long )(& param) + __cil_tmp50;
5935#line 444
5936 *((u8 *)__cil_tmp51) = (unsigned char)0;
5937#line 444
5938 __cil_tmp52 = 8 * 1UL;
5939#line 444
5940 __cil_tmp53 = 0 + __cil_tmp52;
5941#line 444
5942 __cil_tmp54 = 0 + __cil_tmp53;
5943#line 444
5944 __cil_tmp55 = (unsigned long )(& param) + __cil_tmp54;
5945#line 444
5946 *((u8 *)__cil_tmp55) = (unsigned char)0;
5947#line 444
5948 __cil_tmp56 = 9 * 1UL;
5949#line 444
5950 __cil_tmp57 = 0 + __cil_tmp56;
5951#line 444
5952 __cil_tmp58 = 0 + __cil_tmp57;
5953#line 444
5954 __cil_tmp59 = (unsigned long )(& param) + __cil_tmp58;
5955#line 444
5956 *((u8 *)__cil_tmp59) = (unsigned char)0;
5957#line 444
5958 __cil_tmp60 = 10 * 1UL;
5959#line 444
5960 __cil_tmp61 = 0 + __cil_tmp60;
5961#line 444
5962 __cil_tmp62 = 0 + __cil_tmp61;
5963#line 444
5964 __cil_tmp63 = (unsigned long )(& param) + __cil_tmp62;
5965#line 444
5966 *((u8 *)__cil_tmp63) = (unsigned char)0;
5967#line 444
5968 __cil_tmp64 = 11 * 1UL;
5969#line 444
5970 __cil_tmp65 = 0 + __cil_tmp64;
5971#line 444
5972 __cil_tmp66 = 0 + __cil_tmp65;
5973#line 444
5974 __cil_tmp67 = (unsigned long )(& param) + __cil_tmp66;
5975#line 444
5976 *((u8 *)__cil_tmp67) = (unsigned char)0;
5977#line 444
5978 __cil_tmp68 = 12 * 1UL;
5979#line 444
5980 __cil_tmp69 = 0 + __cil_tmp68;
5981#line 444
5982 __cil_tmp70 = 0 + __cil_tmp69;
5983#line 444
5984 __cil_tmp71 = (unsigned long )(& param) + __cil_tmp70;
5985#line 444
5986 *((u8 *)__cil_tmp71) = (unsigned char)0;
5987#line 444
5988 __cil_tmp72 = 13 * 1UL;
5989#line 444
5990 __cil_tmp73 = 0 + __cil_tmp72;
5991#line 444
5992 __cil_tmp74 = 0 + __cil_tmp73;
5993#line 444
5994 __cil_tmp75 = (unsigned long )(& param) + __cil_tmp74;
5995#line 444
5996 *((u8 *)__cil_tmp75) = (unsigned char)0;
5997#line 444
5998 __cil_tmp76 = 14 * 1UL;
5999#line 444
6000 __cil_tmp77 = 0 + __cil_tmp76;
6001#line 444
6002 __cil_tmp78 = 0 + __cil_tmp77;
6003#line 444
6004 __cil_tmp79 = (unsigned long )(& param) + __cil_tmp78;
6005#line 444
6006 *((u8 *)__cil_tmp79) = (unsigned char)0;
6007#line 444
6008 __cil_tmp80 = 15 * 1UL;
6009#line 444
6010 __cil_tmp81 = 0 + __cil_tmp80;
6011#line 444
6012 __cil_tmp82 = 0 + __cil_tmp81;
6013#line 444
6014 __cil_tmp83 = (unsigned long )(& param) + __cil_tmp82;
6015#line 444
6016 *((u8 *)__cil_tmp83) = (unsigned char)0;
6017#line 444
6018 __cil_tmp84 = (unsigned long )(& param) + 16;
6019#line 444
6020 __cil_tmp85 = (unsigned long )(& gsmi_dev) + 8;
6021#line 444
6022 __cil_tmp86 = *((struct gsmi_buf **)__cil_tmp85);
6023#line 444
6024 __cil_tmp87 = (unsigned long )__cil_tmp86;
6025#line 444
6026 __cil_tmp88 = __cil_tmp87 + 24;
6027#line 444
6028 *((u32 *)__cil_tmp84) = *((u32 *)__cil_tmp88);
6029#line 444
6030 __cil_tmp89 = (unsigned long )(& param) + 20;
6031#line 444
6032 *((u32 *)__cil_tmp89) = 7U;
6033#line 444
6034 __cil_tmp90 = (unsigned long )(& param) + 24;
6035#line 444
6036 *((u32 *)__cil_tmp90) = (unsigned int )data_size;
6037#line 444
6038 __cil_tmp91 = (unsigned long )(& param) + 28;
6039#line 444
6040 __cil_tmp92 = (unsigned long )(& gsmi_dev) + 16;
6041#line 444
6042 __cil_tmp93 = *((struct gsmi_buf **)__cil_tmp92);
6043#line 444
6044 __cil_tmp94 = (unsigned long )__cil_tmp93;
6045#line 444
6046 __cil_tmp95 = __cil_tmp94 + 24;
6047#line 444
6048 *((u32 *)__cil_tmp91) = *((u32 *)__cil_tmp95);
6049#line 452
6050 tmp = utf16_strlen(name, 512UL);
6051#line 452
6052 name_len = tmp;
6053#line 453
6054 ret = 0UL;
6055 }
6056#line 457
6057 if (name_len > 511UL) {
6058#line 458
6059 return (0x8000000000000004UL);
6060 } else {
6061
6062 }
6063 {
6064#line 460
6065 ldv_spin_lock();
6066#line 463
6067 __len = 16UL;
6068 }
6069#line 463
6070 if (__len > 63UL) {
6071 {
6072#line 463
6073 __cil_tmp96 = & param;
6074#line 463
6075 __cil_tmp97 = (efi_guid_t *)__cil_tmp96;
6076#line 463
6077 __cil_tmp98 = (void *)__cil_tmp97;
6078#line 463
6079 __cil_tmp99 = (void const *)vendor;
6080#line 463
6081 __ret = __memcpy(__cil_tmp98, __cil_tmp99, __len);
6082 }
6083 } else {
6084 {
6085#line 463
6086 __cil_tmp100 = & param;
6087#line 463
6088 __cil_tmp101 = (efi_guid_t *)__cil_tmp100;
6089#line 463
6090 __cil_tmp102 = (void *)__cil_tmp101;
6091#line 463
6092 __cil_tmp103 = (void const *)vendor;
6093#line 463
6094 __ret = __builtin_memcpy(__cil_tmp102, __cil_tmp103, __len);
6095 }
6096 }
6097 {
6098#line 466
6099 __cil_tmp104 = (unsigned long )(& gsmi_dev) + 8;
6100#line 466
6101 __cil_tmp105 = *((struct gsmi_buf **)__cil_tmp104);
6102#line 466
6103 __cil_tmp106 = *((u8 **)__cil_tmp105);
6104#line 466
6105 __cil_tmp107 = (void *)__cil_tmp106;
6106#line 466
6107 __cil_tmp108 = (unsigned long )(& gsmi_dev) + 8;
6108#line 466
6109 __cil_tmp109 = *((struct gsmi_buf **)__cil_tmp108);
6110#line 466
6111 __cil_tmp110 = (unsigned long )__cil_tmp109;
6112#line 466
6113 __cil_tmp111 = __cil_tmp110 + 8;
6114#line 466
6115 __cil_tmp112 = *((size_t *)__cil_tmp111);
6116#line 466
6117 memset(__cil_tmp107, 0, __cil_tmp112);
6118#line 467
6119 __len___0 = name_len * 2UL;
6120#line 467
6121 __cil_tmp113 = (unsigned long )(& gsmi_dev) + 8;
6122#line 467
6123 __cil_tmp114 = *((struct gsmi_buf **)__cil_tmp113);
6124#line 467
6125 __cil_tmp115 = *((u8 **)__cil_tmp114);
6126#line 467
6127 __cil_tmp116 = (void *)__cil_tmp115;
6128#line 467
6129 __cil_tmp117 = (void const *)name;
6130#line 467
6131 __ret___0 = __builtin_memcpy(__cil_tmp116, __cil_tmp117, __len___0);
6132#line 470
6133 __cil_tmp118 = (unsigned long )(& gsmi_dev) + 16;
6134#line 470
6135 __cil_tmp119 = *((struct gsmi_buf **)__cil_tmp118);
6136#line 470
6137 __cil_tmp120 = *((u8 **)__cil_tmp119);
6138#line 470
6139 __cil_tmp121 = (void *)__cil_tmp120;
6140#line 470
6141 __cil_tmp122 = (unsigned long )(& gsmi_dev) + 16;
6142#line 470
6143 __cil_tmp123 = *((struct gsmi_buf **)__cil_tmp122);
6144#line 470
6145 __cil_tmp124 = (unsigned long )__cil_tmp123;
6146#line 470
6147 __cil_tmp125 = __cil_tmp124 + 8;
6148#line 470
6149 __cil_tmp126 = *((size_t *)__cil_tmp125);
6150#line 470
6151 memset(__cil_tmp121, 0, __cil_tmp126);
6152#line 471
6153 __len___1 = data_size;
6154#line 471
6155 __cil_tmp127 = (unsigned long )(& gsmi_dev) + 16;
6156#line 471
6157 __cil_tmp128 = *((struct gsmi_buf **)__cil_tmp127);
6158#line 471
6159 __cil_tmp129 = *((u8 **)__cil_tmp128);
6160#line 471
6161 __cil_tmp130 = (void *)__cil_tmp129;
6162#line 471
6163 __cil_tmp131 = (void const *)data;
6164#line 471
6165 __ret___1 = __builtin_memcpy(__cil_tmp130, __cil_tmp131, __len___1);
6166#line 474
6167 __cil_tmp132 = (unsigned long )(& gsmi_dev) + 24;
6168#line 474
6169 __cil_tmp133 = *((struct gsmi_buf **)__cil_tmp132);
6170#line 474
6171 __cil_tmp134 = *((u8 **)__cil_tmp133);
6172#line 474
6173 __cil_tmp135 = (void *)__cil_tmp134;
6174#line 474
6175 __cil_tmp136 = (unsigned long )(& gsmi_dev) + 24;
6176#line 474
6177 __cil_tmp137 = *((struct gsmi_buf **)__cil_tmp136);
6178#line 474
6179 __cil_tmp138 = (unsigned long )__cil_tmp137;
6180#line 474
6181 __cil_tmp139 = __cil_tmp138 + 8;
6182#line 474
6183 __cil_tmp140 = *((size_t *)__cil_tmp139);
6184#line 474
6185 memset(__cil_tmp135, 0, __cil_tmp140);
6186#line 475
6187 __len___2 = 32UL;
6188 }
6189#line 475
6190 if (__len___2 > 63UL) {
6191 {
6192#line 475
6193 __cil_tmp141 = (unsigned long )(& gsmi_dev) + 24;
6194#line 475
6195 __cil_tmp142 = *((struct gsmi_buf **)__cil_tmp141);
6196#line 475
6197 __cil_tmp143 = *((u8 **)__cil_tmp142);
6198#line 475
6199 __cil_tmp144 = (void *)__cil_tmp143;
6200#line 475
6201 __cil_tmp145 = (void const *)(& param);
6202#line 475
6203 __ret___2 = __memcpy(__cil_tmp144, __cil_tmp145, __len___2);
6204 }
6205 } else {
6206 {
6207#line 475
6208 __cil_tmp146 = (unsigned long )(& gsmi_dev) + 24;
6209#line 475
6210 __cil_tmp147 = *((struct gsmi_buf **)__cil_tmp146);
6211#line 475
6212 __cil_tmp148 = *((u8 **)__cil_tmp147);
6213#line 475
6214 __cil_tmp149 = (void *)__cil_tmp148;
6215#line 475
6216 __cil_tmp150 = (void const *)(& param);
6217#line 475
6218 __ret___2 = __builtin_memcpy(__cil_tmp149, __cil_tmp150, __len___2);
6219 }
6220 }
6221 {
6222#line 477
6223 __cil_tmp151 = (u8 )239;
6224#line 477
6225 __cil_tmp152 = (u8 )3;
6226#line 477
6227 rc = gsmi_exec(__cil_tmp151, __cil_tmp152);
6228 }
6229#line 478
6230 if (rc < 0) {
6231 {
6232#line 479
6233 printk("<3>gsmi: Set Variable failed\n");
6234#line 480
6235 ret = 0x8000000000000002UL;
6236 }
6237 } else {
6238
6239 }
6240 {
6241#line 483
6242 __cil_tmp153 = (unsigned long )(& gsmi_dev) + 32;
6243#line 483
6244 __cil_tmp154 = (spinlock_t *)__cil_tmp153;
6245#line 483
6246 spin_unlock_irqrestore(__cil_tmp154, flags);
6247 }
6248#line 485
6249 return (ret);
6250}
6251}
6252#line 488 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6253static struct efivar_operations const efivar_ops = {& gsmi_get_variable, & gsmi_get_next_variable, & gsmi_set_variable};
6254#line 494 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6255static ssize_t eventlog_write(struct file *filp , struct kobject *kobj , struct bin_attribute *bin_attr ,
6256 char *buf , loff_t pos , size_t count )
6257{ struct gsmi_set_eventlog_param param ;
6258 int rc ;
6259 unsigned long flags ;
6260 size_t __len ;
6261 void *__ret ;
6262 size_t __len___0 ;
6263 void *__ret___0 ;
6264 struct gsmi_set_eventlog_param *__cil_tmp14 ;
6265 unsigned long __cil_tmp15 ;
6266 struct gsmi_buf *__cil_tmp16 ;
6267 unsigned long __cil_tmp17 ;
6268 unsigned long __cil_tmp18 ;
6269 unsigned long __cil_tmp19 ;
6270 unsigned long __cil_tmp20 ;
6271 unsigned long __cil_tmp21 ;
6272 u32 *__cil_tmp22 ;
6273 unsigned long __cil_tmp23 ;
6274 struct gsmi_buf *__cil_tmp24 ;
6275 unsigned long __cil_tmp25 ;
6276 unsigned long __cil_tmp26 ;
6277 size_t __cil_tmp27 ;
6278 unsigned long __cil_tmp28 ;
6279 u32 __cil_tmp29 ;
6280 unsigned long __cil_tmp30 ;
6281 struct gsmi_buf *__cil_tmp31 ;
6282 u8 *__cil_tmp32 ;
6283 void *__cil_tmp33 ;
6284 unsigned long __cil_tmp34 ;
6285 struct gsmi_buf *__cil_tmp35 ;
6286 unsigned long __cil_tmp36 ;
6287 unsigned long __cil_tmp37 ;
6288 size_t __cil_tmp38 ;
6289 unsigned long __cil_tmp39 ;
6290 u32 __cil_tmp40 ;
6291 unsigned long __cil_tmp41 ;
6292 struct gsmi_buf *__cil_tmp42 ;
6293 u8 *__cil_tmp43 ;
6294 void *__cil_tmp44 ;
6295 void const *__cil_tmp45 ;
6296 unsigned long __cil_tmp46 ;
6297 struct gsmi_buf *__cil_tmp47 ;
6298 u8 *__cil_tmp48 ;
6299 void *__cil_tmp49 ;
6300 unsigned long __cil_tmp50 ;
6301 struct gsmi_buf *__cil_tmp51 ;
6302 unsigned long __cil_tmp52 ;
6303 unsigned long __cil_tmp53 ;
6304 size_t __cil_tmp54 ;
6305 unsigned long __cil_tmp55 ;
6306 struct gsmi_buf *__cil_tmp56 ;
6307 u8 *__cil_tmp57 ;
6308 void *__cil_tmp58 ;
6309 void const *__cil_tmp59 ;
6310 unsigned long __cil_tmp60 ;
6311 struct gsmi_buf *__cil_tmp61 ;
6312 u8 *__cil_tmp62 ;
6313 void *__cil_tmp63 ;
6314 void const *__cil_tmp64 ;
6315 u8 __cil_tmp65 ;
6316 u8 __cil_tmp66 ;
6317 unsigned long __cil_tmp67 ;
6318 spinlock_t *__cil_tmp68 ;
6319
6320 {
6321#line 498
6322 __cil_tmp14 = & param;
6323#line 498
6324 __cil_tmp15 = (unsigned long )(& gsmi_dev) + 16;
6325#line 498
6326 __cil_tmp16 = *((struct gsmi_buf **)__cil_tmp15);
6327#line 498
6328 __cil_tmp17 = (unsigned long )__cil_tmp16;
6329#line 498
6330 __cil_tmp18 = __cil_tmp17 + 24;
6331#line 498
6332 *((u32 *)__cil_tmp14) = *((u32 *)__cil_tmp18);
6333#line 498
6334 __cil_tmp19 = (unsigned long )(& param) + 4;
6335#line 498
6336 *((u32 *)__cil_tmp19) = 0U;
6337#line 498
6338 __cil_tmp20 = (unsigned long )(& param) + 8;
6339#line 498
6340 *((u32 *)__cil_tmp20) = 0U;
6341#line 501
6342 rc = 0;
6343#line 505
6344 if (count <= 3UL) {
6345#line 506
6346 return (-22L);
6347 } else {
6348
6349 }
6350#line 507
6351 __cil_tmp21 = (unsigned long )(& param) + 8;
6352#line 507
6353 __cil_tmp22 = (u32 *)buf;
6354#line 507
6355 *((u32 *)__cil_tmp21) = *__cil_tmp22;
6356#line 508
6357 count = count - 4UL;
6358#line 509
6359 buf = buf + 4UL;
6360 {
6361#line 512
6362 __cil_tmp23 = (unsigned long )(& gsmi_dev) + 16;
6363#line 512
6364 __cil_tmp24 = *((struct gsmi_buf **)__cil_tmp23);
6365#line 512
6366 __cil_tmp25 = (unsigned long )__cil_tmp24;
6367#line 512
6368 __cil_tmp26 = __cil_tmp25 + 8;
6369#line 512
6370 __cil_tmp27 = *((size_t *)__cil_tmp26);
6371#line 512
6372 if (__cil_tmp27 < count) {
6373#line 513
6374 return (-22L);
6375 } else {
6376
6377 }
6378 }
6379 {
6380#line 514
6381 __cil_tmp28 = (unsigned long )(& param) + 4;
6382#line 514
6383 __cil_tmp29 = (u32 )count;
6384#line 514
6385 *((u32 *)__cil_tmp28) = __cil_tmp29 - 4U;
6386#line 516
6387 ldv_spin_lock();
6388#line 519
6389 __cil_tmp30 = (unsigned long )(& gsmi_dev) + 16;
6390#line 519
6391 __cil_tmp31 = *((struct gsmi_buf **)__cil_tmp30);
6392#line 519
6393 __cil_tmp32 = *((u8 **)__cil_tmp31);
6394#line 519
6395 __cil_tmp33 = (void *)__cil_tmp32;
6396#line 519
6397 __cil_tmp34 = (unsigned long )(& gsmi_dev) + 16;
6398#line 519
6399 __cil_tmp35 = *((struct gsmi_buf **)__cil_tmp34);
6400#line 519
6401 __cil_tmp36 = (unsigned long )__cil_tmp35;
6402#line 519
6403 __cil_tmp37 = __cil_tmp36 + 8;
6404#line 519
6405 __cil_tmp38 = *((size_t *)__cil_tmp37);
6406#line 519
6407 memset(__cil_tmp33, 0, __cil_tmp38);
6408#line 520
6409 __cil_tmp39 = (unsigned long )(& param) + 4;
6410#line 520
6411 __cil_tmp40 = *((u32 *)__cil_tmp39);
6412#line 520
6413 __len = (size_t )__cil_tmp40;
6414#line 520
6415 __cil_tmp41 = (unsigned long )(& gsmi_dev) + 16;
6416#line 520
6417 __cil_tmp42 = *((struct gsmi_buf **)__cil_tmp41);
6418#line 520
6419 __cil_tmp43 = *((u8 **)__cil_tmp42);
6420#line 520
6421 __cil_tmp44 = (void *)__cil_tmp43;
6422#line 520
6423 __cil_tmp45 = (void const *)buf;
6424#line 520
6425 __ret = __builtin_memcpy(__cil_tmp44, __cil_tmp45, __len);
6426#line 523
6427 __cil_tmp46 = (unsigned long )(& gsmi_dev) + 24;
6428#line 523
6429 __cil_tmp47 = *((struct gsmi_buf **)__cil_tmp46);
6430#line 523
6431 __cil_tmp48 = *((u8 **)__cil_tmp47);
6432#line 523
6433 __cil_tmp49 = (void *)__cil_tmp48;
6434#line 523
6435 __cil_tmp50 = (unsigned long )(& gsmi_dev) + 24;
6436#line 523
6437 __cil_tmp51 = *((struct gsmi_buf **)__cil_tmp50);
6438#line 523
6439 __cil_tmp52 = (unsigned long )__cil_tmp51;
6440#line 523
6441 __cil_tmp53 = __cil_tmp52 + 8;
6442#line 523
6443 __cil_tmp54 = *((size_t *)__cil_tmp53);
6444#line 523
6445 memset(__cil_tmp49, 0, __cil_tmp54);
6446#line 524
6447 __len___0 = 12UL;
6448 }
6449#line 524
6450 if (__len___0 > 63UL) {
6451 {
6452#line 524
6453 __cil_tmp55 = (unsigned long )(& gsmi_dev) + 24;
6454#line 524
6455 __cil_tmp56 = *((struct gsmi_buf **)__cil_tmp55);
6456#line 524
6457 __cil_tmp57 = *((u8 **)__cil_tmp56);
6458#line 524
6459 __cil_tmp58 = (void *)__cil_tmp57;
6460#line 524
6461 __cil_tmp59 = (void const *)(& param);
6462#line 524
6463 __ret___0 = __memcpy(__cil_tmp58, __cil_tmp59, __len___0);
6464 }
6465 } else {
6466 {
6467#line 524
6468 __cil_tmp60 = (unsigned long )(& gsmi_dev) + 24;
6469#line 524
6470 __cil_tmp61 = *((struct gsmi_buf **)__cil_tmp60);
6471#line 524
6472 __cil_tmp62 = *((u8 **)__cil_tmp61);
6473#line 524
6474 __cil_tmp63 = (void *)__cil_tmp62;
6475#line 524
6476 __cil_tmp64 = (void const *)(& param);
6477#line 524
6478 __ret___0 = __builtin_memcpy(__cil_tmp63, __cil_tmp64, __len___0);
6479 }
6480 }
6481 {
6482#line 526
6483 __cil_tmp65 = (u8 )239;
6484#line 526
6485 __cil_tmp66 = (u8 )8;
6486#line 526
6487 rc = gsmi_exec(__cil_tmp65, __cil_tmp66);
6488 }
6489#line 527
6490 if (rc < 0) {
6491 {
6492#line 528
6493 printk("<3>gsmi: Set Event Log failed\n");
6494 }
6495 } else {
6496
6497 }
6498 {
6499#line 530
6500 __cil_tmp67 = (unsigned long )(& gsmi_dev) + 32;
6501#line 530
6502 __cil_tmp68 = (spinlock_t *)__cil_tmp67;
6503#line 530
6504 spin_unlock_irqrestore(__cil_tmp68, flags);
6505 }
6506#line 532
6507 return ((ssize_t )rc);
6508}
6509}
6510#line 536 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6511static struct bin_attribute eventlog_bin_attr = {{"append_to_eventlog", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0},
6512 {(char)0},
6513 {(char)0},
6514 {(char)0},
6515 {(char)0},
6516 {(char)0},
6517 {(char)0},
6518 {(char)0}}}},
6519 0UL, (void *)0, (ssize_t (*)(struct file * , struct kobject * , struct bin_attribute * ,
6520 char * , loff_t , size_t ))0, & eventlog_write,
6521 (int (*)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ))0};
6522#line 541 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6523static ssize_t gsmi_clear_eventlog_store(struct kobject *kobj , struct kobj_attribute *attr ,
6524 char const *buf , size_t count )
6525{ int rc ;
6526 unsigned long flags ;
6527 unsigned long val ;
6528 struct __anonstruct_param_203 param ;
6529 size_t __len ;
6530 void *__ret ;
6531 unsigned long *__cil_tmp11 ;
6532 unsigned long __cil_tmp12 ;
6533 struct __anonstruct_param_203 *__cil_tmp13 ;
6534 unsigned long *__cil_tmp14 ;
6535 unsigned long __cil_tmp15 ;
6536 unsigned long __cil_tmp16 ;
6537 unsigned long __cil_tmp17 ;
6538 struct gsmi_buf *__cil_tmp18 ;
6539 u8 *__cil_tmp19 ;
6540 void *__cil_tmp20 ;
6541 unsigned long __cil_tmp21 ;
6542 struct gsmi_buf *__cil_tmp22 ;
6543 unsigned long __cil_tmp23 ;
6544 unsigned long __cil_tmp24 ;
6545 size_t __cil_tmp25 ;
6546 unsigned long __cil_tmp26 ;
6547 struct gsmi_buf *__cil_tmp27 ;
6548 u8 *__cil_tmp28 ;
6549 void *__cil_tmp29 ;
6550 void const *__cil_tmp30 ;
6551 unsigned long __cil_tmp31 ;
6552 struct gsmi_buf *__cil_tmp32 ;
6553 u8 *__cil_tmp33 ;
6554 void *__cil_tmp34 ;
6555 void const *__cil_tmp35 ;
6556 u8 __cil_tmp36 ;
6557 u8 __cil_tmp37 ;
6558 unsigned long __cil_tmp38 ;
6559 spinlock_t *__cil_tmp39 ;
6560
6561 {
6562 {
6563#line 553
6564 rc = kstrtoul(buf, 0U, & val);
6565 }
6566#line 554
6567 if (rc != 0) {
6568#line 555
6569 return ((ssize_t )rc);
6570 } else {
6571
6572 }
6573 {
6574#line 561
6575 __cil_tmp11 = & val;
6576#line 561
6577 __cil_tmp12 = *__cil_tmp11;
6578#line 561
6579 if (__cil_tmp12 > 100UL) {
6580#line 562
6581 return (-22L);
6582 } else {
6583
6584 }
6585 }
6586 {
6587#line 565
6588 __cil_tmp13 = & param;
6589#line 565
6590 __cil_tmp14 = & val;
6591#line 565
6592 __cil_tmp15 = *__cil_tmp14;
6593#line 565
6594 *((u32 *)__cil_tmp13) = (u32 )__cil_tmp15;
6595#line 566
6596 __cil_tmp16 = (unsigned long )(& param) + 4;
6597#line 566
6598 *((u32 *)__cil_tmp16) = 0U;
6599#line 568
6600 ldv_spin_lock();
6601#line 571
6602 __cil_tmp17 = (unsigned long )(& gsmi_dev) + 24;
6603#line 571
6604 __cil_tmp18 = *((struct gsmi_buf **)__cil_tmp17);
6605#line 571
6606 __cil_tmp19 = *((u8 **)__cil_tmp18);
6607#line 571
6608 __cil_tmp20 = (void *)__cil_tmp19;
6609#line 571
6610 __cil_tmp21 = (unsigned long )(& gsmi_dev) + 24;
6611#line 571
6612 __cil_tmp22 = *((struct gsmi_buf **)__cil_tmp21);
6613#line 571
6614 __cil_tmp23 = (unsigned long )__cil_tmp22;
6615#line 571
6616 __cil_tmp24 = __cil_tmp23 + 8;
6617#line 571
6618 __cil_tmp25 = *((size_t *)__cil_tmp24);
6619#line 571
6620 memset(__cil_tmp20, 0, __cil_tmp25);
6621#line 572
6622 __len = 8UL;
6623 }
6624#line 572
6625 if (__len > 63UL) {
6626 {
6627#line 572
6628 __cil_tmp26 = (unsigned long )(& gsmi_dev) + 24;
6629#line 572
6630 __cil_tmp27 = *((struct gsmi_buf **)__cil_tmp26);
6631#line 572
6632 __cil_tmp28 = *((u8 **)__cil_tmp27);
6633#line 572
6634 __cil_tmp29 = (void *)__cil_tmp28;
6635#line 572
6636 __cil_tmp30 = (void const *)(& param);
6637#line 572
6638 __ret = __memcpy(__cil_tmp29, __cil_tmp30, __len);
6639 }
6640 } else {
6641 {
6642#line 572
6643 __cil_tmp31 = (unsigned long )(& gsmi_dev) + 24;
6644#line 572
6645 __cil_tmp32 = *((struct gsmi_buf **)__cil_tmp31);
6646#line 572
6647 __cil_tmp33 = *((u8 **)__cil_tmp32);
6648#line 572
6649 __cil_tmp34 = (void *)__cil_tmp33;
6650#line 572
6651 __cil_tmp35 = (void const *)(& param);
6652#line 572
6653 __ret = __builtin_memcpy(__cil_tmp34, __cil_tmp35, __len);
6654 }
6655 }
6656 {
6657#line 574
6658 __cil_tmp36 = (u8 )239;
6659#line 574
6660 __cil_tmp37 = (u8 )9;
6661#line 574
6662 rc = gsmi_exec(__cil_tmp36, __cil_tmp37);
6663#line 576
6664 __cil_tmp38 = (unsigned long )(& gsmi_dev) + 32;
6665#line 576
6666 __cil_tmp39 = (spinlock_t *)__cil_tmp38;
6667#line 576
6668 spin_unlock_irqrestore(__cil_tmp39, flags);
6669 }
6670#line 578
6671 if (rc != 0) {
6672#line 579
6673 return ((ssize_t )rc);
6674 } else {
6675
6676 }
6677#line 580
6678 return ((ssize_t )count);
6679}
6680}
6681#line 583 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6682static struct kobj_attribute gsmi_clear_eventlog_attr = {{"clear_eventlog", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
6683 {(char)0}, {(char)0},
6684 {(char)0}, {(char)0},
6685 {(char)0}, {(char)0}}}},
6686 (ssize_t (*)(struct kobject * , struct kobj_attribute * , char * ))0, & gsmi_clear_eventlog_store};
6687#line 588 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6688static ssize_t gsmi_clear_config_store(struct kobject *kobj , struct kobj_attribute *attr ,
6689 char const *buf , size_t count )
6690{ int rc ;
6691 unsigned long flags ;
6692 unsigned long __cil_tmp7 ;
6693 struct gsmi_buf *__cil_tmp8 ;
6694 u8 *__cil_tmp9 ;
6695 void *__cil_tmp10 ;
6696 unsigned long __cil_tmp11 ;
6697 struct gsmi_buf *__cil_tmp12 ;
6698 unsigned long __cil_tmp13 ;
6699 unsigned long __cil_tmp14 ;
6700 size_t __cil_tmp15 ;
6701 u8 __cil_tmp16 ;
6702 u8 __cil_tmp17 ;
6703 unsigned long __cil_tmp18 ;
6704 spinlock_t *__cil_tmp19 ;
6705
6706 {
6707 {
6708#line 595
6709 ldv_spin_lock();
6710#line 598
6711 __cil_tmp7 = (unsigned long )(& gsmi_dev) + 24;
6712#line 598
6713 __cil_tmp8 = *((struct gsmi_buf **)__cil_tmp7);
6714#line 598
6715 __cil_tmp9 = *((u8 **)__cil_tmp8);
6716#line 598
6717 __cil_tmp10 = (void *)__cil_tmp9;
6718#line 598
6719 __cil_tmp11 = (unsigned long )(& gsmi_dev) + 24;
6720#line 598
6721 __cil_tmp12 = *((struct gsmi_buf **)__cil_tmp11);
6722#line 598
6723 __cil_tmp13 = (unsigned long )__cil_tmp12;
6724#line 598
6725 __cil_tmp14 = __cil_tmp13 + 8;
6726#line 598
6727 __cil_tmp15 = *((size_t *)__cil_tmp14);
6728#line 598
6729 memset(__cil_tmp10, 0, __cil_tmp15);
6730#line 600
6731 __cil_tmp16 = (u8 )239;
6732#line 600
6733 __cil_tmp17 = (u8 )32;
6734#line 600
6735 rc = gsmi_exec(__cil_tmp16, __cil_tmp17);
6736#line 602
6737 __cil_tmp18 = (unsigned long )(& gsmi_dev) + 32;
6738#line 602
6739 __cil_tmp19 = (spinlock_t *)__cil_tmp18;
6740#line 602
6741 spin_unlock_irqrestore(__cil_tmp19, flags);
6742 }
6743#line 604
6744 if (rc != 0) {
6745#line 605
6746 return ((ssize_t )rc);
6747 } else {
6748
6749 }
6750#line 606
6751 return ((ssize_t )count);
6752}
6753}
6754#line 609 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6755static struct kobj_attribute gsmi_clear_config_attr = {{"clear_config", (umode_t )128U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
6756 {(char)0}, {(char)0},
6757 {(char)0}, {(char)0},
6758 {(char)0}, {(char)0}}}},
6759 (ssize_t (*)(struct kobject * , struct kobj_attribute * , char * ))0, & gsmi_clear_config_store};
6760#line 614 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6761static struct attribute const *gsmi_attrs[3U] = { (struct attribute const *)(& gsmi_clear_config_attr.attr), (struct attribute const *)(& gsmi_clear_eventlog_attr.attr), (struct attribute const *)0};
6762#line 620 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
6763static int gsmi_shutdown_reason(int reason )
6764{ struct gsmi_log_entry_type_1 entry ;
6765 struct gsmi_set_eventlog_param param ;
6766 int saved_reason ;
6767 int rc ;
6768 unsigned long flags ;
6769 size_t __len ;
6770 void *__ret ;
6771 size_t __len___0 ;
6772 void *__ret___0 ;
6773 struct gsmi_log_entry_type_1 *__cil_tmp11 ;
6774 unsigned long __cil_tmp12 ;
6775 struct gsmi_set_eventlog_param *__cil_tmp13 ;
6776 unsigned long __cil_tmp14 ;
6777 unsigned long __cil_tmp15 ;
6778 int __cil_tmp16 ;
6779 int __cil_tmp17 ;
6780 unsigned long __cil_tmp18 ;
6781 struct gsmi_buf *__cil_tmp19 ;
6782 u8 *__cil_tmp20 ;
6783 void *__cil_tmp21 ;
6784 unsigned long __cil_tmp22 ;
6785 struct gsmi_buf *__cil_tmp23 ;
6786 unsigned long __cil_tmp24 ;
6787 unsigned long __cil_tmp25 ;
6788 size_t __cil_tmp26 ;
6789 unsigned long __cil_tmp27 ;
6790 struct gsmi_buf *__cil_tmp28 ;
6791 u8 *__cil_tmp29 ;
6792 void *__cil_tmp30 ;
6793 void const *__cil_tmp31 ;
6794 unsigned long __cil_tmp32 ;
6795 struct gsmi_buf *__cil_tmp33 ;
6796 u8 *__cil_tmp34 ;
6797 void *__cil_tmp35 ;
6798 void const *__cil_tmp36 ;
6799 struct gsmi_set_eventlog_param *__cil_tmp37 ;
6800 unsigned long __cil_tmp38 ;
6801 struct gsmi_buf *__cil_tmp39 ;
6802 unsigned long __cil_tmp40 ;
6803 unsigned long __cil_tmp41 ;
6804 unsigned long __cil_tmp42 ;
6805 struct gsmi_buf *__cil_tmp43 ;
6806 u8 *__cil_tmp44 ;
6807 void *__cil_tmp45 ;
6808 unsigned long __cil_tmp46 ;
6809 struct gsmi_buf *__cil_tmp47 ;
6810 unsigned long __cil_tmp48 ;
6811 unsigned long __cil_tmp49 ;
6812 size_t __cil_tmp50 ;
6813 unsigned long __cil_tmp51 ;
6814 struct gsmi_buf *__cil_tmp52 ;
6815 u8 *__cil_tmp53 ;
6816 void *__cil_tmp54 ;
6817 void const *__cil_tmp55 ;
6818 unsigned long __cil_tmp56 ;
6819 struct gsmi_buf *__cil_tmp57 ;
6820 u8 *__cil_tmp58 ;
6821 void *__cil_tmp59 ;
6822 void const *__cil_tmp60 ;
6823 u8 __cil_tmp61 ;
6824 u8 __cil_tmp62 ;
6825 unsigned long __cil_tmp63 ;
6826 spinlock_t *__cil_tmp64 ;
6827
6828 {
6829#line 622
6830 __cil_tmp11 = & entry;
6831#line 622
6832 *((u16 *)__cil_tmp11) = (u16 )57005U;
6833#line 622
6834 __cil_tmp12 = (unsigned long )(& entry) + 4;
6835#line 622
6836 *((u32 *)__cil_tmp12) = (unsigned int )reason;
6837#line 626
6838 __cil_tmp13 = & param;
6839#line 626
6840 *((u32 *)__cil_tmp13) = 0U;
6841#line 626
6842 __cil_tmp14 = (unsigned long )(& param) + 4;
6843#line 626
6844 *((u32 *)__cil_tmp14) = 6U;
6845#line 626
6846 __cil_tmp15 = (unsigned long )(& param) + 8;
6847#line 626
6848 *((u32 *)__cil_tmp15) = 1U;
6849#line 631
6850 rc = 0;
6851 {
6852#line 635
6853 __cil_tmp16 = saved_reason >> reason;
6854#line 635
6855 if (__cil_tmp16 & 1) {
6856#line 636
6857 return (0);
6858 } else {
6859
6860 }
6861 }
6862 {
6863#line 638
6864 ldv_spin_lock();
6865#line 640
6866 __cil_tmp17 = 1 << reason;
6867#line 640
6868 saved_reason = __cil_tmp17 | saved_reason;
6869#line 643
6870 __cil_tmp18 = (unsigned long )(& gsmi_dev) + 16;
6871#line 643
6872 __cil_tmp19 = *((struct gsmi_buf **)__cil_tmp18);
6873#line 643
6874 __cil_tmp20 = *((u8 **)__cil_tmp19);
6875#line 643
6876 __cil_tmp21 = (void *)__cil_tmp20;
6877#line 643
6878 __cil_tmp22 = (unsigned long )(& gsmi_dev) + 16;
6879#line 643
6880 __cil_tmp23 = *((struct gsmi_buf **)__cil_tmp22);
6881#line 643
6882 __cil_tmp24 = (unsigned long )__cil_tmp23;
6883#line 643
6884 __cil_tmp25 = __cil_tmp24 + 8;
6885#line 643
6886 __cil_tmp26 = *((size_t *)__cil_tmp25);
6887#line 643
6888 memset(__cil_tmp21, 0, __cil_tmp26);
6889#line 644
6890 __len = 6UL;
6891 }
6892#line 644
6893 if (__len > 63UL) {
6894 {
6895#line 644
6896 __cil_tmp27 = (unsigned long )(& gsmi_dev) + 16;
6897#line 644
6898 __cil_tmp28 = *((struct gsmi_buf **)__cil_tmp27);
6899#line 644
6900 __cil_tmp29 = *((u8 **)__cil_tmp28);
6901#line 644
6902 __cil_tmp30 = (void *)__cil_tmp29;
6903#line 644
6904 __cil_tmp31 = (void const *)(& entry);
6905#line 644
6906 __ret = __memcpy(__cil_tmp30, __cil_tmp31, __len);
6907 }
6908 } else {
6909 {
6910#line 644
6911 __cil_tmp32 = (unsigned long )(& gsmi_dev) + 16;
6912#line 644
6913 __cil_tmp33 = *((struct gsmi_buf **)__cil_tmp32);
6914#line 644
6915 __cil_tmp34 = *((u8 **)__cil_tmp33);
6916#line 644
6917 __cil_tmp35 = (void *)__cil_tmp34;
6918#line 644
6919 __cil_tmp36 = (void const *)(& entry);
6920#line 644
6921 __ret = __builtin_memcpy(__cil_tmp35, __cil_tmp36, __len);
6922 }
6923 }
6924 {
6925#line 647
6926 __cil_tmp37 = & param;
6927#line 647
6928 __cil_tmp38 = (unsigned long )(& gsmi_dev) + 16;
6929#line 647
6930 __cil_tmp39 = *((struct gsmi_buf **)__cil_tmp38);
6931#line 647
6932 __cil_tmp40 = (unsigned long )__cil_tmp39;
6933#line 647
6934 __cil_tmp41 = __cil_tmp40 + 24;
6935#line 647
6936 *((u32 *)__cil_tmp37) = *((u32 *)__cil_tmp41);
6937#line 648
6938 __cil_tmp42 = (unsigned long )(& gsmi_dev) + 24;
6939#line 648
6940 __cil_tmp43 = *((struct gsmi_buf **)__cil_tmp42);
6941#line 648
6942 __cil_tmp44 = *((u8 **)__cil_tmp43);
6943#line 648
6944 __cil_tmp45 = (void *)__cil_tmp44;
6945#line 648
6946 __cil_tmp46 = (unsigned long )(& gsmi_dev) + 24;
6947#line 648
6948 __cil_tmp47 = *((struct gsmi_buf **)__cil_tmp46);
6949#line 648
6950 __cil_tmp48 = (unsigned long )__cil_tmp47;
6951#line 648
6952 __cil_tmp49 = __cil_tmp48 + 8;
6953#line 648
6954 __cil_tmp50 = *((size_t *)__cil_tmp49);
6955#line 648
6956 memset(__cil_tmp45, 0, __cil_tmp50);
6957#line 649
6958 __len___0 = 12UL;
6959 }
6960#line 649
6961 if (__len___0 > 63UL) {
6962 {
6963#line 649
6964 __cil_tmp51 = (unsigned long )(& gsmi_dev) + 24;
6965#line 649
6966 __cil_tmp52 = *((struct gsmi_buf **)__cil_tmp51);
6967#line 649
6968 __cil_tmp53 = *((u8 **)__cil_tmp52);
6969#line 649
6970 __cil_tmp54 = (void *)__cil_tmp53;
6971#line 649
6972 __cil_tmp55 = (void const *)(& param);
6973#line 649
6974 __ret___0 = __memcpy(__cil_tmp54, __cil_tmp55, __len___0);
6975 }
6976 } else {
6977 {
6978#line 649
6979 __cil_tmp56 = (unsigned long )(& gsmi_dev) + 24;
6980#line 649
6981 __cil_tmp57 = *((struct gsmi_buf **)__cil_tmp56);
6982#line 649
6983 __cil_tmp58 = *((u8 **)__cil_tmp57);
6984#line 649
6985 __cil_tmp59 = (void *)__cil_tmp58;
6986#line 649
6987 __cil_tmp60 = (void const *)(& param);
6988#line 649
6989 __ret___0 = __builtin_memcpy(__cil_tmp59, __cil_tmp60, __len___0);
6990 }
6991 }
6992 {
6993#line 651
6994 __cil_tmp61 = (u8 )239;
6995#line 651
6996 __cil_tmp62 = (u8 )8;
6997#line 651
6998 rc = gsmi_exec(__cil_tmp61, __cil_tmp62);
6999#line 653
7000 __cil_tmp63 = (unsigned long )(& gsmi_dev) + 32;
7001#line 653
7002 __cil_tmp64 = (spinlock_t *)__cil_tmp63;
7003#line 653
7004 spin_unlock_irqrestore(__cil_tmp64, flags);
7005 }
7006#line 655
7007 if (rc < 0) {
7008 {
7009#line 656
7010 printk("<3>gsmi: Log Shutdown Reason failed\n");
7011 }
7012 } else {
7013 {
7014#line 658
7015 printk("<0>gsmi: Log Shutdown Reason 0x%02x\n", reason);
7016 }
7017 }
7018#line 661
7019 return (rc);
7020}
7021}
7022#line 664 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7023static int gsmi_reboot_callback(struct notifier_block *nb , unsigned long reason ,
7024 void *arg )
7025{
7026
7027 {
7028 {
7029#line 667
7030 gsmi_shutdown_reason(0);
7031 }
7032#line 668
7033 return (0);
7034}
7035}
7036#line 671 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7037static struct notifier_block gsmi_reboot_notifier = {& gsmi_reboot_callback, (struct notifier_block *)0, 0};
7038#line 675 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7039static int gsmi_die_callback(struct notifier_block *nb , unsigned long reason , void *arg )
7040{
7041
7042 {
7043#line 678
7044 if (reason == 1UL) {
7045 {
7046#line 679
7047 gsmi_shutdown_reason(3);
7048 }
7049 } else {
7050
7051 }
7052#line 680
7053 return (0);
7054}
7055}
7056#line 683 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7057static struct notifier_block gsmi_die_notifier = {& gsmi_die_callback, (struct notifier_block *)0, 0};
7058#line 687 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7059static int gsmi_panic_callback(struct notifier_block *nb , unsigned long reason ,
7060 void *arg )
7061{
7062
7063 {
7064 {
7065#line 690
7066 gsmi_shutdown_reason(2);
7067 }
7068#line 691
7069 return (0);
7070}
7071}
7072#line 694 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7073static struct notifier_block gsmi_panic_notifier = {& gsmi_panic_callback, (struct notifier_block *)0, 0};
7074#line 707 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7075static u64 local_hash_64(u64 val , unsigned int bits )
7076{ u64 hash ;
7077 u64 n ;
7078 unsigned int __cil_tmp5 ;
7079 int __cil_tmp6 ;
7080
7081 {
7082#line 709
7083 hash = val;
7084#line 712
7085 n = hash;
7086#line 713
7087 n = n << 18;
7088#line 714
7089 hash = hash - n;
7090#line 715
7091 n = n << 33;
7092#line 716
7093 hash = hash - n;
7094#line 717
7095 n = n << 3;
7096#line 718
7097 hash = hash + n;
7098#line 719
7099 n = n << 3;
7100#line 720
7101 hash = hash - n;
7102#line 721
7103 n = n << 4;
7104#line 722
7105 hash = hash + n;
7106#line 723
7107 n = n << 2;
7108#line 724
7109 hash = hash + n;
7110 {
7111#line 727
7112 __cil_tmp5 = 64U - bits;
7113#line 727
7114 __cil_tmp6 = (int )__cil_tmp5;
7115#line 727
7116 return (hash >> __cil_tmp6);
7117 }
7118}
7119}
7120#line 730 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7121static u32 hash_oem_table_id(char *s )
7122{ u64 input ;
7123 size_t __len ;
7124 void *__ret ;
7125 u64 tmp ;
7126 void *__cil_tmp6 ;
7127 void const *__cil_tmp7 ;
7128 void *__cil_tmp8 ;
7129 void const *__cil_tmp9 ;
7130 u64 *__cil_tmp10 ;
7131 u64 __cil_tmp11 ;
7132
7133 {
7134#line 733
7135 __len = 8UL;
7136#line 733
7137 if (__len > 63UL) {
7138 {
7139#line 733
7140 __cil_tmp6 = (void *)(& input);
7141#line 733
7142 __cil_tmp7 = (void const *)s;
7143#line 733
7144 __ret = __memcpy(__cil_tmp6, __cil_tmp7, __len);
7145 }
7146 } else {
7147 {
7148#line 733
7149 __cil_tmp8 = (void *)(& input);
7150#line 733
7151 __cil_tmp9 = (void const *)s;
7152#line 733
7153 __ret = __builtin_memcpy(__cil_tmp8, __cil_tmp9, __len);
7154 }
7155 }
7156 {
7157#line 734
7158 __cil_tmp10 = & input;
7159#line 734
7160 __cil_tmp11 = *__cil_tmp10;
7161#line 734
7162 tmp = local_hash_64(__cil_tmp11, 32U);
7163 }
7164#line 734
7165 return ((u32 )tmp);
7166}
7167}
7168#line 737 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7169static struct dmi_system_id gsmi_dmi_table[2U] = { {(int (*)(struct dmi_system_id const * ))0, "Google Board", {{(unsigned char)9,
7170 {(char )'G',
7171 (char )'o',
7172 (char )'o',
7173 (char )'g',
7174 (char )'l',
7175 (char )'e',
7176 (char )',',
7177 (char )' ',
7178 (char )'I',
7179 (char )'n',
7180 (char )'c',
7181 (char )'.',
7182 (char )'\000'}},
7183 {(unsigned char)0,
7184 {(char)0, (char)0,
7185 (char)0, (char)0,
7186 (char)0, (char)0,
7187 (char)0, (char)0,
7188 (char)0, (char)0,
7189 (char)0, (char)0,
7190 (char)0, (char)0,
7191 (char)0, (char)0,
7192 (char)0, (char)0,
7193 (char)0, (char)0,
7194 (char)0, (char)0,
7195 (char)0, (char)0,
7196 (char)0, (char)0,
7197 (char)0, (char)0,
7198 (char)0, (char)0,
7199 (char)0, (char)0,
7200 (char)0, (char)0,
7201 (char)0, (char)0,
7202 (char)0, (char)0,
7203 (char)0, (char)0,
7204 (char)0, (char)0,
7205 (char)0, (char)0,
7206 (char)0, (char)0,
7207 (char)0, (char)0,
7208 (char)0, (char)0,
7209 (char)0, (char)0,
7210 (char)0, (char)0,
7211 (char)0, (char)0,
7212 (char)0, (char)0,
7213 (char)0, (char)0,
7214 (char)0, (char)0,
7215 (char)0, (char)0,
7216 (char)0, (char)0,
7217 (char)0, (char)0,
7218 (char)0, (char)0,
7219 (char)0, (char)0,
7220 (char)0, (char)0,
7221 (char)0, (char)0,
7222 (char)0, (char)0,
7223 (char)0}}, {(unsigned char)0,
7224 {(char)0,
7225 (char)0,
7226 (char)0,
7227 (char)0,
7228 (char)0,
7229 (char)0,
7230 (char)0,
7231 (char)0,
7232 (char)0,
7233 (char)0,
7234 (char)0,
7235 (char)0,
7236 (char)0,
7237 (char)0,
7238 (char)0,
7239 (char)0,
7240 (char)0,
7241 (char)0,
7242 (char)0,
7243 (char)0,
7244 (char)0,
7245 (char)0,
7246 (char)0,
7247 (char)0,
7248 (char)0,
7249 (char)0,
7250 (char)0,
7251 (char)0,
7252 (char)0,
7253 (char)0,
7254 (char)0,
7255 (char)0,
7256 (char)0,
7257 (char)0,
7258 (char)0,
7259 (char)0,
7260 (char)0,
7261 (char)0,
7262 (char)0,
7263 (char)0,
7264 (char)0,
7265 (char)0,
7266 (char)0,
7267 (char)0,
7268 (char)0,
7269 (char)0,
7270 (char)0,
7271 (char)0,
7272 (char)0,
7273 (char)0,
7274 (char)0,
7275 (char)0,
7276 (char)0,
7277 (char)0,
7278 (char)0,
7279 (char)0,
7280 (char)0,
7281 (char)0,
7282 (char)0,
7283 (char)0,
7284 (char)0,
7285 (char)0,
7286 (char)0,
7287 (char)0,
7288 (char)0,
7289 (char)0,
7290 (char)0,
7291 (char)0,
7292 (char)0,
7293 (char)0,
7294 (char)0,
7295 (char)0,
7296 (char)0,
7297 (char)0,
7298 (char)0,
7299 (char)0,
7300 (char)0,
7301 (char)0,
7302 (char)0}},
7303 {(unsigned char)0,
7304 {(char)0, (char)0,
7305 (char)0, (char)0,
7306 (char)0, (char)0,
7307 (char)0, (char)0,
7308 (char)0, (char)0,
7309 (char)0, (char)0,
7310 (char)0, (char)0,
7311 (char)0, (char)0,
7312 (char)0, (char)0,
7313 (char)0, (char)0,
7314 (char)0, (char)0,
7315 (char)0, (char)0,
7316 (char)0, (char)0,
7317 (char)0, (char)0,
7318 (char)0, (char)0,
7319 (char)0, (char)0,
7320 (char)0, (char)0,
7321 (char)0, (char)0,
7322 (char)0, (char)0,
7323 (char)0, (char)0,
7324 (char)0, (char)0,
7325 (char)0, (char)0,
7326 (char)0, (char)0,
7327 (char)0, (char)0,
7328 (char)0, (char)0,
7329 (char)0, (char)0,
7330 (char)0, (char)0,
7331 (char)0, (char)0,
7332 (char)0, (char)0,
7333 (char)0, (char)0,
7334 (char)0, (char)0,
7335 (char)0, (char)0,
7336 (char)0, (char)0,
7337 (char)0, (char)0,
7338 (char)0, (char)0,
7339 (char)0, (char)0,
7340 (char)0, (char)0,
7341 (char)0, (char)0,
7342 (char)0, (char)0,
7343 (char)0}}},
7344 (void *)0},
7345 {(int (*)(struct dmi_system_id const * ))0, (char const *)0, {{(unsigned char)0,
7346 {(char)0,
7347 (char)0,
7348 (char)0,
7349 (char)0,
7350 (char)0,
7351 (char)0,
7352 (char)0,
7353 (char)0,
7354 (char)0,
7355 (char)0,
7356 (char)0,
7357 (char)0,
7358 (char)0,
7359 (char)0,
7360 (char)0,
7361 (char)0,
7362 (char)0,
7363 (char)0,
7364 (char)0,
7365 (char)0,
7366 (char)0,
7367 (char)0,
7368 (char)0,
7369 (char)0,
7370 (char)0,
7371 (char)0,
7372 (char)0,
7373 (char)0,
7374 (char)0,
7375 (char)0,
7376 (char)0,
7377 (char)0,
7378 (char)0,
7379 (char)0,
7380 (char)0,
7381 (char)0,
7382 (char)0,
7383 (char)0,
7384 (char)0,
7385 (char)0,
7386 (char)0,
7387 (char)0,
7388 (char)0,
7389 (char)0,
7390 (char)0,
7391 (char)0,
7392 (char)0,
7393 (char)0,
7394 (char)0,
7395 (char)0,
7396 (char)0,
7397 (char)0,
7398 (char)0,
7399 (char)0,
7400 (char)0,
7401 (char)0,
7402 (char)0,
7403 (char)0,
7404 (char)0,
7405 (char)0,
7406 (char)0,
7407 (char)0,
7408 (char)0,
7409 (char)0,
7410 (char)0,
7411 (char)0,
7412 (char)0,
7413 (char)0,
7414 (char)0,
7415 (char)0,
7416 (char)0,
7417 (char)0,
7418 (char)0,
7419 (char)0,
7420 (char)0,
7421 (char)0,
7422 (char)0,
7423 (char)0,
7424 (char)0}},
7425 {(unsigned char)0,
7426 {(char)0,
7427 (char)0,
7428 (char)0,
7429 (char)0,
7430 (char)0,
7431 (char)0,
7432 (char)0,
7433 (char)0,
7434 (char)0,
7435 (char)0,
7436 (char)0,
7437 (char)0,
7438 (char)0,
7439 (char)0,
7440 (char)0,
7441 (char)0,
7442 (char)0,
7443 (char)0,
7444 (char)0,
7445 (char)0,
7446 (char)0,
7447 (char)0,
7448 (char)0,
7449 (char)0,
7450 (char)0,
7451 (char)0,
7452 (char)0,
7453 (char)0,
7454 (char)0,
7455 (char)0,
7456 (char)0,
7457 (char)0,
7458 (char)0,
7459 (char)0,
7460 (char)0,
7461 (char)0,
7462 (char)0,
7463 (char)0,
7464 (char)0,
7465 (char)0,
7466 (char)0,
7467 (char)0,
7468 (char)0,
7469 (char)0,
7470 (char)0,
7471 (char)0,
7472 (char)0,
7473 (char)0,
7474 (char)0,
7475 (char)0,
7476 (char)0,
7477 (char)0,
7478 (char)0,
7479 (char)0,
7480 (char)0,
7481 (char)0,
7482 (char)0,
7483 (char)0,
7484 (char)0,
7485 (char)0,
7486 (char)0,
7487 (char)0,
7488 (char)0,
7489 (char)0,
7490 (char)0,
7491 (char)0,
7492 (char)0,
7493 (char)0,
7494 (char)0,
7495 (char)0,
7496 (char)0,
7497 (char)0,
7498 (char)0,
7499 (char)0,
7500 (char)0,
7501 (char)0,
7502 (char)0,
7503 (char)0,
7504 (char)0}},
7505 {(unsigned char)0,
7506 {(char)0,
7507 (char)0,
7508 (char)0,
7509 (char)0,
7510 (char)0,
7511 (char)0,
7512 (char)0,
7513 (char)0,
7514 (char)0,
7515 (char)0,
7516 (char)0,
7517 (char)0,
7518 (char)0,
7519 (char)0,
7520 (char)0,
7521 (char)0,
7522 (char)0,
7523 (char)0,
7524 (char)0,
7525 (char)0,
7526 (char)0,
7527 (char)0,
7528 (char)0,
7529 (char)0,
7530 (char)0,
7531 (char)0,
7532 (char)0,
7533 (char)0,
7534 (char)0,
7535 (char)0,
7536 (char)0,
7537 (char)0,
7538 (char)0,
7539 (char)0,
7540 (char)0,
7541 (char)0,
7542 (char)0,
7543 (char)0,
7544 (char)0,
7545 (char)0,
7546 (char)0,
7547 (char)0,
7548 (char)0,
7549 (char)0,
7550 (char)0,
7551 (char)0,
7552 (char)0,
7553 (char)0,
7554 (char)0,
7555 (char)0,
7556 (char)0,
7557 (char)0,
7558 (char)0,
7559 (char)0,
7560 (char)0,
7561 (char)0,
7562 (char)0,
7563 (char)0,
7564 (char)0,
7565 (char)0,
7566 (char)0,
7567 (char)0,
7568 (char)0,
7569 (char)0,
7570 (char)0,
7571 (char)0,
7572 (char)0,
7573 (char)0,
7574 (char)0,
7575 (char)0,
7576 (char)0,
7577 (char)0,
7578 (char)0,
7579 (char)0,
7580 (char)0,
7581 (char)0,
7582 (char)0,
7583 (char)0,
7584 (char)0}},
7585 {(unsigned char)0,
7586 {(char)0,
7587 (char)0,
7588 (char)0,
7589 (char)0,
7590 (char)0,
7591 (char)0,
7592 (char)0,
7593 (char)0,
7594 (char)0,
7595 (char)0,
7596 (char)0,
7597 (char)0,
7598 (char)0,
7599 (char)0,
7600 (char)0,
7601 (char)0,
7602 (char)0,
7603 (char)0,
7604 (char)0,
7605 (char)0,
7606 (char)0,
7607 (char)0,
7608 (char)0,
7609 (char)0,
7610 (char)0,
7611 (char)0,
7612 (char)0,
7613 (char)0,
7614 (char)0,
7615 (char)0,
7616 (char)0,
7617 (char)0,
7618 (char)0,
7619 (char)0,
7620 (char)0,
7621 (char)0,
7622 (char)0,
7623 (char)0,
7624 (char)0,
7625 (char)0,
7626 (char)0,
7627 (char)0,
7628 (char)0,
7629 (char)0,
7630 (char)0,
7631 (char)0,
7632 (char)0,
7633 (char)0,
7634 (char)0,
7635 (char)0,
7636 (char)0,
7637 (char)0,
7638 (char)0,
7639 (char)0,
7640 (char)0,
7641 (char)0,
7642 (char)0,
7643 (char)0,
7644 (char)0,
7645 (char)0,
7646 (char)0,
7647 (char)0,
7648 (char)0,
7649 (char)0,
7650 (char)0,
7651 (char)0,
7652 (char)0,
7653 (char)0,
7654 (char)0,
7655 (char)0,
7656 (char)0,
7657 (char)0,
7658 (char)0,
7659 (char)0,
7660 (char)0,
7661 (char)0,
7662 (char)0,
7663 (char)0,
7664 (char)0}}},
7665 (void *)0}};
7666#line 746 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7667struct dmi_system_id const __mod_dmi_device_table ;
7668#line 748 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7669static int gsmi_system_valid(void)
7670{ u32 hash ;
7671 int tmp ;
7672 int tmp___0 ;
7673 char const *bios_ver ;
7674 char const *tmp___1 ;
7675 int tmp___2 ;
7676 struct dmi_system_id const *__cil_tmp7 ;
7677 unsigned long __cil_tmp8 ;
7678 unsigned long __cil_tmp9 ;
7679 char (*__cil_tmp10)[8U] ;
7680 char const *__cil_tmp11 ;
7681 unsigned long __cil_tmp12 ;
7682 unsigned long __cil_tmp13 ;
7683 char (*__cil_tmp14)[8U] ;
7684 char *__cil_tmp15 ;
7685 unsigned long __cil_tmp16 ;
7686 u32 __cil_tmp17 ;
7687
7688 {
7689 {
7690#line 752
7691 __cil_tmp7 = (struct dmi_system_id const *)(& gsmi_dmi_table);
7692#line 752
7693 tmp = dmi_check_system(__cil_tmp7);
7694 }
7695#line 752
7696 if (tmp == 0) {
7697#line 753
7698 return (-19);
7699 } else {
7700
7701 }
7702 {
7703#line 763
7704 __cil_tmp8 = 0 + 16;
7705#line 763
7706 __cil_tmp9 = (unsigned long )(& acpi_gbl_FADT) + __cil_tmp8;
7707#line 763
7708 __cil_tmp10 = (char (*)[8U])__cil_tmp9;
7709#line 763
7710 __cil_tmp11 = (char const *)__cil_tmp10;
7711#line 763
7712 tmp___0 = strncmp(__cil_tmp11, "FACP", 4UL);
7713 }
7714#line 763
7715 if (tmp___0 == 0) {
7716 {
7717#line 764
7718 printk("<6>gsmi: Board is too old\n");
7719 }
7720#line 765
7721 return (-19);
7722 } else {
7723
7724 }
7725 {
7726#line 769
7727 __cil_tmp12 = 0 + 16;
7728#line 769
7729 __cil_tmp13 = (unsigned long )(& acpi_gbl_FADT) + __cil_tmp12;
7730#line 769
7731 __cil_tmp14 = (char (*)[8U])__cil_tmp13;
7732#line 769
7733 __cil_tmp15 = (char *)__cil_tmp14;
7734#line 769
7735 hash = hash_oem_table_id(__cil_tmp15);
7736 }
7737#line 770
7738 if (hash == 2023950928U) {
7739 {
7740#line 771
7741 tmp___1 = dmi_get_system_info(2);
7742#line 771
7743 bios_ver = tmp___1;
7744#line 772
7745 tmp___2 = strncmp(bios_ver, "1.0", 3UL);
7746 }
7747#line 772
7748 if (tmp___2 == 0) {
7749 {
7750#line 773
7751 printk("<6>gsmi: disabled on this board\'s BIOS %s\n", bios_ver);
7752 }
7753#line 775
7754 return (-19);
7755 } else {
7756
7757 }
7758 } else {
7759
7760 }
7761 {
7762#line 780
7763 __cil_tmp16 = (unsigned long )(& acpi_gbl_FADT) + 48;
7764#line 780
7765 __cil_tmp17 = *((u32 *)__cil_tmp16);
7766#line 780
7767 if (__cil_tmp17 == 0U) {
7768 {
7769#line 781
7770 printk("<6>gsmi: missing smi_command\n");
7771 }
7772#line 782
7773 return (-19);
7774 } else {
7775
7776 }
7777 }
7778#line 786
7779 return (0);
7780}
7781}
7782#line 789 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7783static struct kobject *gsmi_kobj ;
7784#line 790 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7785static struct efivars efivars ;
7786#line 792 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
7787static int gsmi_init(void)
7788{ unsigned long flags ;
7789 int ret ;
7790 long tmp ;
7791 long tmp___0 ;
7792 struct lock_class_key __key ;
7793 unsigned long __cil_tmp6 ;
7794 unsigned long __cil_tmp7 ;
7795 u32 __cil_tmp8 ;
7796 struct gsmi_device *__cil_tmp9 ;
7797 struct resource const *__cil_tmp10 ;
7798 struct gsmi_device *__cil_tmp11 ;
7799 struct platform_device *__cil_tmp12 ;
7800 void const *__cil_tmp13 ;
7801 struct gsmi_device *__cil_tmp14 ;
7802 struct platform_device *__cil_tmp15 ;
7803 void const *__cil_tmp16 ;
7804 unsigned long __cil_tmp17 ;
7805 spinlock_t *__cil_tmp18 ;
7806 unsigned long __cil_tmp19 ;
7807 struct raw_spinlock *__cil_tmp20 ;
7808 unsigned long __cil_tmp21 ;
7809 struct gsmi_device *__cil_tmp22 ;
7810 struct platform_device *__cil_tmp23 ;
7811 unsigned long __cil_tmp24 ;
7812 unsigned long __cil_tmp25 ;
7813 unsigned long __cil_tmp26 ;
7814 struct gsmi_device *__cil_tmp27 ;
7815 struct platform_device *__cil_tmp28 ;
7816 unsigned long __cil_tmp29 ;
7817 unsigned long __cil_tmp30 ;
7818 unsigned long __cil_tmp31 ;
7819 struct gsmi_device *__cil_tmp32 ;
7820 struct platform_device *__cil_tmp33 ;
7821 unsigned long __cil_tmp34 ;
7822 unsigned long __cil_tmp35 ;
7823 unsigned long __cil_tmp36 ;
7824 struct gsmi_device *__cil_tmp37 ;
7825 struct platform_device *__cil_tmp38 ;
7826 unsigned long __cil_tmp39 ;
7827 unsigned long __cil_tmp40 ;
7828 struct device *__cil_tmp41 ;
7829 struct dma_pool *__cil_tmp42 ;
7830 unsigned long __cil_tmp43 ;
7831 unsigned long __cil_tmp44 ;
7832 struct dma_pool *__cil_tmp45 ;
7833 unsigned long __cil_tmp46 ;
7834 unsigned long __cil_tmp47 ;
7835 struct gsmi_buf *__cil_tmp48 ;
7836 unsigned long __cil_tmp49 ;
7837 unsigned long __cil_tmp50 ;
7838 struct gsmi_buf *__cil_tmp51 ;
7839 unsigned long __cil_tmp52 ;
7840 unsigned long __cil_tmp53 ;
7841 struct gsmi_buf *__cil_tmp54 ;
7842 unsigned long __cil_tmp55 ;
7843 unsigned long __cil_tmp56 ;
7844 struct gsmi_buf *__cil_tmp57 ;
7845 unsigned long __cil_tmp58 ;
7846 unsigned long __cil_tmp59 ;
7847 struct gsmi_buf *__cil_tmp60 ;
7848 unsigned long __cil_tmp61 ;
7849 unsigned long __cil_tmp62 ;
7850 struct gsmi_buf *__cil_tmp63 ;
7851 unsigned long __cil_tmp64 ;
7852 unsigned long __cil_tmp65 ;
7853 unsigned long __cil_tmp66 ;
7854 u8 __cil_tmp67 ;
7855 u8 __cil_tmp68 ;
7856 unsigned long __cil_tmp69 ;
7857 int __cil_tmp70 ;
7858 unsigned long __cil_tmp71 ;
7859 unsigned long __cil_tmp72 ;
7860 spinlock_t *__cil_tmp73 ;
7861 unsigned long __cil_tmp74 ;
7862 int __cil_tmp75 ;
7863 struct kobject *__cil_tmp76 ;
7864 unsigned long __cil_tmp77 ;
7865 unsigned long __cil_tmp78 ;
7866 struct bin_attribute const *__cil_tmp79 ;
7867 struct attribute const **__cil_tmp80 ;
7868 struct attribute const **__cil_tmp81 ;
7869 struct bin_attribute const *__cil_tmp82 ;
7870 unsigned long __cil_tmp83 ;
7871 struct gsmi_buf *__cil_tmp84 ;
7872 unsigned long __cil_tmp85 ;
7873 struct gsmi_buf *__cil_tmp86 ;
7874 unsigned long __cil_tmp87 ;
7875 struct gsmi_buf *__cil_tmp88 ;
7876 struct dma_pool *__cil_tmp89 ;
7877 unsigned long __cil_tmp90 ;
7878 unsigned long __cil_tmp91 ;
7879 struct dma_pool *__cil_tmp92 ;
7880 unsigned long __cil_tmp93 ;
7881 unsigned long __cil_tmp94 ;
7882 struct dma_pool *__cil_tmp95 ;
7883 struct gsmi_device *__cil_tmp96 ;
7884 struct platform_device *__cil_tmp97 ;
7885
7886 {
7887 {
7888#line 797
7889 ret = gsmi_system_valid();
7890 }
7891#line 798
7892 if (ret != 0) {
7893#line 799
7894 return (ret);
7895 } else {
7896
7897 }
7898 {
7899#line 801
7900 __cil_tmp6 = (unsigned long )(& gsmi_dev) + 104;
7901#line 801
7902 __cil_tmp7 = (unsigned long )(& acpi_gbl_FADT) + 48;
7903#line 801
7904 __cil_tmp8 = *((u32 *)__cil_tmp7);
7905#line 801
7906 *((u16 *)__cil_tmp6) = (u16 )__cil_tmp8;
7907#line 804
7908 __cil_tmp9 = & gsmi_dev;
7909#line 804
7910 __cil_tmp10 = (struct resource const *)0;
7911#line 804
7912 *((struct platform_device **)__cil_tmp9) = platform_device_register_simple("gsmi",
7913 -1, __cil_tmp10,
7914 0U);
7915#line 805
7916 __cil_tmp11 = & gsmi_dev;
7917#line 805
7918 __cil_tmp12 = *((struct platform_device **)__cil_tmp11);
7919#line 805
7920 __cil_tmp13 = (void const *)__cil_tmp12;
7921#line 805
7922 tmp___0 = IS_ERR(__cil_tmp13);
7923 }
7924#line 805
7925 if (tmp___0 != 0L) {
7926 {
7927#line 806
7928 printk("<3>gsmi: unable to register platform device\n");
7929#line 807
7930 __cil_tmp14 = & gsmi_dev;
7931#line 807
7932 __cil_tmp15 = *((struct platform_device **)__cil_tmp14);
7933#line 807
7934 __cil_tmp16 = (void const *)__cil_tmp15;
7935#line 807
7936 tmp = PTR_ERR(__cil_tmp16);
7937 }
7938#line 807
7939 return ((int )tmp);
7940 } else {
7941
7942 }
7943 {
7944#line 811
7945 __cil_tmp17 = (unsigned long )(& gsmi_dev) + 32;
7946#line 811
7947 __cil_tmp18 = (spinlock_t *)__cil_tmp17;
7948#line 811
7949 spinlock_check(__cil_tmp18);
7950#line 811
7951 __cil_tmp19 = (unsigned long )(& gsmi_dev) + 32;
7952#line 811
7953 __cil_tmp20 = (struct raw_spinlock *)__cil_tmp19;
7954#line 811
7955 __raw_spin_lock_init(__cil_tmp20, "&(&gsmi_dev.lock)->rlock", & __key);
7956#line 814
7957 __cil_tmp21 = 16 + 928;
7958#line 814
7959 __cil_tmp22 = & gsmi_dev;
7960#line 814
7961 __cil_tmp23 = *((struct platform_device **)__cil_tmp22);
7962#line 814
7963 __cil_tmp24 = (unsigned long )__cil_tmp23;
7964#line 814
7965 __cil_tmp25 = __cil_tmp24 + __cil_tmp21;
7966#line 814
7967 *((u64 *)__cil_tmp25) = 4294967295ULL;
7968#line 815
7969 __cil_tmp26 = 16 + 920;
7970#line 815
7971 __cil_tmp27 = & gsmi_dev;
7972#line 815
7973 __cil_tmp28 = *((struct platform_device **)__cil_tmp27);
7974#line 815
7975 __cil_tmp29 = (unsigned long )__cil_tmp28;
7976#line 815
7977 __cil_tmp30 = __cil_tmp29 + __cil_tmp26;
7978#line 815
7979 __cil_tmp31 = 16 + 928;
7980#line 815
7981 __cil_tmp32 = & gsmi_dev;
7982#line 815
7983 __cil_tmp33 = *((struct platform_device **)__cil_tmp32);
7984#line 815
7985 __cil_tmp34 = (unsigned long )__cil_tmp33;
7986#line 815
7987 __cil_tmp35 = __cil_tmp34 + __cil_tmp31;
7988#line 815
7989 *((u64 **)__cil_tmp30) = (u64 *)__cil_tmp35;
7990#line 817
7991 ret = -12;
7992#line 818
7993 __cil_tmp36 = (unsigned long )(& gsmi_dev) + 112;
7994#line 818
7995 __cil_tmp37 = & gsmi_dev;
7996#line 818
7997 __cil_tmp38 = *((struct platform_device **)__cil_tmp37);
7998#line 818
7999 __cil_tmp39 = (unsigned long )__cil_tmp38;
8000#line 818
8001 __cil_tmp40 = __cil_tmp39 + 16;
8002#line 818
8003 __cil_tmp41 = (struct device *)__cil_tmp40;
8004#line 818
8005 *((struct dma_pool **)__cil_tmp36) = dma_pool_create("gsmi", __cil_tmp41, 1024UL,
8006 8UL, 0UL);
8007 }
8008 {
8009#line 820
8010 __cil_tmp42 = (struct dma_pool *)0;
8011#line 820
8012 __cil_tmp43 = (unsigned long )__cil_tmp42;
8013#line 820
8014 __cil_tmp44 = (unsigned long )(& gsmi_dev) + 112;
8015#line 820
8016 __cil_tmp45 = *((struct dma_pool **)__cil_tmp44);
8017#line 820
8018 __cil_tmp46 = (unsigned long )__cil_tmp45;
8019#line 820
8020 if (__cil_tmp46 == __cil_tmp43) {
8021#line 821
8022 goto out_err;
8023 } else {
8024
8025 }
8026 }
8027 {
8028#line 827
8029 __cil_tmp47 = (unsigned long )(& gsmi_dev) + 8;
8030#line 827
8031 *((struct gsmi_buf **)__cil_tmp47) = gsmi_buf_alloc();
8032 }
8033 {
8034#line 828
8035 __cil_tmp48 = (struct gsmi_buf *)0;
8036#line 828
8037 __cil_tmp49 = (unsigned long )__cil_tmp48;
8038#line 828
8039 __cil_tmp50 = (unsigned long )(& gsmi_dev) + 8;
8040#line 828
8041 __cil_tmp51 = *((struct gsmi_buf **)__cil_tmp50);
8042#line 828
8043 __cil_tmp52 = (unsigned long )__cil_tmp51;
8044#line 828
8045 if (__cil_tmp52 == __cil_tmp49) {
8046 {
8047#line 829
8048 printk("<3>gsmi: failed to allocate name buffer\n");
8049 }
8050#line 830
8051 goto out_err;
8052 } else {
8053
8054 }
8055 }
8056 {
8057#line 833
8058 __cil_tmp53 = (unsigned long )(& gsmi_dev) + 16;
8059#line 833
8060 *((struct gsmi_buf **)__cil_tmp53) = gsmi_buf_alloc();
8061 }
8062 {
8063#line 834
8064 __cil_tmp54 = (struct gsmi_buf *)0;
8065#line 834
8066 __cil_tmp55 = (unsigned long )__cil_tmp54;
8067#line 834
8068 __cil_tmp56 = (unsigned long )(& gsmi_dev) + 16;
8069#line 834
8070 __cil_tmp57 = *((struct gsmi_buf **)__cil_tmp56);
8071#line 834
8072 __cil_tmp58 = (unsigned long )__cil_tmp57;
8073#line 834
8074 if (__cil_tmp58 == __cil_tmp55) {
8075 {
8076#line 835
8077 printk("<3>gsmi: failed to allocate data buffer\n");
8078 }
8079#line 836
8080 goto out_err;
8081 } else {
8082
8083 }
8084 }
8085 {
8086#line 839
8087 __cil_tmp59 = (unsigned long )(& gsmi_dev) + 24;
8088#line 839
8089 *((struct gsmi_buf **)__cil_tmp59) = gsmi_buf_alloc();
8090 }
8091 {
8092#line 840
8093 __cil_tmp60 = (struct gsmi_buf *)0;
8094#line 840
8095 __cil_tmp61 = (unsigned long )__cil_tmp60;
8096#line 840
8097 __cil_tmp62 = (unsigned long )(& gsmi_dev) + 24;
8098#line 840
8099 __cil_tmp63 = *((struct gsmi_buf **)__cil_tmp62);
8100#line 840
8101 __cil_tmp64 = (unsigned long )__cil_tmp63;
8102#line 840
8103 if (__cil_tmp64 == __cil_tmp61) {
8104 {
8105#line 841
8106 printk("<3>gsmi: failed to allocate param buffer\n");
8107 }
8108#line 842
8109 goto out_err;
8110 } else {
8111
8112 }
8113 }
8114 {
8115#line 873
8116 ldv_spin_lock();
8117#line 874
8118 __cil_tmp65 = (unsigned long )(& gsmi_dev) + 108;
8119#line 874
8120 *((int *)__cil_tmp65) = 125;
8121#line 875
8122 __cil_tmp66 = (unsigned long )(& gsmi_dev) + 108;
8123#line 875
8124 __cil_tmp67 = (u8 )239;
8125#line 875
8126 __cil_tmp68 = (u8 )193;
8127#line 875
8128 *((int *)__cil_tmp66) = gsmi_exec(__cil_tmp67, __cil_tmp68);
8129 }
8130 {
8131#line 877
8132 __cil_tmp69 = (unsigned long )(& gsmi_dev) + 108;
8133#line 877
8134 __cil_tmp70 = *((int *)__cil_tmp69);
8135#line 877
8136 if (__cil_tmp70 == -38) {
8137#line 878
8138 __cil_tmp71 = (unsigned long )(& gsmi_dev) + 108;
8139#line 878
8140 *((int *)__cil_tmp71) = 127;
8141 } else {
8142
8143 }
8144 }
8145 {
8146#line 879
8147 __cil_tmp72 = (unsigned long )(& gsmi_dev) + 32;
8148#line 879
8149 __cil_tmp73 = (spinlock_t *)__cil_tmp72;
8150#line 879
8151 spin_unlock_irqrestore(__cil_tmp73, flags);
8152 }
8153 {
8154#line 882
8155 __cil_tmp74 = (unsigned long )(& gsmi_dev) + 108;
8156#line 882
8157 __cil_tmp75 = *((int *)__cil_tmp74);
8158#line 882
8159 if (__cil_tmp75 == -6) {
8160 {
8161#line 883
8162 printk("<6>gsmi version 1.0 failed to load\n");
8163#line 885
8164 ret = -19;
8165 }
8166#line 886
8167 goto out_err;
8168 } else {
8169
8170 }
8171 }
8172 {
8173#line 890
8174 ret = -12;
8175#line 891
8176 gsmi_kobj = kobject_create_and_add("gsmi", firmware_kobj);
8177 }
8178 {
8179#line 892
8180 __cil_tmp76 = (struct kobject *)0;
8181#line 892
8182 __cil_tmp77 = (unsigned long )__cil_tmp76;
8183#line 892
8184 __cil_tmp78 = (unsigned long )gsmi_kobj;
8185#line 892
8186 if (__cil_tmp78 == __cil_tmp77) {
8187 {
8188#line 893
8189 printk("<6>gsmi: Failed to create firmware kobj\n");
8190 }
8191#line 894
8192 goto out_err;
8193 } else {
8194
8195 }
8196 }
8197 {
8198#line 898
8199 __cil_tmp79 = (struct bin_attribute const *)(& eventlog_bin_attr);
8200#line 898
8201 ret = sysfs_create_bin_file(gsmi_kobj, __cil_tmp79);
8202 }
8203#line 899
8204 if (ret != 0) {
8205 {
8206#line 900
8207 printk("<6>gsmi: Failed to setup eventlog");
8208 }
8209#line 901
8210 goto out_err;
8211 } else {
8212
8213 }
8214 {
8215#line 905
8216 __cil_tmp80 = (struct attribute const **)(& gsmi_attrs);
8217#line 905
8218 ret = sysfs_create_files(gsmi_kobj, __cil_tmp80);
8219 }
8220#line 906
8221 if (ret != 0) {
8222 {
8223#line 907
8224 printk("<6>gsmi: Failed to add attrs");
8225 }
8226#line 908
8227 goto out_remove_bin_file;
8228 } else {
8229
8230 }
8231 {
8232#line 911
8233 ret = register_efivars(& efivars, & efivar_ops, gsmi_kobj);
8234 }
8235#line 912
8236 if (ret != 0) {
8237 {
8238#line 913
8239 printk("<6>gsmi: Failed to register efivars\n");
8240 }
8241#line 914
8242 goto out_remove_sysfs_files;
8243 } else {
8244
8245 }
8246 {
8247#line 917
8248 register_reboot_notifier(& gsmi_reboot_notifier);
8249#line 918
8250 register_die_notifier(& gsmi_die_notifier);
8251#line 919
8252 atomic_notifier_chain_register(& panic_notifier_list, & gsmi_panic_notifier);
8253#line 922
8254 printk("<6>gsmi version 1.0 loaded\n");
8255 }
8256#line 924
8257 return (0);
8258 out_remove_sysfs_files:
8259 {
8260#line 927
8261 __cil_tmp81 = (struct attribute const **)(& gsmi_attrs);
8262#line 927
8263 sysfs_remove_files(gsmi_kobj, __cil_tmp81);
8264 }
8265 out_remove_bin_file:
8266 {
8267#line 929
8268 __cil_tmp82 = (struct bin_attribute const *)(& eventlog_bin_attr);
8269#line 929
8270 sysfs_remove_bin_file(gsmi_kobj, __cil_tmp82);
8271 }
8272 out_err:
8273 {
8274#line 931
8275 kobject_put(gsmi_kobj);
8276#line 932
8277 __cil_tmp83 = (unsigned long )(& gsmi_dev) + 24;
8278#line 932
8279 __cil_tmp84 = *((struct gsmi_buf **)__cil_tmp83);
8280#line 932
8281 gsmi_buf_free(__cil_tmp84);
8282#line 933
8283 __cil_tmp85 = (unsigned long )(& gsmi_dev) + 16;
8284#line 933
8285 __cil_tmp86 = *((struct gsmi_buf **)__cil_tmp85);
8286#line 933
8287 gsmi_buf_free(__cil_tmp86);
8288#line 934
8289 __cil_tmp87 = (unsigned long )(& gsmi_dev) + 8;
8290#line 934
8291 __cil_tmp88 = *((struct gsmi_buf **)__cil_tmp87);
8292#line 934
8293 gsmi_buf_free(__cil_tmp88);
8294 }
8295 {
8296#line 935
8297 __cil_tmp89 = (struct dma_pool *)0;
8298#line 935
8299 __cil_tmp90 = (unsigned long )__cil_tmp89;
8300#line 935
8301 __cil_tmp91 = (unsigned long )(& gsmi_dev) + 112;
8302#line 935
8303 __cil_tmp92 = *((struct dma_pool **)__cil_tmp91);
8304#line 935
8305 __cil_tmp93 = (unsigned long )__cil_tmp92;
8306#line 935
8307 if (__cil_tmp93 != __cil_tmp90) {
8308 {
8309#line 936
8310 __cil_tmp94 = (unsigned long )(& gsmi_dev) + 112;
8311#line 936
8312 __cil_tmp95 = *((struct dma_pool **)__cil_tmp94);
8313#line 936
8314 dma_pool_destroy(__cil_tmp95);
8315 }
8316 } else {
8317
8318 }
8319 }
8320 {
8321#line 937
8322 __cil_tmp96 = & gsmi_dev;
8323#line 937
8324 __cil_tmp97 = *((struct platform_device **)__cil_tmp96);
8325#line 937
8326 platform_device_unregister(__cil_tmp97);
8327#line 938
8328 printk("<6>gsmi: failed to load: %d\n", ret);
8329 }
8330#line 939
8331 return (ret);
8332}
8333}
8334#line 942 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8335static void gsmi_exit(void)
8336{ struct attribute const **__cil_tmp1 ;
8337 struct bin_attribute const *__cil_tmp2 ;
8338 unsigned long __cil_tmp3 ;
8339 struct gsmi_buf *__cil_tmp4 ;
8340 unsigned long __cil_tmp5 ;
8341 struct gsmi_buf *__cil_tmp6 ;
8342 unsigned long __cil_tmp7 ;
8343 struct gsmi_buf *__cil_tmp8 ;
8344 unsigned long __cil_tmp9 ;
8345 struct dma_pool *__cil_tmp10 ;
8346 struct gsmi_device *__cil_tmp11 ;
8347 struct platform_device *__cil_tmp12 ;
8348
8349 {
8350 {
8351#line 944
8352 unregister_reboot_notifier(& gsmi_reboot_notifier);
8353#line 945
8354 unregister_die_notifier(& gsmi_die_notifier);
8355#line 946
8356 atomic_notifier_chain_unregister(& panic_notifier_list, & gsmi_panic_notifier);
8357#line 948
8358 unregister_efivars(& efivars);
8359#line 950
8360 __cil_tmp1 = (struct attribute const **)(& gsmi_attrs);
8361#line 950
8362 sysfs_remove_files(gsmi_kobj, __cil_tmp1);
8363#line 951
8364 __cil_tmp2 = (struct bin_attribute const *)(& eventlog_bin_attr);
8365#line 951
8366 sysfs_remove_bin_file(gsmi_kobj, __cil_tmp2);
8367#line 952
8368 kobject_put(gsmi_kobj);
8369#line 953
8370 __cil_tmp3 = (unsigned long )(& gsmi_dev) + 24;
8371#line 953
8372 __cil_tmp4 = *((struct gsmi_buf **)__cil_tmp3);
8373#line 953
8374 gsmi_buf_free(__cil_tmp4);
8375#line 954
8376 __cil_tmp5 = (unsigned long )(& gsmi_dev) + 16;
8377#line 954
8378 __cil_tmp6 = *((struct gsmi_buf **)__cil_tmp5);
8379#line 954
8380 gsmi_buf_free(__cil_tmp6);
8381#line 955
8382 __cil_tmp7 = (unsigned long )(& gsmi_dev) + 8;
8383#line 955
8384 __cil_tmp8 = *((struct gsmi_buf **)__cil_tmp7);
8385#line 955
8386 gsmi_buf_free(__cil_tmp8);
8387#line 956
8388 __cil_tmp9 = (unsigned long )(& gsmi_dev) + 112;
8389#line 956
8390 __cil_tmp10 = *((struct dma_pool **)__cil_tmp9);
8391#line 956
8392 dma_pool_destroy(__cil_tmp10);
8393#line 957
8394 __cil_tmp11 = & gsmi_dev;
8395#line 957
8396 __cil_tmp12 = *((struct platform_device **)__cil_tmp11);
8397#line 957
8398 platform_device_unregister(__cil_tmp12);
8399 }
8400#line 958
8401 return;
8402}
8403}
8404#line 982
8405extern void ldv_check_final_state(void) ;
8406#line 988
8407extern void ldv_initialize(void) ;
8408#line 991
8409extern int __VERIFIER_nondet_int(void) ;
8410#line 994 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8411int LDV_IN_INTERRUPT ;
8412#line 997 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8413void main(void)
8414{ efi_char16_t *var_gsmi_get_variable_4_p0 ;
8415 efi_guid_t *var_gsmi_get_variable_4_p1 ;
8416 u32 *var_gsmi_get_variable_4_p2 ;
8417 unsigned long *var_gsmi_get_variable_4_p3 ;
8418 void *var_gsmi_get_variable_4_p4 ;
8419 efi_char16_t *var_gsmi_set_variable_6_p0 ;
8420 efi_guid_t *var_gsmi_set_variable_6_p1 ;
8421 u32 var_gsmi_set_variable_6_p2 ;
8422 unsigned long var_gsmi_set_variable_6_p3 ;
8423 void *var_gsmi_set_variable_6_p4 ;
8424 unsigned long *var_gsmi_get_next_variable_5_p0 ;
8425 efi_char16_t *var_gsmi_get_next_variable_5_p1 ;
8426 efi_guid_t *var_gsmi_get_next_variable_5_p2 ;
8427 struct file *var_group1 ;
8428 struct kobject *var_group2 ;
8429 struct bin_attribute *var_eventlog_write_7_p2 ;
8430 char *var_eventlog_write_7_p3 ;
8431 loff_t var_eventlog_write_7_p4 ;
8432 size_t var_eventlog_write_7_p5 ;
8433 struct kobj_attribute *var_group3 ;
8434 char const *var_gsmi_clear_eventlog_store_8_p2 ;
8435 size_t var_gsmi_clear_eventlog_store_8_p3 ;
8436 char const *var_gsmi_clear_config_store_9_p2 ;
8437 size_t var_gsmi_clear_config_store_9_p3 ;
8438 struct notifier_block *var_group4 ;
8439 unsigned long var_gsmi_reboot_callback_11_p1 ;
8440 void *var_gsmi_reboot_callback_11_p2 ;
8441 unsigned long var_gsmi_die_callback_12_p1 ;
8442 void *var_gsmi_die_callback_12_p2 ;
8443 unsigned long var_gsmi_panic_callback_13_p1 ;
8444 void *var_gsmi_panic_callback_13_p2 ;
8445 int tmp ;
8446 int tmp___0 ;
8447 int tmp___1 ;
8448
8449 {
8450 {
8451#line 1445
8452 LDV_IN_INTERRUPT = 1;
8453#line 1454
8454 ldv_initialize();
8455#line 1498
8456 tmp = gsmi_init();
8457 }
8458#line 1498
8459 if (tmp != 0) {
8460#line 1499
8461 goto ldv_final;
8462 } else {
8463
8464 }
8465#line 1515
8466 goto ldv_30680;
8467 ldv_30679:
8468 {
8469#line 1518
8470 tmp___0 = __VERIFIER_nondet_int();
8471 }
8472#line 1520
8473 if (tmp___0 == 0) {
8474#line 1520
8475 goto case_0;
8476 } else
8477#line 1574
8478 if (tmp___0 == 1) {
8479#line 1574
8480 goto case_1;
8481 } else
8482#line 1628
8483 if (tmp___0 == 2) {
8484#line 1628
8485 goto case_2;
8486 } else
8487#line 1682
8488 if (tmp___0 == 3) {
8489#line 1682
8490 goto case_3;
8491 } else
8492#line 1736
8493 if (tmp___0 == 4) {
8494#line 1736
8495 goto case_4;
8496 } else
8497#line 1790
8498 if (tmp___0 == 5) {
8499#line 1790
8500 goto case_5;
8501 } else
8502#line 1844
8503 if (tmp___0 == 6) {
8504#line 1844
8505 goto case_6;
8506 } else
8507#line 1898
8508 if (tmp___0 == 7) {
8509#line 1898
8510 goto case_7;
8511 } else
8512#line 1952
8513 if (tmp___0 == 8) {
8514#line 1952
8515 goto case_8;
8516 } else {
8517 {
8518#line 2006
8519 goto switch_default;
8520#line 1518
8521 if (0) {
8522 case_0:
8523 {
8524#line 1566
8525 gsmi_get_variable(var_gsmi_get_variable_4_p0, var_gsmi_get_variable_4_p1, var_gsmi_get_variable_4_p2,
8526 var_gsmi_get_variable_4_p3, var_gsmi_get_variable_4_p4);
8527 }
8528#line 1573
8529 goto ldv_30669;
8530 case_1:
8531 {
8532#line 1620
8533 gsmi_set_variable(var_gsmi_set_variable_6_p0, var_gsmi_set_variable_6_p1, var_gsmi_set_variable_6_p2,
8534 var_gsmi_set_variable_6_p3, var_gsmi_set_variable_6_p4);
8535 }
8536#line 1627
8537 goto ldv_30669;
8538 case_2:
8539 {
8540#line 1674
8541 gsmi_get_next_variable(var_gsmi_get_next_variable_5_p0, var_gsmi_get_next_variable_5_p1,
8542 var_gsmi_get_next_variable_5_p2);
8543 }
8544#line 1681
8545 goto ldv_30669;
8546 case_3:
8547 {
8548#line 1728
8549 eventlog_write(var_group1, var_group2, var_eventlog_write_7_p2, var_eventlog_write_7_p3,
8550 var_eventlog_write_7_p4, var_eventlog_write_7_p5);
8551 }
8552#line 1735
8553 goto ldv_30669;
8554 case_4:
8555 {
8556#line 1782
8557 gsmi_clear_eventlog_store(var_group2, var_group3, var_gsmi_clear_eventlog_store_8_p2,
8558 var_gsmi_clear_eventlog_store_8_p3);
8559 }
8560#line 1789
8561 goto ldv_30669;
8562 case_5:
8563 {
8564#line 1836
8565 gsmi_clear_config_store(var_group2, var_group3, var_gsmi_clear_config_store_9_p2,
8566 var_gsmi_clear_config_store_9_p3);
8567 }
8568#line 1843
8569 goto ldv_30669;
8570 case_6:
8571 {
8572#line 1890
8573 gsmi_reboot_callback(var_group4, var_gsmi_reboot_callback_11_p1, var_gsmi_reboot_callback_11_p2);
8574 }
8575#line 1897
8576 goto ldv_30669;
8577 case_7:
8578 {
8579#line 1944
8580 gsmi_die_callback(var_group4, var_gsmi_die_callback_12_p1, var_gsmi_die_callback_12_p2);
8581 }
8582#line 1951
8583 goto ldv_30669;
8584 case_8:
8585 {
8586#line 1998
8587 gsmi_panic_callback(var_group4, var_gsmi_panic_callback_13_p1, var_gsmi_panic_callback_13_p2);
8588 }
8589#line 2005
8590 goto ldv_30669;
8591 switch_default: ;
8592#line 2006
8593 goto ldv_30669;
8594 } else {
8595 switch_break: ;
8596 }
8597 }
8598 }
8599 ldv_30669: ;
8600 ldv_30680:
8601 {
8602#line 1515
8603 tmp___1 = __VERIFIER_nondet_int();
8604 }
8605#line 1515
8606 if (tmp___1 != 0) {
8607#line 1516
8608 goto ldv_30679;
8609 } else {
8610#line 1518
8611 goto ldv_30681;
8612 }
8613 ldv_30681: ;
8614 {
8615#line 2056
8616 gsmi_exit();
8617 }
8618 ldv_final:
8619 {
8620#line 2059
8621 ldv_check_final_state();
8622 }
8623#line 2062
8624 return;
8625}
8626}
8627#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
8628void ldv_blast_assert(void)
8629{
8630
8631 {
8632 ERROR: ;
8633#line 6
8634 goto ERROR;
8635}
8636}
8637#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
8638extern int __VERIFIER_nondet_int(void) ;
8639#line 2083 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8640int ldv_spin = 0;
8641#line 2087 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8642void ldv_check_alloc_flags(gfp_t flags )
8643{
8644
8645 {
8646#line 2090
8647 if (ldv_spin != 0) {
8648#line 2090
8649 if (flags != 32U) {
8650 {
8651#line 2090
8652 ldv_blast_assert();
8653 }
8654 } else {
8655
8656 }
8657 } else {
8658
8659 }
8660#line 2093
8661 return;
8662}
8663}
8664#line 2093
8665extern struct page *ldv_some_page(void) ;
8666#line 2096 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8667struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
8668{ struct page *tmp ;
8669
8670 {
8671#line 2099
8672 if (ldv_spin != 0) {
8673#line 2099
8674 if (flags != 32U) {
8675 {
8676#line 2099
8677 ldv_blast_assert();
8678 }
8679 } else {
8680
8681 }
8682 } else {
8683
8684 }
8685 {
8686#line 2101
8687 tmp = ldv_some_page();
8688 }
8689#line 2101
8690 return (tmp);
8691}
8692}
8693#line 2105 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8694void ldv_check_alloc_nonatomic(void)
8695{
8696
8697 {
8698#line 2108
8699 if (ldv_spin != 0) {
8700 {
8701#line 2108
8702 ldv_blast_assert();
8703 }
8704 } else {
8705
8706 }
8707#line 2111
8708 return;
8709}
8710}
8711#line 2112 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8712void ldv_spin_lock(void)
8713{
8714
8715 {
8716#line 2115
8717 ldv_spin = 1;
8718#line 2116
8719 return;
8720}
8721}
8722#line 2119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8723void ldv_spin_unlock(void)
8724{
8725
8726 {
8727#line 2122
8728 ldv_spin = 0;
8729#line 2123
8730 return;
8731}
8732}
8733#line 2126 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8734int ldv_spin_trylock(void)
8735{ int is_lock ;
8736
8737 {
8738 {
8739#line 2131
8740 is_lock = __VERIFIER_nondet_int();
8741 }
8742#line 2133
8743 if (is_lock != 0) {
8744#line 2136
8745 return (0);
8746 } else {
8747#line 2141
8748 ldv_spin = 1;
8749#line 2143
8750 return (1);
8751 }
8752}
8753}
8754#line 2219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8755__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
8756{
8757
8758 {
8759 {
8760#line 2225
8761 ldv_spin_unlock();
8762#line 2227
8763 ldv_spin_unlock_irqrestore_8(lock, flags);
8764 }
8765#line 2228
8766 return;
8767}
8768}
8769#line 2310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8770void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
8771{
8772
8773 {
8774 {
8775#line 2316
8776 ldv_check_alloc_flags(ldv_func_arg2);
8777#line 2318
8778 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
8779 }
8780#line 2319
8781 return ((void *)0);
8782}
8783}
8784#line 2321 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8785__inline static void *kzalloc(size_t size , gfp_t flags )
8786{ void *tmp ;
8787
8788 {
8789 {
8790#line 2327
8791 ldv_check_alloc_flags(flags);
8792#line 2328
8793 tmp = __VERIFIER_nondet_pointer();
8794 }
8795#line 2328
8796 return (tmp);
8797}
8798}
8799#line 2342 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4502/dscv_tempdir/dscv/ri/43_1a/drivers/firmware/google/gsmi.c.p"
8800void *ldv_dma_pool_alloc_19(struct dma_pool *ldv_func_arg1 , gfp_t ldv_func_arg2 ,
8801 dma_addr_t *ldv_func_arg3 )
8802{
8803
8804 {
8805 {
8806#line 2349
8807 ldv_check_alloc_flags(ldv_func_arg2);
8808#line 2351
8809 dma_pool_alloc(ldv_func_arg1, ldv_func_arg2, ldv_func_arg3);
8810 }
8811#line 2352
8812 return ((void *)0);
8813}
8814}