Add new KVM caps
Signed-off-by: Fuad Tabba <tabba@google.com>
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 502ea63..7251d7d 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -933,6 +933,8 @@
#define KVM_CAP_PRE_FAULT_MEMORY 236
#define KVM_CAP_X86_APIC_BUS_CYCLES_NS 237
#define KVM_CAP_X86_GUEST_MODE 238
+#define KVM_CAP_ARM_WRITABLE_IMP_ID_REGS 239
+#define KVM_CAP_GMEM_SHARED_MEM 240
struct kvm_irq_routing_irqchip {
__u32 irqchip;
@@ -1565,6 +1567,7 @@
#define KVM_MEMORY_ATTRIBUTE_PRIVATE (1ULL << 3)
#define KVM_CREATE_GUEST_MEMFD _IOWR(KVMIO, 0xd4, struct kvm_create_guest_memfd)
+#define GUEST_MEMFD_FLAG_SUPPORT_SHARED (1UL << 0)
struct kvm_create_guest_memfd {
__u64 size;
diff --git a/util/util.c b/util/util.c
index 300cdfd..8b38998 100644
--- a/util/util.c
+++ b/util/util.c
@@ -122,10 +122,11 @@
{
struct kvm_create_guest_memfd gmem = {
.size = size,
- .flags = 0,
+ .flags = GUEST_MEMFD_FLAG_SUPPORT_SHARED,
};
BUG_ON(hugetlb);
+ BUG_ON(!kvm__supports_extension(kvm, KVM_CAP_GMEM_SHARED_MEM));
return ioctl(kvm->vm_fd, KVM_CREATE_GUEST_MEMFD, &gmem);
}