[PATCH 23/37] KVM: arm64: Prepare to handle traps on deferred VM sysregs

Andrew Jones drjones at redhat.com
Mon Dec 4 02:05:47 PST 2017


On Sun, Dec 03, 2017 at 08:50:26PM +0100, Christoffer Dall wrote:
> On Mon, Nov 13, 2017 at 06:54:02PM +0100, Andrew Jones wrote:
...
> > > +	}
> > > +
> > > +	vcpu_sys_reg(vcpu, reg) = val;
> > > +}
> > > +
> > >  /*
> > >   * Generic accessor for VM registers. Only called as long as HCR_TVM
> > > + *

just noticed this stray blank line added here

> > >   * is set. If the guest enables the MMU, we stop trapping the VM
> > >   * sys_regs and leave it in complete control of the caches.
> > >   */
> > > @@ -132,14 +182,14 @@ static bool access_vm_reg(struct kvm_vcpu *vcpu,
> > >  	if (!p->is_aarch32 || !p->is_32bit) {
> > >  		val = p->regval;
> > >  	} else {
> > > -		val = vcpu_sys_reg(vcpu, reg);
> > > +		val = read_deferrable_vm_reg(vcpu, reg);
> > >  		if (r->reg % 2)
> > >  			val = (p->regval << 32) | (u64)lower_32_bits(val);
> > >  		else
> > >  			val = ((u64)upper_32_bits(val) << 32) |
> > >  				(u64)lower_32_bits(p->regval);
> > >  	}
> > > -	vcpu_sys_reg(vcpu, reg) = val;
> > > +	write_deferrable_vm_reg(vcpu, reg, val);
> > >  
> > >  	kvm_toggle_cache(vcpu, was_enabled);
> > >  	return true;
> > > -- 
> > > 2.9.0
> > >
> > 
> > I read ahead and see other wrappers that check sysregs_loaded_on_cpu are
> > added, but only write_deferrable_vm_reg() has 'deferrable' in its name.
> > Should it just be named read/write_vm_reg?
> > 
> 
> I chose this name to avoid implying that this function was universally
> supported for all (current and future) VM registers.

OK

Thanks,
drew



More information about the linux-arm-kernel mailing list