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

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

 



Jeremy Fitzhardinge wrote
>
>> Why do you insist that Xen have a separate kernel entry point?
>
> Because if you're going to distinguish hypervisors by putting a magic 
> value in a register, you get the best bang for the buck if the 
> register is EIP.  If you don't want a special entrypoint, point EIP at 
> the common code.  If you want to poke values into a couple of 
> registers, do that then jump to common.  If you need to do something 
> complex and intricate in a restricted environment, you can do that 
> without having to fit that into the common startup sequence.  It's for 
> the same reason that calling through a function pointer is nicer than 
> having lots of switch statements around the place.

I think the larger issue that Eric pointed out is that there is only a 
single entry field in the ELF header.  Having undocumented hypervisor 
specific entry points is messy, and a common boot point that plays nice 
with hypervisors, AP startup and kexec is certainly a nice thing.  It 
would be even better to just totally clean up head.S and move much of it 
into C code, but that is a longer term project.

For us, the issue is somewhat moot, because we don't actually have a 
different entry point, nor do we need to do anything paravirt-ops 
related until much later.

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