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

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

 



Eric W. Biederman wrote:
> I was half wondering if there was a BIOS call we might make in setup.S
> to see if we were running under vmware.
>
> Certainly there are some rough edges to work out here.
>   

We could add one - but I don't want to touch the BIOS code with a ten 
foot pole.  And it still has the problem of having potential future 
architectural incompatibility.  Not that anyone is actively extending 
the BIOS services, but it is still theoretically a problem.  The chicken 
/ egg problem here boils down to - we can't do anything outside the 
native hardware spec until we are in paravirtualized mode.  And we can't 
detect and enter paravirtualized mode without doing something vendor 
specific - potentially outside of the native spec.  The PCI device 
solves all this nicely for us, but that approach doesn't work for a true 
paravirt start-of-day, such as Xen.

There are a number of other approaches we could take - a config file 
setting to deliberately misvirtualize the head.S code, thus magically 
inserting our hypervisor specific constant in EBX at the right moment, 
or a boot-shim that sets this up for us.  But these approaches are more 
fragile, error prone, and even more work.

Any objections to having a "clean" interface for doing hypervisor 
probing in addition to magical awakening?  The PCI thing is nice, but 
requires a registered PCI ID for truly safe disambiguation, which not 
everyone has (Bochs / qemu / L4).  Anyone have a better idea?  Perhaps 
PCI spec reserved a vendor range for experimental / software use that we 
can define for Linux purposes?

Zach


[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