1# 2# rt-mutex test 3# 4# Op: C(ommand)/T(est)/W(ait) 5# | opcode 6# | | threadid: 0-7 7# | | | opcode argument 8# | | | | 9# C: lock: 0: 0 10# 11# Commands 12# 13# opcode opcode argument 14# schedother nice value 15# schedfifo priority 16# lock lock nr (0-7) 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) 25# reset 0 26# resetevent 0 27# 28# Tests / Wait 29# 30# opcode opcode argument 31# 32# prioeq priority 33# priolt priority 34# priogt priority 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) 42# lockedbkl dont care 43# blockedbkl dont care 44# unlockedbkl dont care 45# opcodeeq command opcode or number 46# opcodelt number 47# opcodegt number 48# eventeq number 49# eventgt number 50# eventlt number 51 52# 53# 3 threads 1 lock PI 54# 55C: resetevent: 0: 0 56W: opcodeeq: 0: 0 57 58# Set schedulers 59C: schedfifo: 0: 80 60C: schedfifo: 1: 81 61C: schedfifo: 2: 82 62 63# T0 lock L0 64C: locknowait: 0: 0 65W: locked: 0: 0 66 67# T1 lock L0 68C: locknowait: 1: 0 69W: blocked: 1: 0 70T: prioeq: 0: 81 71 72# T2 lock L0 73C: locknowait: 2: 0 74W: blocked: 2: 0 75T: prioeq: 0: 82 76 77# T0 unlock L0 78C: unlock: 0: 0 79 80# Wait until T2 got the lock 81W: locked: 2: 0 82W: unlocked: 0: 0 83T: prioeq: 0: 80 84 85# T2 unlock L0 86C: unlock: 2: 0 87 88W: locked: 1: 0 89W: unlocked: 2: 0 90 91C: unlock: 1: 0 92W: unlocked: 1: 0 93