[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1820686] [NEW] risc-v: 'c.unimp' instruction decoded a
From: |
Jonathan Behrens |
Subject: |
[Qemu-devel] [Bug 1820686] [NEW] risc-v: 'c.unimp' instruction decoded as 'c.addi4spn fp, 0' |
Date: |
Mon, 18 Mar 2019 17:23:58 -0000 |
Public bug reported:
QEMU 3.1 incorrectly decodes the "c.unimp" instruction (opcode 0x0000)
as an "addi4spn fp, 0" when either of the two following bytes are non-
zero. This is because the ctx->opcode value used when decoding the
instruction is actually filled with a 32-bit load (to handle normal
uncompressed instructions) but when a compressed instruction is found
only the low 16 bits are valid. Other reserved/illegal bit patterns with
the addi4spn opcode are also incorrectly decoded.
I believe that the switch to decodetree on master happened to fix this
issue, but hopefully it is helpful to have this recorded somewhere. I've
included a simple one line patch if anyone wants to backport this.
** Affects: qemu
Importance: Undecided
Status: New
** Patch added: "decode.patch"
https://bugs.launchpad.net/bugs/1820686/+attachment/5247338/+files/decode.patch
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1820686
Title:
risc-v: 'c.unimp' instruction decoded as 'c.addi4spn fp, 0'
Status in QEMU:
New
Bug description:
QEMU 3.1 incorrectly decodes the "c.unimp" instruction (opcode 0x0000)
as an "addi4spn fp, 0" when either of the two following bytes are non-
zero. This is because the ctx->opcode value used when decoding the
instruction is actually filled with a 32-bit load (to handle normal
uncompressed instructions) but when a compressed instruction is found
only the low 16 bits are valid. Other reserved/illegal bit patterns
with the addi4spn opcode are also incorrectly decoded.
I believe that the switch to decodetree on master happened to fix this
issue, but hopefully it is helpful to have this recorded somewhere.
I've included a simple one line patch if anyone wants to backport
this.
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1820686/+subscriptions
- [Qemu-devel] [Bug 1820686] [NEW] risc-v: 'c.unimp' instruction decoded as 'c.addi4spn fp, 0',
Jonathan Behrens <=