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# Reset event counter 53C: resetevent: 0: 0 54W: opcodeeq: 0: 0 55 56# Set priorities 57C: schedother: 0: 0 58C: schedfifo: 1: 80 59C: schedfifo: 2: 81 60 61# T0 lock L0 62C: lock: 0: 0 63W: locked: 0: 0 64 65# T1 lock L0, no wait in the wakeup path 66C: locknowait: 1: 0 67W: blocked: 1: 0 68T: prioeq: 0: 80 69T: prioeq: 1: 80 70 71# T2 lock L0 interruptible, no wait in the wakeup path 72C: lockintnowait: 2: 0 73W: blocked: 2: 0 74T: prioeq: 0: 81 75T: prioeq: 1: 80 76 77# Interrupt T2 78C: signal: 2: 2 79W: unlocked: 2: 0 80T: prioeq: 1: 80 81T: prioeq: 0: 80 82 83T: locked: 0: 0 84T: blocked: 1: 0 85 86# T0 unlock L0 87C: unlock: 0: 0 88 89# Wait until T1 has locked L0 and exit 90W: locked: 1: 0 91W: unlocked: 0: 0 92T: priolt: 0: 1 93 94C: unlock: 1: 0 95W: unlocked: 1: 0 96