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