Skip to content

Commit ad0bf4e

Browse files
committed
Merge tag 's390-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Vasily Gorbik: - Update maintainers. Niklas Schnelle takes over zpci and Vineeth Vijayan common io code. - Extend cpuinfo to include topology information. - Add new extended counters for IBM z15 and sampling buffer allocation rework in perf code. - Add control over zeroing out memory during system restart. - CCA protected key block version 2 support and other fixes/improvements in crypto code. - Convert to new fallthrough; annotations. - Replace zero-length arrays with flexible-arrays. - QDIO debugfs and other small improvements. - Drop 2-level paging support optimization for compat tasks. Varios mm cleanups. - Remove broken and unused hibernate / power management support. - Remove fake numa support which does not bring any benefits. - Exclude offline CPUs from CPU topology masks to be more consistent with other architectures. - Prevent last branching instruction address leaking to userspace. - Other small various fixes and improvements all over the code. * tag 's390-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (57 commits) s390/mm: cleanup init_new_context() callback s390/mm: cleanup virtual memory constants usage s390/mm: remove page table downgrade support s390/qdio: set qdio_irq->cdev at allocation time s390/qdio: remove unused function declarations s390/ccwgroup: remove pm support s390/ap: remove power management code from ap bus and drivers s390/zcrypt: use kvmalloc instead of kmalloc for 256k alloc s390/mm: cleanup arch_get_unmapped_area() and friends s390/ism: remove pm support s390/cio: use fallthrough; s390/vfio: use fallthrough; s390/zcrypt: use fallthrough; s390: use fallthrough; s390/cpum_sf: Fix wrong page count in error message s390/diag: fix display of diagnose call statistics s390/ap: Remove ap device suspend and resume callbacks s390/pci: Improve handling of unset UID s390/pci: Fix zpci_alloc_domain() over allocation s390/qdio: pass ISC as parameter to chsc_sadc() ...
2 parents 5364abc + 1058c16 commit ad0bf4e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+800
-2809
lines changed

MAINTAINERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14613,7 +14613,7 @@ F: Documentation/s390/
1461314613
F: Documentation/driver-api/s390-drivers.rst
1461414614

1461514615
S390 COMMON I/O LAYER
14616-
M: Sebastian Ott <sebott@linux.ibm.com>
14616+
M: Vineeth Vijayan <vneethv@linux.ibm.com>
1461714617
M: Peter Oberparleiter <[email protected]>
1461814618
1461914619
W: http://www.ibm.com/developerworks/linux/linux390/
@@ -14655,7 +14655,7 @@ S: Supported
1465514655
F: drivers/s390/net/
1465614656

1465714657
S390 PCI SUBSYSTEM
14658-
M: Sebastian Ott <sebott@linux.ibm.com>
14658+
M: Niklas Schnelle <schnelle@linux.ibm.com>
1465914659
M: Gerald Schaefer <[email protected]>
1466014660
1466114661
W: http://www.ibm.com/developerworks/linux/linux390/

arch/s390/Kconfig

Lines changed: 3 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,13 @@ config S390
102102
select ARCH_INLINE_WRITE_UNLOCK_IRQ
103103
select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
104104
select ARCH_KEEP_MEMBLOCK
105-
select ARCH_SAVE_PAGE_KEYS if HIBERNATION
106105
select ARCH_STACKWALK
107106
select ARCH_SUPPORTS_ATOMIC_RMW
108107
select ARCH_SUPPORTS_NUMA_BALANCING
109108
select ARCH_USE_BUILTIN_BSWAP
110109
select ARCH_USE_CMPXCHG_LOCKREF
111110
select ARCH_WANTS_DYNAMIC_TASK_STRUCT
111+
select ARCH_WANT_DEFAULT_BPF_JIT
112112
select ARCH_WANT_IPC_PARSE_VERSION
113113
select BUILDTIME_TABLE_SORT
114114
select CLONE_BACKWARDS2
@@ -451,14 +451,6 @@ config NR_CPUS
451451
config HOTPLUG_CPU
452452
def_bool y
453453

454-
# Some NUMA nodes have memory ranges that span
455-
# other nodes. Even though a pfn is valid and
456-
# between a node's start and end pfns, it may not
457-
# reside on that node. See memmap_init_zone()
458-
# for details. <- They meant memory holes!
459-
config NODES_SPAN_OTHER_NODES
460-
def_bool NUMA
461-
462454
config NUMA
463455
bool "NUMA support"
464456
depends on SCHED_TOPOLOGY
@@ -468,58 +460,9 @@ config NUMA
468460

469461
This option adds NUMA support to the kernel.
470462

471-
An operation mode can be selected by appending
472-
numa=<method> to the kernel command line.
473-
474-
The default behaviour is identical to appending numa=plain to
475-
the command line. This will create just one node with all
476-
available memory and all CPUs in it.
477-
478463
config NODES_SHIFT
479-
int "Maximum NUMA nodes (as a power of 2)"
480-
range 1 10
481-
depends on NUMA
482-
default "4"
483-
help
484-
Specify the maximum number of NUMA nodes available on the target
485-
system. Increases memory reserved to accommodate various tables.
486-
487-
menu "Select NUMA modes"
488-
depends on NUMA
489-
490-
config NUMA_EMU
491-
bool "NUMA emulation"
492-
default y
493-
help
494-
Numa emulation mode will split the available system memory into
495-
equal chunks which then are distributed over the configured number
496-
of nodes in a round-robin manner.
497-
498-
The number of fake nodes is limited by the number of available memory
499-
chunks (i.e. memory size / fake size) and the number of supported
500-
nodes in the kernel.
501-
502-
The CPUs are assigned to the nodes in a way that partially respects
503-
the original machine topology (if supported by the machine).
504-
Fair distribution of the CPUs is not guaranteed.
505-
506-
config EMU_SIZE
507-
hex "NUMA emulation memory chunk size"
508-
default 0x10000000
509-
range 0x400000 0x100000000
510-
depends on NUMA_EMU
511-
help
512-
Select the default size by which the memory is chopped and then
513-
assigned to emulated NUMA nodes.
514-
515-
This can be overridden by specifying
516-
517-
emu_size=<n>
518-
519-
on the kernel command line where also suffixes K, M, G, and T are
520-
supported.
521-
522-
endmenu
464+
int
465+
default "1"
523466

524467
config SCHED_SMT
525468
def_bool n
@@ -867,15 +810,6 @@ config SECCOMP
867810

868811
If unsure, say Y.
869812

870-
menu "Power Management"
871-
872-
config ARCH_HIBERNATION_POSSIBLE
873-
def_bool y
874-
875-
source "kernel/power/Kconfig"
876-
877-
endmenu
878-
879813
config CCW
880814
def_bool y
881815

@@ -1010,7 +944,6 @@ config S390_GUEST
1010944
select TTY
1011945
select VIRTUALIZATION
1012946
select VIRTIO
1013-
select VIRTIO_CONSOLE
1014947
help
1015948
Enabling this option adds support for virtio based paravirtual device
1016949
drivers on s390.

arch/s390/appldata/appldata_os.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ struct appldata_os_data {
7575
(waiting for I/O) */
7676

7777
/* per cpu data */
78-
struct appldata_os_per_cpu os_cpu[0];
78+
struct appldata_os_per_cpu os_cpu[];
7979
} __attribute__((packed));
8080

8181
static struct appldata_os_data *appldata_os_data;

arch/s390/boot/install.sh

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,10 @@
2121
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
2222
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
2323

24-
# Default install - same as make zlilo
24+
echo "Warning: '${INSTALLKERNEL}' command not available - additional " \
25+
"bootloader config required" >&2
26+
if [ -f $4/vmlinuz-$1 ]; then mv $4/vmlinuz-$1 $4/vmlinuz-$1.old; fi
27+
if [ -f $4/System.map-$1 ]; then mv $4/System.map-$1 $4/System.map-$1.old; fi
2528

26-
if [ -f $4/vmlinuz ]; then
27-
mv $4/vmlinuz $4/vmlinuz.old
28-
fi
29-
30-
if [ -f $4/System.map ]; then
31-
mv $4/System.map $4/System.old
32-
fi
33-
34-
cat $2 > $4/vmlinuz
35-
cp $3 $4/System.map
29+
cat $2 > $4/vmlinuz-$1
30+
cp $3 $4/System.map-$1

arch/s390/configs/debug_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,7 @@ CONFIG_INPUT_EVDEV=y
532532
# CONFIG_SERIO is not set
533533
CONFIG_LEGACY_PTY_COUNT=0
534534
CONFIG_NULL_TTY=m
535+
CONFIG_VIRTIO_CONSOLE=y
535536
CONFIG_HW_RANDOM_VIRTIO=m
536537
CONFIG_RAW_DRIVER=m
537538
CONFIG_HANGCHECK_TIMER=m

arch/s390/configs/defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,7 @@ CONFIG_INPUT_EVDEV=y
528528
# CONFIG_SERIO is not set
529529
CONFIG_LEGACY_PTY_COUNT=0
530530
CONFIG_NULL_TTY=m
531+
CONFIG_VIRTIO_CONSOLE=y
531532
CONFIG_HW_RANDOM_VIRTIO=m
532533
CONFIG_RAW_DRIVER=m
533534
CONFIG_HANGCHECK_TIMER=m

arch/s390/crypto/aes_s390.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ static int cbc_aes_crypt(struct skcipher_request *req, unsigned long modifier)
342342
memcpy(walk.iv, param.iv, AES_BLOCK_SIZE);
343343
ret = skcipher_walk_done(&walk, nbytes - n);
344344
}
345+
memzero_explicit(&param, sizeof(param));
345346
return ret;
346347
}
347348

@@ -470,6 +471,8 @@ static int xts_aes_crypt(struct skcipher_request *req, unsigned long modifier)
470471
walk.dst.virt.addr, walk.src.virt.addr, n);
471472
ret = skcipher_walk_done(&walk, nbytes - n);
472473
}
474+
memzero_explicit(&pcc_param, sizeof(pcc_param));
475+
memzero_explicit(&xts_param, sizeof(xts_param));
473476
return ret;
474477
}
475478

arch/s390/include/asm/hw_irq.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@
77

88
void __init init_airq_interrupts(void);
99
void __init init_cio_interrupts(void);
10-
void __init init_ext_interrupts(void);
1110

1211
#endif

arch/s390/include/asm/ipl.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ enum diag308_subcode {
119119
DIAG308_LOAD_NORMAL_DUMP = 4,
120120
DIAG308_SET = 5,
121121
DIAG308_STORE = 6,
122+
DIAG308_LOAD_NORMAL = 7,
122123
};
123124

124125
enum diag308_rc {

arch/s390/include/asm/lowcore.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,9 @@ struct lowcore {
141141

142142
/* br %r1 trampoline */
143143
__u16 br_r1_trampoline; /* 0x0400 */
144-
__u8 pad_0x0402[0x0e00-0x0402]; /* 0x0402 */
144+
__u32 return_lpswe; /* 0x0402 */
145+
__u32 return_mcck_lpswe; /* 0x0406 */
146+
__u8 pad_0x040a[0x0e00-0x040a]; /* 0x040a */
145147

146148
/*
147149
* 0xe00 contains the address of the IPL Parameter Information

0 commit comments

Comments
 (0)