Page MenuHomeFreeBSD

D39334.id119639.diff
No OneTemporary

D39334.id119639.diff

diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c
--- a/sys/arm64/arm64/disassem.c
+++ b/sys/arm64/arm64/disassem.c
@@ -483,9 +483,13 @@
arm64_reg(sf, rt), arm64_reg(1, rn),
arm64_reg(option & 1, rm));
- /* Calculate amount, it's op(31:30) */
- amount = (insn >> ARM_INSN_SIZE_OFFSET) &
- ARM_INSN_SIZE_MASK;
+ if (scale == 0)
+ amount = 0;
+ else {
+ /* Calculate amount, it's op(31:30) */
+ amount = (insn >> ARM_INSN_SIZE_OFFSET) &
+ ARM_INSN_SIZE_MASK;
+ }
switch (option) {
case 0x2:
@@ -499,7 +503,7 @@
di->di_printf(", sxtw #%d", amount);
break;
case 0x7:
- di->di_printf(", sxts #%d", amount);
+ di->di_printf(", sxtx #%d", amount);
break;
default:
di->di_printf(", RSVD");

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 6, 2:46 AM (18 h, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40274451
Default Alt Text
D39334.id119639.diff (803 B)

Event Timeline