History log of /cloud-hypervisor/hypervisor/src/hypervisor.rs (Results 1 – 25 of 36)
Revision Date Author Comments
# 72c81783 21-May-2025 Philipp Schuster <philipp.schuster@cyberus-technology.de>

misc: hypervisor: streamline error Display::fmt()

The changes were mostly automatically applied using the Python
script mentioned in the first commit of this series.

Signed-off-by: Philipp Schuster

misc: hypervisor: streamline error Display::fmt()

The changes were mostly automatically applied using the Python
script mentioned in the first commit of this series.

Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com

show more ...


# 8696bc66 19-May-2025 Philipp Schuster <philipp.schuster@cyberus-technology.de>

misc: hypervisor: streamline #[source] and Error

This streamlines the code base to follow best practices for
error handling in Rust: Each error struct implements
std::error::Error (most due via this

misc: hypervisor: streamline #[source] and Error

This streamlines the code base to follow best practices for
error handling in Rust: Each error struct implements
std::error::Error (most due via thiserror::Error derive macro)
and sets its source accordingly.

This allows future work that nicely prints the error chains,
for example.

So far, the convention is that each error prints its
sub error as part of its Display::fmt() impl.

Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
On-behalf-of: SAP philipp.schuster@sap.com

show more ...


# 4054a49e 05-Sep-2024 Muminul Islam <muislam@microsoft.com>

hypervisor: use memory size during VM creation

For SEV-SNP VM on MSHV we need to request page access during
IO, we want to avoid such request for the page that have already
been requested. In order

hypervisor: use memory size during VM creation

For SEV-SNP VM on MSHV we need to request page access during
IO, we want to avoid such request for the page that have already
been requested. In order to maintain the bitmap we need the memory size
during bitmap creation.

Signed-off-by: Muminul Islam <muislam@microsoft.com>

show more ...


# 88a9f799 29-Sep-2024 Rob Bradford <rbradford@rivosinc.com>

misc: Adapt consistent import style formatting

Historically the Cloud Hypervisor coding style has been to ensure that
all imports are ordered and placed in a single group. Unfortunately
cargo fmt ha

misc: Adapt consistent import style formatting

Historically the Cloud Hypervisor coding style has been to ensure that
all imports are ordered and placed in a single group. Unfortunately
cargo fmt has no support for ensuring that all imports are in a single
group so if whitespace lines were added as part of the import statements
then they would only be odered correctly in the group.

By adopting "group_imports="StdExternalCrate" we can enforce a style
where imports are placed in at most three groups for std, external
crates and the crate itself. Choosing a style enforceable by the tooling
reduces the reviewer burden.

Signed-off-by: Rob Bradford <rbradford@rivosinc.com>

show more ...


# 42e9632c 07-Jun-2024 Josh Soref <2119212+jsoref@users.noreply.github.com>

misc: Fix spelling issues

Misspellings were identified by:
https://github.com/marketplace/actions/check-spelling

* Initial corrections based on forbidden patterns from the action
* Additional cor

misc: Fix spelling issues

Misspellings were identified by:
https://github.com/marketplace/actions/check-spelling

* Initial corrections based on forbidden patterns from the action
* Additional corrections by Google Chrome auto-suggest
* Some manual corrections
* Adding markdown bullets to readme credits section

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

show more ...


# 72620295 19-Mar-2024 Rob Bradford <rbradford@rivosinc.com>

hypervisor: Remove empty doc comment

warning: empty doc comment
--> hypervisor/src/hypervisor.rs:24:1
|
24 | / ///
25 | | ///
| |___^
|
= help: consider removing or filling it
= hel

hypervisor: Remove empty doc comment

warning: empty doc comment
--> hypervisor/src/hypervisor.rs:24:1
|
24 | / ///
25 | | ///
| |___^
|
= help: consider removing or filling it
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_docs
= note: `#[warn(clippy::empty_docs)]` on by default

Signed-off-by: Rob Bradford <rbradford@rivosinc.com>

show more ...


# 200cba0e 20-Dec-2022 Jinank Jain <jinankjain@microsoft.com>

vmm: Refactor VM creation workflow

This refactoring is required to add support for creating SEV-SNP enabled
VM.

Signed-off-by: Jinank Jain <jinankjain@microsoft.com>


# 7df80220 30-May-2023 Anatol Belski <anbelski@linux.microsoft.com>

hyperivsor: Add infrastructure to determine CPU vendor

Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>


# ceb81517 11-Apr-2023 Rob Bradford <rbradford@rivosinc.com>

hypervisor, vmm: Limit max number of vCPUs to hypervisor maximum

On KVM this is provided by an ioctl, on MSHV this is constant. Although
there is a HV_MAXIMUM_PROCESSORS constant the MSHV ioctl API

hypervisor, vmm: Limit max number of vCPUs to hypervisor maximum

On KVM this is provided by an ioctl, on MSHV this is constant. Although
there is a HV_MAXIMUM_PROCESSORS constant the MSHV ioctl API is limited
to u8.

Signed-off-by: Rob Bradford <rbradford@rivosinc.com>

show more ...


# de3ca970 14-Feb-2023 Wei Liu <liuwe@microsoft.com>

hypervisor: rename get_cpuid to get_supported_cpuid

To better reflect its nature and avoid confusion with get_cpuid2.

No functional change.

Signed-off-by: Wei Liu <liuwe@microsoft.com>


# b8503b5f 27-Sep-2022 Rob Bradford <robert.bradford@intel.com>

hypervisor: Support compiling "tdx" and "mshv" feature together

TDX functionality is not currently available on MSHV but we should not
preclude building a binary that can run on both.

Fixes: #4677

hypervisor: Support compiling "tdx" and "mshv" feature together

TDX functionality is not currently available on MSHV but we should not
preclude building a binary that can run on both.

Fixes: #4677

Signed-off-by: Rob Bradford <robert.bradford@intel.com>

show more ...


# 223b1f6c 23-Aug-2022 Michael Zhao <michael.zhao@arm.com>

hypervisor: Introduce `get_guest_debug_hw_bps()`

Added `Hypervisor::get_guest_debug_hw_bps()` for fetching the number of
supported hardware breakpoints.

Signed-off-by: Michael Zhao <michael.zhao@ar

hypervisor: Introduce `get_guest_debug_hw_bps()`

Added `Hypervisor::get_guest_debug_hw_bps()` for fetching the number of
supported hardware breakpoints.

Signed-off-by: Michael Zhao <michael.zhao@arm.com>

show more ...


# aa66526e 09-May-2022 Wei Liu <liuwe@microsoft.com>

hypervisor: add a function to check availability

Signed-off-by: Wei Liu <liuwe@microsoft.com>


# 9fc3379e 20-Jul-2022 Wei Liu <liuwe@microsoft.com>

hypervisor: add a function to return hypervisor type

Signed-off-by: Wei Liu <liuwe@microsoft.com>


# 563919fc 18-Jul-2022 Wei Liu <liuwe@microsoft.com>

hypervisor: x86: drop get_msr_list from hypervisor trait

It is not needed by code outside of the hypervisor crate.

Signed-off-by: Wei Liu <liuwe@microsoft.com>


# 08135fa0 18-Jul-2022 Wei Liu <liuwe@microsoft.com>

hypervisor: provide a generic CpudIdEntry structure

Signed-off-by: Wei Liu <liuwe@microsoft.com>


# 45fbf840 15-Jul-2022 Wei Liu <liuwe@microsoft.com>

hypervisor, vmm: move away from CpuId type

CpuId is an alias type for the flexible array structure type over
CpuIdEntry. The type itself and the type of the element in the array
portion are tied to

hypervisor, vmm: move away from CpuId type

CpuId is an alias type for the flexible array structure type over
CpuIdEntry. The type itself and the type of the element in the array
portion are tied to the underlying hypervisor.

Switch to using CpuIdEntry slice or vector directly. The construction of
CpuId type is left to hypervisors.

This allows us to decouple CpuIdEntry from hypervisors more easily.

No functional change intended.

Signed-off-by: Wei Liu <liuwe@microsoft.com>

show more ...


# ada85f68 07-Jun-2022 Jinank Jain <jinankjain@microsoft.com>

hypervisor: mshv: Override hypervisor R/W behavior for unknown MSR

By default Microsoft Hypervisor send a GP to the guest if it tries
read/write an unimplemented MSR from the hypervisor prospective.

hypervisor: mshv: Override hypervisor R/W behavior for unknown MSR

By default Microsoft Hypervisor send a GP to the guest if it tries
read/write an unimplemented MSR from the hypervisor prospective. Instead
change this behavior to ignore read/write operations for unimplemented
MSRs

Signed-off-by: Jinank Jain <jinankjain@microsoft.com>

show more ...


# 218be264 11-May-2022 Rob Bradford <robert.bradford@intel.com>

hypervisor: Explicitly `pub use` at the hypervisor crate top-level

Explicitly re-export types from the hypervisor specific modules. This
makes it much clearer what the common functionality that is e

hypervisor: Explicitly `pub use` at the hypervisor crate top-level

Explicitly re-export types from the hypervisor specific modules. This
makes it much clearer what the common functionality that is exposed is.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>

show more ...


# b0077f0b 30-Mar-2022 Sebastien Boeuf <sebastien.boeuf@intel.com>

hypervisor: Implement retrieval of TDX capabilities

Extend the Hypervisor API in order to retrieve the TDX capabilities from
the underlying hypervisor.

Signed-off-by: Sebastien Boeuf <sebastien.boe

hypervisor: Implement retrieval of TDX capabilities

Extend the Hypervisor API in order to retrieve the TDX capabilities from
the underlying hypervisor.

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

show more ...


# 805cb303 09-Jun-2021 Henry Wang <Henry.Wang@arm.com>

hypervisor: Add `get_host_ipa_limit` for AArch64

This commit adds a helper `get_host_ipa_limit` to the AArch64
`KvmHypervisor` struct. This helper can be used to get the
`Host_IPA_Limit`, which is t

hypervisor: Add `get_host_ipa_limit` for AArch64

This commit adds a helper `get_host_ipa_limit` to the AArch64
`KvmHypervisor` struct. This helper can be used to get the
`Host_IPA_Limit`, which is the maximum possible value for
IPA_Bits on the host and is dependent on the CPU capability
and the kernel configuration.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>

show more ...


# 84454f14 19-May-2021 Rob Bradford <robert.bradford@intel.com>

hypervisor: Remove panic from Hypervisor::check_required_extensions()

Remove the panic by replacing the .expect() with a cleaner error
handling.

Signed-off-by: Rob Bradford <robert.bradford@intel.c

hypervisor: Remove panic from Hypervisor::check_required_extensions()

Remove the panic by replacing the .expect() with a cleaner error
handling.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>

show more ...


# a335cbb8 19-May-2021 Rob Bradford <robert.bradford@intel.com>

hypervisor: Unconditional build Hypervisor::create_vm_with_type()

Mark it as unreachable for now in the default implementation as this is
currently only used on tdx code path which is KVM only.

Si

hypervisor: Unconditional build Hypervisor::create_vm_with_type()

Mark it as unreachable for now in the default implementation as this is
currently only used on tdx code path which is KVM only.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>

show more ...


# 0cf9218d 19-May-2021 Rob Bradford <robert.bradford@intel.com>

hypervisor, vmm: Add default Hypervisor::check_required_extensions()

This allows the removal of KVM specific compile time checks on this
function.

Signed-off-by: Rob Bradford <robert.bradford@intel

hypervisor, vmm: Add default Hypervisor::check_required_extensions()

This allows the removal of KVM specific compile time checks on this
function.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>

show more ...


# 24396257 19-May-2021 Rob Bradford <robert.bradford@intel.com>

hypervisor: Cleanup unused Hypervisor trait members

Signed-off-by: Rob Bradford <robert.bradford@intel.com>


12