#
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>
|