On 12/12/2014 14:51, Peter Maydell wrote: > 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 :-)
I see, so updating disassemblers in QEMU using binutils implementation might not be as simple as I was assuming. > > 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... Agreed. It may have greater value than I thought. I'll leave it then. Thanks for reviewing and clarifying. Regards, Leon