Skip to content

Commit 62fe6e2

Browse files
committed
Warn about 822009c when snapshotting
Signed-off-by: Patrick Roy <[email protected]>
1 parent 213dd35 commit 62fe6e2

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/vmm/src/rpc_interface.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ use crate::vmm_config::vsock::{VsockConfigError, VsockDeviceConfig};
3333
use crate::vmm_config::{self, RateLimiterUpdate};
3434
use crate::{builder::StartMicrovmError, EventManager};
3535
use crate::{ExitCode, FC_EXIT_CODE_BAD_CONFIGURATION};
36+
#[cfg(target_arch = "aarch64")]
37+
use logger::warn;
3638
use logger::{info, update_metric_with_elapsed_time, METRICS};
3739
use seccompiler::BpfThreadMap;
3840
#[cfg(test)]
@@ -41,6 +43,9 @@ use tests::{
4143
MockVmm as Vmm,
4244
};
4345

46+
#[cfg(target_arch = "aarch64")]
47+
const SNAPSHOT_WARNING: &str = "This version of Firecracker is affected by a bug where the upper 64bit of the V0-V31 FL/SIMD registers are lost during snapshotting. This bug is fixed in Firecracker 1.1.4 and newer";
48+
4449
/// This enum represents the public interface of the VMM. Each action contains various
4550
/// bits of information (ids, paths, etc.).
4651
#[derive(PartialEq)]
@@ -467,6 +472,11 @@ impl<'a> PrebootApiController<'a> {
467472
VmmActionError::LoadSnapshot(e)
468473
});
469474

475+
#[cfg(target_arch = "aarch64")]
476+
{
477+
warn!("{}", SNAPSHOT_WARNING);
478+
}
479+
470480
let elapsed_time_us =
471481
update_metric_with_elapsed_time(&METRICS.latencies_us.vmm_load_snapshot, load_start_us);
472482
info!("'load snapshot' VMM action took {} us.", elapsed_time_us);
@@ -628,6 +638,11 @@ impl RuntimeApiController {
628638
create_snapshot(&mut locked_vmm, create_params, VERSION_MAP.clone())
629639
.map_err(VmmActionError::CreateSnapshot)?;
630640

641+
#[cfg(target_arch = "aarch64")]
642+
{
643+
warn!("{}", SNAPSHOT_WARNING)
644+
}
645+
631646
match create_params.snapshot_type {
632647
SnapshotType::Full => {
633648
let elapsed_time_us = update_metric_with_elapsed_time(

0 commit comments

Comments
 (0)