From: Russell King <rmk@arm.linux.org.uk>
To: "David S. Miller" <davem@redhat.com>
Cc: Keith Owens <kaos@ocs.com.au>,
torvalds@transmeta.com, linux-kernel@vger.kernel.org
Subject: Re: [patch] 2.4.6-pre3 unresolved symbol do_softirq
Date: Wed, 13 Jun 2001 15:52:46 +0100 [thread overview]
Message-ID: <20010613155246.A21143@flint.arm.linux.org.uk> (raw)
In-Reply-To: <15143.29246.712747.936864@pizda.ninka.net> <10322.992441398@ocs4.ocs-net> <15143.30453.762432.702411@pizda.ninka.net>
In-Reply-To: <15143.30453.762432.702411@pizda.ninka.net>; from davem@redhat.com on Wed, Jun 13, 2001 at 07:21:41AM -0700
On Wed, Jun 13, 2001 at 07:21:41AM -0700, David S. Miller wrote:
> I can't believe there is no reliable way to get rid of that
> pesky "$" gcc is adding to the symbol. Oh well...
GCC on ARM does a similar thing - all constants in the assembler are
prefixed with '#' or '@'. Using the 'i' constraint adds this. This
behaviour is actually useful when you want to pass a constant or a
register - it allows GCC to make the decision for you, and do the
right thing in the assembler fragment. Eg, the following code used
to be in the kernel until 2.3:
extern __inline__ void __outb (unsigned int value, unsigned int port)
{
unsigned long temp;
__asm__ __volatile__(
"tst %2, #0x80000000\n\t"
"mov %0, %4\n\t"
"addeq %0, %0, %3\n\t"
"strb %1, [%0, %2, lsl #2] @ outb"
: "=&r" (temp)
: "r" (value), "r" (port), "Ir" (PCIO_BASE - IO_BASE), "Ir" (IO_BASE)
: "cc");
}
%3 and %4 might be a constant:
mov r5, #0x03000000
or a real register if the constant can't be loaded in one instruction:
mov r5, r1
'I' in this case means "a constant suitable for use with the arithmetic
instructions".
--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
next prev parent reply other threads:[~2001-06-13 14:53 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-13 12:07 [patch] 2.4.6-pre3 unresolved symbol do_softirq Keith Owens
2001-06-13 12:13 ` David S. Miller
2001-06-13 13:48 ` Jeff Garzik
2001-06-13 14:03 ` Keith Owens
2001-06-13 14:06 ` David S. Miller
2001-06-13 14:11 ` Keith Owens
2001-06-13 14:15 ` David S. Miller
2001-06-13 14:37 ` Keith Owens
2001-06-13 13:58 ` Keith Owens
2001-06-13 13:58 ` David S. Miller
2001-06-13 14:01 ` David S. Miller
2001-06-13 14:09 ` Keith Owens
2001-06-13 14:31 ` Bill Pringlemeir
2001-06-13 14:39 ` Keith Owens
2001-06-13 14:21 ` David S. Miller
2001-06-13 14:37 ` Andrew Morton
2001-06-13 14:44 ` Andreas Schwab
2001-06-13 14:53 ` Russell King
2001-06-13 14:52 ` Russell King [this message]
2001-06-13 14:55 ` David S. Miller
2001-06-13 16:39 ` Keith Owens
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=20010613155246.A21143@flint.arm.linux.org.uk \
--to=rmk@arm.linux.org.uk \
--cc=davem@redhat.com \
--cc=kaos@ocs.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/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;
as well as URLs for NNTP newsgroup(s).