And of cause, it is not the excuse to let me stop: - I shall integrate binutils disassembler firstly in my own branch for the related test and learning.
- According to binutils disassembler implementation, I shall write translate.c step by step. - After finish translate.c, I shall send related patch to qemu mailing list without binutils disassembler integration. For me, I guess, it is legal. Thanks. On 2/17/15 11:11, Chen Gang S wrote: > On 2/17/15 10:48, Chen Gang S wrote: >> On 2/17/15 08:11, Chris Metcalf wrote: >>> 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. >>> >> >> Excuse me, I am not quite familiar with the GPL license, so I guess we >> are misunderstanding with each other. >> >> - it is necessary to disassemble/decode target binary instructions. >> >> - I want to write the decoder in translate.c according to binutils/ >> kernel disassembler (also need consider about "BFD_RELOC" and >> "!__KERNEL__ && !__LIBC__"). >> >> - If I reference to binutils source code, I am not quite sure whether I >> break the license or not (is it illegal?). >> > > Originally, I really wanted to print the disassembly code, although I > knew it is optional (not necessary), just like all of you said (and > originally, I was not quite sure DISASM_ONLY, either). > > > Thanks. > -- Chen Gang Open, share, and attitude like air, water, and life which God blessed