diff options
Diffstat (limited to 'include/asm-s390')
-rw-r--r-- | include/asm-s390/bug.h | 3 | ||||
-rw-r--r-- | include/asm-s390/cmb.h | 2 | ||||
-rw-r--r-- | include/asm-s390/debug.h | 2 | ||||
-rw-r--r-- | include/asm-s390/page.h | 2 | ||||
-rw-r--r-- | include/asm-s390/processor.h | 2 | ||||
-rw-r--r-- | include/asm-s390/ptrace.h | 16 | ||||
-rw-r--r-- | include/asm-s390/siginfo.h | 6 | ||||
-rw-r--r-- | include/asm-s390/signal.h | 14 |
8 files changed, 21 insertions, 26 deletions
diff --git a/include/asm-s390/bug.h b/include/asm-s390/bug.h index 2b8d6d4dffcf..a2e7430aafa6 100644 --- a/include/asm-s390/bug.h +++ b/include/asm-s390/bug.h | |||
@@ -3,12 +3,15 @@ | |||
3 | 3 | ||
4 | #include <linux/kernel.h> | 4 | #include <linux/kernel.h> |
5 | 5 | ||
6 | #ifdef CONFIG_BUG | ||
6 | #define BUG() do { \ | 7 | #define BUG() do { \ |
7 | printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ | 8 | printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ |
8 | __asm__ __volatile__(".long 0"); \ | 9 | __asm__ __volatile__(".long 0"); \ |
9 | } while (0) | 10 | } while (0) |
10 | 11 | ||
11 | #define HAVE_ARCH_BUG | 12 | #define HAVE_ARCH_BUG |
13 | #endif | ||
14 | |||
12 | #include <asm-generic/bug.h> | 15 | #include <asm-generic/bug.h> |
13 | 16 | ||
14 | #endif | 17 | #endif |
diff --git a/include/asm-s390/cmb.h b/include/asm-s390/cmb.h index 1bfe2bd630b5..dae1dd4fb937 100644 --- a/include/asm-s390/cmb.h +++ b/include/asm-s390/cmb.h | |||
@@ -52,7 +52,7 @@ struct cmbdata { | |||
52 | #define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER,33,struct cmbdata) | 52 | #define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER,33,struct cmbdata) |
53 | 53 | ||
54 | #ifdef __KERNEL__ | 54 | #ifdef __KERNEL__ |
55 | 55 | struct ccw_device; | |
56 | /** | 56 | /** |
57 | * enable_cmf() - switch on the channel measurement for a specific device | 57 | * enable_cmf() - switch on the channel measurement for a specific device |
58 | * @cdev: The ccw device to be enabled | 58 | * @cdev: The ccw device to be enabled |
diff --git a/include/asm-s390/debug.h b/include/asm-s390/debug.h index 28ef2354b1b2..6bbcdea42a86 100644 --- a/include/asm-s390/debug.h +++ b/include/asm-s390/debug.h | |||
@@ -43,7 +43,7 @@ struct __debug_entry{ | |||
43 | #define DEBUG_OFF_LEVEL -1 /* level where debug is switched off */ | 43 | #define DEBUG_OFF_LEVEL -1 /* level where debug is switched off */ |
44 | #define DEBUG_FLUSH_ALL -1 /* parameter to flush all areas */ | 44 | #define DEBUG_FLUSH_ALL -1 /* parameter to flush all areas */ |
45 | #define DEBUG_MAX_VIEWS 10 /* max number of views in proc fs */ | 45 | #define DEBUG_MAX_VIEWS 10 /* max number of views in proc fs */ |
46 | #define DEBUG_MAX_PROCF_LEN 16 /* max length for a proc file name */ | 46 | #define DEBUG_MAX_PROCF_LEN 64 /* max length for a proc file name */ |
47 | #define DEBUG_DEFAULT_LEVEL 3 /* initial debug level */ | 47 | #define DEBUG_DEFAULT_LEVEL 3 /* initial debug level */ |
48 | 48 | ||
49 | #define DEBUG_DIR_ROOT "s390dbf" /* name of debug root directory in proc fs */ | 49 | #define DEBUG_DIR_ROOT "s390dbf" /* name of debug root directory in proc fs */ |
diff --git a/include/asm-s390/page.h b/include/asm-s390/page.h index 614e2a93c703..2be287b9df88 100644 --- a/include/asm-s390/page.h +++ b/include/asm-s390/page.h | |||
@@ -16,6 +16,8 @@ | |||
16 | #define PAGE_SHIFT 12 | 16 | #define PAGE_SHIFT 12 |
17 | #define PAGE_SIZE (1UL << PAGE_SHIFT) | 17 | #define PAGE_SIZE (1UL << PAGE_SHIFT) |
18 | #define PAGE_MASK (~(PAGE_SIZE-1)) | 18 | #define PAGE_MASK (~(PAGE_SIZE-1)) |
19 | #define PAGE_DEFAULT_ACC 0 | ||
20 | #define PAGE_DEFAULT_KEY (PAGE_DEFAULT_ACC << 4) | ||
19 | 21 | ||
20 | #ifdef __KERNEL__ | 22 | #ifdef __KERNEL__ |
21 | #ifndef __ASSEMBLY__ | 23 | #ifndef __ASSEMBLY__ |
diff --git a/include/asm-s390/processor.h b/include/asm-s390/processor.h index 88c272ca48bf..fb46e9090b50 100644 --- a/include/asm-s390/processor.h +++ b/include/asm-s390/processor.h | |||
@@ -245,7 +245,7 @@ static inline void enabled_wait(void) | |||
245 | psw_t wait_psw; | 245 | psw_t wait_psw; |
246 | 246 | ||
247 | wait_psw.mask = PSW_BASE_BITS | PSW_MASK_IO | PSW_MASK_EXT | | 247 | wait_psw.mask = PSW_BASE_BITS | PSW_MASK_IO | PSW_MASK_EXT | |
248 | PSW_MASK_MCHECK | PSW_MASK_WAIT; | 248 | PSW_MASK_MCHECK | PSW_MASK_WAIT | PSW_DEFAULT_KEY; |
249 | #ifndef __s390x__ | 249 | #ifndef __s390x__ |
250 | asm volatile ( | 250 | asm volatile ( |
251 | " basr %0,0\n" | 251 | " basr %0,0\n" |
diff --git a/include/asm-s390/ptrace.h b/include/asm-s390/ptrace.h index 1dc80666e97e..4eff8f2e3bf1 100644 --- a/include/asm-s390/ptrace.h +++ b/include/asm-s390/ptrace.h | |||
@@ -185,6 +185,7 @@ | |||
185 | #include <linux/stddef.h> | 185 | #include <linux/stddef.h> |
186 | #include <linux/types.h> | 186 | #include <linux/types.h> |
187 | #include <asm/setup.h> | 187 | #include <asm/setup.h> |
188 | #include <asm/page.h> | ||
188 | 189 | ||
189 | typedef union | 190 | typedef union |
190 | { | 191 | { |
@@ -235,6 +236,7 @@ typedef struct | |||
235 | #define PSW_ADDR_INSN 0x7FFFFFFFUL | 236 | #define PSW_ADDR_INSN 0x7FFFFFFFUL |
236 | 237 | ||
237 | #define PSW_BASE_BITS 0x00080000UL | 238 | #define PSW_BASE_BITS 0x00080000UL |
239 | #define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 20) | ||
238 | 240 | ||
239 | #define PSW_ASC_PRIMARY 0x00000000UL | 241 | #define PSW_ASC_PRIMARY 0x00000000UL |
240 | #define PSW_ASC_ACCREG 0x00004000UL | 242 | #define PSW_ASC_ACCREG 0x00004000UL |
@@ -260,6 +262,7 @@ typedef struct | |||
260 | 262 | ||
261 | #define PSW_BASE_BITS 0x0000000180000000UL | 263 | #define PSW_BASE_BITS 0x0000000180000000UL |
262 | #define PSW_BASE32_BITS 0x0000000080000000UL | 264 | #define PSW_BASE32_BITS 0x0000000080000000UL |
265 | #define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 52) | ||
263 | 266 | ||
264 | #define PSW_ASC_PRIMARY 0x0000000000000000UL | 267 | #define PSW_ASC_PRIMARY 0x0000000000000000UL |
265 | #define PSW_ASC_ACCREG 0x0000400000000000UL | 268 | #define PSW_ASC_ACCREG 0x0000400000000000UL |
@@ -268,14 +271,15 @@ typedef struct | |||
268 | 271 | ||
269 | #define PSW_USER32_BITS (PSW_BASE32_BITS | PSW_MASK_DAT | PSW_ASC_HOME | \ | 272 | #define PSW_USER32_BITS (PSW_BASE32_BITS | PSW_MASK_DAT | PSW_ASC_HOME | \ |
270 | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK | \ | 273 | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK | \ |
271 | PSW_MASK_PSTATE) | 274 | PSW_MASK_PSTATE | PSW_DEFAULT_KEY) |
272 | 275 | ||
273 | #endif /* __s390x__ */ | 276 | #endif /* __s390x__ */ |
274 | 277 | ||
275 | #define PSW_KERNEL_BITS (PSW_BASE_BITS | PSW_MASK_DAT | PSW_ASC_PRIMARY) | 278 | #define PSW_KERNEL_BITS (PSW_BASE_BITS | PSW_MASK_DAT | PSW_ASC_PRIMARY | \ |
279 | PSW_DEFAULT_KEY) | ||
276 | #define PSW_USER_BITS (PSW_BASE_BITS | PSW_MASK_DAT | PSW_ASC_HOME | \ | 280 | #define PSW_USER_BITS (PSW_BASE_BITS | PSW_MASK_DAT | PSW_ASC_HOME | \ |
277 | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK | \ | 281 | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK | \ |
278 | PSW_MASK_PSTATE) | 282 | PSW_MASK_PSTATE | PSW_DEFAULT_KEY) |
279 | 283 | ||
280 | /* This macro merges a NEW PSW mask specified by the user into | 284 | /* This macro merges a NEW PSW mask specified by the user into |
281 | the currently active PSW mask CURRENT, modifying only those | 285 | the currently active PSW mask CURRENT, modifying only those |
@@ -470,6 +474,12 @@ struct user_regs_struct | |||
470 | extern void show_regs(struct pt_regs * regs); | 474 | extern void show_regs(struct pt_regs * regs); |
471 | #endif | 475 | #endif |
472 | 476 | ||
477 | static inline void | ||
478 | psw_set_key(unsigned int key) | ||
479 | { | ||
480 | asm volatile ( "spka 0(%0)" : : "d" (key) ); | ||
481 | } | ||
482 | |||
473 | #endif /* __ASSEMBLY__ */ | 483 | #endif /* __ASSEMBLY__ */ |
474 | 484 | ||
475 | #endif /* _S390_PTRACE_H */ | 485 | #endif /* _S390_PTRACE_H */ |
diff --git a/include/asm-s390/siginfo.h b/include/asm-s390/siginfo.h index 72303537b732..e0ff1ab054be 100644 --- a/include/asm-s390/siginfo.h +++ b/include/asm-s390/siginfo.h | |||
@@ -13,12 +13,6 @@ | |||
13 | #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) | 13 | #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) |
14 | #endif | 14 | #endif |
15 | 15 | ||
16 | #ifdef CONFIG_ARCH_S390X | ||
17 | #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 4) | ||
18 | #else | ||
19 | #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3) | ||
20 | #endif | ||
21 | |||
22 | #include <asm-generic/siginfo.h> | 16 | #include <asm-generic/siginfo.h> |
23 | 17 | ||
24 | #endif | 18 | #endif |
diff --git a/include/asm-s390/signal.h b/include/asm-s390/signal.h index f273cdcd1cf6..bfed83a818cc 100644 --- a/include/asm-s390/signal.h +++ b/include/asm-s390/signal.h | |||
@@ -117,20 +117,6 @@ typedef unsigned long sigset_t; | |||
117 | #define MINSIGSTKSZ 2048 | 117 | #define MINSIGSTKSZ 2048 |
118 | #define SIGSTKSZ 8192 | 118 | #define SIGSTKSZ 8192 |
119 | 119 | ||
120 | #ifdef __KERNEL__ | ||
121 | |||
122 | /* | ||
123 | * These values of sa_flags are used only by the kernel as part of the | ||
124 | * irq handling routines. | ||
125 | * | ||
126 | * SA_INTERRUPT is also used by the irq handling routines. | ||
127 | * SA_SHIRQ is for shared interrupt support on PCI and EISA. | ||
128 | */ | ||
129 | #define SA_PROBE SA_ONESHOT | ||
130 | #define SA_SAMPLE_RANDOM SA_RESTART | ||
131 | #define SA_SHIRQ 0x04000000 | ||
132 | #endif | ||
133 | |||
134 | #define SIG_BLOCK 0 /* for blocking signals */ | 120 | #define SIG_BLOCK 0 /* for blocking signals */ |
135 | #define SIG_UNBLOCK 1 /* for unblocking signals */ | 121 | #define SIG_UNBLOCK 1 /* for unblocking signals */ |
136 | #define SIG_SETMASK 2 /* for setting the signal mask */ | 122 | #define SIG_SETMASK 2 /* for setting the signal mask */ |