mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
arch, vmm: Fix riscv64 build gaps
Several riscv64 paths are compiled by the KVM build but missed imports or cfg coverage needed by the current code. Import the vm-memory Bytes trait for the RISC-V UEFI loader, keep Instant available for migration timing code, and enable the UEFI flash error path for riscv64. Assisted-by: OpenAI-Codex:GPT-5 Signed-off-by: wangyf0611 <wangyufeng@iscas.ac.cn>
This commit is contained in:
@@ -7,7 +7,7 @@ use std::os::fd::AsFd;
|
||||
use std::result;
|
||||
|
||||
use thiserror::Error;
|
||||
use vm_memory::{GuestAddress, GuestMemory};
|
||||
use vm_memory::{Bytes, GuestAddress, GuestMemory};
|
||||
|
||||
/// Errors thrown while loading UEFI binary
|
||||
#[derive(Debug, Error)]
|
||||
|
||||
@@ -12,9 +12,7 @@ use std::panic::AssertUnwindSafe;
|
||||
use std::path::PathBuf;
|
||||
use std::sync::mpsc::{Receiver, RecvError, SendError, Sender};
|
||||
use std::sync::{Arc, Mutex};
|
||||
use std::time::Duration;
|
||||
#[cfg(not(target_arch = "riscv64"))]
|
||||
use std::time::Instant;
|
||||
use std::time::{Duration, Instant};
|
||||
use std::{io, result, thread};
|
||||
|
||||
use anyhow::{Context, anyhow};
|
||||
|
||||
@@ -24,7 +24,7 @@ use anyhow::anyhow;
|
||||
use arch::RegionType;
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
use devices::ioapic;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
|
||||
use hypervisor::HypervisorVmError;
|
||||
use libc::_SC_NPROCESSORS_ONLN;
|
||||
use log::{debug, error, info, warn};
|
||||
@@ -445,7 +445,7 @@ pub enum Error {
|
||||
#[error("Failed to allocate MMIO address")]
|
||||
AllocateMmioAddress,
|
||||
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
#[cfg(any(target_arch = "aarch64", target_arch = "riscv64"))]
|
||||
/// Failed to create UEFI flash
|
||||
#[error("Failed to create UEFI flash")]
|
||||
CreateUefiFlash(#[source] HypervisorVmError),
|
||||
|
||||
Reference in New Issue
Block a user