mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-12-22 05:35:20 +00:00
hypervisor: Add an API to create default StandardRegisters
This will be used to create StandardRegisters for a given vcpu in future. Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
This commit is contained in:
parent
a229afbc24
commit
3645654c39
@ -321,6 +321,12 @@ pub type Result<T> = anyhow::Result<T, HypervisorCpuError>;
|
||||
/// Trait to represent a generic Vcpu
|
||||
///
|
||||
pub trait Vcpu: Send + Sync {
|
||||
///
|
||||
/// Returns StandardRegisters with default value set
|
||||
///
|
||||
fn create_standard_regs(&self) -> StandardRegisters {
|
||||
unimplemented!();
|
||||
}
|
||||
///
|
||||
/// Returns the vCPU general purpose registers.
|
||||
///
|
||||
|
@ -1190,6 +1190,13 @@ pub struct KvmVcpu {
|
||||
/// let vcpu = vm.create_vcpu(0, None).unwrap();
|
||||
/// ```
|
||||
impl cpu::Vcpu for KvmVcpu {
|
||||
///
|
||||
/// Returns StandardRegisters with default value set
|
||||
///
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
fn create_standard_regs(&self) -> StandardRegisters {
|
||||
kvm_bindings::kvm_regs::default().into()
|
||||
}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
///
|
||||
/// Returns the vCPU general purpose registers.
|
||||
|
@ -413,6 +413,13 @@ pub struct MshvVcpu {
|
||||
/// let vcpu = vm.create_vcpu(0, None).unwrap();
|
||||
/// ```
|
||||
impl cpu::Vcpu for MshvVcpu {
|
||||
///
|
||||
/// Returns StandardRegisters with default value set
|
||||
///
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
fn create_standard_regs(&self) -> crate::arch::x86::StandardRegisters {
|
||||
mshv_bindings::StandardRegisters::default().into()
|
||||
}
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
///
|
||||
/// Returns the vCPU general purpose registers.
|
||||
|
Loading…
Reference in New Issue
Block a user