From: "dsmith at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: systemtap@sources.redhat.com
Subject: [Bug runtime/12341] New: deref()/store_deref() variations between arches
Date: Wed, 22 Dec 2010 20:54:00 -0000 [thread overview]
Message-ID: <bug-12341-1110@http.sourceware.org/bugzilla/> (raw)
http://sourceware.org/bugzilla/show_bug.cgi?id=12341
Summary: deref()/store_deref() variations between arches
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: runtime
AssignedTo: systemtap@sources.redhat.com
ReportedBy: dsmith@redhat.com
There is a different deref()/store_deref() macro in runtime/loc2c-runtime.h for
each arch.
For i386/x86_64, deref() calls the kernel's __get_user_asm(). store_deref()
calls the kernel's __put_user_asm().
For ia64, deref() calls the kernel's __get_user_size(). store_deref() calls
the kernel's __put_user_size().
For powerpc, deref() calls __stp_get_user_asm(), which is custom powerpc
assembly code (that looks almost identical to the kernel's __get_user_asm()).
store_deref() calls __stp_put_user_asm(), which is custom powerpc assembly
code.
For s390, deref() calls __stp_get_user_asm(), which is custom s390 assembly.
store_deref() calls __stp_put_user_asm(), which is custom s390 assembly.
It might be possible for all arches to use the kernel's own routines, instead
of having custom (powerpc/s390) assembly code. The
__get_user_size()/__put_user_size() routines might be the most attractive
choice (as the ia64 uses), since they know how handle all the different size
combinations.
(If __get_user_size()/__put_user_size() works for the i386, that could
eliminate the need for the i386 special version of kread/kwrite that can handle
64-bit values.)
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
next reply other threads:[~2010-12-22 20:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-22 20:54 dsmith at redhat dot com [this message]
2011-01-04 21:50 ` [Bug runtime/12341] " dsmith at redhat dot com
2011-01-06 20:58 ` dsmith at redhat dot com
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=bug-12341-1110@http.sourceware.org/bugzilla/ \
--to=sourceware-bugzilla@sourceware.org \
--cc=systemtap@sources.redhat.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 read-only IMAP folder(s) and NNTP newsgroup(s).