Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Martin Schwidefsky:
"This patch set contains the main portion of the changes for 3.18 in
regard to the s390 architecture. It is a bit bigger than usual,
mainly because of a new driver and the vector extension patches.
The interesting bits are:
- Quite a bit of work on the tracing front. Uprobes is enabled and
the ftrace code is reworked to get some of the lost performance
back if CONFIG_FTRACE is enabled.
- To improve boot time with CONFIG_DEBIG_PAGEALLOC, support for the
IPTE range facility is added.
- The rwlock code is re-factored to improve writer fairness and to be
able to use the interlocked-access instructions.
- The kernel part for the support of the vector extension is added.
- The device driver to access the CD/DVD on the HMC is added, this
will hopefully come in handy to improve the installation process.
- Add support for control-unit initiated reconfiguration.
- The crypto device driver is enhanced to enable the additional AP
domains and to allow the new crypto hardware to be used.
- Bug fixes"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits)
s390/ftrace: simplify enabling/disabling of ftrace_graph_caller
s390/ftrace: remove 31 bit ftrace support
s390/kdump: add support for vector extension
s390/disassembler: add vector instructions
s390: add support for vector extension
s390/zcrypt: Toleration of new crypto hardware
s390/idle: consolidate idle functions and definitions
s390/nohz: use a per-cpu flag for arch_needs_cpu
s390/vtime: do not reset idle data on CPU hotplug
s390/dasd: add support for control unit initiated reconfiguration
s390/dasd: fix infinite loop during format
s390/mm: make use of ipte range facility
s390/setup: correct 4-level kernel page table detection
s390/topology: call set_sched_topology early
s390/uprobes: architecture backend for uprobes
s390/uprobes: common library for kprobes and uprobes
s390/rwlock: use the interlocked-access facility 1 instructions
s390/rwlock: improve writer fairness
s390/rwlock: remove interrupt-enabling rwlock variant.
s390/mm: remove change bit override support
...
This commit is contained in:
commit
1ee07ef6b5
109 changed files with 4792 additions and 1026 deletions
|
|
@ -7,10 +7,14 @@
|
|||
#define _ASM_S390_SIGCONTEXT_H
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#define __NUM_GPRS 16
|
||||
#define __NUM_FPRS 16
|
||||
#define __NUM_ACRS 16
|
||||
#define __NUM_GPRS 16
|
||||
#define __NUM_FPRS 16
|
||||
#define __NUM_ACRS 16
|
||||
#define __NUM_VXRS 32
|
||||
#define __NUM_VXRS_LOW 16
|
||||
#define __NUM_VXRS_HIGH 16
|
||||
|
||||
#ifndef __s390x__
|
||||
|
||||
|
|
@ -59,6 +63,16 @@ typedef struct
|
|||
_s390_fp_regs fpregs;
|
||||
} _sigregs;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
#ifndef __s390x__
|
||||
unsigned long gprs_high[__NUM_GPRS];
|
||||
#endif
|
||||
unsigned long long vxrs_low[__NUM_VXRS_LOW];
|
||||
__vector128 vxrs_high[__NUM_VXRS_HIGH];
|
||||
unsigned char __reserved[128];
|
||||
} _sigregs_ext;
|
||||
|
||||
struct sigcontext
|
||||
{
|
||||
unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@
|
|||
typedef unsigned long addr_t;
|
||||
typedef __signed__ long saddr_t;
|
||||
|
||||
typedef struct {
|
||||
__u32 u[4];
|
||||
} __vector128;
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* _UAPI_S390_TYPES_H */
|
||||
|
|
|
|||
|
|
@ -7,10 +7,15 @@
|
|||
#ifndef _ASM_S390_UCONTEXT_H
|
||||
#define _ASM_S390_UCONTEXT_H
|
||||
|
||||
#define UC_EXTENDED 0x00000001
|
||||
|
||||
#ifndef __s390x__
|
||||
#define UC_GPRS_HIGH 1 /* uc_mcontext_ext has valid high gprs */
|
||||
#define UC_VXRS 2 /* uc_mcontext_ext has valid vector regs */
|
||||
|
||||
/*
|
||||
* The struct ucontext_extended describes how the registers are stored
|
||||
* on a rt signal frame. Please note that the structure is not fixed,
|
||||
* if new CPU registers are added to the user state the size of the
|
||||
* struct ucontext_extended will increase.
|
||||
*/
|
||||
struct ucontext_extended {
|
||||
unsigned long uc_flags;
|
||||
struct ucontext *uc_link;
|
||||
|
|
@ -19,11 +24,9 @@ struct ucontext_extended {
|
|||
sigset_t uc_sigmask;
|
||||
/* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */
|
||||
unsigned char __unused[128 - sizeof(sigset_t)];
|
||||
unsigned long uc_gprs_high[16];
|
||||
_sigregs_ext uc_mcontext_ext;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
struct ucontext {
|
||||
unsigned long uc_flags;
|
||||
struct ucontext *uc_link;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue