- 18 6月, 2021 26 次提交
-
-
由 Heiko Carstens 提交于
Remove register asm usage from diag8_noresponse() since it wasn't needed at all. There is no requirement for even/odd register pairs for diag 0x8. For diag_response() use register pairs to fulfill the rx+1 and ry+1 requirements as required if a response buffer is specified. Also change the inline asm to return the condition code of the diagnose instruction and do the conditional handling of response length calculation in C. Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Get rid of register asm statement and use a register pair. This allows the compiler to allocate registers on its own. Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Introduce a register pair union, which is supposed to be used for inline assemblies where instructions require parameters in even/odd numbered register pairs. This is more or less the same register pair construct which was available for 31 bit builds which was removed with commit 5a79859a ("s390: remove 31 bit support"). Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover vmlogrdr-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover sclp base-related power management code. Note that we keep the registration of the sclp platform driver since it is used to externalize non-PM related attributes in sysfs. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover sclp quiesce-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover sclp memory hotplug-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover sclp vt220-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover sclp console-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover monwriter-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover monreader-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover xpram-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
Power management support was removed for s390 with commit 39421627 ("s390: remove broken hibernate / power management support"). Remove leftover dcssblk-related power management code. Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Vineeth Vijayan 提交于
Currently css_wait_for_slow_path() gets called inside the chp->lock. The path-verification-loop of slowpath inside this lock could lead to deadlock as reported by the lockdep validator. The ccw_device_get_chp_desc() during the instance of a device-set-online would try to acquire the same 'chp->lock' to read the chp->desc. The instance of this function can get called from multiple scenario, like probing or setting-device online manually. This could, in some corner-cases lead to the deadlock. lockdep validator reported this as, CPU0 CPU1 ---- ---- lock(&chp->lock); lock(kn->active#43); lock(&chp->lock); lock((wq_completion)cio); The chp->lock was introduced to serialize the access of struct channel_path. This lock is not needed for the css_wait_for_slow_path() function, so invoke the slow-path function outside this lock. Fixes: b730f3a9 ("[S390] cio: add lock to struct channel_path") Cc: <stable@vger.kernel.org> Reviewed-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVineeth Vijayan <vneethv@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
All s390 irqflags functions are very small and should be always inlined. Therefore mark them __always_inline. This also allows to get rid of the rather odd notrace attribute for these small functions, which was only added to prevent tracing iff any of these functions would not be inlined. Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
s390 is the only architecture which makes use of the __no_kasan_or_inline attribute for two functions. Given that both stap() and __load_psw_mask() are very small functions they can and should be always inlined anyway. Therefore get rid of __no_kasan_or_inline and always inline these functions. Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Peter Oberparleiter 提交于
When read via debugfs, s390dbf debug-views print the kernel address of the call-site that created a trace entry. The kernel's %p pointer hashing feature obfuscates this address, and commit 860ec7c6 ("s390/debug: use pK for kernel pointers") made this obfuscation configurable via the kptr_restrict sysctl. Obfuscation of kernel address data printed via s390dbf debug-views does not add any additional protection since the associated debugfs files are only accessible to the root user that typically has enough other means to obtain kernel address data. Also trace payload data may contain binary representations of kernel addresses as part of logged data structues. Requiring such payload data to be obfuscated as well would be impractical and greatly diminish the use of s390dbf. Therefore completely remove pointer obfuscation from s390dbf debug-views. Reviewed-by: NSteffen Maier <maier@linux.ibm.com> Acked-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Vasily Gorbik 提交于
Since OLDMEM_BASE/OLDMEM_SIZE is already taken into consideration and is reflected in ident_map_size. reserve/remove_oldmem() is no longer needed and could be removed. Reviewed-by: NAlexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Vasily Gorbik 提交于
Currently there are two separate places where kernel memory layout has to be known and adjusted: 1. early kasan setup. 2. paging setup later. Those 2 places had to be kept in sync and adjusted to reflect peculiar technical details of one another. With additional factors which influence kernel memory layout like ultravisor secure storage limit, complexity of keeping two things in sync grew up even more. Besides that if we look forward towards creating identity mapping and enabling DAT before jumping into uncompressed kernel - that would also require full knowledge of and control over kernel memory layout. So, de-duplicate and move kernel memory layout setup logic into the decompressor. Reviewed-by: NAlexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
- 17 6月, 2021 2 次提交
-
-
由 Alexander Gordeev 提交于
Introduce OUTSIDE macro that checks whether an instruction address is inside or outside of a block of instructions. Signed-off-by: NAlexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Harald Freudenberger 提交于
This patch brings 3 reworked/new uevent changes: * All AP uevents caused by an ap card or queue device now carry an additional uevent env value MODE=<accel|cca|ep11>. Here is an example: KERNEL[1267.301292] add /devices/ap/card0a (ap) ACTION=add DEVPATH=/devices/ap/card0a SUBSYSTEM=ap DEVTYPE=ap_card DEV_TYPE=000D MODALIAS=ap:t0D MODE=ep11 <- this is new SEQNUM=1095 This is true for bind, unbind, add, remove, and change uevents related to ap card or ap queue devices. * On a change of the soft online attribute on a zcrypt queue or card device a new CHANGE uevent is sent with an env value ONLINE=<0|1>. Example uevent: KERNEL[613.067531] change /devices/ap/card09/09.0011 (ap) ACTION=change DEVPATH=/devices/ap/card09/09.0011 SUBSYSTEM=ap ONLINE=0 <- this is new DEVTYPE=ap_queue DRIVER=cex4queue MODE=cca SEQNUM=1070 - On a change of the config state of an zcrypt card device a new CHANGE uevent is sent with an env value CONFIG=<0|1>. Example uevent: KERNEL[876.258680] change /devices/ap/card09 (ap) ACTION=change DEVPATH=/devices/ap/card09 SUBSYSTEM=ap CONFIG=0 <- this is new DEVTYPE=ap_card DRIVER=cex4card DEV_TYPE=000D MODALIAS=ap:t0D MODE=cca SEQNUM=1073 Setting a card config on/off causes the dependent queue devices to follow the config state change and thus uevents informing about the config state change for the queue devices are also emitted. Signed-off-by: NHarald Freudenberger <freude@linux.ibm.com> Reviewed-by: NIngo Franzki <ifranzki@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
- 07 6月, 2021 12 次提交
-
-
由 Rob Landley 提交于
Use simple sed/tr instead of perl to generate decompressor symbols file with the same result. Signed-off-by: NRob Landley <rob@landley.net> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com> [gor: changed commit message] Link: https://lore.kernel.org/r/a48c51f8-5fe4-87e7-284e-c96e2381801a@landley.netSigned-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Alexander Gordeev 提交于
cleanup_sie_mcck label is called from a single location only and thus does not need to be a subroutine. Move the labelled code to the caller - by doing that the SIE critical section checks appear next to each other and the SIE cleanup becomes bit more readable. Signed-off-by: NAlexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Vasily Gorbik 提交于
This helps to avoid merge conflicts later. * fixes: s390/mcck: fix invalid KVM guest condition check s390/mcck: fix calculation of SIE critical section size Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Heiko Carstens 提交于
Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Sven Schnelle 提交于
Signed-off-by: NSven Schnelle <svens@linux.ibm.com> Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Sven Schnelle 提交于
To avoid casting ptrace members, add a union containing both struct tpi_info and explicit int_code/int_parm members. Signed-off-by: NSven Schnelle <svens@linux.ibm.com> Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Sven Schnelle 提交于
For future work we need the struct tpi_info declaration in asm/ptrace.h. Due to circular dependencies it cannot stay in asm/lowcore.h or asm/cio.h, which would be the preferred location. Therefore add it in its own header file. Also fix a typo in the length of a reserved field that did not have a functional effect beyond an incorrect field value in the s390_cio_tpi tracepoint. Fixes: 2ab59de7 ("s390/cio: Consolidate inline assemblies and related data definitions") Signed-off-by: NSven Schnelle <svens@linux.ibm.com> Acked-by: NPeter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: NHeiko Carstens <hca@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Randy Dunlap 提交于
APPLDATA_BASE should depend on PROC_SYSCTL instead of PROC_FS. Building with PROC_FS but not PROC_SYSCTL causes a build error, since appldata_base.c uses data and APIs from fs/proc/proc_sysctl.c. arch/s390/appldata/appldata_base.o: in function `appldata_generic_handler': appldata_base.c:(.text+0x192): undefined reference to `sysctl_vals' Fixes: c185b783 ("[S390] Remove config options.") Signed-off-by: NRandy Dunlap <rdunlap@infradead.org> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: linux-s390@vger.kernel.org Signed-off-by: NVasily Gorbik <gor@linux.ibm.com> Link: https://lore.kernel.org/r/20210528002420.17634-1-rdunlap@infradead.orgSigned-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Fabrice Fontaine 提交于
Though -nostdlib is passed in PURGATORY_LDFLAGS and -ffreestanding in KBUILD_CFLAGS_DECOMPRESSOR, -fno-stack-protector must also be passed to avoid linking errors related to undefined references to '__stack_chk_guard' and '__stack_chk_fail' if toolchain enforces -fstack-protector. Fixes - https://gitlab.com/kubu93/buildroot/-/jobs/1247043361Signed-off-by: NFabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com> Reviewed-by: NAlexander Egorenkov <egorenar@linux.ibm.com> Tested-by: NAlexander Egorenkov <egorenar@linux.ibm.com> Link: https://lore.kernel.org/r/20210510053133.1220167-1-fontaine.fabrice@gmail.comSigned-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Julian Wiedmann 提交于
ccwgroup_notifier() currently listens for BUS_NOTIFY_UNBIND_DRIVER events, and triggers an ungrouping for the affected device. Looking at __device_release_driver(), we can wait for a little longer until the driver has been fully unbound and eg. bus->remove() has been called. So listen for BUS_NOTIFY_UNBOUND_DRIVER instead. Due to locking the current code should work just fine, but this clarifies our intent. Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com> Reviewed-by: NVineeth Vijayan <vneethv@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Julian Wiedmann 提交于
driver_unregister() ends up calling __device_release_driver() for each device that is bound to the driver. Thus ccwgroup_notifier() will see a BUS_NOTIFY_UNBIND_DRIVER event for these ccwgroup devices, and trigger the ungrouping. So there's no need to also trigger the ungrouping from within ccwgroup_driver_unregister(), remove it. Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com> Reviewed-by: NVineeth Vijayan <vneethv@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-
由 Julian Wiedmann 提交于
Define & initialize the driver struct in one go, so that everything is in one place. Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com> Reviewed-by: NHalil Pasic <pasic@linux.ibm.com> Signed-off-by: NVasily Gorbik <gor@linux.ibm.com>
-