Skip to content

Commit dded6ad

Browse files
roypatShadowCurse
authored andcommitted
fix: use check_extension instead of enable_cap in doctests
Signed-off-by: Patrick Roy <[email protected]>
1 parent 6954c85 commit dded6ad

File tree

1 file changed

+21
-47
lines changed

1 file changed

+21
-47
lines changed

src/ioctls/vm.rs

Lines changed: 21 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -145,31 +145,27 @@ impl VmFd {
145145
/// extern crate kvm_bindings;
146146
///
147147
/// use kvm_bindings::{
148-
/// kvm_create_guest_memfd, kvm_enable_cap, kvm_userspace_memory_region2, KVM_CAP_GUEST_MEMFD,
148+
/// kvm_create_guest_memfd, kvm_userspace_memory_region2, KVM_CAP_GUEST_MEMFD,
149149
/// KVM_CAP_USER_MEMORY2, KVM_MEM_GUEST_MEMFD,
150150
/// };
151-
/// use kvm_ioctls::Kvm;
151+
/// use kvm_ioctls::{Cap, Kvm};
152152
/// use std::os::fd::RawFd;
153153
///
154154
/// let kvm = Kvm::new().unwrap();
155155
/// #[cfg(target_arch = "x86_64")]
156156
/// let vm = kvm
157157
/// .create_vm_with_type(kvm_bindings::KVM_X86_SW_PROTECTED_VM as u64)
158158
/// .unwrap();
159-
/// #[cfg(target_arch = "aarch64")]
160-
/// let vm = kvm.create_vm().unwrap(); /* ARM does not yet have a vm type that supports gmem */
159+
/// #[cfg(not(target_arch = "x86_64"))]
160+
/// let vm = kvm.create_vm().unwrap(); /* non-x86 does not yet have a vm type that supports gmem */
161161
///
162162
/// let address_space = unsafe { libc::mmap(0 as _, 10000, 3, 34, -1, 0) };
163163
/// let userspace_addr = address_space as *const u8 as u64;
164164
///
165-
/// let mut config = kvm_enable_cap {
166-
/// cap: KVM_CAP_GUEST_MEMFD,
167-
/// ..Default::default()
168-
/// };
169-
///
170-
/// if vm.enable_cap(&config).is_err() {
165+
/// if !vm.check_extension(Cap::GuestMemfd) || !vm.check_extension(Cap::UserMemory2) {
171166
/// return;
172167
/// }
168+
///
173169
/// let gmem = kvm_create_guest_memfd {
174170
/// size: 0x10000,
175171
/// flags: 0,
@@ -178,12 +174,6 @@ impl VmFd {
178174
///
179175
/// let fd: RawFd = unsafe { vm.create_guest_memfd(gmem).unwrap() };
180176
///
181-
/// config.cap = KVM_CAP_USER_MEMORY2;
182-
///
183-
/// if vm.enable_cap(&config).is_err() {
184-
/// return;
185-
/// }
186-
///
187177
/// let mem_region = kvm_userspace_memory_region2 {
188178
/// slot: 0,
189179
/// flags: KVM_MEM_GUEST_MEMFD,
@@ -1460,24 +1450,19 @@ impl VmFd {
14601450
/// # extern crate kvm_ioctls;
14611451
/// extern crate kvm_bindings;
14621452
///
1463-
/// # use kvm_ioctls::Kvm;
1464-
/// use kvm_bindings::{kvm_create_guest_memfd, kvm_enable_cap, KVM_CAP_GUEST_MEMFD};
1453+
/// # use kvm_ioctls::{Cap, Kvm};
1454+
/// use kvm_bindings::{kvm_create_guest_memfd, KVM_CAP_GUEST_MEMFD};
14651455
/// use std::os::fd::RawFd;
14661456
///
14671457
/// let kvm = Kvm::new().unwrap();
14681458
/// #[cfg(target_arch = "x86_64")]
14691459
/// let vm = kvm
14701460
/// .create_vm_with_type(kvm_bindings::KVM_X86_SW_PROTECTED_VM as u64)
14711461
/// .unwrap();
1472-
/// #[cfg(target_arch = "aarch64")]
1473-
/// let vm = kvm.create_vm().unwrap(); /* ARM does not yet have a vm type that supports gmem */
1474-
///
1475-
/// let config = kvm_enable_cap {
1476-
/// cap: KVM_CAP_GUEST_MEMFD,
1477-
/// ..Default::default()
1478-
/// };
1462+
/// #[cfg(not(target_arch = "x86_64"))]
1463+
/// let vm = kvm.create_vm().unwrap(); /* non-x86 does not yet have a vm type that supports gmem */
14791464
///
1480-
/// if vm.enable_cap(&config).is_err() {
1465+
/// if !vm.check_extension(Cap::GuestMemfd) {
14811466
/// return;
14821467
/// }
14831468
///
@@ -1518,11 +1503,11 @@ impl VmFd {
15181503
/// # extern crate kvm_ioctls;
15191504
/// extern crate kvm_bindings;
15201505
///
1521-
/// # use kvm_ioctls::Kvm;
1506+
/// # use kvm_ioctls::{Cap, Kvm};
15221507
/// use kvm_bindings::{
1523-
/// kvm_create_guest_memfd, kvm_enable_cap, kvm_memory_attributes,
1524-
/// kvm_userspace_memory_region2, KVM_CAP_GUEST_MEMFD, KVM_CAP_MEMORY_ATTRIBUTES,
1525-
/// KVM_CAP_USER_MEMORY2, KVM_MEMORY_ATTRIBUTE_PRIVATE, KVM_MEM_GUEST_MEMFD,
1508+
/// kvm_create_guest_memfd, kvm_memory_attributes, kvm_userspace_memory_region2,
1509+
/// KVM_CAP_GUEST_MEMFD, KVM_CAP_MEMORY_ATTRIBUTES, KVM_CAP_USER_MEMORY2,
1510+
/// KVM_MEMORY_ATTRIBUTE_PRIVATE, KVM_MEM_GUEST_MEMFD,
15261511
/// };
15271512
/// use std::os::fd::RawFd;
15281513
///
@@ -1531,8 +1516,8 @@ impl VmFd {
15311516
/// let vm = kvm
15321517
/// .create_vm_with_type(kvm_bindings::KVM_X86_SW_PROTECTED_VM as u64)
15331518
/// .unwrap();
1534-
/// #[cfg(target_arch = "aarch64")]
1535-
/// let vm = kvm.create_vm().unwrap(); /* ARM does not yet have a vm type that supports gmem */
1519+
/// #[cfg(not(target_arch = "x86_64"))]
1520+
/// let vm = kvm.create_vm().unwrap(); /* non-x86 does not yet have a vm type that supports gmem */
15361521
/// let gmem = kvm_create_guest_memfd {
15371522
/// size: 0x10000,
15381523
/// flags: 0,
@@ -1541,25 +1526,14 @@ impl VmFd {
15411526
///
15421527
/// let address_space = unsafe { libc::mmap(0 as _, 10000, 3, 34, -1, 0) };
15431528
/// let userspace_addr = address_space as *const u8 as u64;
1544-
/// let mut config = kvm_enable_cap {
1545-
/// cap: KVM_CAP_GUEST_MEMFD,
1546-
/// ..Default::default()
1547-
/// };
15481529
///
1549-
/// if vm.enable_cap(&config).is_err() {
1550-
/// return;
1551-
/// }
1552-
///
1553-
/// config.cap = KVM_CAP_USER_MEMORY2;
1554-
///
1555-
/// if vm.enable_cap(&config).is_err() {
1530+
/// if !vm.check_extension(Cap::GuestMemfd)
1531+
/// || !vm.check_extension(Cap::UserMemory2)
1532+
/// || !vm.check_extension(Cap::MemoryAttributes)
1533+
/// {
15561534
/// return;
15571535
/// }
1558-
/// config.cap = KVM_CAP_MEMORY_ATTRIBUTES;
15591536
///
1560-
/// if vm.enable_cap(&config).is_err() {
1561-
/// return;
1562-
/// }
15631537
/// let fd: RawFd = unsafe { vm.create_guest_memfd(gmem).unwrap() };
15641538
/// let mem_region = kvm_userspace_memory_region2 {
15651539
/// slot: 0,

0 commit comments

Comments
 (0)