From: David Daney <ddaney@caviumnetworks.com>
To: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org,
ananth@in.ibm.com, anil.s.keshavamurthy@intel.com,
davem@davemloft.net, masami.hiramatsu.pt@hitachi.com,
linux-kernel@vger.kernel.org, hschauhan@nulltrace.org
Subject: Re: [PATCH 2/5] MIPS: Add instrunction format for BREAK and SYSCALL
Date: Tue, 03 Aug 2010 13:59:43 -0700 [thread overview]
Message-ID: <4C58833F.1080409@caviumnetworks.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1008032150060.20999@eddie.linux-mips.org>
On 08/03/2010 01:54 PM, Maciej W. Rozycki wrote:
> On Tue, 3 Aug 2010, David Daney wrote:
>
>> diff --git a/arch/mips/include/asm/inst.h b/arch/mips/include/asm/inst.h
>> index 6489f00..444ff71 100644
>> --- a/arch/mips/include/asm/inst.h
>> +++ b/arch/mips/include/asm/inst.h
>> @@ -247,6 +247,12 @@ struct ma_format { /* FPU multipy and add format (MIPS IV) */
>> unsigned int fmt : 2;
>> };
>>
>> +struct b_format { /* BREAK and SYSCALL */
>> + unsigned int opcode:6;
>> + unsigned int code:20;
>> + unsigned int func:6;
>> +};
>> +
>> #elif defined(__MIPSEL__)
>>
>> struct j_format { /* Jump format */
>
> Please note the code field of the BREAK instruction is by toolchain
> convention (bug-compatibility with the original MIPS assembler or
> suchlike) treated as a pair of swapped 10-bit fields -- you may want to
> double-check consistency of interpretation with usage elsewhere.
>
Indeed, I am familiar with that fact. From patch 3/5 we have:
.
.
.
+void __kprobes jprobe_return(void)
+{
+ /* Assembler quirk necessitates this '0,code' business. */
+ asm volatile(
+ "break 0,%0\n\t"
+ ".globl jprobe_return_end\n"
+ "jprobe_return_end:\n"
+ : : "n" (BRK_KPROBE_BP) : "memory");
+}
.
.
.
The 'break 0,code' construct causes gas to emit values that are
compatible with the other use of struct b_format in the patch set.
David Daney
next prev parent reply other threads:[~2010-08-03 20:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-03 18:22 [PATCH 0/5] KProbes support for MIPS David Daney
2010-08-03 18:22 ` [PATCH 1/5] MIPS: Define regs_return_value() David Daney
2010-08-03 20:26 ` Ralf Baechle
2010-08-03 20:53 ` [PATCH] " David Daney
2010-08-04 23:46 ` Ralf Baechle
2010-08-03 18:22 ` [PATCH 2/5] MIPS: Add instrunction format for BREAK and SYSCALL David Daney
2010-08-03 20:54 ` Maciej W. Rozycki
2010-08-03 20:59 ` David Daney [this message]
2010-08-04 23:53 ` Ralf Baechle
2010-08-03 18:22 ` [PATCH 3/5] MIPS: Add KProbe support David Daney
2010-08-03 21:00 ` [PATCH] MIPS: KProbes: Use flush_insn_slot() where possible David Daney
2010-08-04 23:59 ` Ralf Baechle
2010-08-04 23:59 ` [PATCH 3/5] MIPS: Add KProbe support Ralf Baechle
2010-08-03 18:22 ` [PATCH 4/5] samples: kprobe_example: Make it print something on MIPS David Daney
2010-08-05 0:04 ` Ralf Baechle
2010-08-03 18:22 ` [PATCH 5/5] documentation: Mention that KProbes is supported " David Daney
2010-08-05 0:07 ` Ralf Baechle
2010-08-04 4:43 ` [PATCH 0/5] KProbes support for MIPS Ananth N Mavinakayanahalli
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=4C58833F.1080409@caviumnetworks.com \
--to=ddaney@caviumnetworks.com \
--cc=ananth@in.ibm.com \
--cc=anil.s.keshavamurthy@intel.com \
--cc=davem@davemloft.net \
--cc=hschauhan@nulltrace.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=macro@linux-mips.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=ralf@linux-mips.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