blob: 43b80756f60c1649d3143f69828a289485dd8227 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/// An enumeration of different hypervisor capabilities.
pub enum HypervisorCap {
ArmPmuV3,
ImmediateExit,
S390UserSigp,
TscDeadlineTimer,
UserMemory,
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
Xcrs,
}
/// A capability the `Vm` can possibly expose.
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum VmCap {
/// Track dirty pages
DirtyLog,
/// Paravirtualized clock device
PvClock,
/// PV clock can be notified when guest is being paused
PvClockSuspend,
/// VM can be run in protected mode, where the host does not have access to its memory.
Protected,
}