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

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

 



> Passing an identifier is not an option for our hypervisor today.  We 
> rely far too heavily on the BIOS to properly initialize devices, PCI I/O 
> space, the E820 map, and many other things that can't be done in 
> paravirtual startup mode, without a ton of work.  Rather than set all 
> this up in paravirtual start-of-day, it is easier for us to fully 
> virtualize the processor and chipset during the boot process.

Ok.

> Our boot detection code looks like this.  We use I/O port detection to 
> reveal that we are running under VMware, and use a  hidden MSR to enable 
> paravirt mode.  The problem with this is that choosing an MSR that is 
> guaranteed not to trap on real hardware and also does not collide with  
> existing MSRs is a problem,

That sounds impossible for the native case. Either it is used by the 
hardware or it traps. Anything else would be a CPU erratum.

> and handling faults on an RDMSR which the  
> processor decided to convert to a #GP is impossible this early during 
> boot. 

It's not. We already handle exceptions during early boot. It's just
a bit ugly.


> This may (and does) vary by processor.  Hence, the I/O port  
> detection as a failsafe.

Peeking random io ports is dangerous - you can trip up
native hardware on some machines badly.

-Andi


[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