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


Reply via email to