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# signal thread to signal (0-7) 23# reset 0 24# resetevent 0 25# 26# Tests / Wait 27# 28# opcode opcode argument 29# 30# prioeq priority 31# priolt priority 32# priogt priority 33# nprioeq normal priority 34# npriolt normal priority 35# npriogt normal priority 36# locked lock nr (0-7) 37# blocked lock nr (0-7) 38# blockedwake lock nr (0-7) 39# unlocked lock nr (0-7) 40# opcodeeq command opcode or number 41# opcodelt number 42# opcodegt number 43# eventeq number 44# eventgt number 45# eventlt number 46 47# 48# 3 threads 1 lock PI steal pending ownership 49# 50C: resetevent: 0: 0 51W: opcodeeq: 0: 0 52 53# Set schedulers 54C: schedother: 0: 0 55C: schedfifo: 1: 80 56C: schedfifo: 2: 81 57 58# T0 lock L0 59C: lock: 0: 0 60W: locked: 0: 0 61 62# T1 lock L0 63C: lock: 1: 0 64W: blocked: 1: 0 65T: prioeq: 0: 80 66 67# T0 unlock L0 68C: unlock: 0: 0 69 70# Wait until T1 is in the wakeup loop 71W: blockedwake: 1: 0 72T: priolt: 0: 1 73 74# T2 lock L0 75C: lock: 2: 0 76# T1 leave wakeup loop 77C: lockcont: 1: 0 78 79# T2 must have the lock and T1 must be blocked 80W: locked: 2: 0 81W: blocked: 1: 0 82 83# T2 unlock L0 84C: unlock: 2: 0 85 86# Wait until T1 is in the wakeup loop and let it run 87W: blockedwake: 1: 0 88C: lockcont: 1: 0 89W: locked: 1: 0 90C: unlock: 1: 0 91W: unlocked: 1: 0 92