#!/bin/bash # run75g.sh - trace + record-word sweep on r680. cd /tmp/opencode rm -f /tmp/opencode/t75g-sweep.log sshpass -p ubuntu scp -o StrictHostKeyChecking=no -P 2222 /tmp/opencode/t75g.py ubuntu@127.0.0.1:/tmp/t75g.py >/dev/null 2>&1 ( sshpass -p ubuntu ssh -o StrictHostKeyChecking=no -p 2222 ubuntu@127.0.0.1 \ 'sudo bash /tmp/slotfill2.sh > /tmp/slotfill75g.log 2>&1 & sleep 0.5; timeout 400 /tmp/vk_frame 1 64 64 5 /tmp 0 > /tmp/vk_t75g.out 2>&1 & sleep 8; PID=$(pgrep -x vk_frame | head -1); echo "PID=$PID"; sudo timeout 380 gdb -q -batch -p $PID -x /tmp/t75g.py > /tmp/t75g.out 2>&1; echo GDB_DONE rc=$?' ) > /tmp/opencode/t75g-ssh.log 2>&1 & GPID=$! sleep 35 setvar() { echo "$2" | sudo tee /sys/module/vgsp/parameters/$1 >/dev/null; } mark() { echo "[$(date +%s.%N)] $*" >> /tmp/opencode/t75g-sweep.log; } # phase 1: baseline echo (client already polling) mark "baseline echo" sleep 20 # phase 2: all-zero records setvar wall2_a097_rec0 0; setvar wall2_a097_rec1 0; setvar wall2_a097_rec2 0; setvar wall2_a097_rec3 0 setvar wall2_a097_rec4 0; setvar wall2_a097_rec5 0; setvar wall2_a097_rec6 0; setvar wall2_a097_rec7 0 mark "records all zero"; sleep 20 # phase 3: progress=100 setvar wall2_a097_rec1 100 mark "rec1=100"; sleep 20 # phase 4: progress=1000 setvar wall2_a097_rec1 1000 mark "rec1=1000"; sleep 20 # phase 5: progress=100000 setvar wall2_a097_rec1 100000 mark "rec1=100000"; sleep 20 # phase 6: progress=1000000 + rec0=0 setvar wall2_a097_rec1 1000000 setvar wall2_a097_rec0 0 mark "rec1=1000000 rec0=0"; sleep 20 # phase 7: all ones setvar wall2_a097_rec0 3735928559; setvar wall2_a097_rec1 3735928559; setvar wall2_a097_rec2 3735928559; setvar wall2_a097_rec3 3735928559 mark "rec0-3=0xdeadbeef"; sleep 20 # phase 8: back to echo setvar wall2_a097_rec0 4294967295; setvar wall2_a097_rec1 4294967295; setvar wall2_a097_rec2 4294967295; setvar wall2_a097_rec3 4294967295 mark "baseline echo again" wait $GPID echo SWEEP-DONE