qemu/hw/s390x
Halil Pasic 0a01e082a4 s390/ipl: sync back loadparm
We expose loadparm as a r/w machine property, but if loadparm is set by
the guest via DIAG 308, we don't update the property. Having a
disconnect between the guest view and the QEMU property is not nice in
itself, but things get even worse for SCSI, where under certain
circumstances (see 789b5a401b "s390: Ensure IPL from SCSI works as
expected" for details) we call s390_gen_initial_iplb() on resets
effectively overwriting the guest/user supplied loadparm with the stale
value.

Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Fixes: 7104bae9de ("hw/s390x: provide loadparm property for the machine")
Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
Tested-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20200309133223.100491-1-pasic@linux.ibm.com>
[borntraeger@de.ibm.com: use reverse xmas tree]
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2020-03-10 10:18:14 +01:00
..
3270-ccw.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
ap-bridge.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ap-device.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ccw-device.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
ccw-device.h s390x: vmstatify config migration for virtio-ccw 2017-07-05 12:16:55 +02:00
css-bridge.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
css.c Avoid address_space_rw() with a constant is_write argument 2020-02-20 14:47:08 +01:00
event-facility.c s390x/event-facility: fix error propagation 2020-01-27 12:13:09 +01:00
ipl.c s390/ipl: sync back loadparm 2020-03-10 10:18:14 +01:00
ipl.h Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
Kconfig kconfig: add CONFIG_MSI_NONBROKEN 2019-03-18 09:39:57 +01:00
Makefile.objs s390x: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
s390-ccw.c sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h 2019-08-16 13:31:53 +02:00
s390-pci-bus.c Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
s390-pci-bus.h s390x/pci: Drop release timer and replace it with a flag 2019-02-04 13:47:50 +01:00
s390-pci-inst.c add device_legacy_reset function to prepare for reset api change 2020-01-30 16:02:03 +00:00
s390-pci-inst.h s390x/pci: add common function measurement block 2019-01-18 11:52:01 +01:00
s390-skeys-kvm.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
s390-skeys.c vmstate: replace DeviceState with VMStateIf 2020-01-06 18:41:32 +04:00
s390-stattrib-kvm.c s390x/storage attributes: fix CMMA_BLOCK_SIZE usage 2018-07-11 14:36:54 +02:00
s390-stattrib.c hw/s390x: rename Error ** parameter to more common errp 2019-12-18 08:43:19 +01:00
s390-virtio-ccw.c hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
s390-virtio-hcall.c s390x: rename s390-virtio.h to s390-virtio-hcall.h 2017-09-19 18:31:31 +02:00
s390-virtio-hcall.h s390/kvm_virtio/linux-headers: remove traces of old virtio transport 2017-11-24 10:52:05 +01:00
sclp.c s390x/sclp.c: remove unneeded label in sclp_service_call() 2020-01-27 12:13:09 +01:00
sclpcpu.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
sclpquiesce.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tod-kvm.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tod-qemu.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tod.c migration: register_savevm_live doesn't need dev 2019-09-12 11:15:03 +01:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
vhost-vsock-ccw.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-9p.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-balloon.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-blk.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-crypto.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-gpu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-input.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-net.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-rng.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-scsi.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-serial.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw.c Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
virtio-ccw.h s390x/ccw: make sure all ccw devices are properly reset 2018-05-14 17:10:02 +02:00