Re: [PATCH 2/3] MIPS: Add full ISA emulator.

From: David Daney
Date: Thu Dec 04 2014 - 12:56:11 EST


On 12/04/2014 03:49 AM, Maciej W. Rozycki wrote:
On Wed, 3 Dec 2014, David Daney wrote:

but it doesn't support customized instructions,

GCC will never put these in the delay slot of a FPU branch, so it is not
needed.

multiple ASEs,

Same as above. But any instructions that are deemed necessary can easily be
added.

GAS will happily schedule any instruction into a branch delay slot as
long as the instruction is not architecturally forbidden there (e.g.
ERET), there is no data dependency with the branch that would affect the
result produced and the instruction is not an explicit exception trap
operation (BREAK, SYSCALL, TEQ, etc.). For some reason, unknown to me all
MT ASE instructions are disallowed too. Anything else -- free to go in!

Of course instructions can be scheduled into branch delay slots manually
too, in handcoded assembly, and that has to continue working.


It is not difficult to also emulate the trapping instructions. In order to move forward, I will implement the trapping instructions in my emulator for the next patch.

Thanks,
David Daney

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/