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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.