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.