public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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