Re: [PATCH] selftests: kvm: fix sync_regs_test with newer gccs

From: Sean Christopherson
Date: Wed Oct 09 2019 - 12:22:35 EST


On Wed, Oct 09, 2019 at 01:11:24PM +0200, Paolo Bonzini wrote:
> On 09/10/19 12:42, Vitaly Kuznetsov wrote:
> > Paolo Bonzini <pbonzini@xxxxxxxxxx> writes:
> >> There is no practical difference with Vitaly's patch. The first
> >> _vcpu_run has no pre-/post-conditions on the value of %rbx:
> >
> > I think what Sean was suggesting is to prevent GCC from inserting
> > anything (and thus clobbering RBX) between the call to guest_call() and
> > the beginning of 'asm volatile' block by calling *inside* 'asm volatile'
> > block instead.
>
> Yes, but there is no way that clobbering RBX will break the test,
> because RBX is not initialized until after the first _vcpu_run succeeds.

Ah, nice, wasn't aware of that.