xref: /aosp_15_r20/external/OpenCSD/decoder/tests/auto-fdo/set_strobing.sh (revision 02ca8ccacfba7e0df68f3332a95f3180334d6649)
1*02ca8ccaSAndroid Build Coastguard Worker#!/bin/bash
2*02ca8ccaSAndroid Build Coastguard Worker
3*02ca8ccaSAndroid Build Coastguard WorkerWINDOW=$1
4*02ca8ccaSAndroid Build Coastguard WorkerPERIOD=$2
5*02ca8ccaSAndroid Build Coastguard Worker
6*02ca8ccaSAndroid Build Coastguard Workerif [[ -z $WINDOW ]] || [[ -z $PERIOD ]]; then
7*02ca8ccaSAndroid Build Coastguard Worker       echo "Window or Period not specified!"
8*02ca8ccaSAndroid Build Coastguard Worker       echo "Example usage: ./set_strobing.sh <WINDOW VALUE> <PERIOD VALUE>"
9*02ca8ccaSAndroid Build Coastguard Worker       echo "Example usage: ./set_strobing.sh 5000 10000"
10*02ca8ccaSAndroid Build Coastguard Worker       exit -1
11*02ca8ccaSAndroid Build Coastguard Workerfi
12*02ca8ccaSAndroid Build Coastguard Worker
13*02ca8ccaSAndroid Build Coastguard Worker
14*02ca8ccaSAndroid Build Coastguard Workerif [[ $EUID != 0 ]]; then
15*02ca8ccaSAndroid Build Coastguard Worker    echo "Please run as root"
16*02ca8ccaSAndroid Build Coastguard Worker    exit -1
17*02ca8ccaSAndroid Build Coastguard Workerfi
18*02ca8ccaSAndroid Build Coastguard Worker
19*02ca8ccaSAndroid Build Coastguard Workerfor e in /sys/bus/coresight/devices/etm*/; do
20*02ca8ccaSAndroid Build Coastguard Worker       printf "%x" $WINDOW | tee $e/strobe_window > /dev/null
21*02ca8ccaSAndroid Build Coastguard Worker       printf "%x" $PERIOD | tee $e/strobe_period > /dev/null
22*02ca8ccaSAndroid Build Coastguard Worker       echo "Strobing period for $e set to $((`cat $e/strobe_period`))"
23*02ca8ccaSAndroid Build Coastguard Worker       echo "Strobing window for $e set to $((`cat $e/strobe_window`))"
24*02ca8ccaSAndroid Build Coastguard Workerdone
25*02ca8ccaSAndroid Build Coastguard Worker
26*02ca8ccaSAndroid Build Coastguard Worker## Shows the user a simple usage example
27*02ca8ccaSAndroid Build Coastguard Workerecho ">> Done! <<"
28*02ca8ccaSAndroid Build Coastguard Workerecho "You can now run perf to trace your application, for example:"
29*02ca8ccaSAndroid Build Coastguard Workerecho "perf record -e cs_etm/@tmc_etr0/u -- <your app>"
30