qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Yongbok Kim <yongbok.kim@imgtec.com>
To: Aurelien Jarno <aurelien@aurel32.net>
Cc: leon.alrae@imgtec.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 06/15] target-mips: raise RI exceptions when FIR.PS = 0
Date: Wed, 24 Jun 2015 15:24:32 +0100	[thread overview]
Message-ID: <558ABDA0.2090505@imgtec.com> (raw)
In-Reply-To: <20150624122850.GC15630@aurel32.net>

On 24/06/2015 13:28, Aurelien Jarno wrote:
> On 2015-06-23 16:38, Yongbok Kim wrote:
>> 64-bit paired-single (PS) floating point data type is optional in the
>> pre-Release 6.
>> It has to raise RI exception when PS type is not implemented. (FIR.PS = 0)
>> (The PS data type is removed in the Release 6.)
>>
>> Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com>
>> Reviewed-by: Leon Alrae <leon.alrae@imgtec.com>
>> ---

> 
> This change means that the PS instructions are now enabled only when
> FCR0_PS is set, instead of being enabled when the FPU in 64-bit mode.
> Have you checked if we need to update a few CPU definitions for it to
> work? I am thinking for example about all the CPU with FCR0_F64, but
> without FCR0_PS.
> 
> Otherwise the patch looks fine to me.
> 

I just checked all the core definitions. All other cores are OK and even
the patch brought some corrections of behaviour like 24Kf shouldn't support
PS data type but it was wrongly enabled.
However Loongson-2E and Loongson-2F might be broken because of the patch.
The question is that how to allow ps data type for these Loongson cores as
in the MIPS III architecture all the those FCR0 field is reserved apart
from implementation and revision numbers.
(1) I could add few more line in check_ps() to allow Loongson according to
the Implementation and Revision numbers. (2) Otherwise updating the
reserved fields against later architectures - F64/PS/D/S. Perhaps that
would cause another problem if an application is expecting all zeroes on
the field.
What do you think?

Regards,
Yongbok

  reply	other threads:[~2015-06-24 14:24 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-23 15:38 [Qemu-devel] [PATCH v3 00/15] target-mips: add microMIPS32 R6 Instruction Set support Yongbok Kim
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 01/15] target-mips: fix {RD, WR}PGPR in microMIPS Yongbok Kim
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 02/15] target-mips: add microMIPS TLBINV, TLBINVF Yongbok Kim
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 03/15] target-mips: remove an unused argument Yongbok Kim
2015-06-23 23:35   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 04/15] target-mips: refactor {D}LSA, {D}ALIGN, {D}BITSWAP Yongbok Kim
2015-06-24 11:04   ` Aurelien Jarno
2015-06-24 12:31     ` Leon Alrae
2015-06-24 13:16       ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 05/15] target-mips: rearrange gen_compute_compact_branch Yongbok Kim
2015-06-24 11:15   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 06/15] target-mips: raise RI exceptions when FIR.PS = 0 Yongbok Kim
2015-06-24 12:28   ` Aurelien Jarno
2015-06-24 14:24     ` Yongbok Kim [this message]
2015-06-24 14:59       ` Aurelien Jarno
2015-06-24 15:24         ` Aurelien Jarno
2015-06-24 15:53           ` Yongbok Kim
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 07/15] target-mips: signal RI for removed instructions in microMIPS R6 Yongbok Kim
2015-06-24 12:32   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 08/15] target-mips: add microMIPS32 R6 opcode enum Yongbok Kim
2015-06-24 13:23   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 09/15] target-mips: microMIPS32 R6 branches and jumps Yongbok Kim
2015-06-24 13:24   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 10/15] target-mips: microMIPS32 R6 POOL32A{XF} instructions Yongbok Kim
2015-06-24 13:24   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 11/15] target-mips: microMIPS32 R6 POOL32F instructions Yongbok Kim
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 12/15] target-mips: microMIPS32 R6 POOL32{I, C} instructions Yongbok Kim
2015-06-23 16:16   ` Leon Alrae
2015-06-24 13:29   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 13/15] target-mips: microMIPS32 R6 Major instructions Yongbok Kim
2015-06-24 13:33   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 14/15] target-mips: microMIPS32 R6 POOL16{A, C} instructions Yongbok Kim
2015-06-23 16:16   ` Leon Alrae
2015-06-24 13:43   ` Aurelien Jarno
2015-06-23 15:38 ` [Qemu-devel] [PATCH v3 15/15] target-mips: add mips32r6-generic CPU definition Yongbok Kim
2015-06-24 13:44   ` Aurelien Jarno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=558ABDA0.2090505@imgtec.com \
    --to=yongbok.kim@imgtec.com \
    --cc=aurelien@aurel32.net \
    --cc=leon.alrae@imgtec.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).