Commit ea1f56fa authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull s390 updates from Vasily Gorbik:

 - Adjust PMU device drivers registration to avoid WARN_ON and few other
   perf improvements.

 - Enhance tracing in vfio-ccw.

 - Few stack unwinder fixes and improvements, convert get_wchan custom
   stack unwinding to generic api usage.

 - Fixes for mm helpers issues uncovered with tests validating
   architecture page table helpers.

 - Fix noexec bit handling when hardware doesn't support it.

 - Fix memleak and unsigned value compared with zero bugs in crypto
   code. Minor code simplification.

 - Fix crash during kdump with kasan enabled kernel.

 - Switch bug and alternatives from asm to asm_inline to improve
   inlining decisions.

 - Use 'depends on cc-option' for MARCH and TUNE options in Kconfig, add
   z13s and z14 ZR1 to TUNE descriptions.

 - Minor head64.S simplification.

 - Fix physical to logical CPU map for SMT.

 - Several cleanups in qdio code.

 - Other minor cleanups and fixes all over the code.

* tag 's390-5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (41 commits)
  s390/cpumf: Adjust registration of s390 PMU device drivers
  s390/smp: fix physical to logical CPU map for SMT
  s390/early: move access registers setup in C code
  s390/head64: remove unnecessary vdso_per_cpu_data setup
  s390/early: move control registers setup in C code
  s390/kasan: support memcpy_real with TRACE_IRQFLAGS
  s390/crypto: Fix unsigned variable compared with zero
  s390/pkey: use memdup_user() to simplify code
  s390/pkey: fix memory leak within _copy_apqns_from_user()
  s390/disassembler: don't hide instruction addresses
  s390/cpum_sf: Assign error value to err variable
  s390/cpum_sf: Replace function name in debug statements
  s390/cpum_sf: Use consistant debug print format for sampling
  s390/unwind: drop unnecessary code around calling ftrace_graph_ret_addr()
  s390: add error handling to perf_callchain_kernel
  s390: always inline current_stack_pointer()
  s390/mm: add mm_pxd_folded() checks to pxd_free()
  s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported
  s390/mm: simplify page table helpers for large entries
  s390/mm: make pmd/pud_bad() report large entries as bad
  ...
parents 4ba380f6 6a82e23f
Loading
Loading
Loading
Loading
+20 −8
Original line number Diff line number Diff line
@@ -246,8 +246,8 @@ choice

config MARCH_Z900
	bool "IBM zSeries model z800 and z900"
	depends on !CC_IS_CLANG
	select HAVE_MARCH_Z900_FEATURES
	depends on $(cc-option,-march=z900)
	help
	  Select this to enable optimizations for model z800/z900 (2064 and
	  2066 series). This will enable some optimizations that are not
@@ -255,8 +255,8 @@ config MARCH_Z900

config MARCH_Z990
	bool "IBM zSeries model z890 and z990"
	depends on !CC_IS_CLANG
	select HAVE_MARCH_Z990_FEATURES
	depends on $(cc-option,-march=z990)
	help
	  Select this to enable optimizations for model z890/z990 (2084 and
	  2086 series). The kernel will be slightly faster but will not work
@@ -264,8 +264,8 @@ config MARCH_Z990

config MARCH_Z9_109
	bool "IBM System z9"
	depends on !CC_IS_CLANG
	select HAVE_MARCH_Z9_109_FEATURES
	depends on $(cc-option,-march=z9-109)
	help
	  Select this to enable optimizations for IBM System z9 (2094 and
	  2096 series). The kernel will be slightly faster but will not work
@@ -274,6 +274,7 @@ config MARCH_Z9_109
config MARCH_Z10
	bool "IBM System z10"
	select HAVE_MARCH_Z10_FEATURES
	depends on $(cc-option,-march=z10)
	help
	  Select this to enable optimizations for IBM System z10 (2097 and
	  2098 series). The kernel will be slightly faster but will not work
@@ -282,6 +283,7 @@ config MARCH_Z10
config MARCH_Z196
	bool "IBM zEnterprise 114 and 196"
	select HAVE_MARCH_Z196_FEATURES
	depends on $(cc-option,-march=z196)
	help
	  Select this to enable optimizations for IBM zEnterprise 114 and 196
	  (2818 and 2817 series). The kernel will be slightly faster but will
@@ -290,6 +292,7 @@ config MARCH_Z196
config MARCH_ZEC12
	bool "IBM zBC12 and zEC12"
	select HAVE_MARCH_ZEC12_FEATURES
	depends on $(cc-option,-march=zEC12)
	help
	  Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and
	  2827 series). The kernel will be slightly faster but will not work on
@@ -298,6 +301,7 @@ config MARCH_ZEC12
config MARCH_Z13
	bool "IBM z13s and z13"
	select HAVE_MARCH_Z13_FEATURES
	depends on $(cc-option,-march=z13)
	help
	  Select this to enable optimizations for IBM z13s and z13 (2965 and
	  2964 series). The kernel will be slightly faster but will not work on
