On Thu, Aug 4, 2011 at 4:22 PM, Peter Maydell <peter.mayd...@linaro.org>wrote:

> On 5 July 2011 10:19,  <kha...@kics.edu.pk> wrote:
> > ---
> >  host-utils.c            |    1 +
> >  target-mips/cpu.h       |    7 +
> >  target-mips/helper.h    |    5 +
> >  target-mips/op_helper.c |   67 +++++++
> >  target-mips/translate.c |  443
> ++++++++++++++++++++++++++++++++++++++++++++++-
> >  5 files changed, 514 insertions(+), 9 deletions(-)
>
> Don't you also need to add support for the new instructions
> to the disassembler in mips-dis.c ?
>
>

The ISA for Cavium Networks Octeon Processor consist of MIPS64r2+Cavium
specific instructions. These are 27 usermode instructions which we
implemented. some of its instructions have some conflicts with mips and
LoongSon instructions. for example Branch on bit clear/set instructions
(these are 4 instructions)  consumes major opcodes of MIPS COP2 instructions
(e.g, LWC2 etc). and V3MULU, VMM0 have same opcode and function fields as
two of Loongson 's Instructions. To detect correct instruction in
disassembling process can I add a CPU specific Flag in DisasContext so that
I can pass this to log_target_disas()/disas.c and set some of top 16 bits in
disassemble_info 's flags. On the basis of which I can pick  correct
instruction in print_insn_mips()/mips-dis.c. In future this Flag can be used
for other vendor specific instruction as well.

Please guide me in this regard. If I make a separate print function for
Cavium, this will not suitable for me as Cavium includes all instructions in
MIPS64r2 so there will be lot of repetition.

Thanks.

Reply via email to