Jeremy Fitzhardinge wrote: >> When combined with Zach's "share startup_32" patch, I >> think it's a no-brainer. >> > > Actually, that's a non-starter. It won't work if the kernel is > running in ring 0. And if you are running in ring 0, why is there an issue with delaying the paravirtual startup code? Either you are in HVM, in which case you can transfer paravirt_ops over to the operations you support at an arbitrary time, you are in dom-0, which has an explicitly unmaintained and unstable interface to Xen (therefore not even likely a topic of discussion here), or you are in a trusted domain, which also doesn't need to do anything super special at "event zero". The only use for the alternate entry point is to avoid running code with paging disabled, which is not virtualizable under Xen. Here's a no-brainer proposal - check the PE bit in CR0 to see if paging is already turned on, then jump to the alternate pv_startup32. Zach