Message ID | 20210920103737.2696756-2-david.edmondson@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86: Convey the exit reason, etc. to user-space on emulation failure | expand |
On Mon, Sep 20, 2021, David Edmondson wrote: > Until more flags for kvm_run.emulation_failure flags are defined, it > is undetermined whether new payload elements corresponding to those > flags will be additive or alternative. As a hint to userspace that an > alternative is possible, wrap the current payload elements in a union. > > Suggested-by: Sean Christopherson <seanjc@google.com> > Signed-off-by: David Edmondson <david.edmondson@oracle.com> > --- To complete the set... :-) Reviewed-by: Sean Christopherson <seanjc@google.com>
On Tuesday, 2021-10-12 at 23:45:43 GMT, Sean Christopherson wrote: > On Mon, Sep 20, 2021, David Edmondson wrote: >> Until more flags for kvm_run.emulation_failure flags are defined, it >> is undetermined whether new payload elements corresponding to those >> flags will be additive or alternative. As a hint to userspace that an >> alternative is possible, wrap the current payload elements in a union. >> >> Suggested-by: Sean Christopherson <seanjc@google.com> >> Signed-off-by: David Edmondson <david.edmondson@oracle.com> >> --- > > To complete the set... :-) > > Reviewed-by: Sean Christopherson <seanjc@google.com> Thanks!
On 13/10/21 11:29, David Edmondson wrote: > On Tuesday, 2021-10-12 at 23:45:43 GMT, Sean Christopherson wrote: > >> On Mon, Sep 20, 2021, David Edmondson wrote: >>> Until more flags for kvm_run.emulation_failure flags are defined, it >>> is undetermined whether new payload elements corresponding to those >>> flags will be additive or alternative. As a hint to userspace that an >>> alternative is possible, wrap the current payload elements in a union. >>> >>> Suggested-by: Sean Christopherson <seanjc@google.com> >>> Signed-off-by: David Edmondson <david.edmondson@oracle.com> >>> --- >> >> To complete the set... :-) >> >> Reviewed-by: Sean Christopherson <seanjc@google.com> > > Thanks! > Queued, thanks! Paolo
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index a067410ebea5..8618fe973215 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h @@ -402,8 +402,12 @@ struct kvm_run { __u32 suberror; __u32 ndata; __u64 flags; - __u8 insn_size; - __u8 insn_bytes[15]; + union { + struct { + __u8 insn_size; + __u8 insn_bytes[15]; + }; + }; } emulation_failure; /* KVM_EXIT_OSI */ struct {
Until more flags for kvm_run.emulation_failure flags are defined, it is undetermined whether new payload elements corresponding to those flags will be additive or alternative. As a hint to userspace that an alternative is possible, wrap the current payload elements in a union. Suggested-by: Sean Christopherson <seanjc@google.com> Signed-off-by: David Edmondson <david.edmondson@oracle.com> --- include/uapi/linux/kvm.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)