From: tixy@linaro•org (Jon Medhurst (Tixy))
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v4 15/16] ARM: add uprobes support
Date: Fri, 20 Dec 2013 19:47:18 +0000 [thread overview]
Message-ID: <1387568838.3311.5.camel@computer5.home> (raw)
In-Reply-To: <CAH+eYFDqVpBzzjxR5tVpPUUKS3XLWiDU1Fe5p0CQTUP4yWUDhg@mail.gmail.com>
On Fri, 2013-12-20 at 20:00 +0100, Rabin Vincent wrote:
> 2013/12/20 Jon Medhurst (Tixy) <tixy@linaro•org>
> > On Sun, 2013-12-15 at 23:08 -0500, David Long wrote:
> > > +static int uprobes_substitute_pc(unsigned long *pinsn, u32 oregs)
> > > +{
> > > + probes_opcode_t insn = __mem_to_opcode_arm(*pinsn);
> > > + probes_opcode_t temp;
> > > + probes_opcode_t mask;
> > > + int freereg;
> > > + u32 free = 0xffff;
> > > + u32 regs;
> > > +
> > > + for (regs = oregs; regs; regs >>= 4, insn >>= 4) {
> > > + if ((regs & 0xf) == REG_TYPE_NONE)
> > > + continue;
> > > +
> > > + free &= ~(1 << (insn & 0xf));
> > > + }
> > > +
> > > + /* No PC, no problem */
> > > + if (free & (1 << 15))
> > > + return 15;
> > > +
> > > + if (!free)
> > > + return -1;
> > > +
> > > + /*
> > > + * fls instead of ffs ensures that for "ldrd r0, r1, [pc]" we would
> > > + * pick LR instead of R1.
> >
> > Do we know why this is desirable, i.e. preferring the higher numbered
> > registers? If there isn't a preference, then no need for comment really.
> >
> > Also, the comment as is is wrong, should be "...pick LR instead of R2"
> > because R1 wouldn't be chosen as the instruction already uses it.
>
> The second destination register of LDRD (R1 in the example above) is
> not encoded in the instruction
Ah, that's the fact I'd missed, so the code and comment in this patch is
correct.
Thanks
--
Tixy
next prev parent reply other threads:[~2013-12-20 19:47 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-16 4:08 [PATCH v4 00/16] uprobes: Add uprobes support for ARM David Long
2013-12-16 4:08 ` [PATCH v4 01/16] uprobes: allow ignoring of probe hits David Long
2013-12-16 4:08 ` [PATCH v4 02/16] ARM: move shared uprobe/kprobe definitions into new include file David Long
2013-12-20 12:46 ` Jon Medhurst (Tixy)
2014-01-15 16:43 ` David Long
2013-12-16 4:08 ` [PATCH v4 03/16] ARM: Move generic arm instruction parsing code to new files for sharing between features David Long
2013-12-16 4:08 ` [PATCH v4 04/16] ARM: move generic thumb instruction parsing code to new files for use by other feature David Long
2013-12-20 12:46 ` Jon Medhurst (Tixy)
2014-01-15 16:41 ` David Long
2013-12-16 4:08 ` [PATCH v4 05/16] ARM: use a function table for determining instruction interpreter actions David Long
2013-12-20 12:45 ` Jon Medhurst (Tixy)
2014-01-15 16:25 ` David Long
2013-12-16 4:08 ` [PATCH v4 06/16] ARM: Disable jprobes test when built into thumb-mode kernel David Long
2013-12-16 4:08 ` [PATCH v4 07/16] ARM: Remove use of struct kprobe from generic probes code David Long
2013-12-20 13:55 ` Jon Medhurst (Tixy)
2014-01-15 16:44 ` David Long
2013-12-16 4:08 ` [PATCH v4 08/16] ARM: Use new opcode type in ARM kprobes/uprobes code David Long
2013-12-16 4:08 ` [PATCH v4 09/16] ARM: Make the kprobes condition_check symbol names more generic David Long
2013-12-16 4:08 ` [PATCH v4 10/16] ARM: Change more ARM kprobes symbol names to something more David Long
2013-12-16 4:08 ` [PATCH v4 11/16] ARM: Rename the shared kprobes/uprobe return value enum David Long
2013-12-16 4:08 ` [PATCH v4 12/16] ARM: Change the remaining shared kprobes/uprobes symbols to something generic David Long
2013-12-16 4:08 ` [PATCH v4 13/16] ARM: Add an emulate flag to the kprobes/uprobes instruction decode functions David Long
2013-12-20 14:58 ` Jon Medhurst (Tixy)
2014-01-15 19:31 ` David Long
2014-01-16 9:18 ` Jon Medhurst (Tixy)
2014-01-16 18:12 ` David Long
2013-12-16 4:08 ` [PATCH v4 14/16] ARM: Make arch_specific_insn a define for new arch_probes_insn structure David Long
2013-12-16 4:08 ` [PATCH v4 15/16] ARM: add uprobes support David Long
2013-12-20 18:34 ` Jon Medhurst (Tixy)
2013-12-20 19:00 ` Rabin Vincent
2013-12-20 19:47 ` Jon Medhurst (Tixy) [this message]
2013-12-23 15:32 ` Oleg Nesterov
2014-01-21 16:51 ` David Long
2013-12-16 4:08 ` [PATCH v4 16/16] ARM: Remove uprobes dependency on kprobes 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=1387568838.3311.5.camel@computer5.home \
--to=tixy@linaro$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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