Thread (11 messages) 11 messages, 6 authors, 2007-02-24

Re: unaligned access

From: Kevin D. Kissell <hidden>
Date: 2007-02-22 15:06:10

Default behavior in MIPS is to silently fix up and emulate.  A MIPS-specific
system call (sys_sysmips with the command argument of MIPS_FIXADE
and a parameter agument of zero) allows for this to be overridden, so that 
such accesses will be fatal.  It looks as if there was once support to log the events 
to syslog, independently of whether or not they were fixed up, but it doesn't look to me 
as if that still works in 2.6.x kernels.

            Regards,

            Kevin K.
  ----- Original Message ----- 
  From: sathesh babu 
  To: Rajat Jain 
  Cc: linux-mips@linux-mips.org 
  Sent: Thursday, February 22, 2007 10:18 AM
  Subject: Re: unaligned access


  Thanks Rajan.

  In case of arm processor, the alignment trap behavior can be changed by simply echo a number into  /proc/sys/debug/alignment 

  bit             behavior when set
  ---             -----------------
  0               A user process performing an unaligned memory access
                  will cause the kernel to print a message indicating
                  process name, pid, pc, instruction, address, and the
                  fault code.
  1               The kernel will attempt to fix up the user process
                  performing the unaligned access.  This is of course
                  slow (think about the floating point emulator) and
                  not recommended for production use.
  2               The kernel will send a SIGBUS signal to the user process
                  performing the unaligned access.

  I would like to know  Is there similar type of implimentation avalilable for MIPS processor in linux-2.6.12 kernel to view or log the unaligned access addresses and corresponding processor ID.

  Regards,
  Sathesh


  Rajat Jain [off-list ref] wrote:
    On 2/22/07, sathesh babu wrote:
    > Hi,
    > I have ported linux-2.6.12 kernel on MIPS processor.I would like to
    > print the warning messges whenenver kernel or user code try to access
    > unaligned address ( including proceor ID ).
    > Is there any configuration option avaliable in the kernel to view
    > the unaligned address?

    Ummm ... not sure about MIPS, but in i386, exception 17 is raised for
    every unaligned access. alignment_check() is invoked for every such
    access.

    Regards,

    Rajat






------------------------------------------------------------------------------
  Here's a new way to find what you're looking for - Yahoo! Answers 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help