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:
wangyf0611
2026-05-21 15:48:33 +08:00
committed by Rob Bradford
parent 7d1321515c
commit 1e18716fbd
3 changed files with 4 additions and 6 deletions

View File

@@ -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)]

View File

@@ -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};

View File

@@ -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),