mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-03-04 08:03:55 +00:00
hypervisor: Add MSHV implementation of RegList
Extend the RegList interface to accomodate changes for MSHV on aarch64. Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
This commit is contained in:
parent
5cbf907200
commit
630f5c1f14
@ -206,6 +206,8 @@ pub enum VcpuInit {
|
||||
pub enum RegList {
|
||||
#[cfg(all(feature = "kvm", any(target_arch = "aarch64", target_arch = "riscv64")))]
|
||||
Kvm(kvm_bindings::RegList),
|
||||
#[cfg(all(feature = "mshv", target_arch = "aarch64"))]
|
||||
Mshv(mshv_bindings::MshvRegList),
|
||||
}
|
||||
|
||||
pub enum Register {
|
||||
|
@ -191,6 +191,25 @@ impl From<IrqRoutingEntry> for mshv_user_irq_entry {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
impl From<mshv_bindings::MshvRegList> for crate::RegList {
|
||||
fn from(s: mshv_bindings::MshvRegList) -> Self {
|
||||
crate::RegList::Mshv(s)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
impl From<crate::RegList> for mshv_bindings::MshvRegList {
|
||||
fn from(e: crate::RegList) -> Self {
|
||||
match e {
|
||||
crate::RegList::Mshv(e) => e,
|
||||
/* Needed in case other hypervisors are enabled */
|
||||
#[allow(unreachable_patterns)]
|
||||
_ => panic!("RegList is not valid"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct MshvDirtyLogSlot {
|
||||
guest_pfn: u64,
|
||||
memory_size: u64,
|
||||
|
Loading…
x
Reference in New Issue
Block a user