qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/1] s390: IPL device for s390


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 1/1] s390: IPL device for s390
Date: Tue, 8 May 2012 21:18:39 +0200

On 08.05.2012, at 20:54, Christian Borntraeger wrote:

>> 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)

I would certainly want that, yes.

What I was also envisioning on top was to run a new version of the zipl-"bios" 
that only communicates with the special bootup device and virtio-console. It 
could use all the memory it wants, read out the menu from the bootup device and 
when it's either run into a timeout or the user chose an entry, it could call 
into the bootup device to IPL the box for real.

On reboot, IPL would happen into this new zipl-"bios", which would then IPL 
into the default entry or another user give choice if the user wants to choose 
something different.

This gives us the possibility of the use case where the VMM owner is different 
from the VM owner. The VM owner only needs access to its console and is still 
able to boot however he likes.

I don't think at this point that it'd make sense to share any code with zipl 
though, as we basically moved all zipl functionality into the bootup device. 
Maybe we could even do all of this in grub2 with a special pseudo-fs for the 
entries? Then the user could even modify kernel parameters on the fly! Omg :). 
Usability meets z ;)

Either way, this is just an idea of the direction we should go here, to make 
sure the code we write today doesn't go against that direction. As long as we 
can have an "auto" mode that just loads some guest blob and runs that 
(zipl-bios today), I think we're good for now.

> 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

That'd be great, yes! Worst case we can always add a "special" entry that is 
invisible in the boot menu, but contains metadata, no? It'd just be a normal 
IPL entry after all the user defined entries, just that nobody knows it exists 
;).

> 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

Yes, that makes perfect sense :)


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]