On 2/16/2015 6:46 PM, Peter Maydell wrote:
On 17 February 2015 at 08:08, Chen Gang S <gang.c...@sunrus.com.cn> wrote:
On 2/16/15 23:24, Max Filippov wrote:
Disassembler is not a crucial part of QEMU target.
For me, it is necessary. We need disassemble target binary instructions
(recognize them), then translate them into tcg instructions which are
grouped by Translate Block.
No, Max is correct. What QEMU calls the "disassembler" is just
used for debug logging: it is code that goes from target binary
instructions to printed display of assembly language instructions.
This is completely separate code from the code in target-*/translate.c
which decodes target binary instructions and emits TCG opcodes.
That code is generally called the translator or the decoder, and
it is always written from scratch specifically for QEMU. Don't
try to reuse code from binutils there.

The kernel disassembly that Chen Gang is looking at is basically just an
instruction recognizer; it doesn't even include text strings for opcodes,
for example.  But my guess is that it is exactly the right starting building
block for decoding target binary instructions.

--
Chris Metcalf, EZChip Semiconductor
http://www.ezchip.com


Reply via email to