This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [MIPS] Add new virtualization instructions
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: "Pinski\, Andrew" <Andrew dot Pinski at caviumnetworks dot com>
- Cc: "binutils\ at sourceware dot org" <binutils at sourceware dot org>, "Daney\, David" <David dot Daney at caviumnetworks dot com>, "Kapoor\, Prasun" <Prasun dot Kapoor at caviumnetworks dot com>
- Date: Fri, 10 May 2013 01:33:12 +0100
- Subject: Re: [MIPS] Add new virtualization instructions
- References: <e790fa722ba34ff097a964d1dfa06e9d at BY2PR07MB058 dot namprd07 dot prod dot outlook dot com> <87wqr81o3b dot fsf at sandifor-thinkpad dot stglab dot manchester dot uk dot ibm dot com> <98cba9069a7141f399456267fe33b95f at BY2PR07MB058 dot namprd07 dot prod dot outlook dot com>
"Pinski, Andrew" <Andrew.Pinski@caviumnetworks.com> writes:
> Sorry it took a little longer as I noticed I forgot to update the
> documentation for the new option.
Gah, so I missed both that and the MIPS_CPU_FLOAT_OPS_NONE thing :-(
Just as well you and David are on the ball.
> I had to add a new option to the disassembler to turn on disassembling
> these instructions as -mips:octeon does not turn on these
> instructions.
Sounds like a good idea. I see mips_isa is always known by this point,
which is nice...
> The main reason why I did not merge in the comment about the flags is
> because there was two comments talking about the flags which had the
> same pattern; I just copied what was done already.
Well, in that case, let's replace the whole:
/* Set MIPS ELF flags for ASEs. */
/* We may need to define a new flag for DSP ASE, and set this flag when
file_ase_dsp is true. */
/* Same for DSP R2. */
/* We may need to define a new flag for MT ASE, and set this flag when
file_ase_mt is true. */
with:
/* Set MIPS ELF flags for ASEs. Note that not all ASEs have flags
defined at present; this might need to change in future. */
> Index: gas/testsuite/gas/mips/virt64.s
> ===================================================================
> RCS file: gas/testsuite/gas/mips/virt64.s
> diff -N gas/testsuite/gas/mips/virt64.s
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ gas/testsuite/gas/mips/virt64.s 9 May 2013 22:28:23 -0000
> @@ -0,0 +1,27 @@
> + .text
> + .set noreorder
> +
> +foo:
> + dmfgc0 $3,$29
> + dmfgc0 $11,$20,5
> + dmtgc0 $23,$2
> + dmtgc0 $7,$14,2
> +
> + mfgc0 $3,$29
> + mfgc0 $11,$20,5
> + mtgc0 $23,$2
> + mtgc0 $7,$14,2
> +
> + hypcall
> + hypcall 0x256
> +
> + tlbginv
> + tlbginvf
> + tlbgp
> + tlbgr
> + tlbgwi
> + tlbgwr
> +
> +# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
> + .align 2
> + .space 8
I think this test should only include the DM[FT]GC0 instructions.
The others will be tested for mips64r2 via the "virt" test.
OK with those changes, thanks.
Richard