2024-01-09 09:06:18

by Alexander Gordeev

[permalink] [raw]
Subject: [GIT PULL] s390 updates for the 6.8 merge window

Hello Linus,

Please pull s390 changes for 6.8 merge window.

Please note three KVM commits that were agreed to go via s390 tree
as part of a floating-point unit (FPU) rework:
KVM: s390: fix setting of fpc register
KVM: s390: use READ_ONCE() to read fpc register value
KVM: s390: remove superfluous save_fpu_regs() call

Also, there is revert of defconfigs update that is upstream already
as commit 3d940bb18183 ("s390: update defconfigs"):
Revert "s390: update defconfigs"
s390: update defconfigs

Thank you,
Alexander

The following changes since commit 98b1cc82c4affc16f5598d4fa14b1858671b2263:

Linux 6.7-rc2 (2023-11-19 15:02:14 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.8-1

for you to fetch changes up to b2b97a62f055dd638f7f02087331a8380d8f139a:

Revert "s390: update defconfigs" (2023-12-18 10:58:58 +0100)

----------------------------------------------------------------
s390 updates for 6.8 merge window

- Add machine variable capacity information to /proc/sysinfo.

- Limit the waste of page tables and always align vmalloc area size
and base address on segment boundary.

- Fix a memory leak when an attempt to register interruption sub class
(ISC) for the adjunct-processor (AP) guest failed.

- Reset response code AP_RESPONSE_INVALID_GISA to understandable
by guest AP_RESPONSE_INVALID_ADDRESS in response to a failed
interruption sub class (ISC) registration attempt.

- Improve reaction to adjunct-processor (AP) AP_RESPONSE_OTHERWISE_CHANGED
response code when enabling interrupts on behalf of a guest.

- Fix incorrect sysfs 'status' attribute of adjunct-processor (AP) queue
device bound to the vfio_ap device driver when the mediated device is
attached to a guest, but the queue device is not passed through.

- Rework struct ap_card to hold the whole adjunct-processor (AP) card
hardware information. As result, all the ugly bit checks are replaced
by simple evaluations of the required bit fields.

- Improve handling of some weird scenarios between service element (SE)
host and SE guest with adjunct-processor (AP) pass-through support.

- Change local_ctl_set_bit() and local_ctl_clear_bit() so they return the
previous value of the to be changed control register. This is useful if
a bit is only changed temporarily and the previous content needs to be
restored.

- The kernel starts with machine checks disabled and is expected to enable
it once trap_init() is called. However the implementation allows machine
checks early. Consistently enable it in trap_init() only.

- local_mcck_disable() and local_mcck_enable() assume that machine checks
are always enabled. Instead implement and use local_mcck_save() and
local_mcck_restore() to disable machine checks and restore the previous
state.

- Modification of floating point control (FPC) register of a traced
process using ptrace interface may lead to corruption of the FPC
register of the tracing process. Fix this.

- kvm_arch_vcpu_ioctl_set_fpu() allows to set the floating point control
(FPC) register in vCPU, but may lead to corruption of the FPC register
of the host process. Fix this.

- Use READ_ONCE() to read a vCPU floating point register value from the
memory mapped area. This avoids that, depending on code generation,
a different value is tested for validity than the one that is used.

- Get rid of test_fp_ctl(), since it is quite subtle to use it correctly.
Instead copy a new floating point control register value into its save
area and test the validity of the new value when loading it.

- Remove superfluous save_fpu_regs() call.

- Remove s390 support for ARCH_WANTS_DYNAMIC_TASK_STRUCT. All machines
provide the vector facility since many years and the need to make the
task structure size dependent on the vector facility does not exist.

- Remove the "novx" kernel command line option, as the vector code runs
without any problems since many years.

- Add the vector facility to the z13 architecture level set (ALS).
All hypervisors support the vector facility since many years.
This allows compile time optimizations of the kernel.

- Get rid of MACHINE_HAS_VX and replace it with cpu_has_vx(). As result,
the compiled code will have less runtime checks and less code.

- Convert pgste_get_lock() and pgste_set_unlock() ASM inlines to C.

- Convert the struct subchannel spinlock from pointer to member.

----------------------------------------------------------------
Alexander Gordeev (2):
s390/boot: always align vmalloc area on segment boundary
Revert "s390: update defconfigs"

Anthony Krowiak (2):
s390/vfio-ap: unpin pages on gisc registration failure
s390/vfio-ap: set status response code to 06 on gisc registration failure

Claudio Imbrenda (1):
s390/mm: convert pgste locking functions to C

Halil Pasic (1):
s390/cio: make sch->lock spinlock pointer a member

Harald Freudenberger (2):
s390/ap: store TAPQ hwinfo in struct ap_card
s390/ap: handle outband SE bind state change

Heiko Carstens (13):
s390/ctlreg: return old register contents when changing bits
s390/nmi: consistently enable machine checks in trap_init()
s390/nmi: implement and use local_mcck_save() / local_mcck_restore()
s390/ptrace: handle setting of fpc register correctly
KVM: s390: fix setting of fpc register
KVM: s390: use READ_ONCE() to read fpc register value
s390/fpu: get rid of test_fp_ctl()
KVM: s390: remove superfluous save_fpu_regs() call
s390/fpu: remove ARCH_WANTS_DYNAMIC_TASK_STRUCT support
s390/fpu: remove "novx" option
s390/als: add vector facility to z13 architecture level set
s390/fpu: get rid of MACHINE_HAS_VX
s390: update defconfigs

Tony Krowiak (2):
s390/vfio-ap: improve reaction to response code 07 from PQAP(AQIC) command
s390/vfio-ap: fix sysfs status attribute for AP queue devices

Vasily Gorbik (1):
s390/sysinfo: add variable capacity information

arch/s390/Kconfig | 1 -
arch/s390/boot/ipl_parm.c | 2 +-
arch/s390/boot/startup.c | 3 +-
arch/s390/crypto/chacha-glue.c | 2 +-
arch/s390/include/asm/ap.h | 21 ++--
arch/s390/include/asm/ctlreg.h | 24 +++--
arch/s390/include/asm/fpu/api.h | 35 +++---
arch/s390/include/asm/fpu/internal.h | 10 +-
arch/s390/include/asm/processor.h | 34 ++++--
arch/s390/include/asm/setup.h | 2 -
arch/s390/include/asm/sysinfo.h | 4 +
arch/s390/kernel/compat_signal.c | 16 ++-
arch/s390/kernel/crash_dump.c | 5 +-
arch/s390/kernel/early.c | 12 +--
arch/s390/kernel/fpu.c | 12 +--
arch/s390/kernel/machine_kexec.c | 2 +-
arch/s390/kernel/nmi.c | 10 +-
arch/s390/kernel/perf_regs.c | 6 +-
arch/s390/kernel/process.c | 2 +-
arch/s390/kernel/processor.c | 7 +-
arch/s390/kernel/ptrace.c | 28 +++--
arch/s390/kernel/setup.c | 25 +----
arch/s390/kernel/signal.c | 12 +--
arch/s390/kernel/smp.c | 6 +-
arch/s390/kernel/sysinfo.c | 10 ++
arch/s390/kernel/traps.c | 13 ++-
arch/s390/kernel/vmlinux.lds.S | 1 +
arch/s390/kvm/interrupt.c | 2 +-
arch/s390/kvm/kvm-s390.c | 26 ++---
arch/s390/lib/test_unwind.c | 6 +-
arch/s390/mm/pgtable.c | 27 ++---
arch/s390/tools/gen_facilities.c | 1 +
drivers/s390/cio/chsc.c | 18 ++--
drivers/s390/cio/chsc_sch.c | 6 +-
drivers/s390/cio/cio.c | 6 +-
drivers/s390/cio/cio.h | 2 +-
drivers/s390/cio/css.c | 36 ++-----
drivers/s390/cio/device.c | 66 ++++++------
drivers/s390/cio/device_pgid.c | 12 +--
drivers/s390/cio/eadm_sch.c | 36 +++----
drivers/s390/cio/vfio_ccw_drv.c | 8 +-
drivers/s390/cio/vfio_ccw_fsm.c | 24 ++---
drivers/s390/crypto/ap_bus.c | 72 ++++++-------
drivers/s390/crypto/ap_bus.h | 22 +---
drivers/s390/crypto/ap_card.c | 18 ++--
drivers/s390/crypto/ap_queue.c | 200 +++++++++++++++++++++++------------
drivers/s390/crypto/vfio_ap_ops.c | 30 ++++--
drivers/s390/crypto/zcrypt_api.c | 16 +--
drivers/s390/crypto/zcrypt_cex4.c | 31 +++---
lib/raid6/s390vx.uc | 2 +-
50 files changed, 517 insertions(+), 455 deletions(-)


2024-01-11 02:25:14

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] s390 updates for the 6.8 merge window

The pull request you sent on Tue, 9 Jan 2024 10:05:57 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git tags/s390-6.8-1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/de927f6c0b07d9e698416c5b287c521b07694cac

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html