1 // Copyright 2020 The Chromium OS Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 /// An enumeration of different hypervisor capabilities. 6 pub enum HypervisorCap { 7 ArmPmuV3, 8 ImmediateExit, 9 S390UserSigp, 10 TscDeadlineTimer, 11 UserMemory, 12 #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] 13 Xcrs, 14 } 15 16 /// A capability the `Vm` can possibly expose. 17 #[derive(Clone, Copy, Debug, PartialEq)] 18 pub enum VmCap { 19 /// Track dirty pages 20 DirtyLog, 21 /// Paravirtualized clock device 22 PvClock, 23 /// PV clock can be notified when guest is being paused 24 PvClockSuspend, 25 /// VM can be run in protected mode, where the host does not have access to its memory. 26 Protected, 27 } 28