4 # Op: C(ommand)/T(est)/W(ait)
7 # | | | opcode argument
13 # opcode opcode argument
14 # schedother nice value
17 # locknowait lock nr (0-7)
18 # lockint lock nr (0-7)
19 # lockintnowait lock nr (0-7)
20 # lockcont lock nr (0-7)
21 # unlock lock nr (0-7)
22 # lockbkl lock nr (0-7)
23 # unlockbkl lock nr (0-7)
24 # signal thread to signal (0-7)
30 # opcode opcode argument
35 # nprioeq normal priority
36 # npriolt normal priority
37 # npriogt normal priority
38 # locked lock nr (0-7)
39 # blocked lock nr (0-7)
40 # blockedwake lock nr (0-7)
41 # unlocked lock nr (0-7)
43 # blockedbkl dont care
44 # unlockedbkl dont care
45 # opcodeeq command opcode or number
73 C: lockintnowait: 3: 0
85 # Wait until T0 is in the wakeup code
88 # Verify that T1 is unboosted
92 # T2 lock L1 (T0 is boosted and pending owner !)
97 # Interrupt T3 and wait until T3 returned
101 # Verify prio of T0 (still pending owner,
102 # but T2 is enqueued due to the previous boost by T3
109 # Unlock L1 and let T2 get L1
113 # Verify that T0 is unboosted
117 # Unlock everything and exit