@@ -306,6 +310,7 @@ config MARCH_Z13
config MARCH_Z14
	bool "IBM z14 ZR1 and z14"
	select HAVE_MARCH_Z14_FEATURES
	depends on $(cc-option,-march=z14)
	help
	  Select this to enable optimizations for IBM z14 ZR1 and z14 (3907
	  and 3906 series). The kernel will be slightly faster but will not
@@ -314,6 +319,7 @@ config MARCH_Z14
config MARCH_Z15
	bool "IBM z15"
	select HAVE_MARCH_Z15_FEATURES
	depends on $(cc-option,-march=z15)
	help
	  Select this to enable optimizations for IBM z15 (8562
	  and 8561 series). The kernel will be slightly faster but will not
@@ -367,33 +373,39 @@ config TUNE_DEFAULT

config TUNE_Z900
	bool "IBM zSeries model z800 and z900"
	depends on !CC_IS_CLANG
	depends on $(cc-option,-mtune=z900)

config TUNE_Z990
	bool "IBM zSeries model z890 and z990"
	depends on !CC_IS_CLANG
	depends on $(cc-option,-mtune=z990)

config TUNE_Z9_109
	bool "IBM System z9"
	depends on !CC_IS_CLANG
	depends on $(cc-option,-mtune=z9-109)

config TUNE_Z10
	bool "IBM System z10"
	depends on $(cc-option,-mtune=z10)

config TUNE_Z196
	bool "IBM zEnterprise 114 and 196"
	depends on $(cc-option,-mtune=z196)

config TUNE_ZEC12
	bool "IBM zBC12 and zEC12"
	depends on $(cc-option,-mtune=zEC12)

config TUNE_Z13
	bool "IBM z13"
	bool "IBM z13s and z13"
	depends on $(cc-option,-mtune=z13)

config TUNE_Z14
	bool "IBM z14"
	bool "IBM z14 ZR1 and z14"
	depends on $(cc-option,-mtune=z14)

config TUNE_Z15
	bool "IBM z15"
	depends on $(cc-option,-mtune=z15)

endchoice

+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ struct diag_ops __bootdata_preserved(diag_dma_ops) = {
	.diag0c = _diag0c_dma,
	.diag308_reset = _diag308_reset_dma
};
static struct diag210 _diag210_tmp_dma __section(".dma.data");
static struct diag210 _diag210_tmp_dma __section(.dma.data);
struct diag210 *__bootdata_preserved(__diag210_tmp_dma) = &_diag210_tmp_dma;
void _swsusp_reset_dma(void);
unsigned long __bootdata_preserved(__swsusp_reset_dma) = __pa(_swsusp_reset_dma);
+5 −2
Original line number Diff line number Diff line
@@ -74,14 +74,17 @@ int s390_sha_final(struct shash_desc *desc, u8 *out)
	struct s390_sha_ctx *ctx = shash_desc_ctx(desc);
	unsigned int bsize = crypto_shash_blocksize(desc->tfm);
	u64 bits;
	unsigned int n, mbl_offset;
	unsigned int n;
	int mbl_offset;

	n = ctx->count % bsize;
	bits = ctx->count * 8;
	mbl_offset = s390_crypto_shash_parmsize(ctx->func) / sizeof(u32);
	mbl_offset = s390_crypto_shash_parmsize(ctx->func);
	if (mbl_offset < 0)
		return -EINVAL;

	mbl_offset = mbl_offset / sizeof(u32);

	/* set total msg bit length (mbl) in CPACF parmblock */
	switch (ctx->func) {
	case CPACF_KLMD_SHA_1:
+2 −2
Original line number Diff line number Diff line
@@ -139,10 +139,10 @@ void apply_alternatives(struct alt_instr *start, struct alt_instr *end);
 * without volatile and memory clobber.
 */
#define alternative(oldinstr, altinstr, facility)			\
	asm volatile(ALTERNATIVE(oldinstr, altinstr, facility) : : : "memory")
	asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility) : : : "memory")

#define alternative_2(oldinstr, altinstr1, facility1, altinstr2, facility2) \
	asm volatile(ALTERNATIVE_2(oldinstr, altinstr1, facility1,	    \
	asm_inline volatile(ALTERNATIVE_2(oldinstr, altinstr1, facility1,   \
				   altinstr2, facility2) ::: "memory")

#endif /* __ASSEMBLY__ */
+2 −2
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
#ifdef CONFIG_DEBUG_BUGVERBOSE

#define __EMIT_BUG(x) do {					\
	asm volatile(						\
	asm_inline volatile(					\
		"0:	j	0b+2\n"				\
		"1:\n"						\
		".section .rodata.str,\"aMS\",@progbits,1\n"	\
@@ -28,7 +28,7 @@
#else /* CONFIG_DEBUG_BUGVERBOSE */

#define __EMIT_BUG(x) do {					\
	asm volatile(						\
	asm_inline volatile(					\
		"0:	j	0b+2\n"				\
		"1:\n"						\
		".section __bug_table,\"awM\",@progbits,%1\n"	\
Loading