disasemble and & or opcode immediates as hex values
$ apf_test() { m apf_disassembler apf_run && atest apf_run_test apf_checksum_test apf_dns_test && a_test NetworkStackTests:com.android.networkstack.android.net.apf.ApfFilterTest NetworkStackTests:android.net.apf.Apf{,Generator,Standalone}Test; }
$ apf_max_test() { a_test 'NetworkStackTests:com.android.networkstack.android.net.apf.ApfFilterTest#testAllOffloadFeatureEnabled'; }
$ apf_max_disas() { adbz logcat -d -s ApfFilterTest:* | sed -rn 's@^.* ApfFilterTest: @@p' | tac | sed -rn '0,/all feature on, program/p' | tac | xargs | cut -d: -f5- | tr -d ' ' | apf_disassembler; }
sample APFv6 output:
( 2) 2232: add r0, 18
( 5) 2288: and r0, 0x3fff00ff
( 5) 2320: and r0, 0x3fff00ff
( 1) 2334: add r0, r1
( 5) 2477: and r0, 0x3fff00ff
( 1) 2494: add r0, r1
( 2) 2508: and r0, 0xfffffff0
( 5) 2558: and r0, 0x3fff00ff
( 2) 2633: add r0, -38
( 2) 2699: add r0, -62
( 2) 3146: add r0, -58
( 2) 3244: add r0, 13
Test: TreeHugger, apf_test && apf_max_test && apf_max_disas | egrep ': (add|and|or)'
Signed-off-by: Maciej Żenczykowski <[email protected]>
Change-Id: Ia540af4b774250ec47a85bf55be5f2e5976bd3e7
1 file changed