From: Richard Henderson <richard.henderson@linaro.org>
To: Laurent Vivier <laurent@vivier.eu>, qemu-devel@nongnu.org
Subject: Re: [PATCH v2 12/25] target/m68k: Reject immediate as destination in gen_ea_mode
Date: Thu, 9 Mar 2023 08:27:46 -0800 [thread overview]
Message-ID: <9e6b9f5c-452b-2c0a-d9fa-9f1e100b8542@linaro.org> (raw)
In-Reply-To: <20edcf58-d5f0-4b11-06a6-7b811d30586d@vivier.eu>
On 3/9/23 04:32, Laurent Vivier wrote:
> Le 07/03/2023 à 19:34, Richard Henderson a écrit :
>> In theory this should never happen, as all such instructions
>> are illegal. This is checked in e.g. gen_lea_mode and
>> gen_ea_mode_fp but not here. In case something higher up
>> isn't checking modes properly, return NULL_QREG. This will
>> result in an illegal instruction exception being raised.
>
> NULL_QREG generates an address exception, not illegal instruction.
>
>>
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>> Cc: Laurent Vivier <laurent@vivier.eu>
>> ---
>> target/m68k/translate.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
>> index 44c3ac0bc3..fc65dad190 100644
>> --- a/target/m68k/translate.c
>> +++ b/target/m68k/translate.c
>> @@ -894,6 +894,10 @@ static TCGv gen_ea_mode(CPUM68KState *env, DisasContext *s, int
>> mode, int reg0,
>> case 3: /* pc index+displacement. */
>> goto do_indirect;
>> case 4: /* Immediate. */
>> + /* Should never be used for an output or RMW input. */
>> + if (what == EA_STORE || addrp) {
>
> Why do you check addrp?
>
> What happens for an instruction that provides addrp to SRC_EA() when it is used with
> immediate mode?
> In this case addrp is unused, but it should not trigger an exception.
Because addrp is *not* unused with SRC_EA. It is a signal for a read-modify-write operand
and addrp will be passed to DEST_EA.
r~
next prev parent reply other threads:[~2023-03-09 16:28 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-07 18:34 [PATCH v2 00/25] tcg: Remove tcg_const_* Richard Henderson
2023-03-07 18:34 ` [PATCH v2 01/25] target/arm: Use rmode >= 0 for need_rmode Richard Henderson
2023-03-07 18:34 ` [PATCH v2 02/25] target/arm: Handle FPROUNDING_ODD in arm_rmode_to_sf Richard Henderson
2023-03-08 17:25 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 03/25] target/arm: Improve arm_rmode_to_sf Richard Henderson
2023-03-07 18:34 ` [PATCH v2 04/25] target/arm: Consistently use ARMFPRounding during translation Richard Henderson
2023-03-07 18:34 ` [PATCH v2 05/25] target/arm: Create gen_set_rmode, gen_restore_rmode Richard Henderson
2023-03-09 9:48 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 06/25] target/arm: Improve trans_BFCI Richard Henderson
2023-03-07 23:05 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 07/25] target/arm: Avoid tcg_const_ptr in gen_sve_{ldr, str} Richard Henderson
2023-03-07 18:34 ` [PATCH v2 08/25] target/arm: Avoid tcg_const_* in translate-mve.c Richard Henderson
2023-03-09 13:27 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 09/25] target/arm: Avoid tcg_const_ptr in disas_simd_zip_trn Richard Henderson
2023-03-07 23:02 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 10/25] target/arm: Avoid tcg_const_ptr in handle_vec_simd_sqshrn Richard Henderson
2023-03-07 18:34 ` [PATCH v2 11/25] target/arm: Avoid tcg_const_ptr in handle_rev Richard Henderson
2023-03-07 18:34 ` [PATCH v2 12/25] target/m68k: Reject immediate as destination in gen_ea_mode Richard Henderson
2023-03-09 12:32 ` Laurent Vivier
2023-03-09 16:27 ` Richard Henderson [this message]
2023-03-07 18:34 ` [PATCH v2 13/25] target/m68k: Use tcg_constant_i32 " Richard Henderson
2023-03-07 18:34 ` [PATCH v2 14/25] target/ppc: Avoid tcg_const_i64 in do_vcntmb Richard Henderson
2023-03-07 21:42 ` Daniel Henrique Barboza
2023-03-09 10:18 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 15/25] target/ppc: Avoid tcg_const_* in vmx-impl.c.inc Richard Henderson
2023-03-07 21:42 ` Daniel Henrique Barboza
2023-03-09 9:49 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 16/25] target/ppc: Avoid tcg_const_* in xxeval Richard Henderson
2023-03-07 21:42 ` Daniel Henrique Barboza
2023-03-09 9:51 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 17/25] target/ppc: Avoid tcg_const_* in vsx-impl.c.inc Richard Henderson
2023-03-07 21:42 ` Daniel Henrique Barboza
2023-03-09 9:52 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 18/25] target/ppc: Avoid tcg_const_* in fp-impl.c.inc Richard Henderson
2023-03-07 21:43 ` Daniel Henrique Barboza
2023-03-09 9:54 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 19/25] target/ppc: Avoid tcg_const_* in power8-pmu-regs.c.inc Richard Henderson
2023-03-07 21:43 ` Daniel Henrique Barboza
2023-03-09 9:54 ` Philippe Mathieu-Daudé
2023-03-07 18:34 ` [PATCH v2 20/25] target/ppc: Rewrite trans_ADDG6S Richard Henderson
2023-03-07 21:51 ` Daniel Henrique Barboza
2023-03-07 22:34 ` Richard Henderson
2023-03-07 18:34 ` [PATCH v2 21/25] target/ppc: Fix gen_tlbsx_booke206 Richard Henderson
2023-03-07 21:44 ` Daniel Henrique Barboza
2023-03-07 18:35 ` [PATCH v2 22/25] target/ppc: Avoid tcg_const_* in translate.c Richard Henderson
2023-03-07 21:44 ` Daniel Henrique Barboza
2023-03-09 10:02 ` Philippe Mathieu-Daudé
2023-03-07 18:35 ` [PATCH v2 23/25] target/tricore: Use min/max for saturate Richard Henderson
2023-03-09 10:09 ` Philippe Mathieu-Daudé
2023-03-07 18:35 ` [PATCH v2 24/25] tcg: Drop tcg_const_*_vec Richard Henderson
2023-03-07 18:35 ` [PATCH v2 25/25] tcg: Drop tcg_const_* Richard Henderson
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=9e6b9f5c-452b-2c0a-d9fa-9f1e100b8542@linaro.org \
--to=richard.henderson@linaro.org \
--cc=laurent@vivier.eu \
--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).