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