On 25/07/2018 16:13, Vitaly Kuznetsov wrote: > Paolo Bonzini <pbonzini@xxxxxxxxxx> writes: > >> On 25/07/2018 15:26, Vitaly Kuznetsov wrote: >> >>> The other place where we set dirty_vmcs12 is the newly introduced >>> vmx_set_nested_state() but I think I'm going to add support for eVMCS >>> there later and just return something like -ENOTSUPP for now. Too many >>> people work on nested simultaneously :-) >> >> Hmm, I think that means you have to put the clean fields in the >> vmx_nested struct. Then it's really easy in vmx_set_nested_state to >> clear all the clean bits. Touching memory in vmx_set_nested_state is... >> *puts on sunglasses* a touchy subject (see comment in kvm/queue's >> enter_vmx_non_root_mode). >> > > Not only clean fields, in case we can't touch memory in > vmx_set_nested_state I guess we'll need to cache the whole eVMCS, just > like we save cached_shadow_vmcs12. Anyway, let's eat the elephant one > bite at a time :-) You're right, but do we actually need to save the vmcs12 if eVMCS is active? The format would be different, but the size wouldn't. Paolo