On Tue, Jun 07, 2022 at 08:54:15AM +0200, Jan Beulich wrote:
> On 06.06.2022 15:27, Andrew Cooper wrote:
> > On 26/05/2022 12:11, Roger Pau Monne wrote:
> >> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> >> index f08a00dcbb..476ab72463 100644
> >> --- a/xen/arch/x86/hvm/vmx/vmx.c
> >> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> >> @@ -4065,6 +4065,16 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
> >>
> >> if ( unlikely(exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY) )
> >> return vmx_failed_vmentry(exit_reason, regs);
> >> + if ( unlikely(exit_reason & VMX_EXIT_REASONS_BUS_LOCK) )
> >> + {
> >> + /*
> >> + * Delivery of Bus Lock VM exit was pre-empted by a higher
> >> priority VM
> >> + * exit.
> >> + */
> >> + exit_reason &= ~VMX_EXIT_REASONS_BUS_LOCK;
> >> + if ( exit_reason != EXIT_REASON_BUS_LOCK )
> >> + perfc_incr(buslock);
> >> + }
> >
> > I know this post-dates you posting v2, but given the latest update from
> > Intel, VMX_EXIT_REASONS_BUS_LOCK will be set on all exits.
>
> Mind me asking what "latest update" you're referring to? Neither SDM nor
> ISE have seen a recent update, afaict.
After Andrew's request we got in touch with Intel regarding whether
VMX_EXIT_REASONS_BUS_LOCK is set when exit_reason ==
EXIT_REASON_BUS_LOCK, and they will update the ISE to contain:
"the bit 26 in the exit-reason field will always be set on VM exits
due to bus locks."
So I will apply the changes requested by Andrew to match this
behavior.
Thanks, Roger.