From: Marc Zyngier <maz@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org
Cc: James Morse <james.morse@arm.com>,
Julien Thierry <julien.thierry.kdev@gmail.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Andrew Scull <ascull@google.com>, Will Deacon <will@kernel.org>,
Quentin Perret <qperret@google.com>,
ndesaulniers@google.com, dbrazdil@google.com,
kernel-team@android.com
Subject: [PATCH v2 0/5] KVM: arm64: Host EL2 entry improvements
Date: Mon, 9 Nov 2020 17:59:18 +0000 [thread overview]
Message-ID: <20201109175923.445945-1-maz@kernel.org> (raw)
This small series reworks various bits of the host EL2 entry after
Andrew's extensive rework to move from direct function calls to a
SMCCC implementation.
The first 2 patches allow the use of direct function pointers at EL2,
something that we can't do at the moment (other than PC-relative
addressing). This requires a helper to translate pointers at runtime,
but the result is neat enough. This allows the rewrite of the host HVC
handling in a more maintainable way.
Note that this version now includes the result of a discussion with
Nick, providing some funky pointer mangling in order to make the use
of these pointers vaguely safer (no, they are not safe at all).
Another patch removes the direct use of kimage_voffset, which we won't
be able to trust for much longer.
The last two patches are just cleanups and optimisations.
* From v1 [1]:
- Merged the 3 first patches as fixes
- Added pointer mangling for function calls
- Moved EL2 entry ldp a couple of instructions later (as suggested
by Alex)
- Rebased on top of -rc3
[1] https://lore.kernel.org/r/20201026095116.72051-1-maz@kernel.org
Marc Zyngier (5):
KVM: arm64: Add kimg_hyp_va() helper
KVM: arm64: Turn host HVC handling into a dispatch table
KVM: arm64: Patch kimage_voffset instead of loading the EL1 value
KVM: arm64: Simplify __kvm_enable_ssbs()
KVM: arm64: Avoid repetitive stack access on host EL1 to EL2 exception
arch/arm64/include/asm/kvm_asm.h | 2 -
arch/arm64/include/asm/kvm_mmu.h | 40 +++++
arch/arm64/include/asm/sysreg.h | 1 +
arch/arm64/kernel/image-vars.h | 5 +-
arch/arm64/kvm/hyp/nvhe/host.S | 11 +-
arch/arm64/kvm/hyp/nvhe/hyp-main.c | 232 +++++++++++++++++-----------
arch/arm64/kvm/hyp/nvhe/sysreg-sr.c | 11 --
arch/arm64/kvm/va_layout.c | 56 +++++++
8 files changed, 241 insertions(+), 117 deletions(-)
--
2.28.0
next reply other threads:[~2020-11-09 17:59 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-09 17:59 Marc Zyngier [this message]
2020-11-09 17:59 ` [PATCH v2 1/5] KVM: arm64: Add kimg_hyp_va() helper Marc Zyngier
2020-11-09 17:59 ` [PATCH v2 2/5] KVM: arm64: Turn host HVC handling into a dispatch table Marc Zyngier
2020-11-09 17:59 ` [PATCH v2 3/5] KVM: arm64: Patch kimage_voffset instead of loading the EL1 value Marc Zyngier
2020-11-19 11:14 ` David Brazdil
2020-11-20 11:26 ` Marc Zyngier
2020-11-09 17:59 ` [PATCH v2 4/5] KVM: arm64: Simplify __kvm_enable_ssbs() Marc Zyngier
2020-11-09 17:59 ` [PATCH v2 5/5] KVM: arm64: Avoid repetitive stack access on host EL1 to EL2 exception Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201109175923.445945-1-maz@kernel.org \
--to=maz@kernel.org \
--cc=alexandru.elisei@arm.com \
--cc=ascull@google.com \
--cc=dbrazdil@google.com \
--cc=james.morse@arm.com \
--cc=julien.thierry.kdev@gmail.com \
--cc=kernel-team@android.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=ndesaulniers@google.com \
--cc=qperret@google.com \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).