diff options
author | Michal Marek <mmarek@suse.cz> | 2010-10-12 09:09:06 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2010-10-12 09:09:06 -0400 |
commit | 239060b93bb30a4ad55f1ecaa512464a035cc5ba (patch) | |
tree | 77f79810e57d4fc24356eca0cd6db463e8994128 /arch/s390 | |
parent | 1408b15b98635a13bad2e2a50b3c2ae2ccdf625b (diff) | |
parent | e9203c988234aa512bd45ca32b52e21c7bbfc414 (diff) |
Merge branch 'kbuild/rc-fixes' into kbuild/kconfig
We need to revert the temporary hack in 71ebc01, hence the merge.
Diffstat (limited to 'arch/s390')
33 files changed, 143 insertions, 1287 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 3c4d4e69025d..147d3b5515a8 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -35,9 +35,6 @@ config ARCH_HAS_ILOG2_U64 | |||
35 | config GENERIC_HWEIGHT | 35 | config GENERIC_HWEIGHT |
36 | def_bool y | 36 | def_bool y |
37 | 37 | ||
38 | config GENERIC_TIME | ||
39 | def_bool y | ||
40 | |||
41 | config GENERIC_TIME_VSYSCALL | 38 | config GENERIC_TIME_VSYSCALL |
42 | def_bool y | 39 | def_bool y |
43 | 40 | ||
diff --git a/arch/s390/Makefile b/arch/s390/Makefile index 30c5f01f93b0..0c9e6c6d2a64 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile | |||
@@ -24,7 +24,8 @@ CHECKFLAGS += -D__s390__ -msize-long | |||
24 | else | 24 | else |
25 | LD_BFD := elf64-s390 | 25 | LD_BFD := elf64-s390 |
26 | LDFLAGS := -m elf64_s390 | 26 | LDFLAGS := -m elf64_s390 |
27 | MODFLAGS += -fpic -D__PIC__ | 27 | KBUILD_AFLAGS_MODULE += -fpic -D__PIC__ |
28 | KBUILD_CFLAGS_MODULE += -fpic -D__PIC__ | ||
28 | KBUILD_CFLAGS += -m64 | 29 | KBUILD_CFLAGS += -m64 |
29 | KBUILD_AFLAGS += -m64 | 30 | KBUILD_AFLAGS += -m64 |
30 | UTS_MACHINE := s390x | 31 | UTS_MACHINE := s390x |
diff --git a/arch/s390/appldata/appldata_net_sum.c b/arch/s390/appldata/appldata_net_sum.c index 9a9586f4103f..5da7c562a90b 100644 --- a/arch/s390/appldata/appldata_net_sum.c +++ b/arch/s390/appldata/appldata_net_sum.c | |||
@@ -85,8 +85,10 @@ static void appldata_get_net_sum_data(void *data) | |||
85 | 85 | ||
86 | rcu_read_lock(); | 86 | rcu_read_lock(); |
87 | for_each_netdev_rcu(&init_net, dev) { | 87 | for_each_netdev_rcu(&init_net, dev) { |
88 | const struct net_device_stats *stats = dev_get_stats(dev); | 88 | const struct rtnl_link_stats64 *stats; |
89 | struct rtnl_link_stats64 temp; | ||
89 | 90 | ||
91 | stats = dev_get_stats(dev, &temp); | ||
90 | rx_packets += stats->rx_packets; | 92 | rx_packets += stats->rx_packets; |
91 | tx_packets += stats->tx_packets; | 93 | tx_packets += stats->tx_packets; |
92 | rx_bytes += stats->rx_bytes; | 94 | rx_bytes += stats->rx_bytes; |
diff --git a/arch/s390/crypto/Makefile b/arch/s390/crypto/Makefile index 6a1157fa4f98..1cf81d77c5a5 100644 --- a/arch/s390/crypto/Makefile +++ b/arch/s390/crypto/Makefile | |||
@@ -5,6 +5,6 @@ | |||
5 | obj-$(CONFIG_CRYPTO_SHA1_S390) += sha1_s390.o sha_common.o | 5 | obj-$(CONFIG_CRYPTO_SHA1_S390) += sha1_s390.o sha_common.o |
6 | obj-$(CONFIG_CRYPTO_SHA256_S390) += sha256_s390.o sha_common.o | 6 | obj-$(CONFIG_CRYPTO_SHA256_S390) += sha256_s390.o sha_common.o |
7 | obj-$(CONFIG_CRYPTO_SHA512_S390) += sha512_s390.o sha_common.o | 7 | obj-$(CONFIG_CRYPTO_SHA512_S390) += sha512_s390.o sha_common.o |
8 | obj-$(CONFIG_CRYPTO_DES_S390) += des_s390.o des_check_key.o | 8 | obj-$(CONFIG_CRYPTO_DES_S390) += des_s390.o |
9 | obj-$(CONFIG_CRYPTO_AES_S390) += aes_s390.o | 9 | obj-$(CONFIG_CRYPTO_AES_S390) += aes_s390.o |
10 | obj-$(CONFIG_S390_PRNG) += prng.o | 10 | obj-$(CONFIG_S390_PRNG) += prng.o |
diff --git a/arch/s390/crypto/crypto_des.h b/arch/s390/crypto/crypto_des.h index c964b64111dd..6210457ceebb 100644 --- a/arch/s390/crypto/crypto_des.h +++ b/arch/s390/crypto/crypto_des.h | |||
@@ -15,4 +15,4 @@ | |||
15 | 15 | ||
16 | extern int crypto_des_check_key(const u8*, unsigned int, u32*); | 16 | extern int crypto_des_check_key(const u8*, unsigned int, u32*); |
17 | 17 | ||
18 | #endif //__CRYPTO_DES_H__ | 18 | #endif /*__CRYPTO_DES_H__*/ |
diff --git a/arch/s390/crypto/des_s390.c b/arch/s390/crypto/des_s390.c index 2bc479ab3a66..cc5420118393 100644 --- a/arch/s390/crypto/des_s390.c +++ b/arch/s390/crypto/des_s390.c | |||
@@ -14,32 +14,21 @@ | |||
14 | * | 14 | * |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <crypto/algapi.h> | ||
18 | #include <linux/init.h> | 17 | #include <linux/init.h> |
19 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | #include <linux/crypto.h> | ||
20 | #include <crypto/algapi.h> | ||
21 | #include <crypto/des.h> | ||
20 | 22 | ||
21 | #include "crypt_s390.h" | 23 | #include "crypt_s390.h" |
22 | #include "crypto_des.h" | ||
23 | |||
24 | #define DES_BLOCK_SIZE 8 | ||
25 | #define DES_KEY_SIZE 8 | ||
26 | |||
27 | #define DES3_128_KEY_SIZE (2 * DES_KEY_SIZE) | ||
28 | #define DES3_128_BLOCK_SIZE DES_BLOCK_SIZE | ||
29 | 24 | ||
30 | #define DES3_192_KEY_SIZE (3 * DES_KEY_SIZE) | 25 | #define DES3_192_KEY_SIZE (3 * DES_KEY_SIZE) |
31 | #define DES3_192_BLOCK_SIZE DES_BLOCK_SIZE | ||
32 | 26 | ||
33 | struct crypt_s390_des_ctx { | 27 | struct crypt_s390_des_ctx { |
34 | u8 iv[DES_BLOCK_SIZE]; | 28 | u8 iv[DES_BLOCK_SIZE]; |
35 | u8 key[DES_KEY_SIZE]; | 29 | u8 key[DES_KEY_SIZE]; |
36 | }; | 30 | }; |
37 | 31 | ||
38 | struct crypt_s390_des3_128_ctx { | ||
39 | u8 iv[DES_BLOCK_SIZE]; | ||
40 | u8 key[DES3_128_KEY_SIZE]; | ||
41 | }; | ||
42 | |||
43 | struct crypt_s390_des3_192_ctx { | 32 | struct crypt_s390_des3_192_ctx { |
44 | u8 iv[DES_BLOCK_SIZE]; | 33 | u8 iv[DES_BLOCK_SIZE]; |
45 | u8 key[DES3_192_KEY_SIZE]; | 34 | u8 key[DES3_192_KEY_SIZE]; |
@@ -50,13 +39,16 @@ static int des_setkey(struct crypto_tfm *tfm, const u8 *key, | |||
50 | { | 39 | { |
51 | struct crypt_s390_des_ctx *dctx = crypto_tfm_ctx(tfm); | 40 | struct crypt_s390_des_ctx *dctx = crypto_tfm_ctx(tfm); |
52 | u32 *flags = &tfm->crt_flags; | 41 | u32 *flags = &tfm->crt_flags; |
53 | int ret; | 42 | u32 tmp[DES_EXPKEY_WORDS]; |
54 | 43 | ||
55 | /* test if key is valid (not a weak key) */ | 44 | /* check for weak keys */ |
56 | ret = crypto_des_check_key(key, keylen, flags); | 45 | if (!des_ekey(tmp, key) && (*flags & CRYPTO_TFM_REQ_WEAK_KEY)) { |
57 | if (ret == 0) | 46 | *flags |= CRYPTO_TFM_RES_WEAK_KEY; |
58 | memcpy(dctx->key, key, keylen); | 47 | return -EINVAL; |
59 | return ret; | 48 | } |
49 | |||
50 | memcpy(dctx->key, key, keylen); | ||
51 | return 0; | ||
60 | } | 52 | } |
61 | 53 | ||
62 | static void des_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) | 54 | static void des_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in) |
@@ -237,165 +229,6 @@ static struct crypto_alg cbc_des_alg = { | |||
237 | * complementation keys. Any weakness is obviated by the use of | 229 | * complementation keys. Any weakness is obviated by the use of |
238 | * multiple keys. | 230 | * multiple keys. |
239 | * | 231 | * |
240 | * However, if the two independent 64-bit keys are equal, | ||
241 | * then the DES3 operation is simply the same as DES. | ||
242 | * Implementers MUST reject keys that exhibit this property. | ||
243 | * | ||
244 | */ | ||
245 | static int des3_128_setkey(struct crypto_tfm *tfm, const u8 *key, | ||
246 | unsigned int keylen) | ||
247 | { | ||
248 | int i, ret; | ||
249 | struct crypt_s390_des3_128_ctx *dctx = crypto_tfm_ctx(tfm); | ||
250 | const u8 *temp_key = key; | ||
251 | u32 *flags = &tfm->crt_flags; | ||
252 | |||
253 | if (!(memcmp(key, &key[DES_KEY_SIZE], DES_KEY_SIZE)) && | ||
254 | (*flags & CRYPTO_TFM_REQ_WEAK_KEY)) { | ||
255 | *flags |= CRYPTO_TFM_RES_WEAK_KEY; | ||
256 | return -EINVAL; | ||
257 | } | ||
258 | for (i = 0; i < 2; i++, temp_key += DES_KEY_SIZE) { | ||
259 | ret = crypto_des_check_key(temp_key, DES_KEY_SIZE, flags); | ||
260 | if (ret < 0) | ||
261 | return ret; | ||
262 | } | ||
263 | memcpy(dctx->key, key, keylen); | ||
264 | return 0; | ||
265 | } | ||
266 | |||
267 | static void des3_128_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) | ||
268 | { | ||
269 | struct crypt_s390_des3_128_ctx *dctx = crypto_tfm_ctx(tfm); | ||
270 | |||
271 | crypt_s390_km(KM_TDEA_128_ENCRYPT, dctx->key, dst, (void*)src, | ||
272 | DES3_128_BLOCK_SIZE); | ||
273 | } | ||
274 | |||
275 | static void des3_128_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) | ||
276 | { | ||
277 | struct crypt_s390_des3_128_ctx *dctx = crypto_tfm_ctx(tfm); | ||
278 | |||
279 | crypt_s390_km(KM_TDEA_128_DECRYPT, dctx->key, dst, (void*)src, | ||
280 | DES3_128_BLOCK_SIZE); | ||
281 | } | ||
282 | |||
283 | static struct crypto_alg des3_128_alg = { | ||
284 | .cra_name = "des3_ede128", | ||
285 | .cra_driver_name = "des3_ede128-s390", | ||
286 | .cra_priority = CRYPT_S390_PRIORITY, | ||
287 | .cra_flags = CRYPTO_ALG_TYPE_CIPHER, | ||
288 | .cra_blocksize = DES3_128_BLOCK_SIZE, | ||
289 | .cra_ctxsize = sizeof(struct crypt_s390_des3_128_ctx), | ||
290 | .cra_module = THIS_MODULE, | ||
291 | .cra_list = LIST_HEAD_INIT(des3_128_alg.cra_list), | ||
292 | .cra_u = { | ||
293 | .cipher = { | ||
294 | .cia_min_keysize = DES3_128_KEY_SIZE, | ||
295 | .cia_max_keysize = DES3_128_KEY_SIZE, | ||
296 | .cia_setkey = des3_128_setkey, | ||
297 | .cia_encrypt = des3_128_encrypt, | ||
298 | .cia_decrypt = des3_128_decrypt, | ||
299 | } | ||
300 | } | ||
301 | }; | ||
302 | |||
303 | static int ecb_des3_128_encrypt(struct blkcipher_desc *desc, | ||
304 | struct scatterlist *dst, | ||
305 | struct scatterlist *src, unsigned int nbytes) | ||
306 | { | ||
307 | struct crypt_s390_des3_128_ctx *sctx = crypto_blkcipher_ctx(desc->tfm); | ||
308 | struct blkcipher_walk walk; | ||
309 | |||
310 | blkcipher_walk_init(&walk, dst, src, nbytes); | ||
311 | return ecb_desall_crypt(desc, KM_TDEA_128_ENCRYPT, sctx->key, &walk); | ||
312 | } | ||
313 | |||
314 | static int ecb_des3_128_decrypt(struct blkcipher_desc *desc, | ||
315 | struct scatterlist *dst, | ||
316 | struct scatterlist *src, unsigned int nbytes) | ||
317 | { | ||
318 | struct crypt_s390_des3_128_ctx *sctx = crypto_blkcipher_ctx(desc->tfm); | ||
319 | struct blkcipher_walk walk; | ||
320 | |||
321 | blkcipher_walk_init(&walk, dst, src, nbytes); | ||
322 | return ecb_desall_crypt(desc, KM_TDEA_128_DECRYPT, sctx->key, &walk); | ||
323 | } | ||
324 | |||
325 | static struct crypto_alg ecb_des3_128_alg = { | ||
326 | .cra_name = "ecb(des3_ede128)", | ||
327 | .cra_driver_name = "ecb-des3_ede128-s390", | ||
328 | .cra_priority = CRYPT_S390_COMPOSITE_PRIORITY, | ||
329 | .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER, | ||
330 | .cra_blocksize = DES3_128_BLOCK_SIZE, | ||
331 | .cra_ctxsize = sizeof(struct crypt_s390_des3_128_ctx), | ||
332 | .cra_type = &crypto_blkcipher_type, | ||
333 | .cra_module = THIS_MODULE, | ||
334 | .cra_list = LIST_HEAD_INIT( | ||
335 | ecb_des3_128_alg.cra_list), | ||
336 | .cra_u = { | ||
337 | .blkcipher = { | ||
338 | .min_keysize = DES3_128_KEY_SIZE, | ||
339 | .max_keysize = DES3_128_KEY_SIZE, | ||
340 | .setkey = des3_128_setkey, | ||
341 | .encrypt = ecb_des3_128_encrypt, | ||
342 | .decrypt = ecb_des3_128_decrypt, | ||
343 | } | ||
344 | } | ||
345 | }; | ||
346 | |||
347 | static int cbc_des3_128_encrypt(struct blkcipher_desc *desc, | ||
348 | struct scatterlist *dst, | ||
349 | struct scatterlist *src, unsigned int nbytes) | ||
350 | { | ||
351 | struct crypt_s390_des3_128_ctx *sctx = crypto_blkcipher_ctx(desc->tfm); | ||
352 | struct blkcipher_walk walk; | ||
353 | |||
354 | blkcipher_walk_init(&walk, dst, src, nbytes); | ||
355 | return cbc_desall_crypt(desc, KMC_TDEA_128_ENCRYPT, sctx->iv, &walk); | ||
356 | } | ||
357 | |||
358 | static int cbc_des3_128_decrypt(struct blkcipher_desc *desc, | ||
359 | struct scatterlist *dst, | ||
360 | struct scatterlist *src, unsigned int nbytes) | ||
361 | { | ||
362 | struct crypt_s390_des3_128_ctx *sctx = crypto_blkcipher_ctx(desc->tfm); | ||
363 | struct blkcipher_walk walk; | ||
364 | |||
365 | blkcipher_walk_init(&walk, dst, src, nbytes); | ||
366 | return cbc_desall_crypt(desc, KMC_TDEA_128_DECRYPT, sctx->iv, &walk); | ||
367 | } | ||
368 | |||
369 | static struct crypto_alg cbc_des3_128_alg = { | ||
370 | .cra_name = "cbc(des3_ede128)", | ||
371 | .cra_driver_name = "cbc-des3_ede128-s390", | ||
372 | .cra_priority = CRYPT_S390_COMPOSITE_PRIORITY, | ||
373 | .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER, | ||
374 | .cra_blocksize = DES3_128_BLOCK_SIZE, | ||
375 | .cra_ctxsize = sizeof(struct crypt_s390_des3_128_ctx), | ||
376 | .cra_type = &crypto_blkcipher_type, | ||
377 | .cra_module = THIS_MODULE, | ||
378 | .cra_list = LIST_HEAD_INIT( | ||
379 | cbc_des3_128_alg.cra_list), | ||
380 | .cra_u = { | ||
381 | .blkcipher = { | ||
382 | .min_keysize = DES3_128_KEY_SIZE, | ||
383 | .max_keysize = DES3_128_KEY_SIZE, | ||
384 | .ivsize = DES3_128_BLOCK_SIZE, | ||
385 | .setkey = des3_128_setkey, | ||
386 | .encrypt = cbc_des3_128_encrypt, | ||
387 | .decrypt = cbc_des3_128_decrypt, | ||
388 | } | ||
389 | } | ||
390 | }; | ||
391 | |||
392 | /* | ||
393 | * RFC2451: | ||
394 | * | ||
395 | * For DES-EDE3, there is no known need to reject weak or | ||
396 | * complementation keys. Any weakness is obviated by the use of | ||
397 | * multiple keys. | ||
398 | * | ||
399 | * However, if the first two or last two independent 64-bit keys are | 232 | * However, if the first two or last two independent 64-bit keys are |
400 | * equal (k1 == k2 or k2 == k3), then the DES3 operation is simply the | 233 | * equal (k1 == k2 or k2 == k3), then the DES3 operation is simply the |
401 | * same as DES. Implementers MUST reject keys that exhibit this | 234 | * same as DES. Implementers MUST reject keys that exhibit this |
@@ -405,9 +238,7 @@ static struct crypto_alg cbc_des3_128_alg = { | |||
405 | static int des3_192_setkey(struct crypto_tfm *tfm, const u8 *key, | 238 | static int des3_192_setkey(struct crypto_tfm *tfm, const u8 *key, |
406 | unsigned int keylen) | 239 | unsigned int keylen) |
407 | { | 240 | { |
408 | int i, ret; | ||
409 | struct crypt_s390_des3_192_ctx *dctx = crypto_tfm_ctx(tfm); | 241 | struct crypt_s390_des3_192_ctx *dctx = crypto_tfm_ctx(tfm); |
410 | const u8 *temp_key = key; | ||
411 | u32 *flags = &tfm->crt_flags; | 242 | u32 *flags = &tfm->crt_flags; |
412 | 243 | ||
413 | if (!(memcmp(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) && | 244 | if (!(memcmp(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) && |
@@ -417,11 +248,6 @@ static int des3_192_setkey(struct crypto_tfm *tfm, const u8 *key, | |||
417 | *flags |= CRYPTO_TFM_RES_WEAK_KEY; | 248 | *flags |= CRYPTO_TFM_RES_WEAK_KEY; |
418 | return -EINVAL; | 249 | return -EINVAL; |
419 | } | 250 | } |
420 | for (i = 0; i < 3; i++, temp_key += DES_KEY_SIZE) { | ||
421 | ret = crypto_des_check_key(temp_key, DES_KEY_SIZE, flags); | ||
422 | if (ret < 0) | ||
423 | return ret; | ||
424 | } | ||
425 | memcpy(dctx->key, key, keylen); | 251 | memcpy(dctx->key, key, keylen); |
426 | return 0; | 252 | return 0; |
427 | } | 253 | } |
@@ -431,7 +257,7 @@ static void des3_192_encrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) | |||
431 | struct crypt_s390_des3_192_ctx *dctx = crypto_tfm_ctx(tfm); | 257 | struct crypt_s390_des3_192_ctx *dctx = crypto_tfm_ctx(tfm); |
432 | 258 | ||
433 | crypt_s390_km(KM_TDEA_192_ENCRYPT, dctx->key, dst, (void*)src, | 259 | crypt_s390_km(KM_TDEA_192_ENCRYPT, dctx->key, dst, (void*)src, |
434 | DES3_192_BLOCK_SIZE); | 260 | DES_BLOCK_SIZE); |
435 | } | 261 | } |
436 | 262 | ||
437 | static void des3_192_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) | 263 | static void des3_192_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) |
@@ -439,7 +265,7 @@ static void des3_192_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src) | |||
439 | struct crypt_s390_des3_192_ctx *dctx = crypto_tfm_ctx(tfm); | 265 | struct crypt_s390_des3_192_ctx *dctx = crypto_tfm_ctx(tfm); |
440 | 266 | ||
441 | crypt_s390_km(KM_TDEA_192_DECRYPT, dctx->key, dst, (void*)src, | 267 | crypt_s390_km(KM_TDEA_192_DECRYPT, dctx->key, dst, (void*)src, |
442 | DES3_192_BLOCK_SIZE); | 268 | DES_BLOCK_SIZE); |
443 | } | 269 | } |
444 | 270 | ||
445 | static struct crypto_alg des3_192_alg = { | 271 | static struct crypto_alg des3_192_alg = { |
@@ -447,7 +273,7 @@ static struct crypto_alg des3_192_alg = { | |||
447 | .cra_driver_name = "des3_ede-s390", | 273 | .cra_driver_name = "des3_ede-s390", |
448 | .cra_priority = CRYPT_S390_PRIORITY, | 274 | .cra_priority = CRYPT_S390_PRIORITY, |
449 | .cra_flags = CRYPTO_ALG_TYPE_CIPHER, | 275 | .cra_flags = CRYPTO_ALG_TYPE_CIPHER, |
450 | .cra_blocksize = DES3_192_BLOCK_SIZE, | 276 | .cra_blocksize = DES_BLOCK_SIZE, |
451 | .cra_ctxsize = sizeof(struct crypt_s390_des3_192_ctx), | 277 | .cra_ctxsize = sizeof(struct crypt_s390_des3_192_ctx), |
452 | .cra_module = THIS_MODULE, | 278 | .cra_module = THIS_MODULE, |
453 | .cra_list = LIST_HEAD_INIT(des3_192_alg.cra_list), | 279 | .cra_list = LIST_HEAD_INIT(des3_192_alg.cra_list), |
@@ -489,7 +315,7 @@ static struct crypto_alg ecb_des3_192_alg = { | |||
489 | .cra_driver_name = "ecb-des3_ede-s390", | 315 | .cra_driver_name = "ecb-des3_ede-s390", |
490 | .cra_priority = CRYPT_S390_COMPOSITE_PRIORITY, | 316 | .cra_priority = CRYPT_S390_COMPOSITE_PRIORITY, |
491 | .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER, | 317 | .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER, |
492 | .cra_blocksize = DES3_192_BLOCK_SIZE, | 318 | .cra_blocksize = DES_BLOCK_SIZE, |
493 | .cra_ctxsize = sizeof(struct crypt_s390_des3_192_ctx), | 319 | .cra_ctxsize = sizeof(struct crypt_s390_des3_192_ctx), |
494 | .cra_type = &crypto_blkcipher_type, | 320 | .cra_type = &crypto_blkcipher_type, |
495 | .cra_module = THIS_MODULE, | 321 | .cra_module = THIS_MODULE, |
@@ -533,7 +359,7 @@ static struct crypto_alg cbc_des3_192_alg = { | |||
533 | .cra_driver_name = "cbc-des3_ede-s390", | 359 | .cra_driver_name = "cbc-des3_ede-s390", |
534 | .cra_priority = CRYPT_S390_COMPOSITE_PRIORITY, | 360 | .cra_priority = CRYPT_S390_COMPOSITE_PRIORITY, |
535 | .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER, | 361 | .cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER, |
536 | .cra_blocksize = DES3_192_BLOCK_SIZE, | 362 | .cra_blocksize = DES_BLOCK_SIZE, |
537 | .cra_ctxsize = sizeof(struct crypt_s390_des3_192_ctx), | 363 | .cra_ctxsize = sizeof(struct crypt_s390_des3_192_ctx), |
538 | .cra_type = &crypto_blkcipher_type, | 364 | .cra_type = &crypto_blkcipher_type, |
539 | .cra_module = THIS_MODULE, | 365 | .cra_module = THIS_MODULE, |
@@ -543,7 +369,7 @@ static struct crypto_alg cbc_des3_192_alg = { | |||
543 | .blkcipher = { | 369 | .blkcipher = { |
544 | .min_keysize = DES3_192_KEY_SIZE, | 370 | .min_keysize = DES3_192_KEY_SIZE, |
545 | .max_keysize = DES3_192_KEY_SIZE, | 371 | .max_keysize = DES3_192_KEY_SIZE, |
546 | .ivsize = DES3_192_BLOCK_SIZE, | 372 | .ivsize = DES_BLOCK_SIZE, |
547 | .setkey = des3_192_setkey, | 373 | .setkey = des3_192_setkey, |
548 | .encrypt = cbc_des3_192_encrypt, | 374 | .encrypt = cbc_des3_192_encrypt, |
549 | .decrypt = cbc_des3_192_decrypt, | 375 | .decrypt = cbc_des3_192_decrypt, |
@@ -553,10 +379,9 @@ static struct crypto_alg cbc_des3_192_alg = { | |||
553 | 379 | ||
554 | static int des_s390_init(void) | 380 | static int des_s390_init(void) |
555 | { | 381 | { |
556 | int ret = 0; | 382 | int ret; |
557 | 383 | ||
558 | if (!crypt_s390_func_available(KM_DEA_ENCRYPT) || | 384 | if (!crypt_s390_func_available(KM_DEA_ENCRYPT) || |
559 | !crypt_s390_func_available(KM_TDEA_128_ENCRYPT) || | ||
560 | !crypt_s390_func_available(KM_TDEA_192_ENCRYPT)) | 385 | !crypt_s390_func_available(KM_TDEA_192_ENCRYPT)) |
561 | return -EOPNOTSUPP; | 386 | return -EOPNOTSUPP; |
562 | 387 | ||
@@ -569,17 +394,6 @@ static int des_s390_init(void) | |||
569 | ret = crypto_register_alg(&cbc_des_alg); | 394 | ret = crypto_register_alg(&cbc_des_alg); |
570 | if (ret) | 395 | if (ret) |
571 | goto cbc_des_err; | 396 | goto cbc_des_err; |
572 | |||
573 | ret = crypto_register_alg(&des3_128_alg); | ||
574 | if (ret) | ||
575 | goto des3_128_err; | ||
576 | ret = crypto_register_alg(&ecb_des3_128_alg); | ||
577 | if (ret) | ||
578 | goto ecb_des3_128_err; | ||
579 | ret = crypto_register_alg(&cbc_des3_128_alg); | ||
580 | if (ret) | ||
581 | goto cbc_des3_128_err; | ||
582 | |||
583 | ret = crypto_register_alg(&des3_192_alg); | 397 | ret = crypto_register_alg(&des3_192_alg); |
584 | if (ret) | 398 | if (ret) |
585 | goto des3_192_err; | 399 | goto des3_192_err; |
@@ -589,7 +403,6 @@ static int des_s390_init(void) | |||
589 | ret = crypto_register_alg(&cbc_des3_192_alg); | 403 | ret = crypto_register_alg(&cbc_des3_192_alg); |
590 | if (ret) | 404 | if (ret) |
591 | goto cbc_des3_192_err; | 405 | goto cbc_des3_192_err; |
592 | |||
593 | out: | 406 | out: |
594 | return ret; | 407 | return ret; |
595 | 408 | ||
@@ -598,12 +411,6 @@ cbc_des3_192_err: | |||
598 | ecb_des3_192_err: | 411 | ecb_des3_192_err: |
599 | crypto_unregister_alg(&des3_192_alg); | 412 | crypto_unregister_alg(&des3_192_alg); |
600 | des3_192_err: | 413 | des3_192_err: |
601 | crypto_unregister_alg(&cbc_des3_128_alg); | ||
602 | cbc_des3_128_err: | ||
603 | crypto_unregister_alg(&ecb_des3_128_alg); | ||
604 | ecb_des3_128_err: | ||
605 | crypto_unregister_alg(&des3_128_alg); | ||
606 | des3_128_err: | ||
607 | crypto_unregister_alg(&cbc_des_alg); | 414 | crypto_unregister_alg(&cbc_des_alg); |
608 | cbc_des_err: | 415 | cbc_des_err: |
609 | crypto_unregister_alg(&ecb_des_alg); | 416 | crypto_unregister_alg(&ecb_des_alg); |
@@ -613,21 +420,18 @@ des_err: | |||
613 | goto out; | 420 | goto out; |
614 | } | 421 | } |
615 | 422 | ||
616 | static void __exit des_s390_fini(void) | 423 | static void __exit des_s390_exit(void) |
617 | { | 424 | { |
618 | crypto_unregister_alg(&cbc_des3_192_alg); | 425 | crypto_unregister_alg(&cbc_des3_192_alg); |
619 | crypto_unregister_alg(&ecb_des3_192_alg); | 426 | crypto_unregister_alg(&ecb_des3_192_alg); |
620 | crypto_unregister_alg(&des3_192_alg); | 427 | crypto_unregister_alg(&des3_192_alg); |
621 | crypto_unregister_alg(&cbc_des3_128_alg); | ||
622 | crypto_unregister_alg(&ecb_des3_128_alg); | ||
623 | crypto_unregister_alg(&des3_128_alg); | ||
624 | crypto_unregister_alg(&cbc_des_alg); | 428 | crypto_unregister_alg(&cbc_des_alg); |
625 | crypto_unregister_alg(&ecb_des_alg); | 429 | crypto_unregister_alg(&ecb_des_alg); |
626 | crypto_unregister_alg(&des_alg); | 430 | crypto_unregister_alg(&des_alg); |
627 | } | 431 | } |
628 | 432 | ||
629 | module_init(des_s390_init); | 433 | module_init(des_s390_init); |
630 | module_exit(des_s390_fini); | 434 | module_exit(des_s390_exit); |
631 | 435 | ||
632 | MODULE_ALIAS("des"); | 436 | MODULE_ALIAS("des"); |
633 | MODULE_ALIAS("des3_ede"); | 437 | MODULE_ALIAS("des3_ede"); |
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index 253f158db668..e40ac6ee6526 100644 --- a/arch/s390/defconfig +++ b/arch/s390/defconfig | |||
@@ -1,491 +1,59 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.35-rc1 | ||
4 | # Fri Jun 4 11:32:40 2010 | ||
5 | # | ||
6 | CONFIG_SCHED_MC=y | ||
7 | CONFIG_MMU=y | ||
8 | CONFIG_ZONE_DMA=y | ||
9 | CONFIG_LOCKDEP_SUPPORT=y | ||
10 | CONFIG_STACKTRACE_SUPPORT=y | ||
11 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
12 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
13 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
14 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
15 | CONFIG_GENERIC_HWEIGHT=y | ||
16 | CONFIG_GENERIC_TIME=y | ||
17 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
18 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
19 | CONFIG_GENERIC_BUG=y | ||
20 | CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y | ||
21 | CONFIG_NO_IOMEM=y | ||
22 | CONFIG_NO_DMA=y | ||
23 | CONFIG_GENERIC_LOCKBREAK=y | ||
24 | CONFIG_PGSTE=y | ||
25 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
26 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
27 | CONFIG_S390=y | ||
28 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | ||
29 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
30 | CONFIG_CONSTRUCTORS=y | ||
31 | |||
32 | # | ||
33 | # General setup | ||
34 | # | ||
35 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
36 | CONFIG_LOCK_KERNEL=y | ||
37 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
38 | CONFIG_CROSS_COMPILE="" | ||
39 | CONFIG_LOCALVERSION="" | ||
40 | CONFIG_LOCALVERSION_AUTO=y | ||
41 | CONFIG_HAVE_KERNEL_GZIP=y | ||
42 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
43 | CONFIG_HAVE_KERNEL_LZMA=y | ||
44 | CONFIG_HAVE_KERNEL_LZO=y | ||
45 | CONFIG_KERNEL_GZIP=y | ||
46 | # CONFIG_KERNEL_BZIP2 is not set | ||
47 | # CONFIG_KERNEL_LZMA is not set | ||
48 | # CONFIG_KERNEL_LZO is not set | ||
49 | CONFIG_SWAP=y | ||
50 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
51 | CONFIG_SYSVIPC_SYSCTL=y | ||
52 | CONFIG_POSIX_MQUEUE=y | 3 | CONFIG_POSIX_MQUEUE=y |
53 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
54 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
55 | # CONFIG_TASKSTATS is not set | ||
56 | CONFIG_AUDIT=y | 4 | CONFIG_AUDIT=y |
57 | # CONFIG_AUDITSYSCALL is not set | ||
58 | |||
59 | # | ||
60 | # RCU Subsystem | ||
61 | # | ||
62 | CONFIG_TREE_RCU=y | ||
63 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
64 | # CONFIG_TINY_RCU is not set | ||
65 | # CONFIG_RCU_TRACE is not set | ||
66 | CONFIG_RCU_FANOUT=64 | ||
67 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
68 | # CONFIG_RCU_FAST_NO_HZ is not set | ||
69 | # CONFIG_TREE_RCU_TRACE is not set | ||
70 | CONFIG_IKCONFIG=y | 5 | CONFIG_IKCONFIG=y |
71 | CONFIG_IKCONFIG_PROC=y | 6 | CONFIG_IKCONFIG_PROC=y |
72 | CONFIG_LOG_BUF_SHIFT=17 | ||
73 | CONFIG_CGROUPS=y | 7 | CONFIG_CGROUPS=y |
74 | # CONFIG_CGROUP_DEBUG is not set | ||
75 | CONFIG_CGROUP_NS=y | 8 | CONFIG_CGROUP_NS=y |
76 | # CONFIG_CGROUP_FREEZER is not set | ||
77 | # CONFIG_CGROUP_DEVICE is not set | ||
78 | # CONFIG_CPUSETS is not set | ||
79 | # CONFIG_CGROUP_CPUACCT is not set | ||
80 | # CONFIG_RESOURCE_COUNTERS is not set | ||
81 | # CONFIG_CGROUP_SCHED is not set | ||
82 | # CONFIG_BLK_CGROUP is not set | ||
83 | CONFIG_SYSFS_DEPRECATED=y | ||
84 | CONFIG_SYSFS_DEPRECATED_V2=y | 9 | CONFIG_SYSFS_DEPRECATED_V2=y |
85 | # CONFIG_RELAY is not set | ||
86 | CONFIG_NAMESPACES=y | ||
87 | CONFIG_UTS_NS=y | 10 | CONFIG_UTS_NS=y |
88 | CONFIG_IPC_NS=y | 11 | CONFIG_IPC_NS=y |
89 | # CONFIG_USER_NS is not set | ||
90 | # CONFIG_PID_NS is not set | ||
91 | # CONFIG_NET_NS is not set | ||
92 | CONFIG_BLK_DEV_INITRD=y | 12 | CONFIG_BLK_DEV_INITRD=y |
93 | CONFIG_INITRAMFS_SOURCE="" | ||
94 | CONFIG_RD_GZIP=y | ||
95 | CONFIG_RD_BZIP2=y | ||
96 | CONFIG_RD_LZMA=y | ||
97 | CONFIG_RD_LZO=y | ||
98 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 13 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
99 | CONFIG_SYSCTL=y | ||
100 | CONFIG_ANON_INODES=y | ||
101 | # CONFIG_EMBEDDED is not set | ||
102 | CONFIG_SYSCTL_SYSCALL=y | ||
103 | CONFIG_KALLSYMS=y | ||
104 | # CONFIG_KALLSYMS_ALL is not set | ||
105 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
106 | CONFIG_HOTPLUG=y | ||
107 | CONFIG_PRINTK=y | ||
108 | CONFIG_BUG=y | ||
109 | CONFIG_ELF_CORE=y | ||
110 | CONFIG_BASE_FULL=y | ||
111 | CONFIG_FUTEX=y | ||
112 | CONFIG_EPOLL=y | ||
113 | CONFIG_SIGNALFD=y | ||
114 | CONFIG_TIMERFD=y | ||
115 | CONFIG_EVENTFD=y | ||
116 | CONFIG_SHMEM=y | ||
117 | CONFIG_AIO=y | ||
118 | CONFIG_HAVE_PERF_EVENTS=y | ||
119 | |||
120 | # | ||
121 | # Kernel Performance Events And Counters | ||
122 | # | ||
123 | # CONFIG_PERF_EVENTS is not set | ||
124 | # CONFIG_PERF_COUNTERS is not set | ||
125 | CONFIG_VM_EVENT_COUNTERS=y | ||
126 | # CONFIG_COMPAT_BRK is not set | 14 | # CONFIG_COMPAT_BRK is not set |
127 | CONFIG_SLAB=y | 15 | CONFIG_SLAB=y |
128 | # CONFIG_SLUB is not set | ||
129 | # CONFIG_SLOB is not set | ||
130 | # CONFIG_PROFILING is not set | ||
131 | CONFIG_TRACEPOINTS=y | ||
132 | CONFIG_HAVE_OPROFILE=y | ||
133 | CONFIG_KPROBES=y | 16 | CONFIG_KPROBES=y |
134 | CONFIG_HAVE_SYSCALL_WRAPPERS=y | ||
135 | CONFIG_KRETPROBES=y | ||
136 | CONFIG_HAVE_KPROBES=y | ||
137 | CONFIG_HAVE_KRETPROBES=y | ||
138 | CONFIG_HAVE_ARCH_TRACEHOOK=y | ||
139 | CONFIG_USE_GENERIC_SMP_HELPERS=y | ||
140 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y | ||
141 | CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES=y | ||
142 | |||
143 | # | ||
144 | # GCOV-based kernel profiling | ||
145 | # | ||
146 | # CONFIG_GCOV_KERNEL is not set | ||
147 | # CONFIG_SLOW_WORK is not set | ||
148 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
149 | CONFIG_SLABINFO=y | ||
150 | CONFIG_RT_MUTEXES=y | ||
151 | CONFIG_BASE_SMALL=0 | ||
152 | CONFIG_MODULES=y | 17 | CONFIG_MODULES=y |
153 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
154 | CONFIG_MODULE_UNLOAD=y | 18 | CONFIG_MODULE_UNLOAD=y |
155 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
156 | CONFIG_MODVERSIONS=y | 19 | CONFIG_MODVERSIONS=y |
157 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
158 | CONFIG_INIT_ALL_POSSIBLE=y | ||
159 | CONFIG_STOP_MACHINE=y | ||
160 | CONFIG_BLOCK=y | ||
161 | CONFIG_BLK_DEV_BSG=y | ||
162 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
163 | CONFIG_BLOCK_COMPAT=y | ||
164 | |||
165 | # | ||
166 | # IO Schedulers | ||
167 | # | ||
168 | CONFIG_IOSCHED_NOOP=y | ||
169 | CONFIG_IOSCHED_DEADLINE=y | ||
170 | CONFIG_IOSCHED_CFQ=y | ||
171 | CONFIG_DEFAULT_DEADLINE=y | 20 | CONFIG_DEFAULT_DEADLINE=y |
172 | # CONFIG_DEFAULT_CFQ is not set | ||
173 | # CONFIG_DEFAULT_NOOP is not set | ||
174 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
175 | CONFIG_PREEMPT_NOTIFIERS=y | ||
176 | CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y | ||
177 | CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y | ||
178 | CONFIG_ARCH_INLINE_SPIN_LOCK=y | ||
179 | CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y | ||
180 | CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y | ||
181 | CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y | ||
182 | CONFIG_ARCH_INLINE_SPIN_UNLOCK=y | ||
183 | CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y | ||
184 | CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y | ||
185 | CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y | ||
186 | CONFIG_ARCH_INLINE_READ_TRYLOCK=y | ||
187 | CONFIG_ARCH_INLINE_READ_LOCK=y | ||
188 | CONFIG_ARCH_INLINE_READ_LOCK_BH=y | ||
189 | CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y | ||
190 | CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y | ||
191 | CONFIG_ARCH_INLINE_READ_UNLOCK=y | ||
192 | CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y | ||
193 | CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y | ||
194 | CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y | ||
195 | CONFIG_ARCH_INLINE_WRITE_TRYLOCK=y | ||
196 | CONFIG_ARCH_INLINE_WRITE_LOCK=y | ||
197 | CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y | ||
198 | CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y | ||
199 | CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y | ||
200 | CONFIG_ARCH_INLINE_WRITE_UNLOCK=y | ||
201 | CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y | ||
202 | CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y | ||
203 | CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y | ||
204 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
205 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
206 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
207 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
208 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
209 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
210 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
211 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
212 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
213 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
214 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
215 | # CONFIG_INLINE_READ_LOCK is not set | ||
216 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
217 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
218 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
219 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
220 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
221 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
222 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
223 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
224 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
225 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
226 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
227 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
228 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
229 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
230 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
231 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
232 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
233 | CONFIG_FREEZER=y | ||
234 | |||
235 | # | ||
236 | # Base setup | ||
237 | # | ||
238 | |||
239 | # | ||
240 | # Processor type and features | ||
241 | # | ||
242 | CONFIG_TICK_ONESHOT=y | ||
243 | CONFIG_NO_HZ=y | 21 | CONFIG_NO_HZ=y |
244 | CONFIG_HIGH_RES_TIMERS=y | 22 | CONFIG_HIGH_RES_TIMERS=y |
245 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
246 | CONFIG_64BIT=y | 23 | CONFIG_64BIT=y |
247 | # CONFIG_KTIME_SCALAR is not set | ||
248 | CONFIG_SMP=y | 24 | CONFIG_SMP=y |
249 | CONFIG_NR_CPUS=32 | 25 | CONFIG_NR_CPUS=32 |
250 | CONFIG_HOTPLUG_CPU=y | ||
251 | CONFIG_COMPAT=y | 26 | CONFIG_COMPAT=y |
252 | CONFIG_SYSVIPC_COMPAT=y | ||
253 | CONFIG_AUDIT_ARCH=y | ||
254 | CONFIG_S390_EXEC_PROTECT=y | 27 | CONFIG_S390_EXEC_PROTECT=y |
255 | |||
256 | # | ||
257 | # Code generation options | ||
258 | # | ||
259 | # CONFIG_MARCH_G5 is not set | ||
260 | CONFIG_MARCH_Z900=y | ||
261 | # CONFIG_MARCH_Z990 is not set | ||
262 | # CONFIG_MARCH_Z9_109 is not set | ||
263 | # CONFIG_MARCH_Z10 is not set | ||
264 | CONFIG_PACK_STACK=y | 28 | CONFIG_PACK_STACK=y |
265 | # CONFIG_SMALL_STACK is not set | ||
266 | CONFIG_CHECK_STACK=y | 29 | CONFIG_CHECK_STACK=y |
267 | CONFIG_STACK_GUARD=256 | ||
268 | # CONFIG_WARN_STACK is not set | ||
269 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
270 | |||
271 | # | ||
272 | # Kernel preemption | ||
273 | # | ||
274 | # CONFIG_PREEMPT_NONE is not set | ||
275 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
276 | CONFIG_PREEMPT=y | 30 | CONFIG_PREEMPT=y |
277 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
278 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
279 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
280 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
281 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
282 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | ||
283 | CONFIG_SELECT_MEMORY_MODEL=y | ||
284 | # CONFIG_FLATMEM_MANUAL is not set | ||
285 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
286 | CONFIG_SPARSEMEM_MANUAL=y | ||
287 | CONFIG_SPARSEMEM=y | ||
288 | CONFIG_HAVE_MEMORY_PRESENT=y | ||
289 | CONFIG_SPARSEMEM_EXTREME=y | ||
290 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | ||
291 | CONFIG_SPARSEMEM_VMEMMAP=y | ||
292 | CONFIG_MEMORY_HOTPLUG=y | 31 | CONFIG_MEMORY_HOTPLUG=y |
293 | CONFIG_MEMORY_HOTPLUG_SPARSE=y | ||
294 | CONFIG_MEMORY_HOTREMOVE=y | 32 | CONFIG_MEMORY_HOTREMOVE=y |
295 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
296 | CONFIG_SPLIT_PTLOCK_CPUS=999999 | ||
297 | CONFIG_MIGRATION=y | ||
298 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
299 | CONFIG_ZONE_DMA_FLAG=1 | ||
300 | CONFIG_BOUNCE=y | ||
301 | CONFIG_VIRT_TO_BUS=y | ||
302 | # CONFIG_KSM is not set | ||
303 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
304 | |||
305 | # | ||
306 | # I/O subsystem configuration | ||
307 | # | ||
308 | CONFIG_QDIO=y | 33 | CONFIG_QDIO=y |
309 | CONFIG_CHSC_SCH=m | 34 | CONFIG_CHSC_SCH=m |
310 | |||
311 | # | ||
312 | # Misc | ||
313 | # | ||
314 | CONFIG_IPL=y | 35 | CONFIG_IPL=y |
315 | # CONFIG_IPL_TAPE is not set | ||
316 | CONFIG_IPL_VM=y | ||
317 | CONFIG_BINFMT_ELF=y | ||
318 | CONFIG_COMPAT_BINFMT_ELF=y | ||
319 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
320 | # CONFIG_HAVE_AOUT is not set | ||
321 | CONFIG_BINFMT_MISC=m | 36 | CONFIG_BINFMT_MISC=m |
322 | CONFIG_FORCE_MAX_ZONEORDER=9 | ||
323 | CONFIG_PFAULT=y | 37 | CONFIG_PFAULT=y |
324 | # CONFIG_SHARED_KERNEL is not set | ||
325 | # CONFIG_CMM is not set | ||
326 | # CONFIG_APPLDATA_BASE is not set | ||
327 | CONFIG_HZ_100=y | 38 | CONFIG_HZ_100=y |
328 | # CONFIG_HZ_250 is not set | ||
329 | # CONFIG_HZ_300 is not set | ||
330 | # CONFIG_HZ_1000 is not set | ||
331 | CONFIG_HZ=100 | ||
332 | CONFIG_SCHED_HRTICK=y | ||
333 | CONFIG_S390_HYPFS_FS=y | ||
334 | CONFIG_KEXEC=y | 39 | CONFIG_KEXEC=y |
335 | # CONFIG_ZFCPDUMP is not set | ||
336 | CONFIG_S390_GUEST=y | 40 | CONFIG_S390_GUEST=y |
337 | CONFIG_SECCOMP=y | ||
338 | |||
339 | # | ||
340 | # Power Management | ||
341 | # | ||
342 | CONFIG_PM=y | 41 | CONFIG_PM=y |
343 | # CONFIG_PM_DEBUG is not set | ||
344 | CONFIG_PM_SLEEP_SMP=y | ||
345 | CONFIG_PM_SLEEP=y | ||
346 | CONFIG_HIBERNATION=y | 42 | CONFIG_HIBERNATION=y |
347 | CONFIG_PM_STD_PARTITION="" | ||
348 | # CONFIG_PM_RUNTIME is not set | ||
349 | CONFIG_PM_OPS=y | ||
350 | CONFIG_NET=y | ||
351 | |||
352 | # | ||
353 | # Networking options | ||
354 | # | ||
355 | CONFIG_PACKET=y | 43 | CONFIG_PACKET=y |
356 | CONFIG_UNIX=y | 44 | CONFIG_UNIX=y |
357 | CONFIG_XFRM=y | ||
358 | # CONFIG_XFRM_USER is not set | ||
359 | # CONFIG_XFRM_SUB_POLICY is not set | ||
360 | # CONFIG_XFRM_MIGRATE is not set | ||
361 | # CONFIG_XFRM_STATISTICS is not set | ||
362 | CONFIG_NET_KEY=y | 45 | CONFIG_NET_KEY=y |
363 | # CONFIG_NET_KEY_MIGRATE is not set | ||
364 | CONFIG_IUCV=y | ||
365 | CONFIG_AFIUCV=m | 46 | CONFIG_AFIUCV=m |
366 | CONFIG_INET=y | 47 | CONFIG_INET=y |
367 | CONFIG_IP_MULTICAST=y | 48 | CONFIG_IP_MULTICAST=y |
368 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
369 | CONFIG_IP_FIB_HASH=y | ||
370 | # CONFIG_IP_PNP is not set | ||
371 | # CONFIG_NET_IPIP is not set | ||
372 | # CONFIG_NET_IPGRE is not set | ||
373 | # CONFIG_IP_MROUTE is not set | ||
374 | # CONFIG_ARPD is not set | ||
375 | # CONFIG_SYN_COOKIES is not set | ||
376 | # CONFIG_INET_AH is not set | ||
377 | # CONFIG_INET_ESP is not set | ||
378 | # CONFIG_INET_IPCOMP is not set | ||
379 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
380 | CONFIG_INET_TUNNEL=y | ||
381 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
382 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
383 | CONFIG_INET_XFRM_MODE_BEET=y | ||
384 | CONFIG_INET_LRO=y | ||
385 | CONFIG_INET_DIAG=y | ||
386 | CONFIG_INET_TCP_DIAG=y | ||
387 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
388 | CONFIG_TCP_CONG_CUBIC=y | ||
389 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
390 | # CONFIG_TCP_MD5SIG is not set | ||
391 | CONFIG_IPV6=y | 49 | CONFIG_IPV6=y |
392 | # CONFIG_IPV6_PRIVACY is not set | ||
393 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
394 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
395 | # CONFIG_INET6_AH is not set | ||
396 | # CONFIG_INET6_ESP is not set | ||
397 | # CONFIG_INET6_IPCOMP is not set | ||
398 | # CONFIG_IPV6_MIP6 is not set | ||
399 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
400 | # CONFIG_INET6_TUNNEL is not set | ||
401 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
402 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
403 | CONFIG_INET6_XFRM_MODE_BEET=y | ||
404 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
405 | CONFIG_IPV6_SIT=y | ||
406 | # CONFIG_IPV6_SIT_6RD is not set | ||
407 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
408 | # CONFIG_IPV6_TUNNEL is not set | ||
409 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
410 | # CONFIG_IPV6_MROUTE is not set | ||
411 | # CONFIG_NETWORK_SECMARK is not set | ||
412 | CONFIG_NETFILTER=y | 50 | CONFIG_NETFILTER=y |
413 | # CONFIG_NETFILTER_DEBUG is not set | ||
414 | CONFIG_NETFILTER_ADVANCED=y | ||
415 | |||
416 | # | ||
417 | # Core Netfilter Configuration | ||
418 | # | ||
419 | CONFIG_NETFILTER_NETLINK=m | ||
420 | CONFIG_NETFILTER_NETLINK_QUEUE=m | 51 | CONFIG_NETFILTER_NETLINK_QUEUE=m |
421 | CONFIG_NETFILTER_NETLINK_LOG=m | 52 | CONFIG_NETFILTER_NETLINK_LOG=m |
422 | CONFIG_NF_CONNTRACK=m | 53 | CONFIG_NF_CONNTRACK=m |
423 | # CONFIG_NF_CT_ACCT is not set | ||
424 | # CONFIG_NF_CONNTRACK_MARK is not set | ||
425 | # CONFIG_NF_CONNTRACK_EVENTS is not set | ||
426 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
427 | # CONFIG_NF_CT_PROTO_SCTP is not set | 54 | # CONFIG_NF_CT_PROTO_SCTP is not set |
428 | # CONFIG_NF_CT_PROTO_UDPLITE is not set | ||
429 | # CONFIG_NF_CONNTRACK_AMANDA is not set | ||
430 | # CONFIG_NF_CONNTRACK_FTP is not set | ||
431 | # CONFIG_NF_CONNTRACK_H323 is not set | ||
432 | # CONFIG_NF_CONNTRACK_IRC is not set | ||
433 | # CONFIG_NF_CONNTRACK_NETBIOS_NS is not set | ||
434 | # CONFIG_NF_CONNTRACK_PPTP is not set | ||
435 | # CONFIG_NF_CONNTRACK_SANE is not set | ||
436 | # CONFIG_NF_CONNTRACK_SIP is not set | ||
437 | # CONFIG_NF_CONNTRACK_TFTP is not set | ||
438 | # CONFIG_NF_CT_NETLINK is not set | ||
439 | # CONFIG_NETFILTER_XTABLES is not set | ||
440 | # CONFIG_IP_VS is not set | ||
441 | |||
442 | # | ||
443 | # IP: Netfilter Configuration | ||
444 | # | ||
445 | # CONFIG_NF_DEFRAG_IPV4 is not set | ||
446 | # CONFIG_NF_CONNTRACK_IPV4 is not set | ||
447 | # CONFIG_IP_NF_QUEUE is not set | ||
448 | # CONFIG_IP_NF_IPTABLES is not set | ||
449 | # CONFIG_IP_NF_ARPTABLES is not set | ||
450 | |||
451 | # | ||
452 | # IPv6: Netfilter Configuration | ||
453 | # | ||
454 | # CONFIG_NF_CONNTRACK_IPV6 is not set | ||
455 | # CONFIG_IP6_NF_QUEUE is not set | ||
456 | # CONFIG_IP6_NF_IPTABLES is not set | ||
457 | # CONFIG_IP_DCCP is not set | ||
458 | CONFIG_IP_SCTP=m | ||
459 | # CONFIG_NET_SCTPPROBE is not set | ||
460 | # CONFIG_SCTP_DBG_MSG is not set | ||
461 | # CONFIG_SCTP_DBG_OBJCNT is not set | ||
462 | # CONFIG_SCTP_HMAC_NONE is not set | ||
463 | # CONFIG_SCTP_HMAC_SHA1 is not set | ||
464 | CONFIG_SCTP_HMAC_MD5=y | ||
465 | # CONFIG_RDS is not set | ||
466 | # CONFIG_TIPC is not set | ||
467 | # CONFIG_ATM is not set | ||
468 | # CONFIG_L2TP is not set | ||
469 | # CONFIG_BRIDGE is not set | ||
470 | # CONFIG_VLAN_8021Q is not set | ||
471 | # CONFIG_DECNET is not set | ||
472 | # CONFIG_LLC2 is not set | ||
473 | # CONFIG_IPX is not set | ||
474 | # CONFIG_ATALK is not set | ||
475 | # CONFIG_X25 is not set | ||
476 | # CONFIG_LAPB is not set | ||
477 | # CONFIG_ECONET is not set | ||
478 | # CONFIG_WAN_ROUTER is not set | ||
479 | # CONFIG_PHONET is not set | ||
480 | # CONFIG_IEEE802154 is not set | ||
481 | CONFIG_NET_SCHED=y | 55 | CONFIG_NET_SCHED=y |
482 | |||
483 | # | ||
484 | # Queueing/Scheduling | ||
485 | # | ||
486 | CONFIG_NET_SCH_CBQ=m | 56 | CONFIG_NET_SCH_CBQ=m |
487 | # CONFIG_NET_SCH_HTB is not set | ||
488 | # CONFIG_NET_SCH_HFSC is not set | ||
489 | CONFIG_NET_SCH_PRIO=m | 57 | CONFIG_NET_SCH_PRIO=m |
490 | CONFIG_NET_SCH_MULTIQ=y | 58 | CONFIG_NET_SCH_MULTIQ=y |
491 | CONFIG_NET_SCH_RED=m | 59 | CONFIG_NET_SCH_RED=m |
@@ -494,104 +62,28 @@ CONFIG_NET_SCH_TEQL=m | |||
494 | CONFIG_NET_SCH_TBF=m | 62 | CONFIG_NET_SCH_TBF=m |
495 | CONFIG_NET_SCH_GRED=m | 63 | CONFIG_NET_SCH_GRED=m |
496 | CONFIG_NET_SCH_DSMARK=m | 64 | CONFIG_NET_SCH_DSMARK=m |
497 | # CONFIG_NET_SCH_NETEM is not set | ||
498 | # CONFIG_NET_SCH_DRR is not set | ||
499 | # CONFIG_NET_SCH_INGRESS is not set | ||
500 | |||
501 | # | ||
502 | # Classification | ||
503 | # | ||
504 | CONFIG_NET_CLS=y | ||
505 | # CONFIG_NET_CLS_BASIC is not set | ||
506 | CONFIG_NET_CLS_TCINDEX=m | 65 | CONFIG_NET_CLS_TCINDEX=m |
507 | CONFIG_NET_CLS_ROUTE4=m | 66 | CONFIG_NET_CLS_ROUTE4=m |
508 | CONFIG_NET_CLS_ROUTE=y | ||
509 | CONFIG_NET_CLS_FW=m | 67 | CONFIG_NET_CLS_FW=m |
510 | CONFIG_NET_CLS_U32=m | 68 | CONFIG_NET_CLS_U32=m |
511 | # CONFIG_CLS_U32_PERF is not set | ||
512 | CONFIG_CLS_U32_MARK=y | 69 | CONFIG_CLS_U32_MARK=y |
513 | CONFIG_NET_CLS_RSVP=m | 70 | CONFIG_NET_CLS_RSVP=m |
514 | CONFIG_NET_CLS_RSVP6=m | 71 | CONFIG_NET_CLS_RSVP6=m |
515 | CONFIG_NET_CLS_FLOW=m | 72 | CONFIG_NET_CLS_FLOW=m |
516 | # CONFIG_NET_CLS_CGROUP is not set | ||
517 | # CONFIG_NET_EMATCH is not set | ||
518 | CONFIG_NET_CLS_ACT=y | 73 | CONFIG_NET_CLS_ACT=y |
519 | CONFIG_NET_ACT_POLICE=y | 74 | CONFIG_NET_ACT_POLICE=y |
520 | # CONFIG_NET_ACT_GACT is not set | ||
521 | # CONFIG_NET_ACT_MIRRED is not set | ||
522 | CONFIG_NET_ACT_NAT=m | 75 | CONFIG_NET_ACT_NAT=m |
523 | # CONFIG_NET_ACT_PEDIT is not set | ||
524 | # CONFIG_NET_ACT_SIMP is not set | ||
525 | # CONFIG_NET_ACT_SKBEDIT is not set | ||
526 | # CONFIG_NET_CLS_IND is not set | ||
527 | CONFIG_NET_SCH_FIFO=y | ||
528 | # CONFIG_DCB is not set | ||
529 | CONFIG_RPS=y | ||
530 | |||
531 | # | ||
532 | # Network testing | ||
533 | # | ||
534 | # CONFIG_NET_PKTGEN is not set | ||
535 | # CONFIG_NET_TCPPROBE is not set | ||
536 | # CONFIG_NET_DROP_MONITOR is not set | ||
537 | CONFIG_CAN=m | 76 | CONFIG_CAN=m |
538 | CONFIG_CAN_RAW=m | 77 | CONFIG_CAN_RAW=m |
539 | CONFIG_CAN_BCM=m | 78 | CONFIG_CAN_BCM=m |
540 | |||
541 | # | ||
542 | # CAN Device Drivers | ||
543 | # | ||
544 | CONFIG_CAN_VCAN=m | 79 | CONFIG_CAN_VCAN=m |
545 | # CONFIG_CAN_DEV is not set | ||
546 | # CONFIG_CAN_DEBUG_DEVICES is not set | ||
547 | # CONFIG_AF_RXRPC is not set | ||
548 | # CONFIG_WIMAX is not set | ||
549 | # CONFIG_RFKILL is not set | ||
550 | # CONFIG_NET_9P is not set | ||
551 | # CONFIG_CAIF is not set | ||
552 | # CONFIG_PCMCIA is not set | ||
553 | CONFIG_CCW=y | ||
554 | |||
555 | # | ||
556 | # Device Drivers | ||
557 | # | ||
558 | |||
559 | # | ||
560 | # Generic Driver Options | ||
561 | # | ||
562 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 80 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
563 | # CONFIG_DEVTMPFS is not set | ||
564 | CONFIG_STANDALONE=y | ||
565 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
566 | CONFIG_FW_LOADER=y | ||
567 | # CONFIG_FIRMWARE_IN_KERNEL is not set | 81 | # CONFIG_FIRMWARE_IN_KERNEL is not set |
568 | CONFIG_EXTRA_FIRMWARE="" | ||
569 | # CONFIG_DEBUG_DRIVER is not set | ||
570 | # CONFIG_DEBUG_DEVRES is not set | ||
571 | CONFIG_SYS_HYPERVISOR=y | ||
572 | # CONFIG_CONNECTOR is not set | ||
573 | CONFIG_BLK_DEV=y | ||
574 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
575 | CONFIG_BLK_DEV_LOOP=m | 82 | CONFIG_BLK_DEV_LOOP=m |
576 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
577 | |||
578 | # | ||
579 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
580 | # | ||
581 | CONFIG_BLK_DEV_NBD=m | 83 | CONFIG_BLK_DEV_NBD=m |
582 | # CONFIG_BLK_DEV_OSD is not set | ||
583 | CONFIG_BLK_DEV_RAM=y | 84 | CONFIG_BLK_DEV_RAM=y |
584 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
585 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
586 | CONFIG_BLK_DEV_XIP=y | 85 | CONFIG_BLK_DEV_XIP=y |
587 | # CONFIG_CDROM_PKTCDVD is not set | ||
588 | # CONFIG_ATA_OVER_ETH is not set | ||
589 | |||
590 | # | ||
591 | # S/390 block device drivers | ||
592 | # | ||
593 | CONFIG_BLK_DEV_XPRAM=m | 86 | CONFIG_BLK_DEV_XPRAM=m |
594 | # CONFIG_DCSSBLK is not set | ||
595 | CONFIG_DASD=y | 87 | CONFIG_DASD=y |
596 | CONFIG_DASD_PROFILE=y | 88 | CONFIG_DASD_PROFILE=y |
597 | CONFIG_DASD_ECKD=y | 89 | CONFIG_DASD_ECKD=y |
@@ -599,56 +91,16 @@ CONFIG_DASD_FBA=y | |||
599 | CONFIG_DASD_DIAG=y | 91 | CONFIG_DASD_DIAG=y |
600 | CONFIG_DASD_EER=y | 92 | CONFIG_DASD_EER=y |
601 | CONFIG_VIRTIO_BLK=m | 93 | CONFIG_VIRTIO_BLK=m |
602 | CONFIG_MISC_DEVICES=y | ||
603 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
604 | # CONFIG_C2PORT is not set | ||
605 | |||
606 | # | ||
607 | # EEPROM support | ||
608 | # | ||
609 | # CONFIG_EEPROM_93CX6 is not set | ||
610 | |||
611 | # | ||
612 | # SCSI device support | ||
613 | # | ||
614 | CONFIG_SCSI_MOD=y | ||
615 | # CONFIG_RAID_ATTRS is not set | ||
616 | CONFIG_SCSI=y | 94 | CONFIG_SCSI=y |
617 | # CONFIG_SCSI_DMA is not set | ||
618 | # CONFIG_SCSI_TGT is not set | ||
619 | CONFIG_SCSI_NETLINK=y | ||
620 | CONFIG_SCSI_PROC_FS=y | ||
621 | |||
622 | # | ||
623 | # SCSI support type (disk, tape, CD-ROM) | ||
624 | # | ||
625 | CONFIG_BLK_DEV_SD=y | 95 | CONFIG_BLK_DEV_SD=y |
626 | CONFIG_CHR_DEV_ST=y | 96 | CONFIG_CHR_DEV_ST=y |
627 | # CONFIG_CHR_DEV_OSST is not set | ||
628 | CONFIG_BLK_DEV_SR=y | 97 | CONFIG_BLK_DEV_SR=y |
629 | CONFIG_BLK_DEV_SR_VENDOR=y | 98 | CONFIG_BLK_DEV_SR_VENDOR=y |
630 | CONFIG_CHR_DEV_SG=y | 99 | CONFIG_CHR_DEV_SG=y |
631 | # CONFIG_CHR_DEV_SCH is not set | ||
632 | CONFIG_SCSI_MULTI_LUN=y | 100 | CONFIG_SCSI_MULTI_LUN=y |
633 | CONFIG_SCSI_CONSTANTS=y | 101 | CONFIG_SCSI_CONSTANTS=y |
634 | CONFIG_SCSI_LOGGING=y | 102 | CONFIG_SCSI_LOGGING=y |
635 | CONFIG_SCSI_SCAN_ASYNC=y | 103 | CONFIG_SCSI_SCAN_ASYNC=y |
636 | CONFIG_SCSI_WAIT_SCAN=m | ||
637 | |||
638 | # | ||
639 | # SCSI Transports | ||
640 | # | ||
641 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
642 | CONFIG_SCSI_FC_ATTRS=y | ||
643 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
644 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
645 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
646 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
647 | CONFIG_SCSI_LOWLEVEL=y | ||
648 | # CONFIG_ISCSI_TCP is not set | ||
649 | # CONFIG_LIBFC is not set | ||
650 | # CONFIG_LIBFCOE is not set | ||
651 | # CONFIG_SCSI_DEBUG is not set | ||
652 | CONFIG_ZFCP=y | 104 | CONFIG_ZFCP=y |
653 | CONFIG_SCSI_DH=m | 105 | CONFIG_SCSI_DH=m |
654 | CONFIG_SCSI_DH_RDAC=m | 106 | CONFIG_SCSI_DH_RDAC=m |
@@ -657,105 +109,39 @@ CONFIG_SCSI_DH_EMC=m | |||
657 | CONFIG_SCSI_DH_ALUA=m | 109 | CONFIG_SCSI_DH_ALUA=m |
658 | CONFIG_SCSI_OSD_INITIATOR=m | 110 | CONFIG_SCSI_OSD_INITIATOR=m |
659 | CONFIG_SCSI_OSD_ULD=m | 111 | CONFIG_SCSI_OSD_ULD=m |
660 | CONFIG_SCSI_OSD_DPRINT_SENSE=1 | ||
661 | # CONFIG_SCSI_OSD_DEBUG is not set | ||
662 | CONFIG_MD=y | 112 | CONFIG_MD=y |
663 | CONFIG_BLK_DEV_MD=y | 113 | CONFIG_BLK_DEV_MD=y |
664 | CONFIG_MD_AUTODETECT=y | ||
665 | CONFIG_MD_LINEAR=m | 114 | CONFIG_MD_LINEAR=m |
666 | CONFIG_MD_RAID0=m | 115 | CONFIG_MD_RAID0=m |
667 | CONFIG_MD_RAID1=m | 116 | CONFIG_MD_RAID1=m |
668 | # CONFIG_MD_RAID10 is not set | ||
669 | # CONFIG_MD_RAID456 is not set | ||
670 | CONFIG_MD_MULTIPATH=m | 117 | CONFIG_MD_MULTIPATH=m |
671 | # CONFIG_MD_FAULTY is not set | ||
672 | CONFIG_BLK_DEV_DM=y | 118 | CONFIG_BLK_DEV_DM=y |
673 | # CONFIG_DM_DEBUG is not set | ||
674 | CONFIG_DM_CRYPT=y | 119 | CONFIG_DM_CRYPT=y |
675 | CONFIG_DM_SNAPSHOT=y | 120 | CONFIG_DM_SNAPSHOT=y |
676 | CONFIG_DM_MIRROR=y | 121 | CONFIG_DM_MIRROR=y |
677 | # CONFIG_DM_LOG_USERSPACE is not set | ||
678 | CONFIG_DM_ZERO=y | 122 | CONFIG_DM_ZERO=y |
679 | CONFIG_DM_MULTIPATH=m | 123 | CONFIG_DM_MULTIPATH=m |
680 | # CONFIG_DM_MULTIPATH_QL is not set | ||
681 | # CONFIG_DM_MULTIPATH_ST is not set | ||
682 | # CONFIG_DM_DELAY is not set | ||
683 | # CONFIG_DM_UEVENT is not set | ||
684 | CONFIG_NETDEVICES=y | 124 | CONFIG_NETDEVICES=y |
685 | # CONFIG_IFB is not set | ||
686 | CONFIG_DUMMY=m | 125 | CONFIG_DUMMY=m |
687 | CONFIG_BONDING=m | 126 | CONFIG_BONDING=m |
688 | # CONFIG_MACVLAN is not set | ||
689 | CONFIG_EQUALIZER=m | 127 | CONFIG_EQUALIZER=m |
690 | CONFIG_TUN=m | 128 | CONFIG_TUN=m |
691 | CONFIG_VETH=m | 129 | CONFIG_VETH=m |
692 | CONFIG_NET_ETHERNET=y | 130 | CONFIG_NET_ETHERNET=y |
693 | # CONFIG_MII is not set | ||
694 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
695 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
696 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
697 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
698 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
699 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
700 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
701 | CONFIG_NETDEV_1000=y | ||
702 | CONFIG_NETDEV_10000=y | ||
703 | # CONFIG_TR is not set | ||
704 | |||
705 | # | ||
706 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
707 | # | ||
708 | # CONFIG_WAN is not set | ||
709 | |||
710 | # | ||
711 | # S/390 network device drivers | ||
712 | # | ||
713 | CONFIG_LCS=m | 131 | CONFIG_LCS=m |
714 | CONFIG_CTCM=m | 132 | CONFIG_CTCM=m |
715 | # CONFIG_NETIUCV is not set | ||
716 | # CONFIG_SMSGIUCV is not set | ||
717 | # CONFIG_CLAW is not set | ||
718 | CONFIG_QETH=y | 133 | CONFIG_QETH=y |
719 | CONFIG_QETH_L2=y | 134 | CONFIG_QETH_L2=y |
720 | CONFIG_QETH_L3=y | 135 | CONFIG_QETH_L3=y |
721 | CONFIG_QETH_IPV6=y | ||
722 | CONFIG_CCWGROUP=y | ||
723 | # CONFIG_PPP is not set | ||
724 | # CONFIG_SLIP is not set | ||
725 | # CONFIG_NETCONSOLE is not set | ||
726 | # CONFIG_NETPOLL is not set | ||
727 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
728 | CONFIG_VIRTIO_NET=m | 136 | CONFIG_VIRTIO_NET=m |
729 | |||
730 | # | ||
731 | # Character devices | ||
732 | # | ||
733 | CONFIG_DEVKMEM=y | ||
734 | # CONFIG_N_GSM is not set | ||
735 | CONFIG_UNIX98_PTYS=y | ||
736 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
737 | CONFIG_LEGACY_PTYS=y | ||
738 | CONFIG_LEGACY_PTY_COUNT=256 | ||
739 | CONFIG_HVC_DRIVER=y | ||
740 | CONFIG_HVC_IUCV=y | ||
741 | CONFIG_VIRTIO_CONSOLE=y | ||
742 | CONFIG_HW_RANDOM=m | ||
743 | CONFIG_HW_RANDOM_VIRTIO=m | 137 | CONFIG_HW_RANDOM_VIRTIO=m |
744 | # CONFIG_R3964 is not set | ||
745 | CONFIG_RAW_DRIVER=m | 138 | CONFIG_RAW_DRIVER=m |
746 | CONFIG_MAX_RAW_DEVS=256 | ||
747 | # CONFIG_HANGCHECK_TIMER is not set | ||
748 | |||
749 | # | ||
750 | # S/390 character device drivers | ||
751 | # | ||
752 | CONFIG_TN3270=y | 139 | CONFIG_TN3270=y |
753 | CONFIG_TN3270_TTY=y | 140 | CONFIG_TN3270_TTY=y |
754 | CONFIG_TN3270_FS=m | 141 | CONFIG_TN3270_FS=m |
755 | CONFIG_TN3270_CONSOLE=y | 142 | CONFIG_TN3270_CONSOLE=y |
756 | CONFIG_TN3215=y | 143 | CONFIG_TN3215=y |
757 | CONFIG_TN3215_CONSOLE=y | 144 | CONFIG_TN3215_CONSOLE=y |
758 | CONFIG_CCW_CONSOLE=y | ||
759 | CONFIG_SCLP_TTY=y | 145 | CONFIG_SCLP_TTY=y |
760 | CONFIG_SCLP_CONSOLE=y | 146 | CONFIG_SCLP_CONSOLE=y |
761 | CONFIG_SCLP_VT220_TTY=y | 147 | CONFIG_SCLP_VT220_TTY=y |
@@ -763,410 +149,54 @@ CONFIG_SCLP_VT220_CONSOLE=y | |||
763 | CONFIG_SCLP_CPI=m | 149 | CONFIG_SCLP_CPI=m |
764 | CONFIG_SCLP_ASYNC=m | 150 | CONFIG_SCLP_ASYNC=m |
765 | CONFIG_S390_TAPE=m | 151 | CONFIG_S390_TAPE=m |
766 | |||
767 | # | ||
768 | # S/390 tape interface support | ||
769 | # | ||
770 | CONFIG_S390_TAPE_BLOCK=y | 152 | CONFIG_S390_TAPE_BLOCK=y |
771 | |||
772 | # | ||
773 | # S/390 tape hardware support | ||
774 | # | ||
775 | CONFIG_S390_TAPE_34XX=m | 153 | CONFIG_S390_TAPE_34XX=m |
776 | # CONFIG_S390_TAPE_3590 is not set | ||
777 | # CONFIG_VMLOGRDR is not set | ||
778 | # CONFIG_VMCP is not set | ||
779 | # CONFIG_MONREADER is not set | ||
780 | CONFIG_MONWRITER=m | ||
781 | CONFIG_S390_VMUR=m | ||
782 | # CONFIG_RAMOOPS is not set | ||
783 | |||
784 | # | ||
785 | # PPS support | ||
786 | # | ||
787 | # CONFIG_PPS is not set | ||
788 | # CONFIG_POWER_SUPPLY is not set | ||
789 | # CONFIG_THERMAL is not set | ||
790 | # CONFIG_WATCHDOG is not set | ||
791 | # CONFIG_REGULATOR is not set | ||
792 | # CONFIG_MEMSTICK is not set | ||
793 | # CONFIG_NEW_LEDS is not set | ||
794 | CONFIG_ACCESSIBILITY=y | 154 | CONFIG_ACCESSIBILITY=y |
795 | # CONFIG_AUXDISPLAY is not set | ||
796 | # CONFIG_STAGING is not set | ||
797 | |||
798 | # | ||
799 | # File systems | ||
800 | # | ||
801 | CONFIG_EXT2_FS=y | 155 | CONFIG_EXT2_FS=y |
802 | # CONFIG_EXT2_FS_XATTR is not set | ||
803 | # CONFIG_EXT2_FS_XIP is not set | ||
804 | CONFIG_EXT3_FS=y | 156 | CONFIG_EXT3_FS=y |
805 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | 157 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set |
806 | CONFIG_EXT3_FS_XATTR=y | ||
807 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
808 | # CONFIG_EXT3_FS_SECURITY is not set | ||
809 | # CONFIG_EXT4_FS is not set | ||
810 | CONFIG_JBD=y | ||
811 | # CONFIG_JBD_DEBUG is not set | ||
812 | CONFIG_FS_MBCACHE=y | ||
813 | # CONFIG_REISERFS_FS is not set | ||
814 | # CONFIG_JFS_FS is not set | ||
815 | CONFIG_FS_POSIX_ACL=y | ||
816 | # CONFIG_XFS_FS is not set | ||
817 | # CONFIG_GFS2_FS is not set | ||
818 | # CONFIG_OCFS2_FS is not set | ||
819 | # CONFIG_BTRFS_FS is not set | ||
820 | # CONFIG_NILFS2_FS is not set | ||
821 | CONFIG_FILE_LOCKING=y | ||
822 | CONFIG_FSNOTIFY=y | ||
823 | CONFIG_DNOTIFY=y | ||
824 | CONFIG_INOTIFY=y | ||
825 | CONFIG_INOTIFY_USER=y | ||
826 | # CONFIG_QUOTA is not set | ||
827 | # CONFIG_AUTOFS_FS is not set | ||
828 | # CONFIG_AUTOFS4_FS is not set | ||
829 | # CONFIG_FUSE_FS is not set | ||
830 | CONFIG_GENERIC_ACL=y | ||
831 | |||
832 | # | ||
833 | # Caches | ||
834 | # | ||
835 | # CONFIG_FSCACHE is not set | ||
836 | |||
837 | # | ||
838 | # CD-ROM/DVD Filesystems | ||
839 | # | ||
840 | # CONFIG_ISO9660_FS is not set | ||
841 | # CONFIG_UDF_FS is not set | ||
842 | |||
843 | # | ||
844 | # DOS/FAT/NT Filesystems | ||
845 | # | ||
846 | # CONFIG_MSDOS_FS is not set | ||
847 | # CONFIG_VFAT_FS is not set | ||
848 | # CONFIG_NTFS_FS is not set | ||
849 | |||
850 | # | ||
851 | # Pseudo filesystems | ||
852 | # | ||
853 | CONFIG_PROC_FS=y | ||
854 | CONFIG_PROC_KCORE=y | 158 | CONFIG_PROC_KCORE=y |
855 | CONFIG_PROC_SYSCTL=y | ||
856 | CONFIG_PROC_PAGE_MONITOR=y | ||
857 | CONFIG_SYSFS=y | ||
858 | CONFIG_TMPFS=y | 159 | CONFIG_TMPFS=y |
859 | CONFIG_TMPFS_POSIX_ACL=y | 160 | CONFIG_TMPFS_POSIX_ACL=y |
860 | # CONFIG_HUGETLBFS is not set | ||
861 | # CONFIG_HUGETLB_PAGE is not set | ||
862 | CONFIG_CONFIGFS_FS=m | ||
863 | CONFIG_MISC_FILESYSTEMS=y | ||
864 | # CONFIG_ADFS_FS is not set | ||
865 | # CONFIG_AFFS_FS is not set | ||
866 | # CONFIG_HFS_FS is not set | ||
867 | # CONFIG_HFSPLUS_FS is not set | ||
868 | # CONFIG_BEFS_FS is not set | ||
869 | # CONFIG_BFS_FS is not set | ||
870 | # CONFIG_EFS_FS is not set | ||
871 | # CONFIG_LOGFS is not set | ||
872 | # CONFIG_CRAMFS is not set | ||
873 | # CONFIG_SQUASHFS is not set | ||
874 | # CONFIG_VXFS_FS is not set | ||
875 | # CONFIG_MINIX_FS is not set | ||
876 | # CONFIG_OMFS_FS is not set | ||
877 | # CONFIG_HPFS_FS is not set | ||
878 | # CONFIG_QNX4FS_FS is not set | ||
879 | # CONFIG_ROMFS_FS is not set | ||
880 | # CONFIG_SYSV_FS is not set | ||
881 | # CONFIG_UFS_FS is not set | ||
882 | # CONFIG_EXOFS_FS is not set | ||
883 | CONFIG_NETWORK_FILESYSTEMS=y | ||
884 | CONFIG_NFS_FS=y | 161 | CONFIG_NFS_FS=y |
885 | CONFIG_NFS_V3=y | 162 | CONFIG_NFS_V3=y |
886 | # CONFIG_NFS_V3_ACL is not set | ||
887 | # CONFIG_NFS_V4 is not set | ||
888 | CONFIG_NFSD=y | 163 | CONFIG_NFSD=y |
889 | CONFIG_NFSD_V3=y | 164 | CONFIG_NFSD_V3=y |
890 | # CONFIG_NFSD_V3_ACL is not set | ||
891 | # CONFIG_NFSD_V4 is not set | ||
892 | CONFIG_LOCKD=y | ||
893 | CONFIG_LOCKD_V4=y | ||
894 | CONFIG_EXPORTFS=y | ||
895 | CONFIG_NFS_COMMON=y | ||
896 | CONFIG_SUNRPC=y | ||
897 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
898 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
899 | # CONFIG_SMB_FS is not set | ||
900 | # CONFIG_CEPH_FS is not set | ||
901 | # CONFIG_CIFS is not set | ||
902 | # CONFIG_NCP_FS is not set | ||
903 | # CONFIG_CODA_FS is not set | ||
904 | # CONFIG_AFS_FS is not set | ||
905 | |||
906 | # | ||
907 | # Partition Types | ||
908 | # | ||
909 | CONFIG_PARTITION_ADVANCED=y | 165 | CONFIG_PARTITION_ADVANCED=y |
910 | # CONFIG_ACORN_PARTITION is not set | ||
911 | # CONFIG_OSF_PARTITION is not set | ||
912 | # CONFIG_AMIGA_PARTITION is not set | ||
913 | # CONFIG_ATARI_PARTITION is not set | ||
914 | CONFIG_IBM_PARTITION=y | 166 | CONFIG_IBM_PARTITION=y |
915 | # CONFIG_MAC_PARTITION is not set | ||
916 | CONFIG_MSDOS_PARTITION=y | ||
917 | # CONFIG_BSD_DISKLABEL is not set | ||
918 | # CONFIG_MINIX_SUBPARTITION is not set | ||
919 | # CONFIG_SOLARIS_X86_PARTITION is not set | ||
920 | # CONFIG_UNIXWARE_DISKLABEL is not set | ||
921 | # CONFIG_LDM_PARTITION is not set | ||
922 | # CONFIG_SGI_PARTITION is not set | ||
923 | # CONFIG_ULTRIX_PARTITION is not set | ||
924 | # CONFIG_SUN_PARTITION is not set | ||
925 | # CONFIG_KARMA_PARTITION is not set | ||
926 | # CONFIG_EFI_PARTITION is not set | ||
927 | # CONFIG_SYSV68_PARTITION is not set | ||
928 | # CONFIG_NLS is not set | ||
929 | CONFIG_DLM=m | 167 | CONFIG_DLM=m |
930 | # CONFIG_DLM_DEBUG is not set | ||
931 | |||
932 | # | ||
933 | # Kernel hacking | ||
934 | # | ||
935 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
936 | # CONFIG_PRINTK_TIME is not set | ||
937 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
938 | CONFIG_ENABLE_MUST_CHECK=y | ||
939 | CONFIG_FRAME_WARN=2048 | ||
940 | CONFIG_MAGIC_SYSRQ=y | 168 | CONFIG_MAGIC_SYSRQ=y |
941 | # CONFIG_STRIP_ASM_SYMS is not set | ||
942 | # CONFIG_UNUSED_SYMBOLS is not set | ||
943 | CONFIG_DEBUG_FS=y | ||
944 | # CONFIG_HEADERS_CHECK is not set | ||
945 | CONFIG_DEBUG_KERNEL=y | 169 | CONFIG_DEBUG_KERNEL=y |
946 | # CONFIG_DETECT_HUNG_TASK is not set | ||
947 | # CONFIG_SCHED_DEBUG is not set | 170 | # CONFIG_SCHED_DEBUG is not set |
948 | # CONFIG_SCHEDSTATS is not set | ||
949 | # CONFIG_TIMER_STATS is not set | ||
950 | # CONFIG_DEBUG_OBJECTS is not set | ||
951 | # CONFIG_DEBUG_SLAB is not set | ||
952 | CONFIG_DEBUG_PREEMPT=y | ||
953 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
954 | # CONFIG_RT_MUTEX_TESTER is not set | ||
955 | CONFIG_DEBUG_SPINLOCK=y | 171 | CONFIG_DEBUG_SPINLOCK=y |
956 | CONFIG_DEBUG_MUTEXES=y | 172 | CONFIG_DEBUG_MUTEXES=y |
957 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
958 | # CONFIG_PROVE_LOCKING is not set | ||
959 | # CONFIG_LOCK_STAT is not set | ||
960 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | 173 | CONFIG_DEBUG_SPINLOCK_SLEEP=y |
961 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
962 | CONFIG_STACKTRACE=y | ||
963 | # CONFIG_DEBUG_KOBJECT is not set | ||
964 | CONFIG_DEBUG_BUGVERBOSE=y | ||
965 | # CONFIG_DEBUG_INFO is not set | ||
966 | # CONFIG_DEBUG_VM is not set | ||
967 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
968 | CONFIG_DEBUG_MEMORY_INIT=y | ||
969 | # CONFIG_DEBUG_LIST is not set | ||
970 | # CONFIG_DEBUG_SG is not set | ||
971 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
972 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
973 | # CONFIG_RCU_TORTURE_TEST is not set | ||
974 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 174 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
975 | # CONFIG_KPROBES_SANITY_TEST is not set | ||
976 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
977 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
978 | CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y | 175 | CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y |
979 | # CONFIG_LKDTM is not set | ||
980 | # CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set | ||
981 | # CONFIG_FAULT_INJECTION is not set | ||
982 | # CONFIG_LATENCYTOP is not set | ||
983 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 176 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
984 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
985 | CONFIG_NOP_TRACER=y | ||
986 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
987 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
988 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | ||
989 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
990 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
991 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y | ||
992 | CONFIG_RING_BUFFER=y | ||
993 | CONFIG_EVENT_TRACING=y | ||
994 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
995 | CONFIG_TRACING=y | ||
996 | CONFIG_TRACING_SUPPORT=y | ||
997 | CONFIG_FTRACE=y | ||
998 | # CONFIG_FUNCTION_TRACER is not set | ||
999 | # CONFIG_IRQSOFF_TRACER is not set | ||
1000 | # CONFIG_PREEMPT_TRACER is not set | ||
1001 | # CONFIG_SCHED_TRACER is not set | ||
1002 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
1003 | # CONFIG_FTRACE_SYSCALLS is not set | ||
1004 | # CONFIG_BOOT_TRACER is not set | ||
1005 | CONFIG_BRANCH_PROFILE_NONE=y | ||
1006 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
1007 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
1008 | # CONFIG_STACK_TRACER is not set | ||
1009 | # CONFIG_KMEMTRACE is not set | ||
1010 | # CONFIG_WORKQUEUE_TRACER is not set | ||
1011 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
1012 | CONFIG_KPROBE_EVENT=y | ||
1013 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
1014 | # CONFIG_DYNAMIC_DEBUG is not set | ||
1015 | # CONFIG_ATOMIC64_SELFTEST is not set | ||
1016 | CONFIG_SAMPLES=y | 177 | CONFIG_SAMPLES=y |
1017 | # CONFIG_SAMPLE_TRACEPOINTS is not set | ||
1018 | # CONFIG_SAMPLE_TRACE_EVENTS is not set | ||
1019 | # CONFIG_SAMPLE_KOBJECT is not set | ||
1020 | # CONFIG_SAMPLE_KPROBES is not set | ||
1021 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set | ||
1022 | |||
1023 | # | ||
1024 | # Security options | ||
1025 | # | ||
1026 | # CONFIG_KEYS is not set | ||
1027 | # CONFIG_SECURITY is not set | ||
1028 | # CONFIG_SECURITYFS is not set | ||
1029 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
1030 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1031 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1032 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1033 | CONFIG_DEFAULT_SECURITY="" | ||
1034 | CONFIG_CRYPTO=y | ||
1035 | |||
1036 | # | ||
1037 | # Crypto core or helper | ||
1038 | # | ||
1039 | CONFIG_CRYPTO_FIPS=y | 178 | CONFIG_CRYPTO_FIPS=y |
1040 | CONFIG_CRYPTO_ALGAPI=y | ||
1041 | CONFIG_CRYPTO_ALGAPI2=y | ||
1042 | CONFIG_CRYPTO_AEAD=m | ||
1043 | CONFIG_CRYPTO_AEAD2=y | ||
1044 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1045 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1046 | CONFIG_CRYPTO_HASH=m | ||
1047 | CONFIG_CRYPTO_HASH2=y | ||
1048 | CONFIG_CRYPTO_RNG=m | ||
1049 | CONFIG_CRYPTO_RNG2=y | ||
1050 | CONFIG_CRYPTO_PCOMP=y | ||
1051 | CONFIG_CRYPTO_MANAGER=y | ||
1052 | CONFIG_CRYPTO_MANAGER2=y | ||
1053 | CONFIG_CRYPTO_GF128MUL=m | ||
1054 | # CONFIG_CRYPTO_NULL is not set | ||
1055 | # CONFIG_CRYPTO_PCRYPT is not set | ||
1056 | CONFIG_CRYPTO_WORKQUEUE=y | ||
1057 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1058 | CONFIG_CRYPTO_AUTHENC=m | 179 | CONFIG_CRYPTO_AUTHENC=m |
1059 | # CONFIG_CRYPTO_TEST is not set | ||
1060 | |||
1061 | # | ||
1062 | # Authenticated Encryption with Associated Data | ||
1063 | # | ||
1064 | CONFIG_CRYPTO_CCM=m | 180 | CONFIG_CRYPTO_CCM=m |
1065 | CONFIG_CRYPTO_GCM=m | 181 | CONFIG_CRYPTO_GCM=m |
1066 | CONFIG_CRYPTO_SEQIV=m | ||
1067 | |||
1068 | # | ||
1069 | # Block modes | ||
1070 | # | ||
1071 | CONFIG_CRYPTO_CBC=y | ||
1072 | CONFIG_CRYPTO_CTR=m | ||
1073 | CONFIG_CRYPTO_CTS=m | 182 | CONFIG_CRYPTO_CTS=m |
1074 | CONFIG_CRYPTO_ECB=m | 183 | CONFIG_CRYPTO_ECB=m |
1075 | # CONFIG_CRYPTO_LRW is not set | ||
1076 | CONFIG_CRYPTO_PCBC=m | 184 | CONFIG_CRYPTO_PCBC=m |
1077 | # CONFIG_CRYPTO_XTS is not set | ||
1078 | |||
1079 | # | ||
1080 | # Hash modes | ||
1081 | # | ||
1082 | CONFIG_CRYPTO_HMAC=m | ||
1083 | # CONFIG_CRYPTO_XCBC is not set | ||
1084 | CONFIG_CRYPTO_VMAC=m | 185 | CONFIG_CRYPTO_VMAC=m |
1085 | |||
1086 | # | ||
1087 | # Digest | ||
1088 | # | ||
1089 | CONFIG_CRYPTO_CRC32C=m | ||
1090 | CONFIG_CRYPTO_GHASH=m | ||
1091 | # CONFIG_CRYPTO_MD4 is not set | ||
1092 | CONFIG_CRYPTO_MD5=m | ||
1093 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1094 | CONFIG_CRYPTO_RMD128=m | 186 | CONFIG_CRYPTO_RMD128=m |
1095 | CONFIG_CRYPTO_RMD160=m | 187 | CONFIG_CRYPTO_RMD160=m |
1096 | CONFIG_CRYPTO_RMD256=m | 188 | CONFIG_CRYPTO_RMD256=m |
1097 | CONFIG_CRYPTO_RMD320=m | 189 | CONFIG_CRYPTO_RMD320=m |
1098 | CONFIG_CRYPTO_SHA1=m | ||
1099 | # CONFIG_CRYPTO_SHA256 is not set | ||
1100 | # CONFIG_CRYPTO_SHA512 is not set | ||
1101 | # CONFIG_CRYPTO_TGR192 is not set | ||
1102 | # CONFIG_CRYPTO_WP512 is not set | ||
1103 | |||
1104 | # | ||
1105 | # Ciphers | ||
1106 | # | ||
1107 | CONFIG_CRYPTO_AES=m | ||
1108 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1109 | # CONFIG_CRYPTO_ARC4 is not set | ||
1110 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1111 | CONFIG_CRYPTO_CAMELLIA=m | 190 | CONFIG_CRYPTO_CAMELLIA=m |
1112 | # CONFIG_CRYPTO_CAST5 is not set | ||
1113 | # CONFIG_CRYPTO_CAST6 is not set | ||
1114 | # CONFIG_CRYPTO_DES is not set | ||
1115 | CONFIG_CRYPTO_FCRYPT=m | 191 | CONFIG_CRYPTO_FCRYPT=m |
1116 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1117 | CONFIG_CRYPTO_SALSA20=m | 192 | CONFIG_CRYPTO_SALSA20=m |
1118 | CONFIG_CRYPTO_SEED=m | 193 | CONFIG_CRYPTO_SEED=m |
1119 | # CONFIG_CRYPTO_SERPENT is not set | ||
1120 | # CONFIG_CRYPTO_TEA is not set | ||
1121 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1122 | |||
1123 | # | ||
1124 | # Compression | ||
1125 | # | ||
1126 | # CONFIG_CRYPTO_DEFLATE is not set | ||
1127 | CONFIG_CRYPTO_ZLIB=m | 194 | CONFIG_CRYPTO_ZLIB=m |
1128 | CONFIG_CRYPTO_LZO=m | 195 | CONFIG_CRYPTO_LZO=m |
1129 | |||
1130 | # | ||
1131 | # Random Number Generation | ||
1132 | # | ||
1133 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
1134 | CONFIG_CRYPTO_HW=y | ||
1135 | CONFIG_ZCRYPT=m | 196 | CONFIG_ZCRYPT=m |
1136 | # CONFIG_ZCRYPT_MONOLITHIC is not set | ||
1137 | # CONFIG_CRYPTO_SHA1_S390 is not set | ||
1138 | # CONFIG_CRYPTO_SHA256_S390 is not set | ||
1139 | CONFIG_CRYPTO_SHA512_S390=m | 197 | CONFIG_CRYPTO_SHA512_S390=m |
1140 | # CONFIG_CRYPTO_DES_S390 is not set | ||
1141 | # CONFIG_CRYPTO_AES_S390 is not set | ||
1142 | CONFIG_S390_PRNG=m | ||
1143 | CONFIG_BINARY_PRINTF=y | ||
1144 | |||
1145 | # | ||
1146 | # Library routines | ||
1147 | # | ||
1148 | CONFIG_BITREVERSE=m | ||
1149 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
1150 | # CONFIG_CRC_CCITT is not set | ||
1151 | # CONFIG_CRC16 is not set | ||
1152 | CONFIG_CRC_T10DIF=y | 198 | CONFIG_CRC_T10DIF=y |
1153 | # CONFIG_CRC_ITU_T is not set | ||
1154 | CONFIG_CRC32=m | 199 | CONFIG_CRC32=m |
1155 | CONFIG_CRC7=m | 200 | CONFIG_CRC7=m |
1156 | CONFIG_LIBCRC32C=m | ||
1157 | CONFIG_ZLIB_INFLATE=y | ||
1158 | CONFIG_ZLIB_DEFLATE=m | ||
1159 | CONFIG_LZO_COMPRESS=m | ||
1160 | CONFIG_LZO_DECOMPRESS=y | ||
1161 | CONFIG_DECOMPRESS_GZIP=y | ||
1162 | CONFIG_DECOMPRESS_BZIP2=y | ||
1163 | CONFIG_DECOMPRESS_LZMA=y | ||
1164 | CONFIG_DECOMPRESS_LZO=y | ||
1165 | CONFIG_NLATTR=y | ||
1166 | CONFIG_HAVE_KVM=y | ||
1167 | CONFIG_VIRTUALIZATION=y | ||
1168 | CONFIG_KVM=m | 201 | CONFIG_KVM=m |
1169 | # CONFIG_VHOST_NET is not set | ||
1170 | CONFIG_VIRTIO=y | ||
1171 | CONFIG_VIRTIO_RING=y | ||
1172 | CONFIG_VIRTIO_BALLOON=m | 202 | CONFIG_VIRTIO_BALLOON=m |
diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c index 6b120f073043..98a4a4c267a7 100644 --- a/arch/s390/hypfs/inode.c +++ b/arch/s390/hypfs/inode.c | |||
@@ -117,10 +117,10 @@ static struct inode *hypfs_make_inode(struct super_block *sb, int mode) | |||
117 | return ret; | 117 | return ret; |
118 | } | 118 | } |
119 | 119 | ||
120 | static void hypfs_drop_inode(struct inode *inode) | 120 | static void hypfs_evict_inode(struct inode *inode) |
121 | { | 121 | { |
122 | end_writeback(inode); | ||
122 | kfree(inode->i_private); | 123 | kfree(inode->i_private); |
123 | generic_delete_inode(inode); | ||
124 | } | 124 | } |
125 | 125 | ||
126 | static int hypfs_open(struct inode *inode, struct file *filp) | 126 | static int hypfs_open(struct inode *inode, struct file *filp) |
@@ -460,7 +460,7 @@ static struct file_system_type hypfs_type = { | |||
460 | 460 | ||
461 | static const struct super_operations hypfs_s_ops = { | 461 | static const struct super_operations hypfs_s_ops = { |
462 | .statfs = simple_statfs, | 462 | .statfs = simple_statfs, |
463 | .drop_inode = hypfs_drop_inode, | 463 | .evict_inode = hypfs_evict_inode, |
464 | .show_options = hypfs_show_options, | 464 | .show_options = hypfs_show_options, |
465 | }; | 465 | }; |
466 | 466 | ||
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild index 63a23415fba6..42e512ba8b43 100644 --- a/arch/s390/include/asm/Kbuild +++ b/arch/s390/include/asm/Kbuild | |||
@@ -1,15 +1,14 @@ | |||
1 | include include/asm-generic/Kbuild.asm | 1 | include include/asm-generic/Kbuild.asm |
2 | 2 | ||
3 | header-y += chpid.h | ||
4 | header-y += chsc.h | ||
5 | header-y += cmb.h | ||
3 | header-y += dasd.h | 6 | header-y += dasd.h |
7 | header-y += debug.h | ||
4 | header-y += monwriter.h | 8 | header-y += monwriter.h |
5 | header-y += qeth.h | 9 | header-y += qeth.h |
10 | header-y += schid.h | ||
6 | header-y += tape390.h | 11 | header-y += tape390.h |
7 | header-y += ucontext.h | 12 | header-y += ucontext.h |
8 | header-y += vtoc.h | 13 | header-y += vtoc.h |
9 | header-y += zcrypt.h | 14 | header-y += zcrypt.h |
10 | header-y += chsc.h | ||
11 | |||
12 | unifdef-y += cmb.h | ||
13 | unifdef-y += debug.h | ||
14 | unifdef-y += chpid.h | ||
15 | unifdef-y += schid.h | ||
diff --git a/arch/s390/include/asm/ccwdev.h b/arch/s390/include/asm/ccwdev.h index 1c0030f9b890..f3ba0fa98de6 100644 --- a/arch/s390/include/asm/ccwdev.h +++ b/arch/s390/include/asm/ccwdev.h | |||
@@ -208,6 +208,8 @@ extern void ccw_device_get_id(struct ccw_device *, struct ccw_dev_id *); | |||
208 | extern struct ccw_device *ccw_device_probe_console(void); | 208 | extern struct ccw_device *ccw_device_probe_console(void); |
209 | extern int ccw_device_force_console(void); | 209 | extern int ccw_device_force_console(void); |
210 | 210 | ||
211 | int ccw_device_siosl(struct ccw_device *); | ||
212 | |||
211 | // FIXME: these have to go | 213 | // FIXME: these have to go |
212 | extern int _ccw_device_get_subchannel_number(struct ccw_device *); | 214 | extern int _ccw_device_get_subchannel_number(struct ccw_device *); |
213 | 215 | ||
diff --git a/arch/s390/include/asm/ioctls.h b/arch/s390/include/asm/ioctls.h index 40e481b1b461..2f3d8736361f 100644 --- a/arch/s390/include/asm/ioctls.h +++ b/arch/s390/include/asm/ioctls.h | |||
@@ -60,6 +60,7 @@ | |||
60 | #define TCSETSF2 _IOW('T',0x2D, struct termios2) | 60 | #define TCSETSF2 _IOW('T',0x2D, struct termios2) |
61 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ | 61 | #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ |
62 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ | 62 | #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ |
63 | #define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ | ||
63 | 64 | ||
64 | #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ | 65 | #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ |
65 | #define FIOCLEX 0x5451 | 66 | #define FIOCLEX 0x5451 |
@@ -86,6 +87,7 @@ | |||
86 | #define TIOCPKT_START 8 | 87 | #define TIOCPKT_START 8 |
87 | #define TIOCPKT_NOSTOP 16 | 88 | #define TIOCPKT_NOSTOP 16 |
88 | #define TIOCPKT_DOSTOP 32 | 89 | #define TIOCPKT_DOSTOP 32 |
90 | #define TIOCPKT_IOCTL 64 | ||
89 | 91 | ||
90 | #define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ | 92 | #define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ |
91 | 93 | ||
diff --git a/arch/s390/include/asm/kvm_host.h b/arch/s390/include/asm/kvm_host.h index 27605b62b980..cef7dbf69dfc 100644 --- a/arch/s390/include/asm/kvm_host.h +++ b/arch/s390/include/asm/kvm_host.h | |||
@@ -26,7 +26,7 @@ | |||
26 | 26 | ||
27 | struct sca_entry { | 27 | struct sca_entry { |
28 | atomic_t scn; | 28 | atomic_t scn; |
29 | __u64 reserved; | 29 | __u32 reserved; |
30 | __u64 sda; | 30 | __u64 sda; |
31 | __u64 reserved2[2]; | 31 | __u64 reserved2[2]; |
32 | } __attribute__((packed)); | 32 | } __attribute__((packed)); |
@@ -41,7 +41,8 @@ struct sca_block { | |||
41 | } __attribute__((packed)); | 41 | } __attribute__((packed)); |
42 | 42 | ||
43 | #define KVM_NR_PAGE_SIZES 2 | 43 | #define KVM_NR_PAGE_SIZES 2 |
44 | #define KVM_HPAGE_SHIFT(x) (PAGE_SHIFT + ((x) - 1) * 8) | 44 | #define KVM_HPAGE_GFN_SHIFT(x) (((x) - 1) * 8) |
45 | #define KVM_HPAGE_SHIFT(x) (PAGE_SHIFT + KVM_HPAGE_GFN_SHIFT(x)) | ||
45 | #define KVM_HPAGE_SIZE(x) (1UL << KVM_HPAGE_SHIFT(x)) | 46 | #define KVM_HPAGE_SIZE(x) (1UL << KVM_HPAGE_SHIFT(x)) |
46 | #define KVM_HPAGE_MASK(x) (~(KVM_HPAGE_SIZE(x) - 1)) | 47 | #define KVM_HPAGE_MASK(x) (~(KVM_HPAGE_SIZE(x) - 1)) |
47 | #define KVM_PAGES_PER_HPAGE(x) (KVM_HPAGE_SIZE(x) / PAGE_SIZE) | 48 | #define KVM_PAGES_PER_HPAGE(x) (KVM_HPAGE_SIZE(x) / PAGE_SIZE) |
diff --git a/arch/s390/include/asm/local64.h b/arch/s390/include/asm/local64.h new file mode 100644 index 000000000000..36c93b5cc239 --- /dev/null +++ b/arch/s390/include/asm/local64.h | |||
@@ -0,0 +1 @@ | |||
#include <asm-generic/local64.h> | |||
diff --git a/arch/s390/include/asm/mmu.h b/arch/s390/include/asm/mmu.h index 03be99919d62..99e3409102b9 100644 --- a/arch/s390/include/asm/mmu.h +++ b/arch/s390/include/asm/mmu.h | |||
@@ -13,4 +13,9 @@ typedef struct { | |||
13 | int alloc_pgste; /* cloned contexts will have extended page tables */ | 13 | int alloc_pgste; /* cloned contexts will have extended page tables */ |
14 | } mm_context_t; | 14 | } mm_context_t; |
15 | 15 | ||
16 | #define INIT_MM_CONTEXT(name) \ | ||
17 | .context.list_lock = __SPIN_LOCK_UNLOCKED(name.context.list_lock), \ | ||
18 | .context.crst_list = LIST_HEAD_INIT(name.context.crst_list), \ | ||
19 | .context.pgtable_list = LIST_HEAD_INIT(name.context.pgtable_list), | ||
20 | |||
16 | #endif | 21 | #endif |
diff --git a/arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h index 0eaae6260274..2ba630276295 100644 --- a/arch/s390/include/asm/qdio.h +++ b/arch/s390/include/asm/qdio.h | |||
@@ -84,6 +84,7 @@ struct qdr { | |||
84 | 84 | ||
85 | #define QIB_AC_OUTBOUND_PCI_SUPPORTED 0x40 | 85 | #define QIB_AC_OUTBOUND_PCI_SUPPORTED 0x40 |
86 | #define QIB_RFLAGS_ENABLE_QEBSM 0x80 | 86 | #define QIB_RFLAGS_ENABLE_QEBSM 0x80 |
87 | #define QIB_RFLAGS_ENABLE_DATA_DIV 0x02 | ||
87 | 88 | ||
88 | /** | 89 | /** |
89 | * struct qib - queue information block (QIB) | 90 | * struct qib - queue information block (QIB) |
@@ -284,6 +285,9 @@ struct slsb { | |||
284 | u8 val[QDIO_MAX_BUFFERS_PER_Q]; | 285 | u8 val[QDIO_MAX_BUFFERS_PER_Q]; |
285 | } __attribute__ ((packed, aligned(256))); | 286 | } __attribute__ ((packed, aligned(256))); |
286 | 287 | ||
288 | #define CHSC_AC2_DATA_DIV_AVAILABLE 0x0010 | ||
289 | #define CHSC_AC2_DATA_DIV_ENABLED 0x0002 | ||
290 | |||
287 | struct qdio_ssqd_desc { | 291 | struct qdio_ssqd_desc { |
288 | u8 flags; | 292 | u8 flags; |
289 | u8:8; | 293 | u8:8; |
@@ -332,6 +336,7 @@ typedef void qdio_handler_t(struct ccw_device *, unsigned int, int, | |||
332 | * @adapter_name: name for the adapter | 336 | * @adapter_name: name for the adapter |
333 | * @qib_param_field_format: format for qib_parm_field | 337 | * @qib_param_field_format: format for qib_parm_field |
334 | * @qib_param_field: pointer to 128 bytes or NULL, if no param field | 338 | * @qib_param_field: pointer to 128 bytes or NULL, if no param field |
339 | * @qib_rflags: rflags to set | ||
335 | * @input_slib_elements: pointer to no_input_qs * 128 words of data or NULL | 340 | * @input_slib_elements: pointer to no_input_qs * 128 words of data or NULL |
336 | * @output_slib_elements: pointer to no_output_qs * 128 words of data or NULL | 341 | * @output_slib_elements: pointer to no_output_qs * 128 words of data or NULL |
337 | * @no_input_qs: number of input queues | 342 | * @no_input_qs: number of input queues |
@@ -348,6 +353,7 @@ struct qdio_initialize { | |||
348 | unsigned char adapter_name[8]; | 353 | unsigned char adapter_name[8]; |
349 | unsigned int qib_param_field_format; | 354 | unsigned int qib_param_field_format; |
350 | unsigned char *qib_param_field; | 355 | unsigned char *qib_param_field; |
356 | unsigned char qib_rflags; | ||
351 | unsigned long *input_slib_elements; | 357 | unsigned long *input_slib_elements; |
352 | unsigned long *output_slib_elements; | 358 | unsigned long *output_slib_elements; |
353 | unsigned int no_input_qs; | 359 | unsigned int no_input_qs; |
diff --git a/arch/s390/include/asm/scatterlist.h b/arch/s390/include/asm/scatterlist.h index be44d94cba54..35d786fe93ae 100644 --- a/arch/s390/include/asm/scatterlist.h +++ b/arch/s390/include/asm/scatterlist.h | |||
@@ -1,3 +1 @@ | |||
1 | #define ISA_DMA_THRESHOLD (~0UL) | ||
2 | |||
3 | #include <asm-generic/scatterlist.h> | #include <asm-generic/scatterlist.h> | |
diff --git a/arch/s390/include/asm/statfs.h b/arch/s390/include/asm/statfs.h index 06cc70307ece..3be7fbd406c8 100644 --- a/arch/s390/include/asm/statfs.h +++ b/arch/s390/include/asm/statfs.h | |||
@@ -33,7 +33,8 @@ struct statfs { | |||
33 | __kernel_fsid_t f_fsid; | 33 | __kernel_fsid_t f_fsid; |
34 | int f_namelen; | 34 | int f_namelen; |
35 | int f_frsize; | 35 | int f_frsize; |
36 | int f_spare[5]; | 36 | int f_flags; |
37 | int f_spare[4]; | ||
37 | }; | 38 | }; |
38 | 39 | ||
39 | struct statfs64 { | 40 | struct statfs64 { |
@@ -47,7 +48,8 @@ struct statfs64 { | |||
47 | __kernel_fsid_t f_fsid; | 48 | __kernel_fsid_t f_fsid; |
48 | int f_namelen; | 49 | int f_namelen; |
49 | int f_frsize; | 50 | int f_frsize; |
50 | int f_spare[5]; | 51 | int f_flags; |
52 | int f_spare[4]; | ||
51 | }; | 53 | }; |
52 | 54 | ||
53 | struct compat_statfs64 { | 55 | struct compat_statfs64 { |
@@ -61,7 +63,8 @@ struct compat_statfs64 { | |||
61 | __kernel_fsid_t f_fsid; | 63 | __kernel_fsid_t f_fsid; |
62 | __u32 f_namelen; | 64 | __u32 f_namelen; |
63 | __u32 f_frsize; | 65 | __u32 f_frsize; |
64 | __u32 f_spare[5]; | 66 | __u32 f_flags; |
67 | __u32 f_spare[4]; | ||
65 | }; | 68 | }; |
66 | 69 | ||
67 | #endif /* __s390x__ */ | 70 | #endif /* __s390x__ */ |
diff --git a/arch/s390/include/asm/topology.h b/arch/s390/include/asm/topology.h index dc8a67297d0f..831bd033ea77 100644 --- a/arch/s390/include/asm/topology.h +++ b/arch/s390/include/asm/topology.h | |||
@@ -30,8 +30,6 @@ static inline void s390_init_cpu_topology(void) | |||
30 | }; | 30 | }; |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | #define SD_MC_INIT SD_CPU_INIT | ||
34 | |||
35 | #include <asm-generic/topology.h> | 33 | #include <asm-generic/topology.h> |
36 | 34 | ||
37 | #endif /* _ASM_S390_TOPOLOGY_H */ | 35 | #endif /* _ASM_S390_TOPOLOGY_H */ |
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 5f0075150a65..1049ef27c15e 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
@@ -269,7 +269,10 @@ | |||
269 | #define __NR_pwritev 329 | 269 | #define __NR_pwritev 329 |
270 | #define __NR_rt_tgsigqueueinfo 330 | 270 | #define __NR_rt_tgsigqueueinfo 330 |
271 | #define __NR_perf_event_open 331 | 271 | #define __NR_perf_event_open 331 |
272 | #define NR_syscalls 332 | 272 | #define __NR_fanotify_init 332 |
273 | #define __NR_fanotify_mark 333 | ||
274 | #define __NR_prlimit64 334 | ||
275 | #define NR_syscalls 335 | ||
273 | 276 | ||
274 | /* | 277 | /* |
275 | * There are some system calls that are not present on 64 bit, some | 278 | * There are some system calls that are not present on 64 bit, some |
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index 73b624ed9cd8..1e6449c79ab6 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c | |||
@@ -436,7 +436,7 @@ sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo) | |||
436 | * sys32_execve() executes a new program after the asm stub has set | 436 | * sys32_execve() executes a new program after the asm stub has set |
437 | * things up for us. This should basically do what I want it to. | 437 | * things up for us. This should basically do what I want it to. |
438 | */ | 438 | */ |
439 | asmlinkage long sys32_execve(char __user *name, compat_uptr_t __user *argv, | 439 | asmlinkage long sys32_execve(const char __user *name, compat_uptr_t __user *argv, |
440 | compat_uptr_t __user *envp) | 440 | compat_uptr_t __user *envp) |
441 | { | 441 | { |
442 | struct pt_regs *regs = task_pt_regs(current); | 442 | struct pt_regs *regs = task_pt_regs(current); |
@@ -570,7 +570,7 @@ static int cp_stat64(struct stat64_emu31 __user *ubuf, struct kstat *stat) | |||
570 | return copy_to_user(ubuf,&tmp,sizeof(tmp)) ? -EFAULT : 0; | 570 | return copy_to_user(ubuf,&tmp,sizeof(tmp)) ? -EFAULT : 0; |
571 | } | 571 | } |
572 | 572 | ||
573 | asmlinkage long sys32_stat64(char __user * filename, struct stat64_emu31 __user * statbuf) | 573 | asmlinkage long sys32_stat64(const char __user * filename, struct stat64_emu31 __user * statbuf) |
574 | { | 574 | { |
575 | struct kstat stat; | 575 | struct kstat stat; |
576 | int ret = vfs_stat(filename, &stat); | 576 | int ret = vfs_stat(filename, &stat); |
@@ -579,7 +579,7 @@ asmlinkage long sys32_stat64(char __user * filename, struct stat64_emu31 __user | |||
579 | return ret; | 579 | return ret; |
580 | } | 580 | } |
581 | 581 | ||
582 | asmlinkage long sys32_lstat64(char __user * filename, struct stat64_emu31 __user * statbuf) | 582 | asmlinkage long sys32_lstat64(const char __user * filename, struct stat64_emu31 __user * statbuf) |
583 | { | 583 | { |
584 | struct kstat stat; | 584 | struct kstat stat; |
585 | int ret = vfs_lstat(filename, &stat); | 585 | int ret = vfs_lstat(filename, &stat); |
@@ -597,7 +597,7 @@ asmlinkage long sys32_fstat64(unsigned long fd, struct stat64_emu31 __user * sta | |||
597 | return ret; | 597 | return ret; |
598 | } | 598 | } |
599 | 599 | ||
600 | asmlinkage long sys32_fstatat64(unsigned int dfd, char __user *filename, | 600 | asmlinkage long sys32_fstatat64(unsigned int dfd, const char __user *filename, |
601 | struct stat64_emu31 __user* statbuf, int flag) | 601 | struct stat64_emu31 __user* statbuf, int flag) |
602 | { | 602 | { |
603 | struct kstat stat; | 603 | struct kstat stat; |
@@ -655,7 +655,7 @@ asmlinkage long sys32_read(unsigned int fd, char __user * buf, size_t count) | |||
655 | return sys_read(fd, buf, count); | 655 | return sys_read(fd, buf, count); |
656 | } | 656 | } |
657 | 657 | ||
658 | asmlinkage long sys32_write(unsigned int fd, char __user * buf, size_t count) | 658 | asmlinkage long sys32_write(unsigned int fd, const char __user * buf, size_t count) |
659 | { | 659 | { |
660 | if ((compat_ssize_t) count < 0) | 660 | if ((compat_ssize_t) count < 0) |
661 | return -EINVAL; | 661 | return -EINVAL; |
diff --git a/arch/s390/kernel/compat_linux.h b/arch/s390/kernel/compat_linux.h index cb97afc85c94..9635d759c2b9 100644 --- a/arch/s390/kernel/compat_linux.h +++ b/arch/s390/kernel/compat_linux.h | |||
@@ -193,7 +193,7 @@ long sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, | |||
193 | compat_sigset_t __user *oset, size_t sigsetsize); | 193 | compat_sigset_t __user *oset, size_t sigsetsize); |
194 | long sys32_rt_sigpending(compat_sigset_t __user *set, size_t sigsetsize); | 194 | long sys32_rt_sigpending(compat_sigset_t __user *set, size_t sigsetsize); |
195 | long sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo); | 195 | long sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo); |
196 | long sys32_execve(char __user *name, compat_uptr_t __user *argv, | 196 | long sys32_execve(const char __user *name, compat_uptr_t __user *argv, |
197 | compat_uptr_t __user *envp); | 197 | compat_uptr_t __user *envp); |
198 | long sys32_init_module(void __user *umod, unsigned long len, | 198 | long sys32_init_module(void __user *umod, unsigned long len, |
199 | const char __user *uargs); | 199 | const char __user *uargs); |
@@ -207,16 +207,16 @@ long sys32_sendfile(int out_fd, int in_fd, compat_off_t __user *offset, | |||
207 | size_t count); | 207 | size_t count); |
208 | long sys32_sendfile64(int out_fd, int in_fd, compat_loff_t __user *offset, | 208 | long sys32_sendfile64(int out_fd, int in_fd, compat_loff_t __user *offset, |
209 | s32 count); | 209 | s32 count); |
210 | long sys32_stat64(char __user * filename, struct stat64_emu31 __user * statbuf); | 210 | long sys32_stat64(const char __user * filename, struct stat64_emu31 __user * statbuf); |
211 | long sys32_lstat64(char __user * filename, | 211 | long sys32_lstat64(const char __user * filename, |
212 | struct stat64_emu31 __user * statbuf); | 212 | struct stat64_emu31 __user * statbuf); |
213 | long sys32_fstat64(unsigned long fd, struct stat64_emu31 __user * statbuf); | 213 | long sys32_fstat64(unsigned long fd, struct stat64_emu31 __user * statbuf); |
214 | long sys32_fstatat64(unsigned int dfd, char __user *filename, | 214 | long sys32_fstatat64(unsigned int dfd, const char __user *filename, |
215 | struct stat64_emu31 __user* statbuf, int flag); | 215 | struct stat64_emu31 __user* statbuf, int flag); |
216 | unsigned long old32_mmap(struct mmap_arg_struct_emu31 __user *arg); | 216 | unsigned long old32_mmap(struct mmap_arg_struct_emu31 __user *arg); |
217 | long sys32_mmap2(struct mmap_arg_struct_emu31 __user *arg); | 217 | long sys32_mmap2(struct mmap_arg_struct_emu31 __user *arg); |
218 | long sys32_read(unsigned int fd, char __user * buf, size_t count); | 218 | long sys32_read(unsigned int fd, char __user * buf, size_t count); |
219 | long sys32_write(unsigned int fd, char __user * buf, size_t count); | 219 | long sys32_write(unsigned int fd, const char __user * buf, size_t count); |
220 | long sys32_fadvise64(int fd, loff_t offset, size_t len, int advise); | 220 | long sys32_fadvise64(int fd, loff_t offset, size_t len, int advise); |
221 | long sys32_fadvise64_64(struct fadvise64_64_args __user *args); | 221 | long sys32_fadvise64_64(struct fadvise64_64_args __user *args); |
222 | long sys32_sigaction(int sig, const struct old_sigaction32 __user *act, | 222 | long sys32_sigaction(int sig, const struct old_sigaction32 __user *act, |
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 672ce52341b4..8e60fb23b90d 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -614,7 +614,7 @@ sys32_sysfs_wrapper: | |||
614 | 614 | ||
615 | .globl sys32_personality_wrapper | 615 | .globl sys32_personality_wrapper |
616 | sys32_personality_wrapper: | 616 | sys32_personality_wrapper: |
617 | llgfr %r2,%r2 # unsigned long | 617 | llgfr %r2,%r2 # unsigned int |
618 | jg sys_s390_personality # branch to system call | 618 | jg sys_s390_personality # branch to system call |
619 | 619 | ||
620 | .globl sys32_setfsuid16_wrapper | 620 | .globl sys32_setfsuid16_wrapper |
@@ -1853,3 +1853,27 @@ sys32_execve_wrapper: | |||
1853 | llgtr %r3,%r3 # compat_uptr_t * | 1853 | llgtr %r3,%r3 # compat_uptr_t * |
1854 | llgtr %r4,%r4 # compat_uptr_t * | 1854 | llgtr %r4,%r4 # compat_uptr_t * |
1855 | jg sys32_execve # branch to system call | 1855 | jg sys32_execve # branch to system call |
1856 | |||
1857 | .globl sys_fanotify_init_wrapper | ||
1858 | sys_fanotify_init_wrapper: | ||
1859 | llgfr %r2,%r2 # unsigned int | ||
1860 | llgfr %r3,%r3 # unsigned int | ||
1861 | jg sys_fanotify_init # branch to system call | ||
1862 | |||
1863 | .globl sys_fanotify_mark_wrapper | ||
1864 | sys_fanotify_mark_wrapper: | ||
1865 | lgfr %r2,%r2 # int | ||
1866 | llgfr %r3,%r3 # unsigned int | ||
1867 | sllg %r4,%r4,32 # get high word of 64bit mask | ||
1868 | lr %r4,%r5 # get low word of 64bit mask | ||
1869 | llgfr %r5,%r6 # unsigned int | ||
1870 | llgt %r6,164(%r15) # char * | ||
1871 | jg sys_fanotify_mark # branch to system call | ||
1872 | |||
1873 | .globl sys_prlimit64_wrapper | ||
1874 | sys_prlimit64_wrapper: | ||
1875 | lgfr %r2,%r2 # pid_t | ||
1876 | llgfr %r3,%r3 # unsigned int | ||
1877 | llgtr %r4,%r4 # const struct rlimit64 __user * | ||
1878 | llgtr %r5,%r5 # struct rlimit64 __user * | ||
1879 | jg sys_prlimit64 # branch to system call | ||
diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h index eb15c12ec158..403fb430a896 100644 --- a/arch/s390/kernel/entry.h +++ b/arch/s390/kernel/entry.h | |||
@@ -31,7 +31,7 @@ struct old_sigaction; | |||
31 | long sys_mmap2(struct s390_mmap_arg_struct __user *arg); | 31 | long sys_mmap2(struct s390_mmap_arg_struct __user *arg); |
32 | long sys_s390_ipc(uint call, int first, unsigned long second, | 32 | long sys_s390_ipc(uint call, int first, unsigned long second, |
33 | unsigned long third, void __user *ptr); | 33 | unsigned long third, void __user *ptr); |
34 | long sys_s390_personality(unsigned long personality); | 34 | long sys_s390_personality(unsigned int personality); |
35 | long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low, | 35 | long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low, |
36 | size_t len, int advice); | 36 | size_t len, int advice); |
37 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); | 37 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); |
@@ -42,7 +42,7 @@ long sys_clone(unsigned long newsp, unsigned long clone_flags, | |||
42 | int __user *parent_tidptr, int __user *child_tidptr); | 42 | int __user *parent_tidptr, int __user *child_tidptr); |
43 | long sys_vfork(void); | 43 | long sys_vfork(void); |
44 | void execve_tail(void); | 44 | void execve_tail(void); |
45 | long sys_execve(char __user *name, char __user * __user *argv, | 45 | long sys_execve(const char __user *name, char __user * __user *argv, |
46 | char __user * __user *envp); | 46 | char __user * __user *envp); |
47 | long sys_sigsuspend(int history0, int history1, old_sigset_t mask); | 47 | long sys_sigsuspend(int history0, int history1, old_sigset_t mask); |
48 | long sys_sigaction(int sig, const struct old_sigaction __user *act, | 48 | long sys_sigaction(int sig, const struct old_sigaction __user *act, |
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index 51838ad42d56..db1696e210af 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S | |||
@@ -366,7 +366,7 @@ iplstart: | |||
366 | l %r1,.Lstartup | 366 | l %r1,.Lstartup |
367 | br %r1 | 367 | br %r1 |
368 | 368 | ||
369 | .Linitrd:.long _end + 0x400000 # default address of initrd | 369 | .Linitrd:.long _end # default address of initrd |
370 | .Lparm: .long PARMAREA | 370 | .Lparm: .long PARMAREA |
371 | .Lstartup: .long startup | 371 | .Lstartup: .long startup |
372 | .Lreset:.byte 0xc3,0xc8,0xc1,0xd5,0xc7,0xc5,0x40,0xd9,0xc4,0xd9,0x40 | 372 | .Lreset:.byte 0xc3,0xc8,0xc1,0xd5,0xc7,0xc5,0x40,0xd9,0xc4,0xd9,0x40 |
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 1039fdea15b5..7eafaf2662b9 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
@@ -267,7 +267,7 @@ asmlinkage void execve_tail(void) | |||
267 | /* | 267 | /* |
268 | * sys_execve() executes a new program. | 268 | * sys_execve() executes a new program. |
269 | */ | 269 | */ |
270 | SYSCALL_DEFINE3(execve, char __user *, name, char __user * __user *, argv, | 270 | SYSCALL_DEFINE3(execve, const char __user *, name, char __user * __user *, argv, |
271 | char __user * __user *, envp) | 271 | char __user * __user *, envp) |
272 | { | 272 | { |
273 | struct pt_regs *regs = task_pt_regs(current); | 273 | struct pt_regs *regs = task_pt_regs(current); |
diff --git a/arch/s390/kernel/sys_s390.c b/arch/s390/kernel/sys_s390.c index 7b6b0f81a283..476081440df9 100644 --- a/arch/s390/kernel/sys_s390.c +++ b/arch/s390/kernel/sys_s390.c | |||
@@ -131,9 +131,9 @@ SYSCALL_DEFINE5(s390_ipc, uint, call, int, first, unsigned long, second, | |||
131 | } | 131 | } |
132 | 132 | ||
133 | #ifdef CONFIG_64BIT | 133 | #ifdef CONFIG_64BIT |
134 | SYSCALL_DEFINE1(s390_personality, unsigned long, personality) | 134 | SYSCALL_DEFINE1(s390_personality, unsigned int, personality) |
135 | { | 135 | { |
136 | int ret; | 136 | unsigned int ret; |
137 | 137 | ||
138 | if (current->personality == PER_LINUX32 && personality == PER_LINUX) | 138 | if (current->personality == PER_LINUX32 && personality == PER_LINUX) |
139 | personality = PER_LINUX32; | 139 | personality = PER_LINUX32; |
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 201ce6bed34e..a8fee1b14395 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
@@ -340,3 +340,6 @@ SYSCALL(sys_preadv,sys_preadv,compat_sys_preadv_wrapper) | |||
340 | SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) | 340 | SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) |
341 | SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */ | 341 | SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */ |
342 | SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper) | 342 | SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper) |
343 | SYSCALL(sys_fanotify_init,sys_fanotify_init,sys_fanotify_init_wrapper) | ||
344 | SYSCALL(sys_fanotify_mark,sys_fanotify_mark,sys_fanotify_mark_wrapper) | ||
345 | SYSCALL(sys_prlimit64,sys_prlimit64,sys_prlimit64_wrapper) | ||
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index 15a7536452d5..2896cac9c14a 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c | |||
@@ -207,8 +207,8 @@ struct clocksource * __init clocksource_default_clock(void) | |||
207 | return &clocksource_tod; | 207 | return &clocksource_tod; |
208 | } | 208 | } |
209 | 209 | ||
210 | void update_vsyscall(struct timespec *wall_time, struct clocksource *clock, | 210 | void update_vsyscall(struct timespec *wall_time, struct timespec *wtm, |
211 | u32 mult) | 211 | struct clocksource *clock, u32 mult) |
212 | { | 212 | { |
213 | if (clock != &clocksource_tod) | 213 | if (clock != &clocksource_tod) |
214 | return; | 214 | return; |
@@ -219,8 +219,8 @@ void update_vsyscall(struct timespec *wall_time, struct clocksource *clock, | |||
219 | vdso_data->xtime_tod_stamp = clock->cycle_last; | 219 | vdso_data->xtime_tod_stamp = clock->cycle_last; |
220 | vdso_data->xtime_clock_sec = wall_time->tv_sec; | 220 | vdso_data->xtime_clock_sec = wall_time->tv_sec; |
221 | vdso_data->xtime_clock_nsec = wall_time->tv_nsec; | 221 | vdso_data->xtime_clock_nsec = wall_time->tv_nsec; |
222 | vdso_data->wtom_clock_sec = wall_to_monotonic.tv_sec; | 222 | vdso_data->wtom_clock_sec = wtm->tv_sec; |
223 | vdso_data->wtom_clock_nsec = wall_to_monotonic.tv_nsec; | 223 | vdso_data->wtom_clock_nsec = wtm->tv_nsec; |
224 | vdso_data->ntp_mult = mult; | 224 | vdso_data->ntp_mult = mult; |
225 | smp_wmb(); | 225 | smp_wmb(); |
226 | ++vdso_data->tb_update_count; | 226 | ++vdso_data->tb_update_count; |
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c index 3ddc30895e31..f7b6df45d8be 100644 --- a/arch/s390/kvm/intercept.c +++ b/arch/s390/kvm/intercept.c | |||
@@ -135,7 +135,7 @@ static int handle_stop(struct kvm_vcpu *vcpu) | |||
135 | spin_lock_bh(&vcpu->arch.local_int.lock); | 135 | spin_lock_bh(&vcpu->arch.local_int.lock); |
136 | if (vcpu->arch.local_int.action_bits & ACTION_STORE_ON_STOP) { | 136 | if (vcpu->arch.local_int.action_bits & ACTION_STORE_ON_STOP) { |
137 | vcpu->arch.local_int.action_bits &= ~ACTION_STORE_ON_STOP; | 137 | vcpu->arch.local_int.action_bits &= ~ACTION_STORE_ON_STOP; |
138 | rc = __kvm_s390_vcpu_store_status(vcpu, | 138 | rc = kvm_s390_vcpu_store_status(vcpu, |
139 | KVM_S390_STORE_STATUS_NOADDR); | 139 | KVM_S390_STORE_STATUS_NOADDR); |
140 | if (rc >= 0) | 140 | if (rc >= 0) |
141 | rc = -EOPNOTSUPP; | 141 | rc = -EOPNOTSUPP; |
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index ae3705816878..4fe68650535c 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c | |||
@@ -207,6 +207,7 @@ out_nokvm: | |||
207 | void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu) | 207 | void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu) |
208 | { | 208 | { |
209 | VCPU_EVENT(vcpu, 3, "%s", "free cpu"); | 209 | VCPU_EVENT(vcpu, 3, "%s", "free cpu"); |
210 | clear_bit(63 - vcpu->vcpu_id, (unsigned long *) &vcpu->kvm->arch.sca->mcn); | ||
210 | if (vcpu->kvm->arch.sca->cpu[vcpu->vcpu_id].sda == | 211 | if (vcpu->kvm->arch.sca->cpu[vcpu->vcpu_id].sda == |
211 | (__u64) vcpu->arch.sie_block) | 212 | (__u64) vcpu->arch.sie_block) |
212 | vcpu->kvm->arch.sca->cpu[vcpu->vcpu_id].sda = 0; | 213 | vcpu->kvm->arch.sca->cpu[vcpu->vcpu_id].sda = 0; |
@@ -296,7 +297,7 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) | |||
296 | { | 297 | { |
297 | atomic_set(&vcpu->arch.sie_block->cpuflags, CPUSTAT_ZARCH); | 298 | atomic_set(&vcpu->arch.sie_block->cpuflags, CPUSTAT_ZARCH); |
298 | set_bit(KVM_REQ_MMU_RELOAD, &vcpu->requests); | 299 | set_bit(KVM_REQ_MMU_RELOAD, &vcpu->requests); |
299 | vcpu->arch.sie_block->ecb = 2; | 300 | vcpu->arch.sie_block->ecb = 6; |
300 | vcpu->arch.sie_block->eca = 0xC1002001U; | 301 | vcpu->arch.sie_block->eca = 0xC1002001U; |
301 | vcpu->arch.sie_block->fac = (int) (long) facilities; | 302 | vcpu->arch.sie_block->fac = (int) (long) facilities; |
302 | hrtimer_init(&vcpu->arch.ckc_timer, CLOCK_REALTIME, HRTIMER_MODE_ABS); | 303 | hrtimer_init(&vcpu->arch.ckc_timer, CLOCK_REALTIME, HRTIMER_MODE_ABS); |
@@ -329,6 +330,7 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, | |||
329 | kvm->arch.sca->cpu[id].sda = (__u64) vcpu->arch.sie_block; | 330 | kvm->arch.sca->cpu[id].sda = (__u64) vcpu->arch.sie_block; |
330 | vcpu->arch.sie_block->scaoh = (__u32)(((__u64)kvm->arch.sca) >> 32); | 331 | vcpu->arch.sie_block->scaoh = (__u32)(((__u64)kvm->arch.sca) >> 32); |
331 | vcpu->arch.sie_block->scaol = (__u32)(__u64)kvm->arch.sca; | 332 | vcpu->arch.sie_block->scaol = (__u32)(__u64)kvm->arch.sca; |
333 | set_bit(63 - id, (unsigned long *) &kvm->arch.sca->mcn); | ||
332 | 334 | ||
333 | spin_lock_init(&vcpu->arch.local_int.lock); | 335 | spin_lock_init(&vcpu->arch.local_int.lock); |
334 | INIT_LIST_HEAD(&vcpu->arch.local_int.list); | 336 | INIT_LIST_HEAD(&vcpu->arch.local_int.list); |
@@ -363,63 +365,49 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu) | |||
363 | 365 | ||
364 | static int kvm_arch_vcpu_ioctl_initial_reset(struct kvm_vcpu *vcpu) | 366 | static int kvm_arch_vcpu_ioctl_initial_reset(struct kvm_vcpu *vcpu) |
365 | { | 367 | { |
366 | vcpu_load(vcpu); | ||
367 | kvm_s390_vcpu_initial_reset(vcpu); | 368 | kvm_s390_vcpu_initial_reset(vcpu); |
368 | vcpu_put(vcpu); | ||
369 | return 0; | 369 | return 0; |
370 | } | 370 | } |
371 | 371 | ||
372 | int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) | 372 | int kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) |
373 | { | 373 | { |
374 | vcpu_load(vcpu); | ||
375 | memcpy(&vcpu->arch.guest_gprs, ®s->gprs, sizeof(regs->gprs)); | 374 | memcpy(&vcpu->arch.guest_gprs, ®s->gprs, sizeof(regs->gprs)); |
376 | vcpu_put(vcpu); | ||
377 | return 0; | 375 | return 0; |
378 | } | 376 | } |
379 | 377 | ||
380 | int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) | 378 | int kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu *vcpu, struct kvm_regs *regs) |
381 | { | 379 | { |
382 | vcpu_load(vcpu); | ||
383 | memcpy(®s->gprs, &vcpu->arch.guest_gprs, sizeof(regs->gprs)); | 380 | memcpy(®s->gprs, &vcpu->arch.guest_gprs, sizeof(regs->gprs)); |
384 | vcpu_put(vcpu); | ||
385 | return 0; | 381 | return 0; |
386 | } | 382 | } |
387 | 383 | ||
388 | int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, | 384 | int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, |
389 | struct kvm_sregs *sregs) | 385 | struct kvm_sregs *sregs) |
390 | { | 386 | { |
391 | vcpu_load(vcpu); | ||
392 | memcpy(&vcpu->arch.guest_acrs, &sregs->acrs, sizeof(sregs->acrs)); | 387 | memcpy(&vcpu->arch.guest_acrs, &sregs->acrs, sizeof(sregs->acrs)); |
393 | memcpy(&vcpu->arch.sie_block->gcr, &sregs->crs, sizeof(sregs->crs)); | 388 | memcpy(&vcpu->arch.sie_block->gcr, &sregs->crs, sizeof(sregs->crs)); |
394 | vcpu_put(vcpu); | ||
395 | return 0; | 389 | return 0; |
396 | } | 390 | } |
397 | 391 | ||
398 | int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu, | 392 | int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu, |
399 | struct kvm_sregs *sregs) | 393 | struct kvm_sregs *sregs) |
400 | { | 394 | { |
401 | vcpu_load(vcpu); | ||
402 | memcpy(&sregs->acrs, &vcpu->arch.guest_acrs, sizeof(sregs->acrs)); | 395 | memcpy(&sregs->acrs, &vcpu->arch.guest_acrs, sizeof(sregs->acrs)); |
403 | memcpy(&sregs->crs, &vcpu->arch.sie_block->gcr, sizeof(sregs->crs)); | 396 | memcpy(&sregs->crs, &vcpu->arch.sie_block->gcr, sizeof(sregs->crs)); |
404 | vcpu_put(vcpu); | ||
405 | return 0; | 397 | return 0; |
406 | } | 398 | } |
407 | 399 | ||
408 | int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) | 400 | int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) |
409 | { | 401 | { |
410 | vcpu_load(vcpu); | ||
411 | memcpy(&vcpu->arch.guest_fpregs.fprs, &fpu->fprs, sizeof(fpu->fprs)); | 402 | memcpy(&vcpu->arch.guest_fpregs.fprs, &fpu->fprs, sizeof(fpu->fprs)); |
412 | vcpu->arch.guest_fpregs.fpc = fpu->fpc; | 403 | vcpu->arch.guest_fpregs.fpc = fpu->fpc; |
413 | vcpu_put(vcpu); | ||
414 | return 0; | 404 | return 0; |
415 | } | 405 | } |
416 | 406 | ||
417 | int kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) | 407 | int kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu) |
418 | { | 408 | { |
419 | vcpu_load(vcpu); | ||
420 | memcpy(&fpu->fprs, &vcpu->arch.guest_fpregs.fprs, sizeof(fpu->fprs)); | 409 | memcpy(&fpu->fprs, &vcpu->arch.guest_fpregs.fprs, sizeof(fpu->fprs)); |
421 | fpu->fpc = vcpu->arch.guest_fpregs.fpc; | 410 | fpu->fpc = vcpu->arch.guest_fpregs.fpc; |
422 | vcpu_put(vcpu); | ||
423 | return 0; | 411 | return 0; |
424 | } | 412 | } |
425 | 413 | ||
@@ -427,14 +415,12 @@ static int kvm_arch_vcpu_ioctl_set_initial_psw(struct kvm_vcpu *vcpu, psw_t psw) | |||
427 | { | 415 | { |
428 | int rc = 0; | 416 | int rc = 0; |
429 | 417 | ||
430 | vcpu_load(vcpu); | ||
431 | if (atomic_read(&vcpu->arch.sie_block->cpuflags) & CPUSTAT_RUNNING) | 418 | if (atomic_read(&vcpu->arch.sie_block->cpuflags) & CPUSTAT_RUNNING) |
432 | rc = -EBUSY; | 419 | rc = -EBUSY; |
433 | else { | 420 | else { |
434 | vcpu->run->psw_mask = psw.mask; | 421 | vcpu->run->psw_mask = psw.mask; |
435 | vcpu->run->psw_addr = psw.addr; | 422 | vcpu->run->psw_addr = psw.addr; |
436 | } | 423 | } |
437 | vcpu_put(vcpu); | ||
438 | return rc; | 424 | return rc; |
439 | } | 425 | } |
440 | 426 | ||
@@ -498,8 +484,6 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) | |||
498 | int rc; | 484 | int rc; |
499 | sigset_t sigsaved; | 485 | sigset_t sigsaved; |
500 | 486 | ||
501 | vcpu_load(vcpu); | ||
502 | |||
503 | rerun_vcpu: | 487 | rerun_vcpu: |
504 | if (vcpu->requests) | 488 | if (vcpu->requests) |
505 | if (test_and_clear_bit(KVM_REQ_MMU_RELOAD, &vcpu->requests)) | 489 | if (test_and_clear_bit(KVM_REQ_MMU_RELOAD, &vcpu->requests)) |
@@ -568,8 +552,6 @@ rerun_vcpu: | |||
568 | if (vcpu->sigset_active) | 552 | if (vcpu->sigset_active) |
569 | sigprocmask(SIG_SETMASK, &sigsaved, NULL); | 553 | sigprocmask(SIG_SETMASK, &sigsaved, NULL); |
570 | 554 | ||
571 | vcpu_put(vcpu); | ||
572 | |||
573 | vcpu->stat.exit_userspace++; | 555 | vcpu->stat.exit_userspace++; |
574 | return rc; | 556 | return rc; |
575 | } | 557 | } |
@@ -589,7 +571,7 @@ static int __guestcopy(struct kvm_vcpu *vcpu, u64 guestdest, const void *from, | |||
589 | * KVM_S390_STORE_STATUS_NOADDR: -> 0x1200 on 64 bit | 571 | * KVM_S390_STORE_STATUS_NOADDR: -> 0x1200 on 64 bit |
590 | * KVM_S390_STORE_STATUS_PREFIXED: -> prefix | 572 | * KVM_S390_STORE_STATUS_PREFIXED: -> prefix |
591 | */ | 573 | */ |
592 | int __kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr) | 574 | int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr) |
593 | { | 575 | { |
594 | const unsigned char archmode = 1; | 576 | const unsigned char archmode = 1; |
595 | int prefix; | 577 | int prefix; |
@@ -651,45 +633,42 @@ int __kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr) | |||
651 | return 0; | 633 | return 0; |
652 | } | 634 | } |
653 | 635 | ||
654 | static int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, unsigned long addr) | ||
655 | { | ||
656 | int rc; | ||
657 | |||
658 | vcpu_load(vcpu); | ||
659 | rc = __kvm_s390_vcpu_store_status(vcpu, addr); | ||
660 | vcpu_put(vcpu); | ||
661 | return rc; | ||
662 | } | ||
663 | |||
664 | long kvm_arch_vcpu_ioctl(struct file *filp, | 636 | long kvm_arch_vcpu_ioctl(struct file *filp, |
665 | unsigned int ioctl, unsigned long arg) | 637 | unsigned int ioctl, unsigned long arg) |
666 | { | 638 | { |
667 | struct kvm_vcpu *vcpu = filp->private_data; | 639 | struct kvm_vcpu *vcpu = filp->private_data; |
668 | void __user *argp = (void __user *)arg; | 640 | void __user *argp = (void __user *)arg; |
641 | long r; | ||
669 | 642 | ||
670 | switch (ioctl) { | 643 | switch (ioctl) { |
671 | case KVM_S390_INTERRUPT: { | 644 | case KVM_S390_INTERRUPT: { |
672 | struct kvm_s390_interrupt s390int; | 645 | struct kvm_s390_interrupt s390int; |
673 | 646 | ||
647 | r = -EFAULT; | ||
674 | if (copy_from_user(&s390int, argp, sizeof(s390int))) | 648 | if (copy_from_user(&s390int, argp, sizeof(s390int))) |
675 | return -EFAULT; | 649 | break; |
676 | return kvm_s390_inject_vcpu(vcpu, &s390int); | 650 | r = kvm_s390_inject_vcpu(vcpu, &s390int); |
651 | break; | ||
677 | } | 652 | } |
678 | case KVM_S390_STORE_STATUS: | 653 | case KVM_S390_STORE_STATUS: |
679 | return kvm_s390_vcpu_store_status(vcpu, arg); | 654 | r = kvm_s390_vcpu_store_status(vcpu, arg); |
655 | break; | ||
680 | case KVM_S390_SET_INITIAL_PSW: { | 656 | case KVM_S390_SET_INITIAL_PSW: { |
681 | psw_t psw; | 657 | psw_t psw; |
682 | 658 | ||
659 | r = -EFAULT; | ||
683 | if (copy_from_user(&psw, argp, sizeof(psw))) | 660 | if (copy_from_user(&psw, argp, sizeof(psw))) |
684 | return -EFAULT; | 661 | break; |
685 | return kvm_arch_vcpu_ioctl_set_initial_psw(vcpu, psw); | 662 | r = kvm_arch_vcpu_ioctl_set_initial_psw(vcpu, psw); |
663 | break; | ||
686 | } | 664 | } |
687 | case KVM_S390_INITIAL_RESET: | 665 | case KVM_S390_INITIAL_RESET: |
688 | return kvm_arch_vcpu_ioctl_initial_reset(vcpu); | 666 | r = kvm_arch_vcpu_ioctl_initial_reset(vcpu); |
667 | break; | ||
689 | default: | 668 | default: |
690 | ; | 669 | r = -EINVAL; |
691 | } | 670 | } |
692 | return -EINVAL; | 671 | return r; |
693 | } | 672 | } |
694 | 673 | ||
695 | /* Section: memory related */ | 674 | /* Section: memory related */ |
@@ -744,11 +723,6 @@ void kvm_arch_flush_shadow(struct kvm *kvm) | |||
744 | { | 723 | { |
745 | } | 724 | } |
746 | 725 | ||
747 | gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn) | ||
748 | { | ||
749 | return gfn; | ||
750 | } | ||
751 | |||
752 | static int __init kvm_s390_init(void) | 726 | static int __init kvm_s390_init(void) |
753 | { | 727 | { |
754 | int ret; | 728 | int ret; |
diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h index cfa9d1777457..a7b7586626db 100644 --- a/arch/s390/kvm/kvm-s390.h +++ b/arch/s390/kvm/kvm-s390.h | |||
@@ -92,7 +92,7 @@ int kvm_s390_handle_b2(struct kvm_vcpu *vcpu); | |||
92 | int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu); | 92 | int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu); |
93 | 93 | ||
94 | /* implemented in kvm-s390.c */ | 94 | /* implemented in kvm-s390.c */ |
95 | int __kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, | 95 | int kvm_s390_vcpu_store_status(struct kvm_vcpu *vcpu, |
96 | unsigned long addr); | 96 | unsigned long addr); |
97 | /* implemented in diag.c */ | 97 | /* implemented in diag.c */ |
98 | int kvm_s390_handle_diag(struct kvm_vcpu *vcpu); | 98 | int kvm_s390_handle_diag(struct kvm_vcpu *vcpu); |
diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c index eb6a2ef5f82e..a9550dca3e4b 100644 --- a/arch/s390/mm/cmm.c +++ b/arch/s390/mm/cmm.c | |||
@@ -427,7 +427,7 @@ static struct notifier_block cmm_power_notifier = { | |||
427 | .notifier_call = cmm_power_event, | 427 | .notifier_call = cmm_power_event, |
428 | }; | 428 | }; |
429 | 429 | ||
430 | static int cmm_init(void) | 430 | static int __init cmm_init(void) |
431 | { | 431 | { |
432 | int rc = -ENOMEM; | 432 | int rc = -ENOMEM; |
433 | 433 | ||
@@ -435,6 +435,13 @@ static int cmm_init(void) | |||
435 | if (!cmm_sysctl_header) | 435 | if (!cmm_sysctl_header) |
436 | goto out_sysctl; | 436 | goto out_sysctl; |
437 | #ifdef CONFIG_CMM_IUCV | 437 | #ifdef CONFIG_CMM_IUCV |
438 | /* convert sender to uppercase characters */ | ||
439 | if (sender) { | ||
440 | int len = strlen(sender); | ||
441 | while (len--) | ||
442 | sender[len] = toupper(sender[len]); | ||
443 | } | ||
444 | |||
438 | rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target); | 445 | rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target); |
439 | if (rc < 0) | 446 | if (rc < 0) |
440 | goto out_smsg; | 447 | goto out_smsg; |
@@ -467,7 +474,7 @@ out_sysctl: | |||
467 | } | 474 | } |
468 | module_init(cmm_init); | 475 | module_init(cmm_init); |
469 | 476 | ||
470 | static void cmm_exit(void) | 477 | static void __exit cmm_exit(void) |
471 | { | 478 | { |
472 | unregister_sysctl_table(cmm_sysctl_header); | 479 | unregister_sysctl_table(cmm_sysctl_header); |
473 | #ifdef CONFIG_CMM_IUCV | 480 | #ifdef CONFIG_CMM_IUCV |
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index 90165e7ca04e..34c43f23b28c 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c | |||
@@ -332,10 +332,6 @@ void __init vmem_map_init(void) | |||
332 | unsigned long start, end; | 332 | unsigned long start, end; |
333 | int i; | 333 | int i; |
334 | 334 | ||
335 | spin_lock_init(&init_mm.context.list_lock); | ||
336 | INIT_LIST_HEAD(&init_mm.context.crst_list); | ||
337 | INIT_LIST_HEAD(&init_mm.context.pgtable_list); | ||
338 | init_mm.context.noexec = 0; | ||
339 | ro_start = ((unsigned long)&_stext) & PAGE_MASK; | 335 | ro_start = ((unsigned long)&_stext) & PAGE_MASK; |
340 | ro_end = PFN_ALIGN((unsigned long)&_eshared); | 336 | ro_end = PFN_ALIGN((unsigned long)&_eshared); |
341 | for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) { | 337 | for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) { |