On 12 December 2014 at 14:28, Leon Alrae <leon.al...@imgtec.com> wrote: > On 12/12/2014 12:25, Peter Maydell wrote: >> On 12 December 2014 at 09:30, Leon Alrae <leon.al...@imgtec.com> wrote: >>> The array was "used" in a block of code which has never been enabled. >>> Therefore >>> removing the array as well as 700 lines of never used code. >> >> That's quite a lot to remove -- are you sure we're never going to want >> to disassemble mips16 insns in future? > > I quickly tried to enable it but it doesn't seem to be complete. For > example it requires "extern const struct mips_opcode mips16_opcodes[]" > which isn't anywhere in the codebase. Moreover, according to the git > blame it has always been disabled since 2005 thus in my opinion there is > no point in keeping this code. I do want to disassemble mips16 insns, if > someone has proper implementation I'm more than happy to include it.
The trouble (as you may be aware) is that the obvious choice for an implementation is upstream binutils, except that is GPLv3 whereas we are stuck with the disassemblers from the last GPLv2 binutils release, for license compatibility reasons. If you (by which I mean Imagination) contributed the MIPS disassemblers to binutils in the first place then you may be able to provide QEMU with a GPLv2 version (effectively dual-licensing your own code). Ask your legal people for advice :-) Failing that, the best source for a mips16 disassembler is going to be "fix the bugs in the currently disabled code we have in the tree", in which case deleting it all would be a backwards step... thanks -- PMM