Re: [PATCH v4 17/40] KVM: arm64: Move userspace system registers into separate function
On Mon, Feb 19, 2018 at 05:21:17PM +, Julien Grall wrote: > Hi Christoffer, > > On 15/02/18 21:03, Christoffer Dall wrote: > >There's a semantic difference between the EL1 registers that control > >operation of a kernel running in EL1 and EL1 registers that only control > >userspace execution in EL0. Since we can defer saving/restoring the > >latter, move them into their own function. > > > >ACTLR_EL1 is not used by a VHE host, so we can move this register into > >the EL1 state which is not saved/restored for a VHE host. > > Looking at D10.2.1 (ARM DDI 0487C.a), the statement regarding the use of > ACTLR_EL1 seems to be less strong than what you state here. It looks like it > would be possible to have hardware where ACTLR_EL1 would still have an > effect on host EL0. I also read the comments on the version 2 of this patch > but I wasn't able to find what I missing. > As Marc points out, I'll add a reference to the spec that says that Arm recommends ACTLR_EL1 not having an effect on VHE host EL0. While potentially possible, it's unlikely, and we can fix that later if anyone builds a platform with VHE that we care about that uses ACTLR_EL1 for VHE host EL0. Thanks, -Christoffer ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v4 17/40] KVM: arm64: Move userspace system registers into separate function
On Thu, 15 Feb 2018 21:03:09 +, Christoffer Dall wrote: > > There's a semantic difference between the EL1 registers that control > operation of a kernel running in EL1 and EL1 registers that only control > userspace execution in EL0. Since we can defer saving/restoring the > latter, move them into their own function. > > ACTLR_EL1 is not used by a VHE host, so we can move this register into > the EL1 state which is not saved/restored for a VHE host. Nit: maybe worth adding a reference to the D10.2.1 comment in the ARMv8 ARM that indicates the "recommended" behaviour of this register? > > We also take this chance to rename the function saving/restoring the > remaining system register to make it clear this function deals with > the EL1 system registers. > > Reviewed-by: Andrew Jones> Signed-off-by: Christoffer Dall Reviewed-by: Marc Zyngier M. -- Jazz is not dead, it just smell funny. ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
Re: [PATCH v4 17/40] KVM: arm64: Move userspace system registers into separate function
Hi Christoffer, On 15/02/18 21:03, Christoffer Dall wrote: There's a semantic difference between the EL1 registers that control operation of a kernel running in EL1 and EL1 registers that only control userspace execution in EL0. Since we can defer saving/restoring the latter, move them into their own function. ACTLR_EL1 is not used by a VHE host, so we can move this register into the EL1 state which is not saved/restored for a VHE host. Looking at D10.2.1 (ARM DDI 0487C.a), the statement regarding the use of ACTLR_EL1 seems to be less strong than what you state here. It looks like it would be possible to have hardware where ACTLR_EL1 would still have an effect on host EL0. I also read the comments on the version 2 of this patch but I wasn't able to find what I missing. Cheers, -- Julien Grall ___ kvmarm mailing list kvmarm@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/kvmarm