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 #[derive(Clone, Copy, Debug, Eq, PartialEq)] 7 pub enum HypervisorCap { 8 ArmPmuV3, 9 ImmediateExit, 10 S390UserSigp, 11 TscDeadlineTimer, 12 UserMemory, 13 #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] 14 Xcrs, 15 } 16 17 /// A capability the `Vm` can possibly expose. 18 #[derive(Clone, Copy, Debug, Eq, PartialEq)] 19 pub enum VmCap { 20 /// Track dirty pages 21 DirtyLog, 22 /// Paravirtualized clock device 23 PvClock, 24 /// PV clock can be notified when guest is being paused 25 PvClockSuspend, 26 /// VM can be run in protected mode, where the host does not have access to its memory. 27 Protected, 28 } 29