diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2010-06-21 11:50:42 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2010-06-21 11:50:42 -0700 |
commit | 67e6fcd19533f54ca37cbe72425f55a40a7f0333 (patch) | |
tree | 51bd71957a0510d5b24d1f1e118e3b342214c8c2 /libpixelflinger/codeflinger/disassem.c | |
parent | f1792b3d125a6adefa6941d20b3f26833570ab65 (diff) | |
parent | 1adbb607d2b6a74b7871a8cecd7c5690c8c5cf6d (diff) | |
download | system_core-67e6fcd19533f54ca37cbe72425f55a40a7f0333.zip system_core-67e6fcd19533f54ca37cbe72425f55a40a7f0333.tar.gz system_core-67e6fcd19533f54ca37cbe72425f55a40a7f0333.tar.bz2 |
merge from froyo-plus-aosp
Change-Id: Ie231effb4d9dfd63aa98ec08b269c31ce32aa1c0
Diffstat (limited to 'libpixelflinger/codeflinger/disassem.c')
-rw-r--r-- | libpixelflinger/codeflinger/disassem.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libpixelflinger/codeflinger/disassem.c b/libpixelflinger/codeflinger/disassem.c index c17f3ec..aeb8034 100644 --- a/libpixelflinger/codeflinger/disassem.c +++ b/libpixelflinger/codeflinger/disassem.c @@ -81,6 +81,8 @@ * g - 2nd fp operand (register) (bits 16-18) * h - 3rd fp operand (register/immediate) (bits 0-4) * j - xtb rotate literal (bits 10-11) + * i - bfx lsb literal (bits 7-11) + * w - bfx width literal (bits 16-20) * b - branch address * t - thumb branch address (bits 24, 0-23) * k - breakpoint comment (bits 0-3, 8-19) @@ -124,6 +126,7 @@ static const struct arm32_insn arm32_i[] = { { 0x0fe000f0, 0x00a00090, "umlal", "Sdnms" }, { 0x0fe000f0, 0x00e00090, "smlal", "Sdnms" }, { 0x0fff03f0, 0x06cf0070, "uxtb16", "dmj" }, + { 0x0fe00070, 0x07e00050, "ubfx", "dmiw" }, { 0x0d700000, 0x04200000, "strt", "daW" }, { 0x0d700000, 0x04300000, "ldrt", "daW" }, { 0x0d700000, 0x04600000, "strbt", "daW" }, @@ -412,6 +415,14 @@ disasm(const disasm_interface_t *di, u_int loc, int altfmt) case 'j': di->di_printf("ror #%d", ((insn >> 10) & 3) << 3); break; + /* i - bfx lsb literal (bits 7-11) */ + case 'i': + di->di_printf("#%d", (insn >> 7) & 31); + break; + /* w - bfx width literal (bits 16-20) */ + case 'w': + di->di_printf("#%d", 1 + ((insn >> 16) & 31)); + break; /* b - branch address */ case 'b': branch = ((insn << 2) & 0x03ffffff); |