From: "Luck, Tony" <tony.luck@intel.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Fastboot] [PATCH]IA64 kexec/kdump patch for INIT
Date: Thu, 07 Sep 2006 16:38:47 +0000 [thread overview]
Message-ID: <20060907163847.GA5794@intel.com> (raw)
In-Reply-To: <82C6D21B8B7A9Cindou.takao@jp.fujitsu.com>
On Thu, Sep 07, 2006 at 11:08:34AM +0200, Andreas Schwab wrote:
> Takao Indoh <indou.takao@jp.fujitsu.com> writes:
>
> > The disassemble code:
> > a000000100047080: 0b 38 01 02 00 24 [MMI] addl r39=0,r1;;
> > a000000100047086: 50 02 9c 00 42 00 mov r37=r39
> > a00000010004708c: 00 00 04 00 nop.i 0x0;;
> > a000000100047090: 0a 08 00 4a 00 21 [MMI] mov r1=r37;;
> > a000000100047096: c0 02 80 00 42 00 mov r44=r32
> > a00000010004709c: 00 00 04 00 nop.i 0x0
> > a0000001000470a0: 17 00 02 51 02 14 [BBB] br.call.sptk.many b0 000001000db4a0 <crash_kexec>
> >
> > This disassembled code does not change content of r1.
>
> It does:
>
> a000000100047090: 0a 08 00 4a 00 21 [MMI] mov r1=r37;;
But looking before that instruction r37 is a copy of r39 (mov r37=r39).
r39 was calculated by "addl r39=0,r1" i.e. r1+0, also known as "r1". So
this sequence just takes the original value from r1 and puts it into r1
(passing through two other registers along the way). Not only unhelpful,
but inefficient too :-)
Perhaps just make a tiny function:
GLOBAL_ENTRY(ia64_set_gp)
movl r1=__gp
br.ret.sptk.many b0
END(ia64_set_gp)
and put it in head.S to bypass this "cleverness" by gcc and
also avoid the need for inline asm.
-Tony
---
Yarn store opening in Sunnyvale, CA on Oct 14th. http://purlescenceyarns.com
next prev parent reply other threads:[~2006-09-07 16:38 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-07 1:18 [Fastboot] [PATCH]IA64 kexec/kdump patch for INIT Takao Indoh
2006-09-07 1:32 ` Zou, Nanhai
2006-09-07 3:21 ` Takao Indoh
2006-09-07 8:45 ` Zou, Nanhai
2006-09-07 8:48 ` Yu Luming
2006-09-07 9:08 ` Andreas Schwab
2006-09-07 9:17 ` Takao Indoh
2006-09-07 13:01 ` Yu, Luming
2006-09-07 14:48 ` Takao Indoh
2006-09-07 16:38 ` Luck, Tony [this message]
2006-09-07 16:44 ` Andreas Schwab
2006-09-07 17:03 ` Luck, Tony
2006-09-08 1:20 ` Zou, Nanhai
2006-09-11 6:12 ` Zou Nan hai
2006-09-11 6:56 ` Keith Owens
2006-09-11 16:18 ` Luck, Tony
2006-09-13 2:27 ` Takao Indoh
2006-09-13 7:10 ` Keith Owens
2006-09-13 7:58 ` Zou, Nanhai
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=20060907163847.GA5794@intel.com \
--to=tony.luck@intel.com \
--cc=linux-ia64@vger.kernel.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