[RFC] First (incomplete) cut of Xen paravirt binding

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

 



"Christian Limpach" <Christian.Limpach at xensource.com> writes:

>> From: virtualization-bounces at lists.osdl.org 
>> [mailto:virtualization-bounces at lists.osdl.org] On Behalf Of 
>> Eric W. Biederman
>>
>> What I don't want to do is have a lot of variation in /sbin/kexec
>> for loading linux under different hypervisors for no particular
>> reason.
>
> That's very reasonable, but at the same time:
> What we don't want to do is have a lot of variation in our domain
> builder for loading different operating systems for no particular
> reason.

Sure.  A reasonable concern.  Do you have an ELF format windows kernel?
My point being this is a fundamental point where variation happens.
No boot-loader has been able to see OS vendors on a single format.
I don't expect Xen will be able to change this trend.

The important part is that we be able to autodetect what we
are working with.

> And also, I think there are much better paravirtual approaches to kexec
> in a paravirtual environment:
> - kexec proper is best done by putting the image in memory and then
> having the control plane build a new domain using this image

Yes, and /sbin/kexec composes that image, including all of the glue
code necessary to make it work under Xen.  Which typically is the
parameter block capture.

Beyond that I think the rest of your kexec implementation comments are
best discussed when we have patches to that part of the code.

>> We can easily stuff a hypervisor id in the parameter block.  So
>> we can do: "paravirts[%esi->hypervisor]->init();"
>
> If you make %esi->hypervisor a 32bit ident and add a lookup of
> %esi->hypervisor by comparing it to paravirts.ident for each compiled in
> paravirts ops structure, then this starts to look quite good.

We have a 16bit field we can easily use.  32bit seems a little extravagant.

> If given the choice, I would still choose the per-hypervisor entry point
> though...

Eric


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux