public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug runtime/12341] New: deref()/store_deref() variations between arches
@ 2010-12-22 20:54 dsmith at redhat dot com
  2011-01-04 21:50 ` [Bug runtime/12341] " dsmith at redhat dot com
  2011-01-06 20:58 ` dsmith at redhat dot com
  0 siblings, 2 replies; 4+ messages in thread
From: dsmith at redhat dot com @ 2010-12-22 20:54 UTC (permalink / raw)
  To: systemtap

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-02-06 20:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-12341-6586@http.sourceware.org/bugzilla/>
2011-12-12 15:21 ` [Bug runtime/12341] deref()/store_deref() variations between arches mjw at redhat dot com
2012-02-06 20:49 ` dsmith at redhat dot com
2010-12-22 20:54 [Bug runtime/12341] New: " dsmith at redhat dot com
2011-01-04 21:50 ` [Bug runtime/12341] " dsmith at redhat dot com
2011-01-06 20:58 ` dsmith at redhat dot com

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).