> Well, the only shortcomings I'm aware of of the external IPL are: > > * You lose the boot menu. All you get is "entry 0", "entry 1", etc. as the > description is not part of the boot map > * You can't choose different entries during runtime. Doing a reboot of a VM > and selecting a different entry won't work. > > The former is pretty annoying if you don't know all of your VMs by heart. The > latter is an issue when you don't own the qemu process, > but do own the VM. Think of a hosted environment.
Those are valid points. Regarding the former, I see two things that we might do here: 1. have the current zipl-"bios" as a fallback if the user does not specify an s390-ipl device. That should be pretty easy and might even have the advantage to minimize the surprise to existing users of kvm on s390(are there any?). If the user provides an s390-ipl device then this is a conscious decision. (I will move the specific virtio-zipl bios code into the s390-ipl device nevertheless,see below for rationale) 2. I will check with the zipl maintainer if we could sneak in the necessary information in the boot map, the program table or something else (e.g. defining an component_description, after component_execute). It just have to be compatible with the layout that the firmware loader expects. Not sure yet, if this will work out I definitely want to concentrate all booting in this device: kernel, zipl-virtio, firmware loader and everything else, because on system_reset we have to reset the cpus and set the PSW accordingly. As a device we are being called during reset at the right time. Does that make sense? If yes I will try to refresh that patch as outlined above Christian