summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2023-04-05 14:48:58 +0300
committerMarc Zyngier <maz@kernel.org>2023-04-05 21:20:23 +0300
commit0e5c9a9d6548e9b178d4696c696ae4a21c39ae58 (patch)
treeedaae95c99c0540db8de44a759e8f5242be57e68 /mm
parent60e7dade498eb881bcdf0d9a420c97625f73acc1 (diff)
downloadlinux-0e5c9a9d6548e9b178d4696c696ae4a21c39ae58.tar.xz
KVM: arm64: Expose SMC/HVC width to userspace
When returning to userspace to handle a SMCCC call, we consistently set PC to point to the instruction immediately after the HVC/SMC. However, should userspace need to know the exact address of the trapping instruction, it needs to know about the *size* of that instruction. For AArch64, this is pretty easy. For AArch32, this is a bit more funky, as Thumb has 16bit encodings for both HVC and SMC. Expose this to userspace with a new flag that directly derives from ESR_EL2.IL. Also update the documentation to reflect the PC state at the point of exit. Finally, this fixes a small buglet where the hypercall.{args,ret} fields would not be cleared on exit, and could contain some random junk. Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/86pm8iv8tj.wl-maz@kernel.org
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions