[RFC] Introduce MIPS disassembler library for barebox

Smirnov Alexander alllecs at yandex.ru
Fri Jul 31 10:26:15 PDT 2015

Hi Sascha,

24.07.2015, 11:06, "Sascha Hauer" <s.hauer at pengutronix.de>:
>  Hi Alexander,
>  On Thu, Jul 23, 2015 at 06:53:08PM +0300, Alexander Smirnov wrote:
>>   This commit imports disassembler for mips from qemu/binutils.
>>   Here is a sample disassembler output:
>>   barebox:/ disasm 0xbfc00018+0x20
>>   bfc00018: 401a6000 mfc0 k0,$12
>>   bfc0001c: 241bfffe li k1,-2
>>   bfc00020: 035bd024 and k0,k0,k1
>>   bfc00024: 409a6000 mtc0 k0,$12
>>   bfc00028: 3c09b400 lui t1,0xb400
>>   bfc0002c: 3c08df00 lui t0,0xdf00
>>   bfc00030: ad280068 sw t0,104(t1)
>>   bfc00034: 3c09bbe0 lui t1,0xbbe0
>>   TODOs:
>>     * -a option (select cpu architecture) does not work properly;
>>     * -s option (select binary file for disassembly) does not work properly .
>>   This commit demonstrate simple way for importing disassembler from qemu/binutils:
>>   disassemblers for other architectures (e.g. ARM) can be easely imported.
>  This is nice and somehow cool to be able to just disassemble some code
>  under barebox. However, it's quite a bunch of code imported from another
>  project and we'll need even more code for other architectures. This code
>  needs maintenance to stay useful, so I am not very fond of merging it.
>  What is your usecase for this? Normally I would transfer the area I'd
>  like to disassemble via tftp or whatever to a host and disassemble it
>  there, but that it something that I need very seldomly.
I carry out this work for educational purposes.
I study programming for embedded systems.
I run barebox for mips as an exercise.
Work on the disassembler will allow me to get better acquainted with the MIPS instruction set.
I'm on vacation now.
I plan to finish disassembler after the vacation ends.
Options -s and -a are not working in the current version, I plan to fix it.
If you think the disassembler pulls too much code from other projects, I'll keep the finished version in my separate branch on github.

Smirnov Alexander

More information about the barebox mailing list