Shameer Kolothum
57e5cc9b8a
KVM: arm64: Specify hypercall ABI for retrieving target implementations
...
If the Guest requires migration to multiple targets, these hypercalls
will provide a way to retrieve the target CPU implementations from
the user space VMM.
Subsequent patch will use this to enable the associated errata.
Suggested-by: Oliver Upton <oliver.upton@linux.dev >
Suggested-by: Marc Zyngier <maz@kernel.org >
Reviewed-by: Cornelia Huck <cohuck@redhat.com >
Reviewed-by: Sebastian Ott <sebott@redhat.com >
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com >
Link: https://lore.kernel.org/r/20250221140229.12588-3-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev >
2025-02-26 13:30:18 -08:00
Will Deacon
0f12694958
drivers/virt: pkvm: Intercept ioremap using pKVM MMIO_GUARD hypercall
...
Hook up pKVM's MMIO_GUARD hypercall so that ioremap() and friends will
register the target physical address as MMIO with the hypervisor,
allowing guest exits to that page to be emulated by the host with full
syndrome information.
Acked-by: Marc Zyngier <maz@kernel.org >
Link: https://lore.kernel.org/r/20240830130150.8568-7-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org >
2024-08-30 16:30:41 +01:00
Will Deacon
ebc59b120c
drivers/virt: pkvm: Hook up mem_encrypt API using pKVM hypercalls
...
If we detect the presence of pKVM's SHARE and UNSHARE hypercalls, then
register a backend implementation of the mem_encrypt API so that things
like DMA buffers can be shared appropriately with the host.
Acked-by: Marc Zyngier <maz@kernel.org >
Link: https://lore.kernel.org/r/20240830130150.8568-5-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org >
2024-08-30 16:30:41 +01:00
Will Deacon
a06c3fad49
drivers/virt: pkvm: Add initial support for running as a protected guest
...
Implement a pKVM protected guest driver to probe the presence of pKVM
and determine the memory protection granule using the HYP_MEMINFO
hypercall.
Acked-by: Marc Zyngier <maz@kernel.org >
Link: https://lore.kernel.org/r/20240830130150.8568-3-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org >
2024-08-30 16:30:41 +01:00
Will Deacon
4dc8c9de38
KVM: arm64: Document the KVM/arm64-specific calls in hypercalls.rst
...
KVM/arm64 makes use of the SMCCC "Vendor Specific Hypervisor Service
Call Range" to expose KVM-specific hypercalls to guests in a
discoverable and extensible fashion.
Document the existence of this interface and the discovery hypercall.
Signed-off-by: Will Deacon <will@kernel.org >
Signed-off-by: Fuad Tabba <tabba@google.com >
Acked-by: Oliver Upton <oliver.upton@linux.dev >
Link: https://lore.kernel.org/r/20240423150538.2103045-28-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org >
2024-05-01 16:48:14 +01:00
Will Deacon
af725804f9
KVM: arm64: Rename firmware pseudo-register documentation file
...
In preparation for describing the guest view of KVM/arm64 hypercalls in
hypercalls.rst, move the existing contents of the file concerning the
firmware pseudo-registers elsewhere.
Cc: Raghavendra Rao Ananta <rananta@google.com >
Signed-off-by: Will Deacon <will@kernel.org >
Signed-off-by: Fuad Tabba <tabba@google.com >
Acked-by: Oliver Upton <oliver.upton@linux.dev >
Link: https://lore.kernel.org/r/20240423150538.2103045-27-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org >
2024-05-01 16:48:14 +01:00
Raghavendra Rao Ananta
fa246c68a0
Docs: KVM: Add doc for the bitmap firmware registers
...
Add the documentation for the bitmap firmware registers in
hypercalls.rst and api.rst. This includes the details for
KVM_REG_ARM_STD_BMAP, KVM_REG_ARM_STD_HYP_BMAP, and
KVM_REG_ARM_VENDOR_HYP_BMAP registers.
Since the document is growing to carry other hypercall related
information, make necessary adjustments to present the document
in a generic sense, rather than being PSCI focused.
Signed-off-by: Raghavendra Rao Ananta <rananta@google.com >
Reviewed-by: Gavin Shan <gshan@redhat.com >
[maz: small scale reformat, move things about, random typo fixes]
Signed-off-by: Marc Zyngier <maz@kernel.org >
Link: https://lore.kernel.org/r/20220502233853.1233742-7-rananta@google.com
2022-05-03 21:30:19 +01:00
Raghavendra Rao Ananta
f1ced23a9b
Docs: KVM: Rename psci.rst to hypercalls.rst
...
Since the doc also covers general hypercalls' details,
rather than just PSCI, and the fact that the bitmap firmware
registers' details will be added to this doc, rename the file
to a more appropriate name- hypercalls.rst.
Signed-off-by: Raghavendra Rao Ananta <rananta@google.com >
Reviewed-by: Gavin Shan <gshan@redhat.com >
Reviewed-by: Oliver Upton <oupton@google.com >
Signed-off-by: Marc Zyngier <maz@kernel.org >
Link: https://lore.kernel.org/r/20220502233853.1233742-6-rananta@google.com
2022-05-03 21:30:19 +01:00