1
2
3
4#line 23 "include/asm-generic/int-ll64.h"
5typedef unsigned short __u16;
6#line 25 "include/asm-generic/int-ll64.h"
7typedef int __s32;
8#line 26 "include/asm-generic/int-ll64.h"
9typedef unsigned int __u32;
10#line 30 "include/asm-generic/int-ll64.h"
11typedef unsigned long long __u64;
12#line 43 "include/asm-generic/int-ll64.h"
13typedef unsigned char u8;
14#line 45 "include/asm-generic/int-ll64.h"
15typedef short s16;
16#line 46 "include/asm-generic/int-ll64.h"
17typedef unsigned short u16;
18#line 48 "include/asm-generic/int-ll64.h"
19typedef int s32;
20#line 49 "include/asm-generic/int-ll64.h"
21typedef unsigned int u32;
22#line 51 "include/asm-generic/int-ll64.h"
23typedef long long s64;
24#line 52 "include/asm-generic/int-ll64.h"
25typedef unsigned long long u64;
26#line 14 "include/asm-generic/posix_types.h"
27typedef long __kernel_long_t;
28#line 15 "include/asm-generic/posix_types.h"
29typedef unsigned long __kernel_ulong_t;
30#line 31 "include/asm-generic/posix_types.h"
31typedef int __kernel_pid_t;
32#line 52 "include/asm-generic/posix_types.h"
33typedef unsigned int __kernel_uid32_t;
34#line 53 "include/asm-generic/posix_types.h"
35typedef unsigned int __kernel_gid32_t;
36#line 75 "include/asm-generic/posix_types.h"
37typedef __kernel_ulong_t __kernel_size_t;
38#line 76 "include/asm-generic/posix_types.h"
39typedef __kernel_long_t __kernel_ssize_t;
40#line 91 "include/asm-generic/posix_types.h"
41typedef long long __kernel_loff_t;
42#line 92 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_time_t;
44#line 93 "include/asm-generic/posix_types.h"
45typedef __kernel_long_t __kernel_clock_t;
46#line 94 "include/asm-generic/posix_types.h"
47typedef int __kernel_timer_t;
48#line 95 "include/asm-generic/posix_types.h"
49typedef int __kernel_clockid_t;
50#line 21 "include/linux/types.h"
51typedef __u32 __kernel_dev_t;
52#line 24 "include/linux/types.h"
53typedef __kernel_dev_t dev_t;
54#line 27 "include/linux/types.h"
55typedef unsigned short umode_t;
56#line 30 "include/linux/types.h"
57typedef __kernel_pid_t pid_t;
58#line 35 "include/linux/types.h"
59typedef __kernel_clockid_t clockid_t;
60#line 38 "include/linux/types.h"
61typedef _Bool bool;
62#line 40 "include/linux/types.h"
63typedef __kernel_uid32_t uid_t;
64#line 41 "include/linux/types.h"
65typedef __kernel_gid32_t gid_t;
66#line 54 "include/linux/types.h"
67typedef __kernel_loff_t loff_t;
68#line 63 "include/linux/types.h"
69typedef __kernel_size_t size_t;
70#line 68 "include/linux/types.h"
71typedef __kernel_ssize_t ssize_t;
72#line 78 "include/linux/types.h"
73typedef __kernel_time_t time_t;
74#line 111 "include/linux/types.h"
75typedef __s32 int32_t;
76#line 117 "include/linux/types.h"
77typedef __u32 uint32_t;
78#line 202 "include/linux/types.h"
79typedef unsigned int gfp_t;
80#line 221 "include/linux/types.h"
81struct __anonstruct_atomic_t_6 {
82 int counter ;
83};
84#line 221 "include/linux/types.h"
85typedef struct __anonstruct_atomic_t_6 atomic_t;
86#line 226 "include/linux/types.h"
87struct __anonstruct_atomic64_t_7 {
88 long counter ;
89};
90#line 226 "include/linux/types.h"
91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
92#line 227 "include/linux/types.h"
93struct list_head {
94 struct list_head *next ;
95 struct list_head *prev ;
96};
97#line 232
98struct hlist_node;
99#line 232 "include/linux/types.h"
100struct hlist_head {
101 struct hlist_node *first ;
102};
103#line 236 "include/linux/types.h"
104struct hlist_node {
105 struct hlist_node *next ;
106 struct hlist_node **pprev ;
107};
108#line 247 "include/linux/types.h"
109struct rcu_head {
110 struct rcu_head *next ;
111 void (*func)(struct rcu_head * ) ;
112};
113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
114struct module;
115#line 146 "include/linux/init.h"
116typedef void (*ctor_fn_t)(void);
117#line 305 "include/linux/printk.h"
118struct _ddebug {
119 char *modname ;
120 char *function ;
121 char *filename ;
122 char *format ;
123 unsigned int lineno : 18 ;
124 unsigned char flags ;
125};
126#line 46 "include/linux/dynamic_debug.h"
127struct device;
128#line 57
129struct completion;
130#line 58
131struct pt_regs;
132#line 348 "include/linux/kernel.h"
133struct pid;
134#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
135struct timespec;
136#line 113
137struct compat_timespec;
138#line 114 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
139struct __anonstruct_futex_9 {
140 u32 *uaddr ;
141 u32 val ;
142 u32 flags ;
143 u32 bitset ;
144 u64 time ;
145 u32 *uaddr2 ;
146};
147#line 114 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
148struct __anonstruct_nanosleep_10 {
149 clockid_t clockid ;
150 struct timespec *rmtp ;
151 struct compat_timespec *compat_rmtp ;
152 u64 expires ;
153};
154#line 114
155struct pollfd;
156#line 114 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
157struct __anonstruct_poll_11 {
158 struct pollfd *ufds ;
159 int nfds ;
160 int has_timeout ;
161 unsigned long tv_sec ;
162 unsigned long tv_nsec ;
163};
164#line 114 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
165union __anonunion_ldv_2046_8 {
166 struct __anonstruct_futex_9 futex ;
167 struct __anonstruct_nanosleep_10 nanosleep ;
168 struct __anonstruct_poll_11 poll ;
169};
170#line 114 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
171struct restart_block {
172 long (*fn)(struct restart_block * ) ;
173 union __anonunion_ldv_2046_8 ldv_2046 ;
174};
175#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
176struct page;
177#line 26 "include/asm-generic/getorder.h"
178struct task_struct;
179#line 27
180struct exec_domain;
181#line 28
182struct mm_struct;
183#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
184struct pt_regs {
185 unsigned long r15 ;
186 unsigned long r14 ;
187 unsigned long r13 ;
188 unsigned long r12 ;
189 unsigned long bp ;
190 unsigned long bx ;
191 unsigned long r11 ;
192 unsigned long r10 ;
193 unsigned long r9 ;
194 unsigned long r8 ;
195 unsigned long ax ;
196 unsigned long cx ;
197 unsigned long dx ;
198 unsigned long si ;
199 unsigned long di ;
200 unsigned long orig_ax ;
201 unsigned long ip ;
202 unsigned long cs ;
203 unsigned long flags ;
204 unsigned long sp ;
205 unsigned long ss ;
206};
207#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
208struct __anonstruct_ldv_2180_13 {
209 unsigned int a ;
210 unsigned int b ;
211};
212#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
213struct __anonstruct_ldv_2195_14 {
214 u16 limit0 ;
215 u16 base0 ;
216 unsigned char base1 ;
217 unsigned char type : 4 ;
218 unsigned char s : 1 ;
219 unsigned char dpl : 2 ;
220 unsigned char p : 1 ;
221 unsigned char limit : 4 ;
222 unsigned char avl : 1 ;
223 unsigned char l : 1 ;
224 unsigned char d : 1 ;
225 unsigned char g : 1 ;
226 unsigned char base2 ;
227};
228#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
229union __anonunion_ldv_2196_12 {
230 struct __anonstruct_ldv_2180_13 ldv_2180 ;
231 struct __anonstruct_ldv_2195_14 ldv_2195 ;
232};
233#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
234struct desc_struct {
235 union __anonunion_ldv_2196_12 ldv_2196 ;
236};
237#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
238typedef unsigned long pgdval_t;
239#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
240typedef unsigned long pgprotval_t;
241#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
242struct pgprot {
243 pgprotval_t pgprot ;
244};
245#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
246typedef struct pgprot pgprot_t;
247#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
248struct __anonstruct_pgd_t_16 {
249 pgdval_t pgd ;
250};
251#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
252typedef struct __anonstruct_pgd_t_16 pgd_t;
253#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
254typedef struct page *pgtable_t;
255#line 290
256struct file;
257#line 337
258struct thread_struct;
259#line 339
260struct cpumask;
261#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
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 91 "include/linux/personality.h"
303struct map_segment;
304#line 91 "include/linux/personality.h"
305struct exec_domain {
306 char *name ;
307 void (*handler)(int , struct pt_regs * ) ;
308 unsigned char pers_low ;
309 unsigned char pers_high ;
310 unsigned long *signal_map ;
311 unsigned long *signal_invmap ;
312 struct map_segment *err_map ;
313 struct map_segment *socktype_map ;
314 struct map_segment *sockopt_map ;
315 struct map_segment *af_map ;
316 struct module *module ;
317 struct exec_domain *next ;
318};
319#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
320struct i387_fsave_struct {
321 u32 cwd ;
322 u32 swd ;
323 u32 twd ;
324 u32 fip ;
325 u32 fcs ;
326 u32 foo ;
327 u32 fos ;
328 u32 st_space[20U] ;
329 u32 status ;
330};
331#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
332struct __anonstruct_ldv_5180_24 {
333 u64 rip ;
334 u64 rdp ;
335};
336#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
337struct __anonstruct_ldv_5186_25 {
338 u32 fip ;
339 u32 fcs ;
340 u32 foo ;
341 u32 fos ;
342};
343#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
344union __anonunion_ldv_5187_23 {
345 struct __anonstruct_ldv_5180_24 ldv_5180 ;
346 struct __anonstruct_ldv_5186_25 ldv_5186 ;
347};
348#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
349union __anonunion_ldv_5196_26 {
350 u32 padding1[12U] ;
351 u32 sw_reserved[12U] ;
352};
353#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
354struct i387_fxsave_struct {
355 u16 cwd ;
356 u16 swd ;
357 u16 twd ;
358 u16 fop ;
359 union __anonunion_ldv_5187_23 ldv_5187 ;
360 u32 mxcsr ;
361 u32 mxcsr_mask ;
362 u32 st_space[32U] ;
363 u32 xmm_space[64U] ;
364 u32 padding[12U] ;
365 union __anonunion_ldv_5196_26 ldv_5196 ;
366};
367#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
368struct i387_soft_struct {
369 u32 cwd ;
370 u32 swd ;
371 u32 twd ;
372 u32 fip ;
373 u32 fcs ;
374 u32 foo ;
375 u32 fos ;
376 u32 st_space[20U] ;
377 u8 ftop ;
378 u8 changed ;
379 u8 lookahead ;
380 u8 no_update ;
381 u8 rm ;
382 u8 alimit ;
383 struct math_emu_info *info ;
384 u32 entry_eip ;
385};
386#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
387struct ymmh_struct {
388 u32 ymmh_space[64U] ;
389};
390#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
391struct xsave_hdr_struct {
392 u64 xstate_bv ;
393 u64 reserved1[2U] ;
394 u64 reserved2[5U] ;
395};
396#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
397struct xsave_struct {
398 struct i387_fxsave_struct i387 ;
399 struct xsave_hdr_struct xsave_hdr ;
400 struct ymmh_struct ymmh ;
401};
402#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
403union thread_xstate {
404 struct i387_fsave_struct fsave ;
405 struct i387_fxsave_struct fxsave ;
406 struct i387_soft_struct soft ;
407 struct xsave_struct xsave ;
408};
409#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
410struct fpu {
411 unsigned int last_cpu ;
412 unsigned int has_fpu ;
413 union thread_xstate *state ;
414};
415#line 433
416struct kmem_cache;
417#line 434
418struct perf_event;
419#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
420struct thread_struct {
421 struct desc_struct tls_array[3U] ;
422 unsigned long sp0 ;
423 unsigned long sp ;
424 unsigned long usersp ;
425 unsigned short es ;
426 unsigned short ds ;
427 unsigned short fsindex ;
428 unsigned short gsindex ;
429 unsigned long fs ;
430 unsigned long gs ;
431 struct perf_event *ptrace_bps[4U] ;
432 unsigned long debugreg6 ;
433 unsigned long ptrace_dr7 ;
434 unsigned long cr2 ;
435 unsigned long trap_nr ;
436 unsigned long error_code ;
437 struct fpu fpu ;
438 unsigned long *io_bitmap_ptr ;
439 unsigned long iopl ;
440 unsigned int io_bitmap_max ;
441};
442#line 571 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
443struct __anonstruct_mm_segment_t_28 {
444 unsigned long seg ;
445};
446#line 571 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
447typedef struct __anonstruct_mm_segment_t_28 mm_segment_t;
448#line 23 "include/asm-generic/atomic-long.h"
449typedef atomic64_t atomic_long_t;
450#line 131 "include/asm-generic/atomic-long.h"
451struct thread_info {
452 struct task_struct *task ;
453 struct exec_domain *exec_domain ;
454 __u32 flags ;
455 __u32 status ;
456 __u32 cpu ;
457 int preempt_count ;
458 mm_segment_t addr_limit ;
459 struct restart_block restart_block ;
460 void *sysenter_return ;
461 unsigned char sig_on_uaccess_error : 1 ;
462 unsigned char uaccess_err : 1 ;
463};
464#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
465typedef u16 __ticket_t;
466#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
467typedef u32 __ticketpair_t;
468#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
469struct __raw_tickets {
470 __ticket_t head ;
471 __ticket_t tail ;
472};
473#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
474union __anonunion_ldv_5907_29 {
475 __ticketpair_t head_tail ;
476 struct __raw_tickets tickets ;
477};
478#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
479struct arch_spinlock {
480 union __anonunion_ldv_5907_29 ldv_5907 ;
481};
482#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
483typedef struct arch_spinlock arch_spinlock_t;
484#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
485struct lockdep_map;
486#line 55 "include/linux/debug_locks.h"
487struct stack_trace {
488 unsigned int nr_entries ;
489 unsigned int max_entries ;
490 unsigned long *entries ;
491 int skip ;
492};
493#line 26 "include/linux/stacktrace.h"
494struct lockdep_subclass_key {
495 char __one_byte ;
496};
497#line 53 "include/linux/lockdep.h"
498struct lock_class_key {
499 struct lockdep_subclass_key subkeys[8U] ;
500};
501#line 59 "include/linux/lockdep.h"
502struct lock_class {
503 struct list_head hash_entry ;
504 struct list_head lock_entry ;
505 struct lockdep_subclass_key *key ;
506 unsigned int subclass ;
507 unsigned int dep_gen_id ;
508 unsigned long usage_mask ;
509 struct stack_trace usage_traces[13U] ;
510 struct list_head locks_after ;
511 struct list_head locks_before ;
512 unsigned int version ;
513 unsigned long ops ;
514 char *name ;
515 int name_version ;
516 unsigned long contention_point[4U] ;
517 unsigned long contending_point[4U] ;
518};
519#line 144 "include/linux/lockdep.h"
520struct lockdep_map {
521 struct lock_class_key *key ;
522 struct lock_class *class_cache[2U] ;
523 char *name ;
524 int cpu ;
525 unsigned long ip ;
526};
527#line 187 "include/linux/lockdep.h"
528struct held_lock {
529 u64 prev_chain_key ;
530 unsigned long acquire_ip ;
531 struct lockdep_map *instance ;
532 struct lockdep_map *nest_lock ;
533 u64 waittime_stamp ;
534 u64 holdtime_stamp ;
535 unsigned short class_idx : 13 ;
536 unsigned char irq_context : 2 ;
537 unsigned char trylock : 1 ;
538 unsigned char read : 2 ;
539 unsigned char check : 2 ;
540 unsigned char hardirqs_off : 1 ;
541 unsigned short references : 11 ;
542};
543#line 556 "include/linux/lockdep.h"
544struct raw_spinlock {
545 arch_spinlock_t raw_lock ;
546 unsigned int magic ;
547 unsigned int owner_cpu ;
548 void *owner ;
549 struct lockdep_map dep_map ;
550};
551#line 32 "include/linux/spinlock_types.h"
552typedef struct raw_spinlock raw_spinlock_t;
553#line 33 "include/linux/spinlock_types.h"
554struct __anonstruct_ldv_6122_33 {
555 u8 __padding[24U] ;
556 struct lockdep_map dep_map ;
557};
558#line 33 "include/linux/spinlock_types.h"
559union __anonunion_ldv_6123_32 {
560 struct raw_spinlock rlock ;
561 struct __anonstruct_ldv_6122_33 ldv_6122 ;
562};
563#line 33 "include/linux/spinlock_types.h"
564struct spinlock {
565 union __anonunion_ldv_6123_32 ldv_6123 ;
566};
567#line 76 "include/linux/spinlock_types.h"
568typedef struct spinlock spinlock_t;
569#line 110 "include/linux/seqlock.h"
570struct seqcount {
571 unsigned int sequence ;
572};
573#line 121 "include/linux/seqlock.h"
574typedef struct seqcount seqcount_t;
575#line 254 "include/linux/seqlock.h"
576struct timespec {
577 __kernel_time_t tv_sec ;
578 long tv_nsec ;
579};
580#line 27 "include/linux/wait.h"
581struct __wait_queue;
582#line 27 "include/linux/wait.h"
583typedef struct __wait_queue wait_queue_t;
584#line 30 "include/linux/wait.h"
585struct __wait_queue {
586 unsigned int flags ;
587 void *private ;
588 int (*func)(wait_queue_t * , unsigned int , int , void * ) ;
589 struct list_head task_list ;
590};
591#line 48 "include/linux/wait.h"
592struct __wait_queue_head {
593 spinlock_t lock ;
594 struct list_head task_list ;
595};
596#line 53 "include/linux/wait.h"
597typedef struct __wait_queue_head wait_queue_head_t;
598#line 98 "include/linux/nodemask.h"
599struct __anonstruct_nodemask_t_36 {
600 unsigned long bits[16U] ;
601};
602#line 98 "include/linux/nodemask.h"
603typedef struct __anonstruct_nodemask_t_36 nodemask_t;
604#line 670 "include/linux/mmzone.h"
605struct mutex {
606 atomic_t count ;
607 spinlock_t wait_lock ;
608 struct list_head wait_list ;
609 struct task_struct *owner ;
610 char *name ;
611 void *magic ;
612 struct lockdep_map dep_map ;
613};
614#line 63 "include/linux/mutex.h"
615struct mutex_waiter {
616 struct list_head list ;
617 struct task_struct *task ;
618 void *magic ;
619};
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 239 "include/linux/srcu.h"
637struct notifier_block {
638 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
639 struct notifier_block *next ;
640 int priority ;
641};
642#line 793 "include/linux/mmzone.h"
643struct ctl_table;
644#line 312 "include/linux/jiffies.h"
645union ktime {
646 s64 tv64 ;
647};
648#line 59 "include/linux/ktime.h"
649typedef union ktime ktime_t;
650#line 341
651struct tvec_base;
652#line 342 "include/linux/ktime.h"
653struct timer_list {
654 struct list_head entry ;
655 unsigned long expires ;
656 struct tvec_base *base ;
657 void (*function)(unsigned long ) ;
658 unsigned long data ;
659 int slack ;
660 int start_pid ;
661 void *start_site ;
662 char start_comm[16U] ;
663 struct lockdep_map lockdep_map ;
664};
665#line 289 "include/linux/timer.h"
666struct hrtimer;
667#line 290
668enum hrtimer_restart;
669#line 302
670struct work_struct;
671#line 45 "include/linux/workqueue.h"
672struct work_struct {
673 atomic_long_t data ;
674 struct list_head entry ;
675 void (*func)(struct work_struct * ) ;
676 struct lockdep_map lockdep_map ;
677};
678#line 46 "include/linux/pm.h"
679struct pm_message {
680 int event ;
681};
682#line 52 "include/linux/pm.h"
683typedef struct pm_message pm_message_t;
684#line 53 "include/linux/pm.h"
685struct dev_pm_ops {
686 int (*prepare)(struct device * ) ;
687 void (*complete)(struct device * ) ;
688 int (*suspend)(struct device * ) ;
689 int (*resume)(struct device * ) ;
690 int (*freeze)(struct device * ) ;
691 int (*thaw)(struct device * ) ;
692 int (*poweroff)(struct device * ) ;
693 int (*restore)(struct device * ) ;
694 int (*suspend_late)(struct device * ) ;
695 int (*resume_early)(struct device * ) ;
696 int (*freeze_late)(struct device * ) ;
697 int (*thaw_early)(struct device * ) ;
698 int (*poweroff_late)(struct device * ) ;
699 int (*restore_early)(struct device * ) ;
700 int (*suspend_noirq)(struct device * ) ;
701 int (*resume_noirq)(struct device * ) ;
702 int (*freeze_noirq)(struct device * ) ;
703 int (*thaw_noirq)(struct device * ) ;
704 int (*poweroff_noirq)(struct device * ) ;
705 int (*restore_noirq)(struct device * ) ;
706 int (*runtime_suspend)(struct device * ) ;
707 int (*runtime_resume)(struct device * ) ;
708 int (*runtime_idle)(struct device * ) ;
709};
710#line 289
711enum rpm_status {
712 RPM_ACTIVE = 0,
713 RPM_RESUMING = 1,
714 RPM_SUSPENDED = 2,
715 RPM_SUSPENDING = 3
716} ;
717#line 296
718enum rpm_request {
719 RPM_REQ_NONE = 0,
720 RPM_REQ_IDLE = 1,
721 RPM_REQ_SUSPEND = 2,
722 RPM_REQ_AUTOSUSPEND = 3,
723 RPM_REQ_RESUME = 4
724} ;
725#line 304
726struct wakeup_source;
727#line 494 "include/linux/pm.h"
728struct pm_subsys_data {
729 spinlock_t lock ;
730 unsigned int refcount ;
731};
732#line 499
733struct dev_pm_qos_request;
734#line 499
735struct pm_qos_raints;
736#line 499 "include/linux/pm.h"
737struct dev_pm_info {
738 pm_message_t power_state ;
739 unsigned char can_wakeup : 1 ;
740 unsigned char async_suspend : 1 ;
741 bool is_prepared ;
742 bool is_suspended ;
743 bool ignore_children ;
744 spinlock_t lock ;
745 struct list_head entry ;
746 struct completion completion ;
747 struct wakeup_source *wakeup ;
748 bool wakeup_path ;
749 struct timer_list suspend_timer ;
750 unsigned long timer_expires ;
751 struct work_struct work ;
752 wait_queue_head_t wait_queue ;
753 atomic_t usage_count ;
754 atomic_t child_count ;
755 unsigned char disable_depth : 3 ;
756 unsigned char idle_notification : 1 ;
757 unsigned char request_pending : 1 ;
758 unsigned char deferred_resume : 1 ;
759 unsigned char run_wake : 1 ;
760 unsigned char runtime_auto : 1 ;
761 unsigned char no_callbacks : 1 ;
762 unsigned char irq_safe : 1 ;
763 unsigned char use_autosuspend : 1 ;
764 unsigned char timer_autosuspends : 1 ;
765 enum rpm_request request ;
766 enum rpm_status runtime_status ;
767 int runtime_error ;
768 int autosuspend_delay ;
769 unsigned long last_busy ;
770 unsigned long active_jiffies ;
771 unsigned long suspended_jiffies ;
772 unsigned long accounting_timestamp ;
773 ktime_t suspend_time ;
774 s64 max_time_suspended_ns ;
775 struct dev_pm_qos_request *pq_req ;
776 struct pm_subsys_data *subsys_data ;
777 struct pm_qos_raints *raints ;
778};
779#line 558 "include/linux/pm.h"
780struct dev_pm_domain {
781 struct dev_pm_ops ops ;
782};
783#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
784struct __anonstruct_mm_context_t_101 {
785 void *ldt ;
786 int size ;
787 unsigned short ia32_compat ;
788 struct mutex lock ;
789 void *vdso ;
790};
791#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
792typedef struct __anonstruct_mm_context_t_101 mm_context_t;
793#line 18 "include/asm-generic/pci_iomap.h"
794struct vm_area_struct;
795#line 835 "include/linux/sysctl.h"
796struct rb_node {
797 unsigned long rb_parent_color ;
798 struct rb_node *rb_right ;
799 struct rb_node *rb_left ;
800};
801#line 108 "include/linux/rbtree.h"
802struct rb_root {
803 struct rb_node *rb_node ;
804};
805#line 176
806struct nsproxy;
807#line 177
808struct ctl_table_root;
809#line 178
810struct ctl_table_header;
811#line 179
812struct ctl_dir;
813#line 944 "include/linux/sysctl.h"
814typedef struct ctl_table ctl_table;
815#line 946 "include/linux/sysctl.h"
816typedef int proc_handler(struct ctl_table * , int , void * , size_t * , loff_t * );
817#line 966 "include/linux/sysctl.h"
818struct ctl_table_poll {
819 atomic_t event ;
820 wait_queue_head_t wait ;
821};
822#line 1005 "include/linux/sysctl.h"
823struct ctl_table {
824 char *procname ;
825 void *data ;
826 int maxlen ;
827 umode_t mode ;
828 struct ctl_table *child ;
829 proc_handler *proc_handler ;
830 struct ctl_table_poll *poll ;
831 void *extra1 ;
832 void *extra2 ;
833};
834#line 1026 "include/linux/sysctl.h"
835struct ctl_node {
836 struct rb_node node ;
837 struct ctl_table_header *header ;
838};
839#line 1031 "include/linux/sysctl.h"
840struct __anonstruct_ldv_12569_129 {
841 struct ctl_table *ctl_table ;
842 int used ;
843 int count ;
844 int nreg ;
845};
846#line 1031 "include/linux/sysctl.h"
847union __anonunion_ldv_12571_128 {
848 struct __anonstruct_ldv_12569_129 ldv_12569 ;
849 struct rcu_head rcu ;
850};
851#line 1031
852struct ctl_table_set;
853#line 1031 "include/linux/sysctl.h"
854struct ctl_table_header {
855 union __anonunion_ldv_12571_128 ldv_12571 ;
856 struct completion *unregistering ;
857 struct ctl_table *ctl_table_arg ;
858 struct ctl_table_root *root ;
859 struct ctl_table_set *set ;
860 struct ctl_dir *parent ;
861 struct ctl_node *node ;
862};
863#line 1052 "include/linux/sysctl.h"
864struct ctl_dir {
865 struct ctl_table_header header ;
866 struct rb_root root ;
867};
868#line 1058 "include/linux/sysctl.h"
869struct ctl_table_set {
870 int (*is_seen)(struct ctl_table_set * ) ;
871 struct ctl_dir dir ;
872};
873#line 1063 "include/linux/sysctl.h"
874struct ctl_table_root {
875 struct ctl_table_set default_set ;
876 struct ctl_table_set *(*lookup)(struct ctl_table_root * , struct nsproxy * ) ;
877 int (*permissions)(struct ctl_table_root * , struct nsproxy * , struct ctl_table * ) ;
878};
879#line 37 "include/linux/kmod.h"
880struct cred;
881#line 18 "include/linux/elf.h"
882typedef __u64 Elf64_Addr;
883#line 19 "include/linux/elf.h"
884typedef __u16 Elf64_Half;
885#line 23 "include/linux/elf.h"
886typedef __u32 Elf64_Word;
887#line 24 "include/linux/elf.h"
888typedef __u64 Elf64_Xword;
889#line 193 "include/linux/elf.h"
890struct elf64_sym {
891 Elf64_Word st_name ;
892 unsigned char st_info ;
893 unsigned char st_other ;
894 Elf64_Half st_shndx ;
895 Elf64_Addr st_value ;
896 Elf64_Xword st_size ;
897};
898#line 201 "include/linux/elf.h"
899typedef struct elf64_sym Elf64_Sym;
900#line 445
901struct sock;
902#line 446
903struct kobject;
904#line 447
905enum kobj_ns_type {
906 KOBJ_NS_TYPE_NONE = 0,
907 KOBJ_NS_TYPE_NET = 1,
908 KOBJ_NS_TYPES = 2
909} ;
910#line 453 "include/linux/elf.h"
911struct kobj_ns_type_operations {
912 enum kobj_ns_type type ;
913 void *(*grab_current_ns)(void) ;
914 void *(*netlink_ns)(struct sock * ) ;
915 void *(*initial_ns)(void) ;
916 void (*drop_ns)(void * ) ;
917};
918#line 57 "include/linux/kobject_ns.h"
919struct attribute {
920 char *name ;
921 umode_t mode ;
922 struct lock_class_key *key ;
923 struct lock_class_key skey ;
924};
925#line 33 "include/linux/sysfs.h"
926struct attribute_group {
927 char *name ;
928 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
929 struct attribute **attrs ;
930};
931#line 62 "include/linux/sysfs.h"
932struct bin_attribute {
933 struct attribute attr ;
934 size_t size ;
935 void *private ;
936 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
937 loff_t , size_t ) ;
938 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
939 loff_t , size_t ) ;
940 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
941};
942#line 98 "include/linux/sysfs.h"
943struct sysfs_ops {
944 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
945 ssize_t (*store)(struct kobject * , struct attribute * , char * , size_t ) ;
946 void *(*namespace)(struct kobject * , struct attribute * ) ;
947};
948#line 117
949struct sysfs_dirent;
950#line 182 "include/linux/sysfs.h"
951struct kref {
952 atomic_t refcount ;
953};
954#line 49 "include/linux/kobject.h"
955struct kset;
956#line 49
957struct kobj_type;
958#line 49 "include/linux/kobject.h"
959struct kobject {
960 char *name ;
961 struct list_head entry ;
962 struct kobject *parent ;
963 struct kset *kset ;
964 struct kobj_type *ktype ;
965 struct sysfs_dirent *sd ;
966 struct kref kref ;
967 unsigned char state_initialized : 1 ;
968 unsigned char state_in_sysfs : 1 ;
969 unsigned char state_add_uevent_sent : 1 ;
970 unsigned char state_remove_uevent_sent : 1 ;
971 unsigned char uevent_suppress : 1 ;
972};
973#line 107 "include/linux/kobject.h"
974struct kobj_type {
975 void (*release)(struct kobject * ) ;
976 struct sysfs_ops *sysfs_ops ;
977 struct attribute **default_attrs ;
978 struct kobj_ns_type_operations *(*child_ns_type)(struct kobject * ) ;
979 void *(*namespace)(struct kobject * ) ;
980};
981#line 115 "include/linux/kobject.h"
982struct kobj_uevent_env {
983 char *envp[32U] ;
984 int envp_idx ;
985 char buf[2048U] ;
986 int buflen ;
987};
988#line 122 "include/linux/kobject.h"
989struct kset_uevent_ops {
990 int (* filter)(struct kset * , struct kobject * ) ;
991 char *(* name)(struct kset * , struct kobject * ) ;
992 int (* uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
993};
994#line 139 "include/linux/kobject.h"
995struct kset {
996 struct list_head list ;
997 spinlock_t list_lock ;
998 struct kobject kobj ;
999 struct kset_uevent_ops *uevent_ops ;
1000};
1001#line 215
1002struct kernel_param;
1003#line 216 "include/linux/kobject.h"
1004struct kernel_param_ops {
1005 int (*set)(char * , struct kernel_param * ) ;
1006 int (*get)(char * , struct kernel_param * ) ;
1007 void (*free)(void * ) ;
1008};
1009#line 49 "include/linux/moduleparam.h"
1010struct kparam_string;
1011#line 49
1012struct kparam_array;
1013#line 49 "include/linux/moduleparam.h"
1014union __anonunion_ldv_13363_134 {
1015 void *arg ;
1016 struct kparam_string *str ;
1017 struct kparam_array *arr ;
1018};
1019#line 49 "include/linux/moduleparam.h"
1020struct kernel_param {
1021 char *name ;
1022 struct kernel_param_ops *ops ;
1023 u16 perm ;
1024 s16 level ;
1025 union __anonunion_ldv_13363_134 ldv_13363 ;
1026};
1027#line 61 "include/linux/moduleparam.h"
1028struct kparam_string {
1029 unsigned int maxlen ;
1030 char *string ;
1031};
1032#line 67 "include/linux/moduleparam.h"
1033struct kparam_array {
1034 unsigned int max ;
1035 unsigned int elemsize ;
1036 unsigned int *num ;
1037 struct kernel_param_ops *ops ;
1038 void *elem ;
1039};
1040#line 458 "include/linux/moduleparam.h"
1041struct static_key {
1042 atomic_t enabled ;
1043};
1044#line 225 "include/linux/jump_label.h"
1045struct tracepoint;
1046#line 226 "include/linux/jump_label.h"
1047struct tracepoint_func {
1048 void *func ;
1049 void *data ;
1050};
1051#line 29 "include/linux/tracepoint.h"
1052struct tracepoint {
1053 char *name ;
1054 struct static_key key ;
1055 void (*regfunc)(void) ;
1056 void (*unregfunc)(void) ;
1057 struct tracepoint_func *funcs ;
1058};
1059#line 86 "include/linux/tracepoint.h"
1060struct kernel_symbol {
1061 unsigned long value ;
1062 char *name ;
1063};
1064#line 27 "include/linux/export.h"
1065struct mod_arch_specific {
1066
1067};
1068#line 34 "include/linux/module.h"
1069struct module_param_attrs;
1070#line 34 "include/linux/module.h"
1071struct module_kobject {
1072 struct kobject kobj ;
1073 struct module *mod ;
1074 struct kobject *drivers_dir ;
1075 struct module_param_attrs *mp ;
1076};
1077#line 43 "include/linux/module.h"
1078struct module_attribute {
1079 struct attribute attr ;
1080 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1081 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char * ,
1082 size_t ) ;
1083 void (*setup)(struct module * , char * ) ;
1084 int (*test)(struct module * ) ;
1085 void (*free)(struct module * ) ;
1086};
1087#line 69
1088struct exception_table_entry;
1089#line 198
1090enum module_state {
1091 MODULE_STATE_LIVE = 0,
1092 MODULE_STATE_COMING = 1,
1093 MODULE_STATE_GOING = 2
1094} ;
1095#line 204 "include/linux/module.h"
1096struct module_ref {
1097 unsigned long incs ;
1098 unsigned long decs ;
1099};
1100#line 219
1101struct module_sect_attrs;
1102#line 219
1103struct module_notes_attrs;
1104#line 219
1105struct ftrace_event_call;
1106#line 219 "include/linux/module.h"
1107struct module {
1108 enum module_state state ;
1109 struct list_head list ;
1110 char name[56U] ;
1111 struct module_kobject mkobj ;
1112 struct module_attribute *modinfo_attrs ;
1113 char *version ;
1114 char *srcversion ;
1115 struct kobject *holders_dir ;
1116 struct kernel_symbol *syms ;
1117 unsigned long *crcs ;
1118 unsigned int num_syms ;
1119 struct kernel_param *kp ;
1120 unsigned int num_kp ;
1121 unsigned int num_gpl_syms ;
1122 struct kernel_symbol *gpl_syms ;
1123 unsigned long *gpl_crcs ;
1124 struct kernel_symbol *unused_syms ;
1125 unsigned long *unused_crcs ;
1126 unsigned int num_unused_syms ;
1127 unsigned int num_unused_gpl_syms ;
1128 struct kernel_symbol *unused_gpl_syms ;
1129 unsigned long *unused_gpl_crcs ;
1130 struct kernel_symbol *gpl_future_syms ;
1131 unsigned long *gpl_future_crcs ;
1132 unsigned int num_gpl_future_syms ;
1133 unsigned int num_exentries ;
1134 struct exception_table_entry *extable ;
1135 int (*init)(void) ;
1136 void *module_init ;
1137 void *module_core ;
1138 unsigned int init_size ;
1139 unsigned int core_size ;
1140 unsigned int init_text_size ;
1141 unsigned int core_text_size ;
1142 unsigned int init_ro_size ;
1143 unsigned int core_ro_size ;
1144 struct mod_arch_specific arch ;
1145 unsigned int taints ;
1146 unsigned int num_bugs ;
1147 struct list_head bug_list ;
1148 struct bug_entry *bug_table ;
1149 Elf64_Sym *symtab ;
1150 Elf64_Sym *core_symtab ;
1151 unsigned int num_symtab ;
1152 unsigned int core_num_syms ;
1153 char *strtab ;
1154 char *core_strtab ;
1155 struct module_sect_attrs *sect_attrs ;
1156 struct module_notes_attrs *notes_attrs ;
1157 char *args ;
1158 void *percpu ;
1159 unsigned int percpu_size ;
1160 unsigned int num_tracepoints ;
1161 struct tracepoint * *tracepoints_ptrs ;
1162 unsigned int num_trace_bprintk_fmt ;
1163 char **trace_bprintk_fmt_start ;
1164 struct ftrace_event_call **trace_events ;
1165 unsigned int num_trace_events ;
1166 struct list_head source_list ;
1167 struct list_head target_list ;
1168 struct task_struct *waiter ;
1169 void (*exit)(void) ;
1170 struct module_ref *refptr ;
1171 ctor_fn_t (**ctors)(void) ;
1172 unsigned int num_ctors ;
1173};
1174#line 88 "include/linux/kmemleak.h"
1175struct kmem_cache_cpu {
1176 void **freelist ;
1177 unsigned long tid ;
1178 struct page *page ;
1179 struct page *partial ;
1180 int node ;
1181 unsigned int stat[26U] ;
1182};
1183#line 55 "include/linux/slub_def.h"
1184struct kmem_cache_node {
1185 spinlock_t list_lock ;
1186 unsigned long nr_partial ;
1187 struct list_head partial ;
1188 atomic_long_t nr_slabs ;
1189 atomic_long_t total_objects ;
1190 struct list_head full ;
1191};
1192#line 66 "include/linux/slub_def.h"
1193struct kmem_cache_order_objects {
1194 unsigned long x ;
1195};
1196#line 76 "include/linux/slub_def.h"
1197struct kmem_cache {
1198 struct kmem_cache_cpu *cpu_slab ;
1199 unsigned long flags ;
1200 unsigned long min_partial ;
1201 int size ;
1202 int objsize ;
1203 int offset ;
1204 int cpu_partial ;
1205 struct kmem_cache_order_objects oo ;
1206 struct kmem_cache_order_objects max ;
1207 struct kmem_cache_order_objects min ;
1208 gfp_t allocflags ;
1209 int refcount ;
1210 void (*ctor)(void * ) ;
1211 int inuse ;
1212 int align ;
1213 int reserved ;
1214 char *name ;
1215 struct list_head list ;
1216 struct kobject kobj ;
1217 int remote_node_defrag_ratio ;
1218 struct kmem_cache_node *node[1024U] ;
1219};
1220#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
1221struct klist_node;
1222#line 37 "include/linux/klist.h"
1223struct klist_node {
1224 void *n_klist ;
1225 struct list_head n_node ;
1226 struct kref n_ref ;
1227};
1228#line 67
1229struct dma_map_ops;
1230#line 67 "include/linux/klist.h"
1231struct dev_archdata {
1232 void *acpi_handle ;
1233 struct dma_map_ops *dma_ops ;
1234 void *iommu ;
1235};
1236#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1237struct device_private;
1238#line 18
1239struct device_driver;
1240#line 19
1241struct driver_private;
1242#line 20
1243struct class;
1244#line 21
1245struct subsys_private;
1246#line 22
1247struct bus_type;
1248#line 23
1249struct device_node;
1250#line 24
1251struct iommu_ops;
1252#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1253struct bus_attribute {
1254 struct attribute attr ;
1255 ssize_t (*show)(struct bus_type * , char * ) ;
1256 ssize_t (*store)(struct bus_type * , char * , size_t ) ;
1257};
1258#line 51 "include/linux/device.h"
1259struct device_attribute;
1260#line 51
1261struct driver_attribute;
1262#line 51 "include/linux/device.h"
1263struct bus_type {
1264 char *name ;
1265 char *dev_name ;
1266 struct device *dev_root ;
1267 struct bus_attribute *bus_attrs ;
1268 struct device_attribute *dev_attrs ;
1269 struct driver_attribute *drv_attrs ;
1270 int (*match)(struct device * , struct device_driver * ) ;
1271 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1272 int (*probe)(struct device * ) ;
1273 int (*remove)(struct device * ) ;
1274 void (*shutdown)(struct device * ) ;
1275 int (*suspend)(struct device * , pm_message_t ) ;
1276 int (*resume)(struct device * ) ;
1277 struct dev_pm_ops *pm ;
1278 struct iommu_ops *iommu_ops ;
1279 struct subsys_private *p ;
1280};
1281#line 125
1282struct device_type;
1283#line 182
1284struct of_device_id;
1285#line 182 "include/linux/device.h"
1286struct device_driver {
1287 char *name ;
1288 struct bus_type *bus ;
1289 struct module *owner ;
1290 char *mod_name ;
1291 bool suppress_bind_attrs ;
1292 struct of_device_id *of_match_table ;
1293 int (*probe)(struct device * ) ;
1294 int (*remove)(struct device * ) ;
1295 void (*shutdown)(struct device * ) ;
1296 int (*suspend)(struct device * , pm_message_t ) ;
1297 int (*resume)(struct device * ) ;
1298 struct attribute_group **groups ;
1299 struct dev_pm_ops *pm ;
1300 struct driver_private *p ;
1301};
1302#line 245 "include/linux/device.h"
1303struct driver_attribute {
1304 struct attribute attr ;
1305 ssize_t (*show)(struct device_driver * , char * ) ;
1306 ssize_t (*store)(struct device_driver * , char * , size_t ) ;
1307};
1308#line 299
1309struct class_attribute;
1310#line 299 "include/linux/device.h"
1311struct class {
1312 char *name ;
1313 struct module *owner ;
1314 struct class_attribute *class_attrs ;
1315 struct device_attribute *dev_attrs ;
1316 struct bin_attribute *dev_bin_attrs ;
1317 struct kobject *dev_kobj ;
1318 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1319 char *(*devnode)(struct device * , umode_t * ) ;
1320 void (*class_release)(struct class * ) ;
1321 void (*dev_release)(struct device * ) ;
1322 int (*suspend)(struct device * , pm_message_t ) ;
1323 int (*resume)(struct device * ) ;
1324 struct kobj_ns_type_operations *ns_type ;
1325 void *(*namespace)(struct device * ) ;
1326 struct dev_pm_ops *pm ;
1327 struct subsys_private *p ;
1328};
1329#line 394 "include/linux/device.h"
1330struct class_attribute {
1331 struct attribute attr ;
1332 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1333 ssize_t (*store)(struct class * , struct class_attribute * , char * , size_t ) ;
1334 void *(*namespace)(struct class * , struct class_attribute * ) ;
1335};
1336#line 447 "include/linux/device.h"
1337struct device_type {
1338 char *name ;
1339 struct attribute_group **groups ;
1340 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1341 char *(*devnode)(struct device * , umode_t * ) ;
1342 void (*release)(struct device * ) ;
1343 struct dev_pm_ops *pm ;
1344};
1345#line 474 "include/linux/device.h"
1346struct device_attribute {
1347 struct attribute attr ;
1348 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1349 ssize_t (*store)(struct device * , struct device_attribute * , char * ,
1350 size_t ) ;
1351};
1352#line 557 "include/linux/device.h"
1353struct device_dma_parameters {
1354 unsigned int max_segment_size ;
1355 unsigned long segment_boundary_mask ;
1356};
1357#line 567
1358struct dma_coherent_mem;
1359#line 567 "include/linux/device.h"
1360struct device {
1361 struct device *parent ;
1362 struct device_private *p ;
1363 struct kobject kobj ;
1364 char *init_name ;
1365 struct device_type *type ;
1366 struct mutex mutex ;
1367 struct bus_type *bus ;
1368 struct device_driver *driver ;
1369 void *platform_data ;
1370 struct dev_pm_info power ;
1371 struct dev_pm_domain *pm_domain ;
1372 int numa_node ;
1373 u64 *dma_mask ;
1374 u64 coherent_dma_mask ;
1375 struct device_dma_parameters *dma_parms ;
1376 struct list_head dma_pools ;
1377 struct dma_coherent_mem *dma_mem ;
1378 struct dev_archdata archdata ;
1379 struct device_node *of_node ;
1380 dev_t devt ;
1381 u32 id ;
1382 spinlock_t devres_lock ;
1383 struct list_head devres_head ;
1384 struct klist_node knode_class ;
1385 struct class *class ;
1386 struct attribute_group **groups ;
1387 void (*release)(struct device * ) ;
1388};
1389#line 681 "include/linux/device.h"
1390struct wakeup_source {
1391 char *name ;
1392 struct list_head entry ;
1393 spinlock_t lock ;
1394 struct timer_list timer ;
1395 unsigned long timer_expires ;
1396 ktime_t total_time ;
1397 ktime_t max_time ;
1398 ktime_t last_time ;
1399 unsigned long event_count ;
1400 unsigned long active_count ;
1401 unsigned long relax_count ;
1402 unsigned long hit_count ;
1403 unsigned char active : 1 ;
1404};
1405#line 93 "include/linux/capability.h"
1406struct kernel_cap_struct {
1407 __u32 cap[2U] ;
1408};
1409#line 96 "include/linux/capability.h"
1410typedef struct kernel_cap_struct kernel_cap_t;
1411#line 105
1412struct user_namespace;
1413#line 554
1414struct prio_tree_node;
1415#line 554 "include/linux/capability.h"
1416struct raw_prio_tree_node {
1417 struct prio_tree_node *left ;
1418 struct prio_tree_node *right ;
1419 struct prio_tree_node *parent ;
1420};
1421#line 19 "include/linux/prio_tree.h"
1422struct prio_tree_node {
1423 struct prio_tree_node *left ;
1424 struct prio_tree_node *right ;
1425 struct prio_tree_node *parent ;
1426 unsigned long start ;
1427 unsigned long last ;
1428};
1429#line 116
1430struct address_space;
1431#line 117 "include/linux/prio_tree.h"
1432union __anonunion_ldv_15229_137 {
1433 unsigned long index ;
1434 void *freelist ;
1435};
1436#line 117 "include/linux/prio_tree.h"
1437struct __anonstruct_ldv_15239_141 {
1438 unsigned short inuse ;
1439 unsigned short objects : 15 ;
1440 unsigned char frozen : 1 ;
1441};
1442#line 117 "include/linux/prio_tree.h"
1443union __anonunion_ldv_15240_140 {
1444 atomic_t _mapcount ;
1445 struct __anonstruct_ldv_15239_141 ldv_15239 ;
1446};
1447#line 117 "include/linux/prio_tree.h"
1448struct __anonstruct_ldv_15242_139 {
1449 union __anonunion_ldv_15240_140 ldv_15240 ;
1450 atomic_t _count ;
1451};
1452#line 117 "include/linux/prio_tree.h"
1453union __anonunion_ldv_15243_138 {
1454 unsigned long counters ;
1455 struct __anonstruct_ldv_15242_139 ldv_15242 ;
1456};
1457#line 117 "include/linux/prio_tree.h"
1458struct __anonstruct_ldv_15244_136 {
1459 union __anonunion_ldv_15229_137 ldv_15229 ;
1460 union __anonunion_ldv_15243_138 ldv_15243 ;
1461};
1462#line 117 "include/linux/prio_tree.h"
1463struct __anonstruct_ldv_15251_143 {
1464 struct page *next ;
1465 int pages ;
1466 int pobjects ;
1467};
1468#line 117 "include/linux/prio_tree.h"
1469union __anonunion_ldv_15252_142 {
1470 struct list_head lru ;
1471 struct __anonstruct_ldv_15251_143 ldv_15251 ;
1472};
1473#line 117 "include/linux/prio_tree.h"
1474union __anonunion_ldv_15257_144 {
1475 unsigned long private ;
1476 struct kmem_cache *slab ;
1477 struct page *first_page ;
1478};
1479#line 117 "include/linux/prio_tree.h"
1480struct page {
1481 unsigned long flags ;
1482 struct address_space *mapping ;
1483 struct __anonstruct_ldv_15244_136 ldv_15244 ;
1484 union __anonunion_ldv_15252_142 ldv_15252 ;
1485 union __anonunion_ldv_15257_144 ldv_15257 ;
1486 unsigned long debug_flags ;
1487};
1488#line 192 "include/linux/mm_types.h"
1489struct __anonstruct_vm_set_146 {
1490 struct list_head list ;
1491 void *parent ;
1492 struct vm_area_struct *head ;
1493};
1494#line 192 "include/linux/mm_types.h"
1495union __anonunion_shared_145 {
1496 struct __anonstruct_vm_set_146 vm_set ;
1497 struct raw_prio_tree_node prio_tree_node ;
1498};
1499#line 192
1500struct anon_vma;
1501#line 192
1502struct vm_operations_struct;
1503#line 192
1504struct mempolicy;
1505#line 192 "include/linux/mm_types.h"
1506struct vm_area_struct {
1507 struct mm_struct *vm_mm ;
1508 unsigned long vm_start ;
1509 unsigned long vm_end ;
1510 struct vm_area_struct *vm_next ;
1511 struct vm_area_struct *vm_prev ;
1512 pgprot_t vm_page_prot ;
1513 unsigned long vm_flags ;
1514 struct rb_node vm_rb ;
1515 union __anonunion_shared_145 shared ;
1516 struct list_head anon_vma_chain ;
1517 struct anon_vma *anon_vma ;
1518 struct vm_operations_struct *vm_ops ;
1519 unsigned long vm_pgoff ;
1520 struct file *vm_file ;
1521 void *vm_private_data ;
1522 struct mempolicy *vm_policy ;
1523};
1524#line 255 "include/linux/mm_types.h"
1525struct core_thread {
1526 struct task_struct *task ;
1527 struct core_thread *next ;
1528};
1529#line 261 "include/linux/mm_types.h"
1530struct core_state {
1531 atomic_t nr_threads ;
1532 struct core_thread dumper ;
1533 struct completion startup ;
1534};
1535#line 274 "include/linux/mm_types.h"
1536struct mm_rss_stat {
1537 atomic_long_t count[3U] ;
1538};
1539#line 287
1540struct linux_binfmt;
1541#line 287
1542struct mmu_notifier_mm;
1543#line 287 "include/linux/mm_types.h"
1544struct mm_struct {
1545 struct vm_area_struct *mmap ;
1546 struct rb_root mm_rb ;
1547 struct vm_area_struct *mmap_cache ;
1548 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1549 unsigned long , unsigned long ) ;
1550 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
1551 unsigned long mmap_base ;
1552 unsigned long task_size ;
1553 unsigned long cached_hole_size ;
1554 unsigned long free_area_cache ;
1555 pgd_t *pgd ;
1556 atomic_t mm_users ;
1557 atomic_t mm_count ;
1558 int map_count ;
1559 spinlock_t page_table_lock ;
1560 struct rw_semaphore mmap_sem ;
1561 struct list_head mmlist ;
1562 unsigned long hiwater_rss ;
1563 unsigned long hiwater_vm ;
1564 unsigned long total_vm ;
1565 unsigned long locked_vm ;
1566 unsigned long pinned_vm ;
1567 unsigned long shared_vm ;
1568 unsigned long exec_vm ;
1569 unsigned long stack_vm ;
1570 unsigned long reserved_vm ;
1571 unsigned long def_flags ;
1572 unsigned long nr_ptes ;
1573 unsigned long start_code ;
1574 unsigned long end_code ;
1575 unsigned long start_data ;
1576 unsigned long end_data ;
1577 unsigned long start_brk ;
1578 unsigned long brk ;
1579 unsigned long start_stack ;
1580 unsigned long arg_start ;
1581 unsigned long arg_end ;
1582 unsigned long env_start ;
1583 unsigned long env_end ;
1584 unsigned long saved_auxv[44U] ;
1585 struct mm_rss_stat rss_stat ;
1586 struct linux_binfmt *binfmt ;
1587 cpumask_var_t cpu_vm_mask_var ;
1588 mm_context_t context ;
1589 unsigned int faultstamp ;
1590 unsigned int token_priority ;
1591 unsigned int last_interval ;
1592 unsigned long flags ;
1593 struct core_state *core_state ;
1594 spinlock_t ioctx_lock ;
1595 struct hlist_head ioctx_list ;
1596 struct task_struct *owner ;
1597 struct file *exe_file ;
1598 unsigned long num_exe_file_vmas ;
1599 struct mmu_notifier_mm *mmu_notifier_mm ;
1600 pgtable_t pmd_huge_pte ;
1601 struct cpumask cpumask_allocation ;
1602};
1603#line 7 "include/asm-generic/cputime.h"
1604typedef unsigned long cputime_t;
1605#line 98 "include/linux/sem.h"
1606struct sem_undo_list;
1607#line 98 "include/linux/sem.h"
1608struct sysv_sem {
1609 struct sem_undo_list *undo_list ;
1610};
1611#line 107
1612struct siginfo;
1613#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1614struct __anonstruct_sigset_t_147 {
1615 unsigned long sig[1U] ;
1616};
1617#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1618typedef struct __anonstruct_sigset_t_147 sigset_t;
1619#line 17 "include/asm-generic/signal-defs.h"
1620typedef void __signalfn_t(int );
1621#line 18 "include/asm-generic/signal-defs.h"
1622typedef __signalfn_t *__sighandler_t;
1623#line 20 "include/asm-generic/signal-defs.h"
1624typedef void __restorefn_t(void);
1625#line 21 "include/asm-generic/signal-defs.h"
1626typedef __restorefn_t *__sigrestore_t;
1627#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1628struct sigaction {
1629 __sighandler_t sa_handler ;
1630 unsigned long sa_flags ;
1631 __sigrestore_t sa_restorer ;
1632 sigset_t sa_mask ;
1633};
1634#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1635struct k_sigaction {
1636 struct sigaction sa ;
1637};
1638#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1639union sigval {
1640 int sival_int ;
1641 void *sival_ptr ;
1642};
1643#line 10 "include/asm-generic/siginfo.h"
1644typedef union sigval sigval_t;
1645#line 11 "include/asm-generic/siginfo.h"
1646struct __anonstruct__kill_149 {
1647 __kernel_pid_t _pid ;
1648 __kernel_uid32_t _uid ;
1649};
1650#line 11 "include/asm-generic/siginfo.h"
1651struct __anonstruct__timer_150 {
1652 __kernel_timer_t _tid ;
1653 int _overrun ;
1654 char _pad[0U] ;
1655 sigval_t _sigval ;
1656 int _sys_private ;
1657};
1658#line 11 "include/asm-generic/siginfo.h"
1659struct __anonstruct__rt_151 {
1660 __kernel_pid_t _pid ;
1661 __kernel_uid32_t _uid ;
1662 sigval_t _sigval ;
1663};
1664#line 11 "include/asm-generic/siginfo.h"
1665struct __anonstruct__sigchld_152 {
1666 __kernel_pid_t _pid ;
1667 __kernel_uid32_t _uid ;
1668 int _status ;
1669 __kernel_clock_t _utime ;
1670 __kernel_clock_t _stime ;
1671};
1672#line 11 "include/asm-generic/siginfo.h"
1673struct __anonstruct__sigfault_153 {
1674 void *_addr ;
1675 short _addr_lsb ;
1676};
1677#line 11 "include/asm-generic/siginfo.h"
1678struct __anonstruct__sigpoll_154 {
1679 long _band ;
1680 int _fd ;
1681};
1682#line 11 "include/asm-generic/siginfo.h"
1683union __anonunion__sifields_148 {
1684 int _pad[28U] ;
1685 struct __anonstruct__kill_149 _kill ;
1686 struct __anonstruct__timer_150 _timer ;
1687 struct __anonstruct__rt_151 _rt ;
1688 struct __anonstruct__sigchld_152 _sigchld ;
1689 struct __anonstruct__sigfault_153 _sigfault ;
1690 struct __anonstruct__sigpoll_154 _sigpoll ;
1691};
1692#line 11 "include/asm-generic/siginfo.h"
1693struct siginfo {
1694 int si_signo ;
1695 int si_errno ;
1696 int si_code ;
1697 union __anonunion__sifields_148 _sifields ;
1698};
1699#line 102 "include/asm-generic/siginfo.h"
1700typedef struct siginfo siginfo_t;
1701#line 14 "include/linux/signal.h"
1702struct user_struct;
1703#line 24 "include/linux/signal.h"
1704struct sigpending {
1705 struct list_head list ;
1706 sigset_t signal ;
1707};
1708#line 395
1709struct pid_namespace;
1710#line 395 "include/linux/signal.h"
1711struct upid {
1712 int nr ;
1713 struct pid_namespace *ns ;
1714 struct hlist_node pid_chain ;
1715};
1716#line 56 "include/linux/pid.h"
1717struct pid {
1718 atomic_t count ;
1719 unsigned int level ;
1720 struct hlist_head tasks[3U] ;
1721 struct rcu_head rcu ;
1722 struct upid numbers[1U] ;
1723};
1724#line 68 "include/linux/pid.h"
1725struct pid_link {
1726 struct hlist_node node ;
1727 struct pid *pid ;
1728};
1729#line 10 "include/linux/seccomp.h"
1730struct __anonstruct_seccomp_t_157 {
1731 int mode ;
1732};
1733#line 10 "include/linux/seccomp.h"
1734typedef struct __anonstruct_seccomp_t_157 seccomp_t;
1735#line 427 "include/linux/rculist.h"
1736struct plist_head {
1737 struct list_head node_list ;
1738};
1739#line 84 "include/linux/plist.h"
1740struct plist_node {
1741 int prio ;
1742 struct list_head prio_list ;
1743 struct list_head node_list ;
1744};
1745#line 38 "include/linux/rtmutex.h"
1746struct rt_mutex_waiter;
1747#line 41 "include/linux/resource.h"
1748struct rlimit {
1749 unsigned long rlim_cur ;
1750 unsigned long rlim_max ;
1751};
1752#line 85 "include/linux/resource.h"
1753struct timerqueue_node {
1754 struct rb_node node ;
1755 ktime_t expires ;
1756};
1757#line 12 "include/linux/timerqueue.h"
1758struct timerqueue_head {
1759 struct rb_root head ;
1760 struct timerqueue_node *next ;
1761};
1762#line 50
1763struct hrtimer_clock_base;
1764#line 51
1765struct hrtimer_cpu_base;
1766#line 60
1767enum hrtimer_restart {
1768 HRTIMER_NORESTART = 0,
1769 HRTIMER_RESTART = 1
1770} ;
1771#line 65 "include/linux/timerqueue.h"
1772struct hrtimer {
1773 struct timerqueue_node node ;
1774 ktime_t _softexpires ;
1775 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1776 struct hrtimer_clock_base *base ;
1777 unsigned long state ;
1778 int start_pid ;
1779 void *start_site ;
1780 char start_comm[16U] ;
1781};
1782#line 132 "include/linux/hrtimer.h"
1783struct hrtimer_clock_base {
1784 struct hrtimer_cpu_base *cpu_base ;
1785 int index ;
1786 clockid_t clockid ;
1787 struct timerqueue_head active ;
1788 ktime_t resolution ;
1789 ktime_t (*get_time)(void) ;
1790 ktime_t softirq_time ;
1791 ktime_t offset ;
1792};
1793#line 162 "include/linux/hrtimer.h"
1794struct hrtimer_cpu_base {
1795 raw_spinlock_t lock ;
1796 unsigned long active_bases ;
1797 ktime_t expires_next ;
1798 int hres_active ;
1799 int hang_detected ;
1800 unsigned long nr_events ;
1801 unsigned long nr_retries ;
1802 unsigned long nr_hangs ;
1803 ktime_t max_hang_time ;
1804 struct hrtimer_clock_base clock_base[3U] ;
1805};
1806#line 452 "include/linux/hrtimer.h"
1807struct task_io_accounting {
1808 u64 rchar ;
1809 u64 wchar ;
1810 u64 syscr ;
1811 u64 syscw ;
1812 u64 read_bytes ;
1813 u64 write_bytes ;
1814 u64 cancelled_write_bytes ;
1815};
1816#line 45 "include/linux/task_io_accounting.h"
1817struct latency_record {
1818 unsigned long backtrace[12U] ;
1819 unsigned int count ;
1820 unsigned long time ;
1821 unsigned long max ;
1822};
1823#line 29 "include/linux/key.h"
1824typedef int32_t key_serial_t;
1825#line 32 "include/linux/key.h"
1826typedef uint32_t key_perm_t;
1827#line 33
1828struct key;
1829#line 34
1830struct signal_struct;
1831#line 35
1832struct key_type;
1833#line 37
1834struct keyring_list;
1835#line 115
1836struct key_user;
1837#line 115 "include/linux/key.h"
1838union __anonunion_ldv_16493_158 {
1839 time_t expiry ;
1840 time_t revoked_at ;
1841};
1842#line 115 "include/linux/key.h"
1843union __anonunion_type_data_159 {
1844 struct list_head link ;
1845 unsigned long x[2U] ;
1846 void *p[2U] ;
1847 int reject_error ;
1848};
1849#line 115 "include/linux/key.h"
1850union __anonunion_payload_160 {
1851 unsigned long value ;
1852 void *rcudata ;
1853 void *data ;
1854 struct keyring_list *subscriptions ;
1855};
1856#line 115 "include/linux/key.h"
1857struct key {
1858 atomic_t usage ;
1859 key_serial_t serial ;
1860 struct rb_node serial_node ;
1861 struct key_type *type ;
1862 struct rw_semaphore sem ;
1863 struct key_user *user ;
1864 void *security ;
1865 union __anonunion_ldv_16493_158 ldv_16493 ;
1866 uid_t uid ;
1867 gid_t gid ;
1868 key_perm_t perm ;
1869 unsigned short quotalen ;
1870 unsigned short datalen ;
1871 unsigned long flags ;
1872 char *description ;
1873 union __anonunion_type_data_159 type_data ;
1874 union __anonunion_payload_160 payload ;
1875};
1876#line 316
1877struct audit_context;
1878#line 28 "include/linux/selinux.h"
1879struct group_info {
1880 atomic_t usage ;
1881 int ngroups ;
1882 int nblocks ;
1883 gid_t small_block[32U] ;
1884 gid_t *blocks[0U] ;
1885};
1886#line 77 "include/linux/cred.h"
1887struct thread_group_cred {
1888 atomic_t usage ;
1889 pid_t tgid ;
1890 spinlock_t lock ;
1891 struct key *session_keyring ;
1892 struct key *process_keyring ;
1893 struct rcu_head rcu ;
1894};
1895#line 91 "include/linux/cred.h"
1896struct cred {
1897 atomic_t usage ;
1898 atomic_t subscribers ;
1899 void *put_addr ;
1900 unsigned int magic ;
1901 uid_t uid ;
1902 gid_t gid ;
1903 uid_t suid ;
1904 gid_t sgid ;
1905 uid_t euid ;
1906 gid_t egid ;
1907 uid_t fsuid ;
1908 gid_t fsgid ;
1909 unsigned int securebits ;
1910 kernel_cap_t cap_inheritable ;
1911 kernel_cap_t cap_permitted ;
1912 kernel_cap_t cap_effective ;
1913 kernel_cap_t cap_bset ;
1914 unsigned char jit_keyring ;
1915 struct key *thread_keyring ;
1916 struct key *request_key_auth ;
1917 struct thread_group_cred *tgcred ;
1918 void *security ;
1919 struct user_struct *user ;
1920 struct user_namespace *user_ns ;
1921 struct group_info *group_info ;
1922 struct rcu_head rcu ;
1923};
1924#line 264
1925struct llist_node;
1926#line 64 "include/linux/llist.h"
1927struct llist_node {
1928 struct llist_node *next ;
1929};
1930#line 185
1931struct futex_pi_state;
1932#line 186
1933struct robust_list_head;
1934#line 187
1935struct bio_list;
1936#line 188
1937struct fs_struct;
1938#line 189
1939struct perf_event_context;
1940#line 190
1941struct blk_plug;
1942#line 149 "include/linux/sched.h"
1943struct cfs_rq;
1944#line 406 "include/linux/sched.h"
1945struct sighand_struct {
1946 atomic_t count ;
1947 struct k_sigaction action[64U] ;
1948 spinlock_t siglock ;
1949 wait_queue_head_t signalfd_wqh ;
1950};
1951#line 449 "include/linux/sched.h"
1952struct pacct_struct {
1953 int ac_flag ;
1954 long ac_exitcode ;
1955 unsigned long ac_mem ;
1956 cputime_t ac_utime ;
1957 cputime_t ac_stime ;
1958 unsigned long ac_minflt ;
1959 unsigned long ac_majflt ;
1960};
1961#line 457 "include/linux/sched.h"
1962struct cpu_itimer {
1963 cputime_t expires ;
1964 cputime_t incr ;
1965 u32 error ;
1966 u32 incr_error ;
1967};
1968#line 464 "include/linux/sched.h"
1969struct task_cputime {
1970 cputime_t utime ;
1971 cputime_t stime ;
1972 unsigned long long sum_exec_runtime ;
1973};
1974#line 481 "include/linux/sched.h"
1975struct thread_group_cputimer {
1976 struct task_cputime cputime ;
1977 int running ;
1978 raw_spinlock_t lock ;
1979};
1980#line 517
1981struct autogroup;
1982#line 518
1983struct tty_struct;
1984#line 518
1985struct taskstats;
1986#line 518
1987struct tty_audit_buf;
1988#line 518 "include/linux/sched.h"
1989struct signal_struct {
1990 atomic_t sigcnt ;
1991 atomic_t live ;
1992 int nr_threads ;
1993 wait_queue_head_t wait_chldexit ;
1994 struct task_struct *curr_target ;
1995 struct sigpending shared_pending ;
1996 int group_exit_code ;
1997 int notify_count ;
1998 struct task_struct *group_exit_task ;
1999 int group_stop_count ;
2000 unsigned int flags ;
2001 unsigned char is_child_subreaper : 1 ;
2002 unsigned char has_child_subreaper : 1 ;
2003 struct list_head posix_timers ;
2004 struct hrtimer real_timer ;
2005 struct pid *leader_pid ;
2006 ktime_t it_real_incr ;
2007 struct cpu_itimer it[2U] ;
2008 struct thread_group_cputimer cputimer ;
2009 struct task_cputime cputime_expires ;
2010 struct list_head cpu_timers[3U] ;
2011 struct pid *tty_old_pgrp ;
2012 int leader ;
2013 struct tty_struct *tty ;
2014 struct autogroup *autogroup ;
2015 cputime_t utime ;
2016 cputime_t stime ;
2017 cputime_t cutime ;
2018 cputime_t cstime ;
2019 cputime_t gtime ;
2020 cputime_t cgtime ;
2021 cputime_t prev_utime ;
2022 cputime_t prev_stime ;
2023 unsigned long nvcsw ;
2024 unsigned long nivcsw ;
2025 unsigned long cnvcsw ;
2026 unsigned long cnivcsw ;
2027 unsigned long min_flt ;
2028 unsigned long maj_flt ;
2029 unsigned long cmin_flt ;
2030 unsigned long cmaj_flt ;
2031 unsigned long inblock ;
2032 unsigned long oublock ;
2033 unsigned long cinblock ;
2034 unsigned long coublock ;
2035 unsigned long maxrss ;
2036 unsigned long cmaxrss ;
2037 struct task_io_accounting ioac ;
2038 unsigned long long sum_sched_runtime ;
2039 struct rlimit rlim[16U] ;
2040 struct pacct_struct pacct ;
2041 struct taskstats *stats ;
2042 unsigned int audit_tty ;
2043 struct tty_audit_buf *tty_audit_buf ;
2044 struct rw_semaphore group_rwsem ;
2045 int oom_adj ;
2046 int oom_score_adj ;
2047 int oom_score_adj_min ;
2048 struct mutex cred_guard_mutex ;
2049};
2050#line 699 "include/linux/sched.h"
2051struct user_struct {
2052 atomic_t __count ;
2053 atomic_t processes ;
2054 atomic_t files ;
2055 atomic_t sigpending ;
2056 atomic_t inotify_watches ;
2057 atomic_t inotify_devs ;
2058 atomic_t fanotify_listeners ;
2059 atomic_long_t epoll_watches ;
2060 unsigned long mq_bytes ;
2061 unsigned long locked_shm ;
2062 struct key *uid_keyring ;
2063 struct key *session_keyring ;
2064 struct hlist_node uidhash_node ;
2065 uid_t uid ;
2066 struct user_namespace *user_ns ;
2067 atomic_long_t locked_vm ;
2068};
2069#line 744
2070struct backing_dev_info;
2071#line 745
2072struct reclaim_state;
2073#line 746 "include/linux/sched.h"
2074struct sched_info {
2075 unsigned long pcount ;
2076 unsigned long long run_delay ;
2077 unsigned long long last_arrival ;
2078 unsigned long long last_queued ;
2079};
2080#line 760 "include/linux/sched.h"
2081struct task_delay_info {
2082 spinlock_t lock ;
2083 unsigned int flags ;
2084 struct timespec blkio_start ;
2085 struct timespec blkio_end ;
2086 u64 blkio_delay ;
2087 u64 swapin_delay ;
2088 u32 blkio_count ;
2089 u32 swapin_count ;
2090 struct timespec freepages_start ;
2091 struct timespec freepages_end ;
2092 u64 freepages_delay ;
2093 u32 freepages_count ;
2094};
2095#line 1069
2096struct io_context;
2097#line 1097
2098struct pipe_inode_info;
2099#line 1099
2100struct rq;
2101#line 1100 "include/linux/sched.h"
2102struct sched_class {
2103 struct sched_class *next ;
2104 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
2105 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
2106 void (*yield_task)(struct rq * ) ;
2107 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
2108 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
2109 struct task_struct *(*pick_next_task)(struct rq * ) ;
2110 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2111 int (*select_task_rq)(struct task_struct * , int , int ) ;
2112 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2113 void (*post_schedule)(struct rq * ) ;
2114 void (*task_waking)(struct task_struct * ) ;
2115 void (*task_woken)(struct rq * , struct task_struct * ) ;
2116 void (*set_cpus_allowed)(struct task_struct * , struct cpumask * ) ;
2117 void (*rq_online)(struct rq * ) ;
2118 void (*rq_offline)(struct rq * ) ;
2119 void (*set_curr_task)(struct rq * ) ;
2120 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
2121 void (*task_fork)(struct task_struct * ) ;
2122 void (*switched_from)(struct rq * , struct task_struct * ) ;
2123 void (*switched_to)(struct rq * , struct task_struct * ) ;
2124 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
2125 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2126 void (*task_move_group)(struct task_struct * , int ) ;
2127};
2128#line 1165 "include/linux/sched.h"
2129struct load_weight {
2130 unsigned long weight ;
2131 unsigned long inv_weight ;
2132};
2133#line 1170 "include/linux/sched.h"
2134struct sched_statistics {
2135 u64 wait_start ;
2136 u64 wait_max ;
2137 u64 wait_count ;
2138 u64 wait_sum ;
2139 u64 iowait_count ;
2140 u64 iowait_sum ;
2141 u64 sleep_start ;
2142 u64 sleep_max ;
2143 s64 sum_sleep_runtime ;
2144 u64 block_start ;
2145 u64 block_max ;
2146 u64 exec_max ;
2147 u64 slice_max ;
2148 u64 nr_migrations_cold ;
2149 u64 nr_failed_migrations_affine ;
2150 u64 nr_failed_migrations_running ;
2151 u64 nr_failed_migrations_hot ;
2152 u64 nr_forced_migrations ;
2153 u64 nr_wakeups ;
2154 u64 nr_wakeups_sync ;
2155 u64 nr_wakeups_migrate ;
2156 u64 nr_wakeups_local ;
2157 u64 nr_wakeups_remote ;
2158 u64 nr_wakeups_affine ;
2159 u64 nr_wakeups_affine_attempts ;
2160 u64 nr_wakeups_passive ;
2161 u64 nr_wakeups_idle ;
2162};
2163#line 1205 "include/linux/sched.h"
2164struct sched_entity {
2165 struct load_weight load ;
2166 struct rb_node run_node ;
2167 struct list_head group_node ;
2168 unsigned int on_rq ;
2169 u64 exec_start ;
2170 u64 sum_exec_runtime ;
2171 u64 vruntime ;
2172 u64 prev_sum_exec_runtime ;
2173 u64 nr_migrations ;
2174 struct sched_statistics statistics ;
2175 struct sched_entity *parent ;
2176 struct cfs_rq *cfs_rq ;
2177 struct cfs_rq *my_q ;
2178};
2179#line 1231
2180struct rt_rq;
2181#line 1231 "include/linux/sched.h"
2182struct sched_rt_entity {
2183 struct list_head run_list ;
2184 unsigned long timeout ;
2185 unsigned int time_slice ;
2186 int nr_cpus_allowed ;
2187 struct sched_rt_entity *back ;
2188 struct sched_rt_entity *parent ;
2189 struct rt_rq *rt_rq ;
2190 struct rt_rq *my_q ;
2191};
2192#line 1255
2193struct mem_cgroup;
2194#line 1255 "include/linux/sched.h"
2195struct memcg_batch_info {
2196 int do_batch ;
2197 struct mem_cgroup *memcg ;
2198 unsigned long nr_pages ;
2199 unsigned long memsw_nr_pages ;
2200};
2201#line 1616
2202struct files_struct;
2203#line 1616
2204struct css_set;
2205#line 1616
2206struct compat_robust_list_head;
2207#line 1616 "include/linux/sched.h"
2208struct task_struct {
2209 long volatile state ;
2210 void *stack ;
2211 atomic_t usage ;
2212 unsigned int flags ;
2213 unsigned int ptrace ;
2214 struct llist_node wake_entry ;
2215 int on_cpu ;
2216 int on_rq ;
2217 int prio ;
2218 int static_prio ;
2219 int normal_prio ;
2220 unsigned int rt_priority ;
2221 struct sched_class *sched_class ;
2222 struct sched_entity se ;
2223 struct sched_rt_entity rt ;
2224 struct hlist_head preempt_notifiers ;
2225 unsigned char fpu_counter ;
2226 unsigned int policy ;
2227 cpumask_t cpus_allowed ;
2228 struct sched_info sched_info ;
2229 struct list_head tasks ;
2230 struct plist_node pushable_tasks ;
2231 struct mm_struct *mm ;
2232 struct mm_struct *active_mm ;
2233 unsigned char brk_randomized : 1 ;
2234 int exit_state ;
2235 int exit_code ;
2236 int exit_signal ;
2237 int pdeath_signal ;
2238 unsigned int jobctl ;
2239 unsigned int personality ;
2240 unsigned char did_exec : 1 ;
2241 unsigned char in_execve : 1 ;
2242 unsigned char in_iowait : 1 ;
2243 unsigned char sched_reset_on_fork : 1 ;
2244 unsigned char sched_contributes_to_load : 1 ;
2245 unsigned char irq_thread : 1 ;
2246 pid_t pid ;
2247 pid_t tgid ;
2248 unsigned long stack_canary ;
2249 struct task_struct *real_parent ;
2250 struct task_struct *parent ;
2251 struct list_head children ;
2252 struct list_head sibling ;
2253 struct task_struct *group_leader ;
2254 struct list_head ptraced ;
2255 struct list_head ptrace_entry ;
2256 struct pid_link pids[3U] ;
2257 struct list_head thread_group ;
2258 struct completion *vfork_done ;
2259 int *set_child_tid ;
2260 int *clear_child_tid ;
2261 cputime_t utime ;
2262 cputime_t stime ;
2263 cputime_t utimescaled ;
2264 cputime_t stimescaled ;
2265 cputime_t gtime ;
2266 cputime_t prev_utime ;
2267 cputime_t prev_stime ;
2268 unsigned long nvcsw ;
2269 unsigned long nivcsw ;
2270 struct timespec start_time ;
2271 struct timespec real_start_time ;
2272 unsigned long min_flt ;
2273 unsigned long maj_flt ;
2274 struct task_cputime cputime_expires ;
2275 struct list_head cpu_timers[3U] ;
2276 struct cred *real_cred ;
2277 struct cred *cred ;
2278 struct cred *replacement_session_keyring ;
2279 char comm[16U] ;
2280 int link_count ;
2281 int total_link_count ;
2282 struct sysv_sem sysvsem ;
2283 unsigned long last_switch_count ;
2284 struct thread_struct thread ;
2285 struct fs_struct *fs ;
2286 struct files_struct *files ;
2287 struct nsproxy *nsproxy ;
2288 struct signal_struct *signal ;
2289 struct sighand_struct *sighand ;
2290 sigset_t blocked ;
2291 sigset_t real_blocked ;
2292 sigset_t saved_sigmask ;
2293 struct sigpending pending ;
2294 unsigned long sas_ss_sp ;
2295 size_t sas_ss_size ;
2296 int (*notifier)(void * ) ;
2297 void *notifier_data ;
2298 sigset_t *notifier_mask ;
2299 struct audit_context *audit_context ;
2300 uid_t loginuid ;
2301 unsigned int sessionid ;
2302 seccomp_t seccomp ;
2303 u32 parent_exec_id ;
2304 u32 self_exec_id ;
2305 spinlock_t alloc_lock ;
2306 raw_spinlock_t pi_lock ;
2307 struct plist_head pi_waiters ;
2308 struct rt_mutex_waiter *pi_blocked_on ;
2309 struct mutex_waiter *blocked_on ;
2310 unsigned int irq_events ;
2311 unsigned long hardirq_enable_ip ;
2312 unsigned long hardirq_disable_ip ;
2313 unsigned int hardirq_enable_event ;
2314 unsigned int hardirq_disable_event ;
2315 int hardirqs_enabled ;
2316 int hardirq_context ;
2317 unsigned long softirq_disable_ip ;
2318 unsigned long softirq_enable_ip ;
2319 unsigned int softirq_disable_event ;
2320 unsigned int softirq_enable_event ;
2321 int softirqs_enabled ;
2322 int softirq_context ;
2323 u64 curr_chain_key ;
2324 int lockdep_depth ;
2325 unsigned int lockdep_recursion ;
2326 struct held_lock held_locks[48U] ;
2327 gfp_t lockdep_reclaim_gfp ;
2328 void *journal_info ;
2329 struct bio_list *bio_list ;
2330 struct blk_plug *plug ;
2331 struct reclaim_state *reclaim_state ;
2332 struct backing_dev_info *backing_dev_info ;
2333 struct io_context *io_context ;
2334 unsigned long ptrace_message ;
2335 siginfo_t *last_siginfo ;
2336 struct task_io_accounting ioac ;
2337 u64 acct_rss_mem1 ;
2338 u64 acct_vm_mem1 ;
2339 cputime_t acct_timexpd ;
2340 nodemask_t mems_allowed ;
2341 seqcount_t mems_allowed_seq ;
2342 int cpuset_mem_spread_rotor ;
2343 int cpuset_slab_spread_rotor ;
2344 struct css_set *cgroups ;
2345 struct list_head cg_list ;
2346 struct robust_list_head *robust_list ;
2347 struct compat_robust_list_head *compat_robust_list ;
2348 struct list_head pi_state_list ;
2349 struct futex_pi_state *pi_state_cache ;
2350 struct perf_event_context *perf_event_ctxp[2U] ;
2351 struct mutex perf_event_mutex ;
2352 struct list_head perf_event_list ;
2353 struct mempolicy *mempolicy ;
2354 short il_next ;
2355 short pref_node_fork ;
2356 struct rcu_head rcu ;
2357 struct pipe_inode_info *splice_pipe ;
2358 struct task_delay_info *delays ;
2359 int make_it_fail ;
2360 int nr_dirtied ;
2361 int nr_dirtied_pause ;
2362 unsigned long dirty_paused_when ;
2363 int latency_record_count ;
2364 struct latency_record latency_record[32U] ;
2365 unsigned long timer_slack_ns ;
2366 unsigned long default_timer_slack_ns ;
2367 struct list_head *scm_work_list ;
2368 unsigned long trace ;
2369 unsigned long trace_recursion ;
2370 struct memcg_batch_info memcg_batch ;
2371 atomic_t ptrace_bp_refcnt ;
2372};
2373#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv.h"
2374enum xp_retval {
2375 xpSuccess = 0,
2376 xpNotConnected = 1,
2377 xpConnected = 2,
2378 xpRETIRED1 = 3,
2379 xpMsgReceived = 4,
2380 xpMsgDelivered = 5,
2381 xpRETIRED2 = 6,
2382 xpNoWait = 7,
2383 xpRetry = 8,
2384 xpTimeout = 9,
2385 xpInterrupted = 10,
2386 xpUnequalMsgSizes = 11,
2387 xpInvalidAddress = 12,
2388 xpNoMemory = 13,
2389 xpLackOfResources = 14,
2390 xpUnregistered = 15,
2391 xpAlreadyRegistered = 16,
2392 xpPartitionDown = 17,
2393 xpNotLoaded = 18,
2394 xpUnloading = 19,
2395 xpBadMagic = 20,
2396 xpReactivating = 21,
2397 xpUnregistering = 22,
2398 xpOtherUnregistering = 23,
2399 xpCloneKThread = 24,
2400 xpCloneKThreadFailed = 25,
2401 xpNoHeartbeat = 26,
2402 xpPioReadError = 27,
2403 xpPhysAddrRegFailed = 28,
2404 xpRETIRED3 = 29,
2405 xpRETIRED4 = 30,
2406 xpRETIRED5 = 31,
2407 xpRETIRED6 = 32,
2408 xpRETIRED7 = 33,
2409 xpRETIRED8 = 34,
2410 xpRETIRED9 = 35,
2411 xpRETIRED10 = 36,
2412 xpRETIRED11 = 37,
2413 xpRETIRED12 = 38,
2414 xpBadVersion = 39,
2415 xpVarsNotSet = 40,
2416 xpNoRsvdPageAddr = 41,
2417 xpInvalidPartid = 42,
2418 xpLocalPartid = 43,
2419 xpOtherGoingDown = 44,
2420 xpSystemGoingDown = 45,
2421 xpSystemHalt = 46,
2422 xpSystemReboot = 47,
2423 xpSystemPoweroff = 48,
2424 xpDisconnecting = 49,
2425 xpOpenCloseError = 50,
2426 xpDisconnected = 51,
2427 xpBteCopyError = 52,
2428 xpSalError = 53,
2429 xpRsvdPageNotSet = 54,
2430 xpPayloadTooBig = 55,
2431 xpUnsupported = 56,
2432 xpNeedMoreInfo = 57,
2433 xpGruCopyError = 58,
2434 xpGruSendMqError = 59,
2435 xpBadChannelNumber = 60,
2436 xpBadMsgType = 61,
2437 xpBiosError = 62,
2438 xpUnknownReason = 63
2439} ;
2440#line 357 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
2441struct __anonstruct_sn2_164 {
2442 unsigned long vars_pa ;
2443};
2444#line 357 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
2445struct __anonstruct_uv_165 {
2446 unsigned long heartbeat_gpa ;
2447 unsigned long activate_gru_mq_desc_gpa ;
2448};
2449#line 357 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
2450union __anonunion_sn_163 {
2451 struct __anonstruct_sn2_164 sn2 ;
2452 struct __anonstruct_uv_165 uv ;
2453};
2454#line 357 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
2455struct xpc_rsvd_page {
2456 u64 SAL_signature ;
2457 u64 SAL_version ;
2458 short SAL_partid ;
2459 short max_npartitions ;
2460 u8 version ;
2461 u8 pad1[3U] ;
2462 unsigned long ts_jiffies ;
2463 union __anonunion_sn_163 sn ;
2464 u64 pad2[9U] ;
2465 u64 SAL_nasids_size ;
2466};
2467#line 106 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2468struct amo;
2469#line 162 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2470struct xpc_heartbeat_uv {
2471 unsigned long value ;
2472 unsigned long offline ;
2473};
2474#line 286 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2475struct xpc_gp_sn2 {
2476 s64 get ;
2477 s64 put ;
2478};
2479#line 307 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2480struct xpc_openclose_args {
2481 u16 reason ;
2482 u16 entry_size ;
2483 u16 remote_nentries ;
2484 u16 local_nentries ;
2485 unsigned long local_msgqueue_pa ;
2486};
2487#line 322 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2488struct xpc_fifo_entry_uv {
2489 struct xpc_fifo_entry_uv *next ;
2490};
2491#line 335 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2492struct xpc_fifo_head_uv {
2493 struct xpc_fifo_entry_uv *first ;
2494 struct xpc_fifo_entry_uv *last ;
2495 spinlock_t lock ;
2496 int n_entries ;
2497};
2498#line 342 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2499struct xpc_msg_sn2 {
2500 u8 flags ;
2501 u8 reserved[7U] ;
2502 s64 number ;
2503 u64 payload ;
2504};
2505#line 392 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2506struct xpc_notify_sn2 {
2507 u8 type ;
2508 void (*func)(enum xp_retval , short , int , void * ) ;
2509 void *key ;
2510};
2511#line 406 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2512struct xpc_send_msg_slot_uv {
2513 struct xpc_fifo_entry_uv next ;
2514 unsigned int msg_slot_number ;
2515 void (*func)(enum xp_retval , short , int , void * ) ;
2516 void *key ;
2517};
2518#line 421 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2519struct xpc_channel_sn2 {
2520 struct xpc_openclose_args *local_openclose_args ;
2521 void *local_msgqueue_base ;
2522 struct xpc_msg_sn2 *local_msgqueue ;
2523 void *remote_msgqueue_base ;
2524 struct xpc_msg_sn2 *remote_msgqueue ;
2525 unsigned long remote_msgqueue_pa ;
2526 struct xpc_notify_sn2 *notify_queue ;
2527 struct xpc_gp_sn2 *local_GP ;
2528 struct xpc_gp_sn2 remote_GP ;
2529 struct xpc_gp_sn2 w_local_GP ;
2530 struct xpc_gp_sn2 w_remote_GP ;
2531 s64 next_msg_to_pull ;
2532 struct mutex msg_to_pull_mutex ;
2533};
2534#line 529 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2535struct xpc_channel_uv {
2536 void *cached_notify_gru_mq_desc ;
2537 struct xpc_send_msg_slot_uv *send_msg_slots ;
2538 void *recv_msg_slots ;
2539 struct xpc_fifo_head_uv msg_slot_free_list ;
2540 struct xpc_fifo_head_uv recv_msg_list ;
2541};
2542#line 541 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2543union __anonunion_sn_167 {
2544 struct xpc_channel_sn2 sn2 ;
2545 struct xpc_channel_uv uv ;
2546};
2547#line 541 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2548struct xpc_channel {
2549 short partid ;
2550 spinlock_t lock ;
2551 unsigned int flags ;
2552 enum xp_retval reason ;
2553 int reason_line ;
2554 u16 number ;
2555 u16 entry_size ;
2556 u16 local_nentries ;
2557 u16 remote_nentries ;
2558 atomic_t references ;
2559 atomic_t n_on_msg_allocate_wq ;
2560 wait_queue_head_t msg_allocate_wq ;
2561 u8 delayed_chctl_flags ;
2562 atomic_t n_to_notify ;
2563 void (*func)(enum xp_retval , short , int , void * , void * ) ;
2564 void *key ;
2565 struct completion wdisconnect_wait ;
2566 atomic_t kthreads_assigned ;
2567 u32 kthreads_assigned_limit ;
2568 atomic_t kthreads_idle ;
2569 u32 kthreads_idle_limit ;
2570 atomic_t kthreads_active ;
2571 wait_queue_head_t idle_wq ;
2572 union __anonunion_sn_167 sn ;
2573};
2574#line 586 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2575union xpc_channel_ctl_flags {
2576 u64 all_flags ;
2577 u8 flags[2U] ;
2578};
2579#line 668 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2580struct xpc_partition_sn2 {
2581 unsigned long remote_amos_page_pa ;
2582 int activate_IRQ_nasid ;
2583 int activate_IRQ_phys_cpuid ;
2584 unsigned long remote_vars_pa ;
2585 unsigned long remote_vars_part_pa ;
2586 u8 remote_vars_version ;
2587 void *local_GPs_base ;
2588 struct xpc_gp_sn2 *local_GPs ;
2589 void *remote_GPs_base ;
2590 struct xpc_gp_sn2 *remote_GPs ;
2591 unsigned long remote_GPs_pa ;
2592 void *local_openclose_args_base ;
2593 struct xpc_openclose_args *local_openclose_args ;
2594 unsigned long remote_openclose_args_pa ;
2595 int notify_IRQ_nasid ;
2596 int notify_IRQ_phys_cpuid ;
2597 char notify_IRQ_owner[8U] ;
2598 struct amo *remote_chctl_amo_va ;
2599 struct amo *local_chctl_amo_va ;
2600 struct timer_list dropped_notify_IRQ_timer ;
2601};
2602#line 705 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2603struct xpc_partition_uv {
2604 unsigned long heartbeat_gpa ;
2605 struct xpc_heartbeat_uv cached_heartbeat ;
2606 unsigned long activate_gru_mq_desc_gpa ;
2607 void *cached_activate_gru_mq_desc ;
2608 struct mutex cached_activate_gru_mq_desc_mutex ;
2609 spinlock_t flags_lock ;
2610 unsigned int flags ;
2611 u8 remote_act_state ;
2612 u8 act_state_req ;
2613 enum xp_retval reason ;
2614};
2615#line 722 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2616union __anonunion_sn_168 {
2617 struct xpc_partition_sn2 sn2 ;
2618 struct xpc_partition_uv uv ;
2619};
2620#line 722 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2621struct xpc_partition {
2622 u8 remote_rp_version ;
2623 unsigned long remote_rp_ts_jiffies ;
2624 unsigned long remote_rp_pa ;
2625 u64 last_heartbeat ;
2626 u32 activate_IRQ_rcvd ;
2627 spinlock_t act_lock ;
2628 u8 act_state ;
2629 enum xp_retval reason ;
2630 int reason_line ;
2631 unsigned long disengage_timeout ;
2632 struct timer_list disengage_timer ;
2633 u8 setup_state ;
2634 wait_queue_head_t teardown_wq ;
2635 atomic_t references ;
2636 u8 nchannels ;
2637 atomic_t nchannels_active ;
2638 atomic_t nchannels_engaged ;
2639 struct xpc_channel *channels ;
2640 union xpc_channel_ctl_flags chctl ;
2641 spinlock_t chctl_lock ;
2642 void *remote_openclose_args_base ;
2643 struct xpc_openclose_args *remote_openclose_args ;
2644 atomic_t channel_mgr_requests ;
2645 wait_queue_head_t channel_mgr_wq ;
2646 union __anonunion_sn_168 sn ;
2647};
2648#line 781 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
2649struct xpc_arch_operations {
2650 int (*setup_partitions)(void) ;
2651 void (*teardown_partitions)(void) ;
2652 void (*process_activate_IRQ_rcvd)(void) ;
2653 enum xp_retval (*get_partition_rsvd_page_pa)(void * , u64 * , unsigned long * ,
2654 size_t * ) ;
2655 int (*setup_rsvd_page)(struct xpc_rsvd_page * ) ;
2656 void (*allow_hb)(short ) ;
2657 void (*disallow_hb)(short ) ;
2658 void (*disallow_all_hbs)(void) ;
2659 void (*increment_heartbeat)(void) ;
2660 void (*offline_heartbeat)(void) ;
2661 void (*online_heartbeat)(void) ;
2662 void (*heartbeat_init)(void) ;
2663 void (*heartbeat_exit)(void) ;
2664 enum xp_retval (*get_remote_heartbeat)(struct xpc_partition * ) ;
2665 void (*request_partition_activation)(struct xpc_rsvd_page * , unsigned long ,
2666 int ) ;
2667 void (*request_partition_reactivation)(struct xpc_partition * ) ;
2668 void (*request_partition_deactivation)(struct xpc_partition * ) ;
2669 void (*cancel_partition_deactivation_request)(struct xpc_partition * ) ;
2670 enum xp_retval (*setup_ch_structures)(struct xpc_partition * ) ;
2671 void (*teardown_ch_structures)(struct xpc_partition * ) ;
2672 enum xp_retval (*make_first_contact)(struct xpc_partition * ) ;
2673 u64 (*get_chctl_all_flags)(struct xpc_partition * ) ;
2674 void (*send_chctl_closerequest)(struct xpc_channel * , unsigned long * ) ;
2675 void (*send_chctl_closereply)(struct xpc_channel * , unsigned long * ) ;
2676 void (*send_chctl_openrequest)(struct xpc_channel * , unsigned long * ) ;
2677 void (*send_chctl_openreply)(struct xpc_channel * , unsigned long * ) ;
2678 void (*send_chctl_opencomplete)(struct xpc_channel * , unsigned long * ) ;
2679 void (*process_msg_chctl_flags)(struct xpc_partition * , int ) ;
2680 enum xp_retval (*save_remote_msgqueue_pa)(struct xpc_channel * , unsigned long ) ;
2681 enum xp_retval (*setup_msg_structures)(struct xpc_channel * ) ;
2682 void (*teardown_msg_structures)(struct xpc_channel * ) ;
2683 void (*indicate_partition_engaged)(struct xpc_partition * ) ;
2684 void (*indicate_partition_disengaged)(struct xpc_partition * ) ;
2685 void (*assume_partition_disengaged)(short ) ;
2686 int (*partition_engaged)(short ) ;
2687 int (*any_partition_engaged)(void) ;
2688 int (*n_of_deliverable_payloads)(struct xpc_channel * ) ;
2689 enum xp_retval (*send_payload)(struct xpc_channel * , u32 , void * , u16 , u8 ,
2690 void (*)(enum xp_retval , short , int , void * ) ,
2691 void * ) ;
2692 void *(*get_deliverable_payload)(struct xpc_channel * ) ;
2693 void (*received_payload)(struct xpc_channel * , void * ) ;
2694 void (*notify_senders_of_disconnect)(struct xpc_channel * ) ;
2695};
2696#line 290 "include/linux/timer.h"
2697enum hrtimer_restart;
2698#line 251 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
2699struct xpc_registration {
2700 struct mutex mutex ;
2701 void (*func)(enum xp_retval , short , int , void * , void * ) ;
2702 void *key ;
2703 u16 nentries ;
2704 u16 entry_size ;
2705 u32 assigned_limit ;
2706 u32 idle_limit ;
2707};
2708#line 290 "include/linux/timer.h"
2709enum hrtimer_restart;
2710#line 41 "include/asm-generic/sections.h"
2711struct exception_table_entry {
2712 unsigned long insn ;
2713 unsigned long fixup ;
2714};
2715#line 19 "include/asm-generic/int-ll64.h"
2716typedef signed char __s8;
2717#line 22 "include/asm-generic/int-ll64.h"
2718typedef short __s16;
2719#line 29 "include/asm-generic/int-ll64.h"
2720typedef long long __s64;
2721#line 42 "include/asm-generic/int-ll64.h"
2722typedef signed char s8;
2723#line 142 "include/linux/types.h"
2724typedef unsigned long sector_t;
2725#line 143 "include/linux/types.h"
2726typedef unsigned long blkcnt_t;
2727#line 203 "include/linux/types.h"
2728typedef unsigned int fmode_t;
2729#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
2730struct seq_file;
2731#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
2732struct seq_operations;
2733#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
2734struct __anonstruct_ldv_5914_31 {
2735 u32 read ;
2736 s32 write ;
2737};
2738#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
2739union __anonunion_arch_rwlock_t_30 {
2740 s64 lock ;
2741 struct __anonstruct_ldv_5914_31 ldv_5914 ;
2742};
2743#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
2744typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
2745#line 23 "include/linux/rwlock_types.h"
2746struct __anonstruct_rwlock_t_34 {
2747 arch_rwlock_t raw_lock ;
2748 unsigned int magic ;
2749 unsigned int owner_cpu ;
2750 void *owner ;
2751 struct lockdep_map dep_map ;
2752};
2753#line 23 "include/linux/rwlock_types.h"
2754typedef struct __anonstruct_rwlock_t_34 rwlock_t;
2755#line 36 "include/linux/seqlock.h"
2756struct __anonstruct_seqlock_t_35 {
2757 unsigned int sequence ;
2758 spinlock_t lock ;
2759};
2760#line 36 "include/linux/seqlock.h"
2761typedef struct __anonstruct_seqlock_t_35 seqlock_t;
2762#line 286 "include/linux/time.h"
2763struct kstat {
2764 u64 ino ;
2765 dev_t dev ;
2766 umode_t mode ;
2767 unsigned int nlink ;
2768 uid_t uid ;
2769 gid_t gid ;
2770 dev_t rdev ;
2771 loff_t size ;
2772 struct timespec atime ;
2773 struct timespec mtime ;
2774 struct timespec ctime ;
2775 unsigned long blksize ;
2776 unsigned long long blocks ;
2777};
2778#line 359 "include/linux/nodemask.h"
2779enum node_states {
2780 N_POSSIBLE = 0,
2781 N_ONLINE = 1,
2782 N_NORMAL_MEMORY = 2,
2783 N_HIGH_MEMORY = 2,
2784 N_CPU = 3,
2785 NR_NODE_STATES = 4
2786} ;
2787#line 56 "include/linux/mmzone.h"
2788struct free_area {
2789 struct list_head free_list[5U] ;
2790 unsigned long nr_free ;
2791};
2792#line 61
2793struct pglist_data;
2794#line 62 "include/linux/mmzone.h"
2795struct zone_padding {
2796 char x[0U] ;
2797};
2798#line 161 "include/linux/mmzone.h"
2799struct lruvec {
2800 struct list_head lists[5U] ;
2801};
2802#line 192 "include/linux/mmzone.h"
2803struct per_cpu_pages {
2804 int count ;
2805 int high ;
2806 int batch ;
2807 struct list_head lists[3U] ;
2808};
2809#line 205 "include/linux/mmzone.h"
2810struct per_cpu_pageset {
2811 struct per_cpu_pages pcp ;
2812 s8 expire ;
2813 s8 stat_threshold ;
2814 s8 vm_stat_diff[33U] ;
2815};
2816#line 215
2817enum zone_type {
2818 ZONE_DMA = 0,
2819 ZONE_DMA32 = 1,
2820 ZONE_NORMAL = 2,
2821 ZONE_MOVABLE = 3,
2822 __MAX_NR_ZONES = 4
2823} ;
2824#line 223 "include/linux/mmzone.h"
2825struct zone_reclaim_stat {
2826 unsigned long recent_rotated[2U] ;
2827 unsigned long recent_scanned[2U] ;
2828};
2829#line 302 "include/linux/mmzone.h"
2830struct zone {
2831 unsigned long watermark[3U] ;
2832 unsigned long percpu_drift_mark ;
2833 unsigned long lowmem_reserve[4U] ;
2834 unsigned long dirty_balance_reserve ;
2835 int node ;
2836 unsigned long min_unmapped_pages ;
2837 unsigned long min_slab_pages ;
2838 struct per_cpu_pageset *pageset ;
2839 spinlock_t lock ;
2840 int all_unreclaimable ;
2841 seqlock_t span_seqlock ;
2842 struct free_area free_area[11U] ;
2843 unsigned int compact_considered ;
2844 unsigned int compact_defer_shift ;
2845 int compact_order_failed ;
2846 struct zone_padding _pad1_ ;
2847 spinlock_t lru_lock ;
2848 struct lruvec lruvec ;
2849 struct zone_reclaim_stat reclaim_stat ;
2850 unsigned long pages_scanned ;
2851 unsigned long flags ;
2852 atomic_long_t vm_stat[33U] ;
2853 unsigned int inactive_ratio ;
2854 struct zone_padding _pad2_ ;
2855 wait_queue_head_t *wait_table ;
2856 unsigned long wait_table_hash_nr_entries ;
2857 unsigned long wait_table_bits ;
2858 struct pglist_data *zone_pgdat ;
2859 unsigned long zone_start_pfn ;
2860 unsigned long spanned_pages ;
2861 unsigned long present_pages ;
2862 char *name ;
2863};
2864#line 486 "include/linux/mmzone.h"
2865struct zonelist_cache {
2866 unsigned short z_to_n[4096U] ;
2867 unsigned long fullzones[64U] ;
2868 unsigned long last_full_zap ;
2869};
2870#line 573 "include/linux/mmzone.h"
2871struct zoneref {
2872 struct zone *zone ;
2873 int zone_idx ;
2874};
2875#line 586 "include/linux/mmzone.h"
2876struct zonelist {
2877 struct zonelist_cache *zlcache_ptr ;
2878 struct zoneref _zonerefs[4097U] ;
2879 struct zonelist_cache zlcache ;
2880};
2881#line 624 "include/linux/mmzone.h"
2882struct pglist_data {
2883 struct zone node_zones[4U] ;
2884 struct zonelist node_zonelists[2U] ;
2885 int nr_zones ;
2886 spinlock_t node_size_lock ;
2887 unsigned long node_start_pfn ;
2888 unsigned long node_present_pages ;
2889 unsigned long node_spanned_pages ;
2890 int node_id ;
2891 wait_queue_head_t kswapd_wait ;
2892 struct task_struct *kswapd ;
2893 int kswapd_max_order ;
2894 enum zone_type classzone_idx ;
2895};
2896#line 669 "include/linux/mmzone.h"
2897typedef struct pglist_data pg_data_t;
2898#line 290 "include/linux/timer.h"
2899enum hrtimer_restart;
2900#line 86 "include/linux/workqueue.h"
2901struct delayed_work {
2902 struct work_struct work ;
2903 struct timer_list timer ;
2904};
2905#line 27 "include/linux/prio_tree.h"
2906struct prio_tree_root {
2907 struct prio_tree_node *prio_tree_node ;
2908 unsigned short index_bits ;
2909 unsigned short raw ;
2910};
2911#line 93 "include/linux/bit_spinlock.h"
2912struct shrink_control {
2913 gfp_t gfp_mask ;
2914 unsigned long nr_to_scan ;
2915};
2916#line 14 "include/linux/shrinker.h"
2917struct shrinker {
2918 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
2919 int seeks ;
2920 long batch ;
2921 struct list_head list ;
2922 atomic_long_t nr_in_batch ;
2923};
2924#line 43
2925struct file_ra_state;
2926#line 45
2927struct writeback_control;
2928#line 178 "include/linux/mm.h"
2929struct vm_fault {
2930 unsigned int flags ;
2931 unsigned long pgoff ;
2932 void *virtual_address ;
2933 struct page *page ;
2934};
2935#line 195 "include/linux/mm.h"
2936struct vm_operations_struct {
2937 void (*open)(struct vm_area_struct * ) ;
2938 void (*close)(struct vm_area_struct * ) ;
2939 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2940 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2941 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
2942 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2943 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
2944 int (*migrate)(struct vm_area_struct * , nodemask_t * , nodemask_t * ,
2945 unsigned long ) ;
2946};
2947#line 244
2948struct inode;
2949#line 1631
2950enum irqreturn {
2951 IRQ_NONE = 0,
2952 IRQ_HANDLED = 1,
2953 IRQ_WAKE_THREAD = 2
2954} ;
2955#line 16 "include/linux/irqreturn.h"
2956typedef enum irqreturn irqreturn_t;
2957#line 2075 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_mmrs.h"
2958struct uv_scir_s {
2959 struct timer_list timer ;
2960 unsigned long offset ;
2961 unsigned long last ;
2962 unsigned long idle_on ;
2963 unsigned long idle_off ;
2964 unsigned char state ;
2965 unsigned char enabled ;
2966};
2967#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
2968struct uv_hub_info_s {
2969 unsigned long global_mmr_base ;
2970 unsigned long gpa_mask ;
2971 unsigned int gnode_extra ;
2972 unsigned char hub_revision ;
2973 unsigned char apic_pnode_shift ;
2974 unsigned char m_shift ;
2975 unsigned char n_lshift ;
2976 unsigned long gnode_upper ;
2977 unsigned long lowmem_remap_top ;
2978 unsigned long lowmem_remap_base ;
2979 unsigned short pnode ;
2980 unsigned short pnode_mask ;
2981 unsigned short coherency_domain_number ;
2982 unsigned short numa_blade_id ;
2983 unsigned char blade_processor_id ;
2984 unsigned char m_val ;
2985 unsigned char n_val ;
2986 struct uv_scir_s scir ;
2987};
2988#line 468 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
2989struct uv_blade_info {
2990 unsigned short nr_possible_cpus ;
2991 unsigned short nr_online_cpus ;
2992 unsigned short pnode ;
2993 short memory_nid ;
2994 spinlock_t nmi_lock ;
2995 unsigned long nmi_count ;
2996};
2997#line 115 "include/linux/rtc.h"
2998struct path;
2999#line 116
3000struct dentry;
3001#line 117 "include/linux/rtc.h"
3002struct seq_file {
3003 char *buf ;
3004 size_t size ;
3005 size_t from ;
3006 size_t count ;
3007 loff_t index ;
3008 loff_t read_pos ;
3009 u64 version ;
3010 struct mutex lock ;
3011 struct seq_operations *op ;
3012 int poll_event ;
3013 void *private ;
3014};
3015#line 30 "include/linux/seq_file.h"
3016struct seq_operations {
3017 void *(*start)(struct seq_file * , loff_t * ) ;
3018 void (*stop)(struct seq_file * , void * ) ;
3019 void *(*next)(struct seq_file * , void * , loff_t * ) ;
3020 int (*show)(struct seq_file * , void * ) ;
3021};
3022#line 89 "include/linux/kdev_t.h"
3023struct file_operations;
3024#line 90 "include/linux/kdev_t.h"
3025struct cdev {
3026 struct kobject kobj ;
3027 struct module *owner ;
3028 struct file_operations *ops ;
3029 struct list_head list ;
3030 dev_t dev ;
3031 unsigned int count ;
3032};
3033#line 41 "include/asm-generic/poll.h"
3034struct block_device;
3035#line 427 "include/linux/rculist.h"
3036struct hlist_bl_node;
3037#line 427 "include/linux/rculist.h"
3038struct hlist_bl_head {
3039 struct hlist_bl_node *first ;
3040};
3041#line 36 "include/linux/list_bl.h"
3042struct hlist_bl_node {
3043 struct hlist_bl_node *next ;
3044 struct hlist_bl_node **pprev ;
3045};
3046#line 114 "include/linux/rculist_bl.h"
3047struct nameidata;
3048#line 115
3049struct vfsmount;
3050#line 116 "include/linux/rculist_bl.h"
3051struct qstr {
3052 unsigned int hash ;
3053 unsigned int len ;
3054 unsigned char *name ;
3055};
3056#line 72 "include/linux/dcache.h"
3057struct dentry_operations;
3058#line 72
3059struct super_block;
3060#line 72 "include/linux/dcache.h"
3061union __anonunion_d_u_147 {
3062 struct list_head d_child ;
3063 struct rcu_head d_rcu ;
3064};
3065#line 72 "include/linux/dcache.h"
3066struct dentry {
3067 unsigned int d_flags ;
3068 seqcount_t d_seq ;
3069 struct hlist_bl_node d_hash ;
3070 struct dentry *d_parent ;
3071 struct qstr d_name ;
3072 struct inode *d_inode ;
3073 unsigned char d_iname[32U] ;
3074 unsigned int d_count ;
3075 spinlock_t d_lock ;
3076 struct dentry_operations *d_op ;
3077 struct super_block *d_sb ;
3078 unsigned long d_time ;
3079 void *d_fsdata ;
3080 struct list_head d_lru ;
3081 union __anonunion_d_u_147 d_u ;
3082 struct list_head d_subdirs ;
3083 struct list_head d_alias ;
3084};
3085#line 123 "include/linux/dcache.h"
3086struct dentry_operations {
3087 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
3088 int (*d_hash)(struct dentry * , struct inode * , struct qstr * ) ;
3089 int (*d_compare)(struct dentry * , struct inode * , struct dentry const * ,
3090 struct inode * , unsigned int , char * , struct qstr const * ) ;
3091 int (*d_delete)(struct dentry * ) ;
3092 void (*d_release)(struct dentry * ) ;
3093 void (*d_prune)(struct dentry * ) ;
3094 void (*d_iput)(struct dentry * , struct inode * ) ;
3095 char *(*d_dname)(struct dentry * , char * , int ) ;
3096 struct vfsmount *(*d_automount)(struct path * ) ;
3097 int (*d_manage)(struct dentry * , bool ) ;
3098};
3099#line 402 "include/linux/dcache.h"
3100struct path {
3101 struct vfsmount *mnt ;
3102 struct dentry *dentry ;
3103};
3104#line 58 "include/linux/radix-tree.h"
3105struct radix_tree_node;
3106#line 58 "include/linux/radix-tree.h"
3107struct radix_tree_root {
3108 unsigned int height ;
3109 gfp_t gfp_mask ;
3110 struct radix_tree_node *rnode ;
3111};
3112#line 377
3113enum pid_type {
3114 PIDTYPE_PID = 0,
3115 PIDTYPE_PGID = 1,
3116 PIDTYPE_SID = 2,
3117 PIDTYPE_MAX = 3
3118} ;
3119#line 45 "include/linux/semaphore.h"
3120struct fiemap_extent {
3121 __u64 fe_logical ;
3122 __u64 fe_physical ;
3123 __u64 fe_length ;
3124 __u64 fe_reserved64[2U] ;
3125 __u32 fe_flags ;
3126 __u32 fe_reserved[3U] ;
3127};
3128#line 38 "include/linux/fiemap.h"
3129enum migrate_mode {
3130 MIGRATE_ASYNC = 0,
3131 MIGRATE_SYNC_LIGHT = 1,
3132 MIGRATE_SYNC = 2
3133} ;
3134#line 44
3135struct export_operations;
3136#line 46
3137struct iovec;
3138#line 47
3139struct kiocb;
3140#line 49
3141struct poll_table_struct;
3142#line 50
3143struct kstatfs;
3144#line 435 "include/linux/fs.h"
3145struct iattr {
3146 unsigned int ia_valid ;
3147 umode_t ia_mode ;
3148 uid_t ia_uid ;
3149 gid_t ia_gid ;
3150 loff_t ia_size ;
3151 struct timespec ia_atime ;
3152 struct timespec ia_mtime ;
3153 struct timespec ia_ctime ;
3154 struct file *ia_file ;
3155};
3156#line 119 "include/linux/quota.h"
3157struct if_dqinfo {
3158 __u64 dqi_bgrace ;
3159 __u64 dqi_igrace ;
3160 __u32 dqi_flags ;
3161 __u32 dqi_valid ;
3162};
3163#line 176 "include/linux/percpu_counter.h"
3164struct fs_disk_quota {
3165 __s8 d_version ;
3166 __s8 d_flags ;
3167 __u16 d_fieldmask ;
3168 __u32 d_id ;
3169 __u64 d_blk_hardlimit ;
3170 __u64 d_blk_softlimit ;
3171 __u64 d_ino_hardlimit ;
3172 __u64 d_ino_softlimit ;
3173 __u64 d_bcount ;
3174 __u64 d_icount ;
3175 __s32 d_itimer ;
3176 __s32 d_btimer ;
3177 __u16 d_iwarns ;
3178 __u16 d_bwarns ;
3179 __s32 d_padding2 ;
3180 __u64 d_rtb_hardlimit ;
3181 __u64 d_rtb_softlimit ;
3182 __u64 d_rtbcount ;
3183 __s32 d_rtbtimer ;
3184 __u16 d_rtbwarns ;
3185 __s16 d_padding3 ;
3186 char d_padding4[8U] ;
3187};
3188#line 75 "include/linux/dqblk_xfs.h"
3189struct fs_qfilestat {
3190 __u64 qfs_ino ;
3191 __u64 qfs_nblks ;
3192 __u32 qfs_nextents ;
3193};
3194#line 150 "include/linux/dqblk_xfs.h"
3195typedef struct fs_qfilestat fs_qfilestat_t;
3196#line 151 "include/linux/dqblk_xfs.h"
3197struct fs_quota_stat {
3198 __s8 qs_version ;
3199 __u16 qs_flags ;
3200 __s8 qs_pad ;
3201 fs_qfilestat_t qs_uquota ;
3202 fs_qfilestat_t qs_gquota ;
3203 __u32 qs_incoredqs ;
3204 __s32 qs_btimelimit ;
3205 __s32 qs_itimelimit ;
3206 __s32 qs_rtbtimelimit ;
3207 __u16 qs_bwarnlimit ;
3208 __u16 qs_iwarnlimit ;
3209};
3210#line 165
3211struct dquot;
3212#line 185 "include/linux/quota.h"
3213typedef __kernel_uid32_t qid_t;
3214#line 186 "include/linux/quota.h"
3215typedef long long qsize_t;
3216#line 189 "include/linux/quota.h"
3217struct mem_dqblk {
3218 qsize_t dqb_bhardlimit ;
3219 qsize_t dqb_bsoftlimit ;
3220 qsize_t dqb_curspace ;
3221 qsize_t dqb_rsvspace ;
3222 qsize_t dqb_ihardlimit ;
3223 qsize_t dqb_isoftlimit ;
3224 qsize_t dqb_curinodes ;
3225 time_t dqb_btime ;
3226 time_t dqb_itime ;
3227};
3228#line 211
3229struct quota_format_type;
3230#line 212 "include/linux/quota.h"
3231struct mem_dqinfo {
3232 struct quota_format_type *dqi_format ;
3233 int dqi_fmt_id ;
3234 struct list_head dqi_dirty_list ;
3235 unsigned long dqi_flags ;
3236 unsigned int dqi_bgrace ;
3237 unsigned int dqi_igrace ;
3238 qsize_t dqi_maxblimit ;
3239 qsize_t dqi_maxilimit ;
3240 void *dqi_priv ;
3241};
3242#line 275 "include/linux/quota.h"
3243struct dquot {
3244 struct hlist_node dq_hash ;
3245 struct list_head dq_inuse ;
3246 struct list_head dq_free ;
3247 struct list_head dq_dirty ;
3248 struct mutex dq_lock ;
3249 atomic_t dq_count ;
3250 wait_queue_head_t dq_wait_unused ;
3251 struct super_block *dq_sb ;
3252 unsigned int dq_id ;
3253 loff_t dq_off ;
3254 unsigned long dq_flags ;
3255 short dq_type ;
3256 struct mem_dqblk dq_dqb ;
3257};
3258#line 303 "include/linux/quota.h"
3259struct quota_format_ops {
3260 int (*check_quota_file)(struct super_block * , int ) ;
3261 int (*read_file_info)(struct super_block * , int ) ;
3262 int (*write_file_info)(struct super_block * , int ) ;
3263 int (*free_file_info)(struct super_block * , int ) ;
3264 int (*read_dqblk)(struct dquot * ) ;
3265 int (*commit_dqblk)(struct dquot * ) ;
3266 int (*release_dqblk)(struct dquot * ) ;
3267};
3268#line 314 "include/linux/quota.h"
3269struct dquot_operations {
3270 int (*write_dquot)(struct dquot * ) ;
3271 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3272 void (*destroy_dquot)(struct dquot * ) ;
3273 int (*acquire_dquot)(struct dquot * ) ;
3274 int (*release_dquot)(struct dquot * ) ;
3275 int (*mark_dirty)(struct dquot * ) ;
3276 int (*write_info)(struct super_block * , int ) ;
3277 qsize_t *(*get_reserved_space)(struct inode * ) ;
3278};
3279#line 328 "include/linux/quota.h"
3280struct quotactl_ops {
3281 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3282 int (*quota_on_meta)(struct super_block * , int , int ) ;
3283 int (*quota_off)(struct super_block * , int ) ;
3284 int (*quota_sync)(struct super_block * , int , int ) ;
3285 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3286 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3287 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3288 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3289 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3290 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3291};
3292#line 344 "include/linux/quota.h"
3293struct quota_format_type {
3294 int qf_fmt_id ;
3295 struct quota_format_ops *qf_ops ;
3296 struct module *qf_owner ;
3297 struct quota_format_type *qf_next ;
3298};
3299#line 390 "include/linux/quota.h"
3300struct quota_info {
3301 unsigned int flags ;
3302 struct mutex dqio_mutex ;
3303 struct mutex dqonoff_mutex ;
3304 struct rw_semaphore dqptr_sem ;
3305 struct inode *files[2U] ;
3306 struct mem_dqinfo info[2U] ;
3307 struct quota_format_ops *ops[2U] ;
3308};
3309#line 585 "include/linux/fs.h"
3310union __anonunion_arg_150 {
3311 char *buf ;
3312 void *data ;
3313};
3314#line 585 "include/linux/fs.h"
3315struct __anonstruct_read_descriptor_t_149 {
3316 size_t written ;
3317 size_t count ;
3318 union __anonunion_arg_150 arg ;
3319 int error ;
3320};
3321#line 585 "include/linux/fs.h"
3322typedef struct __anonstruct_read_descriptor_t_149 read_descriptor_t;
3323#line 588 "include/linux/fs.h"
3324struct address_space_operations {
3325 int (*writepage)(struct page * , struct writeback_control * ) ;
3326 int (*readpage)(struct file * , struct page * ) ;
3327 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3328 int (*set_page_dirty)(struct page * ) ;
3329 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
3330 unsigned int ) ;
3331 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
3332 unsigned int , struct page ** , void ** ) ;
3333 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
3334 unsigned int , struct page * , void * ) ;
3335 sector_t (*bmap)(struct address_space * , sector_t ) ;
3336 void (*invalidatepage)(struct page * , unsigned long ) ;
3337 int (*releasepage)(struct page * , gfp_t ) ;
3338 void (*freepage)(struct page * ) ;
3339 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec * , loff_t ,
3340 unsigned long ) ;
3341 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3342 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
3343 int (*launder_page)(struct page * ) ;
3344 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3345 int (*error_remove_page)(struct address_space * , struct page * ) ;
3346};
3347#line 642 "include/linux/fs.h"
3348struct address_space {
3349 struct inode *host ;
3350 struct radix_tree_root page_tree ;
3351 spinlock_t tree_lock ;
3352 unsigned int i_mmap_writable ;
3353 struct prio_tree_root i_mmap ;
3354 struct list_head i_mmap_nonlinear ;
3355 struct mutex i_mmap_mutex ;
3356 unsigned long nrpages ;
3357 unsigned long writeback_index ;
3358 struct address_space_operations *a_ops ;
3359 unsigned long flags ;
3360 struct backing_dev_info *backing_dev_info ;
3361 spinlock_t private_lock ;
3362 struct list_head private_list ;
3363 struct address_space *assoc_mapping ;
3364};
3365#line 664
3366struct request_queue;
3367#line 665
3368struct hd_struct;
3369#line 665
3370struct gendisk;
3371#line 665 "include/linux/fs.h"
3372struct block_device {
3373 dev_t bd_dev ;
3374 int bd_openers ;
3375 struct inode *bd_inode ;
3376 struct super_block *bd_super ;
3377 struct mutex bd_mutex ;
3378 struct list_head bd_inodes ;
3379 void *bd_claiming ;
3380 void *bd_holder ;
3381 int bd_holders ;
3382 bool bd_write_holder ;
3383 struct list_head bd_holder_disks ;
3384 struct block_device *bd_contains ;
3385 unsigned int bd_block_size ;
3386 struct hd_struct *bd_part ;
3387 unsigned int bd_part_count ;
3388 int bd_invalidated ;
3389 struct gendisk *bd_disk ;
3390 struct request_queue *bd_queue ;
3391 struct list_head bd_list ;
3392 unsigned long bd_private ;
3393 int bd_fsfreeze_count ;
3394 struct mutex bd_fsfreeze_mutex ;
3395};
3396#line 737
3397struct posix_acl;
3398#line 738
3399struct inode_operations;
3400#line 738 "include/linux/fs.h"
3401union __anonunion_ldv_22006_151 {
3402 unsigned int i_nlink ;
3403 unsigned int __i_nlink ;
3404};
3405#line 738 "include/linux/fs.h"
3406union __anonunion_ldv_22025_152 {
3407 struct list_head i_dentry ;
3408 struct rcu_head i_rcu ;
3409};
3410#line 738
3411struct file_lock;
3412#line 738 "include/linux/fs.h"
3413union __anonunion_ldv_22041_153 {
3414 struct pipe_inode_info *i_pipe ;
3415 struct block_device *i_bdev ;
3416 struct cdev *i_cdev ;
3417};
3418#line 738 "include/linux/fs.h"
3419struct inode {
3420 umode_t i_mode ;
3421 unsigned short i_opflags ;
3422 uid_t i_uid ;
3423 gid_t i_gid ;
3424 unsigned int i_flags ;
3425 struct posix_acl *i_acl ;
3426 struct posix_acl *i_default_acl ;
3427 struct inode_operations *i_op ;
3428 struct super_block *i_sb ;
3429 struct address_space *i_mapping ;
3430 void *i_security ;
3431 unsigned long i_ino ;
3432 union __anonunion_ldv_22006_151 ldv_22006 ;
3433 dev_t i_rdev ;
3434 struct timespec i_atime ;
3435 struct timespec i_mtime ;
3436 struct timespec i_ctime ;
3437 spinlock_t i_lock ;
3438 unsigned short i_bytes ;
3439 blkcnt_t i_blocks ;
3440 loff_t i_size ;
3441 unsigned long i_state ;
3442 struct mutex i_mutex ;
3443 unsigned long dirtied_when ;
3444 struct hlist_node i_hash ;
3445 struct list_head i_wb_list ;
3446 struct list_head i_lru ;
3447 struct list_head i_sb_list ;
3448 union __anonunion_ldv_22025_152 ldv_22025 ;
3449 atomic_t i_count ;
3450 unsigned int i_blkbits ;
3451 u64 i_version ;
3452 atomic_t i_dio_count ;
3453 atomic_t i_writecount ;
3454 struct file_operations *i_fop ;
3455 struct file_lock *i_flock ;
3456 struct address_space i_data ;
3457 struct dquot *i_dquot[2U] ;
3458 struct list_head i_devices ;
3459 union __anonunion_ldv_22041_153 ldv_22041 ;
3460 __u32 i_generation ;
3461 __u32 i_fsnotify_mask ;
3462 struct hlist_head i_fsnotify_marks ;
3463 atomic_t i_readcount ;
3464 void *i_private ;
3465};
3466#line 941 "include/linux/fs.h"
3467struct fown_struct {
3468 rwlock_t lock ;
3469 struct pid *pid ;
3470 enum pid_type pid_type ;
3471 uid_t uid ;
3472 uid_t euid ;
3473 int signum ;
3474};
3475#line 949 "include/linux/fs.h"
3476struct file_ra_state {
3477 unsigned long start ;
3478 unsigned int size ;
3479 unsigned int async_size ;
3480 unsigned int ra_pages ;
3481 unsigned int mmap_miss ;
3482 loff_t prev_pos ;
3483};
3484#line 972 "include/linux/fs.h"
3485union __anonunion_f_u_154 {
3486 struct list_head fu_list ;
3487 struct rcu_head fu_rcuhead ;
3488};
3489#line 972 "include/linux/fs.h"
3490struct file {
3491 union __anonunion_f_u_154 f_u ;
3492 struct path f_path ;
3493 struct file_operations *f_op ;
3494 spinlock_t f_lock ;
3495 int f_sb_list_cpu ;
3496 atomic_long_t f_count ;
3497 unsigned int f_flags ;
3498 fmode_t f_mode ;
3499 loff_t f_pos ;
3500 struct fown_struct f_owner ;
3501 struct cred *f_cred ;
3502 struct file_ra_state f_ra ;
3503 u64 f_version ;
3504 void *f_security ;
3505 void *private_data ;
3506 struct list_head f_ep_links ;
3507 struct list_head f_tfile_llink ;
3508 struct address_space *f_mapping ;
3509 unsigned long f_mnt_write_state ;
3510};
3511#line 1111 "include/linux/fs.h"
3512typedef struct files_struct *fl_owner_t;
3513#line 1112 "include/linux/fs.h"
3514struct file_lock_operations {
3515 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3516 void (*fl_release_private)(struct file_lock * ) ;
3517};
3518#line 1117 "include/linux/fs.h"
3519struct lock_manager_operations {
3520 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3521 void (*lm_notify)(struct file_lock * ) ;
3522 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
3523 void (*lm_release_private)(struct file_lock * ) ;
3524 void (*lm_break)(struct file_lock * ) ;
3525 int (*lm_change)(struct file_lock ** , int ) ;
3526};
3527#line 1134
3528struct nlm_lockowner;
3529#line 1135 "include/linux/fs.h"
3530struct nfs_lock_info {
3531 u32 state ;
3532 struct nlm_lockowner *owner ;
3533 struct list_head list ;
3534};
3535#line 14 "include/linux/nfs_fs_i.h"
3536struct nfs4_lock_state;
3537#line 15 "include/linux/nfs_fs_i.h"
3538struct nfs4_lock_info {
3539 struct nfs4_lock_state *owner ;
3540};
3541#line 19
3542struct fasync_struct;
3543#line 19 "include/linux/nfs_fs_i.h"
3544struct __anonstruct_afs_156 {
3545 struct list_head link ;
3546 int state ;
3547};
3548#line 19 "include/linux/nfs_fs_i.h"
3549union __anonunion_fl_u_155 {
3550 struct nfs_lock_info nfs_fl ;
3551 struct nfs4_lock_info nfs4_fl ;
3552 struct __anonstruct_afs_156 afs ;
3553};
3554#line 19 "include/linux/nfs_fs_i.h"
3555struct file_lock {
3556 struct file_lock *fl_next ;
3557 struct list_head fl_link ;
3558 struct list_head fl_block ;
3559 fl_owner_t fl_owner ;
3560 unsigned int fl_flags ;
3561 unsigned char fl_type ;
3562 unsigned int fl_pid ;
3563 struct pid *fl_nspid ;
3564 wait_queue_head_t fl_wait ;
3565 struct file *fl_file ;
3566 loff_t fl_start ;
3567 loff_t fl_end ;
3568 struct fasync_struct *fl_fasync ;
3569 unsigned long fl_break_time ;
3570 unsigned long fl_downgrade_time ;
3571 struct file_lock_operations *fl_ops ;
3572 struct lock_manager_operations *fl_lmops ;
3573 union __anonunion_fl_u_155 fl_u ;
3574};
3575#line 1221 "include/linux/fs.h"
3576struct fasync_struct {
3577 spinlock_t fa_lock ;
3578 int magic ;
3579 int fa_fd ;
3580 struct fasync_struct *fa_next ;
3581 struct file *fa_file ;
3582 struct rcu_head fa_rcu ;
3583};
3584#line 1417
3585struct file_system_type;
3586#line 1417
3587struct super_operations;
3588#line 1417
3589struct xattr_handler;
3590#line 1417
3591struct mtd_info;
3592#line 1417 "include/linux/fs.h"
3593struct super_block {
3594 struct list_head s_list ;
3595 dev_t s_dev ;
3596 unsigned char s_dirt ;
3597 unsigned char s_blocksize_bits ;
3598 unsigned long s_blocksize ;
3599 loff_t s_maxbytes ;
3600 struct file_system_type *s_type ;
3601 struct super_operations *s_op ;
3602 struct dquot_operations *dq_op ;
3603 struct quotactl_ops *s_qcop ;
3604 struct export_operations *s_export_op ;
3605 unsigned long s_flags ;
3606 unsigned long s_magic ;
3607 struct dentry *s_root ;
3608 struct rw_semaphore s_umount ;
3609 struct mutex s_lock ;
3610 int s_count ;
3611 atomic_t s_active ;
3612 void *s_security ;
3613 struct xattr_handler **s_xattr ;
3614 struct list_head s_inodes ;
3615 struct hlist_bl_head s_anon ;
3616 struct list_head *s_files ;
3617 struct list_head s_mounts ;
3618 struct list_head s_dentry_lru ;
3619 int s_nr_dentry_unused ;
3620 spinlock_t s_inode_lru_lock ;
3621 struct list_head s_inode_lru ;
3622 int s_nr_inodes_unused ;
3623 struct block_device *s_bdev ;
3624 struct backing_dev_info *s_bdi ;
3625 struct mtd_info *s_mtd ;
3626 struct hlist_node s_instances ;
3627 struct quota_info s_dquot ;
3628 int s_frozen ;
3629 wait_queue_head_t s_wait_unfrozen ;
3630 char s_id[32U] ;
3631 u8 s_uuid[16U] ;
3632 void *s_fs_info ;
3633 unsigned int s_max_links ;
3634 fmode_t s_mode ;
3635 u32 s_time_gran ;
3636 struct mutex s_vfs_rename_mutex ;
3637 char *s_subtype ;
3638 char *s_options ;
3639 struct dentry_operations *s_d_op ;
3640 int cleancache_poolid ;
3641 struct shrinker s_shrink ;
3642 atomic_long_t s_remove_count ;
3643 int s_readonly_remount ;
3644};
3645#line 1563 "include/linux/fs.h"
3646struct fiemap_extent_info {
3647 unsigned int fi_flags ;
3648 unsigned int fi_extents_mapped ;
3649 unsigned int fi_extents_max ;
3650 struct fiemap_extent *fi_extents_start ;
3651};
3652#line 1602 "include/linux/fs.h"
3653struct file_operations {
3654 struct module *owner ;
3655 loff_t (*llseek)(struct file * , loff_t , int ) ;
3656 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3657 ssize_t (*write)(struct file * , char * , size_t , loff_t * ) ;
3658 ssize_t (*aio_read)(struct kiocb * , struct iovec * , unsigned long ,
3659 loff_t ) ;
3660 ssize_t (*aio_write)(struct kiocb * , struct iovec * , unsigned long ,
3661 loff_t ) ;
3662 int (*readdir)(struct file * , void * , int (*)(void * , char * , int ,
3663 loff_t , u64 , unsigned int ) ) ;
3664 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3665 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3666 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3667 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3668 int (*open)(struct inode * , struct file * ) ;
3669 int (*flush)(struct file * , fl_owner_t ) ;
3670 int (*release)(struct inode * , struct file * ) ;
3671 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
3672 int (*aio_fsync)(struct kiocb * , int ) ;
3673 int (*fasync)(int , struct file * , int ) ;
3674 int (*lock)(struct file * , int , struct file_lock * ) ;
3675 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3676 int ) ;
3677 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3678 unsigned long , unsigned long ) ;
3679 int (*check_flags)(int ) ;
3680 int (*flock)(struct file * , int , struct file_lock * ) ;
3681 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3682 unsigned int ) ;
3683 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3684 unsigned int ) ;
3685 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3686 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
3687};
3688#line 1637 "include/linux/fs.h"
3689struct inode_operations {
3690 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3691 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3692 int (*permission)(struct inode * , int ) ;
3693 struct posix_acl *(*get_acl)(struct inode * , int ) ;
3694 int (*readlink)(struct dentry * , char * , int ) ;
3695 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3696 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
3697 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3698 int (*unlink)(struct inode * , struct dentry * ) ;
3699 int (*symlink)(struct inode * , struct dentry * , char * ) ;
3700 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
3701 int (*rmdir)(struct inode * , struct dentry * ) ;
3702 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
3703 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3704 void (*truncate)(struct inode * ) ;
3705 int (*setattr)(struct dentry * , struct iattr * ) ;
3706 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3707 int (*setxattr)(struct dentry * , char * , void * , size_t , int ) ;
3708 ssize_t (*getxattr)(struct dentry * , char * , void * , size_t ) ;
3709 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3710 int (*removexattr)(struct dentry * , char * ) ;
3711 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3712 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
3713};
3714#line 1682 "include/linux/fs.h"
3715struct super_operations {
3716 struct inode *(*alloc_inode)(struct super_block * ) ;
3717 void (*destroy_inode)(struct inode * ) ;
3718 void (*dirty_inode)(struct inode * , int ) ;
3719 int (*write_inode)(struct inode * , struct writeback_control * ) ;
3720 int (*drop_inode)(struct inode * ) ;
3721 void (*evict_inode)(struct inode * ) ;
3722 void (*put_super)(struct super_block * ) ;
3723 void (*write_super)(struct super_block * ) ;
3724 int (*sync_fs)(struct super_block * , int ) ;
3725 int (*freeze_fs)(struct super_block * ) ;
3726 int (*unfreeze_fs)(struct super_block * ) ;
3727 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3728 int (*remount_fs)(struct super_block * , int * , char * ) ;
3729 void (*umount_begin)(struct super_block * ) ;
3730 int (*show_options)(struct seq_file * , struct dentry * ) ;
3731 int (*show_devname)(struct seq_file * , struct dentry * ) ;
3732 int (*show_path)(struct seq_file * , struct dentry * ) ;
3733 int (*show_stats)(struct seq_file * , struct dentry * ) ;
3734 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3735 ssize_t (*quota_write)(struct super_block * , int , char * , size_t ,
3736 loff_t ) ;
3737 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3738 int (*nr_cached_objects)(struct super_block * ) ;
3739 void (*free_cached_objects)(struct super_block * , int ) ;
3740};
3741#line 1834 "include/linux/fs.h"
3742struct file_system_type {
3743 char *name ;
3744 int fs_flags ;
3745 struct dentry *(*mount)(struct file_system_type * , int , char * , void * ) ;
3746 void (*kill_sb)(struct super_block * ) ;
3747 struct module *owner ;
3748 struct file_system_type *next ;
3749 struct hlist_head fs_supers ;
3750 struct lock_class_key s_lock_key ;
3751 struct lock_class_key s_umount_key ;
3752 struct lock_class_key s_vfs_rename_key ;
3753 struct lock_class_key i_lock_key ;
3754 struct lock_class_key i_mutex_key ;
3755 struct lock_class_key i_mutex_dir_key ;
3756};
3757#line 34 "include/linux/poll.h"
3758struct poll_table_struct {
3759 void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
3760 unsigned long _key ;
3761};
3762#line 113 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/bios.h"
3763struct uv_IO_APIC_route_entry {
3764 unsigned char vector ;
3765 unsigned char delivery_mode : 3 ;
3766 unsigned char dest_mode : 1 ;
3767 unsigned char delivery_status : 1 ;
3768 unsigned char polarity : 1 ;
3769 unsigned char __reserved_1 : 1 ;
3770 unsigned char trigger : 1 ;
3771 unsigned char mask : 1 ;
3772 unsigned short __reserved_2 : 15 ;
3773 unsigned int dest ;
3774};
3775#line 66 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/../sgi-gru/gru.h"
3776struct gru_message_queue_desc {
3777 void *mq ;
3778 unsigned long mq_gpa ;
3779 int qlines ;
3780 int interrupt_vector ;
3781 int interrupt_pnode ;
3782 int interrupt_apicid ;
3783};
3784#line 44 "include/linux/aio_abi.h"
3785struct io_event {
3786 __u64 data ;
3787 __u64 obj ;
3788 __s64 res ;
3789 __s64 res2 ;
3790};
3791#line 106 "include/linux/aio_abi.h"
3792struct iovec {
3793 void *iov_base ;
3794 __kernel_size_t iov_len ;
3795};
3796#line 54 "include/linux/uio.h"
3797struct kioctx;
3798#line 55 "include/linux/uio.h"
3799union __anonunion_ki_obj_173 {
3800 void *user ;
3801 struct task_struct *tsk ;
3802};
3803#line 55
3804struct eventfd_ctx;
3805#line 55 "include/linux/uio.h"
3806struct kiocb {
3807 struct list_head ki_run_list ;
3808 unsigned long ki_flags ;
3809 int ki_users ;
3810 unsigned int ki_key ;
3811 struct file *ki_filp ;
3812 struct kioctx *ki_ctx ;
3813 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
3814 ssize_t (*ki_retry)(struct kiocb * ) ;
3815 void (*ki_dtor)(struct kiocb * ) ;
3816 union __anonunion_ki_obj_173 ki_obj ;
3817 __u64 ki_user_data ;
3818 loff_t ki_pos ;
3819 void *private ;
3820 unsigned short ki_opcode ;
3821 size_t ki_nbytes ;
3822 char *ki_buf ;
3823 size_t ki_left ;
3824 struct iovec ki_inline_vec ;
3825 struct iovec *ki_iovec ;
3826 unsigned long ki_nr_segs ;
3827 unsigned long ki_cur_seg ;
3828 struct list_head ki_list ;
3829 struct list_head ki_batch ;
3830 struct eventfd_ctx *ki_eventfd ;
3831};
3832#line 162 "include/linux/aio.h"
3833struct aio_ring_info {
3834 unsigned long mmap_base ;
3835 unsigned long mmap_size ;
3836 struct page **ring_pages ;
3837 spinlock_t ring_lock ;
3838 long nr_pages ;
3839 unsigned int nr ;
3840 unsigned int tail ;
3841 struct page *internal_pages[8U] ;
3842};
3843#line 178 "include/linux/aio.h"
3844struct kioctx {
3845 atomic_t users ;
3846 int dead ;
3847 struct mm_struct *mm ;
3848 unsigned long user_id ;
3849 struct hlist_node list ;
3850 wait_queue_head_t wait ;
3851 spinlock_t ctx_lock ;
3852 int reqs_active ;
3853 struct list_head active_reqs ;
3854 struct list_head run_list ;
3855 unsigned int max_reqs ;
3856 struct aio_ring_info ring_info ;
3857 struct delayed_work wq ;
3858 struct rcu_head rcu_head ;
3859};
3860#line 198 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3861struct xpc_gru_mq_uv {
3862 void *address ;
3863 unsigned int order ;
3864 int irq ;
3865 int mmr_blade ;
3866 unsigned long mmr_offset ;
3867 unsigned long mmr_value ;
3868 int watchlist_num ;
3869 void *gru_mq_desc ;
3870};
3871#line 212 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3872struct xpc_activate_mq_msghdr_uv {
3873 unsigned int gru_msg_hdr ;
3874 short partid ;
3875 u8 act_state ;
3876 u8 type ;
3877 unsigned long rp_ts_jiffies ;
3878};
3879#line 224 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3880struct xpc_activate_mq_msg_uv {
3881 struct xpc_activate_mq_msghdr_uv hdr ;
3882};
3883#line 243 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3884struct xpc_activate_mq_msg_activate_req_uv {
3885 struct xpc_activate_mq_msghdr_uv hdr ;
3886 unsigned long rp_gpa ;
3887 unsigned long heartbeat_gpa ;
3888 unsigned long activate_gru_mq_desc_gpa ;
3889};
3890#line 250 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3891struct xpc_activate_mq_msg_deactivate_req_uv {
3892 struct xpc_activate_mq_msghdr_uv hdr ;
3893 enum xp_retval reason ;
3894};
3895#line 255 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3896struct xpc_activate_mq_msg_chctl_closerequest_uv {
3897 struct xpc_activate_mq_msghdr_uv hdr ;
3898 short ch_number ;
3899 enum xp_retval reason ;
3900};
3901#line 261 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3902struct xpc_activate_mq_msg_chctl_closereply_uv {
3903 struct xpc_activate_mq_msghdr_uv hdr ;
3904 short ch_number ;
3905};
3906#line 266 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3907struct xpc_activate_mq_msg_chctl_openrequest_uv {
3908 struct xpc_activate_mq_msghdr_uv hdr ;
3909 short ch_number ;
3910 short entry_size ;
3911 short local_nentries ;
3912};
3913#line 273 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3914struct xpc_activate_mq_msg_chctl_openreply_uv {
3915 struct xpc_activate_mq_msghdr_uv hdr ;
3916 short ch_number ;
3917 short remote_nentries ;
3918 short local_nentries ;
3919 unsigned long notify_gru_mq_desc_gpa ;
3920};
3921#line 281 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3922struct xpc_activate_mq_msg_chctl_opencomplete_uv {
3923 struct xpc_activate_mq_msghdr_uv hdr ;
3924 short ch_number ;
3925};
3926#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3927union __anonunion_u_178 {
3928 unsigned int gru_msg_hdr ;
3929 struct xpc_fifo_entry_uv next ;
3930};
3931#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3932struct xpc_notify_mq_msghdr_uv {
3933 union __anonunion_u_178 u ;
3934 short partid ;
3935 u8 ch_number ;
3936 u8 size ;
3937 unsigned int msg_slot_number ;
3938};
3939#line 387 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
3940struct xpc_notify_mq_msg_uv {
3941 struct xpc_notify_mq_msghdr_uv hdr ;
3942 unsigned long payload ;
3943};
3944#line 1 "<compiler builtins>"
3945long __builtin_expect(long , long ) ;
3946#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
3947void ldv_spin_lock(void) ;
3948#line 3
3949void ldv_spin_unlock(void) ;
3950#line 4
3951int ldv_spin_trylock(void) ;
3952#line 315 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
3953__inline static int variable_test_bit(int nr , unsigned long volatile *addr )
3954{ int oldbit ;
3955 unsigned long *__cil_tmp4 ;
3956
3957 {
3958#line 319
3959 __cil_tmp4 = (unsigned long *)addr;
3960#line 319
3961 __asm__ volatile ("bt %2,%1\n\tsbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4),
3962 "Ir" (nr));
3963#line 324
3964 return (oldbit);
3965}
3966}
3967#line 50 "include/linux/dynamic_debug.h"
3968extern int __dynamic_dev_dbg(struct _ddebug * , struct device * , char *
3969 , ...) ;
3970#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
3971extern void __bad_percpu_size(void) ;
3972#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
3973extern struct task_struct *current_task ;
3974#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
3975__inline static struct task_struct *get_current(void)
3976{ struct task_struct *pfo_ret__ ;
3977
3978 {
3979#line 14
3980 if (8 == 1) {
3981#line 14
3982 goto case_1;
3983 } else
3984#line 14
3985 if (8 == 2) {
3986#line 14
3987 goto case_2;
3988 } else
3989#line 14
3990 if (8 == 4) {
3991#line 14
3992 goto case_4;
3993 } else
3994#line 14
3995 if (8 == 8) {
3996#line 14
3997 goto case_8;
3998 } else {
3999 {
4000#line 14
4001 goto switch_default;
4002#line 14
4003 if (0) {
4004 case_1:
4005#line 14
4006 __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task));
4007#line 14
4008 goto ldv_2918;
4009 case_2:
4010#line 14
4011 __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
4012#line 14
4013 goto ldv_2918;
4014 case_4:
4015#line 14
4016 __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
4017#line 14
4018 goto ldv_2918;
4019 case_8:
4020#line 14
4021 __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
4022#line 14
4023 goto ldv_2918;
4024 switch_default:
4025 {
4026#line 14
4027 __bad_percpu_size();
4028 }
4029 } else {
4030 switch_break: ;
4031 }
4032 }
4033 }
4034 ldv_2918: ;
4035#line 14
4036 return (pfo_ret__);
4037}
4038}
4039#line 735 "include/linux/cpumask.h"
4040extern unsigned long cpu_bit_bitmap[65U][64U] ;
4041#line 737 "include/linux/cpumask.h"
4042__inline static struct cpumask *get_cpu_mask(unsigned int cpu )
4043{ unsigned long *p ;
4044 unsigned int __cil_tmp3 ;
4045 unsigned int __cil_tmp4 ;
4046 unsigned long __cil_tmp5 ;
4047 unsigned long *__cil_tmp6 ;
4048 unsigned int __cil_tmp7 ;
4049 unsigned long __cil_tmp8 ;
4050 unsigned long __cil_tmp9 ;
4051
4052 {
4053#line 739
4054 __cil_tmp3 = cpu & 63U;
4055#line 739
4056 __cil_tmp4 = __cil_tmp3 + 1U;
4057#line 739
4058 __cil_tmp5 = (unsigned long )__cil_tmp4;
4059#line 739
4060 __cil_tmp6 = (unsigned long *)(& cpu_bit_bitmap);
4061#line 739
4062 p = __cil_tmp6 + __cil_tmp5;
4063#line 740
4064 __cil_tmp7 = cpu / 64U;
4065#line 740
4066 __cil_tmp8 = (unsigned long )__cil_tmp7;
4067#line 740
4068 __cil_tmp9 = - __cil_tmp8;
4069#line 740
4070 p = p + __cil_tmp9;
4071#line 741
4072 return ((struct cpumask *)p);
4073}
4074}
4075#line 32 "include/linux/err.h"
4076__inline static long IS_ERR(void *ptr )
4077{ long tmp ;
4078 unsigned long __cil_tmp3 ;
4079 int __cil_tmp4 ;
4080 long __cil_tmp5 ;
4081
4082 {
4083 {
4084#line 34
4085 __cil_tmp3 = (unsigned long )ptr;
4086#line 34
4087 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
4088#line 34
4089 __cil_tmp5 = (long )__cil_tmp4;
4090#line 34
4091 tmp = __builtin_expect(__cil_tmp5, 0L);
4092 }
4093#line 34
4094 return (tmp);
4095}
4096}
4097#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/cmpxchg.h"
4098extern void __cmpxchg_wrong_size(void) ;
4099#line 15
4100extern void __xadd_wrong_size(void) ;
4101#line 23 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4102__inline static int atomic_read(atomic_t *v )
4103{ int *__cil_tmp2 ;
4104 int volatile *__cil_tmp3 ;
4105 int volatile __cil_tmp4 ;
4106
4107 {
4108 {
4109#line 25
4110 __cil_tmp2 = (int *)v;
4111#line 25
4112 __cil_tmp3 = (int volatile *)__cil_tmp2;
4113#line 25
4114 __cil_tmp4 = *__cil_tmp3;
4115#line 25
4116 return ((int )__cil_tmp4);
4117 }
4118}
4119}
4120#line 35 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4121__inline static void atomic_set(atomic_t *v , int i )
4122{
4123
4124 {
4125#line 37
4126 *((int *)v) = i;
4127#line 38
4128 return;
4129}
4130}
4131#line 93 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4132__inline static void atomic_inc(atomic_t *v )
4133{
4134
4135 {
4136#line 95
4137 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; incl %0": "+m" (*((int *)v)));
4138#line 97
4139 return;
4140}
4141}
4142#line 105 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4143__inline static void atomic_dec(atomic_t *v )
4144{
4145
4146 {
4147#line 107
4148 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; decl %0": "+m" (*((int *)v)));
4149#line 109
4150 return;
4151}
4152}
4153#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4154__inline static int atomic_add_return(int i , atomic_t *v )
4155{ int __ret ;
4156
4157 {
4158#line 182
4159 __ret = i;
4160#line 182
4161 if (4 == 1) {
4162#line 182
4163 goto case_1;
4164 } else
4165#line 182
4166 if (4 == 2) {
4167#line 182
4168 goto case_2;
4169 } else
4170#line 182
4171 if (4 == 4) {
4172#line 182
4173 goto case_4;
4174 } else
4175#line 182
4176 if (4 == 8) {
4177#line 182
4178 goto case_8;
4179 } else {
4180 {
4181#line 182
4182 goto switch_default;
4183#line 182
4184 if (0) {
4185 case_1:
4186#line 182
4187 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; xaddb %b0, %1\n": "+q" (__ret),
4188 "+m" (*((int *)v)): : "memory", "cc");
4189#line 182
4190 goto ldv_5535;
4191 case_2:
4192#line 182
4193 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; xaddw %w0, %1\n": "+r" (__ret),
4194 "+m" (*((int *)v)): : "memory", "cc");
4195#line 182
4196 goto ldv_5535;
4197 case_4:
4198#line 182
4199 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; xaddl %0, %1\n": "+r" (__ret),
4200 "+m" (*((int *)v)): : "memory", "cc");
4201#line 182
4202 goto ldv_5535;
4203 case_8:
4204#line 182
4205 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; xaddq %q0, %1\n": "+r" (__ret),
4206 "+m" (*((int *)v)): : "memory", "cc");
4207#line 182
4208 goto ldv_5535;
4209 switch_default:
4210 {
4211#line 182
4212 __xadd_wrong_size();
4213 }
4214 } else {
4215 switch_break: ;
4216 }
4217 }
4218 }
4219 ldv_5535: ;
4220#line 182
4221 return (__ret + i);
4222}
4223}
4224#line 201 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4225__inline static int atomic_sub_return(int i , atomic_t *v )
4226{ int tmp ;
4227 int __cil_tmp4 ;
4228
4229 {
4230 {
4231#line 203
4232 __cil_tmp4 = - i;
4233#line 203
4234 tmp = atomic_add_return(__cil_tmp4, v);
4235 }
4236#line 203
4237 return (tmp);
4238}
4239}
4240#line 209 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4241__inline static int atomic_cmpxchg(atomic_t *v , int old , int new )
4242{ int __ret ;
4243 int __old ;
4244 int __new ;
4245 u8 volatile *__ptr ;
4246 u16 volatile *__ptr___0 ;
4247 u32 volatile *__ptr___1 ;
4248 u64 volatile *__ptr___2 ;
4249 int *__cil_tmp11 ;
4250 int *__cil_tmp12 ;
4251 int *__cil_tmp13 ;
4252 int *__cil_tmp14 ;
4253
4254 {
4255#line 211
4256 __old = old;
4257#line 211
4258 __new = new;
4259#line 211
4260 if (4 == 1) {
4261#line 211
4262 goto case_1;
4263 } else
4264#line 211
4265 if (4 == 2) {
4266#line 211
4267 goto case_2;
4268 } else
4269#line 211
4270 if (4 == 4) {
4271#line 211
4272 goto case_4;
4273 } else
4274#line 211
4275 if (4 == 8) {
4276#line 211
4277 goto case_8;
4278 } else {
4279 {
4280#line 211
4281 goto switch_default;
4282#line 211
4283 if (0) {
4284 case_1:
4285#line 211
4286 __cil_tmp11 = (int *)v;
4287#line 211
4288 __ptr = (u8 volatile *)__cil_tmp11;
4289#line 211
4290 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgb %2,%1": "=a" (__ret),
4291 "+m" (*__ptr): "q" (__new), "0" (__old): "memory");
4292#line 211
4293 goto ldv_5555;
4294 case_2:
4295#line 211
4296 __cil_tmp12 = (int *)v;
4297#line 211
4298 __ptr___0 = (u16 volatile *)__cil_tmp12;
4299#line 211
4300 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgw %2,%1": "=a" (__ret),
4301 "+m" (*__ptr___0): "r" (__new), "0" (__old): "memory");
4302#line 211
4303 goto ldv_5555;
4304 case_4:
4305#line 211
4306 __cil_tmp13 = (int *)v;
4307#line 211
4308 __ptr___1 = (u32 volatile *)__cil_tmp13;
4309#line 211
4310 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgl %2,%1": "=a" (__ret),
4311 "+m" (*__ptr___1): "r" (__new), "0" (__old): "memory");
4312#line 211
4313 goto ldv_5555;
4314 case_8:
4315#line 211
4316 __cil_tmp14 = (int *)v;
4317#line 211
4318 __ptr___2 = (u64 volatile *)__cil_tmp14;
4319#line 211
4320 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgq %2,%1": "=a" (__ret),
4321 "+m" (*__ptr___2): "r" (__new), "0" (__old): "memory");
4322#line 211
4323 goto ldv_5555;
4324 switch_default:
4325 {
4326#line 211
4327 __cmpxchg_wrong_size();
4328 }
4329 } else {
4330 switch_break: ;
4331 }
4332 }
4333 }
4334 ldv_5555: ;
4335#line 211
4336 return (__ret);
4337}
4338}
4339#line 228 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
4340__inline static int __atomic_add_unless(atomic_t *v , int a , int u )
4341{ int c ;
4342 int old ;
4343 long tmp ;
4344 long tmp___0 ;
4345 atomic_t *__cil_tmp8 ;
4346 int __cil_tmp9 ;
4347 long __cil_tmp10 ;
4348 int __cil_tmp11 ;
4349 int __cil_tmp12 ;
4350 long __cil_tmp13 ;
4351
4352 {
4353 {
4354#line 231
4355 __cil_tmp8 = (atomic_t *)v;
4356#line 231
4357 c = atomic_read(__cil_tmp8);
4358 }
4359 ldv_5584:
4360 {
4361#line 233
4362 __cil_tmp9 = c == u;
4363#line 233
4364 __cil_tmp10 = (long )__cil_tmp9;
4365#line 233
4366 tmp = __builtin_expect(__cil_tmp10, 0L);
4367 }
4368#line 233
4369 if (tmp != 0L) {
4370#line 234
4371 goto ldv_5583;
4372 } else {
4373
4374 }
4375 {
4376#line 235
4377 __cil_tmp11 = c + a;
4378#line 235
4379 old = atomic_cmpxchg(v, c, __cil_tmp11);
4380#line 236
4381 __cil_tmp12 = old == c;
4382#line 236
4383 __cil_tmp13 = (long )__cil_tmp12;
4384#line 236
4385 tmp___0 = __builtin_expect(__cil_tmp13, 1L);
4386 }
4387#line 236
4388 if (tmp___0 != 0L) {
4389#line 237
4390 goto ldv_5583;
4391 } else {
4392
4393 }
4394#line 238
4395 c = old;
4396#line 239
4397 goto ldv_5584;
4398 ldv_5583: ;
4399#line 240
4400 return (c);
4401}
4402}
4403#line 15 "include/linux/atomic.h"
4404__inline static int atomic_add_unless(atomic_t *v , int a , int u )
4405{ int tmp ;
4406
4407 {
4408 {
4409#line 17
4410 tmp = __atomic_add_unless(v, a, u);
4411 }
4412#line 17
4413 return (tmp != u);
4414}
4415}
4416#line 82 "include/linux/thread_info.h"
4417__inline static int test_ti_thread_flag(struct thread_info *ti , int flag )
4418{ int tmp ;
4419 unsigned long __cil_tmp4 ;
4420 unsigned long __cil_tmp5 ;
4421 __u32 *__cil_tmp6 ;
4422 unsigned long volatile *__cil_tmp7 ;
4423
4424 {
4425 {
4426#line 84
4427 __cil_tmp4 = (unsigned long )ti;
4428#line 84
4429 __cil_tmp5 = __cil_tmp4 + 16;
4430#line 84
4431 __cil_tmp6 = (__u32 *)__cil_tmp5;
4432#line 84
4433 __cil_tmp7 = (unsigned long volatile *)__cil_tmp6;
4434#line 84
4435 tmp = variable_test_bit(flag, __cil_tmp7);
4436 }
4437#line 84
4438 return (tmp);
4439}
4440}
4441#line 93 "include/linux/spinlock.h"
4442extern void __raw_spin_lock_init(raw_spinlock_t * , char * , struct lock_class_key * ) ;
4443#line 22 "include/linux/spinlock_api_smp.h"
4444extern void _raw_spin_lock(raw_spinlock_t * ) ;
4445#line 39
4446extern void _raw_spin_unlock(raw_spinlock_t * ) ;
4447#line 43
4448extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long ) ;
4449#line 272 "include/linux/spinlock.h"
4450__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
4451{
4452
4453 {
4454#line 274
4455 return ((struct raw_spinlock *)lock);
4456}
4457}
4458#line 283 "include/linux/spinlock.h"
4459__inline static void ldv_spin_lock_1(spinlock_t *lock )
4460{ struct raw_spinlock *__cil_tmp2 ;
4461
4462 {
4463 {
4464#line 285
4465 __cil_tmp2 = (struct raw_spinlock *)lock;
4466#line 285
4467 _raw_spin_lock(__cil_tmp2);
4468 }
4469#line 286
4470 return;
4471}
4472}
4473#line 283
4474__inline static void spin_lock(spinlock_t *lock ) ;
4475#line 323 "include/linux/spinlock.h"
4476__inline static void ldv_spin_unlock_5(spinlock_t *lock )
4477{ struct raw_spinlock *__cil_tmp2 ;
4478
4479 {
4480 {
4481#line 325
4482 __cil_tmp2 = (struct raw_spinlock *)lock;
4483#line 325
4484 _raw_spin_unlock(__cil_tmp2);
4485 }
4486#line 326
4487 return;
4488}
4489}
4490#line 323
4491__inline static void spin_unlock(spinlock_t *lock ) ;
4492#line 350 "include/linux/spinlock.h"
4493__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags )
4494{ struct raw_spinlock *__cil_tmp5 ;
4495
4496 {
4497 {
4498#line 352
4499 __cil_tmp5 = (struct raw_spinlock *)lock;
4500#line 352
4501 _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
4502 }
4503#line 353
4504 return;
4505}
4506}
4507#line 350
4508__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
4509#line 79 "include/linux/wait.h"
4510extern void __init_waitqueue_head(wait_queue_head_t * , char * , struct lock_class_key * ) ;
4511#line 155
4512extern void __wake_up(wait_queue_head_t * , unsigned int , int , void * ) ;
4513#line 584
4514extern void prepare_to_wait(wait_queue_head_t * , wait_queue_t * , int ) ;
4515#line 585
4516extern void prepare_to_wait_exclusive(wait_queue_head_t * , wait_queue_t * , int ) ;
4517#line 586
4518extern void finish_wait(wait_queue_head_t * , wait_queue_t * ) ;
4519#line 587
4520extern void abort_exclusive_wait(wait_queue_head_t * , wait_queue_t * , unsigned int ,
4521 void * ) ;
4522#line 589
4523extern int autoremove_wake_function(wait_queue_t * , unsigned int , int , void * ) ;
4524#line 73 "include/linux/completion.h"
4525__inline static void init_completion(struct completion *x )
4526{ struct lock_class_key __key ;
4527 unsigned long __cil_tmp3 ;
4528 unsigned long __cil_tmp4 ;
4529 wait_queue_head_t *__cil_tmp5 ;
4530
4531 {
4532 {
4533#line 75
4534 *((unsigned int *)x) = 0U;
4535#line 76
4536 __cil_tmp3 = (unsigned long )x;
4537#line 76
4538 __cil_tmp4 = __cil_tmp3 + 8;
4539#line 76
4540 __cil_tmp5 = (wait_queue_head_t *)__cil_tmp4;
4541#line 76
4542 __init_waitqueue_head(__cil_tmp5, "&x->wait", & __key);
4543 }
4544#line 78
4545 return;
4546}
4547}
4548#line 79
4549extern void wait_for_completion(struct completion * ) ;
4550#line 91
4551extern void complete(struct completion * ) ;
4552#line 82 "include/linux/jiffies.h"
4553extern unsigned long volatile jiffies ;
4554#line 91 "include/linux/timer.h"
4555extern void init_timer_key(struct timer_list * , char * , struct lock_class_key * ) ;
4556#line 275
4557extern void add_timer(struct timer_list * ) ;
4558#line 280
4559extern int del_timer_sync(struct timer_list * ) ;
4560#line 953 "include/linux/sysctl.h"
4561extern int proc_dointvec_minmax(struct ctl_table * , int , void * , size_t * , loff_t * ) ;
4562#line 1094
4563extern struct ctl_table_header *register_sysctl_table(struct ctl_table * ) ;
4564#line 1098
4565extern void unregister_sysctl_table(struct ctl_table_header * ) ;
4566#line 161 "include/linux/slab.h"
4567extern void kfree(void * ) ;
4568#line 220 "include/linux/slub_def.h"
4569extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
4570#line 223
4571void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
4572#line 353 "include/linux/slab.h"
4573__inline static void *kzalloc(size_t size , gfp_t flags ) ;
4574#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
4575extern void *__VERIFIER_nondet_pointer(void) ;
4576#line 11
4577void ldv_check_alloc_flags(gfp_t flags ) ;
4578#line 12
4579void ldv_check_alloc_nonatomic(void) ;
4580#line 14
4581struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
4582#line 695 "include/linux/device.h"
4583extern int dev_set_name(struct device * , char * , ...) ;
4584#line 892
4585extern int dev_err(struct device * , char * , ...) ;
4586#line 894
4587extern int dev_warn(struct device * , char * , ...) ;
4588#line 898
4589extern int _dev_info(struct device * , char * , ...) ;
4590#line 10 "include/asm-generic/delay.h"
4591extern void ___udelay(unsigned long ) ;
4592#line 47 "include/linux/delay.h"
4593extern unsigned long msleep_interruptible(unsigned int ) ;
4594#line 47 "include/linux/reboot.h"
4595extern int register_reboot_notifier(struct notifier_block * ) ;
4596#line 48
4597extern int unregister_reboot_notifier(struct notifier_block * ) ;
4598#line 16 "include/linux/kdebug.h"
4599extern int register_die_notifier(struct notifier_block * ) ;
4600#line 17
4601extern int unregister_die_notifier(struct notifier_block * ) ;
4602#line 362 "include/linux/sched.h"
4603extern void schedule(void) ;
4604#line 1920
4605extern int set_cpus_allowed_ptr(struct task_struct * , struct cpumask * ) ;
4606#line 2194
4607extern int wake_up_process(struct task_struct * ) ;
4608#line 2563 "include/linux/sched.h"
4609__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag )
4610{ int tmp ;
4611 unsigned long __cil_tmp4 ;
4612 unsigned long __cil_tmp5 ;
4613 void *__cil_tmp6 ;
4614 struct thread_info *__cil_tmp7 ;
4615
4616 {
4617 {
4618#line 2565
4619 __cil_tmp4 = (unsigned long )tsk;
4620#line 2565
4621 __cil_tmp5 = __cil_tmp4 + 8;
4622#line 2565
4623 __cil_tmp6 = *((void **)__cil_tmp5);
4624#line 2565
4625 __cil_tmp7 = (struct thread_info *)__cil_tmp6;
4626#line 2565
4627 tmp = test_ti_thread_flag(__cil_tmp7, flag);
4628 }
4629#line 2565
4630 return (tmp);
4631}
4632}
4633#line 2589 "include/linux/sched.h"
4634__inline static int signal_pending(struct task_struct *p )
4635{ int tmp ;
4636 long tmp___0 ;
4637 int __cil_tmp4 ;
4638 long __cil_tmp5 ;
4639
4640 {
4641 {
4642#line 2591
4643 tmp = test_tsk_thread_flag(p, 2);
4644#line 2591
4645 __cil_tmp4 = tmp != 0;
4646#line 2591
4647 __cil_tmp5 = (long )__cil_tmp4;
4648#line 2591
4649 tmp___0 = __builtin_expect(__cil_tmp5, 0L);
4650 }
4651#line 2591
4652 return ((int )tmp___0);
4653}
4654}
4655#line 8 "include/linux/kthread.h"
4656extern struct task_struct *kthread_create_on_node(int (*)(void * ) , void * , int ,
4657 char * , ...) ;
4658#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv.h"
4659extern int is_uv_system(void) ;
4660#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
4661extern void xpc_set_interface(void (*)(int ) , void (*)(int ) , enum xp_retval (*)(short ,
4662 int ,
4663 u32 ,
4664 void * ,
4665 u16 ) ,
4666 enum xp_retval (*)(short , int , u32 , void * , u16 ,
4667 void (*)(enum xp_retval , short ,
4668 int , void * ) , void * ) ,
4669 void (*)(short , int , void * ) , enum xp_retval (*)(short ,
4670 void * ) ) ;
4671#line 302
4672extern void xpc_clear_interface(void) ;
4673#line 336
4674extern short xp_max_npartitions ;
4675#line 337
4676extern short xp_partition_id ;
4677#line 877 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4678struct device *xpc_part ;
4679#line 878
4680struct device *xpc_chan ;
4681#line 879 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4682struct xpc_arch_operations xpc_arch_ops ;
4683#line 880
4684int xpc_disengage_timelimit ;
4685#line 881 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4686int xpc_disengage_timedout ;
4687#line 882 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4688int xpc_activate_IRQ_rcvd ;
4689#line 883
4690spinlock_t xpc_activate_IRQ_rcvd_lock ;
4691#line 884
4692wait_queue_head_t xpc_activate_IRQ_wq ;
4693#line 885
4694void *xpc_kzalloc_cacheline_aligned(size_t size , gfp_t flags , void **base ) ;
4695#line 886
4696void xpc_activate_partition(struct xpc_partition *part ) ;
4697#line 887
4698void xpc_activate_kthreads(struct xpc_channel *ch , int needed ) ;
4699#line 888
4700void xpc_create_kthreads(struct xpc_channel *ch , int needed , int ignore_disconnecting ) ;
4701#line 889
4702void xpc_disconnect_wait(int ch_number ) ;
4703#line 896
4704int xpc_init_uv(void) ;
4705#line 897
4706void xpc_exit_uv(void) ;
4707#line 900
4708int xpc_exiting ;
4709#line 904
4710struct xpc_partition *xpc_partitions ;
4711#line 906
4712int xpc_setup_rsvd_page(void) ;
4713#line 907
4714void xpc_teardown_rsvd_page(void) ;
4715#line 909
4716int xpc_partition_disengaged(struct xpc_partition *part ) ;
4717#line 910
4718enum xp_retval xpc_mark_partition_active(struct xpc_partition *part ) ;
4719#line 911
4720void xpc_mark_partition_inactive(struct xpc_partition *part ) ;
4721#line 912
4722void xpc_discovery(void) ;
4723#line 916
4724void xpc_deactivate_partition(int line , struct xpc_partition *part , enum xp_retval reason ) ;
4725#line 918
4726enum xp_retval xpc_initiate_partid_to_nasids(short partid , void *nasid_mask ) ;
4727#line 921
4728void xpc_initiate_connect(int ch_number ) ;
4729#line 922
4730void xpc_initiate_disconnect(int ch_number ) ;
4731#line 924
4732enum xp_retval xpc_initiate_send(short partid , int ch_number , u32 flags , void *payload ,
4733 u16 payload_size ) ;
4734#line 925
4735enum xp_retval xpc_initiate_send_notify(short partid , int ch_number , u32 flags ,
4736 void *payload , u16 payload_size , void (*func)(enum xp_retval ,
4737 short ,
4738 int ,
4739 void * ) ,
4740 void *key ) ;
4741#line 927
4742void xpc_initiate_received(short partid , int ch_number , void *payload ) ;
4743#line 928
4744void xpc_process_sent_chctl_flags(struct xpc_partition *part ) ;
4745#line 929
4746void xpc_connected_callout(struct xpc_channel *ch ) ;
4747#line 930
4748void xpc_deliver_payload(struct xpc_channel *ch ) ;
4749#line 931
4750void xpc_disconnect_channel(int line , struct xpc_channel *ch , enum xp_retval reason ,
4751 unsigned long *irq_flags ) ;
4752#line 933
4753void xpc_disconnect_callout(struct xpc_channel *ch , enum xp_retval reason ) ;
4754#line 937 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4755__inline static void xpc_wakeup_channel_mgr(struct xpc_partition *part )
4756{ int tmp ;
4757 unsigned long __cil_tmp3 ;
4758 unsigned long __cil_tmp4 ;
4759 atomic_t *__cil_tmp5 ;
4760 unsigned long __cil_tmp6 ;
4761 unsigned long __cil_tmp7 ;
4762 wait_queue_head_t *__cil_tmp8 ;
4763 void *__cil_tmp9 ;
4764
4765 {
4766 {
4767#line 939
4768 __cil_tmp3 = (unsigned long )part;
4769#line 939
4770 __cil_tmp4 = __cil_tmp3 + 480;
4771#line 939
4772 __cil_tmp5 = (atomic_t *)__cil_tmp4;
4773#line 939
4774 tmp = atomic_add_return(1, __cil_tmp5);
4775 }
4776#line 939
4777 if (tmp == 1) {
4778 {
4779#line 940
4780 __cil_tmp6 = (unsigned long )part;
4781#line 940
4782 __cil_tmp7 = __cil_tmp6 + 488;
4783#line 940
4784 __cil_tmp8 = (wait_queue_head_t *)__cil_tmp7;
4785#line 940
4786 __cil_tmp9 = (void *)0;
4787#line 940
4788 __wake_up(__cil_tmp8, 3U, 1, __cil_tmp9);
4789 }
4790 } else {
4791
4792 }
4793#line 941
4794 return;
4795}
4796}
4797#line 948 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4798__inline static void xpc_msgqueue_ref(struct xpc_channel *ch )
4799{ unsigned long __cil_tmp2 ;
4800 unsigned long __cil_tmp3 ;
4801 atomic_t *__cil_tmp4 ;
4802
4803 {
4804 {
4805#line 950
4806 __cil_tmp2 = (unsigned long )ch;
4807#line 950
4808 __cil_tmp3 = __cil_tmp2 + 100;
4809#line 950
4810 __cil_tmp4 = (atomic_t *)__cil_tmp3;
4811#line 950
4812 atomic_inc(__cil_tmp4);
4813 }
4814#line 951
4815 return;
4816}
4817}
4818#line 954 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4819__inline static void xpc_msgqueue_deref(struct xpc_channel *ch )
4820{ s32 refs ;
4821 int tmp ;
4822 unsigned long __cil_tmp4 ;
4823 unsigned long __cil_tmp5 ;
4824 atomic_t *__cil_tmp6 ;
4825 short __cil_tmp7 ;
4826 unsigned long __cil_tmp8 ;
4827 struct xpc_partition *__cil_tmp9 ;
4828
4829 {
4830 {
4831#line 956
4832 __cil_tmp4 = (unsigned long )ch;
4833#line 956
4834 __cil_tmp5 = __cil_tmp4 + 100;
4835#line 956
4836 __cil_tmp6 = (atomic_t *)__cil_tmp5;
4837#line 956
4838 tmp = atomic_sub_return(1, __cil_tmp6);
4839#line 956
4840 refs = tmp;
4841 }
4842#line 959
4843 if (refs == 0) {
4844 {
4845#line 960
4846 __cil_tmp7 = *((short *)ch);
4847#line 960
4848 __cil_tmp8 = (unsigned long )__cil_tmp7;
4849#line 960
4850 __cil_tmp9 = xpc_partitions + __cil_tmp8;
4851#line 960
4852 xpc_wakeup_channel_mgr(__cil_tmp9);
4853 }
4854 } else {
4855
4856 }
4857#line 961
4858 return;
4859}
4860}
4861#line 971 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4862__inline static void xpc_part_deref(struct xpc_partition *part )
4863{ s32 refs ;
4864 int tmp ;
4865 unsigned long __cil_tmp4 ;
4866 unsigned long __cil_tmp5 ;
4867 atomic_t *__cil_tmp6 ;
4868 unsigned long __cil_tmp7 ;
4869 unsigned long __cil_tmp8 ;
4870 u8 __cil_tmp9 ;
4871 unsigned int __cil_tmp10 ;
4872 unsigned long __cil_tmp11 ;
4873 unsigned long __cil_tmp12 ;
4874 wait_queue_head_t *__cil_tmp13 ;
4875 void *__cil_tmp14 ;
4876
4877 {
4878 {
4879#line 973
4880 __cil_tmp4 = (unsigned long )part;
4881#line 973
4882 __cil_tmp5 = __cil_tmp4 + 360;
4883#line 973
4884 __cil_tmp6 = (atomic_t *)__cil_tmp5;
4885#line 973
4886 tmp = atomic_sub_return(1, __cil_tmp6);
4887#line 973
4888 refs = tmp;
4889 }
4890#line 976
4891 if (refs == 0) {
4892 {
4893#line 976
4894 __cil_tmp7 = (unsigned long )part;
4895#line 976
4896 __cil_tmp8 = __cil_tmp7 + 264;
4897#line 976
4898 __cil_tmp9 = *((u8 *)__cil_tmp8);
4899#line 976
4900 __cil_tmp10 = (unsigned int )__cil_tmp9;
4901#line 976
4902 if (__cil_tmp10 == 2U) {
4903 {
4904#line 977
4905 __cil_tmp11 = (unsigned long )part;
4906#line 977
4907 __cil_tmp12 = __cil_tmp11 + 272;
4908#line 977
4909 __cil_tmp13 = (wait_queue_head_t *)__cil_tmp12;
4910#line 977
4911 __cil_tmp14 = (void *)0;
4912#line 977
4913 __wake_up(__cil_tmp13, 3U, 1, __cil_tmp14);
4914 }
4915 } else {
4916
4917 }
4918 }
4919 } else {
4920
4921 }
4922#line 978
4923 return;
4924}
4925}
4926#line 981 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
4927__inline static int xpc_part_ref(struct xpc_partition *part )
4928{ int setup ;
4929 unsigned long __cil_tmp3 ;
4930 unsigned long __cil_tmp4 ;
4931 atomic_t *__cil_tmp5 ;
4932 unsigned long __cil_tmp6 ;
4933 unsigned long __cil_tmp7 ;
4934 u8 __cil_tmp8 ;
4935 unsigned int __cil_tmp9 ;
4936
4937 {
4938 {
4939#line 985
4940 __cil_tmp3 = (unsigned long )part;
4941#line 985
4942 __cil_tmp4 = __cil_tmp3 + 360;
4943#line 985
4944 __cil_tmp5 = (atomic_t *)__cil_tmp4;
4945#line 985
4946 atomic_inc(__cil_tmp5);
4947#line 986
4948 __cil_tmp6 = (unsigned long )part;
4949#line 986
4950 __cil_tmp7 = __cil_tmp6 + 264;
4951#line 986
4952 __cil_tmp8 = *((u8 *)__cil_tmp7);
4953#line 986
4954 __cil_tmp9 = (unsigned int )__cil_tmp8;
4955#line 986
4956 setup = __cil_tmp9 == 1U;
4957 }
4958#line 987
4959 if (setup == 0) {
4960 {
4961#line 988
4962 xpc_part_deref(part);
4963 }
4964 } else {
4965
4966 }
4967#line 990
4968 return (setup);
4969}
4970}
4971#line 73 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
4972struct device_driver xpc_dbg_name =
4973#line 73 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
4974 {"xpc", (struct bus_type *)0, (struct module *)0, (char *)0, (_Bool)0,
4975 (struct of_device_id *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
4976 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0, (int (*)(struct device * ))0,
4977 (struct attribute_group **)0, (struct dev_pm_ops *)0, (struct driver_private *)0};
4978#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
4979struct device xpc_part_dbg_subname =
4980#line 77
4981 {(struct device *)0, (struct device_private *)0, {(char *)0, {(struct list_head *)0,
4982 (struct list_head *)0},
4983 (struct kobject *)0, (struct kset *)0,
4984 (struct kobj_type *)0, (struct sysfs_dirent *)0,
4985 {{0}}, (unsigned char)0, (unsigned char)0,
4986 (unsigned char)0, (unsigned char)0,
4987 (unsigned char)0}, "", (struct device_type *)0,
4988 {{0}, {{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0, {(struct lock_class *)0,
4989 (struct lock_class *)0},
4990 (char *)0, 0, 0UL}}}}, {(struct list_head *)0,
4991 (struct list_head *)0},
4992 (struct task_struct *)0, (char *)0, (void *)0, {(struct lock_class_key *)0,
4993 {(struct lock_class *)0,
4994 (struct lock_class *)0},
4995 (char *)0, 0,
4996 0UL}}, (struct bus_type *)0,
4997 & xpc_dbg_name, (void *)0, {{0}, (unsigned char)0, (unsigned char)0, (_Bool)0,
4998 (_Bool)0, (_Bool)0, {{{{{0U}}, 0U, 0U, (void *)0,
4999 {(struct lock_class_key *)0,
5000 {(struct lock_class *)0, (struct lock_class *)0},
5001 (char *)0, 0, 0UL}}}},
5002 {(struct list_head *)0, (struct list_head *)0}, {0U,
5003 {{{{{{0U}},
5004 0U,
5005 0U,
5006 (void *)0,
5007 {(struct lock_class_key *)0,
5008 {(struct lock_class *)0,
5009 (struct lock_class *)0},
5010 (char *)0,
5011 0,
5012 0UL}}}},
5013 {(struct list_head *)0,
5014 (struct list_head *)0}}},
5015 (struct wakeup_source *)0, (_Bool)0, {{(struct list_head *)0,
5016 (struct list_head *)0},
5017 0UL, (struct tvec_base *)0,
5018 (void (*)(unsigned long ))0,
5019 0UL, 0, 0, (void *)0,
5020 {(char)0, (char)0,
5021 (char)0, (char)0,
5022 (char)0, (char)0,
5023 (char)0, (char)0,
5024 (char)0, (char)0,
5025 (char)0, (char)0,
5026 (char)0, (char)0,
5027 (char)0, (char)0},
5028 {(struct lock_class_key *)0,
5029 {(struct lock_class *)0,
5030 (struct lock_class *)0},
5031 (char *)0,
5032 0, 0UL}}, 0UL,
5033 {{0L}, {(struct list_head *)0, (struct list_head *)0},
5034 (void (*)(struct work_struct * ))0, {(struct lock_class_key *)0,
5035 {(struct lock_class *)0,
5036 (struct lock_class *)0},
5037 (char *)0,
5038 0, 0UL}}, {{{{{{0U}},
5039 0U,
5040 0U,
5041 (void *)0,
5042 {(struct lock_class_key *)0,
5043 {(struct lock_class *)0,
5044 (struct lock_class *)0},
5045 (char *)0,
5046 0,
5047 0UL}}}},
5048 {(struct list_head *)0,
5049 (struct list_head *)0}},
5050 {0}, {0}, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5051 (unsigned char)0, (unsigned char)0, (unsigned char)0,
5052 (unsigned char)0, (unsigned char)0, (unsigned char)0,
5053 (unsigned char)0, 0, 0, 0, 0, 0UL, 0UL, 0UL, 0UL,
5054 {0LL}, 0LL, (struct dev_pm_qos_request *)0, (struct pm_subsys_data *)0,
5055 (struct pm_qos_raints *)0}, (struct dev_pm_domain *)0,
5056 0, (u64 *)0, 0ULL, (struct device_dma_parameters *)0, {(struct list_head *)0,
5057 (struct list_head *)0},
5058 (struct dma_coherent_mem *)0, {(void *)0, (struct dma_map_ops *)0, (void *)0},
5059 (struct device_node *)0, 0U, 0U, {{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
5060 {(struct lock_class *)0,
5061 (struct lock_class *)0},
5062 (char *)0,
5063 0, 0UL}}}}, {(struct list_head *)0,
5064 (struct list_head *)0},
5065 {(void *)0, {(struct list_head *)0, (struct list_head *)0}, {{0}}}, (struct class *)0,
5066 (struct attribute_group **)0, (void (*)(struct device * ))0};
5067#line 82 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5068struct device xpc_chan_dbg_subname =
5069#line 82
5070 {(struct device *)0, (struct device_private *)0, {(char *)0, {(struct list_head *)0,
5071 (struct list_head *)0},
5072 (struct kobject *)0, (struct kset *)0,
5073 (struct kobj_type *)0, (struct sysfs_dirent *)0,
5074 {{0}}, (unsigned char)0, (unsigned char)0,
5075 (unsigned char)0, (unsigned char)0,
5076 (unsigned char)0}, "", (struct device_type *)0,
5077 {{0}, {{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0, {(struct lock_class *)0,
5078 (struct lock_class *)0},
5079 (char *)0, 0, 0UL}}}}, {(struct list_head *)0,
5080 (struct list_head *)0},
5081 (struct task_struct *)0, (char *)0, (void *)0, {(struct lock_class_key *)0,
5082 {(struct lock_class *)0,
5083 (struct lock_class *)0},
5084 (char *)0, 0,
5085 0UL}}, (struct bus_type *)0,
5086 & xpc_dbg_name, (void *)0, {{0}, (unsigned char)0, (unsigned char)0, (_Bool)0,
5087 (_Bool)0, (_Bool)0, {{{{{0U}}, 0U, 0U, (void *)0,
5088 {(struct lock_class_key *)0,
5089 {(struct lock_class *)0, (struct lock_class *)0},
5090 (char *)0, 0, 0UL}}}},
5091 {(struct list_head *)0, (struct list_head *)0}, {0U,
5092 {{{{{{0U}},
5093 0U,
5094 0U,
5095 (void *)0,
5096 {(struct lock_class_key *)0,
5097 {(struct lock_class *)0,
5098 (struct lock_class *)0},
5099 (char *)0,
5100 0,
5101 0UL}}}},
5102 {(struct list_head *)0,
5103 (struct list_head *)0}}},
5104 (struct wakeup_source *)0, (_Bool)0, {{(struct list_head *)0,
5105 (struct list_head *)0},
5106 0UL, (struct tvec_base *)0,
5107 (void (*)(unsigned long ))0,
5108 0UL, 0, 0, (void *)0,
5109 {(char)0, (char)0,
5110 (char)0, (char)0,
5111 (char)0, (char)0,
5112 (char)0, (char)0,
5113 (char)0, (char)0,
5114 (char)0, (char)0,
5115 (char)0, (char)0,
5116 (char)0, (char)0},
5117 {(struct lock_class_key *)0,
5118 {(struct lock_class *)0,
5119 (struct lock_class *)0},
5120 (char *)0,
5121 0, 0UL}}, 0UL,
5122 {{0L}, {(struct list_head *)0, (struct list_head *)0},
5123 (void (*)(struct work_struct * ))0, {(struct lock_class_key *)0,
5124 {(struct lock_class *)0,
5125 (struct lock_class *)0},
5126 (char *)0,
5127 0, 0UL}}, {{{{{{0U}},
5128 0U,
5129 0U,
5130 (void *)0,
5131 {(struct lock_class_key *)0,
5132 {(struct lock_class *)0,
5133 (struct lock_class *)0},
5134 (char *)0,
5135 0,
5136 0UL}}}},
5137 {(struct list_head *)0,
5138 (struct list_head *)0}},
5139 {0}, {0}, (unsigned char)0, (unsigned char)0, (unsigned char)0,
5140 (unsigned char)0, (unsigned char)0, (unsigned char)0,
5141 (unsigned char)0, (unsigned char)0, (unsigned char)0,
5142 (unsigned char)0, 0, 0, 0, 0, 0UL, 0UL, 0UL, 0UL,
5143 {0LL}, 0LL, (struct dev_pm_qos_request *)0, (struct pm_subsys_data *)0,
5144 (struct pm_qos_raints *)0}, (struct dev_pm_domain *)0,
5145 0, (u64 *)0, 0ULL, (struct device_dma_parameters *)0, {(struct list_head *)0,
5146 (struct list_head *)0},
5147 (struct dma_coherent_mem *)0, {(void *)0, (struct dma_map_ops *)0, (void *)0},
5148 (struct device_node *)0, 0U, 0U, {{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0,
5149 {(struct lock_class *)0,
5150 (struct lock_class *)0},
5151 (char *)0,
5152 0, 0UL}}}}, {(struct list_head *)0,
5153 (struct list_head *)0},
5154 {(void *)0, {(struct list_head *)0, (struct list_head *)0}, {{0}}}, (struct class *)0,
5155 (struct attribute_group **)0, (void (*)(struct device * ))0};
5156#line 87 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5157struct device *xpc_part = & xpc_part_dbg_subname;
5158#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5159struct device *xpc_chan = & xpc_chan_dbg_subname;
5160#line 94 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5161static int xpc_hb_interval = 5;
5162#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5163static int xpc_hb_min_interval = 1;
5164#line 96 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5165static int xpc_hb_max_interval = 10;
5166#line 98 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5167static int xpc_hb_check_interval = 20;
5168#line 99 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5169static int xpc_hb_check_min_interval = 10;
5170#line 100 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5171static int xpc_hb_check_max_interval = 120;
5172#line 102 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5173int xpc_disengage_timelimit = 90;
5174#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5175static int xpc_disengage_min_timelimit ;
5176#line 104 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5177static int xpc_disengage_max_timelimit = 120;
5178#line 106 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5179static ctl_table xpc_sys_xpc_hb_dir[3U] = { {"hb_interval", (void *)(& xpc_hb_interval), 4, (umode_t )420U, (struct ctl_table *)0,
5180 & proc_dointvec_minmax, (struct ctl_table_poll *)0, (void *)(& xpc_hb_min_interval),
5181 (void *)(& xpc_hb_max_interval)},
5182 {"hb_check_interval", (void *)(& xpc_hb_check_interval), 4, (umode_t )420U, (struct ctl_table *)0,
5183 & proc_dointvec_minmax, (struct ctl_table_poll *)0, (void *)(& xpc_hb_check_min_interval),
5184 (void *)(& xpc_hb_check_max_interval)},
5185 {(char *)0, (void *)0, 0, (unsigned short)0, (struct ctl_table *)0, (proc_handler *)0,
5186 (struct ctl_table_poll *)0, (void *)0, (void *)0}};
5187#line 125 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5188static ctl_table xpc_sys_xpc_dir[3U] = { {"hb", (void *)0, 0, (umode_t )365U, (struct ctl_table *)(& xpc_sys_xpc_hb_dir),
5189 (proc_handler *)0, (struct ctl_table_poll *)0, (void *)0, (void *)0},
5190 {"disengage_timelimit", (void *)(& xpc_disengage_timelimit), 4, (umode_t )420U,
5191 (struct ctl_table *)0, & proc_dointvec_minmax, (struct ctl_table_poll *)0, (void *)(& xpc_disengage_min_timelimit),
5192 (void *)(& xpc_disengage_max_timelimit)},
5193 {(char *)0, (void *)0, 0, (unsigned short)0, (struct ctl_table *)0, (proc_handler *)0,
5194 (struct ctl_table_poll *)0, (void *)0, (void *)0}};
5195#line 140 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5196static ctl_table xpc_sys_dir[2U] = { {"xpc", (void *)0, 0, (umode_t )365U, (struct ctl_table *)(& xpc_sys_xpc_dir),
5197 (proc_handler *)0, (struct ctl_table_poll *)0, (void *)0, (void *)0},
5198 {(char *)0, (void *)0, 0, (unsigned short)0, (struct ctl_table *)0, (proc_handler *)0,
5199 (struct ctl_table_poll *)0, (void *)0, (void *)0}};
5200#line 147 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5201static struct ctl_table_header *xpc_sysctl ;
5202#line 154 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5203spinlock_t xpc_activate_IRQ_rcvd_lock = {{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
5204 {(struct lock_class *)0,
5205 (struct lock_class *)0},
5206 "xpc_activate_IRQ_rcvd_lock",
5207 0, 0UL}}}};
5208#line 157 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5209wait_queue_head_t xpc_activate_IRQ_wq = {{{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
5210 {(struct lock_class *)0,
5211 (struct lock_class *)0},
5212 "xpc_activate_IRQ_wq.lock",
5213 0, 0UL}}}},
5214 {& xpc_activate_IRQ_wq.task_list, & xpc_activate_IRQ_wq.task_list}};
5215#line 159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5216static unsigned long xpc_hb_check_timeout ;
5217#line 160 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5218static struct timer_list xpc_hb_timer ;
5219#line 163 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5220static struct completion xpc_hb_checker_exited = {0U, {{{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
5221 {(struct lock_class *)0,
5222 (struct lock_class *)0},
5223 "(xpc_hb_checker_exited).wait.lock",
5224 0, 0UL}}}},
5225 {& xpc_hb_checker_exited.wait.task_list, & xpc_hb_checker_exited.wait.task_list}}};
5226#line 166 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5227static struct completion xpc_discovery_exited = {0U, {{{{{{0U}}, 3735899821U, 4294967295U, (void *)0xffffffffffffffffUL, {(struct lock_class_key *)0,
5228 {(struct lock_class *)0,
5229 (struct lock_class *)0},
5230 "(xpc_discovery_exited).wait.lock",
5231 0, 0UL}}}},
5232 {& xpc_discovery_exited.wait.task_list, & xpc_discovery_exited.wait.task_list}}};
5233#line 168
5234static void xpc_kthread_waitmsgs(struct xpc_partition *part , struct xpc_channel *ch ) ;
5235#line 170
5236static int xpc_system_reboot(struct notifier_block *nb , unsigned long event , void *unused ) ;
5237#line 171 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5238static struct notifier_block xpc_reboot_notifier = {& xpc_system_reboot, (struct notifier_block *)0, 0};
5239#line 175
5240static int xpc_system_die(struct notifier_block *nb , unsigned long event , void *unused ) ;
5241#line 176 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5242static struct notifier_block xpc_die_notifier = {& xpc_system_die, (struct notifier_block *)0, 0};
5243#line 186 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5244static void xpc_timeout_partition_disengage(unsigned long data )
5245{ struct xpc_partition *part ;
5246
5247 {
5248 {
5249#line 188
5250 part = (struct xpc_partition *)data;
5251#line 192
5252 xpc_partition_disengaged(part);
5253 }
5254#line 193
5255 return;
5256}
5257}
5258#line 204 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5259static void xpc_hb_beater(unsigned long dummy )
5260{ long __cil_tmp6 ;
5261 long __cil_tmp7 ;
5262 long __cil_tmp8 ;
5263 void *__cil_tmp9 ;
5264 unsigned long __cil_tmp10 ;
5265 unsigned long __cil_tmp11 ;
5266 int *__cil_tmp12 ;
5267 int __cil_tmp13 ;
5268 int __cil_tmp14 ;
5269 unsigned long __cil_tmp15 ;
5270
5271 {
5272 {
5273#line 206
5274 (*(xpc_arch_ops.increment_heartbeat))();
5275 }
5276 {
5277#line 208
5278 __cil_tmp6 = (long )xpc_hb_check_timeout;
5279#line 208
5280 __cil_tmp7 = (long )jiffies;
5281#line 208
5282 __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
5283#line 208
5284 if (__cil_tmp8 >= 0L) {
5285 {
5286#line 209
5287 __cil_tmp9 = (void *)0;
5288#line 209
5289 __wake_up(& xpc_activate_IRQ_wq, 1U, 1, __cil_tmp9);
5290 }
5291 } else {
5292
5293 }
5294 }
5295 {
5296#line 211
5297 __cil_tmp10 = (unsigned long )(& xpc_hb_timer) + 16;
5298#line 211
5299 __cil_tmp11 = (unsigned long )jiffies;
5300#line 211
5301 __cil_tmp12 = & xpc_hb_interval;
5302#line 211
5303 __cil_tmp13 = *__cil_tmp12;
5304#line 211
5305 __cil_tmp14 = __cil_tmp13 * 250;
5306#line 211
5307 __cil_tmp15 = (unsigned long )__cil_tmp14;
5308#line 211
5309 *((unsigned long *)__cil_tmp10) = __cil_tmp15 + __cil_tmp11;
5310#line 212
5311 add_timer(& xpc_hb_timer);
5312 }
5313#line 213
5314 return;
5315}
5316}
5317#line 216 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5318static void xpc_start_hb_beater(void)
5319{ struct lock_class_key __key ;
5320 unsigned long __cil_tmp2 ;
5321
5322 {
5323 {
5324#line 218
5325 (*(xpc_arch_ops.heartbeat_init))();
5326#line 219
5327 init_timer_key(& xpc_hb_timer, "&xpc_hb_timer", & __key);
5328#line 220
5329 __cil_tmp2 = (unsigned long )(& xpc_hb_timer) + 32;
5330#line 220
5331 *((void (**)(unsigned long ))__cil_tmp2) = & xpc_hb_beater;
5332#line 221
5333 xpc_hb_beater(0UL);
5334 }
5335#line 222
5336 return;
5337}
5338}
5339#line 225 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5340static void xpc_stop_hb_beater(void)
5341{
5342
5343 {
5344 {
5345#line 227
5346 del_timer_sync(& xpc_hb_timer);
5347#line 228
5348 (*(xpc_arch_ops.heartbeat_exit))();
5349 }
5350#line 229
5351 return;
5352}
5353}
5354#line 236 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5355static void xpc_check_remote_hb(void)
5356{ struct xpc_partition *part ;
5357 short partid ;
5358 enum xp_retval ret ;
5359 int __cil_tmp4 ;
5360 int __cil_tmp5 ;
5361 unsigned long __cil_tmp6 ;
5362 unsigned long __cil_tmp7 ;
5363 unsigned long __cil_tmp8 ;
5364 u8 __cil_tmp9 ;
5365 unsigned int __cil_tmp10 ;
5366 unsigned long __cil_tmp11 ;
5367 unsigned long __cil_tmp12 ;
5368 u8 __cil_tmp13 ;
5369 unsigned int __cil_tmp14 ;
5370 unsigned int __cil_tmp15 ;
5371 int __cil_tmp16 ;
5372 int __cil_tmp17 ;
5373 int __cil_tmp18 ;
5374 int __cil_tmp19 ;
5375 int __cil_tmp20 ;
5376
5377 {
5378#line 242
5379 partid = (short)0;
5380#line 242
5381 goto ldv_19166;
5382 ldv_19165: ;
5383#line 244
5384 if (xpc_exiting != 0) {
5385#line 245
5386 goto ldv_19163;
5387 } else {
5388
5389 }
5390 {
5391#line 247
5392 __cil_tmp4 = (int )xp_partition_id;
5393#line 247
5394 __cil_tmp5 = (int )partid;
5395#line 247
5396 if (__cil_tmp5 == __cil_tmp4) {
5397#line 248
5398 goto ldv_19164;
5399 } else {
5400
5401 }
5402 }
5403#line 250
5404 __cil_tmp6 = (unsigned long )partid;
5405#line 250
5406 part = xpc_partitions + __cil_tmp6;
5407 {
5408#line 252
5409 __cil_tmp7 = (unsigned long )part;
5410#line 252
5411 __cil_tmp8 = __cil_tmp7 + 112;
5412#line 252
5413 __cil_tmp9 = *((u8 *)__cil_tmp8);
5414#line 252
5415 __cil_tmp10 = (unsigned int )__cil_tmp9;
5416#line 252
5417 if (__cil_tmp10 == 0U) {
5418#line 254
5419 goto ldv_19164;
5420 } else {
5421 {
5422#line 252
5423 __cil_tmp11 = (unsigned long )part;
5424#line 252
5425 __cil_tmp12 = __cil_tmp11 + 112;
5426#line 252
5427 __cil_tmp13 = *((u8 *)__cil_tmp12);
5428#line 252
5429 __cil_tmp14 = (unsigned int )__cil_tmp13;
5430#line 252
5431 if (__cil_tmp14 == 4U) {
5432#line 254
5433 goto ldv_19164;
5434 } else {
5435
5436 }
5437 }
5438 }
5439 }
5440 {
5441#line 257
5442 ret = (*(xpc_arch_ops.get_remote_heartbeat))(part);
5443 }
5444 {
5445#line 258
5446 __cil_tmp15 = (unsigned int )ret;
5447#line 258
5448 if (__cil_tmp15 != 0U) {
5449 {
5450#line 259
5451 __cil_tmp16 = (int )259;
5452#line 259
5453 xpc_deactivate_partition(__cil_tmp16, part, ret);
5454 }
5455 } else {
5456
5457 }
5458 }
5459 ldv_19164:
5460#line 242
5461 __cil_tmp17 = (int )partid;
5462#line 242
5463 __cil_tmp18 = __cil_tmp17 + 1;
5464#line 242
5465 partid = (short )__cil_tmp18;
5466 ldv_19166: ;
5467 {
5468#line 242
5469 __cil_tmp19 = (int )xp_max_npartitions;
5470#line 242
5471 __cil_tmp20 = (int )partid;
5472#line 242
5473 if (__cil_tmp20 < __cil_tmp19) {
5474#line 243
5475 goto ldv_19165;
5476 } else {
5477#line 245
5478 goto ldv_19163;
5479 }
5480 }
5481 ldv_19163: ;
5482#line 247
5483 return;
5484}
5485}
5486#line 268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5487static int xpc_hb_checker(void *ignore )
5488{ int force_IRQ ;
5489 struct cpumask *tmp ;
5490 struct task_struct *tmp___0 ;
5491 struct _ddebug descriptor ;
5492 long tmp___1 ;
5493 struct _ddebug descriptor___0 ;
5494 long tmp___2 ;
5495 struct _ddebug descriptor___1 ;
5496 long tmp___3 ;
5497 int __ret ;
5498 wait_queue_t __wait ;
5499 struct task_struct *tmp___4 ;
5500 struct task_struct *tmp___5 ;
5501 int tmp___6 ;
5502 struct _ddebug descriptor___2 ;
5503 long tmp___7 ;
5504 unsigned long __cil_tmp30 ;
5505 int *__cil_tmp31 ;
5506 int __cil_tmp32 ;
5507 int __cil_tmp33 ;
5508 unsigned long __cil_tmp34 ;
5509 struct _ddebug *__cil_tmp35 ;
5510 unsigned long __cil_tmp36 ;
5511 unsigned long __cil_tmp37 ;
5512 unsigned long __cil_tmp38 ;
5513 unsigned long __cil_tmp39 ;
5514 unsigned long __cil_tmp40 ;
5515 unsigned long __cil_tmp41 ;
5516 unsigned char __cil_tmp42 ;
5517 long __cil_tmp43 ;
5518 long __cil_tmp44 ;
5519 struct device *__cil_tmp45 ;
5520 unsigned int __cil_tmp46 ;
5521 unsigned int __cil_tmp47 ;
5522 unsigned int __cil_tmp48 ;
5523 int __cil_tmp49 ;
5524 long __cil_tmp50 ;
5525 long __cil_tmp51 ;
5526 long __cil_tmp52 ;
5527 unsigned long __cil_tmp53 ;
5528 int *__cil_tmp54 ;
5529 int __cil_tmp55 ;
5530 int __cil_tmp56 ;
5531 unsigned long __cil_tmp57 ;
5532 struct _ddebug *__cil_tmp58 ;
5533 unsigned long __cil_tmp59 ;
5534 unsigned long __cil_tmp60 ;
5535 unsigned long __cil_tmp61 ;
5536 unsigned long __cil_tmp62 ;
5537 unsigned long __cil_tmp63 ;
5538 unsigned long __cil_tmp64 ;
5539 unsigned char __cil_tmp65 ;
5540 long __cil_tmp66 ;
5541 long __cil_tmp67 ;
5542 struct device *__cil_tmp68 ;
5543 struct _ddebug *__cil_tmp69 ;
5544 unsigned long __cil_tmp70 ;
5545 unsigned long __cil_tmp71 ;
5546 unsigned long __cil_tmp72 ;
5547 unsigned long __cil_tmp73 ;
5548 unsigned long __cil_tmp74 ;
5549 unsigned long __cil_tmp75 ;
5550 unsigned char __cil_tmp76 ;
5551 long __cil_tmp77 ;
5552 long __cil_tmp78 ;
5553 struct device *__cil_tmp79 ;
5554 long __cil_tmp80 ;
5555 long __cil_tmp81 ;
5556 long __cil_tmp82 ;
5557 wait_queue_t *__cil_tmp83 ;
5558 unsigned long __cil_tmp84 ;
5559 unsigned long __cil_tmp85 ;
5560 unsigned long __cil_tmp86 ;
5561 unsigned long __cil_tmp87 ;
5562 unsigned long __cil_tmp88 ;
5563 unsigned long __cil_tmp89 ;
5564 unsigned long __cil_tmp90 ;
5565 long __cil_tmp91 ;
5566 long __cil_tmp92 ;
5567 long __cil_tmp93 ;
5568 struct _ddebug *__cil_tmp94 ;
5569 unsigned long __cil_tmp95 ;
5570 unsigned long __cil_tmp96 ;
5571 unsigned long __cil_tmp97 ;
5572 unsigned long __cil_tmp98 ;
5573 unsigned long __cil_tmp99 ;
5574 unsigned long __cil_tmp100 ;
5575 unsigned char __cil_tmp101 ;
5576 long __cil_tmp102 ;
5577 long __cil_tmp103 ;
5578 struct device *__cil_tmp104 ;
5579
5580 {
5581 {
5582#line 270
5583 force_IRQ = 0;
5584#line 274
5585 tmp = get_cpu_mask(0U);
5586#line 274
5587 tmp___0 = get_current();
5588#line 274
5589 set_cpus_allowed_ptr(tmp___0, tmp);
5590#line 277
5591 __cil_tmp30 = (unsigned long )jiffies;
5592#line 277
5593 __cil_tmp31 = & xpc_hb_check_interval;
5594#line 277
5595 __cil_tmp32 = *__cil_tmp31;
5596#line 277
5597 __cil_tmp33 = __cil_tmp32 * 250;
5598#line 277
5599 __cil_tmp34 = (unsigned long )__cil_tmp33;
5600#line 277
5601 xpc_hb_check_timeout = __cil_tmp34 + __cil_tmp30;
5602#line 278
5603 xpc_start_hb_beater();
5604 }
5605#line 280
5606 goto ldv_19200;
5607 ldv_19199:
5608 {
5609#line 282
5610 __cil_tmp35 = & descriptor;
5611#line 282
5612 *((char **)__cil_tmp35) = "xpc";
5613#line 282
5614 __cil_tmp36 = (unsigned long )(& descriptor) + 8;
5615#line 282
5616 *((char **)__cil_tmp36) = "xpc_hb_checker";
5617#line 282
5618 __cil_tmp37 = (unsigned long )(& descriptor) + 16;
5619#line 282
5620 *((char **)__cil_tmp37) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
5621#line 282
5622 __cil_tmp38 = (unsigned long )(& descriptor) + 24;
5623#line 282
5624 *((char **)__cil_tmp38) = "woke up with %d ticks rem; %d IRQs have been received\n";
5625#line 282
5626 __cil_tmp39 = (unsigned long )(& descriptor) + 32;
5627#line 282
5628 *((unsigned int *)__cil_tmp39) = 285U;
5629#line 282
5630 __cil_tmp40 = (unsigned long )(& descriptor) + 35;
5631#line 282
5632 *((unsigned char *)__cil_tmp40) = (unsigned char)0;
5633#line 282
5634 __cil_tmp41 = (unsigned long )(& descriptor) + 35;
5635#line 282
5636 __cil_tmp42 = *((unsigned char *)__cil_tmp41);
5637#line 282
5638 __cil_tmp43 = (long )__cil_tmp42;
5639#line 282
5640 __cil_tmp44 = __cil_tmp43 & 1L;
5641#line 282
5642 tmp___1 = __builtin_expect(__cil_tmp44, 0L);
5643 }
5644#line 282
5645 if (tmp___1 != 0L) {
5646 {
5647#line 282
5648 __cil_tmp45 = (struct device *)xpc_part;
5649#line 282
5650 __cil_tmp46 = (unsigned int )jiffies;
5651#line 282
5652 __cil_tmp47 = (unsigned int )xpc_hb_check_timeout;
5653#line 282
5654 __cil_tmp48 = __cil_tmp47 - __cil_tmp46;
5655#line 282
5656 __cil_tmp49 = (int )__cil_tmp48;
5657#line 282
5658 __dynamic_dev_dbg(& descriptor, __cil_tmp45, "woke up with %d ticks rem; %d IRQs have been received\n",
5659 __cil_tmp49, xpc_activate_IRQ_rcvd);
5660 }
5661 } else {
5662
5663 }
5664 {
5665#line 288
5666 __cil_tmp50 = (long )xpc_hb_check_timeout;
5667#line 288
5668 __cil_tmp51 = (long )jiffies;
5669#line 288
5670 __cil_tmp52 = __cil_tmp51 - __cil_tmp50;
5671#line 288
5672 if (__cil_tmp52 >= 0L) {
5673 {
5674#line 289
5675 __cil_tmp53 = (unsigned long )jiffies;
5676#line 289
5677 __cil_tmp54 = & xpc_hb_check_interval;
5678#line 289
5679 __cil_tmp55 = *__cil_tmp54;
5680#line 289
5681 __cil_tmp56 = __cil_tmp55 * 250;
5682#line 289
5683 __cil_tmp57 = (unsigned long )__cil_tmp56;
5684#line 289
5685 xpc_hb_check_timeout = __cil_tmp57 + __cil_tmp53;
5686#line 292
5687 __cil_tmp58 = & descriptor___0;
5688#line 292
5689 *((char **)__cil_tmp58) = "xpc";
5690#line 292
5691 __cil_tmp59 = (unsigned long )(& descriptor___0) + 8;
5692#line 292
5693 *((char **)__cil_tmp59) = "xpc_hb_checker";
5694#line 292
5695 __cil_tmp60 = (unsigned long )(& descriptor___0) + 16;
5696#line 292
5697 *((char **)__cil_tmp60) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
5698#line 292
5699 __cil_tmp61 = (unsigned long )(& descriptor___0) + 24;
5700#line 292
5701 *((char **)__cil_tmp61) = "checking remote heartbeats\n";
5702#line 292
5703 __cil_tmp62 = (unsigned long )(& descriptor___0) + 32;
5704#line 292
5705 *((unsigned int *)__cil_tmp62) = 292U;
5706#line 292
5707 __cil_tmp63 = (unsigned long )(& descriptor___0) + 35;
5708#line 292
5709 *((unsigned char *)__cil_tmp63) = (unsigned char)0;
5710#line 292
5711 __cil_tmp64 = (unsigned long )(& descriptor___0) + 35;
5712#line 292
5713 __cil_tmp65 = *((unsigned char *)__cil_tmp64);
5714#line 292
5715 __cil_tmp66 = (long )__cil_tmp65;
5716#line 292
5717 __cil_tmp67 = __cil_tmp66 & 1L;
5718#line 292
5719 tmp___2 = __builtin_expect(__cil_tmp67, 0L);
5720 }
5721#line 292
5722 if (tmp___2 != 0L) {
5723 {
5724#line 292
5725 __cil_tmp68 = (struct device *)xpc_part;
5726#line 292
5727 __dynamic_dev_dbg(& descriptor___0, __cil_tmp68, "checking remote heartbeats\n");
5728 }
5729 } else {
5730
5731 }
5732 {
5733#line 293
5734 xpc_check_remote_hb();
5735 }
5736 } else {
5737
5738 }
5739 }
5740#line 304
5741 if (xpc_activate_IRQ_rcvd > 0) {
5742#line 304
5743 goto _L;
5744 } else
5745#line 304
5746 if (force_IRQ != 0) {
5747 _L:
5748 {
5749#line 305
5750 force_IRQ = 0;
5751#line 306
5752 __cil_tmp69 = & descriptor___1;
5753#line 306
5754 *((char **)__cil_tmp69) = "xpc";
5755#line 306
5756 __cil_tmp70 = (unsigned long )(& descriptor___1) + 8;
5757#line 306
5758 *((char **)__cil_tmp70) = "xpc_hb_checker";
5759#line 306
5760 __cil_tmp71 = (unsigned long )(& descriptor___1) + 16;
5761#line 306
5762 *((char **)__cil_tmp71) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
5763#line 306
5764 __cil_tmp72 = (unsigned long )(& descriptor___1) + 24;
5765#line 306
5766 *((char **)__cil_tmp72) = "processing activate IRQs received\n";
5767#line 306
5768 __cil_tmp73 = (unsigned long )(& descriptor___1) + 32;
5769#line 306
5770 *((unsigned int *)__cil_tmp73) = 307U;
5771#line 306
5772 __cil_tmp74 = (unsigned long )(& descriptor___1) + 35;
5773#line 306
5774 *((unsigned char *)__cil_tmp74) = (unsigned char)0;
5775#line 306
5776 __cil_tmp75 = (unsigned long )(& descriptor___1) + 35;
5777#line 306
5778 __cil_tmp76 = *((unsigned char *)__cil_tmp75);
5779#line 306
5780 __cil_tmp77 = (long )__cil_tmp76;
5781#line 306
5782 __cil_tmp78 = __cil_tmp77 & 1L;
5783#line 306
5784 tmp___3 = __builtin_expect(__cil_tmp78, 0L);
5785 }
5786#line 306
5787 if (tmp___3 != 0L) {
5788 {
5789#line 306
5790 __cil_tmp79 = (struct device *)xpc_part;
5791#line 306
5792 __dynamic_dev_dbg(& descriptor___1, __cil_tmp79, "processing activate IRQs received\n");
5793 }
5794 } else {
5795
5796 }
5797 {
5798#line 308
5799 (*(xpc_arch_ops.process_activate_IRQ_rcvd))();
5800 }
5801 } else {
5802
5803 }
5804#line 312
5805 __ret = 0;
5806 {
5807#line 312
5808 __cil_tmp80 = (long )xpc_hb_check_timeout;
5809#line 312
5810 __cil_tmp81 = (long )jiffies;
5811#line 312
5812 __cil_tmp82 = __cil_tmp81 - __cil_tmp80;
5813#line 312
5814 if (__cil_tmp82 < 0L) {
5815#line 312
5816 if (xpc_activate_IRQ_rcvd <= 0) {
5817#line 312
5818 if (xpc_exiting == 0) {
5819 {
5820#line 312
5821 tmp___4 = get_current();
5822#line 312
5823 __cil_tmp83 = & __wait;
5824#line 312
5825 *((unsigned int *)__cil_tmp83) = 0U;
5826#line 312
5827 __cil_tmp84 = (unsigned long )(& __wait) + 8;
5828#line 312
5829 *((void **)__cil_tmp84) = (void *)tmp___4;
5830#line 312
5831 __cil_tmp85 = (unsigned long )(& __wait) + 16;
5832#line 312
5833 *((int (**)(wait_queue_t * , unsigned int , int , void * ))__cil_tmp85) = & autoremove_wake_function;
5834#line 312
5835 __cil_tmp86 = (unsigned long )(& __wait) + 24;
5836#line 312
5837 __cil_tmp87 = (unsigned long )(& __wait) + 24;
5838#line 312
5839 *((struct list_head **)__cil_tmp86) = (struct list_head *)__cil_tmp87;
5840#line 312
5841 __cil_tmp88 = 24 + 8;
5842#line 312
5843 __cil_tmp89 = (unsigned long )(& __wait) + __cil_tmp88;
5844#line 312
5845 __cil_tmp90 = (unsigned long )(& __wait) + 24;
5846#line 312
5847 *((struct list_head **)__cil_tmp89) = (struct list_head *)__cil_tmp90;
5848 }
5849 ldv_19197:
5850 {
5851#line 312
5852 prepare_to_wait(& xpc_activate_IRQ_wq, & __wait, 1);
5853 }
5854 {
5855#line 312
5856 __cil_tmp91 = (long )xpc_hb_check_timeout;
5857#line 312
5858 __cil_tmp92 = (long )jiffies;
5859#line 312
5860 __cil_tmp93 = __cil_tmp92 - __cil_tmp91;
5861#line 312
5862 if (__cil_tmp93 >= 0L) {
5863#line 312
5864 goto ldv_19195;
5865 } else
5866#line 312
5867 if (xpc_activate_IRQ_rcvd > 0) {
5868#line 312
5869 goto ldv_19195;
5870 } else
5871#line 312
5872 if (xpc_exiting != 0) {
5873#line 312
5874 goto ldv_19195;
5875 } else {
5876
5877 }
5878 }
5879 {
5880#line 312
5881 tmp___5 = get_current();
5882#line 312
5883 tmp___6 = signal_pending(tmp___5);
5884 }
5885#line 312
5886 if (tmp___6 == 0) {
5887 {
5888#line 312
5889 schedule();
5890 }
5891#line 312
5892 goto ldv_19196;
5893 } else {
5894
5895 }
5896#line 312
5897 __ret = -512;
5898#line 312
5899 goto ldv_19195;
5900 ldv_19196: ;
5901#line 312
5902 goto ldv_19197;
5903 ldv_19195:
5904 {
5905#line 312
5906 finish_wait(& xpc_activate_IRQ_wq, & __wait);
5907 }
5908 } else {
5909
5910 }
5911 } else {
5912
5913 }
5914 } else {
5915
5916 }
5917 }
5918 ldv_19200: ;
5919#line 280
5920 if (xpc_exiting == 0) {
5921#line 281
5922 goto ldv_19199;
5923 } else {
5924#line 283
5925 goto ldv_19201;
5926 }
5927 ldv_19201:
5928 {
5929#line 319
5930 xpc_stop_hb_beater();
5931#line 321
5932 __cil_tmp94 = & descriptor___2;
5933#line 321
5934 *((char **)__cil_tmp94) = "xpc";
5935#line 321
5936 __cil_tmp95 = (unsigned long )(& descriptor___2) + 8;
5937#line 321
5938 *((char **)__cil_tmp95) = "xpc_hb_checker";
5939#line 321
5940 __cil_tmp96 = (unsigned long )(& descriptor___2) + 16;
5941#line 321
5942 *((char **)__cil_tmp96) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
5943#line 321
5944 __cil_tmp97 = (unsigned long )(& descriptor___2) + 24;
5945#line 321
5946 *((char **)__cil_tmp97) = "heartbeat checker is exiting\n";
5947#line 321
5948 __cil_tmp98 = (unsigned long )(& descriptor___2) + 32;
5949#line 321
5950 *((unsigned int *)__cil_tmp98) = 321U;
5951#line 321
5952 __cil_tmp99 = (unsigned long )(& descriptor___2) + 35;
5953#line 321
5954 *((unsigned char *)__cil_tmp99) = (unsigned char)0;
5955#line 321
5956 __cil_tmp100 = (unsigned long )(& descriptor___2) + 35;
5957#line 321
5958 __cil_tmp101 = *((unsigned char *)__cil_tmp100);
5959#line 321
5960 __cil_tmp102 = (long )__cil_tmp101;
5961#line 321
5962 __cil_tmp103 = __cil_tmp102 & 1L;
5963#line 321
5964 tmp___7 = __builtin_expect(__cil_tmp103, 0L);
5965 }
5966#line 321
5967 if (tmp___7 != 0L) {
5968 {
5969#line 321
5970 __cil_tmp104 = (struct device *)xpc_part;
5971#line 321
5972 __dynamic_dev_dbg(& descriptor___2, __cil_tmp104, "heartbeat checker is exiting\n");
5973 }
5974 } else {
5975
5976 }
5977 {
5978#line 324
5979 complete(& xpc_hb_checker_exited);
5980 }
5981#line 325
5982 return (0);
5983}
5984}
5985#line 334 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
5986static int xpc_initiate_discovery(void *ignore )
5987{ struct _ddebug descriptor ;
5988 long tmp ;
5989 struct _ddebug *__cil_tmp4 ;
5990 unsigned long __cil_tmp5 ;
5991 unsigned long __cil_tmp6 ;
5992 unsigned long __cil_tmp7 ;
5993 unsigned long __cil_tmp8 ;
5994 unsigned long __cil_tmp9 ;
5995 unsigned long __cil_tmp10 ;
5996 unsigned char __cil_tmp11 ;
5997 long __cil_tmp12 ;
5998 long __cil_tmp13 ;
5999 struct device *__cil_tmp14 ;
6000
6001 {
6002 {
6003#line 336
6004 xpc_discovery();
6005#line 338
6006 __cil_tmp4 = & descriptor;
6007#line 338
6008 *((char **)__cil_tmp4) = "xpc";
6009#line 338
6010 __cil_tmp5 = (unsigned long )(& descriptor) + 8;
6011#line 338
6012 *((char **)__cil_tmp5) = "xpc_initiate_discovery";
6013#line 338
6014 __cil_tmp6 = (unsigned long )(& descriptor) + 16;
6015#line 338
6016 *((char **)__cil_tmp6) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
6017#line 338
6018 __cil_tmp7 = (unsigned long )(& descriptor) + 24;
6019#line 338
6020 *((char **)__cil_tmp7) = "discovery thread is exiting\n";
6021#line 338
6022 __cil_tmp8 = (unsigned long )(& descriptor) + 32;
6023#line 338
6024 *((unsigned int *)__cil_tmp8) = 338U;
6025#line 338
6026 __cil_tmp9 = (unsigned long )(& descriptor) + 35;
6027#line 338
6028 *((unsigned char *)__cil_tmp9) = (unsigned char)0;
6029#line 338
6030 __cil_tmp10 = (unsigned long )(& descriptor) + 35;
6031#line 338
6032 __cil_tmp11 = *((unsigned char *)__cil_tmp10);
6033#line 338
6034 __cil_tmp12 = (long )__cil_tmp11;
6035#line 338
6036 __cil_tmp13 = __cil_tmp12 & 1L;
6037#line 338
6038 tmp = __builtin_expect(__cil_tmp13, 0L);
6039 }
6040#line 338
6041 if (tmp != 0L) {
6042 {
6043#line 338
6044 __cil_tmp14 = (struct device *)xpc_part;
6045#line 338
6046 __dynamic_dev_dbg(& descriptor, __cil_tmp14, "discovery thread is exiting\n");
6047 }
6048 } else {
6049
6050 }
6051 {
6052#line 341
6053 complete(& xpc_discovery_exited);
6054 }
6055#line 342
6056 return (0);
6057}
6058}
6059#line 358 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
6060static void xpc_channel_mgr(struct xpc_partition *part )
6061{ int __ret ;
6062 wait_queue_t __wait ;
6063 struct task_struct *tmp ;
6064 int tmp___0 ;
6065 int tmp___1 ;
6066 int tmp___2 ;
6067 struct task_struct *tmp___3 ;
6068 int tmp___4 ;
6069 int tmp___5 ;
6070 int tmp___6 ;
6071 int tmp___7 ;
6072 int tmp___8 ;
6073 int tmp___9 ;
6074 unsigned long __cil_tmp15 ;
6075 unsigned long __cil_tmp16 ;
6076 atomic_t *__cil_tmp17 ;
6077 unsigned long __cil_tmp18 ;
6078 unsigned long __cil_tmp19 ;
6079 atomic_t *__cil_tmp20 ;
6080 atomic_t *__cil_tmp21 ;
6081 unsigned long __cil_tmp22 ;
6082 unsigned long __cil_tmp23 ;
6083 u64 __cil_tmp24 ;
6084 unsigned long __cil_tmp25 ;
6085 unsigned long __cil_tmp26 ;
6086 u8 __cil_tmp27 ;
6087 unsigned int __cil_tmp28 ;
6088 unsigned long __cil_tmp29 ;
6089 unsigned long __cil_tmp30 ;
6090 atomic_t *__cil_tmp31 ;
6091 atomic_t *__cil_tmp32 ;
6092 wait_queue_t *__cil_tmp33 ;
6093 unsigned long __cil_tmp34 ;
6094 unsigned long __cil_tmp35 ;
6095 unsigned long __cil_tmp36 ;
6096 unsigned long __cil_tmp37 ;
6097 unsigned long __cil_tmp38 ;
6098 unsigned long __cil_tmp39 ;
6099 unsigned long __cil_tmp40 ;
6100 unsigned long __cil_tmp41 ;
6101 unsigned long __cil_tmp42 ;
6102 wait_queue_head_t *__cil_tmp43 ;
6103 unsigned long __cil_tmp44 ;
6104 unsigned long __cil_tmp45 ;
6105 atomic_t *__cil_tmp46 ;
6106 atomic_t *__cil_tmp47 ;
6107 unsigned long __cil_tmp48 ;
6108 unsigned long __cil_tmp49 ;
6109 u64 __cil_tmp50 ;
6110 unsigned long __cil_tmp51 ;
6111 unsigned long __cil_tmp52 ;
6112 u8 __cil_tmp53 ;
6113 unsigned int __cil_tmp54 ;
6114 unsigned long __cil_tmp55 ;
6115 unsigned long __cil_tmp56 ;
6116 atomic_t *__cil_tmp57 ;
6117 atomic_t *__cil_tmp58 ;
6118 unsigned long __cil_tmp59 ;
6119 unsigned long __cil_tmp60 ;
6120 wait_queue_head_t *__cil_tmp61 ;
6121 unsigned long __cil_tmp62 ;
6122 unsigned long __cil_tmp63 ;
6123 atomic_t *__cil_tmp64 ;
6124 unsigned long __cil_tmp65 ;
6125 unsigned long __cil_tmp66 ;
6126 u8 __cil_tmp67 ;
6127 unsigned int __cil_tmp68 ;
6128 unsigned long __cil_tmp69 ;
6129 unsigned long __cil_tmp70 ;
6130 atomic_t *__cil_tmp71 ;
6131 atomic_t *__cil_tmp72 ;
6132
6133 {
6134#line 360
6135 goto ldv_19218;
6136 ldv_19217:
6137 {
6138#line 364
6139 xpc_process_sent_chctl_flags(part);
6140#line 379
6141 __cil_tmp15 = (unsigned long )part;
6142#line 379
6143 __cil_tmp16 = __cil_tmp15 + 480;
6144#line 379
6145 __cil_tmp17 = (atomic_t *)__cil_tmp16;
6146#line 379
6147 atomic_dec(__cil_tmp17);
6148#line 380
6149 __ret = 0;
6150#line 380
6151 __cil_tmp18 = (unsigned long )part;
6152#line 380
6153 __cil_tmp19 = __cil_tmp18 + 480;
6154#line 380
6155 __cil_tmp20 = (atomic_t *)__cil_tmp19;
6156#line 380
6157 __cil_tmp21 = (atomic_t *)__cil_tmp20;
6158#line 380
6159 tmp___5 = atomic_read(__cil_tmp21);
6160 }
6161#line 380
6162 if (tmp___5 <= 0) {
6163 {
6164#line 380
6165 __cil_tmp22 = (unsigned long )part;
6166#line 380
6167 __cil_tmp23 = __cil_tmp22 + 384;
6168#line 380
6169 __cil_tmp24 = *((u64 *)__cil_tmp23);
6170#line 380
6171 if (__cil_tmp24 == 0ULL) {
6172 {
6173#line 380
6174 __cil_tmp25 = (unsigned long )part;
6175#line 380
6176 __cil_tmp26 = __cil_tmp25 + 112;
6177#line 380
6178 __cil_tmp27 = *((u8 *)__cil_tmp26);
6179#line 380
6180 __cil_tmp28 = (unsigned int )__cil_tmp27;
6181#line 380
6182 if (__cil_tmp28 != 4U) {
6183#line 380
6184 goto _L;
6185 } else {
6186 {
6187#line 380
6188 __cil_tmp29 = (unsigned long )part;
6189#line 380
6190 __cil_tmp30 = __cil_tmp29 + 368;
6191#line 380
6192 __cil_tmp31 = (atomic_t *)__cil_tmp30;
6193#line 380
6194 __cil_tmp32 = (atomic_t *)__cil_tmp31;
6195#line 380
6196 tmp___6 = atomic_read(__cil_tmp32);
6197 }
6198#line 380
6199 if (tmp___6 != 0) {
6200#line 380
6201 goto _L;
6202 } else {
6203 {
6204#line 380
6205 tmp___7 = xpc_partition_disengaged(part);
6206 }
6207#line 380
6208 if (tmp___7 == 0) {
6209 _L:
6210 {
6211#line 380
6212 tmp = get_current();
6213#line 380
6214 __cil_tmp33 = & __wait;
6215#line 380
6216 *((unsigned int *)__cil_tmp33) = 0U;
6217#line 380
6218 __cil_tmp34 = (unsigned long )(& __wait) + 8;
6219#line 380
6220 *((void **)__cil_tmp34) = (void *)tmp;
6221#line 380
6222 __cil_tmp35 = (unsigned long )(& __wait) + 16;
6223#line 380
6224 *((int (**)(wait_queue_t * , unsigned int , int , void * ))__cil_tmp35) = & autoremove_wake_function;
6225#line 380
6226 __cil_tmp36 = (unsigned long )(& __wait) + 24;
6227#line 380
6228 __cil_tmp37 = (unsigned long )(& __wait) + 24;
6229#line 380
6230 *((struct list_head **)__cil_tmp36) = (struct list_head *)__cil_tmp37;
6231#line 380
6232 __cil_tmp38 = 24 + 8;
6233#line 380
6234 __cil_tmp39 = (unsigned long )(& __wait) + __cil_tmp38;
6235#line 380
6236 __cil_tmp40 = (unsigned long )(& __wait) + 24;
6237#line 380
6238 *((struct list_head **)__cil_tmp39) = (struct list_head *)__cil_tmp40;
6239 }
6240 ldv_19215:
6241 {
6242#line 380
6243 __cil_tmp41 = (unsigned long )part;
6244#line 380
6245 __cil_tmp42 = __cil_tmp41 + 488;
6246#line 380
6247 __cil_tmp43 = (wait_queue_head_t *)__cil_tmp42;
6248#line 380
6249 prepare_to_wait(__cil_tmp43, & __wait, 1);
6250#line 380
6251 __cil_tmp44 = (unsigned long )part;
6252#line 380
6253 __cil_tmp45 = __cil_tmp44 + 480;
6254#line 380
6255 __cil_tmp46 = (atomic_t *)__cil_tmp45;
6256#line 380
6257 __cil_tmp47 = (atomic_t *)__cil_tmp46;
6258#line 380
6259 tmp___0 = atomic_read(__cil_tmp47);
6260 }
6261#line 380
6262 if (tmp___0 > 0) {
6263#line 380
6264 goto ldv_19213;
6265 } else {
6266 {
6267#line 380
6268 __cil_tmp48 = (unsigned long )part;
6269#line 380
6270 __cil_tmp49 = __cil_tmp48 + 384;
6271#line 380
6272 __cil_tmp50 = *((u64 *)__cil_tmp49);
6273#line 380
6274 if (__cil_tmp50 != 0ULL) {
6275#line 380
6276 goto ldv_19213;
6277 } else {
6278 {
6279#line 380
6280 __cil_tmp51 = (unsigned long )part;
6281#line 380
6282 __cil_tmp52 = __cil_tmp51 + 112;
6283#line 380
6284 __cil_tmp53 = *((u8 *)__cil_tmp52);
6285#line 380
6286 __cil_tmp54 = (unsigned int )__cil_tmp53;
6287#line 380
6288 if (__cil_tmp54 == 4U) {
6289 {
6290#line 380
6291 __cil_tmp55 = (unsigned long )part;
6292#line 380
6293 __cil_tmp56 = __cil_tmp55 + 368;
6294#line 380
6295 __cil_tmp57 = (atomic_t *)__cil_tmp56;
6296#line 380
6297 __cil_tmp58 = (atomic_t *)__cil_tmp57;
6298#line 380
6299 tmp___1 = atomic_read(__cil_tmp58);
6300 }
6301#line 380
6302 if (tmp___1 == 0) {
6303 {
6304#line 380
6305 tmp___2 = xpc_partition_disengaged(part);
6306 }
6307#line 380
6308 if (tmp___2 != 0) {
6309#line 380
6310 goto ldv_19213;
6311 } else {
6312
6313 }
6314 } else {
6315
6316 }
6317 } else {
6318
6319 }
6320 }
6321 }
6322 }
6323 }
6324 {
6325#line 380
6326 tmp___3 = get_current();
6327#line 380
6328 tmp___4 = signal_pending(tmp___3);
6329 }
6330#line 380
6331 if (tmp___4 == 0) {
6332 {
6333#line 380
6334 schedule();
6335 }
6336#line 380
6337 goto ldv_19214;
6338 } else {
6339
6340 }
6341#line 380
6342 __ret = -512;
6343#line 380
6344 goto ldv_19213;
6345 ldv_19214: ;
6346#line 380
6347 goto ldv_19215;
6348 ldv_19213:
6349 {
6350#line 380
6351 __cil_tmp59 = (unsigned long )part;
6352#line 380
6353 __cil_tmp60 = __cil_tmp59 + 488;
6354#line 380
6355 __cil_tmp61 = (wait_queue_head_t *)__cil_tmp60;
6356#line 380
6357 finish_wait(__cil_tmp61, & __wait);
6358 }
6359 } else {
6360
6361 }
6362 }
6363 }
6364 }
6365 } else {
6366
6367 }
6368 }
6369 } else {
6370
6371 }
6372 {
6373#line 386
6374 __cil_tmp62 = (unsigned long )part;
6375#line 386
6376 __cil_tmp63 = __cil_tmp62 + 480;
6377#line 386
6378 __cil_tmp64 = (atomic_t *)__cil_tmp63;
6379#line 386
6380 atomic_set(__cil_tmp64, 1);
6381 }
6382 ldv_19218: ;
6383 {
6384#line 360
6385 __cil_tmp65 = (unsigned long )part;
6386#line 360
6387 __cil_tmp66 = __cil_tmp65 + 112;
6388#line 360
6389 __cil_tmp67 = *((u8 *)__cil_tmp66);
6390#line 360
6391 __cil_tmp68 = (unsigned int )__cil_tmp67;
6392#line 360
6393 if (__cil_tmp68 != 4U) {
6394#line 363
6395 goto ldv_19217;
6396 } else {
6397 {
6398#line 360
6399 __cil_tmp69 = (unsigned long )part;
6400#line 360
6401 __cil_tmp70 = __cil_tmp69 + 368;
6402#line 360
6403 __cil_tmp71 = (atomic_t *)__cil_tmp70;
6404#line 360
6405 __cil_tmp72 = (atomic_t *)__cil_tmp71;
6406#line 360
6407 tmp___8 = atomic_read(__cil_tmp72);
6408 }
6409#line 360
6410 if (tmp___8 > 0) {
6411#line 363
6412 goto ldv_19217;
6413 } else {
6414 {
6415#line 360
6416 tmp___9 = xpc_partition_disengaged(part);
6417 }
6418#line 360
6419 if (tmp___9 == 0) {
6420#line 363
6421 goto ldv_19217;
6422 } else {
6423#line 365
6424 goto ldv_19219;
6425 }
6426 }
6427 }
6428 }
6429 ldv_19219: ;
6430#line 367
6431 return;
6432}
6433}
6434#line 394 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
6435void *xpc_kzalloc_cacheline_aligned(size_t size , gfp_t flags , void **base )
6436{ void *__cil_tmp4 ;
6437 unsigned long __cil_tmp5 ;
6438 void *__cil_tmp6 ;
6439 unsigned long __cil_tmp7 ;
6440 void *__cil_tmp8 ;
6441 unsigned long long __cil_tmp9 ;
6442 unsigned long long __cil_tmp10 ;
6443 unsigned long long __cil_tmp11 ;
6444 void *__cil_tmp12 ;
6445 unsigned long long __cil_tmp13 ;
6446 void *__cil_tmp14 ;
6447 void *__cil_tmp15 ;
6448 size_t __cil_tmp16 ;
6449 void *__cil_tmp17 ;
6450 unsigned long __cil_tmp18 ;
6451 void *__cil_tmp19 ;
6452 unsigned long __cil_tmp20 ;
6453 void *__cil_tmp21 ;
6454 unsigned long long __cil_tmp22 ;
6455 unsigned long long __cil_tmp23 ;
6456 unsigned long long __cil_tmp24 ;
6457
6458 {
6459 {
6460#line 397
6461 *base = kzalloc(size, flags);
6462 }
6463 {
6464#line 398
6465 __cil_tmp4 = (void *)0;
6466#line 398
6467 __cil_tmp5 = (unsigned long )__cil_tmp4;
6468#line 398
6469 __cil_tmp6 = *base;
6470#line 398
6471 __cil_tmp7 = (unsigned long )__cil_tmp6;
6472#line 398
6473 if (__cil_tmp7 == __cil_tmp5) {
6474#line 399
6475 return ((void *)0);
6476 } else {
6477
6478 }
6479 }
6480 {
6481#line 401
6482 __cil_tmp8 = *base;
6483#line 401
6484 __cil_tmp9 = (unsigned long long )__cil_tmp8;
6485#line 401
6486 __cil_tmp10 = __cil_tmp9 + 63ULL;
6487#line 401
6488 __cil_tmp11 = __cil_tmp10 & 0xffffffffffffffc0ULL;
6489#line 401
6490 __cil_tmp12 = *base;
6491#line 401
6492 __cil_tmp13 = (unsigned long long )__cil_tmp12;
6493#line 401
6494 if (__cil_tmp13 == __cil_tmp11) {
6495#line 402
6496 return (*base);
6497 } else {
6498
6499 }
6500 }
6501 {
6502#line 404
6503 __cil_tmp14 = *base;
6504#line 404
6505 __cil_tmp15 = (void *)__cil_tmp14;
6506#line 404
6507 kfree(__cil_tmp15);
6508#line 407
6509 __cil_tmp16 = size + 64UL;
6510#line 407
6511 *base = kzalloc(__cil_tmp16, flags);
6512 }
6513 {
6514#line 408
6515 __cil_tmp17 = (void *)0;
6516#line 408
6517 __cil_tmp18 = (unsigned long )__cil_tmp17;
6518#line 408
6519 __cil_tmp19 = *base;
6520#line 408
6521 __cil_tmp20 = (unsigned long )__cil_tmp19;
6522#line 408
6523 if (__cil_tmp20 == __cil_tmp18) {
6524#line 409
6525 return ((void *)0);
6526 } else {
6527
6528 }
6529 }
6530 {
6531#line 411
6532 __cil_tmp21 = *base;
6533#line 411
6534 __cil_tmp22 = (unsigned long long )__cil_tmp21;
6535#line 411
6536 __cil_tmp23 = __cil_tmp22 + 63ULL;
6537#line 411
6538 __cil_tmp24 = __cil_tmp23 & 0xffffffffffffffc0ULL;
6539#line 411
6540 return ((void *)__cil_tmp24);
6541 }
6542}
6543}
6544#line 419 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
6545static enum xp_retval xpc_setup_ch_structures(struct xpc_partition *part )
6546{ enum xp_retval ret ;
6547 int ch_number ;
6548 struct xpc_channel *ch ;
6549 short partid ;
6550 void *tmp ;
6551 void *tmp___0 ;
6552 struct lock_class_key __key ;
6553 struct lock_class_key __key___0 ;
6554 struct lock_class_key __key___1 ;
6555 struct lock_class_key __key___2 ;
6556 struct lock_class_key __key___3 ;
6557 long __cil_tmp13 ;
6558 long __cil_tmp14 ;
6559 long __cil_tmp15 ;
6560 long __cil_tmp16 ;
6561 unsigned long __cil_tmp17 ;
6562 unsigned long __cil_tmp18 ;
6563 struct xpc_channel *__cil_tmp19 ;
6564 unsigned long __cil_tmp20 ;
6565 unsigned long __cil_tmp21 ;
6566 unsigned long __cil_tmp22 ;
6567 struct xpc_channel *__cil_tmp23 ;
6568 unsigned long __cil_tmp24 ;
6569 struct device *__cil_tmp25 ;
6570 unsigned long __cil_tmp26 ;
6571 unsigned long __cil_tmp27 ;
6572 void **__cil_tmp28 ;
6573 unsigned long __cil_tmp29 ;
6574 unsigned long __cil_tmp30 ;
6575 struct xpc_openclose_args *__cil_tmp31 ;
6576 unsigned long __cil_tmp32 ;
6577 unsigned long __cil_tmp33 ;
6578 unsigned long __cil_tmp34 ;
6579 struct xpc_openclose_args *__cil_tmp35 ;
6580 unsigned long __cil_tmp36 ;
6581 struct device *__cil_tmp37 ;
6582 unsigned long __cil_tmp38 ;
6583 unsigned long __cil_tmp39 ;
6584 unsigned long __cil_tmp40 ;
6585 unsigned long __cil_tmp41 ;
6586 spinlock_t *__cil_tmp42 ;
6587 unsigned long __cil_tmp43 ;
6588 unsigned long __cil_tmp44 ;
6589 struct raw_spinlock *__cil_tmp45 ;
6590 unsigned long __cil_tmp46 ;
6591 unsigned long __cil_tmp47 ;
6592 atomic_t *__cil_tmp48 ;
6593 unsigned long __cil_tmp49 ;
6594 unsigned long __cil_tmp50 ;
6595 wait_queue_head_t *__cil_tmp51 ;
6596 unsigned long __cil_tmp52 ;
6597 unsigned long __cil_tmp53 ;
6598 unsigned long __cil_tmp54 ;
6599 unsigned long __cil_tmp55 ;
6600 atomic_t *__cil_tmp56 ;
6601 unsigned long __cil_tmp57 ;
6602 unsigned long __cil_tmp58 ;
6603 atomic_t *__cil_tmp59 ;
6604 unsigned long __cil_tmp60 ;
6605 unsigned long __cil_tmp61 ;
6606 unsigned long __cil_tmp62 ;
6607 struct xpc_channel *__cil_tmp63 ;
6608 unsigned long __cil_tmp64 ;
6609 unsigned long __cil_tmp65 ;
6610 unsigned long __cil_tmp66 ;
6611 unsigned long __cil_tmp67 ;
6612 unsigned long __cil_tmp68 ;
6613 unsigned long __cil_tmp69 ;
6614 atomic_t *__cil_tmp70 ;
6615 unsigned long __cil_tmp71 ;
6616 unsigned long __cil_tmp72 ;
6617 atomic_t *__cil_tmp73 ;
6618 unsigned long __cil_tmp74 ;
6619 unsigned long __cil_tmp75 ;
6620 atomic_t *__cil_tmp76 ;
6621 unsigned long __cil_tmp77 ;
6622 unsigned long __cil_tmp78 ;
6623 atomic_t *__cil_tmp79 ;
6624 unsigned long __cil_tmp80 ;
6625 unsigned long __cil_tmp81 ;
6626 atomic_t *__cil_tmp82 ;
6627 unsigned long __cil_tmp83 ;
6628 unsigned long __cil_tmp84 ;
6629 spinlock_t *__cil_tmp85 ;
6630 unsigned long __cil_tmp86 ;
6631 unsigned long __cil_tmp87 ;
6632 struct raw_spinlock *__cil_tmp88 ;
6633 unsigned long __cil_tmp89 ;
6634 unsigned long __cil_tmp90 ;
6635 struct completion *__cil_tmp91 ;
6636 unsigned long __cil_tmp92 ;
6637 unsigned long __cil_tmp93 ;
6638 atomic_t *__cil_tmp94 ;
6639 unsigned long __cil_tmp95 ;
6640 unsigned long __cil_tmp96 ;
6641 wait_queue_head_t *__cil_tmp97 ;
6642 unsigned long __cil_tmp98 ;
6643 unsigned long __cil_tmp99 ;
6644 wait_queue_head_t *__cil_tmp100 ;
6645 unsigned long __cil_tmp101 ;
6646 unsigned long __cil_tmp102 ;
6647 u8 __cil_tmp103 ;
6648 int __cil_tmp104 ;
6649 unsigned int __cil_tmp105 ;
6650 unsigned long __cil_tmp106 ;
6651 unsigned long __cil_tmp107 ;
6652 unsigned long __cil_tmp108 ;
6653 unsigned long __cil_tmp109 ;
6654 void *__cil_tmp110 ;
6655 void *__cil_tmp111 ;
6656 unsigned long __cil_tmp112 ;
6657 unsigned long __cil_tmp113 ;
6658 unsigned long __cil_tmp114 ;
6659 unsigned long __cil_tmp115 ;
6660 struct xpc_channel *__cil_tmp116 ;
6661 void *__cil_tmp117 ;
6662 unsigned long __cil_tmp118 ;
6663 unsigned long __cil_tmp119 ;
6664
6665 {
6666 {
6667#line 424
6668 __cil_tmp13 = (long )xpc_partitions;
6669#line 424
6670 __cil_tmp14 = (long )part;
6671#line 424
6672 __cil_tmp15 = __cil_tmp14 - __cil_tmp13;
6673#line 424
6674 __cil_tmp16 = __cil_tmp15 / 896L;
6675#line 424
6676 partid = (short )__cil_tmp16;
6677#line 431
6678 tmp = kzalloc(1536UL, 208U);
6679#line 431
6680 __cil_tmp17 = (unsigned long )part;
6681#line 431
6682 __cil_tmp18 = __cil_tmp17 + 376;
6683#line 431
6684 *((struct xpc_channel **)__cil_tmp18) = (struct xpc_channel *)tmp;
6685 }
6686 {
6687#line 433
6688 __cil_tmp19 = (struct xpc_channel *)0;
6689#line 433
6690 __cil_tmp20 = (unsigned long )__cil_tmp19;
6691#line 433
6692 __cil_tmp21 = (unsigned long )part;
6693#line 433
6694 __cil_tmp22 = __cil_tmp21 + 376;
6695#line 433
6696 __cil_tmp23 = *((struct xpc_channel **)__cil_tmp22);
6697#line 433
6698 __cil_tmp24 = (unsigned long )__cil_tmp23;
6699#line 433
6700 if (__cil_tmp24 == __cil_tmp20) {
6701 {
6702#line 434
6703 __cil_tmp25 = (struct device *)xpc_chan;
6704#line 434
6705 dev_err(__cil_tmp25, "can\'t get memory for channels\n");
6706 }
6707#line 435
6708 return ((enum xp_retval )13);
6709 } else {
6710
6711 }
6712 }
6713 {
6714#line 440
6715 __cil_tmp26 = (unsigned long )part;
6716#line 440
6717 __cil_tmp27 = __cil_tmp26 + 464;
6718#line 440
6719 __cil_tmp28 = (void **)__cil_tmp27;
6720#line 440
6721 tmp___0 = xpc_kzalloc_cacheline_aligned(64UL, 208U, __cil_tmp28);
6722#line 440
6723 __cil_tmp29 = (unsigned long )part;
6724#line 440
6725 __cil_tmp30 = __cil_tmp29 + 472;
6726#line 440
6727 *((struct xpc_openclose_args **)__cil_tmp30) = (struct xpc_openclose_args *)tmp___0;
6728 }
6729 {
6730#line 444
6731 __cil_tmp31 = (struct xpc_openclose_args *)0;
6732#line 444
6733 __cil_tmp32 = (unsigned long )__cil_tmp31;
6734#line 444
6735 __cil_tmp33 = (unsigned long )part;
6736#line 444
6737 __cil_tmp34 = __cil_tmp33 + 472;
6738#line 444
6739 __cil_tmp35 = *((struct xpc_openclose_args **)__cil_tmp34);
6740#line 444
6741 __cil_tmp36 = (unsigned long )__cil_tmp35;
6742#line 444
6743 if (__cil_tmp36 == __cil_tmp32) {
6744 {
6745#line 445
6746 __cil_tmp37 = (struct device *)xpc_chan;
6747#line 445
6748 dev_err(__cil_tmp37, "can\'t get memory for remote connect args\n");
6749#line 446
6750 ret = (enum xp_retval )13;
6751 }
6752#line 447
6753 goto out_1;
6754 } else {
6755
6756 }
6757 }
6758 {
6759#line 450
6760 __cil_tmp38 = (unsigned long )part;
6761#line 450
6762 __cil_tmp39 = __cil_tmp38 + 384;
6763#line 450
6764 *((u64 *)__cil_tmp39) = 0ULL;
6765#line 451
6766 __cil_tmp40 = (unsigned long )part;
6767#line 451
6768 __cil_tmp41 = __cil_tmp40 + 392;
6769#line 451
6770 __cil_tmp42 = (spinlock_t *)__cil_tmp41;
6771#line 451
6772 spinlock_check(__cil_tmp42);
6773#line 451
6774 __cil_tmp43 = (unsigned long )part;
6775#line 451
6776 __cil_tmp44 = __cil_tmp43 + 392;
6777#line 451
6778 __cil_tmp45 = (struct raw_spinlock *)__cil_tmp44;
6779#line 451
6780 __raw_spin_lock_init(__cil_tmp45, "&(&part->chctl_lock)->rlock", & __key);
6781#line 453
6782 __cil_tmp46 = (unsigned long )part;
6783#line 453
6784 __cil_tmp47 = __cil_tmp46 + 480;
6785#line 453
6786 __cil_tmp48 = (atomic_t *)__cil_tmp47;
6787#line 453
6788 atomic_set(__cil_tmp48, 1);
6789#line 454
6790 __cil_tmp49 = (unsigned long )part;
6791#line 454
6792 __cil_tmp50 = __cil_tmp49 + 488;
6793#line 454
6794 __cil_tmp51 = (wait_queue_head_t *)__cil_tmp50;
6795#line 454
6796 __init_waitqueue_head(__cil_tmp51, "&part->channel_mgr_wq", & __key___0);
6797#line 456
6798 __cil_tmp52 = (unsigned long )part;
6799#line 456
6800 __cil_tmp53 = __cil_tmp52 + 364;
6801#line 456
6802 *((u8 *)__cil_tmp53) = (u8 )2U;
6803#line 458
6804 __cil_tmp54 = (unsigned long )part;
6805#line 458
6806 __cil_tmp55 = __cil_tmp54 + 368;
6807#line 458
6808 __cil_tmp56 = (atomic_t *)__cil_tmp55;
6809#line 458
6810 atomic_set(__cil_tmp56, 0);
6811#line 459
6812 __cil_tmp57 = (unsigned long )part;
6813#line 459
6814 __cil_tmp58 = __cil_tmp57 + 372;
6815#line 459
6816 __cil_tmp59 = (atomic_t *)__cil_tmp58;
6817#line 459
6818 atomic_set(__cil_tmp59, 0);
6819#line 461
6820 ch_number = 0;
6821 }
6822#line 461
6823 goto ldv_19239;
6824 ldv_19238:
6825 {
6826#line 462
6827 __cil_tmp60 = (unsigned long )ch_number;
6828#line 462
6829 __cil_tmp61 = (unsigned long )part;
6830#line 462
6831 __cil_tmp62 = __cil_tmp61 + 376;
6832#line 462
6833 __cil_tmp63 = *((struct xpc_channel **)__cil_tmp62);
6834#line 462
6835 ch = __cil_tmp63 + __cil_tmp60;
6836#line 464
6837 *((short *)ch) = partid;
6838#line 465
6839 __cil_tmp64 = (unsigned long )ch;
6840#line 465
6841 __cil_tmp65 = __cil_tmp64 + 92;
6842#line 465
6843 *((u16 *)__cil_tmp65) = (u16 )ch_number;
6844#line 466
6845 __cil_tmp66 = (unsigned long )ch;
6846#line 466
6847 __cil_tmp67 = __cil_tmp66 + 80;
6848#line 466
6849 *((unsigned int *)__cil_tmp67) = 65536U;
6850#line 468
6851 __cil_tmp68 = (unsigned long )ch;
6852#line 468
6853 __cil_tmp69 = __cil_tmp68 + 320;
6854#line 468
6855 __cil_tmp70 = (atomic_t *)__cil_tmp69;
6856#line 468
6857 atomic_set(__cil_tmp70, 0);
6858#line 469
6859 __cil_tmp71 = (unsigned long )ch;
6860#line 469
6861 __cil_tmp72 = __cil_tmp71 + 328;
6862#line 469
6863 __cil_tmp73 = (atomic_t *)__cil_tmp72;
6864#line 469
6865 atomic_set(__cil_tmp73, 0);
6866#line 470
6867 __cil_tmp74 = (unsigned long )ch;
6868#line 470
6869 __cil_tmp75 = __cil_tmp74 + 336;
6870#line 470
6871 __cil_tmp76 = (atomic_t *)__cil_tmp75;
6872#line 470
6873 atomic_set(__cil_tmp76, 0);
6874#line 472
6875 __cil_tmp77 = (unsigned long )ch;
6876#line 472
6877 __cil_tmp78 = __cil_tmp77 + 100;
6878#line 472
6879 __cil_tmp79 = (atomic_t *)__cil_tmp78;
6880#line 472
6881 atomic_set(__cil_tmp79, 0);
6882#line 473
6883 __cil_tmp80 = (unsigned long )ch;
6884#line 473
6885 __cil_tmp81 = __cil_tmp80 + 204;
6886#line 473
6887 __cil_tmp82 = (atomic_t *)__cil_tmp81;
6888#line 473
6889 atomic_set(__cil_tmp82, 0);
6890#line 475
6891 __cil_tmp83 = (unsigned long )ch;
6892#line 475
6893 __cil_tmp84 = __cil_tmp83 + 8;
6894#line 475
6895 __cil_tmp85 = (spinlock_t *)__cil_tmp84;
6896#line 475
6897 spinlock_check(__cil_tmp85);
6898#line 475
6899 __cil_tmp86 = (unsigned long )ch;
6900#line 475
6901 __cil_tmp87 = __cil_tmp86 + 8;
6902#line 475
6903 __cil_tmp88 = (struct raw_spinlock *)__cil_tmp87;
6904#line 475
6905 __raw_spin_lock_init(__cil_tmp88, "&(&ch->lock)->rlock", & __key___1);
6906#line 476
6907 __cil_tmp89 = (unsigned long )ch;
6908#line 476
6909 __cil_tmp90 = __cil_tmp89 + 224;
6910#line 476
6911 __cil_tmp91 = (struct completion *)__cil_tmp90;
6912#line 476
6913 init_completion(__cil_tmp91);
6914#line 478
6915 __cil_tmp92 = (unsigned long )ch;
6916#line 478
6917 __cil_tmp93 = __cil_tmp92 + 104;
6918#line 478
6919 __cil_tmp94 = (atomic_t *)__cil_tmp93;
6920#line 478
6921 atomic_set(__cil_tmp94, 0);
6922#line 479
6923 __cil_tmp95 = (unsigned long )ch;
6924#line 479
6925 __cil_tmp96 = __cil_tmp95 + 112;
6926#line 479
6927 __cil_tmp97 = (wait_queue_head_t *)__cil_tmp96;
6928#line 479
6929 __init_waitqueue_head(__cil_tmp97, "&ch->msg_allocate_wq", & __key___2);
6930#line 480
6931 __cil_tmp98 = (unsigned long )ch;
6932#line 480
6933 __cil_tmp99 = __cil_tmp98 + 344;
6934#line 480
6935 __cil_tmp100 = (wait_queue_head_t *)__cil_tmp99;
6936#line 480
6937 __init_waitqueue_head(__cil_tmp100, "&ch->idle_wq", & __key___3);
6938#line 461
6939 ch_number = ch_number + 1;
6940 }
6941 ldv_19239: ;
6942 {
6943#line 461
6944 __cil_tmp101 = (unsigned long )part;
6945#line 461
6946 __cil_tmp102 = __cil_tmp101 + 364;
6947#line 461
6948 __cil_tmp103 = *((u8 *)__cil_tmp102);
6949#line 461
6950 __cil_tmp104 = (int )__cil_tmp103;
6951#line 461
6952 if (__cil_tmp104 > ch_number) {
6953#line 462
6954 goto ldv_19238;
6955 } else {
6956#line 464
6957 goto ldv_19240;
6958 }
6959 }
6960 ldv_19240:
6961 {
6962#line 483
6963 ret = (*(xpc_arch_ops.setup_ch_structures))(part);
6964 }
6965 {
6966#line 484
6967 __cil_tmp105 = (unsigned int )ret;
6968#line 484
6969 if (__cil_tmp105 != 0U) {
6970#line 485
6971 goto out_2;
6972 } else {
6973
6974 }
6975 }
6976#line 491
6977 __cil_tmp106 = (unsigned long )part;
6978#line 491
6979 __cil_tmp107 = __cil_tmp106 + 264;
6980#line 491
6981 *((u8 *)__cil_tmp107) = (u8 )1U;
6982#line 493
6983 return ((enum xp_retval )0);
6984 out_2:
6985 {
6986#line 497
6987 __cil_tmp108 = (unsigned long )part;
6988#line 497
6989 __cil_tmp109 = __cil_tmp108 + 464;
6990#line 497
6991 __cil_tmp110 = *((void **)__cil_tmp109);
6992#line 497
6993 __cil_tmp111 = (void *)__cil_tmp110;
6994#line 497
6995 kfree(__cil_tmp111);
6996#line 498
6997 __cil_tmp112 = (unsigned long )part;
6998#line 498
6999 __cil_tmp113 = __cil_tmp112 + 472;
7000#line 498
7001 *((struct xpc_openclose_args **)__cil_tmp113) = (struct xpc_openclose_args *)0;
7002 }
7003 out_1:
7004 {
7005#line 500
7006 __cil_tmp114 = (unsigned long )part;
7007#line 500
7008 __cil_tmp115 = __cil_tmp114 + 376;
7009#line 500
7010 __cil_tmp116 = *((struct xpc_channel **)__cil_tmp115);
7011#line 500
7012 __cil_tmp117 = (void *)__cil_tmp116;
7013#line 500
7014 kfree(__cil_tmp117);
7015#line 501
7016 __cil_tmp118 = (unsigned long )part;
7017#line 501
7018 __cil_tmp119 = __cil_tmp118 + 376;
7019#line 501
7020 *((struct xpc_channel **)__cil_tmp119) = (struct xpc_channel *)0;
7021 }
7022#line 502
7023 return (ret);
7024}
7025}
7026#line 510 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
7027static void xpc_teardown_ch_structures(struct xpc_partition *part )
7028{ int tmp ;
7029 wait_queue_t __wait ;
7030 struct task_struct *tmp___0 ;
7031 int tmp___1 ;
7032 unsigned long __cil_tmp6 ;
7033 unsigned long __cil_tmp7 ;
7034 unsigned long __cil_tmp8 ;
7035 unsigned long __cil_tmp9 ;
7036 atomic_t *__cil_tmp10 ;
7037 atomic_t *__cil_tmp11 ;
7038 wait_queue_t *__cil_tmp12 ;
7039 unsigned long __cil_tmp13 ;
7040 unsigned long __cil_tmp14 ;
7041 unsigned long __cil_tmp15 ;
7042 unsigned long __cil_tmp16 ;
7043 unsigned long __cil_tmp17 ;
7044 unsigned long __cil_tmp18 ;
7045 unsigned long __cil_tmp19 ;
7046 unsigned long __cil_tmp20 ;
7047 unsigned long __cil_tmp21 ;
7048 wait_queue_head_t *__cil_tmp22 ;
7049 unsigned long __cil_tmp23 ;
7050 unsigned long __cil_tmp24 ;
7051 atomic_t *__cil_tmp25 ;
7052 atomic_t *__cil_tmp26 ;
7053 unsigned long __cil_tmp27 ;
7054 unsigned long __cil_tmp28 ;
7055 wait_queue_head_t *__cil_tmp29 ;
7056 unsigned long __cil_tmp30 ;
7057 unsigned long __cil_tmp31 ;
7058 void *__cil_tmp32 ;
7059 void *__cil_tmp33 ;
7060 unsigned long __cil_tmp34 ;
7061 unsigned long __cil_tmp35 ;
7062 unsigned long __cil_tmp36 ;
7063 unsigned long __cil_tmp37 ;
7064 struct xpc_channel *__cil_tmp38 ;
7065 void *__cil_tmp39 ;
7066 unsigned long __cil_tmp40 ;
7067 unsigned long __cil_tmp41 ;
7068 unsigned long __cil_tmp42 ;
7069 unsigned long __cil_tmp43 ;
7070
7071 {
7072 {
7073#line 521
7074 __cil_tmp6 = (unsigned long )part;
7075#line 521
7076 __cil_tmp7 = __cil_tmp6 + 264;
7077#line 521
7078 *((u8 *)__cil_tmp7) = (u8 )2U;
7079#line 523
7080 __cil_tmp8 = (unsigned long )part;
7081#line 523
7082 __cil_tmp9 = __cil_tmp8 + 360;
7083#line 523
7084 __cil_tmp10 = (atomic_t *)__cil_tmp9;
7085#line 523
7086 __cil_tmp11 = (atomic_t *)__cil_tmp10;
7087#line 523
7088 tmp = atomic_read(__cil_tmp11);
7089 }
7090#line 523
7091 if (tmp == 0) {
7092#line 523
7093 goto ldv_19245;
7094 } else {
7095
7096 }
7097 {
7098#line 523
7099 tmp___0 = get_current();
7100#line 523
7101 __cil_tmp12 = & __wait;
7102#line 523
7103 *((unsigned int *)__cil_tmp12) = 0U;
7104#line 523
7105 __cil_tmp13 = (unsigned long )(& __wait) + 8;
7106#line 523
7107 *((void **)__cil_tmp13) = (void *)tmp___0;
7108#line 523
7109 __cil_tmp14 = (unsigned long )(& __wait) + 16;
7110#line 523
7111 *((int (**)(wait_queue_t * , unsigned int , int , void * ))__cil_tmp14) = & autoremove_wake_function;
7112#line 523
7113 __cil_tmp15 = (unsigned long )(& __wait) + 24;
7114#line 523
7115 __cil_tmp16 = (unsigned long )(& __wait) + 24;
7116#line 523
7117 *((struct list_head **)__cil_tmp15) = (struct list_head *)__cil_tmp16;
7118#line 523
7119 __cil_tmp17 = 24 + 8;
7120#line 523
7121 __cil_tmp18 = (unsigned long )(& __wait) + __cil_tmp17;
7122#line 523
7123 __cil_tmp19 = (unsigned long )(& __wait) + 24;
7124#line 523
7125 *((struct list_head **)__cil_tmp18) = (struct list_head *)__cil_tmp19;
7126 }
7127 ldv_19248:
7128 {
7129#line 523
7130 __cil_tmp20 = (unsigned long )part;
7131#line 523
7132 __cil_tmp21 = __cil_tmp20 + 272;
7133#line 523
7134 __cil_tmp22 = (wait_queue_head_t *)__cil_tmp21;
7135#line 523
7136 prepare_to_wait(__cil_tmp22, & __wait, 2);
7137#line 523
7138 __cil_tmp23 = (unsigned long )part;
7139#line 523
7140 __cil_tmp24 = __cil_tmp23 + 360;
7141#line 523
7142 __cil_tmp25 = (atomic_t *)__cil_tmp24;
7143#line 523
7144 __cil_tmp26 = (atomic_t *)__cil_tmp25;
7145#line 523
7146 tmp___1 = atomic_read(__cil_tmp26);
7147 }
7148#line 523
7149 if (tmp___1 == 0) {
7150#line 523
7151 goto ldv_19247;
7152 } else {
7153
7154 }
7155 {
7156#line 523
7157 schedule();
7158 }
7159#line 523
7160 goto ldv_19248;
7161 ldv_19247:
7162 {
7163#line 523
7164 __cil_tmp27 = (unsigned long )part;
7165#line 523
7166 __cil_tmp28 = __cil_tmp27 + 272;
7167#line 523
7168 __cil_tmp29 = (wait_queue_head_t *)__cil_tmp28;
7169#line 523
7170 finish_wait(__cil_tmp29, & __wait);
7171 }
7172 ldv_19245:
7173 {
7174#line 527
7175 (*(xpc_arch_ops.teardown_ch_structures))(part);
7176#line 529
7177 __cil_tmp30 = (unsigned long )part;
7178#line 529
7179 __cil_tmp31 = __cil_tmp30 + 464;
7180#line 529
7181 __cil_tmp32 = *((void **)__cil_tmp31);
7182#line 529
7183 __cil_tmp33 = (void *)__cil_tmp32;
7184#line 529
7185 kfree(__cil_tmp33);
7186#line 530
7187 __cil_tmp34 = (unsigned long )part;
7188#line 530
7189 __cil_tmp35 = __cil_tmp34 + 472;
7190#line 530
7191 *((struct xpc_openclose_args **)__cil_tmp35) = (struct xpc_openclose_args *)0;
7192#line 531
7193 __cil_tmp36 = (unsigned long )part;
7194#line 531
7195 __cil_tmp37 = __cil_tmp36 + 376;
7196#line 531
7197 __cil_tmp38 = *((struct xpc_channel **)__cil_tmp37);
7198#line 531
7199 __cil_tmp39 = (void *)__cil_tmp38;
7200#line 531
7201 kfree(__cil_tmp39);
7202#line 532
7203 __cil_tmp40 = (unsigned long )part;
7204#line 532
7205 __cil_tmp41 = __cil_tmp40 + 376;
7206#line 532
7207 *((struct xpc_channel **)__cil_tmp41) = (struct xpc_channel *)0;
7208#line 534
7209 __cil_tmp42 = (unsigned long )part;
7210#line 534
7211 __cil_tmp43 = __cil_tmp42 + 264;
7212#line 534
7213 *((u8 *)__cil_tmp43) = (u8 )3U;
7214 }
7215#line 535
7216 return;
7217}
7218}
7219#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
7220static int xpc_activating(void *__partid )
7221{ short partid ;
7222 struct xpc_partition *part ;
7223 unsigned long irq_flags ;
7224 struct _ddebug descriptor ;
7225 long tmp ;
7226 enum xp_retval tmp___0 ;
7227 enum xp_retval tmp___1 ;
7228 long __cil_tmp9 ;
7229 unsigned long __cil_tmp10 ;
7230 unsigned long __cil_tmp11 ;
7231 unsigned long __cil_tmp12 ;
7232 u8 __cil_tmp13 ;
7233 unsigned int __cil_tmp14 ;
7234 unsigned long __cil_tmp15 ;
7235 unsigned long __cil_tmp16 ;
7236 unsigned long __cil_tmp17 ;
7237 unsigned long __cil_tmp18 ;
7238 spinlock_t *__cil_tmp19 ;
7239 unsigned long __cil_tmp20 ;
7240 unsigned long __cil_tmp21 ;
7241 unsigned long __cil_tmp22 ;
7242 unsigned long __cil_tmp23 ;
7243 unsigned long __cil_tmp24 ;
7244 unsigned long __cil_tmp25 ;
7245 unsigned long __cil_tmp26 ;
7246 unsigned long __cil_tmp27 ;
7247 unsigned long __cil_tmp28 ;
7248 unsigned long __cil_tmp29 ;
7249 spinlock_t *__cil_tmp30 ;
7250 struct _ddebug *__cil_tmp31 ;
7251 unsigned long __cil_tmp32 ;
7252 unsigned long __cil_tmp33 ;
7253 unsigned long __cil_tmp34 ;
7254 unsigned long __cil_tmp35 ;
7255 unsigned long __cil_tmp36 ;
7256 unsigned long __cil_tmp37 ;
7257 unsigned char __cil_tmp38 ;
7258 long __cil_tmp39 ;
7259 long __cil_tmp40 ;
7260 struct device *__cil_tmp41 ;
7261 int __cil_tmp42 ;
7262 int __cil_tmp43 ;
7263 short __cil_tmp44 ;
7264 unsigned int __cil_tmp45 ;
7265 unsigned int __cil_tmp46 ;
7266 int __cil_tmp47 ;
7267 short __cil_tmp48 ;
7268 unsigned long __cil_tmp49 ;
7269 unsigned long __cil_tmp50 ;
7270 enum xp_retval __cil_tmp51 ;
7271 unsigned int __cil_tmp52 ;
7272
7273 {
7274 {
7275#line 551
7276 __cil_tmp9 = (long )__partid;
7277#line 551
7278 partid = (short )__cil_tmp9;
7279#line 552
7280 __cil_tmp10 = (unsigned long )partid;
7281#line 552
7282 part = xpc_partitions + __cil_tmp10;
7283#line 557
7284 ldv_spin_lock();
7285 }
7286 {
7287#line 559
7288 __cil_tmp11 = (unsigned long )part;
7289#line 559
7290 __cil_tmp12 = __cil_tmp11 + 112;
7291#line 559
7292 __cil_tmp13 = *((u8 *)__cil_tmp12);
7293#line 559
7294 __cil_tmp14 = (unsigned int )__cil_tmp13;
7295#line 559
7296 if (__cil_tmp14 == 4U) {
7297 {
7298#line 560
7299 __cil_tmp15 = (unsigned long )part;
7300#line 560
7301 __cil_tmp16 = __cil_tmp15 + 112;
7302#line 560
7303 *((u8 *)__cil_tmp16) = (u8 )0U;
7304#line 561
7305 __cil_tmp17 = (unsigned long )part;
7306#line 561
7307 __cil_tmp18 = __cil_tmp17 + 40;
7308#line 561
7309 __cil_tmp19 = (spinlock_t *)__cil_tmp18;
7310#line 561
7311 spin_unlock_irqrestore(__cil_tmp19, irq_flags);
7312#line 562
7313 __cil_tmp20 = (unsigned long )part;
7314#line 562
7315 __cil_tmp21 = __cil_tmp20 + 16;
7316#line 562
7317 *((unsigned long *)__cil_tmp21) = 0UL;
7318 }
7319#line 563
7320 return (0);
7321 } else {
7322
7323 }
7324 }
7325 {
7326#line 568
7327 __cil_tmp22 = (unsigned long )part;
7328#line 568
7329 __cil_tmp23 = __cil_tmp22 + 112;
7330#line 568
7331 *((u8 *)__cil_tmp23) = (u8 )2U;
7332#line 570
7333 __cil_tmp24 = (unsigned long )part;
7334#line 570
7335 __cil_tmp25 = __cil_tmp24 + 116;
7336#line 570
7337 *((enum xp_retval *)__cil_tmp25) = (enum xp_retval )0;
7338#line 570
7339 __cil_tmp26 = (unsigned long )part;
7340#line 570
7341 __cil_tmp27 = __cil_tmp26 + 120;
7342#line 570
7343 *((int *)__cil_tmp27) = 0;
7344#line 571
7345 __cil_tmp28 = (unsigned long )part;
7346#line 571
7347 __cil_tmp29 = __cil_tmp28 + 40;
7348#line 571
7349 __cil_tmp30 = (spinlock_t *)__cil_tmp29;
7350#line 571
7351 spin_unlock_irqrestore(__cil_tmp30, irq_flags);
7352#line 573
7353 __cil_tmp31 = & descriptor;
7354#line 573
7355 *((char **)__cil_tmp31) = "xpc";
7356#line 573
7357 __cil_tmp32 = (unsigned long )(& descriptor) + 8;
7358#line 573
7359 *((char **)__cil_tmp32) = "xpc_activating";
7360#line 573
7361 __cil_tmp33 = (unsigned long )(& descriptor) + 16;
7362#line 573
7363 *((char **)__cil_tmp33) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
7364#line 573
7365 __cil_tmp34 = (unsigned long )(& descriptor) + 24;
7366#line 573
7367 *((char **)__cil_tmp34) = "activating partition %d\n";
7368#line 573
7369 __cil_tmp35 = (unsigned long )(& descriptor) + 32;
7370#line 573
7371 *((unsigned int *)__cil_tmp35) = 573U;
7372#line 573
7373 __cil_tmp36 = (unsigned long )(& descriptor) + 35;
7374#line 573
7375 *((unsigned char *)__cil_tmp36) = (unsigned char)0;
7376#line 573
7377 __cil_tmp37 = (unsigned long )(& descriptor) + 35;
7378#line 573
7379 __cil_tmp38 = *((unsigned char *)__cil_tmp37);
7380#line 573
7381 __cil_tmp39 = (long )__cil_tmp38;
7382#line 573
7383 __cil_tmp40 = __cil_tmp39 & 1L;
7384#line 573
7385 tmp = __builtin_expect(__cil_tmp40, 0L);
7386 }
7387#line 573
7388 if (tmp != 0L) {
7389 {
7390#line 573
7391 __cil_tmp41 = (struct device *)xpc_part;
7392#line 573
7393 __cil_tmp42 = (int )partid;
7394#line 573
7395 __dynamic_dev_dbg(& descriptor, __cil_tmp41, "activating partition %d\n", __cil_tmp42);
7396 }
7397 } else {
7398
7399 }
7400 {
7401#line 575
7402 __cil_tmp43 = (int )partid;
7403#line 575
7404 __cil_tmp44 = (short )__cil_tmp43;
7405#line 575
7406 (*(xpc_arch_ops.allow_hb))(__cil_tmp44);
7407#line 577
7408 tmp___1 = xpc_setup_ch_structures(part);
7409 }
7410 {
7411#line 577
7412 __cil_tmp45 = (unsigned int )tmp___1;
7413#line 577
7414 if (__cil_tmp45 == 0U) {
7415 {
7416#line 578
7417 xpc_part_ref(part);
7418#line 580
7419 tmp___0 = (*(xpc_arch_ops.make_first_contact))(part);
7420 }
7421 {
7422#line 580
7423 __cil_tmp46 = (unsigned int )tmp___0;
7424#line 580
7425 if (__cil_tmp46 == 0U) {
7426 {
7427#line 581
7428 xpc_mark_partition_active(part);
7429#line 582
7430 xpc_channel_mgr(part);
7431 }
7432 } else {
7433
7434 }
7435 }
7436 {
7437#line 586
7438 xpc_part_deref(part);
7439#line 587
7440 xpc_teardown_ch_structures(part);
7441 }
7442 } else {
7443
7444 }
7445 }
7446 {
7447#line 590
7448 __cil_tmp47 = (int )partid;
7449#line 590
7450 __cil_tmp48 = (short )__cil_tmp47;
7451#line 590
7452 (*(xpc_arch_ops.disallow_hb))(__cil_tmp48);
7453#line 591
7454 xpc_mark_partition_inactive(part);
7455 }
7456 {
7457#line 593
7458 __cil_tmp49 = (unsigned long )part;
7459#line 593
7460 __cil_tmp50 = __cil_tmp49 + 116;
7461#line 593
7462 __cil_tmp51 = *((enum xp_retval *)__cil_tmp50);
7463#line 593
7464 __cil_tmp52 = (unsigned int )__cil_tmp51;
7465#line 593
7466 if (__cil_tmp52 == 21U) {
7467 {
7468#line 595
7469 (*(xpc_arch_ops.request_partition_reactivation))(part);
7470 }
7471 } else {
7472
7473 }
7474 }
7475#line 598
7476 return (0);
7477}
7478}
7479#line 602 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
7480void xpc_activate_partition(struct xpc_partition *part )
7481{ short partid ;
7482 unsigned long irq_flags ;
7483 struct task_struct *kthread ;
7484 struct task_struct *__k ;
7485 struct task_struct *tmp ;
7486 long tmp___0 ;
7487 long tmp___1 ;
7488 long __cil_tmp9 ;
7489 long __cil_tmp10 ;
7490 long __cil_tmp11 ;
7491 long __cil_tmp12 ;
7492 unsigned long __cil_tmp13 ;
7493 unsigned long __cil_tmp14 ;
7494 unsigned long __cil_tmp15 ;
7495 unsigned long __cil_tmp16 ;
7496 unsigned long __cil_tmp17 ;
7497 unsigned long __cil_tmp18 ;
7498 unsigned long __cil_tmp19 ;
7499 unsigned long __cil_tmp20 ;
7500 spinlock_t *__cil_tmp21 ;
7501 unsigned long long __cil_tmp22 ;
7502 void *__cil_tmp23 ;
7503 int __cil_tmp24 ;
7504 void *__cil_tmp25 ;
7505 void *__cil_tmp26 ;
7506 unsigned long __cil_tmp27 ;
7507 unsigned long __cil_tmp28 ;
7508 unsigned long __cil_tmp29 ;
7509 unsigned long __cil_tmp30 ;
7510 unsigned long __cil_tmp31 ;
7511 unsigned long __cil_tmp32 ;
7512 unsigned long __cil_tmp33 ;
7513 unsigned long __cil_tmp34 ;
7514 spinlock_t *__cil_tmp35 ;
7515
7516 {
7517 {
7518#line 604
7519 __cil_tmp9 = (long )xpc_partitions;
7520#line 604
7521 __cil_tmp10 = (long )part;
7522#line 604
7523 __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
7524#line 604
7525 __cil_tmp12 = __cil_tmp11 / 896L;
7526#line 604
7527 partid = (short )__cil_tmp12;
7528#line 608
7529 ldv_spin_lock();
7530#line 612
7531 __cil_tmp13 = (unsigned long )part;
7532#line 612
7533 __cil_tmp14 = __cil_tmp13 + 112;
7534#line 612
7535 *((u8 *)__cil_tmp14) = (u8 )1U;
7536#line 613
7537 __cil_tmp15 = (unsigned long )part;
7538#line 613
7539 __cil_tmp16 = __cil_tmp15 + 116;
7540#line 613
7541 *((enum xp_retval *)__cil_tmp16) = (enum xp_retval )24;
7542#line 613
7543 __cil_tmp17 = (unsigned long )part;
7544#line 613
7545 __cil_tmp18 = __cil_tmp17 + 120;
7546#line 613
7547 *((int *)__cil_tmp18) = 613;
7548#line 615
7549 __cil_tmp19 = (unsigned long )part;
7550#line 615
7551 __cil_tmp20 = __cil_tmp19 + 40;
7552#line 615
7553 __cil_tmp21 = (spinlock_t *)__cil_tmp20;
7554#line 615
7555 spin_unlock_irqrestore(__cil_tmp21, irq_flags);
7556#line 617
7557 __cil_tmp22 = (unsigned long long )partid;
7558#line 617
7559 __cil_tmp23 = (void *)__cil_tmp22;
7560#line 617
7561 __cil_tmp24 = (int )partid;
7562#line 617
7563 tmp = kthread_create_on_node(& xpc_activating, __cil_tmp23, -1, "xpc%02d", __cil_tmp24);
7564#line 617
7565 __k = tmp;
7566#line 617
7567 __cil_tmp25 = (void *)__k;
7568#line 617
7569 tmp___0 = IS_ERR(__cil_tmp25);
7570 }
7571#line 617
7572 if (tmp___0 == 0L) {
7573 {
7574#line 617
7575 wake_up_process(__k);
7576 }
7577 } else {
7578
7579 }
7580 {
7581#line 617
7582 kthread = __k;
7583#line 619
7584 __cil_tmp26 = (void *)kthread;
7585#line 619
7586 tmp___1 = IS_ERR(__cil_tmp26);
7587 }
7588#line 619
7589 if (tmp___1 != 0L) {
7590 {
7591#line 620
7592 ldv_spin_lock();
7593#line 621
7594 __cil_tmp27 = (unsigned long )part;
7595#line 621
7596 __cil_tmp28 = __cil_tmp27 + 112;
7597#line 621
7598 *((u8 *)__cil_tmp28) = (u8 )0U;
7599#line 622
7600 __cil_tmp29 = (unsigned long )part;
7601#line 622
7602 __cil_tmp30 = __cil_tmp29 + 116;
7603#line 622
7604 *((enum xp_retval *)__cil_tmp30) = (enum xp_retval )25;
7605#line 622
7606 __cil_tmp31 = (unsigned long )part;
7607#line 622
7608 __cil_tmp32 = __cil_tmp31 + 120;
7609#line 622
7610 *((int *)__cil_tmp32) = 622;
7611#line 623
7612 __cil_tmp33 = (unsigned long )part;
7613#line 623
7614 __cil_tmp34 = __cil_tmp33 + 40;
7615#line 623
7616 __cil_tmp35 = (spinlock_t *)__cil_tmp34;
7617#line 623
7618 spin_unlock_irqrestore(__cil_tmp35, irq_flags);
7619 }
7620 } else {
7621
7622 }
7623#line 625
7624 return;
7625}
7626}
7627#line 628 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
7628void xpc_activate_kthreads(struct xpc_channel *ch , int needed )
7629{ int idle ;
7630 int tmp ;
7631 int assigned ;
7632 int tmp___0 ;
7633 int wakeup ;
7634 struct _ddebug descriptor ;
7635 long tmp___1 ;
7636 struct _ddebug descriptor___0 ;
7637 long tmp___2 ;
7638 unsigned long __cil_tmp12 ;
7639 unsigned long __cil_tmp13 ;
7640 atomic_t *__cil_tmp14 ;
7641 atomic_t *__cil_tmp15 ;
7642 unsigned long __cil_tmp16 ;
7643 unsigned long __cil_tmp17 ;
7644 atomic_t *__cil_tmp18 ;
7645 atomic_t *__cil_tmp19 ;
7646 struct _ddebug *__cil_tmp20 ;
7647 unsigned long __cil_tmp21 ;
7648 unsigned long __cil_tmp22 ;
7649 unsigned long __cil_tmp23 ;
7650 unsigned long __cil_tmp24 ;
7651 unsigned long __cil_tmp25 ;
7652 unsigned long __cil_tmp26 ;
7653 unsigned char __cil_tmp27 ;
7654 long __cil_tmp28 ;
7655 long __cil_tmp29 ;
7656 struct device *__cil_tmp30 ;
7657 short __cil_tmp31 ;
7658 int __cil_tmp32 ;
7659 unsigned long __cil_tmp33 ;
7660 unsigned long __cil_tmp34 ;
7661 u16 __cil_tmp35 ;
7662 int __cil_tmp36 ;
7663 unsigned long __cil_tmp37 ;
7664 unsigned long __cil_tmp38 ;
7665 wait_queue_head_t *__cil_tmp39 ;
7666 void *__cil_tmp40 ;
7667 unsigned long __cil_tmp41 ;
7668 unsigned long __cil_tmp42 ;
7669 u32 __cil_tmp43 ;
7670 int __cil_tmp44 ;
7671 u32 __cil_tmp45 ;
7672 u32 __cil_tmp46 ;
7673 unsigned long __cil_tmp47 ;
7674 unsigned long __cil_tmp48 ;
7675 u32 __cil_tmp49 ;
7676 u32 __cil_tmp50 ;
7677 struct _ddebug *__cil_tmp51 ;
7678 unsigned long __cil_tmp52 ;
7679 unsigned long __cil_tmp53 ;
7680 unsigned long __cil_tmp54 ;
7681 unsigned long __cil_tmp55 ;
7682 unsigned long __cil_tmp56 ;
7683 unsigned long __cil_tmp57 ;
7684 unsigned char __cil_tmp58 ;
7685 long __cil_tmp59 ;
7686 long __cil_tmp60 ;
7687 struct device *__cil_tmp61 ;
7688 short __cil_tmp62 ;
7689 int __cil_tmp63 ;
7690 unsigned long __cil_tmp64 ;
7691 unsigned long __cil_tmp65 ;
7692 u16 __cil_tmp66 ;
7693 int __cil_tmp67 ;
7694
7695 {
7696 {
7697#line 630
7698 __cil_tmp12 = (unsigned long )ch;
7699#line 630
7700 __cil_tmp13 = __cil_tmp12 + 328;
7701#line 630
7702 __cil_tmp14 = (atomic_t *)__cil_tmp13;
7703#line 630
7704 __cil_tmp15 = (atomic_t *)__cil_tmp14;
7705#line 630
7706 tmp = atomic_read(__cil_tmp15);
7707#line 630
7708 idle = tmp;
7709#line 631
7710 __cil_tmp16 = (unsigned long )ch;
7711#line 631
7712 __cil_tmp17 = __cil_tmp16 + 320;
7713#line 631
7714 __cil_tmp18 = (atomic_t *)__cil_tmp17;
7715#line 631
7716 __cil_tmp19 = (atomic_t *)__cil_tmp18;
7717#line 631
7718 tmp___0 = atomic_read(__cil_tmp19);
7719#line 631
7720 assigned = tmp___0;
7721 }
7722#line 636
7723 if (idle > 0) {
7724#line 637
7725 if (idle < needed) {
7726#line 637
7727 wakeup = idle;
7728 } else {
7729#line 637
7730 wakeup = needed;
7731 }
7732 {
7733#line 638
7734 needed = needed - wakeup;
7735#line 640
7736 __cil_tmp20 = & descriptor;
7737#line 640
7738 *((char **)__cil_tmp20) = "xpc";
7739#line 640
7740 __cil_tmp21 = (unsigned long )(& descriptor) + 8;
7741#line 640
7742 *((char **)__cil_tmp21) = "xpc_activate_kthreads";
7743#line 640
7744 __cil_tmp22 = (unsigned long )(& descriptor) + 16;
7745#line 640
7746 *((char **)__cil_tmp22) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
7747#line 640
7748 __cil_tmp23 = (unsigned long )(& descriptor) + 24;
7749#line 640
7750 *((char **)__cil_tmp23) = "wakeup %d idle kthreads, partid=%d, channel=%d\n";
7751#line 640
7752 __cil_tmp24 = (unsigned long )(& descriptor) + 32;
7753#line 640
7754 *((unsigned int *)__cil_tmp24) = 641U;
7755#line 640
7756 __cil_tmp25 = (unsigned long )(& descriptor) + 35;
7757#line 640
7758 *((unsigned char *)__cil_tmp25) = (unsigned char)0;
7759#line 640
7760 __cil_tmp26 = (unsigned long )(& descriptor) + 35;
7761#line 640
7762 __cil_tmp27 = *((unsigned char *)__cil_tmp26);
7763#line 640
7764 __cil_tmp28 = (long )__cil_tmp27;
7765#line 640
7766 __cil_tmp29 = __cil_tmp28 & 1L;
7767#line 640
7768 tmp___1 = __builtin_expect(__cil_tmp29, 0L);
7769 }
7770#line 640
7771 if (tmp___1 != 0L) {
7772 {
7773#line 640
7774 __cil_tmp30 = (struct device *)xpc_chan;
7775#line 640
7776 __cil_tmp31 = *((short *)ch);
7777#line 640
7778 __cil_tmp32 = (int )__cil_tmp31;
7779#line 640
7780 __cil_tmp33 = (unsigned long )ch;
7781#line 640
7782 __cil_tmp34 = __cil_tmp33 + 92;
7783#line 640
7784 __cil_tmp35 = *((u16 *)__cil_tmp34);
7785#line 640
7786 __cil_tmp36 = (int )__cil_tmp35;
7787#line 640
7788 __dynamic_dev_dbg(& descriptor, __cil_tmp30, "wakeup %d idle kthreads, partid=%d, channel=%d\n",
7789 wakeup, __cil_tmp32, __cil_tmp36);
7790 }
7791 } else {
7792
7793 }
7794 {
7795#line 644
7796 __cil_tmp37 = (unsigned long )ch;
7797#line 644
7798 __cil_tmp38 = __cil_tmp37 + 344;
7799#line 644
7800 __cil_tmp39 = (wait_queue_head_t *)__cil_tmp38;
7801#line 644
7802 __cil_tmp40 = (void *)0;
7803#line 644
7804 __wake_up(__cil_tmp39, 3U, wakeup, __cil_tmp40);
7805 }
7806 } else {
7807
7808 }
7809#line 647
7810 if (needed <= 0) {
7811#line 648
7812 return;
7813 } else {
7814
7815 }
7816 {
7817#line 650
7818 __cil_tmp41 = (unsigned long )ch;
7819#line 650
7820 __cil_tmp42 = __cil_tmp41 + 324;
7821#line 650
7822 __cil_tmp43 = *((u32 *)__cil_tmp42);
7823#line 650
7824 __cil_tmp44 = needed + assigned;
7825#line 650
7826 __cil_tmp45 = (u32 )__cil_tmp44;
7827#line 650
7828 if (__cil_tmp45 > __cil_tmp43) {
7829#line 651
7830 __cil_tmp46 = (u32 )assigned;
7831#line 651
7832 __cil_tmp47 = (unsigned long )ch;
7833#line 651
7834 __cil_tmp48 = __cil_tmp47 + 324;
7835#line 651
7836 __cil_tmp49 = *((u32 *)__cil_tmp48);
7837#line 651
7838 __cil_tmp50 = __cil_tmp49 - __cil_tmp46;
7839#line 651
7840 needed = (int )__cil_tmp50;
7841#line 652
7842 if (needed <= 0) {
7843#line 653
7844 return;
7845 } else {
7846
7847 }
7848 } else {
7849
7850 }
7851 }
7852 {
7853#line 656
7854 __cil_tmp51 = & descriptor___0;
7855#line 656
7856 *((char **)__cil_tmp51) = "xpc";
7857#line 656
7858 __cil_tmp52 = (unsigned long )(& descriptor___0) + 8;
7859#line 656
7860 *((char **)__cil_tmp52) = "xpc_activate_kthreads";
7861#line 656
7862 __cil_tmp53 = (unsigned long )(& descriptor___0) + 16;
7863#line 656
7864 *((char **)__cil_tmp53) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
7865#line 656
7866 __cil_tmp54 = (unsigned long )(& descriptor___0) + 24;
7867#line 656
7868 *((char **)__cil_tmp54) = "create %d new kthreads, partid=%d, channel=%d\n";
7869#line 656
7870 __cil_tmp55 = (unsigned long )(& descriptor___0) + 32;
7871#line 656
7872 *((unsigned int *)__cil_tmp55) = 657U;
7873#line 656
7874 __cil_tmp56 = (unsigned long )(& descriptor___0) + 35;
7875#line 656
7876 *((unsigned char *)__cil_tmp56) = (unsigned char)0;
7877#line 656
7878 __cil_tmp57 = (unsigned long )(& descriptor___0) + 35;
7879#line 656
7880 __cil_tmp58 = *((unsigned char *)__cil_tmp57);
7881#line 656
7882 __cil_tmp59 = (long )__cil_tmp58;
7883#line 656
7884 __cil_tmp60 = __cil_tmp59 & 1L;
7885#line 656
7886 tmp___2 = __builtin_expect(__cil_tmp60, 0L);
7887 }
7888#line 656
7889 if (tmp___2 != 0L) {
7890 {
7891#line 656
7892 __cil_tmp61 = (struct device *)xpc_chan;
7893#line 656
7894 __cil_tmp62 = *((short *)ch);
7895#line 656
7896 __cil_tmp63 = (int )__cil_tmp62;
7897#line 656
7898 __cil_tmp64 = (unsigned long )ch;
7899#line 656
7900 __cil_tmp65 = __cil_tmp64 + 92;
7901#line 656
7902 __cil_tmp66 = *((u16 *)__cil_tmp65);
7903#line 656
7904 __cil_tmp67 = (int )__cil_tmp66;
7905#line 656
7906 __dynamic_dev_dbg(& descriptor___0, __cil_tmp61, "create %d new kthreads, partid=%d, channel=%d\n",
7907 needed, __cil_tmp63, __cil_tmp67);
7908 }
7909 } else {
7910
7911 }
7912 {
7913#line 659
7914 xpc_create_kthreads(ch, needed, 0);
7915 }
7916#line 660
7917 return;
7918}
7919}
7920#line 666 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
7921static void xpc_kthread_waitmsgs(struct xpc_partition *part , struct xpc_channel *ch )
7922{ int (*n_of_deliverable_payloads)(struct xpc_channel * ) ;
7923 int tmp ;
7924 int tmp___0 ;
7925 struct _ddebug descriptor ;
7926 long tmp___1 ;
7927 int __ret ;
7928 wait_queue_t __wait ;
7929 struct task_struct *tmp___2 ;
7930 int tmp___3 ;
7931 struct task_struct *tmp___4 ;
7932 int tmp___5 ;
7933 int tmp___6 ;
7934 unsigned long __cil_tmp15 ;
7935 unsigned long __cil_tmp16 ;
7936 unsigned int __cil_tmp17 ;
7937 unsigned int __cil_tmp18 ;
7938 unsigned long __cil_tmp19 ;
7939 unsigned long __cil_tmp20 ;
7940 atomic_t *__cil_tmp21 ;
7941 unsigned long __cil_tmp22 ;
7942 unsigned long __cil_tmp23 ;
7943 u32 __cil_tmp24 ;
7944 u32 __cil_tmp25 ;
7945 unsigned long __cil_tmp26 ;
7946 unsigned long __cil_tmp27 ;
7947 atomic_t *__cil_tmp28 ;
7948 struct _ddebug *__cil_tmp29 ;
7949 unsigned long __cil_tmp30 ;
7950 unsigned long __cil_tmp31 ;
7951 unsigned long __cil_tmp32 ;
7952 unsigned long __cil_tmp33 ;
7953 unsigned long __cil_tmp34 ;
7954 unsigned long __cil_tmp35 ;
7955 unsigned char __cil_tmp36 ;
7956 long __cil_tmp37 ;
7957 long __cil_tmp38 ;
7958 struct device *__cil_tmp39 ;
7959 unsigned long __cil_tmp40 ;
7960 unsigned long __cil_tmp41 ;
7961 unsigned int __cil_tmp42 ;
7962 unsigned int __cil_tmp43 ;
7963 wait_queue_t *__cil_tmp44 ;
7964 unsigned long __cil_tmp45 ;
7965 unsigned long __cil_tmp46 ;
7966 unsigned long __cil_tmp47 ;
7967 unsigned long __cil_tmp48 ;
7968 unsigned long __cil_tmp49 ;
7969 unsigned long __cil_tmp50 ;
7970 unsigned long __cil_tmp51 ;
7971 unsigned long __cil_tmp52 ;
7972 unsigned long __cil_tmp53 ;
7973 wait_queue_head_t *__cil_tmp54 ;
7974 unsigned long __cil_tmp55 ;
7975 unsigned long __cil_tmp56 ;
7976 wait_queue_head_t *__cil_tmp57 ;
7977 unsigned long __cil_tmp58 ;
7978 unsigned long __cil_tmp59 ;
7979 unsigned int __cil_tmp60 ;
7980 unsigned int __cil_tmp61 ;
7981 unsigned long __cil_tmp62 ;
7982 unsigned long __cil_tmp63 ;
7983 wait_queue_head_t *__cil_tmp64 ;
7984 unsigned long __cil_tmp65 ;
7985 unsigned long __cil_tmp66 ;
7986 wait_queue_head_t *__cil_tmp67 ;
7987 void *__cil_tmp68 ;
7988 unsigned long __cil_tmp69 ;
7989 unsigned long __cil_tmp70 ;
7990 atomic_t *__cil_tmp71 ;
7991 unsigned long __cil_tmp72 ;
7992 unsigned long __cil_tmp73 ;
7993 unsigned int __cil_tmp74 ;
7994 unsigned int __cil_tmp75 ;
7995
7996 {
7997#line 668
7998 n_of_deliverable_payloads = xpc_arch_ops.n_of_deliverable_payloads;
7999 ldv_19293: ;
8000#line 674
8001 goto ldv_19282;
8002 ldv_19281:
8003 {
8004#line 676
8005 xpc_deliver_payload(ch);
8006 }
8007 ldv_19282:
8008 {
8009#line 674
8010 tmp = (*n_of_deliverable_payloads)(ch);
8011 }
8012#line 674
8013 if (tmp > 0) {
8014 {
8015#line 674
8016 __cil_tmp15 = (unsigned long )ch;
8017#line 674
8018 __cil_tmp16 = __cil_tmp15 + 80;
8019#line 674
8020 __cil_tmp17 = *((unsigned int *)__cil_tmp16);
8021#line 674
8022 __cil_tmp18 = __cil_tmp17 & 131072U;
8023#line 674
8024 if (__cil_tmp18 == 0U) {
8025#line 676
8026 goto ldv_19281;
8027 } else {
8028#line 678
8029 goto ldv_19283;
8030 }
8031 }
8032 } else {
8033#line 678
8034 goto ldv_19283;
8035 }
8036 ldv_19283:
8037 {
8038#line 679
8039 __cil_tmp19 = (unsigned long )ch;
8040#line 679
8041 __cil_tmp20 = __cil_tmp19 + 328;
8042#line 679
8043 __cil_tmp21 = (atomic_t *)__cil_tmp20;
8044#line 679
8045 tmp___0 = atomic_add_return(1, __cil_tmp21);
8046 }
8047 {
8048#line 679
8049 __cil_tmp22 = (unsigned long )ch;
8050#line 679
8051 __cil_tmp23 = __cil_tmp22 + 332;
8052#line 679
8053 __cil_tmp24 = *((u32 *)__cil_tmp23);
8054#line 679
8055 __cil_tmp25 = (u32 )tmp___0;
8056#line 679
8057 if (__cil_tmp25 > __cil_tmp24) {
8058 {
8059#line 682
8060 __cil_tmp26 = (unsigned long )ch;
8061#line 682
8062 __cil_tmp27 = __cil_tmp26 + 328;
8063#line 682
8064 __cil_tmp28 = (atomic_t *)__cil_tmp27;
8065#line 682
8066 atomic_dec(__cil_tmp28);
8067 }
8068#line 683
8069 goto ldv_19284;
8070 } else {
8071
8072 }
8073 }
8074 {
8075#line 686
8076 __cil_tmp29 = & descriptor;
8077#line 686
8078 *((char **)__cil_tmp29) = "xpc";
8079#line 686
8080 __cil_tmp30 = (unsigned long )(& descriptor) + 8;
8081#line 686
8082 *((char **)__cil_tmp30) = "xpc_kthread_waitmsgs";
8083#line 686
8084 __cil_tmp31 = (unsigned long )(& descriptor) + 16;
8085#line 686
8086 *((char **)__cil_tmp31) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
8087#line 686
8088 __cil_tmp32 = (unsigned long )(& descriptor) + 24;
8089#line 686
8090 *((char **)__cil_tmp32) = "idle kthread calling wait_event_interruptible_exclusive()\n";
8091#line 686
8092 __cil_tmp33 = (unsigned long )(& descriptor) + 32;
8093#line 686
8094 *((unsigned int *)__cil_tmp33) = 687U;
8095#line 686
8096 __cil_tmp34 = (unsigned long )(& descriptor) + 35;
8097#line 686
8098 *((unsigned char *)__cil_tmp34) = (unsigned char)0;
8099#line 686
8100 __cil_tmp35 = (unsigned long )(& descriptor) + 35;
8101#line 686
8102 __cil_tmp36 = *((unsigned char *)__cil_tmp35);
8103#line 686
8104 __cil_tmp37 = (long )__cil_tmp36;
8105#line 686
8106 __cil_tmp38 = __cil_tmp37 & 1L;
8107#line 686
8108 tmp___1 = __builtin_expect(__cil_tmp38, 0L);
8109 }
8110#line 686
8111 if (tmp___1 != 0L) {
8112 {
8113#line 686
8114 __cil_tmp39 = (struct device *)xpc_chan;
8115#line 686
8116 __dynamic_dev_dbg(& descriptor, __cil_tmp39, "idle kthread calling wait_event_interruptible_exclusive()\n");
8117 }
8118 } else {
8119
8120 }
8121 {
8122#line 689
8123 __ret = 0;
8124#line 689
8125 tmp___6 = (*n_of_deliverable_payloads)(ch);
8126 }
8127#line 689
8128 if (tmp___6 <= 0) {
8129 {
8130#line 689
8131 __cil_tmp40 = (unsigned long )ch;
8132#line 689
8133 __cil_tmp41 = __cil_tmp40 + 80;
8134#line 689
8135 __cil_tmp42 = *((unsigned int *)__cil_tmp41);
8136#line 689
8137 __cil_tmp43 = __cil_tmp42 & 131072U;
8138#line 689
8139 if (__cil_tmp43 == 0U) {
8140 {
8141#line 689
8142 tmp___2 = get_current();
8143#line 689
8144 __cil_tmp44 = & __wait;
8145#line 689
8146 *((unsigned int *)__cil_tmp44) = 0U;
8147#line 689
8148 __cil_tmp45 = (unsigned long )(& __wait) + 8;
8149#line 689
8150 *((void **)__cil_tmp45) = (void *)tmp___2;
8151#line 689
8152 __cil_tmp46 = (unsigned long )(& __wait) + 16;
8153#line 689
8154 *((int (**)(wait_queue_t * , unsigned int , int , void * ))__cil_tmp46) = & autoremove_wake_function;
8155#line 689
8156 __cil_tmp47 = (unsigned long )(& __wait) + 24;
8157#line 689
8158 __cil_tmp48 = (unsigned long )(& __wait) + 24;
8159#line 689
8160 *((struct list_head **)__cil_tmp47) = (struct list_head *)__cil_tmp48;
8161#line 689
8162 __cil_tmp49 = 24 + 8;
8163#line 689
8164 __cil_tmp50 = (unsigned long )(& __wait) + __cil_tmp49;
8165#line 689
8166 __cil_tmp51 = (unsigned long )(& __wait) + 24;
8167#line 689
8168 *((struct list_head **)__cil_tmp50) = (struct list_head *)__cil_tmp51;
8169 }
8170 ldv_19291:
8171 {
8172#line 689
8173 __cil_tmp52 = (unsigned long )ch;
8174#line 689
8175 __cil_tmp53 = __cil_tmp52 + 344;
8176#line 689
8177 __cil_tmp54 = (wait_queue_head_t *)__cil_tmp53;
8178#line 689
8179 prepare_to_wait_exclusive(__cil_tmp54, & __wait, 1);
8180#line 689
8181 tmp___3 = (*n_of_deliverable_payloads)(ch);
8182 }
8183#line 689
8184 if (tmp___3 > 0) {
8185 {
8186#line 689
8187 __cil_tmp55 = (unsigned long )ch;
8188#line 689
8189 __cil_tmp56 = __cil_tmp55 + 344;
8190#line 689
8191 __cil_tmp57 = (wait_queue_head_t *)__cil_tmp56;
8192#line 689
8193 finish_wait(__cil_tmp57, & __wait);
8194 }
8195#line 689
8196 goto ldv_19289;
8197 } else {
8198 {
8199#line 689
8200 __cil_tmp58 = (unsigned long )ch;
8201#line 689
8202 __cil_tmp59 = __cil_tmp58 + 80;
8203#line 689
8204 __cil_tmp60 = *((unsigned int *)__cil_tmp59);
8205#line 689
8206 __cil_tmp61 = __cil_tmp60 & 131072U;
8207#line 689
8208 if (__cil_tmp61 != 0U) {
8209 {
8210#line 689
8211 __cil_tmp62 = (unsigned long )ch;
8212#line 689
8213 __cil_tmp63 = __cil_tmp62 + 344;
8214#line 689
8215 __cil_tmp64 = (wait_queue_head_t *)__cil_tmp63;
8216#line 689
8217 finish_wait(__cil_tmp64, & __wait);
8218 }
8219#line 689
8220 goto ldv_19289;
8221 } else {
8222
8223 }
8224 }
8225 }
8226 {
8227#line 689
8228 tmp___4 = get_current();
8229#line 689
8230 tmp___5 = signal_pending(tmp___4);
8231 }
8232#line 689
8233 if (tmp___5 == 0) {
8234 {
8235#line 689
8236 schedule();
8237 }
8238#line 689
8239 goto ldv_19290;
8240 } else {
8241
8242 }
8243 {
8244#line 689
8245 __ret = -512;
8246#line 689
8247 __cil_tmp65 = (unsigned long )ch;
8248#line 689
8249 __cil_tmp66 = __cil_tmp65 + 344;
8250#line 689
8251 __cil_tmp67 = (wait_queue_head_t *)__cil_tmp66;
8252#line 689
8253 __cil_tmp68 = (void *)0;
8254#line 689
8255 abort_exclusive_wait(__cil_tmp67, & __wait, 1U, __cil_tmp68);
8256 }
8257#line 689
8258 goto ldv_19289;
8259 ldv_19290: ;
8260#line 689
8261 goto ldv_19291;
8262 ldv_19289: ;
8263 } else {
8264
8265 }
8266 }
8267 } else {
8268
8269 }
8270 {
8271#line 693
8272 __cil_tmp69 = (unsigned long )ch;
8273#line 693
8274 __cil_tmp70 = __cil_tmp69 + 328;
8275#line 693
8276 __cil_tmp71 = (atomic_t *)__cil_tmp70;
8277#line 693
8278 atomic_dec(__cil_tmp71);
8279 }
8280 {
8281#line 695
8282 __cil_tmp72 = (unsigned long )ch;
8283#line 695
8284 __cil_tmp73 = __cil_tmp72 + 80;
8285#line 695
8286 __cil_tmp74 = *((unsigned int *)__cil_tmp73);
8287#line 695
8288 __cil_tmp75 = __cil_tmp74 & 131072U;
8289#line 695
8290 if (__cil_tmp75 == 0U) {
8291#line 696
8292 goto ldv_19293;
8293 } else {
8294#line 698
8295 goto ldv_19284;
8296 }
8297 }
8298 ldv_19284: ;
8299#line 700
8300 return;
8301}
8302}
8303#line 699 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
8304static int xpc_kthread_start(void *args )
8305{ short partid ;
8306 u16 ch_number ;
8307 struct xpc_partition *part ;
8308 struct xpc_channel *ch ;
8309 int n_needed ;
8310 unsigned long irq_flags ;
8311 int (*n_of_deliverable_payloads)(struct xpc_channel * ) ;
8312 struct _ddebug descriptor ;
8313 long tmp ;
8314 int tmp___0 ;
8315 int tmp___1 ;
8316 int tmp___2 ;
8317 struct _ddebug descriptor___0 ;
8318 long tmp___3 ;
8319 long __cil_tmp16 ;
8320 unsigned long long __cil_tmp17 ;
8321 unsigned long long __cil_tmp18 ;
8322 unsigned long __cil_tmp19 ;
8323 struct _ddebug *__cil_tmp20 ;
8324 unsigned long __cil_tmp21 ;
8325 unsigned long __cil_tmp22 ;
8326 unsigned long __cil_tmp23 ;
8327 unsigned long __cil_tmp24 ;
8328 unsigned long __cil_tmp25 ;
8329 unsigned long __cil_tmp26 ;
8330 unsigned char __cil_tmp27 ;
8331 long __cil_tmp28 ;
8332 long __cil_tmp29 ;
8333 struct device *__cil_tmp30 ;
8334 int __cil_tmp31 ;
8335 int __cil_tmp32 ;
8336 unsigned long __cil_tmp33 ;
8337 unsigned long __cil_tmp34 ;
8338 unsigned long __cil_tmp35 ;
8339 struct xpc_channel *__cil_tmp36 ;
8340 unsigned long __cil_tmp37 ;
8341 unsigned long __cil_tmp38 ;
8342 unsigned int __cil_tmp39 ;
8343 unsigned int __cil_tmp40 ;
8344 unsigned long __cil_tmp41 ;
8345 unsigned long __cil_tmp42 ;
8346 unsigned int __cil_tmp43 ;
8347 unsigned int __cil_tmp44 ;
8348 unsigned long __cil_tmp45 ;
8349 unsigned long __cil_tmp46 ;
8350 unsigned long __cil_tmp47 ;
8351 unsigned long __cil_tmp48 ;
8352 unsigned int __cil_tmp49 ;
8353 unsigned long __cil_tmp50 ;
8354 unsigned long __cil_tmp51 ;
8355 spinlock_t *__cil_tmp52 ;
8356 unsigned long __cil_tmp53 ;
8357 unsigned long __cil_tmp54 ;
8358 unsigned long __cil_tmp55 ;
8359 unsigned long __cil_tmp56 ;
8360 unsigned int __cil_tmp57 ;
8361 unsigned long __cil_tmp58 ;
8362 unsigned long __cil_tmp59 ;
8363 spinlock_t *__cil_tmp60 ;
8364 unsigned long __cil_tmp61 ;
8365 unsigned long __cil_tmp62 ;
8366 unsigned int __cil_tmp63 ;
8367 unsigned int __cil_tmp64 ;
8368 unsigned long __cil_tmp65 ;
8369 unsigned long __cil_tmp66 ;
8370 spinlock_t *__cil_tmp67 ;
8371 unsigned long __cil_tmp68 ;
8372 unsigned long __cil_tmp69 ;
8373 unsigned int __cil_tmp70 ;
8374 unsigned int __cil_tmp71 ;
8375 unsigned long __cil_tmp72 ;
8376 unsigned long __cil_tmp73 ;
8377 unsigned int __cil_tmp74 ;
8378 unsigned int __cil_tmp75 ;
8379 unsigned long __cil_tmp76 ;
8380 unsigned long __cil_tmp77 ;
8381 unsigned long __cil_tmp78 ;
8382 unsigned long __cil_tmp79 ;
8383 unsigned int __cil_tmp80 ;
8384 unsigned long __cil_tmp81 ;
8385 unsigned long __cil_tmp82 ;
8386 spinlock_t *__cil_tmp83 ;
8387 enum xp_retval __cil_tmp84 ;
8388 unsigned long __cil_tmp85 ;
8389 unsigned long __cil_tmp86 ;
8390 unsigned long __cil_tmp87 ;
8391 unsigned long __cil_tmp88 ;
8392 unsigned int __cil_tmp89 ;
8393 unsigned long __cil_tmp90 ;
8394 unsigned long __cil_tmp91 ;
8395 spinlock_t *__cil_tmp92 ;
8396 unsigned long __cil_tmp93 ;
8397 unsigned long __cil_tmp94 ;
8398 atomic_t *__cil_tmp95 ;
8399 unsigned long __cil_tmp96 ;
8400 unsigned long __cil_tmp97 ;
8401 atomic_t *__cil_tmp98 ;
8402 struct _ddebug *__cil_tmp99 ;
8403 unsigned long __cil_tmp100 ;
8404 unsigned long __cil_tmp101 ;
8405 unsigned long __cil_tmp102 ;
8406 unsigned long __cil_tmp103 ;
8407 unsigned long __cil_tmp104 ;
8408 unsigned long __cil_tmp105 ;
8409 unsigned char __cil_tmp106 ;
8410 long __cil_tmp107 ;
8411 long __cil_tmp108 ;
8412 struct device *__cil_tmp109 ;
8413 int __cil_tmp110 ;
8414 int __cil_tmp111 ;
8415
8416 {
8417 {
8418#line 701
8419 __cil_tmp16 = (long )args;
8420#line 701
8421 partid = (short )__cil_tmp16;
8422#line 702
8423 __cil_tmp17 = (unsigned long long )args;
8424#line 702
8425 __cil_tmp18 = __cil_tmp17 >> 32;
8426#line 702
8427 ch_number = (u16 )__cil_tmp18;
8428#line 703
8429 __cil_tmp19 = (unsigned long )partid;
8430#line 703
8431 part = xpc_partitions + __cil_tmp19;
8432#line 707
8433 n_of_deliverable_payloads = xpc_arch_ops.n_of_deliverable_payloads;
8434#line 710
8435 __cil_tmp20 = & descriptor;
8436#line 710
8437 *((char **)__cil_tmp20) = "xpc";
8438#line 710
8439 __cil_tmp21 = (unsigned long )(& descriptor) + 8;
8440#line 710
8441 *((char **)__cil_tmp21) = "xpc_kthread_start";
8442#line 710
8443 __cil_tmp22 = (unsigned long )(& descriptor) + 16;
8444#line 710
8445 *((char **)__cil_tmp22) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
8446#line 710
8447 __cil_tmp23 = (unsigned long )(& descriptor) + 24;
8448#line 710
8449 *((char **)__cil_tmp23) = "kthread starting, partid=%d, channel=%d\n";
8450#line 710
8451 __cil_tmp24 = (unsigned long )(& descriptor) + 32;
8452#line 710
8453 *((unsigned int *)__cil_tmp24) = 711U;
8454#line 710
8455 __cil_tmp25 = (unsigned long )(& descriptor) + 35;
8456#line 710
8457 *((unsigned char *)__cil_tmp25) = (unsigned char)0;
8458#line 710
8459 __cil_tmp26 = (unsigned long )(& descriptor) + 35;
8460#line 710
8461 __cil_tmp27 = *((unsigned char *)__cil_tmp26);
8462#line 710
8463 __cil_tmp28 = (long )__cil_tmp27;
8464#line 710
8465 __cil_tmp29 = __cil_tmp28 & 1L;
8466#line 710
8467 tmp = __builtin_expect(__cil_tmp29, 0L);
8468 }
8469#line 710
8470 if (tmp != 0L) {
8471 {
8472#line 710
8473 __cil_tmp30 = (struct device *)xpc_chan;
8474#line 710
8475 __cil_tmp31 = (int )partid;
8476#line 710
8477 __cil_tmp32 = (int )ch_number;
8478#line 710
8479 __dynamic_dev_dbg(& descriptor, __cil_tmp30, "kthread starting, partid=%d, channel=%d\n",
8480 __cil_tmp31, __cil_tmp32);
8481 }
8482 } else {
8483
8484 }
8485#line 713
8486 __cil_tmp33 = (unsigned long )ch_number;
8487#line 713
8488 __cil_tmp34 = (unsigned long )part;
8489#line 713
8490 __cil_tmp35 = __cil_tmp34 + 376;
8491#line 713
8492 __cil_tmp36 = *((struct xpc_channel **)__cil_tmp35);
8493#line 713
8494 ch = __cil_tmp36 + __cil_tmp33;
8495 {
8496#line 715
8497 __cil_tmp37 = (unsigned long )ch;
8498#line 715
8499 __cil_tmp38 = __cil_tmp37 + 80;
8500#line 715
8501 __cil_tmp39 = *((unsigned int *)__cil_tmp38);
8502#line 715
8503 __cil_tmp40 = __cil_tmp39 & 131072U;
8504#line 715
8505 if (__cil_tmp40 == 0U) {
8506 {
8507#line 719
8508 ldv_spin_lock();
8509 }
8510 {
8511#line 720
8512 __cil_tmp41 = (unsigned long )ch;
8513#line 720
8514 __cil_tmp42 = __cil_tmp41 + 80;
8515#line 720
8516 __cil_tmp43 = *((unsigned int *)__cil_tmp42);
8517#line 720
8518 __cil_tmp44 = __cil_tmp43 & 256U;
8519#line 720
8520 if (__cil_tmp44 == 0U) {
8521 {
8522#line 721
8523 __cil_tmp45 = (unsigned long )ch;
8524#line 721
8525 __cil_tmp46 = __cil_tmp45 + 80;
8526#line 721
8527 __cil_tmp47 = (unsigned long )ch;
8528#line 721
8529 __cil_tmp48 = __cil_tmp47 + 80;
8530#line 721
8531 __cil_tmp49 = *((unsigned int *)__cil_tmp48);
8532#line 721
8533 *((unsigned int *)__cil_tmp46) = __cil_tmp49 | 256U;
8534#line 722
8535 __cil_tmp50 = (unsigned long )ch;
8536#line 722
8537 __cil_tmp51 = __cil_tmp50 + 8;
8538#line 722
8539 __cil_tmp52 = (spinlock_t *)__cil_tmp51;
8540#line 722
8541 spin_unlock_irqrestore(__cil_tmp52, irq_flags);
8542#line 724
8543 xpc_connected_callout(ch);
8544#line 726
8545 ldv_spin_lock();
8546#line 727
8547 __cil_tmp53 = (unsigned long )ch;
8548#line 727
8549 __cil_tmp54 = __cil_tmp53 + 80;
8550#line 727
8551 __cil_tmp55 = (unsigned long )ch;
8552#line 727
8553 __cil_tmp56 = __cil_tmp55 + 80;
8554#line 727
8555 __cil_tmp57 = *((unsigned int *)__cil_tmp56);
8556#line 727
8557 *((unsigned int *)__cil_tmp54) = __cil_tmp57 | 512U;
8558#line 728
8559 __cil_tmp58 = (unsigned long )ch;
8560#line 728
8561 __cil_tmp59 = __cil_tmp58 + 8;
8562#line 728
8563 __cil_tmp60 = (spinlock_t *)__cil_tmp59;
8564#line 728
8565 spin_unlock_irqrestore(__cil_tmp60, irq_flags);
8566#line 737
8567 tmp___0 = (*n_of_deliverable_payloads)(ch);
8568#line 737
8569 n_needed = tmp___0 + -1;
8570 }
8571#line 738
8572 if (n_needed > 0) {
8573 {
8574#line 738
8575 __cil_tmp61 = (unsigned long )ch;
8576#line 738
8577 __cil_tmp62 = __cil_tmp61 + 80;
8578#line 738
8579 __cil_tmp63 = *((unsigned int *)__cil_tmp62);
8580#line 738
8581 __cil_tmp64 = __cil_tmp63 & 131072U;
8582#line 738
8583 if (__cil_tmp64 == 0U) {
8584 {
8585#line 739
8586 xpc_activate_kthreads(ch, n_needed);
8587 }
8588 } else {
8589
8590 }
8591 }
8592 } else {
8593
8594 }
8595 } else {
8596 {
8597#line 742
8598 __cil_tmp65 = (unsigned long )ch;
8599#line 742
8600 __cil_tmp66 = __cil_tmp65 + 8;
8601#line 742
8602 __cil_tmp67 = (spinlock_t *)__cil_tmp66;
8603#line 742
8604 spin_unlock_irqrestore(__cil_tmp67, irq_flags);
8605 }
8606 }
8607 }
8608 {
8609#line 745
8610 xpc_kthread_waitmsgs(part, ch);
8611 }
8612 } else {
8613
8614 }
8615 }
8616 {
8617#line 750
8618 ldv_spin_lock();
8619 }
8620 {
8621#line 751
8622 __cil_tmp68 = (unsigned long )ch;
8623#line 751
8624 __cil_tmp69 = __cil_tmp68 + 80;
8625#line 751
8626 __cil_tmp70 = *((unsigned int *)__cil_tmp69);
8627#line 751
8628 __cil_tmp71 = __cil_tmp70 & 512U;
8629#line 751
8630 if (__cil_tmp71 != 0U) {
8631 {
8632#line 751
8633 __cil_tmp72 = (unsigned long )ch;
8634#line 751
8635 __cil_tmp73 = __cil_tmp72 + 80;
8636#line 751
8637 __cil_tmp74 = *((unsigned int *)__cil_tmp73);
8638#line 751
8639 __cil_tmp75 = __cil_tmp74 & 262144U;
8640#line 751
8641 if (__cil_tmp75 == 0U) {
8642 {
8643#line 753
8644 __cil_tmp76 = (unsigned long )ch;
8645#line 753
8646 __cil_tmp77 = __cil_tmp76 + 80;
8647#line 753
8648 __cil_tmp78 = (unsigned long )ch;
8649#line 753
8650 __cil_tmp79 = __cil_tmp78 + 80;
8651#line 753
8652 __cil_tmp80 = *((unsigned int *)__cil_tmp79);
8653#line 753
8654 *((unsigned int *)__cil_tmp77) = __cil_tmp80 | 262144U;
8655#line 754
8656 __cil_tmp81 = (unsigned long )ch;
8657#line 754
8658 __cil_tmp82 = __cil_tmp81 + 8;
8659#line 754
8660 __cil_tmp83 = (spinlock_t *)__cil_tmp82;
8661#line 754
8662 spin_unlock_irqrestore(__cil_tmp83, irq_flags);
8663#line 756
8664 __cil_tmp84 = (enum xp_retval )49;
8665#line 756
8666 xpc_disconnect_callout(ch, __cil_tmp84);
8667#line 758
8668 ldv_spin_lock();
8669#line 759
8670 __cil_tmp85 = (unsigned long )ch;
8671#line 759
8672 __cil_tmp86 = __cil_tmp85 + 80;
8673#line 759
8674 __cil_tmp87 = (unsigned long )ch;
8675#line 759
8676 __cil_tmp88 = __cil_tmp87 + 80;
8677#line 759
8678 __cil_tmp89 = *((unsigned int *)__cil_tmp88);
8679#line 759
8680 *((unsigned int *)__cil_tmp86) = __cil_tmp89 | 524288U;
8681 }
8682 } else {
8683
8684 }
8685 }
8686 } else {
8687
8688 }
8689 }
8690 {
8691#line 761
8692 __cil_tmp90 = (unsigned long )ch;
8693#line 761
8694 __cil_tmp91 = __cil_tmp90 + 8;
8695#line 761
8696 __cil_tmp92 = (spinlock_t *)__cil_tmp91;
8697#line 761
8698 spin_unlock_irqrestore(__cil_tmp92, irq_flags);
8699#line 763
8700 __cil_tmp93 = (unsigned long )ch;
8701#line 763
8702 __cil_tmp94 = __cil_tmp93 + 320;
8703#line 763
8704 __cil_tmp95 = (atomic_t *)__cil_tmp94;
8705#line 763
8706 tmp___1 = atomic_sub_return(1, __cil_tmp95);
8707 }
8708#line 763
8709 if (tmp___1 == 0) {
8710 {
8711#line 763
8712 __cil_tmp96 = (unsigned long )part;
8713#line 763
8714 __cil_tmp97 = __cil_tmp96 + 372;
8715#line 763
8716 __cil_tmp98 = (atomic_t *)__cil_tmp97;
8717#line 763
8718 tmp___2 = atomic_sub_return(1, __cil_tmp98);
8719 }
8720#line 763
8721 if (tmp___2 == 0) {
8722 {
8723#line 765
8724 (*(xpc_arch_ops.indicate_partition_disengaged))(part);
8725 }
8726 } else {
8727
8728 }
8729 } else {
8730
8731 }
8732 {
8733#line 768
8734 xpc_msgqueue_deref(ch);
8735#line 770
8736 __cil_tmp99 = & descriptor___0;
8737#line 770
8738 *((char **)__cil_tmp99) = "xpc";
8739#line 770
8740 __cil_tmp100 = (unsigned long )(& descriptor___0) + 8;
8741#line 770
8742 *((char **)__cil_tmp100) = "xpc_kthread_start";
8743#line 770
8744 __cil_tmp101 = (unsigned long )(& descriptor___0) + 16;
8745#line 770
8746 *((char **)__cil_tmp101) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p";
8747#line 770
8748 __cil_tmp102 = (unsigned long )(& descriptor___0) + 24;
8749#line 770
8750 *((char **)__cil_tmp102) = "kthread exiting, partid=%d, channel=%d\n";
8751#line 770
8752 __cil_tmp103 = (unsigned long )(& descriptor___0) + 32;
8753#line 770
8754 *((unsigned int *)__cil_tmp103) = 771U;
8755#line 770
8756 __cil_tmp104 = (unsigned long )(& descriptor___0) + 35;
8757#line 770
8758 *((unsigned char *)__cil_tmp104) = (unsigned char)0;
8759#line 770
8760 __cil_tmp105 = (unsigned long )(& descriptor___0) + 35;
8761#line 770
8762 __cil_tmp106 = *((unsigned char *)__cil_tmp105);
8763#line 770
8764 __cil_tmp107 = (long )__cil_tmp106;
8765#line 770
8766 __cil_tmp108 = __cil_tmp107 & 1L;
8767#line 770
8768 tmp___3 = __builtin_expect(__cil_tmp108, 0L);
8769 }
8770#line 770
8771 if (tmp___3 != 0L) {
8772 {
8773#line 770
8774 __cil_tmp109 = (struct device *)xpc_chan;
8775#line 770
8776 __cil_tmp110 = (int )partid;
8777#line 770
8778 __cil_tmp111 = (int )ch_number;
8779#line 770
8780 __dynamic_dev_dbg(& descriptor___0, __cil_tmp109, "kthread exiting, partid=%d, channel=%d\n",
8781 __cil_tmp110, __cil_tmp111);
8782 }
8783 } else {
8784
8785 }
8786 {
8787#line 773
8788 xpc_part_deref(part);
8789 }
8790#line 774
8791 return (0);
8792}
8793}
8794#line 790 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
8795void xpc_create_kthreads(struct xpc_channel *ch , int needed , int ignore_disconnecting )
8796{ unsigned long irq_flags ;
8797 u64 args ;
8798 struct xpc_partition *part ;
8799 struct task_struct *kthread ;
8800 void (*indicate_partition_disengaged)(struct xpc_partition * ) ;
8801 long tmp ;
8802 int tmp___0 ;
8803 int tmp___1 ;
8804 int tmp___2 ;
8805 struct task_struct *__k ;
8806 struct task_struct *tmp___3 ;
8807 long tmp___4 ;
8808 int tmp___5 ;
8809 int tmp___6 ;
8810 int tmp___7 ;
8811 long tmp___8 ;
8812 int tmp___9 ;
8813 unsigned long __cil_tmp21 ;
8814 unsigned long __cil_tmp22 ;
8815 u16 __cil_tmp23 ;
8816 unsigned long long __cil_tmp24 ;
8817 unsigned long long __cil_tmp25 ;
8818 short __cil_tmp26 ;
8819 unsigned long long __cil_tmp27 ;
8820 unsigned long long __cil_tmp28 ;
8821 short __cil_tmp29 ;
8822 unsigned long __cil_tmp30 ;
8823 unsigned long __cil_tmp31 ;
8824 unsigned long __cil_tmp32 ;
8825 atomic_t *__cil_tmp33 ;
8826 unsigned long __cil_tmp34 ;
8827 unsigned long __cil_tmp35 ;
8828 unsigned int __cil_tmp36 ;
8829 unsigned int __cil_tmp37 ;
8830 int __cil_tmp38 ;
8831 long __cil_tmp39 ;
8832 unsigned long __cil_tmp40 ;
8833 unsigned long __cil_tmp41 ;
8834 unsigned int __cil_tmp42 ;
8835 unsigned int __cil_tmp43 ;
8836 unsigned long __cil_tmp44 ;
8837 unsigned long __cil_tmp45 ;
8838 atomic_t *__cil_tmp46 ;
8839 unsigned long __cil_tmp47 ;
8840 unsigned long __cil_tmp48 ;
8841 atomic_t *__cil_tmp49 ;
8842 void *__cil_tmp50 ;
8843 short __cil_tmp51 ;
8844 int __cil_tmp52 ;
8845 unsigned long __cil_tmp53 ;
8846 unsigned long __cil_tmp54 ;
8847 u16 __cil_tmp55 ;
8848 int __cil_tmp56 ;
8849 void *__cil_tmp57 ;
8850 void *__cil_tmp58 ;
8851 unsigned long __cil_tmp59 ;
8852 unsigned long __cil_tmp60 ;
8853 atomic_t *__cil_tmp61 ;
8854 unsigned long __cil_tmp62 ;
8855 unsigned long __cil_tmp63 ;
8856 atomic_t *__cil_tmp64 ;
8857 unsigned long __cil_tmp65 ;
8858 unsigned long __cil_tmp66 ;
8859 atomic_t *__cil_tmp67 ;
8860 atomic_t *__cil_tmp68 ;
8861 unsigned long __cil_tmp69 ;
8862 unsigned long __cil_tmp70 ;
8863 u32 __cil_tmp71 ;
8864 u32 __cil_tmp72 ;
8865 int __cil_tmp73 ;
8866 enum xp_retval __cil_tmp74 ;
8867 unsigned long __cil_tmp75 ;
8868 unsigned long __cil_tmp76 ;
8869 spinlock_t *__cil_tmp77 ;
8870 unsigned long *__cil_tmp78 ;
8871 unsigned long __cil_tmp79 ;
8872
8873 {
8874#line 794
8875 __cil_tmp21 = (unsigned long )ch;
8876#line 794
8877 __cil_tmp22 = __cil_tmp21 + 92;
8878#line 794
8879 __cil_tmp23 = *((u16 *)__cil_tmp22);
8880#line 794
8881 __cil_tmp24 = (unsigned long long )__cil_tmp23;
8882#line 794
8883 __cil_tmp25 = __cil_tmp24 << 32;
8884#line 794
8885 __cil_tmp26 = *((short *)ch);
8886#line 794
8887 __cil_tmp27 = (unsigned long long )__cil_tmp26;
8888#line 794
8889 __cil_tmp28 = __cil_tmp27 & 4294967295ULL;
8890#line 794
8891 args = __cil_tmp28 | __cil_tmp25;
8892#line 795
8893 __cil_tmp29 = *((short *)ch);
8894#line 795
8895 __cil_tmp30 = (unsigned long )__cil_tmp29;
8896#line 795
8897 part = xpc_partitions + __cil_tmp30;
8898#line 797
8899 indicate_partition_disengaged = xpc_arch_ops.indicate_partition_disengaged;
8900#line 800
8901 goto ldv_19324;
8902 ldv_19323: ;
8903#line 807
8904 if (ignore_disconnecting != 0) {
8905 {
8906#line 808
8907 __cil_tmp31 = (unsigned long )ch;
8908#line 808
8909 __cil_tmp32 = __cil_tmp31 + 320;
8910#line 808
8911 __cil_tmp33 = (atomic_t *)__cil_tmp32;
8912#line 808
8913 tmp___2 = atomic_add_unless(__cil_tmp33, 1, 0);
8914 }
8915#line 808
8916 if (tmp___2 == 0) {
8917 {
8918#line 810
8919 __cil_tmp34 = (unsigned long )ch;
8920#line 810
8921 __cil_tmp35 = __cil_tmp34 + 80;
8922#line 810
8923 __cil_tmp36 = *((unsigned int *)__cil_tmp35);
8924#line 810
8925 __cil_tmp37 = __cil_tmp36 & 524288U;
8926#line 810
8927 __cil_tmp38 = __cil_tmp37 == 0U;
8928#line 810
8929 __cil_tmp39 = (long )__cil_tmp38;
8930#line 810
8931 tmp = __builtin_expect(__cil_tmp39, 0L);
8932 }
8933#line 810
8934 if (tmp != 0L) {
8935#line 810
8936 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"),
8937 "i" (811), "i" (12UL));
8938 ldv_19319: ;
8939#line 810
8940 goto ldv_19319;
8941 } else {
8942
8943 }
8944#line 812
8945 goto ldv_19320;
8946 } else {
8947 {
8948#line 815
8949 __cil_tmp40 = (unsigned long )ch;
8950#line 815
8951 __cil_tmp41 = __cil_tmp40 + 80;
8952#line 815
8953 __cil_tmp42 = *((unsigned int *)__cil_tmp41);
8954#line 815
8955 __cil_tmp43 = __cil_tmp42 & 131072U;
8956#line 815
8957 if (__cil_tmp43 != 0U) {
8958#line 816
8959 goto ldv_19320;
8960 } else {
8961 {
8962#line 818
8963 __cil_tmp44 = (unsigned long )ch;
8964#line 818
8965 __cil_tmp45 = __cil_tmp44 + 320;
8966#line 818
8967 __cil_tmp46 = (atomic_t *)__cil_tmp45;
8968#line 818
8969 tmp___0 = atomic_add_return(1, __cil_tmp46);
8970 }
8971#line 818
8972 if (tmp___0 == 1) {
8973 {
8974#line 818
8975 __cil_tmp47 = (unsigned long )part;
8976#line 818
8977 __cil_tmp48 = __cil_tmp47 + 372;
8978#line 818
8979 __cil_tmp49 = (atomic_t *)__cil_tmp48;
8980#line 818
8981 tmp___1 = atomic_add_return(1, __cil_tmp49);
8982 }
8983#line 818
8984 if (tmp___1 == 1) {
8985 {
8986#line 820
8987 (*(xpc_arch_ops.indicate_partition_engaged))(part);
8988 }
8989 } else {
8990
8991 }
8992 } else {
8993
8994 }
8995 }
8996 }
8997 }
8998 } else {
8999
9000 }
9001 {
9002#line 822
9003 xpc_part_ref(part);
9004#line 823
9005 xpc_msgqueue_ref(ch);
9006#line 825
9007 __cil_tmp50 = (void *)args;
9008#line 825
9009 __cil_tmp51 = *((short *)ch);
9010#line 825
9011 __cil_tmp52 = (int )__cil_tmp51;
9012#line 825
9013 __cil_tmp53 = (unsigned long )ch;
9014#line 825
9015 __cil_tmp54 = __cil_tmp53 + 92;
9016#line 825
9017 __cil_tmp55 = *((u16 *)__cil_tmp54);
9018#line 825
9019 __cil_tmp56 = (int )__cil_tmp55;
9020#line 825
9021 tmp___3 = kthread_create_on_node(& xpc_kthread_start, __cil_tmp50, -1, "xpc%02dc%d",
9022 __cil_tmp52, __cil_tmp56);
9023#line 825
9024 __k = tmp___3;
9025#line 825
9026 __cil_tmp57 = (void *)__k;
9027#line 825
9028 tmp___4 = IS_ERR(__cil_tmp57);
9029 }
9030#line 825
9031 if (tmp___4 == 0L) {
9032 {
9033#line 825
9034 wake_up_process(__k);
9035 }
9036 } else {
9037
9038 }
9039 {
9040#line 825
9041 kthread = __k;
9042#line 827
9043 __cil_tmp58 = (void *)kthread;
9044#line 827
9045 tmp___8 = IS_ERR(__cil_tmp58);
9046 }
9047#line 827
9048 if (tmp___8 != 0L) {
9049 {
9050#line 840
9051 __cil_tmp59 = (unsigned long )ch;
9052#line 840
9053 __cil_tmp60 = __cil_tmp59 + 320;
9054#line 840
9055 __cil_tmp61 = (atomic_t *)__cil_tmp60;
9056#line 840
9057 tmp___5 = atomic_sub_return(1, __cil_tmp61);
9058 }
9059#line 840
9060 if (tmp___5 == 0) {
9061 {
9062#line 840
9063 __cil_tmp62 = (unsigned long )part;
9064#line 840
9065 __cil_tmp63 = __cil_tmp62 + 372;
9066#line 840
9067 __cil_tmp64 = (atomic_t *)__cil_tmp63;
9068#line 840
9069 tmp___6 = atomic_sub_return(1, __cil_tmp64);
9070 }
9071#line 840
9072 if (tmp___6 == 0) {
9073 {
9074#line 842
9075 (*indicate_partition_disengaged)(part);
9076 }
9077 } else {
9078
9079 }
9080 } else {
9081
9082 }
9083 {
9084#line 844
9085 xpc_msgqueue_deref(ch);
9086#line 845
9087 xpc_part_deref(part);
9088#line 847
9089 __cil_tmp65 = (unsigned long )ch;
9090#line 847
9091 __cil_tmp66 = __cil_tmp65 + 320;
9092#line 847
9093 __cil_tmp67 = (atomic_t *)__cil_tmp66;
9094#line 847
9095 __cil_tmp68 = (atomic_t *)__cil_tmp67;
9096#line 847
9097 tmp___7 = atomic_read(__cil_tmp68);
9098 }
9099 {
9100#line 847
9101 __cil_tmp69 = (unsigned long )ch;
9102#line 847
9103 __cil_tmp70 = __cil_tmp69 + 332;
9104#line 847
9105 __cil_tmp71 = *((u32 *)__cil_tmp70);
9106#line 847
9107 __cil_tmp72 = (u32 )tmp___7;
9108#line 847
9109 if (__cil_tmp72 < __cil_tmp71) {
9110 {
9111#line 854
9112 ldv_spin_lock();
9113#line 855
9114 __cil_tmp73 = (int )856;
9115#line 855
9116 __cil_tmp74 = (enum xp_retval )14;
9117#line 855
9118 xpc_disconnect_channel(__cil_tmp73, ch, __cil_tmp74, & irq_flags);
9119#line 857
9120 __cil_tmp75 = (unsigned long )ch;
9121#line 857
9122 __cil_tmp76 = __cil_tmp75 + 8;
9123#line 857
9124 __cil_tmp77 = (spinlock_t *)__cil_tmp76;
9125#line 857
9126 __cil_tmp78 = & irq_flags;
9127#line 857
9128 __cil_tmp79 = *__cil_tmp78;
9129#line 857
9130 spin_unlock_irqrestore(__cil_tmp77, __cil_tmp79);
9131 }
9132 } else {
9133
9134 }
9135 }
9136#line 859
9137 goto ldv_19320;
9138 } else {
9139
9140 }
9141 ldv_19324:
9142#line 800
9143 tmp___9 = needed;
9144#line 800
9145 needed = needed - 1;
9146#line 800
9147 if (tmp___9 > 0) {
9148#line 801
9149 goto ldv_19323;
9150 } else {
9151#line 803
9152 goto ldv_19320;
9153 }
9154 ldv_19320: ;
9155#line 805
9156 return;
9157}
9158}
9159#line 865 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
9160void xpc_disconnect_wait(int ch_number )
9161{ unsigned long irq_flags ;
9162 short partid ;
9163 struct xpc_partition *part ;
9164 struct xpc_channel *ch ;
9165 int wakeup_channel_mgr ;
9166 int tmp ;
9167 unsigned long __cil_tmp8 ;
9168 unsigned long __cil_tmp9 ;
9169 unsigned long __cil_tmp10 ;
9170 unsigned long __cil_tmp11 ;
9171 struct xpc_channel *__cil_tmp12 ;
9172 unsigned long __cil_tmp13 ;
9173 unsigned long __cil_tmp14 ;
9174 unsigned int __cil_tmp15 ;
9175 unsigned int __cil_tmp16 ;
9176 unsigned long __cil_tmp17 ;
9177 unsigned long __cil_tmp18 ;
9178 struct completion *__cil_tmp19 ;
9179 unsigned long __cil_tmp20 ;
9180 unsigned long __cil_tmp21 ;
9181 u8 __cil_tmp22 ;
9182 unsigned int __cil_tmp23 ;
9183 unsigned long __cil_tmp24 ;
9184 unsigned long __cil_tmp25 ;
9185 u8 __cil_tmp26 ;
9186 unsigned int __cil_tmp27 ;
9187 unsigned long __cil_tmp28 ;
9188 unsigned long __cil_tmp29 ;
9189 spinlock_t *__cil_tmp30 ;
9190 unsigned long __cil_tmp31 ;
9191 unsigned long __cil_tmp32 ;
9192 u16 __cil_tmp33 ;
9193 int __cil_tmp34 ;
9194 unsigned long __cil_tmp35 ;
9195 unsigned long __cil_tmp36 ;
9196 unsigned long __cil_tmp37 ;
9197 unsigned long __cil_tmp38 ;
9198 unsigned long __cil_tmp39 ;
9199 unsigned long __cil_tmp40 ;
9200 unsigned long __cil_tmp41 ;
9201 u8 __cil_tmp42 ;
9202 int __cil_tmp43 ;
9203 unsigned long __cil_tmp44 ;
9204 unsigned long __cil_tmp45 ;
9205 u16 __cil_tmp46 ;
9206 int __cil_tmp47 ;
9207 unsigned long __cil_tmp48 ;
9208 unsigned long __cil_tmp49 ;
9209 unsigned long __cil_tmp50 ;
9210 unsigned long __cil_tmp51 ;
9211 unsigned long __cil_tmp52 ;
9212 u8 __cil_tmp53 ;
9213 int __cil_tmp54 ;
9214 int __cil_tmp55 ;
9215 unsigned long __cil_tmp56 ;
9216 unsigned long __cil_tmp57 ;
9217 spinlock_t *__cil_tmp58 ;
9218 unsigned long __cil_tmp59 ;
9219 unsigned long __cil_tmp60 ;
9220 unsigned long __cil_tmp61 ;
9221 unsigned long __cil_tmp62 ;
9222 unsigned long __cil_tmp63 ;
9223 unsigned long __cil_tmp64 ;
9224 unsigned int __cil_tmp65 ;
9225 unsigned long __cil_tmp66 ;
9226 unsigned long __cil_tmp67 ;
9227 spinlock_t *__cil_tmp68 ;
9228 int __cil_tmp69 ;
9229 int __cil_tmp70 ;
9230 int __cil_tmp71 ;
9231 int __cil_tmp72 ;
9232
9233 {
9234#line 874
9235 partid = (short)0;
9236#line 874
9237 goto ldv_19335;
9238 ldv_19334:
9239 {
9240#line 875
9241 __cil_tmp8 = (unsigned long )partid;
9242#line 875
9243 part = xpc_partitions + __cil_tmp8;
9244#line 877
9245 tmp = xpc_part_ref(part);
9246 }
9247#line 877
9248 if (tmp == 0) {
9249#line 878
9250 goto ldv_19333;
9251 } else {
9252
9253 }
9254#line 880
9255 __cil_tmp9 = (unsigned long )ch_number;
9256#line 880
9257 __cil_tmp10 = (unsigned long )part;
9258#line 880
9259 __cil_tmp11 = __cil_tmp10 + 376;
9260#line 880
9261 __cil_tmp12 = *((struct xpc_channel **)__cil_tmp11);
9262#line 880
9263 ch = __cil_tmp12 + __cil_tmp9;
9264 {
9265#line 882
9266 __cil_tmp13 = (unsigned long )ch;
9267#line 882
9268 __cil_tmp14 = __cil_tmp13 + 80;
9269#line 882
9270 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
9271#line 882
9272 __cil_tmp16 = __cil_tmp15 & 1048576U;
9273#line 882
9274 if (__cil_tmp16 == 0U) {
9275 {
9276#line 883
9277 xpc_part_deref(part);
9278 }
9279#line 884
9280 goto ldv_19333;
9281 } else {
9282
9283 }
9284 }
9285 {
9286#line 887
9287 __cil_tmp17 = (unsigned long )ch;
9288#line 887
9289 __cil_tmp18 = __cil_tmp17 + 224;
9290#line 887
9291 __cil_tmp19 = (struct completion *)__cil_tmp18;
9292#line 887
9293 wait_for_completion(__cil_tmp19);
9294#line 889
9295 ldv_spin_lock();
9296#line 891
9297 wakeup_channel_mgr = 0;
9298 }
9299 {
9300#line 893
9301 __cil_tmp20 = (unsigned long )ch;
9302#line 893
9303 __cil_tmp21 = __cil_tmp20 + 200;
9304#line 893
9305 __cil_tmp22 = *((u8 *)__cil_tmp21);
9306#line 893
9307 __cil_tmp23 = (unsigned int )__cil_tmp22;
9308#line 893
9309 if (__cil_tmp23 != 0U) {
9310 {
9311#line 894
9312 __cil_tmp24 = (unsigned long )part;
9313#line 894
9314 __cil_tmp25 = __cil_tmp24 + 112;
9315#line 894
9316 __cil_tmp26 = *((u8 *)__cil_tmp25);
9317#line 894
9318 __cil_tmp27 = (unsigned int )__cil_tmp26;
9319#line 894
9320 if (__cil_tmp27 != 4U) {
9321 {
9322#line 895
9323 __cil_tmp28 = (unsigned long )part;
9324#line 895
9325 __cil_tmp29 = __cil_tmp28 + 392;
9326#line 895
9327 __cil_tmp30 = (spinlock_t *)__cil_tmp29;
9328#line 895
9329 spin_lock(__cil_tmp30);
9330#line 896
9331 __cil_tmp31 = (unsigned long )ch;
9332#line 896
9333 __cil_tmp32 = __cil_tmp31 + 92;
9334#line 896
9335 __cil_tmp33 = *((u16 *)__cil_tmp32);
9336#line 896
9337 __cil_tmp34 = (int )__cil_tmp33;
9338#line 896
9339 __cil_tmp35 = __cil_tmp34 * 1UL;
9340#line 896
9341 __cil_tmp36 = 0 + __cil_tmp35;
9342#line 896
9343 __cil_tmp37 = 384 + __cil_tmp36;
9344#line 896
9345 __cil_tmp38 = (unsigned long )part;
9346#line 896
9347 __cil_tmp39 = __cil_tmp38 + __cil_tmp37;
9348#line 896
9349 __cil_tmp40 = (unsigned long )ch;
9350#line 896
9351 __cil_tmp41 = __cil_tmp40 + 200;
9352#line 896
9353 __cil_tmp42 = *((u8 *)__cil_tmp41);
9354#line 896
9355 __cil_tmp43 = (int )__cil_tmp42;
9356#line 896
9357 __cil_tmp44 = (unsigned long )ch;
9358#line 896
9359 __cil_tmp45 = __cil_tmp44 + 92;
9360#line 896
9361 __cil_tmp46 = *((u16 *)__cil_tmp45);
9362#line 896
9363 __cil_tmp47 = (int )__cil_tmp46;
9364#line 896
9365 __cil_tmp48 = __cil_tmp47 * 1UL;
9366#line 896
9367 __cil_tmp49 = 0 + __cil_tmp48;
9368#line 896
9369 __cil_tmp50 = 384 + __cil_tmp49;
9370#line 896
9371 __cil_tmp51 = (unsigned long )part;
9372#line 896
9373 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
9374#line 896
9375 __cil_tmp53 = *((u8 *)__cil_tmp52);
9376#line 896
9377 __cil_tmp54 = (int )__cil_tmp53;
9378#line 896
9379 __cil_tmp55 = __cil_tmp54 | __cil_tmp43;
9380#line 896
9381 *((u8 *)__cil_tmp39) = (u8 )__cil_tmp55;
9382#line 898
9383 __cil_tmp56 = (unsigned long )part;
9384#line 898
9385 __cil_tmp57 = __cil_tmp56 + 392;
9386#line 898
9387 __cil_tmp58 = (spinlock_t *)__cil_tmp57;
9388#line 898
9389 spin_unlock(__cil_tmp58);
9390#line 899
9391 wakeup_channel_mgr = 1;
9392 }
9393 } else {
9394
9395 }
9396 }
9397#line 901
9398 __cil_tmp59 = (unsigned long )ch;
9399#line 901
9400 __cil_tmp60 = __cil_tmp59 + 200;
9401#line 901
9402 *((u8 *)__cil_tmp60) = (u8 )0U;
9403 } else {
9404
9405 }
9406 }
9407 {
9408#line 904
9409 __cil_tmp61 = (unsigned long )ch;
9410#line 904
9411 __cil_tmp62 = __cil_tmp61 + 80;
9412#line 904
9413 __cil_tmp63 = (unsigned long )ch;
9414#line 904
9415 __cil_tmp64 = __cil_tmp63 + 80;
9416#line 904
9417 __cil_tmp65 = *((unsigned int *)__cil_tmp64);
9418#line 904
9419 *((unsigned int *)__cil_tmp62) = __cil_tmp65 & 4293918719U;
9420#line 905
9421 __cil_tmp66 = (unsigned long )ch;
9422#line 905
9423 __cil_tmp67 = __cil_tmp66 + 8;
9424#line 905
9425 __cil_tmp68 = (spinlock_t *)__cil_tmp67;
9426#line 905
9427 spin_unlock_irqrestore(__cil_tmp68, irq_flags);
9428 }
9429#line 907
9430 if (wakeup_channel_mgr != 0) {
9431 {
9432#line 908
9433 xpc_wakeup_channel_mgr(part);
9434 }
9435 } else {
9436
9437 }
9438 {
9439#line 910
9440 xpc_part_deref(part);
9441 }
9442 ldv_19333:
9443#line 874
9444 __cil_tmp69 = (int )partid;
9445#line 874
9446 __cil_tmp70 = __cil_tmp69 + 1;
9447#line 874
9448 partid = (short )__cil_tmp70;
9449 ldv_19335: ;
9450 {
9451#line 874
9452 __cil_tmp71 = (int )xp_max_npartitions;
9453#line 874
9454 __cil_tmp72 = (int )partid;
9455#line 874
9456 if (__cil_tmp72 < __cil_tmp71) {
9457#line 875
9458 goto ldv_19334;
9459 } else {
9460#line 877
9461 goto ldv_19336;
9462 }
9463 }
9464 ldv_19336: ;
9465#line 879
9466 return;
9467}
9468}
9469#line 915 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
9470static int xpc_setup_partitions(void)
9471{ short partid ;
9472 struct xpc_partition *part ;
9473 void *tmp ;
9474 struct lock_class_key __key ;
9475 struct lock_class_key __key___0 ;
9476 struct lock_class_key __key___1 ;
9477 int tmp___0 ;
9478 unsigned long __cil_tmp8 ;
9479 unsigned long __cil_tmp9 ;
9480 struct xpc_partition *__cil_tmp10 ;
9481 unsigned long __cil_tmp11 ;
9482 unsigned long __cil_tmp12 ;
9483 struct device *__cil_tmp13 ;
9484 unsigned long __cil_tmp14 ;
9485 unsigned long __cil_tmp15 ;
9486 unsigned long __cil_tmp16 ;
9487 unsigned long __cil_tmp17 ;
9488 unsigned long __cil_tmp18 ;
9489 spinlock_t *__cil_tmp19 ;
9490 unsigned long __cil_tmp20 ;
9491 unsigned long __cil_tmp21 ;
9492 struct raw_spinlock *__cil_tmp22 ;
9493 unsigned long __cil_tmp23 ;
9494 unsigned long __cil_tmp24 ;
9495 unsigned long __cil_tmp25 ;
9496 unsigned long __cil_tmp26 ;
9497 unsigned long __cil_tmp27 ;
9498 unsigned long __cil_tmp28 ;
9499 unsigned long __cil_tmp29 ;
9500 unsigned long __cil_tmp30 ;
9501 struct timer_list *__cil_tmp31 ;
9502 unsigned long __cil_tmp32 ;
9503 unsigned long __cil_tmp33 ;
9504 unsigned long __cil_tmp34 ;
9505 unsigned long __cil_tmp35 ;
9506 unsigned long __cil_tmp36 ;
9507 unsigned long __cil_tmp37 ;
9508 unsigned long __cil_tmp38 ;
9509 unsigned long __cil_tmp39 ;
9510 unsigned long __cil_tmp40 ;
9511 unsigned long __cil_tmp41 ;
9512 wait_queue_head_t *__cil_tmp42 ;
9513 unsigned long __cil_tmp43 ;
9514 unsigned long __cil_tmp44 ;
9515 atomic_t *__cil_tmp45 ;
9516 int __cil_tmp46 ;
9517 int __cil_tmp47 ;
9518 int __cil_tmp48 ;
9519 int __cil_tmp49 ;
9520
9521 {
9522 {
9523#line 920
9524 __cil_tmp8 = (unsigned long )xp_max_npartitions;
9525#line 920
9526 __cil_tmp9 = __cil_tmp8 * 896UL;
9527#line 920
9528 tmp = kzalloc(__cil_tmp9, 208U);
9529#line 920
9530 xpc_partitions = (struct xpc_partition *)tmp;
9531 }
9532 {
9533#line 922
9534 __cil_tmp10 = (struct xpc_partition *)0;
9535#line 922
9536 __cil_tmp11 = (unsigned long )__cil_tmp10;
9537#line 922
9538 __cil_tmp12 = (unsigned long )xpc_partitions;
9539#line 922
9540 if (__cil_tmp12 == __cil_tmp11) {
9541 {
9542#line 923
9543 __cil_tmp13 = (struct device *)xpc_part;
9544#line 923
9545 dev_err(__cil_tmp13, "can\'t get memory for partition structure\n");
9546 }
9547#line 924
9548 return (-12);
9549 } else {
9550
9551 }
9552 }
9553#line 935
9554 partid = (short)0;
9555#line 935
9556 goto ldv_19346;
9557 ldv_19345:
9558 {
9559#line 936
9560 __cil_tmp14 = (unsigned long )partid;
9561#line 936
9562 part = xpc_partitions + __cil_tmp14;
9563#line 940
9564 __cil_tmp15 = (unsigned long )part;
9565#line 940
9566 __cil_tmp16 = __cil_tmp15 + 32;
9567#line 940
9568 *((u32 *)__cil_tmp16) = 0U;
9569#line 941
9570 __cil_tmp17 = (unsigned long )part;
9571#line 941
9572 __cil_tmp18 = __cil_tmp17 + 40;
9573#line 941
9574 __cil_tmp19 = (spinlock_t *)__cil_tmp18;
9575#line 941
9576 spinlock_check(__cil_tmp19);
9577#line 941
9578 __cil_tmp20 = (unsigned long )part;
9579#line 941
9580 __cil_tmp21 = __cil_tmp20 + 40;
9581#line 941
9582 __cil_tmp22 = (struct raw_spinlock *)__cil_tmp21;
9583#line 941
9584 __raw_spin_lock_init(__cil_tmp22, "&(&part->act_lock)->rlock", & __key);
9585#line 942
9586 __cil_tmp23 = (unsigned long )part;
9587#line 942
9588 __cil_tmp24 = __cil_tmp23 + 112;
9589#line 942
9590 *((u8 *)__cil_tmp24) = (u8 )0U;
9591#line 943
9592 __cil_tmp25 = (unsigned long )part;
9593#line 943
9594 __cil_tmp26 = __cil_tmp25 + 116;
9595#line 943
9596 *((enum xp_retval *)__cil_tmp26) = (enum xp_retval )0;
9597#line 943
9598 __cil_tmp27 = (unsigned long )part;
9599#line 943
9600 __cil_tmp28 = __cil_tmp27 + 120;
9601#line 943
9602 *((int *)__cil_tmp28) = 0;
9603#line 945
9604 __cil_tmp29 = (unsigned long )part;
9605#line 945
9606 __cil_tmp30 = __cil_tmp29 + 136;
9607#line 945
9608 __cil_tmp31 = (struct timer_list *)__cil_tmp30;
9609#line 945
9610 init_timer_key(__cil_tmp31, "&part->disengage_timer", & __key___0);
9611#line 946
9612 __cil_tmp32 = 136 + 32;
9613#line 946
9614 __cil_tmp33 = (unsigned long )part;
9615#line 946
9616 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
9617#line 946
9618 *((void (**)(unsigned long ))__cil_tmp34) = & xpc_timeout_partition_disengage;
9619#line 948
9620 __cil_tmp35 = 136 + 40;
9621#line 948
9622 __cil_tmp36 = (unsigned long )part;
9623#line 948
9624 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
9625#line 948
9626 *((unsigned long *)__cil_tmp37) = (unsigned long )part;
9627#line 950
9628 __cil_tmp38 = (unsigned long )part;
9629#line 950
9630 __cil_tmp39 = __cil_tmp38 + 264;
9631#line 950
9632 *((u8 *)__cil_tmp39) = (u8 )0U;
9633#line 951
9634 __cil_tmp40 = (unsigned long )part;
9635#line 951
9636 __cil_tmp41 = __cil_tmp40 + 272;
9637#line 951
9638 __cil_tmp42 = (wait_queue_head_t *)__cil_tmp41;
9639#line 951
9640 __init_waitqueue_head(__cil_tmp42, "&part->teardown_wq", & __key___1);
9641#line 952
9642 __cil_tmp43 = (unsigned long )part;
9643#line 952
9644 __cil_tmp44 = __cil_tmp43 + 360;
9645#line 952
9646 __cil_tmp45 = (atomic_t *)__cil_tmp44;
9647#line 952
9648 atomic_set(__cil_tmp45, 0);
9649#line 935
9650 __cil_tmp46 = (int )partid;
9651#line 935
9652 __cil_tmp47 = __cil_tmp46 + 1;
9653#line 935
9654 partid = (short )__cil_tmp47;
9655 }
9656 ldv_19346: ;
9657 {
9658#line 935
9659 __cil_tmp48 = (int )xp_max_npartitions;
9660#line 935
9661 __cil_tmp49 = (int )partid;
9662#line 935
9663 if (__cil_tmp49 < __cil_tmp48) {
9664#line 936
9665 goto ldv_19345;
9666 } else {
9667#line 938
9668 goto ldv_19347;
9669 }
9670 }
9671 ldv_19347:
9672 {
9673#line 955
9674 tmp___0 = (*(xpc_arch_ops.setup_partitions))();
9675 }
9676#line 955
9677 return (tmp___0);
9678}
9679}
9680#line 959 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
9681static void xpc_teardown_partitions(void)
9682{ void *__cil_tmp1 ;
9683
9684 {
9685 {
9686#line 961
9687 (*(xpc_arch_ops.teardown_partitions))();
9688#line 962
9689 __cil_tmp1 = (void *)xpc_partitions;
9690#line 962
9691 kfree(__cil_tmp1);
9692 }
9693#line 963
9694 return;
9695}
9696}
9697#line 966 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
9698static void xpc_do_exit(enum xp_retval reason )
9699{ short partid ;
9700 int active_part_count ;
9701 int printed_waiting_msg ;
9702 struct xpc_partition *part ;
9703 unsigned long printmsg_time ;
9704 unsigned long disengage_timeout ;
9705 int tmp ;
9706 int tmp___0 ;
9707 int tmp___1 ;
9708 void *__cil_tmp15 ;
9709 unsigned long __cil_tmp16 ;
9710 unsigned long __cil_tmp17 ;
9711 unsigned long __cil_tmp18 ;
9712 unsigned long __cil_tmp19 ;
9713 u8 __cil_tmp20 ;
9714 unsigned int __cil_tmp21 ;
9715 int __cil_tmp22 ;
9716 unsigned long __cil_tmp23 ;
9717 unsigned long __cil_tmp24 ;
9718 unsigned long __cil_tmp25 ;
9719 unsigned long __cil_tmp26 ;
9720 unsigned long __cil_tmp27 ;
9721 int __cil_tmp28 ;
9722 int __cil_tmp29 ;
9723 int __cil_tmp30 ;
9724 int __cil_tmp31 ;
9725 long __cil_tmp32 ;
9726 long __cil_tmp33 ;
9727 long __cil_tmp34 ;
9728 struct device *__cil_tmp35 ;
9729 unsigned long __cil_tmp36 ;
9730 unsigned long __cil_tmp37 ;
9731 unsigned long __cil_tmp38 ;
9732 unsigned long __cil_tmp39 ;
9733 struct device *__cil_tmp40 ;
9734 struct device *__cil_tmp41 ;
9735 unsigned int __cil_tmp42 ;
9736 struct ctl_table_header *__cil_tmp43 ;
9737 unsigned long __cil_tmp44 ;
9738 unsigned long __cil_tmp45 ;
9739
9740 {
9741 {
9742#line 969
9743 printed_waiting_msg = 0;
9744#line 971
9745 disengage_timeout = 0UL;
9746#line 981
9747 xpc_exiting = 1;
9748#line 982
9749 __cil_tmp15 = (void *)0;
9750#line 982
9751 __wake_up(& xpc_activate_IRQ_wq, 1U, 1, __cil_tmp15);
9752#line 985
9753 wait_for_completion(& xpc_discovery_exited);
9754#line 988
9755 wait_for_completion(& xpc_hb_checker_exited);
9756#line 991
9757 msleep_interruptible(300U);
9758#line 995
9759 __cil_tmp16 = (unsigned long )jiffies;
9760#line 995
9761 printmsg_time = __cil_tmp16 + 2500UL;
9762#line 996
9763 xpc_disengage_timedout = 0;
9764 }
9765 ldv_19371:
9766#line 999
9767 active_part_count = 0;
9768#line 1001
9769 partid = (short)0;
9770#line 1001
9771 goto ldv_19362;
9772 ldv_19361:
9773 {
9774#line 1002
9775 __cil_tmp17 = (unsigned long )partid;
9776#line 1002
9777 part = xpc_partitions + __cil_tmp17;
9778#line 1004
9779 tmp = xpc_partition_disengaged(part);
9780 }
9781#line 1004
9782 if (tmp != 0) {
9783 {
9784#line 1004
9785 __cil_tmp18 = (unsigned long )part;
9786#line 1004
9787 __cil_tmp19 = __cil_tmp18 + 112;
9788#line 1004
9789 __cil_tmp20 = *((u8 *)__cil_tmp19);
9790#line 1004
9791 __cil_tmp21 = (unsigned int )__cil_tmp20;
9792#line 1004
9793 if (__cil_tmp21 == 0U) {
9794#line 1006
9795 goto ldv_19360;
9796 } else {
9797
9798 }
9799 }
9800 } else {
9801
9802 }
9803 {
9804#line 1009
9805 active_part_count = active_part_count + 1;
9806#line 1011
9807 __cil_tmp22 = (int )1011;
9808#line 1011
9809 xpc_deactivate_partition(__cil_tmp22, part, reason);
9810 }
9811 {
9812#line 1013
9813 __cil_tmp23 = (unsigned long )part;
9814#line 1013
9815 __cil_tmp24 = __cil_tmp23 + 128;
9816#line 1013
9817 __cil_tmp25 = *((unsigned long *)__cil_tmp24);
9818#line 1013
9819 if (__cil_tmp25 > disengage_timeout) {
9820#line 1014
9821 __cil_tmp26 = (unsigned long )part;
9822#line 1014
9823 __cil_tmp27 = __cil_tmp26 + 128;
9824#line 1014
9825 disengage_timeout = *((unsigned long *)__cil_tmp27);
9826 } else {
9827
9828 }
9829 }
9830 ldv_19360:
9831#line 1001
9832 __cil_tmp28 = (int )partid;
9833#line 1001
9834 __cil_tmp29 = __cil_tmp28 + 1;
9835#line 1001
9836 partid = (short )__cil_tmp29;
9837 ldv_19362: ;
9838 {
9839#line 1001
9840 __cil_tmp30 = (int )xp_max_npartitions;
9841#line 1001
9842 __cil_tmp31 = (int )partid;
9843#line 1001
9844 if (__cil_tmp31 < __cil_tmp30) {
9845#line 1002
9846 goto ldv_19361;
9847 } else {
9848#line 1004
9849 goto ldv_19363;
9850 }
9851 }
9852 ldv_19363:
9853 {
9854#line 1017
9855 tmp___0 = (*(xpc_arch_ops.any_partition_engaged))();
9856 }
9857#line 1017
9858 if (tmp___0 != 0) {
9859 {
9860#line 1018
9861 __cil_tmp32 = (long )jiffies;
9862#line 1018
9863 __cil_tmp33 = (long )printmsg_time;
9864#line 1018
9865 __cil_tmp34 = __cil_tmp33 - __cil_tmp32;
9866#line 1018
9867 if (__cil_tmp34 < 0L) {
9868 {
9869#line 1019
9870 __cil_tmp35 = (struct device *)xpc_part;
9871#line 1019
9872 __cil_tmp36 = (unsigned long )jiffies;
9873#line 1019
9874 __cil_tmp37 = disengage_timeout - __cil_tmp36;
9875#line 1019
9876 __cil_tmp38 = __cil_tmp37 / 250UL;
9877#line 1019
9878 _dev_info(__cil_tmp35, "waiting for remote partitions to deactivate, timeout in %ld seconds\n",
9879 __cil_tmp38);
9880#line 1023
9881 __cil_tmp39 = (unsigned long )jiffies;
9882#line 1023
9883 printmsg_time = __cil_tmp39 + 2500UL;
9884#line 1025
9885 printed_waiting_msg = 1;
9886 }
9887 } else
9888#line 1028
9889 if (active_part_count > 0) {
9890#line 1029
9891 if (printed_waiting_msg != 0) {
9892 {
9893#line 1030
9894 __cil_tmp40 = (struct device *)xpc_part;
9895#line 1030
9896 _dev_info(__cil_tmp40, "waiting for local partition to deactivate\n");
9897#line 1032
9898 printed_waiting_msg = 0;
9899 }
9900 } else {
9901#line 1036
9902 if (xpc_disengage_timedout == 0) {
9903 {
9904#line 1037
9905 __cil_tmp41 = (struct device *)xpc_part;
9906#line 1037
9907 _dev_info(__cil_tmp41, "all partitions have deactivated\n");
9908 }
9909 } else {
9910
9911 }
9912#line 1040
9913 goto ldv_19370;
9914 }
9915 } else {
9916
9917 }
9918 }
9919 } else {
9920
9921 }
9922 {
9923#line 1044
9924 msleep_interruptible(300U);
9925 }
9926#line 1046
9927 goto ldv_19371;
9928 ldv_19370:
9929 {
9930#line 1050
9931 xpc_teardown_rsvd_page();
9932 }
9933 {
9934#line 1052
9935 __cil_tmp42 = (unsigned int )reason;
9936#line 1052
9937 if (__cil_tmp42 == 19U) {
9938 {
9939#line 1053
9940 unregister_die_notifier(& xpc_die_notifier);
9941#line 1054
9942 unregister_reboot_notifier(& xpc_reboot_notifier);
9943 }
9944 } else {
9945
9946 }
9947 }
9948 {
9949#line 1058
9950 xpc_clear_interface();
9951 }
9952 {
9953#line 1060
9954 __cil_tmp43 = (struct ctl_table_header *)0;
9955#line 1060
9956 __cil_tmp44 = (unsigned long )__cil_tmp43;
9957#line 1060
9958 __cil_tmp45 = (unsigned long )xpc_sysctl;
9959#line 1060
9960 if (__cil_tmp45 != __cil_tmp44) {
9961 {
9962#line 1061
9963 unregister_sysctl_table(xpc_sysctl);
9964 }
9965 } else {
9966
9967 }
9968 }
9969 {
9970#line 1063
9971 xpc_teardown_partitions();
9972#line 1067
9973 tmp___1 = is_uv_system();
9974 }
9975#line 1067
9976 if (tmp___1 != 0) {
9977 {
9978#line 1068
9979 xpc_exit_uv();
9980 }
9981 } else {
9982
9983 }
9984#line 1069
9985 return;
9986}
9987}
9988#line 1075 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
9989static int xpc_system_reboot(struct notifier_block *nb , unsigned long event , void *unused )
9990{ enum xp_retval reason ;
9991
9992 {
9993#line 1080
9994 if ((int )event == 1) {
9995#line 1080
9996 goto case_1;
9997 } else
9998#line 1083
9999 if ((int )event == 2) {
10000#line 1083
10001 goto case_2;
10002 } else
10003#line 1086
10004 if ((int )event == 3) {
10005#line 1086
10006 goto case_3;
10007 } else {
10008 {
10009#line 1089
10010 goto switch_default;
10011#line 1079
10012 if (0) {
10013 case_1:
10014#line 1081
10015 reason = (enum xp_retval )47;
10016#line 1082
10017 goto ldv_19379;
10018 case_2:
10019#line 1084
10020 reason = (enum xp_retval )46;
10021#line 1085
10022 goto ldv_19379;
10023 case_3:
10024#line 1087
10025 reason = (enum xp_retval )48;
10026#line 1088
10027 goto ldv_19379;
10028 switch_default:
10029#line 1090
10030 reason = (enum xp_retval )45;
10031 } else {
10032 switch_break: ;
10033 }
10034 }
10035 }
10036 ldv_19379:
10037 {
10038#line 1093
10039 xpc_do_exit(reason);
10040 }
10041#line 1094
10042 return (0);
10043}
10044}
10045#line 1102 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10046static void xpc_die_deactivate(void)
10047{ struct xpc_partition *part ;
10048 short partid ;
10049 int any_engaged ;
10050 long keep_waiting ;
10051 long wait_to_print ;
10052 int tmp ;
10053 int tmp___0 ;
10054 long tmp___1 ;
10055 long tmp___2 ;
10056 unsigned long __cil_tmp10 ;
10057 int __cil_tmp11 ;
10058 short __cil_tmp12 ;
10059 unsigned long __cil_tmp13 ;
10060 unsigned long __cil_tmp14 ;
10061 u8 __cil_tmp15 ;
10062 unsigned int __cil_tmp16 ;
10063 int __cil_tmp17 ;
10064 int __cil_tmp18 ;
10065 int __cil_tmp19 ;
10066 int __cil_tmp20 ;
10067 int *__cil_tmp21 ;
10068 int __cil_tmp22 ;
10069 int __cil_tmp23 ;
10070 struct device *__cil_tmp24 ;
10071 int __cil_tmp25 ;
10072 short __cil_tmp26 ;
10073 struct device *__cil_tmp27 ;
10074 int __cil_tmp28 ;
10075 int __cil_tmp29 ;
10076 int __cil_tmp30 ;
10077 int __cil_tmp31 ;
10078 int __cil_tmp32 ;
10079 struct device *__cil_tmp33 ;
10080 long __cil_tmp34 ;
10081
10082 {
10083 {
10084#line 1111
10085 xpc_exiting = 1;
10086#line 1113
10087 (*(xpc_arch_ops.disallow_all_hbs))();
10088#line 1115
10089 partid = (short)0;
10090 }
10091#line 1115
10092 goto ldv_19392;
10093 ldv_19391:
10094 {
10095#line 1116
10096 __cil_tmp10 = (unsigned long )partid;
10097#line 1116
10098 part = xpc_partitions + __cil_tmp10;
10099#line 1118
10100 __cil_tmp11 = (int )partid;
10101#line 1118
10102 __cil_tmp12 = (short )__cil_tmp11;
10103#line 1118
10104 tmp = (*(xpc_arch_ops.partition_engaged))(__cil_tmp12);
10105 }
10106#line 1118
10107 if (tmp != 0) {
10108 {
10109#line 1120
10110 (*(xpc_arch_ops.request_partition_deactivation))(part);
10111#line 1121
10112 (*(xpc_arch_ops.indicate_partition_disengaged))(part);
10113 }
10114 } else {
10115 {
10116#line 1118
10117 __cil_tmp13 = (unsigned long )part;
10118#line 1118
10119 __cil_tmp14 = __cil_tmp13 + 112;
10120#line 1118
10121 __cil_tmp15 = *((u8 *)__cil_tmp14);
10122#line 1118
10123 __cil_tmp16 = (unsigned int )__cil_tmp15;
10124#line 1118
10125 if (__cil_tmp16 != 0U) {
10126 {
10127#line 1120
10128 (*(xpc_arch_ops.request_partition_deactivation))(part);
10129#line 1121
10130 (*(xpc_arch_ops.indicate_partition_disengaged))(part);
10131 }
10132 } else {
10133
10134 }
10135 }
10136 }
10137#line 1115
10138 __cil_tmp17 = (int )partid;
10139#line 1115
10140 __cil_tmp18 = __cil_tmp17 + 1;
10141#line 1115
10142 partid = (short )__cil_tmp18;
10143 ldv_19392: ;
10144 {
10145#line 1115
10146 __cil_tmp19 = (int )xp_max_npartitions;
10147#line 1115
10148 __cil_tmp20 = (int )partid;
10149#line 1115
10150 if (__cil_tmp20 < __cil_tmp19) {
10151#line 1116
10152 goto ldv_19391;
10153 } else {
10154#line 1118
10155 goto ldv_19393;
10156 }
10157 }
10158 ldv_19393:
10159#line 1134
10160 __cil_tmp21 = & xpc_disengage_timelimit;
10161#line 1134
10162 __cil_tmp22 = *__cil_tmp21;
10163#line 1134
10164 __cil_tmp23 = __cil_tmp22 * 5000;
10165#line 1134
10166 keep_waiting = (long )__cil_tmp23;
10167#line 1135
10168 wait_to_print = 50000L;
10169 ldv_19398:
10170 {
10171#line 1138
10172 any_engaged = (*(xpc_arch_ops.any_partition_engaged))();
10173 }
10174#line 1139
10175 if (any_engaged == 0) {
10176 {
10177#line 1140
10178 __cil_tmp24 = (struct device *)xpc_part;
10179#line 1140
10180 _dev_info(__cil_tmp24, "all partitions have deactivated\n");
10181 }
10182#line 1141
10183 goto ldv_19394;
10184 } else {
10185
10186 }
10187#line 1144
10188 tmp___1 = keep_waiting;
10189#line 1144
10190 keep_waiting = keep_waiting - 1L;
10191#line 1144
10192 if (tmp___1 == 0L) {
10193#line 1145
10194 partid = (short)0;
10195#line 1145
10196 goto ldv_19396;
10197 ldv_19395:
10198 {
10199#line 1147
10200 __cil_tmp25 = (int )partid;
10201#line 1147
10202 __cil_tmp26 = (short )__cil_tmp25;
10203#line 1147
10204 tmp___0 = (*(xpc_arch_ops.partition_engaged))(__cil_tmp26);
10205 }
10206#line 1147
10207 if (tmp___0 != 0) {
10208 {
10209#line 1148
10210 __cil_tmp27 = (struct device *)xpc_part;
10211#line 1148
10212 __cil_tmp28 = (int )partid;
10213#line 1148
10214 _dev_info(__cil_tmp27, "deactivate from remote partition %d timed out\n", __cil_tmp28);
10215 }
10216 } else {
10217
10218 }
10219#line 1146
10220 __cil_tmp29 = (int )partid;
10221#line 1146
10222 __cil_tmp30 = __cil_tmp29 + 1;
10223#line 1146
10224 partid = (short )__cil_tmp30;
10225 ldv_19396: ;
10226 {
10227#line 1145
10228 __cil_tmp31 = (int )xp_max_npartitions;
10229#line 1145
10230 __cil_tmp32 = (int )partid;
10231#line 1145
10232 if (__cil_tmp32 < __cil_tmp31) {
10233#line 1146
10234 goto ldv_19395;
10235 } else {
10236#line 1148
10237 goto ldv_19397;
10238 }
10239 }
10240 ldv_19397: ;
10241#line 1153
10242 goto ldv_19394;
10243 } else {
10244
10245 }
10246#line 1156
10247 tmp___2 = wait_to_print;
10248#line 1156
10249 wait_to_print = wait_to_print - 1L;
10250#line 1156
10251 if (tmp___2 == 0L) {
10252 {
10253#line 1157
10254 __cil_tmp33 = (struct device *)xpc_part;
10255#line 1157
10256 __cil_tmp34 = keep_waiting / 5000L;
10257#line 1157
10258 _dev_info(__cil_tmp33, "waiting for remote partitions to deactivate, timeout in %ld seconds\n",
10259 __cil_tmp34);
10260#line 1160
10261 wait_to_print = 50000L;
10262 }
10263 } else {
10264
10265 }
10266 {
10267#line 1164
10268 ___udelay(859000UL);
10269 }
10270#line 1165
10271 goto ldv_19398;
10272 ldv_19394: ;
10273#line 1167
10274 return;
10275}
10276}
10277#line 1177 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10278static int xpc_system_die(struct notifier_block *nb , unsigned long event , void *unused )
10279{
10280
10281 {
10282 {
10283#line 1209
10284 xpc_die_deactivate();
10285 }
10286#line 1212
10287 return (0);
10288}
10289}
10290#line 1216 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10291int xpc_init(void)
10292{ int ret ;
10293 struct task_struct *kthread ;
10294 int tmp ;
10295 struct task_struct *__k ;
10296 struct task_struct *tmp___0 ;
10297 long tmp___1 ;
10298 long tmp___2 ;
10299 struct task_struct *__k___0 ;
10300 struct task_struct *tmp___3 ;
10301 long tmp___4 ;
10302 long tmp___5 ;
10303 int tmp___6 ;
10304 struct device *__cil_tmp13 ;
10305 struct ctl_table *__cil_tmp14 ;
10306 struct device *__cil_tmp15 ;
10307 struct device *__cil_tmp16 ;
10308 struct device *__cil_tmp17 ;
10309 void *__cil_tmp18 ;
10310 void *__cil_tmp19 ;
10311 void *__cil_tmp20 ;
10312 struct device *__cil_tmp21 ;
10313 void *__cil_tmp22 ;
10314 void *__cil_tmp23 ;
10315 void *__cil_tmp24 ;
10316 struct device *__cil_tmp25 ;
10317 enum xp_retval __cil_tmp26 ;
10318 struct ctl_table_header *__cil_tmp27 ;
10319 unsigned long __cil_tmp28 ;
10320 unsigned long __cil_tmp29 ;
10321
10322 {
10323 {
10324#line 1221
10325 dev_set_name(xpc_part, "part");
10326#line 1222
10327 dev_set_name(xpc_chan, "chan");
10328#line 1238
10329 tmp = is_uv_system();
10330 }
10331#line 1238
10332 if (tmp != 0) {
10333 {
10334#line 1239
10335 ret = xpc_init_uv();
10336 }
10337 } else {
10338#line 1242
10339 ret = -19;
10340 }
10341#line 1245
10342 if (ret != 0) {
10343#line 1246
10344 return (ret);
10345 } else {
10346
10347 }
10348 {
10349#line 1248
10350 ret = xpc_setup_partitions();
10351 }
10352#line 1249
10353 if (ret != 0) {
10354 {
10355#line 1250
10356 __cil_tmp13 = (struct device *)xpc_part;
10357#line 1250
10358 dev_err(__cil_tmp13, "can\'t get memory for partition structure\n");
10359 }
10360#line 1251
10361 goto out_1;
10362 } else {
10363
10364 }
10365 {
10366#line 1254
10367 __cil_tmp14 = (struct ctl_table *)(& xpc_sys_dir);
10368#line 1254
10369 xpc_sysctl = register_sysctl_table(__cil_tmp14);
10370#line 1261
10371 ret = xpc_setup_rsvd_page();
10372 }
10373#line 1262
10374 if (ret != 0) {
10375 {
10376#line 1263
10377 __cil_tmp15 = (struct device *)xpc_part;
10378#line 1263
10379 dev_err(__cil_tmp15, "can\'t setup our reserved page\n");
10380 }
10381#line 1264
10382 goto out_2;
10383 } else {
10384
10385 }
10386 {
10387#line 1268
10388 ret = register_reboot_notifier(& xpc_reboot_notifier);
10389 }
10390#line 1269
10391 if (ret != 0) {
10392 {
10393#line 1270
10394 __cil_tmp16 = (struct device *)xpc_part;
10395#line 1270
10396 dev_warn(__cil_tmp16, "can\'t register reboot notifier\n");
10397 }
10398 } else {
10399
10400 }
10401 {
10402#line 1273
10403 ret = register_die_notifier(& xpc_die_notifier);
10404 }
10405#line 1274
10406 if (ret != 0) {
10407 {
10408#line 1275
10409 __cil_tmp17 = (struct device *)xpc_part;
10410#line 1275
10411 dev_warn(__cil_tmp17, "can\'t register die notifier\n");
10412 }
10413 } else {
10414
10415 }
10416 {
10417#line 1281
10418 __cil_tmp18 = (void *)0;
10419#line 1281
10420 tmp___0 = kthread_create_on_node(& xpc_hb_checker, __cil_tmp18, -1, "xpc_hb");
10421#line 1281
10422 __k = tmp___0;
10423#line 1281
10424 __cil_tmp19 = (void *)__k;
10425#line 1281
10426 tmp___1 = IS_ERR(__cil_tmp19);
10427 }
10428#line 1281
10429 if (tmp___1 == 0L) {
10430 {
10431#line 1281
10432 wake_up_process(__k);
10433 }
10434 } else {
10435
10436 }
10437 {
10438#line 1281
10439 kthread = __k;
10440#line 1282
10441 __cil_tmp20 = (void *)kthread;
10442#line 1282
10443 tmp___2 = IS_ERR(__cil_tmp20);
10444 }
10445#line 1282
10446 if (tmp___2 != 0L) {
10447 {
10448#line 1283
10449 __cil_tmp21 = (struct device *)xpc_part;
10450#line 1283
10451 dev_err(__cil_tmp21, "failed while forking hb check thread\n");
10452#line 1284
10453 ret = -16;
10454 }
10455#line 1285
10456 goto out_3;
10457 } else {
10458
10459 }
10460 {
10461#line 1293
10462 __cil_tmp22 = (void *)0;
10463#line 1293
10464 tmp___3 = kthread_create_on_node(& xpc_initiate_discovery, __cil_tmp22, -1, "xpc_discovery");
10465#line 1293
10466 __k___0 = tmp___3;
10467#line 1293
10468 __cil_tmp23 = (void *)__k___0;
10469#line 1293
10470 tmp___4 = IS_ERR(__cil_tmp23);
10471 }
10472#line 1293
10473 if (tmp___4 == 0L) {
10474 {
10475#line 1293
10476 wake_up_process(__k___0);
10477 }
10478 } else {
10479
10480 }
10481 {
10482#line 1293
10483 kthread = __k___0;
10484#line 1295
10485 __cil_tmp24 = (void *)kthread;
10486#line 1295
10487 tmp___5 = IS_ERR(__cil_tmp24);
10488 }
10489#line 1295
10490 if (tmp___5 != 0L) {
10491 {
10492#line 1296
10493 __cil_tmp25 = (struct device *)xpc_part;
10494#line 1296
10495 dev_err(__cil_tmp25, "failed while forking discovery thread\n");
10496#line 1299
10497 complete(& xpc_discovery_exited);
10498#line 1301
10499 __cil_tmp26 = (enum xp_retval )19;
10500#line 1301
10501 xpc_do_exit(__cil_tmp26);
10502 }
10503#line 1302
10504 return (-16);
10505 } else {
10506
10507 }
10508 {
10509#line 1306
10510 xpc_set_interface(& xpc_initiate_connect, & xpc_initiate_disconnect, & xpc_initiate_send,
10511 & xpc_initiate_send_notify, & xpc_initiate_received, & xpc_initiate_partid_to_nasids);
10512 }
10513#line 1310
10514 return (0);
10515 out_3:
10516 {
10517#line 1314
10518 xpc_teardown_rsvd_page();
10519#line 1316
10520 unregister_die_notifier(& xpc_die_notifier);
10521#line 1317
10522 unregister_reboot_notifier(& xpc_reboot_notifier);
10523 }
10524 out_2: ;
10525 {
10526#line 1319
10527 __cil_tmp27 = (struct ctl_table_header *)0;
10528#line 1319
10529 __cil_tmp28 = (unsigned long )__cil_tmp27;
10530#line 1319
10531 __cil_tmp29 = (unsigned long )xpc_sysctl;
10532#line 1319
10533 if (__cil_tmp29 != __cil_tmp28) {
10534 {
10535#line 1320
10536 unregister_sysctl_table(xpc_sysctl);
10537 }
10538 } else {
10539
10540 }
10541 }
10542 {
10543#line 1322
10544 xpc_teardown_partitions();
10545 }
10546 out_1:
10547 {
10548#line 1326
10549 tmp___6 = is_uv_system();
10550 }
10551#line 1326
10552 if (tmp___6 != 0) {
10553 {
10554#line 1327
10555 xpc_exit_uv();
10556 }
10557 } else {
10558
10559 }
10560#line 1328
10561 return (ret);
10562}
10563}
10564#line 1334 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10565void xpc_exit(void)
10566{ enum xp_retval __cil_tmp1 ;
10567
10568 {
10569 {
10570#line 1336
10571 __cil_tmp1 = (enum xp_retval )19;
10572#line 1336
10573 xpc_do_exit(__cil_tmp1);
10574 }
10575#line 1337
10576 return;
10577}
10578}
10579#line 1377
10580extern void ldv_check_final_state(void) ;
10581#line 1383
10582extern void ldv_initialize(void) ;
10583#line 1386
10584extern int __VERIFIER_nondet_int(void) ;
10585#line 1389 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10586int LDV_IN_INTERRUPT ;
10587#line 1392 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10588void ldv_main0_sequence_infinite_withcheck_stateful(void)
10589{ struct notifier_block *var_group1 ;
10590 unsigned long var_xpc_system_reboot_21_p1 ;
10591 void *var_xpc_system_reboot_21_p2 ;
10592 unsigned long var_xpc_system_die_23_p1 ;
10593 void *var_xpc_system_die_23_p2 ;
10594 unsigned long var_xpc_timeout_partition_disengage_0_p0 ;
10595 unsigned long var_xpc_hb_beater_1_p0 ;
10596 int tmp ;
10597 int tmp___0 ;
10598 int tmp___1 ;
10599
10600 {
10601 {
10602#line 1447
10603 LDV_IN_INTERRUPT = 1;
10604#line 1456
10605 ldv_initialize();
10606#line 1466
10607 tmp = xpc_init();
10608 }
10609#line 1466
10610 if (tmp != 0) {
10611#line 1467
10612 goto ldv_final;
10613 } else {
10614
10615 }
10616#line 1475
10617 goto ldv_19507;
10618 ldv_19506:
10619 {
10620#line 1478
10621 tmp___0 = __VERIFIER_nondet_int();
10622 }
10623#line 1480
10624 if (tmp___0 == 0) {
10625#line 1480
10626 goto case_0;
10627 } else
10628#line 1501
10629 if (tmp___0 == 1) {
10630#line 1501
10631 goto case_1;
10632 } else
10633#line 1517
10634 if (tmp___0 == 2) {
10635#line 1517
10636 goto case_2;
10637 } else
10638#line 1538
10639 if (tmp___0 == 3) {
10640#line 1538
10641 goto case_3;
10642 } else {
10643 {
10644#line 1559
10645 goto switch_default;
10646#line 1478
10647 if (0) {
10648 case_0:
10649 {
10650#line 1488
10651 xpc_system_reboot(var_group1, var_xpc_system_reboot_21_p1, var_xpc_system_reboot_21_p2);
10652 }
10653#line 1500
10654 goto ldv_19501;
10655 case_1:
10656 {
10657#line 1509
10658 xpc_system_die(var_group1, var_xpc_system_die_23_p1, var_xpc_system_die_23_p2);
10659 }
10660#line 1516
10661 goto ldv_19501;
10662 case_2:
10663 {
10664#line 1525
10665 xpc_timeout_partition_disengage(var_xpc_timeout_partition_disengage_0_p0);
10666 }
10667#line 1537
10668 goto ldv_19501;
10669 case_3:
10670 {
10671#line 1546
10672 xpc_hb_beater(var_xpc_hb_beater_1_p0);
10673 }
10674#line 1558
10675 goto ldv_19501;
10676 switch_default: ;
10677#line 1559
10678 goto ldv_19501;
10679 } else {
10680 switch_break: ;
10681 }
10682 }
10683 }
10684 ldv_19501: ;
10685 ldv_19507:
10686 {
10687#line 1475
10688 tmp___1 = __VERIFIER_nondet_int();
10689 }
10690#line 1475
10691 if (tmp___1 != 0) {
10692#line 1476
10693 goto ldv_19506;
10694 } else {
10695#line 1478
10696 goto ldv_19508;
10697 }
10698 ldv_19508: ;
10699 {
10700#line 1575
10701 xpc_exit();
10702 }
10703 ldv_final:
10704 {
10705#line 1578
10706 ldv_check_final_state();
10707 }
10708#line 1581
10709 return;
10710}
10711}
10712#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
10713void ldv_blast_assert(void)
10714{
10715
10716 {
10717 ERROR: ;
10718#line 6
10719 goto ERROR;
10720}
10721}
10722#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
10723extern int __VERIFIER_nondet_int(void) ;
10724#line 1602 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10725int ldv_spin = 0;
10726#line 1606 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10727void ldv_check_alloc_flags(gfp_t flags )
10728{
10729
10730 {
10731#line 1609
10732 if (ldv_spin != 0) {
10733#line 1609
10734 if (flags != 32U) {
10735 {
10736#line 1609
10737 ldv_blast_assert();
10738 }
10739 } else {
10740
10741 }
10742 } else {
10743
10744 }
10745#line 1612
10746 return;
10747}
10748}
10749#line 1612
10750extern struct page *ldv_some_page(void) ;
10751#line 1615 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10752struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
10753{ struct page *tmp ;
10754
10755 {
10756#line 1618
10757 if (ldv_spin != 0) {
10758#line 1618
10759 if (flags != 32U) {
10760 {
10761#line 1618
10762 ldv_blast_assert();
10763 }
10764 } else {
10765
10766 }
10767 } else {
10768
10769 }
10770 {
10771#line 1620
10772 tmp = ldv_some_page();
10773 }
10774#line 1620
10775 return (tmp);
10776}
10777}
10778#line 1624 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10779void ldv_check_alloc_nonatomic(void)
10780{
10781
10782 {
10783#line 1627
10784 if (ldv_spin != 0) {
10785 {
10786#line 1627
10787 ldv_blast_assert();
10788 }
10789 } else {
10790
10791 }
10792#line 1630
10793 return;
10794}
10795}
10796#line 1631 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10797void ldv_spin_lock(void)
10798{
10799
10800 {
10801#line 1634
10802 ldv_spin = 1;
10803#line 1635
10804 return;
10805}
10806}
10807#line 1638 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10808void ldv_spin_unlock(void)
10809{
10810
10811 {
10812#line 1641
10813 ldv_spin = 0;
10814#line 1642
10815 return;
10816}
10817}
10818#line 1645 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10819int ldv_spin_trylock(void)
10820{ int is_lock ;
10821
10822 {
10823 {
10824#line 1650
10825 is_lock = __VERIFIER_nondet_int();
10826 }
10827#line 1652
10828 if (is_lock != 0) {
10829#line 1655
10830 return (0);
10831 } else {
10832#line 1660
10833 ldv_spin = 1;
10834#line 1662
10835 return (1);
10836 }
10837}
10838}
10839#line 1666 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10840__inline static void spin_lock(spinlock_t *lock )
10841{
10842
10843 {
10844 {
10845#line 1671
10846 ldv_spin_lock();
10847#line 1673
10848 ldv_spin_lock_1(lock);
10849 }
10850#line 1674
10851 return;
10852}
10853}
10854#line 1708 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10855__inline static void spin_unlock(spinlock_t *lock )
10856{
10857
10858 {
10859 {
10860#line 1713
10861 ldv_spin_unlock();
10862#line 1715
10863 ldv_spin_unlock_5(lock);
10864 }
10865#line 1716
10866 return;
10867}
10868}
10869#line 1738 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10870__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags )
10871{
10872
10873 {
10874 {
10875#line 1744
10876 ldv_spin_unlock();
10877#line 1746
10878 ldv_spin_unlock_irqrestore_8(lock, flags);
10879 }
10880#line 1747
10881 return;
10882}
10883}
10884#line 1829 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10885void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
10886{
10887
10888 {
10889 {
10890#line 1835
10891 ldv_check_alloc_flags(ldv_func_arg2);
10892#line 1837
10893 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
10894 }
10895#line 1838
10896 return ((void *)0);
10897}
10898}
10899#line 1840 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_main.c.p"
10900__inline static void *kzalloc(size_t size , gfp_t flags )
10901{ void *tmp ;
10902
10903 {
10904 {
10905#line 1846
10906 ldv_check_alloc_flags(flags);
10907#line 1847
10908 tmp = __VERIFIER_nondet_pointer();
10909 }
10910#line 1847
10911 return (tmp);
10912}
10913}
10914#line 283 "include/linux/spinlock.h"
10915__inline static void spin_lock(spinlock_t *lock ) ;
10916#line 323
10917__inline static void spin_unlock(spinlock_t *lock ) ;
10918#line 350
10919__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
10920#line 578 "include/linux/wait.h"
10921extern long interruptible_sleep_on_timeout(wait_queue_head_t * , long ) ;
10922#line 168 "include/linux/mutex.h"
10923extern int mutex_trylock(struct mutex * ) ;
10924#line 169
10925extern void mutex_unlock(struct mutex * ) ;
10926#line 874 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
10927extern struct xpc_registration xpc_registrations[] ;
10928#line 923
10929enum xp_retval xpc_allocate_msg_wait(struct xpc_channel *ch ) ;
10930#line 934
10931void xpc_partition_going_down(struct xpc_partition *part , enum xp_retval reason ) ;
10932#line 41 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
10933static void xpc_process_connect(struct xpc_channel *ch , unsigned long *irq_flags )
10934{ enum xp_retval ret ;
10935 unsigned long __cil_tmp4 ;
10936 unsigned long __cil_tmp5 ;
10937 unsigned int __cil_tmp6 ;
10938 unsigned int __cil_tmp7 ;
10939 unsigned long __cil_tmp8 ;
10940 unsigned long __cil_tmp9 ;
10941 unsigned int __cil_tmp10 ;
10942 unsigned int __cil_tmp11 ;
10943 unsigned long __cil_tmp12 ;
10944 unsigned long __cil_tmp13 ;
10945 unsigned int __cil_tmp14 ;
10946 unsigned int __cil_tmp15 ;
10947 unsigned long __cil_tmp16 ;
10948 unsigned long __cil_tmp17 ;
10949 spinlock_t *__cil_tmp18 ;
10950 unsigned long __cil_tmp19 ;
10951 unsigned int __cil_tmp20 ;
10952 int __cil_tmp21 ;
10953 unsigned long __cil_tmp22 ;
10954 unsigned long __cil_tmp23 ;
10955 unsigned long __cil_tmp24 ;
10956 unsigned long __cil_tmp25 ;
10957 unsigned int __cil_tmp26 ;
10958 unsigned long __cil_tmp27 ;
10959 unsigned long __cil_tmp28 ;
10960 unsigned int __cil_tmp29 ;
10961 unsigned int __cil_tmp30 ;
10962 unsigned long __cil_tmp31 ;
10963 unsigned long __cil_tmp32 ;
10964 unsigned int __cil_tmp33 ;
10965 unsigned int __cil_tmp34 ;
10966 unsigned long __cil_tmp35 ;
10967 unsigned long __cil_tmp36 ;
10968 unsigned long __cil_tmp37 ;
10969 unsigned long __cil_tmp38 ;
10970 unsigned int __cil_tmp39 ;
10971 unsigned long __cil_tmp40 ;
10972 unsigned long __cil_tmp41 ;
10973 unsigned int __cil_tmp42 ;
10974 unsigned int __cil_tmp43 ;
10975 unsigned long __cil_tmp44 ;
10976 unsigned long __cil_tmp45 ;
10977 unsigned int __cil_tmp46 ;
10978 unsigned int __cil_tmp47 ;
10979 unsigned long __cil_tmp48 ;
10980 unsigned long __cil_tmp49 ;
10981 unsigned long __cil_tmp50 ;
10982 unsigned long __cil_tmp51 ;
10983 unsigned int __cil_tmp52 ;
10984 unsigned long __cil_tmp53 ;
10985 unsigned long __cil_tmp54 ;
10986 unsigned int __cil_tmp55 ;
10987 unsigned int __cil_tmp56 ;
10988 struct device *__cil_tmp57 ;
10989 unsigned long __cil_tmp58 ;
10990 unsigned long __cil_tmp59 ;
10991 u16 __cil_tmp60 ;
10992 int __cil_tmp61 ;
10993 short __cil_tmp62 ;
10994 int __cil_tmp63 ;
10995 unsigned long __cil_tmp64 ;
10996 unsigned long __cil_tmp65 ;
10997
10998 {
10999 {
11000#line 47
11001 __cil_tmp4 = (unsigned long )ch;
11002#line 47
11003 __cil_tmp5 = __cil_tmp4 + 80;
11004#line 47
11005 __cil_tmp6 = *((unsigned int *)__cil_tmp5);
11006#line 47
11007 __cil_tmp7 = __cil_tmp6 & 64U;
11008#line 47
11009 if (__cil_tmp7 == 0U) {
11010#line 50
11011 return;
11012 } else {
11013 {
11014#line 47
11015 __cil_tmp8 = (unsigned long )ch;
11016#line 47
11017 __cil_tmp9 = __cil_tmp8 + 80;
11018#line 47
11019 __cil_tmp10 = *((unsigned int *)__cil_tmp9);
11020#line 47
11021 __cil_tmp11 = __cil_tmp10 & 32U;
11022#line 47
11023 if (__cil_tmp11 == 0U) {
11024#line 50
11025 return;
11026 } else {
11027
11028 }
11029 }
11030 }
11031 }
11032 {
11033#line 54
11034 __cil_tmp12 = (unsigned long )ch;
11035#line 54
11036 __cil_tmp13 = __cil_tmp12 + 80;
11037#line 54
11038 __cil_tmp14 = *((unsigned int *)__cil_tmp13);
11039#line 54
11040 __cil_tmp15 = __cil_tmp14 & 128U;
11041#line 54
11042 if (__cil_tmp15 == 0U) {
11043 {
11044#line 55
11045 __cil_tmp16 = (unsigned long )ch;
11046#line 55
11047 __cil_tmp17 = __cil_tmp16 + 8;
11048#line 55
11049 __cil_tmp18 = (spinlock_t *)__cil_tmp17;
11050#line 55
11051 __cil_tmp19 = *irq_flags;
11052#line 55
11053 spin_unlock_irqrestore(__cil_tmp18, __cil_tmp19);
11054#line 56
11055 ret = (*(xpc_arch_ops.setup_msg_structures))(ch);
11056#line 57
11057 ldv_spin_lock();
11058 }
11059 {
11060#line 59
11061 __cil_tmp20 = (unsigned int )ret;
11062#line 59
11063 if (__cil_tmp20 != 0U) {
11064 {
11065#line 60
11066 __cil_tmp21 = (int )60;
11067#line 60
11068 xpc_disconnect_channel(__cil_tmp21, ch, ret, irq_flags);
11069 }
11070 } else {
11071#line 62
11072 __cil_tmp22 = (unsigned long )ch;
11073#line 62
11074 __cil_tmp23 = __cil_tmp22 + 80;
11075#line 62
11076 __cil_tmp24 = (unsigned long )ch;
11077#line 62
11078 __cil_tmp25 = __cil_tmp24 + 80;
11079#line 62
11080 __cil_tmp26 = *((unsigned int *)__cil_tmp25);
11081#line 62
11082 *((unsigned int *)__cil_tmp23) = __cil_tmp26 | 128U;
11083 }
11084 }
11085 {
11086#line 64
11087 __cil_tmp27 = (unsigned long )ch;
11088#line 64
11089 __cil_tmp28 = __cil_tmp27 + 80;
11090#line 64
11091 __cil_tmp29 = *((unsigned int *)__cil_tmp28);
11092#line 64
11093 __cil_tmp30 = __cil_tmp29 & 131072U;
11094#line 64
11095 if (__cil_tmp30 != 0U) {
11096#line 65
11097 return;
11098 } else {
11099
11100 }
11101 }
11102 } else {
11103
11104 }
11105 }
11106 {
11107#line 68
11108 __cil_tmp31 = (unsigned long )ch;
11109#line 68
11110 __cil_tmp32 = __cil_tmp31 + 80;
11111#line 68
11112 __cil_tmp33 = *((unsigned int *)__cil_tmp32);
11113#line 68
11114 __cil_tmp34 = __cil_tmp33 & 16U;
11115#line 68
11116 if (__cil_tmp34 == 0U) {
11117 {
11118#line 69
11119 __cil_tmp35 = (unsigned long )ch;
11120#line 69
11121 __cil_tmp36 = __cil_tmp35 + 80;
11122#line 69
11123 __cil_tmp37 = (unsigned long )ch;
11124#line 69
11125 __cil_tmp38 = __cil_tmp37 + 80;
11126#line 69
11127 __cil_tmp39 = *((unsigned int *)__cil_tmp38);
11128#line 69
11129 *((unsigned int *)__cil_tmp36) = __cil_tmp39 | 16U;
11130#line 70
11131 (*(xpc_arch_ops.send_chctl_openreply))(ch, irq_flags);
11132 }
11133 } else {
11134
11135 }
11136 }
11137 {
11138#line 73
11139 __cil_tmp40 = (unsigned long )ch;
11140#line 73
11141 __cil_tmp41 = __cil_tmp40 + 80;
11142#line 73
11143 __cil_tmp42 = *((unsigned int *)__cil_tmp41);
11144#line 73
11145 __cil_tmp43 = __cil_tmp42 & 8U;
11146#line 73
11147 if (__cil_tmp43 == 0U) {
11148#line 74
11149 return;
11150 } else {
11151
11152 }
11153 }
11154 {
11155#line 76
11156 __cil_tmp44 = (unsigned long )ch;
11157#line 76
11158 __cil_tmp45 = __cil_tmp44 + 80;
11159#line 76
11160 __cil_tmp46 = *((unsigned int *)__cil_tmp45);
11161#line 76
11162 __cil_tmp47 = __cil_tmp46 & 4U;
11163#line 76
11164 if (__cil_tmp47 == 0U) {
11165 {
11166#line 77
11167 __cil_tmp48 = (unsigned long )ch;
11168#line 77
11169 __cil_tmp49 = __cil_tmp48 + 80;
11170#line 77
11171 __cil_tmp50 = (unsigned long )ch;
11172#line 77
11173 __cil_tmp51 = __cil_tmp50 + 80;
11174#line 77
11175 __cil_tmp52 = *((unsigned int *)__cil_tmp51);
11176#line 77
11177 *((unsigned int *)__cil_tmp49) = __cil_tmp52 | 1028U;
11178#line 78
11179 (*(xpc_arch_ops.send_chctl_opencomplete))(ch, irq_flags);
11180 }
11181 } else {
11182
11183 }
11184 }
11185 {
11186#line 81
11187 __cil_tmp53 = (unsigned long )ch;
11188#line 81
11189 __cil_tmp54 = __cil_tmp53 + 80;
11190#line 81
11191 __cil_tmp55 = *((unsigned int *)__cil_tmp54);
11192#line 81
11193 __cil_tmp56 = __cil_tmp55 & 2U;
11194#line 81
11195 if (__cil_tmp56 == 0U) {
11196#line 82
11197 return;
11198 } else {
11199
11200 }
11201 }
11202 {
11203#line 84
11204 __cil_tmp57 = (struct device *)xpc_chan;
11205#line 84
11206 __cil_tmp58 = (unsigned long )ch;
11207#line 84
11208 __cil_tmp59 = __cil_tmp58 + 92;
11209#line 84
11210 __cil_tmp60 = *((u16 *)__cil_tmp59);
11211#line 84
11212 __cil_tmp61 = (int )__cil_tmp60;
11213#line 84
11214 __cil_tmp62 = *((short *)ch);
11215#line 84
11216 __cil_tmp63 = (int )__cil_tmp62;
11217#line 84
11218 _dev_info(__cil_tmp57, "channel %d to partition %d connected\n", __cil_tmp61, __cil_tmp63);
11219#line 87
11220 __cil_tmp64 = (unsigned long )ch;
11221#line 87
11222 __cil_tmp65 = __cil_tmp64 + 80;
11223#line 87
11224 *((unsigned int *)__cil_tmp65) = 1152U;
11225 }
11226#line 88
11227 return;
11228}
11229}
11230#line 94 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
11231static void xpc_process_disconnect(struct xpc_channel *ch , unsigned long *irq_flags )
11232{ struct xpc_partition *part ;
11233 u32 channel_was_connected ;
11234 int tmp ;
11235 int tmp___0 ;
11236 int tmp___1 ;
11237 int tmp___2 ;
11238 short __cil_tmp9 ;
11239 unsigned long __cil_tmp10 ;
11240 unsigned long __cil_tmp11 ;
11241 unsigned long __cil_tmp12 ;
11242 unsigned int __cil_tmp13 ;
11243 unsigned long __cil_tmp14 ;
11244 unsigned long __cil_tmp15 ;
11245 unsigned int __cil_tmp16 ;
11246 unsigned int __cil_tmp17 ;
11247 unsigned long __cil_tmp18 ;
11248 unsigned long __cil_tmp19 ;
11249 atomic_t *__cil_tmp20 ;
11250 atomic_t *__cil_tmp21 ;
11251 unsigned long __cil_tmp22 ;
11252 unsigned long __cil_tmp23 ;
11253 atomic_t *__cil_tmp24 ;
11254 atomic_t *__cil_tmp25 ;
11255 unsigned long __cil_tmp26 ;
11256 unsigned long __cil_tmp27 ;
11257 u8 __cil_tmp28 ;
11258 unsigned int __cil_tmp29 ;
11259 short __cil_tmp30 ;
11260 int __cil_tmp31 ;
11261 short __cil_tmp32 ;
11262 unsigned long __cil_tmp33 ;
11263 unsigned long __cil_tmp34 ;
11264 unsigned int __cil_tmp35 ;
11265 unsigned int __cil_tmp36 ;
11266 unsigned long __cil_tmp37 ;
11267 unsigned long __cil_tmp38 ;
11268 unsigned int __cil_tmp39 ;
11269 unsigned int __cil_tmp40 ;
11270 unsigned long __cil_tmp41 ;
11271 unsigned long __cil_tmp42 ;
11272 unsigned long __cil_tmp43 ;
11273 unsigned long __cil_tmp44 ;
11274 unsigned int __cil_tmp45 ;
11275 unsigned long __cil_tmp46 ;
11276 unsigned long __cil_tmp47 ;
11277 unsigned int __cil_tmp48 ;
11278 unsigned int __cil_tmp49 ;
11279 unsigned long __cil_tmp50 ;
11280 unsigned long __cil_tmp51 ;
11281 atomic_t *__cil_tmp52 ;
11282 atomic_t *__cil_tmp53 ;
11283 unsigned long __cil_tmp54 ;
11284 unsigned long __cil_tmp55 ;
11285 unsigned int __cil_tmp56 ;
11286 unsigned int __cil_tmp57 ;
11287 unsigned long __cil_tmp58 ;
11288 unsigned long __cil_tmp59 ;
11289 spinlock_t *__cil_tmp60 ;
11290 unsigned long __cil_tmp61 ;
11291 enum xp_retval __cil_tmp62 ;
11292 unsigned long __cil_tmp63 ;
11293 unsigned long __cil_tmp64 ;
11294 unsigned long __cil_tmp65 ;
11295 unsigned long __cil_tmp66 ;
11296 unsigned long __cil_tmp67 ;
11297 unsigned long __cil_tmp68 ;
11298 unsigned long __cil_tmp69 ;
11299 unsigned long __cil_tmp70 ;
11300 unsigned long __cil_tmp71 ;
11301 unsigned long __cil_tmp72 ;
11302 unsigned long __cil_tmp73 ;
11303 unsigned long __cil_tmp74 ;
11304 unsigned long __cil_tmp75 ;
11305 unsigned long __cil_tmp76 ;
11306 unsigned long __cil_tmp77 ;
11307 unsigned long __cil_tmp78 ;
11308 unsigned long __cil_tmp79 ;
11309 unsigned long __cil_tmp80 ;
11310 unsigned int __cil_tmp81 ;
11311 unsigned int __cil_tmp82 ;
11312 unsigned long __cil_tmp83 ;
11313 unsigned long __cil_tmp84 ;
11314 atomic_t *__cil_tmp85 ;
11315 struct device *__cil_tmp86 ;
11316 unsigned long __cil_tmp87 ;
11317 unsigned long __cil_tmp88 ;
11318 u16 __cil_tmp89 ;
11319 int __cil_tmp90 ;
11320 short __cil_tmp91 ;
11321 int __cil_tmp92 ;
11322 unsigned long __cil_tmp93 ;
11323 unsigned long __cil_tmp94 ;
11324 enum xp_retval __cil_tmp95 ;
11325 unsigned int __cil_tmp96 ;
11326 unsigned long __cil_tmp97 ;
11327 unsigned long __cil_tmp98 ;
11328 unsigned int __cil_tmp99 ;
11329 unsigned int __cil_tmp100 ;
11330 unsigned long __cil_tmp101 ;
11331 unsigned long __cil_tmp102 ;
11332 struct completion *__cil_tmp103 ;
11333 unsigned long __cil_tmp104 ;
11334 unsigned long __cil_tmp105 ;
11335 u8 __cil_tmp106 ;
11336 unsigned int __cil_tmp107 ;
11337 unsigned long __cil_tmp108 ;
11338 unsigned long __cil_tmp109 ;
11339 u8 __cil_tmp110 ;
11340 unsigned int __cil_tmp111 ;
11341 unsigned long __cil_tmp112 ;
11342 unsigned long __cil_tmp113 ;
11343 spinlock_t *__cil_tmp114 ;
11344 unsigned long __cil_tmp115 ;
11345 unsigned long __cil_tmp116 ;
11346 u16 __cil_tmp117 ;
11347 int __cil_tmp118 ;
11348 unsigned long __cil_tmp119 ;
11349 unsigned long __cil_tmp120 ;
11350 unsigned long __cil_tmp121 ;
11351 unsigned long __cil_tmp122 ;
11352 unsigned long __cil_tmp123 ;
11353 unsigned long __cil_tmp124 ;
11354 unsigned long __cil_tmp125 ;
11355 u8 __cil_tmp126 ;
11356 int __cil_tmp127 ;
11357 unsigned long __cil_tmp128 ;
11358 unsigned long __cil_tmp129 ;
11359 u16 __cil_tmp130 ;
11360 int __cil_tmp131 ;
11361 unsigned long __cil_tmp132 ;
11362 unsigned long __cil_tmp133 ;
11363 unsigned long __cil_tmp134 ;
11364 unsigned long __cil_tmp135 ;
11365 unsigned long __cil_tmp136 ;
11366 u8 __cil_tmp137 ;
11367 int __cil_tmp138 ;
11368 int __cil_tmp139 ;
11369 unsigned long __cil_tmp140 ;
11370 unsigned long __cil_tmp141 ;
11371 spinlock_t *__cil_tmp142 ;
11372 unsigned long __cil_tmp143 ;
11373 unsigned long __cil_tmp144 ;
11374
11375 {
11376#line 96
11377 __cil_tmp9 = *((short *)ch);
11378#line 96
11379 __cil_tmp10 = (unsigned long )__cil_tmp9;
11380#line 96
11381 part = xpc_partitions + __cil_tmp10;
11382#line 97
11383 __cil_tmp11 = (unsigned long )ch;
11384#line 97
11385 __cil_tmp12 = __cil_tmp11 + 80;
11386#line 97
11387 __cil_tmp13 = *((unsigned int *)__cil_tmp12);
11388#line 97
11389 channel_was_connected = __cil_tmp13 & 1U;
11390 {
11391#line 101
11392 __cil_tmp14 = (unsigned long )ch;
11393#line 101
11394 __cil_tmp15 = __cil_tmp14 + 80;
11395#line 101
11396 __cil_tmp16 = *((unsigned int *)__cil_tmp15);
11397#line 101
11398 __cil_tmp17 = __cil_tmp16 & 131072U;
11399#line 101
11400 if (__cil_tmp17 == 0U) {
11401#line 102
11402 return;
11403 } else {
11404
11405 }
11406 }
11407 {
11408#line 108
11409 __cil_tmp18 = (unsigned long )ch;
11410#line 108
11411 __cil_tmp19 = __cil_tmp18 + 320;
11412#line 108
11413 __cil_tmp20 = (atomic_t *)__cil_tmp19;
11414#line 108
11415 __cil_tmp21 = (atomic_t *)__cil_tmp20;
11416#line 108
11417 tmp = atomic_read(__cil_tmp21);
11418 }
11419#line 108
11420 if (tmp > 0) {
11421#line 110
11422 return;
11423 } else {
11424 {
11425#line 108
11426 __cil_tmp22 = (unsigned long )ch;
11427#line 108
11428 __cil_tmp23 = __cil_tmp22 + 100;
11429#line 108
11430 __cil_tmp24 = (atomic_t *)__cil_tmp23;
11431#line 108
11432 __cil_tmp25 = (atomic_t *)__cil_tmp24;
11433#line 108
11434 tmp___0 = atomic_read(__cil_tmp25);
11435 }
11436#line 108
11437 if (tmp___0 > 0) {
11438#line 110
11439 return;
11440 } else {
11441
11442 }
11443 }
11444 {
11445#line 115
11446 __cil_tmp26 = (unsigned long )part;
11447#line 115
11448 __cil_tmp27 = __cil_tmp26 + 112;
11449#line 115
11450 __cil_tmp28 = *((u8 *)__cil_tmp27);
11451#line 115
11452 __cil_tmp29 = (unsigned int )__cil_tmp28;
11453#line 115
11454 if (__cil_tmp29 == 4U) {
11455 {
11456#line 117
11457 __cil_tmp30 = *((short *)ch);
11458#line 117
11459 __cil_tmp31 = (int )__cil_tmp30;
11460#line 117
11461 __cil_tmp32 = (short )__cil_tmp31;
11462#line 117
11463 tmp___1 = (*(xpc_arch_ops.partition_engaged))(__cil_tmp32);
11464 }
11465#line 117
11466 if (tmp___1 != 0) {
11467#line 118
11468 return;
11469 } else {
11470 {
11471#line 124
11472 __cil_tmp33 = (unsigned long )ch;
11473#line 124
11474 __cil_tmp34 = __cil_tmp33 + 80;
11475#line 124
11476 __cil_tmp35 = *((unsigned int *)__cil_tmp34);
11477#line 124
11478 __cil_tmp36 = __cil_tmp35 & 16384U;
11479#line 124
11480 if (__cil_tmp36 == 0U) {
11481#line 125
11482 return;
11483 } else {
11484
11485 }
11486 }
11487 {
11488#line 127
11489 __cil_tmp37 = (unsigned long )ch;
11490#line 127
11491 __cil_tmp38 = __cil_tmp37 + 80;
11492#line 127
11493 __cil_tmp39 = *((unsigned int *)__cil_tmp38);
11494#line 127
11495 __cil_tmp40 = __cil_tmp39 & 8192U;
11496#line 127
11497 if (__cil_tmp40 == 0U) {
11498 {
11499#line 128
11500 __cil_tmp41 = (unsigned long )ch;
11501#line 128
11502 __cil_tmp42 = __cil_tmp41 + 80;
11503#line 128
11504 __cil_tmp43 = (unsigned long )ch;
11505#line 128
11506 __cil_tmp44 = __cil_tmp43 + 80;
11507#line 128
11508 __cil_tmp45 = *((unsigned int *)__cil_tmp44);
11509#line 128
11510 *((unsigned int *)__cil_tmp42) = __cil_tmp45 | 8192U;
11511#line 129
11512 (*(xpc_arch_ops.send_chctl_closereply))(ch, irq_flags);
11513 }
11514 } else {
11515
11516 }
11517 }
11518 {
11519#line 132
11520 __cil_tmp46 = (unsigned long )ch;
11521#line 132
11522 __cil_tmp47 = __cil_tmp46 + 80;
11523#line 132
11524 __cil_tmp48 = *((unsigned int *)__cil_tmp47);
11525#line 132
11526 __cil_tmp49 = __cil_tmp48 & 4096U;
11527#line 132
11528 if (__cil_tmp49 == 0U) {
11529#line 133
11530 return;
11531 } else {
11532
11533 }
11534 }
11535 }
11536 } else {
11537
11538 }
11539 }
11540 {
11541#line 137
11542 __cil_tmp50 = (unsigned long )ch;
11543#line 137
11544 __cil_tmp51 = __cil_tmp50 + 204;
11545#line 137
11546 __cil_tmp52 = (atomic_t *)__cil_tmp51;
11547#line 137
11548 __cil_tmp53 = (atomic_t *)__cil_tmp52;
11549#line 137
11550 tmp___2 = atomic_read(__cil_tmp53);
11551 }
11552#line 137
11553 if (tmp___2 > 0) {
11554 {
11555#line 139
11556 (*(xpc_arch_ops.notify_senders_of_disconnect))(ch);
11557 }
11558 } else {
11559
11560 }
11561 {
11562#line 144
11563 __cil_tmp54 = (unsigned long )ch;
11564#line 144
11565 __cil_tmp55 = __cil_tmp54 + 80;
11566#line 144
11567 __cil_tmp56 = *((unsigned int *)__cil_tmp55);
11568#line 144
11569 __cil_tmp57 = __cil_tmp56 & 524288U;
11570#line 144
11571 if (__cil_tmp57 != 0U) {
11572 {
11573#line 145
11574 __cil_tmp58 = (unsigned long )ch;
11575#line 145
11576 __cil_tmp59 = __cil_tmp58 + 8;
11577#line 145
11578 __cil_tmp60 = (spinlock_t *)__cil_tmp59;
11579#line 145
11580 __cil_tmp61 = *irq_flags;
11581#line 145
11582 spin_unlock_irqrestore(__cil_tmp60, __cil_tmp61);
11583#line 146
11584 __cil_tmp62 = (enum xp_retval )51;
11585#line 146
11586 xpc_disconnect_callout(ch, __cil_tmp62);
11587#line 147
11588 ldv_spin_lock();
11589 }
11590 } else {
11591
11592 }
11593 }
11594 {
11595#line 153
11596 (*(xpc_arch_ops.teardown_msg_structures))(ch);
11597#line 155
11598 __cil_tmp63 = (unsigned long )ch;
11599#line 155
11600 __cil_tmp64 = __cil_tmp63 + 208;
11601#line 155
11602 *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp64) = (void (*)(enum xp_retval ,
11603 short ,
11604 int ,
11605 void * ,
11606 void * ))0;
11607#line 156
11608 __cil_tmp65 = (unsigned long )ch;
11609#line 156
11610 __cil_tmp66 = __cil_tmp65 + 216;
11611#line 156
11612 *((void **)__cil_tmp66) = (void *)0;
11613#line 157
11614 __cil_tmp67 = (unsigned long )ch;
11615#line 157
11616 __cil_tmp68 = __cil_tmp67 + 94;
11617#line 157
11618 *((u16 *)__cil_tmp68) = (u16 )0U;
11619#line 158
11620 __cil_tmp69 = (unsigned long )ch;
11621#line 158
11622 __cil_tmp70 = __cil_tmp69 + 96;
11623#line 158
11624 *((u16 *)__cil_tmp70) = (u16 )0U;
11625#line 159
11626 __cil_tmp71 = (unsigned long )ch;
11627#line 159
11628 __cil_tmp72 = __cil_tmp71 + 98;
11629#line 159
11630 *((u16 *)__cil_tmp72) = (u16 )0U;
11631#line 160
11632 __cil_tmp73 = (unsigned long )ch;
11633#line 160
11634 __cil_tmp74 = __cil_tmp73 + 324;
11635#line 160
11636 *((u32 *)__cil_tmp74) = 0U;
11637#line 161
11638 __cil_tmp75 = (unsigned long )ch;
11639#line 161
11640 __cil_tmp76 = __cil_tmp75 + 332;
11641#line 161
11642 *((u32 *)__cil_tmp76) = 0U;
11643#line 169
11644 __cil_tmp77 = (unsigned long )ch;
11645#line 169
11646 __cil_tmp78 = __cil_tmp77 + 80;
11647#line 169
11648 __cil_tmp79 = (unsigned long )ch;
11649#line 169
11650 __cil_tmp80 = __cil_tmp79 + 80;
11651#line 169
11652 __cil_tmp81 = *((unsigned int *)__cil_tmp80);
11653#line 169
11654 __cil_tmp82 = __cil_tmp81 & 1048576U;
11655#line 169
11656 *((unsigned int *)__cil_tmp78) = __cil_tmp82 | 65536U;
11657#line 171
11658 __cil_tmp83 = (unsigned long )part;
11659#line 171
11660 __cil_tmp84 = __cil_tmp83 + 368;
11661#line 171
11662 __cil_tmp85 = (atomic_t *)__cil_tmp84;
11663#line 171
11664 atomic_dec(__cil_tmp85);
11665 }
11666#line 173
11667 if (channel_was_connected != 0U) {
11668 {
11669#line 174
11670 __cil_tmp86 = (struct device *)xpc_chan;
11671#line 174
11672 __cil_tmp87 = (unsigned long )ch;
11673#line 174
11674 __cil_tmp88 = __cil_tmp87 + 92;
11675#line 174
11676 __cil_tmp89 = *((u16 *)__cil_tmp88);
11677#line 174
11678 __cil_tmp90 = (int )__cil_tmp89;
11679#line 174
11680 __cil_tmp91 = *((short *)ch);
11681#line 174
11682 __cil_tmp92 = (int )__cil_tmp91;
11683#line 174
11684 __cil_tmp93 = (unsigned long )ch;
11685#line 174
11686 __cil_tmp94 = __cil_tmp93 + 84;
11687#line 174
11688 __cil_tmp95 = *((enum xp_retval *)__cil_tmp94);
11689#line 174
11690 __cil_tmp96 = (unsigned int )__cil_tmp95;
11691#line 174
11692 _dev_info(__cil_tmp86, "channel %d to partition %d disconnected, reason=%d\n",
11693 __cil_tmp90, __cil_tmp92, __cil_tmp96);
11694 }
11695 } else {
11696
11697 }
11698 {
11699#line 178
11700 __cil_tmp97 = (unsigned long )ch;
11701#line 178
11702 __cil_tmp98 = __cil_tmp97 + 80;
11703#line 178
11704 __cil_tmp99 = *((unsigned int *)__cil_tmp98);
11705#line 178
11706 __cil_tmp100 = __cil_tmp99 & 1048576U;
11707#line 178
11708 if (__cil_tmp100 != 0U) {
11709 {
11710#line 180
11711 __cil_tmp101 = (unsigned long )ch;
11712#line 180
11713 __cil_tmp102 = __cil_tmp101 + 224;
11714#line 180
11715 __cil_tmp103 = (struct completion *)__cil_tmp102;
11716#line 180
11717 complete(__cil_tmp103);
11718 }
11719 } else {
11720 {
11721#line 181
11722 __cil_tmp104 = (unsigned long )ch;
11723#line 181
11724 __cil_tmp105 = __cil_tmp104 + 200;
11725#line 181
11726 __cil_tmp106 = *((u8 *)__cil_tmp105);
11727#line 181
11728 __cil_tmp107 = (unsigned int )__cil_tmp106;
11729#line 181
11730 if (__cil_tmp107 != 0U) {
11731 {
11732#line 182
11733 __cil_tmp108 = (unsigned long )part;
11734#line 182
11735 __cil_tmp109 = __cil_tmp108 + 112;
11736#line 182
11737 __cil_tmp110 = *((u8 *)__cil_tmp109);
11738#line 182
11739 __cil_tmp111 = (unsigned int )__cil_tmp110;
11740#line 182
11741 if (__cil_tmp111 != 4U) {
11742 {
11743#line 184
11744 __cil_tmp112 = (unsigned long )part;
11745#line 184
11746 __cil_tmp113 = __cil_tmp112 + 392;
11747#line 184
11748 __cil_tmp114 = (spinlock_t *)__cil_tmp113;
11749#line 184
11750 spin_lock(__cil_tmp114);
11751#line 185
11752 __cil_tmp115 = (unsigned long )ch;
11753#line 185
11754 __cil_tmp116 = __cil_tmp115 + 92;
11755#line 185
11756 __cil_tmp117 = *((u16 *)__cil_tmp116);
11757#line 185
11758 __cil_tmp118 = (int )__cil_tmp117;
11759#line 185
11760 __cil_tmp119 = __cil_tmp118 * 1UL;
11761#line 185
11762 __cil_tmp120 = 0 + __cil_tmp119;
11763#line 185
11764 __cil_tmp121 = 384 + __cil_tmp120;
11765#line 185
11766 __cil_tmp122 = (unsigned long )part;
11767#line 185
11768 __cil_tmp123 = __cil_tmp122 + __cil_tmp121;
11769#line 185
11770 __cil_tmp124 = (unsigned long )ch;
11771#line 185
11772 __cil_tmp125 = __cil_tmp124 + 200;
11773#line 185
11774 __cil_tmp126 = *((u8 *)__cil_tmp125);
11775#line 185
11776 __cil_tmp127 = (int )__cil_tmp126;
11777#line 185
11778 __cil_tmp128 = (unsigned long )ch;
11779#line 185
11780 __cil_tmp129 = __cil_tmp128 + 92;
11781#line 185
11782 __cil_tmp130 = *((u16 *)__cil_tmp129);
11783#line 185
11784 __cil_tmp131 = (int )__cil_tmp130;
11785#line 185
11786 __cil_tmp132 = __cil_tmp131 * 1UL;
11787#line 185
11788 __cil_tmp133 = 0 + __cil_tmp132;
11789#line 185
11790 __cil_tmp134 = 384 + __cil_tmp133;
11791#line 185
11792 __cil_tmp135 = (unsigned long )part;
11793#line 185
11794 __cil_tmp136 = __cil_tmp135 + __cil_tmp134;
11795#line 185
11796 __cil_tmp137 = *((u8 *)__cil_tmp136);
11797#line 185
11798 __cil_tmp138 = (int )__cil_tmp137;
11799#line 185
11800 __cil_tmp139 = __cil_tmp138 | __cil_tmp127;
11801#line 185
11802 *((u8 *)__cil_tmp123) = (u8 )__cil_tmp139;
11803#line 187
11804 __cil_tmp140 = (unsigned long )part;
11805#line 187
11806 __cil_tmp141 = __cil_tmp140 + 392;
11807#line 187
11808 __cil_tmp142 = (spinlock_t *)__cil_tmp141;
11809#line 187
11810 spin_unlock(__cil_tmp142);
11811 }
11812 } else {
11813
11814 }
11815 }
11816#line 189
11817 __cil_tmp143 = (unsigned long )ch;
11818#line 189
11819 __cil_tmp144 = __cil_tmp143 + 200;
11820#line 189
11821 *((u8 *)__cil_tmp144) = (u8 )0U;
11822 } else {
11823
11824 }
11825 }
11826 }
11827 }
11828#line 191
11829 return;
11830}
11831}
11832#line 197 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
11833static void xpc_process_openclose_chctl_flags(struct xpc_partition *part , int ch_number ,
11834 u8 chctl_flags )
11835{ unsigned long irq_flags ;
11836 struct xpc_openclose_args *args ;
11837 struct xpc_channel *ch ;
11838 enum xp_retval reason ;
11839 enum xp_retval ret ;
11840 int create_kthread ;
11841 struct _ddebug descriptor ;
11842 long tmp ;
11843 struct _ddebug descriptor___0 ;
11844 long tmp___0 ;
11845 struct _ddebug descriptor___1 ;
11846 long tmp___1 ;
11847 struct _ddebug descriptor___2 ;
11848 long tmp___2 ;
11849 struct _ddebug descriptor___3 ;
11850 long tmp___3 ;
11851 struct _ddebug descriptor___4 ;
11852 long tmp___4 ;
11853 struct _ddebug descriptor___5 ;
11854 long tmp___5 ;
11855 unsigned long __cil_tmp24 ;
11856 unsigned long __cil_tmp25 ;
11857 unsigned long __cil_tmp26 ;
11858 struct xpc_openclose_args *__cil_tmp27 ;
11859 unsigned long __cil_tmp28 ;
11860 unsigned long __cil_tmp29 ;
11861 unsigned long __cil_tmp30 ;
11862 struct xpc_channel *__cil_tmp31 ;
11863 unsigned long __cil_tmp32 ;
11864 unsigned long __cil_tmp33 ;
11865 unsigned int __cil_tmp34 ;
11866 unsigned int __cil_tmp35 ;
11867 unsigned long __cil_tmp36 ;
11868 unsigned long __cil_tmp37 ;
11869 unsigned int __cil_tmp38 ;
11870 unsigned int __cil_tmp39 ;
11871 unsigned long __cil_tmp40 ;
11872 unsigned long __cil_tmp41 ;
11873 int __cil_tmp42 ;
11874 unsigned long __cil_tmp43 ;
11875 unsigned long __cil_tmp44 ;
11876 u8 __cil_tmp45 ;
11877 int __cil_tmp46 ;
11878 int __cil_tmp47 ;
11879 int __cil_tmp48 ;
11880 struct _ddebug *__cil_tmp49 ;
11881 unsigned long __cil_tmp50 ;
11882 unsigned long __cil_tmp51 ;
11883 unsigned long __cil_tmp52 ;
11884 unsigned long __cil_tmp53 ;
11885 unsigned long __cil_tmp54 ;
11886 unsigned long __cil_tmp55 ;
11887 unsigned char __cil_tmp56 ;
11888 long __cil_tmp57 ;
11889 long __cil_tmp58 ;
11890 struct device *__cil_tmp59 ;
11891 u16 __cil_tmp60 ;
11892 int __cil_tmp61 ;
11893 short __cil_tmp62 ;
11894 int __cil_tmp63 ;
11895 unsigned long __cil_tmp64 ;
11896 unsigned long __cil_tmp65 ;
11897 u16 __cil_tmp66 ;
11898 int __cil_tmp67 ;
11899 unsigned long __cil_tmp68 ;
11900 unsigned long __cil_tmp69 ;
11901 unsigned int __cil_tmp70 ;
11902 unsigned int __cil_tmp71 ;
11903 unsigned int __cil_tmp72 ;
11904 unsigned int __cil_tmp73 ;
11905 unsigned long __cil_tmp74 ;
11906 unsigned long __cil_tmp75 ;
11907 unsigned long __cil_tmp76 ;
11908 unsigned long __cil_tmp77 ;
11909 unsigned int __cil_tmp78 ;
11910 unsigned long __cil_tmp79 ;
11911 unsigned long __cil_tmp80 ;
11912 unsigned int __cil_tmp81 ;
11913 unsigned int __cil_tmp82 ;
11914 int __cil_tmp83 ;
11915 int __cil_tmp84 ;
11916 unsigned long __cil_tmp85 ;
11917 unsigned long __cil_tmp86 ;
11918 unsigned long __cil_tmp87 ;
11919 unsigned long __cil_tmp88 ;
11920 unsigned long __cil_tmp89 ;
11921 u8 __cil_tmp90 ;
11922 int __cil_tmp91 ;
11923 int __cil_tmp92 ;
11924 unsigned long __cil_tmp93 ;
11925 unsigned long __cil_tmp94 ;
11926 spinlock_t *__cil_tmp95 ;
11927 unsigned long __cil_tmp96 ;
11928 unsigned long __cil_tmp97 ;
11929 unsigned long __cil_tmp98 ;
11930 unsigned long __cil_tmp99 ;
11931 unsigned long __cil_tmp100 ;
11932 unsigned long __cil_tmp101 ;
11933 unsigned long __cil_tmp102 ;
11934 unsigned long __cil_tmp103 ;
11935 unsigned long __cil_tmp104 ;
11936 unsigned long __cil_tmp105 ;
11937 u8 __cil_tmp106 ;
11938 unsigned int __cil_tmp107 ;
11939 unsigned int __cil_tmp108 ;
11940 unsigned long __cil_tmp109 ;
11941 unsigned long __cil_tmp110 ;
11942 spinlock_t *__cil_tmp111 ;
11943 unsigned long __cil_tmp112 ;
11944 unsigned long __cil_tmp113 ;
11945 unsigned long __cil_tmp114 ;
11946 unsigned long __cil_tmp115 ;
11947 unsigned long __cil_tmp116 ;
11948 unsigned long __cil_tmp117 ;
11949 unsigned long __cil_tmp118 ;
11950 unsigned long __cil_tmp119 ;
11951 unsigned int __cil_tmp120 ;
11952 unsigned long __cil_tmp121 ;
11953 unsigned long __cil_tmp122 ;
11954 atomic_t *__cil_tmp123 ;
11955 unsigned long __cil_tmp124 ;
11956 unsigned long __cil_tmp125 ;
11957 unsigned long __cil_tmp126 ;
11958 unsigned long __cil_tmp127 ;
11959 unsigned int __cil_tmp128 ;
11960 unsigned int __cil_tmp129 ;
11961 unsigned int __cil_tmp130 ;
11962 unsigned long __cil_tmp131 ;
11963 unsigned long __cil_tmp132 ;
11964 unsigned long __cil_tmp133 ;
11965 unsigned long __cil_tmp134 ;
11966 unsigned int __cil_tmp135 ;
11967 unsigned long __cil_tmp136 ;
11968 unsigned long __cil_tmp137 ;
11969 unsigned int __cil_tmp138 ;
11970 unsigned int __cil_tmp139 ;
11971 u16 __cil_tmp140 ;
11972 unsigned int __cil_tmp141 ;
11973 unsigned int __cil_tmp142 ;
11974 unsigned int __cil_tmp143 ;
11975 int __cil_tmp144 ;
11976 int __cil_tmp145 ;
11977 int __cil_tmp146 ;
11978 struct _ddebug *__cil_tmp147 ;
11979 unsigned long __cil_tmp148 ;
11980 unsigned long __cil_tmp149 ;
11981 unsigned long __cil_tmp150 ;
11982 unsigned long __cil_tmp151 ;
11983 unsigned long __cil_tmp152 ;
11984 unsigned long __cil_tmp153 ;
11985 unsigned char __cil_tmp154 ;
11986 long __cil_tmp155 ;
11987 long __cil_tmp156 ;
11988 struct device *__cil_tmp157 ;
11989 short __cil_tmp158 ;
11990 int __cil_tmp159 ;
11991 unsigned long __cil_tmp160 ;
11992 unsigned long __cil_tmp161 ;
11993 u16 __cil_tmp162 ;
11994 int __cil_tmp163 ;
11995 unsigned long __cil_tmp164 ;
11996 unsigned long __cil_tmp165 ;
11997 unsigned int __cil_tmp166 ;
11998 unsigned int __cil_tmp167 ;
11999 unsigned long __cil_tmp168 ;
12000 unsigned long __cil_tmp169 ;
12001 unsigned int __cil_tmp170 ;
12002 unsigned int __cil_tmp171 ;
12003 unsigned long __cil_tmp172 ;
12004 unsigned long __cil_tmp173 ;
12005 unsigned long __cil_tmp174 ;
12006 unsigned long __cil_tmp175 ;
12007 unsigned long __cil_tmp176 ;
12008 u8 __cil_tmp177 ;
12009 int __cil_tmp178 ;
12010 unsigned long __cil_tmp179 ;
12011 unsigned long __cil_tmp180 ;
12012 spinlock_t *__cil_tmp181 ;
12013 unsigned long __cil_tmp182 ;
12014 unsigned long __cil_tmp183 ;
12015 unsigned long __cil_tmp184 ;
12016 unsigned long __cil_tmp185 ;
12017 unsigned long __cil_tmp186 ;
12018 unsigned long __cil_tmp187 ;
12019 unsigned long __cil_tmp188 ;
12020 unsigned long __cil_tmp189 ;
12021 unsigned long __cil_tmp190 ;
12022 unsigned long __cil_tmp191 ;
12023 u8 __cil_tmp192 ;
12024 unsigned int __cil_tmp193 ;
12025 unsigned int __cil_tmp194 ;
12026 unsigned long __cil_tmp195 ;
12027 unsigned long __cil_tmp196 ;
12028 spinlock_t *__cil_tmp197 ;
12029 unsigned long __cil_tmp198 ;
12030 unsigned long __cil_tmp199 ;
12031 unsigned long __cil_tmp200 ;
12032 unsigned long __cil_tmp201 ;
12033 unsigned int __cil_tmp202 ;
12034 unsigned long __cil_tmp203 ;
12035 unsigned long __cil_tmp204 ;
12036 unsigned int __cil_tmp205 ;
12037 unsigned int __cil_tmp206 ;
12038 int __cil_tmp207 ;
12039 int __cil_tmp208 ;
12040 struct _ddebug *__cil_tmp209 ;
12041 unsigned long __cil_tmp210 ;
12042 unsigned long __cil_tmp211 ;
12043 unsigned long __cil_tmp212 ;
12044 unsigned long __cil_tmp213 ;
12045 unsigned long __cil_tmp214 ;
12046 unsigned long __cil_tmp215 ;
12047 unsigned char __cil_tmp216 ;
12048 long __cil_tmp217 ;
12049 long __cil_tmp218 ;
12050 struct device *__cil_tmp219 ;
12051 unsigned long __cil_tmp220 ;
12052 unsigned long __cil_tmp221 ;
12053 u16 __cil_tmp222 ;
12054 int __cil_tmp223 ;
12055 unsigned long __cil_tmp224 ;
12056 unsigned long __cil_tmp225 ;
12057 u16 __cil_tmp226 ;
12058 int __cil_tmp227 ;
12059 short __cil_tmp228 ;
12060 int __cil_tmp229 ;
12061 unsigned long __cil_tmp230 ;
12062 unsigned long __cil_tmp231 ;
12063 u16 __cil_tmp232 ;
12064 int __cil_tmp233 ;
12065 unsigned long __cil_tmp234 ;
12066 unsigned long __cil_tmp235 ;
12067 u8 __cil_tmp236 ;
12068 unsigned int __cil_tmp237 ;
12069 unsigned long __cil_tmp238 ;
12070 unsigned long __cil_tmp239 ;
12071 unsigned int __cil_tmp240 ;
12072 unsigned int __cil_tmp241 ;
12073 unsigned long __cil_tmp242 ;
12074 unsigned long __cil_tmp243 ;
12075 unsigned int __cil_tmp244 ;
12076 unsigned int __cil_tmp245 ;
12077 unsigned long __cil_tmp246 ;
12078 unsigned long __cil_tmp247 ;
12079 unsigned long __cil_tmp248 ;
12080 unsigned long __cil_tmp249 ;
12081 u8 __cil_tmp250 ;
12082 unsigned int __cil_tmp251 ;
12083 unsigned int __cil_tmp252 ;
12084 unsigned long __cil_tmp253 ;
12085 unsigned long __cil_tmp254 ;
12086 u16 __cil_tmp255 ;
12087 unsigned int __cil_tmp256 ;
12088 unsigned long __cil_tmp257 ;
12089 unsigned long __cil_tmp258 ;
12090 u16 __cil_tmp259 ;
12091 unsigned int __cil_tmp260 ;
12092 unsigned long __cil_tmp261 ;
12093 unsigned long __cil_tmp262 ;
12094 unsigned long __cil_tmp263 ;
12095 unsigned long __cil_tmp264 ;
12096 unsigned int __cil_tmp265 ;
12097 unsigned long __cil_tmp266 ;
12098 unsigned long __cil_tmp267 ;
12099 unsigned long __cil_tmp268 ;
12100 unsigned long __cil_tmp269 ;
12101 unsigned long __cil_tmp270 ;
12102 unsigned long __cil_tmp271 ;
12103 unsigned int __cil_tmp272 ;
12104 unsigned int __cil_tmp273 ;
12105 unsigned long __cil_tmp274 ;
12106 unsigned long __cil_tmp275 ;
12107 u16 __cil_tmp276 ;
12108 int __cil_tmp277 ;
12109 unsigned long __cil_tmp278 ;
12110 unsigned long __cil_tmp279 ;
12111 u16 __cil_tmp280 ;
12112 int __cil_tmp281 ;
12113 int __cil_tmp282 ;
12114 enum xp_retval __cil_tmp283 ;
12115 unsigned long __cil_tmp284 ;
12116 unsigned long __cil_tmp285 ;
12117 unsigned long __cil_tmp286 ;
12118 unsigned long __cil_tmp287 ;
12119 unsigned long __cil_tmp288 ;
12120 unsigned long __cil_tmp289 ;
12121 unsigned long __cil_tmp290 ;
12122 unsigned long __cil_tmp291 ;
12123 unsigned long __cil_tmp292 ;
12124 unsigned long __cil_tmp293 ;
12125 unsigned long __cil_tmp294 ;
12126 unsigned long __cil_tmp295 ;
12127 unsigned int __cil_tmp296 ;
12128 unsigned long __cil_tmp297 ;
12129 unsigned long __cil_tmp298 ;
12130 atomic_t *__cil_tmp299 ;
12131 int __cil_tmp300 ;
12132 int __cil_tmp301 ;
12133 struct _ddebug *__cil_tmp302 ;
12134 unsigned long __cil_tmp303 ;
12135 unsigned long __cil_tmp304 ;
12136 unsigned long __cil_tmp305 ;
12137 unsigned long __cil_tmp306 ;
12138 unsigned long __cil_tmp307 ;
12139 unsigned long __cil_tmp308 ;
12140 unsigned char __cil_tmp309 ;
12141 long __cil_tmp310 ;
12142 long __cil_tmp311 ;
12143 struct device *__cil_tmp312 ;
12144 unsigned long __cil_tmp313 ;
12145 unsigned long __cil_tmp314 ;
12146 unsigned long __cil_tmp315 ;
12147 unsigned long __cil_tmp316 ;
12148 unsigned long __cil_tmp317 ;
12149 u16 __cil_tmp318 ;
12150 int __cil_tmp319 ;
12151 unsigned long __cil_tmp320 ;
12152 unsigned long __cil_tmp321 ;
12153 u16 __cil_tmp322 ;
12154 int __cil_tmp323 ;
12155 short __cil_tmp324 ;
12156 int __cil_tmp325 ;
12157 unsigned long __cil_tmp326 ;
12158 unsigned long __cil_tmp327 ;
12159 u16 __cil_tmp328 ;
12160 int __cil_tmp329 ;
12161 unsigned long __cil_tmp330 ;
12162 unsigned long __cil_tmp331 ;
12163 unsigned int __cil_tmp332 ;
12164 unsigned int __cil_tmp333 ;
12165 unsigned long __cil_tmp334 ;
12166 unsigned long __cil_tmp335 ;
12167 unsigned int __cil_tmp336 ;
12168 unsigned int __cil_tmp337 ;
12169 int __cil_tmp338 ;
12170 enum xp_retval __cil_tmp339 ;
12171 unsigned long __cil_tmp340 ;
12172 unsigned long __cil_tmp341 ;
12173 unsigned long __cil_tmp342 ;
12174 unsigned int __cil_tmp343 ;
12175 int __cil_tmp344 ;
12176 unsigned long __cil_tmp345 ;
12177 unsigned long __cil_tmp346 ;
12178 unsigned long __cil_tmp347 ;
12179 unsigned long __cil_tmp348 ;
12180 unsigned int __cil_tmp349 ;
12181 unsigned long __cil_tmp350 ;
12182 unsigned long __cil_tmp351 ;
12183 u16 __cil_tmp352 ;
12184 int __cil_tmp353 ;
12185 unsigned long __cil_tmp354 ;
12186 unsigned long __cil_tmp355 ;
12187 u16 __cil_tmp356 ;
12188 int __cil_tmp357 ;
12189 struct _ddebug *__cil_tmp358 ;
12190 unsigned long __cil_tmp359 ;
12191 unsigned long __cil_tmp360 ;
12192 unsigned long __cil_tmp361 ;
12193 unsigned long __cil_tmp362 ;
12194 unsigned long __cil_tmp363 ;
12195 unsigned long __cil_tmp364 ;
12196 unsigned char __cil_tmp365 ;
12197 long __cil_tmp366 ;
12198 long __cil_tmp367 ;
12199 struct device *__cil_tmp368 ;
12200 unsigned long __cil_tmp369 ;
12201 unsigned long __cil_tmp370 ;
12202 u16 __cil_tmp371 ;
12203 int __cil_tmp372 ;
12204 unsigned long __cil_tmp373 ;
12205 unsigned long __cil_tmp374 ;
12206 u16 __cil_tmp375 ;
12207 int __cil_tmp376 ;
12208 short __cil_tmp377 ;
12209 int __cil_tmp378 ;
12210 unsigned long __cil_tmp379 ;
12211 unsigned long __cil_tmp380 ;
12212 u16 __cil_tmp381 ;
12213 int __cil_tmp382 ;
12214 unsigned long __cil_tmp383 ;
12215 unsigned long __cil_tmp384 ;
12216 unsigned long __cil_tmp385 ;
12217 unsigned long __cil_tmp386 ;
12218 unsigned long __cil_tmp387 ;
12219 unsigned long __cil_tmp388 ;
12220 u16 __cil_tmp389 ;
12221 int __cil_tmp390 ;
12222 unsigned long __cil_tmp391 ;
12223 unsigned long __cil_tmp392 ;
12224 u16 __cil_tmp393 ;
12225 int __cil_tmp394 ;
12226 struct _ddebug *__cil_tmp395 ;
12227 unsigned long __cil_tmp396 ;
12228 unsigned long __cil_tmp397 ;
12229 unsigned long __cil_tmp398 ;
12230 unsigned long __cil_tmp399 ;
12231 unsigned long __cil_tmp400 ;
12232 unsigned long __cil_tmp401 ;
12233 unsigned char __cil_tmp402 ;
12234 long __cil_tmp403 ;
12235 long __cil_tmp404 ;
12236 struct device *__cil_tmp405 ;
12237 unsigned long __cil_tmp406 ;
12238 unsigned long __cil_tmp407 ;
12239 u16 __cil_tmp408 ;
12240 int __cil_tmp409 ;
12241 unsigned long __cil_tmp410 ;
12242 unsigned long __cil_tmp411 ;
12243 u16 __cil_tmp412 ;
12244 int __cil_tmp413 ;
12245 short __cil_tmp414 ;
12246 int __cil_tmp415 ;
12247 unsigned long __cil_tmp416 ;
12248 unsigned long __cil_tmp417 ;
12249 u16 __cil_tmp418 ;
12250 int __cil_tmp419 ;
12251 unsigned long __cil_tmp420 ;
12252 unsigned long __cil_tmp421 ;
12253 unsigned long __cil_tmp422 ;
12254 unsigned long __cil_tmp423 ;
12255 int __cil_tmp424 ;
12256 int __cil_tmp425 ;
12257 struct _ddebug *__cil_tmp426 ;
12258 unsigned long __cil_tmp427 ;
12259 unsigned long __cil_tmp428 ;
12260 unsigned long __cil_tmp429 ;
12261 unsigned long __cil_tmp430 ;
12262 unsigned long __cil_tmp431 ;
12263 unsigned long __cil_tmp432 ;
12264 unsigned char __cil_tmp433 ;
12265 long __cil_tmp434 ;
12266 long __cil_tmp435 ;
12267 struct device *__cil_tmp436 ;
12268 short __cil_tmp437 ;
12269 int __cil_tmp438 ;
12270 unsigned long __cil_tmp439 ;
12271 unsigned long __cil_tmp440 ;
12272 u16 __cil_tmp441 ;
12273 int __cil_tmp442 ;
12274 unsigned long __cil_tmp443 ;
12275 unsigned long __cil_tmp444 ;
12276 unsigned int __cil_tmp445 ;
12277 unsigned int __cil_tmp446 ;
12278 unsigned long __cil_tmp447 ;
12279 unsigned long __cil_tmp448 ;
12280 unsigned int __cil_tmp449 ;
12281 unsigned int __cil_tmp450 ;
12282 int __cil_tmp451 ;
12283 enum xp_retval __cil_tmp452 ;
12284 unsigned long __cil_tmp453 ;
12285 unsigned long __cil_tmp454 ;
12286 unsigned int __cil_tmp455 ;
12287 unsigned int __cil_tmp456 ;
12288 int __cil_tmp457 ;
12289 enum xp_retval __cil_tmp458 ;
12290 unsigned long __cil_tmp459 ;
12291 unsigned long __cil_tmp460 ;
12292 unsigned long __cil_tmp461 ;
12293 unsigned long __cil_tmp462 ;
12294 unsigned int __cil_tmp463 ;
12295 unsigned long __cil_tmp464 ;
12296 unsigned long __cil_tmp465 ;
12297 spinlock_t *__cil_tmp466 ;
12298 unsigned long *__cil_tmp467 ;
12299 unsigned long __cil_tmp468 ;
12300
12301 {
12302 {
12303#line 201
12304 __cil_tmp24 = (unsigned long )ch_number;
12305#line 201
12306 __cil_tmp25 = (unsigned long )part;
12307#line 201
12308 __cil_tmp26 = __cil_tmp25 + 472;
12309#line 201
12310 __cil_tmp27 = *((struct xpc_openclose_args **)__cil_tmp26);
12311#line 201
12312 args = __cil_tmp27 + __cil_tmp24;
12313#line 203
12314 __cil_tmp28 = (unsigned long )ch_number;
12315#line 203
12316 __cil_tmp29 = (unsigned long )part;
12317#line 203
12318 __cil_tmp30 = __cil_tmp29 + 376;
12319#line 203
12320 __cil_tmp31 = *((struct xpc_channel **)__cil_tmp30);
12321#line 203
12322 ch = __cil_tmp31 + __cil_tmp28;
12323#line 206
12324 create_kthread = 0;
12325#line 208
12326 ldv_spin_lock();
12327 }
12328 again: ;
12329 {
12330#line 212
12331 __cil_tmp32 = (unsigned long )ch;
12332#line 212
12333 __cil_tmp33 = __cil_tmp32 + 80;
12334#line 212
12335 __cil_tmp34 = *((unsigned int *)__cil_tmp33);
12336#line 212
12337 __cil_tmp35 = __cil_tmp34 & 65536U;
12338#line 212
12339 if (__cil_tmp35 != 0U) {
12340 {
12341#line 212
12342 __cil_tmp36 = (unsigned long )ch;
12343#line 212
12344 __cil_tmp37 = __cil_tmp36 + 80;
12345#line 212
12346 __cil_tmp38 = *((unsigned int *)__cil_tmp37);
12347#line 212
12348 __cil_tmp39 = __cil_tmp38 & 1048576U;
12349#line 212
12350 if (__cil_tmp39 != 0U) {
12351#line 218
12352 __cil_tmp40 = (unsigned long )ch;
12353#line 218
12354 __cil_tmp41 = __cil_tmp40 + 200;
12355#line 218
12356 __cil_tmp42 = (int )chctl_flags;
12357#line 218
12358 __cil_tmp43 = (unsigned long )ch;
12359#line 218
12360 __cil_tmp44 = __cil_tmp43 + 200;
12361#line 218
12362 __cil_tmp45 = *((u8 *)__cil_tmp44);
12363#line 218
12364 __cil_tmp46 = (int )__cil_tmp45;
12365#line 218
12366 __cil_tmp47 = __cil_tmp46 | __cil_tmp42;
12367#line 218
12368 *((u8 *)__cil_tmp41) = (u8 )__cil_tmp47;
12369#line 219
12370 goto out;
12371 } else {
12372
12373 }
12374 }
12375 } else {
12376
12377 }
12378 }
12379 {
12380#line 222
12381 __cil_tmp48 = (int )chctl_flags;
12382#line 222
12383 if (__cil_tmp48 & 1) {
12384 {
12385#line 224
12386 __cil_tmp49 = & descriptor;
12387#line 224
12388 *((char **)__cil_tmp49) = "xpc";
12389#line 224
12390 __cil_tmp50 = (unsigned long )(& descriptor) + 8;
12391#line 224
12392 *((char **)__cil_tmp50) = "xpc_process_openclose_chctl_flags";
12393#line 224
12394 __cil_tmp51 = (unsigned long )(& descriptor) + 16;
12395#line 224
12396 *((char **)__cil_tmp51) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
12397#line 224
12398 __cil_tmp52 = (unsigned long )(& descriptor) + 24;
12399#line 224
12400 *((char **)__cil_tmp52) = "XPC_CHCTL_CLOSEREQUEST (reason=%d) received from partid=%d, channel=%d\n";
12401#line 224
12402 __cil_tmp53 = (unsigned long )(& descriptor) + 32;
12403#line 224
12404 *((unsigned int *)__cil_tmp53) = 226U;
12405#line 224
12406 __cil_tmp54 = (unsigned long )(& descriptor) + 35;
12407#line 224
12408 *((unsigned char *)__cil_tmp54) = (unsigned char)0;
12409#line 224
12410 __cil_tmp55 = (unsigned long )(& descriptor) + 35;
12411#line 224
12412 __cil_tmp56 = *((unsigned char *)__cil_tmp55);
12413#line 224
12414 __cil_tmp57 = (long )__cil_tmp56;
12415#line 224
12416 __cil_tmp58 = __cil_tmp57 & 1L;
12417#line 224
12418 tmp = __builtin_expect(__cil_tmp58, 0L);
12419 }
12420#line 224
12421 if (tmp != 0L) {
12422 {
12423#line 224
12424 __cil_tmp59 = (struct device *)xpc_chan;
12425#line 224
12426 __cil_tmp60 = *((u16 *)args);
12427#line 224
12428 __cil_tmp61 = (int )__cil_tmp60;
12429#line 224
12430 __cil_tmp62 = *((short *)ch);
12431#line 224
12432 __cil_tmp63 = (int )__cil_tmp62;
12433#line 224
12434 __cil_tmp64 = (unsigned long )ch;
12435#line 224
12436 __cil_tmp65 = __cil_tmp64 + 92;
12437#line 224
12438 __cil_tmp66 = *((u16 *)__cil_tmp65);
12439#line 224
12440 __cil_tmp67 = (int )__cil_tmp66;
12441#line 224
12442 __dynamic_dev_dbg(& descriptor, __cil_tmp59, "XPC_CHCTL_CLOSEREQUEST (reason=%d) received from partid=%d, channel=%d\n",
12443 __cil_tmp61, __cil_tmp63, __cil_tmp67);
12444 }
12445 } else {
12446
12447 }
12448 {
12449#line 234
12450 __cil_tmp68 = (unsigned long )ch;
12451#line 234
12452 __cil_tmp69 = __cil_tmp68 + 80;
12453#line 234
12454 __cil_tmp70 = *((unsigned int *)__cil_tmp69);
12455#line 234
12456 __cil_tmp71 = __cil_tmp70 & 16384U;
12457#line 234
12458 if (__cil_tmp71 != 0U) {
12459 {
12460#line 241
12461 __cil_tmp72 = (unsigned int )chctl_flags;
12462#line 241
12463 __cil_tmp73 = __cil_tmp72 & 253U;
12464#line 241
12465 chctl_flags = (u8 )__cil_tmp73;
12466#line 242
12467 __cil_tmp74 = (unsigned long )ch;
12468#line 242
12469 __cil_tmp75 = __cil_tmp74 + 80;
12470#line 242
12471 __cil_tmp76 = (unsigned long )ch;
12472#line 242
12473 __cil_tmp77 = __cil_tmp76 + 80;
12474#line 242
12475 __cil_tmp78 = *((unsigned int *)__cil_tmp77);
12476#line 242
12477 *((unsigned int *)__cil_tmp75) = __cil_tmp78 | 4096U;
12478#line 245
12479 xpc_process_disconnect(ch, & irq_flags);
12480 }
12481#line 247
12482 goto again;
12483 } else {
12484
12485 }
12486 }
12487 {
12488#line 250
12489 __cil_tmp79 = (unsigned long )ch;
12490#line 250
12491 __cil_tmp80 = __cil_tmp79 + 80;
12492#line 250
12493 __cil_tmp81 = *((unsigned int *)__cil_tmp80);
12494#line 250
12495 __cil_tmp82 = __cil_tmp81 & 65536U;
12496#line 250
12497 if (__cil_tmp82 != 0U) {
12498 {
12499#line 251
12500 __cil_tmp83 = (int )chctl_flags;
12501#line 251
12502 __cil_tmp84 = __cil_tmp83 & 4;
12503#line 251
12504 if (__cil_tmp84 == 0) {
12505 {
12506#line 252
12507 __cil_tmp85 = ch_number * 1UL;
12508#line 252
12509 __cil_tmp86 = 0 + __cil_tmp85;
12510#line 252
12511 __cil_tmp87 = 384 + __cil_tmp86;
12512#line 252
12513 __cil_tmp88 = (unsigned long )part;
12514#line 252
12515 __cil_tmp89 = __cil_tmp88 + __cil_tmp87;
12516#line 252
12517 __cil_tmp90 = *((u8 *)__cil_tmp89);
12518#line 252
12519 __cil_tmp91 = (int )__cil_tmp90;
12520#line 252
12521 __cil_tmp92 = __cil_tmp91 & 4;
12522#line 252
12523 if (__cil_tmp92 != 0) {
12524 {
12525#line 256
12526 __cil_tmp93 = (unsigned long )part;
12527#line 256
12528 __cil_tmp94 = __cil_tmp93 + 392;
12529#line 256
12530 __cil_tmp95 = (spinlock_t *)__cil_tmp94;
12531#line 256
12532 spin_lock(__cil_tmp95);
12533#line 257
12534 __cil_tmp96 = ch_number * 1UL;
12535#line 257
12536 __cil_tmp97 = 0 + __cil_tmp96;
12537#line 257
12538 __cil_tmp98 = 384 + __cil_tmp97;
12539#line 257
12540 __cil_tmp99 = (unsigned long )part;
12541#line 257
12542 __cil_tmp100 = __cil_tmp99 + __cil_tmp98;
12543#line 257
12544 __cil_tmp101 = ch_number * 1UL;
12545#line 257
12546 __cil_tmp102 = 0 + __cil_tmp101;
12547#line 257
12548 __cil_tmp103 = 384 + __cil_tmp102;
12549#line 257
12550 __cil_tmp104 = (unsigned long )part;
12551#line 257
12552 __cil_tmp105 = __cil_tmp104 + __cil_tmp103;
12553#line 257
12554 __cil_tmp106 = *((u8 *)__cil_tmp105);
12555#line 257
12556 __cil_tmp107 = (unsigned int )__cil_tmp106;
12557#line 257
12558 __cil_tmp108 = __cil_tmp107 | 1U;
12559#line 257
12560 *((u8 *)__cil_tmp100) = (u8 )__cil_tmp108;
12561#line 259
12562 __cil_tmp109 = (unsigned long )part;
12563#line 259
12564 __cil_tmp110 = __cil_tmp109 + 392;
12565#line 259
12566 __cil_tmp111 = (spinlock_t *)__cil_tmp110;
12567#line 259
12568 spin_unlock(__cil_tmp111);
12569 }
12570 } else {
12571
12572 }
12573 }
12574#line 261
12575 goto out;
12576 } else {
12577
12578 }
12579 }
12580 {
12581#line 264
12582 __cil_tmp112 = (unsigned long )ch;
12583#line 264
12584 __cil_tmp113 = __cil_tmp112 + 84;
12585#line 264
12586 *((enum xp_retval *)__cil_tmp113) = (enum xp_retval )0;
12587#line 264
12588 __cil_tmp114 = (unsigned long )ch;
12589#line 264
12590 __cil_tmp115 = __cil_tmp114 + 88;
12591#line 264
12592 *((int *)__cil_tmp115) = 0;
12593#line 265
12594 __cil_tmp116 = (unsigned long )ch;
12595#line 265
12596 __cil_tmp117 = __cil_tmp116 + 80;
12597#line 265
12598 __cil_tmp118 = (unsigned long )ch;
12599#line 265
12600 __cil_tmp119 = __cil_tmp118 + 80;
12601#line 265
12602 __cil_tmp120 = *((unsigned int *)__cil_tmp119);
12603#line 265
12604 *((unsigned int *)__cil_tmp117) = __cil_tmp120 & 4294901759U;
12605#line 267
12606 __cil_tmp121 = (unsigned long )part;
12607#line 267
12608 __cil_tmp122 = __cil_tmp121 + 368;
12609#line 267
12610 __cil_tmp123 = (atomic_t *)__cil_tmp122;
12611#line 267
12612 atomic_inc(__cil_tmp123);
12613#line 268
12614 __cil_tmp124 = (unsigned long )ch;
12615#line 268
12616 __cil_tmp125 = __cil_tmp124 + 80;
12617#line 268
12618 __cil_tmp126 = (unsigned long )ch;
12619#line 268
12620 __cil_tmp127 = __cil_tmp126 + 80;
12621#line 268
12622 __cil_tmp128 = *((unsigned int *)__cil_tmp127);
12623#line 268
12624 *((unsigned int *)__cil_tmp125) = __cil_tmp128 | 2080U;
12625 }
12626 } else {
12627
12628 }
12629 }
12630#line 271
12631 __cil_tmp129 = (unsigned int )chctl_flags;
12632#line 271
12633 __cil_tmp130 = __cil_tmp129 & 227U;
12634#line 271
12635 chctl_flags = (u8 )__cil_tmp130;
12636#line 279
12637 __cil_tmp131 = (unsigned long )ch;
12638#line 279
12639 __cil_tmp132 = __cil_tmp131 + 80;
12640#line 279
12641 __cil_tmp133 = (unsigned long )ch;
12642#line 279
12643 __cil_tmp134 = __cil_tmp133 + 80;
12644#line 279
12645 __cil_tmp135 = *((unsigned int *)__cil_tmp134);
12646#line 279
12647 *((unsigned int *)__cil_tmp132) = __cil_tmp135 | 16384U;
12648 {
12649#line 281
12650 __cil_tmp136 = (unsigned long )ch;
12651#line 281
12652 __cil_tmp137 = __cil_tmp136 + 80;
12653#line 281
12654 __cil_tmp138 = *((unsigned int *)__cil_tmp137);
12655#line 281
12656 __cil_tmp139 = __cil_tmp138 & 131072U;
12657#line 281
12658 if (__cil_tmp139 == 0U) {
12659#line 282
12660 __cil_tmp140 = *((u16 *)args);
12661#line 282
12662 reason = (enum xp_retval )__cil_tmp140;
12663 {
12664#line 283
12665 __cil_tmp141 = (unsigned int )reason;
12666#line 283
12667 if (__cil_tmp141 == 0U) {
12668#line 284
12669 reason = (enum xp_retval )63;
12670 } else {
12671 {
12672#line 283
12673 __cil_tmp142 = (unsigned int )reason;
12674#line 283
12675 if (__cil_tmp142 > 63U) {
12676#line 284
12677 reason = (enum xp_retval )63;
12678 } else {
12679 {
12680#line 285
12681 __cil_tmp143 = (unsigned int )reason;
12682#line 285
12683 if (__cil_tmp143 == 22U) {
12684#line 286
12685 reason = (enum xp_retval )23;
12686 } else {
12687
12688 }
12689 }
12690 }
12691 }
12692 }
12693 }
12694 {
12695#line 288
12696 __cil_tmp144 = (int )288;
12697#line 288
12698 xpc_disconnect_channel(__cil_tmp144, ch, reason, & irq_flags);
12699 }
12700#line 291
12701 goto out;
12702 } else {
12703
12704 }
12705 }
12706 {
12707#line 294
12708 xpc_process_disconnect(ch, & irq_flags);
12709 }
12710 } else {
12711
12712 }
12713 }
12714 {
12715#line 297
12716 __cil_tmp145 = (int )chctl_flags;
12717#line 297
12718 __cil_tmp146 = __cil_tmp145 & 2;
12719#line 297
12720 if (__cil_tmp146 != 0) {
12721 {
12722#line 299
12723 __cil_tmp147 = & descriptor___0;
12724#line 299
12725 *((char **)__cil_tmp147) = "xpc";
12726#line 299
12727 __cil_tmp148 = (unsigned long )(& descriptor___0) + 8;
12728#line 299
12729 *((char **)__cil_tmp148) = "xpc_process_openclose_chctl_flags";
12730#line 299
12731 __cil_tmp149 = (unsigned long )(& descriptor___0) + 16;
12732#line 299
12733 *((char **)__cil_tmp149) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
12734#line 299
12735 __cil_tmp150 = (unsigned long )(& descriptor___0) + 24;
12736#line 299
12737 *((char **)__cil_tmp150) = "XPC_CHCTL_CLOSEREPLY received from partid=%d, channel=%d\n";
12738#line 299
12739 __cil_tmp151 = (unsigned long )(& descriptor___0) + 32;
12740#line 299
12741 *((unsigned int *)__cil_tmp151) = 300U;
12742#line 299
12743 __cil_tmp152 = (unsigned long )(& descriptor___0) + 35;
12744#line 299
12745 *((unsigned char *)__cil_tmp152) = (unsigned char)0;
12746#line 299
12747 __cil_tmp153 = (unsigned long )(& descriptor___0) + 35;
12748#line 299
12749 __cil_tmp154 = *((unsigned char *)__cil_tmp153);
12750#line 299
12751 __cil_tmp155 = (long )__cil_tmp154;
12752#line 299
12753 __cil_tmp156 = __cil_tmp155 & 1L;
12754#line 299
12755 tmp___0 = __builtin_expect(__cil_tmp156, 0L);
12756 }
12757#line 299
12758 if (tmp___0 != 0L) {
12759 {
12760#line 299
12761 __cil_tmp157 = (struct device *)xpc_chan;
12762#line 299
12763 __cil_tmp158 = *((short *)ch);
12764#line 299
12765 __cil_tmp159 = (int )__cil_tmp158;
12766#line 299
12767 __cil_tmp160 = (unsigned long )ch;
12768#line 299
12769 __cil_tmp161 = __cil_tmp160 + 92;
12770#line 299
12771 __cil_tmp162 = *((u16 *)__cil_tmp161);
12772#line 299
12773 __cil_tmp163 = (int )__cil_tmp162;
12774#line 299
12775 __dynamic_dev_dbg(& descriptor___0, __cil_tmp157, "XPC_CHCTL_CLOSEREPLY received from partid=%d, channel=%d\n",
12776 __cil_tmp159, __cil_tmp163);
12777 }
12778 } else {
12779
12780 }
12781 {
12782#line 302
12783 __cil_tmp164 = (unsigned long )ch;
12784#line 302
12785 __cil_tmp165 = __cil_tmp164 + 80;
12786#line 302
12787 __cil_tmp166 = *((unsigned int *)__cil_tmp165);
12788#line 302
12789 __cil_tmp167 = __cil_tmp166 & 65536U;
12790#line 302
12791 if (__cil_tmp167 != 0U) {
12792#line 304
12793 goto out;
12794 } else {
12795
12796 }
12797 }
12798 {
12799#line 309
12800 __cil_tmp168 = (unsigned long )ch;
12801#line 309
12802 __cil_tmp169 = __cil_tmp168 + 80;
12803#line 309
12804 __cil_tmp170 = *((unsigned int *)__cil_tmp169);
12805#line 309
12806 __cil_tmp171 = __cil_tmp170 & 16384U;
12807#line 309
12808 if (__cil_tmp171 == 0U) {
12809 {
12810#line 310
12811 __cil_tmp172 = ch_number * 1UL;
12812#line 310
12813 __cil_tmp173 = 0 + __cil_tmp172;
12814#line 310
12815 __cil_tmp174 = 384 + __cil_tmp173;
12816#line 310
12817 __cil_tmp175 = (unsigned long )part;
12818#line 310
12819 __cil_tmp176 = __cil_tmp175 + __cil_tmp174;
12820#line 310
12821 __cil_tmp177 = *((u8 *)__cil_tmp176);
12822#line 310
12823 __cil_tmp178 = (int )__cil_tmp177;
12824#line 310
12825 if (__cil_tmp178 & 1) {
12826 {
12827#line 314
12828 __cil_tmp179 = (unsigned long )part;
12829#line 314
12830 __cil_tmp180 = __cil_tmp179 + 392;
12831#line 314
12832 __cil_tmp181 = (spinlock_t *)__cil_tmp180;
12833#line 314
12834 spin_lock(__cil_tmp181);
12835#line 315
12836 __cil_tmp182 = ch_number * 1UL;
12837#line 315
12838 __cil_tmp183 = 0 + __cil_tmp182;
12839#line 315
12840 __cil_tmp184 = 384 + __cil_tmp183;
12841#line 315
12842 __cil_tmp185 = (unsigned long )part;
12843#line 315
12844 __cil_tmp186 = __cil_tmp185 + __cil_tmp184;
12845#line 315
12846 __cil_tmp187 = ch_number * 1UL;
12847#line 315
12848 __cil_tmp188 = 0 + __cil_tmp187;
12849#line 315
12850 __cil_tmp189 = 384 + __cil_tmp188;
12851#line 315
12852 __cil_tmp190 = (unsigned long )part;
12853#line 315
12854 __cil_tmp191 = __cil_tmp190 + __cil_tmp189;
12855#line 315
12856 __cil_tmp192 = *((u8 *)__cil_tmp191);
12857#line 315
12858 __cil_tmp193 = (unsigned int )__cil_tmp192;
12859#line 315
12860 __cil_tmp194 = __cil_tmp193 | 2U;
12861#line 315
12862 *((u8 *)__cil_tmp186) = (u8 )__cil_tmp194;
12863#line 317
12864 __cil_tmp195 = (unsigned long )part;
12865#line 317
12866 __cil_tmp196 = __cil_tmp195 + 392;
12867#line 317
12868 __cil_tmp197 = (spinlock_t *)__cil_tmp196;
12869#line 317
12870 spin_unlock(__cil_tmp197);
12871 }
12872 } else {
12873
12874 }
12875 }
12876#line 319
12877 goto out;
12878 } else {
12879
12880 }
12881 }
12882#line 322
12883 __cil_tmp198 = (unsigned long )ch;
12884#line 322
12885 __cil_tmp199 = __cil_tmp198 + 80;
12886#line 322
12887 __cil_tmp200 = (unsigned long )ch;
12888#line 322
12889 __cil_tmp201 = __cil_tmp200 + 80;
12890#line 322
12891 __cil_tmp202 = *((unsigned int *)__cil_tmp201);
12892#line 322
12893 *((unsigned int *)__cil_tmp199) = __cil_tmp202 | 4096U;
12894 {
12895#line 324
12896 __cil_tmp203 = (unsigned long )ch;
12897#line 324
12898 __cil_tmp204 = __cil_tmp203 + 80;
12899#line 324
12900 __cil_tmp205 = *((unsigned int *)__cil_tmp204);
12901#line 324
12902 __cil_tmp206 = __cil_tmp205 & 8192U;
12903#line 324
12904 if (__cil_tmp206 != 0U) {
12905 {
12906#line 326
12907 xpc_process_disconnect(ch, & irq_flags);
12908 }
12909 } else {
12910
12911 }
12912 }
12913 } else {
12914
12915 }
12916 }
12917 {
12918#line 330
12919 __cil_tmp207 = (int )chctl_flags;
12920#line 330
12921 __cil_tmp208 = __cil_tmp207 & 4;
12922#line 330
12923 if (__cil_tmp208 != 0) {
12924 {
12925#line 332
12926 __cil_tmp209 = & descriptor___1;
12927#line 332
12928 *((char **)__cil_tmp209) = "xpc";
12929#line 332
12930 __cil_tmp210 = (unsigned long )(& descriptor___1) + 8;
12931#line 332
12932 *((char **)__cil_tmp210) = "xpc_process_openclose_chctl_flags";
12933#line 332
12934 __cil_tmp211 = (unsigned long )(& descriptor___1) + 16;
12935#line 332
12936 *((char **)__cil_tmp211) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
12937#line 332
12938 __cil_tmp212 = (unsigned long )(& descriptor___1) + 24;
12939#line 332
12940 *((char **)__cil_tmp212) = "XPC_CHCTL_OPENREQUEST (entry_size=%d, local_nentries=%d) received from partid=%d, channel=%d\n";
12941#line 332
12942 __cil_tmp213 = (unsigned long )(& descriptor___1) + 32;
12943#line 332
12944 *((unsigned int *)__cil_tmp213) = 335U;
12945#line 332
12946 __cil_tmp214 = (unsigned long )(& descriptor___1) + 35;
12947#line 332
12948 *((unsigned char *)__cil_tmp214) = (unsigned char)0;
12949#line 332
12950 __cil_tmp215 = (unsigned long )(& descriptor___1) + 35;
12951#line 332
12952 __cil_tmp216 = *((unsigned char *)__cil_tmp215);
12953#line 332
12954 __cil_tmp217 = (long )__cil_tmp216;
12955#line 332
12956 __cil_tmp218 = __cil_tmp217 & 1L;
12957#line 332
12958 tmp___1 = __builtin_expect(__cil_tmp218, 0L);
12959 }
12960#line 332
12961 if (tmp___1 != 0L) {
12962 {
12963#line 332
12964 __cil_tmp219 = (struct device *)xpc_chan;
12965#line 332
12966 __cil_tmp220 = (unsigned long )args;
12967#line 332
12968 __cil_tmp221 = __cil_tmp220 + 2;
12969#line 332
12970 __cil_tmp222 = *((u16 *)__cil_tmp221);
12971#line 332
12972 __cil_tmp223 = (int )__cil_tmp222;
12973#line 332
12974 __cil_tmp224 = (unsigned long )args;
12975#line 332
12976 __cil_tmp225 = __cil_tmp224 + 6;
12977#line 332
12978 __cil_tmp226 = *((u16 *)__cil_tmp225);
12979#line 332
12980 __cil_tmp227 = (int )__cil_tmp226;
12981#line 332
12982 __cil_tmp228 = *((short *)ch);
12983#line 332
12984 __cil_tmp229 = (int )__cil_tmp228;
12985#line 332
12986 __cil_tmp230 = (unsigned long )ch;
12987#line 332
12988 __cil_tmp231 = __cil_tmp230 + 92;
12989#line 332
12990 __cil_tmp232 = *((u16 *)__cil_tmp231);
12991#line 332
12992 __cil_tmp233 = (int )__cil_tmp232;
12993#line 332
12994 __dynamic_dev_dbg(& descriptor___1, __cil_tmp219, "XPC_CHCTL_OPENREQUEST (entry_size=%d, local_nentries=%d) received from partid=%d, channel=%d\n",
12995 __cil_tmp223, __cil_tmp227, __cil_tmp229, __cil_tmp233);
12996 }
12997 } else {
12998
12999 }
13000 {
13001#line 337
13002 __cil_tmp234 = (unsigned long )part;
13003#line 337
13004 __cil_tmp235 = __cil_tmp234 + 112;
13005#line 337
13006 __cil_tmp236 = *((u8 *)__cil_tmp235);
13007#line 337
13008 __cil_tmp237 = (unsigned int )__cil_tmp236;
13009#line 337
13010 if (__cil_tmp237 == 4U) {
13011#line 339
13012 goto out;
13013 } else {
13014 {
13015#line 337
13016 __cil_tmp238 = (unsigned long )ch;
13017#line 337
13018 __cil_tmp239 = __cil_tmp238 + 80;
13019#line 337
13020 __cil_tmp240 = *((unsigned int *)__cil_tmp239);
13021#line 337
13022 __cil_tmp241 = __cil_tmp240 & 32U;
13023#line 337
13024 if (__cil_tmp241 != 0U) {
13025#line 339
13026 goto out;
13027 } else {
13028
13029 }
13030 }
13031 }
13032 }
13033 {
13034#line 342
13035 __cil_tmp242 = (unsigned long )ch;
13036#line 342
13037 __cil_tmp243 = __cil_tmp242 + 80;
13038#line 342
13039 __cil_tmp244 = *((unsigned int *)__cil_tmp243);
13040#line 342
13041 __cil_tmp245 = __cil_tmp244 & 1179648U;
13042#line 342
13043 if (__cil_tmp245 != 0U) {
13044#line 343
13045 __cil_tmp246 = (unsigned long )ch;
13046#line 343
13047 __cil_tmp247 = __cil_tmp246 + 200;
13048#line 343
13049 __cil_tmp248 = (unsigned long )ch;
13050#line 343
13051 __cil_tmp249 = __cil_tmp248 + 200;
13052#line 343
13053 __cil_tmp250 = *((u8 *)__cil_tmp249);
13054#line 343
13055 __cil_tmp251 = (unsigned int )__cil_tmp250;
13056#line 343
13057 __cil_tmp252 = __cil_tmp251 | 4U;
13058#line 343
13059 *((u8 *)__cil_tmp247) = (u8 )__cil_tmp252;
13060#line 344
13061 goto out;
13062 } else {
13063
13064 }
13065 }
13066 {
13067#line 356
13068 __cil_tmp253 = (unsigned long )args;
13069#line 356
13070 __cil_tmp254 = __cil_tmp253 + 2;
13071#line 356
13072 __cil_tmp255 = *((u16 *)__cil_tmp254);
13073#line 356
13074 __cil_tmp256 = (unsigned int )__cil_tmp255;
13075#line 356
13076 if (__cil_tmp256 == 0U) {
13077#line 358
13078 goto out;
13079 } else {
13080 {
13081#line 356
13082 __cil_tmp257 = (unsigned long )args;
13083#line 356
13084 __cil_tmp258 = __cil_tmp257 + 6;
13085#line 356
13086 __cil_tmp259 = *((u16 *)__cil_tmp258);
13087#line 356
13088 __cil_tmp260 = (unsigned int )__cil_tmp259;
13089#line 356
13090 if (__cil_tmp260 == 0U) {
13091#line 358
13092 goto out;
13093 } else {
13094
13095 }
13096 }
13097 }
13098 }
13099#line 361
13100 __cil_tmp261 = (unsigned long )ch;
13101#line 361
13102 __cil_tmp262 = __cil_tmp261 + 80;
13103#line 361
13104 __cil_tmp263 = (unsigned long )ch;
13105#line 361
13106 __cil_tmp264 = __cil_tmp263 + 80;
13107#line 361
13108 __cil_tmp265 = *((unsigned int *)__cil_tmp264);
13109#line 361
13110 *((unsigned int *)__cil_tmp262) = __cil_tmp265 | 2080U;
13111#line 362
13112 __cil_tmp266 = (unsigned long )ch;
13113#line 362
13114 __cil_tmp267 = __cil_tmp266 + 98;
13115#line 362
13116 __cil_tmp268 = (unsigned long )args;
13117#line 362
13118 __cil_tmp269 = __cil_tmp268 + 6;
13119#line 362
13120 *((u16 *)__cil_tmp267) = *((u16 *)__cil_tmp269);
13121 {
13122#line 364
13123 __cil_tmp270 = (unsigned long )ch;
13124#line 364
13125 __cil_tmp271 = __cil_tmp270 + 80;
13126#line 364
13127 __cil_tmp272 = *((unsigned int *)__cil_tmp271);
13128#line 364
13129 __cil_tmp273 = __cil_tmp272 & 64U;
13130#line 364
13131 if (__cil_tmp273 != 0U) {
13132 {
13133#line 365
13134 __cil_tmp274 = (unsigned long )ch;
13135#line 365
13136 __cil_tmp275 = __cil_tmp274 + 94;
13137#line 365
13138 __cil_tmp276 = *((u16 *)__cil_tmp275);
13139#line 365
13140 __cil_tmp277 = (int )__cil_tmp276;
13141#line 365
13142 __cil_tmp278 = (unsigned long )args;
13143#line 365
13144 __cil_tmp279 = __cil_tmp278 + 2;
13145#line 365
13146 __cil_tmp280 = *((u16 *)__cil_tmp279);
13147#line 365
13148 __cil_tmp281 = (int )__cil_tmp280;
13149#line 365
13150 if (__cil_tmp281 != __cil_tmp277) {
13151 {
13152#line 366
13153 __cil_tmp282 = (int )367;
13154#line 366
13155 __cil_tmp283 = (enum xp_retval )11;
13156#line 366
13157 xpc_disconnect_channel(__cil_tmp282, ch, __cil_tmp283, & irq_flags);
13158 }
13159#line 368
13160 goto out;
13161 } else {
13162 {
13163#line 371
13164 __cil_tmp284 = (unsigned long )ch;
13165#line 371
13166 __cil_tmp285 = __cil_tmp284 + 94;
13167#line 371
13168 __cil_tmp286 = (unsigned long )args;
13169#line 371
13170 __cil_tmp287 = __cil_tmp286 + 2;
13171#line 371
13172 *((u16 *)__cil_tmp285) = *((u16 *)__cil_tmp287);
13173#line 373
13174 __cil_tmp288 = (unsigned long )ch;
13175#line 373
13176 __cil_tmp289 = __cil_tmp288 + 84;
13177#line 373
13178 *((enum xp_retval *)__cil_tmp289) = (enum xp_retval )0;
13179#line 373
13180 __cil_tmp290 = (unsigned long )ch;
13181#line 373
13182 __cil_tmp291 = __cil_tmp290 + 88;
13183#line 373
13184 *((int *)__cil_tmp291) = 0;
13185#line 374
13186 __cil_tmp292 = (unsigned long )ch;
13187#line 374
13188 __cil_tmp293 = __cil_tmp292 + 80;
13189#line 374
13190 __cil_tmp294 = (unsigned long )ch;
13191#line 374
13192 __cil_tmp295 = __cil_tmp294 + 80;
13193#line 374
13194 __cil_tmp296 = *((unsigned int *)__cil_tmp295);
13195#line 374
13196 *((unsigned int *)__cil_tmp293) = __cil_tmp296 & 4294901759U;
13197#line 376
13198 __cil_tmp297 = (unsigned long )part;
13199#line 376
13200 __cil_tmp298 = __cil_tmp297 + 368;
13201#line 376
13202 __cil_tmp299 = (atomic_t *)__cil_tmp298;
13203#line 376
13204 atomic_inc(__cil_tmp299);
13205 }
13206 }
13207 }
13208 } else {
13209
13210 }
13211 }
13212 {
13213#line 379
13214 xpc_process_connect(ch, & irq_flags);
13215 }
13216 } else {
13217
13218 }
13219 }
13220 {
13221#line 382
13222 __cil_tmp300 = (int )chctl_flags;
13223#line 382
13224 __cil_tmp301 = __cil_tmp300 & 8;
13225#line 382
13226 if (__cil_tmp301 != 0) {
13227 {
13228#line 384
13229 __cil_tmp302 = & descriptor___2;
13230#line 384
13231 *((char **)__cil_tmp302) = "xpc";
13232#line 384
13233 __cil_tmp303 = (unsigned long )(& descriptor___2) + 8;
13234#line 384
13235 *((char **)__cil_tmp303) = "xpc_process_openclose_chctl_flags";
13236#line 384
13237 __cil_tmp304 = (unsigned long )(& descriptor___2) + 16;
13238#line 384
13239 *((char **)__cil_tmp304) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
13240#line 384
13241 __cil_tmp305 = (unsigned long )(& descriptor___2) + 24;
13242#line 384
13243 *((char **)__cil_tmp305) = "XPC_CHCTL_OPENREPLY (local_msgqueue_pa=0x%lx, local_nentries=%d, remote_nentries=%d) received from partid=%d, channel=%d\n";
13244#line 384
13245 __cil_tmp306 = (unsigned long )(& descriptor___2) + 32;
13246#line 384
13247 *((unsigned int *)__cil_tmp306) = 388U;
13248#line 384
13249 __cil_tmp307 = (unsigned long )(& descriptor___2) + 35;
13250#line 384
13251 *((unsigned char *)__cil_tmp307) = (unsigned char)0;
13252#line 384
13253 __cil_tmp308 = (unsigned long )(& descriptor___2) + 35;
13254#line 384
13255 __cil_tmp309 = *((unsigned char *)__cil_tmp308);
13256#line 384
13257 __cil_tmp310 = (long )__cil_tmp309;
13258#line 384
13259 __cil_tmp311 = __cil_tmp310 & 1L;
13260#line 384
13261 tmp___2 = __builtin_expect(__cil_tmp311, 0L);
13262 }
13263#line 384
13264 if (tmp___2 != 0L) {
13265 {
13266#line 384
13267 __cil_tmp312 = (struct device *)xpc_chan;
13268#line 384
13269 __cil_tmp313 = (unsigned long )args;
13270#line 384
13271 __cil_tmp314 = __cil_tmp313 + 8;
13272#line 384
13273 __cil_tmp315 = *((unsigned long *)__cil_tmp314);
13274#line 384
13275 __cil_tmp316 = (unsigned long )args;
13276#line 384
13277 __cil_tmp317 = __cil_tmp316 + 6;
13278#line 384
13279 __cil_tmp318 = *((u16 *)__cil_tmp317);
13280#line 384
13281 __cil_tmp319 = (int )__cil_tmp318;
13282#line 384
13283 __cil_tmp320 = (unsigned long )args;
13284#line 384
13285 __cil_tmp321 = __cil_tmp320 + 4;
13286#line 384
13287 __cil_tmp322 = *((u16 *)__cil_tmp321);
13288#line 384
13289 __cil_tmp323 = (int )__cil_tmp322;
13290#line 384
13291 __cil_tmp324 = *((short *)ch);
13292#line 384
13293 __cil_tmp325 = (int )__cil_tmp324;
13294#line 384
13295 __cil_tmp326 = (unsigned long )ch;
13296#line 384
13297 __cil_tmp327 = __cil_tmp326 + 92;
13298#line 384
13299 __cil_tmp328 = *((u16 *)__cil_tmp327);
13300#line 384
13301 __cil_tmp329 = (int )__cil_tmp328;
13302#line 384
13303 __dynamic_dev_dbg(& descriptor___2, __cil_tmp312, "XPC_CHCTL_OPENREPLY (local_msgqueue_pa=0x%lx, local_nentries=%d, remote_nentries=%d) received from partid=%d, channel=%d\n",
13304 __cil_tmp315, __cil_tmp319, __cil_tmp323, __cil_tmp325, __cil_tmp329);
13305 }
13306 } else {
13307
13308 }
13309 {
13310#line 390
13311 __cil_tmp330 = (unsigned long )ch;
13312#line 390
13313 __cil_tmp331 = __cil_tmp330 + 80;
13314#line 390
13315 __cil_tmp332 = *((unsigned int *)__cil_tmp331);
13316#line 390
13317 __cil_tmp333 = __cil_tmp332 & 196608U;
13318#line 390
13319 if (__cil_tmp333 != 0U) {
13320#line 391
13321 goto out;
13322 } else {
13323
13324 }
13325 }
13326 {
13327#line 393
13328 __cil_tmp334 = (unsigned long )ch;
13329#line 393
13330 __cil_tmp335 = __cil_tmp334 + 80;
13331#line 393
13332 __cil_tmp336 = *((unsigned int *)__cil_tmp335);
13333#line 393
13334 __cil_tmp337 = __cil_tmp336 & 64U;
13335#line 393
13336 if (__cil_tmp337 == 0U) {
13337 {
13338#line 394
13339 __cil_tmp338 = (int )395;
13340#line 394
13341 __cil_tmp339 = (enum xp_retval )50;
13342#line 394
13343 xpc_disconnect_channel(__cil_tmp338, ch, __cil_tmp339, & irq_flags);
13344 }
13345#line 396
13346 goto out;
13347 } else {
13348
13349 }
13350 }
13351 {
13352#line 413
13353 __cil_tmp340 = (unsigned long )args;
13354#line 413
13355 __cil_tmp341 = __cil_tmp340 + 8;
13356#line 413
13357 __cil_tmp342 = *((unsigned long *)__cil_tmp341);
13358#line 413
13359 ret = (*(xpc_arch_ops.save_remote_msgqueue_pa))(ch, __cil_tmp342);
13360 }
13361 {
13362#line 415
13363 __cil_tmp343 = (unsigned int )ret;
13364#line 415
13365 if (__cil_tmp343 != 0U) {
13366 {
13367#line 416
13368 __cil_tmp344 = (int )416;
13369#line 416
13370 xpc_disconnect_channel(__cil_tmp344, ch, ret, & irq_flags);
13371 }
13372#line 417
13373 goto out;
13374 } else {
13375
13376 }
13377 }
13378#line 419
13379 __cil_tmp345 = (unsigned long )ch;
13380#line 419
13381 __cil_tmp346 = __cil_tmp345 + 80;
13382#line 419
13383 __cil_tmp347 = (unsigned long )ch;
13384#line 419
13385 __cil_tmp348 = __cil_tmp347 + 80;
13386#line 419
13387 __cil_tmp349 = *((unsigned int *)__cil_tmp348);
13388#line 419
13389 *((unsigned int *)__cil_tmp346) = __cil_tmp349 | 8U;
13390 {
13391#line 421
13392 __cil_tmp350 = (unsigned long )ch;
13393#line 421
13394 __cil_tmp351 = __cil_tmp350 + 98;
13395#line 421
13396 __cil_tmp352 = *((u16 *)__cil_tmp351);
13397#line 421
13398 __cil_tmp353 = (int )__cil_tmp352;
13399#line 421
13400 __cil_tmp354 = (unsigned long )args;
13401#line 421
13402 __cil_tmp355 = __cil_tmp354 + 6;
13403#line 421
13404 __cil_tmp356 = *((u16 *)__cil_tmp355);
13405#line 421
13406 __cil_tmp357 = (int )__cil_tmp356;
13407#line 421
13408 if (__cil_tmp357 < __cil_tmp353) {
13409 {
13410#line 422
13411 __cil_tmp358 = & descriptor___3;
13412#line 422
13413 *((char **)__cil_tmp358) = "xpc";
13414#line 422
13415 __cil_tmp359 = (unsigned long )(& descriptor___3) + 8;
13416#line 422
13417 *((char **)__cil_tmp359) = "xpc_process_openclose_chctl_flags";
13418#line 422
13419 __cil_tmp360 = (unsigned long )(& descriptor___3) + 16;
13420#line 422
13421 *((char **)__cil_tmp360) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
13422#line 422
13423 __cil_tmp361 = (unsigned long )(& descriptor___3) + 24;
13424#line 422
13425 *((char **)__cil_tmp361) = "XPC_CHCTL_OPENREPLY: new remote_nentries=%d, old remote_nentries=%d, partid=%d, channel=%d\n";
13426#line 422
13427 __cil_tmp362 = (unsigned long )(& descriptor___3) + 32;
13428#line 422
13429 *((unsigned int *)__cil_tmp362) = 426U;
13430#line 422
13431 __cil_tmp363 = (unsigned long )(& descriptor___3) + 35;
13432#line 422
13433 *((unsigned char *)__cil_tmp363) = (unsigned char)0;
13434#line 422
13435 __cil_tmp364 = (unsigned long )(& descriptor___3) + 35;
13436#line 422
13437 __cil_tmp365 = *((unsigned char *)__cil_tmp364);
13438#line 422
13439 __cil_tmp366 = (long )__cil_tmp365;
13440#line 422
13441 __cil_tmp367 = __cil_tmp366 & 1L;
13442#line 422
13443 tmp___3 = __builtin_expect(__cil_tmp367, 0L);
13444 }
13445#line 422
13446 if (tmp___3 != 0L) {
13447 {
13448#line 422
13449 __cil_tmp368 = (struct device *)xpc_chan;
13450#line 422
13451 __cil_tmp369 = (unsigned long )args;
13452#line 422
13453 __cil_tmp370 = __cil_tmp369 + 6;
13454#line 422
13455 __cil_tmp371 = *((u16 *)__cil_tmp370);
13456#line 422
13457 __cil_tmp372 = (int )__cil_tmp371;
13458#line 422
13459 __cil_tmp373 = (unsigned long )ch;
13460#line 422
13461 __cil_tmp374 = __cil_tmp373 + 98;
13462#line 422
13463 __cil_tmp375 = *((u16 *)__cil_tmp374);
13464#line 422
13465 __cil_tmp376 = (int )__cil_tmp375;
13466#line 422
13467 __cil_tmp377 = *((short *)ch);
13468#line 422
13469 __cil_tmp378 = (int )__cil_tmp377;
13470#line 422
13471 __cil_tmp379 = (unsigned long )ch;
13472#line 422
13473 __cil_tmp380 = __cil_tmp379 + 92;
13474#line 422
13475 __cil_tmp381 = *((u16 *)__cil_tmp380);
13476#line 422
13477 __cil_tmp382 = (int )__cil_tmp381;
13478#line 422
13479 __dynamic_dev_dbg(& descriptor___3, __cil_tmp368, "XPC_CHCTL_OPENREPLY: new remote_nentries=%d, old remote_nentries=%d, partid=%d, channel=%d\n",
13480 __cil_tmp372, __cil_tmp376, __cil_tmp378, __cil_tmp382);
13481 }
13482 } else {
13483
13484 }
13485#line 428
13486 __cil_tmp383 = (unsigned long )ch;
13487#line 428
13488 __cil_tmp384 = __cil_tmp383 + 98;
13489#line 428
13490 __cil_tmp385 = (unsigned long )args;
13491#line 428
13492 __cil_tmp386 = __cil_tmp385 + 6;
13493#line 428
13494 *((u16 *)__cil_tmp384) = *((u16 *)__cil_tmp386);
13495 } else {
13496
13497 }
13498 }
13499 {
13500#line 430
13501 __cil_tmp387 = (unsigned long )ch;
13502#line 430
13503 __cil_tmp388 = __cil_tmp387 + 96;
13504#line 430
13505 __cil_tmp389 = *((u16 *)__cil_tmp388);
13506#line 430
13507 __cil_tmp390 = (int )__cil_tmp389;
13508#line 430
13509 __cil_tmp391 = (unsigned long )args;
13510#line 430
13511 __cil_tmp392 = __cil_tmp391 + 4;
13512#line 430
13513 __cil_tmp393 = *((u16 *)__cil_tmp392);
13514#line 430
13515 __cil_tmp394 = (int )__cil_tmp393;
13516#line 430
13517 if (__cil_tmp394 < __cil_tmp390) {
13518 {
13519#line 431
13520 __cil_tmp395 = & descriptor___4;
13521#line 431
13522 *((char **)__cil_tmp395) = "xpc";
13523#line 431
13524 __cil_tmp396 = (unsigned long )(& descriptor___4) + 8;
13525#line 431
13526 *((char **)__cil_tmp396) = "xpc_process_openclose_chctl_flags";
13527#line 431
13528 __cil_tmp397 = (unsigned long )(& descriptor___4) + 16;
13529#line 431
13530 *((char **)__cil_tmp397) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
13531#line 431
13532 __cil_tmp398 = (unsigned long )(& descriptor___4) + 24;
13533#line 431
13534 *((char **)__cil_tmp398) = "XPC_CHCTL_OPENREPLY: new local_nentries=%d, old local_nentries=%d, partid=%d, channel=%d\n";
13535#line 431
13536 __cil_tmp399 = (unsigned long )(& descriptor___4) + 32;
13537#line 431
13538 *((unsigned int *)__cil_tmp399) = 435U;
13539#line 431
13540 __cil_tmp400 = (unsigned long )(& descriptor___4) + 35;
13541#line 431
13542 *((unsigned char *)__cil_tmp400) = (unsigned char)0;
13543#line 431
13544 __cil_tmp401 = (unsigned long )(& descriptor___4) + 35;
13545#line 431
13546 __cil_tmp402 = *((unsigned char *)__cil_tmp401);
13547#line 431
13548 __cil_tmp403 = (long )__cil_tmp402;
13549#line 431
13550 __cil_tmp404 = __cil_tmp403 & 1L;
13551#line 431
13552 tmp___4 = __builtin_expect(__cil_tmp404, 0L);
13553 }
13554#line 431
13555 if (tmp___4 != 0L) {
13556 {
13557#line 431
13558 __cil_tmp405 = (struct device *)xpc_chan;
13559#line 431
13560 __cil_tmp406 = (unsigned long )args;
13561#line 431
13562 __cil_tmp407 = __cil_tmp406 + 4;
13563#line 431
13564 __cil_tmp408 = *((u16 *)__cil_tmp407);
13565#line 431
13566 __cil_tmp409 = (int )__cil_tmp408;
13567#line 431
13568 __cil_tmp410 = (unsigned long )ch;
13569#line 431
13570 __cil_tmp411 = __cil_tmp410 + 96;
13571#line 431
13572 __cil_tmp412 = *((u16 *)__cil_tmp411);
13573#line 431
13574 __cil_tmp413 = (int )__cil_tmp412;
13575#line 431
13576 __cil_tmp414 = *((short *)ch);
13577#line 431
13578 __cil_tmp415 = (int )__cil_tmp414;
13579#line 431
13580 __cil_tmp416 = (unsigned long )ch;
13581#line 431
13582 __cil_tmp417 = __cil_tmp416 + 92;
13583#line 431
13584 __cil_tmp418 = *((u16 *)__cil_tmp417);
13585#line 431
13586 __cil_tmp419 = (int )__cil_tmp418;
13587#line 431
13588 __dynamic_dev_dbg(& descriptor___4, __cil_tmp405, "XPC_CHCTL_OPENREPLY: new local_nentries=%d, old local_nentries=%d, partid=%d, channel=%d\n",
13589 __cil_tmp409, __cil_tmp413, __cil_tmp415, __cil_tmp419);
13590 }
13591 } else {
13592
13593 }
13594#line 437
13595 __cil_tmp420 = (unsigned long )ch;
13596#line 437
13597 __cil_tmp421 = __cil_tmp420 + 96;
13598#line 437
13599 __cil_tmp422 = (unsigned long )args;
13600#line 437
13601 __cil_tmp423 = __cil_tmp422 + 4;
13602#line 437
13603 *((u16 *)__cil_tmp421) = *((u16 *)__cil_tmp423);
13604 } else {
13605
13606 }
13607 }
13608 {
13609#line 440
13610 xpc_process_connect(ch, & irq_flags);
13611 }
13612 } else {
13613
13614 }
13615 }
13616 {
13617#line 443
13618 __cil_tmp424 = (int )chctl_flags;
13619#line 443
13620 __cil_tmp425 = __cil_tmp424 & 16;
13621#line 443
13622 if (__cil_tmp425 != 0) {
13623 {
13624#line 445
13625 __cil_tmp426 = & descriptor___5;
13626#line 445
13627 *((char **)__cil_tmp426) = "xpc";
13628#line 445
13629 __cil_tmp427 = (unsigned long )(& descriptor___5) + 8;
13630#line 445
13631 *((char **)__cil_tmp427) = "xpc_process_openclose_chctl_flags";
13632#line 445
13633 __cil_tmp428 = (unsigned long )(& descriptor___5) + 16;
13634#line 445
13635 *((char **)__cil_tmp428) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
13636#line 445
13637 __cil_tmp429 = (unsigned long )(& descriptor___5) + 24;
13638#line 445
13639 *((char **)__cil_tmp429) = "XPC_CHCTL_OPENCOMPLETE received from partid=%d, channel=%d\n";
13640#line 445
13641 __cil_tmp430 = (unsigned long )(& descriptor___5) + 32;
13642#line 445
13643 *((unsigned int *)__cil_tmp430) = 446U;
13644#line 445
13645 __cil_tmp431 = (unsigned long )(& descriptor___5) + 35;
13646#line 445
13647 *((unsigned char *)__cil_tmp431) = (unsigned char)0;
13648#line 445
13649 __cil_tmp432 = (unsigned long )(& descriptor___5) + 35;
13650#line 445
13651 __cil_tmp433 = *((unsigned char *)__cil_tmp432);
13652#line 445
13653 __cil_tmp434 = (long )__cil_tmp433;
13654#line 445
13655 __cil_tmp435 = __cil_tmp434 & 1L;
13656#line 445
13657 tmp___5 = __builtin_expect(__cil_tmp435, 0L);
13658 }
13659#line 445
13660 if (tmp___5 != 0L) {
13661 {
13662#line 445
13663 __cil_tmp436 = (struct device *)xpc_chan;
13664#line 445
13665 __cil_tmp437 = *((short *)ch);
13666#line 445
13667 __cil_tmp438 = (int )__cil_tmp437;
13668#line 445
13669 __cil_tmp439 = (unsigned long )ch;
13670#line 445
13671 __cil_tmp440 = __cil_tmp439 + 92;
13672#line 445
13673 __cil_tmp441 = *((u16 *)__cil_tmp440);
13674#line 445
13675 __cil_tmp442 = (int )__cil_tmp441;
13676#line 445
13677 __dynamic_dev_dbg(& descriptor___5, __cil_tmp436, "XPC_CHCTL_OPENCOMPLETE received from partid=%d, channel=%d\n",
13678 __cil_tmp438, __cil_tmp442);
13679 }
13680 } else {
13681
13682 }
13683 {
13684#line 448
13685 __cil_tmp443 = (unsigned long )ch;
13686#line 448
13687 __cil_tmp444 = __cil_tmp443 + 80;
13688#line 448
13689 __cil_tmp445 = *((unsigned int *)__cil_tmp444);
13690#line 448
13691 __cil_tmp446 = __cil_tmp445 & 196608U;
13692#line 448
13693 if (__cil_tmp446 != 0U) {
13694#line 449
13695 goto out;
13696 } else {
13697
13698 }
13699 }
13700 {
13701#line 451
13702 __cil_tmp447 = (unsigned long )ch;
13703#line 451
13704 __cil_tmp448 = __cil_tmp447 + 80;
13705#line 451
13706 __cil_tmp449 = *((unsigned int *)__cil_tmp448);
13707#line 451
13708 __cil_tmp450 = __cil_tmp449 & 64U;
13709#line 451
13710 if (__cil_tmp450 == 0U) {
13711 {
13712#line 453
13713 __cil_tmp451 = (int )454;
13714#line 453
13715 __cil_tmp452 = (enum xp_retval )50;
13716#line 453
13717 xpc_disconnect_channel(__cil_tmp451, ch, __cil_tmp452, & irq_flags);
13718 }
13719#line 455
13720 goto out;
13721 } else {
13722 {
13723#line 451
13724 __cil_tmp453 = (unsigned long )ch;
13725#line 451
13726 __cil_tmp454 = __cil_tmp453 + 80;
13727#line 451
13728 __cil_tmp455 = *((unsigned int *)__cil_tmp454);
13729#line 451
13730 __cil_tmp456 = __cil_tmp455 & 16U;
13731#line 451
13732 if (__cil_tmp456 == 0U) {
13733 {
13734#line 453
13735 __cil_tmp457 = (int )454;
13736#line 453
13737 __cil_tmp458 = (enum xp_retval )50;
13738#line 453
13739 xpc_disconnect_channel(__cil_tmp457, ch, __cil_tmp458, & irq_flags);
13740 }
13741#line 455
13742 goto out;
13743 } else {
13744
13745 }
13746 }
13747 }
13748 }
13749 {
13750#line 462
13751 __cil_tmp459 = (unsigned long )ch;
13752#line 462
13753 __cil_tmp460 = __cil_tmp459 + 80;
13754#line 462
13755 __cil_tmp461 = (unsigned long )ch;
13756#line 462
13757 __cil_tmp462 = __cil_tmp461 + 80;
13758#line 462
13759 __cil_tmp463 = *((unsigned int *)__cil_tmp462);
13760#line 462
13761 *((unsigned int *)__cil_tmp460) = __cil_tmp463 | 2U;
13762#line 464
13763 xpc_process_connect(ch, & irq_flags);
13764#line 465
13765 create_kthread = 1;
13766 }
13767 } else {
13768
13769 }
13770 }
13771 out:
13772 {
13773#line 469
13774 __cil_tmp464 = (unsigned long )ch;
13775#line 469
13776 __cil_tmp465 = __cil_tmp464 + 8;
13777#line 469
13778 __cil_tmp466 = (spinlock_t *)__cil_tmp465;
13779#line 469
13780 __cil_tmp467 = & irq_flags;
13781#line 469
13782 __cil_tmp468 = *__cil_tmp467;
13783#line 469
13784 spin_unlock_irqrestore(__cil_tmp466, __cil_tmp468);
13785 }
13786#line 471
13787 if (create_kthread != 0) {
13788 {
13789#line 472
13790 xpc_create_kthreads(ch, 1, 0);
13791 }
13792 } else {
13793
13794 }
13795#line 473
13796 return;
13797}
13798}
13799#line 479 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
13800static enum xp_retval xpc_connect_channel(struct xpc_channel *ch )
13801{ unsigned long irq_flags ;
13802 struct xpc_registration *registration ;
13803 int tmp ;
13804 unsigned long __cil_tmp5 ;
13805 unsigned long __cil_tmp6 ;
13806 u16 __cil_tmp7 ;
13807 unsigned long __cil_tmp8 ;
13808 struct xpc_registration *__cil_tmp9 ;
13809 struct mutex *__cil_tmp10 ;
13810 void (*__cil_tmp11)(enum xp_retval , short , int , void * , void * ) ;
13811 unsigned long __cil_tmp12 ;
13812 unsigned long __cil_tmp13 ;
13813 unsigned long __cil_tmp14 ;
13814 u16 __cil_tmp15 ;
13815 int __cil_tmp16 ;
13816 unsigned long __cil_tmp17 ;
13817 unsigned long __cil_tmp18 ;
13818 unsigned long __cil_tmp19 ;
13819 void (*__cil_tmp20)(enum xp_retval , short , int , void * , void * ) ;
13820 unsigned long __cil_tmp21 ;
13821 struct mutex *__cil_tmp22 ;
13822 unsigned long __cil_tmp23 ;
13823 unsigned long __cil_tmp24 ;
13824 unsigned int __cil_tmp25 ;
13825 unsigned int __cil_tmp26 ;
13826 unsigned long __cil_tmp27 ;
13827 unsigned long __cil_tmp28 ;
13828 spinlock_t *__cil_tmp29 ;
13829 unsigned long *__cil_tmp30 ;
13830 unsigned long __cil_tmp31 ;
13831 struct mutex *__cil_tmp32 ;
13832 unsigned long __cil_tmp33 ;
13833 unsigned long __cil_tmp34 ;
13834 unsigned long __cil_tmp35 ;
13835 unsigned long __cil_tmp36 ;
13836 unsigned long __cil_tmp37 ;
13837 unsigned long __cil_tmp38 ;
13838 unsigned long __cil_tmp39 ;
13839 unsigned long __cil_tmp40 ;
13840 unsigned long __cil_tmp41 ;
13841 unsigned long __cil_tmp42 ;
13842 unsigned long __cil_tmp43 ;
13843 unsigned long __cil_tmp44 ;
13844 unsigned long __cil_tmp45 ;
13845 unsigned long __cil_tmp46 ;
13846 unsigned long __cil_tmp47 ;
13847 unsigned long __cil_tmp48 ;
13848 unsigned long __cil_tmp49 ;
13849 unsigned long __cil_tmp50 ;
13850 unsigned long __cil_tmp51 ;
13851 unsigned long __cil_tmp52 ;
13852 unsigned long __cil_tmp53 ;
13853 unsigned long __cil_tmp54 ;
13854 unsigned long __cil_tmp55 ;
13855 unsigned long __cil_tmp56 ;
13856 unsigned int __cil_tmp57 ;
13857 unsigned int __cil_tmp58 ;
13858 unsigned long __cil_tmp59 ;
13859 unsigned long __cil_tmp60 ;
13860 u16 __cil_tmp61 ;
13861 int __cil_tmp62 ;
13862 unsigned long __cil_tmp63 ;
13863 unsigned long __cil_tmp64 ;
13864 u16 __cil_tmp65 ;
13865 int __cil_tmp66 ;
13866 struct mutex *__cil_tmp67 ;
13867 int __cil_tmp68 ;
13868 enum xp_retval __cil_tmp69 ;
13869 unsigned long __cil_tmp70 ;
13870 unsigned long __cil_tmp71 ;
13871 spinlock_t *__cil_tmp72 ;
13872 unsigned long *__cil_tmp73 ;
13873 unsigned long __cil_tmp74 ;
13874 unsigned long __cil_tmp75 ;
13875 unsigned long __cil_tmp76 ;
13876 unsigned long __cil_tmp77 ;
13877 unsigned long __cil_tmp78 ;
13878 unsigned long __cil_tmp79 ;
13879 unsigned long __cil_tmp80 ;
13880 unsigned long __cil_tmp81 ;
13881 unsigned long __cil_tmp82 ;
13882 unsigned long __cil_tmp83 ;
13883 unsigned long __cil_tmp84 ;
13884 unsigned long __cil_tmp85 ;
13885 unsigned long __cil_tmp86 ;
13886 unsigned int __cil_tmp87 ;
13887 short __cil_tmp88 ;
13888 unsigned long __cil_tmp89 ;
13889 struct xpc_partition *__cil_tmp90 ;
13890 unsigned long __cil_tmp91 ;
13891 unsigned long __cil_tmp92 ;
13892 atomic_t *__cil_tmp93 ;
13893 struct mutex *__cil_tmp94 ;
13894 unsigned long __cil_tmp95 ;
13895 unsigned long __cil_tmp96 ;
13896 unsigned long __cil_tmp97 ;
13897 unsigned long __cil_tmp98 ;
13898 unsigned int __cil_tmp99 ;
13899 unsigned long __cil_tmp100 ;
13900 unsigned long __cil_tmp101 ;
13901 spinlock_t *__cil_tmp102 ;
13902 unsigned long *__cil_tmp103 ;
13903 unsigned long __cil_tmp104 ;
13904
13905 {
13906 {
13907#line 482
13908 __cil_tmp5 = (unsigned long )ch;
13909#line 482
13910 __cil_tmp6 = __cil_tmp5 + 92;
13911#line 482
13912 __cil_tmp7 = *((u16 *)__cil_tmp6);
13913#line 482
13914 __cil_tmp8 = (unsigned long )__cil_tmp7;
13915#line 482
13916 __cil_tmp9 = (struct xpc_registration *)(& xpc_registrations);
13917#line 482
13918 registration = __cil_tmp9 + __cil_tmp8;
13919#line 484
13920 __cil_tmp10 = (struct mutex *)registration;
13921#line 484
13922 tmp = mutex_trylock(__cil_tmp10);
13923 }
13924#line 484
13925 if (tmp == 0) {
13926#line 485
13927 return ((enum xp_retval )8);
13928 } else {
13929
13930 }
13931 {
13932#line 487
13933 __cil_tmp11 = (void (*)(enum xp_retval , short , int , void * , void * ))0;
13934#line 487
13935 __cil_tmp12 = (unsigned long )__cil_tmp11;
13936#line 487
13937 __cil_tmp13 = (unsigned long )ch;
13938#line 487
13939 __cil_tmp14 = __cil_tmp13 + 92;
13940#line 487
13941 __cil_tmp15 = *((u16 *)__cil_tmp14);
13942#line 487
13943 __cil_tmp16 = (int )__cil_tmp15;
13944#line 487
13945 __cil_tmp17 = __cil_tmp16 * 200UL;
13946#line 487
13947 __cil_tmp18 = __cil_tmp17 + 168;
13948#line 487
13949 __cil_tmp19 = (unsigned long )(xpc_registrations) + __cil_tmp18;
13950#line 487
13951 __cil_tmp20 = *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp19);
13952#line 487
13953 __cil_tmp21 = (unsigned long )__cil_tmp20;
13954#line 487
13955 if (__cil_tmp21 == __cil_tmp12) {
13956 {
13957#line 488
13958 __cil_tmp22 = (struct mutex *)registration;
13959#line 488
13960 mutex_unlock(__cil_tmp22);
13961 }
13962#line 489
13963 return ((enum xp_retval )15);
13964 } else {
13965
13966 }
13967 }
13968 {
13969#line 492
13970 ldv_spin_lock();
13971 }
13972 {
13973#line 497
13974 __cil_tmp23 = (unsigned long )ch;
13975#line 497
13976 __cil_tmp24 = __cil_tmp23 + 80;
13977#line 497
13978 __cil_tmp25 = *((unsigned int *)__cil_tmp24);
13979#line 497
13980 __cil_tmp26 = __cil_tmp25 & 131072U;
13981#line 497
13982 if (__cil_tmp26 != 0U) {
13983 {
13984#line 498
13985 __cil_tmp27 = (unsigned long )ch;
13986#line 498
13987 __cil_tmp28 = __cil_tmp27 + 8;
13988#line 498
13989 __cil_tmp29 = (spinlock_t *)__cil_tmp28;
13990#line 498
13991 __cil_tmp30 = & irq_flags;
13992#line 498
13993 __cil_tmp31 = *__cil_tmp30;
13994#line 498
13995 spin_unlock_irqrestore(__cil_tmp29, __cil_tmp31);
13996#line 499
13997 __cil_tmp32 = (struct mutex *)registration;
13998#line 499
13999 mutex_unlock(__cil_tmp32);
14000 }
14001 {
14002#line 500
14003 __cil_tmp33 = (unsigned long )ch;
14004#line 500
14005 __cil_tmp34 = __cil_tmp33 + 84;
14006#line 500
14007 return (*((enum xp_retval *)__cil_tmp34));
14008 }
14009 } else {
14010
14011 }
14012 }
14013#line 505
14014 __cil_tmp35 = (unsigned long )ch;
14015#line 505
14016 __cil_tmp36 = __cil_tmp35 + 324;
14017#line 505
14018 __cil_tmp37 = (unsigned long )registration;
14019#line 505
14020 __cil_tmp38 = __cil_tmp37 + 188;
14021#line 505
14022 *((u32 *)__cil_tmp36) = *((u32 *)__cil_tmp38);
14023#line 506
14024 __cil_tmp39 = (unsigned long )ch;
14025#line 506
14026 __cil_tmp40 = __cil_tmp39 + 332;
14027#line 506
14028 __cil_tmp41 = (unsigned long )registration;
14029#line 506
14030 __cil_tmp42 = __cil_tmp41 + 192;
14031#line 506
14032 *((u32 *)__cil_tmp40) = *((u32 *)__cil_tmp42);
14033#line 511
14034 __cil_tmp43 = (unsigned long )ch;
14035#line 511
14036 __cil_tmp44 = __cil_tmp43 + 208;
14037#line 511
14038 __cil_tmp45 = (unsigned long )registration;
14039#line 511
14040 __cil_tmp46 = __cil_tmp45 + 168;
14041#line 511
14042 *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp44) = *((void (**)(enum xp_retval ,
14043 short ,
14044 int ,
14045 void * ,
14046 void * ))__cil_tmp46);
14047#line 513
14048 __cil_tmp47 = (unsigned long )ch;
14049#line 513
14050 __cil_tmp48 = __cil_tmp47 + 216;
14051#line 513
14052 __cil_tmp49 = (unsigned long )registration;
14053#line 513
14054 __cil_tmp50 = __cil_tmp49 + 176;
14055#line 513
14056 *((void **)__cil_tmp48) = *((void **)__cil_tmp50);
14057#line 515
14058 __cil_tmp51 = (unsigned long )ch;
14059#line 515
14060 __cil_tmp52 = __cil_tmp51 + 96;
14061#line 515
14062 __cil_tmp53 = (unsigned long )registration;
14063#line 515
14064 __cil_tmp54 = __cil_tmp53 + 184;
14065#line 515
14066 *((u16 *)__cil_tmp52) = *((u16 *)__cil_tmp54);
14067 {
14068#line 517
14069 __cil_tmp55 = (unsigned long )ch;
14070#line 517
14071 __cil_tmp56 = __cil_tmp55 + 80;
14072#line 517
14073 __cil_tmp57 = *((unsigned int *)__cil_tmp56);
14074#line 517
14075 __cil_tmp58 = __cil_tmp57 & 32U;
14076#line 517
14077 if (__cil_tmp58 != 0U) {
14078 {
14079#line 518
14080 __cil_tmp59 = (unsigned long )ch;
14081#line 518
14082 __cil_tmp60 = __cil_tmp59 + 94;
14083#line 518
14084 __cil_tmp61 = *((u16 *)__cil_tmp60);
14085#line 518
14086 __cil_tmp62 = (int )__cil_tmp61;
14087#line 518
14088 __cil_tmp63 = (unsigned long )registration;
14089#line 518
14090 __cil_tmp64 = __cil_tmp63 + 186;
14091#line 518
14092 __cil_tmp65 = *((u16 *)__cil_tmp64);
14093#line 518
14094 __cil_tmp66 = (int )__cil_tmp65;
14095#line 518
14096 if (__cil_tmp66 != __cil_tmp62) {
14097 {
14098#line 530
14099 __cil_tmp67 = (struct mutex *)registration;
14100#line 530
14101 mutex_unlock(__cil_tmp67);
14102#line 531
14103 __cil_tmp68 = (int )532;
14104#line 531
14105 __cil_tmp69 = (enum xp_retval )11;
14106#line 531
14107 xpc_disconnect_channel(__cil_tmp68, ch, __cil_tmp69, & irq_flags);
14108#line 533
14109 __cil_tmp70 = (unsigned long )ch;
14110#line 533
14111 __cil_tmp71 = __cil_tmp70 + 8;
14112#line 533
14113 __cil_tmp72 = (spinlock_t *)__cil_tmp71;
14114#line 533
14115 __cil_tmp73 = & irq_flags;
14116#line 533
14117 __cil_tmp74 = *__cil_tmp73;
14118#line 533
14119 spin_unlock_irqrestore(__cil_tmp72, __cil_tmp74);
14120 }
14121#line 534
14122 return ((enum xp_retval )11);
14123 } else {
14124 {
14125#line 537
14126 __cil_tmp75 = (unsigned long )ch;
14127#line 537
14128 __cil_tmp76 = __cil_tmp75 + 94;
14129#line 537
14130 __cil_tmp77 = (unsigned long )registration;
14131#line 537
14132 __cil_tmp78 = __cil_tmp77 + 186;
14133#line 537
14134 *((u16 *)__cil_tmp76) = *((u16 *)__cil_tmp78);
14135#line 539
14136 __cil_tmp79 = (unsigned long )ch;
14137#line 539
14138 __cil_tmp80 = __cil_tmp79 + 84;
14139#line 539
14140 *((enum xp_retval *)__cil_tmp80) = (enum xp_retval )0;
14141#line 539
14142 __cil_tmp81 = (unsigned long )ch;
14143#line 539
14144 __cil_tmp82 = __cil_tmp81 + 88;
14145#line 539
14146 *((int *)__cil_tmp82) = 0;
14147#line 540
14148 __cil_tmp83 = (unsigned long )ch;
14149#line 540
14150 __cil_tmp84 = __cil_tmp83 + 80;
14151#line 540
14152 __cil_tmp85 = (unsigned long )ch;
14153#line 540
14154 __cil_tmp86 = __cil_tmp85 + 80;
14155#line 540
14156 __cil_tmp87 = *((unsigned int *)__cil_tmp86);
14157#line 540
14158 *((unsigned int *)__cil_tmp84) = __cil_tmp87 & 4294901759U;
14159#line 542
14160 __cil_tmp88 = *((short *)ch);
14161#line 542
14162 __cil_tmp89 = (unsigned long )__cil_tmp88;
14163#line 542
14164 __cil_tmp90 = xpc_partitions + __cil_tmp89;
14165#line 542
14166 __cil_tmp91 = (unsigned long )__cil_tmp90;
14167#line 542
14168 __cil_tmp92 = __cil_tmp91 + 368;
14169#line 542
14170 __cil_tmp93 = (atomic_t *)__cil_tmp92;
14171#line 542
14172 atomic_inc(__cil_tmp93);
14173 }
14174 }
14175 }
14176 } else {
14177
14178 }
14179 }
14180 {
14181#line 545
14182 __cil_tmp94 = (struct mutex *)registration;
14183#line 545
14184 mutex_unlock(__cil_tmp94);
14185#line 549
14186 __cil_tmp95 = (unsigned long )ch;
14187#line 549
14188 __cil_tmp96 = __cil_tmp95 + 80;
14189#line 549
14190 __cil_tmp97 = (unsigned long )ch;
14191#line 549
14192 __cil_tmp98 = __cil_tmp97 + 80;
14193#line 549
14194 __cil_tmp99 = *((unsigned int *)__cil_tmp98);
14195#line 549
14196 *((unsigned int *)__cil_tmp96) = __cil_tmp99 | 2112U;
14197#line 550
14198 (*(xpc_arch_ops.send_chctl_openrequest))(ch, & irq_flags);
14199#line 552
14200 xpc_process_connect(ch, & irq_flags);
14201#line 554
14202 __cil_tmp100 = (unsigned long )ch;
14203#line 554
14204 __cil_tmp101 = __cil_tmp100 + 8;
14205#line 554
14206 __cil_tmp102 = (spinlock_t *)__cil_tmp101;
14207#line 554
14208 __cil_tmp103 = & irq_flags;
14209#line 554
14210 __cil_tmp104 = *__cil_tmp103;
14211#line 554
14212 spin_unlock_irqrestore(__cil_tmp102, __cil_tmp104);
14213 }
14214#line 556
14215 return ((enum xp_retval )0);
14216}
14217}
14218#line 560 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
14219void xpc_process_sent_chctl_flags(struct xpc_partition *part )
14220{ unsigned long irq_flags ;
14221 union xpc_channel_ctl_flags chctl ;
14222 struct xpc_channel *ch ;
14223 int ch_number ;
14224 u32 ch_flags ;
14225 union xpc_channel_ctl_flags *__cil_tmp7 ;
14226 unsigned long __cil_tmp8 ;
14227 unsigned long __cil_tmp9 ;
14228 unsigned long __cil_tmp10 ;
14229 struct xpc_channel *__cil_tmp11 ;
14230 unsigned long __cil_tmp12 ;
14231 unsigned long __cil_tmp13 ;
14232 unsigned long __cil_tmp14 ;
14233 u8 __cil_tmp15 ;
14234 int __cil_tmp16 ;
14235 int __cil_tmp17 ;
14236 unsigned long __cil_tmp18 ;
14237 unsigned long __cil_tmp19 ;
14238 unsigned long __cil_tmp20 ;
14239 u8 __cil_tmp21 ;
14240 int __cil_tmp22 ;
14241 u8 __cil_tmp23 ;
14242 unsigned long __cil_tmp24 ;
14243 unsigned long __cil_tmp25 ;
14244 unsigned int __cil_tmp26 ;
14245 unsigned long __cil_tmp27 ;
14246 unsigned long __cil_tmp28 ;
14247 spinlock_t *__cil_tmp29 ;
14248 unsigned long *__cil_tmp30 ;
14249 unsigned long __cil_tmp31 ;
14250 unsigned long __cil_tmp32 ;
14251 unsigned long __cil_tmp33 ;
14252 u8 __cil_tmp34 ;
14253 unsigned int __cil_tmp35 ;
14254 unsigned int __cil_tmp36 ;
14255 unsigned int __cil_tmp37 ;
14256 unsigned long __cil_tmp38 ;
14257 unsigned long __cil_tmp39 ;
14258 unsigned long __cil_tmp40 ;
14259 u8 __cil_tmp41 ;
14260 int __cil_tmp42 ;
14261 int __cil_tmp43 ;
14262 unsigned long __cil_tmp44 ;
14263 unsigned long __cil_tmp45 ;
14264 u8 __cil_tmp46 ;
14265 int __cil_tmp47 ;
14266
14267 {
14268 {
14269#line 568
14270 __cil_tmp7 = & chctl;
14271#line 568
14272 *((u64 *)__cil_tmp7) = (*(xpc_arch_ops.get_chctl_all_flags))(part);
14273#line 577
14274 ch_number = 0;
14275 }
14276#line 577
14277 goto ldv_18965;
14278 ldv_18964:
14279#line 578
14280 __cil_tmp8 = (unsigned long )ch_number;
14281#line 578
14282 __cil_tmp9 = (unsigned long )part;
14283#line 578
14284 __cil_tmp10 = __cil_tmp9 + 376;
14285#line 578
14286 __cil_tmp11 = *((struct xpc_channel **)__cil_tmp10);
14287#line 578
14288 ch = __cil_tmp11 + __cil_tmp8;
14289 {
14290#line 585
14291 __cil_tmp12 = ch_number * 1UL;
14292#line 585
14293 __cil_tmp13 = 0 + __cil_tmp12;
14294#line 585
14295 __cil_tmp14 = (unsigned long )(& chctl) + __cil_tmp13;
14296#line 585
14297 __cil_tmp15 = *((u8 *)__cil_tmp14);
14298#line 585
14299 __cil_tmp16 = (int )__cil_tmp15;
14300#line 585
14301 __cil_tmp17 = __cil_tmp16 & 31;
14302#line 585
14303 if (__cil_tmp17 != 0) {
14304 {
14305#line 586
14306 __cil_tmp18 = ch_number * 1UL;
14307#line 586
14308 __cil_tmp19 = 0 + __cil_tmp18;
14309#line 586
14310 __cil_tmp20 = (unsigned long )(& chctl) + __cil_tmp19;
14311#line 586
14312 __cil_tmp21 = *((u8 *)__cil_tmp20);
14313#line 586
14314 __cil_tmp22 = (int )__cil_tmp21;
14315#line 586
14316 __cil_tmp23 = (u8 )__cil_tmp22;
14317#line 586
14318 xpc_process_openclose_chctl_flags(part, ch_number, __cil_tmp23);
14319 }
14320 } else {
14321
14322 }
14323 }
14324#line 590
14325 __cil_tmp24 = (unsigned long )ch;
14326#line 590
14327 __cil_tmp25 = __cil_tmp24 + 80;
14328#line 590
14329 ch_flags = *((unsigned int *)__cil_tmp25);
14330 {
14331#line 592
14332 __cil_tmp26 = ch_flags & 131072U;
14333#line 592
14334 if (__cil_tmp26 != 0U) {
14335 {
14336#line 593
14337 ldv_spin_lock();
14338#line 594
14339 xpc_process_disconnect(ch, & irq_flags);
14340#line 595
14341 __cil_tmp27 = (unsigned long )ch;
14342#line 595
14343 __cil_tmp28 = __cil_tmp27 + 8;
14344#line 595
14345 __cil_tmp29 = (spinlock_t *)__cil_tmp28;
14346#line 595
14347 __cil_tmp30 = & irq_flags;
14348#line 595
14349 __cil_tmp31 = *__cil_tmp30;
14350#line 595
14351 spin_unlock_irqrestore(__cil_tmp29, __cil_tmp31);
14352 }
14353#line 596
14354 goto ldv_18963;
14355 } else {
14356
14357 }
14358 }
14359 {
14360#line 599
14361 __cil_tmp32 = (unsigned long )part;
14362#line 599
14363 __cil_tmp33 = __cil_tmp32 + 112;
14364#line 599
14365 __cil_tmp34 = *((u8 *)__cil_tmp33);
14366#line 599
14367 __cil_tmp35 = (unsigned int )__cil_tmp34;
14368#line 599
14369 if (__cil_tmp35 == 4U) {
14370#line 600
14371 goto ldv_18963;
14372 } else {
14373
14374 }
14375 }
14376 {
14377#line 602
14378 __cil_tmp36 = ch_flags & 1024U;
14379#line 602
14380 if (__cil_tmp36 == 0U) {
14381 {
14382#line 603
14383 __cil_tmp37 = ch_flags & 64U;
14384#line 603
14385 if (__cil_tmp37 == 0U) {
14386 {
14387#line 605
14388 xpc_connect_channel(ch);
14389 }
14390 } else {
14391
14392 }
14393 }
14394#line 607
14395 goto ldv_18963;
14396 } else {
14397
14398 }
14399 }
14400 {
14401#line 616
14402 __cil_tmp38 = ch_number * 1UL;
14403#line 616
14404 __cil_tmp39 = 0 + __cil_tmp38;
14405#line 616
14406 __cil_tmp40 = (unsigned long )(& chctl) + __cil_tmp39;
14407#line 616
14408 __cil_tmp41 = *((u8 *)__cil_tmp40);
14409#line 616
14410 __cil_tmp42 = (int )__cil_tmp41;
14411#line 616
14412 __cil_tmp43 = __cil_tmp42 & 32;
14413#line 616
14414 if (__cil_tmp43 != 0) {
14415 {
14416#line 617
14417 (*(xpc_arch_ops.process_msg_chctl_flags))(part, ch_number);
14418 }
14419 } else {
14420
14421 }
14422 }
14423 ldv_18963:
14424#line 577
14425 ch_number = ch_number + 1;
14426 ldv_18965: ;
14427 {
14428#line 577
14429 __cil_tmp44 = (unsigned long )part;
14430#line 577
14431 __cil_tmp45 = __cil_tmp44 + 364;
14432#line 577
14433 __cil_tmp46 = *((u8 *)__cil_tmp45);
14434#line 577
14435 __cil_tmp47 = (int )__cil_tmp46;
14436#line 577
14437 if (__cil_tmp47 > ch_number) {
14438#line 578
14439 goto ldv_18964;
14440 } else {
14441#line 580
14442 goto ldv_18966;
14443 }
14444 }
14445 ldv_18966: ;
14446#line 582
14447 return;
14448}
14449}
14450#line 631 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
14451void xpc_partition_going_down(struct xpc_partition *part , enum xp_retval reason )
14452{ unsigned long irq_flags ;
14453 int ch_number ;
14454 struct xpc_channel *ch ;
14455 struct _ddebug descriptor ;
14456 long tmp ;
14457 int tmp___0 ;
14458 struct _ddebug *__cil_tmp9 ;
14459 unsigned long __cil_tmp10 ;
14460 unsigned long __cil_tmp11 ;
14461 unsigned long __cil_tmp12 ;
14462 unsigned long __cil_tmp13 ;
14463 unsigned long __cil_tmp14 ;
14464 unsigned long __cil_tmp15 ;
14465 unsigned char __cil_tmp16 ;
14466 long __cil_tmp17 ;
14467 long __cil_tmp18 ;
14468 struct device *__cil_tmp19 ;
14469 long __cil_tmp20 ;
14470 long __cil_tmp21 ;
14471 long __cil_tmp22 ;
14472 long __cil_tmp23 ;
14473 short __cil_tmp24 ;
14474 int __cil_tmp25 ;
14475 unsigned int __cil_tmp26 ;
14476 unsigned long __cil_tmp27 ;
14477 unsigned long __cil_tmp28 ;
14478 unsigned long __cil_tmp29 ;
14479 struct xpc_channel *__cil_tmp30 ;
14480 int __cil_tmp31 ;
14481 unsigned long __cil_tmp32 ;
14482 unsigned long __cil_tmp33 ;
14483 spinlock_t *__cil_tmp34 ;
14484 unsigned long *__cil_tmp35 ;
14485 unsigned long __cil_tmp36 ;
14486 unsigned long __cil_tmp37 ;
14487 unsigned long __cil_tmp38 ;
14488 u8 __cil_tmp39 ;
14489 int __cil_tmp40 ;
14490
14491 {
14492 {
14493#line 637
14494 __cil_tmp9 = & descriptor;
14495#line 637
14496 *((char **)__cil_tmp9) = "xpc";
14497#line 637
14498 __cil_tmp10 = (unsigned long )(& descriptor) + 8;
14499#line 637
14500 *((char **)__cil_tmp10) = "xpc_partition_going_down";
14501#line 637
14502 __cil_tmp11 = (unsigned long )(& descriptor) + 16;
14503#line 637
14504 *((char **)__cil_tmp11) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
14505#line 637
14506 __cil_tmp12 = (unsigned long )(& descriptor) + 24;
14507#line 637
14508 *((char **)__cil_tmp12) = "deactivating partition %d, reason=%d\n";
14509#line 637
14510 __cil_tmp13 = (unsigned long )(& descriptor) + 32;
14511#line 637
14512 *((unsigned int *)__cil_tmp13) = 638U;
14513#line 637
14514 __cil_tmp14 = (unsigned long )(& descriptor) + 35;
14515#line 637
14516 *((unsigned char *)__cil_tmp14) = (unsigned char)0;
14517#line 637
14518 __cil_tmp15 = (unsigned long )(& descriptor) + 35;
14519#line 637
14520 __cil_tmp16 = *((unsigned char *)__cil_tmp15);
14521#line 637
14522 __cil_tmp17 = (long )__cil_tmp16;
14523#line 637
14524 __cil_tmp18 = __cil_tmp17 & 1L;
14525#line 637
14526 tmp = __builtin_expect(__cil_tmp18, 0L);
14527 }
14528#line 637
14529 if (tmp != 0L) {
14530 {
14531#line 637
14532 __cil_tmp19 = (struct device *)xpc_chan;
14533#line 637
14534 __cil_tmp20 = (long )xpc_partitions;
14535#line 637
14536 __cil_tmp21 = (long )part;
14537#line 637
14538 __cil_tmp22 = __cil_tmp21 - __cil_tmp20;
14539#line 637
14540 __cil_tmp23 = __cil_tmp22 / 896L;
14541#line 637
14542 __cil_tmp24 = (short )__cil_tmp23;
14543#line 637
14544 __cil_tmp25 = (int )__cil_tmp24;
14545#line 637
14546 __cil_tmp26 = (unsigned int )reason;
14547#line 637
14548 __dynamic_dev_dbg(& descriptor, __cil_tmp19, "deactivating partition %d, reason=%d\n",
14549 __cil_tmp25, __cil_tmp26);
14550 }
14551 } else {
14552
14553 }
14554 {
14555#line 640
14556 tmp___0 = xpc_part_ref(part);
14557 }
14558#line 640
14559 if (tmp___0 == 0) {
14560#line 642
14561 return;
14562 } else {
14563
14564 }
14565#line 647
14566 ch_number = 0;
14567#line 647
14568 goto ldv_18977;
14569 ldv_18976:
14570 {
14571#line 648
14572 __cil_tmp27 = (unsigned long )ch_number;
14573#line 648
14574 __cil_tmp28 = (unsigned long )part;
14575#line 648
14576 __cil_tmp29 = __cil_tmp28 + 376;
14577#line 648
14578 __cil_tmp30 = *((struct xpc_channel **)__cil_tmp29);
14579#line 648
14580 ch = __cil_tmp30 + __cil_tmp27;
14581#line 650
14582 xpc_msgqueue_ref(ch);
14583#line 651
14584 ldv_spin_lock();
14585#line 653
14586 __cil_tmp31 = (int )653;
14587#line 653
14588 xpc_disconnect_channel(__cil_tmp31, ch, reason, & irq_flags);
14589#line 655
14590 __cil_tmp32 = (unsigned long )ch;
14591#line 655
14592 __cil_tmp33 = __cil_tmp32 + 8;
14593#line 655
14594 __cil_tmp34 = (spinlock_t *)__cil_tmp33;
14595#line 655
14596 __cil_tmp35 = & irq_flags;
14597#line 655
14598 __cil_tmp36 = *__cil_tmp35;
14599#line 655
14600 spin_unlock_irqrestore(__cil_tmp34, __cil_tmp36);
14601#line 656
14602 xpc_msgqueue_deref(ch);
14603#line 647
14604 ch_number = ch_number + 1;
14605 }
14606 ldv_18977: ;
14607 {
14608#line 647
14609 __cil_tmp37 = (unsigned long )part;
14610#line 647
14611 __cil_tmp38 = __cil_tmp37 + 364;
14612#line 647
14613 __cil_tmp39 = *((u8 *)__cil_tmp38);
14614#line 647
14615 __cil_tmp40 = (int )__cil_tmp39;
14616#line 647
14617 if (__cil_tmp40 > ch_number) {
14618#line 648
14619 goto ldv_18976;
14620 } else {
14621#line 650
14622 goto ldv_18978;
14623 }
14624 }
14625 ldv_18978:
14626 {
14627#line 659
14628 xpc_wakeup_channel_mgr(part);
14629#line 661
14630 xpc_part_deref(part);
14631 }
14632#line 662
14633 return;
14634}
14635}
14636#line 669 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
14637void xpc_initiate_connect(int ch_number )
14638{ short partid ;
14639 struct xpc_partition *part ;
14640 struct xpc_channel *ch ;
14641 int tmp ;
14642 unsigned long __cil_tmp6 ;
14643 unsigned long __cil_tmp7 ;
14644 unsigned long __cil_tmp8 ;
14645 unsigned long __cil_tmp9 ;
14646 struct xpc_channel *__cil_tmp10 ;
14647 int __cil_tmp11 ;
14648 int __cil_tmp12 ;
14649 int __cil_tmp13 ;
14650 int __cil_tmp14 ;
14651
14652 {
14653#line 677
14654 partid = (short)0;
14655#line 677
14656 goto ldv_18986;
14657 ldv_18985:
14658 {
14659#line 678
14660 __cil_tmp6 = (unsigned long )partid;
14661#line 678
14662 part = xpc_partitions + __cil_tmp6;
14663#line 680
14664 tmp = xpc_part_ref(part);
14665 }
14666#line 680
14667 if (tmp != 0) {
14668 {
14669#line 681
14670 __cil_tmp7 = (unsigned long )ch_number;
14671#line 681
14672 __cil_tmp8 = (unsigned long )part;
14673#line 681
14674 __cil_tmp9 = __cil_tmp8 + 376;
14675#line 681
14676 __cil_tmp10 = *((struct xpc_channel **)__cil_tmp9);
14677#line 681
14678 ch = __cil_tmp10 + __cil_tmp7;
14679#line 687
14680 xpc_wakeup_channel_mgr(part);
14681#line 688
14682 xpc_part_deref(part);
14683 }
14684 } else {
14685
14686 }
14687#line 677
14688 __cil_tmp11 = (int )partid;
14689#line 677
14690 __cil_tmp12 = __cil_tmp11 + 1;
14691#line 677
14692 partid = (short )__cil_tmp12;
14693 ldv_18986: ;
14694 {
14695#line 677
14696 __cil_tmp13 = (int )xp_max_npartitions;
14697#line 677
14698 __cil_tmp14 = (int )partid;
14699#line 677
14700 if (__cil_tmp14 < __cil_tmp13) {
14701#line 678
14702 goto ldv_18985;
14703 } else {
14704#line 680
14705 goto ldv_18987;
14706 }
14707 }
14708 ldv_18987: ;
14709#line 682
14710 return;
14711}
14712}
14713#line 694 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
14714void xpc_connected_callout(struct xpc_channel *ch )
14715{ struct _ddebug descriptor ;
14716 long tmp ;
14717 struct _ddebug descriptor___0 ;
14718 long tmp___0 ;
14719 void (*__cil_tmp6)(enum xp_retval , short , int , void * , void * ) ;
14720 unsigned long __cil_tmp7 ;
14721 unsigned long __cil_tmp8 ;
14722 unsigned long __cil_tmp9 ;
14723 void (*__cil_tmp10)(enum xp_retval , short , int , void * , void * ) ;
14724 unsigned long __cil_tmp11 ;
14725 struct _ddebug *__cil_tmp12 ;
14726 unsigned long __cil_tmp13 ;
14727 unsigned long __cil_tmp14 ;
14728 unsigned long __cil_tmp15 ;
14729 unsigned long __cil_tmp16 ;
14730 unsigned long __cil_tmp17 ;
14731 unsigned long __cil_tmp18 ;
14732 unsigned char __cil_tmp19 ;
14733 long __cil_tmp20 ;
14734 long __cil_tmp21 ;
14735 struct device *__cil_tmp22 ;
14736 short __cil_tmp23 ;
14737 int __cil_tmp24 ;
14738 unsigned long __cil_tmp25 ;
14739 unsigned long __cil_tmp26 ;
14740 u16 __cil_tmp27 ;
14741 int __cil_tmp28 ;
14742 unsigned long __cil_tmp29 ;
14743 unsigned long __cil_tmp30 ;
14744 void (*__cil_tmp31)(enum xp_retval , short , int , void * , void * ) ;
14745 enum xp_retval __cil_tmp32 ;
14746 short __cil_tmp33 ;
14747 int __cil_tmp34 ;
14748 short __cil_tmp35 ;
14749 unsigned long __cil_tmp36 ;
14750 unsigned long __cil_tmp37 ;
14751 u16 __cil_tmp38 ;
14752 int __cil_tmp39 ;
14753 unsigned long __cil_tmp40 ;
14754 unsigned long __cil_tmp41 ;
14755 u16 __cil_tmp42 ;
14756 unsigned long long __cil_tmp43 ;
14757 void *__cil_tmp44 ;
14758 unsigned long __cil_tmp45 ;
14759 unsigned long __cil_tmp46 ;
14760 void *__cil_tmp47 ;
14761 struct _ddebug *__cil_tmp48 ;
14762 unsigned long __cil_tmp49 ;
14763 unsigned long __cil_tmp50 ;
14764 unsigned long __cil_tmp51 ;
14765 unsigned long __cil_tmp52 ;
14766 unsigned long __cil_tmp53 ;
14767 unsigned long __cil_tmp54 ;
14768 unsigned char __cil_tmp55 ;
14769 long __cil_tmp56 ;
14770 long __cil_tmp57 ;
14771 struct device *__cil_tmp58 ;
14772 short __cil_tmp59 ;
14773 int __cil_tmp60 ;
14774 unsigned long __cil_tmp61 ;
14775 unsigned long __cil_tmp62 ;
14776 u16 __cil_tmp63 ;
14777 int __cil_tmp64 ;
14778
14779 {
14780 {
14781#line 698
14782 __cil_tmp6 = (void (*)(enum xp_retval , short , int , void * , void * ))0;
14783#line 698
14784 __cil_tmp7 = (unsigned long )__cil_tmp6;
14785#line 698
14786 __cil_tmp8 = (unsigned long )ch;
14787#line 698
14788 __cil_tmp9 = __cil_tmp8 + 208;
14789#line 698
14790 __cil_tmp10 = *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp9);
14791#line 698
14792 __cil_tmp11 = (unsigned long )__cil_tmp10;
14793#line 698
14794 if (__cil_tmp11 != __cil_tmp7) {
14795 {
14796#line 699
14797 __cil_tmp12 = & descriptor;
14798#line 699
14799 *((char **)__cil_tmp12) = "xpc";
14800#line 699
14801 __cil_tmp13 = (unsigned long )(& descriptor) + 8;
14802#line 699
14803 *((char **)__cil_tmp13) = "xpc_connected_callout";
14804#line 699
14805 __cil_tmp14 = (unsigned long )(& descriptor) + 16;
14806#line 699
14807 *((char **)__cil_tmp14) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
14808#line 699
14809 __cil_tmp15 = (unsigned long )(& descriptor) + 24;
14810#line 699
14811 *((char **)__cil_tmp15) = "ch->func() called, reason=xpConnected, partid=%d, channel=%d\n";
14812#line 699
14813 __cil_tmp16 = (unsigned long )(& descriptor) + 32;
14814#line 699
14815 *((unsigned int *)__cil_tmp16) = 700U;
14816#line 699
14817 __cil_tmp17 = (unsigned long )(& descriptor) + 35;
14818#line 699
14819 *((unsigned char *)__cil_tmp17) = (unsigned char)0;
14820#line 699
14821 __cil_tmp18 = (unsigned long )(& descriptor) + 35;
14822#line 699
14823 __cil_tmp19 = *((unsigned char *)__cil_tmp18);
14824#line 699
14825 __cil_tmp20 = (long )__cil_tmp19;
14826#line 699
14827 __cil_tmp21 = __cil_tmp20 & 1L;
14828#line 699
14829 tmp = __builtin_expect(__cil_tmp21, 0L);
14830 }
14831#line 699
14832 if (tmp != 0L) {
14833 {
14834#line 699
14835 __cil_tmp22 = (struct device *)xpc_chan;
14836#line 699
14837 __cil_tmp23 = *((short *)ch);
14838#line 699
14839 __cil_tmp24 = (int )__cil_tmp23;
14840#line 699
14841 __cil_tmp25 = (unsigned long )ch;
14842#line 699
14843 __cil_tmp26 = __cil_tmp25 + 92;
14844#line 699
14845 __cil_tmp27 = *((u16 *)__cil_tmp26);
14846#line 699
14847 __cil_tmp28 = (int )__cil_tmp27;
14848#line 699
14849 __dynamic_dev_dbg(& descriptor, __cil_tmp22, "ch->func() called, reason=xpConnected, partid=%d, channel=%d\n",
14850 __cil_tmp24, __cil_tmp28);
14851 }
14852 } else {
14853
14854 }
14855 {
14856#line 702
14857 __cil_tmp29 = (unsigned long )ch;
14858#line 702
14859 __cil_tmp30 = __cil_tmp29 + 208;
14860#line 702
14861 __cil_tmp31 = *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp30);
14862#line 702
14863 __cil_tmp32 = (enum xp_retval )2;
14864#line 702
14865 __cil_tmp33 = *((short *)ch);
14866#line 702
14867 __cil_tmp34 = (int )__cil_tmp33;
14868#line 702
14869 __cil_tmp35 = (short )__cil_tmp34;
14870#line 702
14871 __cil_tmp36 = (unsigned long )ch;
14872#line 702
14873 __cil_tmp37 = __cil_tmp36 + 92;
14874#line 702
14875 __cil_tmp38 = *((u16 *)__cil_tmp37);
14876#line 702
14877 __cil_tmp39 = (int )__cil_tmp38;
14878#line 702
14879 __cil_tmp40 = (unsigned long )ch;
14880#line 702
14881 __cil_tmp41 = __cil_tmp40 + 96;
14882#line 702
14883 __cil_tmp42 = *((u16 *)__cil_tmp41);
14884#line 702
14885 __cil_tmp43 = (unsigned long long )__cil_tmp42;
14886#line 702
14887 __cil_tmp44 = (void *)__cil_tmp43;
14888#line 702
14889 __cil_tmp45 = (unsigned long )ch;
14890#line 702
14891 __cil_tmp46 = __cil_tmp45 + 216;
14892#line 702
14893 __cil_tmp47 = *((void **)__cil_tmp46);
14894#line 702
14895 (*__cil_tmp31)(__cil_tmp32, __cil_tmp35, __cil_tmp39, __cil_tmp44, __cil_tmp47);
14896#line 705
14897 __cil_tmp48 = & descriptor___0;
14898#line 705
14899 *((char **)__cil_tmp48) = "xpc";
14900#line 705
14901 __cil_tmp49 = (unsigned long )(& descriptor___0) + 8;
14902#line 705
14903 *((char **)__cil_tmp49) = "xpc_connected_callout";
14904#line 705
14905 __cil_tmp50 = (unsigned long )(& descriptor___0) + 16;
14906#line 705
14907 *((char **)__cil_tmp50) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
14908#line 705
14909 __cil_tmp51 = (unsigned long )(& descriptor___0) + 24;
14910#line 705
14911 *((char **)__cil_tmp51) = "ch->func() returned, reason=xpConnected, partid=%d, channel=%d\n";
14912#line 705
14913 __cil_tmp52 = (unsigned long )(& descriptor___0) + 32;
14914#line 705
14915 *((unsigned int *)__cil_tmp52) = 706U;
14916#line 705
14917 __cil_tmp53 = (unsigned long )(& descriptor___0) + 35;
14918#line 705
14919 *((unsigned char *)__cil_tmp53) = (unsigned char)0;
14920#line 705
14921 __cil_tmp54 = (unsigned long )(& descriptor___0) + 35;
14922#line 705
14923 __cil_tmp55 = *((unsigned char *)__cil_tmp54);
14924#line 705
14925 __cil_tmp56 = (long )__cil_tmp55;
14926#line 705
14927 __cil_tmp57 = __cil_tmp56 & 1L;
14928#line 705
14929 tmp___0 = __builtin_expect(__cil_tmp57, 0L);
14930 }
14931#line 705
14932 if (tmp___0 != 0L) {
14933 {
14934#line 705
14935 __cil_tmp58 = (struct device *)xpc_chan;
14936#line 705
14937 __cil_tmp59 = *((short *)ch);
14938#line 705
14939 __cil_tmp60 = (int )__cil_tmp59;
14940#line 705
14941 __cil_tmp61 = (unsigned long )ch;
14942#line 705
14943 __cil_tmp62 = __cil_tmp61 + 92;
14944#line 705
14945 __cil_tmp63 = *((u16 *)__cil_tmp62);
14946#line 705
14947 __cil_tmp64 = (int )__cil_tmp63;
14948#line 705
14949 __dynamic_dev_dbg(& descriptor___0, __cil_tmp58, "ch->func() returned, reason=xpConnected, partid=%d, channel=%d\n",
14950 __cil_tmp60, __cil_tmp64);
14951 }
14952 } else {
14953
14954 }
14955 } else {
14956
14957 }
14958 }
14959#line 708
14960 return;
14961}
14962}
14963#line 724 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
14964void xpc_initiate_disconnect(int ch_number )
14965{ unsigned long irq_flags ;
14966 short partid ;
14967 struct xpc_partition *part ;
14968 struct xpc_channel *ch ;
14969 int tmp ;
14970 unsigned long __cil_tmp7 ;
14971 unsigned long __cil_tmp8 ;
14972 unsigned long __cil_tmp9 ;
14973 unsigned long __cil_tmp10 ;
14974 struct xpc_channel *__cil_tmp11 ;
14975 unsigned long __cil_tmp12 ;
14976 unsigned long __cil_tmp13 ;
14977 unsigned int __cil_tmp14 ;
14978 unsigned int __cil_tmp15 ;
14979 unsigned long __cil_tmp16 ;
14980 unsigned long __cil_tmp17 ;
14981 unsigned long __cil_tmp18 ;
14982 unsigned long __cil_tmp19 ;
14983 unsigned int __cil_tmp20 ;
14984 int __cil_tmp21 ;
14985 enum xp_retval __cil_tmp22 ;
14986 unsigned long __cil_tmp23 ;
14987 unsigned long __cil_tmp24 ;
14988 spinlock_t *__cil_tmp25 ;
14989 unsigned long *__cil_tmp26 ;
14990 unsigned long __cil_tmp27 ;
14991 int __cil_tmp28 ;
14992 int __cil_tmp29 ;
14993 int __cil_tmp30 ;
14994 int __cil_tmp31 ;
14995
14996 {
14997#line 734
14998 partid = (short)0;
14999#line 734
15000 goto ldv_19002;
15001 ldv_19001:
15002 {
15003#line 735
15004 __cil_tmp7 = (unsigned long )partid;
15005#line 735
15006 part = xpc_partitions + __cil_tmp7;
15007#line 737
15008 tmp = xpc_part_ref(part);
15009 }
15010#line 737
15011 if (tmp != 0) {
15012 {
15013#line 738
15014 __cil_tmp8 = (unsigned long )ch_number;
15015#line 738
15016 __cil_tmp9 = (unsigned long )part;
15017#line 738
15018 __cil_tmp10 = __cil_tmp9 + 376;
15019#line 738
15020 __cil_tmp11 = *((struct xpc_channel **)__cil_tmp10);
15021#line 738
15022 ch = __cil_tmp11 + __cil_tmp8;
15023#line 739
15024 xpc_msgqueue_ref(ch);
15025#line 741
15026 ldv_spin_lock();
15027 }
15028 {
15029#line 743
15030 __cil_tmp12 = (unsigned long )ch;
15031#line 743
15032 __cil_tmp13 = __cil_tmp12 + 80;
15033#line 743
15034 __cil_tmp14 = *((unsigned int *)__cil_tmp13);
15035#line 743
15036 __cil_tmp15 = __cil_tmp14 & 65536U;
15037#line 743
15038 if (__cil_tmp15 == 0U) {
15039 {
15040#line 744
15041 __cil_tmp16 = (unsigned long )ch;
15042#line 744
15043 __cil_tmp17 = __cil_tmp16 + 80;
15044#line 744
15045 __cil_tmp18 = (unsigned long )ch;
15046#line 744
15047 __cil_tmp19 = __cil_tmp18 + 80;
15048#line 744
15049 __cil_tmp20 = *((unsigned int *)__cil_tmp19);
15050#line 744
15051 *((unsigned int *)__cil_tmp17) = __cil_tmp20 | 1048576U;
15052#line 746
15053 __cil_tmp21 = (int )747;
15054#line 746
15055 __cil_tmp22 = (enum xp_retval )22;
15056#line 746
15057 xpc_disconnect_channel(__cil_tmp21, ch, __cil_tmp22, & irq_flags);
15058 }
15059 } else {
15060
15061 }
15062 }
15063 {
15064#line 750
15065 __cil_tmp23 = (unsigned long )ch;
15066#line 750
15067 __cil_tmp24 = __cil_tmp23 + 8;
15068#line 750
15069 __cil_tmp25 = (spinlock_t *)__cil_tmp24;
15070#line 750
15071 __cil_tmp26 = & irq_flags;
15072#line 750
15073 __cil_tmp27 = *__cil_tmp26;
15074#line 750
15075 spin_unlock_irqrestore(__cil_tmp25, __cil_tmp27);
15076#line 752
15077 xpc_msgqueue_deref(ch);
15078#line 753
15079 xpc_part_deref(part);
15080 }
15081 } else {
15082
15083 }
15084#line 734
15085 __cil_tmp28 = (int )partid;
15086#line 734
15087 __cil_tmp29 = __cil_tmp28 + 1;
15088#line 734
15089 partid = (short )__cil_tmp29;
15090 ldv_19002: ;
15091 {
15092#line 734
15093 __cil_tmp30 = (int )xp_max_npartitions;
15094#line 734
15095 __cil_tmp31 = (int )partid;
15096#line 734
15097 if (__cil_tmp31 < __cil_tmp30) {
15098#line 735
15099 goto ldv_19001;
15100 } else {
15101#line 737
15102 goto ldv_19003;
15103 }
15104 }
15105 ldv_19003:
15106 {
15107#line 757
15108 xpc_disconnect_wait(ch_number);
15109 }
15110#line 758
15111 return;
15112}
15113}
15114#line 770 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
15115void xpc_disconnect_channel(int line , struct xpc_channel *ch , enum xp_retval reason ,
15116 unsigned long *irq_flags )
15117{ u32 channel_was_connected ;
15118 struct _ddebug descriptor ;
15119 long tmp ;
15120 int tmp___0 ;
15121 int tmp___1 ;
15122 unsigned long __cil_tmp10 ;
15123 unsigned long __cil_tmp11 ;
15124 unsigned int __cil_tmp12 ;
15125 unsigned long __cil_tmp13 ;
15126 unsigned long __cil_tmp14 ;
15127 unsigned int __cil_tmp15 ;
15128 unsigned int __cil_tmp16 ;
15129 struct _ddebug *__cil_tmp17 ;
15130 unsigned long __cil_tmp18 ;
15131 unsigned long __cil_tmp19 ;
15132 unsigned long __cil_tmp20 ;
15133 unsigned long __cil_tmp21 ;
15134 unsigned long __cil_tmp22 ;
15135 unsigned long __cil_tmp23 ;
15136 unsigned char __cil_tmp24 ;
15137 long __cil_tmp25 ;
15138 long __cil_tmp26 ;
15139 struct device *__cil_tmp27 ;
15140 unsigned int __cil_tmp28 ;
15141 short __cil_tmp29 ;
15142 int __cil_tmp30 ;
15143 unsigned long __cil_tmp31 ;
15144 unsigned long __cil_tmp32 ;
15145 u16 __cil_tmp33 ;
15146 int __cil_tmp34 ;
15147 unsigned long __cil_tmp35 ;
15148 unsigned long __cil_tmp36 ;
15149 unsigned long __cil_tmp37 ;
15150 unsigned long __cil_tmp38 ;
15151 unsigned long __cil_tmp39 ;
15152 unsigned long __cil_tmp40 ;
15153 unsigned long __cil_tmp41 ;
15154 unsigned long __cil_tmp42 ;
15155 unsigned int __cil_tmp43 ;
15156 unsigned long __cil_tmp44 ;
15157 unsigned long __cil_tmp45 ;
15158 unsigned long __cil_tmp46 ;
15159 unsigned long __cil_tmp47 ;
15160 unsigned int __cil_tmp48 ;
15161 unsigned long __cil_tmp49 ;
15162 unsigned long __cil_tmp50 ;
15163 unsigned long __cil_tmp51 ;
15164 unsigned long __cil_tmp52 ;
15165 unsigned int __cil_tmp53 ;
15166 unsigned long __cil_tmp54 ;
15167 unsigned long __cil_tmp55 ;
15168 spinlock_t *__cil_tmp56 ;
15169 unsigned long __cil_tmp57 ;
15170 unsigned long __cil_tmp58 ;
15171 unsigned long __cil_tmp59 ;
15172 atomic_t *__cil_tmp60 ;
15173 atomic_t *__cil_tmp61 ;
15174 unsigned long __cil_tmp62 ;
15175 unsigned long __cil_tmp63 ;
15176 wait_queue_head_t *__cil_tmp64 ;
15177 void *__cil_tmp65 ;
15178 unsigned long __cil_tmp66 ;
15179 unsigned long __cil_tmp67 ;
15180 unsigned int __cil_tmp68 ;
15181 unsigned int __cil_tmp69 ;
15182 unsigned long __cil_tmp70 ;
15183 unsigned long __cil_tmp71 ;
15184 unsigned int __cil_tmp72 ;
15185 unsigned int __cil_tmp73 ;
15186 unsigned long __cil_tmp74 ;
15187 unsigned long __cil_tmp75 ;
15188 atomic_t *__cil_tmp76 ;
15189 atomic_t *__cil_tmp77 ;
15190 unsigned long __cil_tmp78 ;
15191 unsigned long __cil_tmp79 ;
15192 wait_queue_head_t *__cil_tmp80 ;
15193 void *__cil_tmp81 ;
15194
15195 {
15196#line 773
15197 __cil_tmp10 = (unsigned long )ch;
15198#line 773
15199 __cil_tmp11 = __cil_tmp10 + 80;
15200#line 773
15201 __cil_tmp12 = *((unsigned int *)__cil_tmp11);
15202#line 773
15203 channel_was_connected = __cil_tmp12 & 1024U;
15204 {
15205#line 777
15206 __cil_tmp13 = (unsigned long )ch;
15207#line 777
15208 __cil_tmp14 = __cil_tmp13 + 80;
15209#line 777
15210 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
15211#line 777
15212 __cil_tmp16 = __cil_tmp15 & 196608U;
15213#line 777
15214 if (__cil_tmp16 != 0U) {
15215#line 778
15216 return;
15217 } else {
15218
15219 }
15220 }
15221 {
15222#line 782
15223 __cil_tmp17 = & descriptor;
15224#line 782
15225 *((char **)__cil_tmp17) = "xpc";
15226#line 782
15227 __cil_tmp18 = (unsigned long )(& descriptor) + 8;
15228#line 782
15229 *((char **)__cil_tmp18) = "xpc_disconnect_channel";
15230#line 782
15231 __cil_tmp19 = (unsigned long )(& descriptor) + 16;
15232#line 782
15233 *((char **)__cil_tmp19) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
15234#line 782
15235 __cil_tmp20 = (unsigned long )(& descriptor) + 24;
15236#line 782
15237 *((char **)__cil_tmp20) = "reason=%d, line=%d, partid=%d, channel=%d\n";
15238#line 782
15239 __cil_tmp21 = (unsigned long )(& descriptor) + 32;
15240#line 782
15241 *((unsigned int *)__cil_tmp21) = 783U;
15242#line 782
15243 __cil_tmp22 = (unsigned long )(& descriptor) + 35;
15244#line 782
15245 *((unsigned char *)__cil_tmp22) = (unsigned char)0;
15246#line 782
15247 __cil_tmp23 = (unsigned long )(& descriptor) + 35;
15248#line 782
15249 __cil_tmp24 = *((unsigned char *)__cil_tmp23);
15250#line 782
15251 __cil_tmp25 = (long )__cil_tmp24;
15252#line 782
15253 __cil_tmp26 = __cil_tmp25 & 1L;
15254#line 782
15255 tmp = __builtin_expect(__cil_tmp26, 0L);
15256 }
15257#line 782
15258 if (tmp != 0L) {
15259 {
15260#line 782
15261 __cil_tmp27 = (struct device *)xpc_chan;
15262#line 782
15263 __cil_tmp28 = (unsigned int )reason;
15264#line 782
15265 __cil_tmp29 = *((short *)ch);
15266#line 782
15267 __cil_tmp30 = (int )__cil_tmp29;
15268#line 782
15269 __cil_tmp31 = (unsigned long )ch;
15270#line 782
15271 __cil_tmp32 = __cil_tmp31 + 92;
15272#line 782
15273 __cil_tmp33 = *((u16 *)__cil_tmp32);
15274#line 782
15275 __cil_tmp34 = (int )__cil_tmp33;
15276#line 782
15277 __dynamic_dev_dbg(& descriptor, __cil_tmp27, "reason=%d, line=%d, partid=%d, channel=%d\n",
15278 __cil_tmp28, line, __cil_tmp30, __cil_tmp34);
15279 }
15280 } else {
15281
15282 }
15283 {
15284#line 785
15285 __cil_tmp35 = (unsigned long )ch;
15286#line 785
15287 __cil_tmp36 = __cil_tmp35 + 84;
15288#line 785
15289 *((enum xp_retval *)__cil_tmp36) = reason;
15290#line 785
15291 __cil_tmp37 = (unsigned long )ch;
15292#line 785
15293 __cil_tmp38 = __cil_tmp37 + 88;
15294#line 785
15295 *((int *)__cil_tmp38) = (int )line;
15296#line 787
15297 __cil_tmp39 = (unsigned long )ch;
15298#line 787
15299 __cil_tmp40 = __cil_tmp39 + 80;
15300#line 787
15301 __cil_tmp41 = (unsigned long )ch;
15302#line 787
15303 __cil_tmp42 = __cil_tmp41 + 80;
15304#line 787
15305 __cil_tmp43 = *((unsigned int *)__cil_tmp42);
15306#line 787
15307 *((unsigned int *)__cil_tmp40) = __cil_tmp43 | 163840U;
15308#line 789
15309 __cil_tmp44 = (unsigned long )ch;
15310#line 789
15311 __cil_tmp45 = __cil_tmp44 + 80;
15312#line 789
15313 __cil_tmp46 = (unsigned long )ch;
15314#line 789
15315 __cil_tmp47 = __cil_tmp46 + 80;
15316#line 789
15317 __cil_tmp48 = *((unsigned int *)__cil_tmp47);
15318#line 789
15319 *((unsigned int *)__cil_tmp45) = __cil_tmp48 & 4294964103U;
15320#line 793
15321 (*(xpc_arch_ops.send_chctl_closerequest))(ch, irq_flags);
15322 }
15323#line 795
15324 if (channel_was_connected != 0U) {
15325#line 796
15326 __cil_tmp49 = (unsigned long )ch;
15327#line 796
15328 __cil_tmp50 = __cil_tmp49 + 80;
15329#line 796
15330 __cil_tmp51 = (unsigned long )ch;
15331#line 796
15332 __cil_tmp52 = __cil_tmp51 + 80;
15333#line 796
15334 __cil_tmp53 = *((unsigned int *)__cil_tmp52);
15335#line 796
15336 *((unsigned int *)__cil_tmp50) = __cil_tmp53 | 1U;
15337 } else {
15338
15339 }
15340 {
15341#line 798
15342 __cil_tmp54 = (unsigned long )ch;
15343#line 798
15344 __cil_tmp55 = __cil_tmp54 + 8;
15345#line 798
15346 __cil_tmp56 = (spinlock_t *)__cil_tmp55;
15347#line 798
15348 __cil_tmp57 = *irq_flags;
15349#line 798
15350 spin_unlock_irqrestore(__cil_tmp56, __cil_tmp57);
15351#line 801
15352 __cil_tmp58 = (unsigned long )ch;
15353#line 801
15354 __cil_tmp59 = __cil_tmp58 + 328;
15355#line 801
15356 __cil_tmp60 = (atomic_t *)__cil_tmp59;
15357#line 801
15358 __cil_tmp61 = (atomic_t *)__cil_tmp60;
15359#line 801
15360 tmp___0 = atomic_read(__cil_tmp61);
15361 }
15362#line 801
15363 if (tmp___0 > 0) {
15364 {
15365#line 802
15366 __cil_tmp62 = (unsigned long )ch;
15367#line 802
15368 __cil_tmp63 = __cil_tmp62 + 344;
15369#line 802
15370 __cil_tmp64 = (wait_queue_head_t *)__cil_tmp63;
15371#line 802
15372 __cil_tmp65 = (void *)0;
15373#line 802
15374 __wake_up(__cil_tmp64, 3U, 0, __cil_tmp65);
15375 }
15376 } else {
15377 {
15378#line 804
15379 __cil_tmp66 = (unsigned long )ch;
15380#line 804
15381 __cil_tmp67 = __cil_tmp66 + 80;
15382#line 804
15383 __cil_tmp68 = *((unsigned int *)__cil_tmp67);
15384#line 804
15385 __cil_tmp69 = __cil_tmp68 & 512U;
15386#line 804
15387 if (__cil_tmp69 != 0U) {
15388 {
15389#line 804
15390 __cil_tmp70 = (unsigned long )ch;
15391#line 804
15392 __cil_tmp71 = __cil_tmp70 + 80;
15393#line 804
15394 __cil_tmp72 = *((unsigned int *)__cil_tmp71);
15395#line 804
15396 __cil_tmp73 = __cil_tmp72 & 262144U;
15397#line 804
15398 if (__cil_tmp73 == 0U) {
15399 {
15400#line 807
15401 xpc_create_kthreads(ch, 1, 1);
15402 }
15403 } else {
15404
15405 }
15406 }
15407 } else {
15408
15409 }
15410 }
15411 }
15412 {
15413#line 811
15414 __cil_tmp74 = (unsigned long )ch;
15415#line 811
15416 __cil_tmp75 = __cil_tmp74 + 104;
15417#line 811
15418 __cil_tmp76 = (atomic_t *)__cil_tmp75;
15419#line 811
15420 __cil_tmp77 = (atomic_t *)__cil_tmp76;
15421#line 811
15422 tmp___1 = atomic_read(__cil_tmp77);
15423 }
15424#line 811
15425 if (tmp___1 > 0) {
15426 {
15427#line 812
15428 __cil_tmp78 = (unsigned long )ch;
15429#line 812
15430 __cil_tmp79 = __cil_tmp78 + 112;
15431#line 812
15432 __cil_tmp80 = (wait_queue_head_t *)__cil_tmp79;
15433#line 812
15434 __cil_tmp81 = (void *)0;
15435#line 812
15436 __wake_up(__cil_tmp80, 3U, 1, __cil_tmp81);
15437 }
15438 } else {
15439
15440 }
15441 {
15442#line 814
15443 ldv_spin_lock();
15444 }
15445#line 815
15446 return;
15447}
15448}
15449#line 818 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
15450void xpc_disconnect_callout(struct xpc_channel *ch , enum xp_retval reason )
15451{ struct _ddebug descriptor ;
15452 long tmp ;
15453 struct _ddebug descriptor___0 ;
15454 long tmp___0 ;
15455 void (*__cil_tmp7)(enum xp_retval , short , int , void * , void * ) ;
15456 unsigned long __cil_tmp8 ;
15457 unsigned long __cil_tmp9 ;
15458 unsigned long __cil_tmp10 ;
15459 void (*__cil_tmp11)(enum xp_retval , short , int , void * , void * ) ;
15460 unsigned long __cil_tmp12 ;
15461 struct _ddebug *__cil_tmp13 ;
15462 unsigned long __cil_tmp14 ;
15463 unsigned long __cil_tmp15 ;
15464 unsigned long __cil_tmp16 ;
15465 unsigned long __cil_tmp17 ;
15466 unsigned long __cil_tmp18 ;
15467 unsigned long __cil_tmp19 ;
15468 unsigned char __cil_tmp20 ;
15469 long __cil_tmp21 ;
15470 long __cil_tmp22 ;
15471 struct device *__cil_tmp23 ;
15472 unsigned int __cil_tmp24 ;
15473 short __cil_tmp25 ;
15474 int __cil_tmp26 ;
15475 unsigned long __cil_tmp27 ;
15476 unsigned long __cil_tmp28 ;
15477 u16 __cil_tmp29 ;
15478 int __cil_tmp30 ;
15479 unsigned long __cil_tmp31 ;
15480 unsigned long __cil_tmp32 ;
15481 void (*__cil_tmp33)(enum xp_retval , short , int , void * , void * ) ;
15482 short __cil_tmp34 ;
15483 int __cil_tmp35 ;
15484 short __cil_tmp36 ;
15485 unsigned long __cil_tmp37 ;
15486 unsigned long __cil_tmp38 ;
15487 u16 __cil_tmp39 ;
15488 int __cil_tmp40 ;
15489 void *__cil_tmp41 ;
15490 unsigned long __cil_tmp42 ;
15491 unsigned long __cil_tmp43 ;
15492 void *__cil_tmp44 ;
15493 struct _ddebug *__cil_tmp45 ;
15494 unsigned long __cil_tmp46 ;
15495 unsigned long __cil_tmp47 ;
15496 unsigned long __cil_tmp48 ;
15497 unsigned long __cil_tmp49 ;
15498 unsigned long __cil_tmp50 ;
15499 unsigned long __cil_tmp51 ;
15500 unsigned char __cil_tmp52 ;
15501 long __cil_tmp53 ;
15502 long __cil_tmp54 ;
15503 struct device *__cil_tmp55 ;
15504 unsigned int __cil_tmp56 ;
15505 short __cil_tmp57 ;
15506 int __cil_tmp58 ;
15507 unsigned long __cil_tmp59 ;
15508 unsigned long __cil_tmp60 ;
15509 u16 __cil_tmp61 ;
15510 int __cil_tmp62 ;
15511
15512 {
15513 {
15514#line 826
15515 __cil_tmp7 = (void (*)(enum xp_retval , short , int , void * , void * ))0;
15516#line 826
15517 __cil_tmp8 = (unsigned long )__cil_tmp7;
15518#line 826
15519 __cil_tmp9 = (unsigned long )ch;
15520#line 826
15521 __cil_tmp10 = __cil_tmp9 + 208;
15522#line 826
15523 __cil_tmp11 = *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp10);
15524#line 826
15525 __cil_tmp12 = (unsigned long )__cil_tmp11;
15526#line 826
15527 if (__cil_tmp12 != __cil_tmp8) {
15528 {
15529#line 827
15530 __cil_tmp13 = & descriptor;
15531#line 827
15532 *((char **)__cil_tmp13) = "xpc";
15533#line 827
15534 __cil_tmp14 = (unsigned long )(& descriptor) + 8;
15535#line 827
15536 *((char **)__cil_tmp14) = "xpc_disconnect_callout";
15537#line 827
15538 __cil_tmp15 = (unsigned long )(& descriptor) + 16;
15539#line 827
15540 *((char **)__cil_tmp15) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
15541#line 827
15542 __cil_tmp16 = (unsigned long )(& descriptor) + 24;
15543#line 827
15544 *((char **)__cil_tmp16) = "ch->func() called, reason=%d, partid=%d, channel=%d\n";
15545#line 827
15546 __cil_tmp17 = (unsigned long )(& descriptor) + 32;
15547#line 827
15548 *((unsigned int *)__cil_tmp17) = 828U;
15549#line 827
15550 __cil_tmp18 = (unsigned long )(& descriptor) + 35;
15551#line 827
15552 *((unsigned char *)__cil_tmp18) = (unsigned char)0;
15553#line 827
15554 __cil_tmp19 = (unsigned long )(& descriptor) + 35;
15555#line 827
15556 __cil_tmp20 = *((unsigned char *)__cil_tmp19);
15557#line 827
15558 __cil_tmp21 = (long )__cil_tmp20;
15559#line 827
15560 __cil_tmp22 = __cil_tmp21 & 1L;
15561#line 827
15562 tmp = __builtin_expect(__cil_tmp22, 0L);
15563 }
15564#line 827
15565 if (tmp != 0L) {
15566 {
15567#line 827
15568 __cil_tmp23 = (struct device *)xpc_chan;
15569#line 827
15570 __cil_tmp24 = (unsigned int )reason;
15571#line 827
15572 __cil_tmp25 = *((short *)ch);
15573#line 827
15574 __cil_tmp26 = (int )__cil_tmp25;
15575#line 827
15576 __cil_tmp27 = (unsigned long )ch;
15577#line 827
15578 __cil_tmp28 = __cil_tmp27 + 92;
15579#line 827
15580 __cil_tmp29 = *((u16 *)__cil_tmp28);
15581#line 827
15582 __cil_tmp30 = (int )__cil_tmp29;
15583#line 827
15584 __dynamic_dev_dbg(& descriptor, __cil_tmp23, "ch->func() called, reason=%d, partid=%d, channel=%d\n",
15585 __cil_tmp24, __cil_tmp26, __cil_tmp30);
15586 }
15587 } else {
15588
15589 }
15590 {
15591#line 830
15592 __cil_tmp31 = (unsigned long )ch;
15593#line 830
15594 __cil_tmp32 = __cil_tmp31 + 208;
15595#line 830
15596 __cil_tmp33 = *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp32);
15597#line 830
15598 __cil_tmp34 = *((short *)ch);
15599#line 830
15600 __cil_tmp35 = (int )__cil_tmp34;
15601#line 830
15602 __cil_tmp36 = (short )__cil_tmp35;
15603#line 830
15604 __cil_tmp37 = (unsigned long )ch;
15605#line 830
15606 __cil_tmp38 = __cil_tmp37 + 92;
15607#line 830
15608 __cil_tmp39 = *((u16 *)__cil_tmp38);
15609#line 830
15610 __cil_tmp40 = (int )__cil_tmp39;
15611#line 830
15612 __cil_tmp41 = (void *)0;
15613#line 830
15614 __cil_tmp42 = (unsigned long )ch;
15615#line 830
15616 __cil_tmp43 = __cil_tmp42 + 216;
15617#line 830
15618 __cil_tmp44 = *((void **)__cil_tmp43);
15619#line 830
15620 (*__cil_tmp33)(reason, __cil_tmp36, __cil_tmp40, __cil_tmp41, __cil_tmp44);
15621#line 832
15622 __cil_tmp45 = & descriptor___0;
15623#line 832
15624 *((char **)__cil_tmp45) = "xpc";
15625#line 832
15626 __cil_tmp46 = (unsigned long )(& descriptor___0) + 8;
15627#line 832
15628 *((char **)__cil_tmp46) = "xpc_disconnect_callout";
15629#line 832
15630 __cil_tmp47 = (unsigned long )(& descriptor___0) + 16;
15631#line 832
15632 *((char **)__cil_tmp47) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
15633#line 832
15634 __cil_tmp48 = (unsigned long )(& descriptor___0) + 24;
15635#line 832
15636 *((char **)__cil_tmp48) = "ch->func() returned, reason=%d, partid=%d, channel=%d\n";
15637#line 832
15638 __cil_tmp49 = (unsigned long )(& descriptor___0) + 32;
15639#line 832
15640 *((unsigned int *)__cil_tmp49) = 833U;
15641#line 832
15642 __cil_tmp50 = (unsigned long )(& descriptor___0) + 35;
15643#line 832
15644 *((unsigned char *)__cil_tmp50) = (unsigned char)0;
15645#line 832
15646 __cil_tmp51 = (unsigned long )(& descriptor___0) + 35;
15647#line 832
15648 __cil_tmp52 = *((unsigned char *)__cil_tmp51);
15649#line 832
15650 __cil_tmp53 = (long )__cil_tmp52;
15651#line 832
15652 __cil_tmp54 = __cil_tmp53 & 1L;
15653#line 832
15654 tmp___0 = __builtin_expect(__cil_tmp54, 0L);
15655 }
15656#line 832
15657 if (tmp___0 != 0L) {
15658 {
15659#line 832
15660 __cil_tmp55 = (struct device *)xpc_chan;
15661#line 832
15662 __cil_tmp56 = (unsigned int )reason;
15663#line 832
15664 __cil_tmp57 = *((short *)ch);
15665#line 832
15666 __cil_tmp58 = (int )__cil_tmp57;
15667#line 832
15668 __cil_tmp59 = (unsigned long )ch;
15669#line 832
15670 __cil_tmp60 = __cil_tmp59 + 92;
15671#line 832
15672 __cil_tmp61 = *((u16 *)__cil_tmp60);
15673#line 832
15674 __cil_tmp62 = (int )__cil_tmp61;
15675#line 832
15676 __dynamic_dev_dbg(& descriptor___0, __cil_tmp55, "ch->func() returned, reason=%d, partid=%d, channel=%d\n",
15677 __cil_tmp56, __cil_tmp58, __cil_tmp62);
15678 }
15679 } else {
15680
15681 }
15682 } else {
15683
15684 }
15685 }
15686#line 835
15687 return;
15688}
15689}
15690#line 842 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
15691enum xp_retval xpc_allocate_msg_wait(struct xpc_channel *ch )
15692{ enum xp_retval ret ;
15693 long tmp ;
15694 unsigned long __cil_tmp4 ;
15695 unsigned long __cil_tmp5 ;
15696 unsigned int __cil_tmp6 ;
15697 unsigned int __cil_tmp7 ;
15698 unsigned long __cil_tmp8 ;
15699 unsigned long __cil_tmp9 ;
15700 unsigned long __cil_tmp10 ;
15701 unsigned long __cil_tmp11 ;
15702 atomic_t *__cil_tmp12 ;
15703 unsigned long __cil_tmp13 ;
15704 unsigned long __cil_tmp14 ;
15705 wait_queue_head_t *__cil_tmp15 ;
15706 unsigned long __cil_tmp16 ;
15707 unsigned long __cil_tmp17 ;
15708 atomic_t *__cil_tmp18 ;
15709 unsigned long __cil_tmp19 ;
15710 unsigned long __cil_tmp20 ;
15711 unsigned int __cil_tmp21 ;
15712 unsigned int __cil_tmp22 ;
15713 unsigned long __cil_tmp23 ;
15714 unsigned long __cil_tmp24 ;
15715 unsigned int __cil_tmp25 ;
15716
15717 {
15718 {
15719#line 846
15720 __cil_tmp4 = (unsigned long )ch;
15721#line 846
15722 __cil_tmp5 = __cil_tmp4 + 80;
15723#line 846
15724 __cil_tmp6 = *((unsigned int *)__cil_tmp5);
15725#line 846
15726 __cil_tmp7 = __cil_tmp6 & 131072U;
15727#line 846
15728 if (__cil_tmp7 != 0U) {
15729 {
15730#line 848
15731 __cil_tmp8 = (unsigned long )ch;
15732#line 848
15733 __cil_tmp9 = __cil_tmp8 + 84;
15734#line 848
15735 return (*((enum xp_retval *)__cil_tmp9));
15736 }
15737 } else {
15738
15739 }
15740 }
15741 {
15742#line 851
15743 __cil_tmp10 = (unsigned long )ch;
15744#line 851
15745 __cil_tmp11 = __cil_tmp10 + 104;
15746#line 851
15747 __cil_tmp12 = (atomic_t *)__cil_tmp11;
15748#line 851
15749 atomic_inc(__cil_tmp12);
15750#line 852
15751 __cil_tmp13 = (unsigned long )ch;
15752#line 852
15753 __cil_tmp14 = __cil_tmp13 + 112;
15754#line 852
15755 __cil_tmp15 = (wait_queue_head_t *)__cil_tmp14;
15756#line 852
15757 tmp = interruptible_sleep_on_timeout(__cil_tmp15, 1L);
15758#line 852
15759 ret = (enum xp_retval )tmp;
15760#line 853
15761 __cil_tmp16 = (unsigned long )ch;
15762#line 853
15763 __cil_tmp17 = __cil_tmp16 + 104;
15764#line 853
15765 __cil_tmp18 = (atomic_t *)__cil_tmp17;
15766#line 853
15767 atomic_dec(__cil_tmp18);
15768 }
15769 {
15770#line 855
15771 __cil_tmp19 = (unsigned long )ch;
15772#line 855
15773 __cil_tmp20 = __cil_tmp19 + 80;
15774#line 855
15775 __cil_tmp21 = *((unsigned int *)__cil_tmp20);
15776#line 855
15777 __cil_tmp22 = __cil_tmp21 & 131072U;
15778#line 855
15779 if (__cil_tmp22 != 0U) {
15780#line 856
15781 __cil_tmp23 = (unsigned long )ch;
15782#line 856
15783 __cil_tmp24 = __cil_tmp23 + 84;
15784#line 856
15785 ret = *((enum xp_retval *)__cil_tmp24);
15786 } else {
15787 {
15788#line 858
15789 __cil_tmp25 = (unsigned int )ret;
15790#line 858
15791 if (__cil_tmp25 == 0U) {
15792#line 859
15793 ret = (enum xp_retval )9;
15794 } else {
15795#line 861
15796 ret = (enum xp_retval )10;
15797 }
15798 }
15799 }
15800 }
15801#line 864
15802 return (ret);
15803}
15804}
15805#line 886 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
15806enum xp_retval xpc_initiate_send(short partid , int ch_number , u32 flags , void *payload ,
15807 u16 payload_size )
15808{ struct xpc_partition *part ;
15809 enum xp_retval ret ;
15810 struct _ddebug descriptor ;
15811 long tmp ;
15812 int tmp___0 ;
15813 unsigned long __cil_tmp11 ;
15814 struct _ddebug *__cil_tmp12 ;
15815 unsigned long __cil_tmp13 ;
15816 unsigned long __cil_tmp14 ;
15817 unsigned long __cil_tmp15 ;
15818 unsigned long __cil_tmp16 ;
15819 unsigned long __cil_tmp17 ;
15820 unsigned long __cil_tmp18 ;
15821 unsigned char __cil_tmp19 ;
15822 long __cil_tmp20 ;
15823 long __cil_tmp21 ;
15824 struct device *__cil_tmp22 ;
15825 int __cil_tmp23 ;
15826 unsigned long __cil_tmp24 ;
15827 unsigned long __cil_tmp25 ;
15828 unsigned long __cil_tmp26 ;
15829 struct xpc_channel *__cil_tmp27 ;
15830 struct xpc_channel *__cil_tmp28 ;
15831 int __cil_tmp29 ;
15832 u16 __cil_tmp30 ;
15833 u8 __cil_tmp31 ;
15834 void (*__cil_tmp32)(enum xp_retval , short , int , void * ) ;
15835 void *__cil_tmp33 ;
15836
15837 {
15838 {
15839#line 889
15840 __cil_tmp11 = (unsigned long )partid;
15841#line 889
15842 part = xpc_partitions + __cil_tmp11;
15843#line 890
15844 ret = (enum xp_retval )63;
15845#line 892
15846 __cil_tmp12 = & descriptor;
15847#line 892
15848 *((char **)__cil_tmp12) = "xpc";
15849#line 892
15850 __cil_tmp13 = (unsigned long )(& descriptor) + 8;
15851#line 892
15852 *((char **)__cil_tmp13) = "xpc_initiate_send";
15853#line 892
15854 __cil_tmp14 = (unsigned long )(& descriptor) + 16;
15855#line 892
15856 *((char **)__cil_tmp14) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
15857#line 892
15858 __cil_tmp15 = (unsigned long )(& descriptor) + 24;
15859#line 892
15860 *((char **)__cil_tmp15) = "payload=0x%p, partid=%d, channel=%d\n";
15861#line 892
15862 __cil_tmp16 = (unsigned long )(& descriptor) + 32;
15863#line 892
15864 *((unsigned int *)__cil_tmp16) = 893U;
15865#line 892
15866 __cil_tmp17 = (unsigned long )(& descriptor) + 35;
15867#line 892
15868 *((unsigned char *)__cil_tmp17) = (unsigned char)0;
15869#line 892
15870 __cil_tmp18 = (unsigned long )(& descriptor) + 35;
15871#line 892
15872 __cil_tmp19 = *((unsigned char *)__cil_tmp18);
15873#line 892
15874 __cil_tmp20 = (long )__cil_tmp19;
15875#line 892
15876 __cil_tmp21 = __cil_tmp20 & 1L;
15877#line 892
15878 tmp = __builtin_expect(__cil_tmp21, 0L);
15879 }
15880#line 892
15881 if (tmp != 0L) {
15882 {
15883#line 892
15884 __cil_tmp22 = (struct device *)xpc_chan;
15885#line 892
15886 __cil_tmp23 = (int )partid;
15887#line 892
15888 __dynamic_dev_dbg(& descriptor, __cil_tmp22, "payload=0x%p, partid=%d, channel=%d\n",
15889 payload, __cil_tmp23, ch_number);
15890 }
15891 } else {
15892
15893 }
15894 {
15895#line 899
15896 tmp___0 = xpc_part_ref(part);
15897 }
15898#line 899
15899 if (tmp___0 != 0) {
15900 {
15901#line 900
15902 __cil_tmp24 = (unsigned long )ch_number;
15903#line 900
15904 __cil_tmp25 = (unsigned long )part;
15905#line 900
15906 __cil_tmp26 = __cil_tmp25 + 376;
15907#line 900
15908 __cil_tmp27 = *((struct xpc_channel **)__cil_tmp26);
15909#line 900
15910 __cil_tmp28 = __cil_tmp27 + __cil_tmp24;
15911#line 900
15912 __cil_tmp29 = (int )payload_size;
15913#line 900
15914 __cil_tmp30 = (u16 )__cil_tmp29;
15915#line 900
15916 __cil_tmp31 = (u8 )0;
15917#line 900
15918 __cil_tmp32 = (void (*)(enum xp_retval , short , int , void * ))0;
15919#line 900
15920 __cil_tmp33 = (void *)0;
15921#line 900
15922 ret = (*(xpc_arch_ops.send_payload))(__cil_tmp28, flags, payload, __cil_tmp30,
15923 __cil_tmp31, __cil_tmp32, __cil_tmp33);
15924#line 902
15925 xpc_part_deref(part);
15926 }
15927 } else {
15928
15929 }
15930#line 905
15931 return (ret);
15932}
15933}
15934#line 937 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
15935enum xp_retval xpc_initiate_send_notify(short partid , int ch_number , u32 flags ,
15936 void *payload , u16 payload_size , void (*func)(enum xp_retval ,
15937 short ,
15938 int ,
15939 void * ) ,
15940 void *key )
15941{ struct xpc_partition *part ;
15942 enum xp_retval ret ;
15943 struct _ddebug descriptor ;
15944 long tmp ;
15945 int tmp___0 ;
15946 unsigned long __cil_tmp13 ;
15947 struct _ddebug *__cil_tmp14 ;
15948 unsigned long __cil_tmp15 ;
15949 unsigned long __cil_tmp16 ;
15950 unsigned long __cil_tmp17 ;
15951 unsigned long __cil_tmp18 ;
15952 unsigned long __cil_tmp19 ;
15953 unsigned long __cil_tmp20 ;
15954 unsigned char __cil_tmp21 ;
15955 long __cil_tmp22 ;
15956 long __cil_tmp23 ;
15957 struct device *__cil_tmp24 ;
15958 int __cil_tmp25 ;
15959 unsigned long __cil_tmp26 ;
15960 unsigned long __cil_tmp27 ;
15961 unsigned long __cil_tmp28 ;
15962 struct xpc_channel *__cil_tmp29 ;
15963 struct xpc_channel *__cil_tmp30 ;
15964 int __cil_tmp31 ;
15965 u16 __cil_tmp32 ;
15966 u8 __cil_tmp33 ;
15967
15968 {
15969 {
15970#line 940
15971 __cil_tmp13 = (unsigned long )partid;
15972#line 940
15973 part = xpc_partitions + __cil_tmp13;
15974#line 941
15975 ret = (enum xp_retval )63;
15976#line 943
15977 __cil_tmp14 = & descriptor;
15978#line 943
15979 *((char **)__cil_tmp14) = "xpc";
15980#line 943
15981 __cil_tmp15 = (unsigned long )(& descriptor) + 8;
15982#line 943
15983 *((char **)__cil_tmp15) = "xpc_initiate_send_notify";
15984#line 943
15985 __cil_tmp16 = (unsigned long )(& descriptor) + 16;
15986#line 943
15987 *((char **)__cil_tmp16) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
15988#line 943
15989 __cil_tmp17 = (unsigned long )(& descriptor) + 24;
15990#line 943
15991 *((char **)__cil_tmp17) = "payload=0x%p, partid=%d, channel=%d\n";
15992#line 943
15993 __cil_tmp18 = (unsigned long )(& descriptor) + 32;
15994#line 943
15995 *((unsigned int *)__cil_tmp18) = 944U;
15996#line 943
15997 __cil_tmp19 = (unsigned long )(& descriptor) + 35;
15998#line 943
15999 *((unsigned char *)__cil_tmp19) = (unsigned char)0;
16000#line 943
16001 __cil_tmp20 = (unsigned long )(& descriptor) + 35;
16002#line 943
16003 __cil_tmp21 = *((unsigned char *)__cil_tmp20);
16004#line 943
16005 __cil_tmp22 = (long )__cil_tmp21;
16006#line 943
16007 __cil_tmp23 = __cil_tmp22 & 1L;
16008#line 943
16009 tmp = __builtin_expect(__cil_tmp23, 0L);
16010 }
16011#line 943
16012 if (tmp != 0L) {
16013 {
16014#line 943
16015 __cil_tmp24 = (struct device *)xpc_chan;
16016#line 943
16017 __cil_tmp25 = (int )partid;
16018#line 943
16019 __dynamic_dev_dbg(& descriptor, __cil_tmp24, "payload=0x%p, partid=%d, channel=%d\n",
16020 payload, __cil_tmp25, ch_number);
16021 }
16022 } else {
16023
16024 }
16025 {
16026#line 951
16027 tmp___0 = xpc_part_ref(part);
16028 }
16029#line 951
16030 if (tmp___0 != 0) {
16031 {
16032#line 952
16033 __cil_tmp26 = (unsigned long )ch_number;
16034#line 952
16035 __cil_tmp27 = (unsigned long )part;
16036#line 952
16037 __cil_tmp28 = __cil_tmp27 + 376;
16038#line 952
16039 __cil_tmp29 = *((struct xpc_channel **)__cil_tmp28);
16040#line 952
16041 __cil_tmp30 = __cil_tmp29 + __cil_tmp26;
16042#line 952
16043 __cil_tmp31 = (int )payload_size;
16044#line 952
16045 __cil_tmp32 = (u16 )__cil_tmp31;
16046#line 952
16047 __cil_tmp33 = (u8 )1;
16048#line 952
16049 ret = (*(xpc_arch_ops.send_payload))(__cil_tmp30, flags, payload, __cil_tmp32,
16050 __cil_tmp33, func, key);
16051#line 954
16052 xpc_part_deref(part);
16053 }
16054 } else {
16055
16056 }
16057#line 956
16058 return (ret);
16059}
16060}
16061#line 963 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
16062void xpc_deliver_payload(struct xpc_channel *ch )
16063{ void *payload ;
16064 struct _ddebug descriptor ;
16065 long tmp ;
16066 struct _ddebug descriptor___0 ;
16067 long tmp___0 ;
16068 void *__cil_tmp7 ;
16069 unsigned long __cil_tmp8 ;
16070 unsigned long __cil_tmp9 ;
16071 unsigned long __cil_tmp10 ;
16072 unsigned long __cil_tmp11 ;
16073 atomic_t *__cil_tmp12 ;
16074 void (*__cil_tmp13)(enum xp_retval , short , int , void * , void * ) ;
16075 unsigned long __cil_tmp14 ;
16076 unsigned long __cil_tmp15 ;
16077 unsigned long __cil_tmp16 ;
16078 void (*__cil_tmp17)(enum xp_retval , short , int , void * , void * ) ;
16079 unsigned long __cil_tmp18 ;
16080 struct _ddebug *__cil_tmp19 ;
16081 unsigned long __cil_tmp20 ;
16082 unsigned long __cil_tmp21 ;
16083 unsigned long __cil_tmp22 ;
16084 unsigned long __cil_tmp23 ;
16085 unsigned long __cil_tmp24 ;
16086 unsigned long __cil_tmp25 ;
16087 unsigned char __cil_tmp26 ;
16088 long __cil_tmp27 ;
16089 long __cil_tmp28 ;
16090 struct device *__cil_tmp29 ;
16091 short __cil_tmp30 ;
16092 int __cil_tmp31 ;
16093 unsigned long __cil_tmp32 ;
16094 unsigned long __cil_tmp33 ;
16095 u16 __cil_tmp34 ;
16096 int __cil_tmp35 ;
16097 unsigned long __cil_tmp36 ;
16098 unsigned long __cil_tmp37 ;
16099 void (*__cil_tmp38)(enum xp_retval , short , int , void * , void * ) ;
16100 enum xp_retval __cil_tmp39 ;
16101 short __cil_tmp40 ;
16102 int __cil_tmp41 ;
16103 short __cil_tmp42 ;
16104 unsigned long __cil_tmp43 ;
16105 unsigned long __cil_tmp44 ;
16106 u16 __cil_tmp45 ;
16107 int __cil_tmp46 ;
16108 unsigned long __cil_tmp47 ;
16109 unsigned long __cil_tmp48 ;
16110 void *__cil_tmp49 ;
16111 struct _ddebug *__cil_tmp50 ;
16112 unsigned long __cil_tmp51 ;
16113 unsigned long __cil_tmp52 ;
16114 unsigned long __cil_tmp53 ;
16115 unsigned long __cil_tmp54 ;
16116 unsigned long __cil_tmp55 ;
16117 unsigned long __cil_tmp56 ;
16118 unsigned char __cil_tmp57 ;
16119 long __cil_tmp58 ;
16120 long __cil_tmp59 ;
16121 struct device *__cil_tmp60 ;
16122 short __cil_tmp61 ;
16123 int __cil_tmp62 ;
16124 unsigned long __cil_tmp63 ;
16125 unsigned long __cil_tmp64 ;
16126 u16 __cil_tmp65 ;
16127 int __cil_tmp66 ;
16128 unsigned long __cil_tmp67 ;
16129 unsigned long __cil_tmp68 ;
16130 atomic_t *__cil_tmp69 ;
16131
16132 {
16133 {
16134#line 967
16135 payload = (*(xpc_arch_ops.get_deliverable_payload))(ch);
16136 }
16137 {
16138#line 968
16139 __cil_tmp7 = (void *)0;
16140#line 968
16141 __cil_tmp8 = (unsigned long )__cil_tmp7;
16142#line 968
16143 __cil_tmp9 = (unsigned long )payload;
16144#line 968
16145 if (__cil_tmp9 != __cil_tmp8) {
16146 {
16147#line 975
16148 xpc_msgqueue_ref(ch);
16149#line 977
16150 __cil_tmp10 = (unsigned long )ch;
16151#line 977
16152 __cil_tmp11 = __cil_tmp10 + 336;
16153#line 977
16154 __cil_tmp12 = (atomic_t *)__cil_tmp11;
16155#line 977
16156 atomic_inc(__cil_tmp12);
16157 }
16158 {
16159#line 979
16160 __cil_tmp13 = (void (*)(enum xp_retval , short , int , void * , void * ))0;
16161#line 979
16162 __cil_tmp14 = (unsigned long )__cil_tmp13;
16163#line 979
16164 __cil_tmp15 = (unsigned long )ch;
16165#line 979
16166 __cil_tmp16 = __cil_tmp15 + 208;
16167#line 979
16168 __cil_tmp17 = *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp16);
16169#line 979
16170 __cil_tmp18 = (unsigned long )__cil_tmp17;
16171#line 979
16172 if (__cil_tmp18 != __cil_tmp14) {
16173 {
16174#line 980
16175 __cil_tmp19 = & descriptor;
16176#line 980
16177 *((char **)__cil_tmp19) = "xpc";
16178#line 980
16179 __cil_tmp20 = (unsigned long )(& descriptor) + 8;
16180#line 980
16181 *((char **)__cil_tmp20) = "xpc_deliver_payload";
16182#line 980
16183 __cil_tmp21 = (unsigned long )(& descriptor) + 16;
16184#line 980
16185 *((char **)__cil_tmp21) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
16186#line 980
16187 __cil_tmp22 = (unsigned long )(& descriptor) + 24;
16188#line 980
16189 *((char **)__cil_tmp22) = "ch->func() called, payload=0x%p partid=%d channel=%d\n";
16190#line 980
16191 __cil_tmp23 = (unsigned long )(& descriptor) + 32;
16192#line 980
16193 *((unsigned int *)__cil_tmp23) = 982U;
16194#line 980
16195 __cil_tmp24 = (unsigned long )(& descriptor) + 35;
16196#line 980
16197 *((unsigned char *)__cil_tmp24) = (unsigned char)0;
16198#line 980
16199 __cil_tmp25 = (unsigned long )(& descriptor) + 35;
16200#line 980
16201 __cil_tmp26 = *((unsigned char *)__cil_tmp25);
16202#line 980
16203 __cil_tmp27 = (long )__cil_tmp26;
16204#line 980
16205 __cil_tmp28 = __cil_tmp27 & 1L;
16206#line 980
16207 tmp = __builtin_expect(__cil_tmp28, 0L);
16208 }
16209#line 980
16210 if (tmp != 0L) {
16211 {
16212#line 980
16213 __cil_tmp29 = (struct device *)xpc_chan;
16214#line 980
16215 __cil_tmp30 = *((short *)ch);
16216#line 980
16217 __cil_tmp31 = (int )__cil_tmp30;
16218#line 980
16219 __cil_tmp32 = (unsigned long )ch;
16220#line 980
16221 __cil_tmp33 = __cil_tmp32 + 92;
16222#line 980
16223 __cil_tmp34 = *((u16 *)__cil_tmp33);
16224#line 980
16225 __cil_tmp35 = (int )__cil_tmp34;
16226#line 980
16227 __dynamic_dev_dbg(& descriptor, __cil_tmp29, "ch->func() called, payload=0x%p partid=%d channel=%d\n",
16228 payload, __cil_tmp31, __cil_tmp35);
16229 }
16230 } else {
16231
16232 }
16233 {
16234#line 985
16235 __cil_tmp36 = (unsigned long )ch;
16236#line 985
16237 __cil_tmp37 = __cil_tmp36 + 208;
16238#line 985
16239 __cil_tmp38 = *((void (**)(enum xp_retval , short , int , void * , void * ))__cil_tmp37);
16240#line 985
16241 __cil_tmp39 = (enum xp_retval )4;
16242#line 985
16243 __cil_tmp40 = *((short *)ch);
16244#line 985
16245 __cil_tmp41 = (int )__cil_tmp40;
16246#line 985
16247 __cil_tmp42 = (short )__cil_tmp41;
16248#line 985
16249 __cil_tmp43 = (unsigned long )ch;
16250#line 985
16251 __cil_tmp44 = __cil_tmp43 + 92;
16252#line 985
16253 __cil_tmp45 = *((u16 *)__cil_tmp44);
16254#line 985
16255 __cil_tmp46 = (int )__cil_tmp45;
16256#line 985
16257 __cil_tmp47 = (unsigned long )ch;
16258#line 985
16259 __cil_tmp48 = __cil_tmp47 + 216;
16260#line 985
16261 __cil_tmp49 = *((void **)__cil_tmp48);
16262#line 985
16263 (*__cil_tmp38)(__cil_tmp39, __cil_tmp42, __cil_tmp46, payload, __cil_tmp49);
16264#line 988
16265 __cil_tmp50 = & descriptor___0;
16266#line 988
16267 *((char **)__cil_tmp50) = "xpc";
16268#line 988
16269 __cil_tmp51 = (unsigned long )(& descriptor___0) + 8;
16270#line 988
16271 *((char **)__cil_tmp51) = "xpc_deliver_payload";
16272#line 988
16273 __cil_tmp52 = (unsigned long )(& descriptor___0) + 16;
16274#line 988
16275 *((char **)__cil_tmp52) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p";
16276#line 988
16277 __cil_tmp53 = (unsigned long )(& descriptor___0) + 24;
16278#line 988
16279 *((char **)__cil_tmp53) = "ch->func() returned, payload=0x%p partid=%d channel=%d\n";
16280#line 988
16281 __cil_tmp54 = (unsigned long )(& descriptor___0) + 32;
16282#line 988
16283 *((unsigned int *)__cil_tmp54) = 990U;
16284#line 988
16285 __cil_tmp55 = (unsigned long )(& descriptor___0) + 35;
16286#line 988
16287 *((unsigned char *)__cil_tmp55) = (unsigned char)0;
16288#line 988
16289 __cil_tmp56 = (unsigned long )(& descriptor___0) + 35;
16290#line 988
16291 __cil_tmp57 = *((unsigned char *)__cil_tmp56);
16292#line 988
16293 __cil_tmp58 = (long )__cil_tmp57;
16294#line 988
16295 __cil_tmp59 = __cil_tmp58 & 1L;
16296#line 988
16297 tmp___0 = __builtin_expect(__cil_tmp59, 0L);
16298 }
16299#line 988
16300 if (tmp___0 != 0L) {
16301 {
16302#line 988
16303 __cil_tmp60 = (struct device *)xpc_chan;
16304#line 988
16305 __cil_tmp61 = *((short *)ch);
16306#line 988
16307 __cil_tmp62 = (int )__cil_tmp61;
16308#line 988
16309 __cil_tmp63 = (unsigned long )ch;
16310#line 988
16311 __cil_tmp64 = __cil_tmp63 + 92;
16312#line 988
16313 __cil_tmp65 = *((u16 *)__cil_tmp64);
16314#line 988
16315 __cil_tmp66 = (int )__cil_tmp65;
16316#line 988
16317 __dynamic_dev_dbg(& descriptor___0, __cil_tmp60, "ch->func() returned, payload=0x%p partid=%d channel=%d\n",
16318 payload, __cil_tmp62, __cil_tmp66);
16319 }
16320 } else {
16321
16322 }
16323 } else {
16324
16325 }
16326 }
16327 {
16328#line 993
16329 __cil_tmp67 = (unsigned long )ch;
16330#line 993
16331 __cil_tmp68 = __cil_tmp67 + 336;
16332#line 993
16333 __cil_tmp69 = (atomic_t *)__cil_tmp68;
16334#line 993
16335 atomic_dec(__cil_tmp69);
16336 }
16337 } else {
16338
16339 }
16340 }
16341#line 995
16342 return;
16343}
16344}
16345#line 1012 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_channel.c.p"
16346void xpc_initiate_received(short partid , int ch_number , void *payload )
16347{ struct xpc_partition *part ;
16348 struct xpc_channel *ch ;
16349 unsigned long __cil_tmp6 ;
16350 unsigned long __cil_tmp7 ;
16351 unsigned long __cil_tmp8 ;
16352 unsigned long __cil_tmp9 ;
16353 struct xpc_channel *__cil_tmp10 ;
16354
16355 {
16356 {
16357#line 1014
16358 __cil_tmp6 = (unsigned long )partid;
16359#line 1014
16360 part = xpc_partitions + __cil_tmp6;
16361#line 1020
16362 __cil_tmp7 = (unsigned long )ch_number;
16363#line 1020
16364 __cil_tmp8 = (unsigned long )part;
16365#line 1020
16366 __cil_tmp9 = __cil_tmp8 + 376;
16367#line 1020
16368 __cil_tmp10 = *((struct xpc_channel **)__cil_tmp9);
16369#line 1020
16370 ch = __cil_tmp10 + __cil_tmp7;
16371#line 1021
16372 (*(xpc_arch_ops.received_payload))(ch, payload);
16373#line 1024
16374 xpc_msgqueue_deref(ch);
16375 }
16376#line 1025
16377 return;
16378}
16379}
16380#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
16381extern void *memset(void * , int , size_t ) ;
16382#line 220 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
16383extern unsigned long kernel_stack ;
16384#line 222 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
16385__inline static struct thread_info *current_thread_info(void)
16386{ struct thread_info *ti ;
16387 unsigned long pfo_ret__ ;
16388 unsigned long __cil_tmp3 ;
16389
16390 {
16391#line 225
16392 if (8 == 1) {
16393#line 225
16394 goto case_1;
16395 } else
16396#line 225
16397 if (8 == 2) {
16398#line 225
16399 goto case_2;
16400 } else
16401#line 225
16402 if (8 == 4) {
16403#line 225
16404 goto case_4;
16405 } else
16406#line 225
16407 if (8 == 8) {
16408#line 225
16409 goto case_8;
16410 } else {
16411 {
16412#line 225
16413 goto switch_default;
16414#line 225
16415 if (0) {
16416 case_1:
16417#line 225
16418 __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& kernel_stack));
16419#line 225
16420 goto ldv_5830;
16421 case_2:
16422#line 225
16423 __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
16424#line 225
16425 goto ldv_5830;
16426 case_4:
16427#line 225
16428 __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
16429#line 225
16430 goto ldv_5830;
16431 case_8:
16432#line 225
16433 __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& kernel_stack));
16434#line 225
16435 goto ldv_5830;
16436 switch_default:
16437 {
16438#line 225
16439 __bad_percpu_size();
16440 }
16441 } else {
16442 switch_break: ;
16443 }
16444 }
16445 }
16446 ldv_5830:
16447#line 225
16448 __cil_tmp3 = pfo_ret__ - 8152UL;
16449#line 225
16450 ti = (struct thread_info *)__cil_tmp3;
16451#line 227
16452 return (ti);
16453}
16454}
16455#line 350 "include/linux/spinlock.h"
16456__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
16457#line 39 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/smp.h"
16458extern int cpu_number ;
16459#line 225 "include/linux/slub_def.h"
16460extern void *__kmalloc(size_t , gfp_t ) ;
16461#line 268 "include/linux/slub_def.h"
16462__inline static void *ldv_kmalloc_12(size_t size , gfp_t flags )
16463{ void *tmp___2 ;
16464
16465 {
16466 {
16467#line 283
16468 tmp___2 = __kmalloc(size, flags);
16469 }
16470#line 283
16471 return (tmp___2);
16472}
16473}
16474#line 268
16475__inline static void *kmalloc(size_t size , gfp_t flags ) ;
16476#line 353 "include/linux/slab.h"
16477__inline static void *kzalloc(size_t size , gfp_t flags ) ;
16478#line 338 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
16479extern u8 xp_region_size ;
16480#line 340
16481extern unsigned long (*xp_pa)(void * ) ;
16482#line 341
16483extern unsigned long (*xp_socket_pa)(unsigned long ) ;
16484#line 342
16485extern enum xp_retval (*xp_remote_memcpy)(unsigned long , unsigned long ,
16486 size_t ) ;
16487#line 344
16488extern int (*xp_cpu_to_nasid)(int ) ;
16489#line 900 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
16490int xpc_exiting ;
16491#line 901 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
16492int xpc_nasid_mask_nlongs ;
16493#line 902 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
16494struct xpc_rsvd_page *xpc_rsvd_page ;
16495#line 903 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
16496unsigned long *xpc_mach_nasids ;
16497#line 904 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xpc.h"
16498struct xpc_partition *xpc_partitions ;
16499#line 905
16500void *xpc_kmalloc_cacheline_aligned(size_t size , gfp_t flags , void **base ) ;
16501#line 913
16502enum xp_retval xpc_get_remote_rp(int nasid , unsigned long *discovered_nasids , struct xpc_rsvd_page *remote_rp ,
16503 unsigned long *remote_rp_pa ) ;
16504#line 43 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
16505static unsigned long *xpc_part_nasids ;
16506#line 46 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
16507static int xpc_nasid_mask_nbytes ;
16508#line 55 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
16509void *xpc_kmalloc_cacheline_aligned(size_t size , gfp_t flags , void **base )
16510{ void *__cil_tmp4 ;
16511 unsigned long __cil_tmp5 ;
16512 void *__cil_tmp6 ;
16513 unsigned long __cil_tmp7 ;
16514 void *__cil_tmp8 ;
16515 unsigned long long __cil_tmp9 ;
16516 unsigned long long __cil_tmp10 ;
16517 unsigned long long __cil_tmp11 ;
16518 void *__cil_tmp12 ;
16519 unsigned long long __cil_tmp13 ;
16520 void *__cil_tmp14 ;
16521 void *__cil_tmp15 ;
16522 size_t __cil_tmp16 ;
16523 void *__cil_tmp17 ;
16524 unsigned long __cil_tmp18 ;
16525 void *__cil_tmp19 ;
16526 unsigned long __cil_tmp20 ;
16527 void *__cil_tmp21 ;
16528 unsigned long long __cil_tmp22 ;
16529 unsigned long long __cil_tmp23 ;
16530 unsigned long long __cil_tmp24 ;
16531
16532 {
16533 {
16534#line 58
16535 *base = kmalloc(size, flags);
16536 }
16537 {
16538#line 59
16539 __cil_tmp4 = (void *)0;
16540#line 59
16541 __cil_tmp5 = (unsigned long )__cil_tmp4;
16542#line 59
16543 __cil_tmp6 = *base;
16544#line 59
16545 __cil_tmp7 = (unsigned long )__cil_tmp6;
16546#line 59
16547 if (__cil_tmp7 == __cil_tmp5) {
16548#line 60
16549 return ((void *)0);
16550 } else {
16551
16552 }
16553 }
16554 {
16555#line 62
16556 __cil_tmp8 = *base;
16557#line 62
16558 __cil_tmp9 = (unsigned long long )__cil_tmp8;
16559#line 62
16560 __cil_tmp10 = __cil_tmp9 + 63ULL;
16561#line 62
16562 __cil_tmp11 = __cil_tmp10 & 0xffffffffffffffc0ULL;
16563#line 62
16564 __cil_tmp12 = *base;
16565#line 62
16566 __cil_tmp13 = (unsigned long long )__cil_tmp12;
16567#line 62
16568 if (__cil_tmp13 == __cil_tmp11) {
16569#line 63
16570 return (*base);
16571 } else {
16572
16573 }
16574 }
16575 {
16576#line 65
16577 __cil_tmp14 = *base;
16578#line 65
16579 __cil_tmp15 = (void *)__cil_tmp14;
16580#line 65
16581 kfree(__cil_tmp15);
16582#line 68
16583 __cil_tmp16 = size + 64UL;
16584#line 68
16585 *base = kmalloc(__cil_tmp16, flags);
16586 }
16587 {
16588#line 69
16589 __cil_tmp17 = (void *)0;
16590#line 69
16591 __cil_tmp18 = (unsigned long )__cil_tmp17;
16592#line 69
16593 __cil_tmp19 = *base;
16594#line 69
16595 __cil_tmp20 = (unsigned long )__cil_tmp19;
16596#line 69
16597 if (__cil_tmp20 == __cil_tmp18) {
16598#line 70
16599 return ((void *)0);
16600 } else {
16601
16602 }
16603 }
16604 {
16605#line 72
16606 __cil_tmp21 = *base;
16607#line 72
16608 __cil_tmp22 = (unsigned long long )__cil_tmp21;
16609#line 72
16610 __cil_tmp23 = __cil_tmp22 + 63ULL;
16611#line 72
16612 __cil_tmp24 = __cil_tmp23 & 0xffffffffffffffc0ULL;
16613#line 72
16614 return ((void *)__cil_tmp24);
16615 }
16616}
16617}
16618#line 80 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
16619static unsigned long xpc_get_rsvd_page_pa(int nasid )
16620{ enum xp_retval ret ;
16621 u64 cookie ;
16622 unsigned long rp_pa ;
16623 size_t len ;
16624 size_t buf_len ;
16625 void *buf ;
16626 void *buf_base ;
16627 enum xp_retval (*get_partition_rsvd_page_pa)(void * , u64 * , unsigned long * ,
16628 size_t * ) ;
16629 struct _ddebug descriptor ;
16630 long tmp ;
16631 unsigned long tmp___0 ;
16632 struct _ddebug descriptor___0 ;
16633 long tmp___1 ;
16634 struct _ddebug descriptor___1 ;
16635 long tmp___2 ;
16636 u64 *__cil_tmp17 ;
16637 unsigned long *__cil_tmp18 ;
16638 size_t *__cil_tmp19 ;
16639 void **__cil_tmp20 ;
16640 struct _ddebug *__cil_tmp21 ;
16641 unsigned long __cil_tmp22 ;
16642 unsigned long __cil_tmp23 ;
16643 unsigned long __cil_tmp24 ;
16644 unsigned long __cil_tmp25 ;
16645 unsigned long __cil_tmp26 ;
16646 unsigned long __cil_tmp27 ;
16647 unsigned char __cil_tmp28 ;
16648 long __cil_tmp29 ;
16649 long __cil_tmp30 ;
16650 struct device *__cil_tmp31 ;
16651 unsigned int __cil_tmp32 ;
16652 u64 *__cil_tmp33 ;
16653 u64 __cil_tmp34 ;
16654 unsigned long __cil_tmp35 ;
16655 unsigned long *__cil_tmp36 ;
16656 unsigned long __cil_tmp37 ;
16657 size_t *__cil_tmp38 ;
16658 size_t __cil_tmp39 ;
16659 unsigned int __cil_tmp40 ;
16660 size_t *__cil_tmp41 ;
16661 size_t __cil_tmp42 ;
16662 void *__cil_tmp43 ;
16663 unsigned long __cil_tmp44 ;
16664 void **__cil_tmp45 ;
16665 void *__cil_tmp46 ;
16666 unsigned long __cil_tmp47 ;
16667 void **__cil_tmp48 ;
16668 void *__cil_tmp49 ;
16669 void *__cil_tmp50 ;
16670 size_t *__cil_tmp51 ;
16671 size_t __cil_tmp52 ;
16672 unsigned long __cil_tmp53 ;
16673 void *__cil_tmp54 ;
16674 unsigned long __cil_tmp55 ;
16675 void **__cil_tmp56 ;
16676 void *__cil_tmp57 ;
16677 unsigned long __cil_tmp58 ;
16678 struct device *__cil_tmp59 ;
16679 unsigned long *__cil_tmp60 ;
16680 unsigned long __cil_tmp61 ;
16681 unsigned long __cil_tmp62 ;
16682 size_t *__cil_tmp63 ;
16683 size_t __cil_tmp64 ;
16684 unsigned int __cil_tmp65 ;
16685 struct _ddebug *__cil_tmp66 ;
16686 unsigned long __cil_tmp67 ;
16687 unsigned long __cil_tmp68 ;
16688 unsigned long __cil_tmp69 ;
16689 unsigned long __cil_tmp70 ;
16690 unsigned long __cil_tmp71 ;
16691 unsigned long __cil_tmp72 ;
16692 unsigned char __cil_tmp73 ;
16693 long __cil_tmp74 ;
16694 long __cil_tmp75 ;
16695 struct device *__cil_tmp76 ;
16696 unsigned int __cil_tmp77 ;
16697 void **__cil_tmp78 ;
16698 void *__cil_tmp79 ;
16699 void *__cil_tmp80 ;
16700 unsigned int __cil_tmp81 ;
16701 unsigned long *__cil_tmp82 ;
16702 struct _ddebug *__cil_tmp83 ;
16703 unsigned long __cil_tmp84 ;
16704 unsigned long __cil_tmp85 ;
16705 unsigned long __cil_tmp86 ;
16706 unsigned long __cil_tmp87 ;
16707 unsigned long __cil_tmp88 ;
16708 unsigned long __cil_tmp89 ;
16709 unsigned char __cil_tmp90 ;
16710 long __cil_tmp91 ;
16711 long __cil_tmp92 ;
16712 struct device *__cil_tmp93 ;
16713 unsigned long *__cil_tmp94 ;
16714 unsigned long __cil_tmp95 ;
16715 unsigned long *__cil_tmp96 ;
16716
16717 {
16718#line 83
16719 __cil_tmp17 = & cookie;
16720#line 83
16721 *__cil_tmp17 = 0ULL;
16722#line 84
16723 __cil_tmp18 = & rp_pa;
16724#line 84
16725 *__cil_tmp18 = (unsigned long )nasid;
16726#line 85
16727 __cil_tmp19 = & len;
16728#line 85
16729 *__cil_tmp19 = 0UL;
16730#line 86
16731 buf_len = 0UL;
16732#line 87
16733 buf = buf;
16734#line 88
16735 __cil_tmp20 = & buf_base;
16736#line 88
16737 *__cil_tmp20 = (void *)0;
16738#line 89
16739 get_partition_rsvd_page_pa = xpc_arch_ops.get_partition_rsvd_page_pa;
16740 ldv_21077:
16741 {
16742#line 101
16743 ret = (*get_partition_rsvd_page_pa)(buf, & cookie, & rp_pa, & len);
16744#line 103
16745 __cil_tmp21 = & descriptor;
16746#line 103
16747 *((char **)__cil_tmp21) = "xpc";
16748#line 103
16749 __cil_tmp22 = (unsigned long )(& descriptor) + 8;
16750#line 103
16751 *((char **)__cil_tmp22) = "xpc_get_rsvd_page_pa";
16752#line 103
16753 __cil_tmp23 = (unsigned long )(& descriptor) + 16;
16754#line 103
16755 *((char **)__cil_tmp23) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
16756#line 103
16757 __cil_tmp24 = (unsigned long )(& descriptor) + 24;
16758#line 103
16759 *((char **)__cil_tmp24) = "SAL returned with ret=%d, cookie=0x%016lx, address=0x%016lx, len=0x%016lx\n";
16760#line 103
16761 __cil_tmp25 = (unsigned long )(& descriptor) + 32;
16762#line 103
16763 *((unsigned int *)__cil_tmp25) = 105U;
16764#line 103
16765 __cil_tmp26 = (unsigned long )(& descriptor) + 35;
16766#line 103
16767 *((unsigned char *)__cil_tmp26) = (unsigned char)0;
16768#line 103
16769 __cil_tmp27 = (unsigned long )(& descriptor) + 35;
16770#line 103
16771 __cil_tmp28 = *((unsigned char *)__cil_tmp27);
16772#line 103
16773 __cil_tmp29 = (long )__cil_tmp28;
16774#line 103
16775 __cil_tmp30 = __cil_tmp29 & 1L;
16776#line 103
16777 tmp = __builtin_expect(__cil_tmp30, 0L);
16778 }
16779#line 103
16780 if (tmp != 0L) {
16781 {
16782#line 103
16783 __cil_tmp31 = (struct device *)xpc_part;
16784#line 103
16785 __cil_tmp32 = (unsigned int )ret;
16786#line 103
16787 __cil_tmp33 = & cookie;
16788#line 103
16789 __cil_tmp34 = *__cil_tmp33;
16790#line 103
16791 __cil_tmp35 = (unsigned long )__cil_tmp34;
16792#line 103
16793 __cil_tmp36 = & rp_pa;
16794#line 103
16795 __cil_tmp37 = *__cil_tmp36;
16796#line 103
16797 __cil_tmp38 = & len;
16798#line 103
16799 __cil_tmp39 = *__cil_tmp38;
16800#line 103
16801 __dynamic_dev_dbg(& descriptor, __cil_tmp31, "SAL returned with ret=%d, cookie=0x%016lx, address=0x%016lx, len=0x%016lx\n",
16802 __cil_tmp32, __cil_tmp35, __cil_tmp37, __cil_tmp39);
16803 }
16804 } else {
16805
16806 }
16807 {
16808#line 107
16809 __cil_tmp40 = (unsigned int )ret;
16810#line 107
16811 if (__cil_tmp40 != 57U) {
16812#line 108
16813 goto ldv_21075;
16814 } else {
16815
16816 }
16817 }
16818 {
16819#line 114
16820 __cil_tmp41 = & len;
16821#line 114
16822 __cil_tmp42 = *__cil_tmp41;
16823#line 114
16824 if (__cil_tmp42 > buf_len) {
16825 {
16826#line 115
16827 __cil_tmp43 = (void *)0;
16828#line 115
16829 __cil_tmp44 = (unsigned long )__cil_tmp43;
16830#line 115
16831 __cil_tmp45 = & buf_base;
16832#line 115
16833 __cil_tmp46 = *__cil_tmp45;
16834#line 115
16835 __cil_tmp47 = (unsigned long )__cil_tmp46;
16836#line 115
16837 if (__cil_tmp47 != __cil_tmp44) {
16838 {
16839#line 116
16840 __cil_tmp48 = & buf_base;
16841#line 116
16842 __cil_tmp49 = *__cil_tmp48;
16843#line 116
16844 __cil_tmp50 = (void *)__cil_tmp49;
16845#line 116
16846 kfree(__cil_tmp50);
16847 }
16848 } else {
16849
16850 }
16851 }
16852 {
16853#line 117
16854 __cil_tmp51 = & len;
16855#line 117
16856 __cil_tmp52 = *__cil_tmp51;
16857#line 117
16858 __cil_tmp53 = __cil_tmp52 + 63UL;
16859#line 117
16860 buf_len = __cil_tmp53 & 0xffffffffffffffc0UL;
16861#line 118
16862 buf = xpc_kmalloc_cacheline_aligned(buf_len, 208U, & buf_base);
16863 }
16864 {
16865#line 120
16866 __cil_tmp54 = (void *)0;
16867#line 120
16868 __cil_tmp55 = (unsigned long )__cil_tmp54;
16869#line 120
16870 __cil_tmp56 = & buf_base;
16871#line 120
16872 __cil_tmp57 = *__cil_tmp56;
16873#line 120
16874 __cil_tmp58 = (unsigned long )__cil_tmp57;
16875#line 120
16876 if (__cil_tmp58 == __cil_tmp55) {
16877 {
16878#line 121
16879 __cil_tmp59 = (struct device *)xpc_part;
16880#line 121
16881 dev_err(__cil_tmp59, "unable to kmalloc len=0x%016lx\n", buf_len);
16882#line 123
16883 ret = (enum xp_retval )13;
16884 }
16885#line 124
16886 goto ldv_21075;
16887 } else {
16888
16889 }
16890 }
16891 } else {
16892
16893 }
16894 }
16895 {
16896#line 128
16897 tmp___0 = (*xp_pa)(buf);
16898#line 128
16899 __cil_tmp60 = & rp_pa;
16900#line 128
16901 __cil_tmp61 = *__cil_tmp60;
16902#line 128
16903 __cil_tmp62 = (unsigned long )__cil_tmp61;
16904#line 128
16905 __cil_tmp63 = & len;
16906#line 128
16907 __cil_tmp64 = *__cil_tmp63;
16908#line 128
16909 ret = (*xp_remote_memcpy)(tmp___0, __cil_tmp62, __cil_tmp64);
16910 }
16911 {
16912#line 129
16913 __cil_tmp65 = (unsigned int )ret;
16914#line 129
16915 if (__cil_tmp65 != 0U) {
16916 {
16917#line 130
16918 __cil_tmp66 = & descriptor___0;
16919#line 130
16920 *((char **)__cil_tmp66) = "xpc";
16921#line 130
16922 __cil_tmp67 = (unsigned long )(& descriptor___0) + 8;
16923#line 130
16924 *((char **)__cil_tmp67) = "xpc_get_rsvd_page_pa";
16925#line 130
16926 __cil_tmp68 = (unsigned long )(& descriptor___0) + 16;
16927#line 130
16928 *((char **)__cil_tmp68) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
16929#line 130
16930 __cil_tmp69 = (unsigned long )(& descriptor___0) + 24;
16931#line 130
16932 *((char **)__cil_tmp69) = "xp_remote_memcpy failed %d\n";
16933#line 130
16934 __cil_tmp70 = (unsigned long )(& descriptor___0) + 32;
16935#line 130
16936 *((unsigned int *)__cil_tmp70) = 130U;
16937#line 130
16938 __cil_tmp71 = (unsigned long )(& descriptor___0) + 35;
16939#line 130
16940 *((unsigned char *)__cil_tmp71) = (unsigned char)0;
16941#line 130
16942 __cil_tmp72 = (unsigned long )(& descriptor___0) + 35;
16943#line 130
16944 __cil_tmp73 = *((unsigned char *)__cil_tmp72);
16945#line 130
16946 __cil_tmp74 = (long )__cil_tmp73;
16947#line 130
16948 __cil_tmp75 = __cil_tmp74 & 1L;
16949#line 130
16950 tmp___1 = __builtin_expect(__cil_tmp75, 0L);
16951 }
16952#line 130
16953 if (tmp___1 != 0L) {
16954 {
16955#line 130
16956 __cil_tmp76 = (struct device *)xpc_part;
16957#line 130
16958 __cil_tmp77 = (unsigned int )ret;
16959#line 130
16960 __dynamic_dev_dbg(& descriptor___0, __cil_tmp76, "xp_remote_memcpy failed %d\n",
16961 __cil_tmp77);
16962 }
16963 } else {
16964
16965 }
16966#line 131
16967 goto ldv_21075;
16968 } else {
16969
16970 }
16971 }
16972#line 133
16973 goto ldv_21077;
16974 ldv_21075:
16975 {
16976#line 135
16977 __cil_tmp78 = & buf_base;
16978#line 135
16979 __cil_tmp79 = *__cil_tmp78;
16980#line 135
16981 __cil_tmp80 = (void *)__cil_tmp79;
16982#line 135
16983 kfree(__cil_tmp80);
16984 }
16985 {
16986#line 137
16987 __cil_tmp81 = (unsigned int )ret;
16988#line 137
16989 if (__cil_tmp81 != 0U) {
16990#line 138
16991 __cil_tmp82 = & rp_pa;
16992#line 138
16993 *__cil_tmp82 = 0UL;
16994 } else {
16995
16996 }
16997 }
16998 {
16999#line 140
17000 __cil_tmp83 = & descriptor___1;
17001#line 140
17002 *((char **)__cil_tmp83) = "xpc";
17003#line 140
17004 __cil_tmp84 = (unsigned long )(& descriptor___1) + 8;
17005#line 140
17006 *((char **)__cil_tmp84) = "xpc_get_rsvd_page_pa";
17007#line 140
17008 __cil_tmp85 = (unsigned long )(& descriptor___1) + 16;
17009#line 140
17010 *((char **)__cil_tmp85) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
17011#line 140
17012 __cil_tmp86 = (unsigned long )(& descriptor___1) + 24;
17013#line 140
17014 *((char **)__cil_tmp86) = "reserved page at phys address 0x%016lx\n";
17015#line 140
17016 __cil_tmp87 = (unsigned long )(& descriptor___1) + 32;
17017#line 140
17018 *((unsigned int *)__cil_tmp87) = 140U;
17019#line 140
17020 __cil_tmp88 = (unsigned long )(& descriptor___1) + 35;
17021#line 140
17022 *((unsigned char *)__cil_tmp88) = (unsigned char)0;
17023#line 140
17024 __cil_tmp89 = (unsigned long )(& descriptor___1) + 35;
17025#line 140
17026 __cil_tmp90 = *((unsigned char *)__cil_tmp89);
17027#line 140
17028 __cil_tmp91 = (long )__cil_tmp90;
17029#line 140
17030 __cil_tmp92 = __cil_tmp91 & 1L;
17031#line 140
17032 tmp___2 = __builtin_expect(__cil_tmp92, 0L);
17033 }
17034#line 140
17035 if (tmp___2 != 0L) {
17036 {
17037#line 140
17038 __cil_tmp93 = (struct device *)xpc_part;
17039#line 140
17040 __cil_tmp94 = & rp_pa;
17041#line 140
17042 __cil_tmp95 = *__cil_tmp94;
17043#line 140
17044 __dynamic_dev_dbg(& descriptor___1, __cil_tmp93, "reserved page at phys address 0x%016lx\n",
17045 __cil_tmp95);
17046 }
17047 } else {
17048
17049 }
17050 {
17051#line 141
17052 __cil_tmp96 = & rp_pa;
17053#line 141
17054 return (*__cil_tmp96);
17055 }
17056}
17057}
17058#line 150 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
17059int xpc_setup_rsvd_page(void)
17060{ int ret ;
17061 struct xpc_rsvd_page *rp ;
17062 unsigned long rp_pa ;
17063 unsigned long new_ts_jiffies ;
17064 struct thread_info *tmp ;
17065 int pfo_ret__ ;
17066 int tmp___0 ;
17067 struct thread_info *tmp___1 ;
17068 unsigned long tmp___2 ;
17069 long tmp___3 ;
17070 unsigned long __cil_tmp11 ;
17071 unsigned long __cil_tmp12 ;
17072 unsigned long __cil_tmp13 ;
17073 unsigned long __cil_tmp14 ;
17074 int __cil_tmp15 ;
17075 unsigned long __cil_tmp16 ;
17076 unsigned long __cil_tmp17 ;
17077 unsigned long __cil_tmp18 ;
17078 unsigned long __cil_tmp19 ;
17079 int __cil_tmp20 ;
17080 struct device *__cil_tmp21 ;
17081 unsigned long __cil_tmp22 ;
17082 unsigned long __cil_tmp23 ;
17083 unsigned long __cil_tmp24 ;
17084 u64 __cil_tmp25 ;
17085 unsigned long __cil_tmp26 ;
17086 unsigned long __cil_tmp27 ;
17087 unsigned long __cil_tmp28 ;
17088 unsigned long __cil_tmp29 ;
17089 short __cil_tmp30 ;
17090 int __cil_tmp31 ;
17091 int __cil_tmp32 ;
17092 int __cil_tmp33 ;
17093 unsigned long __cil_tmp34 ;
17094 unsigned long __cil_tmp35 ;
17095 short __cil_tmp36 ;
17096 int __cil_tmp37 ;
17097 int __cil_tmp38 ;
17098 long __cil_tmp39 ;
17099 unsigned long __cil_tmp40 ;
17100 unsigned long __cil_tmp41 ;
17101 short __cil_tmp42 ;
17102 int __cil_tmp43 ;
17103 struct device *__cil_tmp44 ;
17104 unsigned long __cil_tmp45 ;
17105 unsigned long __cil_tmp46 ;
17106 short __cil_tmp47 ;
17107 int __cil_tmp48 ;
17108 int __cil_tmp49 ;
17109 int __cil_tmp50 ;
17110 unsigned long __cil_tmp51 ;
17111 unsigned long __cil_tmp52 ;
17112 short __cil_tmp53 ;
17113 int __cil_tmp54 ;
17114 struct device *__cil_tmp55 ;
17115 unsigned long __cil_tmp56 ;
17116 unsigned long __cil_tmp57 ;
17117 short __cil_tmp58 ;
17118 int __cil_tmp59 ;
17119 int __cil_tmp60 ;
17120 unsigned long __cil_tmp61 ;
17121 unsigned long __cil_tmp62 ;
17122 unsigned long __cil_tmp63 ;
17123 unsigned long __cil_tmp64 ;
17124 unsigned long __cil_tmp65 ;
17125 unsigned long __cil_tmp66 ;
17126 u64 __cil_tmp67 ;
17127 unsigned long __cil_tmp68 ;
17128 unsigned long __cil_tmp69 ;
17129 unsigned long __cil_tmp70 ;
17130 unsigned long __cil_tmp71 ;
17131 u64 __cil_tmp72 ;
17132 unsigned long __cil_tmp73 ;
17133 unsigned long __cil_tmp74 ;
17134 u64 __cil_tmp75 ;
17135 unsigned long long __cil_tmp76 ;
17136 unsigned long long __cil_tmp77 ;
17137 unsigned long long __cil_tmp78 ;
17138 unsigned long long __cil_tmp79 ;
17139 unsigned long *__cil_tmp80 ;
17140 unsigned long __cil_tmp81 ;
17141 unsigned long __cil_tmp82 ;
17142 unsigned long *__cil_tmp83 ;
17143 unsigned long __cil_tmp84 ;
17144 unsigned long __cil_tmp85 ;
17145 unsigned long __cil_tmp86 ;
17146 unsigned long __cil_tmp87 ;
17147 unsigned long __cil_tmp88 ;
17148
17149 {
17150 {
17151#line 159
17152 tmp = current_thread_info();
17153#line 159
17154 __cil_tmp11 = (unsigned long )tmp;
17155#line 159
17156 __cil_tmp12 = __cil_tmp11 + 28;
17157#line 159
17158 __cil_tmp13 = (unsigned long )tmp;
17159#line 159
17160 __cil_tmp14 = __cil_tmp13 + 28;
17161#line 159
17162 __cil_tmp15 = *((int *)__cil_tmp14);
17163#line 159
17164 *((int *)__cil_tmp12) = __cil_tmp15 + 1;
17165#line 159
17166 __asm__ volatile ("": : : "memory");
17167 }
17168#line 160
17169 if (4 == 1) {
17170#line 160
17171 goto case_1;
17172 } else
17173#line 160
17174 if (4 == 2) {
17175#line 160
17176 goto case_2;
17177 } else
17178#line 160
17179 if (4 == 4) {
17180#line 160
17181 goto case_4;
17182 } else
17183#line 160
17184 if (4 == 8) {
17185#line 160
17186 goto case_8;
17187 } else {
17188 {
17189#line 160
17190 goto switch_default;
17191#line 160
17192 if (0) {
17193 case_1:
17194#line 160
17195 __asm__ ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "m" (cpu_number));
17196#line 160
17197 goto ldv_21088;
17198 case_2:
17199#line 160
17200 __asm__ ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number));
17201#line 160
17202 goto ldv_21088;
17203 case_4:
17204#line 160
17205 __asm__ ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number));
17206#line 160
17207 goto ldv_21088;
17208 case_8:
17209#line 160
17210 __asm__ ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "m" (cpu_number));
17211#line 160
17212 goto ldv_21088;
17213 switch_default:
17214 {
17215#line 160
17216 __bad_percpu_size();
17217 }
17218 } else {
17219 switch_break: ;
17220 }
17221 }
17222 }
17223 ldv_21088:
17224 {
17225#line 160
17226 tmp___0 = (*xp_cpu_to_nasid)(pfo_ret__);
17227#line 160
17228 rp_pa = xpc_get_rsvd_page_pa(tmp___0);
17229#line 161
17230 __asm__ volatile ("": : : "memory");
17231#line 161
17232 tmp___1 = current_thread_info();
17233#line 161
17234 __cil_tmp16 = (unsigned long )tmp___1;
17235#line 161
17236 __cil_tmp17 = __cil_tmp16 + 28;
17237#line 161
17238 __cil_tmp18 = (unsigned long )tmp___1;
17239#line 161
17240 __cil_tmp19 = __cil_tmp18 + 28;
17241#line 161
17242 __cil_tmp20 = *((int *)__cil_tmp19);
17243#line 161
17244 *((int *)__cil_tmp17) = __cil_tmp20 + -1;
17245#line 161
17246 __asm__ volatile ("": : : "memory");
17247 }
17248#line 162
17249 if (rp_pa == 0UL) {
17250 {
17251#line 163
17252 __cil_tmp21 = (struct device *)xpc_part;
17253#line 163
17254 dev_err(__cil_tmp21, "SAL failed to locate the reserved page\n");
17255 }
17256#line 164
17257 return (-3);
17258 } else {
17259
17260 }
17261 {
17262#line 166
17263 tmp___2 = (*xp_socket_pa)(rp_pa);
17264#line 166
17265 __cil_tmp22 = tmp___2 + 0xffff880000000000UL;
17266#line 166
17267 rp = (struct xpc_rsvd_page *)__cil_tmp22;
17268 }
17269 {
17270#line 168
17271 __cil_tmp23 = (unsigned long )rp;
17272#line 168
17273 __cil_tmp24 = __cil_tmp23 + 8;
17274#line 168
17275 __cil_tmp25 = *((u64 *)__cil_tmp24);
17276#line 168
17277 if (__cil_tmp25 <= 2ULL) {
17278#line 170
17279 __cil_tmp26 = (unsigned long )rp;
17280#line 170
17281 __cil_tmp27 = __cil_tmp26 + 16;
17282#line 170
17283 __cil_tmp28 = (unsigned long )rp;
17284#line 170
17285 __cil_tmp29 = __cil_tmp28 + 16;
17286#line 170
17287 __cil_tmp30 = *((short *)__cil_tmp29);
17288#line 170
17289 __cil_tmp31 = (int )__cil_tmp30;
17290#line 170
17291 __cil_tmp32 = __cil_tmp31 & 255;
17292#line 170
17293 *((short *)__cil_tmp27) = (short )__cil_tmp32;
17294 } else {
17295
17296 }
17297 }
17298 {
17299#line 172
17300 __cil_tmp33 = (int )xp_partition_id;
17301#line 172
17302 __cil_tmp34 = (unsigned long )rp;
17303#line 172
17304 __cil_tmp35 = __cil_tmp34 + 16;
17305#line 172
17306 __cil_tmp36 = *((short *)__cil_tmp35);
17307#line 172
17308 __cil_tmp37 = (int )__cil_tmp36;
17309#line 172
17310 __cil_tmp38 = __cil_tmp37 != __cil_tmp33;
17311#line 172
17312 __cil_tmp39 = (long )__cil_tmp38;
17313#line 172
17314 tmp___3 = __builtin_expect(__cil_tmp39, 0L);
17315 }
17316#line 172
17317 if (tmp___3 != 0L) {
17318#line 172
17319 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"),
17320 "i" (172), "i" (12UL));
17321 ldv_21094: ;
17322#line 172
17323 goto ldv_21094;
17324 } else {
17325
17326 }
17327 {
17328#line 174
17329 __cil_tmp40 = (unsigned long )rp;
17330#line 174
17331 __cil_tmp41 = __cil_tmp40 + 16;
17332#line 174
17333 __cil_tmp42 = *((short *)__cil_tmp41);
17334#line 174
17335 __cil_tmp43 = (int )__cil_tmp42;
17336#line 174
17337 if (__cil_tmp43 < 0) {
17338 {
17339#line 175
17340 __cil_tmp44 = (struct device *)xpc_part;
17341#line 175
17342 __cil_tmp45 = (unsigned long )rp;
17343#line 175
17344 __cil_tmp46 = __cil_tmp45 + 16;
17345#line 175
17346 __cil_tmp47 = *((short *)__cil_tmp46);
17347#line 175
17348 __cil_tmp48 = (int )__cil_tmp47;
17349#line 175
17350 __cil_tmp49 = (int )xp_max_npartitions;
17351#line 175
17352 dev_err(__cil_tmp44, "the reserved page\'s partid of %d is outside supported range (< 0 || >= %d)\n",
17353 __cil_tmp48, __cil_tmp49);
17354 }
17355#line 178
17356 return (-22);
17357 } else {
17358 {
17359#line 174
17360 __cil_tmp50 = (int )xp_max_npartitions;
17361#line 174
17362 __cil_tmp51 = (unsigned long )rp;
17363#line 174
17364 __cil_tmp52 = __cil_tmp51 + 16;
17365#line 174
17366 __cil_tmp53 = *((short *)__cil_tmp52);
17367#line 174
17368 __cil_tmp54 = (int )__cil_tmp53;
17369#line 174
17370 if (__cil_tmp54 >= __cil_tmp50) {
17371 {
17372#line 175
17373 __cil_tmp55 = (struct device *)xpc_part;
17374#line 175
17375 __cil_tmp56 = (unsigned long )rp;
17376#line 175
17377 __cil_tmp57 = __cil_tmp56 + 16;
17378#line 175
17379 __cil_tmp58 = *((short *)__cil_tmp57);
17380#line 175
17381 __cil_tmp59 = (int )__cil_tmp58;
17382#line 175
17383 __cil_tmp60 = (int )xp_max_npartitions;
17384#line 175
17385 dev_err(__cil_tmp55, "the reserved page\'s partid of %d is outside supported range (< 0 || >= %d)\n",
17386 __cil_tmp59, __cil_tmp60);
17387 }
17388#line 178
17389 return (-22);
17390 } else {
17391
17392 }
17393 }
17394 }
17395 }
17396#line 181
17397 __cil_tmp61 = (unsigned long )rp;
17398#line 181
17399 __cil_tmp62 = __cil_tmp61 + 20;
17400#line 181
17401 *((u8 *)__cil_tmp62) = (u8 )48U;
17402#line 182
17403 __cil_tmp63 = (unsigned long )rp;
17404#line 182
17405 __cil_tmp64 = __cil_tmp63 + 18;
17406#line 182
17407 *((short *)__cil_tmp64) = xp_max_npartitions;
17408 {
17409#line 185
17410 __cil_tmp65 = (unsigned long )rp;
17411#line 185
17412 __cil_tmp66 = __cil_tmp65 + 8;
17413#line 185
17414 __cil_tmp67 = *((u64 *)__cil_tmp66);
17415#line 185
17416 if (__cil_tmp67 == 1ULL) {
17417#line 187
17418 __cil_tmp68 = (unsigned long )rp;
17419#line 187
17420 __cil_tmp69 = __cil_tmp68 + 120;
17421#line 187
17422 *((u64 *)__cil_tmp69) = 128ULL;
17423 } else {
17424
17425 }
17426 }
17427 {
17428#line 189
17429 __cil_tmp70 = (unsigned long )rp;
17430#line 189
17431 __cil_tmp71 = __cil_tmp70 + 120;
17432#line 189
17433 __cil_tmp72 = *((u64 *)__cil_tmp71);
17434#line 189
17435 xpc_nasid_mask_nbytes = (int )__cil_tmp72;
17436#line 190
17437 __cil_tmp73 = (unsigned long )rp;
17438#line 190
17439 __cil_tmp74 = __cil_tmp73 + 120;
17440#line 190
17441 __cil_tmp75 = *((u64 *)__cil_tmp74);
17442#line 190
17443 __cil_tmp76 = __cil_tmp75 + 8ULL;
17444#line 190
17445 __cil_tmp77 = __cil_tmp76 * 8ULL;
17446#line 190
17447 __cil_tmp78 = __cil_tmp77 - 1ULL;
17448#line 190
17449 __cil_tmp79 = __cil_tmp78 / 64ULL;
17450#line 190
17451 xpc_nasid_mask_nlongs = (int )__cil_tmp79;
17452#line 194
17453 __cil_tmp80 = (unsigned long *)rp;
17454#line 194
17455 xpc_part_nasids = __cil_tmp80 + 128U;
17456#line 195
17457 __cil_tmp81 = (unsigned long )xpc_nasid_mask_nlongs;
17458#line 195
17459 __cil_tmp82 = __cil_tmp81 + 128UL;
17460#line 195
17461 __cil_tmp83 = (unsigned long *)rp;
17462#line 195
17463 xpc_mach_nasids = __cil_tmp83 + __cil_tmp82;
17464#line 197
17465 ret = (*(xpc_arch_ops.setup_rsvd_page))(rp);
17466 }
17467#line 198
17468 if (ret != 0) {
17469#line 199
17470 return (ret);
17471 } else {
17472
17473 }
17474#line 206
17475 new_ts_jiffies = (unsigned long )jiffies;
17476#line 207
17477 if (new_ts_jiffies == 0UL) {
17478#line 208
17479 new_ts_jiffies = new_ts_jiffies + 1UL;
17480 } else {
17481 {
17482#line 207
17483 __cil_tmp84 = (unsigned long )rp;
17484#line 207
17485 __cil_tmp85 = __cil_tmp84 + 24;
17486#line 207
17487 __cil_tmp86 = *((unsigned long *)__cil_tmp85);
17488#line 207
17489 if (__cil_tmp86 == new_ts_jiffies) {
17490#line 208
17491 new_ts_jiffies = new_ts_jiffies + 1UL;
17492 } else {
17493
17494 }
17495 }
17496 }
17497#line 209
17498 __cil_tmp87 = (unsigned long )rp;
17499#line 209
17500 __cil_tmp88 = __cil_tmp87 + 24;
17501#line 209
17502 *((unsigned long *)__cil_tmp88) = new_ts_jiffies;
17503#line 211
17504 xpc_rsvd_page = rp;
17505#line 212
17506 return (0);
17507}
17508}
17509#line 216 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
17510void xpc_teardown_rsvd_page(void)
17511{ unsigned long __cil_tmp1 ;
17512 unsigned long __cil_tmp2 ;
17513
17514 {
17515#line 219
17516 __cil_tmp1 = (unsigned long )xpc_rsvd_page;
17517#line 219
17518 __cil_tmp2 = __cil_tmp1 + 24;
17519#line 219
17520 *((unsigned long *)__cil_tmp2) = 0UL;
17521#line 220
17522 return;
17523}
17524}
17525#line 230 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
17526enum xp_retval xpc_get_remote_rp(int nasid , unsigned long *discovered_nasids , struct xpc_rsvd_page *remote_rp ,
17527 unsigned long *remote_rp_pa )
17528{ int l ;
17529 enum xp_retval ret ;
17530 unsigned long tmp ;
17531 unsigned long *remote_part_nasids ;
17532 unsigned long __cil_tmp9 ;
17533 void *__cil_tmp10 ;
17534 unsigned long __cil_tmp11 ;
17535 unsigned long __cil_tmp12 ;
17536 unsigned long __cil_tmp13 ;
17537 unsigned long __cil_tmp14 ;
17538 unsigned int __cil_tmp15 ;
17539 unsigned long *__cil_tmp16 ;
17540 unsigned long __cil_tmp17 ;
17541 unsigned long __cil_tmp18 ;
17542 unsigned long *__cil_tmp19 ;
17543 unsigned long __cil_tmp20 ;
17544 unsigned long *__cil_tmp21 ;
17545 unsigned long __cil_tmp22 ;
17546 unsigned long *__cil_tmp23 ;
17547 unsigned long __cil_tmp24 ;
17548 unsigned long __cil_tmp25 ;
17549 unsigned long *__cil_tmp26 ;
17550 unsigned long __cil_tmp27 ;
17551 unsigned long __cil_tmp28 ;
17552 unsigned long __cil_tmp29 ;
17553 unsigned long __cil_tmp30 ;
17554 unsigned long __cil_tmp31 ;
17555 unsigned long __cil_tmp32 ;
17556 u8 __cil_tmp33 ;
17557 int __cil_tmp34 ;
17558 int __cil_tmp35 ;
17559 unsigned int __cil_tmp36 ;
17560 unsigned long __cil_tmp37 ;
17561 unsigned long __cil_tmp38 ;
17562 short __cil_tmp39 ;
17563 int __cil_tmp40 ;
17564 int __cil_tmp41 ;
17565 unsigned long __cil_tmp42 ;
17566 unsigned long __cil_tmp43 ;
17567 short __cil_tmp44 ;
17568 int __cil_tmp45 ;
17569 int __cil_tmp46 ;
17570 unsigned long __cil_tmp47 ;
17571 unsigned long __cil_tmp48 ;
17572 short __cil_tmp49 ;
17573 int __cil_tmp50 ;
17574 int __cil_tmp51 ;
17575 unsigned long __cil_tmp52 ;
17576 unsigned long __cil_tmp53 ;
17577 short __cil_tmp54 ;
17578 int __cil_tmp55 ;
17579
17580 {
17581 {
17582#line 238
17583 *remote_rp_pa = xpc_get_rsvd_page_pa(nasid);
17584 }
17585 {
17586#line 239
17587 __cil_tmp9 = *remote_rp_pa;
17588#line 239
17589 if (__cil_tmp9 == 0UL) {
17590#line 240
17591 return ((enum xp_retval )41);
17592 } else {
17593
17594 }
17595 }
17596 {
17597#line 243
17598 __cil_tmp10 = (void *)remote_rp;
17599#line 243
17600 tmp = (*xp_pa)(__cil_tmp10);
17601#line 243
17602 __cil_tmp11 = *remote_rp_pa;
17603#line 243
17604 __cil_tmp12 = (unsigned long )__cil_tmp11;
17605#line 243
17606 __cil_tmp13 = (unsigned long )xpc_nasid_mask_nbytes;
17607#line 243
17608 __cil_tmp14 = __cil_tmp13 + 128UL;
17609#line 243
17610 ret = (*xp_remote_memcpy)(tmp, __cil_tmp12, __cil_tmp14);
17611 }
17612 {
17613#line 245
17614 __cil_tmp15 = (unsigned int )ret;
17615#line 245
17616 if (__cil_tmp15 != 0U) {
17617#line 246
17618 return (ret);
17619 } else {
17620
17621 }
17622 }
17623 {
17624#line 248
17625 __cil_tmp16 = (unsigned long *)0;
17626#line 248
17627 __cil_tmp17 = (unsigned long )__cil_tmp16;
17628#line 248
17629 __cil_tmp18 = (unsigned long )discovered_nasids;
17630#line 248
17631 if (__cil_tmp18 != __cil_tmp17) {
17632#line 249
17633 __cil_tmp19 = (unsigned long *)remote_rp;
17634#line 249
17635 remote_part_nasids = __cil_tmp19 + 128U;
17636#line 252
17637 l = 0;
17638#line 252
17639 goto ldv_21108;
17640 ldv_21107:
17641#line 253
17642 __cil_tmp20 = (unsigned long )l;
17643#line 253
17644 __cil_tmp21 = discovered_nasids + __cil_tmp20;
17645#line 253
17646 __cil_tmp22 = (unsigned long )l;
17647#line 253
17648 __cil_tmp23 = remote_part_nasids + __cil_tmp22;
17649#line 253
17650 __cil_tmp24 = *__cil_tmp23;
17651#line 253
17652 __cil_tmp25 = (unsigned long )l;
17653#line 253
17654 __cil_tmp26 = discovered_nasids + __cil_tmp25;
17655#line 253
17656 __cil_tmp27 = *__cil_tmp26;
17657#line 253
17658 *__cil_tmp21 = __cil_tmp27 | __cil_tmp24;
17659#line 252
17660 l = l + 1;
17661 ldv_21108: ;
17662#line 252
17663 if (l < xpc_nasid_mask_nlongs) {
17664#line 253
17665 goto ldv_21107;
17666 } else {
17667#line 255
17668 goto ldv_21109;
17669 }
17670 ldv_21109: ;
17671 } else {
17672
17673 }
17674 }
17675 {
17676#line 257
17677 __cil_tmp28 = (unsigned long )remote_rp;
17678#line 257
17679 __cil_tmp29 = __cil_tmp28 + 24;
17680#line 257
17681 __cil_tmp30 = *((unsigned long *)__cil_tmp29);
17682#line 257
17683 if (__cil_tmp30 == 0UL) {
17684#line 258
17685 return ((enum xp_retval )54);
17686 } else {
17687
17688 }
17689 }
17690 {
17691#line 260
17692 __cil_tmp31 = (unsigned long )remote_rp;
17693#line 260
17694 __cil_tmp32 = __cil_tmp31 + 20;
17695#line 260
17696 __cil_tmp33 = *((u8 *)__cil_tmp32);
17697#line 260
17698 __cil_tmp34 = (int )__cil_tmp33;
17699#line 260
17700 __cil_tmp35 = __cil_tmp34 >> 4;
17701#line 260
17702 __cil_tmp36 = (unsigned int )__cil_tmp35;
17703#line 260
17704 if (__cil_tmp36 != 3U) {
17705#line 262
17706 return ((enum xp_retval )39);
17707 } else {
17708
17709 }
17710 }
17711 {
17712#line 266
17713 __cil_tmp37 = (unsigned long )remote_rp;
17714#line 266
17715 __cil_tmp38 = __cil_tmp37 + 16;
17716#line 266
17717 __cil_tmp39 = *((short *)__cil_tmp38);
17718#line 266
17719 __cil_tmp40 = (int )__cil_tmp39;
17720#line 266
17721 if (__cil_tmp40 < 0) {
17722#line 269
17723 return ((enum xp_retval )42);
17724 } else {
17725 {
17726#line 266
17727 __cil_tmp41 = (int )xp_max_npartitions;
17728#line 266
17729 __cil_tmp42 = (unsigned long )remote_rp;
17730#line 266
17731 __cil_tmp43 = __cil_tmp42 + 16;
17732#line 266
17733 __cil_tmp44 = *((short *)__cil_tmp43);
17734#line 266
17735 __cil_tmp45 = (int )__cil_tmp44;
17736#line 266
17737 if (__cil_tmp45 >= __cil_tmp41) {
17738#line 269
17739 return ((enum xp_retval )42);
17740 } else {
17741 {
17742#line 266
17743 __cil_tmp46 = (int )xp_partition_id;
17744#line 266
17745 __cil_tmp47 = (unsigned long )remote_rp;
17746#line 266
17747 __cil_tmp48 = __cil_tmp47 + 18;
17748#line 266
17749 __cil_tmp49 = *((short *)__cil_tmp48);
17750#line 266
17751 __cil_tmp50 = (int )__cil_tmp49;
17752#line 266
17753 if (__cil_tmp50 <= __cil_tmp46) {
17754#line 269
17755 return ((enum xp_retval )42);
17756 } else {
17757
17758 }
17759 }
17760 }
17761 }
17762 }
17763 }
17764 {
17765#line 272
17766 __cil_tmp51 = (int )xp_partition_id;
17767#line 272
17768 __cil_tmp52 = (unsigned long )remote_rp;
17769#line 272
17770 __cil_tmp53 = __cil_tmp52 + 16;
17771#line 272
17772 __cil_tmp54 = *((short *)__cil_tmp53);
17773#line 272
17774 __cil_tmp55 = (int )__cil_tmp54;
17775#line 272
17776 if (__cil_tmp55 == __cil_tmp51) {
17777#line 273
17778 return ((enum xp_retval )43);
17779 } else {
17780
17781 }
17782 }
17783#line 275
17784 return ((enum xp_retval )0);
17785}
17786}
17787#line 284 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
17788int xpc_partition_disengaged(struct xpc_partition *part )
17789{ short partid ;
17790 int disengaged ;
17791 int tmp ;
17792 struct thread_info *tmp___0 ;
17793 long __cil_tmp10 ;
17794 long __cil_tmp11 ;
17795 long __cil_tmp12 ;
17796 long __cil_tmp13 ;
17797 int __cil_tmp14 ;
17798 short __cil_tmp15 ;
17799 unsigned long __cil_tmp16 ;
17800 unsigned long __cil_tmp17 ;
17801 unsigned long __cil_tmp18 ;
17802 unsigned long __cil_tmp19 ;
17803 unsigned long __cil_tmp20 ;
17804 unsigned long __cil_tmp21 ;
17805 long __cil_tmp22 ;
17806 long __cil_tmp23 ;
17807 long __cil_tmp24 ;
17808 struct device *__cil_tmp25 ;
17809 int __cil_tmp26 ;
17810 int __cil_tmp27 ;
17811 short __cil_tmp28 ;
17812 unsigned long __cil_tmp29 ;
17813 unsigned long __cil_tmp30 ;
17814 unsigned long __cil_tmp31 ;
17815 unsigned long __cil_tmp32 ;
17816 int __cil_tmp33 ;
17817 unsigned long __cil_tmp34 ;
17818 unsigned long __cil_tmp35 ;
17819 unsigned long __cil_tmp36 ;
17820 unsigned long __cil_tmp37 ;
17821 struct timer_list *__cil_tmp38 ;
17822 unsigned long __cil_tmp39 ;
17823 unsigned long __cil_tmp40 ;
17824 u8 __cil_tmp41 ;
17825 unsigned int __cil_tmp42 ;
17826
17827 {
17828 {
17829#line 286
17830 __cil_tmp10 = (long )xpc_partitions;
17831#line 286
17832 __cil_tmp11 = (long )part;
17833#line 286
17834 __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
17835#line 286
17836 __cil_tmp13 = __cil_tmp12 / 896L;
17837#line 286
17838 partid = (short )__cil_tmp13;
17839#line 289
17840 __cil_tmp14 = (int )partid;
17841#line 289
17842 __cil_tmp15 = (short )__cil_tmp14;
17843#line 289
17844 tmp = (*(xpc_arch_ops.partition_engaged))(__cil_tmp15);
17845#line 289
17846 disengaged = tmp == 0;
17847 }
17848 {
17849#line 290
17850 __cil_tmp16 = (unsigned long )part;
17851#line 290
17852 __cil_tmp17 = __cil_tmp16 + 128;
17853#line 290
17854 __cil_tmp18 = *((unsigned long *)__cil_tmp17);
17855#line 290
17856 if (__cil_tmp18 != 0UL) {
17857#line 291
17858 if (disengaged == 0) {
17859 {
17860#line 292
17861 __cil_tmp19 = (unsigned long )part;
17862#line 292
17863 __cil_tmp20 = __cil_tmp19 + 128;
17864#line 292
17865 __cil_tmp21 = *((unsigned long *)__cil_tmp20);
17866#line 292
17867 __cil_tmp22 = (long )__cil_tmp21;
17868#line 292
17869 __cil_tmp23 = (long )jiffies;
17870#line 292
17871 __cil_tmp24 = __cil_tmp23 - __cil_tmp22;
17872#line 292
17873 if (__cil_tmp24 < 0L) {
17874#line 294
17875 return (0);
17876 } else {
17877
17878 }
17879 }
17880 {
17881#line 302
17882 __cil_tmp25 = (struct device *)xpc_part;
17883#line 302
17884 __cil_tmp26 = (int )partid;
17885#line 302
17886 _dev_info(__cil_tmp25, "deactivate request to remote partition %d timed out\n",
17887 __cil_tmp26);
17888#line 304
17889 xpc_disengage_timedout = 1;
17890#line 305
17891 __cil_tmp27 = (int )partid;
17892#line 305
17893 __cil_tmp28 = (short )__cil_tmp27;
17894#line 305
17895 (*(xpc_arch_ops.assume_partition_disengaged))(__cil_tmp28);
17896#line 306
17897 disengaged = 1;
17898 }
17899 } else {
17900
17901 }
17902 {
17903#line 308
17904 __cil_tmp29 = (unsigned long )part;
17905#line 308
17906 __cil_tmp30 = __cil_tmp29 + 128;
17907#line 308
17908 *((unsigned long *)__cil_tmp30) = 0UL;
17909#line 311
17910 tmp___0 = current_thread_info();
17911 }
17912 {
17913#line 311
17914 __cil_tmp31 = (unsigned long )tmp___0;
17915#line 311
17916 __cil_tmp32 = __cil_tmp31 + 28;
17917#line 311
17918 __cil_tmp33 = *((int *)__cil_tmp32);
17919#line 311
17920 __cil_tmp34 = (unsigned long )__cil_tmp33;
17921#line 311
17922 __cil_tmp35 = __cil_tmp34 & 134217472UL;
17923#line 311
17924 if (__cil_tmp35 == 0UL) {
17925 {
17926#line 312
17927 __cil_tmp36 = (unsigned long )part;
17928#line 312
17929 __cil_tmp37 = __cil_tmp36 + 136;
17930#line 312
17931 __cil_tmp38 = (struct timer_list *)__cil_tmp37;
17932#line 312
17933 del_timer_sync(__cil_tmp38);
17934 }
17935 } else {
17936
17937 }
17938 }
17939 {
17940#line 316
17941 __cil_tmp39 = (unsigned long )part;
17942#line 316
17943 __cil_tmp40 = __cil_tmp39 + 112;
17944#line 316
17945 __cil_tmp41 = *((u8 *)__cil_tmp40);
17946#line 316
17947 __cil_tmp42 = (unsigned int )__cil_tmp41;
17948#line 316
17949 if (__cil_tmp42 != 0U) {
17950 {
17951#line 317
17952 xpc_wakeup_channel_mgr(part);
17953 }
17954 } else {
17955
17956 }
17957 }
17958 {
17959#line 319
17960 (*(xpc_arch_ops.cancel_partition_deactivation_request))(part);
17961 }
17962 } else {
17963
17964 }
17965 }
17966#line 321
17967 return (disengaged);
17968}
17969}
17970#line 328 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
17971enum xp_retval xpc_mark_partition_active(struct xpc_partition *part )
17972{ unsigned long irq_flags ;
17973 enum xp_retval ret ;
17974 struct _ddebug descriptor ;
17975 long tmp ;
17976 struct _ddebug *__cil_tmp6 ;
17977 unsigned long __cil_tmp7 ;
17978 unsigned long __cil_tmp8 ;
17979 unsigned long __cil_tmp9 ;
17980 unsigned long __cil_tmp10 ;
17981 unsigned long __cil_tmp11 ;
17982 unsigned long __cil_tmp12 ;
17983 unsigned char __cil_tmp13 ;
17984 long __cil_tmp14 ;
17985 long __cil_tmp15 ;
17986 struct device *__cil_tmp16 ;
17987 long __cil_tmp17 ;
17988 long __cil_tmp18 ;
17989 long __cil_tmp19 ;
17990 long __cil_tmp20 ;
17991 short __cil_tmp21 ;
17992 int __cil_tmp22 ;
17993 unsigned long __cil_tmp23 ;
17994 unsigned long __cil_tmp24 ;
17995 u8 __cil_tmp25 ;
17996 unsigned int __cil_tmp26 ;
17997 unsigned long __cil_tmp27 ;
17998 unsigned long __cil_tmp28 ;
17999 unsigned long __cil_tmp29 ;
18000 unsigned long __cil_tmp30 ;
18001 unsigned long __cil_tmp31 ;
18002 unsigned long __cil_tmp32 ;
18003 spinlock_t *__cil_tmp33 ;
18004
18005 {
18006 {
18007#line 333
18008 __cil_tmp6 = & descriptor;
18009#line 333
18010 *((char **)__cil_tmp6) = "xpc";
18011#line 333
18012 __cil_tmp7 = (unsigned long )(& descriptor) + 8;
18013#line 333
18014 *((char **)__cil_tmp7) = "xpc_mark_partition_active";
18015#line 333
18016 __cil_tmp8 = (unsigned long )(& descriptor) + 16;
18017#line 333
18018 *((char **)__cil_tmp8) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
18019#line 333
18020 __cil_tmp9 = (unsigned long )(& descriptor) + 24;
18021#line 333
18022 *((char **)__cil_tmp9) = "setting partition %d to ACTIVE\n";
18023#line 333
18024 __cil_tmp10 = (unsigned long )(& descriptor) + 32;
18025#line 333
18026 *((unsigned int *)__cil_tmp10) = 333U;
18027#line 333
18028 __cil_tmp11 = (unsigned long )(& descriptor) + 35;
18029#line 333
18030 *((unsigned char *)__cil_tmp11) = (unsigned char)0;
18031#line 333
18032 __cil_tmp12 = (unsigned long )(& descriptor) + 35;
18033#line 333
18034 __cil_tmp13 = *((unsigned char *)__cil_tmp12);
18035#line 333
18036 __cil_tmp14 = (long )__cil_tmp13;
18037#line 333
18038 __cil_tmp15 = __cil_tmp14 & 1L;
18039#line 333
18040 tmp = __builtin_expect(__cil_tmp15, 0L);
18041 }
18042#line 333
18043 if (tmp != 0L) {
18044 {
18045#line 333
18046 __cil_tmp16 = (struct device *)xpc_part;
18047#line 333
18048 __cil_tmp17 = (long )xpc_partitions;
18049#line 333
18050 __cil_tmp18 = (long )part;
18051#line 333
18052 __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
18053#line 333
18054 __cil_tmp20 = __cil_tmp19 / 896L;
18055#line 333
18056 __cil_tmp21 = (short )__cil_tmp20;
18057#line 333
18058 __cil_tmp22 = (int )__cil_tmp21;
18059#line 333
18060 __dynamic_dev_dbg(& descriptor, __cil_tmp16, "setting partition %d to ACTIVE\n",
18061 __cil_tmp22);
18062 }
18063 } else {
18064
18065 }
18066 {
18067#line 335
18068 ldv_spin_lock();
18069 }
18070 {
18071#line 336
18072 __cil_tmp23 = (unsigned long )part;
18073#line 336
18074 __cil_tmp24 = __cil_tmp23 + 112;
18075#line 336
18076 __cil_tmp25 = *((u8 *)__cil_tmp24);
18077#line 336
18078 __cil_tmp26 = (unsigned int )__cil_tmp25;
18079#line 336
18080 if (__cil_tmp26 == 2U) {
18081#line 337
18082 __cil_tmp27 = (unsigned long )part;
18083#line 337
18084 __cil_tmp28 = __cil_tmp27 + 112;
18085#line 337
18086 *((u8 *)__cil_tmp28) = (u8 )3U;
18087#line 338
18088 ret = (enum xp_retval )0;
18089 } else {
18090#line 341
18091 __cil_tmp29 = (unsigned long )part;
18092#line 341
18093 __cil_tmp30 = __cil_tmp29 + 116;
18094#line 341
18095 ret = *((enum xp_retval *)__cil_tmp30);
18096 }
18097 }
18098 {
18099#line 343
18100 __cil_tmp31 = (unsigned long )part;
18101#line 343
18102 __cil_tmp32 = __cil_tmp31 + 40;
18103#line 343
18104 __cil_tmp33 = (spinlock_t *)__cil_tmp32;
18105#line 343
18106 spin_unlock_irqrestore(__cil_tmp33, irq_flags);
18107 }
18108#line 345
18109 return (ret);
18110}
18111}
18112#line 352 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
18113void xpc_deactivate_partition(int line , struct xpc_partition *part , enum xp_retval reason )
18114{ unsigned long irq_flags ;
18115 struct _ddebug descriptor ;
18116 long tmp ;
18117 unsigned long __cil_tmp7 ;
18118 unsigned long __cil_tmp8 ;
18119 u8 __cil_tmp9 ;
18120 unsigned int __cil_tmp10 ;
18121 unsigned long __cil_tmp11 ;
18122 unsigned long __cil_tmp12 ;
18123 unsigned long __cil_tmp13 ;
18124 unsigned long __cil_tmp14 ;
18125 unsigned long __cil_tmp15 ;
18126 unsigned long __cil_tmp16 ;
18127 spinlock_t *__cil_tmp17 ;
18128 unsigned int __cil_tmp18 ;
18129 unsigned long __cil_tmp19 ;
18130 unsigned long __cil_tmp20 ;
18131 u8 __cil_tmp21 ;
18132 unsigned int __cil_tmp22 ;
18133 unsigned long __cil_tmp23 ;
18134 unsigned long __cil_tmp24 ;
18135 enum xp_retval __cil_tmp25 ;
18136 unsigned int __cil_tmp26 ;
18137 unsigned int __cil_tmp27 ;
18138 unsigned long __cil_tmp28 ;
18139 unsigned long __cil_tmp29 ;
18140 unsigned long __cil_tmp30 ;
18141 unsigned long __cil_tmp31 ;
18142 unsigned int __cil_tmp32 ;
18143 unsigned long __cil_tmp33 ;
18144 unsigned long __cil_tmp34 ;
18145 unsigned long __cil_tmp35 ;
18146 unsigned long __cil_tmp36 ;
18147 unsigned long __cil_tmp37 ;
18148 unsigned long __cil_tmp38 ;
18149 spinlock_t *__cil_tmp39 ;
18150 unsigned long __cil_tmp40 ;
18151 unsigned long __cil_tmp41 ;
18152 unsigned long __cil_tmp42 ;
18153 unsigned long __cil_tmp43 ;
18154 unsigned long __cil_tmp44 ;
18155 unsigned long __cil_tmp45 ;
18156 unsigned long __cil_tmp46 ;
18157 unsigned long __cil_tmp47 ;
18158 spinlock_t *__cil_tmp48 ;
18159 unsigned long __cil_tmp49 ;
18160 unsigned long __cil_tmp50 ;
18161 unsigned long __cil_tmp51 ;
18162 int *__cil_tmp52 ;
18163 int __cil_tmp53 ;
18164 int __cil_tmp54 ;
18165 unsigned long __cil_tmp55 ;
18166 unsigned long __cil_tmp56 ;
18167 unsigned long __cil_tmp57 ;
18168 unsigned long __cil_tmp58 ;
18169 unsigned long __cil_tmp59 ;
18170 unsigned long __cil_tmp60 ;
18171 unsigned long __cil_tmp61 ;
18172 unsigned long __cil_tmp62 ;
18173 struct timer_list *__cil_tmp63 ;
18174 struct _ddebug *__cil_tmp64 ;
18175 unsigned long __cil_tmp65 ;
18176 unsigned long __cil_tmp66 ;
18177 unsigned long __cil_tmp67 ;
18178 unsigned long __cil_tmp68 ;
18179 unsigned long __cil_tmp69 ;
18180 unsigned long __cil_tmp70 ;
18181 unsigned char __cil_tmp71 ;
18182 long __cil_tmp72 ;
18183 long __cil_tmp73 ;
18184 struct device *__cil_tmp74 ;
18185 long __cil_tmp75 ;
18186 long __cil_tmp76 ;
18187 long __cil_tmp77 ;
18188 long __cil_tmp78 ;
18189 short __cil_tmp79 ;
18190 int __cil_tmp80 ;
18191 unsigned int __cil_tmp81 ;
18192
18193 {
18194 {
18195#line 357
18196 ldv_spin_lock();
18197 }
18198 {
18199#line 359
18200 __cil_tmp7 = (unsigned long )part;
18201#line 359
18202 __cil_tmp8 = __cil_tmp7 + 112;
18203#line 359
18204 __cil_tmp9 = *((u8 *)__cil_tmp8);
18205#line 359
18206 __cil_tmp10 = (unsigned int )__cil_tmp9;
18207#line 359
18208 if (__cil_tmp10 == 0U) {
18209 {
18210#line 360
18211 __cil_tmp11 = (unsigned long )part;
18212#line 360
18213 __cil_tmp12 = __cil_tmp11 + 116;
18214#line 360
18215 *((enum xp_retval *)__cil_tmp12) = reason;
18216#line 360
18217 __cil_tmp13 = (unsigned long )part;
18218#line 360
18219 __cil_tmp14 = __cil_tmp13 + 120;
18220#line 360
18221 *((int *)__cil_tmp14) = (int )line;
18222#line 361
18223 __cil_tmp15 = (unsigned long )part;
18224#line 361
18225 __cil_tmp16 = __cil_tmp15 + 40;
18226#line 361
18227 __cil_tmp17 = (spinlock_t *)__cil_tmp16;
18228#line 361
18229 spin_unlock_irqrestore(__cil_tmp17, irq_flags);
18230 }
18231 {
18232#line 362
18233 __cil_tmp18 = (unsigned int )reason;
18234#line 362
18235 if (__cil_tmp18 == 21U) {
18236 {
18237#line 364
18238 (*(xpc_arch_ops.request_partition_reactivation))(part);
18239 }
18240 } else {
18241
18242 }
18243 }
18244#line 366
18245 return;
18246 } else {
18247
18248 }
18249 }
18250 {
18251#line 368
18252 __cil_tmp19 = (unsigned long )part;
18253#line 368
18254 __cil_tmp20 = __cil_tmp19 + 112;
18255#line 368
18256 __cil_tmp21 = *((u8 *)__cil_tmp20);
18257#line 368
18258 __cil_tmp22 = (unsigned int )__cil_tmp21;
18259#line 368
18260 if (__cil_tmp22 == 4U) {
18261 {
18262#line 369
18263 __cil_tmp23 = (unsigned long )part;
18264#line 369
18265 __cil_tmp24 = __cil_tmp23 + 116;
18266#line 369
18267 __cil_tmp25 = *((enum xp_retval *)__cil_tmp24);
18268#line 369
18269 __cil_tmp26 = (unsigned int )__cil_tmp25;
18270#line 369
18271 if (__cil_tmp26 == 19U) {
18272 {
18273#line 369
18274 __cil_tmp27 = (unsigned int )reason;
18275#line 369
18276 if (__cil_tmp27 != 19U) {
18277#line 371
18278 __cil_tmp28 = (unsigned long )part;
18279#line 371
18280 __cil_tmp29 = __cil_tmp28 + 116;
18281#line 371
18282 *((enum xp_retval *)__cil_tmp29) = reason;
18283#line 371
18284 __cil_tmp30 = (unsigned long )part;
18285#line 371
18286 __cil_tmp31 = __cil_tmp30 + 120;
18287#line 371
18288 *((int *)__cil_tmp31) = (int )line;
18289 } else {
18290#line 369
18291 goto _L;
18292 }
18293 }
18294 } else {
18295 _L:
18296 {
18297#line 369
18298 __cil_tmp32 = (unsigned int )reason;
18299#line 369
18300 if (__cil_tmp32 == 21U) {
18301#line 371
18302 __cil_tmp33 = (unsigned long )part;
18303#line 371
18304 __cil_tmp34 = __cil_tmp33 + 116;
18305#line 371
18306 *((enum xp_retval *)__cil_tmp34) = reason;
18307#line 371
18308 __cil_tmp35 = (unsigned long )part;
18309#line 371
18310 __cil_tmp36 = __cil_tmp35 + 120;
18311#line 371
18312 *((int *)__cil_tmp36) = (int )line;
18313 } else {
18314
18315 }
18316 }
18317 }
18318 }
18319 {
18320#line 373
18321 __cil_tmp37 = (unsigned long )part;
18322#line 373
18323 __cil_tmp38 = __cil_tmp37 + 40;
18324#line 373
18325 __cil_tmp39 = (spinlock_t *)__cil_tmp38;
18326#line 373
18327 spin_unlock_irqrestore(__cil_tmp39, irq_flags);
18328 }
18329#line 374
18330 return;
18331 } else {
18332
18333 }
18334 }
18335 {
18336#line 377
18337 __cil_tmp40 = (unsigned long )part;
18338#line 377
18339 __cil_tmp41 = __cil_tmp40 + 112;
18340#line 377
18341 *((u8 *)__cil_tmp41) = (u8 )4U;
18342#line 378
18343 __cil_tmp42 = (unsigned long )part;
18344#line 378
18345 __cil_tmp43 = __cil_tmp42 + 116;
18346#line 378
18347 *((enum xp_retval *)__cil_tmp43) = reason;
18348#line 378
18349 __cil_tmp44 = (unsigned long )part;
18350#line 378
18351 __cil_tmp45 = __cil_tmp44 + 120;
18352#line 378
18353 *((int *)__cil_tmp45) = (int )line;
18354#line 380
18355 __cil_tmp46 = (unsigned long )part;
18356#line 380
18357 __cil_tmp47 = __cil_tmp46 + 40;
18358#line 380
18359 __cil_tmp48 = (spinlock_t *)__cil_tmp47;
18360#line 380
18361 spin_unlock_irqrestore(__cil_tmp48, irq_flags);
18362#line 383
18363 (*(xpc_arch_ops.request_partition_deactivation))(part);
18364#line 386
18365 __cil_tmp49 = (unsigned long )part;
18366#line 386
18367 __cil_tmp50 = __cil_tmp49 + 128;
18368#line 386
18369 __cil_tmp51 = (unsigned long )jiffies;
18370#line 386
18371 __cil_tmp52 = & xpc_disengage_timelimit;
18372#line 386
18373 __cil_tmp53 = *__cil_tmp52;
18374#line 386
18375 __cil_tmp54 = __cil_tmp53 * 250;
18376#line 386
18377 __cil_tmp55 = (unsigned long )__cil_tmp54;
18378#line 386
18379 *((unsigned long *)__cil_tmp50) = __cil_tmp55 + __cil_tmp51;
18380#line 387
18381 __cil_tmp56 = 136 + 16;
18382#line 387
18383 __cil_tmp57 = (unsigned long )part;
18384#line 387
18385 __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
18386#line 387
18387 __cil_tmp59 = (unsigned long )part;
18388#line 387
18389 __cil_tmp60 = __cil_tmp59 + 128;
18390#line 387
18391 *((unsigned long *)__cil_tmp58) = *((unsigned long *)__cil_tmp60);
18392#line 388
18393 __cil_tmp61 = (unsigned long )part;
18394#line 388
18395 __cil_tmp62 = __cil_tmp61 + 136;
18396#line 388
18397 __cil_tmp63 = (struct timer_list *)__cil_tmp62;
18398#line 388
18399 add_timer(__cil_tmp63);
18400#line 390
18401 __cil_tmp64 = & descriptor;
18402#line 390
18403 *((char **)__cil_tmp64) = "xpc";
18404#line 390
18405 __cil_tmp65 = (unsigned long )(& descriptor) + 8;
18406#line 390
18407 *((char **)__cil_tmp65) = "xpc_deactivate_partition";
18408#line 390
18409 __cil_tmp66 = (unsigned long )(& descriptor) + 16;
18410#line 390
18411 *((char **)__cil_tmp66) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
18412#line 390
18413 __cil_tmp67 = (unsigned long )(& descriptor) + 24;
18414#line 390
18415 *((char **)__cil_tmp67) = "bringing partition %d down, reason = %d\n";
18416#line 390
18417 __cil_tmp68 = (unsigned long )(& descriptor) + 32;
18418#line 390
18419 *((unsigned int *)__cil_tmp68) = 391U;
18420#line 390
18421 __cil_tmp69 = (unsigned long )(& descriptor) + 35;
18422#line 390
18423 *((unsigned char *)__cil_tmp69) = (unsigned char)0;
18424#line 390
18425 __cil_tmp70 = (unsigned long )(& descriptor) + 35;
18426#line 390
18427 __cil_tmp71 = *((unsigned char *)__cil_tmp70);
18428#line 390
18429 __cil_tmp72 = (long )__cil_tmp71;
18430#line 390
18431 __cil_tmp73 = __cil_tmp72 & 1L;
18432#line 390
18433 tmp = __builtin_expect(__cil_tmp73, 0L);
18434 }
18435#line 390
18436 if (tmp != 0L) {
18437 {
18438#line 390
18439 __cil_tmp74 = (struct device *)xpc_part;
18440#line 390
18441 __cil_tmp75 = (long )xpc_partitions;
18442#line 390
18443 __cil_tmp76 = (long )part;
18444#line 390
18445 __cil_tmp77 = __cil_tmp76 - __cil_tmp75;
18446#line 390
18447 __cil_tmp78 = __cil_tmp77 / 896L;
18448#line 390
18449 __cil_tmp79 = (short )__cil_tmp78;
18450#line 390
18451 __cil_tmp80 = (int )__cil_tmp79;
18452#line 390
18453 __cil_tmp81 = (unsigned int )reason;
18454#line 390
18455 __dynamic_dev_dbg(& descriptor, __cil_tmp74, "bringing partition %d down, reason = %d\n",
18456 __cil_tmp80, __cil_tmp81);
18457 }
18458 } else {
18459
18460 }
18461 {
18462#line 393
18463 xpc_partition_going_down(part, reason);
18464 }
18465#line 394
18466 return;
18467}
18468}
18469#line 400 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
18470void xpc_mark_partition_inactive(struct xpc_partition *part )
18471{ unsigned long irq_flags ;
18472 struct _ddebug descriptor ;
18473 long tmp ;
18474 struct _ddebug *__cil_tmp5 ;
18475 unsigned long __cil_tmp6 ;
18476 unsigned long __cil_tmp7 ;
18477 unsigned long __cil_tmp8 ;
18478 unsigned long __cil_tmp9 ;
18479 unsigned long __cil_tmp10 ;
18480 unsigned long __cil_tmp11 ;
18481 unsigned char __cil_tmp12 ;
18482 long __cil_tmp13 ;
18483 long __cil_tmp14 ;
18484 struct device *__cil_tmp15 ;
18485 long __cil_tmp16 ;
18486 long __cil_tmp17 ;
18487 long __cil_tmp18 ;
18488 long __cil_tmp19 ;
18489 short __cil_tmp20 ;
18490 int __cil_tmp21 ;
18491 unsigned long __cil_tmp22 ;
18492 unsigned long __cil_tmp23 ;
18493 unsigned long __cil_tmp24 ;
18494 unsigned long __cil_tmp25 ;
18495 spinlock_t *__cil_tmp26 ;
18496 unsigned long __cil_tmp27 ;
18497 unsigned long __cil_tmp28 ;
18498
18499 {
18500 {
18501#line 404
18502 __cil_tmp5 = & descriptor;
18503#line 404
18504 *((char **)__cil_tmp5) = "xpc";
18505#line 404
18506 __cil_tmp6 = (unsigned long )(& descriptor) + 8;
18507#line 404
18508 *((char **)__cil_tmp6) = "xpc_mark_partition_inactive";
18509#line 404
18510 __cil_tmp7 = (unsigned long )(& descriptor) + 16;
18511#line 404
18512 *((char **)__cil_tmp7) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
18513#line 404
18514 __cil_tmp8 = (unsigned long )(& descriptor) + 24;
18515#line 404
18516 *((char **)__cil_tmp8) = "setting partition %d to INACTIVE\n";
18517#line 404
18518 __cil_tmp9 = (unsigned long )(& descriptor) + 32;
18519#line 404
18520 *((unsigned int *)__cil_tmp9) = 405U;
18521#line 404
18522 __cil_tmp10 = (unsigned long )(& descriptor) + 35;
18523#line 404
18524 *((unsigned char *)__cil_tmp10) = (unsigned char)0;
18525#line 404
18526 __cil_tmp11 = (unsigned long )(& descriptor) + 35;
18527#line 404
18528 __cil_tmp12 = *((unsigned char *)__cil_tmp11);
18529#line 404
18530 __cil_tmp13 = (long )__cil_tmp12;
18531#line 404
18532 __cil_tmp14 = __cil_tmp13 & 1L;
18533#line 404
18534 tmp = __builtin_expect(__cil_tmp14, 0L);
18535 }
18536#line 404
18537 if (tmp != 0L) {
18538 {
18539#line 404
18540 __cil_tmp15 = (struct device *)xpc_part;
18541#line 404
18542 __cil_tmp16 = (long )xpc_partitions;
18543#line 404
18544 __cil_tmp17 = (long )part;
18545#line 404
18546 __cil_tmp18 = __cil_tmp17 - __cil_tmp16;
18547#line 404
18548 __cil_tmp19 = __cil_tmp18 / 896L;
18549#line 404
18550 __cil_tmp20 = (short )__cil_tmp19;
18551#line 404
18552 __cil_tmp21 = (int )__cil_tmp20;
18553#line 404
18554 __dynamic_dev_dbg(& descriptor, __cil_tmp15, "setting partition %d to INACTIVE\n",
18555 __cil_tmp21);
18556 }
18557 } else {
18558
18559 }
18560 {
18561#line 407
18562 ldv_spin_lock();
18563#line 408
18564 __cil_tmp22 = (unsigned long )part;
18565#line 408
18566 __cil_tmp23 = __cil_tmp22 + 112;
18567#line 408
18568 *((u8 *)__cil_tmp23) = (u8 )0U;
18569#line 409
18570 __cil_tmp24 = (unsigned long )part;
18571#line 409
18572 __cil_tmp25 = __cil_tmp24 + 40;
18573#line 409
18574 __cil_tmp26 = (spinlock_t *)__cil_tmp25;
18575#line 409
18576 spin_unlock_irqrestore(__cil_tmp26, irq_flags);
18577#line 410
18578 __cil_tmp27 = (unsigned long )part;
18579#line 410
18580 __cil_tmp28 = __cil_tmp27 + 16;
18581#line 410
18582 *((unsigned long *)__cil_tmp28) = 0UL;
18583 }
18584#line 411
18585 return;
18586}
18587}
18588#line 423 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
18589void xpc_discovery(void)
18590{ void *remote_rp_base ;
18591 struct xpc_rsvd_page *remote_rp ;
18592 unsigned long remote_rp_pa ;
18593 int region ;
18594 int region_size ;
18595 int max_regions ;
18596 int nasid ;
18597 struct xpc_rsvd_page *rp ;
18598 unsigned long *discovered_nasids ;
18599 enum xp_retval ret ;
18600 void *tmp ;
18601 void *tmp___0 ;
18602 int tmp___1 ;
18603 struct _ddebug descriptor ;
18604 long tmp___2 ;
18605 struct _ddebug descriptor___0 ;
18606 long tmp___3 ;
18607 struct _ddebug descriptor___1 ;
18608 long tmp___4 ;
18609 int tmp___5 ;
18610 struct _ddebug descriptor___2 ;
18611 long tmp___6 ;
18612 int tmp___7 ;
18613 struct _ddebug descriptor___3 ;
18614 long tmp___8 ;
18615 int tmp___9 ;
18616 struct _ddebug descriptor___4 ;
18617 long tmp___10 ;
18618 unsigned long __cil_tmp29 ;
18619 unsigned long __cil_tmp30 ;
18620 struct xpc_rsvd_page *__cil_tmp31 ;
18621 unsigned long __cil_tmp32 ;
18622 unsigned long __cil_tmp33 ;
18623 unsigned long __cil_tmp34 ;
18624 unsigned long __cil_tmp35 ;
18625 unsigned long *__cil_tmp36 ;
18626 unsigned long __cil_tmp37 ;
18627 unsigned long __cil_tmp38 ;
18628 void **__cil_tmp39 ;
18629 void *__cil_tmp40 ;
18630 void *__cil_tmp41 ;
18631 struct _ddebug *__cil_tmp42 ;
18632 unsigned long __cil_tmp43 ;
18633 unsigned long __cil_tmp44 ;
18634 unsigned long __cil_tmp45 ;
18635 unsigned long __cil_tmp46 ;
18636 unsigned long __cil_tmp47 ;
18637 unsigned long __cil_tmp48 ;
18638 unsigned char __cil_tmp49 ;
18639 long __cil_tmp50 ;
18640 long __cil_tmp51 ;
18641 struct device *__cil_tmp52 ;
18642 int __cil_tmp53 ;
18643 struct _ddebug *__cil_tmp54 ;
18644 unsigned long __cil_tmp55 ;
18645 unsigned long __cil_tmp56 ;
18646 unsigned long __cil_tmp57 ;
18647 unsigned long __cil_tmp58 ;
18648 unsigned long __cil_tmp59 ;
18649 unsigned long __cil_tmp60 ;
18650 unsigned char __cil_tmp61 ;
18651 long __cil_tmp62 ;
18652 long __cil_tmp63 ;
18653 struct device *__cil_tmp64 ;
18654 int __cil_tmp65 ;
18655 unsigned long volatile *__cil_tmp66 ;
18656 struct _ddebug *__cil_tmp67 ;
18657 unsigned long __cil_tmp68 ;
18658 unsigned long __cil_tmp69 ;
18659 unsigned long __cil_tmp70 ;
18660 unsigned long __cil_tmp71 ;
18661 unsigned long __cil_tmp72 ;
18662 unsigned long __cil_tmp73 ;
18663 unsigned char __cil_tmp74 ;
18664 long __cil_tmp75 ;
18665 long __cil_tmp76 ;
18666 struct device *__cil_tmp77 ;
18667 int __cil_tmp78 ;
18668 unsigned long volatile *__cil_tmp79 ;
18669 struct _ddebug *__cil_tmp80 ;
18670 unsigned long __cil_tmp81 ;
18671 unsigned long __cil_tmp82 ;
18672 unsigned long __cil_tmp83 ;
18673 unsigned long __cil_tmp84 ;
18674 unsigned long __cil_tmp85 ;
18675 unsigned long __cil_tmp86 ;
18676 unsigned char __cil_tmp87 ;
18677 long __cil_tmp88 ;
18678 long __cil_tmp89 ;
18679 struct device *__cil_tmp90 ;
18680 int __cil_tmp91 ;
18681 unsigned long volatile *__cil_tmp92 ;
18682 struct _ddebug *__cil_tmp93 ;
18683 unsigned long __cil_tmp94 ;
18684 unsigned long __cil_tmp95 ;
18685 unsigned long __cil_tmp96 ;
18686 unsigned long __cil_tmp97 ;
18687 unsigned long __cil_tmp98 ;
18688 unsigned long __cil_tmp99 ;
18689 unsigned char __cil_tmp100 ;
18690 long __cil_tmp101 ;
18691 long __cil_tmp102 ;
18692 struct device *__cil_tmp103 ;
18693 unsigned int __cil_tmp104 ;
18694 struct _ddebug *__cil_tmp105 ;
18695 unsigned long __cil_tmp106 ;
18696 unsigned long __cil_tmp107 ;
18697 unsigned long __cil_tmp108 ;
18698 unsigned long __cil_tmp109 ;
18699 unsigned long __cil_tmp110 ;
18700 unsigned long __cil_tmp111 ;
18701 unsigned char __cil_tmp112 ;
18702 long __cil_tmp113 ;
18703 long __cil_tmp114 ;
18704 struct device *__cil_tmp115 ;
18705 unsigned int __cil_tmp116 ;
18706 unsigned int __cil_tmp117 ;
18707 unsigned long *__cil_tmp118 ;
18708 unsigned long __cil_tmp119 ;
18709 int __cil_tmp120 ;
18710 int __cil_tmp121 ;
18711 int __cil_tmp122 ;
18712 void *__cil_tmp123 ;
18713 void **__cil_tmp124 ;
18714 void *__cil_tmp125 ;
18715 void *__cil_tmp126 ;
18716
18717 {
18718 {
18719#line 436
18720 __cil_tmp29 = (unsigned long )xpc_nasid_mask_nbytes;
18721#line 436
18722 __cil_tmp30 = __cil_tmp29 + 128UL;
18723#line 436
18724 tmp = xpc_kmalloc_cacheline_aligned(__cil_tmp30, 208U, & remote_rp_base);
18725#line 436
18726 remote_rp = (struct xpc_rsvd_page *)tmp;
18727 }
18728 {
18729#line 439
18730 __cil_tmp31 = (struct xpc_rsvd_page *)0;
18731#line 439
18732 __cil_tmp32 = (unsigned long )__cil_tmp31;
18733#line 439
18734 __cil_tmp33 = (unsigned long )remote_rp;
18735#line 439
18736 if (__cil_tmp33 == __cil_tmp32) {
18737#line 440
18738 return;
18739 } else {
18740
18741 }
18742 }
18743 {
18744#line 442
18745 __cil_tmp34 = (unsigned long )xpc_nasid_mask_nlongs;
18746#line 442
18747 __cil_tmp35 = __cil_tmp34 * 8UL;
18748#line 442
18749 tmp___0 = kzalloc(__cil_tmp35, 208U);
18750#line 442
18751 discovered_nasids = (unsigned long *)tmp___0;
18752 }
18753 {
18754#line 444
18755 __cil_tmp36 = (unsigned long *)0;
18756#line 444
18757 __cil_tmp37 = (unsigned long )__cil_tmp36;
18758#line 444
18759 __cil_tmp38 = (unsigned long )discovered_nasids;
18760#line 444
18761 if (__cil_tmp38 == __cil_tmp37) {
18762 {
18763#line 445
18764 __cil_tmp39 = & remote_rp_base;
18765#line 445
18766 __cil_tmp40 = *__cil_tmp39;
18767#line 445
18768 __cil_tmp41 = (void *)__cil_tmp40;
18769#line 445
18770 kfree(__cil_tmp41);
18771 }
18772#line 446
18773 return;
18774 } else {
18775
18776 }
18777 }
18778 {
18779#line 449
18780 rp = xpc_rsvd_page;
18781#line 456
18782 region_size = (int )xp_region_size;
18783#line 458
18784 tmp___1 = is_uv_system();
18785 }
18786#line 458
18787 if (tmp___1 != 0) {
18788#line 459
18789 max_regions = 256;
18790 } else {
18791#line 461
18792 max_regions = 64;
18793#line 464
18794 if (region_size == 128) {
18795#line 464
18796 goto case_128;
18797 } else
18798#line 466
18799 if (region_size == 64) {
18800#line 466
18801 goto case_64;
18802 } else
18803#line 468
18804 if (region_size == 32) {
18805#line 468
18806 goto case_32;
18807 } else
18808#line 463
18809 if (0) {
18810 case_128:
18811#line 465
18812 max_regions = max_regions * 2;
18813 case_64:
18814#line 467
18815 max_regions = max_regions * 2;
18816 case_32:
18817#line 469
18818 max_regions = max_regions * 2;
18819#line 470
18820 region_size = 16;
18821 } else {
18822 switch_break: ;
18823 }
18824 }
18825#line 475
18826 region = 0;
18827#line 475
18828 goto ldv_21171;
18829 ldv_21170: ;
18830#line 477
18831 if (xpc_exiting != 0) {
18832#line 478
18833 goto ldv_21158;
18834 } else {
18835
18836 }
18837 {
18838#line 480
18839 __cil_tmp42 = & descriptor;
18840#line 480
18841 *((char **)__cil_tmp42) = "xpc";
18842#line 480
18843 __cil_tmp43 = (unsigned long )(& descriptor) + 8;
18844#line 480
18845 *((char **)__cil_tmp43) = "xpc_discovery";
18846#line 480
18847 __cil_tmp44 = (unsigned long )(& descriptor) + 16;
18848#line 480
18849 *((char **)__cil_tmp44) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
18850#line 480
18851 __cil_tmp45 = (unsigned long )(& descriptor) + 24;
18852#line 480
18853 *((char **)__cil_tmp45) = "searching region %d\n";
18854#line 480
18855 __cil_tmp46 = (unsigned long )(& descriptor) + 32;
18856#line 480
18857 *((unsigned int *)__cil_tmp46) = 480U;
18858#line 480
18859 __cil_tmp47 = (unsigned long )(& descriptor) + 35;
18860#line 480
18861 *((unsigned char *)__cil_tmp47) = (unsigned char)0;
18862#line 480
18863 __cil_tmp48 = (unsigned long )(& descriptor) + 35;
18864#line 480
18865 __cil_tmp49 = *((unsigned char *)__cil_tmp48);
18866#line 480
18867 __cil_tmp50 = (long )__cil_tmp49;
18868#line 480
18869 __cil_tmp51 = __cil_tmp50 & 1L;
18870#line 480
18871 tmp___2 = __builtin_expect(__cil_tmp51, 0L);
18872 }
18873#line 480
18874 if (tmp___2 != 0L) {
18875 {
18876#line 480
18877 __cil_tmp52 = (struct device *)xpc_part;
18878#line 480
18879 __dynamic_dev_dbg(& descriptor, __cil_tmp52, "searching region %d\n", region);
18880 }
18881 } else {
18882
18883 }
18884#line 482
18885 __cil_tmp53 = region * region_size;
18886#line 482
18887 nasid = __cil_tmp53 * 2;
18888#line 482
18889 goto ldv_21169;
18890 ldv_21168: ;
18891#line 485
18892 if (xpc_exiting != 0) {
18893#line 486
18894 goto ldv_21161;
18895 } else {
18896
18897 }
18898 {
18899#line 488
18900 __cil_tmp54 = & descriptor___0;
18901#line 488
18902 *((char **)__cil_tmp54) = "xpc";
18903#line 488
18904 __cil_tmp55 = (unsigned long )(& descriptor___0) + 8;
18905#line 488
18906 *((char **)__cil_tmp55) = "xpc_discovery";
18907#line 488
18908 __cil_tmp56 = (unsigned long )(& descriptor___0) + 16;
18909#line 488
18910 *((char **)__cil_tmp56) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
18911#line 488
18912 __cil_tmp57 = (unsigned long )(& descriptor___0) + 24;
18913#line 488
18914 *((char **)__cil_tmp57) = "checking nasid %d\n";
18915#line 488
18916 __cil_tmp58 = (unsigned long )(& descriptor___0) + 32;
18917#line 488
18918 *((unsigned int *)__cil_tmp58) = 488U;
18919#line 488
18920 __cil_tmp59 = (unsigned long )(& descriptor___0) + 35;
18921#line 488
18922 *((unsigned char *)__cil_tmp59) = (unsigned char)0;
18923#line 488
18924 __cil_tmp60 = (unsigned long )(& descriptor___0) + 35;
18925#line 488
18926 __cil_tmp61 = *((unsigned char *)__cil_tmp60);
18927#line 488
18928 __cil_tmp62 = (long )__cil_tmp61;
18929#line 488
18930 __cil_tmp63 = __cil_tmp62 & 1L;
18931#line 488
18932 tmp___3 = __builtin_expect(__cil_tmp63, 0L);
18933 }
18934#line 488
18935 if (tmp___3 != 0L) {
18936 {
18937#line 488
18938 __cil_tmp64 = (struct device *)xpc_part;
18939#line 488
18940 __dynamic_dev_dbg(& descriptor___0, __cil_tmp64, "checking nasid %d\n", nasid);
18941 }
18942 } else {
18943
18944 }
18945 {
18946#line 490
18947 __cil_tmp65 = nasid / 2;
18948#line 490
18949 __cil_tmp66 = (unsigned long volatile *)xpc_part_nasids;
18950#line 490
18951 tmp___5 = variable_test_bit(__cil_tmp65, __cil_tmp66);
18952 }
18953#line 490
18954 if (tmp___5 != 0) {
18955 {
18956#line 491
18957 __cil_tmp67 = & descriptor___1;
18958#line 491
18959 *((char **)__cil_tmp67) = "xpc";
18960#line 491
18961 __cil_tmp68 = (unsigned long )(& descriptor___1) + 8;
18962#line 491
18963 *((char **)__cil_tmp68) = "xpc_discovery";
18964#line 491
18965 __cil_tmp69 = (unsigned long )(& descriptor___1) + 16;
18966#line 491
18967 *((char **)__cil_tmp69) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
18968#line 491
18969 __cil_tmp70 = (unsigned long )(& descriptor___1) + 24;
18970#line 491
18971 *((char **)__cil_tmp70) = "PROM indicates Nasid %d is part of the local partition; skipping region\n";
18972#line 491
18973 __cil_tmp71 = (unsigned long )(& descriptor___1) + 32;
18974#line 491
18975 *((unsigned int *)__cil_tmp71) = 493U;
18976#line 491
18977 __cil_tmp72 = (unsigned long )(& descriptor___1) + 35;
18978#line 491
18979 *((unsigned char *)__cil_tmp72) = (unsigned char)0;
18980#line 491
18981 __cil_tmp73 = (unsigned long )(& descriptor___1) + 35;
18982#line 491
18983 __cil_tmp74 = *((unsigned char *)__cil_tmp73);
18984#line 491
18985 __cil_tmp75 = (long )__cil_tmp74;
18986#line 491
18987 __cil_tmp76 = __cil_tmp75 & 1L;
18988#line 491
18989 tmp___4 = __builtin_expect(__cil_tmp76, 0L);
18990 }
18991#line 491
18992 if (tmp___4 != 0L) {
18993 {
18994#line 491
18995 __cil_tmp77 = (struct device *)xpc_part;
18996#line 491
18997 __dynamic_dev_dbg(& descriptor___1, __cil_tmp77, "PROM indicates Nasid %d is part of the local partition; skipping region\n",
18998 nasid);
18999 }
19000 } else {
19001
19002 }
19003#line 494
19004 goto ldv_21161;
19005 } else {
19006
19007 }
19008 {
19009#line 497
19010 __cil_tmp78 = nasid / 2;
19011#line 497
19012 __cil_tmp79 = (unsigned long volatile *)xpc_mach_nasids;
19013#line 497
19014 tmp___7 = variable_test_bit(__cil_tmp78, __cil_tmp79);
19015 }
19016#line 497
19017 if (tmp___7 == 0) {
19018 {
19019#line 498
19020 __cil_tmp80 = & descriptor___2;
19021#line 498
19022 *((char **)__cil_tmp80) = "xpc";
19023#line 498
19024 __cil_tmp81 = (unsigned long )(& descriptor___2) + 8;
19025#line 498
19026 *((char **)__cil_tmp81) = "xpc_discovery";
19027#line 498
19028 __cil_tmp82 = (unsigned long )(& descriptor___2) + 16;
19029#line 498
19030 *((char **)__cil_tmp82) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
19031#line 498
19032 __cil_tmp83 = (unsigned long )(& descriptor___2) + 24;
19033#line 498
19034 *((char **)__cil_tmp83) = "PROM indicates Nasid %d was not on Numa-Link network at reset\n";
19035#line 498
19036 __cil_tmp84 = (unsigned long )(& descriptor___2) + 32;
19037#line 498
19038 *((unsigned int *)__cil_tmp84) = 500U;
19039#line 498
19040 __cil_tmp85 = (unsigned long )(& descriptor___2) + 35;
19041#line 498
19042 *((unsigned char *)__cil_tmp85) = (unsigned char)0;
19043#line 498
19044 __cil_tmp86 = (unsigned long )(& descriptor___2) + 35;
19045#line 498
19046 __cil_tmp87 = *((unsigned char *)__cil_tmp86);
19047#line 498
19048 __cil_tmp88 = (long )__cil_tmp87;
19049#line 498
19050 __cil_tmp89 = __cil_tmp88 & 1L;
19051#line 498
19052 tmp___6 = __builtin_expect(__cil_tmp89, 0L);
19053 }
19054#line 498
19055 if (tmp___6 != 0L) {
19056 {
19057#line 498
19058 __cil_tmp90 = (struct device *)xpc_part;
19059#line 498
19060 __dynamic_dev_dbg(& descriptor___2, __cil_tmp90, "PROM indicates Nasid %d was not on Numa-Link network at reset\n",
19061 nasid);
19062 }
19063 } else {
19064
19065 }
19066#line 501
19067 goto ldv_21165;
19068 } else {
19069
19070 }
19071 {
19072#line 504
19073 __cil_tmp91 = nasid / 2;
19074#line 504
19075 __cil_tmp92 = (unsigned long volatile *)discovered_nasids;
19076#line 504
19077 tmp___9 = variable_test_bit(__cil_tmp91, __cil_tmp92);
19078 }
19079#line 504
19080 if (tmp___9 != 0) {
19081 {
19082#line 505
19083 __cil_tmp93 = & descriptor___3;
19084#line 505
19085 *((char **)__cil_tmp93) = "xpc";
19086#line 505
19087 __cil_tmp94 = (unsigned long )(& descriptor___3) + 8;
19088#line 505
19089 *((char **)__cil_tmp94) = "xpc_discovery";
19090#line 505
19091 __cil_tmp95 = (unsigned long )(& descriptor___3) + 16;
19092#line 505
19093 *((char **)__cil_tmp95) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
19094#line 505
19095 __cil_tmp96 = (unsigned long )(& descriptor___3) + 24;
19096#line 505
19097 *((char **)__cil_tmp96) = "Nasid %d is part of a partition which was previously discovered\n";
19098#line 505
19099 __cil_tmp97 = (unsigned long )(& descriptor___3) + 32;
19100#line 505
19101 *((unsigned int *)__cil_tmp97) = 507U;
19102#line 505
19103 __cil_tmp98 = (unsigned long )(& descriptor___3) + 35;
19104#line 505
19105 *((unsigned char *)__cil_tmp98) = (unsigned char)0;
19106#line 505
19107 __cil_tmp99 = (unsigned long )(& descriptor___3) + 35;
19108#line 505
19109 __cil_tmp100 = *((unsigned char *)__cil_tmp99);
19110#line 505
19111 __cil_tmp101 = (long )__cil_tmp100;
19112#line 505
19113 __cil_tmp102 = __cil_tmp101 & 1L;
19114#line 505
19115 tmp___8 = __builtin_expect(__cil_tmp102, 0L);
19116 }
19117#line 505
19118 if (tmp___8 != 0L) {
19119 {
19120#line 505
19121 __cil_tmp103 = (struct device *)xpc_part;
19122#line 505
19123 __dynamic_dev_dbg(& descriptor___3, __cil_tmp103, "Nasid %d is part of a partition which was previously discovered\n",
19124 nasid);
19125 }
19126 } else {
19127
19128 }
19129#line 508
19130 goto ldv_21165;
19131 } else {
19132
19133 }
19134 {
19135#line 513
19136 ret = xpc_get_remote_rp(nasid, discovered_nasids, remote_rp, & remote_rp_pa);
19137 }
19138 {
19139#line 515
19140 __cil_tmp104 = (unsigned int )ret;
19141#line 515
19142 if (__cil_tmp104 != 0U) {
19143 {
19144#line 516
19145 __cil_tmp105 = & descriptor___4;
19146#line 516
19147 *((char **)__cil_tmp105) = "xpc";
19148#line 516
19149 __cil_tmp106 = (unsigned long )(& descriptor___4) + 8;
19150#line 516
19151 *((char **)__cil_tmp106) = "xpc_discovery";
19152#line 516
19153 __cil_tmp107 = (unsigned long )(& descriptor___4) + 16;
19154#line 516
19155 *((char **)__cil_tmp107) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p";
19156#line 516
19157 __cil_tmp108 = (unsigned long )(& descriptor___4) + 24;
19158#line 516
19159 *((char **)__cil_tmp108) = "unable to get reserved page from nasid %d, reason=%d\n";
19160#line 516
19161 __cil_tmp109 = (unsigned long )(& descriptor___4) + 32;
19162#line 516
19163 *((unsigned int *)__cil_tmp109) = 518U;
19164#line 516
19165 __cil_tmp110 = (unsigned long )(& descriptor___4) + 35;
19166#line 516
19167 *((unsigned char *)__cil_tmp110) = (unsigned char)0;
19168#line 516
19169 __cil_tmp111 = (unsigned long )(& descriptor___4) + 35;
19170#line 516
19171 __cil_tmp112 = *((unsigned char *)__cil_tmp111);
19172#line 516
19173 __cil_tmp113 = (long )__cil_tmp112;
19174#line 516
19175 __cil_tmp114 = __cil_tmp113 & 1L;
19176#line 516
19177 tmp___10 = __builtin_expect(__cil_tmp114, 0L);
19178 }
19179#line 516
19180 if (tmp___10 != 0L) {
19181 {
19182#line 516
19183 __cil_tmp115 = (struct device *)xpc_part;
19184#line 516
19185 __cil_tmp116 = (unsigned int )ret;
19186#line 516
19187 __dynamic_dev_dbg(& descriptor___4, __cil_tmp115, "unable to get reserved page from nasid %d, reason=%d\n",
19188 nasid, __cil_tmp116);
19189 }
19190 } else {
19191
19192 }
19193 {
19194#line 520
19195 __cil_tmp117 = (unsigned int )ret;
19196#line 520
19197 if (__cil_tmp117 == 43U) {
19198#line 521
19199 goto ldv_21161;
19200 } else {
19201
19202 }
19203 }
19204#line 523
19205 goto ldv_21165;
19206 } else {
19207
19208 }
19209 }
19210 {
19211#line 526
19212 __cil_tmp118 = & remote_rp_pa;
19213#line 526
19214 __cil_tmp119 = *__cil_tmp118;
19215#line 526
19216 (*(xpc_arch_ops.request_partition_activation))(remote_rp, __cil_tmp119, nasid);
19217 }
19218 ldv_21165:
19219#line 483
19220 nasid = nasid + 2;
19221 ldv_21169: ;
19222 {
19223#line 482
19224 __cil_tmp120 = region + 1;
19225#line 482
19226 __cil_tmp121 = __cil_tmp120 * 2;
19227#line 482
19228 __cil_tmp122 = __cil_tmp121 * region_size;
19229#line 482
19230 if (__cil_tmp122 > nasid) {
19231#line 484
19232 goto ldv_21168;
19233 } else {
19234#line 486
19235 goto ldv_21161;
19236 }
19237 }
19238 ldv_21161:
19239#line 475
19240 region = region + 1;
19241 ldv_21171: ;
19242#line 475
19243 if (region < max_regions) {
19244#line 476
19245 goto ldv_21170;
19246 } else {
19247#line 478
19248 goto ldv_21158;
19249 }
19250 ldv_21158:
19251 {
19252#line 531
19253 __cil_tmp123 = (void *)discovered_nasids;
19254#line 531
19255 kfree(__cil_tmp123);
19256#line 532
19257 __cil_tmp124 = & remote_rp_base;
19258#line 532
19259 __cil_tmp125 = *__cil_tmp124;
19260#line 532
19261 __cil_tmp126 = (void *)__cil_tmp125;
19262#line 532
19263 kfree(__cil_tmp126);
19264 }
19265#line 533
19266 return;
19267}
19268}
19269#line 540 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
19270enum xp_retval xpc_initiate_partid_to_nasids(short partid , void *nasid_mask )
19271{ struct xpc_partition *part ;
19272 unsigned long part_nasid_pa ;
19273 unsigned long tmp ;
19274 enum xp_retval tmp___0 ;
19275 unsigned long __cil_tmp7 ;
19276 unsigned long __cil_tmp8 ;
19277 unsigned long __cil_tmp9 ;
19278 unsigned long __cil_tmp10 ;
19279 size_t __cil_tmp11 ;
19280 unsigned long __cil_tmp12 ;
19281 unsigned long __cil_tmp13 ;
19282 unsigned long __cil_tmp14 ;
19283 unsigned long __cil_tmp15 ;
19284 size_t __cil_tmp16 ;
19285
19286 {
19287#line 545
19288 __cil_tmp7 = (unsigned long )partid;
19289#line 545
19290 part = xpc_partitions + __cil_tmp7;
19291 {
19292#line 546
19293 __cil_tmp8 = (unsigned long )part;
19294#line 546
19295 __cil_tmp9 = __cil_tmp8 + 16;
19296#line 546
19297 __cil_tmp10 = *((unsigned long *)__cil_tmp9);
19298#line 546
19299 if (__cil_tmp10 == 0UL) {
19300#line 547
19301 return ((enum xp_retval )17);
19302 } else {
19303
19304 }
19305 }
19306 {
19307#line 549
19308 __cil_tmp11 = (size_t )xpc_nasid_mask_nbytes;
19309#line 549
19310 memset(nasid_mask, 0, __cil_tmp11);
19311#line 551
19312 __cil_tmp12 = (unsigned long )part;
19313#line 551
19314 __cil_tmp13 = __cil_tmp12 + 16;
19315#line 551
19316 __cil_tmp14 = *((unsigned long *)__cil_tmp13);
19317#line 551
19318 part_nasid_pa = __cil_tmp14 + 128UL;
19319#line 553
19320 tmp = (*xp_pa)(nasid_mask);
19321#line 553
19322 __cil_tmp15 = (unsigned long )part_nasid_pa;
19323#line 553
19324 __cil_tmp16 = (size_t )xpc_nasid_mask_nbytes;
19325#line 553
19326 tmp___0 = (*xp_remote_memcpy)(tmp, __cil_tmp15, __cil_tmp16);
19327 }
19328#line 553
19329 return (tmp___0);
19330}
19331}
19332#line 675 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_partition.c.p"
19333__inline static void *kmalloc(size_t size , gfp_t flags )
19334{
19335
19336 {
19337 {
19338#line 681
19339 ldv_check_alloc_flags(flags);
19340#line 683
19341 ldv_kmalloc_12(size, flags);
19342 }
19343#line 684
19344 return ((void *)0);
19345}
19346}
19347#line 1 "<compiler builtins>"
19348
19349#line 482 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
19350__inline static int fls64(__u64 x )
19351{ long bitpos ;
19352 unsigned int __cil_tmp3 ;
19353 unsigned int __cil_tmp4 ;
19354
19355 {
19356#line 484
19357 bitpos = -1L;
19358#line 490
19359 __asm__ ("bsrq %1,%0": "+r" (bitpos): "rm" (x));
19360 {
19361#line 493
19362 __cil_tmp3 = (unsigned int )bitpos;
19363#line 493
19364 __cil_tmp4 = __cil_tmp3 + 1U;
19365#line 493
19366 return ((int )__cil_tmp4);
19367 }
19368}
19369}
19370#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_64_types.h"
19371extern unsigned long __phys_addr(unsigned long ) ;
19372#line 13 "include/asm-generic/getorder.h"
19373__inline static int __get_order(unsigned long size )
19374{ int order ;
19375 __u64 __cil_tmp3 ;
19376
19377 {
19378 {
19379#line 17
19380 size = size - 1UL;
19381#line 18
19382 size = size >> 12;
19383#line 22
19384 __cil_tmp3 = (__u64 )size;
19385#line 22
19386 order = fls64(__cil_tmp3);
19387 }
19388#line 24
19389 return (order);
19390}
19391}
19392#line 540 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
19393extern unsigned long this_cpu_off ;
19394#line 22 "include/linux/err.h"
19395__inline static void *ERR_PTR(long error )
19396{
19397
19398 {
19399#line 24
19400 return ((void *)error);
19401}
19402}
19403#line 27 "include/linux/err.h"
19404__inline static long PTR_ERR(void *ptr )
19405{
19406
19407 {
19408#line 29
19409 return ((long )ptr);
19410}
19411}
19412#line 350 "include/linux/spinlock.h"
19413__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
19414#line 392 "include/linux/nodemask.h"
19415extern nodemask_t node_states[4U] ;
19416#line 395 "include/linux/nodemask.h"
19417__inline static int node_state(int node , enum node_states state )
19418{ int tmp ;
19419 unsigned int __cil_tmp4 ;
19420 unsigned long __cil_tmp5 ;
19421 unsigned long __cil_tmp6 ;
19422 unsigned long (*__cil_tmp7)[16U] ;
19423 unsigned long volatile *__cil_tmp8 ;
19424
19425 {
19426 {
19427#line 397
19428 __cil_tmp4 = (unsigned int )state;
19429#line 397
19430 __cil_tmp5 = __cil_tmp4 * 128UL;
19431#line 397
19432 __cil_tmp6 = (unsigned long )(node_states) + __cil_tmp5;
19433#line 397
19434 __cil_tmp7 = (unsigned long (*)[16U])__cil_tmp6;
19435#line 397
19436 __cil_tmp8 = (unsigned long volatile *)__cil_tmp7;
19437#line 397
19438 tmp = variable_test_bit(node, __cil_tmp8);
19439 }
19440#line 397
19441 return (tmp);
19442}
19443}
19444#line 115 "include/linux/mutex.h"
19445extern void __mutex_init(struct mutex * , char * , struct lock_class_key * ) ;
19446#line 134
19447extern void mutex_lock_nested(struct mutex * , unsigned int ) ;
19448#line 141 "include/linux/memory_hotplug.h"
19449extern pg_data_t *node_data[] ;
19450#line 57 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
19451extern int __cpu_to_node(int ) ;
19452#line 84 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
19453__inline static unsigned long readq(void volatile *addr )
19454{ unsigned long ret ;
19455 unsigned long volatile *__cil_tmp3 ;
19456
19457 {
19458#line 84
19459 __cil_tmp3 = (unsigned long volatile *)addr;
19460#line 84
19461 __asm__ volatile ("movq %1,%0": "=r" (ret): "m" (*__cil_tmp3): "memory");
19462#line 84
19463 return (ret);
19464}
19465}
19466#line 265 "include/linux/gfp.h"
19467__inline static int gfp_zonelist(gfp_t flags )
19468{ long tmp ;
19469 unsigned int __cil_tmp3 ;
19470 int __cil_tmp4 ;
19471 long __cil_tmp5 ;
19472
19473 {
19474 {
19475#line 267
19476 __cil_tmp3 = flags & 262144U;
19477#line 267
19478 __cil_tmp4 = __cil_tmp3 != 0U;
19479#line 267
19480 __cil_tmp5 = (long )__cil_tmp4;
19481#line 267
19482 tmp = __builtin_expect(__cil_tmp5, 0L);
19483 }
19484#line 267
19485 if (tmp != 0L) {
19486#line 268
19487 return (1);
19488 } else {
19489
19490 }
19491#line 270
19492 return (0);
19493}
19494}
19495#line 282 "include/linux/gfp.h"
19496__inline static struct zonelist *node_zonelist(int nid , gfp_t flags )
19497{ int tmp ;
19498 unsigned long __cil_tmp4 ;
19499 unsigned long __cil_tmp5 ;
19500 unsigned long __cil_tmp6 ;
19501 pg_data_t *__cil_tmp7 ;
19502 unsigned long __cil_tmp8 ;
19503 unsigned long __cil_tmp9 ;
19504 struct zonelist (*__cil_tmp10)[2U] ;
19505 struct zonelist *__cil_tmp11 ;
19506
19507 {
19508 {
19509#line 284
19510 tmp = gfp_zonelist(flags);
19511 }
19512 {
19513#line 284
19514 __cil_tmp4 = (unsigned long )tmp;
19515#line 284
19516 __cil_tmp5 = nid * 8UL;
19517#line 284
19518 __cil_tmp6 = (unsigned long )(node_data) + __cil_tmp5;
19519#line 284
19520 __cil_tmp7 = *((pg_data_t **)__cil_tmp6);
19521#line 284
19522 __cil_tmp8 = (unsigned long )__cil_tmp7;
19523#line 284
19524 __cil_tmp9 = __cil_tmp8 + 7136;
19525#line 284
19526 __cil_tmp10 = (struct zonelist (*)[2U])__cil_tmp9;
19527#line 284
19528 __cil_tmp11 = (struct zonelist *)__cil_tmp10;
19529#line 284
19530 return (__cil_tmp11 + __cil_tmp4);
19531 }
19532}
19533}
19534#line 295
19535extern struct page *__alloc_pages_nodemask(gfp_t , unsigned int , struct zonelist * ,
19536 nodemask_t * ) ;
19537#line 299 "include/linux/gfp.h"
19538__inline static struct page *__alloc_pages(gfp_t gfp_mask , unsigned int order , struct zonelist *zonelist )
19539{ struct page *tmp ;
19540 nodemask_t *__cil_tmp5 ;
19541
19542 {
19543 {
19544#line 302
19545 __cil_tmp5 = (nodemask_t *)0;
19546#line 302
19547 tmp = __alloc_pages_nodemask(gfp_mask, order, zonelist, __cil_tmp5);
19548 }
19549#line 302
19550 return (tmp);
19551}
19552}
19553#line 315 "include/linux/gfp.h"
19554__inline static struct page *alloc_pages_exact_node(int nid , gfp_t gfp_mask , unsigned int order )
19555{ long tmp ;
19556 long tmp___0 ;
19557 int tmp___1 ;
19558 int tmp___2 ;
19559 long tmp___3 ;
19560 struct zonelist *tmp___4 ;
19561 struct page *tmp___5 ;
19562 int __cil_tmp11 ;
19563 long __cil_tmp12 ;
19564 int __cil_tmp13 ;
19565 long __cil_tmp14 ;
19566 enum node_states __cil_tmp15 ;
19567 int __cil_tmp16 ;
19568 long __cil_tmp17 ;
19569
19570 {
19571 {
19572#line 318
19573 __cil_tmp11 = nid < 0;
19574#line 318
19575 __cil_tmp12 = (long )__cil_tmp11;
19576#line 318
19577 tmp = __builtin_expect(__cil_tmp12, 0L);
19578 }
19579#line 318
19580 if (tmp != 0L) {
19581#line 318
19582 tmp___1 = 1;
19583 } else {
19584 {
19585#line 318
19586 __cil_tmp13 = nid > 1023;
19587#line 318
19588 __cil_tmp14 = (long )__cil_tmp13;
19589#line 318
19590 tmp___0 = __builtin_expect(__cil_tmp14, 0L);
19591 }
19592#line 318
19593 if (tmp___0 != 0L) {
19594#line 318
19595 tmp___1 = 1;
19596 } else {
19597#line 318
19598 tmp___1 = 0;
19599 }
19600 }
19601#line 318
19602 if (tmp___1 != 0) {
19603#line 318
19604 goto _L;
19605 } else {
19606 {
19607#line 318
19608 __cil_tmp15 = (enum node_states )1;
19609#line 318
19610 tmp___2 = node_state(nid, __cil_tmp15);
19611#line 318
19612 __cil_tmp16 = tmp___2 == 0;
19613#line 318
19614 __cil_tmp17 = (long )__cil_tmp16;
19615#line 318
19616 tmp___3 = __builtin_expect(__cil_tmp17, 0L);
19617 }
19618#line 318
19619 if (tmp___3 != 0L) {
19620 _L:
19621#line 318
19622 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/gfp.h"),
19623 "i" (318), "i" (12UL));
19624 ldv_11672: ;
19625#line 318
19626 goto ldv_11672;
19627 } else {
19628
19629 }
19630 }
19631 {
19632#line 320
19633 tmp___4 = node_zonelist(nid, gfp_mask);
19634#line 320
19635 tmp___5 = __alloc_pages(gfp_mask, order, tmp___4);
19636 }
19637#line 320
19638 return (tmp___5);
19639}
19640}
19641#line 361
19642extern void free_pages(unsigned long , unsigned int ) ;
19643#line 268 "include/linux/slub_def.h"
19644__inline static void *kmalloc(size_t size , gfp_t flags ) ;
19645#line 353 "include/linux/slab.h"
19646__inline static void *kzalloc(size_t size , gfp_t flags ) ;
19647#line 737 "include/linux/mm.h"
19648__inline static void *lowmem_page_address(struct page *page )
19649{ long __cil_tmp2 ;
19650 long __cil_tmp3 ;
19651 long __cil_tmp4 ;
19652 unsigned long long __cil_tmp5 ;
19653 unsigned long long __cil_tmp6 ;
19654 unsigned long __cil_tmp7 ;
19655 unsigned long __cil_tmp8 ;
19656
19657 {
19658 {
19659#line 739
19660 __cil_tmp2 = (long )page;
19661#line 739
19662 __cil_tmp3 = __cil_tmp2 + 24189255811072L;
19663#line 739
19664 __cil_tmp4 = __cil_tmp3 / 64L;
19665#line 739
19666 __cil_tmp5 = (unsigned long long )__cil_tmp4;
19667#line 739
19668 __cil_tmp6 = __cil_tmp5 << 12;
19669#line 739
19670 __cil_tmp7 = (unsigned long )__cil_tmp6;
19671#line 739
19672 __cil_tmp8 = __cil_tmp7 + 0xffff880000000000UL;
19673#line 739
19674 return ((void *)__cil_tmp8);
19675 }
19676}
19677}
19678#line 127 "include/linux/interrupt.h"
19679extern int request_threaded_irq(unsigned int , irqreturn_t (*)(int , void * ) ,
19680 irqreturn_t (*)(int , void * ) , unsigned long ,
19681 char * , void * ) ;
19682#line 132 "include/linux/interrupt.h"
19683__inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int , void * ) ,
19684 unsigned long flags , char *name , void *dev )
19685{ int tmp ;
19686 irqreturn_t (*__cil_tmp7)(int , void * ) ;
19687
19688 {
19689 {
19690#line 135
19691 __cil_tmp7 = (irqreturn_t (*)(int , void * ))0;
19692#line 135
19693 tmp = request_threaded_irq(irq, handler, __cil_tmp7, flags, name, dev);
19694 }
19695#line 135
19696 return (tmp);
19697}
19698}
19699#line 184
19700extern void free_irq(unsigned int , void * ) ;
19701#line 166 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
19702extern struct uv_hub_info_s __uv_hub_info ;
19703#line 294 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
19704__inline static unsigned long uv_soc_phys_ram_to_gpa(unsigned long paddr )
19705{ unsigned long tcp_ptr__ ;
19706 void *__vpp_verify ;
19707 unsigned long tcp_ptr_____0 ;
19708 void *__vpp_verify___0 ;
19709 unsigned long tcp_ptr_____1 ;
19710 void *__vpp_verify___1 ;
19711 unsigned long tcp_ptr_____2 ;
19712 void *__vpp_verify___2 ;
19713 unsigned long tcp_ptr_____3 ;
19714 void *__vpp_verify___3 ;
19715 unsigned long tcp_ptr_____4 ;
19716 void *__vpp_verify___4 ;
19717 unsigned long tcp_ptr_____5 ;
19718 void *__vpp_verify___5 ;
19719 struct uv_hub_info_s *__cil_tmp16 ;
19720 unsigned long __cil_tmp17 ;
19721 unsigned long __cil_tmp18 ;
19722 unsigned long __cil_tmp19 ;
19723 struct uv_hub_info_s *__cil_tmp20 ;
19724 unsigned long __cil_tmp21 ;
19725 unsigned long __cil_tmp22 ;
19726 unsigned long __cil_tmp23 ;
19727 struct uv_hub_info_s *__cil_tmp24 ;
19728 unsigned long __cil_tmp25 ;
19729 unsigned long __cil_tmp26 ;
19730 unsigned long __cil_tmp27 ;
19731 struct uv_hub_info_s *__cil_tmp28 ;
19732 unsigned long __cil_tmp29 ;
19733 unsigned long __cil_tmp30 ;
19734 unsigned char __cil_tmp31 ;
19735 int __cil_tmp32 ;
19736 struct uv_hub_info_s *__cil_tmp33 ;
19737 unsigned long __cil_tmp34 ;
19738 unsigned long __cil_tmp35 ;
19739 unsigned char __cil_tmp36 ;
19740 int __cil_tmp37 ;
19741 unsigned long __cil_tmp38 ;
19742 unsigned long __cil_tmp39 ;
19743 struct uv_hub_info_s *__cil_tmp40 ;
19744 unsigned long __cil_tmp41 ;
19745 unsigned long __cil_tmp42 ;
19746 unsigned char __cil_tmp43 ;
19747 int __cil_tmp44 ;
19748 struct uv_hub_info_s *__cil_tmp45 ;
19749 unsigned long __cil_tmp46 ;
19750 unsigned long __cil_tmp47 ;
19751 unsigned char __cil_tmp48 ;
19752 int __cil_tmp49 ;
19753 unsigned long __cil_tmp50 ;
19754 unsigned long __cil_tmp51 ;
19755
19756 {
19757#line 296
19758 __vpp_verify___0 = (void *)0;
19759#line 296
19760 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr_____0): "m" (this_cpu_off),
19761 "0" (& __uv_hub_info));
19762 {
19763#line 296
19764 __cil_tmp16 = (struct uv_hub_info_s *)tcp_ptr_____0;
19765#line 296
19766 __cil_tmp17 = (unsigned long )__cil_tmp16;
19767#line 296
19768 __cil_tmp18 = __cil_tmp17 + 32;
19769#line 296
19770 __cil_tmp19 = *((unsigned long *)__cil_tmp18);
19771#line 296
19772 if (__cil_tmp19 > paddr) {
19773#line 297
19774 __vpp_verify = (void *)0;
19775#line 297
19776 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr__): "m" (this_cpu_off),
19777 "0" (& __uv_hub_info));
19778#line 297
19779 __cil_tmp20 = (struct uv_hub_info_s *)tcp_ptr__;
19780#line 297
19781 __cil_tmp21 = (unsigned long )__cil_tmp20;
19782#line 297
19783 __cil_tmp22 = __cil_tmp21 + 40;
19784#line 297
19785 __cil_tmp23 = *((unsigned long *)__cil_tmp22);
19786#line 297
19787 paddr = __cil_tmp23 | paddr;
19788 } else {
19789
19790 }
19791 }
19792#line 298
19793 __vpp_verify___1 = (void *)0;
19794#line 298
19795 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr_____1): "m" (this_cpu_off),
19796 "0" (& __uv_hub_info));
19797#line 298
19798 __cil_tmp24 = (struct uv_hub_info_s *)tcp_ptr_____1;
19799#line 298
19800 __cil_tmp25 = (unsigned long )__cil_tmp24;
19801#line 298
19802 __cil_tmp26 = __cil_tmp25 + 24;
19803#line 298
19804 __cil_tmp27 = *((unsigned long *)__cil_tmp26);
19805#line 298
19806 paddr = __cil_tmp27 | paddr;
19807#line 299
19808 __vpp_verify___2 = (void *)0;
19809#line 299
19810 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr_____2): "m" (this_cpu_off),
19811 "0" (& __uv_hub_info));
19812#line 299
19813 __vpp_verify___3 = (void *)0;
19814#line 299
19815 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr_____3): "m" (this_cpu_off),
19816 "0" (& __uv_hub_info));
19817#line 300
19818 __vpp_verify___4 = (void *)0;
19819#line 300
19820 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr_____4): "m" (this_cpu_off),
19821 "0" (& __uv_hub_info));
19822#line 300
19823 __vpp_verify___5 = (void *)0;
19824#line 300
19825 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr_____5): "m" (this_cpu_off),
19826 "0" (& __uv_hub_info));
19827#line 300
19828 __cil_tmp28 = (struct uv_hub_info_s *)tcp_ptr_____5;
19829#line 300
19830 __cil_tmp29 = (unsigned long )__cil_tmp28;
19831#line 300
19832 __cil_tmp30 = __cil_tmp29 + 23;
19833#line 300
19834 __cil_tmp31 = *((unsigned char *)__cil_tmp30);
19835#line 300
19836 __cil_tmp32 = (int )__cil_tmp31;
19837#line 300
19838 __cil_tmp33 = (struct uv_hub_info_s *)tcp_ptr_____4;
19839#line 300
19840 __cil_tmp34 = (unsigned long )__cil_tmp33;
19841#line 300
19842 __cil_tmp35 = __cil_tmp34 + 57;
19843#line 300
19844 __cil_tmp36 = *((unsigned char *)__cil_tmp35);
19845#line 300
19846 __cil_tmp37 = (int )__cil_tmp36;
19847#line 300
19848 __cil_tmp38 = paddr >> __cil_tmp37;
19849#line 300
19850 __cil_tmp39 = __cil_tmp38 << __cil_tmp32;
19851#line 300
19852 __cil_tmp40 = (struct uv_hub_info_s *)tcp_ptr_____3;
19853#line 300
19854 __cil_tmp41 = (unsigned long )__cil_tmp40;
19855#line 300
19856 __cil_tmp42 = __cil_tmp41 + 22;
19857#line 300
19858 __cil_tmp43 = *((unsigned char *)__cil_tmp42);
19859#line 300
19860 __cil_tmp44 = (int )__cil_tmp43;
19861#line 300
19862 __cil_tmp45 = (struct uv_hub_info_s *)tcp_ptr_____2;
19863#line 300
19864 __cil_tmp46 = (unsigned long )__cil_tmp45;
19865#line 300
19866 __cil_tmp47 = __cil_tmp46 + 22;
19867#line 300
19868 __cil_tmp48 = *((unsigned char *)__cil_tmp47);
19869#line 300
19870 __cil_tmp49 = (int )__cil_tmp48;
19871#line 300
19872 __cil_tmp50 = paddr << __cil_tmp49;
19873#line 300
19874 __cil_tmp51 = __cil_tmp50 >> __cil_tmp44;
19875#line 300
19876 paddr = __cil_tmp51 | __cil_tmp39;
19877#line 301
19878 return (paddr);
19879}
19880}
19881#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
19882__inline static unsigned long uv_gpa(void *v )
19883{ unsigned long tmp ;
19884 unsigned long tmp___0 ;
19885 unsigned long __cil_tmp4 ;
19886
19887 {
19888 {
19889#line 308
19890 __cil_tmp4 = (unsigned long )v;
19891#line 308
19892 tmp = __phys_addr(__cil_tmp4);
19893#line 308
19894 tmp___0 = uv_soc_phys_ram_to_gpa(tmp);
19895 }
19896#line 308
19897 return (tmp___0);
19898}
19899}
19900#line 404 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
19901__inline static void volatile *uv_global_mmr64_address(int pnode , unsigned long offset )
19902{ unsigned long tcp_ptr__ ;
19903 void *__vpp_verify ;
19904 unsigned long __cil_tmp5 ;
19905 unsigned long __cil_tmp6 ;
19906 struct uv_hub_info_s *__cil_tmp7 ;
19907 unsigned long __cil_tmp8 ;
19908 unsigned long __cil_tmp9 ;
19909 unsigned long __cil_tmp10 ;
19910 unsigned long __cil_tmp11 ;
19911
19912 {
19913#line 406
19914 __vpp_verify = (void *)0;
19915#line 406
19916 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr__): "m" (this_cpu_off), "0" (& __uv_hub_info));
19917 {
19918#line 406
19919 __cil_tmp5 = (unsigned long )pnode;
19920#line 406
19921 __cil_tmp6 = __cil_tmp5 << 26;
19922#line 406
19923 __cil_tmp7 = (struct uv_hub_info_s *)tcp_ptr__;
19924#line 406
19925 __cil_tmp8 = *((unsigned long *)__cil_tmp7);
19926#line 406
19927 __cil_tmp9 = __cil_tmp8 | __cil_tmp6;
19928#line 406
19929 __cil_tmp10 = __cil_tmp9 | offset;
19930#line 406
19931 __cil_tmp11 = __cil_tmp10 + 0xffff880000000000UL;
19932#line 406
19933 return ((void volatile *)__cil_tmp11);
19934 }
19935}
19936}
19937#line 415 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
19938__inline static unsigned long uv_read_global_mmr64(int pnode , unsigned long offset )
19939{ void volatile *tmp ;
19940 unsigned long tmp___0 ;
19941 void volatile *__cil_tmp5 ;
19942
19943 {
19944 {
19945#line 417
19946 tmp = uv_global_mmr64_address(pnode, offset);
19947#line 417
19948 __cil_tmp5 = (void volatile *)tmp;
19949#line 417
19950 tmp___0 = readq(__cil_tmp5);
19951 }
19952#line 417
19953 return (tmp___0);
19954}
19955}
19956#line 481
19957extern struct uv_blade_info *uv_blade_info ;
19958#line 483
19959extern short *uv_cpu_to_blade ;
19960#line 499 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
19961__inline static int uv_cpu_to_blade_id(int cpu )
19962{ unsigned long __cil_tmp2 ;
19963 short *__cil_tmp3 ;
19964 short __cil_tmp4 ;
19965
19966 {
19967 {
19968#line 501
19969 __cil_tmp2 = (unsigned long )cpu;
19970#line 501
19971 __cil_tmp3 = uv_cpu_to_blade + __cil_tmp2;
19972#line 501
19973 __cil_tmp4 = *__cil_tmp3;
19974#line 501
19975 return ((int )__cil_tmp4);
19976 }
19977}
19978}
19979#line 511 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
19980__inline static int uv_blade_to_pnode(int bid )
19981{ unsigned long __cil_tmp2 ;
19982 struct uv_blade_info *__cil_tmp3 ;
19983 unsigned long __cil_tmp4 ;
19984 unsigned long __cil_tmp5 ;
19985 unsigned short __cil_tmp6 ;
19986
19987 {
19988 {
19989#line 513
19990 __cil_tmp2 = (unsigned long )bid;
19991#line 513
19992 __cil_tmp3 = uv_blade_info + __cil_tmp2;
19993#line 513
19994 __cil_tmp4 = (unsigned long )__cil_tmp3;
19995#line 513
19996 __cil_tmp5 = __cil_tmp4 + 4;
19997#line 513
19998 __cil_tmp6 = *((unsigned short *)__cil_tmp5);
19999#line 513
20000 return ((int )__cil_tmp6);
20001 }
20002}
20003}
20004#line 535 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_hub.h"
20005__inline static int uv_cpu_to_pnode(int cpu )
20006{ int tmp ;
20007 unsigned long __cil_tmp3 ;
20008 struct uv_blade_info *__cil_tmp4 ;
20009 unsigned long __cil_tmp5 ;
20010 unsigned long __cil_tmp6 ;
20011 unsigned short __cil_tmp7 ;
20012
20013 {
20014 {
20015#line 537
20016 tmp = uv_cpu_to_blade_id(cpu);
20017 }
20018 {
20019#line 537
20020 __cil_tmp3 = (unsigned long )tmp;
20021#line 537
20022 __cil_tmp4 = uv_blade_info + __cil_tmp3;
20023#line 537
20024 __cil_tmp5 = (unsigned long )__cil_tmp4;
20025#line 537
20026 __cil_tmp6 = __cil_tmp5 + 4;
20027#line 537
20028 __cil_tmp7 = *((unsigned short *)__cil_tmp6);
20029#line 537
20030 return ((int )__cil_tmp7);
20031 }
20032}
20033}
20034#line 95 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/bios.h"
20035extern int uv_bios_mq_watchlist_alloc(unsigned long , unsigned int , unsigned long * ) ;
20036#line 97
20037extern int uv_bios_mq_watchlist_free(int , int ) ;
20038#line 99
20039extern s64 uv_bios_reserved_page_pa(u64 , u64 * , u64 * , u64 * ) ;
20040#line 106
20041extern long sn_partition_id ;
20042#line 35 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uv/uv_irq.h"
20043extern int uv_setup_irq(char * , int , int , unsigned long , int ) ;
20044#line 36
20045extern void uv_teardown_irq(unsigned int ) ;
20046#line 74 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/../sgi-gru/grukservices.h"
20047extern int gru_create_message_queue(struct gru_message_queue_desc * , void * , unsigned int ,
20048 int , int , int ) ;
20049#line 94
20050extern int gru_send_message_gpa(struct gru_message_queue_desc * , void * , unsigned int ) ;
20051#line 114
20052extern void gru_free_message(struct gru_message_queue_desc * , void * ) ;
20053#line 130
20054extern void *gru_get_next_message(struct gru_message_queue_desc * ) ;
20055#line 345 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/misc/sgi-xp/xp.h"
20056extern enum xp_retval (*xp_expand_memprotect)(unsigned long , unsigned long ) ;
20057#line 346
20058extern enum xp_retval (*xp_restrict_memprotect)(unsigned long , unsigned long ) ;
20059#line 65 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20060static struct xpc_heartbeat_uv *xpc_heartbeat_uv ;
20061#line 77 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20062static struct xpc_gru_mq_uv *xpc_activate_mq_uv ;
20063#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20064static struct xpc_gru_mq_uv *xpc_notify_mq_uv ;
20065#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20066static int xpc_setup_partitions_uv(void)
20067{ short partid ;
20068 struct xpc_partition_uv *part_uv ;
20069 struct lock_class_key __key ;
20070 struct lock_class_key __key___0 ;
20071 unsigned long __cil_tmp5 ;
20072 struct xpc_partition *__cil_tmp6 ;
20073 unsigned long __cil_tmp7 ;
20074 unsigned long __cil_tmp8 ;
20075 unsigned long __cil_tmp9 ;
20076 unsigned long __cil_tmp10 ;
20077 struct mutex *__cil_tmp11 ;
20078 unsigned long __cil_tmp12 ;
20079 unsigned long __cil_tmp13 ;
20080 spinlock_t *__cil_tmp14 ;
20081 unsigned long __cil_tmp15 ;
20082 unsigned long __cil_tmp16 ;
20083 struct raw_spinlock *__cil_tmp17 ;
20084 unsigned long __cil_tmp18 ;
20085 unsigned long __cil_tmp19 ;
20086 int __cil_tmp20 ;
20087 int __cil_tmp21 ;
20088 int __cil_tmp22 ;
20089
20090 {
20091#line 86
20092 partid = (short)0;
20093#line 86
20094 goto ldv_27603;
20095 ldv_27602:
20096 {
20097#line 87
20098 __cil_tmp5 = (unsigned long )partid;
20099#line 87
20100 __cil_tmp6 = xpc_partitions + __cil_tmp5;
20101#line 87
20102 __cil_tmp7 = (unsigned long )__cil_tmp6;
20103#line 87
20104 __cil_tmp8 = __cil_tmp7 + 576;
20105#line 87
20106 part_uv = (struct xpc_partition_uv *)__cil_tmp8;
20107#line 89
20108 __cil_tmp9 = (unsigned long )part_uv;
20109#line 89
20110 __cil_tmp10 = __cil_tmp9 + 40;
20111#line 89
20112 __cil_tmp11 = (struct mutex *)__cil_tmp10;
20113#line 89
20114 __mutex_init(__cil_tmp11, "&part_uv->cached_activate_gru_mq_desc_mutex", & __key);
20115#line 90
20116 __cil_tmp12 = (unsigned long )part_uv;
20117#line 90
20118 __cil_tmp13 = __cil_tmp12 + 208;
20119#line 90
20120 __cil_tmp14 = (spinlock_t *)__cil_tmp13;
20121#line 90
20122 spinlock_check(__cil_tmp14);
20123#line 90
20124 __cil_tmp15 = (unsigned long )part_uv;
20125#line 90
20126 __cil_tmp16 = __cil_tmp15 + 208;
20127#line 90
20128 __cil_tmp17 = (struct raw_spinlock *)__cil_tmp16;
20129#line 90
20130 __raw_spin_lock_init(__cil_tmp17, "&(&part_uv->flags_lock)->rlock", & __key___0);
20131#line 91
20132 __cil_tmp18 = (unsigned long )part_uv;
20133#line 91
20134 __cil_tmp19 = __cil_tmp18 + 284;
20135#line 91
20136 *((u8 *)__cil_tmp19) = (u8 )0U;
20137#line 86
20138 __cil_tmp20 = (int )partid;
20139#line 86
20140 __cil_tmp21 = __cil_tmp20 + 1;
20141#line 86
20142 partid = (short )__cil_tmp21;
20143 }
20144 ldv_27603: ;
20145 {
20146#line 86
20147 __cil_tmp22 = (int )partid;
20148#line 86
20149 if (__cil_tmp22 <= 255) {
20150#line 87
20151 goto ldv_27602;
20152 } else {
20153#line 89
20154 goto ldv_27604;
20155 }
20156 }
20157 ldv_27604: ;
20158#line 93
20159 return (0);
20160}
20161}
20162#line 97 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20163static void xpc_teardown_partitions_uv(void)
20164{ short partid ;
20165 struct xpc_partition_uv *part_uv ;
20166 unsigned long irq_flags ;
20167 unsigned long __cil_tmp4 ;
20168 struct xpc_partition *__cil_tmp5 ;
20169 unsigned long __cil_tmp6 ;
20170 unsigned long __cil_tmp7 ;
20171 void *__cil_tmp8 ;
20172 unsigned long __cil_tmp9 ;
20173 unsigned long __cil_tmp10 ;
20174 unsigned long __cil_tmp11 ;
20175 void *__cil_tmp12 ;
20176 unsigned long __cil_tmp13 ;
20177 unsigned long __cil_tmp14 ;
20178 unsigned long __cil_tmp15 ;
20179 struct mutex *__cil_tmp16 ;
20180 unsigned long __cil_tmp17 ;
20181 unsigned long __cil_tmp18 ;
20182 unsigned long __cil_tmp19 ;
20183 unsigned long __cil_tmp20 ;
20184 unsigned int __cil_tmp21 ;
20185 unsigned long __cil_tmp22 ;
20186 unsigned long __cil_tmp23 ;
20187 spinlock_t *__cil_tmp24 ;
20188 unsigned long __cil_tmp25 ;
20189 unsigned long __cil_tmp26 ;
20190 void *__cil_tmp27 ;
20191 void *__cil_tmp28 ;
20192 unsigned long __cil_tmp29 ;
20193 unsigned long __cil_tmp30 ;
20194 unsigned long __cil_tmp31 ;
20195 unsigned long __cil_tmp32 ;
20196 struct mutex *__cil_tmp33 ;
20197 int __cil_tmp34 ;
20198 int __cil_tmp35 ;
20199 int __cil_tmp36 ;
20200
20201 {
20202#line 103
20203 partid = (short)0;
20204#line 103
20205 goto ldv_27612;
20206 ldv_27611:
20207#line 104
20208 __cil_tmp4 = (unsigned long )partid;
20209#line 104
20210 __cil_tmp5 = xpc_partitions + __cil_tmp4;
20211#line 104
20212 __cil_tmp6 = (unsigned long )__cil_tmp5;
20213#line 104
20214 __cil_tmp7 = __cil_tmp6 + 576;
20215#line 104
20216 part_uv = (struct xpc_partition_uv *)__cil_tmp7;
20217 {
20218#line 106
20219 __cil_tmp8 = (void *)0;
20220#line 106
20221 __cil_tmp9 = (unsigned long )__cil_tmp8;
20222#line 106
20223 __cil_tmp10 = (unsigned long )part_uv;
20224#line 106
20225 __cil_tmp11 = __cil_tmp10 + 32;
20226#line 106
20227 __cil_tmp12 = *((void **)__cil_tmp11);
20228#line 106
20229 __cil_tmp13 = (unsigned long )__cil_tmp12;
20230#line 106
20231 if (__cil_tmp13 != __cil_tmp9) {
20232 {
20233#line 107
20234 __cil_tmp14 = (unsigned long )part_uv;
20235#line 107
20236 __cil_tmp15 = __cil_tmp14 + 40;
20237#line 107
20238 __cil_tmp16 = (struct mutex *)__cil_tmp15;
20239#line 107
20240 mutex_lock_nested(__cil_tmp16, 0U);
20241#line 108
20242 ldv_spin_lock();
20243#line 109
20244 __cil_tmp17 = (unsigned long )part_uv;
20245#line 109
20246 __cil_tmp18 = __cil_tmp17 + 280;
20247#line 109
20248 __cil_tmp19 = (unsigned long )part_uv;
20249#line 109
20250 __cil_tmp20 = __cil_tmp19 + 280;
20251#line 109
20252 __cil_tmp21 = *((unsigned int *)__cil_tmp20);
20253#line 109
20254 *((unsigned int *)__cil_tmp18) = __cil_tmp21 & 4294967294U;
20255#line 110
20256 __cil_tmp22 = (unsigned long )part_uv;
20257#line 110
20258 __cil_tmp23 = __cil_tmp22 + 208;
20259#line 110
20260 __cil_tmp24 = (spinlock_t *)__cil_tmp23;
20261#line 110
20262 spin_unlock_irqrestore(__cil_tmp24, irq_flags);
20263#line 111
20264 __cil_tmp25 = (unsigned long )part_uv;
20265#line 111
20266 __cil_tmp26 = __cil_tmp25 + 32;
20267#line 111
20268 __cil_tmp27 = *((void **)__cil_tmp26);
20269#line 111
20270 __cil_tmp28 = (void *)__cil_tmp27;
20271#line 111
20272 kfree(__cil_tmp28);
20273#line 112
20274 __cil_tmp29 = (unsigned long )part_uv;
20275#line 112
20276 __cil_tmp30 = __cil_tmp29 + 32;
20277#line 112
20278 *((void **)__cil_tmp30) = (void *)0;
20279#line 113
20280 __cil_tmp31 = (unsigned long )part_uv;
20281#line 113
20282 __cil_tmp32 = __cil_tmp31 + 40;
20283#line 113
20284 __cil_tmp33 = (struct mutex *)__cil_tmp32;
20285#line 113
20286 mutex_unlock(__cil_tmp33);
20287 }
20288 } else {
20289
20290 }
20291 }
20292#line 103
20293 __cil_tmp34 = (int )partid;
20294#line 103
20295 __cil_tmp35 = __cil_tmp34 + 1;
20296#line 103
20297 partid = (short )__cil_tmp35;
20298 ldv_27612: ;
20299 {
20300#line 103
20301 __cil_tmp36 = (int )partid;
20302#line 103
20303 if (__cil_tmp36 <= 255) {
20304#line 104
20305 goto ldv_27611;
20306 } else {
20307#line 106
20308 goto ldv_27613;
20309 }
20310 }
20311 ldv_27613: ;
20312#line 108
20313 return;
20314}
20315}
20316#line 120 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20317static int xpc_get_gru_mq_irq_uv(struct xpc_gru_mq_uv *mq , int cpu , char *irq_name )
20318{ int mmr_pnode ;
20319 int tmp ;
20320 unsigned long __cil_tmp6 ;
20321 unsigned long __cil_tmp7 ;
20322 int __cil_tmp8 ;
20323 unsigned long __cil_tmp9 ;
20324 unsigned long __cil_tmp10 ;
20325 unsigned long __cil_tmp11 ;
20326 unsigned long __cil_tmp12 ;
20327 int __cil_tmp13 ;
20328 unsigned long __cil_tmp14 ;
20329 unsigned long __cil_tmp15 ;
20330 unsigned long __cil_tmp16 ;
20331 unsigned long __cil_tmp17 ;
20332 unsigned long __cil_tmp18 ;
20333 int __cil_tmp19 ;
20334 struct device *__cil_tmp20 ;
20335 unsigned long __cil_tmp21 ;
20336 unsigned long __cil_tmp22 ;
20337 int __cil_tmp23 ;
20338 int __cil_tmp24 ;
20339 unsigned long __cil_tmp25 ;
20340 unsigned long __cil_tmp26 ;
20341 unsigned long __cil_tmp27 ;
20342 unsigned long __cil_tmp28 ;
20343 unsigned long __cil_tmp29 ;
20344 unsigned long __cil_tmp30 ;
20345 unsigned long __cil_tmp31 ;
20346
20347 {
20348 {
20349#line 122
20350 __cil_tmp6 = (unsigned long )mq;
20351#line 122
20352 __cil_tmp7 = __cil_tmp6 + 16;
20353#line 122
20354 __cil_tmp8 = *((int *)__cil_tmp7);
20355#line 122
20356 tmp = uv_blade_to_pnode(__cil_tmp8);
20357#line 122
20358 mmr_pnode = tmp;
20359#line 125
20360 __cil_tmp9 = (unsigned long )mq;
20361#line 125
20362 __cil_tmp10 = __cil_tmp9 + 12;
20363#line 125
20364 __cil_tmp11 = (unsigned long )mq;
20365#line 125
20366 __cil_tmp12 = __cil_tmp11 + 16;
20367#line 125
20368 __cil_tmp13 = *((int *)__cil_tmp12);
20369#line 125
20370 __cil_tmp14 = (unsigned long )mq;
20371#line 125
20372 __cil_tmp15 = __cil_tmp14 + 24;
20373#line 125
20374 __cil_tmp16 = *((unsigned long *)__cil_tmp15);
20375#line 125
20376 *((int *)__cil_tmp10) = uv_setup_irq(irq_name, cpu, __cil_tmp13, __cil_tmp16, 2);
20377 }
20378 {
20379#line 127
20380 __cil_tmp17 = (unsigned long )mq;
20381#line 127
20382 __cil_tmp18 = __cil_tmp17 + 12;
20383#line 127
20384 __cil_tmp19 = *((int *)__cil_tmp18);
20385#line 127
20386 if (__cil_tmp19 < 0) {
20387 {
20388#line 128
20389 __cil_tmp20 = (struct device *)xpc_part;
20390#line 128
20391 __cil_tmp21 = (unsigned long )mq;
20392#line 128
20393 __cil_tmp22 = __cil_tmp21 + 12;
20394#line 128
20395 __cil_tmp23 = *((int *)__cil_tmp22);
20396#line 128
20397 __cil_tmp24 = - __cil_tmp23;
20398#line 128
20399 dev_err(__cil_tmp20, "uv_setup_irq() returned error=%d\n", __cil_tmp24);
20400 }
20401 {
20402#line 130
20403 __cil_tmp25 = (unsigned long )mq;
20404#line 130
20405 __cil_tmp26 = __cil_tmp25 + 12;
20406#line 130
20407 return (*((int *)__cil_tmp26));
20408 }
20409 } else {
20410
20411 }
20412 }
20413 {
20414#line 133
20415 __cil_tmp27 = (unsigned long )mq;
20416#line 133
20417 __cil_tmp28 = __cil_tmp27 + 32;
20418#line 133
20419 __cil_tmp29 = (unsigned long )mq;
20420#line 133
20421 __cil_tmp30 = __cil_tmp29 + 24;
20422#line 133
20423 __cil_tmp31 = *((unsigned long *)__cil_tmp30);
20424#line 133
20425 *((unsigned long *)__cil_tmp28) = uv_read_global_mmr64(mmr_pnode, __cil_tmp31);
20426 }
20427#line 149
20428 return (0);
20429}
20430}
20431#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20432static void xpc_release_gru_mq_irq_uv(struct xpc_gru_mq_uv *mq )
20433{ unsigned long __cil_tmp2 ;
20434 unsigned long __cil_tmp3 ;
20435 int __cil_tmp4 ;
20436 unsigned int __cil_tmp5 ;
20437
20438 {
20439 {
20440#line 156
20441 __cil_tmp2 = (unsigned long )mq;
20442#line 156
20443 __cil_tmp3 = __cil_tmp2 + 12;
20444#line 156
20445 __cil_tmp4 = *((int *)__cil_tmp3);
20446#line 156
20447 __cil_tmp5 = (unsigned int )__cil_tmp4;
20448#line 156
20449 uv_teardown_irq(__cil_tmp5);
20450 }
20451#line 157
20452 return;
20453}
20454}
20455#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20456static int xpc_gru_mq_watchlist_alloc_uv(struct xpc_gru_mq_uv *mq )
20457{ int ret ;
20458 unsigned long tmp ;
20459 void *__cil_tmp4 ;
20460 unsigned long __cil_tmp5 ;
20461 unsigned long __cil_tmp6 ;
20462 unsigned int __cil_tmp7 ;
20463 unsigned long __cil_tmp8 ;
20464 unsigned long __cil_tmp9 ;
20465 unsigned long *__cil_tmp10 ;
20466 struct device *__cil_tmp11 ;
20467 unsigned long __cil_tmp12 ;
20468 unsigned long __cil_tmp13 ;
20469
20470 {
20471 {
20472#line 187
20473 __cil_tmp4 = *((void **)mq);
20474#line 187
20475 tmp = uv_gpa(__cil_tmp4);
20476#line 187
20477 __cil_tmp5 = (unsigned long )mq;
20478#line 187
20479 __cil_tmp6 = __cil_tmp5 + 8;
20480#line 187
20481 __cil_tmp7 = *((unsigned int *)__cil_tmp6);
20482#line 187
20483 __cil_tmp8 = (unsigned long )mq;
20484#line 187
20485 __cil_tmp9 = __cil_tmp8 + 24;
20486#line 187
20487 __cil_tmp10 = (unsigned long *)__cil_tmp9;
20488#line 187
20489 ret = uv_bios_mq_watchlist_alloc(tmp, __cil_tmp7, __cil_tmp10);
20490 }
20491#line 189
20492 if (ret < 0) {
20493 {
20494#line 190
20495 __cil_tmp11 = (struct device *)xpc_part;
20496#line 190
20497 dev_err(__cil_tmp11, "uv_bios_mq_watchlist_alloc() failed, ret=%d\n", ret);
20498 }
20499#line 192
20500 return (ret);
20501 } else {
20502
20503 }
20504#line 198
20505 __cil_tmp12 = (unsigned long )mq;
20506#line 198
20507 __cil_tmp13 = __cil_tmp12 + 40;
20508#line 198
20509 *((int *)__cil_tmp13) = ret;
20510#line 199
20511 return (0);
20512}
20513}
20514#line 203 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20515static void xpc_gru_mq_watchlist_free_uv(struct xpc_gru_mq_uv *mq )
20516{ int ret ;
20517 int mmr_pnode ;
20518 int tmp ;
20519 long tmp___0 ;
20520 unsigned long __cil_tmp6 ;
20521 unsigned long __cil_tmp7 ;
20522 int __cil_tmp8 ;
20523 unsigned long __cil_tmp9 ;
20524 unsigned long __cil_tmp10 ;
20525 int __cil_tmp11 ;
20526 int __cil_tmp12 ;
20527 long __cil_tmp13 ;
20528
20529 {
20530 {
20531#line 206
20532 __cil_tmp6 = (unsigned long )mq;
20533#line 206
20534 __cil_tmp7 = __cil_tmp6 + 16;
20535#line 206
20536 __cil_tmp8 = *((int *)__cil_tmp7);
20537#line 206
20538 tmp = uv_blade_to_pnode(__cil_tmp8);
20539#line 206
20540 mmr_pnode = tmp;
20541#line 209
20542 __cil_tmp9 = (unsigned long )mq;
20543#line 209
20544 __cil_tmp10 = __cil_tmp9 + 40;
20545#line 209
20546 __cil_tmp11 = *((int *)__cil_tmp10);
20547#line 209
20548 ret = uv_bios_mq_watchlist_free(mmr_pnode, __cil_tmp11);
20549#line 210
20550 __cil_tmp12 = ret != 0;
20551#line 210
20552 __cil_tmp13 = (long )__cil_tmp12;
20553#line 210
20554 tmp___0 = __builtin_expect(__cil_tmp13, 0L);
20555 }
20556#line 210
20557 if (tmp___0 != 0L) {
20558#line 210
20559 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"),
20560 "i" (210), "i" (12UL));
20561 ldv_27632: ;
20562#line 210
20563 goto ldv_27632;
20564 } else {
20565
20566 }
20567#line 212
20568 return;
20569}
20570}
20571#line 220 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
20572static struct xpc_gru_mq_uv *xpc_create_gru_mq_uv(unsigned int mq_size , int cpu ,
20573 char *irq_name , irqreturn_t (*irq_handler)(int ,
20574 void * ) )
20575{ enum xp_retval xp_ret ;
20576 int ret ;
20577 int nid ;
20578 int nasid ;
20579 int pg_order ;
20580 struct page *page ;
20581 struct xpc_gru_mq_uv *mq ;
20582 struct uv_IO_APIC_route_entry *mmr_value ;
20583 void *tmp ;
20584 int tmp___0 ;
20585 unsigned long tcp_ptr__ ;
20586 void *__vpp_verify ;
20587 unsigned long tmp___1 ;
20588 void *tmp___2 ;
20589 struct xpc_gru_mq_uv *__cil_tmp19 ;
20590 unsigned long __cil_tmp20 ;
20591 unsigned long __cil_tmp21 ;
20592 struct device *__cil_tmp22 ;
20593 unsigned long __cil_tmp23 ;
20594 unsigned long __cil_tmp24 ;
20595 void *__cil_tmp25 ;
20596 unsigned long __cil_tmp26 ;
20597 unsigned long __cil_tmp27 ;
20598 unsigned long __cil_tmp28 ;
20599 void *__cil_tmp29 ;
20600 unsigned long __cil_tmp30 ;
20601 struct device *__cil_tmp31 ;
20602 unsigned long __cil_tmp32 ;
20603 unsigned long __cil_tmp33 ;
20604 unsigned long __cil_tmp34 ;
20605 int __cil_tmp35 ;
20606 unsigned long __cil_tmp36 ;
20607 unsigned long __cil_tmp37 ;
20608 unsigned int __cil_tmp38 ;
20609 int __cil_tmp39 ;
20610 unsigned long __cil_tmp40 ;
20611 unsigned long __cil_tmp41 ;
20612 unsigned long __cil_tmp42 ;
20613 unsigned int __cil_tmp43 ;
20614 struct page *__cil_tmp44 ;
20615 unsigned long __cil_tmp45 ;
20616 unsigned long __cil_tmp46 ;
20617 struct device *__cil_tmp47 ;
20618 struct page *__cil_tmp48 ;
20619 unsigned long __cil_tmp49 ;
20620 unsigned long __cil_tmp50 ;
20621 int __cil_tmp51 ;
20622 unsigned int __cil_tmp52 ;
20623 char *__cil_tmp53 ;
20624 void *__cil_tmp54 ;
20625 struct device *__cil_tmp55 ;
20626 unsigned long __cil_tmp56 ;
20627 unsigned long __cil_tmp57 ;
20628 int __cil_tmp58 ;
20629 int __cil_tmp59 ;
20630 struct uv_hub_info_s *__cil_tmp60 ;
20631 unsigned long __cil_tmp61 ;
20632 unsigned long __cil_tmp62 ;
20633 unsigned int __cil_tmp63 ;
20634 unsigned int __cil_tmp64 ;
20635 unsigned int __cil_tmp65 ;
20636 unsigned int __cil_tmp66 ;
20637 unsigned long __cil_tmp67 ;
20638 unsigned long __cil_tmp68 ;
20639 unsigned long *__cil_tmp69 ;
20640 unsigned long __cil_tmp70 ;
20641 unsigned long __cil_tmp71 ;
20642 void *__cil_tmp72 ;
20643 struct gru_message_queue_desc *__cil_tmp73 ;
20644 void *__cil_tmp74 ;
20645 unsigned char __cil_tmp75 ;
20646 int __cil_tmp76 ;
20647 unsigned long __cil_tmp77 ;
20648 unsigned long __cil_tmp78 ;
20649 unsigned int __cil_tmp79 ;
20650 int __cil_tmp80 ;
20651 struct device *__cil_tmp81 ;
20652 void *__cil_tmp82 ;
20653 unsigned long __cil_tmp83 ;
20654 unsigned int __cil_tmp84 ;
20655 unsigned long __cil_tmp85 ;
20656 unsigned long __cil_tmp86 ;
20657 int __cil_tmp87 ;
20658 unsigned int __cil_tmp88 ;
20659 void *__cil_tmp89 ;
20660 void *__cil_tmp90 ;
20661 unsigned long __cil_tmp91 ;
20662 unsigned int __cil_tmp92 ;
20663 unsigned long __cil_tmp93 ;
20664 unsigned long __cil_tmp94 ;
20665 void *__cil_tmp95 ;
20666 void *__cil_tmp96 ;
20667 void *__cil_tmp97 ;
20668 long __cil_tmp98 ;
20669
20670 {
20671 {
20672#line 232
20673 tmp = kmalloc(56UL, 208U);
20674#line 232
20675 mq = (struct xpc_gru_mq_uv *)tmp;
20676 }
20677 {
20678#line 233
20679 __cil_tmp19 = (struct xpc_gru_mq_uv *)0;
20680#line 233
20681 __cil_tmp20 = (unsigned long )__cil_tmp19;
20682#line 233
20683 __cil_tmp21 = (unsigned long )mq;
20684#line 233
20685 if (__cil_tmp21 == __cil_tmp20) {
20686 {
20687#line 234
20688 __cil_tmp22 = (struct device *)xpc_part;
20689#line 234
20690 dev_err(__cil_tmp22, "xpc_create_gru_mq_uv() failed to kmalloc() a xpc_gru_mq_uv structure\n");
20691#line 236
20692 ret = -12;
20693 }
20694#line 237
20695 goto out_0;
20696 } else {
20697
20698 }
20699 }
20700 {
20701#line 240
20702 __cil_tmp23 = (unsigned long )mq;
20703#line 240
20704 __cil_tmp24 = __cil_tmp23 + 48;
20705#line 240
20706 *((void **)__cil_tmp24) = kzalloc(32UL, 208U);
20707 }
20708 {
20709#line 242
20710 __cil_tmp25 = (void *)0;
20711#line 242
20712 __cil_tmp26 = (unsigned long )__cil_tmp25;
20713#line 242
20714 __cil_tmp27 = (unsigned long )mq;
20715#line 242
20716 __cil_tmp28 = __cil_tmp27 + 48;
20717#line 242
20718 __cil_tmp29 = *((void **)__cil_tmp28);
20719#line 242
20720 __cil_tmp30 = (unsigned long )__cil_tmp29;
20721#line 242
20722 if (__cil_tmp30 == __cil_tmp26) {
20723 {
20724#line 243
20725 __cil_tmp31 = (struct device *)xpc_part;
20726#line 243
20727 dev_err(__cil_tmp31, "xpc_create_gru_mq_uv() failed to kmalloc() a gru_message_queue_desc structure\n");
20728#line 245
20729 ret = -12;
20730 }
20731#line 246
20732 goto out_1;
20733 } else {
20734
20735 }
20736 }
20737 {
20738#line 249
20739 __cil_tmp32 = (unsigned long )mq_size;
20740#line 249
20741 pg_order = __get_order(__cil_tmp32);
20742#line 250
20743 __cil_tmp33 = (unsigned long )mq;
20744#line 250
20745 __cil_tmp34 = __cil_tmp33 + 8;
20746#line 250
20747 __cil_tmp35 = pg_order + 12;
20748#line 250
20749 *((unsigned int *)__cil_tmp34) = (unsigned int )__cil_tmp35;
20750#line 251
20751 __cil_tmp36 = (unsigned long )mq;
20752#line 251
20753 __cil_tmp37 = __cil_tmp36 + 8;
20754#line 251
20755 __cil_tmp38 = *((unsigned int *)__cil_tmp37);
20756#line 251
20757 __cil_tmp39 = (int )__cil_tmp38;
20758#line 251
20759 __cil_tmp40 = 1UL << __cil_tmp39;
20760#line 251
20761 mq_size = (unsigned int )__cil_tmp40;
20762#line 253
20763 __cil_tmp41 = (unsigned long )mq;
20764#line 253
20765 __cil_tmp42 = __cil_tmp41 + 16;
20766#line 253
20767 *((int *)__cil_tmp42) = uv_cpu_to_blade_id(cpu);
20768#line 255
20769 nid = __cpu_to_node(cpu);
20770#line 256
20771 __cil_tmp43 = (unsigned int )pg_order;
20772#line 256
20773 page = alloc_pages_exact_node(nid, 299728U, __cil_tmp43);
20774 }
20775 {
20776#line 258
20777 __cil_tmp44 = (struct page *)0;
20778#line 258
20779 __cil_tmp45 = (unsigned long )__cil_tmp44;
20780#line 258
20781 __cil_tmp46 = (unsigned long )page;
20782#line 258
20783 if (__cil_tmp46 == __cil_tmp45) {
20784 {
20785#line 259
20786 __cil_tmp47 = (struct device *)xpc_part;
20787#line 259
20788 dev_err(__cil_tmp47, "xpc_create_gru_mq_uv() failed to alloc %d bytes of memory on nid=%d for GRU mq\n",
20789 mq_size, nid);
20790#line 261
20791 ret = -12;
20792 }
20793#line 262
20794 goto out_2;
20795 } else {
20796
20797 }
20798 }
20799 {
20800#line 264
20801 __cil_tmp48 = (struct page *)page;
20802#line 264
20803 *((void **)mq) = lowmem_page_address(__cil_tmp48);
20804#line 267
20805 ret = xpc_gru_mq_watchlist_alloc_uv(mq);
20806 }
20807#line 268
20808 if (ret != 0) {
20809#line 269
20810 goto out_3;
20811 } else {
20812
20813 }
20814 {
20815#line 271
20816 ret = xpc_get_gru_mq_irq_uv(mq, cpu, irq_name);
20817 }
20818#line 272
20819 if (ret != 0) {
20820#line 273
20821 goto out_4;
20822 } else {
20823
20824 }
20825 {
20826#line 275
20827 __cil_tmp49 = (unsigned long )mq;
20828#line 275
20829 __cil_tmp50 = __cil_tmp49 + 12;
20830#line 275
20831 __cil_tmp51 = *((int *)__cil_tmp50);
20832#line 275
20833 __cil_tmp52 = (unsigned int )__cil_tmp51;
20834#line 275
20835 __cil_tmp53 = (char *)irq_name;
20836#line 275
20837 __cil_tmp54 = (void *)0;
20838#line 275
20839 ret = request_irq(__cil_tmp52, irq_handler, 0UL, __cil_tmp53, __cil_tmp54);
20840 }
20841#line 276
20842 if (ret != 0) {
20843 {
20844#line 277
20845 __cil_tmp55 = (struct device *)xpc_part;
20846#line 277
20847 __cil_tmp56 = (unsigned long )mq;
20848#line 277
20849 __cil_tmp57 = __cil_tmp56 + 12;
20850#line 277
20851 __cil_tmp58 = *((int *)__cil_tmp57);
20852#line 277
20853 __cil_tmp59 = - ret;
20854#line 277
20855 dev_err(__cil_tmp55, "request_irq(irq=%d) returned error=%d\n", __cil_tmp58, __cil_tmp59);
20856 }
20857#line 279
20858 goto out_5;
20859 } else {
20860
20861 }
20862 {
20863#line 282
20864 tmp___0 = uv_cpu_to_pnode(cpu);
20865#line 282
20866 __vpp_verify = (void *)0;
20867#line 282
20868 __asm__ volatile ("add %%gs:%P1, %0": "=r" (tcp_ptr__): "m" (this_cpu_off), "0" (& __uv_hub_info));
20869#line 282
20870 __cil_tmp60 = (struct uv_hub_info_s *)tcp_ptr__;
20871#line 282
20872 __cil_tmp61 = (unsigned long )__cil_tmp60;
20873#line 282
20874 __cil_tmp62 = __cil_tmp61 + 16;
20875#line 282
20876 __cil_tmp63 = *((unsigned int *)__cil_tmp62);
20877#line 282
20878 __cil_tmp64 = (unsigned int )tmp___0;
20879#line 282
20880 __cil_tmp65 = __cil_tmp64 | __cil_tmp63;
20881#line 282
20882 __cil_tmp66 = __cil_tmp65 << 1;
20883#line 282
20884 nasid = (int )__cil_tmp66;
20885#line 284
20886 __cil_tmp67 = (unsigned long )mq;
20887#line 284
20888 __cil_tmp68 = __cil_tmp67 + 32;
20889#line 284
20890 __cil_tmp69 = (unsigned long *)__cil_tmp68;
20891#line 284
20892 mmr_value = (struct uv_IO_APIC_route_entry *)__cil_tmp69;
20893#line 285
20894 __cil_tmp70 = (unsigned long )mq;
20895#line 285
20896 __cil_tmp71 = __cil_tmp70 + 48;
20897#line 285
20898 __cil_tmp72 = *((void **)__cil_tmp71);
20899#line 285
20900 __cil_tmp73 = (struct gru_message_queue_desc *)__cil_tmp72;
20901#line 285
20902 __cil_tmp74 = *((void **)mq);
20903#line 285
20904 __cil_tmp75 = *((unsigned char *)mmr_value);
20905#line 285
20906 __cil_tmp76 = (int )__cil_tmp75;
20907#line 285
20908 __cil_tmp77 = (unsigned long )mmr_value;
20909#line 285
20910 __cil_tmp78 = __cil_tmp77 + 4;
20911#line 285
20912 __cil_tmp79 = *((unsigned int *)__cil_tmp78);
20913#line 285
20914 __cil_tmp80 = (int )__cil_tmp79;
20915#line 285
20916 ret = gru_create_message_queue(__cil_tmp73, __cil_tmp74, mq_size, nasid, __cil_tmp76,
20917 __cil_tmp80);
20918 }
20919#line 287
20920 if (ret != 0) {
20921 {
20922#line 288
20923 __cil_tmp81 = (struct device *)xpc_part;
20924#line 288
20925 dev_err(__cil_tmp81, "gru_create_message_queue() returned error=%d\n", ret);
20926#line 290
20927 ret = -22;
20928 }
20929#line 291
20930 goto out_6;
20931 } else {
20932
20933 }
20934 {
20935#line 295
20936 __cil_tmp82 = *((void **)mq);
20937#line 295
20938 tmp___1 = (*xp_pa)(__cil_tmp82);
20939#line 295
20940 __cil_tmp83 = (unsigned long )mq_size;
20941#line 295
20942 xp_ret = (*xp_expand_memprotect)(tmp___1, __cil_tmp83);
20943 }
20944 {
20945#line 296
20946 __cil_tmp84 = (unsigned int )xp_ret;
20947#line 296
20948 if (__cil_tmp84 != 0U) {
20949#line 297
20950 ret = -13;
20951#line 298
20952 goto out_6;
20953 } else {
20954
20955 }
20956 }
20957#line 301
20958 return (mq);
20959 out_6:
20960 {
20961#line 305
20962 __cil_tmp85 = (unsigned long )mq;
20963#line 305
20964 __cil_tmp86 = __cil_tmp85 + 12;
20965#line 305
20966 __cil_tmp87 = *((int *)__cil_tmp86);
20967#line 305
20968 __cil_tmp88 = (unsigned int )__cil_tmp87;
20969#line 305
20970 __cil_tmp89 = (void *)0;
20971#line 305
20972 free_irq(__cil_tmp88, __cil_tmp89);
20973 }
20974 out_5:
20975 {
20976#line 307
20977 xpc_release_gru_mq_irq_uv(mq);
20978 }
20979 out_4:
20980 {
20981#line 309
20982 xpc_gru_mq_watchlist_free_uv(mq);
20983 }
20984 out_3:
20985 {
20986#line 311
20987 __cil_tmp90 = *((void **)mq);
20988#line 311
20989 __cil_tmp91 = (unsigned long )__cil_tmp90;
20990#line 311
20991 __cil_tmp92 = (unsigned int )pg_order;
20992#line 311
20993 free_pages(__cil_tmp91, __cil_tmp92);
20994 }
20995 out_2:
20996 {
20997#line 313
20998 __cil_tmp93 = (unsigned long )mq;
20999#line 313
21000 __cil_tmp94 = __cil_tmp93 + 48;
21001#line 313
21002 __cil_tmp95 = *((void **)__cil_tmp94);
21003#line 313
21004 __cil_tmp96 = (void *)__cil_tmp95;
21005#line 313
21006 kfree(__cil_tmp96);
21007 }
21008 out_1:
21009 {
21010#line 315
21011 __cil_tmp97 = (void *)mq;
21012#line 315
21013 kfree(__cil_tmp97);
21014 }
21015 out_0:
21016 {
21017#line 317
21018 __cil_tmp98 = (long )ret;
21019#line 317
21020 tmp___2 = ERR_PTR(__cil_tmp98);
21021 }
21022#line 317
21023 return ((struct xpc_gru_mq_uv *)tmp___2);
21024}
21025}
21026#line 321 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
21027static void xpc_destroy_gru_mq_uv(struct xpc_gru_mq_uv *mq )
21028{ unsigned int mq_size ;
21029 int pg_order ;
21030 int ret ;
21031 unsigned long tmp ;
21032 enum xp_retval tmp___0 ;
21033 long tmp___1 ;
21034 unsigned long __cil_tmp8 ;
21035 unsigned long __cil_tmp9 ;
21036 unsigned int __cil_tmp10 ;
21037 int __cil_tmp11 ;
21038 unsigned long __cil_tmp12 ;
21039 void *__cil_tmp13 ;
21040 unsigned long __cil_tmp14 ;
21041 int __cil_tmp15 ;
21042 long __cil_tmp16 ;
21043 unsigned long __cil_tmp17 ;
21044 unsigned long __cil_tmp18 ;
21045 int __cil_tmp19 ;
21046 unsigned int __cil_tmp20 ;
21047 void *__cil_tmp21 ;
21048 unsigned long __cil_tmp22 ;
21049 unsigned long __cil_tmp23 ;
21050 unsigned int __cil_tmp24 ;
21051 unsigned int __cil_tmp25 ;
21052 void *__cil_tmp26 ;
21053 unsigned long __cil_tmp27 ;
21054 unsigned int __cil_tmp28 ;
21055 void *__cil_tmp29 ;
21056
21057 {
21058 {
21059#line 328
21060 __cil_tmp8 = (unsigned long )mq;
21061#line 328
21062 __cil_tmp9 = __cil_tmp8 + 8;
21063#line 328
21064 __cil_tmp10 = *((unsigned int *)__cil_tmp9);
21065#line 328
21066 __cil_tmp11 = (int )__cil_tmp10;
21067#line 328
21068 __cil_tmp12 = 1UL << __cil_tmp11;
21069#line 328
21070 mq_size = (unsigned int )__cil_tmp12;
21071#line 329
21072 __cil_tmp13 = *((void **)mq);
21073#line 329
21074 tmp = (*xp_pa)(__cil_tmp13);
21075#line 329
21076 __cil_tmp14 = (unsigned long )mq_size;
21077#line 329
21078 tmp___0 = (*xp_restrict_memprotect)(tmp, __cil_tmp14);
21079#line 329
21080 ret = (int )tmp___0;
21081#line 330
21082 __cil_tmp15 = ret != 0;
21083#line 330
21084 __cil_tmp16 = (long )__cil_tmp15;
21085#line 330
21086 tmp___1 = __builtin_expect(__cil_tmp16, 0L);
21087 }
21088#line 330
21089 if (tmp___1 != 0L) {
21090#line 330
21091 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"),
21092 "i" (330), "i" (12UL));
21093 ldv_27663: ;
21094#line 330
21095 goto ldv_27663;
21096 } else {
21097
21098 }
21099 {
21100#line 333
21101 __cil_tmp17 = (unsigned long )mq;
21102#line 333
21103 __cil_tmp18 = __cil_tmp17 + 12;
21104#line 333
21105 __cil_tmp19 = *((int *)__cil_tmp18);
21106#line 333
21107 __cil_tmp20 = (unsigned int )__cil_tmp19;
21108#line 333
21109 __cil_tmp21 = (void *)0;
21110#line 333
21111 free_irq(__cil_tmp20, __cil_tmp21);
21112#line 334
21113 xpc_release_gru_mq_irq_uv(mq);
21114#line 337
21115 xpc_gru_mq_watchlist_free_uv(mq);
21116#line 339
21117 __cil_tmp22 = (unsigned long )mq;
21118#line 339
21119 __cil_tmp23 = __cil_tmp22 + 8;
21120#line 339
21121 __cil_tmp24 = *((unsigned int *)__cil_tmp23);
21122#line 339
21123 __cil_tmp25 = __cil_tmp24 - 12U;
21124#line 339
21125 pg_order = (int )__cil_tmp25;
21126#line 340
21127 __cil_tmp26 = *((void **)mq);
21128#line 340
21129 __cil_tmp27 = (unsigned long )__cil_tmp26;
21130#line 340
21131 __cil_tmp28 = (unsigned int )pg_order;
21132#line 340
21133 free_pages(__cil_tmp27, __cil_tmp28);
21134#line 342
21135 __cil_tmp29 = (void *)mq;
21136#line 342
21137 kfree(__cil_tmp29);
21138 }
21139#line 343
21140 return;
21141}
21142}
21143#line 346 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
21144static enum xp_retval xpc_send_gru_msg(struct gru_message_queue_desc *gru_mq_desc ,
21145 void *msg , size_t msg_size )
21146{ enum xp_retval xp_ret ;
21147 int ret ;
21148 struct _ddebug descriptor ;
21149 long tmp ;
21150 struct _ddebug descriptor___0 ;
21151 long tmp___0 ;
21152 unsigned int __cil_tmp10 ;
21153 struct _ddebug *__cil_tmp11 ;
21154 unsigned long __cil_tmp12 ;
21155 unsigned long __cil_tmp13 ;
21156 unsigned long __cil_tmp14 ;
21157 unsigned long __cil_tmp15 ;
21158 unsigned long __cil_tmp16 ;
21159 unsigned long __cil_tmp17 ;
21160 unsigned char __cil_tmp18 ;
21161 long __cil_tmp19 ;
21162 long __cil_tmp20 ;
21163 struct device *__cil_tmp21 ;
21164 struct _ddebug *__cil_tmp22 ;
21165 unsigned long __cil_tmp23 ;
21166 unsigned long __cil_tmp24 ;
21167 unsigned long __cil_tmp25 ;
21168 unsigned long __cil_tmp26 ;
21169 unsigned long __cil_tmp27 ;
21170 unsigned long __cil_tmp28 ;
21171 unsigned char __cil_tmp29 ;
21172 long __cil_tmp30 ;
21173 long __cil_tmp31 ;
21174 struct device *__cil_tmp32 ;
21175 struct device *__cil_tmp33 ;
21176
21177 {
21178 ldv_27675:
21179 {
21180#line 353
21181 __cil_tmp10 = (unsigned int )msg_size;
21182#line 353
21183 ret = gru_send_message_gpa(gru_mq_desc, msg, __cil_tmp10);
21184 }
21185#line 354
21186 if (ret == 0) {
21187#line 355
21188 xp_ret = (enum xp_retval )0;
21189#line 356
21190 goto ldv_27671;
21191 } else {
21192
21193 }
21194#line 359
21195 if (ret == 2) {
21196 {
21197#line 360
21198 __cil_tmp11 = & descriptor;
21199#line 360
21200 *((char **)__cil_tmp11) = "xpc";
21201#line 360
21202 __cil_tmp12 = (unsigned long )(& descriptor) + 8;
21203#line 360
21204 *((char **)__cil_tmp12) = "xpc_send_gru_msg";
21205#line 360
21206 __cil_tmp13 = (unsigned long )(& descriptor) + 16;
21207#line 360
21208 *((char **)__cil_tmp13) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p";
21209#line 360
21210 __cil_tmp14 = (unsigned long )(& descriptor) + 24;
21211#line 360
21212 *((char **)__cil_tmp14) = "gru_send_message_gpa() returned error=MQE_QUEUE_FULL\n";
21213#line 360
21214 __cil_tmp15 = (unsigned long )(& descriptor) + 32;
21215#line 360
21216 *((unsigned int *)__cil_tmp15) = 361U;
21217#line 360
21218 __cil_tmp16 = (unsigned long )(& descriptor) + 35;
21219#line 360
21220 *((unsigned char *)__cil_tmp16) = (unsigned char)0;
21221#line 360
21222 __cil_tmp17 = (unsigned long )(& descriptor) + 35;
21223#line 360
21224 __cil_tmp18 = *((unsigned char *)__cil_tmp17);
21225#line 360
21226 __cil_tmp19 = (long )__cil_tmp18;
21227#line 360
21228 __cil_tmp20 = __cil_tmp19 & 1L;
21229#line 360
21230 tmp = __builtin_expect(__cil_tmp20, 0L);
21231 }
21232#line 360
21233 if (tmp != 0L) {
21234 {
21235#line 360
21236 __cil_tmp21 = (struct device *)xpc_chan;
21237#line 360
21238 __dynamic_dev_dbg(& descriptor, __cil_tmp21, "gru_send_message_gpa() returned error=MQE_QUEUE_FULL\n");
21239 }
21240 } else {
21241
21242 }
21243 {
21244#line 364
21245 msleep_interruptible(10U);
21246 }
21247 } else
21248#line 365
21249 if (ret == 1) {
21250 {
21251#line 366
21252 __cil_tmp22 = & descriptor___0;
21253#line 366
21254 *((char **)__cil_tmp22) = "xpc";
21255#line 366
21256 __cil_tmp23 = (unsigned long )(& descriptor___0) + 8;
21257#line 366
21258 *((char **)__cil_tmp23) = "xpc_send_gru_msg";
21259#line 366
21260 __cil_tmp24 = (unsigned long )(& descriptor___0) + 16;
21261#line 366
21262 *((char **)__cil_tmp24) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p";
21263#line 366
21264 __cil_tmp25 = (unsigned long )(& descriptor___0) + 24;
21265#line 366
21266 *((char **)__cil_tmp25) = "gru_send_message_gpa() returned error=MQE_CONGESTION\n";
21267#line 366
21268 __cil_tmp26 = (unsigned long )(& descriptor___0) + 32;
21269#line 366
21270 *((unsigned int *)__cil_tmp26) = 367U;
21271#line 366
21272 __cil_tmp27 = (unsigned long )(& descriptor___0) + 35;
21273#line 366
21274 *((unsigned char *)__cil_tmp27) = (unsigned char)0;
21275#line 366
21276 __cil_tmp28 = (unsigned long )(& descriptor___0) + 35;
21277#line 366
21278 __cil_tmp29 = *((unsigned char *)__cil_tmp28);
21279#line 366
21280 __cil_tmp30 = (long )__cil_tmp29;
21281#line 366
21282 __cil_tmp31 = __cil_tmp30 & 1L;
21283#line 366
21284 tmp___0 = __builtin_expect(__cil_tmp31, 0L);
21285 }
21286#line 366
21287 if (tmp___0 != 0L) {
21288 {
21289#line 366
21290 __cil_tmp32 = (struct device *)xpc_chan;
21291#line 366
21292 __dynamic_dev_dbg(& descriptor___0, __cil_tmp32, "gru_send_message_gpa() returned error=MQE_CONGESTION\n");
21293 }
21294 } else {
21295
21296 }
21297 } else {
21298 {
21299#line 372
21300 __cil_tmp33 = (struct device *)xpc_chan;
21301#line 372
21302 dev_err(__cil_tmp33, "gru_send_message_gpa() returned error=%d\n", ret);
21303#line 374
21304 xp_ret = (enum xp_retval )59;
21305 }
21306#line 375
21307 goto ldv_27671;
21308 }
21309#line 377
21310 goto ldv_27675;
21311 ldv_27671: ;
21312#line 378
21313 return (xp_ret);
21314}
21315}
21316#line 382 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
21317static void xpc_process_activate_IRQ_rcvd_uv(void)
21318{ unsigned long irq_flags ;
21319 short partid ;
21320 struct xpc_partition *part ;
21321 u8 act_state_req ;
21322 long tmp ;
21323 unsigned long __cil_tmp6 ;
21324 unsigned long __cil_tmp7 ;
21325 unsigned long __cil_tmp8 ;
21326 unsigned long __cil_tmp9 ;
21327 unsigned long __cil_tmp10 ;
21328 u8 __cil_tmp11 ;
21329 unsigned int __cil_tmp12 ;
21330 int __cil_tmp13 ;
21331 long __cil_tmp14 ;
21332 unsigned long __cil_tmp15 ;
21333 unsigned long __cil_tmp16 ;
21334 unsigned long __cil_tmp17 ;
21335 unsigned long __cil_tmp18 ;
21336 unsigned long __cil_tmp19 ;
21337 unsigned long __cil_tmp20 ;
21338 unsigned long __cil_tmp21 ;
21339 unsigned long __cil_tmp22 ;
21340 unsigned int __cil_tmp23 ;
21341 unsigned long __cil_tmp24 ;
21342 unsigned long __cil_tmp25 ;
21343 u8 __cil_tmp26 ;
21344 unsigned int __cil_tmp27 ;
21345 unsigned long __cil_tmp28 ;
21346 unsigned long __cil_tmp29 ;
21347 u8 __cil_tmp30 ;
21348 unsigned int __cil_tmp31 ;
21349 int __cil_tmp32 ;
21350 enum xp_retval __cil_tmp33 ;
21351 unsigned int __cil_tmp34 ;
21352 unsigned long __cil_tmp35 ;
21353 unsigned long __cil_tmp36 ;
21354 u8 __cil_tmp37 ;
21355 unsigned int __cil_tmp38 ;
21356 int __cil_tmp39 ;
21357 enum xp_retval __cil_tmp40 ;
21358 unsigned int __cil_tmp41 ;
21359 int __cil_tmp42 ;
21360 unsigned long __cil_tmp43 ;
21361 unsigned long __cil_tmp44 ;
21362 unsigned long __cil_tmp45 ;
21363 unsigned long __cil_tmp46 ;
21364 enum xp_retval __cil_tmp47 ;
21365 int __cil_tmp48 ;
21366 int __cil_tmp49 ;
21367 int __cil_tmp50 ;
21368
21369 {
21370 {
21371#line 391
21372 ldv_spin_lock();
21373#line 392
21374 partid = (short)0;
21375 }
21376#line 392
21377 goto ldv_27688;
21378 ldv_27687:
21379#line 393
21380 __cil_tmp6 = (unsigned long )partid;
21381#line 393
21382 part = xpc_partitions + __cil_tmp6;
21383 {
21384#line 395
21385 __cil_tmp7 = 0 + 285;
21386#line 395
21387 __cil_tmp8 = 576 + __cil_tmp7;
21388#line 395
21389 __cil_tmp9 = (unsigned long )part;
21390#line 395
21391 __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
21392#line 395
21393 __cil_tmp11 = *((u8 *)__cil_tmp10);
21394#line 395
21395 __cil_tmp12 = (unsigned int )__cil_tmp11;
21396#line 395
21397 if (__cil_tmp12 == 0U) {
21398#line 396
21399 goto ldv_27683;
21400 } else {
21401
21402 }
21403 }
21404 {
21405#line 398
21406 xpc_activate_IRQ_rcvd = xpc_activate_IRQ_rcvd - 1;
21407#line 399
21408 __cil_tmp13 = xpc_activate_IRQ_rcvd < 0;
21409#line 399
21410 __cil_tmp14 = (long )__cil_tmp13;
21411#line 399
21412 tmp = __builtin_expect(__cil_tmp14, 0L);
21413 }
21414#line 399
21415 if (tmp != 0L) {
21416#line 399
21417 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"),
21418 "i" (399), "i" (12UL));
21419 ldv_27684: ;
21420#line 399
21421 goto ldv_27684;
21422 } else {
21423
21424 }
21425 {
21426#line 401
21427 __cil_tmp15 = 0 + 285;
21428#line 401
21429 __cil_tmp16 = 576 + __cil_tmp15;
21430#line 401
21431 __cil_tmp17 = (unsigned long )part;
21432#line 401
21433 __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
21434#line 401
21435 act_state_req = *((u8 *)__cil_tmp18);
21436#line 402
21437 __cil_tmp19 = 0 + 285;
21438#line 402
21439 __cil_tmp20 = 576 + __cil_tmp19;
21440#line 402
21441 __cil_tmp21 = (unsigned long )part;
21442#line 402
21443 __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
21444#line 402
21445 *((u8 *)__cil_tmp22) = (u8 )0U;
21446#line 403
21447 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
21448 }
21449 {
21450#line 405
21451 __cil_tmp23 = (unsigned int )act_state_req;
21452#line 405
21453 if (__cil_tmp23 == 1U) {
21454 {
21455#line 406
21456 __cil_tmp24 = (unsigned long )part;
21457#line 406
21458 __cil_tmp25 = __cil_tmp24 + 112;
21459#line 406
21460 __cil_tmp26 = *((u8 *)__cil_tmp25);
21461#line 406
21462 __cil_tmp27 = (unsigned int )__cil_tmp26;
21463#line 406
21464 if (__cil_tmp27 == 0U) {
21465 {
21466#line 407
21467 xpc_activate_partition(part);
21468 }
21469 } else {
21470 {
21471#line 408
21472 __cil_tmp28 = (unsigned long )part;
21473#line 408
21474 __cil_tmp29 = __cil_tmp28 + 112;
21475#line 408
21476 __cil_tmp30 = *((u8 *)__cil_tmp29);
21477#line 408
21478 __cil_tmp31 = (unsigned int )__cil_tmp30;
21479#line 408
21480 if (__cil_tmp31 == 4U) {
21481 {
21482#line 409
21483 __cil_tmp32 = (int )409;
21484#line 409
21485 __cil_tmp33 = (enum xp_retval )21;
21486#line 409
21487 xpc_deactivate_partition(__cil_tmp32, part, __cil_tmp33);
21488 }
21489 } else {
21490 {
21491#line 411
21492 __cil_tmp34 = (unsigned int )act_state_req;
21493#line 411
21494 if (__cil_tmp34 == 2U) {
21495 {
21496#line 412
21497 __cil_tmp35 = (unsigned long )part;
21498#line 412
21499 __cil_tmp36 = __cil_tmp35 + 112;
21500#line 412
21501 __cil_tmp37 = *((u8 *)__cil_tmp36);
21502#line 412
21503 __cil_tmp38 = (unsigned int )__cil_tmp37;
21504#line 412
21505 if (__cil_tmp38 == 0U) {
21506 {
21507#line 413
21508 xpc_activate_partition(part);
21509 }
21510 } else {
21511 {
21512#line 415
21513 __cil_tmp39 = (int )415;
21514#line 415
21515 __cil_tmp40 = (enum xp_retval )21;
21516#line 415
21517 xpc_deactivate_partition(__cil_tmp39, part, __cil_tmp40);
21518 }
21519 }
21520 }
21521 } else {
21522 {
21523#line 417
21524 __cil_tmp41 = (unsigned int )act_state_req;
21525#line 417
21526 if (__cil_tmp41 == 3U) {
21527 {
21528#line 418
21529 __cil_tmp42 = (int )418;
21530#line 418
21531 __cil_tmp43 = 0 + 288;
21532#line 418
21533 __cil_tmp44 = 576 + __cil_tmp43;
21534#line 418
21535 __cil_tmp45 = (unsigned long )part;
21536#line 418
21537 __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
21538#line 418
21539 __cil_tmp47 = *((enum xp_retval *)__cil_tmp46);
21540#line 418
21541 xpc_deactivate_partition(__cil_tmp42, part, __cil_tmp47);
21542 }
21543 } else {
21544#line 421
21545 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"),
21546 "i" (421), "i" (12UL));
21547 ldv_27685: ;
21548#line 421
21549 goto ldv_27685;
21550 }
21551 }
21552 }
21553 }
21554 }
21555 }
21556 }
21557 }
21558 } else {
21559
21560 }
21561 }
21562 {
21563#line 424
21564 ldv_spin_lock();
21565 }
21566#line 425
21567 if (xpc_activate_IRQ_rcvd == 0) {
21568#line 426
21569 goto ldv_27686;
21570 } else {
21571
21572 }
21573 ldv_27683:
21574#line 392
21575 __cil_tmp48 = (int )partid;
21576#line 392
21577 __cil_tmp49 = __cil_tmp48 + 1;
21578#line 392
21579 partid = (short )__cil_tmp49;
21580 ldv_27688: ;
21581 {
21582#line 392
21583 __cil_tmp50 = (int )partid;
21584#line 392
21585 if (__cil_tmp50 <= 255) {
21586#line 393
21587 goto ldv_27687;
21588 } else {
21589#line 395
21590 goto ldv_27686;
21591 }
21592 }
21593 ldv_27686:
21594 {
21595#line 428
21596 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
21597 }
21598#line 429
21599 return;
21600}
21601}
21602#line 433 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
21603static void xpc_handle_activate_mq_msg_uv(struct xpc_partition *part , struct xpc_activate_mq_msghdr_uv *msg_hdr ,
21604 int part_setup , int *wakeup_hb_checker )
21605{ unsigned long irq_flags ;
21606 struct xpc_partition_uv *part_uv ;
21607 struct xpc_openclose_args *args ;
21608 struct xpc_activate_mq_msg_activate_req_uv *msg ;
21609 struct xpc_activate_mq_msghdr_uv *__mptr ;
21610 struct xpc_activate_mq_msg_deactivate_req_uv *msg___0 ;
21611 struct xpc_activate_mq_msghdr_uv *__mptr___0 ;
21612 struct xpc_activate_mq_msg_chctl_closerequest_uv *msg___1 ;
21613 struct xpc_activate_mq_msghdr_uv *__mptr___1 ;
21614 struct xpc_activate_mq_msg_chctl_closereply_uv *msg___2 ;
21615 struct xpc_activate_mq_msghdr_uv *__mptr___2 ;
21616 struct xpc_activate_mq_msg_chctl_openrequest_uv *msg___3 ;
21617 struct xpc_activate_mq_msghdr_uv *__mptr___3 ;
21618 struct xpc_activate_mq_msg_chctl_openreply_uv *msg___4 ;
21619 struct xpc_activate_mq_msghdr_uv *__mptr___4 ;
21620 struct xpc_activate_mq_msg_chctl_opencomplete_uv *msg___5 ;
21621 struct xpc_activate_mq_msghdr_uv *__mptr___5 ;
21622 unsigned long __cil_tmp22 ;
21623 unsigned long __cil_tmp23 ;
21624 unsigned long __cil_tmp24 ;
21625 unsigned long __cil_tmp25 ;
21626 unsigned long __cil_tmp26 ;
21627 unsigned long __cil_tmp27 ;
21628 unsigned long __cil_tmp28 ;
21629 unsigned long __cil_tmp29 ;
21630 u8 __cil_tmp30 ;
21631 unsigned long __cil_tmp31 ;
21632 unsigned long __cil_tmp32 ;
21633 u8 __cil_tmp33 ;
21634 unsigned int __cil_tmp34 ;
21635 unsigned long __cil_tmp35 ;
21636 unsigned long __cil_tmp36 ;
21637 unsigned long __cil_tmp37 ;
21638 unsigned long __cil_tmp38 ;
21639 unsigned long __cil_tmp39 ;
21640 unsigned long __cil_tmp40 ;
21641 unsigned long __cil_tmp41 ;
21642 unsigned long __cil_tmp42 ;
21643 unsigned long __cil_tmp43 ;
21644 unsigned long __cil_tmp44 ;
21645 unsigned long __cil_tmp45 ;
21646 unsigned long __cil_tmp46 ;
21647 unsigned long __cil_tmp47 ;
21648 unsigned long __cil_tmp48 ;
21649 unsigned long __cil_tmp49 ;
21650 unsigned long __cil_tmp50 ;
21651 unsigned long __cil_tmp51 ;
21652 unsigned long __cil_tmp52 ;
21653 unsigned long __cil_tmp53 ;
21654 unsigned long __cil_tmp54 ;
21655 unsigned long __cil_tmp55 ;
21656 unsigned long __cil_tmp56 ;
21657 unsigned int __cil_tmp57 ;
21658 unsigned long __cil_tmp58 ;
21659 unsigned long __cil_tmp59 ;
21660 spinlock_t *__cil_tmp60 ;
21661 unsigned long __cil_tmp61 ;
21662 unsigned long __cil_tmp62 ;
21663 unsigned long __cil_tmp63 ;
21664 unsigned long __cil_tmp64 ;
21665 int __cil_tmp65 ;
21666 unsigned long __cil_tmp66 ;
21667 unsigned long __cil_tmp67 ;
21668 u8 __cil_tmp68 ;
21669 unsigned int __cil_tmp69 ;
21670 unsigned long __cil_tmp70 ;
21671 unsigned long __cil_tmp71 ;
21672 unsigned long __cil_tmp72 ;
21673 unsigned long __cil_tmp73 ;
21674 unsigned long __cil_tmp74 ;
21675 unsigned long __cil_tmp75 ;
21676 int __cil_tmp76 ;
21677 unsigned long __cil_tmp77 ;
21678 unsigned long __cil_tmp78 ;
21679 short __cil_tmp79 ;
21680 unsigned long __cil_tmp80 ;
21681 unsigned long __cil_tmp81 ;
21682 unsigned long __cil_tmp82 ;
21683 struct xpc_openclose_args *__cil_tmp83 ;
21684 unsigned long __cil_tmp84 ;
21685 unsigned long __cil_tmp85 ;
21686 enum xp_retval __cil_tmp86 ;
21687 unsigned long __cil_tmp87 ;
21688 unsigned long __cil_tmp88 ;
21689 short __cil_tmp89 ;
21690 int __cil_tmp90 ;
21691 unsigned long __cil_tmp91 ;
21692 unsigned long __cil_tmp92 ;
21693 unsigned long __cil_tmp93 ;
21694 unsigned long __cil_tmp94 ;
21695 unsigned long __cil_tmp95 ;
21696 unsigned long __cil_tmp96 ;
21697 unsigned long __cil_tmp97 ;
21698 short __cil_tmp98 ;
21699 int __cil_tmp99 ;
21700 unsigned long __cil_tmp100 ;
21701 unsigned long __cil_tmp101 ;
21702 unsigned long __cil_tmp102 ;
21703 unsigned long __cil_tmp103 ;
21704 unsigned long __cil_tmp104 ;
21705 u8 __cil_tmp105 ;
21706 unsigned int __cil_tmp106 ;
21707 unsigned int __cil_tmp107 ;
21708 unsigned long __cil_tmp108 ;
21709 unsigned long __cil_tmp109 ;
21710 spinlock_t *__cil_tmp110 ;
21711 unsigned long __cil_tmp111 ;
21712 unsigned long __cil_tmp112 ;
21713 short __cil_tmp113 ;
21714 int __cil_tmp114 ;
21715 unsigned long __cil_tmp115 ;
21716 unsigned long __cil_tmp116 ;
21717 unsigned long __cil_tmp117 ;
21718 unsigned long __cil_tmp118 ;
21719 unsigned long __cil_tmp119 ;
21720 unsigned long __cil_tmp120 ;
21721 unsigned long __cil_tmp121 ;
21722 short __cil_tmp122 ;
21723 int __cil_tmp123 ;
21724 unsigned long __cil_tmp124 ;
21725 unsigned long __cil_tmp125 ;
21726 unsigned long __cil_tmp126 ;
21727 unsigned long __cil_tmp127 ;
21728 unsigned long __cil_tmp128 ;
21729 u8 __cil_tmp129 ;
21730 unsigned int __cil_tmp130 ;
21731 unsigned int __cil_tmp131 ;
21732 unsigned long __cil_tmp132 ;
21733 unsigned long __cil_tmp133 ;
21734 spinlock_t *__cil_tmp134 ;
21735 unsigned long __cil_tmp135 ;
21736 unsigned long __cil_tmp136 ;
21737 short __cil_tmp137 ;
21738 unsigned long __cil_tmp138 ;
21739 unsigned long __cil_tmp139 ;
21740 unsigned long __cil_tmp140 ;
21741 struct xpc_openclose_args *__cil_tmp141 ;
21742 unsigned long __cil_tmp142 ;
21743 unsigned long __cil_tmp143 ;
21744 unsigned long __cil_tmp144 ;
21745 unsigned long __cil_tmp145 ;
21746 short __cil_tmp146 ;
21747 unsigned long __cil_tmp147 ;
21748 unsigned long __cil_tmp148 ;
21749 unsigned long __cil_tmp149 ;
21750 unsigned long __cil_tmp150 ;
21751 short __cil_tmp151 ;
21752 unsigned long __cil_tmp152 ;
21753 unsigned long __cil_tmp153 ;
21754 short __cil_tmp154 ;
21755 int __cil_tmp155 ;
21756 unsigned long __cil_tmp156 ;
21757 unsigned long __cil_tmp157 ;
21758 unsigned long __cil_tmp158 ;
21759 unsigned long __cil_tmp159 ;
21760 unsigned long __cil_tmp160 ;
21761 unsigned long __cil_tmp161 ;
21762 unsigned long __cil_tmp162 ;
21763 short __cil_tmp163 ;
21764 int __cil_tmp164 ;
21765 unsigned long __cil_tmp165 ;
21766 unsigned long __cil_tmp166 ;
21767 unsigned long __cil_tmp167 ;
21768 unsigned long __cil_tmp168 ;
21769 unsigned long __cil_tmp169 ;
21770 u8 __cil_tmp170 ;
21771 unsigned int __cil_tmp171 ;
21772 unsigned int __cil_tmp172 ;
21773 unsigned long __cil_tmp173 ;
21774 unsigned long __cil_tmp174 ;
21775 spinlock_t *__cil_tmp175 ;
21776 unsigned long __cil_tmp176 ;
21777 unsigned long __cil_tmp177 ;
21778 short __cil_tmp178 ;
21779 unsigned long __cil_tmp179 ;
21780 unsigned long __cil_tmp180 ;
21781 unsigned long __cil_tmp181 ;
21782 struct xpc_openclose_args *__cil_tmp182 ;
21783 unsigned long __cil_tmp183 ;
21784 unsigned long __cil_tmp184 ;
21785 unsigned long __cil_tmp185 ;
21786 unsigned long __cil_tmp186 ;
21787 short __cil_tmp187 ;
21788 unsigned long __cil_tmp188 ;
21789 unsigned long __cil_tmp189 ;
21790 unsigned long __cil_tmp190 ;
21791 unsigned long __cil_tmp191 ;
21792 short __cil_tmp192 ;
21793 unsigned long __cil_tmp193 ;
21794 unsigned long __cil_tmp194 ;
21795 unsigned long __cil_tmp195 ;
21796 unsigned long __cil_tmp196 ;
21797 unsigned long __cil_tmp197 ;
21798 unsigned long __cil_tmp198 ;
21799 short __cil_tmp199 ;
21800 int __cil_tmp200 ;
21801 unsigned long __cil_tmp201 ;
21802 unsigned long __cil_tmp202 ;
21803 unsigned long __cil_tmp203 ;
21804 unsigned long __cil_tmp204 ;
21805 unsigned long __cil_tmp205 ;
21806 unsigned long __cil_tmp206 ;
21807 unsigned long __cil_tmp207 ;
21808 short __cil_tmp208 ;
21809 int __cil_tmp209 ;
21810 unsigned long __cil_tmp210 ;
21811 unsigned long __cil_tmp211 ;
21812 unsigned long __cil_tmp212 ;
21813 unsigned long __cil_tmp213 ;
21814 unsigned long __cil_tmp214 ;
21815 u8 __cil_tmp215 ;
21816 unsigned int __cil_tmp216 ;
21817 unsigned int __cil_tmp217 ;
21818 unsigned long __cil_tmp218 ;
21819 unsigned long __cil_tmp219 ;
21820 spinlock_t *__cil_tmp220 ;
21821 unsigned long __cil_tmp221 ;
21822 unsigned long __cil_tmp222 ;
21823 short __cil_tmp223 ;
21824 int __cil_tmp224 ;
21825 unsigned long __cil_tmp225 ;
21826 unsigned long __cil_tmp226 ;
21827 unsigned long __cil_tmp227 ;
21828 unsigned long __cil_tmp228 ;
21829 unsigned long __cil_tmp229 ;
21830 unsigned long __cil_tmp230 ;
21831 unsigned long __cil_tmp231 ;
21832 short __cil_tmp232 ;
21833 int __cil_tmp233 ;
21834 unsigned long __cil_tmp234 ;
21835 unsigned long __cil_tmp235 ;
21836 unsigned long __cil_tmp236 ;
21837 unsigned long __cil_tmp237 ;
21838 unsigned long __cil_tmp238 ;
21839 u8 __cil_tmp239 ;
21840 unsigned int __cil_tmp240 ;
21841 unsigned int __cil_tmp241 ;
21842 unsigned long __cil_tmp242 ;
21843 unsigned long __cil_tmp243 ;
21844 spinlock_t *__cil_tmp244 ;
21845 unsigned long __cil_tmp245 ;
21846 unsigned long __cil_tmp246 ;
21847 unsigned long __cil_tmp247 ;
21848 unsigned long __cil_tmp248 ;
21849 unsigned int __cil_tmp249 ;
21850 unsigned long __cil_tmp250 ;
21851 unsigned long __cil_tmp251 ;
21852 spinlock_t *__cil_tmp252 ;
21853 unsigned long __cil_tmp253 ;
21854 unsigned long __cil_tmp254 ;
21855 unsigned long __cil_tmp255 ;
21856 unsigned long __cil_tmp256 ;
21857 unsigned int __cil_tmp257 ;
21858 unsigned long __cil_tmp258 ;
21859 unsigned long __cil_tmp259 ;
21860 spinlock_t *__cil_tmp260 ;
21861 struct device *__cil_tmp261 ;
21862 unsigned long __cil_tmp262 ;
21863 unsigned long __cil_tmp263 ;
21864 u8 __cil_tmp264 ;
21865 int __cil_tmp265 ;
21866 long __cil_tmp266 ;
21867 long __cil_tmp267 ;
21868 long __cil_tmp268 ;
21869 long __cil_tmp269 ;
21870 short __cil_tmp270 ;
21871 int __cil_tmp271 ;
21872 unsigned long __cil_tmp272 ;
21873 unsigned long __cil_tmp273 ;
21874 u8 __cil_tmp274 ;
21875 unsigned int __cil_tmp275 ;
21876 unsigned long __cil_tmp276 ;
21877 unsigned long __cil_tmp277 ;
21878 unsigned long __cil_tmp278 ;
21879 unsigned long __cil_tmp279 ;
21880 int __cil_tmp280 ;
21881 unsigned long __cil_tmp281 ;
21882 unsigned long __cil_tmp282 ;
21883 unsigned long __cil_tmp283 ;
21884 unsigned long __cil_tmp284 ;
21885 unsigned long __cil_tmp285 ;
21886 unsigned long __cil_tmp286 ;
21887 unsigned long __cil_tmp287 ;
21888 unsigned long __cil_tmp288 ;
21889 unsigned long __cil_tmp289 ;
21890 unsigned long __cil_tmp290 ;
21891 unsigned long __cil_tmp291 ;
21892 u8 __cil_tmp292 ;
21893 unsigned int __cil_tmp293 ;
21894 unsigned long __cil_tmp294 ;
21895 unsigned long __cil_tmp295 ;
21896 int __cil_tmp296 ;
21897
21898 {
21899#line 439
21900 __cil_tmp22 = (unsigned long )part;
21901#line 439
21902 __cil_tmp23 = __cil_tmp22 + 576;
21903#line 439
21904 part_uv = (struct xpc_partition_uv *)__cil_tmp23;
21905#line 442
21906 __cil_tmp24 = (unsigned long )part_uv;
21907#line 442
21908 __cil_tmp25 = __cil_tmp24 + 284;
21909#line 442
21910 __cil_tmp26 = (unsigned long )msg_hdr;
21911#line 442
21912 __cil_tmp27 = __cil_tmp26 + 6;
21913#line 442
21914 *((u8 *)__cil_tmp25) = *((u8 *)__cil_tmp27);
21915 {
21916#line 444
21917 __cil_tmp28 = (unsigned long )msg_hdr;
21918#line 444
21919 __cil_tmp29 = __cil_tmp28 + 7;
21920#line 444
21921 __cil_tmp30 = *((u8 *)__cil_tmp29);
21922#line 445
21923 if ((int )__cil_tmp30 == 0) {
21924#line 445
21925 goto case_0;
21926 } else
21927#line 449
21928 if ((int )__cil_tmp30 == 1) {
21929#line 449
21930 goto case_1;
21931 } else
21932#line 481
21933 if ((int )__cil_tmp30 == 2) {
21934#line 481
21935 goto case_2;
21936 } else
21937#line 497
21938 if ((int )__cil_tmp30 == 3) {
21939#line 497
21940 goto case_3;
21941 } else
21942#line 516
21943 if ((int )__cil_tmp30 == 4) {
21944#line 516
21945 goto case_4;
21946 } else
21947#line 533
21948 if ((int )__cil_tmp30 == 5) {
21949#line 533
21950 goto case_5;
21951 } else
21952#line 553
21953 if ((int )__cil_tmp30 == 6) {
21954#line 553
21955 goto case_6;
21956 } else
21957#line 573
21958 if ((int )__cil_tmp30 == 7) {
21959#line 573
21960 goto case_7;
21961 } else
21962#line 587
21963 if ((int )__cil_tmp30 == 8) {
21964#line 587
21965 goto case_8;
21966 } else
21967#line 593
21968 if ((int )__cil_tmp30 == 9) {
21969#line 593
21970 goto case_9;
21971 } else {
21972 {
21973#line 599
21974 goto switch_default;
21975#line 444
21976 if (0) {
21977 case_0: ;
21978#line 447
21979 goto ldv_27699;
21980 case_1:
21981 {
21982#line 457
21983 __mptr = (struct xpc_activate_mq_msghdr_uv *)msg_hdr;
21984#line 457
21985 msg = (struct xpc_activate_mq_msg_activate_req_uv *)__mptr;
21986#line 460
21987 ldv_spin_lock();
21988 }
21989 {
21990#line 461
21991 __cil_tmp31 = (unsigned long )part_uv;
21992#line 461
21993 __cil_tmp32 = __cil_tmp31 + 285;
21994#line 461
21995 __cil_tmp33 = *((u8 *)__cil_tmp32);
21996#line 461
21997 __cil_tmp34 = (unsigned int )__cil_tmp33;
21998#line 461
21999 if (__cil_tmp34 == 0U) {
22000#line 462
22001 xpc_activate_IRQ_rcvd = xpc_activate_IRQ_rcvd + 1;
22002 } else {
22003
22004 }
22005 }
22006#line 463
22007 __cil_tmp35 = (unsigned long )part_uv;
22008#line 463
22009 __cil_tmp36 = __cil_tmp35 + 285;
22010#line 463
22011 *((u8 *)__cil_tmp36) = (u8 )1U;
22012#line 464
22013 __cil_tmp37 = (unsigned long )part;
22014#line 464
22015 __cil_tmp38 = __cil_tmp37 + 16;
22016#line 464
22017 __cil_tmp39 = (unsigned long )msg;
22018#line 464
22019 __cil_tmp40 = __cil_tmp39 + 16;
22020#line 464
22021 *((unsigned long *)__cil_tmp38) = *((unsigned long *)__cil_tmp40);
22022#line 465
22023 __cil_tmp41 = (unsigned long )part;
22024#line 465
22025 __cil_tmp42 = __cil_tmp41 + 8;
22026#line 465
22027 __cil_tmp43 = (unsigned long )msg_hdr;
22028#line 465
22029 __cil_tmp44 = __cil_tmp43 + 8;
22030#line 465
22031 *((unsigned long *)__cil_tmp42) = *((unsigned long *)__cil_tmp44);
22032#line 466
22033 __cil_tmp45 = (unsigned long )msg;
22034#line 466
22035 __cil_tmp46 = __cil_tmp45 + 24;
22036#line 466
22037 *((unsigned long *)part_uv) = *((unsigned long *)__cil_tmp46);
22038 {
22039#line 468
22040 __cil_tmp47 = (unsigned long )part_uv;
22041#line 468
22042 __cil_tmp48 = __cil_tmp47 + 24;
22043#line 468
22044 __cil_tmp49 = *((unsigned long *)__cil_tmp48);
22045#line 468
22046 __cil_tmp50 = (unsigned long )msg;
22047#line 468
22048 __cil_tmp51 = __cil_tmp50 + 32;
22049#line 468
22050 __cil_tmp52 = *((unsigned long *)__cil_tmp51);
22051#line 468
22052 if (__cil_tmp52 != __cil_tmp49) {
22053 {
22054#line 470
22055 ldv_spin_lock();
22056#line 471
22057 __cil_tmp53 = (unsigned long )part_uv;
22058#line 471
22059 __cil_tmp54 = __cil_tmp53 + 280;
22060#line 471
22061 __cil_tmp55 = (unsigned long )part_uv;
22062#line 471
22063 __cil_tmp56 = __cil_tmp55 + 280;
22064#line 471
22065 __cil_tmp57 = *((unsigned int *)__cil_tmp56);
22066#line 471
22067 *((unsigned int *)__cil_tmp54) = __cil_tmp57 & 4294967294U;
22068#line 472
22069 __cil_tmp58 = (unsigned long )part_uv;
22070#line 472
22071 __cil_tmp59 = __cil_tmp58 + 208;
22072#line 472
22073 __cil_tmp60 = (spinlock_t *)__cil_tmp59;
22074#line 472
22075 spin_unlock_irqrestore(__cil_tmp60, irq_flags);
22076#line 473
22077 __cil_tmp61 = (unsigned long )part_uv;
22078#line 473
22079 __cil_tmp62 = __cil_tmp61 + 24;
22080#line 473
22081 __cil_tmp63 = (unsigned long )msg;
22082#line 473
22083 __cil_tmp64 = __cil_tmp63 + 32;
22084#line 473
22085 *((unsigned long *)__cil_tmp62) = *((unsigned long *)__cil_tmp64);
22086 }
22087 } else {
22088
22089 }
22090 }
22091 {
22092#line 476
22093 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
22094#line 478
22095 __cil_tmp65 = *wakeup_hb_checker;
22096#line 478
22097 *wakeup_hb_checker = __cil_tmp65 + 1;
22098 }
22099#line 479
22100 goto ldv_27699;
22101 case_2:
22102 {
22103#line 484
22104 __mptr___0 = (struct xpc_activate_mq_msghdr_uv *)msg_hdr;
22105#line 484
22106 msg___0 = (struct xpc_activate_mq_msg_deactivate_req_uv *)__mptr___0;
22107#line 487
22108 ldv_spin_lock();
22109 }
22110 {
22111#line 488
22112 __cil_tmp66 = (unsigned long )part_uv;
22113#line 488
22114 __cil_tmp67 = __cil_tmp66 + 285;
22115#line 488
22116 __cil_tmp68 = *((u8 *)__cil_tmp67);
22117#line 488
22118 __cil_tmp69 = (unsigned int )__cil_tmp68;
22119#line 488
22120 if (__cil_tmp69 == 0U) {
22121#line 489
22122 xpc_activate_IRQ_rcvd = xpc_activate_IRQ_rcvd + 1;
22123 } else {
22124
22125 }
22126 }
22127 {
22128#line 490
22129 __cil_tmp70 = (unsigned long )part_uv;
22130#line 490
22131 __cil_tmp71 = __cil_tmp70 + 285;
22132#line 490
22133 *((u8 *)__cil_tmp71) = (u8 )3U;
22134#line 491
22135 __cil_tmp72 = (unsigned long )part_uv;
22136#line 491
22137 __cil_tmp73 = __cil_tmp72 + 288;
22138#line 491
22139 __cil_tmp74 = (unsigned long )msg___0;
22140#line 491
22141 __cil_tmp75 = __cil_tmp74 + 16;
22142#line 491
22143 *((enum xp_retval *)__cil_tmp73) = *((enum xp_retval *)__cil_tmp75);
22144#line 492
22145 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
22146#line 494
22147 __cil_tmp76 = *wakeup_hb_checker;
22148#line 494
22149 *wakeup_hb_checker = __cil_tmp76 + 1;
22150 }
22151#line 495
22152 return;
22153 case_3: ;
22154#line 500
22155 if (part_setup == 0) {
22156#line 501
22157 goto ldv_27699;
22158 } else {
22159
22160 }
22161 {
22162#line 503
22163 __mptr___1 = (struct xpc_activate_mq_msghdr_uv *)msg_hdr;
22164#line 503
22165 msg___1 = (struct xpc_activate_mq_msg_chctl_closerequest_uv *)__mptr___1;
22166#line 506
22167 __cil_tmp77 = (unsigned long )msg___1;
22168#line 506
22169 __cil_tmp78 = __cil_tmp77 + 16;
22170#line 506
22171 __cil_tmp79 = *((short *)__cil_tmp78);
22172#line 506
22173 __cil_tmp80 = (unsigned long )__cil_tmp79;
22174#line 506
22175 __cil_tmp81 = (unsigned long )part;
22176#line 506
22177 __cil_tmp82 = __cil_tmp81 + 472;
22178#line 506
22179 __cil_tmp83 = *((struct xpc_openclose_args **)__cil_tmp82);
22180#line 506
22181 args = __cil_tmp83 + __cil_tmp80;
22182#line 507
22183 __cil_tmp84 = (unsigned long )msg___1;
22184#line 507
22185 __cil_tmp85 = __cil_tmp84 + 20;
22186#line 507
22187 __cil_tmp86 = *((enum xp_retval *)__cil_tmp85);
22188#line 507
22189 *((u16 *)args) = (u16 )__cil_tmp86;
22190#line 509
22191 ldv_spin_lock();
22192#line 510
22193 __cil_tmp87 = (unsigned long )msg___1;
22194#line 510
22195 __cil_tmp88 = __cil_tmp87 + 16;
22196#line 510
22197 __cil_tmp89 = *((short *)__cil_tmp88);
22198#line 510
22199 __cil_tmp90 = (int )__cil_tmp89;
22200#line 510
22201 __cil_tmp91 = __cil_tmp90 * 1UL;
22202#line 510
22203 __cil_tmp92 = 0 + __cil_tmp91;
22204#line 510
22205 __cil_tmp93 = 384 + __cil_tmp92;
22206#line 510
22207 __cil_tmp94 = (unsigned long )part;
22208#line 510
22209 __cil_tmp95 = __cil_tmp94 + __cil_tmp93;
22210#line 510
22211 __cil_tmp96 = (unsigned long )msg___1;
22212#line 510
22213 __cil_tmp97 = __cil_tmp96 + 16;
22214#line 510
22215 __cil_tmp98 = *((short *)__cil_tmp97);
22216#line 510
22217 __cil_tmp99 = (int )__cil_tmp98;
22218#line 510
22219 __cil_tmp100 = __cil_tmp99 * 1UL;
22220#line 510
22221 __cil_tmp101 = 0 + __cil_tmp100;
22222#line 510
22223 __cil_tmp102 = 384 + __cil_tmp101;
22224#line 510
22225 __cil_tmp103 = (unsigned long )part;
22226#line 510
22227 __cil_tmp104 = __cil_tmp103 + __cil_tmp102;
22228#line 510
22229 __cil_tmp105 = *((u8 *)__cil_tmp104);
22230#line 510
22231 __cil_tmp106 = (unsigned int )__cil_tmp105;
22232#line 510
22233 __cil_tmp107 = __cil_tmp106 | 1U;
22234#line 510
22235 *((u8 *)__cil_tmp95) = (u8 )__cil_tmp107;
22236#line 511
22237 __cil_tmp108 = (unsigned long )part;
22238#line 511
22239 __cil_tmp109 = __cil_tmp108 + 392;
22240#line 511
22241 __cil_tmp110 = (spinlock_t *)__cil_tmp109;
22242#line 511
22243 spin_unlock_irqrestore(__cil_tmp110, irq_flags);
22244#line 513
22245 xpc_wakeup_channel_mgr(part);
22246 }
22247#line 514
22248 goto ldv_27699;
22249 case_4: ;
22250#line 519
22251 if (part_setup == 0) {
22252#line 520
22253 goto ldv_27699;
22254 } else {
22255
22256 }
22257 {
22258#line 522
22259 __mptr___2 = (struct xpc_activate_mq_msghdr_uv *)msg_hdr;
22260#line 522
22261 msg___2 = (struct xpc_activate_mq_msg_chctl_closereply_uv *)__mptr___2;
22262#line 526
22263 ldv_spin_lock();
22264#line 527
22265 __cil_tmp111 = (unsigned long )msg___2;
22266#line 527
22267 __cil_tmp112 = __cil_tmp111 + 16;
22268#line 527
22269 __cil_tmp113 = *((short *)__cil_tmp112);
22270#line 527
22271 __cil_tmp114 = (int )__cil_tmp113;
22272#line 527
22273 __cil_tmp115 = __cil_tmp114 * 1UL;
22274#line 527
22275 __cil_tmp116 = 0 + __cil_tmp115;
22276#line 527
22277 __cil_tmp117 = 384 + __cil_tmp116;
22278#line 527
22279 __cil_tmp118 = (unsigned long )part;
22280#line 527
22281 __cil_tmp119 = __cil_tmp118 + __cil_tmp117;
22282#line 527
22283 __cil_tmp120 = (unsigned long )msg___2;
22284#line 527
22285 __cil_tmp121 = __cil_tmp120 + 16;
22286#line 527
22287 __cil_tmp122 = *((short *)__cil_tmp121);
22288#line 527
22289 __cil_tmp123 = (int )__cil_tmp122;
22290#line 527
22291 __cil_tmp124 = __cil_tmp123 * 1UL;
22292#line 527
22293 __cil_tmp125 = 0 + __cil_tmp124;
22294#line 527
22295 __cil_tmp126 = 384 + __cil_tmp125;
22296#line 527
22297 __cil_tmp127 = (unsigned long )part;
22298#line 527
22299 __cil_tmp128 = __cil_tmp127 + __cil_tmp126;
22300#line 527
22301 __cil_tmp129 = *((u8 *)__cil_tmp128);
22302#line 527
22303 __cil_tmp130 = (unsigned int )__cil_tmp129;
22304#line 527
22305 __cil_tmp131 = __cil_tmp130 | 2U;
22306#line 527
22307 *((u8 *)__cil_tmp119) = (u8 )__cil_tmp131;
22308#line 528
22309 __cil_tmp132 = (unsigned long )part;
22310#line 528
22311 __cil_tmp133 = __cil_tmp132 + 392;
22312#line 528
22313 __cil_tmp134 = (spinlock_t *)__cil_tmp133;
22314#line 528
22315 spin_unlock_irqrestore(__cil_tmp134, irq_flags);
22316#line 530
22317 xpc_wakeup_channel_mgr(part);
22318 }
22319#line 531
22320 goto ldv_27699;
22321 case_5: ;
22322#line 536
22323 if (part_setup == 0) {
22324#line 537
22325 goto ldv_27699;
22326 } else {
22327
22328 }
22329 {
22330#line 539
22331 __mptr___3 = (struct xpc_activate_mq_msghdr_uv *)msg_hdr;
22332#line 539
22333 msg___3 = (struct xpc_activate_mq_msg_chctl_openrequest_uv *)__mptr___3;
22334#line 542
22335 __cil_tmp135 = (unsigned long )msg___3;
22336#line 542
22337 __cil_tmp136 = __cil_tmp135 + 16;
22338#line 542
22339 __cil_tmp137 = *((short *)__cil_tmp136);
22340#line 542
22341 __cil_tmp138 = (unsigned long )__cil_tmp137;
22342#line 542
22343 __cil_tmp139 = (unsigned long )part;
22344#line 542
22345 __cil_tmp140 = __cil_tmp139 + 472;
22346#line 542
22347 __cil_tmp141 = *((struct xpc_openclose_args **)__cil_tmp140);
22348#line 542
22349 args = __cil_tmp141 + __cil_tmp138;
22350#line 543
22351 __cil_tmp142 = (unsigned long )args;
22352#line 543
22353 __cil_tmp143 = __cil_tmp142 + 2;
22354#line 543
22355 __cil_tmp144 = (unsigned long )msg___3;
22356#line 543
22357 __cil_tmp145 = __cil_tmp144 + 18;
22358#line 543
22359 __cil_tmp146 = *((short *)__cil_tmp145);
22360#line 543
22361 *((u16 *)__cil_tmp143) = (u16 )__cil_tmp146;
22362#line 544
22363 __cil_tmp147 = (unsigned long )args;
22364#line 544
22365 __cil_tmp148 = __cil_tmp147 + 6;
22366#line 544
22367 __cil_tmp149 = (unsigned long )msg___3;
22368#line 544
22369 __cil_tmp150 = __cil_tmp149 + 20;
22370#line 544
22371 __cil_tmp151 = *((short *)__cil_tmp150);
22372#line 544
22373 *((u16 *)__cil_tmp148) = (u16 )__cil_tmp151;
22374#line 546
22375 ldv_spin_lock();
22376#line 547
22377 __cil_tmp152 = (unsigned long )msg___3;
22378#line 547
22379 __cil_tmp153 = __cil_tmp152 + 16;
22380#line 547
22381 __cil_tmp154 = *((short *)__cil_tmp153);
22382#line 547
22383 __cil_tmp155 = (int )__cil_tmp154;
22384#line 547
22385 __cil_tmp156 = __cil_tmp155 * 1UL;
22386#line 547
22387 __cil_tmp157 = 0 + __cil_tmp156;
22388#line 547
22389 __cil_tmp158 = 384 + __cil_tmp157;
22390#line 547
22391 __cil_tmp159 = (unsigned long )part;
22392#line 547
22393 __cil_tmp160 = __cil_tmp159 + __cil_tmp158;
22394#line 547
22395 __cil_tmp161 = (unsigned long )msg___3;
22396#line 547
22397 __cil_tmp162 = __cil_tmp161 + 16;
22398#line 547
22399 __cil_tmp163 = *((short *)__cil_tmp162);
22400#line 547
22401 __cil_tmp164 = (int )__cil_tmp163;
22402#line 547
22403 __cil_tmp165 = __cil_tmp164 * 1UL;
22404#line 547
22405 __cil_tmp166 = 0 + __cil_tmp165;
22406#line 547
22407 __cil_tmp167 = 384 + __cil_tmp166;
22408#line 547
22409 __cil_tmp168 = (unsigned long )part;
22410#line 547
22411 __cil_tmp169 = __cil_tmp168 + __cil_tmp167;
22412#line 547
22413 __cil_tmp170 = *((u8 *)__cil_tmp169);
22414#line 547
22415 __cil_tmp171 = (unsigned int )__cil_tmp170;
22416#line 547
22417 __cil_tmp172 = __cil_tmp171 | 4U;
22418#line 547
22419 *((u8 *)__cil_tmp160) = (u8 )__cil_tmp172;
22420#line 548
22421 __cil_tmp173 = (unsigned long )part;
22422#line 548
22423 __cil_tmp174 = __cil_tmp173 + 392;
22424#line 548
22425 __cil_tmp175 = (spinlock_t *)__cil_tmp174;
22426#line 548
22427 spin_unlock_irqrestore(__cil_tmp175, irq_flags);
22428#line 550
22429 xpc_wakeup_channel_mgr(part);
22430 }
22431#line 551
22432 goto ldv_27699;
22433 case_6: ;
22434#line 556
22435 if (part_setup == 0) {
22436#line 557
22437 goto ldv_27699;
22438 } else {
22439
22440 }
22441 {
22442#line 559
22443 __mptr___4 = (struct xpc_activate_mq_msghdr_uv *)msg_hdr;
22444#line 559
22445 msg___4 = (struct xpc_activate_mq_msg_chctl_openreply_uv *)__mptr___4;
22446#line 561
22447 __cil_tmp176 = (unsigned long )msg___4;
22448#line 561
22449 __cil_tmp177 = __cil_tmp176 + 16;
22450#line 561
22451 __cil_tmp178 = *((short *)__cil_tmp177);
22452#line 561
22453 __cil_tmp179 = (unsigned long )__cil_tmp178;
22454#line 561
22455 __cil_tmp180 = (unsigned long )part;
22456#line 561
22457 __cil_tmp181 = __cil_tmp180 + 472;
22458#line 561
22459 __cil_tmp182 = *((struct xpc_openclose_args **)__cil_tmp181);
22460#line 561
22461 args = __cil_tmp182 + __cil_tmp179;
22462#line 562
22463 __cil_tmp183 = (unsigned long )args;
22464#line 562
22465 __cil_tmp184 = __cil_tmp183 + 4;
22466#line 562
22467 __cil_tmp185 = (unsigned long )msg___4;
22468#line 562
22469 __cil_tmp186 = __cil_tmp185 + 18;
22470#line 562
22471 __cil_tmp187 = *((short *)__cil_tmp186);
22472#line 562
22473 *((u16 *)__cil_tmp184) = (u16 )__cil_tmp187;
22474#line 563
22475 __cil_tmp188 = (unsigned long )args;
22476#line 563
22477 __cil_tmp189 = __cil_tmp188 + 6;
22478#line 563
22479 __cil_tmp190 = (unsigned long )msg___4;
22480#line 563
22481 __cil_tmp191 = __cil_tmp190 + 20;
22482#line 563
22483 __cil_tmp192 = *((short *)__cil_tmp191);
22484#line 563
22485 *((u16 *)__cil_tmp189) = (u16 )__cil_tmp192;
22486#line 564
22487 __cil_tmp193 = (unsigned long )args;
22488#line 564
22489 __cil_tmp194 = __cil_tmp193 + 8;
22490#line 564
22491 __cil_tmp195 = (unsigned long )msg___4;
22492#line 564
22493 __cil_tmp196 = __cil_tmp195 + 24;
22494#line 564
22495 *((unsigned long *)__cil_tmp194) = *((unsigned long *)__cil_tmp196);
22496#line 566
22497 ldv_spin_lock();
22498#line 567
22499 __cil_tmp197 = (unsigned long )msg___4;
22500#line 567
22501 __cil_tmp198 = __cil_tmp197 + 16;
22502#line 567
22503 __cil_tmp199 = *((short *)__cil_tmp198);
22504#line 567
22505 __cil_tmp200 = (int )__cil_tmp199;
22506#line 567
22507 __cil_tmp201 = __cil_tmp200 * 1UL;
22508#line 567
22509 __cil_tmp202 = 0 + __cil_tmp201;
22510#line 567
22511 __cil_tmp203 = 384 + __cil_tmp202;
22512#line 567
22513 __cil_tmp204 = (unsigned long )part;
22514#line 567
22515 __cil_tmp205 = __cil_tmp204 + __cil_tmp203;
22516#line 567
22517 __cil_tmp206 = (unsigned long )msg___4;
22518#line 567
22519 __cil_tmp207 = __cil_tmp206 + 16;
22520#line 567
22521 __cil_tmp208 = *((short *)__cil_tmp207);
22522#line 567
22523 __cil_tmp209 = (int )__cil_tmp208;
22524#line 567
22525 __cil_tmp210 = __cil_tmp209 * 1UL;
22526#line 567
22527 __cil_tmp211 = 0 + __cil_tmp210;
22528#line 567
22529 __cil_tmp212 = 384 + __cil_tmp211;
22530#line 567
22531 __cil_tmp213 = (unsigned long )part;
22532#line 567
22533 __cil_tmp214 = __cil_tmp213 + __cil_tmp212;
22534#line 567
22535 __cil_tmp215 = *((u8 *)__cil_tmp214);
22536#line 567
22537 __cil_tmp216 = (unsigned int )__cil_tmp215;
22538#line 567
22539 __cil_tmp217 = __cil_tmp216 | 8U;
22540#line 567
22541 *((u8 *)__cil_tmp205) = (u8 )__cil_tmp217;
22542#line 568
22543 __cil_tmp218 = (unsigned long )part;
22544#line 568
22545 __cil_tmp219 = __cil_tmp218 + 392;
22546#line 568
22547 __cil_tmp220 = (spinlock_t *)__cil_tmp219;
22548#line 568
22549 spin_unlock_irqrestore(__cil_tmp220, irq_flags);
22550#line 570
22551 xpc_wakeup_channel_mgr(part);
22552 }
22553#line 571
22554 goto ldv_27699;
22555 case_7: ;
22556#line 576
22557 if (part_setup == 0) {
22558#line 577
22559 goto ldv_27699;
22560 } else {
22561
22562 }
22563 {
22564#line 579
22565 __mptr___5 = (struct xpc_activate_mq_msghdr_uv *)msg_hdr;
22566#line 579
22567 msg___5 = (struct xpc_activate_mq_msg_chctl_opencomplete_uv *)__mptr___5;
22568#line 581
22569 ldv_spin_lock();
22570#line 582
22571 __cil_tmp221 = (unsigned long )msg___5;
22572#line 582
22573 __cil_tmp222 = __cil_tmp221 + 16;
22574#line 582
22575 __cil_tmp223 = *((short *)__cil_tmp222);
22576#line 582
22577 __cil_tmp224 = (int )__cil_tmp223;
22578#line 582
22579 __cil_tmp225 = __cil_tmp224 * 1UL;
22580#line 582
22581 __cil_tmp226 = 0 + __cil_tmp225;
22582#line 582
22583 __cil_tmp227 = 384 + __cil_tmp226;
22584#line 582
22585 __cil_tmp228 = (unsigned long )part;
22586#line 582
22587 __cil_tmp229 = __cil_tmp228 + __cil_tmp227;
22588#line 582
22589 __cil_tmp230 = (unsigned long )msg___5;
22590#line 582
22591 __cil_tmp231 = __cil_tmp230 + 16;
22592#line 582
22593 __cil_tmp232 = *((short *)__cil_tmp231);
22594#line 582
22595 __cil_tmp233 = (int )__cil_tmp232;
22596#line 582
22597 __cil_tmp234 = __cil_tmp233 * 1UL;
22598#line 582
22599 __cil_tmp235 = 0 + __cil_tmp234;
22600#line 582
22601 __cil_tmp236 = 384 + __cil_tmp235;
22602#line 582
22603 __cil_tmp237 = (unsigned long )part;
22604#line 582
22605 __cil_tmp238 = __cil_tmp237 + __cil_tmp236;
22606#line 582
22607 __cil_tmp239 = *((u8 *)__cil_tmp238);
22608#line 582
22609 __cil_tmp240 = (unsigned int )__cil_tmp239;
22610#line 582
22611 __cil_tmp241 = __cil_tmp240 | 16U;
22612#line 582
22613 *((u8 *)__cil_tmp229) = (u8 )__cil_tmp241;
22614#line 583
22615 __cil_tmp242 = (unsigned long )part;
22616#line 583
22617 __cil_tmp243 = __cil_tmp242 + 392;
22618#line 583
22619 __cil_tmp244 = (spinlock_t *)__cil_tmp243;
22620#line 583
22621 spin_unlock_irqrestore(__cil_tmp244, irq_flags);
22622#line 585
22623 xpc_wakeup_channel_mgr(part);
22624 }
22625 case_8:
22626 {
22627#line 588
22628 ldv_spin_lock();
22629#line 589
22630 __cil_tmp245 = (unsigned long )part_uv;
22631#line 589
22632 __cil_tmp246 = __cil_tmp245 + 280;
22633#line 589
22634 __cil_tmp247 = (unsigned long )part_uv;
22635#line 589
22636 __cil_tmp248 = __cil_tmp247 + 280;
22637#line 589
22638 __cil_tmp249 = *((unsigned int *)__cil_tmp248);
22639#line 589
22640 *((unsigned int *)__cil_tmp246) = __cil_tmp249 | 2U;
22641#line 590
22642 __cil_tmp250 = (unsigned long )part_uv;
22643#line 590
22644 __cil_tmp251 = __cil_tmp250 + 208;
22645#line 590
22646 __cil_tmp252 = (spinlock_t *)__cil_tmp251;
22647#line 590
22648 spin_unlock_irqrestore(__cil_tmp252, irq_flags);
22649 }
22650#line 591
22651 goto ldv_27699;
22652 case_9:
22653 {
22654#line 594
22655 ldv_spin_lock();
22656#line 595
22657 __cil_tmp253 = (unsigned long )part_uv;
22658#line 595
22659 __cil_tmp254 = __cil_tmp253 + 280;
22660#line 595
22661 __cil_tmp255 = (unsigned long )part_uv;
22662#line 595
22663 __cil_tmp256 = __cil_tmp255 + 280;
22664#line 595
22665 __cil_tmp257 = *((unsigned int *)__cil_tmp256);
22666#line 595
22667 *((unsigned int *)__cil_tmp254) = __cil_tmp257 & 4294967293U;
22668#line 596
22669 __cil_tmp258 = (unsigned long )part_uv;
22670#line 596
22671 __cil_tmp259 = __cil_tmp258 + 208;
22672#line 596
22673 __cil_tmp260 = (spinlock_t *)__cil_tmp259;
22674#line 596
22675 spin_unlock_irqrestore(__cil_tmp260, irq_flags);
22676 }
22677#line 597
22678 goto ldv_27699;
22679 switch_default:
22680 {
22681#line 600
22682 __cil_tmp261 = (struct device *)xpc_part;
22683#line 600
22684 __cil_tmp262 = (unsigned long )msg_hdr;
22685#line 600
22686 __cil_tmp263 = __cil_tmp262 + 7;
22687#line 600
22688 __cil_tmp264 = *((u8 *)__cil_tmp263);
22689#line 600
22690 __cil_tmp265 = (int )__cil_tmp264;
22691#line 600
22692 __cil_tmp266 = (long )xpc_partitions;
22693#line 600
22694 __cil_tmp267 = (long )part;
22695#line 600
22696 __cil_tmp268 = __cil_tmp267 - __cil_tmp266;
22697#line 600
22698 __cil_tmp269 = __cil_tmp268 / 896L;
22699#line 600
22700 __cil_tmp270 = (short )__cil_tmp269;
22701#line 600
22702 __cil_tmp271 = (int )__cil_tmp270;
22703#line 600
22704 dev_err(__cil_tmp261, "received unknown activate_mq msg type=%d from partition=%d\n",
22705 __cil_tmp265, __cil_tmp271);
22706#line 604
22707 ldv_spin_lock();
22708 }
22709 {
22710#line 605
22711 __cil_tmp272 = (unsigned long )part_uv;
22712#line 605
22713 __cil_tmp273 = __cil_tmp272 + 285;
22714#line 605
22715 __cil_tmp274 = *((u8 *)__cil_tmp273);
22716#line 605
22717 __cil_tmp275 = (unsigned int )__cil_tmp274;
22718#line 605
22719 if (__cil_tmp275 == 0U) {
22720#line 606
22721 xpc_activate_IRQ_rcvd = xpc_activate_IRQ_rcvd + 1;
22722 } else {
22723
22724 }
22725 }
22726 {
22727#line 607
22728 __cil_tmp276 = (unsigned long )part_uv;
22729#line 607
22730 __cil_tmp277 = __cil_tmp276 + 285;
22731#line 607
22732 *((u8 *)__cil_tmp277) = (u8 )3U;
22733#line 608
22734 __cil_tmp278 = (unsigned long )part_uv;
22735#line 608
22736 __cil_tmp279 = __cil_tmp278 + 288;
22737#line 608
22738 *((enum xp_retval *)__cil_tmp279) = (enum xp_retval )61;
22739#line 609
22740 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
22741#line 611
22742 __cil_tmp280 = *wakeup_hb_checker;
22743#line 611
22744 *wakeup_hb_checker = __cil_tmp280 + 1;
22745 }
22746#line 612
22747 return;
22748 } else {
22749 switch_break: ;
22750 }
22751 }
22752 }
22753 }
22754 ldv_27699: ;
22755 {
22756#line 615
22757 __cil_tmp281 = (unsigned long )part;
22758#line 615
22759 __cil_tmp282 = __cil_tmp281 + 8;
22760#line 615
22761 __cil_tmp283 = *((unsigned long *)__cil_tmp282);
22762#line 615
22763 __cil_tmp284 = (unsigned long )msg_hdr;
22764#line 615
22765 __cil_tmp285 = __cil_tmp284 + 8;
22766#line 615
22767 __cil_tmp286 = *((unsigned long *)__cil_tmp285);
22768#line 615
22769 if (__cil_tmp286 != __cil_tmp283) {
22770 {
22771#line 615
22772 __cil_tmp287 = (unsigned long )part;
22773#line 615
22774 __cil_tmp288 = __cil_tmp287 + 8;
22775#line 615
22776 __cil_tmp289 = *((unsigned long *)__cil_tmp288);
22777#line 615
22778 if (__cil_tmp289 != 0UL) {
22779 {
22780#line 621
22781 ldv_spin_lock();
22782 }
22783 {
22784#line 622
22785 __cil_tmp290 = (unsigned long )part_uv;
22786#line 622
22787 __cil_tmp291 = __cil_tmp290 + 285;
22788#line 622
22789 __cil_tmp292 = *((u8 *)__cil_tmp291);
22790#line 622
22791 __cil_tmp293 = (unsigned int )__cil_tmp292;
22792#line 622
22793 if (__cil_tmp293 == 0U) {
22794#line 623
22795 xpc_activate_IRQ_rcvd = xpc_activate_IRQ_rcvd + 1;
22796 } else {
22797
22798 }
22799 }
22800 {
22801#line 624
22802 __cil_tmp294 = (unsigned long )part_uv;
22803#line 624
22804 __cil_tmp295 = __cil_tmp294 + 285;
22805#line 624
22806 *((u8 *)__cil_tmp295) = (u8 )2U;
22807#line 625
22808 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
22809#line 627
22810 __cil_tmp296 = *wakeup_hb_checker;
22811#line 627
22812 *wakeup_hb_checker = __cil_tmp296 + 1;
22813 }
22814 } else {
22815
22816 }
22817 }
22818 } else {
22819
22820 }
22821 }
22822#line 629
22823 return;
22824}
22825}
22826#line 632 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
22827static irqreturn_t xpc_handle_activate_IRQ_uv(int irq , void *dev_id )
22828{ struct xpc_activate_mq_msghdr_uv *msg_hdr ;
22829 short partid ;
22830 struct xpc_partition *part ;
22831 int wakeup_hb_checker ;
22832 int part_referenced ;
22833 void *tmp ;
22834 int *__cil_tmp9 ;
22835 unsigned long __cil_tmp10 ;
22836 unsigned long __cil_tmp11 ;
22837 void *__cil_tmp12 ;
22838 struct gru_message_queue_desc *__cil_tmp13 ;
22839 struct xpc_activate_mq_msghdr_uv *__cil_tmp14 ;
22840 unsigned long __cil_tmp15 ;
22841 unsigned long __cil_tmp16 ;
22842 unsigned long __cil_tmp17 ;
22843 unsigned long __cil_tmp18 ;
22844 int __cil_tmp19 ;
22845 struct device *__cil_tmp20 ;
22846 int __cil_tmp21 ;
22847 int __cil_tmp22 ;
22848 struct device *__cil_tmp23 ;
22849 int __cil_tmp24 ;
22850 unsigned long __cil_tmp25 ;
22851 unsigned long __cil_tmp26 ;
22852 unsigned long __cil_tmp27 ;
22853 void *__cil_tmp28 ;
22854 struct gru_message_queue_desc *__cil_tmp29 ;
22855 void *__cil_tmp30 ;
22856 int *__cil_tmp31 ;
22857 int __cil_tmp32 ;
22858 void *__cil_tmp33 ;
22859
22860 {
22861#line 637
22862 __cil_tmp9 = & wakeup_hb_checker;
22863#line 637
22864 *__cil_tmp9 = 0;
22865 ldv_27741:
22866 {
22867#line 641
22868 __cil_tmp10 = (unsigned long )xpc_activate_mq_uv;
22869#line 641
22870 __cil_tmp11 = __cil_tmp10 + 48;
22871#line 641
22872 __cil_tmp12 = *((void **)__cil_tmp11);
22873#line 641
22874 __cil_tmp13 = (struct gru_message_queue_desc *)__cil_tmp12;
22875#line 641
22876 tmp = gru_get_next_message(__cil_tmp13);
22877#line 641
22878 msg_hdr = (struct xpc_activate_mq_msghdr_uv *)tmp;
22879 }
22880 {
22881#line 642
22882 __cil_tmp14 = (struct xpc_activate_mq_msghdr_uv *)0;
22883#line 642
22884 __cil_tmp15 = (unsigned long )__cil_tmp14;
22885#line 642
22886 __cil_tmp16 = (unsigned long )msg_hdr;
22887#line 642
22888 if (__cil_tmp16 == __cil_tmp15) {
22889#line 643
22890 goto ldv_27740;
22891 } else {
22892
22893 }
22894 }
22895#line 645
22896 __cil_tmp17 = (unsigned long )msg_hdr;
22897#line 645
22898 __cil_tmp18 = __cil_tmp17 + 4;
22899#line 645
22900 partid = *((short *)__cil_tmp18);
22901 {
22902#line 646
22903 __cil_tmp19 = (int )partid;
22904#line 646
22905 if (__cil_tmp19 < 0) {
22906 {
22907#line 647
22908 __cil_tmp20 = (struct device *)xpc_part;
22909#line 647
22910 __cil_tmp21 = (int )partid;
22911#line 647
22912 dev_err(__cil_tmp20, "xpc_handle_activate_IRQ_uv() received invalid partid=0x%x in message\n",
22913 __cil_tmp21);
22914 }
22915 } else {
22916 {
22917#line 646
22918 __cil_tmp22 = (int )partid;
22919#line 646
22920 if (__cil_tmp22 > 255) {
22921 {
22922#line 647
22923 __cil_tmp23 = (struct device *)xpc_part;
22924#line 647
22925 __cil_tmp24 = (int )partid;
22926#line 647
22927 dev_err(__cil_tmp23, "xpc_handle_activate_IRQ_uv() received invalid partid=0x%x in message\n",
22928 __cil_tmp24);
22929 }
22930 } else {
22931 {
22932#line 651
22933 __cil_tmp25 = (unsigned long )partid;
22934#line 651
22935 part = xpc_partitions + __cil_tmp25;
22936#line 653
22937 part_referenced = xpc_part_ref(part);
22938#line 654
22939 xpc_handle_activate_mq_msg_uv(part, msg_hdr, part_referenced, & wakeup_hb_checker);
22940 }
22941#line 657
22942 if (part_referenced != 0) {
22943 {
22944#line 658
22945 xpc_part_deref(part);
22946 }
22947 } else {
22948
22949 }
22950 }
22951 }
22952 }
22953 }
22954 {
22955#line 661
22956 __cil_tmp26 = (unsigned long )xpc_activate_mq_uv;
22957#line 661
22958 __cil_tmp27 = __cil_tmp26 + 48;
22959#line 661
22960 __cil_tmp28 = *((void **)__cil_tmp27);
22961#line 661
22962 __cil_tmp29 = (struct gru_message_queue_desc *)__cil_tmp28;
22963#line 661
22964 __cil_tmp30 = (void *)msg_hdr;
22965#line 661
22966 gru_free_message(__cil_tmp29, __cil_tmp30);
22967 }
22968#line 662
22969 goto ldv_27741;
22970 ldv_27740: ;
22971 {
22972#line 664
22973 __cil_tmp31 = & wakeup_hb_checker;
22974#line 664
22975 __cil_tmp32 = *__cil_tmp31;
22976#line 664
22977 if (__cil_tmp32 != 0) {
22978 {
22979#line 665
22980 __cil_tmp33 = (void *)0;
22981#line 665
22982 __wake_up(& xpc_activate_IRQ_wq, 1U, 1, __cil_tmp33);
22983 }
22984 } else {
22985
22986 }
22987 }
22988#line 667
22989 return ((irqreturn_t )1);
22990}
22991}
22992#line 671 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
22993static enum xp_retval xpc_cache_remote_gru_mq_desc_uv(struct gru_message_queue_desc *gru_mq_desc ,
22994 unsigned long gru_mq_desc_gpa )
22995{ enum xp_retval ret ;
22996 unsigned long tmp ;
22997 void *__cil_tmp5 ;
22998 unsigned long __cil_tmp6 ;
22999 unsigned int __cil_tmp7 ;
23000
23001 {
23002 {
23003#line 676
23004 __cil_tmp5 = (void *)gru_mq_desc;
23005#line 676
23006 tmp = uv_gpa(__cil_tmp5);
23007#line 676
23008 __cil_tmp6 = (unsigned long )gru_mq_desc_gpa;
23009#line 676
23010 ret = (*xp_remote_memcpy)(tmp, __cil_tmp6, 32UL);
23011 }
23012 {
23013#line 678
23014 __cil_tmp7 = (unsigned int )ret;
23015#line 678
23016 if (__cil_tmp7 == 0U) {
23017#line 679
23018 *((void **)gru_mq_desc) = (void *)0;
23019 } else {
23020
23021 }
23022 }
23023#line 681
23024 return (ret);
23025}
23026}
23027#line 685 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23028static enum xp_retval xpc_send_activate_IRQ_uv(struct xpc_partition *part , void *msg ,
23029 size_t msg_size , int msg_type )
23030{ struct xpc_activate_mq_msghdr_uv *msg_hdr ;
23031 struct xpc_partition_uv *part_uv ;
23032 struct gru_message_queue_desc *gru_mq_desc ;
23033 unsigned long irq_flags ;
23034 enum xp_retval ret ;
23035 void *tmp ;
23036 unsigned long __cil_tmp11 ;
23037 unsigned long __cil_tmp12 ;
23038 unsigned long __cil_tmp13 ;
23039 unsigned long __cil_tmp14 ;
23040 unsigned long __cil_tmp15 ;
23041 unsigned long __cil_tmp16 ;
23042 unsigned long __cil_tmp17 ;
23043 unsigned long __cil_tmp18 ;
23044 unsigned long __cil_tmp19 ;
23045 unsigned long __cil_tmp20 ;
23046 unsigned long __cil_tmp21 ;
23047 unsigned long __cil_tmp22 ;
23048 unsigned long __cil_tmp23 ;
23049 unsigned long __cil_tmp24 ;
23050 unsigned long __cil_tmp25 ;
23051 unsigned long __cil_tmp26 ;
23052 struct mutex *__cil_tmp27 ;
23053 unsigned long __cil_tmp28 ;
23054 unsigned long __cil_tmp29 ;
23055 unsigned int __cil_tmp30 ;
23056 unsigned int __cil_tmp31 ;
23057 unsigned long __cil_tmp32 ;
23058 unsigned long __cil_tmp33 ;
23059 void *__cil_tmp34 ;
23060 struct gru_message_queue_desc *__cil_tmp35 ;
23061 unsigned long __cil_tmp36 ;
23062 unsigned long __cil_tmp37 ;
23063 struct gru_message_queue_desc *__cil_tmp38 ;
23064 unsigned long __cil_tmp39 ;
23065 unsigned long __cil_tmp40 ;
23066 unsigned long __cil_tmp41 ;
23067 unsigned long __cil_tmp42 ;
23068 unsigned long __cil_tmp43 ;
23069 unsigned long __cil_tmp44 ;
23070 unsigned long __cil_tmp45 ;
23071 unsigned int __cil_tmp46 ;
23072 unsigned long __cil_tmp47 ;
23073 unsigned long __cil_tmp48 ;
23074 unsigned long __cil_tmp49 ;
23075 unsigned long __cil_tmp50 ;
23076 unsigned int __cil_tmp51 ;
23077 unsigned long __cil_tmp52 ;
23078 unsigned long __cil_tmp53 ;
23079 spinlock_t *__cil_tmp54 ;
23080 unsigned long __cil_tmp55 ;
23081 unsigned long __cil_tmp56 ;
23082 void *__cil_tmp57 ;
23083 struct gru_message_queue_desc *__cil_tmp58 ;
23084 unsigned int __cil_tmp59 ;
23085 unsigned long __cil_tmp60 ;
23086 unsigned long __cil_tmp61 ;
23087 unsigned int __cil_tmp62 ;
23088 unsigned int __cil_tmp63 ;
23089 unsigned long __cil_tmp64 ;
23090 unsigned long __cil_tmp65 ;
23091 struct mutex *__cil_tmp66 ;
23092
23093 {
23094 {
23095#line 688
23096 msg_hdr = (struct xpc_activate_mq_msghdr_uv *)msg;
23097#line 689
23098 __cil_tmp11 = (unsigned long )part;
23099#line 689
23100 __cil_tmp12 = __cil_tmp11 + 576;
23101#line 689
23102 part_uv = (struct xpc_partition_uv *)__cil_tmp12;
23103#line 696
23104 __cil_tmp13 = (unsigned long )msg_hdr;
23105#line 696
23106 __cil_tmp14 = __cil_tmp13 + 7;
23107#line 696
23108 *((u8 *)__cil_tmp14) = (u8 )msg_type;
23109#line 697
23110 __cil_tmp15 = (unsigned long )msg_hdr;
23111#line 697
23112 __cil_tmp16 = __cil_tmp15 + 4;
23113#line 697
23114 *((short *)__cil_tmp16) = xp_partition_id;
23115#line 698
23116 __cil_tmp17 = (unsigned long )msg_hdr;
23117#line 698
23118 __cil_tmp18 = __cil_tmp17 + 6;
23119#line 698
23120 __cil_tmp19 = (unsigned long )part;
23121#line 698
23122 __cil_tmp20 = __cil_tmp19 + 112;
23123#line 698
23124 *((u8 *)__cil_tmp18) = *((u8 *)__cil_tmp20);
23125#line 699
23126 __cil_tmp21 = (unsigned long )msg_hdr;
23127#line 699
23128 __cil_tmp22 = __cil_tmp21 + 8;
23129#line 699
23130 __cil_tmp23 = (unsigned long )xpc_rsvd_page;
23131#line 699
23132 __cil_tmp24 = __cil_tmp23 + 24;
23133#line 699
23134 *((unsigned long *)__cil_tmp22) = *((unsigned long *)__cil_tmp24);
23135#line 701
23136 __cil_tmp25 = (unsigned long )part_uv;
23137#line 701
23138 __cil_tmp26 = __cil_tmp25 + 40;
23139#line 701
23140 __cil_tmp27 = (struct mutex *)__cil_tmp26;
23141#line 701
23142 mutex_lock_nested(__cil_tmp27, 0U);
23143 }
23144 again: ;
23145 {
23146#line 703
23147 __cil_tmp28 = (unsigned long )part_uv;
23148#line 703
23149 __cil_tmp29 = __cil_tmp28 + 280;
23150#line 703
23151 __cil_tmp30 = *((unsigned int *)__cil_tmp29);
23152#line 703
23153 __cil_tmp31 = __cil_tmp30 & 1U;
23154#line 703
23155 if (__cil_tmp31 == 0U) {
23156#line 704
23157 __cil_tmp32 = (unsigned long )part_uv;
23158#line 704
23159 __cil_tmp33 = __cil_tmp32 + 32;
23160#line 704
23161 __cil_tmp34 = *((void **)__cil_tmp33);
23162#line 704
23163 gru_mq_desc = (struct gru_message_queue_desc *)__cil_tmp34;
23164 {
23165#line 705
23166 __cil_tmp35 = (struct gru_message_queue_desc *)0;
23167#line 705
23168 __cil_tmp36 = (unsigned long )__cil_tmp35;
23169#line 705
23170 __cil_tmp37 = (unsigned long )gru_mq_desc;
23171#line 705
23172 if (__cil_tmp37 == __cil_tmp36) {
23173 {
23174#line 706
23175 tmp = kmalloc(32UL, 208U);
23176#line 706
23177 gru_mq_desc = (struct gru_message_queue_desc *)tmp;
23178 }
23179 {
23180#line 709
23181 __cil_tmp38 = (struct gru_message_queue_desc *)0;
23182#line 709
23183 __cil_tmp39 = (unsigned long )__cil_tmp38;
23184#line 709
23185 __cil_tmp40 = (unsigned long )gru_mq_desc;
23186#line 709
23187 if (__cil_tmp40 == __cil_tmp39) {
23188#line 710
23189 ret = (enum xp_retval )13;
23190#line 711
23191 goto done;
23192 } else {
23193
23194 }
23195 }
23196#line 713
23197 __cil_tmp41 = (unsigned long )part_uv;
23198#line 713
23199 __cil_tmp42 = __cil_tmp41 + 32;
23200#line 713
23201 *((void **)__cil_tmp42) = (void *)gru_mq_desc;
23202 } else {
23203
23204 }
23205 }
23206 {
23207#line 716
23208 __cil_tmp43 = (unsigned long )part_uv;
23209#line 716
23210 __cil_tmp44 = __cil_tmp43 + 24;
23211#line 716
23212 __cil_tmp45 = *((unsigned long *)__cil_tmp44);
23213#line 716
23214 ret = xpc_cache_remote_gru_mq_desc_uv(gru_mq_desc, __cil_tmp45);
23215 }
23216 {
23217#line 719
23218 __cil_tmp46 = (unsigned int )ret;
23219#line 719
23220 if (__cil_tmp46 != 0U) {
23221#line 720
23222 goto done;
23223 } else {
23224
23225 }
23226 }
23227 {
23228#line 722
23229 ldv_spin_lock();
23230#line 723
23231 __cil_tmp47 = (unsigned long )part_uv;
23232#line 723
23233 __cil_tmp48 = __cil_tmp47 + 280;
23234#line 723
23235 __cil_tmp49 = (unsigned long )part_uv;
23236#line 723
23237 __cil_tmp50 = __cil_tmp49 + 280;
23238#line 723
23239 __cil_tmp51 = *((unsigned int *)__cil_tmp50);
23240#line 723
23241 *((unsigned int *)__cil_tmp48) = __cil_tmp51 | 1U;
23242#line 724
23243 __cil_tmp52 = (unsigned long )part_uv;
23244#line 724
23245 __cil_tmp53 = __cil_tmp52 + 208;
23246#line 724
23247 __cil_tmp54 = (spinlock_t *)__cil_tmp53;
23248#line 724
23249 spin_unlock_irqrestore(__cil_tmp54, irq_flags);
23250 }
23251 } else {
23252
23253 }
23254 }
23255 {
23256#line 728
23257 __cil_tmp55 = (unsigned long )part_uv;
23258#line 728
23259 __cil_tmp56 = __cil_tmp55 + 32;
23260#line 728
23261 __cil_tmp57 = *((void **)__cil_tmp56);
23262#line 728
23263 __cil_tmp58 = (struct gru_message_queue_desc *)__cil_tmp57;
23264#line 728
23265 ret = xpc_send_gru_msg(__cil_tmp58, msg, msg_size);
23266 }
23267 {
23268#line 730
23269 __cil_tmp59 = (unsigned int )ret;
23270#line 730
23271 if (__cil_tmp59 != 0U) {
23272#line 731
23273 __asm__ volatile ("": : : "memory");
23274 {
23275#line 732
23276 __cil_tmp60 = (unsigned long )part_uv;
23277#line 732
23278 __cil_tmp61 = __cil_tmp60 + 280;
23279#line 732
23280 __cil_tmp62 = *((unsigned int *)__cil_tmp61);
23281#line 732
23282 __cil_tmp63 = __cil_tmp62 & 1U;
23283#line 732
23284 if (__cil_tmp63 == 0U) {
23285#line 733
23286 goto again;
23287 } else {
23288
23289 }
23290 }
23291 } else {
23292
23293 }
23294 }
23295 done:
23296 {
23297#line 736
23298 __cil_tmp64 = (unsigned long )part_uv;
23299#line 736
23300 __cil_tmp65 = __cil_tmp64 + 40;
23301#line 736
23302 __cil_tmp66 = (struct mutex *)__cil_tmp65;
23303#line 736
23304 mutex_unlock(__cil_tmp66);
23305 }
23306#line 737
23307 return (ret);
23308}
23309}
23310#line 741 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23311static void xpc_send_activate_IRQ_part_uv(struct xpc_partition *part , void *msg ,
23312 size_t msg_size , int msg_type )
23313{ enum xp_retval ret ;
23314 long tmp ;
23315 unsigned int __cil_tmp7 ;
23316 int __cil_tmp8 ;
23317 long __cil_tmp9 ;
23318 int __cil_tmp10 ;
23319
23320 {
23321 {
23322#line 746
23323 ret = xpc_send_activate_IRQ_uv(part, msg, msg_size, msg_type);
23324#line 747
23325 __cil_tmp7 = (unsigned int )ret;
23326#line 747
23327 __cil_tmp8 = __cil_tmp7 != 0U;
23328#line 747
23329 __cil_tmp9 = (long )__cil_tmp8;
23330#line 747
23331 tmp = __builtin_expect(__cil_tmp9, 0L);
23332 }
23333#line 747
23334 if (tmp != 0L) {
23335 {
23336#line 748
23337 __cil_tmp10 = (int )748;
23338#line 748
23339 xpc_deactivate_partition(__cil_tmp10, part, ret);
23340 }
23341 } else {
23342
23343 }
23344#line 749
23345 return;
23346}
23347}
23348#line 752 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23349static void xpc_send_activate_IRQ_ch_uv(struct xpc_channel *ch , unsigned long *irq_flags ,
23350 void *msg , size_t msg_size , int msg_type )
23351{ struct xpc_partition *part ;
23352 enum xp_retval ret ;
23353 long tmp ;
23354 short __cil_tmp9 ;
23355 unsigned long __cil_tmp10 ;
23356 unsigned int __cil_tmp11 ;
23357 int __cil_tmp12 ;
23358 long __cil_tmp13 ;
23359 unsigned long *__cil_tmp14 ;
23360 unsigned long __cil_tmp15 ;
23361 unsigned long __cil_tmp16 ;
23362 unsigned long __cil_tmp17 ;
23363 unsigned long __cil_tmp18 ;
23364 spinlock_t *__cil_tmp19 ;
23365 unsigned long __cil_tmp20 ;
23366 int __cil_tmp21 ;
23367 unsigned long *__cil_tmp22 ;
23368 unsigned long __cil_tmp23 ;
23369 unsigned long __cil_tmp24 ;
23370
23371 {
23372 {
23373#line 755
23374 __cil_tmp9 = *((short *)ch);
23375#line 755
23376 __cil_tmp10 = (unsigned long )__cil_tmp9;
23377#line 755
23378 part = xpc_partitions + __cil_tmp10;
23379#line 758
23380 ret = xpc_send_activate_IRQ_uv(part, msg, msg_size, msg_type);
23381#line 759
23382 __cil_tmp11 = (unsigned int )ret;
23383#line 759
23384 __cil_tmp12 = __cil_tmp11 != 0U;
23385#line 759
23386 __cil_tmp13 = (long )__cil_tmp12;
23387#line 759
23388 tmp = __builtin_expect(__cil_tmp13, 0L);
23389 }
23390#line 759
23391 if (tmp != 0L) {
23392 {
23393#line 760
23394 __cil_tmp14 = (unsigned long *)0;
23395#line 760
23396 __cil_tmp15 = (unsigned long )__cil_tmp14;
23397#line 760
23398 __cil_tmp16 = (unsigned long )irq_flags;
23399#line 760
23400 if (__cil_tmp16 != __cil_tmp15) {
23401 {
23402#line 761
23403 __cil_tmp17 = (unsigned long )ch;
23404#line 761
23405 __cil_tmp18 = __cil_tmp17 + 8;
23406#line 761
23407 __cil_tmp19 = (spinlock_t *)__cil_tmp18;
23408#line 761
23409 __cil_tmp20 = *irq_flags;
23410#line 761
23411 spin_unlock_irqrestore(__cil_tmp19, __cil_tmp20);
23412 }
23413 } else {
23414
23415 }
23416 }
23417 {
23418#line 763
23419 __cil_tmp21 = (int )763;
23420#line 763
23421 xpc_deactivate_partition(__cil_tmp21, part, ret);
23422 }
23423 {
23424#line 765
23425 __cil_tmp22 = (unsigned long *)0;
23426#line 765
23427 __cil_tmp23 = (unsigned long )__cil_tmp22;
23428#line 765
23429 __cil_tmp24 = (unsigned long )irq_flags;
23430#line 765
23431 if (__cil_tmp24 != __cil_tmp23) {
23432 {
23433#line 766
23434 ldv_spin_lock();
23435 }
23436 } else {
23437
23438 }
23439 }
23440 } else {
23441
23442 }
23443#line 768
23444 return;
23445}
23446}
23447#line 771 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23448static void xpc_send_local_activate_IRQ_uv(struct xpc_partition *part , int act_state_req )
23449{ unsigned long irq_flags ;
23450 struct xpc_partition_uv *part_uv ;
23451 unsigned long __cil_tmp5 ;
23452 unsigned long __cil_tmp6 ;
23453 unsigned long __cil_tmp7 ;
23454 unsigned long __cil_tmp8 ;
23455 u8 __cil_tmp9 ;
23456 unsigned int __cil_tmp10 ;
23457 unsigned long __cil_tmp11 ;
23458 unsigned long __cil_tmp12 ;
23459 void *__cil_tmp13 ;
23460
23461 {
23462 {
23463#line 774
23464 __cil_tmp5 = (unsigned long )part;
23465#line 774
23466 __cil_tmp6 = __cil_tmp5 + 576;
23467#line 774
23468 part_uv = (struct xpc_partition_uv *)__cil_tmp6;
23469#line 782
23470 ldv_spin_lock();
23471 }
23472 {
23473#line 783
23474 __cil_tmp7 = (unsigned long )part_uv;
23475#line 783
23476 __cil_tmp8 = __cil_tmp7 + 285;
23477#line 783
23478 __cil_tmp9 = *((u8 *)__cil_tmp8);
23479#line 783
23480 __cil_tmp10 = (unsigned int )__cil_tmp9;
23481#line 783
23482 if (__cil_tmp10 == 0U) {
23483#line 784
23484 xpc_activate_IRQ_rcvd = xpc_activate_IRQ_rcvd + 1;
23485 } else {
23486
23487 }
23488 }
23489 {
23490#line 785
23491 __cil_tmp11 = (unsigned long )part_uv;
23492#line 785
23493 __cil_tmp12 = __cil_tmp11 + 285;
23494#line 785
23495 *((u8 *)__cil_tmp12) = (u8 )act_state_req;
23496#line 786
23497 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
23498#line 788
23499 __cil_tmp13 = (void *)0;
23500#line 788
23501 __wake_up(& xpc_activate_IRQ_wq, 1U, 1, __cil_tmp13);
23502 }
23503#line 789
23504 return;
23505}
23506}
23507#line 792 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23508static enum xp_retval xpc_get_partition_rsvd_page_pa_uv(void *buf , u64 *cookie ,
23509 unsigned long *rp_pa , size_t *len )
23510{ s64 status ;
23511 enum xp_retval ret ;
23512 unsigned long long __cil_tmp7 ;
23513 u64 *__cil_tmp8 ;
23514 u64 *__cil_tmp9 ;
23515
23516 {
23517 {
23518#line 799
23519 __cil_tmp7 = (unsigned long long )buf;
23520#line 799
23521 __cil_tmp8 = (u64 *)rp_pa;
23522#line 799
23523 __cil_tmp9 = (u64 *)len;
23524#line 799
23525 status = uv_bios_reserved_page_pa(__cil_tmp7, cookie, __cil_tmp8, __cil_tmp9);
23526 }
23527#line 801
23528 if (status == 0LL) {
23529#line 802
23530 ret = (enum xp_retval )0;
23531 } else
23532#line 803
23533 if (status == 1LL) {
23534#line 804
23535 ret = (enum xp_retval )57;
23536 } else {
23537#line 806
23538 ret = (enum xp_retval )62;
23539 }
23540#line 821
23541 return (ret);
23542}
23543}
23544#line 825 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23545static int xpc_setup_rsvd_page_uv(struct xpc_rsvd_page *rp )
23546{ unsigned long __cil_tmp2 ;
23547 unsigned long __cil_tmp3 ;
23548 unsigned long __cil_tmp4 ;
23549 struct xpc_partition *__cil_tmp5 ;
23550 unsigned long __cil_tmp6 ;
23551 unsigned long __cil_tmp7 ;
23552 unsigned long __cil_tmp8 ;
23553 unsigned long __cil_tmp9 ;
23554 void *__cil_tmp10 ;
23555 unsigned long __cil_tmp11 ;
23556 unsigned long __cil_tmp12 ;
23557 unsigned long __cil_tmp13 ;
23558 unsigned long __cil_tmp14 ;
23559 unsigned long __cil_tmp15 ;
23560 unsigned long __cil_tmp16 ;
23561 void *__cil_tmp17 ;
23562
23563 {
23564 {
23565#line 827
23566 __cil_tmp2 = 0 + 8;
23567#line 827
23568 __cil_tmp3 = 576 + __cil_tmp2;
23569#line 827
23570 __cil_tmp4 = (unsigned long )sn_partition_id;
23571#line 827
23572 __cil_tmp5 = xpc_partitions + __cil_tmp4;
23573#line 827
23574 __cil_tmp6 = (unsigned long )__cil_tmp5;
23575#line 827
23576 __cil_tmp7 = __cil_tmp6 + __cil_tmp3;
23577#line 827
23578 xpc_heartbeat_uv = (struct xpc_heartbeat_uv *)__cil_tmp7;
23579#line 829
23580 __cil_tmp8 = (unsigned long )rp;
23581#line 829
23582 __cil_tmp9 = __cil_tmp8 + 32;
23583#line 829
23584 __cil_tmp10 = (void *)xpc_heartbeat_uv;
23585#line 829
23586 *((unsigned long *)__cil_tmp9) = uv_gpa(__cil_tmp10);
23587#line 830
23588 __cil_tmp11 = 0 + 8;
23589#line 830
23590 __cil_tmp12 = 32 + __cil_tmp11;
23591#line 830
23592 __cil_tmp13 = (unsigned long )rp;
23593#line 830
23594 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
23595#line 830
23596 __cil_tmp15 = (unsigned long )xpc_activate_mq_uv;
23597#line 830
23598 __cil_tmp16 = __cil_tmp15 + 48;
23599#line 830
23600 __cil_tmp17 = *((void **)__cil_tmp16);
23601#line 830
23602 *((unsigned long *)__cil_tmp14) = uv_gpa(__cil_tmp17);
23603 }
23604#line 832
23605 return (0);
23606}
23607}
23608#line 836 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23609static void xpc_allow_hb_uv(short partid )
23610{
23611
23612 {
23613#line 838
23614 return;
23615}
23616}
23617#line 841 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23618static void xpc_disallow_hb_uv(short partid )
23619{
23620
23621 {
23622#line 843
23623 return;
23624}
23625}
23626#line 846 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23627static void xpc_disallow_all_hbs_uv(void)
23628{
23629
23630 {
23631#line 848
23632 return;
23633}
23634}
23635#line 851 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23636static void xpc_increment_heartbeat_uv(void)
23637{ unsigned long __cil_tmp1 ;
23638
23639 {
23640#line 853
23641 __cil_tmp1 = *((unsigned long *)xpc_heartbeat_uv);
23642#line 853
23643 *((unsigned long *)xpc_heartbeat_uv) = __cil_tmp1 + 1UL;
23644#line 854
23645 return;
23646}
23647}
23648#line 857 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23649static void xpc_offline_heartbeat_uv(void)
23650{ unsigned long __cil_tmp1 ;
23651 unsigned long __cil_tmp2 ;
23652
23653 {
23654 {
23655#line 859
23656 xpc_increment_heartbeat_uv();
23657#line 860
23658 __cil_tmp1 = (unsigned long )xpc_heartbeat_uv;
23659#line 860
23660 __cil_tmp2 = __cil_tmp1 + 8;
23661#line 860
23662 *((unsigned long *)__cil_tmp2) = 1UL;
23663 }
23664#line 861
23665 return;
23666}
23667}
23668#line 864 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23669static void xpc_online_heartbeat_uv(void)
23670{ unsigned long __cil_tmp1 ;
23671 unsigned long __cil_tmp2 ;
23672
23673 {
23674 {
23675#line 866
23676 xpc_increment_heartbeat_uv();
23677#line 867
23678 __cil_tmp1 = (unsigned long )xpc_heartbeat_uv;
23679#line 867
23680 __cil_tmp2 = __cil_tmp1 + 8;
23681#line 867
23682 *((unsigned long *)__cil_tmp2) = 0UL;
23683 }
23684#line 868
23685 return;
23686}
23687}
23688#line 871 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23689static void xpc_heartbeat_init_uv(void)
23690{ unsigned long __cil_tmp1 ;
23691 unsigned long __cil_tmp2 ;
23692
23693 {
23694#line 873
23695 *((unsigned long *)xpc_heartbeat_uv) = 1UL;
23696#line 874
23697 __cil_tmp1 = (unsigned long )xpc_heartbeat_uv;
23698#line 874
23699 __cil_tmp2 = __cil_tmp1 + 8;
23700#line 874
23701 *((unsigned long *)__cil_tmp2) = 0UL;
23702#line 875
23703 return;
23704}
23705}
23706#line 878 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23707static void xpc_heartbeat_exit_uv(void)
23708{
23709
23710 {
23711 {
23712#line 880
23713 xpc_offline_heartbeat_uv();
23714 }
23715#line 881
23716 return;
23717}
23718}
23719#line 884 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23720static enum xp_retval xpc_get_remote_heartbeat_uv(struct xpc_partition *part )
23721{ struct xpc_partition_uv *part_uv ;
23722 enum xp_retval ret ;
23723 unsigned long tmp ;
23724 unsigned long __cil_tmp5 ;
23725 unsigned long __cil_tmp6 ;
23726 unsigned long __cil_tmp7 ;
23727 unsigned long __cil_tmp8 ;
23728 struct xpc_heartbeat_uv *__cil_tmp9 ;
23729 void *__cil_tmp10 ;
23730 unsigned long __cil_tmp11 ;
23731 unsigned long __cil_tmp12 ;
23732 unsigned int __cil_tmp13 ;
23733 unsigned long __cil_tmp14 ;
23734 unsigned long __cil_tmp15 ;
23735 u64 __cil_tmp16 ;
23736 unsigned long __cil_tmp17 ;
23737 unsigned long __cil_tmp18 ;
23738 unsigned long __cil_tmp19 ;
23739 unsigned long long __cil_tmp20 ;
23740 unsigned long __cil_tmp21 ;
23741 unsigned long __cil_tmp22 ;
23742 unsigned long __cil_tmp23 ;
23743 unsigned long __cil_tmp24 ;
23744 unsigned long __cil_tmp25 ;
23745 unsigned long __cil_tmp26 ;
23746 unsigned long __cil_tmp27 ;
23747 unsigned long __cil_tmp28 ;
23748 unsigned long __cil_tmp29 ;
23749 unsigned long __cil_tmp30 ;
23750 unsigned long __cil_tmp31 ;
23751 unsigned long __cil_tmp32 ;
23752 unsigned long __cil_tmp33 ;
23753 unsigned long __cil_tmp34 ;
23754
23755 {
23756 {
23757#line 886
23758 __cil_tmp5 = (unsigned long )part;
23759#line 886
23760 __cil_tmp6 = __cil_tmp5 + 576;
23761#line 886
23762 part_uv = (struct xpc_partition_uv *)__cil_tmp6;
23763#line 889
23764 __cil_tmp7 = (unsigned long )part_uv;
23765#line 889
23766 __cil_tmp8 = __cil_tmp7 + 8;
23767#line 889
23768 __cil_tmp9 = (struct xpc_heartbeat_uv *)__cil_tmp8;
23769#line 889
23770 __cil_tmp10 = (void *)__cil_tmp9;
23771#line 889
23772 tmp = uv_gpa(__cil_tmp10);
23773#line 889
23774 __cil_tmp11 = *((unsigned long *)part_uv);
23775#line 889
23776 __cil_tmp12 = (unsigned long )__cil_tmp11;
23777#line 889
23778 ret = (*xp_remote_memcpy)(tmp, __cil_tmp12, 16UL);
23779 }
23780 {
23781#line 892
23782 __cil_tmp13 = (unsigned int )ret;
23783#line 892
23784 if (__cil_tmp13 != 0U) {
23785#line 893
23786 return (ret);
23787 } else {
23788
23789 }
23790 }
23791 {
23792#line 895
23793 __cil_tmp14 = (unsigned long )part;
23794#line 895
23795 __cil_tmp15 = __cil_tmp14 + 24;
23796#line 895
23797 __cil_tmp16 = *((u64 *)__cil_tmp15);
23798#line 895
23799 __cil_tmp17 = (unsigned long )part_uv;
23800#line 895
23801 __cil_tmp18 = __cil_tmp17 + 8;
23802#line 895
23803 __cil_tmp19 = *((unsigned long *)__cil_tmp18);
23804#line 895
23805 __cil_tmp20 = (unsigned long long )__cil_tmp19;
23806#line 895
23807 if (__cil_tmp20 == __cil_tmp16) {
23808 {
23809#line 895
23810 __cil_tmp21 = 8 + 8;
23811#line 895
23812 __cil_tmp22 = (unsigned long )part_uv;
23813#line 895
23814 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
23815#line 895
23816 __cil_tmp24 = *((unsigned long *)__cil_tmp23);
23817#line 895
23818 if (__cil_tmp24 == 0UL) {
23819#line 898
23820 ret = (enum xp_retval )26;
23821 } else {
23822#line 900
23823 __cil_tmp25 = (unsigned long )part;
23824#line 900
23825 __cil_tmp26 = __cil_tmp25 + 24;
23826#line 900
23827 __cil_tmp27 = (unsigned long )part_uv;
23828#line 900
23829 __cil_tmp28 = __cil_tmp27 + 8;
23830#line 900
23831 __cil_tmp29 = *((unsigned long *)__cil_tmp28);
23832#line 900
23833 *((u64 *)__cil_tmp26) = (u64 )__cil_tmp29;
23834 }
23835 }
23836 } else {
23837#line 900
23838 __cil_tmp30 = (unsigned long )part;
23839#line 900
23840 __cil_tmp31 = __cil_tmp30 + 24;
23841#line 900
23842 __cil_tmp32 = (unsigned long )part_uv;
23843#line 900
23844 __cil_tmp33 = __cil_tmp32 + 8;
23845#line 900
23846 __cil_tmp34 = *((unsigned long *)__cil_tmp33);
23847#line 900
23848 *((u64 *)__cil_tmp31) = (u64 )__cil_tmp34;
23849 }
23850 }
23851#line 902
23852 return (ret);
23853}
23854}
23855#line 906 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
23856static void xpc_request_partition_activation_uv(struct xpc_rsvd_page *remote_rp ,
23857 unsigned long remote_rp_gpa , int nasid )
23858{ short partid ;
23859 struct xpc_partition *part ;
23860 struct xpc_activate_mq_msg_activate_req_uv msg ;
23861 unsigned long __cil_tmp7 ;
23862 unsigned long __cil_tmp8 ;
23863 unsigned long __cil_tmp9 ;
23864 unsigned long __cil_tmp10 ;
23865 unsigned long __cil_tmp11 ;
23866 unsigned long __cil_tmp12 ;
23867 unsigned long __cil_tmp13 ;
23868 unsigned long __cil_tmp14 ;
23869 unsigned long __cil_tmp15 ;
23870 unsigned long __cil_tmp16 ;
23871 unsigned long __cil_tmp17 ;
23872 unsigned long __cil_tmp18 ;
23873 unsigned long __cil_tmp19 ;
23874 unsigned long __cil_tmp20 ;
23875 unsigned long __cil_tmp21 ;
23876 unsigned long __cil_tmp22 ;
23877 unsigned long __cil_tmp23 ;
23878 unsigned long __cil_tmp24 ;
23879 unsigned long __cil_tmp25 ;
23880 unsigned long __cil_tmp26 ;
23881 unsigned long __cil_tmp27 ;
23882 unsigned long __cil_tmp28 ;
23883 unsigned long __cil_tmp29 ;
23884 unsigned long __cil_tmp30 ;
23885 unsigned long __cil_tmp31 ;
23886 u8 __cil_tmp32 ;
23887 unsigned int __cil_tmp33 ;
23888 unsigned long __cil_tmp34 ;
23889 void *__cil_tmp35 ;
23890 unsigned long __cil_tmp36 ;
23891 unsigned long __cil_tmp37 ;
23892 unsigned long __cil_tmp38 ;
23893 unsigned long __cil_tmp39 ;
23894 unsigned long __cil_tmp40 ;
23895 unsigned long __cil_tmp41 ;
23896 unsigned long __cil_tmp42 ;
23897 unsigned long __cil_tmp43 ;
23898 void *__cil_tmp44 ;
23899 unsigned long __cil_tmp45 ;
23900 unsigned long __cil_tmp46 ;
23901 u8 __cil_tmp47 ;
23902 unsigned int __cil_tmp48 ;
23903
23904 {
23905#line 909
23906 __cil_tmp7 = (unsigned long )remote_rp;
23907#line 909
23908 __cil_tmp8 = __cil_tmp7 + 16;
23909#line 909
23910 partid = *((short *)__cil_tmp8);
23911#line 910
23912 __cil_tmp9 = (unsigned long )partid;
23913#line 910
23914 part = xpc_partitions + __cil_tmp9;
23915#line 913
23916 __cil_tmp10 = (unsigned long )part;
23917#line 913
23918 __cil_tmp11 = __cil_tmp10 + 16;
23919#line 913
23920 *((unsigned long *)__cil_tmp11) = remote_rp_gpa;
23921#line 914
23922 __cil_tmp12 = (unsigned long )part;
23923#line 914
23924 __cil_tmp13 = __cil_tmp12 + 8;
23925#line 914
23926 __cil_tmp14 = (unsigned long )remote_rp;
23927#line 914
23928 __cil_tmp15 = __cil_tmp14 + 24;
23929#line 914
23930 *((unsigned long *)__cil_tmp13) = *((unsigned long *)__cil_tmp15);
23931#line 915
23932 __cil_tmp16 = (unsigned long )part;
23933#line 915
23934 __cil_tmp17 = __cil_tmp16 + 576;
23935#line 915
23936 __cil_tmp18 = (unsigned long )remote_rp;
23937#line 915
23938 __cil_tmp19 = __cil_tmp18 + 32;
23939#line 915
23940 *((unsigned long *)__cil_tmp17) = *((unsigned long *)__cil_tmp19);
23941#line 916
23942 __cil_tmp20 = 0 + 24;
23943#line 916
23944 __cil_tmp21 = 576 + __cil_tmp20;
23945#line 916
23946 __cil_tmp22 = (unsigned long )part;
23947#line 916
23948 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
23949#line 916
23950 __cil_tmp24 = 0 + 8;
23951#line 916
23952 __cil_tmp25 = 32 + __cil_tmp24;
23953#line 916
23954 __cil_tmp26 = (unsigned long )remote_rp;
23955#line 916
23956 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
23957#line 916
23958 *((unsigned long *)__cil_tmp23) = *((unsigned long *)__cil_tmp27);
23959 {
23960#line 923
23961 __cil_tmp28 = 0 + 284;
23962#line 923
23963 __cil_tmp29 = 576 + __cil_tmp28;
23964#line 923
23965 __cil_tmp30 = (unsigned long )part;
23966#line 923
23967 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
23968#line 923
23969 __cil_tmp32 = *((u8 *)__cil_tmp31);
23970#line 923
23971 __cil_tmp33 = (unsigned int )__cil_tmp32;
23972#line 923
23973 if (__cil_tmp33 == 0U) {
23974 {
23975#line 924
23976 __cil_tmp34 = (unsigned long )(& msg) + 16;
23977#line 924
23978 __cil_tmp35 = (void *)xpc_rsvd_page;
23979#line 924
23980 *((unsigned long *)__cil_tmp34) = uv_gpa(__cil_tmp35);
23981#line 925
23982 __cil_tmp36 = (unsigned long )(& msg) + 24;
23983#line 925
23984 __cil_tmp37 = (unsigned long )xpc_rsvd_page;
23985#line 925
23986 __cil_tmp38 = __cil_tmp37 + 32;
23987#line 925
23988 *((unsigned long *)__cil_tmp36) = *((unsigned long *)__cil_tmp38);
23989#line 926
23990 __cil_tmp39 = (unsigned long )(& msg) + 32;
23991#line 926
23992 __cil_tmp40 = 0 + 8;
23993#line 926
23994 __cil_tmp41 = 32 + __cil_tmp40;
23995#line 926
23996 __cil_tmp42 = (unsigned long )xpc_rsvd_page;
23997#line 926
23998 __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
23999#line 926
24000 *((unsigned long *)__cil_tmp39) = *((unsigned long *)__cil_tmp43);
24001#line 928
24002 __cil_tmp44 = (void *)(& msg);
24003#line 928
24004 xpc_send_activate_IRQ_part_uv(part, __cil_tmp44, 40UL, 1);
24005 }
24006 } else {
24007
24008 }
24009 }
24010 {
24011#line 932
24012 __cil_tmp45 = (unsigned long )part;
24013#line 932
24014 __cil_tmp46 = __cil_tmp45 + 112;
24015#line 932
24016 __cil_tmp47 = *((u8 *)__cil_tmp46);
24017#line 932
24018 __cil_tmp48 = (unsigned int )__cil_tmp47;
24019#line 932
24020 if (__cil_tmp48 == 0U) {
24021 {
24022#line 933
24023 xpc_send_local_activate_IRQ_uv(part, 1);
24024 }
24025 } else {
24026
24027 }
24028 }
24029#line 934
24030 return;
24031}
24032}
24033#line 937 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24034static void xpc_request_partition_reactivation_uv(struct xpc_partition *part )
24035{
24036
24037 {
24038 {
24039#line 939
24040 xpc_send_local_activate_IRQ_uv(part, 1);
24041 }
24042#line 940
24043 return;
24044}
24045}
24046#line 943 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24047static void xpc_request_partition_deactivation_uv(struct xpc_partition *part )
24048{ struct xpc_activate_mq_msg_deactivate_req_uv msg ;
24049 unsigned long __cil_tmp3 ;
24050 unsigned long __cil_tmp4 ;
24051 unsigned long __cil_tmp5 ;
24052 unsigned long __cil_tmp6 ;
24053 u8 __cil_tmp7 ;
24054 unsigned int __cil_tmp8 ;
24055 unsigned long __cil_tmp9 ;
24056 unsigned long __cil_tmp10 ;
24057 unsigned long __cil_tmp11 ;
24058 unsigned long __cil_tmp12 ;
24059 u8 __cil_tmp13 ;
24060 unsigned int __cil_tmp14 ;
24061 unsigned long __cil_tmp15 ;
24062 unsigned long __cil_tmp16 ;
24063 unsigned long __cil_tmp17 ;
24064 void *__cil_tmp18 ;
24065
24066 {
24067 {
24068#line 951
24069 __cil_tmp3 = 0 + 284;
24070#line 951
24071 __cil_tmp4 = 576 + __cil_tmp3;
24072#line 951
24073 __cil_tmp5 = (unsigned long )part;
24074#line 951
24075 __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
24076#line 951
24077 __cil_tmp7 = *((u8 *)__cil_tmp6);
24078#line 951
24079 __cil_tmp8 = (unsigned int )__cil_tmp7;
24080#line 951
24081 if (__cil_tmp8 != 4U) {
24082 {
24083#line 951
24084 __cil_tmp9 = 0 + 284;
24085#line 951
24086 __cil_tmp10 = 576 + __cil_tmp9;
24087#line 951
24088 __cil_tmp11 = (unsigned long )part;
24089#line 951
24090 __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
24091#line 951
24092 __cil_tmp13 = *((u8 *)__cil_tmp12);
24093#line 951
24094 __cil_tmp14 = (unsigned int )__cil_tmp13;
24095#line 951
24096 if (__cil_tmp14 != 0U) {
24097 {
24098#line 954
24099 __cil_tmp15 = (unsigned long )(& msg) + 16;
24100#line 954
24101 __cil_tmp16 = (unsigned long )part;
24102#line 954
24103 __cil_tmp17 = __cil_tmp16 + 116;
24104#line 954
24105 *((enum xp_retval *)__cil_tmp15) = *((enum xp_retval *)__cil_tmp17);
24106#line 955
24107 __cil_tmp18 = (void *)(& msg);
24108#line 955
24109 xpc_send_activate_IRQ_part_uv(part, __cil_tmp18, 24UL, 2);
24110 }
24111 } else {
24112
24113 }
24114 }
24115 } else {
24116
24117 }
24118 }
24119#line 957
24120 return;
24121}
24122}
24123#line 961 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24124static void xpc_cancel_partition_deactivation_request_uv(struct xpc_partition *part )
24125{
24126
24127 {
24128#line 964
24129 return;
24130}
24131}
24132#line 968 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24133static void xpc_init_fifo_uv(struct xpc_fifo_head_uv *head )
24134{ struct lock_class_key __key ;
24135 unsigned long __cil_tmp3 ;
24136 unsigned long __cil_tmp4 ;
24137 unsigned long __cil_tmp5 ;
24138 unsigned long __cil_tmp6 ;
24139 spinlock_t *__cil_tmp7 ;
24140 unsigned long __cil_tmp8 ;
24141 unsigned long __cil_tmp9 ;
24142 struct raw_spinlock *__cil_tmp10 ;
24143 unsigned long __cil_tmp11 ;
24144 unsigned long __cil_tmp12 ;
24145
24146 {
24147 {
24148#line 970
24149 *((struct xpc_fifo_entry_uv **)head) = (struct xpc_fifo_entry_uv *)0;
24150#line 971
24151 __cil_tmp3 = (unsigned long )head;
24152#line 971
24153 __cil_tmp4 = __cil_tmp3 + 8;
24154#line 971
24155 *((struct xpc_fifo_entry_uv **)__cil_tmp4) = (struct xpc_fifo_entry_uv *)0;
24156#line 972
24157 __cil_tmp5 = (unsigned long )head;
24158#line 972
24159 __cil_tmp6 = __cil_tmp5 + 16;
24160#line 972
24161 __cil_tmp7 = (spinlock_t *)__cil_tmp6;
24162#line 972
24163 spinlock_check(__cil_tmp7);
24164#line 972
24165 __cil_tmp8 = (unsigned long )head;
24166#line 972
24167 __cil_tmp9 = __cil_tmp8 + 16;
24168#line 972
24169 __cil_tmp10 = (struct raw_spinlock *)__cil_tmp9;
24170#line 972
24171 __raw_spin_lock_init(__cil_tmp10, "&(&head->lock)->rlock", & __key);
24172#line 973
24173 __cil_tmp11 = (unsigned long )head;
24174#line 973
24175 __cil_tmp12 = __cil_tmp11 + 88;
24176#line 973
24177 *((int *)__cil_tmp12) = 0;
24178 }
24179#line 974
24180 return;
24181}
24182}
24183#line 977 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24184static void *xpc_get_fifo_entry_uv(struct xpc_fifo_head_uv *head )
24185{ unsigned long irq_flags ;
24186 struct xpc_fifo_entry_uv *first ;
24187 long tmp ;
24188 struct xpc_fifo_entry_uv *__cil_tmp5 ;
24189 unsigned long __cil_tmp6 ;
24190 struct xpc_fifo_entry_uv *__cil_tmp7 ;
24191 unsigned long __cil_tmp8 ;
24192 struct xpc_fifo_entry_uv *__cil_tmp9 ;
24193 unsigned long __cil_tmp10 ;
24194 struct xpc_fifo_entry_uv *__cil_tmp11 ;
24195 unsigned long __cil_tmp12 ;
24196 unsigned long __cil_tmp13 ;
24197 unsigned long __cil_tmp14 ;
24198 unsigned long __cil_tmp15 ;
24199 unsigned long __cil_tmp16 ;
24200 unsigned long __cil_tmp17 ;
24201 unsigned long __cil_tmp18 ;
24202 int __cil_tmp19 ;
24203 unsigned long __cil_tmp20 ;
24204 unsigned long __cil_tmp21 ;
24205 int __cil_tmp22 ;
24206 int __cil_tmp23 ;
24207 long __cil_tmp24 ;
24208 unsigned long __cil_tmp25 ;
24209 unsigned long __cil_tmp26 ;
24210 spinlock_t *__cil_tmp27 ;
24211
24212 {
24213 {
24214#line 982
24215 ldv_spin_lock();
24216#line 983
24217 first = *((struct xpc_fifo_entry_uv **)head);
24218 }
24219 {
24220#line 984
24221 __cil_tmp5 = (struct xpc_fifo_entry_uv *)0;
24222#line 984
24223 __cil_tmp6 = (unsigned long )__cil_tmp5;
24224#line 984
24225 __cil_tmp7 = *((struct xpc_fifo_entry_uv **)head);
24226#line 984
24227 __cil_tmp8 = (unsigned long )__cil_tmp7;
24228#line 984
24229 if (__cil_tmp8 != __cil_tmp6) {
24230#line 985
24231 *((struct xpc_fifo_entry_uv **)head) = *((struct xpc_fifo_entry_uv **)first);
24232 {
24233#line 986
24234 __cil_tmp9 = (struct xpc_fifo_entry_uv *)0;
24235#line 986
24236 __cil_tmp10 = (unsigned long )__cil_tmp9;
24237#line 986
24238 __cil_tmp11 = *((struct xpc_fifo_entry_uv **)head);
24239#line 986
24240 __cil_tmp12 = (unsigned long )__cil_tmp11;
24241#line 986
24242 if (__cil_tmp12 == __cil_tmp10) {
24243#line 987
24244 __cil_tmp13 = (unsigned long )head;
24245#line 987
24246 __cil_tmp14 = __cil_tmp13 + 8;
24247#line 987
24248 *((struct xpc_fifo_entry_uv **)__cil_tmp14) = (struct xpc_fifo_entry_uv *)0;
24249 } else {
24250
24251 }
24252 }
24253 {
24254#line 989
24255 __cil_tmp15 = (unsigned long )head;
24256#line 989
24257 __cil_tmp16 = __cil_tmp15 + 88;
24258#line 989
24259 __cil_tmp17 = (unsigned long )head;
24260#line 989
24261 __cil_tmp18 = __cil_tmp17 + 88;
24262#line 989
24263 __cil_tmp19 = *((int *)__cil_tmp18);
24264#line 989
24265 *((int *)__cil_tmp16) = __cil_tmp19 - 1;
24266#line 990
24267 __cil_tmp20 = (unsigned long )head;
24268#line 990
24269 __cil_tmp21 = __cil_tmp20 + 88;
24270#line 990
24271 __cil_tmp22 = *((int *)__cil_tmp21);
24272#line 990
24273 __cil_tmp23 = __cil_tmp22 < 0;
24274#line 990
24275 __cil_tmp24 = (long )__cil_tmp23;
24276#line 990
24277 tmp = __builtin_expect(__cil_tmp24, 0L);
24278 }
24279#line 990
24280 if (tmp != 0L) {
24281#line 990
24282 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"),
24283 "i" (990), "i" (12UL));
24284 ldv_27849: ;
24285#line 990
24286 goto ldv_27849;
24287 } else {
24288
24289 }
24290#line 992
24291 *((struct xpc_fifo_entry_uv **)first) = (struct xpc_fifo_entry_uv *)0;
24292 } else {
24293
24294 }
24295 }
24296 {
24297#line 994
24298 __cil_tmp25 = (unsigned long )head;
24299#line 994
24300 __cil_tmp26 = __cil_tmp25 + 16;
24301#line 994
24302 __cil_tmp27 = (spinlock_t *)__cil_tmp26;
24303#line 994
24304 spin_unlock_irqrestore(__cil_tmp27, irq_flags);
24305 }
24306#line 995
24307 return ((void *)first);
24308}
24309}
24310#line 999 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24311static void xpc_put_fifo_entry_uv(struct xpc_fifo_head_uv *head , struct xpc_fifo_entry_uv *last )
24312{ unsigned long irq_flags ;
24313 struct xpc_fifo_entry_uv *__cil_tmp4 ;
24314 unsigned long __cil_tmp5 ;
24315 unsigned long __cil_tmp6 ;
24316 unsigned long __cil_tmp7 ;
24317 struct xpc_fifo_entry_uv *__cil_tmp8 ;
24318 unsigned long __cil_tmp9 ;
24319 unsigned long __cil_tmp10 ;
24320 unsigned long __cil_tmp11 ;
24321 struct xpc_fifo_entry_uv *__cil_tmp12 ;
24322 unsigned long __cil_tmp13 ;
24323 unsigned long __cil_tmp14 ;
24324 unsigned long __cil_tmp15 ;
24325 unsigned long __cil_tmp16 ;
24326 unsigned long __cil_tmp17 ;
24327 unsigned long __cil_tmp18 ;
24328 int __cil_tmp19 ;
24329 unsigned long __cil_tmp20 ;
24330 unsigned long __cil_tmp21 ;
24331 spinlock_t *__cil_tmp22 ;
24332
24333 {
24334 {
24335#line 1004
24336 *((struct xpc_fifo_entry_uv **)last) = (struct xpc_fifo_entry_uv *)0;
24337#line 1005
24338 ldv_spin_lock();
24339 }
24340 {
24341#line 1006
24342 __cil_tmp4 = (struct xpc_fifo_entry_uv *)0;
24343#line 1006
24344 __cil_tmp5 = (unsigned long )__cil_tmp4;
24345#line 1006
24346 __cil_tmp6 = (unsigned long )head;
24347#line 1006
24348 __cil_tmp7 = __cil_tmp6 + 8;
24349#line 1006
24350 __cil_tmp8 = *((struct xpc_fifo_entry_uv **)__cil_tmp7);
24351#line 1006
24352 __cil_tmp9 = (unsigned long )__cil_tmp8;
24353#line 1006
24354 if (__cil_tmp9 != __cil_tmp5) {
24355#line 1007
24356 __cil_tmp10 = (unsigned long )head;
24357#line 1007
24358 __cil_tmp11 = __cil_tmp10 + 8;
24359#line 1007
24360 __cil_tmp12 = *((struct xpc_fifo_entry_uv **)__cil_tmp11);
24361#line 1007
24362 *((struct xpc_fifo_entry_uv **)__cil_tmp12) = last;
24363 } else {
24364#line 1009
24365 *((struct xpc_fifo_entry_uv **)head) = last;
24366 }
24367 }
24368 {
24369#line 1010
24370 __cil_tmp13 = (unsigned long )head;
24371#line 1010
24372 __cil_tmp14 = __cil_tmp13 + 8;
24373#line 1010
24374 *((struct xpc_fifo_entry_uv **)__cil_tmp14) = last;
24375#line 1011
24376 __cil_tmp15 = (unsigned long )head;
24377#line 1011
24378 __cil_tmp16 = __cil_tmp15 + 88;
24379#line 1011
24380 __cil_tmp17 = (unsigned long )head;
24381#line 1011
24382 __cil_tmp18 = __cil_tmp17 + 88;
24383#line 1011
24384 __cil_tmp19 = *((int *)__cil_tmp18);
24385#line 1011
24386 *((int *)__cil_tmp16) = __cil_tmp19 + 1;
24387#line 1012
24388 __cil_tmp20 = (unsigned long )head;
24389#line 1012
24390 __cil_tmp21 = __cil_tmp20 + 16;
24391#line 1012
24392 __cil_tmp22 = (spinlock_t *)__cil_tmp21;
24393#line 1012
24394 spin_unlock_irqrestore(__cil_tmp22, irq_flags);
24395 }
24396#line 1013
24397 return;
24398}
24399}
24400#line 1016 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24401static int xpc_n_of_fifo_entries_uv(struct xpc_fifo_head_uv *head )
24402{ unsigned long __cil_tmp2 ;
24403 unsigned long __cil_tmp3 ;
24404
24405 {
24406 {
24407#line 1018
24408 __cil_tmp2 = (unsigned long )head;
24409#line 1018
24410 __cil_tmp3 = __cil_tmp2 + 88;
24411#line 1018
24412 return (*((int *)__cil_tmp3));
24413 }
24414}
24415}
24416#line 1025 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24417static enum xp_retval xpc_setup_ch_structures_uv(struct xpc_partition *part )
24418{ struct xpc_channel_uv *ch_uv ;
24419 int ch_number ;
24420 unsigned long __cil_tmp4 ;
24421 unsigned long __cil_tmp5 ;
24422 unsigned long __cil_tmp6 ;
24423 struct xpc_channel *__cil_tmp7 ;
24424 struct xpc_channel *__cil_tmp8 ;
24425 unsigned long __cil_tmp9 ;
24426 unsigned long __cil_tmp10 ;
24427 unsigned long __cil_tmp11 ;
24428 unsigned long __cil_tmp12 ;
24429 struct xpc_fifo_head_uv *__cil_tmp13 ;
24430 unsigned long __cil_tmp14 ;
24431 unsigned long __cil_tmp15 ;
24432 struct xpc_fifo_head_uv *__cil_tmp16 ;
24433 unsigned long __cil_tmp17 ;
24434 unsigned long __cil_tmp18 ;
24435 u8 __cil_tmp19 ;
24436 int __cil_tmp20 ;
24437
24438 {
24439#line 1030
24440 ch_number = 0;
24441#line 1030
24442 goto ldv_27864;
24443 ldv_27863:
24444 {
24445#line 1031
24446 __cil_tmp4 = (unsigned long )ch_number;
24447#line 1031
24448 __cil_tmp5 = (unsigned long )part;
24449#line 1031
24450 __cil_tmp6 = __cil_tmp5 + 376;
24451#line 1031
24452 __cil_tmp7 = *((struct xpc_channel **)__cil_tmp6);
24453#line 1031
24454 __cil_tmp8 = __cil_tmp7 + __cil_tmp4;
24455#line 1031
24456 __cil_tmp9 = (unsigned long )__cil_tmp8;
24457#line 1031
24458 __cil_tmp10 = __cil_tmp9 + 432;
24459#line 1031
24460 ch_uv = (struct xpc_channel_uv *)__cil_tmp10;
24461#line 1033
24462 __cil_tmp11 = (unsigned long )ch_uv;
24463#line 1033
24464 __cil_tmp12 = __cil_tmp11 + 24;
24465#line 1033
24466 __cil_tmp13 = (struct xpc_fifo_head_uv *)__cil_tmp12;
24467#line 1033
24468 xpc_init_fifo_uv(__cil_tmp13);
24469#line 1034
24470 __cil_tmp14 = (unsigned long )ch_uv;
24471#line 1034
24472 __cil_tmp15 = __cil_tmp14 + 120;
24473#line 1034
24474 __cil_tmp16 = (struct xpc_fifo_head_uv *)__cil_tmp15;
24475#line 1034
24476 xpc_init_fifo_uv(__cil_tmp16);
24477#line 1030
24478 ch_number = ch_number + 1;
24479 }
24480 ldv_27864: ;
24481 {
24482#line 1030
24483 __cil_tmp17 = (unsigned long )part;
24484#line 1030
24485 __cil_tmp18 = __cil_tmp17 + 364;
24486#line 1030
24487 __cil_tmp19 = *((u8 *)__cil_tmp18);
24488#line 1030
24489 __cil_tmp20 = (int )__cil_tmp19;
24490#line 1030
24491 if (__cil_tmp20 > ch_number) {
24492#line 1031
24493 goto ldv_27863;
24494 } else {
24495#line 1033
24496 goto ldv_27865;
24497 }
24498 }
24499 ldv_27865: ;
24500#line 1037
24501 return ((enum xp_retval )0);
24502}
24503}
24504#line 1044 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24505static void xpc_teardown_ch_structures_uv(struct xpc_partition *part )
24506{
24507
24508 {
24509#line 1047
24510 return;
24511}
24512}
24513#line 1051 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24514static enum xp_retval xpc_make_first_contact_uv(struct xpc_partition *part )
24515{ struct xpc_activate_mq_msg_uv msg ;
24516 struct _ddebug descriptor ;
24517 long tmp ;
24518 void *__cil_tmp5 ;
24519 struct _ddebug *__cil_tmp6 ;
24520 unsigned long __cil_tmp7 ;
24521 unsigned long __cil_tmp8 ;
24522 unsigned long __cil_tmp9 ;
24523 unsigned long __cil_tmp10 ;
24524 unsigned long __cil_tmp11 ;
24525 unsigned long __cil_tmp12 ;
24526 unsigned char __cil_tmp13 ;
24527 long __cil_tmp14 ;
24528 long __cil_tmp15 ;
24529 struct device *__cil_tmp16 ;
24530 long __cil_tmp17 ;
24531 long __cil_tmp18 ;
24532 long __cil_tmp19 ;
24533 long __cil_tmp20 ;
24534 short __cil_tmp21 ;
24535 int __cil_tmp22 ;
24536 unsigned long __cil_tmp23 ;
24537 unsigned long __cil_tmp24 ;
24538 u8 __cil_tmp25 ;
24539 unsigned int __cil_tmp26 ;
24540 unsigned long __cil_tmp27 ;
24541 unsigned long __cil_tmp28 ;
24542 unsigned long __cil_tmp29 ;
24543 unsigned long __cil_tmp30 ;
24544 unsigned long __cil_tmp31 ;
24545 unsigned long __cil_tmp32 ;
24546 u8 __cil_tmp33 ;
24547 unsigned int __cil_tmp34 ;
24548 unsigned long __cil_tmp35 ;
24549 unsigned long __cil_tmp36 ;
24550 unsigned long __cil_tmp37 ;
24551 unsigned long __cil_tmp38 ;
24552 u8 __cil_tmp39 ;
24553 unsigned int __cil_tmp40 ;
24554
24555 {
24556 {
24557#line 1060
24558 __cil_tmp5 = (void *)(& msg);
24559#line 1060
24560 xpc_send_activate_IRQ_part_uv(part, __cil_tmp5, 16UL, 0);
24561 }
24562#line 1063
24563 goto ldv_27876;
24564 ldv_27875:
24565 {
24566#line 1066
24567 __cil_tmp6 = & descriptor;
24568#line 1066
24569 *((char **)__cil_tmp6) = "xpc";
24570#line 1066
24571 __cil_tmp7 = (unsigned long )(& descriptor) + 8;
24572#line 1066
24573 *((char **)__cil_tmp7) = "xpc_make_first_contact_uv";
24574#line 1066
24575 __cil_tmp8 = (unsigned long )(& descriptor) + 16;
24576#line 1066
24577 *((char **)__cil_tmp8) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p";
24578#line 1066
24579 __cil_tmp9 = (unsigned long )(& descriptor) + 24;
24580#line 1066
24581 *((char **)__cil_tmp9) = "waiting to make first contact with partition %d\n";
24582#line 1066
24583 __cil_tmp10 = (unsigned long )(& descriptor) + 32;
24584#line 1066
24585 *((unsigned int *)__cil_tmp10) = 1067U;
24586#line 1066
24587 __cil_tmp11 = (unsigned long )(& descriptor) + 35;
24588#line 1066
24589 *((unsigned char *)__cil_tmp11) = (unsigned char)0;
24590#line 1066
24591 __cil_tmp12 = (unsigned long )(& descriptor) + 35;
24592#line 1066
24593 __cil_tmp13 = *((unsigned char *)__cil_tmp12);
24594#line 1066
24595 __cil_tmp14 = (long )__cil_tmp13;
24596#line 1066
24597 __cil_tmp15 = __cil_tmp14 & 1L;
24598#line 1066
24599 tmp = __builtin_expect(__cil_tmp15, 0L);
24600 }
24601#line 1066
24602 if (tmp != 0L) {
24603 {
24604#line 1066
24605 __cil_tmp16 = (struct device *)xpc_part;
24606#line 1066
24607 __cil_tmp17 = (long )xpc_partitions;
24608#line 1066
24609 __cil_tmp18 = (long )part;
24610#line 1066
24611 __cil_tmp19 = __cil_tmp18 - __cil_tmp17;
24612#line 1066
24613 __cil_tmp20 = __cil_tmp19 / 896L;
24614#line 1066
24615 __cil_tmp21 = (short )__cil_tmp20;
24616#line 1066
24617 __cil_tmp22 = (int )__cil_tmp21;
24618#line 1066
24619 __dynamic_dev_dbg(& descriptor, __cil_tmp16, "waiting to make first contact with partition %d\n",
24620 __cil_tmp22);
24621 }
24622 } else {
24623
24624 }
24625 {
24626#line 1070
24627 msleep_interruptible(250U);
24628 }
24629 {
24630#line 1072
24631 __cil_tmp23 = (unsigned long )part;
24632#line 1072
24633 __cil_tmp24 = __cil_tmp23 + 112;
24634#line 1072
24635 __cil_tmp25 = *((u8 *)__cil_tmp24);
24636#line 1072
24637 __cil_tmp26 = (unsigned int )__cil_tmp25;
24638#line 1072
24639 if (__cil_tmp26 == 4U) {
24640 {
24641#line 1073
24642 __cil_tmp27 = (unsigned long )part;
24643#line 1073
24644 __cil_tmp28 = __cil_tmp27 + 116;
24645#line 1073
24646 return (*((enum xp_retval *)__cil_tmp28));
24647 }
24648 } else {
24649
24650 }
24651 }
24652 ldv_27876: ;
24653 {
24654#line 1063
24655 __cil_tmp29 = 0 + 284;
24656#line 1063
24657 __cil_tmp30 = 576 + __cil_tmp29;
24658#line 1063
24659 __cil_tmp31 = (unsigned long )part;
24660#line 1063
24661 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
24662#line 1063
24663 __cil_tmp33 = *((u8 *)__cil_tmp32);
24664#line 1063
24665 __cil_tmp34 = (unsigned int )__cil_tmp33;
24666#line 1063
24667 if (__cil_tmp34 != 2U) {
24668 {
24669#line 1063
24670 __cil_tmp35 = 0 + 284;
24671#line 1063
24672 __cil_tmp36 = 576 + __cil_tmp35;
24673#line 1063
24674 __cil_tmp37 = (unsigned long )part;
24675#line 1063
24676 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
24677#line 1063
24678 __cil_tmp39 = *((u8 *)__cil_tmp38);
24679#line 1063
24680 __cil_tmp40 = (unsigned int )__cil_tmp39;
24681#line 1063
24682 if (__cil_tmp40 != 3U) {
24683#line 1065
24684 goto ldv_27875;
24685 } else {
24686#line 1067
24687 goto ldv_27877;
24688 }
24689 }
24690 } else {
24691#line 1067
24692 goto ldv_27877;
24693 }
24694 }
24695 ldv_27877: ;
24696#line 1076
24697 return ((enum xp_retval )0);
24698}
24699}
24700#line 1080 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24701static u64 xpc_get_chctl_all_flags_uv(struct xpc_partition *part )
24702{ unsigned long irq_flags ;
24703 union xpc_channel_ctl_flags chctl ;
24704 unsigned long __cil_tmp4 ;
24705 unsigned long __cil_tmp5 ;
24706 unsigned long __cil_tmp6 ;
24707 unsigned long __cil_tmp7 ;
24708 unsigned long __cil_tmp8 ;
24709 unsigned long __cil_tmp9 ;
24710 spinlock_t *__cil_tmp10 ;
24711
24712 {
24713 {
24714#line 1085
24715 ldv_spin_lock();
24716#line 1086
24717 __cil_tmp4 = (unsigned long )part;
24718#line 1086
24719 __cil_tmp5 = __cil_tmp4 + 384;
24720#line 1086
24721 chctl = *((union xpc_channel_ctl_flags *)__cil_tmp5);
24722 }
24723#line 1087
24724 if (chctl.all_flags != 0ULL) {
24725#line 1088
24726 __cil_tmp6 = (unsigned long )part;
24727#line 1088
24728 __cil_tmp7 = __cil_tmp6 + 384;
24729#line 1088
24730 *((u64 *)__cil_tmp7) = 0ULL;
24731 } else {
24732
24733 }
24734 {
24735#line 1090
24736 __cil_tmp8 = (unsigned long )part;
24737#line 1090
24738 __cil_tmp9 = __cil_tmp8 + 392;
24739#line 1090
24740 __cil_tmp10 = (spinlock_t *)__cil_tmp9;
24741#line 1090
24742 spin_unlock_irqrestore(__cil_tmp10, irq_flags);
24743 }
24744#line 1091
24745 return (chctl.all_flags);
24746}
24747}
24748#line 1095 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24749static enum xp_retval xpc_allocate_send_msg_slot_uv(struct xpc_channel *ch )
24750{ struct xpc_channel_uv *ch_uv ;
24751 struct xpc_send_msg_slot_uv *msg_slot ;
24752 unsigned long irq_flags ;
24753 int nentries ;
24754 int entry ;
24755 size_t nbytes ;
24756 void *tmp ;
24757 unsigned long __cil_tmp9 ;
24758 unsigned long __cil_tmp10 ;
24759 unsigned long __cil_tmp11 ;
24760 unsigned long __cil_tmp12 ;
24761 u16 __cil_tmp13 ;
24762 unsigned long __cil_tmp14 ;
24763 unsigned long __cil_tmp15 ;
24764 unsigned long __cil_tmp16 ;
24765 struct xpc_send_msg_slot_uv *__cil_tmp17 ;
24766 unsigned long __cil_tmp18 ;
24767 unsigned long __cil_tmp19 ;
24768 unsigned long __cil_tmp20 ;
24769 struct xpc_send_msg_slot_uv *__cil_tmp21 ;
24770 unsigned long __cil_tmp22 ;
24771 unsigned long __cil_tmp23 ;
24772 unsigned long __cil_tmp24 ;
24773 unsigned long __cil_tmp25 ;
24774 struct xpc_send_msg_slot_uv *__cil_tmp26 ;
24775 unsigned long __cil_tmp27 ;
24776 unsigned long __cil_tmp28 ;
24777 unsigned long __cil_tmp29 ;
24778 unsigned long __cil_tmp30 ;
24779 struct xpc_fifo_head_uv *__cil_tmp31 ;
24780 struct xpc_fifo_entry_uv *__cil_tmp32 ;
24781 unsigned long __cil_tmp33 ;
24782 unsigned long __cil_tmp34 ;
24783 u16 __cil_tmp35 ;
24784 int __cil_tmp36 ;
24785 unsigned long __cil_tmp37 ;
24786 unsigned long __cil_tmp38 ;
24787 unsigned long __cil_tmp39 ;
24788 unsigned long __cil_tmp40 ;
24789 spinlock_t *__cil_tmp41 ;
24790
24791 {
24792#line 1097
24793 __cil_tmp9 = (unsigned long )ch;
24794#line 1097
24795 __cil_tmp10 = __cil_tmp9 + 432;
24796#line 1097
24797 ch_uv = (struct xpc_channel_uv *)__cil_tmp10;
24798#line 1104
24799 __cil_tmp11 = (unsigned long )ch;
24800#line 1104
24801 __cil_tmp12 = __cil_tmp11 + 96;
24802#line 1104
24803 __cil_tmp13 = *((u16 *)__cil_tmp12);
24804#line 1104
24805 nentries = (int )__cil_tmp13;
24806#line 1104
24807 goto ldv_27897;
24808 ldv_27896:
24809 {
24810#line 1105
24811 __cil_tmp14 = (unsigned long )nentries;
24812#line 1105
24813 nbytes = __cil_tmp14 * 32UL;
24814#line 1106
24815 tmp = kzalloc(nbytes, 208U);
24816#line 1106
24817 __cil_tmp15 = (unsigned long )ch_uv;
24818#line 1106
24819 __cil_tmp16 = __cil_tmp15 + 8;
24820#line 1106
24821 *((struct xpc_send_msg_slot_uv **)__cil_tmp16) = (struct xpc_send_msg_slot_uv *)tmp;
24822 }
24823 {
24824#line 1107
24825 __cil_tmp17 = (struct xpc_send_msg_slot_uv *)0;
24826#line 1107
24827 __cil_tmp18 = (unsigned long )__cil_tmp17;
24828#line 1107
24829 __cil_tmp19 = (unsigned long )ch_uv;
24830#line 1107
24831 __cil_tmp20 = __cil_tmp19 + 8;
24832#line 1107
24833 __cil_tmp21 = *((struct xpc_send_msg_slot_uv **)__cil_tmp20);
24834#line 1107
24835 __cil_tmp22 = (unsigned long )__cil_tmp21;
24836#line 1107
24837 if (__cil_tmp22 == __cil_tmp18) {
24838#line 1108
24839 goto ldv_27892;
24840 } else {
24841
24842 }
24843 }
24844#line 1110
24845 entry = 0;
24846#line 1110
24847 goto ldv_27894;
24848 ldv_27893:
24849 {
24850#line 1111
24851 __cil_tmp23 = (unsigned long )entry;
24852#line 1111
24853 __cil_tmp24 = (unsigned long )ch_uv;
24854#line 1111
24855 __cil_tmp25 = __cil_tmp24 + 8;
24856#line 1111
24857 __cil_tmp26 = *((struct xpc_send_msg_slot_uv **)__cil_tmp25);
24858#line 1111
24859 msg_slot = __cil_tmp26 + __cil_tmp23;
24860#line 1113
24861 __cil_tmp27 = (unsigned long )msg_slot;
24862#line 1113
24863 __cil_tmp28 = __cil_tmp27 + 8;
24864#line 1113
24865 *((unsigned int *)__cil_tmp28) = (unsigned int )entry;
24866#line 1114
24867 __cil_tmp29 = (unsigned long )ch_uv;
24868#line 1114
24869 __cil_tmp30 = __cil_tmp29 + 24;
24870#line 1114
24871 __cil_tmp31 = (struct xpc_fifo_head_uv *)__cil_tmp30;
24872#line 1114
24873 __cil_tmp32 = (struct xpc_fifo_entry_uv *)msg_slot;
24874#line 1114
24875 xpc_put_fifo_entry_uv(__cil_tmp31, __cil_tmp32);
24876#line 1110
24877 entry = entry + 1;
24878 }
24879 ldv_27894: ;
24880#line 1110
24881 if (entry < nentries) {
24882#line 1111
24883 goto ldv_27893;
24884 } else {
24885#line 1113
24886 goto ldv_27895;
24887 }
24888 ldv_27895:
24889 {
24890#line 1118
24891 ldv_spin_lock();
24892 }
24893 {
24894#line 1119
24895 __cil_tmp33 = (unsigned long )ch;
24896#line 1119
24897 __cil_tmp34 = __cil_tmp33 + 96;
24898#line 1119
24899 __cil_tmp35 = *((u16 *)__cil_tmp34);
24900#line 1119
24901 __cil_tmp36 = (int )__cil_tmp35;
24902#line 1119
24903 if (__cil_tmp36 > nentries) {
24904#line 1120
24905 __cil_tmp37 = (unsigned long )ch;
24906#line 1120
24907 __cil_tmp38 = __cil_tmp37 + 96;
24908#line 1120
24909 *((u16 *)__cil_tmp38) = (u16 )nentries;
24910 } else {
24911
24912 }
24913 }
24914 {
24915#line 1121
24916 __cil_tmp39 = (unsigned long )ch;
24917#line 1121
24918 __cil_tmp40 = __cil_tmp39 + 8;
24919#line 1121
24920 __cil_tmp41 = (spinlock_t *)__cil_tmp40;
24921#line 1121
24922 spin_unlock_irqrestore(__cil_tmp41, irq_flags);
24923 }
24924#line 1122
24925 return ((enum xp_retval )0);
24926 ldv_27892:
24927#line 1104
24928 nentries = nentries - 1;
24929 ldv_27897: ;
24930#line 1104
24931 if (nentries > 0) {
24932#line 1105
24933 goto ldv_27896;
24934 } else {
24935#line 1107
24936 goto ldv_27898;
24937 }
24938 ldv_27898: ;
24939#line 1125
24940 return ((enum xp_retval )13);
24941}
24942}
24943#line 1129 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
24944static enum xp_retval xpc_allocate_recv_msg_slot_uv(struct xpc_channel *ch )
24945{ struct xpc_channel_uv *ch_uv ;
24946 struct xpc_notify_mq_msg_uv *msg_slot ;
24947 unsigned long irq_flags ;
24948 int nentries ;
24949 int entry ;
24950 size_t nbytes ;
24951 unsigned long __cil_tmp8 ;
24952 unsigned long __cil_tmp9 ;
24953 unsigned long __cil_tmp10 ;
24954 unsigned long __cil_tmp11 ;
24955 u16 __cil_tmp12 ;
24956 unsigned long __cil_tmp13 ;
24957 unsigned long __cil_tmp14 ;
24958 u16 __cil_tmp15 ;
24959 int __cil_tmp16 ;
24960 int __cil_tmp17 ;
24961 unsigned long __cil_tmp18 ;
24962 unsigned long __cil_tmp19 ;
24963 void *__cil_tmp20 ;
24964 unsigned long __cil_tmp21 ;
24965 unsigned long __cil_tmp22 ;
24966 unsigned long __cil_tmp23 ;
24967 void *__cil_tmp24 ;
24968 unsigned long __cil_tmp25 ;
24969 unsigned long __cil_tmp26 ;
24970 unsigned long __cil_tmp27 ;
24971 u16 __cil_tmp28 ;
24972 int __cil_tmp29 ;
24973 int __cil_tmp30 ;
24974 unsigned long __cil_tmp31 ;
24975 unsigned long __cil_tmp32 ;
24976 unsigned long __cil_tmp33 ;
24977 void *__cil_tmp34 ;
24978 struct xpc_notify_mq_msg_uv *__cil_tmp35 ;
24979 unsigned long __cil_tmp36 ;
24980 unsigned long __cil_tmp37 ;
24981 unsigned long __cil_tmp38 ;
24982 unsigned long __cil_tmp39 ;
24983 unsigned long __cil_tmp40 ;
24984 u16 __cil_tmp41 ;
24985 int __cil_tmp42 ;
24986 unsigned long __cil_tmp43 ;
24987 unsigned long __cil_tmp44 ;
24988 unsigned long __cil_tmp45 ;
24989 unsigned long __cil_tmp46 ;
24990 spinlock_t *__cil_tmp47 ;
24991
24992 {
24993#line 1131
24994 __cil_tmp8 = (unsigned long )ch;
24995#line 1131
24996 __cil_tmp9 = __cil_tmp8 + 432;
24997#line 1131
24998 ch_uv = (struct xpc_channel_uv *)__cil_tmp9;
24999#line 1138
25000 __cil_tmp10 = (unsigned long )ch;
25001#line 1138
25002 __cil_tmp11 = __cil_tmp10 + 98;
25003#line 1138
25004 __cil_tmp12 = *((u16 *)__cil_tmp11);
25005#line 1138
25006 nentries = (int )__cil_tmp12;
25007#line 1138
25008 goto ldv_27913;
25009 ldv_27912:
25010 {
25011#line 1139
25012 __cil_tmp13 = (unsigned long )ch;
25013#line 1139
25014 __cil_tmp14 = __cil_tmp13 + 94;
25015#line 1139
25016 __cil_tmp15 = *((u16 *)__cil_tmp14);
25017#line 1139
25018 __cil_tmp16 = (int )__cil_tmp15;
25019#line 1139
25020 __cil_tmp17 = __cil_tmp16 * nentries;
25021#line 1139
25022 nbytes = (size_t )__cil_tmp17;
25023#line 1140
25024 __cil_tmp18 = (unsigned long )ch_uv;
25025#line 1140
25026 __cil_tmp19 = __cil_tmp18 + 16;
25027#line 1140
25028 *((void **)__cil_tmp19) = kzalloc(nbytes, 208U);
25029 }
25030 {
25031#line 1141
25032 __cil_tmp20 = (void *)0;
25033#line 1141
25034 __cil_tmp21 = (unsigned long )__cil_tmp20;
25035#line 1141
25036 __cil_tmp22 = (unsigned long )ch_uv;
25037#line 1141
25038 __cil_tmp23 = __cil_tmp22 + 16;
25039#line 1141
25040 __cil_tmp24 = *((void **)__cil_tmp23);
25041#line 1141
25042 __cil_tmp25 = (unsigned long )__cil_tmp24;
25043#line 1141
25044 if (__cil_tmp25 == __cil_tmp21) {
25045#line 1142
25046 goto ldv_27908;
25047 } else {
25048
25049 }
25050 }
25051#line 1144
25052 entry = 0;
25053#line 1144
25054 goto ldv_27910;
25055 ldv_27909:
25056#line 1145
25057 __cil_tmp26 = (unsigned long )ch;
25058#line 1145
25059 __cil_tmp27 = __cil_tmp26 + 94;
25060#line 1145
25061 __cil_tmp28 = *((u16 *)__cil_tmp27);
25062#line 1145
25063 __cil_tmp29 = (int )__cil_tmp28;
25064#line 1145
25065 __cil_tmp30 = __cil_tmp29 * entry;
25066#line 1145
25067 __cil_tmp31 = (unsigned long )__cil_tmp30;
25068#line 1145
25069 __cil_tmp32 = (unsigned long )ch_uv;
25070#line 1145
25071 __cil_tmp33 = __cil_tmp32 + 16;
25072#line 1145
25073 __cil_tmp34 = *((void **)__cil_tmp33);
25074#line 1145
25075 __cil_tmp35 = (struct xpc_notify_mq_msg_uv *)__cil_tmp34;
25076#line 1145
25077 msg_slot = __cil_tmp35 + __cil_tmp31;
25078#line 1148
25079 __cil_tmp36 = 0 + 12;
25080#line 1148
25081 __cil_tmp37 = (unsigned long )msg_slot;
25082#line 1148
25083 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
25084#line 1148
25085 *((unsigned int *)__cil_tmp38) = (unsigned int )entry;
25086#line 1144
25087 entry = entry + 1;
25088 ldv_27910: ;
25089#line 1144
25090 if (entry < nentries) {
25091#line 1145
25092 goto ldv_27909;
25093 } else {
25094#line 1147
25095 goto ldv_27911;
25096 }
25097 ldv_27911:
25098 {
25099#line 1151
25100 ldv_spin_lock();
25101 }
25102 {
25103#line 1152
25104 __cil_tmp39 = (unsigned long )ch;
25105#line 1152
25106 __cil_tmp40 = __cil_tmp39 + 98;
25107#line 1152
25108 __cil_tmp41 = *((u16 *)__cil_tmp40);
25109#line 1152
25110 __cil_tmp42 = (int )__cil_tmp41;
25111#line 1152
25112 if (__cil_tmp42 > nentries) {
25113#line 1153
25114 __cil_tmp43 = (unsigned long )ch;
25115#line 1153
25116 __cil_tmp44 = __cil_tmp43 + 98;
25117#line 1153
25118 *((u16 *)__cil_tmp44) = (u16 )nentries;
25119 } else {
25120
25121 }
25122 }
25123 {
25124#line 1154
25125 __cil_tmp45 = (unsigned long )ch;
25126#line 1154
25127 __cil_tmp46 = __cil_tmp45 + 8;
25128#line 1154
25129 __cil_tmp47 = (spinlock_t *)__cil_tmp46;
25130#line 1154
25131 spin_unlock_irqrestore(__cil_tmp47, irq_flags);
25132 }
25133#line 1155
25134 return ((enum xp_retval )0);
25135 ldv_27908:
25136#line 1138
25137 nentries = nentries - 1;
25138 ldv_27913: ;
25139#line 1138
25140 if (nentries > 0) {
25141#line 1139
25142 goto ldv_27912;
25143 } else {
25144#line 1141
25145 goto ldv_27914;
25146 }
25147 ldv_27914: ;
25148#line 1158
25149 return ((enum xp_retval )13);
25150}
25151}
25152#line 1165 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25153static enum xp_retval xpc_setup_msg_structures_uv(struct xpc_channel *ch )
25154{ enum xp_retval ret ;
25155 struct xpc_channel_uv *ch_uv ;
25156 unsigned long __cil_tmp4 ;
25157 unsigned long __cil_tmp5 ;
25158 void *__cil_tmp6 ;
25159 unsigned long __cil_tmp7 ;
25160 void *__cil_tmp8 ;
25161 unsigned long __cil_tmp9 ;
25162 unsigned int __cil_tmp10 ;
25163 unsigned int __cil_tmp11 ;
25164 unsigned long __cil_tmp12 ;
25165 unsigned long __cil_tmp13 ;
25166 struct xpc_send_msg_slot_uv *__cil_tmp14 ;
25167 void *__cil_tmp15 ;
25168 unsigned long __cil_tmp16 ;
25169 unsigned long __cil_tmp17 ;
25170 struct xpc_fifo_head_uv *__cil_tmp18 ;
25171
25172 {
25173 {
25174#line 1168
25175 __cil_tmp4 = (unsigned long )ch;
25176#line 1168
25177 __cil_tmp5 = __cil_tmp4 + 432;
25178#line 1168
25179 ch_uv = (struct xpc_channel_uv *)__cil_tmp5;
25180#line 1172
25181 *((void **)ch_uv) = kmalloc(32UL, 208U);
25182 }
25183 {
25184#line 1175
25185 __cil_tmp6 = (void *)0;
25186#line 1175
25187 __cil_tmp7 = (unsigned long )__cil_tmp6;
25188#line 1175
25189 __cil_tmp8 = *((void **)ch_uv);
25190#line 1175
25191 __cil_tmp9 = (unsigned long )__cil_tmp8;
25192#line 1175
25193 if (__cil_tmp9 == __cil_tmp7) {
25194#line 1176
25195 return ((enum xp_retval )13);
25196 } else {
25197
25198 }
25199 }
25200 {
25201#line 1178
25202 ret = xpc_allocate_send_msg_slot_uv(ch);
25203 }
25204 {
25205#line 1179
25206 __cil_tmp10 = (unsigned int )ret;
25207#line 1179
25208 if (__cil_tmp10 == 0U) {
25209 {
25210#line 1181
25211 ret = xpc_allocate_recv_msg_slot_uv(ch);
25212 }
25213 {
25214#line 1182
25215 __cil_tmp11 = (unsigned int )ret;
25216#line 1182
25217 if (__cil_tmp11 != 0U) {
25218 {
25219#line 1183
25220 __cil_tmp12 = (unsigned long )ch_uv;
25221#line 1183
25222 __cil_tmp13 = __cil_tmp12 + 8;
25223#line 1183
25224 __cil_tmp14 = *((struct xpc_send_msg_slot_uv **)__cil_tmp13);
25225#line 1183
25226 __cil_tmp15 = (void *)__cil_tmp14;
25227#line 1183
25228 kfree(__cil_tmp15);
25229#line 1184
25230 __cil_tmp16 = (unsigned long )ch_uv;
25231#line 1184
25232 __cil_tmp17 = __cil_tmp16 + 24;
25233#line 1184
25234 __cil_tmp18 = (struct xpc_fifo_head_uv *)__cil_tmp17;
25235#line 1184
25236 xpc_init_fifo_uv(__cil_tmp18);
25237 }
25238 } else {
25239
25240 }
25241 }
25242 } else {
25243
25244 }
25245 }
25246#line 1187
25247 return (ret);
25248}
25249}
25250#line 1195 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25251static void xpc_teardown_msg_structures_uv(struct xpc_channel *ch )
25252{ struct xpc_channel_uv *ch_uv ;
25253 unsigned long __cil_tmp3 ;
25254 unsigned long __cil_tmp4 ;
25255 void *__cil_tmp5 ;
25256 void *__cil_tmp6 ;
25257 unsigned long __cil_tmp7 ;
25258 unsigned long __cil_tmp8 ;
25259 unsigned int __cil_tmp9 ;
25260 unsigned int __cil_tmp10 ;
25261 unsigned long __cil_tmp11 ;
25262 unsigned long __cil_tmp12 ;
25263 struct xpc_fifo_head_uv *__cil_tmp13 ;
25264 unsigned long __cil_tmp14 ;
25265 unsigned long __cil_tmp15 ;
25266 struct xpc_send_msg_slot_uv *__cil_tmp16 ;
25267 void *__cil_tmp17 ;
25268 unsigned long __cil_tmp18 ;
25269 unsigned long __cil_tmp19 ;
25270 struct xpc_fifo_head_uv *__cil_tmp20 ;
25271 unsigned long __cil_tmp21 ;
25272 unsigned long __cil_tmp22 ;
25273 void *__cil_tmp23 ;
25274 void *__cil_tmp24 ;
25275
25276 {
25277 {
25278#line 1197
25279 __cil_tmp3 = (unsigned long )ch;
25280#line 1197
25281 __cil_tmp4 = __cil_tmp3 + 432;
25282#line 1197
25283 ch_uv = (struct xpc_channel_uv *)__cil_tmp4;
25284#line 1201
25285 __cil_tmp5 = *((void **)ch_uv);
25286#line 1201
25287 __cil_tmp6 = (void *)__cil_tmp5;
25288#line 1201
25289 kfree(__cil_tmp6);
25290#line 1202
25291 *((void **)ch_uv) = (void *)0;
25292 }
25293 {
25294#line 1204
25295 __cil_tmp7 = (unsigned long )ch;
25296#line 1204
25297 __cil_tmp8 = __cil_tmp7 + 80;
25298#line 1204
25299 __cil_tmp9 = *((unsigned int *)__cil_tmp8);
25300#line 1204
25301 __cil_tmp10 = __cil_tmp9 & 128U;
25302#line 1204
25303 if (__cil_tmp10 != 0U) {
25304 {
25305#line 1205
25306 __cil_tmp11 = (unsigned long )ch_uv;
25307#line 1205
25308 __cil_tmp12 = __cil_tmp11 + 24;
25309#line 1205
25310 __cil_tmp13 = (struct xpc_fifo_head_uv *)__cil_tmp12;
25311#line 1205
25312 xpc_init_fifo_uv(__cil_tmp13);
25313#line 1206
25314 __cil_tmp14 = (unsigned long )ch_uv;
25315#line 1206
25316 __cil_tmp15 = __cil_tmp14 + 8;
25317#line 1206
25318 __cil_tmp16 = *((struct xpc_send_msg_slot_uv **)__cil_tmp15);
25319#line 1206
25320 __cil_tmp17 = (void *)__cil_tmp16;
25321#line 1206
25322 kfree(__cil_tmp17);
25323#line 1207
25324 __cil_tmp18 = (unsigned long )ch_uv;
25325#line 1207
25326 __cil_tmp19 = __cil_tmp18 + 120;
25327#line 1207
25328 __cil_tmp20 = (struct xpc_fifo_head_uv *)__cil_tmp19;
25329#line 1207
25330 xpc_init_fifo_uv(__cil_tmp20);
25331#line 1208
25332 __cil_tmp21 = (unsigned long )ch_uv;
25333#line 1208
25334 __cil_tmp22 = __cil_tmp21 + 16;
25335#line 1208
25336 __cil_tmp23 = *((void **)__cil_tmp22);
25337#line 1208
25338 __cil_tmp24 = (void *)__cil_tmp23;
25339#line 1208
25340 kfree(__cil_tmp24);
25341 }
25342 } else {
25343
25344 }
25345 }
25346#line 1210
25347 return;
25348}
25349}
25350#line 1213 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25351static void xpc_send_chctl_closerequest_uv(struct xpc_channel *ch , unsigned long *irq_flags )
25352{ struct xpc_activate_mq_msg_chctl_closerequest_uv msg ;
25353 unsigned long __cil_tmp4 ;
25354 unsigned long __cil_tmp5 ;
25355 unsigned long __cil_tmp6 ;
25356 u16 __cil_tmp7 ;
25357 unsigned long __cil_tmp8 ;
25358 unsigned long __cil_tmp9 ;
25359 unsigned long __cil_tmp10 ;
25360 void *__cil_tmp11 ;
25361
25362 {
25363 {
25364#line 1217
25365 __cil_tmp4 = (unsigned long )(& msg) + 16;
25366#line 1217
25367 __cil_tmp5 = (unsigned long )ch;
25368#line 1217
25369 __cil_tmp6 = __cil_tmp5 + 92;
25370#line 1217
25371 __cil_tmp7 = *((u16 *)__cil_tmp6);
25372#line 1217
25373 *((short *)__cil_tmp4) = (short )__cil_tmp7;
25374#line 1218
25375 __cil_tmp8 = (unsigned long )(& msg) + 20;
25376#line 1218
25377 __cil_tmp9 = (unsigned long )ch;
25378#line 1218
25379 __cil_tmp10 = __cil_tmp9 + 84;
25380#line 1218
25381 *((enum xp_retval *)__cil_tmp8) = *((enum xp_retval *)__cil_tmp10);
25382#line 1219
25383 __cil_tmp11 = (void *)(& msg);
25384#line 1219
25385 xpc_send_activate_IRQ_ch_uv(ch, irq_flags, __cil_tmp11, 24UL, 3);
25386 }
25387#line 1220
25388 return;
25389}
25390}
25391#line 1224 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25392static void xpc_send_chctl_closereply_uv(struct xpc_channel *ch , unsigned long *irq_flags )
25393{ struct xpc_activate_mq_msg_chctl_closereply_uv msg ;
25394 unsigned long __cil_tmp4 ;
25395 unsigned long __cil_tmp5 ;
25396 unsigned long __cil_tmp6 ;
25397 u16 __cil_tmp7 ;
25398 void *__cil_tmp8 ;
25399
25400 {
25401 {
25402#line 1228
25403 __cil_tmp4 = (unsigned long )(& msg) + 16;
25404#line 1228
25405 __cil_tmp5 = (unsigned long )ch;
25406#line 1228
25407 __cil_tmp6 = __cil_tmp5 + 92;
25408#line 1228
25409 __cil_tmp7 = *((u16 *)__cil_tmp6);
25410#line 1228
25411 *((short *)__cil_tmp4) = (short )__cil_tmp7;
25412#line 1229
25413 __cil_tmp8 = (void *)(& msg);
25414#line 1229
25415 xpc_send_activate_IRQ_ch_uv(ch, irq_flags, __cil_tmp8, 24UL, 4);
25416 }
25417#line 1230
25418 return;
25419}
25420}
25421#line 1234 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25422static void xpc_send_chctl_openrequest_uv(struct xpc_channel *ch , unsigned long *irq_flags )
25423{ struct xpc_activate_mq_msg_chctl_openrequest_uv msg ;
25424 unsigned long __cil_tmp4 ;
25425 unsigned long __cil_tmp5 ;
25426 unsigned long __cil_tmp6 ;
25427 u16 __cil_tmp7 ;
25428 unsigned long __cil_tmp8 ;
25429 unsigned long __cil_tmp9 ;
25430 unsigned long __cil_tmp10 ;
25431 u16 __cil_tmp11 ;
25432 unsigned long __cil_tmp12 ;
25433 unsigned long __cil_tmp13 ;
25434 unsigned long __cil_tmp14 ;
25435 u16 __cil_tmp15 ;
25436 void *__cil_tmp16 ;
25437
25438 {
25439 {
25440#line 1238
25441 __cil_tmp4 = (unsigned long )(& msg) + 16;
25442#line 1238
25443 __cil_tmp5 = (unsigned long )ch;
25444#line 1238
25445 __cil_tmp6 = __cil_tmp5 + 92;
25446#line 1238
25447 __cil_tmp7 = *((u16 *)__cil_tmp6);
25448#line 1238
25449 *((short *)__cil_tmp4) = (short )__cil_tmp7;
25450#line 1239
25451 __cil_tmp8 = (unsigned long )(& msg) + 18;
25452#line 1239
25453 __cil_tmp9 = (unsigned long )ch;
25454#line 1239
25455 __cil_tmp10 = __cil_tmp9 + 94;
25456#line 1239
25457 __cil_tmp11 = *((u16 *)__cil_tmp10);
25458#line 1239
25459 *((short *)__cil_tmp8) = (short )__cil_tmp11;
25460#line 1240
25461 __cil_tmp12 = (unsigned long )(& msg) + 20;
25462#line 1240
25463 __cil_tmp13 = (unsigned long )ch;
25464#line 1240
25465 __cil_tmp14 = __cil_tmp13 + 96;
25466#line 1240
25467 __cil_tmp15 = *((u16 *)__cil_tmp14);
25468#line 1240
25469 *((short *)__cil_tmp12) = (short )__cil_tmp15;
25470#line 1241
25471 __cil_tmp16 = (void *)(& msg);
25472#line 1241
25473 xpc_send_activate_IRQ_ch_uv(ch, irq_flags, __cil_tmp16, 24UL, 5);
25474 }
25475#line 1242
25476 return;
25477}
25478}
25479#line 1246 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25480static void xpc_send_chctl_openreply_uv(struct xpc_channel *ch , unsigned long *irq_flags )
25481{ struct xpc_activate_mq_msg_chctl_openreply_uv msg ;
25482 unsigned long __cil_tmp4 ;
25483 unsigned long __cil_tmp5 ;
25484 unsigned long __cil_tmp6 ;
25485 u16 __cil_tmp7 ;
25486 unsigned long __cil_tmp8 ;
25487 unsigned long __cil_tmp9 ;
25488 unsigned long __cil_tmp10 ;
25489 u16 __cil_tmp11 ;
25490 unsigned long __cil_tmp12 ;
25491 unsigned long __cil_tmp13 ;
25492 unsigned long __cil_tmp14 ;
25493 u16 __cil_tmp15 ;
25494 unsigned long __cil_tmp16 ;
25495 unsigned long __cil_tmp17 ;
25496 unsigned long __cil_tmp18 ;
25497 void *__cil_tmp19 ;
25498 void *__cil_tmp20 ;
25499
25500 {
25501 {
25502#line 1250
25503 __cil_tmp4 = (unsigned long )(& msg) + 16;
25504#line 1250
25505 __cil_tmp5 = (unsigned long )ch;
25506#line 1250
25507 __cil_tmp6 = __cil_tmp5 + 92;
25508#line 1250
25509 __cil_tmp7 = *((u16 *)__cil_tmp6);
25510#line 1250
25511 *((short *)__cil_tmp4) = (short )__cil_tmp7;
25512#line 1251
25513 __cil_tmp8 = (unsigned long )(& msg) + 20;
25514#line 1251
25515 __cil_tmp9 = (unsigned long )ch;
25516#line 1251
25517 __cil_tmp10 = __cil_tmp9 + 96;
25518#line 1251
25519 __cil_tmp11 = *((u16 *)__cil_tmp10);
25520#line 1251
25521 *((short *)__cil_tmp8) = (short )__cil_tmp11;
25522#line 1252
25523 __cil_tmp12 = (unsigned long )(& msg) + 18;
25524#line 1252
25525 __cil_tmp13 = (unsigned long )ch;
25526#line 1252
25527 __cil_tmp14 = __cil_tmp13 + 98;
25528#line 1252
25529 __cil_tmp15 = *((u16 *)__cil_tmp14);
25530#line 1252
25531 *((short *)__cil_tmp12) = (short )__cil_tmp15;
25532#line 1253
25533 __cil_tmp16 = (unsigned long )(& msg) + 24;
25534#line 1253
25535 __cil_tmp17 = (unsigned long )xpc_notify_mq_uv;
25536#line 1253
25537 __cil_tmp18 = __cil_tmp17 + 48;
25538#line 1253
25539 __cil_tmp19 = *((void **)__cil_tmp18);
25540#line 1253
25541 *((unsigned long *)__cil_tmp16) = uv_gpa(__cil_tmp19);
25542#line 1254
25543 __cil_tmp20 = (void *)(& msg);
25544#line 1254
25545 xpc_send_activate_IRQ_ch_uv(ch, irq_flags, __cil_tmp20, 32UL, 6);
25546 }
25547#line 1255
25548 return;
25549}
25550}
25551#line 1259 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25552static void xpc_send_chctl_opencomplete_uv(struct xpc_channel *ch , unsigned long *irq_flags )
25553{ struct xpc_activate_mq_msg_chctl_opencomplete_uv msg ;
25554 unsigned long __cil_tmp4 ;
25555 unsigned long __cil_tmp5 ;
25556 unsigned long __cil_tmp6 ;
25557 u16 __cil_tmp7 ;
25558 void *__cil_tmp8 ;
25559
25560 {
25561 {
25562#line 1263
25563 __cil_tmp4 = (unsigned long )(& msg) + 16;
25564#line 1263
25565 __cil_tmp5 = (unsigned long )ch;
25566#line 1263
25567 __cil_tmp6 = __cil_tmp5 + 92;
25568#line 1263
25569 __cil_tmp7 = *((u16 *)__cil_tmp6);
25570#line 1263
25571 *((short *)__cil_tmp4) = (short )__cil_tmp7;
25572#line 1264
25573 __cil_tmp8 = (void *)(& msg);
25574#line 1264
25575 xpc_send_activate_IRQ_ch_uv(ch, irq_flags, __cil_tmp8, 24UL, 7);
25576 }
25577#line 1265
25578 return;
25579}
25580}
25581#line 1269 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25582static void xpc_send_chctl_local_msgrequest_uv(struct xpc_partition *part , int ch_number )
25583{ unsigned long irq_flags ;
25584 unsigned long __cil_tmp4 ;
25585 unsigned long __cil_tmp5 ;
25586 unsigned long __cil_tmp6 ;
25587 unsigned long __cil_tmp7 ;
25588 unsigned long __cil_tmp8 ;
25589 unsigned long __cil_tmp9 ;
25590 unsigned long __cil_tmp10 ;
25591 unsigned long __cil_tmp11 ;
25592 unsigned long __cil_tmp12 ;
25593 unsigned long __cil_tmp13 ;
25594 u8 __cil_tmp14 ;
25595 unsigned int __cil_tmp15 ;
25596 unsigned int __cil_tmp16 ;
25597 unsigned long __cil_tmp17 ;
25598 unsigned long __cil_tmp18 ;
25599 spinlock_t *__cil_tmp19 ;
25600
25601 {
25602 {
25603#line 1273
25604 ldv_spin_lock();
25605#line 1274
25606 __cil_tmp4 = ch_number * 1UL;
25607#line 1274
25608 __cil_tmp5 = 0 + __cil_tmp4;
25609#line 1274
25610 __cil_tmp6 = 384 + __cil_tmp5;
25611#line 1274
25612 __cil_tmp7 = (unsigned long )part;
25613#line 1274
25614 __cil_tmp8 = __cil_tmp7 + __cil_tmp6;
25615#line 1274
25616 __cil_tmp9 = ch_number * 1UL;
25617#line 1274
25618 __cil_tmp10 = 0 + __cil_tmp9;
25619#line 1274
25620 __cil_tmp11 = 384 + __cil_tmp10;
25621#line 1274
25622 __cil_tmp12 = (unsigned long )part;
25623#line 1274
25624 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
25625#line 1274
25626 __cil_tmp14 = *((u8 *)__cil_tmp13);
25627#line 1274
25628 __cil_tmp15 = (unsigned int )__cil_tmp14;
25629#line 1274
25630 __cil_tmp16 = __cil_tmp15 | 32U;
25631#line 1274
25632 *((u8 *)__cil_tmp8) = (u8 )__cil_tmp16;
25633#line 1275
25634 __cil_tmp17 = (unsigned long )part;
25635#line 1275
25636 __cil_tmp18 = __cil_tmp17 + 392;
25637#line 1275
25638 __cil_tmp19 = (spinlock_t *)__cil_tmp18;
25639#line 1275
25640 spin_unlock_irqrestore(__cil_tmp19, irq_flags);
25641#line 1277
25642 xpc_wakeup_channel_mgr(part);
25643 }
25644#line 1278
25645 return;
25646}
25647}
25648#line 1281 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25649static enum xp_retval xpc_save_remote_msgqueue_pa_uv(struct xpc_channel *ch , unsigned long gru_mq_desc_gpa )
25650{ struct xpc_channel_uv *ch_uv ;
25651 enum xp_retval tmp ;
25652 unsigned long __cil_tmp5 ;
25653 unsigned long __cil_tmp6 ;
25654 void *__cil_tmp7 ;
25655 struct gru_message_queue_desc *__cil_tmp8 ;
25656
25657 {
25658 {
25659#line 1284
25660 __cil_tmp5 = (unsigned long )ch;
25661#line 1284
25662 __cil_tmp6 = __cil_tmp5 + 432;
25663#line 1284
25664 ch_uv = (struct xpc_channel_uv *)__cil_tmp6;
25665#line 1287
25666 __cil_tmp7 = *((void **)ch_uv);
25667#line 1287
25668 __cil_tmp8 = (struct gru_message_queue_desc *)__cil_tmp7;
25669#line 1287
25670 tmp = xpc_cache_remote_gru_mq_desc_uv(__cil_tmp8, gru_mq_desc_gpa);
25671 }
25672#line 1287
25673 return (tmp);
25674}
25675}
25676#line 1292 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25677static void xpc_indicate_partition_engaged_uv(struct xpc_partition *part )
25678{ struct xpc_activate_mq_msg_uv msg ;
25679 void *__cil_tmp3 ;
25680
25681 {
25682 {
25683#line 1296
25684 __cil_tmp3 = (void *)(& msg);
25685#line 1296
25686 xpc_send_activate_IRQ_part_uv(part, __cil_tmp3, 16UL, 8);
25687 }
25688#line 1297
25689 return;
25690}
25691}
25692#line 1301 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25693static void xpc_indicate_partition_disengaged_uv(struct xpc_partition *part )
25694{ struct xpc_activate_mq_msg_uv msg ;
25695 void *__cil_tmp3 ;
25696
25697 {
25698 {
25699#line 1305
25700 __cil_tmp3 = (void *)(& msg);
25701#line 1305
25702 xpc_send_activate_IRQ_part_uv(part, __cil_tmp3, 16UL, 9);
25703 }
25704#line 1306
25705 return;
25706}
25707}
25708#line 1310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25709static void xpc_assume_partition_disengaged_uv(short partid )
25710{ struct xpc_partition_uv *part_uv ;
25711 unsigned long irq_flags ;
25712 unsigned long __cil_tmp4 ;
25713 struct xpc_partition *__cil_tmp5 ;
25714 unsigned long __cil_tmp6 ;
25715 unsigned long __cil_tmp7 ;
25716 unsigned long __cil_tmp8 ;
25717 unsigned long __cil_tmp9 ;
25718 unsigned long __cil_tmp10 ;
25719 unsigned long __cil_tmp11 ;
25720 unsigned int __cil_tmp12 ;
25721 unsigned long __cil_tmp13 ;
25722 unsigned long __cil_tmp14 ;
25723 spinlock_t *__cil_tmp15 ;
25724
25725 {
25726 {
25727#line 1312
25728 __cil_tmp4 = (unsigned long )partid;
25729#line 1312
25730 __cil_tmp5 = xpc_partitions + __cil_tmp4;
25731#line 1312
25732 __cil_tmp6 = (unsigned long )__cil_tmp5;
25733#line 1312
25734 __cil_tmp7 = __cil_tmp6 + 576;
25735#line 1312
25736 part_uv = (struct xpc_partition_uv *)__cil_tmp7;
25737#line 1315
25738 ldv_spin_lock();
25739#line 1316
25740 __cil_tmp8 = (unsigned long )part_uv;
25741#line 1316
25742 __cil_tmp9 = __cil_tmp8 + 280;
25743#line 1316
25744 __cil_tmp10 = (unsigned long )part_uv;
25745#line 1316
25746 __cil_tmp11 = __cil_tmp10 + 280;
25747#line 1316
25748 __cil_tmp12 = *((unsigned int *)__cil_tmp11);
25749#line 1316
25750 *((unsigned int *)__cil_tmp9) = __cil_tmp12 & 4294967293U;
25751#line 1317
25752 __cil_tmp13 = (unsigned long )part_uv;
25753#line 1317
25754 __cil_tmp14 = __cil_tmp13 + 208;
25755#line 1317
25756 __cil_tmp15 = (spinlock_t *)__cil_tmp14;
25757#line 1317
25758 spin_unlock_irqrestore(__cil_tmp15, irq_flags);
25759 }
25760#line 1318
25761 return;
25762}
25763}
25764#line 1321 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25765static int xpc_partition_engaged_uv(short partid )
25766{ unsigned long __cil_tmp2 ;
25767 unsigned long __cil_tmp3 ;
25768 unsigned long __cil_tmp4 ;
25769 struct xpc_partition *__cil_tmp5 ;
25770 unsigned long __cil_tmp6 ;
25771 unsigned long __cil_tmp7 ;
25772 unsigned int __cil_tmp8 ;
25773 unsigned int __cil_tmp9 ;
25774
25775 {
25776 {
25777#line 1323
25778 __cil_tmp2 = 0 + 280;
25779#line 1323
25780 __cil_tmp3 = 576 + __cil_tmp2;
25781#line 1323
25782 __cil_tmp4 = (unsigned long )partid;
25783#line 1323
25784 __cil_tmp5 = xpc_partitions + __cil_tmp4;
25785#line 1323
25786 __cil_tmp6 = (unsigned long )__cil_tmp5;
25787#line 1323
25788 __cil_tmp7 = __cil_tmp6 + __cil_tmp3;
25789#line 1323
25790 __cil_tmp8 = *((unsigned int *)__cil_tmp7);
25791#line 1323
25792 __cil_tmp9 = __cil_tmp8 & 2U;
25793#line 1323
25794 return (__cil_tmp9 != 0U);
25795 }
25796}
25797}
25798#line 1327 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25799static int xpc_any_partition_engaged_uv(void)
25800{ struct xpc_partition_uv *part_uv ;
25801 short partid ;
25802 unsigned long __cil_tmp3 ;
25803 struct xpc_partition *__cil_tmp4 ;
25804 unsigned long __cil_tmp5 ;
25805 unsigned long __cil_tmp6 ;
25806 unsigned long __cil_tmp7 ;
25807 unsigned long __cil_tmp8 ;
25808 unsigned int __cil_tmp9 ;
25809 unsigned int __cil_tmp10 ;
25810 int __cil_tmp11 ;
25811 int __cil_tmp12 ;
25812 int __cil_tmp13 ;
25813
25814 {
25815#line 1332
25816 partid = (short)0;
25817#line 1332
25818 goto ldv_27981;
25819 ldv_27980:
25820#line 1333
25821 __cil_tmp3 = (unsigned long )partid;
25822#line 1333
25823 __cil_tmp4 = xpc_partitions + __cil_tmp3;
25824#line 1333
25825 __cil_tmp5 = (unsigned long )__cil_tmp4;
25826#line 1333
25827 __cil_tmp6 = __cil_tmp5 + 576;
25828#line 1333
25829 part_uv = (struct xpc_partition_uv *)__cil_tmp6;
25830 {
25831#line 1334
25832 __cil_tmp7 = (unsigned long )part_uv;
25833#line 1334
25834 __cil_tmp8 = __cil_tmp7 + 280;
25835#line 1334
25836 __cil_tmp9 = *((unsigned int *)__cil_tmp8);
25837#line 1334
25838 __cil_tmp10 = __cil_tmp9 & 2U;
25839#line 1334
25840 if (__cil_tmp10 != 0U) {
25841#line 1335
25842 return (1);
25843 } else {
25844
25845 }
25846 }
25847#line 1332
25848 __cil_tmp11 = (int )partid;
25849#line 1332
25850 __cil_tmp12 = __cil_tmp11 + 1;
25851#line 1332
25852 partid = (short )__cil_tmp12;
25853 ldv_27981: ;
25854 {
25855#line 1332
25856 __cil_tmp13 = (int )partid;
25857#line 1332
25858 if (__cil_tmp13 <= 255) {
25859#line 1333
25860 goto ldv_27980;
25861 } else {
25862#line 1335
25863 goto ldv_27982;
25864 }
25865 }
25866 ldv_27982: ;
25867#line 1337
25868 return (0);
25869}
25870}
25871#line 1341 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25872static enum xp_retval xpc_allocate_msg_slot_uv(struct xpc_channel *ch , u32 flags ,
25873 struct xpc_send_msg_slot_uv **address_of_msg_slot )
25874{ enum xp_retval ret ;
25875 struct xpc_send_msg_slot_uv *msg_slot ;
25876 struct xpc_fifo_entry_uv *entry ;
25877 void *tmp ;
25878 struct xpc_fifo_entry_uv *__mptr ;
25879 unsigned long __cil_tmp9 ;
25880 unsigned long __cil_tmp10 ;
25881 unsigned long __cil_tmp11 ;
25882 unsigned long __cil_tmp12 ;
25883 struct xpc_fifo_head_uv *__cil_tmp13 ;
25884 struct xpc_fifo_entry_uv *__cil_tmp14 ;
25885 unsigned long __cil_tmp15 ;
25886 unsigned long __cil_tmp16 ;
25887 int __cil_tmp17 ;
25888 unsigned int __cil_tmp18 ;
25889 unsigned int __cil_tmp19 ;
25890
25891 {
25892 ldv_27992:
25893 {
25894#line 1349
25895 __cil_tmp9 = 0 + 24;
25896#line 1349
25897 __cil_tmp10 = 432 + __cil_tmp9;
25898#line 1349
25899 __cil_tmp11 = (unsigned long )ch;
25900#line 1349
25901 __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
25902#line 1349
25903 __cil_tmp13 = (struct xpc_fifo_head_uv *)__cil_tmp12;
25904#line 1349
25905 tmp = xpc_get_fifo_entry_uv(__cil_tmp13);
25906#line 1349
25907 entry = (struct xpc_fifo_entry_uv *)tmp;
25908 }
25909 {
25910#line 1350
25911 __cil_tmp14 = (struct xpc_fifo_entry_uv *)0;
25912#line 1350
25913 __cil_tmp15 = (unsigned long )__cil_tmp14;
25914#line 1350
25915 __cil_tmp16 = (unsigned long )entry;
25916#line 1350
25917 if (__cil_tmp16 != __cil_tmp15) {
25918#line 1351
25919 goto ldv_27991;
25920 } else {
25921
25922 }
25923 }
25924 {
25925#line 1353
25926 __cil_tmp17 = (int )flags;
25927#line 1353
25928 if (__cil_tmp17 & 1) {
25929#line 1354
25930 return ((enum xp_retval )7);
25931 } else {
25932
25933 }
25934 }
25935 {
25936#line 1356
25937 ret = xpc_allocate_msg_wait(ch);
25938 }
25939 {
25940#line 1357
25941 __cil_tmp18 = (unsigned int )ret;
25942#line 1357
25943 if (__cil_tmp18 != 10U) {
25944 {
25945#line 1357
25946 __cil_tmp19 = (unsigned int )ret;
25947#line 1357
25948 if (__cil_tmp19 != 9U) {
25949#line 1358
25950 return (ret);
25951 } else {
25952
25953 }
25954 }
25955 } else {
25956
25957 }
25958 }
25959#line 1359
25960 goto ldv_27992;
25961 ldv_27991:
25962#line 1361
25963 __mptr = (struct xpc_fifo_entry_uv *)entry;
25964#line 1361
25965 msg_slot = (struct xpc_send_msg_slot_uv *)__mptr;
25966#line 1362
25967 *address_of_msg_slot = msg_slot;
25968#line 1363
25969 return ((enum xp_retval )0);
25970}
25971}
25972#line 1367 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
25973static void xpc_free_msg_slot_uv(struct xpc_channel *ch , struct xpc_send_msg_slot_uv *msg_slot )
25974{ int tmp ;
25975 unsigned long __cil_tmp4 ;
25976 unsigned long __cil_tmp5 ;
25977 unsigned long __cil_tmp6 ;
25978 unsigned long __cil_tmp7 ;
25979 struct xpc_fifo_head_uv *__cil_tmp8 ;
25980 struct xpc_fifo_entry_uv *__cil_tmp9 ;
25981 unsigned long __cil_tmp10 ;
25982 unsigned long __cil_tmp11 ;
25983 atomic_t *__cil_tmp12 ;
25984 atomic_t *__cil_tmp13 ;
25985 unsigned long __cil_tmp14 ;
25986 unsigned long __cil_tmp15 ;
25987 wait_queue_head_t *__cil_tmp16 ;
25988 void *__cil_tmp17 ;
25989
25990 {
25991 {
25992#line 1370
25993 __cil_tmp4 = 0 + 24;
25994#line 1370
25995 __cil_tmp5 = 432 + __cil_tmp4;
25996#line 1370
25997 __cil_tmp6 = (unsigned long )ch;
25998#line 1370
25999 __cil_tmp7 = __cil_tmp6 + __cil_tmp5;
26000#line 1370
26001 __cil_tmp8 = (struct xpc_fifo_head_uv *)__cil_tmp7;
26002#line 1370
26003 __cil_tmp9 = (struct xpc_fifo_entry_uv *)msg_slot;
26004#line 1370
26005 xpc_put_fifo_entry_uv(__cil_tmp8, __cil_tmp9);
26006#line 1373
26007 __cil_tmp10 = (unsigned long )ch;
26008#line 1373
26009 __cil_tmp11 = __cil_tmp10 + 104;
26010#line 1373
26011 __cil_tmp12 = (atomic_t *)__cil_tmp11;
26012#line 1373
26013 __cil_tmp13 = (atomic_t *)__cil_tmp12;
26014#line 1373
26015 tmp = atomic_read(__cil_tmp13);
26016 }
26017#line 1373
26018 if (tmp > 0) {
26019 {
26020#line 1374
26021 __cil_tmp14 = (unsigned long )ch;
26022#line 1374
26023 __cil_tmp15 = __cil_tmp14 + 112;
26024#line 1374
26025 __cil_tmp16 = (wait_queue_head_t *)__cil_tmp15;
26026#line 1374
26027 __cil_tmp17 = (void *)0;
26028#line 1374
26029 __wake_up(__cil_tmp16, 3U, 1, __cil_tmp17);
26030 }
26031 } else {
26032
26033 }
26034#line 1375
26035 return;
26036}
26037}
26038#line 1378 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
26039static void xpc_notify_sender_uv(struct xpc_channel *ch , struct xpc_send_msg_slot_uv *msg_slot ,
26040 enum xp_retval reason )
26041{ void (*func)(enum xp_retval , short , int , void * ) ;
26042 struct _ddebug descriptor ;
26043 long tmp ;
26044 struct _ddebug descriptor___0 ;
26045 long tmp___0 ;
26046 void (*__ret)(enum xp_retval , short , int , void * ) ;
26047 void (*__old)(enum xp_retval , short , int , void * ) ;
26048 void (*__new)(enum xp_retval , short , int , void * ) ;
26049 u8 volatile *__ptr ;
26050 u16 volatile *__ptr___0 ;
26051 u32 volatile *__ptr___1 ;
26052 u64 volatile *__ptr___2 ;
26053 unsigned long __cil_tmp16 ;
26054 unsigned long __cil_tmp17 ;
26055 void (*__cil_tmp18)(enum xp_retval , short , int , void * ) ;
26056 unsigned long __cil_tmp19 ;
26057 unsigned long __cil_tmp20 ;
26058 unsigned long __cil_tmp21 ;
26059 unsigned long __cil_tmp22 ;
26060 void (**__cil_tmp23)(enum xp_retval , short , int , void * ) ;
26061 unsigned long __cil_tmp24 ;
26062 unsigned long __cil_tmp25 ;
26063 void (**__cil_tmp26)(enum xp_retval , short , int , void * ) ;
26064 unsigned long __cil_tmp27 ;
26065 unsigned long __cil_tmp28 ;
26066 void (**__cil_tmp29)(enum xp_retval , short , int , void * ) ;
26067 unsigned long __cil_tmp30 ;
26068 unsigned long __cil_tmp31 ;
26069 void (**__cil_tmp32)(enum xp_retval , short , int , void * ) ;
26070 unsigned long __cil_tmp33 ;
26071 unsigned long __cil_tmp34 ;
26072 unsigned long __cil_tmp35 ;
26073 unsigned long __cil_tmp36 ;
26074 atomic_t *__cil_tmp37 ;
26075 struct _ddebug *__cil_tmp38 ;
26076 unsigned long __cil_tmp39 ;
26077 unsigned long __cil_tmp40 ;
26078 unsigned long __cil_tmp41 ;
26079 unsigned long __cil_tmp42 ;
26080 unsigned long __cil_tmp43 ;
26081 unsigned long __cil_tmp44 ;
26082 unsigned char __cil_tmp45 ;
26083 long __cil_tmp46 ;
26084 long __cil_tmp47 ;
26085 struct device *__cil_tmp48 ;
26086 unsigned long __cil_tmp49 ;
26087 unsigned long __cil_tmp50 ;
26088 unsigned int __cil_tmp51 ;
26089 short __cil_tmp52 ;
26090 int __cil_tmp53 ;
26091 unsigned long __cil_tmp54 ;
26092 unsigned long __cil_tmp55 ;
26093 u16 __cil_tmp56 ;
26094 int __cil_tmp57 ;
26095 short __cil_tmp58 ;
26096 int __cil_tmp59 ;
26097 short __cil_tmp60 ;
26098 unsigned long __cil_tmp61 ;
26099 unsigned long __cil_tmp62 ;
26100 u16 __cil_tmp63 ;
26101 int __cil_tmp64 ;
26102 unsigned long __cil_tmp65 ;
26103 unsigned long __cil_tmp66 ;
26104 void *__cil_tmp67 ;
26105 struct _ddebug *__cil_tmp68 ;
26106 unsigned long __cil_tmp69 ;
26107 unsigned long __cil_tmp70 ;
26108 unsigned long __cil_tmp71 ;
26109 unsigned long __cil_tmp72 ;
26110 unsigned long __cil_tmp73 ;
26111 unsigned long __cil_tmp74 ;
26112 unsigned char __cil_tmp75 ;
26113 long __cil_tmp76 ;
26114 long __cil_tmp77 ;
26115 struct device *__cil_tmp78 ;
26116 unsigned long __cil_tmp79 ;
26117 unsigned long __cil_tmp80 ;
26118 unsigned int __cil_tmp81 ;
26119 short __cil_tmp82 ;
26120 int __cil_tmp83 ;
26121 unsigned long __cil_tmp84 ;
26122 unsigned long __cil_tmp85 ;
26123 u16 __cil_tmp86 ;
26124 int __cil_tmp87 ;
26125
26126 {
26127#line 1382
26128 __cil_tmp16 = (unsigned long )msg_slot;
26129#line 1382
26130 __cil_tmp17 = __cil_tmp16 + 16;
26131#line 1382
26132 func = *((void (**)(enum xp_retval , short , int , void * ))__cil_tmp17);
26133 {
26134#line 1384
26135 __cil_tmp18 = (void (*)(enum xp_retval , short , int , void * ))0;
26136#line 1384
26137 __cil_tmp19 = (unsigned long )__cil_tmp18;
26138#line 1384
26139 __cil_tmp20 = (unsigned long )func;
26140#line 1384
26141 if (__cil_tmp20 != __cil_tmp19) {
26142#line 1384
26143 __old = func;
26144#line 1384
26145 __new = (void (*)(enum xp_retval , short , int , void * ))0;
26146#line 1384
26147 if (8 == 1) {
26148#line 1384
26149 goto case_1;
26150 } else
26151#line 1384
26152 if (8 == 2) {
26153#line 1384
26154 goto case_2;
26155 } else
26156#line 1384
26157 if (8 == 4) {
26158#line 1384
26159 goto case_4;
26160 } else
26161#line 1384
26162 if (8 == 8) {
26163#line 1384
26164 goto case_8;
26165 } else {
26166 {
26167#line 1384
26168 goto switch_default;
26169#line 1384
26170 if (0) {
26171 case_1:
26172#line 1384
26173 __cil_tmp21 = (unsigned long )msg_slot;
26174#line 1384
26175 __cil_tmp22 = __cil_tmp21 + 16;
26176#line 1384
26177 __cil_tmp23 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp22;
26178#line 1384
26179 __ptr = (u8 volatile *)__cil_tmp23;
26180#line 1384
26181 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgb %2,%1": "=a" (__ret),
26182 "+m" (*__ptr): "q" (__new), "0" (__old): "memory");
26183#line 1384
26184 goto ldv_28010;
26185 case_2:
26186#line 1384
26187 __cil_tmp24 = (unsigned long )msg_slot;
26188#line 1384
26189 __cil_tmp25 = __cil_tmp24 + 16;
26190#line 1384
26191 __cil_tmp26 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp25;
26192#line 1384
26193 __ptr___0 = (u16 volatile *)__cil_tmp26;
26194#line 1384
26195 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgw %2,%1": "=a" (__ret),
26196 "+m" (*__ptr___0): "r" (__new), "0" (__old): "memory");
26197#line 1384
26198 goto ldv_28010;
26199 case_4:
26200#line 1384
26201 __cil_tmp27 = (unsigned long )msg_slot;
26202#line 1384
26203 __cil_tmp28 = __cil_tmp27 + 16;
26204#line 1384
26205 __cil_tmp29 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp28;
26206#line 1384
26207 __ptr___1 = (u32 volatile *)__cil_tmp29;
26208#line 1384
26209 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgl %2,%1": "=a" (__ret),
26210 "+m" (*__ptr___1): "r" (__new), "0" (__old): "memory");
26211#line 1384
26212 goto ldv_28010;
26213 case_8:
26214#line 1384
26215 __cil_tmp30 = (unsigned long )msg_slot;
26216#line 1384
26217 __cil_tmp31 = __cil_tmp30 + 16;
26218#line 1384
26219 __cil_tmp32 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp31;
26220#line 1384
26221 __ptr___2 = (u64 volatile *)__cil_tmp32;
26222#line 1384
26223 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgq %2,%1": "=a" (__ret),
26224 "+m" (*__ptr___2): "r" (__new), "0" (__old): "memory");
26225#line 1384
26226 goto ldv_28010;
26227 switch_default:
26228 {
26229#line 1384
26230 __cmpxchg_wrong_size();
26231 }
26232 } else {
26233 switch_break: ;
26234 }
26235 }
26236 }
26237 ldv_28010: ;
26238 {
26239#line 1384
26240 __cil_tmp33 = (unsigned long )func;
26241#line 1384
26242 __cil_tmp34 = (unsigned long )__ret;
26243#line 1384
26244 if (__cil_tmp34 == __cil_tmp33) {
26245 {
26246#line 1386
26247 __cil_tmp35 = (unsigned long )ch;
26248#line 1386
26249 __cil_tmp36 = __cil_tmp35 + 204;
26250#line 1386
26251 __cil_tmp37 = (atomic_t *)__cil_tmp36;
26252#line 1386
26253 atomic_dec(__cil_tmp37);
26254#line 1388
26255 __cil_tmp38 = & descriptor;
26256#line 1388
26257 *((char **)__cil_tmp38) = "xpc";
26258#line 1388
26259 __cil_tmp39 = (unsigned long )(& descriptor) + 8;
26260#line 1388
26261 *((char **)__cil_tmp39) = "xpc_notify_sender_uv";
26262#line 1388
26263 __cil_tmp40 = (unsigned long )(& descriptor) + 16;
26264#line 1388
26265 *((char **)__cil_tmp40) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p";
26266#line 1388
26267 __cil_tmp41 = (unsigned long )(& descriptor) + 24;
26268#line 1388
26269 *((char **)__cil_tmp41) = "msg_slot->func() called, msg_slot=0x%p msg_slot_number=%d partid=%d channel=%d\n";
26270#line 1388
26271 __cil_tmp42 = (unsigned long )(& descriptor) + 32;
26272#line 1388
26273 *((unsigned int *)__cil_tmp42) = 1390U;
26274#line 1388
26275 __cil_tmp43 = (unsigned long )(& descriptor) + 35;
26276#line 1388
26277 *((unsigned char *)__cil_tmp43) = (unsigned char)0;
26278#line 1388
26279 __cil_tmp44 = (unsigned long )(& descriptor) + 35;
26280#line 1388
26281 __cil_tmp45 = *((unsigned char *)__cil_tmp44);
26282#line 1388
26283 __cil_tmp46 = (long )__cil_tmp45;
26284#line 1388
26285 __cil_tmp47 = __cil_tmp46 & 1L;
26286#line 1388
26287 tmp = __builtin_expect(__cil_tmp47, 0L);
26288 }
26289#line 1388
26290 if (tmp != 0L) {
26291 {
26292#line 1388
26293 __cil_tmp48 = (struct device *)xpc_chan;
26294#line 1388
26295 __cil_tmp49 = (unsigned long )msg_slot;
26296#line 1388
26297 __cil_tmp50 = __cil_tmp49 + 8;
26298#line 1388
26299 __cil_tmp51 = *((unsigned int *)__cil_tmp50);
26300#line 1388
26301 __cil_tmp52 = *((short *)ch);
26302#line 1388
26303 __cil_tmp53 = (int )__cil_tmp52;
26304#line 1388
26305 __cil_tmp54 = (unsigned long )ch;
26306#line 1388
26307 __cil_tmp55 = __cil_tmp54 + 92;
26308#line 1388
26309 __cil_tmp56 = *((u16 *)__cil_tmp55);
26310#line 1388
26311 __cil_tmp57 = (int )__cil_tmp56;
26312#line 1388
26313 __dynamic_dev_dbg(& descriptor, __cil_tmp48, "msg_slot->func() called, msg_slot=0x%p msg_slot_number=%d partid=%d channel=%d\n",
26314 msg_slot, __cil_tmp51, __cil_tmp53, __cil_tmp57);
26315 }
26316 } else {
26317
26318 }
26319 {
26320#line 1392
26321 __cil_tmp58 = *((short *)ch);
26322#line 1392
26323 __cil_tmp59 = (int )__cil_tmp58;
26324#line 1392
26325 __cil_tmp60 = (short )__cil_tmp59;
26326#line 1392
26327 __cil_tmp61 = (unsigned long )ch;
26328#line 1392
26329 __cil_tmp62 = __cil_tmp61 + 92;
26330#line 1392
26331 __cil_tmp63 = *((u16 *)__cil_tmp62);
26332#line 1392
26333 __cil_tmp64 = (int )__cil_tmp63;
26334#line 1392
26335 __cil_tmp65 = (unsigned long )msg_slot;
26336#line 1392
26337 __cil_tmp66 = __cil_tmp65 + 24;
26338#line 1392
26339 __cil_tmp67 = *((void **)__cil_tmp66);
26340#line 1392
26341 (*func)(reason, __cil_tmp60, __cil_tmp64, __cil_tmp67);
26342#line 1394
26343 __cil_tmp68 = & descriptor___0;
26344#line 1394
26345 *((char **)__cil_tmp68) = "xpc";
26346#line 1394
26347 __cil_tmp69 = (unsigned long )(& descriptor___0) + 8;
26348#line 1394
26349 *((char **)__cil_tmp69) = "xpc_notify_sender_uv";
26350#line 1394
26351 __cil_tmp70 = (unsigned long )(& descriptor___0) + 16;
26352#line 1394
26353 *((char **)__cil_tmp70) = "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p";
26354#line 1394
26355 __cil_tmp71 = (unsigned long )(& descriptor___0) + 24;
26356#line 1394
26357 *((char **)__cil_tmp71) = "msg_slot->func() returned, msg_slot=0x%p msg_slot_number=%d partid=%d channel=%d\n";
26358#line 1394
26359 __cil_tmp72 = (unsigned long )(& descriptor___0) + 32;
26360#line 1394
26361 *((unsigned int *)__cil_tmp72) = 1396U;
26362#line 1394
26363 __cil_tmp73 = (unsigned long )(& descriptor___0) + 35;
26364#line 1394
26365 *((unsigned char *)__cil_tmp73) = (unsigned char)0;
26366#line 1394
26367 __cil_tmp74 = (unsigned long )(& descriptor___0) + 35;
26368#line 1394
26369 __cil_tmp75 = *((unsigned char *)__cil_tmp74);
26370#line 1394
26371 __cil_tmp76 = (long )__cil_tmp75;
26372#line 1394
26373 __cil_tmp77 = __cil_tmp76 & 1L;
26374#line 1394
26375 tmp___0 = __builtin_expect(__cil_tmp77, 0L);
26376 }
26377#line 1394
26378 if (tmp___0 != 0L) {
26379 {
26380#line 1394
26381 __cil_tmp78 = (struct device *)xpc_chan;
26382#line 1394
26383 __cil_tmp79 = (unsigned long )msg_slot;
26384#line 1394
26385 __cil_tmp80 = __cil_tmp79 + 8;
26386#line 1394
26387 __cil_tmp81 = *((unsigned int *)__cil_tmp80);
26388#line 1394
26389 __cil_tmp82 = *((short *)ch);
26390#line 1394
26391 __cil_tmp83 = (int )__cil_tmp82;
26392#line 1394
26393 __cil_tmp84 = (unsigned long )ch;
26394#line 1394
26395 __cil_tmp85 = __cil_tmp84 + 92;
26396#line 1394
26397 __cil_tmp86 = *((u16 *)__cil_tmp85);
26398#line 1394
26399 __cil_tmp87 = (int )__cil_tmp86;
26400#line 1394
26401 __dynamic_dev_dbg(& descriptor___0, __cil_tmp78, "msg_slot->func() returned, msg_slot=0x%p msg_slot_number=%d partid=%d channel=%d\n",
26402 msg_slot, __cil_tmp81, __cil_tmp83, __cil_tmp87);
26403 }
26404 } else {
26405
26406 }
26407 } else {
26408
26409 }
26410 }
26411 } else {
26412
26413 }
26414 }
26415#line 1397
26416 return;
26417}
26418}
26419#line 1401 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
26420static void xpc_handle_notify_mq_ack_uv(struct xpc_channel *ch , struct xpc_notify_mq_msg_uv *msg )
26421{ struct xpc_send_msg_slot_uv *msg_slot ;
26422 int entry ;
26423 long tmp ;
26424 unsigned long __cil_tmp6 ;
26425 unsigned long __cil_tmp7 ;
26426 u16 __cil_tmp8 ;
26427 unsigned int __cil_tmp9 ;
26428 unsigned long __cil_tmp10 ;
26429 unsigned long __cil_tmp11 ;
26430 unsigned long __cil_tmp12 ;
26431 unsigned int __cil_tmp13 ;
26432 unsigned int __cil_tmp14 ;
26433 unsigned long __cil_tmp15 ;
26434 unsigned long __cil_tmp16 ;
26435 unsigned long __cil_tmp17 ;
26436 unsigned long __cil_tmp18 ;
26437 unsigned long __cil_tmp19 ;
26438 struct xpc_send_msg_slot_uv *__cil_tmp20 ;
26439 unsigned long __cil_tmp21 ;
26440 unsigned long __cil_tmp22 ;
26441 unsigned long __cil_tmp23 ;
26442 unsigned int __cil_tmp24 ;
26443 unsigned long __cil_tmp25 ;
26444 unsigned long __cil_tmp26 ;
26445 unsigned int __cil_tmp27 ;
26446 int __cil_tmp28 ;
26447 long __cil_tmp29 ;
26448 unsigned long __cil_tmp30 ;
26449 unsigned long __cil_tmp31 ;
26450 unsigned long __cil_tmp32 ;
26451 unsigned long __cil_tmp33 ;
26452 u16 __cil_tmp34 ;
26453 unsigned int __cil_tmp35 ;
26454 unsigned long __cil_tmp36 ;
26455 unsigned long __cil_tmp37 ;
26456 unsigned int __cil_tmp38 ;
26457 void (*__cil_tmp39)(enum xp_retval , short , int , void * ) ;
26458 unsigned long __cil_tmp40 ;
26459 unsigned long __cil_tmp41 ;
26460 unsigned long __cil_tmp42 ;
26461 void (*__cil_tmp43)(enum xp_retval , short , int , void * ) ;
26462 unsigned long __cil_tmp44 ;
26463 enum xp_retval __cil_tmp45 ;
26464
26465 {
26466 {
26467#line 1405
26468 __cil_tmp6 = (unsigned long )ch;
26469#line 1405
26470 __cil_tmp7 = __cil_tmp6 + 96;
26471#line 1405
26472 __cil_tmp8 = *((u16 *)__cil_tmp7);
26473#line 1405
26474 __cil_tmp9 = (unsigned int )__cil_tmp8;
26475#line 1405
26476 __cil_tmp10 = 0 + 12;
26477#line 1405
26478 __cil_tmp11 = (unsigned long )msg;
26479#line 1405
26480 __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
26481#line 1405
26482 __cil_tmp13 = *((unsigned int *)__cil_tmp12);
26483#line 1405
26484 __cil_tmp14 = __cil_tmp13 % __cil_tmp9;
26485#line 1405
26486 entry = (int )__cil_tmp14;
26487#line 1407
26488 __cil_tmp15 = (unsigned long )entry;
26489#line 1407
26490 __cil_tmp16 = 0 + 8;
26491#line 1407
26492 __cil_tmp17 = 432 + __cil_tmp16;
26493#line 1407
26494 __cil_tmp18 = (unsigned long )ch;
26495#line 1407
26496 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
26497#line 1407
26498 __cil_tmp20 = *((struct xpc_send_msg_slot_uv **)__cil_tmp19);
26499#line 1407
26500 msg_slot = __cil_tmp20 + __cil_tmp15;
26501#line 1409
26502 __cil_tmp21 = 0 + 12;
26503#line 1409
26504 __cil_tmp22 = (unsigned long )msg;
26505#line 1409
26506 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
26507#line 1409
26508 __cil_tmp24 = *((unsigned int *)__cil_tmp23);
26509#line 1409
26510 __cil_tmp25 = (unsigned long )msg_slot;
26511#line 1409
26512 __cil_tmp26 = __cil_tmp25 + 8;
26513#line 1409
26514 __cil_tmp27 = *((unsigned int *)__cil_tmp26);
26515#line 1409
26516 __cil_tmp28 = __cil_tmp27 != __cil_tmp24;
26517#line 1409
26518 __cil_tmp29 = (long )__cil_tmp28;
26519#line 1409
26520 tmp = __builtin_expect(__cil_tmp29, 0L);
26521 }
26522#line 1409
26523 if (tmp != 0L) {
26524#line 1409
26525 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"),
26526 "i" (1409), "i" (12UL));
26527 ldv_28028: ;
26528#line 1409
26529 goto ldv_28028;
26530 } else {
26531
26532 }
26533#line 1410
26534 __cil_tmp30 = (unsigned long )msg_slot;
26535#line 1410
26536 __cil_tmp31 = __cil_tmp30 + 8;
26537#line 1410
26538 __cil_tmp32 = (unsigned long )ch;
26539#line 1410
26540 __cil_tmp33 = __cil_tmp32 + 96;
26541#line 1410
26542 __cil_tmp34 = *((u16 *)__cil_tmp33);
26543#line 1410
26544 __cil_tmp35 = (unsigned int )__cil_tmp34;
26545#line 1410
26546 __cil_tmp36 = (unsigned long )msg_slot;
26547#line 1410
26548 __cil_tmp37 = __cil_tmp36 + 8;
26549#line 1410
26550 __cil_tmp38 = *((unsigned int *)__cil_tmp37);
26551#line 1410
26552 *((unsigned int *)__cil_tmp31) = __cil_tmp38 + __cil_tmp35;
26553 {
26554#line 1412
26555 __cil_tmp39 = (void (*)(enum xp_retval , short , int , void * ))0;
26556#line 1412
26557 __cil_tmp40 = (unsigned long )__cil_tmp39;
26558#line 1412
26559 __cil_tmp41 = (unsigned long )msg_slot;
26560#line 1412
26561 __cil_tmp42 = __cil_tmp41 + 16;
26562#line 1412
26563 __cil_tmp43 = *((void (**)(enum xp_retval , short , int , void * ))__cil_tmp42);
26564#line 1412
26565 __cil_tmp44 = (unsigned long )__cil_tmp43;
26566#line 1412
26567 if (__cil_tmp44 != __cil_tmp40) {
26568 {
26569#line 1413
26570 __cil_tmp45 = (enum xp_retval )5;
26571#line 1413
26572 xpc_notify_sender_uv(ch, msg_slot, __cil_tmp45);
26573 }
26574 } else {
26575
26576 }
26577 }
26578 {
26579#line 1415
26580 xpc_free_msg_slot_uv(ch, msg_slot);
26581 }
26582#line 1416
26583 return;
26584}
26585}
26586#line 1419 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
26587static void xpc_handle_notify_mq_msg_uv(struct xpc_partition *part , struct xpc_notify_mq_msg_uv *msg )
26588{ struct xpc_partition_uv *part_uv ;
26589 struct xpc_channel *ch ;
26590 struct xpc_channel_uv *ch_uv ;
26591 struct xpc_notify_mq_msg_uv *msg_slot ;
26592 unsigned long irq_flags ;
26593 int ch_number ;
26594 long tmp ;
26595 long tmp___0 ;
26596 size_t __len ;
26597 void *__ret ;
26598 int tmp___1 ;
26599 unsigned long __cil_tmp14 ;
26600 unsigned long __cil_tmp15 ;
26601 unsigned long __cil_tmp16 ;
26602 unsigned long __cil_tmp17 ;
26603 unsigned long __cil_tmp18 ;
26604 u8 __cil_tmp19 ;
26605 unsigned long __cil_tmp20 ;
26606 unsigned long __cil_tmp21 ;
26607 u8 __cil_tmp22 ;
26608 int __cil_tmp23 ;
26609 int __cil_tmp24 ;
26610 long __cil_tmp25 ;
26611 struct device *__cil_tmp26 ;
26612 long __cil_tmp27 ;
26613 long __cil_tmp28 ;
26614 long __cil_tmp29 ;
26615 long __cil_tmp30 ;
26616 short __cil_tmp31 ;
26617 int __cil_tmp32 ;
26618 unsigned long __cil_tmp33 ;
26619 unsigned long __cil_tmp34 ;
26620 u8 __cil_tmp35 ;
26621 unsigned int __cil_tmp36 ;
26622 unsigned long __cil_tmp37 ;
26623 unsigned long __cil_tmp38 ;
26624 unsigned long __cil_tmp39 ;
26625 unsigned long __cil_tmp40 ;
26626 void *__cil_tmp41 ;
26627 unsigned long __cil_tmp42 ;
26628 unsigned long __cil_tmp43 ;
26629 unsigned long __cil_tmp44 ;
26630 struct xpc_channel *__cil_tmp45 ;
26631 unsigned long __cil_tmp46 ;
26632 unsigned long __cil_tmp47 ;
26633 unsigned int __cil_tmp48 ;
26634 unsigned int __cil_tmp49 ;
26635 unsigned long __cil_tmp50 ;
26636 unsigned long __cil_tmp51 ;
26637 unsigned long __cil_tmp52 ;
26638 u8 __cil_tmp53 ;
26639 unsigned int __cil_tmp54 ;
26640 unsigned long __cil_tmp55 ;
26641 unsigned long __cil_tmp56 ;
26642 unsigned long __cil_tmp57 ;
26643 unsigned long __cil_tmp58 ;
26644 u16 __cil_tmp59 ;
26645 unsigned int __cil_tmp60 ;
26646 unsigned long __cil_tmp61 ;
26647 unsigned long __cil_tmp62 ;
26648 u16 __cil_tmp63 ;
26649 unsigned int __cil_tmp64 ;
26650 unsigned long __cil_tmp65 ;
26651 unsigned long __cil_tmp66 ;
26652 unsigned long __cil_tmp67 ;
26653 unsigned int __cil_tmp68 ;
26654 unsigned int __cil_tmp69 ;
26655 unsigned int __cil_tmp70 ;
26656 unsigned long __cil_tmp71 ;
26657 unsigned long __cil_tmp72 ;
26658 unsigned long __cil_tmp73 ;
26659 void *__cil_tmp74 ;
26660 struct xpc_notify_mq_msg_uv *__cil_tmp75 ;
26661 unsigned long __cil_tmp76 ;
26662 unsigned long __cil_tmp77 ;
26663 unsigned long __cil_tmp78 ;
26664 u8 __cil_tmp79 ;
26665 unsigned int __cil_tmp80 ;
26666 int __cil_tmp81 ;
26667 long __cil_tmp82 ;
26668 unsigned long __cil_tmp83 ;
26669 unsigned long __cil_tmp84 ;
26670 unsigned long __cil_tmp85 ;
26671 u8 __cil_tmp86 ;
26672 void *__cil_tmp87 ;
26673 void *__cil_tmp88 ;
26674 unsigned long __cil_tmp89 ;
26675 unsigned long __cil_tmp90 ;
26676 struct xpc_fifo_head_uv *__cil_tmp91 ;
26677 struct xpc_fifo_entry_uv *__cil_tmp92 ;
26678 unsigned long __cil_tmp93 ;
26679 unsigned long __cil_tmp94 ;
26680 unsigned int __cil_tmp95 ;
26681 unsigned int __cil_tmp96 ;
26682 unsigned long __cil_tmp97 ;
26683 unsigned long __cil_tmp98 ;
26684 atomic_t *__cil_tmp99 ;
26685 atomic_t *__cil_tmp100 ;
26686 unsigned long __cil_tmp101 ;
26687 unsigned long __cil_tmp102 ;
26688 wait_queue_head_t *__cil_tmp103 ;
26689 void *__cil_tmp104 ;
26690 unsigned long __cil_tmp105 ;
26691 unsigned long __cil_tmp106 ;
26692 u16 __cil_tmp107 ;
26693 int __cil_tmp108 ;
26694
26695 {
26696 {
26697#line 1422
26698 __cil_tmp14 = (unsigned long )part;
26699#line 1422
26700 __cil_tmp15 = __cil_tmp14 + 576;
26701#line 1422
26702 part_uv = (struct xpc_partition_uv *)__cil_tmp15;
26703#line 1427
26704 __cil_tmp16 = 0 + 10;
26705#line 1427
26706 __cil_tmp17 = (unsigned long )msg;
26707#line 1427
26708 __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
26709#line 1427
26710 __cil_tmp19 = *((u8 *)__cil_tmp18);
26711#line 1427
26712 ch_number = (int )__cil_tmp19;
26713#line 1429
26714 __cil_tmp20 = (unsigned long )part;
26715#line 1429
26716 __cil_tmp21 = __cil_tmp20 + 364;
26717#line 1429
26718 __cil_tmp22 = *((u8 *)__cil_tmp21);
26719#line 1429
26720 __cil_tmp23 = (int )__cil_tmp22;
26721#line 1429
26722 __cil_tmp24 = __cil_tmp23 <= ch_number;
26723#line 1429
26724 __cil_tmp25 = (long )__cil_tmp24;
26725#line 1429
26726 tmp = __builtin_expect(__cil_tmp25, 0L);
26727 }
26728#line 1429
26729 if (tmp != 0L) {
26730 {
26731#line 1430
26732 __cil_tmp26 = (struct device *)xpc_part;
26733#line 1430
26734 __cil_tmp27 = (long )xpc_partitions;
26735#line 1430
26736 __cil_tmp28 = (long )part;
26737#line 1430
26738 __cil_tmp29 = __cil_tmp28 - __cil_tmp27;
26739#line 1430
26740 __cil_tmp30 = __cil_tmp29 / 896L;
26741#line 1430
26742 __cil_tmp31 = (short )__cil_tmp30;
26743#line 1430
26744 __cil_tmp32 = (int )__cil_tmp31;
26745#line 1430
26746 dev_err(__cil_tmp26, "xpc_handle_notify_IRQ_uv() received invalid channel number=0x%x in message from partid=%d\n",
26747 ch_number, __cil_tmp32);
26748#line 1435
26749 ldv_spin_lock();
26750 }
26751 {
26752#line 1436
26753 __cil_tmp33 = (unsigned long )part_uv;
26754#line 1436
26755 __cil_tmp34 = __cil_tmp33 + 285;
26756#line 1436
26757 __cil_tmp35 = *((u8 *)__cil_tmp34);
26758#line 1436
26759 __cil_tmp36 = (unsigned int )__cil_tmp35;
26760#line 1436
26761 if (__cil_tmp36 == 0U) {
26762#line 1437
26763 xpc_activate_IRQ_rcvd = xpc_activate_IRQ_rcvd + 1;
26764 } else {
26765
26766 }
26767 }
26768 {
26769#line 1438
26770 __cil_tmp37 = (unsigned long )part_uv;
26771#line 1438
26772 __cil_tmp38 = __cil_tmp37 + 285;
26773#line 1438
26774 *((u8 *)__cil_tmp38) = (u8 )3U;
26775#line 1439
26776 __cil_tmp39 = (unsigned long )part_uv;
26777#line 1439
26778 __cil_tmp40 = __cil_tmp39 + 288;
26779#line 1439
26780 *((enum xp_retval *)__cil_tmp40) = (enum xp_retval )60;
26781#line 1440
26782 spin_unlock_irqrestore(& xpc_activate_IRQ_rcvd_lock, irq_flags);
26783#line 1442
26784 __cil_tmp41 = (void *)0;
26785#line 1442
26786 __wake_up(& xpc_activate_IRQ_wq, 1U, 1, __cil_tmp41);
26787 }
26788#line 1443
26789 return;
26790 } else {
26791
26792 }
26793 {
26794#line 1446
26795 __cil_tmp42 = (unsigned long )ch_number;
26796#line 1446
26797 __cil_tmp43 = (unsigned long )part;
26798#line 1446
26799 __cil_tmp44 = __cil_tmp43 + 376;
26800#line 1446
26801 __cil_tmp45 = *((struct xpc_channel **)__cil_tmp44);
26802#line 1446
26803 ch = __cil_tmp45 + __cil_tmp42;
26804#line 1447
26805 xpc_msgqueue_ref(ch);
26806 }
26807 {
26808#line 1449
26809 __cil_tmp46 = (unsigned long )ch;
26810#line 1449
26811 __cil_tmp47 = __cil_tmp46 + 80;
26812#line 1449
26813 __cil_tmp48 = *((unsigned int *)__cil_tmp47);
26814#line 1449
26815 __cil_tmp49 = __cil_tmp48 & 1024U;
26816#line 1449
26817 if (__cil_tmp49 == 0U) {
26818 {
26819#line 1450
26820 xpc_msgqueue_deref(ch);
26821 }
26822#line 1451
26823 return;
26824 } else {
26825
26826 }
26827 }
26828 {
26829#line 1455
26830 __cil_tmp50 = 0 + 11;
26831#line 1455
26832 __cil_tmp51 = (unsigned long )msg;
26833#line 1455
26834 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
26835#line 1455
26836 __cil_tmp53 = *((u8 *)__cil_tmp52);
26837#line 1455
26838 __cil_tmp54 = (unsigned int )__cil_tmp53;
26839#line 1455
26840 if (__cil_tmp54 == 0U) {
26841 {
26842#line 1456
26843 xpc_handle_notify_mq_ack_uv(ch, msg);
26844#line 1457
26845 xpc_msgqueue_deref(ch);
26846 }
26847#line 1458
26848 return;
26849 } else {
26850
26851 }
26852 }
26853 {
26854#line 1462
26855 __cil_tmp55 = (unsigned long )ch;
26856#line 1462
26857 __cil_tmp56 = __cil_tmp55 + 432;
26858#line 1462
26859 ch_uv = (struct xpc_channel_uv *)__cil_tmp56;
26860#line 1464
26861 __cil_tmp57 = (unsigned long )ch;
26862#line 1464
26863 __cil_tmp58 = __cil_tmp57 + 94;
26864#line 1464
26865 __cil_tmp59 = *((u16 *)__cil_tmp58);
26866#line 1464
26867 __cil_tmp60 = (unsigned int )__cil_tmp59;
26868#line 1464
26869 __cil_tmp61 = (unsigned long )ch;
26870#line 1464
26871 __cil_tmp62 = __cil_tmp61 + 98;
26872#line 1464
26873 __cil_tmp63 = *((u16 *)__cil_tmp62);
26874#line 1464
26875 __cil_tmp64 = (unsigned int )__cil_tmp63;
26876#line 1464
26877 __cil_tmp65 = 0 + 12;
26878#line 1464
26879 __cil_tmp66 = (unsigned long )msg;
26880#line 1464
26881 __cil_tmp67 = __cil_tmp66 + __cil_tmp65;
26882#line 1464
26883 __cil_tmp68 = *((unsigned int *)__cil_tmp67);
26884#line 1464
26885 __cil_tmp69 = __cil_tmp68 % __cil_tmp64;
26886#line 1464
26887 __cil_tmp70 = __cil_tmp69 * __cil_tmp60;
26888#line 1464
26889 __cil_tmp71 = (unsigned long )__cil_tmp70;
26890#line 1464
26891 __cil_tmp72 = (unsigned long )ch_uv;
26892#line 1464
26893 __cil_tmp73 = __cil_tmp72 + 16;
26894#line 1464
26895 __cil_tmp74 = *((void **)__cil_tmp73);
26896#line 1464
26897 __cil_tmp75 = (struct xpc_notify_mq_msg_uv *)__cil_tmp74;
26898#line 1464
26899 msg_slot = __cil_tmp75 + __cil_tmp71;
26900#line 1467
26901 __cil_tmp76 = 0 + 11;
26902#line 1467
26903 __cil_tmp77 = (unsigned long )msg_slot;
26904#line 1467
26905 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
26906#line 1467
26907 __cil_tmp79 = *((u8 *)__cil_tmp78);
26908#line 1467
26909 __cil_tmp80 = (unsigned int )__cil_tmp79;
26910#line 1467
26911 __cil_tmp81 = __cil_tmp80 != 0U;
26912#line 1467
26913 __cil_tmp82 = (long )__cil_tmp81;
26914#line 1467
26915 tmp___0 = __builtin_expect(__cil_tmp82, 0L);
26916 }
26917#line 1467
26918 if (tmp___0 != 0L) {
26919#line 1467
26920 __asm__ volatile ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"),
26921 "i" (1467), "i" (12UL));
26922 ldv_28039: ;
26923#line 1467
26924 goto ldv_28039;
26925 } else {
26926
26927 }
26928 {
26929#line 1469
26930 __cil_tmp83 = 0 + 11;
26931#line 1469
26932 __cil_tmp84 = (unsigned long )msg;
26933#line 1469
26934 __cil_tmp85 = __cil_tmp84 + __cil_tmp83;
26935#line 1469
26936 __cil_tmp86 = *((u8 *)__cil_tmp85);
26937#line 1469
26938 __len = (size_t )__cil_tmp86;
26939#line 1469
26940 __cil_tmp87 = (void *)msg_slot;
26941#line 1469
26942 __cil_tmp88 = (void *)msg;
26943#line 1469
26944 __ret = __builtin_memcpy(__cil_tmp87, __cil_tmp88, __len);
26945#line 1471
26946 __cil_tmp89 = (unsigned long )ch_uv;
26947#line 1471
26948 __cil_tmp90 = __cil_tmp89 + 120;
26949#line 1471
26950 __cil_tmp91 = (struct xpc_fifo_head_uv *)__cil_tmp90;
26951#line 1471
26952 __cil_tmp92 = (struct xpc_fifo_entry_uv *)msg_slot;
26953#line 1471
26954 xpc_put_fifo_entry_uv(__cil_tmp91, __cil_tmp92);
26955 }
26956 {
26957#line 1473
26958 __cil_tmp93 = (unsigned long )ch;
26959#line 1473
26960 __cil_tmp94 = __cil_tmp93 + 80;
26961#line 1473
26962 __cil_tmp95 = *((unsigned int *)__cil_tmp94);
26963#line 1473
26964 __cil_tmp96 = __cil_tmp95 & 512U;
26965#line 1473
26966 if (__cil_tmp96 != 0U) {
26967 {
26968#line 1479
26969 __cil_tmp97 = (unsigned long )ch;
26970#line 1479
26971 __cil_tmp98 = __cil_tmp97 + 328;
26972#line 1479
26973 __cil_tmp99 = (atomic_t *)__cil_tmp98;
26974#line 1479
26975 __cil_tmp100 = (atomic_t *)__cil_tmp99;
26976#line 1479
26977 tmp___1 = atomic_read(__cil_tmp100);
26978 }
26979#line 1479
26980 if (tmp___1 > 0) {
26981 {
26982#line 1480
26983 __cil_tmp101 = (unsigned long )ch;
26984#line 1480
26985 __cil_tmp102 = __cil_tmp101 + 344;
26986#line 1480
26987 __cil_tmp103 = (wait_queue_head_t *)__cil_tmp102;
26988#line 1480
26989 __cil_tmp104 = (void *)0;
26990#line 1480
26991 __wake_up(__cil_tmp103, 3U, 1, __cil_tmp104);
26992 }
26993 } else {
26994 {
26995#line 1482
26996 __cil_tmp105 = (unsigned long )ch;
26997#line 1482
26998 __cil_tmp106 = __cil_tmp105 + 92;
26999#line 1482
27000 __cil_tmp107 = *((u16 *)__cil_tmp106);
27001#line 1482
27002 __cil_tmp108 = (int )__cil_tmp107;
27003#line 1482
27004 xpc_send_chctl_local_msgrequest_uv(part, __cil_tmp108);
27005 }
27006 }
27007 } else {
27008
27009 }
27010 }
27011 {
27012#line 1484
27013 xpc_msgqueue_deref(ch);
27014 }
27015#line 1485
27016 return;
27017}
27018}
27019#line 1488 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
27020static irqreturn_t xpc_handle_notify_IRQ_uv(int irq , void *dev_id )
27021{ struct xpc_notify_mq_msg_uv *msg ;
27022 short partid ;
27023 struct xpc_partition *part ;
27024 int tmp ;
27025 void *tmp___0 ;
27026 unsigned long __cil_tmp8 ;
27027 unsigned long __cil_tmp9 ;
27028 unsigned long __cil_tmp10 ;
27029 int __cil_tmp11 ;
27030 struct device *__cil_tmp12 ;
27031 int __cil_tmp13 ;
27032 int __cil_tmp14 ;
27033 struct device *__cil_tmp15 ;
27034 int __cil_tmp16 ;
27035 unsigned long __cil_tmp17 ;
27036 unsigned long __cil_tmp18 ;
27037 unsigned long __cil_tmp19 ;
27038 void *__cil_tmp20 ;
27039 struct gru_message_queue_desc *__cil_tmp21 ;
27040 void *__cil_tmp22 ;
27041 unsigned long __cil_tmp23 ;
27042 unsigned long __cil_tmp24 ;
27043 void *__cil_tmp25 ;
27044 struct gru_message_queue_desc *__cil_tmp26 ;
27045 struct xpc_notify_mq_msg_uv *__cil_tmp27 ;
27046 unsigned long __cil_tmp28 ;
27047 unsigned long __cil_tmp29 ;
27048
27049 {
27050#line 1494
27051 goto ldv_28051;
27052 ldv_28050:
27053#line 1497
27054 __cil_tmp8 = 0 + 8;
27055#line 1497
27056 __cil_tmp9 = (unsigned long )msg;
27057#line 1497
27058 __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
27059#line 1497
27060 partid = *((short *)__cil_tmp10);
27061 {
27062#line 1498
27063 __cil_tmp11 = (int )partid;
27064#line 1498
27065 if (__cil_tmp11 < 0) {
27066 {
27067#line 1499
27068 __cil_tmp12 = (struct device *)xpc_part;
27069#line 1499
27070 __cil_tmp13 = (int )partid;
27071#line 1499
27072 dev_err(__cil_tmp12, "xpc_handle_notify_IRQ_uv() received invalid partid=0x%x in message\n",
27073 __cil_tmp13);
27074 }
27075 } else {
27076 {
27077#line 1498
27078 __cil_tmp14 = (int )partid;
27079#line 1498
27080 if (__cil_tmp14 > 255) {
27081 {
27082#line 1499
27083 __cil_tmp15 = (struct device *)xpc_part;
27084#line 1499
27085 __cil_tmp16 = (int )partid;
27086#line 1499
27087 dev_err(__cil_tmp15, "xpc_handle_notify_IRQ_uv() received invalid partid=0x%x in message\n",
27088 __cil_tmp16);
27089 }
27090 } else {
27091 {
27092#line 1502
27093 __cil_tmp17 = (unsigned long )partid;
27094#line 1502
27095 part = xpc_partitions + __cil_tmp17;
27096#line 1504
27097 tmp = xpc_part_ref(part);
27098 }
27099#line 1504
27100 if (tmp != 0) {
27101 {
27102#line 1505
27103 xpc_handle_notify_mq_msg_uv(part, msg);
27104#line 1506
27105 xpc_part_deref(part);
27106 }
27107 } else {
27108
27109 }
27110 }
27111 }
27112 }
27113 }
27114 {
27115#line 1510
27116 __cil_tmp18 = (unsigned long )xpc_notify_mq_uv;
27117#line 1510
27118 __cil_tmp19 = __cil_tmp18 + 48;
27119#line 1510
27120 __cil_tmp20 = *((void **)__cil_tmp19);
27121#line 1510
27122 __cil_tmp21 = (struct gru_message_queue_desc *)__cil_tmp20;
27123#line 1510
27124 __cil_tmp22 = (void *)msg;
27125#line 1510
27126 gru_free_message(__cil_tmp21, __cil_tmp22);
27127 }
27128 ldv_28051:
27129 {
27130#line 1494
27131 __cil_tmp23 = (unsigned long )xpc_notify_mq_uv;
27132#line 1494
27133 __cil_tmp24 = __cil_tmp23 + 48;
27134#line 1494
27135 __cil_tmp25 = *((void **)__cil_tmp24);
27136#line 1494
27137 __cil_tmp26 = (struct gru_message_queue_desc *)__cil_tmp25;
27138#line 1494
27139 tmp___0 = gru_get_next_message(__cil_tmp26);
27140#line 1494
27141 msg = (struct xpc_notify_mq_msg_uv *)tmp___0;
27142 }
27143 {
27144#line 1494
27145 __cil_tmp27 = (struct xpc_notify_mq_msg_uv *)0;
27146#line 1494
27147 __cil_tmp28 = (unsigned long )__cil_tmp27;
27148#line 1494
27149 __cil_tmp29 = (unsigned long )msg;
27150#line 1494
27151 if (__cil_tmp29 != __cil_tmp28) {
27152#line 1495
27153 goto ldv_28050;
27154 } else {
27155#line 1497
27156 goto ldv_28052;
27157 }
27158 }
27159 ldv_28052: ;
27160#line 1513
27161 return ((irqreturn_t )1);
27162}
27163}
27164#line 1517 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
27165static int xpc_n_of_deliverable_payloads_uv(struct xpc_channel *ch )
27166{ int tmp ;
27167 unsigned long __cil_tmp3 ;
27168 unsigned long __cil_tmp4 ;
27169 unsigned long __cil_tmp5 ;
27170 unsigned long __cil_tmp6 ;
27171 struct xpc_fifo_head_uv *__cil_tmp7 ;
27172
27173 {
27174 {
27175#line 1519
27176 __cil_tmp3 = 0 + 120;
27177#line 1519
27178 __cil_tmp4 = 432 + __cil_tmp3;
27179#line 1519
27180 __cil_tmp5 = (unsigned long )ch;
27181#line 1519
27182 __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
27183#line 1519
27184 __cil_tmp7 = (struct xpc_fifo_head_uv *)__cil_tmp6;
27185#line 1519
27186 tmp = xpc_n_of_fifo_entries_uv(__cil_tmp7);
27187 }
27188#line 1519
27189 return (tmp);
27190}
27191}
27192#line 1523 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
27193static void xpc_process_msg_chctl_flags_uv(struct xpc_partition *part , int ch_number )
27194{ struct xpc_channel *ch ;
27195 int ndeliverable_payloads ;
27196 unsigned long __cil_tmp5 ;
27197 unsigned long __cil_tmp6 ;
27198 unsigned long __cil_tmp7 ;
27199 struct xpc_channel *__cil_tmp8 ;
27200 unsigned long __cil_tmp9 ;
27201 unsigned long __cil_tmp10 ;
27202 unsigned int __cil_tmp11 ;
27203 unsigned int __cil_tmp12 ;
27204 unsigned long __cil_tmp13 ;
27205 unsigned long __cil_tmp14 ;
27206 unsigned int __cil_tmp15 ;
27207 unsigned int __cil_tmp16 ;
27208
27209 {
27210 {
27211#line 1525
27212 __cil_tmp5 = (unsigned long )ch_number;
27213#line 1525
27214 __cil_tmp6 = (unsigned long )part;
27215#line 1525
27216 __cil_tmp7 = __cil_tmp6 + 376;
27217#line 1525
27218 __cil_tmp8 = *((struct xpc_channel **)__cil_tmp7);
27219#line 1525
27220 ch = __cil_tmp8 + __cil_tmp5;
27221#line 1528
27222 xpc_msgqueue_ref(ch);
27223#line 1530
27224 ndeliverable_payloads = xpc_n_of_deliverable_payloads_uv(ch);
27225 }
27226#line 1532
27227 if (ndeliverable_payloads > 0) {
27228 {
27229#line 1532
27230 __cil_tmp9 = (unsigned long )ch;
27231#line 1532
27232 __cil_tmp10 = __cil_tmp9 + 80;
27233#line 1532
27234 __cil_tmp11 = *((unsigned int *)__cil_tmp10);
27235#line 1532
27236 __cil_tmp12 = __cil_tmp11 & 1024U;
27237#line 1532
27238 if (__cil_tmp12 != 0U) {
27239 {
27240#line 1532
27241 __cil_tmp13 = (unsigned long )ch;
27242#line 1532
27243 __cil_tmp14 = __cil_tmp13 + 80;
27244#line 1532
27245 __cil_tmp15 = *((unsigned int *)__cil_tmp14);
27246#line 1532
27247 __cil_tmp16 = __cil_tmp15 & 512U;
27248#line 1532
27249 if (__cil_tmp16 != 0U) {
27250 {
27251#line 1536
27252 xpc_activate_kthreads(ch, ndeliverable_payloads);
27253 }
27254 } else {
27255
27256 }
27257 }
27258 } else {
27259
27260 }
27261 }
27262 } else {
27263
27264 }
27265 {
27266#line 1539
27267 xpc_msgqueue_deref(ch);
27268 }
27269#line 1540
27270 return;
27271}
27272}
27273#line 1543 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
27274static enum xp_retval xpc_send_payload_uv(struct xpc_channel *ch , u32 flags , void *payload ,
27275 u16 payload_size , u8 notify_type , void (*func)(enum xp_retval ,
27276 short ,
27277 int ,
27278 void * ) ,
27279 void *key )
27280{ enum xp_retval ret ;
27281 struct xpc_send_msg_slot_uv *msg_slot ;
27282 struct xpc_notify_mq_msg_uv *msg ;
27283 u8 msg_buffer[128U] ;
27284 size_t msg_size ;
27285 size_t __len ;
27286 void *__ret ;
27287 void (*__ret___0)(enum xp_retval , short , int , void * ) ;
27288 void (*__old)(enum xp_retval , short , int , void * ) ;
27289 void (*__new)(enum xp_retval , short , int , void * ) ;
27290 u8 volatile *__ptr ;
27291 u16 volatile *__ptr___0 ;
27292 u32 volatile *__ptr___1 ;
27293 u64 volatile *__ptr___2 ;
27294 struct xpc_send_msg_slot_uv **__cil_tmp22 ;
27295 unsigned long __cil_tmp23 ;
27296 unsigned long __cil_tmp24 ;
27297 unsigned long __cil_tmp25 ;
27298 u16 __cil_tmp26 ;
27299 size_t __cil_tmp27 ;
27300 unsigned long __cil_tmp28 ;
27301 unsigned long __cil_tmp29 ;
27302 unsigned int __cil_tmp30 ;
27303 unsigned int __cil_tmp31 ;
27304 unsigned long __cil_tmp32 ;
27305 unsigned long __cil_tmp33 ;
27306 unsigned long __cil_tmp34 ;
27307 unsigned long __cil_tmp35 ;
27308 unsigned int __cil_tmp36 ;
27309 unsigned int __cil_tmp37 ;
27310 unsigned int __cil_tmp38 ;
27311 void (*__cil_tmp39)(enum xp_retval , short , int , void * ) ;
27312 unsigned long __cil_tmp40 ;
27313 unsigned long __cil_tmp41 ;
27314 unsigned long __cil_tmp42 ;
27315 unsigned long __cil_tmp43 ;
27316 atomic_t *__cil_tmp44 ;
27317 struct xpc_send_msg_slot_uv **__cil_tmp45 ;
27318 struct xpc_send_msg_slot_uv *__cil_tmp46 ;
27319 unsigned long __cil_tmp47 ;
27320 unsigned long __cil_tmp48 ;
27321 struct xpc_send_msg_slot_uv **__cil_tmp49 ;
27322 struct xpc_send_msg_slot_uv *__cil_tmp50 ;
27323 unsigned long __cil_tmp51 ;
27324 unsigned long __cil_tmp52 ;
27325 unsigned long __cil_tmp53 ;
27326 unsigned long __cil_tmp54 ;
27327 unsigned int __cil_tmp55 ;
27328 unsigned int __cil_tmp56 ;
27329 unsigned long __cil_tmp57 ;
27330 unsigned long __cil_tmp58 ;
27331 unsigned long __cil_tmp59 ;
27332 unsigned long __cil_tmp60 ;
27333 unsigned long __cil_tmp61 ;
27334 unsigned long __cil_tmp62 ;
27335 unsigned long __cil_tmp63 ;
27336 unsigned long __cil_tmp64 ;
27337 unsigned long __cil_tmp65 ;
27338 unsigned long __cil_tmp66 ;
27339 u16 __cil_tmp67 ;
27340 unsigned long __cil_tmp68 ;
27341 unsigned long __cil_tmp69 ;
27342 unsigned long __cil_tmp70 ;
27343 unsigned long __cil_tmp71 ;
27344 unsigned long __cil_tmp72 ;
27345 unsigned long __cil_tmp73 ;
27346 struct xpc_send_msg_slot_uv **__cil_tmp74 ;
27347 struct xpc_send_msg_slot_uv *__cil_tmp75 ;
27348 unsigned long __cil_tmp76 ;
27349 unsigned long __cil_tmp77 ;
27350 unsigned long __cil_tmp78 ;
27351 unsigned long __cil_tmp79 ;
27352 unsigned long *__cil_tmp80 ;
27353 void *__cil_tmp81 ;
27354 void *__cil_tmp82 ;
27355 unsigned long __cil_tmp83 ;
27356 unsigned long __cil_tmp84 ;
27357 void *__cil_tmp85 ;
27358 struct gru_message_queue_desc *__cil_tmp86 ;
27359 void *__cil_tmp87 ;
27360 unsigned int __cil_tmp88 ;
27361 int __cil_tmp89 ;
27362 short __cil_tmp90 ;
27363 unsigned long __cil_tmp91 ;
27364 struct xpc_partition *__cil_tmp92 ;
27365 void (*__cil_tmp93)(enum xp_retval , short , int , void * ) ;
27366 unsigned long __cil_tmp94 ;
27367 unsigned long __cil_tmp95 ;
27368 struct xpc_send_msg_slot_uv **__cil_tmp96 ;
27369 struct xpc_send_msg_slot_uv *__cil_tmp97 ;
27370 unsigned long __cil_tmp98 ;
27371 unsigned long __cil_tmp99 ;
27372 void (**__cil_tmp100)(enum xp_retval , short , int , void * ) ;
27373 struct xpc_send_msg_slot_uv **__cil_tmp101 ;
27374 struct xpc_send_msg_slot_uv *__cil_tmp102 ;
27375 unsigned long __cil_tmp103 ;
27376 unsigned long __cil_tmp104 ;
27377 void (**__cil_tmp105)(enum xp_retval , short , int , void * ) ;
27378 struct xpc_send_msg_slot_uv **__cil_tmp106 ;
27379 struct xpc_send_msg_slot_uv *__cil_tmp107 ;
27380 unsigned long __cil_tmp108 ;
27381 unsigned long __cil_tmp109 ;
27382 void (**__cil_tmp110)(enum xp_retval , short , int , void * ) ;
27383 struct xpc_send_msg_slot_uv **__cil_tmp111 ;
27384 struct xpc_send_msg_slot_uv *__cil_tmp112 ;
27385 unsigned long __cil_tmp113 ;
27386 unsigned long __cil_tmp114 ;
27387 void (**__cil_tmp115)(enum xp_retval , short , int , void * ) ;
27388 unsigned long __cil_tmp116 ;
27389 unsigned long __cil_tmp117 ;
27390 struct xpc_send_msg_slot_uv **__cil_tmp118 ;
27391 struct xpc_send_msg_slot_uv *__cil_tmp119 ;
27392 unsigned long __cil_tmp120 ;
27393 unsigned long __cil_tmp121 ;
27394 unsigned long __cil_tmp122 ;
27395 unsigned long __cil_tmp123 ;
27396 atomic_t *__cil_tmp124 ;
27397 struct xpc_send_msg_slot_uv **__cil_tmp125 ;
27398 struct xpc_send_msg_slot_uv *__cil_tmp126 ;
27399
27400 {
27401#line 1547
27402 ret = (enum xp_retval )0;
27403#line 1548
27404 __cil_tmp22 = & msg_slot;
27405#line 1548
27406 *__cil_tmp22 = (struct xpc_send_msg_slot_uv *)0;
27407#line 1555
27408 __cil_tmp23 = (unsigned long )payload_size;
27409#line 1555
27410 msg_size = __cil_tmp23 + 16UL;
27411 {
27412#line 1556
27413 __cil_tmp24 = (unsigned long )ch;
27414#line 1556
27415 __cil_tmp25 = __cil_tmp24 + 94;
27416#line 1556
27417 __cil_tmp26 = *((u16 *)__cil_tmp25);
27418#line 1556
27419 __cil_tmp27 = (size_t )__cil_tmp26;
27420#line 1556
27421 if (__cil_tmp27 < msg_size) {
27422#line 1557
27423 return ((enum xp_retval )55);
27424 } else {
27425
27426 }
27427 }
27428 {
27429#line 1559
27430 xpc_msgqueue_ref(ch);
27431 }
27432 {
27433#line 1561
27434 __cil_tmp28 = (unsigned long )ch;
27435#line 1561
27436 __cil_tmp29 = __cil_tmp28 + 80;
27437#line 1561
27438 __cil_tmp30 = *((unsigned int *)__cil_tmp29);
27439#line 1561
27440 __cil_tmp31 = __cil_tmp30 & 131072U;
27441#line 1561
27442 if (__cil_tmp31 != 0U) {
27443#line 1562
27444 __cil_tmp32 = (unsigned long )ch;
27445#line 1562
27446 __cil_tmp33 = __cil_tmp32 + 84;
27447#line 1562
27448 ret = *((enum xp_retval *)__cil_tmp33);
27449#line 1563
27450 goto out_1;
27451 } else {
27452
27453 }
27454 }
27455 {
27456#line 1565
27457 __cil_tmp34 = (unsigned long )ch;
27458#line 1565
27459 __cil_tmp35 = __cil_tmp34 + 80;
27460#line 1565
27461 __cil_tmp36 = *((unsigned int *)__cil_tmp35);
27462#line 1565
27463 __cil_tmp37 = __cil_tmp36 & 1024U;
27464#line 1565
27465 if (__cil_tmp37 == 0U) {
27466#line 1566
27467 ret = (enum xp_retval )1;
27468#line 1567
27469 goto out_1;
27470 } else {
27471
27472 }
27473 }
27474 {
27475#line 1570
27476 ret = xpc_allocate_msg_slot_uv(ch, flags, & msg_slot);
27477 }
27478 {
27479#line 1571
27480 __cil_tmp38 = (unsigned int )ret;
27481#line 1571
27482 if (__cil_tmp38 != 0U) {
27483#line 1572
27484 goto out_1;
27485 } else {
27486
27487 }
27488 }
27489 {
27490#line 1574
27491 __cil_tmp39 = (void (*)(enum xp_retval , short , int , void * ))0;
27492#line 1574
27493 __cil_tmp40 = (unsigned long )__cil_tmp39;
27494#line 1574
27495 __cil_tmp41 = (unsigned long )func;
27496#line 1574
27497 if (__cil_tmp41 != __cil_tmp40) {
27498 {
27499#line 1575
27500 __cil_tmp42 = (unsigned long )ch;
27501#line 1575
27502 __cil_tmp43 = __cil_tmp42 + 204;
27503#line 1575
27504 __cil_tmp44 = (atomic_t *)__cil_tmp43;
27505#line 1575
27506 atomic_inc(__cil_tmp44);
27507#line 1577
27508 __cil_tmp45 = & msg_slot;
27509#line 1577
27510 __cil_tmp46 = *__cil_tmp45;
27511#line 1577
27512 __cil_tmp47 = (unsigned long )__cil_tmp46;
27513#line 1577
27514 __cil_tmp48 = __cil_tmp47 + 24;
27515#line 1577
27516 *((void **)__cil_tmp48) = key;
27517#line 1578
27518 __asm__ volatile ("": : : "memory");
27519#line 1579
27520 __cil_tmp49 = & msg_slot;
27521#line 1579
27522 __cil_tmp50 = *__cil_tmp49;
27523#line 1579
27524 __cil_tmp51 = (unsigned long )__cil_tmp50;
27525#line 1579
27526 __cil_tmp52 = __cil_tmp51 + 16;
27527#line 1579
27528 *((void (**)(enum xp_retval , short , int , void * ))__cil_tmp52) = func;
27529 }
27530 {
27531#line 1581
27532 __cil_tmp53 = (unsigned long )ch;
27533#line 1581
27534 __cil_tmp54 = __cil_tmp53 + 80;
27535#line 1581
27536 __cil_tmp55 = *((unsigned int *)__cil_tmp54);
27537#line 1581
27538 __cil_tmp56 = __cil_tmp55 & 131072U;
27539#line 1581
27540 if (__cil_tmp56 != 0U) {
27541#line 1582
27542 __cil_tmp57 = (unsigned long )ch;
27543#line 1582
27544 __cil_tmp58 = __cil_tmp57 + 84;
27545#line 1582
27546 ret = *((enum xp_retval *)__cil_tmp58);
27547#line 1583
27548 goto out_2;
27549 } else {
27550
27551 }
27552 }
27553 } else {
27554
27555 }
27556 }
27557 {
27558#line 1587
27559 msg = (struct xpc_notify_mq_msg_uv *)(& msg_buffer);
27560#line 1588
27561 __cil_tmp59 = 0 + 8;
27562#line 1588
27563 __cil_tmp60 = (unsigned long )msg;
27564#line 1588
27565 __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
27566#line 1588
27567 *((short *)__cil_tmp61) = xp_partition_id;
27568#line 1589
27569 __cil_tmp62 = 0 + 10;
27570#line 1589
27571 __cil_tmp63 = (unsigned long )msg;
27572#line 1589
27573 __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
27574#line 1589
27575 __cil_tmp65 = (unsigned long )ch;
27576#line 1589
27577 __cil_tmp66 = __cil_tmp65 + 92;
27578#line 1589
27579 __cil_tmp67 = *((u16 *)__cil_tmp66);
27580#line 1589
27581 *((u8 *)__cil_tmp64) = (u8 )__cil_tmp67;
27582#line 1590
27583 __cil_tmp68 = 0 + 11;
27584#line 1590
27585 __cil_tmp69 = (unsigned long )msg;
27586#line 1590
27587 __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
27588#line 1590
27589 *((u8 *)__cil_tmp70) = (u8 )msg_size;
27590#line 1591
27591 __cil_tmp71 = 0 + 12;
27592#line 1591
27593 __cil_tmp72 = (unsigned long )msg;
27594#line 1591
27595 __cil_tmp73 = __cil_tmp72 + __cil_tmp71;
27596#line 1591
27597 __cil_tmp74 = & msg_slot;
27598#line 1591
27599 __cil_tmp75 = *__cil_tmp74;
27600#line 1591
27601 __cil_tmp76 = (unsigned long )__cil_tmp75;
27602#line 1591
27603 __cil_tmp77 = __cil_tmp76 + 8;
27604#line 1591
27605 *((unsigned int *)__cil_tmp73) = *((unsigned int *)__cil_tmp77);
27606#line 1592
27607 __len = (size_t )payload_size;
27608#line 1592
27609 __cil_tmp78 = (unsigned long )msg;
27610#line 1592
27611 __cil_tmp79 = __cil_tmp78 + 16;
27612#line 1592
27613 __cil_tmp80 = (unsigned long *)__cil_tmp79;
27614#line 1592
27615 __cil_tmp81 = (void *)__cil_tmp80;
27616#line 1592
27617 __cil_tmp82 = (void *)payload;
27618#line 1592
27619 __ret = __builtin_memcpy(__cil_tmp81, __cil_tmp82, __len);
27620#line 1594
27621 __cil_tmp83 = (unsigned long )ch;
27622#line 1594
27623 __cil_tmp84 = __cil_tmp83 + 432;
27624#line 1594
27625 __cil_tmp85 = *((void **)__cil_tmp84);
27626#line 1594
27627 __cil_tmp86 = (struct gru_message_queue_desc *)__cil_tmp85;
27628#line 1594
27629 __cil_tmp87 = (void *)msg;
27630#line 1594
27631 ret = xpc_send_gru_msg(__cil_tmp86, __cil_tmp87, msg_size);
27632 }
27633 {
27634#line 1596
27635 __cil_tmp88 = (unsigned int )ret;
27636#line 1596
27637 if (__cil_tmp88 == 0U) {
27638#line 1597
27639 goto out_1;
27640 } else {
27641
27642 }
27643 }
27644 {
27645#line 1599
27646 __cil_tmp89 = (int )1599;
27647#line 1599
27648 __cil_tmp90 = *((short *)ch);
27649#line 1599
27650 __cil_tmp91 = (unsigned long )__cil_tmp90;
27651#line 1599
27652 __cil_tmp92 = xpc_partitions + __cil_tmp91;
27653#line 1599
27654 xpc_deactivate_partition(__cil_tmp89, __cil_tmp92, ret);
27655 }
27656 out_2: ;
27657 {
27658#line 1601
27659 __cil_tmp93 = (void (*)(enum xp_retval , short , int , void * ))0;
27660#line 1601
27661 __cil_tmp94 = (unsigned long )__cil_tmp93;
27662#line 1601
27663 __cil_tmp95 = (unsigned long )func;
27664#line 1601
27665 if (__cil_tmp95 != __cil_tmp94) {
27666#line 1612
27667 __old = func;
27668#line 1612
27669 __new = (void (*)(enum xp_retval , short , int , void * ))0;
27670#line 1612
27671 if (8 == 1) {
27672#line 1612
27673 goto case_1;
27674 } else
27675#line 1612
27676 if (8 == 2) {
27677#line 1612
27678 goto case_2;
27679 } else
27680#line 1612
27681 if (8 == 4) {
27682#line 1612
27683 goto case_4;
27684 } else
27685#line 1612
27686 if (8 == 8) {
27687#line 1612
27688 goto case_8;
27689 } else {
27690 {
27691#line 1612
27692 goto switch_default;
27693#line 1612
27694 if (0) {
27695 case_1:
27696#line 1612
27697 __cil_tmp96 = & msg_slot;
27698#line 1612
27699 __cil_tmp97 = *__cil_tmp96;
27700#line 1612
27701 __cil_tmp98 = (unsigned long )__cil_tmp97;
27702#line 1612
27703 __cil_tmp99 = __cil_tmp98 + 16;
27704#line 1612
27705 __cil_tmp100 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp99;
27706#line 1612
27707 __ptr = (u8 volatile *)__cil_tmp100;
27708#line 1612
27709 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgb %2,%1": "=a" (__ret___0),
27710 "+m" (*__ptr): "q" (__new), "0" (__old): "memory");
27711#line 1612
27712 goto ldv_28086;
27713 case_2:
27714#line 1612
27715 __cil_tmp101 = & msg_slot;
27716#line 1612
27717 __cil_tmp102 = *__cil_tmp101;
27718#line 1612
27719 __cil_tmp103 = (unsigned long )__cil_tmp102;
27720#line 1612
27721 __cil_tmp104 = __cil_tmp103 + 16;
27722#line 1612
27723 __cil_tmp105 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp104;
27724#line 1612
27725 __ptr___0 = (u16 volatile *)__cil_tmp105;
27726#line 1612
27727 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgw %2,%1": "=a" (__ret___0),
27728 "+m" (*__ptr___0): "r" (__new), "0" (__old): "memory");
27729#line 1612
27730 goto ldv_28086;
27731 case_4:
27732#line 1612
27733 __cil_tmp106 = & msg_slot;
27734#line 1612
27735 __cil_tmp107 = *__cil_tmp106;
27736#line 1612
27737 __cil_tmp108 = (unsigned long )__cil_tmp107;
27738#line 1612
27739 __cil_tmp109 = __cil_tmp108 + 16;
27740#line 1612
27741 __cil_tmp110 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp109;
27742#line 1612
27743 __ptr___1 = (u32 volatile *)__cil_tmp110;
27744#line 1612
27745 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgl %2,%1": "=a" (__ret___0),
27746 "+m" (*__ptr___1): "r" (__new), "0" (__old): "memory");
27747#line 1612
27748 goto ldv_28086;
27749 case_8:
27750#line 1612
27751 __cil_tmp111 = & msg_slot;
27752#line 1612
27753 __cil_tmp112 = *__cil_tmp111;
27754#line 1612
27755 __cil_tmp113 = (unsigned long )__cil_tmp112;
27756#line 1612
27757 __cil_tmp114 = __cil_tmp113 + 16;
27758#line 1612
27759 __cil_tmp115 = (void (**)(enum xp_retval , short , int , void * ))__cil_tmp114;
27760#line 1612
27761 __ptr___2 = (u64 volatile *)__cil_tmp115;
27762#line 1612
27763 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; cmpxchgq %2,%1": "=a" (__ret___0),
27764 "+m" (*__ptr___2): "r" (__new), "0" (__old): "memory");
27765#line 1612
27766 goto ldv_28086;
27767 switch_default:
27768 {
27769#line 1612
27770 __cmpxchg_wrong_size();
27771 }
27772 } else {
27773 switch_break: ;
27774 }
27775 }
27776 }
27777 ldv_28086: ;
27778 {
27779#line 1612
27780 __cil_tmp116 = (unsigned long )func;
27781#line 1612
27782 __cil_tmp117 = (unsigned long )__ret___0;
27783#line 1612
27784 if (__cil_tmp117 != __cil_tmp116) {
27785#line 1613
27786 ret = (enum xp_retval )0;
27787#line 1614
27788 goto out_1;
27789 } else {
27790
27791 }
27792 }
27793 {
27794#line 1617
27795 __cil_tmp118 = & msg_slot;
27796#line 1617
27797 __cil_tmp119 = *__cil_tmp118;
27798#line 1617
27799 __cil_tmp120 = (unsigned long )__cil_tmp119;
27800#line 1617
27801 __cil_tmp121 = __cil_tmp120 + 24;
27802#line 1617
27803 *((void **)__cil_tmp121) = (void *)0;
27804#line 1618
27805 __cil_tmp122 = (unsigned long )ch;
27806#line 1618
27807 __cil_tmp123 = __cil_tmp122 + 204;
27808#line 1618
27809 __cil_tmp124 = (atomic_t *)__cil_tmp123;
27810#line 1618
27811 atomic_dec(__cil_tmp124);
27812 }
27813 } else {
27814
27815 }
27816 }
27817 {
27818#line 1620
27819 __cil_tmp125 = & msg_slot;
27820#line 1620
27821 __cil_tmp126 = *__cil_tmp125;
27822#line 1620
27823 xpc_free_msg_slot_uv(ch, __cil_tmp126);
27824 }
27825 out_1:
27826 {
27827#line 1622
27828 xpc_msgqueue_deref(ch);
27829 }
27830#line 1623
27831 return (ret);
27832}
27833}
27834#line 1634 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
27835static void xpc_notify_senders_of_disconnect_uv(struct xpc_channel *ch )
27836{ struct xpc_send_msg_slot_uv *msg_slot ;
27837 int entry ;
27838 int tmp ;
27839 unsigned long __cil_tmp5 ;
27840 unsigned long __cil_tmp6 ;
27841 atomic_t *__cil_tmp7 ;
27842 atomic_t *__cil_tmp8 ;
27843 unsigned long __cil_tmp9 ;
27844 unsigned long __cil_tmp10 ;
27845 unsigned long __cil_tmp11 ;
27846 unsigned long __cil_tmp12 ;
27847 unsigned long __cil_tmp13 ;
27848 struct xpc_send_msg_slot_uv *__cil_tmp14 ;
27849 void (*__cil_tmp15)(enum xp_retval , short , int , void * ) ;
27850 unsigned long __cil_tmp16 ;
27851 unsigned long __cil_tmp17 ;
27852 unsigned long __cil_tmp18 ;
27853 void (*__cil_tmp19)(enum xp_retval , short , int , void * ) ;
27854 unsigned long __cil_tmp20 ;
27855 unsigned long __cil_tmp21 ;
27856 unsigned long __cil_tmp22 ;
27857 enum xp_retval __cil_tmp23 ;
27858 unsigned long __cil_tmp24 ;
27859 unsigned long __cil_tmp25 ;
27860 u16 __cil_tmp26 ;
27861 int __cil_tmp27 ;
27862
27863 {
27864#line 1641
27865 entry = 0;
27866#line 1641
27867 goto ldv_28102;
27868 ldv_28101:
27869 {
27870#line 1643
27871 __cil_tmp5 = (unsigned long )ch;
27872#line 1643
27873 __cil_tmp6 = __cil_tmp5 + 204;
27874#line 1643
27875 __cil_tmp7 = (atomic_t *)__cil_tmp6;
27876#line 1643
27877 __cil_tmp8 = (atomic_t *)__cil_tmp7;
27878#line 1643
27879 tmp = atomic_read(__cil_tmp8);
27880 }
27881#line 1643
27882 if (tmp == 0) {
27883#line 1644
27884 goto ldv_28100;
27885 } else {
27886
27887 }
27888#line 1646
27889 __cil_tmp9 = (unsigned long )entry;
27890#line 1646
27891 __cil_tmp10 = 0 + 8;
27892#line 1646
27893 __cil_tmp11 = 432 + __cil_tmp10;
27894#line 1646
27895 __cil_tmp12 = (unsigned long )ch;
27896#line 1646
27897 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
27898#line 1646
27899 __cil_tmp14 = *((struct xpc_send_msg_slot_uv **)__cil_tmp13);
27900#line 1646
27901 msg_slot = __cil_tmp14 + __cil_tmp9;
27902 {
27903#line 1647
27904 __cil_tmp15 = (void (*)(enum xp_retval , short , int , void * ))0;
27905#line 1647
27906 __cil_tmp16 = (unsigned long )__cil_tmp15;
27907#line 1647
27908 __cil_tmp17 = (unsigned long )msg_slot;
27909#line 1647
27910 __cil_tmp18 = __cil_tmp17 + 16;
27911#line 1647
27912 __cil_tmp19 = *((void (**)(enum xp_retval , short , int , void * ))__cil_tmp18);
27913#line 1647
27914 __cil_tmp20 = (unsigned long )__cil_tmp19;
27915#line 1647
27916 if (__cil_tmp20 != __cil_tmp16) {
27917 {
27918#line 1648
27919 __cil_tmp21 = (unsigned long )ch;
27920#line 1648
27921 __cil_tmp22 = __cil_tmp21 + 84;
27922#line 1648
27923 __cil_tmp23 = *((enum xp_retval *)__cil_tmp22);
27924#line 1648
27925 xpc_notify_sender_uv(ch, msg_slot, __cil_tmp23);
27926 }
27927 } else {
27928
27929 }
27930 }
27931#line 1641
27932 entry = entry + 1;
27933 ldv_28102: ;
27934 {
27935#line 1641
27936 __cil_tmp24 = (unsigned long )ch;
27937#line 1641
27938 __cil_tmp25 = __cil_tmp24 + 96;
27939#line 1641
27940 __cil_tmp26 = *((u16 *)__cil_tmp25);
27941#line 1641
27942 __cil_tmp27 = (int )__cil_tmp26;
27943#line 1641
27944 if (__cil_tmp27 > entry) {
27945#line 1642
27946 goto ldv_28101;
27947 } else {
27948#line 1644
27949 goto ldv_28100;
27950 }
27951 }
27952 ldv_28100: ;
27953#line 1646
27954 return;
27955}
27956}
27957#line 1656 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
27958static void *xpc_get_deliverable_payload_uv(struct xpc_channel *ch )
27959{ struct xpc_fifo_entry_uv *entry ;
27960 struct xpc_notify_mq_msg_uv *msg ;
27961 void *payload ;
27962 void *tmp ;
27963 struct xpc_fifo_entry_uv *__mptr ;
27964 unsigned long __cil_tmp7 ;
27965 unsigned long __cil_tmp8 ;
27966 unsigned int __cil_tmp9 ;
27967 unsigned int __cil_tmp10 ;
27968 unsigned long __cil_tmp11 ;
27969 unsigned long __cil_tmp12 ;
27970 unsigned long __cil_tmp13 ;
27971 unsigned long __cil_tmp14 ;
27972 struct xpc_fifo_head_uv *__cil_tmp15 ;
27973 struct xpc_fifo_entry_uv *__cil_tmp16 ;
27974 unsigned long __cil_tmp17 ;
27975 unsigned long __cil_tmp18 ;
27976 unsigned long __cil_tmp19 ;
27977 unsigned long __cil_tmp20 ;
27978 unsigned long *__cil_tmp21 ;
27979
27980 {
27981#line 1660
27982 payload = (void *)0;
27983 {
27984#line 1662
27985 __cil_tmp7 = (unsigned long )ch;
27986#line 1662
27987 __cil_tmp8 = __cil_tmp7 + 80;
27988#line 1662
27989 __cil_tmp9 = *((unsigned int *)__cil_tmp8);
27990#line 1662
27991 __cil_tmp10 = __cil_tmp9 & 131072U;
27992#line 1662
27993 if (__cil_tmp10 == 0U) {
27994 {
27995#line 1663
27996 __cil_tmp11 = 0 + 120;
27997#line 1663
27998 __cil_tmp12 = 432 + __cil_tmp11;
27999#line 1663
28000 __cil_tmp13 = (unsigned long )ch;
28001#line 1663
28002 __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
28003#line 1663
28004 __cil_tmp15 = (struct xpc_fifo_head_uv *)__cil_tmp14;
28005#line 1663
28006 tmp = xpc_get_fifo_entry_uv(__cil_tmp15);
28007#line 1663
28008 entry = (struct xpc_fifo_entry_uv *)tmp;
28009 }
28010 {
28011#line 1664
28012 __cil_tmp16 = (struct xpc_fifo_entry_uv *)0;
28013#line 1664
28014 __cil_tmp17 = (unsigned long )__cil_tmp16;
28015#line 1664
28016 __cil_tmp18 = (unsigned long )entry;
28017#line 1664
28018 if (__cil_tmp18 != __cil_tmp17) {
28019#line 1665
28020 __mptr = (struct xpc_fifo_entry_uv *)entry;
28021#line 1665
28022 msg = (struct xpc_notify_mq_msg_uv *)__mptr;
28023#line 1667
28024 __cil_tmp19 = (unsigned long )msg;
28025#line 1667
28026 __cil_tmp20 = __cil_tmp19 + 16;
28027#line 1667
28028 __cil_tmp21 = (unsigned long *)__cil_tmp20;
28029#line 1667
28030 payload = (void *)__cil_tmp21;
28031 } else {
28032
28033 }
28034 }
28035 } else {
28036
28037 }
28038 }
28039#line 1670
28040 return (payload);
28041}
28042}
28043#line 1674 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
28044static void xpc_received_payload_uv(struct xpc_channel *ch , void *payload )
28045{ struct xpc_notify_mq_msg_uv *msg ;
28046 enum xp_retval ret ;
28047 unsigned long *__mptr ;
28048 struct xpc_notify_mq_msg_uv *__cil_tmp6 ;
28049 unsigned long __cil_tmp7 ;
28050 unsigned long __cil_tmp8 ;
28051 unsigned long __cil_tmp9 ;
28052 unsigned long __cil_tmp10 ;
28053 unsigned long __cil_tmp11 ;
28054 unsigned long __cil_tmp12 ;
28055 unsigned long __cil_tmp13 ;
28056 unsigned long __cil_tmp14 ;
28057 void *__cil_tmp15 ;
28058 struct gru_message_queue_desc *__cil_tmp16 ;
28059 void *__cil_tmp17 ;
28060 unsigned int __cil_tmp18 ;
28061 int __cil_tmp19 ;
28062 short __cil_tmp20 ;
28063 unsigned long __cil_tmp21 ;
28064 struct xpc_partition *__cil_tmp22 ;
28065
28066 {
28067 {
28068#line 1679
28069 __mptr = (unsigned long *)payload;
28070#line 1679
28071 __cil_tmp6 = (struct xpc_notify_mq_msg_uv *)__mptr;
28072#line 1679
28073 msg = __cil_tmp6 + 0xfffffffffffffff0UL;
28074#line 1683
28075 __cil_tmp7 = 0 + 8;
28076#line 1683
28077 __cil_tmp8 = (unsigned long )msg;
28078#line 1683
28079 __cil_tmp9 = __cil_tmp8 + __cil_tmp7;
28080#line 1683
28081 *((short *)__cil_tmp9) = xp_partition_id;
28082#line 1684
28083 __cil_tmp10 = 0 + 11;
28084#line 1684
28085 __cil_tmp11 = (unsigned long )msg;
28086#line 1684
28087 __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
28088#line 1684
28089 *((u8 *)__cil_tmp12) = (u8 )0U;
28090#line 1686
28091 __cil_tmp13 = (unsigned long )ch;
28092#line 1686
28093 __cil_tmp14 = __cil_tmp13 + 432;
28094#line 1686
28095 __cil_tmp15 = *((void **)__cil_tmp14);
28096#line 1686
28097 __cil_tmp16 = (struct gru_message_queue_desc *)__cil_tmp15;
28098#line 1686
28099 __cil_tmp17 = (void *)msg;
28100#line 1686
28101 ret = xpc_send_gru_msg(__cil_tmp16, __cil_tmp17, 16UL);
28102 }
28103 {
28104#line 1688
28105 __cil_tmp18 = (unsigned int )ret;
28106#line 1688
28107 if (__cil_tmp18 != 0U) {
28108 {
28109#line 1689
28110 __cil_tmp19 = (int )1689;
28111#line 1689
28112 __cil_tmp20 = *((short *)ch);
28113#line 1689
28114 __cil_tmp21 = (unsigned long )__cil_tmp20;
28115#line 1689
28116 __cil_tmp22 = xpc_partitions + __cil_tmp21;
28117#line 1689
28118 xpc_deactivate_partition(__cil_tmp19, __cil_tmp22, ret);
28119 }
28120 } else {
28121
28122 }
28123 }
28124#line 1690
28125 return;
28126}
28127}
28128#line 1692 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
28129static struct xpc_arch_operations xpc_arch_ops_uv =
28130#line 1692
28131 {& xpc_setup_partitions_uv, & xpc_teardown_partitions_uv, & xpc_process_activate_IRQ_rcvd_uv,
28132 & xpc_get_partition_rsvd_page_pa_uv, & xpc_setup_rsvd_page_uv, & xpc_allow_hb_uv,
28133 & xpc_disallow_hb_uv, & xpc_disallow_all_hbs_uv, & xpc_increment_heartbeat_uv,
28134 & xpc_offline_heartbeat_uv, & xpc_online_heartbeat_uv, & xpc_heartbeat_init_uv,
28135 & xpc_heartbeat_exit_uv, & xpc_get_remote_heartbeat_uv, & xpc_request_partition_activation_uv,
28136 & xpc_request_partition_reactivation_uv, & xpc_request_partition_deactivation_uv,
28137 & xpc_cancel_partition_deactivation_request_uv, & xpc_setup_ch_structures_uv,
28138 & xpc_teardown_ch_structures_uv, & xpc_make_first_contact_uv, & xpc_get_chctl_all_flags_uv,
28139 & xpc_send_chctl_closerequest_uv, & xpc_send_chctl_closereply_uv, & xpc_send_chctl_openrequest_uv,
28140 & xpc_send_chctl_openreply_uv, & xpc_send_chctl_opencomplete_uv, & xpc_process_msg_chctl_flags_uv,
28141 & xpc_save_remote_msgqueue_pa_uv, & xpc_setup_msg_structures_uv, & xpc_teardown_msg_structures_uv,
28142 & xpc_indicate_partition_engaged_uv, & xpc_indicate_partition_disengaged_uv, & xpc_assume_partition_disengaged_uv,
28143 & xpc_partition_engaged_uv, & xpc_any_partition_engaged_uv, & xpc_n_of_deliverable_payloads_uv,
28144 & xpc_send_payload_uv, & xpc_get_deliverable_payload_uv, & xpc_received_payload_uv,
28145 & xpc_notify_senders_of_disconnect_uv};
28146#line 1750 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
28147int xpc_init_uv(void)
28148{ long tmp ;
28149 long tmp___0 ;
28150 long tmp___1 ;
28151 long tmp___2 ;
28152 char *__cil_tmp5 ;
28153 void *__cil_tmp6 ;
28154 void *__cil_tmp7 ;
28155 char *__cil_tmp8 ;
28156 void *__cil_tmp9 ;
28157 void *__cil_tmp10 ;
28158
28159 {
28160 {
28161#line 1752
28162 xpc_arch_ops = xpc_arch_ops_uv;
28163#line 1760
28164 __cil_tmp5 = (char *)"xpc_activate";
28165#line 1760
28166 xpc_activate_mq_uv = xpc_create_gru_mq_uv(65536U, 0, __cil_tmp5, & xpc_handle_activate_IRQ_uv);
28167#line 1763
28168 __cil_tmp6 = (void *)xpc_activate_mq_uv;
28169#line 1763
28170 tmp___0 = IS_ERR(__cil_tmp6);
28171 }
28172#line 1763
28173 if (tmp___0 != 0L) {
28174 {
28175#line 1764
28176 __cil_tmp7 = (void *)xpc_activate_mq_uv;
28177#line 1764
28178 tmp = PTR_ERR(__cil_tmp7);
28179 }
28180#line 1764
28181 return ((int )tmp);
28182 } else {
28183
28184 }
28185 {
28186#line 1766
28187 __cil_tmp8 = (char *)"xpc_notify";
28188#line 1766
28189 xpc_notify_mq_uv = xpc_create_gru_mq_uv(131072U, 0, __cil_tmp8, & xpc_handle_notify_IRQ_uv);
28190#line 1769
28191 __cil_tmp9 = (void *)xpc_notify_mq_uv;
28192#line 1769
28193 tmp___2 = IS_ERR(__cil_tmp9);
28194 }
28195#line 1769
28196 if (tmp___2 != 0L) {
28197 {
28198#line 1770
28199 xpc_destroy_gru_mq_uv(xpc_activate_mq_uv);
28200#line 1771
28201 __cil_tmp10 = (void *)xpc_notify_mq_uv;
28202#line 1771
28203 tmp___1 = PTR_ERR(__cil_tmp10);
28204 }
28205#line 1771
28206 return ((int )tmp___1);
28207 } else {
28208
28209 }
28210#line 1774
28211 return (0);
28212}
28213}
28214#line 1778 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
28215void xpc_exit_uv(void)
28216{
28217
28218 {
28219 {
28220#line 1780
28221 xpc_destroy_gru_mq_uv(xpc_notify_mq_uv);
28222#line 1781
28223 xpc_destroy_gru_mq_uv(xpc_activate_mq_uv);
28224 }
28225#line 1782
28226 return;
28227}
28228}
28229#line 1815 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/12523/dscv_tempdir/dscv/ri/43_1a/drivers/misc/sgi-xp/xpc_uv.c.p"
28230void main(void)
28231{ void *var_xpc_get_partition_rsvd_page_pa_uv_17_p0 ;
28232 u64 *var_xpc_get_partition_rsvd_page_pa_uv_17_p1 ;
28233 unsigned long *var_xpc_get_partition_rsvd_page_pa_uv_17_p2 ;
28234 size_t *var_xpc_get_partition_rsvd_page_pa_uv_17_p3 ;
28235 struct xpc_rsvd_page *var_group1 ;
28236 short var_xpc_allow_hb_uv_19_p0 ;
28237 short var_xpc_disallow_hb_uv_20_p0 ;
28238 struct xpc_partition *var_group2 ;
28239 unsigned long var_xpc_request_partition_activation_uv_28_p1 ;
28240 int var_xpc_request_partition_activation_uv_28_p2 ;
28241 struct xpc_channel *var_group3 ;
28242 unsigned long *var_xpc_send_chctl_closerequest_uv_44_p1 ;
28243 unsigned long *var_xpc_send_chctl_closereply_uv_45_p1 ;
28244 unsigned long *var_xpc_send_chctl_openrequest_uv_46_p1 ;
28245 unsigned long *var_xpc_send_chctl_openreply_uv_47_p1 ;
28246 unsigned long *var_xpc_send_chctl_opencomplete_uv_48_p1 ;
28247 int var_xpc_process_msg_chctl_flags_uv_63_p1 ;
28248 unsigned long var_xpc_save_remote_msgqueue_pa_uv_50_p1 ;
28249 short var_xpc_assume_partition_disengaged_uv_53_p0 ;
28250 short var_xpc_partition_engaged_uv_54_p0 ;
28251 u32 var_xpc_send_payload_uv_64_p1 ;
28252 void *var_xpc_send_payload_uv_64_p2 ;
28253 u16 var_xpc_send_payload_uv_64_p3 ;
28254 u8 var_xpc_send_payload_uv_64_p4 ;
28255 void (*var_xpc_send_payload_uv_64_p5)(enum xp_retval , short , int , void * ) ;
28256 void *var_xpc_send_payload_uv_64_p6 ;
28257 void *var_xpc_received_payload_uv_67_p1 ;
28258 int var_xpc_handle_activate_IRQ_uv_11_p0 ;
28259 void *var_xpc_handle_activate_IRQ_uv_11_p1 ;
28260 int var_xpc_handle_notify_IRQ_uv_61_p0 ;
28261 void *var_xpc_handle_notify_IRQ_uv_61_p1 ;
28262 int tmp ;
28263 int tmp___0 ;
28264 int __cil_tmp34 ;
28265 short __cil_tmp35 ;
28266 int __cil_tmp36 ;
28267 short __cil_tmp37 ;
28268 int __cil_tmp38 ;
28269 short __cil_tmp39 ;
28270 int __cil_tmp40 ;
28271 short __cil_tmp41 ;
28272 int __cil_tmp42 ;
28273 u16 __cil_tmp43 ;
28274 int __cil_tmp44 ;
28275 u8 __cil_tmp45 ;
28276
28277 {
28278 {
28279#line 3659
28280 LDV_IN_INTERRUPT = 1;
28281#line 3668
28282 ldv_initialize();
28283 }
28284#line 3674
28285 goto ldv_28215;
28286 ldv_28214:
28287 {
28288#line 3677
28289 tmp = __VERIFIER_nondet_int();
28290 }
28291#line 3679
28292 if (tmp == 0) {
28293#line 3679
28294 goto case_0;
28295 } else
28296#line 3736
28297 if (tmp == 1) {
28298#line 3736
28299 goto case_1;
28300 } else
28301#line 3793
28302 if (tmp == 2) {
28303#line 3793
28304 goto case_2;
28305 } else
28306#line 3850
28307 if (tmp == 3) {
28308#line 3850
28309 goto case_3;
28310 } else
28311#line 3900
28312 if (tmp == 4) {
28313#line 3900
28314 goto case_4;
28315 } else
28316#line 3955
28317 if (tmp == 5) {
28318#line 3955
28319 goto case_5;
28320 } else
28321#line 4010
28322 if (tmp == 6) {
28323#line 4010
28324 goto case_6;
28325 } else
28326#line 4065
28327 if (tmp == 7) {
28328#line 4065
28329 goto case_7;
28330 } else
28331#line 4120
28332 if (tmp == 8) {
28333#line 4120
28334 goto case_8;
28335 } else
28336#line 4175
28337 if (tmp == 9) {
28338#line 4175
28339 goto case_9;
28340 } else
28341#line 4230
28342 if (tmp == 10) {
28343#line 4230
28344 goto case_10;
28345 } else
28346#line 4285
28347 if (tmp == 11) {
28348#line 4285
28349 goto case_11;
28350 } else
28351#line 4340
28352 if (tmp == 12) {
28353#line 4340
28354 goto case_12;
28355 } else
28356#line 4395
28357 if (tmp == 13) {
28358#line 4395
28359 goto case_13;
28360 } else
28361#line 4450
28362 if (tmp == 14) {
28363#line 4450
28364 goto case_14;
28365 } else
28366#line 4505
28367 if (tmp == 15) {
28368#line 4505
28369 goto case_15;
28370 } else
28371#line 4560
28372 if (tmp == 16) {
28373#line 4560
28374 goto case_16;
28375 } else
28376#line 4615
28377 if (tmp == 17) {
28378#line 4615
28379 goto case_17;
28380 } else
28381#line 4670
28382 if (tmp == 18) {
28383#line 4670
28384 goto case_18;
28385 } else
28386#line 4725
28387 if (tmp == 19) {
28388#line 4725
28389 goto case_19;
28390 } else
28391#line 4780
28392 if (tmp == 20) {
28393#line 4780
28394 goto case_20;
28395 } else
28396#line 4835
28397 if (tmp == 21) {
28398#line 4835
28399 goto case_21;
28400 } else
28401#line 4890
28402 if (tmp == 22) {
28403#line 4890
28404 goto case_22;
28405 } else
28406#line 4945
28407 if (tmp == 23) {
28408#line 4945
28409 goto case_23;
28410 } else
28411#line 5000
28412 if (tmp == 24) {
28413#line 5000
28414 goto case_24;
28415 } else
28416#line 5055
28417 if (tmp == 25) {
28418#line 5055
28419 goto case_25;
28420 } else
28421#line 5110
28422 if (tmp == 26) {
28423#line 5110
28424 goto case_26;
28425 } else
28426#line 5165
28427 if (tmp == 27) {
28428#line 5165
28429 goto case_27;
28430 } else
28431#line 5220
28432 if (tmp == 28) {
28433#line 5220
28434 goto case_28;
28435 } else
28436#line 5275
28437 if (tmp == 29) {
28438#line 5275
28439 goto case_29;
28440 } else
28441#line 5330
28442 if (tmp == 30) {
28443#line 5330
28444 goto case_30;
28445 } else
28446#line 5385
28447 if (tmp == 31) {
28448#line 5385
28449 goto case_31;
28450 } else
28451#line 5440
28452 if (tmp == 32) {
28453#line 5440
28454 goto case_32;
28455 } else
28456#line 5495
28457 if (tmp == 33) {
28458#line 5495
28459 goto case_33;
28460 } else
28461#line 5550
28462 if (tmp == 34) {
28463#line 5550
28464 goto case_34;
28465 } else
28466#line 5605
28467 if (tmp == 35) {
28468#line 5605
28469 goto case_35;
28470 } else
28471#line 5660
28472 if (tmp == 36) {
28473#line 5660
28474 goto case_36;
28475 } else
28476#line 5715
28477 if (tmp == 37) {
28478#line 5715
28479 goto case_37;
28480 } else
28481#line 5770
28482 if (tmp == 38) {
28483#line 5770
28484 goto case_38;
28485 } else
28486#line 5825
28487 if (tmp == 39) {
28488#line 5825
28489 goto case_39;
28490 } else
28491#line 5880
28492 if (tmp == 40) {
28493#line 5880
28494 goto case_40;
28495 } else
28496#line 5935
28497 if (tmp == 41) {
28498#line 5935
28499 goto case_41;
28500 } else
28501#line 5992
28502 if (tmp == 42) {
28503#line 5992
28504 goto case_42;
28505 } else {
28506 {
28507#line 6047
28508 goto switch_default;
28509#line 3677
28510 if (0) {
28511 case_0:
28512 {
28513#line 3701
28514 xpc_setup_partitions_uv();
28515 }
28516#line 3735
28517 goto ldv_28170;
28518 case_1:
28519 {
28520#line 3758
28521 xpc_teardown_partitions_uv();
28522 }
28523#line 3792
28524 goto ldv_28170;
28525 case_2:
28526 {
28527#line 3835
28528 xpc_process_activate_IRQ_rcvd_uv();
28529 }
28530#line 3849
28531 goto ldv_28170;
28532 case_3:
28533 {
28534#line 3892
28535 xpc_get_partition_rsvd_page_pa_uv(var_xpc_get_partition_rsvd_page_pa_uv_17_p0,
28536 var_xpc_get_partition_rsvd_page_pa_uv_17_p1,
28537 var_xpc_get_partition_rsvd_page_pa_uv_17_p2,
28538 var_xpc_get_partition_rsvd_page_pa_uv_17_p3);
28539 }
28540#line 3899
28541 goto ldv_28170;
28542 case_4:
28543 {
28544#line 3947
28545 xpc_setup_rsvd_page_uv(var_group1);
28546 }
28547#line 3954
28548 goto ldv_28170;
28549 case_5:
28550 {
28551#line 4002
28552 __cil_tmp34 = (int )var_xpc_allow_hb_uv_19_p0;
28553#line 4002
28554 __cil_tmp35 = (short )__cil_tmp34;
28555#line 4002
28556 xpc_allow_hb_uv(__cil_tmp35);
28557 }
28558#line 4009
28559 goto ldv_28170;
28560 case_6:
28561 {
28562#line 4057
28563 __cil_tmp36 = (int )var_xpc_disallow_hb_uv_20_p0;
28564#line 4057
28565 __cil_tmp37 = (short )__cil_tmp36;
28566#line 4057
28567 xpc_disallow_hb_uv(__cil_tmp37);
28568 }
28569#line 4064
28570 goto ldv_28170;
28571 case_7:
28572 {
28573#line 4112
28574 xpc_disallow_all_hbs_uv();
28575 }
28576#line 4119
28577 goto ldv_28170;
28578 case_8:
28579 {
28580#line 4167
28581 xpc_increment_heartbeat_uv();
28582 }
28583#line 4174
28584 goto ldv_28170;
28585 case_9:
28586 {
28587#line 4222
28588 xpc_offline_heartbeat_uv();
28589 }
28590#line 4229
28591 goto ldv_28170;
28592 case_10:
28593 {
28594#line 4277
28595 xpc_online_heartbeat_uv();
28596 }
28597#line 4284
28598 goto ldv_28170;
28599 case_11:
28600 {
28601#line 4332
28602 xpc_heartbeat_init_uv();
28603 }
28604#line 4339
28605 goto ldv_28170;
28606 case_12:
28607 {
28608#line 4387
28609 xpc_heartbeat_exit_uv();
28610 }
28611#line 4394
28612 goto ldv_28170;
28613 case_13:
28614 {
28615#line 4442
28616 xpc_get_remote_heartbeat_uv(var_group2);
28617 }
28618#line 4449
28619 goto ldv_28170;
28620 case_14:
28621 {
28622#line 4497
28623 xpc_request_partition_activation_uv(var_group1, var_xpc_request_partition_activation_uv_28_p1,
28624 var_xpc_request_partition_activation_uv_28_p2);
28625 }
28626#line 4504
28627 goto ldv_28170;
28628 case_15:
28629 {
28630#line 4552
28631 xpc_request_partition_reactivation_uv(var_group2);
28632 }
28633#line 4559
28634 goto ldv_28170;
28635 case_16:
28636 {
28637#line 4607
28638 xpc_request_partition_deactivation_uv(var_group2);
28639 }
28640#line 4614
28641 goto ldv_28170;
28642 case_17:
28643 {
28644#line 4662
28645 xpc_cancel_partition_deactivation_request_uv(var_group2);
28646 }
28647#line 4669
28648 goto ldv_28170;
28649 case_18:
28650 {
28651#line 4717
28652 xpc_setup_ch_structures_uv(var_group2);
28653 }
28654#line 4724
28655 goto ldv_28170;
28656 case_19:
28657 {
28658#line 4772
28659 xpc_teardown_ch_structures_uv(var_group2);
28660 }
28661#line 4779
28662 goto ldv_28170;
28663 case_20:
28664 {
28665#line 4827
28666 xpc_make_first_contact_uv(var_group2);
28667 }
28668#line 4834
28669 goto ldv_28170;
28670 case_21:
28671 {
28672#line 4882
28673 xpc_get_chctl_all_flags_uv(var_group2);
28674 }
28675#line 4889
28676 goto ldv_28170;
28677 case_22:
28678 {
28679#line 4937
28680 xpc_send_chctl_closerequest_uv(var_group3, var_xpc_send_chctl_closerequest_uv_44_p1);
28681 }
28682#line 4944
28683 goto ldv_28170;
28684 case_23:
28685 {
28686#line 4992
28687 xpc_send_chctl_closereply_uv(var_group3, var_xpc_send_chctl_closereply_uv_45_p1);
28688 }
28689#line 4999
28690 goto ldv_28170;
28691 case_24:
28692 {
28693#line 5047
28694 xpc_send_chctl_openrequest_uv(var_group3, var_xpc_send_chctl_openrequest_uv_46_p1);
28695 }
28696#line 5054
28697 goto ldv_28170;
28698 case_25:
28699 {
28700#line 5102
28701 xpc_send_chctl_openreply_uv(var_group3, var_xpc_send_chctl_openreply_uv_47_p1);
28702 }
28703#line 5109
28704 goto ldv_28170;
28705 case_26:
28706 {
28707#line 5157
28708 xpc_send_chctl_opencomplete_uv(var_group3, var_xpc_send_chctl_opencomplete_uv_48_p1);
28709 }
28710#line 5164
28711 goto ldv_28170;
28712 case_27:
28713 {
28714#line 5212
28715 xpc_process_msg_chctl_flags_uv(var_group2, var_xpc_process_msg_chctl_flags_uv_63_p1);
28716 }
28717#line 5219
28718 goto ldv_28170;
28719 case_28:
28720 {
28721#line 5267
28722 xpc_save_remote_msgqueue_pa_uv(var_group3, var_xpc_save_remote_msgqueue_pa_uv_50_p1);
28723 }
28724#line 5274
28725 goto ldv_28170;
28726 case_29:
28727 {
28728#line 5322
28729 xpc_setup_msg_structures_uv(var_group3);
28730 }
28731#line 5329
28732 goto ldv_28170;
28733 case_30:
28734 {
28735#line 5377
28736 xpc_teardown_msg_structures_uv(var_group3);
28737 }
28738#line 5384
28739 goto ldv_28170;
28740 case_31:
28741 {
28742#line 5432
28743 xpc_indicate_partition_engaged_uv(var_group2);
28744 }
28745#line 5439
28746 goto ldv_28170;
28747 case_32:
28748 {
28749#line 5487
28750 xpc_indicate_partition_disengaged_uv(var_group2);
28751 }
28752#line 5494
28753 goto ldv_28170;
28754 case_33:
28755 {
28756#line 5542
28757 __cil_tmp38 = (int )var_xpc_assume_partition_disengaged_uv_53_p0;
28758#line 5542
28759 __cil_tmp39 = (short )__cil_tmp38;
28760#line 5542
28761 xpc_assume_partition_disengaged_uv(__cil_tmp39);
28762 }
28763#line 5549
28764 goto ldv_28170;
28765 case_34:
28766 {
28767#line 5597
28768 __cil_tmp40 = (int )var_xpc_partition_engaged_uv_54_p0;
28769#line 5597
28770 __cil_tmp41 = (short )__cil_tmp40;
28771#line 5597
28772 xpc_partition_engaged_uv(__cil_tmp41);
28773 }
28774#line 5604
28775 goto ldv_28170;
28776 case_35:
28777 {
28778#line 5652
28779 xpc_any_partition_engaged_uv();
28780 }
28781#line 5659
28782 goto ldv_28170;
28783 case_36:
28784 {
28785#line 5707
28786 xpc_n_of_deliverable_payloads_uv(var_group3);
28787 }
28788#line 5714
28789 goto ldv_28170;
28790 case_37:
28791 {
28792#line 5762
28793 __cil_tmp42 = (int )var_xpc_send_payload_uv_64_p3;
28794#line 5762
28795 __cil_tmp43 = (u16 )__cil_tmp42;
28796#line 5762
28797 __cil_tmp44 = (int )var_xpc_send_payload_uv_64_p4;
28798#line 5762
28799 __cil_tmp45 = (u8 )__cil_tmp44;
28800#line 5762
28801 xpc_send_payload_uv(var_group3, var_xpc_send_payload_uv_64_p1, var_xpc_send_payload_uv_64_p2,
28802 __cil_tmp43, __cil_tmp45, var_xpc_send_payload_uv_64_p5,
28803 var_xpc_send_payload_uv_64_p6);
28804 }
28805#line 5769
28806 goto ldv_28170;
28807 case_38:
28808 {
28809#line 5817
28810 xpc_get_deliverable_payload_uv(var_group3);
28811 }
28812#line 5824
28813 goto ldv_28170;
28814 case_39:
28815 {
28816#line 5872
28817 xpc_received_payload_uv(var_group3, var_xpc_received_payload_uv_67_p1);
28818 }
28819#line 5879
28820 goto ldv_28170;
28821 case_40:
28822 {
28823#line 5927
28824 xpc_notify_senders_of_disconnect_uv(var_group3);
28825 }
28826#line 5934
28827 goto ldv_28170;
28828 case_41:
28829 {
28830#line 5938
28831 LDV_IN_INTERRUPT = 2;
28832#line 5977
28833 xpc_handle_activate_IRQ_uv(var_xpc_handle_activate_IRQ_uv_11_p0, var_xpc_handle_activate_IRQ_uv_11_p1);
28834#line 5985
28835 LDV_IN_INTERRUPT = 1;
28836 }
28837#line 5991
28838 goto ldv_28170;
28839 case_42:
28840 {
28841#line 5995
28842 LDV_IN_INTERRUPT = 2;
28843#line 6039
28844 xpc_handle_notify_IRQ_uv(var_xpc_handle_notify_IRQ_uv_61_p0, var_xpc_handle_notify_IRQ_uv_61_p1);
28845#line 6040
28846 LDV_IN_INTERRUPT = 1;
28847 }
28848#line 6046
28849 goto ldv_28170;
28850 switch_default: ;
28851#line 6047
28852 goto ldv_28170;
28853 } else {
28854 switch_break: ;
28855 }
28856 }
28857 }
28858 ldv_28170: ;
28859 ldv_28215:
28860 {
28861#line 3674
28862 tmp___0 = __VERIFIER_nondet_int();
28863 }
28864#line 3674
28865 if (tmp___0 != 0) {
28866#line 3675
28867 goto ldv_28214;
28868 } else {
28869#line 3677
28870 goto ldv_28216;
28871 }
28872 ldv_28216: ;
28873
28874 {
28875#line 6056
28876 ldv_check_final_state();
28877 }
28878#line 6059
28879 return;
28880}
28881}