[PATCH] KVM: arm64: Implement KVM_TRANSLATE ioctl for arm64
David Woodhouse
dwmw2 at infradead.org
Tue Sep 23 02:02:38 PDT 2025
On Tue, 2025-09-23 at 10:39 +0200, Alexander Graf wrote:
>
> All modern OSs constrain themselves to only ISV enabled MMIO
> instructions.
Why? Such does not appear to be required by the architecture, AFAICT?
And what is "MMIO" architecturally anyway? Using LDP is actually fine
on MMIO, if a PCI BAR is passed through to a guest (and assuming there
are no ordering dependencies on the loads). It's the fact that it's
missing from stage2 page tables and causes a guest exit which is the
problem.
Other than lying to a compiler and *pretending* there are ordering
constraints, or explicitly using inline asm, how would a guest OS
*prevent* the compiler from using problematic instructions?
> NISV is really only useful to run non hypervisor
> enlightened guests. Did you encounter a real world OS that was causing
> NISV faults? And if so, what was causing these? It's most likely a
> driver or OS bug.
The Windows CRB TPM driver uses LDP. Even if it *were* forbidden by the
architecture, the track record of getting Microsoft to fix bugs *even*
when they are egregious violations of both specifications and common
sense is... poor.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5069 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20250923/7f4dcbdc/attachment.p7s>
More information about the linux-arm-kernel
mailing list