Avi Kivity wrote: > On 03/05/2010 06:50 PM, Alexander Graf wrote: >> We have wrappers to do for example gpr read/write accesses with, >> because the contents of registers could be either in the PACA >> or in the VCPU struct. >> >> There's nothing that says we have to have the guest vcpu loaded >> when using these wrappers though, so let's introduce a flag that >> tells us whether we're inside a vcpu_load context. >> >> > > On x86 we always access registers within vcpu_load() context. That > simplifies things. Does this not apply here? > > Even so, sometimes guest registers are present on the cpu, and > sometimes in shadow variables (for example, msrs might be loaded or > not). The approach here is to always unload and access the variable > data. See for example vmx_set_msr() calling vmx_load_host_state() > before accessing msrs. > > Seems like this could reduce the if () tree? Well - it would probably render this particular patch void. In fact, I think it is already useless thanks to the other "always do vcpu_load" patch. As far as the already existing if goes, we can't really get rid of that. I want to be fast in the instruction emulation. Copying around the registers won't help there. Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html