Thread (138 messages) flat view 138 messages, 4 authors, 2018-02-25
STALE3115d

[PATCH v4 17/40] KVM: arm64: Move userspace system registers into separate function

From: Christoffer Dall <hidden>
Date: 2018-02-22 09:18:09
Also in: kvm, kvmarm

On Mon, Feb 19, 2018 at 05:21:17PM +0000, Julien Grall wrote:
Hi Christoffer,

On 15/02/18 21:03, Christoffer Dall wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help