diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2007-07-17 13:36:03 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-07-17 13:36:18 +0200 |
commit | 92d154b6c54f76016d36a7eb4aab6eea27737fdb (patch) | |
tree | 7176be3b0386e03948d293726ec398f7166d3d16 /drivers/s390/cio/qdio.c | |
parent | a13a9b6d983e0301692e16a169865e1feb8338c0 (diff) |
[S390] Fix disassembly of RX_URRD, SI_URD & PC-relative instructions.
The instructions with format RX_URRD and SI_URD and instructions
with a PC relative operand are not disassembled correctly.
For RX_URRD and SI_URD instructions find_insn sets opfrag to code[0].
The mask byte of these two formats is 0x00. table->opfrag will never
be identical to (opfrag & opmask) and no matching instruction will
be found. Set the mask byte to 0xff to actually check byte 0 against
the table.
For PC relative instructions the (unsigned) offset value needs to be
casted to an signed integer so that negative branch offsets are
handled correctly.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/qdio.c')
0 files changed, 0 insertions, 0 deletions