xemu/hw/s390x
Jared Rossi 0927875e70 hw/s390x: Build an IPLB for each boot device
Build an IPLB for any device with a bootindex (up to a maximum of 8 devices).

The IPLB chain is placed immediately before the BIOS in memory. Because this
is not a fixed address, the location of the next IPLB and number of remaining
boot devices is stored in the QIPL global variable for possible later access by
the guest during IPL.

Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20241020012953.1380075-16-jrossi@linux.ibm.com>
[thuth: Fix endianness problem when accessing the qipl structure]
Signed-off-by: Thomas Huth <thuth@redhat.com>
2024-10-23 06:53:44 +02:00
..
3270-ccw.c s390x/css: Refactor IRB construction 2021-06-21 08:48:21 +02:00
Kconfig s390x: switch boards to "default y" 2024-05-03 15:47:48 +02:00
ap-bridge.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
ap-device.c ap-device: Rename AP_DEVICE_TYPE to TYPE_AP_DEVICE 2020-09-09 13:20:22 -04:00
ccw-device.c s390x: Add individual loadparm assignment to CCW device 2024-10-23 06:53:44 +02:00
ccw-device.h s390x: Add individual loadparm assignment to CCW device 2024-10-23 06:53:44 +02:00
cpu-topology.c qapi/machine: Rename CpuS390* to S390Cpu*, and drop 'prefix' 2024-09-10 13:22:47 +02:00
css-bridge.c hw, target: Add ResetType argument to hold and exit phase methods 2024-04-25 10:21:06 +01:00
css.c s390: move css_migration_enabled from machine to css.c 2024-05-10 15:45:15 +02:00
event-facility.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
ipl.c hw/s390x: Build an IPLB for each boot device 2024-10-23 06:53:44 +02:00
ipl.h hw/s390x: Build an IPLB for each boot device 2024-10-23 06:53:44 +02:00
meson.build s390x/cpu topology: add topology entries on CPU hotplug 2023-10-20 07:16:53 +02:00
s390-ccw.c s390x/css: Make S390CCWDeviceClass::realize return bool 2024-06-24 08:03:33 +02:00
s390-pci-bus.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
s390-pci-inst.c hw/s390x: Use explicit big-endian LD/ST API 2024-10-07 11:33:20 +02:00
s390-pci-kvm.c s390x/pci: refresh fh before disabling aif 2024-01-19 11:38:32 +01:00
s390-pci-vfio.c s390x/pci: only limit DMA aperture if vfio DMA limit reported 2023-11-13 11:35:47 +01:00
s390-skeys-kvm.c hw/s390x/s390-skeys: rename skeys_enabled to skeys_are_enabled 2021-09-06 16:24:05 +02:00
s390-skeys.c hw/s390x: Introduce s390_skeys_get|set() helpers 2024-06-19 12:42:03 +02:00
s390-stattrib-kvm.c s390/stattrib: Add Error** argument to set_migrationmode() handler 2024-04-23 18:36:01 -04:00
s390-stattrib.c hw/s390x: Include missing 'cpu.h' header 2024-04-25 15:15:25 +02:00
s390-virtio-ccw.c s390x: Add individual loadparm assignment to CCW device 2024-10-23 06:53:44 +02: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 hw/s390x: Include missing 'cpu.h' header 2024-04-25 15:15:25 +02:00
sclp.c s390x: Add individual loadparm assignment to CCW device 2024-10-23 06:53:44 +02:00
sclpcpu.c hw/s390x: Rename cpu_class_init() to include 'sclp' 2024-01-19 12:28:59 +01:00
sclpquiesce.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
tod-kvm.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
tod-tcg.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
tod.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
trace-events hw/s390x: Introduce s390_skeys_get|set() helpers 2024-06-19 12:42:03 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-scsi-ccw.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
vhost-user-fs-ccw.c virtio: add vhost-user-fs-ccw device 2020-09-23 13:41:58 +01:00
vhost-vsock-ccw.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-9p.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-balloon.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-blk.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-crypto.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-gpu.c modules: introduces module_kconfig directive 2022-06-06 09:26:53 +02:00
virtio-ccw-input.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-net.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-rng.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-scsi.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-serial.c Drop duplicate #include 2023-02-08 07:28:05 +01:00
virtio-ccw.c hw/s390/virtio-ccw: Convert to three-phase reset 2024-09-13 15:31:43 +01:00
virtio-ccw.h hw/s390/virtio-ccw: Convert to three-phase reset 2024-09-13 15:31:43 +01:00