linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: dave.long@linaro.org (David Long)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v11 4/9] arm64: add conditional instruction simulation support
Date: Mon, 21 Mar 2016 04:35:13 -0400	[thread overview]
Message-ID: <56EFB241.80909@linaro.org> (raw)
In-Reply-To: <20160314073803.22c90d69@arm.com>

On 03/14/2016 03:38 AM, Marc Zyngier wrote:
> On Mon, 14 Mar 2016 09:34:55 +0530
> Pratyush Anand <panand@redhat.com> wrote:
>
> Hi Pratyush,
>
>> On 13/03/2016:12:09:03 PM, Marc Zyngier wrote:
>>> On Wed,  9 Mar 2016 00:32:18 -0500
>>> David Long <dave.long@linaro.org> wrote:
>>>
>>>> +pstate_check_t * const opcode_condition_checks[16] = {
>>>> +	__check_eq, __check_ne, __check_cs, __check_cc,
>>>> +	__check_mi, __check_pl, __check_vs, __check_vc,
>>>> +	__check_hi, __check_ls, __check_ge, __check_lt,
>>>> +	__check_gt, __check_le, __check_al, __check_al
>>>
>>> The very last entry seems wrong, or is at least the opposite of what
>>> the current code has. It should be something called __check_nv(), and
>>> always return false (condition code NEVER).
>>
>> May be __check_nv() name is more appropriate as per definition, but shouldn't it
>> still return true, because TRM says:
>> "The condition code NV exists only to provide a valid disassembly of the 0b1111
>> encoding, otherwise its behavior is identical to AL"
>
> Indeed, I missed that. But this interpretation is for the A64
> instruction set, and this array is also used by the new
> arm32_check_condition. The condition code table for A32 seems to
> completely ignore the 0b1111 code (there is simply no entry for it), and
> it is only in the ConditionHolds pseudocode that you can see how this
> is actually special-cased.
>
> So I'm fine leaving the code as it is, but a comment and a pointer to
> the ARMv8 ARM wouldn't go amiss.
>
> Thanks,
>
> 	M.
>

OK.

-dl

  reply	other threads:[~2016-03-21  8:35 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-09  5:32 [PATCH v11 0/9] arm64: Add kernel probes (kprobes) support David Long
2016-03-09  5:32 ` [PATCH v11 1/9] arm64: Add HAVE_REGS_AND_STACK_ACCESS_API feature David Long
2016-03-11 18:07   ` James Morse
2016-03-18 13:06     ` David Long
2016-03-15 11:04   ` Marc Zyngier
2016-03-21  7:08     ` David Long
2016-03-09  5:32 ` [PATCH v11 2/9] arm64: Add more test functions to insn.c David Long
2016-03-09  5:32 ` [PATCH v11 3/9] arm64: add copy_to/from_user to kprobes blacklist David Long
2016-03-15 18:47   ` James Morse
2016-03-16  5:43     ` Pratyush Anand
2016-03-16 10:27       ` James Morse
2016-03-17  7:57         ` Pratyush Anand
2016-03-18 13:29           ` Pratyush Anand
2016-03-18 14:02             ` James Morse
2016-03-18 14:43               ` Pratyush Anand
2016-03-18 18:12                 ` James Morse
2016-03-21  5:17                   ` Pratyush Anand
2016-03-21 14:52             ` Will Deacon
2016-03-22 16:51               ` Pratyush Anand
2016-03-17 12:04   ` 平松雅巳 / HIRAMATU,MASAMI
2016-03-09  5:32 ` [PATCH v11 4/9] arm64: add conditional instruction simulation support David Long
2016-03-13 12:09   ` Marc Zyngier
2016-03-14  4:04     ` Pratyush Anand
2016-03-14  7:38       ` Marc Zyngier
2016-03-21  8:35         ` David Long [this message]
2016-03-09  5:32 ` [PATCH v11 5/9] arm64: Kprobes with single stepping support David Long
2016-04-20  1:29   ` Li Bin
2016-03-09  5:32 ` [PATCH v11 6/9] arm64: kprobes instruction simulation support David Long
2016-03-12  3:56   ` Marc Zyngier
2016-03-21  9:39     ` David Long
2016-03-09  5:32 ` [PATCH v11 7/9] arm64: Add trampoline code for kretprobes David Long
2016-03-13 13:52   ` Marc Zyngier
2016-03-21 13:30     ` David Long
2016-03-09  5:32 ` [PATCH v11 8/9] arm64: Add kernel return probes support (kretprobes) David Long
2016-03-17 12:22   ` 平松雅巳 / HIRAMATU,MASAMI
2016-03-17 12:58     ` 平松雅巳 / HIRAMATU,MASAMI
2016-03-21 13:33       ` David Long
2016-03-09  5:32 ` [PATCH v11 9/9] kprobes: Add arm64 case in kprobe example module David Long

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=56EFB241.80909@linaro.org \
    --to=dave.long@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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).