On Mon, Oct 07, 2019 at 12:07:03PM +0200, Paolo Bonzini wrote: > As usual, nothing to say about the behavior, just about the code... > > On 04/10/19 19:52, Jim Mattson wrote: > > + * Returns: > > + * 0 - success, i.e. proceed with actual VMEnter > > + * -EFAULT - consistency check VMExit > > + * -EINVAL - consistency check VMFail > > + * -ENOTSUPP - kvm internal error > > */ > > ... the error codes do not mean much here. Can you define an enum instead? Agreed. Liran also suggested an enum. > (I also thought about passing the exit reason, where bit 31 could be > used to distinguish VMX instruction failure from an entry failure > VMexit, which sounds cleaner if you just look at the prototype but > becomes messy fairly quickly because you have to pass back the exit > qualification too. The from_vmentry argument could become u32 > *p_exit_qual and be NULL if not called from VMentry, but it doesn't seem > worthwhile at all). Ya. I also tried (and failed) to find a clever solution that didn't require a multi-state return value. As much as I dislike returning an enum, it's the lesser of all evils.