Re: [Xen-devel] [PATCH v1 04/12] xen/hvmlite: Bootstrap HVMlite guest
From: Andrew Cooper
Date: Sat Jan 23 2016 - 09:49:49 EST
On 23/01/2016 00:55, Luis R. Rodriguez wrote:
> On Fri, Jan 22, 2016 at 4:30 PM, Andrew Cooper
> <andrew.cooper3@xxxxxxxxxx> wrote:
>> the DMLite boot
>> protocol is OS agnostic, and will be staying that way.
> What's the DMLite boot protocol?
It is a statement of the initial state of a DMLite container.
> Is that the protocol that is defined by Xen to boot Xen guests and dom0?
Technically it is toolstack which constructs this initial state, but
broadly yes.
> Is this well documented somewhere?
There is a patch out on the list formalising the ABI in writing. (Roger:
ping?)
> To be clear are you saying that by no means will Xen change to instead
> of setting a, say zero-page, it would just want to always stuff a xen
> struct, pass that to the boot entry, and then expect always the guest
> kernel to always parse this?
Correct. Why do you think we should lumber non-Linux guests with a
Linux-specific boot protocol?
Quite apart from the fact that Linux is second to the table here
(FreeBSD was first), it causes inappropriate linkage between the
toolstack and the version of Linux wishing to be booted.
>
> If true, then by no means, no matter how hard we try, and no matter
> what we do on the Linux front to help clean things up will we be able
> to have a unified bare metal / Xen entry. I'm noting it could be
> possible though provided we do just set the zero page, the subarch to
> Xen and subarch_data to the Xen custom data structure.
All you need is a very small stub which starts per the DMLite ABI, sets
up an appropriate zero_page, and jumps to the native entrypoint.
However, this stub belongs in Linux, not in the Xen toolstack. That
way, when the Linux boot protocol is modified, both sides can be updated
accordingly.
~Andrew