This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Update s390/bits/siginfo.h


In the generic kernel header <asm-generic/siginfo.h> included by
arch/s390/include/uapi/asm/siginfo.h, _sigfault has an optional field int
_trapno that is included #ifdef __ARCH_SI_TRAPNO. In linux 3.9.
__ARCH_SI_TRAPNO is defined only for sparc, tile and alpha.

This patch removes si_trapno field and adds si_addr_lsb and new SIGBUS error
codes related to hwpoison signal.

Ok? Comments?
--
Edjunior

ChangeLog:
2013-05-07  Edjunior Machado  <emachado@linux.vnet.ibm.com>

	* sysdeps/unix/sysv/linux/s390/bits/siginfo.h (_sigfault): Remove
	si_trapno. Add si_addr_lsb.
	(si_trapno): Remove macro.
	(si_addr_lsb): Define new macro.
	(BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values.

---
 sysdeps/unix/sysv/linux/s390/bits/siginfo.h |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/sysdeps/unix/sysv/linux/s390/bits/siginfo.h b/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
index ad12208..17f8847 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
@@ -95,7 +95,7 @@ typedef struct
 	struct
 	  {
 	    void *si_addr;	/* Faulting insn/memory ref.  */
-	    int si_trapno;
+	    short si_addr_lsb;	/* Valid LSB of the reported address */
 	  } _sigfault;
 
 	/* SIGPOLL.  */
@@ -128,7 +128,7 @@ typedef struct
 # define si_int		_sifields._rt.si_sigval.sival_int
 # define si_ptr		_sifields._rt.si_sigval.sival_ptr
 # define si_addr	_sifields._sigfault.si_addr
-# define si_trapno	_sifields._sigfault.si_trapno
+# define si_addr_lsb	_sifields._sigfault.si_addr_lsb
 # define si_band	_sifields._sigpoll.si_band
 # define si_fd		_sifields._sigpoll.si_fd
 # define si_call_addr 	_sifields._sigsys._call_addr
@@ -219,8 +219,12 @@ enum
 # define BUS_ADRALN	BUS_ADRALN
   BUS_ADRERR,			/* Non-existant physical address.  */
 # define BUS_ADRERR	BUS_ADRERR
-  BUS_OBJERR			/* Object specific hardware error.  */
+  BUS_OBJERR,			/* Object specific hardware error.  */
 # define BUS_OBJERR	BUS_OBJERR
+  BUS_MCEERR_AR,		/* Hardware memory error: action required */
+# define BUS_MCEERR_AR	BUS_MCEERR_AR
+  BUS_MCEERR_AO			/* Hardware memory error: action optional */
+# define BUS_MCEERR_AO	BUS_MCEERR_AO
 };
 
 /* `si_code' values for SIGTRAP signal.	 */
-- 
1.7.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]