Commit | Line | Data |
---|---|---|
e09e518e GM |
1 | %start Map1::S0 |
2 | %class lockclass | |
3 | %header lockclass.h | |
4 | ||
5 | %map Map1 | |
6 | %% | |
7 | ||
8 | S0 | |
9 | { | |
10 | acquire_lock(lock: void *, lock_add: guint32, hardirqs_off: int,hardirq_context: int, pid: int) | |
11 | [irq_check(ctxt, lock, hardirqs_off, hardirq_context)] S0 | |
12 | {updatelock(lock, lock_add, pid, hardirqs_off, hardirq_context);warning("potential deadlock", lock);pushlock(lock);} | |
13 | acquire_lock(lock: void *, lock_add: guint32, hardirqs_off: int,hardirq_context: int, pid: int) | |
14 | Locks_acquired | |
15 | {updatelock(lock, lock_add, pid, hardirqs_off, hardirq_context);pushlock(lock);} | |
16 | free_lock(lock: void *) | |
17 | S0 | |
18 | {clearlock(lock);} | |
19 | ||
20 | Default | |
21 | S0 | |
22 | {} | |
23 | } | |
24 | Locks_acquired | |
25 | { | |
26 | acquire_lock(lock: void *, lock_add: guint32, hardirqs_off: int,hardirq_context: int, pid: int) | |
27 | [irq_check(ctxt, lock, hardirqs_off, hardirq_context)] Locks_acquired | |
28 | {updatelock(lock, lock_add, pid, hardirqs_off, hardirq_context);pushlock(lock);warning("potential deadlock", lock);} | |
29 | acquire_lock(lock: void *, lock_add: guint32, hardirqs_off: int,hardirq_context: int, pid: int) | |
30 | Locks_acquired | |
31 | {updatelock(lock, lock_add, pid, hardirqs_off, hardirq_context);pushlock(lock);} | |
32 | release_lock(lock: void *) | |
33 | [empty_stack(ctxt)] S0 | |
34 | {poplock(lock);} | |
35 | release_lock(lock: void *) | |
36 | Locks_acquired | |
37 | {poplock(lock);} | |
38 | free_lock(lock: void *) | |
39 | [lock_held(ctxt, lock)] Locks_acquired | |
40 | {warning("Lockdep attempting to free a held lock", lock);} | |
41 | free_lock(lock: void *) | |
42 | Locks_acquired | |
43 | {clearlock(lock);} | |
44 | schedule_out(pid: guint32) | |
45 | [lock_held_on_behalf(ctxt, pid)] Locks_acquired | |
46 | // {warning("process... was scheduled out when a lock is being held on its behalf", NULL);printstack(); | |
47 | // schedule_err(pid);} | |
48 | {test();} | |
49 | Default | |
50 | Locks_acquired | |
51 | {} | |
52 | } | |
53 | Potential_Deadlock | |
54 | { | |
55 | Default Potential_Deadlock {} | |
56 | } | |
57 | Error{ | |
58 | Default Error {} | |
59 | } | |
60 | %% |